@ewhauser/world-celld 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +22 -0
- package/README.md +60 -22
- package/dist/index.d.ts +112 -16
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +93 -39
- package/dist/index.js.map +1 -1
- package/dist/{util-BvWlkqgV.js → retention-bLY1vcOu.js} +44 -2
- package/dist/retention-bLY1vcOu.js.map +1 -0
- package/dist/testing.d.ts +2 -0
- package/dist/testing.d.ts.map +1 -1
- package/dist/testing.js +557 -78
- package/dist/testing.js.map +1 -1
- package/dist/worker.d.ts +120 -57
- package/dist/worker.d.ts.map +1 -1
- package/dist/worker.js +585 -75
- package/dist/worker.js.map +1 -1
- package/package.json +6 -6
- package/dist/util-BvWlkqgV.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,28 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## 0.2.0 (2026-08-16)
|
|
6
|
+
|
|
7
|
+
## What's Changed
|
|
8
|
+
* Patch vulnerable Hono test dependencies by @ewhauser in https://github.com/ewhauser/world-celld/pull/8
|
|
9
|
+
* chore(deps-dev): bump typescript from 5.9.3 to 7.0.2 by @dependabot[bot] in https://github.com/ewhauser/world-celld/pull/3
|
|
10
|
+
* Fix flaky harness teardown by @ewhauser in https://github.com/ewhauser/world-celld/pull/10
|
|
11
|
+
* Add terminal workflow retention by @ewhauser in https://github.com/ewhauser/world-celld/pull/11
|
|
12
|
+
* chore(deps): bump the production-dependencies group across 1 directory with 3 updates by @dependabot[bot] in https://github.com/ewhauser/world-celld/pull/1
|
|
13
|
+
* ci: automate releases with Release Please by @ewhauser in https://github.com/ewhauser/world-celld/pull/13
|
|
14
|
+
* chore(deps-dev): bump the development-dependencies group across 1 directory with 2 updates by @dependabot[bot] in https://github.com/ewhauser/world-celld/pull/12
|
|
15
|
+
* fix: exclude generated changelog from formatting by @ewhauser in https://github.com/ewhauser/world-celld/pull/15
|
|
16
|
+
|
|
17
|
+
## New Contributors
|
|
18
|
+
* @dependabot[bot] made their first contribution in https://github.com/ewhauser/world-celld/pull/3
|
|
19
|
+
|
|
20
|
+
**Full Changelog**: https://github.com/ewhauser/world-celld/compare/v0.1.1...v0.2.0
|
|
21
|
+
|
|
22
|
+
## 0.1.1 - 2026-08-15
|
|
23
|
+
|
|
24
|
+
- Publish through npm trusted publishing with OIDC provenance.
|
|
25
|
+
- Make npm registry readback the canonical, checksummed GitHub release artifact.
|
|
26
|
+
|
|
5
27
|
## 0.1.0 - 2026-08-15
|
|
6
28
|
|
|
7
29
|
- Initial `@workflow/world` implementation backed by celld Durable Objects.
|
package/README.md
CHANGED
|
@@ -16,6 +16,7 @@ self-hosted alternative to platform-specific Workflow backends.
|
|
|
16
16
|
- Workflow run, step, event, and hook persistence
|
|
17
17
|
- Durable streams
|
|
18
18
|
- Delayed work, retries, deduplication, and dead-letter storage
|
|
19
|
+
- Configurable cleanup of terminal workflow payloads
|
|
19
20
|
- An authenticated HTTP connection between a Node application and a celld fleet
|
|
20
21
|
- An in-process fleet for local development and conformance testing
|
|
21
22
|
|
|
@@ -64,6 +65,8 @@ const world = createCelldWorld({
|
|
|
64
65
|
fleetUrl: 'http://fleet.internal:8080',
|
|
65
66
|
secret: process.env.CELLD_WORLD_SECRET!,
|
|
66
67
|
baseUrl: 'https://workflow.example.com',
|
|
68
|
+
// Keep completed, failed, and cancelled run payloads for 30 days.
|
|
69
|
+
runRetentionMs: 30 * 24 * 60 * 60 * 1000,
|
|
67
70
|
});
|
|
68
71
|
```
|
|
69
72
|
|
|
@@ -135,15 +138,16 @@ cell that owns the data.
|
|
|
135
138
|
Application options can be passed to `createCelldWorld()` unless an environment
|
|
136
139
|
variable is shown below.
|
|
137
140
|
|
|
138
|
-
| Option
|
|
139
|
-
|
|
|
140
|
-
| `fleetUrl`
|
|
141
|
-
| `secret`
|
|
142
|
-
| `baseUrl`
|
|
143
|
-
| `deploymentId`
|
|
144
|
-
| `queueShards`
|
|
145
|
-
| `
|
|
146
|
-
| `
|
|
141
|
+
| Option | Environment variable | Default |
|
|
142
|
+
| ---------------- | ------------------------ | ------------------------ |
|
|
143
|
+
| `fleetUrl` | `CELLD_FLEET_URL` | required |
|
|
144
|
+
| `secret` | `CELLD_WORLD_SECRET` | required with `fleetUrl` |
|
|
145
|
+
| `baseUrl` | `WORKFLOW_BASE_URL` | `http://localhost:$PORT` |
|
|
146
|
+
| `deploymentId` | `CELLD_DEPLOYMENT_ID` | `celld-default` |
|
|
147
|
+
| `queueShards` | — | `1` |
|
|
148
|
+
| `runRetentionMs` | `CELLD_RUN_RETENTION_MS` | `0` (disabled) |
|
|
149
|
+
| `readPollMs` | — | `250` |
|
|
150
|
+
| `rpcTimeoutMs` | — | `30000` |
|
|
147
151
|
|
|
148
152
|
The deployed worker also accepts these celld variables:
|
|
149
153
|
|
|
@@ -158,12 +162,45 @@ The deployed worker also accepts these celld variables:
|
|
|
158
162
|
`queueShards` is part of queue placement and is pinned when a queue cell is
|
|
159
163
|
first used. Drain pending work before changing it.
|
|
160
164
|
|
|
165
|
+
## Terminal run retention
|
|
166
|
+
|
|
167
|
+
When `runRetentionMs` is greater than zero, a terminal transition atomically
|
|
168
|
+
records the run's `expiredAt` and arms its cell alarm. The complete run, event,
|
|
169
|
+
step, hook, and stream data remains readable until that deadline. Active and
|
|
170
|
+
pending runs are never eligible for automatic cleanup.
|
|
171
|
+
|
|
172
|
+
At expiration, the run cell fences new writes and removes the run's derived
|
|
173
|
+
indexes, stream chunks, pending and dead-letter queue messages, and durable run
|
|
174
|
+
payloads. Cleanup is a persisted, idempotent state machine: an interrupted
|
|
175
|
+
phase records its error and re-arms itself with capped backoff.
|
|
176
|
+
|
|
177
|
+
The final state is a metadata-only tombstone, not an empty cell. It prevents a
|
|
178
|
+
delayed queue delivery or stale RPC from recreating an expired run. Reads and
|
|
179
|
+
writes against that run return `RunExpiredError`, and the run no longer appears
|
|
180
|
+
in listings. Tombstones contain no workflow input, output, event, step, hook,
|
|
181
|
+
stream, or queue payload.
|
|
182
|
+
|
|
183
|
+
The returned World exposes authenticated operational methods:
|
|
184
|
+
|
|
185
|
+
```ts
|
|
186
|
+
const status = await world.retention.getStatus(runId);
|
|
187
|
+
await world.retention.schedule(runId); // requires runRetentionMs > 0
|
|
188
|
+
await world.retention.cleanupNow(runId);
|
|
189
|
+
await world.retention.rearm(runId); // recover a missed or abandoned alarm
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
The retention deadline is pinned when the run becomes terminal. Changing the
|
|
193
|
+
configuration affects newly terminal runs; call `schedule()` explicitly for
|
|
194
|
+
an existing terminal run that has no cleanup record.
|
|
195
|
+
|
|
161
196
|
## Operational notes
|
|
162
197
|
|
|
163
198
|
- Delivery is at least once. Workflow steps and other external side effects
|
|
164
199
|
must be idempotent.
|
|
165
200
|
- Queue cells expose `stats`, `listDeadLetters`, `redriveDeadLetter`,
|
|
166
201
|
`purgeDeadLetters`, and `rearmAlarm` through the authenticated RPC endpoint.
|
|
202
|
+
- Run cells expose retention status, scheduling, immediate cleanup, and alarm
|
|
203
|
+
recovery through `world.retention`.
|
|
167
204
|
- A new application URL applies to newly enqueued messages. Existing messages
|
|
168
205
|
retain the callback URL with which they were created.
|
|
169
206
|
- Fleet restarts can interrupt in-flight callbacks; expired claims are
|
|
@@ -176,7 +213,7 @@ pnpm format
|
|
|
176
213
|
pnpm check
|
|
177
214
|
```
|
|
178
215
|
|
|
179
|
-
`pnpm check` runs formatting, linting, type checking,
|
|
216
|
+
`pnpm check` runs formatting, linting, type checking, the build, tests, and the
|
|
180
217
|
worker and npm-package checks. The package check inspects the exact tarball and
|
|
181
218
|
installs it in a clean temporary consumer with lifecycle scripts disabled.
|
|
182
219
|
Oxlint runs its correctness, suspicious, and performance categories with
|
|
@@ -193,12 +230,12 @@ pnpm test:integration
|
|
|
193
230
|
### Local MinIO performance and loss test
|
|
194
231
|
|
|
195
232
|
The opt-in performance harness starts a fresh MinIO bucket and a single celld
|
|
196
|
-
node with Docker Compose
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
233
|
+
node with Docker Compose. Its queue workload verifies that every accepted
|
|
234
|
+
message reaches a successful callback, including forced `503` redeliveries. A
|
|
235
|
+
second workload creates terminal runs with streams and delayed queue messages,
|
|
236
|
+
then verifies complete payload cleanup without resurrection. Results include
|
|
237
|
+
queue and cleanup throughput plus p50, p95, p99, and maximum latency and are
|
|
238
|
+
saved under `.perf-results/`.
|
|
202
239
|
|
|
203
240
|
> MinIO Community is **not a supported celld production store**. It does not
|
|
204
241
|
> implement the conditional writes celld needs for ownership fencing. This
|
|
@@ -275,12 +312,13 @@ job needs. Third-party actions are pinned to verified release commits. Release
|
|
|
275
312
|
builds do not use caches, and the exact npm tarball is checksummed, clean-room
|
|
276
313
|
installed, and verified again before publication.
|
|
277
314
|
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
315
|
+
Release Please maintains version and changelog pull requests. Releases publish
|
|
316
|
+
from GitHub-hosted runners through npm trusted publishing (OIDC), without a
|
|
317
|
+
long-lived npm token. npm records provenance for public releases. A draft
|
|
318
|
+
GitHub release holds the release notes while the package is verified; the Git
|
|
319
|
+
tag and public release are created only after npm accepts the matching tarball.
|
|
320
|
+
Published GitHub releases are immutable. Dependency updates use cooldowns, and
|
|
321
|
+
pnpm permits lifecycle scripts only for an explicit allowlist.
|
|
284
322
|
|
|
285
323
|
See [`SECURITY.md`](./SECURITY.md) to report a vulnerability and
|
|
286
324
|
[`RELEASING.md`](./RELEASING.md) for the release procedure.
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,69 @@
|
|
|
1
|
-
import { CreateEventRequest, Event, Hook, RunCreatedEventRequest, Step, ValidQueueName, WorkflowRun, World } from "@workflow/world";
|
|
1
|
+
import { CreateEventRequest, Event, Hook, RunCreatedEventRequest, Step, TerminalWorkflowRunStatus, ValidQueueName, WorkflowRun, World } from "@workflow/world";
|
|
2
|
+
//#region src/retention.d.ts
|
|
3
|
+
type CleanupPhase = 'retained' | 'index' | 'streams' | 'queues' | 'payload' | 'tombstoned';
|
|
4
|
+
interface CleanupRecord {
|
|
5
|
+
version: 1;
|
|
6
|
+
runId: string;
|
|
7
|
+
workflowName: string;
|
|
8
|
+
createdAt: Date;
|
|
9
|
+
completedAt: Date;
|
|
10
|
+
terminalStatus: TerminalWorkflowRunStatus;
|
|
11
|
+
dueAt: Date;
|
|
12
|
+
queueShards: number;
|
|
13
|
+
phase: CleanupPhase;
|
|
14
|
+
attempts: number;
|
|
15
|
+
lastError?: string;
|
|
16
|
+
lastAttemptAt?: Date;
|
|
17
|
+
tombstonedAt?: Date;
|
|
18
|
+
deletedPayloadKeys: number;
|
|
19
|
+
deletedStreams: number;
|
|
20
|
+
deletedQueueMessages: number;
|
|
21
|
+
}
|
|
22
|
+
interface RunTombstone {
|
|
23
|
+
version: 1;
|
|
24
|
+
runId: string;
|
|
25
|
+
terminalStatus: TerminalWorkflowRunStatus;
|
|
26
|
+
completedAt: Date;
|
|
27
|
+
expiredAt: Date;
|
|
28
|
+
tombstonedAt: Date;
|
|
29
|
+
}
|
|
30
|
+
type RunReadOutcome<T> = {
|
|
31
|
+
ok: true;
|
|
32
|
+
value: T;
|
|
33
|
+
} | {
|
|
34
|
+
ok: false;
|
|
35
|
+
code: 'RUN_EXPIRED';
|
|
36
|
+
message: string;
|
|
37
|
+
tombstone: RunTombstone;
|
|
38
|
+
};
|
|
39
|
+
interface HookIndexReference {
|
|
40
|
+
hookId: string;
|
|
41
|
+
token: string;
|
|
42
|
+
}
|
|
43
|
+
interface ExpireRunIndexesRequest {
|
|
44
|
+
runId: string;
|
|
45
|
+
keys: string[];
|
|
46
|
+
hooks: HookIndexReference[];
|
|
47
|
+
expiredAt: number;
|
|
48
|
+
}
|
|
49
|
+
interface ExpireRunIndexesResult {
|
|
50
|
+
deleted: number;
|
|
51
|
+
}
|
|
52
|
+
interface ExpireRunStreamsResult {
|
|
53
|
+
streams: string[];
|
|
54
|
+
}
|
|
55
|
+
interface ExpireStreamResult {
|
|
56
|
+
deleted: boolean;
|
|
57
|
+
chunks: number;
|
|
58
|
+
}
|
|
59
|
+
interface ExpireQueueRunResult {
|
|
60
|
+
deleted: number;
|
|
61
|
+
}
|
|
62
|
+
interface ScheduleCleanupRequest {
|
|
63
|
+
retentionMs: number;
|
|
64
|
+
queueShards: number;
|
|
65
|
+
}
|
|
66
|
+
//#endregion
|
|
2
67
|
//#region src/apply-event.d.ts
|
|
3
68
|
interface ApplyEventRequest {
|
|
4
69
|
/** The effective run id (already resolved / generated by the caller). */
|
|
@@ -12,6 +77,8 @@ interface ApplyEventRequest {
|
|
|
12
77
|
runId: string;
|
|
13
78
|
hookId: string;
|
|
14
79
|
} | null;
|
|
80
|
+
/** Internal world-celld retention policy captured with the event. */
|
|
81
|
+
cleanup?: ScheduleCleanupRequest;
|
|
15
82
|
}
|
|
16
83
|
type ApplyEventErrorCode = 'RUN_NOT_FOUND' | 'STEP_NOT_FOUND' | 'HOOK_NOT_FOUND' | 'ENTITY_CONFLICT' | 'RUN_EXPIRED' | 'TOO_EARLY' | 'RUN_NOT_SUPPORTED' | 'LEGACY_RUN_NOT_SUPPORTED';
|
|
17
84
|
interface ApplyEventFailure {
|
|
@@ -54,36 +121,40 @@ type ApplyEventOutcome = ApplyEventSuccess | ApplyEventFailure;
|
|
|
54
121
|
*/
|
|
55
122
|
interface WorkflowRunDOStub {
|
|
56
123
|
applyEvent(request: ApplyEventRequest): Promise<ApplyEventOutcome>;
|
|
57
|
-
getRun(): Promise<WorkflowRun | null
|
|
58
|
-
getStep(stepId: string): Promise<Step | null
|
|
59
|
-
getEvent(eventId: string): Promise<Event | null
|
|
124
|
+
getRun(): Promise<RunReadOutcome<WorkflowRun | null>>;
|
|
125
|
+
getStep(stepId: string): Promise<RunReadOutcome<Step | null>>;
|
|
126
|
+
getEvent(eventId: string): Promise<RunReadOutcome<Event | null>>;
|
|
60
127
|
listEvents(params?: {
|
|
61
128
|
limit?: number;
|
|
62
129
|
cursor?: string;
|
|
63
130
|
sortOrder?: 'asc' | 'desc';
|
|
64
|
-
}): Promise<{
|
|
131
|
+
}): Promise<RunReadOutcome<{
|
|
65
132
|
data: Event[];
|
|
66
133
|
cursor: string | null;
|
|
67
134
|
hasMore: boolean;
|
|
68
|
-
}
|
|
135
|
+
}>>;
|
|
69
136
|
listSteps(params?: {
|
|
70
137
|
limit?: number;
|
|
71
138
|
cursor?: string;
|
|
72
139
|
sortOrder?: 'asc' | 'desc';
|
|
73
|
-
}): Promise<{
|
|
140
|
+
}): Promise<RunReadOutcome<{
|
|
74
141
|
data: Step[];
|
|
75
142
|
cursor: string | null;
|
|
76
143
|
hasMore: boolean;
|
|
77
|
-
}
|
|
144
|
+
}>>;
|
|
78
145
|
listHooks(params?: {
|
|
79
146
|
limit?: number;
|
|
80
147
|
cursor?: string;
|
|
81
148
|
sortOrder?: 'asc' | 'desc';
|
|
82
|
-
}): Promise<{
|
|
149
|
+
}): Promise<RunReadOutcome<{
|
|
83
150
|
data: Hook[];
|
|
84
151
|
cursor: string | null;
|
|
85
152
|
hasMore: boolean;
|
|
86
|
-
}
|
|
153
|
+
}>>;
|
|
154
|
+
getCleanupStatus(): Promise<CleanupRecord | null>;
|
|
155
|
+
scheduleCleanup(request: ScheduleCleanupRequest): Promise<CleanupRecord | null>;
|
|
156
|
+
cleanupNow(request: ScheduleCleanupRequest): Promise<CleanupRecord | null>;
|
|
157
|
+
rearmCleanup(): Promise<CleanupRecord | null>;
|
|
87
158
|
}
|
|
88
159
|
interface WorkflowRunDONamespace {
|
|
89
160
|
idFromName(name: string): DurableObjectIdLike;
|
|
@@ -100,8 +171,8 @@ interface DurableObjectIdLike {
|
|
|
100
171
|
* protocol.
|
|
101
172
|
*/
|
|
102
173
|
interface StreamDOStub {
|
|
103
|
-
writeChunk(data: Uint8Array): Promise<number>;
|
|
104
|
-
closeStream(): Promise<void>;
|
|
174
|
+
writeChunk(runId: string, data: Uint8Array): Promise<number>;
|
|
175
|
+
closeStream(runId: string): Promise<void>;
|
|
105
176
|
getChunks(params: {
|
|
106
177
|
startIndex: number;
|
|
107
178
|
limit: number;
|
|
@@ -114,8 +185,11 @@ interface StreamDOStub {
|
|
|
114
185
|
tailIndex: number;
|
|
115
186
|
done: boolean;
|
|
116
187
|
}>;
|
|
117
|
-
registerStream(name: string): Promise<void>;
|
|
188
|
+
registerStream(runId: string, name: string): Promise<void>;
|
|
118
189
|
listStreams(): Promise<string[]>;
|
|
190
|
+
expireRegistry(runId: string, expiredAt: number): Promise<ExpireRunStreamsResult>;
|
|
191
|
+
finalizeRegistry(runId: string): Promise<void>;
|
|
192
|
+
expireStream(runId: string, expiredAt: number): Promise<ExpireStreamResult>;
|
|
119
193
|
}
|
|
120
194
|
interface StreamDONamespace {
|
|
121
195
|
idFromName(name: string): StreamDOId;
|
|
@@ -138,6 +212,8 @@ interface EnqueueRequest {
|
|
|
138
212
|
pathname: Pathname;
|
|
139
213
|
/** `stringify(message)` — the exact bytes POSTed to the app on delivery. */
|
|
140
214
|
body: string;
|
|
215
|
+
/** Owning workflow run; absent only for health-check messages. */
|
|
216
|
+
runId?: string;
|
|
141
217
|
idempotencyKey?: string;
|
|
142
218
|
delaySeconds?: number;
|
|
143
219
|
/**
|
|
@@ -157,12 +233,13 @@ type EnqueueOutcome = {
|
|
|
157
233
|
deduped: boolean;
|
|
158
234
|
} | {
|
|
159
235
|
ok: false;
|
|
160
|
-
code: 'CONFIG_MISMATCH';
|
|
236
|
+
code: 'CONFIG_MISMATCH' | 'RUN_EXPIRED';
|
|
161
237
|
message: string;
|
|
162
238
|
};
|
|
163
239
|
/** RPC surface of QueueDO used by the queue producer. */
|
|
164
240
|
interface QueueCellStub {
|
|
165
241
|
enqueue(request: EnqueueRequest): Promise<EnqueueOutcome>;
|
|
242
|
+
expireRun(runId: string, expiredAt: number): Promise<ExpireQueueRunResult>;
|
|
166
243
|
}
|
|
167
244
|
interface QueueCellNamespace {
|
|
168
245
|
idFromName(name: string): {
|
|
@@ -179,6 +256,10 @@ interface IndexNamespace {
|
|
|
179
256
|
get(key: string): Promise<string | null>;
|
|
180
257
|
put(key: string, value: string): Promise<void>;
|
|
181
258
|
delete(key: string): Promise<void>;
|
|
259
|
+
putOwned(runId: string, key: string, value: string): Promise<{
|
|
260
|
+
stored: boolean;
|
|
261
|
+
}>;
|
|
262
|
+
expireRun(request: ExpireRunIndexesRequest): Promise<ExpireRunIndexesResult>;
|
|
182
263
|
list(options?: {
|
|
183
264
|
prefix?: string;
|
|
184
265
|
cursor?: string;
|
|
@@ -237,6 +318,12 @@ interface CelldWorldConfig {
|
|
|
237
318
|
baseUrl?: string;
|
|
238
319
|
/** Number of queue cells to spread enqueues over. Default: 1 */
|
|
239
320
|
queueShards?: number;
|
|
321
|
+
/**
|
|
322
|
+
* Keep terminal run payloads for this many milliseconds before replacing
|
|
323
|
+
* them with metadata-only tombstones. Zero disables automatic cleanup.
|
|
324
|
+
* Default: process.env.CELLD_RUN_RETENTION_MS || 0
|
|
325
|
+
*/
|
|
326
|
+
runRetentionMs?: number;
|
|
240
327
|
/** Poll interval (ms) while waiting for new chunks on a live stream. Default: 250 */
|
|
241
328
|
readPollMs?: number;
|
|
242
329
|
/** Per-attempt fleet RPC deadline in milliseconds. Default: 30000 */
|
|
@@ -244,7 +331,16 @@ interface CelldWorldConfig {
|
|
|
244
331
|
}
|
|
245
332
|
//#endregion
|
|
246
333
|
//#region src/index.d.ts
|
|
247
|
-
|
|
334
|
+
interface CelldRetentionAdmin {
|
|
335
|
+
getStatus(runId: string): Promise<CleanupRecord | null>;
|
|
336
|
+
schedule(runId: string): Promise<CleanupRecord | null>;
|
|
337
|
+
cleanupNow(runId: string): Promise<CleanupRecord | null>;
|
|
338
|
+
rearm(runId: string): Promise<CleanupRecord | null>;
|
|
339
|
+
}
|
|
340
|
+
type CelldWorld = World & {
|
|
341
|
+
retention: CelldRetentionAdmin;
|
|
342
|
+
};
|
|
343
|
+
declare function createCelldWorld(config?: CelldWorldConfig): CelldWorld;
|
|
248
344
|
//#endregion
|
|
249
|
-
export { type CelldWorldConfig, type CelldWorldEnv, type EnqueueOutcome, type EnqueueRequest, type IndexNamespace, type QueueCellConfig, type QueueCellNamespace, type QueueCellStub, type StreamDONamespace, type StreamDOStub, type WorkflowRunDONamespace, type WorkflowRunDOStub, createCelldWorld, createCelldWorld as createWorld };
|
|
345
|
+
export { CelldRetentionAdmin, CelldWorld, type CelldWorldConfig, type CelldWorldEnv, type CleanupPhase, type CleanupRecord, type EnqueueOutcome, type EnqueueRequest, type IndexNamespace, type QueueCellConfig, type QueueCellNamespace, type QueueCellStub, type RunTombstone, type StreamDONamespace, type StreamDOStub, type WorkflowRunDONamespace, type WorkflowRunDOStub, createCelldWorld, createCelldWorld as createWorld };
|
|
250
346
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/apply-event.ts","../src/storage.ts","../src/streamer.ts","../src/queue.ts","../src/config.ts","../src/index.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/retention.ts","../src/apply-event.ts","../src/storage.ts","../src/streamer.ts","../src/queue.ts","../src/config.ts","../src/index.ts"],"mappings":"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"}
|