@crewx/cli 0.8.0-rc.66 → 0.8.0-rc.82

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 (281) hide show
  1. package/bin/crewx +2 -0
  2. package/dist/bootstrap/crewx-cli.d.ts +11 -0
  3. package/dist/bootstrap/crewx-cli.js +31 -0
  4. package/dist/builtin.d.ts +15 -0
  5. package/dist/{cli/builtin.handler.js → builtin.js} +21 -7
  6. package/dist/commands/agent.d.ts +12 -0
  7. package/dist/commands/agent.js +246 -0
  8. package/dist/commands/doctor.d.ts +12 -0
  9. package/dist/commands/doctor.js +190 -0
  10. package/dist/commands/execute.d.ts +21 -0
  11. package/dist/commands/execute.js +117 -0
  12. package/dist/commands/hook/install.d.ts +21 -0
  13. package/dist/commands/hook/install.js +175 -0
  14. package/dist/commands/hook/paths.d.ts +19 -0
  15. package/dist/commands/hook/paths.js +94 -0
  16. package/dist/commands/hook/status.d.ts +7 -0
  17. package/dist/commands/hook/status.js +86 -0
  18. package/dist/commands/hook/uninstall.d.ts +8 -0
  19. package/dist/commands/hook/uninstall.js +71 -0
  20. package/dist/commands/hook-dispatch.d.ts +15 -0
  21. package/dist/commands/hook-dispatch.js +180 -0
  22. package/dist/commands/init.d.ts +24 -0
  23. package/dist/commands/init.js +133 -0
  24. package/dist/commands/kill.d.ts +12 -0
  25. package/dist/commands/kill.js +49 -0
  26. package/dist/commands/log.d.ts +13 -0
  27. package/dist/commands/log.js +97 -0
  28. package/dist/commands/parse-agent-message.d.ts +31 -0
  29. package/dist/commands/parse-agent-message.js +52 -0
  30. package/dist/commands/parse-common-flags.d.ts +36 -0
  31. package/dist/commands/parse-common-flags.js +105 -0
  32. package/dist/commands/ps.d.ts +12 -0
  33. package/dist/commands/ps.js +71 -0
  34. package/dist/commands/query.d.ts +21 -0
  35. package/dist/commands/query.js +117 -0
  36. package/dist/commands/result.d.ts +13 -0
  37. package/dist/commands/result.js +73 -0
  38. package/dist/commands/slack.d.ts +12 -0
  39. package/dist/commands/slack.js +559 -0
  40. package/dist/commands/task-db.d.ts +33 -0
  41. package/dist/commands/task-db.js +107 -0
  42. package/dist/examples/deny-secrets-plugin.d.ts +22 -0
  43. package/dist/examples/deny-secrets-plugin.js +40 -0
  44. package/dist/index.d.ts +1 -0
  45. package/dist/index.js +5 -0
  46. package/dist/logging.d.ts +21 -0
  47. package/dist/logging.js +86 -0
  48. package/dist/main.d.ts +10 -0
  49. package/dist/main.js +246 -256
  50. package/dist/plugins/examples/echo-hook.d.ts +24 -0
  51. package/dist/plugins/examples/echo-hook.js +60 -0
  52. package/dist/plugins/examples/verify-echo-hook.d.ts +8 -0
  53. package/dist/plugins/examples/verify-echo-hook.js +47 -0
  54. package/dist/plugins/sqlite-tracing.d.ts +13 -0
  55. package/dist/plugins/sqlite-tracing.js +20 -0
  56. package/dist/register-builtin-tools.d.ts +5 -0
  57. package/dist/register-builtin-tools.js +9 -0
  58. package/dist/slack/file-download.d.ts +17 -0
  59. package/dist/slack/file-download.js +134 -0
  60. package/dist/slack/markdown.d.ts +5 -0
  61. package/dist/slack/markdown.js +33 -0
  62. package/dist/utils/env-defaults.d.ts +5 -0
  63. package/dist/utils/env-defaults.js +10 -0
  64. package/dist/utils/version.d.ts +1 -0
  65. package/dist/utils/version.js +28 -0
  66. package/package.json +32 -115
  67. package/README.md +0 -663
  68. package/dist/ai-provider.service.d.ts +0 -36
  69. package/dist/ai-provider.service.js +0 -315
  70. package/dist/ai-provider.service.js.map +0 -1
  71. package/dist/ai.service.d.ts +0 -17
  72. package/dist/ai.service.js +0 -51
  73. package/dist/ai.service.js.map +0 -1
  74. package/dist/app.module.d.ts +0 -5
  75. package/dist/app.module.js +0 -165
  76. package/dist/app.module.js.map +0 -1
  77. package/dist/cli/agent.handler.d.ts +0 -2
  78. package/dist/cli/agent.handler.js +0 -186
  79. package/dist/cli/agent.handler.js.map +0 -1
  80. package/dist/cli/builtin.handler.d.ts +0 -3
  81. package/dist/cli/builtin.handler.js.map +0 -1
  82. package/dist/cli/chat.handler.d.ts +0 -20
  83. package/dist/cli/chat.handler.js +0 -446
  84. package/dist/cli/chat.handler.js.map +0 -1
  85. package/dist/cli/cli.handler.d.ts +0 -4
  86. package/dist/cli/cli.handler.js +0 -119
  87. package/dist/cli/cli.handler.js.map +0 -1
  88. package/dist/cli/doctor.handler.d.ts +0 -38
  89. package/dist/cli/doctor.handler.js +0 -495
  90. package/dist/cli/doctor.handler.js.map +0 -1
  91. package/dist/cli/execute.handler.d.ts +0 -2
  92. package/dist/cli/execute.handler.js +0 -376
  93. package/dist/cli/execute.handler.js.map +0 -1
  94. package/dist/cli/help.handler.d.ts +0 -2
  95. package/dist/cli/help.handler.js +0 -10
  96. package/dist/cli/help.handler.js.map +0 -1
  97. package/dist/cli/init.handler.d.ts +0 -26
  98. package/dist/cli/init.handler.js +0 -450
  99. package/dist/cli/init.handler.js.map +0 -1
  100. package/dist/cli/log.handler.d.ts +0 -2
  101. package/dist/cli/log.handler.js +0 -69
  102. package/dist/cli/log.handler.js.map +0 -1
  103. package/dist/cli/mcp.handler.d.ts +0 -3
  104. package/dist/cli/mcp.handler.js +0 -121
  105. package/dist/cli/mcp.handler.js.map +0 -1
  106. package/dist/cli/query.handler.d.ts +0 -2
  107. package/dist/cli/query.handler.js +0 -392
  108. package/dist/cli/query.handler.js.map +0 -1
  109. package/dist/cli/skill.handler.d.ts +0 -2
  110. package/dist/cli/skill.handler.js +0 -252
  111. package/dist/cli/skill.handler.js.map +0 -1
  112. package/dist/cli/slack-files.handler.d.ts +0 -2
  113. package/dist/cli/slack-files.handler.js +0 -291
  114. package/dist/cli/slack-files.handler.js.map +0 -1
  115. package/dist/cli/template.handler.d.ts +0 -2
  116. package/dist/cli/template.handler.js +0 -188
  117. package/dist/cli/template.handler.js.map +0 -1
  118. package/dist/cli/templates.handler.d.ts +0 -2
  119. package/dist/cli/templates.handler.js +0 -100
  120. package/dist/cli/templates.handler.js.map +0 -1
  121. package/dist/cli-options.d.ts +0 -40
  122. package/dist/cli-options.js +0 -371
  123. package/dist/cli-options.js.map +0 -1
  124. package/dist/config/timeout.config.d.ts +0 -14
  125. package/dist/config/timeout.config.js +0 -34
  126. package/dist/config/timeout.config.js.map +0 -1
  127. package/dist/conversation/base-conversation-history.provider.d.ts +0 -12
  128. package/dist/conversation/base-conversation-history.provider.js +0 -45
  129. package/dist/conversation/base-conversation-history.provider.js.map +0 -1
  130. package/dist/conversation/cli-box-reader.adapter.d.ts +0 -6
  131. package/dist/conversation/cli-box-reader.adapter.js +0 -10
  132. package/dist/conversation/cli-box-reader.adapter.js.map +0 -1
  133. package/dist/conversation/cli-conversation-history.provider.d.ts +0 -16
  134. package/dist/conversation/cli-conversation-history.provider.js +0 -112
  135. package/dist/conversation/cli-conversation-history.provider.js.map +0 -1
  136. package/dist/conversation/cli-task-reader.adapter.d.ts +0 -6
  137. package/dist/conversation/cli-task-reader.adapter.js +0 -25
  138. package/dist/conversation/cli-task-reader.adapter.js.map +0 -1
  139. package/dist/conversation/conversation-provider.factory.d.ts +0 -10
  140. package/dist/conversation/conversation-provider.factory.js +0 -50
  141. package/dist/conversation/conversation-provider.factory.js.map +0 -1
  142. package/dist/conversation/index.d.ts +0 -8
  143. package/dist/conversation/index.js +0 -29
  144. package/dist/conversation/index.js.map +0 -1
  145. package/dist/conversation/slack-conversation-history.provider.d.ts +0 -29
  146. package/dist/conversation/slack-conversation-history.provider.js +0 -302
  147. package/dist/conversation/slack-conversation-history.provider.js.map +0 -1
  148. package/dist/crewx.tool.d.ts +0 -360
  149. package/dist/crewx.tool.js +0 -2531
  150. package/dist/crewx.tool.js.map +0 -1
  151. package/dist/crewx.tool.spec.d.ts +0 -1
  152. package/dist/crewx.tool.spec.js +0 -222
  153. package/dist/crewx.tool.spec.js.map +0 -1
  154. package/dist/guards/bearer-auth.guard.d.ts +0 -7
  155. package/dist/guards/bearer-auth.guard.js +0 -44
  156. package/dist/guards/bearer-auth.guard.js.map +0 -1
  157. package/dist/health.controller.d.ts +0 -6
  158. package/dist/health.controller.js +0 -32
  159. package/dist/health.controller.js.map +0 -1
  160. package/dist/main.js.map +0 -1
  161. package/dist/mcp.controller.d.ts +0 -8
  162. package/dist/mcp.controller.js +0 -62
  163. package/dist/mcp.controller.js.map +0 -1
  164. package/dist/package.json +0 -3
  165. package/dist/providers/dynamic-provider.factory.d.ts +0 -17
  166. package/dist/providers/dynamic-provider.factory.js +0 -138
  167. package/dist/providers/dynamic-provider.factory.js.map +0 -1
  168. package/dist/providers/logger.adapter.d.ts +0 -7
  169. package/dist/providers/logger.adapter.js +0 -107
  170. package/dist/providers/logger.adapter.js.map +0 -1
  171. package/dist/services/agent-loader.service.d.ts +0 -35
  172. package/dist/services/agent-loader.service.js +0 -623
  173. package/dist/services/agent-loader.service.js.map +0 -1
  174. package/dist/services/auth.service.d.ts +0 -9
  175. package/dist/services/auth.service.js +0 -47
  176. package/dist/services/auth.service.js.map +0 -1
  177. package/dist/services/config-validator.service.d.ts +0 -29
  178. package/dist/services/config-validator.service.js +0 -483
  179. package/dist/services/config-validator.service.js.map +0 -1
  180. package/dist/services/config.service.d.ts +0 -45
  181. package/dist/services/config.service.js +0 -352
  182. package/dist/services/config.service.js.map +0 -1
  183. package/dist/services/document-loader.service.d.ts +0 -26
  184. package/dist/services/document-loader.service.js +0 -186
  185. package/dist/services/document-loader.service.js.map +0 -1
  186. package/dist/services/help.service.d.ts +0 -5
  187. package/dist/services/help.service.js +0 -139
  188. package/dist/services/help.service.js.map +0 -1
  189. package/dist/services/intelligent-compression.service.d.ts +0 -20
  190. package/dist/services/intelligent-compression.service.js +0 -179
  191. package/dist/services/intelligent-compression.service.js.map +0 -1
  192. package/dist/services/mcp-client.service.d.ts +0 -26
  193. package/dist/services/mcp-client.service.js +0 -81
  194. package/dist/services/mcp-client.service.js.map +0 -1
  195. package/dist/services/parallel-processing.service.d.ts +0 -108
  196. package/dist/services/parallel-processing.service.js +0 -333
  197. package/dist/services/parallel-processing.service.js.map +0 -1
  198. package/dist/services/provider-bridge.service.d.ts +0 -35
  199. package/dist/services/provider-bridge.service.js +0 -224
  200. package/dist/services/provider-bridge.service.js.map +0 -1
  201. package/dist/services/remote-agent.service.d.ts +0 -50
  202. package/dist/services/remote-agent.service.js +0 -171
  203. package/dist/services/remote-agent.service.js.map +0 -1
  204. package/dist/services/result-formatter.service.d.ts +0 -27
  205. package/dist/services/result-formatter.service.js +0 -126
  206. package/dist/services/result-formatter.service.js.map +0 -1
  207. package/dist/services/skill-loader.service.d.ts +0 -15
  208. package/dist/services/skill-loader.service.js +0 -278
  209. package/dist/services/skill-loader.service.js.map +0 -1
  210. package/dist/services/skill.service.d.ts +0 -69
  211. package/dist/services/skill.service.js +0 -779
  212. package/dist/services/skill.service.js.map +0 -1
  213. package/dist/services/skill.service.spec.d.ts +0 -1
  214. package/dist/services/skill.service.spec.js +0 -168
  215. package/dist/services/skill.service.spec.js.map +0 -1
  216. package/dist/services/task-management.service.d.ts +0 -71
  217. package/dist/services/task-management.service.js +0 -324
  218. package/dist/services/task-management.service.js.map +0 -1
  219. package/dist/services/template.service.d.ts +0 -61
  220. package/dist/services/template.service.js +0 -416
  221. package/dist/services/template.service.js.map +0 -1
  222. package/dist/services/tool-call.service.d.ts +0 -16
  223. package/dist/services/tool-call.service.js +0 -302
  224. package/dist/services/tool-call.service.js.map +0 -1
  225. package/dist/services/tracing.service.d.ts +0 -197
  226. package/dist/services/tracing.service.js +0 -1267
  227. package/dist/services/tracing.service.js.map +0 -1
  228. package/dist/slack/formatters/message.formatter.d.ts +0 -43
  229. package/dist/slack/formatters/message.formatter.js +0 -505
  230. package/dist/slack/formatters/message.formatter.js.map +0 -1
  231. package/dist/slack/services/slack-file-download.service.d.ts +0 -58
  232. package/dist/slack/services/slack-file-download.service.js +0 -558
  233. package/dist/slack/services/slack-file-download.service.js.map +0 -1
  234. package/dist/slack/slack-bot.d.ts +0 -33
  235. package/dist/slack/slack-bot.js +0 -568
  236. package/dist/slack/slack-bot.js.map +0 -1
  237. package/dist/stderr.logger.d.ts +0 -8
  238. package/dist/stderr.logger.js +0 -26
  239. package/dist/stderr.logger.js.map +0 -1
  240. package/dist/types/usage.types.d.ts +0 -107
  241. package/dist/types/usage.types.js +0 -3
  242. package/dist/types/usage.types.js.map +0 -1
  243. package/dist/utils/config-utils.d.ts +0 -15
  244. package/dist/utils/config-utils.js +0 -69
  245. package/dist/utils/config-utils.js.map +0 -1
  246. package/dist/utils/extract-text.d.ts +0 -1
  247. package/dist/utils/extract-text.js +0 -15
  248. package/dist/utils/extract-text.js.map +0 -1
  249. package/dist/utils/mcp-installer.d.ts +0 -20
  250. package/dist/utils/mcp-installer.js +0 -199
  251. package/dist/utils/mcp-installer.js.map +0 -1
  252. package/dist/utils/project-hash.d.ts +0 -6
  253. package/dist/utils/project-hash.js +0 -70
  254. package/dist/utils/project-hash.js.map +0 -1
  255. package/dist/utils/simple-security.d.ts +0 -3
  256. package/dist/utils/simple-security.js +0 -20
  257. package/dist/utils/simple-security.js.map +0 -1
  258. package/dist/utils/stdin-utils.d.ts +0 -6
  259. package/dist/utils/stdin-utils.js +0 -109
  260. package/dist/utils/stdin-utils.js.map +0 -1
  261. package/dist/utils/template-processor.d.ts +0 -27
  262. package/dist/utils/template-processor.js +0 -395
  263. package/dist/utils/template-processor.js.map +0 -1
  264. package/dist/utils/terminal-message-formatter.d.ts +0 -23
  265. package/dist/utils/terminal-message-formatter.js +0 -136
  266. package/dist/utils/terminal-message-formatter.js.map +0 -1
  267. package/dist/version.d.ts +0 -1
  268. package/dist/version.js +0 -17
  269. package/dist/version.js.map +0 -1
  270. package/dist/workspace.service.d.ts +0 -44
  271. package/dist/workspace.service.js +0 -299
  272. package/dist/workspace.service.js.map +0 -1
  273. package/scripts/backfill-tokens.js +0 -218
  274. package/scripts/postbuild-cli.mjs +0 -88
  275. package/scripts/postinstall-cli.mjs +0 -30
  276. package/templates/agents/default.yaml +0 -490
  277. package/templates/agents/minimal.yaml +0 -16
  278. package/templates/documents/conversation-history-default.hbs +0 -17
  279. package/templates/documents/crewx-manual.md +0 -2278
  280. package/templates/documents/crewx-quick-guide.md +0 -147
  281. package/templates/versions.json +0 -19
