@crewx/sdk 0.8.0-rc.72 → 0.8.0-rc.74

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 (548) hide show
  1. package/README.md +380 -818
  2. package/dist/adapter/context-builder.d.ts +35 -0
  3. package/dist/adapter/context-builder.js +87 -0
  4. package/dist/adapter/index.d.ts +5 -0
  5. package/dist/{core/remote → adapter}/index.js +3 -2
  6. package/dist/adapter/plugin-helper.d.ts +19 -0
  7. package/dist/adapter/plugin-helper.js +45 -0
  8. package/dist/adapter/scoped-store.d.ts +12 -0
  9. package/dist/adapter/scoped-store.js +43 -0
  10. package/dist/adapter/types.d.ts +264 -0
  11. package/dist/adapter/types.js +23 -0
  12. package/dist/agent/resolver.d.ts +18 -0
  13. package/dist/agent/resolver.js +46 -0
  14. package/dist/boxing/box-storage.interface.d.ts +12 -0
  15. package/dist/boxing/box-storage.interface.js +3 -0
  16. package/dist/boxing/box.service.d.ts +4 -0
  17. package/dist/boxing/box.service.js +5 -1
  18. package/dist/boxing/box.types.d.ts +4 -0
  19. package/dist/boxing/box.types.js +3 -0
  20. package/dist/boxing/context-builder.d.ts +6 -7
  21. package/dist/boxing/context-builder.js +3 -0
  22. package/dist/client/CrewxClient.d.ts +65 -0
  23. package/dist/client/CrewxClient.js +86 -0
  24. package/dist/client/index.d.ts +3 -0
  25. package/dist/client/index.js +6 -0
  26. package/dist/config/loader.browser.d.ts +14 -0
  27. package/dist/config/loader.browser.js +59 -0
  28. package/dist/config/loader.d.ts +19 -0
  29. package/dist/config/loader.js +95 -0
  30. package/dist/conversation/index.d.ts +5 -3
  31. package/dist/conversation/index.js +8 -3
  32. package/dist/conversation/sqlite-provider.d.ts +21 -0
  33. package/dist/conversation/sqlite-provider.js +178 -0
  34. package/dist/conversation/to-task-reader.d.ts +14 -0
  35. package/dist/conversation/to-task-reader.js +28 -0
  36. package/dist/conversation/to-template-messages.d.ts +15 -0
  37. package/dist/conversation/to-template-messages.js +34 -0
  38. package/dist/conversation/types.d.ts +101 -0
  39. package/dist/conversation/types.js +10 -0
  40. package/dist/esm/agent/resolver.js +41 -0
  41. package/dist/esm/boxing/box-storage.interface.js +5 -0
  42. package/dist/esm/boxing/box.service.js +69 -0
  43. package/dist/esm/boxing/box.types.js +5 -0
  44. package/dist/esm/boxing/context-builder.js +76 -0
  45. package/dist/esm/client/CrewxClient.js +82 -0
  46. package/dist/esm/client/index.js +2 -0
  47. package/dist/esm/config/loader.browser.js +54 -0
  48. package/dist/esm/config/loader.js +77 -0
  49. package/dist/esm/events/TypedEventEmitter.js +61 -0
  50. package/dist/esm/events/types.js +8 -0
  51. package/dist/esm/facade/Crewx.browser.js +310 -0
  52. package/dist/esm/facade/Crewx.js +941 -0
  53. package/dist/esm/hooks/define.js +10 -0
  54. package/dist/esm/hooks/dispatch.js +76 -0
  55. package/dist/esm/hooks/index.js +6 -0
  56. package/dist/esm/hooks/observer.js +56 -0
  57. package/dist/esm/hooks/plugin.js +12 -0
  58. package/dist/esm/hooks/types.js +9 -0
  59. package/dist/esm/index.browser.js +15 -0
  60. package/dist/esm/index.js +60 -0
  61. package/dist/esm/layout/loader.js +268 -0
  62. package/dist/esm/layout/props-validator.js +297 -0
  63. package/dist/esm/layout/renderer.js +180 -0
  64. package/dist/esm/layout/types.js +31 -0
  65. package/dist/esm/parallel/agent-runtime.js +21 -0
  66. package/dist/esm/parallel/helpers.js +214 -0
  67. package/dist/esm/parallel/index.js +5 -0
  68. package/dist/esm/parallel/parallel-runner.js +221 -0
  69. package/dist/esm/parallel/types.js +5 -0
  70. package/dist/esm/parsers/agent-call.util.js +15 -0
  71. package/dist/esm/parsers/claude.parser.js +64 -0
  72. package/dist/esm/parsers/codex.parser.js +97 -0
  73. package/dist/esm/parsers/copilot.parser.js +63 -0
  74. package/dist/esm/parsers/gemini.parser.js +43 -0
  75. package/dist/esm/parsers/opencode.parser.js +73 -0
  76. package/dist/esm/parsers/router.js +53 -0
  77. package/dist/esm/platform/BrowserFsAdapter.js +80 -0
  78. package/dist/esm/platform/IFsAdapter.js +2 -0
  79. package/dist/esm/platform/NodeFsAdapter.js +34 -0
  80. package/dist/esm/plugin/plugin-provider.js +202 -0
  81. package/dist/esm/plugin/types.js +8 -0
  82. package/dist/esm/plugin.js +25 -0
  83. package/dist/esm/provider/bridge.browser.js +43 -0
  84. package/dist/esm/provider/bridge.js +373 -0
  85. package/dist/esm/provider/parse-usage.js +80 -0
  86. package/dist/esm/provider/register-api.js +21 -0
  87. package/dist/esm/provider/vercel-runtime.js +310 -0
  88. package/dist/esm/remote/index.js +10 -0
  89. package/dist/esm/remote/remote-agent-manager.js +194 -0
  90. package/dist/esm/remote/remote-provider.js +98 -0
  91. package/dist/esm/remote/remote-transport.js +79 -0
  92. package/dist/esm/remote/types.js +8 -0
  93. package/dist/esm/server/auth.js +31 -0
  94. package/dist/esm/server/handler.js +72 -0
  95. package/dist/esm/server/index.js +5 -0
  96. package/dist/esm/server/tool-adapter.js +92 -0
  97. package/dist/esm/template/engine.js +100 -0
  98. package/dist/esm/template/helpers/exec.browser.js +31 -0
  99. package/dist/esm/template/helpers/exec.js +220 -0
  100. package/dist/esm/template/helpers/fenced_code.js +17 -0
  101. package/dist/esm/template/helpers/include.js +20 -0
  102. package/dist/esm/template/helpers/p1p2.js +83 -0
  103. package/dist/esm/template/loader/DocumentLoader.js +124 -0
  104. package/dist/esm/template/types.js +5 -0
  105. package/dist/esm/tools/delegate.js +57 -0
  106. package/dist/esm/tools/index.js +5 -0
  107. package/dist/esm/tools/node/builtin.js +541 -0
  108. package/dist/esm/tools/node/index.js +54 -0
  109. package/dist/esm/types/index.js +27 -0
  110. package/dist/esm/types/task-log.types.js +5 -0
  111. package/dist/esm/utils/env-defaults.js +23 -0
  112. package/dist/esm/utils/glob-match.js +38 -0
  113. package/dist/esm/utils/id.js +46 -0
  114. package/dist/esm/utils/workspace.js +21 -0
  115. package/dist/events/TypedEventEmitter.d.ts +31 -0
  116. package/dist/events/TypedEventEmitter.js +65 -0
  117. package/dist/events/types.d.ts +139 -0
  118. package/dist/events/types.js +9 -0
  119. package/dist/facade/Crewx.browser.d.ts +73 -0
  120. package/dist/facade/Crewx.browser.js +314 -0
  121. package/dist/facade/Crewx.d.ts +267 -0
  122. package/dist/facade/Crewx.js +1299 -0
  123. package/dist/hooks/define.d.ts +10 -0
  124. package/dist/hooks/define.js +13 -0
  125. package/dist/hooks/dispatch.d.ts +61 -0
  126. package/dist/hooks/dispatch.js +147 -0
  127. package/dist/hooks/index.d.ts +13 -0
  128. package/dist/hooks/index.js +24 -0
  129. package/dist/hooks/observer.d.ts +20 -0
  130. package/dist/hooks/observer.js +60 -0
  131. package/dist/hooks/plugin.d.ts +19 -0
  132. package/dist/hooks/plugin.js +17 -0
  133. package/dist/hooks/tool-normalize.d.ts +29 -0
  134. package/dist/hooks/tool-normalize.js +110 -0
  135. package/dist/hooks/types.d.ts +79 -0
  136. package/dist/hooks/types.js +12 -0
  137. package/dist/hooks/yaml-plugin.d.ts +29 -0
  138. package/dist/hooks/yaml-plugin.js +356 -0
  139. package/dist/index.browser.d.ts +15 -0
  140. package/dist/index.browser.js +25 -0
  141. package/dist/index.d.ts +70 -58
  142. package/dist/index.js +144 -133
  143. package/dist/{services/layout-loader.service.d.ts → layout/loader.d.ts} +24 -4
  144. package/dist/{services/layout-loader.service.js → layout/loader.js} +103 -73
  145. package/dist/{services/props-validator.service.d.ts → layout/props-validator.d.ts} +7 -1
  146. package/dist/{services/props-validator.service.js → layout/props-validator.js} +28 -59
  147. package/dist/{services/layout-renderer.service.d.ts → layout/renderer.d.ts} +28 -14
  148. package/dist/layout/renderer.js +193 -0
  149. package/dist/{types/layout.types.d.ts → layout/types.d.ts} +47 -1
  150. package/dist/{types/layout.types.js → layout/types.js} +15 -1
  151. package/dist/parallel/agent-runtime.d.ts +31 -0
  152. package/dist/parallel/agent-runtime.js +25 -0
  153. package/dist/{core/parallel → parallel}/helpers.d.ts +2 -1
  154. package/dist/{core/parallel → parallel}/helpers.js +55 -88
  155. package/dist/parallel/index.d.ts +8 -0
  156. package/dist/{core/parallel → parallel}/index.js +5 -3
  157. package/dist/{core/parallel → parallel}/parallel-runner.d.ts +8 -1
  158. package/dist/{core/parallel → parallel}/parallel-runner.js +53 -57
  159. package/dist/parallel/types.d.ts +65 -0
  160. package/dist/parallel/types.js +6 -0
  161. package/dist/parsers/agent-call.util.d.ts +3 -0
  162. package/dist/parsers/agent-call.util.js +2 -0
  163. package/dist/parsers/api.parser.d.ts +10 -0
  164. package/dist/parsers/api.parser.js +26 -0
  165. package/dist/parsers/claude.parser.d.ts +8 -0
  166. package/dist/parsers/claude.parser.js +22 -1
  167. package/dist/parsers/codex.parser.d.ts +8 -0
  168. package/dist/parsers/codex.parser.js +11 -0
  169. package/dist/parsers/copilot.parser.d.ts +9 -0
  170. package/dist/parsers/copilot.parser.js +8 -0
  171. package/dist/parsers/gemini.parser.d.ts +10 -0
  172. package/dist/parsers/gemini.parser.js +10 -0
  173. package/dist/parsers/opencode.parser.d.ts +12 -0
  174. package/dist/parsers/opencode.parser.js +76 -0
  175. package/dist/parsers/router.d.ts +7 -0
  176. package/dist/parsers/router.js +56 -0
  177. package/dist/platform/BrowserFsAdapter.d.ts +37 -0
  178. package/dist/platform/BrowserFsAdapter.js +84 -0
  179. package/dist/platform/IFsAdapter.d.ts +29 -0
  180. package/dist/{core/remote/types.js → platform/IFsAdapter.js} +1 -1
  181. package/dist/platform/NodeFsAdapter.d.ts +16 -0
  182. package/dist/platform/NodeFsAdapter.js +38 -0
  183. package/dist/plugin/plugin-provider.d.ts +33 -0
  184. package/dist/plugin/plugin-provider.js +207 -0
  185. package/dist/plugin/types.d.ts +53 -0
  186. package/dist/plugin/types.js +9 -0
  187. package/dist/plugin.d.ts +33 -0
  188. package/dist/plugin.js +29 -0
  189. package/dist/plugins/conversation.d.ts +18 -0
  190. package/dist/plugins/conversation.js +59 -0
  191. package/dist/plugins/file-logger.d.ts +29 -0
  192. package/dist/plugins/file-logger.js +87 -0
  193. package/dist/plugins/index.d.ts +16 -0
  194. package/dist/plugins/index.js +19 -0
  195. package/dist/plugins/sqlite-tracing.d.ts +29 -0
  196. package/dist/plugins/sqlite-tracing.js +112 -0
  197. package/dist/provider/bridge.browser.d.ts +49 -0
  198. package/dist/provider/bridge.browser.js +49 -0
  199. package/dist/provider/bridge.d.ts +106 -0
  200. package/dist/provider/bridge.js +380 -0
  201. package/dist/provider/mastra-runtime.d.ts +45 -0
  202. package/dist/provider/mastra-runtime.js +208 -0
  203. package/dist/provider/parse-usage.d.ts +20 -0
  204. package/dist/provider/parse-usage.js +83 -0
  205. package/dist/provider/register-api.d.ts +14 -0
  206. package/dist/provider/register-api.js +24 -0
  207. package/dist/provider/vercel-runtime.d.ts +54 -0
  208. package/dist/provider/vercel-runtime.js +347 -0
  209. package/dist/remote/index.d.ts +13 -0
  210. package/dist/remote/index.js +32 -0
  211. package/dist/remote/remote-agent-manager.d.ts +54 -0
  212. package/dist/{core/remote → remote}/remote-agent-manager.js +100 -97
  213. package/dist/remote/remote-provider.d.ts +47 -0
  214. package/dist/remote/remote-provider.js +141 -0
  215. package/dist/remote/remote-transport.d.ts +32 -0
  216. package/dist/remote/remote-transport.js +83 -0
  217. package/dist/remote/types.d.ts +147 -0
  218. package/dist/remote/types.js +9 -0
  219. package/dist/server/auth.d.ts +21 -0
  220. package/dist/server/auth.js +35 -0
  221. package/dist/server/handler.d.ts +24 -0
  222. package/dist/server/handler.js +75 -0
  223. package/dist/server/index.d.ts +7 -0
  224. package/dist/server/index.js +9 -0
  225. package/dist/server/tool-adapter.d.ts +19 -0
  226. package/dist/server/tool-adapter.js +95 -0
  227. package/dist/template/engine.d.ts +28 -0
  228. package/dist/template/engine.js +137 -0
  229. package/dist/template/helpers/exec.browser.d.ts +22 -0
  230. package/dist/template/helpers/exec.browser.js +41 -0
  231. package/dist/template/helpers/exec.d.ts +60 -0
  232. package/dist/template/helpers/exec.js +230 -0
  233. package/dist/template/helpers/fenced_code.d.ts +22 -0
  234. package/dist/template/helpers/fenced_code.js +20 -0
  235. package/dist/template/helpers/format-conversation.d.ts +30 -0
  236. package/dist/template/helpers/format-conversation.js +53 -0
  237. package/dist/template/helpers/include.d.ts +16 -0
  238. package/dist/template/helpers/include.js +23 -0
  239. package/dist/template/helpers/p1p2.d.ts +37 -0
  240. package/dist/template/helpers/p1p2.js +90 -0
  241. package/dist/template/loader/DocumentLoader.d.ts +48 -0
  242. package/dist/template/loader/DocumentLoader.js +128 -0
  243. package/dist/template/types.d.ts +51 -0
  244. package/dist/template/types.js +6 -0
  245. package/dist/testing/index.d.ts +12 -0
  246. package/dist/testing/index.js +16 -0
  247. package/dist/testing/mock-audit.d.ts +10 -0
  248. package/dist/testing/mock-audit.js +13 -0
  249. package/dist/testing/mock-context.d.ts +27 -0
  250. package/dist/testing/mock-context.js +68 -0
  251. package/dist/testing/mock-logger.d.ts +15 -0
  252. package/dist/testing/mock-logger.js +27 -0
  253. package/dist/testing/mock-router.d.ts +16 -0
  254. package/dist/testing/mock-router.js +67 -0
  255. package/dist/testing/mock-storage.d.ts +9 -0
  256. package/dist/testing/mock-storage.js +21 -0
  257. package/dist/testing/mock-store.d.ts +3 -0
  258. package/dist/testing/mock-store.js +8 -0
  259. package/dist/tools/delegate.d.ts +10 -0
  260. package/dist/tools/delegate.js +60 -0
  261. package/dist/tools/index.d.ts +5 -12
  262. package/dist/tools/index.js +6 -37
  263. package/dist/tools/node/builtin.d.ts +23 -0
  264. package/dist/tools/node/builtin.js +547 -0
  265. package/dist/tools/node/index.d.ts +23 -0
  266. package/dist/tools/node/index.js +59 -0
  267. package/dist/types/index.d.ts +804 -6
  268. package/dist/types/index.js +29 -20
  269. package/dist/types/task-log.types.d.ts +4 -0
  270. package/dist/types/task-log.types.js +3 -0
  271. package/dist/utils/env-defaults.d.ts +18 -0
  272. package/dist/utils/env-defaults.js +27 -0
  273. package/dist/utils/glob-match.d.ts +18 -0
  274. package/dist/utils/glob-match.js +42 -0
  275. package/dist/{core → utils}/id.d.ts +15 -0
  276. package/dist/utils/id.js +50 -0
  277. package/dist/utils/timestamp.d.ts +2 -0
  278. package/dist/utils/timestamp.js +13 -0
  279. package/dist/{core → utils}/workspace.d.ts +4 -0
  280. package/dist/{core → utils}/workspace.js +3 -0
  281. package/package.json +67 -102
  282. package/src/schemas/hooks.schema.json +59 -0
  283. package/templates/agents/default.yaml +490 -0
  284. package/templates/agents/minimal.yaml +16 -0
  285. package/LICENSE +0 -201
  286. package/dist/adapters/MastraToolAdapter.d.ts +0 -9
  287. package/dist/adapters/MastraToolAdapter.js +0 -66
  288. package/dist/adapters/MastraToolAdapter.js.map +0 -1
  289. package/dist/api/index.d.ts +0 -2
  290. package/dist/api/index.js +0 -8
  291. package/dist/api/index.js.map +0 -1
  292. package/dist/boxing/box-storage.interface.js.map +0 -1
  293. package/dist/boxing/box.service.js.map +0 -1
  294. package/dist/boxing/box.types.js.map +0 -1
  295. package/dist/boxing/context-builder.js.map +0 -1
  296. package/dist/boxing/index.d.ts +0 -6
  297. package/dist/boxing/index.js +0 -11
  298. package/dist/boxing/index.js.map +0 -1
  299. package/dist/boxing/tokenizer.d.ts +0 -3
  300. package/dist/boxing/tokenizer.js +0 -11
  301. package/dist/boxing/tokenizer.js.map +0 -1
  302. package/dist/config/api-provider-parser.d.ts +0 -58
  303. package/dist/config/api-provider-parser.js +0 -212
  304. package/dist/config/api-provider-parser.js.map +0 -1
  305. package/dist/config/index.d.ts +0 -3
  306. package/dist/config/index.js +0 -20
  307. package/dist/config/index.js.map +0 -1
  308. package/dist/config/log.config.d.ts +0 -7
  309. package/dist/config/log.config.js +0 -20
  310. package/dist/config/log.config.js.map +0 -1
  311. package/dist/config/pricing.d.ts +0 -11
  312. package/dist/config/pricing.js +0 -53
  313. package/dist/config/pricing.js.map +0 -1
  314. package/dist/config/timeout.config.d.ts +0 -14
  315. package/dist/config/timeout.config.js +0 -34
  316. package/dist/config/timeout.config.js.map +0 -1
  317. package/dist/config/yaml-loader.d.ts +0 -8
  318. package/dist/config/yaml-loader.js +0 -155
  319. package/dist/config/yaml-loader.js.map +0 -1
  320. package/dist/constants/index.d.ts +0 -4
  321. package/dist/constants/index.js +0 -8
  322. package/dist/constants/index.js.map +0 -1
  323. package/dist/constants.d.ts +0 -1
  324. package/dist/constants.js +0 -18
  325. package/dist/constants.js.map +0 -1
  326. package/dist/conversation/conversation-config.d.ts +0 -9
  327. package/dist/conversation/conversation-config.js +0 -22
  328. package/dist/conversation/conversation-config.js.map +0 -1
  329. package/dist/conversation/conversation-history.interface.d.ts +0 -36
  330. package/dist/conversation/conversation-history.interface.js +0 -3
  331. package/dist/conversation/conversation-history.interface.js.map +0 -1
  332. package/dist/conversation/conversation-storage.service.d.ts +0 -16
  333. package/dist/conversation/conversation-storage.service.js +0 -213
  334. package/dist/conversation/conversation-storage.service.js.map +0 -1
  335. package/dist/conversation/index.js.map +0 -1
  336. package/dist/core/__tests__/id.test.d.ts +0 -1
  337. package/dist/core/__tests__/id.test.js +0 -115
  338. package/dist/core/__tests__/id.test.js.map +0 -1
  339. package/dist/core/agent/agent-factory.d.ts +0 -37
  340. package/dist/core/agent/agent-factory.js +0 -68
  341. package/dist/core/agent/agent-factory.js.map +0 -1
  342. package/dist/core/agent/agent-runtime.d.ts +0 -52
  343. package/dist/core/agent/agent-runtime.js +0 -206
  344. package/dist/core/agent/agent-runtime.js.map +0 -1
  345. package/dist/core/agent/event-bus.d.ts +0 -44
  346. package/dist/core/agent/event-bus.js +0 -43
  347. package/dist/core/agent/event-bus.js.map +0 -1
  348. package/dist/core/agent/index.d.ts +0 -3
  349. package/dist/core/agent/index.js +0 -13
  350. package/dist/core/agent/index.js.map +0 -1
  351. package/dist/core/env-defaults.d.ts +0 -1
  352. package/dist/core/env-defaults.js +0 -7
  353. package/dist/core/env-defaults.js.map +0 -1
  354. package/dist/core/id.js +0 -27
  355. package/dist/core/id.js.map +0 -1
  356. package/dist/core/parallel/helpers.js.map +0 -1
  357. package/dist/core/parallel/index.d.ts +0 -4
  358. package/dist/core/parallel/index.js.map +0 -1
  359. package/dist/core/parallel/parallel-runner.js.map +0 -1
  360. package/dist/core/parallel/types.d.ts +0 -41
  361. package/dist/core/parallel/types.js +0 -3
  362. package/dist/core/parallel/types.js.map +0 -1
  363. package/dist/core/providers/MastraAPIProvider.d.ts +0 -31
  364. package/dist/core/providers/MastraAPIProvider.js +0 -365
  365. package/dist/core/providers/MastraAPIProvider.js.map +0 -1
  366. package/dist/core/providers/ai-provider.interface.d.ts +0 -79
  367. package/dist/core/providers/ai-provider.interface.js +0 -23
  368. package/dist/core/providers/ai-provider.interface.js.map +0 -1
  369. package/dist/core/providers/base-ai.provider.d.ts +0 -84
  370. package/dist/core/providers/base-ai.provider.js +0 -1237
  371. package/dist/core/providers/base-ai.provider.js.map +0 -1
  372. package/dist/core/providers/base-ai.types.d.ts +0 -26
  373. package/dist/core/providers/base-ai.types.js +0 -3
  374. package/dist/core/providers/base-ai.types.js.map +0 -1
  375. package/dist/core/providers/claude.provider.d.ts +0 -19
  376. package/dist/core/providers/claude.provider.js +0 -170
  377. package/dist/core/providers/claude.provider.js.map +0 -1
  378. package/dist/core/providers/codex.provider.d.ts +0 -21
  379. package/dist/core/providers/codex.provider.js +0 -134
  380. package/dist/core/providers/codex.provider.js.map +0 -1
  381. package/dist/core/providers/copilot.provider.d.ts +0 -25
  382. package/dist/core/providers/copilot.provider.js +0 -146
  383. package/dist/core/providers/copilot.provider.js.map +0 -1
  384. package/dist/core/providers/dynamic-provider.factory.d.ts +0 -74
  385. package/dist/core/providers/dynamic-provider.factory.js +0 -645
  386. package/dist/core/providers/dynamic-provider.factory.js.map +0 -1
  387. package/dist/core/providers/gemini.provider.d.ts +0 -16
  388. package/dist/core/providers/gemini.provider.js +0 -101
  389. package/dist/core/providers/gemini.provider.js.map +0 -1
  390. package/dist/core/providers/index.d.ts +0 -8
  391. package/dist/core/providers/index.js +0 -20
  392. package/dist/core/providers/index.js.map +0 -1
  393. package/dist/core/providers/mock.provider.d.ts +0 -13
  394. package/dist/core/providers/mock.provider.js +0 -55
  395. package/dist/core/providers/mock.provider.js.map +0 -1
  396. package/dist/core/providers/provider-factory.d.ts +0 -3
  397. package/dist/core/providers/provider-factory.js +0 -65
  398. package/dist/core/providers/provider-factory.js.map +0 -1
  399. package/dist/core/providers/tool-call.types.d.ts +0 -39
  400. package/dist/core/providers/tool-call.types.js +0 -3
  401. package/dist/core/providers/tool-call.types.js.map +0 -1
  402. package/dist/core/remote/index.d.ts +0 -3
  403. package/dist/core/remote/index.js.map +0 -1
  404. package/dist/core/remote/remote-agent-manager.d.ts +0 -24
  405. package/dist/core/remote/remote-agent-manager.js.map +0 -1
  406. package/dist/core/remote/remote-transport.d.ts +0 -15
  407. package/dist/core/remote/remote-transport.js +0 -70
  408. package/dist/core/remote/remote-transport.js.map +0 -1
  409. package/dist/core/remote/types.d.ts +0 -79
  410. package/dist/core/remote/types.js.map +0 -1
  411. package/dist/core/workspace.js.map +0 -1
  412. package/dist/index.js.map +0 -1
  413. package/dist/internal/index.d.ts +0 -1
  414. package/dist/internal/index.js +0 -6
  415. package/dist/internal/index.js.map +0 -1
  416. package/dist/knowledge/DocumentManager.d.ts +0 -4
  417. package/dist/knowledge/DocumentManager.js +0 -119
  418. package/dist/knowledge/DocumentManager.js.map +0 -1
  419. package/dist/knowledge/index.d.ts +0 -1
  420. package/dist/knowledge/index.js +0 -18
  421. package/dist/knowledge/index.js.map +0 -1
  422. package/dist/parsers/agent-call.util.js.map +0 -1
  423. package/dist/parsers/claude.parser.js.map +0 -1
  424. package/dist/parsers/codex.parser.js.map +0 -1
  425. package/dist/parsers/copilot.parser.js.map +0 -1
  426. package/dist/parsers/gemini.parser.js.map +0 -1
  427. package/dist/parsers/index.d.ts +0 -7
  428. package/dist/parsers/index.js +0 -45
  429. package/dist/parsers/index.js.map +0 -1
  430. package/dist/schema/skills-parser.d.ts +0 -8
  431. package/dist/schema/skills-parser.js +0 -438
  432. package/dist/schema/skills-parser.js.map +0 -1
  433. package/dist/schema/skills.types.d.ts +0 -158
  434. package/dist/schema/skills.types.js +0 -41
  435. package/dist/schema/skills.types.js.map +0 -1
  436. package/dist/schemas/api-provider.schema.d.ts +0 -432
  437. package/dist/schemas/api-provider.schema.js +0 -50
  438. package/dist/schemas/api-provider.schema.js.map +0 -1
  439. package/dist/services/index.d.ts +0 -2
  440. package/dist/services/index.js +0 -19
  441. package/dist/services/index.js.map +0 -1
  442. package/dist/services/layout-loader.service.js.map +0 -1
  443. package/dist/services/layout-renderer.service.js +0 -325
  444. package/dist/services/layout-renderer.service.js.map +0 -1
  445. package/dist/services/props-validator.service.js.map +0 -1
  446. package/dist/skills/adapter/claude-skill-adapter.d.ts +0 -11
  447. package/dist/skills/adapter/claude-skill-adapter.js +0 -222
  448. package/dist/skills/adapter/claude-skill-adapter.js.map +0 -1
  449. package/dist/skills/index.d.ts +0 -6
  450. package/dist/skills/index.js +0 -31
  451. package/dist/skills/index.js.map +0 -1
  452. package/dist/skills/runtime/progressive-loader.d.ts +0 -27
  453. package/dist/skills/runtime/progressive-loader.js +0 -186
  454. package/dist/skills/runtime/progressive-loader.js.map +0 -1
  455. package/dist/skills/runtime/runtime-requirements-validator.d.ts +0 -23
  456. package/dist/skills/runtime/runtime-requirements-validator.js +0 -248
  457. package/dist/skills/runtime/runtime-requirements-validator.js.map +0 -1
  458. package/dist/skills/runtime/skill-runtime.service.d.ts +0 -42
  459. package/dist/skills/runtime/skill-runtime.service.js +0 -434
  460. package/dist/skills/runtime/skill-runtime.service.js.map +0 -1
  461. package/dist/tools/file-system.service.d.ts +0 -10
  462. package/dist/tools/file-system.service.js +0 -33
  463. package/dist/tools/file-system.service.js.map +0 -1
  464. package/dist/tools/find.tool.d.ts +0 -21
  465. package/dist/tools/find.tool.js +0 -139
  466. package/dist/tools/find.tool.js.map +0 -1
  467. package/dist/tools/glob.tool.d.ts +0 -24
  468. package/dist/tools/glob.tool.js +0 -153
  469. package/dist/tools/glob.tool.js.map +0 -1
  470. package/dist/tools/grep.tool.d.ts +0 -1
  471. package/dist/tools/grep.tool.js +0 -137
  472. package/dist/tools/grep.tool.js.map +0 -1
  473. package/dist/tools/index.js.map +0 -1
  474. package/dist/tools/ls.tool.d.ts +0 -1
  475. package/dist/tools/ls.tool.js +0 -94
  476. package/dist/tools/ls.tool.js.map +0 -1
  477. package/dist/tools/read-file.tool.d.ts +0 -1
  478. package/dist/tools/read-file.tool.js +0 -69
  479. package/dist/tools/read-file.tool.js.map +0 -1
  480. package/dist/tools/replace.tool.d.ts +0 -1
  481. package/dist/tools/replace.tool.js +0 -68
  482. package/dist/tools/replace.tool.js.map +0 -1
  483. package/dist/tools/run-shell-command.tool.d.ts +0 -1
  484. package/dist/tools/run-shell-command.tool.js +0 -64
  485. package/dist/tools/run-shell-command.tool.js.map +0 -1
  486. package/dist/tools/tree.tool.d.ts +0 -1
  487. package/dist/tools/tree.tool.js +0 -109
  488. package/dist/tools/tree.tool.js.map +0 -1
  489. package/dist/tools/types.d.ts +0 -42
  490. package/dist/tools/types.js +0 -13
  491. package/dist/tools/types.js.map +0 -1
  492. package/dist/tools/utils/file-utils.d.ts +0 -5
  493. package/dist/tools/utils/file-utils.js +0 -221
  494. package/dist/tools/utils/file-utils.js.map +0 -1
  495. package/dist/tools/write-file.tool.d.ts +0 -1
  496. package/dist/tools/write-file.tool.js +0 -55
  497. package/dist/tools/write-file.tool.js.map +0 -1
  498. package/dist/types/agent.types.d.ts +0 -134
  499. package/dist/types/agent.types.js +0 -16
  500. package/dist/types/agent.types.js.map +0 -1
  501. package/dist/types/api-provider.types.d.ts +0 -85
  502. package/dist/types/api-provider.types.js +0 -65
  503. package/dist/types/api-provider.types.js.map +0 -1
  504. package/dist/types/index.js.map +0 -1
  505. package/dist/types/layout.types.js.map +0 -1
  506. package/dist/types/provider.types.d.ts +0 -12
  507. package/dist/types/provider.types.js +0 -3
  508. package/dist/types/provider.types.js.map +0 -1
  509. package/dist/types/skill-runtime.types.d.ts +0 -244
  510. package/dist/types/skill-runtime.types.js +0 -44
  511. package/dist/types/skill-runtime.types.js.map +0 -1
  512. package/dist/types/structured-payload.types.d.ts +0 -46
  513. package/dist/types/structured-payload.types.js +0 -65
  514. package/dist/types/structured-payload.types.js.map +0 -1
  515. package/dist/types/task-log.types.js.map +0 -1
  516. package/dist/types/template.types.d.ts +0 -38
  517. package/dist/types/template.types.js +0 -3
  518. package/dist/types/template.types.js.map +0 -1
  519. package/dist/types.d.ts +0 -1
  520. package/dist/types.js +0 -18
  521. package/dist/types.js.map +0 -1
  522. package/dist/utils/api-provider-normalizer.d.ts +0 -16
  523. package/dist/utils/api-provider-normalizer.js +0 -135
  524. package/dist/utils/api-provider-normalizer.js.map +0 -1
  525. package/dist/utils/base-message-formatter.d.ts +0 -32
  526. package/dist/utils/base-message-formatter.js +0 -170
  527. package/dist/utils/base-message-formatter.js.map +0 -1
  528. package/dist/utils/error-utils.d.ts +0 -3
  529. package/dist/utils/error-utils.js +0 -27
  530. package/dist/utils/error-utils.js.map +0 -1
  531. package/dist/utils/index.d.ts +0 -4
  532. package/dist/utils/index.js +0 -21
  533. package/dist/utils/index.js.map +0 -1
  534. package/dist/utils/math-utils.d.ts +0 -3
  535. package/dist/utils/math-utils.js +0 -10
  536. package/dist/utils/math-utils.js.map +0 -1
  537. package/dist/utils/mention-parser.d.ts +0 -18
  538. package/dist/utils/mention-parser.js +0 -136
  539. package/dist/utils/mention-parser.js.map +0 -1
  540. package/dist/utils/string-utils.d.ts +0 -1
  541. package/dist/utils/string-utils.js +0 -10
  542. package/dist/utils/string-utils.js.map +0 -1
  543. package/dist/utils.d.ts +0 -3
  544. package/dist/utils.js +0 -20
  545. package/dist/utils.js.map +0 -1
  546. package/schema/api-provider-config.json +0 -138
  547. package/schema/crewx-config.json +0 -224
  548. package/schema/skills-config.json +0 -306
