neoctl 0.2.46 → 0.2.48

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/README.md +59 -59
  2. package/dist/agents/agent-activity.js +1 -1
  3. package/dist/agents/agent-activity.js.map +1 -1
  4. package/dist/agents/agent-tool.js +2 -1
  5. package/dist/agents/agent-tool.js.map +1 -1
  6. package/dist/context/compaction.d.ts +1 -0
  7. package/dist/context/compaction.js +6 -2
  8. package/dist/context/compaction.js.map +1 -1
  9. package/dist/context/prompts.js +3 -4
  10. package/dist/context/prompts.js.map +1 -1
  11. package/dist/context/system.md +16 -16
  12. package/dist/core/abortable-stream.d.ts +2 -0
  13. package/dist/core/abortable-stream.js +17 -0
  14. package/dist/core/abortable-stream.js.map +1 -1
  15. package/dist/core/compaction-progress.d.ts +1 -1
  16. package/dist/core/compaction-progress.js +7 -5
  17. package/dist/core/compaction-progress.js.map +1 -1
  18. package/dist/core/execution-state.d.ts +2 -0
  19. package/dist/core/execution-state.js +2 -1
  20. package/dist/core/execution-state.js.map +1 -1
  21. package/dist/core/message-pipeline.js +2 -2
  22. package/dist/core/message-pipeline.js.map +1 -1
  23. package/dist/core/query-engine.d.ts +12 -1
  24. package/dist/core/query-engine.js +125 -21
  25. package/dist/core/query-engine.js.map +1 -1
  26. package/dist/core/query.js +46 -6
  27. package/dist/core/query.js.map +1 -1
  28. package/dist/execution/filesystem.js +22 -22
  29. package/dist/execution/process.js +44 -44
  30. package/dist/model/model-gateway.d.ts +4 -0
  31. package/dist/model/model-gateway.js.map +1 -1
  32. package/dist/model/model-metadata.json +137 -137
  33. package/dist/model/openai-chat-mapper.js +2 -0
  34. package/dist/model/openai-chat-mapper.js.map +1 -1
  35. package/dist/model/openai-responses-mapper.js +3 -0
  36. package/dist/model/openai-responses-mapper.js.map +1 -1
  37. package/dist/model/tool-input-stream.d.ts +31 -0
  38. package/dist/model/tool-input-stream.js +226 -0
  39. package/dist/model/tool-input-stream.js.map +1 -0
  40. package/dist/repl/index.js +30 -30
  41. package/dist/repl/index.js.map +1 -1
  42. package/dist/session/session-store.js +2 -0
  43. package/dist/session/session-store.js.map +1 -1
  44. package/dist/session/tool-result-memory.js +2 -2
  45. package/dist/session/tool-result-memory.js.map +1 -1
  46. package/dist/tasks/subagent-tools.js +1 -1
  47. package/dist/tasks/subagent-tools.js.map +1 -1
  48. package/dist/tools/builtins/exec-process-manager.d.ts +2 -1
  49. package/dist/tools/builtins/exec-process-manager.js +2 -1
  50. package/dist/tools/builtins/exec-process-manager.js.map +1 -1
  51. package/dist/tools/builtins/exec-tool.js +1 -1
  52. package/dist/tools/builtins/exec-tool.js.map +1 -1
  53. package/dist/tools/builtins/image-capabilities.d.ts +2 -2
  54. package/dist/tools/builtins/image-capabilities.js +3 -3
  55. package/dist/tools/builtins/image-capabilities.js.map +1 -1
  56. package/dist/tools/builtins/image-generation-tool.js +1 -1
  57. package/dist/tools/builtins/image-generation-tool.js.map +1 -1
  58. package/dist/tools/builtins/image-loader-tool.js +2 -1
  59. package/dist/tools/builtins/image-loader-tool.js.map +1 -1
  60. package/dist/tools/run-tool-use.js +2 -1
  61. package/dist/tools/run-tool-use.js.map +1 -1
  62. package/dist/tools/terminal-output-store.d.ts +1 -0
  63. package/dist/tools/terminal-output-store.js +13 -1
  64. package/dist/tools/terminal-output-store.js.map +1 -1
  65. package/dist/types/events.d.ts +11 -0
  66. package/dist/web/demo-tools.js +1 -1
  67. package/dist/web/demo-tools.js.map +1 -1
  68. package/dist/web/html.js +5 -5
  69. package/dist/web/image-result-metadata.d.ts +6 -0
  70. package/dist/web/image-result-metadata.js +3 -0
  71. package/dist/web/image-result-metadata.js.map +1 -1
  72. package/dist/web/index.d.ts +15 -1
  73. package/dist/web/index.js +134 -20
  74. package/dist/web/index.js.map +1 -1
  75. package/dist/web/terminal-presentation.js +1 -1
  76. package/dist/web/terminal-presentation.js.map +1 -1
  77. package/dist/web/tool-activity.d.ts +9 -0
  78. package/dist/web/tool-activity.js +19 -0
  79. package/dist/web/tool-activity.js.map +1 -0
  80. package/dist/web/tool-observation-result.d.ts +1 -0
  81. package/dist/web/tool-observation-result.js +35 -0
  82. package/dist/web/tool-observation-result.js.map +1 -0
  83. package/docs/prompt-config.md +86 -86
  84. package/package.json +1 -1
  85. package/scripts/copy-prompt-resources.mjs +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/context/prompts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/context/prompts.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,16 @@
