@exellix/ai-skills 6.1.0 → 6.2.2

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 (141) hide show
  1. package/dist/client/skill-executor.d.ts.map +1 -1
  2. package/dist/client/skill-executor.js +25 -8
  3. package/dist/client/skill-executor.js.map +1 -1
  4. package/dist/errors/skill-model-resolution-error.d.ts +28 -0
  5. package/dist/errors/skill-model-resolution-error.d.ts.map +1 -0
  6. package/dist/errors/skill-model-resolution-error.js +45 -0
  7. package/dist/errors/skill-model-resolution-error.js.map +1 -0
  8. package/dist/index.d.ts +12 -0
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +8 -0
  11. package/dist/index.js.map +1 -1
  12. package/dist/invocation/aiProfileModelFormat.d.ts +11 -0
  13. package/dist/invocation/aiProfileModelFormat.d.ts.map +1 -0
  14. package/dist/invocation/aiProfileModelFormat.js +79 -0
  15. package/dist/invocation/aiProfileModelFormat.js.map +1 -0
  16. package/dist/invocation/concreteModelId.d.ts +3 -0
  17. package/dist/invocation/concreteModelId.d.ts.map +1 -0
  18. package/dist/invocation/concreteModelId.js +27 -0
  19. package/dist/invocation/concreteModelId.js.map +1 -0
  20. package/dist/invocation/defaultAiProfilesResolveOptions.d.ts +17 -0
  21. package/dist/invocation/defaultAiProfilesResolveOptions.d.ts.map +1 -0
  22. package/dist/invocation/defaultAiProfilesResolveOptions.js +34 -0
  23. package/dist/invocation/defaultAiProfilesResolveOptions.js.map +1 -0
  24. package/dist/invocation/optimixerModelProfileFromResolved.d.ts +5 -0
  25. package/dist/invocation/optimixerModelProfileFromResolved.d.ts.map +1 -0
  26. package/dist/invocation/optimixerModelProfileFromResolved.js +76 -0
  27. package/dist/invocation/optimixerModelProfileFromResolved.js.map +1 -0
  28. package/dist/invocation/parseProfileSlot.d.ts +6 -0
  29. package/dist/invocation/parseProfileSlot.d.ts.map +1 -0
  30. package/dist/invocation/parseProfileSlot.js +12 -0
  31. package/dist/invocation/parseProfileSlot.js.map +1 -0
  32. package/dist/invocation/preferOpenRouterPolicy.d.ts +20 -0
  33. package/dist/invocation/preferOpenRouterPolicy.d.ts.map +1 -0
  34. package/dist/invocation/preferOpenRouterPolicy.js +68 -0
  35. package/dist/invocation/preferOpenRouterPolicy.js.map +1 -0
  36. package/dist/invocation/resolveModelConfigForSkillInvoke.d.ts +18 -0
  37. package/dist/invocation/resolveModelConfigForSkillInvoke.d.ts.map +1 -0
  38. package/dist/invocation/resolveModelConfigForSkillInvoke.js +42 -0
  39. package/dist/invocation/resolveModelConfigForSkillInvoke.js.map +1 -0
  40. package/dist/invocation/resolveSkillModelReference.d.ts +18 -0
  41. package/dist/invocation/resolveSkillModelReference.d.ts.map +1 -0
  42. package/dist/invocation/resolveSkillModelReference.js +93 -0
  43. package/dist/invocation/resolveSkillModelReference.js.map +1 -0
  44. package/dist/invocation/resolveSkillProfileToWireModel.d.ts +12 -0
  45. package/dist/invocation/resolveSkillProfileToWireModel.d.ts.map +1 -0
  46. package/dist/invocation/resolveSkillProfileToWireModel.js +10 -0
  47. package/dist/invocation/resolveSkillProfileToWireModel.js.map +1 -0
  48. package/dist/optimixer/skills-optimixer.d.ts +3 -0
  49. package/dist/optimixer/skills-optimixer.d.ts.map +1 -1
  50. package/dist/optimixer/skills-optimixer.js +11 -9
  51. package/dist/optimixer/skills-optimixer.js.map +1 -1
  52. package/dist/types.d.ts +3 -3
  53. package/dist/utils/validate-model-config-for-invoke.d.ts +2 -2
  54. package/dist/utils/validate-model-config-for-invoke.js +3 -3
  55. package/dist/utils/validate-model-config-for-invoke.js.map +1 -1
  56. package/erc-manifest.json +10 -10
  57. package/package.json +3 -2
  58. package/dist/analysis/analyze-skill-request.d.ts +0 -13
  59. package/dist/analysis/analyze-skill-request.d.ts.map +0 -1
  60. package/dist/analysis/analyze-skill-request.js +0 -103
  61. package/dist/analysis/analyze-skill-request.js.map +0 -1
  62. package/dist/analysis/build-skill-request-analysis-packet.d.ts +0 -14
  63. package/dist/analysis/build-skill-request-analysis-packet.d.ts.map +0 -1
  64. package/dist/analysis/build-skill-request-analysis-packet.js +0 -106
  65. package/dist/analysis/build-skill-request-analysis-packet.js.map +0 -1
  66. package/dist/analysis/collect-deterministic-findings.d.ts +0 -14
  67. package/dist/analysis/collect-deterministic-findings.d.ts.map +0 -1
  68. package/dist/analysis/collect-deterministic-findings.js +0 -245
  69. package/dist/analysis/collect-deterministic-findings.js.map +0 -1
  70. package/dist/analysis/constants.d.ts +0 -5
  71. package/dist/analysis/constants.d.ts.map +0 -1
  72. package/dist/analysis/constants.js +0 -5
  73. package/dist/analysis/constants.js.map +0 -1
  74. package/dist/analysis/format-skill-request-analysis-markdown.d.ts +0 -8
  75. package/dist/analysis/format-skill-request-analysis-markdown.d.ts.map +0 -1
  76. package/dist/analysis/format-skill-request-analysis-markdown.js +0 -121
  77. package/dist/analysis/format-skill-request-analysis-markdown.js.map +0 -1
  78. package/dist/analysis/path-utils.d.ts +0 -11
  79. package/dist/analysis/path-utils.d.ts.map +0 -1
  80. package/dist/analysis/path-utils.js +0 -69
  81. package/dist/analysis/path-utils.js.map +0 -1
  82. package/dist/analysis/sanitize-for-packet.d.ts +0 -28
  83. package/dist/analysis/sanitize-for-packet.d.ts.map +0 -1
  84. package/dist/analysis/sanitize-for-packet.js +0 -107
  85. package/dist/analysis/sanitize-for-packet.js.map +0 -1
  86. package/dist/analysis/types.d.ts +0 -124
  87. package/dist/analysis/types.d.ts.map +0 -1
  88. package/dist/analysis/types.js +0 -2
  89. package/dist/analysis/types.js.map +0 -1
  90. package/dist/catalog/canonical-skill-key.d.ts +0 -5
  91. package/dist/catalog/canonical-skill-key.d.ts.map +0 -1
  92. package/dist/catalog/canonical-skill-key.js +0 -16
  93. package/dist/catalog/canonical-skill-key.js.map +0 -1
  94. package/dist/catalog/constants.d.ts +0 -7
  95. package/dist/catalog/constants.d.ts.map +0 -1
  96. package/dist/catalog/constants.js +0 -7
  97. package/dist/catalog/constants.js.map +0 -1
  98. package/dist/catalog/env.d.ts +0 -4
  99. package/dist/catalog/env.d.ts.map +0 -1
  100. package/dist/catalog/env.js +0 -15
  101. package/dist/catalog/env.js.map +0 -1
  102. package/dist/catalog/gateway-template.d.ts +0 -6
  103. package/dist/catalog/gateway-template.d.ts.map +0 -1
  104. package/dist/catalog/gateway-template.js +0 -15
  105. package/dist/catalog/gateway-template.js.map +0 -1
  106. package/dist/catalog/index.d.ts +0 -3
  107. package/dist/catalog/index.d.ts.map +0 -1
  108. package/dist/catalog/index.js +0 -3
  109. package/dist/catalog/index.js.map +0 -1
  110. package/dist/catalog/seed.d.ts +0 -12
  111. package/dist/catalog/seed.d.ts.map +0 -1
  112. package/dist/catalog/seed.js +0 -45
  113. package/dist/catalog/seed.js.map +0 -1
  114. package/dist/catalog/skill-catalog.d.ts +0 -28
  115. package/dist/catalog/skill-catalog.d.ts.map +0 -1
  116. package/dist/catalog/skill-catalog.js +0 -139
  117. package/dist/catalog/skill-catalog.js.map +0 -1
  118. package/dist/catalog/store-factory.d.ts +0 -18
  119. package/dist/catalog/store-factory.d.ts.map +0 -1
  120. package/dist/catalog/store-factory.js +0 -36
  121. package/dist/catalog/store-factory.js.map +0 -1
  122. package/dist/catalog/types.d.ts +0 -61
  123. package/dist/catalog/types.d.ts.map +0 -1
  124. package/dist/catalog/types.js +0 -22
  125. package/dist/catalog/types.js.map +0 -1
  126. package/dist/client/audit-manager.d.ts +0 -27
  127. package/dist/client/audit-manager.d.ts.map +0 -1
  128. package/dist/client/audit-manager.js +0 -260
  129. package/dist/client/audit-manager.js.map +0 -1
  130. package/dist/client/invoke-skill-via-funcx.d.ts +0 -11
  131. package/dist/client/invoke-skill-via-funcx.d.ts.map +0 -1
  132. package/dist/client/invoke-skill-via-funcx.js +0 -51
  133. package/dist/client/invoke-skill-via-funcx.js.map +0 -1
  134. package/dist/client/task-executor.d.ts +0 -21
  135. package/dist/client/task-executor.d.ts.map +0 -1
  136. package/dist/client/task-executor.js +0 -50
  137. package/dist/client/task-executor.js.map +0 -1
  138. package/dist/metadata.d.ts +0 -7
  139. package/dist/metadata.d.ts.map +0 -1
  140. package/dist/metadata.js +0 -65
  141. package/dist/metadata.js.map +0 -1