@@ -0,0 +1,35 @@
1
+ /**
2
+ * createAdapterContext — builds an AdapterContext for an adapter instance.
3
+ *
4
+ * M1: respondSync uses AsyncLocalStorage to bind the current HTTP response.
5
+ * When called inside a registerRoute handler (sync window), respondSync writes
6
+ * to the HTTP res. When called outside the sync window, it performs graceful
7
+ * degradation: logs a warning instead of throwing (PoC correction #3).
8
+ */
9
+ import { AsyncLocalStorage } from 'async_hooks';
10
+ import type { AdapterContext, AdapterCapability, AdapterStore, AgentRunner, AuditSink, BlobStorage, EventResolution, HttpRouter, InboundEvent, InboundMessage, Logger, OutboundMessage, RawResponse, ResolvedUser, RouteResolution } from './types';
11
+ export interface SyncWindow {
12
+ res: RawResponse;
13
+ timeoutMs: number;
14
+ }
15
+ export declare function getSyncWindowStore(): AsyncLocalStorage<SyncWindow>;
16
+ export declare function runInSyncWindow<T>(window: SyncWindow, fn: () => Promise<T>): Promise<T>;
17
+ export interface AdapterContextOptions<TConfig = unknown> {
18
+ instanceId: string;
19
+ config: TConfig;
20
+ capabilities: ReadonlySet<AdapterCapability>;
21
+ log?: Logger;
22
+ agentRunner?: AgentRunner;
23
+ db?: AdapterStore;
24
+ storage?: BlobStorage;
25
+ audit?: AuditSink;
26
+ abortSignal?: AbortSignal;
27
+ onInbound?: (msg: InboundMessage) => Promise<RouteResolution>;
28
+ onEmitEvent?: (event: InboundEvent) => Promise<EventResolution>;
29
+ onUpdateMessage?: (messageId: string, patch: Partial<OutboundMessage>) => Promise<void>;
30
+ onResolveUser?: (userId: string) => Promise<ResolvedUser>;
31
+ httpRouter?: HttpRouter;
32
+ logger?: Logger;
33
+ }
34
+ export declare function createAdapterContext<TConfig = unknown>(opts: AdapterContextOptions<TConfig>): AdapterContext<TConfig>;
35
+ //# sourceMappingURL=context-builder.d.ts.map
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ /**
3
+ * createAdapterContext — builds an AdapterContext for an adapter instance.
4
+ *
5
+ * M1: respondSync uses AsyncLocalStorage to bind the current HTTP response.
6
+ * When called inside a registerRoute handler (sync window), respondSync writes
7
+ * to the HTTP res. When called outside the sync window, it performs graceful
8
+ * degradation: logs a warning instead of throwing (PoC correction #3).
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.getSyncWindowStore = getSyncWindowStore;
12
+ exports.runInSyncWindow = runInSyncWindow;
13
+ exports.createAdapterContext = createAdapterContext;
14
+ const async_hooks_1 = require("async_hooks");
15
+ const syncWindowStore = new async_hooks_1.AsyncLocalStorage();
16
+ function getSyncWindowStore() {
17
+ return syncWindowStore;
18
+ }
19
+ function runInSyncWindow(window, fn) {
20
+ return syncWindowStore.run(window, fn);
21
+ }
22
+ function createAdapterContext(opts) {
23
+ const log = opts.log ?? opts.logger ?? {
24
+ debug: () => { },
25
+ info: () => { },
26
+ warn: () => { },
27
+ error: () => { },
28
+ };
29
+ const agentRunner = opts.agentRunner ?? {
30
+ run: async () => ({ output: '' }),
31
+ };
32
+ const db = opts.db ?? {
33
+ get: async () => undefined,
34
+ set: async () => { },
35
+ delete: async () => false,
36
+ list: async () => [],
37
+ };
38
+ const storage = opts.storage ?? {
39
+ put: async () => '',
40
+ get: async () => undefined,
41
+ delete: async () => false,
42
+ };
43
+ const audit = opts.audit ?? {
44
+ log: async () => { },
45
+ };
46
+ const inbound = opts.onInbound ?? (async () => ({ accepted: true }));
47
+ const emitEventFn = opts.onEmitEvent ?? (async () => ({ accepted: true }));
48
+ const updateMessage = opts.onUpdateMessage ?? (async () => { });
49
+ const resolveUser = opts.onResolveUser ?? (async (userId) => ({
50
+ userId,
51
+ displayName: userId,
52
+ }));
53
+ const respondSync = async (payload) => {
54
+ const window = syncWindowStore.getStore();
55
+ if (!window) {
56
+ log.warn('respondSync called outside sync window — graceful degradation (no-op)', {
57
+ textPreview: typeof payload === 'object' && 'text' in payload ? payload.text.slice(0, 80) : undefined,
58
+ });
59
+ return;
60
+ }
61
+ const text = 'text' in payload ? payload.text : '';
62
+ window.res.status(200).json({ text });
63
+ };
64
+ const httpRouter = opts.httpRouter ?? {
65
+ registerRoute: () => {
66
+ log.warn('httpRouter not configured — registerRoute is a no-op');
67
+ },
68
+ };
69
+ return {
70
+ instanceId: opts.instanceId,
71
+ config: opts.config,
72
+ capabilities: opts.capabilities,
73
+ log,
74
+ agentRunner,
75
+ db,
76
+ storage,
77
+ audit,
78
+ abortSignal: opts.abortSignal ?? new AbortController().signal,
79
+ httpRouter,
80
+ inbound,
81
+ emitEvent: emitEventFn,
82
+ updateMessage,
83
+ resolveUser,
84
+ respondSync,
85
+ };
86
+ }
87
+ //# sourceMappingURL=context-builder.js.map
@@ -0,0 +1,5 @@
1
+ export * from './types';
2
+ export * from './plugin-helper';
3
+ export * from './scoped-store';
4
+ export * from './context-builder';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -15,6 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./types"), exports);
18
- __exportStar(require("./remote-transport"), exports);
19
- __exportStar(require("./remote-agent-manager"), exports);
18
+ __exportStar(require("./plugin-helper"), exports);
19
+ __exportStar(require("./scoped-store"), exports);
20
+ __exportStar(require("./context-builder"), exports);
20
21
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Plugin helpers for defining channel adapters.
3
+ *
4
+ * defineChannelAdapter — type-safe identity function for IChannelAdapter.
5
+ * defineChannelAdapterPlugin — wraps an adapter as a CrewxPlugin (§3.3).
6
+ */
7
+ import type { IChannelAdapter } from './types';
8
+ import type { CrewxPlugin } from '../plugin';
9
+ export declare function defineChannelAdapter<TConfig = unknown>(spec: IChannelAdapter<TConfig>): IChannelAdapter<TConfig>;
10
+ export interface ChannelAdapterPluginSpec<TConfig = unknown> {
11
+ readonly name: string;
12
+ readonly adapter: IChannelAdapter<TConfig>;
13
+ readonly configFactory: (crewx: unknown) => TConfig | Promise<TConfig>;
14
+ readonly instanceId?: string;
15
+ readonly onAttach?: (crewx: unknown) => void | Promise<void>;
16
+ readonly onDetach?: (crewx: unknown) => void | Promise<void>;
17
+ }
18
+ export declare function defineChannelAdapterPlugin<TConfig = unknown>(spec: ChannelAdapterPluginSpec<TConfig>): CrewxPlugin;
19
+ //# sourceMappingURL=plugin-helper.d.ts.map
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ /**
3
+ * Plugin helpers for defining channel adapters.
4
+ *
5
+ * defineChannelAdapter — type-safe identity function for IChannelAdapter.
6
+ * defineChannelAdapterPlugin — wraps an adapter as a CrewxPlugin (§3.3).
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.defineChannelAdapter = defineChannelAdapter;
10
+ exports.defineChannelAdapterPlugin = defineChannelAdapterPlugin;
11
+ function defineChannelAdapter(spec) {
12
+ return spec;
13
+ }
14
+ function defineChannelAdapterPlugin(spec) {
15
+ return {
16
+ name: spec.name,
17
+ async attach(crewx) {
18
+ const config = await spec.configFactory(crewx);
19
+ const anyCrewx = crewx;
20
+ const registerFn = anyCrewx['registerChannelAdapter'];
21
+ const instanceId = spec.instanceId ?? spec.name;
22
+ if (registerFn) {
23
+ await registerFn({
24
+ adapter: spec.adapter,
25
+ instanceId,
26
+ config,
27
+ });
28
+ }
29
+ if (spec.onAttach) {
30
+ await spec.onAttach(crewx);
31
+ }
32
+ },
33
+ async detach(crewx) {
34
+ const anyCrewx = crewx;
35
+ const unregisterFn = anyCrewx['unregisterChannelAdapter'];
36
+ if (unregisterFn) {
37
+ await unregisterFn(spec.instanceId ?? spec.name);
38
+ }
39
+ if (spec.onDetach) {
40
+ await spec.onDetach(crewx);
41
+ }
42
+ },
43
+ };
44
+ }
45
+ //# sourceMappingURL=plugin-helper.js.map
@@ -0,0 +1,12 @@
1
+ /**
2
+ * ScopedAdapterStore — adapter key-value store with mandatory instanceId prefix.
3
+ *
4
+ * Security: Uses Map closure pattern (RT-1 defense).
5
+ * The internal Map is captured in a function closure — no public or private
6
+ * property on the returned AdapterStore object holds the raw Map reference.
7
+ * Reflect / Object.getPrototypeOf / (ctx.db as any)['_rawStore'] all fail
8
+ * because the Map only exists in the createScopedAdapterStore function scope.
9
+ */
10
+ import type { AdapterStore } from './types';
11
+ export declare function createScopedAdapterStore(instanceId: string): AdapterStore;
12
+ //# sourceMappingURL=scoped-store.d.ts.map
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ /**
3
+ * ScopedAdapterStore — adapter key-value store with mandatory instanceId prefix.
4
+ *
5
+ * Security: Uses Map closure pattern (RT-1 defense).
6
+ * The internal Map is captured in a function closure — no public or private
7
+ * property on the returned AdapterStore object holds the raw Map reference.
8
+ * Reflect / Object.getPrototypeOf / (ctx.db as any)['_rawStore'] all fail
9
+ * because the Map only exists in the createScopedAdapterStore function scope.
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.createScopedAdapterStore = createScopedAdapterStore;
13
+ function createScopedAdapterStore(instanceId) {
14
+ const store = new Map();
15
+ const prefixKey = (key) => {
16
+ if (key.startsWith(`${instanceId}::`))
17
+ return key;
18
+ return `${instanceId}::${key}`;
19
+ };
20
+ return {
21
+ async get(key) {
22
+ const entry = store.get(prefixKey(key));
23
+ return entry ? entry.value : undefined;
24
+ },
25
+ async set(key, value) {
26
+ store.set(prefixKey(key), { value });
27
+ },
28
+ async delete(key) {
29
+ return store.delete(prefixKey(key));
30
+ },
31
+ async list(prefix) {
32
+ const fullPrefix = prefix ? prefixKey(prefix) : `${instanceId}::`;
33
+ const keys = [];
34
+ for (const k of store.keys()) {
35
+ if (k.startsWith(fullPrefix)) {
36
+ keys.push(k.slice(instanceId.length + 2));
37
+ }
38
+ }
39
+ return keys;
40
+ },
41
+ };
42
+ }
43
+ //# sourceMappingURL=scoped-store.js.map
@@ -0,0 +1,264 @@
1
+ /**
2
+ * Adapter Platform v0.4 — core types.
3
+ * PoC corrections applied:
4
+ * 1. AdapterError: class only (interface removed)
5
+ * 2. kind: added 'config' for configuration errors
6
+ */
7
+ export type AdapterCapability = 'send' | 'receive' | 'threads' | 'attachments' | 'interactive' | 'markdown' | 'edit' | 'delete' | 'reaction' | 'mention' | 'rich_cards' | 'sync_reply' | 'typing' | 'ephemeral' | 'proactive' | 'commands' | 'presence';
8
+ export interface AdapterManifest {
9
+ readonly id: string;
10
+ readonly name: string;
11
+ readonly version: string;
12
+ readonly capabilities: readonly AdapterCapability[];
13
+ readonly description?: string;
14
+ readonly configSchema?: object | string;
15
+ readonly envVars?: readonly string[];
16
+ readonly homepage?: string;
17
+ readonly sdkVersion?: string;
18
+ readonly platform?: string;
19
+ }
20
+ export interface IChannelAdapter<TConfig = unknown> {
21
+ readonly manifest: AdapterManifest;
22
+ start(ctx: AdapterContext<TConfig>): Promise<void>;
23
+ stop(ctx: AdapterContext<TConfig>): Promise<void>;
24
+ send(ctx: AdapterContext<TConfig>, msg: OutboundMessage): Promise<SendResult>;
25
+ healthcheck?(ctx: AdapterContext<TConfig>): Promise<HealthStatus>;
26
+ validateConfig?(raw: unknown): TConfig;
27
+ describe?(): AdapterManifest;
28
+ handleUninstall?(ctx: AdapterContext<TConfig>): Promise<void>;
29
+ getInstallUrl?(state: InstallState): Promise<string>;
30
+ completeInstall?(callback: InstallCallback): Promise<TConfig>;
31
+ }
32
+ export interface InstallState {
33
+ readonly instanceId: string;
34
+ readonly nonce: string;
35
+ readonly redirectUri: string;
36
+ readonly scopes?: readonly string[];
37
+ }
38
+ export interface InstallCallback {
39
+ readonly query: Readonly<Record<string, string>>;
40
+ readonly nonce: string;
41
+ }
42
+ export interface AdapterContext<TConfig = unknown> {
43
+ readonly instanceId: string;
44
+ readonly installationId?: string;
45
+ readonly config: TConfig;
46
+ readonly capabilities: ReadonlySet<AdapterCapability>;
47
+ readonly log: Logger;
48
+ readonly agentRunner: AgentRunner;
49
+ readonly db: AdapterStore;
50
+ readonly storage: BlobStorage;
51
+ readonly audit: AuditSink;
52
+ readonly abortSignal: AbortSignal;
53
+ readonly httpRouter: HttpRouter;
54
+ inbound(msg: InboundMessage): Promise<RouteResolution>;
55
+ emitEvent(event: InboundEvent): Promise<EventResolution>;
56
+ updateMessage(messageId: string, patch: Partial<OutboundMessage>): Promise<void>;
57
+ resolveUser(userId: string): Promise<ResolvedUser>;
58
+ respondSync(payload: OutboundMessage | {
59
+ text: string;
60
+ raw?: unknown;
61
+ }): Promise<void>;
62
+ proactive?(threadId: string, msg: OutboundMessage): Promise<SendResult>;
63
+ }
64
+ export interface ResolvedUser {
65
+ readonly userId: string;
66
+ readonly displayName: string;
67
+ readonly email?: string;
68
+ readonly raw?: unknown;
69
+ }
70
+ export interface RouteResolution {
71
+ readonly accepted: boolean;
72
+ readonly reason?: string;
73
+ readonly output?: string;
74
+ }
75
+ export interface EventResolution {
76
+ readonly accepted: boolean;
77
+ readonly reason?: string;
78
+ }
79
+ export interface HttpRouter {
80
+ registerRoute(path: string, handler: (req: RawRequest, res: RawResponse) => Promise<void>, opts?: RouteOptions): void;
81
+ }
82
+ export interface RouteOptions {
83
+ readonly requireSignature?: {
84
+ readonly headerName: string;
85
+ readonly verify: (rawBody: Buffer, signature: string) => boolean;
86
+ };
87
+ readonly rateLimit?: {
88
+ readonly requestsPerMin: number;
89
+ };
90
+ readonly timeoutMs?: number;
91
+ }
92
+ export interface RawRequest {
93
+ readonly method: string;
94
+ readonly url: string;
95
+ readonly headers: Readonly<Record<string, string | string[] | undefined>>;
96
+ readonly body: Buffer;
97
+ readonly params: Readonly<Record<string, string>>;
98
+ readonly query: Readonly<Record<string, string | string[] | undefined>>;
99
+ }
100
+ export interface RawResponse {
101
+ status(code: number): RawResponse;
102
+ set(field: string, value: string): RawResponse;
103
+ send(body: Buffer | string): RawResponse;
104
+ json(body: unknown): RawResponse;
105
+ end(): RawResponse;
106
+ }
107
+ export interface InboundMessage {
108
+ readonly id: string;
109
+ readonly threadId: string;
110
+ readonly userId: string;
111
+ readonly text: string;
112
+ readonly receivedAt: number;
113
+ readonly attachments?: readonly {
114
+ readonly url: string;
115
+ readonly mimeType?: string;
116
+ readonly name?: string;
117
+ }[];
118
+ readonly mentions?: readonly {
119
+ readonly userId: string;
120
+ readonly displayName: string;
121
+ }[];
122
+ readonly routingHints?: {
123
+ readonly agentId?: string;
124
+ readonly policyTags?: readonly string[];
125
+ };
126
+ readonly raw?: unknown;
127
+ }
128
+ export interface OutboundMessage {
129
+ readonly threadId: string;
130
+ readonly text: string;
131
+ readonly markdown?: boolean;
132
+ readonly actions?: readonly {
133
+ readonly id: string;
134
+ readonly label: string;
135
+ readonly value?: string;
136
+ readonly blockId?: string;
137
+ }[];
138
+ readonly attachments?: readonly {
139
+ readonly url: string;
140
+ readonly mimeType?: string;
141
+ readonly name?: string;
142
+ }[];
143
+ readonly cards?: readonly RichCard[];
144
+ readonly ephemeralFor?: string;
145
+ readonly replyToId?: string;
146
+ readonly editOf?: string;
147
+ readonly raw?: unknown;
148
+ }
149
+ export interface RichCard {
150
+ readonly id: string;
151
+ readonly title?: string;
152
+ readonly body?: string;
153
+ readonly elements?: readonly RichCardElement[];
154
+ readonly raw?: unknown;
155
+ }
156
+ export type RichCardElement = {
157
+ readonly type: 'text';
158
+ readonly text: string;
159
+ } | {
160
+ readonly type: 'button';
161
+ readonly id: string;
162
+ readonly label: string;
163
+ readonly value?: string;
164
+ readonly blockId?: string;
165
+ } | {
166
+ readonly type: 'image';
167
+ readonly url: string;
168
+ readonly alt?: string;
169
+ };
170
+ export type InboundEvent = {
171
+ readonly type: 'action';
172
+ readonly actionId: string;
173
+ readonly blockId?: string;
174
+ readonly threadId: string;
175
+ readonly userId: string;
176
+ readonly value?: string;
177
+ readonly raw?: unknown;
178
+ } | {
179
+ readonly type: 'edit';
180
+ readonly messageId: string;
181
+ readonly threadId: string;
182
+ readonly text: string;
183
+ } | {
184
+ readonly type: 'delete';
185
+ readonly messageId: string;
186
+ readonly threadId: string;
187
+ } | {
188
+ readonly type: 'reaction';
189
+ readonly messageId: string;
190
+ readonly threadId: string;
191
+ readonly userId: string;
192
+ readonly emoji: string;
193
+ readonly added: boolean;
194
+ } | {
195
+ readonly type: 'space_joined' | 'space_left';
196
+ readonly threadId: string;
197
+ readonly userId?: string;
198
+ readonly raw?: unknown;
199
+ } | {
200
+ readonly type: 'member_joined' | 'member_left';
201
+ readonly threadId: string;
202
+ readonly userId: string;
203
+ readonly raw?: unknown;
204
+ } | {
205
+ readonly type: 'command';
206
+ readonly commandId: string;
207
+ readonly threadId: string;
208
+ readonly userId: string;
209
+ readonly text: string;
210
+ readonly raw?: unknown;
211
+ };
212
+ export interface SendResult {
213
+ readonly messageId: string;
214
+ readonly sentAt: number;
215
+ }
216
+ export interface HealthStatus {
217
+ readonly ok: boolean;
218
+ readonly details?: Record<string, unknown>;
219
+ }
220
+ export declare class AdapterError extends Error {
221
+ readonly code: string;
222
+ readonly kind: 'transient' | 'permanent' | 'config';
223
+ readonly retryAfterMs?: number;
224
+ constructor(code: string, kind: 'transient' | 'permanent' | 'config', retryAfterMs?: number);
225
+ }
226
+ export interface Logger {
227
+ debug(msg: string, meta?: Record<string, unknown>): void;
228
+ info(msg: string, meta?: Record<string, unknown>): void;
229
+ warn(msg: string, meta?: Record<string, unknown>): void;
230
+ error(msg: string, meta?: Record<string, unknown>): void;
231
+ }
232
+ export interface AgentRunner {
233
+ run(agentId: string, message: string, opts?: {
234
+ readonly threadId?: string;
235
+ }): Promise<{
236
+ readonly output: string;
237
+ }>;
238
+ }
239
+ export interface AdapterStore {
240
+ get<T = unknown>(key: string): Promise<T | undefined>;
241
+ set<T = unknown>(key: string, value: T): Promise<void>;
242
+ delete(key: string): Promise<boolean>;
243
+ list(prefix?: string): Promise<readonly string[]>;
244
+ }
245
+ export interface BlobStorage {
246
+ put(key: string, data: Buffer, contentType?: string): Promise<string>;
247
+ get(key: string): Promise<Buffer | undefined>;
248
+ delete(key: string): Promise<boolean>;
249
+ }
250
+ export interface AuditSink {
251
+ log(event: string, payload: Record<string, unknown>): Promise<void>;
252
+ }
253
+ export interface ChannelAdapterRegistration<TConfig = unknown> {
254
+ readonly adapter: IChannelAdapter<TConfig>;
255
+ readonly instanceId: string;
256
+ readonly config: TConfig;
257
+ readonly installationId?: string;
258
+ readonly store?: AdapterStore;
259
+ readonly agentRunner?: AgentRunner;
260
+ readonly defaultMode?: 'query' | 'execute';
261
+ readonly defaultAgent?: string;
262
+ readonly onInbound?: (msg: InboundMessage) => Promise<RouteResolution>;
263
+ }
264
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ /**
3
+ * Adapter Platform v0.4 — core types.
4
+ * PoC corrections applied:
5
+ * 1. AdapterError: class only (interface removed)
6
+ * 2. kind: added 'config' for configuration errors
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.AdapterError = void 0;
10
+ class AdapterError extends Error {
11
+ code;
12
+ kind;
13
+ retryAfterMs;
14
+ constructor(code, kind, retryAfterMs) {
15
+ super(`AdapterError: ${code}`);
16
+ this.name = 'AdapterError';
17
+ this.code = code;
18
+ this.kind = kind;
19
+ this.retryAfterMs = retryAfterMs;
20
+ }
21
+ }
22
+ exports.AdapterError = AdapterError;
23
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Agent resolver: looks up an agent from a list by ref.
3
+ * Supports both bare id ('claude') and @mention format ('@claude').
4
+ * Falls back to built-in provider shorthands (claude, gemini, copilot, codex).
5
+ */
6
+ import type { AgentConfig } from '../types';
7
+ export declare class AgentNotFoundError extends Error {
8
+ constructor(agentRef: string, availableIds: string[]);
9
+ }
10
+ /**
11
+ * Resolve an agent by reference.
12
+ * @param agentRef - Agent reference: '@claude', 'claude', '@my_agent', etc.
13
+ * @param agents - List of available agent configs.
14
+ * @returns The matching AgentConfig.
15
+ * @throws AgentNotFoundError when no match is found.
16
+ */
17
+ export declare function resolveAgent(agentRef: string, agents: AgentConfig[]): AgentConfig;
18
+ //# sourceMappingURL=resolver.d.ts.map
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ /**
3
+ * Agent resolver: looks up an agent from a list by ref.
4
+ * Supports both bare id ('claude') and @mention format ('@claude').
5
+ * Falls back to built-in provider shorthands (claude, gemini, copilot, codex).
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.AgentNotFoundError = void 0;
9
+ exports.resolveAgent = resolveAgent;
10
+ class AgentNotFoundError extends Error {
11
+ constructor(agentRef, availableIds) {
12
+ const available = availableIds.length > 0
13
+ ? ` Available: ${availableIds.join(', ')}`
14
+ : '';
15
+ super(`Agent not found: "${agentRef}".${available}`);
16
+ this.name = 'AgentNotFoundError';
17
+ }
18
+ }
19
+ exports.AgentNotFoundError = AgentNotFoundError;
20
+ /** Built-in provider shorthands that can be used without a crewx.yaml entry. */
21
+ const BUILTIN_PROVIDERS = {
22
+ claude: { id: 'claude', provider: 'cli/claude' },
23
+ gemini: { id: 'gemini', provider: 'cli/gemini' },
24
+ copilot: { id: 'copilot', provider: 'cli/copilot' },
25
+ codex: { id: 'codex', provider: 'cli/codex' },
26
+ };
27
+ /**
28
+ * Resolve an agent by reference.
29
+ * @param agentRef - Agent reference: '@claude', 'claude', '@my_agent', etc.
30
+ * @param agents - List of available agent configs.
31
+ * @returns The matching AgentConfig.
32
+ * @throws AgentNotFoundError when no match is found.
33
+ */
34
+ function resolveAgent(agentRef, agents) {
35
+ const agentId = agentRef.startsWith('@') ? agentRef.slice(1) : agentRef;
36
+ // 1. Look in YAML-defined agents first
37
+ const agent = agents.find(a => a.id === agentId);
38
+ if (agent)
39
+ return agent;
40
+ // 2. Fall back to built-in provider shorthands
41
+ const builtin = BUILTIN_PROVIDERS[agentId];
42
+ if (builtin)
43
+ return builtin;
44
+ throw new AgentNotFoundError(agentRef, agents.map(a => a.id));
45
+ }
46
+ //# sourceMappingURL=resolver.js.map
@@ -1,3 +1,6 @@
1
+ /**
2
+ * Box storage interfaces — used by SdkBoxService and buildContext.
3
+ */
1
4
  import type { BoxRow, InsertBoxData, ThreadMessage } from './box.types';
