@namzu/cli 18.0.0 → 19.0.0

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 (227) hide show
  1. package/CHANGELOG.md +5898 -0
  2. package/README.md +23 -24
  3. package/dist/bin.js +12 -1
  4. package/dist/bin.js.map +1 -1
  5. package/dist/checkpoints/store.d.ts +75 -0
  6. package/dist/checkpoints/store.d.ts.map +1 -0
  7. package/dist/checkpoints/store.js +177 -0
  8. package/dist/checkpoints/store.js.map +1 -0
  9. package/dist/checkpoints/wrap.d.ts +15 -0
  10. package/dist/checkpoints/wrap.d.ts.map +1 -0
  11. package/dist/checkpoints/wrap.js +37 -0
  12. package/dist/checkpoints/wrap.js.map +1 -0
  13. package/dist/cli.d.ts +6 -0
  14. package/dist/cli.d.ts.map +1 -1
  15. package/dist/cli.js +13 -1
  16. package/dist/cli.js.map +1 -1
  17. package/dist/commands/acp.d.ts.map +1 -1
  18. package/dist/commands/acp.js +3 -0
  19. package/dist/commands/acp.js.map +1 -1
  20. package/dist/commands/drain.d.ts.map +1 -1
  21. package/dist/commands/drain.js +15 -2
  22. package/dist/commands/drain.js.map +1 -1
  23. package/dist/commands/provider-wait.d.ts +44 -0
  24. package/dist/commands/provider-wait.d.ts.map +1 -0
  25. package/dist/commands/provider-wait.js +65 -0
  26. package/dist/commands/provider-wait.js.map +1 -0
  27. package/dist/commands/run-flags.d.ts +13 -1
  28. package/dist/commands/run-flags.d.ts.map +1 -1
  29. package/dist/commands/run-flags.js +41 -0
  30. package/dist/commands/run-flags.js.map +1 -1
  31. package/dist/commands/run-stream.d.ts.map +1 -1
  32. package/dist/commands/run-stream.js +34 -13
  33. package/dist/commands/run-stream.js.map +1 -1
  34. package/dist/commands/run.d.ts.map +1 -1
  35. package/dist/commands/run.js +133 -78
  36. package/dist/commands/run.js.map +1 -1
  37. package/dist/commands/stdin.d.ts +17 -0
  38. package/dist/commands/stdin.d.ts.map +1 -0
  39. package/dist/commands/stdin.js +69 -0
  40. package/dist/commands/stdin.js.map +1 -0
  41. package/dist/config/load.d.ts.map +1 -1
  42. package/dist/config/load.js +122 -2
  43. package/dist/config/load.js.map +1 -1
  44. package/dist/config/schema.d.ts +92 -0
  45. package/dist/config/schema.d.ts.map +1 -1
  46. package/dist/config/schema.js.map +1 -1
  47. package/dist/context/doctrine.d.ts +22 -0
  48. package/dist/context/doctrine.d.ts.map +1 -0
  49. package/dist/context/doctrine.js +22 -0
  50. package/dist/context/doctrine.js.map +1 -0
  51. package/dist/context/environment.d.ts +2 -0
  52. package/dist/context/environment.d.ts.map +1 -1
  53. package/dist/context/environment.js +3 -0
  54. package/dist/context/environment.js.map +1 -1
  55. package/dist/context/turn-snapshot.d.ts +59 -0
  56. package/dist/context/turn-snapshot.d.ts.map +1 -0
  57. package/dist/context/turn-snapshot.js +122 -0
  58. package/dist/context/turn-snapshot.js.map +1 -0
  59. package/dist/integrations/mcp/servers.d.ts +19 -0
  60. package/dist/integrations/mcp/servers.d.ts.map +1 -1
  61. package/dist/integrations/mcp/servers.js +23 -2
  62. package/dist/integrations/mcp/servers.js.map +1 -1
  63. package/dist/integrations/plugins/runtime.d.ts +8 -2
  64. package/dist/integrations/plugins/runtime.d.ts.map +1 -1
  65. package/dist/integrations/plugins/runtime.js +24 -12
  66. package/dist/integrations/plugins/runtime.js.map +1 -1
  67. package/dist/integrations/providers/chain-capabilities.js +1 -1
  68. package/dist/integrations/providers/chain-capabilities.js.map +1 -1
  69. package/dist/integrations/providers/credential-store.d.ts +1 -1
  70. package/dist/integrations/providers/credential-store.js +1 -1
  71. package/dist/integrations/providers/harness-credentials.d.ts.map +1 -1
  72. package/dist/integrations/providers/harness-credentials.js +7 -0
  73. package/dist/integrations/providers/harness-credentials.js.map +1 -1
  74. package/dist/integrations/providers/registry.d.ts +2 -2
  75. package/dist/integrations/providers/registry.js +2 -2
  76. package/dist/integrations/sessions/store.d.ts +14 -22
  77. package/dist/integrations/sessions/store.d.ts.map +1 -1
  78. package/dist/integrations/sessions/store.js +78 -175
  79. package/dist/integrations/sessions/store.js.map +1 -1
  80. package/dist/integrations/sessions/transcript-export.d.ts.map +1 -1
  81. package/dist/integrations/sessions/transcript-export.js +6 -2
  82. package/dist/integrations/sessions/transcript-export.js.map +1 -1
  83. package/dist/integrations/state/identity.d.ts +21 -0
  84. package/dist/integrations/state/identity.d.ts.map +1 -0
  85. package/dist/integrations/state/identity.js +49 -0
  86. package/dist/integrations/state/identity.js.map +1 -0
  87. package/dist/integrations/state/immutable-json.d.ts +10 -0
  88. package/dist/integrations/state/immutable-json.d.ts.map +1 -0
  89. package/dist/integrations/state/immutable-json.js +38 -0
  90. package/dist/integrations/state/immutable-json.js.map +1 -0
  91. package/dist/integrations/state/project.d.ts +10 -0
  92. package/dist/integrations/state/project.d.ts.map +1 -0
  93. package/dist/integrations/state/project.js +15 -0
  94. package/dist/integrations/state/project.js.map +1 -0
  95. package/dist/integrations/state/report.d.ts.map +1 -1
  96. package/dist/integrations/state/report.js +42 -12
  97. package/dist/integrations/state/report.js.map +1 -1
  98. package/dist/integrations/subagents/definitions.d.ts +19 -0
  99. package/dist/integrations/subagents/definitions.d.ts.map +1 -0
  100. package/dist/integrations/subagents/definitions.js +26 -0
  101. package/dist/integrations/subagents/definitions.js.map +1 -0
  102. package/dist/integrations/subagents/parent.d.ts +13 -0
  103. package/dist/integrations/subagents/parent.d.ts.map +1 -0
  104. package/dist/integrations/subagents/parent.js +57 -0
  105. package/dist/integrations/subagents/parent.js.map +1 -0
  106. package/dist/integrations/subagents/runtime.d.ts +27 -3
  107. package/dist/integrations/subagents/runtime.d.ts.map +1 -1
  108. package/dist/integrations/subagents/runtime.js +302 -82
  109. package/dist/integrations/subagents/runtime.js.map +1 -1
  110. package/dist/memory/store.d.ts +35 -15
  111. package/dist/memory/store.d.ts.map +1 -1
  112. package/dist/memory/store.js +79 -25
  113. package/dist/memory/store.js.map +1 -1
  114. package/dist/permissions/mode.d.ts +12 -20
  115. package/dist/permissions/mode.d.ts.map +1 -1
  116. package/dist/permissions/mode.js +18 -3
  117. package/dist/permissions/mode.js.map +1 -1
  118. package/dist/release-notes.d.ts +20 -0
  119. package/dist/release-notes.d.ts.map +1 -0
  120. package/dist/release-notes.js +64 -0
  121. package/dist/release-notes.js.map +1 -0
  122. package/dist/tui/AgentExplorer.d.ts.map +1 -1
  123. package/dist/tui/AgentExplorer.js +14 -18
  124. package/dist/tui/AgentExplorer.js.map +1 -1
  125. package/dist/tui/App.d.ts.map +1 -1
  126. package/dist/tui/App.js +843 -208
  127. package/dist/tui/App.js.map +1 -1
  128. package/dist/tui/BrandHeader.d.ts +12 -0
  129. package/dist/tui/BrandHeader.d.ts.map +1 -0
  130. package/dist/tui/BrandHeader.js +17 -0
  131. package/dist/tui/BrandHeader.js.map +1 -0
  132. package/dist/tui/ChoicePicker.d.ts +11 -1
  133. package/dist/tui/ChoicePicker.d.ts.map +1 -1
  134. package/dist/tui/ChoicePicker.js +46 -13
  135. package/dist/tui/ChoicePicker.js.map +1 -1
  136. package/dist/tui/Composer.d.ts +9 -1
  137. package/dist/tui/Composer.d.ts.map +1 -1
  138. package/dist/tui/Composer.js +21 -5
  139. package/dist/tui/Composer.js.map +1 -1
  140. package/dist/tui/ComposerFrame.d.ts +10 -0
  141. package/dist/tui/ComposerFrame.d.ts.map +1 -0
  142. package/dist/tui/ComposerFrame.js +93 -0
  143. package/dist/tui/ComposerFrame.js.map +1 -0
  144. package/dist/tui/EditPromptPicker.d.ts.map +1 -1
  145. package/dist/tui/EditPromptPicker.js +1 -1
  146. package/dist/tui/EditPromptPicker.js.map +1 -1
  147. package/dist/tui/LiveActivity.d.ts +12 -5
  148. package/dist/tui/LiveActivity.d.ts.map +1 -1
  149. package/dist/tui/LiveActivity.js +17 -32
  150. package/dist/tui/LiveActivity.js.map +1 -1
  151. package/dist/tui/PermissionOverlay.d.ts +26 -2
  152. package/dist/tui/PermissionOverlay.d.ts.map +1 -1
  153. package/dist/tui/PermissionOverlay.js +118 -11
  154. package/dist/tui/PermissionOverlay.js.map +1 -1
  155. package/dist/tui/Picker.d.ts +2 -2
  156. package/dist/tui/Picker.d.ts.map +1 -1
  157. package/dist/tui/Picker.js +79 -52
  158. package/dist/tui/Picker.js.map +1 -1
  159. package/dist/tui/StatusBar.d.ts.map +1 -1
  160. package/dist/tui/StatusBar.js +5 -2
  161. package/dist/tui/StatusBar.js.map +1 -1
  162. package/dist/tui/TaskList.d.ts +32 -0
  163. package/dist/tui/TaskList.d.ts.map +1 -0
  164. package/dist/tui/TaskList.js +67 -0
  165. package/dist/tui/TaskList.js.map +1 -0
  166. package/dist/tui/Transcript.d.ts +3 -3
  167. package/dist/tui/Transcript.d.ts.map +1 -1
  168. package/dist/tui/Transcript.js +16 -34
  169. package/dist/tui/Transcript.js.map +1 -1
  170. package/dist/tui/agent.d.ts +152 -48
  171. package/dist/tui/agent.d.ts.map +1 -1
  172. package/dist/tui/agent.js +622 -256
  173. package/dist/tui/agent.js.map +1 -1
  174. package/dist/tui/choice-selection.d.ts +17 -0
  175. package/dist/tui/choice-selection.d.ts.map +1 -0
  176. package/dist/tui/choice-selection.js +38 -0
  177. package/dist/tui/choice-selection.js.map +1 -0
  178. package/dist/tui/exit-summary.d.ts +7 -1
  179. package/dist/tui/exit-summary.d.ts.map +1 -1
  180. package/dist/tui/exit-summary.js +12 -3
  181. package/dist/tui/exit-summary.js.map +1 -1
  182. package/dist/tui/index.d.ts +3 -1
  183. package/dist/tui/index.d.ts.map +1 -1
  184. package/dist/tui/index.js +5 -3
  185. package/dist/tui/index.js.map +1 -1
  186. package/dist/tui/logo.d.ts +7 -22
  187. package/dist/tui/logo.d.ts.map +1 -1
  188. package/dist/tui/logo.js +8 -34
  189. package/dist/tui/logo.js.map +1 -1
  190. package/dist/tui/model-choices.d.ts.map +1 -1
  191. package/dist/tui/model-choices.js +21 -6
  192. package/dist/tui/model-choices.js.map +1 -1
  193. package/dist/tui/permission-review.d.ts +15 -4
  194. package/dist/tui/permission-review.d.ts.map +1 -1
  195. package/dist/tui/permission-review.js +199 -10
  196. package/dist/tui/permission-review.js.map +1 -1
  197. package/dist/tui/provider-selection.d.ts +4 -0
  198. package/dist/tui/provider-selection.d.ts.map +1 -0
  199. package/dist/tui/provider-selection.js +16 -0
  200. package/dist/tui/provider-selection.js.map +1 -0
  201. package/dist/tui/run-interruption.d.ts +3 -2
  202. package/dist/tui/run-interruption.d.ts.map +1 -1
  203. package/dist/tui/run-interruption.js +2 -1
  204. package/dist/tui/run-interruption.js.map +1 -1
  205. package/dist/tui/shell-escape.d.ts +42 -0
  206. package/dist/tui/shell-escape.d.ts.map +1 -0
  207. package/dist/tui/shell-escape.js +110 -0
  208. package/dist/tui/shell-escape.js.map +1 -0
  209. package/dist/tui/slashCommands.d.ts +77 -31
  210. package/dist/tui/slashCommands.d.ts.map +1 -1
  211. package/dist/tui/slashCommands.js +343 -303
  212. package/dist/tui/slashCommands.js.map +1 -1
  213. package/dist/tui/stream-blocks.d.ts +24 -0
  214. package/dist/tui/stream-blocks.d.ts.map +1 -1
  215. package/dist/tui/stream-blocks.js +74 -0
  216. package/dist/tui/stream-blocks.js.map +1 -1
  217. package/dist/tui/terminal-choice-text.d.ts +8 -0
  218. package/dist/tui/terminal-choice-text.d.ts.map +1 -0
  219. package/dist/tui/terminal-choice-text.js +37 -0
  220. package/dist/tui/terminal-choice-text.js.map +1 -0
  221. package/dist/tui/theme.d.ts +3 -4
  222. package/dist/tui/theme.d.ts.map +1 -1
  223. package/dist/tui/theme.js +16 -17
  224. package/dist/tui/theme.js.map +1 -1
  225. package/dist/tui/types.d.ts +8 -1
  226. package/dist/tui/types.d.ts.map +1 -1
  227. package/package.json +8 -6
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/integrations/subagents/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAMN,KAAK,uBAAuB,EAQ5B,KAAK,WAAW,EAEhB,KAAK,WAAW,EAChB,KAAK,yBAAyB,EAG9B,KAAK,aAAa,EAElB,KAAK,QAAQ,EACb,KAAK,eAAe,EAGpB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EASzB,MAAM,YAAY,CAAA;AAEnB,OAAO,EAIN,KAAK,sBAAsB,EAC3B,MAAM,eAAe,CAAA;AAGtB,eAAO,MAAM,wBAAwB,oBAAoB,CAAA;AAczD,MAAM,WAAW,sBAAsB;IACtC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,wEAAwE;IACxE,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAA;IAClC,iFAAiF;IACjF,QAAQ,CAAC,gBAAgB,CAAC,EAAE,mBAAmB,GAAG,WAAW,CAAA;IAC7D,yEAAyE;IACzE,QAAQ,CAAC,aAAa,EAAE,MAAM,WAAW,CAAA;IACzC,iEAAiE;IACjE,QAAQ,CAAC,UAAU,EAAE,MAAM,oBAAoB,CAAA;IAC/C,QAAQ,CAAC,iBAAiB,CAAC,EAAE,uBAAuB,CAAA;IACpD;;;OAGG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,aAAa,GAAG,SAAS,CAAA;IAC1F,kEAAkE;IAClE,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,CAAA;IAC1C,sEAAsE;IACtE,QAAQ,CAAC,wBAAwB,CAAC,EAAE,MAAM,CAAA;IAC1C,2EAA2E;IAC3E,QAAQ,CAAC,yBAAyB,CAAC,EAAE,MAAM,yBAAyB,CAAA;IACpE;;;;;;;;OAQG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAA;IAChD,4EAA4E;IAC5E,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAA;CAC5C;AAED,MAAM,WAAW,eAAe;IAC/B,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAA;IAC/B,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAA;IAClC,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAA;IAC3C,yEAAyE;IACzE,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAA;IACzC,uEAAuE;IACvE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACtB;AAQD;;;GAGG;AACH,wBAAsB,qBAAqB,CAC1C,IAAI,EAAE,sBAAsB,GAC1B,OAAO,CAAC,eAAe,CAAC,CA2P1B"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/integrations/subagents/runtime.ts"],"names":[],"mappings":"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"}
@@ -11,10 +11,29 @@
11
11
  * store backs the AgentManager, so sub-agent bookkeeping never touches the
