@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
@@ -0,0 +1,212 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.APIProviderParseError = void 0;
4
+ exports.parseAPIProviderConfig = parseAPIProviderConfig;
5
+ exports.parseMCPServers = parseMCPServers;
6
+ exports.substituteEnvVars = substituteEnvVars;
7
+ exports.parseCrewXConfig = parseCrewXConfig;
8
+ exports.validateAPIProviderConfig = validateAPIProviderConfig;
9
+ const api_provider_types_1 = require("../types/api-provider.types");
10
+ const api_provider_schema_1 = require("../schemas/api-provider.schema");
11
+ function isValidAPIProvider(provider) {
12
+ return api_provider_types_1.API_PROVIDER_TYPES.includes(provider);
13
+ }
14
+ class APIProviderParseError extends Error {
15
+ constructor(message, cause) {
16
+ super(message);
17
+ this.cause = cause;
18
+ this.name = 'APIProviderParseError';
19
+ }
20
+ }
21
+ exports.APIProviderParseError = APIProviderParseError;
22
+ function parseAPIProviderConfig(rawConfig, globalEnv = process.env) {
23
+ const providerStr = rawConfig.inline?.provider || rawConfig.provider;
24
+ if (!providerStr) {
25
+ throw new APIProviderParseError('Provider is required for API provider configuration');
26
+ }
27
+ const substitutedProvider = substituteEnvVars(providerStr, globalEnv);
28
+ if (!isValidAPIProvider(substitutedProvider)) {
29
+ throw new APIProviderParseError(`Invalid API provider '${substitutedProvider}'. Valid providers: ${api_provider_types_1.API_PROVIDER_TYPES.join(', ')}`);
30
+ }
31
+ const model = rawConfig.inline?.model || rawConfig.model;
32
+ if (!model) {
33
+ throw new APIProviderParseError(`Model is required for API provider '${substitutedProvider}'`);
34
+ }
35
+ const config = {
36
+ provider: substitutedProvider,
37
+ model: substituteEnvVars(model, globalEnv),
38
+ };
39
+ if (rawConfig.id) {
40
+ config.id = rawConfig.id;
41
+ }
42
+ const url = rawConfig.inline?.url || rawConfig.url;
43
+ if (url) {
44
+ config.url = substituteEnvVars(url, globalEnv);
45
+ }
46
+ const apiKey = rawConfig.inline?.apiKey || rawConfig.apiKey;
47
+ if (apiKey) {
48
+ config.apiKey = substituteEnvVars(apiKey, globalEnv);
49
+ }
50
+ const temperature = rawConfig.inline?.temperature ?? rawConfig.temperature;
51
+ if (temperature !== undefined) {
52
+ if (typeof temperature !== 'number' || temperature < 0 || temperature > 2) {
53
+ throw new APIProviderParseError(`Temperature must be a number between 0 and 2, got: ${temperature}`);
54
+ }
55
+ config.temperature = temperature;
56
+ }
57
+ const maxTokens = rawConfig.inline?.maxTokens ?? rawConfig.maxTokens;
58
+ if (maxTokens !== undefined) {
59
+ if (typeof maxTokens !== 'number' || maxTokens < 1 || !Number.isInteger(maxTokens)) {
60
+ throw new APIProviderParseError(`maxTokens must be a positive integer, got: ${maxTokens}`);
61
+ }
62
+ config.maxTokens = maxTokens;
63
+ }
64
+ const maxSteps = rawConfig.inline?.maxSteps ?? rawConfig.maxSteps;
65
+ if (maxSteps !== undefined) {
66
+ if (typeof maxSteps !== 'number' || maxSteps < 1 || !Number.isInteger(maxSteps)) {
67
+ throw new APIProviderParseError(`maxSteps must be a positive integer, got: ${maxSteps}`);
68
+ }
69
+ config.maxSteps = maxSteps;
70
+ }
71
+ const tools = rawConfig.inline?.tools || rawConfig.tools;
72
+ if (tools) {
73
+ if (Array.isArray(tools)) {
74
+ config.tools = tools;
75
+ }
76
+ else {
77
+ throw new APIProviderParseError('API provider tools must be a simple array of strings (e.g., tools: [github, slack])');
78
+ }
79
+ }
80
+ const mcp = rawConfig.inline?.mcp || rawConfig.mcp;
81
+ if (mcp) {
82
+ if (Array.isArray(mcp)) {
83
+ config.mcp = mcp;
84
+ }
85
+ else {
86
+ throw new APIProviderParseError('API provider mcp must be a simple array of strings (e.g., mcp: [github, slack])');
87
+ }
88
+ }
89
+ const options = rawConfig.inline?.options || rawConfig.options;
90
+ if (options) {
91
+ const parsedOptions = parseProviderOptions(options);
92
+ if (parsedOptions) {
93
+ config.options = parsedOptions;
94
+ }
95
+ }
96
+ return config;
97
+ }
98
+ function parseProviderOptions(rawOptions) {
99
+ const result = api_provider_schema_1.ProviderOptionsSchema.safeParse(rawOptions);
100
+ if (!result.success) {
101
+ throw new APIProviderParseError(`Invalid provider options configuration: ${result.error.message}`, result.error);
102
+ }
103
+ return result.data ?? undefined;
104
+ }
105
+ function parseMCPServers(rawMCPServers, globalEnv = process.env) {
106
+ const result = {};
107
+ for (const [name, rawConfig] of Object.entries(rawMCPServers)) {
108
+ if (!rawConfig.command) {
109
+ throw new APIProviderParseError(`MCP server '${name}' is missing 'command' field`);
110
+ }
111
+ if (!Array.isArray(rawConfig.args)) {
112
+ throw new APIProviderParseError(`MCP server '${name}' 'args' must be an array`);
113
+ }
114
+ const mcpConfig = {
115
+ command: substituteEnvVars(rawConfig.command, globalEnv),
116
+ args: rawConfig.args.map((arg) => substituteEnvVars(arg, globalEnv)),
117
+ };
118
+ if (rawConfig.env) {
119
+ mcpConfig.env = {};
120
+ for (const [key, value] of Object.entries(rawConfig.env)) {
121
+ mcpConfig.env[key] = substituteEnvVars(value, globalEnv);
122
+ }
123
+ }
124
+ result[name] = mcpConfig;
125
+ }
126
+ return result;
127
+ }
128
+ function substituteEnvVars(str, env) {
129
+ if (!str || typeof str !== 'string') {
130
+ return str;
131
+ }
132
+ return str.replace(/\{\{env\.([A-Za-z0-9_]+)\}\}/g, (match, varName) => {
133
+ const value = env[varName];
134
+ if (value === undefined) {
135
+ throw new APIProviderParseError(`Environment variable '${varName}' is not defined (referenced as ${match})`);
136
+ }
137
+ return value;
138
+ });
139
+ }
140
+ function parseCrewXConfig(rawConfig, globalEnv = process.env) {
141
+ const result = {
142
+ vars: rawConfig.vars || {},
143
+ mcpServers: {},
144
+ agents: [],
145
+ };
146
+ if (rawConfig.mcp_servers) {
147
+ result.mcpServers = parseMCPServers(rawConfig.mcp_servers, globalEnv);
148
+ }
149
+ if (rawConfig.agents && Array.isArray(rawConfig.agents)) {
150
+ for (const rawAgent of rawConfig.agents) {
151
+ const providerStr = rawAgent.provider || rawAgent.inline?.provider;
152
+ if (providerStr && providerStr.startsWith('api/')) {
153
+ try {
154
+ const agentConfig = parseAPIProviderConfig(rawAgent, globalEnv);
155
+ result.agents.push(agentConfig);
156
+ }
157
+ catch (error) {
158
+ throw new APIProviderParseError(`Failed to parse agent '${rawAgent.id || 'unknown'}': ${error instanceof Error ? error.message : 'Unknown error'}`, error instanceof Error ? error : undefined);
159
+ }
160
+ }
161
+ }
162
+ }
163
+ return result;
164
+ }
165
+ function validateAPIProviderConfig(config) {
166
+ if (!config || typeof config !== 'object') {
167
+ throw new APIProviderParseError('Configuration must be a valid object');
168
+ }
169
+ if (!isValidAPIProvider(config.provider)) {
170
+ throw new APIProviderParseError(`Invalid provider '${config.provider}'. Valid providers: ${api_provider_types_1.API_PROVIDER_TYPES.join(', ')}`);
171
+ }
172
+ if (!config.model || typeof config.model !== 'string') {
173
+ throw new APIProviderParseError('Model is required and must be a non-empty string');
174
+ }
175
+ if (config.temperature !== undefined) {
176
+ if (typeof config.temperature !== 'number' || config.temperature < 0 || config.temperature > 2) {
177
+ throw new APIProviderParseError(`Temperature must be a number between 0 and 2, got: ${config.temperature}`);
178
+ }
179
+ }
180
+ if (config.maxTokens !== undefined) {
181
+ if (typeof config.maxTokens !== 'number' || config.maxTokens < 1 || !Number.isInteger(config.maxTokens)) {
182
+ throw new APIProviderParseError(`maxTokens must be a positive integer, got: ${config.maxTokens}`);
183
+ }
184
+ }
185
+ if (config.maxSteps !== undefined) {
186
+ if (typeof config.maxSteps !== 'number' || config.maxSteps < 1 || !Number.isInteger(config.maxSteps)) {
187
+ throw new APIProviderParseError(`maxSteps must be a positive integer, got: ${config.maxSteps}`);
188
+ }
189
+ }
190
+ if (config.tools !== undefined) {
191
+ if (!Array.isArray(config.tools)) {
192
+ throw new APIProviderParseError('tools must be an array of strings');
193
+ }
194
+ for (const tool of config.tools) {
195
+ if (typeof tool !== 'string') {
196
+ throw new APIProviderParseError('All tool names must be strings');
197
+ }
198
+ }
199
+ }
200
+ if (config.mcp !== undefined) {
201
+ if (!Array.isArray(config.mcp)) {
202
+ throw new APIProviderParseError('mcp must be an array of strings');
203
+ }
204
+ for (const mcpServer of config.mcp) {
205
+ if (typeof mcpServer !== 'string') {
206
+ throw new APIProviderParseError('All MCP server names must be strings');
207
+ }
208
+ }
209
+ }
210
+ return true;
211
+ }
212
+ //# sourceMappingURL=api-provider-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-provider-parser.js","sourceRoot":"","sources":["../../src/config/api-provider-parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from './timeout.config';
2
+ export * from './api-provider-parser';
3
+ export * from './yaml-loader';
@@ -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("./timeout.config"), exports);
18
+ __exportStar(require("./api-provider-parser"), exports);
19
+ __exportStar(require("./yaml-loader"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,wDAAsC;AACtC,gDAA8B"}
@@ -0,0 +1,7 @@
1
+ export interface LogConfig {
2
+ promptMaxLength: number;
3
+ toolResultMaxLength: number;
4
+ conversationMaxLength: number;
5
+ }
6
+ export declare function getLogConfig(env?: NodeJS.ProcessEnv): LogConfig;
7
+ export declare function getDefaultLogConfig(): LogConfig;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getLogConfig = getLogConfig;
4
+ exports.getDefaultLogConfig = getDefaultLogConfig;
5
+ const DEFAULT_LOG_CONFIG = {
6
+ promptMaxLength: 100000,
7
+ toolResultMaxLength: 20000,
8
+ conversationMaxLength: 40000,
9
+ };
10
+ function getLogConfig(env = process.env) {
11
+ return {
12
+ promptMaxLength: parseInt(env.CREWX_LOG_PROMPT_MAX_LENGTH ?? '') || DEFAULT_LOG_CONFIG.promptMaxLength,
13
+ toolResultMaxLength: parseInt(env.CREWX_LOG_TOOL_RESULT_MAX_LENGTH ?? '') || DEFAULT_LOG_CONFIG.toolResultMaxLength,
14
+ conversationMaxLength: parseInt(env.CREWX_LOG_CONVERSATION_MAX_LENGTH ?? '') || DEFAULT_LOG_CONFIG.conversationMaxLength,
15
+ };
16
+ }
17
+ function getDefaultLogConfig() {
18
+ return { ...DEFAULT_LOG_CONFIG };
19
+ }
20
+ //# sourceMappingURL=log.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.config.js","sourceRoot":"","sources":["../../src/config/log.config.ts"],"names":[],"mappings":";;AAgBA,oCAMC;AAED,kDAEC;AAhBD,MAAM,kBAAkB,GAAc;IACpC,eAAe,EAAE,MAAM;IACvB,mBAAmB,EAAE,KAAK;IAC1B,qBAAqB,EAAE,KAAK;CAC7B,CAAC;AAEF,SAAgB,YAAY,CAAC,MAAyB,OAAO,CAAC,GAAG;IAC/D,OAAO;QACL,eAAe,EAAE,QAAQ,CAAC,GAAG,CAAC,2BAA2B,IAAI,EAAE,CAAC,IAAI,kBAAkB,CAAC,eAAe;QACtG,mBAAmB,EAAE,QAAQ,CAAC,GAAG,CAAC,gCAAgC,IAAI,EAAE,CAAC,IAAI,kBAAkB,CAAC,mBAAmB;QACnH,qBAAqB,EAAE,QAAQ,CAAC,GAAG,CAAC,iCAAiC,IAAI,EAAE,CAAC,IAAI,kBAAkB,CAAC,qBAAqB;KACzH,CAAC;AACJ,CAAC;AAED,SAAgB,mBAAmB;IACjC,OAAO,EAAE,GAAG,kBAAkB,EAAE,CAAC;AACnC,CAAC"}
@@ -0,0 +1,10 @@
1
+ export interface ModelPricing {
2
+ input: number;
3
+ output: number;
4
+ }
5
+ export interface PricingTable {
6
+ [modelKey: string]: ModelPricing;
7
+ }
8
+ export declare const MODEL_PRICING: PricingTable;
9
+ export declare function getPricing(model: string | null | undefined): ModelPricing;
10
+ export declare function calculateCost(inputTokens: number, outputTokens: number, model: string | null | undefined): number;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MODEL_PRICING = void 0;
4
+ exports.getPricing = getPricing;
5
+ exports.calculateCost = calculateCost;
6
+ exports.MODEL_PRICING = {
7
+ 'claude-opus': { input: 15, output: 75 },
8
+ 'opus': { input: 15, output: 75 },
9
+ 'claude-sonnet': { input: 3, output: 15 },
10
+ 'sonnet': { input: 3, output: 15 },
11
+ 'claude-haiku': { input: 0.25, output: 1.25 },
12
+ 'haiku': { input: 0.25, output: 1.25 },
13
+ 'gemini-3-pro-preview': { input: 1.25, output: 5 },
14
+ 'gemini-2-flash': { input: 0.075, output: 0.30 },
15
+ 'gemini-flash': { input: 0.075, output: 0.30 },
16
+ 'default': { input: 1, output: 1 },
17
+ };
18
+ function getPricing(model) {
19
+ const defaultPricing = exports.MODEL_PRICING['default'];
20
+ if (!model) {
21
+ return defaultPricing;
22
+ }
23
+ const normalizedModel = model.toLowerCase();
24
+ const exactMatch = exports.MODEL_PRICING[normalizedModel];
25
+ if (exactMatch) {
26
+ return exactMatch;
27
+ }
28
+ for (const key of Object.keys(exports.MODEL_PRICING)) {
29
+ if (normalizedModel.includes(key)) {
30
+ const partialMatch = exports.MODEL_PRICING[key];
31
+ if (partialMatch) {
32
+ return partialMatch;
33
+ }
34
+ }
35
+ }
36
+ return defaultPricing;
37
+ }
38
+ function calculateCost(inputTokens, outputTokens, model) {
39
+ const pricing = getPricing(model);
40
+ const inputCost = (inputTokens * pricing.input) / 1000000;
41
+ const outputCost = (outputTokens * pricing.output) / 1000000;
42
+ return inputCost + outputCost;
43
+ }
44
+ //# sourceMappingURL=pricing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pricing.js","sourceRoot":"","sources":["../../src/config/pricing.ts"],"names":[],"mappings":";;;AA+CA,gCA4BC;AAUD,sCAWC;AAzEY,QAAA,aAAa,GAAiB;IAEzC,aAAa,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;IACxC,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;IACjC,eAAe,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;IACzC,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;IAClC,cAAc,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;IAC7C,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;IAGtC,sBAAsB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE;IAClD,gBAAgB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE;IAChD,cAAc,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE;IAG9C,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;CACnC,CAAC;AAQF,SAAgB,UAAU,CAAC,KAAgC;IACzD,MAAM,cAAc,GAAG,qBAAa,CAAC,SAAS,CAAiB,CAAC;IAEhE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,cAAc,CAAC;IACxB,CAAC;IAGD,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAG5C,MAAM,UAAU,GAAG,qBAAa,CAAC,eAAe,CAAC,CAAC;IAClD,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,UAAU,CAAC;IACpB,CAAC;IAGD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,qBAAa,CAAC,EAAE,CAAC;QAC7C,IAAI,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,YAAY,GAAG,qBAAa,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO,YAAY,CAAC;YACtB,CAAC;QACH,CAAC;IACH,CAAC;IAGD,OAAO,cAAc,CAAC;AACxB,CAAC;AAUD,SAAgB,aAAa,CAC3B,WAAmB,EACnB,YAAoB,EACpB,KAAgC;IAEhC,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAElC,MAAM,SAAS,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,OAAS,CAAC;IAC5D,MAAM,UAAU,GAAG,CAAC,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,OAAS,CAAC;IAE/D,OAAO,SAAS,GAAG,UAAU,CAAC;AAChC,CAAC"}
@@ -0,0 +1,14 @@
1
+ export interface TimeoutConfig {
2
+ claudeQuery: number;
3
+ claudeExecute: number;
4
+ geminiQuery: number;
5
+ geminiExecute: number;
6
+ copilotQuery: number;
7
+ copilotExecute: number;
8
+ parallel: number;
9
+ stdinInitial: number;
10
+ stdinChunk: number;
11
+ stdinComplete: number;
12
+ }
13
+ export declare function getTimeoutConfig(env?: NodeJS.ProcessEnv): TimeoutConfig;
14
+ export declare function getDefaultTimeoutConfig(): TimeoutConfig;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getTimeoutConfig = getTimeoutConfig;
4
+ exports.getDefaultTimeoutConfig = getDefaultTimeoutConfig;
5
+ const DEFAULT_TIMEOUTS = {
6
+ claudeQuery: 1800000,
7
+ claudeExecute: 1800000,
8
+ geminiQuery: 1800000,
9
+ geminiExecute: 1800000,
10
+ copilotQuery: 1800000,
11
+ copilotExecute: 1800000,
12
+ parallel: 1800000,
13
+ stdinInitial: 30000,
14
+ stdinChunk: 1800000,
15
+ stdinComplete: 100,
16
+ };
17
+ function getTimeoutConfig(env = process.env) {
18
+ return {
19
+ claudeQuery: parseInt(env.CREWCODE_TIMEOUT_CLAUDE_QUERY ?? '') || DEFAULT_TIMEOUTS.claudeQuery,
20
+ claudeExecute: parseInt(env.CREWCODE_TIMEOUT_CLAUDE_EXECUTE ?? '') || DEFAULT_TIMEOUTS.claudeExecute,
21
+ geminiQuery: parseInt(env.CREWCODE_TIMEOUT_GEMINI_QUERY ?? '') || DEFAULT_TIMEOUTS.geminiQuery,
22
+ geminiExecute: parseInt(env.CREWCODE_TIMEOUT_GEMINI_EXECUTE ?? '') || DEFAULT_TIMEOUTS.geminiExecute,
23
+ copilotQuery: parseInt(env.CREWCODE_TIMEOUT_COPILOT_QUERY ?? '') || DEFAULT_TIMEOUTS.copilotQuery,
24
+ copilotExecute: parseInt(env.CREWCODE_TIMEOUT_COPILOT_EXECUTE ?? '') || DEFAULT_TIMEOUTS.copilotExecute,
25
+ parallel: parseInt(env.CREWCODE_TIMEOUT_PARALLEL ?? '') || DEFAULT_TIMEOUTS.parallel,
26
+ stdinInitial: parseInt(env.CREWCODE_TIMEOUT_STDIN_INITIAL ?? '') || DEFAULT_TIMEOUTS.stdinInitial,
27
+ stdinChunk: parseInt(env.CREWCODE_TIMEOUT_STDIN_CHUNK ?? '') || DEFAULT_TIMEOUTS.stdinChunk,
28
+ stdinComplete: parseInt(env.CREWCODE_TIMEOUT_STDIN_COMPLETE ?? '') || DEFAULT_TIMEOUTS.stdinComplete,
29
+ };
30
+ }
31
+ function getDefaultTimeoutConfig() {
32
+ return { ...DEFAULT_TIMEOUTS };
33
+ }
34
+ //# sourceMappingURL=timeout.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeout.config.js","sourceRoot":"","sources":["../../src/config/timeout.config.ts"],"names":[],"mappings":";;AA6BA,4CAaC;AAED,0DAEC;AA9BD,MAAM,gBAAgB,GAAkB;IACtC,WAAW,EAAE,OAAS;IACtB,aAAa,EAAE,OAAS;IACxB,WAAW,EAAE,OAAS;IACtB,aAAa,EAAE,OAAS;IACxB,YAAY,EAAE,OAAS;IACvB,cAAc,EAAE,OAAS;IACzB,QAAQ,EAAE,OAAS;IACnB,YAAY,EAAE,KAAM;IACpB,UAAU,EAAE,OAAS;IACrB,aAAa,EAAE,GAAG;CACnB,CAAC;AAEF,SAAgB,gBAAgB,CAAC,MAAyB,OAAO,CAAC,GAAG;IACnE,OAAO;QACL,WAAW,EAAE,QAAQ,CAAC,GAAG,CAAC,6BAA6B,IAAI,EAAE,CAAC,IAAI,gBAAgB,CAAC,WAAW;QAC9F,aAAa,EAAE,QAAQ,CAAC,GAAG,CAAC,+BAA+B,IAAI,EAAE,CAAC,IAAI,gBAAgB,CAAC,aAAa;QACpG,WAAW,EAAE,QAAQ,CAAC,GAAG,CAAC,6BAA6B,IAAI,EAAE,CAAC,IAAI,gBAAgB,CAAC,WAAW;QAC9F,aAAa,EAAE,QAAQ,CAAC,GAAG,CAAC,+BAA+B,IAAI,EAAE,CAAC,IAAI,gBAAgB,CAAC,aAAa;QACpG,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,8BAA8B,IAAI,EAAE,CAAC,IAAI,gBAAgB,CAAC,YAAY;QACjG,cAAc,EAAE,QAAQ,CAAC,GAAG,CAAC,gCAAgC,IAAI,EAAE,CAAC,IAAI,gBAAgB,CAAC,cAAc;QACvG,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,yBAAyB,IAAI,EAAE,CAAC,IAAI,gBAAgB,CAAC,QAAQ;QACpF,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,8BAA8B,IAAI,EAAE,CAAC,IAAI,gBAAgB,CAAC,YAAY;QACjG,UAAU,EAAE,QAAQ,CAAC,GAAG,CAAC,4BAA4B,IAAI,EAAE,CAAC,IAAI,gBAAgB,CAAC,UAAU;QAC3F,aAAa,EAAE,QAAQ,CAAC,GAAG,CAAC,+BAA+B,IAAI,EAAE,CAAC,IAAI,gBAAgB,CAAC,aAAa;KACrG,CAAC;AACJ,CAAC;AAED,SAAgB,uBAAuB;IACrC,OAAO,EAAE,GAAG,gBAAgB,EAAE,CAAC;AACjC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { CrewxAgentConfig } from '../core/agent/agent-factory';
2
+ export declare class YamlConfigError extends Error {
3
+ readonly cause?: Error | undefined;
4
+ constructor(message: string, cause?: Error | undefined);
5
+ }
6
+ export declare function loadAgentConfigFromYaml(yamlString: string): CrewxAgentConfig;
7
+ export declare function loadAgentConfigFromFile(filePath: string): CrewxAgentConfig;
8
+ export declare function validateAgentConfig(config: CrewxAgentConfig): boolean;
@@ -0,0 +1,155 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.YamlConfigError = void 0;
4
+ exports.loadAgentConfigFromYaml = loadAgentConfigFromYaml;
5
+ exports.loadAgentConfigFromFile = loadAgentConfigFromFile;
6
+ exports.validateAgentConfig = validateAgentConfig;
7
+ const js_yaml_1 = require("js-yaml");
8
+ const fs_1 = require("fs");
9
+ const api_provider_parser_1 = require("./api-provider-parser");
10
+ class YamlConfigError extends Error {
11
+ constructor(message, cause) {
12
+ super(message);
13
+ this.cause = cause;
14
+ this.name = 'YamlConfigError';
15
+ }
16
+ }
17
+ exports.YamlConfigError = YamlConfigError;
18
+ function loadAgentConfigFromYaml(yamlString) {
19
+ if (!yamlString || typeof yamlString !== 'string') {
20
+ throw new YamlConfigError('YAML string is required and must be a non-empty string');
21
+ }
22
+ let parsed;
23
+ try {
24
+ const trimmed = yamlString.trim();
25
+ parsed = (0, js_yaml_1.load)(trimmed);
26
+ if (process.env.DEBUG_YAML === '1') {
27
+ console.log('[YAML DEBUG] Input length:', yamlString.length);
28
+ console.log('[YAML DEBUG] Trimmed length:', trimmed.length);
29
+ console.log('[YAML DEBUG] Parsed:', JSON.stringify(parsed));
30
+ console.log('[YAML DEBUG] Type:', typeof parsed);
31
+ console.log('[YAML DEBUG] Is null:', parsed === null);
32
+ console.log('[YAML DEBUG] Is array:', Array.isArray(parsed));
33
+ console.log('[YAML DEBUG] Truthy check:', !parsed);
34
+ }
35
+ }
36
+ catch (error) {
37
+ throw new YamlConfigError(`Failed to parse YAML: ${error instanceof Error ? error.message : 'Unknown error'}`, error instanceof Error ? error : undefined);
38
+ }
39
+ if (parsed === null || parsed === undefined || typeof parsed !== 'object' || Array.isArray(parsed)) {
40
+ throw new YamlConfigError('YAML must contain a valid object structure');
41
+ }
42
+ return parseYamlConfig(parsed);
43
+ }
44
+ function loadAgentConfigFromFile(filePath) {
45
+ if (!filePath || typeof filePath !== 'string') {
46
+ throw new YamlConfigError('File path is required and must be a non-empty string');
47
+ }
48
+ let fileContent;
49
+ try {
50
+ fileContent = (0, fs_1.readFileSync)(filePath, 'utf-8');
51
+ }
52
+ catch (error) {
53
+ throw new YamlConfigError(`Failed to read YAML file '${filePath}': ${error instanceof Error ? error.message : 'Unknown error'}`, error instanceof Error ? error : undefined);
54
+ }
55
+ return loadAgentConfigFromYaml(fileContent);
56
+ }
57
+ function parseYamlConfig(raw) {
58
+ const config = {};
59
+ if (raw.agents && typeof raw.agents === 'object') {
60
+ const agentIds = Object.keys(raw.agents);
61
+ if (agentIds.length > 0) {
62
+ const firstAgentId = agentIds[0];
63
+ const agentConfig = raw.agents[firstAgentId];
64
+ if (agentConfig) {
65
+ config.defaultAgentId = firstAgentId;
66
+ if (agentConfig.provider) {
67
+ config.provider = parseProvider(agentConfig.provider, agentConfig.inline, agentConfig);
68
+ }
69
+ if (agentConfig.knowledgeBase) {
70
+ config.knowledgeBase = parseKnowledgeBase(agentConfig.knowledgeBase);
71
+ }
72
+ }
73
+ }
74
+ }
75
+ if (raw.defaults && typeof raw.defaults === 'object') {
76
+ if (raw.defaults.provider && !config.provider) {
77
+ config.provider = parseProvider(raw.defaults.provider);
78
+ }
79
+ if (raw.defaults.knowledgeBase && !config.knowledgeBase) {
80
+ config.knowledgeBase = parseKnowledgeBase(raw.defaults.knowledgeBase);
81
+ }
82
+ }
83
+ return config;
84
+ }
85
+ function parseProvider(providerString, inline, rawAgentConfig) {
86
+ if (!providerString || typeof providerString !== 'string') {
87
+ throw new YamlConfigError('Provider must be a non-empty string');
88
+ }
89
+ const parts = providerString.split('/');
90
+ if (parts.length !== 2) {
91
+ throw new YamlConfigError(`Invalid provider format '${providerString}'. Expected format: 'namespace/id' (e.g., 'cli/claude')`);
92
+ }
93
+ const [namespace, id] = parts;
94
+ if (!namespace || !id) {
95
+ throw new YamlConfigError(`Provider namespace and id cannot be empty. Got: '${providerString}'`);
96
+ }
97
+ if (namespace === 'api') {
98
+ try {
99
+ const apiRawConfig = {
100
+ provider: providerString,
101
+ ...rawAgentConfig,
102
+ inline: inline ? { ...inline, provider: providerString } : { provider: providerString },
103
+ };
104
+ return (0, api_provider_parser_1.parseAPIProviderConfig)(apiRawConfig);
105
+ }
106
+ catch (error) {
107
+ throw new YamlConfigError(`Failed to parse API provider '${providerString}': ${error instanceof Error ? error.message : 'Unknown error'}`, error instanceof Error ? error : undefined);
108
+ }
109
+ }
110
+ const config = {
111
+ namespace,
112
+ id,
113
+ };
114
+ if (inline && typeof inline === 'object') {
115
+ if (inline.model && typeof inline.model === 'string') {
116
+ config.model = inline.model;
117
+ }
118
+ if (inline.apiKey && typeof inline.apiKey === 'string') {
119
+ config.apiKey = inline.apiKey;
120
+ }
121
+ }
122
+ return config;
123
+ }
124
+ function parseKnowledgeBase(value) {
125
+ if (typeof value === 'string') {
126
+ return { path: value };
127
+ }
128
+ if (Array.isArray(value)) {
129
+ return { sources: value.filter((s) => typeof s === 'string') };
130
+ }
131
+ throw new YamlConfigError('Knowledge base must be a string (path) or array of strings (sources)');
132
+ }
133
+ function validateAgentConfig(config) {
134
+ if (!config || typeof config !== 'object') {
135
+ throw new YamlConfigError('Configuration must be a valid object');
136
+ }
137
+ if (config.provider) {
138
+ if ('namespace' in config.provider && 'id' in config.provider) {
139
+ if (!config.provider.namespace || !config.provider.id) {
140
+ throw new YamlConfigError('Provider must have both namespace and id');
141
+ }
142
+ }
143
+ else {
144
+ }
145
+ }
146
+ if (config.knowledgeBase) {
147
+ const hasPath = config.knowledgeBase.path && typeof config.knowledgeBase.path === 'string';
148
+ const hasSources = Array.isArray(config.knowledgeBase.sources) && config.knowledgeBase.sources.length > 0;
149
+ if (!hasPath && !hasSources) {
150
+ throw new YamlConfigError('Knowledge base must have either path or sources');
151
+ }
152
+ }
153
+ return true;
154
+ }
155
+ //# sourceMappingURL=yaml-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yaml-loader.js","sourceRoot":"","sources":["../../src/config/yaml-loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare const SERVER_NAME = "crewx";
2
+ export declare const PREFIX_TOOL_NAME = "crewx_";
3
+ export declare const DEFAULT_MAX_FILE_SIZE: number;
4
+ export declare const DEFAULT_MAX_FILES = 100;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEFAULT_MAX_FILES = exports.DEFAULT_MAX_FILE_SIZE = exports.PREFIX_TOOL_NAME = exports.SERVER_NAME = void 0;
4
+ exports.SERVER_NAME = 'crewx';
5
+ exports.PREFIX_TOOL_NAME = 'crewx_';
6
+ exports.DEFAULT_MAX_FILE_SIZE = 1024 * 1024;
7
+ exports.DEFAULT_MAX_FILES = 100;
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG,OAAO,CAAC;AACtB,QAAA,gBAAgB,GAAG,QAAQ,CAAC;AAC5B,QAAA,qBAAqB,GAAG,IAAI,GAAG,IAAI,CAAC;AACpC,QAAA,iBAAiB,GAAG,GAAG,CAAC"}
@@ -0,0 +1 @@
1
+ export * from './constants/index';
@@ -0,0 +1,18 @@
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("./constants/index"), exports);
18
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC"}
@@ -0,0 +1,9 @@
1
+ export interface ConversationConfig {
2
+ maxMessages: number;
3
+ maxContextLength: number;
4
+ cacheTTL: number;
5
+ maxCacheSize: number;
6
+ enabled: boolean;
7
+ }
8
+ export declare const DEFAULT_CONVERSATION_CONFIG: ConversationConfig;
9
+ export declare function getConversationConfig(env?: NodeJS.ProcessEnv): ConversationConfig;