@ixo/oracle-runtime 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (583) hide show
  1. package/dist/bootstrap/ambient-factory.d.ts +32 -0
  2. package/dist/bootstrap/ambient-factory.d.ts.map +1 -0
  3. package/dist/bootstrap/ambient-factory.js +128 -0
  4. package/dist/bootstrap/create-oracle-app.d.ts +112 -0
  5. package/dist/bootstrap/create-oracle-app.d.ts.map +1 -0
  6. package/dist/bootstrap/create-oracle-app.js +530 -0
  7. package/dist/bootstrap/graceful-shutdown.d.ts +20 -0
  8. package/dist/bootstrap/graceful-shutdown.d.ts.map +1 -0
  9. package/dist/bootstrap/graceful-shutdown.js +61 -0
  10. package/dist/bootstrap/index.d.ts +13 -0
  11. package/dist/bootstrap/index.d.ts.map +1 -0
  12. package/dist/bootstrap/index.js +6 -0
  13. package/dist/bootstrap/inspect.d.ts +74 -0
  14. package/dist/bootstrap/inspect.d.ts.map +1 -0
  15. package/dist/bootstrap/inspect.js +111 -0
  16. package/dist/bootstrap/plugin-loader.d.ts +50 -0
  17. package/dist/bootstrap/plugin-loader.d.ts.map +1 -0
  18. package/dist/bootstrap/plugin-loader.js +119 -0
  19. package/dist/bootstrap/runtime-app-module.d.ts +38 -0
  20. package/dist/bootstrap/runtime-app-module.d.ts.map +1 -0
  21. package/dist/bootstrap/runtime-app-module.js +114 -0
  22. package/dist/bootstrap/schema-composer.d.ts +46 -0
  23. package/dist/bootstrap/schema-composer.d.ts.map +1 -0
  24. package/dist/bootstrap/schema-composer.js +65 -0
  25. package/dist/config/base-env-config.d.ts +31 -0
  26. package/dist/config/base-env-config.d.ts.map +1 -0
  27. package/dist/config/base-env-config.js +70 -0
  28. package/dist/config/base-env-schema.d.ts +77 -0
  29. package/dist/config/base-env-schema.d.ts.map +1 -0
  30. package/dist/config/base-env-schema.js +102 -0
  31. package/dist/events/scoped-emitter.d.ts +33 -0
  32. package/dist/events/scoped-emitter.d.ts.map +1 -0
  33. package/dist/events/scoped-emitter.js +32 -0
  34. package/dist/graph/index.d.ts +8 -0
  35. package/dist/graph/index.d.ts.map +1 -0
  36. package/dist/graph/index.js +6 -0
  37. package/dist/graph/main-agent-types.d.ts +88 -0
  38. package/dist/graph/main-agent-types.d.ts.map +1 -0
  39. package/dist/graph/main-agent-types.js +20 -0
  40. package/dist/graph/main-agent.d.ts +16 -0
  41. package/dist/graph/main-agent.d.ts.map +1 -0
  42. package/dist/graph/main-agent.js +251 -0
  43. package/dist/graph/middlewares/capability-gate-middleware.d.ts +35 -0
  44. package/dist/graph/middlewares/capability-gate-middleware.d.ts.map +1 -0
  45. package/dist/graph/middlewares/capability-gate-middleware.js +54 -0
  46. package/dist/graph/middlewares/index.d.ts +7 -0
  47. package/dist/graph/middlewares/index.d.ts.map +1 -0
  48. package/dist/graph/middlewares/index.js +6 -0
  49. package/dist/graph/middlewares/page-context-middleware.d.ts +23 -0
  50. package/dist/graph/middlewares/page-context-middleware.d.ts.map +1 -0
  51. package/dist/graph/middlewares/page-context-middleware.js +68 -0
  52. package/dist/graph/middlewares/safety-guardrail-middleware.d.ts +26 -0
  53. package/dist/graph/middlewares/safety-guardrail-middleware.d.ts.map +1 -0
  54. package/dist/graph/middlewares/safety-guardrail-middleware.js +88 -0
  55. package/dist/graph/middlewares/summarization-middleware.d.ts +17 -0
  56. package/dist/graph/middlewares/summarization-middleware.d.ts.map +1 -0
  57. package/dist/graph/middlewares/summarization-middleware.js +62 -0
  58. package/dist/graph/middlewares/tool-repetition-guard-middleware.d.ts +24 -0
  59. package/dist/graph/middlewares/tool-repetition-guard-middleware.d.ts.map +1 -0
  60. package/dist/graph/middlewares/tool-repetition-guard-middleware.js +112 -0
  61. package/dist/graph/middlewares/tool-validation-middleware.d.ts +24 -0
  62. package/dist/graph/middlewares/tool-validation-middleware.d.ts.map +1 -0
  63. package/dist/graph/middlewares/tool-validation-middleware.js +61 -0
  64. package/dist/graph/prompt-composer.d.ts +69 -0
  65. package/dist/graph/prompt-composer.d.ts.map +1 -0
  66. package/dist/graph/prompt-composer.js +315 -0
  67. package/dist/graph/state.d.ts +65 -0
  68. package/dist/graph/state.d.ts.map +1 -0
  69. package/dist/graph/state.js +60 -0
  70. package/dist/graph/sub-agent-fallback.d.ts +56 -0
  71. package/dist/graph/sub-agent-fallback.d.ts.map +1 -0
  72. package/dist/graph/sub-agent-fallback.js +79 -0
  73. package/dist/graph/subagent-as-tool.d.ts +77 -0
  74. package/dist/graph/subagent-as-tool.d.ts.map +1 -0
  75. package/dist/graph/subagent-as-tool.js +197 -0
  76. package/dist/graph/wrap-plugin-tool.d.ts +28 -0
  77. package/dist/graph/wrap-plugin-tool.d.ts.map +1 -0
  78. package/dist/graph/wrap-plugin-tool.js +30 -0
  79. package/dist/index.d.ts +33 -0
  80. package/dist/index.d.ts.map +1 -0
  81. package/dist/index.js +28 -0
  82. package/dist/llm/index.d.ts +2 -0
  83. package/dist/llm/index.d.ts.map +1 -0
  84. package/dist/llm/index.js +1 -0
  85. package/dist/llm/llm-provider.d.ts +41 -0
  86. package/dist/llm/llm-provider.d.ts.map +1 -0
  87. package/dist/llm/llm-provider.js +130 -0
  88. package/dist/manifest/index.d.ts +6 -0
  89. package/dist/manifest/index.d.ts.map +1 -0
  90. package/dist/manifest/index.js +3 -0
  91. package/dist/manifest/schema.d.ts +31 -0
  92. package/dist/manifest/schema.d.ts.map +1 -0
  93. package/dist/manifest/schema.js +44 -0
  94. package/dist/manifest/tier1-renderer.d.ts +31 -0
  95. package/dist/manifest/tier1-renderer.d.ts.map +1 -0
  96. package/dist/manifest/tier1-renderer.js +68 -0
  97. package/dist/manifest/validator.d.ts +34 -0
  98. package/dist/manifest/validator.d.ts.map +1 -0
  99. package/dist/manifest/validator.js +111 -0
  100. package/dist/matrix/checkpointer/matrix-upload-utils.d.ts +66 -0
  101. package/dist/matrix/checkpointer/matrix-upload-utils.d.ts.map +1 -0
  102. package/dist/matrix/checkpointer/matrix-upload-utils.js +228 -0
  103. package/dist/matrix/checkpointer/type.d.ts +4 -0
  104. package/dist/matrix/checkpointer/type.d.ts.map +1 -0
  105. package/dist/matrix/checkpointer/type.js +1 -0
  106. package/dist/matrix/checkpointer/user-matrix-sqlite-sync-service.module.d.ts +3 -0
  107. package/dist/matrix/checkpointer/user-matrix-sqlite-sync-service.module.d.ts.map +1 -0
  108. package/dist/matrix/checkpointer/user-matrix-sqlite-sync-service.module.js +22 -0
  109. package/dist/matrix/checkpointer/user-matrix-sqlite-sync-service.service.d.ts +93 -0
  110. package/dist/matrix/checkpointer/user-matrix-sqlite-sync-service.service.d.ts.map +1 -0
  111. package/dist/matrix/checkpointer/user-matrix-sqlite-sync-service.service.js +856 -0
  112. package/dist/matrix/room-membership.d.ts +11 -0
  113. package/dist/matrix/room-membership.d.ts.map +1 -0
  114. package/dist/matrix/room-membership.js +33 -0
  115. package/dist/meta-tools/index.d.ts +28 -0
  116. package/dist/meta-tools/index.d.ts.map +1 -0
  117. package/dist/meta-tools/index.js +24 -0
  118. package/dist/meta-tools/list-capabilities.d.ts +12 -0
  119. package/dist/meta-tools/list-capabilities.d.ts.map +1 -0
  120. package/dist/meta-tools/list-capabilities.js +55 -0
  121. package/dist/meta-tools/load-capability.d.ts +24 -0
  122. package/dist/meta-tools/load-capability.d.ts.map +1 -0
  123. package/dist/meta-tools/load-capability.js +82 -0
  124. package/dist/modules/auth/auth-header.middleware.d.ts +37 -0
  125. package/dist/modules/auth/auth-header.middleware.d.ts.map +1 -0
  126. package/dist/modules/auth/auth-header.middleware.js +115 -0
  127. package/dist/modules/auth/auth.module.d.ts +9 -0
  128. package/dist/modules/auth/auth.module.d.ts.map +1 -0
  129. package/dist/modules/auth/auth.module.js +27 -0
  130. package/dist/modules/auth/index.d.ts +3 -0
  131. package/dist/modules/auth/index.d.ts.map +1 -0
  132. package/dist/modules/auth/index.js +2 -0
  133. package/dist/modules/auth/validate-ucan-delegation.d.ts +31 -0
  134. package/dist/modules/auth/validate-ucan-delegation.d.ts.map +1 -0
  135. package/dist/modules/auth/validate-ucan-delegation.js +36 -0
  136. package/dist/modules/blob-store/blob-store.module.d.ts +10 -0
  137. package/dist/modules/blob-store/blob-store.module.d.ts.map +1 -0
  138. package/dist/modules/blob-store/blob-store.module.js +25 -0
  139. package/dist/modules/blob-store/blob-store.service.d.ts +66 -0
  140. package/dist/modules/blob-store/blob-store.service.d.ts.map +1 -0
  141. package/dist/modules/blob-store/blob-store.service.js +108 -0
  142. package/dist/modules/blob-store/index.d.ts +3 -0
  143. package/dist/modules/blob-store/index.d.ts.map +1 -0
  144. package/dist/modules/blob-store/index.js +2 -0
  145. package/dist/modules/health/health.controller.d.ts +18 -0
  146. package/dist/modules/health/health.controller.d.ts.map +1 -0
  147. package/dist/modules/health/health.controller.js +48 -0
  148. package/dist/modules/health/health.module.d.ts +8 -0
  149. package/dist/modules/health/health.module.d.ts.map +1 -0
  150. package/dist/modules/health/health.module.js +21 -0
  151. package/dist/modules/index.d.ts +8 -0
  152. package/dist/modules/index.d.ts.map +1 -0
  153. package/dist/modules/index.js +6 -0
  154. package/dist/modules/messages/__test-fixtures__/deps.d.ts +41 -0
  155. package/dist/modules/messages/__test-fixtures__/deps.d.ts.map +1 -0
  156. package/dist/modules/messages/__test-fixtures__/deps.js +73 -0
  157. package/dist/modules/messages/__test-fixtures__/fake-agent.d.ts +27 -0
  158. package/dist/modules/messages/__test-fixtures__/fake-agent.d.ts.map +1 -0
  159. package/dist/modules/messages/__test-fixtures__/fake-agent.js +41 -0
  160. package/dist/modules/messages/__test-fixtures__/fake-response.d.ts +29 -0
  161. package/dist/modules/messages/__test-fixtures__/fake-response.d.ts.map +1 -0
  162. package/dist/modules/messages/__test-fixtures__/fake-response.js +55 -0
  163. package/dist/modules/messages/agent-builder.d.ts +64 -0
  164. package/dist/modules/messages/agent-builder.d.ts.map +1 -0
  165. package/dist/modules/messages/agent-builder.js +219 -0
  166. package/dist/modules/messages/batch-invoker.d.ts +36 -0
  167. package/dist/modules/messages/batch-invoker.d.ts.map +1 -0
  168. package/dist/modules/messages/batch-invoker.js +58 -0
  169. package/dist/modules/messages/dto/list-messages.dto.d.ts +4 -0
  170. package/dist/modules/messages/dto/list-messages.dto.d.ts.map +1 -0
  171. package/dist/modules/messages/dto/list-messages.dto.js +17 -0
  172. package/dist/modules/messages/dto/send-message.dto.d.ts +73 -0
  173. package/dist/modules/messages/dto/send-message.dto.d.ts.map +1 -0
  174. package/dist/modules/messages/dto/send-message.dto.js +318 -0
  175. package/dist/modules/messages/file-processing-credit-sink.port.d.ts +20 -0
  176. package/dist/modules/messages/file-processing-credit-sink.port.d.ts.map +1 -0
  177. package/dist/modules/messages/file-processing-credit-sink.port.js +1 -0
  178. package/dist/modules/messages/file-processing.service.d.ts +195 -0
  179. package/dist/modules/messages/file-processing.service.d.ts.map +1 -0
  180. package/dist/modules/messages/file-processing.service.js +1278 -0
  181. package/dist/modules/messages/homeserver-cache.d.ts +11 -0
  182. package/dist/modules/messages/homeserver-cache.d.ts.map +1 -0
  183. package/dist/modules/messages/homeserver-cache.js +31 -0
  184. package/dist/modules/messages/matrix-listener-bridge.d.ts +63 -0
  185. package/dist/modules/messages/matrix-listener-bridge.d.ts.map +1 -0
  186. package/dist/modules/messages/matrix-listener-bridge.js +280 -0
  187. package/dist/modules/messages/messages.controller.d.ts +13 -0
  188. package/dist/modules/messages/messages.controller.d.ts.map +1 -0
  189. package/dist/modules/messages/messages.controller.js +95 -0
  190. package/dist/modules/messages/messages.module.d.ts +3 -0
  191. package/dist/modules/messages/messages.module.d.ts.map +1 -0
  192. package/dist/modules/messages/messages.module.js +75 -0
  193. package/dist/modules/messages/messages.service.d.ts +112 -0
  194. package/dist/modules/messages/messages.service.d.ts.map +1 -0
  195. package/dist/modules/messages/messages.service.js +279 -0
  196. package/dist/modules/messages/oracle-runtime-bundle.d.ts +38 -0
  197. package/dist/modules/messages/oracle-runtime-bundle.d.ts.map +1 -0
  198. package/dist/modules/messages/oracle-runtime-bundle.js +40 -0
  199. package/dist/modules/messages/post-message-syncer.d.ts +30 -0
  200. package/dist/modules/messages/post-message-syncer.d.ts.map +1 -0
  201. package/dist/modules/messages/post-message-syncer.js +73 -0
  202. package/dist/modules/messages/request-preparer.d.ts +53 -0
  203. package/dist/modules/messages/request-preparer.d.ts.map +1 -0
  204. package/dist/modules/messages/request-preparer.js +139 -0
  205. package/dist/modules/messages/sse-stream-runner.d.ts +73 -0
  206. package/dist/modules/messages/sse-stream-runner.d.ts.map +1 -0
  207. package/dist/modules/messages/sse-stream-runner.js +352 -0
  208. package/dist/modules/messages/sse.utils.d.ts +29 -0
  209. package/dist/modules/messages/sse.utils.d.ts.map +1 -0
  210. package/dist/modules/messages/sse.utils.js +77 -0
  211. package/dist/modules/messages/user-context-fetcher.d.ts +41 -0
  212. package/dist/modules/messages/user-context-fetcher.d.ts.map +1 -0
  213. package/dist/modules/messages/user-context-fetcher.js +117 -0
  214. package/dist/modules/secrets/index.d.ts +2 -0
  215. package/dist/modules/secrets/index.d.ts.map +1 -0
  216. package/dist/modules/secrets/index.js +1 -0
  217. package/dist/modules/secrets/secrets.service.d.ts +29 -0
  218. package/dist/modules/secrets/secrets.service.d.ts.map +1 -0
  219. package/dist/modules/secrets/secrets.service.js +107 -0
  220. package/dist/modules/sessions/dto/create-session.dto.d.ts +6 -0
  221. package/dist/modules/sessions/dto/create-session.dto.d.ts.map +1 -0
  222. package/dist/modules/sessions/dto/create-session.dto.js +5 -0
  223. package/dist/modules/sessions/dto/delete-session.dto.d.ts +6 -0
  224. package/dist/modules/sessions/dto/delete-session.dto.d.ts.map +1 -0
  225. package/dist/modules/sessions/dto/delete-session.dto.js +5 -0
  226. package/dist/modules/sessions/dto/list-sessions.dto.d.ts +7 -0
  227. package/dist/modules/sessions/dto/list-sessions.dto.d.ts.map +1 -0
  228. package/dist/modules/sessions/dto/list-sessions.dto.js +6 -0
  229. package/dist/modules/sessions/session-history-processor.service.d.ts +48 -0
  230. package/dist/modules/sessions/session-history-processor.service.d.ts.map +1 -0
  231. package/dist/modules/sessions/session-history-processor.service.js +254 -0
  232. package/dist/modules/sessions/sessions.controller.d.ts +13 -0
  233. package/dist/modules/sessions/sessions.controller.d.ts.map +1 -0
  234. package/dist/modules/sessions/sessions.controller.js +113 -0
  235. package/dist/modules/sessions/sessions.module.d.ts +3 -0
  236. package/dist/modules/sessions/sessions.module.d.ts.map +1 -0
  237. package/dist/modules/sessions/sessions.module.js +49 -0
  238. package/dist/modules/sessions/sessions.service.d.ts +23 -0
  239. package/dist/modules/sessions/sessions.service.d.ts.map +1 -0
  240. package/dist/modules/sessions/sessions.service.js +168 -0
  241. package/dist/modules/subscription/subscription.middleware.d.ts +37 -0
  242. package/dist/modules/subscription/subscription.middleware.d.ts.map +1 -0
  243. package/dist/modules/subscription/subscription.middleware.js +141 -0
  244. package/dist/modules/subscription/subscription.module.d.ts +12 -0
  245. package/dist/modules/subscription/subscription.module.d.ts.map +1 -0
  246. package/dist/modules/subscription/subscription.module.js +26 -0
  247. package/dist/modules/throttler/throttler.module.d.ts +11 -0
  248. package/dist/modules/throttler/throttler.module.d.ts.map +1 -0
  249. package/dist/modules/throttler/throttler.module.js +32 -0
  250. package/dist/modules/ucan/index.d.ts +7 -0
  251. package/dist/modules/ucan/index.d.ts.map +1 -0
  252. package/dist/modules/ucan/index.js +6 -0
  253. package/dist/modules/ucan/ucan.config.d.ts +87 -0
  254. package/dist/modules/ucan/ucan.config.d.ts.map +1 -0
  255. package/dist/modules/ucan/ucan.config.js +114 -0
  256. package/dist/modules/ucan/ucan.module.d.ts +29 -0
  257. package/dist/modules/ucan/ucan.module.d.ts.map +1 -0
  258. package/dist/modules/ucan/ucan.module.js +46 -0
  259. package/dist/modules/ucan/ucan.service.d.ts +129 -0
  260. package/dist/modules/ucan/ucan.service.d.ts.map +1 -0
  261. package/dist/modules/ucan/ucan.service.js +582 -0
  262. package/dist/modules/ws/emitter.d.ts +12 -0
  263. package/dist/modules/ws/emitter.d.ts.map +1 -0
  264. package/dist/modules/ws/emitter.js +12 -0
  265. package/dist/modules/ws/ws.gateway.d.ts +34 -0
  266. package/dist/modules/ws/ws.gateway.d.ts.map +1 -0
  267. package/dist/modules/ws/ws.gateway.js +241 -0
  268. package/dist/modules/ws/ws.module.d.ts +3 -0
  269. package/dist/modules/ws/ws.module.d.ts.map +1 -0
  270. package/dist/modules/ws/ws.module.js +21 -0
  271. package/dist/modules/ws/ws.service.d.ts +25 -0
  272. package/dist/modules/ws/ws.service.d.ts.map +1 -0
  273. package/dist/modules/ws/ws.service.js +113 -0
  274. package/dist/plugin-api/define-plugin.d.ts +19 -0
  275. package/dist/plugin-api/define-plugin.d.ts.map +1 -0
  276. package/dist/plugin-api/define-plugin.js +25 -0
  277. package/dist/plugin-api/oracle-plugin.d.ts +92 -0
  278. package/dist/plugin-api/oracle-plugin.d.ts.map +1 -0
  279. package/dist/plugin-api/oracle-plugin.js +15 -0
  280. package/dist/plugin-api/tool-helper.d.ts +33 -0
  281. package/dist/plugin-api/tool-helper.d.ts.map +1 -0
  282. package/dist/plugin-api/tool-helper.js +40 -0
  283. package/dist/plugin-api/types.d.ts +378 -0
  284. package/dist/plugin-api/types.d.ts.map +1 -0
  285. package/dist/plugin-api/types.js +1 -0
  286. package/dist/plugins/agui/agui-agent.d.ts +10 -0
  287. package/dist/plugins/agui/agui-agent.d.ts.map +1 -0
  288. package/dist/plugins/agui/agui-agent.js +110 -0
  289. package/dist/plugins/agui/agui.plugin.d.ts +16 -0
  290. package/dist/plugins/agui/agui.plugin.d.ts.map +1 -0
  291. package/dist/plugins/agui/agui.plugin.js +117 -0
  292. package/dist/plugins/agui/index.d.ts +3 -0
  293. package/dist/plugins/agui/index.d.ts.map +1 -0
  294. package/dist/plugins/agui/index.js +2 -0
  295. package/dist/plugins/composio/composio-tools.d.ts +59 -0
  296. package/dist/plugins/composio/composio-tools.d.ts.map +1 -0
  297. package/dist/plugins/composio/composio-tools.js +88 -0
  298. package/dist/plugins/composio/composio-ucan.d.ts +14 -0
  299. package/dist/plugins/composio/composio-ucan.d.ts.map +1 -0
  300. package/dist/plugins/composio/composio-ucan.js +32 -0
  301. package/dist/plugins/composio/composio.plugin.d.ts +45 -0
  302. package/dist/plugins/composio/composio.plugin.d.ts.map +1 -0
  303. package/dist/plugins/composio/composio.plugin.js +116 -0
  304. package/dist/plugins/composio/index.d.ts +4 -0
  305. package/dist/plugins/composio/index.d.ts.map +1 -0
  306. package/dist/plugins/composio/index.js +3 -0
  307. package/dist/plugins/credits/claim-processing.module.d.ts +28 -0
  308. package/dist/plugins/credits/claim-processing.module.d.ts.map +1 -0
  309. package/dist/plugins/credits/claim-processing.module.js +37 -0
  310. package/dist/plugins/credits/claim-processing.service.d.ts +92 -0
  311. package/dist/plugins/credits/claim-processing.service.d.ts.map +1 -0
  312. package/dist/plugins/credits/claim-processing.service.js +406 -0
  313. package/dist/plugins/credits/credits-middleware.d.ts +23 -0
  314. package/dist/plugins/credits/credits-middleware.d.ts.map +1 -0
  315. package/dist/plugins/credits/credits-middleware.js +154 -0
  316. package/dist/plugins/credits/credits.plugin.d.ts +55 -0
  317. package/dist/plugins/credits/credits.plugin.d.ts.map +1 -0
  318. package/dist/plugins/credits/credits.plugin.js +95 -0
  319. package/dist/plugins/credits/file-processing-sink.module.d.ts +18 -0
  320. package/dist/plugins/credits/file-processing-sink.module.d.ts.map +1 -0
  321. package/dist/plugins/credits/file-processing-sink.module.js +56 -0
  322. package/dist/plugins/credits/index.d.ts +8 -0
  323. package/dist/plugins/credits/index.d.ts.map +1 -0
  324. package/dist/plugins/credits/index.js +7 -0
  325. package/dist/plugins/credits/subscription-sink.module.d.ts +23 -0
  326. package/dist/plugins/credits/subscription-sink.module.d.ts.map +1 -0
  327. package/dist/plugins/credits/subscription-sink.module.js +54 -0
  328. package/dist/plugins/credits/token-limiter.d.ts +139 -0
  329. package/dist/plugins/credits/token-limiter.d.ts.map +1 -0
  330. package/dist/plugins/credits/token-limiter.js +302 -0
  331. package/dist/plugins/domain-indexer/domain-indexer-agent.d.ts +7 -0
  332. package/dist/plugins/domain-indexer/domain-indexer-agent.d.ts.map +1 -0
  333. package/dist/plugins/domain-indexer/domain-indexer-agent.js +48 -0
  334. package/dist/plugins/domain-indexer/domain-indexer-tools.d.ts +8 -0
  335. package/dist/plugins/domain-indexer/domain-indexer-tools.d.ts.map +1 -0
  336. package/dist/plugins/domain-indexer/domain-indexer-tools.js +194 -0
  337. package/dist/plugins/domain-indexer/domain-indexer.plugin.d.ts +20 -0
  338. package/dist/plugins/domain-indexer/domain-indexer.plugin.d.ts.map +1 -0
  339. package/dist/plugins/domain-indexer/domain-indexer.plugin.js +78 -0
  340. package/dist/plugins/domain-indexer/index.d.ts +2 -0
  341. package/dist/plugins/domain-indexer/index.d.ts.map +1 -0
  342. package/dist/plugins/domain-indexer/index.js +1 -0
  343. package/dist/plugins/editor/apply-sandbox-output.d.ts +33 -0
  344. package/dist/plugins/editor/apply-sandbox-output.d.ts.map +1 -0
  345. package/dist/plugins/editor/apply-sandbox-output.js +302 -0
  346. package/dist/plugins/editor/block-actions.d.ts +84 -0
  347. package/dist/plugins/editor/block-actions.d.ts.map +1 -0
  348. package/dist/plugins/editor/block-actions.js +471 -0
  349. package/dist/plugins/editor/blocknote-helper.d.ts +147 -0
  350. package/dist/plugins/editor/blocknote-helper.d.ts.map +1 -0
  351. package/dist/plugins/editor/blocknote-helper.js +542 -0
  352. package/dist/plugins/editor/blocknote-tools.d.ts +364 -0
  353. package/dist/plugins/editor/blocknote-tools.d.ts.map +1 -0
  354. package/dist/plugins/editor/blocknote-tools.js +2123 -0
  355. package/dist/plugins/editor/editor-agent.d.ts +47 -0
  356. package/dist/plugins/editor/editor-agent.d.ts.map +1 -0
  357. package/dist/plugins/editor/editor-agent.js +158 -0
  358. package/dist/plugins/editor/editor-mx.d.ts +56 -0
  359. package/dist/plugins/editor/editor-mx.d.ts.map +1 -0
  360. package/dist/plugins/editor/editor-mx.js +100 -0
  361. package/dist/plugins/editor/editor.plugin.d.ts +32 -0
  362. package/dist/plugins/editor/editor.plugin.d.ts.map +1 -0
  363. package/dist/plugins/editor/editor.plugin.js +189 -0
  364. package/dist/plugins/editor/index.d.ts +6 -0
  365. package/dist/plugins/editor/index.d.ts.map +1 -0
  366. package/dist/plugins/editor/index.js +5 -0
  367. package/dist/plugins/editor/mint-invocation-tool.d.ts +72 -0
  368. package/dist/plugins/editor/mint-invocation-tool.d.ts.map +1 -0
  369. package/dist/plugins/editor/mint-invocation-tool.js +173 -0
  370. package/dist/plugins/editor/page-functions.d.ts +100 -0
  371. package/dist/plugins/editor/page-functions.d.ts.map +1 -0
  372. package/dist/plugins/editor/page-functions.js +317 -0
  373. package/dist/plugins/editor/page-tools.d.ts +75 -0
  374. package/dist/plugins/editor/page-tools.d.ts.map +1 -0
  375. package/dist/plugins/editor/page-tools.js +238 -0
  376. package/dist/plugins/editor/prompts.d.ts +22 -0
  377. package/dist/plugins/editor/prompts.d.ts.map +1 -0
  378. package/dist/plugins/editor/prompts.js +451 -0
  379. package/dist/plugins/editor/provider.d.ts +101 -0
  380. package/dist/plugins/editor/provider.d.ts.map +1 -0
  381. package/dist/plugins/editor/provider.js +249 -0
  382. package/dist/plugins/editor/standalone-editor-tool.d.ts +17 -0
  383. package/dist/plugins/editor/standalone-editor-tool.d.ts.map +1 -0
  384. package/dist/plugins/editor/standalone-editor-tool.js +136 -0
  385. package/dist/plugins/editor/survey-helpers.d.ts +112 -0
  386. package/dist/plugins/editor/survey-helpers.d.ts.map +1 -0
  387. package/dist/plugins/editor/survey-helpers.js +358 -0
  388. package/dist/plugins/firecrawl/firecrawl-agent.d.ts +7 -0
  389. package/dist/plugins/firecrawl/firecrawl-agent.d.ts.map +1 -0
  390. package/dist/plugins/firecrawl/firecrawl-agent.js +84 -0
  391. package/dist/plugins/firecrawl/firecrawl-tools.d.ts +37 -0
  392. package/dist/plugins/firecrawl/firecrawl-tools.d.ts.map +1 -0
  393. package/dist/plugins/firecrawl/firecrawl-tools.js +129 -0
  394. package/dist/plugins/firecrawl/firecrawl.plugin.d.ts +32 -0
  395. package/dist/plugins/firecrawl/firecrawl.plugin.d.ts.map +1 -0
  396. package/dist/plugins/firecrawl/firecrawl.plugin.js +69 -0
  397. package/dist/plugins/firecrawl/index.d.ts +3 -0
  398. package/dist/plugins/firecrawl/index.d.ts.map +1 -0
  399. package/dist/plugins/firecrawl/index.js +2 -0
  400. package/dist/plugins/index.d.ts +47 -0
  401. package/dist/plugins/index.d.ts.map +1 -0
  402. package/dist/plugins/index.js +69 -0
  403. package/dist/plugins/matrix-group-chats/channel-memory.module.d.ts +7 -0
  404. package/dist/plugins/matrix-group-chats/channel-memory.module.d.ts.map +1 -0
  405. package/dist/plugins/matrix-group-chats/channel-memory.module.js +22 -0
  406. package/dist/plugins/matrix-group-chats/channel-memory.repo.d.ts +62 -0
  407. package/dist/plugins/matrix-group-chats/channel-memory.repo.d.ts.map +1 -0
  408. package/dist/plugins/matrix-group-chats/channel-memory.repo.js +311 -0
  409. package/dist/plugins/matrix-group-chats/channel-memory.service.d.ts +89 -0
  410. package/dist/plugins/matrix-group-chats/channel-memory.service.d.ts.map +1 -0
  411. package/dist/plugins/matrix-group-chats/channel-memory.service.js +565 -0
  412. package/dist/plugins/matrix-group-chats/channel-memory.summarizer.d.ts +18 -0
  413. package/dist/plugins/matrix-group-chats/channel-memory.summarizer.d.ts.map +1 -0
  414. package/dist/plugins/matrix-group-chats/channel-memory.summarizer.js +128 -0
  415. package/dist/plugins/matrix-group-chats/channel-memory.types.d.ts +50 -0
  416. package/dist/plugins/matrix-group-chats/channel-memory.types.d.ts.map +1 -0
  417. package/dist/plugins/matrix-group-chats/channel-memory.types.js +2 -0
  418. package/dist/plugins/matrix-group-chats/guard.d.ts +83 -0
  419. package/dist/plugins/matrix-group-chats/guard.d.ts.map +1 -0
  420. package/dist/plugins/matrix-group-chats/guard.js +138 -0
  421. package/dist/plugins/matrix-group-chats/index.d.ts +59 -0
  422. package/dist/plugins/matrix-group-chats/index.d.ts.map +1 -0
  423. package/dist/plugins/matrix-group-chats/index.js +140 -0
  424. package/dist/plugins/matrix-group-chats/middleware.d.ts +31 -0
  425. package/dist/plugins/matrix-group-chats/middleware.d.ts.map +1 -0
  426. package/dist/plugins/matrix-group-chats/middleware.js +186 -0
  427. package/dist/plugins/matrix-group-chats/power-levels.d.ts +15 -0
  428. package/dist/plugins/matrix-group-chats/power-levels.d.ts.map +1 -0
  429. package/dist/plugins/matrix-group-chats/power-levels.js +36 -0
  430. package/dist/plugins/matrix-group-chats/room-info.d.ts +23 -0
  431. package/dist/plugins/matrix-group-chats/room-info.d.ts.map +1 -0
  432. package/dist/plugins/matrix-group-chats/room-info.js +34 -0
  433. package/dist/plugins/matrix-group-chats/tools.d.ts +8 -0
  434. package/dist/plugins/matrix-group-chats/tools.d.ts.map +1 -0
  435. package/dist/plugins/matrix-group-chats/tools.js +154 -0
  436. package/dist/plugins/memory/index.d.ts +5 -0
  437. package/dist/plugins/memory/index.d.ts.map +1 -0
  438. package/dist/plugins/memory/index.js +3 -0
  439. package/dist/plugins/memory/memory-tools.d.ts +52 -0
  440. package/dist/plugins/memory/memory-tools.d.ts.map +1 -0
  441. package/dist/plugins/memory/memory-tools.js +88 -0
  442. package/dist/plugins/memory/memory-ucan.d.ts +17 -0
  443. package/dist/plugins/memory/memory-ucan.d.ts.map +1 -0
  444. package/dist/plugins/memory/memory-ucan.js +43 -0
  445. package/dist/plugins/memory/memory.plugin.d.ts +51 -0
  446. package/dist/plugins/memory/memory.plugin.d.ts.map +1 -0
  447. package/dist/plugins/memory/memory.plugin.js +76 -0
  448. package/dist/plugins/memory/types.d.ts +75 -0
  449. package/dist/plugins/memory/types.d.ts.map +1 -0
  450. package/dist/plugins/memory/types.js +2 -0
  451. package/dist/plugins/portal/index.d.ts +3 -0
  452. package/dist/plugins/portal/index.d.ts.map +1 -0
  453. package/dist/plugins/portal/index.js +2 -0
  454. package/dist/plugins/portal/portal-agent.d.ts +9 -0
  455. package/dist/plugins/portal/portal-agent.d.ts.map +1 -0
  456. package/dist/plugins/portal/portal-agent.js +70 -0
  457. package/dist/plugins/portal/portal.plugin.d.ts +16 -0
  458. package/dist/plugins/portal/portal.plugin.d.ts.map +1 -0
  459. package/dist/plugins/portal/portal.plugin.js +115 -0
  460. package/dist/plugins/sandbox/index.d.ts +3 -0
  461. package/dist/plugins/sandbox/index.d.ts.map +1 -0
  462. package/dist/plugins/sandbox/index.js +2 -0
  463. package/dist/plugins/sandbox/sandbox-mcp.d.ts +46 -0
  464. package/dist/plugins/sandbox/sandbox-mcp.d.ts.map +1 -0
  465. package/dist/plugins/sandbox/sandbox-mcp.js +80 -0
  466. package/dist/plugins/sandbox/sandbox-write-blob.d.ts +22 -0
  467. package/dist/plugins/sandbox/sandbox-write-blob.d.ts.map +1 -0
  468. package/dist/plugins/sandbox/sandbox-write-blob.js +80 -0
  469. package/dist/plugins/sandbox/sandbox.plugin.d.ts +80 -0
  470. package/dist/plugins/sandbox/sandbox.plugin.d.ts.map +1 -0
  471. package/dist/plugins/sandbox/sandbox.plugin.js +204 -0
  472. package/dist/plugins/skills/index.d.ts +3 -0
  473. package/dist/plugins/skills/index.d.ts.map +1 -0
  474. package/dist/plugins/skills/index.js +2 -0
  475. package/dist/plugins/skills/skills-tools.d.ts +20 -0
  476. package/dist/plugins/skills/skills-tools.d.ts.map +1 -0
  477. package/dist/plugins/skills/skills-tools.js +204 -0
  478. package/dist/plugins/skills/skills-ucan.d.ts +24 -0
  479. package/dist/plugins/skills/skills-ucan.d.ts.map +1 -0
  480. package/dist/plugins/skills/skills-ucan.js +28 -0
  481. package/dist/plugins/skills/skills.plugin.d.ts +37 -0
  482. package/dist/plugins/skills/skills.plugin.d.ts.map +1 -0
  483. package/dist/plugins/skills/skills.plugin.js +82 -0
  484. package/dist/plugins/slack/index.d.ts +4 -0
  485. package/dist/plugins/slack/index.d.ts.map +1 -0
  486. package/dist/plugins/slack/index.js +3 -0
  487. package/dist/plugins/slack/slack.module.d.ts +9 -0
  488. package/dist/plugins/slack/slack.module.d.ts.map +1 -0
  489. package/dist/plugins/slack/slack.module.js +27 -0
  490. package/dist/plugins/slack/slack.plugin.d.ts +30 -0
  491. package/dist/plugins/slack/slack.plugin.d.ts.map +1 -0
  492. package/dist/plugins/slack/slack.plugin.js +40 -0
  493. package/dist/plugins/slack/slack.service.d.ts +32 -0
  494. package/dist/plugins/slack/slack.service.d.ts.map +1 -0
  495. package/dist/plugins/slack/slack.service.js +157 -0
  496. package/dist/plugins/user-preferences/index.d.ts +4 -0
  497. package/dist/plugins/user-preferences/index.d.ts.map +1 -0
  498. package/dist/plugins/user-preferences/index.js +3 -0
  499. package/dist/plugins/user-preferences/service/user-preferences.service.d.ts +61 -0
  500. package/dist/plugins/user-preferences/service/user-preferences.service.d.ts.map +1 -0
  501. package/dist/plugins/user-preferences/service/user-preferences.service.js +105 -0
  502. package/dist/plugins/user-preferences/user-preferences-http.module.d.ts +10 -0
  503. package/dist/plugins/user-preferences/user-preferences-http.module.d.ts.map +1 -0
  504. package/dist/plugins/user-preferences/user-preferences-http.module.js +23 -0
  505. package/dist/plugins/user-preferences/user-preferences-tool.d.ts +22 -0
  506. package/dist/plugins/user-preferences/user-preferences-tool.d.ts.map +1 -0
  507. package/dist/plugins/user-preferences/user-preferences-tool.js +103 -0
  508. package/dist/plugins/user-preferences/user-preferences.controller.d.ts +18 -0
  509. package/dist/plugins/user-preferences/user-preferences.controller.d.ts.map +1 -0
  510. package/dist/plugins/user-preferences/user-preferences.controller.js +72 -0
  511. package/dist/plugins/user-preferences/user-preferences.plugin.d.ts +27 -0
  512. package/dist/plugins/user-preferences/user-preferences.plugin.d.ts.map +1 -0
  513. package/dist/plugins/user-preferences/user-preferences.plugin.js +66 -0
  514. package/dist/registries/config-schema-registry.d.ts +24 -0
  515. package/dist/registries/config-schema-registry.d.ts.map +1 -0
  516. package/dist/registries/config-schema-registry.js +27 -0
  517. package/dist/registries/index.d.ts +13 -0
  518. package/dist/registries/index.d.ts.map +1 -0
  519. package/dist/registries/index.js +6 -0
  520. package/dist/registries/manifest-registry.d.ts +49 -0
  521. package/dist/registries/manifest-registry.d.ts.map +1 -0
  522. package/dist/registries/manifest-registry.js +53 -0
  523. package/dist/registries/middleware-registry.d.ts +41 -0
  524. package/dist/registries/middleware-registry.d.ts.map +1 -0
  525. package/dist/registries/middleware-registry.js +52 -0
  526. package/dist/registries/shared-state-registry.d.ts +41 -0
  527. package/dist/registries/shared-state-registry.d.ts.map +1 -0
  528. package/dist/registries/shared-state-registry.js +65 -0
  529. package/dist/registries/subagent-registry.d.ts +55 -0
  530. package/dist/registries/subagent-registry.d.ts.map +1 -0
  531. package/dist/registries/subagent-registry.js +106 -0
  532. package/dist/registries/test-fixtures.d.ts +47 -0
  533. package/dist/registries/test-fixtures.d.ts.map +1 -0
  534. package/dist/registries/test-fixtures.js +168 -0
  535. package/dist/registries/tool-registry.d.ts +74 -0
  536. package/dist/registries/tool-registry.d.ts.map +1 -0
  537. package/dist/registries/tool-registry.js +130 -0
  538. package/dist/runtime-context/ambient.d.ts +118 -0
  539. package/dist/runtime-context/ambient.d.ts.map +1 -0
  540. package/dist/runtime-context/ambient.js +1 -0
  541. package/dist/runtime-context/build-plugin.d.ts +20 -0
  542. package/dist/runtime-context/build-plugin.d.ts.map +1 -0
  543. package/dist/runtime-context/build-plugin.js +16 -0
  544. package/dist/runtime-context/build-runtime.d.ts +60 -0
  545. package/dist/runtime-context/build-runtime.d.ts.map +1 -0
  546. package/dist/runtime-context/build-runtime.js +81 -0
  547. package/dist/testing/create-test-runtime.d.ts +95 -0
  548. package/dist/testing/create-test-runtime.d.ts.map +1 -0
  549. package/dist/testing/create-test-runtime.js +302 -0
  550. package/dist/testing/index.d.ts +5 -0
  551. package/dist/testing/index.d.ts.map +1 -0
  552. package/dist/testing/index.js +5 -0
  553. package/dist/testing/integration/chat-client.d.ts +143 -0
  554. package/dist/testing/integration/chat-client.d.ts.map +1 -0
  555. package/dist/testing/integration/chat-client.js +238 -0
  556. package/dist/testing/integration/harness.d.ts +189 -0
  557. package/dist/testing/integration/harness.d.ts.map +1 -0
  558. package/dist/testing/integration/harness.js +461 -0
  559. package/dist/testing/integration/index.d.ts +14 -0
  560. package/dist/testing/integration/index.d.ts.map +1 -0
  561. package/dist/testing/integration/index.js +18 -0
  562. package/dist/testing/integration/setup.d.ts +2 -0
  563. package/dist/testing/integration/setup.d.ts.map +1 -0
  564. package/dist/testing/integration/setup.js +41 -0
  565. package/dist/testing/integration/sse-parser.d.ts +99 -0
  566. package/dist/testing/integration/sse-parser.d.ts.map +1 -0
  567. package/dist/testing/integration/sse-parser.js +125 -0
  568. package/dist/testing/integration/ucan.d.ts +74 -0
  569. package/dist/testing/integration/ucan.d.ts.map +1 -0
  570. package/dist/testing/integration/ucan.js +95 -0
  571. package/dist/testing/integration/wait-for-matrix-loaded.d.ts +19 -0
  572. package/dist/testing/integration/wait-for-matrix-loaded.d.ts.map +1 -0
  573. package/dist/testing/integration/wait-for-matrix-loaded.js +31 -0
  574. package/dist/testing/mocks.d.ts +64 -0
  575. package/dist/testing/mocks.d.ts.map +1 -0
  576. package/dist/testing/mocks.js +141 -0
  577. package/dist/testing/nest-doubles.d.ts +10 -0
  578. package/dist/testing/nest-doubles.d.ts.map +1 -0
  579. package/dist/testing/nest-doubles.js +19 -0
  580. package/dist/utils/emoji.d.ts +3 -0
  581. package/dist/utils/emoji.d.ts.map +1 -0
  582. package/dist/utils/emoji.js +36 -0
  583. package/package.json +102 -0
