@sowonai/crewx-sdk 0.1.0-dev.4 → 0.1.0-dev.40

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 (95) hide show
  1. package/README.md +28 -0
  2. package/dist/config/yaml-loader.js +6 -2
  3. package/dist/config/yaml-loader.js.map +1 -1
  4. package/dist/conversation/conversation-history.interface.d.ts +6 -4
  5. package/dist/core/agent/agent-factory.d.ts +7 -7
  6. package/dist/core/agent/agent-factory.js +23 -0
  7. package/dist/core/agent/agent-factory.js.map +1 -1
  8. package/dist/core/agent/agent-runtime.d.ts +18 -2
  9. package/dist/core/agent/agent-runtime.js +128 -24
  10. package/dist/core/agent/agent-runtime.js.map +1 -1
  11. package/dist/core/agent/index.d.ts +1 -1
  12. package/dist/core/agent/index.js +2 -1
  13. package/dist/core/agent/index.js.map +1 -1
  14. package/dist/core/providers/ai-provider.interface.d.ts +1 -0
  15. package/dist/core/providers/ai-provider.interface.js.map +1 -1
  16. package/dist/core/providers/base-ai.provider.d.ts +7 -0
  17. package/dist/core/providers/base-ai.provider.js +8 -4
  18. package/dist/core/providers/base-ai.provider.js.map +1 -1
  19. package/dist/core/providers/claude.provider.d.ts +0 -11
  20. package/dist/core/providers/claude.provider.js +2 -262
  21. package/dist/core/providers/claude.provider.js.map +1 -1
  22. package/dist/core/providers/codex.provider.js +2 -2
  23. package/dist/core/providers/codex.provider.js.map +1 -1
  24. package/dist/core/providers/copilot.provider.d.ts +0 -10
  25. package/dist/core/providers/copilot.provider.js +0 -180
  26. package/dist/core/providers/copilot.provider.js.map +1 -1
  27. package/dist/core/providers/dynamic-provider.factory.d.ts +64 -0
  28. package/dist/core/providers/dynamic-provider.factory.js +533 -0
  29. package/dist/core/providers/dynamic-provider.factory.js.map +1 -0
  30. package/dist/core/providers/gemini.provider.d.ts +0 -11
  31. package/dist/core/providers/gemini.provider.js +0 -101
  32. package/dist/core/providers/gemini.provider.js.map +1 -1
  33. package/dist/core/providers/index.d.ts +3 -0
  34. package/dist/core/providers/index.js +7 -1
  35. package/dist/core/providers/index.js.map +1 -1
  36. package/dist/core/providers/mock.provider.d.ts +13 -0
  37. package/dist/core/providers/mock.provider.js +55 -0
  38. package/dist/core/providers/mock.provider.js.map +1 -0
  39. package/dist/core/providers/provider-factory.d.ts +3 -0
  40. package/dist/core/providers/provider-factory.js +27 -0
  41. package/dist/core/providers/provider-factory.js.map +1 -0
  42. package/dist/index.d.ts +17 -4
  43. package/dist/index.js +31 -1
  44. package/dist/index.js.map +1 -1
  45. package/dist/schema/skills-parser.d.ts +8 -0
  46. package/dist/schema/skills-parser.js +421 -0
  47. package/dist/schema/skills-parser.js.map +1 -0
  48. package/dist/schema/skills.types.d.ts +144 -0
  49. package/dist/schema/skills.types.js +41 -0
  50. package/dist/schema/skills.types.js.map +1 -0
  51. package/dist/services/index.d.ts +2 -0
  52. package/dist/services/index.js +19 -0
  53. package/dist/services/index.js.map +1 -0
  54. package/dist/services/layout-loader.service.d.ts +18 -0
  55. package/dist/services/layout-loader.service.js +266 -0
  56. package/dist/services/layout-loader.service.js.map +1 -0
  57. package/dist/services/layout-renderer.service.d.ts +25 -0
  58. package/dist/services/layout-renderer.service.js +226 -0
  59. package/dist/services/layout-renderer.service.js.map +1 -0
  60. package/dist/services/props-validator.service.d.ts +29 -0
  61. package/dist/services/props-validator.service.js +332 -0
  62. package/dist/services/props-validator.service.js.map +1 -0
  63. package/dist/skills/adapter/claude-skill-adapter.d.ts +11 -0
  64. package/dist/skills/adapter/claude-skill-adapter.js +222 -0
  65. package/dist/skills/adapter/claude-skill-adapter.js.map +1 -0
  66. package/dist/skills/index.d.ts +6 -0
  67. package/dist/skills/index.js +31 -0
  68. package/dist/skills/index.js.map +1 -0
  69. package/dist/skills/runtime/progressive-loader.d.ts +27 -0
  70. package/dist/skills/runtime/progressive-loader.js +186 -0
  71. package/dist/skills/runtime/progressive-loader.js.map +1 -0
  72. package/dist/skills/runtime/runtime-requirements-validator.d.ts +23 -0
  73. package/dist/skills/runtime/runtime-requirements-validator.js +248 -0
  74. package/dist/skills/runtime/runtime-requirements-validator.js.map +1 -0
  75. package/dist/skills/runtime/skill-runtime.service.d.ts +42 -0
  76. package/dist/skills/runtime/skill-runtime.service.js +434 -0
  77. package/dist/skills/runtime/skill-runtime.service.js.map +1 -0
  78. package/dist/types/agent.types.d.ts +10 -2
  79. package/dist/types/agent.types.js.map +1 -1
  80. package/dist/types/index.d.ts +3 -0
  81. package/dist/types/index.js +3 -0
  82. package/dist/types/index.js.map +1 -1
  83. package/dist/types/layout.types.d.ts +113 -0
  84. package/dist/types/layout.types.js +22 -0
  85. package/dist/types/layout.types.js.map +1 -0
  86. package/dist/types/provider.types.d.ts +12 -0
  87. package/dist/types/provider.types.js +3 -0
  88. package/dist/types/provider.types.js.map +1 -0
  89. package/dist/types/skill-runtime.types.d.ts +244 -0
  90. package/dist/types/skill-runtime.types.js +44 -0
  91. package/dist/types/skill-runtime.types.js.map +1 -0
  92. package/dist/types/template.types.d.ts +38 -0
  93. package/dist/types/template.types.js +3 -0
  94. package/dist/types/template.types.js.map +1 -0
  95. package/package.json +14 -13
