@exellix/ai-skills 6.0.0 → 6.1.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 (32) hide show
  1. package/README.md +7 -6
  2. package/dist/analysis/analyze-skill-request.d.ts +2 -2
  3. package/dist/analysis/analyze-skill-request.d.ts.map +1 -1
  4. package/dist/analysis/analyze-skill-request.js +13 -135
  5. package/dist/analysis/analyze-skill-request.js.map +1 -1
  6. package/dist/analysis/collect-deterministic-findings.d.ts.map +1 -1
  7. package/dist/analysis/collect-deterministic-findings.js +0 -10
  8. package/dist/analysis/collect-deterministic-findings.js.map +1 -1
  9. package/dist/analysis/types.d.ts +2 -18
  10. package/dist/analysis/types.d.ts.map +1 -1
  11. package/dist/client/skill-executor.d.ts +2 -0
  12. package/dist/client/skill-executor.d.ts.map +1 -1
  13. package/dist/client/skill-executor.js +116 -95
  14. package/dist/client/skill-executor.js.map +1 -1
  15. package/dist/client.d.ts +0 -7
  16. package/dist/client.d.ts.map +1 -1
  17. package/dist/client.js +0 -14
  18. package/dist/client.js.map +1 -1
  19. package/dist/index.d.ts +1 -5
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +1 -4
  22. package/dist/index.js.map +1 -1
  23. package/dist/optimixer/skills-optimixer.d.ts +9 -1
  24. package/dist/optimixer/skills-optimixer.d.ts.map +1 -1
  25. package/dist/optimixer/skills-optimixer.js +18 -0
  26. package/dist/optimixer/skills-optimixer.js.map +1 -1
  27. package/dist/utils/validate-model-config-for-invoke.d.ts +3 -10
  28. package/dist/utils/validate-model-config-for-invoke.d.ts.map +1 -1
  29. package/dist/utils/validate-model-config-for-invoke.js +4 -30
  30. package/dist/utils/validate-model-config-for-invoke.js.map +1 -1
  31. package/metadata/log-diagnostics.json +51 -2
  32. package/package.json +3 -6
@@ -5,6 +5,8 @@ import { estimateSkillInputTokens } from "./estimate-input-tokens.js";
5
5
  export const AI_SKILLS_OPTIMIXER_ACTIVIX_COLLECTION = "ai-actions";
6
6
  /** Package default when neither request nor Catalox catalog supplies reasoning effort. */
7
7
  export const DEFAULT_OPTIMIXER_REASONING_EFFORT = "not-applicable";
8
+ /** Initial gateway invoke + one Optimixer-bumped retry. */
9
+ export const OPTIMIXER_MAX_TOKEN_RETRY_MAX_ATTEMPTS = 2;
8
10
  /**
9
11
  * Resolves Optimixer reasoning effort: request `modelConfig.reasoningEffort` → Catalox catalog → package default.
10
12
  */
@@ -16,9 +18,17 @@ export function resolveEffectiveReasoningEffort(modelConfig, catalog) {
16
18
  }
17
19
  let optimixerPromise = null;
18
20
  let optimixerGatewayRef;
21
+ let optimixerTestOverride = null;
19
22
  export function resetSkillsOptimixerForTests() {
20
23
  optimixerPromise = null;
21
24
  optimixerGatewayRef = undefined;
25
+ optimixerTestOverride = null;
26
+ }
27
+ /** Inject mock Optimixer for unit tests (bypasses gateway Activix wiring). */
28
+ export function setSkillsOptimixerForTests(optimixer) {
29
+ optimixerTestOverride = optimixer;
30
+ optimixerPromise = null;
31
+ optimixerGatewayRef = undefined;
22
32
  }
23
33
  async function createSkillsOptimixer(gateway, logging) {
24
34
  const activityManager = gateway.getActivityManager?.();
@@ -39,6 +49,9 @@ async function createSkillsOptimixer(gateway, logging) {
39
49
  });
40
50
  }