1
- ## Agent Scaffold
2
- You are an engineering agent running inside neo.
3
- You may identify yourself as neo when referring to your operating identity.
4
- Drive tasks through the shared query loop, tool system, context manager, and model gateway.
5
-
6
- ## Doing Tasks
7
- Keep work concrete and verifiable.
8
- For tasks with multiple meaningful steps, maintain a clear execution plan and report progress.
9
- Use tools for real workspace changes and report validation results precisely.
10
- When following a concrete strategy, you may briefly state meaningful progress transitions, such as finishing code edits and preparing to run tests.
11
-
12
- ## Using Tools
13
- When using tools, you may briefly state the intent of the tool call; if a tool result contains valuable information, you may briefly report it.
14
-
15
- ## Tone And Output
16
- Be direct, concise, and action-oriented. Avoid inventing file contents or command results.
1
+ ## Agent Scaffold
2
+ You are an engineering agent running inside neo.
3
+ You may identify yourself as neo when referring to your operating identity.
4
+ Drive tasks through the shared query loop, tool system, context manager, and model gateway.
5
+
6
+ ## Doing Tasks
7
+ Keep work concrete and verifiable.
8
+ For tasks with multiple meaningful steps, maintain a clear execution plan and report progress.
9
+ Use tools for real workspace changes and report validation results precisely.
10
+ When following a concrete strategy, you may briefly state meaningful progress transitions, such as finishing code edits and preparing to run tests.
11
+
12
+ ## Using Tools
13
+ When using tools, you may briefly state the intent of the tool call; if a tool result contains valuable information, you may briefly report it.
14
+
15
+ ## Tone And Output
16
+ Be direct, concise, and action-oriented. Avoid inventing file contents or command results.
@@ -1,2 +1,4 @@
1
+ /** Race owned work without awaiting a provider that ignores cancellation. Late failures stay handled. */
2
+ export declare function abortableWork<T>(work: () => Promise<T>, signal?: AbortSignal): Promise<T>;
1
3
  /** Stop consuming immediately even if a provider ignores cancellation while awaiting I/O. */
2
4
  export declare function abortableStream<T>(source: AsyncIterable<T>, signal?: AbortSignal): AsyncGenerator<T>;
@@ -1,3 +1,20 @@
1
+ /** Race owned work without awaiting a provider that ignores cancellation. Late failures stay handled. */
2
+ export async function abortableWork(work, signal) {
3
+ signal?.throwIfAborted();
4
+ let cancel;
5
+ const aborted = new Promise((_resolve, reject) => {
6
+ cancel = () => reject(signal?.reason ?? new Error("Aborted"));
7
+ });
8
+ signal?.addEventListener("abort", cancel, { once: true });
9
+ try {
10
+ const result = await Promise.race([Promise.resolve().then(() => { signal?.throwIfAborted(); return work(); }), aborted]);
11
+ signal?.throwIfAborted();
12
+ return result;
13
+ }
14
+ finally {
15
+ signal?.removeEventListener("abort", cancel);
16
+ }
17
+ }
1
18
  /** Stop consuming immediately even if a provider ignores cancellation while awaiting I/O. */
