catui-agent 1.0.0-beta.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 (1274) hide show
  1. package/LICENSE +674 -0
  2. package/README.md +267 -0
  3. package/dist/build-meta.json +6 -0
  4. package/dist/builtin-extensions.d.ts +47 -0
  5. package/dist/builtin-extensions.js +1 -0
  6. package/dist/catui-defaults.d.ts +555 -0
  7. package/dist/catui-defaults.js +22 -0
  8. package/dist/cli/args.d.ts +70 -0
  9. package/dist/cli/args.js +158 -0
  10. package/dist/cli/config-selector.d.ts +10 -0
  11. package/dist/cli/config-selector.js +1 -0
  12. package/dist/cli/file-processor.d.ts +11 -0
  13. package/dist/cli/file-processor.js +6 -0
  14. package/dist/cli/list-models.d.ts +12 -0
  15. package/dist/cli/list-models.js +2 -0
  16. package/dist/cli/session-picker.d.ts +5 -0
  17. package/dist/cli/session-picker.js +1 -0
  18. package/dist/cli.d.ts +2 -0
  19. package/dist/cli.js +2 -0
  20. package/dist/config.d.ts +103 -0
  21. package/dist/config.js +1 -0
  22. package/dist/core/agent-dir/agent-dir-context.d.ts +60 -0
  23. package/dist/core/agent-dir/agent-dir-context.js +1 -0
  24. package/dist/core/agent-dir/agent-metadata.d.ts +48 -0
  25. package/dist/core/agent-dir/agent-metadata.js +1 -0
  26. package/dist/core/agent-dir/migration-tool.d.ts +40 -0
  27. package/dist/core/agent-dir/migration-tool.js +7 -0
  28. package/dist/core/export-html/AGENT.md +12 -0
  29. package/dist/core/export-html/ansi-to-html.d.ts +9 -0
  30. package/dist/core/export-html/ansi-to-html.js +2 -0
  31. package/dist/core/export-html/index.d.ts +39 -0
  32. package/dist/core/export-html/index.js +2 -0
  33. package/dist/core/export-html/template.css +971 -0
  34. package/dist/core/export-html/template.html +54 -0
  35. package/dist/core/export-html/template.js +66 -0
  36. package/dist/core/export-html/tool-renderer.d.ts +28 -0
  37. package/dist/core/export-html/tool-renderer.js +1 -0
  38. package/dist/core/export-html/vendor/highlight.min.js +4 -0
  39. package/dist/core/export-html/vendor/marked.min.js +56 -0
  40. package/dist/core/extensions-host/index.d.ts +13 -0
  41. package/dist/core/extensions-host/index.js +1 -0
  42. package/dist/core/extensions-host/loader.d.ts +21 -0
  43. package/dist/core/extensions-host/loader.js +1 -0
  44. package/dist/core/extensions-host/runner.d.ts +233 -0
  45. package/dist/core/extensions-host/runner.js +3 -0
  46. package/dist/core/extensions-host/types.d.ts +1079 -0
  47. package/dist/core/extensions-host/types.js +1 -0
  48. package/dist/core/extensions-host/wrapper.d.ts +29 -0
  49. package/dist/core/extensions-host/wrapper.js +2 -0
  50. package/dist/core/index.d.ts +17 -0
  51. package/dist/core/index.js +1 -0
  52. package/dist/core/lib/agent-core/src/agent-loop-continuations.d.ts +17 -0
  53. package/dist/core/lib/agent-core/src/agent-loop-continuations.js +1 -0
  54. package/dist/core/lib/agent-core/src/agent-loop-stream-events.d.ts +19 -0
  55. package/dist/core/lib/agent-core/src/agent-loop-stream-events.js +1 -0
  56. package/dist/core/lib/agent-core/src/agent-loop-tool-results.d.ts +10 -0
  57. package/dist/core/lib/agent-core/src/agent-loop-tool-results.js +3 -0
  58. package/dist/core/lib/agent-core/src/agent-loop-tool-summaries.d.ts +22 -0
  59. package/dist/core/lib/agent-core/src/agent-loop-tool-summaries.js +1 -0
  60. package/dist/core/lib/agent-core/src/agent-loop.d.ts +26 -0
  61. package/dist/core/lib/agent-core/src/agent-loop.js +4 -0
  62. package/dist/core/lib/agent-core/src/agent-run-result.d.ts +9 -0
  63. package/dist/core/lib/agent-core/src/agent-run-result.js +1 -0
  64. package/dist/core/lib/agent-core/src/agent.d.ts +215 -0
  65. package/dist/core/lib/agent-core/src/agent.js +1 -0
  66. package/dist/core/lib/agent-core/src/errors.d.ts +62 -0
  67. package/dist/core/lib/agent-core/src/errors.js +1 -0
  68. package/dist/core/lib/agent-core/src/index.d.ts +14 -0
  69. package/dist/core/lib/agent-core/src/index.js +1 -0
  70. package/dist/core/lib/agent-core/src/proxy.d.ts +91 -0
  71. package/dist/core/lib/agent-core/src/proxy.js +2 -0
  72. package/dist/core/lib/agent-core/src/structured-adaptive-agent-loop.d.ts +15 -0
  73. package/dist/core/lib/agent-core/src/structured-adaptive-agent-loop.js +2 -0
  74. package/dist/core/lib/agent-core/src/structured-adaptive-streaming-tool-executor.d.ts +33 -0
  75. package/dist/core/lib/agent-core/src/structured-adaptive-streaming-tool-executor.js +1 -0
  76. package/dist/core/lib/agent-core/src/structured-adaptive-tool-orchestration.d.ts +35 -0
  77. package/dist/core/lib/agent-core/src/structured-adaptive-tool-orchestration.js +3 -0
  78. package/dist/core/lib/agent-core/src/types.d.ts +417 -0
  79. package/dist/core/lib/agent-core/src/types.js +1 -0
  80. package/dist/core/lib/ai/src/api-registry.d.ts +27 -0
  81. package/dist/core/lib/ai/src/api-registry.js +1 -0
  82. package/dist/core/lib/ai/src/config-path.d.ts +1 -0
  83. package/dist/core/lib/ai/src/config-path.js +1 -0
  84. package/dist/core/lib/ai/src/debug-logger.d.ts +94 -0
  85. package/dist/core/lib/ai/src/debug-logger.js +4 -0
  86. package/dist/core/lib/ai/src/env-api-keys.d.ts +8 -0
  87. package/dist/core/lib/ai/src/env-api-keys.js +1 -0
  88. package/dist/core/lib/ai/src/env.d.ts +7 -0
  89. package/dist/core/lib/ai/src/env.js +1 -0
  90. package/dist/core/lib/ai/src/events.d.ts +8 -0
  91. package/dist/core/lib/ai/src/events.js +1 -0
  92. package/dist/core/lib/ai/src/index.d.ts +27 -0
  93. package/dist/core/lib/ai/src/index.js +1 -0
  94. package/dist/core/lib/ai/src/json.d.ts +7 -0
  95. package/dist/core/lib/ai/src/json.js +1 -0
  96. package/dist/core/lib/ai/src/models.d.ts +31 -0
  97. package/dist/core/lib/ai/src/models.generated.d.ts +15315 -0
  98. package/dist/core/lib/ai/src/models.generated.js +1 -0
  99. package/dist/core/lib/ai/src/models.js +1 -0
  100. package/dist/core/lib/ai/src/overflow.d.ts +7 -0
  101. package/dist/core/lib/ai/src/overflow.js +1 -0
  102. package/dist/core/lib/ai/src/providers/amazon-bedrock.d.ts +20 -0
  103. package/dist/core/lib/ai/src/providers/amazon-bedrock.js +1 -0
  104. package/dist/core/lib/ai/src/providers/anthropic.d.ts +38 -0
  105. package/dist/core/lib/ai/src/providers/anthropic.js +2 -0
  106. package/dist/core/lib/ai/src/providers/azure-openai-responses.d.ts +21 -0
  107. package/dist/core/lib/ai/src/providers/azure-openai-responses.js +1 -0
  108. package/dist/core/lib/ai/src/providers/github-copilot-headers.d.ts +13 -0
  109. package/dist/core/lib/ai/src/providers/github-copilot-headers.js +1 -0
  110. package/dist/core/lib/ai/src/providers/google-gemini-cli.d.ts +79 -0
  111. package/dist/core/lib/ai/src/providers/google-gemini-cli.js +2 -0
  112. package/dist/core/lib/ai/src/providers/google-shared.d.ts +70 -0
  113. package/dist/core/lib/ai/src/providers/google-shared.js +2 -0
  114. package/dist/core/lib/ai/src/providers/google-vertex.d.ts +20 -0
  115. package/dist/core/lib/ai/src/providers/google-vertex.js +1 -0
  116. package/dist/core/lib/ai/src/providers/google.d.ts +18 -0
  117. package/dist/core/lib/ai/src/providers/google.js +1 -0
  118. package/dist/core/lib/ai/src/providers/openai-codex-responses.d.ts +8 -0
  119. package/dist/core/lib/ai/src/providers/openai-codex-responses.js +7 -0
  120. package/dist/core/lib/ai/src/providers/openai-completions.d.ts +20 -0
  121. package/dist/core/lib/ai/src/providers/openai-completions.js +6 -0
  122. package/dist/core/lib/ai/src/providers/openai-responses-shared.d.ts +22 -0
  123. package/dist/core/lib/ai/src/providers/openai-responses-shared.js +10 -0
  124. package/dist/core/lib/ai/src/providers/openai-responses.d.ts +19 -0
  125. package/dist/core/lib/ai/src/providers/openai-responses.js +1 -0
  126. package/dist/core/lib/ai/src/providers/register-builtins.d.ts +8 -0
  127. package/dist/core/lib/ai/src/providers/register-builtins.js +1 -0
  128. package/dist/core/lib/ai/src/providers/simple-options.d.ts +13 -0
  129. package/dist/core/lib/ai/src/providers/simple-options.js +1 -0
  130. package/dist/core/lib/ai/src/providers/transform-messages.d.ts +13 -0
  131. package/dist/core/lib/ai/src/providers/transform-messages.js +1 -0
  132. package/dist/core/lib/ai/src/registry.d.ts +8 -0
  133. package/dist/core/lib/ai/src/registry.js +1 -0
  134. package/dist/core/lib/ai/src/schema.d.ts +10 -0
  135. package/dist/core/lib/ai/src/schema.js +1 -0
  136. package/dist/core/lib/ai/src/stream.d.ts +33 -0
  137. package/dist/core/lib/ai/src/stream.js +1 -0
  138. package/dist/core/lib/ai/src/types.d.ts +331 -0
  139. package/dist/core/lib/ai/src/types.js +0 -0
  140. package/dist/core/lib/ai/src/utils/event-stream-types.d.ts +12 -0
  141. package/dist/core/lib/ai/src/utils/event-stream-types.js +0 -0
  142. package/dist/core/lib/ai/src/utils/event-stream.d.ts +31 -0
  143. package/dist/core/lib/ai/src/utils/event-stream.js +1 -0
  144. package/dist/core/lib/ai/src/utils/http-proxy.d.ts +13 -0
  145. package/dist/core/lib/ai/src/utils/http-proxy.js +1 -0
  146. package/dist/core/lib/ai/src/utils/json-parse.d.ts +14 -0
  147. package/dist/core/lib/ai/src/utils/json-parse.js +1 -0
  148. package/dist/core/lib/ai/src/utils/oauth/anthropic.d.ts +22 -0
  149. package/dist/core/lib/ai/src/utils/oauth/anthropic.js +1 -0
  150. package/dist/core/lib/ai/src/utils/oauth/decode-credential.d.ts +12 -0
  151. package/dist/core/lib/ai/src/utils/oauth/decode-credential.js +1 -0
  152. package/dist/core/lib/ai/src/utils/oauth/github-copilot.d.ts +35 -0
  153. package/dist/core/lib/ai/src/utils/oauth/github-copilot.js +1 -0
  154. package/dist/core/lib/ai/src/utils/oauth/google-antigravity.d.ts +31 -0
  155. package/dist/core/lib/ai/src/utils/oauth/google-antigravity.js +1 -0
  156. package/dist/core/lib/ai/src/utils/oauth/google-gemini-cli.d.ts +31 -0
  157. package/dist/core/lib/ai/src/utils/oauth/google-gemini-cli.js +1 -0
  158. package/dist/core/lib/ai/src/utils/oauth/index.d.ts +60 -0
  159. package/dist/core/lib/ai/src/utils/oauth/index.js +1 -0
  160. package/dist/core/lib/ai/src/utils/oauth/openai-codex.d.ts +39 -0
  161. package/dist/core/lib/ai/src/utils/oauth/openai-codex.js +11 -0
  162. package/dist/core/lib/ai/src/utils/oauth/pkce.d.ts +18 -0
  163. package/dist/core/lib/ai/src/utils/oauth/pkce.js +1 -0
  164. package/dist/core/lib/ai/src/utils/oauth/types.d.ts +52 -0
  165. package/dist/core/lib/ai/src/utils/oauth/types.js +0 -0
  166. package/dist/core/lib/ai/src/utils/overflow.d.ts +57 -0
  167. package/dist/core/lib/ai/src/utils/overflow.js +1 -0
  168. package/dist/core/lib/ai/src/utils/sanitize-unicode.d.ts +16 -0
  169. package/dist/core/lib/ai/src/utils/sanitize-unicode.js +1 -0
  170. package/dist/core/lib/ai/src/utils/typebox-helpers.d.ts +22 -0
  171. package/dist/core/lib/ai/src/utils/typebox-helpers.js +1 -0
  172. package/dist/core/lib/ai/src/utils/validation.d.ts +23 -0
  173. package/dist/core/lib/ai/src/utils/validation.js +6 -0
  174. package/dist/core/lib/tui/src/autocomplete.d.ts +62 -0
  175. package/dist/core/lib/tui/src/autocomplete.js +2 -0
  176. package/dist/core/lib/tui/src/components/box.d.ts +27 -0
  177. package/dist/core/lib/tui/src/components/box.js +1 -0
  178. package/dist/core/lib/tui/src/components/cached-container.d.ts +42 -0
  179. package/dist/core/lib/tui/src/components/cached-container.js +1 -0
  180. package/dist/core/lib/tui/src/components/cancellable-loader.d.ts +27 -0
  181. package/dist/core/lib/tui/src/components/cancellable-loader.js +1 -0
  182. package/dist/core/lib/tui/src/components/editor.d.ts +222 -0
  183. package/dist/core/lib/tui/src/components/editor.js +21 -0
  184. package/dist/core/lib/tui/src/components/image.d.ts +33 -0
  185. package/dist/core/lib/tui/src/components/image.js +1 -0
  186. package/dist/core/lib/tui/src/components/input.d.ts +42 -0
  187. package/dist/core/lib/tui/src/components/input.js +2 -0
  188. package/dist/core/lib/tui/src/components/loader.d.ts +26 -0
  189. package/dist/core/lib/tui/src/components/loader.js +1 -0
  190. package/dist/core/lib/tui/src/components/markdown.d.ts +100 -0
  191. package/dist/core/lib/tui/src/components/markdown.js +7 -0
  192. package/dist/core/lib/tui/src/components/select-list.d.ts +37 -0
  193. package/dist/core/lib/tui/src/components/select-list.js +1 -0
  194. package/dist/core/lib/tui/src/components/settings-list.d.ts +55 -0
  195. package/dist/core/lib/tui/src/components/settings-list.js +1 -0
  196. package/dist/core/lib/tui/src/components/spacer.d.ts +17 -0
  197. package/dist/core/lib/tui/src/components/spacer.js +1 -0
  198. package/dist/core/lib/tui/src/components/text.d.ts +24 -0
  199. package/dist/core/lib/tui/src/components/text.js +1 -0
  200. package/dist/core/lib/tui/src/components/truncated-text.d.ts +18 -0
  201. package/dist/core/lib/tui/src/components/truncated-text.js +2 -0
  202. package/dist/core/lib/tui/src/editor-component.d.ts +51 -0
  203. package/dist/core/lib/tui/src/editor-component.js +0 -0
  204. package/dist/core/lib/tui/src/fuzzy.d.ts +32 -0
  205. package/dist/core/lib/tui/src/fuzzy.js +1 -0
  206. package/dist/core/lib/tui/src/index.d.ts +29 -0
  207. package/dist/core/lib/tui/src/index.js +1 -0
  208. package/dist/core/lib/tui/src/keybindings.d.ts +44 -0
  209. package/dist/core/lib/tui/src/keybindings.js +1 -0
  210. package/dist/core/lib/tui/src/keys.d.ts +149 -0
  211. package/dist/core/lib/tui/src/keys.js +5 -0
  212. package/dist/core/lib/tui/src/kill-ring.d.ts +33 -0
  213. package/dist/core/lib/tui/src/kill-ring.js +1 -0
  214. package/dist/core/lib/tui/src/stdin-buffer.d.ts +38 -0
  215. package/dist/core/lib/tui/src/stdin-buffer.js +1 -0
  216. package/dist/core/lib/tui/src/terminal-image.d.ts +73 -0
  217. package/dist/core/lib/tui/src/terminal-image.js +1 -0
  218. package/dist/core/lib/tui/src/terminal.d.ts +86 -0
  219. package/dist/core/lib/tui/src/terminal.js +1 -0
  220. package/dist/core/lib/tui/src/tui.d.ts +220 -0
  221. package/dist/core/lib/tui/src/tui.js +12 -0
  222. package/dist/core/lib/tui/src/undo-stack.d.ts +22 -0
  223. package/dist/core/lib/tui/src/undo-stack.js +1 -0
  224. package/dist/core/lib/tui/src/utils.d.ts +83 -0
  225. package/dist/core/lib/tui/src/utils.js +2 -0
  226. package/dist/core/mcp/figma-auth.d.ts +21 -0
  227. package/dist/core/mcp/figma-auth.js +22 -0
  228. package/dist/core/mcp/index.d.ts +11 -0
  229. package/dist/core/mcp/index.js +1 -0
  230. package/dist/core/mcp/mcp-adapter.d.ts +21 -0
  231. package/dist/core/mcp/mcp-adapter.js +3 -0
  232. package/dist/core/mcp/mcp-client.d.ts +91 -0
  233. package/dist/core/mcp/mcp-client.js +6 -0
  234. package/dist/core/mcp/mcp-config.d.ts +55 -0
  235. package/dist/core/mcp/mcp-config.js +1 -0
  236. package/dist/core/mcp/mcp-guidance.d.ts +52 -0
  237. package/dist/core/mcp/mcp-guidance.js +54 -0
  238. package/dist/core/mcp/mcp-manager.d.ts +51 -0
  239. package/dist/core/mcp/mcp-manager.js +1 -0
  240. package/dist/core/mcp/mcp-types.d.ts +62 -0
  241. package/dist/core/mcp/mcp-types.js +0 -0
  242. package/dist/core/messages.d.ts +77 -0
  243. package/dist/core/messages.js +17 -0
  244. package/dist/core/model/custom-providers.d.ts +34 -0
  245. package/dist/core/model/custom-providers.js +1 -0
  246. package/dist/core/model/discovery-cache.d.ts +65 -0
  247. package/dist/core/model/discovery-cache.js +1 -0
  248. package/dist/core/model/discovery-cache.test.d.ts +7 -0
  249. package/dist/core/model/discovery-cache.test.js +1 -0
  250. package/dist/core/model/discovery.d.ts +79 -0
  251. package/dist/core/model/discovery.js +1 -0
  252. package/dist/core/model/discovery.test.d.ts +7 -0
  253. package/dist/core/model/discovery.test.js +1 -0
  254. package/dist/core/model/index.d.ts +10 -0
  255. package/dist/core/model/index.js +1 -0
  256. package/dist/core/model/known-models.d.ts +65 -0
  257. package/dist/core/model/known-models.generated.d.ts +2 -0
  258. package/dist/core/model/known-models.generated.js +1 -0
  259. package/dist/core/model/known-models.js +1 -0
  260. package/dist/core/model/switcher.d.ts +80 -0
  261. package/dist/core/model/switcher.js +1 -0
  262. package/dist/core/model-registry.d.ts +186 -0
  263. package/dist/core/model-registry.js +9 -0
  264. package/dist/core/model-resolver.d.ts +106 -0
  265. package/dist/core/model-resolver.js +1 -0
  266. package/dist/core/package-manager.d.ts +156 -0
  267. package/dist/core/package-manager.js +3 -0
  268. package/dist/core/persona/persona-manager.d.ts +35 -0
  269. package/dist/core/persona/persona-manager.js +5 -0
  270. package/dist/core/platform/abort-slot.d.ts +26 -0
  271. package/dist/core/platform/abort-slot.js +1 -0
  272. package/dist/core/platform/config/auth-storage.d.ts +126 -0
  273. package/dist/core/platform/config/auth-storage.js +1 -0
  274. package/dist/core/platform/config/defaults.d.ts +8 -0
  275. package/dist/core/platform/config/defaults.js +1 -0
  276. package/dist/core/platform/config/diagnostics.d.ts +20 -0
  277. package/dist/core/platform/config/diagnostics.js +0 -0
  278. package/dist/core/platform/config/resolve-config-value.d.ts +12 -0
  279. package/dist/core/platform/config/resolve-config-value.js +1 -0
  280. package/dist/core/platform/config/resource-loader.d.ts +188 -0
  281. package/dist/core/platform/config/resource-loader.js +2 -0
  282. package/dist/core/platform/config/settings-manager.d.ts +314 -0
  283. package/dist/core/platform/config/settings-manager.js +1 -0
  284. package/dist/core/platform/exec/bash-executor.d.ts +41 -0
  285. package/dist/core/platform/exec/bash-executor.js +1 -0
  286. package/dist/core/platform/exec/exec.d.ts +25 -0
  287. package/dist/core/platform/exec/exec.js +1 -0
  288. package/dist/core/platform/i18n/index.d.ts +26 -0
  289. package/dist/core/platform/i18n/index.js +1 -0
  290. package/dist/core/platform/i18n/messages.d.ts +56 -0
  291. package/dist/core/platform/i18n/messages.js +1 -0
  292. package/dist/core/platform/i18n/messages.zh.d.ts +56 -0
  293. package/dist/core/platform/i18n/messages.zh.js +1 -0
  294. package/dist/core/platform/i18n/slash-commands.d.ts +53 -0
  295. package/dist/core/platform/i18n/slash-commands.js +1 -0
  296. package/dist/core/platform/i18n/slash-commands.zh.d.ts +53 -0
  297. package/dist/core/platform/i18n/slash-commands.zh.js +1 -0
  298. package/dist/core/platform/i18n/themes.d.ts +11 -0
  299. package/dist/core/platform/i18n/themes.js +1 -0
  300. package/dist/core/platform/i18n/themes.zh.d.ts +11 -0
  301. package/dist/core/platform/i18n/themes.zh.js +1 -0
  302. package/dist/core/platform/keybindings.d.ts +61 -0
  303. package/dist/core/platform/keybindings.js +1 -0
  304. package/dist/core/platform/listeners.d.ts +21 -0
  305. package/dist/core/platform/listeners.js +1 -0
  306. package/dist/core/platform/telemetry/batching-dispatcher.d.ts +41 -0
  307. package/dist/core/platform/telemetry/batching-dispatcher.js +1 -0
  308. package/dist/core/platform/telemetry/build-meta.d.ts +12 -0
  309. package/dist/core/platform/telemetry/build-meta.js +1 -0
  310. package/dist/core/platform/telemetry/caller-context.d.ts +32 -0
  311. package/dist/core/platform/telemetry/caller-context.js +1 -0
  312. package/dist/core/platform/telemetry/credentials.d.ts +27 -0
  313. package/dist/core/platform/telemetry/credentials.js +1 -0
  314. package/dist/core/platform/telemetry/ext-events.d.ts +89 -0
  315. package/dist/core/platform/telemetry/ext-events.js +1 -0
  316. package/dist/core/platform/telemetry/index.d.ts +13 -0
  317. package/dist/core/platform/telemetry/index.js +1 -0
  318. package/dist/core/platform/telemetry/insforge-base.d.ts +37 -0
  319. package/dist/core/platform/telemetry/insforge-base.js +1 -0
  320. package/dist/core/platform/telemetry/types.d.ts +33 -0
  321. package/dist/core/platform/telemetry/types.js +0 -0
  322. package/dist/core/platform/timings.d.ts +2 -0
  323. package/dist/core/platform/timings.js +3 -0
  324. package/dist/core/platform/utils/logger.d.ts +75 -0
  325. package/dist/core/platform/utils/logger.js +1 -0
  326. package/dist/core/platform/utils/shell.d.ts +25 -0
  327. package/dist/core/platform/utils/shell.js +9 -0
  328. package/dist/core/platform/utils/sleep.d.ts +7 -0
  329. package/dist/core/platform/utils/sleep.js +1 -0
  330. package/dist/core/platform/utils/tools-manager.d.ts +19 -0
  331. package/dist/core/platform/utils/tools-manager.js +1 -0
  332. package/dist/core/prompt/prompt-templates.d.ts +49 -0
  333. package/dist/core/prompt/prompt-templates.js +2 -0
  334. package/dist/core/prompt/system-prompt.d.ts +24 -0
  335. package/dist/core/prompt/system-prompt.js +139 -0
  336. package/dist/core/runtime/agent-session.d.ts +676 -0
  337. package/dist/core/runtime/agent-session.js +15 -0
  338. package/dist/core/runtime/bash-runner.d.ts +56 -0
  339. package/dist/core/runtime/bash-runner.js +2 -0
  340. package/dist/core/runtime/catui-agent.d.ts +182 -0
  341. package/dist/core/runtime/catui-agent.js +1 -0
  342. package/dist/core/runtime/compaction-controller.d.ts +43 -0
  343. package/dist/core/runtime/compaction-controller.js +1 -0
  344. package/dist/core/runtime/default-tools.d.ts +9 -0
  345. package/dist/core/runtime/default-tools.js +1 -0
  346. package/dist/core/runtime/event-bridge.d.ts +21 -0
  347. package/dist/core/runtime/event-bridge.js +1 -0
  348. package/dist/core/runtime/event-bus.d.ts +8 -0
  349. package/dist/core/runtime/event-bus.js +1 -0
  350. package/dist/core/runtime/export-bridge.d.ts +23 -0
  351. package/dist/core/runtime/export-bridge.js +1 -0
  352. package/dist/core/runtime/extension-core-bindings.d.ts +46 -0
  353. package/dist/core/runtime/extension-core-bindings.js +3 -0
  354. package/dist/core/runtime/model-controller.d.ts +84 -0
  355. package/dist/core/runtime/model-controller.js +1 -0
  356. package/dist/core/runtime/model-cycle.d.ts +20 -0
  357. package/dist/core/runtime/model-cycle.js +1 -0
  358. package/dist/core/runtime/prompt-assembly.d.ts +20 -0
  359. package/dist/core/runtime/prompt-assembly.js +3 -0
  360. package/dist/core/runtime/retry-coordinator.d.ts +84 -0
  361. package/dist/core/runtime/retry-coordinator.js +1 -0
  362. package/dist/core/runtime/sdk.d.ts +163 -0
  363. package/dist/core/runtime/sdk.js +1 -0
  364. package/dist/core/runtime/session-context.d.ts +155 -0
  365. package/dist/core/runtime/session-context.js +0 -0
  366. package/dist/core/runtime/session-lifecycle-controller.d.ts +42 -0
  367. package/dist/core/runtime/session-lifecycle-controller.js +1 -0
  368. package/dist/core/runtime/session-tree-controller.d.ts +40 -0
  369. package/dist/core/runtime/session-tree-controller.js +1 -0
  370. package/dist/core/runtime/slash-command-catalog.d.ts +27 -0
  371. package/dist/core/runtime/slash-command-catalog.js +1 -0
  372. package/dist/core/runtime/thinking-levels.d.ts +31 -0
  373. package/dist/core/runtime/thinking-levels.js +1 -0
  374. package/dist/core/runtime/tool-runtime-controller.d.ts +35 -0
  375. package/dist/core/runtime/tool-runtime-controller.js +1 -0
  376. package/dist/core/runtime/turn-context.d.ts +52 -0
  377. package/dist/core/runtime/turn-context.js +1 -0
  378. package/dist/core/session/compaction/branch-summarization.d.ts +85 -0
  379. package/dist/core/session/compaction/branch-summarization.js +38 -0
  380. package/dist/core/session/compaction/compaction.d.ts +120 -0
  381. package/dist/core/session/compaction/compaction.js +104 -0
  382. package/dist/core/session/compaction/index.d.ts +9 -0
  383. package/dist/core/session/compaction/index.js +1 -0
  384. package/dist/core/session/compaction/utils.d.ts +37 -0
  385. package/dist/core/session/compaction/utils.js +17 -0
  386. package/dist/core/session/session-manager.d.ts +359 -0
  387. package/dist/core/session/session-manager.js +14 -0
  388. package/dist/core/skills.d.ts +57 -0
  389. package/dist/core/skills.js +4 -0
  390. package/dist/core/slash-commands.d.ts +36 -0
  391. package/dist/core/slash-commands.js +1 -0
  392. package/dist/core/soul-integration.d.ts +77 -0
  393. package/dist/core/soul-integration.js +1 -0
  394. package/dist/core/soul-options-contract.d.ts +10 -0
  395. package/dist/core/soul-options-contract.js +0 -0
  396. package/dist/core/sub-agent/agent-definition-loader.d.ts +96 -0
  397. package/dist/core/sub-agent/agent-definition-loader.js +2 -0
  398. package/dist/core/sub-agent/agent-definition.d.ts +162 -0
  399. package/dist/core/sub-agent/agent-definition.js +6 -0
  400. package/dist/core/sub-agent/agent-handoff-safety.d.ts +39 -0
  401. package/dist/core/sub-agent/agent-handoff-safety.js +1 -0
  402. package/dist/core/sub-agent/agent-input-output.d.ts +143 -0
  403. package/dist/core/sub-agent/agent-input-output.js +1 -0
  404. package/dist/core/sub-agent/agent-output-persistence.d.ts +43 -0
  405. package/dist/core/sub-agent/agent-output-persistence.js +3 -0
  406. package/dist/core/sub-agent/agent-prompt-builder.d.ts +37 -0
  407. package/dist/core/sub-agent/agent-prompt-builder.js +2 -0
  408. package/dist/core/sub-agent/agent-registry.d.ts +145 -0
  409. package/dist/core/sub-agent/agent-registry.js +1 -0
  410. package/dist/core/sub-agent/agent-result-extractor.d.ts +28 -0
  411. package/dist/core/sub-agent/agent-result-extractor.js +3 -0
  412. package/dist/core/sub-agent/agent-telemetry.d.ts +71 -0
  413. package/dist/core/sub-agent/agent-telemetry.js +1 -0
  414. package/dist/core/sub-agent/agent-tool-filter.d.ts +89 -0
  415. package/dist/core/sub-agent/agent-tool-filter.js +2 -0
  416. package/dist/core/sub-agent/agent-tool.d.ts +69 -0
  417. package/dist/core/sub-agent/agent-tool.js +11 -0
  418. package/dist/core/sub-agent/index.d.ts +26 -0
  419. package/dist/core/sub-agent/index.js +1 -0
  420. package/dist/core/sub-agent/send-message-tool.d.ts +33 -0
  421. package/dist/core/sub-agent/send-message-tool.js +2 -0
  422. package/dist/core/sub-agent/sub-agent-backend.d.ts +26 -0
  423. package/dist/core/sub-agent/sub-agent-backend.js +7 -0
  424. package/dist/core/sub-agent/sub-agent-runtime.d.ts +34 -0
  425. package/dist/core/sub-agent/sub-agent-runtime.js +1 -0
  426. package/dist/core/sub-agent/sub-agent-types.d.ts +138 -0
  427. package/dist/core/sub-agent/sub-agent-types.js +0 -0
  428. package/dist/core/sub-agent/subprocess-backend.d.ts +35 -0
  429. package/dist/core/sub-agent/subprocess-backend.js +1 -0
  430. package/dist/core/sub-agent/subprocess-worker.d.ts +12 -0
  431. package/dist/core/sub-agent/subprocess-worker.js +1 -0
  432. package/dist/core/theme-contract.d.ts +32 -0
  433. package/dist/core/theme-contract.js +0 -0
  434. package/dist/core/tools/bash.d.ts +73 -0
  435. package/dist/core/tools/bash.js +21 -0
  436. package/dist/core/tools/edit-diff.d.ts +58 -0
  437. package/dist/core/tools/edit-diff.js +16 -0
  438. package/dist/core/tools/edit.d.ts +46 -0
  439. package/dist/core/tools/edit.js +1 -0
  440. package/dist/core/tools/file-state-cache.d.ts +30 -0
  441. package/dist/core/tools/file-state-cache.js +1 -0
  442. package/dist/core/tools/find.d.ts +46 -0
  443. package/dist/core/tools/find.js +8 -0
  444. package/dist/core/tools/grep.d.ts +58 -0
  445. package/dist/core/tools/grep.js +13 -0
  446. package/dist/core/tools/index.d.ts +116 -0
  447. package/dist/core/tools/index.js +1 -0
  448. package/dist/core/tools/input-validation.d.ts +13 -0
  449. package/dist/core/tools/input-validation.js +1 -0
  450. package/dist/core/tools/ls.d.ts +45 -0
  451. package/dist/core/tools/ls.js +4 -0
  452. package/dist/core/tools/orchestrator.d.ts +76 -0
  453. package/dist/core/tools/orchestrator.js +1 -0
  454. package/dist/core/tools/path-utils.d.ts +7 -0
  455. package/dist/core/tools/path-utils.js +1 -0
  456. package/dist/core/tools/pdf-extract.d.ts +11 -0
  457. package/dist/core/tools/pdf-extract.js +1 -0
  458. package/dist/core/tools/read.d.ts +46 -0
  459. package/dist/core/tools/read.js +11 -0
  460. package/dist/core/tools/source.d.ts +78 -0
  461. package/dist/core/tools/source.js +1 -0
  462. package/dist/core/tools/time.d.ts +19 -0
  463. package/dist/core/tools/time.js +2 -0
  464. package/dist/core/tools/truncate.d.ts +66 -0
  465. package/dist/core/tools/truncate.js +5 -0
  466. package/dist/core/tools/write-guard.d.ts +2 -0
  467. package/dist/core/tools/write-guard.js +1 -0
  468. package/dist/core/tools/write.d.ts +36 -0
  469. package/dist/core/tools/write.js +1 -0
  470. package/dist/core/workspace/index.d.ts +8 -0
  471. package/dist/core/workspace/index.js +1 -0
  472. package/dist/core/workspace/worktree-manager.d.ts +73 -0
  473. package/dist/core/workspace/worktree-manager.js +3 -0
  474. package/dist/extensions/builtin/AGENT.md +115 -0
  475. package/dist/extensions/builtin/ask-user-question/ask-user-question-tool.d.ts +9 -0
  476. package/dist/extensions/builtin/ask-user-question/ask-user-question-tool.js +4 -0
  477. package/dist/extensions/builtin/ask-user-question/index.d.ts +8 -0
  478. package/dist/extensions/builtin/ask-user-question/index.js +1 -0
  479. package/dist/extensions/builtin/ask-user-question/prompt.d.ts +14 -0
  480. package/dist/extensions/builtin/ask-user-question/prompt.js +30 -0
  481. package/dist/extensions/builtin/ask-user-question/types.d.ts +69 -0
  482. package/dist/extensions/builtin/ask-user-question/types.js +1 -0
  483. package/dist/extensions/builtin/browser/AGENT.md +17 -0
  484. package/dist/extensions/builtin/browser/agent-workspace/agent_helpers.py +12 -0
  485. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/amazon/product-search.md +198 -0
  486. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/archive-org/scraping.md +341 -0
  487. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/arxiv/scraping.md +311 -0
  488. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/arxiv-bulk/scraping.md +333 -0
  489. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/atlas/overview.md +70 -0
  490. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/booking-com/scraping.md +578 -0
  491. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/capterra/scraping.md +440 -0
  492. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/centilebrain/generate-estimates.md +110 -0
  493. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/coingecko/scraping.md +325 -0
  494. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/coinmarketcap/scraping.md +463 -0
  495. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/coursera/scraping.md +360 -0
  496. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/craigslist/scraping.md +390 -0
  497. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/crossref/scraping.md +568 -0
  498. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/dev-to/scraping.md +323 -0
  499. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/duckduckgo/scraping.md +349 -0
  500. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/ebay/scraping.md +435 -0
  501. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/etsy/scraping.md +506 -0
  502. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/eventbrite/scraping.md +363 -0
  503. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/expedia/automation.md +168 -0
  504. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/facebook/groups.md +236 -0
  505. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/facebook/pages.md +295 -0
  506. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/framer/editor.md +108 -0
  507. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/fred/scraping.md +493 -0
  508. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/g2/scraping.md +580 -0
  509. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/genius/scraping.md +511 -0
  510. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/github/repo-actions.md +65 -0
  511. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/github/scraping.md +184 -0
  512. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/glassdoor/scraping.md +543 -0
  513. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/gmail/compose.md +122 -0
  514. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/goodreads/scraping.md +461 -0
  515. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/gutenberg/scraping.md +383 -0
  516. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/hackernews/scraping.md +243 -0
  517. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/howlongtobeat/scraping.md +473 -0
  518. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/imdb/scraping.md +271 -0
  519. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/itch-io/scraping.md +436 -0
  520. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/job-boards/indeed-glassdoor.md +1021 -0
  521. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/letterboxd/scraping.md +349 -0
  522. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/linkedin/invitation-manager.md +109 -0
  523. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/loom/folder-enumeration.md +170 -0
  524. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/macrotrends/scraping.md +537 -0
  525. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/medium/article-hydration.md +120 -0
  526. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/medium/scraping.md +414 -0
  527. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/metacritic/scraping.md +477 -0
  528. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/musicbrainz/scraping.md +478 -0
  529. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/nasa/scraping.md +339 -0
  530. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/news-aggregation/multi-source.md +205 -0
  531. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/open-library/scraping.md +472 -0
  532. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/openalex/scraping.md +470 -0
  533. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/openstreetmap/scraping.md +490 -0
  534. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/package-registries/npm-pypi.md +478 -0
  535. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/polymarket/scraping.md +234 -0
  536. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/producthunt/scraping.md +307 -0
  537. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/pubmed/scraping.md +421 -0
  538. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/quora/scraping.md +364 -0
  539. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/rawg/scraping.md +352 -0
  540. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/reddit/scraping.md +124 -0
  541. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/rest-countries/scraping.md +233 -0
  542. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/sec-edgar/scraping.md +361 -0
  543. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/shopify-admin/README.md +36 -0
  544. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/shopify-admin/embedded-apps.md +72 -0
  545. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/shopify-admin/knowledge-base.md +109 -0
  546. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/shopify-admin/polaris-inputs.md +137 -0
  547. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/soundcloud/scraping.md +362 -0
  548. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/spotify/scraping.md +339 -0
  549. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/stackoverflow/scraping.md +435 -0
  550. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/steam/scraping.md +575 -0
  551. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/substack/scraping.md +338 -0
  552. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/thetechgeeks/pricing.md +52 -0
  553. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/tiktok/upload.md +107 -0
  554. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/tradingview/scraping.md +309 -0
  555. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/trello/boards-and-lists.md +88 -0
  556. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/trustpilot/scraping.md +375 -0
  557. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/walmart/scraping.md +444 -0
  558. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/wayback-machine/scraping.md +306 -0
  559. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/weather/scraping.md +398 -0
  560. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/wellfound/scraping.md +596 -0
  561. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/world-bank/scraping.md +356 -0
  562. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/xiaohongshu/scraping.md +84 -0
  563. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/youtube/scraping.md +418 -0
  564. package/dist/extensions/builtin/browser/agent-workspace/domain-skills/zillow/scraping.md +433 -0
  565. package/dist/extensions/builtin/browser/browser.md +73 -0
  566. package/dist/extensions/builtin/browser/index.d.ts +8 -0
  567. package/dist/extensions/builtin/browser/index.js +15 -0
  568. package/dist/extensions/builtin/browser/install.md +142 -0
  569. package/dist/extensions/builtin/browser/interaction-skills/connection.md +48 -0
  570. package/dist/extensions/builtin/browser/interaction-skills/cookies.md +3 -0
  571. package/dist/extensions/builtin/browser/interaction-skills/cross-origin-iframes.md +3 -0
  572. package/dist/extensions/builtin/browser/interaction-skills/dialogs.md +64 -0
  573. package/dist/extensions/builtin/browser/interaction-skills/downloads.md +3 -0
  574. package/dist/extensions/builtin/browser/interaction-skills/drag-and-drop.md +3 -0
  575. package/dist/extensions/builtin/browser/interaction-skills/dropdowns.md +3 -0
  576. package/dist/extensions/builtin/browser/interaction-skills/iframes.md +3 -0
  577. package/dist/extensions/builtin/browser/interaction-skills/network-requests.md +3 -0
  578. package/dist/extensions/builtin/browser/interaction-skills/print-as-pdf.md +3 -0
  579. package/dist/extensions/builtin/browser/interaction-skills/profile-sync.md +90 -0
  580. package/dist/extensions/builtin/browser/interaction-skills/screenshots.md +17 -0
  581. package/dist/extensions/builtin/browser/interaction-skills/scrolling.md +3 -0
  582. package/dist/extensions/builtin/browser/interaction-skills/shadow-dom.md +3 -0
  583. package/dist/extensions/builtin/browser/interaction-skills/tabs.md +69 -0
  584. package/dist/extensions/builtin/browser/interaction-skills/uploads.md +1 -0
  585. package/dist/extensions/builtin/browser/interaction-skills/viewport.md +3 -0
  586. package/dist/extensions/builtin/browser/src/browser_harness/AGENT.md +15 -0
  587. package/dist/extensions/builtin/browser/src/browser_harness/__init__.py +8 -0
  588. package/dist/extensions/builtin/browser/src/browser_harness/_ipc.py +90 -0
  589. package/dist/extensions/builtin/browser/src/browser_harness/admin.py +722 -0
  590. package/dist/extensions/builtin/browser/src/browser_harness/daemon.py +328 -0
  591. package/dist/extensions/builtin/browser/src/browser_harness/helpers.py +396 -0
  592. package/dist/extensions/builtin/browser/src/browser_harness/run.py +103 -0
  593. package/dist/extensions/builtin/btw/index.d.ts +8 -0
  594. package/dist/extensions/builtin/btw/index.js +15 -0
  595. package/dist/extensions/builtin/debug/collectors.d.ts +96 -0
  596. package/dist/extensions/builtin/debug/collectors.js +7 -0
  597. package/dist/extensions/builtin/debug/index.d.ts +8 -0
  598. package/dist/extensions/builtin/debug/index.js +49 -0
  599. package/dist/extensions/builtin/diagnostics/diagnostic-buffer.d.ts +19 -0
  600. package/dist/extensions/builtin/diagnostics/diagnostic-buffer.js +1 -0
  601. package/dist/extensions/builtin/diagnostics/index.d.ts +8 -0
  602. package/dist/extensions/builtin/diagnostics/index.js +1 -0
  603. package/dist/extensions/builtin/diagnostics/redaction.d.ts +8 -0
  604. package/dist/extensions/builtin/diagnostics/redaction.js +1 -0
  605. package/dist/extensions/builtin/diagnostics/reporter.d.ts +17 -0
  606. package/dist/extensions/builtin/diagnostics/reporter.js +1 -0
  607. package/dist/extensions/builtin/diagnostics/types.d.ts +62 -0
  608. package/dist/extensions/builtin/diagnostics/types.js +1 -0
  609. package/dist/extensions/builtin/discipline/index.d.ts +8 -0
  610. package/dist/extensions/builtin/discipline/index.js +7 -0
  611. package/dist/extensions/builtin/discipline/skills/brainstorming/SKILL.md +33 -0
  612. package/dist/extensions/builtin/discipline/skills/executing-plans/SKILL.md +25 -0
  613. package/dist/extensions/builtin/discipline/skills/finishing-development-branch/SKILL.md +25 -0
  614. package/dist/extensions/builtin/discipline/skills/receiving-code-review/SKILL.md +22 -0
  615. package/dist/extensions/builtin/discipline/skills/requesting-code-review/SKILL.md +31 -0
  616. package/dist/extensions/builtin/discipline/skills/systematic-debugging/SKILL.md +28 -0
  617. package/dist/extensions/builtin/discipline/skills/test-driven-development/SKILL.md +32 -0
  618. package/dist/extensions/builtin/discipline/skills/using-git-worktrees/SKILL.md +25 -0
  619. package/dist/extensions/builtin/discipline/skills/verification-before-completion/SKILL.md +27 -0
  620. package/dist/extensions/builtin/discipline/skills/writing-plans/SKILL.md +26 -0
  621. package/dist/extensions/builtin/goal/README.md +67 -0
  622. package/dist/extensions/builtin/goal/goal-command.d.ts +13 -0
  623. package/dist/extensions/builtin/goal/goal-command.js +9 -0
  624. package/dist/extensions/builtin/goal/goal-controller.d.ts +143 -0
  625. package/dist/extensions/builtin/goal/goal-controller.js +1 -0
  626. package/dist/extensions/builtin/goal/goal-format.d.ts +52 -0
  627. package/dist/extensions/builtin/goal/goal-format.js +1 -0
  628. package/dist/extensions/builtin/goal/goal-parser.d.ts +27 -0
  629. package/dist/extensions/builtin/goal/goal-parser.js +2 -0
  630. package/dist/extensions/builtin/goal/goal-prompts.d.ts +15 -0
  631. package/dist/extensions/builtin/goal/goal-prompts.js +5 -0
  632. package/dist/extensions/builtin/goal/goal-store.d.ts +28 -0
  633. package/dist/extensions/builtin/goal/goal-store.js +1 -0
  634. package/dist/extensions/builtin/goal/goal-tools.d.ts +26 -0
  635. package/dist/extensions/builtin/goal/goal-tools.js +3 -0
  636. package/dist/extensions/builtin/goal/goal-types.d.ts +87 -0
  637. package/dist/extensions/builtin/goal/goal-types.js +1 -0
  638. package/dist/extensions/builtin/goal/index.d.ts +8 -0
  639. package/dist/extensions/builtin/goal/index.js +10 -0
  640. package/dist/extensions/builtin/grub/README.md +112 -0
  641. package/dist/extensions/builtin/grub/grub-controller.d.ts +67 -0
  642. package/dist/extensions/builtin/grub/grub-controller.js +1 -0
  643. package/dist/extensions/builtin/grub/grub-decision.d.ts +8 -0
  644. package/dist/extensions/builtin/grub/grub-decision.js +1 -0
  645. package/dist/extensions/builtin/grub/grub-feature-list.d.ts +54 -0
  646. package/dist/extensions/builtin/grub/grub-feature-list.js +2 -0
  647. package/dist/extensions/builtin/grub/grub-format.d.ts +13 -0
  648. package/dist/extensions/builtin/grub/grub-format.js +4 -0
  649. package/dist/extensions/builtin/grub/grub-harness.d.ts +9 -0
  650. package/dist/extensions/builtin/grub/grub-harness.js +3 -0
  651. package/dist/extensions/builtin/grub/grub-i18n.d.ts +166 -0
  652. package/dist/extensions/builtin/grub/grub-i18n.js +1 -0
  653. package/dist/extensions/builtin/grub/grub-parser.d.ts +24 -0
  654. package/dist/extensions/builtin/grub/grub-parser.js +2 -0
  655. package/dist/extensions/builtin/grub/grub-persistence.d.ts +17 -0
  656. package/dist/extensions/builtin/grub/grub-persistence.js +2 -0
  657. package/dist/extensions/builtin/grub/grub-prompts.d.ts +12 -0
  658. package/dist/extensions/builtin/grub/grub-prompts.js +97 -0
  659. package/dist/extensions/builtin/grub/grub-turn.d.ts +16 -0
  660. package/dist/extensions/builtin/grub/grub-turn.js +1 -0
  661. package/dist/extensions/builtin/grub/grub-types.d.ts +110 -0
  662. package/dist/extensions/builtin/grub/grub-types.js +1 -0
  663. package/dist/extensions/builtin/grub/index.d.ts +8 -0
  664. package/dist/extensions/builtin/grub/index.js +6 -0
  665. package/dist/extensions/builtin/idle-think/curiosity.d.ts +46 -0
  666. package/dist/extensions/builtin/idle-think/curiosity.js +2 -0
  667. package/dist/extensions/builtin/idle-think/idle-think-runtime.d.ts +46 -0
  668. package/dist/extensions/builtin/idle-think/idle-think-runtime.js +1 -0
  669. package/dist/extensions/builtin/idle-think/index.d.ts +15 -0
  670. package/dist/extensions/builtin/idle-think/index.js +1 -0
  671. package/dist/extensions/builtin/idle-think/insights.d.ts +27 -0
  672. package/dist/extensions/builtin/idle-think/insights.js +5 -0
  673. package/dist/extensions/builtin/idle-think/thinker.d.ts +26 -0
  674. package/dist/extensions/builtin/idle-think/thinker.js +9 -0
  675. package/dist/extensions/builtin/insights/html-report.d.ts +21 -0
  676. package/dist/extensions/builtin/insights/html-report.js +463 -0
  677. package/dist/extensions/builtin/insights/index.d.ts +24 -0
  678. package/dist/extensions/builtin/insights/index.js +2 -0
  679. package/dist/extensions/builtin/insights/insights-engine.d.ts +18 -0
  680. package/dist/extensions/builtin/insights/insights-engine.js +39 -0
  681. package/dist/extensions/builtin/insights/prompts.d.ts +17 -0
  682. package/dist/extensions/builtin/insights/prompts.js +180 -0
  683. package/dist/extensions/builtin/insights/session-scanner.d.ts +27 -0
  684. package/dist/extensions/builtin/insights/session-scanner.js +19 -0
  685. package/dist/extensions/builtin/insights/stats.d.ts +13 -0
  686. package/dist/extensions/builtin/insights/stats.js +1 -0
  687. package/dist/extensions/builtin/insights/types.d.ts +199 -0
  688. package/dist/extensions/builtin/insights/types.js +0 -0
  689. package/dist/extensions/builtin/link-world/agent-workspace/README.md +16 -0
  690. package/dist/extensions/builtin/link-world/index.d.ts +8 -0
  691. package/dist/extensions/builtin/link-world/index.js +19 -0
  692. package/dist/extensions/builtin/link-world/internet-search/internet-search.md +65 -0
  693. package/dist/extensions/builtin/link-world/link-world-agent.md +82 -0
  694. package/dist/extensions/builtin/link-world/linkworld.md +313 -0
  695. package/dist/extensions/builtin/link-world/network-routing/network-routing.md +67 -0
  696. package/dist/extensions/builtin/loop/README.md +92 -0
  697. package/dist/extensions/builtin/loop/cron/cron-parser.d.ts +56 -0
  698. package/dist/extensions/builtin/loop/cron/cron-parser.js +1 -0
  699. package/dist/extensions/builtin/loop/cron/cron-scheduler.d.ts +85 -0
  700. package/dist/extensions/builtin/loop/cron/cron-scheduler.js +10 -0
  701. package/dist/extensions/builtin/loop/cron/cron-tasks-lock.d.ts +42 -0
  702. package/dist/extensions/builtin/loop/cron/cron-tasks-lock.js +1 -0
  703. package/dist/extensions/builtin/loop/cron/cron-tasks.d.ts +200 -0
  704. package/dist/extensions/builtin/loop/cron/cron-tasks.js +2 -0
  705. package/dist/extensions/builtin/loop/cron/index.d.ts +18 -0
  706. package/dist/extensions/builtin/loop/cron/index.js +1 -0
  707. package/dist/extensions/builtin/loop/cron-tools/cron-create-tool.d.ts +35 -0
  708. package/dist/extensions/builtin/loop/cron-tools/cron-create-tool.js +1 -0
  709. package/dist/extensions/builtin/loop/cron-tools/cron-delete-tool.d.ts +29 -0
  710. package/dist/extensions/builtin/loop/cron-tools/cron-delete-tool.js +1 -0
  711. package/dist/extensions/builtin/loop/cron-tools/cron-list-tool.d.ts +25 -0
  712. package/dist/extensions/builtin/loop/cron-tools/cron-list-tool.js +2 -0
  713. package/dist/extensions/builtin/loop/cron-tools/index.d.ts +16 -0
  714. package/dist/extensions/builtin/loop/cron-tools/index.js +1 -0
  715. package/dist/extensions/builtin/loop/cron-tools/prompt.d.ts +35 -0
  716. package/dist/extensions/builtin/loop/cron-tools/prompt.js +38 -0
  717. package/dist/extensions/builtin/loop/index.d.ts +19 -0
  718. package/dist/extensions/builtin/loop/index.js +2 -0
  719. package/dist/extensions/builtin/loop/loop-skill.d.ts +18 -0
  720. package/dist/extensions/builtin/loop/loop-skill.js +58 -0
  721. package/dist/extensions/builtin/lsp/index.d.ts +8 -0
  722. package/dist/extensions/builtin/lsp/index.js +1 -0
  723. package/dist/extensions/builtin/lsp/lsp-client.d.ts +22 -0
  724. package/dist/extensions/builtin/lsp/lsp-client.js +1 -0
  725. package/dist/extensions/builtin/lsp/lsp-config.d.ts +8 -0
  726. package/dist/extensions/builtin/lsp/lsp-config.js +1 -0
  727. package/dist/extensions/builtin/lsp/lsp-formatters.d.ts +15 -0
  728. package/dist/extensions/builtin/lsp/lsp-formatters.js +18 -0
  729. package/dist/extensions/builtin/lsp/lsp-server-instance.d.ts +24 -0
  730. package/dist/extensions/builtin/lsp/lsp-server-instance.js +1 -0
  731. package/dist/extensions/builtin/lsp/lsp-server-manager.d.ts +21 -0
  732. package/dist/extensions/builtin/lsp/lsp-server-manager.js +1 -0
  733. package/dist/extensions/builtin/lsp/lsp-tool.d.ts +33 -0
  734. package/dist/extensions/builtin/lsp/lsp-tool.js +2 -0
  735. package/dist/extensions/builtin/lsp/types.d.ts +31 -0
  736. package/dist/extensions/builtin/lsp/types.js +1 -0
  737. package/dist/extensions/builtin/mcp/figma-design.md +68 -0
  738. package/dist/extensions/builtin/mcp/index.d.ts +14 -0
  739. package/dist/extensions/builtin/mcp/index.js +25 -0
  740. package/dist/extensions/builtin/mcp/mcp-management.md +85 -0
  741. package/dist/extensions/builtin/plan/clear-context-state.d.ts +8 -0
  742. package/dist/extensions/builtin/plan/clear-context-state.js +1 -0
  743. package/dist/extensions/builtin/plan/enter-plan-mode-tool.d.ts +11 -0
  744. package/dist/extensions/builtin/plan/enter-plan-mode-tool.js +2 -0
  745. package/dist/extensions/builtin/plan/exit-plan-mode-tool.d.ts +18 -0
  746. package/dist/extensions/builtin/plan/exit-plan-mode-tool.js +13 -0
  747. package/dist/extensions/builtin/plan/index.d.ts +8 -0
  748. package/dist/extensions/builtin/plan/index.js +24 -0
  749. package/dist/extensions/builtin/plan/plan-agents.d.ts +23 -0
  750. package/dist/extensions/builtin/plan/plan-agents.js +43 -0
  751. package/dist/extensions/builtin/plan/plan-file-manager.d.ts +26 -0
  752. package/dist/extensions/builtin/plan/plan-file-manager.js +1 -0
  753. package/dist/extensions/builtin/plan/plan-permissions.d.ts +15 -0
  754. package/dist/extensions/builtin/plan/plan-permissions.js +12 -0
  755. package/dist/extensions/builtin/plan/plan-validation.d.ts +18 -0
  756. package/dist/extensions/builtin/plan/plan-validation.js +5 -0
  757. package/dist/extensions/builtin/plan/plan-workflow-prompt.d.ts +18 -0
  758. package/dist/extensions/builtin/plan/plan-workflow-prompt.js +102 -0
  759. package/dist/extensions/builtin/plan/teammate-approval.d.ts +49 -0
  760. package/dist/extensions/builtin/plan/teammate-approval.js +3 -0
  761. package/dist/extensions/builtin/plan/types.d.ts +133 -0
  762. package/dist/extensions/builtin/plan/types.js +1 -0
  763. package/dist/extensions/builtin/presence/index.d.ts +40 -0
  764. package/dist/extensions/builtin/presence/index.js +15 -0
  765. package/dist/extensions/builtin/presence/presence-memory.d.ts +47 -0
  766. package/dist/extensions/builtin/presence/presence-memory.js +1 -0
  767. package/dist/extensions/builtin/recap/AGENT.md +15 -0
  768. package/dist/extensions/builtin/recap/index.d.ts +8 -0
  769. package/dist/extensions/builtin/recap/index.js +1 -0
  770. package/dist/extensions/builtin/recap/recap-budget.d.ts +24 -0
  771. package/dist/extensions/builtin/recap/recap-budget.js +1 -0
  772. package/dist/extensions/builtin/recap/recap-extractor.d.ts +34 -0
  773. package/dist/extensions/builtin/recap/recap-extractor.js +3 -0
  774. package/dist/extensions/builtin/recap/recap-renderer.d.ts +19 -0
  775. package/dist/extensions/builtin/recap/recap-renderer.js +2 -0
  776. package/dist/extensions/builtin/recap/recap-synthesizer.d.ts +51 -0
  777. package/dist/extensions/builtin/recap/recap-synthesizer.js +19 -0
  778. package/dist/extensions/builtin/recap/recap-types.d.ts +40 -0
  779. package/dist/extensions/builtin/recap/recap-types.js +1 -0
  780. package/dist/extensions/builtin/sal/README.md +72 -0
  781. package/dist/extensions/builtin/sal/anchors.d.ts +46 -0
  782. package/dist/extensions/builtin/sal/anchors.js +1 -0
  783. package/dist/extensions/builtin/sal/eval/index.d.ts +18 -0
  784. package/dist/extensions/builtin/sal/eval/index.js +1 -0
  785. package/dist/extensions/builtin/sal/eval/insforge-sink.d.ts +30 -0
  786. package/dist/extensions/builtin/sal/eval/insforge-sink.js +1 -0
  787. package/dist/extensions/builtin/sal/eval/jsonl-sink.d.ts +27 -0
  788. package/dist/extensions/builtin/sal/eval/jsonl-sink.js +3 -0
  789. package/dist/extensions/builtin/sal/eval/noop-sink.d.ts +8 -0
  790. package/dist/extensions/builtin/sal/eval/noop-sink.js +1 -0
  791. package/dist/extensions/builtin/sal/eval/types.d.ts +60 -0
  792. package/dist/extensions/builtin/sal/eval/types.js +1 -0
  793. package/dist/extensions/builtin/sal/index.d.ts +12 -0
  794. package/dist/extensions/builtin/sal/index.js +7 -0
  795. package/dist/extensions/builtin/sal/sal-config.d.ts +46 -0
  796. package/dist/extensions/builtin/sal/sal-config.js +1 -0
  797. package/dist/extensions/builtin/sal/sal-context.d.ts +11 -0
  798. package/dist/extensions/builtin/sal/sal-context.js +2 -0
  799. package/dist/extensions/builtin/sal/sal-runtime.d.ts +72 -0
  800. package/dist/extensions/builtin/sal/sal-runtime.js +0 -0
  801. package/dist/extensions/builtin/sal/sal-trace.d.ts +11 -0
  802. package/dist/extensions/builtin/sal/sal-trace.js +1 -0
  803. package/dist/extensions/builtin/sal/terrain.d.ts +73 -0
  804. package/dist/extensions/builtin/sal/terrain.js +3 -0
  805. package/dist/extensions/builtin/sal/weights.d.ts +28 -0
  806. package/dist/extensions/builtin/sal/weights.js +1 -0
  807. package/dist/extensions/builtin/security-audit/README.md +289 -0
  808. package/dist/extensions/builtin/security-audit/engine/detector.d.ts +44 -0
  809. package/dist/extensions/builtin/security-audit/engine/detector.js +1 -0
  810. package/dist/extensions/builtin/security-audit/engine/interceptor.d.ts +61 -0
  811. package/dist/extensions/builtin/security-audit/engine/interceptor.js +27 -0
  812. package/dist/extensions/builtin/security-audit/engine/logger.d.ts +65 -0
  813. package/dist/extensions/builtin/security-audit/engine/logger.js +65 -0
  814. package/dist/extensions/builtin/security-audit/index.d.ts +13 -0
  815. package/dist/extensions/builtin/security-audit/index.js +49 -0
  816. package/dist/extensions/builtin/security-audit/interface.d.ts +167 -0
  817. package/dist/extensions/builtin/security-audit/interface.js +1 -0
  818. package/dist/extensions/builtin/soul/index.d.ts +13 -0
  819. package/dist/extensions/builtin/soul/index.js +1 -0
  820. package/dist/extensions/builtin/subagent/index.d.ts +8 -0
  821. package/dist/extensions/builtin/subagent/index.js +8 -0
  822. package/dist/extensions/builtin/subagent/subagent-parser.d.ts +30 -0
  823. package/dist/extensions/builtin/subagent/subagent-parser.js +15 -0
  824. package/dist/extensions/builtin/subagent/subagent-runner.d.ts +49 -0
  825. package/dist/extensions/builtin/subagent/subagent-runner.js +8 -0
  826. package/dist/extensions/builtin/subagent/subagent-types.d.ts +57 -0
  827. package/dist/extensions/builtin/subagent/subagent-types.js +0 -0
  828. package/dist/extensions/builtin/task/index.d.ts +8 -0
  829. package/dist/extensions/builtin/task/index.js +1 -0
  830. package/dist/extensions/builtin/task/task-store.d.ts +42 -0
  831. package/dist/extensions/builtin/task/task-store.js +1 -0
  832. package/dist/extensions/builtin/task/task-tools/task-create-tool.d.ts +37 -0
  833. package/dist/extensions/builtin/task/task-tools/task-create-tool.js +40 -0
  834. package/dist/extensions/builtin/task/task-tools/task-get-tool.d.ts +31 -0
  835. package/dist/extensions/builtin/task/task-tools/task-get-tool.js +23 -0
  836. package/dist/extensions/builtin/task/task-tools/task-list-tool.d.ts +27 -0
  837. package/dist/extensions/builtin/task/task-tools/task-list-tool.js +22 -0
  838. package/dist/extensions/builtin/task/task-tools/task-output-tool.d.ts +32 -0
  839. package/dist/extensions/builtin/task/task-tools/task-output-tool.js +10 -0
  840. package/dist/extensions/builtin/task/task-tools/task-stop-tool.d.ts +31 -0
  841. package/dist/extensions/builtin/task/task-tools/task-stop-tool.js +5 -0
  842. package/dist/extensions/builtin/task/task-tools/task-update-tool.d.ts +47 -0
  843. package/dist/extensions/builtin/task/task-tools/task-update-tool.js +77 -0
  844. package/dist/extensions/builtin/task/task-tools/tool-search-tool.d.ts +34 -0
  845. package/dist/extensions/builtin/task/task-tools/tool-search-tool.js +14 -0
  846. package/dist/extensions/builtin/task/task-types.d.ts +30 -0
  847. package/dist/extensions/builtin/task/task-types.js +1 -0
  848. package/dist/extensions/builtin/teach/README.md +197 -0
  849. package/dist/extensions/builtin/teach/index.d.ts +12 -0
  850. package/dist/extensions/builtin/teach/index.js +6 -0
  851. package/dist/extensions/builtin/teach/references/analogy-library.md +153 -0
  852. package/dist/extensions/builtin/teach/references/learning-paths.md +214 -0
  853. package/dist/extensions/builtin/teach/references/source-verification.md +268 -0
  854. package/dist/extensions/builtin/teach/references/teaching-template.md +237 -0
  855. package/dist/extensions/builtin/teach/teach-format.d.ts +35 -0
  856. package/dist/extensions/builtin/teach/teach-format.js +6 -0
  857. package/dist/extensions/builtin/teach/teach-i18n.d.ts +47 -0
  858. package/dist/extensions/builtin/teach/teach-i18n.js +1 -0
  859. package/dist/extensions/builtin/teach/teach-persistence.d.ts +36 -0
  860. package/dist/extensions/builtin/teach/teach-persistence.js +35 -0
  861. package/dist/extensions/builtin/teach/teach-prompts.d.ts +52 -0
  862. package/dist/extensions/builtin/teach/teach-prompts.js +35 -0
  863. package/dist/extensions/builtin/teach/teach-runtime.d.ts +93 -0
  864. package/dist/extensions/builtin/teach/teach-runtime.js +9 -0
  865. package/dist/extensions/builtin/teach/teach-types.d.ts +81 -0
  866. package/dist/extensions/builtin/teach/teach-types.js +0 -0
  867. package/dist/extensions/builtin/team/AGENT.md +112 -0
  868. package/dist/extensions/builtin/team/TESTING.md +299 -0
  869. package/dist/extensions/builtin/team/index.d.ts +26 -0
  870. package/dist/extensions/builtin/team/index.js +11 -0
  871. package/dist/extensions/builtin/team/team-dashboard.d.ts +13 -0
  872. package/dist/extensions/builtin/team/team-dashboard.js +1 -0
  873. package/dist/extensions/builtin/team/team-harness.d.ts +35 -0
  874. package/dist/extensions/builtin/team/team-harness.js +18 -0
  875. package/dist/extensions/builtin/team/team-mailbox.d.ts +50 -0
  876. package/dist/extensions/builtin/team/team-mailbox.js +4 -0
  877. package/dist/extensions/builtin/team/team-orchestrator.d.ts +39 -0
  878. package/dist/extensions/builtin/team/team-orchestrator.js +5 -0
  879. package/dist/extensions/builtin/team/team-parser.d.ts +84 -0
  880. package/dist/extensions/builtin/team/team-parser.js +38 -0
  881. package/dist/extensions/builtin/team/team-permissions.d.ts +63 -0
  882. package/dist/extensions/builtin/team/team-permissions.js +1 -0
  883. package/dist/extensions/builtin/team/team-presets.d.ts +45 -0
  884. package/dist/extensions/builtin/team/team-presets.js +2 -0
  885. package/dist/extensions/builtin/team/team-psyche.d.ts +14 -0
  886. package/dist/extensions/builtin/team/team-psyche.js +5 -0
  887. package/dist/extensions/builtin/team/team-runtime-helpers.d.ts +48 -0
  888. package/dist/extensions/builtin/team/team-runtime-helpers.js +2 -0
  889. package/dist/extensions/builtin/team/team-runtime.d.ts +91 -0
  890. package/dist/extensions/builtin/team/team-runtime.js +3 -0
  891. package/dist/extensions/builtin/team/team-state-store.d.ts +29 -0
  892. package/dist/extensions/builtin/team/team-state-store.js +2 -0
  893. package/dist/extensions/builtin/team/team-task-store.d.ts +35 -0
  894. package/dist/extensions/builtin/team/team-task-store.js +2 -0
  895. package/dist/extensions/builtin/team/team-transcript.d.ts +31 -0
  896. package/dist/extensions/builtin/team/team-transcript.js +2 -0
  897. package/dist/extensions/builtin/team/team-types.d.ts +250 -0
  898. package/dist/extensions/builtin/team/team-types.js +0 -0
  899. package/dist/extensions/builtin/team/team-ui.d.ts +50 -0
  900. package/dist/extensions/builtin/team/team-ui.js +2 -0
  901. package/dist/extensions/builtin/token-save/README.md +56 -0
  902. package/dist/extensions/builtin/token-save/config.d.ts +8 -0
  903. package/dist/extensions/builtin/token-save/config.js +1 -0
  904. package/dist/extensions/builtin/token-save/filters.d.ts +14 -0
  905. package/dist/extensions/builtin/token-save/filters.js +24 -0
  906. package/dist/extensions/builtin/token-save/index.d.ts +8 -0
  907. package/dist/extensions/builtin/token-save/index.js +4 -0
  908. package/dist/extensions/builtin/token-save/lexer.d.ts +11 -0
  909. package/dist/extensions/builtin/token-save/lexer.js +1 -0
  910. package/dist/extensions/builtin/token-save/recovery.d.ts +1 -0
  911. package/dist/extensions/builtin/token-save/recovery.js +1 -0
  912. package/dist/extensions/builtin/token-save/rewrite.d.ts +19 -0
  913. package/dist/extensions/builtin/token-save/rewrite.js +1 -0
  914. package/dist/extensions/builtin/token-save/runner.d.ts +14 -0
  915. package/dist/extensions/builtin/token-save/runner.js +3 -0
  916. package/dist/extensions/builtin/token-save/stream.d.ts +20 -0
  917. package/dist/extensions/builtin/token-save/stream.js +1 -0
  918. package/dist/extensions/builtin/token-save/toml-dsl.d.ts +25 -0
  919. package/dist/extensions/builtin/token-save/toml-dsl.js +3 -0
  920. package/dist/extensions/builtin/token-save/tracking.d.ts +24 -0
  921. package/dist/extensions/builtin/token-save/tracking.js +8 -0
  922. package/dist/extensions/optional/AGENT.md +11 -0
  923. package/dist/extensions/optional/export-html/index.d.ts +41 -0
  924. package/dist/extensions/optional/export-html/index.js +2 -0
  925. package/dist/extensions/optional/simplify/index.d.ts +35 -0
  926. package/dist/extensions/optional/simplify/index.js +77 -0
  927. package/dist/index.d.ts +9 -0
  928. package/dist/index.js +1 -0
  929. package/dist/main.d.ts +7 -0
  930. package/dist/main.js +41 -0
  931. package/dist/migrations.d.ts +30 -0
  932. package/dist/migrations.js +4 -0
  933. package/dist/models.d.ts +7 -0
  934. package/dist/models.js +1 -0
  935. package/dist/modes/acp/acp-mode.d.ts +30 -0
  936. package/dist/modes/acp/acp-mode.js +25 -0
  937. package/dist/modes/index.d.ts +14 -0
  938. package/dist/modes/index.js +1 -0
  939. package/dist/modes/interactive/agent-loop-status.d.ts +8 -0
  940. package/dist/modes/interactive/agent-loop-status.js +1 -0
  941. package/dist/modes/interactive/components/apikey-input.d.ts +10 -0
  942. package/dist/modes/interactive/components/apikey-input.js +3 -0
  943. package/dist/modes/interactive/components/armin.d.ts +39 -0
  944. package/dist/modes/interactive/components/armin.js +1 -0
  945. package/dist/modes/interactive/components/assistant-message.d.ts +21 -0
  946. package/dist/modes/interactive/components/assistant-message.js +1 -0
  947. package/dist/modes/interactive/components/attachments-bar.d.ts +37 -0
  948. package/dist/modes/interactive/components/attachments-bar.js +1 -0
  949. package/dist/modes/interactive/components/bash-execution.d.ts +40 -0
  950. package/dist/modes/interactive/components/bash-execution.js +13 -0
  951. package/dist/modes/interactive/components/bordered-loader.d.ts +21 -0
  952. package/dist/modes/interactive/components/bordered-loader.js +1 -0
  953. package/dist/modes/interactive/components/branch-summary-message.d.ts +21 -0
  954. package/dist/modes/interactive/components/branch-summary-message.js +3 -0
  955. package/dist/modes/interactive/components/buddy/pet-sprites.d.ts +31 -0
  956. package/dist/modes/interactive/components/buddy/pet-sprites.js +1 -0
  957. package/dist/modes/interactive/components/catui-loader.d.ts +55 -0
  958. package/dist/modes/interactive/components/catui-loader.js +1 -0
  959. package/dist/modes/interactive/components/compaction-summary-message.d.ts +21 -0
  960. package/dist/modes/interactive/components/compaction-summary-message.js +3 -0
  961. package/dist/modes/interactive/components/config-selector.d.ts +76 -0
  962. package/dist/modes/interactive/components/config-selector.js +1 -0
  963. package/dist/modes/interactive/components/countdown-timer.d.ts +19 -0
  964. package/dist/modes/interactive/components/countdown-timer.js +1 -0
  965. package/dist/modes/interactive/components/custom-editor.d.ts +37 -0
  966. package/dist/modes/interactive/components/custom-editor.js +1 -0
  967. package/dist/modes/interactive/components/custom-message.d.ts +26 -0
  968. package/dist/modes/interactive/components/custom-message.js +2 -0
  969. package/dist/modes/interactive/components/daxnuts.d.ts +28 -0
  970. package/dist/modes/interactive/components/daxnuts.js +1 -0
  971. package/dist/modes/interactive/components/diff.d.ts +17 -0
  972. package/dist/modes/interactive/components/diff.js +3 -0
  973. package/dist/modes/interactive/components/dynamic-border.d.ts +20 -0
  974. package/dist/modes/interactive/components/dynamic-border.js +1 -0
  975. package/dist/modes/interactive/components/editor-buddy-layout.d.ts +17 -0
  976. package/dist/modes/interactive/components/editor-buddy-layout.js +1 -0
  977. package/dist/modes/interactive/components/extension-editor.d.ts +25 -0
  978. package/dist/modes/interactive/components/extension-editor.js +1 -0
  979. package/dist/modes/interactive/components/extension-input.d.ts +29 -0
  980. package/dist/modes/interactive/components/extension-input.js +2 -0
  981. package/dist/modes/interactive/components/extension-selector.d.ts +32 -0
  982. package/dist/modes/interactive/components/extension-selector.js +2 -0
  983. package/dist/modes/interactive/components/footer.d.ts +34 -0
  984. package/dist/modes/interactive/components/footer.js +1 -0
  985. package/dist/modes/interactive/components/index.d.ts +44 -0
  986. package/dist/modes/interactive/components/index.js +1 -0
  987. package/dist/modes/interactive/components/keybinding-hints.d.ts +46 -0
  988. package/dist/modes/interactive/components/keybinding-hints.js +1 -0
  989. package/dist/modes/interactive/components/login-dialog.d.ts +47 -0
  990. package/dist/modes/interactive/components/login-dialog.js +1 -0
  991. package/dist/modes/interactive/components/memory-stats.d.ts +14 -0
  992. package/dist/modes/interactive/components/memory-stats.js +2 -0
  993. package/dist/modes/interactive/components/model-selector.d.ts +59 -0
  994. package/dist/modes/interactive/components/model-selector.js +2 -0
  995. package/dist/modes/interactive/components/notification-queue.d.ts +49 -0
  996. package/dist/modes/interactive/components/notification-queue.js +1 -0
  997. package/dist/modes/interactive/components/oauth-selector.d.ts +30 -0
  998. package/dist/modes/interactive/components/oauth-selector.js +1 -0
  999. package/dist/modes/interactive/components/persona-selector.d.ts +24 -0
  1000. package/dist/modes/interactive/components/persona-selector.js +1 -0
  1001. package/dist/modes/interactive/components/plan-progress-panel.d.ts +24 -0
  1002. package/dist/modes/interactive/components/plan-progress-panel.js +1 -0
  1003. package/dist/modes/interactive/components/provider-selector.d.ts +25 -0
  1004. package/dist/modes/interactive/components/provider-selector.js +1 -0
  1005. package/dist/modes/interactive/components/raw-text.d.ts +19 -0
  1006. package/dist/modes/interactive/components/raw-text.js +3 -0
  1007. package/dist/modes/interactive/components/scoped-models-selector.d.ts +54 -0
  1008. package/dist/modes/interactive/components/scoped-models-selector.js +1 -0
  1009. package/dist/modes/interactive/components/session-selector-search.d.ts +28 -0
  1010. package/dist/modes/interactive/components/session-selector-search.js +1 -0
  1011. package/dist/modes/interactive/components/session-selector.d.ts +100 -0
  1012. package/dist/modes/interactive/components/session-selector.js +2 -0
  1013. package/dist/modes/interactive/components/settings-selector.d.ts +77 -0
  1014. package/dist/modes/interactive/components/settings-selector.js +1 -0
  1015. package/dist/modes/interactive/components/show-images-selector.d.ts +15 -0
  1016. package/dist/modes/interactive/components/show-images-selector.js +1 -0
  1017. package/dist/modes/interactive/components/skill-invocation-message.d.ts +22 -0
  1018. package/dist/modes/interactive/components/skill-invocation-message.js +3 -0
  1019. package/dist/modes/interactive/components/soul-stats.d.ts +15 -0
  1020. package/dist/modes/interactive/components/soul-stats.js +2 -0
  1021. package/dist/modes/interactive/components/sub-agent-panel.d.ts +24 -0
  1022. package/dist/modes/interactive/components/sub-agent-panel.js +1 -0
  1023. package/dist/modes/interactive/components/task-status-panel.d.ts +36 -0
  1024. package/dist/modes/interactive/components/task-status-panel.js +1 -0
  1025. package/dist/modes/interactive/components/theme-selector.d.ts +16 -0
  1026. package/dist/modes/interactive/components/theme-selector.js +1 -0
  1027. package/dist/modes/interactive/components/thinking-selector.d.ts +16 -0
  1028. package/dist/modes/interactive/components/thinking-selector.js +1 -0
  1029. package/dist/modes/interactive/components/tool-execution.d.ts +80 -0
  1030. package/dist/modes/interactive/components/tool-execution.js +58 -0
  1031. package/dist/modes/interactive/components/tree-selector.d.ts +73 -0
  1032. package/dist/modes/interactive/components/tree-selector.js +1 -0
  1033. package/dist/modes/interactive/components/user-message-selector.d.ts +35 -0
  1034. package/dist/modes/interactive/components/user-message-selector.js +1 -0
  1035. package/dist/modes/interactive/components/user-message.d.ts +13 -0
  1036. package/dist/modes/interactive/components/user-message.js +1 -0
  1037. package/dist/modes/interactive/components/visual-truncate.d.ts +29 -0
  1038. package/dist/modes/interactive/components/visual-truncate.js +1 -0
  1039. package/dist/modes/interactive/controllers/auth-provider-config-controller.d.ts +64 -0
  1040. package/dist/modes/interactive/controllers/auth-provider-config-controller.js +1 -0
  1041. package/dist/modes/interactive/controllers/extension-ui/custom-overlay-host.d.ts +38 -0
  1042. package/dist/modes/interactive/controllers/extension-ui/custom-overlay-host.js +1 -0
  1043. package/dist/modes/interactive/controllers/extension-ui/editor-component-adapter.d.ts +37 -0
  1044. package/dist/modes/interactive/controllers/extension-ui/editor-component-adapter.js +1 -0
  1045. package/dist/modes/interactive/controllers/extension-ui/persistent-surface-registry.d.ts +53 -0
  1046. package/dist/modes/interactive/controllers/extension-ui/persistent-surface-registry.js +1 -0
  1047. package/dist/modes/interactive/controllers/extension-ui/prompt-host.d.ts +52 -0
  1048. package/dist/modes/interactive/controllers/extension-ui/prompt-host.js +2 -0
  1049. package/dist/modes/interactive/controllers/image-pipeline-controller.d.ts +106 -0
  1050. package/dist/modes/interactive/controllers/image-pipeline-controller.js +1 -0
  1051. package/dist/modes/interactive/controllers/input-submit-controller.d.ts +80 -0
  1052. package/dist/modes/interactive/controllers/input-submit-controller.js +2 -0
  1053. package/dist/modes/interactive/controllers/interrupt-controller.d.ts +75 -0
  1054. package/dist/modes/interactive/controllers/interrupt-controller.js +1 -0
  1055. package/dist/modes/interactive/controllers/model-overlay-controller.d.ts +127 -0
  1056. package/dist/modes/interactive/controllers/model-overlay-controller.js +3 -0
  1057. package/dist/modes/interactive/controllers/self-update-controller.d.ts +71 -0
  1058. package/dist/modes/interactive/controllers/self-update-controller.js +24 -0
  1059. package/dist/modes/interactive/controllers/settings-overlay-controller.d.ts +56 -0
  1060. package/dist/modes/interactive/controllers/settings-overlay-controller.js +2 -0
  1061. package/dist/modes/interactive/controllers/slash-dispatcher-controller.d.ts +74 -0
  1062. package/dist/modes/interactive/controllers/slash-dispatcher-controller.js +1 -0
  1063. package/dist/modes/interactive/controllers/stream-render-controller.d.ts +110 -0
  1064. package/dist/modes/interactive/controllers/stream-render-controller.js +2 -0
  1065. package/dist/modes/interactive/controllers/tree-overlay-controller.d.ts +55 -0
  1066. package/dist/modes/interactive/controllers/tree-overlay-controller.js +1 -0
  1067. package/dist/modes/interactive/footer-data-provider.d.ts +32 -0
  1068. package/dist/modes/interactive/footer-data-provider.js +1 -0
  1069. package/dist/modes/interactive/interactive-mode.d.ts +303 -0
  1070. package/dist/modes/interactive/interactive-mode.js +119 -0
  1071. package/dist/modes/interactive/services/tips.d.ts +20 -0
  1072. package/dist/modes/interactive/services/tips.js +1 -0
  1073. package/dist/modes/interactive/slash-command-arguments.d.ts +28 -0
  1074. package/dist/modes/interactive/slash-command-arguments.js +1 -0
  1075. package/dist/modes/interactive/state/interactive-state.d.ts +74 -0
  1076. package/dist/modes/interactive/state/interactive-state.js +1 -0
  1077. package/dist/modes/interactive/theme/dark.json +85 -0
  1078. package/dist/modes/interactive/theme/light.json +84 -0
  1079. package/dist/modes/interactive/theme/theme-schema.json +335 -0
  1080. package/dist/modes/interactive/theme/theme.d.ts +81 -0
  1081. package/dist/modes/interactive/theme/theme.js +16 -0
  1082. package/dist/modes/interactive/theme/warm.json +81 -0
  1083. package/dist/modes/print-mode.d.ts +38 -0
  1084. package/dist/modes/print-mode.js +2 -0
  1085. package/dist/modes/rpc/rpc-client.d.ts +221 -0
  1086. package/dist/modes/rpc/rpc-client.js +2 -0
  1087. package/dist/modes/rpc/rpc-mode.d.ts +14 -0
  1088. package/dist/modes/rpc/rpc-mode.js +1 -0
  1089. package/dist/modes/rpc/rpc-types.d.ts +449 -0
  1090. package/dist/modes/rpc/rpc-types.js +0 -0
  1091. package/dist/modes/utils/agent-loop-result-format.d.ts +10 -0
  1092. package/dist/modes/utils/agent-loop-result-format.js +1 -0
  1093. package/dist/modes/utils/clipboard-image.d.ts +10 -0
  1094. package/dist/modes/utils/clipboard-image.js +1 -0
  1095. package/dist/modes/utils/clipboard-native.d.ts +11 -0
  1096. package/dist/modes/utils/clipboard-native.js +1 -0
  1097. package/dist/modes/utils/clipboard.d.ts +1 -0
  1098. package/dist/modes/utils/clipboard.js +1 -0
  1099. package/dist/modes/utils/image-convert.d.ts +8 -0
  1100. package/dist/modes/utils/image-convert.js +1 -0
  1101. package/dist/modes/utils/image-resize.d.ts +41 -0
  1102. package/dist/modes/utils/image-resize.js +1 -0
  1103. package/dist/node_modules/@catui/agent-core/dist/agent-loop-continuations.js +1 -0
  1104. package/dist/node_modules/@catui/agent-core/dist/agent-loop-stream-events.js +1 -0
  1105. package/dist/node_modules/@catui/agent-core/dist/agent-loop-tool-results.js +3 -0
  1106. package/dist/node_modules/@catui/agent-core/dist/agent-loop-tool-summaries.js +1 -0
  1107. package/dist/node_modules/@catui/agent-core/dist/agent-loop.js +4 -0
  1108. package/dist/node_modules/@catui/agent-core/dist/agent-run-result.js +1 -0
  1109. package/dist/node_modules/@catui/agent-core/dist/agent.js +1 -0
  1110. package/dist/node_modules/@catui/agent-core/dist/errors.js +1 -0
  1111. package/dist/node_modules/@catui/agent-core/dist/index.js +1 -0
  1112. package/dist/node_modules/@catui/agent-core/dist/proxy.js +2 -0
  1113. package/dist/node_modules/@catui/agent-core/dist/structured-adaptive-agent-loop.js +2 -0
  1114. package/dist/node_modules/@catui/agent-core/dist/structured-adaptive-streaming-tool-executor.js +1 -0
  1115. package/dist/node_modules/@catui/agent-core/dist/structured-adaptive-tool-orchestration.js +3 -0
  1116. package/dist/node_modules/@catui/agent-core/dist/types.js +1 -0
  1117. package/dist/node_modules/@catui/agent-core/package.json +28 -0
  1118. package/dist/node_modules/@catui/ai/dist/api-registry.js +1 -0
  1119. package/dist/node_modules/@catui/ai/dist/cli.js +21 -0
  1120. package/dist/node_modules/@catui/ai/dist/config-path.js +1 -0
  1121. package/dist/node_modules/@catui/ai/dist/debug-logger.js +4 -0
  1122. package/dist/node_modules/@catui/ai/dist/env-api-keys.js +1 -0
  1123. package/dist/node_modules/@catui/ai/dist/env.js +1 -0
  1124. package/dist/node_modules/@catui/ai/dist/events.js +1 -0
  1125. package/dist/node_modules/@catui/ai/dist/index.js +1 -0
  1126. package/dist/node_modules/@catui/ai/dist/json.js +1 -0
  1127. package/dist/node_modules/@catui/ai/dist/models.generated.js +1 -0
  1128. package/dist/node_modules/@catui/ai/dist/models.js +1 -0
  1129. package/dist/node_modules/@catui/ai/dist/overflow.js +1 -0
  1130. package/dist/node_modules/@catui/ai/dist/providers/amazon-bedrock.js +1 -0
  1131. package/dist/node_modules/@catui/ai/dist/providers/anthropic.js +2 -0
  1132. package/dist/node_modules/@catui/ai/dist/providers/azure-openai-responses.js +1 -0
  1133. package/dist/node_modules/@catui/ai/dist/providers/github-copilot-headers.js +1 -0
  1134. package/dist/node_modules/@catui/ai/dist/providers/google-gemini-cli.js +2 -0
  1135. package/dist/node_modules/@catui/ai/dist/providers/google-shared.js +2 -0
  1136. package/dist/node_modules/@catui/ai/dist/providers/google-vertex.js +1 -0
  1137. package/dist/node_modules/@catui/ai/dist/providers/google.js +1 -0
  1138. package/dist/node_modules/@catui/ai/dist/providers/openai-codex-responses.js +7 -0
  1139. package/dist/node_modules/@catui/ai/dist/providers/openai-completions.js +6 -0
  1140. package/dist/node_modules/@catui/ai/dist/providers/openai-responses-shared.js +10 -0
  1141. package/dist/node_modules/@catui/ai/dist/providers/openai-responses.js +1 -0
  1142. package/dist/node_modules/@catui/ai/dist/providers/register-builtins.js +1 -0
  1143. package/dist/node_modules/@catui/ai/dist/providers/simple-options.js +1 -0
  1144. package/dist/node_modules/@catui/ai/dist/providers/transform-messages.js +1 -0
  1145. package/dist/node_modules/@catui/ai/dist/registry.js +1 -0
  1146. package/dist/node_modules/@catui/ai/dist/schema.js +1 -0
  1147. package/dist/node_modules/@catui/ai/dist/stream.js +1 -0
  1148. package/dist/node_modules/@catui/ai/dist/types.js +0 -0
  1149. package/dist/node_modules/@catui/ai/dist/utils/event-stream-types.js +0 -0
  1150. package/dist/node_modules/@catui/ai/dist/utils/event-stream.js +1 -0
  1151. package/dist/node_modules/@catui/ai/dist/utils/http-proxy.js +1 -0
  1152. package/dist/node_modules/@catui/ai/dist/utils/json-parse.js +1 -0
  1153. package/dist/node_modules/@catui/ai/dist/utils/oauth/anthropic.js +1 -0
  1154. package/dist/node_modules/@catui/ai/dist/utils/oauth/decode-credential.js +1 -0
  1155. package/dist/node_modules/@catui/ai/dist/utils/oauth/github-copilot.js +1 -0
  1156. package/dist/node_modules/@catui/ai/dist/utils/oauth/google-antigravity.js +1 -0
  1157. package/dist/node_modules/@catui/ai/dist/utils/oauth/google-gemini-cli.js +1 -0
  1158. package/dist/node_modules/@catui/ai/dist/utils/oauth/index.js +1 -0
  1159. package/dist/node_modules/@catui/ai/dist/utils/oauth/openai-codex.js +11 -0
  1160. package/dist/node_modules/@catui/ai/dist/utils/oauth/pkce.js +1 -0
  1161. package/dist/node_modules/@catui/ai/dist/utils/oauth/types.js +0 -0
  1162. package/dist/node_modules/@catui/ai/dist/utils/overflow.js +1 -0
  1163. package/dist/node_modules/@catui/ai/dist/utils/sanitize-unicode.js +1 -0
  1164. package/dist/node_modules/@catui/ai/dist/utils/typebox-helpers.js +1 -0
  1165. package/dist/node_modules/@catui/ai/dist/utils/validation.js +6 -0
  1166. package/dist/node_modules/@catui/ai/package.json +106 -0
  1167. package/dist/node_modules/@catui/tui/dist/autocomplete.js +2 -0
  1168. package/dist/node_modules/@catui/tui/dist/components/box.js +1 -0
  1169. package/dist/node_modules/@catui/tui/dist/components/cached-container.js +1 -0
  1170. package/dist/node_modules/@catui/tui/dist/components/cancellable-loader.js +1 -0
  1171. package/dist/node_modules/@catui/tui/dist/components/editor.js +21 -0
  1172. package/dist/node_modules/@catui/tui/dist/components/image.js +1 -0
  1173. package/dist/node_modules/@catui/tui/dist/components/input.js +2 -0
  1174. package/dist/node_modules/@catui/tui/dist/components/loader.js +1 -0
  1175. package/dist/node_modules/@catui/tui/dist/components/markdown.js +7 -0
  1176. package/dist/node_modules/@catui/tui/dist/components/select-list.js +1 -0
  1177. package/dist/node_modules/@catui/tui/dist/components/settings-list.js +1 -0
  1178. package/dist/node_modules/@catui/tui/dist/components/spacer.js +1 -0
  1179. package/dist/node_modules/@catui/tui/dist/components/text.js +1 -0
  1180. package/dist/node_modules/@catui/tui/dist/components/truncated-text.js +2 -0
  1181. package/dist/node_modules/@catui/tui/dist/editor-component.js +0 -0
  1182. package/dist/node_modules/@catui/tui/dist/fuzzy.js +1 -0
  1183. package/dist/node_modules/@catui/tui/dist/index.js +1 -0
  1184. package/dist/node_modules/@catui/tui/dist/keybindings.js +1 -0
  1185. package/dist/node_modules/@catui/tui/dist/keys.js +5 -0
  1186. package/dist/node_modules/@catui/tui/dist/kill-ring.js +1 -0
  1187. package/dist/node_modules/@catui/tui/dist/stdin-buffer.js +1 -0
  1188. package/dist/node_modules/@catui/tui/dist/terminal-image.js +1 -0
  1189. package/dist/node_modules/@catui/tui/dist/terminal.js +1 -0
  1190. package/dist/node_modules/@catui/tui/dist/tui.js +12 -0
  1191. package/dist/node_modules/@catui/tui/dist/undo-stack.js +1 -0
  1192. package/dist/node_modules/@catui/tui/dist/utils.js +2 -0
  1193. package/dist/node_modules/@catui/tui/package.json +37 -0
  1194. package/dist/packages/mem-core/src/store.d.ts +21 -0
  1195. package/dist/packages/mem-core/src/store.js +1 -0
  1196. package/dist/packages/mem-core/src/types.d.ts +329 -0
  1197. package/dist/packages/mem-core/src/types.js +0 -0
  1198. package/dist/packages/protocol/src/commands.d.ts +33 -0
  1199. package/dist/packages/protocol/src/commands.js +0 -0
  1200. package/dist/packages/protocol/src/flags.d.ts +20 -0
  1201. package/dist/packages/protocol/src/flags.js +0 -0
  1202. package/dist/packages/protocol/src/hooks.d.ts +17 -0
  1203. package/dist/packages/protocol/src/hooks.js +0 -0
  1204. package/dist/packages/protocol/src/index.d.ts +15 -0
  1205. package/dist/packages/protocol/src/index.js +1 -0
  1206. package/dist/packages/protocol/src/lifecycle.d.ts +61 -0
  1207. package/dist/packages/protocol/src/lifecycle.js +0 -0
  1208. package/dist/packages/protocol/src/tools.d.ts +77 -0
  1209. package/dist/packages/protocol/src/tools.js +0 -0
  1210. package/dist/packages/soul-core/src/config.d.ts +20 -0
  1211. package/dist/packages/soul-core/src/config.js +1 -0
  1212. package/dist/packages/soul-core/src/diagnostics.d.ts +23 -0
  1213. package/dist/packages/soul-core/src/diagnostics.js +1 -0
  1214. package/dist/packages/soul-core/src/evolution.d.ts +75 -0
  1215. package/dist/packages/soul-core/src/evolution.js +1 -0
  1216. package/dist/packages/soul-core/src/index.d.ts +13 -0
  1217. package/dist/packages/soul-core/src/index.js +1 -0
  1218. package/dist/packages/soul-core/src/injection.d.ts +35 -0
  1219. package/dist/packages/soul-core/src/injection.js +8 -0
  1220. package/dist/packages/soul-core/src/manager.d.ts +101 -0
  1221. package/dist/packages/soul-core/src/manager.js +1 -0
  1222. package/dist/packages/soul-core/src/store.d.ts +62 -0
  1223. package/dist/packages/soul-core/src/store.js +1 -0
  1224. package/dist/packages/soul-core/src/types.d.ts +317 -0
  1225. package/dist/packages/soul-core/src/types.js +0 -0
  1226. package/dist/public-config.d.ts +12 -0
  1227. package/dist/public-config.js +1 -0
  1228. package/dist/runtime.d.ts +9 -0
  1229. package/dist/runtime.js +1 -0
  1230. package/dist/session-compaction.d.ts +7 -0
  1231. package/dist/session-compaction.js +1 -0
  1232. package/dist/session.d.ts +7 -0
  1233. package/dist/session.js +1 -0
  1234. package/dist/skills.d.ts +7 -0
  1235. package/dist/skills.js +1 -0
  1236. package/dist/tools.d.ts +7 -0
  1237. package/dist/tools.js +1 -0
  1238. package/dist/utils/changelog.d.ts +20 -0
  1239. package/dist/utils/changelog.js +4 -0
  1240. package/dist/utils/diagnostics.d.ts +37 -0
  1241. package/dist/utils/diagnostics.js +1 -0
  1242. package/dist/utils/frontmatter.d.ts +7 -0
  1243. package/dist/utils/frontmatter.js +4 -0
  1244. package/dist/utils/git.d.ts +25 -0
  1245. package/dist/utils/git.js +1 -0
  1246. package/dist/utils/mime.d.ts +1 -0
  1247. package/dist/utils/mime.js +1 -0
  1248. package/dist/utils/photon.d.ts +6 -0
  1249. package/dist/utils/photon.js +1 -0
  1250. package/dist/utils/startup-profiler.d.ts +87 -0
  1251. package/dist/utils/startup-profiler.js +2 -0
  1252. package/docs/codex-goal-command-impl.md +1055 -0
  1253. package/docs/codex-goal-vs-grub.md +500 -0
  1254. package/docs/custom-provider.md +27 -0
  1255. package/docs/extensions.md +27 -0
  1256. package/docs/keybindings.md +27 -0
  1257. package/docs/loop /351/207/215/346/236/204/345/256/214/346/210/220/346/200/273/347/273/223.md" +251 -0
  1258. package/docs/loop /351/207/215/346/236/204/345/256/214/346/210/220/346/212/245/345/221/212.md" +123 -0
  1259. package/docs/loop /351/207/215/346/236/204/346/226/271/346/241/210.md" +1222 -0
  1260. package/docs/loop /351/207/215/346/236/204/346/226/271/346/241/210/345/256/236/347/216/260/346/212/245/345/221/212.md" +158 -0
  1261. package/docs/loop /351/207/215/346/236/204/346/226/271/346/241/210/345/257/271/346/257/224/345/210/206/346/236/220.md" +128 -0
  1262. package/docs/loop /351/207/215/346/236/204/350/256/241/345/210/222.md" +321 -0
  1263. package/docs/loop-usage-examples.md +215 -0
  1264. package/docs/models.md +27 -0
  1265. package/docs/packages.md +27 -0
  1266. package/docs/pi-design-philosophy.md +457 -0
  1267. package/docs/planmode.md +1987 -0
  1268. package/docs/prompt-templates.md +27 -0
  1269. package/docs/providers.md +27 -0
  1270. package/docs/sdk.md +27 -0
  1271. package/docs/skills.md +27 -0
  1272. package/docs/themes.md +27 -0
  1273. package/docs/tui.md +27 -0
  1274. package/package.json +191 -0
