@crewx/sdk 0.8.0-rc.58

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 (303) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +1022 -0
  3. package/dist/adapters/MastraToolAdapter.d.ts +9 -0
  4. package/dist/adapters/MastraToolAdapter.js +66 -0
  5. package/dist/adapters/MastraToolAdapter.js.map +1 -0
  6. package/dist/api/index.d.ts +2 -0
  7. package/dist/api/index.js +8 -0
  8. package/dist/api/index.js.map +1 -0
  9. package/dist/boxing/box-storage.interface.d.ts +13 -0
  10. package/dist/boxing/box-storage.interface.js +3 -0
  11. package/dist/boxing/box-storage.interface.js.map +1 -0
  12. package/dist/boxing/box.service.d.ts +15 -0
  13. package/dist/boxing/box.service.js +70 -0
  14. package/dist/boxing/box.service.js.map +1 -0
  15. package/dist/boxing/box.types.d.ts +86 -0
  16. package/dist/boxing/box.types.js +3 -0
  17. package/dist/boxing/box.types.js.map +1 -0
  18. package/dist/boxing/context-builder.d.ts +8 -0
  19. package/dist/boxing/context-builder.js +76 -0
  20. package/dist/boxing/context-builder.js.map +1 -0
  21. package/dist/boxing/index.d.ts +6 -0
  22. package/dist/boxing/index.js +11 -0
  23. package/dist/boxing/index.js.map +1 -0
  24. package/dist/boxing/tokenizer.d.ts +3 -0
  25. package/dist/boxing/tokenizer.js +11 -0
  26. package/dist/boxing/tokenizer.js.map +1 -0
  27. package/dist/config/api-provider-parser.d.ts +58 -0
  28. package/dist/config/api-provider-parser.js +212 -0
  29. package/dist/config/api-provider-parser.js.map +1 -0
  30. package/dist/config/index.d.ts +3 -0
  31. package/dist/config/index.js +20 -0
  32. package/dist/config/index.js.map +1 -0
  33. package/dist/config/log.config.d.ts +7 -0
  34. package/dist/config/log.config.js +20 -0
  35. package/dist/config/log.config.js.map +1 -0
  36. package/dist/config/pricing.d.ts +10 -0
  37. package/dist/config/pricing.js +44 -0
  38. package/dist/config/pricing.js.map +1 -0
  39. package/dist/config/timeout.config.d.ts +14 -0
  40. package/dist/config/timeout.config.js +34 -0
  41. package/dist/config/timeout.config.js.map +1 -0
  42. package/dist/config/yaml-loader.d.ts +8 -0
  43. package/dist/config/yaml-loader.js +155 -0
  44. package/dist/config/yaml-loader.js.map +1 -0
  45. package/dist/constants/index.d.ts +4 -0
  46. package/dist/constants/index.js +8 -0
  47. package/dist/constants/index.js.map +1 -0
  48. package/dist/constants.d.ts +1 -0
  49. package/dist/constants.js +18 -0
  50. package/dist/constants.js.map +1 -0
  51. package/dist/conversation/conversation-config.d.ts +9 -0
  52. package/dist/conversation/conversation-config.js +22 -0
  53. package/dist/conversation/conversation-config.js.map +1 -0
  54. package/dist/conversation/conversation-history.interface.d.ts +36 -0
  55. package/dist/conversation/conversation-history.interface.js +3 -0
  56. package/dist/conversation/conversation-history.interface.js.map +1 -0
  57. package/dist/conversation/conversation-storage.service.d.ts +16 -0
  58. package/dist/conversation/conversation-storage.service.js +213 -0
  59. package/dist/conversation/conversation-storage.service.js.map +1 -0
  60. package/dist/conversation/index.d.ts +3 -0
  61. package/dist/conversation/index.js +20 -0
  62. package/dist/conversation/index.js.map +1 -0
  63. package/dist/core/agent/agent-factory.d.ts +37 -0
  64. package/dist/core/agent/agent-factory.js +68 -0
  65. package/dist/core/agent/agent-factory.js.map +1 -0
  66. package/dist/core/agent/agent-runtime.d.ts +52 -0
  67. package/dist/core/agent/agent-runtime.js +206 -0
  68. package/dist/core/agent/agent-runtime.js.map +1 -0
  69. package/dist/core/agent/event-bus.d.ts +44 -0
  70. package/dist/core/agent/event-bus.js +43 -0
  71. package/dist/core/agent/event-bus.js.map +1 -0
  72. package/dist/core/agent/index.d.ts +3 -0
  73. package/dist/core/agent/index.js +13 -0
  74. package/dist/core/agent/index.js.map +1 -0
  75. package/dist/core/env-defaults.d.ts +1 -0
  76. package/dist/core/env-defaults.js +7 -0
  77. package/dist/core/env-defaults.js.map +1 -0
  78. package/dist/core/parallel/helpers.d.ts +27 -0
  79. package/dist/core/parallel/helpers.js +252 -0
  80. package/dist/core/parallel/helpers.js.map +1 -0
  81. package/dist/core/parallel/index.d.ts +4 -0
  82. package/dist/core/parallel/index.js +11 -0
  83. package/dist/core/parallel/index.js.map +1 -0
  84. package/dist/core/parallel/parallel-runner.d.ts +16 -0
  85. package/dist/core/parallel/parallel-runner.js +230 -0
  86. package/dist/core/parallel/parallel-runner.js.map +1 -0
  87. package/dist/core/parallel/types.d.ts +41 -0
  88. package/dist/core/parallel/types.js +3 -0
  89. package/dist/core/parallel/types.js.map +1 -0
  90. package/dist/core/providers/MastraAPIProvider.d.ts +31 -0
  91. package/dist/core/providers/MastraAPIProvider.js +365 -0
  92. package/dist/core/providers/MastraAPIProvider.js.map +1 -0
  93. package/dist/core/providers/ai-provider.interface.d.ts +78 -0
  94. package/dist/core/providers/ai-provider.interface.js +23 -0
  95. package/dist/core/providers/ai-provider.interface.js.map +1 -0
  96. package/dist/core/providers/base-ai.provider.d.ts +80 -0
  97. package/dist/core/providers/base-ai.provider.js +1183 -0
  98. package/dist/core/providers/base-ai.provider.js.map +1 -0
  99. package/dist/core/providers/base-ai.types.d.ts +26 -0
  100. package/dist/core/providers/base-ai.types.js +3 -0
  101. package/dist/core/providers/base-ai.types.js.map +1 -0
  102. package/dist/core/providers/claude.provider.d.ts +19 -0
  103. package/dist/core/providers/claude.provider.js +170 -0
  104. package/dist/core/providers/claude.provider.js.map +1 -0
  105. package/dist/core/providers/codex.provider.d.ts +21 -0
  106. package/dist/core/providers/codex.provider.js +134 -0
  107. package/dist/core/providers/codex.provider.js.map +1 -0
  108. package/dist/core/providers/copilot.provider.d.ts +24 -0
  109. package/dist/core/providers/copilot.provider.js +146 -0
  110. package/dist/core/providers/copilot.provider.js.map +1 -0
  111. package/dist/core/providers/dynamic-provider.factory.d.ts +74 -0
  112. package/dist/core/providers/dynamic-provider.factory.js +643 -0
  113. package/dist/core/providers/dynamic-provider.factory.js.map +1 -0
  114. package/dist/core/providers/gemini.provider.d.ts +16 -0
  115. package/dist/core/providers/gemini.provider.js +101 -0
  116. package/dist/core/providers/gemini.provider.js.map +1 -0
  117. package/dist/core/providers/index.d.ts +8 -0
  118. package/dist/core/providers/index.js +20 -0
  119. package/dist/core/providers/index.js.map +1 -0
  120. package/dist/core/providers/mock.provider.d.ts +13 -0
  121. package/dist/core/providers/mock.provider.js +55 -0
  122. package/dist/core/providers/mock.provider.js.map +1 -0
  123. package/dist/core/providers/provider-factory.d.ts +3 -0
  124. package/dist/core/providers/provider-factory.js +65 -0
  125. package/dist/core/providers/provider-factory.js.map +1 -0
  126. package/dist/core/providers/tool-call.types.d.ts +39 -0
  127. package/dist/core/providers/tool-call.types.js +3 -0
  128. package/dist/core/providers/tool-call.types.js.map +1 -0
  129. package/dist/core/remote/index.d.ts +3 -0
  130. package/dist/core/remote/index.js +20 -0
  131. package/dist/core/remote/index.js.map +1 -0
  132. package/dist/core/remote/remote-agent-manager.d.ts +24 -0
  133. package/dist/core/remote/remote-agent-manager.js +195 -0
  134. package/dist/core/remote/remote-agent-manager.js.map +1 -0
  135. package/dist/core/remote/remote-transport.d.ts +15 -0
  136. package/dist/core/remote/remote-transport.js +70 -0
  137. package/dist/core/remote/remote-transport.js.map +1 -0
  138. package/dist/core/remote/types.d.ts +79 -0
  139. package/dist/core/remote/types.js +3 -0
  140. package/dist/core/remote/types.js.map +1 -0
  141. package/dist/index.d.ts +56 -0
  142. package/dist/index.js +133 -0
  143. package/dist/index.js.map +1 -0
  144. package/dist/internal/index.d.ts +1 -0
  145. package/dist/internal/index.js +6 -0
  146. package/dist/internal/index.js.map +1 -0
  147. package/dist/knowledge/DocumentManager.d.ts +4 -0
  148. package/dist/knowledge/DocumentManager.js +119 -0
  149. package/dist/knowledge/DocumentManager.js.map +1 -0
  150. package/dist/knowledge/index.d.ts +1 -0
  151. package/dist/knowledge/index.js +18 -0
  152. package/dist/knowledge/index.js.map +1 -0
  153. package/dist/parsers/agent-call.util.d.ts +3 -0
  154. package/dist/parsers/agent-call.util.js +17 -0
  155. package/dist/parsers/agent-call.util.js.map +1 -0
  156. package/dist/parsers/claude.parser.d.ts +2 -0
  157. package/dist/parsers/claude.parser.js +46 -0
  158. package/dist/parsers/claude.parser.js.map +1 -0
  159. package/dist/parsers/codex.parser.d.ts +2 -0
  160. package/dist/parsers/codex.parser.js +89 -0
  161. package/dist/parsers/codex.parser.js.map +1 -0
  162. package/dist/parsers/copilot.parser.d.ts +2 -0
  163. package/dist/parsers/copilot.parser.js +58 -0
  164. package/dist/parsers/copilot.parser.js.map +1 -0
  165. package/dist/parsers/gemini.parser.d.ts +2 -0
  166. package/dist/parsers/gemini.parser.js +36 -0
  167. package/dist/parsers/gemini.parser.js.map +1 -0
  168. package/dist/parsers/index.d.ts +7 -0
  169. package/dist/parsers/index.js +45 -0
  170. package/dist/parsers/index.js.map +1 -0
  171. package/dist/schema/skills-parser.d.ts +8 -0
  172. package/dist/schema/skills-parser.js +438 -0
  173. package/dist/schema/skills-parser.js.map +1 -0
  174. package/dist/schema/skills.types.d.ts +158 -0
  175. package/dist/schema/skills.types.js +41 -0
  176. package/dist/schema/skills.types.js.map +1 -0
  177. package/dist/schemas/api-provider.schema.d.ts +432 -0
  178. package/dist/schemas/api-provider.schema.js +50 -0
  179. package/dist/schemas/api-provider.schema.js.map +1 -0
  180. package/dist/services/index.d.ts +2 -0
  181. package/dist/services/index.js +19 -0
  182. package/dist/services/index.js.map +1 -0
  183. package/dist/services/layout-loader.service.d.ts +18 -0
  184. package/dist/services/layout-loader.service.js +271 -0
  185. package/dist/services/layout-loader.service.js.map +1 -0
  186. package/dist/services/layout-renderer.service.d.ts +34 -0
  187. package/dist/services/layout-renderer.service.js +325 -0
  188. package/dist/services/layout-renderer.service.js.map +1 -0
  189. package/dist/services/props-validator.service.d.ts +29 -0
  190. package/dist/services/props-validator.service.js +332 -0
  191. package/dist/services/props-validator.service.js.map +1 -0
  192. package/dist/skills/adapter/claude-skill-adapter.d.ts +11 -0
  193. package/dist/skills/adapter/claude-skill-adapter.js +222 -0
  194. package/dist/skills/adapter/claude-skill-adapter.js.map +1 -0
  195. package/dist/skills/index.d.ts +6 -0
  196. package/dist/skills/index.js +31 -0
  197. package/dist/skills/index.js.map +1 -0
  198. package/dist/skills/runtime/progressive-loader.d.ts +27 -0
  199. package/dist/skills/runtime/progressive-loader.js +186 -0
  200. package/dist/skills/runtime/progressive-loader.js.map +1 -0
  201. package/dist/skills/runtime/runtime-requirements-validator.d.ts +23 -0
  202. package/dist/skills/runtime/runtime-requirements-validator.js +248 -0
  203. package/dist/skills/runtime/runtime-requirements-validator.js.map +1 -0
  204. package/dist/skills/runtime/skill-runtime.service.d.ts +42 -0
  205. package/dist/skills/runtime/skill-runtime.service.js +434 -0
  206. package/dist/skills/runtime/skill-runtime.service.js.map +1 -0
  207. package/dist/tools/file-system.service.d.ts +10 -0
  208. package/dist/tools/file-system.service.js +33 -0
  209. package/dist/tools/file-system.service.js.map +1 -0
  210. package/dist/tools/find.tool.d.ts +85 -0
  211. package/dist/tools/find.tool.js +139 -0
  212. package/dist/tools/find.tool.js.map +1 -0
  213. package/dist/tools/glob.tool.d.ts +100 -0
  214. package/dist/tools/glob.tool.js +153 -0
  215. package/dist/tools/glob.tool.js.map +1 -0
  216. package/dist/tools/grep.tool.d.ts +30 -0
  217. package/dist/tools/grep.tool.js +137 -0
  218. package/dist/tools/grep.tool.js.map +1 -0
  219. package/dist/tools/index.d.ts +12 -0
  220. package/dist/tools/index.js +40 -0
  221. package/dist/tools/index.js.map +1 -0
  222. package/dist/tools/ls.tool.d.ts +24 -0
  223. package/dist/tools/ls.tool.js +94 -0
  224. package/dist/tools/ls.tool.js.map +1 -0
  225. package/dist/tools/read-file.tool.d.ts +30 -0
  226. package/dist/tools/read-file.tool.js +69 -0
  227. package/dist/tools/read-file.tool.js.map +1 -0
  228. package/dist/tools/replace.tool.d.ts +36 -0
  229. package/dist/tools/replace.tool.js +68 -0
  230. package/dist/tools/replace.tool.js.map +1 -0
  231. package/dist/tools/run-shell-command.tool.d.ts +24 -0
  232. package/dist/tools/run-shell-command.tool.js +64 -0
  233. package/dist/tools/run-shell-command.tool.js.map +1 -0
  234. package/dist/tools/tree.tool.d.ts +24 -0
  235. package/dist/tools/tree.tool.js +109 -0
  236. package/dist/tools/tree.tool.js.map +1 -0
  237. package/dist/tools/types.d.ts +42 -0
  238. package/dist/tools/types.js +13 -0
  239. package/dist/tools/types.js.map +1 -0
  240. package/dist/tools/utils/file-utils.d.ts +5 -0
  241. package/dist/tools/utils/file-utils.js +221 -0
  242. package/dist/tools/utils/file-utils.js.map +1 -0
  243. package/dist/tools/write-file.tool.d.ts +24 -0
  244. package/dist/tools/write-file.tool.js +55 -0
  245. package/dist/tools/write-file.tool.js.map +1 -0
  246. package/dist/types/agent.types.d.ts +134 -0
  247. package/dist/types/agent.types.js +16 -0
  248. package/dist/types/agent.types.js.map +1 -0
  249. package/dist/types/api-provider.types.d.ts +85 -0
  250. package/dist/types/api-provider.types.js +65 -0
  251. package/dist/types/api-provider.types.js.map +1 -0
  252. package/dist/types/index.d.ts +6 -0
  253. package/dist/types/index.js +23 -0
  254. package/dist/types/index.js.map +1 -0
  255. package/dist/types/layout.types.d.ts +115 -0
  256. package/dist/types/layout.types.js +22 -0
  257. package/dist/types/layout.types.js.map +1 -0
  258. package/dist/types/provider.types.d.ts +12 -0
  259. package/dist/types/provider.types.js +3 -0
  260. package/dist/types/provider.types.js.map +1 -0
  261. package/dist/types/skill-runtime.types.d.ts +244 -0
  262. package/dist/types/skill-runtime.types.js +44 -0
  263. package/dist/types/skill-runtime.types.js.map +1 -0
  264. package/dist/types/structured-payload.types.d.ts +46 -0
  265. package/dist/types/structured-payload.types.js +65 -0
  266. package/dist/types/structured-payload.types.js.map +1 -0
  267. package/dist/types/task-log.types.d.ts +14 -0
  268. package/dist/types/task-log.types.js +3 -0
  269. package/dist/types/task-log.types.js.map +1 -0
  270. package/dist/types/template.types.d.ts +38 -0
  271. package/dist/types/template.types.js +3 -0
  272. package/dist/types/template.types.js.map +1 -0
  273. package/dist/types.d.ts +1 -0
  274. package/dist/types.js +18 -0
  275. package/dist/types.js.map +1 -0
  276. package/dist/utils/api-provider-normalizer.d.ts +16 -0
  277. package/dist/utils/api-provider-normalizer.js +135 -0
  278. package/dist/utils/api-provider-normalizer.js.map +1 -0
  279. package/dist/utils/base-message-formatter.d.ts +32 -0
  280. package/dist/utils/base-message-formatter.js +170 -0
  281. package/dist/utils/base-message-formatter.js.map +1 -0
  282. package/dist/utils/error-utils.d.ts +3 -0
  283. package/dist/utils/error-utils.js +27 -0
  284. package/dist/utils/error-utils.js.map +1 -0
  285. package/dist/utils/index.d.ts +4 -0
  286. package/dist/utils/index.js +21 -0
  287. package/dist/utils/index.js.map +1 -0
  288. package/dist/utils/math-utils.d.ts +3 -0
  289. package/dist/utils/math-utils.js +10 -0
  290. package/dist/utils/math-utils.js.map +1 -0
  291. package/dist/utils/mention-parser.d.ts +18 -0
  292. package/dist/utils/mention-parser.js +136 -0
  293. package/dist/utils/mention-parser.js.map +1 -0
  294. package/dist/utils/string-utils.d.ts +1 -0
  295. package/dist/utils/string-utils.js +10 -0
  296. package/dist/utils/string-utils.js.map +1 -0
  297. package/dist/utils.d.ts +3 -0
  298. package/dist/utils.js +20 -0
  299. package/dist/utils.js.map +1 -0
  300. package/package.json +134 -0
  301. package/schema/api-provider-config.json +138 -0
  302. package/schema/crewx-config.json +224 -0
  303. package/schema/skills-config.json +306 -0
