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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (281) hide show
  1. package/bin/crewx +2 -0
  2. package/dist/bootstrap/crewx-cli.d.ts +11 -0
  3. package/dist/bootstrap/crewx-cli.js +31 -0
  4. package/dist/builtin.d.ts +15 -0
  5. package/dist/{cli/builtin.handler.js → builtin.js} +21 -7
  6. package/dist/commands/agent.d.ts +12 -0
  7. package/dist/commands/agent.js +246 -0
  8. package/dist/commands/doctor.d.ts +12 -0
  9. package/dist/commands/doctor.js +190 -0
  10. package/dist/commands/execute.d.ts +21 -0
  11. package/dist/commands/execute.js +117 -0
  12. package/dist/commands/hook/install.d.ts +21 -0
  13. package/dist/commands/hook/install.js +175 -0
  14. package/dist/commands/hook/paths.d.ts +19 -0
  15. package/dist/commands/hook/paths.js +94 -0
  16. package/dist/commands/hook/status.d.ts +7 -0
  17. package/dist/commands/hook/status.js +86 -0
  18. package/dist/commands/hook/uninstall.d.ts +8 -0
  19. package/dist/commands/hook/uninstall.js +71 -0
  20. package/dist/commands/hook-dispatch.d.ts +15 -0
  21. package/dist/commands/hook-dispatch.js +180 -0
  22. package/dist/commands/init.d.ts +24 -0
  23. package/dist/commands/init.js +133 -0
  24. package/dist/commands/kill.d.ts +12 -0
  25. package/dist/commands/kill.js +49 -0
  26. package/dist/commands/log.d.ts +13 -0
  27. package/dist/commands/log.js +97 -0
  28. package/dist/commands/parse-agent-message.d.ts +31 -0
  29. package/dist/commands/parse-agent-message.js +52 -0
  30. package/dist/commands/parse-common-flags.d.ts +36 -0
  31. package/dist/commands/parse-common-flags.js +105 -0
  32. package/dist/commands/ps.d.ts +12 -0
  33. package/dist/commands/ps.js +71 -0
  34. package/dist/commands/query.d.ts +21 -0
  35. package/dist/commands/query.js +117 -0
  36. package/dist/commands/result.d.ts +13 -0
  37. package/dist/commands/result.js +73 -0
  38. package/dist/commands/slack.d.ts +12 -0
  39. package/dist/commands/slack.js +559 -0
  40. package/dist/commands/task-db.d.ts +33 -0
  41. package/dist/commands/task-db.js +107 -0
  42. package/dist/examples/deny-secrets-plugin.d.ts +22 -0
  43. package/dist/examples/deny-secrets-plugin.js +40 -0
  44. package/dist/index.d.ts +1 -0
  45. package/dist/index.js +5 -0
  46. package/dist/logging.d.ts +21 -0
  47. package/dist/logging.js +86 -0
  48. package/dist/main.d.ts +10 -0
  49. package/dist/main.js +246 -256
  50. package/dist/plugins/examples/echo-hook.d.ts +24 -0
  51. package/dist/plugins/examples/echo-hook.js +60 -0
  52. package/dist/plugins/examples/verify-echo-hook.d.ts +8 -0
  53. package/dist/plugins/examples/verify-echo-hook.js +47 -0
  54. package/dist/plugins/sqlite-tracing.d.ts +13 -0
  55. package/dist/plugins/sqlite-tracing.js +20 -0
  56. package/dist/register-builtin-tools.d.ts +5 -0
  57. package/dist/register-builtin-tools.js +9 -0
  58. package/dist/slack/file-download.d.ts +17 -0
  59. package/dist/slack/file-download.js +134 -0
  60. package/dist/slack/markdown.d.ts +5 -0
  61. package/dist/slack/markdown.js +33 -0
  62. package/dist/utils/env-defaults.d.ts +5 -0
  63. package/dist/utils/env-defaults.js +10 -0
  64. package/dist/utils/version.d.ts +1 -0
  65. package/dist/utils/version.js +28 -0
  66. package/package.json +32 -115
  67. package/README.md +0 -663
  68. package/dist/ai-provider.service.d.ts +0 -36
  69. package/dist/ai-provider.service.js +0 -315
  70. package/dist/ai-provider.service.js.map +0 -1
  71. package/dist/ai.service.d.ts +0 -17
  72. package/dist/ai.service.js +0 -51
  73. package/dist/ai.service.js.map +0 -1
  74. package/dist/app.module.d.ts +0 -5
  75. package/dist/app.module.js +0 -165
  76. package/dist/app.module.js.map +0 -1
  77. package/dist/cli/agent.handler.d.ts +0 -2
  78. package/dist/cli/agent.handler.js +0 -186
  79. package/dist/cli/agent.handler.js.map +0 -1
  80. package/dist/cli/builtin.handler.d.ts +0 -3
  81. package/dist/cli/builtin.handler.js.map +0 -1
  82. package/dist/cli/chat.handler.d.ts +0 -20
  83. package/dist/cli/chat.handler.js +0 -446
  84. package/dist/cli/chat.handler.js.map +0 -1
  85. package/dist/cli/cli.handler.d.ts +0 -4
  86. package/dist/cli/cli.handler.js +0 -119
  87. package/dist/cli/cli.handler.js.map +0 -1
  88. package/dist/cli/doctor.handler.d.ts +0 -38
  89. package/dist/cli/doctor.handler.js +0 -495
  90. package/dist/cli/doctor.handler.js.map +0 -1
  91. package/dist/cli/execute.handler.d.ts +0 -2
  92. package/dist/cli/execute.handler.js +0 -376
  93. package/dist/cli/execute.handler.js.map +0 -1
  94. package/dist/cli/help.handler.d.ts +0 -2
  95. package/dist/cli/help.handler.js +0 -10
  96. package/dist/cli/help.handler.js.map +0 -1
  97. package/dist/cli/init.handler.d.ts +0 -26
  98. package/dist/cli/init.handler.js +0 -450
  99. package/dist/cli/init.handler.js.map +0 -1
  100. package/dist/cli/log.handler.d.ts +0 -2
  101. package/dist/cli/log.handler.js +0 -69
  102. package/dist/cli/log.handler.js.map +0 -1
  103. package/dist/cli/mcp.handler.d.ts +0 -3
  104. package/dist/cli/mcp.handler.js +0 -121
  105. package/dist/cli/mcp.handler.js.map +0 -1
  106. package/dist/cli/query.handler.d.ts +0 -2
  107. package/dist/cli/query.handler.js +0 -392
  108. package/dist/cli/query.handler.js.map +0 -1
  109. package/dist/cli/skill.handler.d.ts +0 -2
  110. package/dist/cli/skill.handler.js +0 -252
  111. package/dist/cli/skill.handler.js.map +0 -1
  112. package/dist/cli/slack-files.handler.d.ts +0 -2
  113. package/dist/cli/slack-files.handler.js +0 -291
  114. package/dist/cli/slack-files.handler.js.map +0 -1
  115. package/dist/cli/template.handler.d.ts +0 -2
  116. package/dist/cli/template.handler.js +0 -188
  117. package/dist/cli/template.handler.js.map +0 -1
  118. package/dist/cli/templates.handler.d.ts +0 -2
  119. package/dist/cli/templates.handler.js +0 -100
  120. package/dist/cli/templates.handler.js.map +0 -1
  121. package/dist/cli-options.d.ts +0 -40
  122. package/dist/cli-options.js +0 -371
  123. package/dist/cli-options.js.map +0 -1
  124. package/dist/config/timeout.config.d.ts +0 -14
  125. package/dist/config/timeout.config.js +0 -34
  126. package/dist/config/timeout.config.js.map +0 -1
  127. package/dist/conversation/base-conversation-history.provider.d.ts +0 -12
  128. package/dist/conversation/base-conversation-history.provider.js +0 -45
  129. package/dist/conversation/base-conversation-history.provider.js.map +0 -1
  130. package/dist/conversation/cli-box-reader.adapter.d.ts +0 -6
  131. package/dist/conversation/cli-box-reader.adapter.js +0 -10
  132. package/dist/conversation/cli-box-reader.adapter.js.map +0 -1
  133. package/dist/conversation/cli-conversation-history.provider.d.ts +0 -16
  134. package/dist/conversation/cli-conversation-history.provider.js +0 -112
  135. package/dist/conversation/cli-conversation-history.provider.js.map +0 -1
  136. package/dist/conversation/cli-task-reader.adapter.d.ts +0 -6
  137. package/dist/conversation/cli-task-reader.adapter.js +0 -25
  138. package/dist/conversation/cli-task-reader.adapter.js.map +0 -1
  139. package/dist/conversation/conversation-provider.factory.d.ts +0 -10
  140. package/dist/conversation/conversation-provider.factory.js +0 -50
  141. package/dist/conversation/conversation-provider.factory.js.map +0 -1
  142. package/dist/conversation/index.d.ts +0 -8
  143. package/dist/conversation/index.js +0 -29
  144. package/dist/conversation/index.js.map +0 -1
  145. package/dist/conversation/slack-conversation-history.provider.d.ts +0 -29
  146. package/dist/conversation/slack-conversation-history.provider.js +0 -302
  147. package/dist/conversation/slack-conversation-history.provider.js.map +0 -1
  148. package/dist/crewx.tool.d.ts +0 -360
  149. package/dist/crewx.tool.js +0 -2531
  150. package/dist/crewx.tool.js.map +0 -1
  151. package/dist/crewx.tool.spec.d.ts +0 -1
  152. package/dist/crewx.tool.spec.js +0 -222
  153. package/dist/crewx.tool.spec.js.map +0 -1
  154. package/dist/guards/bearer-auth.guard.d.ts +0 -7
  155. package/dist/guards/bearer-auth.guard.js +0 -44
  156. package/dist/guards/bearer-auth.guard.js.map +0 -1
  157. package/dist/health.controller.d.ts +0 -6
  158. package/dist/health.controller.js +0 -32
  159. package/dist/health.controller.js.map +0 -1
  160. package/dist/main.js.map +0 -1
  161. package/dist/mcp.controller.d.ts +0 -8
  162. package/dist/mcp.controller.js +0 -62
  163. package/dist/mcp.controller.js.map +0 -1
  164. package/dist/package.json +0 -3
  165. package/dist/providers/dynamic-provider.factory.d.ts +0 -17
  166. package/dist/providers/dynamic-provider.factory.js +0 -138
  167. package/dist/providers/dynamic-provider.factory.js.map +0 -1
  168. package/dist/providers/logger.adapter.d.ts +0 -7
  169. package/dist/providers/logger.adapter.js +0 -107
  170. package/dist/providers/logger.adapter.js.map +0 -1
  171. package/dist/services/agent-loader.service.d.ts +0 -35
  172. package/dist/services/agent-loader.service.js +0 -623
  173. package/dist/services/agent-loader.service.js.map +0 -1
  174. package/dist/services/auth.service.d.ts +0 -9
  175. package/dist/services/auth.service.js +0 -47
  176. package/dist/services/auth.service.js.map +0 -1
  177. package/dist/services/config-validator.service.d.ts +0 -29
  178. package/dist/services/config-validator.service.js +0 -483
  179. package/dist/services/config-validator.service.js.map +0 -1
  180. package/dist/services/config.service.d.ts +0 -45
  181. package/dist/services/config.service.js +0 -352
  182. package/dist/services/config.service.js.map +0 -1
  183. package/dist/services/document-loader.service.d.ts +0 -26
  184. package/dist/services/document-loader.service.js +0 -186
  185. package/dist/services/document-loader.service.js.map +0 -1
  186. package/dist/services/help.service.d.ts +0 -5
  187. package/dist/services/help.service.js +0 -139
  188. package/dist/services/help.service.js.map +0 -1
  189. package/dist/services/intelligent-compression.service.d.ts +0 -20
  190. package/dist/services/intelligent-compression.service.js +0 -179
  191. package/dist/services/intelligent-compression.service.js.map +0 -1
  192. package/dist/services/mcp-client.service.d.ts +0 -26
  193. package/dist/services/mcp-client.service.js +0 -81
  194. package/dist/services/mcp-client.service.js.map +0 -1
  195. package/dist/services/parallel-processing.service.d.ts +0 -108
  196. package/dist/services/parallel-processing.service.js +0 -333
  197. package/dist/services/parallel-processing.service.js.map +0 -1
  198. package/dist/services/provider-bridge.service.d.ts +0 -35
  199. package/dist/services/provider-bridge.service.js +0 -224
  200. package/dist/services/provider-bridge.service.js.map +0 -1
  201. package/dist/services/remote-agent.service.d.ts +0 -50
  202. package/dist/services/remote-agent.service.js +0 -171
  203. package/dist/services/remote-agent.service.js.map +0 -1
  204. package/dist/services/result-formatter.service.d.ts +0 -27
  205. package/dist/services/result-formatter.service.js +0 -126
  206. package/dist/services/result-formatter.service.js.map +0 -1
  207. package/dist/services/skill-loader.service.d.ts +0 -15
  208. package/dist/services/skill-loader.service.js +0 -278
  209. package/dist/services/skill-loader.service.js.map +0 -1
  210. package/dist/services/skill.service.d.ts +0 -69
  211. package/dist/services/skill.service.js +0 -779
  212. package/dist/services/skill.service.js.map +0 -1
  213. package/dist/services/skill.service.spec.d.ts +0 -1
  214. package/dist/services/skill.service.spec.js +0 -168
  215. package/dist/services/skill.service.spec.js.map +0 -1
  216. package/dist/services/task-management.service.d.ts +0 -71
  217. package/dist/services/task-management.service.js +0 -324
  218. package/dist/services/task-management.service.js.map +0 -1
  219. package/dist/services/template.service.d.ts +0 -61
  220. package/dist/services/template.service.js +0 -416
  221. package/dist/services/template.service.js.map +0 -1
  222. package/dist/services/tool-call.service.d.ts +0 -16
  223. package/dist/services/tool-call.service.js +0 -302
  224. package/dist/services/tool-call.service.js.map +0 -1
  225. package/dist/services/tracing.service.d.ts +0 -197
  226. package/dist/services/tracing.service.js +0 -1267
  227. package/dist/services/tracing.service.js.map +0 -1
  228. package/dist/slack/formatters/message.formatter.d.ts +0 -43
  229. package/dist/slack/formatters/message.formatter.js +0 -505
  230. package/dist/slack/formatters/message.formatter.js.map +0 -1
  231. package/dist/slack/services/slack-file-download.service.d.ts +0 -58
  232. package/dist/slack/services/slack-file-download.service.js +0 -558
  233. package/dist/slack/services/slack-file-download.service.js.map +0 -1
  234. package/dist/slack/slack-bot.d.ts +0 -33
  235. package/dist/slack/slack-bot.js +0 -568
  236. package/dist/slack/slack-bot.js.map +0 -1
  237. package/dist/stderr.logger.d.ts +0 -8
  238. package/dist/stderr.logger.js +0 -26
  239. package/dist/stderr.logger.js.map +0 -1
  240. package/dist/types/usage.types.d.ts +0 -107
  241. package/dist/types/usage.types.js +0 -3
  242. package/dist/types/usage.types.js.map +0 -1
  243. package/dist/utils/config-utils.d.ts +0 -15
  244. package/dist/utils/config-utils.js +0 -69
  245. package/dist/utils/config-utils.js.map +0 -1
  246. package/dist/utils/extract-text.d.ts +0 -1
  247. package/dist/utils/extract-text.js +0 -15
  248. package/dist/utils/extract-text.js.map +0 -1
  249. package/dist/utils/mcp-installer.d.ts +0 -20
  250. package/dist/utils/mcp-installer.js +0 -199
  251. package/dist/utils/mcp-installer.js.map +0 -1
  252. package/dist/utils/project-hash.d.ts +0 -6
  253. package/dist/utils/project-hash.js +0 -70
  254. package/dist/utils/project-hash.js.map +0 -1
  255. package/dist/utils/simple-security.d.ts +0 -3
  256. package/dist/utils/simple-security.js +0 -20
  257. package/dist/utils/simple-security.js.map +0 -1
  258. package/dist/utils/stdin-utils.d.ts +0 -6
  259. package/dist/utils/stdin-utils.js +0 -109
  260. package/dist/utils/stdin-utils.js.map +0 -1
  261. package/dist/utils/template-processor.d.ts +0 -27
  262. package/dist/utils/template-processor.js +0 -395
  263. package/dist/utils/template-processor.js.map +0 -1
  264. package/dist/utils/terminal-message-formatter.d.ts +0 -23
  265. package/dist/utils/terminal-message-formatter.js +0 -136
  266. package/dist/utils/terminal-message-formatter.js.map +0 -1
  267. package/dist/version.d.ts +0 -1
  268. package/dist/version.js +0 -17
  269. package/dist/version.js.map +0 -1
  270. package/dist/workspace.service.d.ts +0 -44
  271. package/dist/workspace.service.js +0 -299
  272. package/dist/workspace.service.js.map +0 -1
  273. package/scripts/backfill-tokens.js +0 -218
  274. package/scripts/postbuild-cli.mjs +0 -88
  275. package/scripts/postinstall-cli.mjs +0 -30
  276. package/templates/agents/default.yaml +0 -490
  277. package/templates/agents/minimal.yaml +0 -16
  278. package/templates/documents/conversation-history-default.hbs +0 -17
  279. package/templates/documents/crewx-manual.md +0 -2278
  280. package/templates/documents/crewx-quick-guide.md +0 -147
  281. package/templates/versions.json +0 -19
