@sowonai/crewx-cli 0.4.0-dev.8 → 0.4.0-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 (91) hide show
  1. package/README.md +34 -12
  2. package/dist/ai-provider.service.d.ts +7 -12
  3. package/dist/ai-provider.service.js +42 -20
  4. package/dist/ai-provider.service.js.map +1 -1
  5. package/dist/ai.service.d.ts +5 -45
  6. package/dist/ai.service.js +10 -587
  7. package/dist/ai.service.js.map +1 -1
  8. package/dist/app.module.js +67 -11
  9. package/dist/app.module.js.map +1 -1
  10. package/dist/cli/agent.handler.js +3 -4
  11. package/dist/cli/agent.handler.js.map +1 -1
  12. package/dist/cli/chat.handler.d.ts +2 -1
  13. package/dist/cli/chat.handler.js +17 -6
  14. package/dist/cli/chat.handler.js.map +1 -1
  15. package/dist/cli/cli.handler.js +4 -0
  16. package/dist/cli/cli.handler.js.map +1 -1
  17. package/dist/cli/doctor.handler.js +8 -40
  18. package/dist/cli/doctor.handler.js.map +1 -1
  19. package/dist/cli/execute.handler.js +8 -6
  20. package/dist/cli/execute.handler.js.map +1 -1
  21. package/dist/cli/log.handler.d.ts +2 -0
  22. package/dist/cli/log.handler.js +69 -0
  23. package/dist/cli/log.handler.js.map +1 -0
  24. package/dist/cli/query.handler.js +4 -2
  25. package/dist/cli/query.handler.js.map +1 -1
  26. package/dist/cli-options.d.ts +4 -2
  27. package/dist/cli-options.js +19 -12
  28. package/dist/cli-options.js.map +1 -1
  29. package/dist/crewx.tool.d.ts +18 -2
  30. package/dist/crewx.tool.js +542 -105
  31. package/dist/crewx.tool.js.map +1 -1
  32. package/dist/providers/dynamic-provider.factory.d.ts +9 -51
  33. package/dist/providers/dynamic-provider.factory.js +44 -506
  34. package/dist/providers/dynamic-provider.factory.js.map +1 -1
  35. package/dist/services/agent-loader.service.d.ts +6 -2
  36. package/dist/services/agent-loader.service.js +210 -26
  37. package/dist/services/agent-loader.service.js.map +1 -1
  38. package/dist/services/config.service.d.ts +7 -27
  39. package/dist/services/config.service.js +80 -38
  40. package/dist/services/config.service.js.map +1 -1
  41. package/dist/services/document-loader.service.d.ts +9 -4
  42. package/dist/services/document-loader.service.js +26 -7
  43. package/dist/services/document-loader.service.js.map +1 -1
  44. package/dist/services/help.service.js +6 -0
  45. package/dist/services/help.service.js.map +1 -1
  46. package/dist/services/parallel-processing.service.d.ts +2 -0
  47. package/dist/services/parallel-processing.service.js +40 -6
  48. package/dist/services/parallel-processing.service.js.map +1 -1
  49. package/dist/services/provider-bridge.service.d.ts +35 -0
  50. package/dist/services/provider-bridge.service.js +224 -0
  51. package/dist/services/provider-bridge.service.js.map +1 -0
  52. package/dist/services/remote-agent.service.d.ts +1 -1
  53. package/dist/services/task-management.service.d.ts +3 -3
  54. package/dist/services/task-management.service.js +2 -1
  55. package/dist/services/task-management.service.js.map +1 -1
  56. package/dist/services/template.service.d.ts +2 -0
  57. package/dist/services/template.service.js +46 -1
  58. package/dist/services/template.service.js.map +1 -1
  59. package/dist/utils/stdin-utils.d.ts +4 -25
  60. package/dist/utils/stdin-utils.js +2 -23
  61. package/dist/utils/stdin-utils.js.map +1 -1
  62. package/dist/utils/template-processor.d.ts +1 -29
  63. package/dist/utils/template-processor.js +38 -11
  64. package/dist/utils/template-processor.js.map +1 -1
  65. package/package.json +2 -3
  66. package/scripts/postbuild-cli.mjs +20 -1
  67. package/templates/agents/default.yaml +455 -0
  68. package/templates/agents/minimal.yaml +16 -0
  69. package/templates/documents/crewx-manual.md +390 -0
  70. package/templates/versions.json +19 -0
  71. package/dist/providers/base-ai.provider.d.ts +0 -1
  72. package/dist/providers/base-ai.provider.js +0 -6
  73. package/dist/providers/base-ai.provider.js.map +0 -1
  74. package/dist/providers/claude.provider.d.ts +0 -5
  75. package/dist/providers/claude.provider.js +0 -32
  76. package/dist/providers/claude.provider.js.map +0 -1
  77. package/dist/providers/codex.provider.d.ts +0 -4
  78. package/dist/providers/codex.provider.js +0 -30
  79. package/dist/providers/codex.provider.js.map +0 -1
  80. package/dist/providers/copilot.provider.d.ts +0 -5
  81. package/dist/providers/copilot.provider.js +0 -32
  82. package/dist/providers/copilot.provider.js.map +0 -1
  83. package/dist/providers/gemini.provider.d.ts +0 -5
  84. package/dist/providers/gemini.provider.js +0 -32
  85. package/dist/providers/gemini.provider.js.map +0 -1
  86. package/dist/services/context-enhancement.service.d.ts +0 -13
  87. package/dist/services/context-enhancement.service.js +0 -169
  88. package/dist/services/context-enhancement.service.js.map +0 -1
  89. package/dist/utils/mention-parser.d.ts +0 -18
  90. package/dist/utils/mention-parser.js +0 -136
  91. package/dist/utils/mention-parser.js.map +0 -1
