@anvia/core 1.5.0 → 1.6.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 +112 -1
- package/dist/agent/agent-tool.js +7 -7
- package/dist/agent/agent.js +25 -25
- package/dist/agent/index.js +29 -29
- package/dist/agent/resolve-options.js +10 -10
- package/dist/agent/resolved-agent.js +26 -26
- package/dist/agent/team/agent-team.js +29 -29
- package/dist/agent/team/index.js +29 -29
- package/dist/agent/tool-catalog.js +9 -9
- package/dist/{chunk-QHGYCYV6.js → chunk-3FIX7GLM.js} +2 -2
- package/dist/{chunk-SIXS4CCU.js → chunk-4IOC4SP6.js} +4 -4
- package/dist/chunk-4IOC4SP6.js.map +1 -0
- package/dist/{chunk-JMMZICU7.js → chunk-4OSA3MMA.js} +39 -5
- package/dist/chunk-4OSA3MMA.js.map +1 -0
- package/dist/{chunk-Y365ABZY.js → chunk-4WSICA6D.js} +2 -2
- package/dist/{chunk-YOLOFTAY.js → chunk-57AUTEQ6.js} +57 -5
- package/dist/chunk-57AUTEQ6.js.map +1 -0
- package/dist/{chunk-647TQE3E.js → chunk-5BO4OTTK.js} +5 -5
- package/dist/{chunk-ZQC6M22O.js → chunk-7LBUXGJI.js} +2 -2
- package/dist/{chunk-FGOVEUVK.js → chunk-7OHHMYRO.js} +2 -2
- package/dist/{chunk-DXW37JLZ.js → chunk-AMPQJMDG.js} +5 -5
- package/dist/{chunk-HAAGSIZH.js → chunk-CB2L2NIQ.js} +2 -2
- package/dist/{chunk-I7YCEQXT.js → chunk-D6FK5ZQR.js} +5 -5
- package/dist/{chunk-B57NNDEF.js → chunk-FTK6YRLN.js} +5 -5
- package/dist/{chunk-T3ZOZEAB.js → chunk-GB4SRUT7.js} +2 -2
- package/dist/{chunk-KX2TRKO2.js → chunk-GNBPXJC6.js} +2 -2
- package/dist/{chunk-AYN34XVW.js → chunk-GRI4EFNG.js} +15 -15
- package/dist/chunk-GRI4EFNG.js.map +1 -0
- package/dist/{chunk-CJKGTEN4.js → chunk-HDL5TXF7.js} +2 -2
- package/dist/{chunk-YMTBHHLQ.js → chunk-HG6ASDNI.js} +3 -3
- package/dist/{chunk-XAVSWLX5.js → chunk-IMSM4HHI.js} +3 -3
- package/dist/{chunk-35GMQS3R.js → chunk-KGVDUYZV.js} +3 -3
- package/dist/{chunk-E44DRLUL.js → chunk-LW6F3IGP.js} +10 -6
- package/dist/chunk-LW6F3IGP.js.map +1 -0
- package/dist/{chunk-UEUSJ3UQ.js → chunk-MJAM7HZB.js} +8 -8
- package/dist/{chunk-2JZV4LUS.js → chunk-MKY7KTZY.js} +3 -13
- package/dist/chunk-MKY7KTZY.js.map +1 -0
- package/dist/{chunk-RFFOL6ON.js → chunk-MWG2PMTE.js} +18 -5
- package/dist/chunk-MWG2PMTE.js.map +1 -0
- package/dist/{chunk-JMNIWUFV.js → chunk-NKSXYOUM.js} +3 -3
- package/dist/{chunk-4VDDYI6P.js → chunk-OBTD3GPY.js} +2 -2
- package/dist/{chunk-GDY2Z2SZ.js → chunk-PFJN5OIQ.js} +2 -2
- package/dist/chunk-PZC5UHIN.js +190 -0
- package/dist/chunk-PZC5UHIN.js.map +1 -0
- package/dist/{chunk-UYODZ7OE.js → chunk-STEAW4JD.js} +2 -2
- package/dist/{chunk-LJGQ6VQB.js → chunk-TD2VYYUT.js} +90 -31
- package/dist/chunk-TD2VYYUT.js.map +1 -0
- package/dist/{chunk-MTJDYC6T.js → chunk-TOJSC4GI.js} +3 -3
- package/dist/{chunk-V5DWNXVH.js → chunk-W2XPREWL.js} +135 -26
- package/dist/chunk-W2XPREWL.js.map +1 -0
- package/dist/chunk-W6V63YPY.js +96 -0
- package/dist/chunk-W6V63YPY.js.map +1 -0
- package/dist/{chunk-F4BOW76L.js → chunk-XQTTPQWA.js} +4 -4
- package/dist/{chunk-HHMLE3TZ.js → chunk-YCTXTOOQ.js} +7 -16
- package/dist/chunk-YCTXTOOQ.js.map +1 -0
- package/dist/{chunk-7TUAAGVR.js → chunk-YKWUFYXT.js} +2 -2
- package/dist/{chunk-5SJBSCG2.js → chunk-YSR6KLCS.js} +8 -2
- package/dist/chunk-YSR6KLCS.js.map +1 -0
- package/dist/{chunk-6E6ABRJ6.js → chunk-ZJ4T7CEX.js} +2 -2
- package/dist/completion/generate-completion.js +3 -3
- package/dist/completion/index.js +3 -3
- package/dist/completion/stream-accumulator.js +1 -1
- package/dist/embeddings/embed.js +1 -1
- package/dist/embeddings/index.js +1 -1
- package/dist/evals/advanced-metrics.js +6 -6
- package/dist/evals/agent-target.js +2 -1
- package/dist/evals/cli.js +6 -6
- package/dist/evals/execution.js +3 -1
- package/dist/evals/index.js +12 -12
- package/dist/evals/judge.js +5 -5
- package/dist/evals/metrics.js +6 -6
- package/dist/evals/runner.js +5 -5
- package/dist/extractor/extractor.js +4 -4
- package/dist/extractor/index.js +4 -4
- package/dist/guardrails/index.js +4 -4
- package/dist/index.js +35 -35
- package/dist/internal/agent-runtime/agent-run.js +21 -21
- package/dist/internal/agent-runtime/continuation-state.js +3 -3
- package/dist/internal/agent-runtime/interaction-suspension.js +3 -3
- package/dist/internal/agent-runtime/memory.js +5 -5
- package/dist/internal/agent-runtime/prepared-tool-call.js +2 -2
- package/dist/internal/agent-runtime/retrieval.js +8 -8
- package/dist/internal/agent-runtime/tool-execution.js +15 -15
- package/dist/internal/agent.js +26 -26
- package/dist/internal/team-runtime/member.js +3 -3
- package/dist/internal/team-runtime/run.js +28 -28
- package/dist/internal/team-runtime/tools.js +4 -4
- package/dist/memory/compaction.js +4 -4
- package/dist/memory/index.js +4 -4
- package/dist/observability/group.js +3 -3
- package/dist/observability/index.js +3 -3
- package/dist/pipeline/index.js +6 -6
- package/dist/pipeline/pipeline.js +6 -6
- package/dist/schema/standard-json-schema.js +1 -1
- package/dist/skills/index.js +13 -13
- package/dist/skills/load.js +13 -13
- package/dist/skills/tools.js +12 -12
- package/dist/streaming/index.d.ts +2 -1
- package/dist/streaming/index.js +2 -1
- package/dist/streaming/readable-stream.js +2 -1
- package/dist/tool/create-tool.js +3 -3
- package/dist/tool/dynamic-tools.js +8 -8
- package/dist/tool/index.js +14 -14
- package/dist/tool/question-tool.js +4 -4
- package/dist/tool/think-tool.js +4 -4
- package/dist/vector-store/index.js +7 -7
- package/dist/vector-store/ingest.js +2 -2
- package/dist/vector-store/retrieve.js +2 -2
- package/package.json +2 -2
- package/dist/chunk-2JZV4LUS.js.map +0 -1
- package/dist/chunk-54ZZJRP2.js +0 -57
- package/dist/chunk-54ZZJRP2.js.map +0 -1
- package/dist/chunk-5SJBSCG2.js.map +0 -1
- package/dist/chunk-AYN34XVW.js.map +0 -1
- package/dist/chunk-E44DRLUL.js.map +0 -1
- package/dist/chunk-HHMLE3TZ.js.map +0 -1
- package/dist/chunk-JMMZICU7.js.map +0 -1
- package/dist/chunk-LJGQ6VQB.js.map +0 -1
- package/dist/chunk-NNEKBZSM.js +0 -66
- package/dist/chunk-NNEKBZSM.js.map +0 -1
- package/dist/chunk-RFFOL6ON.js.map +0 -1
- package/dist/chunk-SIXS4CCU.js.map +0 -1
- package/dist/chunk-V5DWNXVH.js.map +0 -1
- package/dist/chunk-YOLOFTAY.js.map +0 -1
- /package/dist/{chunk-QHGYCYV6.js.map → chunk-3FIX7GLM.js.map} +0 -0
- /package/dist/{chunk-Y365ABZY.js.map → chunk-4WSICA6D.js.map} +0 -0
- /package/dist/{chunk-647TQE3E.js.map → chunk-5BO4OTTK.js.map} +0 -0
- /package/dist/{chunk-ZQC6M22O.js.map → chunk-7LBUXGJI.js.map} +0 -0
- /package/dist/{chunk-FGOVEUVK.js.map → chunk-7OHHMYRO.js.map} +0 -0
- /package/dist/{chunk-DXW37JLZ.js.map → chunk-AMPQJMDG.js.map} +0 -0
- /package/dist/{chunk-HAAGSIZH.js.map → chunk-CB2L2NIQ.js.map} +0 -0
- /package/dist/{chunk-I7YCEQXT.js.map → chunk-D6FK5ZQR.js.map} +0 -0
- /package/dist/{chunk-B57NNDEF.js.map → chunk-FTK6YRLN.js.map} +0 -0
- /package/dist/{chunk-T3ZOZEAB.js.map → chunk-GB4SRUT7.js.map} +0 -0
- /package/dist/{chunk-KX2TRKO2.js.map → chunk-GNBPXJC6.js.map} +0 -0
- /package/dist/{chunk-CJKGTEN4.js.map → chunk-HDL5TXF7.js.map} +0 -0
- /package/dist/{chunk-YMTBHHLQ.js.map → chunk-HG6ASDNI.js.map} +0 -0
- /package/dist/{chunk-XAVSWLX5.js.map → chunk-IMSM4HHI.js.map} +0 -0
- /package/dist/{chunk-35GMQS3R.js.map → chunk-KGVDUYZV.js.map} +0 -0
- /package/dist/{chunk-UEUSJ3UQ.js.map → chunk-MJAM7HZB.js.map} +0 -0
- /package/dist/{chunk-JMNIWUFV.js.map → chunk-NKSXYOUM.js.map} +0 -0
- /package/dist/{chunk-4VDDYI6P.js.map → chunk-OBTD3GPY.js.map} +0 -0
- /package/dist/{chunk-GDY2Z2SZ.js.map → chunk-PFJN5OIQ.js.map} +0 -0
- /package/dist/{chunk-UYODZ7OE.js.map → chunk-STEAW4JD.js.map} +0 -0
- /package/dist/{chunk-MTJDYC6T.js.map → chunk-TOJSC4GI.js.map} +0 -0
- /package/dist/{chunk-F4BOW76L.js.map → chunk-XQTTPQWA.js.map} +0 -0
- /package/dist/{chunk-7TUAAGVR.js.map → chunk-YKWUFYXT.js.map} +0 -0
- /package/dist/{chunk-6E6ABRJ6.js.map → chunk-ZJ4T7CEX.js.map} +0 -0
package/dist/skills/tools.js
CHANGED
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createSkillTools
|
|
3
|
-
} from "../chunk-
|
|
4
|
-
import "../chunk-2NLINXRF.js";
|
|
3
|
+
} from "../chunk-TD2VYYUT.js";
|
|
5
4
|
import "../chunk-JMJFK3A4.js";
|
|
6
5
|
import "../chunk-4AW2633B.js";
|
|
7
|
-
import "../chunk-
|
|
8
|
-
import "../chunk-
|
|
9
|
-
import "../chunk-
|
|
10
|
-
import "../chunk-
|
|
6
|
+
import "../chunk-GB4SRUT7.js";
|
|
7
|
+
import "../chunk-2NLINXRF.js";
|
|
8
|
+
import "../chunk-ZJ4T7CEX.js";
|
|
9
|
+
import "../chunk-XQTTPQWA.js";
|
|
10
|
+
import "../chunk-IMSM4HHI.js";
|
|
11
11
|
import "../chunk-5WLIHNNJ.js";
|
|
12
|
-
import "../chunk-
|
|
12
|
+
import "../chunk-3FIX7GLM.js";
|
|
13
13
|
import "../chunk-ESOFEAYK.js";
|
|
14
|
-
import "../chunk-
|
|
14
|
+
import "../chunk-CB2L2NIQ.js";
|
|
15
15
|
import "../chunk-ERN7P6Q4.js";
|
|
16
16
|
import "../chunk-7F53DOML.js";
|
|
17
|
-
import "../chunk-
|
|
17
|
+
import "../chunk-YCTXTOOQ.js";
|
|
18
18
|
import "../chunk-DU4WA6LQ.js";
|
|
19
19
|
import "../chunk-4FIVU53H.js";
|
|
20
20
|
import "../chunk-KO5NMTAM.js";
|
|
21
21
|
import "../chunk-TFIOU6UR.js";
|
|
22
22
|
import "../chunk-GPVXCY5I.js";
|
|
23
23
|
import "../chunk-5V533R7F.js";
|
|
24
|
-
import "../chunk-
|
|
25
|
-
import "../chunk-
|
|
24
|
+
import "../chunk-4WSICA6D.js";
|
|
25
|
+
import "../chunk-5BO4OTTK.js";
|
|
26
26
|
import "../chunk-YZVFIW5D.js";
|
|
27
|
-
import "../chunk-SCFWN3T2.js";
|
|
28
27
|
import "../chunk-J6S6MT7O.js";
|
|
28
|
+
import "../chunk-SCFWN3T2.js";
|
|
29
29
|
import "../chunk-BONQTXRQ.js";
|
|
30
30
|
import "../chunk-4C7AXYOM.js";
|
|
31
31
|
import "../chunk-SQAAVYJG.js";
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
type ReadableStreamOptions = {
|
|
2
2
|
format?: "jsonl";
|
|
3
|
+
errorSerialization?: "anvia";
|
|
3
4
|
};
|
|
4
|
-
declare function toReadableStream<T>(events: AsyncIterable<T>,
|
|
5
|
+
declare function toReadableStream<T>(events: AsyncIterable<T>, options?: ReadableStreamOptions): ReadableStream<Uint8Array>;
|
|
5
6
|
|
|
6
7
|
export { type ReadableStreamOptions, toReadableStream };
|
package/dist/streaming/index.js
CHANGED
package/dist/tool/create-tool.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createTool
|
|
3
|
-
} from "../chunk-
|
|
4
|
-
import "../chunk-
|
|
3
|
+
} from "../chunk-4WSICA6D.js";
|
|
4
|
+
import "../chunk-5BO4OTTK.js";
|
|
5
5
|
import "../chunk-YZVFIW5D.js";
|
|
6
|
-
import "../chunk-SCFWN3T2.js";
|
|
7
6
|
import "../chunk-J6S6MT7O.js";
|
|
7
|
+
import "../chunk-SCFWN3T2.js";
|
|
8
8
|
import "../chunk-BONQTXRQ.js";
|
|
9
9
|
import "../chunk-4C7AXYOM.js";
|
|
10
10
|
import "../chunk-SQAAVYJG.js";
|
|
@@ -2,26 +2,26 @@ import {
|
|
|
2
2
|
createToolIndex,
|
|
3
3
|
embedTools,
|
|
4
4
|
isToolIndex
|
|
5
|
-
} from "../chunk-
|
|
6
|
-
import "../chunk-
|
|
5
|
+
} from "../chunk-XQTTPQWA.js";
|
|
6
|
+
import "../chunk-IMSM4HHI.js";
|
|
7
7
|
import "../chunk-5WLIHNNJ.js";
|
|
8
|
-
import "../chunk-
|
|
8
|
+
import "../chunk-3FIX7GLM.js";
|
|
9
9
|
import "../chunk-ESOFEAYK.js";
|
|
10
|
-
import "../chunk-
|
|
10
|
+
import "../chunk-CB2L2NIQ.js";
|
|
11
11
|
import "../chunk-ERN7P6Q4.js";
|
|
12
12
|
import "../chunk-7F53DOML.js";
|
|
13
|
-
import "../chunk-
|
|
13
|
+
import "../chunk-YCTXTOOQ.js";
|
|
14
14
|
import "../chunk-DU4WA6LQ.js";
|
|
15
15
|
import "../chunk-4FIVU53H.js";
|
|
16
16
|
import "../chunk-KO5NMTAM.js";
|
|
17
17
|
import "../chunk-TFIOU6UR.js";
|
|
18
18
|
import "../chunk-GPVXCY5I.js";
|
|
19
19
|
import "../chunk-5V533R7F.js";
|
|
20
|
-
import "../chunk-
|
|
21
|
-
import "../chunk-
|
|
20
|
+
import "../chunk-4WSICA6D.js";
|
|
21
|
+
import "../chunk-5BO4OTTK.js";
|
|
22
22
|
import "../chunk-YZVFIW5D.js";
|
|
23
|
-
import "../chunk-SCFWN3T2.js";
|
|
24
23
|
import "../chunk-J6S6MT7O.js";
|
|
24
|
+
import "../chunk-SCFWN3T2.js";
|
|
25
25
|
import "../chunk-BONQTXRQ.js";
|
|
26
26
|
import "../chunk-4C7AXYOM.js";
|
|
27
27
|
import "../chunk-SQAAVYJG.js";
|
package/dist/tool/index.js
CHANGED
|
@@ -5,23 +5,23 @@ import {
|
|
|
5
5
|
import {
|
|
6
6
|
createQuestionTool,
|
|
7
7
|
isQuestionTool
|
|
8
|
-
} from "../chunk-
|
|
8
|
+
} from "../chunk-GB4SRUT7.js";
|
|
9
9
|
import {
|
|
10
10
|
createThinkTool
|
|
11
|
-
} from "../chunk-
|
|
11
|
+
} from "../chunk-ZJ4T7CEX.js";
|
|
12
12
|
import {
|
|
13
13
|
createToolIndex,
|
|
14
14
|
embedTools,
|
|
15
15
|
isToolIndex
|
|
16
|
-
} from "../chunk-
|
|
17
|
-
import "../chunk-
|
|
16
|
+
} from "../chunk-XQTTPQWA.js";
|
|
17
|
+
import "../chunk-IMSM4HHI.js";
|
|
18
18
|
import "../chunk-5WLIHNNJ.js";
|
|
19
|
-
import "../chunk-
|
|
19
|
+
import "../chunk-3FIX7GLM.js";
|
|
20
20
|
import "../chunk-ESOFEAYK.js";
|
|
21
|
-
import "../chunk-
|
|
21
|
+
import "../chunk-CB2L2NIQ.js";
|
|
22
22
|
import "../chunk-ERN7P6Q4.js";
|
|
23
23
|
import "../chunk-7F53DOML.js";
|
|
24
|
-
import "../chunk-
|
|
24
|
+
import "../chunk-YCTXTOOQ.js";
|
|
25
25
|
import "../chunk-DU4WA6LQ.js";
|
|
26
26
|
import "../chunk-4FIVU53H.js";
|
|
27
27
|
import "../chunk-KO5NMTAM.js";
|
|
@@ -30,9 +30,14 @@ import "../chunk-GPVXCY5I.js";
|
|
|
30
30
|
import "../chunk-5V533R7F.js";
|
|
31
31
|
import {
|
|
32
32
|
createTool
|
|
33
|
-
} from "../chunk-
|
|
34
|
-
import "../chunk-
|
|
33
|
+
} from "../chunk-4WSICA6D.js";
|
|
34
|
+
import "../chunk-5BO4OTTK.js";
|
|
35
35
|
import "../chunk-YZVFIW5D.js";
|
|
36
|
+
import {
|
|
37
|
+
ToolCallError,
|
|
38
|
+
ToolJsonError,
|
|
39
|
+
ToolNotFoundError
|
|
40
|
+
} from "../chunk-J6S6MT7O.js";
|
|
36
41
|
import {
|
|
37
42
|
ToolOutput,
|
|
38
43
|
ToolResultSerializationError,
|
|
@@ -40,11 +45,6 @@ import {
|
|
|
40
45
|
parseToolArgs,
|
|
41
46
|
toolResultContentToText
|
|
42
47
|
} from "../chunk-SCFWN3T2.js";
|
|
43
|
-
import {
|
|
44
|
-
ToolCallError,
|
|
45
|
-
ToolJsonError,
|
|
46
|
-
ToolNotFoundError
|
|
47
|
-
} from "../chunk-J6S6MT7O.js";
|
|
48
48
|
import "../chunk-BONQTXRQ.js";
|
|
49
49
|
import "../chunk-4C7AXYOM.js";
|
|
50
50
|
import "../chunk-SQAAVYJG.js";
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createQuestionTool,
|
|
3
3
|
isQuestionTool
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-
|
|
6
|
-
import "../chunk-
|
|
4
|
+
} from "../chunk-GB4SRUT7.js";
|
|
5
|
+
import "../chunk-4WSICA6D.js";
|
|
6
|
+
import "../chunk-5BO4OTTK.js";
|
|
7
7
|
import "../chunk-YZVFIW5D.js";
|
|
8
|
-
import "../chunk-SCFWN3T2.js";
|
|
9
8
|
import "../chunk-J6S6MT7O.js";
|
|
9
|
+
import "../chunk-SCFWN3T2.js";
|
|
10
10
|
import "../chunk-BONQTXRQ.js";
|
|
11
11
|
import "../chunk-4C7AXYOM.js";
|
|
12
12
|
import "../chunk-SQAAVYJG.js";
|
package/dist/tool/think-tool.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createThinkTool
|
|
3
|
-
} from "../chunk-
|
|
4
|
-
import "../chunk-
|
|
5
|
-
import "../chunk-
|
|
3
|
+
} from "../chunk-ZJ4T7CEX.js";
|
|
4
|
+
import "../chunk-4WSICA6D.js";
|
|
5
|
+
import "../chunk-5BO4OTTK.js";
|
|
6
6
|
import "../chunk-YZVFIW5D.js";
|
|
7
|
-
import "../chunk-SCFWN3T2.js";
|
|
8
7
|
import "../chunk-J6S6MT7O.js";
|
|
8
|
+
import "../chunk-SCFWN3T2.js";
|
|
9
9
|
import "../chunk-BONQTXRQ.js";
|
|
10
10
|
import "../chunk-4C7AXYOM.js";
|
|
11
11
|
import "../chunk-SQAAVYJG.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
InMemoryVectorStore,
|
|
3
3
|
createVectorSearchTool
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-IMSM4HHI.js";
|
|
5
5
|
import {
|
|
6
6
|
matchesVectorFilter,
|
|
7
7
|
vectorFilter
|
|
@@ -9,25 +9,25 @@ import {
|
|
|
9
9
|
import {
|
|
10
10
|
ingestVectorDocuments,
|
|
11
11
|
ingestVectorText
|
|
12
|
-
} from "../chunk-
|
|
12
|
+
} from "../chunk-3FIX7GLM.js";
|
|
13
13
|
import "../chunk-ESOFEAYK.js";
|
|
14
14
|
import {
|
|
15
15
|
retrieveDocuments
|
|
16
|
-
} from "../chunk-
|
|
16
|
+
} from "../chunk-CB2L2NIQ.js";
|
|
17
17
|
import "../chunk-ERN7P6Q4.js";
|
|
18
18
|
import "../chunk-7F53DOML.js";
|
|
19
|
-
import "../chunk-
|
|
19
|
+
import "../chunk-YCTXTOOQ.js";
|
|
20
20
|
import "../chunk-DU4WA6LQ.js";
|
|
21
21
|
import "../chunk-4FIVU53H.js";
|
|
22
22
|
import "../chunk-KO5NMTAM.js";
|
|
23
23
|
import "../chunk-TFIOU6UR.js";
|
|
24
24
|
import "../chunk-GPVXCY5I.js";
|
|
25
25
|
import "../chunk-5V533R7F.js";
|
|
26
|
-
import "../chunk-
|
|
27
|
-
import "../chunk-
|
|
26
|
+
import "../chunk-4WSICA6D.js";
|
|
27
|
+
import "../chunk-5BO4OTTK.js";
|
|
28
28
|
import "../chunk-YZVFIW5D.js";
|
|
29
|
-
import "../chunk-SCFWN3T2.js";
|
|
30
29
|
import "../chunk-J6S6MT7O.js";
|
|
30
|
+
import "../chunk-SCFWN3T2.js";
|
|
31
31
|
import "../chunk-BONQTXRQ.js";
|
|
32
32
|
import "../chunk-4C7AXYOM.js";
|
|
33
33
|
import "../chunk-SQAAVYJG.js";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ingestVectorDocuments,
|
|
3
3
|
ingestVectorText
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-3FIX7GLM.js";
|
|
5
5
|
import "../chunk-ERN7P6Q4.js";
|
|
6
6
|
import "../chunk-7F53DOML.js";
|
|
7
|
-
import "../chunk-
|
|
7
|
+
import "../chunk-YCTXTOOQ.js";
|
|
8
8
|
import "../chunk-DU4WA6LQ.js";
|
|
9
9
|
import "../chunk-4FIVU53H.js";
|
|
10
10
|
import "../chunk-KO5NMTAM.js";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
retrieveDocuments
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-CB2L2NIQ.js";
|
|
4
4
|
import "../chunk-ERN7P6Q4.js";
|
|
5
5
|
import "../chunk-7F53DOML.js";
|
|
6
|
-
import "../chunk-
|
|
6
|
+
import "../chunk-YCTXTOOQ.js";
|
|
7
7
|
import "../chunk-DU4WA6LQ.js";
|
|
8
8
|
import "../chunk-4FIVU53H.js";
|
|
9
9
|
import "../chunk-5V533R7F.js";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@anvia/core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.0",
|
|
4
4
|
"description": "Core runtime primitives for context-aware Anvia agents.",
|
|
5
5
|
"author": "anvia",
|
|
6
6
|
"license": "MIT",
|
|
@@ -131,7 +131,7 @@
|
|
|
131
131
|
"tsup": "^8.5.0",
|
|
132
132
|
"typescript": "^5.9.3",
|
|
133
133
|
"valibot": "^1.5.0",
|
|
134
|
-
"vitest": "^4.
|
|
134
|
+
"vitest": "^4.1.11",
|
|
135
135
|
"zod": "^4.6.5"
|
|
136
136
|
},
|
|
137
137
|
"scripts": {
|
|
@@ -1 +0,0 @@
|
|
|
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 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 ...accumulatedResponse,\n usage: finalResponse.usage,\n rawResponse: finalResponse.rawResponse,\n };\n if (finalResponse.finishReason !== undefined) {\n mergedResponse.finishReason = finalResponse.finishReason;\n }\n if (finalResponse.providerFinishReason !== undefined) {\n mergedResponse.providerFinishReason = finalResponse.providerFinishReason;\n }\n if (finalResponse.messageId !== undefined) {\n mergedResponse.messageId = finalResponse.messageId;\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 (accumulatedNonTool.length > 0 && !nonToolPartsEqual(accumulatedNonTool, finalNonTool)) {\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 nonToolPartsEqual(\n accumulated: readonly AssistantContentPart[],\n final: readonly AssistantContentPart[],\n): boolean {\n if (accumulated.length !== final.length) return false;\n if (!isJsonValue(accumulated) || !isJsonValue(final)) return false;\n const unmatched = [...final];\n for (const part of accumulated) {\n const index = unmatched.findIndex((candidate) => jsonValuesEqual(part, candidate));\n if (index < 0) return false;\n unmatched.splice(index, 1);\n }\n return true;\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"]}
|
package/dist/chunk-54ZZJRP2.js
DELETED
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
isJsonValue
|
|
3
|
-
} from "./chunk-4C7AXYOM.js";
|
|
4
|
-
|
|
5
|
-
// src/streaming/readable-stream.ts
|
|
6
|
-
function toReadableStream(events, _options = {}) {
|
|
7
|
-
const encoder = new TextEncoder();
|
|
8
|
-
const iterator = events[Symbol.asyncIterator]();
|
|
9
|
-
return new ReadableStream({
|
|
10
|
-
async pull(controller) {
|
|
11
|
-
try {
|
|
12
|
-
const next = await iterator.next();
|
|
13
|
-
if (next.done === true) {
|
|
14
|
-
controller.close();
|
|
15
|
-
return;
|
|
16
|
-
}
|
|
17
|
-
controller.enqueue(encoder.encode(`${JSON.stringify(next.value)}
|
|
18
|
-
`));
|
|
19
|
-
} catch (error) {
|
|
20
|
-
controller.enqueue(
|
|
21
|
-
encoder.encode(`${JSON.stringify({ type: "error", error: serializeError(error) })}
|
|
22
|
-
`)
|
|
23
|
-
);
|
|
24
|
-
controller.close();
|
|
25
|
-
}
|
|
26
|
-
},
|
|
27
|
-
async cancel() {
|
|
28
|
-
await iterator.return?.();
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
function serializeError(error) {
|
|
33
|
-
if (error instanceof Error) {
|
|
34
|
-
const serialized = {
|
|
35
|
-
name: error.name,
|
|
36
|
-
message: error.message
|
|
37
|
-
};
|
|
38
|
-
const code = error.code;
|
|
39
|
-
if (code !== void 0) {
|
|
40
|
-
serialized.code = code;
|
|
41
|
-
}
|
|
42
|
-
const details = error.details;
|
|
43
|
-
if (details !== void 0) {
|
|
44
|
-
serialized.details = details;
|
|
45
|
-
}
|
|
46
|
-
return serialized;
|
|
47
|
-
}
|
|
48
|
-
if (isJsonValue(error)) {
|
|
49
|
-
return error;
|
|
50
|
-
}
|
|
51
|
-
return { message: String(error) };
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
export {
|
|
55
|
-
toReadableStream
|
|
56
|
-
};
|
|
57
|
-
//# sourceMappingURL=chunk-54ZZJRP2.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/streaming/readable-stream.ts"],"sourcesContent":["import { isJsonValue } from \"../completion/json\";\n\nexport type ReadableStreamOptions = {\n format?: \"jsonl\";\n};\n\nexport function toReadableStream<T>(\n events: AsyncIterable<T>,\n _options: ReadableStreamOptions = {},\n): ReadableStream<Uint8Array> {\n const encoder = new TextEncoder();\n const iterator = events[Symbol.asyncIterator]();\n\n return new ReadableStream<Uint8Array>({\n async pull(controller) {\n try {\n const next = await iterator.next();\n if (next.done === true) {\n controller.close();\n return;\n }\n\n controller.enqueue(encoder.encode(`${JSON.stringify(next.value)}\\n`));\n } catch (error) {\n controller.enqueue(\n encoder.encode(`${JSON.stringify({ type: \"error\", error: serializeError(error) })}\\n`),\n );\n controller.close();\n }\n },\n async cancel() {\n await iterator.return?.();\n },\n });\n}\n\nfunction serializeError(error: unknown): unknown {\n if (error instanceof Error) {\n const serialized: { name: string; message: string; code?: unknown; details?: unknown } = {\n name: error.name,\n message: error.message,\n };\n // Runtime-specific Error subclasses (for example bun:sqlite's SqliteError)\n // can keep diagnostic fields such as `code` on the prototype, where\n // JSON.stringify drops them. Copy well-known diagnostic fields explicitly.\n const code = (error as { code?: unknown }).code;\n if (code !== undefined) {\n serialized.code = code;\n }\n const details = (error as { details?: unknown }).details;\n if (details !== undefined) {\n serialized.details = details;\n }\n return serialized;\n }\n\n if (isJsonValue(error)) {\n return error;\n }\n\n // A thrown non-Error that is not JSON-safe would serialize as `{}` or lose\n // its diagnostics entirely; degrade to a string payload instead.\n return { message: String(error) };\n}\n"],"mappings":";;;;;AAMO,SAAS,iBACd,QACA,WAAkC,CAAC,GACP;AAC5B,QAAM,UAAU,IAAI,YAAY;AAChC,QAAM,WAAW,OAAO,OAAO,aAAa,EAAE;AAE9C,SAAO,IAAI,eAA2B;AAAA,IACpC,MAAM,KAAK,YAAY;AACrB,UAAI;AACF,cAAM,OAAO,MAAM,SAAS,KAAK;AACjC,YAAI,KAAK,SAAS,MAAM;AACtB,qBAAW,MAAM;AACjB;AAAA,QACF;AAEA,mBAAW,QAAQ,QAAQ,OAAO,GAAG,KAAK,UAAU,KAAK,KAAK,CAAC;AAAA,CAAI,CAAC;AAAA,MACtE,SAAS,OAAO;AACd,mBAAW;AAAA,UACT,QAAQ,OAAO,GAAG,KAAK,UAAU,EAAE,MAAM,SAAS,OAAO,eAAe,KAAK,EAAE,CAAC,CAAC;AAAA,CAAI;AAAA,QACvF;AACA,mBAAW,MAAM;AAAA,MACnB;AAAA,IACF;AAAA,IACA,MAAM,SAAS;AACb,YAAM,SAAS,SAAS;AAAA,IAC1B;AAAA,EACF,CAAC;AACH;AAEA,SAAS,eAAe,OAAyB;AAC/C,MAAI,iBAAiB,OAAO;AAC1B,UAAM,aAAmF;AAAA,MACvF,MAAM,MAAM;AAAA,MACZ,SAAS,MAAM;AAAA,IACjB;AAIA,UAAM,OAAQ,MAA6B;AAC3C,QAAI,SAAS,QAAW;AACtB,iBAAW,OAAO;AAAA,IACpB;AACA,UAAM,UAAW,MAAgC;AACjD,QAAI,YAAY,QAAW;AACzB,iBAAW,UAAU;AAAA,IACvB;AACA,WAAO;AAAA,EACT;AAEA,MAAI,YAAY,KAAK,GAAG;AACtB,WAAO;AAAA,EACT;AAIA,SAAO,EAAE,SAAS,OAAO,KAAK,EAAE;AAClC;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/evals/judge.ts"],"sourcesContent":["import type { CompletionModel, JsonObject, Usage } from \"../completion\";\nimport { Usage as UsageValue } from \"../completion\";\nimport { extract } from \"../extractor\";\nimport type { ZodSchema } from \"../schema\";\nimport type { EvalMetadata } from \"./types\";\n\nexport type JudgeResult<T> = {\n data: T;\n usage: Usage;\n};\n\nexport async function runJudge<T>(args: {\n model: CompletionModel;\n schema: ZodSchema<T>;\n instructions: string;\n prompt: string;\n retries: number;\n}): Promise<JudgeResult<T>> {\n const result = await extract({\n model: args.model,\n outputSchema: args.schema,\n instructions: args.instructions,\n text: args.prompt,\n temperature: 0,\n retries: args.retries <= 0 ? undefined : { maxAttempts: Math.trunc(args.retries) + 1 },\n });\n return { data: result.output, usage: result.usage };\n}\n\nexport function addUsage(...values: Usage[]): Usage {\n return values.reduce((total, usage) => UsageValue.add(total, usage), UsageValue.empty());\n}\n\nexport function evaluationMetadata(details: JsonObject, usage: Usage): EvalMetadata {\n const evaluation: JsonObject = {\n ...details,\n usage: usageToJson(usage),\n };\n return { evaluation };\n}\n\nfunction usageToJson(usage: Usage): JsonObject {\n const value: JsonObject = {\n inputTokens: usage.inputTokens,\n outputTokens: usage.outputTokens,\n totalTokens: usage.totalTokens,\n cachedInputTokens: usage.cachedInputTokens,\n cacheCreationInputTokens: usage.cacheCreationInputTokens,\n };\n if (usage.details !== undefined) {\n value.details = { ...usage.details };\n }\n return value;\n}\n"],"mappings":";;;;;;;;AAWA,eAAsB,SAAY,MAMN;AAC1B,QAAM,SAAS,MAAM,QAAQ;AAAA,IAC3B,OAAO,KAAK;AAAA,IACZ,cAAc,KAAK;AAAA,IACnB,cAAc,KAAK;AAAA,IACnB,MAAM,KAAK;AAAA,IACX,aAAa;AAAA,IACb,SAAS,KAAK,WAAW,IAAI,SAAY,EAAE,aAAa,KAAK,MAAM,KAAK,OAAO,IAAI,EAAE;AAAA,EACvF,CAAC;AACD,SAAO,EAAE,MAAM,OAAO,QAAQ,OAAO,OAAO,MAAM;AACpD;AAEO,SAAS,YAAY,QAAwB;AAClD,SAAO,OAAO,OAAO,CAAC,OAAO,UAAU,MAAW,IAAI,OAAO,KAAK,GAAG,MAAW,MAAM,CAAC;AACzF;AAEO,SAAS,mBAAmB,SAAqB,OAA4B;AAClF,QAAM,aAAyB;AAAA,IAC7B,GAAG;AAAA,IACH,OAAO,YAAY,KAAK;AAAA,EAC1B;AACA,SAAO,EAAE,WAAW;AACtB;AAEA,SAAS,YAAY,OAA0B;AAC7C,QAAM,QAAoB;AAAA,IACxB,aAAa,MAAM;AAAA,IACnB,cAAc,MAAM;AAAA,IACpB,aAAa,MAAM;AAAA,IACnB,mBAAmB,MAAM;AAAA,IACzB,0BAA0B,MAAM;AAAA,EAClC;AACA,MAAI,MAAM,YAAY,QAAW;AAC/B,UAAM,UAAU,EAAE,GAAG,MAAM,QAAQ;AAAA,EACrC;AACA,SAAO;AACT;","names":[]}
|