@exellix/ai-tasks 8.1.16 → 8.2.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/.env.example +10 -0
- package/dist/core/task-sdk.d.ts.map +1 -1
- package/dist/core/task-sdk.js +1187 -1159
- package/dist/core/task-sdk.js.map +1 -1
- package/dist/errors/runTaskExecutionError.d.ts +63 -0
- package/dist/errors/runTaskExecutionError.d.ts.map +1 -0
- package/dist/errors/runTaskExecutionError.js +167 -0
- package/dist/errors/runTaskExecutionError.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/invocation/buildRunTaskResultMeta.d.ts +7 -0
- package/dist/invocation/buildRunTaskResultMeta.d.ts.map +1 -0
- package/dist/invocation/buildRunTaskResultMeta.js +38 -0
- package/dist/invocation/buildRunTaskResultMeta.js.map +1 -0
- package/dist/invocation/formatEngineLabel.d.ts +4 -0
- package/dist/invocation/formatEngineLabel.d.ts.map +1 -0
- package/dist/invocation/formatEngineLabel.js +19 -0
- package/dist/invocation/formatEngineLabel.js.map +1 -0
- package/dist/invocation/index.d.ts +9 -0
- package/dist/invocation/index.d.ts.map +1 -0
- package/dist/invocation/index.js +8 -0
- package/dist/invocation/index.js.map +1 -0
- package/dist/invocation/invocationPolicy.d.ts +6 -0
- package/dist/invocation/invocationPolicy.d.ts.map +1 -0
- package/dist/invocation/invocationPolicy.js +6 -0
- package/dist/invocation/invocationPolicy.js.map +1 -0
- package/dist/invocation/parseProfileSlot.d.ts +6 -0
- package/dist/invocation/parseProfileSlot.d.ts.map +1 -0
- package/dist/invocation/parseProfileSlot.js +12 -0
- package/dist/invocation/parseProfileSlot.js.map +1 -0
- package/dist/invocation/preferOpenRouterPolicy.d.ts +37 -0
- package/dist/invocation/preferOpenRouterPolicy.d.ts.map +1 -0
- package/dist/invocation/preferOpenRouterPolicy.js +81 -0
- package/dist/invocation/preferOpenRouterPolicy.js.map +1 -0
- package/dist/invocation/resolveInvocationPlan.d.ts +7 -0
- package/dist/invocation/resolveInvocationPlan.d.ts.map +1 -0
- package/dist/invocation/resolveInvocationPlan.js +40 -0
- package/dist/invocation/resolveInvocationPlan.js.map +1 -0
- package/dist/invocation/resolveProfileInvocationRouting.d.ts +31 -0
- package/dist/invocation/resolveProfileInvocationRouting.d.ts.map +1 -0
- package/dist/invocation/resolveProfileInvocationRouting.js +140 -0
- package/dist/invocation/resolveProfileInvocationRouting.js.map +1 -0
- package/dist/invocation/types.d.ts +67 -0
- package/dist/invocation/types.d.ts.map +1 -0
- package/dist/invocation/types.js +2 -0
- package/dist/invocation/types.js.map +1 -0
- package/dist/logxer/aiTasksDiagnosticCodes.d.ts +1 -0
- package/dist/logxer/aiTasksDiagnosticCodes.d.ts.map +1 -1
- package/dist/logxer/aiTasksDiagnosticCodes.js +1 -0
- package/dist/logxer/aiTasksDiagnosticCodes.js.map +1 -1
- package/dist/observability/classifyRunTaskFailure.d.ts +33 -0
- package/dist/observability/classifyRunTaskFailure.d.ts.map +1 -0
- package/dist/observability/classifyRunTaskFailure.js +111 -0
- package/dist/observability/classifyRunTaskFailure.js.map +1 -0
- package/dist/observability/llmRouteContext.d.ts +26 -0
- package/dist/observability/llmRouteContext.d.ts.map +1 -0
- package/dist/observability/llmRouteContext.js +92 -0
- package/dist/observability/llmRouteContext.js.map +1 -0
- package/dist/observability/logRunTaskFailure.d.ts +10 -0
- package/dist/observability/logRunTaskFailure.d.ts.map +1 -0
- package/dist/observability/logRunTaskFailure.js +87 -0
- package/dist/observability/logRunTaskFailure.js.map +1 -0
- package/dist/strategies/direct-execution-strategy.d.ts.map +1 -1
- package/dist/strategies/direct-execution-strategy.js +38 -4
- package/dist/strategies/direct-execution-strategy.js.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/utils/aiProfileModelFormat.d.ts +9 -0
- package/dist/utils/aiProfileModelFormat.d.ts.map +1 -0
- package/dist/utils/aiProfileModelFormat.js +116 -0
- package/dist/utils/aiProfileModelFormat.js.map +1 -0
- package/dist/utils/resolveAiProfileModel.d.ts +8 -7
- package/dist/utils/resolveAiProfileModel.d.ts.map +1 -1
- package/dist/utils/resolveAiProfileModel.js +15 -108
- package/dist/utils/resolveAiProfileModel.js.map +1 -1
- package/documenations/upstream-feature-requests/logxer-failure-classification-and-causal-diagnostics.md +403 -0
- package/package.json +7 -7
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type EnrichRunTaskErrorContext } from "../errors/runTaskExecutionError.js";
|
|
2
|
+
export type LogRunTaskFailureArgs = EnrichRunTaskErrorContext & {
|
|
3
|
+
cause: unknown;
|
|
4
|
+
};
|
|
5
|
+
/**
|
|
6
|
+
* Emit a structured diagnostic log for a failed `runTask` and return an enriched error
|
|
7
|
+
* suitable for graph-engine / RealTasksClient to surface as `error.message`.
|
|
8
|
+
*/
|
|
9
|
+
export declare function logAndEnrichRunTaskFailure(args: LogRunTaskFailureArgs): Error;
|
|
10
|
+
//# sourceMappingURL=logRunTaskFailure.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logRunTaskFailure.d.ts","sourceRoot":"","sources":["../../src/observability/logRunTaskFailure.ts"],"names":[],"mappings":"AAKA,OAAO,EAGL,KAAK,yBAAyB,EAC/B,MAAM,oCAAoC,CAAC;AAO5C,MAAM,MAAM,qBAAqB,GAAG,yBAAyB,GAAG;IAC9D,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC;AAaF;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,qBAAqB,GAAG,KAAK,CA8E7E"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { DebugLogAbstract, fieldEvidence } from "@x12i/logxer";
|
|
2
|
+
import { classifyRunTaskFailure, formatFailureClassificationHint, } from "./classifyRunTaskFailure.js";
|
|
3
|
+
import { enrichRunTaskError, isRunTaskExecutionError, } from "../errors/runTaskExecutionError.js";
|
|
4
|
+
import { isSmartInputValidationError } from "../errors/smartInputValidationError.js";
|
|
5
|
+
import { isTaskConfigurationCompileError } from "../errors/taskConfigurationCompileError.js";
|
|
6
|
+
import { AI_TASKS_DIAGNOSTIC_CODES } from "../logxer/aiTasksDiagnosticCodes.js";
|
|
7
|
+
import { getAiTasksLogxer } from "../logxer/packageLogxers.js";
|
|
8
|
+
import { inferLlmRouteFromModel } from "./llmRouteContext.js";
|
|
9
|
+
function rootMessageFromError(error) {
|
|
10
|
+
return {
|
|
11
|
+
message: error.message,
|
|
12
|
+
name: error.name,
|
|
13
|
+
code: typeof error.code === "string"
|
|
14
|
+
? error.code
|
|
15
|
+
: undefined,
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Emit a structured diagnostic log for a failed `runTask` and return an enriched error
|
|
20
|
+
* suitable for graph-engine / RealTasksClient to surface as `error.message`.
|
|
21
|
+
*/
|
|
22
|
+
export function logAndEnrichRunTaskFailure(args) {
|
|
23
|
+
const enriched = enrichRunTaskError(args.cause, args);
|
|
24
|
+
const details = isRunTaskExecutionError(enriched) ? enriched.details : undefined;
|
|
25
|
+
const root = details?.rootError ??
|
|
26
|
+
(args.cause instanceof Error ? rootMessageFromError(args.cause) : { name: "Error", message: String(args.cause) });
|
|
27
|
+
const route = details?.llmRoute ??
|
|
28
|
+
inferLlmRouteFromModel(details?.modelConfig?.skillModel ??
|
|
29
|
+
args.modelConfig?.skillModel);
|
|
30
|
+
const failureClassification = details?.failureClassification ??
|
|
31
|
+
classifyRunTaskFailure({
|
|
32
|
+
message: root.message,
|
|
33
|
+
code: root.code,
|
|
34
|
+
name: root.name,
|
|
35
|
+
phase: details?.phase ?? args.phase,
|
|
36
|
+
stage: details?.stage ?? args.stage,
|
|
37
|
+
durationMs: args.durationMs ?? details?.durationMs,
|
|
38
|
+
});
|
|
39
|
+
const evidence = [
|
|
40
|
+
fieldEvidence("skillKey", args.skillKey),
|
|
41
|
+
fieldEvidence("phase", details?.phase ?? args.phase ?? "unknown"),
|
|
42
|
+
fieldEvidence("failureRole", failureClassification.role),
|
|
43
|
+
fieldEvidence("failureEvent", failureClassification.event),
|
|
44
|
+
fieldEvidence("failureConfidence", failureClassification.confidence),
|
|
45
|
+
...(failureClassification.pointsTo
|
|
46
|
+
? [
|
|
47
|
+
fieldEvidence("failurePointsTo", Array.isArray(failureClassification.pointsTo)
|
|
48
|
+
? failureClassification.pointsTo.join(",")
|
|
49
|
+
: failureClassification.pointsTo),
|
|
50
|
+
]
|
|
51
|
+
: []),
|
|
52
|
+
fieldEvidence("failureNote", failureClassification.note),
|
|
53
|
+
...(args.stage || details?.stage
|
|
54
|
+
? [fieldEvidence("stage", details?.stage ?? args.stage)]
|
|
55
|
+
: []),
|
|
56
|
+
...(args.nodeId ? [fieldEvidence("nodeId", args.nodeId)] : []),
|
|
57
|
+
...(args.graphId ? [fieldEvidence("graphId", args.graphId)] : []),
|
|
58
|
+
...(args.jobId ? [fieldEvidence("jobId", args.jobId)] : []),
|
|
59
|
+
...(args.taskId ? [fieldEvidence("taskId", args.taskId)] : []),
|
|
60
|
+
...(route.rawModel ? [fieldEvidence("model", route.rawModel)] : []),
|
|
61
|
+
...(route.adapterHint !== "unset"
|
|
62
|
+
? [fieldEvidence("adapterHint", route.adapterHint)]
|
|
63
|
+
: []),
|
|
64
|
+
...(route.routingNote ? [fieldEvidence("routingNote", route.routingNote)] : []),
|
|
65
|
+
...(route.likelyEnvKeys.length
|
|
66
|
+
? [fieldEvidence("likelyEnvKeys", route.likelyEnvKeys.join(", "))]
|
|
67
|
+
: []),
|
|
68
|
+
...(root.message ? [fieldEvidence("rootMessage", root.message)] : []),
|
|
69
|
+
...(root.code ? [fieldEvidence("rootCode", root.code)] : []),
|
|
70
|
+
...(root.name ? [fieldEvidence("rootErrorName", root.name)] : []),
|
|
71
|
+
...(args.durationMs != null ? [fieldEvidence("durationMs", args.durationMs)] : []),
|
|
72
|
+
];
|
|
73
|
+
const summary = isRunTaskExecutionError(enriched)
|
|
74
|
+
? enriched.message
|
|
75
|
+
: `${root.message} ${formatFailureClassificationHint(failureClassification)}`.trim();
|
|
76
|
+
getAiTasksLogxer().errorCode(AI_TASKS_DIAGNOSTIC_CODES.RUN_TASK_EXECUTION_FAILED, {
|
|
77
|
+
source: "@exellix/ai-tasks",
|
|
78
|
+
debugKind: DebugLogAbstract.TRACE,
|
|
79
|
+
diagnostics: { summary },
|
|
80
|
+
evidence,
|
|
81
|
+
});
|
|
82
|
+
if (isSmartInputValidationError(enriched) || isTaskConfigurationCompileError(enriched)) {
|
|
83
|
+
return enriched;
|
|
84
|
+
}
|
|
85
|
+
return enriched;
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=logRunTaskFailure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logRunTaskFailure.js","sourceRoot":"","sources":["../../src/observability/logRunTaskFailure.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"direct-execution-strategy.d.ts","sourceRoot":"","sources":["../../src/strategies/direct-execution-strategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAA4B,MAAM,oBAAoB,CAAC;AAInF,KAAK,iBAAiB,GAAG,mBAAmB,CAAC;AAE7C,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"direct-execution-strategy.d.ts","sourceRoot":"","sources":["../../src/strategies/direct-execution-strategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAA4B,MAAM,oBAAoB,CAAC;AAInF,KAAK,iBAAiB,GAAG,mBAAmB,CAAC;AAE7C,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAQ5E;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,uBAAwB,YAAW,kBAAkB;IAChE,OAAO,CAAC,MAAM,CAAsB;gBAExB,MAAM,EAAE,mBAAmB,GAAG,iBAAiB;IAIrD,OAAO,CAAC,OAAO,GAAG,GAAG,EACzB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAiHrC,OAAO,IAAI,MAAM;IAIjB,SAAS,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO;CAG5C"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { SkillExecutionTraceError } from "@exellix/ai-skills";
|
|
2
2
|
import { ExecutionType } from "../types/executionType.js";
|
|
3
3
|
import { LlmCallContextError } from "../types/llmCall.js";
|
|
4
|
+
import { logAndEnrichRunTaskFailure } from "../observability/logRunTaskFailure.js";
|
|
4
5
|
import { pickRunSkillRequestFields } from "../utils/bridgeRunSkillGatewayMemory.js";
|
|
5
6
|
import { buildAiSkillsModelConfigForMain } from "../utils/routeModelConfigSlots.js";
|
|
6
7
|
import { resolveModelReference } from "../utils/resolveAiProfileModel.js";
|
|
@@ -65,15 +66,31 @@ export class DirectExecutionStrategy {
|
|
|
65
66
|
}
|
|
66
67
|
: {}),
|
|
67
68
|
};
|
|
69
|
+
const resolvedMainModel = runSkillRequest.modelConfig?.model ??
|
|
70
|
+
llmCall?.model ??
|
|
71
|
+
taskRequest.modelConfig?.skillModel;
|
|
68
72
|
const startMs = Date.now();
|
|
69
73
|
try {
|
|
70
74
|
return await this.client.runSkill(runSkillRequest);
|
|
71
75
|
}
|
|
72
76
|
catch (error) {
|
|
77
|
+
const durationMs = Date.now() - startMs;
|
|
73
78
|
// Trace-mode typed error: pass through unchanged. Carries `RunSkillDiagnostics` with `trace.invokeRequest`
|
|
74
79
|
// (modelConfig + timeoutMs echo), `usage`, `routing`, `costUsd`, `attempts[]`.
|
|
75
80
|
if (error instanceof SkillExecutionTraceError) {
|
|
76
|
-
throw
|
|
81
|
+
throw logAndEnrichRunTaskFailure({
|
|
82
|
+
cause: error,
|
|
83
|
+
skillKey: taskRequest.skillKey,
|
|
84
|
+
phase: "main_skill",
|
|
85
|
+
stage: "main-skill",
|
|
86
|
+
jobId: taskRequest.jobId,
|
|
87
|
+
taskId: taskRequest.taskId,
|
|
88
|
+
graphId: taskRequest.graphId,
|
|
89
|
+
nodeId: taskRequest.nodeId,
|
|
90
|
+
agentId: taskRequest.agentId,
|
|
91
|
+
modelConfig: taskRequest.modelConfig,
|
|
92
|
+
durationMs,
|
|
93
|
+
});
|
|
77
94
|
}
|
|
78
95
|
// Default-mode raw error: wrap with LlmCallContextError so callers see what was sent. Track C feature
|
|
79
96
|
// request asks ai-skills to throw a typed `SkillExecutionError` even outside trace mode; until then this
|
|
@@ -82,7 +99,7 @@ export class DirectExecutionStrategy {
|
|
|
82
99
|
source: "ai-skills",
|
|
83
100
|
stage: "main-skill",
|
|
84
101
|
request: {
|
|
85
|
-
model:
|
|
102
|
+
model: resolvedMainModel,
|
|
86
103
|
maxTokensCap: runSkillRequest.modelConfig?.maxTokens,
|
|
87
104
|
temperature: runSkillRequest.modelConfig?.temperature,
|
|
88
105
|
topP: runSkillRequest.modelConfig?.topP,
|
|
@@ -90,14 +107,31 @@ export class DirectExecutionStrategy {
|
|
|
90
107
|
outputExpectation: llmCall?.outputExpectation,
|
|
91
108
|
maxOutputLength: llmCall?.maxOutputLength,
|
|
92
109
|
},
|
|
93
|
-
durationMs
|
|
110
|
+
durationMs,
|
|
94
111
|
ok: false,
|
|
95
112
|
error: {
|
|
96
113
|
name: error instanceof Error ? error.name : "Error",
|
|
97
114
|
message: error instanceof Error ? error.message : String(error),
|
|
98
115
|
},
|
|
99
116
|
};
|
|
100
|
-
|
|
117
|
+
const contextual = new LlmCallContextError(error instanceof Error ? error.message : String(error), observation, error);
|
|
118
|
+
throw logAndEnrichRunTaskFailure({
|
|
119
|
+
cause: contextual,
|
|
120
|
+
skillKey: taskRequest.skillKey,
|
|
121
|
+
phase: "main_skill",
|
|
122
|
+
stage: "main-skill",
|
|
123
|
+
jobId: taskRequest.jobId,
|
|
124
|
+
taskId: taskRequest.taskId,
|
|
125
|
+
graphId: taskRequest.graphId,
|
|
126
|
+
nodeId: taskRequest.nodeId,
|
|
127
|
+
agentId: taskRequest.agentId,
|
|
128
|
+
modelConfig: {
|
|
129
|
+
skillModel: resolvedMainModel,
|
|
130
|
+
xynthesisModel: taskRequest.modelConfig
|
|
131
|
+
?.xynthesisModel,
|
|
132
|
+
},
|
|
133
|
+
durationMs,
|
|
134
|
+
});
|
|
101
135
|
}
|
|
102
136
|
}
|
|
103
137
|
getType() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"direct-execution-strategy.js","sourceRoot":"","sources":["../../src/strategies/direct-execution-strategy.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"direct-execution-strategy.js","sourceRoot":"","sources":["../../src/strategies/direct-execution-strategy.ts"],"names":[],"mappings":"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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
export type { RunTaskRequest, RunTaskResponse, RunTaskTraceResponse, DebugTraceTask } from "./task-types.js";
|
|
7
7
|
export type { RunSkillResponse } from "./task-types.js";
|
|
8
|
+
export type { RunTaskResultMeta, InvocationRouting } from "../invocation/types.js";
|
|
8
9
|
export type { RunTaskResponseTraceMetadata, AiScopingFailureRecord, ExecutionStrategyInvocation, ExecutionStrategyPhase, ExecutionStrategyWrapperKey, } from "./task-types.js";
|
|
9
10
|
export type { LlmCallConfig, LlmCallObservation, LlmCallStage, LlmCallRequestSnapshot, LlmCallError, OutputExpectation, MaxTokensResolution, InvokeAttemptSummary, UsageDiagnostics, RoutingDiagnostics, XynthesisDebugTrace, SkillDiagnosticsTrace, SkillTraceUsage, RunSkillDiagnostics, } from "./llmCall.js";
|
|
10
11
|
export { LlmCallContextError, XynthesisInvokeError, XynthesisResponseParseError, SkillExecutionTraceError, } from "./llmCall.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
package/dist/types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA4BH,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,yBAAyB,EACzB,iCAAiC,EACjC,2BAA2B,EAC3B,iCAAiC,EACjC,8BAA8B,GAC/B,MAAM,wCAAwC,CAAC;AAUhD,OAAO,EACL,wBAAwB,IAAI,yBAAyB,EACrD,2BAA2B,IAAI,4BAA4B,GAC5D,MAAM,yBAAyB,CAAC;AAiBjC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AA4DrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** Legacy graph-engine tier names → `@x12i/ai-profiles` profile keys. */
|
|
2
|
+
export declare const LEGACY_TIER_TO_PROFILE: Record<string, string>;
|
|
3
|
+
/** True when `value` is a known ai-profiles profile, shortcut, or legacy tier alias. */
|
|
4
|
+
export declare function isResolvableModelAlias(value: string): boolean;
|
|
5
|
+
/** Format a resolved ai-profiles choice as a concrete provider model id for ai-skills MAIN. */
|
|
6
|
+
export declare function formatResolvedProfileModelId(provider: string, modelId: string): string;
|
|
7
|
+
/** Map legacy tiers to ai-profiles keys without resolving to a provider model id. */
|
|
8
|
+
export declare function normalizeXynthesisModelAlias(value: string): string;
|
|
9
|
+
//# sourceMappingURL=aiProfileModelFormat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aiProfileModelFormat.d.ts","sourceRoot":"","sources":["../../src/utils/aiProfileModelFormat.ts"],"names":[],"mappings":"AAGA,yEAAyE;AACzE,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAIzD,CAAC;AA+DF,wFAAwF;AACxF,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAY7D;AASD,+FAA+F;AAC/F,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAYtF;AAED,qFAAqF;AACrF,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIlE"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { isKnownProfileOrShortcut } from "@x12i/ai-profiles";
|
|
2
|
+
import { isConcreteModelId } from "./concreteModelId.js";
|
|
3
|
+
/** Legacy graph-engine tier names → `@x12i/ai-profiles` profile keys. */
|
|
4
|
+
export const LEGACY_TIER_TO_PROFILE = {
|
|
5
|
+
weak: "cheap",
|
|
6
|
+
strong: "pro",
|
|
7
|
+
default: "balanced",
|
|
8
|
+
};
|
|
9
|
+
/** Profile keys shipped in `@x12i/ai-profiles` v1 bundled registry. */
|
|
10
|
+
const AI_PROFILE_KEYS = [
|
|
11
|
+
"cheap",
|
|
12
|
+
"fast",
|
|
13
|
+
"balanced",
|
|
14
|
+
"deep",
|
|
15
|
+
"pro",
|
|
16
|
+
"json",
|
|
17
|
+
"agentic",
|
|
18
|
+
"research",
|
|
19
|
+
];
|
|
20
|
+
/** Shortcut keys from bundled `profiles-shortcuts.json` (v1). */
|
|
21
|
+
const AI_PROFILE_SHORTCUT_KEYS = [
|
|
22
|
+
"economy",
|
|
23
|
+
"budget",
|
|
24
|
+
"low-cost",
|
|
25
|
+
"cheapest",
|
|
26
|
+
"cheap-safe",
|
|
27
|
+
"instant",
|
|
28
|
+
"quick",
|
|
29
|
+
"fast-cheap",
|
|
30
|
+
"standard",
|
|
31
|
+
"default",
|
|
32
|
+
"thinking",
|
|
33
|
+
"high-reasoning",
|
|
34
|
+
"long-context",
|
|
35
|
+
"premium",
|
|
36
|
+
"best",
|
|
37
|
+
"schema",
|
|
38
|
+
"strict-json",
|
|
39
|
+
"cheap-json",
|
|
40
|
+
"agent",
|
|
41
|
+
"tools",
|
|
42
|
+
"cheap-agent",
|
|
43
|
+
"web-research",
|
|
44
|
+
"source-review",
|
|
45
|
+
"premium-research",
|
|
46
|
+
];
|
|
47
|
+
/** Profile-level aliases from bundled `models-profiles.json` (v1). */
|
|
48
|
+
const AI_PROFILE_EXTRA_ALIASES = [
|
|
49
|
+
"cost-sensitive",
|
|
50
|
+
"low-latency",
|
|
51
|
+
"normal",
|
|
52
|
+
"reasoning",
|
|
53
|
+
"smart",
|
|
54
|
+
"highest-quality",
|
|
55
|
+
"structured",
|
|
56
|
+
"structured-output",
|
|
57
|
+
"tool-use",
|
|
58
|
+
"tool-calling",
|
|
59
|
+
];
|
|
60
|
+
const KNOWN_AI_PROFILE_ALIAS_KEYS = new Set([
|
|
61
|
+
...Object.keys(LEGACY_TIER_TO_PROFILE),
|
|
62
|
+
...AI_PROFILE_KEYS,
|
|
63
|
+
...AI_PROFILE_SHORTCUT_KEYS,
|
|
64
|
+
...AI_PROFILE_EXTRA_ALIASES,
|
|
65
|
+
]);
|
|
66
|
+
/** True when `value` is a known ai-profiles profile, shortcut, or legacy tier alias. */
|
|
67
|
+
export function isResolvableModelAlias(value) {
|
|
68
|
+
const trimmed = value.trim();
|
|
69
|
+
if (!trimmed)
|
|
70
|
+
return false;
|
|
71
|
+
if (isConcreteModelId(trimmed))
|
|
72
|
+
return false;
|
|
73
|
+
const { profileInput } = parseProfileSlotForAlias(trimmed);
|
|
74
|
+
const key = profileInput.toLowerCase();
|
|
75
|
+
if (KNOWN_AI_PROFILE_ALIAS_KEYS.has(key))
|
|
76
|
+
return true;
|
|
77
|
+
try {
|
|
78
|
+
return isKnownProfileOrShortcut(profileInput);
|
|
79
|
+
}
|
|
80
|
+
catch {
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
function parseProfileSlotForAlias(profileSlot) {
|
|
85
|
+
const trimmed = profileSlot.trim();
|
|
86
|
+
const at = trimmed.indexOf("@");
|
|
87
|
+
if (at > 0)
|
|
88
|
+
return { profileInput: trimmed.slice(0, at).trim() };
|
|
89
|
+
return { profileInput: trimmed };
|
|
90
|
+
}
|
|
91
|
+
/** Format a resolved ai-profiles choice as a concrete provider model id for ai-skills MAIN. */
|
|
92
|
+
export function formatResolvedProfileModelId(provider, modelId) {
|
|
93
|
+
const trimmed = modelId.trim();
|
|
94
|
+
const providerTrim = provider.trim();
|
|
95
|
+
if (!trimmed)
|
|
96
|
+
return trimmed;
|
|
97
|
+
if (providerTrim.toLowerCase() === "openrouter") {
|
|
98
|
+
if (trimmed.startsWith("openrouter/"))
|
|
99
|
+
return trimmed;
|
|
100
|
+
return `openrouter/${trimmed}`;
|
|
101
|
+
}
|
|
102
|
+
if (trimmed.includes("/"))
|
|
103
|
+
return trimmed;
|
|
104
|
+
const providerPrefix = `${providerTrim}/`;
|
|
105
|
+
if (trimmed.startsWith(providerPrefix))
|
|
106
|
+
return trimmed;
|
|
107
|
+
return `${providerTrim}/${trimmed}`;
|
|
108
|
+
}
|
|
109
|
+
/** Map legacy tiers to ai-profiles keys without resolving to a provider model id. */
|
|
110
|
+
export function normalizeXynthesisModelAlias(value) {
|
|
111
|
+
const trimmed = value.trim();
|
|
112
|
+
if (!trimmed)
|
|
113
|
+
return trimmed;
|
|
114
|
+
return LEGACY_TIER_TO_PROFILE[trimmed.toLowerCase()] ?? trimmed;
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=aiProfileModelFormat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aiProfileModelFormat.js","sourceRoot":"","sources":["../../src/utils/aiProfileModelFormat.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import type { ResolveAIProfileOptions } from "@x12i/ai-profiles";
|
|
2
|
-
|
|
3
|
-
export declare function isResolvableModelAlias(value: string): boolean;
|
|
2
|
+
export { formatResolvedProfileModelId, isResolvableModelAlias, normalizeXynthesisModelAlias, } from "./aiProfileModelFormat.js";
|
|
4
3
|
/** @deprecated Prefer {@link isResolvableModelAlias}. Kept for tests and call sites expecting the old name. */
|
|
5
4
|
export declare function isAliasLikeModelValue(value: string): boolean;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
|
|
5
|
+
export type ResolveModelReferenceOptions = Omit<ResolveAIProfileOptions, "useOpenRouter"> & {
|
|
6
|
+
/** Prefer OpenRouter when key present. See `.docs/prefer-openrouter-routing-policy.md`. */
|
|
7
|
+
preferOpenRouter?: boolean;
|
|
8
|
+
/** @deprecated Use `preferOpenRouter`. */
|
|
9
|
+
useOpenRouter?: boolean;
|
|
10
|
+
openrouterApiKeyPresent?: boolean;
|
|
11
|
+
};
|
|
11
12
|
/**
|
|
12
13
|
* Resolve a model reference for `@exellix/ai-skills` MAIN: pass through concrete ids and
|
|
13
14
|
* unrecognized strings; map known ai-profiles aliases to concrete provider/model ids.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveAiProfileModel.d.ts","sourceRoot":"","sources":["../../src/utils/resolveAiProfileModel.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resolveAiProfileModel.d.ts","sourceRoot":"","sources":["../../src/utils/resolveAiProfileModel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAUjE,OAAO,EACL,4BAA4B,EAC5B,sBAAsB,EACtB,4BAA4B,GAC7B,MAAM,2BAA2B,CAAC;AAEnC,+GAA+G;AAC/G,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED,MAAM,MAAM,4BAA4B,GAAG,IAAI,CAAC,uBAAuB,EAAE,eAAe,CAAC,GAAG;IAC1F,2FAA2F;IAC3F,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,0CAA0C;IAC1C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC,CAAC;AAEF;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,OAAO,CAAC,EAAE,4BAA4B,GACrC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAkB7B;AAED;;;GAGG;AACH,wBAAsB,iCAAiC,CACrD,KAAK,EAAE,MAAM,GAAG,SAAS,GACxB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAe7B"}
|
|
@@ -1,100 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { resolveProfileInvocationRouting } from "../invocation/resolveProfileInvocationRouting.js";
|
|
2
|
+
import { resolvePreferOpenRouterPolicy } from "../invocation/preferOpenRouterPolicy.js";
|
|
3
|
+
import { isResolvableModelAlias, normalizeXynthesisModelAlias, } from "./aiProfileModelFormat.js";
|
|
2
4
|
import { isConcreteModelId } from "./concreteModelId.js";
|
|
3
|
-
|
|
4
|
-
const LEGACY_TIER_TO_PROFILE = {
|
|
5
|
-
weak: "cheap",
|
|
6
|
-
strong: "pro",
|
|
7
|
-
default: "balanced",
|
|
8
|
-
};
|
|
9
|
-
/** Profile keys shipped in `@x12i/ai-profiles` v1 bundled registry. */
|
|
10
|
-
const AI_PROFILE_KEYS = [
|
|
11
|
-
"cheap",
|
|
12
|
-
"fast",
|
|
13
|
-
"balanced",
|
|
14
|
-
"deep",
|
|
15
|
-
"pro",
|
|
16
|
-
"json",
|
|
17
|
-
"agentic",
|
|
18
|
-
"research",
|
|
19
|
-
];
|
|
20
|
-
/** Shortcut keys from bundled `profiles-shortcuts.json` (v1). */
|
|
21
|
-
const AI_PROFILE_SHORTCUT_KEYS = [
|
|
22
|
-
"economy",
|
|
23
|
-
"budget",
|
|
24
|
-
"low-cost",
|
|
25
|
-
"cheapest",
|
|
26
|
-
"cheap-safe",
|
|
27
|
-
"instant",
|
|
28
|
-
"quick",
|
|
29
|
-
"fast-cheap",
|
|
30
|
-
"standard",
|
|
31
|
-
"default",
|
|
32
|
-
"thinking",
|
|
33
|
-
"high-reasoning",
|
|
34
|
-
"long-context",
|
|
35
|
-
"premium",
|
|
36
|
-
"best",
|
|
37
|
-
"schema",
|
|
38
|
-
"strict-json",
|
|
39
|
-
"cheap-json",
|
|
40
|
-
"agent",
|
|
41
|
-
"tools",
|
|
42
|
-
"cheap-agent",
|
|
43
|
-
"web-research",
|
|
44
|
-
"source-review",
|
|
45
|
-
"premium-research",
|
|
46
|
-
];
|
|
47
|
-
/** Profile-level aliases from bundled `models-profiles.json` (v1). */
|
|
48
|
-
const AI_PROFILE_EXTRA_ALIASES = [
|
|
49
|
-
"cost-sensitive",
|
|
50
|
-
"low-latency",
|
|
51
|
-
"normal",
|
|
52
|
-
"reasoning",
|
|
53
|
-
"smart",
|
|
54
|
-
"highest-quality",
|
|
55
|
-
"structured",
|
|
56
|
-
"structured-output",
|
|
57
|
-
"tool-use",
|
|
58
|
-
"tool-calling",
|
|
59
|
-
];
|
|
60
|
-
const KNOWN_AI_PROFILE_ALIAS_KEYS = new Set([
|
|
61
|
-
...Object.keys(LEGACY_TIER_TO_PROFILE),
|
|
62
|
-
...AI_PROFILE_KEYS,
|
|
63
|
-
...AI_PROFILE_SHORTCUT_KEYS,
|
|
64
|
-
...AI_PROFILE_EXTRA_ALIASES,
|
|
65
|
-
]);
|
|
66
|
-
/** True when `value` is a known ai-profiles profile, shortcut, or legacy tier alias. */
|
|
67
|
-
export function isResolvableModelAlias(value) {
|
|
68
|
-
const key = value.trim().toLowerCase();
|
|
69
|
-
if (!key)
|
|
70
|
-
return false;
|
|
71
|
-
if (isConcreteModelId(value))
|
|
72
|
-
return false;
|
|
73
|
-
return KNOWN_AI_PROFILE_ALIAS_KEYS.has(key);
|
|
74
|
-
}
|
|
5
|
+
export { formatResolvedProfileModelId, isResolvableModelAlias, normalizeXynthesisModelAlias, } from "./aiProfileModelFormat.js";
|
|
75
6
|
/** @deprecated Prefer {@link isResolvableModelAlias}. Kept for tests and call sites expecting the old name. */
|
|
76
7
|
export function isAliasLikeModelValue(value) {
|
|
77
8
|
return isResolvableModelAlias(value);
|
|
78
9
|
}
|
|
79
|
-
/** Format a resolved ai-profiles choice as a concrete provider model id for ai-skills / xynthesis. */
|
|
80
|
-
export function formatResolvedProfileModelId(provider, modelId) {
|
|
81
|
-
const trimmed = modelId.trim();
|
|
82
|
-
if (!trimmed)
|
|
83
|
-
return trimmed;
|
|
84
|
-
if (trimmed.includes("/"))
|
|
85
|
-
return trimmed;
|
|
86
|
-
const providerPrefix = `${provider.trim()}/`;
|
|
87
|
-
if (trimmed.startsWith(providerPrefix))
|
|
88
|
-
return trimmed;
|
|
89
|
-
return `${provider.trim()}/${trimmed}`;
|
|
90
|
-
}
|
|
91
|
-
/** Map legacy tiers to ai-profiles keys without resolving to a provider model id. */
|
|
92
|
-
export function normalizeXynthesisModelAlias(value) {
|
|
93
|
-
const trimmed = value.trim();
|
|
94
|
-
if (!trimmed)
|
|
95
|
-
return trimmed;
|
|
96
|
-
return LEGACY_TIER_TO_PROFILE[trimmed.toLowerCase()] ?? trimmed;
|
|
97
|
-
}
|
|
98
10
|
/**
|
|
99
11
|
* Resolve a model reference for `@exellix/ai-skills` MAIN: pass through concrete ids and
|
|
100
12
|
* unrecognized strings; map known ai-profiles aliases to concrete provider/model ids.
|
|
@@ -107,23 +19,18 @@ export async function resolveModelReference(value, options) {
|
|
|
107
19
|
return undefined;
|
|
108
20
|
if (isConcreteModelId(trimmed))
|
|
109
21
|
return trimmed;
|
|
110
|
-
if (!isResolvableModelAlias(trimmed))
|
|
22
|
+
if (!isResolvableModelAlias(trimmed) && !trimmed.includes("@"))
|
|
111
23
|
return trimmed;
|
|
112
|
-
const
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
if (err instanceof AIProfilesError && err.code === "UNKNOWN_PROFILE") {
|
|
123
|
-
throw new Error(`Unknown model profile alias "${trimmed}". Use a concrete provider model id or an @x12i/ai-profiles profile/shortcut (e.g. cheap, balanced, pro, default, cheapest).`);
|
|
124
|
-
}
|
|
125
|
-
throw err;
|
|
126
|
-
}
|
|
24
|
+
const { effectiveUseOpenRouter } = resolvePreferOpenRouterPolicy({
|
|
25
|
+
preferOpenRouter: options?.preferOpenRouter ?? options?.useOpenRouter,
|
|
26
|
+
openrouterApiKeyPresent: options?.openrouterApiKeyPresent,
|
|
27
|
+
});
|
|
28
|
+
const resolved = await resolveProfileInvocationRouting(trimmed, {
|
|
29
|
+
phaseKind: "skill",
|
|
30
|
+
effectiveUseOpenRouter,
|
|
31
|
+
source: options?.source ?? "auto",
|
|
32
|
+
});
|
|
33
|
+
return resolved.modelId;
|
|
127
34
|
}
|
|
128
35
|
/**
|
|
129
36
|
* Resolve a model reference for `@exellix/xynthesis` ≥4.0 (`executeXynthesisAction`):
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveAiProfileModel.js","sourceRoot":"","sources":["../../src/utils/resolveAiProfileModel.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resolveAiProfileModel.js","sourceRoot":"","sources":["../../src/utils/resolveAiProfileModel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,+BAA+B,EAAE,MAAM,kDAAkD,CAAC;AACnG,OAAO,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAC;AACxF,OAAO,EAEL,sBAAsB,EACtB,4BAA4B,GAC7B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EACL,4BAA4B,EAC5B,sBAAsB,EACtB,4BAA4B,GAC7B,MAAM,2BAA2B,CAAC;AAEnC,+GAA+G;AAC/G,MAAM,UAAU,qBAAqB,CAAC,KAAa;IACjD,OAAO,sBAAsB,CAAC,KAAK,CAAC,CAAC;AACvC,CAAC;AAUD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,KAAyB,EACzB,OAAsC;IAEtC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,IAAI,iBAAiB,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC;IAC/C,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,OAAO,CAAC;IAE/E,MAAM,EAAE,sBAAsB,EAAE,GAAG,6BAA6B,CAAC;QAC/D,gBAAgB,EAAE,OAAO,EAAE,gBAAgB,IAAI,OAAO,EAAE,aAAa;QACrE,uBAAuB,EAAE,OAAO,EAAE,uBAAuB;KAC1D,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,MAAM,+BAA+B,CAAC,OAAO,EAAE;QAC9D,SAAS,EAAE,OAAO;QAClB,sBAAsB;QACtB,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,MAAM;KAClC,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC,OAAO,CAAC;AAC1B,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACrD,KAAyB;IAEzB,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,MAAM,UAAU,GAAG,4BAA4B,CAAC,KAAK,CAAC,CAAC;IACvD,IAAI,CAAC,UAAU;QAAE,OAAO,SAAS,CAAC;IAClC,IAAI,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CACb,2GAA2G,UAAU,iEAAiE,CACvL,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CACb,kCAAkC,UAAU,kFAAkF,CAC/H,CAAC;IACJ,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC"}
|