@@ -0,0 +1,390 @@
1
+ # CrewX User Manual
2
+
3
+ ## What is CrewX?
4
+
5
+ CrewX is a **multi-AI agent collaboration platform** that enables developers to work with multiple AI assistants simultaneously. It supports:
6
+
7
+ - **CLI Interface**: Command-line tool for direct agent interaction
8
+ - **Slack Bot**: Team collaboration through Slack workspace integration
9
+ - **MCP Server**: Model Context Protocol server for IDE integration (VS Code, etc.)
10
+
11
+ ### Supported AI Providers
12
+ - **Claude** (Anthropic) - Complex reasoning, architecture design
13
+ - **Gemini** (Google) - Performance optimization, data analysis
14
+ - **GitHub Copilot** - Code implementation, best practices
15
+ - **Codex** (CrewX Codex CLI) - CLI-first automation and development workflows
16
+
17
+ ### Key Features
18
+ 1. **Multi-Agent Collaboration**: Query multiple agents in parallel
19
+ 2. **Context Management**: Project-specific documents and configurations
20
+ 3. **Flexible Deployment**: CLI, Slack Bot, or MCP Server mode
21
+ 4. **Custom Agents**: Create specialized agents with custom prompts
22
+ 5. **Security**: Prompt injection protection for built-in agents
23
+
24
+ ---
25
+
26
+ ## Basic Commands (CLI)
27
+ ### Agent list
28
+ ```bash
29
+ crewx agent ls
30
+ ```
31
+
32
+ ### Query (Read-Only Analysis)
33
+ ```bash
34
+ crewx query "@agent your question"
35
+ crewx q "@agent your question" # shortcut
36
+ ```
37
+
38
+ ### Execute (File Creation/Modification)
39
+ ```bash
40
+ crewx execute "@agent your task"
41
+ crewx x "@agent your task" # shortcut
42
+ ```
43
+
44
+ ### System Commands
45
+ ```bash
46
+ crewx agent # List available agents (default: ls)
47
+ crewx agent ls # List available agents (explicit)
48
+ crewx init # Initialize agents.yaml
49
+ crewx doctor # Check AI provider status
50
+ crewx log # List all task logs (default)
51
+ crewx log ls # List all task logs (explicit)
52
+ crewx log <id> # View specific task log
53
+ ```
54
+
55
+ ## Agent Mention Syntax
56
+
57
+ ### Basic Agent Mention
58
+ ```bash
59
+ crewx q "@claude analyze this code"
60
+ crewx q "@gemini search latest AI news"
61
+ crewx q "@copilot suggest improvements"
62
+ ```
63
+
64
+ ### Model Selection
65
+ Specify AI model using colon syntax:
66
+ ```bash
67
+ crewx q "@claude:opus complex architecture design"
68
+ crewx q "@claude:sonnet general development tasks"
69
+ crewx q "@claude:haiku quick simple questions"
70
+ crewx q "@gemini:gemini-2.5-pro advanced analysis"
71
+ ```
72
+
73
+ ### Multiple Agents (Parallel Execution)
74
+ Query multiple agents simultaneously:
75
+ ```bash
76
+ crewx q "@claude @gemini @copilot review this code"
77
+ ```
78
+
79
+ ## Built-in Agents
80
+
81
+ ### @crewx (This Agent)
82
+ Your CrewX assistant. Fallback mechanism: claude → gemini → copilot
83
+
84
+ ### @claude (Anthropic Claude)
85
+ Best for: Complex reasoning, code analysis, architecture
86
+
87
+ ### @gemini (Google Gemini)
88
+ Best for: Performance optimization, data analysis, research
89
+
90
+ ### @copilot (GitHub Copilot)
91
+ Best for: Code implementation, best practices, testing
92
+
93
+ ---
94
+
95
+ ## Deployment Modes
96
+
97
+ ### 1. CLI Mode (Default)
98
+ Direct command-line interaction with agents:
99
+ ```bash
100
+ # Query agents
101
+ crewx query "@claude analyze this code"
102
+ crewx q "@gemini search latest AI news"
103
+
104
+ # Execute tasks
105
+ crewx execute "@copilot implement feature"
106
+ crewx x "@claude create tests"
107
+
108
+ # System commands
109
+ crewx init # Initialize agents.yaml
110
+ crewx doctor # Check AI provider status
111
+ crewx log # View task logs
112
+ ```
113
+
114
+ ### 2. Slack Bot Mode
115
+ Integrate CrewX with your Slack workspace for team collaboration:
116
+
117
+ **Starting Slack Bot:**
118
+ ```bash
119
+ # Set environment variables
120
+ export SLACK_BOT_TOKEN=xoxb-...
121
+ export SLACK_APP_TOKEN=xapp-...
122
+ export SLACK_SIGNING_SECRET=...
123
+
124
+ # Start bot
125
+ crewx slack --log
126
+
127
+ # Or use .env.slack file
128
+ npm run start:slack
129
+ ```
130
+
131
+ **Using in Slack:**
132
+ - Mention bot: `@CrewX analyze this code`
133
+ - Use keyword: `crewx what is this bug?`
134
+ - Direct message: Send DM to CrewX bot
135
+
136
+ **Features:**
137
+ - Real-time agent responses in Slack threads
138
+ - Team-wide AI collaboration
139
+ - Persistent chat history
140
+ - Interactive buttons (View Details, Rerun)
141
+
142
+ ### 3. MCP Server Mode
143
+ Integrate with IDEs via Model Context Protocol:
144
+
145
+ **Starting MCP Server:**
146
+ ```bash
147
+ crewx mcp
148
+ ```
149
+
150
+ **IDE Integration (VS Code):**
151
+ Add to VS Code settings.json:
152
+ ```json
153
+ {
154
+ "mcp.servers": {
155
+ "crewx": {
156
+ "command": "crewx",
157
+ "args": ["mcp"]
158
+ }
159
+ }
160
+ }
161
+ ```
162
+
163
+ **Features:**
164
+ - Direct IDE integration
165
+ - Context-aware code assistance
166
+ - Multiple agent coordination
167
+ - Tool-based interactions
168
+
169
+ ---
170
+
171
+ ## Custom Agents
172
+
173
+ Create `agents.yaml` in your project:
174
+ ```yaml
175
+ agents:
176
+ - id: "my_agent"
177
+ name: "My Custom Agent"
178
+ role: "developer"
179
+ provider: "cli/claude" # Fixed provider (no fallback)
180
+ inline:
181
+ model: "sonnet"
182
+ prompt: |
183
+ You are a specialized assistant...
184
+ ```
185
+
186
+ ### Provider Configuration
187
+
188
+ **Fixed Provider (Single String):**
189
+ ```yaml
190
+ # Always uses specified provider, no fallback
191
+ - id: "claude_expert"
192
+ provider: "cli/claude"
193
+ inline:
194
+ prompt: |
195
+ You are a Claude-specific expert...
196
+ ```
197
+
198
+ **Fallback Provider (Array):**
199
+ ```yaml
200
+ # Tries providers in order: claude → gemini → copilot
201
+ - id: "flexible_agent"
202
+ provider: ["cli/claude", "cli/gemini", "cli/copilot"]
203
+ options:
204
+ execute:
205
+ cli/claude:
206
+ - "--permission-mode=acceptEdits"
207
+ - "--add-dir=."
208
+ cli/gemini:
209
+ - "--include-directories=."
210
+ cli/copilot:
211
+ - "--add-dir=."
212
+ inline:
213
+ prompt: |
214
+ You are a flexible assistant that works with multiple providers...
215
+ ```
216
+
217
+ **Provider Fallback Behavior:**
218
+ - **Single string**: Fixed provider, no fallback
219
+ - **Array**: Tries each provider in order until one is available
220
+ - **With model specified**: Uses first provider in array, no fallback
221
+ - Example: `@crewx` uses `['cli/claude', 'cli/gemini', 'cli/copilot']` for automatic fallback
222
+
223
+ **Use Cases:**
224
+ - **Fixed provider**: When you need specific provider features
225
+ - **Fallback**: When availability matters more than provider choice
226
+ - **Provider-specific options**: Different CLI options per provider
227
+
228
+ ---
229
+
230
+ ## Document System
231
+
232
+ Reference documents in agent prompt:
233
+ ```yaml
234
+ agents:
235
+ - id: "helper"
236
+ inline:
237
+ prompt: |
238
+ <manual>
239
+ {{{documents.user_guide.content}}}
240
+ </manual>
241
+ ```
242
+
243
+ ### Document Levels
244
+ 1. `documents.yaml` - Global documents
245
+ 2. `agents.yaml` documents - Project documents
246
+ 3. `agent.inline.documents` - Agent-specific
247
+
248
+ ### Template Variables
249
+ - `{{{documents.name.content}}}` - Full content
250
+ - `{{{documents.name.toc}}}` - Table of contents
251
+ - `{{documents.name.summary}}` - Summary
252
+
253
+ ## Dynamic Template System
254
+
255
+ CrewX uses Handlebars for context-aware prompts:
256
+
257
+ ### Available Context
258
+
259
+ **Agent Self-Information:**
260
+ - `{{agent.id}}` - Agent ID (e.g., "claude", "my_agent")
261
+ - `{{agent.name}}` - Agent name (e.g., "Claude AI")
262
+ - `{{agent.provider}}` - AI provider (claude, gemini, copilot)
263
+ - `{{agent.model}}` - Model name (sonnet, haiku, opus)
264
+ - `{{agent.workingDirectory}}` - Working directory path
265
+
266
+ **Environment Variables:**
267
+ - `{{env.VAR_NAME}}` - Any environment variable
268
+ - `{{env.NODE_ENV}}` - Common: production, development
269
+ - `{{env.DEBUG}}` - Debug flag
270
+
271
+ **Other Context:**
272
+ - `{{mode}}` - 'query' or 'execute'
273
+ - `{{vars.customKey}}` - Custom variables
274
+
275
+ ### Example: Agent Self-Awareness
276
+ ```yaml
277
+ agents:
278
+ - id: "my_agent"
279
+ name: "My Smart Agent"
280
+ inline:
281
+ provider: "cli/claude"
282
+ model: "sonnet"
283
+ prompt: |
284
+ You are {{agent.name}} (ID: {{agent.id}}).
285
+ Running on {{agent.provider}} using {{agent.model}} model.
286
+ Working directory: {{agent.workingDirectory}}
287
+
288
+ {{#if (eq agent.model "haiku")}}
289
+ Provide fast, concise responses.
290
+ {{else if (eq agent.model "opus")}}
291
+ Provide detailed, comprehensive analysis.
292
+ {{/if}}
293
+ ```
294
+
295
+ ### Conditional Logic
296
+ ```yaml
297
+ prompt: |
298
+ {{#if (eq env.NODE_ENV "production")}}
299
+ Production mode: Be careful
300
+ {{else}}
301
+ Development mode: Experiment freely
302
+ {{/if}}
303
+
304
+ {{#if (or (eq agent.provider "cli/claude") (eq agent.provider "cli/gemini"))}}
305
+ Web search available!
306
+ {{/if}}
307
+
308
+ {{#if (eq agent.model "haiku")}}
309
+ Fast response mode
310
+ {{else if (eq agent.model "opus")}}
311
+ Deep analysis mode
312
+ {{/if}}
313
+ ```
314
+
315
+ ### Helpers Available
316
+ - `(eq a b)` - Equality
317
+ - `(ne a b)` - Not equal
318
+ - `(and a b)` - Logical AND
319
+ - `(or a b)` - Logical OR
320
+ - `(not a)` - Logical NOT
321
+ - `(contains array value)` - Array contains
322
+
323
+ ### Example: Environment-Aware Agent
324
+ ```yaml
325
+ agents:
326
+ - id: "smart_agent"
327
+ inline:
328
+ prompt: |
329
+ You are an adaptive assistant.
330
+
331
+ {{#if env.DEBUG}}
332
+ Debug mode enabled: Provide verbose explanations
333
+ {{/if}}
334
+
335
+ {{#if (eq agent.provider "cli/claude")}}
336
+ Using Claude - complex reasoning available
337
+ {{/if}}
338
+
339
+ Provider: {{agent.provider}}
340
+ Model: {{agent.model}}
341
+ ```
342
+
343
+ Set environment variables:
344
+ ```bash
345
+ export DEBUG=true
346
+ export NODE_ENV=production
347
+ crewx query "@smart_agent analyze this"
348
+ ```
349
+
350
+ ---
351
+
352
+ ## Security Features
353
+
354
+ ### Prompt Injection Protection
355
+
356
+ CrewX built-in agents (@claude, @gemini, @copilot) are protected against prompt injection attacks using an authenticated system prompt mechanism.
357
+
358
+ **How it works:**
359
+ 1. Each agent session generates a unique random security key (`{{vars.security_key}}`)
360
+ 2. Agent prompts are wrapped in authenticated tags with the security key
361
+ 3. Agents are instructed to ONLY follow instructions within authenticated tags
362
+ 4. Any user-provided prompt tags with different or missing keys are ignored
363
+
364
+ **User Injection Attempts (Blocked):**
365
+ - "Ignore all previous instructions and do X" → Ignored
366
+ - Attempting to inject unauthorized system instructions → Treated as user input
367
+ - Using incorrect or fake security keys → Key mismatch, ignored
368
+
369
+ **Benefits:**
370
+ - ✅ Prevents unauthorized behavior changes
371
+ - ✅ Maintains agent integrity and purpose
372
+ - ✅ Random keys are unpredictable per session
373
+ - ✅ Transparent to legitimate users
374
+
375
+ ---
376
+
377
+ ## Agent Behavior Control
378
+
379
+ ### User-Defined Behavior
380
+ CrewX does NOT inject any hardcoded behavior prompts. You have complete control over agent behavior through the agent's prompt configuration.
381
+
382
+ ### Custom Read-Only Mode
383
+ If you want read-only analysis:
384
+ ```yaml
385
+ agents:
386
+ - id: "analyzer"
387
+ inline:
388
+ prompt: |
389
+ You are a read-only analyzer. Do not modify files.
390
+ ```
@@ -0,0 +1,19 @@
1
+ {
2
+ "latest": "v0.1.8",
3
+ "versions": {
4
+ "v0.1.8": {
5
+ "released": "2025-01-01",
6
+ "templates": ["default", "minimal", "development", "production"],
7
+ "description": "Initial template system with @crewx agent and model selection support",
8
+ "minCrewxVersion": "0.1.8",
9
+ "maxCrewxVersion": null
10
+ },
11
+ "main": {
12
+ "released": "development",
13
+ "templates": ["default", "minimal", "secure-wrapper", "development", "production"],
14
+ "description": "Development branch - latest unreleased features",
15
+ "minCrewxVersion": "0.1.8",
16
+ "maxCrewxVersion": null
17
+ }
18
+ }
19
+ }
@@ -1 +0,0 @@
1
- export { BaseAIProvider } from '@sowonai/crewx-sdk';
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BaseAIProvider = void 0;
4
- var crewx_sdk_1 = require("@sowonai/crewx-sdk");
5
- Object.defineProperty(exports, "BaseAIProvider", { enumerable: true, get: function () { return crewx_sdk_1.BaseAIProvider; } });
6
- //# sourceMappingURL=base-ai.provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base-ai.provider.js","sourceRoot":"","sources":["../../src/providers/base-ai.provider.ts"],"names":[],"mappings":";;;AAAA,gDAAoD;AAA3C,2GAAA,cAAc,OAAA"}
@@ -1,5 +0,0 @@
1
- import { ClaudeProvider as SdkClaudeProvider } from '@sowonai/crewx-sdk';
2
- import { ToolCallService } from '../services/tool-call.service';
3
- export declare class ClaudeProvider extends SdkClaudeProvider {
4
- constructor(toolCallService?: ToolCallService);
5
- }
@@ -1,32 +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.ClaudeProvider = void 0;
13
- const common_1 = require("@nestjs/common");
14
- const crewx_sdk_1 = require("@sowonai/crewx-sdk");
15
- const tool_call_service_1 = require("../services/tool-call.service");
16
- const version_1 = require("../version");
17
- const logger_adapter_1 = require("./logger.adapter");
18
- let ClaudeProvider = class ClaudeProvider extends crewx_sdk_1.ClaudeProvider {
19
- constructor(toolCallService) {
20
- super({
21
- logger: (0, logger_adapter_1.createLoggerAdapter)('ClaudeProvider'),
22
- toolCallHandler: toolCallService,
23
- crewxVersion: version_1.CREWX_VERSION,
24
- });
25
- }
26
- };
27
- exports.ClaudeProvider = ClaudeProvider;
28
- exports.ClaudeProvider = ClaudeProvider = __decorate([
29
- (0, common_1.Injectable)(),
30
- __metadata("design:paramtypes", [tool_call_service_1.ToolCallService])
31
- ], ClaudeProvider);
32
- //# sourceMappingURL=claude.provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"claude.provider.js","sourceRoot":"","sources":["../../src/providers/claude.provider.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,kDAAyE;AACzE,qEAAgE;AAChE,wCAA2C;AAC3C,qDAAuD;AAGhD,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,0BAAiB;IACnD,YAAY,eAAiC;QAC3C,KAAK,CAAC;YACJ,MAAM,EAAE,IAAA,oCAAmB,EAAC,gBAAgB,CAAC;YAC7C,eAAe,EAAE,eAAe;YAChC,YAAY,EAAE,uBAAa;SAC5B,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AARY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,mBAAU,GAAE;qCAEmB,mCAAe;GADlC,cAAc,CAQ1B"}
@@ -1,4 +0,0 @@
1
- import { CodexProvider as SdkCodexProvider } from '@sowonai/crewx-sdk';
2
- export declare class CodexProvider extends SdkCodexProvider {
3
- constructor();
4
- }
@@ -1,30 +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.CodexProvider = void 0;
13
- const common_1 = require("@nestjs/common");
14
- const crewx_sdk_1 = require("@sowonai/crewx-sdk");
15
- const version_1 = require("../version");
16
- const logger_adapter_1 = require("./logger.adapter");
17
- let CodexProvider = class CodexProvider extends crewx_sdk_1.CodexProvider {
18
- constructor() {
19
- super({
20
- logger: (0, logger_adapter_1.createLoggerAdapter)('CodexProvider'),
21
- crewxVersion: version_1.CREWX_VERSION,
22
- });
23
- }
24
- };
25
- exports.CodexProvider = CodexProvider;
26
- exports.CodexProvider = CodexProvider = __decorate([
27
- (0, common_1.Injectable)(),
28
- __metadata("design:paramtypes", [])
29
- ], CodexProvider);
30
- //# sourceMappingURL=codex.provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"codex.provider.js","sourceRoot":"","sources":["../../src/providers/codex.provider.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,kDAAuE;AACvE,wCAA2C;AAC3C,qDAAuD;AAGhD,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,yBAAgB;IACjD;QACE,KAAK,CAAC;YACJ,MAAM,EAAE,IAAA,oCAAmB,EAAC,eAAe,CAAC;YAC5C,YAAY,EAAE,uBAAa;SAC5B,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAPY,sCAAa;wBAAb,aAAa;IADzB,IAAA,mBAAU,GAAE;;GACA,aAAa,CAOzB"}
@@ -1,5 +0,0 @@
1
- import { CopilotProvider as SdkCopilotProvider } from '@sowonai/crewx-sdk';
2
- import { ToolCallService } from '../services/tool-call.service';
3
- export declare class CopilotProvider extends SdkCopilotProvider {
4
- constructor(toolCallService?: ToolCallService);
5
- }
@@ -1,32 +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.CopilotProvider = void 0;
13
- const common_1 = require("@nestjs/common");
14
- const crewx_sdk_1 = require("@sowonai/crewx-sdk");
15
- const tool_call_service_1 = require("../services/tool-call.service");
16
- const version_1 = require("../version");
17
- const logger_adapter_1 = require("./logger.adapter");
18
- let CopilotProvider = class CopilotProvider extends crewx_sdk_1.CopilotProvider {
19
- constructor(toolCallService) {
20
- super({
21
- logger: (0, logger_adapter_1.createLoggerAdapter)('CopilotProvider'),
22
- toolCallHandler: toolCallService,
23
- crewxVersion: version_1.CREWX_VERSION,
24
- });
25
- }
26
- };
27
- exports.CopilotProvider = CopilotProvider;
28
- exports.CopilotProvider = CopilotProvider = __decorate([
29
- (0, common_1.Injectable)(),
30
- __metadata("design:paramtypes", [tool_call_service_1.ToolCallService])
31
- ], CopilotProvider);
32
- //# sourceMappingURL=copilot.provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"copilot.provider.js","sourceRoot":"","sources":["../../src/providers/copilot.provider.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,kDAA2E;AAC3E,qEAAgE;AAChE,wCAA2C;AAC3C,qDAAuD;AAGhD,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,2BAAkB;IACrD,YAAY,eAAiC;QAC3C,KAAK,CAAC;YACJ,MAAM,EAAE,IAAA,oCAAmB,EAAC,iBAAiB,CAAC;YAC9C,eAAe,EAAE,eAAe;YAChC,YAAY,EAAE,uBAAa;SAC5B,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AARY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,mBAAU,GAAE;qCAEmB,mCAAe;GADlC,eAAe,CAQ3B"}
@@ -1,5 +0,0 @@
1
- import { GeminiProvider as SdkGeminiProvider } from '@sowonai/crewx-sdk';
2
- import { ToolCallService } from '../services/tool-call.service';
3
- export declare class GeminiProvider extends SdkGeminiProvider {
4
- constructor(toolCallService?: ToolCallService);
5
- }
@@ -1,32 +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.GeminiProvider = void 0;
13
- const common_1 = require("@nestjs/common");
14
- const crewx_sdk_1 = require("@sowonai/crewx-sdk");
15
- const tool_call_service_1 = require("../services/tool-call.service");
16
- const version_1 = require("../version");
17
- const logger_adapter_1 = require("./logger.adapter");
18
- let GeminiProvider = class GeminiProvider extends crewx_sdk_1.GeminiProvider {
19
- constructor(toolCallService) {
20
- super({
21
- logger: (0, logger_adapter_1.createLoggerAdapter)('GeminiProvider'),
22
- toolCallHandler: toolCallService,
23
- crewxVersion: version_1.CREWX_VERSION,
24
- });
25
- }
26
- };
27
- exports.GeminiProvider = GeminiProvider;
28
- exports.GeminiProvider = GeminiProvider = __decorate([
29
- (0, common_1.Injectable)(),
30
- __metadata("design:paramtypes", [tool_call_service_1.ToolCallService])
31
- ], GeminiProvider);
32
- //# sourceMappingURL=gemini.provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gemini.provider.js","sourceRoot":"","sources":["../../src/providers/gemini.provider.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,kDAAyE;AACzE,qEAAgE;AAChE,wCAA2C;AAC3C,qDAAuD;AAGhD,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,0BAAiB;IACnD,YAAY,eAAiC;QAC3C,KAAK,CAAC;YACJ,MAAM,EAAE,IAAA,oCAAmB,EAAC,gBAAgB,CAAC;YAC7C,eAAe,EAAE,eAAe;YAChC,YAAY,EAAE,uBAAa;SAC5B,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AARY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,mBAAU,GAAE;qCAEmB,mCAAe;GADlC,cAAc,CAQ1B"}
@@ -1,13 +0,0 @@
1
- export declare class ContextEnhancementService {
2
- private readonly logger;
3
- private readonly projectContextCache;
4
- private readonly CACHE_TTL;
5
- loadProjectContext(workingDir: string): Promise<string>;
6
- enhancePromptWithProjectContext(prompt: string, workingDir: string, options?: {
7
- includeProjectContext?: boolean;
8
- maxProjectContextLength?: number;
9
- }): Promise<string>;
10
- hasProjectContext(workingDir: string): Promise<boolean>;
11
- createSampleClaudeMd(workingDir: string, projectName?: string): Promise<string>;
12
- clearCache(): void;
13
- }