@vfarcic/dot-ai 1.2.4 → 1.4.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 (74) hide show
  1. package/dist/core/artifacthub.d.ts.map +1 -1
  2. package/dist/core/artifacthub.js +16 -10
  3. package/dist/core/base-vector-service.d.ts.map +1 -1
  4. package/dist/core/base-vector-service.js +19 -10
  5. package/dist/core/capabilities.d.ts.map +1 -1
  6. package/dist/core/capabilities.js +17 -11
  7. package/dist/core/capability-operations.d.ts.map +1 -1
  8. package/dist/core/capability-operations.js +118 -98
  9. package/dist/core/crd-availability.d.ts.map +1 -1
  10. package/dist/core/crd-availability.js +2 -2
  11. package/dist/core/deploy-operation.d.ts.map +1 -1
  12. package/dist/core/deploy-operation.js +9 -6
  13. package/dist/core/discovery.d.ts.map +1 -1
  14. package/dist/core/discovery.js +157 -56
  15. package/dist/core/embedding-service.d.ts +1 -1
  16. package/dist/core/embedding-service.d.ts.map +1 -1
  17. package/dist/core/embedding-service.js +76 -43
  18. package/dist/core/model-config.d.ts +3 -3
  19. package/dist/core/model-config.js +3 -3
  20. package/dist/core/packaging.d.ts.map +1 -1
  21. package/dist/core/packaging.js +11 -10
  22. package/dist/core/platform-utils.d.ts.map +1 -1
  23. package/dist/core/platform-utils.js +6 -2
  24. package/dist/core/plugin-manager.d.ts.map +1 -1
  25. package/dist/core/plugin-manager.js +26 -20
  26. package/dist/core/policy-operations.d.ts.map +1 -1
  27. package/dist/core/policy-operations.js +111 -65
  28. package/dist/core/providers/host-provider.d.ts.map +1 -1
  29. package/dist/core/providers/host-provider.js +12 -5
  30. package/dist/core/providers/vercel-provider.d.ts.map +1 -1
  31. package/dist/core/providers/vercel-provider.js +4 -2
  32. package/dist/core/schema.d.ts.map +1 -1
  33. package/dist/core/schema.js +173 -95
  34. package/dist/core/session-utils.d.ts.map +1 -1
  35. package/dist/core/session-utils.js +3 -3
  36. package/dist/core/user-prompts-loader.d.ts.map +1 -1
  37. package/dist/core/user-prompts-loader.js +2 -4
  38. package/dist/evaluation/datasets/loader.d.ts.map +1 -1
  39. package/dist/evaluation/datasets/loader.js +7 -3
  40. package/dist/interfaces/embedding-migration-handler.d.ts +16 -0
  41. package/dist/interfaces/embedding-migration-handler.d.ts.map +1 -0
  42. package/dist/interfaces/embedding-migration-handler.js +296 -0
  43. package/dist/interfaces/rest-api.d.ts +8 -0
  44. package/dist/interfaces/rest-api.d.ts.map +1 -1
  45. package/dist/interfaces/rest-api.js +294 -132
  46. package/dist/interfaces/rest-route-registry.js +3 -3
  47. package/dist/interfaces/routes/index.d.ts.map +1 -1
  48. package/dist/interfaces/routes/index.js +72 -12
  49. package/dist/interfaces/schemas/common.d.ts +2 -0
  50. package/dist/interfaces/schemas/common.d.ts.map +1 -1
  51. package/dist/interfaces/schemas/common.js +2 -0
  52. package/dist/interfaces/schemas/embeddings.d.ts +138 -0
  53. package/dist/interfaces/schemas/embeddings.d.ts.map +1 -0
  54. package/dist/interfaces/schemas/embeddings.js +79 -0
  55. package/dist/interfaces/schemas/index.d.ts +2 -1
  56. package/dist/interfaces/schemas/index.d.ts.map +1 -1
  57. package/dist/interfaces/schemas/index.js +14 -2
  58. package/dist/interfaces/schemas/prompts.d.ts +37 -0
  59. package/dist/interfaces/schemas/prompts.d.ts.map +1 -1
  60. package/dist/interfaces/schemas/prompts.js +18 -1
  61. package/dist/tools/answer-question.d.ts.map +1 -1
  62. package/dist/tools/answer-question.js +109 -81
  63. package/dist/tools/generate-manifests.d.ts.map +1 -1
  64. package/dist/tools/generate-manifests.js +163 -103
  65. package/dist/tools/operate-analysis.d.ts.map +1 -1
  66. package/dist/tools/operate-analysis.js +35 -18
  67. package/dist/tools/operate.d.ts.map +1 -1
  68. package/dist/tools/operate.js +47 -17
  69. package/dist/tools/prompts.d.ts.map +1 -1
  70. package/dist/tools/prompts.js +1 -1
  71. package/dist/tools/remediate.d.ts.map +1 -1
  72. package/dist/tools/remediate.js +205 -116
  73. package/package.json +6 -6
  74. package/prompts/remediate-system.md +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"artifacthub.d.ts","sourceRoot":"","sources":["../../src/core/artifacthub.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,UAAU,EAAE;QACV,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,OAAO,CAAC;QAClB,kBAAkB,EAAE,OAAO,CAAC;KAC7B,CAAC;IACF,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE;QACV,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,WAAW,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtD,KAAK,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC9C;AAED;;GAEG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,OAAO,CAAmC;IAClD,OAAO,CAAC,OAAO,CAAS;IAIxB,OAAO,CAAC,aAAa,CAAe;IAEpC;;;;;;OAMG;IACG,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAsCzF;;;;;;OAMG;IACG,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC;IA8B9F;;;;;OAKG;IACH,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM;CAW7D"}
