@agentplat/streaming 0.2.0-beta.1 → 0.2.0-beta.2
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 +25 -1
- package/dist/index.d.ts +35 -15
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +137 -5
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -4,7 +4,17 @@ Server-Sent Events helpers for normalized `AgentStreamEvent` streams. The
|
|
|
4
4
|
package depends on Web Standards and small structural Node response types; it
|
|
5
5
|
does not depend on Next.js, Express or Hono.
|
|
6
6
|
|
|
7
|
-
##
|
|
7
|
+
## Next.js App Router
|
|
8
|
+
|
|
9
|
+
```ts
|
|
10
|
+
import { toNextSseResponse } from '@agentplat/streaming';
|
|
11
|
+
|
|
12
|
+
return toNextSseResponse(request, (signal) =>
|
|
13
|
+
session.stream({ input: scenario, signal })
|
|
14
|
+
);
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Web `Response` (Hono and other Fetch-compatible frameworks)
|
|
8
18
|
|
|
9
19
|
```ts
|
|
10
20
|
import { streamToSSE } from '@agentplat/streaming';
|
|
@@ -22,5 +32,19 @@ import { pipeSSE } from '@agentplat/streaming';
|
|
|
22
32
|
await pipeSSE(runtime.stream(agent, input, context), response);
|
|
23
33
|
```
|
|
24
34
|
|
|
35
|
+
## Browser parser
|
|
36
|
+
|
|
37
|
+
```ts
|
|
38
|
+
import type { MultiAgentSessionEvent } from '@agentplat/framework';
|
|
39
|
+
import { parseAgentSseStream } from '@agentplat/streaming';
|
|
40
|
+
|
|
41
|
+
for await (const envelope of parseAgentSseStream<MultiAgentSessionEvent>(
|
|
42
|
+
response.body,
|
|
43
|
+
{ signal }
|
|
44
|
+
)) {
|
|
45
|
+
// Envelope v1 is parsed and its sequence is validated.
|
|
46
|
+
}
|
|
47
|
+
```
|
|
48
|
+
|
|
25
49
|
The wire envelope is versioned and includes a monotonic sequence number. Do
|
|
26
50
|
not send credentials or secrets in runtime stream event payloads.
|
package/dist/index.d.ts
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { AgentStreamEvent } from '@agentplat/runtime';
|
|
1
|
+
import type { AgentStreamEvent, StreamEvent } from '@agentplat/runtime';
|
|
3
2
|
/** Stable version of the public SSE JSON envelope. */
|
|
4
3
|
export declare const AGENTPLAT_SSE_VERSION: 1;
|
|
5
|
-
/**
|
|
6
|
-
|
|
4
|
+
/**
|
|
5
|
+
* JSON body carried in each AgentPlat SSE event.
|
|
6
|
+
*
|
|
7
|
+
* Passing a discriminated event union preserves its event-specific payload
|
|
8
|
+
* types on both the server and browser sides.
|
|
9
|
+
*/
|
|
10
|
+
export type AgentSseEnvelope<TEvent extends StreamEvent = AgentStreamEvent> = TEvent extends StreamEvent ? {
|
|
7
11
|
version: typeof AGENTPLAT_SSE_VERSION;
|
|
8
12
|
sequence: number;
|
|
9
|
-
type:
|
|
10
|
-
|
|
11
|
-
content?: string;
|
|
12
|
-
payload?: JsonObject;
|
|
13
|
-
}
|
|
13
|
+
type: TEvent['type'];
|
|
14
|
+
} & Pick<TEvent, Extract<keyof TEvent, 'runId' | 'content' | 'payload'>> : never;
|
|
14
15
|
/** Shared behavior for Web and Node SSE helpers. */
|
|
15
16
|
export interface AgentSseOptions {
|
|
16
17
|
signal?: AbortSignal;
|
|
@@ -19,6 +20,14 @@ export interface AgentSseOptions {
|
|
|
19
20
|
/** Defaults to false so unexpected adapter details are not sent to clients. */
|
|
20
21
|
exposeErrors?: boolean;
|
|
21
22
|
}
|
|
23
|
+
/** Browser-side parsing and validation behavior. */
|
|
24
|
+
export interface ParseAgentSseOptions<TEvent extends StreamEvent> {
|
|
25
|
+
signal?: AbortSignal;
|
|
26
|
+
/** Defaults to true and requires contiguous sequence numbers starting at 1. */
|
|
27
|
+
strictSequence?: boolean;
|
|
28
|
+
/** Optional event-specific runtime validation after envelope validation. */
|
|
29
|
+
validate?: (envelope: AgentSseEnvelope<TEvent>) => void;
|
|
30
|
+
}
|
|
22
31
|
/** Minimal Node/Express response surface used without a framework dependency. */
|
|
23
32
|
export interface NodeSseResponse {
|
|
24
33
|
setHeader(name: string, value: string): void;
|
|
@@ -27,14 +36,25 @@ export interface NodeSseResponse {
|
|
|
27
36
|
flushHeaders?(): void;
|
|
28
37
|
once?(event: 'drain', listener: () => void): unknown;
|
|
29
38
|
}
|
|
30
|
-
/** Encode one normalized runtime event as a versioned
|
|
31
|
-
export declare function encodeSseEvent(event:
|
|
32
|
-
/** Convert
|
|
33
|
-
export declare function toSseResponse(events: AsyncIterable<
|
|
39
|
+
/** Encode one normalized runtime or orchestration event as a versioned frame. */
|
|
40
|
+
export declare function encodeSseEvent<TEvent extends StreamEvent>(event: TEvent, sequence: number): string;
|
|
41
|
+
/** Convert events to a Fetch-compatible streaming SSE response. */
|
|
42
|
+
export declare function toSseResponse<TEvent extends StreamEvent>(events: AsyncIterable<TEvent>, options?: AgentSseOptions): Response;
|
|
34
43
|
/** Alias with the spelling commonly used in web framework examples. */
|
|
35
44
|
export declare const streamToSSE: typeof toSseResponse;
|
|
36
|
-
/**
|
|
37
|
-
|
|
45
|
+
/**
|
|
46
|
+
* Next.js App Router helper that shares `request.signal` with event creation
|
|
47
|
+
* and SSE transport cancellation, making model abort propagation explicit.
|
|
48
|
+
*/
|
|
49
|
+
export declare function toNextSseResponse<TEvent extends StreamEvent>(request: Request, createEvents: (signal: AbortSignal) => AsyncIterable<TEvent>, options?: Omit<AgentSseOptions, 'signal'>): Response;
|
|
50
|
+
/** Pipe events to an Express-compatible Node response. */
|
|
51
|
+
export declare function pipeSse<TEvent extends StreamEvent>(events: AsyncIterable<TEvent>, response: NodeSseResponse, options?: AgentSseOptions): Promise<void>;
|
|
38
52
|
/** Alias with the spelling commonly used in Express examples. */
|
|
39
53
|
export declare const pipeSSE: typeof pipeSse;
|
|
54
|
+
/**
|
|
55
|
+
* Parse a Fetch response body into validated, typed AgentPlat SSE envelopes.
|
|
56
|
+
* Frames split across arbitrary network chunks and multi-line data fields are
|
|
57
|
+
* handled without framework-specific browser code.
|
|
58
|
+
*/
|
|
59
|
+
export declare function parseAgentSseStream<TEvent extends StreamEvent = AgentStreamEvent>(readable: ReadableStream<Uint8Array>, options?: ParseAgentSseOptions<TEvent>): AsyncIterable<AgentSseEnvelope<TEvent>>;
|
|
40
60
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAExE,sDAAsD;AACtD,eAAO,MAAM,qBAAqB,EAAG,CAAU,CAAC;AAEhD;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,CAAC,MAAM,SAAS,WAAW,GAAG,gBAAgB,IACxE,MAAM,SAAS,WAAW,GACtB;IACE,OAAO,EAAE,OAAO,qBAAqB,CAAC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;CACtB,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC,CAAC,GACxE,KAAK,CAAC;AAEZ,oDAAoD;AACpD,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,+EAA+E;IAC/E,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,oDAAoD;AACpD,MAAM,WAAW,oBAAoB,CAAC,MAAM,SAAS,WAAW;IAC9D,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,+EAA+E;IAC/E,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;CACzD;AAED,iFAAiF;AACjF,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7C,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B,GAAG,IAAI,IAAI,CAAC;IACZ,YAAY,CAAC,IAAI,IAAI,CAAC;IACtB,IAAI,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC;CACtD;AAED,iFAAiF;AACjF,wBAAgB,cAAc,CAAC,MAAM,SAAS,WAAW,EACvD,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GACf,MAAM,CAcR;AAED,mEAAmE;AACnE,wBAAgB,aAAa,CAAC,MAAM,SAAS,WAAW,EACtD,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,EAC7B,OAAO,GAAE,eAAoB,GAC5B,QAAQ,CA8DV;AAED,uEAAuE;AACvE,eAAO,MAAM,WAAW,sBAAgB,CAAC;AAEzC;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,SAAS,WAAW,EAC1D,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,aAAa,CAAC,MAAM,CAAC,EAC5D,OAAO,GAAE,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAM,GAC5C,QAAQ,CAKV;AAED,0DAA0D;AAC1D,wBAAsB,OAAO,CAAC,MAAM,SAAS,WAAW,EACtD,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,EAC7B,QAAQ,EAAE,eAAe,EACzB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,IAAI,CAAC,CA2Bf;AAED,iEAAiE;AACjE,eAAO,MAAM,OAAO,gBAAU,CAAC;AAE/B;;;;GAIG;AACH,wBAAuB,mBAAmB,CACxC,MAAM,SAAS,WAAW,GAAG,gBAAgB,EAE7C,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,EACpC,OAAO,GAAE,oBAAoB,CAAC,MAAM,CAAM,GACzC,aAAa,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAwDzC"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/** Stable version of the public SSE JSON envelope. */
|
|
2
2
|
export const AGENTPLAT_SSE_VERSION = 1;
|
|
3
|
-
/** Encode one normalized runtime event as a versioned
|
|
3
|
+
/** Encode one normalized runtime or orchestration event as a versioned frame. */
|
|
4
4
|
export function encodeSseEvent(event, sequence) {
|
|
5
5
|
if (!Number.isInteger(sequence) || sequence < 1) {
|
|
6
6
|
throw new TypeError('SSE sequence must be a positive integer');
|
|
@@ -16,7 +16,7 @@ export function encodeSseEvent(event, sequence) {
|
|
|
16
16
|
const id = `${event.runId ?? 'stream'}:${sequence}`;
|
|
17
17
|
return `id: ${id}\nevent: agentplat.${event.type}\ndata: ${JSON.stringify(envelope)}\n\n`;
|
|
18
18
|
}
|
|
19
|
-
/** Convert
|
|
19
|
+
/** Convert events to a Fetch-compatible streaming SSE response. */
|
|
20
20
|
export function toSseResponse(events, options = {}) {
|
|
21
21
|
const iterator = events[Symbol.asyncIterator]();
|
|
22
22
|
const encoder = new TextEncoder();
|
|
@@ -40,6 +40,14 @@ export function toSseResponse(events, options = {}) {
|
|
|
40
40
|
}
|
|
41
41
|
try {
|
|
42
42
|
const next = await iterator.next();
|
|
43
|
+
if (closed)
|
|
44
|
+
return;
|
|
45
|
+
if (options.signal?.aborted) {
|
|
46
|
+
closed = true;
|
|
47
|
+
await iterator.return?.();
|
|
48
|
+
controller.close();
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
43
51
|
if (next.done) {
|
|
44
52
|
closed = true;
|
|
45
53
|
controller.close();
|
|
@@ -49,7 +57,7 @@ export function toSseResponse(events, options = {}) {
|
|
|
49
57
|
controller.enqueue(encoder.encode(encodeSseEvent(next.value, ++sequence)));
|
|
50
58
|
}
|
|
51
59
|
catch (error) {
|
|
52
|
-
if (!closed && !options.signal?.aborted && lastType
|
|
60
|
+
if (!closed && !options.signal?.aborted && !isFailureType(lastType)) {
|
|
53
61
|
controller.enqueue(encoder.encode(encodeSseEvent(errorEvent(error, options.exposeErrors), ++sequence)));
|
|
54
62
|
}
|
|
55
63
|
closed = true;
|
|
@@ -67,7 +75,17 @@ export function toSseResponse(events, options = {}) {
|
|
|
67
75
|
}
|
|
68
76
|
/** Alias with the spelling commonly used in web framework examples. */
|
|
69
77
|
export const streamToSSE = toSseResponse;
|
|
70
|
-
/**
|
|
78
|
+
/**
|
|
79
|
+
* Next.js App Router helper that shares `request.signal` with event creation
|
|
80
|
+
* and SSE transport cancellation, making model abort propagation explicit.
|
|
81
|
+
*/
|
|
82
|
+
export function toNextSseResponse(request, createEvents, options = {}) {
|
|
83
|
+
return toSseResponse(createEvents(request.signal), {
|
|
84
|
+
...options,
|
|
85
|
+
signal: request.signal,
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
/** Pipe events to an Express-compatible Node response. */
|
|
71
89
|
export async function pipeSse(events, response, options = {}) {
|
|
72
90
|
for (const [name, value] of sseHeaders(options.headers)) {
|
|
73
91
|
response.setHeader(name, value);
|
|
@@ -87,7 +105,7 @@ export async function pipeSse(events, response, options = {}) {
|
|
|
87
105
|
}
|
|
88
106
|
}
|
|
89
107
|
catch (error) {
|
|
90
|
-
if (!options.signal?.aborted && lastType
|
|
108
|
+
if (!options.signal?.aborted && !isFailureType(lastType)) {
|
|
91
109
|
await write(response, encodeSseEvent(errorEvent(error, options.exposeErrors), ++sequence));
|
|
92
110
|
}
|
|
93
111
|
}
|
|
@@ -97,6 +115,114 @@ export async function pipeSse(events, response, options = {}) {
|
|
|
97
115
|
}
|
|
98
116
|
/** Alias with the spelling commonly used in Express examples. */
|
|
99
117
|
export const pipeSSE = pipeSse;
|
|
118
|
+
/**
|
|
119
|
+
* Parse a Fetch response body into validated, typed AgentPlat SSE envelopes.
|
|
120
|
+
* Frames split across arbitrary network chunks and multi-line data fields are
|
|
121
|
+
* handled without framework-specific browser code.
|
|
122
|
+
*/
|
|
123
|
+
export async function* parseAgentSseStream(readable, options = {}) {
|
|
124
|
+
const reader = readable.getReader();
|
|
125
|
+
const decoder = new TextDecoder();
|
|
126
|
+
let buffer = '';
|
|
127
|
+
let expectedSequence = 1;
|
|
128
|
+
const onAbort = () => {
|
|
129
|
+
void reader.cancel(options.signal?.reason);
|
|
130
|
+
};
|
|
131
|
+
options.signal?.addEventListener('abort', onAbort, { once: true });
|
|
132
|
+
try {
|
|
133
|
+
if (options.signal?.aborted) {
|
|
134
|
+
await reader.cancel(options.signal.reason);
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
while (true) {
|
|
138
|
+
if (options.signal?.aborted)
|
|
139
|
+
return;
|
|
140
|
+
const { done, value } = await reader.read();
|
|
141
|
+
if (options.signal?.aborted)
|
|
142
|
+
return;
|
|
143
|
+
if (done) {
|
|
144
|
+
buffer += decoder.decode();
|
|
145
|
+
break;
|
|
146
|
+
}
|
|
147
|
+
buffer += decoder.decode(value, { stream: true });
|
|
148
|
+
let extracted = extractFrame(buffer);
|
|
149
|
+
while (extracted) {
|
|
150
|
+
buffer = extracted.rest;
|
|
151
|
+
const envelope = parseFrame(extracted.frame);
|
|
152
|
+
if (envelope) {
|
|
153
|
+
expectedSequence = validateSequence(envelope.sequence, expectedSequence, options.strictSequence ?? true);
|
|
154
|
+
options.validate?.(envelope);
|
|
155
|
+
yield envelope;
|
|
156
|
+
}
|
|
157
|
+
extracted = extractFrame(buffer);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
if (buffer.trim()) {
|
|
161
|
+
const envelope = parseFrame(buffer);
|
|
162
|
+
if (envelope) {
|
|
163
|
+
validateSequence(envelope.sequence, expectedSequence, options.strictSequence ?? true);
|
|
164
|
+
options.validate?.(envelope);
|
|
165
|
+
yield envelope;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
finally {
|
|
170
|
+
options.signal?.removeEventListener('abort', onAbort);
|
|
171
|
+
reader.releaseLock();
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
function parseFrame(frame) {
|
|
175
|
+
const data = frame
|
|
176
|
+
.split(/\r?\n/)
|
|
177
|
+
.filter((line) => line.startsWith('data:'))
|
|
178
|
+
.map((line) => line.slice(5).replace(/^ /, ''));
|
|
179
|
+
if (data.length === 0)
|
|
180
|
+
return undefined;
|
|
181
|
+
let parsed;
|
|
182
|
+
try {
|
|
183
|
+
parsed = JSON.parse(data.join('\n'));
|
|
184
|
+
}
|
|
185
|
+
catch {
|
|
186
|
+
throw new TypeError('Invalid JSON in AgentPlat SSE data');
|
|
187
|
+
}
|
|
188
|
+
if (!isObject(parsed)) {
|
|
189
|
+
throw new TypeError('AgentPlat SSE data must be an object');
|
|
190
|
+
}
|
|
191
|
+
if (parsed.version !== AGENTPLAT_SSE_VERSION) {
|
|
192
|
+
throw new TypeError(`Unsupported AgentPlat SSE version: ${parsed.version}`);
|
|
193
|
+
}
|
|
194
|
+
if (!Number.isInteger(parsed.sequence) || Number(parsed.sequence) < 1) {
|
|
195
|
+
throw new TypeError('AgentPlat SSE sequence must be a positive integer');
|
|
196
|
+
}
|
|
197
|
+
if (typeof parsed.type !== 'string' || !parsed.type) {
|
|
198
|
+
throw new TypeError('AgentPlat SSE event type is required');
|
|
199
|
+
}
|
|
200
|
+
if (parsed.runId !== undefined && typeof parsed.runId !== 'string') {
|
|
201
|
+
throw new TypeError('AgentPlat SSE runId must be a string');
|
|
202
|
+
}
|
|
203
|
+
if (parsed.content !== undefined && typeof parsed.content !== 'string') {
|
|
204
|
+
throw new TypeError('AgentPlat SSE content must be a string');
|
|
205
|
+
}
|
|
206
|
+
if (parsed.payload !== undefined && !isObject(parsed.payload)) {
|
|
207
|
+
throw new TypeError('AgentPlat SSE payload must be an object');
|
|
208
|
+
}
|
|
209
|
+
return parsed;
|
|
210
|
+
}
|
|
211
|
+
function extractFrame(buffer) {
|
|
212
|
+
const boundary = /\r?\n\r?\n/.exec(buffer);
|
|
213
|
+
if (!boundary || boundary.index === undefined)
|
|
214
|
+
return undefined;
|
|
215
|
+
return {
|
|
216
|
+
frame: buffer.slice(0, boundary.index),
|
|
217
|
+
rest: buffer.slice(boundary.index + boundary[0].length),
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
function validateSequence(sequence, expected, strict) {
|
|
221
|
+
if (strict && sequence !== expected) {
|
|
222
|
+
throw new TypeError(`Unexpected AgentPlat SSE sequence ${sequence}; expected ${expected}`);
|
|
223
|
+
}
|
|
224
|
+
return sequence + 1;
|
|
225
|
+
}
|
|
100
226
|
function sseHeaders(additional) {
|
|
101
227
|
const headers = new Headers(additional);
|
|
102
228
|
headers.set('Content-Type', 'text/event-stream; charset=utf-8');
|
|
@@ -117,6 +243,12 @@ function errorEvent(error, exposeErrors = false) {
|
|
|
117
243
|
content: exposeErrors && error instanceof Error ? error.message : 'Stream failed',
|
|
118
244
|
};
|
|
119
245
|
}
|
|
246
|
+
function isFailureType(type) {
|
|
247
|
+
return type === 'failed' || type?.endsWith('_failed') === true;
|
|
248
|
+
}
|
|
249
|
+
function isObject(value) {
|
|
250
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
251
|
+
}
|
|
120
252
|
async function write(response, chunk) {
|
|
121
253
|
if (response.write(chunk) || !response.once)
|
|
122
254
|
return;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,sDAAsD;AACtD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agentplat/streaming",
|
|
3
|
-
"version": "0.2.0-beta.
|
|
3
|
+
"version": "0.2.0-beta.2",
|
|
4
4
|
"description": "Framework-neutral SSE helpers for AgentPlat runtime streams.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
"README.md"
|
|
19
19
|
],
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@agentplat/core": "^0.2.0-beta.
|
|
22
|
-
"@agentplat/runtime": "^0.2.0-beta.
|
|
21
|
+
"@agentplat/core": "^0.2.0-beta.2",
|
|
22
|
+
"@agentplat/runtime": "^0.2.0-beta.2"
|
|
23
23
|
},
|
|
24
24
|
"publishConfig": {
|
|
25
25
|
"access": "public"
|