crewx 0.8.4 → 0.8.5-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (153) hide show
  1. package/package.json +1 -1
  2. package/packages/cli/package.json +1 -1
  3. package/dist-server/adapters/adapter.module.js +0 -35
  4. package/dist-server/adapters/adapter.service.js +0 -79
  5. package/dist-server/adapters/http-router.service.js +0 -91
  6. package/dist-server/app.module.js +0 -102
  7. package/dist-server/bootstrap/crewx-server.js +0 -79
  8. package/dist-server/common/cors.js +0 -15
  9. package/dist-server/common/decorators/project.decorator.js +0 -21
  10. package/dist-server/common/decorators/workspace.decorator.js +0 -24
  11. package/dist-server/common/interceptor/api-id-header.interceptor.js +0 -53
  12. package/dist-server/common/interceptor/http-logging.interceptor.js +0 -124
  13. package/dist-server/common/limits/defaults.js +0 -13
  14. package/dist-server/common/limits/limits-provider.js +0 -6
  15. package/dist-server/common/limits/limits.controller.js +0 -38
  16. package/dist-server/common/limits/limits.module.js +0 -24
  17. package/dist-server/common/limits/local-limits.provider.js +0 -27
  18. package/dist-server/common/middleware/workspace.middleware.js +0 -210
  19. package/dist-server/common/repository.exception-filter.js +0 -48
  20. package/dist-server/common/workspace-context.store.js +0 -25
  21. package/dist-server/domain/agent/agent.controller.js +0 -96
  22. package/dist-server/domain/agent/agent.module.js +0 -26
  23. package/dist-server/domain/agent/agent.service.js +0 -317
  24. package/dist-server/domain/agent/agent.types.js +0 -3
  25. package/dist-server/domain/agent/dto/create-agent.dto.js +0 -80
  26. package/dist-server/domain/agent/dto/preview-prompt.dto.js +0 -77
  27. package/dist-server/domain/agent/dto/provider-meta.dto.js +0 -2
  28. package/dist-server/domain/agent/dto/update-agent.dto.js +0 -92
  29. package/dist-server/domain/agent/provider.controller.js +0 -38
  30. package/dist-server/domain/agent/template-processor.service.js +0 -71
  31. package/dist-server/domain/auth/auth.constants.js +0 -4
  32. package/dist-server/domain/auth/auth.controller.js +0 -120
  33. package/dist-server/domain/auth/auth.module.js +0 -47
  34. package/dist-server/domain/auth/decorators/public.decorator.js +0 -7
  35. package/dist-server/domain/auth/guards/base-auth.guard.js +0 -62
  36. package/dist-server/domain/auth/utils/ip.utils.js +0 -31
  37. package/dist-server/domain/box/box.controller.js +0 -77
  38. package/dist-server/domain/box/box.module.js +0 -21
  39. package/dist-server/domain/box/box.service.js +0 -97
  40. package/dist-server/domain/box/dto/create-box.dto.js +0 -74
  41. package/dist-server/domain/cli/cli.controller.js +0 -88
  42. package/dist-server/domain/cli/cli.module.js +0 -21
  43. package/dist-server/domain/cli/cli.service.js +0 -435
  44. package/dist-server/domain/cli/dto/update-cli.dto.js +0 -31
  45. package/dist-server/domain/doc/doc.controller.js +0 -95
  46. package/dist-server/domain/doc/doc.module.js +0 -21
  47. package/dist-server/domain/doc/doc.service.js +0 -368
  48. package/dist-server/domain/doc/dto/doc.dto.js +0 -64
  49. package/dist-server/domain/document/document.controller.js +0 -57
  50. package/dist-server/domain/document/document.module.js +0 -22
  51. package/dist-server/domain/document/document.service.js +0 -271
  52. package/dist-server/domain/document/dto/register-document.dto.js +0 -24
  53. package/dist-server/domain/fs/dto/mkdir-request.dto.js +0 -47
  54. package/dist-server/domain/fs/dto/mkdir-response.dto.js +0 -2
  55. package/dist-server/domain/fs/dto/quick-access.dto.js +0 -2
  56. package/dist-server/domain/fs/dto/tree-node.dto.js +0 -2
  57. package/dist-server/domain/fs/dto/tree-query.dto.js +0 -35
  58. package/dist-server/domain/fs/fs.controller.js +0 -63
  59. package/dist-server/domain/fs/fs.module.js +0 -22
  60. package/dist-server/domain/fs/fs.service.js +0 -303
  61. package/dist-server/domain/git/git.module.js +0 -20
  62. package/dist-server/domain/git/git.service.js +0 -222
  63. package/dist-server/domain/health/health.controller.js +0 -57
  64. package/dist-server/domain/health/health.module.js +0 -19
  65. package/dist-server/domain/knowledge/dto/graph-knowledge.dto.js +0 -27
  66. package/dist-server/domain/knowledge/dto/knowledge.dto.js +0 -71
  67. package/dist-server/domain/knowledge/knowledge.controller.js +0 -122
  68. package/dist-server/domain/knowledge/knowledge.module.js +0 -21
  69. package/dist-server/domain/knowledge/knowledge.service.js +0 -538
  70. package/dist-server/domain/mcp/browser-session.store.js +0 -247
  71. package/dist-server/domain/mcp/crewx-tool.factory.js +0 -117
  72. package/dist-server/domain/mcp/mcp-auth.guard.js +0 -61
  73. package/dist-server/domain/mcp/mcp.constants.js +0 -4
  74. package/dist-server/domain/mcp/mcp.controller.js +0 -125
  75. package/dist-server/domain/mcp/mcp.dto.js +0 -12
  76. package/dist-server/domain/mcp/mcp.module.js +0 -49
  77. package/dist-server/domain/mcp/mcp.service.js +0 -682
  78. package/dist-server/domain/mcp/tool-router.service.js +0 -120
  79. package/dist-server/domain/message/dto/list-messages.dto.js +0 -57
  80. package/dist-server/domain/message/dto/send-message.dto.js +0 -45
  81. package/dist-server/domain/message/message.controller.js +0 -73
  82. package/dist-server/domain/message/message.module.js +0 -25
  83. package/dist-server/domain/message/message.service.js +0 -158
  84. package/dist-server/domain/onboarding/onboarding.controller.js +0 -97
  85. package/dist-server/domain/onboarding/onboarding.module.js +0 -23
  86. package/dist-server/domain/onboarding/onboarding.service.js +0 -106
  87. package/dist-server/domain/onboarding/onboarding.types.js +0 -2
  88. package/dist-server/domain/onboarding/presets/custom.js +0 -10
  89. package/dist-server/domain/onboarding/presets/dev-team.js +0 -41
  90. package/dist-server/domain/onboarding/presets/index.js +0 -15
  91. package/dist-server/domain/onboarding/presets/marketing-team.js +0 -29
  92. package/dist-server/domain/onboarding/presets/planning-team.js +0 -29
  93. package/dist-server/domain/onboarding/presets/solo.js +0 -17
  94. package/dist-server/domain/project/dto/create-project.dto.js +0 -46
  95. package/dist-server/domain/project/dto/update-project.dto.js +0 -60
  96. package/dist-server/domain/project/project.controller.js +0 -129
  97. package/dist-server/domain/project/project.module.js +0 -22
  98. package/dist-server/domain/project/project.service.js +0 -173
  99. package/dist-server/domain/skill/dto/add-registry.dto.js +0 -23
  100. package/dist-server/domain/skill/dto/install-skill.dto.js +0 -30
  101. package/dist-server/domain/skill/skill.controller.js +0 -136
  102. package/dist-server/domain/skill/skill.module.js +0 -22
  103. package/dist-server/domain/skill/skill.service.js +0 -632
  104. package/dist-server/domain/task/dto/all-tasks.dto.js +0 -55
  105. package/dist-server/domain/task/dto/list-tasks.dto.js +0 -69
  106. package/dist-server/domain/task/dto/search-tasks.dto.js +0 -66
  107. package/dist-server/domain/task/dto/send-message.dto.js +0 -31
  108. package/dist-server/domain/task/dto/task-status.dto.js +0 -34
  109. package/dist-server/domain/task/dto/workspace-usage.dto.js +0 -38
  110. package/dist-server/domain/task/task.constants.js +0 -5
  111. package/dist-server/domain/task/task.controller.js +0 -169
  112. package/dist-server/domain/task/task.module.js +0 -23
  113. package/dist-server/domain/task/task.service.js +0 -722
  114. package/dist-server/domain/thread/dto/build-context.dto.js +0 -42
  115. package/dist-server/domain/thread/dto/list-messages.dto.js +0 -49
  116. package/dist-server/domain/thread/dto/list-threads.dto.js +0 -70
  117. package/dist-server/domain/thread/dto/search-threads.dto.js +0 -13
  118. package/dist-server/domain/thread/dto/update-thread.dto.js +0 -23
  119. package/dist-server/domain/thread/thread.controller.js +0 -132
  120. package/dist-server/domain/thread/thread.module.js +0 -23
  121. package/dist-server/domain/thread/thread.service.js +0 -399
  122. package/dist-server/domain/usage/usage.controller.js +0 -118
  123. package/dist-server/domain/usage/usage.module.js +0 -21
  124. package/dist-server/domain/usage/usage.service.js +0 -343
  125. package/dist-server/domain/usage/usage.types.js +0 -4
  126. package/dist-server/domain/wbs/wbs.controller.js +0 -51
  127. package/dist-server/domain/wbs/wbs.module.js +0 -21
  128. package/dist-server/domain/wbs/wbs.service.js +0 -94
  129. package/dist-server/domain/workflow/workflow.controller.js +0 -53
  130. package/dist-server/domain/workflow/workflow.module.js +0 -21
  131. package/dist-server/domain/workflow/workflow.service.js +0 -209
  132. package/dist-server/domain/workspace/dto/create-workspace.dto.js +0 -45
  133. package/dist-server/domain/workspace/dto/switch-workspace.dto.js +0 -32
  134. package/dist-server/domain/workspace/dto/workspace-info.dto.js +0 -2
  135. package/dist-server/domain/workspace/workspace.controller.js +0 -98
  136. package/dist-server/domain/workspace/workspace.module.js +0 -22
  137. package/dist-server/domain/workspace/workspace.service.js +0 -216
  138. package/dist-server/main.js +0 -175
  139. package/dist-server/modules/crewx-pool.service.js +0 -70
  140. package/dist-server/modules/crewx.module.js +0 -47
  141. package/dist-server/package.json +0 -3
  142. package/dist-server/repository/base-sqlite.repository.js +0 -18
  143. package/dist-server/repository/box.repository.js +0 -99
  144. package/dist-server/repository/message.repository.js +0 -22
  145. package/dist-server/repository/project.repository.js +0 -48
  146. package/dist-server/repository/repository.module.js +0 -34
  147. package/dist-server/repository/request-log.repository.js +0 -96
  148. package/dist-server/repository/task.repository.js +0 -102
  149. package/dist-server/repository/thread.repository.js +0 -143
  150. package/dist-server/shared/crewx-home.js +0 -58
  151. package/dist-server/shared/crewx-state.js +0 -66
  152. package/dist-server/test-utils/compat-database.js +0 -30
  153. package/dist-server/utils/tokenizer.js +0 -8