@@ -1,17 +0,0 @@
1
- import { BaseDynamicProviderFactory } from '@crewx/sdk';
2
- import { TracingService } from '../services/tracing.service';
3
- import { TaskManagementService } from '../services/task-management.service';
4
- export declare class DynamicProviderFactory extends BaseDynamicProviderFactory {
5
- private readonly tracingService?;
6
- private readonly taskManagementService?;
7
- private readonly blockedCommands;
8
- constructor(tracingService?: TracingService | undefined, taskManagementService?: TaskManagementService | undefined);
9
- protected validateCliCommand(cliCommand: string): void;
10
- protected validateCliArgs(args: string[]): void;
11
- protected validateErrorPatterns(patterns?: Array<{
12
- pattern: string;
13
- type: string;
14
- message: string;
15
- }>): void;
16
- protected validateEnv(env?: Record<string, string>): void;
17
- }
@@ -1,138 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- 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;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- var __param = (this && this.__param) || function (paramIndex, decorator) {
12
- return function (target, key) { decorator(target, key, paramIndex); }
13
- };
14
- var DynamicProviderFactory_1;
15
- Object.defineProperty(exports, "__esModule", { value: true });
16
- exports.DynamicProviderFactory = void 0;
17
- const common_1 = require("@nestjs/common");
18
- const sdk_1 = require("@crewx/sdk");
19
- const logger_adapter_1 = require("./logger.adapter");
20
- const version_1 = require("../version");
21
- const tracing_service_1 = require("../services/tracing.service");
22
- const task_management_service_1 = require("../services/task-management.service");
23
- let DynamicProviderFactory = DynamicProviderFactory_1 = class DynamicProviderFactory extends sdk_1.BaseDynamicProviderFactory {
24
- constructor(tracingService, taskManagementService) {
25
- super({
26
- logger: (0, logger_adapter_1.createLoggerAdapter)(DynamicProviderFactory_1.name),
27
- crewxVersion: version_1.CREWX_VERSION,
28
- taskLogHandler: (0, logger_adapter_1.createTaskLogHandler)(tracingService, taskManagementService),
29
- });
30
- this.tracingService = tracingService;
31
- this.taskManagementService = taskManagementService;
32
- this.blockedCommands = [
33
- 'bash', 'sh', 'zsh', 'fish', 'ksh', 'tcsh', 'csh',
34
- 'cmd', 'powershell', 'pwsh', 'command',
35
- 'python', 'python3', 'node', 'ruby', 'perl', 'php',
36
- 'rm', 'del', 'rmdir', 'mv', 'cp', 'dd',
37
- 'chmod', 'chown', 'sudo', 'su', 'doas',
38
- 'curl', 'wget', 'nc', 'netcat', 'telnet', 'ssh',
39
- 'eval', 'exec', 'source',
40
- ];
41
- }
42
- validateCliCommand(cliCommand) {
43
- super.validateCliCommand(cliCommand);
44
- const normalized = cliCommand.toLowerCase().trim();
45
- const commandName = normalized.split('/').pop() || normalized;
46
- if (this.blockedCommands.includes(commandName)) {
47
- throw new Error(`Security: CLI command '${cliCommand}' is blocked for security reasons. ` +
48
- `This command is considered dangerous and cannot be used as a plugin provider.`);
49
- }
50
- if (normalized.startsWith('/') || normalized.startsWith('\\')) {
51
- throw new Error('Security: Absolute paths are not allowed. ' +
52
- "Use relative paths from project root (e.g., 'test-tools/howling') or command names in PATH (e.g., 'aider').");
53
- }
54
- if (normalized.includes('..')) {
55
- throw new Error('Security: Path traversal (..) is not allowed. ' +
56
- 'Use relative paths within the project directory only.');
57
- }
58
- const shellMetaChars = /[;&|<>`$(){}[\]!]/;
59
- if (shellMetaChars.test(cliCommand)) {
60
- throw new Error(`Security: CLI command '${cliCommand}' contains shell metacharacters. ` +
61
- 'Only alphanumeric characters, hyphens, underscores, dots, and forward slashes are allowed.');
62
- }
63
- if (cliCommand.includes('\0')) {
64
- throw new Error('Security: CLI command contains null bytes (potential path injection).');
65
- }
66
- }
67
- validateCliArgs(args) {
68
- super.validateCliArgs(args);
69
- for (const arg of args) {
70
- const dangerousChars = /[;&|<>`$()!]/;
71
- if (dangerousChars.test(arg)) {
72
- throw new Error(`Security: CLI argument '${arg}' contains dangerous shell metacharacters. ` +
73
- 'Arguments with ;, &, |, <, >, `, $, (), ! are not allowed.');
74
- }
75
- if (arg.includes('$(') || arg.includes('`')) {
76
- throw new Error(`Security: CLI argument '${arg}' contains command substitution pattern. ` +
77
- '$() and backticks are not allowed.');
78
- }
79
- if (arg.includes('\0')) {
80
- throw new Error('Security: CLI argument contains null bytes (potential injection).');
81
- }
82
- }
83
- }
84
- validateErrorPatterns(patterns) {
85
- if (!patterns) {
86
- return;
87
- }
88
- const redosPatterns = [
89
- /\(.*\+.*\)\+/,
90
- /\(.*\*.*\)\*/,
91
- /\(.*\+.*\)\*/,
92
- /\(.*\*.*\)\+/,
93
- ];
94
- for (const { pattern } of patterns) {
95
- for (const redosPattern of redosPatterns) {
96
- if (redosPattern.test(pattern)) {
97
- throw new Error(`Security: Error pattern '${pattern}' may cause ReDoS (catastrophic backtracking). ` +
98
- 'Avoid nested quantifiers like (a+)+, (a*)*, etc.');
99
- }
100
- }
101
- }
102
- super.validateErrorPatterns(patterns);
103
- }
104
- validateEnv(env) {
105
- super.validateEnv(env);
106
- if (!env) {
107
- return;
108
- }
109
- const dangerousEnvVars = [
110
- 'PATH', 'LD_LIBRARY_PATH', 'DYLD_LIBRARY_PATH',
111
- 'LD_PRELOAD', 'DYLD_INSERT_LIBRARIES',
112
- 'IFS', 'BASH_ENV', 'ENV',
113
- ];
114
- for (const [key, value] of Object.entries(env)) {
115
- if (dangerousEnvVars.includes(key.toUpperCase())) {
116
- throw new Error(`Security: Environment variable '${key}' is blocked for security reasons. ` +
117
- 'Modifying system paths or library loading variables is not allowed.');
118
- }
119
- if (key.includes('\0') || value.includes('\0')) {
120
- throw new Error('Security: Environment variable contains null bytes (potential injection).');
121
- }
122
- const dangerousChars = /[;&|<>`$()]/;
123
- if (dangerousChars.test(value)) {
124
- this.logger.warn(`Warning: Environment variable '${key}' contains shell metacharacters. Value: ${value}`);
125
- }
126
- }
127
- }
128
- };
129
- exports.DynamicProviderFactory = DynamicProviderFactory;
130
- exports.DynamicProviderFactory = DynamicProviderFactory = DynamicProviderFactory_1 = __decorate([
131
- (0, common_1.Injectable)(),
132
- __param(0, (0, common_1.Optional)()),
133
- __param(1, (0, common_1.Optional)()),
134
- __param(1, (0, common_1.Inject)((0, common_1.forwardRef)(() => task_management_service_1.TaskManagementService))),
135
- __metadata("design:paramtypes", [tracing_service_1.TracingService,
136
- task_management_service_1.TaskManagementService])
137
- ], DynamicProviderFactory);
138
- //# sourceMappingURL=dynamic-provider.factory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dynamic-provider.factory.js","sourceRoot":"","sources":["../../src/providers/dynamic-provider.factory.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- import { Logger } from '@nestjs/common';
2
- import type { LoggerLike, ProviderTaskLogHandler } from '@crewx/sdk';
3
- import type { TracingService } from '../services/tracing.service';
4
- import type { TaskManagementService } from '../services/task-management.service';
5
- export declare function createSdkLoggerAdapter(logger: Logger): (message: string, level?: "debug" | "info" | "warn" | "error") => void;
6
- export declare function createLoggerAdapter(context: string): LoggerLike;
7
- export declare function createTaskLogHandler(tracingService?: TracingService, taskManagementService?: TaskManagementService): ProviderTaskLogHandler | undefined;
@@ -1,107 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createSdkLoggerAdapter = createSdkLoggerAdapter;
4
- exports.createLoggerAdapter = createLoggerAdapter;
5
- exports.createTaskLogHandler = createTaskLogHandler;
6
- const common_1 = require("@nestjs/common");
7
- function createSdkLoggerAdapter(logger) {
8
- return (message, level) => {
9
- switch (level) {
10
- case 'debug':
11
- logger.debug(message);
12
- break;
13
- case 'info':
14
- logger.log(message);
15
- break;
16
- case 'warn':
17
- logger.warn(message);
18
- break;
19
- case 'error':
20
- logger.error(message);
21
- break;
22
- default:
23
- logger.log(message);
24
- }
25
- };
26
- }
27
- function createLoggerAdapter(context) {
28
- const logger = new common_1.Logger(context);
29
- return {
30
- log(message, ...optionalParams) {
31
- logger.log(message, ...optionalParams);
32
- },
33
- warn(message, ...optionalParams) {
34
- logger.warn(message, ...optionalParams);
35
- },
36
- error(message, ...optionalParams) {
37
- if (message instanceof Error) {
38
- logger.error(message.message, message.stack);
39
- }
40
- else {
41
- logger.error(message);
42
- }
43
- for (const param of optionalParams) {
44
- if (param instanceof Error) {
45
- logger.error(param.message, param.stack);
46
- }
47
- else if (typeof param === 'string') {
48
- logger.error(param);
49
- }
50
- else if (param !== undefined) {
51
- logger.error(JSON.stringify(param));
52
- }
53
- }
54
- },
55
- };
56
- }
57
- function createTaskLogHandler(tracingService, taskManagementService) {
58
- if (!tracingService) {
59
- return undefined;
60
- }
61
- const TASK_CACHE_LIMIT = 1000;
62
- const knownTasks = new Map();
63
- const touchTask = (cache, taskId) => {
64
- if (!cache.has(taskId)) {
65
- return false;
66
- }
67
- cache.delete(taskId);
68
- cache.set(taskId, true);
69
- return true;
70
- };
71
- const rememberTask = (cache, taskId) => {
72
- if (cache.has(taskId)) {
73
- cache.delete(taskId);
74
- }
75
- cache.set(taskId, true);
76
- if (cache.size > TASK_CACHE_LIMIT) {
77
- const oldest = cache.keys().next().value;
78
- if (oldest !== undefined) {
79
- cache.delete(oldest);
80
- }
81
- }
82
- };
83
- return (entry) => {
84
- if (!touchTask(knownTasks, entry.taskId)) {
85
- const task = tracingService.getTask(entry.taskId);
86
- if (!task) {
87
- return;
88
- }
89
- rememberTask(knownTasks, entry.taskId);
90
- }
91
- const levelMap = {
92
- STDOUT: 'stdout',
93
- STDERR: 'stderr',
94
- INFO: 'info',
95
- ERROR: 'error',
96
- };
97
- const level = levelMap[entry.level] ?? 'info';
98
- const logEntry = {
99
- timestamp: entry.timestamp,
100
- level,
101
- message: entry.message,
102
- };
103
- tracingService.appendTaskLog(entry.taskId, logEntry);
104
- taskManagementService?.appendToLogFile(entry.taskId, logEntry);
105
- };
106
- }
107
- //# sourceMappingURL=logger.adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger.adapter.js","sourceRoot":"","sources":["../../src/providers/logger.adapter.ts"],"names":[],"mappings":"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"}
@@ -1,35 +0,0 @@
1
- import { AgentInfo, LayoutLoader } from '@crewx/sdk';
2
- import { DocumentLoaderService } from './document-loader.service';
3
- import { TemplateService } from './template.service';
4
- import { ConfigValidatorService } from './config-validator.service';
5
- import { AIProviderService } from '../ai-provider.service';
6
- import { ConfigService } from './config.service';
7
- export declare class AgentLoaderService {
8
- private readonly documentLoaderService?;
9
- private readonly templateService?;
10
- private readonly configValidatorService?;
11
- private readonly aiProviderService?;
12
- private readonly configService?;
13
- private readonly layoutLoader?;
14
- private readonly logger;
15
- constructor(documentLoaderService?: DocumentLoaderService | undefined, templateService?: TemplateService | undefined, configValidatorService?: ConfigValidatorService | undefined, aiProviderService?: AIProviderService | undefined, configService?: ConfigService | undefined, layoutLoader?: LayoutLoader | undefined);
16
- private readonly defaultCliAgents;
17
- private registeredLayoutSources;
18
- getAllAgents(): Promise<AgentInfo[]>;
19
- getDefaultCliAgents(): AgentInfo[];
20
- getConfigSource(): {
21
- source: string;
22
- path?: string;
23
- };
24
- loadAvailableAgents(): Promise<AgentInfo[]>;
25
- private loadBuiltInAgents;
26
- loadAgentsFromConfig(configPath: string): Promise<AgentInfo[]>;
27
- private registerCustomLayoutsFromConfig;
28
- private mergeSkillsConfig;
29
- private parseProviderConfig;
30
- private parseRemoteConfig;
31
- private normalizeRemoteUrl;
32
- private extractDescription;
33
- isAPIProvider(agentId: string): boolean;
34
- private isAPIProviderString;
35
- }