@soederpop/luca 0.1.2 → 0.2.1

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 (381) hide show
  1. package/.github/workflows/release.yaml +167 -0
  2. package/CLAUDE.md +2 -0
  3. package/README.md +3 -0
  4. package/assistants/codingAssistant/ABOUT.md +3 -0
  5. package/assistants/codingAssistant/CORE.md +22 -17
  6. package/assistants/codingAssistant/hooks.ts +17 -4
  7. package/assistants/codingAssistant/tools.ts +1 -106
  8. package/assistants/inkbot/ABOUT.md +5 -0
  9. package/assistants/inkbot/CORE.md +71 -0
  10. package/assistants/inkbot/hooks.ts +14 -0
  11. package/assistants/inkbot/tools.ts +47 -0
  12. package/bun.lock +20 -4
  13. package/commands/inkbot.ts +353 -0
  14. package/commands/release.ts +75 -181
  15. package/dist/agi/container.server.d.ts +63 -0
  16. package/dist/agi/container.server.d.ts.map +1 -0
  17. package/dist/agi/endpoints/ask.d.ts +20 -0
  18. package/dist/agi/endpoints/ask.d.ts.map +1 -0
  19. package/dist/agi/endpoints/conversations/[id].d.ts +27 -0
  20. package/dist/agi/endpoints/conversations/[id].d.ts.map +1 -0
  21. package/dist/agi/endpoints/conversations.d.ts +18 -0
  22. package/dist/agi/endpoints/conversations.d.ts.map +1 -0
  23. package/dist/agi/endpoints/experts.d.ts +8 -0
  24. package/dist/agi/endpoints/experts.d.ts.map +1 -0
  25. package/dist/agi/feature.d.ts +9 -0
  26. package/dist/agi/feature.d.ts.map +1 -0
  27. package/dist/agi/features/assistant.d.ts +509 -0
  28. package/dist/agi/features/assistant.d.ts.map +1 -0
  29. package/dist/agi/features/assistants-manager.d.ts +236 -0
  30. package/dist/agi/features/assistants-manager.d.ts.map +1 -0
  31. package/dist/agi/features/autonomous-assistant.d.ts +281 -0
  32. package/dist/agi/features/autonomous-assistant.d.ts.map +1 -0
  33. package/dist/agi/features/browser-use.d.ts +479 -0
  34. package/dist/agi/features/browser-use.d.ts.map +1 -0
  35. package/dist/agi/features/claude-code.d.ts +824 -0
  36. package/dist/agi/features/claude-code.d.ts.map +1 -0
  37. package/dist/agi/features/conversation-history.d.ts +245 -0
  38. package/dist/agi/features/conversation-history.d.ts.map +1 -0
  39. package/dist/agi/features/conversation.d.ts +464 -0
  40. package/dist/agi/features/conversation.d.ts.map +1 -0
  41. package/dist/agi/features/docs-reader.d.ts +72 -0
  42. package/dist/agi/features/docs-reader.d.ts.map +1 -0
  43. package/dist/agi/features/file-tools.d.ts +110 -0
  44. package/dist/agi/features/file-tools.d.ts.map +1 -0
  45. package/dist/agi/features/luca-coder.d.ts +323 -0
  46. package/dist/agi/features/luca-coder.d.ts.map +1 -0
  47. package/dist/agi/features/openai-codex.d.ts +381 -0
  48. package/dist/agi/features/openai-codex.d.ts.map +1 -0
  49. package/dist/agi/features/openapi.d.ts +200 -0
  50. package/dist/agi/features/openapi.d.ts.map +1 -0
  51. package/dist/agi/features/skills-library.d.ts +167 -0
  52. package/dist/agi/features/skills-library.d.ts.map +1 -0
  53. package/dist/agi/index.d.ts +5 -0
  54. package/dist/agi/index.d.ts.map +1 -0
  55. package/dist/agi/lib/interceptor-chain.d.ts +44 -0
  56. package/dist/agi/lib/interceptor-chain.d.ts.map +1 -0
  57. package/dist/agi/lib/token-counter.d.ts +13 -0
  58. package/dist/agi/lib/token-counter.d.ts.map +1 -0
  59. package/dist/bootstrap/generated.d.ts +5 -0
  60. package/dist/bootstrap/generated.d.ts.map +1 -0
  61. package/dist/browser.d.ts +12 -0
  62. package/dist/browser.d.ts.map +1 -0
  63. package/dist/bus.d.ts +29 -0
  64. package/dist/bus.d.ts.map +1 -0
  65. package/dist/cli/build-info.d.ts +4 -0
  66. package/dist/cli/build-info.d.ts.map +1 -0
  67. package/dist/cli/cli.d.ts +3 -0
  68. package/dist/cli/cli.d.ts.map +1 -0
  69. package/dist/client.d.ts +60 -0
  70. package/dist/client.d.ts.map +1 -0
  71. package/dist/clients/civitai/index.d.ts +472 -0
  72. package/dist/clients/civitai/index.d.ts.map +1 -0
  73. package/dist/clients/client-template.d.ts +30 -0
  74. package/dist/clients/client-template.d.ts.map +1 -0
  75. package/dist/clients/comfyui/index.d.ts +281 -0
  76. package/dist/clients/comfyui/index.d.ts.map +1 -0
  77. package/dist/clients/elevenlabs/index.d.ts +197 -0
  78. package/dist/clients/elevenlabs/index.d.ts.map +1 -0
  79. package/dist/clients/graph.d.ts +64 -0
  80. package/dist/clients/graph.d.ts.map +1 -0
  81. package/dist/clients/openai/index.d.ts +247 -0
  82. package/dist/clients/openai/index.d.ts.map +1 -0
  83. package/dist/clients/rest.d.ts +92 -0
  84. package/dist/clients/rest.d.ts.map +1 -0
  85. package/dist/clients/supabase/index.d.ts +176 -0
  86. package/dist/clients/supabase/index.d.ts.map +1 -0
  87. package/dist/clients/websocket.d.ts +127 -0
  88. package/dist/clients/websocket.d.ts.map +1 -0
  89. package/dist/command.d.ts +163 -0
  90. package/dist/command.d.ts.map +1 -0
  91. package/dist/commands/bootstrap.d.ts +20 -0
  92. package/dist/commands/bootstrap.d.ts.map +1 -0
  93. package/dist/commands/chat.d.ts +37 -0
  94. package/dist/commands/chat.d.ts.map +1 -0
  95. package/dist/commands/code.d.ts +28 -0
  96. package/dist/commands/code.d.ts.map +1 -0
  97. package/dist/commands/console.d.ts +22 -0
  98. package/dist/commands/console.d.ts.map +1 -0
  99. package/dist/commands/describe.d.ts +50 -0
  100. package/dist/commands/describe.d.ts.map +1 -0
  101. package/dist/commands/eval.d.ts +23 -0
  102. package/dist/commands/eval.d.ts.map +1 -0
  103. package/dist/commands/help.d.ts +25 -0
  104. package/dist/commands/help.d.ts.map +1 -0
  105. package/dist/commands/index.d.ts +18 -0
  106. package/dist/commands/index.d.ts.map +1 -0
  107. package/dist/commands/introspect.d.ts +24 -0
  108. package/dist/commands/introspect.d.ts.map +1 -0
  109. package/dist/commands/mcp.d.ts +35 -0
  110. package/dist/commands/mcp.d.ts.map +1 -0
  111. package/dist/commands/prompt.d.ts +38 -0
  112. package/dist/commands/prompt.d.ts.map +1 -0
  113. package/dist/commands/run.d.ts +24 -0
  114. package/dist/commands/run.d.ts.map +1 -0
  115. package/dist/commands/sandbox-mcp.d.ts +34 -0
  116. package/dist/commands/sandbox-mcp.d.ts.map +1 -0
  117. package/dist/commands/save-api-docs.d.ts +21 -0
  118. package/dist/commands/save-api-docs.d.ts.map +1 -0
  119. package/dist/commands/scaffold.d.ts +24 -0
  120. package/dist/commands/scaffold.d.ts.map +1 -0
  121. package/dist/commands/select.d.ts +22 -0
  122. package/dist/commands/select.d.ts.map +1 -0
  123. package/dist/commands/serve.d.ts +29 -0
  124. package/dist/commands/serve.d.ts.map +1 -0
  125. package/dist/container-describer.d.ts +144 -0
  126. package/dist/container-describer.d.ts.map +1 -0
  127. package/dist/container.d.ts +451 -0
  128. package/dist/container.d.ts.map +1 -0
  129. package/dist/endpoint.d.ts +113 -0
  130. package/dist/endpoint.d.ts.map +1 -0
  131. package/dist/feature.d.ts +47 -0
  132. package/dist/feature.d.ts.map +1 -0
  133. package/dist/graft.d.ts +29 -0
  134. package/dist/graft.d.ts.map +1 -0
  135. package/dist/hash-object.d.ts +8 -0
  136. package/dist/hash-object.d.ts.map +1 -0
  137. package/dist/helper.d.ts +209 -0
  138. package/dist/helper.d.ts.map +1 -0
  139. package/dist/introspection/generated.node.d.ts +44623 -0
  140. package/dist/introspection/generated.node.d.ts.map +1 -0
  141. package/dist/introspection/generated.web.d.ts +1412 -0
  142. package/dist/introspection/generated.web.d.ts.map +1 -0
  143. package/dist/introspection/index.d.ts +156 -0
  144. package/dist/introspection/index.d.ts.map +1 -0
  145. package/dist/introspection/scan.d.ts +147 -0
  146. package/dist/introspection/scan.d.ts.map +1 -0
  147. package/dist/node/container.d.ts +256 -0
  148. package/dist/node/container.d.ts.map +1 -0
  149. package/dist/node/feature.d.ts +9 -0
  150. package/dist/node/feature.d.ts.map +1 -0
  151. package/dist/node/features/container-link.d.ts +213 -0
  152. package/dist/node/features/container-link.d.ts.map +1 -0
  153. package/dist/node/features/content-db.d.ts +354 -0
  154. package/dist/node/features/content-db.d.ts.map +1 -0
  155. package/dist/node/features/disk-cache.d.ts +236 -0
  156. package/dist/node/features/disk-cache.d.ts.map +1 -0
  157. package/dist/node/features/dns.d.ts +511 -0
  158. package/dist/node/features/dns.d.ts.map +1 -0
  159. package/dist/node/features/docker.d.ts +485 -0
  160. package/dist/node/features/docker.d.ts.map +1 -0
  161. package/dist/node/features/downloader.d.ts +73 -0
  162. package/dist/node/features/downloader.d.ts.map +1 -0
  163. package/dist/node/features/figlet-fonts.d.ts +4 -0
  164. package/dist/node/features/figlet-fonts.d.ts.map +1 -0
  165. package/dist/node/features/file-manager.d.ts +177 -0
  166. package/dist/node/features/file-manager.d.ts.map +1 -0
  167. package/dist/node/features/fs.d.ts +635 -0
  168. package/dist/node/features/fs.d.ts.map +1 -0
  169. package/dist/node/features/git.d.ts +329 -0
  170. package/dist/node/features/git.d.ts.map +1 -0
  171. package/dist/node/features/google-auth.d.ts +200 -0
  172. package/dist/node/features/google-auth.d.ts.map +1 -0
  173. package/dist/node/features/google-calendar.d.ts +194 -0
  174. package/dist/node/features/google-calendar.d.ts.map +1 -0
  175. package/dist/node/features/google-docs.d.ts +138 -0
  176. package/dist/node/features/google-docs.d.ts.map +1 -0
  177. package/dist/node/features/google-drive.d.ts +202 -0
  178. package/dist/node/features/google-drive.d.ts.map +1 -0
  179. package/dist/node/features/google-mail.d.ts +221 -0
  180. package/dist/node/features/google-mail.d.ts.map +1 -0
  181. package/dist/node/features/google-sheets.d.ts +157 -0
  182. package/dist/node/features/google-sheets.d.ts.map +1 -0
  183. package/dist/node/features/grep.d.ts +207 -0
  184. package/dist/node/features/grep.d.ts.map +1 -0
  185. package/dist/node/features/helpers.d.ts +236 -0
  186. package/dist/node/features/helpers.d.ts.map +1 -0
  187. package/dist/node/features/ink.d.ts +332 -0
  188. package/dist/node/features/ink.d.ts.map +1 -0
  189. package/dist/node/features/ipc-socket.d.ts +298 -0
  190. package/dist/node/features/ipc-socket.d.ts.map +1 -0
  191. package/dist/node/features/json-tree.d.ts +140 -0
  192. package/dist/node/features/json-tree.d.ts.map +1 -0
  193. package/dist/node/features/networking.d.ts +373 -0
  194. package/dist/node/features/networking.d.ts.map +1 -0
  195. package/dist/node/features/nlp.d.ts +125 -0
  196. package/dist/node/features/nlp.d.ts.map +1 -0
  197. package/dist/node/features/opener.d.ts +93 -0
  198. package/dist/node/features/opener.d.ts.map +1 -0
  199. package/dist/node/features/os.d.ts +168 -0
  200. package/dist/node/features/os.d.ts.map +1 -0
  201. package/dist/node/features/package-finder.d.ts +419 -0
  202. package/dist/node/features/package-finder.d.ts.map +1 -0
  203. package/dist/node/features/postgres.d.ts +173 -0
  204. package/dist/node/features/postgres.d.ts.map +1 -0
  205. package/dist/node/features/proc.d.ts +285 -0
  206. package/dist/node/features/proc.d.ts.map +1 -0
  207. package/dist/node/features/process-manager.d.ts +427 -0
  208. package/dist/node/features/process-manager.d.ts.map +1 -0
  209. package/dist/node/features/python.d.ts +477 -0
  210. package/dist/node/features/python.d.ts.map +1 -0
  211. package/dist/node/features/redis.d.ts +247 -0
  212. package/dist/node/features/redis.d.ts.map +1 -0
  213. package/dist/node/features/repl.d.ts +84 -0
  214. package/dist/node/features/repl.d.ts.map +1 -0
  215. package/dist/node/features/runpod.d.ts +527 -0
  216. package/dist/node/features/runpod.d.ts.map +1 -0
  217. package/dist/node/features/secure-shell.d.ts +145 -0
  218. package/dist/node/features/secure-shell.d.ts.map +1 -0
  219. package/dist/node/features/semantic-search.d.ts +207 -0
  220. package/dist/node/features/semantic-search.d.ts.map +1 -0
  221. package/dist/node/features/sqlite.d.ts +180 -0
  222. package/dist/node/features/sqlite.d.ts.map +1 -0
  223. package/dist/node/features/telegram.d.ts +173 -0
  224. package/dist/node/features/telegram.d.ts.map +1 -0
  225. package/dist/node/features/transpiler.d.ts +51 -0
  226. package/dist/node/features/transpiler.d.ts.map +1 -0
  227. package/dist/node/features/tts.d.ts +108 -0
  228. package/dist/node/features/tts.d.ts.map +1 -0
  229. package/dist/node/features/ui.d.ts +562 -0
  230. package/dist/node/features/ui.d.ts.map +1 -0
  231. package/dist/node/features/vault.d.ts +90 -0
  232. package/dist/node/features/vault.d.ts.map +1 -0
  233. package/dist/node/features/vm.d.ts +285 -0
  234. package/dist/node/features/vm.d.ts.map +1 -0
  235. package/dist/node/features/yaml-tree.d.ts +118 -0
  236. package/dist/node/features/yaml-tree.d.ts.map +1 -0
  237. package/dist/node/features/yaml.d.ts +127 -0
  238. package/dist/node/features/yaml.d.ts.map +1 -0
  239. package/dist/node.d.ts +67 -0
  240. package/dist/node.d.ts.map +1 -0
  241. package/dist/python/generated.d.ts +2 -0
  242. package/dist/python/generated.d.ts.map +1 -0
  243. package/dist/react/index.d.ts +36 -0
  244. package/dist/react/index.d.ts.map +1 -0
  245. package/dist/registry.d.ts +97 -0
  246. package/dist/registry.d.ts.map +1 -0
  247. package/dist/scaffolds/generated.d.ts +13 -0
  248. package/dist/scaffolds/generated.d.ts.map +1 -0
  249. package/dist/scaffolds/template.d.ts +11 -0
  250. package/dist/scaffolds/template.d.ts.map +1 -0
  251. package/dist/schemas/base.d.ts +254 -0
  252. package/dist/schemas/base.d.ts.map +1 -0
  253. package/dist/selector.d.ts +130 -0
  254. package/dist/selector.d.ts.map +1 -0
  255. package/dist/server.d.ts +89 -0
  256. package/dist/server.d.ts.map +1 -0
  257. package/dist/servers/express.d.ts +104 -0
  258. package/dist/servers/express.d.ts.map +1 -0
  259. package/dist/servers/mcp.d.ts +201 -0
  260. package/dist/servers/mcp.d.ts.map +1 -0
  261. package/dist/servers/socket.d.ts +121 -0
  262. package/dist/servers/socket.d.ts.map +1 -0
  263. package/dist/state.d.ts +24 -0
  264. package/dist/state.d.ts.map +1 -0
  265. package/dist/web/clients/socket.d.ts +37 -0
  266. package/dist/web/clients/socket.d.ts.map +1 -0
  267. package/dist/web/container.d.ts +55 -0
  268. package/dist/web/container.d.ts.map +1 -0
  269. package/dist/web/extension.d.ts +4 -0
  270. package/dist/web/extension.d.ts.map +1 -0
  271. package/dist/web/feature.d.ts +8 -0
  272. package/dist/web/feature.d.ts.map +1 -0
  273. package/dist/web/features/asset-loader.d.ts +35 -0
  274. package/dist/web/features/asset-loader.d.ts.map +1 -0
  275. package/dist/web/features/container-link.d.ts +167 -0
  276. package/dist/web/features/container-link.d.ts.map +1 -0
  277. package/dist/web/features/esbuild.d.ts +51 -0
  278. package/dist/web/features/esbuild.d.ts.map +1 -0
  279. package/dist/web/features/helpers.d.ts +140 -0
  280. package/dist/web/features/helpers.d.ts.map +1 -0
  281. package/dist/web/features/network.d.ts +69 -0
  282. package/dist/web/features/network.d.ts.map +1 -0
  283. package/dist/web/features/speech.d.ts +71 -0
  284. package/dist/web/features/speech.d.ts.map +1 -0
  285. package/dist/web/features/vault.d.ts +62 -0
  286. package/dist/web/features/vault.d.ts.map +1 -0
  287. package/dist/web/features/vm.d.ts +48 -0
  288. package/dist/web/features/vm.d.ts.map +1 -0
  289. package/dist/web/features/voice-recognition.d.ts +96 -0
  290. package/dist/web/features/voice-recognition.d.ts.map +1 -0
  291. package/dist/web/shims/isomorphic-vm.d.ts +22 -0
  292. package/dist/web/shims/isomorphic-vm.d.ts.map +1 -0
  293. package/docs/apis/features/agi/assistant.md +1 -0
  294. package/docs/apis/features/agi/assistants-manager.md +62 -2
  295. package/docs/apis/features/agi/auto-assistant.md +11 -109
  296. package/docs/apis/features/agi/claude-code.md +138 -0
  297. package/docs/apis/features/agi/conversation.md +60 -31
  298. package/docs/apis/features/agi/luca-coder.md +407 -0
  299. package/docs/apis/features/agi/openapi.md +2 -2
  300. package/docs/apis/features/agi/skills-library.md +12 -0
  301. package/docs/apis/features/node/python.md +81 -11
  302. package/docs/apis/features/node/transpiler.md +74 -0
  303. package/docs/apis/features/web/esbuild.md +0 -6
  304. package/docs/apis/servers/mcp.md +2 -2
  305. package/docs/examples/entity.md +124 -0
  306. package/docs/ideas/assistant-factory-pattern.md +142 -0
  307. package/package.json +74 -21
  308. package/src/agi/container.server.ts +10 -0
  309. package/src/agi/feature.ts +13 -0
  310. package/src/agi/features/agent-memory.ts +694 -0
  311. package/src/agi/features/assistant.ts +37 -26
  312. package/src/agi/features/assistants-manager.ts +95 -5
  313. package/src/agi/features/autonomous-assistant.ts +1 -5
  314. package/src/agi/features/browser-use.ts +32 -2
  315. package/src/agi/features/claude-code.ts +165 -1
  316. package/src/agi/features/coding-tools.ts +175 -0
  317. package/src/agi/features/conversation-history.ts +2 -6
  318. package/src/agi/features/conversation.ts +95 -3
  319. package/src/agi/features/docs-reader.ts +2 -1
  320. package/src/agi/features/file-tools.ts +35 -28
  321. package/src/agi/features/luca-coder.ts +1 -5
  322. package/src/agi/features/openai-codex.ts +1 -1
  323. package/src/agi/features/openapi.ts +3 -3
  324. package/src/agi/features/skills-library.ts +111 -13
  325. package/src/agi/lib/interceptor-chain.ts +10 -0
  326. package/src/agi/lib/token-counter.ts +1 -1
  327. package/src/bootstrap/generated.ts +126 -1
  328. package/src/bus.ts +27 -5
  329. package/src/cli/build-info.ts +2 -2
  330. package/src/client.ts +2 -2
  331. package/src/clients/elevenlabs/index.ts +5 -0
  332. package/src/clients/voicebox/index.ts +300 -0
  333. package/src/commands/bootstrap.ts +2 -1
  334. package/src/commands/chat.ts +1 -0
  335. package/src/commands/code.ts +4 -2
  336. package/src/commands/prompt.ts +34 -34
  337. package/src/commands/sandbox-mcp.ts +69 -163
  338. package/src/commands/save-api-docs.ts +10 -8
  339. package/src/commands/select.ts +8 -3
  340. package/src/container-describer.ts +70 -84
  341. package/src/container.ts +93 -3
  342. package/src/endpoint.ts +1 -1
  343. package/src/entity.ts +173 -0
  344. package/src/feature.ts +3 -3
  345. package/src/helper.ts +8 -4
  346. package/src/introspection/generated.agi.ts +3012 -1356
  347. package/src/introspection/generated.node.ts +179 -33
  348. package/src/introspection/generated.web.ts +95 -3
  349. package/src/introspection/scan.ts +1 -1
  350. package/src/node/container.ts +1 -1
  351. package/src/node/features/content-db.ts +57 -30
  352. package/src/node/features/file-manager.ts +10 -9
  353. package/src/node/features/git.ts +5 -5
  354. package/src/node/features/helpers.ts +1 -1
  355. package/src/node/features/json-tree.ts +1 -1
  356. package/src/node/features/os.ts +3 -3
  357. package/src/node/features/package-finder.ts +1 -1
  358. package/src/node/features/process-manager.ts +51 -18
  359. package/src/node/features/python.ts +3 -3
  360. package/src/node/features/redis.ts +1 -1
  361. package/src/node/features/repl.ts +2 -2
  362. package/src/node/features/transpiler.ts +2 -2
  363. package/src/node/features/ui.ts +1 -1
  364. package/src/node/features/vm.ts +3 -3
  365. package/src/node/features/yaml-tree.ts +1 -1
  366. package/src/node.ts +1 -0
  367. package/src/python/generated.ts +1 -1
  368. package/src/scaffolds/generated.ts +1 -1
  369. package/src/selector.ts +74 -4
  370. package/src/server.ts +2 -2
  371. package/src/servers/mcp.ts +6 -6
  372. package/src/web/features/helpers.ts +1 -1
  373. package/src/web/features/network.ts +1 -0
  374. package/test/assistant.test.ts +14 -5
  375. package/test/conversation.test.ts +220 -0
  376. package/test-integration/memory.test.ts +204 -0
  377. package/tsconfig.build.json +12 -0
  378. package/tsconfig.json +1 -1
  379. package/scripts/examples/telegram-ink-ui.ts +0 -302
  380. package/scripts/examples/using-openai-codex.ts +0 -23
  381. package/scripts/examples/vm-loading-esm-modules.ts +0 -16
