@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,24 @@
1
+ import type { RuntimeContext } from '../../plugin-api/types.js';
2
+ /**
3
+ * Mints an `ixo:skills` UCAN invocation for outbound calls to the skills
4
+ * registry. The invocation lets ai-skills surface the caller's own published
5
+ * private skills alongside the public registry rows.
6
+ *
7
+ * Returns `undefined` when:
8
+ * - the registry's did:web document cannot be resolved (e.g. dev box, no
9
+ * network), or
10
+ * - the UCAN service cannot mint an invocation (no signing key, no cached
11
+ * delegation, etc).
12
+ *
13
+ * The skills tools degrade to public-only mode when no token is available —
14
+ * we never throw, we just skip the authorization header.
15
+ */
16
+ export type SkillsUcanBuilder = (skillsServiceUrl: string, runCtx: RuntimeContext) => Promise<string | undefined>;
17
+ /**
18
+ * Default {@link SkillsUcanBuilder}. Uses the same primitives as the sandbox
19
+ * plugin: `runCtx.ucan.resolveServiceDid` for did:web resolution +
20
+ * `runCtx.ucan.mintInvocation` to obtain the bearer token. Failures are
21
+ * logged at `warn` and swallowed — the caller falls back to public-only.
22
+ */
23
+ export declare function createDefaultSkillsUcanBuilder(): SkillsUcanBuilder;
24
+ //# sourceMappingURL=skills-ucan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills-ucan.d.ts","sourceRoot":"","sources":["../../../src/plugins/skills/skills-ucan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAEhE;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAC9B,gBAAgB,EAAE,MAAM,EACxB,MAAM,EAAE,cAAc,KACnB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;AAEjC;;;;;GAKG;AACH,wBAAgB,8BAA8B,IAAI,iBAAiB,CAuBlE"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Default {@link SkillsUcanBuilder}. Uses the same primitives as the sandbox
3
+ * plugin: `runCtx.ucan.resolveServiceDid` for did:web resolution +
4
+ * `runCtx.ucan.mintInvocation` to obtain the bearer token. Failures are
5
+ * logged at `warn` and swallowed — the caller falls back to public-only.
6
+ */
7
+ export function createDefaultSkillsUcanBuilder() {
8
+ return async (skillsServiceUrl, runCtx) => {
9
+ const skillsDid = await runCtx.ucan.resolveServiceDid(skillsServiceUrl);
10
+ if (!skillsDid) {
11
+ return undefined;
12
+ }
13
+ try {
14
+ const invocation = await runCtx.ucan.mintInvocation({
15
+ did: skillsDid,
16
+ capability: 'ixo:skills',
17
+ });
18
+ return invocation || undefined;
19
+ }
20
+ catch (error) {
21
+ const detail = error instanceof Error
22
+ ? `${error.name}: ${error.message}`
23
+ : String(error);
24
+ runCtx.logger.warn(`[skills] failed to mint skills UCAN invocation: ${detail}`);
25
+ return undefined;
26
+ }
27
+ };
28
+ }
@@ -0,0 +1,37 @@
1
+ import { z } from 'zod';
2
+ import { OraclePlugin } from '../../plugin-api/oracle-plugin.js';
3
+ import type { PluginContext, PluginManifest, PluginTool } from '../../plugin-api/types.js';
4
+ import { type SkillsUcanBuilder } from './skills-ucan.js';
5
+ export interface SkillsPluginOptions {
6
+ /**
7
+ * Override the UCAN minting helper. Tests inject a stub here so the plugin
8
+ * never touches did:web resolution / the UCAN service; production code
9
+ * lets the default builder do the network work.
10
+ */
11
+ ucanBuilder?: SkillsUcanBuilder;
12
+ }
13
+ /**
14
+ * Skills plugin.
15
+ *
16
+ * Exposes `list_skills` and `search_skills` over the IXO skills registry
17
+ * (ai-skills). Both tools mint an `ixo:skills` UCAN invocation per call so
18
+ * the registry can surface the caller's own published private skills
19
+ * alongside the public ones. When minting fails the tools degrade to
20
+ * public-only — they never throw on auth issues.
21
+ *
22
+ * Hard-depends on the sandbox plugin: skill *execution* runs through
23
+ * `sandbox_run`, which the sandbox plugin owns. Listing/search is HTTP-only.
24
+ */
25
+ export declare class SkillsPlugin extends OraclePlugin {
26
+ readonly name = "skills";
27
+ readonly version = "1.0.0";
28
+ readonly manifest: PluginManifest;
29
+ readonly dependsOn: string[];
30
+ readonly configSchema: z.ZodObject<{
31
+ SKILLS_CAPSULES_BASE_URL: z.ZodDefault<z.ZodURL>;
32
+ }, z.core.$strip>;
33
+ private readonly ucanBuilderOverride?;
34
+ constructor(opts?: SkillsPluginOptions);
35
+ getTools(ctx: PluginContext): PluginTool[];
36
+ }
37
+ //# sourceMappingURL=skills.plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills.plugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/skills/skills.plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,UAAU,EACX,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,kBAAkB,CAAC;AA4C1B,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,WAAW,CAAC,EAAE,iBAAiB,CAAC;CACjC;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,YAAa,SAAQ,YAAY;IAC5C,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,OAAO,WAAW;IAC3B,QAAQ,CAAC,QAAQ,iBAAY;IAC7B,SAAkB,SAAS,WAAe;IAC1C,SAAkB,YAAY;;sBAAgB;IAE9C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAoB;gBAE7C,IAAI,GAAE,mBAAwB;IAKjC,QAAQ,CAAC,GAAG,EAAE,aAAa,GAAG,UAAU,EAAE;CAwBpD"}
@@ -0,0 +1,82 @@
1
+ import { z } from 'zod';
2
+ import { OraclePlugin } from '../../plugin-api/oracle-plugin.js';
3
+ import { createSkillsTools } from './skills-tools.js';
4
+ import { createDefaultSkillsUcanBuilder, } from './skills-ucan.js';
5
+ const DEFAULT_SKILLS_BASE_URL = 'https://capsules.skills.ixo.earth';
6
+ const configSchema = z.object({
7
+ SKILLS_CAPSULES_BASE_URL: z.url().default(DEFAULT_SKILLS_BASE_URL),
8
+ });
9
+ /**
10
+ * Sibling env vars read at request time. `NETWORK` is owned by the core
11
+ * (Tier-0) base env schema and forwarded to ai-skills as the `X-IXO-Network`
12
+ * routing hint. Optional here — absent values fall back to `mainnet`.
13
+ */
14
+ const siblingEnvSchema = z.object({
15
+ NETWORK: z.enum(['mainnet', 'testnet', 'devnet']).optional(),
16
+ });
17
+ const manifest = {
18
+ title: 'Skills',
19
+ summary: "Discover IXO skill capsules — the caller's published private skills first, then the public registry.",
20
+ whenToUse: [
21
+ 'User asks "what skills are available?" or "what can you do?".',
22
+ 'User asks the agent to find a skill for a specific task ("a skill for invoices", "is there a skill for KYC?").',
23
+ 'Before running a skill via the sandbox, list or search to obtain its cid + path.',
24
+ ],
25
+ whenNotToUse: [
26
+ 'Executing a skill — that goes through the Sandbox (`sandbox_run`), not the skills tools.',
27
+ 'General web search (use Firecrawl).',
28
+ ],
29
+ examples: [
30
+ {
31
+ user: 'Do you have a skill that can generate an invoice?',
32
+ thought: 'Skill discovery — search the registry, then hand the cid+path off to sandbox_run for execution.',
33
+ tool: 'search_skills',
34
+ },
35
+ ],
36
+ tags: ['skills', 'capsules', 'registry', 'ucan'],
37
+ category: 'data',
38
+ visibility: 'always',
39
+ stability: 'stable',
40
+ };
41
+ /**
42
+ * Skills plugin.
43
+ *
44
+ * Exposes `list_skills` and `search_skills` over the IXO skills registry
45
+ * (ai-skills). Both tools mint an `ixo:skills` UCAN invocation per call so
46
+ * the registry can surface the caller's own published private skills
47
+ * alongside the public ones. When minting fails the tools degrade to
48
+ * public-only — they never throw on auth issues.
49
+ *
50
+ * Hard-depends on the sandbox plugin: skill *execution* runs through
51
+ * `sandbox_run`, which the sandbox plugin owns. Listing/search is HTTP-only.
52
+ */
53
+ export class SkillsPlugin extends OraclePlugin {
54
+ name = 'skills';
55
+ version = '1.0.0';
56
+ manifest = manifest;
57
+ dependsOn = ['sandbox'];
58
+ configSchema = configSchema;
59
+ ucanBuilderOverride;
60
+ constructor(opts = {}) {
61
+ super();
62
+ this.ucanBuilderOverride = opts.ucanBuilder;
63
+ }
64
+ getTools(ctx) {
65
+ const parsed = configSchema.safeParse(ctx.config);
66
+ if (!parsed.success) {
67
+ throw new Error(`skills: invalid configuration: ${parsed.error.issues
68
+ .map((i) => `${i.path.join('.') || '(root)'}: ${i.message}`)
69
+ .join('; ')}`);
70
+ }
71
+ const siblings = siblingEnvSchema.safeParse(ctx.config);
72
+ const network = siblings.success
73
+ ? (siblings.data.NETWORK ?? 'mainnet')
74
+ : 'mainnet';
75
+ const ucanBuilder = this.ucanBuilderOverride ?? createDefaultSkillsUcanBuilder();
76
+ return createSkillsTools({
77
+ baseUrl: parsed.data.SKILLS_CAPSULES_BASE_URL,
78
+ network,
79
+ ucanBuilder,
80
+ });
81
+ }
82
+ }
@@ -0,0 +1,4 @@
1
+ export { SlackPlugin } from './slack.plugin.js';
2
+ export { SlackModule } from './slack.module.js';
3
+ export { SlackService } from './slack.service.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/slack/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { SlackPlugin } from './slack.plugin.js';
2
+ export { SlackModule } from './slack.module.js';
3
+ export { SlackService } from './slack.service.js';
@@ -0,0 +1,9 @@
1
+ /**
2
+ * NestJS module shipping `SlackService`. Imported by `RuntimeAppModule` when
3
+ * the slack plugin is loaded — the plugin returns this class from its
4
+ * `getNestModules()` hook. `OnModuleInit` opens the Slack socket; the
5
+ * Tier-0 messages/sessions modules supply the DI it needs.
6
+ */
7
+ export declare class SlackModule {
8
+ }
9
+ //# sourceMappingURL=slack.module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slack.module.d.ts","sourceRoot":"","sources":["../../../src/plugins/slack/slack.module.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH,qBAMa,WAAW;CAAG"}
@@ -0,0 +1,27 @@
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
+ import { Global, Module } from '@nestjs/common';
8
+ import { MessagesModule } from '../../modules/messages/messages.module.js';
9
+ import { SessionsModule } from '../../modules/sessions/sessions.module.js';
10
+ import { SlackService } from './slack.service.js';
11
+ /**
12
+ * NestJS module shipping `SlackService`. Imported by `RuntimeAppModule` when
13
+ * the slack plugin is loaded — the plugin returns this class from its
14
+ * `getNestModules()` hook. `OnModuleInit` opens the Slack socket; the
15
+ * Tier-0 messages/sessions modules supply the DI it needs.
16
+ */
17
+ let SlackModule = class SlackModule {
18
+ };
19
+ SlackModule = __decorate([
20
+ Global(),
21
+ Module({
22
+ providers: [SlackService],
23
+ exports: [SlackService],
24
+ imports: [MessagesModule, SessionsModule],
25
+ })
26
+ ], SlackModule);
27
+ export { SlackModule };
@@ -0,0 +1,30 @@
1
+ import type { Type } from '@nestjs/common';
2
+ import { z } from 'zod';
3
+ import { OraclePlugin } from '../../plugin-api/oracle-plugin.js';
4
+ import type { PluginManifest } from '../../plugin-api/types.js';
5
+ /**
6
+ * Slack transport plugin. Ships its own NestJS module so the bot client can
7
+ * use `OnModuleInit`/`OnModuleDestroy` for socket-mode lifecycle and inject
8
+ * the Tier-0 services it needs (messages, sessions, cache). The plugin
9
+ * itself contributes no agent-visible tools — slack is purely a transport.
10
+ *
11
+ * Auto-detects via `SLACK_BOT_OAUTH_TOKEN`; if the token is missing the
12
+ * plugin is skipped at boot and no module is registered.
13
+ */
14
+ export declare class SlackPlugin extends OraclePlugin {
15
+ static readonly NAME = "slack";
16
+ readonly name = "slack";
17
+ readonly version = "1.0.0";
18
+ readonly manifest: PluginManifest;
19
+ readonly configSchema: z.ZodObject<{
20
+ SLACK_BOT_OAUTH_TOKEN: z.ZodString;
21
+ SLACK_APP_TOKEN: z.ZodOptional<z.ZodString>;
22
+ SLACK_USE_SOCKET_MODE: z.ZodDefault<z.ZodString>;
23
+ SLACK_MAX_RECONNECT_ATTEMPTS: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
24
+ SLACK_RECONNECT_DELAY_MS: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
25
+ }, z.core.$strip>;
26
+ readonly autoDetectHint = "SLACK_BOT_OAUTH_TOKEN";
27
+ autoDetect(env: NodeJS.ProcessEnv): boolean;
28
+ getNestModules(): Type[];
29
+ }
30
+ //# sourceMappingURL=slack.plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slack.plugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/slack/slack.plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAWhE;;;;;;;;GAQG;AACH,qBAAa,WAAY,SAAQ,YAAY;IAC3C,MAAM,CAAC,QAAQ,CAAC,IAAI,WAAW;IAE/B,QAAQ,CAAC,IAAI,WAAoB;IAEjC,QAAQ,CAAC,OAAO,WAAW;IAE3B,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAQ/B;IAEF,SAAkB,YAAY;;;;;;sBAAgB;IAE9C,SAAkB,cAAc,2BAA2B;IAElD,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO;IAI3C,cAAc,IAAI,IAAI,EAAE;CAGlC"}
@@ -0,0 +1,40 @@
1
+ import { z } from 'zod';
2
+ import { OraclePlugin } from '../../plugin-api/oracle-plugin.js';
3
+ import { SlackModule } from './slack.module.js';
4
+ const configSchema = z.object({
5
+ SLACK_BOT_OAUTH_TOKEN: z.string(),
6
+ SLACK_APP_TOKEN: z.string().optional(),
7
+ SLACK_USE_SOCKET_MODE: z.string().default('true'),
8
+ SLACK_MAX_RECONNECT_ATTEMPTS: z.coerce.number().default(10),
9
+ SLACK_RECONNECT_DELAY_MS: z.coerce.number().default(1000),
10
+ });
11
+ /**
12
+ * Slack transport plugin. Ships its own NestJS module so the bot client can
13
+ * use `OnModuleInit`/`OnModuleDestroy` for socket-mode lifecycle and inject
14
+ * the Tier-0 services it needs (messages, sessions, cache). The plugin
15
+ * itself contributes no agent-visible tools — slack is purely a transport.
16
+ *
17
+ * Auto-detects via `SLACK_BOT_OAUTH_TOKEN`; if the token is missing the
18
+ * plugin is skipped at boot and no module is registered.
19
+ */
20
+ export class SlackPlugin extends OraclePlugin {
21
+ static NAME = 'slack';
22
+ name = SlackPlugin.NAME;
23
+ version = '1.0.0';
24
+ manifest = {
25
+ title: 'Slack',
26
+ summary: 'Slack bot transport — runs as a NestJS module with socket-mode lifecycle.',
27
+ whenToUse: [],
28
+ visibility: 'silent',
29
+ stability: 'stable',
30
+ category: 'core',
31
+ };
32
+ configSchema = configSchema;
33
+ autoDetectHint = 'SLACK_BOT_OAUTH_TOKEN';
34
+ autoDetect(env) {
35
+ return Boolean(env.SLACK_BOT_OAUTH_TOKEN);
36
+ }
37
+ getNestModules() {
38
+ return [SlackModule];
39
+ }
40
+ }
@@ -0,0 +1,32 @@
1
+ import { type OnModuleDestroy, type OnModuleInit } from '@nestjs/common';
2
+ import { ConfigService } from '@nestjs/config';
3
+ import type { Cache } from 'cache-manager';
4
+ import { MessagesService } from '../../modules/messages/messages.service.js';
5
+ import { SessionsService } from '../../modules/sessions/sessions.service.js';
6
+ export declare class SlackService implements OnModuleInit, OnModuleDestroy {
7
+ private readonly configService;
8
+ private readonly messagesService;
9
+ private readonly cacheManager;
10
+ private readonly sessionsService;
11
+ private readonly logger;
12
+ private slackInstance?;
13
+ private readonly isConfigured;
14
+ constructor(configService: ConfigService, messagesService: MessagesService, cacheManager: Cache, sessionsService: SessionsService);
15
+ onModuleInit(): Promise<void>;
16
+ onModuleDestroy(): Promise<void>;
17
+ /** Connection status for health checks. */
18
+ getStatus(): {
19
+ isConnected: boolean;
20
+ connectionStats: {
21
+ isConnected: boolean;
22
+ reconnectAttempts: number;
23
+ maxReconnectAttempts: number;
24
+ mode: 'socket' | 'http';
25
+ };
26
+ isConfigured: boolean;
27
+ };
28
+ private getCachedSessionPerThread;
29
+ private getOrCreateSessionPerThread;
30
+ private onMessageHandler;
31
+ }
32
+ //# sourceMappingURL=slack.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slack.service.d.ts","sourceRoot":"","sources":["../../../src/plugins/slack/slack.service.ts"],"names":[],"mappings":"AAGA,OAAO,EAIL,KAAK,eAAe,EACpB,KAAK,YAAY,EAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAE7E,qBACa,YAAa,YAAW,YAAY,EAAE,eAAe;IAM9D,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,eAAe;IACT,OAAO,CAAC,QAAQ,CAAC,YAAY;IACpD,OAAO,CAAC,QAAQ,CAAC,eAAe;IARlC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiC;IACxD,OAAO,CAAC,aAAa,CAAC,CAAQ;IAC9B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;gBAGpB,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,EACT,YAAY,EAAE,KAAK,EAC1C,eAAe,EAAE,eAAe;IAiC7C,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAsB7B,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAYtC,2CAA2C;IAC3C,SAAS,IAAI;QACX,WAAW,EAAE,OAAO,CAAC;QACrB,eAAe,EAAE;YACf,WAAW,EAAE,OAAO,CAAC;YACrB,iBAAiB,EAAE,MAAM,CAAC;YAC1B,oBAAoB,EAAE,MAAM,CAAC;YAC7B,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;SACzB,CAAC;QACF,YAAY,EAAE,OAAO,CAAC;KACvB;YAqBa,yBAAyB;YAOzB,2BAA2B;IAgCzC,OAAO,CAAC,gBAAgB;CA8BzB"}
@@ -0,0 +1,157 @@
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 __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ var SlackService_1;
14
+ import { Slack } from '@ixo/slack';
15
+ import { CACHE_MANAGER } from '@nestjs/cache-manager';
16
+ import { Inject, Injectable, Logger, } from '@nestjs/common';
17
+ import { ConfigService } from '@nestjs/config';
18
+ import { MessagesService } from '../../modules/messages/messages.service.js';
19
+ import { SessionsService } from '../../modules/sessions/sessions.service.js';
20
+ let SlackService = SlackService_1 = class SlackService {
21
+ configService;
22
+ messagesService;
23
+ cacheManager;
24
+ sessionsService;
25
+ logger = new Logger(SlackService_1.name);
26
+ slackInstance;
27
+ isConfigured;
28
+ constructor(configService, messagesService, cacheManager, sessionsService) {
29
+ this.configService = configService;
30
+ this.messagesService = messagesService;
31
+ this.cacheManager = cacheManager;
32
+ this.sessionsService = sessionsService;
33
+ const botToken = configService.get('SLACK_BOT_OAUTH_TOKEN');
34
+ const appToken = configService.get('SLACK_APP_TOKEN');
35
+ const useSocketMode = true;
36
+ this.isConfigured = Boolean(botToken);
37
+ if (!botToken) {
38
+ this.logger.warn('SLACK_BOT_OAUTH_TOKEN not provided — Slack integration will be disabled');
39
+ return;
40
+ }
41
+ if (useSocketMode && !appToken) {
42
+ this.logger.error('SLACK_APP_TOKEN is required when SLACK_USE_SOCKET_MODE=true');
43
+ throw new Error('SLACK_APP_TOKEN is required when SLACK_USE_SOCKET_MODE=true');
44
+ }
45
+ try {
46
+ this.slackInstance = new Slack(botToken, appToken ?? '', {
47
+ useSocketMode,
48
+ });
49
+ }
50
+ catch (error) {
51
+ this.logger.error('Failed to initialize Slack instance:', error);
52
+ throw error;
53
+ }
54
+ }
55
+ async onModuleInit() {
56
+ if (!this.slackInstance) {
57
+ this.logger.warn('Slack not configured — skipping initialization');
58
+ return;
59
+ }
60
+ try {
61
+ const useSocketMode = this.configService.get('SLACK_USE_SOCKET_MODE') === 'true';
62
+ const mode = useSocketMode ? 'Socket Mode' : 'HTTP Mode';
63
+ this.logger.log(`Initializing Slack ${mode} connection...`);
64
+ this.onMessageHandler();
65
+ await this.slackInstance.start();
66
+ this.logger.log(`Slack ${mode} connection initialized successfully`);
67
+ }
68
+ catch (error) {
69
+ this.logger.error('Failed to initialize Slack:', error);
70
+ this.logger.warn('Continuing without Slack integration');
71
+ }
72
+ }
73
+ async onModuleDestroy() {
74
+ if (!this.slackInstance)
75
+ return;
76
+ try {
77
+ this.logger.log('Shutting down Slack connection...');
78
+ await this.slackInstance.stop();
79
+ this.logger.log('Slack connection shut down successfully');
80
+ }
81
+ catch (error) {
82
+ this.logger.error('Error shutting down Slack:', error);
83
+ }
84
+ }
85
+ /** Connection status for health checks. */
86
+ getStatus() {
87
+ if (!this.isConfigured || !this.slackInstance) {
88
+ return {
89
+ isConnected: false,
90
+ connectionStats: {
91
+ isConnected: false,
92
+ reconnectAttempts: 0,
93
+ maxReconnectAttempts: 0,
94
+ mode: 'http',
95
+ },
96
+ isConfigured: false,
97
+ };
98
+ }
99
+ return {
100
+ isConnected: this.slackInstance.isConnected(),
101
+ connectionStats: this.slackInstance.getConnectionStats(),
102
+ isConfigured: true,
103
+ };
104
+ }
105
+ async getCachedSessionPerThread(threadTs) {
106
+ const cacheKey = `session:${threadTs}`;
107
+ return this.cacheManager.get(cacheKey);
108
+ }
109
+ async getOrCreateSessionPerThread(threadTs, userDid) {
110
+ const cachedSession = await this.getCachedSessionPerThread(threadTs);
111
+ if (cachedSession)
112
+ return cachedSession;
113
+ const sessions = await this.sessionsService.listSessions({ did: userDid });
114
+ const targetSession = sessions.sessions.find((s) => s.slackThreadTs === threadTs);
115
+ if (targetSession) {
116
+ void this.cacheManager.set(`session:${threadTs}`, targetSession, 5 * 60 * 1000);
117
+ return targetSession;
118
+ }
119
+ const newSession = await this.sessionsService.createSession({
120
+ did: userDid,
121
+ slackThreadTs: threadTs,
122
+ });
123
+ void this.cacheManager.set(`session:${threadTs}`, newSession, 5 * 60 * 1000);
124
+ return newSession;
125
+ }
126
+ onMessageHandler() {
127
+ if (!this.slackInstance?.app)
128
+ return;
129
+ this.slackInstance.app.message(async ({ message, say }) => {
130
+ this.logger.debug('Message received', { message });
131
+ if (message.type === 'message' &&
132
+ message.subtype === undefined &&
133
+ typeof message.text === 'string') {
134
+ const userDid = 'did:ixo:ixo100jprv3ap66prgdvyuxhuynhp2muv0pclyx4l7';
135
+ const threadTs = message.thread_ts ?? message.ts;
136
+ const session = await this.getOrCreateSessionPerThread(threadTs, userDid);
137
+ const aiMessage = await this.messagesService.sendMessage({
138
+ did: userDid,
139
+ message: message.text,
140
+ sessionId: session.sessionId,
141
+ });
142
+ void say({
143
+ text: aiMessage?.message.content ?? '',
144
+ thread_ts: threadTs,
145
+ });
146
+ }
147
+ });
148
+ this.logger.log('Slack message handler registered');
149
+ }
150
+ };
151
+ SlackService = SlackService_1 = __decorate([
152
+ Injectable(),
153
+ __param(2, Inject(CACHE_MANAGER)),
154
+ __metadata("design:paramtypes", [ConfigService,
155
+ MessagesService, Object, SessionsService])
156
+ ], SlackService);
157
+ export { SlackService };
@@ -0,0 +1,4 @@
1
+ export { UserPreferencesPlugin, type UserPreferencesPluginService, } from './user-preferences.plugin.js';
2
+ export { UserPreferencesService, UserPreferencesSchema, USER_PREFS_STATE_KEY, type UserPreferences, type UserPreferencesReader, type UserPreferencesWriter, } from './service/user-preferences.service.js';
3
+ export { createSetUserPreferencesTool, type CreateSetUserPreferencesToolOptions, } from './user-preferences-tool.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/user-preferences/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,KAAK,4BAA4B,GAClC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,GAC3B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,4BAA4B,EAC5B,KAAK,mCAAmC,GACzC,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { UserPreferencesPlugin, } from './user-preferences.plugin.js';
2
+ export { UserPreferencesService, UserPreferencesSchema, USER_PREFS_STATE_KEY, } from './service/user-preferences.service.js';
3
+ export { createSetUserPreferencesTool, } from './user-preferences-tool.js';
@@ -0,0 +1,61 @@
1
+ import type { Cache } from 'cache-manager';
2
+ import { z } from 'zod';
3
+ export declare const USER_PREFS_STATE_KEY = "user_prefs";
4
+ export declare const UserPreferencesSchema: z.ZodObject<{
5
+ agentName: z.ZodOptional<z.ZodString>;
6
+ userName: z.ZodOptional<z.ZodString>;
7
+ language: z.ZodOptional<z.ZodString>;
8
+ tone: z.ZodOptional<z.ZodString>;
9
+ formality: z.ZodOptional<z.ZodEnum<{
10
+ casual: "casual";
11
+ friendly: "friendly";
12
+ neutral: "neutral";
13
+ "semi-formal": "semi-formal";
14
+ professional: "professional";
15
+ formal: "formal";
16
+ technical: "technical";
17
+ academic: "academic";
18
+ }>>;
19
+ customInstructions: z.ZodOptional<z.ZodString>;
20
+ updatedAt: z.ZodOptional<z.ZodISODateTime>;
21
+ }, z.core.$strip>;
22
+ export type UserPreferences = z.infer<typeof UserPreferencesSchema>;
23
+ /**
24
+ * Stores per-room user preferences in Matrix room state, with an optional
25
+ * in-memory cache. The singleton is consumed by the user-preferences
26
+ * middleware which loads prefs into `state.userPreferences` on every request.
27
+ */
28
+ export declare class UserPreferencesService {
29
+ private static instance;
30
+ private cacheManager;
31
+ private constructor();
32
+ static getInstance(): UserPreferencesService;
33
+ setCacheManager(cache: Cache): void;
34
+ private cacheKey;
35
+ /**
36
+ * Read user preferences for a given room.
37
+ * Returns undefined if no preferences have been set, or if anything goes wrong
38
+ * (we never want missing prefs to break a chat session).
39
+ */
40
+ get(roomId: string): Promise<UserPreferences | undefined>;
41
+ /**
42
+ * Merge `partial` into the existing preferences, write to Matrix room state,
43
+ * invalidate the cache, and return the merged result.
44
+ * `updatedAt` is always set by this service.
45
+ */
46
+ set(roomId: string, partial: Partial<UserPreferences>): Promise<UserPreferences>;
47
+ invalidate(roomId: string): Promise<void>;
48
+ }
49
+ /**
50
+ * Narrow contract over `UserPreferencesService` exposing only the read path.
51
+ * The middleware depends on this so tests can swap in a stub without
52
+ * instantiating the full Matrix-backed singleton.
53
+ */
54
+ export type UserPreferencesReader = Pick<UserPreferencesService, 'get'>;
55
+ /**
56
+ * Narrow contract over `UserPreferencesService` exposing only the write path.
57
+ * The `set_user_preferences` tool depends on this so tests can swap in a
58
+ * stub without instantiating the full Matrix-backed singleton.
59
+ */
60
+ export type UserPreferencesWriter = Pick<UserPreferencesService, 'set'>;
61
+ //# sourceMappingURL=user-preferences.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-preferences.service.d.ts","sourceRoot":"","sources":["../../../../src/plugins/user-preferences/service/user-preferences.service.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,oBAAoB,eAAe,CAAC;AAEjD,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;iBAmBhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAIpE;;;;GAIG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAyB;IAEhD,OAAO,CAAC,YAAY,CAAsB;IAE1C,OAAO;IAEP,MAAM,CAAC,WAAW,IAAI,sBAAsB;IAO5C,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAInC,OAAO,CAAC,QAAQ;IAIhB;;;;OAIG;IACG,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IAoC/D;;;;OAIG;IACG,GAAG,CACP,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,GAChC,OAAO,CAAC,eAAe,CAAC;IAwBrB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGhD;AAED;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;AAExE;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC"}