@@ -0,0 +1,76 @@
1
+ import { capabilitiesFromCatalogEntry, findCatalogModelEntry, limitsFromCatalogEntry, loadBundledModelsCatalog, resolveModelIdentity, } from "@x12i/ai-profiles";
2
+ function inferOutputTokenParam(provider) {
3
+ switch (provider.trim().toLowerCase()) {
4
+ case "openai":
5
+ return "max_completion_tokens";
6
+ case "google":
7
+ return "max_output_tokens";
8
+ default:
9
+ return "max_tokens";
10
+ }
11
+ }
12
+ function reasoningFromSignals(isReasoningModel) {
13
+ if (!isReasoningModel)
14
+ return undefined;
15
+ return {
16
+ enabled: true,
17
+ budgetBehavior: "included_in_completion_tokens",
18
+ };
19
+ }
20
+ export function optimixerModelProfileFromResolvedProfile(resolved) {
21
+ const limits = resolved.limits;
22
+ const signals = resolved.modelSignals;
23
+ return {
24
+ provider: resolved.provider,
25
+ model: resolved.modelId,
26
+ ...(limits?.contextWindow ?? signals.contextWindow
27
+ ? { contextWindow: limits?.contextWindow ?? signals.contextWindow }
28
+ : {}),
29
+ ...(limits?.maxOutputTokens ? { maxOutputTokens: limits.maxOutputTokens } : {}),
30
+ outputTokenParam: inferOutputTokenParam(resolved.provider),
31
+ ...(reasoningFromSignals(signals.isReasoningModel)
32
+ ? { reasoning: reasoningFromSignals(signals.isReasoningModel) }
33
+ : {}),
34
+ };
35
+ }
36
+ export function optimixerModelProfileFromWireModel(wireModel) {
37
+ const trimmed = wireModel.trim();
38
+ if (!trimmed)
39
+ return undefined;
40
+ const asOpenRouter = trimmed.toLowerCase().startsWith("openrouter/");
41
+ const identityInput = asOpenRouter ? trimmed.slice("openrouter/".length) : trimmed;
42
+ const identity = resolveModelIdentity(identityInput, { asOpenRouter });
43
+ if (!identity) {
44
+ if (asOpenRouter) {
45
+ const slash = trimmed.indexOf("/");
46
+ const provider = trimmed.slice(0, slash);
47
+ const model = trimmed.slice(slash + 1);
48
+ if (provider && model) {
49
+ return buildOptimixerModelProfileFromProviderModel(provider, model);
50
+ }
51
+ }
52
+ return undefined;
53
+ }
54
+ return buildOptimixerModelProfileFromProviderModel(identity.provider, identity.modelId);
55
+ }
56
+ function buildOptimixerModelProfileFromProviderModel(provider, modelId) {
57
+ const catalog = loadBundledModelsCatalog();
58
+ const entry = findCatalogModelEntry(catalog, {
59
+ provider: provider,
60
+ modelId,
61
+ openRouterModelId: provider.toLowerCase() === "openrouter" ? modelId : `${provider}/${modelId}`,
62
+ });
63
+ const limits = entry ? limitsFromCatalogEntry(entry) : undefined;
64
+ const capabilities = entry ? capabilitiesFromCatalogEntry(entry) : undefined;
65
+ return {
66
+ provider,
67
+ model: modelId,
68
+ ...(limits?.contextWindow ? { contextWindow: limits.contextWindow } : {}),
69
+ ...(limits?.maxOutputTokens ? { maxOutputTokens: limits.maxOutputTokens } : {}),
70
+ outputTokenParam: inferOutputTokenParam(provider),
71
+ ...(reasoningFromSignals(capabilities?.supportsReasoning)
72
+ ? { reasoning: reasoningFromSignals(capabilities?.supportsReasoning) }
73
+ : {}),
74
+ };
75
+ }
76
+ //# sourceMappingURL=optimixerModelProfileFromResolved.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"optimixerModelProfileFromResolved.js","sourceRoot":"","sources":["../../src/invocation/optimixerModelProfileFromResolved.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /** Parse graph/studio profile slots such as `cheap@default` into ai-profiles inputs. */
2
+ export declare function parseProfileSlot(profileSlot: string): {
3
+ profileInput: string;
4
+ choice?: string;
5
+ };
6
+ //# sourceMappingURL=parseProfileSlot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseProfileSlot.d.ts","sourceRoot":"","sources":["../../src/invocation/parseProfileSlot.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAS/F"}
@@ -0,0 +1,12 @@
1
+ /** Parse graph/studio profile slots such as `cheap@default` into ai-profiles inputs. */
2
+ export function parseProfileSlot(profileSlot) {
3
+ const trimmed = profileSlot.trim();
4
+ const at = trimmed.indexOf("@");
5
+ if (at > 0) {
6
+ const profileInput = trimmed.slice(0, at).trim();
7
+ const choice = trimmed.slice(at + 1).trim();
8
+ return { profileInput, ...(choice ? { choice } : {}) };
9
+ }
10
+ return { profileInput: trimmed };
11
+ }
12
+ //# sourceMappingURL=parseProfileSlot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseProfileSlot.js","sourceRoot":"","sources":["../../src/invocation/parseProfileSlot.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,MAAM,UAAU,gBAAgB,CAAC,WAAmB;IAClD,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;IACnC,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAChC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;QACX,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACjD,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5C,OAAO,EAAE,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACzD,CAAC;IACD,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC;AACnC,CAAC"}
@@ -0,0 +1,20 @@
1
+ export declare function readPreferOpenRouterFromEnv(): boolean | undefined;
2
+ export type PreferOpenRouterPolicyInput = {
3
+ preferOpenRouter?: boolean;
4
+ useOpenRouter?: boolean;
5
+ openrouterApiKeyPresent?: boolean;
6
+ };
7
+ export type ResolvedPreferOpenRouterPolicy = {
8
+ preferOpenRouter: boolean;
9
+ openrouterApiKeyPresent: boolean;
10
+ effectiveUseOpenRouter: boolean;
11
+ warnings: string[];
12
+ };
13
+ export declare function detectOpenRouterApiKeyPresent(): boolean;
14
+ export declare function resolvePreferOpenRouter(explicit?: boolean): boolean;
15
+ export declare function resolveEffectiveOpenRouterRouting(input: {
16
+ preferOpenRouter: boolean;
17
+ openrouterApiKeyPresent: boolean;
18
+ }): Pick<ResolvedPreferOpenRouterPolicy, "effectiveUseOpenRouter" | "warnings">;
19
+ export declare function resolvePreferOpenRouterPolicy(policy?: PreferOpenRouterPolicyInput): ResolvedPreferOpenRouterPolicy;
20
+ //# sourceMappingURL=preferOpenRouterPolicy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preferOpenRouterPolicy.d.ts","sourceRoot":"","sources":["../../src/invocation/preferOpenRouterPolicy.ts"],"names":[],"mappings":"AAkBA,wBAAgB,2BAA2B,IAAI,OAAO,GAAG,SAAS,CAWjE;AAED,MAAM,MAAM,2BAA2B,GAAG;IACxC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,gBAAgB,EAAE,OAAO,CAAC;IAC1B,uBAAuB,EAAE,OAAO,CAAC;IACjC,sBAAsB,EAAE,OAAO,CAAC;IAChC,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AAEF,wBAAgB,6BAA6B,IAAI,OAAO,CAGvD;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAGnE;AAED,wBAAgB,iCAAiC,CAAC,KAAK,EAAE;IACvD,gBAAgB,EAAE,OAAO,CAAC;IAC1B,uBAAuB,EAAE,OAAO,CAAC;CAClC,GAAG,IAAI,CAAC,8BAA8B,EAAE,wBAAwB,GAAG,UAAU,CAAC,CAc9E;AAED,wBAAgB,6BAA6B,CAC3C,MAAM,CAAC,EAAE,2BAA2B,GACnC,8BAA8B,CAchC"}
@@ -0,0 +1,68 @@
1
+ import { loadDotenv } from "@x12i/env";
2
+ let dotenvLoaded = false;
3
+ function ensureDotenvLoaded() {
4
+ if (!dotenvLoaded) {
5
+ loadDotenv();
6
+ dotenvLoaded = true;
7
+ }
8
+ }
9
+ function parseBooleanEnv(value) {
10
+ const normalized = value.trim().toLowerCase();
11
+ if (["1", "true", "yes", "on"].includes(normalized))
12
+ return true;
13
+ if (["0", "false", "no", "off"].includes(normalized))
14
+ return false;
15
+ return undefined;
16
+ }
17
+ export function readPreferOpenRouterFromEnv() {
18
+ ensureDotenvLoaded();
19
+ const preferRaw = process.env.PREFER_OPENROUTER;
20
+ if (preferRaw !== undefined && preferRaw.trim() !== "") {
21
+ return parseBooleanEnv(preferRaw);
22
+ }
23
+ const legacyRaw = process.env.USE_OPENROUTER;
24
+ if (legacyRaw !== undefined && legacyRaw.trim() !== "") {
25
+ return parseBooleanEnv(legacyRaw);
26
+ }
27
+ return undefined;
28
+ }
29
+ export function detectOpenRouterApiKeyPresent() {
30
+ const key = process.env.OPENROUTER_API_KEY ?? process.env.OPEN_ROUTER_KEY;
31
+ return typeof key === "string" && key.trim().length > 0;
32
+ }
33
+ export function resolvePreferOpenRouter(explicit) {
34
+ if (explicit !== undefined)
35
+ return explicit;
36
+ return readPreferOpenRouterFromEnv() ?? true;
37
+ }
38
+ export function resolveEffectiveOpenRouterRouting(input) {
39
+ if (!input.preferOpenRouter) {
40
+ return { effectiveUseOpenRouter: false, warnings: [] };
41
+ }
42
+ if (!input.openrouterApiKeyPresent) {
43
+ return {
44
+ effectiveUseOpenRouter: false,
45
+ warnings: [
46
+ "PREFER_OPENROUTER is enabled but OPENROUTER_API_KEY (or OPEN_ROUTER_KEY) is not set; " +
47
+ "falling back to vendor-direct routing.",
48
+ ],
49
+ };
50
+ }
51
+ return { effectiveUseOpenRouter: true, warnings: [] };
52
+ }
53
+ export function resolvePreferOpenRouterPolicy(policy) {
54
+ const explicitPrefer = policy?.preferOpenRouter ?? policy?.useOpenRouter;
55
+ const preferOpenRouter = resolvePreferOpenRouter(explicitPrefer);
56
+ const openrouterApiKeyPresent = policy?.openrouterApiKeyPresent ?? detectOpenRouterApiKeyPresent();
57
+ const { effectiveUseOpenRouter, warnings } = resolveEffectiveOpenRouterRouting({
58
+ preferOpenRouter,
59
+ openrouterApiKeyPresent,
60
+ });
61
+ return {
62
+ preferOpenRouter,
63
+ openrouterApiKeyPresent,
64
+ effectiveUseOpenRouter,
65
+ warnings,
66
+ };
67
+ }
68
+ //# sourceMappingURL=preferOpenRouterPolicy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preferOpenRouterPolicy.js","sourceRoot":"","sources":["../../src/invocation/preferOpenRouterPolicy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,IAAI,YAAY,GAAG,KAAK,CAAC;AAEzB,SAAS,kBAAkB;IACzB,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,UAAU,EAAE,CAAC;QACb,YAAY,GAAG,IAAI,CAAC;IACtB,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACpC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9C,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,OAAO,IAAI,CAAC;IACjE,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,OAAO,KAAK,CAAC;IACnE,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,2BAA2B;IACzC,kBAAkB,EAAE,CAAC;IACrB,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAChD,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACvD,OAAO,eAAe,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IACD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IAC7C,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACvD,OAAO,eAAe,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAeD,MAAM,UAAU,6BAA6B;IAC3C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IAC1E,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,QAAkB;IACxD,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IAC5C,OAAO,2BAA2B,EAAE,IAAI,IAAI,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,KAGjD;IACC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAC5B,OAAO,EAAE,sBAAsB,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACzD,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC;QACnC,OAAO;YACL,sBAAsB,EAAE,KAAK;YAC7B,QAAQ,EAAE;gBACR,uFAAuF;oBACrF,wCAAwC;aAC3C;SACF,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,sBAAsB,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,MAAoC;IAEpC,MAAM,cAAc,GAAG,MAAM,EAAE,gBAAgB,IAAI,MAAM,EAAE,aAAa,CAAC;IACzE,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,cAAc,CAAC,CAAC;IACjE,MAAM,uBAAuB,GAAG,MAAM,EAAE,uBAAuB,IAAI,6BAA6B,EAAE,CAAC;IACnG,MAAM,EAAE,sBAAsB,EAAE,QAAQ,EAAE,GAAG,iCAAiC,CAAC;QAC7E,gBAAgB;QAChB,uBAAuB;KACxB,CAAC,CAAC;IACH,OAAO;QACL,gBAAgB;QAChB,uBAAuB;QACvB,sBAAsB;QACtB,QAAQ;KACT,CAAC;AACJ,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { OptimixerModelProfile } from "@x12i/optimixer";
2
+ import type { ModelConfig } from "../types.js";
3
+ import type { ResolveSkillModelReferenceOptions } from "./resolveSkillModelReference.js";
4
+ export type ResolveSkillProfileToWireModelOptions = ResolveSkillModelReferenceOptions;
5
+ export type ResolvedSkillModelForInvoke = {
6
+ modelConfig: ModelConfig | undefined;
7
+ optimixerModelProfile?: OptimixerModelProfile;
8
+ };
9
+ /**
10
+ * Resolve {@link ModelConfig.model} / `modelId` to gateway wire model and Optimixer catalog profile.
11
+ */
12
+ export declare function resolveSkillModelForInvoke(modelConfig: ModelConfig | undefined, options?: ResolveSkillProfileToWireModelOptions): Promise<ResolvedSkillModelForInvoke>;
13
+ /**
14
+ * Resolve {@link ModelConfig.model} / `modelId` when it carries an ai-profiles profile/choice alias.
15
+ * Concrete provider ids pass through unchanged.
16
+ */
17
+ export declare function resolveModelConfigForSkillInvoke(modelConfig: ModelConfig | undefined, options?: ResolveSkillProfileToWireModelOptions): Promise<ModelConfig | undefined>;
18
+ //# sourceMappingURL=resolveModelConfigForSkillInvoke.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveModelConfigForSkillInvoke.d.ts","sourceRoot":"","sources":["../../src/invocation/resolveModelConfigForSkillInvoke.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,iCAAiC,CAAC;AAGzF,MAAM,MAAM,qCAAqC,GAAG,iCAAiC,CAAC;AAEtF,MAAM,MAAM,2BAA2B,GAAG;IACxC,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;IACrC,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;CAC/C,CAAC;AAEF;;GAEG;AACH,wBAAsB,0BAA0B,CAC9C,WAAW,EAAE,WAAW,GAAG,SAAS,EACpC,OAAO,CAAC,EAAE,qCAAqC,GAC9C,OAAO,CAAC,2BAA2B,CAAC,CA+BtC;AAED;;;GAGG;AACH,wBAAsB,gCAAgC,CACpD,WAAW,EAAE,WAAW,GAAG,SAAS,EACpC,OAAO,CAAC,EAAE,qCAAqC,GAC9C,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAGlC"}
@@ -0,0 +1,42 @@
1
+ import { resolveWireModelFromModelConfig } from "../utils/validate-model-config-for-invoke.js";
2
+ import { resolveSkillModelReference } from "./resolveSkillModelReference.js";
3
+ /**
4
+ * Resolve {@link ModelConfig.model} / `modelId` to gateway wire model and Optimixer catalog profile.
5
+ */
6
+ export async function resolveSkillModelForInvoke(modelConfig, options) {
7
+ if (modelConfig === undefined) {
8
+ return { modelConfig: undefined };
9
+ }
10
+ const wire = resolveWireModelFromModelConfig(modelConfig);
11
+ if (!wire) {
12
+ return { modelConfig };
13
+ }
14
+ const resolved = await resolveSkillModelReference(wire, {
15
+ ...options,
16
+ slotPath: options?.slotPath ?? "modelConfig.model",
17
+ });
18
+ if (!resolved) {
19
+ return { modelConfig };
20
+ }
21
+ const next = {
22
+ ...modelConfig,
23
+ model: resolved.wireModel,
24
+ provider: resolved.optimixerModelProfile.provider ?? modelConfig.provider,
25
+ };
26
+ if ("modelId" in next) {
27
+ delete next.modelId;
28
+ }
29
+ return {
30
+ modelConfig: next,
31
+ optimixerModelProfile: resolved.optimixerModelProfile,
32
+ };
33
+ }
34
+ /**
35
+ * Resolve {@link ModelConfig.model} / `modelId` when it carries an ai-profiles profile/choice alias.
36
+ * Concrete provider ids pass through unchanged.
37
+ */
38
+ export async function resolveModelConfigForSkillInvoke(modelConfig, options) {
39
+ const resolved = await resolveSkillModelForInvoke(modelConfig, options);
40
+ return resolved.modelConfig;
41
+ }
42
+ //# sourceMappingURL=resolveModelConfigForSkillInvoke.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveModelConfigForSkillInvoke.js","sourceRoot":"","sources":["../../src/invocation/resolveModelConfigForSkillInvoke.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,+BAA+B,EAAE,MAAM,8CAA8C,CAAC;AAE/F,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAS7E;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,WAAoC,EACpC,OAA+C;IAE/C,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;IACpC,CAAC;IAED,MAAM,IAAI,GAAG,+BAA+B,CAAC,WAAW,CAAC,CAAC;IAC1D,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,EAAE,WAAW,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,0BAA0B,CAAC,IAAI,EAAE;QACtD,GAAG,OAAO;QACV,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,mBAAmB;KACnD,CAAC,CAAC;IACH,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,EAAE,WAAW,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,IAAI,GAAgB;QACxB,GAAG,WAAW;QACd,KAAK,EAAE,QAAQ,CAAC,SAAS;QACzB,QAAQ,EAAE,QAAQ,CAAC,qBAAqB,CAAC,QAAQ,IAAI,WAAW,CAAC,QAAQ;KAC1E,CAAC;IACF,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;QACtB,OAAQ,IAAgC,CAAC,OAAO,CAAC;IACnD,CAAC;IAED,OAAO;QACL,WAAW,EAAE,IAAI;QACjB,qBAAqB,EAAE,QAAQ,CAAC,qBAAqB;KACtD,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gCAAgC,CACpD,WAAoC,EACpC,OAA+C;IAE/C,MAAM,QAAQ,GAAG,MAAM,0BAA0B,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACxE,OAAO,QAAQ,CAAC,WAAW,CAAC;AAC9B,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { ProfileCatalogLane, RegistrySourceMode } from "@x12i/ai-profiles";
2
+ import type { OptimixerModelProfile } from "@x12i/optimixer";
3
+ import type { PreferOpenRouterPolicyInput } from "./preferOpenRouterPolicy.js";
4
+ export type ResolveSkillModelReferenceOptions = PreferOpenRouterPolicyInput & {
5
+ source?: RegistrySourceMode;
6
+ catalogLane?: ProfileCatalogLane;
7
+ slotPath?: string;
8
+ skillKey?: string;
9
+ };
10
+ export type ResolvedSkillModelReference = {
11
+ wireModel: string;
12
+ optimixerModelProfile: OptimixerModelProfile;
13
+ };
14
+ /**
15
+ * Resolve a model reference to gateway wire model + Optimixer catalog profile in one ai-profiles pass.
16
+ */
17
+ export declare function resolveSkillModelReference(value: string | undefined, options?: ResolveSkillModelReferenceOptions): Promise<ResolvedSkillModelReference | undefined>;
18
+ //# sourceMappingURL=resolveSkillModelReference.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveSkillModelReference.d.ts","sourceRoot":"","sources":["../../src/invocation/resolveSkillModelReference.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAqB,MAAM,mBAAmB,CAAC;AACnG,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAiB7D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAG/E,MAAM,MAAM,iCAAiC,GAAG,2BAA2B,GAAG;IAC5E,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,qBAAqB,EAAE,qBAAqB,CAAC;CAC9C,CAAC;AAqFF;;GAEG;AACH,wBAAsB,0BAA0B,CAC9C,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,OAAO,CAAC,EAAE,iCAAiC,GAC1C,OAAO,CAAC,2BAA2B,GAAG,SAAS,CAAC,CA0BlD"}
@@ -0,0 +1,93 @@
1
+ import { AIProfilesError, resolveAIProfile } from "@x12i/ai-profiles";
2
+ import { throwSkillModelResolutionError } from "../errors/skill-model-resolution-error.js";
3
+ import { formatResolvedProfileModelId, isBareVendorModelSku, isStrictProfileChoiceKey, requireSkillModelReference, } from "./aiProfileModelFormat.js";
4
+ import { isConcreteModelId } from "./concreteModelId.js";
5
+ import { defaultAiSkillsResolveAiProfileOptions, getAiSkillsAiProfilesSource, } from "./defaultAiProfilesResolveOptions.js";
6
+ import { optimixerModelProfileFromResolvedProfile, optimixerModelProfileFromWireModel, } from "./optimixerModelProfileFromResolved.js";
7
+ import { resolvePreferOpenRouterPolicy } from "./preferOpenRouterPolicy.js";
8
+ function openrouterModelIdFromInvocation(resolved) {
9
+ const or = resolved.invocation?.openrouter?.modelId?.trim();
10
+ if (or)
11
+ return or;
12
+ if (resolved.routing === "openrouter") {
13
+ const m = resolved.modelId.trim();
14
+ if (m.includes("/"))
15
+ return m;
16
+ return formatResolvedProfileModelId(resolved.provider, resolved.modelId);
17
+ }
18
+ return undefined;
19
+ }
20
+ function skillOpenRouterGatewayModelId(resolved) {
21
+ const or = openrouterModelIdFromInvocation(resolved);
22
+ if (!or)
23
+ return undefined;
24
+ return or.startsWith("openrouter/") ? or : `openrouter/${or}`;
25
+ }
26
+ function skillWireModelIdFromResolved(resolved) {
27
+ if (resolved.routing === "openrouter") {
28
+ const gateway = skillOpenRouterGatewayModelId(resolved);
29
+ if (gateway)
30
+ return gateway;
31
+ }
32
+ return formatResolvedProfileModelId(resolved.provider, resolved.modelId);
33
+ }
34
+ function wrapProfileResolutionError(err, alias, options) {
35
+ const slotPath = options?.slotPath ?? "modelConfig.model";
36
+ if (err instanceof AIProfilesError && err.code === "UNKNOWN_PROFILE_CHOICE") {
37
+ throwSkillModelResolutionError({ alias, slotPath, skillKey: options?.skillKey }, `Unknown model profile slot "${alias}". Use profile/choice (e.g. cheap/default) or a concrete provider model id.`, { cause: err });
38
+ }
39
+ if (err instanceof AIProfilesError && err.code === "UNKNOWN_PROFILE") {
40
+ throwSkillModelResolutionError({ alias, slotPath, skillKey: options?.skillKey }, `Unknown model profile alias "${alias}". Use a concrete provider model id or an @x12i/ai-profiles profile/choice key (e.g. cheap/default, pro/default).`, { cause: err });
41
+ }
42
+ throwSkillModelResolutionError({ alias, slotPath, skillKey: options?.skillKey }, `Failed to resolve model alias "${alias}" for skill invoke.`, { cause: err });
43
+ }
44
+ async function resolveProfileChoiceReference(alias, options) {
45
+ const { effectiveUseOpenRouter } = resolvePreferOpenRouterPolicy({
46
+ preferOpenRouter: options?.preferOpenRouter ?? options?.useOpenRouter,
47
+ openrouterApiKeyPresent: options?.openrouterApiKeyPresent,
48
+ });
49
+ let resolved;
50
+ try {
51
+ resolved = await resolveAIProfile(alias, defaultAiSkillsResolveAiProfileOptions({
52
+ profileInput: alias,
53
+ effectiveUseOpenRouter,
54
+ openrouterApiKeyPresent: options?.openrouterApiKeyPresent,
55
+ source: options?.source ?? getAiSkillsAiProfilesSource(),
56
+ catalogLane: options?.catalogLane,
57
+ }));
58
+ }
59
+ catch (err) {
60
+ wrapProfileResolutionError(err, alias, options);
61
+ }
62
+ return {
63
+ wireModel: skillWireModelIdFromResolved(resolved),
64
+ optimixerModelProfile: optimixerModelProfileFromResolvedProfile(resolved),
65
+ };
66
+ }
67
+ /**
68
+ * Resolve a model reference to gateway wire model + Optimixer catalog profile in one ai-profiles pass.
69
+ */
70
+ export async function resolveSkillModelReference(value, options) {
71
+ if (value === undefined)
72
+ return undefined;
73
+ const trimmed = value.trim();
74
+ if (!trimmed)
75
+ return undefined;
76
+ const slotPath = options?.slotPath ?? "modelConfig.model";
77
+ const validated = requireSkillModelReference(trimmed, slotPath);
78
+ if (isStrictProfileChoiceKey(validated)) {
79
+ return resolveProfileChoiceReference(validated, options);
80
+ }
81
+ const wireModel = isConcreteModelId(validated) || isBareVendorModelSku(validated) ? validated : validated;
82
+ const optimixerModelProfile = optimixerModelProfileFromWireModel(wireModel) ??
83
+ {
84
+ ...(wireModel.includes("/")
85
+ ? {
86
+ provider: wireModel.slice(0, wireModel.indexOf("/")),
87
+ model: wireModel.slice(wireModel.indexOf("/") + 1),
88
+ }
89
+ : { model: wireModel }),
90
+ };
91
+ return { wireModel, optimixerModelProfile };
92
+ }
93
+ //# sourceMappingURL=resolveSkillModelReference.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveSkillModelReference.js","sourceRoot":"","sources":["../../src/invocation/resolveSkillModelReference.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { ProfileCatalogLane, RegistrySourceMode } from "@x12i/ai-profiles";
2
+ import type { ResolveSkillModelReferenceOptions } from "./resolveSkillModelReference.js";
3
+ export type ResolveSkillProfileToWireModelOptions = ResolveSkillModelReferenceOptions & {
4
+ source?: RegistrySourceMode;
5
+ catalogLane?: ProfileCatalogLane;
6
+ };
7
+ /**
8
+ * Resolve an ai-profiles profile/choice (or concrete provider id) to the gateway wire model
9
+ * required by `@x12i/ai-gateway` MAIN invoke. Faulty profile input is rejected — not normalized.
10
+ */
11
+ export declare function resolveSkillProfileToWireModel(value: string | undefined, options?: ResolveSkillProfileToWireModelOptions): Promise<string | undefined>;
12
+ //# sourceMappingURL=resolveSkillProfileToWireModel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveSkillProfileToWireModel.d.ts","sourceRoot":"","sources":["../../src/invocation/resolveSkillProfileToWireModel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,iCAAiC,CAAC;AAGzF,MAAM,MAAM,qCAAqC,GAAG,iCAAiC,GAAG;IACtF,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,WAAW,CAAC,EAAE,kBAAkB,CAAC;CAClC,CAAC;AAEF;;;GAGG;AACH,wBAAsB,8BAA8B,CAClD,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,OAAO,CAAC,EAAE,qCAAqC,GAC9C,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAG7B"}
@@ -0,0 +1,10 @@
1
+ import { resolveSkillModelReference } from "./resolveSkillModelReference.js";
2
+ /**
3
+ * Resolve an ai-profiles profile/choice (or concrete provider id) to the gateway wire model
4
+ * required by `@x12i/ai-gateway` MAIN invoke. Faulty profile input is rejected — not normalized.
5
+ */
6
+ export async function resolveSkillProfileToWireModel(value, options) {
7
+ const resolved = await resolveSkillModelReference(value, options);
8
+ return resolved?.wireModel;
9
+ }
10
+ //# sourceMappingURL=resolveSkillProfileToWireModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveSkillProfileToWireModel.js","sourceRoot":"","sources":["../../src/invocation/resolveSkillProfileToWireModel.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAO7E;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,KAAyB,EACzB,OAA+C;IAE/C,MAAM,QAAQ,GAAG,MAAM,0BAA0B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAClE,OAAO,QAAQ,EAAE,SAAS,CAAC;AAC7B,CAAC"}
@@ -3,6 +3,7 @@ import type { ActivixRunContext } from "@x12i/activix-contracts";
3
3
  import { Optimixer, type AiMaxTokensPredictionInput, type AiMaxTokensPredictionResult, type AiMaxTokensRetryPrediction, type OptimixerReasoningEffort } from "@x12i/optimixer";
