@workflow/world-local 5.0.0-beta.0 → 5.0.0-beta.1

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/dist/index.d.ts CHANGED
@@ -2,7 +2,7 @@ import type { World } from '@workflow/world';
2
2
  import type { Config } from './config.js';
3
3
  import { type DirectHandler } from './queue.js';
4
4
  export { DataDirAccessError, DataDirVersionError, ensureDataDir, initDataDir, type ParsedVersion, parseVersion, } from './init.js';
5
- export { type DirectHandler } from './queue.js';
5
+ export type { DirectHandler } from './queue.js';
6
6
  export type LocalWorld = World & {
7
7
  /** Register a direct in-process handler for a queue prefix, bypassing HTTP. */
8
8
  registerHandler(prefix: '__wkf_step_' | '__wkf_workflow_', handler: DirectHandler): void;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAW1C,OAAO,EAAe,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAM7D,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EACb,WAAW,EACX,KAAK,aAAa,EAClB,YAAY,GACb,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG;IAC/B,+EAA+E;IAC/E,eAAe,CACb,MAAM,EAAE,aAAa,GAAG,iBAAiB,EACzC,OAAO,EAAE,aAAa,GACrB,IAAI,CAAC;IACR,qEAAqE;IACrE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,UAAU,CA8FnE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAW1C,OAAO,EAAe,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAM7D,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EACb,WAAW,EACX,KAAK,aAAa,EAClB,YAAY,GACb,MAAM,WAAW,CAAC;AAEnB,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG;IAC/B,+EAA+E;IAC/E,eAAe,CACb,MAAM,EAAE,aAAa,GAAG,iBAAiB,EACzC,OAAO,EAAE,aAAa,GACrB,IAAI,CAAC;IACR,qEAAqE;IACrE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,UAAU,CA+FnE"}
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { promises as fs } from 'node:fs';
2
2
  import { rm } from 'node:fs/promises';
3
3
  import path from 'node:path';
4
- import { reenqueueActiveRuns } from '@workflow/world';
4
+ import { reenqueueActiveRuns, SPEC_VERSION_CURRENT } from '@workflow/world';
5
5
  import { config } from './config.js';
6
6
  import { clearCreatedFilesCache, deleteJSON, listTaggedFiles, listTaggedFilesByExtension, readJSON, } from './fs.js';
7
7
  import { initDataDir } from './init.js';
@@ -33,6 +33,7 @@ export function createLocalWorld(args) {
33
33
  const queue = createQueue(mergedConfig);
34
34
  const storage = createStorage(mergedConfig.dataDir, tag);
35
35
  return {
36
+ specVersion: SPEC_VERSION_CURRENT,
36
37
  ...queue,
37
38
  ...createStorage(mergedConfig.dataDir, tag),
38
39
  ...instrumentObject('world.streams', {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"steps-storage.d.ts","sourceRoot":"","sources":["../../src/storage/steps-storage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAmB,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAYhE;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,OAAO,CAAC,CAwDlB"}
1
+ {"version":3,"file":"steps-storage.d.ts","sourceRoot":"","sources":["../../src/storage/steps-storage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAmB,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAOhE;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,OAAO,CAAC,CA8ClB"}
@@ -1,7 +1,7 @@
1
1
  import path from 'node:path';
2
2
  import { StepSchema } from '@workflow/world';
3
3
  import { DEFAULT_RESOLVE_DATA_OPTION } from '../config.js';
4
- import { listJSONFiles, paginatedFileSystemQuery, readJSONWithFallback, stripTag, } from '../fs.js';
4
+ import { paginatedFileSystemQuery, readJSONWithFallback } from '../fs.js';
5
5
  import { filterStepData } from './filters.js';
6
6
  import { getObjectCreatedAt } from './helpers.js';
7
7
  /**
@@ -11,14 +11,6 @@ import { getObjectCreatedAt } from './helpers.js';
11
11
  export function createStepsStorage(basedir, tag) {
12
12
  return {
13
13
  get: (async (runId, stepId, params) => {
14
- if (!runId) {
15
- const fileIds = await listJSONFiles(path.join(basedir, 'steps'));
16
- const fileId = fileIds.find((fid) => stripTag(fid).endsWith(`-${stepId}`));
17
- if (!fileId) {
18
- throw new Error(`Step ${stepId} not found`);
19
- }
20
- runId = stripTag(fileId).split('-')[0];
21
- }
22
14
  const compositeKey = `${runId}-${stepId}`;
23
15
  const step = await readJSONWithFallback(basedir, 'steps', compositeKey, StepSchema, tag);
24
16
  if (!step) {
@@ -1 +1 @@
1
- {"version":3,"file":"steps-storage.js","sourceRoot":"","sources":["../../src/storage/steps-storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"steps-storage.js","sourceRoot":"","sources":["../../src/storage/steps-storage.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAe,EACf,GAAY;IAEZ,OAAO;QACL,GAAG,EAAE,CAAC,KAAK,EAAE,KAAa,EAAE,MAAc,EAAE,MAAY,EAAE,EAAE;YAC1D,MAAM,YAAY,GAAG,GAAG,KAAK,IAAI,MAAM,EAAE,CAAC;YAC1C,MAAM,IAAI,GAAG,MAAM,oBAAoB,CACrC,OAAO,EACP,OAAO,EACP,YAAY,EACZ,UAAU,EACV,GAAG,CACJ,CAAC;YACF,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,KAAK,CAAC,QAAQ,MAAM,WAAW,KAAK,YAAY,CAAC,CAAC;YAC9D,CAAC;YACD,MAAM,WAAW,GAAG,MAAM,EAAE,WAAW,IAAI,2BAA2B,CAAC;YACvE,OAAO,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC3C,CAAC,CAA4B;QAE7B,IAAI,EAAE,CAAC,KAAK,EAAE,MAAW,EAAE,EAAE;YAC3B,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,2BAA2B,CAAC;YACtE,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAAC;gBAC5C,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC;gBACtC,MAAM,EAAE,UAAU;gBAClB,UAAU,EAAE,GAAG,MAAM,CAAC,KAAK,GAAG;gBAC9B,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE,SAAS,IAAI,MAAM;gBACjD,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,KAAK;gBAC/B,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM;gBACjC,YAAY,EAAE,kBAAkB,CAAC,MAAM,CAAC;gBACxC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM;aAC7B,CAAC,CAAC;YAEH,gEAAgE;YAChE,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;gBAC3B,OAAO;oBACL,GAAG,MAAM;oBACT,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;wBAC/B,GAAG,IAAI;wBACP,KAAK,EAAE,SAAS;wBAChB,MAAM,EAAE,SAAS;qBAClB,CAAC,CAAsB;iBACzB,CAAC;YACJ,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC,CAA6B;KAC/B,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"streamer.d.ts","sourceRoot":"","sources":["../src/streamer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAGV,QAAQ,EAET,MAAM,iBAAiB,CAAC;AAqBzB;;;;;;GAMG;AACH,MAAM,WAAW,KAAK;IACpB,GAAG,EAAE,OAAO,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,uBAG1C;AAED,kEAAkE;AAClE,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM;;;EAKlD;AAuCD,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,QAAQ,CAudtE"}
1
+ {"version":3,"file":"streamer.d.ts","sourceRoot":"","sources":["../src/streamer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAGV,QAAQ,EAET,MAAM,iBAAiB,CAAC;AAqBzB;;;;;;GAMG;AACH,MAAM,WAAW,KAAK;IACpB,GAAG,EAAE,OAAO,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,uBAG1C;AAED,kEAAkE;AAClE,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM;;;EAKlD;AAuCD,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,QAAQ,CAqdtE"}
package/dist/streamer.js CHANGED
@@ -90,301 +90,302 @@ export function createStreamer(basedir, tag) {
90
90
  }
91
91
  }
92
92
  return {
93
- async writeToStream(name, _runId, chunk) {
94
- // Generate ULID synchronously BEFORE any await to preserve call order.
95
- // This ensures that chunks written in sequence maintain their order even
96
- // when runId is a promise that multiple writes are waiting on.
97
- const chunkId = `chnk_${monotonicUlid()}`;
98
- // Await runId if it's a promise to ensure proper flushing
99
- const runId = await _runId;
100
- // Register this stream for the run
101
- await registerStreamForRun(runId, name);
102
- // Convert chunk to buffer for serialization
103
- const chunkBuffer = toBuffer(chunk);
104
- const serialized = serializeChunk({
105
- chunk: chunkBuffer,
106
- eof: false,
107
- });
108
- const chunkPath = path.join(basedir, 'streams', 'chunks', `${name}-${chunkId}${tagSuffix}.bin`);
109
- await write(chunkPath, serialized);
110
- // Emit real-time event with Uint8Array (create copy to prevent ArrayBuffer detachment)
111
- const chunkData = Uint8Array.from(chunkBuffer);
112
- streamEmitter.emit(`chunk:${name}`, {
113
- streamName: name,
114
- chunkData,
115
- chunkId,
116
- });
117
- },
118
- async writeToStreamMulti(name, _runId, chunks) {
119
- if (chunks.length === 0)
120
- return;
121
- // Generate all ULIDs synchronously BEFORE any await to preserve call order.
122
- // This ensures that chunks maintain their order even when runId is a promise.
123
- const chunkIds = chunks.map(() => `chnk_${monotonicUlid()}`);
124
- // Await runId if it's a promise
125
- const runId = await _runId;
126
- // Register this stream for the run
127
- await registerStreamForRun(runId, name);
128
- // Prepare chunk data for parallel writes
129
- const chunkBuffers = chunks.map((chunk) => toBuffer(chunk));
130
- // Write all chunks in parallel for efficiency, but track individual completion
131
- const writePromises = chunkBuffers.map(async (chunkBuffer, i) => {
132
- const chunkId = chunkIds[i];
93
+ streams: {
94
+ async write(_runId, name, chunk) {
95
+ // Generate ULID synchronously BEFORE any await to preserve call order.
96
+ // This ensures that chunks written in sequence maintain their order even
97
+ // when runId is a promise that multiple writes are waiting on.
98
+ const chunkId = `chnk_${monotonicUlid()}`;
99
+ // Await runId if it's a promise to ensure proper flushing
100
+ const runId = await _runId;
101
+ // Register this stream for the run
102
+ await registerStreamForRun(runId, name);
103
+ // Convert chunk to buffer for serialization
104
+ const chunkBuffer = toBuffer(chunk);
133
105
  const serialized = serializeChunk({
134
106
  chunk: chunkBuffer,
135
107
  eof: false,
136
108
  });
137
109
  const chunkPath = path.join(basedir, 'streams', 'chunks', `${name}-${chunkId}${tagSuffix}.bin`);
138
110
  await write(chunkPath, serialized);
139
- // Return data needed for event emission
140
- return {
141
- chunkId,
142
- chunkData: Uint8Array.from(chunkBuffer),
143
- };
144
- });
145
- // Emit events in order, waiting for each chunk's write to complete
146
- // This ensures events are emitted in order while writes happen in parallel
147
- for (const writePromise of writePromises) {
148
- const { chunkId, chunkData } = await writePromise;
111
+ // Emit real-time event with Uint8Array (create copy to prevent ArrayBuffer detachment)
112
+ const chunkData = Uint8Array.from(chunkBuffer);
149
113
  streamEmitter.emit(`chunk:${name}`, {
150
114
  streamName: name,
151
115
  chunkData,
152
116
  chunkId,
153
117
  });
154
- }
155
- },
156
- async closeStream(name, _runId) {
157
- // Generate ULID synchronously BEFORE any await to preserve call order.
158
- const chunkId = `chnk_${monotonicUlid()}`;
159
- // Await runId if it's a promise to ensure proper flushing
160
- const runId = await _runId;
161
- // Register this stream for the run (in case writeToStream wasn't called)
162
- await registerStreamForRun(runId, name);
163
- const chunkPath = path.join(basedir, 'streams', 'chunks', `${name}-${chunkId}${tagSuffix}.bin`);
164
- await write(chunkPath, serializeChunk({ chunk: Buffer.from([]), eof: true }));
165
- streamEmitter.emit(`close:${name}`, { streamName: name });
166
- },
167
- async listStreamsByRunId(runId) {
168
- const data = await readJSONWithFallback(basedir, 'streams/runs', runId, RunStreamsSchema, tag);
169
- return data?.streams ?? [];
170
- },
171
- async getStreamChunks(name, _runId, options) {
172
- const limit = options?.limit ?? 100;
173
- const chunksDir = path.join(basedir, 'streams', 'chunks');
174
- const { files: chunkFiles, extMap: fileExtMap } = await listChunkFilesForStream(chunksDir, name, tag);
175
- // Decode cursor
176
- let startIndex = 0;
177
- if (options?.cursor) {
178
- try {
179
- const decoded = JSON.parse(Buffer.from(options.cursor, 'base64').toString('utf-8'));
180
- startIndex = decoded.i;
118
+ },
119
+ async writeMulti(_runId, name, chunks) {
120
+ if (chunks.length === 0)
121
+ return;
122
+ // Generate all ULIDs synchronously BEFORE any await to preserve call order.
123
+ // This ensures that chunks maintain their order even when runId is a promise.
124
+ const chunkIds = chunks.map(() => `chnk_${monotonicUlid()}`);
125
+ // Await runId if it's a promise
126
+ const runId = await _runId;
127
+ // Register this stream for the run
128
+ await registerStreamForRun(runId, name);
129
+ // Prepare chunk data for parallel writes
130
+ const chunkBuffers = chunks.map((chunk) => toBuffer(chunk));
131
+ // Write all chunks in parallel for efficiency, but track individual completion
132
+ const writePromises = chunkBuffers.map(async (chunkBuffer, i) => {
133
+ const chunkId = chunkIds[i];
134
+ const serialized = serializeChunk({
135
+ chunk: chunkBuffer,
136
+ eof: false,
137
+ });
138
+ const chunkPath = path.join(basedir, 'streams', 'chunks', `${name}-${chunkId}${tagSuffix}.bin`);
139
+ await write(chunkPath, serialized);
140
+ // Return data needed for event emission
141
+ return {
142
+ chunkId,
143
+ chunkData: Uint8Array.from(chunkBuffer),
144
+ };
145
+ });
146
+ // Emit events in order, waiting for each chunk's write to complete
147
+ // This ensures events are emitted in order while writes happen in parallel
148
+ for (const writePromise of writePromises) {
149
+ const { chunkId, chunkData } = await writePromise;
150
+ streamEmitter.emit(`chunk:${name}`, {
151
+ streamName: name,
152
+ chunkData,
153
+ chunkId,
154
+ });
181
155
  }
182
- catch {
183
- startIndex = 0;
156
+ },
157
+ async close(_runId, name) {
158
+ // Generate ULID synchronously BEFORE any await to preserve call order.
159
+ const chunkId = `chnk_${monotonicUlid()}`;
160
+ // Await runId if it's a promise to ensure proper flushing
161
+ const runId = await _runId;
162
+ // Register this stream for the run (in case write wasn't called)
163
+ await registerStreamForRun(runId, name);
164
+ const chunkPath = path.join(basedir, 'streams', 'chunks', `${name}-${chunkId}${tagSuffix}.bin`);
165
+ await write(chunkPath, serializeChunk({ chunk: Buffer.from([]), eof: true }));
166
+ streamEmitter.emit(`close:${name}`, { streamName: name });
167
+ },
168
+ async list(runId) {
169
+ const data = await readJSONWithFallback(basedir, 'streams/runs', runId, RunStreamsSchema, tag);
170
+ return data?.streams ?? [];
171
+ },
172
+ async getChunks(_runId, name, options) {
173
+ const limit = options?.limit ?? 100;
174
+ const chunksDir = path.join(basedir, 'streams', 'chunks');
175
+ const { files: chunkFiles, extMap: fileExtMap } = await listChunkFilesForStream(chunksDir, name, tag);
176
+ // Decode cursor
177
+ let startIndex = 0;
178
+ if (options?.cursor) {
179
+ try {
180
+ const decoded = JSON.parse(Buffer.from(options.cursor, 'base64').toString('utf-8'));
181
+ startIndex = decoded.i;
182
+ }
183
+ catch {
184
+ startIndex = 0;
185
+ }
184
186
  }
185
- }
186
- // Walk from startIndex, reading only the files we need.
187
- // Files before the cursor are skipped entirely.
188
- let streamDone = false;
189
- const resultChunks = [];
190
- let dataIndex = 0; // running count of data (non-EOF) files seen
191
- for (const file of chunkFiles) {
192
- const ext = fileExtMap.get(file) ?? '.bin';
193
- const filePath = path.join(chunksDir, `${file}${ext}`);
194
- // Before the cursor: only need to check EOF (1 byte), skip content
195
- if (dataIndex < startIndex) {
196
- if (isEofChunk(await readBuffer(filePath))) {
187
+ // Walk from startIndex, reading only the files we need.
188
+ // Files before the cursor are skipped entirely.
189
+ let streamDone = false;
190
+ const resultChunks = [];
191
+ let dataIndex = 0; // running count of data (non-EOF) files seen
192
+ for (const file of chunkFiles) {
193
+ const ext = fileExtMap.get(file) ?? '.bin';
194
+ const filePath = path.join(chunksDir, `${file}${ext}`);
195
+ // Before the cursor: only need to check EOF (1 byte), skip content
196
+ if (dataIndex < startIndex) {
197
+ if (isEofChunk(await readBuffer(filePath))) {
198
+ streamDone = true;
199
+ break;
200
+ }
201
+ dataIndex++;
202
+ continue;
203
+ }
204
+ // Collected enough data chunks — peek at the next file for EOF/hasMore
205
+ if (resultChunks.length >= limit) {
206
+ if (isEofChunk(await readBuffer(filePath))) {
207
+ streamDone = true;
208
+ }
209
+ else {
210
+ // More data files exist beyond this page
211
+ dataIndex++;
212
+ }
213
+ break;
214
+ }
215
+ // In the page window: deserialize fully
216
+ const chunk = deserializeChunk(await readBuffer(filePath));
217
+ if (chunk.eof) {
197
218
  streamDone = true;
198
219
  break;
199
220
  }
221
+ resultChunks.push({
222
+ index: dataIndex,
223
+ data: Uint8Array.from(chunk.chunk),
224
+ });
200
225
  dataIndex++;
201
- continue;
202
226
  }
203
- // Collected enough data chunks peek at the next file for EOF/hasMore
204
- if (resultChunks.length >= limit) {
205
- if (isEofChunk(await readBuffer(filePath))) {
227
+ // hasMore = we know there are data files beyond this page
228
+ const hasMore = !streamDone && dataIndex > startIndex + resultChunks.length;
229
+ const nextIndex = startIndex + resultChunks.length;
230
+ const nextCursor = hasMore
231
+ ? Buffer.from(JSON.stringify({ i: nextIndex })).toString('base64')
232
+ : null;
233
+ return {
234
+ data: resultChunks,
235
+ cursor: nextCursor,
236
+ hasMore,
237
+ done: streamDone,
238
+ };
239
+ },
240
+ async getInfo(_runId, name) {
241
+ const chunksDir = path.join(basedir, 'streams', 'chunks');
242
+ const { files: chunkFiles, extMap: fileExtMap } = await listChunkFilesForStream(chunksDir, name, tag);
243
+ // Only read the first byte of each file to check EOF — no full
244
+ // deserialization needed since we just need a count.
245
+ let streamDone = false;
246
+ let dataCount = 0;
247
+ for (const file of chunkFiles) {
248
+ const ext = fileExtMap.get(file) ?? '.bin';
249
+ if (isEofChunk(await readBuffer(path.join(chunksDir, `${file}${ext}`)))) {
206
250
  streamDone = true;
251
+ break;
207
252
  }
208
- else {
209
- // More data files exist beyond this page
210
- dataIndex++;
211
- }
212
- break;
253
+ dataCount++;
213
254
  }
214
- // In the page window: deserialize fully
215
- const chunk = deserializeChunk(await readBuffer(filePath));
216
- if (chunk.eof) {
217
- streamDone = true;
218
- break;
219
- }
220
- resultChunks.push({
221
- index: dataIndex,
222
- data: Uint8Array.from(chunk.chunk),
223
- });
224
- dataIndex++;
225
- }
226
- // hasMore = we know there are data files beyond this page
227
- const hasMore = !streamDone && dataIndex > startIndex + resultChunks.length;
228
- const nextIndex = startIndex + resultChunks.length;
229
- const nextCursor = hasMore
230
- ? Buffer.from(JSON.stringify({ i: nextIndex })).toString('base64')
231
- : null;
232
- return {
233
- data: resultChunks,
234
- cursor: nextCursor,
235
- hasMore,
236
- done: streamDone,
237
- };
238
- },
239
- async getStreamInfo(name, _runId) {
240
- const chunksDir = path.join(basedir, 'streams', 'chunks');
241
- const { files: chunkFiles, extMap: fileExtMap } = await listChunkFilesForStream(chunksDir, name, tag);
242
- // Only read the first byte of each file to check EOF — no full
243
- // deserialization needed since we just need a count.
244
- let streamDone = false;
245
- let dataCount = 0;
246
- for (const file of chunkFiles) {
247
- const ext = fileExtMap.get(file) ?? '.bin';
248
- if (isEofChunk(await readBuffer(path.join(chunksDir, `${file}${ext}`)))) {
249
- streamDone = true;
250
- break;
251
- }
252
- dataCount++;
253
- }
254
- return { tailIndex: dataCount - 1, done: streamDone };
255
- },
256
- async readFromStream(name, startIndex = 0) {
257
- const chunksDir = path.join(basedir, 'streams', 'chunks');
258
- let removeListeners = () => { };
259
- return new ReadableStream({
260
- async start(controller) {
261
- // Track chunks delivered via events to prevent duplicates and maintain order.
262
- const deliveredChunkIds = new Set();
263
- // Buffer for chunks that arrive via events during disk reading
264
- const bufferedEventChunks = [];
265
- let isReadingFromDisk = true;
266
- // Buffer close event if it arrives during disk reading
267
- let pendingClose = false;
268
- const chunkListener = (event) => {
269
- deliveredChunkIds.add(event.chunkId);
270
- // Skip empty chunks to maintain consistency with disk reading behavior
271
- // Empty chunks are not enqueued when read from disk (see line 184-186)
272
- if (event.chunkData.byteLength === 0) {
273
- return;
255
+ return { tailIndex: dataCount - 1, done: streamDone };
256
+ },
257
+ async get(_runId, name, startIndex = 0) {
258
+ const chunksDir = path.join(basedir, 'streams', 'chunks');
259
+ let removeListeners = () => { };
260
+ return new ReadableStream({
261
+ async start(controller) {
262
+ // Track chunks delivered via events to prevent duplicates and maintain order.
263
+ const deliveredChunkIds = new Set();
264
+ // Buffer for chunks that arrive via events during disk reading
265
+ const bufferedEventChunks = [];
266
+ let isReadingFromDisk = true;
267
+ // Buffer close event if it arrives during disk reading
268
+ let pendingClose = false;
269
+ const chunkListener = (event) => {
270
+ deliveredChunkIds.add(event.chunkId);
271
+ // Skip empty chunks to maintain consistency with disk reading behavior
272
+ if (event.chunkData.byteLength === 0) {
273
+ return;
274
+ }
275
+ if (isReadingFromDisk) {
276
+ // Buffer chunks that arrive during disk reading to maintain order
277
+ // Create a copy to prevent ArrayBuffer detachment when enqueued later
278
+ bufferedEventChunks.push({
279
+ chunkId: event.chunkId,
280
+ chunkData: Uint8Array.from(event.chunkData),
281
+ });
282
+ }
283
+ else {
284
+ // After disk reading is complete, deliver chunks immediately
285
+ // Create a copy to prevent ArrayBuffer detachment
286
+ controller.enqueue(Uint8Array.from(event.chunkData));
287
+ }
288
+ };
289
+ const closeListener = () => {
290
+ // Buffer close event if disk reading is still in progress
291
+ if (isReadingFromDisk) {
292
+ pendingClose = true;
293
+ return;
294
+ }
295
+ // Remove listeners before closing
296
+ streamEmitter.off(`chunk:${name}`, chunkListener);
297
+ streamEmitter.off(`close:${name}`, closeListener);
298
+ try {
299
+ controller.close();
300
+ }
301
+ catch {
302
+ // Ignore if controller is already closed (e.g., from cancel() or EOF)
303
+ }
304
+ };
305
+ removeListeners = closeListener;
306
+ // Set up listeners FIRST to avoid missing events
307
+ streamEmitter.on(`chunk:${name}`, chunkListener);
308
+ streamEmitter.on(`close:${name}`, closeListener);
309
+ // Now load existing chunks from disk.
310
+ const { files: chunkFiles, extMap: fileExtMap } = await listChunkFilesForStream(chunksDir, name, tag);
311
+ // Resolve negative startIndex relative to the number of data chunks
312
+ // (excluding the trailing EOF marker chunk, if present).
313
+ let dataChunkCount = chunkFiles.length;
314
+ if (typeof startIndex === 'number' &&
315
+ startIndex < 0 &&
316
+ chunkFiles.length > 0) {
317
+ const lastFile = chunkFiles[chunkFiles.length - 1];
318
+ const lastExt = fileExtMap.get(lastFile) ?? '.bin';
319
+ // Note: this incurs an extra disk read to check the EOF marker.
320
+ // Acceptable since negative startIndex is not a hot path.
321
+ const lastChunk = deserializeChunk(await readBuffer(path.join(chunksDir, `${lastFile}${lastExt}`)));
322
+ if (lastChunk?.eof === true) {
323
+ dataChunkCount--;
324
+ }
274
325
  }
275
- if (isReadingFromDisk) {
276
- // Buffer chunks that arrive during disk reading to maintain order
277
- // Create a copy to prevent ArrayBuffer detachment when enqueued later
278
- bufferedEventChunks.push({
279
- chunkId: event.chunkId,
280
- chunkData: Uint8Array.from(event.chunkData),
281
- });
326
+ const resolvedStartIndex = typeof startIndex === 'number' && startIndex < 0
327
+ ? Math.max(0, dataChunkCount + startIndex)
328
+ : startIndex;
329
+ // Process existing chunks, skipping any already delivered via events
330
+ let isComplete = false;
331
+ for (let i = resolvedStartIndex; i < chunkFiles.length; i++) {
332
+ const file = chunkFiles[i];
333
+ // Extract chunk ID from filename: "streamName-chunkId" or "streamName-chunkId.tag"
334
+ const rawChunkId = file.substring(name.length + 1);
335
+ // Strip tag suffix (e.g., "chnk_ULID.vitest-0" → "chnk_ULID")
336
+ const chunkId = tag
337
+ ? rawChunkId.replace(`.${tag}`, '')
338
+ : rawChunkId;
339
+ // Skip if already delivered via event
340
+ if (deliveredChunkIds.has(chunkId)) {
341
+ continue;
342
+ }
343
+ const ext = fileExtMap.get(file) ?? '.bin';
344
+ const chunk = deserializeChunk(await readBuffer(path.join(chunksDir, `${file}${ext}`)));
345
+ if (chunk?.eof === true) {
346
+ isComplete = true;
347
+ break;
348
+ }
349
+ if (chunk.chunk.byteLength) {
350
+ // Create a copy to prevent ArrayBuffer detachment
351
+ controller.enqueue(Uint8Array.from(chunk.chunk));
352
+ }
282
353
  }
283
- else {
284
- // After disk reading is complete, deliver chunks immediately
285
- // Create a copy to prevent ArrayBuffer detachment
286
- controller.enqueue(Uint8Array.from(event.chunkData));
354
+ // Finished reading from disk - now deliver buffered event chunks in chronological order
355
+ isReadingFromDisk = false;
356
+ // Sort buffered chunks by ULID (chronological order)
357
+ bufferedEventChunks.sort((a, b) => a.chunkId.localeCompare(b.chunkId));
358
+ for (const buffered of bufferedEventChunks) {
359
+ // Create a copy for defense in depth (already copied at storage, but be extra safe)
360
+ controller.enqueue(Uint8Array.from(buffered.chunkData));
287
361
  }
288
- };
289
- const closeListener = () => {
290
- // Buffer close event if disk reading is still in progress
291
- if (isReadingFromDisk) {
292
- pendingClose = true;
362
+ if (isComplete) {
363
+ removeListeners();
364
+ try {
365
+ controller.close();
366
+ }
367
+ catch {
368
+ // Ignore if controller is already closed (e.g., from closeListener event)
369
+ }
293
370
  return;
294
371
  }
295
- // Remove listeners before closing
296
- streamEmitter.off(`chunk:${name}`, chunkListener);
297
- streamEmitter.off(`close:${name}`, closeListener);
298
- try {
299
- controller.close();
300
- }
301
- catch {
302
- // Ignore if controller is already closed (e.g., from cancel() or EOF)
303
- }
304
- };
305
- removeListeners = closeListener;
306
- // Set up listeners FIRST to avoid missing events
307
- streamEmitter.on(`chunk:${name}`, chunkListener);
308
- streamEmitter.on(`close:${name}`, closeListener);
309
- // Now load existing chunks from disk.
310
- const { files: chunkFiles, extMap: fileExtMap } = await listChunkFilesForStream(chunksDir, name, tag);
311
- // Resolve negative startIndex relative to the number of data chunks
312
- // (excluding the trailing EOF marker chunk, if present).
313
- let dataChunkCount = chunkFiles.length;
314
- if (typeof startIndex === 'number' &&
315
- startIndex < 0 &&
316
- chunkFiles.length > 0) {
317
- const lastFile = chunkFiles[chunkFiles.length - 1];
318
- const lastExt = fileExtMap.get(lastFile) ?? '.bin';
319
- // Note: this incurs an extra disk read to check the EOF marker.
320
- // Acceptable since negative startIndex is not a hot path.
321
- const lastChunk = deserializeChunk(await readBuffer(path.join(chunksDir, `${lastFile}${lastExt}`)));
322
- if (lastChunk?.eof === true) {
323
- dataChunkCount--;
324
- }
325
- }
326
- const resolvedStartIndex = typeof startIndex === 'number' && startIndex < 0
327
- ? Math.max(0, dataChunkCount + startIndex)
328
- : startIndex;
329
- // Process existing chunks, skipping any already delivered via events
330
- let isComplete = false;
331
- for (let i = resolvedStartIndex; i < chunkFiles.length; i++) {
332
- const file = chunkFiles[i];
333
- // Extract chunk ID from filename: "streamName-chunkId" or "streamName-chunkId.tag"
334
- const rawChunkId = file.substring(name.length + 1);
335
- // Strip tag suffix (e.g., "chnk_ULID.vitest-0" → "chnk_ULID")
336
- const chunkId = tag
337
- ? rawChunkId.replace(`.${tag}`, '')
338
- : rawChunkId;
339
- // Skip if already delivered via event
340
- if (deliveredChunkIds.has(chunkId)) {
341
- continue;
372
+ // Process any pending close event that arrived during disk reading
373
+ if (pendingClose) {
374
+ streamEmitter.off(`chunk:${name}`, chunkListener);
375
+ streamEmitter.off(`close:${name}`, closeListener);
376
+ try {
377
+ controller.close();
378
+ }
379
+ catch {
380
+ // Ignore if controller is already closed
381
+ }
342
382
  }
343
- const ext = fileExtMap.get(file) ?? '.bin';
344
- const chunk = deserializeChunk(await readBuffer(path.join(chunksDir, `${file}${ext}`)));
345
- if (chunk?.eof === true) {
346
- isComplete = true;
347
- break;
348
- }
349
- if (chunk.chunk.byteLength) {
350
- // Create a copy to prevent ArrayBuffer detachment
351
- controller.enqueue(Uint8Array.from(chunk.chunk));
352
- }
353
- }
354
- // Finished reading from disk - now deliver buffered event chunks in chronological order
355
- isReadingFromDisk = false;
356
- // Sort buffered chunks by ULID (chronological order)
357
- bufferedEventChunks.sort((a, b) => a.chunkId.localeCompare(b.chunkId));
358
- for (const buffered of bufferedEventChunks) {
359
- // Create a copy for defense in depth (already copied at storage, but be extra safe)
360
- controller.enqueue(Uint8Array.from(buffered.chunkData));
361
- }
362
- if (isComplete) {
383
+ },
384
+ cancel() {
363
385
  removeListeners();
364
- try {
365
- controller.close();
366
- }
367
- catch {
368
- // Ignore if controller is already closed (e.g., from closeListener event)
369
- }
370
- return;
371
- }
372
- // Process any pending close event that arrived during disk reading
373
- if (pendingClose) {
374
- streamEmitter.off(`chunk:${name}`, chunkListener);
375
- streamEmitter.off(`close:${name}`, closeListener);
376
- try {
377
- controller.close();
378
- }
379
- catch {
380
- // Ignore if controller is already closed
381
- }
382
- }
383
- },
384
- cancel() {
385
- removeListeners();
386
- },
387
- });
386
+ },
387
+ });
388
+ },
388
389
  },
389
390
  };
390
391
  }
@@ -1 +1 @@
1
- {"version":3,"file":"streamer.js","sourceRoot":"","sources":["../src/streamer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,IAAI,MAAM,WAAW,CAAC;AAO7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,oBAAoB,EACpB,UAAU,EACV,oBAAoB,EACpB,UAAU,EACV,KAAK,EACL,SAAS,GACV,MAAM,SAAS,CAAC;AAEjB,2EAA2E;AAC3E,kDAAkD;AAClD,MAAM,aAAa,GAAG,gBAAgB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AAE5D,6CAA6C;AAC7C,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CAC7B,CAAC,CAAC;AAcH,MAAM,UAAU,cAAc,CAAC,KAAY;IACzC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,UAAU,CAAC,UAAkB;IAC3C,OAAO,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,UAAkB;IACjD,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAChC,oEAAoE;IACpE,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;AACxB,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,uBAAuB,CACpC,SAAiB,EACjB,IAAY,EACZ,GAAY;IAEZ,MAAM,YAAY,GAAwB;QACxC,oBAAoB,CAAC,SAAS,EAAE,MAAM,CAAC;QACvC,oBAAoB,CAAC,SAAS,EAAE,OAAO,CAAC;KACzC,CAAC;IACF,IAAI,GAAG,EAAE,CAAC;QACR,YAAY,CAAC,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC;IACpE,CAAC;IACD,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC,GAC3C,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAClC,MAAM,cAAc,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAE9C,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,KAAK,MAAM,CAAC,IAAI,SAAS;QAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACpC,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,GAAG,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,SAAS;QACxC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACxB,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,cAAc;QAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC;IAE7D,MAAM,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;SAC7B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;SAC7C,IAAI,EAAE,CAAC;IAEV,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAe,EAAE,GAAY;IAC1D,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACvC,MAAM,aAAa,GAAG,IAAI,YAAY,EAalC,CAAC;IAEL,+EAA+E;IAC/E,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;IAE5C,qDAAqD;IACrD,KAAK,UAAU,oBAAoB,CACjC,KAAa,EACb,UAAkB;QAElB,MAAM,QAAQ,GAAG,GAAG,KAAK,IAAI,UAAU,EAAE,CAAC;QAC1C,IAAI,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpC,OAAO,CAAC,qCAAqC;QAC/C,CAAC;QAED,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QAEvE,+EAA+E;QAC/E,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CACzC,OAAO,EACP,cAAc,EACd,KAAK,EACL,gBAAgB,EAChB,GAAG,CACJ,CAAC;QACF,MAAM,OAAO,GAAG,QAAQ,EAAE,OAAO,IAAI,EAAE,CAAC;QAExC,oCAAoC;QACpC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACzB,MAAM,SAAS,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAED,wCAAwC;IACxC,SAAS,QAAQ,CAAC,KAA0B;QAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACtD,CAAC;aAAM,IAAI,KAAK,YAAY,MAAM,EAAE,CAAC;YACnC,OAAO,KAAK,CAAC;QACf,CAAC;aAAM,CAAC;YACN,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,OAAO;QACL,KAAK,CAAC,aAAa,CACjB,IAAY,EACZ,MAAgC,EAChC,KAA0B;YAE1B,uEAAuE;YACvE,yEAAyE;YACzE,+DAA+D;YAC/D,MAAM,OAAO,GAAG,QAAQ,aAAa,EAAE,EAAE,CAAC;YAE1C,0DAA0D;YAC1D,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC;YAE3B,mCAAmC;YACnC,MAAM,oBAAoB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAExC,4CAA4C;YAC5C,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAEpC,MAAM,UAAU,GAAG,cAAc,CAAC;gBAChC,KAAK,EAAE,WAAW;gBAClB,GAAG,EAAE,KAAK;aACX,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CACzB,OAAO,EACP,SAAS,EACT,QAAQ,EACR,GAAG,IAAI,IAAI,OAAO,GAAG,SAAS,MAAM,CACrC,CAAC;YAEF,MAAM,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAEnC,uFAAuF;YACvF,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAE/C,aAAa,CAAC,IAAI,CAAC,SAAS,IAAI,EAAW,EAAE;gBAC3C,UAAU,EAAE,IAAI;gBAChB,SAAS;gBACT,OAAO;aACR,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,kBAAkB,CACtB,IAAY,EACZ,MAAgC,EAChC,MAA+B;YAE/B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YAEhC,4EAA4E;YAC5E,8EAA8E;YAC9E,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,aAAa,EAAE,EAAE,CAAC,CAAC;YAE7D,gCAAgC;YAChC,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC;YAE3B,mCAAmC;YACnC,MAAM,oBAAoB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAExC,yCAAyC;YACzC,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;YAE5D,+EAA+E;YAC/E,MAAM,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE;gBAC9D,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAE5B,MAAM,UAAU,GAAG,cAAc,CAAC;oBAChC,KAAK,EAAE,WAAW;oBAClB,GAAG,EAAE,KAAK;iBACX,CAAC,CAAC;gBAEH,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CACzB,OAAO,EACP,SAAS,EACT,QAAQ,EACR,GAAG,IAAI,IAAI,OAAO,GAAG,SAAS,MAAM,CACrC,CAAC;gBAEF,MAAM,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;gBAEnC,wCAAwC;gBACxC,OAAO;oBACL,OAAO;oBACP,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;iBACxC,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,mEAAmE;YACnE,2EAA2E;YAC3E,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;gBACzC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,MAAM,YAAY,CAAC;gBAElD,aAAa,CAAC,IAAI,CAAC,SAAS,IAAI,EAAW,EAAE;oBAC3C,UAAU,EAAE,IAAI;oBAChB,SAAS;oBACT,OAAO;iBACR,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,KAAK,CAAC,WAAW,CAAC,IAAY,EAAE,MAAgC;YAC9D,uEAAuE;YACvE,MAAM,OAAO,GAAG,QAAQ,aAAa,EAAE,EAAE,CAAC;YAE1C,0DAA0D;YAC1D,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC;YAE3B,yEAAyE;YACzE,MAAM,oBAAoB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACxC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CACzB,OAAO,EACP,SAAS,EACT,QAAQ,EACR,GAAG,IAAI,IAAI,OAAO,GAAG,SAAS,MAAM,CACrC,CAAC;YAEF,MAAM,KAAK,CACT,SAAS,EACT,cAAc,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CACtD,CAAC;YAEF,aAAa,CAAC,IAAI,CAAC,SAAS,IAAI,EAAW,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QACrE,CAAC;QAED,KAAK,CAAC,kBAAkB,CAAC,KAAa;YACpC,MAAM,IAAI,GAAG,MAAM,oBAAoB,CACrC,OAAO,EACP,cAAc,EACd,KAAK,EACL,gBAAgB,EAChB,GAAG,CACJ,CAAC;YACF,OAAO,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC;QAC7B,CAAC;QAED,KAAK,CAAC,eAAe,CACnB,IAAY,EACZ,MAAc,EACd,OAA0B;YAE1B,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,GAAG,CAAC;YACpC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;YAC1D,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,GAC7C,MAAM,uBAAuB,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;YAEtD,gBAAgB;YAChB,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;gBACpB,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CACxB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CACxD,CAAC;oBACF,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC;gBACzB,CAAC;gBAAC,MAAM,CAAC;oBACP,UAAU,GAAG,CAAC,CAAC;gBACjB,CAAC;YACH,CAAC;YAED,wDAAwD;YACxD,gDAAgD;YAChD,IAAI,UAAU,GAAG,KAAK,CAAC;YACvB,MAAM,YAAY,GAA0C,EAAE,CAAC;YAC/D,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC,6CAA6C;YAEhE,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;gBAC9B,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC;gBAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,GAAG,GAAG,EAAE,CAAC,CAAC;gBAEvD,mEAAmE;gBACnE,IAAI,SAAS,GAAG,UAAU,EAAE,CAAC;oBAC3B,IAAI,UAAU,CAAC,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;wBAC3C,UAAU,GAAG,IAAI,CAAC;wBAClB,MAAM;oBACR,CAAC;oBACD,SAAS,EAAE,CAAC;oBACZ,SAAS;gBACX,CAAC;gBAED,uEAAuE;gBACvE,IAAI,YAAY,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;oBACjC,IAAI,UAAU,CAAC,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;wBAC3C,UAAU,GAAG,IAAI,CAAC;oBACpB,CAAC;yBAAM,CAAC;wBACN,yCAAyC;wBACzC,SAAS,EAAE,CAAC;oBACd,CAAC;oBACD,MAAM;gBACR,CAAC;gBAED,wCAAwC;gBACxC,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC3D,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;oBACd,UAAU,GAAG,IAAI,CAAC;oBAClB,MAAM;gBACR,CAAC;gBACD,YAAY,CAAC,IAAI,CAAC;oBAChB,KAAK,EAAE,SAAS;oBAChB,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;iBACnC,CAAC,CAAC;gBACH,SAAS,EAAE,CAAC;YACd,CAAC;YAED,0DAA0D;YAC1D,MAAM,OAAO,GACX,CAAC,UAAU,IAAI,SAAS,GAAG,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC;YAC9D,MAAM,SAAS,GAAG,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC;YACnD,MAAM,UAAU,GAAG,OAAO;gBACxB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAClE,CAAC,CAAC,IAAI,CAAC;YAET,OAAO;gBACL,IAAI,EAAE,YAAY;gBAClB,MAAM,EAAE,UAAU;gBAClB,OAAO;gBACP,IAAI,EAAE,UAAU;aACjB,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,aAAa,CACjB,IAAY,EACZ,MAAc;YAEd,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;YAC1D,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,GAC7C,MAAM,uBAAuB,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;YAEtD,+DAA+D;YAC/D,qDAAqD;YACrD,IAAI,UAAU,GAAG,KAAK,CAAC;YACvB,IAAI,SAAS,GAAG,CAAC,CAAC;YAClB,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;gBAC9B,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC;gBAC3C,IACE,UAAU,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,EACnE,CAAC;oBACD,UAAU,GAAG,IAAI,CAAC;oBAClB,MAAM;gBACR,CAAC;gBACD,SAAS,EAAE,CAAC;YACd,CAAC;YAED,OAAO,EAAE,SAAS,EAAE,SAAS,GAAG,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QACxD,CAAC;QAED,KAAK,CAAC,cAAc,CAAC,IAAY,EAAE,UAAU,GAAG,CAAC;YAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;YAC1D,IAAI,eAAe,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;YAE/B,OAAO,IAAI,cAAc,CAAa;gBACpC,KAAK,CAAC,KAAK,CAAC,UAAU;oBACpB,8EAA8E;oBAC9E,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;oBAC5C,+DAA+D;oBAC/D,MAAM,mBAAmB,GAGpB,EAAE,CAAC;oBACR,IAAI,iBAAiB,GAAG,IAAI,CAAC;oBAC7B,uDAAuD;oBACvD,IAAI,YAAY,GAAG,KAAK,CAAC;oBAEzB,MAAM,aAAa,GAAG,CAAC,KAItB,EAAE,EAAE;wBACH,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;wBAErC,uEAAuE;wBACvE,uEAAuE;wBACvE,IAAI,KAAK,CAAC,SAAS,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;4BACrC,OAAO;wBACT,CAAC;wBAED,IAAI,iBAAiB,EAAE,CAAC;4BACtB,kEAAkE;4BAClE,sEAAsE;4BACtE,mBAAmB,CAAC,IAAI,CAAC;gCACvB,OAAO,EAAE,KAAK,CAAC,OAAO;gCACtB,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;6BAC5C,CAAC,CAAC;wBACL,CAAC;6BAAM,CAAC;4BACN,6DAA6D;4BAC7D,kDAAkD;4BAClD,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;wBACvD,CAAC;oBACH,CAAC,CAAC;oBAEF,MAAM,aAAa,GAAG,GAAG,EAAE;wBACzB,0DAA0D;wBAC1D,IAAI,iBAAiB,EAAE,CAAC;4BACtB,YAAY,GAAG,IAAI,CAAC;4BACpB,OAAO;wBACT,CAAC;wBACD,kCAAkC;wBAClC,aAAa,CAAC,GAAG,CAAC,SAAS,IAAI,EAAW,EAAE,aAAa,CAAC,CAAC;wBAC3D,aAAa,CAAC,GAAG,CAAC,SAAS,IAAI,EAAW,EAAE,aAAa,CAAC,CAAC;wBAC3D,IAAI,CAAC;4BACH,UAAU,CAAC,KAAK,EAAE,CAAC;wBACrB,CAAC;wBAAC,MAAM,CAAC;4BACP,sEAAsE;wBACxE,CAAC;oBACH,CAAC,CAAC;oBACF,eAAe,GAAG,aAAa,CAAC;oBAEhC,iDAAiD;oBACjD,aAAa,CAAC,EAAE,CAAC,SAAS,IAAI,EAAW,EAAE,aAAa,CAAC,CAAC;oBAC1D,aAAa,CAAC,EAAE,CAAC,SAAS,IAAI,EAAW,EAAE,aAAa,CAAC,CAAC;oBAE1D,sCAAsC;oBACtC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,GAC7C,MAAM,uBAAuB,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;oBAEtD,oEAAoE;oBACpE,yDAAyD;oBACzD,IAAI,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC;oBACvC,IACE,OAAO,UAAU,KAAK,QAAQ;wBAC9B,UAAU,GAAG,CAAC;wBACd,UAAU,CAAC,MAAM,GAAG,CAAC,EACrB,CAAC;wBACD,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;wBACnD,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC;wBACnD,gEAAgE;wBAChE,0DAA0D;wBAC1D,MAAM,SAAS,GAAG,gBAAgB,CAChC,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,QAAQ,GAAG,OAAO,EAAE,CAAC,CAAC,CAChE,CAAC;wBACF,IAAI,SAAS,EAAE,GAAG,KAAK,IAAI,EAAE,CAAC;4BAC5B,cAAc,EAAE,CAAC;wBACnB,CAAC;oBACH,CAAC;oBACD,MAAM,kBAAkB,GACtB,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,GAAG,CAAC;wBAC9C,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC;wBAC1C,CAAC,CAAC,UAAU,CAAC;oBAEjB,qEAAqE;oBACrE,IAAI,UAAU,GAAG,KAAK,CAAC;oBACvB,KAAK,IAAI,CAAC,GAAG,kBAAkB,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBAC5D,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;wBAC3B,mFAAmF;wBACnF,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;wBACnD,8DAA8D;wBAC9D,MAAM,OAAO,GAAG,GAAG;4BACjB,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,GAAG,EAAE,EAAE,EAAE,CAAC;4BACnC,CAAC,CAAC,UAAU,CAAC;wBAEf,sCAAsC;wBACtC,IAAI,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;4BACnC,SAAS;wBACX,CAAC;wBAED,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC;wBAC3C,MAAM,KAAK,GAAG,gBAAgB,CAC5B,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,GAAG,GAAG,EAAE,CAAC,CAAC,CACxD,CAAC;wBACF,IAAI,KAAK,EAAE,GAAG,KAAK,IAAI,EAAE,CAAC;4BACxB,UAAU,GAAG,IAAI,CAAC;4BAClB,MAAM;wBACR,CAAC;wBACD,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;4BAC3B,kDAAkD;4BAClD,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;wBACnD,CAAC;oBACH,CAAC;oBAED,wFAAwF;oBACxF,iBAAiB,GAAG,KAAK,CAAC;oBAE1B,qDAAqD;oBACrD,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAChC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CACnC,CAAC;oBACF,KAAK,MAAM,QAAQ,IAAI,mBAAmB,EAAE,CAAC;wBAC3C,oFAAoF;wBACpF,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;oBAC1D,CAAC;oBAED,IAAI,UAAU,EAAE,CAAC;wBACf,eAAe,EAAE,CAAC;wBAClB,IAAI,CAAC;4BACH,UAAU,CAAC,KAAK,EAAE,CAAC;wBACrB,CAAC;wBAAC,MAAM,CAAC;4BACP,0EAA0E;wBAC5E,CAAC;wBACD,OAAO;oBACT,CAAC;oBAED,mEAAmE;oBACnE,IAAI,YAAY,EAAE,CAAC;wBACjB,aAAa,CAAC,GAAG,CAAC,SAAS,IAAI,EAAW,EAAE,aAAa,CAAC,CAAC;wBAC3D,aAAa,CAAC,GAAG,CAAC,SAAS,IAAI,EAAW,EAAE,aAAa,CAAC,CAAC;wBAC3D,IAAI,CAAC;4BACH,UAAU,CAAC,KAAK,EAAE,CAAC;wBACrB,CAAC;wBAAC,MAAM,CAAC;4BACP,yCAAyC;wBAC3C,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,MAAM;oBACJ,eAAe,EAAE,CAAC;gBACpB,CAAC;aACF,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"streamer.js","sourceRoot":"","sources":["../src/streamer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@workflow/world-local",
3
- "version": "5.0.0-beta.0",
3
+ "version": "5.0.0-beta.1",
4
4
  "description": "Local development World implementation for Workflow SDK",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -28,9 +28,9 @@
28
28
  "ulid": "~3.0.1",
29
29
  "undici": "7.22.0",
30
30
  "zod": "4.3.6",
31
- "@workflow/utils": "5.0.0-beta.0",
32
31
  "@workflow/errors": "5.0.0-beta.0",
33
- "@workflow/world": "5.0.0-beta.0"
32
+ "@workflow/utils": "5.0.0-beta.0",
33
+ "@workflow/world": "5.0.0-beta.1"
34
34
  },
35
35
  "devDependencies": {
36
36
  "@opentelemetry/api": "1.9.0",