@workflow/world-local 4.0.1-beta.0 → 4.0.1-beta.11

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.
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAEA,OAAO,EAOL,KAAK,OAAO,EAGb,MAAM,iBAAiB,CAAC;AAoFzB,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAqZtD"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAEA,OAAO,EAWL,KAAK,OAAO,EAGb,MAAM,iBAAiB,CAAC;AA4NzB,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CA0VtD"}
package/dist/storage.js CHANGED
@@ -62,6 +62,119 @@ const getObjectCreatedAt = (idPrefix) => (filename) => {
62
62
  const ulid = id.replace(replaceRegex, '');
63
63
  return ulidToDate(ulid);
64
64
  };
65
+ /**
66
+ * Creates a hooks storage implementation using the filesystem.
67
+ * Implements the Storage['hooks'] interface with hook CRUD operations.
68
+ */
69
+ function createHooksStorage(basedir) {
70
+ // Helper function to find a hook by token (shared between create and getByToken)
71
+ async function findHookByToken(token) {
72
+ const hooksDir = path.join(basedir, 'hooks');
73
+ const files = await listJSONFiles(hooksDir);
74
+ for (const file of files) {
75
+ const hookPath = path.join(hooksDir, `${file}.json`);
76
+ const hook = await readJSON(hookPath, HookSchema);
77
+ if (hook && hook.token === token) {
78
+ return hook;
79
+ }
80
+ }
81
+ return null;
82
+ }
83
+ async function create(runId, data) {
84
+ // Check if a hook with the same token already exists
85
+ // Token uniqueness is enforced globally per embedded environment
86
+ const existingHook = await findHookByToken(data.token);
87
+ if (existingHook) {
88
+ throw new Error(`Hook with token ${data.token} already exists for this project`);
89
+ }
90
+ const now = new Date();
91
+ const result = {
92
+ runId,
93
+ hookId: data.hookId,
94
+ token: data.token,
95
+ metadata: data.metadata,
96
+ ownerId: 'embedded-owner',
97
+ projectId: 'embedded-project',
98
+ environment: 'embedded',
99
+ createdAt: now,
100
+ };
101
+ const hookPath = path.join(basedir, 'hooks', `${data.hookId}.json`);
102
+ await writeJSON(hookPath, result);
103
+ return result;
104
+ }
105
+ async function get(hookId, params) {
106
+ const hookPath = path.join(basedir, 'hooks', `${hookId}.json`);
107
+ const hook = await readJSON(hookPath, HookSchema);
108
+ if (!hook) {
109
+ throw new Error(`Hook ${hookId} not found`);
110
+ }
111
+ const resolveData = params?.resolveData || DEFAULT_RESOLVE_DATA_OPTION;
112
+ return filterHookData(hook, resolveData);
113
+ }
114
+ async function getByToken(token) {
115
+ const hook = await findHookByToken(token);
116
+ if (!hook) {
117
+ throw new Error(`Hook with token ${token} not found`);
118
+ }
119
+ return hook;
120
+ }
121
+ async function list(params) {
122
+ const hooksDir = path.join(basedir, 'hooks');
123
+ const resolveData = params.resolveData || DEFAULT_RESOLVE_DATA_OPTION;
124
+ const result = await paginatedFileSystemQuery({
125
+ directory: hooksDir,
126
+ schema: HookSchema,
127
+ sortOrder: params.pagination?.sortOrder,
128
+ limit: params.pagination?.limit,
129
+ cursor: params.pagination?.cursor,
130
+ filePrefix: undefined, // Hooks don't have ULIDs, so we can't optimize by filename
131
+ filter: (hook) => {
132
+ // Filter by runId if provided
133
+ if (params.runId && hook.runId !== params.runId) {
134
+ return false;
135
+ }
136
+ return true;
137
+ },
138
+ getCreatedAt: () => {
139
+ // Hook files don't have ULID timestamps in filename
140
+ // We need to read the file to get createdAt, but that's inefficient
141
+ // So we return the hook's createdAt directly (item.createdAt will be used for sorting)
142
+ // Return a dummy date to pass the null check, actual sorting uses item.createdAt
143
+ return new Date(0);
144
+ },
145
+ getId: (hook) => hook.hookId,
146
+ });
147
+ // Transform the data after pagination
148
+ return {
149
+ ...result,
150
+ data: result.data.map((hook) => filterHookData(hook, resolveData)),
151
+ };
152
+ }
153
+ async function dispose(hookId) {
154
+ const hookPath = path.join(basedir, 'hooks', `${hookId}.json`);
155
+ const hook = await readJSON(hookPath, HookSchema);
156
+ if (!hook) {
157
+ throw new Error(`Hook ${hookId} not found`);
158
+ }
159
+ await deleteJSON(hookPath);
160
+ return hook;
161
+ }
162
+ return { create, get, getByToken, list, dispose };
163
+ }
164
+ /**
165
+ * Helper function to delete all hooks associated with a workflow run
166
+ */
167
+ async function deleteAllHooksForRun(basedir, runId) {
168
+ const hooksDir = path.join(basedir, 'hooks');
169
+ const files = await listJSONFiles(hooksDir);
170
+ for (const file of files) {
171
+ const hookPath = path.join(hooksDir, `${file}.json`);
172
+ const hook = await readJSON(hookPath, HookSchema);
173
+ if (hook && hook.runId === runId) {
174
+ await deleteJSON(hookPath);
175
+ }
176
+ }
177
+ }
65
178
  export function createStorage(basedir) {
66
179
  return {
67
180
  runs: {
@@ -77,7 +190,6 @@ export function createStorage(basedir) {
77
190
  input: data.input || [],
78
191
  output: undefined,
79
192
  error: undefined,
80
- errorCode: undefined,
81
193
  startedAt: undefined,
82
194
  completedAt: undefined,
83
195
  createdAt: now,
@@ -96,6 +208,15 @@ export function createStorage(basedir) {
96
208
  const resolveData = params?.resolveData ?? DEFAULT_RESOLVE_DATA_OPTION;
97
209
  return filterRunData(run, resolveData);
98
210
  },
211
+ /**
212
+ * Updates a workflow run.
213
+ *
214
+ * Note: This operation is not atomic. Concurrent updates from multiple
215
+ * processes may result in lost updates (last writer wins). This is an
216
+ * inherent limitation of filesystem-based storage without locking.
217
+ * For the local/embedded world, this is acceptable as it's typically
218
+ * used in single-process scenarios.
219
+ */
99
220
  async update(id, data) {
100
221
  const runPath = path.join(basedir, 'runs', `${id}.json`);
101
222
  const run = await readJSON(runPath, WorkflowRunSchema);
@@ -112,12 +233,17 @@ export function createStorage(basedir) {
112
233
  if (data.status === 'running' && !updatedRun.startedAt) {
113
234
  updatedRun.startedAt = now;
114
235
  }
115
- if (data.status === 'completed' ||
236
+ const isBecomingTerminal = data.status === 'completed' ||
116
237
  data.status === 'failed' ||
117
- data.status === 'cancelled') {
238
+ data.status === 'cancelled';
239
+ if (isBecomingTerminal) {
118
240
  updatedRun.completedAt = now;
119
241
  }
120
242
  await writeJSON(runPath, updatedRun, { overwrite: true });
243
+ // If transitioning to a terminal status, clean up all hooks for this run
244
+ if (isBecomingTerminal) {
245
+ await deleteAllHooksForRun(basedir, id);
246
+ }
121
247
  return updatedRun;
122
248
  },
123
249
  async list(params) {
@@ -125,9 +251,16 @@ export function createStorage(basedir) {
125
251
  const result = await paginatedFileSystemQuery({
126
252
  directory: path.join(basedir, 'runs'),
127
253
  schema: WorkflowRunSchema,
128
- filter: params?.workflowName
129
- ? (run) => run.workflowName === params.workflowName
130
- : undefined,
254
+ filter: (run) => {
255
+ if (params?.workflowName &&
256
+ run.workflowName !== params.workflowName) {
257
+ return false;
258
+ }
259
+ if (params?.status && run.status !== params.status) {
260
+ return false;
261
+ }
262
+ return true;
263
+ },
131
264
  sortOrder: params?.pagination?.sortOrder ?? 'desc',
132
265
  limit: params?.pagination?.limit,
133
266
  cursor: params?.pagination?.cursor,
@@ -148,6 +281,7 @@ export function createStorage(basedir) {
148
281
  return result;
149
282
  },
150
283
  async cancel(id, params) {
284
+ // This will call update which triggers hook cleanup automatically
151
285
  const run = await this.update(id, { status: 'cancelled' });
152
286
  const resolveData = params?.resolveData ?? DEFAULT_RESOLVE_DATA_OPTION;
153
287
  return filterRunData(run, resolveData);
@@ -174,7 +308,6 @@ export function createStorage(basedir) {
174
308
  input: data.input,
175
309
  output: undefined,
176
310
  error: undefined,
177
- errorCode: undefined,
178
311
  attempt: 0,
179
312
  startedAt: undefined,
180
313
  completedAt: undefined,
@@ -204,6 +337,13 @@ export function createStorage(basedir) {
204
337
  const resolveData = params?.resolveData ?? DEFAULT_RESOLVE_DATA_OPTION;
205
338
  return filterStepData(step, resolveData);
206
339
  },
340
+ /**
341
+ * Updates a step.
342
+ *
343
+ * Note: This operation is not atomic. Concurrent updates from multiple
344
+ * processes may result in lost updates (last writer wins). This is an
345
+ * inherent limitation of filesystem-based storage without locking.
346
+ */
207
347
  async update(runId, stepId, data) {
208
348
  const compositeKey = `${runId}-${stepId}`;
209
349
  const stepPath = path.join(basedir, 'steps', `${compositeKey}.json`);
@@ -328,88 +468,7 @@ export function createStorage(basedir) {
328
468
  },
329
469
  },
330
470
  // Hooks
331
- hooks: {
332
- async create(runId, data) {
333
- const now = new Date();
334
- const result = {
335
- runId,
336
- hookId: data.hookId,
337
- token: data.token,
338
- metadata: data.metadata,
339
- ownerId: 'embedded-owner',
340
- projectId: 'embedded-project',
341
- environment: 'embedded',
342
- createdAt: now,
343
- };
344
- const hookPath = path.join(basedir, 'hooks', `${data.hookId}.json`);
345
- await writeJSON(hookPath, result);
346
- return result;
347
- },
348
- async get(hookId, params) {
349
- const hookPath = path.join(basedir, 'hooks', `${hookId}.json`);
350
- // Try webhook schema first (which includes response), fall back to HookSchema
351
- const hook = await readJSON(hookPath, HookSchema);
352
- if (!hook) {
353
- throw new Error(`Hook ${hookId} not found`);
354
- }
355
- const resolveData = params?.resolveData || DEFAULT_RESOLVE_DATA_OPTION;
356
- return filterHookData(hook, resolveData);
357
- },
358
- async getByToken(token) {
359
- // Need to search through all hooks to find one with matching token
360
- const hooksDir = path.join(basedir, 'hooks');
361
- const files = await listJSONFiles(hooksDir);
362
- for (const file of files) {
363
- const hookPath = path.join(hooksDir, `${file}.json`);
364
- const hook = await readJSON(hookPath, HookSchema);
365
- if (hook && hook.token === token) {
366
- return hook;
367
- }
368
- }
369
- throw new Error(`Hook with token ${token} not found`);
370
- },
371
- async list(params) {
372
- const hooksDir = path.join(basedir, 'hooks');
373
- const resolveData = params.resolveData || DEFAULT_RESOLVE_DATA_OPTION;
374
- const result = await paginatedFileSystemQuery({
375
- directory: hooksDir,
376
- schema: HookSchema,
377
- sortOrder: params.pagination?.sortOrder,
378
- limit: params.pagination?.limit,
379
- cursor: params.pagination?.cursor,
380
- filePrefix: undefined, // Hooks don't have ULIDs, so we can't optimize by filename
381
- filter: (hook) => {
382
- // Filter by runId if provided
383
- if (params.runId && hook.runId !== params.runId) {
384
- return false;
385
- }
386
- return true;
387
- },
388
- getCreatedAt: () => {
389
- // Hook files don't have ULID timestamps in filename
390
- // We need to read the file to get createdAt, but that's inefficient
391
- // So we return the hook's createdAt directly (item.createdAt will be used for sorting)
392
- // Return a dummy date to pass the null check, actual sorting uses item.createdAt
393
- return new Date(0);
394
- },
395
- getId: (hook) => hook.hookId,
396
- });
397
- // Transform the data after pagination
398
- return {
399
- ...result,
400
- data: result.data.map((hook) => filterHookData(hook, resolveData)),
401
- };
402
- },
403
- async dispose(hookId) {
404
- const hookPath = path.join(basedir, 'hooks', `${hookId}.json`);
405
- const hook = await readJSON(hookPath, HookSchema);
406
- if (!hook) {
407
- throw new Error(`Hook ${hookId} not found`);
408
- }
409
- await deleteJSON(hookPath);
410
- return hook;
411
- },
412
- },
471
+ hooks: createHooksStorage(basedir),
413
472
  };
414
473
  }
415
474
  //# sourceMappingURL=storage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ export interface Chunk {
13
13
  export declare function serializeChunk(chunk: Chunk): Buffer<ArrayBuffer>;
14
14
  export declare function deserializeChunk(serialized: Buffer): {
15
15
  eof: boolean;
16
- chunk: Buffer<ArrayBufferLike>;
16
+ chunk: Buffer<ArrayBuffer>;
17
17
  };
18
18
  export declare function createStreamer(basedir: string): Streamer;
19
19
  //# sourceMappingURL=streamer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"streamer.d.ts","sourceRoot":"","sources":["../src/streamer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAQhD;;;;;;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,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM;;;EAIlD;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,CAyKxD"}
1
+ {"version":3,"file":"streamer.d.ts","sourceRoot":"","sources":["../src/streamer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAQhD;;;;;;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,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM;;;EAKlD;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,CAmMxD"}
package/dist/streamer.js CHANGED
@@ -11,36 +11,45 @@ export function serializeChunk(chunk) {
11
11
  }
12
12
  export function deserializeChunk(serialized) {
13
13
  const eof = serialized[0] === 1;
14
- const chunk = serialized.subarray(1);
14
+ // Create a copy instead of a view to prevent ArrayBuffer detachment
15
+ const chunk = Buffer.from(serialized.subarray(1));
15
16
  return { eof, chunk };
16
17
  }
17
18
  export function createStreamer(basedir) {
18
19
  const streamEmitter = new EventEmitter();
19
20
  return {
20
- async writeToStream(name, chunk) {
21
+ async writeToStream(name, _runId, chunk) {
22
+ // Await runId if it's a promise to ensure proper flushing
23
+ await _runId;
21
24
  const chunkId = `strm_${monotonicUlid()}`;
25
+ // Convert chunk to buffer for serialization
26
+ let chunkBuffer;
22
27
  if (typeof chunk === 'string') {
23
- chunk = new TextEncoder().encode(chunk);
28
+ chunkBuffer = Buffer.from(new TextEncoder().encode(chunk));
29
+ }
30
+ else if (chunk instanceof Buffer) {
31
+ chunkBuffer = chunk;
32
+ }
33
+ else {
34
+ chunkBuffer = Buffer.from(chunk);
24
35
  }
25
36
  const serialized = serializeChunk({
26
- chunk: Buffer.from(chunk),
37
+ chunk: chunkBuffer,
27
38
  eof: false,
28
39
  });
29
40
  const chunkPath = path.join(basedir, 'streams', 'chunks', `${name}-${chunkId}.json`);
30
41
  await write(chunkPath, serialized);
31
- // Emit real-time event
32
- const chunkData = typeof chunk === 'string'
33
- ? new TextEncoder().encode(chunk)
34
- : chunk instanceof Buffer
35
- ? new Uint8Array(chunk)
36
- : chunk;
42
+ // Emit real-time event with Uint8Array (create copy to prevent ArrayBuffer detachment)
43
+ const chunkData = Uint8Array.from(chunkBuffer);
37
44
  streamEmitter.emit(`chunk:${name}`, {
38
45
  streamName: name,
39
46
  chunkData,
40
47
  chunkId,
41
48
  });
42
49
  },
43
- async closeStream(name) {
50
+ async closeStream(name, _runId) {
51
+ // Await runId if it's a promise to ensure proper flushing
52
+ await _runId;
44
53
  const chunkId = `strm_${monotonicUlid()}`;
45
54
  const chunkPath = path.join(basedir, 'streams', 'chunks', `${name}-${chunkId}.json`);
46
55
  await write(chunkPath, serializeChunk({ chunk: Buffer.from([]), eof: true }));
@@ -58,23 +67,35 @@ export function createStreamer(basedir) {
58
67
  let isReadingFromDisk = true;
59
68
  const chunkListener = (event) => {
60
69
  deliveredChunkIds.add(event.chunkId);
70
+ // Skip empty chunks to maintain consistency with disk reading behavior
71
+ // Empty chunks are not enqueued when read from disk (see line 184-186)
72
+ if (event.chunkData.byteLength === 0) {
73
+ return;
74
+ }
61
75
  if (isReadingFromDisk) {
62
76
  // Buffer chunks that arrive during disk reading to maintain order
77
+ // Create a copy to prevent ArrayBuffer detachment when enqueued later
63
78
  bufferedEventChunks.push({
64
79
  chunkId: event.chunkId,
65
- chunkData: event.chunkData,
80
+ chunkData: Uint8Array.from(event.chunkData),
66
81
  });
67
82
  }
68
83
  else {
69
84
  // After disk reading is complete, deliver chunks immediately
70
- controller.enqueue(event.chunkData);
85
+ // Create a copy to prevent ArrayBuffer detachment
86
+ controller.enqueue(Uint8Array.from(event.chunkData));
71
87
  }
72
88
  };
73
89
  const closeListener = () => {
74
90
  // Remove listeners before closing
75
91
  streamEmitter.off(`chunk:${name}`, chunkListener);
76
92
  streamEmitter.off(`close:${name}`, closeListener);
77
- controller.close();
93
+ try {
94
+ controller.close();
95
+ }
96
+ catch (e) {
97
+ // Ignore if controller is already closed (e.g., from cancel() or EOF)
98
+ }
78
99
  };
79
100
  removeListeners = closeListener;
80
101
  // Set up listeners FIRST to avoid missing events
@@ -101,7 +122,8 @@ export function createStreamer(basedir) {
101
122
  break;
102
123
  }
103
124
  if (chunk.chunk.byteLength) {
104
- controller.enqueue(chunk.chunk);
125
+ // Create a copy to prevent ArrayBuffer detachment
126
+ controller.enqueue(Uint8Array.from(chunk.chunk));
105
127
  }
106
128
  }
107
129
  // Finished reading from disk - now deliver buffered event chunks in chronological order
@@ -109,7 +131,8 @@ export function createStreamer(basedir) {
109
131
  // Sort buffered chunks by ULID (chronological order)
110
132
  bufferedEventChunks.sort((a, b) => a.chunkId.localeCompare(b.chunkId));
111
133
  for (const buffered of bufferedEventChunks) {
112
- controller.enqueue(buffered.chunkData);
134
+ // Create a copy for defense in depth (already copied at storage, but be extra safe)
135
+ controller.enqueue(Uint8Array.from(buffered.chunkData));
113
136
  }
114
137
  if (isComplete) {
115
138
  removeListeners();
@@ -1 +1 @@
1
- {"version":3,"file":"streamer.js","sourceRoot":"","sources":["../src/streamer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"streamer.js","sourceRoot":"","sources":["../src/streamer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "@workflow/world-local",
3
- "version": "4.0.1-beta.0",
3
+ "version": "4.0.1-beta.11",
4
+ "description": "Local development World implementation for Workflow DevKit",
4
5
  "type": "module",
5
6
  "main": "dist/index.js",
6
7
  "files": [
@@ -9,6 +10,12 @@
9
10
  "publishConfig": {
10
11
  "access": "public"
11
12
  },
13
+ "license": "Apache-2.0",
14
+ "repository": {
15
+ "type": "git",
16
+ "url": "https://github.com/vercel/workflow.git",
17
+ "directory": "packages/world-local"
18
+ },
12
19
  "exports": {
13
20
  ".": {
14
21
  "types": "./dist/index.d.ts",
@@ -16,18 +23,20 @@
16
23
  }
17
24
  },
18
25
  "dependencies": {
19
- "@vercel/queue": "0.0.0-alpha.23",
20
- "ulid": "^3.0.1",
26
+ "@vercel/queue": "0.0.0-alpha.29",
27
+ "ulid": "3.0.1",
28
+ "undici": "6.19.0",
21
29
  "zod": "4.1.11",
22
- "@workflow/world": "4.0.1-beta.0"
30
+ "@workflow/utils": "4.0.1-beta.3",
31
+ "@workflow/world": "4.0.1-beta.6"
23
32
  },
24
33
  "devDependencies": {
25
- "@opentelemetry/api": "^1.9.0",
26
- "@types/ms": "^0.7.34",
27
- "@types/node": "24.6.2",
34
+ "@opentelemetry/api": "1.9.0",
35
+ "@types/ms": "0.7.34",
36
+ "@types/node": "22.19.0",
28
37
  "ms": "2.1.3",
29
38
  "vitest": "^3.2.4",
30
- "@workflow/errors": "4.0.1-beta.0",
39
+ "@workflow/errors": "4.0.1-beta.5",
31
40
  "@workflow/tsconfig": "4.0.1-beta.0"
32
41
  },
33
42
  "peerDependencies": {
@@ -41,7 +50,7 @@
41
50
  "scripts": {
42
51
  "build": "tsc",
43
52
  "dev": "tsc --watch",
44
- "clean": "tsc --build --clean",
53
+ "clean": "tsc --build --clean && rm -rf dist",
45
54
  "test": "vitest run src",
46
55
  "typecheck": "tsc --noEmit"
47
56
  }
package/dist/auth.d.ts DELETED
@@ -1,3 +0,0 @@
1
- import type { AuthProvider } from '@workflow/world';
2
- export declare const auth: AuthProvider;
3
- //# sourceMappingURL=auth.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,eAAO,MAAM,IAAI,EAAE,YAiBlB,CAAC"}
package/dist/auth.js DELETED
@@ -1,18 +0,0 @@
1
- export const auth = {
2
- async getAuthInfo() {
3
- return {
4
- ownerId: 'embedded-owner',
5
- projectId: 'embedded-project',
6
- environment: 'embedded',
7
- userId: 'embedded-user',
8
- };
9
- },
10
- async checkHealth() {
11
- return {
12
- success: true,
13
- data: { healthy: true },
14
- message: 'Embedded backend is healthy',
15
- };
16
- },
17
- };
18
- //# sourceMappingURL=auth.js.map
package/dist/auth.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,IAAI,GAAiB;IAChC,KAAK,CAAC,WAAW;QACf,OAAO;YACL,OAAO,EAAE,gBAAgB;YACzB,SAAS,EAAE,kBAAkB;YAC7B,WAAW,EAAE,UAAU;YACvB,MAAM,EAAE,eAAe;SACxB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW;QACf,OAAO;YACL,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;YACvB,OAAO,EAAE,6BAA6B;SACvC,CAAC;IACJ,CAAC;CACF,CAAC"}