package/dist/utils.js ADDED
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./utils/error-utils"), exports);
18
+ __exportStar(require("./utils/string-utils"), exports);
19
+ __exportStar(require("./utils/math-utils"), exports);
20
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,uDAAqC;AACrC,qDAAmC"}
package/package.json ADDED
@@ -0,0 +1,134 @@
1
+ {
2
+ "name": "@crewx/sdk",
3
+ "version": "0.8.0-rc.58",
4
+ "license": "Apache-2.0",
5
+ "engines": {
6
+ "node": ">=20.19.0"
7
+ },
8
+ "description": "SowonAI CrewX SDK",
9
+ "type": "commonjs",
10
+ "main": "dist/index.js",
11
+ "module": "dist/index.js",
12
+ "types": "dist/index.d.ts",
13
+ "files": [
14
+ "dist",
15
+ "schema",
16
+ "README.md",
17
+ "LICENSE"
18
+ ],
19
+ "scripts": {
20
+ "build": "tsc -p tsconfig.json",
21
+ "test": "vitest run --config ./vitest.config.ts",
22
+ "test:watch": "vitest --config ./vitest.config.ts",
23
+ "test:ui": "vitest --ui --config ./vitest.config.ts",
24
+ "test:unit": "vitest run --config ./vitest.config.ts tests/unit/**/*.test.ts",
25
+ "test:integration": "vitest run --config ./vitest.config.ts tests/integration/**/*.test.ts --passWithNoTests",
26
+ "test:coverage": "vitest run --config ./vitest.config.ts --coverage",
27
+ "lint": "echo \"SDK lint pending\" && exit 0"
28
+ },
29
+ "exports": {
30
+ ".": {
31
+ "types": "./dist/index.d.ts",
32
+ "import": "./dist/index.js",
33
+ "require": "./dist/index.js"
34
+ },
35
+ "./internal": {
36
+ "types": "./dist/internal/index.d.ts",
37
+ "import": "./dist/internal/index.js",
38
+ "require": "./dist/internal/index.js"
39
+ },
40
+ "./tools": {
41
+ "types": "./dist/tools/index.d.ts",
42
+ "import": "./dist/tools/index.js",
43
+ "require": "./dist/tools/index.js"
44
+ },
45
+ "./api": {
46
+ "types": "./dist/api/index.d.ts",
47
+ "import": "./dist/api/index.js",
48
+ "require": "./dist/api/index.js"
49
+ },
50
+ "./core/env-defaults": {
51
+ "types": "./dist/core/env-defaults.d.ts",
52
+ "import": "./dist/core/env-defaults.js",
53
+ "require": "./dist/core/env-defaults.js"
54
+ },
55
+ "./package.json": "./package.json"
56
+ },
57
+ "typesVersions": {
58
+ "*": {
59
+ "tools": [
60
+ "./dist/tools/index.d.ts"
61
+ ],
62
+ "internal": [
63
+ "./dist/internal/index.d.ts"
64
+ ],
65
+ "api": [
66
+ "./dist/api/index.d.ts"
67
+ ],
68
+ "core/env-defaults": [
69
+ "./dist/core/env-defaults.d.ts"
70
+ ]
71
+ }
72
+ },
73
+ "dependencies": {
74
+ "glob": "^11.0.0",
75
+ "handlebars": "^4.7.8",
76
+ "js-yaml": "^4.1.0",
77
+ "remark-parse": "^11.0.0",
78
+ "remark-stringify": "^11.0.0",
79
+ "unified": "^11.0.5",
80
+ "unist-util-visit": "^5.0.0",
81
+ "zod": "^3.24.1"
82
+ },
83
+ "peerDependencies": {
84
+ "@ai-sdk/anthropic": "^1.0.8",
85
+ "@ai-sdk/google": "^1.0.10",
86
+ "@ai-sdk/openai": "^1.0.11",
87
+ "@ai-sdk/openai-compatible": "^1.0.0",
88
+ "@mastra/core": "^0.24.0",
89
+ "@nestjs/common": "^11.0.0",
90
+ "@nestjs/core": "^11.0.0",
91
+ "@openrouter/ai-sdk-provider": "^1.2.2",
92
+ "ai": "^5.0.92",
93
+ "reflect-metadata": "^0.2.2",
94
+ "rxjs": "^7.8.0"
95
+ },
96
+ "peerDependenciesMeta": {
97
+ "@ai-sdk/anthropic": {
98
+ "optional": true
99
+ },
100
+ "@ai-sdk/google": {
101
+ "optional": true
102
+ },
103
+ "@ai-sdk/openai": {
104
+ "optional": true
105
+ },
106
+ "@ai-sdk/openai-compatible": {
107
+ "optional": true
108
+ },
109
+ "@mastra/core": {
110
+ "optional": true
111
+ },
112
+ "@openrouter/ai-sdk-provider": {
113
+ "optional": true
114
+ },
115
+ "ai": {
116
+ "optional": true
117
+ }
118
+ },
119
+ "publishConfig": {
120
+ "access": "public"
121
+ },
122
+ "devDependencies": {
123
+ "@ai-sdk/anthropic": "^1.0.8",
124
+ "@ai-sdk/google": "^1.0.10",
125
+ "@ai-sdk/openai": "^1.0.11",
126
+ "@ai-sdk/openai-compatible": "^1.0.0",
127
+ "@mastra/core": "^0.24.0",
128
+ "@openrouter/ai-sdk-provider": "^1.2.2",
129
+ "@types/js-yaml": "^4.0.9",
130
+ "ai": "^5.0.92",
131
+ "dotenv": "^17.2.3",
132
+ "typescript": "^5.0.0"
133
+ }
134
+ }
@@ -0,0 +1,138 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://crewx.ai/schemas/api-provider-config.json",
4
+ "title": "CrewX API Provider Configuration",
5
+ "description": "API provider configuration for CrewX agents (OpenAI, Anthropic, Google, Bedrock, LiteLLM, Ollama, SowonAI)",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "required": ["provider", "model"],
9
+ "properties": {
10
+ "provider": {
11
+ "type": "string",
12
+ "enum": [
13
+ "api/openai",
14
+ "api/anthropic",
15
+ "api/google",
16
+ "api/bedrock",
17
+ "api/litellm",
18
+ "api/ollama",
19
+ "api/sowonai"
20
+ ],
21
+ "description": "API provider identifier"
22
+ },
23
+ "url": {
24
+ "type": "string",
25
+ "format": "uri",
26
+ "description": "API base URL (e.g., https://api.openai.com/v1, http://localhost:4000)"
27
+ },
28
+ "apiKey": {
29
+ "type": "string",
30
+ "description": "API key (optional, can use environment variables via {{env.VAR}} template)"
31
+ },
32
+ "model": {
33
+ "type": "string",
34
+ "description": "Model identifier understood by the provider (e.g., gpt-4o, claude-3-5-sonnet-20241022)"
35
+ },
36
+ "temperature": {
37
+ "type": "number",
38
+ "minimum": 0,
39
+ "maximum": 2,
40
+ "default": 0.7,
41
+ "description": "Sampling temperature applied to API calls"
42
+ },
43
+ "maxTokens": {
44
+ "type": "integer",
45
+ "minimum": 1,
46
+ "description": "Maximum completion tokens"
47
+ },
48
+ "options": {
49
+ "type": "object",
50
+ "description": "Mode-specific permissions. Define tools/MCP servers per execution mode (query/execute).",
51
+ "properties": {
52
+ "query": {
53
+ "$ref": "#/$defs/providerModeOptions"
54
+ },
55
+ "execute": {
56
+ "$ref": "#/$defs/providerModeOptions"
57
+ }
58
+ },
59
+ "additionalProperties": {
60
+ "$ref": "#/$defs/providerModeOptions"
61
+ }
62
+ },
63
+ "tools": {
64
+ "type": "array",
65
+ "items": {
66
+ "type": "string"
67
+ },
68
+ "uniqueItems": true,
69
+ "description": "Legacy root-level tool list (SowonFlow style). Prefer options.<mode>.tools instead."
70
+ },
71
+ "mcp": {
72
+ "type": "array",
73
+ "items": {
74
+ "type": "string"
75
+ },
76
+ "uniqueItems": true,
77
+ "description": "Legacy root-level MCP reference list. Prefer options.<mode>.mcp instead."
78
+ },
79
+ "mcp_servers": {
80
+ "type": "array",
81
+ "items": {
82
+ "type": "string"
83
+ },
84
+ "uniqueItems": true,
85
+ "description": "Legacy alias for MCP references (mirrors SowonFlow snake_case). Prefer options.<mode>.mcp instead."
86
+ }
87
+ },
88
+ "$defs": {
89
+ "providerModeOptions": {
90
+ "type": "object",
91
+ "description": "Mode-specific permissions for tools and MCP servers",
92
+ "additionalProperties": false,
93
+ "properties": {
94
+ "tools": {
95
+ "type": "array",
96
+ "items": {
97
+ "type": "string"
98
+ },
99
+ "uniqueItems": true,
100
+ "description": "Tool names enabled in this mode"
101
+ },
102
+ "mcp": {
103
+ "type": "array",
104
+ "items": {
105
+ "type": "string"
106
+ },
107
+ "uniqueItems": true,
108
+ "description": "MCP server references enabled in this mode"
109
+ }
110
+ }
111
+ },
112
+ "mcpServerConfig": {
113
+ "type": "object",
114
+ "description": "Model Context Protocol server process definition",
115
+ "required": ["command", "args"],
116
+ "properties": {
117
+ "command": {
118
+ "type": "string",
119
+ "description": "Executable to launch the MCP server (e.g., npx, node)"
120
+ },
121
+ "args": {
122
+ "type": "array",
123
+ "items": {
124
+ "type": "string"
125
+ },
126
+ "description": "Arguments passed to the command"
127
+ },
128
+ "env": {
129
+ "type": "object",
130
+ "additionalProperties": {
131
+ "type": "string"
132
+ },
133
+ "description": "Environment variables injected when spawning the server (supports {{env.VAR}} template)"
134
+ }
135
+ }
136
+ }
137
+ }
138
+ }
@@ -0,0 +1,224 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://crewx.ai/schemas/crewx-config.json",
4
+ "title": "CrewX Configuration",
5
+ "description": "Complete CrewX configuration including agents, MCP servers, tools, and global variables.",
6
+ "type": "object",
7
+ "properties": {
8
+ "vars": {
9
+ "type": "object",
10
+ "description": "Global variables accessible in templates as {{vars.key}} and in tool execution context",
11
+ "additionalProperties": true
12
+ },
13
+ "mcp_servers": {
14
+ "type": "object",
15
+ "description": "Model Context Protocol server definitions",
16
+ "additionalProperties": {
17
+ "$ref": "#/$defs/mcpServerConfig"
18
+ }
19
+ },
20
+ "agents": {
21
+ "type": "array",
22
+ "description": "Agent definitions",
23
+ "items": {
24
+ "$ref": "#/$defs/agentConfig"
25
+ }
26
+ }
27
+ },
28
+ "$defs": {
29
+ "agentConfig": {
30
+ "type": "object",
31
+ "required": ["id"],
32
+ "properties": {
33
+ "id": {
34
+ "type": "string",
35
+ "description": "Unique agent identifier"
36
+ },
37
+ "name": {
38
+ "type": "string",
39
+ "description": "Human-readable agent name"
40
+ },
41
+ "provider": {
42
+ "type": "string",
43
+ "description": "Provider identifier (cli/claude, api/openai, etc.)",
44
+ "pattern": "^(cli|api)/[a-z0-9-]+$"
45
+ },
46
+ "inline": {
47
+ "type": "object",
48
+ "description": "Inline provider configuration",
49
+ "properties": {
50
+ "model": {
51
+ "type": "string",
52
+ "description": "Model identifier"
53
+ },
54
+ "provider": {
55
+ "type": "string",
56
+ "enum": [
57
+ "api/openai",
58
+ "api/anthropic",
59
+ "api/google",
60
+ "api/bedrock",
61
+ "api/litellm",
62
+ "api/ollama",
63
+ "api/sowonai",
64
+ "cli/claude",
65
+ "cli/gemini",
66
+ "cli/copilot",
67
+ "cli/codex"
68
+ ],
69
+ "description": "Provider type for inline configuration"
70
+ },
71
+ "url": {
72
+ "type": "string",
73
+ "format": "uri",
74
+ "description": "API base URL (for API providers)"
75
+ },
76
+ "apiKey": {
77
+ "type": "string",
78
+ "description": "API key (supports {{env.VAR}} template)"
79
+ },
80
+ "temperature": {
81
+ "type": "number",
82
+ "minimum": 0,
83
+ "maximum": 2,
84
+ "default": 0.7,
85
+ "description": "Sampling temperature"
86
+ },
87
+ "maxTokens": {
88
+ "type": "integer",
89
+ "minimum": 1,
90
+ "description": "Maximum completion tokens"
91
+ },
92
+ "prompt": {
93
+ "type": "string",
94
+ "description": "Agent system prompt (supports templates)"
95
+ }
96
+ }
97
+ },
98
+ "url": {
99
+ "type": "string",
100
+ "format": "uri",
101
+ "description": "API base URL (shorthand for inline.url)"
102
+ },
103
+ "apiKey": {
104
+ "type": "string",
105
+ "description": "API key (shorthand for inline.apiKey, supports {{env.VAR}} template)"
106
+ },
107
+ "model": {
108
+ "type": "string",
109
+ "description": "Model identifier (shorthand for inline.model)"
110
+ },
111
+ "temperature": {
112
+ "type": "number",
113
+ "minimum": 0,
114
+ "maximum": 2,
115
+ "description": "Sampling temperature (shorthand for inline.temperature)"
116
+ },
117
+ "maxTokens": {
118
+ "type": "integer",
119
+ "minimum": 1,
120
+ "description": "Maximum completion tokens (shorthand for inline.maxTokens)"
121
+ },
122
+ "prompt": {
123
+ "type": "string",
124
+ "description": "Agent system prompt (shorthand for inline.prompt, supports templates)"
125
+ },
126
+ "tools": {
127
+ "oneOf": [
128
+ {
129
+ "type": "array",
130
+ "description": "Simple array of tool names (SowonFlow style)",
131
+ "items": {
132
+ "type": "string"
133
+ },
134
+ "uniqueItems": true
135
+ },
136
+ {
137
+ "type": "object",
138
+ "description": "Include/exclude pattern for tool activation",
139
+ "properties": {
140
+ "include": {
141
+ "type": "array",
142
+ "items": {
143
+ "type": "string"
144
+ },
145
+ "uniqueItems": true,
146
+ "description": "Tool names to include"
147
+ },
148
+ "exclude": {
149
+ "type": "array",
150
+ "items": {
151
+ "type": "string"
152
+ },
153
+ "uniqueItems": true,
154
+ "description": "Tool names to exclude"
155
+ }
156
+ }
157
+ }
158
+ ],
159
+ "description": "Tool activation configuration"
160
+ },
161
+ "mcp": {
162
+ "oneOf": [
163
+ {
164
+ "type": "array",
165
+ "description": "Simple array of MCP server names (SowonFlow style)",
166
+ "items": {
167
+ "type": "string"
168
+ },
169
+ "uniqueItems": true
170
+ },
171
+ {
172
+ "type": "object",
173
+ "description": "Include/exclude pattern for MCP server activation",
174
+ "properties": {
175
+ "include": {
176
+ "type": "array",
177
+ "items": {
178
+ "type": "string"
179
+ },
180
+ "uniqueItems": true,
181
+ "description": "MCP server names to include"
182
+ },
183
+ "exclude": {
184
+ "type": "array",
185
+ "items": {
186
+ "type": "string"
187
+ },
188
+ "uniqueItems": true,
189
+ "description": "MCP server names to exclude"
190
+ }
191
+ }
192
+ }
193
+ ],
194
+ "description": "MCP server activation configuration"
195
+ }
196
+ }
197
+ },
198
+ "mcpServerConfig": {
199
+ "type": "object",
200
+ "description": "Model Context Protocol server process definition",
201
+ "required": ["command", "args"],
202
+ "properties": {
203
+ "command": {
204
+ "type": "string",
205
+ "description": "Executable to launch the MCP server (e.g., npx, node)"
206
+ },
207
+ "args": {
208
+ "type": "array",
209
+ "items": {
210
+ "type": "string"
211
+ },
212
+ "description": "Arguments passed to the command"
213
+ },
214
+ "env": {
215
+ "type": "object",
216
+ "additionalProperties": {
217
+ "type": "string"
218
+ },
219
+ "description": "Environment variables (supports {{env.VAR}} template)"
220
+ }
221
+ }
222
+ }
223
+ }
224
+ }