@anvia/core 1.2.1 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -0
- package/dist/agent/agent-tool.js +10 -8
- package/dist/agent/agent.js +24 -22
- package/dist/agent/index.d.ts +12 -12
- package/dist/agent/index.js +30 -28
- package/dist/agent/interactions/index.d.ts +1 -1
- package/dist/agent/resolve-options.js +8 -8
- package/dist/agent/resolved-agent.js +25 -23
- package/dist/agent/team/agent-team.js +30 -28
- package/dist/agent/team/index.js +30 -28
- package/dist/agent/tool-catalog.js +7 -7
- package/dist/{agent-C9VhENdj.d.ts → agent-D3iyrJQb.d.ts} +9 -9
- package/dist/{chunk-UTAB3XQI.js → chunk-2JZV4LUS.js} +2 -2
- package/dist/{chunk-G336L2IE.js → chunk-4BDSO4PQ.js} +2 -2
- package/dist/{chunk-KZGSXJKU.js → chunk-4VDDYI6P.js} +4 -4
- package/dist/{chunk-LKIABZNR.js → chunk-5SJBSCG2.js} +3 -3
- package/dist/{chunk-MHOJJYDK.js → chunk-647TQE3E.js} +2 -2
- package/dist/chunk-6OO5C5GW.js +32 -0
- package/dist/chunk-6OO5C5GW.js.map +1 -0
- package/dist/{chunk-UOGM62JL.js → chunk-7TUAAGVR.js} +3 -3
- package/dist/{chunk-RT5LUEO3.js → chunk-A3DGCDGF.js} +11 -11
- package/dist/{chunk-J4SINPUA.js → chunk-B57NNDEF.js} +23 -11
- package/dist/chunk-B57NNDEF.js.map +1 -0
- package/dist/{chunk-B47EXUHL.js → chunk-CJKGTEN4.js} +2 -2
- package/dist/{chunk-HP34GRQX.js → chunk-E44DRLUL.js} +2 -2
- package/dist/{chunk-T4KS577P.js → chunk-FSBDE6RF.js} +7 -6
- package/dist/chunk-FSBDE6RF.js.map +1 -0
- package/dist/{chunk-F3E2RLC7.js → chunk-GE46NHN4.js} +3 -3
- package/dist/{chunk-CKKNO4XB.js → chunk-GSVOMQEE.js} +2 -2
- package/dist/{chunk-IDNL6IH4.js → chunk-HJ6KTQTZ.js} +7 -1
- package/dist/chunk-HJ6KTQTZ.js.map +1 -0
- package/dist/{chunk-T4IAJJUU.js → chunk-IYDGPF3C.js} +3 -3
- package/dist/{chunk-PPJ7SYQL.js → chunk-JMNIWUFV.js} +3 -3
- package/dist/{chunk-72LBHKYP.js → chunk-JWD43K7W.js} +2 -2
- package/dist/{chunk-MNYMLWWA.js → chunk-KNZNSNP4.js} +2 -2
- package/dist/{chunk-4S4OECPW.js → chunk-KRUDSNFN.js} +11 -11
- package/dist/{chunk-O6DTOCBM.js → chunk-KX2TRKO2.js} +2 -2
- package/dist/{chunk-BDDC72GF.js → chunk-LJGQ6VQB.js} +2 -2
- package/dist/chunk-NMPDZTBM.js +1 -0
- package/dist/chunk-NMPDZTBM.js.map +1 -0
- package/dist/{chunk-6N4ENZO4.js → chunk-OYHU4HNC.js} +2 -2
- package/dist/{chunk-Y7JTHNCU.js → chunk-RFFOL6ON.js} +2 -2
- package/dist/{chunk-47NTHIVB.js → chunk-SCFWN3T2.js} +2 -1
- package/dist/chunk-SCFWN3T2.js.map +1 -0
- package/dist/{chunk-QUS6S2NB.js → chunk-SIXS4CCU.js} +2 -2
- package/dist/{chunk-IV6YQTY2.js → chunk-T3ZOZEAB.js} +2 -2
- package/dist/{chunk-AOG6KSV4.js → chunk-T4UW4SUK.js} +3 -3
- package/dist/{chunk-BUPC72Y2.js → chunk-V5DWNXVH.js} +3 -3
- package/dist/{chunk-SIYZDPVH.js → chunk-VKRGWGA4.js} +39 -30
- package/dist/chunk-VKRGWGA4.js.map +1 -0
- package/dist/{chunk-5FCZ64HM.js → chunk-WCWSPU74.js} +3 -3
- package/dist/{chunk-XV3DH5GC.js → chunk-Y365ABZY.js} +5 -5
- package/dist/{chunk-BDKFFFVX.js → chunk-YMTBHHLQ.js} +64 -15
- package/dist/chunk-YMTBHHLQ.js.map +1 -0
- package/dist/{chunk-XJRNBTIV.js → chunk-YNA3UR42.js} +2 -2
- package/dist/chunk-YOLOFTAY.js +144 -0
- package/dist/chunk-YOLOFTAY.js.map +1 -0
- package/dist/{chunk-TIZGADU4.js → chunk-ZGDUEOSH.js} +7 -7
- package/dist/{chunk-TIZGADU4.js.map → chunk-ZGDUEOSH.js.map} +1 -1
- package/dist/completion/generate-completion.js +6 -4
- package/dist/completion/index.d.ts +3 -4
- package/dist/completion/index.js +6 -4
- package/dist/completion/stream-accumulator.js +2 -2
- package/dist/completion/types.js +1 -1
- package/dist/{dynamic-tools-CNHSPXr1.d.ts → dynamic-tools-BXXLc34l.d.ts} +3 -3
- package/dist/evals/advanced-metrics.js +9 -7
- package/dist/evals/cli.js +8 -6
- package/dist/evals/index.d.ts +5 -5
- package/dist/evals/index.js +12 -10
- package/dist/evals/judge.js +8 -6
- package/dist/evals/metrics.js +8 -6
- package/dist/evals/runner.js +7 -5
- package/dist/extractor/extractor.js +7 -5
- package/dist/extractor/index.d.ts +1 -1
- package/dist/extractor/index.js +7 -5
- package/dist/guardrails/index.d.ts +4 -4
- package/dist/image-generation/index.d.ts +1 -1
- package/dist/index.d.ts +13 -13
- package/dist/index.js +44 -38
- package/dist/internal/agent-runtime/agent-run.js +20 -18
- package/dist/internal/agent-runtime/continuation-state.js +6 -4
- package/dist/internal/agent-runtime/interaction-suspension.js +6 -4
- package/dist/internal/agent-runtime/memory.js +8 -6
- package/dist/internal/agent-runtime/prepared-tool-call.js +2 -2
- package/dist/internal/agent-runtime/retrieval.js +5 -5
- package/dist/internal/agent-runtime/tool-execution.js +16 -14
- package/dist/internal/agent.d.ts +45 -12
- package/dist/internal/agent.js +25 -23
- package/dist/internal/completion-request.js +2 -2
- package/dist/internal/team-runtime/member.js +7 -5
- package/dist/internal/team-runtime/run.js +28 -26
- package/dist/internal/team-runtime/tools.js +4 -4
- package/dist/mcp/index.d.ts +4 -4
- package/dist/memory/compaction.js +7 -5
- package/dist/memory/index.d.ts +3 -3
- package/dist/memory/index.js +7 -5
- package/dist/{middleware-CWjnMbiH.d.ts → middleware-DORuwSy-.d.ts} +67 -4
- package/dist/observability/group.js +7 -5
- package/dist/observability/index.d.ts +5 -5
- package/dist/observability/index.js +7 -5
- package/dist/pipeline/index.d.ts +10 -10
- package/dist/pipeline/index.js +8 -6
- package/dist/pipeline/pipeline.js +8 -6
- package/dist/provider-output-error-CQD0MWey.d.ts +221 -0
- package/dist/schema/index.js +7 -0
- package/dist/schema/standard-json-schema.js +10 -0
- package/dist/schema/standard-json-schema.js.map +1 -0
- package/dist/schema/standard-schema.js +11 -0
- package/dist/schema/standard-schema.js.map +1 -0
- package/dist/skills/index.d.ts +4 -4
- package/dist/skills/index.js +12 -12
- package/dist/skills/load.js +11 -11
- package/dist/skills/tools.js +10 -10
- package/dist/speech-generation/index.d.ts +1 -1
- package/dist/speech-generation/index.js +1 -1
- package/dist/{text-GbW4WYMg.d.ts → text-CklbSG7K.d.ts} +1 -1
- package/dist/{think-tool-YWsV98I5.d.ts → think-tool-2unWbq1w.d.ts} +1 -1
- package/dist/tool/create-tool.js +3 -3
- package/dist/tool/dynamic-tools.js +6 -6
- package/dist/tool/index.d.ts +8 -8
- package/dist/tool/index.js +11 -11
- package/dist/tool/question-tool.js +4 -4
- package/dist/tool/think-tool.js +4 -4
- package/dist/tool/tool.js +1 -1
- package/dist/{tool-DQMZpZSS.d.ts → tool-D_jV3cRZ.d.ts} +38 -1
- package/dist/transcription/index.d.ts +1 -1
- package/dist/{types-DfRPfehE.d.ts → types-0t3BczrD.d.ts} +2 -2
- package/dist/{types-CODGMHnp.d.ts → types-ChyQISt-.d.ts} +1 -1
- package/dist/{types-Bqw0AuFl.d.ts → types-CqiX-4_C.d.ts} +1 -1
- package/dist/{types-C1xYKXF2.d.ts → types-Cu2tEf3V.d.ts} +1 -1
- package/dist/{types-CiHjqE6J.d.ts → types-DYqZKDA8.d.ts} +140 -0
- package/dist/{types-CafU6Ux5.d.ts → types-DhWxTobb.d.ts} +37 -1
- package/dist/vector-store/index.d.ts +4 -4
- package/dist/vector-store/index.js +8 -8
- package/package.json +9 -1
- package/dist/chunk-47NTHIVB.js.map +0 -1
- package/dist/chunk-BDKFFFVX.js.map +0 -1
- package/dist/chunk-IDNL6IH4.js.map +0 -1
- package/dist/chunk-J4SINPUA.js.map +0 -1
- package/dist/chunk-SIYZDPVH.js.map +0 -1
- package/dist/chunk-T4KS577P.js.map +0 -1
- package/dist/provider-output-error-OQ4fjw5W.d.ts +0 -107
- /package/dist/{chunk-UTAB3XQI.js.map → chunk-2JZV4LUS.js.map} +0 -0
- /package/dist/{chunk-G336L2IE.js.map → chunk-4BDSO4PQ.js.map} +0 -0
- /package/dist/{chunk-KZGSXJKU.js.map → chunk-4VDDYI6P.js.map} +0 -0
- /package/dist/{chunk-LKIABZNR.js.map → chunk-5SJBSCG2.js.map} +0 -0
- /package/dist/{chunk-MHOJJYDK.js.map → chunk-647TQE3E.js.map} +0 -0
- /package/dist/{chunk-UOGM62JL.js.map → chunk-7TUAAGVR.js.map} +0 -0
- /package/dist/{chunk-RT5LUEO3.js.map → chunk-A3DGCDGF.js.map} +0 -0
- /package/dist/{chunk-B47EXUHL.js.map → chunk-CJKGTEN4.js.map} +0 -0
- /package/dist/{chunk-HP34GRQX.js.map → chunk-E44DRLUL.js.map} +0 -0
- /package/dist/{chunk-F3E2RLC7.js.map → chunk-GE46NHN4.js.map} +0 -0
- /package/dist/{chunk-CKKNO4XB.js.map → chunk-GSVOMQEE.js.map} +0 -0
- /package/dist/{chunk-T4IAJJUU.js.map → chunk-IYDGPF3C.js.map} +0 -0
- /package/dist/{chunk-PPJ7SYQL.js.map → chunk-JMNIWUFV.js.map} +0 -0
- /package/dist/{chunk-72LBHKYP.js.map → chunk-JWD43K7W.js.map} +0 -0
- /package/dist/{chunk-MNYMLWWA.js.map → chunk-KNZNSNP4.js.map} +0 -0
- /package/dist/{chunk-4S4OECPW.js.map → chunk-KRUDSNFN.js.map} +0 -0
- /package/dist/{chunk-O6DTOCBM.js.map → chunk-KX2TRKO2.js.map} +0 -0
- /package/dist/{chunk-BDDC72GF.js.map → chunk-LJGQ6VQB.js.map} +0 -0
- /package/dist/{chunk-6N4ENZO4.js.map → chunk-OYHU4HNC.js.map} +0 -0
- /package/dist/{chunk-Y7JTHNCU.js.map → chunk-RFFOL6ON.js.map} +0 -0
- /package/dist/{chunk-QUS6S2NB.js.map → chunk-SIXS4CCU.js.map} +0 -0
- /package/dist/{chunk-IV6YQTY2.js.map → chunk-T3ZOZEAB.js.map} +0 -0
- /package/dist/{chunk-AOG6KSV4.js.map → chunk-T4UW4SUK.js.map} +0 -0
- /package/dist/{chunk-BUPC72Y2.js.map → chunk-V5DWNXVH.js.map} +0 -0
- /package/dist/{chunk-5FCZ64HM.js.map → chunk-WCWSPU74.js.map} +0 -0
- /package/dist/{chunk-XV3DH5GC.js.map → chunk-Y365ABZY.js.map} +0 -0
- /package/dist/{chunk-XJRNBTIV.js.map → chunk-YNA3UR42.js.map} +0 -0
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import {
|
|
2
|
+
toProviderJsonSchema
|
|
3
|
+
} from "./chunk-SQAAVYJG.js";
|
|
4
|
+
|
|
5
|
+
// src/schema/standard-json-schema.ts
|
|
6
|
+
var JSON_SCHEMA_TARGET = "draft-2020-12";
|
|
7
|
+
function tryToProviderJsonSchemaFromStandardSchema(schema) {
|
|
8
|
+
const props = schema["~standard"];
|
|
9
|
+
if (props.vendor === "zod") {
|
|
10
|
+
const jsonSchema2 = toProviderZodJsonSchema(schema);
|
|
11
|
+
completeStrictObjectRefinements(jsonSchema2);
|
|
12
|
+
return { jsonSchema: jsonSchema2 };
|
|
13
|
+
}
|
|
14
|
+
const jsonSchema = props.jsonSchema;
|
|
15
|
+
if (typeof jsonSchema === "object" && jsonSchema !== null) {
|
|
16
|
+
return {
|
|
17
|
+
jsonSchema: toProviderJsonSchemaShape(jsonSchema.input({ target: JSON_SCHEMA_TARGET }))
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
return { pendingSchema: schema };
|
|
21
|
+
}
|
|
22
|
+
function toProviderZodJsonSchema(schema) {
|
|
23
|
+
let outputJsonSchema;
|
|
24
|
+
try {
|
|
25
|
+
outputJsonSchema = toProviderJsonSchema(schema, { io: "output" });
|
|
26
|
+
} catch {
|
|
27
|
+
return toProviderJsonSchema(schema, { io: "input" });
|
|
28
|
+
}
|
|
29
|
+
let inputJsonSchema;
|
|
30
|
+
try {
|
|
31
|
+
inputJsonSchema = toProviderJsonSchema(schema, { io: "input" });
|
|
32
|
+
} catch {
|
|
33
|
+
return outputJsonSchema;
|
|
34
|
+
}
|
|
35
|
+
return jsonSchemaMatchesInputShape(inputJsonSchema, outputJsonSchema) ? outputJsonSchema : inputJsonSchema;
|
|
36
|
+
}
|
|
37
|
+
function jsonSchemaMatchesInputShape(input, output) {
|
|
38
|
+
if (Array.isArray(input) || Array.isArray(output)) {
|
|
39
|
+
return Array.isArray(input) && Array.isArray(output) && input.length === output.length && input.every((item, index) => jsonSchemaMatchesInputShape(item, output[index]));
|
|
40
|
+
}
|
|
41
|
+
if (typeof input === "object" && input !== null && typeof output === "object" && output !== null) {
|
|
42
|
+
const inputKeys = Object.keys(input).sort();
|
|
43
|
+
const outputKeys = Object.keys(output).filter((key) => key !== "additionalProperties").sort();
|
|
44
|
+
return inputKeys.length === outputKeys.length && inputKeys.every((key, index) => {
|
|
45
|
+
const outputKey = outputKeys[index];
|
|
46
|
+
if (outputKey === void 0 || key !== outputKey) return false;
|
|
47
|
+
const inputValue = input[key];
|
|
48
|
+
const outputValue = output[outputKey];
|
|
49
|
+
return jsonSchemaMatchesInputShape(inputValue, outputValue);
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
return input === output;
|
|
53
|
+
}
|
|
54
|
+
async function toProviderJsonSchemaFromStandardSchema(schema) {
|
|
55
|
+
const converted = tryToProviderJsonSchemaFromStandardSchema(schema);
|
|
56
|
+
if (converted.jsonSchema !== void 0) return converted.jsonSchema;
|
|
57
|
+
const pending = converted.pendingSchema;
|
|
58
|
+
const vendor = pending["~standard"].vendor;
|
|
59
|
+
if (vendor === "valibot") {
|
|
60
|
+
return valibotToProviderJsonSchema(pending);
|
|
61
|
+
}
|
|
62
|
+
throw new Error(
|
|
63
|
+
`Structured output schemas from vendor "${vendor}" cannot be converted to a provider JSON schema. Use a Zod or Valibot schema, or make the schema implement the Standard JSON Schema interface ("~standard.jsonSchema").`
|
|
64
|
+
);
|
|
65
|
+
}
|
|
66
|
+
var valibotToJsonSchemaModule;
|
|
67
|
+
async function loadValibotToJsonSchema() {
|
|
68
|
+
valibotToJsonSchemaModule ??= import("@valibot/to-json-schema");
|
|
69
|
+
try {
|
|
70
|
+
return await valibotToJsonSchemaModule;
|
|
71
|
+
} catch (error) {
|
|
72
|
+
valibotToJsonSchemaModule = void 0;
|
|
73
|
+
throw new Error(
|
|
74
|
+
'The structured output schema is a Valibot schema, but "@valibot/to-json-schema" is not installed. Install it to use Valibot schemas for structured output.',
|
|
75
|
+
{ cause: error }
|
|
76
|
+
);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
async function valibotToProviderJsonSchema(schema) {
|
|
80
|
+
const { toJsonSchema } = await loadValibotToJsonSchema();
|
|
81
|
+
const jsonSchema = toJsonSchema(schema, {
|
|
82
|
+
target: JSON_SCHEMA_TARGET,
|
|
83
|
+
typeMode: "input"
|
|
84
|
+
});
|
|
85
|
+
return toProviderJsonSchemaShape(jsonSchema);
|
|
86
|
+
}
|
|
87
|
+
function toProviderJsonSchemaShape(jsonSchema) {
|
|
88
|
+
const { $schema: _schema, ...providerSchema } = jsonSchema;
|
|
89
|
+
completeStrictObjectRefinements(providerSchema);
|
|
90
|
+
return providerSchema;
|
|
91
|
+
}
|
|
92
|
+
function completeStrictObjectRefinements(jsonSchema) {
|
|
93
|
+
completeSchemaNode(jsonSchema);
|
|
94
|
+
}
|
|
95
|
+
var SCHEMA_POSITIONS = /* @__PURE__ */ new Set([
|
|
96
|
+
"additionalItems",
|
|
97
|
+
"additionalProperties",
|
|
98
|
+
"allOf",
|
|
99
|
+
"anyOf",
|
|
100
|
+
"contains",
|
|
101
|
+
"contentSchema",
|
|
102
|
+
"else",
|
|
103
|
+
"if",
|
|
104
|
+
"items",
|
|
105
|
+
"not",
|
|
106
|
+
"oneOf",
|
|
107
|
+
"prefixItems",
|
|
108
|
+
"propertyNames",
|
|
109
|
+
"then",
|
|
110
|
+
"unevaluatedItems",
|
|
111
|
+
"unevaluatedProperties"
|
|
112
|
+
]);
|
|
113
|
+
var SCHEMA_MAP_POSITIONS = /* @__PURE__ */ new Set([
|
|
114
|
+
"$defs",
|
|
115
|
+
"definitions",
|
|
116
|
+
"dependencies",
|
|
117
|
+
"dependentSchemas",
|
|
118
|
+
"patternProperties",
|
|
119
|
+
"properties"
|
|
120
|
+
]);
|
|
121
|
+
function completeSchemaNode(node) {
|
|
122
|
+
if (Array.isArray(node)) {
|
|
123
|
+
for (const item of node) completeSchemaNode(item);
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
if (typeof node !== "object" || node === null) return;
|
|
127
|
+
const schema = node;
|
|
128
|
+
if (schema.type === "object" && schema.additionalProperties === void 0) {
|
|
129
|
+
schema.additionalProperties = false;
|
|
130
|
+
}
|
|
131
|
+
for (const [key, value] of Object.entries(schema)) {
|
|
132
|
+
if (SCHEMA_POSITIONS.has(key)) {
|
|
133
|
+
completeSchemaNode(value);
|
|
134
|
+
} else if (SCHEMA_MAP_POSITIONS.has(key) && typeof value === "object" && value !== null && !Array.isArray(value)) {
|
|
135
|
+
for (const child of Object.values(value)) completeSchemaNode(child);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
export {
|
|
141
|
+
tryToProviderJsonSchemaFromStandardSchema,
|
|
142
|
+
toProviderJsonSchemaFromStandardSchema
|
|
143
|
+
};
|
|
144
|
+
//# sourceMappingURL=chunk-YOLOFTAY.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/schema/standard-json-schema.ts"],"sourcesContent":["import type { z } from \"zod\";\nimport type { JsonObject, JsonValue } from \"../completion/index\";\nimport type { StandardJSONSchemaV1, StandardSchemaV1 } from \"./standard-schema\";\nimport { toProviderJsonSchema } from \"./zod-schema\";\n\nconst JSON_SCHEMA_TARGET = \"draft-2020-12\";\n\n/** The outcome of converting a Standard Schema to a provider JSON Schema. */\nexport type StandardSchemaJsonSchemaConversion =\n | { readonly jsonSchema: JsonObject; readonly pendingSchema?: undefined }\n | { readonly jsonSchema?: undefined; readonly pendingSchema: StandardSchemaV1 };\n\n/**\n * Converts a Standard Schema to the JSON Schema sent to providers when the\n * conversion can happen synchronously; otherwise returns the schema as pending\n * so callers can resolve it asynchronously with\n * {@link toProviderJsonSchemaFromStandardSchema}.\n *\n * Providers receive the schema's input representation: the raw provider\n * response is what `~standard.validate` receives as its validation input,\n * while the validated (possibly transformed) value becomes the completion\n * output. Object nodes are completed with `additionalProperties: false` so\n * payloads remain eligible for provider strict modes such as OpenAI\n * structured outputs.\n */\nexport function tryToProviderJsonSchemaFromStandardSchema(\n schema: StandardSchemaV1,\n): StandardSchemaJsonSchemaConversion {\n const props = schema[\"~standard\"];\n // Zod keeps its native converter. Prefer the output representation: it\n // validates identically for schemas without input/output differences and\n // carries zod's strict-object refinements (additionalProperties: false)\n // that provider strict modes such as OpenAI structured outputs require.\n if (props.vendor === \"zod\") {\n const jsonSchema = toProviderZodJsonSchema(schema as z.ZodType);\n completeStrictObjectRefinements(jsonSchema);\n return { jsonSchema };\n }\n // Generic support for any library implementing the Standard JSON Schema spec.\n const jsonSchema = (\n props as {\n jsonSchema?: StandardJSONSchemaV1[\"~standard\"][\"jsonSchema\"] | undefined;\n }\n ).jsonSchema;\n if (typeof jsonSchema === \"object\" && jsonSchema !== null) {\n return {\n jsonSchema: toProviderJsonSchemaShape(jsonSchema.input({ target: JSON_SCHEMA_TARGET })),\n };\n }\n // Vendor-specific converters may need to be loaded asynchronously.\n return { pendingSchema: schema };\n}\n\nfunction toProviderZodJsonSchema(schema: z.ZodType): JsonObject {\n let outputJsonSchema: JsonObject;\n try {\n outputJsonSchema = toProviderJsonSchema(schema, { io: \"output\" });\n } catch {\n // Transformed schemas are unrepresentable on the output side. Describe the\n // validation input instead so the provider emits values the schema\n // accepts, and the transformed output becomes the completion result.\n return toProviderJsonSchema(schema, { io: \"input\" });\n }\n let inputJsonSchema: JsonObject;\n try {\n inputJsonSchema = toProviderJsonSchema(schema, { io: \"input\" });\n } catch {\n // The input side is not representable while the output side is; the\n // output side remains the best available description.\n return outputJsonSchema;\n }\n // The provider response is fed to `~standard.validate` as its input, so the\n // output representation may only be used when it describes the same accepted\n // values as the input side. Ignoring additionalProperties keeps zod's\n // strict-object refinements (which provider strict modes such as OpenAI\n // structured outputs require) while still detecting schemas whose input and\n // output values genuinely differ, like `z.string().pipe(z.coerce.number())`.\n return jsonSchemaMatchesInputShape(inputJsonSchema, outputJsonSchema)\n ? outputJsonSchema\n : inputJsonSchema;\n}\n\n/** Checks whether the output-side schema shape equals the input-side shape, ignoring strictness. */\nfunction jsonSchemaMatchesInputShape(input: JsonValue, output: JsonValue): boolean {\n if (Array.isArray(input) || Array.isArray(output)) {\n return (\n Array.isArray(input) &&\n Array.isArray(output) &&\n input.length === output.length &&\n input.every((item, index) => jsonSchemaMatchesInputShape(item, output[index]))\n );\n }\n if (\n typeof input === \"object\" &&\n input !== null &&\n typeof output === \"object\" &&\n output !== null\n ) {\n const inputKeys = Object.keys(input).sort();\n const outputKeys = Object.keys(output)\n .filter((key) => key !== \"additionalProperties\")\n .sort();\n return (\n inputKeys.length === outputKeys.length &&\n inputKeys.every((key, index) => {\n const outputKey = outputKeys[index];\n if (outputKey === undefined || key !== outputKey) return false;\n // Keys come from Object.keys, so the indexed values exist by construction.\n const inputValue = (input as Record<string, JsonValue>)[key] as JsonValue;\n const outputValue = (output as Record<string, JsonValue>)[outputKey] as JsonValue;\n return jsonSchemaMatchesInputShape(inputValue, outputValue);\n })\n );\n }\n return input === output;\n}\n\n/**\n * Converts any supported Standard Schema to the JSON Schema sent to providers.\n * Synchronously convertible schemas resolve immediately; Valibot schemas load\n * the optional `@valibot/to-json-schema` converter on first use.\n */\nexport async function toProviderJsonSchemaFromStandardSchema(\n schema: StandardSchemaV1,\n): Promise<JsonObject> {\n const converted = tryToProviderJsonSchemaFromStandardSchema(schema);\n if (converted.jsonSchema !== undefined) return converted.jsonSchema;\n const pending = converted.pendingSchema;\n const vendor = pending[\"~standard\"].vendor;\n if (vendor === \"valibot\") {\n return valibotToProviderJsonSchema(pending);\n }\n throw new Error(\n `Structured output schemas from vendor \"${vendor}\" cannot be converted to a provider JSON schema. ` +\n `Use a Zod or Valibot schema, or make the schema implement the Standard JSON Schema interface (\"~standard.jsonSchema\").`,\n );\n}\n\ntype ValibotToJsonSchemaModule = {\n toJsonSchema: (\n schema: StandardSchemaV1,\n config?: {\n readonly target?: \"draft-07\" | \"draft-2020-12\" | \"openapi-3.0\" | undefined;\n readonly typeMode?: \"ignore\" | \"input\" | \"output\" | undefined;\n },\n ) => Record<string, unknown>;\n};\n\nlet valibotToJsonSchemaModule: Promise<ValibotToJsonSchemaModule> | undefined;\n\nasync function loadValibotToJsonSchema(): Promise<ValibotToJsonSchemaModule> {\n valibotToJsonSchemaModule ??=\n import(\"@valibot/to-json-schema\") as unknown as Promise<ValibotToJsonSchemaModule>;\n try {\n return await valibotToJsonSchemaModule;\n } catch (error) {\n valibotToJsonSchemaModule = undefined;\n throw new Error(\n 'The structured output schema is a Valibot schema, but \"@valibot/to-json-schema\" is not installed. ' +\n \"Install it to use Valibot schemas for structured output.\",\n { cause: error },\n );\n }\n}\n\nasync function valibotToProviderJsonSchema(schema: StandardSchemaV1): Promise<JsonObject> {\n const { toJsonSchema } = await loadValibotToJsonSchema();\n const jsonSchema = toJsonSchema(schema, {\n target: JSON_SCHEMA_TARGET,\n typeMode: \"input\",\n });\n return toProviderJsonSchemaShape(jsonSchema);\n}\n\nfunction toProviderJsonSchemaShape(jsonSchema: Record<string, unknown>): JsonObject {\n const { $schema: _schema, ...providerSchema } = jsonSchema;\n completeStrictObjectRefinements(providerSchema);\n // JSON Schema documents are JSON values by construction.\n return providerSchema as JsonObject;\n}\n\n/**\n * Adds `additionalProperties: false` to object schema nodes that do not declare\n * it. Restricting the provider to declared properties is validation-safe\n * because schema libraries strip or accept unknown input keys, and provider\n * strict modes such as OpenAI structured outputs require the refinement.\n * Explicit values (for example permissive objects) are left untouched.\n *\n * Recursion follows schema-bearing keywords only, so literal values under\n * `const`, `enum`, `default`, `examples`, or extension keywords — which may\n * legitimately be objects with a `type` field — are never rewritten.\n */\nfunction completeStrictObjectRefinements(jsonSchema: unknown): void {\n completeSchemaNode(jsonSchema);\n}\n\n// Schema-bearing keywords of the drafts the converters are requested to\n// produce (draft-07, draft-2020-12), so literal values under const, enum,\n// annotations, and extension keywords are never rewritten.\nconst SCHEMA_POSITIONS: ReadonlySet<string> = new Set([\n \"additionalItems\",\n \"additionalProperties\",\n \"allOf\",\n \"anyOf\",\n \"contains\",\n \"contentSchema\",\n \"else\",\n \"if\",\n \"items\",\n \"not\",\n \"oneOf\",\n \"prefixItems\",\n \"propertyNames\",\n \"then\",\n \"unevaluatedItems\",\n \"unevaluatedProperties\",\n]);\n\nconst SCHEMA_MAP_POSITIONS: ReadonlySet<string> = new Set([\n \"$defs\",\n \"definitions\",\n \"dependencies\",\n \"dependentSchemas\",\n \"patternProperties\",\n \"properties\",\n]);\n\nfunction completeSchemaNode(node: unknown): void {\n if (Array.isArray(node)) {\n // Lists of schemas, like prefixItems and draft-07 items.\n for (const item of node) completeSchemaNode(item);\n return;\n }\n if (typeof node !== \"object\" || node === null) return;\n const schema = node as Record<string, unknown>;\n if (schema.type === \"object\" && schema.additionalProperties === undefined) {\n schema.additionalProperties = false;\n }\n for (const [key, value] of Object.entries(schema)) {\n if (SCHEMA_POSITIONS.has(key)) {\n completeSchemaNode(value);\n } else if (\n SCHEMA_MAP_POSITIONS.has(key) &&\n typeof value === \"object\" &&\n value !== null &&\n !Array.isArray(value)\n ) {\n for (const child of Object.values(value)) completeSchemaNode(child);\n }\n }\n}\n"],"mappings":"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","names":["jsonSchema"]}
|
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
} from "./chunk-V3FFZWF3.js";
|
|
24
24
|
import {
|
|
25
25
|
extract
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-7TUAAGVR.js";
|
|
27
27
|
import {
|
|
28
28
|
mapWithConcurrency
|
|
29
29
|
} from "./chunk-4FIVU53H.js";
|
|
@@ -316,11 +316,11 @@ function withPipelineParentTrace(trace, parent, agentPrimaryTrace) {
|
|
|
316
316
|
if (parent?.traceId === void 0) return trace;
|
|
317
317
|
if (parent.observer !== agentPrimaryTrace) return trace;
|
|
318
318
|
if (trace?.traceId !== void 0 && trace.traceId !== parent.traceId) return trace;
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
319
|
+
const resolved = { ...trace, traceId: parent.traceId };
|
|
320
|
+
if (trace?.parentObservationId === void 0 && parent.observationId !== void 0) {
|
|
321
|
+
resolved.parentObservationId = parent.observationId;
|
|
322
|
+
}
|
|
323
|
+
return resolved;
|
|
324
324
|
}
|
|
325
325
|
function isInternalPipelineOptions(options) {
|
|
326
326
|
return internalPipelineOptions in options;
|
|
@@ -372,4 +372,4 @@ function normalizeParallelBranches(branches) {
|
|
|
372
372
|
export {
|
|
373
373
|
Pipeline
|
|
374
374
|
};
|
|
375
|
-
//# sourceMappingURL=chunk-
|
|
375
|
+
//# sourceMappingURL=chunk-ZGDUEOSH.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/pipeline/pipeline.ts"],"sourcesContent":["import { z } from \"zod\";\nimport type { Agent } from \"../agent/agent\";\nimport { AgentRunBlockedError } from \"../agent/errors\";\nimport type { AgentInput, AgentRunOptions, AgentRunSettings } from \"../agent/run-types\";\nimport type { CompletionModel, CompletionModelControlsOf, JsonObject } from \"../completion\";\nimport { type ExtractOptions, extract as extractData } from \"../extractor\";\nimport { throwIfAborted } from \"../internal/abort\";\nimport { mapWithConcurrency } from \"../internal/concurrency\";\nimport type { AgentTraceOptions } from \"../observability\";\nimport { PipelineAgentSuspensionError } from \"./errors\";\nimport {\n appendComposedGraph,\n appendParallelBranch,\n appendStageNode,\n cloneGraph,\n initialPipelineState,\n withOutputNode,\n withTerminalPaths,\n} from \"./graph\";\nimport { snapshotPipelineObservability, startPipelineRunObservers } from \"./observability\";\nimport {\n childContext,\n combineAbortSignals,\n pipelineAbortError,\n runNode,\n stageContext,\n} from \"./runtime\";\nimport type {\n ParallelOutput,\n PipelineBatchItem,\n PipelineBatchOptions,\n PipelineExecutor,\n PipelineGraph,\n PipelineGraphNode,\n PipelineNodePath,\n PipelineOptions,\n PipelineRunContext,\n PipelineRunOptions,\n PipelineRunResult,\n PipelineStageContext,\n PipelineStageMetadata,\n PipelineState,\n PipelineTraceInfo,\n} from \"./types\";\n\nconst internalPipelineOptions = Symbol(\"internal-pipeline-options\");\n\ntype RawResponseOf<Model> =\n Model extends CompletionModel<infer RawResponse> ? RawResponse : unknown;\n\ntype PipelineAgentRequest<Output, Model extends CompletionModel> = AgentInput &\n Omit<\n AgentRunSettings<Output, RawResponseOf<Model>, CompletionModelControlsOf<Model>>,\n \"abortSignal\"\n >;\n\nexport type PipelineStepOptions<Input, Output> = PipelineStageMetadata & {\n run(context: PipelineStageContext<Input>): Output | Promise<Output>;\n};\n\nexport type PipelineComposeOptions<Input, Output> = PipelineStageMetadata & {\n pipeline: Pipeline<Input, Output>;\n};\n\nexport type PipelineParallelOptions<\n Input,\n Branches extends Record<string, Pipeline<Input, unknown>>,\n> = PipelineStageMetadata & {\n branches: Branches;\n};\n\nexport type PipelineAgentOptions<\n Input,\n AgentOutput,\n Model extends CompletionModel,\n> = PipelineStageMetadata & {\n agent: Agent<AgentOutput, Model>;\n request(\n context: PipelineStageContext<Input>,\n ): PipelineAgentRequest<AgentOutput, Model> | Promise<PipelineAgentRequest<AgentOutput, Model>>;\n suspension: \"reject\";\n};\n\nexport type PipelineExtractOptions<\n Input,\n Extracted,\n Model extends CompletionModel,\n> = PipelineStageMetadata &\n Omit<ExtractOptions<Extracted, Model>, \"text\" | \"abortSignal\"> & {\n text(context: PipelineStageContext<Input>): string | Promise<string>;\n };\n\ntype InternalPipelineOptions<Input, Output> = {\n [internalPipelineOptions]: {\n executor: PipelineExecutor<Input, Output>;\n state: PipelineState;\n observability: PipelineOptions<Input>[\"observability\"];\n };\n};\n\n/** Immutable, typed Pipeline with explicit stage and execution boundaries. */\nexport class Pipeline<Input, Output = Input> {\n readonly id: string;\n readonly name: string | undefined;\n readonly description: string | undefined;\n readonly metadata: JsonObject | undefined;\n readonly observability: PipelineOptions<Input>[\"observability\"];\n\n private readonly executor: PipelineExecutor<Input, Output>;\n private readonly state: PipelineState;\n\n constructor(options: PipelineOptions<Input, Output>);\n constructor(options: PipelineOptions<Input, Output> | InternalPipelineOptions<Input, Output>) {\n if (isInternalPipelineOptions(options)) {\n this.executor = options[internalPipelineOptions].executor;\n this.state = options[internalPipelineOptions].state;\n this.observability = options[internalPipelineOptions].observability;\n } else {\n const id = normalizePipelineId(options.id);\n if (!isZodSchema(options.inputSchema)) {\n throw new TypeError(\"Pipeline inputSchema must be a Zod schema.\");\n }\n const inputSchema = options.inputSchema;\n this.executor = (async (input, context) => {\n throwIfAborted(context.abortSignal);\n return inputSchema.parseAsync(input) as Promise<Output>;\n }) as PipelineExecutor<Input, Output>;\n this.state = initialPipelineState({\n id,\n name: options.name,\n description: options.description,\n metadata: options.metadata,\n });\n this.observability = snapshotPipelineObservability(options.observability);\n }\n\n const graph = this.state.graph;\n this.id = graph.id;\n this.name = graph.name;\n this.description = graph.description;\n this.metadata = graph.metadata;\n }\n\n step<Next>(options: PipelineStepOptions<Awaited<Output>, Next>): Pipeline<Input, Awaited<Next>> {\n const next = appendStageNode(this.state, \"step\", options);\n const executor = (async (input, context, pathPrefix) => {\n const value = await this.execute(input, context, pathPrefix);\n const path = [...pathPrefix, next.node.id];\n return (await runNode(context, next.node, path, value, () =>\n options.run(stageContext(value, context)),\n )) as Awaited<Next>;\n }) as PipelineExecutor<Input, Awaited<Next>>;\n return this.derive(executor, next.state);\n }\n\n compose<Next>(\n options: PipelineComposeOptions<Awaited<Output>, Next>,\n ): Pipeline<Input, Awaited<Next>> {\n const boundary = appendStageNode(this.state, \"pipeline\", options, {\n defaultLabel: options.pipeline.name ?? options.pipeline.id,\n pipelineId: options.pipeline.id,\n });\n const state = appendComposedGraph(boundary.state, boundary.node, options.pipeline.graph());\n const executor = (async (input, context, pathPrefix) => {\n const value = await this.execute(input, context, pathPrefix);\n const path = [...pathPrefix, boundary.node.id];\n return (await runNode(context, boundary.node, path, value, () =>\n options.pipeline.execute(value, context, path),\n )) as Awaited<Next>;\n }) as PipelineExecutor<Input, Awaited<Next>>;\n return this.derive(executor, state);\n }\n\n parallel<Branches extends Record<string, Pipeline<Awaited<Output>, unknown>>>(\n options: PipelineParallelOptions<Awaited<Output>, Branches>,\n ): Pipeline<Input, ParallelOutput<Branches>> {\n const branchEntries = normalizeParallelBranches(options.branches);\n if (branchEntries.length === 0) {\n throw new TypeError(\"Pipeline parallel branches must not be empty.\");\n }\n const parallel = appendStageNode(this.state, \"parallel\", options, {\n defaultLabel: `${branchEntries.length} parallel branches`,\n });\n let nextState = parallel.state;\n const branchNodes = new Map<string, PipelineGraphNode>();\n const terminalPaths: PipelineNodePath[] = [];\n for (const [key, branch] of branchEntries) {\n const appended = appendParallelBranch(nextState, parallel.node, key, branch.graph());\n nextState = appended.state;\n branchNodes.set(key, appended.node);\n terminalPaths.push(...appended.terminalPaths);\n }\n nextState = withTerminalPaths(nextState, terminalPaths);\n\n return this.derive<ParallelOutput<Branches>>(async (input, context, pathPrefix) => {\n const value = await this.execute(input, context, pathPrefix);\n const parallelPath = [...pathPrefix, parallel.node.id];\n return runNode(context, parallel.node, parallelPath, value, async () => {\n const controller = new AbortController();\n const combined = combineAbortSignals(context.abortSignal, controller.signal);\n const branchContext = childContext(context, combined.signal);\n let firstError: unknown;\n const promises = branchEntries.map(async ([key, branch]) => {\n const node = branchNodes.get(key) as PipelineGraphNode;\n const path = [...parallelPath, node.id];\n try {\n const output = await runNode(branchContext, node, path, value, () =>\n branch.execute(value, branchContext, path),\n );\n return [key, output] as const;\n } catch (error) {\n if (firstError === undefined) firstError = error;\n if (!controller.signal.aborted) controller.abort(error);\n throw error;\n }\n });\n\n const settled = await Promise.allSettled(promises);\n combined.dispose();\n if (context.abortSignal?.aborted === true) {\n throw pipelineAbortError(context.abortSignal);\n }\n if (firstError !== undefined) throw firstError;\n return Object.fromEntries(\n settled.map(\n (result) => (result as PromiseFulfilledResult<readonly [string, unknown]>).value,\n ),\n ) as ParallelOutput<Branches>;\n });\n }, nextState);\n }\n\n agent<AgentOutput, Model extends CompletionModel>(\n options: PipelineAgentOptions<Awaited<Output>, AgentOutput, Model>,\n ): Pipeline<Input, AgentOutput> {\n if (options.suspension !== \"reject\") {\n throw new TypeError('Pipeline Agent stages require suspension: \"reject\".');\n }\n const next = appendStageNode(this.state, \"agent\", options, {\n defaultLabel: options.agent.name ?? options.agent.id,\n agentId: options.agent.id,\n agentName: options.agent.name,\n });\n return this.derive<AgentOutput>(async (input, context, pathPrefix) => {\n const value = await this.execute(input, context, pathPrefix);\n const path = [...pathPrefix, next.node.id];\n return runNode(context, next.node, path, value, async (stageTrace) => {\n const request = await options.request(stageContext(value, context));\n const response = await options.agent.generate({\n ...request,\n trace: withPipelineParentTrace(\n request.trace,\n stageTrace,\n options.agent.observability?.primaryTrace,\n ),\n abortSignal: context.abortSignal,\n } as AgentRunOptions<AgentOutput, RawResponseOf<Model>, CompletionModelControlsOf<Model>>);\n if (response.type === \"interaction\") {\n throw new PipelineAgentSuspensionError(response);\n }\n if (response.type === \"blocked\") {\n throw new AgentRunBlockedError(response);\n }\n return response.output;\n });\n }, next.state);\n }\n\n extract<Extracted, Model extends CompletionModel>(\n options: PipelineExtractOptions<Awaited<Output>, Extracted, Model>,\n ): Pipeline<Input, Extracted> {\n const next = appendStageNode(this.state, \"extractor\", options);\n return this.derive<Extracted>(async (input, context, pathPrefix) => {\n const value = await this.execute(input, context, pathPrefix);\n const path = [...pathPrefix, next.node.id];\n return runNode(context, next.node, path, value, async () => {\n const text = await options.text(stageContext(value, context));\n const result = await extractData({\n model: options.model,\n text,\n outputSchema: options.outputSchema,\n instructions: options.instructions,\n retries: options.retries,\n temperature: options.temperature,\n maxTokens: options.maxTokens,\n providerOptions: options.providerOptions,\n abortSignal: context.abortSignal,\n });\n return result.output;\n });\n }, next.state);\n }\n\n async run(options: PipelineRunOptions<Input>): Promise<PipelineRunResult<Output>> {\n const runId = normalizeRunId(options.runId ?? globalThis.crypto.randomUUID());\n const startedAt = Date.now();\n const observability = await startPipelineRunObservers(\n this.observability?.observers ?? {},\n {\n runId,\n pipelineId: this.id,\n pipelineName: this.name,\n pipelineDescription: this.description,\n pipelineMetadata: this.metadata,\n runMetadata: options.metadata,\n trace: options.trace,\n input: options.input,\n },\n {\n primaryTrace: this.observability?.primaryTrace,\n errorPolicy: this.observability?.errorPolicy ?? \"ignore\",\n },\n );\n const context: PipelineRunContext = {\n runId,\n pipelineId: this.id,\n runMetadata: options.metadata,\n abortSignal: options.abortSignal,\n observer: options.observer,\n failOnObserverError: options.failOnObserverError === true,\n observability,\n };\n try {\n throwIfAborted(context.abortSignal);\n const output = await this.execute(options.input, context, []);\n throwIfAborted(context.abortSignal);\n await observability.end({\n runId,\n pipelineId: this.id,\n output,\n durationMs: Date.now() - startedAt,\n });\n return observability.trace === undefined\n ? { runId, output }\n : { runId, output, trace: observability.trace };\n } catch (error) {\n await observability.error({\n runId,\n pipelineId: this.id,\n status: context.abortSignal?.aborted === true ? \"cancelled\" : \"failed\",\n error,\n durationMs: Date.now() - startedAt,\n });\n throw error;\n }\n }\n\n async runBatch(options: PipelineBatchOptions<Input>): Promise<Array<PipelineBatchItem<Output>>> {\n throwIfAborted(options.abortSignal);\n return mapWithConcurrency([...options.inputs], options.concurrency, async (input) => {\n const runId = globalThis.crypto.randomUUID();\n try {\n const result = await this.run({\n input,\n runId,\n metadata: options.metadata,\n trace: options.trace,\n abortSignal: options.abortSignal,\n observer: options.observer,\n failOnObserverError: options.failOnObserverError,\n });\n return { status: \"completed\", ...result } as const;\n } catch (error) {\n if (options.abortSignal?.aborted === true) {\n throw pipelineAbortError(options.abortSignal);\n }\n return { status: \"failed\", runId, error } as const;\n }\n });\n }\n\n graph(): PipelineGraph {\n return cloneGraph(withOutputNode(this.state));\n }\n\n private derive<DerivedOutput>(\n executor: PipelineExecutor<Input, DerivedOutput>,\n state: PipelineState,\n ): Pipeline<Input, DerivedOutput> {\n return createDerivedPipeline(executor, state, this.observability);\n }\n\n private async execute(\n input: Input,\n context: PipelineRunContext,\n pathPrefix: PipelineNodePath,\n ): Promise<Awaited<Output>> {\n throwIfAborted(context.abortSignal);\n return (await this.executor(input, context, pathPrefix)) as Awaited<Output>;\n }\n}\n\nfunction createDerivedPipeline<Input, Output>(\n executor: PipelineExecutor<Input, Output>,\n state: PipelineState,\n observability: PipelineOptions<Input>[\"observability\"],\n): Pipeline<Input, Output> {\n const options: InternalPipelineOptions<Input, Output> = {\n [internalPipelineOptions]: { executor, state, observability },\n };\n return new Pipeline<Input, Output>(options as unknown as PipelineOptions<Input, Output>);\n}\n\nfunction withPipelineParentTrace(\n trace: AgentTraceOptions | undefined,\n parent: PipelineTraceInfo | undefined,\n agentPrimaryTrace: string | undefined,\n): AgentTraceOptions | undefined {\n if (parent?.traceId === undefined) return trace;\n if (parent.observer !== agentPrimaryTrace) return trace;\n if (trace?.traceId !== undefined && trace.traceId !== parent.traceId) return trace;\n return {\n ...trace,\n traceId: parent.traceId,\n ...(trace?.parentObservationId !== undefined || parent.observationId === undefined\n ? {}\n : { parentObservationId: parent.observationId }),\n };\n}\n\nfunction isInternalPipelineOptions<Input, Output>(\n options: PipelineOptions<Input, Output> | InternalPipelineOptions<Input, Output>,\n): options is InternalPipelineOptions<Input, Output> {\n return internalPipelineOptions in options;\n}\n\nfunction isZodSchema(value: unknown): value is z.ZodType {\n return value instanceof z.ZodType;\n}\n\nfunction normalizePipelineId(id: string): string {\n if (typeof id !== \"string\") {\n throw new TypeError(\"Pipeline id must be a string.\");\n }\n const normalized = id.trim();\n if (normalized.length === 0) {\n throw new TypeError(\"Pipeline id must be a non-empty string.\");\n }\n return normalized;\n}\n\nfunction normalizeRunId(runId: string): string {\n if (typeof runId !== \"string\") {\n throw new TypeError(\"Pipeline runId must be a string.\");\n }\n const normalized = runId.trim();\n if (normalized.length === 0) {\n throw new TypeError(\"Pipeline runId must be a non-empty string.\");\n }\n return normalized;\n}\n\nfunction normalizeParallelBranches<Branch>(\n branches: Readonly<Record<string, Branch>>,\n): Array<readonly [string, Branch]> {\n const entries: Array<readonly [string, Branch]> = [];\n const ids = new Set<string>();\n for (const key of Object.keys(branches)) {\n const pipeline = branches[key] as Branch;\n const id = key.trim();\n if (id.length === 0) {\n throw new TypeError(\"Pipeline parallel branch id must be a non-empty string.\");\n }\n if (ids.has(id)) {\n throw new TypeError(`Pipeline parallel branch id \"${id}\" is already registered.`);\n }\n ids.add(id);\n if (id !== key) {\n throw new TypeError(\"Pipeline parallel branch ids must not contain surrounding whitespace.\");\n }\n entries.push([id, pipeline]);\n }\n return entries;\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/pipeline/pipeline.ts"],"sourcesContent":["import { z } from \"zod\";\nimport type { Agent } from \"../agent/agent\";\nimport { AgentRunBlockedError } from \"../agent/errors\";\nimport type { AgentInput, AgentRunOptions, AgentRunSettings } from \"../agent/run-types\";\nimport type { CompletionModel, CompletionModelControlsOf, JsonObject } from \"../completion\";\nimport { type ExtractOptions, extract as extractData } from \"../extractor\";\nimport { throwIfAborted } from \"../internal/abort\";\nimport { mapWithConcurrency } from \"../internal/concurrency\";\nimport type { AgentTraceOptions } from \"../observability\";\nimport { PipelineAgentSuspensionError } from \"./errors\";\nimport {\n appendComposedGraph,\n appendParallelBranch,\n appendStageNode,\n cloneGraph,\n initialPipelineState,\n withOutputNode,\n withTerminalPaths,\n} from \"./graph\";\nimport { snapshotPipelineObservability, startPipelineRunObservers } from \"./observability\";\nimport {\n childContext,\n combineAbortSignals,\n pipelineAbortError,\n runNode,\n stageContext,\n} from \"./runtime\";\nimport type {\n ParallelOutput,\n PipelineBatchItem,\n PipelineBatchOptions,\n PipelineExecutor,\n PipelineGraph,\n PipelineGraphNode,\n PipelineNodePath,\n PipelineOptions,\n PipelineRunContext,\n PipelineRunOptions,\n PipelineRunResult,\n PipelineStageContext,\n PipelineStageMetadata,\n PipelineState,\n PipelineTraceInfo,\n} from \"./types\";\n\nconst internalPipelineOptions = Symbol(\"internal-pipeline-options\");\n\ntype RawResponseOf<Model> =\n Model extends CompletionModel<infer RawResponse> ? RawResponse : unknown;\n\ntype PipelineAgentRequest<Output, Model extends CompletionModel> = AgentInput &\n Omit<\n AgentRunSettings<Output, RawResponseOf<Model>, CompletionModelControlsOf<Model>>,\n \"abortSignal\"\n >;\n\nexport type PipelineStepOptions<Input, Output> = PipelineStageMetadata & {\n run(context: PipelineStageContext<Input>): Output | Promise<Output>;\n};\n\nexport type PipelineComposeOptions<Input, Output> = PipelineStageMetadata & {\n pipeline: Pipeline<Input, Output>;\n};\n\nexport type PipelineParallelOptions<\n Input,\n Branches extends Record<string, Pipeline<Input, unknown>>,\n> = PipelineStageMetadata & {\n branches: Branches;\n};\n\nexport type PipelineAgentOptions<\n Input,\n AgentOutput,\n Model extends CompletionModel,\n> = PipelineStageMetadata & {\n agent: Agent<AgentOutput, Model>;\n request(\n context: PipelineStageContext<Input>,\n ): PipelineAgentRequest<AgentOutput, Model> | Promise<PipelineAgentRequest<AgentOutput, Model>>;\n suspension: \"reject\";\n};\n\nexport type PipelineExtractOptions<\n Input,\n Extracted,\n Model extends CompletionModel,\n> = PipelineStageMetadata &\n Omit<ExtractOptions<Extracted, Model>, \"text\" | \"abortSignal\"> & {\n text(context: PipelineStageContext<Input>): string | Promise<string>;\n };\n\ntype InternalPipelineOptions<Input, Output> = {\n [internalPipelineOptions]: {\n executor: PipelineExecutor<Input, Output>;\n state: PipelineState;\n observability: PipelineOptions<Input>[\"observability\"];\n };\n};\n\n/** Immutable, typed Pipeline with explicit stage and execution boundaries. */\nexport class Pipeline<Input, Output = Input> {\n readonly id: string;\n readonly name: string | undefined;\n readonly description: string | undefined;\n readonly metadata: JsonObject | undefined;\n readonly observability: PipelineOptions<Input>[\"observability\"];\n\n private readonly executor: PipelineExecutor<Input, Output>;\n private readonly state: PipelineState;\n\n constructor(options: PipelineOptions<Input, Output>);\n constructor(options: PipelineOptions<Input, Output> | InternalPipelineOptions<Input, Output>) {\n if (isInternalPipelineOptions(options)) {\n this.executor = options[internalPipelineOptions].executor;\n this.state = options[internalPipelineOptions].state;\n this.observability = options[internalPipelineOptions].observability;\n } else {\n const id = normalizePipelineId(options.id);\n if (!isZodSchema(options.inputSchema)) {\n throw new TypeError(\"Pipeline inputSchema must be a Zod schema.\");\n }\n const inputSchema = options.inputSchema;\n this.executor = (async (input, context) => {\n throwIfAborted(context.abortSignal);\n return inputSchema.parseAsync(input) as Promise<Output>;\n }) as PipelineExecutor<Input, Output>;\n this.state = initialPipelineState({\n id,\n name: options.name,\n description: options.description,\n metadata: options.metadata,\n });\n this.observability = snapshotPipelineObservability(options.observability);\n }\n\n const graph = this.state.graph;\n this.id = graph.id;\n this.name = graph.name;\n this.description = graph.description;\n this.metadata = graph.metadata;\n }\n\n step<Next>(options: PipelineStepOptions<Awaited<Output>, Next>): Pipeline<Input, Awaited<Next>> {\n const next = appendStageNode(this.state, \"step\", options);\n const executor = (async (input, context, pathPrefix) => {\n const value = await this.execute(input, context, pathPrefix);\n const path = [...pathPrefix, next.node.id];\n return (await runNode(context, next.node, path, value, () =>\n options.run(stageContext(value, context)),\n )) as Awaited<Next>;\n }) as PipelineExecutor<Input, Awaited<Next>>;\n return this.derive(executor, next.state);\n }\n\n compose<Next>(\n options: PipelineComposeOptions<Awaited<Output>, Next>,\n ): Pipeline<Input, Awaited<Next>> {\n const boundary = appendStageNode(this.state, \"pipeline\", options, {\n defaultLabel: options.pipeline.name ?? options.pipeline.id,\n pipelineId: options.pipeline.id,\n });\n const state = appendComposedGraph(boundary.state, boundary.node, options.pipeline.graph());\n const executor = (async (input, context, pathPrefix) => {\n const value = await this.execute(input, context, pathPrefix);\n const path = [...pathPrefix, boundary.node.id];\n return (await runNode(context, boundary.node, path, value, () =>\n options.pipeline.execute(value, context, path),\n )) as Awaited<Next>;\n }) as PipelineExecutor<Input, Awaited<Next>>;\n return this.derive(executor, state);\n }\n\n parallel<Branches extends Record<string, Pipeline<Awaited<Output>, unknown>>>(\n options: PipelineParallelOptions<Awaited<Output>, Branches>,\n ): Pipeline<Input, ParallelOutput<Branches>> {\n const branchEntries = normalizeParallelBranches(options.branches);\n if (branchEntries.length === 0) {\n throw new TypeError(\"Pipeline parallel branches must not be empty.\");\n }\n const parallel = appendStageNode(this.state, \"parallel\", options, {\n defaultLabel: `${branchEntries.length} parallel branches`,\n });\n let nextState = parallel.state;\n const branchNodes = new Map<string, PipelineGraphNode>();\n const terminalPaths: PipelineNodePath[] = [];\n for (const [key, branch] of branchEntries) {\n const appended = appendParallelBranch(nextState, parallel.node, key, branch.graph());\n nextState = appended.state;\n branchNodes.set(key, appended.node);\n terminalPaths.push(...appended.terminalPaths);\n }\n nextState = withTerminalPaths(nextState, terminalPaths);\n\n return this.derive<ParallelOutput<Branches>>(async (input, context, pathPrefix) => {\n const value = await this.execute(input, context, pathPrefix);\n const parallelPath = [...pathPrefix, parallel.node.id];\n return runNode(context, parallel.node, parallelPath, value, async () => {\n const controller = new AbortController();\n const combined = combineAbortSignals(context.abortSignal, controller.signal);\n const branchContext = childContext(context, combined.signal);\n let firstError: unknown;\n const promises = branchEntries.map(async ([key, branch]) => {\n const node = branchNodes.get(key) as PipelineGraphNode;\n const path = [...parallelPath, node.id];\n try {\n const output = await runNode(branchContext, node, path, value, () =>\n branch.execute(value, branchContext, path),\n );\n return [key, output] as const;\n } catch (error) {\n if (firstError === undefined) firstError = error;\n if (!controller.signal.aborted) controller.abort(error);\n throw error;\n }\n });\n\n const settled = await Promise.allSettled(promises);\n combined.dispose();\n if (context.abortSignal?.aborted === true) {\n throw pipelineAbortError(context.abortSignal);\n }\n if (firstError !== undefined) throw firstError;\n return Object.fromEntries(\n settled.map(\n (result) => (result as PromiseFulfilledResult<readonly [string, unknown]>).value,\n ),\n ) as ParallelOutput<Branches>;\n });\n }, nextState);\n }\n\n agent<AgentOutput, Model extends CompletionModel>(\n options: PipelineAgentOptions<Awaited<Output>, AgentOutput, Model>,\n ): Pipeline<Input, AgentOutput> {\n if (options.suspension !== \"reject\") {\n throw new TypeError('Pipeline Agent stages require suspension: \"reject\".');\n }\n const next = appendStageNode(this.state, \"agent\", options, {\n defaultLabel: options.agent.name ?? options.agent.id,\n agentId: options.agent.id,\n agentName: options.agent.name,\n });\n return this.derive<AgentOutput>(async (input, context, pathPrefix) => {\n const value = await this.execute(input, context, pathPrefix);\n const path = [...pathPrefix, next.node.id];\n return runNode(context, next.node, path, value, async (stageTrace) => {\n const request = await options.request(stageContext(value, context));\n const response = await options.agent.generate({\n ...request,\n trace: withPipelineParentTrace(\n request.trace,\n stageTrace,\n options.agent.observability?.primaryTrace,\n ),\n abortSignal: context.abortSignal,\n } as AgentRunOptions<AgentOutput, RawResponseOf<Model>, CompletionModelControlsOf<Model>>);\n if (response.type === \"interaction\") {\n throw new PipelineAgentSuspensionError(response);\n }\n if (response.type === \"blocked\") {\n throw new AgentRunBlockedError(response);\n }\n return response.output;\n });\n }, next.state);\n }\n\n extract<Extracted, Model extends CompletionModel>(\n options: PipelineExtractOptions<Awaited<Output>, Extracted, Model>,\n ): Pipeline<Input, Extracted> {\n const next = appendStageNode(this.state, \"extractor\", options);\n return this.derive<Extracted>(async (input, context, pathPrefix) => {\n const value = await this.execute(input, context, pathPrefix);\n const path = [...pathPrefix, next.node.id];\n return runNode(context, next.node, path, value, async () => {\n const text = await options.text(stageContext(value, context));\n const result = await extractData({\n model: options.model,\n text,\n outputSchema: options.outputSchema,\n instructions: options.instructions,\n retries: options.retries,\n temperature: options.temperature,\n maxTokens: options.maxTokens,\n providerOptions: options.providerOptions,\n abortSignal: context.abortSignal,\n });\n return result.output;\n });\n }, next.state);\n }\n\n async run(options: PipelineRunOptions<Input>): Promise<PipelineRunResult<Output>> {\n const runId = normalizeRunId(options.runId ?? globalThis.crypto.randomUUID());\n const startedAt = Date.now();\n const observability = await startPipelineRunObservers(\n this.observability?.observers ?? {},\n {\n runId,\n pipelineId: this.id,\n pipelineName: this.name,\n pipelineDescription: this.description,\n pipelineMetadata: this.metadata,\n runMetadata: options.metadata,\n trace: options.trace,\n input: options.input,\n },\n {\n primaryTrace: this.observability?.primaryTrace,\n errorPolicy: this.observability?.errorPolicy ?? \"ignore\",\n },\n );\n const context: PipelineRunContext = {\n runId,\n pipelineId: this.id,\n runMetadata: options.metadata,\n abortSignal: options.abortSignal,\n observer: options.observer,\n failOnObserverError: options.failOnObserverError === true,\n observability,\n };\n try {\n throwIfAborted(context.abortSignal);\n const output = await this.execute(options.input, context, []);\n throwIfAborted(context.abortSignal);\n await observability.end({\n runId,\n pipelineId: this.id,\n output,\n durationMs: Date.now() - startedAt,\n });\n return observability.trace === undefined\n ? { runId, output }\n : { runId, output, trace: observability.trace };\n } catch (error) {\n await observability.error({\n runId,\n pipelineId: this.id,\n status: context.abortSignal?.aborted === true ? \"cancelled\" : \"failed\",\n error,\n durationMs: Date.now() - startedAt,\n });\n throw error;\n }\n }\n\n async runBatch(options: PipelineBatchOptions<Input>): Promise<Array<PipelineBatchItem<Output>>> {\n throwIfAborted(options.abortSignal);\n return mapWithConcurrency([...options.inputs], options.concurrency, async (input) => {\n const runId = globalThis.crypto.randomUUID();\n try {\n const result = await this.run({\n input,\n runId,\n metadata: options.metadata,\n trace: options.trace,\n abortSignal: options.abortSignal,\n observer: options.observer,\n failOnObserverError: options.failOnObserverError,\n });\n return { status: \"completed\", ...result } as const;\n } catch (error) {\n if (options.abortSignal?.aborted === true) {\n throw pipelineAbortError(options.abortSignal);\n }\n return { status: \"failed\", runId, error } as const;\n }\n });\n }\n\n graph(): PipelineGraph {\n return cloneGraph(withOutputNode(this.state));\n }\n\n private derive<DerivedOutput>(\n executor: PipelineExecutor<Input, DerivedOutput>,\n state: PipelineState,\n ): Pipeline<Input, DerivedOutput> {\n return createDerivedPipeline(executor, state, this.observability);\n }\n\n private async execute(\n input: Input,\n context: PipelineRunContext,\n pathPrefix: PipelineNodePath,\n ): Promise<Awaited<Output>> {\n throwIfAborted(context.abortSignal);\n return (await this.executor(input, context, pathPrefix)) as Awaited<Output>;\n }\n}\n\nfunction createDerivedPipeline<Input, Output>(\n executor: PipelineExecutor<Input, Output>,\n state: PipelineState,\n observability: PipelineOptions<Input>[\"observability\"],\n): Pipeline<Input, Output> {\n const options: InternalPipelineOptions<Input, Output> = {\n [internalPipelineOptions]: { executor, state, observability },\n };\n return new Pipeline<Input, Output>(options as unknown as PipelineOptions<Input, Output>);\n}\n\nfunction withPipelineParentTrace(\n trace: AgentTraceOptions | undefined,\n parent: PipelineTraceInfo | undefined,\n agentPrimaryTrace: string | undefined,\n): AgentTraceOptions | undefined {\n if (parent?.traceId === undefined) return trace;\n if (parent.observer !== agentPrimaryTrace) return trace;\n if (trace?.traceId !== undefined && trace.traceId !== parent.traceId) return trace;\n const resolved = { ...trace, traceId: parent.traceId };\n if (trace?.parentObservationId === undefined && parent.observationId !== undefined) {\n resolved.parentObservationId = parent.observationId;\n }\n return resolved;\n}\n\nfunction isInternalPipelineOptions<Input, Output>(\n options: PipelineOptions<Input, Output> | InternalPipelineOptions<Input, Output>,\n): options is InternalPipelineOptions<Input, Output> {\n return internalPipelineOptions in options;\n}\n\nfunction isZodSchema(value: unknown): value is z.ZodType {\n return value instanceof z.ZodType;\n}\n\nfunction normalizePipelineId(id: string): string {\n if (typeof id !== \"string\") {\n throw new TypeError(\"Pipeline id must be a string.\");\n }\n const normalized = id.trim();\n if (normalized.length === 0) {\n throw new TypeError(\"Pipeline id must be a non-empty string.\");\n }\n return normalized;\n}\n\nfunction normalizeRunId(runId: string): string {\n if (typeof runId !== \"string\") {\n throw new TypeError(\"Pipeline runId must be a string.\");\n }\n const normalized = runId.trim();\n if (normalized.length === 0) {\n throw new TypeError(\"Pipeline runId must be a non-empty string.\");\n }\n return normalized;\n}\n\nfunction normalizeParallelBranches<Branch>(\n branches: Readonly<Record<string, Branch>>,\n): Array<readonly [string, Branch]> {\n const entries: Array<readonly [string, Branch]> = [];\n const ids = new Set<string>();\n for (const key of Object.keys(branches)) {\n const pipeline = branches[key] as Branch;\n const id = key.trim();\n if (id.length === 0) {\n throw new TypeError(\"Pipeline parallel branch id must be a non-empty string.\");\n }\n if (ids.has(id)) {\n throw new TypeError(`Pipeline parallel branch id \"${id}\" is already registered.`);\n }\n ids.add(id);\n if (id !== key) {\n throw new TypeError(\"Pipeline parallel branch ids must not contain surrounding whitespace.\");\n }\n entries.push([id, pipeline]);\n }\n return entries;\n}\n"],"mappings":"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","names":[]}
|
|
@@ -3,12 +3,14 @@ import {
|
|
|
3
3
|
generateCompletion,
|
|
4
4
|
isStreamingCompletionModel,
|
|
5
5
|
streamCompletion
|
|
6
|
-
} from "../chunk-
|
|
7
|
-
import "../chunk-
|
|
6
|
+
} from "../chunk-YMTBHHLQ.js";
|
|
7
|
+
import "../chunk-YOLOFTAY.js";
|
|
8
|
+
import "../chunk-6OO5C5GW.js";
|
|
9
|
+
import "../chunk-GSVOMQEE.js";
|
|
8
10
|
import "../chunk-4ONUNWGC.js";
|
|
9
|
-
import "../chunk-
|
|
11
|
+
import "../chunk-2JZV4LUS.js";
|
|
10
12
|
import "../chunk-XQV3XNVT.js";
|
|
11
|
-
import "../chunk-
|
|
13
|
+
import "../chunk-HJ6KTQTZ.js";
|
|
12
14
|
import "../chunk-BONQTXRQ.js";
|
|
13
15
|
import "../chunk-4C7AXYOM.js";
|
|
14
16
|
import "../chunk-SQAAVYJG.js";
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
export { M as ModelCallOptions } from '../model-call-options-CZkSw_xN.js';
|
|
2
2
|
export { R as RetryContext, a as RetryOptions, b as RetrySetting } from '../retry-CjvSlKGW.js';
|
|
3
|
-
export { C as COMPLETION_PROVIDER_OUTPUT_ERROR_CODE, a as CompletionBaseOptions, b as CompletionInput, c as CompletionProviderOutputError, d as CompletionProviderOutputErrorKind, e as CompletionProviderOutputErrorOptions, f as CompletionStructuredOutputError, g as CompletionStructuredOutputPhase, G as GenerateCompletionOptions, h as GenerateStructuredCompletionOptions, M as MessageMetadataSchema, R as REASONING_EFFORT_CONTROL_ID, i as ReasoningEffortControls,
|
|
4
|
-
import { D as Document, M as Message } from '../types-
|
|
5
|
-
export { A as AssistantContentPart, a as AssistantGenerationMetadata, b as AssistantMessage, Z as CompletionCapabilityError, C as CompletionControlValues, c as CompletionFinishReason, d as CompletionModel, _ as CompletionModelCapabilities, e as CompletionModelControls, f as CompletionModelControlsOf, g as CompletionModelInfo, h as CompletionModelSelectControl, i as CompletionModelStreamEvent, j as CompletionRequest, k as CompletionResponse, l as CompletionResult, m as CompletionSource, n as CompletionStreamEvent, $ as CompletionStreamPart, o as CompletionTool, p as ContextUsage, F as FileData, q as FilePart, I as ImageDetail, r as ImagePart, J as JsonObject, s as JsonPrimitive, t as JsonValue, u as ModelContextLimits, N as NoCompletionModelControls, P as ProviderTool, v as ProviderToolCall, R as ReasoningContentType, w as ReasoningDetail, x as ReasoningPart, a0 as StreamingCompletionModel, S as SystemMessage, T as TextPart, a1 as ToolApprovalResponsePart, a2 as ToolCallArgumentsMode, y as ToolCallPart, z as ToolChoice, B as ToolDefinition, a3 as ToolInteractionResponsePart, E as ToolMessage, a4 as ToolQuestionAnswer, a5 as ToolQuestionResponsePart, G as ToolResultContentPart, H as ToolResultOutput, K as ToolResultPart, U as Usage, a6 as UsageDetails, L as UserContentPart, O as UserMessage, a7 as assertCompletionControlsSupported, a8 as assertCompletionRequestSupported, Q as calculateContextUsage, V as getAssistantGenerationMetadata, W as isProviderTool, a9 as reasoningDisplayText, X as resolveModelContextLimits, aa as textFromAssistantContent, Y as withContextUsage } from '../types-
|
|
6
|
-
import '../zod-schema-C7F4clpm.js';
|
|
3
|
+
export { C as COMPLETION_PROVIDER_OUTPUT_ERROR_CODE, a as CompletionBaseOptions, b as CompletionInput, c as CompletionProviderOutputError, d as CompletionProviderOutputErrorKind, e as CompletionProviderOutputErrorOptions, f as CompletionStructuredOutputError, g as CompletionStructuredOutputPhase, G as GenerateCompletionOptions, h as GenerateStructuredCompletionOptions, M as MessageMetadataSchema, R as REASONING_EFFORT_CONTROL_ID, i as ReasoningEffortControls, k as StreamCompletionOptions, l as StreamStructuredCompletionOptions, m as createMessageSchema, n as defineCompletionModelControls, o as generateCompletion, p as isJsonValue, q as isMessage, x as isStreamingCompletionModel, y as mergeCompletionControlValues, s as messageSchema, t as messagesSchema, u as parseMessage, v as parseMessages, w as streamCompletion } from '../provider-output-error-CQD0MWey.js';
|
|
4
|
+
import { D as Document, M as Message } from '../types-DYqZKDA8.js';
|
|
5
|
+
export { A as AssistantContentPart, a as AssistantGenerationMetadata, b as AssistantMessage, Z as CompletionCapabilityError, C as CompletionControlValues, c as CompletionFinishReason, d as CompletionModel, _ as CompletionModelCapabilities, e as CompletionModelControls, f as CompletionModelControlsOf, g as CompletionModelInfo, h as CompletionModelSelectControl, i as CompletionModelStreamEvent, j as CompletionRequest, k as CompletionResponse, l as CompletionResult, m as CompletionSource, n as CompletionStreamEvent, $ as CompletionStreamPart, o as CompletionTool, p as ContextUsage, F as FileData, q as FilePart, I as ImageDetail, r as ImagePart, J as JsonObject, s as JsonPrimitive, t as JsonValue, u as ModelContextLimits, N as NoCompletionModelControls, P as ProviderTool, v as ProviderToolCall, R as ReasoningContentType, w as ReasoningDetail, x as ReasoningPart, a0 as StreamingCompletionModel, S as SystemMessage, T as TextPart, a1 as ToolApprovalResponsePart, a2 as ToolCallArgumentsMode, y as ToolCallPart, z as ToolChoice, B as ToolDefinition, a3 as ToolInteractionResponsePart, E as ToolMessage, a4 as ToolQuestionAnswer, a5 as ToolQuestionResponsePart, G as ToolResultContentPart, H as ToolResultOutput, K as ToolResultPart, U as Usage, a6 as UsageDetails, L as UserContentPart, O as UserMessage, a7 as assertCompletionControlsSupported, a8 as assertCompletionRequestSupported, Q as calculateContextUsage, V as getAssistantGenerationMetadata, W as isProviderTool, a9 as reasoningDisplayText, X as resolveModelContextLimits, aa as textFromAssistantContent, Y as withContextUsage } from '../types-DYqZKDA8.js';
|
|
7
6
|
import 'zod';
|
|
8
7
|
|
|
9
8
|
declare function normalizeDocuments(documents: Document[]): Message | undefined;
|
package/dist/completion/index.js
CHANGED
|
@@ -13,10 +13,12 @@ import {
|
|
|
13
13
|
generateCompletion,
|
|
14
14
|
isStreamingCompletionModel,
|
|
15
15
|
streamCompletion
|
|
16
|
-
} from "../chunk-
|
|
17
|
-
import "../chunk-
|
|
16
|
+
} from "../chunk-YMTBHHLQ.js";
|
|
17
|
+
import "../chunk-YOLOFTAY.js";
|
|
18
|
+
import "../chunk-6OO5C5GW.js";
|
|
19
|
+
import "../chunk-GSVOMQEE.js";
|
|
18
20
|
import "../chunk-4ONUNWGC.js";
|
|
19
|
-
import "../chunk-
|
|
21
|
+
import "../chunk-2JZV4LUS.js";
|
|
20
22
|
import {
|
|
21
23
|
COMPLETION_PROVIDER_OUTPUT_ERROR_CODE,
|
|
22
24
|
CompletionProviderOutputError
|
|
@@ -33,7 +35,7 @@ import {
|
|
|
33
35
|
resolveModelContextLimits,
|
|
34
36
|
textFromAssistantContent,
|
|
35
37
|
withContextUsage
|
|
36
|
-
} from "../chunk-
|
|
38
|
+
} from "../chunk-HJ6KTQTZ.js";
|
|
37
39
|
import {
|
|
38
40
|
createMessageSchema,
|
|
39
41
|
isMessage,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
CompletionStreamAccumulator
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-2JZV4LUS.js";
|
|
4
4
|
import "../chunk-XQV3XNVT.js";
|
|
5
|
-
import "../chunk-
|
|
5
|
+
import "../chunk-HJ6KTQTZ.js";
|
|
6
6
|
import "../chunk-4C7AXYOM.js";
|
|
7
7
|
export {
|
|
8
8
|
CompletionStreamAccumulator
|
package/dist/completion/types.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { b as RetrySetting } from './retry-CjvSlKGW.js';
|
|
2
|
-
import { B as ToolDefinition } from './types-
|
|
2
|
+
import { B as ToolDefinition } from './types-DYqZKDA8.js';
|
|
3
3
|
import { V as VectorMetadata, E as EmbeddingModel, a as EmbeddedDocument } from './types-Cr4uiYo5.js';
|
|
4
|
-
import { A as AnyTool } from './tool-
|
|
5
|
-
import { V as VectorFilter, a as VectorSearchResult, b as VectorInspectRequest, c as VectorInspectPage } from './types-
|
|
4
|
+
import { A as AnyTool } from './tool-D_jV3cRZ.js';
|
|
5
|
+
import { V as VectorFilter, a as VectorSearchResult, b as VectorInspectRequest, c as VectorInspectPage } from './types-ChyQISt-.js';
|
|
6
6
|
|
|
7
7
|
type ToolSearchDocument<Metadata extends VectorMetadata = VectorMetadata> = {
|
|
8
8
|
toolName: string;
|
|
@@ -9,23 +9,25 @@ import {
|
|
|
9
9
|
promptAlignment,
|
|
10
10
|
summarization,
|
|
11
11
|
turnRelevancy
|
|
12
|
-
} from "../chunk-
|
|
13
|
-
import "../chunk-
|
|
12
|
+
} from "../chunk-V5DWNXVH.js";
|
|
13
|
+
import "../chunk-5SJBSCG2.js";
|
|
14
14
|
import "../chunk-ZPXOBQDS.js";
|
|
15
15
|
import "../chunk-3P3YVJ7V.js";
|
|
16
|
-
import "../chunk-
|
|
16
|
+
import "../chunk-7TUAAGVR.js";
|
|
17
17
|
import "../chunk-ZYXMWEL4.js";
|
|
18
18
|
import "../chunk-EJR6VVB3.js";
|
|
19
19
|
import "../chunk-TP3MCUXS.js";
|
|
20
20
|
import "../chunk-6RQYWZI3.js";
|
|
21
21
|
import "../chunk-NF6WBPFG.js";
|
|
22
22
|
import "../chunk-4FIVU53H.js";
|
|
23
|
-
import "../chunk-
|
|
24
|
-
import "../chunk-
|
|
23
|
+
import "../chunk-YMTBHHLQ.js";
|
|
24
|
+
import "../chunk-YOLOFTAY.js";
|
|
25
|
+
import "../chunk-6OO5C5GW.js";
|
|
26
|
+
import "../chunk-GSVOMQEE.js";
|
|
25
27
|
import "../chunk-4ONUNWGC.js";
|
|
26
|
-
import "../chunk-
|
|
28
|
+
import "../chunk-2JZV4LUS.js";
|
|
27
29
|
import "../chunk-XQV3XNVT.js";
|
|
28
|
-
import "../chunk-
|
|
30
|
+
import "../chunk-HJ6KTQTZ.js";
|
|
29
31
|
import "../chunk-BONQTXRQ.js";
|
|
30
32
|
import "../chunk-4C7AXYOM.js";
|
|
31
33
|
import "../chunk-SQAAVYJG.js";
|
package/dist/evals/cli.js
CHANGED
|
@@ -7,8 +7,8 @@ import {
|
|
|
7
7
|
formatEvalResult,
|
|
8
8
|
printEvalResult,
|
|
9
9
|
runEvalCli
|
|
10
|
-
} from "../chunk-
|
|
11
|
-
import "../chunk-
|
|
10
|
+
} from "../chunk-KX2TRKO2.js";
|
|
11
|
+
import "../chunk-SIXS4CCU.js";
|
|
12
12
|
import "../chunk-PHLGGRHC.js";
|
|
13
13
|
import "../chunk-ZYXMWEL4.js";
|
|
14
14
|
import "../chunk-EJR6VVB3.js";
|
|
@@ -16,12 +16,14 @@ import "../chunk-JMMZICU7.js";
|
|
|
16
16
|
import "../chunk-TP3MCUXS.js";
|
|
17
17
|
import "../chunk-6RQYWZI3.js";
|
|
18
18
|
import "../chunk-NF6WBPFG.js";
|
|
19
|
-
import "../chunk-
|
|
20
|
-
import "../chunk-
|
|
19
|
+
import "../chunk-YMTBHHLQ.js";
|
|
20
|
+
import "../chunk-YOLOFTAY.js";
|
|
21
|
+
import "../chunk-6OO5C5GW.js";
|
|
22
|
+
import "../chunk-GSVOMQEE.js";
|
|
21
23
|
import "../chunk-4ONUNWGC.js";
|
|
22
|
-
import "../chunk-
|
|
24
|
+
import "../chunk-2JZV4LUS.js";
|
|
23
25
|
import "../chunk-XQV3XNVT.js";
|
|
24
|
-
import "../chunk-
|
|
26
|
+
import "../chunk-HJ6KTQTZ.js";
|
|
25
27
|
import "../chunk-BONQTXRQ.js";
|
|
26
28
|
import "../chunk-4C7AXYOM.js";
|
|
27
29
|
import "../chunk-SQAAVYJG.js";
|
package/dist/evals/index.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { U as Usage, J as JsonObject, d as CompletionModel, M as Message } from '../types-
|
|
1
|
+
import { U as Usage, J as JsonObject, d as CompletionModel, M as Message } from '../types-DYqZKDA8.js';
|
|
2
2
|
import { Z as ZodSchema } from '../zod-schema-C7F4clpm.js';
|
|
3
|
-
import { Z as AgentRunPromptRef, g as AgentInteractionOutcome, n as AgentResponse, o as AgentRunOptions, l as AgentOutcome } from '../middleware-
|
|
3
|
+
import { Z as AgentRunPromptRef, g as AgentInteractionOutcome, n as AgentResponse, o as AgentRunOptions, l as AgentOutcome } from '../middleware-DORuwSy-.js';
|
|
4
4
|
import { AgentInteractionRequest, AgentInteractionResponse } from '../agent/interactions/index.js';
|
|
5
5
|
import { E as EmbeddingModel } from '../types-Cr4uiYo5.js';
|
|
6
6
|
import '../model-call-options-CZkSw_xN.js';
|
|
7
7
|
import 'zod';
|
|
8
|
-
import '../types-
|
|
8
|
+
import '../types-CqiX-4_C.js';
|
|
9
9
|
import '../retry-CjvSlKGW.js';
|
|
10
|
-
import '../types-
|
|
11
|
-
import '../tool-
|
|
10
|
+
import '../types-DhWxTobb.js';
|
|
11
|
+
import '../tool-D_jV3cRZ.js';
|
|
12
12
|
|
|
13
13
|
type EvalOutcomeOptions = {
|
|
14
14
|
comment?: string | undefined;
|
package/dist/evals/index.js
CHANGED
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
notContains,
|
|
20
20
|
requiredFields,
|
|
21
21
|
semanticSimilarity
|
|
22
|
-
} from "../chunk-
|
|
22
|
+
} from "../chunk-RFFOL6ON.js";
|
|
23
23
|
import {
|
|
24
24
|
abstention,
|
|
25
25
|
answerRelevancy,
|
|
@@ -31,14 +31,14 @@ import {
|
|
|
31
31
|
promptAlignment,
|
|
32
32
|
summarization,
|
|
33
33
|
turnRelevancy
|
|
34
|
-
} from "../chunk-
|
|
35
|
-
import "../chunk-
|
|
34
|
+
} from "../chunk-V5DWNXVH.js";
|
|
35
|
+
import "../chunk-5SJBSCG2.js";
|
|
36
36
|
import {
|
|
37
37
|
selectEvalCaseIds,
|
|
38
38
|
selectPromptOutput
|
|
39
39
|
} from "../chunk-ZPXOBQDS.js";
|
|
40
40
|
import "../chunk-3P3YVJ7V.js";
|
|
41
|
-
import "../chunk-
|
|
41
|
+
import "../chunk-7TUAAGVR.js";
|
|
42
42
|
import {
|
|
43
43
|
AgentEvalSuspensionError,
|
|
44
44
|
agentEvalTarget
|
|
@@ -52,12 +52,12 @@ import {
|
|
|
52
52
|
formatEvalResult,
|
|
53
53
|
printEvalResult,
|
|
54
54
|
runEvalCli
|
|
55
|
-
} from "../chunk-
|
|
55
|
+
} from "../chunk-KX2TRKO2.js";
|
|
56
56
|
import {
|
|
57
57
|
EvalFailFastError,
|
|
58
58
|
EvalReporterDispatchError,
|
|
59
59
|
runEvalSuite
|
|
60
|
-
} from "../chunk-
|
|
60
|
+
} from "../chunk-SIXS4CCU.js";
|
|
61
61
|
import {
|
|
62
62
|
defaultEvalTraceSelector,
|
|
63
63
|
projectEvalOutcome,
|
|
@@ -79,12 +79,14 @@ import "../chunk-7F53DOML.js";
|
|
|
79
79
|
import "../chunk-HHMLE3TZ.js";
|
|
80
80
|
import "../chunk-DU4WA6LQ.js";
|
|
81
81
|
import "../chunk-4FIVU53H.js";
|
|
82
|
-
import "../chunk-
|
|
83
|
-
import "../chunk-
|
|
82
|
+
import "../chunk-YMTBHHLQ.js";
|
|
83
|
+
import "../chunk-YOLOFTAY.js";
|
|
84
|
+
import "../chunk-6OO5C5GW.js";
|
|
85
|
+
import "../chunk-GSVOMQEE.js";
|
|
84
86
|
import "../chunk-4ONUNWGC.js";
|
|
85
|
-
import "../chunk-
|
|
87
|
+
import "../chunk-2JZV4LUS.js";
|
|
86
88
|
import "../chunk-XQV3XNVT.js";
|
|
87
|
-
import "../chunk-
|
|
89
|
+
import "../chunk-HJ6KTQTZ.js";
|
|
88
90
|
import "../chunk-BONQTXRQ.js";
|
|
89
91
|
import "../chunk-4C7AXYOM.js";
|
|
90
92
|
import "../chunk-SQAAVYJG.js";
|
package/dist/evals/judge.js
CHANGED
|
@@ -2,18 +2,20 @@ import {
|
|
|
2
2
|
addUsage,
|
|
3
3
|
evaluationMetadata,
|
|
4
4
|
runJudge
|
|
5
|
-
} from "../chunk-
|
|
5
|
+
} from "../chunk-5SJBSCG2.js";
|
|
6
6
|
import "../chunk-3P3YVJ7V.js";
|
|
7
|
-
import "../chunk-
|
|
7
|
+
import "../chunk-7TUAAGVR.js";
|
|
8
8
|
import "../chunk-TP3MCUXS.js";
|
|
9
9
|
import "../chunk-6RQYWZI3.js";
|
|
10
10
|
import "../chunk-NF6WBPFG.js";
|
|
11
|
-
import "../chunk-
|
|
12
|
-
import "../chunk-
|
|
11
|
+
import "../chunk-YMTBHHLQ.js";
|
|
12
|
+
import "../chunk-YOLOFTAY.js";
|
|
13
|
+
import "../chunk-6OO5C5GW.js";
|
|
14
|
+
import "../chunk-GSVOMQEE.js";
|
|
13
15
|
import "../chunk-4ONUNWGC.js";
|
|
14
|
-
import "../chunk-
|
|
16
|
+
import "../chunk-2JZV4LUS.js";
|
|
15
17
|
import "../chunk-XQV3XNVT.js";
|
|
16
|
-
import "../chunk-
|
|
18
|
+
import "../chunk-HJ6KTQTZ.js";
|
|
17
19
|
import "../chunk-BONQTXRQ.js";
|
|
18
20
|
import "../chunk-4C7AXYOM.js";
|
|
19
21
|
import "../chunk-SQAAVYJG.js";
|