@@ -1,7 +1,7 @@
1
1
  import { setBuildTimeData, setContainerBuildTimeData } from './index.js';
2
2
 
3
3
  // Auto-generated introspection registry data
4
- // Generated at: 2026-03-30T06:52:54.952Z
4
+ // Generated at: 2026-04-05T06:58:06.158Z
5
5
 
6
6
  setBuildTimeData('features.googleDocs', {
7
7
  "id": "features.googleDocs",
@@ -8692,6 +8692,19 @@ setBuildTimeData('features.processManager', {
8692
8692
  ],
8693
8693
  "returns": "void"
8694
8694
  },
8695
+ "setupToolsConsumer": {
8696
+ "description": "When an assistant uses processManager, inject system prompt guidance about how to manage processes safely and effectively.",
8697
+ "parameters": {
8698
+ "consumer": {
8699
+ "type": "Helper",
8700
+ "description": "Parameter consumer"
8701
+ }
8702
+ },
8703
+ "required": [
8704
+ "consumer"
8705
+ ],
8706
+ "returns": "void"
8707
+ },
8695
8708
  "spawn": {
8696
8709
  "description": "Spawn a long-running process and return a handle immediately. The returned SpawnHandler provides events for stdout/stderr streaming, exit/crash notifications, and methods to kill or await the process.",
8697
8710
  "parameters": {
@@ -11111,6 +11124,19 @@ setBuildTimeData('features.contentDb', {
11111
11124
  "shortcut": "features.contentDb",
11112
11125
  "className": "ContentDb",
11113
11126
  "methods": {
11127
+ "setupToolsConsumer": {
11128
+ "description": "When an assistant uses contentDb, inject system prompt guidance about progressive document exploration.",
11129
+ "parameters": {
11130
+ "consumer": {
11131
+ "type": "Helper",
11132
+ "description": "Parameter consumer"
11133
+ }
11134
+ },
11135
+ "required": [
11136
+ "consumer"
11137
+ ],
11138
+ "returns": "void"
11139
+ },
11114
11140
  "renderTree": {
11115
11141
  "description": "Render a tree view of the collection directory structure. Built with container.fs so it works without the `tree` binary.",
11116
11142
  "parameters": {
@@ -12881,7 +12907,7 @@ setBuildTimeData('servers.mcp', {
12881
12907
  "description": "Tool schema, description, and handler",
12882
12908
  "properties": {
12883
12909
  "schema": {
12884
- "type": "z.ZodObject<any>",
12910
+ "type": "z.ZodType",
12885
12911
  "description": ""
12886
12912
  },
12887
12913
  "description": {
@@ -12889,7 +12915,7 @@ setBuildTimeData('servers.mcp', {
12889
12915
  "description": ""
12890
12916
  },
12891
12917
  "handler": {
12892
- "type": "(args: any, ctx: MCPContext) => any",
12918
+ "type": "Function | ((args: any, ctx: any) => any)",
12893
12919
  "description": ""
12894
12920
  }
12895
12921
  }
@@ -13031,7 +13057,7 @@ setBuildTimeData('servers.mcp', {
13031
13057
  "description": "",
13032
13058
  "properties": {
13033
13059
  "schema": {
13034
- "type": "z.ZodObject<any>",
13060
+ "type": "z.ZodType",
13035
13061
  "description": "",
13036
13062
  "optional": true
13037
13063
  },
@@ -13041,17 +13067,9 @@ setBuildTimeData('servers.mcp', {
13041
13067
  "optional": true
13042
13068
  },
13043
13069
  "handler": {
13044
- "type": "(args: any, ctx: MCPContext) => any",
13045
- "description": ""
13046
- }
13047
- }
13048
- },
13049
- "MCPContext": {
13050
- "description": "Context object passed to all MCP tool, resource, and prompt handlers.",
13051
- "properties": {
13052
- "container": {
13053
- "type": "NodeContainer",
13054
- "description": ""
13070
+ "type": "Function | ((args: any, ctx: any) => any)",
13071
+ "description": "",
13072
+ "optional": true
13055
13073
  }
13056
13074
  }
13057
13075
  },
@@ -13079,6 +13097,15 @@ setBuildTimeData('servers.mcp', {
13079
13097
  }
13080
13098
  }
13081
13099
  },
13100
+ "MCPContext": {
13101
+ "description": "Context object passed to all MCP tool, resource, and prompt handlers.",
13102
+ "properties": {
13103
+ "container": {
13104
+ "type": "NodeContainer",
13105
+ "description": ""
13106
+ }
13107
+ }
13108
+ },
13082
13109
  "PromptRegistrationOptions": {
13083
13110
  "description": "",
13084
13111
  "properties": {
@@ -13472,7 +13499,7 @@ setContainerBuildTimeData('Container', {
13472
13499
  "description": "The id of the feature to create."
13473
13500
  },
13474
13501
  "options": {
13475
- "type": "ConstructorParameters<Features[T]>[0]",
13502
+ "type": "FeatureInputOptions<Features>[T] | Record<string, unknown>",
13476
13503
  "description": "The options to pass to the feature constructor."
13477
13504
  }
13478
13505
  },
@@ -13481,6 +13508,52 @@ setContainerBuildTimeData('Container', {
13481
13508
  ],
13482
13509
  "returns": "InstanceType<Features[T]>"
13483
13510
  },
13511
+ "entity": {
13512
+ "description": "Creates a lightweight entity object with observable state, a typed event bus, and access to the container. Same id + options always returns the same cached base instance. An optional third argument auto-extends the entity with functions and getters. All extended methods and getters can access the entity (state, options, container, on/off/emit, etc.) via `this`.",
13513
+ "parameters": {
13514
+ "id": {
13515
+ "type": "string",
13516
+ "description": "Stable identifier for this entity (included in cache key)"
13517
+ },
13518
+ "options": {
13519
+ "type": "TOptions",
13520
+ "description": "Arbitrary options stored on `entity.options` (included in cache key)"
13521
+ },
13522
+ "extensions": {
13523
+ "type": "Ext & ThisType<Entity<TState, TOptions, TEvents> & Ext>",
13524
+ "description": "Optional object of functions/getters to graft onto the entity"
13525
+ }
13526
+ },
13527
+ "required": [
13528
+ "id"
13529
+ ],
13530
+ "returns": "Entity<TState, TOptions, TEvents> & Ext",
13531
+ "examples": [
13532
+ {
13533
+ "language": "ts",
13534
+ "code": "// Basic entity with typed state and events\nconst counter = container.entity<{ count: number }>('counter')\ncounter.setState({ count: 0 })\ncounter.on('tick', () => counter.setState(s => ({ count: s.count + 1 })))\n\n// With options and auto-extension\nconst user = container.entity('user:42', { name: 'Alice' }, {\n greet() { return `Hello ${this.options.name}` },\n get label() { return `User: ${this.options.name}` },\n})\nuser.greet() // \"Hello Alice\""
13535
+ }
13536
+ ]
13537
+ },
13538
+ "getHelperByUUID": {
13539
+ "description": "Look up any helper instance (feature, client, server) by its UUID. Returns undefined if the UUID is unknown or the instance was never created.",
13540
+ "parameters": {
13541
+ "uuid": {
13542
+ "type": "string",
13543
+ "description": "The `instance.uuid` value assigned at construction time"
13544
+ }
13545
+ },
13546
+ "required": [
13547
+ "uuid"
13548
+ ],
13549
+ "returns": "Helper | undefined",
13550
+ "examples": [
13551
+ {
13552
+ "language": "ts",
13553
+ "code": "const assistant = container.feature('assistant')\nconst { uuid } = assistant\n// ... later ...\nconst same = container.getHelperByUUID(uuid) // === assistant"
13554
+ }
13555
+ ]
13556
+ },
13484
13557
  "start": {
13485
13558
  "description": "Start the container. Emits the 'started' event and sets `state.started` to true. Plugins and features can listen for this event to perform initialization.",
13486
13559
  "parameters": {},
@@ -13787,7 +13860,7 @@ setContainerBuildTimeData('NodeContainer', {
13787
13860
  },
13788
13861
  "urlUtils": {
13789
13862
  "description": "Returns URL utility functions for parsing URIs.",
13790
- "returns": "{ parse: (uri: string) => url.URL | null }"
13863
+ "returns": "{ parse: (uri: string) => url.UrlWithStringQuery }"
13791
13864
  },
13792
13865
  "paths": {
13793
13866
  "description": "Returns path utility functions scoped to the current working directory (join, resolve, relative, dirname, parse).",
@@ -22451,6 +22524,19 @@ export const introspectionData = [
22451
22524
  ],
22452
22525
  "returns": "void"
22453
22526
  },
22527
+ "setupToolsConsumer": {
22528
+ "description": "When an assistant uses processManager, inject system prompt guidance about how to manage processes safely and effectively.",
22529
+ "parameters": {
22530
+ "consumer": {
22531
+ "type": "Helper",
22532
+ "description": "Parameter consumer"
22533
+ }
22534
+ },
22535
+ "required": [
22536
+ "consumer"
22537
+ ],
22538
+ "returns": "void"
22539
+ },
22454
22540
  "spawn": {
22455
22541
  "description": "Spawn a long-running process and return a handle immediately. The returned SpawnHandler provides events for stdout/stderr streaming, exit/crash notifications, and methods to kill or await the process.",
22456
22542
  "parameters": {
@@ -24863,6 +24949,19 @@ export const introspectionData = [
24863
24949
  "shortcut": "features.contentDb",
24864
24950
  "className": "ContentDb",
24865
24951
  "methods": {
24952
+ "setupToolsConsumer": {
24953
+ "description": "When an assistant uses contentDb, inject system prompt guidance about progressive document exploration.",
24954
+ "parameters": {
24955
+ "consumer": {
24956
+ "type": "Helper",
24957
+ "description": "Parameter consumer"
24958
+ }
24959
+ },
24960
+ "required": [
24961
+ "consumer"
24962
+ ],
24963
+ "returns": "void"
24964
+ },
24866
24965
  "renderTree": {
24867
24966
  "description": "Render a tree view of the collection directory structure. Built with container.fs so it works without the `tree` binary.",
24868
24967
  "parameters": {
@@ -26625,7 +26724,7 @@ export const introspectionData = [
26625
26724
  "description": "Tool schema, description, and handler",
26626
26725
  "properties": {
26627
26726
  "schema": {
26628
- "type": "z.ZodObject<any>",
26727
+ "type": "z.ZodType",
26629
26728
  "description": ""
26630
26729
  },
26631
26730
  "description": {
@@ -26633,7 +26732,7 @@ export const introspectionData = [
26633
26732
  "description": ""
26634
26733
  },
26635
26734
  "handler": {
26636
- "type": "(args: any, ctx: MCPContext) => any",
26735
+ "type": "Function | ((args: any, ctx: any) => any)",
26637
26736
  "description": ""
26638
26737
  }
26639
26738
  }
@@ -26775,7 +26874,7 @@ export const introspectionData = [
26775
26874
  "description": "",
26776
26875
  "properties": {
26777
26876
  "schema": {
26778
- "type": "z.ZodObject<any>",
26877
+ "type": "z.ZodType",
26779
26878
  "description": "",
26780
26879
  "optional": true
26781
26880
  },
@@ -26785,17 +26884,9 @@ export const introspectionData = [
26785
26884
  "optional": true
26786
26885
  },
26787
26886
  "handler": {
26788
- "type": "(args: any, ctx: MCPContext) => any",
26789
- "description": ""
26790
- }
26791
- }
26792
- },
26793
- "MCPContext": {
26794
- "description": "Context object passed to all MCP tool, resource, and prompt handlers.",
26795
- "properties": {
26796
- "container": {
26797
- "type": "NodeContainer",
26798
- "description": ""
26887
+ "type": "Function | ((args: any, ctx: any) => any)",
26888
+ "description": "",
26889
+ "optional": true
26799
26890
  }
26800
26891
  }
26801
26892
  },
@@ -26823,6 +26914,15 @@ export const introspectionData = [
26823
26914
  }
26824
26915
  }
26825
26916
  },
26917
+ "MCPContext": {
26918
+ "description": "Context object passed to all MCP tool, resource, and prompt handlers.",
26919
+ "properties": {
26920
+ "container": {
26921
+ "type": "NodeContainer",
26922
+ "description": ""
26923
+ }
26924
+ }
26925
+ },
26826
26926
  "PromptRegistrationOptions": {
26827
26927
  "description": "",
26828
26928
  "properties": {
@@ -27215,7 +27315,7 @@ export const containerIntrospectionData = [
27215
27315
  "description": "The id of the feature to create."
27216
27316
  },
27217
27317
  "options": {
27218
- "type": "ConstructorParameters<Features[T]>[0]",
27318
+ "type": "FeatureInputOptions<Features>[T] | Record<string, unknown>",
27219
27319
  "description": "The options to pass to the feature constructor."
27220
27320
  }
27221
27321
  },
@@ -27224,6 +27324,52 @@ export const containerIntrospectionData = [
27224
27324
  ],
27225
27325
  "returns": "InstanceType<Features[T]>"
27226
27326
  },
27327
+ "entity": {
27328
+ "description": "Creates a lightweight entity object with observable state, a typed event bus, and access to the container. Same id + options always returns the same cached base instance. An optional third argument auto-extends the entity with functions and getters. All extended methods and getters can access the entity (state, options, container, on/off/emit, etc.) via `this`.",
27329
+ "parameters": {
27330
+ "id": {
27331
+ "type": "string",
27332
+ "description": "Stable identifier for this entity (included in cache key)"
27333
+ },
27334
+ "options": {
27335
+ "type": "TOptions",
27336
+ "description": "Arbitrary options stored on `entity.options` (included in cache key)"
27337
+ },
27338
+ "extensions": {
27339
+ "type": "Ext & ThisType<Entity<TState, TOptions, TEvents> & Ext>",
27340
+ "description": "Optional object of functions/getters to graft onto the entity"
27341
+ }
27342
+ },
27343
+ "required": [
27344
+ "id"
27345
+ ],
27346
+ "returns": "Entity<TState, TOptions, TEvents> & Ext",
27347
+ "examples": [
27348
+ {
27349
+ "language": "ts",
27350
+ "code": "// Basic entity with typed state and events\nconst counter = container.entity<{ count: number }>('counter')\ncounter.setState({ count: 0 })\ncounter.on('tick', () => counter.setState(s => ({ count: s.count + 1 })))\n\n// With options and auto-extension\nconst user = container.entity('user:42', { name: 'Alice' }, {\n greet() { return `Hello ${this.options.name}` },\n get label() { return `User: ${this.options.name}` },\n})\nuser.greet() // \"Hello Alice\""
27351
+ }
27352
+ ]
27353
+ },
27354
+ "getHelperByUUID": {
27355
+ "description": "Look up any helper instance (feature, client, server) by its UUID. Returns undefined if the UUID is unknown or the instance was never created.",
27356
+ "parameters": {
27357
+ "uuid": {
27358
+ "type": "string",
27359
+ "description": "The `instance.uuid` value assigned at construction time"
27360
+ }
27361
+ },
27362
+ "required": [
27363
+ "uuid"
27364
+ ],
27365
+ "returns": "Helper | undefined",
27366
+ "examples": [
27367
+ {
27368
+ "language": "ts",
27369
+ "code": "const assistant = container.feature('assistant')\nconst { uuid } = assistant\n// ... later ...\nconst same = container.getHelperByUUID(uuid) // === assistant"
27370
+ }
27371
+ ]
27372
+ },
27227
27373
  "start": {
27228
27374
  "description": "Start the container. Emits the 'started' event and sets `state.started` to true. Plugins and features can listen for this event to perform initialization.",
27229
27375
  "parameters": {},
@@ -27529,7 +27675,7 @@ export const containerIntrospectionData = [
27529
27675
  },
27530
27676
  "urlUtils": {
27531
27677
  "description": "Returns URL utility functions for parsing URIs.",
27532
- "returns": "{ parse: (uri: string) => url.URL | null }"
27678
+ "returns": "{ parse: (uri: string) => url.UrlWithStringQuery }"
27533
27679
  },
27534
27680
  "paths": {
27535
27681
  "description": "Returns path utility functions scoped to the current working directory (join, resolve, relative, dirname, parse).",
@@ -1,7 +1,7 @@
1
1
  import { setBuildTimeData, setContainerBuildTimeData } from './index.js';
2
2
 
3
3
  // Auto-generated introspection registry data
4
- // Generated at: 2026-03-30T06:52:54.962Z
4
+ // Generated at: 2026-04-05T06:58:06.168Z
5
5
 
6
6
  setBuildTimeData('features.containerLink', {
7
7
  "id": "features.containerLink",
@@ -767,7 +767,7 @@ setContainerBuildTimeData('Container', {
767
767
  "description": "The id of the feature to create."
768
768
  },
769
769
  "options": {
770
- "type": "ConstructorParameters<Features[T]>[0]",
770
+ "type": "FeatureInputOptions<Features>[T] | Record<string, unknown>",
771
771
  "description": "The options to pass to the feature constructor."
772
772
  }
773
773
  },
@@ -776,6 +776,52 @@ setContainerBuildTimeData('Container', {
776
776
  ],
777
777
  "returns": "InstanceType<Features[T]>"
778
778
  },
779
+ "entity": {
780
+ "description": "Creates a lightweight entity object with observable state, a typed event bus, and access to the container. Same id + options always returns the same cached base instance. An optional third argument auto-extends the entity with functions and getters. All extended methods and getters can access the entity (state, options, container, on/off/emit, etc.) via `this`.",
781
+ "parameters": {
782
+ "id": {
783
+ "type": "string",
784
+ "description": "Stable identifier for this entity (included in cache key)"
785
+ },
786
+ "options": {
787
+ "type": "TOptions",
788
+ "description": "Arbitrary options stored on `entity.options` (included in cache key)"
789
+ },
790
+ "extensions": {
791
+ "type": "Ext & ThisType<Entity<TState, TOptions, TEvents> & Ext>",
792
+ "description": "Optional object of functions/getters to graft onto the entity"
793
+ }
794
+ },
795
+ "required": [
796
+ "id"
797
+ ],
798
+ "returns": "Entity<TState, TOptions, TEvents> & Ext",
799
+ "examples": [
800
+ {
801
+ "language": "ts",
802
+ "code": "// Basic entity with typed state and events\nconst counter = container.entity<{ count: number }>('counter')\ncounter.setState({ count: 0 })\ncounter.on('tick', () => counter.setState(s => ({ count: s.count + 1 })))\n\n// With options and auto-extension\nconst user = container.entity('user:42', { name: 'Alice' }, {\n greet() { return `Hello ${this.options.name}` },\n get label() { return `User: ${this.options.name}` },\n})\nuser.greet() // \"Hello Alice\""
803
+ }
804
+ ]
805
+ },
806
+ "getHelperByUUID": {
807
+ "description": "Look up any helper instance (feature, client, server) by its UUID. Returns undefined if the UUID is unknown or the instance was never created.",
808
+ "parameters": {
809
+ "uuid": {
810
+ "type": "string",
811
+ "description": "The `instance.uuid` value assigned at construction time"
812
+ }
813
+ },
814
+ "required": [
815
+ "uuid"
816
+ ],
817
+ "returns": "Helper | undefined",
818
+ "examples": [
819
+ {
820
+ "language": "ts",
821
+ "code": "const assistant = container.feature('assistant')\nconst { uuid } = assistant\n// ... later ...\nconst same = container.getHelperByUUID(uuid) // === assistant"
822
+ }
823
+ ]
824
+ },
779
825
  "start": {
780
826
  "description": "Start the container. Emits the 'started' event and sets `state.started` to true. Plugins and features can listen for this event to perform initialization.",
781
827
  "parameters": {},
@@ -1841,7 +1887,7 @@ export const containerIntrospectionData = [
1841
1887
  "description": "The id of the feature to create."
1842
1888
  },
1843
1889
  "options": {
1844
- "type": "ConstructorParameters<Features[T]>[0]",
1890
+ "type": "FeatureInputOptions<Features>[T] | Record<string, unknown>",
1845
1891
  "description": "The options to pass to the feature constructor."
1846
1892
  }
1847
1893
  },
@@ -1850,6 +1896,52 @@ export const containerIntrospectionData = [
1850
1896
  ],
1851
1897
  "returns": "InstanceType<Features[T]>"
1852
1898
  },
1899
+ "entity": {
1900
+ "description": "Creates a lightweight entity object with observable state, a typed event bus, and access to the container. Same id + options always returns the same cached base instance. An optional third argument auto-extends the entity with functions and getters. All extended methods and getters can access the entity (state, options, container, on/off/emit, etc.) via `this`.",
1901
+ "parameters": {
1902
+ "id": {
1903
+ "type": "string",
1904
+ "description": "Stable identifier for this entity (included in cache key)"
1905
+ },
1906
+ "options": {
1907
+ "type": "TOptions",
1908
+ "description": "Arbitrary options stored on `entity.options` (included in cache key)"
1909
+ },
1910
+ "extensions": {
1911
+ "type": "Ext & ThisType<Entity<TState, TOptions, TEvents> & Ext>",
1912
+ "description": "Optional object of functions/getters to graft onto the entity"
1913
+ }
1914
+ },
1915
+ "required": [
1916
+ "id"
1917
+ ],
1918
+ "returns": "Entity<TState, TOptions, TEvents> & Ext",
1919
+ "examples": [
1920
+ {
1921
+ "language": "ts",
1922
+ "code": "// Basic entity with typed state and events\nconst counter = container.entity<{ count: number }>('counter')\ncounter.setState({ count: 0 })\ncounter.on('tick', () => counter.setState(s => ({ count: s.count + 1 })))\n\n// With options and auto-extension\nconst user = container.entity('user:42', { name: 'Alice' }, {\n greet() { return `Hello ${this.options.name}` },\n get label() { return `User: ${this.options.name}` },\n})\nuser.greet() // \"Hello Alice\""
1923
+ }
1924
+ ]
1925
+ },
1926
+ "getHelperByUUID": {
1927
+ "description": "Look up any helper instance (feature, client, server) by its UUID. Returns undefined if the UUID is unknown or the instance was never created.",
1928
+ "parameters": {
1929
+ "uuid": {
1930
+ "type": "string",
1931
+ "description": "The `instance.uuid` value assigned at construction time"
1932
+ }
1933
+ },
1934
+ "required": [
1935
+ "uuid"
1936
+ ],
1937
+ "returns": "Helper | undefined",
1938
+ "examples": [
1939
+ {
1940
+ "language": "ts",
1941
+ "code": "const assistant = container.feature('assistant')\nconst { uuid } = assistant\n// ... later ...\nconst same = container.getHelperByUUID(uuid) // === assistant"
1942
+ }
1943
+ ]
1944
+ },
1853
1945
  "start": {
1854
1946
  "description": "Start the container. Emits the 'started' event and sets `state.started` to true. Plugins and features can listen for this event to perform initialization.",
1855
1947
  "parameters": {},
@@ -587,7 +587,7 @@ export class IntrospectionScannerFeature extends Feature<IntrospectionScannerSta
587
587
  if (!commentText.startsWith('/**')) continue;
588
588
 
589
589
  const match = commentText.match(/@returns?\s*\{([^}]+)\}/);
590
- if (match) return match[1].trim();
590
+ if (match && match[1]) return match[1].trim();
591
591
  }
592
592
  }
593
593
 
@@ -366,7 +366,7 @@ export class NodeContainer<
366
366
  }
367
367
 
368
368
  /** Returns URL utility functions for parsing URIs. */
369
- get urlUtils(): { parse: (uri: string) => url.URL | null } {
369
+ get urlUtils(): { parse: (uri: string) => url.UrlWithStringQuery } {
370
370
  return {
371
371
  parse: (uri: string) => url.parse(uri)
372
372
  }