1
+ {"version":3,"file":"artifacthub.d.ts","sourceRoot":"","sources":["../../src/core/artifacthub.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,UAAU,EAAE;QACV,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,OAAO,CAAC;QAClB,kBAAkB,EAAE,OAAO,CAAC;KAC7B,CAAC;IACF,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE;QACV,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,WAAW,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtD,KAAK,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC9C;AAED;;GAEG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,OAAO,CAAmC;IAClD,OAAO,CAAC,OAAO,CAAS;IAIxB,OAAO,CAAC,aAAa,CAAe;IAEpC;;;;;;OAMG;IACG,YAAY,CAChB,KAAK,EAAE,MAAM,EACb,KAAK,GAAE,MAAW,GACjB,OAAO,CAAC,uBAAuB,EAAE,CAAC;IA+CrC;;;;;;OAMG;IACG,eAAe,CACnB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,yBAAyB,CAAC;IAqCrC;;;;;OAKG;IACH,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM;CAe7D"}
@@ -33,7 +33,7 @@ class ArtifactHubService {
33
33
  const response = await fetch(url, {
34
34
  method: 'GET',
35
35
  headers: {
36
- 'Accept': 'application/json',
36
+ Accept: 'application/json',
37
37
  },
38
38
  signal: controller.signal,
39
39
  });
@@ -41,16 +41,18 @@ class ArtifactHubService {
41
41
  if (!response.ok) {
42
42
  throw new Error(`ArtifactHub API error: ${response.status} ${response.statusText}`);
43
43
  }
44
- const data = await response.json();
44
+ const data = (await response.json());
45
45
  // Filter out excluded repositories (e.g., Bitnami)
46
46
  const packages = data.packages || [];
47
47
  return packages.filter(pkg => !this.excludedRepos.includes(pkg.repository.name.toLowerCase()));
48
48
  }
49
49
  catch (error) {
50
50
  if (error instanceof Error && error.name === 'AbortError') {
51
- throw new Error(`ArtifactHub API timeout after ${this.timeout}ms`);
51
+ throw new Error(`ArtifactHub API timeout after ${this.timeout}ms`, {
52
+ cause: error,
53
+ });
52
54
  }
53
- throw new Error(`ArtifactHub search failed: ${error instanceof Error ? error.message : String(error)}`);
55
+ throw new Error(`ArtifactHub search failed: ${error instanceof Error ? error.message : String(error)}`, { cause: error });
54
56
  }
55
57
  }
56
58
  /**
@@ -68,7 +70,7 @@ class ArtifactHubService {
68
70
  const response = await fetch(url, {
69
71
  method: 'GET',
70
72
  headers: {
71
- 'Accept': 'application/json',
73
+ Accept: 'application/json',
72
74
  },
73
75
  signal: controller.signal,
74
76
  });
@@ -76,13 +78,15 @@ class ArtifactHubService {
76
78
  if (!response.ok) {
77
79
  throw new Error(`ArtifactHub API error: ${response.status} ${response.statusText}`);
78
80
  }
79
- return await response.json();
81
+ return (await response.json());
80
82
  }
81
83
  catch (error) {
82
84
  if (error instanceof Error && error.name === 'AbortError') {
83
- throw new Error(`ArtifactHub API timeout after ${this.timeout}ms`);
85
+ throw new Error(`ArtifactHub API timeout after ${this.timeout}ms`, {
86
+ cause: error,
87
+ });
84
88
  }
85
- throw new Error(`ArtifactHub chart details failed: ${error instanceof Error ? error.message : String(error)}`);
89
+ throw new Error(`ArtifactHub chart details failed: ${error instanceof Error ? error.message : String(error)}`, { cause: error });
86
90
  }
87
91
  }
88
92
  /**
@@ -92,7 +96,8 @@ class ArtifactHubService {
92
96
  * @returns Formatted string for AI prompt
93
97
  */
94
98
  formatChartsForAI(charts) {
95
- return charts.map((chart, index) => `
99
+ return charts
100
+ .map((chart, index) => `
96
101
  Chart ${index + 1}: ${chart.name}
97
102
  Repository: ${chart.repository.name} (${chart.repository.url})
98
103
  Version: ${chart.version}${chart.app_version ? ` (App: ${chart.app_version})` : ''}
@@ -100,7 +105,8 @@ Chart ${index + 1}: ${chart.name}
100
105
  Official: ${chart.official || chart.repository.official ? 'Yes' : 'No'}
101
106
  Verified Publisher: ${chart.verified_publisher || chart.repository.verified_publisher ? 'Yes' : 'No'}
102
107
  Stars: ${chart.stars}
103
- `).join('\n');
108
+ `)
109
+ .join('\n');
104
110
  }
105
111
  }
