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.
Files changed (233) hide show
  1. package/bin/crewx.js +6 -0
  2. package/package.json +9 -107
  3. package/LICENSE +0 -201
  4. package/README.md +0 -234
  5. package/crewx.yaml +0 -2069
  6. package/dist/agent.types.d.ts +0 -117
  7. package/dist/agent.types.js +0 -16
  8. package/dist/agent.types.js.map +0 -1
  9. package/dist/ai-provider.service.d.ts +0 -36
  10. package/dist/ai-provider.service.js +0 -191
  11. package/dist/ai-provider.service.js.map +0 -1
  12. package/dist/ai.service.d.ts +0 -57
  13. package/dist/ai.service.js +0 -629
  14. package/dist/ai.service.js.map +0 -1
  15. package/dist/app.module.d.ts +0 -5
  16. package/dist/app.module.js +0 -103
  17. package/dist/app.module.js.map +0 -1
  18. package/dist/cli/agent.handler.d.ts +0 -2
  19. package/dist/cli/agent.handler.js +0 -140
  20. package/dist/cli/agent.handler.js.map +0 -1
  21. package/dist/cli/chat.handler.d.ts +0 -19
  22. package/dist/cli/chat.handler.js +0 -431
  23. package/dist/cli/chat.handler.js.map +0 -1
  24. package/dist/cli/cli.handler.d.ts +0 -4
  25. package/dist/cli/cli.handler.js +0 -97
  26. package/dist/cli/cli.handler.js.map +0 -1
  27. package/dist/cli/doctor.handler.d.ts +0 -36
  28. package/dist/cli/doctor.handler.js +0 -382
  29. package/dist/cli/doctor.handler.js.map +0 -1
  30. package/dist/cli/execute.handler.d.ts +0 -2
  31. package/dist/cli/execute.handler.js +0 -319
  32. package/dist/cli/execute.handler.js.map +0 -1
  33. package/dist/cli/help.handler.d.ts +0 -2
  34. package/dist/cli/help.handler.js +0 -10
  35. package/dist/cli/help.handler.js.map +0 -1
  36. package/dist/cli/init.handler.d.ts +0 -26
  37. package/dist/cli/init.handler.js +0 -450
  38. package/dist/cli/init.handler.js.map +0 -1
  39. package/dist/cli/mcp.handler.d.ts +0 -3
  40. package/dist/cli/mcp.handler.js +0 -121
  41. package/dist/cli/mcp.handler.js.map +0 -1
  42. package/dist/cli/query.handler.d.ts +0 -2
  43. package/dist/cli/query.handler.js +0 -380
  44. package/dist/cli/query.handler.js.map +0 -1
  45. package/dist/cli/templates.handler.d.ts +0 -2
  46. package/dist/cli/templates.handler.js +0 -100
  47. package/dist/cli/templates.handler.js.map +0 -1
  48. package/dist/cli-options.d.ts +0 -29
  49. package/dist/cli-options.js +0 -234
  50. package/dist/cli-options.js.map +0 -1
  51. package/dist/config/timeout.config.d.ts +0 -14
  52. package/dist/config/timeout.config.js +0 -34
  53. package/dist/config/timeout.config.js.map +0 -1
  54. package/dist/constants.d.ts +0 -4
  55. package/dist/constants.js +0 -8
  56. package/dist/constants.js.map +0 -1
  57. package/dist/conversation/base-conversation-history.provider.d.ts +0 -12
  58. package/dist/conversation/base-conversation-history.provider.js +0 -45
  59. package/dist/conversation/base-conversation-history.provider.js.map +0 -1
  60. package/dist/conversation/cli-conversation-history.provider.d.ts +0 -16
  61. package/dist/conversation/cli-conversation-history.provider.js +0 -111
  62. package/dist/conversation/cli-conversation-history.provider.js.map +0 -1
  63. package/dist/conversation/conversation-config.d.ts +0 -9
  64. package/dist/conversation/conversation-config.js +0 -25
  65. package/dist/conversation/conversation-config.js.map +0 -1
  66. package/dist/conversation/conversation-history.interface.d.ts +0 -25
  67. package/dist/conversation/conversation-history.interface.js +0 -3
  68. package/dist/conversation/conversation-history.interface.js.map +0 -1
  69. package/dist/conversation/conversation-provider.factory.d.ts +0 -10
  70. package/dist/conversation/conversation-provider.factory.js +0 -50
  71. package/dist/conversation/conversation-provider.factory.js.map +0 -1
  72. package/dist/conversation/conversation-storage.service.d.ts +0 -16
  73. package/dist/conversation/conversation-storage.service.js +0 -220
  74. package/dist/conversation/conversation-storage.service.js.map +0 -1
  75. package/dist/conversation/index.d.ts +0 -7
  76. package/dist/conversation/index.js +0 -24
  77. package/dist/conversation/index.js.map +0 -1
  78. package/dist/conversation/slack-conversation-history.provider.d.ts +0 -28
  79. package/dist/conversation/slack-conversation-history.provider.js +0 -278
  80. package/dist/conversation/slack-conversation-history.provider.js.map +0 -1
  81. package/dist/crewx.tool.d.ts +0 -332
  82. package/dist/crewx.tool.js +0 -1463
  83. package/dist/crewx.tool.js.map +0 -1
  84. package/dist/guards/bearer-auth.guard.d.ts +0 -7
  85. package/dist/guards/bearer-auth.guard.js +0 -44
  86. package/dist/guards/bearer-auth.guard.js.map +0 -1
  87. package/dist/health.controller.d.ts +0 -6
  88. package/dist/health.controller.js +0 -32
  89. package/dist/health.controller.js.map +0 -1
  90. package/dist/knowledge/DocumentManager.d.ts +0 -4
  91. package/dist/knowledge/DocumentManager.js +0 -119
  92. package/dist/knowledge/DocumentManager.js.map +0 -1
  93. package/dist/main.d.ts +0 -1
  94. package/dist/main.js +0 -268
  95. package/dist/main.js.map +0 -1
  96. package/dist/mcp.controller.d.ts +0 -8
  97. package/dist/mcp.controller.js +0 -62
  98. package/dist/mcp.controller.js.map +0 -1
  99. package/dist/project.service.d.ts +0 -44
  100. package/dist/project.service.js +0 -299
  101. package/dist/project.service.js.map +0 -1
  102. package/dist/providers/ai-provider.interface.d.ts +0 -50
  103. package/dist/providers/ai-provider.interface.js +0 -23
  104. package/dist/providers/ai-provider.interface.js.map +0 -1
  105. package/dist/providers/base-ai.provider.d.ts +0 -50
  106. package/dist/providers/base-ai.provider.js +0 -624
  107. package/dist/providers/base-ai.provider.js.map +0 -1
  108. package/dist/providers/claude.provider.d.ts +0 -25
  109. package/dist/providers/claude.provider.js +0 -362
  110. package/dist/providers/claude.provider.js.map +0 -1
  111. package/dist/providers/codex.provider.d.ts +0 -17
  112. package/dist/providers/codex.provider.js +0 -99
  113. package/dist/providers/codex.provider.js.map +0 -1
  114. package/dist/providers/copilot.provider.d.ts +0 -25
  115. package/dist/providers/copilot.provider.js +0 -266
  116. package/dist/providers/copilot.provider.js.map +0 -1
  117. package/dist/providers/dynamic-provider.factory.d.ts +0 -55
  118. package/dist/providers/dynamic-provider.factory.js +0 -587
  119. package/dist/providers/dynamic-provider.factory.js.map +0 -1
  120. package/dist/providers/gemini.provider.d.ts +0 -22
  121. package/dist/providers/gemini.provider.js +0 -147
  122. package/dist/providers/gemini.provider.js.map +0 -1
  123. package/dist/services/agent-loader.service.d.ts +0 -29
  124. package/dist/services/agent-loader.service.js +0 -370
  125. package/dist/services/agent-loader.service.js.map +0 -1
  126. package/dist/services/auth.service.d.ts +0 -9
  127. package/dist/services/auth.service.js +0 -47
  128. package/dist/services/auth.service.js.map +0 -1
  129. package/dist/services/config-validator.service.d.ts +0 -28
  130. package/dist/services/config-validator.service.js +0 -467
  131. package/dist/services/config-validator.service.js.map +0 -1
  132. package/dist/services/config.service.d.ts +0 -45
  133. package/dist/services/config.service.js +0 -180
  134. package/dist/services/config.service.js.map +0 -1
  135. package/dist/services/context-enhancement.service.d.ts +0 -13
  136. package/dist/services/context-enhancement.service.js +0 -169
  137. package/dist/services/context-enhancement.service.js.map +0 -1
  138. package/dist/services/document-loader.service.d.ts +0 -16
  139. package/dist/services/document-loader.service.js +0 -137
  140. package/dist/services/document-loader.service.js.map +0 -1
  141. package/dist/services/help.service.d.ts +0 -5
  142. package/dist/services/help.service.js +0 -117
  143. package/dist/services/help.service.js.map +0 -1
  144. package/dist/services/intelligent-compression.service.d.ts +0 -20
  145. package/dist/services/intelligent-compression.service.js +0 -179
  146. package/dist/services/intelligent-compression.service.js.map +0 -1
  147. package/dist/services/mcp-client.service.d.ts +0 -26
  148. package/dist/services/mcp-client.service.js +0 -81
  149. package/dist/services/mcp-client.service.js.map +0 -1
  150. package/dist/services/parallel-processing.service.d.ts +0 -108
  151. package/dist/services/parallel-processing.service.js +0 -268
  152. package/dist/services/parallel-processing.service.js.map +0 -1
  153. package/dist/services/remote-agent.service.d.ts +0 -49
  154. package/dist/services/remote-agent.service.js +0 -215
  155. package/dist/services/remote-agent.service.js.map +0 -1
  156. package/dist/services/result-formatter.service.d.ts +0 -27
  157. package/dist/services/result-formatter.service.js +0 -126
  158. package/dist/services/result-formatter.service.js.map +0 -1
  159. package/dist/services/task-management.service.d.ts +0 -63
  160. package/dist/services/task-management.service.js +0 -272
  161. package/dist/services/task-management.service.js.map +0 -1
  162. package/dist/services/template.service.d.ts +0 -36
  163. package/dist/services/template.service.js +0 -195
  164. package/dist/services/template.service.js.map +0 -1
  165. package/dist/services/tool-call.service.d.ts +0 -53
  166. package/dist/services/tool-call.service.js +0 -1061
  167. package/dist/services/tool-call.service.js.map +0 -1
  168. package/dist/slack/formatters/message.formatter.d.ts +0 -25
  169. package/dist/slack/formatters/message.formatter.js +0 -246
  170. package/dist/slack/formatters/message.formatter.js.map +0 -1
  171. package/dist/slack/slack-bot.d.ts +0 -24
  172. package/dist/slack/slack-bot.js +0 -467
  173. package/dist/slack/slack-bot.js.map +0 -1
  174. package/dist/stderr.logger.d.ts +0 -8
  175. package/dist/stderr.logger.js +0 -26
  176. package/dist/stderr.logger.js.map +0 -1
  177. package/dist/tsconfig.tsbuildinfo +0 -1
  178. package/dist/utils/config-utils.d.ts +0 -15
  179. package/dist/utils/config-utils.js +0 -69
  180. package/dist/utils/config-utils.js.map +0 -1
  181. package/dist/utils/error-utils.d.ts +0 -3
  182. package/dist/utils/error-utils.js +0 -27
  183. package/dist/utils/error-utils.js.map +0 -1
  184. package/dist/utils/math-utils.d.ts +0 -3
  185. package/dist/utils/math-utils.js +0 -10
  186. package/dist/utils/math-utils.js.map +0 -1
  187. package/dist/utils/mcp-installer.d.ts +0 -20
  188. package/dist/utils/mcp-installer.js +0 -199
  189. package/dist/utils/mcp-installer.js.map +0 -1
  190. package/dist/utils/mention-parser.d.ts +0 -18
  191. package/dist/utils/mention-parser.js +0 -136
  192. package/dist/utils/mention-parser.js.map +0 -1
  193. package/dist/utils/simple-security.d.ts +0 -3
  194. package/dist/utils/simple-security.js +0 -20
  195. package/dist/utils/simple-security.js.map +0 -1
  196. package/dist/utils/stdin-utils.d.ts +0 -27
  197. package/dist/utils/stdin-utils.js +0 -130
  198. package/dist/utils/stdin-utils.js.map +0 -1
  199. package/dist/utils/string-utils.d.ts +0 -1
  200. package/dist/utils/string-utils.js +0 -10
  201. package/dist/utils/string-utils.js.map +0 -1
  202. package/dist/utils/template-processor.d.ts +0 -32
  203. package/dist/utils/template-processor.js +0 -202
  204. package/dist/utils/template-processor.js.map +0 -1
  205. package/dist/version.d.ts +0 -1
  206. package/dist/version.js +0 -17
  207. package/dist/version.js.map +0 -1
  208. package/docs/CLA.md +0 -88
  209. package/docs/agent-configuration.md +0 -364
  210. package/docs/agent-registry-strategy.md +0 -348
  211. package/docs/branding-decision-crewx.md +0 -395
  212. package/docs/claude-code-docker-guide.md +0 -264
  213. package/docs/cli-guide.md +0 -439
  214. package/docs/development.md +0 -595
  215. package/docs/diagram1.svg +0 -1
  216. package/docs/guides/agent-best-practices.md +0 -97
  217. package/docs/guides/bug-management.md +0 -600
  218. package/docs/guides/git-bug-reference.md +0 -366
  219. package/docs/mcp-integration.md +0 -187
  220. package/docs/process/development-workflow.md +0 -84
  221. package/docs/remote-agents.md +0 -555
  222. package/docs/roadmap.md +0 -528
  223. package/docs/rules/branch-protection.md +0 -40
  224. package/docs/standards/rc-versioning.md +0 -60
  225. package/docs/standards/report-structure.md +0 -67
  226. package/docs/template-variables.md +0 -382
  227. package/docs/templates.md +0 -517
  228. package/docs/tools.md +0 -583
  229. package/docs/troubleshooting.md +0 -611
  230. package/templates/agents/default.yaml +0 -938
  231. package/templates/agents/minimal.yaml +0 -25
  232. package/templates/documents/crewcode-manual.md +0 -292
  233. 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
@@ -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)