




















@@ -61,6 +61,7 @@ const sessionStoreRuntimeFileBackedCompatNames = new Set([
6161"saveSessionStore",
6262"updateSessionStore",
6363]);
64+const embeddedAgentSessionFileRuntimeNames = new Set(["resolveSessionFilePath"]);
64656566export const allowedSessionStoreRuntimeFileBackedCompatExports = new Set([
6667"loadSessionStore",
@@ -141,6 +142,11 @@ export const migratedBundledPluginSessionAccessorFiles = new Set([
141142"extensions/telegram/src/bot.ts",
142143"extensions/telegram/src/bot-message-dispatch.ts",
143144"extensions/telegram/src/bot-native-commands.ts",
145+"extensions/voice-call/src/response-generator.ts",
146+]);
147+148+export const migratedEmbeddedAgentSessionTargetFiles = new Set([
149+"extensions/voice-call/src/response-generator.ts",
144150]);
145151146152export const migratedSessionAccessorWriteFiles = new Set([
@@ -252,6 +258,13 @@ function propertyAccessName(expression) {
252258return null;
253259}
254260261+function propertyNameText(name) {
262+if (ts.isIdentifier(name) || ts.isStringLiteralLike(name) || ts.isNumericLiteral(name)) {
263+return name.text;
264+}
265+return null;
266+}
267+255268function bindingName(node) {
256269if (node.propertyName && ts.isIdentifier(node.propertyName)) {
257270return node.propertyName.text;
@@ -414,6 +427,51 @@ export function findSessionAccessorBoundaryViolations(content, fileName = "sourc
414427return findNamedSessionStoreViolations(content, fileName, legacyNames, legacyKind);
415428}
416429430+export function findEmbeddedAgentSessionTargetViolations(content, fileName = "source.ts") {
431+const sourceFile = ts.createSourceFile(fileName, content, ts.ScriptTarget.Latest, true);
432+const violations = findNamedBoundaryViolations(
433+content,
434+fileName,
435+embeddedAgentSessionFileRuntimeNames,
436+"legacy embedded-agent session file resolver",
437+);
438+439+const recordDeprecatedSessionFile = (name) => {
440+violations.push({
441+line: toLine(sourceFile, name),
442+reason:
443+'passes deprecated embedded-agent runtime identity field "sessionFile"; use sessionTarget',
444+});
445+};
446+447+const visitRunOptions = (options) => {
448+for (const property of options.properties) {
449+if (ts.isPropertyAssignment(property) && propertyNameText(property.name) === "sessionFile") {
450+recordDeprecatedSessionFile(property.name);
451+} else if (
452+ts.isShorthandPropertyAssignment(property) &&
453+property.name.text === "sessionFile"
454+) {
455+recordDeprecatedSessionFile(property.name);
456+}
457+}
458+};
459+460+const visit = (node) => {
461+if (ts.isCallExpression(node) && propertyAccessName(node.expression) === "runEmbeddedAgent") {
462+const options = unwrapExpression(node.arguments[0]);
463+if (options && ts.isObjectLiteralExpression(options)) {
464+visitRunOptions(options);
465+}
466+return;
467+}
468+ts.forEachChild(node, visit);
469+};
470+471+visit(sourceFile);
472+return violations;
473+}
474+417475export function findSessionAccessorWriteBoundaryViolations(content, fileName = "source.ts") {
418476return findNamedSessionStoreViolations(content, fileName, legacyWriterNames, "writer");
419477}
@@ -565,6 +623,7 @@ export async function main() {
565623"extensions/discord/src/monitor",
566624"extensions/memory-core/src",
567625"extensions/telegram/src",
626+"extensions/voice-call/src",
568627"src/acp",
569628"src/agents",
570629"src/auto-reply",
@@ -656,6 +715,15 @@ export async function main() {
656715),
657716findViolations: findMemoryHostSessionCorpusBoundaryViolations,
658717});
718+const embeddedAgentSessionTargetViolations = await collectFileViolations({
719+ repoRoot,
720+sourceRoots: resolveSourceRoots(repoRoot, ["extensions/voice-call/src"]),
721+skipFile: (filePath) =>
722+!migratedEmbeddedAgentSessionTargetFiles.has(
723+normalizeRelativePath(path.relative(repoRoot, filePath)),
724+),
725+findViolations: findEmbeddedAgentSessionTargetViolations,
726+});
659727const sessionStoreRuntimePath = path.join(repoRoot, "src/plugin-sdk/session-store-runtime.ts");
660728const sessionStoreRuntimeCompatViolations =
661729findSessionStoreRuntimeFileBackedCompatExportViolations(
@@ -672,6 +740,7 @@ export async function main() {
672740 ...manualCompactTrimViolations,
673741 ...lifecycleCleanupViolations,
674742 ...memoryHostSessionCorpusViolations,
743+ ...embeddedAgentSessionTargetViolations,
675744 ...sessionStoreRuntimeCompatViolations,
676745];
677746此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。