@soederpop/luca 0.1.1 → 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 (369) hide show
  1. package/CLAUDE.md +2 -0
  2. package/assistants/codingAssistant/hooks.ts +3 -0
  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/scripts/test-assistant-hooks.ts +13 -0
  300. package/src/agi/feature.ts +13 -0
  301. package/src/agi/features/assistant.ts +36 -25
  302. package/src/agi/features/assistants-manager.ts +70 -5
  303. package/src/agi/features/autonomous-assistant.ts +1 -5
  304. package/src/agi/features/browser-use.ts +2 -2
  305. package/src/agi/features/claude-code.ts +165 -1
  306. package/src/agi/features/conversation-history.ts +2 -6
  307. package/src/agi/features/conversation.ts +95 -3
  308. package/src/agi/features/docs-reader.ts +2 -1
  309. package/src/agi/features/file-tools.ts +2 -2
  310. package/src/agi/features/luca-coder.ts +1 -5
  311. package/src/agi/features/openai-codex.ts +1 -1
  312. package/src/agi/features/openapi.ts +3 -3
  313. package/src/agi/features/skills-library.ts +90 -2
  314. package/src/agi/lib/interceptor-chain.ts +10 -0
  315. package/src/agi/lib/token-counter.ts +1 -1
  316. package/src/bootstrap/generated.ts +126 -1
  317. package/src/bus.ts +27 -5
  318. package/src/cli/build-info.ts +2 -2
  319. package/src/client.ts +2 -2
  320. package/src/clients/elevenlabs/index.ts +5 -0
  321. package/src/commands/bootstrap.ts +2 -1
  322. package/src/commands/chat.ts +1 -0
  323. package/src/commands/code.ts +4 -2
  324. package/src/commands/prompt.ts +34 -34
  325. package/src/commands/sandbox-mcp.ts +69 -163
  326. package/src/commands/save-api-docs.ts +10 -8
  327. package/src/commands/select.ts +8 -3
  328. package/src/container-describer.ts +70 -84
  329. package/src/container.ts +93 -3
  330. package/src/endpoint.ts +1 -1
  331. package/src/entity.ts +173 -0
  332. package/src/feature.ts +3 -3
  333. package/src/helper.ts +8 -4
  334. package/src/introspection/generated.agi.ts +1403 -929
  335. package/src/introspection/generated.node.ts +127 -33
  336. package/src/introspection/generated.web.ts +95 -3
  337. package/src/introspection/scan.ts +1 -1
  338. package/src/node/container.ts +1 -1
  339. package/src/node/features/content-db.ts +3 -3
  340. package/src/node/features/file-manager.ts +10 -9
  341. package/src/node/features/git.ts +5 -5
  342. package/src/node/features/helpers.ts +1 -1
  343. package/src/node/features/json-tree.ts +1 -1
  344. package/src/node/features/os.ts +3 -3
  345. package/src/node/features/package-finder.ts +1 -1
  346. package/src/node/features/process-manager.ts +1 -1
  347. package/src/node/features/python.ts +3 -3
  348. package/src/node/features/redis.ts +1 -1
  349. package/src/node/features/repl.ts +2 -2
  350. package/src/node/features/transpiler.ts +34 -9
  351. package/src/node/features/ui.ts +1 -1
  352. package/src/node/features/vm.ts +6 -5
  353. package/src/node/features/yaml-tree.ts +1 -1
  354. package/src/node.ts +1 -0
  355. package/src/python/generated.ts +1 -1
  356. package/src/scaffolds/generated.ts +1 -1
  357. package/src/selector.ts +74 -4
  358. package/src/server.ts +2 -2
  359. package/src/servers/mcp.ts +6 -6
  360. package/src/web/features/helpers.ts +1 -1
  361. package/src/web/features/network.ts +1 -0
  362. package/test/assistant.test.ts +72 -0
  363. package/test/conversation.test.ts +220 -0
  364. package/test/vm-loadmodule.test.ts +213 -0
  365. package/tsconfig.build.json +12 -0
  366. package/tsconfig.json +1 -1
  367. package/scripts/examples/telegram-ink-ui.ts +0 -302
  368. package/scripts/examples/using-openai-codex.ts +0 -23
  369. package/scripts/examples/vm-loading-esm-modules.ts +0 -16
