@crewx/sdk 0.8.0-rc.73 → 0.8.0-rc.75

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 +68 -103
  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,38 @@
1
+ /**
2
+ * Glob pattern matching utilities.
3
+ * Shared by exec helper (security allow/deny) and agent ls filter.
4
+ *
5
+ * '*' — matches any characters within a single path segment (non-'/').
6
+ * '**' — matches any characters including '/'.
7
+ */
8
+ /**
9
+ * Converts a glob pattern to a RegExp.
10
+ * Handles path-based matching (split by '/') consistent with minimatch behavior.
11
+ */
12
+ export function globToRegex(pattern) {
13
+ const escape = (s) => s.replace(/[.+^${}()|[\]\\]/g, '\\$&');
14
+ const parts = pattern.split('/');
15
+ const regexParts = parts.map(part => {
16
+ if (part === '**') {
17
+ return '.*';
18
+ }
19
+ return part
20
+ .split('*')
21
+ .map(escape)
22
+ .join('[^/]*');
23
+ });
24
+ return new RegExp(`^${regexParts.join('\\/')}$`);
25
+ }
26
+ /**
27
+ * Checks if a value matches a glob pattern.
28
+ * Returns false on any regex construction error.
29
+ */
30
+ export function matchesPattern(value, pattern) {
31
+ try {
32
+ return globToRegex(pattern).test(value);
33
+ }
34
+ catch {
35
+ return false;
36
+ }
37
+ }
38
+ //# sourceMappingURL=glob-match.js.map
@@ -0,0 +1,46 @@
1
+ /**
2
+ * ID generation utilities.
3
+ * Backward-compatible with packages that import generateId from @crewx/sdk.
4
+ */
5
+ import { randomBytes } from 'crypto';
6
+ const ALPHABET = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
7
+ function randomBase62(length) {
8
+ const bytes = randomBytes(length * 2);
9
+ let result = '';
10
+ for (let i = 0; i < bytes.length && result.length < length; i++) {
11
+ const byte = bytes[i];
12
+ if (byte < 248) {
13
+ result += ALPHABET[byte % 62];
14
+ }
15
+ }
16
+ // Fill remaining with fallback
17
+ while (result.length < length) {
18
+ result += ALPHABET[randomBytes(1)[0] % 62];
19
+ }
20
+ return result;
21
+ }
22
+ /**
23
+ * Generate a random prefixed ID.
24
+ * @example generateId('tsk') // → "tsk_V1StGXR8"
25
+ */
26
+ export function generateId(prefix) {
27
+ return `${prefix}_${randomBase62(8)}`;
28
+ }
29
+ /**
30
+ * Generate a deterministic fingerprint ID from a string input.
31
+ */
32
+ export function generateFingerprint(prefix, input) {
33
+ const { createHash } = require('crypto');
34
+ const hash = createHash('sha256').update(input).digest();
35
+ // XOR-fold 32 bytes into 8 bytes
36
+ const folded = Buffer.alloc(8);
37
+ for (let i = 0; i < 32; i++) {
38
+ folded[i % 8] ^= hash[i];
39
+ }
40
+ let result = '';
41
+ for (const byte of folded) {
42
+ result += ALPHABET[byte % 62];
43
+ }
44
+ return `${prefix}_${result}`;
45
+ }
46
+ //# sourceMappingURL=id.js.map
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Workspace path normalization and hashing utilities.
3
+ */
4
+ import * as path from 'path';
5
+ import { createHash } from 'crypto';
6
+ export function normalizeWorkspacePath(workspacePath) {
7
+ let resolved = path.resolve(workspacePath);
8
+ if (process.platform === 'win32') {
9
+ resolved = resolved.replace(/\\/g, '/');
10
+ resolved = resolved.replace(/^([A-Z]):/, (_match, drive) => `${drive.toLowerCase()}:`);
11
+ }
12
+ if (resolved.length > 1 && !/^[a-zA-Z]:\/$/.test(resolved)) {
13
+ resolved = resolved.replace(/\/+$/, '');
14
+ }
15
+ return resolved;
16
+ }
17
+ export function hashWorkspaceId(workspacePath) {
18
+ const normalizedPath = normalizeWorkspacePath(workspacePath);
19
+ return createHash('sha256').update(normalizedPath).digest('hex');
20
+ }
21
+ //# sourceMappingURL=workspace.js.map
@@ -0,0 +1,31 @@
1
+ /**
2
+ * TypedEventEmitter — typed wrapper around Node's EventEmitter.
3
+ *
4
+ * Design:
5
+ * - `on` / `once` are public (callers subscribe)
6
+ * - `emit` is protected (only subclasses like Crewx can emit)
7
+ * - Async listeners are supported (fire-and-forget, errors isolated)
8
+ * - Returns an UnsubscribeFn from on/once for easy cleanup
9
+ */
10
+ import type { CrewxEventName, CrewxEventPayload, UnsubscribeFn } from './types';
11
+ export declare class TypedEventEmitter {
12
+ private readonly _emitter;
13
+ /**
14
+ * Subscribe to an event. Returns an unsubscribe function.
15
+ *
16
+ * @example
17
+ * const unsub = crewx.on('task:start', (e) => console.log(e.agentRef));
18
+ * // later:
19
+ * unsub();
20
+ */
21
+ on<K extends CrewxEventName>(event: K, listener: (payload: CrewxEventPayload<K>) => void | Promise<void>): UnsubscribeFn;
22
+ /**
23
+ * Subscribe to an event exactly once.
24
+ */
25
+ once<K extends CrewxEventName>(event: K, listener: (payload: CrewxEventPayload<K>) => void | Promise<void>): UnsubscribeFn;
26
+ /**
27
+ * Emit an event with payload. Only accessible to subclasses.
28
+ */
29
+ protected emit<K extends CrewxEventName>(event: K, payload: CrewxEventPayload<K>): void;
30
+ }
31
+ //# sourceMappingURL=TypedEventEmitter.d.ts.map
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ /**
3
+ * TypedEventEmitter — typed wrapper around Node's EventEmitter.
4
+ *
5
+ * Design:
6
+ * - `on` / `once` are public (callers subscribe)
7
+ * - `emit` is protected (only subclasses like Crewx can emit)
8
+ * - Async listeners are supported (fire-and-forget, errors isolated)
9
+ * - Returns an UnsubscribeFn from on/once for easy cleanup
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.TypedEventEmitter = void 0;
13
+ const events_1 = require("events");
14
+ /**
15
+ * Wraps a listener to isolate errors and support async fire-and-forget.
16
+ */
17
+ function makeSafeListener(event, listener) {
18
+ return (payload) => {
19
+ try {
20
+ const result = listener(payload);
21
+ if (result instanceof Promise) {
22
+ result.catch((err) => {
23
+ // Fire-and-forget: isolate async listener errors
24
+ console.error(`[crewx] event listener error (${event}): ${err instanceof Error ? err.message : String(err)}`);
25
+ });
26
+ }
27
+ }
28
+ catch (err) {
29
+ // Synchronous listener error — log and continue
30
+ console.error(`[crewx] event listener error (${event}): ${err instanceof Error ? err.message : String(err)}`);
31
+ }
32
+ };
33
+ }
34
+ class TypedEventEmitter {
35
+ _emitter = new events_1.EventEmitter();
36
+ /**
37
+ * Subscribe to an event. Returns an unsubscribe function.
38
+ *
39
+ * @example
40
+ * const unsub = crewx.on('task:start', (e) => console.log(e.agentRef));
41
+ * // later:
42
+ * unsub();
43
+ */
44
+ on(event, listener) {
45
+ const safeListener = makeSafeListener(event, listener);
46
+ this._emitter.on(event, safeListener);
47
+ return () => this._emitter.off(event, safeListener);
48
+ }
49
+ /**
50
+ * Subscribe to an event exactly once.
51
+ */
52
+ once(event, listener) {
53
+ const safeListener = makeSafeListener(event, listener);
54
+ this._emitter.once(event, safeListener);
55
+ return () => this._emitter.off(event, safeListener);
56
+ }
57
+ /**
58
+ * Emit an event with payload. Only accessible to subclasses.
59
+ */
60
+ emit(event, payload) {
61
+ this._emitter.emit(event, payload);
62
+ }
63
+ }
64
+ exports.TypedEventEmitter = TypedEventEmitter;
65
+ //# sourceMappingURL=TypedEventEmitter.js.map
@@ -0,0 +1,139 @@
1
+ /**
2
+ * Event types for the CrewX SDK event system.
3
+ *
4
+ * SDK emits events; callers (CLI, users) subscribe to persist or react.
5
+ * No DB dependencies in the SDK — storage is the caller's responsibility.
6
+ */
7
+ import type { Platform } from '../conversation/types';
8
+ /** Base fields present on every event. */
9
+ export interface BaseEvent {
10
+ /** Unique trace ID for correlating start/end events. Format: tsk_XXXXXXXX */
11
+ traceId: string;
12
+ /** Event timestamp */
13
+ timestamp: Date;
14
+ }
15
+ /** Emitted when a query() or execute() call begins. */
16
+ export interface TaskStartEvent extends BaseEvent {
17
+ /** Agent reference (e.g. "@claude", "claude") */
18
+ agentRef: string;
19
+ /** The message/prompt being sent */
20
+ message: string;
21
+ /** "query" or "execute" */
22
+ mode: 'query' | 'execute';
23
+ /** PID of the spawned child process (undefined for non-process providers) */
24
+ pid?: number;
25
+ /** Effective model used (e.g. "claude-sonnet-4-6") */
26
+ model?: string;
27
+ /** Provider string (e.g. "cli/claude") */
28
+ provider?: string;
29
+ /** Full CLI command spawned (e.g. "claude -p ... --output-format stream-json") */
30
+ codingAgentCommand?: string;
31
+ /** Full rendered agent system prompt (Handlebars-rendered) */
32
+ renderedPrompt?: string;
33
+ /** Extra metadata (e.g. { provider: "cli/claude" }) */
34
+ metadata?: Record<string, unknown>;
35
+ /** Conversation thread ID */
36
+ threadId?: string;
37
+ /** Platform origin. Defaults to 'cli'. */
38
+ platform?: Platform;
39
+ /** Workspace ID (SHA-256 hash of normalized cwd). Single source of truth from Crewx instance. */
40
+ workspaceId?: string;
41
+ /** Human-readable workspace name (basename of cwd). */
42
+ workspaceName?: string;
43
+ }
44
+ /** Emitted when a query() or execute() call completes (success or failure). */
45
+ export interface TaskEndEvent extends BaseEvent {
46
+ /** Agent reference */
47
+ agentRef: string;
48
+ /** "query" or "execute" */
49
+ mode: 'query' | 'execute';
50
+ /** Result data (on success) */
51
+ result?: string;
52
+ /** Elapsed time in milliseconds */
53
+ durationMs: number;
54
+ /** Error info (on failure) */
55
+ error?: {
56
+ code: string;
57
+ message: string;
58
+ };
59
+ /** Provider process exit code (0 = success) */
60
+ exitCode?: number;
61
+ /** Total input tokens consumed */
62
+ inputTokens?: number;
63
+ /** Total output tokens consumed */
64
+ outputTokens?: number;
65
+ /** Cache-read input tokens */
66
+ cachedInputTokens?: number;
67
+ /** Total cost in USD */
68
+ costUsd?: number;
69
+ /** Actual model used (may differ from agent config when resolved at runtime) */
70
+ model?: string;
71
+ /** Extra metadata propagated from QueryOptions/ExecuteOptions.metadata (e.g. workflow info) */
72
+ metadata?: Record<string, unknown>;
73
+ }
74
+ /** Emitted for each output line from the provider process. */
75
+ export interface TaskOutputEvent extends BaseEvent {
76
+ /** Agent reference */
77
+ agentRef: string;
78
+ /** One line of raw output */
79
+ output: string;
80
+ /** Output stream origin */
81
+ level?: 'stdout' | 'stderr' | 'info';
82
+ }
83
+ export interface ToolBeforeEvent extends BaseEvent {
84
+ agentRef: string;
85
+ agentId: string;
86
+ threadId: string;
87
+ sessionId: string;
88
+ provider: string;
89
+ tool: {
90
+ name: string;
91
+ rawName: string;
92
+ input: unknown;
93
+ toolUseId?: string;
94
+ };
95
+ }
96
+ export interface ToolAfterEvent extends BaseEvent {
97
+ agentRef: string;
98
+ agentId: string;
99
+ threadId: string;
100
+ sessionId: string;
101
+ provider: string;
102
+ tool: {
103
+ name: string;
104
+ rawName: string;
105
+ toolUseId?: string;
106
+ result?: string;
107
+ isError?: boolean;
108
+ };
109
+ }
110
+ export interface AdapterLifecycleEvent {
111
+ adapterId: string;
112
+ instanceId: string;
113
+ state: 'starting' | 'started' | 'stopping' | 'stopped' | 'failed';
114
+ error?: Error;
115
+ timestamp: Date;
116
+ }
117
+ export interface AdapterMessageEvent {
118
+ adapterId: string;
119
+ instanceId: string;
120
+ direction: 'inbound' | 'outbound';
121
+ messageId: string;
122
+ threadId: string;
123
+ timestamp: Date;
124
+ }
125
+ /** All events emitted by the Crewx SDK. */
126
+ export interface CrewxEvents {
127
+ 'task:start': TaskStartEvent;
128
+ 'task:end': TaskEndEvent;
129
+ 'task:output': TaskOutputEvent;
130
+ 'tool:observed:before': ToolBeforeEvent;
131
+ 'tool:observed:after': ToolAfterEvent;
132
+ 'adapter:lifecycle': AdapterLifecycleEvent;
133
+ 'adapter:message': AdapterMessageEvent;
134
+ }
135
+ export type CrewxEventName = keyof CrewxEvents;
136
+ export type CrewxEventPayload<K extends CrewxEventName> = CrewxEvents[K];
137
+ /** Call to remove a specific event listener. */
138
+ export type UnsubscribeFn = () => void;
139
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ /**
3
+ * Event types for the CrewX SDK event system.
4
+ *
5
+ * SDK emits events; callers (CLI, users) subscribe to persist or react.
6
+ * No DB dependencies in the SDK — storage is the caller's responsibility.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Browser-safe Crewx facade.
3
+ *
4
+ * Stripped of all Node.js dependencies (path, fs, child_process, crypto, events).
5
+ * Supports: fromConfig(), query(), execute(), registerTool(), agents, tools.
6
+ *
7
+ * Built-in providers (e.g. api/webllm) are auto-initialised when detected
8
+ * in the agents list — no manual registerProviderFactory required.
9
+ */
10
+ import type { AgentConfig, CrewxProjectConfig, QueryOptions as BaseQueryOptions, QueryResult, ExecuteOptions, ExecuteResult } from '../types/index.js';
11
+ /**
12
+ * Definition for a custom tool that can be registered via crewx.registerTool().
13
+ */
14
+ export interface ToolDefinition {
15
+ name: string;
16
+ description: string;
17
+ parameters?: Record<string, unknown>;
18
+ execute: (args: Record<string, unknown>) => Promise<unknown>;
19
+ }
20
+ /** Extended query options with browser streaming callback. */
21
+ export interface BrowserQueryOptions extends BaseQueryOptions {
22
+ onOutput?: (partial: string) => void;
23
+ }
24
+ /** Options for Crewx.fromConfig() in the browser environment. */
25
+ export interface BrowserFromConfigOptions {
26
+ /** Progress callback for model loading (web-llm). */
27
+ onProgress?: (report: {
28
+ progress?: number;
29
+ text?: string;
30
+ }) => void;
31
+ /** API key for OpenRouter provider. Required when any agent uses api/openrouter. */
32
+ openrouterApiKey?: string;
33
+ }
34
+ export declare class Crewx {
35
+ private readonly _agents;
36
+ private readonly _config?;
37
+ private readonly _tools;
38
+ private readonly _apiProviders;
39
+ private constructor();
40
+ /**
41
+ * Create a Crewx instance from an already-parsed config object.
42
+ *
43
+ * Built-in browser providers (api/webllm, api/openrouter) are auto-initialised
44
+ * when detected in the agents list — no manual registerProviderFactory required.
45
+ */
46
+ static fromConfig(config: CrewxProjectConfig, options?: BrowserFromConfigOptions): Promise<Crewx>;
47
+ /**
48
+ * Load web-llm from CDN, create the inference engine, and store
49
+ * the provider runtime. Called automatically by fromConfig().
50
+ */
51
+ private _initWebLLM;
52
+ /**
53
+ * Initialise the OpenRouter API provider.
54
+ * Uses fetch + SSE streaming against the OpenAI-compatible endpoint.
55
+ */
56
+ private _initOpenRouter;
57
+ get agents(): ReadonlyMap<string, AgentConfig>;
58
+ get config(): CrewxProjectConfig | undefined;
59
+ get tools(): ReadonlyMap<string, ToolDefinition>;
60
+ registerTool(name: string, definition: Omit<ToolDefinition, 'name'>): void;
61
+ /**
62
+ * Query an agent with a message.
63
+ * Browser version — delegates directly to the registered provider factory.
64
+ * Passes onOutput through for streaming support.
65
+ */
66
+ query(agentRef: string, message: string, options?: BrowserQueryOptions): Promise<QueryResult>;
67
+ /**
68
+ * Execute a task with an agent.
69
+ * Browser version — same delegation pattern as query().
70
+ */
71
+ execute(agentRef: string, message: string, options?: ExecuteOptions): Promise<ExecuteResult>;
72
+ }
73
+ //# sourceMappingURL=Crewx.browser.d.ts.map