@x-code-cli/core 0.2.1 → 0.2.3

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 (147) hide show
  1. package/dist/agent/api-errors.js +1 -1
  2. package/dist/agent/api-errors.js.map +1 -1
  3. package/dist/agent/compression.d.ts +25 -0
  4. package/dist/agent/compression.d.ts.map +1 -0
  5. package/dist/agent/compression.js +105 -0
  6. package/dist/agent/compression.js.map +1 -0
  7. package/dist/agent/diff.js.map +1 -1
  8. package/dist/agent/file-ingest.d.ts +14 -0
  9. package/dist/agent/file-ingest.d.ts.map +1 -1
  10. package/dist/agent/file-ingest.js +125 -34
  11. package/dist/agent/file-ingest.js.map +1 -1
  12. package/dist/agent/light-compact.d.ts.map +1 -1
  13. package/dist/agent/light-compact.js +0 -19
  14. package/dist/agent/light-compact.js.map +1 -1
  15. package/dist/agent/loop-guard.d.ts.map +1 -1
  16. package/dist/agent/loop-guard.js.map +1 -1
  17. package/dist/agent/loop-state.d.ts.map +1 -1
  18. package/dist/agent/loop-state.js +8 -1
  19. package/dist/agent/loop-state.js.map +1 -1
  20. package/dist/agent/loop.d.ts +2 -3
  21. package/dist/agent/loop.d.ts.map +1 -1
  22. package/dist/agent/loop.js +53 -93
  23. package/dist/agent/loop.js.map +1 -1
  24. package/dist/agent/memory-extractor.d.ts +22 -0
  25. package/dist/agent/memory-extractor.d.ts.map +1 -0
  26. package/dist/agent/memory-extractor.js +253 -0
  27. package/dist/agent/memory-extractor.js.map +1 -0
  28. package/dist/agent/messages.d.ts +9 -0
  29. package/dist/agent/messages.d.ts.map +1 -1
  30. package/dist/agent/messages.js +15 -0
  31. package/dist/agent/messages.js.map +1 -1
  32. package/dist/agent/plan-storage.d.ts.map +1 -1
  33. package/dist/agent/plan-storage.js +1 -1
  34. package/dist/agent/plan-storage.js.map +1 -1
  35. package/dist/agent/plan-tools.d.ts +8 -0
  36. package/dist/agent/plan-tools.d.ts.map +1 -0
  37. package/dist/agent/plan-tools.js +150 -0
  38. package/dist/agent/plan-tools.js.map +1 -0
  39. package/dist/agent/provider-compat.d.ts.map +1 -1
  40. package/dist/agent/provider-compat.js.map +1 -1
  41. package/dist/agent/sub-agents/built-in.d.ts.map +1 -1
  42. package/dist/agent/sub-agents/built-in.js +41 -15
  43. package/dist/agent/sub-agents/built-in.js.map +1 -1
  44. package/dist/agent/sub-agents/loader.d.ts.map +1 -1
  45. package/dist/agent/sub-agents/loader.js.map +1 -1
  46. package/dist/agent/sub-agents/runner.d.ts.map +1 -1
  47. package/dist/agent/sub-agents/runner.js +12 -8
  48. package/dist/agent/sub-agents/runner.js.map +1 -1
  49. package/dist/agent/system-prompt.d.ts.map +1 -1
  50. package/dist/agent/system-prompt.js +0 -31
  51. package/dist/agent/system-prompt.js.map +1 -1
  52. package/dist/agent/tool-execution.d.ts +34 -2
  53. package/dist/agent/tool-execution.d.ts.map +1 -1
  54. package/dist/agent/tool-execution.js +363 -360
  55. package/dist/agent/tool-execution.js.map +1 -1
  56. package/dist/agent/tool-result-sanitize.d.ts +21 -7
  57. package/dist/agent/tool-result-sanitize.d.ts.map +1 -1
  58. package/dist/agent/tool-result-sanitize.js +56 -30
  59. package/dist/agent/tool-result-sanitize.js.map +1 -1
  60. package/dist/agent/vision-fallback.d.ts.map +1 -1
  61. package/dist/agent/vision-fallback.js +3 -14
  62. package/dist/agent/vision-fallback.js.map +1 -1
  63. package/dist/index.d.ts +3 -0
  64. package/dist/index.d.ts.map +1 -1
  65. package/dist/index.js +3 -0
  66. package/dist/index.js.map +1 -1
  67. package/dist/knowledge/loader.d.ts.map +1 -1
  68. package/dist/knowledge/loader.js +50 -23
  69. package/dist/knowledge/loader.js.map +1 -1
  70. package/dist/permissions/index.d.ts +9 -4
  71. package/dist/permissions/index.d.ts.map +1 -1
  72. package/dist/permissions/index.js +41 -7
  73. package/dist/permissions/index.js.map +1 -1
  74. package/dist/permissions/session-store.d.ts +34 -20
  75. package/dist/permissions/session-store.d.ts.map +1 -1
  76. package/dist/permissions/session-store.js +94 -34
  77. package/dist/permissions/session-store.js.map +1 -1
  78. package/dist/providers/cache-control.d.ts.map +1 -1
  79. package/dist/providers/cache-control.js +0 -29
  80. package/dist/providers/cache-control.js.map +1 -1
  81. package/dist/providers/thinking.d.ts.map +1 -1
  82. package/dist/providers/thinking.js +2 -6
  83. package/dist/providers/thinking.js.map +1 -1
  84. package/dist/tools/ask-user.d.ts.map +1 -1
  85. package/dist/tools/ask-user.js +17 -7
  86. package/dist/tools/ask-user.js.map +1 -1
  87. package/dist/tools/edit.d.ts.map +1 -1
  88. package/dist/tools/edit.js +8 -1
  89. package/dist/tools/edit.js.map +1 -1
  90. package/dist/tools/glob.d.ts.map +1 -1
  91. package/dist/tools/glob.js +9 -2
  92. package/dist/tools/glob.js.map +1 -1
  93. package/dist/tools/grep.d.ts +1 -1
  94. package/dist/tools/grep.d.ts.map +1 -1
  95. package/dist/tools/grep.js +29 -6
  96. package/dist/tools/grep.js.map +1 -1
  97. package/dist/tools/index.d.ts +2 -10
  98. package/dist/tools/index.d.ts.map +1 -1
  99. package/dist/tools/index.js +10 -3
  100. package/dist/tools/index.js.map +1 -1
  101. package/dist/tools/list-dir.d.ts.map +1 -1
  102. package/dist/tools/list-dir.js.map +1 -1
  103. package/dist/tools/read-file.d.ts.map +1 -1
  104. package/dist/tools/read-file.js +78 -36
  105. package/dist/tools/read-file.js.map +1 -1
  106. package/dist/tools/shell-provider.d.ts +1 -0
  107. package/dist/tools/shell-provider.d.ts.map +1 -1
  108. package/dist/tools/shell-provider.js +7 -0
  109. package/dist/tools/shell-provider.js.map +1 -1
  110. package/dist/tools/shell-utils.d.ts.map +1 -1
  111. package/dist/tools/shell-utils.js +45 -2
  112. package/dist/tools/shell-utils.js.map +1 -1
  113. package/dist/tools/shell.d.ts.map +1 -1
  114. package/dist/tools/shell.js +15 -1
  115. package/dist/tools/shell.js.map +1 -1
  116. package/dist/tools/task.d.ts.map +1 -1
  117. package/dist/tools/task.js +4 -4
  118. package/dist/tools/task.js.map +1 -1
  119. package/dist/tools/todo-write.d.ts.map +1 -1
  120. package/dist/tools/todo-write.js.map +1 -1
  121. package/dist/tools/web-fetch.d.ts +2 -0
  122. package/dist/tools/web-fetch.d.ts.map +1 -1
  123. package/dist/tools/web-fetch.js +92 -27
  124. package/dist/tools/web-fetch.js.map +1 -1
  125. package/dist/tools/write-file.d.ts.map +1 -1
  126. package/dist/tools/write-file.js +7 -1
  127. package/dist/tools/write-file.js.map +1 -1
  128. package/dist/types/index.d.ts +17 -1
  129. package/dist/types/index.d.ts.map +1 -1
  130. package/dist/types/index.js.map +1 -1
  131. package/dist/utils/lru-cache.d.ts +17 -0
  132. package/dist/utils/lru-cache.d.ts.map +1 -0
  133. package/dist/utils/lru-cache.js +40 -0
  134. package/dist/utils/lru-cache.js.map +1 -0
  135. package/dist/utils/media-type.d.ts +5 -0
  136. package/dist/utils/media-type.d.ts.map +1 -0
  137. package/dist/utils/media-type.js +19 -0
  138. package/dist/utils/media-type.js.map +1 -0
  139. package/dist/utils/message-helpers.d.ts +6 -0
  140. package/dist/utils/message-helpers.d.ts.map +1 -0
  141. package/dist/utils/message-helpers.js +14 -0
  142. package/dist/utils/message-helpers.js.map +1 -0
  143. package/package.json +1 -1
  144. package/dist/tools/save-knowledge.d.ts +0 -8
  145. package/dist/tools/save-knowledge.d.ts.map +0 -1
  146. package/dist/tools/save-knowledge.js +0 -61
  147. package/dist/tools/save-knowledge.js.map +0 -1
