@sowonai/crewx-sdk 0.1.0-dev.0 → 0.1.0-dev.1

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 (59) hide show
  1. package/README.md +115 -0
  2. package/dist/core/parallel/index.d.ts +2 -0
  3. package/dist/core/parallel/index.js +8 -0
  4. package/dist/core/parallel/index.js.map +1 -0
  5. package/dist/core/parallel/parallel-runner.d.ts +16 -0
  6. package/dist/core/parallel/parallel-runner.js +230 -0
  7. package/dist/core/parallel/parallel-runner.js.map +1 -0
  8. package/dist/core/parallel/types.d.ts +41 -0
  9. package/dist/core/parallel/types.js +3 -0
  10. package/dist/core/parallel/types.js.map +1 -0
  11. package/dist/core/providers/base-ai.provider.d.ts +12 -26
  12. package/dist/core/providers/base-ai.provider.js +37 -30
  13. package/dist/core/providers/base-ai.provider.js.map +1 -1
  14. package/dist/core/providers/base-ai.types.d.ts +15 -0
  15. package/dist/core/providers/base-ai.types.js +3 -0
  16. package/dist/core/providers/base-ai.types.js.map +1 -0
  17. package/dist/core/providers/claude.provider.d.ts +4 -3
  18. package/dist/core/providers/claude.provider.js +16 -33
  19. package/dist/core/providers/claude.provider.js.map +1 -1
  20. package/dist/core/providers/codex.provider.d.ts +2 -1
  21. package/dist/core/providers/codex.provider.js +4 -18
  22. package/dist/core/providers/codex.provider.js.map +1 -1
  23. package/dist/core/providers/copilot.provider.d.ts +4 -3
  24. package/dist/core/providers/copilot.provider.js +10 -28
  25. package/dist/core/providers/copilot.provider.js.map +1 -1
  26. package/dist/core/providers/gemini.provider.d.ts +4 -3
  27. package/dist/core/providers/gemini.provider.js +18 -36
  28. package/dist/core/providers/gemini.provider.js.map +1 -1
  29. package/dist/core/providers/index.d.ts +5 -0
  30. package/dist/core/providers/index.js +14 -0
  31. package/dist/core/providers/index.js.map +1 -0
  32. package/dist/core/providers/tool-call.types.d.ts +39 -0
  33. package/dist/core/providers/tool-call.types.js +3 -0
  34. package/dist/core/providers/tool-call.types.js.map +1 -0
  35. package/dist/core/remote/index.d.ts +3 -0
  36. package/dist/core/remote/index.js +20 -0
  37. package/dist/core/remote/index.js.map +1 -0
  38. package/dist/core/remote/remote-agent-manager.d.ts +24 -0
  39. package/dist/core/remote/remote-agent-manager.js +195 -0
  40. package/dist/core/remote/remote-agent-manager.js.map +1 -0
  41. package/dist/core/remote/remote-transport.d.ts +15 -0
  42. package/dist/core/remote/remote-transport.js +70 -0
  43. package/dist/core/remote/remote-transport.js.map +1 -0
  44. package/dist/core/remote/types.d.ts +79 -0
  45. package/dist/core/remote/types.js +3 -0
  46. package/dist/core/remote/types.js.map +1 -0
  47. package/dist/index.d.ts +9 -0
  48. package/dist/index.js +19 -1
  49. package/dist/index.js.map +1 -1
  50. package/dist/utils/base-message-formatter.d.ts +32 -0
  51. package/dist/utils/base-message-formatter.js +170 -0
  52. package/dist/utils/base-message-formatter.js.map +1 -0
  53. package/package.json +1 -1
  54. package/dist/core/providers/dynamic-provider.factory.d.ts +0 -55
  55. package/dist/core/providers/dynamic-provider.factory.js +0 -587
  56. package/dist/core/providers/dynamic-provider.factory.js.map +0 -1
  57. package/dist/version.d.ts +0 -1
  58. package/dist/version.js +0 -17
  59. package/dist/version.js.map +0 -1