41
51
  export async function getOrCreateSkillsOptimixer(gateway, logging) {
52
+ if (optimixerTestOverride) {
53
+ return optimixerTestOverride;
54
+ }
42
55
  if (optimixerPromise && optimixerGatewayRef === gateway) {
43
56
  return optimixerPromise;
44
57
  }
@@ -78,6 +91,7 @@ export function buildAiMaxTokensPredictionInput(args) {
78
91
  ...(catalog.taskType !== undefined ? { taskType: catalog.taskType } : {}),
79
92
  ...(catalog.outputMode !== undefined ? { outputMode: catalog.outputMode } : {}),
80
93
  ...(catalog.schemaComplexity !== undefined ? { schemaComplexity: catalog.schemaComplexity } : {}),
94
+ constraints: { allowRetryPrediction: true },
81
95
  ...(modelConfig?.provider !== undefined || modelConfig?.model !== undefined || modelConfig?.modelId !== undefined
82
96
  ? {
83
97
  modelProfile: {
@@ -109,6 +123,10 @@ export function mergeOptimixerPredictionIntoModelConfig(modelConfig, prediction,
109
123
  ...(reasoningEffort !== undefined ? { reasoningEffort } : {}),
110
124
  };
111
125
  }
126
+ /** Apply Optimixer `retryPrediction` to modelConfig for a gateway re-invoke. */
127
+ export function mergeRetryPredictionIntoModelConfig(modelConfig, requestId, retryPrediction, optimixerCatalog) {
128
+ return mergeOptimixerPredictionIntoModelConfig(modelConfig, { ...retryPrediction, requestId }, optimixerCatalog);
129
+ }
112
130
  export async function predictMaxTokensForSkill(optimixer, input) {
113
131
  return optimixer.predictAiMaxTokens(input);
114
132
  }
@@ -1 +1 @@
1
- {"version":3,"file":"skills-optimixer.js","sourceRoot":"","sources":["../../src/optimixer/skills-optimixer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skills-optimixer.js","sourceRoot":"","sources":["../../src/optimixer/skills-optimixer.ts"],"names":[],"mappings":"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"}
@@ -5,25 +5,18 @@ export declare const MODEL_CONFIG_VALIDATION_ERROR_PREFIX = "[AI-SKILLS] MODEL_C
5
5
  * Resolves the provider wire model id from {@link ModelConfig} (`model` wins over `modelId`).
6
6
  */
7
7
  export declare function resolveWireModelFromModelConfig(modelConfig: ModelConfig | undefined): string | undefined;
8
- /**
9
- * Values that should be resolved by `@exellix/ai-tasks` / `@x12i/ai-profiles` before `runSkill()`.
10
- * Uses {@link isKnownProfileChoice} (same as `@x12i/ai-gateway` ≥10.0.2) plus legacy `@` and single-token shorthands.
11
- */
12
- export declare function looksLikeAiProfileAlias(modelRef: string): boolean;
13
8
  export type ModelConfigValidationIssue = {
14
9
  code: "MODEL_MISSING";
15
10
  message: string;
16
- } | {
17
- code: "MODEL_ALIAS_NOT_ALLOWED";
18
- message: string;
19
- modelRef: string;
20
11
  };
21
12
  /**
22
13
  * Non-throwing preflight for {@link RunSkillRequest.modelConfig} (and merged invoke config).
14
+ * Profile / catalog resolution is upstream (`@exellix/ai-tasks`) and at `@x12i/ai-gateway` invoke
15
+ * (`aiTools.modelsOnly` via `@x12i/ai-tools`); this package only requires a non-empty wire id.
23
16
  */
24
17
  export declare function assessModelConfigForInvoke(modelConfig: ModelConfig | undefined): ModelConfigValidationIssue | undefined;
25
18
  /**
26
- * Fail-closed before `gateway.invoke()`: concrete wire model required; profile aliases rejected.
19
+ * Fail-closed before `gateway.invoke()`: concrete wire model required.
27
20
  */
28
21
  export declare function validateModelConfigForInvoke(modelConfig: ModelConfig | undefined): void;
29
22
  //# sourceMappingURL=validate-model-config-for-invoke.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validate-model-config-for-invoke.d.ts","sourceRoot":"","sources":["../../src/utils/validate-model-config-for-invoke.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,0FAA0F;AAC1F,eAAO,MAAM,oCAAoC,yCAAyC,CAAC;AAE3F;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,WAAW,EAAE,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAQxG;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAYjE;AAED,MAAM,MAAM,0BAA0B,GAChC;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,yBAAyB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7E;;GAEG;AACH,wBAAgB,0BAA0B,CACtC,WAAW,EAAE,WAAW,GAAG,SAAS,GACrC,0BAA0B,GAAG,SAAS,CAgBxC;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,WAAW,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI,CAKvF"}
1
+ {"version":3,"file":"validate-model-config-for-invoke.d.ts","sourceRoot":"","sources":["../../src/utils/validate-model-config-for-invoke.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,0FAA0F;AAC1F,eAAO,MAAM,oCAAoC,yCAAyC,CAAC;AAE3F;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,WAAW,EAAE,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAQxG;AAED,MAAM,MAAM,0BAA0B,GAAG;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpF;;;;GAIG;AACH,wBAAgB,0BAA0B,CACtC,WAAW,EAAE,WAAW,GAAG,SAAS,GACrC,0BAA0B,GAAG,SAAS,CASxC;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,WAAW,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI,CAKvF"}
@@ -1,4 +1,3 @@
1
- import { isKnownProfileChoice } from "@x12i/ai-profiles";
2
1
  /** Error code prefix for Activix/gateway operators filtering skill preflight failures. */
3
2
  export const MODEL_CONFIG_VALIDATION_ERROR_PREFIX = "[AI-SKILLS] MODEL_CONFIG_VALIDATION:";
4
3
  /**
@@ -13,48 +12,23 @@ export function resolveWireModelFromModelConfig(modelConfig) {
13
12
  const wire = model || modelId;
14
13
  return wire.length > 0 ? wire : undefined;
15
14
  }
16
- /**
17
- * Values that should be resolved by `@exellix/ai-tasks` / `@x12i/ai-profiles` before `runSkill()`.
18
- * Uses {@link isKnownProfileChoice} (same as `@x12i/ai-gateway` ≥10.0.2) plus legacy `@` and single-token shorthands.
19
- */
20
- export function looksLikeAiProfileAlias(modelRef) {
21
- const s = modelRef.trim();
22
- if (!s)
23
- return false;
24
- if (isKnownProfileChoice(s))
25
- return true;
26
- if (s.includes("@"))
27
- return true;
28
- if (!s.includes("/")) {
29
- const lower = s.toLowerCase();
30
- if (lower === "cheap" || lower === "fast" || lower === "strong" || lower === "default" || lower === "balanced") {
31
- return true;
32
- }
33
- }
34
- return false;
35
- }
36
15
  /**
37
16
  * Non-throwing preflight for {@link RunSkillRequest.modelConfig} (and merged invoke config).
17
+ * Profile / catalog resolution is upstream (`@exellix/ai-tasks`) and at `@x12i/ai-gateway` invoke
18
+ * (`aiTools.modelsOnly` via `@x12i/ai-tools`); this package only requires a non-empty wire id.
38
19
  */
39
20
  export function assessModelConfigForInvoke(modelConfig) {
40
21
  const wire = resolveWireModelFromModelConfig(modelConfig);
41
22
  if (!wire) {
42
23
  return {
43
24
  code: "MODEL_MISSING",
44
- message: `${MODEL_CONFIG_VALIDATION_ERROR_PREFIX} RunSkillRequest.modelConfig requires a non-empty concrete wire model (\`model\` or \`modelId\`). Resolve ai-profiles aliases in @exellix/ai-tasks via resolveInvocationPlan before runSkill(); @exellix/ai-skills does not apply gateway default models.`,
45
- };
46
- }
47
- if (looksLikeAiProfileAlias(wire)) {
48
- return {
49
- code: "MODEL_ALIAS_NOT_ALLOWED",
50
- message: `${MODEL_CONFIG_VALIDATION_ERROR_PREFIX} RunSkillRequest.modelConfig.model "${wire}" looks like an ai-profiles alias, not a provider wire id. Resolve via resolveInvocationPlan in @exellix/ai-tasks before runSkill().`,
51
- modelRef: wire,
25
+ message: `${MODEL_CONFIG_VALIDATION_ERROR_PREFIX} RunSkillRequest.modelConfig requires a non-empty concrete wire model (\`model\` or \`modelId\`). Resolve the model in @exellix/ai-tasks via resolveInvocationPlan before runSkill(); @exellix/ai-skills does not apply gateway default models.`,
52
26
  };
53
27
  }
54
28
  return undefined;
55
29
  }
56
30
  /**
57
- * Fail-closed before `gateway.invoke()`: concrete wire model required; profile aliases rejected.
31
+ * Fail-closed before `gateway.invoke()`: concrete wire model required.
58
32
  */
59
33
  export function validateModelConfigForInvoke(modelConfig) {
60
34
  const issue = assessModelConfigForInvoke(modelConfig);
@@ -1 +1 @@
1
- {"version":3,"file":"validate-model-config-for-invoke.js","sourceRoot":"","sources":["../../src/utils/validate-model-config-for-invoke.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAGzD,0FAA0F;AAC1F,MAAM,CAAC,MAAM,oCAAoC,GAAG,sCAAsC,CAAC;AAE3F;;GAEG;AACH,MAAM,UAAU,+BAA+B,CAAC,WAAoC;IAChF,IAAI,WAAW,KAAK,SAAS,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;QAC/D,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,WAAW,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACpF,MAAM,OAAO,GAAG,OAAO,WAAW,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1F,MAAM,IAAI,GAAG,KAAK,IAAI,OAAO,CAAC;IAC9B,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,QAAgB;IACpD,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC1B,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACrB,IAAI,oBAAoB,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACzC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACjC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACnB,MAAM,KAAK,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;QAC9B,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;YAC7G,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAMD;;GAEG;AACH,MAAM,UAAU,0BAA0B,CACtC,WAAoC;IAEpC,MAAM,IAAI,GAAG,+BAA+B,CAAC,WAAW,CAAC,CAAC;IAC1D,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,OAAO;YACH,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,GAAG,oCAAoC,2PAA2P;SAC9S,CAAC;IACN,CAAC;IACD,IAAI,uBAAuB,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,OAAO;YACH,IAAI,EAAE,yBAAyB;YAC/B,OAAO,EAAE,GAAG,oCAAoC,uCAAuC,IAAI,sIAAsI;YACjO,QAAQ,EAAE,IAAI;SACjB,CAAC;IACN,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAAC,WAAoC;IAC7E,MAAM,KAAK,GAAG,0BAA0B,CAAC,WAAW,CAAC,CAAC;IACtD,IAAI,KAAK,EAAE,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"validate-model-config-for-invoke.js","sourceRoot":"","sources":["../../src/utils/validate-model-config-for-invoke.ts"],"names":[],"mappings":"AAEA,0FAA0F;AAC1F,MAAM,CAAC,MAAM,oCAAoC,GAAG,sCAAsC,CAAC;AAE3F;;GAEG;AACH,MAAM,UAAU,+BAA+B,CAAC,WAAoC;IAChF,IAAI,WAAW,KAAK,SAAS,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;QAC/D,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,WAAW,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACpF,MAAM,OAAO,GAAG,OAAO,WAAW,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1F,MAAM,IAAI,GAAG,KAAK,IAAI,OAAO,CAAC;IAC9B,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9C,CAAC;AAID;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CACtC,WAAoC;IAEpC,MAAM,IAAI,GAAG,+BAA+B,CAAC,WAAW,CAAC,CAAC;IAC1D,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,OAAO;YACH,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,GAAG,oCAAoC,iPAAiP;SACpS,CAAC;IACN,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAAC,WAAoC;IAC7E,MAAM,KAAK,GAAG,0BAA0B,CAAC,WAAW,CAAC,CAAC;IACtD,IAAI,KAAK,EAAE,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;AACL,CAAC"}
@@ -93,7 +93,7 @@
93
93
  "remediation": [
94
94
  "Inspect the invoke error and gateway trace diagnostics.",
95
95
  "Verify provider credentials and model configuration.",
96
- "Run analyzeSkillRequest for preflight payload review."
96
+ "Review the planned invoke in the skills manager preflight (FuncX ai-skills/analyze-gateway-invoke-request)."
97
97
  ],
98
98
  "retryable": true,
99
99
  "userActionRequired": false,
@@ -111,7 +111,7 @@
111
111
  "remediation": [
112
112
  "List catalog skills and confirm the normalized skill key.",
113
113
  "Run npm run catalox:provision-ai-skills or upsert the catalog row.",
114
- "Use diagnose() or analyzeSkillRequest for discovery hints."
114
+ "Use diagnose() or the skills manager catalog UI for discovery hints."
115
115
  ],
116
116
  "retryable": false,
117
117
  "userActionRequired": true,
@@ -201,5 +201,54 @@
201
201
  "retryable": true,
202
202
  "userActionRequired": true,
203
203
  "confidence": "medium"
204
+ },
205
+ "CALLER_MAX_TOKENS_IGNORED": {
206
+ "defaultLevel": "warn",
207
+ "title": "Caller-supplied maxTokens ignored",
208
+ "impact": "Host max token caps on modelConfig are stripped; Optimixer owns the completion budget.",
209
+ "possibleCauses": [
210
+ "Orchestrator still sends maxTokens on RunSkillRequest.modelConfig.",
211
+ "Legacy integration not yet migrated to Optimixer-owned budgets."
212
+ ],
213
+ "remediation": [
214
+ "Remove maxTokens / max_completion_tokens from the skill invoke request.",
215
+ "Use Catalox catalog + reasoningEffort for sizing; read metadata.usage.maxTokensRequested after invoke."
216
+ ],
217
+ "retryable": false,
218
+ "userActionRequired": true,
219
+ "confidence": "high"
220
+ },
221
+ "OPTIMIXER_MAX_TOKENS_RETRY": {
222
+ "defaultLevel": "warn",
223
+ "title": "Optimixer max-token retry re-invoke",
224
+ "impact": "Gateway was invoked again with a higher Optimixer-recommended completion cap after output hit the token limit.",
225
+ "possibleCauses": [
226
+ "Initial Optimixer predict under-allocated completion tokens.",
227
+ "Provider finishReason indicated truncation (e.g. length)."
228
+ ],
229
+ "remediation": [
230
+ "Inspect metadata.optimixerRetryCount and final usage.maxTokensRequested.",
231
+ "Tune Catalox catalog output intent or reasoningEffort if retries are frequent.",
232
+ "Fix upstream finishReason gaps if retry never triggers despite truncation."
233
+ ],
234
+ "retryable": true,
235
+ "userActionRequired": false,
236
+ "confidence": "high"
237
+ },
238
+ "OPTIMIXER_COMPLETE_FAILED": {
239
+ "defaultLevel": "warn",
240
+ "title": "Optimixer completeAiMaxTokensPrediction failed",
241
+ "impact": "Optimixer learning and max-token retry may be skipped for this invoke.",
242
+ "possibleCauses": [
243
+ "Optimixer complete threw or returned an unexpected shape.",
244
+ "Invalid predictionContext or requestId."
245
+ ],
246
+ "remediation": [
247
+ "Inspect the exception evidence on the log entry.",
248
+ "Verify @x12i/optimixer version and complete payload contract."
249
+ ],
250
+ "retryable": true,
251
+ "userActionRequired": false,
252
+ "confidence": "medium"
204
253
  }
205
254
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@exellix/ai-skills",
3
- "version": "6.0.0",
3
+ "version": "6.1.0",
4
4
  "description": "Foundational skill execution layer for exellix ecosystem using @x12i/ai-gateway with FlexMD 2.0 support and Catalox as the catalog store",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -40,7 +40,6 @@
40
40
  "catalox:restore": "npm run catalox:provision-ai-skills && npm run catalox:provision-ai-engines",
41
41
  "catalox:verify": "tsx scripts/verify-catalox-catalogs.ts",
42
42
  "live:professional-answer": "tsx scripts/run-professional-answer-live.ts",
43
- "test:live:analyze-skill-request": "tsx test/run-live-analyze.ts",
44
43
  "test:ci": "npm run build && npm run test:unit",
45
44
  "test": "npm run build && npm run test:integration",
46
45
  "deps:latest": "npx npm-check-updates -u && npm install"
@@ -59,14 +58,12 @@
59
58
  },
60
59
  "dependencies": {
61
60
  "@x12i/activix": "^8.5.0",
62
- "@x12i/ai-gateway": "^10.0.2",
63
- "@x12i/ai-profiles": "^2.1.0",
61
+ "@x12i/ai-gateway": "^10.0.4",
64
62
  "@x12i/catalox": "^5.1.3",
65
63
  "@x12i/env": "^4.0.1",
66
64
  "@x12i/execution-memory-manager": "^1.2.0",
67
- "@x12i/funcx": "^4.3.3",
68
65
  "@x12i/logxer": "^4.6.0",
69
- "@x12i/optimixer": "^3.0.2",
66
+ "@x12i/optimixer": "^3.1.0",
70
67
  "@x12i/rendrix": "^4.3.0",
71
68
  "nx-helpers": "^1.5.1"
72
69
  },