4
4
  import type { StackLoggingOptions } from "@x12i/logxer";
5
5
  import type { SkillOptimixerCatalogSpec } from "../catalox/skill-optimixer-catalog.js";
6
+ import type { OptimixerModelProfile } from "@x12i/optimixer";
6
7
  import type { ModelConfig, RunSkillRequest } from "../types.js";
7
8
  /** Must match `@x12i/ai-gateway` `resolveActivityTrackingConfig().collectionName`. */
8
9
  export declare const AI_SKILLS_OPTIMIXER_ACTIVIX_COLLECTION: "ai-actions";
@@ -26,6 +27,8 @@ export type BuildAiMaxTokensPredictionInputArgs = {
26
27
  promptText: string;
27
28
  workingMemory: Record<string, unknown>;
28
29
  runContext: ActivixRunContext;
30
+ /** Resolved provider + catalog model id from ai-profiles (required when modelConfig carries an alias). */
31
+ optimixerModelProfile?: OptimixerModelProfile;
29
32
  };
30
33
  export declare function buildAiMaxTokensPredictionInput(args: BuildAiMaxTokensPredictionInputArgs): AiMaxTokensPredictionInput;
31
34
  /** Strips caller-supplied max token caps — gateway v10 requires Optimixer-owned budgets here. */
