@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
|
@@ -0,0 +1,355 @@
|
|
|
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 __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.parseCliOptions = parseCliOptions;
|
|
40
|
+
const yargs_1 = __importDefault(require("yargs"));
|
|
41
|
+
const helpers_1 = require("yargs/helpers");
|
|
42
|
+
const fs = __importStar(require("fs"));
|
|
43
|
+
const path = __importStar(require("path"));
|
|
44
|
+
const KNOWN_OPTIONS = new Set([
|
|
45
|
+
'install', 'log', 'http', 'raw', 'force', 'f', 'enable-intelligent-compression',
|
|
46
|
+
'list', 'l', 'clean', 'mention-only',
|
|
47
|
+
'protocol', 'host', 'port', 'key', 'params', 'config', 'c', 'template', 't',
|
|
48
|
+
'template-version', 'allow-tool', 'thread', 'provider', 'provider-config',
|
|
49
|
+
'agent', 'a', 'mode',
|
|
50
|
+
'help', 'h', 'version', 'v',
|
|
51
|
+
]);
|
|
52
|
+
const KNOWN_COMMANDS = new Set([
|
|
53
|
+
'query', 'q', 'execute', 'x', 'doctor', 'init', 'templates', 'template',
|
|
54
|
+
'agent', 'mcp', 'slack', 'log', 'slack:files', 'help', 'chat', 'skill',
|
|
55
|
+
'memory', 'search', 'doc', 'wbs', 'cron', 'workflow',
|
|
56
|
+
]);
|
|
57
|
+
function detectUnknownOptions(argv, command) {
|
|
58
|
+
const unknownOptions = [];
|
|
59
|
+
for (const arg of argv) {
|
|
60
|
+
if (!arg.startsWith('-'))
|
|
61
|
+
continue;
|
|
62
|
+
const optionName = arg.replace(/^-+/, '').split('=')[0];
|
|
63
|
+
if (!optionName)
|
|
64
|
+
continue;
|
|
65
|
+
if (KNOWN_OPTIONS.has(optionName))
|
|
66
|
+
continue;
|
|
67
|
+
if (optionName.startsWith('no-')) {
|
|
68
|
+
const baseOption = optionName.slice(3);
|
|
69
|
+
if (KNOWN_OPTIONS.has(baseOption))
|
|
70
|
+
continue;
|
|
71
|
+
}
|
|
72
|
+
unknownOptions.push(arg);
|
|
73
|
+
}
|
|
74
|
+
return unknownOptions;
|
|
75
|
+
}
|
|
76
|
+
function showUnknownOptionsError(unknownOptions, command) {
|
|
77
|
+
const optionList = unknownOptions.join(', ');
|
|
78
|
+
console.error(`Error: Unknown option${unknownOptions.length > 1 ? 's' : ''}: ${optionList}`);
|
|
79
|
+
if (command && KNOWN_COMMANDS.has(command)) {
|
|
80
|
+
console.error(`Run 'crewx ${command} --help' to see available options.`);
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
console.error(`Run 'crewx --help' to see available commands and options.`);
|
|
84
|
+
}
|
|
85
|
+
process.exit(1);
|
|
86
|
+
}
|
|
87
|
+
function parseCliOptions() {
|
|
88
|
+
const packageJson = JSON.parse(fs.readFileSync(path.join(__dirname, '../package.json'), 'utf-8'));
|
|
89
|
+
const parsed = (0, yargs_1.default)((0, helpers_1.hideBin)(process.argv))
|
|
90
|
+
.version(packageJson.version)
|
|
91
|
+
.command('query [message...]', 'Query agents with a message', (yargs) => {
|
|
92
|
+
yargs.positional('message', {
|
|
93
|
+
description: 'Message to send to agents (supports @agent mentions). Multiple arguments will be joined.',
|
|
94
|
+
type: 'string',
|
|
95
|
+
array: true
|
|
96
|
+
});
|
|
97
|
+
})
|
|
98
|
+
.command('q [message...]', 'Shorthand for query', (yargs) => {
|
|
99
|
+
yargs.positional('message', {
|
|
100
|
+
description: 'Message to send to agents (supports @agent mentions). Multiple arguments will be joined.',
|
|
101
|
+
type: 'string',
|
|
102
|
+
array: true
|
|
103
|
+
});
|
|
104
|
+
})
|
|
105
|
+
.command('execute [task...]', 'Execute a task with agents', (yargs) => {
|
|
106
|
+
yargs.positional('task', {
|
|
107
|
+
description: 'Task to execute with agents (supports @agent mentions). Multiple arguments will be joined.',
|
|
108
|
+
type: 'string',
|
|
109
|
+
array: true
|
|
110
|
+
});
|
|
111
|
+
})
|
|
112
|
+
.command('x [task...]', 'Shorthand for execute', (yargs) => {
|
|
113
|
+
yargs.positional('task', {
|
|
114
|
+
description: 'Task to execute with agents (supports @agent mentions). Multiple arguments will be joined.',
|
|
115
|
+
type: 'string',
|
|
116
|
+
array: true
|
|
117
|
+
});
|
|
118
|
+
})
|
|
119
|
+
.command('doctor', 'Check AI provider status', () => { })
|
|
120
|
+
.command('init', 'Initialize CrewX project', (yargs) => {
|
|
121
|
+
yargs.option('template', {
|
|
122
|
+
alias: 't',
|
|
123
|
+
type: 'string',
|
|
124
|
+
default: 'default',
|
|
125
|
+
description: 'Template to use (default, minimal, development, production)'
|
|
126
|
+
});
|
|
127
|
+
yargs.option('template-version', {
|
|
128
|
+
type: 'string',
|
|
129
|
+
default: 'main',
|
|
130
|
+
description: 'Template version to download (main, v0.1.8, etc.)'
|
|
131
|
+
});
|
|
132
|
+
yargs.option('force', {
|
|
133
|
+
alias: 'f',
|
|
134
|
+
type: 'boolean',
|
|
135
|
+
default: false,
|
|
136
|
+
description: 'Overwrite existing configuration file'
|
|
137
|
+
});
|
|
138
|
+
})
|
|
139
|
+
.command('templates', 'Manage agent templates', (yargs) => {
|
|
140
|
+
yargs.command('list', 'List available templates');
|
|
141
|
+
yargs.command('update', 'Clear cache and re-download templates');
|
|
142
|
+
})
|
|
143
|
+
.command('template [subcommand] [name]', 'Project scaffolding system', (yargs) => {
|
|
144
|
+
yargs.positional('subcommand', {
|
|
145
|
+
description: 'Subcommand (init, list, show)',
|
|
146
|
+
type: 'string',
|
|
147
|
+
choices: ['init', 'list', 'show']
|
|
148
|
+
});
|
|
149
|
+
yargs.positional('name', {
|
|
150
|
+
description: 'Project name (for init) or template name (for show)',
|
|
151
|
+
type: 'string'
|
|
152
|
+
});
|
|
153
|
+
yargs.option('template', {
|
|
154
|
+
alias: 't',
|
|
155
|
+
type: 'string',
|
|
156
|
+
default: 'wbs-automation',
|
|
157
|
+
description: 'Template to use for init (wbs-automation, docusaurus-admin, dev-team)'
|
|
158
|
+
});
|
|
159
|
+
})
|
|
160
|
+
.command('skill [action] [target] [params...]', 'Manage and execute skills', (yargs) => {
|
|
161
|
+
yargs.positional('action', {
|
|
162
|
+
description: 'Action (list, info) or skill name to execute',
|
|
163
|
+
type: 'string'
|
|
164
|
+
});
|
|
165
|
+
yargs.positional('target', {
|
|
166
|
+
description: 'Skill name (for info) or first argument for skill',
|
|
167
|
+
type: 'string'
|
|
168
|
+
});
|
|
169
|
+
yargs.positional('params', {
|
|
170
|
+
description: 'Additional arguments for skill execution',
|
|
171
|
+
type: 'string',
|
|
172
|
+
array: true
|
|
173
|
+
});
|
|
174
|
+
})
|
|
175
|
+
.command('agent [action]', 'Manage configured agents', (yargs) => {
|
|
176
|
+
yargs.command(['ls', 'list'], 'List available agents');
|
|
177
|
+
})
|
|
178
|
+
.command('mcp', 'Start MCP server for IDE integration', () => { })
|
|
179
|
+
.command('slack', 'Start Slack Bot server', (yargs) => {
|
|
180
|
+
yargs.option('agent', {
|
|
181
|
+
alias: 'a',
|
|
182
|
+
type: 'string',
|
|
183
|
+
default: 'claude',
|
|
184
|
+
description: 'Default agent to use for Slack conversations (claude, copilot, gemini, or custom agent ID)'
|
|
185
|
+
});
|
|
186
|
+
yargs.option('mode', {
|
|
187
|
+
choices: ['query', 'execute'],
|
|
188
|
+
default: 'query',
|
|
189
|
+
description: 'Slack bot mode: query (read-only) or execute (allow file changes)',
|
|
190
|
+
});
|
|
191
|
+
yargs.option('mention-only', {
|
|
192
|
+
type: 'boolean',
|
|
193
|
+
default: false,
|
|
194
|
+
description: 'Require explicit @mention in threads (prevents auto-response to thread messages)',
|
|
195
|
+
});
|
|
196
|
+
})
|
|
197
|
+
.command('log [action]', 'Manage task logs', (yargs) => {
|
|
198
|
+
yargs.command(['ls', 'list'], 'List all task logs');
|
|
199
|
+
yargs.positional('action', {
|
|
200
|
+
description: 'Action or task ID (ls/list or task_id)',
|
|
201
|
+
type: 'string'
|
|
202
|
+
});
|
|
203
|
+
})
|
|
204
|
+
.command('slack:files', 'Download and manage Slack thread files', (yargs) => {
|
|
205
|
+
yargs.option('thread', {
|
|
206
|
+
alias: 't',
|
|
207
|
+
type: 'string',
|
|
208
|
+
description: 'Slack thread timestamp (e.g., 1234567890.123456)'
|
|
209
|
+
});
|
|
210
|
+
yargs.option('list', {
|
|
211
|
+
alias: 'l',
|
|
212
|
+
type: 'boolean',
|
|
213
|
+
default: false,
|
|
214
|
+
description: 'List downloaded files'
|
|
215
|
+
});
|
|
216
|
+
yargs.option('clean', {
|
|
217
|
+
type: 'boolean',
|
|
218
|
+
default: false,
|
|
219
|
+
description: 'Clean/delete downloaded files'
|
|
220
|
+
});
|
|
221
|
+
})
|
|
222
|
+
.command('help', 'Show help', () => { })
|
|
223
|
+
.option('install', {
|
|
224
|
+
type: 'boolean',
|
|
225
|
+
default: false,
|
|
226
|
+
description: 'Run installation and setup process'
|
|
227
|
+
})
|
|
228
|
+
.option('log', {
|
|
229
|
+
type: 'boolean',
|
|
230
|
+
default: false,
|
|
231
|
+
description: 'Enable detailed logging'
|
|
232
|
+
})
|
|
233
|
+
.option('protocol', {
|
|
234
|
+
choices: ['STDIO', 'HTTP'],
|
|
235
|
+
default: 'STDIO',
|
|
236
|
+
description: 'MCP protocol to use'
|
|
237
|
+
})
|
|
238
|
+
.option('http', {
|
|
239
|
+
type: 'boolean',
|
|
240
|
+
default: false,
|
|
241
|
+
description: 'Shortcut to run MCP server over HTTP (equivalent to --protocol=HTTP)'
|
|
242
|
+
})
|
|
243
|
+
.option('host', {
|
|
244
|
+
type: 'string',
|
|
245
|
+
default: '127.0.0.1',
|
|
246
|
+
description: 'Host/IP address to bind the MCP HTTP server'
|
|
247
|
+
})
|
|
248
|
+
.option('port', {
|
|
249
|
+
type: 'number',
|
|
250
|
+
default: 3000,
|
|
251
|
+
description: 'Port for HTTP protocol (if used)'
|
|
252
|
+
})
|
|
253
|
+
.option('key', {
|
|
254
|
+
type: 'string',
|
|
255
|
+
description: 'Security key for MCP HTTP server authentication (defaults to CREWX_MCP_KEY env if available)'
|
|
256
|
+
})
|
|
257
|
+
.option('params', {
|
|
258
|
+
type: 'string',
|
|
259
|
+
description: 'JSON string with parameters for MCP tool invocation'
|
|
260
|
+
})
|
|
261
|
+
.option('config', {
|
|
262
|
+
alias: 'c',
|
|
263
|
+
type: 'string',
|
|
264
|
+
description: 'Path to agents configuration file (default: crewx.yaml or agents.yaml)'
|
|
265
|
+
})
|
|
266
|
+
.option('allow-tool', {
|
|
267
|
+
type: 'array',
|
|
268
|
+
default: [],
|
|
269
|
+
description: 'Allowed tools for Copilot agent (e.g., terminal,files,web)',
|
|
270
|
+
coerce: (value) => {
|
|
271
|
+
if (typeof value === 'string') {
|
|
272
|
+
return value.split(',').map(tool => tool.trim());
|
|
273
|
+
}
|
|
274
|
+
return value || [];
|
|
275
|
+
}
|
|
276
|
+
})
|
|
277
|
+
.option('raw', {
|
|
278
|
+
type: 'boolean',
|
|
279
|
+
default: false,
|
|
280
|
+
description: 'Output only AI response without formatting (useful for piping)'
|
|
281
|
+
})
|
|
282
|
+
.option('enable-intelligent-compression', {
|
|
283
|
+
type: 'boolean',
|
|
284
|
+
default: true,
|
|
285
|
+
description: 'Use intelligent conversation compression'
|
|
286
|
+
})
|
|
287
|
+
.option('thread', {
|
|
288
|
+
alias: 't',
|
|
289
|
+
type: 'string',
|
|
290
|
+
description: 'Thread ID for conversation continuity'
|
|
291
|
+
})
|
|
292
|
+
.option('provider', {
|
|
293
|
+
type: 'string',
|
|
294
|
+
description: 'AI provider to use (e.g., cli/claude, cli/gemini, cli/copilot, cli/codex)'
|
|
295
|
+
})
|
|
296
|
+
.option('provider-config', {
|
|
297
|
+
type: 'string',
|
|
298
|
+
description: 'Path to provider configuration file'
|
|
299
|
+
})
|
|
300
|
+
.help(false)
|
|
301
|
+
.parseSync();
|
|
302
|
+
const positionalArgs = (parsed._ || []);
|
|
303
|
+
const primaryCommand = positionalArgs.length > 0 ? String(positionalArgs[0]) : undefined;
|
|
304
|
+
const secondaryCommand = positionalArgs.length > 1 ? String(positionalArgs[1]) : undefined;
|
|
305
|
+
const tertiaryValue = positionalArgs.length > 2 ? String(positionalArgs[2]) : undefined;
|
|
306
|
+
const rawArgs = (0, helpers_1.hideBin)(process.argv);
|
|
307
|
+
const BUILTIN_TOOL_COMMANDS = new Set(['memory', 'search', 'doc', 'wbs', 'cron', 'workflow']);
|
|
308
|
+
if (!rawArgs.includes('--help') && !rawArgs.includes('-h') && !BUILTIN_TOOL_COMMANDS.has(primaryCommand ?? '')) {
|
|
309
|
+
const unknownOptions = detectUnknownOptions(rawArgs, primaryCommand);
|
|
310
|
+
if (unknownOptions.length > 0) {
|
|
311
|
+
showUnknownOptionsError(unknownOptions, primaryCommand);
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
const resolvedProtocol = parsed.http === true ? 'HTTP' : parsed.protocol;
|
|
315
|
+
const resolvedKey = parsed.key ?? process.env.CREWX_MCP_KEY ?? undefined;
|
|
316
|
+
return {
|
|
317
|
+
install: parsed.install,
|
|
318
|
+
log: parsed.log,
|
|
319
|
+
protocol: resolvedProtocol,
|
|
320
|
+
host: parsed.host,
|
|
321
|
+
port: parsed.port,
|
|
322
|
+
allowTool: parsed['allow-tool'] || [],
|
|
323
|
+
raw: parsed.raw,
|
|
324
|
+
enableIntelligentCompression: parsed['enable-intelligent-compression'],
|
|
325
|
+
thread: parsed.thread,
|
|
326
|
+
provider: parsed.provider || process.env.CREWX_PROVIDER,
|
|
327
|
+
providerConfig: parsed['provider-config'],
|
|
328
|
+
command: primaryCommand,
|
|
329
|
+
subcommand: secondaryCommand,
|
|
330
|
+
query: Array.isArray(parsed.message) ? parsed.message : (parsed.message ? [parsed.message] : undefined),
|
|
331
|
+
execute: Array.isArray(parsed.task) ? parsed.task : (parsed.task ? [parsed.task] : undefined),
|
|
332
|
+
doctor: primaryCommand === 'doctor',
|
|
333
|
+
logCommand: primaryCommand === 'log',
|
|
334
|
+
logAction: parsed.action,
|
|
335
|
+
config: parsed.config,
|
|
336
|
+
template: parsed.template,
|
|
337
|
+
templateVersion: parsed['template-version'],
|
|
338
|
+
force: parsed.force,
|
|
339
|
+
templateSubcommand: parsed.subcommand,
|
|
340
|
+
templateProjectName: parsed.name,
|
|
341
|
+
templateName: parsed.name,
|
|
342
|
+
skillAction: parsed.action,
|
|
343
|
+
skillTarget: parsed.target,
|
|
344
|
+
skillParams: parsed.params,
|
|
345
|
+
slackAgent: parsed.agent,
|
|
346
|
+
slackMode: parsed.mode || 'query',
|
|
347
|
+
slackMentionOnly: parsed['mention-only'] || false,
|
|
348
|
+
http: parsed.http,
|
|
349
|
+
key: resolvedKey,
|
|
350
|
+
mcpToolName: secondaryCommand === 'call_tool' ? tertiaryValue : undefined,
|
|
351
|
+
mcpParams: typeof parsed.params === 'string' ? parsed.params : undefined,
|
|
352
|
+
rawArgs: process.argv.slice(2),
|
|
353
|
+
};
|
|
354
|
+
}
|
|
355
|
+
//# sourceMappingURL=cli-options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-options.js","sourceRoot":"","sources":["../src/cli-options.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/agent.js
CHANGED
|
@@ -219,28 +219,28 @@ function loadAgentSkills() {
|
|
|
219
219
|
}
|
|
220
220
|
}
|
|
221
221
|
function printAgentHelp() {
|
|
222
|
-
console.log(`
|
|
223
|
-
CrewX Agent Management
|
|
224
|
-
|
|
225
|
-
Usage:
|
|
226
|
-
crewx agent # List configured agents (default)
|
|
227
|
-
crewx agent ls # List configured agents
|
|
228
|
-
crewx agent list # Alias for ls
|
|
229
|
-
crewx agent prompt <id> # Inspect rendered agent prompt
|
|
230
|
-
|
|
231
|
-
Filter Options (for agent ls):
|
|
232
|
-
--role <value> Filter by agent role (comma-separated for multiple: PM,Dev)
|
|
233
|
-
--team <value> Filter by agent team (comma-separated for multiple)
|
|
234
|
-
--provider <value> Filter by provider (comma-separated, partial match: claude)
|
|
235
|
-
|
|
236
|
-
Examples:
|
|
237
|
-
crewx agent
|
|
238
|
-
crewx agent ls
|
|
239
|
-
crewx agent ls --role=PM
|
|
240
|
-
crewx agent ls --team="CrewX Core 개발팀"
|
|
241
|
-
crewx agent ls --provider=claude
|
|
242
|
-
crewx agent ls --role=PM --provider=claude
|
|
243
|
-
crewx agent ls --role=PM,general
|
|
244
|
-
CREWX_CONFIG=./crewx.yaml crewx agent list
|
|
222
|
+
console.log(`
|
|
223
|
+
CrewX Agent Management
|
|
224
|
+
|
|
225
|
+
Usage:
|
|
226
|
+
crewx agent # List configured agents (default)
|
|
227
|
+
crewx agent ls # List configured agents
|
|
228
|
+
crewx agent list # Alias for ls
|
|
229
|
+
crewx agent prompt <id> # Inspect rendered agent prompt
|
|
230
|
+
|
|
231
|
+
Filter Options (for agent ls):
|
|
232
|
+
--role <value> Filter by agent role (comma-separated for multiple: PM,Dev)
|
|
233
|
+
--team <value> Filter by agent team (comma-separated for multiple)
|
|
234
|
+
--provider <value> Filter by provider (comma-separated, partial match: claude)
|
|
235
|
+
|
|
236
|
+
Examples:
|
|
237
|
+
crewx agent
|
|
238
|
+
crewx agent ls
|
|
239
|
+
crewx agent ls --role=PM
|
|
240
|
+
crewx agent ls --team="CrewX Core 개발팀"
|
|
241
|
+
crewx agent ls --provider=claude
|
|
242
|
+
crewx agent ls --role=PM --provider=claude
|
|
243
|
+
crewx agent ls --role=PM,general
|
|
244
|
+
CREWX_CONFIG=./crewx.yaml crewx agent list
|
|
245
245
|
`.trim());
|
|
246
246
|
}
|
package/dist/commands/init.js
CHANGED
|
@@ -21,10 +21,12 @@ const DEFAULT_AGENTS = [
|
|
|
21
21
|
role: 'Product/Architecture Planner',
|
|
22
22
|
team: 'core',
|
|
23
23
|
provider: 'cli/claude',
|
|
24
|
-
default_model: 'claude-opus-4-7',
|
|
25
24
|
working_directory: './',
|
|
26
25
|
description: '요구 분석·설계·작업 분해를 담당',
|
|
27
|
-
|
|
26
|
+
inline: {
|
|
27
|
+
model: 'claude-opus-4-7',
|
|
28
|
+
system_prompt: `You are a planner. Break down user goals into concrete,\ntestable steps. Challenge assumptions. Never write code directly.`,
|
|
29
|
+
},
|
|
28
30
|
},
|
|
29
31
|
{
|
|
30
32
|
id: 'developer',
|
|
@@ -32,10 +34,12 @@ const DEFAULT_AGENTS = [
|
|
|
32
34
|
role: 'Implementation Engineer',
|
|
33
35
|
team: 'core',
|
|
34
36
|
provider: 'cli/claude',
|
|
35
|
-
default_model: 'claude-opus-4-7',
|
|
36
37
|
working_directory: './',
|
|
37
38
|
description: '실제 코드 작성과 테스트',
|
|
38
|
-
|
|
39
|
+
inline: {
|
|
40
|
+
model: 'claude-sonnet-4-6',
|
|
41
|
+
system_prompt: `Implement what the planner specifies. Prefer editing\nexisting files. Run tests before reporting done.`,
|
|
42
|
+
},
|
|
39
43
|
},
|
|
40
44
|
{
|
|
41
45
|
id: 'reviewer',
|
|
@@ -43,41 +47,45 @@ const DEFAULT_AGENTS = [
|
|
|
43
47
|
role: 'Code Reviewer',
|
|
44
48
|
team: 'core',
|
|
45
49
|
provider: 'cli/claude',
|
|
46
|
-
default_model: 'claude-opus-4-7',
|
|
47
50
|
working_directory: './',
|
|
48
51
|
description: '코드 품질·보안·가독성 리뷰',
|
|
49
|
-
|
|
52
|
+
inline: {
|
|
53
|
+
model: 'claude-sonnet-4-6',
|
|
54
|
+
system_prompt: `Review diffs for correctness, security, readability.\nCite file:line. Be blunt, not polite.`,
|
|
55
|
+
},
|
|
50
56
|
},
|
|
51
57
|
];
|
|
52
|
-
function
|
|
58
|
+
function indentBlock(text, spaces) {
|
|
59
|
+
const prefix = ' '.repeat(spaces);
|
|
53
60
|
return text
|
|
54
61
|
.split('\n')
|
|
55
|
-
.map((line) =>
|
|
62
|
+
.map((line) => `${prefix}${line}`)
|
|
56
63
|
.join('\n');
|
|
57
64
|
}
|
|
58
65
|
function generateDefaultYaml(agents) {
|
|
59
66
|
const agentBlocks = agents
|
|
60
|
-
.map((a) => ` - id: "${a.id}"
|
|
61
|
-
name: "${a.name}"
|
|
62
|
-
role: "${a.role}"
|
|
63
|
-
team: "${a.team}"
|
|
64
|
-
provider: "${a.provider}"
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
67
|
+
.map((a) => ` - id: "${a.id}"
|
|
68
|
+
name: "${a.name}"
|
|
69
|
+
role: "${a.role}"
|
|
70
|
+
team: "${a.team}"
|
|
71
|
+
provider: "${a.provider}"
|
|
72
|
+
working_directory: "${a.working_directory}"
|
|
73
|
+
description: "${a.description}"
|
|
74
|
+
inline:
|
|
75
|
+
model: "${a.inline.model}"
|
|
76
|
+
system_prompt: |
|
|
77
|
+
${indentBlock(a.inline.system_prompt, 8)}`)
|
|
70
78
|
.join('\n\n');
|
|
71
|
-
return `# CrewX Agents Configuration
|
|
72
|
-
# Generated by 'crewx init'
|
|
73
|
-
|
|
74
|
-
agents:
|
|
75
|
-
${agentBlocks}
|
|
76
|
-
|
|
77
|
-
# Usage examples:
|
|
78
|
-
# crewx query "@planner analyze this codebase"
|
|
79
|
-
# crewx execute "@developer implement the feature described above"
|
|
80
|
-
# crewx agent ls
|
|
79
|
+
return `# CrewX Agents Configuration
|
|
80
|
+
# Generated by 'crewx init'
|
|
81
|
+
|
|
82
|
+
agents:
|
|
83
|
+
${agentBlocks}
|
|
84
|
+
|
|
85
|
+
# Usage examples:
|
|
86
|
+
# crewx query "@planner analyze this codebase"
|
|
87
|
+
# crewx execute "@developer implement the feature described above"
|
|
88
|
+
# crewx agent ls
|
|
81
89
|
`;
|
|
82
90
|
}
|
|
83
91
|
/**
|
|
@@ -18,10 +18,10 @@ export declare function readStdin(): Promise<string>;
|
|
|
18
18
|
* Resolve the final prompt from argv, stdin pipe, or --prompt-file.
|
|
19
19
|
*
|
|
20
20
|
* Priority:
|
|
21
|
-
* 1. promptFile is specified → read file content
|
|
22
|
-
* 2.
|
|
23
|
-
* 3. argv
|
|
24
|
-
* 4.
|
|
21
|
+
* 1. promptFile is specified → read file content
|
|
22
|
+
* 2. argv is present → use argv (stdin is NOT read — prevents hang in child processes)
|
|
23
|
+
* 3. argv is empty, no promptFile → read stdin pipe/redirect
|
|
24
|
+
* 4. argv + promptFile both present → `${argv}\n\n${fileContent}`
|
|
25
25
|
* 5. Neither present → return '' (caller decides error handling)
|
|
26
26
|
*
|
|
27
27
|
* @param _readStdin - injectable stdin reader, defaults to the module-level
|
|
@@ -30,10 +30,10 @@ async function readStdin() {
|
|
|
30
30
|
* Resolve the final prompt from argv, stdin pipe, or --prompt-file.
|
|
31
31
|
*
|
|
32
32
|
* Priority:
|
|
33
|
-
* 1. promptFile is specified → read file content
|
|
34
|
-
* 2.
|
|
35
|
-
* 3. argv
|
|
36
|
-
* 4.
|
|
33
|
+
* 1. promptFile is specified → read file content
|
|
34
|
+
* 2. argv is present → use argv (stdin is NOT read — prevents hang in child processes)
|
|
35
|
+
* 3. argv is empty, no promptFile → read stdin pipe/redirect
|
|
36
|
+
* 4. argv + promptFile both present → `${argv}\n\n${fileContent}`
|
|
37
37
|
* 5. Neither present → return '' (caller decides error handling)
|
|
38
38
|
*
|
|
39
39
|
* @param _readStdin - injectable stdin reader, defaults to the module-level
|
|
@@ -45,7 +45,7 @@ async function resolvePrompt(argvPrompt, promptFile, _readStdin = readStdin) {
|
|
|
45
45
|
if (promptFile) {
|
|
46
46
|
external = (0, fs_1.readFileSync)(promptFile, 'utf8').trimEnd();
|
|
47
47
|
}
|
|
48
|
-
else {
|
|
48
|
+
else if (!argvPrompt) {
|
|
49
49
|
external = (await _readStdin()).trimEnd();
|
|
50
50
|
}
|
|
51
51
|
if (argvPrompt && external)
|
|
@@ -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(): 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() {
|
|
18
|
+
return {
|
|
19
|
+
claudeQuery: parseInt(process.env.CREWCODE_TIMEOUT_CLAUDE_QUERY || '') || DEFAULT_TIMEOUTS.claudeQuery,
|
|
20
|
+
claudeExecute: parseInt(process.env.CREWCODE_TIMEOUT_CLAUDE_EXECUTE || '') || DEFAULT_TIMEOUTS.claudeExecute,
|
|
21
|
+
geminiQuery: parseInt(process.env.CREWCODE_TIMEOUT_GEMINI_QUERY || '') || DEFAULT_TIMEOUTS.geminiQuery,
|
|
22
|
+
geminiExecute: parseInt(process.env.CREWCODE_TIMEOUT_GEMINI_EXECUTE || '') || DEFAULT_TIMEOUTS.geminiExecute,
|
|
23
|
+
copilotQuery: parseInt(process.env.CREWCODE_TIMEOUT_COPILOT_QUERY || '') || DEFAULT_TIMEOUTS.copilotQuery,
|
|
24
|
+
copilotExecute: parseInt(process.env.CREWCODE_TIMEOUT_COPILOT_EXECUTE || '') || DEFAULT_TIMEOUTS.copilotExecute,
|
|
25
|
+
parallel: parseInt(process.env.CREWCODE_TIMEOUT_PARALLEL || '') || DEFAULT_TIMEOUTS.parallel,
|
|
26
|
+
stdinInitial: parseInt(process.env.CREWCODE_TIMEOUT_STDIN_INITIAL || '') || DEFAULT_TIMEOUTS.stdinInitial,
|
|
27
|
+
stdinChunk: parseInt(process.env.CREWCODE_TIMEOUT_STDIN_CHUNK || '') || DEFAULT_TIMEOUTS.stdinChunk,
|
|
28
|
+
stdinComplete: parseInt(process.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":";;AAyDA,4CAaC;AAKD,0DAEC;AArCD,MAAM,gBAAgB,GAAkB;IACtC,WAAW,EAAE,OAAO;IACpB,aAAa,EAAE,OAAO;IACtB,WAAW,EAAE,OAAO;IACpB,aAAa,EAAE,OAAO;IACtB,YAAY,EAAE,OAAO;IACrB,cAAc,EAAE,OAAO;IACvB,QAAQ,EAAE,OAAO;IACjB,YAAY,EAAE,KAAK;IACnB,UAAU,EAAE,OAAO;IACnB,aAAa,EAAE,GAAG;CACnB,CAAC;AAMF,SAAgB,gBAAgB;IAC9B,OAAO;QACL,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,6BAA6B,IAAI,EAAE,CAAC,IAAI,gBAAgB,CAAC,WAAW;QACtG,aAAa,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,+BAA+B,IAAI,EAAE,CAAC,IAAI,gBAAgB,CAAC,aAAa;QAC5G,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,6BAA6B,IAAI,EAAE,CAAC,IAAI,gBAAgB,CAAC,WAAW;QACtG,aAAa,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,+BAA+B,IAAI,EAAE,CAAC,IAAI,gBAAgB,CAAC,aAAa;QAC5G,YAAY,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,8BAA8B,IAAI,EAAE,CAAC,IAAI,gBAAgB,CAAC,YAAY;QACzG,cAAc,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gCAAgC,IAAI,EAAE,CAAC,IAAI,gBAAgB,CAAC,cAAc;QAC/G,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,EAAE,CAAC,IAAI,gBAAgB,CAAC,QAAQ;QAC5F,YAAY,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,8BAA8B,IAAI,EAAE,CAAC,IAAI,gBAAgB,CAAC,YAAY;QACzG,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,IAAI,EAAE,CAAC,IAAI,gBAAgB,CAAC,UAAU;QACnG,aAAa,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,+BAA+B,IAAI,EAAE,CAAC,IAAI,gBAAgB,CAAC,aAAa;KAC7G,CAAC;AACJ,CAAC;AAKD,SAAgB,uBAAuB;IACrC,OAAO,EAAE,GAAG,gBAAgB,EAAE,CAAC;AACjC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Logger } from '@nestjs/common';
|
|
2
|
+
import { ConversationThread, FetchHistoryOptions, IConversationHistoryProvider } from '@sowonai/crewx-sdk';
|
|
3
|
+
import { IntelligentCompressionService } from '../services/intelligent-compression.service';
|
|
4
|
+
export declare abstract class BaseConversationHistoryProvider implements IConversationHistoryProvider {
|
|
5
|
+
protected readonly logger: Logger;
|
|
6
|
+
protected compressionService?: IntelligentCompressionService;
|
|
7
|
+
constructor(loggerContext: string, compressionService?: IntelligentCompressionService);
|
|
8
|
+
abstract fetchHistory(threadId: string, options?: FetchHistoryOptions): Promise<ConversationThread>;
|
|
9
|
+
abstract hasHistory(threadId: string): Promise<boolean>;
|
|
10
|
+
formatForAI(thread: ConversationThread, options?: FetchHistoryOptions): Promise<string>;
|
|
11
|
+
protected sanitizeMessage(text: string): string;
|
|
12
|
+
}
|