2
5
  export interface IBoxStorage {
3
6
  listBoxes(threadId: string): BoxRow[];
@@ -11,3 +14,12 @@ export interface ITaskReader {
11
14
  export interface ITokenizer {
12
15
  countTokens(text: string): number;
13
16
  }
17
+ import type { BoxResponse } from './box.types';
18
+ export interface IBoxServiceReader {
19
+ listBoxes(threadId: string): {
20
+ boxes: BoxResponse[];
21
+ total: number;
22
+ };
23
+ getBox(threadId: string, boxId: string): BoxResponse | null;
24
+ }
25
+ //# sourceMappingURL=box-storage.interface.d.ts.map
@@ -1,3 +1,6 @@
1
1
  "use strict";
2
+ /**
3
+ * Box storage interfaces — used by SdkBoxService and buildContext.
4
+ */
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  //# sourceMappingURL=box-storage.interface.js.map
@@ -1,3 +1,6 @@
1
+ /**
2
+ * SdkBoxService — manages box creation, retrieval, and listing.
3
+ */
1
4
  import type { IBoxStorage } from './box-storage.interface';
2
5
  import type { BoxResponse, CreateBoxParams } from './box.types';
3
6
  export declare class SdkBoxService {
@@ -13,3 +16,4 @@ export declare class SdkBoxService {
13
16
  private validateId;
14
17
  private generateBoxId;
15
18
  }
19
+ //# sourceMappingURL=box.service.d.ts.map
@@ -1,9 +1,13 @@
1
1
  "use strict";
2
+ /**
3
+ * SdkBoxService — manages box creation, retrieval, and listing.
4
+ */
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.SdkBoxService = void 0;
4
- const id_1 = require("../core/id");
7
+ const id_1 = require("../utils/id");
5
8
  const ID_PATTERN = /^[a-zA-Z0-9._-]+$/;
6
9
  class SdkBoxService {
10
+ storage;
7
11
  constructor(storage) {
8
12
  this.storage = storage;
9
13
  }