@anvia/core 1.14.1 → 1.17.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 +17 -0
- package/dist/agent/agent-tool.js +12 -12
- package/dist/agent/agent.js +39 -39
- package/dist/agent/index.d.ts +9 -9
- package/dist/agent/index.js +47 -47
- package/dist/agent/resolve-options.js +13 -13
- package/dist/agent/resolved-agent.js +40 -40
- package/dist/agent/team/agent-team.js +43 -43
- package/dist/agent/team/index.js +43 -43
- package/dist/agent/tool-catalog.js +12 -12
- package/dist/{agent-DdkrgyW0.d.ts → agent-DopgSEYL.d.ts} +6 -6
- package/dist/chunk-2O3MLES7.js +82 -0
- package/dist/chunk-2O3MLES7.js.map +1 -0
- package/dist/{chunk-6S7ZON2E.js → chunk-2PULUVZ3.js} +5 -5
- package/dist/{chunk-ZWYMXBGB.js → chunk-35LALOZE.js} +2 -2
- package/dist/{chunk-GSVOMQEE.js → chunk-37IETBS7.js} +4 -4
- package/dist/{chunk-MIPBH5S7.js → chunk-3VIMLOWJ.js} +2 -1
- package/dist/{chunk-MIPBH5S7.js.map → chunk-3VIMLOWJ.js.map} +1 -1
- package/dist/{chunk-EKZRAWBP.js → chunk-4HO6VPC7.js} +2 -2
- package/dist/{chunk-X4XULHDO.js → chunk-4IOC4SP6.js} +7 -7
- package/dist/{chunk-27MBNR47.js → chunk-6YYZ7VJQ.js} +2 -2
- package/dist/{chunk-V5KBSXAJ.js → chunk-AJ6CRV4D.js} +2 -2
- package/dist/{chunk-IRXAEVEQ.js → chunk-BX52ILPM.js} +2 -2
- package/dist/{chunk-X35O3AQG.js → chunk-C6YE3JXV.js} +2 -2
- package/dist/{chunk-ETYB5JO6.js → chunk-EM4F5SRB.js} +5 -3
- package/dist/chunk-EM4F5SRB.js.map +1 -0
- package/dist/{chunk-ATFSEEFX.js → chunk-ETNDP75V.js} +30 -30
- package/dist/{chunk-LGPXCJJO.js → chunk-EYBJZ5EU.js} +3 -3
- package/dist/{chunk-5G4NMOTJ.js → chunk-GRGD4ZCM.js} +2 -2
- package/dist/{chunk-TJOIYN4O.js → chunk-GV2XETGV.js} +26 -26
- package/dist/{chunk-MNWULFRX.js → chunk-I4AOH75W.js} +2 -2
- package/dist/{chunk-GEFG7VGF.js → chunk-JLSNI3DV.js} +4 -4
- package/dist/{chunk-PFJN5OIQ.js → chunk-K6F734I4.js} +4 -4
- package/dist/{chunk-Y5FHUUNC.js → chunk-L2UPWQQZ.js} +27 -7
- package/dist/chunk-L2UPWQQZ.js.map +1 -0
- package/dist/{chunk-3PSBUYXQ.js → chunk-LZV5RHKG.js} +5 -5
- package/dist/{chunk-XIIVC5LY.js → chunk-MDEDFA5J.js} +12 -12
- package/dist/{chunk-XQRMPPTC.js → chunk-MK7YLH6A.js} +111 -26
- package/dist/chunk-MK7YLH6A.js.map +1 -0
- package/dist/{chunk-PNMBJMLB.js → chunk-QNNDKCZG.js} +2 -2
- package/dist/{chunk-EF26KTFU.js → chunk-RJILUEGK.js} +19 -16
- package/dist/{chunk-EF26KTFU.js.map → chunk-RJILUEGK.js.map} +1 -1
- package/dist/{chunk-RVGSTZD3.js → chunk-SC5HSCR3.js} +13 -13
- package/dist/{chunk-VHPT2C4P.js → chunk-TMSWHXYQ.js} +2 -1
- package/dist/{chunk-VHPT2C4P.js.map → chunk-TMSWHXYQ.js.map} +1 -1
- package/dist/{chunk-3F6ZY63S.js → chunk-TROKS4TY.js} +3 -3
- package/dist/{chunk-R4AJ2EE3.js → chunk-U4IRS5H6.js} +5 -5
- package/dist/{chunk-ET5SCES6.js → chunk-VO42OTBP.js} +8 -8
- package/dist/{chunk-VCOGUS3Q.js → chunk-VWN6BO6G.js} +5 -5
- package/dist/{chunk-CASF2TDK.js → chunk-WACXVXGU.js} +2 -2
- package/dist/{chunk-V3FFZWF3.js → chunk-YKGIOXTR.js} +38 -19
- package/dist/chunk-YKGIOXTR.js.map +1 -0
- package/dist/{chunk-SS52CC5R.js → chunk-YTXOK37S.js} +3 -3
- package/dist/{chunk-MEFGXAKJ.js → chunk-Z5WMW4NP.js} +2 -2
- package/dist/{chunk-VUY2C2QD.js → chunk-ZQC5V2AM.js} +2 -2
- package/dist/{chunk-6Q5VOKBO.js → chunk-ZW4UHQJT.js} +12 -9
- package/dist/chunk-ZW4UHQJT.js.map +1 -0
- package/dist/completion/generate-completion.js +5 -5
- package/dist/completion/index.js +21 -21
- package/dist/completion/stream-accumulator.js +1 -1
- package/dist/decision/index.d.ts +6 -119
- package/dist/decision/index.js +5 -5
- package/dist/{dynamic-tools-B3OjYyhC.d.ts → dynamic-tools-BtvhcGIC.d.ts} +2 -2
- package/dist/embeddings/index.js +8 -8
- package/dist/evals/advanced-metrics.js +13 -13
- package/dist/evals/cli.js +11 -11
- package/dist/evals/index.d.ts +2 -2
- package/dist/evals/index.js +44 -44
- package/dist/evals/judge.js +9 -9
- package/dist/evals/metrics.js +13 -13
- package/dist/evals/runner.js +10 -10
- package/dist/extractor/extractor.js +8 -8
- package/dist/extractor/index.js +8 -8
- package/dist/index.d.ts +10 -9
- package/dist/index.js +74 -74
- package/dist/internal/agent-runtime/agent-run.js +33 -33
- package/dist/internal/agent-runtime/continuation-state.js +8 -8
- package/dist/internal/agent-runtime/interaction-suspension.js +7 -7
- package/dist/internal/agent-runtime/loop-context.js +10 -10
- package/dist/internal/agent-runtime/memory.js +11 -11
- package/dist/internal/agent-runtime/prepared-tool-call.js +2 -2
- package/dist/internal/agent-runtime/retrieval.js +12 -12
- package/dist/internal/agent-runtime/tool-execution.js +25 -25
- package/dist/internal/agent.d.ts +7 -7
- package/dist/internal/agent.js +42 -42
- package/dist/internal/completion-request.js +2 -2
- package/dist/internal/team-runtime/member.js +8 -8
- package/dist/internal/team-runtime/run.js +42 -42
- package/dist/internal/team-runtime/tools.js +5 -5
- package/dist/mcp/index.d.ts +3 -3
- package/dist/memory/compaction.js +6 -6
- package/dist/memory/index.js +6 -6
- package/dist/{middleware-rxi6GI2B.d.ts → middleware-DOCIUIl2.d.ts} +13 -3
- package/dist/model-listing/index.d.ts +4 -0
- package/dist/observability/group.js +7 -7
- package/dist/observability/index.d.ts +2 -2
- package/dist/observability/index.js +7 -7
- package/dist/pipeline/graph.js +5 -7
- package/dist/pipeline/index.d.ts +45 -11
- package/dist/pipeline/index.js +18 -14
- package/dist/pipeline/observability.js +1 -1
- package/dist/pipeline/pipeline.js +18 -14
- package/dist/pipeline/runtime.js +2 -2
- package/dist/skills/index.d.ts +3 -3
- package/dist/skills/index.js +15 -15
- package/dist/skills/load.js +15 -15
- package/dist/skills/tools.js +14 -14
- package/dist/speech-generation/index.js +1 -1
- package/dist/{think-tool-CTuagAtn.d.ts → think-tool-vmLIfQik.d.ts} +1 -1
- package/dist/tool/create-tool.js +4 -4
- package/dist/tool/dynamic-tools.js +11 -11
- package/dist/tool/index.d.ts +5 -5
- package/dist/tool/index.js +13 -13
- package/dist/tool/question-tool.js +5 -5
- package/dist/tool/think-tool.js +5 -5
- package/dist/tool/tool.js +1 -1
- package/dist/{tool-W1cAPuRF.d.ts → tool-B6meo2AE.d.ts} +4 -1
- package/dist/{types-94Q2mPRa.d.ts → types-BOxOjkbS.d.ts} +1 -1
- package/dist/types-Bt19cjEr.d.ts +119 -0
- package/dist/{types-ChyQISt-.d.ts → types-CmdZOpKi.d.ts} +23 -3
- package/dist/{types-CIG2loIE.d.ts → types-jVXFDum8.d.ts} +1 -1
- package/dist/vector-store/filter.js +1 -1
- package/dist/vector-store/index.d.ts +24 -6
- package/dist/vector-store/index.js +10 -10
- package/dist/vector-store/ingest.js +4 -4
- package/dist/vector-store/retrieve.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-5WLIHNNJ.js +0 -56
- package/dist/chunk-5WLIHNNJ.js.map +0 -1
- package/dist/chunk-6Q5VOKBO.js.map +0 -1
- package/dist/chunk-ETYB5JO6.js.map +0 -1
- package/dist/chunk-V3FFZWF3.js.map +0 -1
- package/dist/chunk-XQRMPPTC.js.map +0 -1
- package/dist/chunk-Y5FHUUNC.js.map +0 -1
- /package/dist/{chunk-6S7ZON2E.js.map → chunk-2PULUVZ3.js.map} +0 -0
- /package/dist/{chunk-ZWYMXBGB.js.map → chunk-35LALOZE.js.map} +0 -0
- /package/dist/{chunk-GSVOMQEE.js.map → chunk-37IETBS7.js.map} +0 -0
- /package/dist/{chunk-EKZRAWBP.js.map → chunk-4HO6VPC7.js.map} +0 -0
- /package/dist/{chunk-X4XULHDO.js.map → chunk-4IOC4SP6.js.map} +0 -0
- /package/dist/{chunk-27MBNR47.js.map → chunk-6YYZ7VJQ.js.map} +0 -0
- /package/dist/{chunk-V5KBSXAJ.js.map → chunk-AJ6CRV4D.js.map} +0 -0
- /package/dist/{chunk-IRXAEVEQ.js.map → chunk-BX52ILPM.js.map} +0 -0
- /package/dist/{chunk-X35O3AQG.js.map → chunk-C6YE3JXV.js.map} +0 -0
- /package/dist/{chunk-ATFSEEFX.js.map → chunk-ETNDP75V.js.map} +0 -0
- /package/dist/{chunk-LGPXCJJO.js.map → chunk-EYBJZ5EU.js.map} +0 -0
- /package/dist/{chunk-5G4NMOTJ.js.map → chunk-GRGD4ZCM.js.map} +0 -0
- /package/dist/{chunk-TJOIYN4O.js.map → chunk-GV2XETGV.js.map} +0 -0
- /package/dist/{chunk-MNWULFRX.js.map → chunk-I4AOH75W.js.map} +0 -0
- /package/dist/{chunk-GEFG7VGF.js.map → chunk-JLSNI3DV.js.map} +0 -0
- /package/dist/{chunk-PFJN5OIQ.js.map → chunk-K6F734I4.js.map} +0 -0
- /package/dist/{chunk-3PSBUYXQ.js.map → chunk-LZV5RHKG.js.map} +0 -0
- /package/dist/{chunk-XIIVC5LY.js.map → chunk-MDEDFA5J.js.map} +0 -0
- /package/dist/{chunk-PNMBJMLB.js.map → chunk-QNNDKCZG.js.map} +0 -0
- /package/dist/{chunk-RVGSTZD3.js.map → chunk-SC5HSCR3.js.map} +0 -0
- /package/dist/{chunk-3F6ZY63S.js.map → chunk-TROKS4TY.js.map} +0 -0
- /package/dist/{chunk-R4AJ2EE3.js.map → chunk-U4IRS5H6.js.map} +0 -0
- /package/dist/{chunk-ET5SCES6.js.map → chunk-VO42OTBP.js.map} +0 -0
- /package/dist/{chunk-VCOGUS3Q.js.map → chunk-VWN6BO6G.js.map} +0 -0
- /package/dist/{chunk-CASF2TDK.js.map → chunk-WACXVXGU.js.map} +0 -0
- /package/dist/{chunk-SS52CC5R.js.map → chunk-YTXOK37S.js.map} +0 -0
- /package/dist/{chunk-MEFGXAKJ.js.map → chunk-Z5WMW4NP.js.map} +0 -0
- /package/dist/{chunk-VUY2C2QD.js.map → chunk-ZQC5V2AM.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/completion/stream-accumulator.ts"],"sourcesContent":["import { isJsonValue } from \"./json\";\nimport { CompletionProviderOutputError } from \"./provider-output-error\";\nimport type {\n AssistantContentPart,\n CompletionModelStreamEvent,\n CompletionResponse,\n CompletionSource,\n CompletionStreamPart,\n JsonValue,\n ProviderToolCall,\n ReasoningDetail,\n ReasoningPart,\n ToolCallPart,\n} from \"./types\";\nimport { Usage } from \"./types\";\n\ntype AccumulatedStreamEvent = Exclude<\n CompletionStreamPart,\n { type: \"tool_call_delta\" } | { type: \"message_id\" }\n>;\n\ntype ReasoningState = {\n id?: string;\n text: string;\n details?: ReasoningDetail[];\n};\n\ntype PartialToolCall = {\n id: string;\n callId?: string;\n name: string;\n argumentsText: string;\n argumentsSnapshotSeen: boolean;\n signature?: string;\n fullCallSeen: boolean;\n};\n\ntype OrderedPartRef =\n | { type: \"text\"; key: string }\n | { type: \"reasoning\"; key: string }\n | { type: \"tool_call\"; key: string };\n\nexport class CompletionStreamAccumulator<RawResponse = unknown> {\n private orderedParts: OrderedPartRef[] = [];\n private textParts = new Map<string, string>();\n private reasoningByKey = new Map<string, ReasoningState>();\n private reasoningKeyById = new Map<string, string>();\n private toolCalls = new Map<string, PartialToolCall>();\n private sources = new Map<string, CompletionSource>();\n private providerToolCalls = new Map<string, ProviderToolCall>();\n private finalResponse: CompletionResponse<RawResponse> | undefined;\n private messageId: string | undefined;\n private nextTextKey = 0;\n private nextReasoningKey = 0;\n\n accept(event: CompletionModelStreamEvent<RawResponse>): AccumulatedStreamEvent | undefined {\n if (event.type === \"text_delta\") {\n if (typeof event.delta !== \"string\") {\n throw new CompletionProviderOutputError({ kind: \"invalid-stream-event\" });\n }\n this.appendText(event.delta);\n return { type: \"text_delta\", delta: event.delta };\n }\n\n if (event.type === \"reasoning_delta\") {\n if (\n typeof event.delta !== \"string\" ||\n (event.id !== undefined && !isNonblankString(event.id)) ||\n (event.signature !== undefined && !isNonblankString(event.signature)) ||\n (event.contentType !== undefined && !isReasoningContentType(event.contentType))\n ) {\n throw new CompletionProviderOutputError({ kind: \"invalid-stream-event\" });\n }\n const reasoning = this.reasoningStateForEvent(event);\n this.appendReasoning(reasoning, event);\n return reasoningDeltaEvent(event);\n }\n\n if (event.type === \"tool_call_delta\") {\n if (!isNonblankString(event.id)) {\n throw new CompletionProviderOutputError({ kind: \"invalid-tool-call\" });\n }\n const toolCall = this.toolCallStateForId(event.id);\n if (toolCall.fullCallSeen) {\n throw new CompletionProviderOutputError({\n kind: \"invalid-tool-call\",\n toolCallId: toolCall.id,\n });\n }\n if (event.callId !== undefined) {\n if (!isNonblankString(event.callId)) {\n throw new CompletionProviderOutputError({\n kind: \"invalid-tool-call\",\n toolCallId: toolCall.id,\n });\n }\n if (toolCall.callId !== undefined && toolCall.callId !== event.callId) {\n throw new CompletionProviderOutputError({\n kind: \"invalid-tool-call\",\n toolCallId: toolCall.id,\n });\n }\n toolCall.callId = event.callId;\n }\n if (event.name !== undefined) {\n if (!isNonblankString(event.name)) {\n throw new CompletionProviderOutputError({\n kind: \"invalid-tool-call\",\n toolCallId: toolCall.id,\n });\n }\n if (toolCall.name.length > 0 && toolCall.name !== event.name) {\n throw new CompletionProviderOutputError({\n kind: \"invalid-tool-call\",\n toolCallId: toolCall.id,\n });\n }\n toolCall.name = event.name;\n }\n if (event.signature !== undefined) {\n if (\n !isNonblankString(event.signature) ||\n (toolCall.signature !== undefined && toolCall.signature !== event.signature)\n ) {\n throw new CompletionProviderOutputError({\n kind: \"invalid-tool-call\",\n toolCallId: toolCall.id,\n });\n }\n toolCall.signature = event.signature;\n }\n if (\n event.argumentsMode !== undefined &&\n event.argumentsMode !== \"append\" &&\n event.argumentsMode !== \"replace\"\n ) {\n throw new CompletionProviderOutputError({\n kind: \"invalid-stream-event\",\n toolCallId: toolCall.id,\n });\n }\n if (event.argumentsMode !== undefined && event.argumentsDelta === undefined) {\n throw new CompletionProviderOutputError({\n kind: \"invalid-stream-event\",\n toolCallId: toolCall.id,\n });\n }\n if (event.argumentsDelta !== undefined) {\n if (typeof event.argumentsDelta !== \"string\") {\n throw new CompletionProviderOutputError({\n kind: \"invalid-tool-arguments\",\n toolCallId: toolCall.id,\n });\n }\n if (event.argumentsMode === \"replace\") {\n if (\n toolCall.argumentsText.length > 0 &&\n toolCall.argumentsText !== event.argumentsDelta &&\n (toolCall.argumentsSnapshotSeen ||\n !event.argumentsDelta.startsWith(toolCall.argumentsText))\n ) {\n throw new CompletionProviderOutputError({\n kind: \"invalid-tool-call\",\n toolCallId: toolCall.id,\n });\n }\n toolCall.argumentsText = event.argumentsDelta;\n toolCall.argumentsSnapshotSeen = true;\n } else {\n if (toolCall.argumentsSnapshotSeen) {\n throw new CompletionProviderOutputError({\n kind: \"invalid-tool-call\",\n toolCallId: toolCall.id,\n });\n }\n toolCall.argumentsText += event.argumentsDelta;\n }\n }\n return undefined;\n }\n\n if (event.type === \"tool_call\") {\n this.upsertToolCall(event.toolCall);\n return { type: \"tool_call\", toolCall: event.toolCall };\n }\n\n if (event.type === \"source\") {\n this.sources.set(sourceKey(event.source), event.source);\n return { type: \"source\", source: event.source };\n }\n\n if (event.type === \"provider_tool_call\") {\n this.providerToolCalls.set(event.toolCall.id, event.toolCall);\n return { type: \"provider_tool_call\", toolCall: event.toolCall };\n }\n\n if (event.type === \"message_id\") {\n if (!isNonblankString(event.id)) {\n throw new CompletionProviderOutputError({ kind: \"invalid-stream-event\" });\n }\n this.messageId = event.id;\n return undefined;\n }\n\n if (event.type === \"final\") {\n this.finalResponse = event.response;\n return undefined;\n }\n\n return undefined;\n }\n\n response(): CompletionResponse<RawResponse> {\n this.assertAccumulatedFinishReason();\n let accumulatedResponse: CompletionResponse<RawResponse>;\n try {\n accumulatedResponse = this.buildAccumulatedResponse();\n } catch (error) {\n if (error instanceof CompletionProviderOutputError && this.finalResponse !== undefined) {\n throw providerOutputErrorWithUsage(error, this.finalResponse.usage);\n }\n throw error;\n }\n if (this.finalResponse !== undefined) {\n if (accumulatedResponse.choice.length === 0) {\n return this.withAccumulatedArtifacts(this.finalResponse, accumulatedResponse);\n }\n return this.mergeFinalResponse(accumulatedResponse, this.finalResponse);\n }\n\n return accumulatedResponse;\n }\n\n private assertAccumulatedFinishReason(): void {\n if (this.finalResponse === undefined) {\n if (this.toolCalls.size === 0) {\n throw new CompletionProviderOutputError({ kind: \"incomplete-stream\" });\n }\n const toolCallId = this.toolCalls.size === 1 ? this.toolCalls.keys().next().value : undefined;\n throw new CompletionProviderOutputError({\n kind: \"incomplete-tool-call\",\n toolCallId,\n });\n }\n if (this.toolCalls.size === 0) return;\n const finishReason = this.finalResponse.finishReason;\n if (finishReason === \"length\") {\n throw new CompletionProviderOutputError({\n kind: \"truncated-tool-call\",\n finishReason,\n usage: this.finalResponse.usage,\n });\n }\n if (finishReason === \"content-filter\") {\n throw new CompletionProviderOutputError({\n kind: \"filtered-tool-call\",\n finishReason,\n usage: this.finalResponse.usage,\n });\n }\n if (finishReason !== undefined && finishReason !== \"stop\" && finishReason !== \"tool-calls\") {\n throw new CompletionProviderOutputError({\n kind: \"invalid-tool-call\",\n usage: this.finalResponse.usage,\n });\n }\n }\n\n private buildAccumulatedResponse(): CompletionResponse<RawResponse> {\n const choice: AssistantContentPart[] = [];\n\n for (const part of this.orderedParts) {\n if (part.type === \"text\") {\n const text = this.textParts.get(part.key) ?? \"\";\n if (text.length > 0) {\n choice.push({ type: \"text\", text });\n }\n continue;\n }\n\n if (part.type === \"reasoning\") {\n const reasoning = this.reasoningByKey.get(part.key);\n if (reasoning !== undefined) {\n choice.push(reasoningContent(reasoning));\n }\n continue;\n }\n\n const toolCall = this.toolCalls.get(part.key);\n if (toolCall !== undefined) {\n choice.push(toolCallContent(toolCall));\n }\n }\n\n const response: CompletionResponse<RawResponse> = {\n choice,\n usage: Usage.empty(),\n rawResponse: undefined as RawResponse,\n };\n if (this.messageId !== undefined) {\n response.messageId = this.messageId;\n }\n const sources = [...this.sources.values()];\n if (sources.length > 0) {\n response.sources = sources;\n }\n const providerToolCalls = [...this.providerToolCalls.values()];\n if (providerToolCalls.length > 0) {\n response.providerToolCalls = providerToolCalls;\n }\n return response;\n }\n\n private upsertToolCall(toolCall: ToolCallPart): void {\n if (\n !isNonblankString(toolCall.toolCallId) ||\n !isNonblankString(toolCall.toolName) ||\n (toolCall.callId !== undefined && !isNonblankString(toolCall.callId)) ||\n (toolCall.signature !== undefined && !isNonblankString(toolCall.signature))\n ) {\n throw new CompletionProviderOutputError({\n kind: \"invalid-tool-call\",\n toolCallId: isNonblankString(toolCall.toolCallId) ? toolCall.toolCallId : undefined,\n });\n }\n if (!isJsonValue(toolCall.input)) {\n throw new CompletionProviderOutputError({\n kind: \"invalid-tool-arguments\",\n toolCallId: toolCall.toolCallId,\n });\n }\n const existing = this.toolCalls.get(toolCall.toolCallId);\n if (existing !== undefined) {\n if (existing.fullCallSeen) {\n throw new CompletionProviderOutputError({\n kind: \"invalid-tool-call\",\n toolCallId: toolCall.toolCallId,\n });\n }\n if (\n (existing.name.length > 0 && existing.name !== toolCall.toolName) ||\n (existing.callId !== undefined && existing.callId !== toolCall.callId) ||\n (existing.signature !== undefined &&\n toolCall.signature !== undefined &&\n existing.signature !== toolCall.signature)\n ) {\n throw new CompletionProviderOutputError({\n kind: \"invalid-tool-call\",\n toolCallId: toolCall.toolCallId,\n });\n }\n if (existing.argumentsText.length > 0) {\n const accumulatedInput = parseToolArguments(existing.id, existing.argumentsText);\n if (!jsonValuesEqual(accumulatedInput, toolCall.input)) {\n throw new CompletionProviderOutputError({\n kind: \"invalid-tool-call\",\n toolCallId: toolCall.toolCallId,\n });\n }\n }\n }\n if (!this.toolCalls.has(toolCall.toolCallId)) {\n this.orderedParts.push({ type: \"tool_call\", key: toolCall.toolCallId });\n }\n const partial: PartialToolCall = {\n id: toolCall.toolCallId,\n name: toolCall.toolName,\n argumentsText: JSON.stringify(toolCall.input),\n argumentsSnapshotSeen: true,\n fullCallSeen: true,\n };\n if (toolCall.callId !== undefined) {\n partial.callId = toolCall.callId;\n }\n const signature = toolCall.signature ?? existing?.signature;\n if (signature !== undefined) {\n partial.signature = signature;\n }\n this.toolCalls.set(toolCall.toolCallId, partial);\n }\n\n private mergeFinalResponse(\n accumulatedResponse: CompletionResponse<RawResponse>,\n finalResponse: CompletionResponse<RawResponse>,\n ): CompletionResponse<RawResponse> {\n if (finalResponse.choice.length === 0) {\n const mergedResponse: CompletionResponse<RawResponse> = {\n ...finalResponse,\n choice: accumulatedResponse.choice,\n };\n return this.withAccumulatedArtifacts(mergedResponse, accumulatedResponse);\n }\n\n const accumulatedNonTool = accumulatedResponse.choice.filter(\n (content) => content.type !== \"tool-call\",\n );\n const finalNonTool = finalResponse.choice.filter((content) => content.type !== \"tool-call\");\n if (\n accumulatedNonTool.length > 0 &&\n !nonToolPartsMatchFinal(accumulatedNonTool, finalNonTool)\n ) {\n throw new CompletionProviderOutputError({\n kind: \"invalid-stream-event\",\n usage: finalResponse.usage,\n });\n }\n\n const accumulatedById = new Map<string, ToolCallPart>();\n const accumulatedByCallId = new Map<string, ToolCallPart>();\n for (const content of accumulatedResponse.choice) {\n if (content.type !== \"tool-call\") continue;\n accumulatedById.set(content.toolCallId, content);\n if (content.callId !== undefined) accumulatedByCallId.set(content.callId, content);\n }\n\n const matchedAccumulatedToolCalls = new Set<ToolCallPart>();\n const choice = finalResponse.choice.map((content) => {\n if (content.type !== \"tool-call\") return content;\n const accumulated = accumulatedById.get(content.toolCallId);\n if (accumulated === undefined) {\n const changedIdentity =\n content.callId === undefined ? undefined : accumulatedByCallId.get(content.callId);\n if (changedIdentity !== undefined) {\n throw new CompletionProviderOutputError({\n kind: \"invalid-tool-call\",\n toolCallId: changedIdentity.toolCallId,\n usage: finalResponse.usage,\n });\n }\n return content;\n }\n matchedAccumulatedToolCalls.add(accumulated);\n return mergeFinalToolCall(accumulated, content, finalResponse.usage);\n });\n\n for (const accumulated of accumulatedById.values()) {\n if (!matchedAccumulatedToolCalls.has(accumulated)) {\n throw new CompletionProviderOutputError({\n kind: \"invalid-tool-call\",\n toolCallId: accumulated.toolCallId,\n usage: finalResponse.usage,\n });\n }\n }\n\n return this.withAccumulatedArtifacts({ ...finalResponse, choice }, accumulatedResponse);\n }\n\n private appendText(delta: string): void {\n const lastPart = this.orderedParts.at(-1);\n const key = lastPart?.type === \"text\" ? lastPart.key : this.createTextKey();\n if (lastPart?.type !== \"text\") {\n this.orderedParts.push({ type: \"text\", key });\n }\n this.textParts.set(key, `${this.textParts.get(key) ?? \"\"}${delta}`);\n }\n\n private reasoningStateForEvent(\n event: Extract<CompletionModelStreamEvent<RawResponse>, { type: \"reasoning_delta\" }>,\n ): ReasoningState {\n if (event.id !== undefined) {\n const existingKey = this.reasoningKeyById.get(event.id);\n if (existingKey !== undefined) {\n const existing = this.reasoningByKey.get(existingKey);\n if (existing !== undefined) {\n return existing;\n }\n }\n\n const key = this.createReasoningKey();\n const reasoning: ReasoningState = { id: event.id, text: \"\" };\n this.reasoningKeyById.set(event.id, key);\n this.reasoningByKey.set(key, reasoning);\n this.orderedParts.push({ type: \"reasoning\", key });\n return reasoning;\n }\n\n const lastPart = this.orderedParts.at(-1);\n if (lastPart?.type === \"reasoning\") {\n const lastReasoning = this.reasoningByKey.get(lastPart.key);\n if (lastReasoning !== undefined && lastReasoning.id === undefined) {\n return lastReasoning;\n }\n }\n\n const key = this.createReasoningKey();\n const reasoning: ReasoningState = { text: \"\" };\n this.reasoningByKey.set(key, reasoning);\n this.orderedParts.push({ type: \"reasoning\", key });\n return reasoning;\n }\n\n private toolCallStateForId(id: string): PartialToolCall {\n const existing = this.toolCalls.get(id);\n if (existing !== undefined) {\n return existing;\n }\n\n const toolCall: PartialToolCall = {\n id,\n name: \"\",\n argumentsText: \"\",\n argumentsSnapshotSeen: false,\n fullCallSeen: false,\n };\n this.toolCalls.set(id, toolCall);\n this.orderedParts.push({ type: \"tool_call\", key: id });\n return toolCall;\n }\n\n private withMessageIdFallback(\n response: CompletionResponse<RawResponse>,\n accumulatedResponse: CompletionResponse<RawResponse>,\n ): CompletionResponse<RawResponse> {\n if (response.messageId !== undefined || accumulatedResponse.messageId === undefined) {\n return response;\n }\n return { ...response, messageId: accumulatedResponse.messageId };\n }\n\n private withAccumulatedArtifacts(\n response: CompletionResponse<RawResponse>,\n accumulatedResponse: CompletionResponse<RawResponse>,\n ): CompletionResponse<RawResponse> {\n const withMessageId = this.withMessageIdFallback(response, accumulatedResponse);\n const sources = mergeSources(accumulatedResponse.sources, response.sources);\n const providerToolCalls = mergeProviderToolCalls(\n accumulatedResponse.providerToolCalls,\n response.providerToolCalls,\n );\n let accumulated: CompletionResponse<RawResponse> = { ...withMessageId };\n if (sources.length > 0) accumulated = { ...accumulated, sources };\n if (providerToolCalls.length > 0) {\n accumulated = { ...accumulated, providerToolCalls };\n }\n return accumulated;\n }\n\n private createTextKey(): string {\n this.nextTextKey += 1;\n return `text_${this.nextTextKey.toString()}`;\n }\n\n private createReasoningKey(): string {\n this.nextReasoningKey += 1;\n return `reasoning_${this.nextReasoningKey.toString()}`;\n }\n\n private appendReasoning(\n reasoning: ReasoningState,\n event: Extract<CompletionModelStreamEvent<RawResponse>, { type: \"reasoning_delta\" }>,\n ): void {\n const contentType = event.contentType ?? \"text\";\n if (contentType === \"text\" || contentType === \"summary\") {\n reasoning.text += event.delta;\n }\n\n if (event.contentType === undefined && event.signature === undefined) {\n return;\n }\n\n reasoning.details ??= [];\n const last = reasoning.details.at(-1);\n if (contentType === \"text\") {\n if (last?.type === \"text\") {\n let detail: ReasoningDetail = {\n ...last,\n text: `${last.text}${event.delta}`,\n };\n if (event.signature !== undefined) detail = { ...detail, signature: event.signature };\n reasoning.details[reasoning.details.length - 1] = detail;\n } else {\n reasoning.details.push(\n event.signature === undefined\n ? { type: \"text\", text: event.delta }\n : { type: \"text\", text: event.delta, signature: event.signature },\n );\n }\n return;\n }\n\n if (contentType === \"summary\") {\n if (last?.type === \"summary\") {\n reasoning.details[reasoning.details.length - 1] = {\n ...last,\n text: `${last.text}${event.delta}`,\n };\n } else {\n reasoning.details.push({ type: \"summary\", text: event.delta });\n }\n return;\n }\n\n if (contentType === \"encrypted\") {\n reasoning.details.push({ type: \"encrypted\", data: event.delta });\n return;\n }\n\n reasoning.details.push({ type: \"redacted\", data: event.delta });\n }\n}\n\nfunction sourceKey(source: CompletionSource): string {\n return `${source.url}\\u0000${source.startIndex ?? \"\"}\\u0000${source.endIndex ?? \"\"}`;\n}\n\nfunction mergeSources(\n accumulated: CompletionSource[] | undefined,\n final: CompletionSource[] | undefined,\n): CompletionSource[] {\n const sources = new Map<string, CompletionSource>();\n for (const source of [...(accumulated ?? []), ...(final ?? [])]) {\n sources.set(sourceKey(source), source);\n }\n return [...sources.values()];\n}\n\nfunction mergeProviderToolCalls(\n accumulated: ProviderToolCall[] | undefined,\n final: ProviderToolCall[] | undefined,\n): ProviderToolCall[] {\n const toolCalls = new Map<string, ProviderToolCall>();\n for (const toolCall of [...(accumulated ?? []), ...(final ?? [])]) {\n toolCalls.set(toolCall.id, toolCall);\n }\n return [...toolCalls.values()];\n}\n\nfunction reasoningContent(reasoning: ReasoningState): AssistantContentPart {\n const content =\n reasoning.details === undefined\n ? { type: \"reasoning\" as const, text: reasoning.text }\n : { type: \"reasoning\" as const, text: reasoning.text, details: reasoning.details };\n return reasoning.id === undefined ? content : { ...content, id: reasoning.id };\n}\n\nfunction toolCallContent(toolCall: PartialToolCall): ToolCallPart {\n const argumentsValue = parseToolArguments(toolCall.id, toolCall.argumentsText);\n let content: ToolCallPart = {\n type: \"tool-call\",\n toolCallId: toolCall.id,\n toolName: toolCall.name,\n input: argumentsValue,\n };\n if (toolCall.callId !== undefined) content = { ...content, callId: toolCall.callId };\n if (toolCall.signature !== undefined) content = { ...content, signature: toolCall.signature };\n return content;\n}\n\nfunction mergeFinalToolCall(\n accumulated: ToolCallPart,\n finalToolCall: ToolCallPart,\n usage: CompletionResponse[\"usage\"],\n): ToolCallPart {\n if (\n finalToolCall.toolCallId !== accumulated.toolCallId ||\n finalToolCall.toolName !== accumulated.toolName ||\n (accumulated.callId !== undefined && finalToolCall.callId !== accumulated.callId) ||\n (accumulated.signature !== undefined &&\n finalToolCall.signature !== undefined &&\n finalToolCall.signature !== accumulated.signature)\n ) {\n throw new CompletionProviderOutputError({\n kind: \"invalid-tool-call\",\n toolCallId: accumulated.toolCallId,\n usage,\n });\n }\n if (!isJsonValue(finalToolCall.input)) {\n throw new CompletionProviderOutputError({\n kind: \"invalid-tool-arguments\",\n toolCallId: accumulated.toolCallId,\n usage,\n });\n }\n if (!jsonValuesEqual(accumulated.input, finalToolCall.input)) {\n throw new CompletionProviderOutputError({\n kind: \"invalid-tool-call\",\n toolCallId: accumulated.toolCallId,\n usage,\n });\n }\n let merged: ToolCallPart = {\n type: \"tool-call\",\n toolCallId: finalToolCall.toolCallId,\n toolName: finalToolCall.toolName,\n input: accumulated.input,\n };\n const callId = finalToolCall.callId ?? accumulated.callId;\n if (callId !== undefined) merged = { ...merged, callId };\n const signature = finalToolCall.signature ?? accumulated.signature;\n if (signature !== undefined) merged = { ...merged, signature };\n return merged;\n}\n\nfunction reasoningDeltaEvent(\n event: Extract<CompletionModelStreamEvent, { type: \"reasoning_delta\" }>,\n): AccumulatedStreamEvent {\n const mapped: AccumulatedStreamEvent = { type: \"reasoning_delta\", delta: event.delta };\n if (event.id !== undefined) mapped.id = event.id;\n if (event.contentType !== undefined) mapped.contentType = event.contentType;\n if (event.signature !== undefined) mapped.signature = event.signature;\n return mapped;\n}\n\nfunction parseToolArguments(toolCallId: string, text: string): JsonValue {\n let value: unknown;\n try {\n value = JSON.parse(text);\n } catch {\n throw new CompletionProviderOutputError({\n kind: \"malformed-tool-arguments\",\n toolCallId,\n });\n }\n if (!isJsonValue(value)) {\n throw new CompletionProviderOutputError({\n kind: \"invalid-tool-arguments\",\n toolCallId,\n });\n }\n return value;\n}\n\nfunction jsonValuesEqual(left: JsonValue, right: JsonValue): boolean {\n if (left === right) {\n return true;\n }\n if (left === null || right === null || typeof left !== \"object\" || typeof right !== \"object\") {\n return false;\n }\n if (isJsonArray(left) || isJsonArray(right)) {\n if (!isJsonArray(left) || !isJsonArray(right) || left.length !== right.length) {\n return false;\n }\n return left.every((value, index) => {\n const rightValue = right[index];\n return rightValue !== undefined && jsonValuesEqual(value, rightValue);\n });\n }\n\n const leftKeys = Object.keys(left);\n const rightKeys = Object.keys(right);\n if (leftKeys.length !== rightKeys.length) {\n return false;\n }\n for (const key of leftKeys) {\n if (!Object.hasOwn(right, key)) {\n return false;\n }\n const leftValue = left[key];\n const rightValue = right[key];\n if (\n leftValue === undefined ||\n rightValue === undefined ||\n !jsonValuesEqual(leftValue, rightValue)\n ) {\n return false;\n }\n }\n return true;\n}\n\nfunction nonToolPartsMatchFinal(\n accumulated: readonly AssistantContentPart[],\n final: readonly AssistantContentPart[],\n): boolean {\n if (!isJsonValue(accumulated) || !isJsonValue(final)) return false;\n const unmatched = [...final];\n for (const part of accumulated) {\n let index = unmatched.findIndex((candidate) => jsonValuesEqual(part, candidate));\n if (index < 0 && part.type === \"reasoning\") {\n index = unmatched.findIndex(\n (candidate) => candidate.type === \"reasoning\" && reasoningMatchesFinal(part, candidate),\n );\n }\n if (index < 0) return false;\n unmatched.splice(index, 1);\n }\n // Responses may expose replayable reasoning only in the terminal snapshot.\n // It has no displayable delta, so it must not change text/tool validation.\n return unmatched.every(\n (part) =>\n part.type === \"reasoning\" &&\n part.text === \"\" &&\n (part.details === undefined ||\n part.details.every(\n (detail) =>\n detail.type === \"encrypted\" ||\n ((detail.type === \"text\" || detail.type === \"summary\") && detail.text === \"\"),\n )),\n );\n}\n\nfunction reasoningMatchesFinal(accumulated: ReasoningPart, final: ReasoningPart): boolean {\n // Only allow final-only encryption to enrich an otherwise identical part.\n // Already streamed encryption, summaries, IDs and signatures must still agree.\n if (accumulated.details?.some((detail) => detail.type === \"encrypted\")) return false;\n if (!final.details?.some((detail) => detail.type === \"encrypted\")) return false;\n const { details, ...base } = final;\n const streamedDetails = details.filter((detail) => detail.type !== \"encrypted\");\n const comparable = streamedDetails.length === 0 ? base : { ...base, details: streamedDetails };\n return (\n isJsonValue(accumulated) && isJsonValue(comparable) && jsonValuesEqual(accumulated, comparable)\n );\n}\n\nfunction isJsonArray(value: JsonValue): value is readonly JsonValue[] {\n return Array.isArray(value);\n}\n\nfunction providerOutputErrorWithUsage(\n error: CompletionProviderOutputError,\n usage: CompletionResponse[\"usage\"],\n): CompletionProviderOutputError {\n const shared: { toolCallId?: string; usage: CompletionResponse[\"usage\"] } = { usage };\n if (error.toolCallId !== undefined) shared.toolCallId = error.toolCallId;\n if (error.kind === \"truncated-tool-call\") {\n return new CompletionProviderOutputError({\n ...shared,\n kind: error.kind,\n finishReason: \"length\",\n });\n }\n if (error.kind === \"filtered-tool-call\") {\n return new CompletionProviderOutputError({\n ...shared,\n kind: error.kind,\n finishReason: \"content-filter\",\n });\n }\n if (error.finishReason === \"length\" || error.finishReason === \"content-filter\") {\n throw error;\n }\n return new CompletionProviderOutputError({\n ...shared,\n kind: error.kind,\n finishReason: error.finishReason,\n });\n}\n\nfunction isNonblankString(value: unknown): value is string {\n return typeof value === \"string\" && value.trim().length > 0;\n}\n\nfunction isReasoningContentType(value: unknown): boolean {\n return value === \"text\" || value === \"summary\" || value === \"encrypted\" || value === \"redacted\";\n}\n"],"mappings":"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","names":["key","reasoning"]}
|
|
1
|
+
{"version":3,"sources":["../src/completion/stream-accumulator.ts"],"sourcesContent":["import { isJsonValue } from \"./json\";\nimport { CompletionProviderOutputError } from \"./provider-output-error\";\nimport type {\n AssistantContentPart,\n CompletionModelStreamEvent,\n CompletionResponse,\n CompletionSource,\n CompletionStreamPart,\n JsonValue,\n ProviderToolCall,\n ReasoningDetail,\n ReasoningPart,\n ToolCallPart,\n} from \"./types\";\nimport { Usage } from \"./types\";\n\ntype AccumulatedStreamEvent = Exclude<\n CompletionStreamPart,\n { type: \"tool_call_delta\" } | { type: \"message_id\" }\n>;\n\ntype ReasoningState = {\n id?: string;\n text: string;\n details?: ReasoningDetail[];\n};\n\ntype PartialToolCall = {\n id: string;\n callId?: string;\n name: string;\n argumentsText: string;\n argumentsSnapshotSeen: boolean;\n signature?: string;\n fullCallSeen: boolean;\n};\n\ntype OrderedPartRef =\n | { type: \"text\"; key: string }\n | { type: \"reasoning\"; key: string }\n | { type: \"tool_call\"; key: string };\n\nexport class CompletionStreamAccumulator<RawResponse = unknown> {\n private orderedParts: OrderedPartRef[] = [];\n private textParts = new Map<string, string>();\n private reasoningByKey = new Map<string, ReasoningState>();\n private reasoningKeyById = new Map<string, string>();\n private toolCalls = new Map<string, PartialToolCall>();\n private sources = new Map<string, CompletionSource>();\n private providerToolCalls = new Map<string, ProviderToolCall>();\n private finalResponse: CompletionResponse<RawResponse> | undefined;\n private messageId: string | undefined;\n private nextTextKey = 0;\n private nextReasoningKey = 0;\n\n accept(event: CompletionModelStreamEvent<RawResponse>): AccumulatedStreamEvent | undefined {\n if (event.type === \"text_delta\") {\n if (typeof event.delta !== \"string\") {\n throw new CompletionProviderOutputError({ kind: \"invalid-stream-event\" });\n }\n this.appendText(event.delta);\n return { type: \"text_delta\", delta: event.delta };\n }\n\n if (event.type === \"reasoning_delta\") {\n if (\n typeof event.delta !== \"string\" ||\n (event.id !== undefined && !isNonblankString(event.id)) ||\n (event.signature !== undefined && !isNonblankString(event.signature)) ||\n (event.contentType !== undefined && !isReasoningContentType(event.contentType))\n ) {\n throw new CompletionProviderOutputError({ kind: \"invalid-stream-event\" });\n }\n const reasoning = this.reasoningStateForEvent(event);\n this.appendReasoning(reasoning, event);\n return reasoningDeltaEvent(event);\n }\n\n if (event.type === \"tool_call_delta\") {\n if (!isNonblankString(event.id)) {\n throw new CompletionProviderOutputError({ kind: \"invalid-tool-call\" });\n }\n const toolCall = this.toolCallStateForId(event.id);\n if (toolCall.fullCallSeen) {\n throw new CompletionProviderOutputError({\n kind: \"invalid-tool-call\",\n toolCallId: toolCall.id,\n });\n }\n if (event.callId !== undefined) {\n if (!isNonblankString(event.callId)) {\n throw new CompletionProviderOutputError({\n kind: \"invalid-tool-call\",\n toolCallId: toolCall.id,\n });\n }\n if (toolCall.callId !== undefined && toolCall.callId !== event.callId) {\n throw new CompletionProviderOutputError({\n kind: \"invalid-tool-call\",\n toolCallId: toolCall.id,\n });\n }\n toolCall.callId = event.callId;\n }\n if (event.name !== undefined) {\n if (!isNonblankString(event.name)) {\n throw new CompletionProviderOutputError({\n kind: \"invalid-tool-call\",\n toolCallId: toolCall.id,\n });\n }\n if (toolCall.name.length > 0 && toolCall.name !== event.name) {\n throw new CompletionProviderOutputError({\n kind: \"invalid-tool-call\",\n toolCallId: toolCall.id,\n });\n }\n toolCall.name = event.name;\n }\n if (event.signature !== undefined) {\n if (\n !isNonblankString(event.signature) ||\n (toolCall.signature !== undefined && toolCall.signature !== event.signature)\n ) {\n throw new CompletionProviderOutputError({\n kind: \"invalid-tool-call\",\n toolCallId: toolCall.id,\n });\n }\n toolCall.signature = event.signature;\n }\n if (\n event.argumentsMode !== undefined &&\n event.argumentsMode !== \"append\" &&\n event.argumentsMode !== \"replace\"\n ) {\n throw new CompletionProviderOutputError({\n kind: \"invalid-stream-event\",\n toolCallId: toolCall.id,\n });\n }\n if (event.argumentsMode !== undefined && event.argumentsDelta === undefined) {\n throw new CompletionProviderOutputError({\n kind: \"invalid-stream-event\",\n toolCallId: toolCall.id,\n });\n }\n if (event.argumentsDelta !== undefined) {\n if (typeof event.argumentsDelta !== \"string\") {\n throw new CompletionProviderOutputError({\n kind: \"invalid-tool-arguments\",\n toolCallId: toolCall.id,\n });\n }\n if (event.argumentsMode === \"replace\") {\n if (\n toolCall.argumentsText.length > 0 &&\n toolCall.argumentsText !== event.argumentsDelta &&\n (toolCall.argumentsSnapshotSeen ||\n !event.argumentsDelta.startsWith(toolCall.argumentsText))\n ) {\n throw new CompletionProviderOutputError({\n kind: \"invalid-tool-call\",\n toolCallId: toolCall.id,\n });\n }\n toolCall.argumentsText = event.argumentsDelta;\n toolCall.argumentsSnapshotSeen = true;\n } else {\n if (toolCall.argumentsSnapshotSeen) {\n throw new CompletionProviderOutputError({\n kind: \"invalid-tool-call\",\n toolCallId: toolCall.id,\n });\n }\n toolCall.argumentsText += event.argumentsDelta;\n }\n }\n return undefined;\n }\n\n if (event.type === \"tool_call\") {\n this.upsertToolCall(event.toolCall);\n return { type: \"tool_call\", toolCall: event.toolCall };\n }\n\n if (event.type === \"source\") {\n this.sources.set(sourceKey(event.source), event.source);\n return { type: \"source\", source: event.source };\n }\n\n if (event.type === \"provider_tool_call\") {\n this.providerToolCalls.set(event.toolCall.id, event.toolCall);\n return { type: \"provider_tool_call\", toolCall: event.toolCall };\n }\n\n if (event.type === \"message_id\") {\n if (!isNonblankString(event.id)) {\n throw new CompletionProviderOutputError({ kind: \"invalid-stream-event\" });\n }\n this.messageId = event.id;\n return undefined;\n }\n\n if (event.type === \"final\") {\n this.finalResponse = event.response;\n return undefined;\n }\n\n return undefined;\n }\n\n response(): CompletionResponse<RawResponse> {\n this.assertAccumulatedFinishReason();\n let accumulatedResponse: CompletionResponse<RawResponse>;\n try {\n accumulatedResponse = this.buildAccumulatedResponse();\n } catch (error) {\n if (error instanceof CompletionProviderOutputError && this.finalResponse !== undefined) {\n throw providerOutputErrorWithUsage(error, this.finalResponse.usage);\n }\n throw error;\n }\n if (this.finalResponse !== undefined) {\n if (accumulatedResponse.choice.length === 0) {\n return this.withAccumulatedArtifacts(this.finalResponse, accumulatedResponse);\n }\n return this.mergeFinalResponse(accumulatedResponse, this.finalResponse);\n }\n\n return accumulatedResponse;\n }\n\n private assertAccumulatedFinishReason(): void {\n if (this.finalResponse === undefined) {\n if (this.toolCalls.size === 0) {\n throw new CompletionProviderOutputError({ kind: \"incomplete-stream\" });\n }\n const toolCallId = this.toolCalls.size === 1 ? this.toolCalls.keys().next().value : undefined;\n throw new CompletionProviderOutputError({\n kind: \"incomplete-tool-call\",\n toolCallId,\n });\n }\n if (this.toolCalls.size === 0) return;\n const finishReason = this.finalResponse.finishReason;\n if (finishReason === \"length\") {\n throw new CompletionProviderOutputError({\n kind: \"truncated-tool-call\",\n finishReason,\n usage: this.finalResponse.usage,\n });\n }\n if (finishReason === \"content-filter\") {\n throw new CompletionProviderOutputError({\n kind: \"filtered-tool-call\",\n finishReason,\n usage: this.finalResponse.usage,\n });\n }\n if (finishReason !== undefined && finishReason !== \"stop\" && finishReason !== \"tool-calls\") {\n throw new CompletionProviderOutputError({\n kind: \"invalid-tool-call\",\n usage: this.finalResponse.usage,\n });\n }\n }\n\n private buildAccumulatedResponse(): CompletionResponse<RawResponse> {\n const choice: AssistantContentPart[] = [];\n\n for (const part of this.orderedParts) {\n if (part.type === \"text\") {\n const text = this.textParts.get(part.key) ?? \"\";\n if (text.length > 0) {\n choice.push({ type: \"text\", text });\n }\n continue;\n }\n\n if (part.type === \"reasoning\") {\n const reasoning = this.reasoningByKey.get(part.key);\n if (reasoning !== undefined) {\n choice.push(reasoningContent(reasoning));\n }\n continue;\n }\n\n const toolCall = this.toolCalls.get(part.key);\n if (toolCall !== undefined) {\n choice.push(toolCallContent(toolCall));\n }\n }\n\n const response: CompletionResponse<RawResponse> = {\n choice,\n usage: Usage.empty(),\n rawResponse: undefined as RawResponse,\n };\n if (this.messageId !== undefined) {\n response.messageId = this.messageId;\n }\n const sources = [...this.sources.values()];\n if (sources.length > 0) {\n response.sources = sources;\n }\n const providerToolCalls = [...this.providerToolCalls.values()];\n if (providerToolCalls.length > 0) {\n response.providerToolCalls = providerToolCalls;\n }\n return response;\n }\n\n private upsertToolCall(toolCall: ToolCallPart): void {\n if (\n !isNonblankString(toolCall.toolCallId) ||\n !isNonblankString(toolCall.toolName) ||\n (toolCall.callId !== undefined && !isNonblankString(toolCall.callId)) ||\n (toolCall.signature !== undefined && !isNonblankString(toolCall.signature))\n ) {\n throw new CompletionProviderOutputError({\n kind: \"invalid-tool-call\",\n toolCallId: isNonblankString(toolCall.toolCallId) ? toolCall.toolCallId : undefined,\n });\n }\n if (!isJsonValue(toolCall.input)) {\n throw new CompletionProviderOutputError({\n kind: \"invalid-tool-arguments\",\n toolCallId: toolCall.toolCallId,\n });\n }\n const existing = this.toolCalls.get(toolCall.toolCallId);\n if (existing !== undefined) {\n if (existing.fullCallSeen) {\n throw new CompletionProviderOutputError({\n kind: \"invalid-tool-call\",\n toolCallId: toolCall.toolCallId,\n });\n }\n if (\n (existing.name.length > 0 && existing.name !== toolCall.toolName) ||\n (existing.callId !== undefined && existing.callId !== toolCall.callId) ||\n (existing.signature !== undefined &&\n toolCall.signature !== undefined &&\n existing.signature !== toolCall.signature)\n ) {\n throw new CompletionProviderOutputError({\n kind: \"invalid-tool-call\",\n toolCallId: toolCall.toolCallId,\n });\n }\n if (existing.argumentsText.length > 0) {\n const accumulatedInput = parseToolArguments(existing.id, existing.argumentsText);\n if (!jsonValuesEqual(accumulatedInput, toolCall.input)) {\n throw new CompletionProviderOutputError({\n kind: \"invalid-tool-call\",\n toolCallId: toolCall.toolCallId,\n });\n }\n }\n }\n if (!this.toolCalls.has(toolCall.toolCallId)) {\n this.orderedParts.push({ type: \"tool_call\", key: toolCall.toolCallId });\n }\n const partial: PartialToolCall = {\n id: toolCall.toolCallId,\n name: toolCall.toolName,\n argumentsText: JSON.stringify(toolCall.input),\n argumentsSnapshotSeen: true,\n fullCallSeen: true,\n };\n if (toolCall.callId !== undefined) {\n partial.callId = toolCall.callId;\n }\n const signature = toolCall.signature ?? existing?.signature;\n if (signature !== undefined) {\n partial.signature = signature;\n }\n this.toolCalls.set(toolCall.toolCallId, partial);\n }\n\n private mergeFinalResponse(\n accumulatedResponse: CompletionResponse<RawResponse>,\n finalResponse: CompletionResponse<RawResponse>,\n ): CompletionResponse<RawResponse> {\n if (finalResponse.choice.length === 0) {\n const mergedResponse: CompletionResponse<RawResponse> = {\n ...finalResponse,\n choice: accumulatedResponse.choice,\n };\n return this.withAccumulatedArtifacts(mergedResponse, accumulatedResponse);\n }\n\n const accumulatedNonTool = accumulatedResponse.choice.filter(\n (content) => content.type !== \"tool-call\",\n );\n const finalNonTool = finalResponse.choice.filter((content) => content.type !== \"tool-call\");\n if (\n accumulatedNonTool.length > 0 &&\n !nonToolPartsMatchFinal(accumulatedNonTool, finalNonTool)\n ) {\n throw new CompletionProviderOutputError({\n kind: \"invalid-stream-event\",\n usage: finalResponse.usage,\n });\n }\n\n const accumulatedById = new Map<string, ToolCallPart>();\n const accumulatedByCallId = new Map<string, ToolCallPart>();\n for (const content of accumulatedResponse.choice) {\n if (content.type !== \"tool-call\") continue;\n accumulatedById.set(content.toolCallId, content);\n if (content.callId !== undefined) accumulatedByCallId.set(content.callId, content);\n }\n\n const matchedAccumulatedToolCalls = new Set<ToolCallPart>();\n const choice = finalResponse.choice.map((content) => {\n if (content.type !== \"tool-call\") return content;\n const accumulated = accumulatedById.get(content.toolCallId);\n if (accumulated === undefined) {\n const changedIdentity =\n content.callId === undefined ? undefined : accumulatedByCallId.get(content.callId);\n if (changedIdentity !== undefined) {\n throw new CompletionProviderOutputError({\n kind: \"invalid-tool-call\",\n toolCallId: changedIdentity.toolCallId,\n usage: finalResponse.usage,\n });\n }\n return content;\n }\n matchedAccumulatedToolCalls.add(accumulated);\n return mergeFinalToolCall(accumulated, content, finalResponse.usage);\n });\n\n for (const accumulated of accumulatedById.values()) {\n if (!matchedAccumulatedToolCalls.has(accumulated)) {\n throw new CompletionProviderOutputError({\n kind: \"invalid-tool-call\",\n toolCallId: accumulated.toolCallId,\n usage: finalResponse.usage,\n });\n }\n }\n\n return this.withAccumulatedArtifacts({ ...finalResponse, choice }, accumulatedResponse);\n }\n\n private appendText(delta: string): void {\n const lastPart = this.orderedParts.at(-1);\n const key = lastPart?.type === \"text\" ? lastPart.key : this.createTextKey();\n if (lastPart?.type !== \"text\") {\n this.orderedParts.push({ type: \"text\", key });\n }\n this.textParts.set(key, `${this.textParts.get(key) ?? \"\"}${delta}`);\n }\n\n private reasoningStateForEvent(\n event: Extract<CompletionModelStreamEvent<RawResponse>, { type: \"reasoning_delta\" }>,\n ): ReasoningState {\n if (event.id !== undefined) {\n const existingKey = this.reasoningKeyById.get(event.id);\n if (existingKey !== undefined) {\n const existing = this.reasoningByKey.get(existingKey);\n if (existing !== undefined) {\n return existing;\n }\n }\n\n const key = this.createReasoningKey();\n const reasoning: ReasoningState = { id: event.id, text: \"\" };\n this.reasoningKeyById.set(event.id, key);\n this.reasoningByKey.set(key, reasoning);\n this.orderedParts.push({ type: \"reasoning\", key });\n return reasoning;\n }\n\n const lastPart = this.orderedParts.at(-1);\n if (lastPart?.type === \"reasoning\") {\n const lastReasoning = this.reasoningByKey.get(lastPart.key);\n if (lastReasoning !== undefined && lastReasoning.id === undefined) {\n return lastReasoning;\n }\n }\n\n const key = this.createReasoningKey();\n const reasoning: ReasoningState = { text: \"\" };\n this.reasoningByKey.set(key, reasoning);\n this.orderedParts.push({ type: \"reasoning\", key });\n return reasoning;\n }\n\n private toolCallStateForId(id: string): PartialToolCall {\n const existing = this.toolCalls.get(id);\n if (existing !== undefined) {\n return existing;\n }\n\n const toolCall: PartialToolCall = {\n id,\n name: \"\",\n argumentsText: \"\",\n argumentsSnapshotSeen: false,\n fullCallSeen: false,\n };\n this.toolCalls.set(id, toolCall);\n this.orderedParts.push({ type: \"tool_call\", key: id });\n return toolCall;\n }\n\n private withMessageIdFallback(\n response: CompletionResponse<RawResponse>,\n accumulatedResponse: CompletionResponse<RawResponse>,\n ): CompletionResponse<RawResponse> {\n if (response.messageId !== undefined || accumulatedResponse.messageId === undefined) {\n return response;\n }\n return { ...response, messageId: accumulatedResponse.messageId };\n }\n\n private withAccumulatedArtifacts(\n response: CompletionResponse<RawResponse>,\n accumulatedResponse: CompletionResponse<RawResponse>,\n ): CompletionResponse<RawResponse> {\n const withMessageId = this.withMessageIdFallback(response, accumulatedResponse);\n const sources = mergeSources(accumulatedResponse.sources, response.sources);\n const providerToolCalls = mergeProviderToolCalls(\n accumulatedResponse.providerToolCalls,\n response.providerToolCalls,\n );\n let accumulated: CompletionResponse<RawResponse> = { ...withMessageId };\n if (sources.length > 0) accumulated = { ...accumulated, sources };\n if (providerToolCalls.length > 0) {\n accumulated = { ...accumulated, providerToolCalls };\n }\n return accumulated;\n }\n\n private createTextKey(): string {\n this.nextTextKey += 1;\n return `text_${this.nextTextKey.toString()}`;\n }\n\n private createReasoningKey(): string {\n this.nextReasoningKey += 1;\n return `reasoning_${this.nextReasoningKey.toString()}`;\n }\n\n private appendReasoning(\n reasoning: ReasoningState,\n event: Extract<CompletionModelStreamEvent<RawResponse>, { type: \"reasoning_delta\" }>,\n ): void {\n const contentType = event.contentType ?? \"text\";\n if (contentType === \"text\" || contentType === \"summary\") {\n reasoning.text += event.delta;\n }\n\n if (event.contentType === undefined && event.signature === undefined) {\n return;\n }\n\n reasoning.details ??= [];\n const last = reasoning.details.at(-1);\n if (contentType === \"text\") {\n if (last?.type === \"text\") {\n let detail: ReasoningDetail = {\n ...last,\n text: `${last.text}${event.delta}`,\n };\n if (event.signature !== undefined) detail = { ...detail, signature: event.signature };\n reasoning.details[reasoning.details.length - 1] = detail;\n } else {\n reasoning.details.push(\n event.signature === undefined\n ? { type: \"text\", text: event.delta }\n : { type: \"text\", text: event.delta, signature: event.signature },\n );\n }\n return;\n }\n\n if (contentType === \"summary\") {\n if (last?.type === \"summary\") {\n reasoning.details[reasoning.details.length - 1] = {\n ...last,\n text: `${last.text}${event.delta}`,\n };\n } else {\n reasoning.details.push({ type: \"summary\", text: event.delta });\n }\n return;\n }\n\n if (contentType === \"encrypted\") {\n reasoning.details.push({ type: \"encrypted\", data: event.delta });\n return;\n }\n\n reasoning.details.push({ type: \"redacted\", data: event.delta });\n }\n}\n\nfunction sourceKey(source: CompletionSource): string {\n return `${source.url}\\u0000${source.startIndex ?? \"\"}\\u0000${source.endIndex ?? \"\"}`;\n}\n\nfunction mergeSources(\n accumulated: CompletionSource[] | undefined,\n final: CompletionSource[] | undefined,\n): CompletionSource[] {\n const sources = new Map<string, CompletionSource>();\n for (const source of [...(accumulated ?? []), ...(final ?? [])]) {\n sources.set(sourceKey(source), source);\n }\n return [...sources.values()];\n}\n\nfunction mergeProviderToolCalls(\n accumulated: ProviderToolCall[] | undefined,\n final: ProviderToolCall[] | undefined,\n): ProviderToolCall[] {\n const toolCalls = new Map<string, ProviderToolCall>();\n for (const toolCall of [...(accumulated ?? []), ...(final ?? [])]) {\n toolCalls.set(toolCall.id, toolCall);\n }\n return [...toolCalls.values()];\n}\n\nfunction reasoningContent(reasoning: ReasoningState): AssistantContentPart {\n const content =\n reasoning.details === undefined\n ? { type: \"reasoning\" as const, text: reasoning.text }\n : { type: \"reasoning\" as const, text: reasoning.text, details: reasoning.details };\n return reasoning.id === undefined ? content : { ...content, id: reasoning.id };\n}\n\nfunction toolCallContent(toolCall: PartialToolCall): ToolCallPart {\n const argumentsValue = parseToolArguments(toolCall.id, toolCall.argumentsText);\n let content: ToolCallPart = {\n type: \"tool-call\",\n toolCallId: toolCall.id,\n toolName: toolCall.name,\n input: argumentsValue,\n };\n if (toolCall.callId !== undefined) content = { ...content, callId: toolCall.callId };\n if (toolCall.signature !== undefined) content = { ...content, signature: toolCall.signature };\n return content;\n}\n\nfunction mergeFinalToolCall(\n accumulated: ToolCallPart,\n finalToolCall: ToolCallPart,\n usage: CompletionResponse[\"usage\"],\n): ToolCallPart {\n if (\n finalToolCall.toolCallId !== accumulated.toolCallId ||\n finalToolCall.toolName !== accumulated.toolName ||\n (accumulated.callId !== undefined && finalToolCall.callId !== accumulated.callId) ||\n (accumulated.signature !== undefined &&\n finalToolCall.signature !== undefined &&\n finalToolCall.signature !== accumulated.signature)\n ) {\n throw new CompletionProviderOutputError({\n kind: \"invalid-tool-call\",\n toolCallId: accumulated.toolCallId,\n usage,\n });\n }\n if (!isJsonValue(finalToolCall.input)) {\n throw new CompletionProviderOutputError({\n kind: \"invalid-tool-arguments\",\n toolCallId: accumulated.toolCallId,\n usage,\n });\n }\n if (!jsonValuesEqual(accumulated.input, finalToolCall.input)) {\n throw new CompletionProviderOutputError({\n kind: \"invalid-tool-call\",\n toolCallId: accumulated.toolCallId,\n usage,\n });\n }\n let merged: ToolCallPart = {\n type: \"tool-call\",\n toolCallId: finalToolCall.toolCallId,\n toolName: finalToolCall.toolName,\n input: accumulated.input,\n };\n const callId = finalToolCall.callId ?? accumulated.callId;\n if (callId !== undefined) merged = { ...merged, callId };\n const signature = finalToolCall.signature ?? accumulated.signature;\n if (signature !== undefined) merged = { ...merged, signature };\n return merged;\n}\n\nfunction reasoningDeltaEvent(\n event: Extract<CompletionModelStreamEvent, { type: \"reasoning_delta\" }>,\n): AccumulatedStreamEvent {\n const mapped: AccumulatedStreamEvent = { type: \"reasoning_delta\", delta: event.delta };\n if (event.id !== undefined) mapped.id = event.id;\n if (event.contentType !== undefined) mapped.contentType = event.contentType;\n if (event.signature !== undefined) mapped.signature = event.signature;\n return mapped;\n}\n\nfunction parseToolArguments(toolCallId: string, text: string): JsonValue {\n // Some OpenAI-compatible backends send \"\" for zero-argument tool calls.\n if (text.trim() === \"\") return {};\n let value: unknown;\n try {\n value = JSON.parse(text);\n } catch {\n throw new CompletionProviderOutputError({\n kind: \"malformed-tool-arguments\",\n toolCallId,\n });\n }\n if (!isJsonValue(value)) {\n throw new CompletionProviderOutputError({\n kind: \"invalid-tool-arguments\",\n toolCallId,\n });\n }\n return value;\n}\n\nfunction jsonValuesEqual(left: JsonValue, right: JsonValue): boolean {\n if (left === right) {\n return true;\n }\n if (left === null || right === null || typeof left !== \"object\" || typeof right !== \"object\") {\n return false;\n }\n if (isJsonArray(left) || isJsonArray(right)) {\n if (!isJsonArray(left) || !isJsonArray(right) || left.length !== right.length) {\n return false;\n }\n return left.every((value, index) => {\n const rightValue = right[index];\n return rightValue !== undefined && jsonValuesEqual(value, rightValue);\n });\n }\n\n const leftKeys = Object.keys(left);\n const rightKeys = Object.keys(right);\n if (leftKeys.length !== rightKeys.length) {\n return false;\n }\n for (const key of leftKeys) {\n if (!Object.hasOwn(right, key)) {\n return false;\n }\n const leftValue = left[key];\n const rightValue = right[key];\n if (\n leftValue === undefined ||\n rightValue === undefined ||\n !jsonValuesEqual(leftValue, rightValue)\n ) {\n return false;\n }\n }\n return true;\n}\n\nfunction nonToolPartsMatchFinal(\n accumulated: readonly AssistantContentPart[],\n final: readonly AssistantContentPart[],\n): boolean {\n if (!isJsonValue(accumulated) || !isJsonValue(final)) return false;\n const unmatched = [...final];\n for (const part of accumulated) {\n let index = unmatched.findIndex((candidate) => jsonValuesEqual(part, candidate));\n if (index < 0 && part.type === \"reasoning\") {\n index = unmatched.findIndex(\n (candidate) => candidate.type === \"reasoning\" && reasoningMatchesFinal(part, candidate),\n );\n }\n if (index < 0) return false;\n unmatched.splice(index, 1);\n }\n // Responses may expose replayable reasoning only in the terminal snapshot.\n // It has no displayable delta, so it must not change text/tool validation.\n return unmatched.every(\n (part) =>\n part.type === \"reasoning\" &&\n part.text === \"\" &&\n (part.details === undefined ||\n part.details.every(\n (detail) =>\n detail.type === \"encrypted\" ||\n ((detail.type === \"text\" || detail.type === \"summary\") && detail.text === \"\"),\n )),\n );\n}\n\nfunction reasoningMatchesFinal(accumulated: ReasoningPart, final: ReasoningPart): boolean {\n // Only allow final-only encryption to enrich an otherwise identical part.\n // Already streamed encryption, summaries, IDs and signatures must still agree.\n if (accumulated.details?.some((detail) => detail.type === \"encrypted\")) return false;\n if (!final.details?.some((detail) => detail.type === \"encrypted\")) return false;\n const { details, ...base } = final;\n const streamedDetails = details.filter((detail) => detail.type !== \"encrypted\");\n const comparable = streamedDetails.length === 0 ? base : { ...base, details: streamedDetails };\n return (\n isJsonValue(accumulated) && isJsonValue(comparable) && jsonValuesEqual(accumulated, comparable)\n );\n}\n\nfunction isJsonArray(value: JsonValue): value is readonly JsonValue[] {\n return Array.isArray(value);\n}\n\nfunction providerOutputErrorWithUsage(\n error: CompletionProviderOutputError,\n usage: CompletionResponse[\"usage\"],\n): CompletionProviderOutputError {\n const shared: { toolCallId?: string; usage: CompletionResponse[\"usage\"] } = { usage };\n if (error.toolCallId !== undefined) shared.toolCallId = error.toolCallId;\n if (error.kind === \"truncated-tool-call\") {\n return new CompletionProviderOutputError({\n ...shared,\n kind: error.kind,\n finishReason: \"length\",\n });\n }\n if (error.kind === \"filtered-tool-call\") {\n return new CompletionProviderOutputError({\n ...shared,\n kind: error.kind,\n finishReason: \"content-filter\",\n });\n }\n if (error.finishReason === \"length\" || error.finishReason === \"content-filter\") {\n throw error;\n }\n return new CompletionProviderOutputError({\n ...shared,\n kind: error.kind,\n finishReason: error.finishReason,\n });\n}\n\nfunction isNonblankString(value: unknown): value is string {\n return typeof value === \"string\" && value.trim().length > 0;\n}\n\nfunction isReasoningContentType(value: unknown): boolean {\n return value === \"text\" || value === \"summary\" || value === \"encrypted\" || value === \"redacted\";\n}\n"],"mappings":"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","names":["key","reasoning"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
scopedNode
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-YKGIOXTR.js";
|
|
4
4
|
import {
|
|
5
5
|
abortError,
|
|
6
6
|
throwIfAborted
|
|
@@ -107,4 +107,4 @@ export {
|
|
|
107
107
|
combineAbortSignals,
|
|
108
108
|
pipelineAbortError
|
|
109
109
|
};
|
|
110
|
-
//# sourceMappingURL=chunk-
|
|
110
|
+
//# sourceMappingURL=chunk-4HO6VPC7.js.map
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
defaultEvalTraceSelector
|
|
3
3
|
} from "./chunk-PHLGGRHC.js";
|
|
4
|
+
import {
|
|
5
|
+
errorMessage
|
|
6
|
+
} from "./chunk-ZYXMWEL4.js";
|
|
7
|
+
import {
|
|
8
|
+
EvalOutcome
|
|
9
|
+
} from "./chunk-EJR6VVB3.js";
|
|
4
10
|
import {
|
|
5
11
|
EvalAbortError,
|
|
6
12
|
EvalTimeoutError,
|
|
@@ -8,12 +14,6 @@ import {
|
|
|
8
14
|
createConcurrencyLimiter,
|
|
9
15
|
createEvalCaseSignal
|
|
10
16
|
} from "./chunk-4OSA3MMA.js";
|
|
11
|
-
import {
|
|
12
|
-
EvalOutcome
|
|
13
|
-
} from "./chunk-EJR6VVB3.js";
|
|
14
|
-
import {
|
|
15
|
-
errorMessage
|
|
16
|
-
} from "./chunk-ZYXMWEL4.js";
|
|
17
17
|
import {
|
|
18
18
|
Usage
|
|
19
19
|
} from "./chunk-HJ6KTQTZ.js";
|
|
@@ -660,4 +660,4 @@ export {
|
|
|
660
660
|
EvalFailFastError,
|
|
661
661
|
runEvalSuite
|
|
662
662
|
};
|
|
663
|
-
//# sourceMappingURL=chunk-
|
|
663
|
+
//# sourceMappingURL=chunk-4IOC4SP6.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
normalizeToolResultOutput,
|
|
3
3
|
parseToolArgs
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-TMSWHXYQ.js";
|
|
5
5
|
import {
|
|
6
6
|
ToolCallError,
|
|
7
7
|
ToolJsonError
|
|
@@ -90,4 +90,4 @@ export {
|
|
|
90
90
|
prepareToolCall,
|
|
91
91
|
prepareToolCallFromInput
|
|
92
92
|
};
|
|
93
|
-
//# sourceMappingURL=chunk-
|
|
93
|
+
//# sourceMappingURL=chunk-6YYZ7VJQ.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
extract
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-VWN6BO6G.js";
|
|
4
4
|
import {
|
|
5
5
|
Usage
|
|
6
6
|
} from "./chunk-HJ6KTQTZ.js";
|
|
@@ -52,4 +52,4 @@ export {
|
|
|
52
52
|
addUsage,
|
|
53
53
|
evaluationMetadata
|
|
54
54
|
};
|
|
55
|
-
//# sourceMappingURL=chunk-
|
|
55
|
+
//# sourceMappingURL=chunk-AJ6CRV4D.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createTool
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-Z5WMW4NP.js";
|
|
4
4
|
|
|
5
5
|
// src/tool/question-tool.ts
|
|
6
6
|
import { z } from "zod";
|
|
@@ -102,4 +102,4 @@ export {
|
|
|
102
102
|
createQuestionTool,
|
|
103
103
|
isQuestionTool
|
|
104
104
|
};
|
|
105
|
-
//# sourceMappingURL=chunk-
|
|
105
|
+
//# sourceMappingURL=chunk-BX52ILPM.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createTool
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-Z5WMW4NP.js";
|
|
4
4
|
|
|
5
5
|
// src/internal/team-runtime/tools.ts
|
|
6
6
|
import { z } from "zod";
|
|
@@ -64,4 +64,4 @@ export {
|
|
|
64
64
|
teamTools,
|
|
65
65
|
TEAM_INSTRUCTIONS
|
|
66
66
|
};
|
|
67
|
-
//# sourceMappingURL=chunk-
|
|
67
|
+
//# sourceMappingURL=chunk-C6YE3JXV.js.map
|
|
@@ -34,9 +34,11 @@ function snapshotPipelineObservability(observability) {
|
|
|
34
34
|
}
|
|
35
35
|
const snapshot = {
|
|
36
36
|
observers: Object.freeze(observers),
|
|
37
|
-
errorPolicy
|
|
38
|
-
...observability.primaryTrace === void 0 ? {} : { primaryTrace: observability.primaryTrace }
|
|
37
|
+
errorPolicy
|
|
39
38
|
};
|
|
39
|
+
if (observability.primaryTrace !== void 0) {
|
|
40
|
+
snapshot.primaryTrace = observability.primaryTrace;
|
|
41
|
+
}
|
|
40
42
|
return Object.freeze(snapshot);
|
|
41
43
|
}
|
|
42
44
|
async function startPipelineRunObservers(observers, args, options) {
|
|
@@ -172,4 +174,4 @@ export {
|
|
|
172
174
|
ActivePipelineRunObservers,
|
|
173
175
|
ActivePipelineStageObservers
|
|
174
176
|
};
|
|
175
|
-
//# sourceMappingURL=chunk-
|
|
177
|
+
//# sourceMappingURL=chunk-EM4F5SRB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/pipeline/observability.ts"],"sourcesContent":["import type { Writable } from \"../internal/type-utils\";\nimport { observerSnapshot } from \"../observability/snapshot\";\nimport { PipelineObserverDispatchError, type PipelineObserverFailure } from \"./errors\";\nimport type {\n PipelineObservabilityOptions,\n PipelineObserverErrorPolicy,\n PipelineObserverMap,\n PipelineObserverTraceInfo,\n PipelineRunEndArgs,\n PipelineRunErrorArgs,\n PipelineRunObservation,\n PipelineRunStartArgs,\n PipelineStageEndArgs,\n PipelineStageErrorArgs,\n PipelineStageObservation,\n PipelineStageStartArgs,\n PipelineTraceInfo,\n} from \"./types\";\n\ntype NamedObserver<T> = {\n readonly name: string;\n readonly observer: T;\n};\n\ntype ActiveNamedObserver<T> = NamedObserver<T> & {\n terminal: boolean;\n};\n\nfunction resolvePrimaryTrace<T extends { readonly trace?: PipelineObserverTraceInfo | undefined }>(\n observers: readonly ActiveNamedObserver<T>[],\n primaryTrace: string | undefined,\n): PipelineTraceInfo | undefined {\n if (primaryTrace === undefined) return undefined;\n const primary = observers.find((entry) => entry.name === primaryTrace);\n return primary?.observer.trace === undefined\n ? undefined\n : Object.freeze({ observer: primary.name, ...primary.observer.trace });\n}\n\nexport function snapshotPipelineObservability(\n observability: PipelineObservabilityOptions | undefined,\n): PipelineObservabilityOptions | undefined {\n if (observability === undefined) return undefined;\n const observers: Record<string, PipelineObserverMap[string]> = {};\n for (const [name, observer] of Object.entries(observability.observers)) {\n if (name.trim().length === 0) {\n throw new TypeError(\"Pipeline observer names must not be empty.\");\n }\n if (\n typeof observer !== \"object\" ||\n observer === null ||\n typeof observer.startRun !== \"function\"\n ) {\n throw new TypeError(`Pipeline observer \"${name}\" must implement startRun().`);\n }\n observers[name] = observer;\n }\n if (observability.primaryTrace !== undefined && !(observability.primaryTrace in observers)) {\n throw new TypeError(\n `Pipeline primaryTrace \"${observability.primaryTrace}\" must name a configured observer.`,\n );\n }\n const errorPolicy = observability.errorPolicy ?? \"ignore\";\n if (errorPolicy !== \"ignore\" && errorPolicy !== \"throw\") {\n throw new TypeError('Pipeline observability.errorPolicy must be \"ignore\" or \"throw\".');\n }\n\n const snapshot: Writable<PipelineObservabilityOptions> = {\n observers: Object.freeze(observers),\n errorPolicy,\n };\n\n if (observability.primaryTrace !== undefined) {\n snapshot.primaryTrace = observability.primaryTrace;\n }\n\n return Object.freeze(snapshot);\n}\n\nexport async function startPipelineRunObservers(\n observers: PipelineObserverMap,\n args: PipelineRunStartArgs,\n options: {\n readonly primaryTrace?: string | undefined;\n readonly errorPolicy: PipelineObserverErrorPolicy;\n },\n): Promise<ActivePipelineRunObservers> {\n const runObservers: ActiveNamedObserver<PipelineRunObservation>[] = [];\n const failures: PipelineObserverFailure[] = [];\n for (const [name, observer] of Object.entries(observers)) {\n try {\n const runObserver = await observer.startRun(observerSnapshot(args));\n if (runObserver !== undefined) {\n runObservers.push({ name, observer: runObserver, terminal: false });\n }\n } catch (error) {\n failures.push({ observer: name, error });\n }\n }\n if (options.errorPolicy === \"throw\" && failures.length > 0) {\n const startupError = new PipelineObserverDispatchError(\"startRun\", failures);\n const cleanupFailures = await terminateObservers(runObservers, (observer) =>\n observer.error?.(\n observerSnapshot({\n runId: args.runId,\n pipelineId: args.pipelineId,\n status: \"failed\",\n error: startupError,\n durationMs: 0,\n }),\n ),\n );\n throw new PipelineObserverDispatchError(\"startRun\", [...failures, ...cleanupFailures]);\n }\n return new ActivePipelineRunObservers(runObservers, options);\n}\n\nexport class ActivePipelineRunObservers {\n readonly trace: PipelineTraceInfo | undefined;\n\n constructor(\n private readonly observers: readonly ActiveNamedObserver<PipelineRunObservation>[],\n private readonly options: {\n readonly primaryTrace?: string | undefined;\n readonly errorPolicy: PipelineObserverErrorPolicy;\n },\n ) {\n this.trace = resolvePrimaryTrace(observers, options.primaryTrace);\n }\n\n async startStage(args: PipelineStageStartArgs): Promise<ActivePipelineStageObservers> {\n const stageObservers: ActiveNamedObserver<PipelineStageObservation>[] = [];\n const failures: PipelineObserverFailure[] = [];\n for (const entry of this.observers) {\n if (entry.observer.startStage === undefined) continue;\n try {\n const observer = await entry.observer.startStage(observerSnapshot(args));\n if (observer !== undefined) {\n stageObservers.push({ name: entry.name, observer, terminal: false });\n }\n } catch (error) {\n failures.push({ observer: entry.name, error });\n }\n }\n if (this.options.errorPolicy === \"throw\" && failures.length > 0) {\n const startupError = new PipelineObserverDispatchError(\"startStage\", failures);\n const cleanupFailures = await terminateObservers(stageObservers, (observer) =>\n observer.error?.(observerSnapshot({ ...args, error: startupError, durationMs: 0 })),\n );\n throw new PipelineObserverDispatchError(\"startStage\", [...failures, ...cleanupFailures]);\n }\n return new ActivePipelineStageObservers(stageObservers, this.options);\n }\n\n async end(args: PipelineRunEndArgs): Promise<void> {\n await dispatchTerminalObservers(\n this.observers,\n \"end\",\n (observer) => observer.end(observerSnapshot(args)),\n this.options.errorPolicy,\n );\n }\n\n async error(args: PipelineRunErrorArgs): Promise<void> {\n await dispatchTerminalObservers(\n this.observers,\n \"error\",\n (observer) => observer.error?.(observerSnapshot(args)),\n \"ignore\",\n );\n }\n}\n\nexport class ActivePipelineStageObservers {\n readonly trace: PipelineTraceInfo | undefined;\n\n constructor(\n private readonly observers: readonly ActiveNamedObserver<PipelineStageObservation>[],\n private readonly options: {\n readonly primaryTrace?: string | undefined;\n readonly errorPolicy: PipelineObserverErrorPolicy;\n },\n ) {\n this.trace = resolvePrimaryTrace(observers, options.primaryTrace);\n }\n\n async end(args: PipelineStageEndArgs): Promise<void> {\n await dispatchTerminalObservers(\n this.observers,\n \"stage.end\",\n (observer) => observer.end(observerSnapshot(args)),\n this.options.errorPolicy,\n );\n }\n\n async error(args: PipelineStageErrorArgs): Promise<void> {\n await dispatchTerminalObservers(\n this.observers,\n \"stage.error\",\n (observer) => observer.error?.(observerSnapshot(args)),\n \"ignore\",\n );\n }\n}\n\nasync function dispatchTerminalObservers<T>(\n observers: readonly ActiveNamedObserver<T>[],\n phase: string,\n dispatch: (observer: T) => void | Promise<void> | undefined,\n errorPolicy: PipelineObserverErrorPolicy,\n): Promise<void> {\n const failures = await terminateObservers(observers, dispatch);\n if (errorPolicy === \"throw\" && failures.length > 0) {\n throw new PipelineObserverDispatchError(phase, failures);\n }\n}\n\nasync function terminateObservers<T>(\n observers: readonly ActiveNamedObserver<T>[],\n dispatch: (observer: T) => void | Promise<void> | undefined,\n): Promise<PipelineObserverFailure[]> {\n const failures: PipelineObserverFailure[] = [];\n for (const entry of observers) {\n if (entry.terminal) continue;\n entry.terminal = true;\n try {\n await dispatch(entry.observer);\n } catch (error) {\n failures.push({ observer: entry.name, error });\n }\n }\n return failures;\n}\n"],"mappings":";;;;;;;;AA4BA,SAAS,oBACP,WACA,cAC+B;AAC/B,MAAI,iBAAiB,OAAW,QAAO;AACvC,QAAM,UAAU,UAAU,KAAK,CAAC,UAAU,MAAM,SAAS,YAAY;AACrE,SAAO,SAAS,SAAS,UAAU,SAC/B,SACA,OAAO,OAAO,EAAE,UAAU,QAAQ,MAAM,GAAG,QAAQ,SAAS,MAAM,CAAC;AACzE;AAEO,SAAS,8BACd,eAC0C;AAC1C,MAAI,kBAAkB,OAAW,QAAO;AACxC,QAAM,YAAyD,CAAC;AAChE,aAAW,CAAC,MAAM,QAAQ,KAAK,OAAO,QAAQ,cAAc,SAAS,GAAG;AACtE,QAAI,KAAK,KAAK,EAAE,WAAW,GAAG;AAC5B,YAAM,IAAI,UAAU,4CAA4C;AAAA,IAClE;AACA,QACE,OAAO,aAAa,YACpB,aAAa,QACb,OAAO,SAAS,aAAa,YAC7B;AACA,YAAM,IAAI,UAAU,sBAAsB,IAAI,8BAA8B;AAAA,IAC9E;AACA,cAAU,IAAI,IAAI;AAAA,EACpB;AACA,MAAI,cAAc,iBAAiB,UAAa,EAAE,cAAc,gBAAgB,YAAY;AAC1F,UAAM,IAAI;AAAA,MACR,0BAA0B,cAAc,YAAY;AAAA,IACtD;AAAA,EACF;AACA,QAAM,cAAc,cAAc,eAAe;AACjD,MAAI,gBAAgB,YAAY,gBAAgB,SAAS;AACvD,UAAM,IAAI,UAAU,iEAAiE;AAAA,EACvF;AAEA,QAAM,WAAmD;AAAA,IACvD,WAAW,OAAO,OAAO,SAAS;AAAA,IAClC;AAAA,EACF;AAEA,MAAI,cAAc,iBAAiB,QAAW;AAC5C,aAAS,eAAe,cAAc;AAAA,EACxC;AAEA,SAAO,OAAO,OAAO,QAAQ;AAC/B;AAEA,eAAsB,0BACpB,WACA,MACA,SAIqC;AACrC,QAAM,eAA8D,CAAC;AACrE,QAAM,WAAsC,CAAC;AAC7C,aAAW,CAAC,MAAM,QAAQ,KAAK,OAAO,QAAQ,SAAS,GAAG;AACxD,QAAI;AACF,YAAM,cAAc,MAAM,SAAS,SAAS,iBAAiB,IAAI,CAAC;AAClE,UAAI,gBAAgB,QAAW;AAC7B,qBAAa,KAAK,EAAE,MAAM,UAAU,aAAa,UAAU,MAAM,CAAC;AAAA,MACpE;AAAA,IACF,SAAS,OAAO;AACd,eAAS,KAAK,EAAE,UAAU,MAAM,MAAM,CAAC;AAAA,IACzC;AAAA,EACF;AACA,MAAI,QAAQ,gBAAgB,WAAW,SAAS,SAAS,GAAG;AAC1D,UAAM,eAAe,IAAI,8BAA8B,YAAY,QAAQ;AAC3E,UAAM,kBAAkB,MAAM;AAAA,MAAmB;AAAA,MAAc,CAAC,aAC9D,SAAS;AAAA,QACP,iBAAiB;AAAA,UACf,OAAO,KAAK;AAAA,UACZ,YAAY,KAAK;AAAA,UACjB,QAAQ;AAAA,UACR,OAAO;AAAA,UACP,YAAY;AAAA,QACd,CAAC;AAAA,MACH;AAAA,IACF;AACA,UAAM,IAAI,8BAA8B,YAAY,CAAC,GAAG,UAAU,GAAG,eAAe,CAAC;AAAA,EACvF;AACA,SAAO,IAAI,2BAA2B,cAAc,OAAO;AAC7D;AAEO,IAAM,6BAAN,MAAiC;AAAA,EAGtC,YACmB,WACA,SAIjB;AALiB;AACA;AAKjB,SAAK,QAAQ,oBAAoB,WAAW,QAAQ,YAAY;AAAA,EAClE;AAAA,EAPmB;AAAA,EACA;AAAA,EAJV;AAAA,EAYT,MAAM,WAAW,MAAqE;AACpF,UAAM,iBAAkE,CAAC;AACzE,UAAM,WAAsC,CAAC;AAC7C,eAAW,SAAS,KAAK,WAAW;AAClC,UAAI,MAAM,SAAS,eAAe,OAAW;AAC7C,UAAI;AACF,cAAM,WAAW,MAAM,MAAM,SAAS,WAAW,iBAAiB,IAAI,CAAC;AACvE,YAAI,aAAa,QAAW;AAC1B,yBAAe,KAAK,EAAE,MAAM,MAAM,MAAM,UAAU,UAAU,MAAM,CAAC;AAAA,QACrE;AAAA,MACF,SAAS,OAAO;AACd,iBAAS,KAAK,EAAE,UAAU,MAAM,MAAM,MAAM,CAAC;AAAA,MAC/C;AAAA,IACF;AACA,QAAI,KAAK,QAAQ,gBAAgB,WAAW,SAAS,SAAS,GAAG;AAC/D,YAAM,eAAe,IAAI,8BAA8B,cAAc,QAAQ;AAC7E,YAAM,kBAAkB,MAAM;AAAA,QAAmB;AAAA,QAAgB,CAAC,aAChE,SAAS,QAAQ,iBAAiB,EAAE,GAAG,MAAM,OAAO,cAAc,YAAY,EAAE,CAAC,CAAC;AAAA,MACpF;AACA,YAAM,IAAI,8BAA8B,cAAc,CAAC,GAAG,UAAU,GAAG,eAAe,CAAC;AAAA,IACzF;AACA,WAAO,IAAI,6BAA6B,gBAAgB,KAAK,OAAO;AAAA,EACtE;AAAA,EAEA,MAAM,IAAI,MAAyC;AACjD,UAAM;AAAA,MACJ,KAAK;AAAA,MACL;AAAA,MACA,CAAC,aAAa,SAAS,IAAI,iBAAiB,IAAI,CAAC;AAAA,MACjD,KAAK,QAAQ;AAAA,IACf;AAAA,EACF;AAAA,EAEA,MAAM,MAAM,MAA2C;AACrD,UAAM;AAAA,MACJ,KAAK;AAAA,MACL;AAAA,MACA,CAAC,aAAa,SAAS,QAAQ,iBAAiB,IAAI,CAAC;AAAA,MACrD;AAAA,IACF;AAAA,EACF;AACF;AAEO,IAAM,+BAAN,MAAmC;AAAA,EAGxC,YACmB,WACA,SAIjB;AALiB;AACA;AAKjB,SAAK,QAAQ,oBAAoB,WAAW,QAAQ,YAAY;AAAA,EAClE;AAAA,EAPmB;AAAA,EACA;AAAA,EAJV;AAAA,EAYT,MAAM,IAAI,MAA2C;AACnD,UAAM;AAAA,MACJ,KAAK;AAAA,MACL;AAAA,MACA,CAAC,aAAa,SAAS,IAAI,iBAAiB,IAAI,CAAC;AAAA,MACjD,KAAK,QAAQ;AAAA,IACf;AAAA,EACF;AAAA,EAEA,MAAM,MAAM,MAA6C;AACvD,UAAM;AAAA,MACJ,KAAK;AAAA,MACL;AAAA,MACA,CAAC,aAAa,SAAS,QAAQ,iBAAiB,IAAI,CAAC;AAAA,MACrD;AAAA,IACF;AAAA,EACF;AACF;AAEA,eAAe,0BACb,WACA,OACA,UACA,aACe;AACf,QAAM,WAAW,MAAM,mBAAmB,WAAW,QAAQ;AAC7D,MAAI,gBAAgB,WAAW,SAAS,SAAS,GAAG;AAClD,UAAM,IAAI,8BAA8B,OAAO,QAAQ;AAAA,EACzD;AACF;AAEA,eAAe,mBACb,WACA,UACoC;AACpC,QAAM,WAAsC,CAAC;AAC7C,aAAW,SAAS,WAAW;AAC7B,QAAI,MAAM,SAAU;AACpB,UAAM,WAAW;AACjB,QAAI;AACF,YAAM,SAAS,MAAM,QAAQ;AAAA,IAC/B,SAAS,OAAO;AACd,eAAS,KAAK,EAAE,UAAU,MAAM,MAAM,MAAM,CAAC;AAAA,IAC/C;AAAA,EACF;AACA,SAAO;AACT;","names":[]}
|
|
@@ -6,17 +6,17 @@ import {
|
|
|
6
6
|
} from "./chunk-SXE4J43E.js";
|
|
7
7
|
import {
|
|
8
8
|
ToolCallExecutor
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-SC5HSCR3.js";
|
|
10
10
|
import {
|
|
11
11
|
normalizeMemoryScope
|
|
12
12
|
} from "./chunk-LAIATEUB.js";
|
|
13
13
|
import {
|
|
14
14
|
AgentRunMemory
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-TROKS4TY.js";
|
|
16
16
|
import {
|
|
17
17
|
fetchContextDocuments,
|
|
18
18
|
fetchToolDefinitions
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-K6F734I4.js";
|
|
20
20
|
import {
|
|
21
21
|
getInternalAgentRunOptions
|
|
22
22
|
} from "./chunk-7FBSGD6E.js";
|
|
@@ -41,7 +41,7 @@ import {
|
|
|
41
41
|
} from "./chunk-5IURMWFN.js";
|
|
42
42
|
import {
|
|
43
43
|
isQuestionTool
|
|
44
|
-
} from "./chunk-
|
|
44
|
+
} from "./chunk-BX52ILPM.js";
|
|
45
45
|
import {
|
|
46
46
|
ActiveGenerationObservers,
|
|
47
47
|
startAgentRunObservers
|
|
@@ -58,12 +58,26 @@ import {
|
|
|
58
58
|
import {
|
|
59
59
|
runControl
|
|
60
60
|
} from "./chunk-FAPIZJS2.js";
|
|
61
|
+
import {
|
|
62
|
+
runInputGuardrails,
|
|
63
|
+
runOutputGuardrails
|
|
64
|
+
} from "./chunk-VZ5ZZBNX.js";
|
|
65
|
+
import {
|
|
66
|
+
appendGuardrailPolicies,
|
|
67
|
+
hasEnforcedOutputGuardrails
|
|
68
|
+
} from "./chunk-6BTJC3ES.js";
|
|
61
69
|
import {
|
|
62
70
|
getAgentToolState
|
|
63
71
|
} from "./chunk-A7BXVZXZ.js";
|
|
64
72
|
import {
|
|
65
|
-
|
|
66
|
-
} from "./chunk-
|
|
73
|
+
toolMayRequireApproval
|
|
74
|
+
} from "./chunk-YZVFIW5D.js";
|
|
75
|
+
import {
|
|
76
|
+
AgentRunCancelledError,
|
|
77
|
+
AgentStreamClosedError,
|
|
78
|
+
AgentStructuredOutputError,
|
|
79
|
+
MaxTurnsError
|
|
80
|
+
} from "./chunk-WN6AVBO4.js";
|
|
67
81
|
import {
|
|
68
82
|
assertAgentInteractionResponse,
|
|
69
83
|
parseAgentContinuation,
|
|
@@ -76,42 +90,31 @@ import {
|
|
|
76
90
|
import {
|
|
77
91
|
getAgentProviderOutputSchema
|
|
78
92
|
} from "./chunk-GLMYZ6OA.js";
|
|
79
|
-
import {
|
|
80
|
-
runInputGuardrails,
|
|
81
|
-
runOutputGuardrails
|
|
82
|
-
} from "./chunk-VZ5ZZBNX.js";
|
|
83
|
-
import {
|
|
84
|
-
appendGuardrailPolicies,
|
|
85
|
-
hasEnforcedOutputGuardrails
|
|
86
|
-
} from "./chunk-6BTJC3ES.js";
|
|
87
93
|
import {
|
|
88
94
|
isStreamingCompletionModel
|
|
89
|
-
} from "./chunk-
|
|
95
|
+
} from "./chunk-EYBJZ5EU.js";
|
|
90
96
|
import {
|
|
91
97
|
createCompletionRequest
|
|
92
|
-
} from "./chunk-
|
|
98
|
+
} from "./chunk-37IETBS7.js";
|
|
93
99
|
import {
|
|
94
100
|
assertJsonObject
|
|
95
101
|
} from "./chunk-4ONUNWGC.js";
|
|
102
|
+
import {
|
|
103
|
+
parseMessage,
|
|
104
|
+
parseMessages
|
|
105
|
+
} from "./chunk-BONQTXRQ.js";
|
|
96
106
|
import {
|
|
97
107
|
CompletionStreamAccumulator
|
|
98
|
-
} from "./chunk-
|
|
108
|
+
} from "./chunk-3VIMLOWJ.js";
|
|
99
109
|
import {
|
|
100
110
|
assertCompletionResponseIntegrity
|
|
101
111
|
} from "./chunk-XQV3XNVT.js";
|
|
102
|
-
import {
|
|
103
|
-
toolMayRequireApproval
|
|
104
|
-
} from "./chunk-YZVFIW5D.js";
|
|
105
112
|
import {
|
|
106
113
|
Usage,
|
|
107
114
|
assertCompletionRequestSupported,
|
|
108
115
|
getAssistantGenerationMetadata,
|
|
109
116
|
textFromAssistantContent
|
|
110
117
|
} from "./chunk-HJ6KTQTZ.js";
|
|
111
|
-
import {
|
|
112
|
-
parseMessage,
|
|
113
|
-
parseMessages
|
|
114
|
-
} from "./chunk-BONQTXRQ.js";
|
|
115
118
|
import {
|
|
116
119
|
isJsonValue
|
|
117
120
|
} from "./chunk-4C7AXYOM.js";
|
|
@@ -128,11 +131,8 @@ import {
|
|
|
128
131
|
throwIfAborted
|
|
129
132
|
} from "./chunk-USRKPEQN.js";
|
|
130
133
|
import {
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
AgentStructuredOutputError,
|
|
134
|
-
MaxTurnsError
|
|
135
|
-
} from "./chunk-WN6AVBO4.js";
|
|
134
|
+
mergeCompletionControlValues
|
|
135
|
+
} from "./chunk-6RQYWZI3.js";
|
|
136
136
|
|
|
137
137
|
// src/internal/agent-runtime/agent-run.ts
|
|
138
138
|
async function settleFailureCleanup(operations) {
|
|
@@ -2402,4 +2402,4 @@ function observerRunEnd(outcome) {
|
|
|
2402
2402
|
export {
|
|
2403
2403
|
AgentRun
|
|
2404
2404
|
};
|
|
2405
|
-
//# sourceMappingURL=chunk-
|
|
2405
|
+
//# sourceMappingURL=chunk-ETNDP75V.js.map
|
|
@@ -8,10 +8,10 @@ import {
|
|
|
8
8
|
} from "./chunk-6OO5C5GW.js";
|
|
9
9
|
import {
|
|
10
10
|
createCompletionRequest
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-37IETBS7.js";
|
|
12
12
|
import {
|
|
13
13
|
CompletionStreamAccumulator
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-3VIMLOWJ.js";
|
|
15
15
|
import {
|
|
16
16
|
CompletionProviderOutputError,
|
|
17
17
|
assertCompletionResponseIntegrity
|
|
@@ -388,4 +388,4 @@ export {
|
|
|
388
388
|
streamCompletion,
|
|
389
389
|
isStreamingCompletionModel
|
|
390
390
|
};
|
|
391
|
-
//# sourceMappingURL=chunk-
|
|
391
|
+
//# sourceMappingURL=chunk-EYBJZ5EU.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-2NLINXRF.js";
|
|
4
4
|
import {
|
|
5
5
|
createTool
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-Z5WMW4NP.js";
|
|
7
7
|
import {
|
|
8
8
|
abortError,
|
|
9
9
|
throwIfAborted
|
|
@@ -245,4 +245,4 @@ function appendLimited(current, chunk) {
|
|
|
245
245
|
export {
|
|
246
246
|
createSkillTools
|
|
247
247
|
};
|
|
248
|
-
//# sourceMappingURL=chunk-
|
|
248
|
+
//# sourceMappingURL=chunk-GRGD4ZCM.js.map
|
|
@@ -1,28 +1,21 @@
|
|
|
1
1
|
import {
|
|
2
2
|
AgentRun
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-ETNDP75V.js";
|
|
4
4
|
import {
|
|
5
5
|
normalizeMemoryScope
|
|
6
6
|
} from "./chunk-LAIATEUB.js";
|
|
7
7
|
import {
|
|
8
8
|
AgentRunMemory
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-TROKS4TY.js";
|
|
10
10
|
import {
|
|
11
11
|
assertNonnegativeSafeInteger
|
|
12
12
|
} from "./chunk-NPJ2T3L5.js";
|
|
13
|
-
import {
|
|
14
|
-
prepareAgentTools
|
|
15
|
-
} from "./chunk-PNMBJMLB.js";
|
|
16
|
-
import {
|
|
17
|
-
getRegisteredAgentTool,
|
|
18
|
-
registerAgentToolState
|
|
19
|
-
} from "./chunk-A7BXVZXZ.js";
|
|
20
|
-
import {
|
|
21
|
-
registerAgentProviderOutputSchema
|
|
22
|
-
} from "./chunk-GLMYZ6OA.js";
|
|
23
13
|
import {
|
|
24
14
|
resolveAgentOptions
|
|
25
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-I4AOH75W.js";
|
|
16
|
+
import {
|
|
17
|
+
prepareAgentTools
|
|
18
|
+
} from "./chunk-QNNDKCZG.js";
|
|
26
19
|
import {
|
|
27
20
|
cloneFrozenPlainData,
|
|
28
21
|
snapshotAgentContext,
|
|
@@ -31,29 +24,36 @@ import {
|
|
|
31
24
|
snapshotGuardrailPolicies
|
|
32
25
|
} from "./chunk-4PV56T23.js";
|
|
33
26
|
import {
|
|
34
|
-
|
|
35
|
-
|
|
27
|
+
getRegisteredAgentTool,
|
|
28
|
+
registerAgentToolState
|
|
29
|
+
} from "./chunk-A7BXVZXZ.js";
|
|
36
30
|
import {
|
|
37
31
|
createAgentTool
|
|
38
|
-
} from "./chunk-
|
|
39
|
-
import {
|
|
40
|
-
isStreamingCompletionModel
|
|
41
|
-
} from "./chunk-LGPXCJJO.js";
|
|
42
|
-
import {
|
|
43
|
-
assertJsonObject
|
|
44
|
-
} from "./chunk-4ONUNWGC.js";
|
|
32
|
+
} from "./chunk-LZV5RHKG.js";
|
|
45
33
|
import {
|
|
46
34
|
prepareToolCall
|
|
47
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-6YYZ7VJQ.js";
|
|
48
36
|
import {
|
|
49
37
|
ToolNotFoundError
|
|
50
38
|
} from "./chunk-J6S6MT7O.js";
|
|
39
|
+
import {
|
|
40
|
+
normalizeAgentId
|
|
41
|
+
} from "./chunk-KBBQSP4M.js";
|
|
42
|
+
import {
|
|
43
|
+
registerAgentProviderOutputSchema
|
|
44
|
+
} from "./chunk-GLMYZ6OA.js";
|
|
45
|
+
import {
|
|
46
|
+
isStreamingCompletionModel
|
|
47
|
+
} from "./chunk-EYBJZ5EU.js";
|
|
48
|
+
import {
|
|
49
|
+
assertJsonObject
|
|
50
|
+
} from "./chunk-4ONUNWGC.js";
|
|
51
51
|
import {
|
|
52
52
|
assertCompletionControlsSupported
|
|
53
53
|
} from "./chunk-HJ6KTQTZ.js";
|
|
54
54
|
import {
|
|
55
|
-
|
|
56
|
-
} from "./chunk-
|
|
55
|
+
createAgentStream
|
|
56
|
+
} from "./chunk-KY4VXIN2.js";
|
|
57
57
|
|
|
58
58
|
// src/agent/agent.ts
|
|
59
59
|
var DEFAULT_MAX_TURNS = 20;
|
|
@@ -155,4 +155,4 @@ var Agent = class {
|
|
|
155
155
|
export {
|
|
156
156
|
Agent
|
|
157
157
|
};
|
|
158
|
-
//# sourceMappingURL=chunk-
|
|
158
|
+
//# sourceMappingURL=chunk-GV2XETGV.js.map
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
} from "./chunk-6BTJC3ES.js";
|
|
7
7
|
import {
|
|
8
8
|
isToolIndex
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-ZQC5V2AM.js";
|
|
10
10
|
import {
|
|
11
11
|
isMcpTool
|
|
12
12
|
} from "./chunk-PLDJCCVL.js";
|
|
@@ -109,4 +109,4 @@ export {
|
|
|
109
109
|
resolveAgentOptions,
|
|
110
110
|
markResolvedAgentOptions
|
|
111
111
|
};
|
|
112
|
-
//# sourceMappingURL=chunk-
|
|
112
|
+
//# sourceMappingURL=chunk-I4AOH75W.js.map
|