@@ -1,136 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.TerminalMessageFormatter = void 0;
7
- const chalk_1 = __importDefault(require("chalk"));
8
- const sdk_1 = require("@crewx/sdk");
9
- class TerminalMessageFormatter extends sdk_1.BaseMessageFormatter {
10
- constructor(config = {}) {
11
- super();
12
- this.config = config;
13
- this.nowProvider = config.nowProvider ?? (() => Date.now());
14
- }
15
- formatMessage(msg, options) {
16
- if (!msg || !msg.text) {
17
- return '';
18
- }
19
- const merged = this.mergeOptions(options);
20
- const indent = merged.indent ?? 2;
21
- const colorize = merged.colorize !== false;
22
- const timestamp = this.parseTimestamp(msg.timestamp);
23
- const locale = merged.locale || this.detectLocale();
24
- const headerParts = [];
25
- if (timestamp && merged.showAbsoluteTime !== false) {
26
- const formatted = this.formatAbsoluteTime(timestamp);
27
- headerParts.push(this.applyColor(`[${formatted}]`, 'timestamp', colorize));
28
- }
29
- const roleLabel = this.buildRoleLabel(msg, colorize);
30
- headerParts.push(roleLabel);
31
- if (timestamp && merged.showRelativeTime !== false) {
32
- const relative = this.formatRelativeTime(timestamp, locale);
33
- if (relative) {
34
- headerParts.push(this.applyColor(`· ${relative}`, 'meta', colorize));
35
- }
36
- }
37
- const header = headerParts.join(' ');
38
- const body = this.indentText(this.sanitizeText(msg.text, merged.maxLength), indent, colorize, msg.isAssistant);
39
- return `${header}\n${body}`;
40
- }
41
- mergeOptions(options) {
42
- const extended = options;
43
- return {
44
- platform: 'cli',
45
- includeUserId: true,
46
- includeTimestamp: false,
47
- colorize: this.config.colorize ?? true,
48
- showAbsoluteTime: this.config.showAbsoluteTime ?? true,
49
- showRelativeTime: this.config.showRelativeTime ?? true,
50
- indent: this.config.indent ?? 2,
51
- locale: this.config.locale,
52
- ...extended,
53
- };
54
- }
55
- buildRoleLabel(msg, colorize) {
56
- const displayName = this.resolveDisplayName(msg) ||
57
- msg.metadata?.agent_id ||
58
- msg.userId ||
59
- (msg.isAssistant ? 'CrewX' : 'User');
60
- const label = msg.isAssistant
61
- ? `🤖 ${displayName}`
62
- : `🧑 ${displayName}`;
63
- return msg.isAssistant
64
- ? this.applyColor(label, 'assistant', colorize)
65
- : this.applyColor(label, 'user', colorize);
66
- }
67
- indentText(text, indent, colorize, isAssistant) {
68
- const indentStr = ' '.repeat(Math.max(indent, 0));
69
- const lines = (text || '').split('\n');
70
- const indented = lines
71
- .map(line => `${indentStr}${line}`)
72
- .join('\n');
73
- return this.applyColor(indented, isAssistant ? 'assistantBody' : 'userBody', colorize);
74
- }
75
- parseTimestamp(timestamp) {
76
- if (!timestamp) {
77
- return null;
78
- }
79
- const value = timestamp instanceof Date ? timestamp : new Date(timestamp);
80
- return isNaN(value.getTime()) ? null : value;
81
- }
82
- formatAbsoluteTime(date) {
83
- const iso = date.toISOString();
84
- return `${iso.slice(0, 10)} ${iso.slice(11, 16)}Z`;
85
- }
86
- formatRelativeTime(date, locale) {
87
- const diffMs = date.getTime() - this.nowProvider();
88
- const units = [
89
- { unit: 'year', ms: 1000 * 60 * 60 * 24 * 365 },
90
- { unit: 'month', ms: 1000 * 60 * 60 * 24 * 30 },
91
- { unit: 'week', ms: 1000 * 60 * 60 * 24 * 7 },
92
- { unit: 'day', ms: 1000 * 60 * 60 * 24 },
93
- { unit: 'hour', ms: 1000 * 60 * 60 },
94
- { unit: 'minute', ms: 1000 * 60 },
95
- { unit: 'second', ms: 1000 },
96
- ];
97
- const formatter = new Intl.RelativeTimeFormat(locale, { numeric: 'auto' });
98
- for (const { unit, ms } of units) {
99
- const value = diffMs / ms;
100
- if (Math.abs(value) >= 1) {
101
- return formatter.format(Math.round(value), unit);
102
- }
103
- }
104
- return formatter.format(0, 'second');
105
- }
106
- detectLocale() {
107
- try {
108
- return Intl.DateTimeFormat().resolvedOptions().locale;
109
- }
110
- catch {
111
- return 'en';
112
- }
113
- }
114
- applyColor(text, type, colorize) {
115
- if (!colorize) {
116
- return text;
117
- }
118
- switch (type) {
119
- case 'timestamp':
120
- case 'meta':
121
- return chalk_1.default.dim(text);
122
- case 'assistant':
123
- return chalk_1.default.cyan(text);
124
- case 'user':
125
- return chalk_1.default.green(text);
126
- case 'assistantBody':
127
- return chalk_1.default.white(text);
128
- case 'userBody':
129
- return chalk_1.default.reset(text);
130
- default:
131
- return text;
132
- }
133
- }
134
- }
135
- exports.TerminalMessageFormatter = TerminalMessageFormatter;
136
- //# sourceMappingURL=terminal-message-formatter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"terminal-message-formatter.js","sourceRoot":"","sources":["../../src/utils/terminal-message-formatter.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"}
@@ -1,44 +0,0 @@
1
- export interface WorkspaceStructure {
2
- name: string;
3
- path: string;
4
- type: 'file' | 'directory';
5
- size?: number;
6
- children?: WorkspaceStructure[];
7
- extension?: string;
8
- }
9
- export interface WorkspaceAnalysis {
10
- structure: WorkspaceStructure;
11
- languages: string[];
12
- frameworks: string[];
13
- totalFiles: number;
14
- totalSize: number;
15
- packageInfo?: {
16
- name?: string;
17
- version?: string;
18
- dependencies?: Record<string, string>;
19
- devDependencies?: Record<string, string>;
20
- };
21
- }
22
- export interface FileContent {
23
- path: string;
24
- content: string;
25
- size: number;
26
- encoding: string;
27
- language?: string;
28
- }
29
- export declare class WorkspaceService {
30
- private readonly logger;
31
- analyzeWorkspace(workspacePath: string, maxDepth?: number): Promise<WorkspaceAnalysis>;
32
- getWorkspaceStructure(workspacePath: string, maxDepth?: number, currentDepth?: number): Promise<WorkspaceStructure>;
33
- searchFiles(workspacePath: string, patterns: string[], maxFiles?: number): Promise<string[]>;
34
- readFileContent(filePath: string, maxSize?: number): Promise<FileContent>;
35
- private getIgnoreRules;
36
- private getDefaultIgnorePatterns;
37
- private shouldIgnore;
38
- private detectLanguages;
39
- private detectFrameworks;
40
- private getPackageInfo;
41
- private getLanguageFromExtension;
42
- private countFiles;
43
- private calculateTotalSize;
44
- }
@@ -1,299 +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 __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
19
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
21
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
22
- return c > 3 && r && Object.defineProperty(target, key, r), r;
23
- };
24
- var __importStar = (this && this.__importStar) || (function () {
25
- var ownKeys = function(o) {
26
- ownKeys = Object.getOwnPropertyNames || function (o) {
27
- var ar = [];
28
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
- return ar;
30
- };
31
- return ownKeys(o);
32
- };
33
- return function (mod) {
34
- if (mod && mod.__esModule) return mod;
35
- var result = {};
36
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
- __setModuleDefault(result, mod);
38
- return result;
39
- };
40
- })();
41
- var __importDefault = (this && this.__importDefault) || function (mod) {
42
- return (mod && mod.__esModule) ? mod : { "default": mod };
43
- };
44
- var WorkspaceService_1;
45
- Object.defineProperty(exports, "__esModule", { value: true });
46
- exports.WorkspaceService = void 0;
47
- const common_1 = require("@nestjs/common");
48
- const fs = __importStar(require("fs/promises"));
49
- const path = __importStar(require("path"));
50
- const fast_glob_1 = __importDefault(require("fast-glob"));
51
- const ignore_1 = __importDefault(require("ignore"));
52
- const sdk_1 = require("@crewx/sdk");
53
- let WorkspaceService = WorkspaceService_1 = class WorkspaceService {
54
- constructor() {
55
- this.logger = new common_1.Logger(WorkspaceService_1.name);
56
- }
57
- async analyzeWorkspace(workspacePath, maxDepth = 3) {
58
- this.logger.log(`Starting workspace analysis for: ${workspacePath}`);
59
- const structure = await this.getWorkspaceStructure(workspacePath, maxDepth);
60
- const languages = await this.detectLanguages(workspacePath);
61
- const frameworks = await this.detectFrameworks(workspacePath);
62
- const packageInfo = await this.getPackageInfo(workspacePath);
63
- const analysis = {
64
- structure,
65
- languages,
66
- frameworks,
67
- totalFiles: await this.countFiles(structure),
68
- totalSize: await this.calculateTotalSize(structure),
69
- packageInfo,
70
- };
71
- this.logger.log(`Workspace analysis completed. Found ${analysis.totalFiles} files, ${analysis.languages.length} languages`);
72
- return analysis;
73
- }
74
- async getWorkspaceStructure(workspacePath, maxDepth = 3, currentDepth = 0) {
75
- const stats = await fs.stat(workspacePath);
76
- const name = path.basename(workspacePath);
77
- if (stats.isFile()) {
78
- return {
79
- name,
80
- path: workspacePath,
81
- type: 'file',
82
- size: stats.size,
83
- extension: path.extname(name).slice(1),
84
- };
85
- }
86
- const structure = {
87
- name,
88
- path: workspacePath,
89
- type: 'directory',
90
- children: [],
91
- };
92
- if (currentDepth < maxDepth) {
93
- try {
94
- const entries = await fs.readdir(workspacePath);
95
- const ig = await this.getIgnoreRules(workspacePath);
96
- for (const entry of entries) {
97
- const entryPath = path.join(workspacePath, entry);
98
- const relativePath = path.relative(workspacePath, entryPath);
99
- if (!ig.ignores(relativePath) && !this.shouldIgnore(entry)) {
100
- try {
101
- const childStructure = await this.getWorkspaceStructure(entryPath, maxDepth, currentDepth + 1);
102
- structure.children.push(childStructure);
103
- }
104
- catch (error) {
105
- this.logger.warn(`Failed to process ${entryPath}: ${(0, sdk_1.getErrorMessage)(error)}`);
106
- }
107
- }
108
- }
109
- structure.children.sort((a, b) => {
110
- if (a.type !== b.type) {
111
- return a.type === 'directory' ? -1 : 1;
112
- }
113
- return a.name.localeCompare(b.name);
114
- });
115
- }
116
- catch (error) {
117
- this.logger.warn(`Failed to read directory ${workspacePath}: ${(0, sdk_1.getErrorMessage)(error)}`);
118
- }
119
- }
120
- return structure;
121
- }
122
- async searchFiles(workspacePath, patterns, maxFiles = 100) {
123
- try {
124
- const ig = await this.getIgnoreRules(workspacePath);
125
- const files = await (0, fast_glob_1.default)(patterns, {
126
- cwd: workspacePath,
127
- absolute: true,
128
- ignore: this.getDefaultIgnorePatterns(),
129
- });
130
- const filteredFiles = files
131
- .filter((file) => {
132
- const relativePath = path.relative(workspacePath, file);
133
- return !ig.ignores(relativePath);
134
- })
135
- .slice(0, maxFiles);
136
- this.logger.log(`Found ${filteredFiles.length} files matching patterns: ${patterns.join(', ')}`);
137
- return filteredFiles;
138
- }
139
- catch (error) {
140
- this.logger.error(`File search failed: ${(0, sdk_1.getErrorMessage)(error)}`, (0, sdk_1.getErrorStack)(error));
141
- throw error;
142
- }
143
- }
144
- async readFileContent(filePath, maxSize = 1024 * 1024) {
145
- try {
146
- const stats = await fs.stat(filePath);
147
- if (stats.size > maxSize) {
148
- throw new Error(`File size (${stats.size} bytes) exceeds maximum allowed size (${maxSize} bytes)`);
149
- }
150
- const content = await fs.readFile(filePath, 'utf-8');
151
- const extension = path.extname(filePath).slice(1);
152
- return {
153
- path: filePath,
154
- content,
155
- size: stats.size,
156
- encoding: 'utf-8',
157
- language: this.getLanguageFromExtension(extension),
158
- };
159
- }
160
- catch (error) {
161
- this.logger.error(`Failed to read file ${filePath}: ${(0, sdk_1.getErrorMessage)(error)}`, (0, sdk_1.getErrorStack)(error));
162
- throw error;
163
- }
164
- }
165
- async getIgnoreRules(workspacePath) {
166
- const ig = (0, ignore_1.default)();
167
- try {
168
- const gitignorePath = path.join(workspacePath, '.gitignore');
169
- const gitignoreContent = await fs.readFile(gitignorePath, 'utf-8');
170
- ig.add(gitignoreContent);
171
- }
172
- catch (error) {
173
- }
174
- ig.add(this.getDefaultIgnorePatterns());
175
- return ig;
176
- }
177
- getDefaultIgnorePatterns() {
178
- return [
179
- 'node_modules/**',
180
- '.git/**',
181
- '.DS_Store',
182
- '*.log',
183
- 'dist/**',
184
- 'build/**',
185
- '.next/**',
186
- 'coverage/**',
187
- '.nyc_output/**',
188
- '*.min.js',
189
- '*.min.css',
190
- ];
191
- }
192
- shouldIgnore(name) {
193
- const ignoreList = ['.DS_Store', 'Thumbs.db', '.git', 'node_modules'];
194
- return ignoreList.includes(name) || name.startsWith('.');
195
- }
196
- async detectLanguages(workspacePath) {
197
- const patterns = ['**/*.{js,ts,jsx,tsx,py,java,go,rs,cpp,c,cs,php,rb,swift,kt}'];
198
- const files = await (0, fast_glob_1.default)(patterns, { cwd: workspacePath });
199
- const languages = new Set();
200
- files.forEach((file) => {
201
- const ext = path.extname(file).slice(1);
202
- const lang = this.getLanguageFromExtension(ext);
203
- if (lang)
204
- languages.add(lang);
205
- });
206
- return Array.from(languages);
207
- }
208
- async detectFrameworks(workspacePath) {
209
- const frameworks = [];
210
- try {
211
- const packageJsonPath = path.join(workspacePath, 'package.json');
212
- const packageJson = JSON.parse(await fs.readFile(packageJsonPath, 'utf-8'));
213
- const deps = { ...packageJson.dependencies, ...packageJson.devDependencies };
214
- if (deps.react || deps['@types/react'])
215
- frameworks.push('React');
216
- if (deps.vue || deps['@vue/cli'])
217
- frameworks.push('Vue.js');
218
- if (deps.angular || deps['@angular/core'])
219
- frameworks.push('Angular');
220
- if (deps.express)
221
- frameworks.push('Express.js');
222
- if (deps.fastify)
223
- frameworks.push('Fastify');
224
- if (deps['@nestjs/core'])
225
- frameworks.push('NestJS');
226
- if (deps.next)
227
- frameworks.push('Next.js');
228
- if (deps.nuxt)
229
- frameworks.push('Nuxt.js');
230
- if (deps.svelte)
231
- frameworks.push('Svelte');
232
- }
233
- catch (error) {
234
- }
235
- return frameworks;
236
- }
237
- async getPackageInfo(workspacePath) {
238
- try {
239
- const packageJsonPath = path.join(workspacePath, 'package.json');
240
- const packageJson = JSON.parse(await fs.readFile(packageJsonPath, 'utf-8'));
241
- return {
242
- name: packageJson.name,
243
- version: packageJson.version,
244
- dependencies: packageJson.dependencies,
245
- devDependencies: packageJson.devDependencies,
246
- };
247
- }
248
- catch (error) {
249
- return undefined;
250
- }
251
- }
252
- getLanguageFromExtension(extension) {
253
- const languageMap = {
254
- js: 'JavaScript',
255
- jsx: 'JavaScript',
256
- ts: 'TypeScript',
257
- tsx: 'TypeScript',
258
- py: 'Python',
259
- java: 'Java',
260
- go: 'Go',
261
- rs: 'Rust',
262
- cpp: 'C++',
263
- c: 'C',
264
- cs: 'C#',
265
- php: 'PHP',
266
- rb: 'Ruby',
267
- swift: 'Swift',
268
- kt: 'Kotlin',
269
- };
270
- return languageMap[extension.toLowerCase()];
271
- }
272
- async countFiles(structure) {
273
- if (structure.type === 'file')
274
- return 1;
275
- if (!structure.children)
276
- return 0;
277
- let count = 0;
278
- for (const child of structure.children) {
279
- count += await this.countFiles(child);
280
- }
281
- return count;
282
- }
283
- async calculateTotalSize(structure) {
284
- if (structure.type === 'file')
285
- return structure.size || 0;
286
- if (!structure.children)
287
- return 0;
288
- let totalSize = 0;
289
- for (const child of structure.children) {
290
- totalSize += await this.calculateTotalSize(child);
291
- }
292
- return totalSize;
293
- }
294
- };
295
- exports.WorkspaceService = WorkspaceService;
296
- exports.WorkspaceService = WorkspaceService = WorkspaceService_1 = __decorate([
297
- (0, common_1.Injectable)()
298
- ], WorkspaceService);
299
- //# sourceMappingURL=workspace.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workspace.service.js","sourceRoot":"","sources":["../src/workspace.service.ts"],"names":[],"mappings":"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"}