@soederpop/luca 0.1.2 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (366) hide show
  1. package/CLAUDE.md +2 -0
  2. package/assistants/codingAssistant/hooks.ts +1 -5
  3. package/assistants/inkbot/CORE.md +69 -0
  4. package/assistants/inkbot/hooks.ts +14 -0
  5. package/assistants/inkbot/tools.ts +47 -0
  6. package/commands/inkbot.ts +353 -0
  7. package/dist/agi/container.server.d.ts +63 -0
  8. package/dist/agi/container.server.d.ts.map +1 -0
  9. package/dist/agi/endpoints/ask.d.ts +20 -0
  10. package/dist/agi/endpoints/ask.d.ts.map +1 -0
  11. package/dist/agi/endpoints/conversations/[id].d.ts +27 -0
  12. package/dist/agi/endpoints/conversations/[id].d.ts.map +1 -0
  13. package/dist/agi/endpoints/conversations.d.ts +18 -0
  14. package/dist/agi/endpoints/conversations.d.ts.map +1 -0
  15. package/dist/agi/endpoints/experts.d.ts +8 -0
  16. package/dist/agi/endpoints/experts.d.ts.map +1 -0
  17. package/dist/agi/feature.d.ts +9 -0
  18. package/dist/agi/feature.d.ts.map +1 -0
  19. package/dist/agi/features/assistant.d.ts +509 -0
  20. package/dist/agi/features/assistant.d.ts.map +1 -0
  21. package/dist/agi/features/assistants-manager.d.ts +236 -0
  22. package/dist/agi/features/assistants-manager.d.ts.map +1 -0
  23. package/dist/agi/features/autonomous-assistant.d.ts +281 -0
  24. package/dist/agi/features/autonomous-assistant.d.ts.map +1 -0
  25. package/dist/agi/features/browser-use.d.ts +479 -0
  26. package/dist/agi/features/browser-use.d.ts.map +1 -0
  27. package/dist/agi/features/claude-code.d.ts +824 -0
  28. package/dist/agi/features/claude-code.d.ts.map +1 -0
  29. package/dist/agi/features/conversation-history.d.ts +245 -0
  30. package/dist/agi/features/conversation-history.d.ts.map +1 -0
  31. package/dist/agi/features/conversation.d.ts +464 -0
  32. package/dist/agi/features/conversation.d.ts.map +1 -0
  33. package/dist/agi/features/docs-reader.d.ts +72 -0
  34. package/dist/agi/features/docs-reader.d.ts.map +1 -0
  35. package/dist/agi/features/file-tools.d.ts +110 -0
  36. package/dist/agi/features/file-tools.d.ts.map +1 -0
  37. package/dist/agi/features/luca-coder.d.ts +323 -0
  38. package/dist/agi/features/luca-coder.d.ts.map +1 -0
  39. package/dist/agi/features/openai-codex.d.ts +381 -0
  40. package/dist/agi/features/openai-codex.d.ts.map +1 -0
  41. package/dist/agi/features/openapi.d.ts +200 -0
  42. package/dist/agi/features/openapi.d.ts.map +1 -0
  43. package/dist/agi/features/skills-library.d.ts +167 -0
  44. package/dist/agi/features/skills-library.d.ts.map +1 -0
  45. package/dist/agi/index.d.ts +5 -0
  46. package/dist/agi/index.d.ts.map +1 -0
  47. package/dist/agi/lib/interceptor-chain.d.ts +44 -0
  48. package/dist/agi/lib/interceptor-chain.d.ts.map +1 -0
  49. package/dist/agi/lib/token-counter.d.ts +13 -0
  50. package/dist/agi/lib/token-counter.d.ts.map +1 -0
  51. package/dist/bootstrap/generated.d.ts +5 -0
  52. package/dist/bootstrap/generated.d.ts.map +1 -0
  53. package/dist/browser.d.ts +12 -0
  54. package/dist/browser.d.ts.map +1 -0
  55. package/dist/bus.d.ts +29 -0
  56. package/dist/bus.d.ts.map +1 -0
  57. package/dist/cli/build-info.d.ts +4 -0
  58. package/dist/cli/build-info.d.ts.map +1 -0
  59. package/dist/cli/cli.d.ts +3 -0
  60. package/dist/cli/cli.d.ts.map +1 -0
  61. package/dist/client.d.ts +60 -0
  62. package/dist/client.d.ts.map +1 -0
  63. package/dist/clients/civitai/index.d.ts +472 -0
  64. package/dist/clients/civitai/index.d.ts.map +1 -0
  65. package/dist/clients/client-template.d.ts +30 -0
  66. package/dist/clients/client-template.d.ts.map +1 -0
  67. package/dist/clients/comfyui/index.d.ts +281 -0
  68. package/dist/clients/comfyui/index.d.ts.map +1 -0
  69. package/dist/clients/elevenlabs/index.d.ts +197 -0
  70. package/dist/clients/elevenlabs/index.d.ts.map +1 -0
  71. package/dist/clients/graph.d.ts +64 -0
  72. package/dist/clients/graph.d.ts.map +1 -0
  73. package/dist/clients/openai/index.d.ts +247 -0
  74. package/dist/clients/openai/index.d.ts.map +1 -0
  75. package/dist/clients/rest.d.ts +92 -0
  76. package/dist/clients/rest.d.ts.map +1 -0
  77. package/dist/clients/supabase/index.d.ts +176 -0
  78. package/dist/clients/supabase/index.d.ts.map +1 -0
  79. package/dist/clients/websocket.d.ts +127 -0
  80. package/dist/clients/websocket.d.ts.map +1 -0
  81. package/dist/command.d.ts +163 -0
  82. package/dist/command.d.ts.map +1 -0
  83. package/dist/commands/bootstrap.d.ts +20 -0
  84. package/dist/commands/bootstrap.d.ts.map +1 -0
  85. package/dist/commands/chat.d.ts +37 -0
  86. package/dist/commands/chat.d.ts.map +1 -0
  87. package/dist/commands/code.d.ts +28 -0
  88. package/dist/commands/code.d.ts.map +1 -0
  89. package/dist/commands/console.d.ts +22 -0
  90. package/dist/commands/console.d.ts.map +1 -0
  91. package/dist/commands/describe.d.ts +50 -0
  92. package/dist/commands/describe.d.ts.map +1 -0
  93. package/dist/commands/eval.d.ts +23 -0
  94. package/dist/commands/eval.d.ts.map +1 -0
  95. package/dist/commands/help.d.ts +25 -0
  96. package/dist/commands/help.d.ts.map +1 -0
  97. package/dist/commands/index.d.ts +18 -0
  98. package/dist/commands/index.d.ts.map +1 -0
  99. package/dist/commands/introspect.d.ts +24 -0
  100. package/dist/commands/introspect.d.ts.map +1 -0
  101. package/dist/commands/mcp.d.ts +35 -0
  102. package/dist/commands/mcp.d.ts.map +1 -0
  103. package/dist/commands/prompt.d.ts +38 -0
  104. package/dist/commands/prompt.d.ts.map +1 -0
  105. package/dist/commands/run.d.ts +24 -0
  106. package/dist/commands/run.d.ts.map +1 -0
  107. package/dist/commands/sandbox-mcp.d.ts +34 -0
  108. package/dist/commands/sandbox-mcp.d.ts.map +1 -0
  109. package/dist/commands/save-api-docs.d.ts +21 -0
  110. package/dist/commands/save-api-docs.d.ts.map +1 -0
  111. package/dist/commands/scaffold.d.ts +24 -0
  112. package/dist/commands/scaffold.d.ts.map +1 -0
  113. package/dist/commands/select.d.ts +22 -0
  114. package/dist/commands/select.d.ts.map +1 -0
  115. package/dist/commands/serve.d.ts +29 -0
  116. package/dist/commands/serve.d.ts.map +1 -0
  117. package/dist/container-describer.d.ts +144 -0
  118. package/dist/container-describer.d.ts.map +1 -0
  119. package/dist/container.d.ts +451 -0
  120. package/dist/container.d.ts.map +1 -0
  121. package/dist/endpoint.d.ts +113 -0
  122. package/dist/endpoint.d.ts.map +1 -0
  123. package/dist/feature.d.ts +47 -0
  124. package/dist/feature.d.ts.map +1 -0
  125. package/dist/graft.d.ts +29 -0
  126. package/dist/graft.d.ts.map +1 -0
  127. package/dist/hash-object.d.ts +8 -0
  128. package/dist/hash-object.d.ts.map +1 -0
  129. package/dist/helper.d.ts +209 -0
  130. package/dist/helper.d.ts.map +1 -0
  131. package/dist/introspection/generated.node.d.ts +44623 -0
  132. package/dist/introspection/generated.node.d.ts.map +1 -0
  133. package/dist/introspection/generated.web.d.ts +1412 -0
  134. package/dist/introspection/generated.web.d.ts.map +1 -0
  135. package/dist/introspection/index.d.ts +156 -0
  136. package/dist/introspection/index.d.ts.map +1 -0
  137. package/dist/introspection/scan.d.ts +147 -0
  138. package/dist/introspection/scan.d.ts.map +1 -0
  139. package/dist/node/container.d.ts +256 -0
  140. package/dist/node/container.d.ts.map +1 -0
  141. package/dist/node/feature.d.ts +9 -0
  142. package/dist/node/feature.d.ts.map +1 -0
  143. package/dist/node/features/container-link.d.ts +213 -0
  144. package/dist/node/features/container-link.d.ts.map +1 -0
  145. package/dist/node/features/content-db.d.ts +354 -0
  146. package/dist/node/features/content-db.d.ts.map +1 -0
  147. package/dist/node/features/disk-cache.d.ts +236 -0
  148. package/dist/node/features/disk-cache.d.ts.map +1 -0
  149. package/dist/node/features/dns.d.ts +511 -0
  150. package/dist/node/features/dns.d.ts.map +1 -0
  151. package/dist/node/features/docker.d.ts +485 -0
  152. package/dist/node/features/docker.d.ts.map +1 -0
  153. package/dist/node/features/downloader.d.ts +73 -0
  154. package/dist/node/features/downloader.d.ts.map +1 -0
  155. package/dist/node/features/figlet-fonts.d.ts +4 -0
  156. package/dist/node/features/figlet-fonts.d.ts.map +1 -0
  157. package/dist/node/features/file-manager.d.ts +177 -0
  158. package/dist/node/features/file-manager.d.ts.map +1 -0
  159. package/dist/node/features/fs.d.ts +635 -0
  160. package/dist/node/features/fs.d.ts.map +1 -0
  161. package/dist/node/features/git.d.ts +329 -0
  162. package/dist/node/features/git.d.ts.map +1 -0
  163. package/dist/node/features/google-auth.d.ts +200 -0
  164. package/dist/node/features/google-auth.d.ts.map +1 -0
  165. package/dist/node/features/google-calendar.d.ts +194 -0
  166. package/dist/node/features/google-calendar.d.ts.map +1 -0
  167. package/dist/node/features/google-docs.d.ts +138 -0
  168. package/dist/node/features/google-docs.d.ts.map +1 -0
  169. package/dist/node/features/google-drive.d.ts +202 -0
  170. package/dist/node/features/google-drive.d.ts.map +1 -0
  171. package/dist/node/features/google-mail.d.ts +221 -0
  172. package/dist/node/features/google-mail.d.ts.map +1 -0
  173. package/dist/node/features/google-sheets.d.ts +157 -0
  174. package/dist/node/features/google-sheets.d.ts.map +1 -0
  175. package/dist/node/features/grep.d.ts +207 -0
  176. package/dist/node/features/grep.d.ts.map +1 -0
  177. package/dist/node/features/helpers.d.ts +236 -0
  178. package/dist/node/features/helpers.d.ts.map +1 -0
  179. package/dist/node/features/ink.d.ts +332 -0
  180. package/dist/node/features/ink.d.ts.map +1 -0
  181. package/dist/node/features/ipc-socket.d.ts +298 -0
  182. package/dist/node/features/ipc-socket.d.ts.map +1 -0
  183. package/dist/node/features/json-tree.d.ts +140 -0
  184. package/dist/node/features/json-tree.d.ts.map +1 -0
  185. package/dist/node/features/networking.d.ts +373 -0
  186. package/dist/node/features/networking.d.ts.map +1 -0
  187. package/dist/node/features/nlp.d.ts +125 -0
  188. package/dist/node/features/nlp.d.ts.map +1 -0
  189. package/dist/node/features/opener.d.ts +93 -0
  190. package/dist/node/features/opener.d.ts.map +1 -0
  191. package/dist/node/features/os.d.ts +168 -0
  192. package/dist/node/features/os.d.ts.map +1 -0
  193. package/dist/node/features/package-finder.d.ts +419 -0
  194. package/dist/node/features/package-finder.d.ts.map +1 -0
  195. package/dist/node/features/postgres.d.ts +173 -0
  196. package/dist/node/features/postgres.d.ts.map +1 -0
  197. package/dist/node/features/proc.d.ts +285 -0
  198. package/dist/node/features/proc.d.ts.map +1 -0
  199. package/dist/node/features/process-manager.d.ts +427 -0
  200. package/dist/node/features/process-manager.d.ts.map +1 -0
  201. package/dist/node/features/python.d.ts +477 -0
  202. package/dist/node/features/python.d.ts.map +1 -0
  203. package/dist/node/features/redis.d.ts +247 -0
  204. package/dist/node/features/redis.d.ts.map +1 -0
  205. package/dist/node/features/repl.d.ts +84 -0
  206. package/dist/node/features/repl.d.ts.map +1 -0
  207. package/dist/node/features/runpod.d.ts +527 -0
  208. package/dist/node/features/runpod.d.ts.map +1 -0
  209. package/dist/node/features/secure-shell.d.ts +145 -0
  210. package/dist/node/features/secure-shell.d.ts.map +1 -0
  211. package/dist/node/features/semantic-search.d.ts +207 -0
  212. package/dist/node/features/semantic-search.d.ts.map +1 -0
  213. package/dist/node/features/sqlite.d.ts +180 -0
  214. package/dist/node/features/sqlite.d.ts.map +1 -0
  215. package/dist/node/features/telegram.d.ts +173 -0
  216. package/dist/node/features/telegram.d.ts.map +1 -0
  217. package/dist/node/features/transpiler.d.ts +51 -0
  218. package/dist/node/features/transpiler.d.ts.map +1 -0
  219. package/dist/node/features/tts.d.ts +108 -0
  220. package/dist/node/features/tts.d.ts.map +1 -0
  221. package/dist/node/features/ui.d.ts +562 -0
  222. package/dist/node/features/ui.d.ts.map +1 -0
  223. package/dist/node/features/vault.d.ts +90 -0
  224. package/dist/node/features/vault.d.ts.map +1 -0
  225. package/dist/node/features/vm.d.ts +285 -0
  226. package/dist/node/features/vm.d.ts.map +1 -0
  227. package/dist/node/features/yaml-tree.d.ts +118 -0
  228. package/dist/node/features/yaml-tree.d.ts.map +1 -0
  229. package/dist/node/features/yaml.d.ts +127 -0
  230. package/dist/node/features/yaml.d.ts.map +1 -0
  231. package/dist/node.d.ts +67 -0
  232. package/dist/node.d.ts.map +1 -0
  233. package/dist/python/generated.d.ts +2 -0
  234. package/dist/python/generated.d.ts.map +1 -0
  235. package/dist/react/index.d.ts +36 -0
  236. package/dist/react/index.d.ts.map +1 -0
  237. package/dist/registry.d.ts +97 -0
  238. package/dist/registry.d.ts.map +1 -0
  239. package/dist/scaffolds/generated.d.ts +13 -0
  240. package/dist/scaffolds/generated.d.ts.map +1 -0
  241. package/dist/scaffolds/template.d.ts +11 -0
  242. package/dist/scaffolds/template.d.ts.map +1 -0
  243. package/dist/schemas/base.d.ts +254 -0
  244. package/dist/schemas/base.d.ts.map +1 -0
  245. package/dist/selector.d.ts +130 -0
  246. package/dist/selector.d.ts.map +1 -0
  247. package/dist/server.d.ts +89 -0
  248. package/dist/server.d.ts.map +1 -0
  249. package/dist/servers/express.d.ts +104 -0
  250. package/dist/servers/express.d.ts.map +1 -0
  251. package/dist/servers/mcp.d.ts +201 -0
  252. package/dist/servers/mcp.d.ts.map +1 -0
  253. package/dist/servers/socket.d.ts +121 -0
  254. package/dist/servers/socket.d.ts.map +1 -0
  255. package/dist/state.d.ts +24 -0
  256. package/dist/state.d.ts.map +1 -0
  257. package/dist/web/clients/socket.d.ts +37 -0
  258. package/dist/web/clients/socket.d.ts.map +1 -0
  259. package/dist/web/container.d.ts +55 -0
  260. package/dist/web/container.d.ts.map +1 -0
  261. package/dist/web/extension.d.ts +4 -0
  262. package/dist/web/extension.d.ts.map +1 -0
  263. package/dist/web/feature.d.ts +8 -0
  264. package/dist/web/feature.d.ts.map +1 -0
  265. package/dist/web/features/asset-loader.d.ts +35 -0
  266. package/dist/web/features/asset-loader.d.ts.map +1 -0
  267. package/dist/web/features/container-link.d.ts +167 -0
  268. package/dist/web/features/container-link.d.ts.map +1 -0
  269. package/dist/web/features/esbuild.d.ts +51 -0
  270. package/dist/web/features/esbuild.d.ts.map +1 -0
  271. package/dist/web/features/helpers.d.ts +140 -0
  272. package/dist/web/features/helpers.d.ts.map +1 -0
  273. package/dist/web/features/network.d.ts +69 -0
  274. package/dist/web/features/network.d.ts.map +1 -0
  275. package/dist/web/features/speech.d.ts +71 -0
  276. package/dist/web/features/speech.d.ts.map +1 -0
  277. package/dist/web/features/vault.d.ts +62 -0
  278. package/dist/web/features/vault.d.ts.map +1 -0
  279. package/dist/web/features/vm.d.ts +48 -0
  280. package/dist/web/features/vm.d.ts.map +1 -0
  281. package/dist/web/features/voice-recognition.d.ts +96 -0
  282. package/dist/web/features/voice-recognition.d.ts.map +1 -0
  283. package/dist/web/shims/isomorphic-vm.d.ts +22 -0
  284. package/dist/web/shims/isomorphic-vm.d.ts.map +1 -0
  285. package/docs/apis/features/agi/assistant.md +1 -0
  286. package/docs/apis/features/agi/assistants-manager.md +62 -2
  287. package/docs/apis/features/agi/auto-assistant.md +11 -109
  288. package/docs/apis/features/agi/claude-code.md +138 -0
  289. package/docs/apis/features/agi/conversation.md +60 -31
  290. package/docs/apis/features/agi/luca-coder.md +407 -0
  291. package/docs/apis/features/agi/openapi.md +2 -2
  292. package/docs/apis/features/agi/skills-library.md +12 -0
  293. package/docs/apis/features/node/python.md +81 -11
  294. package/docs/apis/features/node/transpiler.md +74 -0
  295. package/docs/apis/features/web/esbuild.md +0 -6
  296. package/docs/apis/servers/mcp.md +2 -2
  297. package/docs/examples/entity.md +124 -0
  298. package/package.json +73 -21
  299. package/src/agi/feature.ts +13 -0
  300. package/src/agi/features/assistant.ts +36 -25
  301. package/src/agi/features/assistants-manager.ts +70 -5
  302. package/src/agi/features/autonomous-assistant.ts +1 -5
  303. package/src/agi/features/browser-use.ts +2 -2
  304. package/src/agi/features/claude-code.ts +165 -1
  305. package/src/agi/features/conversation-history.ts +2 -6
  306. package/src/agi/features/conversation.ts +95 -3
  307. package/src/agi/features/docs-reader.ts +2 -1
  308. package/src/agi/features/file-tools.ts +2 -2
  309. package/src/agi/features/luca-coder.ts +1 -5
  310. package/src/agi/features/openai-codex.ts +1 -1
  311. package/src/agi/features/openapi.ts +3 -3
  312. package/src/agi/features/skills-library.ts +87 -6
  313. package/src/agi/lib/interceptor-chain.ts +10 -0
  314. package/src/agi/lib/token-counter.ts +1 -1
  315. package/src/bootstrap/generated.ts +126 -1
  316. package/src/bus.ts +27 -5
  317. package/src/cli/build-info.ts +2 -2
  318. package/src/client.ts +2 -2
  319. package/src/clients/elevenlabs/index.ts +5 -0
  320. package/src/commands/bootstrap.ts +2 -1
  321. package/src/commands/chat.ts +1 -0
  322. package/src/commands/code.ts +4 -2
  323. package/src/commands/prompt.ts +34 -34
  324. package/src/commands/sandbox-mcp.ts +69 -163
  325. package/src/commands/save-api-docs.ts +10 -8
  326. package/src/commands/select.ts +8 -3
  327. package/src/container-describer.ts +70 -84
  328. package/src/container.ts +93 -3
  329. package/src/endpoint.ts +1 -1
  330. package/src/entity.ts +173 -0
  331. package/src/feature.ts +3 -3
  332. package/src/helper.ts +8 -4
  333. package/src/introspection/generated.agi.ts +1246 -798
  334. package/src/introspection/generated.node.ts +892 -798
  335. package/src/introspection/generated.web.ts +95 -3
  336. package/src/introspection/scan.ts +1 -1
  337. package/src/node/container.ts +1 -1
  338. package/src/node/features/content-db.ts +3 -3
  339. package/src/node/features/file-manager.ts +10 -9
  340. package/src/node/features/git.ts +5 -5
  341. package/src/node/features/helpers.ts +1 -1
  342. package/src/node/features/json-tree.ts +1 -1
  343. package/src/node/features/os.ts +3 -3
  344. package/src/node/features/package-finder.ts +1 -1
  345. package/src/node/features/process-manager.ts +1 -1
  346. package/src/node/features/python.ts +3 -3
  347. package/src/node/features/redis.ts +1 -1
  348. package/src/node/features/repl.ts +2 -2
  349. package/src/node/features/transpiler.ts +2 -2
  350. package/src/node/features/ui.ts +1 -1
  351. package/src/node/features/vm.ts +3 -3
  352. package/src/node/features/yaml-tree.ts +1 -1
  353. package/src/node.ts +1 -0
  354. package/src/python/generated.ts +1 -1
  355. package/src/scaffolds/generated.ts +1 -1
  356. package/src/selector.ts +74 -4
  357. package/src/server.ts +2 -2
  358. package/src/servers/mcp.ts +6 -6
  359. package/src/web/features/helpers.ts +1 -1
  360. package/src/web/features/network.ts +1 -0
  361. package/test/conversation.test.ts +220 -0
  362. package/tsconfig.build.json +12 -0
  363. package/tsconfig.json +1 -1
  364. package/scripts/examples/telegram-ink-ui.ts +0 -302
  365. package/scripts/examples/using-openai-codex.ts +0 -23
  366. package/scripts/examples/vm-loading-esm-modules.ts +0 -16
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generated.web.d.ts","sourceRoot":"","sources":["../../src/introspection/generated.web.ts"],"names":[],"mappings":"AA6jCA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAwoB7B,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAuatC,CAAC"}
@@ -0,0 +1,156 @@
1
+ /**
2
+ * Inspection is a feature that is available to all containers, its purpose is to provide
3
+ * runtime inspection of a particular helper's public API:
4
+ * - methods
5
+ * - properties
6
+ * - events that it emits
7
+ * - the shape of its state at any given point
8
+ *
9
+ * So that if you have an instance of a helper in e.g. a REPL, or if an AI Agent wants to
10
+ * work with a helper, there is a common way of getting the information needed in a way that
11
+ * it can be formatted e.g. as OpenAI Tool Calls or as OpenAPI Spec for a ChatGPT Plugin,
12
+ * or a custom UI for a helper.
13
+ *
14
+ * Because Javascript doesn't have runtime introspection capabilities, we solve this problem by
15
+ * exposing this runtime registry on the container, and then using a build time tool to analyze
16
+ * specific class definitions ( since the Luca framework encourages this pattern ) to extract
17
+ * the jsdoc comments for the class along with any type information that is available and then
18
+ * populate the registry with the information we need.
19
+ *
20
+ * Each Helper class will have a method that will return information about itself found in the
21
+ * central introspection registry. This registry can be loaded at runtime from a remote source,
22
+ * depending on the container. In node, we can load it from a file, or from a URL.
23
+ */
24
+ export type ExampleIntrospection = {
25
+ language: string;
26
+ code: string;
27
+ };
28
+ export type MethodIntrospection = {
29
+ description: string;
30
+ parameters: Record<string, {
31
+ type: string;
32
+ description: string;
33
+ properties?: Record<string, {
34
+ type: string;
35
+ description: string;
36
+ }>;
37
+ }>;
38
+ required: string[];
39
+ returns: string;
40
+ examples?: ExampleIntrospection[];
41
+ };
42
+ /** Sections that can be requested individually from introspect / inspect */
43
+ export type IntrospectionSection = 'methods' | 'getters' | 'events' | 'state' | 'options' | 'envVars' | 'examples' | 'usage';
44
+ export type GetterIntrospection = {
45
+ description: string;
46
+ returns: string;
47
+ examples?: ExampleIntrospection[];
48
+ };
49
+ export type EventIntrospection = {
50
+ name: string;
51
+ description: string;
52
+ arguments: Record<string, {
53
+ type: string;
54
+ description: string;
55
+ }>;
56
+ };
57
+ export type HelperIntrospection = {
58
+ id: string;
59
+ description: string;
60
+ shortcut: string;
61
+ className?: string;
62
+ methods: Record<string, MethodIntrospection>;
63
+ getters: Record<string, GetterIntrospection>;
64
+ events: Record<string, EventIntrospection>;
65
+ state: Record<string, {
66
+ type: string;
67
+ description: string;
68
+ }>;
69
+ options: Record<string, {
70
+ type: string;
71
+ description: string;
72
+ }>;
73
+ envVars?: string[];
74
+ examples?: ExampleIntrospection[];
75
+ types?: Record<string, {
76
+ description: string;
77
+ properties: Record<string, {
78
+ type: string;
79
+ description: string;
80
+ optional?: boolean;
81
+ }>;
82
+ }>;
83
+ };
84
+ export type RegistryIntrospection = {
85
+ /** The name of the registry, e.g. "features", "clients", "servers" */
86
+ name: string;
87
+ /** The base class for this registry (e.g. "Feature", "Client", "Server") */
88
+ baseClass: string;
89
+ /** The IDs of all registered members available in this registry */
90
+ available: string[];
91
+ };
92
+ export type ContainerIntrospection = {
93
+ /** The class name, e.g. "NodeContainer", "AGIContainer" */
94
+ className: string;
95
+ /** UUID of this container instance */
96
+ uuid: string;
97
+ /** JSDoc-derived description of the container class */
98
+ description: string;
99
+ /** Available registries (features, clients, servers, etc.) */
100
+ registries: RegistryIntrospection[];
101
+ /** Available factory method names (feature, client, server, etc.) */
102
+ factories: string[];
103
+ /** Container methods extracted from JSDoc/AST */
104
+ methods: Record<string, MethodIntrospection>;
105
+ /** Container getters extracted from JSDoc/AST */
106
+ getters: Record<string, GetterIntrospection>;
107
+ /** Container events */
108
+ events: Record<string, EventIntrospection>;
109
+ /** Container state shape */
110
+ state: Record<string, {
111
+ type: string;
112
+ description: string;
113
+ }>;
114
+ /** List of currently enabled feature shortcut IDs */
115
+ enabledFeatures: string[];
116
+ /** Environment flags */
117
+ environment: {
118
+ isBrowser: boolean;
119
+ isNode: boolean;
120
+ isBun: boolean;
121
+ isElectron: boolean;
122
+ isDevelopment: boolean;
123
+ isProduction: boolean;
124
+ isCI: boolean;
125
+ };
126
+ };
127
+ export declare const __INTROSPECTION__: Map<string, HelperIntrospection>;
128
+ export declare const __CONTAINER_INTROSPECTION__: Map<string, Partial<ContainerIntrospection>>;
129
+ /**
130
+ * Separate introspection store for browser/web features.
131
+ * Used by the describe command to show web feature data in node
132
+ * without colliding with the main introspection map.
133
+ */
134
+ export declare const __BROWSER_INTROSPECTION__: Map<string, HelperIntrospection>;
135
+ export declare function introspect(id: string): HelperIntrospection | undefined;
136
+ /**
137
+ * Called by generated files to seed build-time AST data for Container classes.
138
+ * Merges into any existing entry.
139
+ */
140
+ export declare function setContainerBuildTimeData(className: string, data: Partial<ContainerIntrospection>): void;
141
+ /**
142
+ * Retrieves build-time AST data for a Container class by name.
143
+ */
144
+ export declare function getContainerBuildTimeData(className: string): Partial<ContainerIntrospection> | undefined;
145
+ /**
146
+ * Called by generated files to seed build-time AST data (description, methods, events).
147
+ * Merges into any existing entry without overwriting runtime-derived state/options.
148
+ */
149
+ export declare function setBuildTimeData(key: string, data: HelperIntrospection): void;
150
+ /**
151
+ * Called at registry.register() time to merge runtime Zod schema data
152
+ * into the introspection entry. Preserves build-time methods/events
153
+ * regardless of import order.
154
+ */
155
+ export declare function interceptRegistration(registry: any, helperConstructor: any): HelperIntrospection | undefined;
156
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/introspection/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,147 @@
1
+ import { Feature } from '../feature.js';
2
+ import type { HelperIntrospection } from './index.js';
3
+ import { z } from 'zod';
4
+ export declare const IntrospectionScannerStateSchema: z.ZodObject<{
5
+ enabled: z.ZodDefault<z.ZodBoolean>;
6
+ scanResults: z.ZodDefault<z.ZodArray<z.ZodAny>>;
7
+ containerResults: z.ZodDefault<z.ZodArray<z.ZodAny>>;
8
+ lastScanTime: z.ZodDefault<z.ZodNullable<z.ZodDate>>;
9
+ scannedFiles: z.ZodDefault<z.ZodArray<z.ZodString>>;
10
+ }, z.core.$loose>;
11
+ export declare const IntrospectionScannerOptionsSchema: z.ZodObject<{
12
+ name: z.ZodOptional<z.ZodString>;
13
+ _cacheKey: z.ZodOptional<z.ZodString>;
14
+ cached: z.ZodOptional<z.ZodBoolean>;
15
+ enable: z.ZodOptional<z.ZodBoolean>;
16
+ src: z.ZodOptional<z.ZodArray<z.ZodString>>;
17
+ outputPath: z.ZodOptional<z.ZodString>;
18
+ includePrivate: z.ZodOptional<z.ZodBoolean>;
19
+ importSource: z.ZodOptional<z.ZodString>;
20
+ }, z.core.$strip>;
21
+ export type IntrospectionScannerState = z.infer<typeof IntrospectionScannerStateSchema>;
22
+ export type IntrospectionScannerOptions = z.infer<typeof IntrospectionScannerOptionsSchema>;
23
+ export declare class IntrospectionScannerFeature extends Feature<IntrospectionScannerState, IntrospectionScannerOptions> {
24
+ static shortcut: string;
25
+ static description: string;
26
+ static stateSchema: z.ZodObject<{
27
+ enabled: z.ZodDefault<z.ZodBoolean>;
28
+ scanResults: z.ZodDefault<z.ZodArray<z.ZodAny>>;
29
+ containerResults: z.ZodDefault<z.ZodArray<z.ZodAny>>;
30
+ lastScanTime: z.ZodDefault<z.ZodNullable<z.ZodDate>>;
31
+ scannedFiles: z.ZodDefault<z.ZodArray<z.ZodString>>;
32
+ }, z.core.$loose>;
33
+ static optionsSchema: z.ZodObject<{
34
+ name: z.ZodOptional<z.ZodString>;
35
+ _cacheKey: z.ZodOptional<z.ZodString>;
36
+ cached: z.ZodOptional<z.ZodBoolean>;
37
+ enable: z.ZodOptional<z.ZodBoolean>;
38
+ src: z.ZodOptional<z.ZodArray<z.ZodString>>;
39
+ outputPath: z.ZodOptional<z.ZodString>;
40
+ includePrivate: z.ZodOptional<z.ZodBoolean>;
41
+ importSource: z.ZodOptional<z.ZodString>;
42
+ }, z.core.$strip>;
43
+ get initialState(): IntrospectionScannerState;
44
+ enable(options?: Partial<IntrospectionScannerOptions>): Promise<this>;
45
+ /**
46
+ * Scan the specified source directories for Helper classes and extract introspection data
47
+ */
48
+ scan(): Promise<HelperIntrospection[]>;
49
+ /**
50
+ * Generate a TypeScript file that populates the introspection registry
51
+ */
52
+ generateRegistryScript(): Promise<string>;
53
+ private findTypeScriptFiles;
54
+ private analyzeFile;
55
+ private analyzeClass;
56
+ private extendsHelper;
57
+ /**
58
+ * Container-specific getters to exclude from introspection.
59
+ * These are framework internals (class references, utility objects) not useful in inspection.
60
+ */
61
+ private static CONTAINER_SKIP_GETTERS;
62
+ private extendsContainer;
63
+ /**
64
+ * Analyze a Container class and extract introspection data.
65
+ * Container classes don't have a shortcut; they use className as the key.
66
+ */
67
+ private analyzeContainerClass;
68
+ private extractContainerMethods;
69
+ private extractContainerGetters;
70
+ private extractShortcut;
71
+ private extractJSDocDescription;
72
+ private extractJSDocParamDescriptions;
73
+ private extractMethods;
74
+ /**
75
+ * Base class getters that should be excluded from introspection output.
76
+ * These are inherited from Helper/Feature and not specific to individual features.
77
+ */
78
+ private static BASE_GETTERS;
79
+ /**
80
+ * Base class events that should be excluded from introspection output.
81
+ * These are inherited from Helper lifecycle and not specific to individual helpers.
82
+ */
83
+ private static BASE_EVENTS;
84
+ private extractGetters;
85
+ /**
86
+ * Extract a return type from a node, preferring explicit TS annotation,
87
+ * falling back to JSDoc @returns {Type}, then to the given default.
88
+ */
89
+ private resolveReturnType;
90
+ /**
91
+ * Check if a node's JSDoc comment contains a specific @tag (e.g. @internal).
92
+ */
93
+ private hasJSDocTag;
94
+ private extractJSDocDescriptionFromAccessor;
95
+ /**
96
+ * Extract @example blocks from JSDoc comments on any node type.
97
+ * Supports fenced code blocks (```lang ... ```) within @example tags.
98
+ * Returns an empty array if no examples are found.
99
+ */
100
+ private extractJSDocExamples;
101
+ private static PRIMITIVE_TYPES;
102
+ private extractParameters;
103
+ /**
104
+ * Resolves a type name to its member properties by searching the source file
105
+ * for type alias or interface declarations.
106
+ */
107
+ private resolveTypeProperties;
108
+ private extractTypeLiteralMembers;
109
+ private extractInterfaceMembers;
110
+ /**
111
+ * Collect all non-primitive type names referenced in method parameters and return types,
112
+ * then resolve each to its properties from the source file. Returns a map of type name
113
+ * to its property definitions, suitable for emitting as standalone interface declarations.
114
+ */
115
+ private collectReferencedTypes;
116
+ /**
117
+ * Extract concrete type names from a potentially complex type string.
118
+ * Handles generics, unions, intersections, arrays, and utility types.
119
+ */
120
+ private extractTypeNames;
121
+ /**
122
+ * Like resolveTypeProperties but also captures whether each property is optional (has ?).
123
+ */
124
+ private resolveTypePropertiesWithOptional;
125
+ private extractTypeLiteralMembersWithOptional;
126
+ private extractInterfaceMembersWithOptional;
127
+ /**
128
+ * Extract the JSDoc description from a type alias or interface declaration.
129
+ */
130
+ private extractTypeDescription;
131
+ /**
132
+ * Extracts a JSDoc description from any node that may have leading comments.
133
+ */
134
+ private extractJSDocFromNode;
135
+ private extractRequiredParameters;
136
+ private extractReturnType;
137
+ private extractEvents;
138
+ private createRegistryScript;
139
+ }
140
+ declare module '../feature.js' {
141
+ interface AvailableFeatures {
142
+ introspectionScanner: typeof IntrospectionScannerFeature;
143
+ }
144
+ }
145
+ declare const _default: new (options: any, context: import("../container.js").ContainerContext) => Feature<any, any>;
146
+ export default _default;
147
+ //# sourceMappingURL=scan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../../src/introspection/scan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,mBAAmB,EAA8G,MAAM,YAAY,CAAC;AAKlK,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,eAAO,MAAM,+BAA+B;;;;;;iBAK1C,CAAA;AAEF,eAAO,MAAM,iCAAiC;;;;;;;;;iBAK5C,CAAA;AAEF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAA;AACvF,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAA;AAE3F,qBAAa,2BAA4B,SAAQ,OAAO,CAAC,yBAAyB,EAAE,2BAA2B,CAAC;IAC9G,OAAgB,QAAQ,SAA0B;IAClD,OAAgB,WAAW,SAAmG;IAC9H,OAAgB,WAAW;;;;;;sBAAmC;IAC9D,OAAgB,aAAa;;;;;;;;;sBAAqC;IAElE,IAAa,YAAY,IAAI,yBAAyB,CAQrD;IAEc,MAAM,CAAC,OAAO,GAAE,OAAO,CAAC,2BAA2B,CAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBxF;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;IA0C5C;;OAEG;IACG,sBAAsB,IAAI,OAAO,CAAC,MAAM,CAAC;YAkBjC,mBAAmB;YAiBnB,WAAW;IAiCzB,OAAO,CAAC,YAAY;IAoCpB,OAAO,CAAC,aAAa;IAkBrB;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAElC;IAEH,OAAO,CAAC,gBAAgB;IAwBxB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAmB7B,OAAO,CAAC,uBAAuB;IAwC/B,OAAO,CAAC,uBAAuB;IAoC/B,OAAO,CAAC,eAAe;IA0BvB,OAAO,CAAC,uBAAuB;IA2C/B,OAAO,CAAC,6BAA6B;IAoDrC,OAAO,CAAC,cAAc;IAqCtB;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY,CAExB;IAEH;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,WAAW,CAEvB;IAEH,OAAO,CAAC,cAAc;IAoCtB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAsBzB;;OAEG;IACH,OAAO,CAAC,WAAW;IAsBnB,OAAO,CAAC,mCAAmC;IAmC3C;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAoF5B,OAAO,CAAC,MAAM,CAAC,eAAe,CAG3B;IAEH,OAAO,CAAC,iBAAiB;IAgDzB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAgB7B,OAAO,CAAC,yBAAyB;IAejC,OAAO,CAAC,uBAAuB;IAe/B;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IAwD9B;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IA8BxB;;OAEG;IACH,OAAO,CAAC,iCAAiC;IAczC,OAAO,CAAC,qCAAqC;IAc7C,OAAO,CAAC,mCAAmC;IAc3C;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAY9B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAqC5B,OAAO,CAAC,yBAAyB;IAMjC,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,aAAa;IAsCrB,OAAO,CAAC,oBAAoB;CA4B7B;AAKD,OAAO,QAAQ,eAAe,CAAC;IAC7B,UAAU,iBAAiB;QACzB,oBAAoB,EAAE,OAAO,2BAA2B,CAAC;KAC1D;CACF;;AAED,wBAAsF"}
@@ -0,0 +1,256 @@
1
+ import url from 'node:url';
2
+ import { Container, type ContainerState } from "../container";
3
+ import { State } from "../state";
4
+ import type { FeatureOptions } from "./feature";
5
+ import { features, Feature } from "./feature";
6
+ import type { AvailableFeatures } from "../feature";
7
+ import { type ClientsInterface } from "../client";
8
+ import "../clients/rest";
9
+ import "../clients/graph";
10
+ import "../clients/websocket";
11
+ import { type ServersInterface } from "../server";
12
+ import "../servers/express";
13
+ import "../servers/socket";
14
+ import "../servers/mcp";
15
+ import { type CommandsInterface } from "../command";
16
+ import { type EndpointsInterface } from "../endpoint";
17
+ import { type SelectorsInterface } from "../selector";
18
+ import { basename, parse } from "path";
19
+ import "./features/disk-cache";
20
+ import "./features/content-db";
21
+ import "./features/downloader";
22
+ import "./features/transpiler";
23
+ import "./features/file-manager";
24
+ import "./features/fs";
25
+ import "./features/git";
26
+ import "./features/grep";
27
+ import "./features/ipc-socket";
28
+ import "./features/json-tree";
29
+ import "./features/networking";
30
+ import "./features/os";
31
+ import "./features/package-finder";
32
+ import "./features/python";
33
+ import "./features/proc";
34
+ import "./features/repl";
35
+ import "./features/ui";
36
+ import "./features/vault";
37
+ import "./features/vm";
38
+ import "./features/yaml-tree";
39
+ import "./features/yaml";
40
+ import "./features/docker";
41
+ import "./features/runpod";
42
+ import "./features/secure-shell";
43
+ import "./features/ink";
44
+ import "./features/telegram";
45
+ import "./features/opener";
46
+ import "./features/postgres";
47
+ import "./features/sqlite";
48
+ import "./features/google-auth";
49
+ import "./features/google-drive";
50
+ import "./features/google-sheets";
51
+ import "./features/google-calendar";
52
+ import "./features/google-docs";
53
+ import "./features/google-mail";
54
+ import "./features/nlp";
55
+ import "./features/process-manager";
56
+ import "./features/tts";
57
+ import "./features/helpers";
58
+ import "./features/container-link";
59
+ import "./features/semantic-search";
60
+ import "./features/dns";
61
+ import "./features/redis";
62
+ import type { ChildProcess } from "./features/proc";
63
+ import type { DiskCache } from "./features/disk-cache";
64
+ import type { ContentDb } from "./features/content-db";
65
+ import type { Downloader } from "./features/downloader";
66
+ import type { Transpiler } from "./features/transpiler";
67
+ import type { FileManager } from "./features/file-manager";
68
+ import type { FS } from "./features/fs";
69
+ import type { Git } from "./features/git";
70
+ import type { Grep } from "./features/grep";
71
+ import type { IpcSocket } from "./features/ipc-socket";
72
+ import type { JsonTree } from "./features/json-tree";
73
+ import type { Networking } from "./features/networking";
74
+ import type { OS } from "./features/os";
75
+ import type { PackageFinder } from "./features/package-finder";
76
+ import type { Python } from "./features/python";
77
+ import type { Repl } from "./features/repl";
78
+ import type { UI } from "./features/ui";
79
+ import type { Vault } from "./features/vault";
80
+ import type { VM } from "./features/vm";
81
+ import type { YAML } from "./features/yaml";
82
+ import type { YamlTree } from "./features/yaml-tree";
83
+ import type { Docker } from './features/docker';
84
+ import type { Runpod } from './features/runpod';
85
+ import type { SecureShell } from './features/secure-shell';
86
+ import type { Ink } from './features/ink';
87
+ import type { Telegram } from './features/telegram';
88
+ import type { Opener } from './features/opener';
89
+ import type { Postgres } from './features/postgres';
90
+ import type { Sqlite } from './features/sqlite';
91
+ import type { GoogleAuth } from './features/google-auth';
92
+ import type { GoogleDrive } from './features/google-drive';
93
+ import type { GoogleSheets } from './features/google-sheets';
94
+ import type { GoogleCalendar } from './features/google-calendar';
95
+ import type { GoogleDocs } from './features/google-docs';
96
+ import type { GoogleMail } from './features/google-mail';
97
+ import type { NLP } from './features/nlp';
98
+ import type { ProcessManager } from './features/process-manager';
99
+ import type { TTS } from './features/tts';
100
+ import type { Helpers } from './features/helpers';
101
+ import type { ContainerLink } from './features/container-link';
102
+ import type { SemanticSearch } from './features/semantic-search';
103
+ import type { Dns } from './features/dns';
104
+ import type { Redis } from './features/redis';
105
+ export { State };
106
+ export { features, Feature, type FS, type ContentDb, type ChildProcess, type Git, type Grep, type OS, type Networking, type UI, type FileManager, type DiskCache, type Vault, type Downloader, type Docker, type Runpod, type SecureShell, type Ink, type Telegram, type Opener, type Postgres, type Sqlite, type GoogleAuth, type GoogleDrive, type GoogleSheets, type GoogleCalendar, type GoogleDocs, type GoogleMail, type NLP, type ProcessManager, type TTS, type Helpers, type ContainerLink, type SemanticSearch, type Dns, type Redis, type Transpiler, };
107
+ export type { FeatureOptions };
108
+ declare module "../container" {
109
+ interface ContainerArgv {
110
+ cwd?: string;
111
+ _?: string[];
112
+ enable?: string | string[];
113
+ }
114
+ }
115
+ export interface NodeFeatures extends AvailableFeatures {
116
+ fs: typeof FS;
117
+ proc: typeof ChildProcess;
118
+ git: typeof Git;
119
+ grep: typeof Grep;
120
+ os: typeof OS;
121
+ docker: typeof Docker;
122
+ networking: typeof Networking;
123
+ ui: typeof UI;
124
+ vm: typeof VM;
125
+ fileManager: typeof FileManager;
126
+ ipcSocket: typeof IpcSocket;
127
+ yamlTree: typeof YamlTree;
128
+ packageFinder: typeof PackageFinder;
129
+ repl: typeof Repl;
130
+ yaml: typeof YAML;
131
+ transpiler: typeof Transpiler;
132
+ diskCache: typeof DiskCache;
133
+ vault: typeof Vault;
134
+ jsonTree: typeof JsonTree;
135
+ downloader: typeof Downloader;
136
+ python: typeof Python;
137
+ runpod: typeof Runpod;
138
+ secureShell: typeof SecureShell;
139
+ ink: typeof Ink;
140
+ telegram: typeof Telegram;
141
+ opener: typeof Opener;
142
+ postgres: typeof Postgres;
143
+ sqlite: typeof Sqlite;
144
+ contentDb: typeof ContentDb;
145
+ googleAuth: typeof GoogleAuth;
146
+ googleDrive: typeof GoogleDrive;
147
+ googleSheets: typeof GoogleSheets;
148
+ googleCalendar: typeof GoogleCalendar;
149
+ googleDocs: typeof GoogleDocs;
150
+ googleMail: typeof GoogleMail;
151
+ nlp: typeof NLP;
152
+ processManager: typeof ProcessManager;
153
+ tts: typeof TTS;
154
+ helpers: typeof Helpers;
155
+ containerLink: typeof ContainerLink;
156
+ semanticSearch: typeof SemanticSearch;
157
+ dns: typeof Dns;
158
+ redis: typeof Redis;
159
+ }
160
+ export type ClientsAndServersInterface = ClientsInterface & ServersInterface & CommandsInterface & EndpointsInterface & SelectorsInterface;
161
+ export interface NodeContainer extends ClientsAndServersInterface {
162
+ }
163
+ /**
164
+ * Server-side container for Node.js and Bun environments. Extends the base Container with
165
+ * file system access, process management, git integration, and other server-side capabilities.
166
+ *
167
+ * Auto-enables core features on construction: fs, proc, git, grep, os, networking, ui, vm, transpiler, helpers.
168
+ * Also attaches Client, Server, Command, Endpoint, and Selector helper types, providing
169
+ * `container.client()`, `container.server()`, `container.command()`, etc. factory methods.
170
+ *
171
+ * @example
172
+ * ```ts
173
+ * import container from '@soederpop/luca/node'
174
+ *
175
+ * // File operations
176
+ * const content = container.fs.readFile('README.md')
177
+ *
178
+ * // Path utilities (scoped to cwd)
179
+ * const full = container.paths.resolve('src/index.ts')
180
+ *
181
+ * // Create a REST client
182
+ * const api = container.client('rest', { baseURL: 'https://api.example.com' })
183
+ *
184
+ * // Start an Express server
185
+ * const app = container.server('express', { port: 3000 })
186
+ * await app.start()
187
+ * ```
188
+ */
189
+ export declare class NodeContainer<Features extends NodeFeatures = NodeFeatures, K extends ContainerState = ContainerState> extends Container<Features, K> {
190
+ fs: FS;
191
+ git: Git;
192
+ grep: Grep;
193
+ proc: ChildProcess;
194
+ os: OS;
195
+ networking: Networking;
196
+ ui: UI;
197
+ vm: VM;
198
+ fileManager?: FileManager;
199
+ ipcSocket?: IpcSocket;
200
+ yamlTree?: YamlTree;
201
+ packageFinder?: PackageFinder;
202
+ repl?: Repl;
203
+ transpiler?: Transpiler;
204
+ diskCache?: DiskCache;
205
+ vault?: Vault;
206
+ python?: Python;
207
+ ink?: Ink;
208
+ telegram?: Telegram;
209
+ opener?: Opener;
210
+ postgres?: Postgres;
211
+ sqlite?: Sqlite;
212
+ googleAuth?: GoogleAuth;
213
+ googleDrive?: GoogleDrive;
214
+ googleSheets?: GoogleSheets;
215
+ googleCalendar?: GoogleCalendar;
216
+ googleDocs?: GoogleDocs;
217
+ googleMail?: GoogleMail;
218
+ nlp?: NLP;
219
+ processManager?: ProcessManager;
220
+ tts?: TTS;
221
+ helpers: Helpers;
222
+ containerLink?: ContainerLink;
223
+ redis?: Redis;
224
+ constructor(options?: any);
225
+ get Feature(): typeof Feature;
226
+ /** Returns the current working directory, from options or process.cwd(). */
227
+ get cwd(): string;
228
+ /** Returns the parsed package.json manifest for the current working directory. */
229
+ get manifest(): Record<string, any>;
230
+ /** Returns the parsed command-line arguments (from minimist). */
231
+ get argv(): Record<string, any> & {
232
+ _: string[];
233
+ };
234
+ /** Returns URL utility functions for parsing URIs. */
235
+ get urlUtils(): {
236
+ parse: (uri: string) => url.URL | null;
237
+ };
238
+ /** Returns path utility functions scoped to the current working directory (join, resolve, relative, dirname, parse). */
239
+ get paths(): {
240
+ dirname: (path: string) => string;
241
+ join: (...paths: string[]) => string;
242
+ resolve: (...paths: string[]) => string;
243
+ relative: (...paths: string[]) => string;
244
+ basename: typeof basename;
245
+ parse: typeof parse;
246
+ };
247
+ /**
248
+ * In your project's luca.cli.ts you can call this method and pass it a function
249
+ * and when you call an invalid command, the function will be called with the command name and args
250
+ * this allows you to define your own DX behavior for handling unknown commands in your project
251
+ *
252
+ * This is a special luca cli hook. The function will be called with { words: string[], phrase: string, argv: any }
253
+ */
254
+ private onMissingCommand;
255
+ }
256
+ //# sourceMappingURL=container.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../src/node/container.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,UAAU,CAAA;AAE1B,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAU,KAAK,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,iBAAiB,CAAC;AACzB,OAAO,kBAAkB,CAAC;AAC1B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,EAAU,KAAK,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,oBAAoB,CAAC;AAC5B,OAAO,mBAAmB,CAAC;AAC3B,OAAO,gBAAgB,CAAC;AACxB,OAAO,EAAW,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAY,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAY,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAIhE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAA2B,MAAM,MAAM,CAAC;AAEhE,OAAO,uBAAuB,CAAC;AAC/B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,yBAAyB,CAAC;AACjC,OAAO,eAAe,CAAC;AACvB,OAAO,gBAAgB,CAAC;AACxB,OAAO,iBAAiB,CAAC;AACzB,OAAO,uBAAuB,CAAC;AAC/B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,eAAe,CAAC;AACvB,OAAO,2BAA2B,CAAC;AACnC,OAAO,mBAAmB,CAAC;AAC3B,OAAO,iBAAiB,CAAC;AACzB,OAAO,iBAAiB,CAAC;AACzB,OAAO,eAAe,CAAC;AACvB,OAAO,kBAAkB,CAAC;AAC1B,OAAO,eAAe,CAAC;AACvB,OAAO,sBAAsB,CAAC;AAC9B,OAAO,iBAAiB,CAAC;AACzB,OAAO,mBAAmB,CAAC;AAC3B,OAAO,mBAAmB,CAAC;AAC3B,OAAO,yBAAyB,CAAC;AACjC,OAAO,gBAAgB,CAAC;AACxB,OAAO,qBAAqB,CAAC;AAC7B,OAAO,mBAAmB,CAAC;AAC3B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,mBAAmB,CAAC;AAC3B,OAAO,wBAAwB,CAAC;AAChC,OAAO,yBAAyB,CAAC;AACjC,OAAO,0BAA0B,CAAC;AAClC,OAAO,4BAA4B,CAAC;AACpC,OAAO,wBAAwB,CAAC;AAChC,OAAO,wBAAwB,CAAC;AAChC,OAAO,gBAAgB,CAAC;AACxB,OAAO,4BAA4B,CAAA;AACnC,OAAO,gBAAgB,CAAC;AACxB,OAAO,oBAAoB,CAAC;AAC5B,OAAO,2BAA2B,CAAC;AACnC,OAAO,4BAA4B,CAAC;AACpC,OAAO,gBAAgB,CAAC;AACxB,OAAO,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,CAAC;AAEjB,OAAO,EACL,QAAQ,EACR,OAAO,EACP,KAAK,EAAE,EACP,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,GAAG,EACR,KAAK,IAAI,EACT,KAAK,EAAE,EACP,KAAK,UAAU,EACf,KAAK,EAAE,EACP,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,KAAK,EACV,KAAK,UAAU,EACf,KAAK,MAAM,EACX,KAAK,MAAM,EACX,KAAK,WAAW,EAChB,KAAK,GAAG,EACR,KAAK,QAAQ,EACb,KAAK,MAAM,EACX,KAAK,QAAQ,EACb,KAAK,MAAM,EACX,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,GAAG,EACR,KAAK,cAAc,EACnB,KAAK,GAAG,EACR,KAAK,OAAO,EACZ,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,GAAG,EACR,KAAK,KAAK,EACV,KAAK,UAAU,GAChB,CAAC;AAEF,YAAY,EAAE,cAAc,EAAE,CAAC;AAW/B,OAAO,QAAQ,cAAc,CAAC;IAC5B,UAAU,aAAa;QACrB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;KAC5B;CACF;AAED,MAAM,WAAW,YAAa,SAAQ,iBAAiB;IACrD,EAAE,EAAE,OAAO,EAAE,CAAC;IACd,IAAI,EAAE,OAAO,YAAY,CAAC;IAC1B,GAAG,EAAE,OAAO,GAAG,CAAC;IAChB,IAAI,EAAE,OAAO,IAAI,CAAC;IAClB,EAAE,EAAE,OAAO,EAAE,CAAC;IACd,MAAM,EAAE,OAAO,MAAM,CAAC;IACtB,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,EAAE,EAAE,OAAO,EAAE,CAAC;IACd,EAAE,EAAE,OAAO,EAAE,CAAC;IACd,WAAW,EAAE,OAAO,WAAW,CAAC;IAChC,SAAS,EAAE,OAAO,SAAS,CAAC;IAC5B,QAAQ,EAAE,OAAO,QAAQ,CAAC;IAC1B,aAAa,EAAE,OAAO,aAAa,CAAC;IACpC,IAAI,EAAE,OAAO,IAAI,CAAC;IAClB,IAAI,EAAE,OAAO,IAAI,CAAC;IAClB,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,SAAS,EAAE,OAAO,SAAS,CAAC;IAC5B,KAAK,EAAE,OAAO,KAAK,CAAC;IACpB,QAAQ,EAAE,OAAO,QAAQ,CAAC;IAC1B,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,MAAM,EAAE,OAAO,MAAM,CAAC;IACtB,MAAM,EAAE,OAAO,MAAM,CAAC;IACtB,WAAW,EAAE,OAAO,WAAW,CAAC;IAChC,GAAG,EAAE,OAAO,GAAG,CAAC;IAChB,QAAQ,EAAE,OAAO,QAAQ,CAAC;IAC1B,MAAM,EAAE,OAAO,MAAM,CAAC;IACtB,QAAQ,EAAE,OAAO,QAAQ,CAAC;IAC1B,MAAM,EAAE,OAAO,MAAM,CAAC;IACtB,SAAS,EAAE,OAAO,SAAS,CAAC;IAC5B,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,WAAW,EAAE,OAAO,WAAW,CAAC;IAChC,YAAY,EAAE,OAAO,YAAY,CAAC;IAClC,cAAc,EAAE,OAAO,cAAc,CAAC;IACtC,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,GAAG,EAAE,OAAO,GAAG,CAAC;IAChB,cAAc,EAAE,OAAO,cAAc,CAAC;IACtC,GAAG,EAAE,OAAO,GAAG,CAAC;IAChB,OAAO,EAAE,OAAO,OAAO,CAAC;IACxB,aAAa,EAAE,OAAO,aAAa,CAAC;IACpC,cAAc,EAAE,OAAO,cAAc,CAAC;IACtC,GAAG,EAAE,OAAO,GAAG,CAAC;IAChB,KAAK,EAAE,OAAO,KAAK,CAAC;CACrB;AAED,MAAM,MAAM,0BAA0B,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,kBAAkB,GAAG,kBAAkB,CAAC;AAE3I,MAAM,WAAW,aAAc,SAAQ,0BAA0B;CAAG;AAapE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,aAAa,CACxB,QAAQ,SAAS,YAAY,GAAG,YAAY,EAC5C,CAAC,SAAS,cAAc,GAAG,cAAc,CACzC,SAAQ,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9B,EAAE,EAAG,EAAE,CAAC;IACR,GAAG,EAAG,GAAG,CAAC;IACV,IAAI,EAAG,IAAI,CAAC;IACZ,IAAI,EAAG,YAAY,CAAC;IACpB,EAAE,EAAG,EAAE,CAAC;IACR,UAAU,EAAG,UAAU,CAAC;IACxB,EAAE,EAAG,EAAE,CAAC;IAER,EAAE,EAAG,EAAE,CAAC;IAER,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,OAAO,EAAG,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,KAAK,CAAC,EAAE,KAAK,CAAC;gBAEF,OAAO,GAAE,GAAQ;IAiC7B,IAAa,OAAO,mBAEnB;IAED,4EAA4E;IAC5E,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,kFAAkF;IAClF,IAAI,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAkBlC;IAED,iEAAiE;IACjE,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG;QAAE,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAEhD;IAED,sDAAsD;IACtD,IAAI,QAAQ,IAAI;QAAE,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,GAAG,CAAC,GAAG,GAAG,IAAI,CAAA;KAAE,CAIzD;IAED,wHAAwH;IACxH,IAAI,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;QAAC,IAAI,EAAE,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,KAAK,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,KAAK,MAAM,CAAC;QAAC,QAAQ,EAAE,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,KAAK,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,QAAQ,CAAC;QAAC,KAAK,EAAE,OAAO,KAAK,CAAA;KAAE,CAkB1N;IAED;;;;;;MAME;IACF,OAAO,CAAC,gBAAgB;CAMzB"}
@@ -0,0 +1,9 @@
1
+ import type { NodeFeatures, NodeContainer } from './container.js';
2
+ import type { FeatureOptions, FeatureState } from '../feature.ts';
3
+ import { features, Feature as UniversalFeature } from '../feature.ts';
4
+ export { features };
5
+ export type { FeatureState, FeatureOptions };
6
+ export declare class Feature<T extends FeatureState = FeatureState, K extends FeatureOptions = FeatureOptions> extends UniversalFeature<T, K> {
7
+ get container(): NodeContainer<NodeFeatures>;
8
+ }
9
+ //# sourceMappingURL=feature.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feature.d.ts","sourceRoot":"","sources":["../../src/node/feature.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AACjE,OAAO,EAAE,QAAQ,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAErE,OAAO,EAAE,QAAQ,EAAE,CAAA;AAEnB,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,CAAA;AAE5C,qBAAa,OAAO,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY,EAAE,CAAC,SAAS,cAAc,GAAG,cAAc,CAAE,SAAQ,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC;IACjI,IAAa,SAAS,IAAK,aAAa,CAAC,YAAY,CAAC,CAErD;CACJ"}