@@ -0,0 +1,511 @@
1
+ import { z } from 'zod';
2
+ import { Feature } from '../feature.js';
3
+ /** Supported DNS record types. */
4
+ export type DnsRecordType = 'A' | 'AAAA' | 'CNAME' | 'MX' | 'NS' | 'TXT' | 'SOA' | 'PTR' | 'SRV' | 'CAA';
5
+ export declare const DnsRecordSchema: z.ZodObject<{
6
+ name: z.ZodString;
7
+ ttl: z.ZodNumber;
8
+ class: z.ZodString;
9
+ type: z.ZodString;
10
+ value: z.ZodString;
11
+ }, z.core.$strip>;
12
+ export type DnsRecord = z.infer<typeof DnsRecordSchema>;
13
+ export declare const MxRecordSchema: z.ZodObject<{
14
+ name: z.ZodString;
15
+ ttl: z.ZodNumber;
16
+ class: z.ZodString;
17
+ type: z.ZodString;
18
+ value: z.ZodString;
19
+ priority: z.ZodNumber;
20
+ exchange: z.ZodString;
21
+ }, z.core.$strip>;
22
+ export type MxRecord = z.infer<typeof MxRecordSchema>;
23
+ export declare const SoaRecordSchema: z.ZodObject<{
24
+ name: z.ZodString;
25
+ ttl: z.ZodNumber;
26
+ class: z.ZodString;
27
+ type: z.ZodString;
28
+ value: z.ZodString;
29
+ mname: z.ZodString;
30
+ rname: z.ZodString;
31
+ serial: z.ZodNumber;
32
+ refresh: z.ZodNumber;
33
+ retry: z.ZodNumber;
34
+ expire: z.ZodNumber;
35
+ minimum: z.ZodNumber;
36
+ }, z.core.$strip>;
37
+ export type SoaRecord = z.infer<typeof SoaRecordSchema>;
38
+ export declare const SrvRecordSchema: z.ZodObject<{
39
+ name: z.ZodString;
40
+ ttl: z.ZodNumber;
41
+ class: z.ZodString;
42
+ type: z.ZodString;
43
+ value: z.ZodString;
44
+ priority: z.ZodNumber;
45
+ weight: z.ZodNumber;
46
+ port: z.ZodNumber;
47
+ target: z.ZodString;
48
+ }, z.core.$strip>;
49
+ export type SrvRecord = z.infer<typeof SrvRecordSchema>;
50
+ export declare const CaaRecordSchema: z.ZodObject<{
51
+ name: z.ZodString;
52
+ ttl: z.ZodNumber;
53
+ class: z.ZodString;
54
+ type: z.ZodString;
55
+ value: z.ZodString;
56
+ flags: z.ZodNumber;
57
+ tag: z.ZodString;
58
+ issuer: z.ZodString;
59
+ }, z.core.$strip>;
60
+ export type CaaRecord = z.infer<typeof CaaRecordSchema>;
61
+ export declare const DnsQueryResultSchema: z.ZodObject<{
62
+ domain: z.ZodString;
63
+ type: z.ZodString;
64
+ server: z.ZodOptional<z.ZodString>;
65
+ records: z.ZodArray<z.ZodObject<{
66
+ name: z.ZodString;
67
+ ttl: z.ZodNumber;
68
+ class: z.ZodString;
69
+ type: z.ZodString;
70
+ value: z.ZodString;
71
+ }, z.core.$strip>>;
72
+ queryTime: z.ZodOptional<z.ZodNumber>;
73
+ }, z.core.$strip>;
74
+ export type DnsQueryResult = z.infer<typeof DnsQueryResultSchema>;
75
+ export declare const DnsOverviewSchema: z.ZodObject<{
76
+ domain: z.ZodString;
77
+ a: z.ZodArray<z.ZodObject<{
78
+ name: z.ZodString;
79
+ ttl: z.ZodNumber;
80
+ class: z.ZodString;
81
+ type: z.ZodString;
82
+ value: z.ZodString;
83
+ }, z.core.$strip>>;
84
+ aaaa: z.ZodArray<z.ZodObject<{
85
+ name: z.ZodString;
86
+ ttl: z.ZodNumber;
87
+ class: z.ZodString;
88
+ type: z.ZodString;
89
+ value: z.ZodString;
90
+ }, z.core.$strip>>;
91
+ cname: z.ZodArray<z.ZodObject<{
92
+ name: z.ZodString;
93
+ ttl: z.ZodNumber;
94
+ class: z.ZodString;
95
+ type: z.ZodString;
96
+ value: z.ZodString;
97
+ }, z.core.$strip>>;
98
+ mx: z.ZodArray<z.ZodObject<{
99
+ name: z.ZodString;
100
+ ttl: z.ZodNumber;
101
+ class: z.ZodString;
102
+ type: z.ZodString;
103
+ value: z.ZodString;
104
+ priority: z.ZodNumber;
105
+ exchange: z.ZodString;
106
+ }, z.core.$strip>>;
107
+ ns: z.ZodArray<z.ZodObject<{
108
+ name: z.ZodString;
109
+ ttl: z.ZodNumber;
110
+ class: z.ZodString;
111
+ type: z.ZodString;
112
+ value: z.ZodString;
113
+ }, z.core.$strip>>;
114
+ txt: z.ZodArray<z.ZodObject<{
115
+ name: z.ZodString;
116
+ ttl: z.ZodNumber;
117
+ class: z.ZodString;
118
+ type: z.ZodString;
119
+ value: z.ZodString;
120
+ }, z.core.$strip>>;
121
+ soa: z.ZodArray<z.ZodObject<{
122
+ name: z.ZodString;
123
+ ttl: z.ZodNumber;
124
+ class: z.ZodString;
125
+ type: z.ZodString;
126
+ value: z.ZodString;
127
+ mname: z.ZodString;
128
+ rname: z.ZodString;
129
+ serial: z.ZodNumber;
130
+ refresh: z.ZodNumber;
131
+ retry: z.ZodNumber;
132
+ expire: z.ZodNumber;
133
+ minimum: z.ZodNumber;
134
+ }, z.core.$strip>>;
135
+ caa: z.ZodArray<z.ZodObject<{
136
+ name: z.ZodString;
137
+ ttl: z.ZodNumber;
138
+ class: z.ZodString;
139
+ type: z.ZodString;
140
+ value: z.ZodString;
141
+ flags: z.ZodNumber;
142
+ tag: z.ZodString;
143
+ issuer: z.ZodString;
144
+ }, z.core.$strip>>;
145
+ }, z.core.$strip>;
146
+ export type DnsOverview = z.infer<typeof DnsOverviewSchema>;
147
+ export declare const DnsStateSchema: z.ZodObject<{
148
+ enabled: z.ZodDefault<z.ZodBoolean>;
149
+ lastQuery: z.ZodOptional<z.ZodObject<{
150
+ domain: z.ZodString;
151
+ type: z.ZodString;
152
+ timestamp: z.ZodNumber;
153
+ }, z.core.$strip>>;
154
+ }, z.core.$loose>;
155
+ export type DnsState = z.infer<typeof DnsStateSchema>;
156
+ export declare const DnsOptionsSchema: z.ZodObject<{
157
+ name: z.ZodOptional<z.ZodString>;
158
+ _cacheKey: z.ZodOptional<z.ZodString>;
159
+ cached: z.ZodOptional<z.ZodBoolean>;
160
+ enable: z.ZodOptional<z.ZodBoolean>;
161
+ server: z.ZodOptional<z.ZodString>;
162
+ timeout: z.ZodOptional<z.ZodNumber>;
163
+ }, z.core.$strip>;
164
+ export type DnsOptions = z.infer<typeof DnsOptionsSchema>;
165
+ type QueryOptions = {
166
+ server?: string;
167
+ timeout?: number;
168
+ short?: boolean;
169
+ };
170
+ /**
171
+ * The Dns feature provides structured DNS lookups by wrapping the `dig` CLI.
172
+ *
173
+ * All query methods parse dig output into typed JSON objects, making it easy
174
+ * to explore and audit a domain's DNS configuration programmatically.
175
+ *
176
+ * @example
177
+ * ```typescript
178
+ * const dns = container.feature('dns')
179
+ *
180
+ * // Look up A records
181
+ * const result = await dns.resolve('example.com', 'A')
182
+ * console.log(result.records)
183
+ *
184
+ * // Get a full overview of all record types
185
+ * const overview = await dns.overview('example.com')
186
+ * console.log(overview.mx) // mail servers
187
+ * console.log(overview.ns) // nameservers
188
+ * console.log(overview.txt) // TXT records (SPF, DKIM, etc.)
189
+ *
190
+ * // Reverse lookup
191
+ * const ptr = await dns.reverse('8.8.8.8')
192
+ * console.log(ptr) // ['dns.google.']
193
+ * ```
194
+ *
195
+ * @extends Feature
196
+ */
197
+ export declare class Dns extends Feature<DnsState, DnsOptions> {
198
+ static shortcut: "features.dns";
199
+ static description: string;
200
+ static stateSchema: z.ZodObject<{
201
+ enabled: z.ZodDefault<z.ZodBoolean>;
202
+ lastQuery: z.ZodOptional<z.ZodObject<{
203
+ domain: z.ZodString;
204
+ type: z.ZodString;
205
+ timestamp: z.ZodNumber;
206
+ }, z.core.$strip>>;
207
+ }, z.core.$loose>;
208
+ static optionsSchema: z.ZodObject<{
209
+ name: z.ZodOptional<z.ZodString>;
210
+ _cacheKey: z.ZodOptional<z.ZodString>;
211
+ cached: z.ZodOptional<z.ZodBoolean>;
212
+ enable: z.ZodOptional<z.ZodBoolean>;
213
+ server: z.ZodOptional<z.ZodString>;
214
+ timeout: z.ZodOptional<z.ZodNumber>;
215
+ }, z.core.$strip>;
216
+ get initialState(): DnsState;
217
+ private _resolvedDigPath;
218
+ get proc(): import("./proc.js").ChildProcess;
219
+ /** Resolved path to the dig binary */
220
+ get digPath(): string;
221
+ /**
222
+ * Checks whether the `dig` binary is available on the system.
223
+ *
224
+ * @returns True if dig is installed and accessible
225
+ *
226
+ * @example
227
+ * ```typescript
228
+ * if (await dns.isAvailable()) {
229
+ * const records = await dns.a('example.com')
230
+ * }
231
+ * ```
232
+ */
233
+ isAvailable(): Promise<boolean>;
234
+ /**
235
+ * Resolves DNS records of a given type for a domain.
236
+ *
237
+ * This is the core query method. All convenience methods (a, aaaa, mx, etc.)
238
+ * delegate to this method.
239
+ *
240
+ * @param domain - The domain name to query
241
+ * @param type - The DNS record type to look up
242
+ * @param options - Optional query parameters
243
+ * @param options.server - DNS server to use (e.g. '8.8.8.8')
244
+ * @param options.timeout - Query timeout in seconds
245
+ * @param options.short - If true, returns only values (no TTL, class, etc.)
246
+ * @returns Parsed query result with typed records
247
+ *
248
+ * @example
249
+ * ```typescript
250
+ * const result = await dns.resolve('example.com', 'A')
251
+ * for (const record of result.records) {
252
+ * console.log(`${record.name} -> ${record.value} (TTL: ${record.ttl}s)`)
253
+ * }
254
+ *
255
+ * // Query a specific DNS server
256
+ * const result = await dns.resolve('example.com', 'A', { server: '1.1.1.1' })
257
+ * ```
258
+ */
259
+ resolve(domain: string, type: DnsRecordType, options?: QueryOptions): Promise<DnsQueryResult>;
260
+ /**
261
+ * Looks up A (IPv4 address) records for a domain.
262
+ *
263
+ * @param domain - The domain name to query
264
+ * @param options - Optional query parameters
265
+ * @returns Array of A records
266
+ *
267
+ * @example
268
+ * ```typescript
269
+ * const records = await dns.a('google.com')
270
+ * // [{ name: 'google.com.', ttl: 300, class: 'IN', type: 'A', value: '142.250.x.x' }]
271
+ * ```
272
+ */
273
+ a(domain: string, options?: QueryOptions): Promise<DnsRecord[]>;
274
+ /**
275
+ * Looks up AAAA (IPv6 address) records for a domain.
276
+ *
277
+ * @param domain - The domain name to query
278
+ * @param options - Optional query parameters
279
+ * @returns Array of AAAA records
280
+ *
281
+ * @example
282
+ * ```typescript
283
+ * const records = await dns.aaaa('google.com')
284
+ * // [{ name: 'google.com.', ttl: 300, class: 'IN', type: 'AAAA', value: '2607:f8b0:...' }]
285
+ * ```
286
+ */
287
+ aaaa(domain: string, options?: QueryOptions): Promise<DnsRecord[]>;
288
+ /**
289
+ * Looks up CNAME (canonical name) records for a domain.
290
+ *
291
+ * @param domain - The domain name to query
292
+ * @param options - Optional query parameters
293
+ * @returns Array of CNAME records
294
+ *
295
+ * @example
296
+ * ```typescript
297
+ * const records = await dns.cname('www.github.com')
298
+ * // [{ name: 'www.github.com.', ttl: 3600, class: 'IN', type: 'CNAME', value: 'github.com.' }]
299
+ * ```
300
+ */
301
+ cname(domain: string, options?: QueryOptions): Promise<DnsRecord[]>;
302
+ /**
303
+ * Looks up MX (mail exchange) records for a domain.
304
+ *
305
+ * Returns enriched records with parsed priority and exchange fields.
306
+ *
307
+ * @param domain - The domain name to query
308
+ * @param options - Optional query parameters
309
+ * @returns Array of MX records with priority and exchange
310
+ *
311
+ * @example
312
+ * ```typescript
313
+ * const records = await dns.mx('google.com')
314
+ * // [{ name: 'google.com.', ttl: 300, type: 'MX', priority: 10, exchange: 'smtp.google.com.' }]
315
+ * ```
316
+ */
317
+ mx(domain: string, options?: QueryOptions): Promise<MxRecord[]>;
318
+ /**
319
+ * Looks up NS (nameserver) records for a domain.
320
+ *
321
+ * @param domain - The domain name to query
322
+ * @param options - Optional query parameters
323
+ * @returns Array of NS records
324
+ *
325
+ * @example
326
+ * ```typescript
327
+ * const records = await dns.ns('google.com')
328
+ * // [{ name: 'google.com.', ttl: 86400, type: 'NS', value: 'ns1.google.com.' }, ...]
329
+ * ```
330
+ */
331
+ ns(domain: string, options?: QueryOptions): Promise<DnsRecord[]>;
332
+ /**
333
+ * Looks up TXT records for a domain.
334
+ *
335
+ * TXT records often contain SPF policies, DKIM keys, domain verification tokens,
336
+ * and other metadata.
337
+ *
338
+ * @param domain - The domain name to query
339
+ * @param options - Optional query parameters
340
+ * @returns Array of TXT records
341
+ *
342
+ * @example
343
+ * ```typescript
344
+ * const records = await dns.txt('google.com')
345
+ * const spf = records.find(r => r.value.includes('v=spf1'))
346
+ * console.log(spf?.value) // 'v=spf1 include:_spf.google.com ~all'
347
+ * ```
348
+ */
349
+ txt(domain: string, options?: QueryOptions): Promise<DnsRecord[]>;
350
+ /**
351
+ * Looks up the SOA (Start of Authority) record for a domain.
352
+ *
353
+ * Returns enriched records with parsed SOA fields including primary nameserver,
354
+ * responsible party, serial number, and timing parameters.
355
+ *
356
+ * @param domain - The domain name to query
357
+ * @param options - Optional query parameters
358
+ * @returns Array of SOA records (typically one)
359
+ *
360
+ * @example
361
+ * ```typescript
362
+ * const records = await dns.soa('google.com')
363
+ * console.log(records[0].mname) // 'ns1.google.com.'
364
+ * console.log(records[0].serial) // 879543655
365
+ * ```
366
+ */
367
+ soa(domain: string, options?: QueryOptions): Promise<SoaRecord[]>;
368
+ /**
369
+ * Looks up SRV (service) records for a domain.
370
+ *
371
+ * SRV records specify the location of services. The domain should include
372
+ * the service and protocol prefix (e.g. `_sip._tcp.example.com`).
373
+ *
374
+ * @param domain - The full SRV domain (e.g. `_sip._tcp.example.com`)
375
+ * @param options - Optional query parameters
376
+ * @returns Array of SRV records with priority, weight, port, and target
377
+ *
378
+ * @example
379
+ * ```typescript
380
+ * const records = await dns.srv('_sip._tcp.example.com')
381
+ * // [{ priority: 10, weight: 60, port: 5060, target: 'sip.example.com.' }]
382
+ * ```
383
+ */
384
+ srv(domain: string, options?: QueryOptions): Promise<SrvRecord[]>;
385
+ /**
386
+ * Looks up CAA (Certificate Authority Authorization) records for a domain.
387
+ *
388
+ * CAA records specify which certificate authorities are allowed to issue
389
+ * certificates for a domain.
390
+ *
391
+ * @param domain - The domain name to query
392
+ * @param options - Optional query parameters
393
+ * @returns Array of CAA records with flags, tag, and issuer
394
+ *
395
+ * @example
396
+ * ```typescript
397
+ * const records = await dns.caa('google.com')
398
+ * // [{ flags: 0, tag: 'issue', issuer: 'pki.goog' }]
399
+ * ```
400
+ */
401
+ caa(domain: string, options?: QueryOptions): Promise<CaaRecord[]>;
402
+ /**
403
+ * Performs a reverse DNS lookup for an IP address.
404
+ *
405
+ * Converts the IP to its in-addr.arpa form and queries for PTR records.
406
+ *
407
+ * @param ip - The IPv4 address to look up
408
+ * @param options - Optional query parameters
409
+ * @returns Array of hostnames (PTR record values)
410
+ *
411
+ * @example
412
+ * ```typescript
413
+ * const hostnames = await dns.reverse('8.8.8.8')
414
+ * // ['dns.google.']
415
+ * ```
416
+ */
417
+ reverse(ip: string, options?: QueryOptions): Promise<string[]>;
418
+ /**
419
+ * Retrieves a comprehensive DNS overview for a domain.
420
+ *
421
+ * Queries all common record types (A, AAAA, CNAME, MX, NS, TXT, SOA, CAA)
422
+ * in parallel and returns a consolidated view. This is the go-to method for
423
+ * exploring a domain's full DNS configuration.
424
+ *
425
+ * @param domain - The domain name to query
426
+ * @param options - Optional query parameters applied to all queries
427
+ * @returns Complete DNS overview with all record types
428
+ *
429
+ * @example
430
+ * ```typescript
431
+ * const overview = await dns.overview('example.com')
432
+ * console.log('IPs:', overview.a.map(r => r.value))
433
+ * console.log('Mail:', overview.mx.map(r => r.exchange))
434
+ * console.log('Nameservers:', overview.ns.map(r => r.value))
435
+ * console.log('TXT:', overview.txt.map(r => r.value))
436
+ * ```
437
+ */
438
+ overview(domain: string, options?: QueryOptions): Promise<DnsOverview>;
439
+ /**
440
+ * Compares DNS resolution between two nameservers for a given record type.
441
+ *
442
+ * Useful for verifying DNS propagation or checking for inconsistencies
443
+ * between authoritative and recursive resolvers.
444
+ *
445
+ * @param domain - The domain name to query
446
+ * @param type - The DNS record type to compare
447
+ * @param serverA - First DNS server (e.g. '8.8.8.8')
448
+ * @param serverB - Second DNS server (e.g. '1.1.1.1')
449
+ * @returns Object with results from both servers and whether they match
450
+ *
451
+ * @example
452
+ * ```typescript
453
+ * const diff = await dns.compare('example.com', 'A', '8.8.8.8', '1.1.1.1')
454
+ * console.log(diff.match) // true if both return the same values
455
+ * console.log(diff.serverA) // records from 8.8.8.8
456
+ * console.log(diff.serverB) // records from 1.1.1.1
457
+ * ```
458
+ */
459
+ compare(domain: string, type: DnsRecordType, serverA: string, serverB: string): Promise<{
460
+ serverA: DnsQueryResult;
461
+ serverB: DnsQueryResult;
462
+ match: boolean;
463
+ }>;
464
+ /**
465
+ * Queries a domain's authoritative nameservers directly.
466
+ *
467
+ * First resolves the NS records, then queries each nameserver for the
468
+ * specified record type. Useful for bypassing caches and checking what
469
+ * the authoritative servers actually report.
470
+ *
471
+ * @param domain - The domain name to query
472
+ * @param type - The DNS record type to look up
473
+ * @returns Array of results, one per authoritative nameserver
474
+ *
475
+ * @example
476
+ * ```typescript
477
+ * const results = await dns.queryAuthoritative('example.com', 'A')
478
+ * for (const r of results) {
479
+ * console.log(`${r.server}: ${r.records.map(rec => rec.value).join(', ')}`)
480
+ * }
481
+ * ```
482
+ */
483
+ queryAuthoritative(domain: string, type: DnsRecordType): Promise<DnsQueryResult[]>;
484
+ /**
485
+ * Checks whether a domain has a specific TXT record containing the given text.
486
+ *
487
+ * Useful for verifying domain ownership tokens, SPF records, DKIM entries, etc.
488
+ *
489
+ * @param domain - The domain name to query
490
+ * @param search - The text to search for in TXT record values
491
+ * @returns True if any TXT record contains the search string
492
+ *
493
+ * @example
494
+ * ```typescript
495
+ * // Check for SPF record
496
+ * const hasSPF = await dns.hasTxtRecord('google.com', 'v=spf1')
497
+ *
498
+ * // Check for domain verification
499
+ * const verified = await dns.hasTxtRecord('example.com', 'google-site-verification=')
500
+ * ```
501
+ */
502
+ hasTxtRecord(domain: string, search: string): Promise<boolean>;
503
+ /** Builds the dig CLI arguments for a query. */
504
+ private buildDigArgs;
505
+ /** Parses dig's answer section into structured records. */
506
+ private parseDigAnswer;
507
+ /** Extracts query time from dig's stats section. */
508
+ private parseQueryTime;
509
+ }
510
+ export default Dns;
511
+ //# sourceMappingURL=dns.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dns.d.ts","sourceRoot":"","sources":["../../../src/node/features/dns.ts"],"names":[],"mappings":"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"}