106
112
  exports.ArtifactHubService = ArtifactHubService;
@@ -1 +1 @@
1
- {"version":3,"file":"base-vector-service.d.ts","sourceRoot":"","sources":["../../src/core/base-vector-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-vector-service.d.ts","sourceRoot":"","sources":["../../src/core/base-vector-service.ts"],"names":[],"mappings":"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"}
@@ -30,7 +30,9 @@ class BaseVectorService {
30
30
  const response = await (0, plugin_registry_1.invokePluginTool)(PLUGIN_NAME, tool, args);
31
31
  if (!response.success) {
32
32
  const error = response.error;
33
- const message = typeof error === 'object' && error?.message ? error.message : String(error || `Plugin tool ${tool} failed`);
33
+ const message = typeof error === 'object' && error?.message
34
+ ? error.message
35
+ : String(error || `Plugin tool ${tool} failed`);
34
36
  throw new Error(message);
35
37
  }
36
38
  // Plugin tools return ToolResult: { success, data, message, error? }
@@ -51,7 +53,9 @@ class BaseVectorService {
51
53
  */
52
54
  async initialize() {
53
55
  // Use embedding dimensions if available, otherwise default to 1536 (OpenAI default)
54
- const dimensions = this.embeddingService.isAvailable() ? this.embeddingService.getDimensions() : 1536;
56
+ const dimensions = this.embeddingService.isAvailable()
57
+ ? this.embeddingService.getDimensions()
58
+ : 1536;
55
59
  await this.invokePlugin('collection_initialize', {
56
60
  collection: this.collectionName,
57
61
  vectorSize: dimensions,
@@ -103,7 +107,7 @@ class BaseVectorService {
103
107
  }
104
108
  catch (error) {
105
109
  // Fail immediately with clear error about embedding generation
106
- throw new Error(`Embedding generation failed: ${error instanceof Error ? error.message : String(error)}`);
110
+ throw new Error(`Embedding generation failed: ${error instanceof Error ? error.message : String(error)}`, { cause: error });
107
111
  }
108
112
  }
109
113
  else {
@@ -138,11 +142,15 @@ class BaseVectorService {
138
142
  const scoreThreshold = options.scoreThreshold || 0.01;
139
143
  // Perform hybrid search (semantic + keyword)
140
144
  try {
141
- return await this.hybridSearch(query, queryKeywords, { limit, scoreThreshold, filter: options.filter });
145
+ return await this.hybridSearch(query, queryKeywords, {
146
+ limit,
147
+ scoreThreshold,
148
+ filter: options.filter,
149
+ });
142
150
  }
143
151
  catch (error) {
144
152
  // Fail immediately - no fallback to keyword-only search
145
- throw new Error(`Semantic search failed: ${error instanceof Error ? error.message : String(error)}`);
153
+ throw new Error(`Semantic search failed: ${error instanceof Error ? error.message : String(error)}`, { cause: error });
146
154
  }
147
155
  }
148
156
  /**
@@ -189,7 +197,7 @@ class BaseVectorService {
189
197
  filter,
190
198
  limit,
191
199
  });
192
- return documents.map((doc) => {
200
+ return documents.map(doc => {
193
201
  const data = this.payloadToData(doc.payload);
194
202
  data.id = doc.id;
195
203
  return data;
@@ -203,7 +211,7 @@ class BaseVectorService {
203
211
  collection: this.collectionName,
204
212
  limit: limit ?? 10000,
205
213
  });
206
- return documents.map((doc) => {
214
+ return documents.map(doc => {
207
215
  const data = this.payloadToData(doc.payload);
208
216
  data.id = doc.id;
209
217
  return data;
@@ -233,7 +241,8 @@ class BaseVectorService {
233
241
  return {
234
242
  semantic: status.available,
235
243
  provider: status.provider || undefined,
236
- reason: status.reason || (status.available ? 'Embedding service available' : undefined),
244
+ reason: status.reason ||
245
+ (status.available ? 'Embedding service available' : undefined),
237
246
  };
238
247
  }
239
248
  // Virtual methods that can be overridden by subclasses
@@ -241,7 +250,7 @@ class BaseVectorService {
241
250
  return query
242
251
  .toLowerCase()
243
252
  .split(/\s+/)
244
- .filter((word) => word.length > 2);
253
+ .filter(word => word.length > 2);
245
254
  }
246
255
  /**
247
256
  * Hybrid search combining semantic and keyword matching
@@ -307,7 +316,7 @@ class BaseVectorService {
307
316
  }
308
317
  // Sort by score and apply limits
309
318
  return Array.from(combinedResults.values())
310
- .filter((result) => result.score >= options.scoreThreshold)
319
+ .filter(result => result.score >= options.scoreThreshold)
311
320
  .sort((a, b) => b.score - a.score)
312
321
  .slice(0, options.limit);
313
322
  }
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../src/core/capabilities.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAKrD;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAEjC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IAGf,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAGtC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAGhB,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;IAGjC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IAGrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,qBAAa,yBAAyB;IACpC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,UAAU,CAAa;gBAEnB,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM;IAKlD;;;;;;;;;;OAUG;IACG,iBAAiB,CACrB,YAAY,EAAE,MAAM,EACpB,kBAAkB,CAAC,EAAE,MAAM,EAC3B,cAAc,CAAC,EAAE,MAAM,EACvB,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,CAAC;IAgC9B;;;;OAIG;YACW,WAAW;IA8BzB;;;;OAIG;YACW,oBAAoB;IAalC;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAgE/B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA+B/B;;;OAGG;IACH,MAAM,CAAC,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;CAO1D"}
1
+ {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../src/core/capabilities.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAIrD;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAEjC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IAGf,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAGtC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAGhB,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;IAGjC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IAGrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,qBAAa,yBAAyB;IACpC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,UAAU,CAAa;gBAEnB,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM;IAKlD;;;;;;;;;;OAUG;IACG,iBAAiB,CACrB,YAAY,EAAE,MAAM,EACpB,kBAAkB,CAAC,EAAE,MAAM,EAC3B,cAAc,CAAC,EAAE,MAAM,EACvB,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,CAAC;IA2C9B;;;;OAIG;YACW,WAAW;IAqCzB;;;;OAIG;YACW,oBAAoB;IAclC;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IA0F/B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA+B/B;;;OAGG;IACH,MAAM,CAAC,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;CAU1D"}
@@ -46,7 +46,7 @@ class CapabilityInferenceEngine {
46
46
  hasDefinition: !!resourceDefinition,
47
47
  apiVersion,
48
48
  version,
49
- group
49
+ group,
50
50
  });
51
51
  // Use AI to analyze all available information
52
52
  const aiResult = await this.inferWithAI(resourceName, resourceDefinition, requestId, interaction_id);
@@ -60,7 +60,7 @@ class CapabilityInferenceEngine {
60
60
  complexity: finalCapability.complexity,
61
61
  confidence: finalCapability.confidence,
62
62
  apiVersion,
63
- version
63
+ version,
64
64
  });
65
65
  return finalCapability;
66
66
  }
@@ -74,14 +74,14 @@ class CapabilityInferenceEngine {
74
74
  const prompt = await this.buildInferencePrompt(resourceName, resourceDefinition);
75
75
  const response = await this.aiProvider.sendMessage(prompt, 'capability-inference', {
76
76
  user_intent: `Analyze capabilities of Kubernetes resource: ${resourceName}`,
77
- interaction_id: interaction_id || 'inference'
77
+ interaction_id: interaction_id || 'inference',
78
78
  });
79
79
  return this.parseCapabilitiesFromAI(response.content);
80
80
  }
81
81
  catch (error) {
82
82
  this.logger.error('AI capability inference failed', error, {
83
83
  requestId,
84
- resource: resourceName
84
+ resource: resourceName,
85
85
  });
86
86
  throw error; // Re-throw to maintain fail-fast behavior
87
87
  }
@@ -95,7 +95,7 @@ class CapabilityInferenceEngine {
95
95
  // Load prompt template using shared prompt loader
96
96
  const finalPrompt = (0, shared_prompt_loader_1.loadPrompt)('capability-inference', {
97
97
  resourceName,
98
- resourceDefinition: resourceDefinition || 'No resource definition provided'
98
+ resourceDefinition: resourceDefinition || 'No resource definition provided',
99
99
  });
100
100
  return finalPrompt;
101
101
  }
@@ -115,7 +115,7 @@ class CapabilityInferenceEngine {
115
115
  parsed = JSON.parse(jsonMatch[0]);
116
116
  }
117
117
  catch (parseError) {
118
- throw new Error(`Invalid JSON in AI response: ${parseError instanceof Error ? parseError.message : String(parseError)}. JSON: ${jsonMatch[0].substring(0, 200)}...`);
118
+ throw new Error(`Invalid JSON in AI response: ${parseError instanceof Error ? parseError.message : String(parseError)}. JSON: ${jsonMatch[0].substring(0, 200)}...`, { cause: parseError });
119
119
  }
120
120
  // Validate required fields with detailed error messages
121
121
  if (!Array.isArray(parsed.capabilities)) {
@@ -130,13 +130,16 @@ class CapabilityInferenceEngine {
130
130
  if (!['low', 'medium', 'high'].includes(parsed.complexity)) {
131
131
  throw new Error(`AI response invalid complexity: ${parsed.complexity}. Must be low, medium, or high`);
132
132
  }
133
- if (typeof parsed.description !== 'string' || parsed.description.trim() === '') {
133
+ if (typeof parsed.description !== 'string' ||
134
+ parsed.description.trim() === '') {
134
135
  throw new Error(`AI response missing or invalid description. Got: ${typeof parsed.description}`);
135
136
  }
136
137
  if (typeof parsed.useCase !== 'string' || parsed.useCase.trim() === '') {
137
138
  throw new Error(`AI response missing or invalid useCase. Got: ${typeof parsed.useCase}`);
138
139
  }
139
- if (typeof parsed.confidence !== 'number' || parsed.confidence < 0 || parsed.confidence > 1) {
140
+ if (typeof parsed.confidence !== 'number' ||
141
+ parsed.confidence < 0 ||
142
+ parsed.confidence > 1) {
140
143
  throw new Error(`AI response invalid confidence score: ${parsed.confidence}. Must be number between 0-1`);
141
144
  }
142
145
  return {
@@ -146,7 +149,7 @@ class CapabilityInferenceEngine {
146
149
  complexity: parsed.complexity,
147
150
  description: parsed.description.trim(),
148
151
  useCase: parsed.useCase.trim(),
149
- confidence: parsed.confidence
152
+ confidence: parsed.confidence,
150
153
  };
151
154
  }
152
155
  /**
@@ -165,7 +168,7 @@ class CapabilityInferenceEngine {
165
168
  description: aiResult.description,
166
169
  useCase: aiResult.useCase,
167
170
  confidence: aiResult.confidence,
168
- analyzedAt: new Date().toISOString()
171
+ analyzedAt: new Date().toISOString(),
169
172
  };
170
173
  }
171
174
  /**
@@ -174,7 +177,10 @@ class CapabilityInferenceEngine {
174
177
  */
175
178
  static generateCapabilityId(resourceName) {
176
179
  // Create deterministic UUID from resource name hash
177
- const hash = crypto_1.default.createHash('sha256').update(`capability-${resourceName}`).digest('hex');
180
+ const hash = crypto_1.default
181
+ .createHash('sha256')
182
+ .update(`capability-${resourceName}`)
183
+ .digest('hex');
178
184
  // Convert to UUID format: 8-4-4-4-12
179
185
  return `${hash.substring(0, 8)}-${hash.substring(8, 12)}-${hash.substring(12, 16)}-${hash.substring(16, 20)}-${hash.substring(20, 32)}`;
180
186
  }
@@ -1 +1 @@
1
- {"version":3,"file":"capability-operations.d.ts","sourceRoot":"","sources":["../../src/core/capability-operations.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAUtE;;GAEG;AACH,UAAU,uBAAuB;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,UAAU,2BAA2B;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClC,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC5C,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,iBAAiB,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC9C;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAahG;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,uBAAuB,EAC7B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,uBAAuB,GACzC,OAAO,CAAC,2BAA2B,CAAC,CA8DtC;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,uBAAuB,EAC7B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,uBAAuB,GACzC,OAAO,CAAC,2BAA2B,CAAC,CA2HtC;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,uBAAuB,EAC7B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,uBAAuB,GACzC,OAAO,CAAC,2BAA2B,CAAC,CAuEtC;AAED;;GAEG;AACH,wBAAsB,yBAAyB,CAC7C,KAAK,EAAE,uBAAuB,EAC9B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,uBAAuB,GACzC,OAAO,CAAC,2BAA2B,CAAC,CA2DtC;AAoCD;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,uBAAuB,EAC7B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,2BAA2B,CAAC,CA4NtC;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,uBAAuB,EAC7B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,uBAAuB,GACzC,OAAO,CAAC,2BAA2B,CAAC,CAwFtC;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,uBAAuB,EAC7B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,2BAA2B,CAAC,CAsFtC"}
1
+ {"version":3,"file":"capability-operations.d.ts","sourceRoot":"","sources":["../../src/core/capability-operations.ts"],"names":[],"mappings":"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"}