@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
@@ -1,365 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MastraAPIProvider = void 0;
4
- const core_1 = require("@mastra/core");
5
- const openai_1 = require("@ai-sdk/openai");
6
- const anthropic_1 = require("@ai-sdk/anthropic");
7
- const google_1 = require("@ai-sdk/google");
8
- const ai_sdk_provider_1 = require("@openrouter/ai-sdk-provider");
9
- const openai_compatible_1 = require("@ai-sdk/openai-compatible");
10
- const api_provider_types_1 = require("../../types/api-provider.types");
11
- const MastraToolAdapter_1 = require("../../adapters/MastraToolAdapter");
12
- const api_provider_normalizer_1 = require("../../utils/api-provider-normalizer");
13
- const log_config_1 = require("../../config/log.config");
14
- class MastraAPIProvider {
15
- constructor(config, mode = 'query') {
16
- this.filteredToolSets = {};
17
- const normalizedConfig = (0, api_provider_normalizer_1.normalizeAPIProviderConfig)(config);
18
- this.config = normalizedConfig.config;
19
- this.permissionsByMode = normalizedConfig.permissionsByMode;
20
- this.defaultMode = mode;
21
- this.name = this.config.provider;
22
- this.logConfig = (0, log_config_1.getLogConfig)();
23
- }
24
- setTaskLogHandler(handler) {
25
- this.taskLogHandler = handler;
26
- }
27
- emitLog(taskId, level, message) {
28
- if (!this.taskLogHandler)
29
- return;
30
- this.taskLogHandler({
31
- taskId,
32
- timestamp: new Date().toISOString(),
33
- level,
34
- message,
35
- });
36
- }
37
- createModel(config) {
38
- const { provider, model, apiKey, url } = config;
39
- switch (provider) {
40
- case 'api/openai': {
41
- if (url && url.includes('openrouter.ai')) {
42
- console.log('[MastraAPIProvider] Detected OpenRouter, using @openrouter/ai-sdk-provider');
43
- const openrouter = (0, ai_sdk_provider_1.createOpenRouter)({
44
- apiKey: apiKey || '',
45
- });
46
- return openrouter(model);
47
- }
48
- if (apiKey && url) {
49
- const customOpenAI = (0, openai_1.createOpenAI)({ apiKey, baseURL: url });
50
- return customOpenAI(model);
51
- }
52
- else if (apiKey) {
53
- const customOpenAI = (0, openai_1.createOpenAI)({ apiKey });
54
- return customOpenAI(model);
55
- }
56
- return (0, openai_1.openai)(model);
57
- }
58
- case 'api/litellm':
59
- case 'api/ollama':
60
- case 'api/sowonai': {
61
- let defaultURL = 'http://localhost:4000';
62
- let defaultKey = 'dummy';
63
- if (provider === 'api/ollama') {
64
- defaultURL = 'http://localhost:11434/v1';
65
- defaultKey = 'ollama';
66
- }
67
- else if (provider === 'api/sowonai') {
68
- defaultURL = 'https://api.sowon.ai/v1';
69
- }
70
- const providerInstance = (0, openai_compatible_1.createOpenAICompatible)({
71
- name: provider.replace('api/', ''),
72
- baseURL: url || defaultURL,
73
- apiKey: apiKey || defaultKey,
74
- });
75
- return providerInstance(model);
76
- }
77
- case 'api/anthropic': {
78
- if (apiKey && url) {
79
- const customAnthropic = (0, anthropic_1.createAnthropic)({ apiKey, baseURL: url });
80
- return customAnthropic(model);
81
- }
82
- else if (apiKey) {
83
- const customAnthropic = (0, anthropic_1.createAnthropic)({ apiKey });
84
- return customAnthropic(model);
85
- }
86
- return (0, anthropic_1.anthropic)(model);
87
- }
88
- case 'api/bedrock': {
89
- const customAnthropic = (0, anthropic_1.createAnthropic)({
90
- apiKey: apiKey || '',
91
- baseURL: url || 'https://bedrock-runtime.us-east-1.amazonaws.com',
92
- });
93
- return customAnthropic(model);
94
- }
95
- case 'api/google': {
96
- if (apiKey) {
97
- const customGoogle = (0, google_1.createGoogleGenerativeAI)({ apiKey });
98
- return customGoogle(model);
99
- }
100
- return (0, google_1.google)(model);
101
- }
102
- default:
103
- throw new Error(`Unsupported provider: ${provider}`);
104
- }
105
- }
106
- setTools(tools, context) {
107
- this.toolContext = this.applyDefaultModeToContext(context);
108
- this.filteredToolSets = this.buildModeAwareToolSets(tools);
109
- }
110
- applyDefaultModeToContext(context) {
111
- if (!context) {
112
- return undefined;
113
- }
114
- if (context.mode) {
115
- return context;
116
- }
117
- return { ...context, mode: this.defaultMode };
118
- }
119
- buildModeAwareToolSets(tools) {
120
- const lookup = new Map();
121
- for (const tool of tools) {
122
- const identifier = this.getToolIdentifier(tool);
123
- if (identifier) {
124
- lookup.set(identifier, tool);
125
- }
126
- else {
127
- console.warn('[MastraAPIProvider] Ignoring tool without name/id during registration');
128
- }
129
- }
130
- const filtered = {};
131
- for (const [mode, permissions] of Object.entries(this.permissionsByMode)) {
132
- if (!permissions.tools.length) {
133
- filtered[mode] = [];
134
- continue;
135
- }
136
- filtered[mode] = permissions.tools
137
- .map((toolName) => {
138
- if (!lookup.has(toolName)) {
139
- console.warn(`[MastraAPIProvider] Tool '${toolName}' referenced in ${mode} mode but not registered`);
140
- }
141
- return lookup.get(toolName);
142
- })
143
- .filter(Boolean);
144
- }
145
- return filtered;
146
- }
147
- getToolIdentifier(tool) {
148
- if (tool && typeof tool.id === 'string') {
149
- return tool.id;
150
- }
151
- if (tool && typeof tool.name === 'string') {
152
- return tool.name;
153
- }
154
- return undefined;
155
- }
156
- createMastraToolsForMode(mode) {
157
- if (!this.toolContext) {
158
- return {};
159
- }
160
- const registeredTools = this.filteredToolSets[mode] ?? [];
161
- if (registeredTools.length === 0) {
162
- return {};
163
- }
164
- const contextWithMode = { ...this.toolContext, mode };
165
- return MastraToolAdapter_1.MastraToolAdapter.convertTools(registeredTools, contextWithMode);
166
- }
167
- async query(prompt, options = {}) {
168
- return this.runWithMode('query', prompt, options);
169
- }
170
- async execute(prompt, options = {}) {
171
- return this.runWithMode('execute', prompt, options);
172
- }
173
- async runWithMode(mode, prompt, options) {
174
- const taskId = options.taskId || `${this.name}_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
175
- try {
176
- const mastraTools = this.createMastraToolsForMode(mode);
177
- const toolCount = Object.keys(mastraTools).length;
178
- if (toolCount > 0) {
179
- console.log(`[INFO] Registered ${toolCount} tools for ${mode} mode: ${Object.keys(mastraTools).join(', ')}`);
180
- }
181
- else {
182
- console.log(`[INFO] No tools registered for ${mode} mode`);
183
- }
184
- const configToUse = options.model
185
- ? { ...this.config, model: options.model }
186
- : this.config;
187
- console.log(`[INFO] Using model: ${configToUse.model}`);
188
- const modelInstance = this.createModel(configToUse);
189
- const agent = new core_1.Agent({
190
- name: this.config.provider,
191
- model: modelInstance,
192
- instructions: prompt,
193
- tools: mastraTools,
194
- });
195
- const maxSteps = Math.min(this.config.maxSteps ?? api_provider_types_1.DEFAULT_MAX_STEPS, api_provider_types_1.MAX_STEPS_LIMIT);
196
- const generateOptions = { maxSteps };
197
- console.log(`[INFO] Sending request to AI model (maxSteps: ${maxSteps})...`);
198
- const fullOutput = await agent.generate(prompt, generateOptions);
199
- console.log(`[INFO] Received response from AI model`);
200
- return this.convertResponse(fullOutput, taskId);
201
- }
202
- catch (error) {
203
- return {
204
- content: '',
205
- provider: this.name,
206
- command: `${this.name} ${mode}`,
207
- success: false,
208
- error: error.message || 'Unknown error',
209
- taskId,
210
- };
211
- }
212
- }
213
- extractToolName(tc) {
214
- return tc.payload?.toolName || tc.toolName || 'unknown';
215
- }
216
- extractToolArgs(tc) {
217
- return tc.payload?.args || tc.args;
218
- }
219
- extractToolResult(tr) {
220
- return tr?.payload?.result || tr?.result;
221
- }
222
- convertResponse(fullOutput, taskId) {
223
- let content = fullOutput.text || '';
224
- const response = {
225
- content,
226
- provider: this.name,
227
- command: `${this.name} (Mastra)`,
228
- success: true,
229
- taskId,
230
- model: this.config.model,
231
- };
232
- const allToolCalls = [];
233
- const steps = fullOutput.steps || [];
234
- for (const step of steps) {
235
- const stepToolCalls = step.toolCalls || [];
236
- const stepToolResults = step.toolResults || [];
237
- for (let i = 0; i < stepToolCalls.length; i++) {
238
- const tc = stepToolCalls[i];
239
- const tr = stepToolResults[i];
240
- const toolName = this.extractToolName(tc);
241
- const toolArgs = this.extractToolArgs(tc);
242
- const toolResultValue = this.extractToolResult(tr);
243
- console.log(`[INFO] Tool called: ${toolName}`);
244
- if (toolResultValue) {
245
- const resultStr = typeof toolResultValue === 'string'
246
- ? toolResultValue
247
- : JSON.stringify(toolResultValue);
248
- const preview = resultStr.substring(0, this.logConfig.toolResultMaxLength);
249
- console.log(`[INFO] Tool result preview: ${preview}${resultStr.length > this.logConfig.toolResultMaxLength ? '...' : ''}`);
250
- }
251
- allToolCalls.push({
252
- toolName,
253
- toolInput: toolArgs,
254
- toolResult: toolResultValue,
255
- });
256
- }
257
- }
258
- if (allToolCalls.length === 0 && fullOutput.toolCalls?.length > 0) {
259
- for (let i = 0; i < fullOutput.toolCalls.length; i++) {
260
- const tc = fullOutput.toolCalls[i];
261
- const tr = fullOutput.toolResults?.[i];
262
- const toolName = this.extractToolName(tc);
263
- const toolArgs = this.extractToolArgs(tc);
264
- const toolResultValue = this.extractToolResult(tr);
265
- console.log(`[INFO] Tool called: ${toolName}`);
266
- allToolCalls.push({
267
- toolName,
268
- toolInput: toolArgs,
269
- toolResult: toolResultValue,
270
- });
271
- }
272
- }
273
- for (let stepIdx = 0; stepIdx < steps.length; stepIdx++) {
274
- const step = steps[stepIdx];
275
- const stepToolCalls = step.toolCalls || [];
276
- const stepToolResults = step.toolResults || [];
277
- for (let i = 0; i < stepToolCalls.length; i++) {
278
- const tc = stepToolCalls[i];
279
- const tr = stepToolResults[i];
280
- const toolName = this.extractToolName(tc);
281
- const toolArgs = this.extractToolArgs(tc);
282
- const toolResult = this.extractToolResult(tr);
283
- const toolUseId = `toolu_api_${stepIdx}_${i}`;
284
- this.emitLog(taskId, 'STDOUT', JSON.stringify({
285
- type: 'assistant',
286
- message: {
287
- content: [{
288
- type: 'tool_use',
289
- id: toolUseId,
290
- name: toolName,
291
- input: toolArgs,
292
- }],
293
- },
294
- }));
295
- if (toolResult !== undefined) {
296
- const output = typeof toolResult === 'string'
297
- ? toolResult
298
- : JSON.stringify(toolResult);
299
- this.emitLog(taskId, 'STDOUT', JSON.stringify({
300
- type: 'user',
301
- message: {
302
- content: [{
303
- type: 'tool_result',
304
- tool_use_id: toolUseId,
305
- output,
306
- }],
307
- },
308
- }));
309
- }
310
- }
311
- }
312
- if (content) {
313
- this.emitLog(taskId, 'STDOUT', JSON.stringify({
314
- type: 'assistant',
315
- message: {
316
- content: [{ type: 'text', text: content }],
317
- },
318
- }));
319
- }
320
- if (allToolCalls.length > 0) {
321
- console.log(`[INFO] Total tool calls across ${steps.length} step(s): ${allToolCalls.length}`);
322
- response.toolCall = allToolCalls[0];
323
- response.toolCalls = allToolCalls;
324
- response.steps = steps.length;
325
- if (!content && allToolCalls.length > 0) {
326
- const lastCall = allToolCalls[allToolCalls.length - 1];
327
- if (lastCall.toolResult) {
328
- content = `Tool '${lastCall.toolName}' executed successfully:\n\n${lastCall.toolResult}`;
329
- response.content = content;
330
- }
331
- }
332
- }
333
- return response;
334
- }
335
- async isAvailable() {
336
- const { provider, apiKey } = this.config;
337
- if (provider === 'api/ollama') {
338
- return true;
339
- }
340
- if (apiKey) {
341
- return true;
342
- }
343
- switch (provider) {
344
- case 'api/openai':
345
- return !!process.env.OPENAI_API_KEY;
346
- case 'api/anthropic':
347
- return !!process.env.ANTHROPIC_API_KEY;
348
- case 'api/google':
349
- return !!process.env.GOOGLE_API_KEY;
350
- case 'api/bedrock':
351
- return !!process.env.AWS_ACCESS_KEY_ID;
352
- case 'api/litellm':
353
- return !!process.env.LITELLM_API_KEY;
354
- case 'api/sowonai':
355
- return !!process.env.SOWONAI_API_KEY;
356
- default:
357
- return false;
358
- }
359
- }
360
- async getToolPath() {
361
- return null;
362
- }
363
- }
364
- exports.MastraAPIProvider = MastraAPIProvider;
365
- //# sourceMappingURL=MastraAPIProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MastraAPIProvider.js","sourceRoot":"","sources":["../../../src/core/providers/MastraAPIProvider.ts"],"names":[],"mappings":"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"}
@@ -1,79 +0,0 @@
1
- import type { TaskLogEntry } from '../../types/task-log.types';
2
- export declare const ProviderNamespace: {
3
- readonly CLI: "cli";
4
- readonly PLUGIN: "plugin";
5
- readonly API: "api";
6
- readonly REMOTE: "remote";
7
- };
8
- export type ProviderNamespaceType = typeof ProviderNamespace[keyof typeof ProviderNamespace];
9
- export declare const BuiltInProviders: {
10
- readonly CLAUDE: "cli/claude";
11
- readonly GEMINI: "cli/gemini";
12
- readonly COPILOT: "cli/copilot";
13
- readonly CODEX: "cli/codex";
14
- };
15
- export interface AIQueryOptions {
16
- timeout?: number;
17
- workingDirectory?: string;
18
- additionalArgs?: string[];
19
- taskId?: string;
20
- model?: string;
21
- securityKey?: string;
22
- agentId?: string;
23
- messages?: Array<{
24
- text: string;
25
- isAssistant: boolean;
26
- metadata?: Record<string, any>;
27
- }>;
28
- pipedContext?: string;
29
- env?: Record<string, string>;
30
- runtime?: 'native' | 'docker' | 'podman' | {
31
- type?: 'native' | 'docker' | 'podman';
32
- image?: string;
33
- mountPath?: string;
34
- dockerArgs?: string[];
35
- };
36
- traceId?: string;
37
- onProcessStart?: (pid: number) => void;
38
- }
39
- export interface AIResponse {
40
- content: string;
41
- provider: string;
42
- command: string;
43
- success: boolean;
44
- error?: string;
45
- taskId?: string;
46
- model?: string;
47
- toolCall?: {
48
- toolName: string;
49
- toolInput: any;
50
- toolResult: any;
51
- };
52
- toolCalls?: Array<{
53
- toolName: string;
54
- toolInput: any;
55
- toolResult: any;
56
- }>;
57
- steps?: number;
58
- pid?: number;
59
- exitCode?: number | null;
60
- durationMs?: number;
61
- timeToFirstOutputMs?: number;
62
- promptLength?: number;
63
- usage?: {
64
- inputTokens: number;
65
- outputTokens: number;
66
- cachedInputTokens: number;
67
- };
68
- logs?: TaskLogEntry[];
69
- }
70
- export interface AIProvider {
71
- readonly name: string;
72
- isAvailable(): Promise<boolean>;
73
- query(prompt: string, options?: AIQueryOptions): Promise<AIResponse>;
74
- execute(prompt: string, options?: AIQueryOptions): Promise<AIResponse>;
75
- getToolPath(): Promise<string | null>;
76
- }
77
- export declare class ProviderNotAvailableError extends Error {
78
- constructor(providerName: string);
79
- }
@@ -1,23 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ProviderNotAvailableError = exports.BuiltInProviders = exports.ProviderNamespace = void 0;
4
- exports.ProviderNamespace = {
5
- CLI: 'cli',
6
- PLUGIN: 'plugin',
7
- API: 'api',
8
- REMOTE: 'remote',
9
- };
10
- exports.BuiltInProviders = {
11
- CLAUDE: 'cli/claude',
12
- GEMINI: 'cli/gemini',
13
- COPILOT: 'cli/copilot',
14
- CODEX: 'cli/codex',
15
- };
16
- class ProviderNotAvailableError extends Error {
17
- constructor(providerName) {
18
- super(`AI Provider '${providerName}' is not available or not installed`);
19
- this.name = 'ProviderNotAvailableError';
20
- }
21
- }
22
- exports.ProviderNotAvailableError = ProviderNotAvailableError;
23
- //# sourceMappingURL=ai-provider.interface.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ai-provider.interface.js","sourceRoot":"","sources":["../../../src/core/providers/ai-provider.interface.ts"],"names":[],"mappings":";;;AAIa,QAAA,iBAAiB,GAAG;IAC/B,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;IAChB,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;CACR,CAAC;AAIE,QAAA,gBAAgB,GAAG;IAC9B,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,YAAY;IACpB,OAAO,EAAE,aAAa;IACtB,KAAK,EAAE,WAAW;CACV,CAAC;AAgFX,MAAa,yBAA0B,SAAQ,KAAK;IAClD,YAAY,YAAoB;QAC9B,KAAK,CAAC,gBAAgB,YAAY,qCAAqC,CAAC,CAAC;QACzE,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF;AALD,8DAKC"}
@@ -1,84 +0,0 @@
1
- import { type TimeoutConfig } from '../../config/timeout.config';
2
- import { type LogConfig } from '../../config/log.config';
3
- import type { AIProvider, AIQueryOptions, AIResponse } from './ai-provider.interface';
4
- import type { BaseAIProviderOptions, LoggerLike } from './base-ai.types';
5
- import type { ToolCallHandler } from './tool-call.types';
6
- export declare function resolveCallerAgentId(agentId: string | undefined): string;
7
- export declare class ConsoleLogger implements LoggerLike {
8
- private readonly context;
9
- constructor(context: string);
10
- log(message: string, ...optionalParams: any[]): void;
11
- warn(message: string, ...optionalParams: any[]): void;
12
- error(message: string | Error, ...optionalParams: any[]): void;
13
- }
14
- export declare abstract class BaseAIProvider implements AIProvider {
15
- abstract readonly name: string;
16
- protected readonly logger: LoggerLike;
17
- protected toolCallHandler?: ToolCallHandler;
18
- private readonly logsDir;
19
- private readonly crewxVersion;
20
- private readonly taskLogHandler?;
21
- private cachedPath;
22
- protected readonly timeoutConfig: TimeoutConfig;
23
- protected readonly logConfig: LogConfig;
24
- constructor(loggerContext: string, options?: BaseAIProviderOptions);
25
- protected abstract getCliCommand(): string;
26
- protected abstract getDefaultArgs(): string[];
27
- protected abstract getExecuteArgs(): string[];
28
- protected abstract getNotInstalledMessage(): string;
29
- protected getPromptInArgs(): boolean;
30
- protected getDefaultQueryTimeout(): number;
31
- protected getDefaultExecuteTimeout(): number;
32
- protected getDefaultModel(): string | null;
33
- protected getEnv(): Record<string, string>;
34
- private filterClaudePrefixedEnv;
35
- private resolveRuntimeMode;
36
- private resolveContainerCommand;
37
- private resolveDockerImage;
38
- private resolveDockerMountPath;
39
- private resolveDockerArgs;
40
- private ensureContainerCredentials;
41
- private buildDockerSpawnArgs;
42
- protected substituteModelPlaceholders(args: string[], model: string): string[];
43
- protected setToolCallService(toolCallHandler: ToolCallHandler): void;
44
- protected setToolCallHandler(toolCallHandler: ToolCallHandler): void;
45
- protected parseToolUse(content: string): {
46
- isToolUse: boolean;
47
- toolName?: string;
48
- toolInput?: any;
49
- };
50
- protected parseToolUseProviderSpecific(_parsed: any): {
51
- isToolUse: boolean;
52
- toolName?: string;
53
- toolInput?: any;
54
- };
55
- protected parseUsage(stdout: string): {
56
- inputTokens: number;
57
- outputTokens: number;
58
- cachedInputTokens: number;
59
- } | undefined;
60
- protected extractAgentMessageFromJsonLines(content: string): string | null;
61
- private extractAgentMessageFromJsonItem;
62
- protected filterToolUseFromResponse(content: string): string;
63
- protected filterRuntimeLogs(content: string): string;
64
- private shouldStripPromptContainers;
65
- parseProviderError(stderr: string, stdout: string, exitCode?: number | null): {
66
- error: boolean;
67
- message: string;
68
- };
69
- getToolPath(): Promise<string | null>;
70
- protected wrapUserQueryWithSecurity(userQuery: string, securityKey: string): string;
71
- protected extractUserQuery(wrappedQuery: string, securityKey: string): string;
72
- isAvailable(): Promise<boolean>;
73
- private formatLogTimestamp;
74
- private createTaskLogFile;
75
- protected appendTaskLog(taskId: string, level: 'STDOUT' | 'STDERR' | 'INFO' | 'ERROR', message: string): void;
76
- private findTaskLogFile;
77
- query(prompt: string, options?: AIQueryOptions): Promise<AIResponse>;
78
- execute(prompt: string, options?: AIQueryOptions): Promise<AIResponse>;
79
- protected shouldPipeContext(_options?: AIQueryOptions): boolean;
80
- private notifyProcessStart;
81
- private buildPipedContext;
82
- protected isStructuredPayload(value: string): boolean;
83
- protected createStructuredPayload(prompt: string, context: string | null, options?: AIQueryOptions): string;
84
- }