@@ -5,8 +5,40 @@ type ToolCall = {
5
5
  toolCallId: string;
6
6
  input: Record<string, unknown>;
7
7
  };
8
- /** Handle all tool calls from a single model turn, sequentially.
9
- * `parentModel` is threaded through so the task tool can pass it to runSubAgent. */
8
+ /** Group consecutive `task` tool-calls into a single batch so they can be
9
+ * dispatched in parallel; everything else gets a singleton batch and
10
+ * dispatches one-at-a-time. Sub-agents launched by the `task` tool are
11
+ * the only manual tool we hand-execute in `processToolCalls` that's
12
+ * truly isolated:
13
+ * - each `runSubAgent` builds a fresh `LoopState` (own messages, own
14
+ * `recentToolCalls`, own todos, own permission mode)
15
+ * - `parentState.tokenUsage` is updated by additive accumulation only
16
+ * after the sub-agent completes, so concurrent updates can't get
17
+ * torn (single-threaded event loop + plain `+=` writes)
18
+ * - permission dialogs from concurrent sub-agents queue naturally on
19
+ * the parent UI's `permissionResolversRef`
20
+ * Every other manual tool mutates shared state and must stay serial:
21
+ * - `writeFile` / `edit` mutate the filesystem and `state.filesModified`
22
+ * - `shell` streams stdout/stderr to the parent UI as it arrives —
23
+ * interleaved bytes from concurrent shells would scramble the live
24
+ * indicator
25
+ * - `askUser` / permission dialogs hold the UI; running two at once
26
+ * would race the dialog state machine
27
+ * - `todoWrite` / `enterPlanMode` / `exitPlanMode` mutate `LoopState`
28
+ * fields that the next turn reads
29
+ * Auto-executed tools (readFile / glob / grep / listDir / webFetch /
30
+ * webSearch) don't appear here — by the time `processToolCalls` runs,
31
+ * the SDK has already executed them and the skip-fulfilled pre-pass
32
+ * short-circuits them out. */
33
+ export declare function partitionToolCalls(calls: ToolCall[]): ToolCall[][];
34
+ /** Handle all tool calls from a single model turn.
35
+ *
36
+ * Consecutive `task` tool-calls dispatch in parallel via Promise.all;
37
+ * every other tool runs one at a time. See `partitionToolCalls` for the
38
+ * full rationale on why only sub-agents are safe to fan out.
39
+ *
40
+ * `parentModel` is threaded through so the task tool can pass it to
41
+ * `runSubAgent`. */
10
42
  export declare function processToolCalls(toolCalls: ToolCall[], state: LoopState, options: AgentOptions, callbacks: AgentCallbacks, parentModel: LanguageModel): Promise<void>;
11
43
  export {};
12
44
  //# sourceMappingURL=tool-execution.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-execution.d.ts","sourceRoot":"","sources":["../../src/agent/tool-execution.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,EAAY,MAAM,mBAAmB,CAAA;AAI9F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AA+LhD,KAAK,QAAQ,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAA;AAqbxF;qFACqF;AACrF,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,QAAQ,EAAE,EACrB,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,YAAY,EACrB,SAAS,EAAE,cAAc,EACzB,WAAW,EAAE,aAAa,GACzB,OAAO,CAAC,IAAI,CAAC,CAyBf"}
1
+ {"version":3,"file":"tool-execution.d.ts","sourceRoot":"","sources":["../../src/agent/tool-execution.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAKpF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AA0LhD,KAAK,QAAQ,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAA;AAqSxF;;;;;;;;;;;;;;;;;;;;;;;;+BAwB+B;AAC/B,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE,EAAE,CAclE;AAED;;;;;;;qBAOqB;AACrB,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,QAAQ,EAAE,EACrB,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,YAAY,EACrB,SAAS,EAAE,cAAc,EACzB,WAAW,EAAE,aAAa,GACzB,OAAO,CAAC,IAAI,CAAC,CAqFf"}