@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,281 @@
1
+ import { RestClient } from "../rest";
2
+ import type { ContainerContext } from "@soederpop/luca/container";
3
+ import { z } from 'zod';
4
+ declare module "@soederpop/luca/client" {
5
+ interface AvailableClients {
6
+ comfyui: typeof ComfyUIClient;
7
+ }
8
+ }
9
+ export declare const ComfyUIClientStateSchema: z.ZodObject<{
10
+ connected: z.ZodDefault<z.ZodBoolean>;
11
+ clientId: z.ZodDefault<z.ZodString>;
12
+ queueRemaining: z.ZodDefault<z.ZodNumber>;
13
+ executing: z.ZodDefault<z.ZodNullable<z.ZodString>>;
14
+ }, z.core.$loose>;
15
+ export declare const ComfyUIClientOptionsSchema: z.ZodObject<{
16
+ name: z.ZodOptional<z.ZodString>;
17
+ _cacheKey: z.ZodOptional<z.ZodString>;
18
+ baseURL: z.ZodOptional<z.ZodString>;
19
+ json: z.ZodOptional<z.ZodBoolean>;
20
+ wsURL: z.ZodOptional<z.ZodString>;
21
+ }, z.core.$strip>;
22
+ export type ComfyUIClientState = z.infer<typeof ComfyUIClientStateSchema>;
23
+ export type ComfyUIClientOptions = z.infer<typeof ComfyUIClientOptionsSchema>;
24
+ export declare const ComfyUIClientEventsSchema: z.ZodObject<{
25
+ stateChange: z.ZodTuple<[z.ZodAny], null>;
26
+ failure: z.ZodTuple<[z.ZodAny], null>;
27
+ execution_start: z.ZodTuple<[z.ZodObject<{
28
+ promptId: z.ZodString;
29
+ }, z.core.$strip>], null>;
30
+ executing: z.ZodTuple<[z.ZodObject<{
31
+ node: z.ZodString;
32
+ promptId: z.ZodString;
33
+ }, z.core.$strip>], null>;
34
+ progress: z.ZodTuple<[z.ZodObject<{
35
+ node: z.ZodString;
36
+ value: z.ZodNumber;
37
+ max: z.ZodNumber;
38
+ promptId: z.ZodString;
39
+ }, z.core.$strip>], null>;
40
+ executed: z.ZodTuple<[z.ZodObject<{
41
+ node: z.ZodString;
42
+ output: z.ZodAny;
43
+ promptId: z.ZodString;
44
+ }, z.core.$strip>], null>;
45
+ execution_cached: z.ZodTuple<[z.ZodObject<{
46
+ nodes: z.ZodArray<z.ZodString>;
47
+ promptId: z.ZodString;
48
+ }, z.core.$strip>], null>;
49
+ execution_error: z.ZodTuple<[z.ZodObject<{
50
+ promptId: z.ZodString;
51
+ exception_message: z.ZodOptional<z.ZodString>;
52
+ }, z.core.$loose>], null>;
53
+ execution_complete: z.ZodTuple<[z.ZodObject<{
54
+ promptId: z.ZodString;
55
+ }, z.core.$strip>], null>;
56
+ }, z.core.$strip>;
57
+ /** Maps a semantic input name to a specific node ID and field */
58
+ export type InputMapping = Record<string, {
59
+ nodeId: string;
60
+ field: string;
61
+ }>;
62
+ export type WorkflowRunOptions = {
63
+ /** Use polling instead of WebSocket for tracking execution */
64
+ poll?: boolean;
65
+ /** Polling interval in ms (default 1000) */
66
+ pollInterval?: number;
67
+ /** Named input mapping: semantic name -> { nodeId, field } */
68
+ inputMap?: InputMapping;
69
+ /** If provided, output images are downloaded to this directory */
70
+ outputDir?: string;
71
+ };
72
+ export type WorkflowResult = {
73
+ promptId: string;
74
+ outputs: Record<string, any>;
75
+ images?: Array<{
76
+ filename: string;
77
+ subfolder: string;
78
+ type: string;
79
+ localPath?: string;
80
+ }>;
81
+ };
82
+ /**
83
+ * ComfyUI client — execute Stable Diffusion workflows via the ComfyUI API.
84
+ *
85
+ * Connects to a ComfyUI instance to queue prompts, track execution via WebSocket or polling,
86
+ * and download generated images. Supports both UI-format and API-format workflows with
87
+ * automatic conversion.
88
+ *
89
+ * @example
90
+ * ```typescript
91
+ * const comfy = container.client('comfyui', { baseURL: 'http://localhost:8188' })
92
+ * const result = await comfy.runWorkflow(workflow, {
93
+ * '6': { text: 'a beautiful sunset' }
94
+ * })
95
+ * console.log(result.images)
96
+ * ```
97
+ */
98
+ export declare class ComfyUIClient extends RestClient<ComfyUIClientState, ComfyUIClientOptions> {
99
+ static shortcut: "clients.comfyui";
100
+ static description: string;
101
+ static stateSchema: z.ZodObject<{
102
+ connected: z.ZodDefault<z.ZodBoolean>;
103
+ clientId: z.ZodDefault<z.ZodString>;
104
+ queueRemaining: z.ZodDefault<z.ZodNumber>;
105
+ executing: z.ZodDefault<z.ZodNullable<z.ZodString>>;
106
+ }, z.core.$loose>;
107
+ static optionsSchema: z.ZodObject<{
108
+ name: z.ZodOptional<z.ZodString>;
109
+ _cacheKey: z.ZodOptional<z.ZodString>;
110
+ baseURL: z.ZodOptional<z.ZodString>;
111
+ json: z.ZodOptional<z.ZodBoolean>;
112
+ wsURL: z.ZodOptional<z.ZodString>;
113
+ }, z.core.$strip>;
114
+ static eventsSchema: z.ZodObject<{
115
+ stateChange: z.ZodTuple<[z.ZodAny], null>;
116
+ failure: z.ZodTuple<[z.ZodAny], null>;
117
+ execution_start: z.ZodTuple<[z.ZodObject<{
118
+ promptId: z.ZodString;
119
+ }, z.core.$strip>], null>;
120
+ executing: z.ZodTuple<[z.ZodObject<{
121
+ node: z.ZodString;
122
+ promptId: z.ZodString;
123
+ }, z.core.$strip>], null>;
124
+ progress: z.ZodTuple<[z.ZodObject<{
125
+ node: z.ZodString;
126
+ value: z.ZodNumber;
127
+ max: z.ZodNumber;
128
+ promptId: z.ZodString;
129
+ }, z.core.$strip>], null>;
130
+ executed: z.ZodTuple<[z.ZodObject<{
131
+ node: z.ZodString;
132
+ output: z.ZodAny;
133
+ promptId: z.ZodString;
134
+ }, z.core.$strip>], null>;
135
+ execution_cached: z.ZodTuple<[z.ZodObject<{
136
+ nodes: z.ZodArray<z.ZodString>;
137
+ promptId: z.ZodString;
138
+ }, z.core.$strip>], null>;
139
+ execution_error: z.ZodTuple<[z.ZodObject<{
140
+ promptId: z.ZodString;
141
+ exception_message: z.ZodOptional<z.ZodString>;
142
+ }, z.core.$loose>], null>;
143
+ execution_complete: z.ZodTuple<[z.ZodObject<{
144
+ promptId: z.ZodString;
145
+ }, z.core.$strip>], null>;
146
+ }, z.core.$strip>;
147
+ private ws;
148
+ constructor(options: ComfyUIClientOptions, context: ContainerContext);
149
+ /** Initial state with a random client ID. */
150
+ get initialState(): ComfyUIClientState;
151
+ /** The unique client ID used for WebSocket session tracking. */
152
+ get clientId(): string;
153
+ /** The WebSocket URL derived from baseURL or overridden via options. */
154
+ get wsURL(): string;
155
+ /**
156
+ * Queue a prompt (API-format workflow) for execution.
157
+ *
158
+ * @param prompt - The API-format workflow object
159
+ * @param clientId - Override the client ID for this request
160
+ * @returns The prompt ID and queue number
161
+ *
162
+ * @example
163
+ * ```typescript
164
+ * const { prompt_id } = await comfy.queuePrompt(apiWorkflow)
165
+ * ```
166
+ */
167
+ queuePrompt(prompt: Record<string, any>, clientId?: string): Promise<{
168
+ prompt_id: string;
169
+ number: number;
170
+ }>;
171
+ /**
172
+ * Get the current prompt queue status.
173
+ *
174
+ * @returns Running and pending queue items
175
+ */
176
+ getQueue(): Promise<{
177
+ queue_running: any[];
178
+ queue_pending: any[];
179
+ }>;
180
+ /**
181
+ * Get execution history, optionally for a specific prompt.
182
+ *
183
+ * @param promptId - If provided, returns history for this prompt only
184
+ * @returns History records keyed by prompt ID
185
+ */
186
+ getHistory(promptId?: string): Promise<Record<string, any>>;
187
+ /**
188
+ * Get system stats including GPU memory and queue info.
189
+ *
190
+ * @returns System statistics
191
+ */
192
+ getSystemStats(): Promise<any>;
193
+ /**
194
+ * Get node type info with input/output schemas.
195
+ *
196
+ * @param nodeClass - If provided, returns info for this node type only
197
+ * @returns Object info keyed by node class name
198
+ */
199
+ getObjectInfo(nodeClass?: string): Promise<any>;
200
+ /** Interrupt the currently executing prompt. */
201
+ interrupt(): Promise<void>;
202
+ /**
203
+ * List available models, optionally filtered by type.
204
+ *
205
+ * @param type - Model type filter (e.g., 'checkpoints', 'loras')
206
+ * @returns Array of model file names
207
+ */
208
+ getModels(type?: string): Promise<string[]>;
209
+ /** List available embedding models. */
210
+ getEmbeddings(): Promise<string[]>;
211
+ /**
212
+ * Upload an image to ComfyUI's input directory.
213
+ *
214
+ * @param file - The image data as Buffer or Blob
215
+ * @param filename - File name for the upload
216
+ * @param opts - Upload options (subfolder, type, overwrite)
217
+ * @returns Upload result from ComfyUI
218
+ */
219
+ uploadImage(file: Buffer | Blob, filename: string, opts?: {
220
+ subfolder?: string;
221
+ type?: string;
222
+ overwrite?: boolean;
223
+ }): Promise<any>;
224
+ /**
225
+ * Download a generated image from ComfyUI as a Buffer.
226
+ *
227
+ * @param filename - The image filename
228
+ * @param subfolder - Subfolder within the output directory
229
+ * @param type - Image type ('output', 'input', 'temp')
230
+ * @returns The image data as a Buffer
231
+ */
232
+ viewImage(filename: string, subfolder?: string, type?: string): Promise<Buffer>;
233
+ /**
234
+ * Open a WebSocket connection to ComfyUI for real-time execution tracking.
235
+ *
236
+ * Events emitted: `execution_start`, `executing`, `progress`, `executed`,
237
+ * `execution_cached`, `execution_error`, `execution_complete`.
238
+ */
239
+ connectWs(): Promise<void>;
240
+ /** Close the WebSocket connection. */
241
+ disconnectWs(): void;
242
+ private handleWsMessage;
243
+ /**
244
+ * Detect whether a workflow object is in UI format (exported from the graph
245
+ * editor) or API format (flat node-id-keyed object with class_type).
246
+ */
247
+ static isUIFormat(workflow: Record<string, any>): boolean;
248
+ /**
249
+ * Convert a UI-format workflow to the API format that /prompt expects.
250
+ *
251
+ * Requires a running ComfyUI instance to fetch `object_info` so we can
252
+ * map positional `widgets_values` to their named input fields.
253
+ *
254
+ * If the workflow is already in API format, it's returned as-is.
255
+ */
256
+ toApiFormat(workflow: Record<string, any>): Promise<Record<string, any>>;
257
+ /**
258
+ * Run a ComfyUI workflow with optional runtime input overrides.
259
+ *
260
+ * Inputs can be provided in two forms:
261
+ *
262
+ * **Direct node mapping** (when no `inputMap` in options):
263
+ * ```
264
+ * { '3': { seed: 42 }, '6': { text: 'a cat' } }
265
+ * ```
266
+ *
267
+ * **Named inputs** (when `inputMap` is provided in options):
268
+ * ```
269
+ * inputs: { positive_prompt: 'a cat', seed: 42 }
270
+ * options.inputMap: {
271
+ * positive_prompt: { nodeId: '6', field: 'text' },
272
+ * seed: { nodeId: '3', field: 'seed' }
273
+ * }
274
+ * ```
275
+ */
276
+ runWorkflow(workflow: Record<string, any>, inputs?: Record<string, any>, options?: WorkflowRunOptions): Promise<WorkflowResult>;
277
+ private waitForCompletionWs;
278
+ private pollForCompletion;
279
+ }
280
+ export default ComfyUIClient;
281
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/clients/comfyui/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,197 @@
1
+ import { z } from 'zod';
2
+ import { RestClient } from "../rest";
3
+ import type { ContainerContext } from "@soederpop/luca/container";
4
+ declare module "@soederpop/luca/client" {
5
+ interface AvailableClients {
6
+ elevenlabs: typeof ElevenLabsClient;
7
+ }
8
+ }
9
+ export declare const ElevenLabsClientOptionsSchema: z.ZodObject<{
10
+ name: z.ZodOptional<z.ZodString>;
11
+ _cacheKey: z.ZodOptional<z.ZodString>;
12
+ baseURL: z.ZodOptional<z.ZodString>;
13
+ json: z.ZodOptional<z.ZodBoolean>;
14
+ apiKey: z.ZodOptional<z.ZodString>;
15
+ defaultVoiceId: z.ZodOptional<z.ZodString>;
16
+ defaultModelId: z.ZodDefault<z.ZodOptional<z.ZodString>>;
17
+ outputFormat: z.ZodDefault<z.ZodOptional<z.ZodString>>;
18
+ }, z.core.$strip>;
19
+ export type ElevenLabsClientOptions = z.infer<typeof ElevenLabsClientOptionsSchema>;
20
+ export declare const ElevenLabsClientStateSchema: z.ZodObject<{
21
+ connected: z.ZodDefault<z.ZodBoolean>;
22
+ requestCount: z.ZodDefault<z.ZodNumber>;
23
+ characterCount: z.ZodDefault<z.ZodNumber>;
24
+ lastRequestTime: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
25
+ }, z.core.$loose>;
26
+ export type ElevenLabsClientState = z.infer<typeof ElevenLabsClientStateSchema>;
27
+ export declare const ElevenLabsClientEventsSchema: z.ZodObject<{
28
+ stateChange: z.ZodTuple<[z.ZodAny], null>;
29
+ failure: z.ZodTuple<[z.ZodAny], null>;
30
+ speech: z.ZodTuple<[z.ZodObject<{
31
+ voiceId: z.ZodString;
32
+ text: z.ZodString;
33
+ audioSize: z.ZodNumber;
34
+ }, z.core.$strip>], null>;
35
+ voices: z.ZodTuple<[z.ZodArray<z.ZodAny>], null>;
36
+ }, z.core.$strip>;
37
+ export type ElevenLabsVoiceSettings = {
38
+ stability?: number;
39
+ similarityBoost?: number;
40
+ style?: number;
41
+ speed?: number;
42
+ useSpeakerBoost?: boolean;
43
+ };
44
+ export type SynthesizeOptions = {
45
+ voiceId?: string;
46
+ modelId?: string;
47
+ outputFormat?: string;
48
+ voiceSettings?: ElevenLabsVoiceSettings;
49
+ disableCache?: boolean;
50
+ };
51
+ /**
52
+ * ElevenLabs client — text-to-speech synthesis via the ElevenLabs REST API.
53
+ *
54
+ * Provides methods for listing voices, listing models, and generating speech audio.
55
+ * Audio is returned as a Buffer; use `say()` for a convenience method that writes to disk.
56
+ *
57
+ * @example
58
+ * ```typescript
59
+ * const el = container.client('elevenlabs')
60
+ * await el.connect()
61
+ * const voices = await el.listVoices()
62
+ * const audio = await el.synthesize('Hello world')
63
+ * // audio is a Buffer of mp3 data
64
+ * ```
65
+ */
66
+ export declare class ElevenLabsClient extends RestClient<ElevenLabsClientState, ElevenLabsClientOptions> {
67
+ static shortcut: "clients.elevenlabs";
68
+ static envVars: string[];
69
+ static stateSchema: z.ZodObject<{
70
+ connected: z.ZodDefault<z.ZodBoolean>;
71
+ requestCount: z.ZodDefault<z.ZodNumber>;
72
+ characterCount: z.ZodDefault<z.ZodNumber>;
73
+ lastRequestTime: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
74
+ }, z.core.$loose>;
75
+ static optionsSchema: z.ZodObject<{
76
+ name: z.ZodOptional<z.ZodString>;
77
+ _cacheKey: z.ZodOptional<z.ZodString>;
78
+ baseURL: z.ZodOptional<z.ZodString>;
79
+ json: z.ZodOptional<z.ZodBoolean>;
80
+ apiKey: z.ZodOptional<z.ZodString>;
81
+ defaultVoiceId: z.ZodOptional<z.ZodString>;
82
+ defaultModelId: z.ZodDefault<z.ZodOptional<z.ZodString>>;
83
+ outputFormat: z.ZodDefault<z.ZodOptional<z.ZodString>>;
84
+ }, z.core.$strip>;
85
+ static eventsSchema: z.ZodObject<{
86
+ stateChange: z.ZodTuple<[z.ZodAny], null>;
87
+ failure: z.ZodTuple<[z.ZodAny], null>;
88
+ speech: z.ZodTuple<[z.ZodObject<{
89
+ voiceId: z.ZodString;
90
+ text: z.ZodString;
91
+ audioSize: z.ZodNumber;
92
+ }, z.core.$strip>], null>;
93
+ voices: z.ZodTuple<[z.ZodArray<z.ZodAny>], null>;
94
+ }, z.core.$strip>;
95
+ get initialState(): ElevenLabsClientState;
96
+ constructor(options: ElevenLabsClientOptions, context: ContainerContext);
97
+ /** The resolved API key from options or environment. */
98
+ get apiKey(): string;
99
+ /**
100
+ * Inject the xi-api-key header before each request.
101
+ */
102
+ beforeRequest(): Promise<void>;
103
+ private trackRequest;
104
+ /**
105
+ * Validate the API key by listing available models.
106
+ *
107
+ * @returns This client instance
108
+ * @throws If the API key is invalid or the connection fails
109
+ *
110
+ * @example
111
+ * ```typescript
112
+ * await el.connect()
113
+ * ```
114
+ */
115
+ connect(): Promise<this>;
116
+ /**
117
+ * List available voices with optional search and filtering.
118
+ *
119
+ * @param options - Query parameters for filtering voices
120
+ * @returns Array of voice objects
121
+ *
122
+ * @example
123
+ * ```typescript
124
+ * const voices = await el.listVoices()
125
+ * const premade = await el.listVoices({ category: 'premade' })
126
+ * ```
127
+ */
128
+ listVoices(options?: {
129
+ search?: string;
130
+ category?: string;
131
+ voice_type?: string;
132
+ page_size?: number;
133
+ next_page_token?: string;
134
+ }): Promise<any>;
135
+ /**
136
+ * Get details for a single voice.
137
+ *
138
+ * @param voiceId - The voice ID to look up
139
+ * @returns Voice object with settings, labels, and metadata
140
+ *
141
+ * @example
142
+ * ```typescript
143
+ * const voice = await el.getVoice('21m00Tcm4TlvDq8ikWAM')
144
+ * console.log(voice.name, voice.settings)
145
+ * ```
146
+ */
147
+ getVoice(voiceId: string): Promise<any>;
148
+ /**
149
+ * List available TTS models.
150
+ *
151
+ * @returns Array of model objects with IDs and capabilities
152
+ *
153
+ * @example
154
+ * ```typescript
155
+ * const models = await el.listModels()
156
+ * console.log(models.map(m => m.model_id))
157
+ * ```
158
+ */
159
+ listModels(): Promise<any[]>;
160
+ /**
161
+ * Synthesize speech from text, returning audio as a Buffer.
162
+ *
163
+ * @param text - The text to convert to speech
164
+ * @param options - Voice, model, format, and voice settings overrides
165
+ * @returns Audio data as a Buffer
166
+ *
167
+ * @example
168
+ * ```typescript
169
+ * const audio = await el.synthesize('Hello world')
170
+ * // audio is a Buffer of mp3 data
171
+ *
172
+ * const custom = await el.synthesize('Hello', {
173
+ * voiceId: '21m00Tcm4TlvDq8ikWAM',
174
+ * voiceSettings: { stability: 0.5, similarityBoost: 0.8 }
175
+ * })
176
+ * ```
177
+ */
178
+ synthesize(text: string, options?: SynthesizeOptions): Promise<Buffer>;
179
+ private fetchSpeech;
180
+ /**
181
+ * Synthesize speech and write the audio to a file.
182
+ *
183
+ * @param text - The text to convert to speech
184
+ * @param outputPath - File path to write the audio to
185
+ * @param options - Voice, model, format, and voice settings overrides
186
+ * @returns The resolved output path
187
+ *
188
+ * @example
189
+ * ```typescript
190
+ * const path = await el.say('Hello world', './hello.mp3')
191
+ * console.log(`Audio saved to ${path}`)
192
+ * ```
193
+ */
194
+ say(text: string, outputPath: string, options?: SynthesizeOptions): Promise<string>;
195
+ }
196
+ export default ElevenLabsClient;
197
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/clients/elevenlabs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAGlE,OAAO,QAAQ,wBAAwB,CAAC;IACtC,UAAU,gBAAgB;QACxB,UAAU,EAAE,OAAO,gBAAgB,CAAC;KACrC;CACF;AAED,eAAO,MAAM,6BAA6B;;;;;;;;;iBAKxC,CAAA;AACF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAA;AAEnF,eAAO,MAAM,2BAA2B;;;;;iBAItC,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAE/E,eAAO,MAAM,4BAA4B;;;;;;;;;iBAOvC,CAAA;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,uBAAuB,CAAA;IACvC,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,gBAAiB,SAAQ,UAAU,CAAC,qBAAqB,EAAE,uBAAuB,CAAC;IAC9F,OAAgB,QAAQ,EAAG,oBAAoB,CAAS;IACxD,OAAgB,OAAO,WAAyB;IAChD,OAAgB,WAAW;;;;;sBAA8B;IACzD,OAAgB,aAAa;;;;;;;;;sBAAgC;IAC7D,OAAgB,YAAY;;;;;;;;;sBAA+B;IAI3D,IAAa,YAAY,IAAI,qBAAqB,CAOjD;gBAEW,OAAO,EAAE,uBAAuB,EAAE,OAAO,EAAE,gBAAgB;IAQvE,wDAAwD;IACxD,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;OAEG;IACY,aAAa;IAI5B,OAAO,CAAC,YAAY;IAUpB;;;;;;;;;;OAUG;IACY,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAYvC;;;;;;;;;;;OAWG;IACG,UAAU,CAAC,OAAO,GAAE;QACxB,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,eAAe,CAAC,EAAE,MAAM,CAAA;KACpB,GAAG,OAAO,CAAC,GAAG,CAAC;IASrB;;;;;;;;;;;OAWG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAK7C;;;;;;;;;;OAUG;IACG,UAAU,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAKlC;;;;;;;;;;;;;;;;;OAiBG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC;YAoDlE,WAAW;IAmBzB;;;;;;;;;;;;;OAaG;IACG,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC;CAM9F;AAED,eAAe,gBAAgB,CAAA"}
@@ -0,0 +1,64 @@
1
+ import { z } from 'zod';
2
+ import { RestClient } from './rest.js';
3
+ import type { ClientState } from '../client.js';
4
+ import { GraphClientOptionsSchema } from '../schemas/base.js';
5
+ export type GraphClientOptions = z.infer<typeof GraphClientOptionsSchema>;
6
+ declare module '../client' {
7
+ interface AvailableClients {
8
+ graph: typeof GraphClient;
9
+ }
10
+ }
11
+ /**
12
+ * GraphQL client that wraps RestClient with convenience methods for executing
13
+ * queries and mutations. Automatically handles the GraphQL request envelope
14
+ * (query/variables/operationName) and unwraps responses, extracting the `data`
15
+ * field and emitting events for GraphQL-level errors.
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * const gql = container.client('graph', { baseURL: 'https://api.example.com' })
20
+ * const data = await gql.query(`{ users { id name } }`)
21
+ * await gql.mutate(`mutation($name: String!) { createUser(name: $name) { id } }`, { name: 'Alice' })
22
+ * ```
23
+ */
24
+ export declare class GraphClient<T extends ClientState = ClientState, K extends GraphClientOptions = GraphClientOptions> extends RestClient<T, K> {
25
+ static shortcut: "clients.graph";
26
+ static optionsSchema: z.ZodObject<{
27
+ name: z.ZodOptional<z.ZodString>;
28
+ _cacheKey: z.ZodOptional<z.ZodString>;
29
+ baseURL: z.ZodOptional<z.ZodString>;
30
+ json: z.ZodOptional<z.ZodBoolean>;
31
+ endpoint: z.ZodOptional<z.ZodString>;
32
+ }, z.core.$strip>;
33
+ static eventsSchema: z.ZodObject<{
34
+ stateChange: z.ZodTuple<[z.ZodAny], null>;
35
+ failure: z.ZodTuple<[z.ZodAny], null>;
36
+ graphqlError: z.ZodTuple<[z.ZodArray<z.ZodAny>], null>;
37
+ }, z.core.$strip>;
38
+ /** The GraphQL endpoint path. Defaults to '/graphql'. */
39
+ get endpoint(): string;
40
+ /**
41
+ * Execute a GraphQL query and return the unwrapped data.
42
+ * @param query - The GraphQL query string
43
+ * @param variables - Optional variables for the query
44
+ * @param operationName - Optional operation name when the query contains multiple operations
45
+ */
46
+ query<R = any>(query: string, variables?: Record<string, any>, operationName?: string): Promise<R>;
47
+ /**
48
+ * Execute a GraphQL mutation and return the unwrapped data.
49
+ * Semantically identical to query() but named for clarity when performing mutations.
50
+ * @param mutation - The GraphQL mutation string
51
+ * @param variables - Optional variables for the mutation
52
+ * @param operationName - Optional operation name when the mutation contains multiple operations
53
+ */
54
+ mutate<R = any>(mutation: string, variables?: Record<string, any>, operationName?: string): Promise<R>;
55
+ /**
56
+ * Execute a GraphQL operation, unwrap the response, and handle errors.
57
+ * Posts to the configured endpoint with the standard GraphQL envelope.
58
+ * If the response contains GraphQL-level errors, emits both 'graphqlError'
59
+ * and 'failure' events before returning the data.
60
+ */
61
+ private execute;
62
+ }
63
+ export default GraphClient;
64
+ //# sourceMappingURL=graph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/clients/graph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EACL,wBAAwB,EACzB,MAAM,oBAAoB,CAAA;AAE3B,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAEzE,OAAO,QAAQ,WAAW,CAAC;IACzB,UAAU,gBAAgB;QACxB,KAAK,EAAE,OAAO,WAAW,CAAA;KAC1B;CACF;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,WAAW,CACtB,CAAC,SAAS,WAAW,GAAG,WAAW,EACnC,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,CACjD,SAAQ,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC;IACxB,OAAgB,QAAQ,EAAG,eAAe,CAAS;IACnD,OAAgB,aAAa;;;;;;sBAA2B;IACxD,OAAgB,YAAY;;;;sBAA0B;IAGtD,yDAAyD;IACzD,IAAI,QAAQ,WAEX;IAED;;;;;OAKG;IACG,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAIxG;;;;;;OAMG;IACG,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAI5G;;;;;OAKG;YACW,OAAO;CActB;AAED,eAAe,WAAW,CAAA"}