2
19
  export async function* abortableStream(source, signal) {
3
20
  const iterator = source[Symbol.asyncIterator]();
@@ -1 +1 @@
1
- {"version":3,"file":"abortable-stream.js","sourceRoot":"","sources":["../../src/core/abortable-stream.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,eAAe,CAAI,MAAwB,EAAE,MAAoB;IACtF,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;IAChD,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,IAAI,IAAiB,CAAC;IACtB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAmC,OAAO,CAAC,EAAE;QACtE,IAAI,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IACH,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,IAAI,MAAM,EAAE,OAAO;QAAE,IAAI,EAAE,CAAC;IAC5B,IAAI,CAAC;QACH,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;YAC9D,IAAI,MAAM,EAAE,OAAO;gBAAE,OAAO;YAC5B,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBAAC,KAAK,GAAG,IAAI,CAAC;gBAAC,OAAO;YAAC,CAAC;YAC1C,MAAM,MAAM,CAAC,KAAK,CAAC;QACrB,CAAC;IACH,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC3C,iFAAiF;QACjF,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC;gBAAC,KAAK,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAAC,CAAC;YACzE,MAAM,CAAC,CAAC,yDAAyD,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"abortable-stream.js","sourceRoot":"","sources":["../../src/core/abortable-stream.ts"],"names":[],"mappings":"AAAA,yGAAyG;AACzG,MAAM,CAAC,KAAK,UAAU,aAAa,CAAI,IAAsB,EAAE,MAAoB;IACjF,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,IAAI,MAAmB,CAAC;IACxB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE;QACtD,MAAM,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IACH,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QACzH,MAAM,EAAE,cAAc,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC;IAChB,CAAC;YAAS,CAAC;QAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAAC,CAAC;AAC7D,CAAC;AAED,6FAA6F;AAC7F,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,eAAe,CAAI,MAAwB,EAAE,MAAoB;IACtF,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;IAChD,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,IAAI,IAAiB,CAAC;IACtB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAmC,OAAO,CAAC,EAAE;QACtE,IAAI,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IACH,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,IAAI,MAAM,EAAE,OAAO;QAAE,IAAI,EAAE,CAAC;IAC5B,IAAI,CAAC;QACH,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;YAC9D,IAAI,MAAM,EAAE,OAAO;gBAAE,OAAO;YAC5B,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBAAC,KAAK,GAAG,IAAI,CAAC;gBAAC,OAAO;YAAC,CAAC;YAC1C,MAAM,MAAM,CAAC,KAAK,CAAC;QACrB,CAAC;IACH,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC3C,iFAAiF;QACjF,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC;gBAAC,KAAK,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAAC,CAAC;YACzE,MAAM,CAAC,CAAC,yDAAyD,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -2,4 +2,4 @@ import type { CompactionReason } from "../context/compaction.js";
2
2
  import type { AgentEvent } from "../types/events.js";
3
3
  export type CompactionStarted = (reason: Exclude<CompactionReason, "none">) => void;
4
4
  /** Forward start notifications while awaiting summary work, not after it has finished. */
5
- export declare function withCompactionProgress<T>(work: (started: CompactionStarted) => Promise<T> | T): AsyncGenerator<AgentEvent, T, void>;
5
+ export declare function withCompactionProgress<T>(work: (started: CompactionStarted) => Promise<T> | T, signal?: AbortSignal): AsyncGenerator<AgentEvent, T, void>;
@@ -1,5 +1,6 @@
1
+ import { abortableWork } from "./abortable-stream.js";
1
2
  /** Forward start notifications while awaiting summary work, not after it has finished. */
2
- export async function* withCompactionProgress(work) {
3
+ export async function* withCompactionProgress(work, signal) {
3
4
  const events = [];
4
5
  const seen = new Set();
5
6
  let wake;
@@ -7,13 +8,13 @@ export async function* withCompactionProgress(work) {
7
8
  let failed = false;
8
9
  let error;
9
10
  let result;
10
- const pending = Promise.resolve().then(() => work(reason => {
11
- if (settled || seen.has(reason))
11
+ const pending = abortableWork(async () => work(reason => {
12
+ if (settled || signal?.aborted || seen.has(reason))
12
13
  return;
13
14
  seen.add(reason);
14
15
  events.push({ type: "state", phase: "compacting", detail: `${reason}: generating context summary` });
15
16
  wake?.();
16
- })).then(value => { result = value; }, cause => { failed = true; error = cause; }).finally(() => {
17
+ }), signal).then(value => { result = value; }, cause => { failed = true; error = cause; }).finally(() => {
17
18
  settled = true;
18
19
  wake?.();
19
20
  });
@@ -26,9 +27,10 @@ export async function* withCompactionProgress(work) {
26
27
  }
27
28
  }
28
29
  finally {
29
- // A consumer closing after the start event must not leave a detached history mutation.
30
+ // Wait for the bounded operation, never for a provider ignoring cancellation.
30
31
  await pending;
31
32
  }
33
+ signal?.throwIfAborted();
32
34
  if (failed)
33
35
  throw error;
34
36
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"compaction-progress.js","sourceRoot":"","sources":["../../src/core/compaction-progress.ts"],"names":[],"mappings":"AAKA,0FAA0F;AAC1F,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,sBAAsB,CAAI,IAAoD;IACnG,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAoB,CAAC;IACzC,IAAI,IAA8B,CAAC;IACnC,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,KAAc,CAAC;IACnB,IAAI,MAAU,CAAC;IACf,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;QACzD,IAAI,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO;QACxC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACjB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,MAAM,8BAA8B,EAAE,CAAC,CAAC;QACrG,IAAI,EAAE,EAAE,CAAC;IACX,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,MAAM,GAAG,IAAI,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;QAC9F,OAAO,GAAG,IAAI,CAAC;QACf,IAAI,EAAE,EAAE,CAAC;IACX,CAAC,CAAC,CAAC;IACH,IAAI,CAAC;QACH,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YACjC,IAAI,MAAM,CAAC,MAAM;gBAAE,MAAM,MAAM,CAAC,KAAK,EAAG,CAAC;;gBACpC,MAAM,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,GAAG,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;YAAS,CAAC;QACT,uFAAuF;QACvF,MAAM,OAAO,CAAC;IAChB,CAAC;IACD,IAAI,MAAM;QAAE,MAAM,KAAK,CAAC;IACxB,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"compaction-progress.js","sourceRoot":"","sources":["../../src/core/compaction-progress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAMtD,0FAA0F;AAC1F,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,sBAAsB,CAAI,IAAoD,EAAE,MAAoB;IACzH,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAoB,CAAC;IACzC,IAAI,IAA8B,CAAC;IACnC,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,KAAc,CAAC;IACnB,IAAI,MAAU,CAAC;IACf,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;QACtD,IAAI,OAAO,IAAI,MAAM,EAAE,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO;QAC3D,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACjB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,MAAM,8BAA8B,EAAE,CAAC,CAAC;QACrG,IAAI,EAAE,EAAE,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,MAAM,GAAG,IAAI,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;QACtG,OAAO,GAAG,IAAI,CAAC;QACf,IAAI,EAAE,EAAE,CAAC;IACX,CAAC,CAAC,CAAC;IACH,IAAI,CAAC;QACH,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YACjC,IAAI,MAAM,CAAC,MAAM;gBAAE,MAAM,MAAM,CAAC,KAAK,EAAG,CAAC;;gBACpC,MAAM,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,GAAG,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;YAAS,CAAC;QACT,8EAA8E;QAC9E,MAAM,OAAO,CAAC;IAChB,CAAC;IACD,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,IAAI,MAAM;QAAE,MAAM,KAAK,CAAC;IACxB,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -2,6 +2,8 @@
2
2
  export interface ExecutionState {
3
3
  status: "running" | "paused" | "interrupted" | "completed";
4
4
  reason?: string;
5
+ /** Uncommitted compaction: history remains at the pre-compaction checkpoint. */
6
+ resumeCompaction?: boolean;
5
7
  /** Active execution time across continuations, excluding paused intervals. */
6
8
  elapsedMs?: number;
7
9
  }
@@ -3,6 +3,7 @@ export function isExecutionState(value) {
3
3
  return false;
4
4
  const state = value;
5
5
  return ["running", "paused", "interrupted", "completed"].includes(state.status)
6
+ && (state.resumeCompaction === undefined || typeof state.resumeCompaction === "boolean")
6
7
  && (state.reason === undefined || typeof state.reason === "string")
7
8
  && (state.elapsedMs === undefined || (Number.isSafeInteger(state.elapsedMs) && state.elapsedMs >= 0));
8
9
  }
@@ -13,6 +14,6 @@ export function executionRecoveryHint(state) {
13
14
  const cause = state.status === "paused"
14
15
  ? "上一轮会话被用户主动暂停/打断。"
15
16
  : `上一轮会话意外终止,未确认完成(原因:${state.reason || "unknown"})。`;
16
- return `${cause}这次是基于已保存上下文的新一轮续接,不是从底层请求断点重放。部分命令、工具或外部请求可能已执行、仍在运行或只完成了一部分,未收到结果不代表未执行。请先核实文件、进程和外部操作的实际状态,避免重复执行有副作用的操作。以用户本次新消息为最新指令:补充或调整则按新约束续做;替换或取消则不再执行旧目标;独立问题先回答,不擅自恢复旧任务;有歧义且涉及副作用时先澄清。用户仅要求继续时,继续尚未完成的原任务。`;
17
+ return `${cause}${state.resumeCompaction ? "上次上下文压缩被打断,未提交其摘要;运行时已保留压缩前上下文,并在本次模型调用前重新压缩。" : ""}这次是基于已保存上下文的新一轮续接,不是从底层请求断点重放。部分命令、工具或外部请求可能已执行、仍在运行或只完成了一部分,未收到结果不代表未执行。请先核实文件、进程和外部操作的实际状态,避免重复执行有副作用的操作。以用户本次新消息为最新指令:补充或调整则按新约束续做;替换或取消则不再执行旧目标;独立问题先回答,不擅自恢复旧任务;有歧义且涉及副作用时先澄清。用户仅要求继续时,继续尚未完成的原任务。`;
17
18
  }
18
19
  //# sourceMappingURL=execution-state.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"execution-state.js","sourceRoot":"","sources":["../../src/core/execution-state.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,KAAK,GAAG,KAAuB,CAAC;IACtC,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;WAC1E,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC;WAChE,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC;AAC1G,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAsB;IACzD,OAAO,KAAK,EAAE,MAAM,KAAK,QAAQ,IAAI,KAAK,EAAE,MAAM,KAAK,aAAa,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAqB;IACzD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,KAAK,QAAQ;QACrC,CAAC,CAAC,kBAAkB;QACpB,CAAC,CAAC,sBAAsB,KAAK,CAAC,MAAM,IAAI,SAAS,IAAI,CAAC;IACxD,OAAO,GAAG,KAAK,yMAAyM,CAAC;AAC3N,CAAC"}
1
+ {"version":3,"file":"execution-state.js","sourceRoot":"","sources":["../../src/core/execution-state.ts"],"names":[],"mappings":"AAUA,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,KAAK,GAAG,KAAuB,CAAC;IACtC,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;WAC1E,CAAC,KAAK,CAAC,gBAAgB,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,gBAAgB,KAAK,SAAS,CAAC;WACrF,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC;WAChE,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC;AAC1G,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAsB;IACzD,OAAO,KAAK,EAAE,MAAM,KAAK,QAAQ,IAAI,KAAK,EAAE,MAAM,KAAK,aAAa,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAqB;IACzD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,KAAK,QAAQ;QACrC,CAAC,CAAC,kBAAkB;QACpB,CAAC,CAAC,sBAAsB,KAAK,CAAC,MAAM,IAAI,SAAS,IAAI,CAAC;IACxD,OAAO,GAAG,KAAK,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,+CAA+C,CAAC,CAAC,CAAC,EAAE,yMAAyM,CAAC;AAC3S,CAAC"}
@@ -198,8 +198,8 @@ export function appendSystemContext(systemPrompt, systemContext) {
198
198
  function splitSystemContextForPromptCache(systemContext) {
199
199
  const entries = Object.entries(systemContext).filter(([, value]) => value !== undefined);
200
200
  return {
201
- stableSystemContext: Object.fromEntries(entries.filter(([key]) => key !== "cwd")),
202
- dynamicSystemContext: Object.fromEntries(entries.filter(([key]) => key === "cwd")),
201
+ stableSystemContext: Object.fromEntries(entries.filter(([key]) => !["cwd", "Workspace scope changed", "workspaceMemory"].includes(key))),
202
+ dynamicSystemContext: Object.fromEntries(entries.filter(([key]) => ["cwd", "Workspace scope changed", "workspaceMemory"].includes(key))),
203
203
  };
204
204
  }
205
205
  function renderObjectEntries(entries) {
@@ -1 +1 @@
1
- {"version":3,"file":"message-pipeline.js","sourceRoot":"","sources":["../../src/core/message-pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message-pipeline.js","sourceRoot":"","sources":["../../src/core/message-pipeline.ts"],"names":[],"mappings":"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"}
@@ -51,6 +51,7 @@ export interface QueryEngineOptions {
51
51
  name: string;
52
52
  input: unknown;
53
53
  }>) => void;
54
+ workspacePaths?: readonly string[];
54
55
  cwdTransitionPaths?: readonly string[];
55
56
  onCwdTransitionConsumed?: () => void | Promise<void>;
56
57
  appPromptStore?: AppPromptStore;
@@ -113,6 +114,11 @@ export declare class QueryEngine {
113
114
  private pendingRequestContext?;
114
115
  private pendingRequestContextConsumed?;
115
116
  constructor(options: QueryEngineOptions);
117
+ getWorkspacePaths(): string[];
118
+ setWorkspacePaths(paths: readonly string[]): void;
119
+ private applyWorkspacePaths;
120
+ updateWorkspacePaths(paths: readonly string[], persist: (paths: string[]) => Promise<void>): Promise<void>;
121
+ private buildWorkspaceContext;
116
122
  forkForSession(sessionId?: string, resume?: boolean): QueryEngine;
117
123
  onSessionTitleChange(listener: (snapshot: SessionStoreSnapshot | undefined) => void): () => void;
118
124
  noteRecoverableSubagents(onConsumed?: () => void): void;
@@ -133,7 +139,9 @@ export declare class QueryEngine {
133
139
  }): AsyncGenerator<AgentEvent>;
134
140
  private runQuery;
135
141
  /** Queue instance-local settings; no prompt messages or provider-global mutation. */
136
- updateSessionSettings(patch: SessionSettingsPatch): Promise<{
142
+ updateSessionSettings(patch: SessionSettingsPatch, options?: {
143
+ abortSignal?: AbortSignal;
144
+ }): Promise<{
137
145
  deferred: boolean;
138
146
  compaction?: CompactionResult;
139
147
  }>;
@@ -186,6 +194,9 @@ export declare class QueryEngine {
186
194
  /** Read-only live snapshots from the core monotonic clock, independent of subscribers. */
187
195
  getTimingRecords(): TimingRecord[];
188
196
  getDisplayEntries(): SessionDisplayEntry[];
197
+ private clearPendingCompaction;
198
+ /** Keep the durable history untouched until the entire result can be committed. */
199
+ private cancellableCompactor;
189
200
  private applyCompactionResult;
190
201
  contextMetrics(): Promise<ContextMetrics>;
191
202
  promptExportSnapshot(): Promise<SessionPromptExportSnapshot>;
@@ -1,3 +1,4 @@
1
+ import { resolve } from "node:path";
1
2
  import { randomUUID } from "node:crypto";
2
3
  import { performance } from "node:perf_hooks";
3
4
  import { executionRecoveryHint, isResumableExecution } from "./execution-state.js";
@@ -10,6 +11,7 @@ import { ToolRegistry } from "../tools/registry.js";
10
11
  import { createSystemInitMessage, createTextMessage } from "../types/messages.js";
11
12
  import { buildContextMetrics } from "./context-metrics.js";
12
13
  import { applyRuntimeContextForPromptCache } from "./message-pipeline.js";
14
+ import { abortableWork } from "./abortable-stream.js";
13
15
  import { SessionImageStore } from "./session-images.js";
14
16
  import { query } from "./query.js";
15
17
  import { runAgent } from "./run-agent.js";
@@ -65,7 +67,7 @@ export class QueryEngine {
65
67
  }
66
68
  setExecutionState(state) {
67
69
  const elapsedMs = state.elapsedMs ?? this.getExecutionState()?.elapsedMs ?? 0;
68
- this.executionState = { ...state, elapsedMs };
70
+ this.executionState = { ...state, elapsedMs, ...(this.executionState?.resumeCompaction ? { resumeCompaction: true } : {}) };
69
71
  this.executionStartedAt = state.status === "running" ? this.executionNow() : undefined;
70
72
  this.sessionStore?.recordExecutionState(this.executionState);
71
73
  }
@@ -113,10 +115,66 @@ export class QueryEngine {
113
115
  this.contextManager = { build: async (input) => {
114
116
  // Capture before any asynchronous baseline work: an in-flight request never observes a later edit.
115
117
  const content = this.activeSessionPrompt;
116
- return applySessionPrompt(await this.baselineContextManager.build(input), content);
118
+ return applySessionPrompt(await this.buildWorkspaceContext(input), content);
117
119
  } };
118
120
  this.pendingCwdTransitionPaths = normalizeCwdTransitionPaths(options.cwdTransitionPaths);
119
121
  }
122
+ getWorkspacePaths() {
123
+ return [...(this.options.workspacePaths ?? [this.options.cwd ?? process.cwd()])];
124
+ }
125
+ setWorkspacePaths(paths) {
126
+ if (this.running)
127
+ throw new Error("Cannot change workspace scope during a model response");
128
+ this.applyWorkspacePaths(paths);
129
+ }
130
+ applyWorkspacePaths(paths) {
131
+ const seen = new Set();
132
+ this.options.workspacePaths = paths.map(item => resolve(item)).filter(item => {
133
+ const key = process.platform === 'win32' ? item.toLowerCase() : item;
134
+ if (seen.has(key))
135
+ return false;
136
+ seen.add(key);
137
+ return true;
138
+ });
139
+ if (this.options.workspacePaths.length)
140
+ this.options.cwd = this.options.workspacePaths[0];
141
+ }
142
+ async updateWorkspacePaths(paths, persist) {
143
+ if (this.running)
144
+ throw new Error("Cannot change workspace scope during a model response");
145
+ const operation = this.settingsMutation.then(async () => {
146
+ const previous = this.options.workspacePaths;
147
+ const cwd = this.options.cwd;
148
+ // A query accepted after this mutation waits on the same settings barrier.
149
+ this.applyWorkspacePaths(paths);
150
+ try {
151
+ await persist(this.getWorkspacePaths());
152
+ }
153
+ catch (error) {
154
+ this.options.workspacePaths = previous;
155
+ this.options.cwd = cwd;
156
+ throw error;
157
+ }
158
+ });
159
+ this.settingsMutation = operation.catch(() => undefined);
160
+ await operation;
161
+ }
162
+ async buildWorkspaceContext(input) {
163
+ const paths = this.options.workspacePaths ? this.getWorkspacePaths() : undefined;
164
+ const context = await this.baselineContextManager.build({ ...input, cwd: this.options.cwd, omitProjectMemory: paths ? true : input.omitProjectMemory });
165
+ if (!paths)
166
+ return context;
167
+ const documents = input.omitProjectMemory ? [] : paths.flatMap(cwd => readProjectMemoryDocuments(cwd));
168
+ const { projectMemory, memoryFiles, ...userContext } = context.userContext;
169
+ return {
170
+ ...context, userContext,
171
+ systemContext: {
172
+ ...context.systemContext,
173
+ "Workspace scope changed": paths,
174
+ ...(documents.length ? { workspaceMemory: documents.map(doc => ({ path: doc.path, content: doc.content })) } : {}),
175
+ },
176
+ };
177
+ }
120
178
  forkForSession(sessionId, resume = true) {
121
179
  return new QueryEngine({
122
180
  ...this.options,
@@ -265,6 +323,7 @@ export class QueryEngine {
265
323
  message: initMessage,
266
324
  };
267
325
  this.sessionStore?.recordMessage(initMessage);
326
+ const compactor = this.cancellableCompactor(options.abortSignal);
268
327
  const queryOptions = {
269
328
  agentId: this.agentId,
270
329
  model: this.currentModel,
@@ -295,14 +354,14 @@ export class QueryEngine {
295
354
  beforeTurn: (messages, started) => {
296
355
  if (!this.simulation)
297
356
  this.options.refreshTools?.(this);
298
- return this.consumeSessionSettings(messages, started);
357
+ return this.consumeSessionSettings(messages, started, compactor);
299
358
  },
300
359
  };
301
360
  const stream = query(this.history, {
302
361
  ...this.options,
303
362
  acquireTurnResources: this.simulation ? undefined : this.options.acquireTurnResources ? () => this.options.acquireTurnResources(this) : undefined,
304
363
  tools: this.simulation?.tools ?? this.options.tools,
305
- compactor: this.simulation?.compactor ?? this.options.compactor,
364
+ compactor,
306
365
  onTimingState: timing => { this.queryTiming = timing; },
307
366
  onTiming: record => {
308
367
  this.timingRecords.set(record.id, { ...record });
@@ -318,7 +377,7 @@ export class QueryEngine {
318
377
  // query owns synthetic tool-use messages; persist them only via the message event below.
319
378
  // The export callback is an observer, not a second history writer.
320
379
  exportToolCalls: this.options.exportToolCalls,
321
- applyCompaction: (result) => this.applyCompactionResult(result),
380
+ applyCompaction: (result) => { options.abortSignal?.throwIfAborted(); this.applyCompactionResult(result); },
322
381
  }, queryOptions);
323
382
  for await (const event of stream) {
324
383
  if (event.type === "message") {
@@ -360,7 +419,7 @@ export class QueryEngine {
360
419
  }
361
420
  }
362
421
  /** Queue instance-local settings; no prompt messages or provider-global mutation. */
363
- async updateSessionSettings(patch) {
422
+ async updateSessionSettings(patch, options = {}) {
364
423
  const normalized = {};
365
424
  if (Object.hasOwn(patch, "model"))
366
425
  normalized.model = patch.model?.trim() || undefined;
@@ -384,10 +443,24 @@ export class QueryEngine {
384
443
  await this.initialize();
385
444
  if (normalized.compact)
386
445
  delete this.pendingSessionSettings.compact;
387
- const update = await this.applySessionSettings(normalized, this.getHistoryMessages());
388
- if (update?.compaction)
389
- this.applyCompactionResult(update.compaction);
390
- return { deferred: false, ...(update?.compaction ? { compaction: update.compaction } : {}) };
446
+ const previousExecution = this.getExecutionState();
447
+ if (normalized.compact)
448
+ this.setExecutionState({ status: "running", resumeCompaction: true });
449
+ try {
450
+ const update = await this.applySessionSettings(normalized, this.getHistoryMessages(), undefined, this.cancellableCompactor(options.abortSignal));
451
+ options.abortSignal?.throwIfAborted();
452
+ if (update?.compaction)
453
+ this.applyCompactionResult(update.compaction);
454
+ if (normalized.compact)
455
+ this.setExecutionState({ status: previousExecution?.status ?? "completed", reason: previousExecution?.reason });
456
+ return { deferred: false, ...(update?.compaction ? { compaction: update.compaction } : {}) };
457
+ }
458
+ catch (error) {
459
+ if (normalized.compact)
460
+ this.setExecutionState(options.abortSignal?.aborted
461
+ ? { status: "paused", reason: "user_pause" } : { status: "interrupted", reason: "compaction_failed" });
462
+ throw error;
463
+ }
391
464
  });
392
465
  // A rejected mutation must not poison subsequent settings or user input.
393
466
  this.settingsMutation = mutation.catch(() => undefined);
@@ -439,14 +512,14 @@ export class QueryEngine {
439
512
  patch.sessionPrompt = { ...patch.sessionPrompt };
440
513
  return patch;
441
514
  }
442
- async consumeSessionSettings(messages, started) {
443
- const patch = this.pendingSessionSettings;
515
+ async consumeSessionSettings(messages, started, compactor) {
516
+ const patch = { ...this.pendingSessionSettings, ...(this.executionState?.resumeCompaction ? { compact: true } : {}) };
444
517
  if (!Object.keys(patch).length)
445
518
  return undefined;
446
519
  this.pendingSessionSettings = {};
447
- return this.applySessionSettings(patch, messages, started);
520
+ return this.applySessionSettings(patch, messages, started, compactor);
448
521
  }
449
- async applySessionSettings(patch, messages, started) {
522
+ async applySessionSettings(patch, messages, started, activeCompactor) {
450
523
  const changed = {};
451
524
  if (Object.hasOwn(patch, "sessionPrompt"))
452
525
  this.activeSessionPrompt = patch.sessionPrompt ?? null;
@@ -470,9 +543,8 @@ export class QueryEngine {
470
543
  }
471
544
  let compaction;
472
545
  if (patch.compact) {
473
- started?.("manualcompact");
474
- const compactor = this.simulation?.compactor ?? this.options.compactor ?? new ModelDrivenCompactor(this.currentModelGateway);
475
- const budget = { ...this.options.contextBudget, imageRegistry: this.imageStore?.snapshot(), contextWindowTokens: this.currentContextWindowTokens ?? this.options.contextBudget?.contextWindowTokens };
546
+ const compactor = activeCompactor ?? this.cancellableCompactor();
547
+ const budget = { ...this.options.contextBudget, onCompactionStart: started, imageRegistry: this.imageStore?.snapshot(), contextWindowTokens: this.currentContextWindowTokens ?? this.options.contextBudget?.contextWindowTokens };
476
548
  compaction = withCompactionReport(await (compactor.manualCompact?.(messages, budget) ?? compactor.compact(messages, budget)), messages.length);
477
549
  }
478
550
  return Object.keys(changed).length || compaction ? { settings: changed, compaction } : undefined;
@@ -560,7 +632,7 @@ export class QueryEngine {
560
632
  async compact(options = {}) {
561
633
  if (options.abortSignal?.aborted)
562
634
  return { messages: this.getHistoryMessages(), changed: false, reason: "none" };
563
- const result = await this.updateSessionSettings({ compact: true });
635
+ const result = await this.updateSessionSettings({ compact: true }, options);
564
636
  return result.compaction ?? { messages: this.getHistoryMessages(), changed: false, reason: "none" };
565
637
  }
566
638
  async pureCompact(options = {}) {
@@ -608,10 +680,42 @@ export class QueryEngine {
608
680
  getDisplayEntries() {
609
681
  return this.sessionStore?.getDisplayEntries() ?? [...this.history, ...this.displayOnlyMessages].map((message) => ({ type: "message", message: cloneMessage(message) }));
610
682
  }
683
+ clearPendingCompaction() {
684
+ if (!this.executionState?.resumeCompaction)
685
+ return;
686
+ delete this.executionState.resumeCompaction;
687
+ this.setExecutionState(this.getExecutionState());
688
+ }
689
+ /** Keep the durable history untouched until the entire result can be committed. */
690
+ cancellableCompactor(signal) {
691
+ const source = this.simulation?.compactor ?? this.options.compactor ?? new ModelDrivenCompactor(this.currentModelGateway);
692
+ const run = (messages, budget = {}, kind = "compact", error) => {
693
+ const started = reason => {
694
+ signal?.throwIfAborted();
695
+ if (!this.executionState?.resumeCompaction) {
696
+ this.setExecutionState({ ...(this.getExecutionState() ?? { status: "running" }), resumeCompaction: true });
697
+ }
698
+ budget.onCompactionStart?.(reason);
699
+ };
700
+ return abortableWork(async () => {
701
+ if (kind !== "compact")
702
+ started(kind === "manualCompact" ? "manualcompact" : "reactive_compact");
703
+ const options = { ...budget, abortSignal: signal, onCompactionStart: started };
704
+ return kind === "reactiveCompact" && source.reactiveCompact ? source.reactiveCompact(messages, error, options)
705
+ : kind === "manualCompact" && source.manualCompact ? source.manualCompact(messages, options)
706
+ : source.compact(messages, options);
707
+ }, signal);
708
+ };
709
+ return { compact: (m, b) => run(m, b), manualCompact: (m, b) => run(m, b, "manualCompact"),
710
+ reactiveCompact: (m, e, b) => run(m, b, "reactiveCompact", e) };
711
+ }
611
712
  applyCompactionResult(result) {
612
- if (!result.changed)
713
+ if (!result.changed) {
714
+ this.clearPendingCompaction();
613
715
  return;
716
+ }
614
717
  this.sessionStore?.recordCompactCheckpoint(result.messages, result.reason, result.report);
718
+ this.clearPendingCompaction();
615
719
  this.history.length = 0;
616
720
  this.history.push(...result.messages.map(cloneMessage));
617
721
  }
@@ -672,7 +776,7 @@ export class QueryEngine {
672
776
  };
673
777
  const initialToolDefinitions = (this.simulation?.tools ?? this.options.tools).definitions(toolContext);
674
778
  const activePrompt = this.activeSessionPrompt;
675
- const baseline = await this.baselineContextManager.build({
779
+ const baseline = await this.buildWorkspaceContext({
676
780
  agentId: this.agentId,
677
781
  messages,
678
782
  enabledTools: initialToolDefinitions.map((tool) => tool.name),
@@ -705,7 +809,7 @@ export class QueryEngine {
705
809
  userContext: context.userContext,
706
810
  systemContext: context.systemContext,
707
811
  userContextPrompt,
708
- projectDocuments: readProjectMemoryDocuments(this.options.cwd ?? process.cwd()),
812
+ projectDocuments: this.getWorkspacePaths().flatMap(cwd => readProjectMemoryDocuments(cwd)),
709
813
  toolDefinitions,
710
814
  commands: [...(this.options.commands ?? [])],
711
815
  agents: [...(this.options.agents ?? [])],