@sowonai/crewx-sdk 0.1.0-dev.3 → 0.1.0-dev.30
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.
- package/README.md +28 -0
- package/dist/config/yaml-loader.js +6 -2
- package/dist/config/yaml-loader.js.map +1 -1
- package/dist/conversation/conversation-history.interface.d.ts +6 -4
- package/dist/core/agent/agent-factory.d.ts +7 -7
- package/dist/core/agent/agent-factory.js +23 -0
- package/dist/core/agent/agent-factory.js.map +1 -1
- package/dist/core/agent/agent-runtime.d.ts +18 -2
- package/dist/core/agent/agent-runtime.js +128 -24
- package/dist/core/agent/agent-runtime.js.map +1 -1
- package/dist/core/agent/index.d.ts +1 -1
- package/dist/core/agent/index.js +2 -1
- package/dist/core/agent/index.js.map +1 -1
- package/dist/core/providers/ai-provider.interface.d.ts +1 -0
- package/dist/core/providers/ai-provider.interface.js.map +1 -1
- package/dist/core/providers/base-ai.provider.d.ts +7 -0
- package/dist/core/providers/base-ai.provider.js +8 -4
- package/dist/core/providers/base-ai.provider.js.map +1 -1
- package/dist/core/providers/dynamic-provider.factory.d.ts +64 -0
- package/dist/core/providers/dynamic-provider.factory.js +533 -0
- package/dist/core/providers/dynamic-provider.factory.js.map +1 -0
- package/dist/core/providers/index.d.ts +3 -0
- package/dist/core/providers/index.js +7 -1
- package/dist/core/providers/index.js.map +1 -1
- package/dist/core/providers/mock.provider.d.ts +13 -0
- package/dist/core/providers/mock.provider.js +55 -0
- package/dist/core/providers/mock.provider.js.map +1 -0
- package/dist/core/providers/provider-factory.d.ts +3 -0
- package/dist/core/providers/provider-factory.js +27 -0
- package/dist/core/providers/provider-factory.js.map +1 -0
- package/dist/index.d.ts +17 -4
- package/dist/index.js +31 -1
- package/dist/index.js.map +1 -1
- package/dist/schema/skills-parser.d.ts +8 -0
- package/dist/schema/skills-parser.js +421 -0
- package/dist/schema/skills-parser.js.map +1 -0
- package/dist/schema/skills.types.d.ts +144 -0
- package/dist/schema/skills.types.js +41 -0
- package/dist/schema/skills.types.js.map +1 -0
- package/dist/services/index.d.ts +2 -0
- package/dist/services/index.js +19 -0
- package/dist/services/index.js.map +1 -0
- package/dist/services/layout-loader.service.d.ts +18 -0
- package/dist/services/layout-loader.service.js +266 -0
- package/dist/services/layout-loader.service.js.map +1 -0
- package/dist/services/layout-renderer.service.d.ts +25 -0
- package/dist/services/layout-renderer.service.js +226 -0
- package/dist/services/layout-renderer.service.js.map +1 -0
- package/dist/services/props-validator.service.d.ts +29 -0
- package/dist/services/props-validator.service.js +332 -0
- package/dist/services/props-validator.service.js.map +1 -0
- package/dist/skills/adapter/claude-skill-adapter.d.ts +11 -0
- package/dist/skills/adapter/claude-skill-adapter.js +222 -0
- package/dist/skills/adapter/claude-skill-adapter.js.map +1 -0
- package/dist/skills/index.d.ts +6 -0
- package/dist/skills/index.js +31 -0
- package/dist/skills/index.js.map +1 -0
- package/dist/skills/runtime/progressive-loader.d.ts +27 -0
- package/dist/skills/runtime/progressive-loader.js +186 -0
- package/dist/skills/runtime/progressive-loader.js.map +1 -0
- package/dist/skills/runtime/runtime-requirements-validator.d.ts +23 -0
- package/dist/skills/runtime/runtime-requirements-validator.js +248 -0
- package/dist/skills/runtime/runtime-requirements-validator.js.map +1 -0
- package/dist/skills/runtime/skill-runtime.service.d.ts +42 -0
- package/dist/skills/runtime/skill-runtime.service.js +434 -0
- package/dist/skills/runtime/skill-runtime.service.js.map +1 -0
- package/dist/types/agent.types.d.ts +10 -2
- package/dist/types/agent.types.js.map +1 -1
- package/dist/types/index.d.ts +3 -0
- package/dist/types/index.js +3 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/layout.types.d.ts +113 -0
- package/dist/types/layout.types.js +22 -0
- package/dist/types/layout.types.js.map +1 -0
- package/dist/types/provider.types.d.ts +12 -0
- package/dist/types/provider.types.js +3 -0
- package/dist/types/provider.types.js.map +1 -0
- package/dist/types/skill-runtime.types.d.ts +244 -0
- package/dist/types/skill-runtime.types.js +44 -0
- package/dist/types/skill-runtime.types.js.map +1 -0
- package/dist/types/template.types.d.ts +38 -0
- package/dist/types/template.types.js +3 -0
- package/dist/types/template.types.js.map +1 -0
- package/package.json +14 -13
|
@@ -0,0 +1,248 @@
|
|
|
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.MockRuntimeValidator = exports.SystemRuntimeValidator = void 0;
|
|
7
|
+
const child_process_1 = require("child_process");
|
|
8
|
+
const util_1 = require("util");
|
|
9
|
+
const os_1 = __importDefault(require("os"));
|
|
10
|
+
const execAsync = (0, util_1.promisify)(child_process_1.exec);
|
|
11
|
+
class SystemRuntimeValidator {
|
|
12
|
+
async validatePython(requirement) {
|
|
13
|
+
try {
|
|
14
|
+
const result = await execAsync('python3 --version 2>&1 || python --version 2>&1');
|
|
15
|
+
const versionOutput = (result.stdout.trim() || result.stderr.trim());
|
|
16
|
+
const versionMatch = versionOutput.match(/Python (\d+\.\d+\.\d+)/);
|
|
17
|
+
if (!versionMatch?.[1]) {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
const currentVersion = versionMatch[1];
|
|
21
|
+
return this.compareVersions(currentVersion, requirement);
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
console.warn('Python not found or version check failed:', error);
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
async validateNode(requirement) {
|
|
29
|
+
try {
|
|
30
|
+
const result = await execAsync('node --version');
|
|
31
|
+
const versionOutput = result.stdout.trim();
|
|
32
|
+
const versionMatch = versionOutput.match(/v(\d+\.\d+\.\d+)/);
|
|
33
|
+
if (!versionMatch?.[1]) {
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
const currentVersion = versionMatch[1];
|
|
37
|
+
return this.compareVersions(currentVersion, requirement);
|
|
38
|
+
}
|
|
39
|
+
catch (error) {
|
|
40
|
+
console.warn('Node.js not found or version check failed:', error);
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
async validateDocker() {
|
|
45
|
+
try {
|
|
46
|
+
const result = await execAsync('docker --version');
|
|
47
|
+
return result.stdout.trim().length > 0;
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
console.warn('Docker not found or not accessible:', error);
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
async validateMemory(requirement) {
|
|
55
|
+
try {
|
|
56
|
+
const requiredMemory = this.parseMemoryRequirement(requirement);
|
|
57
|
+
const availableMemory = os_1.default.totalmem();
|
|
58
|
+
return availableMemory >= requiredMemory;
|
|
59
|
+
}
|
|
60
|
+
catch (error) {
|
|
61
|
+
console.warn('Memory validation failed:', error);
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
async getCurrentRuntime() {
|
|
66
|
+
const runtime = {
|
|
67
|
+
memory: {
|
|
68
|
+
total: os_1.default.totalmem(),
|
|
69
|
+
available: os_1.default.freemem()
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
try {
|
|
73
|
+
const result = await execAsync('python3 --version 2>&1 || python --version 2>&1');
|
|
74
|
+
const versionOutput = (result.stdout.trim() || result.stderr.trim());
|
|
75
|
+
const versionMatch = versionOutput.match(/Python (\d+\.\d+\.\d+)/);
|
|
76
|
+
if (versionMatch) {
|
|
77
|
+
runtime.python = {
|
|
78
|
+
version: versionMatch[1] || 'unknown',
|
|
79
|
+
available: true
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
runtime.python = {
|
|
84
|
+
version: 'unknown',
|
|
85
|
+
available: false
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
catch {
|
|
90
|
+
runtime.python = {
|
|
91
|
+
version: 'unknown',
|
|
92
|
+
available: false
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
try {
|
|
96
|
+
const result = await execAsync('node --version');
|
|
97
|
+
const versionOutput = result.stdout.trim();
|
|
98
|
+
const versionMatch = versionOutput.match(/v(\d+\.\d+\.\d+)/);
|
|
99
|
+
if (versionMatch) {
|
|
100
|
+
runtime.node = {
|
|
101
|
+
version: versionMatch[1] || 'unknown',
|
|
102
|
+
available: true
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
runtime.node = {
|
|
107
|
+
version: 'unknown',
|
|
108
|
+
available: false
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
catch {
|
|
113
|
+
runtime.node = {
|
|
114
|
+
version: 'unknown',
|
|
115
|
+
available: false
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
try {
|
|
119
|
+
const result = await execAsync('docker --version');
|
|
120
|
+
const versionOutput = result.stdout.trim();
|
|
121
|
+
const versionMatch = versionOutput.match(/Docker version (\d+\.\d+\.\d+)/);
|
|
122
|
+
if (versionMatch) {
|
|
123
|
+
runtime.docker = {
|
|
124
|
+
version: versionMatch[1] || 'unknown',
|
|
125
|
+
available: true
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
runtime.docker = {
|
|
130
|
+
version: 'unknown',
|
|
131
|
+
available: false
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
catch {
|
|
136
|
+
runtime.docker = {
|
|
137
|
+
version: 'unknown',
|
|
138
|
+
available: false
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
return runtime;
|
|
142
|
+
}
|
|
143
|
+
compareVersions(current, requirement) {
|
|
144
|
+
const match = requirement.match(/^([><=!]+)\s*(\d+\.\d+\.\d+)$/);
|
|
145
|
+
if (!match) {
|
|
146
|
+
return current === requirement;
|
|
147
|
+
}
|
|
148
|
+
const operator = match[1];
|
|
149
|
+
const requiredVersion = match[2] || '';
|
|
150
|
+
const currentParts = current.split('.').map(Number);
|
|
151
|
+
const requiredParts = requiredVersion.split('.').map(Number);
|
|
152
|
+
const comparison = this.compareVersionArrays(currentParts, requiredParts);
|
|
153
|
+
switch (operator) {
|
|
154
|
+
case '>=':
|
|
155
|
+
return comparison >= 0;
|
|
156
|
+
case '>':
|
|
157
|
+
return comparison > 0;
|
|
158
|
+
case '<=':
|
|
159
|
+
return comparison <= 0;
|
|
160
|
+
case '<':
|
|
161
|
+
return comparison < 0;
|
|
162
|
+
case '==':
|
|
163
|
+
case '=':
|
|
164
|
+
return comparison === 0;
|
|
165
|
+
default:
|
|
166
|
+
throw new Error(`Unsupported version operator: ${operator}`);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
compareVersionArrays(a, b) {
|
|
170
|
+
const maxLength = Math.max(a.length, b.length);
|
|
171
|
+
for (let i = 0; i < maxLength; i++) {
|
|
172
|
+
const aPart = a[i] || 0;
|
|
173
|
+
const bPart = b[i] || 0;
|
|
174
|
+
if (aPart > bPart)
|
|
175
|
+
return 1;
|
|
176
|
+
if (aPart < bPart)
|
|
177
|
+
return -1;
|
|
178
|
+
}
|
|
179
|
+
return 0;
|
|
180
|
+
}
|
|
181
|
+
parseMemoryRequirement(requirement) {
|
|
182
|
+
const match = requirement.match(/^(\d+(?:\.\d+)?)\s*(GB|MB|KB|B)$/i);
|
|
183
|
+
if (!match) {
|
|
184
|
+
throw new Error(`Invalid memory requirement format: ${requirement}`);
|
|
185
|
+
}
|
|
186
|
+
const value = parseFloat(match[1] || '0');
|
|
187
|
+
const unit = (match[2] || '').toUpperCase();
|
|
188
|
+
const multipliers = {
|
|
189
|
+
'B': 1,
|
|
190
|
+
'KB': 1024,
|
|
191
|
+
'MB': 1024 * 1024,
|
|
192
|
+
'GB': 1024 * 1024 * 1024
|
|
193
|
+
};
|
|
194
|
+
return Math.floor(value * multipliers[unit]);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
exports.SystemRuntimeValidator = SystemRuntimeValidator;
|
|
198
|
+
class MockRuntimeValidator {
|
|
199
|
+
constructor(mockResults) {
|
|
200
|
+
this.mockResults = new Map();
|
|
201
|
+
if (mockResults) {
|
|
202
|
+
Object.entries(mockResults).forEach(([key, value]) => {
|
|
203
|
+
this.mockResults.set(key, value);
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
this.mockRuntime = {
|
|
207
|
+
python: {
|
|
208
|
+
version: '3.11.0',
|
|
209
|
+
available: this.mockResults.get('python') ?? true
|
|
210
|
+
},
|
|
211
|
+
node: {
|
|
212
|
+
version: '18.17.0',
|
|
213
|
+
available: this.mockResults.get('node') ?? true
|
|
214
|
+
},
|
|
215
|
+
docker: {
|
|
216
|
+
version: '24.0.0',
|
|
217
|
+
available: this.mockResults.get('docker') ?? true
|
|
218
|
+
},
|
|
219
|
+
memory: {
|
|
220
|
+
total: 16 * 1024 * 1024 * 1024,
|
|
221
|
+
available: 8 * 1024 * 1024 * 1024
|
|
222
|
+
}
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
async validatePython(requirement) {
|
|
226
|
+
return this.mockResults.get('python') ?? true;
|
|
227
|
+
}
|
|
228
|
+
async validateNode(requirement) {
|
|
229
|
+
return this.mockResults.get('node') ?? true;
|
|
230
|
+
}
|
|
231
|
+
async validateDocker() {
|
|
232
|
+
return this.mockResults.get('docker') ?? true;
|
|
233
|
+
}
|
|
234
|
+
async validateMemory(requirement) {
|
|
235
|
+
return this.mockResults.get('memory') ?? true;
|
|
236
|
+
}
|
|
237
|
+
async getCurrentRuntime() {
|
|
238
|
+
return { ...this.mockRuntime };
|
|
239
|
+
}
|
|
240
|
+
setMockResult(component, result) {
|
|
241
|
+
this.mockResults.set(component, result);
|
|
242
|
+
}
|
|
243
|
+
setMockRuntime(runtime) {
|
|
244
|
+
this.mockRuntime = { ...this.mockRuntime, ...runtime };
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
exports.MockRuntimeValidator = MockRuntimeValidator;
|
|
248
|
+
//# sourceMappingURL=runtime-requirements-validator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-requirements-validator.js","sourceRoot":"","sources":["../../../src/skills/runtime/runtime-requirements-validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { EventEmitter } from 'events';
|
|
2
|
+
import { ISkillRuntime, IProgressiveSkillLoader, IClaudeSkillAdapter, SkillExecutionContext, SkillExecutionResult, SkillLoadOptions, SkillResolutionResult, SkillCacheStats, SkillRuntimeInfo, RuntimeRequirementsValidator, ProgressiveDisclosureConfig } from '../../types/skill-runtime.types';
|
|
3
|
+
import { SkillMetadata, SkillDefinition, SkillValidationResult, AgentDefinition } from '../../schema/skills.types';
|
|
4
|
+
export declare class SkillRuntime extends EventEmitter implements ISkillRuntime {
|
|
5
|
+
private readonly progressiveLoader;
|
|
6
|
+
private readonly claudeAdapter;
|
|
7
|
+
private readonly runtimeValidator;
|
|
8
|
+
private readonly config;
|
|
9
|
+
private startTime;
|
|
10
|
+
private skillsCache;
|
|
11
|
+
private contentCache;
|
|
12
|
+
private activeExecutions;
|
|
13
|
+
private cacheStats;
|
|
14
|
+
constructor(progressiveLoader: IProgressiveSkillLoader, claudeAdapter: IClaudeSkillAdapter, runtimeValidator: RuntimeRequirementsValidator, config?: Partial<ProgressiveDisclosureConfig>);
|
|
15
|
+
loadSkills(options?: SkillLoadOptions): Promise<SkillMetadata[]>;
|
|
16
|
+
validateSkill(skillName: string): Promise<SkillValidationResult>;
|
|
17
|
+
prepareContext(skillName: string, agentConfig: AgentDefinition, options?: Partial<SkillExecutionContext>): Promise<SkillExecutionContext>;
|
|
18
|
+
executeSkill(context: SkillExecutionContext, input: string): Promise<SkillExecutionResult>;
|
|
19
|
+
cleanup(context: SkillExecutionContext): Promise<void>;
|
|
20
|
+
listAvailableSkills(): Promise<string[]>;
|
|
21
|
+
getSkillMetadata(skillName: string): Promise<SkillMetadata | null>;
|
|
22
|
+
getSkillDefinition(skillName: string): Promise<SkillDefinition | null>;
|
|
23
|
+
resolveDependencies(skillName: string): Promise<SkillResolutionResult>;
|
|
24
|
+
clearCache(): Promise<void>;
|
|
25
|
+
getCacheStats(): SkillCacheStats;
|
|
26
|
+
getRuntimeInfo(): SkillRuntimeInfo;
|
|
27
|
+
shutdown(): Promise<void>;
|
|
28
|
+
private initializeCacheStats;
|
|
29
|
+
private setupCacheCleanup;
|
|
30
|
+
private applyFilters;
|
|
31
|
+
private validateMetadataStructure;
|
|
32
|
+
private validateDependencies;
|
|
33
|
+
private validateRuntimeRequirements;
|
|
34
|
+
private buildExecutionPrompt;
|
|
35
|
+
private executeWithAIProvider;
|
|
36
|
+
private generateExecutionId;
|
|
37
|
+
private getMemoryUsage;
|
|
38
|
+
private getCacheHits;
|
|
39
|
+
private getCacheMisses;
|
|
40
|
+
private updateCacheStats;
|
|
41
|
+
private cleanupExpiredCache;
|
|
42
|
+
}
|