@crewx/cli 0.8.3-rc.9 → 0.8.4-rc.0
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.
- package/README.md +33 -33
- package/bin/crewx +2 -2
- package/dist/ai-provider.service.d.ts +34 -0
- package/dist/ai-provider.service.js +311 -0
- package/dist/ai-provider.service.js.map +1 -0
- package/dist/ai.service.d.ts +17 -0
- package/dist/ai.service.js +51 -0
- package/dist/ai.service.js.map +1 -0
- package/dist/app.module.d.ts +5 -0
- package/dist/app.module.js +165 -0
- package/dist/app.module.js.map +1 -0
- package/dist/cli/agent.handler.d.ts +2 -0
- package/dist/cli/agent.handler.js +186 -0
- package/dist/cli/agent.handler.js.map +1 -0
- package/dist/cli/builtin.handler.d.ts +3 -0
- package/dist/cli/builtin.handler.js +110 -0
- package/dist/cli/builtin.handler.js.map +1 -0
- package/dist/cli/chat.handler.d.ts +20 -0
- package/dist/cli/chat.handler.js +446 -0
- package/dist/cli/chat.handler.js.map +1 -0
- package/dist/cli/cli.handler.d.ts +4 -0
- package/dist/cli/cli.handler.js +119 -0
- package/dist/cli/cli.handler.js.map +1 -0
- package/dist/cli/doctor.handler.d.ts +38 -0
- package/dist/cli/doctor.handler.js +495 -0
- package/dist/cli/doctor.handler.js.map +1 -0
- package/dist/cli/execute.handler.d.ts +2 -0
- package/dist/cli/execute.handler.js +321 -0
- package/dist/cli/execute.handler.js.map +1 -0
- package/dist/cli/help.handler.d.ts +2 -0
- package/dist/cli/help.handler.js +10 -0
- package/dist/cli/help.handler.js.map +1 -0
- package/dist/cli/init.handler.d.ts +26 -0
- package/dist/cli/init.handler.js +450 -0
- package/dist/cli/init.handler.js.map +1 -0
- package/dist/cli/log.handler.d.ts +2 -0
- package/dist/cli/log.handler.js +69 -0
- package/dist/cli/log.handler.js.map +1 -0
- package/dist/cli/mcp.handler.d.ts +3 -0
- package/dist/cli/mcp.handler.js +121 -0
- package/dist/cli/mcp.handler.js.map +1 -0
- package/dist/cli/query.handler.d.ts +2 -0
- package/dist/cli/query.handler.js +379 -0
- package/dist/cli/query.handler.js.map +1 -0
- package/dist/cli/skill.handler.d.ts +2 -0
- package/dist/cli/skill.handler.js +252 -0
- package/dist/cli/skill.handler.js.map +1 -0
- package/dist/cli/slack-files.handler.d.ts +2 -0
- package/dist/cli/slack-files.handler.js +291 -0
- package/dist/cli/slack-files.handler.js.map +1 -0
- package/dist/cli/template.handler.d.ts +2 -0
- package/dist/cli/template.handler.js +188 -0
- package/dist/cli/template.handler.js.map +1 -0
- package/dist/cli/templates.handler.d.ts +2 -0
- package/dist/cli/templates.handler.js +100 -0
- package/dist/cli/templates.handler.js.map +1 -0
- package/dist/cli-options.d.ts +39 -0
- package/dist/cli-options.js +355 -0
- package/dist/cli-options.js.map +1 -0
- package/dist/commands/agent.js +23 -23
- package/dist/commands/init.js +36 -28
- package/dist/commands/resolve-prompt.d.ts +4 -4
- package/dist/commands/resolve-prompt.js +5 -5
- package/dist/config/timeout.config.d.ts +14 -0
- package/dist/config/timeout.config.js +34 -0
- package/dist/config/timeout.config.js.map +1 -0
- package/dist/conversation/base-conversation-history.provider.d.ts +12 -0
- package/dist/conversation/base-conversation-history.provider.js +45 -0
- package/dist/conversation/base-conversation-history.provider.js.map +1 -0
- package/dist/conversation/cli-conversation-history.provider.d.ts +16 -0
- package/dist/conversation/cli-conversation-history.provider.js +111 -0
- package/dist/conversation/cli-conversation-history.provider.js.map +1 -0
- package/dist/conversation/conversation-provider.factory.d.ts +10 -0
- package/dist/conversation/conversation-provider.factory.js +50 -0
- package/dist/conversation/conversation-provider.factory.js.map +1 -0
- package/dist/conversation/index.d.ts +6 -0
- package/dist/conversation/index.js +27 -0
- package/dist/conversation/index.js.map +1 -0
- package/dist/conversation/slack-conversation-history.provider.d.ts +29 -0
- package/dist/conversation/slack-conversation-history.provider.js +302 -0
- package/dist/conversation/slack-conversation-history.provider.js.map +1 -0
- package/dist/crewx.tool.d.ts +359 -0
- package/dist/crewx.tool.js +2501 -0
- package/dist/crewx.tool.js.map +1 -0
- package/dist/crewx.tool.spec.d.ts +1 -0
- package/dist/crewx.tool.spec.js +158 -0
- package/dist/crewx.tool.spec.js.map +1 -0
- package/dist/guards/bearer-auth.guard.d.ts +7 -0
- package/dist/guards/bearer-auth.guard.js +44 -0
- package/dist/guards/bearer-auth.guard.js.map +1 -0
- package/dist/health.controller.d.ts +6 -0
- package/dist/health.controller.js +32 -0
- package/dist/health.controller.js.map +1 -0
- package/dist/main.js +72 -71
- package/dist/main.js.map +1 -0
- package/dist/mcp.controller.d.ts +8 -0
- package/dist/mcp.controller.js +62 -0
- package/dist/mcp.controller.js.map +1 -0
- package/dist/package.json +3 -0
- package/dist/providers/dynamic-provider.factory.d.ts +15 -0
- package/dist/providers/dynamic-provider.factory.js +133 -0
- package/dist/providers/dynamic-provider.factory.js.map +1 -0
- package/dist/providers/logger.adapter.d.ts +6 -0
- package/dist/providers/logger.adapter.js +102 -0
- package/dist/providers/logger.adapter.js.map +1 -0
- package/dist/services/agent-loader.service.d.ts +35 -0
- package/dist/services/agent-loader.service.js +622 -0
- package/dist/services/agent-loader.service.js.map +1 -0
- package/dist/services/auth.service.d.ts +9 -0
- package/dist/services/auth.service.js +47 -0
- package/dist/services/auth.service.js.map +1 -0
- package/dist/services/config-validator.service.d.ts +29 -0
- package/dist/services/config-validator.service.js +483 -0
- package/dist/services/config-validator.service.js.map +1 -0
- package/dist/services/config.service.d.ts +45 -0
- package/dist/services/config.service.js +352 -0
- package/dist/services/config.service.js.map +1 -0
- package/dist/services/document-loader.service.d.ts +21 -0
- package/dist/services/document-loader.service.js +156 -0
- package/dist/services/document-loader.service.js.map +1 -0
- package/dist/services/help.service.d.ts +5 -0
- package/dist/services/help.service.js +139 -0
- package/dist/services/help.service.js.map +1 -0
- package/dist/services/intelligent-compression.service.d.ts +20 -0
- package/dist/services/intelligent-compression.service.js +179 -0
- package/dist/services/intelligent-compression.service.js.map +1 -0
- package/dist/services/mcp-client.service.d.ts +26 -0
- package/dist/services/mcp-client.service.js +81 -0
- package/dist/services/mcp-client.service.js.map +1 -0
- package/dist/services/parallel-processing.service.d.ts +108 -0
- package/dist/services/parallel-processing.service.js +333 -0
- package/dist/services/parallel-processing.service.js.map +1 -0
- package/dist/services/provider-bridge.service.d.ts +35 -0
- package/dist/services/provider-bridge.service.js +224 -0
- package/dist/services/provider-bridge.service.js.map +1 -0
- package/dist/services/remote-agent.service.d.ts +50 -0
- package/dist/services/remote-agent.service.js +171 -0
- package/dist/services/remote-agent.service.js.map +1 -0
- package/dist/services/result-formatter.service.d.ts +27 -0
- package/dist/services/result-formatter.service.js +126 -0
- package/dist/services/result-formatter.service.js.map +1 -0
- package/dist/services/skill-loader.service.d.ts +15 -0
- package/dist/services/skill-loader.service.js +278 -0
- package/dist/services/skill-loader.service.js.map +1 -0
- package/dist/services/skill.service.d.ts +67 -0
- package/dist/services/skill.service.js +670 -0
- package/dist/services/skill.service.js.map +1 -0
- package/dist/services/skill.service.spec.d.ts +1 -0
- package/dist/services/skill.service.spec.js +35 -0
- package/dist/services/skill.service.spec.js.map +1 -0
- package/dist/services/task-management.service.d.ts +65 -0
- package/dist/services/task-management.service.js +288 -0
- package/dist/services/task-management.service.js.map +1 -0
- package/dist/services/template.service.d.ts +61 -0
- package/dist/services/template.service.js +416 -0
- package/dist/services/template.service.js.map +1 -0
- package/dist/services/tool-call.service.d.ts +19 -0
- package/dist/services/tool-call.service.js +1061 -0
- package/dist/services/tool-call.service.js.map +1 -0
- package/dist/services/tracing.service.d.ts +200 -0
- package/dist/services/tracing.service.js +1290 -0
- package/dist/services/tracing.service.js.map +1 -0
- package/dist/slack/formatters/message.formatter.d.ts +32 -0
- package/dist/slack/formatters/message.formatter.js +352 -0
- package/dist/slack/formatters/message.formatter.js.map +1 -0
- package/dist/slack/services/slack-file-download.service.d.ts +58 -0
- package/dist/slack/services/slack-file-download.service.js +558 -0
- package/dist/slack/services/slack-file-download.service.js.map +1 -0
- package/dist/slack/slack-bot.d.ts +33 -0
- package/dist/slack/slack-bot.js +567 -0
- package/dist/slack/slack-bot.js.map +1 -0
- package/dist/stderr.logger.d.ts +8 -0
- package/dist/stderr.logger.js +26 -0
- package/dist/stderr.logger.js.map +1 -0
- package/dist/types/usage.types.d.ts +107 -0
- package/dist/types/usage.types.js +3 -0
- package/dist/types/usage.types.js.map +1 -0
- package/dist/utils/config-utils.d.ts +15 -0
- package/dist/utils/config-utils.js +69 -0
- package/dist/utils/config-utils.js.map +1 -0
- package/dist/utils/extract-text.d.ts +1 -0
- package/dist/utils/extract-text.js +15 -0
- package/dist/utils/extract-text.js.map +1 -0
- package/dist/utils/mcp-installer.d.ts +20 -0
- package/dist/utils/mcp-installer.js +199 -0
- package/dist/utils/mcp-installer.js.map +1 -0
- package/dist/utils/project-hash.d.ts +6 -0
- package/dist/utils/project-hash.js +70 -0
- package/dist/utils/project-hash.js.map +1 -0
- package/dist/utils/simple-security.d.ts +3 -0
- package/dist/utils/simple-security.js +20 -0
- package/dist/utils/simple-security.js.map +1 -0
- package/dist/utils/stdin-utils.d.ts +6 -0
- package/dist/utils/stdin-utils.js +109 -0
- package/dist/utils/stdin-utils.js.map +1 -0
- package/dist/utils/template-processor.d.ts +4 -0
- package/dist/utils/template-processor.js +266 -0
- package/dist/utils/template-processor.js.map +1 -0
- package/dist/utils/terminal-message-formatter.d.ts +23 -0
- package/dist/utils/terminal-message-formatter.js +136 -0
- package/dist/utils/terminal-message-formatter.js.map +1 -0
- package/dist/version.d.ts +1 -0
- package/dist/version.js +17 -0
- package/dist/version.js.map +1 -0
- package/dist/workspace.service.d.ts +44 -0
- package/dist/workspace.service.js +299 -0
- package/dist/workspace.service.js.map +1 -0
- package/package.json +18 -18
- package/dist/commands/task-db.d.ts +0 -33
- package/dist/commands/task-db.js +0 -107
- package/dist/examples/deny-secrets-plugin.d.ts +0 -22
- package/dist/examples/deny-secrets-plugin.js +0 -40
- package/dist/plugins/examples/echo-hook.d.ts +0 -24
- package/dist/plugins/examples/echo-hook.js +0 -60
- package/dist/plugins/examples/verify-echo-hook.d.ts +0 -8
- package/dist/plugins/examples/verify-echo-hook.js +0 -47
- package/dist/plugins/sqlite-tracing.d.ts +0 -11
- package/dist/plugins/sqlite-tracing.js +0 -19
- package/dist/repository/workspace.repository.d.ts +0 -26
- package/dist/repository/workspace.repository.js +0 -111
- package/dist/schema/tasks.d.ts +0 -7
- package/dist/schema/tasks.js +0 -48
package/dist/main.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { McpHandler } from '@sowonai/nestjs-mcp-adapter';
|
|
2
|
+
import { Request, Response } from 'express';
|
|
3
|
+
export declare class McpController {
|
|
4
|
+
private readonly mcpHandler;
|
|
5
|
+
private readonly logger;
|
|
6
|
+
constructor(mcpHandler: McpHandler);
|
|
7
|
+
handlePost(req: Request, res: Response, body: any): Promise<Response<any, Record<string, any>>>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.McpController = void 0;
|
|
16
|
+
const common_1 = require("@nestjs/common");
|
|
17
|
+
const nestjs_mcp_adapter_1 = require("@sowonai/nestjs-mcp-adapter");
|
|
18
|
+
const crewx_sdk_1 = require("@sowonai/crewx-sdk");
|
|
19
|
+
const bearer_auth_guard_1 = require("./guards/bearer-auth.guard");
|
|
20
|
+
let McpController = class McpController {
|
|
21
|
+
constructor(mcpHandler) {
|
|
22
|
+
this.mcpHandler = mcpHandler;
|
|
23
|
+
this.logger = new common_1.Logger('McpController');
|
|
24
|
+
}
|
|
25
|
+
async handlePost(req, res, body) {
|
|
26
|
+
this.logger.debug(`request body: ${JSON.stringify(body)}`);
|
|
27
|
+
if (body && body.method === 'prompts/list') {
|
|
28
|
+
this.logger.debug('Handling prompts/list request - returning empty list');
|
|
29
|
+
return res.json({
|
|
30
|
+
jsonrpc: '2.0',
|
|
31
|
+
id: body.id,
|
|
32
|
+
result: {
|
|
33
|
+
prompts: []
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
const result = await this.mcpHandler.handleRequest(crewx_sdk_1.SERVER_NAME, req, res, body);
|
|
38
|
+
if (result === null) {
|
|
39
|
+
return res.end();
|
|
40
|
+
}
|
|
41
|
+
this.logger.debug(`response body: ${JSON.stringify(result)}`);
|
|
42
|
+
return res.json(result);
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
exports.McpController = McpController;
|
|
46
|
+
__decorate([
|
|
47
|
+
(0, common_1.Post)(),
|
|
48
|
+
(0, common_1.HttpCode)(202),
|
|
49
|
+
__param(0, (0, common_1.Req)()),
|
|
50
|
+
__param(1, (0, common_1.Res)()),
|
|
51
|
+
__param(2, (0, common_1.Body)()),
|
|
52
|
+
__metadata("design:type", Function),
|
|
53
|
+
__metadata("design:paramtypes", [Object, Object, Object]),
|
|
54
|
+
__metadata("design:returntype", Promise)
|
|
55
|
+
], McpController.prototype, "handlePost", null);
|
|
56
|
+
exports.McpController = McpController = __decorate([
|
|
57
|
+
(0, common_1.Controller)('mcp'),
|
|
58
|
+
(0, common_1.UseFilters)(nestjs_mcp_adapter_1.JsonRpcExceptionFilter),
|
|
59
|
+
(0, common_1.UseGuards)(bearer_auth_guard_1.BearerAuthGuard),
|
|
60
|
+
__metadata("design:paramtypes", [nestjs_mcp_adapter_1.McpHandler])
|
|
61
|
+
], McpController);
|
|
62
|
+
//# sourceMappingURL=mcp.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp.controller.js","sourceRoot":"","sources":["../src/mcp.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA2G;AAC3G,oEAAiG;AAEjG,kDAAiD;AACjD,kEAA6D;AAKtD,IAAM,aAAa,GAAnB,MAAM,aAAa;IAGxB,YACmB,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;QAHxB,WAAM,GAAG,IAAI,eAAM,CAAC,eAAe,CAAC,CAAC;IAInD,CAAC;IAIE,AAAN,KAAK,CAAC,UAAU,CAAQ,GAAY,EAAS,GAAa,EAAU,IAAS;QAC3E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAG3D,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;YAC3C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;YAC1E,OAAO,GAAG,CAAC,IAAI,CAAC;gBACd,OAAO,EAAE,KAAK;gBACd,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,MAAM,EAAE;oBACN,OAAO,EAAE,EAAE;iBACZ;aACF,CAAC,CAAC;QACL,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,uBAAW,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QAGhF,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,GAAG,EAAE,CAAC;QACnB,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAG9D,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;CACF,CAAA;AApCY,sCAAa;AASlB;IAFL,IAAA,aAAI,GAAE;IACN,IAAA,iBAAQ,EAAC,GAAG,CAAC;IACI,WAAA,IAAA,YAAG,GAAE,CAAA;IAAgB,WAAA,IAAA,YAAG,GAAE,CAAA;IAAiB,WAAA,IAAA,aAAI,GAAE,CAAA;;;;+CA0BlE;wBAnCU,aAAa;IAHzB,IAAA,mBAAU,EAAC,KAAK,CAAC;IACjB,IAAA,mBAAU,EAAC,2CAAsB,CAAC;IAClC,IAAA,kBAAS,EAAC,mCAAe,CAAC;qCAKM,+BAAU;GAJ9B,aAAa,CAoCzB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { BaseDynamicProviderFactory } from '@sowonai/crewx-sdk';
|
|
2
|
+
import { TracingService } from '../services/tracing.service';
|
|
3
|
+
export declare class DynamicProviderFactory extends BaseDynamicProviderFactory {
|
|
4
|
+
private readonly tracingService?;
|
|
5
|
+
private readonly blockedCommands;
|
|
6
|
+
constructor(tracingService?: TracingService | undefined);
|
|
7
|
+
protected validateCliCommand(cliCommand: string): void;
|
|
8
|
+
protected validateCliArgs(args: string[]): void;
|
|
9
|
+
protected validateErrorPatterns(patterns?: Array<{
|
|
10
|
+
pattern: string;
|
|
11
|
+
type: string;
|
|
12
|
+
message: string;
|
|
13
|
+
}>): void;
|
|
14
|
+
protected validateEnv(env?: Record<string, string>): void;
|
|
15
|
+
}
|
|
@@ -0,0 +1,133 @@
|
|
|
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 crewx_sdk_1 = require("@sowonai/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
|
+
let DynamicProviderFactory = DynamicProviderFactory_1 = class DynamicProviderFactory extends crewx_sdk_1.BaseDynamicProviderFactory {
|
|
23
|
+
constructor(tracingService) {
|
|
24
|
+
super({
|
|
25
|
+
logger: (0, logger_adapter_1.createLoggerAdapter)(DynamicProviderFactory_1.name),
|
|
26
|
+
crewxVersion: version_1.CREWX_VERSION,
|
|
27
|
+
taskLogHandler: (0, logger_adapter_1.createTaskLogHandler)(tracingService),
|
|
28
|
+
});
|
|
29
|
+
this.tracingService = tracingService;
|
|
30
|
+
this.blockedCommands = [
|
|
31
|
+
'bash', 'sh', 'zsh', 'fish', 'ksh', 'tcsh', 'csh',
|
|
32
|
+
'cmd', 'powershell', 'pwsh', 'command',
|
|
33
|
+
'python', 'python3', 'node', 'ruby', 'perl', 'php',
|
|
34
|
+
'rm', 'del', 'rmdir', 'mv', 'cp', 'dd',
|
|
35
|
+
'chmod', 'chown', 'sudo', 'su', 'doas',
|
|
36
|
+
'curl', 'wget', 'nc', 'netcat', 'telnet', 'ssh',
|
|
37
|
+
'eval', 'exec', 'source',
|
|
38
|
+
];
|
|
39
|
+
}
|
|
40
|
+
validateCliCommand(cliCommand) {
|
|
41
|
+
super.validateCliCommand(cliCommand);
|
|
42
|
+
const normalized = cliCommand.toLowerCase().trim();
|
|
43
|
+
const commandName = normalized.split('/').pop() || normalized;
|
|
44
|
+
if (this.blockedCommands.includes(commandName)) {
|
|
45
|
+
throw new Error(`Security: CLI command '${cliCommand}' is blocked for security reasons. ` +
|
|
46
|
+
`This command is considered dangerous and cannot be used as a plugin provider.`);
|
|
47
|
+
}
|
|
48
|
+
if (normalized.startsWith('/') || normalized.startsWith('\\')) {
|
|
49
|
+
throw new Error('Security: Absolute paths are not allowed. ' +
|
|
50
|
+
"Use relative paths from project root (e.g., 'test-tools/howling') or command names in PATH (e.g., 'aider').");
|
|
51
|
+
}
|
|
52
|
+
if (normalized.includes('..')) {
|
|
53
|
+
throw new Error('Security: Path traversal (..) is not allowed. ' +
|
|
54
|
+
'Use relative paths within the project directory only.');
|
|
55
|
+
}
|
|
56
|
+
const shellMetaChars = /[;&|<>`$(){}[\]!]/;
|
|
57
|
+
if (shellMetaChars.test(cliCommand)) {
|
|
58
|
+
throw new Error(`Security: CLI command '${cliCommand}' contains shell metacharacters. ` +
|
|
59
|
+
'Only alphanumeric characters, hyphens, underscores, dots, and forward slashes are allowed.');
|
|
60
|
+
}
|
|
61
|
+
if (cliCommand.includes('\0')) {
|
|
62
|
+
throw new Error('Security: CLI command contains null bytes (potential path injection).');
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
validateCliArgs(args) {
|
|
66
|
+
super.validateCliArgs(args);
|
|
67
|
+
for (const arg of args) {
|
|
68
|
+
const dangerousChars = /[;&|<>`$()!]/;
|
|
69
|
+
if (dangerousChars.test(arg)) {
|
|
70
|
+
throw new Error(`Security: CLI argument '${arg}' contains dangerous shell metacharacters. ` +
|
|
71
|
+
'Arguments with ;, &, |, <, >, `, $, (), ! are not allowed.');
|
|
72
|
+
}
|
|
73
|
+
if (arg.includes('$(') || arg.includes('`')) {
|
|
74
|
+
throw new Error(`Security: CLI argument '${arg}' contains command substitution pattern. ` +
|
|
75
|
+
'$() and backticks are not allowed.');
|
|
76
|
+
}
|
|
77
|
+
if (arg.includes('\0')) {
|
|
78
|
+
throw new Error('Security: CLI argument contains null bytes (potential injection).');
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
validateErrorPatterns(patterns) {
|
|
83
|
+
if (!patterns) {
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
const redosPatterns = [
|
|
87
|
+
/\(.*\+.*\)\+/,
|
|
88
|
+
/\(.*\*.*\)\*/,
|
|
89
|
+
/\(.*\+.*\)\*/,
|
|
90
|
+
/\(.*\*.*\)\+/,
|
|
91
|
+
];
|
|
92
|
+
for (const { pattern } of patterns) {
|
|
93
|
+
for (const redosPattern of redosPatterns) {
|
|
94
|
+
if (redosPattern.test(pattern)) {
|
|
95
|
+
throw new Error(`Security: Error pattern '${pattern}' may cause ReDoS (catastrophic backtracking). ` +
|
|
96
|
+
'Avoid nested quantifiers like (a+)+, (a*)*, etc.');
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
super.validateErrorPatterns(patterns);
|
|
101
|
+
}
|
|
102
|
+
validateEnv(env) {
|
|
103
|
+
super.validateEnv(env);
|
|
104
|
+
if (!env) {
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
const dangerousEnvVars = [
|
|
108
|
+
'PATH', 'LD_LIBRARY_PATH', 'DYLD_LIBRARY_PATH',
|
|
109
|
+
'LD_PRELOAD', 'DYLD_INSERT_LIBRARIES',
|
|
110
|
+
'IFS', 'BASH_ENV', 'ENV',
|
|
111
|
+
];
|
|
112
|
+
for (const [key, value] of Object.entries(env)) {
|
|
113
|
+
if (dangerousEnvVars.includes(key.toUpperCase())) {
|
|
114
|
+
throw new Error(`Security: Environment variable '${key}' is blocked for security reasons. ` +
|
|
115
|
+
'Modifying system paths or library loading variables is not allowed.');
|
|
116
|
+
}
|
|
117
|
+
if (key.includes('\0') || value.includes('\0')) {
|
|
118
|
+
throw new Error('Security: Environment variable contains null bytes (potential injection).');
|
|
119
|
+
}
|
|
120
|
+
const dangerousChars = /[;&|<>`$()]/;
|
|
121
|
+
if (dangerousChars.test(value)) {
|
|
122
|
+
this.logger.warn(`Warning: Environment variable '${key}' contains shell metacharacters. Value: ${value}`);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
exports.DynamicProviderFactory = DynamicProviderFactory;
|
|
128
|
+
exports.DynamicProviderFactory = DynamicProviderFactory = DynamicProviderFactory_1 = __decorate([
|
|
129
|
+
(0, common_1.Injectable)(),
|
|
130
|
+
__param(0, (0, common_1.Optional)()),
|
|
131
|
+
__metadata("design:paramtypes", [tracing_service_1.TracingService])
|
|
132
|
+
], DynamicProviderFactory);
|
|
133
|
+
//# sourceMappingURL=dynamic-provider.factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dynamic-provider.factory.js","sourceRoot":"","sources":["../../src/providers/dynamic-provider.factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Logger } from '@nestjs/common';
|
|
2
|
+
import type { LoggerLike, ProviderTaskLogHandler } from '@sowonai/crewx-sdk';
|
|
3
|
+
import type { TracingService } from '../services/tracing.service';
|
|
4
|
+
export declare function createSdkLoggerAdapter(logger: Logger): (message: string, level?: "debug" | "info" | "warn" | "error") => void;
|
|
5
|
+
export declare function createLoggerAdapter(context: string): LoggerLike;
|
|
6
|
+
export declare function createTaskLogHandler(tracingService?: TracingService): ProviderTaskLogHandler | undefined;
|
|
@@ -0,0 +1,102 @@
|
|
|
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) {
|
|
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
|
+
if (entry.level !== 'STDOUT' && entry.level !== 'STDERR') {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
const level = entry.level === 'STDOUT' ? 'stdout' : 'stderr';
|
|
95
|
+
tracingService.appendTaskLog(entry.taskId, {
|
|
96
|
+
timestamp: entry.timestamp,
|
|
97
|
+
level,
|
|
98
|
+
message: entry.message,
|
|
99
|
+
});
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=logger.adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.adapter.js","sourceRoot":"","sources":["../../src/providers/logger.adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { AgentInfo, LayoutLoader } from '@sowonai/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
|
+
}
|