@@ -1,317 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.AgentService = void 0;
13
- const common_1 = require("@nestjs/common");
14
- const fs_1 = require("fs");
15
- const path_1 = require("path");
16
- const sdk_1 = require("@crewx/sdk");
17
- const js_yaml_1 = require("js-yaml");
18
- const document_service_js_1 = require("../document/document.service.js");
19
- const template_processor_service_js_1 = require("./template-processor.service.js");
20
- const workspace_context_store_js_1 = require("../../common/workspace-context.store.js");
21
- const limits_provider_js_1 = require("../../common/limits/limits-provider.js");
22
- const PROVIDER_CACHE_TTL_MS = 3_600_000; // 1 hour
23
- let AgentService = class AgentService {
24
- documentService;
25
- templateProcessor;
26
- limitsProvider;
27
- providerMetaCache = null;
28
- constructor(documentService, templateProcessor, limitsProvider) {
29
- this.documentService = documentService;
30
- this.templateProcessor = templateProcessor;
31
- this.limitsProvider = limitsProvider;
32
- }
33
- // List agents from the current request workspace's crewx.yaml.
34
- getAgents() {
35
- try {
36
- const configPath = this.resolveCrewxConfigPath();
37
- if (!configPath || !(0, fs_1.existsSync)(configPath))
38
- return { agents: [] };
39
- const { config } = this.loadConfig(configPath);
40
- const rawProviders = Array.isArray(config.providers) ? config.providers : [];
41
- const rawAgents = Array.isArray(config.agents) ? config.agents : [];
42
- const agents = rawAgents.map((a) => this.toAgentInfo(a, rawProviders));
43
- return { agents };
44
- }
45
- catch {
46
- return { agents: [] };
47
- }
48
- }
49
- // Create agent — POST /api/v1/agents
50
- createAgent(dto) {
51
- if (!dto.id || typeof dto.id !== 'string' || dto.id.trim() === '') {
52
- throw new common_1.BadRequestException('Agent id is required');
53
- }
54
- if (!dto.name || typeof dto.name !== 'string' || dto.name.trim() === '') {
55
- throw new common_1.BadRequestException('Agent name is required');
56
- }
57
- this.validateAgentId(dto.id);
58
- const configPath = this.requireConfigPath();
59
- const { config, raw } = this.loadConfig(configPath);
60
- const agents = Array.isArray(config.agents) ? config.agents : [];
61
- const limits = this.limitsProvider.resolve();
62
- if (limits.agentsPerWorkspace !== -1 && agents.length >= limits.agentsPerWorkspace) {
63
- throw new common_1.HttpException({ code: 'AGENT_LIMIT_EXCEEDED', current: agents.length, limit: limits.agentsPerWorkspace }, 412);
64
- }
65
- // Check duplicate id
66
- const exists = agents.some((a) => String(a.id || '') === dto.id);
67
- if (exists) {
68
- throw new common_1.ConflictException(`Agent '${dto.id}' already exists`);
69
- }
70
- const normalizedPrompt = this.normalizePrompt(dto.prompt);
71
- const inlineFields = {};
72
- if (dto.model !== undefined)
73
- inlineFields.model = dto.model;
74
- if (normalizedPrompt !== undefined)
75
- inlineFields.prompt = normalizedPrompt;
76
- const newAgent = {
77
- id: dto.id,
78
- name: dto.name,
79
- ...(dto.role !== undefined && { role: dto.role }),
80
- ...(dto.team !== undefined && { team: dto.team }),
81
- ...(dto.description !== undefined && { description: dto.description }),
82
- ...(dto.provider !== undefined && { provider: dto.provider }),
83
- ...(Object.keys(inlineFields).length > 0 && { inline: inlineFields }),
84
- ...(dto.options !== undefined && { options: dto.options }),
85
- };
86
- agents.push(newAgent);
87
- config.agents = agents;
88
- this.saveConfig(configPath, config, raw);
89
- return this.toAgentInfo(newAgent);
90
- }
91
- // Update agent — PUT /api/v1/agents/:id
92
- updateAgent(id, dto) {
93
- if (!id || id.trim() === '') {
94
- throw new common_1.BadRequestException('Agent id is required');
95
- }
96
- if (dto.name !== undefined && dto.name.trim() === '') {
97
- throw new common_1.BadRequestException('Agent name cannot be empty');
98
- }
99
- this.validateAgentId(id);
100
- const configPath = this.requireConfigPath();
101
- const { config, raw } = this.loadConfig(configPath);
102
- const agents = Array.isArray(config.agents) ? config.agents : [];
103
- const idx = agents.findIndex((a) => String(a.id || '') === id);
104
- if (idx === -1) {
105
- throw new common_1.NotFoundException(`Agent '${id}' not found`);
106
- }
107
- const existing = agents[idx];
108
- // Merge only provided fields
109
- if (dto.name !== undefined)
110
- existing.name = dto.name;
111
- if (dto.role !== undefined)
112
- existing.role = dto.role;
113
- if (dto.team !== undefined)
114
- existing.team = dto.team;
115
- if (dto.description !== undefined)
116
- existing.description = dto.description;
117
- if (dto.provider !== undefined)
118
- existing.provider = dto.provider;
119
- if (dto.model !== undefined) {
120
- const inline = existing.inline && typeof existing.inline === 'object' && !Array.isArray(existing.inline)
121
- ? { ...existing.inline }
122
- : {};
123
- inline.model = dto.model;
124
- existing.inline = inline;
125
- delete existing.model;
126
- }
127
- if (dto.prompt !== undefined) {
128
- const inline = existing.inline && typeof existing.inline === 'object' && !Array.isArray(existing.inline)
129
- ? { ...existing.inline }
130
- : {};
131
- const normalizedPrompt = this.normalizePrompt(dto.prompt);
132
- if (normalizedPrompt === undefined) {
133
- delete inline.prompt;
134
- if (Object.keys(inline).length === 0) {
135
- delete existing.inline;
136
- }
137
- else {
138
- existing.inline = inline;
139
- }
140
- }
141
- else {
142
- inline.prompt = normalizedPrompt;
143
- existing.inline = inline;
144
- }
145
- }
146
- if (dto.skills !== undefined) {
147
- existing.skills = { include: dto.skills.include };
148
- }
149
- if (dto.options !== undefined) {
150
- const existingOptions = existing.options ?? {};
151
- existing.options = { ...existingOptions, ...dto.options };
152
- }
153
- agents[idx] = existing;
154
- config.agents = agents;
155
- this.saveConfig(configPath, config, raw);
156
- return this.toAgentInfo(existing);
157
- }
158
- // Delete agent — DELETE /api/v1/agents/:id
159
- deleteAgent(id) {
160
- if (!id || id.trim() === '') {
161
- throw new common_1.BadRequestException('Agent id is required');
162
- }
163
- this.validateAgentId(id);
164
- const configPath = this.requireConfigPath();
165
- const { config, raw } = this.loadConfig(configPath);
166
- const agents = Array.isArray(config.agents) ? config.agents : [];
167
- const idx = agents.findIndex((a) => String(a.id || '') === id);
168
- if (idx === -1) {
169
- throw new common_1.NotFoundException(`Agent '${id}' not found`);
170
- }
171
- agents.splice(idx, 1);
172
- config.agents = agents;
173
- this.saveConfig(configPath, config, raw);
174
- }
175
- // Preview prompt — POST /api/v1/agents/prompt/preview
176
- async previewPrompt(dto) {
177
- // 1. Load documents from crewx.yaml
178
- const entries = this.documentService.loadDocumentEntries();
179
- // 2. Build documents context with frontmatter-safe content + toc
180
- const documentsContext = {};
181
- for (const [key, entry] of entries) {
182
- documentsContext[key] = {
183
- content: entry.content,
184
- toc: this.documentService.extractToc(entry.content),
185
- ...(entry.path !== undefined && { path: entry.path }),
186
- };
187
- }
188
- // 3. Find referenced document keys and warn about missing ones
189
- const warnings = [];
190
- const docRefPattern = /\{\{\{?documents\.([^.}]+)\./g;
191
- const refMatches = [...dto.template.matchAll(docRefPattern)];
192
- const seenMissing = new Set();
193
- for (const match of refMatches) {
194
- const key = match[1];
195
- if (key && !documentsContext[key] && !seenMissing.has(key)) {
196
- warnings.push(`Document key '${key}' not found — rendered as empty string`);
197
- documentsContext[key] = { content: '', toc: '' };
198
- seenMissing.add(key);
199
- }
200
- }
201
- // 4. Delegate to TemplateProcessorService (CLI-equivalent rendering)
202
- try {
203
- const rendered = this.templateProcessor.processTemplate(dto.template, documentsContext, { agent: dto.context?.agent ?? {} });
204
- return { rendered, ...(warnings.length > 0 && { warnings }) };
205
- }
206
- catch (error) {
207
- const message = error instanceof Error ? error.message : String(error);
208
- throw new common_1.UnprocessableEntityException(`Template compilation error: ${message}`);
209
- }
210
- }
211
- // PRV.LIST: Get ACP provider metadata with 1-hour cache
212
- async getProviderMetas() {
213
- const now = Date.now();
214
- if (this.providerMetaCache && this.providerMetaCache.expiresAt > now) {
215
- return this.providerMetaCache.data;
216
- }
217
- const data = await (0, sdk_1.queryAllAcpProviderMetas)();
218
- this.providerMetaCache = { data, expiresAt: now + PROVIDER_CACHE_TTL_MS };
219
- return data;
220
- }
221
- // --- Private helpers ---
222
- requireConfigPath() {
223
- const configPath = this.resolveCrewxConfigPath();
224
- if (!configPath || !(0, fs_1.existsSync)(configPath)) {
225
- throw new common_1.BadRequestException('crewx.yaml not found');
226
- }
227
- return configPath;
228
- }
229
- loadConfig(configPath) {
230
- const raw = (0, fs_1.readFileSync)(configPath, 'utf-8');
231
- const config = (0, js_yaml_1.load)(raw);
232
- if (!config || typeof config !== 'object') {
233
- throw new common_1.BadRequestException('Invalid crewx.yaml format');
234
- }
235
- return { config, raw };
236
- }
237
- saveConfig(configPath, config, _raw) {
238
- // Serialize with js-yaml preserving structure
239
- const output = (0, js_yaml_1.dump)(config, {
240
- indent: 2,
241
- lineWidth: -1,
242
- noRefs: true,
243
- });
244
- (0, fs_1.writeFileSync)(configPath, output, 'utf-8');
245
- }
246
- toAgentInfo(a, providers = []) {
247
- // model can be at top-level or nested under inline.model
248
- const inline = a.inline;
249
- const inlineModel = inline?.model;
250
- const inlinePrompt = inline?.prompt;
251
- const resolvedModel = a.model ?? inlineModel;
252
- const resolvedPrompt = inlinePrompt === undefined ? undefined : String(inlinePrompt);
253
- // Resolve providerLocation for remote providers (e.g. "remote/remote_cto")
254
- let providerLocation;
255
- const providerRaw = Array.isArray(a.provider) ? a.provider[0] : a.provider;
256
- const providerStr = providerRaw !== undefined ? String(providerRaw) : undefined;
257
- if (providerStr && providerStr.startsWith('remote/')) {
258
- const providerId = providerStr.slice('remote/'.length);
259
- const matched = providers.find((p) => String(p.id || '') === providerId);
260
- if (matched?.location !== undefined) {
261
- providerLocation = String(matched.location);
262
- }
263
- }
264
- const rawSkills = a.skills;
265
- const skills = rawSkills !== null && rawSkills !== undefined && Array.isArray(rawSkills.include)
266
- ? { include: rawSkills.include }
267
- : undefined;
268
- const options = a.options;
269
- return {
270
- id: String(a.id || ''),
271
- name: String(a.name || a.id || ''),
272
- role: String(a.role || ''),
273
- team: String(a.team || ''),
274
- description: String(a.description || ''),
275
- provider: providerStr,
276
- model: resolvedModel !== undefined ? String(resolvedModel) : undefined,
277
- providerLocation,
278
- prompt: resolvedPrompt,
279
- ...(skills !== undefined && { skills }),
280
- ...(options !== undefined && { options }),
281
- };
282
- }
283
- normalizePrompt(prompt) {
284
- if (prompt === undefined) {
285
- return undefined;
286
- }
287
- const normalized = prompt.trim();
288
- return normalized === '' ? undefined : normalized;
289
- }
290
- validateAgentId(id) {
291
- if (!/^[a-zA-Z0-9_-]+$/.test(id)) {
292
- throw new common_1.BadRequestException('Invalid agent id format');
293
- }
294
- }
295
- resolveCrewxConfigPath() {
296
- const envPath = process.env.CREWX_CONFIG;
297
- if (envPath && (0, fs_1.existsSync)(envPath))
298
- return envPath;
299
- const base = (0, workspace_context_store_js_1.getWorkspacePath)();
300
- const candidates = [
301
- (0, path_1.join)(base, 'crewx.yaml'),
302
- (0, path_1.join)(base, 'crewx.yml'),
303
- ];
304
- for (const p of candidates) {
305
- if ((0, fs_1.existsSync)(p))
306
- return p;
307
- }
308
- return null;
309
- }
310
- };
311
- exports.AgentService = AgentService;
312
- exports.AgentService = AgentService = __decorate([
313
- (0, common_1.Injectable)(),
314
- __metadata("design:paramtypes", [document_service_js_1.DocumentService,
315
- template_processor_service_js_1.TemplateProcessorService,
316
- limits_provider_js_1.LimitsProvider])
317
- ], AgentService);
@@ -1,3 +0,0 @@
1
- "use strict";
2
- // Agent types for AGTUI001
3
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,80 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.CreateAgentDto = void 0;
13
- const swagger_1 = require("@nestjs/swagger");
14
- const class_validator_1 = require("class-validator");
15
- class CreateAgentDto {
16
- id;
17
- name;
18
- role;
19
- team;
20
- description;
21
- provider;
22
- model;
23
- prompt;
24
- options;
25
- }
26
- exports.CreateAgentDto = CreateAgentDto;
27
- __decorate([
28
- (0, swagger_1.ApiProperty)({ description: 'Unique agent identifier' }),
29
- (0, class_validator_1.IsString)(),
30
- (0, class_validator_1.IsNotEmpty)(),
31
- __metadata("design:type", String)
32
- ], CreateAgentDto.prototype, "id", void 0);
33
- __decorate([
34
- (0, swagger_1.ApiProperty)({ description: 'Agent display name' }),
35
- (0, class_validator_1.IsString)(),
36
- (0, class_validator_1.IsNotEmpty)(),
37
- __metadata("design:type", String)
38
- ], CreateAgentDto.prototype, "name", void 0);
39
- __decorate([
40
- (0, swagger_1.ApiPropertyOptional)({ description: 'Agent role' }),
41
- (0, class_validator_1.IsOptional)(),
42
- (0, class_validator_1.IsString)(),
43
- __metadata("design:type", String)
44
- ], CreateAgentDto.prototype, "role", void 0);
45
- __decorate([
46
- (0, swagger_1.ApiPropertyOptional)({ description: 'Team name' }),
47
- (0, class_validator_1.IsOptional)(),
48
- (0, class_validator_1.IsString)(),
49
- __metadata("design:type", String)
50
- ], CreateAgentDto.prototype, "team", void 0);
51
- __decorate([
52
- (0, swagger_1.ApiPropertyOptional)({ description: 'Agent description' }),
53
- (0, class_validator_1.IsOptional)(),
54
- (0, class_validator_1.IsString)(),
55
- __metadata("design:type", String)
56
- ], CreateAgentDto.prototype, "description", void 0);
57
- __decorate([
58
- (0, swagger_1.ApiPropertyOptional)({ description: 'Provider identifier' }),
59
- (0, class_validator_1.IsOptional)(),
60
- (0, class_validator_1.IsString)(),
61
- __metadata("design:type", String)
62
- ], CreateAgentDto.prototype, "provider", void 0);
63
- __decorate([
64
- (0, swagger_1.ApiPropertyOptional)({ description: 'Model identifier' }),
65
- (0, class_validator_1.IsOptional)(),
66
- (0, class_validator_1.IsString)(),
67
- __metadata("design:type", String)
68
- ], CreateAgentDto.prototype, "model", void 0);
69
- __decorate([
70
- (0, swagger_1.ApiPropertyOptional)({ description: 'Agent system prompt' }),
71
- (0, class_validator_1.IsOptional)(),
72
- (0, class_validator_1.IsString)(),
73
- __metadata("design:type", String)
74
- ], CreateAgentDto.prototype, "prompt", void 0);
75
- __decorate([
76
- (0, swagger_1.ApiPropertyOptional)({ description: 'CLI options per invocation mode' }),
77
- (0, class_validator_1.IsOptional)(),
78
- (0, class_validator_1.IsObject)(),
79
- __metadata("design:type", Object)
80
- ], CreateAgentDto.prototype, "options", void 0);
@@ -1,77 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.PreviewPromptDto = void 0;
13
- const class_validator_1 = require("class-validator");
14
- const class_transformer_1 = require("class-transformer");
15
- class AgentContextDto {
16
- id;
17
- name;
18
- role;
19
- team;
20
- description;
21
- }
22
- __decorate([
23
- (0, class_validator_1.IsOptional)(),
24
- (0, class_validator_1.IsString)(),
25
- __metadata("design:type", String)
26
- ], AgentContextDto.prototype, "id", void 0);
27
- __decorate([
28
- (0, class_validator_1.IsOptional)(),
29
- (0, class_validator_1.IsString)(),
30
- __metadata("design:type", String)
31
- ], AgentContextDto.prototype, "name", void 0);
32
- __decorate([
33
- (0, class_validator_1.IsOptional)(),
34
- (0, class_validator_1.IsString)(),
35
- __metadata("design:type", String)
36
- ], AgentContextDto.prototype, "role", void 0);
37
- __decorate([
38
- (0, class_validator_1.IsOptional)(),
39
- (0, class_validator_1.IsString)(),
40
- __metadata("design:type", String)
41
- ], AgentContextDto.prototype, "team", void 0);
42
- __decorate([
43
- (0, class_validator_1.IsOptional)(),
44
- (0, class_validator_1.IsString)(),
45
- __metadata("design:type", String)
46
- ], AgentContextDto.prototype, "description", void 0);
47
- class PreviewContextDto {
48
- agent;
49
- }
50
- __decorate([
51
- (0, class_validator_1.IsOptional)(),
52
- (0, class_validator_1.ValidateNested)(),
53
- (0, class_transformer_1.Type)(() => AgentContextDto),
54
- __metadata("design:type", AgentContextDto)
55
- ], PreviewContextDto.prototype, "agent", void 0);
56
- class PreviewPromptDto {
57
- template;
58
- agentId;
59
- context;
60
- }
61
- exports.PreviewPromptDto = PreviewPromptDto;
62
- __decorate([
63
- (0, class_validator_1.IsString)(),
64
- __metadata("design:type", String)
65
- ], PreviewPromptDto.prototype, "template", void 0);
66
- __decorate([
67
- (0, class_validator_1.IsOptional)(),
68
- (0, class_validator_1.IsString)(),
69
- __metadata("design:type", String)
70
- ], PreviewPromptDto.prototype, "agentId", void 0);
71
- __decorate([
72
- (0, class_validator_1.IsOptional)(),
73
- (0, class_validator_1.IsObject)(),
74
- (0, class_validator_1.ValidateNested)(),
75
- (0, class_transformer_1.Type)(() => PreviewContextDto),
76
- __metadata("design:type", PreviewContextDto)
77
- ], PreviewPromptDto.prototype, "context", void 0);
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,92 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.UpdateAgentDto = exports.AgentSkillsDto = void 0;
13
- const swagger_1 = require("@nestjs/swagger");
14
- const class_validator_1 = require("class-validator");
15
- const class_transformer_1 = require("class-transformer");
16
- class AgentSkillsDto {
17
- include;
18
- }
19
- exports.AgentSkillsDto = AgentSkillsDto;
20
- __decorate([
21
- (0, swagger_1.ApiPropertyOptional)({ description: 'Whitelist of skill names. Empty array means no skills allowed.', type: [String] }),
22
- (0, class_validator_1.IsArray)(),
23
- (0, class_validator_1.IsString)({ each: true }),
24
- __metadata("design:type", Array)
25
- ], AgentSkillsDto.prototype, "include", void 0);
26
- class UpdateAgentDto {
27
- name;
28
- role;
29
- team;
30
- description;
31
- provider;
32
- model;
33
- prompt;
34
- skills;
35
- options;
36
- }
37
- exports.UpdateAgentDto = UpdateAgentDto;
38
- __decorate([
39
- (0, swagger_1.ApiPropertyOptional)({ description: 'Agent display name' }),
40
- (0, class_validator_1.IsOptional)(),
41
- (0, class_validator_1.IsString)(),
42
- __metadata("design:type", String)
43
- ], UpdateAgentDto.prototype, "name", void 0);
44
- __decorate([
45
- (0, swagger_1.ApiPropertyOptional)({ description: 'Agent role' }),
46
- (0, class_validator_1.IsOptional)(),
47
- (0, class_validator_1.IsString)(),
48
- __metadata("design:type", String)
49
- ], UpdateAgentDto.prototype, "role", void 0);
50
- __decorate([
51
- (0, swagger_1.ApiPropertyOptional)({ description: 'Team name' }),
52
- (0, class_validator_1.IsOptional)(),
53
- (0, class_validator_1.IsString)(),
54
- __metadata("design:type", String)
55
- ], UpdateAgentDto.prototype, "team", void 0);
56
- __decorate([
57
- (0, swagger_1.ApiPropertyOptional)({ description: 'Agent description' }),
58
- (0, class_validator_1.IsOptional)(),
59
- (0, class_validator_1.IsString)(),
60
- __metadata("design:type", String)
61
- ], UpdateAgentDto.prototype, "description", void 0);
62
- __decorate([
63
- (0, swagger_1.ApiPropertyOptional)({ description: 'Provider identifier' }),
64
- (0, class_validator_1.IsOptional)(),
65
- (0, class_validator_1.IsString)(),
66
- __metadata("design:type", String)
67
- ], UpdateAgentDto.prototype, "provider", void 0);
68
- __decorate([
69
- (0, swagger_1.ApiPropertyOptional)({ description: 'Model identifier' }),
70
- (0, class_validator_1.IsOptional)(),
71
- (0, class_validator_1.IsString)(),
72
- __metadata("design:type", String)
73
- ], UpdateAgentDto.prototype, "model", void 0);
74
- __decorate([
75
- (0, swagger_1.ApiPropertyOptional)({ description: 'Agent system prompt' }),
76
- (0, class_validator_1.IsOptional)(),
77
- (0, class_validator_1.IsString)(),
78
- __metadata("design:type", String)
79
- ], UpdateAgentDto.prototype, "prompt", void 0);
80
- __decorate([
81
- (0, swagger_1.ApiPropertyOptional)({ description: 'Skill configuration. Undefined = keep existing; include:[] = block all; include:[...] = whitelist.' }),
82
- (0, class_validator_1.IsOptional)(),
83
- (0, class_validator_1.ValidateNested)(),
84
- (0, class_transformer_1.Type)(() => AgentSkillsDto),
85
- __metadata("design:type", AgentSkillsDto)
86
- ], UpdateAgentDto.prototype, "skills", void 0);
87
- __decorate([
88
- (0, swagger_1.ApiPropertyOptional)({ description: 'CLI options per invocation mode' }),
89
- (0, class_validator_1.IsOptional)(),
90
- (0, class_validator_1.IsObject)(),
91
- __metadata("design:type", Object)
92
- ], UpdateAgentDto.prototype, "options", void 0);
@@ -1,38 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.ProviderController = void 0;
13
- const common_1 = require("@nestjs/common");
14
- const swagger_1 = require("@nestjs/swagger");
15
- const agent_service_js_1 = require("./agent.service.js");
16
- let ProviderController = class ProviderController {
17
- agentService;
18
- constructor(agentService) {
19
- this.agentService = agentService;
20
- }
21
- async getProviders() {
22
- const data = await this.agentService.getProviderMetas();
23
- return { success: true, data };
24
- }
25
- };
26
- exports.ProviderController = ProviderController;
27
- __decorate([
28
- (0, swagger_1.ApiOperation)({ operationId: 'PRV.LIST', summary: 'List ACP provider metadata' }),
29
- (0, common_1.Get)(),
30
- __metadata("design:type", Function),
31
- __metadata("design:paramtypes", []),
32
- __metadata("design:returntype", Promise)
33
- ], ProviderController.prototype, "getProviders", null);
34
- exports.ProviderController = ProviderController = __decorate([
35
- (0, swagger_1.ApiTags)('providers'),
36
- (0, common_1.Controller)('ws/:slug/providers'),
37
- __metadata("design:paramtypes", [agent_service_js_1.AgentService])
38
- ], ProviderController);