crewx 0.3.0 → 0.4.0-dev.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/bin/crewx.js +6 -0
- package/package.json +9 -107
- package/LICENSE +0 -201
- package/README.md +0 -234
- package/crewx.yaml +0 -2069
- package/dist/agent.types.d.ts +0 -117
- package/dist/agent.types.js +0 -16
- package/dist/agent.types.js.map +0 -1
- package/dist/ai-provider.service.d.ts +0 -36
- package/dist/ai-provider.service.js +0 -191
- package/dist/ai-provider.service.js.map +0 -1
- package/dist/ai.service.d.ts +0 -57
- package/dist/ai.service.js +0 -629
- package/dist/ai.service.js.map +0 -1
- package/dist/app.module.d.ts +0 -5
- package/dist/app.module.js +0 -103
- package/dist/app.module.js.map +0 -1
- package/dist/cli/agent.handler.d.ts +0 -2
- package/dist/cli/agent.handler.js +0 -140
- package/dist/cli/agent.handler.js.map +0 -1
- package/dist/cli/chat.handler.d.ts +0 -19
- package/dist/cli/chat.handler.js +0 -431
- package/dist/cli/chat.handler.js.map +0 -1
- package/dist/cli/cli.handler.d.ts +0 -4
- package/dist/cli/cli.handler.js +0 -97
- package/dist/cli/cli.handler.js.map +0 -1
- package/dist/cli/doctor.handler.d.ts +0 -36
- package/dist/cli/doctor.handler.js +0 -382
- package/dist/cli/doctor.handler.js.map +0 -1
- package/dist/cli/execute.handler.d.ts +0 -2
- package/dist/cli/execute.handler.js +0 -319
- package/dist/cli/execute.handler.js.map +0 -1
- package/dist/cli/help.handler.d.ts +0 -2
- package/dist/cli/help.handler.js +0 -10
- package/dist/cli/help.handler.js.map +0 -1
- package/dist/cli/init.handler.d.ts +0 -26
- package/dist/cli/init.handler.js +0 -450
- package/dist/cli/init.handler.js.map +0 -1
- package/dist/cli/mcp.handler.d.ts +0 -3
- package/dist/cli/mcp.handler.js +0 -121
- package/dist/cli/mcp.handler.js.map +0 -1
- package/dist/cli/query.handler.d.ts +0 -2
- package/dist/cli/query.handler.js +0 -380
- package/dist/cli/query.handler.js.map +0 -1
- package/dist/cli/templates.handler.d.ts +0 -2
- package/dist/cli/templates.handler.js +0 -100
- package/dist/cli/templates.handler.js.map +0 -1
- package/dist/cli-options.d.ts +0 -29
- package/dist/cli-options.js +0 -234
- package/dist/cli-options.js.map +0 -1
- package/dist/config/timeout.config.d.ts +0 -14
- package/dist/config/timeout.config.js +0 -34
- package/dist/config/timeout.config.js.map +0 -1
- package/dist/constants.d.ts +0 -4
- package/dist/constants.js +0 -8
- package/dist/constants.js.map +0 -1
- package/dist/conversation/base-conversation-history.provider.d.ts +0 -12
- package/dist/conversation/base-conversation-history.provider.js +0 -45
- package/dist/conversation/base-conversation-history.provider.js.map +0 -1
- package/dist/conversation/cli-conversation-history.provider.d.ts +0 -16
- package/dist/conversation/cli-conversation-history.provider.js +0 -111
- package/dist/conversation/cli-conversation-history.provider.js.map +0 -1
- package/dist/conversation/conversation-config.d.ts +0 -9
- package/dist/conversation/conversation-config.js +0 -25
- package/dist/conversation/conversation-config.js.map +0 -1
- package/dist/conversation/conversation-history.interface.d.ts +0 -25
- package/dist/conversation/conversation-history.interface.js +0 -3
- package/dist/conversation/conversation-history.interface.js.map +0 -1
- package/dist/conversation/conversation-provider.factory.d.ts +0 -10
- package/dist/conversation/conversation-provider.factory.js +0 -50
- package/dist/conversation/conversation-provider.factory.js.map +0 -1
- package/dist/conversation/conversation-storage.service.d.ts +0 -16
- package/dist/conversation/conversation-storage.service.js +0 -220
- package/dist/conversation/conversation-storage.service.js.map +0 -1
- package/dist/conversation/index.d.ts +0 -7
- package/dist/conversation/index.js +0 -24
- package/dist/conversation/index.js.map +0 -1
- package/dist/conversation/slack-conversation-history.provider.d.ts +0 -28
- package/dist/conversation/slack-conversation-history.provider.js +0 -278
- package/dist/conversation/slack-conversation-history.provider.js.map +0 -1
- package/dist/crewx.tool.d.ts +0 -332
- package/dist/crewx.tool.js +0 -1463
- package/dist/crewx.tool.js.map +0 -1
- package/dist/guards/bearer-auth.guard.d.ts +0 -7
- package/dist/guards/bearer-auth.guard.js +0 -44
- package/dist/guards/bearer-auth.guard.js.map +0 -1
- package/dist/health.controller.d.ts +0 -6
- package/dist/health.controller.js +0 -32
- package/dist/health.controller.js.map +0 -1
- package/dist/knowledge/DocumentManager.d.ts +0 -4
- package/dist/knowledge/DocumentManager.js +0 -119
- package/dist/knowledge/DocumentManager.js.map +0 -1
- package/dist/main.d.ts +0 -1
- package/dist/main.js +0 -268
- package/dist/main.js.map +0 -1
- package/dist/mcp.controller.d.ts +0 -8
- package/dist/mcp.controller.js +0 -62
- package/dist/mcp.controller.js.map +0 -1
- package/dist/project.service.d.ts +0 -44
- package/dist/project.service.js +0 -299
- package/dist/project.service.js.map +0 -1
- package/dist/providers/ai-provider.interface.d.ts +0 -50
- package/dist/providers/ai-provider.interface.js +0 -23
- package/dist/providers/ai-provider.interface.js.map +0 -1
- package/dist/providers/base-ai.provider.d.ts +0 -50
- package/dist/providers/base-ai.provider.js +0 -624
- package/dist/providers/base-ai.provider.js.map +0 -1
- package/dist/providers/claude.provider.d.ts +0 -25
- package/dist/providers/claude.provider.js +0 -362
- package/dist/providers/claude.provider.js.map +0 -1
- package/dist/providers/codex.provider.d.ts +0 -17
- package/dist/providers/codex.provider.js +0 -99
- package/dist/providers/codex.provider.js.map +0 -1
- package/dist/providers/copilot.provider.d.ts +0 -25
- package/dist/providers/copilot.provider.js +0 -266
- package/dist/providers/copilot.provider.js.map +0 -1
- package/dist/providers/dynamic-provider.factory.d.ts +0 -55
- package/dist/providers/dynamic-provider.factory.js +0 -587
- package/dist/providers/dynamic-provider.factory.js.map +0 -1
- package/dist/providers/gemini.provider.d.ts +0 -22
- package/dist/providers/gemini.provider.js +0 -147
- package/dist/providers/gemini.provider.js.map +0 -1
- package/dist/services/agent-loader.service.d.ts +0 -29
- package/dist/services/agent-loader.service.js +0 -370
- package/dist/services/agent-loader.service.js.map +0 -1
- package/dist/services/auth.service.d.ts +0 -9
- package/dist/services/auth.service.js +0 -47
- package/dist/services/auth.service.js.map +0 -1
- package/dist/services/config-validator.service.d.ts +0 -28
- package/dist/services/config-validator.service.js +0 -467
- package/dist/services/config-validator.service.js.map +0 -1
- package/dist/services/config.service.d.ts +0 -45
- package/dist/services/config.service.js +0 -180
- package/dist/services/config.service.js.map +0 -1
- package/dist/services/context-enhancement.service.d.ts +0 -13
- package/dist/services/context-enhancement.service.js +0 -169
- package/dist/services/context-enhancement.service.js.map +0 -1
- package/dist/services/document-loader.service.d.ts +0 -16
- package/dist/services/document-loader.service.js +0 -137
- package/dist/services/document-loader.service.js.map +0 -1
- package/dist/services/help.service.d.ts +0 -5
- package/dist/services/help.service.js +0 -117
- package/dist/services/help.service.js.map +0 -1
- package/dist/services/intelligent-compression.service.d.ts +0 -20
- package/dist/services/intelligent-compression.service.js +0 -179
- package/dist/services/intelligent-compression.service.js.map +0 -1
- package/dist/services/mcp-client.service.d.ts +0 -26
- package/dist/services/mcp-client.service.js +0 -81
- package/dist/services/mcp-client.service.js.map +0 -1
- package/dist/services/parallel-processing.service.d.ts +0 -108
- package/dist/services/parallel-processing.service.js +0 -268
- package/dist/services/parallel-processing.service.js.map +0 -1
- package/dist/services/remote-agent.service.d.ts +0 -49
- package/dist/services/remote-agent.service.js +0 -215
- package/dist/services/remote-agent.service.js.map +0 -1
- package/dist/services/result-formatter.service.d.ts +0 -27
- package/dist/services/result-formatter.service.js +0 -126
- package/dist/services/result-formatter.service.js.map +0 -1
- package/dist/services/task-management.service.d.ts +0 -63
- package/dist/services/task-management.service.js +0 -272
- package/dist/services/task-management.service.js.map +0 -1
- package/dist/services/template.service.d.ts +0 -36
- package/dist/services/template.service.js +0 -195
- package/dist/services/template.service.js.map +0 -1
- package/dist/services/tool-call.service.d.ts +0 -53
- package/dist/services/tool-call.service.js +0 -1061
- package/dist/services/tool-call.service.js.map +0 -1
- package/dist/slack/formatters/message.formatter.d.ts +0 -25
- package/dist/slack/formatters/message.formatter.js +0 -246
- package/dist/slack/formatters/message.formatter.js.map +0 -1
- package/dist/slack/slack-bot.d.ts +0 -24
- package/dist/slack/slack-bot.js +0 -467
- package/dist/slack/slack-bot.js.map +0 -1
- package/dist/stderr.logger.d.ts +0 -8
- package/dist/stderr.logger.js +0 -26
- package/dist/stderr.logger.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/dist/utils/config-utils.d.ts +0 -15
- package/dist/utils/config-utils.js +0 -69
- package/dist/utils/config-utils.js.map +0 -1
- package/dist/utils/error-utils.d.ts +0 -3
- package/dist/utils/error-utils.js +0 -27
- package/dist/utils/error-utils.js.map +0 -1
- package/dist/utils/math-utils.d.ts +0 -3
- package/dist/utils/math-utils.js +0 -10
- package/dist/utils/math-utils.js.map +0 -1
- package/dist/utils/mcp-installer.d.ts +0 -20
- package/dist/utils/mcp-installer.js +0 -199
- package/dist/utils/mcp-installer.js.map +0 -1
- package/dist/utils/mention-parser.d.ts +0 -18
- package/dist/utils/mention-parser.js +0 -136
- package/dist/utils/mention-parser.js.map +0 -1
- package/dist/utils/simple-security.d.ts +0 -3
- package/dist/utils/simple-security.js +0 -20
- package/dist/utils/simple-security.js.map +0 -1
- package/dist/utils/stdin-utils.d.ts +0 -27
- package/dist/utils/stdin-utils.js +0 -130
- package/dist/utils/stdin-utils.js.map +0 -1
- package/dist/utils/string-utils.d.ts +0 -1
- package/dist/utils/string-utils.js +0 -10
- package/dist/utils/string-utils.js.map +0 -1
- package/dist/utils/template-processor.d.ts +0 -32
- package/dist/utils/template-processor.js +0 -202
- package/dist/utils/template-processor.js.map +0 -1
- package/dist/version.d.ts +0 -1
- package/dist/version.js +0 -17
- package/dist/version.js.map +0 -1
- package/docs/CLA.md +0 -88
- package/docs/agent-configuration.md +0 -364
- package/docs/agent-registry-strategy.md +0 -348
- package/docs/branding-decision-crewx.md +0 -395
- package/docs/claude-code-docker-guide.md +0 -264
- package/docs/cli-guide.md +0 -439
- package/docs/development.md +0 -595
- package/docs/diagram1.svg +0 -1
- package/docs/guides/agent-best-practices.md +0 -97
- package/docs/guides/bug-management.md +0 -600
- package/docs/guides/git-bug-reference.md +0 -366
- package/docs/mcp-integration.md +0 -187
- package/docs/process/development-workflow.md +0 -84
- package/docs/remote-agents.md +0 -555
- package/docs/roadmap.md +0 -528
- package/docs/rules/branch-protection.md +0 -40
- package/docs/standards/rc-versioning.md +0 -60
- package/docs/standards/report-structure.md +0 -67
- package/docs/template-variables.md +0 -382
- package/docs/templates.md +0 -517
- package/docs/tools.md +0 -583
- package/docs/troubleshooting.md +0 -611
- package/templates/agents/default.yaml +0 -938
- package/templates/agents/minimal.yaml +0 -25
- package/templates/documents/crewcode-manual.md +0 -292
- package/templates/versions.json +0 -19
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.readStdin = readStdin;
|
|
4
|
-
exports.formatPipedContext = formatPipedContext;
|
|
5
|
-
exports.parseStructuredPayload = parseStructuredPayload;
|
|
6
|
-
exports.buildContextFromStructuredPayload = buildContextFromStructuredPayload;
|
|
7
|
-
const timeout_config_1 = require("../config/timeout.config");
|
|
8
|
-
async function readStdin() {
|
|
9
|
-
const timeoutConfig = (0, timeout_config_1.getTimeoutConfig)();
|
|
10
|
-
if (process.stdin.isTTY) {
|
|
11
|
-
return null;
|
|
12
|
-
}
|
|
13
|
-
return new Promise((resolve, reject) => {
|
|
14
|
-
let data = '';
|
|
15
|
-
let chunks = 0;
|
|
16
|
-
let dataTimeout = null;
|
|
17
|
-
process.stdin.setEncoding('utf8');
|
|
18
|
-
const debug = process.env.DEBUG_STDIN === '1';
|
|
19
|
-
if (debug) {
|
|
20
|
-
console.error('[STDIN] Waiting for piped input...');
|
|
21
|
-
}
|
|
22
|
-
const dataHandler = (chunk) => {
|
|
23
|
-
chunks++;
|
|
24
|
-
data += chunk;
|
|
25
|
-
if (debug) {
|
|
26
|
-
console.error(`[STDIN] Received chunk ${chunks}: "${chunk.substring(0, 50)}..."`);
|
|
27
|
-
}
|
|
28
|
-
if (dataTimeout) {
|
|
29
|
-
clearTimeout(dataTimeout);
|
|
30
|
-
}
|
|
31
|
-
const looksComplete = /✅.*completed successfully\s*$/.test(data);
|
|
32
|
-
const timeout = looksComplete ? timeoutConfig.stdinComplete : timeoutConfig.stdinChunk;
|
|
33
|
-
dataTimeout = setTimeout(() => {
|
|
34
|
-
cleanup();
|
|
35
|
-
resolve(data.trim() || null);
|
|
36
|
-
}, timeout);
|
|
37
|
-
};
|
|
38
|
-
const endHandler = () => {
|
|
39
|
-
cleanup();
|
|
40
|
-
resolve(data.trim() || null);
|
|
41
|
-
};
|
|
42
|
-
const errorHandler = (error) => {
|
|
43
|
-
cleanup();
|
|
44
|
-
reject(error);
|
|
45
|
-
};
|
|
46
|
-
const cleanup = () => {
|
|
47
|
-
if (dataTimeout) {
|
|
48
|
-
clearTimeout(dataTimeout);
|
|
49
|
-
dataTimeout = null;
|
|
50
|
-
}
|
|
51
|
-
process.stdin.removeListener('data', dataHandler);
|
|
52
|
-
process.stdin.removeListener('end', endHandler);
|
|
53
|
-
process.stdin.removeListener('error', errorHandler);
|
|
54
|
-
};
|
|
55
|
-
process.stdin.on('data', dataHandler);
|
|
56
|
-
process.stdin.on('end', endHandler);
|
|
57
|
-
process.stdin.on('error', errorHandler);
|
|
58
|
-
const initialTimeout = setTimeout(() => {
|
|
59
|
-
if (chunks === 0) {
|
|
60
|
-
if (debug) {
|
|
61
|
-
console.error('[STDIN] Timeout - no data received');
|
|
62
|
-
}
|
|
63
|
-
cleanup();
|
|
64
|
-
resolve(null);
|
|
65
|
-
}
|
|
66
|
-
}, timeoutConfig.stdinInitial);
|
|
67
|
-
process.stdin.once('data', () => clearTimeout(initialTimeout));
|
|
68
|
-
process.stdin.once('end', () => clearTimeout(initialTimeout));
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
function extractAIResponse(content) {
|
|
72
|
-
const debug = process.env.DEBUG_STDIN === '1';
|
|
73
|
-
const responseMatch = content.match(/📄 Response:\s*\n[-─]+\s*\n([\s\S]*?)(?:\n\n📁|$)/);
|
|
74
|
-
if (debug) {
|
|
75
|
-
console.error(`[STDIN] Extract: input length=${content.length}, hasMatch=${!!responseMatch}`);
|
|
76
|
-
if (responseMatch && responseMatch[1]) {
|
|
77
|
-
console.error(`[STDIN] Extracted: "${responseMatch[1].substring(0, 100)}..."`);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
if (responseMatch && responseMatch[1]) {
|
|
81
|
-
return responseMatch[1].trim();
|
|
82
|
-
}
|
|
83
|
-
return content.trim();
|
|
84
|
-
}
|
|
85
|
-
function formatPipedContext(pipedContent) {
|
|
86
|
-
const cleanContent = extractAIResponse(pipedContent);
|
|
87
|
-
return `Previous step result:\n${cleanContent}\n\nPlease use this information as context for the current task.`;
|
|
88
|
-
}
|
|
89
|
-
function parseStructuredPayload(input) {
|
|
90
|
-
if (!input) {
|
|
91
|
-
return null;
|
|
92
|
-
}
|
|
93
|
-
const trimmed = input.trim();
|
|
94
|
-
if (!trimmed.startsWith('{') || !trimmed.endsWith('}')) {
|
|
95
|
-
return null;
|
|
96
|
-
}
|
|
97
|
-
try {
|
|
98
|
-
const parsed = JSON.parse(trimmed);
|
|
99
|
-
if (parsed && typeof parsed === 'object' && 'prompt' in parsed && 'messages' in parsed) {
|
|
100
|
-
const payload = parsed;
|
|
101
|
-
if (!Array.isArray(payload.messages)) {
|
|
102
|
-
payload.messages = [];
|
|
103
|
-
}
|
|
104
|
-
return payload;
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
catch (error) {
|
|
108
|
-
}
|
|
109
|
-
return null;
|
|
110
|
-
}
|
|
111
|
-
function buildContextFromStructuredPayload(payload) {
|
|
112
|
-
if (!payload) {
|
|
113
|
-
return undefined;
|
|
114
|
-
}
|
|
115
|
-
const hasMessages = Array.isArray(payload.messages) && payload.messages.length > 0;
|
|
116
|
-
if (hasMessages) {
|
|
117
|
-
const candidateWithMessages = payload.context && payload.context.trim();
|
|
118
|
-
return candidateWithMessages || undefined;
|
|
119
|
-
}
|
|
120
|
-
const candidate = payload.context && payload.context.trim();
|
|
121
|
-
if (candidate) {
|
|
122
|
-
return candidate;
|
|
123
|
-
}
|
|
124
|
-
const formatted = payload.metadata?.formattedHistory && payload.metadata.formattedHistory.trim();
|
|
125
|
-
if (formatted) {
|
|
126
|
-
return formatted;
|
|
127
|
-
}
|
|
128
|
-
return undefined;
|
|
129
|
-
}
|
|
130
|
-
//# sourceMappingURL=stdin-utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stdin-utils.js","sourceRoot":"","sources":["../../src/utils/stdin-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function capitalizeFirstLetter(str: string): string;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.capitalizeFirstLetter = capitalizeFirstLetter;
|
|
4
|
-
function capitalizeFirstLetter(str) {
|
|
5
|
-
if (!str || str.length === 0) {
|
|
6
|
-
return str;
|
|
7
|
-
}
|
|
8
|
-
return str.charAt(0).toUpperCase() + str.slice(1);
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=string-utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"string-utils.js","sourceRoot":"","sources":["../../src/utils/string-utils.ts"],"names":[],"mappings":";;AAIA,sDAKC;AALD,SAAgB,qBAAqB,CAAC,GAAW;IAC/C,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { DocumentLoaderService } from '../services/document-loader.service';
|
|
2
|
-
export interface TemplateContext {
|
|
3
|
-
env?: Record<string, string | undefined>;
|
|
4
|
-
options?: string[];
|
|
5
|
-
agent?: {
|
|
6
|
-
id: string;
|
|
7
|
-
name: string;
|
|
8
|
-
provider: string;
|
|
9
|
-
model?: string;
|
|
10
|
-
workingDirectory?: string;
|
|
11
|
-
};
|
|
12
|
-
mode?: 'query' | 'execute';
|
|
13
|
-
messages?: Array<{
|
|
14
|
-
text: string;
|
|
15
|
-
isAssistant: boolean;
|
|
16
|
-
metadata?: Record<string, any>;
|
|
17
|
-
}>;
|
|
18
|
-
platform?: 'slack' | 'cli';
|
|
19
|
-
tools?: {
|
|
20
|
-
list: Array<{
|
|
21
|
-
name: string;
|
|
22
|
-
description: string;
|
|
23
|
-
input_schema: any;
|
|
24
|
-
output_schema?: any;
|
|
25
|
-
}>;
|
|
26
|
-
json: string;
|
|
27
|
-
count: number;
|
|
28
|
-
};
|
|
29
|
-
vars?: Record<string, any>;
|
|
30
|
-
}
|
|
31
|
-
export declare function processDocumentTemplate(template: string, documentLoader: DocumentLoaderService, additionalContext?: TemplateContext): Promise<string>;
|
|
32
|
-
export declare function hasDocumentReferences(template: string): boolean;
|
|
@@ -1,202 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __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
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.processDocumentTemplate = processDocumentTemplate;
|
|
37
|
-
exports.hasDocumentReferences = hasDocumentReferences;
|
|
38
|
-
const Handlebars = __importStar(require("handlebars"));
|
|
39
|
-
async function processDocumentTemplate(template, documentLoader, additionalContext) {
|
|
40
|
-
if (!documentLoader.isInitialized()) {
|
|
41
|
-
if (!additionalContext) {
|
|
42
|
-
return template;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
const context = {
|
|
46
|
-
documents: {},
|
|
47
|
-
env: additionalContext?.env || process.env,
|
|
48
|
-
options: additionalContext?.options || [],
|
|
49
|
-
agent: additionalContext?.agent || {},
|
|
50
|
-
mode: additionalContext?.mode,
|
|
51
|
-
messages: additionalContext?.messages || [],
|
|
52
|
-
platform: additionalContext?.platform,
|
|
53
|
-
tools: additionalContext?.tools,
|
|
54
|
-
vars: additionalContext?.vars || {},
|
|
55
|
-
};
|
|
56
|
-
registerHandlebarsHelpers();
|
|
57
|
-
const pattern = /{{{documents\.([^.}]+)\.([^}]+)}}}/g;
|
|
58
|
-
const matches = [...template.matchAll(pattern)];
|
|
59
|
-
if (matches.length > 0 && documentLoader.isInitialized()) {
|
|
60
|
-
const docNames = Array.from(new Set(matches.map(m => m[1]).filter((name) => !!name)));
|
|
61
|
-
for (const docName of docNames) {
|
|
62
|
-
let content = await documentLoader.getDocumentContent(docName);
|
|
63
|
-
const toc = await documentLoader.getDocumentToc(docName);
|
|
64
|
-
const summary = await documentLoader.getDocumentSummary(docName);
|
|
65
|
-
if (content) {
|
|
66
|
-
try {
|
|
67
|
-
const docTemplate = Handlebars.compile(content, { noEscape: true });
|
|
68
|
-
content = docTemplate(context);
|
|
69
|
-
}
|
|
70
|
-
catch (error) {
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
context.documents[docName] = {
|
|
74
|
-
content: content || '',
|
|
75
|
-
toc: toc || '',
|
|
76
|
-
summary: summary || '',
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
const compiledTemplate = Handlebars.compile(template, { noEscape: true });
|
|
81
|
-
return compiledTemplate(context);
|
|
82
|
-
}
|
|
83
|
-
function registerHandlebarsHelpers() {
|
|
84
|
-
if (Handlebars.helpers['eq']) {
|
|
85
|
-
return;
|
|
86
|
-
}
|
|
87
|
-
Handlebars.registerHelper('eq', function (a, b) {
|
|
88
|
-
return a === b;
|
|
89
|
-
});
|
|
90
|
-
Handlebars.registerHelper('ne', function (a, b) {
|
|
91
|
-
return a !== b;
|
|
92
|
-
});
|
|
93
|
-
Handlebars.registerHelper('contains', function (array, value) {
|
|
94
|
-
return Array.isArray(array) && array.includes(value);
|
|
95
|
-
});
|
|
96
|
-
Handlebars.registerHelper('and', function (a, b) {
|
|
97
|
-
return a && b;
|
|
98
|
-
});
|
|
99
|
-
Handlebars.registerHelper('or', function (a, b) {
|
|
100
|
-
return a || b;
|
|
101
|
-
});
|
|
102
|
-
Handlebars.registerHelper('not', function (a) {
|
|
103
|
-
return !a;
|
|
104
|
-
});
|
|
105
|
-
Handlebars.registerHelper('json', function (context) {
|
|
106
|
-
return JSON.stringify(context, null, 2);
|
|
107
|
-
});
|
|
108
|
-
Handlebars.registerHelper('truncate', function (text, maxLength) {
|
|
109
|
-
if (!text)
|
|
110
|
-
return '';
|
|
111
|
-
if (text.length <= maxLength)
|
|
112
|
-
return text;
|
|
113
|
-
const remaining = text.length - maxLength;
|
|
114
|
-
return `${text.substring(0, maxLength)} (...+${remaining} chars)`;
|
|
115
|
-
});
|
|
116
|
-
Handlebars.registerHelper('length', function (array) {
|
|
117
|
-
if (Array.isArray(array))
|
|
118
|
-
return array.length;
|
|
119
|
-
if (typeof array === 'string')
|
|
120
|
-
return array.length;
|
|
121
|
-
return 0;
|
|
122
|
-
});
|
|
123
|
-
Handlebars.registerHelper('formatConversation', function (messages, platform, options) {
|
|
124
|
-
const { Logger: NestLogger } = require('@nestjs/common');
|
|
125
|
-
const helperLogger = new NestLogger('FormatConversation');
|
|
126
|
-
const isBlockHelper = options && typeof options.fn === 'function';
|
|
127
|
-
helperLogger.log(`🔧 formatConversation helper called! Mode: ${isBlockHelper ? 'CUSTOM' : 'DEFAULT'}`);
|
|
128
|
-
helperLogger.log(`Messages type: ${typeof messages}, Is array: ${Array.isArray(messages)}, Length: ${messages?.length || 0}`);
|
|
129
|
-
helperLogger.log(`Platform: ${platform}`);
|
|
130
|
-
const assistantAgentIds = Array.isArray(messages)
|
|
131
|
-
? Array.from(new Set(messages
|
|
132
|
-
.filter((msg) => msg?.isAssistant && msg?.metadata?.agent_id)
|
|
133
|
-
.map((msg) => msg.metadata.agent_id)))
|
|
134
|
-
: [];
|
|
135
|
-
const primaryAgentId = assistantAgentIds.length > 0 ? assistantAgentIds[0] : '';
|
|
136
|
-
if (!messages || messages.length === 0) {
|
|
137
|
-
helperLogger.warn(`⚠️ formatConversation: messages empty or undefined, returning empty string`);
|
|
138
|
-
return '';
|
|
139
|
-
}
|
|
140
|
-
let content;
|
|
141
|
-
if (isBlockHelper) {
|
|
142
|
-
helperLogger.log(`📝 Using CUSTOM user template from block`);
|
|
143
|
-
content = options.fn({
|
|
144
|
-
messages,
|
|
145
|
-
platform,
|
|
146
|
-
messagesCount: messages.length,
|
|
147
|
-
agentIds: assistantAgentIds,
|
|
148
|
-
primaryAgentId,
|
|
149
|
-
});
|
|
150
|
-
helperLogger.debug(`📤 Custom template rendered output length: ${content.length} characters`);
|
|
151
|
-
}
|
|
152
|
-
else {
|
|
153
|
-
helperLogger.log(`📦 Using DEFAULT template from .crewx/templates`);
|
|
154
|
-
const fs = require('fs');
|
|
155
|
-
const path = require('path');
|
|
156
|
-
const templatePath = path.join(process.cwd(), '.crewx', 'templates', 'conversation-history-default.hbs');
|
|
157
|
-
let templateContent;
|
|
158
|
-
let templateSource = 'inline-fallback';
|
|
159
|
-
try {
|
|
160
|
-
templateContent = fs.readFileSync(templatePath, 'utf8');
|
|
161
|
-
templateSource = templatePath;
|
|
162
|
-
helperLogger.debug(`✅ Loaded conversation template from: ${templatePath}`);
|
|
163
|
-
helperLogger.debug(`📏 Template content length: ${templateContent.length} characters`);
|
|
164
|
-
helperLogger.debug(`📊 Messages count: ${messages.length}, Platform: ${platform}`);
|
|
165
|
-
helperLogger.debug(`📝 First message sample: ${JSON.stringify(messages[0], null, 2)}`);
|
|
166
|
-
}
|
|
167
|
-
catch (error) {
|
|
168
|
-
helperLogger.warn(`⚠️ Failed to load template from ${templatePath}, using inline fallback`);
|
|
169
|
-
helperLogger.warn(`Error: ${error instanceof Error ? error.message : String(error)}`);
|
|
170
|
-
templateContent = `{{#if messages}}
|
|
171
|
-
{{#if primaryAgentId}}Primary agent: @{{primaryAgentId}}
|
|
172
|
-
{{else}}Primary agent: (unknown)
|
|
173
|
-
{{/if}}
|
|
174
|
-
Previous conversation ({{messagesCount}} messages):
|
|
175
|
-
{{#each messages}}
|
|
176
|
-
{{#if isAssistant}}
|
|
177
|
-
**Assistant{{#if metadata.agent_id}} (@{{metadata.agent_id}}){{/if}}**
|
|
178
|
-
{{else}}
|
|
179
|
-
**{{#if metadata.slack}}{{#with metadata.slack}}{{#if user_profile.display_name}}{{user_profile.display_name}}{{else if username}}{{username}}{{else if user_id}}User ({{user_id}}){{else}}User{{/if}}{{/with}}{{else}}User{{/if}}**
|
|
180
|
-
{{/if}}: {{{text}}}
|
|
181
|
-
{{/each}}{{/if}}`;
|
|
182
|
-
}
|
|
183
|
-
const template = Handlebars.compile(templateContent, { noEscape: true });
|
|
184
|
-
content = template({
|
|
185
|
-
messages,
|
|
186
|
-
platform,
|
|
187
|
-
messagesCount: messages.length,
|
|
188
|
-
agentIds: assistantAgentIds,
|
|
189
|
-
primaryAgentId,
|
|
190
|
-
});
|
|
191
|
-
helperLogger.debug(`📤 Default template rendered output length: ${content.length} characters`);
|
|
192
|
-
helperLogger.debug(`📍 Template source: ${templateSource}`);
|
|
193
|
-
}
|
|
194
|
-
const result = `${content}`;
|
|
195
|
-
helperLogger.debug(`📄 Final output (with tags):\n${result}`);
|
|
196
|
-
return result;
|
|
197
|
-
});
|
|
198
|
-
}
|
|
199
|
-
function hasDocumentReferences(template) {
|
|
200
|
-
return /{{{documents\.[^}]+}}}/g.test(template);
|
|
201
|
-
}
|
|
202
|
-
//# sourceMappingURL=template-processor.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"template-processor.js","sourceRoot":"","sources":["../../src/utils/template-processor.ts"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const CREWX_VERSION: string;
|
package/dist/version.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CREWX_VERSION = void 0;
|
|
4
|
-
const fs_1 = require("fs");
|
|
5
|
-
const path_1 = require("path");
|
|
6
|
-
let version = 'unknown';
|
|
7
|
-
try {
|
|
8
|
-
const packageJsonPath = (0, path_1.join)(__dirname, '..', 'package.json');
|
|
9
|
-
const packageJson = JSON.parse((0, fs_1.readFileSync)(packageJsonPath, 'utf-8'));
|
|
10
|
-
if (packageJson?.version) {
|
|
11
|
-
version = String(packageJson.version);
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
catch {
|
|
15
|
-
}
|
|
16
|
-
exports.CREWX_VERSION = version;
|
|
17
|
-
//# sourceMappingURL=version.js.map
|
package/dist/version.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":";;;AAAA,2BAAkC;AAClC,+BAA4B;AAE5B,IAAI,OAAO,GAAG,SAAS,CAAC;AAExB,IAAI,CAAC;IACH,MAAM,eAAe,GAAG,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;IAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;IACvE,IAAI,WAAW,EAAE,OAAO,EAAE,CAAC;QACzB,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AAAC,MAAM,CAAC;AAET,CAAC;AAEY,QAAA,aAAa,GAAG,OAAO,CAAC"}
|
package/docs/CLA.md
DELETED
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
# Contributor License Agreement (CLA)
|
|
2
|
-
|
|
3
|
-
## Definitions
|
|
4
|
-
|
|
5
|
-
- **"Work"** means the CrewX software, including all source code, documentation, configuration files, and related materials in the CrewX repository and its derivative works.
|
|
6
|
-
- **"Project"** means the CrewX software project and any related works, including the main repository and all associated documentation, tools, and extensions.
|
|
7
|
-
- **"Contribution"** means any work of authorship, including the original version of the Work and any modifications or additions to the Work or Derivative Works thereof, that is intentionally submitted to the Project for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner.
|
|
8
|
-
- **"Derivative Works"** means any work, whether in source or object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship.
|
|
9
|
-
- **"Legal Entity"** means the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity.
|
|
10
|
-
- **"You"** (or **"Your"**) means an individual or Legal Entity exercising permissions granted by this CLA.
|
|
11
|
-
- **"CrewX"** means the CrewX project maintained by Sowon Labs.
|
|
12
|
-
|
|
13
|
-
## Overview
|
|
14
|
-
|
|
15
|
-
This Contributor License Agreement ("CLA") is designed to protect both the CrewX project and its contributors. By submitting contributions to the CrewX project, you agree to the terms outlined below.
|
|
16
|
-
|
|
17
|
-
## Important Notes
|
|
18
|
-
|
|
19
|
-
- **No Copyright Assignment**: You retain ownership of your contribution
|
|
20
|
-
- **Apache 2.0 Compatible**: Works seamlessly with our existing Apache-2.0 license
|
|
21
|
-
- **Patent Protection**: Provides mutual patent protection for all contributors
|
|
22
|
-
- **Commercial Use**: Allows contributions to be used in our commercial SaaS offerings
|
|
23
|
-
|
|
24
|
-
## Agreement
|
|
25
|
-
|
|
26
|
-
By submitting a contribution to the CrewX project, you agree that:
|
|
27
|
-
|
|
28
|
-
### 1. Copyright License
|
|
29
|
-
You grant to the CrewX project a perpetual, worldwide, non-exclusive, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute your contribution in any medium.
|
|
30
|
-
|
|
31
|
-
### 2. Patent License
|
|
32
|
-
You grant to the CrewX project a perpetual, worldwide, non-exclusive, royalty-free, irrevocable patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer your contribution, where such license applies only to those patent claims licensable by you that are necessarily infringed by your contribution alone or by combination of your contribution with the CrewX project.
|
|
33
|
-
|
|
34
|
-
### 3. Original Work
|
|
35
|
-
You represent that your contribution is your original creation and that you have the right to grant these licenses.
|
|
36
|
-
|
|
37
|
-
### 4. No Additional Terms
|
|
38
|
-
Your contribution is provided under the same terms as the CrewX project (Apache-2.0), without any additional terms or conditions.
|
|
39
|
-
|
|
40
|
-
### 5. Patent Retaliation
|
|
41
|
-
If you institute patent litigation against any entity alleging that the CrewX project or a contribution incorporated within the project constitutes direct or contributory patent infringement, then any patent licenses granted to you under this CLA for that project shall terminate as of the date such litigation is filed.
|
|
42
|
-
|
|
43
|
-
## How to Sign
|
|
44
|
-
|
|
45
|
-
### Individual Contributors
|
|
46
|
-
1. Submit a pull request with your contribution
|
|
47
|
-
2. Include the following comment in your PR description:
|
|
48
|
-
```
|
|
49
|
-
I certify that I have read and agree to the terms of the CrewX CLA
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
### Corporate Contributors
|
|
53
|
-
1. Have an authorized representative sign this agreement
|
|
54
|
-
- Download and fill out [this CLA document](https://github.com/sowonlabs/crewx/blob/main/docs/CLA.md)
|
|
55
|
-
- Sign it with company authorization
|
|
56
|
-
2. Send the signed PDF to: [doha.park@sowonlabs.com](mailto:doha.park@sowonlabs.com)
|
|
57
|
-
- Subject line: "CLA Signature - [Company Name]"
|
|
58
|
-
- We will confirm receipt within 2 business days
|
|
59
|
-
3. Submit a pull request with your contribution
|
|
60
|
-
4. Include the following comment in your PR description:
|
|
61
|
-
```
|
|
62
|
-
I certify that [Company Name] has signed and submitted the CrewX CLA
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
## Questions
|
|
66
|
-
|
|
67
|
-
If you have questions about this CLA, please contact us at:
|
|
68
|
-
- **GitHub Issues**: [Create a CLA-related issue](https://github.com/sowonlabs/crewx/issues/new?labels=cla,question&title=[CLA]%20)
|
|
69
|
-
- **Email**: [doha.park@sowonlabs.com](mailto:doha.park@sowonlabs.com)
|
|
70
|
-
- **GitHub Discussions**: [Ask in Discussions](https://github.com/sowonlabs/crewx/discussions)
|
|
71
|
-
|
|
72
|
-
## Compatibility with Apache-2.0
|
|
73
|
-
|
|
74
|
-
This CLA is designed to be fully compatible with the Apache-2.0 license used by the CrewX project. It does not impose any additional restrictions beyond what is already required by Apache-2.0.
|
|
75
|
-
|
|
76
|
-
## Benefits for Contributors
|
|
77
|
-
|
|
78
|
-
- **Legal Protection**: Mutual patent protection protects you from patent litigation
|
|
79
|
-
- **Commercial Use**: Your contributions can be used in our commercial offerings, increasing project sustainability
|
|
80
|
-
- **Clear Terms**: Unambiguous licensing terms prevent future legal disputes
|
|
81
|
-
- **Community Growth**: Supports the growth of a sustainable open source ecosystem
|
|
82
|
-
|
|
83
|
-
---
|
|
84
|
-
|
|
85
|
-
**Version**: 1.0
|
|
86
|
-
**Date**: 2025-10-15
|
|
87
|
-
**Project**: CrewX ([https://github.com/sowonlabs/crewx](https://github.com/sowonlabs/crewx))
|
|
88
|
-
**Contact**: [doha.park@sowonlabs.com](mailto:doha.park@sowonlabs.com)
|