@zhivex-ai/core 0.17.0 → 0.19.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.
Files changed (83) hide show
  1. package/dist/agent-handoff.d.ts +2 -0
  2. package/dist/agent-handoff.d.ts.map +1 -1
  3. package/dist/agent-handoff.js +8 -3
  4. package/dist/agent-handoff.js.map +1 -1
  5. package/dist/agent-state.d.ts +6 -0
  6. package/dist/agent-state.d.ts.map +1 -0
  7. package/dist/agent-state.js +374 -0
  8. package/dist/agent-state.js.map +1 -0
  9. package/dist/agent-store.d.ts +5 -3
  10. package/dist/agent-store.d.ts.map +1 -1
  11. package/dist/agent-store.js +1027 -145
  12. package/dist/agent-store.js.map +1 -1
  13. package/dist/agent.d.ts +1 -0
  14. package/dist/agent.d.ts.map +1 -1
  15. package/dist/agent.js +698 -229
  16. package/dist/agent.js.map +1 -1
  17. package/dist/api-stability.d.ts.map +1 -1
  18. package/dist/api-stability.js +10 -0
  19. package/dist/api-stability.js.map +1 -1
  20. package/dist/artifact.d.ts.map +1 -1
  21. package/dist/artifact.js +2 -1
  22. package/dist/artifact.js.map +1 -1
  23. package/dist/audio.d.ts +2 -1
  24. package/dist/audio.d.ts.map +1 -1
  25. package/dist/audio.js +25 -0
  26. package/dist/audio.js.map +1 -1
  27. package/dist/bounded-broadcast.d.ts +45 -0
  28. package/dist/bounded-broadcast.d.ts.map +1 -0
  29. package/dist/bounded-broadcast.js +163 -0
  30. package/dist/bounded-broadcast.js.map +1 -0
  31. package/dist/catalog.d.ts.map +1 -1
  32. package/dist/catalog.js +119 -14
  33. package/dist/catalog.js.map +1 -1
  34. package/dist/generate-object.d.ts.map +1 -1
  35. package/dist/generate-object.js +26 -88
  36. package/dist/generate-object.js.map +1 -1
  37. package/dist/generate-text.d.ts +9 -1
  38. package/dist/generate-text.d.ts.map +1 -1
  39. package/dist/generate-text.js +118 -55
  40. package/dist/generate-text.js.map +1 -1
  41. package/dist/google.d.ts +12 -1
  42. package/dist/google.d.ts.map +1 -1
  43. package/dist/google.js +27 -0
  44. package/dist/google.js.map +1 -1
  45. package/dist/index.d.ts +6 -4
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +4 -3
  48. package/dist/index.js.map +1 -1
  49. package/dist/live-agent.d.ts.map +1 -1
  50. package/dist/live-agent.js +31 -54
  51. package/dist/live-agent.js.map +1 -1
  52. package/dist/messages.d.ts +4 -1
  53. package/dist/messages.d.ts.map +1 -1
  54. package/dist/messages.js.map +1 -1
  55. package/dist/realtime.d.ts.map +1 -1
  56. package/dist/realtime.js +39 -55
  57. package/dist/realtime.js.map +1 -1
  58. package/dist/response.js +1 -1
  59. package/dist/response.js.map +1 -1
  60. package/dist/runner.d.ts.map +1 -1
  61. package/dist/runner.js +2 -1
  62. package/dist/runner.js.map +1 -1
  63. package/dist/safety-policy.d.ts +41 -1
  64. package/dist/safety-policy.d.ts.map +1 -1
  65. package/dist/safety-policy.js +114 -8
  66. package/dist/safety-policy.js.map +1 -1
  67. package/dist/secure-id.d.ts +2 -0
  68. package/dist/secure-id.d.ts.map +1 -0
  69. package/dist/secure-id.js +3 -0
  70. package/dist/secure-id.js.map +1 -0
  71. package/dist/types.d.ts +289 -8
  72. package/dist/types.d.ts.map +1 -1
  73. package/dist/ui.d.ts.map +1 -1
  74. package/dist/ui.js +2 -1
  75. package/dist/ui.js.map +1 -1
  76. package/dist/workflow.d.ts.map +1 -1
  77. package/dist/workflow.js +2 -1
  78. package/dist/workflow.js.map +1 -1
  79. package/package.json +1 -1
  80. package/dist/durable-store-migration.d.ts +0 -26
  81. package/dist/durable-store-migration.d.ts.map +0 -1
  82. package/dist/durable-store-migration.js +0 -158
  83. package/dist/durable-store-migration.js.map +0 -1