12
12
  * CLI's on-disk `/resume` conversation store.
13
13
  */
14
- import { AgentManager, AgentRegistry, DefaultCapacityValidator, InMemorySessionStore, InMemoryTopicStore, LocalTaskScheduler, ReactiveAgent, RunCancelled, SessionSummaryMaterializer, TopicManager, WorkspaceBackendRegistry, asRunId, asSummaryId, asTenantId, asUserId, defineTool, mcpJsonSchemaToZod, } from '@namzu/sdk';
14
+ import { AgentManager, AgentRegistry, DefaultCapacityValidator, EXPLORE_AGENT_DESCRIPTION, EXPLORE_AGENT_ID, EXPLORE_AGENT_PROMPT, InMemorySessionStore, InMemoryTopicStore, LocalTaskScheduler, ReactiveAgent, RunCancelled, SessionSummaryMaterializer, TopicArchivedError, TopicManager, WorkspaceBackendRegistry, defineTool, filterReadOnlyTools, filterToolsNamed, generateSummaryId, mcpJsonSchemaToZod, openTokenBudget, requireOpenProject, } from '@namzu/sdk';
15
+ import { NAMZU_WORKING_DOCTRINE } from '../../context/doctrine.js';
15
16
  import { MAX_AGENT_ACTIVITY_LABEL_CODE_UNITS, MAX_AGENT_PHASE_ORDER, SubagentActivityMonitor, } from './activity.js';