@@ -23,14 +23,6 @@ class CopilotProvider extends base_ai_provider_1.BaseAIProvider {
23
23
  getNotInstalledMessage() {
24
24
  return 'GitHub Copilot CLI is not installed. Please refer to https://docs.github.com/copilot/how-tos/set-up/install-copilot-cli to install it.';
25
25
  }
26
- async execute(prompt, options = {}) {
27
- if (this.toolCallHandler) {
28
- this.logger.log('CopilotProvider: Using queryWithTools in execute mode');
29
- return this.queryWithTools(prompt, options);
30
- }
31
- this.logger.warn('CopilotProvider: Tool call handler not available, falling back to base execute');
32
- return super.execute(prompt, options);
33
- }
34
26
  parseProviderError(stderr, stdout) {
35
27
  const combinedOutput = stderr || stdout;
36
28
  if (combinedOutput.includes('quota') && combinedOutput.includes('exceed')) {
@@ -71,178 +63,6 @@ class CopilotProvider extends base_ai_provider_1.BaseAIProvider {
71
63
  }
72
64
  return { error: false, message: '' };
73
65
  }
74
- buildPromptWithTools(prompt, tools) {
75
- if (!tools || tools.length === 0) {
76
- return prompt;
77
- }
78
- return prompt;
79
- }
80
- buildFollowUpPrompt(toolName, toolInput, toolResult) {
81
- return `Tool execution result:
82
- Tool: ${toolName}
83
- Input: ${JSON.stringify(toolInput)}
84
- Result: ${JSON.stringify(toolResult)}
85
-
86
- Please continue with your response based on this tool result.`;
87
- }
88
- parseToolUse(content) {
89
- const xmlMatch = content.match(/<crew(?:code|x)_tool_call>\s*([\s\S]*?)\s*<\/crew(?:code|x)_tool_call>/);
90
- if (xmlMatch && xmlMatch[1]) {
91
- try {
92
- const jsonContent = xmlMatch[1].trim();
93
- const parsed = JSON.parse(jsonContent);
94
- if (parsed.type === 'tool_use' && parsed.name && parsed.input) {
95
- this.logger.log(`Tool use detected: ${parsed.name} with input ${JSON.stringify(parsed.input)}`);
96
- return {
97
- isToolUse: true,
98
- toolName: parsed.name,
99
- toolInput: parsed.input,
100
- };
101
- }
102
- }
103
- catch (e) {
104
- }
105
- }
106
- try {
107
- const parsed = JSON.parse(content);
108
- if (parsed.type === 'tool_use' && parsed.name && parsed.input) {
109
- return {
110
- isToolUse: true,
111
- toolName: parsed.name,
112
- toolInput: parsed.input,
113
- };
114
- }
115
- if (parsed.content && Array.isArray(parsed.content)) {
116
- const toolUse = parsed.content.find((c) => c.type === 'tool_use');
117
- if (toolUse) {
118
- return {
119
- isToolUse: true,
120
- toolName: toolUse.name,
121
- toolInput: toolUse.input,
122
- };
123
- }
124
- }
125
- }
126
- catch (error) {
127
- const codeBlockMatch = content.match(/```(?:json)?\s*\n?([\s\S]*?)\n?```/);
128
- if (codeBlockMatch && codeBlockMatch[1]) {
129
- try {
130
- const jsonContent = codeBlockMatch[1].trim();
131
- const parsed = JSON.parse(jsonContent);
132
- if (parsed.type === 'tool_use' && parsed.name && parsed.input) {
133
- this.logger.log(`Tool use detected: ${parsed.name} with input ${JSON.stringify(parsed.input)}`);
134
- return {
135
- isToolUse: true,
136
- toolName: parsed.name,
137
- toolInput: parsed.input,
138
- };
139
- }
140
- }
141
- catch (e) {
142
- }
143
- }
144
- const cleanedContent = content
145
- .split('\n')
146
- .map(line => line.replace(/^[●\-\*\s]+/, ''))
147
- .join('\n');
148
- const startMatch = cleanedContent.match(/\{\s*"type"\s*:\s*"tool_use"/);
149
- if (startMatch && startMatch.index !== undefined) {
150
- let braceCount = 0;
151
- let inString = false;
152
- let escapeNext = false;
153
- let jsonStr = '';
154
- for (let i = startMatch.index; i < cleanedContent.length; i++) {
155
- const char = cleanedContent[i];
156
- jsonStr += char;
157
- if (escapeNext) {
158
- escapeNext = false;
159
- continue;
160
- }
161
- if (char === '\\') {
162
- escapeNext = true;
163
- continue;
164
- }
165
- if (char === '"') {
166
- inString = !inString;
167
- continue;
168
- }
169
- if (!inString) {
170
- if (char === '{')
171
- braceCount++;
172
- if (char === '}') {
173
- braceCount--;
174
- if (braceCount === 0) {
175
- try {
176
- const parsed = JSON.parse(jsonStr);
177
- if (parsed.type === 'tool_use' && parsed.name && parsed.input) {
178
- this.logger.log(`Tool use detected: ${parsed.name} with input ${JSON.stringify(parsed.input)}`);
179
- return {
180
- isToolUse: true,
181
- toolName: parsed.name,
182
- toolInput: parsed.input,
183
- };
184
- }
185
- }
186
- catch (e) {
187
- this.logger.warn(`Failed to parse extracted JSON: ${e}`);
188
- }
189
- break;
190
- }
191
- }
192
- }
193
- }
194
- }
195
- }
196
- return { isToolUse: false };
197
- }
198
- async queryWithTools(prompt, options = {}, maxTurns = 5) {
199
- if (!this.toolCallHandler) {
200
- this.logger.warn('Tool call handler not available, falling back to regular query');
201
- return this.query(prompt, options);
202
- }
203
- let turn = 0;
204
- let currentPrompt = prompt;
205
- const tools = this.toolCallHandler.list();
206
- currentPrompt = this.buildPromptWithTools(currentPrompt, tools);
207
- while (turn < maxTurns) {
208
- this.logger.log(`Tool call turn ${turn + 1}/${maxTurns}`);
209
- const response = await this.query(currentPrompt, options);
210
- if (!response.success) {
211
- return response;
212
- }
213
- const toolUse = this.parseToolUse(response.content);
214
- if (!toolUse.isToolUse) {
215
- this.logger.log('No tool use detected, returning response');
216
- return response;
217
- }
218
- this.logger.log(`Executing tool: ${toolUse.toolName}`);
219
- try {
220
- const toolResult = await this.toolCallHandler.execute(toolUse.toolName, toolUse.toolInput);
221
- currentPrompt = this.buildFollowUpPrompt(toolUse.toolName, toolUse.toolInput, toolResult);
222
- turn++;
223
- }
224
- catch (error) {
225
- this.logger.error(`Tool execution failed: ${error.message}`);
226
- return {
227
- content: '',
228
- provider: this.name,
229
- command: response.command,
230
- success: false,
231
- error: `Tool execution failed: ${error.message}`,
232
- taskId: response.taskId,
233
- };
234
- }
235
- }
236
- this.logger.error(`Max tool call turns (${maxTurns}) exceeded`);
237
- return {
238
- content: '',
239
- provider: this.name,
240
- command: `${this.getCliCommand()} (max turns exceeded)`,
241
- success: false,
242
- error: `Maximum tool call iterations (${maxTurns}) exceeded`,
243
- taskId: options.taskId,
244
- };
245
- }
246
66
  }
247
67
  exports.CopilotProvider = CopilotProvider;
248
68
  //# sourceMappingURL=copilot.provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"copilot.provider.js","sourceRoot":"","sources":["../../../src/core/providers/copilot.provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"copilot.provider.js","sourceRoot":"","sources":["../../../src/core/providers/copilot.provider.ts"],"names":[],"mappings":";;;AACA,yDAAoD;AAEpD,mEAA2D;AAE3D,MAAa,eAAgB,SAAQ,iCAAc;IAGjD,YAAY,UAAiC,EAAE;QAC7C,KAAK,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;QAH3B,SAAI,GAAG,wCAAgB,CAAC,OAAO,CAAC;IAIzC,CAAC;IAES,aAAa;QACrB,OAAO,SAAS,CAAC;IACnB,CAAC;IAES,cAAc;QACtB,OAAO,EAAE,CAAC;IACZ,CAAC;IAES,cAAc;QACtB,OAAO,EAAE,CAAC;IACZ,CAAC;IAES,eAAe;QAEvB,OAAO,KAAK,CAAC;IACf,CAAC;IAES,sBAAsB;QAC9B,OAAO,wIAAwI,CAAC;IAClJ,CAAC;IAMM,kBAAkB,CACvB,MAAc,EACd,MAAc;QAGd,MAAM,cAAc,GAAG,MAAM,IAAI,MAAM,CAAC;QAExC,IAAI,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1E,OAAO;gBACL,KAAK,EAAE,IAAI;gBACX,OAAO,EACL,iHAAiH;aACpH,CAAC;QACJ,CAAC;QACD,IAAI,cAAc,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC9C,OAAO;gBACL,KAAK,EAAE,IAAI;gBACX,OAAO,EACL,8FAA8F;aACjG,CAAC;QACJ,CAAC;QACD,IACE,cAAc,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC7C,cAAc,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAC9C,CAAC;YACD,OAAO;gBACL,KAAK,EAAE,IAAI;gBACX,OAAO,EACL,gGAAgG;aACnG,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YAC/C,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC;YAChE,OAAO;gBACL,KAAK,EAAE,IAAI;gBACX,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,oBAAoB;aAC/D,CAAC;QACJ,CAAC;QAID,IACE,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;YACnD,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,EAC5C,CAAC;YACD,OAAO;gBACL,KAAK,EAAE,IAAI;gBACX,OAAO,EAAE,gFAAgF;aAC1F,CAAC;QACJ,CAAC;QAGD,IAAI,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;YACtB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAC1C,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACvC,CAAC;CAGF;AA7FD,0CA6FC"}
@@ -0,0 +1,64 @@
1
+ import { BaseAIProvider } from './base-ai.provider';
2
+ import type { LoggerLike } from './base-ai.types';
3
+ export interface PluginProviderConfig {
4
+ id: string;
5
+ type: 'plugin';
6
+ cli_command: string;
7
+ display_name?: string;
8
+ description?: string;
9
+ default_model?: string;
10
+ query_args: string[];
11
+ execute_args: string[];
12
+ prompt_in_args: boolean;
13
+ timeout?: {
14
+ query: number;
15
+ execute: number;
16
+ };
17
+ error_patterns?: Array<{
18
+ pattern: string;
19
+ type: string;
20
+ message: string;
21
+ }>;
22
+ not_installed_message?: string;
23
+ env?: Record<string, string>;
24
+ }
25
+ export interface RemoteProviderConfig {
26
+ id: string;
27
+ type: 'remote';
28
+ location: string;
29
+ external_agent_id: string;
30
+ display_name?: string;
31
+ description?: string;
32
+ default_model?: string;
33
+ auth?: {
34
+ type: 'bearer' | 'api_key' | 'none';
35
+ token?: string;
36
+ };
37
+ timeout?: {
38
+ query: number;
39
+ execute: number;
40
+ };
41
+ headers?: Record<string, string>;
42
+ }
43
+ export type DynamicProviderConfig = PluginProviderConfig | RemoteProviderConfig;
44
+ export interface DynamicProviderFactoryOptions {
45
+ logger?: LoggerLike;
46
+ }
47
+ export declare class BaseDynamicProviderFactory {
48
+ protected readonly logger: LoggerLike;
49
+ protected readonly timeoutConfig: import("../../config/timeout.config").TimeoutConfig;
50
+ constructor(options?: DynamicProviderFactoryOptions);
51
+ createProvider(config: DynamicProviderConfig): BaseAIProvider;
52
+ validateConfig(config: unknown): config is DynamicProviderConfig;
53
+ protected createPluginProvider(config: PluginProviderConfig): BaseAIProvider;
54
+ protected createRemoteProvider(config: RemoteProviderConfig): BaseAIProvider;
55
+ protected validateCliCommand(cliCommand: string): void;
56
+ protected validateCliArgs(args: string[]): void;
57
+ protected validateErrorPatterns(patterns?: Array<{
58
+ pattern: string;
59
+ type: string;
60
+ message: string;
61
+ }>): void;
62
+ protected validateEnv(env?: Record<string, string>): void;
63
+ protected validateRemoteConfig(config: RemoteProviderConfig): void;
64
+ }