package/dist/audio.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"audio.js","sourceRoot":"","sources":["../src/audio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAUvE,MAAM,kBAAkB,GAAG,CAAC,SAAiB,EAAE,EAAE;IAC/C,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;QACtB,MAAM,IAAI,eAAe,CAAC,0CAA0C,CAAC,CAAC;IACxE,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAClC,OAAuC,EACT,EAAE;IAChC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;QAC3C,MAAM,IAAI,uBAAuB,CAC/B,UAAU,OAAO,CAAC,KAAK,CAAC,QAAQ,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAC3F,CAAC;IACJ,CAAC;IAED,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC;QAC5C,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,cAAc,EAAE,OAAO,CAAC,cAAc;KACvC,CAAC,CAAC;IAEH,OAAO;QACL,GAAG,MAAM;QACT,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EACjC,OAAsC,EACf,EAAE;IACzB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;QAC5C,MAAM,IAAI,uBAAuB,CAC/B,UAAU,OAAO,CAAC,KAAK,CAAC,QAAQ,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAC5F,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC;QAChD,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,cAAc,EAAE,OAAO,CAAC,cAAc;KACvC,CAAC,CAAC;IAEH,OAAO;QACL,GAAG,MAAM;QACT,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"audio.js","sourceRoot":"","sources":["../src/audio.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ export declare const DEFAULT_STREAM_REPLAY_LIMIT = 4096;
2
+ export declare const DEFAULT_STREAM_SUBSCRIBER_LIMIT = 256;
3
+ export declare const DEFAULT_STREAM_TERMINAL_LIMIT = 8;
4
+ export declare class StreamBufferOverflowError extends Error {
5
+ readonly limit: number;
6
+ constructor(limit: number);
7
+ }
8
+ export interface BoundedReplayBroadcastOptions {
9
+ maxHistory?: number;
10
+ maxSubscriberQueue?: number;
11
+ maxTerminalHistory?: number;
12
+ }
13
+ export interface PublishOptions {
14
+ replay?: boolean;
15
+ /** Allows a bounded number of lifecycle/finish events beyond replay capacity. */
16
+ terminal?: boolean;
17
+ }
18
+ /**
19
+ * A bounded multicast stream with deterministic replay.
20
+ *
21
+ * Active slow consumers apply backpressure to publishers once their private
22
+ * queue reaches `maxSubscriberQueue`. Retained replay never silently drops an
23
+ * event: exceeding `maxHistory` fails the broadcast and its iterators.
24
+ */
25
+ export declare class BoundedReplayBroadcast<T> {
26
+ private readonly maxHistory;
27
+ private readonly maxSubscriberQueue;
28
+ private readonly maxTerminalHistory;
29
+ private readonly history;
30
+ private readonly subscribers;
31
+ private sequence;
32
+ private terminalHistory;
33
+ private closed;
34
+ private failure;
35
+ constructor(options?: BoundedReplayBroadcastOptions);
36
+ get isClosed(): boolean;
37
+ publish(value: T, options?: PublishOptions): Promise<void>;
38
+ close(): void;
39
+ fail(error: unknown): void;
40
+ stream(accepts?: (value: T) => boolean): AsyncIterable<T>;
41
+ private assertWritable;
42
+ private releaseSpace;
43
+ private releaseAll;
44
+ }
45
+ //# sourceMappingURL=bounded-broadcast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bounded-broadcast.d.ts","sourceRoot":"","sources":["../src/bounded-broadcast.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,2BAA2B,OAAQ,CAAC;AACjD,eAAO,MAAM,+BAA+B,MAAM,CAAC;AACnD,eAAO,MAAM,6BAA6B,IAAI,CAAC;AAE/C,qBAAa,yBAA0B,SAAQ,KAAK;IAClD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;gBAEX,KAAK,EAAE,MAAM;CAK1B;AAcD,MAAM,WAAW,6BAA6B;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,iFAAiF;IACjF,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAUD;;;;;;GAMG;AACH,qBAAa,sBAAsB,CAAC,CAAC;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAS;IAC5C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAS;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IACnD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA4B;IACxD,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAU;gBAEb,OAAO,GAAE,6BAAkC;IAcvD,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAEK,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IA6CpE,KAAK,IAAI,IAAI;IAQb,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAS1B,MAAM,CAAC,OAAO,GAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAoB,GAAG,aAAa,CAAC,CAAC,CAAC;IAkDrE,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,UAAU;CAOnB"}
@@ -0,0 +1,163 @@
1
+ export const DEFAULT_STREAM_REPLAY_LIMIT = 4_096;
2
+ export const DEFAULT_STREAM_SUBSCRIBER_LIMIT = 256;
3
+ export const DEFAULT_STREAM_TERMINAL_LIMIT = 8;
4
+ export class StreamBufferOverflowError extends Error {
5
+ limit;
6
+ constructor(limit) {
7
+ super(`Stream replay buffer exceeded its limit of ${limit} events.`);
8
+ this.name = "StreamBufferOverflowError";
9
+ this.limit = limit;
10
+ }
11
+ }
12
+ const positiveInteger = (value, fallback, name) => {
13
+ const resolved = value ?? fallback;
14
+ if (!Number.isSafeInteger(resolved) || resolved < 1) {
15
+ throw new RangeError(`${name} must be a positive integer.`);
16
+ }
17
+ return resolved;
18
+ };
19
+ /**
20
+ * A bounded multicast stream with deterministic replay.
21
+ *
22
+ * Active slow consumers apply backpressure to publishers once their private
23
+ * queue reaches `maxSubscriberQueue`. Retained replay never silently drops an
24
+ * event: exceeding `maxHistory` fails the broadcast and its iterators.
25
+ */
26
+ export class BoundedReplayBroadcast {
27
+ maxHistory;
28
+ maxSubscriberQueue;
29
+ maxTerminalHistory;
30
+ history = [];
31
+ subscribers = new Set();
32
+ sequence = 0;
33
+ terminalHistory = 0;
34
+ closed = false;
35
+ failure;
36
+ constructor(options = {}) {
37
+ this.maxHistory = positiveInteger(options.maxHistory, DEFAULT_STREAM_REPLAY_LIMIT, "maxHistory");
38
+ this.maxSubscriberQueue = positiveInteger(options.maxSubscriberQueue, DEFAULT_STREAM_SUBSCRIBER_LIMIT, "maxSubscriberQueue");
39
+ this.maxTerminalHistory = positiveInteger(options.maxTerminalHistory, DEFAULT_STREAM_TERMINAL_LIMIT, "maxTerminalHistory");
40
+ }
41
+ get isClosed() {
42
+ return this.closed;
43
+ }
44
+ async publish(value, options = {}) {
45
+ this.assertWritable();
46
+ if (options.replay !== false && !options.terminal && this.history.length - this.terminalHistory >= this.maxHistory) {
47
+ const error = new StreamBufferOverflowError(this.maxHistory);
48
+ this.fail(error);
49
+ throw error;
50
+ }
51
+ if (options.terminal && this.terminalHistory >= this.maxTerminalHistory) {
52
+ const error = new StreamBufferOverflowError(this.maxHistory + this.maxTerminalHistory);
53
+ this.fail(error);
54
+ throw error;
55
+ }
56
+ const item = { sequence: this.sequence, value };
57
+ this.sequence += 1;
58
+ if (options.replay !== false) {
59
+ this.history.push(item);
60
+ if (options.terminal) {
61
+ this.terminalHistory += 1;
62
+ }
63
+ }
64
+ await Promise.all([...this.subscribers].map(async (subscriber) => {
65
+ if (!subscriber.accepts(value)) {
66
+ return;
67
+ }
68
+ while (subscriber.queue.length >= this.maxSubscriberQueue && this.subscribers.has(subscriber)) {
69
+ await new Promise((resolve) => subscriber.spaceWaiters.add(resolve));
70
+ }
71
+ if (!this.subscribers.has(subscriber)) {
72
+ return;
73
+ }
74
+ this.assertWritable();
75
+ subscriber.queue.push(item);
76
+ subscriber.wake?.();
77
+ subscriber.wake = undefined;
78
+ }));
79
+ }
80
+ close() {
81
+ if (this.closed) {
82
+ return;
83
+ }
84
+ this.closed = true;
85
+ this.releaseAll();
86
+ }
87
+ fail(error) {
88
+ if (this.closed) {
89
+ return;
90
+ }
91
+ this.failure = error;
92
+ this.closed = true;
93
+ this.releaseAll();
94
+ }
95
+ stream(accepts = () => true) {
96
+ const self = this;
97
+ return (async function* () {
98
+ const replayThrough = self.sequence;
99
+ const subscriber = {
100
+ accepts,
101
+ queue: [],
102
+ spaceWaiters: new Set()
103
+ };
104
+ if (!self.closed) {
105
+ self.subscribers.add(subscriber);
106
+ }
107
+ try {
108
+ for (const item of self.history) {
109
+ if (item.sequence >= replayThrough) {
110
+ break;
111
+ }
112
+ if (accepts(item.value)) {
113
+ yield item.value;
114
+ }
115
+ }
116
+ while (true) {
117
+ while (subscriber.queue.length) {
118
+ const item = subscriber.queue.shift();
119
+ self.releaseSpace(subscriber);
120
+ yield item.value;
121
+ }
122
+ if (self.closed) {
123
+ if (self.failure !== undefined) {
124
+ throw self.failure;
125
+ }
126
+ return;
127
+ }
128
+ await new Promise((resolve) => {
129
+ subscriber.wake = resolve;
130
+ });
131
+ }
132
+ }
133
+ finally {
134
+ self.subscribers.delete(subscriber);
135
+ subscriber.queue.length = 0;
136
+ subscriber.wake = undefined;
137
+ self.releaseSpace(subscriber);
138
+ }
139
+ })();
140
+ }
141
+ assertWritable() {
142
+ if (this.failure !== undefined) {
143
+ throw this.failure;
144
+ }
145
+ if (this.closed) {
146
+ throw new Error("Cannot publish to a closed stream.");
147
+ }
148
+ }
149
+ releaseSpace(subscriber) {
150
+ for (const resolve of subscriber.spaceWaiters) {
151
+ resolve();
152
+ }
153
+ subscriber.spaceWaiters.clear();
154
+ }
155
+ releaseAll() {
156
+ for (const subscriber of this.subscribers) {
157
+ subscriber.wake?.();
158
+ subscriber.wake = undefined;
159
+ this.releaseSpace(subscriber);
160
+ }
161
+ }
162
+ }
163
+ //# sourceMappingURL=bounded-broadcast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bounded-broadcast.js","sourceRoot":"","sources":["../src/bounded-broadcast.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAEvC,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,cAAc,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,CAAC;CAC7E;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,QAAQ,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAAC;IAClF,IAAI,IAAI,iBAAiB,EAAE,CAAC;CAC7B;AAED,eAAO,MAAM,kBAAkB,GAAI,SAAS,iBAAiB,EAAE,KAAG,YAUhE,CAAC;AAEH,eAAO,MAAM,mBAAmB,cAsO9B,CAAC"}
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAEvC,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,cAAc,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,CAAC;CAC7E;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,QAAQ,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAAC;IAClF,IAAI,IAAI,iBAAiB,EAAE,CAAC;CAC7B;AAED,eAAO,MAAM,kBAAkB,GAAI,SAAS,iBAAiB,EAAE,KAAG,YAUhE,CAAC;AAEH,eAAO,MAAM,mBAAmB,cA+U9B,CAAC"}
package/dist/catalog.js CHANGED
@@ -57,6 +57,9 @@ export const defaultModelCatalog = createModelCatalog([
57
57
  { provider: "openai", modelId: "gpt-5.4", costPer1kTokens: 0.0025, recommendedFor: ["chat", "reasoning", "tools", "vision"] },
58
58
  { provider: "openai", modelId: "gpt-5.4-mini", costPer1kTokens: 0.00075, recommendedFor: ["chat", "tools", "speed", "vision"] },
59
59
  { provider: "openai", modelId: "gpt-4o-mini", costPer1kTokens: 0.0006, recommendedFor: ["chat", "tools", "speed"] },
60
+ { provider: "openai", modelId: "gpt-image-2", recommendedFor: ["vision"] },
61
+ { provider: "openai", modelId: "gpt-realtime-2.1", recommendedFor: ["chat", "tools", "speed", "vision"] },
62
+ { provider: "openai", modelId: "gpt-realtime-2.1-mini", recommendedFor: ["chat", "tools", "speed", "vision"] },
60
63
  {
61
64
  provider: "xai",
62
65
  modelId: "grok-4.5",
@@ -103,7 +106,9 @@ export const defaultModelCatalog = createModelCatalog([
103
106
  provider: "gemini",
104
107
  modelId: "gemini-3.5-flash",
105
108
  aliases: ["gemini-flash-latest"],
106
- costPer1kTokens: 0.0015,
109
+ inputCostPer1kTokens: 0.0015,
110
+ cachedInputCostPer1kTokens: 0.00015,
111
+ outputCostPer1kTokens: 0.009,
107
112
  recommendedFor: ["chat", "reasoning", "speed", "vision", "tools"]
108
113
  },
109
114
  {
@@ -124,7 +129,12 @@ export const defaultModelCatalog = createModelCatalog([
124
129
  {
125
130
  provider: "gemini",
126
131
  modelId: "gemini-3.1-flash-lite",
127
- recommendedFor: ["chat", "speed", "vision"]
132
+ recommendedFor: ["chat", "speed", "vision", "tools"]
133
+ },
134
+ {
135
+ provider: "gemini",
136
+ modelId: "gemini-3.1-flash-lite-image",
137
+ recommendedFor: ["vision", "speed"]
128
138
  },
129
139
  {
130
140
  provider: "gemini",
@@ -178,18 +188,13 @@ export const defaultModelCatalog = createModelCatalog([
178
188
  },
179
189
  {
180
190
  provider: "gemini",
181
- modelId: "imagen-4.0-generate-001",
182
- recommendedFor: ["vision"]
183
- },
184
- {
185
- provider: "gemini",
186
- modelId: "imagen-4.0-fast-generate-001",
191
+ modelId: "veo-3.1-lite-generate-preview",
187
192
  recommendedFor: ["vision", "speed"]
188
193
  },
189
194
  {
190
195
  provider: "gemini",
191
- modelId: "imagen-4.0-ultra-generate-001",
192
- recommendedFor: ["vision"]
196
+ modelId: "gemini-omni-flash-preview",
197
+ recommendedFor: ["vision", "speed"]
193
198
  },
194
199
  {
195
200
  provider: "gemini",
@@ -208,7 +213,9 @@ export const defaultModelCatalog = createModelCatalog([
208
213
  provider: "vertex",
209
214
  modelId: "gemini-3.5-flash",
210
215
  aliases: ["gemini-flash-latest"],
211
- costPer1kTokens: 0.0015,
216
+ inputCostPer1kTokens: 0.0015,
217
+ cachedInputCostPer1kTokens: 0.00015,
218
+ outputCostPer1kTokens: 0.009,
212
219
  recommendedFor: ["chat", "reasoning", "speed", "vision", "tools"]
213
220
  },
214
221
  {
@@ -216,12 +223,93 @@ export const defaultModelCatalog = createModelCatalog([
216
223
  modelId: "gemini-3.5-live-translate-preview",
217
224
  recommendedFor: ["speed"]
218
225
  },
226
+ {
227
+ provider: "vertex",
228
+ modelId: "gemini-3.1-pro-preview",
229
+ recommendedFor: ["chat", "reasoning", "vision", "tools"]
230
+ },
231
+ {
232
+ provider: "vertex",
233
+ modelId: "gemini-3.1-flash-lite",
234
+ recommendedFor: ["chat", "speed", "vision", "tools"]
235
+ },
236
+ {
237
+ provider: "vertex",
238
+ modelId: "gemini-3.1-flash-lite-image",
239
+ recommendedFor: ["vision", "speed"]
240
+ },
241
+ {
242
+ provider: "vertex",
243
+ modelId: "gemini-3.1-flash-image",
244
+ recommendedFor: ["vision", "speed"]
245
+ },
246
+ {
247
+ provider: "vertex",
248
+ modelId: "gemini-3-pro-image",
249
+ recommendedFor: ["vision", "reasoning"]
250
+ },
251
+ {
252
+ provider: "vertex",
253
+ modelId: "gemini-2.5-flash-image",
254
+ recommendedFor: ["vision", "speed"]
255
+ },
256
+ {
257
+ provider: "vertex",
258
+ modelId: "gemini-live-2.5-flash-native-audio",
259
+ recommendedFor: ["speed", "vision", "tools"]
260
+ },
261
+ {
262
+ provider: "vertex",
263
+ modelId: "gemini-3.1-flash-tts-preview",
264
+ recommendedFor: ["speed"]
265
+ },
266
+ {
267
+ provider: "vertex",
268
+ modelId: "gemini-embedding-2",
269
+ recommendedFor: ["vision"]
270
+ },
271
+ {
272
+ provider: "vertex",
273
+ modelId: "veo-3.1-generate-001",
274
+ recommendedFor: ["vision"]
275
+ },
276
+ {
277
+ provider: "vertex",
278
+ modelId: "veo-3.1-fast-generate-001",
279
+ recommendedFor: ["vision", "speed"]
280
+ },
281
+ {
282
+ provider: "vertex",
283
+ modelId: "veo-3.1-lite-generate-001",
284
+ recommendedFor: ["vision", "speed"]
285
+ },
286
+ {
287
+ provider: "vertex",
288
+ modelId: "lyria-002"
289
+ },
219
290
  { provider: "qwen", modelId: "qwen3.7-max", costPer1kTokens: 0.0016, recommendedFor: ["chat", "tools", "reasoning"] },
220
291
  { provider: "qwen", modelId: "qwen3.7-plus", costPer1kTokens: 0.0008, recommendedFor: ["chat", "tools", "reasoning", "vision"] },
221
- { provider: "qwen", modelId: "qwen3.6-flash", costPer1kTokens: 0.0002, recommendedFor: ["chat", "speed", "tools"] },
222
- { provider: "qwen", modelId: "qwen3.5-omni-plus", recommendedFor: ["chat", "vision", "speed"] },
292
+ { provider: "qwen", modelId: "qwen3.6-flash", costPer1kTokens: 0.0002, recommendedFor: ["chat", "speed", "tools", "vision"] },
293
+ { provider: "qwen", modelId: "qwen3.5-omni-plus", recommendedFor: ["chat", "vision", "speed", "tools"] },
294
+ { provider: "qwen", modelId: "qwen3.5-omni-plus-realtime", recommendedFor: ["vision", "speed"] },
295
+ { provider: "qwen", modelId: "qwen3.5-ocr", recommendedFor: ["vision", "speed"] },
296
+ { provider: "qwen", modelId: "tongyi-embedding-vision-plus", recommendedFor: ["vision"] },
297
+ { provider: "qwen", modelId: "qwen3-vl-embedding", recommendedFor: ["vision"] },
298
+ { provider: "qwen", modelId: "qwen3-rerank" },
299
+ { provider: "qwen", modelId: "qwen3-asr-flash", recommendedFor: ["speed"] },
300
+ { provider: "qwen", modelId: "qwen3-tts-flash", recommendedFor: ["speed"] },
223
301
  { provider: "qwen", modelId: "qwen-image-2.0-pro", recommendedFor: ["vision"] },
302
+ { provider: "qwen", modelId: "wan2.7-t2v", recommendedFor: ["vision"] },
224
303
  { provider: "qwen", modelId: "qwen-plus", costPer1kTokens: 0.0008, recommendedFor: ["chat", "tools", "reasoning"] },
304
+ {
305
+ provider: "kimi",
306
+ modelId: "kimi-k3",
307
+ inputCostPer1kTokens: 0.003,
308
+ cachedInputCostPer1kTokens: 0.0003,
309
+ outputCostPer1kTokens: 0.015,
310
+ costPer1kTokens: 0.003,
311
+ recommendedFor: ["chat", "reasoning", "tools", "vision"]
312
+ },
225
313
  {
226
314
  provider: "kimi",
227
315
  modelId: "kimi-k2.7-code",
@@ -232,7 +320,24 @@ export const defaultModelCatalog = createModelCatalog([
232
320
  { provider: "kimi", modelId: "kimi-k2.6", costPer1kTokens: 0.002, recommendedFor: ["chat", "reasoning", "tools", "vision"] },
233
321
  { provider: "kimi", modelId: "kimi-k2.5", costPer1kTokens: 0.002, recommendedFor: ["chat", "reasoning", "tools", "vision"] },
234
322
  { provider: "kimi", modelId: "kimi-k2-0905-preview", costPer1kTokens: 0.002, recommendedFor: ["tools"] },
235
- { provider: "deepseek", modelId: "deepseek-v4-flash", costPer1kTokens: 0.0004, recommendedFor: ["chat", "tools", "reasoning", "speed"] },
323
+ {
324
+ provider: "deepseek",
325
+ modelId: "deepseek-v4-flash",
326
+ inputCostPer1kTokens: 0.00014,
327
+ cachedInputCostPer1kTokens: 0.0000028,
328
+ outputCostPer1kTokens: 0.00028,
329
+ costPer1kTokens: 0.00014,
330
+ recommendedFor: ["chat", "tools", "reasoning", "speed"]
331
+ },
332
+ {
333
+ provider: "deepseek",
334
+ modelId: "deepseek-v4-pro",
335
+ inputCostPer1kTokens: 0.000435,
336
+ cachedInputCostPer1kTokens: 0.000003625,
337
+ outputCostPer1kTokens: 0.00087,
338
+ costPer1kTokens: 0.000435,
339
+ recommendedFor: ["chat", "tools", "reasoning"]
340
+ },
236
341
  { provider: "openrouter", modelId: "openai/gpt-4o-mini", costPer1kTokens: 0.0007, recommendedFor: ["chat", "tools"] },
237
342
  { provider: "bedrock", modelId: "anthropic.claude-3-5-sonnet", costPer1kTokens: 0.003, recommendedFor: ["reasoning"] },
238
343
  { provider: "ollama", modelId: "llama3.2", costPer1kTokens: 0, recommendedFor: ["chat", "speed"] }
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"generate-object.d.ts","sourceRoot":"","sources":["../src/generate-object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAKtC,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EAIpB,kBAAkB,EAEnB,MAAM,YAAY,CAAC;AAyOpB,eAAO,MAAM,cAAc,GAAU,OAAO,SAAS,UAAU,EAC7D,SAAS,qBAAqB,CAAC,OAAO,CAAC,KACtC,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAUvC,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,OAAO,SAAS,UAAU,EAAE,SAAS,qBAAqB,CAAC,OAAO,CAAC,KAAG,kBAAkB,CAAC,OAAO,CA8J5H,CAAC"}
1
+ {"version":3,"file":"generate-object.d.ts","sourceRoot":"","sources":["../src/generate-object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAMtC,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EAIpB,kBAAkB,EAEnB,MAAM,YAAY,CAAC;AAyOpB,eAAO,MAAM,cAAc,GAAU,OAAO,SAAS,UAAU,EAC7D,SAAS,qBAAqB,CAAC,OAAO,CAAC,KACtC,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAUvC,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,OAAO,SAAS,UAAU,EAAE,SAAS,qBAAqB,CAAC,OAAO,CAAC,KAAG,kBAAkB,CAAC,OAAO,CAoF5H,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { BoundedReplayBroadcast } from "./bounded-broadcast.js";
1
2
  import { ParseError, UnsupportedFeatureError, ValidationError } from "./errors.js";
2
3
  import { createTextMessage } from "./messages.js";
3
4
  import { generateText, streamText } from "./generate-text.js";
@@ -198,104 +199,35 @@ export const generateObject = async (options) => {
198
199
  export const streamObject = (options) => {
199
200
  const { objectMode, request } = createObjectOptions(options);
200
201
  const streamResult = streamText(request);
201
- const subscribers = new Set();
202
- const partialSubscribers = new Set();
203
- const history = [];
204
- const partialHistory = [];
205
- let done = false;
206
- let partialDone = false;
207
- const publish = (value) => {
208
- history.push(value);
209
- for (const subscriber of subscribers) {
210
- subscriber(value);
211
- }
212
- if (value.done) {
213
- done = true;
214
- }
215
- };
216
- const publishPartial = (value) => {
217
- partialHistory.push(value);
218
- for (const subscriber of partialSubscribers) {
219
- subscriber(value);
220
- }
221
- if (value.done) {
222
- partialDone = true;
223
- }
224
- };
225
- const createEventStream = async function* () {
226
- let cursor = 0;
227
- while (true) {
228
- while (cursor < history.length) {
229
- const item = history[cursor];
230
- cursor += 1;
231
- if (item.done) {
232
- return;
233
- }
234
- yield item.value;
235
- }
236
- if (done) {
237
- return;
238
- }
239
- await new Promise((resolve) => {
240
- const subscriber = (value) => {
241
- subscribers.delete(subscriber);
242
- resolve(value);
243
- };
244
- subscribers.add(subscriber);
245
- });
246
- }
247
- };
248
- const createPartialStream = async function* () {
249
- let cursor = 0;
250
- while (true) {
251
- while (cursor < partialHistory.length) {
252
- const item = partialHistory[cursor];
253
- cursor += 1;
254
- if (item.done) {
255
- return;
256
- }
257
- yield item.value;
258
- }
259
- if (partialDone) {
260
- return;
261
- }
262
- await new Promise((resolve) => {
263
- const subscriber = (value) => {
264
- partialSubscribers.delete(subscriber);
265
- resolve(value);
266
- };
267
- partialSubscribers.add(subscriber);
268
- });
269
- }
270
- };
202
+ const broadcast = new BoundedReplayBroadcast();
203
+ const partialBroadcast = new BoundedReplayBroadcast();
204
+ const createEventStream = () => broadcast.stream();
205
+ const createPartialStream = () => partialBroadcast.stream();
271
206
  const finalResultPromise = (async () => {
272
207
  let text = "";
273
208
  let lastPartial;
274
209
  let completed = false;
275
210
  for await (const event of streamResult.eventStream) {
276
- publish({ done: false, value: event });
211
+ await broadcast.publish(event);
277
212
  if (event.type !== "text-delta") {
278
213
  continue;
279
214
  }
280
215
  text += event.textDelta;
281
- publish({
282
- done: false,
283
- value: {
284
- type: "object-delta",
285
- textDelta: event.textDelta,
286
- partialText: text
287
- }
216
+ await broadcast.publish({
217
+ type: "object-delta",
218
+ textDelta: event.textDelta,
219
+ partialText: text
288
220
  });
289
221
  const partial = parsePartialObject(text);
290
222
  if (partial !== undefined && !sameJson(partial, lastPartial)) {
291
223
  lastPartial = partial;
292
- publish({ done: false, value: { type: "object-partial", partialObject: partial } });
293
- publishPartial({ done: false, value: partial });
224
+ await broadcast.publish({ type: "object-partial", partialObject: partial });
225
+ await partialBroadcast.publish(partial);
294
226
  if (!completed) {
295
227
  const parsed = options.schema.safeParse(partial);
296
228
  if (parsed.success) {
297
229
  completed = true;
298
- publish({ done: false, value: { type: "object-complete", object: parsed.data } });
230
+ await broadcast.publish({ type: "object-complete", object: parsed.data }, { terminal: true });
299
231
  }
300
232
  }
301
233
  }
@@ -303,20 +235,26 @@ export const streamObject = (options) => {
303
235
  const textResult = await streamResult.collect();
304
236
  const object = parseObject(textResult.text, options.schema);
305
237
  if (!completed) {
306
- publish({ done: false, value: { type: "object-complete", object } });
238
+ await broadcast.publish({ type: "object-complete", object }, { terminal: true });
307
239
  }
308
- publish({ done: true, value: undefined });
309
- publishPartial({ done: true, value: undefined });
240
+ broadcast.close();
241
+ partialBroadcast.close();
310
242
  return {
311
243
  ...textResult,
312
244
  object,
313
245
  objectMode
314
246
  };
315
- })().catch((error) => {
247
+ })().catch(async (error) => {
316
248
  const streamError = error instanceof Error ? error : new Error(String(error));
317
- publish({ done: false, value: { type: "error", error: streamError } });
318
- publish({ done: true, value: undefined });
319
- publishPartial({ done: true, value: undefined });
249
+ if (streamError.name === "StreamBufferOverflowError") {
250
+ broadcast.fail(streamError);
251
+ partialBroadcast.fail(streamError);
252
+ }
253
+ else {
254
+ await broadcast.publish({ type: "error", error: streamError }, { terminal: true });
255
+ broadcast.close();
256
+ partialBroadcast.close();
257
+ }
320
258
  throw error;
321
259
  });
322
260
  return {