@sowonai/crewx-sdk 0.8.0-rc.14 → 0.8.0-rc.15

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.
@@ -40,6 +40,7 @@ export interface AIResponse {
40
40
  toolInput: any;
41
41
  toolResult: any;
42
42
  };
43
+ pid?: number;
43
44
  }
44
45
  export interface AIProvider {
45
46
  readonly name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"ai-provider.interface.js","sourceRoot":"","sources":["../../../src/core/providers/ai-provider.interface.ts"],"names":[],"mappings":";;;AAGa,QAAA,iBAAiB,GAAG;IAC/B,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;IAChB,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;CACR,CAAC;AAIE,QAAA,gBAAgB,GAAG;IAC9B,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,YAAY;IACpB,OAAO,EAAE,aAAa;IACtB,KAAK,EAAE,WAAW;CACV,CAAC;AAuCX,MAAa,yBAA0B,SAAQ,KAAK;IAClD,YAAY,YAAoB;QAC9B,KAAK,CAAC,gBAAgB,YAAY,qCAAqC,CAAC,CAAC;QACzE,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF;AALD,8DAKC"}
1
+ {"version":3,"file":"ai-provider.interface.js","sourceRoot":"","sources":["../../../src/core/providers/ai-provider.interface.ts"],"names":[],"mappings":";;;AAGa,QAAA,iBAAiB,GAAG;IAC/B,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;IAChB,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;CACR,CAAC;AAIE,QAAA,gBAAgB,GAAG;IAC9B,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,YAAY;IACpB,OAAO,EAAE,aAAa;IACtB,KAAK,EAAE,WAAW;CACV,CAAC;AAyCX,MAAa,yBAA0B,SAAQ,KAAK;IAClD,YAAY,YAAoB;QAC9B,KAAK,CAAC,gBAAgB,YAAY,qCAAqC,CAAC,CAAC;QACzE,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF;AALD,8DAKC"}
@@ -327,6 +327,7 @@ Started: ${timestamp}
327
327
  env,
328
328
  shell: useShell,
329
329
  });
330
+ const childPid = child.pid;
330
331
  let stdout = '';
331
332
  let stderr = '';
332
333
  let exitCode = null;
@@ -355,6 +356,7 @@ Started: ${timestamp}
355
356
  command,
356
357
  success: true,
357
358
  taskId,
359
+ pid: childPid,
358
360
  });
359
361
  return;
360
362
  }
@@ -369,6 +371,7 @@ Started: ${timestamp}
369
371
  success: false,
370
372
  error: `${this.name} CLI failed: ${errorMessage}`,
371
373
  taskId,
374
+ pid: childPid,
372
375
  });
373
376
  return;
374
377
  }
@@ -389,6 +392,7 @@ Started: ${timestamp}
389
392
  command,
390
393
  success: true,
391
394
  taskId,
395
+ pid: childPid,
392
396
  });
393
397
  });
394
398
  child.on('error', (error) => {
@@ -400,6 +404,7 @@ Started: ${timestamp}
400
404
  success: false,
401
405
  error: error.code === 'ENOENT' ? this.getNotInstalledMessage() : error.message,
402
406
  taskId,
407
+ pid: childPid,
403
408
  });
404
409
  });
405
410
  const pipedContext = this.buildPipedContext(prompt, options);
@@ -422,6 +427,7 @@ Started: ${timestamp}
422
427
  success: false,
423
428
  error: `${this.name} CLI timeout`,
424
429
  taskId,
430
+ pid: childPid,
425
431
  });
426
432
  }, options.timeout || this.getDefaultQueryTimeout());
427
433
  child.on('close', () => clearTimeout(timeout));
@@ -499,6 +505,7 @@ Started: ${timestamp}
499
505
  env,
500
506
  shell: useShell,
501
507
  });
508
+ const childPid = child.pid;
502
509
  let stdout = '';
503
510
  let stderr = '';
504
511
  let exitCode = null;
@@ -527,6 +534,7 @@ Started: ${timestamp}
527
534
  command,
528
535
  success: true,
529
536
  taskId,
537
+ pid: childPid,
530
538
  });
531
539
  return;
532
540
  }
@@ -541,6 +549,7 @@ Started: ${timestamp}
541
549
  success: false,
542
550
  error: `${this.name} CLI execute failed: ${errorMessage}`,
543
551
  taskId,
552
+ pid: childPid,
544
553
  });
545
554
  return;
546
555
  }
