@exellix/ai-skills 6.2.2 → 6.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/analysis/analyze-skill-request.d.ts +13 -0
- package/dist/analysis/analyze-skill-request.d.ts.map +1 -0
- package/dist/analysis/analyze-skill-request.js +103 -0
- package/dist/analysis/analyze-skill-request.js.map +1 -0
- package/dist/analysis/build-skill-request-analysis-packet.d.ts +14 -0
- package/dist/analysis/build-skill-request-analysis-packet.d.ts.map +1 -0
- package/dist/analysis/build-skill-request-analysis-packet.js +106 -0
- package/dist/analysis/build-skill-request-analysis-packet.js.map +1 -0
- package/dist/analysis/collect-deterministic-findings.d.ts +14 -0
- package/dist/analysis/collect-deterministic-findings.d.ts.map +1 -0
- package/dist/analysis/collect-deterministic-findings.js +245 -0
- package/dist/analysis/collect-deterministic-findings.js.map +1 -0
- package/dist/analysis/constants.d.ts +5 -0
- package/dist/analysis/constants.d.ts.map +1 -0
- package/dist/analysis/constants.js +5 -0
- package/dist/analysis/constants.js.map +1 -0
- package/dist/analysis/format-skill-request-analysis-markdown.d.ts +8 -0
- package/dist/analysis/format-skill-request-analysis-markdown.d.ts.map +1 -0
- package/dist/analysis/format-skill-request-analysis-markdown.js +121 -0
- package/dist/analysis/format-skill-request-analysis-markdown.js.map +1 -0
- package/dist/analysis/path-utils.d.ts +11 -0
- package/dist/analysis/path-utils.d.ts.map +1 -0
- package/dist/analysis/path-utils.js +69 -0
- package/dist/analysis/path-utils.js.map +1 -0
- package/dist/analysis/sanitize-for-packet.d.ts +28 -0
- package/dist/analysis/sanitize-for-packet.d.ts.map +1 -0
- package/dist/analysis/sanitize-for-packet.js +107 -0
- package/dist/analysis/sanitize-for-packet.js.map +1 -0
- package/dist/analysis/types.d.ts +124 -0
- package/dist/analysis/types.d.ts.map +1 -0
- package/dist/analysis/types.js +2 -0
- package/dist/analysis/types.js.map +1 -0
- package/dist/catalog/canonical-skill-key.d.ts +5 -0
- package/dist/catalog/canonical-skill-key.d.ts.map +1 -0
- package/dist/catalog/canonical-skill-key.js +16 -0
- package/dist/catalog/canonical-skill-key.js.map +1 -0
- package/dist/catalog/constants.d.ts +7 -0
- package/dist/catalog/constants.d.ts.map +1 -0
- package/dist/catalog/constants.js +7 -0
- package/dist/catalog/constants.js.map +1 -0
- package/dist/catalog/env.d.ts +4 -0
- package/dist/catalog/env.d.ts.map +1 -0
- package/dist/catalog/env.js +15 -0
- package/dist/catalog/env.js.map +1 -0
- package/dist/catalog/gateway-template.d.ts +6 -0
- package/dist/catalog/gateway-template.d.ts.map +1 -0
- package/dist/catalog/gateway-template.js +15 -0
- package/dist/catalog/gateway-template.js.map +1 -0
- package/dist/catalog/index.d.ts +3 -0
- package/dist/catalog/index.d.ts.map +1 -0
- package/dist/catalog/index.js +3 -0
- package/dist/catalog/index.js.map +1 -0
- package/dist/catalog/seed.d.ts +12 -0
- package/dist/catalog/seed.d.ts.map +1 -0
- package/dist/catalog/seed.js +45 -0
- package/dist/catalog/seed.js.map +1 -0
- package/dist/catalog/skill-catalog.d.ts +28 -0
- package/dist/catalog/skill-catalog.d.ts.map +1 -0
- package/dist/catalog/skill-catalog.js +139 -0
- package/dist/catalog/skill-catalog.js.map +1 -0
- package/dist/catalog/store-factory.d.ts +18 -0
- package/dist/catalog/store-factory.d.ts.map +1 -0
- package/dist/catalog/store-factory.js +36 -0
- package/dist/catalog/store-factory.js.map +1 -0
- package/dist/catalog/types.d.ts +61 -0
- package/dist/catalog/types.d.ts.map +1 -0
- package/dist/catalog/types.js +22 -0
- package/dist/catalog/types.js.map +1 -0
- package/dist/client/audit-manager.d.ts +27 -0
- package/dist/client/audit-manager.d.ts.map +1 -0
- package/dist/client/audit-manager.js +260 -0
- package/dist/client/audit-manager.js.map +1 -0
- package/dist/client/invoke-skill-via-funcx.d.ts +11 -0
- package/dist/client/invoke-skill-via-funcx.d.ts.map +1 -0
- package/dist/client/invoke-skill-via-funcx.js +51 -0
- package/dist/client/invoke-skill-via-funcx.js.map +1 -0
- package/dist/client/skill-executor.d.ts.map +1 -1
- package/dist/client/skill-executor.js +3 -9
- package/dist/client/skill-executor.js.map +1 -1
- package/dist/client/task-executor.d.ts +21 -0
- package/dist/client/task-executor.d.ts.map +1 -0
- package/dist/client/task-executor.js +50 -0
- package/dist/client/task-executor.js.map +1 -0
- package/dist/errors/skillModelResolutionError.d.ts +28 -0
- package/dist/errors/skillModelResolutionError.d.ts.map +1 -0
- package/dist/errors/{skill-model-resolution-error.js → skillModelResolutionError.js} +12 -15
- package/dist/errors/skillModelResolutionError.js.map +1 -0
- package/dist/index.d.ts +7 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/invocation/resolveModelConfigForSkillInvoke.d.ts +6 -11
- package/dist/invocation/resolveModelConfigForSkillInvoke.d.ts.map +1 -1
- package/dist/invocation/resolveModelConfigForSkillInvoke.js +11 -23
- package/dist/invocation/resolveModelConfigForSkillInvoke.js.map +1 -1
- package/dist/invocation/resolveSkillProfileToWireModel.d.ts +14 -2
- package/dist/invocation/resolveSkillProfileToWireModel.d.ts.map +1 -1
- package/dist/invocation/resolveSkillProfileToWireModel.js +93 -2
- package/dist/invocation/resolveSkillProfileToWireModel.js.map +1 -1
- package/dist/metadata.d.ts +7 -0
- package/dist/metadata.d.ts.map +1 -0
- package/dist/metadata.js +65 -0
- package/dist/metadata.js.map +1 -0
- package/dist/optimixer/build-optimixer-model-profile.d.ts +18 -0
- package/dist/optimixer/build-optimixer-model-profile.d.ts.map +1 -0
- package/dist/optimixer/build-optimixer-model-profile.js +69 -0
- package/dist/optimixer/build-optimixer-model-profile.js.map +1 -0
- package/dist/optimixer/skills-optimixer.d.ts +2 -3
- package/dist/optimixer/skills-optimixer.d.ts.map +1 -1
- package/dist/optimixer/skills-optimixer.js +8 -11
- package/dist/optimixer/skills-optimixer.js.map +1 -1
- package/erc-manifest.json +10 -10
- package/package.json +2 -2
- package/dist/errors/skill-model-resolution-error.d.ts +0 -28
- package/dist/errors/skill-model-resolution-error.d.ts.map +0 -1
- package/dist/errors/skill-model-resolution-error.js.map +0 -1
- package/dist/invocation/optimixerModelProfileFromResolved.d.ts +0 -5
- package/dist/invocation/optimixerModelProfileFromResolved.d.ts.map +0 -1
- package/dist/invocation/optimixerModelProfileFromResolved.js +0 -76
- package/dist/invocation/optimixerModelProfileFromResolved.js.map +0 -1
- package/dist/invocation/resolveSkillModelReference.d.ts +0 -18
- package/dist/invocation/resolveSkillModelReference.d.ts.map +0 -1
- package/dist/invocation/resolveSkillModelReference.js +0 -93
- package/dist/invocation/resolveSkillModelReference.js.map +0 -1
|
@@ -1,22 +1,20 @@
|
|
|
1
|
-
/** Stable machine-readable code
|
|
1
|
+
/** Stable machine-readable code for ai-profiles alias resolution failures at skill invoke. */
|
|
2
2
|
export const SKILL_MODEL_RESOLUTION_FAILED = "SKILL_MODEL_RESOLUTION_FAILED";
|
|
3
3
|
/**
|
|
4
|
-
* Thrown when
|
|
5
|
-
*
|
|
4
|
+
* Thrown when `@x12i/ai-profiles` cannot resolve a profile/choice alias before Optimixer or gateway invoke.
|
|
5
|
+
* Hosts should map {@link SkillModelResolutionError.code} to Activix attempt `errorCode`.
|
|
6
6
|
*/
|
|
7
7
|
export class SkillModelResolutionError extends Error {
|
|
8
8
|
code = SKILL_MODEL_RESOLUTION_FAILED;
|
|
9
9
|
alias;
|
|
10
10
|
slotPath;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
constructor(details, message, options) {
|
|
11
|
+
diagnostics;
|
|
12
|
+
constructor(message, diagnostics, options) {
|
|
14
13
|
super(message, options?.cause !== undefined ? { cause: options.cause } : undefined);
|
|
15
14
|
this.name = "SkillModelResolutionError";
|
|
16
|
-
this.alias =
|
|
17
|
-
this.slotPath =
|
|
18
|
-
this.
|
|
19
|
-
this.details = details;
|
|
15
|
+
this.alias = diagnostics?.alias;
|
|
16
|
+
this.slotPath = diagnostics?.slotPath;
|
|
17
|
+
this.diagnostics = diagnostics;
|
|
20
18
|
Object.setPrototypeOf(this, new.target.prototype);
|
|
21
19
|
}
|
|
22
20
|
toJSON() {
|
|
@@ -26,8 +24,7 @@ export class SkillModelResolutionError extends Error {
|
|
|
26
24
|
message: this.message,
|
|
27
25
|
alias: this.alias,
|
|
28
26
|
slotPath: this.slotPath,
|
|
29
|
-
|
|
30
|
-
details: this.details,
|
|
27
|
+
diagnostics: this.diagnostics,
|
|
31
28
|
};
|
|
32
29
|
}
|
|
33
30
|
}
|
|
@@ -39,7 +36,7 @@ export function isSkillModelResolutionError(error) {
|
|
|
39
36
|
error.name === "SkillModelResolutionError" &&
|
|
40
37
|
error.code === SKILL_MODEL_RESOLUTION_FAILED);
|
|
41
38
|
}
|
|
42
|
-
export function throwSkillModelResolutionError(
|
|
43
|
-
throw new SkillModelResolutionError({
|
|
39
|
+
export function throwSkillModelResolutionError(alias, message, slotPath = "modelConfig.model", options) {
|
|
40
|
+
throw new SkillModelResolutionError(message, { alias, slotPath }, options);
|
|
44
41
|
}
|
|
45
|
-
//# sourceMappingURL=
|
|
42
|
+
//# sourceMappingURL=skillModelResolutionError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skillModelResolutionError.js","sourceRoot":"","sources":["../../src/errors/skillModelResolutionError.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,MAAM,CAAC,MAAM,6BAA6B,GAAG,+BAAwC,CAAC;AAWtF;;;GAGG;AACH,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IACzC,IAAI,GAAkC,6BAA6B,CAAC;IACpE,KAAK,CAAU;IACf,QAAQ,CAAU;IAClB,WAAW,CAAwC;IAE5D,YAAY,OAAe,EAAE,WAAkD,EAAE,OAA6B;QAC5G,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACpF,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;QACxC,IAAI,CAAC,KAAK,GAAG,WAAW,EAAE,KAAK,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,WAAW,EAAE,QAAQ,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;IAED,MAAM;QACJ,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC;IACJ,CAAC;CACF;AAED,MAAM,UAAU,2BAA2B,CAAC,KAAc;IACxD,IAAI,KAAK,YAAY,yBAAyB;QAAE,OAAO,IAAI,CAAC;IAC5D,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACb,KAAe,CAAC,IAAI,KAAK,2BAA2B;QACpD,KAAmC,CAAC,IAAI,KAAK,6BAA6B,CAC5E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,KAAa,EACb,OAAe,EACf,QAAQ,GAAG,mBAAmB,EAC9B,OAA6B;IAE7B,MAAM,IAAI,yBAAyB,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAC;AAC7E,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -6,8 +6,6 @@ export { SkillExecutor } from "./client/skill-executor.js";
|
|
|
6
6
|
export { BaseClient } from "./client/base-client.js";
|
|
7
7
|
export { runtimeObjects } from "./runtime-objects.js";
|
|
8
8
|
export { SkillExecutionTraceError } from "./skill-execution-trace-error.js";
|
|
9
|
-
export { SKILL_MODEL_RESOLUTION_FAILED, SkillModelResolutionError, isSkillModelResolutionError, throwSkillModelResolutionError, } from "./errors/skill-model-resolution-error.js";
|
|
10
|
-
export type { SkillModelResolutionErrorDetails } from "./errors/skill-model-resolution-error.js";
|
|
11
9
|
export { includeRawProviderPayload, isTraceExecutionMode, } from "./diagnostics/trace-mode.js";
|
|
12
10
|
export { billingSnapshotFromGatewayMetadata, mapGatewayInvokeToTrace, metadataFromInvokeError, traceToDiagnostics, } from "./diagnostics/map-gateway-trace.js";
|
|
13
11
|
export { enrichParsedForOutputContract, resolveOutputContractFields, parseMarkdownSectionsToFields, markdownHeadingToFieldKey, } from "./utils/normalize-output-parsed.js";
|
|
@@ -30,12 +28,13 @@ export type { ModelConfigValidationIssue } from "./utils/validate-model-config-f
|
|
|
30
28
|
export { isConcreteModelId, } from "./invocation/concreteModelId.js";
|
|
31
29
|
export { isResolvableModelAlias, isStrictProfileChoiceKey, normalizeProfileSlotInput, requireSkillModelReference, requireStrictProfileChoiceKey, toStrictAiProfileResolveInput, formatResolvedProfileModelId, } from "./invocation/aiProfileModelFormat.js";
|
|
32
30
|
export { resolvePreferOpenRouterPolicy, detectOpenRouterApiKeyPresent, readPreferOpenRouterFromEnv, } from "./invocation/preferOpenRouterPolicy.js";
|
|
33
|
-
export { resolveSkillProfileToWireModel, } from "./invocation/resolveSkillProfileToWireModel.js";
|
|
34
|
-
export type { ResolveSkillProfileToWireModelOptions } from "./invocation/resolveSkillProfileToWireModel.js";
|
|
35
|
-
export {
|
|
36
|
-
export type {
|
|
37
|
-
export {
|
|
38
|
-
export type {
|
|
31
|
+
export { resolveSkillProfileToWireModel, resolveSkillProfileForInvoke, } from "./invocation/resolveSkillProfileToWireModel.js";
|
|
32
|
+
export type { ResolveSkillProfileToWireModelOptions, ResolvedSkillProfileForInvoke, } from "./invocation/resolveSkillProfileToWireModel.js";
|
|
33
|
+
export { resolveModelConfigForSkillInvoke, } from "./invocation/resolveModelConfigForSkillInvoke.js";
|
|
34
|
+
export type { ResolvedModelConfigForSkillInvoke } from "./invocation/resolveModelConfigForSkillInvoke.js";
|
|
35
|
+
export { SkillModelResolutionError, SKILL_MODEL_RESOLUTION_FAILED, isSkillModelResolutionError, throwSkillModelResolutionError, } from "./errors/skillModelResolutionError.js";
|
|
36
|
+
export type { SkillModelResolutionErrorCode, SkillModelResolutionErrorDiagnostics, } from "./errors/skillModelResolutionError.js";
|
|
37
|
+
export { buildOptimixerModelProfileFromModelConfig, splitGatewayWireModelForOptimixer, } from "./optimixer/build-optimixer-model-profile.js";
|
|
39
38
|
export { getAiSkillsAiProfilesSource, AI_SKILLS_DEFAULT_CATALOG_LANE, } from "./invocation/defaultAiProfilesResolveOptions.js";
|
|
40
39
|
export { effectiveModelConfigFromGatewayMetadata, gatewayExecutionSummaryFromInvokeResponse, } from "./utils/gateway-execution-summary.js";
|
|
41
40
|
export type { GatewayExecutionSummary } from "./utils/gateway-execution-summary.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EACH,oCAAoC,EACpC,4BAA4B,EAC5B,4BAA4B,EAC5B,yCAAyC,EACzC,iCAAiC,EACjC,gCAAgC,EAChC,qBAAqB,EACrB,2BAA2B,EAC3B,qBAAqB,EACrB,kBAAkB,GACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,oCAAoC,EAAE,MAAM,qCAAqC,CAAC;AAC3F,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EACH,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -5,7 +5,6 @@ export { SkillExecutor } from "./client/skill-executor.js";
|
|
|
5
5
|
export { BaseClient } from "./client/base-client.js";
|
|
6
6
|
export { runtimeObjects } from "./runtime-objects.js";
|
|
7
7
|
export { SkillExecutionTraceError } from "./skill-execution-trace-error.js";
|
|
8
|
-
export { SKILL_MODEL_RESOLUTION_FAILED, SkillModelResolutionError, isSkillModelResolutionError, throwSkillModelResolutionError, } from "./errors/skill-model-resolution-error.js";
|
|
9
8
|
export { includeRawProviderPayload, isTraceExecutionMode, } from "./diagnostics/trace-mode.js";
|
|
10
9
|
export { billingSnapshotFromGatewayMetadata, mapGatewayInvokeToTrace, metadataFromInvokeError, traceToDiagnostics, } from "./diagnostics/map-gateway-trace.js";
|
|
11
10
|
export { enrichParsedForOutputContract, resolveOutputContractFields, parseMarkdownSectionsToFields, markdownHeadingToFieldKey, } from "./utils/normalize-output-parsed.js";
|
|
@@ -24,9 +23,10 @@ export { assessModelConfigForInvoke, MODEL_CONFIG_VALIDATION_ERROR_PREFIX, resol
|
|
|
24
23
|
export { isConcreteModelId, } from "./invocation/concreteModelId.js";
|
|
25
24
|
export { isResolvableModelAlias, isStrictProfileChoiceKey, normalizeProfileSlotInput, requireSkillModelReference, requireStrictProfileChoiceKey, toStrictAiProfileResolveInput, formatResolvedProfileModelId, } from "./invocation/aiProfileModelFormat.js";
|
|
26
25
|
export { resolvePreferOpenRouterPolicy, detectOpenRouterApiKeyPresent, readPreferOpenRouterFromEnv, } from "./invocation/preferOpenRouterPolicy.js";
|
|
27
|
-
export { resolveSkillProfileToWireModel, } from "./invocation/resolveSkillProfileToWireModel.js";
|
|
28
|
-
export {
|
|
29
|
-
export {
|
|
26
|
+
export { resolveSkillProfileToWireModel, resolveSkillProfileForInvoke, } from "./invocation/resolveSkillProfileToWireModel.js";
|
|
27
|
+
export { resolveModelConfigForSkillInvoke, } from "./invocation/resolveModelConfigForSkillInvoke.js";
|
|
28
|
+
export { SkillModelResolutionError, SKILL_MODEL_RESOLUTION_FAILED, isSkillModelResolutionError, throwSkillModelResolutionError, } from "./errors/skillModelResolutionError.js";
|
|
29
|
+
export { buildOptimixerModelProfileFromModelConfig, splitGatewayWireModelForOptimixer, } from "./optimixer/build-optimixer-model-profile.js";
|
|
30
30
|
export { getAiSkillsAiProfilesSource, AI_SKILLS_DEFAULT_CATALOG_LANE, } from "./invocation/defaultAiProfilesResolveOptions.js";
|
|
31
31
|
export { effectiveModelConfigFromGatewayMetadata, gatewayExecutionSummaryFromInvokeResponse, } from "./utils/gateway-execution-summary.js";
|
|
32
32
|
export { AI_SKILLS_LOGXER_ENV_PREFIX, AI_SKILLS_LOGXER_PACKAGE, AI_SKILLS_LOGXER_DEBUG_NAMESPACE, AI_SKILLS_LOGXER_PACKAGE_CONFIG, AI_SKILLS_STACK_LOG_PREFIXES, buildAiSkillsLogxerLoggingConfig, createAiSkillsLogger, createAiSkillsLogxer, readAiSkillsLibraryVersion, resolveAiSkillsDiagnosticCatalogPath, resolveAiSkillsVerbose, } from "./utils/exellix-skills-logxer-defaults.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACH,oCAAoC,EACpC,4BAA4B,EAC5B,4BAA4B,EAC5B,yCAAyC,EACzC,iCAAiC,EACjC,gCAAgC,EAChC,qBAAqB,EACrB,2BAA2B,EAC3B,qBAAqB,EACrB,kBAAkB,GACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,oCAAoC,EAAE,MAAM,qCAAqC,CAAC;AAC3F,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EACH,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,13 @@
|
|
|
1
|
-
import type { OptimixerModelProfile } from "@x12i/optimixer";
|
|
2
1
|
import type { ModelConfig } from "../types.js";
|
|
3
|
-
import type {
|
|
4
|
-
export type
|
|
5
|
-
export type ResolvedSkillModelForInvoke = {
|
|
2
|
+
import type { ResolveSkillProfileToWireModelOptions } from "./resolveSkillProfileToWireModel.js";
|
|
3
|
+
export type ResolvedModelConfigForSkillInvoke = {
|
|
6
4
|
modelConfig: ModelConfig | undefined;
|
|
7
|
-
|
|
5
|
+
/** When alias resolution ran, whether the resolved SKU supports reasoning (Optimixer catalog signal). */
|
|
6
|
+
supportsReasoning?: boolean;
|
|
8
7
|
};
|
|
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
8
|
/**
|
|
14
9
|
* Resolve {@link ModelConfig.model} / `modelId` when it carries an ai-profiles profile/choice alias.
|
|
15
|
-
* Concrete provider ids pass through unchanged.
|
|
10
|
+
* Concrete provider ids pass through unchanged; resolved wire model + provider are written back.
|
|
16
11
|
*/
|
|
17
|
-
export declare function resolveModelConfigForSkillInvoke(modelConfig: ModelConfig | undefined, options?: ResolveSkillProfileToWireModelOptions): Promise<
|
|
12
|
+
export declare function resolveModelConfigForSkillInvoke(modelConfig: ModelConfig | undefined, options?: ResolveSkillProfileToWireModelOptions): Promise<ResolvedModelConfigForSkillInvoke>;
|
|
18
13
|
//# sourceMappingURL=resolveModelConfigForSkillInvoke.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveModelConfigForSkillInvoke.d.ts","sourceRoot":"","sources":["../../src/invocation/resolveModelConfigForSkillInvoke.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resolveModelConfigForSkillInvoke.d.ts","sourceRoot":"","sources":["../../src/invocation/resolveModelConfigForSkillInvoke.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,KAAK,EAAE,qCAAqC,EAAE,MAAM,qCAAqC,CAAC;AAGjG,MAAM,MAAM,iCAAiC,GAAG;IAC9C,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;IACrC,yGAAyG;IACzG,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF;;;GAGG;AACH,wBAAsB,gCAAgC,CACpD,WAAW,EAAE,WAAW,GAAG,SAAS,EACpC,OAAO,CAAC,EAAE,qCAAqC,GAC9C,OAAO,CAAC,iCAAiC,CAAC,CAsB5C"}
|
|
@@ -1,42 +1,30 @@
|
|
|
1
1
|
import { resolveWireModelFromModelConfig } from "../utils/validate-model-config-for-invoke.js";
|
|
2
|
-
import {
|
|
2
|
+
import { resolveSkillProfileForInvoke } from "./resolveSkillProfileToWireModel.js";
|
|
3
3
|
/**
|
|
4
|
-
* Resolve {@link ModelConfig.model} / `modelId`
|
|
4
|
+
* Resolve {@link ModelConfig.model} / `modelId` when it carries an ai-profiles profile/choice alias.
|
|
5
|
+
* Concrete provider ids pass through unchanged; resolved wire model + provider are written back.
|
|
5
6
|
*/
|
|
6
|
-
export async function
|
|
7
|
-
if (modelConfig === undefined)
|
|
8
|
-
return { modelConfig
|
|
9
|
-
}
|
|
7
|
+
export async function resolveModelConfigForSkillInvoke(modelConfig, options) {
|
|
8
|
+
if (modelConfig === undefined)
|
|
9
|
+
return { modelConfig };
|
|
10
10
|
const wire = resolveWireModelFromModelConfig(modelConfig);
|
|
11
|
-
if (!wire)
|
|
11
|
+
if (!wire)
|
|
12
12
|
return { modelConfig };
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
...options,
|
|
16
|
-
slotPath: options?.slotPath ?? "modelConfig.model",
|
|
17
|
-
});
|
|
18
|
-
if (!resolved) {
|
|
13
|
+
const resolved = await resolveSkillProfileForInvoke(wire, options);
|
|
14
|
+
if (!resolved || resolved.wireModel === wire) {
|
|
19
15
|
return { modelConfig };
|
|
20
16
|
}
|
|
21
17
|
const next = {
|
|
22
18
|
...modelConfig,
|
|
23
19
|
model: resolved.wireModel,
|
|
24
|
-
provider: resolved.
|
|
20
|
+
provider: resolved.provider,
|
|
25
21
|
};
|
|
26
22
|
if ("modelId" in next) {
|
|
27
23
|
delete next.modelId;
|
|
28
24
|
}
|
|
29
25
|
return {
|
|
30
26
|
modelConfig: next,
|
|
31
|
-
|
|
27
|
+
supportsReasoning: resolved.supportsReasoning,
|
|
32
28
|
};
|
|
33
29
|
}
|
|
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
30
|
//# sourceMappingURL=resolveModelConfigForSkillInvoke.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveModelConfigForSkillInvoke.js","sourceRoot":"","sources":["../../src/invocation/resolveModelConfigForSkillInvoke.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resolveModelConfigForSkillInvoke.js","sourceRoot":"","sources":["../../src/invocation/resolveModelConfigForSkillInvoke.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,+BAA+B,EAAE,MAAM,8CAA8C,CAAC;AAE/F,OAAO,EAAE,4BAA4B,EAAE,MAAM,qCAAqC,CAAC;AAQnF;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gCAAgC,CACpD,WAAoC,EACpC,OAA+C;IAE/C,IAAI,WAAW,KAAK,SAAS;QAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IACtD,MAAM,IAAI,GAAG,+BAA+B,CAAC,WAAW,CAAC,CAAC;IAC1D,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IAElC,MAAM,QAAQ,GAAG,MAAM,4BAA4B,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnE,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;QAC7C,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,QAAQ;KAC5B,CAAC;IACF,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;QACtB,OAAQ,IAAgC,CAAC,OAAO,CAAC;IACnD,CAAC;IACD,OAAO;QACL,WAAW,EAAE,IAAI;QACjB,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;KAC9C,CAAC;AACJ,CAAC"}
|
|
@@ -1,9 +1,21 @@
|
|
|
1
1
|
import type { ProfileCatalogLane, RegistrySourceMode } from "@x12i/ai-profiles";
|
|
2
|
-
import type {
|
|
3
|
-
export type ResolveSkillProfileToWireModelOptions =
|
|
2
|
+
import type { PreferOpenRouterPolicyInput } from "./preferOpenRouterPolicy.js";
|
|
3
|
+
export type ResolveSkillProfileToWireModelOptions = PreferOpenRouterPolicyInput & {
|
|
4
4
|
source?: RegistrySourceMode;
|
|
5
5
|
catalogLane?: ProfileCatalogLane;
|
|
6
6
|
};
|
|
7
|
+
export type ResolvedSkillProfileForInvoke = {
|
|
8
|
+
/** Gateway wire model id for ai-gateway invoke. */
|
|
9
|
+
wireModel: string;
|
|
10
|
+
/** Optimixer/catalog provider (e.g. `openrouter`, `anthropic`). */
|
|
11
|
+
provider: string;
|
|
12
|
+
/** Whether the resolved SKU supports reasoning (from ai-profiles catalog signals). */
|
|
13
|
+
supportsReasoning?: boolean;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Resolve an ai-profiles profile/choice (or concrete provider id) to gateway wire + Optimixer provider metadata.
|
|
17
|
+
*/
|
|
18
|
+
export declare function resolveSkillProfileForInvoke(value: string | undefined, options?: ResolveSkillProfileToWireModelOptions): Promise<ResolvedSkillProfileForInvoke | undefined>;
|
|
7
19
|
/**
|
|
8
20
|
* Resolve an ai-profiles profile/choice (or concrete provider id) to the gateway wire model
|
|
9
21
|
* required by `@x12i/ai-gateway` MAIN invoke. Faulty profile input is rejected — not normalized.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveSkillProfileToWireModel.d.ts","sourceRoot":"","sources":["../../src/invocation/resolveSkillProfileToWireModel.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resolveSkillProfileToWireModel.d.ts","sourceRoot":"","sources":["../../src/invocation/resolveSkillProfileToWireModel.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAqB,MAAM,mBAAmB,CAAC;AAYnG,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAK/E,MAAM,MAAM,qCAAqC,GAAG,2BAA2B,GAAG;IAChF,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,WAAW,CAAC,EAAE,kBAAkB,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,QAAQ,EAAE,MAAM,CAAC;IACjB,sFAAsF;IACtF,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AA6CF;;GAEG;AACH,wBAAsB,4BAA4B,CAChD,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,OAAO,CAAC,EAAE,qCAAqC,GAC9C,OAAO,CAAC,6BAA6B,GAAG,SAAS,CAAC,CA6DpD;AAED;;;GAGG;AACH,wBAAsB,8BAA8B,CAClD,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,OAAO,CAAC,EAAE,qCAAqC,GAC9C,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAG7B"}
|
|
@@ -1,10 +1,101 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AIProfilesError, resolveAIProfile } from "@x12i/ai-profiles";
|
|
2
|
+
import { formatResolvedProfileModelId, isBareVendorModelSku, isStrictProfileChoiceKey, requireSkillModelReference, } from "./aiProfileModelFormat.js";
|
|
3
|
+
import { isConcreteModelId } from "./concreteModelId.js";
|
|
4
|
+
import { defaultAiSkillsResolveAiProfileOptions, getAiSkillsAiProfilesSource, } from "./defaultAiProfilesResolveOptions.js";
|
|
5
|
+
import { resolvePreferOpenRouterPolicy } from "./preferOpenRouterPolicy.js";
|
|
6
|
+
import { throwSkillModelResolutionError } from "../errors/skillModelResolutionError.js";
|
|
7
|
+
import { splitGatewayWireModelForOptimixer } from "../optimixer/build-optimixer-model-profile.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 resolvedSkillProfileForInvokeFromProfile(resolved) {
|
|
35
|
+
const wireModel = skillWireModelIdFromResolved(resolved);
|
|
36
|
+
const split = splitGatewayWireModelForOptimixer(wireModel);
|
|
37
|
+
return {
|
|
38
|
+
wireModel,
|
|
39
|
+
provider: split.provider,
|
|
40
|
+
supportsReasoning: resolved.modelSignals.isReasoningModel ? true : undefined,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
function passthroughSkillProfileForInvoke(wire) {
|
|
44
|
+
const split = splitGatewayWireModelForOptimixer(wire);
|
|
45
|
+
return {
|
|
46
|
+
wireModel: wire,
|
|
47
|
+
provider: split.provider,
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Resolve an ai-profiles profile/choice (or concrete provider id) to gateway wire + Optimixer provider metadata.
|
|
52
|
+
*/
|
|
53
|
+
export async function resolveSkillProfileForInvoke(value, options) {
|
|
54
|
+
if (value === undefined)
|
|
55
|
+
return undefined;
|
|
56
|
+
const trimmed = value.trim();
|
|
57
|
+
if (!trimmed)
|
|
58
|
+
return undefined;
|
|
59
|
+
const slotPath = "modelConfig.model";
|
|
60
|
+
if (isConcreteModelId(trimmed) || isBareVendorModelSku(trimmed)) {
|
|
61
|
+
return passthroughSkillProfileForInvoke(trimmed);
|
|
62
|
+
}
|
|
63
|
+
const validated = requireSkillModelReference(trimmed, slotPath);
|
|
64
|
+
if (!isStrictProfileChoiceKey(validated)) {
|
|
65
|
+
return passthroughSkillProfileForInvoke(validated);
|
|
66
|
+
}
|
|
67
|
+
const resolveInput = validated;
|
|
68
|
+
const { effectiveUseOpenRouter } = resolvePreferOpenRouterPolicy({
|
|
69
|
+
preferOpenRouter: options?.preferOpenRouter ?? options?.useOpenRouter,
|
|
70
|
+
openrouterApiKeyPresent: options?.openrouterApiKeyPresent,
|
|
71
|
+
});
|
|
72
|
+
let resolved;
|
|
73
|
+
try {
|
|
74
|
+
resolved = await resolveAIProfile(resolveInput, defaultAiSkillsResolveAiProfileOptions({
|
|
75
|
+
profileInput: resolveInput,
|
|
76
|
+
effectiveUseOpenRouter,
|
|
77
|
+
openrouterApiKeyPresent: options?.openrouterApiKeyPresent,
|
|
78
|
+
source: options?.source ?? getAiSkillsAiProfilesSource(),
|
|
79
|
+
catalogLane: options?.catalogLane,
|
|
80
|
+
}));
|
|
81
|
+
}
|
|
82
|
+
catch (err) {
|
|
83
|
+
if (err instanceof AIProfilesError && err.code === "UNKNOWN_PROFILE_CHOICE") {
|
|
84
|
+
throwSkillModelResolutionError(trimmed, `Unknown model profile slot "${trimmed}". Use profile/choice (e.g. cheap/default) or a concrete provider model id.`, slotPath, { cause: err });
|
|
85
|
+
}
|
|
86
|
+
if (err instanceof AIProfilesError && err.code === "UNKNOWN_PROFILE") {
|
|
87
|
+
throwSkillModelResolutionError(trimmed, `Unknown model profile alias "${trimmed}". Use a concrete provider model id or an @x12i/ai-profiles profile/choice key (e.g. cheap/default, pro/default).`, slotPath, { cause: err });
|
|
88
|
+
}
|
|
89
|
+
throwSkillModelResolutionError(trimmed, `Failed to resolve model alias "${trimmed}" via @x12i/ai-profiles: ${err instanceof Error ? err.message : String(err)}`, slotPath, { cause: err });
|
|
90
|
+
}
|
|
91
|
+
return resolvedSkillProfileForInvokeFromProfile(resolved);
|
|
92
|
+
}
|
|
2
93
|
/**
|
|
3
94
|
* Resolve an ai-profiles profile/choice (or concrete provider id) to the gateway wire model
|
|
4
95
|
* required by `@x12i/ai-gateway` MAIN invoke. Faulty profile input is rejected — not normalized.
|
|
5
96
|
*/
|
|
6
97
|
export async function resolveSkillProfileToWireModel(value, options) {
|
|
7
|
-
const resolved = await
|
|
98
|
+
const resolved = await resolveSkillProfileForInvoke(value, options);
|
|
8
99
|
return resolved?.wireModel;
|
|
9
100
|
}
|
|
10
101
|
//# sourceMappingURL=resolveSkillProfileToWireModel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveSkillProfileToWireModel.js","sourceRoot":"","sources":["../../src/invocation/resolveSkillProfileToWireModel.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resolveSkillProfileToWireModel.js","sourceRoot":"","sources":["../../src/invocation/resolveSkillProfileToWireModel.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,eAAO,MAAM,sBAAsB,EAAE,aAAa,EAwDjD,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;CAGlC,CAAC"}
|
package/dist/metadata.js
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GENERIC_AUDIT_METADATA = exports.XEONOX_SKILLS_METADATA = void 0;
|
|
4
|
+
exports.XEONOX_SKILLS_METADATA = [
|
|
5
|
+
{
|
|
6
|
+
id: "professional-answer",
|
|
7
|
+
version: "1.0.0",
|
|
8
|
+
type: "primary",
|
|
9
|
+
outputType: "professional-answer",
|
|
10
|
+
requiredVariables: [],
|
|
11
|
+
optionalVariables: [
|
|
12
|
+
"orgName",
|
|
13
|
+
"tone",
|
|
14
|
+
"audience",
|
|
15
|
+
"timeFrameType",
|
|
16
|
+
"start",
|
|
17
|
+
"end"
|
|
18
|
+
],
|
|
19
|
+
outputSchema: {
|
|
20
|
+
type: "object",
|
|
21
|
+
properties: {
|
|
22
|
+
shortAnswer: { type: "string" },
|
|
23
|
+
fullAnswer: { type: "string" },
|
|
24
|
+
assumptions: { type: "string" },
|
|
25
|
+
unknowns: { type: "string" },
|
|
26
|
+
evidence: { type: "string" }
|
|
27
|
+
},
|
|
28
|
+
required: [
|
|
29
|
+
"shortAnswer",
|
|
30
|
+
"fullAnswer",
|
|
31
|
+
"assumptions",
|
|
32
|
+
"unknowns",
|
|
33
|
+
"evidence"
|
|
34
|
+
]
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
id: "professional-decision",
|
|
39
|
+
version: "1.0.0",
|
|
40
|
+
type: "primary",
|
|
41
|
+
outputType: "professional-decision",
|
|
42
|
+
requiredVariables: [],
|
|
43
|
+
optionalVariables: [
|
|
44
|
+
"orgName",
|
|
45
|
+
"riskTolerance",
|
|
46
|
+
"constraints",
|
|
47
|
+
"priorities"
|
|
48
|
+
],
|
|
49
|
+
outputSchema: {
|
|
50
|
+
type: "object",
|
|
51
|
+
properties: {
|
|
52
|
+
decision: { type: "string" },
|
|
53
|
+
score: { type: "number" },
|
|
54
|
+
rationale: { type: "string" },
|
|
55
|
+
risks: { type: "string" }
|
|
56
|
+
},
|
|
57
|
+
required: ["decision", "score", "rationale", "risks"]
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
];
|
|
61
|
+
exports.GENERIC_AUDIT_METADATA = {
|
|
62
|
+
outputType: "audit-result",
|
|
63
|
+
requiredPayloads: ["decision", "score", "theGood", "theBad", "takeaways"]
|
|
64
|
+
};
|
|
65
|
+
//# sourceMappingURL=metadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":";;;AAEa,QAAA,sBAAsB,GAAoB;IACnD;QACI,EAAE,EAAE,qBAAqB;QACzB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,SAAS;QACf,UAAU,EAAE,qBAAqB;QACjC,iBAAiB,EAAE,EAAE;QACrB,iBAAiB,EAAE;YACf,SAAS;YACT,MAAM;YACN,UAAU;YACV,eAAe;YACf,OAAO;YACP,KAAK;SACR;QACD,YAAY,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACR,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC9B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/B;YACD,QAAQ,EAAE;gBACN,aAAa;gBACb,YAAY;gBACZ,aAAa;gBACb,UAAU;gBACV,UAAU;aACb;SACJ;KACJ;IACD;QACI,EAAE,EAAE,uBAAuB;QAC3B,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,SAAS;QACf,UAAU,EAAE,uBAAuB;QACnC,iBAAiB,EAAE,EAAE;QACrB,iBAAiB,EAAE;YACf,SAAS;YACT,eAAe;YACf,aAAa;YACb,YAAY;SACf;QACD,YAAY,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACR,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5B;YACD,QAAQ,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC;SACxD;KACJ;CACJ,CAAC;AAEW,QAAA,sBAAsB,GAAG;IAClC,UAAU,EAAE,cAAc;IAC1B,gBAAgB,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC;CAC5E,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { OptimixerModelProfile } from "@x12i/optimixer";
|
|
2
|
+
import type { ModelConfig } from "../types.js";
|
|
3
|
+
/** Split gateway wire id into Optimixer `{ provider, model }` (xynthesis parity). */
|
|
4
|
+
export declare function splitGatewayWireModelForOptimixer(wire: string, explicitProvider?: string): {
|
|
5
|
+
provider: string;
|
|
6
|
+
model: string;
|
|
7
|
+
};
|
|
8
|
+
export type BuildOptimixerModelProfileArgs = {
|
|
9
|
+
modelConfig: ModelConfig | undefined;
|
|
10
|
+
/** When known from ai-profiles resolution (preferred over catalog inference). */
|
|
11
|
+
supportsReasoning?: boolean;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Build Optimixer `modelProfile` from resolved {@link ModelConfig}.
|
|
15
|
+
* Rejects unresolved profile/choice aliases — callers must resolve before Optimixer predict.
|
|
16
|
+
*/
|
|
17
|
+
export declare function buildOptimixerModelProfileFromModelConfig(args: BuildOptimixerModelProfileArgs): OptimixerModelProfile | undefined;
|
|
18
|
+
//# sourceMappingURL=build-optimixer-model-profile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-optimixer-model-profile.d.ts","sourceRoot":"","sources":["../../src/optimixer/build-optimixer-model-profile.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAG7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/C,qFAAqF;AACrF,wBAAgB,iCAAiC,CAC/C,IAAI,EAAE,MAAM,EACZ,gBAAgB,CAAC,EAAE,MAAM,GACxB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CA6BrC;AAaD,MAAM,MAAM,8BAA8B,GAAG;IAC3C,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;IACrC,iFAAiF;IACjF,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF;;;GAGG;AACH,wBAAgB,yCAAyC,CACvD,IAAI,EAAE,8BAA8B,GACnC,qBAAqB,GAAG,SAAS,CA8BnC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { capabilitiesFromCatalogEntry, findCatalogModelEntry, loadBundledModelsCatalog, } from "@x12i/ai-profiles";
|
|
2
|
+
import { isResolvableModelAlias } from "../invocation/aiProfileModelFormat.js";
|
|
3
|
+
import { throwSkillModelResolutionError } from "../errors/skillModelResolutionError.js";
|
|
4
|
+
import { resolveWireModelFromModelConfig } from "../utils/validate-model-config-for-invoke.js";
|
|
5
|
+
/** Split gateway wire id into Optimixer `{ provider, model }` (xynthesis parity). */
|
|
6
|
+
export function splitGatewayWireModelForOptimixer(wire, explicitProvider) {
|
|
7
|
+
const trimmed = wire.trim();
|
|
8
|
+
if (!trimmed) {
|
|
9
|
+
throw new Error("Optimixer modelProfile requires a non-empty gateway wire model id.");
|
|
10
|
+
}
|
|
11
|
+
const providerOverride = explicitProvider?.trim();
|
|
12
|
+
if (trimmed.toLowerCase().startsWith("openrouter/")) {
|
|
13
|
+
return {
|
|
14
|
+
provider: providerOverride ?? "openrouter",
|
|
15
|
+
model: trimmed.slice("openrouter/".length),
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
const slashIdx = trimmed.indexOf("/");
|
|
19
|
+
if (slashIdx > 0) {
|
|
20
|
+
const prefix = trimmed.slice(0, slashIdx);
|
|
21
|
+
const rest = trimmed.slice(slashIdx + 1);
|
|
22
|
+
return {
|
|
23
|
+
provider: providerOverride ?? prefix,
|
|
24
|
+
model: rest,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
return {
|
|
28
|
+
provider: providerOverride ?? "openrouter",
|
|
29
|
+
model: trimmed,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
function reasoningEnabledFromCatalog(provider, model) {
|
|
33
|
+
const catalog = loadBundledModelsCatalog();
|
|
34
|
+
const entry = findCatalogModelEntry(catalog, {
|
|
35
|
+
provider: provider,
|
|
36
|
+
modelId: model,
|
|
37
|
+
openRouterModelId: provider.toLowerCase() === "openrouter" ? model : undefined,
|
|
38
|
+
});
|
|
39
|
+
if (!entry)
|
|
40
|
+
return undefined;
|
|
41
|
+
return capabilitiesFromCatalogEntry(entry).supportsReasoning === true ? true : undefined;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Build Optimixer `modelProfile` from resolved {@link ModelConfig}.
|
|
45
|
+
* Rejects unresolved profile/choice aliases — callers must resolve before Optimixer predict.
|
|
46
|
+
*/
|
|
47
|
+
export function buildOptimixerModelProfileFromModelConfig(args) {
|
|
48
|
+
const wire = resolveWireModelFromModelConfig(args.modelConfig);
|
|
49
|
+
if (!wire)
|
|
50
|
+
return undefined;
|
|
51
|
+
if (isResolvableModelAlias(wire)) {
|
|
52
|
+
throwSkillModelResolutionError(wire, `Cannot predict max tokens for unresolved model alias "${wire}". Resolve profile/choice to a concrete provider model id before Optimixer predict.`, "modelConfig.model");
|
|
53
|
+
}
|
|
54
|
+
const split = splitGatewayWireModelForOptimixer(wire, args.modelConfig?.provider);
|
|
55
|
+
const reasoningEnabled = args.supportsReasoning === true
|
|
56
|
+
? true
|
|
57
|
+
: args.supportsReasoning === false
|
|
58
|
+
? false
|
|
59
|
+
: reasoningEnabledFromCatalog(split.provider, split.model);
|
|
60
|
+
const profile = {
|
|
61
|
+
provider: split.provider,
|
|
62
|
+
model: split.model,
|
|
63
|
+
};
|
|
64
|
+
if (reasoningEnabled === true) {
|
|
65
|
+
profile.reasoning = { enabled: true };
|
|
66
|
+
}
|
|
67
|
+
return profile;
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=build-optimixer-model-profile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-optimixer-model-profile.js","sourceRoot":"","sources":["../../src/optimixer/build-optimixer-model-profile.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,6 @@ 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";
|
|
7
6
|
import type { ModelConfig, RunSkillRequest } from "../types.js";
|
|
8
7
|
/** Must match `@x12i/ai-gateway` `resolveActivityTrackingConfig().collectionName`. */
|
|
9
8
|
export declare const AI_SKILLS_OPTIMIXER_ACTIVIX_COLLECTION: "ai-actions";
|
|
@@ -27,8 +26,8 @@ export type BuildAiMaxTokensPredictionInputArgs = {
|
|
|
27
26
|
promptText: string;
|
|
28
27
|
workingMemory: Record<string, unknown>;
|
|
29
28
|
runContext: ActivixRunContext;
|
|
30
|
-
/**
|
|
31
|
-
|
|
29
|
+
/** From ai-profiles when MAIN alias was resolved at invoke entry. */
|
|
30
|
+
resolvedSupportsReasoning?: boolean;
|
|
32
31
|
};
|
|
33
32
|
export declare function buildAiMaxTokensPredictionInput(args: BuildAiMaxTokensPredictionInputArgs): AiMaxTokensPredictionInput;
|
|
34
33
|
/** 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,
|
|
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;AAGhE,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,qEAAqE;IACrE,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACvC,CAAC;AAEF,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,mCAAmC,GAAG,0BAA0B,CA8BrH;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"}
|