16
17
  import { CLI_INTERACTIVE_RUN_TIMEOUT_MS } from './policy.js';
17
18
  export const GENERAL_PURPOSE_SUBAGENT = 'general-purpose';
19
+ /**
20
+ * The kernel's read-only delegate, with this application's doctrine under
21
+ * its prompt. Roster and prompt come from `@namzu/sdk`; what is added here is
22
+ * the same working rules every namzu child gets.
23
+ */
24
+ export const EXPLORE_SUBAGENT = EXPLORE_AGENT_ID;
25
+ const EXPLORE_PROMPT = [EXPLORE_AGENT_PROMPT, '', NAMZU_WORKING_DOCTRINE].join('\n');
26
+ /**
27
+ * A file-defined agent's roster: the parent's working set, kept to the
28
+ * file's `tools` allowlist when there is one, and to read-only tools when
29
+ * the file says `readOnly: true`. Intersection, never union.
30
+ */
31
+ function fileAgentTools(definition, opts) {
32
+ return () => {
33
+ const source = definition.readOnly ? filterReadOnlyTools(opts.buildTools()) : opts.buildTools();
34
+ return definition.tools ? filterToolsNamed(source, definition.tools) : source;
35
+ };
36
+ }
18
37
  const SUBAGENT_PROMPT = [
19
38
  'You are a focused sub-agent dispatched by namzu to complete one self-contained task and report back.',
20
39
  'You cannot see the parent conversation — work only from the prompt you were given.',
@@ -22,10 +41,48 @@ const SUBAGENT_PROMPT = [
22
41
  'Be thorough but do not ask the parent questions; make reasonable assumptions and state them.',
23
42
  '',
24
43
  'Never fabricate. Only report results you actually produced via tool calls:',
25
- '- If you write a file, write it with the `write` tool and report the real path; never claim a file exists without writing it.',
44
+ '- If you create a file, create it with the `write` tool; if you change an existing one, use `edit`. Report the real path either way; never claim a file exists without a tool having written it.',
26
45
  '- If you need to research and have no web tool available, say so plainly and answer from your own knowledge with that caveat — do not invent sources, data, or URLs.',
27
46
  '- Do not invent command output or results. If you cannot complete the task, say what blocked you.',
47
+ '',
48
+ // The same working rules the parent runs under. A delegated task edits the
49
+ // same repository, and a child that reads a file before editing it while
50
+ // the parent does not is the same defect in the other direction.
51
+ NAMZU_WORKING_DOCTRINE,
28
52
  ].join('\n');
53
+ /** Recheck the invoking run before admitting work through a retained gateway. */
54
+ class ParentTaskScheduler extends LocalTaskScheduler {
55
+ validateParent;
56
+ constructor(manager, context, onEvent, validateParent) {
57
+ super(manager, context, onEvent);
58
+ this.validateParent = validateParent;
59
+ }
60
+ async createTask(options) {
61
+ await this.validateParent();
62
+ return super.createTask(options);
63
+ }
64
+ owns(taskId) {
65
+ return super.listTasks().some((task) => task.taskId === taskId);
66
+ }
67
+ getTask(taskId) {
68
+ return this.owns(taskId) ? super.getTask(taskId) : undefined;
69
+ }
70
+ cancelTask(taskId, cause) {
71
+ if (this.owns(taskId))
72
+ super.cancelTask(taskId, cause);
73
+ }
74
+ async waitForTask(taskId) {
75
+ if (!this.owns(taskId))
76
+ throw new Error(`Task ${taskId} does not belong to this parent run`);
77
+ return super.waitForTask(taskId);
78
+ }
79
+ async continueTask(taskId, message) {
80
+ if (!this.owns(taskId))
81
+ throw new Error(`Task ${taskId} does not belong to this parent run`);
82
+ await this.validateParent();
83
+ await super.continueTask(taskId, message);
84
+ }
85
+ }
29
86
  /** A delegated run may never inherit the SDK's headless auto-approval fallback. */
30
87
  const refuseUnownedChildReview = async () => ({
31
88
  action: 'abort',
@@ -33,62 +90,204 @@ const refuseUnownedChildReview = async () => ({
33
90
  });
34
91
  /**
35
92
  * Stand up the AgentManager + gateway + `Agent` tool. Returns the tool to
36
- * register on the parent and the gateway to pass to `query({ taskGateway })`.
93
+ * register on the parent and the gateway to pass to `query({ taskScheduler })`.
37
94
  */
38
95
  export async function createSubagentRuntime(opts) {
39
- const tenantId = asTenantId('tnt_namzu-cli');
40
- const store = new InMemorySessionStore();
41
- const topicStore = new InMemoryTopicStore();
42
- const userActor = {
43
- kind: 'user',
44
- userId: asUserId('usr_namzu'),
45
- tenantId,
46
- };
47
- const project = await store.createProject({ tenantId, name: 'namzu-cli' }, tenantId);
48
- const thread = await topicStore.createTopic({ projectId: project.id, title: 'namzu-cli' }, tenantId);
49
- // No workspace gate here, and that is a finding rather than an omission.
50
- //
51
- // A direct `createSession` bypasses `requireOpenProject`, which is why the
52
- // CLI's persistent conversation store now calls it explicitly. This site is
53
- // the other shape: the store is a fresh `InMemorySessionStore` built four
54
- // lines up, the project was created two lines up, and neither outlives this
55
- // runtime — so the id can never be one an owner has closed. A gate on a path
56
- // that always creates its own project checks a condition that cannot be
57
- // false, and a check that cannot fail teaches the next reader nothing except
58
- // that gates here are decoration.
59
- //
60
- // The trigger to add one is the day this store is replaced by a persistent
61
- // one, or the project id starts arriving from a caller.
62
- const parentSession = await store.createSession({ topicId: thread.id, projectId: project.id, currentActor: userActor }, tenantId);
63
- await store.updateSession({ ...parentSession, status: 'active' }, tenantId);
64
- let summaryCounter = 0;
65
- const materializer = new SessionSummaryMaterializer({
66
- store,
67
- generateSummaryId: () => asSummaryId(`sum_namzu_${++summaryCounter}`),
68
- });
69
96
  const registry = new AgentRegistry();
70
97
  registry.register(buildDefinition(GENERAL_PURPOSE_SUBAGENT, 'A general-purpose sub-agent.', SUBAGENT_PROMPT, opts));
71
- const topicManager = new TopicManager({ topicStore, sessionStore: store });
72
- const manager = new AgentManager(registry, { childTimeoutMs: CLI_INTERACTIVE_RUN_TIMEOUT_MS }, {
73
- sessionStore: store,
74
- summaryMaterializer: materializer,
75
- workspaceRegistry: new WorkspaceBackendRegistry(),
76
- capacity: new DefaultCapacityValidator(store),
77
- topicManager,
78
- });
79
- const taskContext = {
80
- parentRunId: asRunId('run_namzu-cli'),
81
- parentAgentId: 'namzu',
82
- parentAbortController: new AbortController(),
83
- depth: 0,
84
- budgetTracker: { total: 1_000_000, remaining: 1_000_000 },
85
- tenantId,
86
- topicId: thread.id,
87
- sessionId: parentSession.id,
88
- projectId: project.id,
89
- parentActor: userActor,
98
+ registry.register(buildDefinition(EXPLORE_SUBAGENT, EXPLORE_AGENT_DESCRIPTION, EXPLORE_PROMPT, opts, () => filterReadOnlyTools(opts.buildTools())));
99
+ // Agents a project or user defined in a file, each a type of its own.
100
+ // The roster is the file's allowlist intersected with the parent's set —
101
+ // a file cannot grant a tool the parent does not have — narrowed further
102
+ // to read-only when the file says so. The prompt is the file's body over
103
+ // the same sub-agent base every child gets.
104
+ const fileAgents = new Map();
105
+ for (const definition of opts.definitions ?? []) {
106
+ fileAgents.set(definition.name, definition);
107
+ registry.register(buildDefinition(definition.name, definition.description, definition.prompt, opts, fileAgentTools(definition, opts), definition.model ?? opts.model));
108
+ }
109
+ const agentTypeIds = [GENERAL_PURPOSE_SUBAGENT, EXPLORE_SUBAGENT, ...fileAgents.keys()];
110
+ const fileAgentSummary = [...fileAgents.values()]
111
+ .map((definition) => `"${definition.name}" — ${definition.description}`)
112
+ .join('; ');
113
+ const parents = new Map();
114
+ const sessions = new Map();
115
+ let closed = false;
116
+ const sessionKey = ({ project, sessionId }) => JSON.stringify([project.tenantId, project.id, sessionId]);
117
+ const resolveParent = async (runId) => {
118
+ const parent = structuredClone(await opts.resolveParent(runId));
119
+ const { project, topic } = parent;
120
+ if (topic.projectId !== project.id || topic.tenantId !== project.tenantId) {
121
+ throw new Error('Delegation parent topic does not belong to its project and tenant');
122
+ }
123
+ await requireOpenProject({ getProject: async () => project }, project.id, project.tenantId, 'spawn');
124
+ if (topic.status === 'archived')
125
+ throw new TopicArchivedError({ topicId: topic.id, op: 'spawn' });
126
+ return parent;
127
+ };
128
+ const createSessionRuntime = async (parent) => {
129
+ const { project, topic, sessionId } = parent;
130
+ const tenantId = project.tenantId;
131
+ const store = new InMemorySessionStore([project]);
132
+ const topicStore = new InMemoryTopicStore([topic]);
133
+ const parentActor = { kind: 'agent', agentId: 'namzu', tenantId };
134
+ const session = await store.createSession({
135
+ id: sessionId,
136
+ topicId: topic.id,
137
+ projectId: project.id,
138
+ currentActor: parentActor,
139
+ }, tenantId);
140
+ await store.updateSession({ ...session, status: 'active' }, tenantId);
141
+ const manager = new AgentManager(registry, { childTimeoutMs: CLI_INTERACTIVE_RUN_TIMEOUT_MS }, {
142
+ sessionStore: store,
143
+ summaryMaterializer: new SessionSummaryMaterializer({
144
+ store,
145
+ generateSummaryId,
146
+ }),
147
+ workspaceRegistry: new WorkspaceBackendRegistry(),
148
+ capacity: new DefaultCapacityValidator(store),
149
+ topicManager: new TopicManager({ topicStore, sessionStore: store }),
150
+ });
151
+ return {
152
+ manager,
153
+ store,
154
+ topicId: topic.id,
155
+ projectUpdatedAt: project.updatedAt.getTime(),
156
+ };
157
+ };
158
+ const refreshLimits = async (shared, parent) => {
159
+ if (shared.topicId !== parent.topic.id)
160
+ throw new Error('Delegation parent changed its topic while runs are active');
161
+ // A slow metadata read must not overwrite a newer project snapshot.
162
+ const updatedAt = parent.project.updatedAt.getTime();
163
+ if (updatedAt < shared.projectUpdatedAt)
164
+ return;
165
+ shared.projectUpdatedAt = updatedAt;
166
+ await shared.store.updateProject(parent.project.id, parent.project.config, parent.project.tenantId);
167
+ };
168
+ const acquireSession = async (parent) => {
169
+ const key = sessionKey(parent);
170
+ let entry = sessions.get(key);
171
+ if (!entry) {
172
+ entry = { ready: createSessionRuntime(parent), owners: 0 };
173
+ sessions.set(key, entry);
174
+ }
175
+ entry.owners++;
176
+ const ownedEntry = entry;
177
+ let released = false;
178
+ const release = () => {
179
+ if (released)
180
+ return;
181
+ released = true;
182
+ ownedEntry.owners--;
183
+ if (ownedEntry.owners !== 0)
184
+ return;
185
+ if (sessions.get(key) === ownedEntry)
186
+ sessions.delete(key);
187
+ void ownedEntry.ready.then((shared) => shared.manager.dispose(), () => undefined);
188
+ };
189
+ try {
190
+ const shared = await entry.ready;
191
+ await refreshLimits(shared, parent);
192
+ return { shared, release };
193
+ }
194
+ catch (error) {
195
+ release();
196
+ throw error;
197
+ }
198
+ };
199
+ const gatewayForRun = async (runId) => {
200
+ if (closed)
201
+ throw new Error('Sub-agent runtime is closed');
202
+ let pending = parents.get(runId);
203
+ if (!pending) {
204
+ pending = (async () => {
205
+ const parent = await resolveParent(runId);
206
+ const budget = await openTokenBudget({
207
+ scope: {
208
+ tenantId: parent.project.tenantId,
209
+ projectId: parent.project.id,
210
+ sessionId: parent.sessionId,
211
+ runId,
212
+ },
213
+ limit: opts.tokenBudget ?? 1_000_000,
214
+ pathBuilder: opts.pathBuilder,
215
+ workingDirectory: opts.cwd,
216
+ });
217
+ const lease = await acquireSession(parent);
218
+ const { manager } = lease.shared;
219
+ const parentAbortController = new AbortController();
220
+ let released = false;
221
+ const assertOwned = () => {
222
+ if (closed ||
223
+ released ||
224
+ parentAbortController.signal.aborted ||
225
+ parents.get(runId) !== pending) {
226
+ throw new Error(`Parent run ${runId} was released`);
227
+ }
228
+ };
229
+ const taskContext = {
230
+ parentRunId: runId,
231
+ parentAgentId: 'namzu',
232
+ parentAbortController,
233
+ depth: 0,
234
+ budget,
235
+ tenantId: parent.project.tenantId,
236
+ topicId: parent.topic.id,
237
+ sessionId: parent.sessionId,
238
+ projectId: parent.project.id,
239
+ parentActor: {
240
+ kind: 'agent',
241
+ agentId: 'namzu',
242
+ tenantId: parent.project.tenantId,
243
+ },
244
+ };
245
+ const runtime = {
246
+ gateway: new ParentTaskScheduler(manager, taskContext, opts.onEvent, async () => {
247
+ assertOwned();
248
+ const current = await resolveParent(runId);
249
+ assertOwned();
250
+ if (sessionKey(current) !== sessionKey(parent))
251
+ throw new Error('Delegation run changed its parent scope');
252
+ await refreshLimits(lease.shared, current);
253
+ assertOwned();
254
+ }),
255
+ close() {
256
+ if (released)
257
+ return;
258
+ released = true;
259
+ parentAbortController.abort(new RunCancelled('parent'));
260
+ manager.cancelAll(runId, 'parent');
261
+ lease.release();
262
+ },
263
+ };
264
+ if (closed) {
265
+ runtime.close();
266
+ throw new Error('Sub-agent runtime is closed');
267
+ }
268
+ return runtime;
269
+ })();
270
+ parents.set(runId, pending);
271
+ }
272
+ try {
273
+ const runtime = await pending;
274
+ if (closed || parents.get(runId) !== pending)
275
+ throw new Error(`Parent run ${runId} was released`);
276
+ return runtime.gateway;
277
+ }
278
+ catch (error) {
279
+ if (parents.get(runId) === pending)
280
+ parents.delete(runId);
281
+ throw error;
282
+ }
283
+ };
284
+ const releaseRun = async (runId) => {
285
+ const pending = parents.get(runId);
286
+ if (!pending)
287
+ return;
288
+ parents.delete(runId);
289
+ await pending.then((runtime) => runtime.close(), () => undefined);
90
290
  };
91
- const gateway = new LocalTaskScheduler(manager, taskContext, opts.onEvent);
92
291
  const activity = new SubagentActivityMonitor();
93
292
  // Dynamic `Agent` tool: the model passes an optional `role` (the persona /
94
293
  // system prompt) and we register + spawn a fresh specialist for it at call
@@ -96,15 +295,21 @@ export async function createSubagentRuntime(opts) {
96
295
  let dynCounter = 0;
97
296
  const agentTool = defineTool({
98
297
  name: 'Agent',
99
- description: 'Delegate a self-contained task to a sub-agent and get its result back (BLOCKING). ' +
100
- 'Define the specialist inline with `role` — a system prompt describing who the sub-agent ' +
101
- 'is and how to behave (e.g. "You are a security auditor; flag vulnerabilities and rate severity"). ' +
102
- 'Omit `role` for a general-purpose sub-agent. The sub-agent runs in its own context with its own ' +
103
- 'tools and cannot see this conversation — put everything it needs in `prompt`. Call this multiple ' +
104
- 'times in one response to run specialists in parallel. When coordinating several specialists, give ' +
105
- 'them the same `workflow` label and an explicit `phase` plus `phase_order` so the operator can follow ' +
106
- 'the work in the agent cockpit. These fields are display annotations only; they do not create ' +
107
- 'dependencies, barriers, or serial execution.',
298
+ description: [
299
+ 'Delegate a self-contained task to a sub-agent and get its result back (BLOCKING).',
300
+ 'Pick `subagent_type: "explore"` for anything that only needs to look — where is X defined, which files reference Y, how does Z work — it has reading and searching tools only and never asks for permission.',
301
+ 'Use the default "general-purpose" when the task must change files or run commands.',
302
+ 'Define a specialist inline with `role` — a system prompt describing who the sub-agent is and how to behave (e.g.',
303
+ '"You are a security auditor; flag vulnerabilities and rate severity"); with `subagent_type: "explore"` the role keeps the read-only roster.',
304
+ 'Omit `role` for the plain sub-agent.',
305
+ 'The sub-agent runs in its own context with its own tools and cannot see this conversation — put everything it needs in `prompt`.',
306
+ 'Call this multiple times in one response to run specialists in parallel.',
307
+ 'When coordinating several specialists, give them the same `workflow` label and an explicit `phase` plus `phase_order` so the operator can follow the work in the agent cockpit.',
308
+ 'These fields are display annotations only; they do not create dependencies, barriers, or serial execution.',
309
+ fileAgentSummary.length > 0 ? `Project-defined types: ${fileAgentSummary}.` : '',
310
+ ]
311
+ .filter((part) => part.length > 0)
312
+ .join(' '),
108
313
  inputSchema: mcpJsonSchemaToZod({
109
314
  type: 'object',
110
315
  properties: {
@@ -116,6 +321,13 @@ export async function createSubagentRuntime(opts) {
116
321
  type: 'string',
117
322
  description: 'Self-contained task with all the context the sub-agent needs.',
118
323
  },
324
+ subagent_type: {
325
+ type: 'string',
326
+ enum: agentTypeIds,
327
+ description: `"explore" for read-only lookups (find, search, explain); "general-purpose" (default) when the task changes files or runs commands.${fileAgentSummary.length > 0
328
+ ? ` This project also defines: ${fileAgentSummary}. Prefer a project-defined type when its description fits the task.`
329
+ : ''}`,
330
+ },
119
331
  role: {
120
332
  type: 'string',
121
333
  description: 'Optional persona / system prompt that defines this specialist sub-agent. Omit for general-purpose.',
@@ -146,13 +358,24 @@ export async function createSubagentRuntime(opts) {
146
358
  concurrencySafe: true,
147
359
  timeoutMs: CLI_INTERACTIVE_RUN_TIMEOUT_MS,
148
360
  async execute(input, context) {
149
- const { description, prompt, role, workflow, phase, phase_order } = input;
150
- let agentId = GENERAL_PURPOSE_SUBAGENT;
361
+ const { description, prompt, subagent_type, role, workflow, phase, phase_order } = input;
362
+ const explore = subagent_type === EXPLORE_SUBAGENT;
363
+ const fileAgent = subagent_type !== undefined ? fileAgents.get(subagent_type) : undefined;
364
+ let agentId = fileAgent?.name ?? (explore ? EXPLORE_SUBAGENT : GENERAL_PURPOSE_SUBAGENT);
151
365
  const persona = typeof role === 'string' ? role.trim() : '';
152
366
  const dynamic = persona.length > 0;
153
367
  if (dynamic) {
368
+ // A role on top of a type keeps that type's roster and model: the
369
+ // persona says who the child is, the type says what it may touch,
370
+ // and a role must not be a way to hand a read-only child a `write`
371
+ // tool. Over a file-defined agent the role is appended to the
372
+ // file's prompt rather than replacing it.
154
373
  agentId = `dyn-${++dynCounter}`;
155
- registry.register(buildDefinition(agentId, `Dynamic specialist: ${agentId}`, persona, opts));
374
+ registry.register(buildDefinition(agentId, `Dynamic specialist: ${agentId}`, fileAgent ? `${fileAgent.prompt}\n\n${persona}` : persona, opts, fileAgent
375
+ ? fileAgentTools(fileAgent, opts)
376
+ : explore
377
+ ? () => filterReadOnlyTools(opts.buildTools())
378
+ : opts.buildTools, fileAgent?.model ?? opts.model));
156
379
  }
157
380
  const tracker = activity.begin({
158
381
  agentId,
@@ -178,7 +401,7 @@ export async function createSubagentRuntime(opts) {
178
401
  };
179
402
  try {
180
403
  const completed = await runBlockingAgentTask({
181
- gateway,
404
+ gateway: await gatewayForRun(context.runId),
182
405
  signal: context.abortSignal,
183
406
  create: {
184
407
  agentId,
@@ -231,22 +454,15 @@ export async function createSubagentRuntime(opts) {
231
454
  const close = () => {
232
455
  if (closePromise)
233
456
  return closePromise;
234
- closePromise = Promise.resolve().then(() => {
235
- // This controller is the parent of every child the manager creates.
236
- // Abort it before disposing bookkeeping so a live child keeps the
237
- // structured reason even if its blocking tool wait already detached.
238
- if (!taskContext.parentAbortController.signal.aborted) {
239
- taskContext.parentAbortController.abort(new RunCancelled('parent'));
240
- }
241
- manager.dispose();
242
- activity.close();
243
- });
457
+ closed = true;
458
+ closePromise = Promise.all([...parents.keys()].map(releaseRun)).then(() => activity.close());
244
459
  return closePromise;
245
460
  };
246
461
  return {
247
- gateway,
462
+ gatewayForRun,
463
+ releaseRun,
248
464
  agentTool,
249
- allowedAgentIds: [GENERAL_PURPOSE_SUBAGENT],
465
+ allowedAgentIds: agentTypeIds,
250
466
  activity,
251
467
  close,
252
468
  };
@@ -311,7 +527,11 @@ async function runBlockingAgentTask(input) {
311
527
  * for the static `general-purpose` agent and for each dynamically-defined
312
528
  * specialist the model creates via the `Agent` tool's `role` argument.
313
529
  */
314
- function buildDefinition(id, description, systemPrompt, opts) {
530
+ function buildDefinition(id, description, systemPrompt, opts,
531
+ /** This definition's own roster; absent means the parent's working set. */
532
+ tools = opts.buildTools,
533
+ /** This definition's model; absent means the session's. */
534
+ model = opts.model) {
315
535
  const agent = new ReactiveAgent({
316
536
  id,
317
537
  name: id,
@@ -331,7 +551,7 @@ function buildDefinition(id, description, systemPrompt, opts) {
331
551
  category: 'general',
332
552
  description,
333
553
  tools: [],
334
- defaults: { model: opts.model, tokenBudget: 200_000 },
554
+ defaults: { model, tokenBudget: 200_000 },
335
555
  },
336
556
  // ReactiveAgent is Agent<ReactiveAgentConfig,…>; the registry stores the
337
557
  // erased Agent<BaseAgentConfig,…>. configBuilder supplies the richer config.
@@ -343,12 +563,12 @@ function buildDefinition(id, description, systemPrompt, opts) {
343
563
  // is worse than one that was never told.
344
564
  const environment = opts.readEnvironment ? await opts.readEnvironment() : null;
345
565
  return {
346
- model: options.model ?? opts.model,
566
+ model: options.model ?? model,
347
567
  tokenBudget: options.tokenBudget ?? 200_000,
348
568
  timeoutMs: options.timeoutMs ?? CLI_INTERACTIVE_RUN_TIMEOUT_MS,
349
569
  maxIterations: 40,
350
570
  provider: opts.buildProvider(),
351
- tools: opts.buildTools(),
571
+ tools: tools(),
352
572
  systemPrompt: environment ? `${base}\n\n${environment}` : base,
353
573
  ...(opts.projectInstructionContext
354
574
  ? { projectInstructionContext: opts.projectInstructionContext() }
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/integrations/subagents/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/integrations/subagents/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAIN,YAAY,EACZ,aAAa,EAQb,wBAAwB,EACxB,yBAAyB,EACzB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAElB,kBAAkB,EAIlB,aAAa,EAGb,YAAY,EAKZ,0BAA0B,EAQ1B,kBAAkB,EAClB,YAAY,EACZ,wBAAwB,EACxB,UAAU,EACV,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,kBAAkB,GAClB,MAAM,YAAY,CAAA;AAEnB,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAA;AAClE,OAAO,EACN,mCAAmC,EACnC,qBAAqB,EACrB,uBAAuB,GAEvB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,8BAA8B,EAAE,MAAM,aAAa,CAAA;AAE5D,MAAM,CAAC,MAAM,wBAAwB,GAAG,iBAAiB,CAAA;AACzD;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,gBAAgB,CAAA;AAEhD,MAAM,cAAc,GAAG,CAAC,oBAAoB,EAAE,EAAE,EAAE,sBAAsB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAEpF;;;;GAIG;AACH,SAAS,cAAc,CACtB,UAA+B,EAC/B,IAA4B;IAE5B,OAAO,GAAG,EAAE;QACX,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAA;QAC/F,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;IAC9E,CAAC,CAAA;AACF,CAAC;AAED,MAAM,eAAe,GAAG;IACvB,sGAAsG;IACtG,oFAAoF;IACpF,2HAA2H;IAC3H,8FAA8F;IAC9F,EAAE;IACF,4EAA4E;IAC5E,kMAAkM;IAClM,sKAAsK;IACtK,mGAAmG;IACnG,EAAE;IACF,2EAA2E;IAC3E,yEAAyE;IACzE,iEAAiE;IACjE,sBAAsB;CACtB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAoEZ,iFAAiF;AACjF,MAAM,mBAAoB,SAAQ,kBAAkB;IAKjC;IAJlB,YACC,OAAqB,EACrB,OAAyB,EACzB,OAAgD,EAC/B,cAAmC;QAEpD,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;QAFf,mBAAc,GAAd,cAAc,CAAqB;IAGrD,CAAC;IAEQ,KAAK,CAAC,UAAU,CAAC,OAA0B;QACnD,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;QAC3B,OAAO,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;IACjC,CAAC;IAEO,IAAI,CAAC,MAAc;QAC1B,OAAO,KAAK,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAA;IAChE,CAAC;IAEQ,OAAO,CAAC,MAAc;QAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC7D,CAAC;IAEQ,UAAU,CAAC,MAAc,EAAE,KAAmB;QACtD,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;YAAE,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IACvD,CAAC;IAEQ,KAAK,CAAC,WAAW,CAAC,MAAc;QACxC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,MAAM,qCAAqC,CAAC,CAAA;QAC5F,OAAO,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;IACjC,CAAC;IAEQ,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,OAAe;QAC1D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,MAAM,qCAAqC,CAAC,CAAA;QAC5F,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;QAC3B,MAAM,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC1C,CAAC;CACD;AAED,mFAAmF;AACnF,MAAM,wBAAwB,GAAkB,KAAK,IAAI,EAAE,CAAC,CAAC;IAC5D,MAAM,EAAE,OAAO;IACf,MAAM,EAAE,iFAAiF;CACzF,CAAC,CAAA;AAEF;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAC1C,IAA4B;IAE5B,MAAM,QAAQ,GAAG,IAAI,aAAa,EAAE,CAAA;IACpC,QAAQ,CAAC,QAAQ,CAChB,eAAe,CACd,wBAAwB,EACxB,8BAA8B,EAC9B,eAAe,EACf,IAAI,CACJ,CACD,CAAA;IACD,QAAQ,CAAC,QAAQ,CAChB,eAAe,CAAC,gBAAgB,EAAE,yBAAyB,EAAE,cAAc,EAAE,IAAI,EAAE,GAAG,EAAE,CACvF,mBAAmB,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CACtC,CACD,CAAA;IACD,sEAAsE;IACtE,yEAAyE;IACzE,yEAAyE;IACzE,yEAAyE;IACzE,4CAA4C;IAC5C,MAAM,UAAU,GAAG,IAAI,GAAG,EAA+B,CAAA;IACzD,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;QACjD,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;QAC3C,QAAQ,CAAC,QAAQ,CAChB,eAAe,CACd,UAAU,CAAC,IAAI,EACf,UAAU,CAAC,WAAW,EACtB,UAAU,CAAC,MAAM,EACjB,IAAI,EACJ,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,EAChC,UAAU,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAC9B,CACD,CAAA;IACF,CAAC;IACD,MAAM,YAAY,GAAG,CAAC,wBAAwB,EAAE,gBAAgB,EAAE,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,CAAA;IACvF,MAAM,gBAAgB,GAAG,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;SAC/C,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,UAAU,CAAC,IAAI,OAAO,UAAU,CAAC,WAAW,EAAE,CAAC;SACvE,IAAI,CAAC,IAAI,CAAC,CAAA;IAgBZ,MAAM,OAAO,GAAG,IAAI,GAAG,EAAiC,CAAA;IACxD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAyB,CAAA;IACjD,IAAI,MAAM,GAAG,KAAK,CAAA;IAClB,MAAM,UAAU,GAAG,CAAC,EAAE,OAAO,EAAE,SAAS,EAAkB,EAAU,EAAE,CACrE,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAA;IAE1D,MAAM,aAAa,GAAG,KAAK,EAAE,KAAY,EAA2B,EAAE;QACrE,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAA;QAC/D,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,MAAM,CAAA;QACjC,IAAI,KAAK,CAAC,SAAS,KAAK,OAAO,CAAC,EAAE,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC3E,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAA;QACrF,CAAC;QACD,MAAM,kBAAkB,CACvB,EAAE,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO,EAAE,EACnC,OAAO,CAAC,EAAE,EACV,OAAO,CAAC,QAAQ,EAChB,OAAO,CACP,CAAA;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU;YAC9B,MAAM,IAAI,kBAAkB,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;QACjE,OAAO,MAAM,CAAA;IACd,CAAC,CAAA;IAED,MAAM,oBAAoB,GAAG,KAAK,EAAE,MAAsB,EAA2B,EAAE;QACtF,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,CAAA;QAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;QACjC,MAAM,KAAK,GAAG,IAAI,oBAAoB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;QACjD,MAAM,UAAU,GAAG,IAAI,kBAAkB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;QAClD,MAAM,WAAW,GAAa,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAA;QAC3E,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,aAAa,CACxC;YACC,EAAE,EAAE,SAAS;YACb,OAAO,EAAE,KAAK,CAAC,EAAE;YACjB,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,YAAY,EAAE,WAAW;SACzB,EACD,QAAQ,CACR,CAAA;QACD,MAAM,KAAK,CAAC,aAAa,CAAC,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAA;QACrE,MAAM,OAAO,GAAG,IAAI,YAAY,CAC/B,QAAQ,EACR,EAAE,cAAc,EAAE,8BAA8B,EAAE,EAClD;YACC,YAAY,EAAE,KAAK;YACnB,mBAAmB,EAAE,IAAI,0BAA0B,CAAC;gBACnD,KAAK;gBACL,iBAAiB;aACjB,CAAC;YACF,iBAAiB,EAAE,IAAI,wBAAwB,EAAE;YACjD,QAAQ,EAAE,IAAI,wBAAwB,CAAC,KAAK,CAAC;YAC7C,YAAY,EAAE,IAAI,YAAY,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;SACnE,CACD,CAAA;QACD,OAAO;YACN,OAAO;YACP,KAAK;YACL,OAAO,EAAE,KAAK,CAAC,EAAE;YACjB,gBAAgB,EAAE,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE;SAC7C,CAAA;IACF,CAAC,CAAA;IAED,MAAM,aAAa,GAAG,KAAK,EAAE,MAAsB,EAAE,MAAsB,EAAiB,EAAE;QAC7F,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE;YACrC,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAA;QAC7E,oEAAoE;QACpE,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,CAAA;QACpD,IAAI,SAAS,GAAG,MAAM,CAAC,gBAAgB;YAAE,OAAM;QAC/C,MAAM,CAAC,gBAAgB,GAAG,SAAS,CAAA;QACnC,MAAM,MAAM,CAAC,KAAK,CAAC,aAAa,CAC/B,MAAM,CAAC,OAAO,CAAC,EAAE,EACjB,MAAM,CAAC,OAAO,CAAC,MAAM,EACrB,MAAM,CAAC,OAAO,CAAC,QAAQ,CACvB,CAAA;IACF,CAAC,CAAA;IAED,MAAM,cAAc,GAAG,KAAK,EAAE,MAAsB,EAAE,EAAE;QACvD,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;QAC9B,IAAI,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC7B,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,KAAK,GAAG,EAAE,KAAK,EAAE,oBAAoB,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAA;YAC1D,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACzB,CAAC;QACD,KAAK,CAAC,MAAM,EAAE,CAAA;QACd,MAAM,UAAU,GAAG,KAAK,CAAA;QACxB,IAAI,QAAQ,GAAG,KAAK,CAAA;QACpB,MAAM,OAAO,GAAG,GAAS,EAAE;YAC1B,IAAI,QAAQ;gBAAE,OAAM;YACpB,QAAQ,GAAG,IAAI,CAAA;YACf,UAAU,CAAC,MAAM,EAAE,CAAA;YACnB,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAM;YACnC,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,UAAU;gBAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAC1D,KAAK,UAAU,CAAC,KAAK,CAAC,IAAI,CACzB,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,EACpC,GAAG,EAAE,CAAC,SAAS,CACf,CAAA;QACF,CAAC,CAAA;QACD,IAAI,CAAC;YACJ,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,KAAK,CAAA;YAChC,MAAM,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;YACnC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,OAAO,EAAE,CAAA;YACT,MAAM,KAAK,CAAA;QACZ,CAAC;IACF,CAAC,CAAA;IAED,MAAM,aAAa,GAAG,KAAK,EAAE,KAAY,EAA0B,EAAE;QACpE,IAAI,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;QAC1D,IAAI,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAChC,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,OAAO,GAAG,CAAC,KAAK,IAA4B,EAAE;gBAC7C,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,CAAA;gBACzC,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC;oBACpC,KAAK,EAAE;wBACN,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ;wBACjC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE;wBAC5B,SAAS,EAAE,MAAM,CAAC,SAAS;wBAC3B,KAAK;qBACL;oBACD,KAAK,EAAE,IAAI,CAAC,WAAW,IAAI,SAAS;oBACpC,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,gBAAgB,EAAE,IAAI,CAAC,GAAG;iBAC1B,CAAC,CAAA;gBACF,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,CAAA;gBAC1C,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,CAAA;gBAChC,MAAM,qBAAqB,GAAG,IAAI,eAAe,EAAE,CAAA;gBACnD,IAAI,QAAQ,GAAG,KAAK,CAAA;gBACpB,MAAM,WAAW,GAAG,GAAS,EAAE;oBAC9B,IACC,MAAM;wBACN,QAAQ;wBACR,qBAAqB,CAAC,MAAM,CAAC,OAAO;wBACpC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,OAAO,EAC7B,CAAC;wBACF,MAAM,IAAI,KAAK,CAAC,cAAc,KAAK,eAAe,CAAC,CAAA;oBACpD,CAAC;gBACF,CAAC,CAAA;gBACD,MAAM,WAAW,GAAqB;oBACrC,WAAW,EAAE,KAAK;oBAClB,aAAa,EAAE,OAAO;oBACtB,qBAAqB;oBACrB,KAAK,EAAE,CAAC;oBACR,MAAM;oBACN,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ;oBACjC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE;oBACxB,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE;oBAC5B,WAAW,EAAE;wBACZ,IAAI,EAAE,OAAO;wBACb,OAAO,EAAE,OAAO;wBAChB,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ;qBACjC;iBACD,CAAA;gBACD,MAAM,OAAO,GAAkB;oBAC9B,OAAO,EAAE,IAAI,mBAAmB,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;wBAC/E,WAAW,EAAE,CAAA;wBACb,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,CAAA;wBAC1C,WAAW,EAAE,CAAA;wBACb,IAAI,UAAU,CAAC,OAAO,CAAC,KAAK,UAAU,CAAC,MAAM,CAAC;4BAC7C,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;wBAC3D,MAAM,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;wBAC1C,WAAW,EAAE,CAAA;oBACd,CAAC,CAAC;oBACF,KAAK;wBACJ,IAAI,QAAQ;4BAAE,OAAM;wBACpB,QAAQ,GAAG,IAAI,CAAA;wBACf,qBAAqB,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAA;wBACvD,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;wBAClC,KAAK,CAAC,OAAO,EAAE,CAAA;oBAChB,CAAC;iBACD,CAAA;gBACD,IAAI,MAAM,EAAE,CAAC;oBACZ,OAAO,CAAC,KAAK,EAAE,CAAA;oBACf,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;gBAC/C,CAAC;gBACD,OAAO,OAAO,CAAA;YACf,CAAC,CAAC,EAAE,CAAA;YACJ,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;QAC5B,CAAC;QACD,IAAI,CAAC;YACJ,MAAM,OAAO,GAAG,MAAM,OAAO,CAAA;YAC7B,IAAI,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,OAAO;gBAC3C,MAAM,IAAI,KAAK,CAAC,cAAc,KAAK,eAAe,CAAC,CAAA;YACpD,OAAO,OAAO,CAAC,OAAO,CAAA;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,OAAO;gBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACzD,MAAM,KAAK,CAAA;QACZ,CAAC;IACF,CAAC,CAAA;IACD,MAAM,UAAU,GAAG,KAAK,EAAE,KAAY,EAAiB,EAAE;QACxD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAClC,IAAI,CAAC,OAAO;YAAE,OAAM;QACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACrB,MAAM,OAAO,CAAC,IAAI,CACjB,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAC5B,GAAG,EAAE,CAAC,SAAS,CACf,CAAA;IACF,CAAC,CAAA;IAED,MAAM,QAAQ,GAAG,IAAI,uBAAuB,EAAE,CAAA;IAE9C,2EAA2E;IAC3E,2EAA2E;IAC3E,0EAA0E;IAC1E,IAAI,UAAU,GAAG,CAAC,CAAA;IAClB,MAAM,SAAS,GAAG,UAAU,CAAC;QAC5B,IAAI,EAAE,OAAO;QACb,WAAW,EAAE;YACZ,mFAAmF;YACnF,8MAA8M;YAC9M,oFAAoF;YACpF,kHAAkH;YAClH,6IAA6I;YAC7I,sCAAsC;YACtC,kIAAkI;YAClI,0EAA0E;YAC1E,iLAAiL;YACjL,4GAA4G;YAC5G,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,0BAA0B,gBAAgB,GAAG,CAAC,CAAC,CAAC,EAAE;SAChF;aACC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;aACjC,IAAI,CAAC,GAAG,CAAC;QACX,WAAW,EAAE,kBAAkB,CAAC;YAC/B,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACX,WAAW,EAAE;oBACZ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,+CAA+C;iBAC5D;gBACD,MAAM,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,+DAA+D;iBAC5E;gBACD,aAAa,EAAE;oBACd,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,YAAY;oBAClB,WAAW,EAAE,qIACZ,gBAAgB,CAAC,MAAM,GAAG,CAAC;wBAC1B,CAAC,CAAC,+BAA+B,gBAAgB,qEAAqE;wBACtH,CAAC,CAAC,EACJ,EAAE;iBACF;gBACD,IAAI,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EACV,oGAAoG;iBACrG;gBACD,QAAQ,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,mCAAmC;oBAC9C,WAAW,EACV,iGAAiG;iBAClG;gBACD,KAAK,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,mCAAmC;oBAC9C,WAAW,EACV,2FAA2F;iBAC5F;gBACD,WAAW,EAAE;oBACZ,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,qBAAqB;oBAC9B,WAAW,EACV,qGAAqG;iBACtG;aACD;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,QAAQ,CAAC;SACnC,CAAC;QACF,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE,EAAE;QACf,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,KAAK;QAClB,eAAe,EAAE,IAAI;QACrB,SAAS,EAAE,8BAA8B;QACzC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO;YAC3B,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,KAQlF,CAAA;YACD,MAAM,OAAO,GAAG,aAAa,KAAK,gBAAgB,CAAA;YAClD,MAAM,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;YACzF,IAAI,OAAO,GAAG,SAAS,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAA;YACxF,MAAM,OAAO,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;YAC3D,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAA;YAClC,IAAI,OAAO,EAAE,CAAC;gBACb,kEAAkE;gBAClE,kEAAkE;gBAClE,mEAAmE;gBACnE,8DAA8D;gBAC9D,0CAA0C;gBAC1C,OAAO,GAAG,OAAO,EAAE,UAAU,EAAE,CAAA;gBAC/B,QAAQ,CAAC,QAAQ,CAChB,eAAe,CACd,OAAO,EACP,uBAAuB,OAAO,EAAE,EAChC,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,OAAO,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,EACzD,IAAI,EACJ,SAAS;oBACR,CAAC,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC;oBACjC,CAAC,CAAC,OAAO;wBACR,CAAC,CAAC,GAAG,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;wBAC9C,CAAC,CAAC,IAAI,CAAC,UAAU,EACnB,SAAS,EAAE,KAAK,IAAI,IAAI,CAAC,KAAK,CAC9B,CACD,CAAA;YACF,CAAC;YACD,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC;gBAC9B,OAAO;gBACP,WAAW;gBACX,MAAM;gBACN,OAAO,EAAE,OAAO,CAAC,WAAW;gBAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;gBACjC,QAAQ;gBACR,KAAK;gBACL,UAAU,EAAE,WAAW;aACvB,CAAC,CAAA;YACF,sEAAsE;YACtE,0EAA0E;YAC1E,0EAA0E;YAC1E,0EAA0E;YAC1E,4EAA4E;YAC5E,oBAAoB;YACpB,MAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,wBAAwB,CAAA;YAC5F,MAAM,eAAe,GAAG;gBACvB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1E,aAAa;aACb,CAAA;YACD,IAAI,CAAC;gBACJ,MAAM,SAAS,GAAG,MAAM,oBAAoB,CAAC;oBAC5C,OAAO,EAAE,MAAM,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC;oBAC3C,MAAM,EAAE,OAAO,CAAC,WAAW;oBAC3B,MAAM,EAAE;wBACP,OAAO;wBACP,MAAM;wBACN,gBAAgB,EAAE,IAAI,CAAC,GAAG;wBAC1B,6DAA6D;wBAC7D,2DAA2D;wBAC3D,4DAA4D;wBAC5D,4DAA4D;wBAC5D,oCAAoC;wBACpC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACjE,eAAe;wBACf,OAAO,EAAE,OAAO,CAAC,OAAO;qBACxB;iBACD,CAAC,CAAA;gBACF,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;gBACzB,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAA;gBAC1C,MAAM,SAAS,GACd,SAAS,CAAC,KAAK,KAAK,WAAW,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,WAAW,CAAC,CAAA;gBAC1F,MAAM,UAAU,GACf,OAAO,SAAS,CAAC,MAAM,EAAE,MAAM,KAAK,QAAQ;oBAC3C,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM;oBACzB,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,KAAK,SAAS;wBACvC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;wBACzC,CAAC,CAAC,EAAE,CAAA;gBACP,IAAI,CAAC,SAAS,EAAE,CAAC;oBAChB,OAAO;wBACN,OAAO,EAAE,KAAK;wBACd,MAAM,EAAE,EAAE;wBACV,KAAK,EAAE,aAAa,OAAO,IAAI,SAAS,CAAC,KAAK,KAAK,SAAS,CAAC,MAAM,EAAE,SAAS,IAAI,UAAU,IAAI,aAAa,EAAE;qBAC/G,CAAA;gBACF,CAAC;gBACD,OAAO;oBACN,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,UAAU,IAAI,8BAA8B;iBACpD,CAAA;YACF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBACnB,MAAM,KAAK,CAAA;YACZ,CAAC;oBAAS,CAAC;gBACV,oEAAoE;gBACpE,oEAAoE;gBACpE,8DAA8D;gBAC9D,IAAI,OAAO;oBAAE,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;YAC1C,CAAC;QACF,CAAC;KACD,CAAC,CAAA;IAEF,IAAI,YAAuC,CAAA;IAC3C,MAAM,KAAK,GAAG,GAAkB,EAAE;QACjC,IAAI,YAAY;YAAE,OAAO,YAAY,CAAA;QACrC,MAAM,GAAG,IAAI,CAAA;QACb,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;QAC5F,OAAO,YAAY,CAAA;IACpB,CAAC,CAAA;IAED,OAAO;QACN,aAAa;QACb,UAAU;QACV,SAAS;QACT,eAAe,EAAE,YAAY;QAC7B,QAAQ;QACR,KAAK;KACL,CAAA;AACF,CAAC;AAQD,2DAA2D;AAC3D,KAAK,UAAU,oBAAoB,CAAC,KAA6B;IAChE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,KAAK,CAAA;IACjC,MAAM,CAAC,cAAc,EAAE,CAAA;IAEvB,IAAI,MAA8B,CAAA;IAClC,IAAI,qBAAqB,GAAG,KAAK,CAAA;IACjC,IAAI,yBAAyB,GAAG,KAAK,CAAA;IACrC,IAAI,WAAW,GAA8B,GAAG,EAAE,GAAE,CAAC,CAAA;IACrD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE;QACvD,WAAW,GAAG,MAAM,CAAA;IACrB,CAAC,CAAC,CAAA;IACF,MAAM,MAAM,GAAG,CAAC,IAAgB,EAAQ,EAAE;QACzC,IAAI,yBAAyB;YAAE,OAAM;QACrC,yBAAyB,GAAG,IAAI,CAAA;QAChC,IAAI,CAAC;YACJ,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAC1C,CAAC;QAAC,MAAM,CAAC;YACR,kEAAkE;YAClE,kEAAkE;QACnE,CAAC;IACF,CAAC,CAAA;IACD,MAAM,OAAO,GAAG,GAAS,EAAE;QAC1B,qBAAqB,GAAG,IAAI,CAAA;QAC5B,IAAI,MAAM;YAAE,MAAM,CAAC,MAAM,CAAC,CAAA;QAC1B,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAC3B,CAAC,CAAA;IAED,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IACzD,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,EAAE,CAAA;IAC7B,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IACjD,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IAExB,IAAI,CAAC;QACJ,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAA;QAChD,IAAI,qBAAqB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YAC7C,MAAM,CAAC,MAAM,CAAC,CAAA;YACd,MAAM,CAAC,cAAc,EAAE,CAAA;QACxB,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAA;QACnF,OAAO,SAAS,CAAA;IACjB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,IAAI,MAAM;YAAE,MAAM,CAAC,MAAM,CAAC,CAAA;QAC1B,MAAM,KAAK,CAAA;IACZ,CAAC;YAAS,CAAC;QACV,IAAI,CAAC,MAAM,IAAI,qBAAqB,EAAE,CAAC;YACtC,KAAK,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QACrC,CAAC;QACD,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAC7C,CAAC;AACF,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CACvB,EAAU,EACV,WAAmB,EACnB,YAAoB,EACpB,IAA4B;AAC5B,2EAA2E;AAC3E,QAAoC,IAAI,CAAC,UAAU;AACnD,2DAA2D;AAC3D,QAAgB,IAAI,CAAC,KAAK;IAE1B,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC;QAC/B,EAAE;QACF,IAAI,EAAE,EAAE;QACR,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,SAAS;QACnB,WAAW;KACX,CAAC,CAAA;IACF,2EAA2E;IAC3E,uEAAuE;IACvE,EAAE;IACF,MAAM,IAAI,GACT,YAAY,KAAK,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,YAAY,OAAO,eAAe,EAAE,CAAA;IAC7F,OAAO;QACN,IAAI,EAAE;YACL,EAAE;YACF,IAAI,EAAE,EAAE;YACR,OAAO,EAAE,OAAO;YAChB,QAAQ,EAAE,SAAS;YACnB,WAAW;YACX,KAAK,EAAE,EAAE;YACT,QAAQ,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE;SACzC;QACD,yEAAyE;QACzE,6EAA6E;QAC7E,UAAU,EAAE,KAA+D;QAC3E,aAAa,EAAE,KAAK,EAAE,OAAO,EAAgC,EAAE;YAC9D,uEAAuE;YACvE,uEAAuE;YACvE,uEAAuE;YACvE,yCAAyC;YACzC,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;YAC9E,OAAO;gBACN,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,KAAK;gBAC7B,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,OAAO;gBAC3C,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,8BAA8B;gBAC9D,aAAa,EAAE,EAAE;gBACjB,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE;gBAC9B,KAAK,EAAE,KAAK,EAAE;gBACd,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,OAAO,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI;gBAC9D,GAAG,CAAC,IAAI,CAAC,yBAAyB;oBACjC,CAAC,CAAC,EAAE,yBAAyB,EAAE,IAAI,CAAC,yBAAyB,EAAE,EAAE;oBACjE,CAAC,CAAC,EAAE,CAAC;gBACN,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChF,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1E,GAAG,CAAC,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,gBAAgB;oBAChD,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,gBAAgB,EAAE,EAAE;oBACnD,CAAC,CAAC,EAAE,CAAC;gBACN,GAAG,CAAC,IAAI,CAAC,wBAAwB,KAAK,SAAS;oBAC9C,CAAC,CAAC,EAAE,wBAAwB,EAAE,IAAI,CAAC,wBAAwB,EAAE;oBAC7D,CAAC,CAAC,EAAE,CAAC;gBACN,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9D,CAAA;QACF,CAAC;KACD,CAAA;AACF,CAAC"}
@@ -1,29 +1,49 @@
1
1
  /**
2
- * Persistent memory under `~/.namzu/` as flat markdown.
2
+ * Curated memory: the files namzu reads into every turn's prompt.
3
3
  *
4
- * - `USER.md` — durable facts about the user (role, preferences).
5
- * - `MEMORY.md` — durable facts/decisions the agent should carry across
6
- * sessions.
4
+ * Two scopes, three files:
5
+ * - `~/.namzu/USER.md` — who the operator is. User scope.
6
+ * - `~/.namzu/MEMORY.md` — facts that hold in every project. User scope.
7
+ * - `<project>/.namzu/MEMORY.md` — facts about this repository. Project scope,
8
+ * and the default target of `#note` and `/memory <text>`: a note typed while
9
+ * working in a repository is almost always about that repository, and a
10
+ * memory that follows the operator into every other project is the rarer
11
+ * thing, asked for with `--user`.
7
12
  *
8
- * Both are plain markdown the user and agent can read and edit. The TUI
9
- * injects their contents into the agent's system prompt on every turn so
10
- * namzu remembers across runs, and `/remember` appends to `MEMORY.md`.
13
+ * Each section is capped before injection. A memory file grows for months;
14
+ * an uncapped one would spend the context every turn on the part nobody
15
+ * curated. The cap keeps the head, says how much it left out, and the fix is
16
+ * to edit the file — which is the whole point of a curated memory.
17
+ *
18
+ * Separate from the kernel's memory store (`save_memory` / `search_memory`),
19
+ * which holds what the agent chose to keep and is searched, not injected.
11
20
  */
21
+ /** Characters of one section injected before the rest is left to the file. */
22
+ export declare const MEMORY_SECTION_MAX_CHARS = 8000;
23
+ export type MemoryScope = 'project' | 'user';
12
24
  export declare function memoryDir(home?: string): string;
13
25
  export declare function userFilePath(home?: string): string;
14
26
  export declare function memoryFilePath(home?: string): string;
27
+ /** Share checkout memory unless this directory already owns a memory file. */
28
+ export declare function projectMemoryFilePath(cwd: string): string;
15
29
  export interface MemoryContent {
16
30
  readonly user: string | null;
17
31
  readonly memory: string | null;
32
+ /** The project's own file; null when no working directory was given or the file is empty. */
33
+ readonly project: string | null;
34
+ }
35
+ /** Read the user files under `home` and, when `cwd` is given, the project file. */
36
+ export declare function readMemory(home?: string, cwd?: string): MemoryContent;
37
+ export declare function composeMemoryPrompt(content: MemoryContent): string | null;
38
+ export interface AppendMemoryTarget {
39
+ readonly scope: MemoryScope;
40
+ readonly home?: string;
41
+ /** Required for the project scope. */
42
+ readonly cwd?: string;
18
43
  }
19
- /** Read USER.md + MEMORY.md, returning null for absent/empty files. */
20
- export declare function readMemory(home?: string): MemoryContent;
21
44
  /**
22
- * Compose the memory system-prompt block, or `null` when there's nothing
23
- * to inject. The block is framed so the model treats it as background
24
- * knowledge, not as a user instruction for the current turn.
45
+ * Append a fact as a markdown bullet, creating the file. A bare string as the
46
+ * second argument names the application home and means the user scope.
25
47
  */
26
- export declare function composeMemoryPrompt(content: MemoryContent): string | null;
27
- /** Append a fact to MEMORY.md as a markdown bullet, creating the file. */
28
- export declare function appendMemory(text: string, home?: string): void;
48
+ export declare function appendMemory(text: string, target?: string | AppendMemoryTarget): string;
29
49
  //# sourceMappingURL=store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/memory/store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAUH,wBAAgB,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,wBAAgB,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,wBAAgB,cAAc,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAC9B;AAWD,uEAAuE;AACvE,wBAAgB,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,aAAa,CAKvD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,CAgBzE;AAED,0EAA0E;AAC1E,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAM9D"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/memory/store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAWH,8EAA8E;AAC9E,eAAO,MAAM,wBAAwB,OAAQ,CAAA;AAE7C,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,MAAM,CAAA;AAE5C,wBAAgB,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,wBAAgB,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,wBAAgB,cAAc,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,8EAA8E;AAC9E,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAgBzD;AAED,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,6FAA6F;IAC7F,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAC/B;AAWD,mFAAmF;AACnF,wBAAgB,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,aAAa,CAMrE;AAUD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,CAezE;AAED,MAAM,WAAW,kBAAkB;IAClC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAA;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,sCAAsC;IACtC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,kBAAkB,GAAG,MAAM,CAgBvF"}