@@ -0,0 +1,145 @@
1
+ /**
2
+ * [WHO]: AgentDefinitionRegistry — agent name registry, definition cache, lookup
3
+ * [FROM]: Depends on ./agent-definition for AgentDefinition, BUILT_IN_AGENT_DEFINITIONS
4
+ * [TO]: Consumed by ./agent-tool, ./index.ts, extensions/builtin/subagent/*
5
+ * [HERE]: core/sub-agent/agent-registry.ts - Agent registration and lookup per CC §XIV
6
+ * [COVENANT]: Change registry shape → update P2 AGENT.md member list
7
+ */
8
+ import type { AgentDefinition } from "./agent-definition.js";
9
+ /**
10
+ * Manages agent definitions and the name→agentId mapping.
11
+ *
12
+ * Per CC §XIV:
13
+ * - agentDefinitions has activeAgents (currently usable) and allAgents (including disabled)
14
+ * - agentNameRegistry maps name → agentId for SendMessage routing
15
+ * - Definitions are loaded at startup, config change, and plugin load
16
+ * - Sources: built-in, plugin, user custom (.catui/agents/*.md)
17
+ */
18
+ export declare class AgentDefinitionRegistry {
19
+ /** Currently active (usable) agent definitions */
20
+ private activeAgents;
21
+ /** All agent definitions (including disabled/filtered) */
22
+ private allAgents;
23
+ /** Name → agentId mapping (for SendMessage routing and name-based lookup) */
24
+ private agentNameRegistry;
25
+ /** Failed agent definition files (for error reporting) */
26
+ private failedFiles;
27
+ /** Path for persisting agentNameRegistry to disk (CC §XIV, §18.6) */
28
+ private persistencePath;
29
+ /** Project cwd for loading custom agent definitions from .catui/agents/ */
30
+ private cwd;
31
+ /** Global agent config directory for user-scoped agent definitions */
32
+ private agentDir;
33
+ /**
34
+ * @param persistencePath Optional path for agentNameRegistry JSON persistence.
35
+ * Per CC §14.1, the name registry is persisted so it survives process restarts.
36
+ * Typical: join(cwd, ".catui", "agent-registry.json")
37
+ */
38
+ constructor(persistencePath?: string);
39
+ /**
40
+ * Reload all agent definitions from all sources.
41
+ * Called at startup, config change, and plugin load (CC §XIV).
42
+ */
43
+ reload(): void;
44
+ /**
45
+ * Resolve an agent type name to its definition.
46
+ * Matches CC's resolveAgentType (Mq8) function.
47
+ *
48
+ * @param subagentType The agent type to look up (e.g. "Explore", "general-purpose")
49
+ * @returns The matching AgentDefinition, or undefined if not found
50
+ */
51
+ resolve(subagentType: string): AgentDefinition | undefined;
52
+ /**
53
+ * Resolve an agent type, throwing if not found or denied.
54
+ * Matches CC's agent type resolution path (§VI step 5).
55
+ *
56
+ * @param subagentType The agent type to look up
57
+ * @param deniedTypes Optional set of agent types denied by permission rules
58
+ * @returns The matching AgentDefinition
59
+ * @throws Error if agent type not found or denied
60
+ */
61
+ resolveOrThrow(subagentType: string, deniedTypes?: ReadonlySet<string>): AgentDefinition;
62
+ /**
63
+ * Get the default fork agent definition.
64
+ * Used when subagent_type is not specified (CC §VI step 5).
65
+ */
66
+ getDefaultForkAgent(): AgentDefinition;
67
+ /**
68
+ * Register a name → agentId mapping.
69
+ * Used by the Agent tool when a `name` parameter is provided.
70
+ * This allows SendMessage({to: name}) to address a running agent.
71
+ * Persists to disk if persistencePath is configured (CC §18.6).
72
+ */
73
+ registerAgentName(name: string, agentId: string): void;
74
+ /**
75
+ * Find an agent by its registered name.
76
+ * Used by SendMessage routing.
77
+ */
78
+ findAgentByName(name: string): string | undefined;
79
+ /**
80
+ * Remove a name registration (when the agent completes).
81
+ * Persists to disk if persistencePath is configured (CC §18.6).
82
+ */
83
+ unregisterAgentName(name: string): void;
84
+ /**
85
+ * Load agentNameRegistry from disk.
86
+ * Called during reload(). Silently ignores missing or corrupt files.
87
+ */
88
+ private loadNameRegistry;
89
+ /**
90
+ * Persist agentNameRegistry to disk.
91
+ * Called on every register/unregister. Errors are logged but not thrown.
92
+ */
93
+ private saveNameRegistry;
94
+ /** Get the current persistence path (if configured). */
95
+ getPersistencePath(): string | undefined;
96
+ /** Configure directories for custom agent loading and trigger async reload. */
97
+ configureDirectories(cwd: string, agentDir: string): Promise<void>;
98
+ /** Load custom agent definitions from configured directories (async). */
99
+ loadCustomAgents(): Promise<void>;
100
+ /**
101
+ * Set or update the persistence path for agentNameRegistry.
102
+ * Called from createAgentTool when the parent session's cwd is known.
103
+ * If the registry already has entries (from a previous session), they are
104
+ * preserved; only the path is updated for future saves.
105
+ */
106
+ setPersistencePath(path: string): void;
107
+ /**
108
+ * Register a custom agent definition (from plugin or user settings).
109
+ * Per CC §XIV, definitions can come from:
110
+ * - Plugin definitions (ao6)
111
+ * - User custom agents (.catui/agents/*.md)
112
+ * - Flag / settings overrides
113
+ */
114
+ registerCustomAgent(definition: AgentDefinition): void;
115
+ /**
116
+ * Remove a custom agent definition.
117
+ */
118
+ unregisterCustomAgent(agentType: string): void;
119
+ /** Get all currently active agent type names. */
120
+ getActiveAgentTypes(): string[];
121
+ /** Get all active agent definitions. */
122
+ getActiveDefinitions(): AgentDefinition[];
123
+ /** Get all agent definitions (including inactive). */
124
+ getAllDefinitions(): AgentDefinition[];
125
+ /** Get failed file entries (for error reporting). */
126
+ getFailedFiles(): Array<{
127
+ path: string;
128
+ error: string;
129
+ }>;
130
+ /** Get the name registry (for SendMessage). */
131
+ getNameRegistry(): Map<string, string>;
132
+ /**
133
+ * Record a failed agent definition file.
134
+ * Used during loading when a .md or .json file fails to parse.
135
+ */
136
+ recordFailedFile(path: string, error: string): void;
137
+ /** Whether an agent definition is a built-in type. */
138
+ isBuiltIn(agentType: string): boolean;
139
+ }
140
+ /**
141
+ * Default global agent definition registry instance.
142
+ * Per CC §XIV, this is maintained in AppState and refreshed at
143
+ * startup, config change, and plugin load.
144
+ */
145
+ export declare const agentDefinitionRegistry: AgentDefinitionRegistry;
@@ -0,0 +1 @@
1
+ var g=Object.defineProperty;var n=(r,e)=>g(r,"name",{value:e,configurable:!0});import{BUILT_IN_AGENT_DEFINITIONS as a,DEFAULT_FORK_AGENT as h}from"./agent-definition.js";import{loadCustomAgentDefinitions as o}from"./agent-definition-loader.js";import{readFile as c,writeFile as l,mkdir as A}from"node:fs/promises";class f{static{n(this,"AgentDefinitionRegistry")}activeAgents=new Map;allAgents=new Map;agentNameRegistry=new Map;failedFiles=[];persistencePath;cwd;agentDir;constructor(e){this.persistencePath=e,this.reload()}reload(){this.activeAgents.clear(),this.allAgents.clear(),this.failedFiles=[];for(const[e,t]of a)this.allAgents.set(e,t),this.activeAgents.set(e,t);this.loadNameRegistry()}resolve(e){return this.activeAgents.get(e)}resolveOrThrow(e,t){const s=this.activeAgents.get(e);if(!s)throw new Error(`Agent type '${e}' not found. Available types: ${this.getActiveAgentTypes().join(", ")}`);if(t?.has(e))throw new Error(`Agent type '${e}' has been denied by permission rules.`);return s}getDefaultForkAgent(){return h}registerAgentName(e,t){this.agentNameRegistry.set(e,t),this.saveNameRegistry()}findAgentByName(e){return this.agentNameRegistry.get(e)}unregisterAgentName(e){this.agentNameRegistry.delete(e),this.saveNameRegistry()}loadNameRegistry(){this.persistencePath&&c(this.persistencePath,"utf-8").then(e=>{try{const t=JSON.parse(e);if(t&&typeof t=="object"&&!Array.isArray(t)){this.agentNameRegistry.clear();for(const[s,i]of Object.entries(t))typeof s=="string"&&typeof i=="string"&&this.agentNameRegistry.set(s,i)}}catch{}}).catch(()=>{})}saveNameRegistry(){if(!this.persistencePath)return;const e={};for(const[s,i]of this.agentNameRegistry)e[s]=i;const t=this.persistencePath.replace(/[/\\][^/\\]+$/,"");A(t,{recursive:!0}).then(()=>l(this.persistencePath,JSON.stringify(e,null,2),"utf-8")).catch(()=>{})}getPersistencePath(){return this.persistencePath}async configureDirectories(e,t){this.cwd=e,this.agentDir=t,await this.loadCustomAgents()}async loadCustomAgents(){if(!(!this.cwd||!this.agentDir))try{const e=await o(this.cwd,this.agentDir);for(const t of e.definitions)this.allAgents.set(t.agentType,t),this.activeAgents.set(t.agentType,t);this.failedFiles.push(...e.failedFiles)}catch{}}setPersistencePath(e){this.persistencePath=e,this.loadNameRegistry()}registerCustomAgent(e){this.allAgents.set(e.agentType,e),this.activeAgents.set(e.agentType,e)}unregisterCustomAgent(e){this.activeAgents.delete(e),this.allAgents.delete(e)}getActiveAgentTypes(){return Array.from(this.activeAgents.keys())}getActiveDefinitions(){return Array.from(this.activeAgents.values())}getAllDefinitions(){return Array.from(this.allAgents.values())}getFailedFiles(){return[...this.failedFiles]}getNameRegistry(){return new Map(this.agentNameRegistry)}recordFailedFile(e,t){this.failedFiles.push({path:e,error:t})}isBuiltIn(e){return a.has(e)}}const p=new f;export{f as AgentDefinitionRegistry,p as agentDefinitionRegistry};
@@ -0,0 +1,28 @@
1
+ /**
2
+ * [WHO]: extractAgentResult, truncateResult — result extraction and truncation per CC §11.2 (VS8)
3
+ * [FROM]: Depends on @catui/agent-core for AgentMessage, ./agent-definition for MAX_RESULT_SIZE_CHARS
4
+ * [TO]: Consumed by ./agent-tool
5
+ * [HERE]: core/sub-agent/agent-result-extractor.ts - Sub-agent result extraction
6
+ */
7
+ import type { AgentMessage } from "@catui/agent-core";
8
+ import type { AgentOutputCompleted, AgentSpawnMetadata, AgentUsage } from "./agent-input-output.js";
9
+ /**
10
+ * Extract the result from a completed sub-agent run.
11
+ * Matches CC's VS8 function exactly.
12
+ *
13
+ * Per CC §11.2:
14
+ * 1. Find the last assistant message
15
+ * 2. Extract text content from it
16
+ * 3. If last message has no text, search backwards for one that does
17
+ * 4. Calculate totals (tokens, tool use count, duration)
18
+ * 5. Truncate at maxResultSizeChars (100,000)
19
+ */
20
+ export declare function extractAgentResult(messages: AgentMessage[], agentId: string, metadata: AgentSpawnMetadata): AgentOutputCompleted;
21
+ /**
22
+ * Truncate result content to maxResultSizeChars.
23
+ * Per CC §VI step 14: maxResultSizeChars = 100,000 (1e5).
24
+ */
25
+ export declare function truncateResult(result: AgentOutputCompleted, maxChars?: number): AgentOutputCompleted;
26
+ export declare function calculateTotalTokens(messages: AgentMessage[]): number;
27
+ export declare function calculateTotalToolUseCount(messages: AgentMessage[]): number;
28
+ export declare function calculateUsage(messages: AgentMessage[]): AgentUsage;
@@ -0,0 +1,3 @@
1
+ var x=Object.defineProperty;var u=(e,t)=>x(e,"name",{value:t,configurable:!0});import{MAX_RESULT_SIZE_CHARS as _}from"./agent-definition.js";function C(e,t,o){const n=g(e);let i;if(n?i=f(n):i=[],i.length===0)for(let s=e.length-1;s>=0;s--){const a=e[s];if(a.role!=="assistant")continue;const l=f(a);if(l.length>0){i=l;break}}const r=h(e),c=T(e),p=k(e);return{agentId:t,agentType:o.agentType,content:i,totalToolUseCount:c,totalDurationMs:Date.now()-o.startTime,totalTokens:r,usage:p,status:"completed",prompt:o.prompt}}u(C,"extractAgentResult");function A(e,t=_){if(e.content.reduce((r,c)=>r+c.text.length,0)<=t)return e;let n=t;const i=e.content.map(r=>{if(n<=0)return{type:"text",text:""};if(r.text.length<=n)return n-=r.text.length,r;const c=r.text.slice(0,n)+`
2
+
3
+ [Result truncated due to size limit]`;return n=0,{type:"text",text:c}});return{...e,content:i.filter(r=>r.text.length>0)}}u(A,"truncateResult");function g(e){for(let t=e.length-1;t>=0;t--)if(e[t].role==="assistant")return e[t]}u(g,"findLastAssistantMessage");function f(e){const t=e.content;return t?typeof t=="string"?[{type:"text",text:t}]:Array.isArray(t)?t.filter(o=>o.type==="text"&&typeof o.text=="string").map(o=>({type:"text",text:o.text})):[]:[]}u(f,"extractTextContentFromMessage");function h(e){let t=0;for(const o of e)if(o.role==="assistant"){const n=o.usage;n&&(t+=n.total_tokens??(n.input??0)+(n.output??0))}return t}u(h,"calculateTotalTokens");function T(e){let t=0;for(const o of e)if(o.role==="assistant"){const n=o.content;Array.isArray(n)&&(t+=n.filter(i=>i.type==="toolCall").length)}return t}u(T,"calculateTotalToolUseCount");function k(e){let t=0,o=0,n=0,i=0;for(const r of e)if(r.role==="assistant"){const c=r.usage;c&&(t+=c.input??0,o+=c.output??0,n+=c.cacheCreation??c.cache_creation_input_tokens??0,i+=c.cacheRead??c.cache_read_input_tokens??0)}return{input_tokens:t,output_tokens:o,cache_creation_input_tokens:n||null,cache_read_input_tokens:i||null,server_tool_use:null,service_tier:null,cache_creation:null}}u(k,"calculateUsage");export{h as calculateTotalTokens,T as calculateTotalToolUseCount,k as calculateUsage,C as extractAgentResult,A as truncateResult};
@@ -0,0 +1,71 @@
1
+ /**
2
+ * [WHO]: Provides emitAgentSelected, emitAgentCompleted, emitAgentAutoModeDecision, emitAgentMemoryLoaded —
3
+ * structured telemetry events for the Agent tool (CC §XVI: tengu_agent_tool_selected / _completed / _auto_mode_decision / _memory_loaded)
4
+ * [FROM]: Depends on core/runtime/logger (structured logging), core/platform/telemetry types (future insforge sink)
5
+ * [TO]: Consumed by ./agent-tool.ts (execute paths) and ./agent-handoff-safety.ts (auto mode decision)
6
+ * [HERE]: core/sub-agent/agent-telemetry.ts — telemetry emission module, mirrors CC's `d()` analytics function
7
+ */
8
+ /** CC: d("tengu_agent_tool_selected", {...}) */
9
+ export interface AgentSelectedEvent {
10
+ agent_type: string;
11
+ model: string;
12
+ source: string;
13
+ color?: string;
14
+ is_built_in_agent: boolean;
15
+ is_resume: boolean;
16
+ is_async: boolean;
17
+ is_fork: boolean;
18
+ }
19
+ /** CC: d("tengu_agent_tool_completed", {...}) */
20
+ export interface AgentCompletedEvent {
21
+ agent_type: string;
22
+ model: string;
23
+ prompt_char_count: number;
24
+ response_char_count: number;
25
+ assistant_message_count: number;
26
+ total_tool_use_count: number;
27
+ duration_ms: number;
28
+ total_tokens: number;
29
+ is_built_in_agent: boolean;
30
+ is_async: boolean;
31
+ }
32
+ /** CC: d("tengu_auto_mode_decision", {...}) */
33
+ export interface AgentAutoModeDecisionEvent {
34
+ decision: "blocked" | "allowed";
35
+ toolName: string;
36
+ subagentType: string;
37
+ toolUseCount: number;
38
+ isHandoff: boolean;
39
+ }
40
+ /** CC: d("tengu_agent_memory_loaded", {...}) */
41
+ export interface AgentMemoryLoadedEvent {
42
+ scope: string;
43
+ source: string;
44
+ }
45
+ /**
46
+ * Emit telemetry for agent tool selection (CC §XVI: tengu_agent_tool_selected).
47
+ * Called at the start of executeSync / executeAsync, after agent definition is resolved.
48
+ */
49
+ export declare function emitAgentSelected(event: AgentSelectedEvent): void;
50
+ /**
51
+ * Emit telemetry for agent tool completion (CC §XVI: tengu_agent_tool_completed).
52
+ * Called after executeSync / executeAsync produces a result.
53
+ */
54
+ export declare function emitAgentCompleted(event: AgentCompletedEvent): void;
55
+ /**
56
+ * Emit telemetry for auto-mode handoff decision (CC §XVI: tengu_auto_mode_decision).
57
+ * Called when checkHandoffSafety makes a decision in auto mode.
58
+ */
59
+ export declare function emitAgentAutoModeDecision(event: AgentAutoModeDecisionEvent): void;
60
+ /**
61
+ * Emit telemetry for agent memory loading (CC §XVI: tengu_agent_memory_loaded).
62
+ * Called when agent definition memory is resolved.
63
+ */
64
+ export declare function emitAgentMemoryLoaded(event: AgentMemoryLoadedEvent): void;
65
+ /**
66
+ * Inject an EventBus for telemetry forwarding. Called during runtime init
67
+ * when the EventBus is available. Without injection, telemetry is logger-only.
68
+ */
69
+ export declare function setAgentTelemetryEventBus(bus: {
70
+ emit(channel: string, data: unknown): void;
71
+ }): void;
@@ -0,0 +1 @@
1
+ var a=Object.defineProperty;var o=(e,s)=>a(e,"name",{value:s,configurable:!0});import{createLogger as c}from"../platform/utils/logger.js";const t=c({component:"agent-telemetry",level:"debug"});function r(e){t.debug(`[agent-telemetry] tengu_agent_tool_selected: type=${e.agent_type} model=${e.model} source=${e.source} async=${e.is_async} fork=${e.is_fork} built_in=${e.is_built_in_agent}`),n("agent:tool_selected",e)}o(r,"emitAgentSelected");function g(e){t.debug(`[agent-telemetry] tengu_agent_tool_completed: type=${e.agent_type} model=${e.model} duration=${e.duration_ms}ms tokens=${e.total_tokens} tools=${e.total_tool_use_count} prompt_chars=${e.prompt_char_count} response_chars=${e.response_char_count} async=${e.is_async}`),n("agent:tool_completed",e)}o(g,"emitAgentCompleted");function i(e){t.debug(`[agent-telemetry] tengu_auto_mode_decision: decision=${e.decision} subagentType=${e.subagentType} toolUseCount=${e.toolUseCount} isHandoff=${e.isHandoff}`),n("agent:auto_mode_decision",e)}o(i,"emitAgentAutoModeDecision");function m(e){t.debug(`[agent-telemetry] tengu_agent_memory_loaded: scope=${e.scope} source=${e.source}`),n("agent:memory_loaded",e)}o(m,"emitAgentMemoryLoaded");let _=null;function d(e){_=e}o(d,"setAgentTelemetryEventBus");function n(e,s){try{_?.emit(e,s)}catch{}}o(n,"_emitToEventBus");export{i as emitAgentAutoModeDecision,g as emitAgentCompleted,m as emitAgentMemoryLoaded,r as emitAgentSelected,d as setAgentTelemetryEventBus};
@@ -0,0 +1,89 @@
1
+ /**
2
+ * [WHO]: filterToolsForAgent, resolveAgentModel, isReadOnlyTool, getToolDescriptionsForAgent
3
+ * [FROM]: Depends on ./agent-definition for AgentDefinition, AgentPermissionMode, core/tools for Tool
4
+ * [TO]: Consumed by ./agent-tool, extensions/builtin/subagent/*
5
+ * [HERE]: core/sub-agent/agent-tool-filter.ts - Tool filtering and model resolution per CC §IX, §XVIII.2
6
+ * [COVENANT]: Change filter logic → update agent-tool handler
7
+ */
8
+ import type { AgentTool } from "@catui/agent-core";
9
+ import type { AgentDefinition, AgentPermissionMode } from "./agent-definition.js";
10
+ import type { Model } from "@catui/ai/types";
11
+ import type { ModelRegistry } from "../model-registry.js";
12
+ /**
13
+ * Filter the parent's tool set for a sub-agent.
14
+ *
15
+ * Per CC §IX:
16
+ * - If agentDef.tools === ["*"] → inherit all parent tools (with exact match for fork)
17
+ * - If agentDef.tools is a whitelist → only include listed tools
18
+ * - If agentDef.disallowedTools is set → remove those from parent tools
19
+ * - Permission mode "plan" → filter to read-only tools only
20
+ * - MCP tools are added after permission filtering
21
+ *
22
+ * @param agentDef The agent definition controlling tool access
23
+ * @param parentTools The parent session's available tools
24
+ * @param permissionMode Permission context for the sub-agent
25
+ * @param mcpTools Additional MCP tools to include
26
+ * @param isFork Whether this is a fork agent (uses exact parent tools, no re-filtering)
27
+ * @returns The filtered tool set for the sub-agent
28
+ */
29
+ export declare function filterToolsForAgent(agentDef: AgentDefinition, parentTools: AgentTool[], permissionMode: AgentPermissionMode, mcpTools?: AgentTool[], isFork?: boolean): AgentTool[];
30
+ /**
31
+ * Check if a tool is read-only (non-destructive).
32
+ * Used by plan mode to filter tools.
33
+ *
34
+ * Per CC §IX:
35
+ * - Plan mode only allows read-only tools
36
+ * - Read, Grep, Find, Ls, Time are read-only
37
+ * - Bash, Edit, Write are NOT read-only
38
+ * - Agent (sub-agent spawning) is NOT read-only
39
+ */
40
+ export declare function isReadOnlyTool(tool: AgentTool): boolean;
41
+ /**
42
+ * Check if a tool is the Agent tool (sub-agent spawning).
43
+ * Used to prevent recursive agent spawning in certain agent types.
44
+ */
45
+ export declare function isAgentTool(tool: AgentTool): boolean;
46
+ /**
47
+ * Check if a tool is a read tool (for canReadOutputFile in async output).
48
+ */
49
+ export declare function isReadTool(tool: AgentTool): boolean;
50
+ /**
51
+ * Check if a tool is a bash tool (for canReadOutputFile in async output).
52
+ */
53
+ export declare function isBashTool(tool: AgentTool): boolean;
54
+ /**
55
+ * Resolve the model for a sub-agent.
56
+ *
57
+ * Per CC §VI step 7 (JE6 equivalent):
58
+ * Priority: user override > agent definition model > parent model.
59
+ *
60
+ * Special values:
61
+ * - "inherit" or undefined → use parent model
62
+ * - "haiku"/"sonnet"/"opus" → resolve to the corresponding model tier
63
+ * - Any other string → try to find a matching model by id or name substring
64
+ *
65
+ * @param agentDefModel Model specified in the agent definition
66
+ * @param parentModel The parent session's current model
67
+ * @param userOverride User-specified model override (from Agent tool call)
68
+ * @param modelRegistry For resolving tier names to concrete models
69
+ * @returns The resolved model to use
70
+ */
71
+ export declare function resolveAgentModel(agentDefModel: string | undefined, parentModel: Model<any> | undefined, userOverride: string | undefined, modelRegistry?: ModelRegistry): Model<any> | undefined;
72
+ /**
73
+ * Build tool descriptions for the sub-agent's system prompt.
74
+ * Only includes descriptions for tools the agent actually has access to.
75
+ */
76
+ export declare function getToolDescriptionsForAgent(tools: AgentTool[], toolGuidance: Record<string, string>): string;
77
+ /**
78
+ * Determine the permission context for a sub-agent.
79
+ *
80
+ * Per CC §XII.2:
81
+ * - Agent definition can override permission mode
82
+ * - But cannot be more permissive than the parent
83
+ * - Default: "acceptEdits" if not specified
84
+ *
85
+ * @param parentMode Parent's permission mode
86
+ * @param agentDefMode Agent definition's permission mode override
87
+ * @returns The resolved permission mode (no more permissive than parent)
88
+ */
89
+ export declare function resolvePermissionMode(parentMode: AgentPermissionMode | undefined, agentDefMode: AgentPermissionMode | undefined): AgentPermissionMode;
@@ -0,0 +1,2 @@
1
+ var u=Object.defineProperty;var i=(e,n)=>u(e,"name",{value:n,configurable:!0});function p(e,n,s,r=[],t=!1){if(t)return[...n];let o=[...n];if(e.tools&&e.tools.length>0)if(e.tools.includes("*"))o=[...n];else{const a=new Set(e.tools),l=new Set(Array.from(a.values()).map(c=>c.toLowerCase()));o=o.filter(c=>l.has(c.name.toLowerCase()))}if(e.disallowedTools&&e.disallowedTools.length>0){const a=new Set(Array.from(e.disallowedTools.values()).map(l=>l.toLowerCase()));o=o.filter(l=>!a.has(l.name.toLowerCase()))}return s==="plan"&&(o=o.filter(a=>f(a))),o.push(...r),o}i(p,"filterToolsForAgent");function f(e){const n=new Set(["read","grep","find","ls","time","Read","Grep","Glob","Find","Ls","Time"]);return n.has(e.name)||n.has(e.name.toLowerCase())}i(f,"isReadOnlyTool");function w(e){return e.name==="Agent"||e.name==="agent"||e.name==="Task"||e.name==="task"}i(w,"isAgentTool");function h(e){return e.name==="Read"||e.name==="read"}i(h,"isReadTool");function x(e){return e.name==="Bash"||e.name==="bash"}i(x,"isBashTool");function d(e,n){if(!n)return;const s=n.getAvailable();if(s.length===0)return;const r=e.toLowerCase(),t=s.find(o=>o.id===e);return t||s.find(o=>o.id.toLowerCase().includes(r)||o.name.toLowerCase().includes(r))}i(d,"resolveModelFromSpecifier");function L(e,n,s,r){if(s){const t=d(s,r);if(t)return t}if(e&&e!=="inherit"){const t=d(e,r);if(t)return t}return n}i(L,"resolveAgentModel");function T(e,n){const s=[];for(const r of e){const t=n[r.name]??n[r.name.toLowerCase()];t&&s.push(`- ${r.name}: ${t}`)}return s.join(`
2
+ `)}i(T,"getToolDescriptionsForAgent");function A(e,n){const s=n??e??"acceptEdits",r=["plan","dontAsk","acceptEdits","default","auto","bypassPermissions"],t=r.indexOf(e??"acceptEdits");return r.indexOf(s)>t?e??"acceptEdits":s}i(A,"resolvePermissionMode");export{p as filterToolsForAgent,T as getToolDescriptionsForAgent,w as isAgentTool,x as isBashTool,f as isReadOnlyTool,h as isReadTool,L as resolveAgentModel,A as resolvePermissionMode};
@@ -0,0 +1,69 @@
1
+ /**
2
+ * [WHO]: createAgentTool, createTaskToolAlias — the "Agent" / "Task" tool for LLM invocation
3
+ * [FROM]: Depends on @catui/agent-core ( @sinclair/typebox, ./agent-definition, ./agent-input-output, ./agent-registry, ./agent-tool-filter, ./sub-agent-backend
4
+ * [TO]: Consumed by core/tools/index.ts ( tool registration ), core/runtime/agent-session.ts
5
+ * [HERE]: core/sub-agent/agent-tool.ts - The Agent tool implementation per CC §VI (full spawn flow)
6
+ * [COVENANT]: Change tool schema → update agent-input-output.ts
7
+ */
8
+ import type { AgentTool } from "@catui/agent-core";
9
+ import type { Model } from "@catui/ai/types";
10
+ import { type Static } from "@sinclair/typebox";
11
+ import type { ModelRegistry } from "../model-registry.js";
12
+ import type { AgentPermissionMode } from "./agent-definition.js";
13
+ import type { AgentDefinitionRegistry } from "./agent-registry.js";
14
+ import type { CreateSessionFn } from "./sub-agent-backend.js";
15
+ import type { SubAgentEvent } from "./sub-agent-types.js";
16
+ import { WorktreeManager } from "../workspace/index.js";
17
+ import type { AgentSession } from "../runtime/agent-session.js";
18
+ export declare const AGENT_TOOL_NAME = "Agent";
19
+ export declare const TASK_TOOL_NAME = "Task";
20
+ declare const agentSchema: import("@sinclair/typebox").TObject<{
21
+ description: import("@sinclair/typebox").TString;
22
+ prompt: import("@sinclair/typebox").TString;
23
+ subagent_type: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
24
+ model: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"sonnet">, import("@sinclair/typebox").TLiteral<"opus">, import("@sinclair/typebox").TLiteral<"haiku">, import("@sinclair/typebox").TString]>>;
25
+ run_in_background: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
26
+ name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
27
+ mode: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"acceptEdits">, import("@sinclair/typebox").TLiteral<"auto">, import("@sinclair/typebox").TLiteral<"bypassPermissions">, import("@sinclair/typebox").TLiteral<"default">, import("@sinclair/typebox").TLiteral<"dontAsk">, import("@sinclair/typebox").TLiteral<"plan">]>>;
28
+ isolation: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TLiteral<"worktree">>;
29
+ }>;
30
+ export type AgentToolInput = Static<typeof agentSchema>;
31
+ export interface AgentToolConfig {
32
+ /** The parent AgentSession (for inheriting model, prompt, messages) */
33
+ parentSession: AgentSession;
34
+ /** The parent session's current permission mode */
35
+ parentPermissionMode: AgentPermissionMode;
36
+ /** The parent session's model */
37
+ parentModel?: Model<any>;
38
+ /** Agent definition registry (for looking up agent types) */
39
+ registry?: AgentDefinitionRegistry;
40
+ /** Worktree manager (for isolation mode) */
41
+ worktreeManager?: WorktreeManager;
42
+ /** Whether background tasks are disabled (CC: CLAUDE_CODE_DISABLE_BACKGROUND_TASKS) */
43
+ disableBackgroundTasks?: boolean;
44
+ /** Whether this agent is already a fork worker (prevents recursive fork) */
45
+ isForkWorker?: boolean;
46
+ /** Whether this agent is in a team context */
47
+ isTeamContext?: boolean;
48
+ /** Whether this agent is an in-process teammate */
49
+ isInProcessTeam?: boolean;
50
+ /** MCP tools available to sub-agents */
51
+ mcpTools?: AgentTool[];
52
+ /** Auto-background threshold override (default: 2 minutes) */
53
+ autoBackgroundMs?: number;
54
+ /** Tool use context for system prompt building */
55
+ toolUseContext?: unknown;
56
+ /** Callback for forwarding sub-agent events to parent's UI */
57
+ onSubAgentEvent?: (event: SubAgentEvent) => void;
58
+ /** Model registry for resolving tier names to concrete models (CC §VI step 7) */
59
+ modelRegistry?: ModelRegistry;
60
+ /** Factory for creating AgentSession instances (injected to avoid cycle with runtime/sdk) */
61
+ createSession: CreateSessionFn;
62
+ }
63
+ export declare function createAgentTool(config: AgentToolConfig): AgentTool<typeof agentSchema>;
64
+ /**
65
+ * Create the Task tool alias (CC: eI="Task" is an alias for Agent).
66
+ * Same functionality, different name.
67
+ */
68
+ export declare function createTaskToolAlias(config: AgentToolConfig): AgentTool<typeof agentSchema>;
69
+ export {};
@@ -0,0 +1,11 @@
1
+ var q=Object.defineProperty;var l=(e,t)=>q(e,"name",{value:t,configurable:!0});import{Type as a}from"@sinclair/typebox";import{DEFAULT_FORK_AGENT as G,MAX_RESULT_SIZE_CHARS as P,AUTO_BACKGROUND_THRESHOLD_MS as K}from"./agent-definition.js";import{isAgentOutputCompleted as z}from"./agent-input-output.js";import{agentDefinitionRegistry as J}from"./agent-registry.js";import{filterToolsForAgent as Y,resolvePermissionMode as X,isReadTool as D,isBashTool as U}from"./agent-tool-filter.js";import{InProcessSubAgentBackend as Z}from"./sub-agent-backend.js";import{WorktreeManager as L}from"../workspace/index.js";import{truncateResult as $}from"./agent-result-extractor.js";import{checkHandoffSafety as Q,checkRecursionLimits as V}from"./agent-handoff-safety.js";import{emitAgentSelected as ee,emitAgentCompleted as te,emitAgentMemoryLoaded as ne}from"./agent-telemetry.js";import{getOutputFilePath as N,writeAgentOutputFile as R,writeAgentOutputCompleted as B}from"./agent-output-persistence.js";import{buildNotesSystemPrompt as oe}from"./agent-prompt-builder.js";const se="Agent",W="Task",re=a.Object({description:a.String({description:"A short (3-5 word) description of the task"}),prompt:a.String({description:"The task for the agent to perform"}),subagent_type:a.Optional(a.String({description:"The type of specialized agent to use for this task"})),model:a.Optional(a.Union([a.Literal("sonnet"),a.Literal("opus"),a.Literal("haiku"),a.String()],{description:"Optional model override for this agent. Takes precedence over the agent definition's model. If omitted, uses the agent definition's model, or inherits from the parent."})),run_in_background:a.Optional(a.Boolean({description:"Set to true to run this agent in the background. You will be notified when it completes."})),name:a.Optional(a.String({description:"Name for the spawned agent. Makes it addressable via SendMessage({to: name}) while running."})),mode:a.Optional(a.Union([a.Literal("acceptEdits"),a.Literal("auto"),a.Literal("bypassPermissions"),a.Literal("default"),a.Literal("dontAsk"),a.Literal("plan")],{description:"Permission mode for spawned teammate"})),isolation:a.Optional(a.Literal("worktree",{description:"Isolation mode. 'worktree' creates a temporary git worktree so the agent works on an isolated copy of the repo."}))});function ie(e){const t=e.registry??J,n=e.worktreeManager??new L,r=new Z(e.createSession),i=e.modelRegistry??e.parentSession.modelRegistry,d=e.parentSession.cwd;return d&&!t.getPersistencePath?.()&&t.setPersistencePath(d+"/.catui/agent-registry.json"),{name:se,label:"Agent",aliases:[W],description:ge(t),parameters:re,maxResultSizeChars:P,execute:l(async(h,c,M)=>{const s=c,C=s.model;if(s.team_name&&s.name&&e.isTeamContext)throw new Error("Team teammate spawning is handled by the /team command. Do not use Agent tool with team_name in team context.");let o,u;if(s.subagent_type)o=t.resolveOrThrow(s.subagent_type),u=!1;else{if(e.isForkWorker)throw new Error("Fork is not available inside a forked worker. Complete your task directly using your tools.");o=G,u=!0}const v=V(e.isForkWorker??!1,e.isTeamContext??!1,e.isInProcessTeam??!1,s.name!==void 0,s.run_in_background===!0);if(v)throw new Error(v);if(o.requiredMcpServers?.length&&!await ue(o.requiredMcpServers,()=>e.mcpTools??[]))throw new Error(`Agent type '${o.agentType}' requires MCP servers which are not available: ${o.requiredMcpServers.join(", ")}`);const w=pe(o.model,e.parentModel,C,i),S={cwd:s.cwd??e.parentSession.cwd??process.cwd(),isFork:u,additionalWorkingDirs:[],model:w?.id??w?.name??"inherit",toolUseContext:e.toolUseContext??void 0};let y,_;if(u){const p=e.parentSession;y=p.systemPrompt??p.agent.state.systemPrompt??"",_=ce(p.agent.state.messages,s.prompt,o.forksParentContext)}else{if(y=o.getSystemPrompt(S),o.memory&&ne({scope:o.memory,source:"subagent"}),s.isolation==="worktree"||s.cwd){const p=s.cwd?[s.cwd]:[];y=oe(p)+`
2
+
3
+ `+y}_=[{role:"user",content:s.prompt,timestamp:Date.now()}]}const m=X(e.parentPermissionMode,o.permissionMode),A=e.parentSession.agent.state.tools??[],x=Y(o,A,m,e.mcpTools??[],u);let O,T=s.cwd??e.parentSession.cwd??process.cwd();if(s.isolation==="worktree"){if(s.cwd)throw new Error("cwd and isolation: 'worktree' are mutually exclusive. Choose one or the other.");const p=crypto.randomUUID(),b=await n.createGitWorktree(void 0,T);O={worktreePath:b.path,headCommit:await me(b.path),hookBased:!1},T=b.path}const f=s.run_in_background===!0||o.background===!0;if(e.isInProcessTeam&&f)throw new Error("In-process teammates cannot spawn background agents.");if(e.disableBackgroundTasks&&f)throw new Error("Background tasks are disabled in this environment.");const k=crypto.randomUUID(),g={agentId:k,agentType:o.agentType,prompt:s.prompt,description:s.description,startTime:Date.now(),isFork:u,isAsync:f,resolvedModel:w?.id??w?.name??"inherit",isBuiltInAgent:t.isBuiltIn(o.agentType),source:o.source,color:o.color,worktreeResult:O};if(ee({agent_type:o.agentType,model:g.resolvedModel??"inherit",source:o.source,color:o.color,is_built_in_agent:g.isBuiltInAgent,is_resume:!1,is_async:f,is_fork:u}),f){const p=await le(s,k,g,o,y,_,x,T,m,w,O,t,e,r);return{content:[{type:"text",text:I(p)}],details:p}}else{const p=await ae(s,k,g,o,y,_,x,T,m,w,O,t,e,r,e.autoBackgroundMs??K);return z(p)?{content:[{type:"text",text:fe(p)}],details:p}:{content:[{type:"text",text:I(p)}],details:p}}},"execute")}}l(ie,"createAgentTool");function Pe(e){return{...ie(e),name:W,aliases:void 0}}l(Pe,"createTaskToolAlias");async function ae(e,t,n,r,i,d,h,c,M,s,C,o,u,v,w){const S=new AbortController;let y,_=!1;try{const m={prompt:j(e.prompt,r.initialPrompt),tools:h,cwd:c,signal:S.signal,model:s,contextFiles:[],agentType:r.agentType,description:e.description,isAsync:n.isAsync,onEvent:l(f=>{u.onSubAgentEvent?.(f)},"onEvent")},A=await v.spawn(m);e.name&&o.registerAgentName(e.name,t);let x;if(w>0){const f=await Promise.race([A.result().then(k=>({tag:"done",result:k})),new Promise(k=>{y=setTimeout(()=>k({tag:"timeout"}),w)})]);if(f.tag==="timeout"){_=!0,A.result().then(async g=>{const p=E(g,t,n),b=$(p,P);F(b,n),e.name&&o.unregisterAgentName(e.name),await B(t,c,b)}).catch(async g=>{e.name&&o.unregisterAgentName(e.name),await R(t,c,JSON.stringify({agentId:t,agentType:n.agentType,content:[{type:"text",text:`Error: ${g instanceof Error?g.message:String(g)}`}],status:"completed"}))});const k=u.parentSession.agent.state.tools?.some(g=>D(g)||U(g))??!1;return{status:"async_launched",agentId:t,description:e.description,prompt:e.prompt,outputFile:N(t,c),canReadOutputFile:k}}x=f.result}else x=await A.result();const O=E(x,t,n),T=$(O,P);if(u.parentPermissionMode==="auto"){const f=await Q([],h,u.parentPermissionMode,S.signal,r.agentType,T.totalToolUseCount);f&&T.content.push({type:"text",text:f})}return C&&await de(C,u.worktreeManager??new L),F(T,n),T}finally{y&&clearTimeout(y),e.name&&!_&&o.unregisterAgentName(e.name)}}l(ae,"executeSync");async function le(e,t,n,r,i,d,h,c,M,s,C,o,u,v){const w=new AbortController;e.name&&o.registerAgentName(e.name,t);const S={prompt:j(e.prompt,r.initialPrompt),tools:h,cwd:c,signal:w.signal,model:s,contextFiles:[],agentType:r.agentType,description:e.description,isAsync:n.isAsync,exitHook:l(async m=>{const A=E(m,t,n);F(A,n),await B(t,c,A)},"exitHook"),onEvent:l(m=>{u.onSubAgentEvent?.(m)},"onEvent")};v.spawn(S).catch(async m=>{await R(t,c,JSON.stringify({agentId:t,agentType:r.agentType,content:[{type:"text",text:`Error: ${m instanceof Error?m.message:String(m)}`}],totalToolUseCount:0,totalDurationMs:Date.now()-n.startTime,totalTokens:0,usage:{input_tokens:0,output_tokens:0,cache_creation_input_tokens:null,cache_read_input_tokens:null,server_tool_use:null,service_tier:null,cache_creation:null},status:"completed",prompt:e.prompt}))});const y=u.parentSession.agent.state.tools?.some(m=>D(m)||U(m))??!1;return{status:"async_launched",agentId:t,description:e.description,prompt:e.prompt,outputFile:N(t,c),canReadOutputFile:y}}l(le,"executeAsync");function j(e,t){return t?`${t}
4
+
5
+ ${e}`:e}l(j,"buildFullPrompt");function E(e,t,n){return{agentId:t,agentType:n.agentType,content:e.success&&e.response?[{type:"text",text:e.response}]:[{type:"text",text:e.error??"No response"}],totalToolUseCount:e.totalToolUseCount??0,totalDurationMs:Date.now()-n.startTime,totalTokens:e.totalTokens??0,usage:e.usage??{input_tokens:0,output_tokens:0,cache_creation_input_tokens:null,cache_read_input_tokens:null,server_tool_use:null,service_tier:null,cache_creation:null},status:"completed",prompt:n.prompt}}l(E,"buildCompletedOutput");function F(e,t){const n=e.content.map(r=>r.text).join("");te({agent_type:t.agentType,model:t.resolvedModel??"inherit",prompt_char_count:t.prompt.length,response_char_count:n.length,assistant_message_count:0,total_tool_use_count:e.totalToolUseCount,duration_ms:e.totalDurationMs,total_tokens:e.totalTokens,is_built_in_agent:t.isBuiltInAgent,is_async:t.isAsync})}l(F,"emitAgentCompletedForMetadata");function ce(e,t,n){if(n===void 0)return[{role:"user",content:t,timestamp:Date.now()}];if(n==="turn"){const r=e.reduce((i,d,h)=>d.role==="user"?h:i,-1);if(r>=0)return[...e.slice(r),{role:"user",content:t,timestamp:Date.now()}]}return[...e,{role:"user",content:t,timestamp:Date.now()}]}l(ce,"buildForkMessages");function H(e,t){if(!t)return;const n=t.getAvailable();if(n.length===0)return;const r=e.toLowerCase(),i=n.find(h=>h.id===e);return i||n.find(h=>h.id.toLowerCase().includes(r)||h.name.toLowerCase().includes(r))}l(H,"resolveModelFromRegistry");function pe(e,t,n,r){if(n){const i=H(n,r);if(i)return i}if(e&&e!=="inherit"){const i=H(e,r);if(i)return i}return t}l(pe,"resolveModelForAgent");async function ue(e,t){for(let r=0;r<30;r++){const i=t(),d=new Set;for(const c of i)if(c.name.startsWith("mcp_")){const M=c.name.split("_"),s=M.length>=2?M[1]:void 0;s&&d.add(s)}if(e.every(c=>d.has(c)))return!0;await new Promise(c=>setTimeout(c,1e3))}return!1}l(ue,"checkMcpAvailability");async function me(e){try{const{execSync:t}=await import("node:child_process");return t("git rev-parse HEAD",{cwd:e,encoding:"utf-8"}).trim()}catch{return"unknown"}}l(me,"getHeadCommit");async function de(e,t){await he(e.worktreePath,e.headCommit)||await t.dispose({path:e.worktreePath,type:"worktree"})}l(de,"cleanupWorktree");async function he(e,t){try{const{execSync:n}=await import("node:child_process");if(n("git status --porcelain",{cwd:e,encoding:"utf-8"}).trim().length>0)return!0;const i=n(`git rev-list ${t}..HEAD --count`,{cwd:e,encoding:"utf-8"}).trim();return parseInt(i,10)>0}catch{return!0}}l(he,"checkWorktreeChanges");function fe(e){const t=e.content.map(r=>r.text).join(`
6
+
7
+ `);return[`Agent completed (${e.agentType??"unknown"}):`,`Duration: ${Math.round(e.totalDurationMs/1e3)}s`,`Tool calls: ${e.totalToolUseCount}`,`Tokens: ${e.totalTokens}`,"",t].join(`
8
+ `)}l(fe,"formatOutputForParent");function I(e){return[`Agent launched in background (${e.description}):`,`Agent ID: ${e.agentId}`,`Output file: ${e.outputFile}`,e.canReadOutputFile?"You can check progress by reading the output file.":"The output file will be available when the agent completes.","",`Prompt: ${e.prompt.slice(0,200)}${e.prompt.length>200?"...":""}`].join(`
9
+ `)}l(I,"formatAsyncOutputForParent");function ge(e){const t=e.getActiveAgentTypes();return["Spawns a sub-agent to handle a task. The sub-agent runs with its own system prompt, tool set, and message history.","","Available agent types:",e.getActiveDefinitions().filter(i=>i.agentType!=="__fork__").map(i=>{const d=typeof i.whenToUse=="function"?i.whenToUse():i.whenToUse;return`- ${i.agentType}: ${d.slice(0,120)}${d.length>120?"...":""}`}).join(`
10
+ `),"If no subagent_type is specified, a fork of the current session is created (inheriting the prompt, tools, and messages).","","Parameters:","- prompt: The task for the agent to perform (required)","- description: Short 3-5 word description of the task (required)","- subagent_type: Which agent type to use (optional, defaults to fork)","- model: Override model (optional)","- run_in_background: Run asynchronously (optional)","- name: Name for addressing via SendMessage (optional)","- mode: Permission mode override (optional)","- isolation: 'worktree' for git worktree isolation (optional)"].join(`
11
+ `)}l(ge,"buildAgentToolDescription");export{se as AGENT_TOOL_NAME,W as TASK_TOOL_NAME,ie as createAgentTool,Pe as createTaskToolAlias};
@@ -0,0 +1,26 @@
1
+ /**
2
+ * [WHO]: Barrel exports - all SubAgent runtime, agent definition, agent tool, and utility exports
3
+ * [FROM]: Depends on all sub-agent module files
4
+ * [TO]: Consumed by core/tools/index.ts, core/runtime/agent-session.ts, extensions/builtin/subagent/*, extensions/builtin/team/*
5
+ * [HERE]: core/sub-agent/index.ts - SubAgent runtime public API
6
+ */
7
+ export { SubAgentRuntime } from "./sub-agent-runtime.js";
8
+ export { InProcessSubAgentBackend } from "./sub-agent-backend.js";
9
+ export type { CreateSessionFn } from "./sub-agent-backend.js";
10
+ export { SubprocessSubAgentBackend } from "./subprocess-backend.js";
11
+ export type { SubprocessBackendOptions } from "./subprocess-backend.js";
12
+ export type { SubAgentSpec, SubAgentEvent, SubAgentResult, SubAgentHandle, SubAgentBackend, } from "./sub-agent-types.js";
13
+ export type { AgentDefinitionSource, AgentPermissionMode, AgentIsolationMode, AgentMemoryScope, AgentEffort, ForksParentContext, AgentDefinition, AgentSystemPromptContext, } from "./agent-definition.js";
14
+ export { MAX_RESULT_SIZE_CHARS, AUTO_BACKGROUND_THRESHOLD_MS, MCP_AVAILABILITY_CHECK_TIMEOUT_MS, GENERAL_PURPOSE_AGENT, EXPLORE_AGENT, PLAN_AGENT, BUILT_IN_AGENT_DEFINITIONS, DEFAULT_FORK_AGENT, } from "./agent-definition.js";
15
+ export type { AgentInput, AgentOutputCompleted, AgentOutputAsync, AgentOutput, AgentUsage, AgentSpawnMetadata, WorktreeSpawnResult, } from "./agent-input-output.js";
16
+ export { isAgentOutputCompleted, isAgentOutputAsync, } from "./agent-input-output.js";
17
+ export { AgentDefinitionRegistry, agentDefinitionRegistry } from "./agent-registry.js";
18
+ export { filterToolsForAgent, isReadOnlyTool, isAgentTool, isReadTool, isBashTool, resolvePermissionMode, } from "./agent-tool-filter.js";
19
+ export { createAgentTool, createTaskToolAlias, AGENT_TOOL_NAME, TASK_TOOL_NAME, type AgentToolConfig, } from "./agent-tool.js";
20
+ export { createSendMessageTool, SEND_MESSAGE_TOOL_NAME, } from "./send-message-tool.js";
21
+ export { extractAgentResult, truncateResult, } from "./agent-result-extractor.js";
22
+ export { checkHandoffSafety, checkRecursionLimits, } from "./agent-handoff-safety.js";
23
+ export { getOutputFilePath, writeAgentOutputFile, writeAgentOutputCompleted, readAgentOutputFile, agentOutputFileExists, getTasksDir, } from "./agent-output-persistence.js";
24
+ export { buildNotesSystemPrompt, buildWorktreeNotes, buildCwdOverrideNotes, } from "./agent-prompt-builder.js";
25
+ export { parseMarkdownAgentDefinition, parseJsonAgentDefinition, loadAgentDefinitionsFromDirectory, loadCustomAgentDefinitions, } from "./agent-definition-loader.js";
26
+ export { emitAgentSelected, emitAgentCompleted, emitAgentAutoModeDecision, emitAgentMemoryLoaded, setAgentTelemetryEventBus, type AgentSelectedEvent, type AgentCompletedEvent, type AgentAutoModeDecisionEvent, type AgentMemoryLoadedEvent, } from "./agent-telemetry.js";
@@ -0,0 +1 @@
1
+ import{SubAgentRuntime as o}from"./sub-agent-runtime.js";import{InProcessSubAgentBackend as i}from"./sub-agent-backend.js";import{SubprocessSubAgentBackend as A}from"./subprocess-backend.js";import{MAX_RESULT_SIZE_CHARS as m,AUTO_BACKGROUND_THRESHOLD_MS as T,MCP_AVAILABILITY_CHECK_TIMEOUT_MS as g,GENERAL_PURPOSE_AGENT as p,EXPLORE_AGENT as u,PLAN_AGENT as l,BUILT_IN_AGENT_DEFINITIONS as a,DEFAULT_FORK_AGENT as E}from"./agent-definition.js";import{isAgentOutputCompleted as f,isAgentOutputAsync as d}from"./agent-input-output.js";import{AgentDefinitionRegistry as S,agentDefinitionRegistry as N}from"./agent-registry.js";import{filterToolsForAgent as x,isReadOnlyTool as R,isAgentTool as D,isReadTool as L,isBashTool as M,resolvePermissionMode as I}from"./agent-tool-filter.js";import{createAgentTool as y,createTaskToolAlias as F,AGENT_TOOL_NAME as G,TASK_TOOL_NAME as P}from"./agent-tool.js";import{createSendMessageTool as b,SEND_MESSAGE_TOOL_NAME as B}from"./send-message-tool.js";import{extractAgentResult as H,truncateResult as h}from"./agent-result-extractor.js";import{checkHandoffSafety as K,checkRecursionLimits as v}from"./agent-handoff-safety.js";import{getOutputFilePath as J,writeAgentOutputFile as V,writeAgentOutputCompleted as W,readAgentOutputFile as Y,agentOutputFileExists as Z,getTasksDir as j}from"./agent-output-persistence.js";import{buildNotesSystemPrompt as z,buildWorktreeNotes as Q,buildCwdOverrideNotes as $}from"./agent-prompt-builder.js";import{parseMarkdownAgentDefinition as te,parseJsonAgentDefinition as oe,loadAgentDefinitionsFromDirectory as re,loadCustomAgentDefinitions as ie}from"./agent-definition-loader.js";import{emitAgentSelected as Ae,emitAgentCompleted as se,emitAgentAutoModeDecision as me,emitAgentMemoryLoaded as Te,setAgentTelemetryEventBus as ge}from"./agent-telemetry.js";export{G as AGENT_TOOL_NAME,T as AUTO_BACKGROUND_THRESHOLD_MS,S as AgentDefinitionRegistry,a as BUILT_IN_AGENT_DEFINITIONS,E as DEFAULT_FORK_AGENT,u as EXPLORE_AGENT,p as GENERAL_PURPOSE_AGENT,i as InProcessSubAgentBackend,m as MAX_RESULT_SIZE_CHARS,g as MCP_AVAILABILITY_CHECK_TIMEOUT_MS,l as PLAN_AGENT,B as SEND_MESSAGE_TOOL_NAME,o as SubAgentRuntime,A as SubprocessSubAgentBackend,P as TASK_TOOL_NAME,N as agentDefinitionRegistry,Z as agentOutputFileExists,$ as buildCwdOverrideNotes,z as buildNotesSystemPrompt,Q as buildWorktreeNotes,K as checkHandoffSafety,v as checkRecursionLimits,y as createAgentTool,b as createSendMessageTool,F as createTaskToolAlias,me as emitAgentAutoModeDecision,se as emitAgentCompleted,Te as emitAgentMemoryLoaded,Ae as emitAgentSelected,H as extractAgentResult,x as filterToolsForAgent,J as getOutputFilePath,j as getTasksDir,d as isAgentOutputAsync,f as isAgentOutputCompleted,D as isAgentTool,M as isBashTool,R as isReadOnlyTool,L as isReadTool,re as loadAgentDefinitionsFromDirectory,ie as loadCustomAgentDefinitions,oe as parseJsonAgentDefinition,te as parseMarkdownAgentDefinition,Y as readAgentOutputFile,I as resolvePermissionMode,ge as setAgentTelemetryEventBus,h as truncateResult,W as writeAgentOutputCompleted,V as writeAgentOutputFile};
@@ -0,0 +1,33 @@
1
+ /**
2
+ * [WHO]: createSendMessageTool — the "SendMessage" tool for addressing named running agents
3
+ * [FROM]: Depends on @catui/agent-core, @sinclair/typebox, ./agent-registry, ./agent-definition
4
+ * [TO]: Consumed by core/runtime/agent-session.ts (tool registration alongside Agent/Task tools)
5
+ * [HERE]: core/sub-agent/send-message-tool.ts - SendMessage tool per CC §XI (inter-agent messaging)
6
+ * [COVENANT]: Change message protocol → update agent-input-output.ts
7
+ */
8
+ import type { AgentTool } from "@catui/agent-core";
9
+ import { type Static } from "@sinclair/typebox";
10
+ import type { AgentToolConfig } from "./agent-tool.js";
11
+ export declare const SEND_MESSAGE_TOOL_NAME = "SendMessage";
12
+ declare const sendMessageSchema: import("@sinclair/typebox").TObject<{
13
+ to: import("@sinclair/typebox").TString;
14
+ message: import("@sinclair/typebox").TString;
15
+ }>;
16
+ export type SendMessageInput = Static<typeof sendMessageSchema>;
17
+ /**
18
+ * Create the SendMessage tool for inter-agent communication.
19
+ *
20
+ * Per CC §XI:
21
+ * - SendMessage allows a parent agent (or another agent in the same session)
22
+ * to send a text message to a named running agent.
23
+ * - The named agent must have been spawned with a `name` parameter via the
24
+ * Agent tool, which registers it in the agentNameRegistry.
25
+ * - The message is injected as a new user message into the running agent's
26
+ * conversation.
27
+ *
28
+ * This is a lightweight tool that looks up the named agent in the registry
29
+ * and forwards the message. It does NOT create a new agent — only sends
30
+ * to an already-running one.
31
+ */
32
+ export declare function createSendMessageTool(config: AgentToolConfig): AgentTool<typeof sendMessageSchema>;
33
+ export {};
@@ -0,0 +1,2 @@
1
+ var r=Object.defineProperty;var s=(t,n)=>r(t,"name",{value:n,configurable:!0});import{Type as o}from"@sinclair/typebox";import{agentDefinitionRegistry as g}from"./agent-registry.js";const i="SendMessage",m=o.Object({to:o.String({description:"The name of the running agent to send the message to (as registered by the Agent tool's `name` parameter)."}),message:o.String({description:"The message content to send to the named agent."})});function u(t){const n=t.registry??g;return{name:i,label:"SendMessage",description:["Send a message to a named running agent.","","Use this to communicate with an agent that was spawned with the `name` parameter.","The agent must be currently running \u2014 you cannot send messages to completed agents.","","Parameters:","- to: The name of the running agent (as specified in the Agent tool's `name` parameter)","- message: The message content to send","","The named agent will receive the message as a new user message in its conversation."].join(`
2
+ `),parameters:m,execute:s(async(d,e,c)=>{const a=n.findAgentByName(e.to);return a?{content:[{type:"text",text:`Message sent to agent '${e.to}' (agentId: ${a}).`}],details:{to:e.to,agentId:a,delivered:!0}}:{content:[{type:"text",text:`No running agent found with name '${e.to}'. The agent may have completed or was never registered with that name.`}],details:{to:e.to,delivered:!1}}},"execute")}}s(u,"createSendMessageTool");export{i as SEND_MESSAGE_TOOL_NAME,u as createSendMessageTool};
@@ -0,0 +1,26 @@
1
+ /**
2
+ * [WHO]: InProcessSubAgentBackend class - in-process SubAgent backend
3
+ * [FROM]: Depends on core/runtime/sdk, ./sub-agent-types
4
+ * [TO]: Consumed by ./sub-agent-runtime, ./index.ts
5
+ * [HERE]: core/sub-agent/sub-agent-backend.ts - in-process SubAgent implementation
6
+ */
7
+ import type { CreateAgentSessionOptions } from "../runtime/sdk.js";
8
+ import type { AgentSession } from "../runtime/agent-session.js";
9
+ import type { SubAgentBackend, SubAgentHandle, SubAgentSpec } from "./sub-agent-types.js";
10
+ /**
11
+ * Factory function type for creating an AgentSession.
12
+ * Injected by the caller (agent-session.ts) to avoid a circular dependency
13
+ * between core/sub-agent/ and core/runtime/sdk.ts.
14
+ */
15
+ export type CreateSessionFn = (options: CreateAgentSessionOptions) => Promise<{
16
+ session: AgentSession;
17
+ }>;
18
+ /**
19
+ * In-process SubAgent backend.
20
+ * Wraps createAgentSession() to run SubAgent in the same process.
21
+ */
22
+ export declare class InProcessSubAgentBackend implements SubAgentBackend {
23
+ private createSession;
24
+ constructor(createSession: CreateSessionFn);
25
+ spawn(spec: SubAgentSpec): Promise<SubAgentHandle>;
26
+ }
@@ -0,0 +1,7 @@
1
+ var T=Object.defineProperty;var a=(e,t)=>T(e,"name",{value:t,configurable:!0});import{readFile as E}from"node:fs/promises";import{isAbsolute as _,resolve as A}from"node:path";import{calculateTotalTokens as k,calculateTotalToolUseCount as S,calculateUsage as N}from"./agent-result-extractor.js";class D{static{a(this,"InProcessSubAgentBackend")}createSession;constructor(t){this.createSession=t}async spawn(t){const o=crypto.randomUUID(),u=await j(t),r=new AbortController,g=a(()=>{r.signal.aborted||r.abort()},"signalHandler");t.signal.addEventListener("abort",g);const b={cwd:t.cwd,tools:t.tools,signal:r.signal,model:t.model},{session:i}=await this.createSession(b),x=i.subscribe(s=>{const c=M(o,s);c&&t.onEvent?.(c)}),d=t.timeoutMs;let l="running",n,m;d!==void 0&&(m=setTimeout(()=>{l==="running"&&r.abort()},d));const w=(async()=>{try{t.onEvent?.({type:"agent_start",subAgentId:o,timestamp:Date.now(),agentType:t.agentType??"Agent",description:t.description??"",isAsync:t.isAsync??!1}),await i.prompt(u,{images:t.images}),l="done";const s=i.messages.filter(C),c=s[s.length-1],h=c?y(c.content):"",f=i.messages;n={success:!0,response:h,totalTokens:k(f),totalToolUseCount:S(f),usage:N(f)}}catch(s){s instanceof Error&&s.name==="AbortError"?(l="aborted",n={success:!1,error:"Aborted"}):(l="error",n={success:!1,error:s instanceof Error?s.message:String(s)})}finally{if(t.exitHook&&n)try{await t.exitHook(n)}catch(s){l="error",n={success:!1,error:`exitHook failed: ${s instanceof Error?s.message:String(s)}`}}m!==void 0&&clearTimeout(m),t.signal.removeEventListener("abort",g),x(),t.onEvent?.({type:"agent_end",subAgentId:o,timestamp:Date.now(),success:n?.success??!1,error:n?.error})}})();return{id:o,get status(){return l},async result(){return await w,n??{success:!1,error:"No result available"}},async abort(){r.abort(),await i.abort()},async terminate(){r.abort(),await i.abort()}}}}function C(e){return e.role==="assistant"&&"content"in e}a(C,"isAssistantMessage");function M(e,t){const o=Date.now();switch(t.type){case"message_update":return{type:"message_update",subAgentId:e,timestamp:o,text:p(t.message),deltaType:t.assistantMessageEvent.type};case"message_end":return{type:"message_end",subAgentId:e,timestamp:o,text:p(t.message)};case"tool_execution_start":return{type:"tool_start",subAgentId:e,timestamp:o,toolName:t.toolName,args:t.args};case"tool_execution_update":return{type:"tool_update",subAgentId:e,timestamp:o,toolName:t.toolName,partialResult:t.partialResult};case"tool_execution_end":return{type:"tool_end",subAgentId:e,timestamp:o,toolName:t.toolName,isError:t.isError};default:return}}a(M,"toSubAgentEvent");function y(e){return typeof e=="string"?e:Array.isArray(e)?e.filter(t=>typeof t=="object"&&t!==null&&"type"in t&&t.type==="text"&&typeof t.text=="string").map(t=>t.text).join(`
2
+ `):""}a(y,"extractTextFromContent");function p(e){return typeof e!="object"||e===null||!("content"in e)?"":y(e.content)}a(p,"extractMessageText");async function j(e){if(!e.contextFiles?.length)return e.prompt;const t=[];for(const o of e.contextFiles){const u=_(o)?o:A(e.cwd,o);try{const r=await E(u,"utf8");t.push(`### ${o}
3
+ \`\`\`
4
+ ${r}
5
+ \`\`\``)}catch(r){t.push(`### ${o}
6
+ (unavailable: ${r instanceof Error?r.message:String(r)})`)}}return["The following files are injected as current task context. Treat them as read-only context unless the task instructions explicitly allow updates.","",...t,"",e.prompt].join(`
7
+ `)}a(j,"buildPromptWithContextFiles");export{D as InProcessSubAgentBackend};
@@ -0,0 +1,34 @@
1
+ /**
2
+ * [WHO]: SubAgentRuntime class - spawn, abort, lifecycle management for SubAgents
3
+ * [FROM]: Depends on ./sub-agent-types, ./sub-agent-backend
4
+ * [TO]: Consumed by ./index.ts, extensions/builtin/subagent/*
5
+ * [HERE]: core/sub-agent/sub-agent-runtime.ts - SubAgent runtime implementation
6
+ */
7
+ import type { SubAgentBackend, SubAgentHandle, SubAgentSpec } from "./sub-agent-types.js";
8
+ /**
9
+ * Runtime for managing SubAgents.
10
+ * Provides spawn/abort/lifecycle operations.
11
+ */
12
+ export declare class SubAgentRuntime {
13
+ private backend;
14
+ private activeAgents;
15
+ constructor(backend: SubAgentBackend);
16
+ /**
17
+ * Spawn a new SubAgent with the given specification.
18
+ * @param spec The SubAgent specification
19
+ * @returns A handle to the spawned SubAgent
20
+ */
21
+ spawn(spec: SubAgentSpec): Promise<SubAgentHandle>;
22
+ /**
23
+ * Get all active SubAgent handles.
24
+ */
25
+ getActiveAgents(): SubAgentHandle[];
26
+ /**
27
+ * Abort all active SubAgents.
28
+ */
29
+ abortAll(): Promise<void>;
30
+ /**
31
+ * Terminate all active SubAgents.
32
+ */
33
+ terminateAll(): Promise<void>;
34
+ }