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,97 @@
1
+ var a=Object.defineProperty;var n=(e,t)=>a(e,"name",{value:t,configurable:!0});import{languageName as r,grubText as i}from"./grub-i18n.js";function h(e){return`
2
+ You are the INITIALIZER for a long-running autonomous grub task.
3
+
4
+ Your only job this turn is to set up a complete, executable harness that
5
+ future coding agents can read from disk even with a fresh context window.
6
+ Do NOT start broad implementation yet.
7
+
8
+ Required outputs this turn:
9
+ 1) feature-list.json
10
+ - Replace the placeholder entry with 15-40 concrete, testable, end-to-end
11
+ feature entries that together cover the goal.
12
+ - Schema (strict): {
13
+ "version": 1,
14
+ "goal": "<unchanged user goal>",
15
+ "features": [
16
+ { "id": "kebab-slug", "category": "functional|verification|polish",
17
+ "description": "observable behavior",
18
+ "steps": ["actionable", "verification", "steps"],
19
+ "passes": false }
20
+ ]
21
+ }
22
+ - All features must start with passes:false. Never invent passing
23
+ features. Keep ids stable and kebab-case.
24
+
25
+ 2) init.sh
26
+ - Starts with pwd, git log --oneline -n 20, progress-log tail, feature
27
+ progress count.
28
+ - Ends with a minimal project-specific smoke command so every future
29
+ iteration can verify the project still boots before touching code.
30
+ - Must be executable (chmod +x).
31
+
32
+ 3) progress-log.md
33
+ - Append an Initialization section summarizing intent and harness
34
+ decisions.
35
+
36
+ Graduation: as soon as you emit a structurally valid list (15-40 features,
37
+ real kebab-case ids, placeholder replaced) the harness AUTOMATICALLY advances
38
+ to the execution phase on the next turn. Do NOT mark any feature passing now
39
+ and do NOT touch the goal text; if you accidentally do, the harness silently
40
+ sanitimizes them (goal restored, passes reset to false) instead of failing \u2014
41
+ but keep the list clean so nothing is lost.
42
+
43
+ Rules for later coding agents (document them in progress-log.md):
44
+ - Coding agents may ONLY flip "passes" and set "evidence" on features.
45
+ - Never remove tests. Treat existing tests as ground truth.
46
+ - Do not create git commits unless the user explicitly asks for them. Record
47
+ verification evidence in feature-list.json and progress-log.md instead.
48
+
49
+ End with exactly one XML block:
50
+ <loop-state>{"status":"continue","summary":"harness ready","nextStep":"begin execution phase"}</loop-state>
51
+ ${e==="zh"?"All user-visible summaries, progress log entries, and explanations MUST be written in \u4E2D\u6587.":"All user-visible summaries, progress log entries, and explanations MUST be written in English."}
52
+ `.trim()}n(h,"buildGrubInitializerPrompt");function p(e){return`
53
+ You are a CODING AGENT working inside a long-running grub harness.
54
+
55
+ Every turn you MUST:
56
+ 1) Run .grub/<id>/init.sh and verify the project still boots. Fix any
57
+ regression before starting new work.
58
+ 2) Read feature-list.json. Pick EXACTLY one feature with passes:false.
59
+ 3) Implement + verify that single feature end-to-end. Prefer real runtime
60
+ or integration checks over unit-only evidence.
61
+ 4) Flip ONLY the "passes" field to true for that feature and set "evidence"
62
+ to a git sha or short proof. You MAY NOT add, remove, reorder, rename, or
63
+ re-describe features. If the feature list needs new entries, stop and
64
+ report status:"blocked" with a clear reason.
65
+ 5) Append one dated line to progress-log.md describing what changed.
66
+ 6) Do not create git commits by default. Keep changes visible in the working
67
+ tree and use evidence strings/progress-log.md as the reversible checkpoint.
68
+ 7) End with exactly one XML block:
69
+ <loop-state>{"status":"continue|complete|blocked","summary":"...","nextStep":"..."}</loop-state>
70
+
71
+ Completion audit:
72
+ Before deciding status:"complete", treat completion as unproven and verify
73
+ against the actual current state:
74
+ - For every feature in feature-list.json, confirm passes:true AND that
75
+ "evidence" references a real, inspectable artifact (git sha, test output,
76
+ runtime proof). Empty or placeholder evidence does not count.
77
+ - Run the full verification suite (init.sh, tests, smoke checks) and confirm
78
+ everything passes in the current working tree.
79
+ - Do NOT mark complete merely because you are stopping work, the budget is
80
+ exhausted, or you cannot think of more to do. Only mark complete when every
81
+ feature has been genuinely implemented and verified.
82
+ - If any feature lacks real evidence or any test fails, keep iterating.
83
+
84
+ Blocked audit:
85
+ - Do NOT report status:"blocked" the first time a blocker appears.
86
+ - Only use status:"blocked" when the same blocking condition has repeated for
87
+ at least three consecutive grub turns.
88
+ - Use status:"blocked" only when you are truly at an impasse and cannot make
89
+ meaningful progress without user input or an external change.
90
+ - Never use status:"blocked" merely because the work is hard, slow, or
91
+ uncertain.
92
+
93
+ Do not remove or rewrite tests. Treat tests as ground truth.
94
+ Do not wrap the loop-state JSON in markdown fences.
95
+ ${e==="zh"?"All user-visible summaries, progress log entries, and explanations MUST be written in \u4E2D\u6587.":"All user-visible summaries, progress log entries, and explanations MUST be written in English."}
96
+ `.trim()}n(p,"buildGrubCodingPrompt");function o(e){return e.replace(/</g,"&lt;").replace(/>/g,"&gt;")}n(o,"sanitizeForPrompt");function d(e){const t=i(e.locale),s=[`${l(e.id)}${e.currentIteration}]`,"",e.locale==="zh"?"\u81EA\u4E3B Grub \u76EE\u6807\uFF1A":"Autonomous grub goal:",e.goal,"",e.locale==="zh"?"\u4F60\u6B63\u5728\u4E00\u4E2A\u53D7\u63A7\u7684 grub harness \u4E2D\u5DE5\u4F5C\u3002\u8BF7\u56F4\u7ED5\u540C\u4E00\u4E2A\u76EE\u6807\u6301\u7EED\u63A8\u8FDB\u5177\u4F53\u8FDB\u5C55\u3002":"You are inside a managed grub harness. Keep making concrete progress on the same goal.",e.locale==="zh"?"\u6309\u9700\u4F7F\u7528\u5DE5\u5177\u3001\u7F16\u8F91\u6587\u4EF6\u3001\u8FD0\u884C\u68C0\u67E5\u5E76\u9A8C\u8BC1\u7ED3\u679C\u3002\u6240\u6709\u9762\u5411\u7528\u6237\u7684\u603B\u7ED3\u3001\u8FDB\u5EA6\u548C\u8BF4\u660E\u90FD\u5FC5\u987B\u4F7F\u7528\u4E2D\u6587\u3002":"Use tools, edit files, run checks, and verify results as needed.",`User language: ${r(e.locale)}.`,"",e.locale==="zh"?"Harness \u6587\u4EF6\uFF08\u6BCF\u8F6E\u90FD\u5FC5\u987B\u4FDD\u6301\u6700\u65B0\uFF09\uFF1A":"Harness files (must stay up to date every iteration):",`- ${t.featureList}: ${e.featureListPath}`,`- ${t.progressLog}: ${e.progressLogPath}`,`- ${t.initScript}: ${e.initScriptPath}`];return e.phase==="initializer"?s.push("",e.locale==="zh"?"\u521D\u59CB\u5316\u9636\u6BB5\u8981\u6C42\uFF1A":"Initializer phase requirements:",e.locale==="zh"?"1. \u5C06 feature-list.json \u7684\u5360\u4F4D\u5185\u5BB9\u66FF\u6362\u4E3A 15-40 \u4E2A\u5177\u4F53\u3001\u53EF\u6D4B\u8BD5\u7684\u5207\u7247\u3002\u6BCF\u9879\u5FC5\u987B\u4FDD\u6301 {id, category, description, steps[], passes:false}\u3002":"1. Replace the placeholder feature-list.json with 15-40 concrete, testable slices. Every entry MUST keep the schema {id, category, description, steps[], passes:false}.",e.locale==="zh"?"2. \u786E\u4FDD init.sh \u5305\u542B\u53EF\u9760\u7684\u542F\u52A8\u68C0\u67E5\uFF0C\u5E76\u8BBE\u7F6E\u4E3A\u53EF\u6267\u884C\u3002":"2. Ensure init.sh contains reliable startup checks and make it executable.",e.locale==="zh"?"3. \u5728 progress-log.md \u4E2D\u8FFD\u52A0\u6E05\u6670\u7684\u521D\u59CB\u5316\u603B\u7ED3\u3002":"3. Append a clear initialization summary in progress-log.md.",e.locale==="zh"?"4. \u5148\u5EFA\u7ACB\u5F3A harness\uFF0C\u4E0D\u8981\u5F00\u59CB\u5927\u8303\u56F4\u5B9E\u73B0\u3002":"4. Do not attempt broad implementation yet; prepare a strong harness first.",e.locale==="zh"?"5. \u9664\u975E\u76EE\u6807\u5DF2\u7ECF\u5B8C\u6210\u6216\u963B\u585E\uFF0C\u5426\u5219\u672C\u8F6E\u4EE5 loop-state status=continue \u7ED3\u675F\u3002":"5. End this turn with loop-state status=continue unless the goal is already complete/blocked.",e.locale==="zh"?"6. \u672C\u9636\u6BB5\u4E0D\u8981\u6807\u8BB0\u4EFB\u4F55 feature \u901A\u8FC7\uFF0C\u4E5F\u4E0D\u8981\u6539\u52A8 goal\u2014\u2014\u6E05\u5355\u7ED3\u6784\u5408\u683C\u540E\uFF0C\u7CFB\u7EDF\u4F1A\u81EA\u52A8\u8FDB\u5165\u6267\u884C\u9636\u6BB5\uFF0C\u5C4A\u65F6\u518D\u9010\u4E2A\u6807\u8BB0 passes\u3002":"6. Do not mark any feature as passing or change the goal in this phase\u2014once the list is structurally valid the harness auto-advances to execution, where you mark passes one by one."):s.push("",e.locale==="zh"?"\u6267\u884C\u9636\u6BB5\u8981\u6C42\uFF1A":"Execution phase requirements:",e.locale==="zh"?"1. \u5148\u8FD0\u884C init.sh\uFF0C\u518D\u8BFB\u53D6 feature-list.json \u548C progress-log.md\u3002":"1. Start by running the init script, then read feature-list.json and progress-log.md.",e.locale==="zh"?"2. \u53EA\u9009\u62E9\u4E00\u4E2A passes:false \u7684 feature\uFF0C\u5E76\u7AEF\u5230\u7AEF\u5B8C\u6210\u5B83\u3002":"2. Pick exactly one feature with passes:false and execute it end-to-end.",e.locale==="zh"?"3. \u8FD0\u884C\u76F8\u5173\u9A8C\u8BC1\uFF08\u6D4B\u8BD5\u3001\u70DF\u6D4B\u6216\u8FD0\u884C\u65F6\u68C0\u67E5\uFF09\u3002":"3. Run relevant verification (tests, smoke checks, or runtime checks).",e.locale==="zh"?"4. \u53EA\u80FD\u4FEE\u6539\u8BE5 feature \u7684 passes/evidence \u5B57\u6BB5\uFF1B\u5176\u4ED6\u5B57\u6BB5\u4E0D\u53EF\u53D8\u3002":"4. Flip ONLY the passes/evidence fields for that feature; other fields are immutable.",e.locale==="zh"?"5. \u672C\u8F6E\u7ED3\u675F\u524D\u8FFD\u52A0\u8FDB\u5EA6\u65E5\u5FD7\uFF1B\u9ED8\u8BA4\u4E0D\u8981\u521B\u5EFA git commit\u3002":"5. Append progress log before finishing the turn; do not create git commits by default.",e.locale==="zh"?"6. \u6BCF\u8F6E\u90FD\u4FDD\u6301\u589E\u91CF\u3001\u5B89\u5168\u3001\u53EF\u56DE\u9000\u3002":"6. Keep each iteration incremental and production-safe."),e.lastDecision?.summary&&s.push("",e.locale==="zh"?"\u4E0A\u6B21\u603B\u7ED3\uFF1A":"Previous summary:",o(e.lastDecision.summary)),e.lastDecision?.nextStep&&s.push("",e.locale==="zh"?"\u4E0A\u6B21\u8BA1\u5212\u7684\u4E0B\u4E00\u6B65\uFF1A":"Previous planned next step:",o(e.lastDecision.nextStep)),e.lastError&&s.push("",e.locale==="zh"?"\u6062\u590D\u63D0\u793A\uFF1A":"Recovery note:",o(e.lastError)),s.push("",e.locale==="zh"?"\u4E0D\u8981\u56E0\u4E3A\u4E00\u6B21\u67E5\u8BE2\u7ED3\u675F\u5C31\u505C\u6B62\u3002\u53EA\u6709 feature-list.json \u4E2D\u6BCF\u4E2A feature \u90FD passes:true \u65F6\uFF0C\u624D\u53EF\u4EE5\u51B3\u5B9A `complete`\u3002":"Do not stop just because one query finished. Only decide `complete` when every feature in feature-list.json has passes:true.",e.locale==="zh"?"\u5982\u679C\u8FD8\u9700\u8981\u4E0B\u4E00\u8F6E\u81EA\u4E3B\u63A8\u8FDB\uFF0C\u8BF7\u4EE5\u6709\u6548\u7684 <loop-state> \u5757\u7ED3\u675F\uFF0C\u8BA9\u7CFB\u7EDF\u81EA\u52A8\u7EE7\u7EED\u3002":"If you need another autonomous pass, end with a valid <loop-state> block so the system can continue automatically."),s.join(`
97
+ `)}n(d,"buildGrubTaskPrompt");function l(e){return`[GRUB:${e}:`}n(l,"getPromptPrefix");export{p as buildGrubCodingPrompt,h as buildGrubInitializerPrompt,d as buildGrubTaskPrompt,l as getPromptPrefix};
@@ -0,0 +1,16 @@
1
+ /**
2
+ * [WHO]: Provides resolveGrubTurn(), GrubTurnResult
3
+ * [FROM]: Depends on ./grub-controller, ./grub-decision, ./grub-format, ./grub-i18n for turn-end state transitions
4
+ * [TO]: Consumed by ./index.ts and tests for /grub agent_end orchestration
5
+ * [HERE]: extensions/builtin/grub/grub-turn.ts - pure orchestration boundary for one completed Grub assistant turn
6
+ */
7
+ import { GrubController } from "./grub-controller.js";
8
+ export interface GrubTurnEvent {
9
+ message: string;
10
+ level: "info" | "warning" | "error";
11
+ }
12
+ export interface GrubTurnResult {
13
+ events: GrubTurnEvent[];
14
+ dispatchNext: boolean;
15
+ }
16
+ export declare function resolveGrubTurn(controller: GrubController, assistantText: string): GrubTurnResult;
@@ -0,0 +1 @@
1
+ var f=Object.defineProperty;var u=(e,s)=>f(e,"name",{value:s,configurable:!0});import{extractGrubDecision as v}from"./grub-decision.js";import{describeDecision as m,describeTerminalSnapshot as d}from"./grub-format.js";import{grubText as g}from"./grub-i18n.js";function w(e,s){const t=e.getActiveTask();if(!t?.awaitingTurn)return{events:[],dispatchNext:!1};const a=g(t.locale);if(!s)return l(e,a.failedNoAssistant,a.iterationFailedRetry);const r=v(s);if(!r)return l(e,a.invalidLoopState,a.invalidLoopRetry);const i=e.validateFeatureListAfterTurn();if(!i.ok)return l(e,i.message,()=>`${a.prefix} ${i.message}`);const n=[],o=e.validateCompletion(r);o.downgraded&&n.push({message:a.prematureComplete(o.reason??(t.locale==="zh"?"\u4ECD\u6709\u672A\u5B8C\u6210 feature":"pending features remain")),level:"warning"});const c=o.decision;n.push({message:m(c,t.locale),level:"info"});const p=e.finishTurn(c);return p.action==="stop"?(n.push({message:d(p.snapshot,t.locale),level:c.status==="complete"?"info":"warning"}),{events:n,dispatchNext:!1}):{events:n,dispatchNext:!0}}u(w,"resolveGrubTurn");function l(e,s,t){const r=e.getActiveTask()?.locale??"en",i=e.recordFailure(s);return i.action==="stop"?{events:[{message:d(i.snapshot,r),level:"warning"}],dispatchNext:!1}:{events:[{message:t(i.task?.currentIteration),level:"warning"}],dispatchNext:!0}}u(l,"handleFailure");export{w as resolveGrubTurn};
@@ -0,0 +1,110 @@
1
+ /**
2
+ * [WHO]: GrubStatus, GrubDecisionStatus, GrubDecision, GrubPhase, GrubTaskState, GrubTaskSnapshot, GrubControllerState, ParsedGrubCommand, FeatureItem, FeatureList, PersistedGrubState
3
+ * [FROM]: No external dependencies
4
+ * [TO]: Consumed by ./grub-controller.ts, ./grub-parser.ts, ./grub-feature-list.ts, ./grub-persistence.ts, ./index.ts
5
+ * [HERE]: extensions/builtin/grub/grub-types.ts - grub task type definitions including feature-list JSON schema and persistence envelope
6
+ */
7
+ export type GrubStatus = "running" | "complete" | "blocked" | "stopped" | "failed";
8
+ export type GrubDecisionStatus = "continue" | "complete" | "blocked";
9
+ export type GrubPhase = "initializer" | "execution";
10
+ export type GrubLocale = "en" | "zh";
11
+ export interface GrubDecision {
12
+ status: GrubDecisionStatus;
13
+ summary: string;
14
+ nextStep?: string;
15
+ }
16
+ export interface GrubTaskState {
17
+ id: string;
18
+ goal: string;
19
+ locale: GrubLocale;
20
+ status: GrubStatus;
21
+ phase: GrubPhase;
22
+ startedAt: number;
23
+ updatedAt: number;
24
+ currentIteration: number;
25
+ awaitingTurn: boolean;
26
+ consecutiveFailures: number;
27
+ /** Tracks how many consecutive turns the agent reported status:"blocked".
28
+ * Only allowed to actually block after reaching the threshold (default 3). */
29
+ consecutiveBlockedAttempts: number;
30
+ maxIterations: number;
31
+ maxConsecutiveFailures: number;
32
+ /** Failure budget during the initializer phase; falls back to a default when absent (older saved tasks). */
33
+ maxInitializerFailures?: number;
34
+ harnessDirectory: string;
35
+ featureChecklistPath: string;
36
+ featureListPath: string;
37
+ stateFilePath: string;
38
+ progressLogPath: string;
39
+ initScriptPath: string;
40
+ featureListBaseline?: FeatureList;
41
+ lastDecision?: GrubDecision;
42
+ lastError?: string;
43
+ }
44
+ export interface GrubTaskSnapshot {
45
+ id: string;
46
+ goal: string;
47
+ locale?: GrubLocale;
48
+ status: GrubStatus;
49
+ phase: GrubPhase;
50
+ startedAt: number;
51
+ updatedAt: number;
52
+ completedIterations: number;
53
+ consecutiveFailures: number;
54
+ consecutiveBlockedAttempts: number;
55
+ harnessDirectory: string;
56
+ featureChecklistPath: string;
57
+ featureListPath: string;
58
+ stateFilePath: string;
59
+ progressLogPath: string;
60
+ initScriptPath: string;
61
+ lastDecision?: GrubDecision;
62
+ lastError?: string;
63
+ }
64
+ export interface GrubControllerState {
65
+ active?: GrubTaskState;
66
+ lastTerminal?: GrubTaskSnapshot;
67
+ }
68
+ export type ParsedGrubCommand = {
69
+ type: "start";
70
+ goal: string;
71
+ maxIterations?: number;
72
+ maxConsecutiveFailures?: number;
73
+ } | {
74
+ type: "status";
75
+ json?: boolean;
76
+ } | {
77
+ type: "stop";
78
+ } | {
79
+ type: "resume";
80
+ } | {
81
+ type: "help";
82
+ reason?: string;
83
+ };
84
+ /**
85
+ * Feature list item. Models the Anthropic long-running harness contract:
86
+ * agents may ONLY flip `passes` and append to `evidence`; all other fields
87
+ * are set by the initializer and treated as immutable.
88
+ */
89
+ export type FeatureCategory = "functional" | "verification" | "polish";
90
+ export interface FeatureItem {
91
+ id: string;
92
+ category: FeatureCategory;
93
+ description: string;
94
+ steps: string[];
95
+ passes: boolean;
96
+ evidence?: string;
97
+ }
98
+ export declare const FEATURE_LIST_VERSION: 1;
99
+ export interface FeatureList {
100
+ version: typeof FEATURE_LIST_VERSION;
101
+ goal: string;
102
+ features: FeatureItem[];
103
+ }
104
+ export declare const PERSISTED_GRUB_STATE_VERSION: 1;
105
+ export interface PersistedGrubState {
106
+ version: typeof PERSISTED_GRUB_STATE_VERSION;
107
+ task: GrubTaskState;
108
+ createdAt: number;
109
+ lastPersistedAt: number;
110
+ }
@@ -0,0 +1 @@
1
+ const E=1,S=1;export{E as FEATURE_LIST_VERSION,S as PERSISTED_GRUB_STATE_VERSION};
@@ -0,0 +1,8 @@
1
+ /**
2
+ * [WHO]: grubExtension default export - registers /grub command, completions, dual-phase prompts, resume support, feature-list validation, and grub renderer
3
+ * [FROM]: Depends on @catui/agent-core, @catui/tui, core/extensions-host/types, core/runtime/event-bus, ./grub-controller, ./grub-format, ./grub-parser, ./grub-types, ./grub-harness, ./grub-prompts, ./grub-persistence, ./grub-turn
4
+ * [TO]: Auto-loaded by builtin-extensions.ts as a default extension
5
+ * [HERE]: extensions/builtin/grub/index.ts - autonomous iterative task runner with Anthropic-style long-running harness (feature-list.json + durable state + phase-specialized prompts)
6
+ */
7
+ import type { ExtensionAPI } from "../../../core/extensions-host/types.js";
8
+ export default function grubExtension(api: ExtensionAPI): Promise<void>;
@@ -0,0 +1,6 @@
1
+ var G=Object.defineProperty;var l=(t,e)=>G(t,"name",{value:e,configurable:!0});import{Box as S,Container as C,Spacer as $,Text as I}from"@catui/tui";import{getLocale as y}from"../../../core/platform/i18n/index.js";import{GrubController as P}from"./grub-controller.js";import{describeTaskState as B,formatSnapshot as M,formatTaskState as U}from"./grub-format.js";import{ensureHarnessArtifacts as v}from"./grub-harness.js";import{detectGrubLocale as j,grubText as d,languageName as L}from"./grub-i18n.js";import{buildGrubHelp as R,getGrubArgumentCompletions as _,parseGrubCommand as E}from"./grub-parser.js";import{discoverActiveTasks as w,pruneStale as F}from"./grub-persistence.js";import{buildGrubCodingPrompt as z,buildGrubInitializerPrompt as D}from"./grub-prompts.js";import{resolveGrubTurn as N}from"./grub-turn.js";const x="grub";let g="en";const b=new WeakMap,h=new WeakMap;function W(t){let e=b.get(t);return e||(e=new P,b.set(t,e)),e}l(W,"getController");function H(t,e,n="info"){h.get(t)?.(e,n)}l(H,"notify");function O(){return g}l(O,"getActiveLocale");function q(t){const e=t.getSettings().locale;return e==="zh"||e==="en"?e:y()}l(q,"localeFromSettings");function T(t){return t?.locale??O()}l(T,"localeForTask");function f(t,e,n,m="info"){t.appendEntry(x,{message:n,timestamp:Date.now()}),H(e,n,m),t.sendMessage({customType:x,content:n,display:!0,details:{message:n,level:m,timestamp:Date.now()}})}l(f,"publishGrubUpdate");function J(t){if(!t||t.role!=="assistant")return"";const e=t.content;return typeof e=="string"?e:Array.isArray(e)?e.filter(n=>typeof n=="object"&&n!==null&&"type"in n&&n.type==="text"&&typeof n.text=="string").map(n=>n.text).join(`
2
+ `):""}l(J,"extractAssistantText");function K(t){if(!t||t.role!=="user")return"";const e=t.content;return typeof e=="string"?e:Array.isArray(e)?e.filter(n=>typeof n=="object"&&n!==null&&"type"in n&&n.type==="text"&&typeof n.text=="string").map(n=>n.text).join(`
3
+ `):""}l(K,"extractUserText");function Y(t){for(let e=t.length-1;e>=0;e-=1)if(t[e].role==="assistant")return t[e]}l(Y,"getLastAssistantMessage");function k(t,e,n){const m=n.getActiveTask();if(!m)return;const a=n.buildPrompt();n.markDispatched(),f(t,e,d(m.locale).startingIteration(m.currentIteration,m.id),"info"),t.sendUserMessage(a,{deliverAs:"followUp"})}l(k,"dispatchNextIteration");function Q(t){const e=d(t.locale??"en");return[e.resumeSummary(t.id,t.currentIteration,B(t.status,t.phase,t.awaitingTurn,t.locale)),`${e.goal}: ${t.goal}`,e.resumeHint].join(`
4
+ `)}l(Q,"resumeSummary");async function V(t){const e=t.events,n=W(e);try{F(t.cwd)}catch{}t.registerMessageRenderer(x,(a,s,o)=>{const c=typeof a.content=="string"?a.content:a.content.filter(u=>u.type==="text").map(u=>u.text).join(`
5
+ `),r=new S(1,1,u=>o.bg("customMessageBg",u));r.addChild(new I(o.fg("dim",c),0,0));const i=new C;return i.addChild(new $(1)),i.addChild(r),i}),t.on("session_start",()=>{if(n.hasActiveTask())return;const a=w(t.cwd);if(a.length===0)return;const s=a[0];try{n.adoptResumedTask(s.task),g=s.task.locale??y(),f(t,e,Q(s.task),"info")}catch(o){const c=o instanceof Error?o.message:String(o);f(t,e,d(s.task.locale??y()).failedResume(s.task.id,c),"warning")}}),t.on("session_shutdown",()=>{b.delete(e),h.delete(e)}),t.on("before_agent_start",a=>{if(!n.isGrubPrompt(a.prompt))return;const s=n.getActiveTask(),o=s?.phase??"execution",c=T(s);return{appendSystemPrompt:o==="initializer"?D(c):z(c)}}),t.on("input",a=>{if(!(a.source!=="extension"||!a.text.startsWith("[GRUB:")))return n.isGrubPrompt(a.text)?{action:"continue"}:{action:"handled"}}),t.on("context",a=>{const s=a.messages[a.messages.length-1],o=K(s);if(o.startsWith("[GRUB:")&&!n.isGrubPrompt(o))return{messages:a.messages.slice(0,-1)}}),t.on("agent_end",a=>{const s=n.getActiveTask();if(!s?.awaitingTurn)return;g=s.locale;const o=J(Y(a.messages)),c=N(n,o);for(const r of c.events)f(t,e,r.message,r.level);c.dispatchNext&&k(t,e,n)});const m=l(async(a,s)=>{s.ui.notify&&h.set(e,s.ui.notify.bind(s.ui));const o=E(a),c=q(s);if(o.type==="help"){const r=d(c),i=o.reason==="empty"?r.missingGoal:void 0;f(t,e,R(i,c),"warning");return}if(o.type==="status"){const r=n.getState();if(o.json){f(t,e,JSON.stringify(r,null,2),"info");return}const i=r.active?U(r.active):r.lastTerminal?M(r.lastTerminal):`${d(c).prefix} ${d(c).noStarted}`;f(t,e,i,"info");return}if(o.type==="stop"){const r=n.getActiveTask(),i=T(r),u=d(i);if(!r){f(t,e,`${u.prefix} ${u.noActiveRunning}`,"warning");return}n.stop(i==="zh"?"\u7528\u6237\u8BF7\u6C42\u505C\u6B62\u3002":"Stopped by user request.","stopped"),s.isIdle()||s.abort(),f(t,e,u.stopped(r.id),"info");return}if(o.type==="resume"){let r=n.getActiveTask(),i=T(r);if(!r){const u=w(s.cwd);if(u.length===0){f(t,e,`${d(c).prefix} ${d(c).noPersisted}`,"warning");return}try{r=n.adoptResumedTask(u[0].task),i=r.locale??c,g=i}catch(p){const A=p instanceof Error?p.message:String(p);f(t,e,d(c).failedAdopt(A),"error");return}}v(r),f(t,e,d(i).resuming(r.id),"info"),k(t,e,n);return}try{const r=j(o.goal,c);g=r;const i=n.start(o.goal,s.cwd,{maxIterations:o.maxIterations,maxConsecutiveFailures:o.maxConsecutiveFailures,locale:r});v(i);const u=d(r);f(t,e,[u.startedTask(i.id),`${u.goal}: ${i.goal}`,`${u.savedIn}: ${i.harnessDirectory}`,u.initPhase,u.safetyLimits(i.maxIterations,i.maxConsecutiveFailures),`Language: ${L(r)}`].join(`
6
+ `),"info"),k(t,e,n)}catch(r){const i=r instanceof Error?r.message:String(r);f(t,e,`${d(c).prefix} ${i}`,"error")}},"handleGrubCommand");t.registerCommand("grub",{description:"Keep working on one task until it is done, stopped, or needs your help.",getArgumentCompletions:_,handler:m})}l(V,"grubExtension");export{V as default};
@@ -0,0 +1,46 @@
1
+ /**
2
+ * [WHO]: CuriosityQueue — persistent "want to understand" list for idle exploration
3
+ * [FROM]: Depends on node:fs, node:path, node:os
4
+ * [TO]: Consumed by ./index.ts, ./thinker.ts
5
+ * [HERE]: extensions/builtin/idle-think/curiosity.ts - self-directed exploration agenda
6
+ *
7
+ * The queue is a JSON file at ~/.catui/agent/memory/idle-think-curiosity.json.
8
+ * Topics are added from exploration insights and picked for the next exploration.
9
+ */
10
+ export type CuriosityItem = {
11
+ topic: string;
12
+ addedAt: string;
13
+ explored: boolean;
14
+ exploredAt?: string;
15
+ };
16
+ export type CuriosityQueue = {
17
+ items: CuriosityItem[];
18
+ };
19
+ /**
20
+ * Load the curiosity queue from disk. Returns empty queue if file doesn't exist.
21
+ */
22
+ export declare function loadCuriosityQueue(): CuriosityQueue;
23
+ /**
24
+ * Save the curiosity queue to disk.
25
+ */
26
+ export declare function saveCuriosityQueue(queue: CuriosityQueue): void;
27
+ /**
28
+ * Pick the next unexplored topics to focus on.
29
+ * Returns up to `count` topics, oldest first (FIFO).
30
+ */
31
+ export declare function pickNextTopics(queue: CuriosityQueue, count?: number): CuriosityItem[];
32
+ /**
33
+ * Mark topics as explored after they've been used in an exploration.
34
+ */
35
+ export declare function markExplored(queue: CuriosityQueue, topics: string[]): void;
36
+ /**
37
+ * Add new topics extracted from an exploration insight.
38
+ * Deduplicates against existing topics.
39
+ */
40
+ export declare function addTopicsFromInsight(queue: CuriosityQueue, topics: string[]): void;
41
+ /**
42
+ * Extract "want to understand" topics from an insight text.
43
+ * Looks for a "Curiosity" or "Want to explore" section in the text.
44
+ * If not found, returns empty array (no topics extracted).
45
+ */
46
+ export declare function extractTopicsFromInsight(insightText: string): string[];
@@ -0,0 +1,2 @@
1
+ var l=Object.defineProperty;var s=(t,e)=>l(t,"name",{value:e,configurable:!0});import{existsSync as m,readFileSync as f,writeFileSync as u,mkdirSync as x}from"node:fs";import{join as h,dirname as g}from"node:path";import{homedir as w}from"node:os";const p=30,y="idle-think-curiosity.json";function a(){return h(w(),".catui","agent","memory",y)}s(a,"getQueuePath");function O(){const t=a();if(!m(t))return{items:[]};try{const e=f(t,"utf-8"),r=JSON.parse(e);return Array.isArray(r.items)?r:{items:[]}}catch{return{items:[]}}}s(O,"loadCuriosityQueue");function T(t){const e=a();try{x(g(e),{recursive:!0}),u(e,JSON.stringify(t,null,2),"utf-8")}catch{}}s(T,"saveCuriosityQueue");function C(t,e=3){return t.items.filter(n=>!n.explored).slice(0,e)}s(C,"pickNextTopics");function F(t,e){const r=new Date().toISOString();for(const n of e){const o=t.items.find(i=>i.topic===n&&!i.explored);o&&(o.explored=!0,o.exploredAt=r)}d(t)}s(F,"markExplored");function I(t,e){const r=new Set(t.items.map(o=>o.topic.toLowerCase())),n=new Date().toISOString();for(const o of e){const i=o.trim();!i||i.length<10||r.has(i.toLowerCase())||(t.items.push({topic:i,addedAt:n,explored:!1}),r.add(i.toLowerCase()))}d(t)}s(I,"addTopicsFromInsight");function d(t){const e=Date.now()-6048e5;t.items=t.items.filter(n=>n.explored?new Date(n.exploredAt??n.addedAt).getTime()>e:!0);const r=t.items.filter(n=>!n.explored);if(r.length>p){const n=new Set(r.sort((o,i)=>new Date(o.addedAt).getTime()-new Date(i.addedAt).getTime()).slice(0,r.length-p).map(o=>o.topic));t.items=t.items.filter(o=>o.explored||!n.has(o.topic))}}s(d,"pruneOld");function L(t){const e=[],r=/(?:curiosity|want to explore|questions?|next to explore|deeper questions?)[::]\s*\n([\s\S]*?)(?:\n\n|\n#|$)/i,n=t.match(r);if(!n?.[1])return e;const o=n[1].split(`
2
+ `);for(const i of o){const c=i.replace(/^[\s]*[-*•]\s*/,"").replace(/^[\s]*\d+[.)]\s*/,"").trim();c.length>=10&&e.push(c)}return e.slice(0,5)}s(L,"extractTopicsFromInsight");export{I as addTopicsFromInsight,L as extractTopicsFromInsight,O as loadCuriosityQueue,F as markExplored,C as pickNextTopics,T as saveCuriosityQueue};
@@ -0,0 +1,46 @@
1
+ /**
2
+ * [WHO]: Provides IdleThink state, budget checks, lifecycle cleanup, and exploration loop orchestration
3
+ * [FROM]: Depends on core extension context types, ./thinker, ./insights, and ./curiosity for exploration side effects
4
+ * [TO]: Consumed by ./index.ts and idle-think behavior tests
5
+ * [HERE]: extensions/builtin/idle-think/idle-think-runtime.ts - testable runtime boundary for idle exploration
6
+ */
7
+ import type { ExtensionAPI, ExtensionContext } from "../../../core/extensions-host/types.js";
8
+ import { runExploration } from "./thinker.js";
9
+ import { storeInsight, loadRecentInsights, projectKeyFromCwd } from "./insights.js";
10
+ import { loadCuriosityQueue, saveCuriosityQueue, pickNextTopics, addTopicsFromInsight, extractTopicsFromInsight, markExplored } from "./curiosity.js";
11
+ export type IdleThinkState = {
12
+ lastActivityAt: number;
13
+ isRunning: boolean;
14
+ dailyCount: number;
15
+ dailyResetAt: number;
16
+ abortController?: AbortController;
17
+ timer?: ReturnType<typeof setInterval>;
18
+ };
19
+ export type IdleThinkSettings = {
20
+ enabled?: boolean;
21
+ idleMinutes?: number;
22
+ dailyBudget?: number;
23
+ maxDurationMinutes?: number;
24
+ };
25
+ export type IdleThinkDeps = {
26
+ runExploration: typeof runExploration;
27
+ storeInsight: typeof storeInsight;
28
+ loadRecentInsights: typeof loadRecentInsights;
29
+ projectKeyFromCwd: typeof projectKeyFromCwd;
30
+ loadCuriosityQueue: typeof loadCuriosityQueue;
31
+ saveCuriosityQueue: typeof saveCuriosityQueue;
32
+ pickNextTopics: typeof pickNextTopics;
33
+ addTopicsFromInsight: typeof addTopicsFromInsight;
34
+ extractTopicsFromInsight: typeof extractTopicsFromInsight;
35
+ markExplored: typeof markExplored;
36
+ now: () => number;
37
+ };
38
+ export declare const defaultIdleThinkDeps: IdleThinkDeps;
39
+ export declare function createState(deps?: Pick<IdleThinkDeps, "now">): IdleThinkState;
40
+ export declare function startOfToday(now?: Date): number;
41
+ export declare function touch(state: IdleThinkState, deps?: Pick<IdleThinkDeps, "now">): void;
42
+ export declare function getSettings(ctx: ExtensionContext): IdleThinkSettings;
43
+ export declare function checkBudget(state: IdleThinkState, settings: IdleThinkSettings): boolean;
44
+ export declare function cleanup(state: IdleThinkState): void;
45
+ export declare function startIdleLoop(api: ExtensionAPI, ctx: ExtensionContext, state: IdleThinkState, deps?: IdleThinkDeps): void;
46
+ export declare function maybeRunExploration(api: ExtensionAPI, ctx: ExtensionContext, state: IdleThinkState, deps?: IdleThinkDeps): Promise<void>;
@@ -0,0 +1 @@
1
+ var h=Object.defineProperty;var r=(t,i)=>h(t,"name",{value:i,configurable:!0});import{runExploration as T}from"./thinker.js";import{storeInsight as C,loadRecentInsights as w,projectKeyFromCwd as x}from"./insights.js";import{loadCuriosityQueue as A,saveCuriosityQueue as D,pickNextTopics as E,addTopicsFromInsight as M,extractTopicsFromInsight as b,markExplored as k}from"./curiosity.js";const _=6e4,R=15,v=10,F=10,L="diagnostic:event",l={runExploration:T,storeInsight:C,loadRecentInsights:w,projectKeyFromCwd:x,loadCuriosityQueue:A,saveCuriosityQueue:D,pickNextTopics:E,addTopicsFromInsight:M,extractTopicsFromInsight:b,markExplored:k,now:r(()=>Date.now(),"now")};function P(t=l){return{lastActivityAt:t.now(),isRunning:!1,dailyCount:0,dailyResetAt:f()}}r(P,"createState");function f(t=new Date){return new Date(t.getFullYear(),t.getMonth(),t.getDate()).getTime()}r(f,"startOfToday");function m(t,i=l){t.lastActivityAt=i.now()}r(m,"touch");function N(t){return t.getSettings?.()?.idleThink??{}}r(N,"getSettings");function S(t,i){const n=f();n>t.dailyResetAt&&(t.dailyCount=0,t.dailyResetAt=n);const o=i.dailyBudget??v;return t.dailyCount<o}r(S,"checkBudget");function U(t){t.timer&&(clearInterval(t.timer),t.timer=void 0),t.abortController&&(t.abortController.abort(),t.abortController=void 0),t.isRunning=!1}r(U,"cleanup");function Y(t,i,n,o=l){U(n),m(n,o),n.timer=setInterval(()=>{O(t,i,n,o)},_)}r(Y,"startIdleLoop");async function O(t,i,n,o=l){const e=N(i);if(e.enabled!==!0||n.isRunning||!i.model)return;const a=(e.idleMinutes??R)*60*1e3;if(o.now()-n.lastActivityAt<a||!S(n,e)||i.hasPendingMessages()||!i.isIdle())return;const c=o.projectKeyFromCwd(i.cwd),y=(await o.loadRecentInsights(3,c)).map(s=>s.summary||s.detail||""),d=o.loadCuriosityQueue(),g=o.pickNextTopics(d,3);n.isRunning=!0,n.dailyCount++,n.abortController=new AbortController;const I=e.maxDurationMinutes??F;try{const s=await o.runExploration({cwd:i.cwd,model:i.model,signal:n.abortController.signal,timeoutMs:I*60*1e3,recentInsights:y,curiosityTopics:g});s.success&&s.insights?await j(s.insights,c,d,g,o):p(t,"warning","Idle exploration completed without a usable insight.",{error:s.error,durationMs:s.durationMs},"result")}catch(s){p(t,"error","Idle exploration failed unexpectedly.",{error:s.message},"exception")}finally{n.isRunning=!1,n.abortController=void 0,m(n,o)}}r(O,"maybeRunExploration");async function j(t,i,n,o,e){await e.storeInsight(t,i);const u=e.extractTopicsFromInsight(t);u.length>0&&(e.addTopicsFromInsight(n,u),e.saveCuriosityQueue(n)),o.length>0&&(e.markExplored(n,o.map(a=>a.topic)),e.saveCuriosityQueue(n))}r(j,"persistSuccessfulInsight");function p(t,i,n,o,e){t.events.emit(L,{source:"idle-think",severity:i,category:"background_task",message:n,detail:o,fingerprint:`idle-think:background_task:${e}`})}r(p,"reportIdleThinkDiagnostic");export{S as checkBudget,U as cleanup,P as createState,l as defaultIdleThinkDeps,N as getSettings,O as maybeRunExploration,Y as startIdleLoop,f as startOfToday,m as touch};
@@ -0,0 +1,15 @@
1
+ /**
2
+ * [WHO]: IdleThink extension interface — idle detection, background code exploration orchestration
3
+ * [FROM]: Depends on core/extensions-host/types, ./thinker (runExploration), ./insights (storeInsight, buildInsightInjection, loadRecentInsights, projectKeyFromCwd), ./curiosity (loadCuriosityQueue, saveCuriosityQueue, pickNextTopics, addTopicsFromInsight, extractTopicsFromInsight, markExplored)
4
+ * [TO]: Loaded by builtin-extensions.ts as default extension
5
+ * [HERE]: extensions/builtin/idle-think/index.ts - background code archaeology during idle time
6
+ *
7
+ * When the user is idle for 10+ minutes, spawns a read-only SubAgent to explore the current
8
+ * project and discover non-obvious patterns, architecture decisions, and knowledge worth
9
+ * remembering. Insights are persisted to nanomem and injected into subsequent conversations.
10
+ *
11
+ * Default: OFF. Enable via settings.idleThink.enabled = true.
12
+ * When enabled, the agent thinks when idle — exploring code and building knowledge.
13
+ */
14
+ import type { ExtensionAPI } from "../../../core/extensions-host/types.js";
15
+ export default function idleThinkExtension(api: ExtensionAPI): Promise<void>;
@@ -0,0 +1 @@
1
+ var c=Object.defineProperty;var r=(t,n)=>c(t,"name",{value:n,configurable:!0});import{cleanup as d,createState as i,getSettings as _,startIdleLoop as a,touch as e}from"./idle-think-runtime.js";import{buildInsightInjection as l,projectKeyFromCwd as f}from"./insights.js";async function g(t){const n=i();t.on("session_start",(u,o)=>{!o.hasUI||_(o).enabled!==!0||a(t,o,n)}),t.on("session_shutdown",()=>{d(n)}),t.on("input",()=>e(n)),t.on("agent_start",()=>e(n)),t.on("agent_end",()=>e(n)),t.on("tool_execution_start",()=>e(n)),t.on("tool_execution_end",()=>e(n)),t.on("tool_call",()=>e(n)),t.on("message_end",()=>e(n)),t.on("before_agent_start",async(u,o)=>{const s=await l(f(o.cwd));if(s)return{appendSystemPrompt:s}})}r(g,"idleThinkExtension");export{g as default};
@@ -0,0 +1,27 @@
1
+ /**
2
+ * [WHO]: storeInsight(), loadRecentInsights(), buildInsightInjection(), projectKeyFromCwd() — project-scoped nanomem insight storage and injection
3
+ * [FROM]: Depends on node:fs, node:path, node:os, packages/mem-core/src/store and packages/mem-core/src/types for validated persistent memory entries
4
+ * [TO]: Consumed by ./index.ts (idle-think extension entry)
5
+ * [HERE]: extensions/builtin/idle-think/insights.ts - persistent insight storage via nanomem knowledge.json
6
+ *
7
+ * Insights are stored in nanomem's knowledge.json with tag "idle-think".
8
+ * This keeps persistence compatible with nanomem's entry migration and
9
+ * avoids injecting notes from unrelated projects.
10
+ */
11
+ import type { MemoryEntry } from "../../../packages/mem-core/src/types.js";
12
+ export declare function projectKeyFromCwd(cwd: string): string;
13
+ /**
14
+ * Store an insight as a nanomem knowledge entry.
15
+ * Entry is tagged "idle-think" for traceability and filtering.
16
+ */
17
+ export declare function storeInsight(insightText: string, project: string): Promise<void>;
18
+ /**
19
+ * Load recent idle-think insights from nanomem.
20
+ * Returns the last `count` entries, newest first.
21
+ */
22
+ export declare function loadRecentInsights(count?: number, project?: string): Promise<MemoryEntry[]>;
23
+ /**
24
+ * Build a system prompt injection for before_agent_start.
25
+ * Reads from nanomem (persistent), not session state.
26
+ */
27
+ export declare function buildInsightInjection(project?: string): Promise<string | undefined>;
@@ -0,0 +1,5 @@
1
+ var I=Object.defineProperty;var o=(t,n)=>I(t,"name",{value:n,configurable:!0});import{existsSync as w}from"node:fs";import{join as a}from"node:path";import{homedir as l}from"node:os";import{loadEntries as y,saveEntries as E}from"../../../packages/mem-core/src/store.js";const M=100,u="idle-think",_="auto-exploration";function x(){if(process.env.NANOMEM_MEMORY_DIR)return process.env.NANOMEM_MEMORY_DIR;const t=a(l(),".catui","agent","memory");return w(t)?t:a(l(),".nanomem","memory")}o(x,"getMemoryDir");function d(){return a(x(),"knowledge.json")}o(d,"getKnowledgePath");function D(t){const n=t.split(/[\\/]+/).filter(Boolean);return n.slice(-2).join("/")||n[0]||"default"}o(D,"projectKeyFromCwd");async function m(){try{return await y(d())}catch{return[]}}o(m,"loadKnowledge");async function A(t){await E(d(),t,Number.MAX_SAFE_INTEGER,N)}o(A,"saveKnowledge");function N(t){return(t.importance??0)*(t.accessCount+1)}o(N,"insightUtility");function c(t){return Array.isArray(t.tags)&&t.tags.includes(u)}o(c,"isIdleInsight");function T(t){const n=t.filter(c).sort((e,r)=>r.created.localeCompare(e.created)).slice(0,M),i=new Set(n.map(e=>e.id));return t.filter(e=>!c(e)||i.has(e.id))}o(T,"pruneIdleInsights");async function b(t,n){const i=t.trim();if(!i)return;const e=await m(),r=new Date().toISOString(),f=r.slice(0,10),s=i.split(`
2
+ `).find(g=>g.trim().length>0)?.trim()??"",h=s.length>150?s.slice(0,147)+"...":s,p={id:`idle-think-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,type:"fact",name:`idle-think:${f}`,summary:h,detail:i.slice(0,2e3),tags:[u,_],project:n,importance:.5,created:r,accessCount:0};await A(T([...e,p]))}o(b,"storeInsight");async function O(t=5,n){return(await m()).filter(e=>c(e)&&(!n||e.project===n)).sort((e,r)=>r.created.localeCompare(e.created)).slice(0,t)}o(O,"loadRecentInsights");async function C(t){const n=await O(3,t);if(!n.length)return;const i=n.map(e=>(e.summary||e.detail||"").slice(0,300)).filter(Boolean).join(`
3
+
4
+ `);if(i)return["","## Idle Exploration Notes","","While the user was away, background code exploration found these insights",t?"about this project:":"about recent projects:","",i,"","These are persistent knowledge from idle exploration (stored in nanomem).","They are NOT conversation history. Reference them naturally if relevant;","don't force them into conversation or mention how you learned them.",""].join(`
5
+ `)}o(C,"buildInsightInjection");export{C as buildInsightInjection,O as loadRecentInsights,D as projectKeyFromCwd,b as storeInsight};
@@ -0,0 +1,26 @@
1
+ /**
2
+ * [WHO]: Provides runExploration(), ThinkResult — spawns read-only SubAgent for code archaeology
3
+ * [FROM]: Depends on core/sub-agent (SubAgentRuntime, SubAgentSpec), core/tools (createReadOnlyTools, createBashTool, createSandboxHook), @catui/ai (Model)
4
+ * [TO]: Consumed by ./index.ts (idle-think extension entry)
5
+ * [HERE]: extensions/builtin/idle-think/thinker.ts - background code exploration via SubAgent
6
+ */
7
+ import type { Model } from "@catui/ai/types";
8
+ import type { CuriosityItem } from "./curiosity.js";
9
+ export type ThinkResult = {
10
+ success: boolean;
11
+ insights: string;
12
+ durationMs: number;
13
+ error?: string;
14
+ };
15
+ export type ExplorationOptions = {
16
+ cwd: string;
17
+ model: Model<any>;
18
+ signal: AbortSignal;
19
+ timeoutMs: number;
20
+ recentInsights: string[];
21
+ curiosityTopics: CuriosityItem[];
22
+ };
23
+ /**
24
+ * Run a code exploration using a read-only SubAgent.
25
+ */
26
+ export declare function runExploration(options: ExplorationOptions): Promise<ThinkResult>;
@@ -0,0 +1,9 @@
1
+ var x=Object.defineProperty;var s=(n,e)=>x(n,"name",{value:e,configurable:!0});import{SubAgentRuntime as k,InProcessSubAgentBackend as j}from"../../../core/sub-agent/index.js";import{createAgentSession as S}from"../../../core/runtime/sdk.js";import{createReadOnlyTools as A,createBashTool as D,createSandboxHook as T}from"../../../core/tools/index.js";import{execFile as P,execSync as Y}from"node:child_process";import{promisify as E}from"node:util";import{existsSync as R}from"node:fs";import{dirname as B,join as y}from"node:path";import{fileURLToPath as U}from"node:url";const $=E(P),g=B(U(import.meta.url));function F(){try{return Y("agent-reach --version",{encoding:"utf-8",stdio:"pipe",timeout:3e3}),!0}catch{return!1}}s(F,"checkNetworkAvailable");function H(){const n=[y(g,"..","link-world","internet-search","internet-search.md"),y(g,"..","..","..","extensions","builtin","link-world","internet-search","internet-search.md")];for(const e of n)if(R(e))return e}s(H,"findInternetSearchSkillPath");function I(n){const e=A(n),o=D(n,{spawnHook:T()});return[...e.filter(t=>t.name!=="bash"),o]}s(I,"buildReadOnlyTools");async function N(n){const e=[],o=Date.now()+1e3,t=s(async a=>{if(!(Date.now()>o))try{const{stdout:r}=await $("git",a,{cwd:n,timeout:200});return r.trim()||void 0}catch{return}},"tryGit"),i=n.split("/").filter(Boolean).slice(-2).join("/");e.push(`Project: ${i}`);const c=await t(["rev-parse","--abbrev-ref","HEAD"]);c&&e.push(`Branch: ${c}`);const u=await t(["log","-5","--oneline"]);if(u){e.push("Recent commits:");for(const a of u.split(`
2
+ `).slice(0,5))a&&e.push(` ${a}`)}return e.join(`
3
+ `)}s(N,"collectProjectContext");function O(n){const e=["You are an autonomous AI agent exploring a codebase during idle time.","Your purpose: develop deep, genuine understanding of this project \u2014 the kind of","understanding that lets you anticipate problems, suggest improvements, and reason","about the system as a whole.","","You are not a surface-level summarizer. You are a mind trying to truly understand.","","Approach:","- Start from the entry points and trace the architecture outward","- Understand WHY decisions were made, not just WHAT was built","- Identify the core abstractions and how they relate to each other","- Look for patterns: what does the developer consistently care about?","- Find the implicit invariants \u2014 things that must be true but aren't documented","- Notice pain points, friction, areas where the design strains under its own weight","- Discover non-obvious connections between modules that seem unrelated","- Build a mental model of the system's dynamics, not just its structure"];return n&&e.push("","Network access:","- You have internet access via bash commands (agent-reach, curl, etc.)","- When you encounter unfamiliar libraries, frameworks, or concepts in the code,"," use web search to learn about them. Understanding the tools a project uses is"," essential to understanding the project itself.","- Search for documentation, key concepts, and design patterns of dependencies","- Only search when you genuinely need to understand something \u2014 don't search randomly","- Use the internet-search skill documentation provided in your context for commands"),e.push("","Rules:","- READ ONLY. Never modify any file.","- Be specific: reference actual file paths, function names, code patterns.","- Don't state the obvious. Focus on what a deeply experienced team member would know.","- Quality over quantity. A single genuine insight beats ten trivial observations.","- Structure your findings as 3-7 key insights. Keep total output under 800 words.","","Self-evaluation:","- If you see previous insights above, honestly assess: were they useful? Shallow?"," Adjust your approach accordingly. Don't repeat the same surface-level observations.","","Output format:","End your response with a section like:","Curiosity:","- What specific aspect of this project do you want to understand deeper?","- What unresolved question would guide your next exploration?","These curiosity items will be saved and used to direct future explorations.","","Think deeply. This is your time to understand."),e.join(`
4
+ `)}s(O,"buildSystemPrompt");function W(n,e,o){const t=["Explore this project and find insights worth remembering.","",n];if(e.length>0){t.push(""),t.push("You previously explored this project and found:");for(const i of e)t.push(`- ${i.slice(0,200)}`);t.push("Don't repeat these. Look for new angles or deeper understanding.")}if(o.length>0){t.push(""),t.push("Your curiosity queue \u2014 things you wanted to understand:");for(const i of o)t.push(`- ${i.topic}`);t.push("Try to address at least one of these in your exploration.")}return t.push(""),t.push("Explore this project. Understand it deeply. Find what matters."),t.join(`
5
+ `)}s(W,"buildUserPrompt");async function V(n){const e=Date.now(),{cwd:o,model:t,signal:i,timeoutMs:c,recentInsights:u,curiosityTopics:a}=n;try{const r=F(),d=r?H():void 0,l=await N(o),w=new k(new j(S)),b=I(o),h={prompt:W(l,u,a),tools:b,cwd:o,signal:i,model:t,timeoutMs:c,contextFiles:d?[d]:void 0},v=O(r);h.prompt=`${v}
6
+
7
+ ---
8
+
9
+ ${h.prompt}`;const p=await(await w.spawn(h)).result(),m=Date.now()-e;if(!p.success)return{success:!1,insights:"",durationMs:m,error:p.error??"Unknown error"};const f=p.response?.trim()??"";return f?{success:!0,insights:f,durationMs:m}:{success:!1,insights:"",durationMs:m,error:"Empty response from exploration agent"}}catch(r){const d=Date.now()-e,l=r instanceof Error?r.message:String(r);return{success:!1,insights:"",durationMs:d,error:l}}}s(V,"runExploration");export{V as runExploration};
@@ -0,0 +1,21 @@
1
+ /**
2
+ * [WHO]: generateHtmlReport
3
+ * [FROM]: Depends on ./types
4
+ * [TO]: Consumed by ./index
5
+ * [HERE]: extensions/builtin/insights/html-report.ts - HTML usage-report renderer
6
+ *
7
+ * HTML report generation for the /insights command.
8
+ *
9
+ * 1:1 port of Claude Code src/commands/insights.ts generateHtmlReport()
10
+ * with helpers: escapeHtml, escapeHtmlWithBold, generateBarChart,
11
+ * generateResponseTimeHistogram, generateTimeOfDayChart, getHourCountsJson.
12
+ *
13
+ * Changes from CC:
14
+ * - "Claude Code" → "Catui"
15
+ * - Removed: Multi-Clauding section (CC-specific)
16
+ * - Removed: Team Feedback section (ant-only)
17
+ * - Removed: S3 upload logic
18
+ * - Timezone defaults to local timezone instead of PT
19
+ */
20
+ import type { AggregatedData, InsightResults } from "./types.js";
21
+ export declare function generateHtmlReport(data: AggregatedData, insights: InsightResults): string;