@@ -1 +1 @@
1
- {"version":3,"file":"skills-optimixer.d.ts","sourceRoot":"","sources":["../../src/optimixer/skills-optimixer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EACH,SAAS,EACT,KAAK,0BAA0B,EAC/B,KAAK,2BAA2B,EAChC,KAAK,0BAA0B,EAC/B,KAAK,wBAAwB,EAChC,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAGvF,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEhE,sFAAsF;AACtF,eAAO,MAAM,sCAAsC,EAAG,YAAqB,CAAC;AAE5E,0FAA0F;AAC1F,eAAO,MAAM,kCAAkC,kBAA+D,CAAC;AAE/G,2DAA2D;AAC3D,eAAO,MAAM,sCAAsC,IAAI,CAAC;AAExD;;GAEG;AACH,wBAAgB,+BAA+B,CAC3C,WAAW,EAAE,WAAW,GAAG,SAAS,EACpC,OAAO,EAAE,yBAAyB,GACnC,wBAAwB,CAK1B;AAMD,wBAAgB,4BAA4B,IAAI,IAAI,CAInD;AAED,8EAA8E;AAC9E,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI,CAI5E;AAsBD,wBAAsB,0BAA0B,CAC5C,OAAO,EAAE,SAAS,EAClB,OAAO,CAAC,EAAE,mBAAmB,GAC9B,OAAO,CAAC,SAAS,CAAC,CAUpB;AAED,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAS1D;AAED,MAAM,MAAM,mCAAmC,GAAG;IAC9C,YAAY,EAAE,eAAe,CAAC;IAC9B,gBAAgB,EAAE,yBAAyB,CAAC;IAC5C,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,UAAU,EAAE,iBAAiB,CAAC;CACjC,CAAC;AAEF,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,mCAAmC,GAAG,0BAA0B,CAgCrH;AAED,iGAAiG;AACjG,wBAAgB,iCAAiC,CAAC,WAAW,EAAE,WAAW,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAS/G;AAED,wBAAgB,uCAAuC,CACnD,WAAW,EAAE,WAAW,GAAG,SAAS,EACpC,UAAU,EAAE,2BAA2B,EACvC,gBAAgB,CAAC,EAAE,yBAAyB,GAC7C,WAAW,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAYrC;AAED,gFAAgF;AAChF,wBAAgB,mCAAmC,CAC/C,WAAW,EAAE,WAAW,GAAG,SAAS,EACpC,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,0BAA0B,EAC3C,gBAAgB,CAAC,EAAE,yBAAyB,GAC7C,WAAW,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAMrC;AAED,wBAAsB,wBAAwB,CAC1C,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,0BAA0B,GAClC,OAAO,CAAC,2BAA2B,CAAC,CAEtC"}
1
+ {"version":3,"file":"skills-optimixer.d.ts","sourceRoot":"","sources":["../../src/optimixer/skills-optimixer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EACH,SAAS,EACT,KAAK,0BAA0B,EAC/B,KAAK,2BAA2B,EAChC,KAAK,0BAA0B,EAC/B,KAAK,wBAAwB,EAChC,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAGvF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEhE,sFAAsF;AACtF,eAAO,MAAM,sCAAsC,EAAG,YAAqB,CAAC;AAE5E,0FAA0F;AAC1F,eAAO,MAAM,kCAAkC,kBAA+D,CAAC;AAE/G,2DAA2D;AAC3D,eAAO,MAAM,sCAAsC,IAAI,CAAC;AAExD;;GAEG;AACH,wBAAgB,+BAA+B,CAC3C,WAAW,EAAE,WAAW,GAAG,SAAS,EACpC,OAAO,EAAE,yBAAyB,GACnC,wBAAwB,CAK1B;AAMD,wBAAgB,4BAA4B,IAAI,IAAI,CAInD;AAED,8EAA8E;AAC9E,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI,CAI5E;AAsBD,wBAAsB,0BAA0B,CAC5C,OAAO,EAAE,SAAS,EAClB,OAAO,CAAC,EAAE,mBAAmB,GAC9B,OAAO,CAAC,SAAS,CAAC,CAUpB;AAED,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAS1D;AAED,MAAM,MAAM,mCAAmC,GAAG;IAC9C,YAAY,EAAE,eAAe,CAAC;IAC9B,gBAAgB,EAAE,yBAAyB,CAAC;IAC5C,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,UAAU,EAAE,iBAAiB,CAAC;IAC9B,0GAA0G;IAC1G,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;CACjD,CAAC;AAEF,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,mCAAmC,GAAG,0BAA0B,CAkCrH;AAED,iGAAiG;AACjG,wBAAgB,iCAAiC,CAAC,WAAW,EAAE,WAAW,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAS/G;AAED,wBAAgB,uCAAuC,CACnD,WAAW,EAAE,WAAW,GAAG,SAAS,EACpC,UAAU,EAAE,2BAA2B,EACvC,gBAAgB,CAAC,EAAE,yBAAyB,GAC7C,WAAW,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAYrC;AAED,gFAAgF;AAChF,wBAAgB,mCAAmC,CAC/C,WAAW,EAAE,WAAW,GAAG,SAAS,EACpC,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,0BAA0B,EAC3C,gBAAgB,CAAC,EAAE,yBAAyB,GAC7C,WAAW,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAMrC;AAED,wBAAsB,wBAAwB,CAC1C,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,0BAA0B,GAClC,OAAO,CAAC,2BAA2B,CAAC,CAEtC"}
@@ -92,15 +92,17 @@ export function buildAiMaxTokensPredictionInput(args) {
92
92
  ...(catalog.outputMode !== undefined ? { outputMode: catalog.outputMode } : {}),
93
93
  ...(catalog.schemaComplexity !== undefined ? { schemaComplexity: catalog.schemaComplexity } : {}),
94
94
  constraints: { allowRetryPrediction: true },
95
- ...(modelConfig?.provider !== undefined || modelConfig?.model !== undefined || modelConfig?.modelId !== undefined
96
- ? {
97
- modelProfile: {
98
- ...(modelConfig.provider !== undefined ? { provider: modelConfig.provider } : {}),
99
- ...(modelConfig.model !== undefined ? { model: modelConfig.model } : {}),
100
- ...(modelConfig.modelId !== undefined ? { model: modelConfig.modelId } : {}),
101
- },
102
- }
103
- : {}),
95
+ ...(args.optimixerModelProfile !== undefined
96
+ ? { modelProfile: args.optimixerModelProfile }
97
+ : modelConfig?.provider !== undefined || modelConfig?.model !== undefined || modelConfig?.modelId !== undefined
98
+ ? {
99
+ modelProfile: {
100
+ ...(modelConfig.provider !== undefined ? { provider: modelConfig.provider } : {}),
101
+ ...(modelConfig.model !== undefined ? { model: modelConfig.model } : {}),
102
+ ...(modelConfig.modelId !== undefined ? { model: modelConfig.modelId } : {}),
103
+ },
104
+ }
105
+ : {}),
104
106
  runContext: args.runContext,
105
107
  };
106
108
  }
@@ -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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"}
package/dist/types.d.ts CHANGED
@@ -58,9 +58,9 @@ import type { OptimixerReasoningEffort } from "@x12i/optimixer";
58
58
  */
59
59
  export interface ModelConfig {
60
60
  /**
61
- * **Required for invoke:** concrete provider wire model id (e.g. `gpt-4o-mini`,
62
- * `openrouter/anthropic/claude-sonnet-4.5`). Resolve ai-profiles aliases in `@exellix/ai-tasks`
63
- * before `runSkill()` this package rejects missing model and alias-shaped values.
61
+ * **Required for invoke:** ai-profiles `profile/choice` (e.g. `pro/default`) or concrete provider
62
+ * wire model id (e.g. `gpt-4o-mini`, `openrouter/anthropic/claude-sonnet-4.5`). Aliases are resolved
63
+ * to wire ids at `runSkill()` entry via `@x12i/ai-profiles`.
64
64
  */
65
65
  model?: string;
66
66
  /**
@@ -11,8 +11,8 @@ export type ModelConfigValidationIssue = {
11
11
  };
12
12
  /**
13
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.
14
+ * Call after {@link resolveModelConfigForSkillInvoke} when checking the gateway wire model;
15
+ * before resolution, `model` may be an ai-profiles profile/choice alias.
16
16
  */
17
17
  export declare function assessModelConfigForInvoke(modelConfig: ModelConfig | undefined): ModelConfigValidationIssue | undefined;
18
18
  /**
@@ -14,15 +14,15 @@ export function resolveWireModelFromModelConfig(modelConfig) {
14
14
  }
15
15
  /**
16
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.
17
+ * Call after {@link resolveModelConfigForSkillInvoke} when checking the gateway wire model;
18
+ * before resolution, `model` may be an ai-profiles profile/choice alias.
19
19
  */
20
20
  export function assessModelConfigForInvoke(modelConfig) {
21
21
  const wire = resolveWireModelFromModelConfig(modelConfig);
22
22
  if (!wire) {
23
23
  return {
24
24
  code: "MODEL_MISSING",
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.`,
25
+ message: `${MODEL_CONFIG_VALIDATION_ERROR_PREFIX} RunSkillRequest.modelConfig requires a non-empty model (\`model\` or \`modelId\`): ai-profiles profile/choice (e.g. pro/default) or a concrete provider id. @exellix/ai-skills resolves profiles at invoke; no gateway default models.`,
26
26
  };
27
27
  }
28
28
  return undefined;
@@ -1 +1 @@
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"}
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,yOAAyO;SAC5R,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"}
package/erc-manifest.json CHANGED
@@ -1,11 +1,11 @@
1
- {
2
- "component": "nx-mongo",
3
- "version": "4.0.0",
4
- "ercCompliant": true,
5
- "ercVersion": "1.1.0",
6
- "requirements": {
7
- "required": [],
8
- "optional": []
9
- },
10
- "dependencies": []
1
+ {
2
+ "component": "nx-mongo",
3
+ "version": "4.0.0",
4
+ "ercCompliant": true,
5
+ "ercVersion": "1.1.0",
6
+ "requirements": {
7
+ "required": [],
8
+ "optional": []
9
+ },
10
+ "dependencies": []
11
11
  }