@@ -1,587 +0,0 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
19
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
21
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
22
- return c > 3 && r && Object.defineProperty(target, key, r), r;
23
- };
24
- var __importStar = (this && this.__importStar) || (function () {
25
- var ownKeys = function(o) {
26
- ownKeys = Object.getOwnPropertyNames || function (o) {
27
- var ar = [];
28
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
- return ar;
30
- };
31
- return ownKeys(o);
32
- };
33
- return function (mod) {
34
- if (mod && mod.__esModule) return mod;
35
- var result = {};
36
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
- __setModuleDefault(result, mod);
38
- return result;
39
- };
40
- })();
41
- var DynamicProviderFactory_1;
42
- Object.defineProperty(exports, "__esModule", { value: true });
43
- exports.DynamicProviderFactory = void 0;
44
- const common_1 = require("@nestjs/common");
45
- const base_ai_provider_1 = require("./base-ai.provider");
46
- const ai_provider_interface_1 = require("./ai-provider.interface");
47
- const timeout_config_1 = require("../../config/timeout.config");
48
- let DynamicProviderFactory = DynamicProviderFactory_1 = class DynamicProviderFactory {
49
- constructor() {
50
- this.logger = new common_1.Logger(DynamicProviderFactory_1.name);
51
- this.timeoutConfig = (0, timeout_config_1.getTimeoutConfig)();
52
- this.BLOCKED_CLI_COMMANDS = [
53
- 'bash', 'sh', 'zsh', 'fish', 'ksh', 'tcsh', 'csh',
54
- 'cmd', 'powershell', 'pwsh', 'command',
55
- 'python', 'python3', 'node', 'ruby', 'perl', 'php',
56
- 'rm', 'del', 'rmdir', 'mv', 'cp', 'dd',
57
- 'chmod', 'chown', 'sudo', 'su', 'doas',
58
- 'curl', 'wget', 'nc', 'netcat', 'telnet', 'ssh',
59
- 'eval', 'exec', 'source',
60
- ];
61
- }
62
- createProvider(config) {
63
- this.logger.log(`Creating dynamic provider: ${config.id}`);
64
- if (config.type === 'plugin') {
65
- return this.createPluginProvider(config);
66
- }
67
- else if (config.type === 'remote') {
68
- return this.createRemoteProvider(config);
69
- }
70
- else {
71
- throw new Error(`Unknown provider type: ${config.type}`);
72
- }
73
- }
74
- createPluginProvider(config) {
75
- this.validateCliCommand(config.cli_command);
76
- this.validateCliArgs(config.query_args);
77
- this.validateCliArgs(config.execute_args);
78
- this.validateErrorPatterns(config.error_patterns);
79
- this.validateEnv(config.env);
80
- class DynamicAIProvider extends base_ai_provider_1.BaseAIProvider {
81
- constructor() {
82
- super(`DynamicProvider:${ai_provider_interface_1.ProviderNamespace.PLUGIN}/${config.id}`);
83
- this.name = `${ai_provider_interface_1.ProviderNamespace.PLUGIN}/${config.id}`;
84
- }
85
- getCliCommand() {
86
- return config.cli_command;
87
- }
88
- getDefaultArgs() {
89
- return config.query_args || [];
90
- }
91
- getExecuteArgs() {
92
- return config.execute_args || [];
93
- }
94
- getDefaultModel() {
95
- return config.default_model || 'default';
96
- }
97
- getPromptInArgs() {
98
- return config.prompt_in_args ?? false;
99
- }
100
- shouldPipeContext() {
101
- if (this.getPromptInArgs()) {
102
- return false;
103
- }
104
- return super.shouldPipeContext();
105
- }
106
- getNotInstalledMessage() {
107
- return (config.not_installed_message ||
108
- `${config.display_name || config.id} CLI is not installed.`);
109
- }
110
- getDefaultQueryTimeout() {
111
- return config.timeout?.query ?? 600000;
112
- }
113
- getDefaultExecuteTimeout() {
114
- return config.timeout?.execute ?? this.timeoutConfig.parallel;
115
- }
116
- getEnv() {
117
- return config.env || {};
118
- }
119
- async isAvailable() {
120
- const cliCommand = this.getCliCommand();
121
- if (cliCommand.includes('/') || cliCommand.includes('\\')) {
122
- try {
123
- const { access } = await Promise.resolve().then(() => __importStar(require('fs/promises')));
124
- const { constants } = await Promise.resolve().then(() => __importStar(require('fs')));
125
- const { resolve } = await Promise.resolve().then(() => __importStar(require('path')));
126
- const absolutePath = resolve(process.cwd(), cliCommand);
127
- await access(absolutePath, constants.X_OK);
128
- return true;
129
- }
130
- catch {
131
- return false;
132
- }
133
- }
134
- return super.isAvailable();
135
- }
136
- parseProviderError(stderr, stdout) {
137
- if (!config.error_patterns) {
138
- return super.parseProviderError(stderr, stdout);
139
- }
140
- const combinedOutput = stderr || stdout;
141
- for (const errorPattern of config.error_patterns) {
142
- if (combinedOutput.includes(errorPattern.pattern)) {
143
- return {
144
- error: true,
145
- message: errorPattern.message,
146
- };
147
- }
148
- }
149
- return super.parseProviderError(stderr, stdout);
150
- }
151
- }
152
- return new DynamicAIProvider();
153
- }
154
- createRemoteProvider(config) {
155
- this.logger.log(`Creating remote provider: ${config.id}`);
156
- this.validateRemoteConfig(config);
157
- class RemoteAIProvider extends base_ai_provider_1.BaseAIProvider {
158
- constructor() {
159
- super(`RemoteProvider:${ai_provider_interface_1.ProviderNamespace.REMOTE}/${config.id}`);
160
- this.name = `${ai_provider_interface_1.ProviderNamespace.REMOTE}/${config.id}`;
161
- }
162
- getCliCommand() {
163
- if (config.location.startsWith('file://')) {
164
- return 'crewx';
165
- }
166
- return 'curl';
167
- }
168
- getDefaultArgs() {
169
- if (config.location.startsWith('file://')) {
170
- const configPath = config.location.replace('file://', '');
171
- return [
172
- 'query',
173
- '--raw',
174
- `--config=${configPath}`
175
- ];
176
- }
177
- const args = [
178
- '-X', 'POST',
179
- config.location + '/mcp/query',
180
- '-H', 'Content-Type: application/json'
181
- ];
182
- const authHeader = this.getAuthHeader();
183
- if (authHeader) {
184
- args.push('-H', `Authorization: ${authHeader}`);
185
- }
186
- return args;
187
- }
188
- getExecuteArgs() {
189
- if (config.location.startsWith('file://')) {
190
- const configPath = config.location.replace('file://', '');
191
- return [
192
- 'execute',
193
- '--raw',
194
- `--config=${configPath}`
195
- ];
196
- }
197
- const args = [
198
- '-X', 'POST',
199
- config.location + '/mcp/execute',
200
- '-H', 'Content-Type: application/json'
201
- ];
202
- const authHeader = this.getAuthHeader();
203
- if (authHeader) {
204
- args.push('-H', `Authorization: ${authHeader}`);
205
- }
206
- return args;
207
- }
208
- getDefaultModel() {
209
- return config.default_model || 'default';
210
- }
211
- getPromptInArgs() {
212
- return true;
213
- }
214
- getNotInstalledMessage() {
215
- if (config.location.startsWith('file://')) {
216
- const configPath = config.location.replace('file://', '');
217
- return `Remote CrewX configuration not found: ${configPath}`;
218
- }
219
- return `Remote CrewX server not accessible: ${config.location}`;
220
- }
221
- getDefaultQueryTimeout() {
222
- return config.timeout?.query ?? 300000;
223
- }
224
- getDefaultExecuteTimeout() {
225
- return config.timeout?.execute ?? 600000;
226
- }
227
- getAuthHeader() {
228
- if (!config.auth || config.auth.type === 'none') {
229
- return '';
230
- }
231
- if (config.auth.type === 'bearer' && config.auth.token) {
232
- return `Bearer ${config.auth.token}`;
233
- }
234
- if (config.auth.type === 'api_key' && config.auth.token) {
235
- return `Api-Key ${config.auth.token}`;
236
- }
237
- return '';
238
- }
239
- async isAvailable() {
240
- if (config.location.startsWith('file://')) {
241
- try {
242
- const { access } = await Promise.resolve().then(() => __importStar(require('fs/promises')));
243
- const { constants } = await Promise.resolve().then(() => __importStar(require('fs')));
244
- const configPath = config.location.replace('file://', '');
245
- await access(configPath, constants.R_OK);
246
- const cliAvailable = await super.isAvailable();
247
- return cliAvailable;
248
- }
249
- catch {
250
- return false;
251
- }
252
- }
253
- try {
254
- const controller = new AbortController();
255
- const timeoutId = setTimeout(() => controller.abort(), 5000);
256
- const healthHeaders = {
257
- ...(config.headers || {}),
258
- ...this.getAuthHeaders(),
259
- };
260
- const response = await fetch(config.location + '/health', {
261
- method: 'GET',
262
- signal: controller.signal,
263
- headers: healthHeaders
264
- });
265
- clearTimeout(timeoutId);
266
- return response.ok;
267
- }
268
- catch {
269
- return false;
270
- }
271
- }
272
- async query(prompt, options) {
273
- if (config.location.startsWith('http')) {
274
- return this.httpQuery(prompt, options);
275
- }
276
- const validated = await this.ensureFileConfigExists(options);
277
- if (!validated.ok) {
278
- return validated.response;
279
- }
280
- const userQuery = this.parseUserQueryForRemote(prompt);
281
- const formattedPrompt = userQuery
282
- ? `@${config.external_agent_id} ${userQuery}`
283
- : `@${config.external_agent_id}`;
284
- const structuredPayload = this.normalizeStructuredPayload(prompt, options);
285
- const extendedOptions = {
286
- ...options,
287
- };
288
- if (structuredPayload) {
289
- extendedOptions.pipedContext = structuredPayload;
290
- }
291
- else {
292
- delete extendedOptions.pipedContext;
293
- }
294
- return super.query(formattedPrompt, extendedOptions);
295
- }
296
- async execute(prompt, options) {
297
- if (config.location.startsWith('http')) {
298
- return super.execute(prompt, options);
299
- }
300
- const validated = await this.ensureFileConfigExists(options);
301
- if (!validated.ok) {
302
- return validated.response;
303
- }
304
- const userQuery = this.parseUserQueryForRemote(prompt);
305
- const formattedPrompt = userQuery
306
- ? `@${config.external_agent_id} ${userQuery}`
307
- : `@${config.external_agent_id}`;
308
- const structuredPayload = this.normalizeStructuredPayload(prompt, options);
309
- const extendedOptions = {
310
- ...options,
311
- };
312
- if (structuredPayload) {
313
- extendedOptions.pipedContext = structuredPayload;
314
- }
315
- else {
316
- delete extendedOptions.pipedContext;
317
- }
318
- return super.execute(formattedPrompt, extendedOptions);
319
- }
320
- async httpQuery(prompt, options) {
321
- const url = options?.taskId
322
- ? `${config.location}/mcp/query`
323
- : `${config.location}/mcp/query`;
324
- const structuredPayload = this.normalizeStructuredPayload(prompt, options);
325
- const requestBody = {
326
- prompt,
327
- agent_id: config.external_agent_id,
328
- task_id: options?.taskId,
329
- model: options?.model || this.getDefaultModel(),
330
- working_directory: options?.workingDirectory,
331
- };
332
- if (structuredPayload) {
333
- requestBody.structured_payload = structuredPayload;
334
- }
335
- if (options?.messages && options.messages.length > 0) {
336
- requestBody.messages = options.messages;
337
- }
338
- if (options?.pipedContext) {
339
- const trimmed = options.pipedContext.trim();
340
- if (!this.isStructuredPayload(trimmed)) {
341
- requestBody.context = trimmed;
342
- }
343
- }
344
- try {
345
- const controller = new AbortController();
346
- const timeoutMs = options?.timeout || this.getDefaultQueryTimeout();
347
- const timeoutId = setTimeout(() => controller.abort(), timeoutMs);
348
- const response = await fetch(url, {
349
- method: 'POST',
350
- headers: {
351
- 'Content-Type': 'application/json',
352
- ...this.getAuthHeaders(),
353
- ...(config.headers || {})
354
- },
355
- body: JSON.stringify(requestBody),
356
- signal: controller.signal
357
- });
358
- clearTimeout(timeoutId);
359
- if (!response.ok) {
360
- throw new Error(`HTTP ${response.status}: ${response.statusText}`);
361
- }
362
- const result = await response.json();
363
- return {
364
- content: result.content,
365
- provider: this.name,
366
- command: `remote query to ${config.location}`,
367
- success: result.success !== false,
368
- error: result.error,
369
- taskId: result.task_id,
370
- toolCall: result.tool_call
371
- };
372
- }
373
- catch (error) {
374
- return {
375
- content: '',
376
- provider: this.name,
377
- command: `remote query to ${config.location}`,
378
- success: false,
379
- error: error.message,
380
- taskId: options?.taskId
381
- };
382
- }
383
- }
384
- parseUserQueryForRemote(prompt) {
385
- if (!prompt) {
386
- return '';
387
- }
388
- const match = prompt.match(/<user_query key="[^"]+">\s*([\s\S]*?)\s*<\/user_query>/i);
389
- if (match && match[1]) {
390
- return match[1].trim();
391
- }
392
- return prompt.trim();
393
- }
394
- normalizeStructuredPayload(prompt, options) {
395
- const existing = options?.pipedContext?.trim();
396
- if (existing) {
397
- if (this.isStructuredPayload(existing)) {
398
- return existing;
399
- }
400
- return this.createStructuredPayload(prompt, existing, options);
401
- }
402
- if (options?.messages && options.messages.length > 0) {
403
- return this.createStructuredPayload(prompt, null, options);
404
- }
405
- return null;
406
- }
407
- async ensureFileConfigExists(options) {
408
- if (!config.location.startsWith('file://')) {
409
- return { ok: true };
410
- }
411
- const configPath = config.location.replace('file://', '');
412
- try {
413
- const { access } = await Promise.resolve().then(() => __importStar(require('fs/promises')));
414
- const { constants } = await Promise.resolve().then(() => __importStar(require('fs')));
415
- await access(configPath, constants.R_OK);
416
- return { ok: true };
417
- }
418
- catch {
419
- return {
420
- ok: false,
421
- response: {
422
- content: `Remote CrewX configuration not found: ${configPath}`,
423
- provider: this.name,
424
- command: `crewx --config=${configPath}`,
425
- success: false,
426
- error: `Remote CrewX configuration not found: ${configPath}`,
427
- taskId: options?.taskId,
428
- },
429
- };
430
- }
431
- }
432
- getAuthHeaders() {
433
- const headers = {};
434
- if (!config.auth || config.auth.type === 'none') {
435
- return headers;
436
- }
437
- if (config.auth.token) {
438
- if (config.auth.type === 'bearer') {
439
- headers['Authorization'] = `Bearer ${config.auth.token}`;
440
- }
441
- else if (config.auth.type === 'api_key') {
442
- headers['Api-Key'] = config.auth.token;
443
- }
444
- }
445
- return headers;
446
- }
447
- }
448
- return new RemoteAIProvider();
449
- }
450
- validateCliCommand(cliCommand) {
451
- const normalized = cliCommand.toLowerCase().trim();
452
- const commandName = normalized.split('/').pop() || normalized;
453
- if (this.BLOCKED_CLI_COMMANDS.includes(commandName)) {
454
- throw new Error(`Security: CLI command '${cliCommand}' is blocked for security reasons. ` +
455
- `This command is considered dangerous and cannot be used as a plugin provider.`);
456
- }
457
- if (normalized.startsWith('/') || normalized.startsWith('\\')) {
458
- throw new Error(`Security: Absolute paths are not allowed. ` +
459
- `Use relative paths from project root (e.g., 'test-tools/howling') or command names in PATH (e.g., 'aider').`);
460
- }
461
- if (normalized.includes('..')) {
462
- throw new Error(`Security: Path traversal (..) is not allowed. ` +
463
- `Use relative paths within the project directory only.`);
464
- }
465
- const shellMetaChars = /[;&|<>`$(){}[\]!]/;
466
- if (shellMetaChars.test(cliCommand)) {
467
- throw new Error(`Security: CLI command '${cliCommand}' contains shell metacharacters. ` +
468
- `Only alphanumeric characters, hyphens, underscores, dots, and forward slashes are allowed.`);
469
- }
470
- if (cliCommand.includes('\0')) {
471
- throw new Error(`Security: CLI command contains null bytes (potential path injection).`);
472
- }
473
- }
474
- validateCliArgs(args) {
475
- for (const arg of args) {
476
- const dangerousChars = /[;&|<>`$()!]/;
477
- if (dangerousChars.test(arg)) {
478
- throw new Error(`Security: CLI argument '${arg}' contains dangerous shell metacharacters. ` +
479
- `Arguments with ;, &, |, <, >, \`, $, (), ! are not allowed.`);
480
- }
481
- if (arg.includes('$(') || arg.includes('`')) {
482
- throw new Error(`Security: CLI argument '${arg}' contains command substitution pattern. ` +
483
- `$() and backticks are not allowed.`);
484
- }
485
- if (arg.includes('\0')) {
486
- throw new Error(`Security: CLI argument contains null bytes (potential injection).`);
487
- }
488
- }
489
- }
490
- validateErrorPatterns(patterns) {
491
- if (!patterns)
492
- return;
493
- for (const { pattern } of patterns) {
494
- const redosPatterns = [
495
- /\(.*\+.*\)\+/,
496
- /\(.*\*.*\)\*/,
497
- /\(.*\+.*\)\*/,
498
- /\(.*\*.*\)\+/,
499
- ];
500
- for (const redosPattern of redosPatterns) {
501
- if (redosPattern.test(pattern)) {
502
- throw new Error(`Security: Error pattern '${pattern}' may cause ReDoS (catastrophic backtracking). ` +
503
- `Avoid nested quantifiers like (a+)+, (a*)*, etc.`);
504
- }
505
- }
506
- try {
507
- new RegExp(pattern);
508
- }
509
- catch (error) {
510
- throw new Error(`Invalid regex pattern '${pattern}': ${error.message}`);
511
- }
512
- }
513
- }
514
- validateEnv(env) {
515
- if (!env)
516
- return;
517
- for (const [key, value] of Object.entries(env)) {
518
- const dangerousEnvVars = [
519
- 'PATH', 'LD_LIBRARY_PATH', 'DYLD_LIBRARY_PATH',
520
- 'LD_PRELOAD', 'DYLD_INSERT_LIBRARIES',
521
- 'IFS', 'BASH_ENV', 'ENV',
522
- ];
523
- if (dangerousEnvVars.includes(key.toUpperCase())) {
524
- throw new Error(`Security: Environment variable '${key}' is blocked for security reasons. ` +
525
- `Modifying system paths or library loading variables is not allowed.`);
526
- }
527
- if (key.includes('\0') || value.includes('\0')) {
528
- throw new Error(`Security: Environment variable contains null bytes (potential injection).`);
529
- }
530
- const dangerousChars = /[;&|<>`$()]/;
531
- if (dangerousChars.test(value)) {
532
- this.logger.warn(`Warning: Environment variable '${key}' contains shell metacharacters. ` +
533
- `Value: ${value}`);
534
- }
535
- }
536
- }
537
- validateRemoteConfig(config) {
538
- if (!config.location) {
539
- throw new Error('Remote provider requires a location (file:// or http:// URL)');
540
- }
541
- if (!config.external_agent_id) {
542
- throw new Error('Remote provider requires an external_agent_id');
543
- }
544
- if (!config.location.startsWith('file://') && !config.location.startsWith('http://') && !config.location.startsWith('https://')) {
545
- throw new Error('Remote location must start with file://, http://, or https://');
546
- }
547
- if (config.location.startsWith('file://')) {
548
- const filePath = config.location.replace('file://', '');
549
- if (filePath.includes('..')) {
550
- throw new Error('Path traversal (..) is not allowed in remote file locations');
551
- }
552
- }
553
- if (config.auth) {
554
- const validAuthTypes = ['bearer', 'api_key', 'none'];
555
- if (!validAuthTypes.includes(config.auth.type)) {
556
- throw new Error(`Invalid auth type: ${config.auth.type}. Must be one of: ${validAuthTypes.join(', ')}`);
557
- }
558
- if (config.auth.type !== 'none' && !config.auth.token) {
559
- throw new Error(`Auth type '${config.auth.type}' requires a token`);
560
- }
561
- }
562
- }
563
- validateConfig(config) {
564
- if (!config.id || typeof config.id !== 'string') {
565
- return false;
566
- }
567
- if (config.type === 'plugin') {
568
- return (config.cli_command &&
569
- typeof config.cli_command === 'string' &&
570
- Array.isArray(config.query_args) &&
571
- Array.isArray(config.execute_args) &&
572
- typeof config.prompt_in_args === 'boolean');
573
- }
574
- if (config.type === 'remote') {
575
- return (config.location &&
576
- typeof config.location === 'string' &&
577
- config.external_agent_id &&
578
- typeof config.external_agent_id === 'string');
579
- }
580
- return false;
581
- }
582
- };
583
- exports.DynamicProviderFactory = DynamicProviderFactory;
584
- exports.DynamicProviderFactory = DynamicProviderFactory = DynamicProviderFactory_1 = __decorate([
585
- (0, common_1.Injectable)()
586
- ], DynamicProviderFactory);
587
- //# sourceMappingURL=dynamic-provider.factory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dynamic-provider.factory.js","sourceRoot":"","sources":["../../../src/core/providers/dynamic-provider.factory.ts"],"names":[],"mappings":"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"}
package/dist/version.d.ts DELETED
@@ -1 +0,0 @@
1
- export declare const CREWX_VERSION: string;
package/dist/version.js DELETED
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CREWX_VERSION = void 0;
4
- const fs_1 = require("fs");
5
- const path_1 = require("path");
6
- let version = 'unknown';
7
- try {
8
- const packageJsonPath = (0, path_1.join)(__dirname, '..', 'package.json');
9
- const packageJson = JSON.parse((0, fs_1.readFileSync)(packageJsonPath, 'utf-8'));
10
- if (packageJson?.version) {
11
- version = String(packageJson.version);
12
- }
13
- }
14
- catch {
15
- }
16
- exports.CREWX_VERSION = version;
17
- //# sourceMappingURL=version.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":";;;AAAA,2BAAkC;AAClC,+BAA4B;AAE5B,IAAI,OAAO,GAAG,SAAS,CAAC;AAExB,IAAI,CAAC;IACH,MAAM,eAAe,GAAG,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;IAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;IACvE,IAAI,WAAW,EAAE,OAAO,EAAE,CAAC;QACzB,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AAAC,MAAM,CAAC;AAET,CAAC;AAEY,QAAA,aAAa,GAAG,OAAO,CAAC"}