@ewhauser/world-celld 0.6.0 → 0.8.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 +35 -0
- package/README.md +32 -15
- package/celld-queue-worker/README.md +2 -2
- package/celld-queue-worker/wrangler.jsonc +3 -1
- package/celld-worker/README.md +3 -3
- package/dist/index.d.ts +54 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +113 -100
- package/dist/index.js.map +1 -1
- package/dist/queue-consumer.d.ts +1 -1
- package/dist/queue-consumer.js +1 -1
- package/dist/{queue-delivery-DzNOtCYA.d.ts → queue-delivery-BdeNUbRN.d.ts} +29 -3
- package/dist/queue-delivery-BdeNUbRN.d.ts.map +1 -0
- package/dist/{queue-protocol-Ds44uuND.js → queue-protocol-DKYt8qZJ.js} +26 -3
- package/dist/queue-protocol-DKYt8qZJ.js.map +1 -0
- package/dist/{queue-protocol-CmJNMH_5.js → run-list-C987PkJ2.js} +147 -18
- package/dist/run-list-C987PkJ2.js.map +1 -0
- package/dist/testing.d.ts +4 -2
- package/dist/testing.d.ts.map +1 -1
- package/dist/testing.js +762 -111
- package/dist/testing.js.map +1 -1
- package/dist/worker.d.ts +85 -1
- package/dist/worker.d.ts.map +1 -1
- package/dist/worker.js +888 -130
- package/dist/worker.js.map +1 -1
- package/docs/celld-v0.6-upgrade.md +121 -0
- package/package.json +4 -2
- package/dist/queue-delivery-DzNOtCYA.d.ts.map +0 -1
- package/dist/queue-protocol-CmJNMH_5.js.map +0 -1
- package/dist/queue-protocol-Ds44uuND.js.map +0 -1
- package/docs/celld-v0.5-upgrade.md +0 -130
package/dist/worker.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { i as QueuePayloadRegistration, r as QueuePayloadOrphan, t as QueueDeliveryResult } from "./queue-delivery-
|
|
1
|
+
import { a as RunQueueReservation, i as QueuePayloadRegistration, r as QueuePayloadOrphan, t as QueueDeliveryResult } from "./queue-delivery-BdeNUbRN.js";
|
|
2
2
|
import { CreateEventParams, CreateEventRequest, Event, Hook, RunCreatedEventRequest, Step, TerminalWorkflowRunStatus, Wait, WorkflowRun, WorkflowRunStatus } from "@workflow/world";
|
|
3
3
|
//#region src/worker/queue-payload-store.d.ts
|
|
4
4
|
/**
|
|
@@ -224,6 +224,15 @@ interface ApplyEventSuccess {
|
|
|
224
224
|
maxEvents?: number;
|
|
225
225
|
/** Deadline for publishing this authoritative mutation to derivative indexes. */
|
|
226
226
|
indexPublicationExpiresAt?: number;
|
|
227
|
+
/** Set by the worker router after it published `run` to the run catalog. */
|
|
228
|
+
runIndexPublished?: true;
|
|
229
|
+
/** Set by the worker router after it released `releasedHooks` from the hook indexes. */
|
|
230
|
+
hookIndexesReleased?: true;
|
|
231
|
+
/**
|
|
232
|
+
* The unchanged run returned with a `preloadEvents` hook_received replay
|
|
233
|
+
* log. It is not a run mutation, so it carries no index publication.
|
|
234
|
+
*/
|
|
235
|
+
replayRun?: WorkflowRun;
|
|
227
236
|
}
|
|
228
237
|
type ApplyEventOutcome = ApplyEventSuccess | ApplyEventFailure;
|
|
229
238
|
//#endregion
|
|
@@ -383,6 +392,8 @@ declare class StreamDO extends DurableObject {
|
|
|
383
392
|
private mutationTail;
|
|
384
393
|
private changeVersion;
|
|
385
394
|
private readonly waiters;
|
|
395
|
+
/** Multi-key read split into calls within the per-call key limit. */
|
|
396
|
+
private getMany;
|
|
386
397
|
private getMeta;
|
|
387
398
|
private assertOwner;
|
|
388
399
|
private assertWritable;
|
|
@@ -390,6 +401,13 @@ declare class StreamDO extends DurableObject {
|
|
|
390
401
|
private wakeReaders;
|
|
391
402
|
private waitForChange;
|
|
392
403
|
private readSnapshot;
|
|
404
|
+
private readChunkRows;
|
|
405
|
+
/**
|
|
406
|
+
* Plan from the small segment size rows, then load only the segments that
|
|
407
|
+
* cover the requested range. A read that starts on a segment boundary (the
|
|
408
|
+
* common sequential case) needs one list and one multi-get.
|
|
409
|
+
*/
|
|
410
|
+
private readSegmentRows;
|
|
393
411
|
/** Append one bounded binary batch with contiguous indexes. */
|
|
394
412
|
writeChunks(runId: string, chunks: Uint8Array[]): Promise<StreamWriteResult>;
|
|
395
413
|
/**
|
|
@@ -410,6 +428,14 @@ declare class StreamDO extends DurableObject {
|
|
|
410
428
|
}): Promise<ExpireRunStreamsResult>;
|
|
411
429
|
/** Remove completed registry entries in a bounded, retry-safe batch. */
|
|
412
430
|
finalizeRegistry(runId: string, streams: string[]): Promise<FinalizeRunStreamsResult>;
|
|
431
|
+
/** Delete one page of per-chunk rows, listing size rows to avoid loading payloads. */
|
|
432
|
+
private expireChunkPage;
|
|
433
|
+
/**
|
|
434
|
+
* Delete one page of segment rows, listing segment size rows to avoid
|
|
435
|
+
* loading payloads. One segment always makes progress, even when it holds
|
|
436
|
+
* more chunks or bytes than the page allows.
|
|
437
|
+
*/
|
|
438
|
+
private expireSegmentPage;
|
|
413
439
|
/**
|
|
414
440
|
* Fence the stream and delete one bounded page. Listing size keys avoids
|
|
415
441
|
* loading payloads, and the transaction makes a crash retry resume safely.
|
|
@@ -503,6 +529,14 @@ declare class WorkflowRunDO extends DurableObject {
|
|
|
503
529
|
private executeScheduledCleanupPage;
|
|
504
530
|
private executeCleanup;
|
|
505
531
|
private executeTerminalCleanup;
|
|
532
|
+
/**
|
|
533
|
+
* Most runs end with a handful of hooks and waits. When every terminal
|
|
534
|
+
* phase fits in one page, release the hook indexes once and delete hooks,
|
|
535
|
+
* markers, and waits in a single transaction instead of one alarm and one
|
|
536
|
+
* transaction per phase. Returns false, having changed nothing locally, when
|
|
537
|
+
* any phase needs paging; the paged phases then run as before.
|
|
538
|
+
*/
|
|
539
|
+
private completeSmallTerminalCleanup;
|
|
506
540
|
private deleteTerminalHookPage;
|
|
507
541
|
private deleteTerminalHookMarkerPage;
|
|
508
542
|
private deleteTerminalWaitPage;
|
|
@@ -512,6 +546,56 @@ declare class WorkflowRunDO extends DurableObject {
|
|
|
512
546
|
private deletePayloadBatch;
|
|
513
547
|
private recordCleanupFailure;
|
|
514
548
|
private recordTerminalCleanupFailure;
|
|
549
|
+
/**
|
|
550
|
+
* Read-only admission for a run-bearing Queue message whose body travels
|
|
551
|
+
* inline in the broker envelope. It answers what payload registration does
|
|
552
|
+
* for offloaded bodies, without writing anything.
|
|
553
|
+
*/
|
|
554
|
+
getQueueAdmission(): Promise<{
|
|
555
|
+
ok: true;
|
|
556
|
+
} | {
|
|
557
|
+
ok: false;
|
|
558
|
+
message: string;
|
|
559
|
+
}>;
|
|
560
|
+
/**
|
|
561
|
+
* Enqueue-side admission and idempotency reservation in one transaction,
|
|
562
|
+
* for a run-scoped claim. Replaces a separate claim cell's reservation plus
|
|
563
|
+
* the run expiry check.
|
|
564
|
+
*/
|
|
565
|
+
reserveRunQueueMessage(params: {
|
|
566
|
+
claimName: string;
|
|
567
|
+
messageId: string;
|
|
568
|
+
expiresAt: number;
|
|
569
|
+
}): Promise<RunQueueReservation>;
|
|
570
|
+
/** Delivery-side run expiry check and in-flight claim in one transaction. */
|
|
571
|
+
claimRunQueueMessage(params: {
|
|
572
|
+
claimName: string;
|
|
573
|
+
messageId: string;
|
|
574
|
+
staleMs: number;
|
|
575
|
+
}): Promise<{
|
|
576
|
+
expired: true;
|
|
577
|
+
} | {
|
|
578
|
+
expired: false;
|
|
579
|
+
claimed: boolean;
|
|
580
|
+
retryAt?: number;
|
|
581
|
+
}>;
|
|
582
|
+
holdRunQueueMessage(params: {
|
|
583
|
+
claimName: string;
|
|
584
|
+
messageId: string;
|
|
585
|
+
retryAt: number;
|
|
586
|
+
expiresAt: number;
|
|
587
|
+
reservationExpiresAt?: number;
|
|
588
|
+
}): Promise<{
|
|
589
|
+
held: boolean;
|
|
590
|
+
}>;
|
|
591
|
+
releaseRunQueueMessage(params: {
|
|
592
|
+
claimName: string;
|
|
593
|
+
messageId: string;
|
|
594
|
+
}): Promise<void>;
|
|
595
|
+
completeRunQueueMessage(params: {
|
|
596
|
+
claimName: string;
|
|
597
|
+
messageId: string;
|
|
598
|
+
}): Promise<void>;
|
|
515
599
|
registerQueuePayload(registration: QueuePayloadRegistration): Promise<{
|
|
516
600
|
ok: true;
|
|
517
601
|
} | {
|
package/dist/worker.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.d.ts","names":[],"sources":["../src/worker/queue-payload-store.ts","../src/worker/router.ts","../src/worker/do-base.ts","../src/retention.ts","../src/apply-event.ts","../src/stream-protocol.ts","../src/indexes.ts","../src/config.ts","../src/worker/durable-objects/hook-index-shared.ts","../src/worker/durable-objects/HookIdDO.ts","../src/worker/durable-objects/HookTokenDO.ts","../src/worker/durable-objects/RunCatalogDO.ts","../src/worker/durable-objects/StreamDO.ts","../src/worker/durable-objects/WorkflowRunDO.ts","../src/worker/worker.ts"],"mappings":";;;;;;;;;;UAOiB;EACf,MAAM,aAAa,eAAe;IAAY;IAAe;MAAsB;EACnF,KAAK,cAAc;EACnB,OAAO,0BAA0B;;UAGlB;EACf,IACE,aACA,eACA;IAAY,iBAAiB;MAC5B;EACH,IAAI,cAAc;IAAU,QAAQ;;EACpC,OAAO,0BAA0B;;;;;
|
|
1
|
+
{"version":3,"file":"worker.d.ts","names":[],"sources":["../src/worker/queue-payload-store.ts","../src/worker/router.ts","../src/worker/do-base.ts","../src/retention.ts","../src/apply-event.ts","../src/stream-protocol.ts","../src/indexes.ts","../src/config.ts","../src/worker/durable-objects/hook-index-shared.ts","../src/worker/durable-objects/HookIdDO.ts","../src/worker/durable-objects/HookTokenDO.ts","../src/worker/durable-objects/RunCatalogDO.ts","../src/worker/durable-objects/StreamDO.ts","../src/worker/durable-objects/WorkflowRunDO.ts","../src/worker/worker.ts"],"mappings":"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"}
|