@@ -560,6 +569,7 @@ Started: ${timestamp}
560
569
  command,
561
570
  success: true,
562
571
  taskId,
572
+ pid: childPid,
563
573
  });
564
574
  });
565
575
  child.on('error', (error) => {
@@ -571,6 +581,7 @@ Started: ${timestamp}
571
581
  success: false,
572
582
  error: error.code === 'ENOENT' ? this.getNotInstalledMessage() : error.message,
573
583
  taskId,
584
+ pid: childPid,
574
585
  });
575
586
  });
576
587
  const pipedContext = this.buildPipedContext(prompt, options);
@@ -593,6 +604,7 @@ Started: ${timestamp}
593
604
  success: false,
594
605
  error: `${this.name} CLI execute timeout`,
595
606
  taskId,
607
+ pid: childPid,
596
608
  });
597
609
  }, options.timeout || this.getDefaultExecuteTimeout());
598
610
  child.on('close', () => clearTimeout(timeout));
@@ -1 +1 @@
1
- {"version":3,"file":"base-ai.provider.js","sourceRoot":"","sources":["../../../src/core/providers/base-ai.provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-ai.provider.js","sourceRoot":"","sources":["../../../src/core/providers/base-ai.provider.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sowonai/crewx-sdk",
3
- "version": "0.8.0-rc.14",
3
+ "version": "0.8.0-rc.15",
4
4
  "license": "Apache-2.0",
5
5
  "engines": {
6
6
  "node": ">=20.19.0"
@@ -1,42 +0,0 @@
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
- }
@@ -1,434 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.SkillRuntime = void 0;
7
- const events_1 = require("events");
8
- const path_1 = __importDefault(require("path"));
9
- const skill_runtime_types_1 = require("../types/skill-runtime.types");
10
- class SkillRuntime extends events_1.EventEmitter {
11
- constructor(progressiveLoader, claudeAdapter, runtimeValidator, config) {
12
- super();
13
- this.skillsCache = new Map();
14
- this.contentCache = new Map();
15
- this.activeExecutions = new Map();
16
- this.progressiveLoader = progressiveLoader;
17
- this.claudeAdapter = claudeAdapter;
18
- this.runtimeValidator = runtimeValidator;
19
- this.startTime = new Date();
20
- this.config = {
21
- enabled: true,
22
- metadataCacheTTL: 30 * 60 * 1000,
23
- contentCacheTTL: 60 * 60 * 1000,
24
- maxPreloadSkills: 10,
25
- preloadStrategy: 'recent',
26
- contentLoadThreshold: 50,
27
- ...config
28
- };
29
- this.cacheStats = this.initializeCacheStats();
30
- this.setupCacheCleanup();
31
- }
32
- async loadSkills(options) {
33
- const startTime = Date.now();
34
- try {
35
- const skillPaths = options?.searchPaths || [];
36
- const metadata = await this.progressiveLoader.loadMetadata(skillPaths);
37
- const filteredMetadata = this.applyFilters(metadata, options?.filters);
38
- for (const meta of filteredMetadata) {
39
- this.skillsCache.set(meta.name, meta);
40
- }
41
- for (const meta of filteredMetadata) {
42
- this.emit('skill:loaded', { skillName: meta.name, metadata: meta });
43
- }
44
- this.updateCacheStats();
45
- console.log(`Loaded ${filteredMetadata.length} skills in ${Date.now() - startTime}ms`);
46
- return filteredMetadata;
47
- }
48
- catch (error) {
49
- throw new skill_runtime_types_1.ProgressiveLoadingError(`Failed to load skills: ${error.message}`, undefined, error);
50
- }
51
- }
52
- async validateSkill(skillName) {
53
- try {
54
- const metadata = await this.getSkillMetadata(skillName);
55
- if (!metadata) {
56
- return {
57
- valid: false,
58
- errors: [{
59
- skillName,
60
- field: 'name',
61
- message: `Skill "${skillName}" not found`,
62
- actual: skillName
63
- }]
64
- };
65
- }
66
- const errors = this.validateMetadataStructure(metadata);
67
- if (metadata.dependencies) {
68
- const depErrors = await this.validateDependencies(metadata.dependencies);
69
- errors.push(...depErrors);
70
- }
71
- const result = {
72
- valid: errors.length === 0,
73
- errors
74
- };
75
- this.emit('skill:validated', { skillName, result });
76
- return result;
77
- }
78
- catch (error) {
79
- throw new skill_runtime_types_1.SkillValidationError(`Validation failed for skill "${skillName}"`, [{ skillName, field: 'validation', message: error.message }], skillName);
80
- }
81
- }
82
- async prepareContext(skillName, agentConfig, options) {
83
- const executionId = this.generateExecutionId();
84
- try {
85
- const metadata = await this.getSkillMetadata(skillName);
86
- if (!metadata) {
87
- throw new skill_runtime_types_1.SkillContextError(`Skill "${skillName}" not found`, skillName);
88
- }
89
- const definition = await this.getSkillDefinition(skillName);
90
- const validation = await this.validateSkill(skillName);
91
- if (!validation.valid) {
92
- throw new skill_runtime_types_1.SkillValidationError(`Skill "${skillName}" failed validation`, validation.errors, skillName);
93
- }
94
- await this.validateRuntimeRequirements(metadata);
95
- const context = {
96
- skillName,
97
- skillVersion: metadata.version,
98
- workingDirectory: options?.workingDirectory || process.cwd(),
99
- environment: options?.environment || process.env,
100
- timeout: options?.timeout || 30000,
101
- runtimeRequirements: metadata.runtime || {},
102
- configuration: {
103
- metadata,
104
- content: definition?.content,
105
- agentConfig
106
- },
107
- options: {
108
- validationMode: options?.options?.validationMode || 'lenient',
109
- progressiveLoading: options?.options?.progressiveLoading ?? true,
110
- cacheEnabled: options?.options?.cacheEnabled ?? true
111
- },
112
- executionId,
113
- startTime: new Date()
114
- };
115
- this.activeExecutions.set(executionId, context);
116
- return context;
117
- }
118
- catch (error) {
119
- throw new skill_runtime_types_1.SkillContextError(`Failed to prepare context for skill "${skillName}": ${error.message}`, skillName, error);
120
- }
121
- }
122
- async executeSkill(context, input) {
123
- const startTime = Date.now();
124
- try {
125
- if (!context.configuration.content) {
126
- const definition = await this.progressiveLoader.loadFullContent(context.skillName);
127
- context.configuration.content = definition.content;
128
- }
129
- const prompt = this.buildExecutionPrompt(context, input);
130
- const output = await this.executeWithAIProvider(context, prompt);
131
- const executionTime = Date.now() - startTime;
132
- const memoryUsage = this.getMemoryUsage();
133
- const result = {
134
- success: true,
135
- output,
136
- metadata: {
137
- executionId: context.executionId,
138
- executionTime,
139
- memoryUsage,
140
- dependenciesUsed: context.configuration.metadata.dependencies || [],
141
- cacheHits: this.getCacheHits(),
142
- cacheMisses: this.getCacheMisses()
143
- }
144
- };
145
- this.emit('skill:executed', { skillName: context.skillName, result });
146
- return result;
147
- }
148
- catch (error) {
149
- const result = {
150
- success: false,
151
- error: error,
152
- metadata: {
153
- executionId: context.executionId,
154
- executionTime: Date.now() - startTime,
155
- dependenciesUsed: context.configuration.metadata.dependencies || [],
156
- cacheHits: this.getCacheHits(),
157
- cacheMisses: this.getCacheMisses()
158
- }
159
- };
160
- this.emit('skill:error', {
161
- stage: 'execute',
162
- skillName: context.skillName,
163
- executionId: context.executionId,
164
- error: error,
165
- recoverable: true,
166
- suggestions: ['Check skill content format', 'Verify runtime requirements'],
167
- timestamp: new Date()
168
- });
169
- throw new skill_runtime_types_1.SkillExecutionError(`Skill execution failed: ${error.message}`, context.skillName, context.executionId, error);
170
- }
171
- }
172
- async cleanup(context) {
173
- try {
174
- this.activeExecutions.delete(context.executionId);
175
- this.updateCacheStats();
176
- if (!context.options.cacheEnabled) {
177
- this.contentCache.delete(context.skillName);
178
- }
179
- }
180
- catch (error) {
181
- console.warn(`Cleanup failed for execution ${context.executionId}:`, error);
182
- }
183
- }
184
- async listAvailableSkills() {
185
- return Array.from(this.skillsCache.keys());
186
- }
187
- async getSkillMetadata(skillName) {
188
- if (this.skillsCache.has(skillName)) {
189
- return this.skillsCache.get(skillName);
190
- }
191
- try {
192
- const metadata = await this.progressiveLoader.loadMetadata([path_1.default.dirname(skillName)]);
193
- const skill = metadata.find(m => m.name === skillName);
194
- if (skill) {
195
- this.skillsCache.set(skillName, skill);
196
- return skill;
197
- }
198
- return null;
199
- }
200
- catch (error) {
201
- console.warn(`Failed to load metadata for skill "${skillName}":`, error);
202
- return null;
203
- }
204
- }
205
- async getSkillDefinition(skillName) {
206
- if (this.contentCache.has(skillName)) {
207
- return this.contentCache.get(skillName);
208
- }
209
- try {
210
- const definition = await this.progressiveLoader.loadFullContent(skillName);
211
- this.contentCache.set(skillName, definition);
212
- return definition;
213
- }
214
- catch (error) {
215
- console.warn(`Failed to load definition for skill "${skillName}":`, error);
216
- return null;
217
- }
218
- }
219
- async resolveDependencies(skillName) {
220
- const visited = new Set();
221
- const resolve = async (name) => {
222
- if (visited.has(name)) {
223
- throw new skill_runtime_types_1.SkillRuntimeError(`Circular dependency detected: ${name}`, 'validate', name);
224
- }
225
- visited.add(name);
226
- const definition = await this.getSkillDefinition(name);
227
- if (!definition) {
228
- throw new skill_runtime_types_1.SkillRuntimeError(`Skill "${name}" not found during dependency resolution`, 'validate', name);
229
- }
230
- const dependencies = [];
231
- if (definition.metadata.dependencies) {
232
- for (const depName of definition.metadata.dependencies) {
233
- const dep = await resolve(depName);
234
- dependencies.push(dep);
235
- }
236
- }
237
- return {
238
- name,
239
- definition,
240
- dependencies,
241
- sourcePath: definition.filePath || '',
242
- metadata: {
243
- resolvedAt: new Date(),
244
- version: definition.metadata.version,
245
- dependenciesCount: dependencies.length
246
- }
247
- };
248
- };
249
- return resolve(skillName);
250
- }
251
- async clearCache() {
252
- this.skillsCache.clear();
253
- this.contentCache.clear();
254
- this.cacheStats = this.initializeCacheStats();
255
- this.emit('cache:cleared', {});
256
- }
257
- getCacheStats() {
258
- this.updateCacheStats();
259
- return { ...this.cacheStats };
260
- }
261
- getRuntimeInfo() {
262
- return {
263
- version: '1.0.0',
264
- startTime: this.startTime,
265
- skillsLoaded: this.skillsCache.size,
266
- uptime: Date.now() - this.startTime.getTime(),
267
- memoryUsage: process.memoryUsage()
268
- };
269
- }
270
- async shutdown() {
271
- try {
272
- for (const context of this.activeExecutions.values()) {
273
- await this.cleanup(context);
274
- }
275
- await this.clearCache();
276
- this.removeAllListeners();
277
- this.emit('runtime:shutdown', {});
278
- }
279
- catch (error) {
280
- console.error('Error during shutdown:', error);
281
- }
282
- }
283
- initializeCacheStats() {
284
- return {
285
- metadataCache: { count: 0, size: 0, hitRate: 0 },
286
- contentCache: { count: 0, size: 0, hitRate: 0 },
287
- total: { size: 0, hitRate: 0 }
288
- };
289
- }
290
- setupCacheCleanup() {
291
- setInterval(() => {
292
- this.cleanupExpiredCache();
293
- }, this.config.metadataCacheTTL);
294
- }
295
- applyFilters(metadata, filters) {
296
- if (!filters)
297
- return metadata;
298
- let filtered = metadata;
299
- if (filters.include?.length) {
300
- filtered = filtered.filter(meta => filters.include.includes(meta.name));
301
- }
302
- if (filters.exclude?.length) {
303
- filtered = filtered.filter(meta => !filters.exclude.includes(meta.name));
304
- }
305
- return filtered;
306
- }
307
- validateMetadataStructure(metadata) {
308
- const errors = [];
309
- if (!metadata.name || !metadata.name.trim()) {
310
- errors.push({
311
- skillName: metadata.name || 'unknown',
312
- field: 'name',
313
- message: 'Skill name is required',
314
- actual: metadata.name
315
- });
316
- }
317
- if (!metadata.description || !metadata.description.trim()) {
318
- errors.push({
319
- skillName: metadata.name,
320
- field: 'description',
321
- message: 'Skill description is required',
322
- actual: metadata.description
323
- });
324
- }
325
- if (!metadata.version || !/^\d+\.\d+\.\d+$/.test(metadata.version)) {
326
- errors.push({
327
- skillName: metadata.name,
328
- field: 'version',
329
- message: 'Semantic version is required (e.g., "1.0.0")',
330
- actual: metadata.version
331
- });
332
- }
333
- return errors;
334
- }
335
- async validateDependencies(dependencies) {
336
- const errors = [];
337
- for (const dep of dependencies) {
338
- try {
339
- const metadata = await this.getSkillMetadata(dep);
340
- if (!metadata) {
341
- errors.push({
342
- skillName: dep,
343
- field: 'dependency',
344
- message: `Dependency "${dep}" not found`,
345
- actual: dep
346
- });
347
- }
348
- }
349
- catch (error) {
350
- errors.push({
351
- skillName: dep,
352
- field: 'dependency',
353
- message: `Failed to validate dependency "${dep}": ${error.message}`,
354
- actual: dep
355
- });
356
- }
357
- }
358
- return errors;
359
- }
360
- async validateRuntimeRequirements(metadata) {
361
- if (!metadata.runtime)
362
- return;
363
- const requirements = metadata.runtime;
364
- if (requirements.python) {
365
- const isValid = await this.runtimeValidator.validatePython(requirements.python);
366
- if (!isValid) {
367
- throw new skill_runtime_types_1.SkillContextError(`Python requirement not met: ${requirements.python}`, metadata.name);
368
- }
369
- }
370
- if (requirements.node) {
371
- const isValid = await this.runtimeValidator.validateNode(requirements.node);
372
- if (!isValid) {
373
- throw new skill_runtime_types_1.SkillContextError(`Node.js requirement not met: ${requirements.node}`, metadata.name);
374
- }
375
- }
376
- if (requirements.docker) {
377
- const isValid = await this.runtimeValidator.validateDocker();
378
- if (!isValid) {
379
- throw new skill_runtime_types_1.SkillContextError('Docker requirement not met', metadata.name);
380
- }
381
- }
382
- if (requirements.memory) {
383
- const isValid = await this.runtimeValidator.validateMemory(requirements.memory);
384
- if (!isValid) {
385
- throw new skill_runtime_types_1.SkillContextError(`Memory requirement not met: ${requirements.memory}`, metadata.name);
386
- }
387
- }
388
- }
389
- buildExecutionPrompt(context, input) {
390
- const content = context.configuration.content;
391
- if (!content) {
392
- throw new skill_runtime_types_1.SkillContextError('Skill content not loaded', context.skillName);
393
- }
394
- let prompt = '';
395
- if (content.role) {
396
- prompt += `## Role\n${content.role}\n\n`;
397
- }
398
- if (content.task) {
399
- prompt += `## Task\n${content.task}\n\n`;
400
- }
401
- if (content.instructions) {
402
- prompt += `## Instructions\n${content.instructions}\n\n`;
403
- }
404
- prompt += `## User Input\n${input}`;
405
- return prompt;
406
- }
407
- async executeWithAIProvider(context, prompt) {
408
- return `[Skill: ${context.skillName}] Executed with prompt: ${prompt.substring(0, 100)}...`;
409
- }
410
- generateExecutionId() {
411
- return `exec_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
412
- }
413
- getMemoryUsage() {
414
- return process.memoryUsage().heapUsed;
415
- }
416
- getCacheHits() {
417
- return 0;
418
- }
419
- getCacheMisses() {
420
- return 0;
421
- }
422
- updateCacheStats() {
423
- this.cacheStats.metadataCache.count = this.skillsCache.size;
424
- this.cacheStats.contentCache.count = this.contentCache.size;
425
- this.cacheStats.metadataCache.size = this.skillsCache.size * 1024;
426
- this.cacheStats.contentCache.size = this.contentCache.size * 10240;
427
- this.cacheStats.total.size = this.cacheStats.metadataCache.size + this.cacheStats.contentCache.size;
428
- }
429
- cleanupExpiredCache() {
430
- this.updateCacheStats();
431
- }
432
- }
433
- exports.SkillRuntime = SkillRuntime;
434
- //# sourceMappingURL=skill-runtime.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"skill-runtime.js","sourceRoot":"","sources":["../../../src/skills/runtime/skill-runtime.ts"],"names":[],"mappings":"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"}