@@ -0,0 +1,59 @@
1
+ import type { PluginTool } from '../../plugin-api/types.js';
2
+ /**
3
+ * Minimal shape of a LangChain `DynamicStructuredTool` the composio session
4
+ * returns. The `schema` field is typed broadly because `DynamicStructuredTool`
5
+ * permits either a Zod schema or a raw JSON schema; at runtime the composio
6
+ * `LangchainProvider` always emits Zod (via `jsonSchemaToZodSchema`), but the
7
+ * structural interface stays wide so a non-conforming SDK shape doesn't crash
8
+ * the build. {@link toolSchema} narrows the value when wrapping each entry.
9
+ */
10
+ export interface ComposioSessionTool {
11
+ readonly name: string;
12
+ readonly description: string;
13
+ readonly schema: unknown;
14
+ invoke(input: unknown): Promise<unknown>;
15
+ }
16
+ /**
17
+ * Factory that opens a Composio session for the current user and returns the
18
+ * dynamic tool list. Injected into the plugin so tests can stub the SDK out
19
+ * entirely.
20
+ */
21
+ export type ComposioSessionFactory = (args: ComposioSessionFactoryArgs) => Promise<ComposioSessionTool[]>;
22
+ export interface ComposioSessionFactoryArgs {
23
+ /** Resolved at boot from the plugin's configSchema. */
24
+ apiKey: string;
25
+ /** Resolved at boot from the plugin's configSchema. */
26
+ baseUrl: string;
27
+ /** UCAN invocation token, minted per request — forwarded as a header. */
28
+ ucanInvocation: string;
29
+ /** User identifier; composio uses it as the session `user_id`. */
30
+ userId: string;
31
+ /** Optional `x-ixo-network` header value forwarded to composio. */
32
+ network?: string;
33
+ }
34
+ /**
35
+ * Default {@link ComposioSessionFactory}: opens a real Composio session using
36
+ * `@composio/core` + `@composio/langchain`.
37
+ */
38
+ export declare function createDefaultComposioSessionFactory(): ComposioSessionFactory;
39
+ export interface CreateComposioToolsOptions {
40
+ apiKey: string;
41
+ baseUrl: string;
42
+ ucanInvocation: string;
43
+ userId: string;
44
+ network?: string;
45
+ /** Override the session factory — defaults to the real SDK client. */
46
+ sessionFactory?: ComposioSessionFactory;
47
+ }
48
+ /**
49
+ * Build the composio plugin's request-time tool list.
50
+ *
51
+ * 1. Opens a composio session via the configured factory.
52
+ * 2. Wraps each returned tool into a {@link PluginTool} that proxies args
53
+ * to the session tool's `invoke`.
54
+ *
55
+ * Returns an empty list if the session factory yields no tools (e.g. the
56
+ * user has no connected accounts and composio omits the management tools).
57
+ */
58
+ export declare function createComposioTools(opts: CreateComposioToolsOptions): Promise<PluginTool[]>;
59
+ //# sourceMappingURL=composio-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composio-tools.d.ts","sourceRoot":"","sources":["../../../src/plugins/composio/composio-tools.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAkB,MAAM,2BAA2B,CAAC;AAE5E;;;;;;;GAOG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1C;AAED;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAAG,CACnC,IAAI,EAAE,0BAA0B,KAC7B,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;AAEpC,MAAM,WAAW,0BAA0B;IACzC,uDAAuD;IACvD,MAAM,EAAE,MAAM,CAAC;IACf,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,yEAAyE;IACzE,cAAc,EAAE,MAAM,CAAC;IACvB,kEAAkE;IAClE,MAAM,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAgB,mCAAmC,IAAI,sBAAsB,CAiB5E;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sEAAsE;IACtE,cAAc,CAAC,EAAE,sBAAsB,CAAC;CACzC;AAiDD;;;;;;;;;GASG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,0BAA0B,GAC/B,OAAO,CAAC,UAAU,EAAE,CAAC,CAavB"}
@@ -0,0 +1,88 @@
1
+ import { Composio } from '@composio/core';
2
+ import { LangchainProvider } from '@composio/langchain';
3
+ import { z } from 'zod';
4
+ /**
5
+ * Default {@link ComposioSessionFactory}: opens a real Composio session using
6
+ * `@composio/core` + `@composio/langchain`.
7
+ */
8
+ export function createDefaultComposioSessionFactory() {
9
+ return async ({ apiKey, baseUrl, ucanInvocation, userId, network }) => {
10
+ const defaultHeaders = {
11
+ 'x-ucan-invocation': ucanInvocation,
12
+ };
13
+ if (network)
14
+ defaultHeaders['x-ixo-network'] = network;
15
+ const composio = new Composio({
16
+ apiKey,
17
+ provider: new LangchainProvider(),
18
+ baseURL: baseUrl,
19
+ defaultHeaders,
20
+ });
21
+ const session = await composio.create(userId);
22
+ const tools = await session.tools();
23
+ return tools;
24
+ };
25
+ }
26
+ /**
27
+ * Permissive fallback schema for composio tools whose `schema` field is not
28
+ * a Zod schema (e.g. a raw JSON schema from a non-default provider). Used by
29
+ * {@link toolSchema} when narrowing fails so the agent still sees the tool
30
+ * with a valid descriptor — the composio backend itself validates args.
31
+ */
32
+ const FALLBACK_ARGS_SCHEMA = z.record(z.string(), z.unknown());
33
+ /**
34
+ * Narrow a composio session tool's `schema` field to a Zod schema.
35
+ *
36
+ * The default `LangchainProvider` always converts the upstream JSON Schema to
37
+ * a Zod schema, so this branch is the hot path. Custom providers that emit
38
+ * raw JSON Schema (rare) fall through to the permissive record schema so the
39
+ * tool is still discoverable.
40
+ */
41
+ function toolSchema(schema) {
42
+ return schema instanceof z.ZodType ? schema : FALLBACK_ARGS_SCHEMA;
43
+ }
44
+ /**
45
+ * Wrap a single composio session tool as a {@link PluginTool}. The handler
46
+ * forwards the args through the underlying `invoke` and propagates errors so
47
+ * the agent surfaces a clean failure rather than a silent empty response.
48
+ */
49
+ function wrapAsPluginTool(sessionTool) {
50
+ return {
51
+ name: sessionTool.name,
52
+ description: sessionTool.description,
53
+ schema: toolSchema(sessionTool.schema),
54
+ handler: async (args, ctx) => {
55
+ try {
56
+ return await sessionTool.invoke(args);
57
+ }
58
+ catch (error) {
59
+ const detail = error instanceof Error
60
+ ? `${error.name}: ${error.message}`
61
+ : String(error);
62
+ ctx.logger.error(`[composio] tool "${sessionTool.name}" failed: ${detail}`);
63
+ throw error;
64
+ }
65
+ },
66
+ };
67
+ }
68
+ /**
69
+ * Build the composio plugin's request-time tool list.
70
+ *
71
+ * 1. Opens a composio session via the configured factory.
72
+ * 2. Wraps each returned tool into a {@link PluginTool} that proxies args
73
+ * to the session tool's `invoke`.
74
+ *
75
+ * Returns an empty list if the session factory yields no tools (e.g. the
76
+ * user has no connected accounts and composio omits the management tools).
77
+ */
78
+ export async function createComposioTools(opts) {
79
+ const sessionFactory = opts.sessionFactory ?? createDefaultComposioSessionFactory();
80
+ const sessionTools = await sessionFactory({
81
+ apiKey: opts.apiKey,
82
+ baseUrl: opts.baseUrl,
83
+ ucanInvocation: opts.ucanInvocation,
84
+ userId: opts.userId,
85
+ network: opts.network,
86
+ });
87
+ return sessionTools.map(wrapAsPluginTool);
88
+ }
@@ -0,0 +1,14 @@
1
+ import type { RuntimeContext } from '../../plugin-api/types.js';
2
+ /**
3
+ * Mint a UCAN invocation token addressed to the composio-worker.
4
+ *
5
+ * 1. Resolves the composio-worker DID via `runCtx.ucan.resolveServiceDid`
6
+ * (delegates the did:web lookup + cache to the Tier-0 UCAN service).
7
+ * 2. Mints an `ixo:sandbox` invocation using the user's signing key.
8
+ *
9
+ * Returns `null` when DID resolution fails, when minting throws, or when no
10
+ * signing material is available. Callers degrade silently — the composio
11
+ * client is simply not constructed and the plugin contributes no tools.
12
+ */
13
+ export declare function mintComposioInvocation(runCtx: RuntimeContext, composioBaseUrl: string): Promise<string | null>;
14
+ //# sourceMappingURL=composio-ucan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composio-ucan.d.ts","sourceRoot":"","sources":["../../../src/plugins/composio/composio-ucan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAEhE;;;;;;;;;;GAUG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,cAAc,EACtB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAuBxB"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Mint a UCAN invocation token addressed to the composio-worker.
3
+ *
4
+ * 1. Resolves the composio-worker DID via `runCtx.ucan.resolveServiceDid`
5
+ * (delegates the did:web lookup + cache to the Tier-0 UCAN service).
6
+ * 2. Mints an `ixo:sandbox` invocation using the user's signing key.
7
+ *
8
+ * Returns `null` when DID resolution fails, when minting throws, or when no
9
+ * signing material is available. Callers degrade silently — the composio
10
+ * client is simply not constructed and the plugin contributes no tools.
11
+ */
12
+ export async function mintComposioInvocation(runCtx, composioBaseUrl) {
13
+ const composioDid = await runCtx.ucan.resolveServiceDid(composioBaseUrl);
14
+ if (!composioDid)
15
+ return null;
16
+ try {
17
+ // skipCache: the composio-worker enforces single-use replay protection
18
+ // per invocation CID (see composio-worker `lib/validation.ts`
19
+ // `createInvocationStore`, KV-backed, 120s default TTL). A cached
20
+ // invocation would be replayed on the second request and rejected with
21
+ // `401 REPLAY: Invocation has already been used`. Mint fresh every call.
22
+ const invocation = await runCtx.ucan.mintInvocation({ did: composioDid, capability: 'ixo:sandbox' }, { skipCache: true });
23
+ return invocation && invocation.length > 0 ? invocation : null;
24
+ }
25
+ catch (error) {
26
+ const detail = error instanceof Error
27
+ ? `${error.name}: ${error.message}`
28
+ : String(error);
29
+ runCtx.logger.warn(`[composio] failed to mint UCAN invocation: ${detail}`);
30
+ return null;
31
+ }
32
+ }
@@ -0,0 +1,45 @@
1
+ import { z } from 'zod';
2
+ import { OraclePlugin } from '../../plugin-api/oracle-plugin.js';
3
+ import type { PluginManifest, PluginTool, RuntimeContext } from '../../plugin-api/types.js';
4
+ import { type ComposioSessionFactory } from './composio-tools.js';
5
+ export interface ComposioPluginOptions {
6
+ /**
7
+ * Override the session factory — primarily for tests so they can skip the
8
+ * real `@composio/core` client and the network call it makes.
9
+ */
10
+ sessionFactory?: ComposioSessionFactory;
11
+ /**
12
+ * Override the UCAN minting step — primarily for tests so they can return
13
+ * a fixed token without invoking the real UCAN service.
14
+ */
15
+ mintInvocation?: (runCtx: RuntimeContext, baseUrl: string) => Promise<string | null>;
16
+ }
17
+ /**
18
+ * Composio plugin.
19
+ *
20
+ * Tools are discovered dynamically per request: the plugin mints a UCAN
21
+ * invocation addressed to the composio-worker, opens a session for the
22
+ * current user, and exposes each returned tool to the agent.
23
+ *
24
+ * Auth is UCAN-only — no Matrix-OpenID fallback. If minting fails (no
25
+ * signing key, no cached delegation, did:web unresolved) the plugin
26
+ * contributes zero tools and the agent simply does not see composio that
27
+ * request. Visibility is `on-demand` so the plugin is discoverable via
28
+ * `list_capabilities` rather than burning prompt budget every call.
29
+ */
30
+ export declare class ComposioPlugin extends OraclePlugin {
31
+ readonly name = "composio";
32
+ readonly version = "1.0.0";
33
+ readonly manifest: PluginManifest;
34
+ readonly configSchema: z.ZodObject<{
35
+ COMPOSIO_API_KEY: z.ZodString;
36
+ COMPOSIO_BASE_URL: z.ZodDefault<z.ZodURL>;
37
+ }, z.core.$strip>;
38
+ readonly autoDetectHint = "COMPOSIO_API_KEY";
39
+ private readonly sessionFactoryOverride?;
40
+ private readonly mintInvocationOverride?;
41
+ constructor(opts?: ComposioPluginOptions);
42
+ autoDetect(env: NodeJS.ProcessEnv): boolean;
43
+ getRequestTools(rtCtx: RuntimeContext): Promise<PluginTool[]>;
44
+ }
45
+ //# sourceMappingURL=composio.plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composio.plugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/composio/composio.plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,KAAK,EACV,cAAc,EACd,UAAU,EACV,cAAc,EACf,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,qBAAqB,CAAC;AAwD7B,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,cAAc,CAAC,EAAE,sBAAsB,CAAC;IACxC;;;OAGG;IACH,cAAc,CAAC,EAAE,CACf,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,MAAM,KACZ,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAC7B;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,cAAe,SAAQ,YAAY;IAC9C,QAAQ,CAAC,IAAI,cAAc;IAE3B,QAAQ,CAAC,OAAO,WAAW;IAE3B,QAAQ,CAAC,QAAQ,iBAAY;IAE7B,SAAkB,YAAY;;;sBAAgB;IAE9C,SAAkB,cAAc,sBAAsB;IAEtD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAyB;IACjE,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAGZ;gBAEhB,IAAI,GAAE,qBAA0B;IAMnC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO;IAIrC,eAAe,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;CAyC7E"}
@@ -0,0 +1,116 @@
1
+ import { z } from 'zod';
2
+ import { OraclePlugin } from '../../plugin-api/oracle-plugin.js';
3
+ import { createComposioTools, } from './composio-tools.js';
4
+ import { mintComposioInvocation } from './composio-ucan.js';
5
+ const configSchema = z.object({
6
+ COMPOSIO_API_KEY: z.string().min(1, 'COMPOSIO_API_KEY must not be empty.'),
7
+ COMPOSIO_BASE_URL: z
8
+ .url('COMPOSIO_BASE_URL must be a valid HTTP(S) URL.')
9
+ .default('https://composio.ixo.earth'),
10
+ });
11
+ /**
12
+ * Sibling env vars the plugin reads but does not own. `NETWORK` is declared
13
+ * in the core base schema; the plugin forwards it as `x-ixo-network` when
14
+ * present so the composio-worker can route to the right IXO environment.
15
+ */
16
+ const siblingEnvSchema = z.object({
17
+ NETWORK: z.string().optional(),
18
+ });
19
+ const manifest = {
20
+ title: 'Composio',
21
+ summary: 'External SaaS tools (Gmail, GitHub, Linear, Slack, Google Calendar, Notion, Jira, HubSpot, hundreds more) invoked on behalf of the user through Composio.',
22
+ whenToUse: [
23
+ 'ALWAYS call `COMPOSIO_MANAGE_CONNECTIONS` first — before calling any other Composio tool — to verify the required toolkit is connected. If the response contains a `redirect_url`, show it as a clickable markdown link and stop; do not attempt the action.',
24
+ 'User asks to send, read, or search emails (Gmail, Outlook).',
25
+ 'User asks to create or modify issues, pull requests, or stars in a tracker (GitHub, Linear, Jira).',
26
+ 'User asks to manage calendar events, files, or documents in a SaaS app.',
27
+ 'No native skill covers the requested action — call `COMPOSIO_SEARCH_TOOLS` before giving up.',
28
+ ],
29
+ whenNotToUse: [
30
+ 'A native skill or sub-agent already covers the action — prefer the skill.',
31
+ 'Normal conversation or general question with no external SaaS interaction.',
32
+ 'NEVER write, guess, or fabricate any URL yourself — the only valid auth link is the `redirect_url` returned by `COMPOSIO_MANAGE_CONNECTIONS`. Typing a link from memory is forbidden.',
33
+ ],
34
+ examples: [
35
+ {
36
+ user: 'Create a Linear issue for this bug',
37
+ thought: 'Must verify Linear is connected before touching any Linear tool.',
38
+ tool: 'COMPOSIO_MANAGE_CONNECTIONS',
39
+ args: { toolkit: 'linear' },
40
+ },
41
+ {
42
+ user: 'Send an email to the team',
43
+ thought: 'Must verify Gmail is connected before calling any Gmail tool.',
44
+ tool: 'COMPOSIO_MANAGE_CONNECTIONS',
45
+ args: { toolkit: 'gmail' },
46
+ },
47
+ ],
48
+ tags: ['composio', 'integration', 'saas', 'tools'],
49
+ category: 'integration',
50
+ visibility: 'on-demand',
51
+ stability: 'stable',
52
+ };
53
+ /**
54
+ * Composio plugin.
55
+ *
56
+ * Tools are discovered dynamically per request: the plugin mints a UCAN
57
+ * invocation addressed to the composio-worker, opens a session for the
58
+ * current user, and exposes each returned tool to the agent.
59
+ *
60
+ * Auth is UCAN-only — no Matrix-OpenID fallback. If minting fails (no
61
+ * signing key, no cached delegation, did:web unresolved) the plugin
62
+ * contributes zero tools and the agent simply does not see composio that
63
+ * request. Visibility is `on-demand` so the plugin is discoverable via
64
+ * `list_capabilities` rather than burning prompt budget every call.
65
+ */
66
+ export class ComposioPlugin extends OraclePlugin {
67
+ name = 'composio';
68
+ version = '1.0.0';
69
+ manifest = manifest;
70
+ configSchema = configSchema;
71
+ autoDetectHint = 'COMPOSIO_API_KEY';
72
+ sessionFactoryOverride;
73
+ mintInvocationOverride;
74
+ constructor(opts = {}) {
75
+ super();
76
+ this.sessionFactoryOverride = opts.sessionFactory;
77
+ this.mintInvocationOverride = opts.mintInvocation;
78
+ }
79
+ autoDetect(env) {
80
+ return Boolean(env.COMPOSIO_API_KEY);
81
+ }
82
+ async getRequestTools(rtCtx) {
83
+ const parsed = configSchema.safeParse(rtCtx.config);
84
+ if (!parsed.success) {
85
+ rtCtx.logger.warn(`[composio] skipping — invalid configuration: ${parsed.error.issues
86
+ .map((i) => `${i.path.join('.') || '(root)'}: ${i.message}`)
87
+ .join('; ')}`);
88
+ return [];
89
+ }
90
+ const siblings = siblingEnvSchema.safeParse(rtCtx.config);
91
+ const network = siblings.success ? siblings.data.NETWORK : undefined;
92
+ const mint = this.mintInvocationOverride ?? mintComposioInvocation;
93
+ const ucanInvocation = await mint(rtCtx, parsed.data.COMPOSIO_BASE_URL);
94
+ if (!ucanInvocation) {
95
+ rtCtx.logger.warn('[composio] skipping — UCAN invocation could not be minted.');
96
+ return [];
97
+ }
98
+ try {
99
+ return await createComposioTools({
100
+ apiKey: parsed.data.COMPOSIO_API_KEY,
101
+ baseUrl: parsed.data.COMPOSIO_BASE_URL,
102
+ ucanInvocation,
103
+ userId: rtCtx.user.did,
104
+ network,
105
+ sessionFactory: this.sessionFactoryOverride,
106
+ });
107
+ }
108
+ catch (error) {
109
+ const detail = error instanceof Error
110
+ ? `${error.name}: ${error.message}`
111
+ : String(error);
112
+ rtCtx.logger.error(`[composio] failed to load tools: ${detail}`);
113
+ return [];
114
+ }
115
+ }
116
+ }
@@ -0,0 +1,4 @@
1
+ export { ComposioPlugin, type ComposioPluginOptions, } from './composio.plugin.js';
2
+ export { createComposioTools, createDefaultComposioSessionFactory, type ComposioSessionFactory, type ComposioSessionFactoryArgs, type ComposioSessionTool, type CreateComposioToolsOptions, } from './composio-tools.js';
3
+ export { mintComposioInvocation } from './composio-ucan.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/composio/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,KAAK,qBAAqB,GAC3B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,mBAAmB,EACnB,mCAAmC,EACnC,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,EAC/B,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,GAChC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { ComposioPlugin, } from './composio.plugin.js';
2
+ export { createComposioTools, createDefaultComposioSessionFactory, } from './composio-tools.js';
3
+ export { mintComposioInvocation } from './composio-ucan.js';
@@ -0,0 +1,28 @@
1
+ import { type DynamicModule } from '@nestjs/common';
2
+ import type { Redis } from 'ioredis';
3
+ import { type CreditsNetwork } from './token-limiter.js';
4
+ /**
5
+ * Options for `ClaimProcessingModule.register`.
6
+ *
7
+ * `TokenLimiter` is stateless — it routes calls to Redis and holds no
8
+ * mutable state outside it. Two instances pointing at the same Redis are
9
+ * functionally identical, so this module builds its own from the supplied
10
+ * Redis client instead of trying to share a single instance across plugins.
11
+ */
12
+ export interface ClaimProcessingModuleOptions {
13
+ /** Same `ioredis` client the credits plugin uses. */
14
+ redis: Redis;
15
+ /** Network — drives the credits-per-USD multiplier inside `TokenLimiter`. */
16
+ network: CreditsNetwork;
17
+ /** Whether `DISABLE_CREDITS` is set — relaxes the overdraft guard. */
18
+ disableCredits?: boolean;
19
+ }
20
+ /**
21
+ * NestJS module shipping the claim-processing cron service. Imported by the
22
+ * runtime via `CreditsPlugin.getNestModules()` when the plugin is loaded
23
+ * with a Redis client. Silent / agent-invisible — no controller, no tools.
24
+ */
25
+ export declare class ClaimProcessingModule {
26
+ static register(opts: ClaimProcessingModuleOptions): DynamicModule;
27
+ }
28
+ //# sourceMappingURL=claim-processing.module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claim-processing.module.d.ts","sourceRoot":"","sources":["../../../src/plugins/credits/claim-processing.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAyB,MAAM,gBAAgB,CAAC;AAC3E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAKrC,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEvE;;;;;;;GAOG;AACH,MAAM,WAAW,4BAA4B;IAC3C,qDAAqD;IACrD,KAAK,EAAE,KAAK,CAAC;IACb,6EAA6E;IAC7E,OAAO,EAAE,cAAc,CAAC;IACxB,sEAAsE;IACtE,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;GAIG;AACH,qBACa,qBAAqB;IAChC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,4BAA4B,GAAG,aAAa;CAkBnE"}
@@ -0,0 +1,37 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var ClaimProcessingModule_1;
8
+ import { Module } from '@nestjs/common';
9
+ import { CLAIM_PROCESSING_TOKEN_LIMITER, ClaimProcessingService, } from './claim-processing.service.js';
10
+ import { TokenLimiter } from './token-limiter.js';
11
+ /**
12
+ * NestJS module shipping the claim-processing cron service. Imported by the
13
+ * runtime via `CreditsPlugin.getNestModules()` when the plugin is loaded
14
+ * with a Redis client. Silent / agent-invisible — no controller, no tools.
15
+ */
16
+ let ClaimProcessingModule = ClaimProcessingModule_1 = class ClaimProcessingModule {
17
+ static register(opts) {
18
+ const tokenLimiter = new TokenLimiter({
19
+ redis: opts.redis,
20
+ network: opts.network,
21
+ disableCredits: opts.disableCredits ?? false,
22
+ });
23
+ const tokenLimiterProvider = {
24
+ provide: CLAIM_PROCESSING_TOKEN_LIMITER,
25
+ useValue: tokenLimiter,
26
+ };
27
+ return {
28
+ module: ClaimProcessingModule_1,
29
+ providers: [tokenLimiterProvider, ClaimProcessingService],
30
+ exports: [ClaimProcessingService],
31
+ };
32
+ }
33
+ };
34
+ ClaimProcessingModule = ClaimProcessingModule_1 = __decorate([
35
+ Module({})
36
+ ], ClaimProcessingModule);
37
+ export { ClaimProcessingModule };
@@ -0,0 +1,92 @@
1
+ import { ConfigService } from '@nestjs/config';
2
+ import { UcanService } from '../../modules/ucan/ucan.service.js';
3
+ import { TokenLimiter } from './token-limiter.js';
4
+ /** Token used to inject the credits-plugin TokenLimiter instance into the service. */
5
+ export declare const CLAIM_PROCESSING_TOKEN_LIMITER: unique symbol;
6
+ export interface UsageClaim {
7
+ amount: number;
8
+ oracleDid: string;
9
+ oracleEntityDid: string;
10
+ userDid: string;
11
+ service: string;
12
+ oracleName: string;
13
+ }
14
+ interface ClaimProcessingConfig {
15
+ ORACLE_DID: string;
16
+ ORACLE_ENTITY_DID: string;
17
+ ORACLE_NAME: string;
18
+ NETWORK: 'mainnet' | 'testnet' | 'devnet';
19
+ SQLITE_DATABASE_PATH: string;
20
+ MATRIX_ORACLE_ADMIN_ACCESS_TOKEN: string;
21
+ MATRIX_ACCOUNT_ROOM_ID?: string;
22
+ MATRIX_VALUE_PIN: string;
23
+ SECP_MNEMONIC: string;
24
+ SUBSCRIPTION_URL?: string;
25
+ DISABLE_CREDITS?: boolean;
26
+ }
27
+ /**
28
+ * Submits held-credit claims to the chain on a fixed cron. Pulls users with
29
+ * non-zero held amounts from the credits-plugin `TokenLimiter`, then runs a
30
+ * LangGraph `entrypoint`+`task` workflow per user:
31
+ *
32
+ * 1. submit intent (escrow payment)
33
+ * 2. sign + save the claim to Matrix
34
+ * 3. submit the claim on-chain
35
+ * 4. notify the subscription API
36
+ *
37
+ * Splits oversized batches against the oracle's per-claim max. Internal,
38
+ * agent-invisible — `claimProcessingPlugin` declares `visibility: 'silent'`
39
+ * and ships no tools.
40
+ */
41
+ export declare class ClaimProcessingService {
42
+ private readonly configService;
43
+ private readonly ucanService;
44
+ private readonly logger;
45
+ private readonly denom;
46
+ private readonly claimProcessingCheckpointer;
47
+ private readonly claimProcessingDbPath;
48
+ private readonly tokenLimiter;
49
+ private readonly retryPolicy;
50
+ constructor(configService: ConfigService<ClaimProcessingConfig>, ucanService: UcanService, tokenLimiter?: TokenLimiter);
51
+ /**
52
+ * Slice `heldAmount` into chunks no larger than `maxAmount`. Used when the
53
+ * total held amount exceeds the oracle's per-claim ceiling.
54
+ */
55
+ private calculateSplits;
56
+ /** Step 1 of the workflow: pay the user's claim collection escrow. */
57
+ private submitIntentTask;
58
+ /** Step 2: build a signed claim and stash it in the oracle's Matrix room. */
59
+ private saveToMatrixTask;
60
+ /** Step 3: submit the signed claim on-chain against the user's collection. */
61
+ private submitToChainTask;
62
+ /** Step 4: notify the subscription API so it can update the user's balance. */
63
+ private sendToSubsApiTask;
64
+ /**
65
+ * Per-call factory so the langgraph `entrypoint` always picks up the
66
+ * checkpointer initialized in `constructor`.
67
+ */
68
+ private getProcessClaimWorkflow;
69
+ /**
70
+ * Cron-triggered processor — walks users above the minimum held-credits
71
+ * threshold, splits oversized batches against the oracle's per-claim max,
72
+ * and runs the 4-step claim workflow for each. Errors are logged and
73
+ * isolated per-user so one user's failure doesn't stall the batch.
74
+ */
75
+ processHeldAmount(): Promise<void>;
76
+ /**
77
+ * Invoke the LangGraph workflow for a single amount (full or split chunk)
78
+ * and reconcile the held-amount / pending-claim records on success.
79
+ */
80
+ private processAmount;
81
+ }
82
+ /**
83
+ * Submit a saved claim to the subscription-API webhook so the upstream
84
+ * service can mark it credited. Kept inline (rather than a separate file)
85
+ * since it's only used here and trivial.
86
+ */
87
+ export declare function submitClaimToSubscriptionApi(subscriptionApiUrl: string, claimId: string): Promise<{
88
+ approved: boolean;
89
+ reason?: string;
90
+ }>;
91
+ export {};
92
+ //# sourceMappingURL=claim-processing.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claim-processing.service.d.ts","sourceRoot":"","sources":["../../../src/plugins/credits/claim-processing.service.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAY/C,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,sFAAsF;AACtF,eAAO,MAAM,8BAA8B,eAE1C,CAAC;AAEF,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAQD,UAAU,qBAAqB;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;IAC1C,oBAAoB,EAAE,MAAM,CAAC;IAC7B,gCAAgC,EAAE,MAAM,CAAC;IACzC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AA0BD;;;;;;;;;;;;;GAaG;AACH,qBACa,sBAAsB;IAc/B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAd9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2C;IAClE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAC9B,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAsB;IAClE,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAS;IAC/C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAE5C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAI1B;gBAGiB,aAAa,EAAE,aAAa,CAAC,qBAAqB,CAAC,EACnD,WAAW,EAAE,WAAW,EAGzC,YAAY,CAAC,EAAE,YAAY;IA0C7B;;;OAGG;IACH,OAAO,CAAC,eAAe;IAevB,sEAAsE;IACtE,OAAO,CAAC,gBAAgB,CAgDtB;IAEF,6EAA6E;IAC7E,OAAO,CAAC,gBAAgB,CA+DtB;IAEF,8EAA8E;IAC9E,OAAO,CAAC,iBAAiB,CAwCvB;IAEF,+EAA+E;IAC/E,OAAO,CAAC,iBAAiB,CAkBvB;IAEF;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAgB/B;;;;;OAKG;IAEG,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAsIxC;;;OAGG;YACW,aAAa;CAyE5B;AAED;;;;GAIG;AACH,wBAAsB,4BAA4B,CAChD,kBAAkB,EAAE,MAAM,EAC1B,OAAO,EAAE,MAAM,GACd,OAAO,CAAC;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA0BjD"}