stitchkit 0.99.0 → 0.100.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/CHANGELOG.md +124 -1
- package/dist/agent-runtime/contained-darwin.d.ts +0 -17
- package/dist/agent-runtime/contained-darwin.d.ts.map +1 -1
- package/dist/agent-runtime/contained-write.d.ts.map +1 -1
- package/dist/agent-runtime/invocation-attempt.d.ts +28 -0
- package/dist/agent-runtime/invocation-attempt.d.ts.map +1 -0
- package/dist/agent-runtime/invocation-failure.d.ts +6 -0
- package/dist/agent-runtime/invocation-failure.d.ts.map +1 -0
- package/dist/agent-runtime/invocation-payload.d.ts +20 -0
- package/dist/agent-runtime/invocation-payload.d.ts.map +1 -0
- package/dist/agent-runtime/invocation-read.d.ts +131 -0
- package/dist/agent-runtime/invocation-read.d.ts.map +1 -0
- package/dist/agent-runtime/invocation-schema.d.ts +378 -0
- package/dist/agent-runtime/invocation-schema.d.ts.map +1 -0
- package/dist/agent-runtime/invocations.d.ts +52 -0
- package/dist/agent-runtime/invocations.d.ts.map +1 -0
- package/dist/agent-runtime/projections.d.ts.map +1 -1
- package/dist/agent-runtime/run-acquisition.d.ts.map +1 -1
- package/dist/agent-runtime/run-execution-state.d.ts +4 -2
- package/dist/agent-runtime/run-execution-state.d.ts.map +1 -1
- package/dist/agent-runtime/run-execution.d.ts.map +1 -1
- package/dist/agent-runtime/run-failure.d.ts.map +1 -1
- package/dist/agent-runtime/run-model-attempts.d.ts.map +1 -1
- package/dist/agent-runtime/run-operation-lifecycle.d.ts +2 -2
- package/dist/agent-runtime/run-operation-lifecycle.d.ts.map +1 -1
- package/dist/agent-runtime/run-provider-ledger.d.ts +1 -0
- package/dist/agent-runtime/run-provider-ledger.d.ts.map +1 -1
- package/dist/agent-runtime/runtime.d.ts +11 -0
- package/dist/agent-runtime/runtime.d.ts.map +1 -1
- package/dist/agent-runtime/schedule-dispatch.d.ts +9 -2
- package/dist/agent-runtime/schedule-dispatch.d.ts.map +1 -1
- package/dist/agent-runtime/schedule-records.d.ts +8 -2
- package/dist/agent-runtime/schedule-records.d.ts.map +1 -1
- package/dist/agent-runtime/schedules.d.ts +5 -0
- package/dist/agent-runtime/schedules.d.ts.map +1 -1
- package/dist/agent-runtime/sqlite-events.d.ts.map +1 -1
- package/dist/agent-runtime/store-create.d.ts.map +1 -1
- package/dist/agent-runtime/store-driver-contract.d.ts +9 -0
- package/dist/agent-runtime/store-driver-contract.d.ts.map +1 -1
- package/dist/agent-runtime/store-event-once.d.ts +37 -0
- package/dist/agent-runtime/store-event-once.d.ts.map +1 -0
- package/dist/agent-runtime/store-memory.d.ts.map +1 -1
- package/dist/agent-runtime/store.d.ts +11 -0
- package/dist/agent-runtime/store.d.ts.map +1 -1
- package/dist/application/change-subscription.d.ts +36 -0
- package/dist/application/change-subscription.d.ts.map +1 -0
- package/dist/application/diagnostic-journal-contract.d.ts +3 -6
- package/dist/application/diagnostic-journal-contract.d.ts.map +1 -1
- package/dist/application/notification-delivery.d.ts +55 -0
- package/dist/application/notification-delivery.d.ts.map +1 -0
- package/dist/application/notification-outbox-state.d.ts +41 -0
- package/dist/application/notification-outbox-state.d.ts.map +1 -0
- package/dist/application/notification-outbox.d.ts +7 -1
- package/dist/application/notification-outbox.d.ts.map +1 -1
- package/dist/application/watch-hub-core.d.ts +14 -84
- package/dist/application/watch-hub-core.d.ts.map +1 -1
- package/dist/application/watch-hub-source.d.ts +98 -0
- package/dist/application/watch-hub-source.d.ts.map +1 -0
- package/dist/application/watch-hub.d.ts +10 -2
- package/dist/application/watch-hub.d.ts.map +1 -1
- package/dist/browser/session-credentials.d.ts +26 -0
- package/dist/browser/session-credentials.d.ts.map +1 -0
- package/dist/browser/session.d.ts +33 -0
- package/dist/browser/session.d.ts.map +1 -0
- package/dist/durability/events.d.ts +6 -0
- package/dist/durability/events.d.ts.map +1 -1
- package/dist/entrypoints/agent-runtime/coding-tools.js +3 -2
- package/dist/entrypoints/agent-runtime/harness.js +5 -3
- package/dist/entrypoints/agent-runtime/sandbox.js +3 -2
- package/dist/entrypoints/agent-runtime/sqlite/bun.js +3 -3
- package/dist/entrypoints/agent-runtime/sqlite/node.js +3 -3
- package/dist/entrypoints/agent-runtime/testing.js +3 -3
- package/dist/entrypoints/agent-runtime.d.ts +3 -0
- package/dist/entrypoints/agent-runtime.d.ts.map +1 -1
- package/dist/entrypoints/agent-runtime.js +65 -20
- package/dist/entrypoints/application/diagnostic-journal.js +2 -1
- package/dist/entrypoints/application.d.ts +3 -1
- package/dist/entrypoints/application.d.ts.map +1 -1
- package/dist/entrypoints/application.js +820 -294
- package/dist/entrypoints/files.js +9 -2
- package/dist/entrypoints/index.d.ts +2 -0
- package/dist/entrypoints/index.d.ts.map +1 -1
- package/dist/entrypoints/index.js +199 -0
- package/dist/entrypoints/live.js +78 -19
- package/dist/entrypoints/node.js +1 -1
- package/dist/entrypoints/react.d.ts +1 -1
- package/dist/entrypoints/react.d.ts.map +1 -1
- package/dist/entrypoints/react.js +59 -16
- package/dist/entrypoints/server.js +4 -4
- package/dist/{index-sp1tzwnb.js → index-10x2hbx0.js} +5 -2
- package/dist/{index-8p52kd5p.js → index-c6bxbsnc.js} +100 -14
- package/dist/{index-gxrt5h6v.js → index-cyktc4bp.js} +3 -0
- package/dist/{index-1m2thnq0.js → index-eaysmdtq.js} +11 -2
- package/dist/{index-jhx828hc.js → index-f4fx2tza.js} +948 -279
- package/dist/{index-px2gm2jp.js → index-fhwqwxe0.js} +17 -55
- package/dist/{index-e4hkgm5t.js → index-gw8bmyaj.js} +4 -2
- package/dist/{index-p3vsv1fb.js → index-hadmp193.js} +14 -5
- package/dist/{index-wt743f7f.js → index-k6gpggb9.js} +2 -1
- package/dist/index-q3pyb9n0.js +22 -0
- package/dist/{index-wsm5w4ee.js → index-vqr7f7v8.js} +51 -3
- package/dist/index-zjjyynm3.js +42 -0
- package/dist/internal/coalesced-task.d.ts +17 -0
- package/dist/internal/coalesced-task.d.ts.map +1 -0
- package/dist/internal/darwin-binding.d.ts +19 -0
- package/dist/internal/darwin-binding.d.ts.map +1 -0
- package/dist/internal/exclusive-lock.d.ts +20 -7
- package/dist/internal/exclusive-lock.d.ts.map +1 -1
- package/dist/internal/mutation-queue.d.ts +4 -0
- package/dist/internal/mutation-queue.d.ts.map +1 -0
- package/dist/internal/process-identity.d.ts +1 -1
- package/dist/internal/process-identity.d.ts.map +1 -1
- package/dist/internal/process-instance.d.ts +26 -0
- package/dist/internal/process-instance.d.ts.map +1 -0
- package/dist/internal/with-exclusive-lock.d.ts.map +1 -1
- package/dist/live/watch-client-state.d.ts +71 -0
- package/dist/live/watch-client-state.d.ts.map +1 -0
- package/dist/live/watch-client.d.ts +5 -1
- package/dist/live/watch-client.d.ts.map +1 -1
- package/dist/live/watch-contract.d.ts +12 -0
- package/dist/live/watch-contract.d.ts.map +1 -1
- package/dist/react/cache-bridge.d.ts +10 -0
- package/dist/react/cache-bridge.d.ts.map +1 -1
- package/dist/server/realtime.d.ts.map +1 -1
- package/llms/agent-runtime.2.txt +102 -0
- package/llms/agent-runtime.3.txt +30 -1
- package/llms/agent-runtime.txt +8 -3
- package/llms/application.2.txt +84 -2
- package/llms/application.txt +32 -2
- package/llms/files.txt +1 -1
- package/llms/live.txt +8 -0
- package/llms/react.txt +8 -0
- package/llms/server.3.txt +57 -0
- package/llms/stitchkit.2.txt +41 -0
- package/llms/stitchkit.3.txt +26 -0
- package/llms/stitchkit.txt +3 -3
- package/llms/upgrading-0.37.0.txt +176 -0
- package/llms/{upgrading-0.37.0-0.58.0.txt → upgrading-0.44.0-0.60.0.txt} +229 -169
- package/llms/{upgrading-0.59.0-0.71.0.txt → upgrading-0.61.0-0.73.0.txt} +122 -229
- package/llms/{upgrading-0.72.0-0.99.0.txt → upgrading-0.74.0-0.100.0.txt} +80 -123
- package/llms/upgrading.txt +4 -3
- package/llms-full.txt +471 -11
- package/llms.txt +10 -9
- package/native/darwin-arm64.node +0 -0
- package/native/darwin-x64.node +0 -0
- package/package.json +1 -1
- package/dist/agent-runtime/run-mutation-queue.d.ts +0 -21
- package/dist/agent-runtime/run-mutation-queue.d.ts.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { z } from 'zod';
|
|
2
|
-
import { type AgentSchedule
|
|
2
|
+
import { type AgentSchedule } from './schedule-contract.js';
|
|
3
3
|
import type { SqliteAgentRuntimeStore } from './sqlite.js';
|
|
4
4
|
export interface ScheduleDispatchRequest {
|
|
5
5
|
conversationId: string;
|
|
@@ -15,11 +15,18 @@ export interface ScheduleDispatchRequest {
|
|
|
15
15
|
}
|
|
16
16
|
export interface ScheduleDispatchContext {
|
|
17
17
|
sqlite: SqliteAgentRuntimeStore;
|
|
18
|
-
|
|
18
|
+
/**
|
|
19
|
+
* Admit the firing. Return an `AgentScheduleDeliveryOutcome` (or throw) to
|
|
20
|
+
* fail it; returning anything else — nothing, a queue length, a receipt —
|
|
21
|
+
* means it was delivered.
|
|
22
|
+
*/
|
|
23
|
+
dispatch(request: ScheduleDispatchRequest): unknown;
|
|
19
24
|
now: () => Date;
|
|
20
25
|
setTimer: (callback: () => void, delayMs: number) => ReturnType<typeof setTimeout>;
|
|
21
26
|
clearTimer: (timer: ReturnType<typeof setTimeout>) => void;
|
|
22
27
|
signal: AbortSignal;
|
|
28
|
+
/** Failed attempts after which a schedule becomes `failed` instead of retrying. */
|
|
29
|
+
maxAttempts: number;
|
|
23
30
|
}
|
|
24
31
|
/** One fenced, bounded attempt. Consumer admission and settlement are at-least-once. */
|
|
25
32
|
export declare function dispatchSchedule(context: ScheduleDispatchContext, schedule: AgentSchedule): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schedule-dispatch.d.ts","sourceRoot":"","sources":["../../src/agent-runtime/schedule-dispatch.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,
|
|
1
|
+
{"version":3,"file":"schedule-dispatch.d.ts","sourceRoot":"","sources":["../../src/agent-runtime/schedule-dispatch.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EAAE,KAAK,aAAa,EAAsC,MAAM,qBAAqB,CAAC;AAE7F,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAExD,MAAM,WAAW,uBAAuB;IACtC,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;IAC9B,QAAQ,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/D,8FAA8F;IAC9F,MAAM,EAAE,WAAW,CAAC;CACrB;AACD,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,uBAAuB,CAAC;IAChC;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC;IACpD,GAAG,EAAE,MAAM,IAAI,CAAC;IAChB,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,OAAO,EAAE,MAAM,KAAK,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;IACnF,UAAU,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,KAAK,IAAI,CAAC;IAC3D,MAAM,EAAE,WAAW,CAAC;IACpB,mFAAmF;IACnF,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wFAAwF;AACxF,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,uBAAuB,EAChC,QAAQ,EAAE,aAAa,iBA6DxB"}
|
|
@@ -19,8 +19,14 @@ export interface ClaimedFiring {
|
|
|
19
19
|
/** Validate a request and build the schedule it describes; nothing is written. */
|
|
20
20
|
export declare function newSchedule(request: ScheduleRequest, observedAt: Date): AgentSchedule;
|
|
21
21
|
export declare function insertSchedule(sqlite: SqliteAgentRuntimeStore, schedule: AgentSchedule): Promise<void>;
|
|
22
|
-
/**
|
|
23
|
-
|
|
22
|
+
/**
|
|
23
|
+
* Retry delay is durable, capped at a minute, and never changes the occurrence's due time.
|
|
24
|
+
*
|
|
25
|
+
* `maxAttempts` bounds one occurrence, not the schedule: a one-off becomes
|
|
26
|
+
* `failed`, a recurring schedule gives up this occurrence and waits for its
|
|
27
|
+
* next slot — an outage longer than the retries does not end a recurring job.
|
|
28
|
+
*/
|
|
29
|
+
export declare function recordDispatchFailure(sqlite: SqliteAgentRuntimeStore, firing: ClaimedFiring, reason: string, maxAttempts: number, explicitlyTerminal?: boolean): Promise<void>;
|
|
24
30
|
/** Advance only the held occurrence; stale and cancelled attempts produce no settlement events. */
|
|
25
31
|
export declare function settleFiring(sqlite: SqliteAgentRuntimeStore, firing: ClaimedFiring, lateByMs: number): Promise<void>;
|
|
26
32
|
/** Recheck both eligibility and the selected occurrence under BEGIN IMMEDIATE. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schedule-records.d.ts","sourceRoot":"","sources":["../../src/agent-runtime/schedule-records.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,KAAK,aAAa,EAAuB,MAAM,qBAAqB,CAAC;AAC9E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAExD,MAAM,WAAW,eAAe;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;IAC9B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,oFAAoF;AACpF,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,IAAI,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,kFAAkF;AAClF,wBAAgB,WAAW,CAAC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,IAAI,GAAG,aAAa,CA0CrF;AAED,wBAAsB,cAAc,CAClC,MAAM,EAAE,uBAAuB,EAC/B,QAAQ,EAAE,aAAa,GACtB,OAAO,CAAC,IAAI,CAAC,CA2Bf;
|
|
1
|
+
{"version":3,"file":"schedule-records.d.ts","sourceRoot":"","sources":["../../src/agent-runtime/schedule-records.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,KAAK,aAAa,EAAuB,MAAM,qBAAqB,CAAC;AAC9E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAExD,MAAM,WAAW,eAAe;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;IAC9B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,oFAAoF;AACpF,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,IAAI,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,kFAAkF;AAClF,wBAAgB,WAAW,CAAC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,IAAI,GAAG,aAAa,CA0CrF;AAED,wBAAsB,cAAc,CAClC,MAAM,EAAE,uBAAuB,EAC/B,QAAQ,EAAE,aAAa,GACtB,OAAO,CAAC,IAAI,CAAC,CA2Bf;AAkCD;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,uBAAuB,EAC/B,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,kBAAkB,UAAQ,GACzB,OAAO,CAAC,IAAI,CAAC,CAgEf;AAED,mGAAmG;AACnG,wBAAsB,YAAY,CAChC,MAAM,EAAE,uBAAuB,EAC/B,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAyCf;AAED,kFAAkF;AAClF,wBAAgB,aAAa,CAC3B,MAAM,EAAE,uBAAuB,EAC/B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,aAAa,EACvB,GAAG,EAAE,MAAM,IAAI,GACd,OAAO,CAAC,OAAO,CAAC,CA0BlB"}
|
|
@@ -8,5 +8,10 @@ export declare function createAgentScheduleService(input: {
|
|
|
8
8
|
clearTimer?: ScheduleDispatchContext['clearTimer'];
|
|
9
9
|
/** Storage/tick failures; dispatch failures are recorded in schedule/failed. */
|
|
10
10
|
onError?: (error: unknown) => void;
|
|
11
|
+
/**
|
|
12
|
+
* Failed dispatch attempts after which a schedule is `failed` rather than
|
|
13
|
+
* retried. Default 1000 — about sixteen hours at the one-minute retry ceiling.
|
|
14
|
+
*/
|
|
15
|
+
maxAttempts?: number;
|
|
11
16
|
}): AgentScheduleService;
|
|
12
17
|
//# sourceMappingURL=schedules.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schedules.d.ts","sourceRoot":"","sources":["../../src/agent-runtime/schedules.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,oBAAoB,EAE1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAoB,KAAK,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAGrF,wBAAgB,0BAA0B,CAAC,KAAK,EAAE;IAChD,MAAM,EAAE,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAC1C,QAAQ,EAAE,uBAAuB,CAAC,UAAU,CAAC,CAAC;IAC9C,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB,QAAQ,CAAC,EAAE,uBAAuB,CAAC,UAAU,CAAC,CAAC;IAC/C,UAAU,CAAC,EAAE,uBAAuB,CAAC,YAAY,CAAC,CAAC;IACnD,gFAAgF;IAChF,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"schedules.d.ts","sourceRoot":"","sources":["../../src/agent-runtime/schedules.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,oBAAoB,EAE1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAoB,KAAK,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAGrF,wBAAgB,0BAA0B,CAAC,KAAK,EAAE;IAChD,MAAM,EAAE,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAC1C,QAAQ,EAAE,uBAAuB,CAAC,UAAU,CAAC,CAAC;IAC9C,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB,QAAQ,CAAC,EAAE,uBAAuB,CAAC,UAAU,CAAC,CAAC;IAC/C,UAAU,CAAC,EAAE,uBAAuB,CAAC,YAAY,CAAC,CAAC;IACnD,gFAAgF;IAChF,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,oBAAoB,CAmKvB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-events.d.ts","sourceRoot":"","sources":["../../src/agent-runtime/sqlite-events.ts"],"names":[],"mappings":"AAOA,OAAO,EAKL,KAAK,iBAAiB,EACvB,MAAM,eAAe,CAAC;AAuBvB,eAAO,MAAM,YAAY,EAAE,iBAAiB,CAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"sqlite-events.d.ts","sourceRoot":"","sources":["../../src/agent-runtime/sqlite-events.ts"],"names":[],"mappings":"AAOA,OAAO,EAKL,KAAK,iBAAiB,EACvB,MAAM,eAAe,CAAC;AAuBvB,eAAO,MAAM,YAAY,EAAE,iBAAiB,CAAC,QAAQ,CAoEpD,CAAC;AAEF,2FAA2F;AAC3F,eAAO,MAAM,aAAa,EAAE,WAAW,CAAC,iBAAiB,CAAC,SAAS,CAAC,CA8HnE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store-create.d.ts","sourceRoot":"","sources":["../../src/agent-runtime/store-create.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,iBAAiB,EAQvB,MAAM,SAAS,CAAC;AAEjB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"store-create.d.ts","sourceRoot":"","sources":["../../src/agent-runtime/store-create.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,iBAAiB,EAQvB,MAAM,SAAS,CAAC;AAEjB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAYvE;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EACjD,MAAM,EAAE,uBAAuB,CAAC,WAAW,CAAC,GAC3C,iBAAiB,CAwDnB"}
|
|
@@ -787,6 +787,15 @@ export interface AgentRuntimeStoreDriver<TRANSACTION> {
|
|
|
787
787
|
events: {
|
|
788
788
|
append(transaction: TRANSACTION, event: AgentStoreEventDraft): Promise<AgentStoreEventEnvelope>;
|
|
789
789
|
list(transaction: TRANSACTION, input: z.infer<typeof ReadAgentStoreEventsSchema>): Promise<AgentStoreEventPage>;
|
|
790
|
+
/**
|
|
791
|
+
* One event by its identity, or `undefined`. Once-only admission asks this
|
|
792
|
+
* on every call; without it the store pages through the whole conversation
|
|
793
|
+
* log, which is linear in its length and reads every payload on the way.
|
|
794
|
+
*/
|
|
795
|
+
find?(transaction: TRANSACTION, input: {
|
|
796
|
+
conversationId: string;
|
|
797
|
+
eventId: string;
|
|
798
|
+
}): Promise<AgentStoreEventEnvelope | undefined>;
|
|
790
799
|
};
|
|
791
800
|
/** Optional driver-owned durable payloads included in the canonical archive. */
|
|
792
801
|
archive?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store-driver-contract.d.ts","sourceRoot":"","sources":["../../src/agent-runtime/store-driver-contract.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"store-driver-contract.d.ts","sourceRoot":"","sources":["../../src/agent-runtime/store-driver-contract.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { type AgentStoreEventEnvelope, type AppendAgentStoreEvent } from '../durability/events.js';
|
|
2
|
+
import type { AgentRuntimeStoreDriver } from './store-driver-contract.js';
|
|
3
|
+
/** The identity a once-only event carries: the same key always names the same event. */
|
|
4
|
+
export declare function eventOnceId(conversationId: string, kind: string, key: string): string;
|
|
5
|
+
/** A durable admission fence in the same transaction and log as ordinary events. */
|
|
6
|
+
export declare function appendEventOnce<TRANSACTION>(driver: AgentRuntimeStoreDriver<TRANSACTION>, input: AppendAgentStoreEvent, key: string): Promise<{
|
|
7
|
+
outcome: "duplicate";
|
|
8
|
+
event: {
|
|
9
|
+
schemaVersion: number;
|
|
10
|
+
eventId: string;
|
|
11
|
+
conversationId: string;
|
|
12
|
+
seq: number;
|
|
13
|
+
kind: string;
|
|
14
|
+
occurredAt: string;
|
|
15
|
+
payload: import("zod").JSONType;
|
|
16
|
+
ignorable?: true | undefined;
|
|
17
|
+
};
|
|
18
|
+
} | {
|
|
19
|
+
outcome: "applied";
|
|
20
|
+
event: {
|
|
21
|
+
schemaVersion: number;
|
|
22
|
+
eventId: string;
|
|
23
|
+
conversationId: string;
|
|
24
|
+
seq: number;
|
|
25
|
+
kind: string;
|
|
26
|
+
occurredAt: string;
|
|
27
|
+
payload: import("zod").JSONType;
|
|
28
|
+
ignorable?: true | undefined;
|
|
29
|
+
};
|
|
30
|
+
}>;
|
|
31
|
+
/** The event `appendEventOnce` wrote for this kind and key, if any. */
|
|
32
|
+
export declare function findEventOnce<TRANSACTION>(driver: AgentRuntimeStoreDriver<TRANSACTION>, input: {
|
|
33
|
+
conversationId: string;
|
|
34
|
+
kind: string;
|
|
35
|
+
key: string;
|
|
36
|
+
}): Promise<AgentStoreEventEnvelope | undefined>;
|
|
37
|
+
//# sourceMappingURL=store-event-once.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store-event-once.d.ts","sourceRoot":"","sources":["../../src/agent-runtime/store-event-once.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAE3B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAGvE,wFAAwF;AACxF,wBAAgB,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAKrF;AAyBD,oFAAoF;AACpF,wBAAgB,eAAe,CAAC,WAAW,EACzC,MAAM,EAAE,uBAAuB,CAAC,WAAW,CAAC,EAC5C,KAAK,EAAE,qBAAqB,EAC5B,GAAG,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;GAoBZ;AAED,uEAAuE;AACvE,wBAAgB,aAAa,CAAC,WAAW,EACvC,MAAM,EAAE,uBAAuB,CAAC,WAAW,CAAC,EAC5C,KAAK,EAAE;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAC3D,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC,CAM9C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store-memory.d.ts","sourceRoot":"","sources":["../../src/agent-runtime/store-memory.ts"],"names":[],"mappings":"AAOA,OAAO,EAIL,KAAK,iBAAiB,EACvB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"store-memory.d.ts","sourceRoot":"","sources":["../../src/agent-runtime/store-memory.ts"],"names":[],"mappings":"AAOA,OAAO,EAIL,KAAK,iBAAiB,EACvB,MAAM,SAAS,CAAC;AAiUjB,oGAAoG;AACpG,wBAAgB,6BAA6B,IAAI,iBAAiB,CA8DjE"}
|
|
@@ -2839,6 +2839,17 @@ export interface AgentRuntimeStore {
|
|
|
2839
2839
|
}): Promise<AgentRecoverablePage>;
|
|
2840
2840
|
/** Append one declared non-transition fact without creating a second history store. */
|
|
2841
2841
|
appendEvent(input: AppendAgentStoreEvent): Promise<AgentStoreEventEnvelope>;
|
|
2842
|
+
/** Optional atomic once-only admission. Required by model invocation receipts. */
|
|
2843
|
+
appendEventOnce?(input: AppendAgentStoreEvent, key: string): Promise<{
|
|
2844
|
+
outcome: 'applied' | 'duplicate';
|
|
2845
|
+
event: AgentStoreEventEnvelope;
|
|
2846
|
+
}>;
|
|
2847
|
+
/** The event `appendEventOnce` wrote for this kind and key — one lookup, not a log scan. */
|
|
2848
|
+
findEventOnce?(input: {
|
|
2849
|
+
conversationId: string;
|
|
2850
|
+
kind: string;
|
|
2851
|
+
key: string;
|
|
2852
|
+
}): Promise<AgentStoreEventEnvelope | undefined>;
|
|
2842
2853
|
/** Read one bounded ordered slice of the canonical conversation event log. */
|
|
2843
2854
|
readEvents(input: ReadAgentStoreEvents): Promise<AgentStoreEventPage>;
|
|
2844
2855
|
/** Deterministic canonical archive bytes for one conversation's durable event log. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/agent-runtime/store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/agent-runtime/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { type BackoffPolicy } from '../internal/backoff.js';
|
|
2
|
+
import { type ManagedResourceContext } from './resource.js';
|
|
3
|
+
export interface ChangeConnection {
|
|
4
|
+
subscribe(input: {
|
|
5
|
+
signal: AbortSignal;
|
|
6
|
+
hint(key: string): void;
|
|
7
|
+
disconnected(error: unknown): void;
|
|
8
|
+
}): Promise<void>;
|
|
9
|
+
close(): void | Promise<void>;
|
|
10
|
+
}
|
|
11
|
+
export interface ChangeReconciliation {
|
|
12
|
+
readonly signal: AbortSignal;
|
|
13
|
+
/** Synchronous publication is admitted only for the connection that started the read. */
|
|
14
|
+
commit(publish: () => void): boolean;
|
|
15
|
+
}
|
|
16
|
+
export interface ChangeSubscriptionConfig {
|
|
17
|
+
readonly id: string;
|
|
18
|
+
readonly keys: readonly string[];
|
|
19
|
+
readonly connect: (signal: AbortSignal) => Promise<ChangeConnection>;
|
|
20
|
+
readonly reconcile: (key: string, context: ChangeReconciliation) => Promise<void>;
|
|
21
|
+
readonly reconcileIntervalMs: number;
|
|
22
|
+
readonly timeoutMs?: number;
|
|
23
|
+
readonly backoff?: BackoffPolicy;
|
|
24
|
+
readonly onError: (error: unknown) => void;
|
|
25
|
+
}
|
|
26
|
+
export declare function changeSubscriptionResource(config: ChangeSubscriptionConfig): {
|
|
27
|
+
readonly id: string;
|
|
28
|
+
readonly start: (context: ManagedResourceContext) => {
|
|
29
|
+
ready?: undefined;
|
|
30
|
+
} | {
|
|
31
|
+
ready: Promise<void>;
|
|
32
|
+
};
|
|
33
|
+
readonly close: () => Promise<void>;
|
|
34
|
+
readonly force: () => Promise<void>;
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=change-subscription.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"change-subscription.d.ts","sourceRoot":"","sources":["../../src/application/change-subscription.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,aAAa,EAAiB,MAAM,qBAAqB,CAAC;AAGxE,OAAO,EAAyB,KAAK,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEhF,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,KAAK,EAAE;QACf,MAAM,EAAE,WAAW,CAAC;QACpB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;KACpC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClB,KAAK,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B;AACD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,yFAAyF;IACzF,MAAM,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC;CACtC;AACD,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACrE,QAAQ,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClF,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAC5C;AAsPD,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,wBAAwB;;;;;;;;;EAQ1E"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
import type { ExclusiveLockDiagnosis, ExclusiveLockOwner } from '../internal/exclusive-lock.js';
|
|
2
3
|
export declare const DiagnosticJournalLimitsSchema: z.ZodReadonly<z.ZodObject<{
|
|
3
4
|
maxEventBytes: z.ZodNumber;
|
|
4
5
|
maxPendingItems: z.ZodNumber;
|
|
@@ -196,12 +197,8 @@ export declare function parseDiagnosticJournalMode(mode: number | undefined): nu
|
|
|
196
197
|
export interface DiagnosticJournalLockDiagnosis {
|
|
197
198
|
readonly attribution: 'this-machine' | 'another-machine' | 'unattributable';
|
|
198
199
|
readonly liveness: 'alive' | 'gone' | 'not-probed';
|
|
199
|
-
readonly owner:
|
|
200
|
-
|
|
201
|
-
host: string;
|
|
202
|
-
acquiredAt: string;
|
|
203
|
-
machine?: string;
|
|
204
|
-
} | null;
|
|
200
|
+
readonly owner: ExclusiveLockOwner | null;
|
|
201
|
+
readonly identity?: ExclusiveLockDiagnosis['identity'];
|
|
205
202
|
}
|
|
206
203
|
/** Read the diagnosis a refused acquisition attached to its error, if it carried one. */
|
|
207
204
|
export declare function readDiagnosticJournalLockDiagnosis(error: unknown): DiagnosticJournalLockDiagnosis | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostic-journal-contract.d.ts","sourceRoot":"","sources":["../../src/application/diagnostic-journal-contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"diagnostic-journal-contract.d.ts","sourceRoot":"","sources":["../../src/application/diagnostic-journal-contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAM7F,eAAO,MAAM,6BAA6B;;;;;;mBAS7B,CAAC;AACd,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF,eAAO,MAAM,iCAAiC;;;EAAsC,CAAC;AACrF,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAC;AAE5F,eAAO,MAAM,4BAA4B;;;;;EAAmD,CAAC;AAC7F,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,eAAO,MAAM,oCAAoC;;;;;;;EAO/C,CAAC;AACH,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAClD,OAAO,oCAAoC,CAC5C,CAAC;AAcF,eAAO,MAAM,mCAAmC;;;;EAAyC,CAAC;AAC1F,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CACjD,OAAO,mCAAmC,CAC3C,CAAC;AAEF,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAwC7B,CAAC;AACd,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;gCAgB9C,CAAC;AACH,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CACjD,OAAO,mCAAmC,CAC3C,CAAC;AAEF,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;mBAQjC,CAAC;AACd,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAC;AAE5F,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;mBAOlC,CAAC;AACd,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAC;AAE9F,eAAO,MAAM,4BAA4B;;;;;mBAQ5B,CAAC;AACd,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,KAAK,EAAE,6BAA6B,CAAC;IAC9C,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,uBAAuB,CAAC,MAAM,SAAS,CAAC,CAAC,OAAO;IAC/D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,yEAAyE;IACzE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;IACzC,0DAA0D;IAC1D,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;OAMG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,2BAA2B,CAAC;IAC5C;;;;;;;;;OASG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,6EAA6E;IAC7E,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,wBAAwB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClF;AAED,MAAM,WAAW,iBAAiB,CAAC,KAAK;IACtC,6EAA6E;IAC7E,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,6BAA6B,CAAC;IACpD,8FAA8F;IAC9F,KAAK,CAAC,OAAO,CAAC,EAAE,4BAA4B,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;IACpF,SAAS,IAAI,uBAAuB,CAAC;IACrC,kGAAkG;IAClG,KAAK,CAAC,OAAO,CAAC,EAAE,4BAA4B,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC;CACtF;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAE3E;AAaD,kGAAkG;AAClG,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,WAAW,EAAE,cAAc,GAAG,iBAAiB,GAAG,gBAAgB,CAAC;IAC5E,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,YAAY,CAAC;IACnD,QAAQ,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC1C,QAAQ,CAAC,QAAQ,CAAC,EAAE,sBAAsB,CAAC,UAAU,CAAC,CAAC;CACxD;AAED,yFAAyF;AACzF,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,OAAO,GACb,8BAA8B,GAAG,SAAS,CAM5C"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { NotificationOutboxItem, NotificationOutboxState, NotificationSend } from './notification-outbox.js';
|
|
3
|
+
import type { StateStore } from './state-store.js';
|
|
4
|
+
export declare const NotificationDeliveryStateSchema: z.ZodObject<{
|
|
5
|
+
version: z.ZodString;
|
|
6
|
+
actions: z.ZodArray<z.ZodString>;
|
|
7
|
+
receipts: z.ZodArray<z.ZodObject<{
|
|
8
|
+
action: z.ZodString;
|
|
9
|
+
receipt: z.ZodJSONSchema;
|
|
10
|
+
unrecorded: z.ZodOptional<z.ZodEnum<{
|
|
11
|
+
"not-json": "not-json";
|
|
12
|
+
"too-large": "too-large";
|
|
13
|
+
}>>;
|
|
14
|
+
}, z.core.$strict>>;
|
|
15
|
+
projectedAt: z.ZodOptional<z.ZodString>;
|
|
16
|
+
}, z.core.$strict>;
|
|
17
|
+
export type NotificationDeliveryState = z.infer<typeof NotificationDeliveryStateSchema>;
|
|
18
|
+
export type NotificationProjection<TPayload> = (notification: NotificationSend<TPayload>, receipts: NotificationDeliveryState['receipts']) => void | Promise<void>;
|
|
19
|
+
export interface NotificationDeliveryConfig<TPayload> {
|
|
20
|
+
readonly version: string;
|
|
21
|
+
readonly actions: (payload: TPayload) => readonly string[];
|
|
22
|
+
readonly project: NotificationProjection<TPayload>;
|
|
23
|
+
/**
|
|
24
|
+
* Projections of earlier plan versions still waiting in the queue. A plan
|
|
25
|
+
* keeps its actions from enqueue, so an older version needs only its
|
|
26
|
+
* projection to finish: keep it here until the queue has drained it.
|
|
27
|
+
*/
|
|
28
|
+
readonly retiredVersions?: Readonly<Record<string, NotificationProjection<TPayload>>>;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* A queued plan whose version this executor does not know. It is reported to
|
|
32
|
+
* `onError` and waits for an executor that knows it — a newer or older process
|
|
33
|
+
* during a deploy or rollback, or this one once it lists the version in
|
|
34
|
+
* `retiredVersions` — without counting an attempt or consulting `classify`.
|
|
35
|
+
*/
|
|
36
|
+
export declare class NotificationPlanVersionError extends Error {
|
|
37
|
+
readonly version: string;
|
|
38
|
+
constructor(version: string);
|
|
39
|
+
}
|
|
40
|
+
/** Immutable plan captured at enqueue, never recomputed on retry. */
|
|
41
|
+
export declare function notificationDeliveryPlan<T>(config: NotificationDeliveryConfig<T>, payload: T): NotificationDeliveryState;
|
|
42
|
+
/** Checkpoints remain in the owning outbox's atomic state boundary. */
|
|
43
|
+
export declare function deliverNotification<T>(input: {
|
|
44
|
+
item: NotificationOutboxItem<T>;
|
|
45
|
+
store: StateStore<NotificationOutboxState<T>>;
|
|
46
|
+
config: NotificationDeliveryConfig<T>;
|
|
47
|
+
send(notification: NotificationSend<T>): unknown | Promise<unknown>;
|
|
48
|
+
clock(): Date;
|
|
49
|
+
leaseMs: number;
|
|
50
|
+
active(): boolean;
|
|
51
|
+
bounded(state: NotificationOutboxState<T>): NotificationOutboxState<T>;
|
|
52
|
+
/** An action succeeded but its receipt could not be kept as returned. */
|
|
53
|
+
report(error: unknown): Promise<void>;
|
|
54
|
+
}): Promise<boolean>;
|
|
55
|
+
//# sourceMappingURL=notification-delivery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notification-delivery.d.ts","sourceRoot":"","sources":["../../src/application/notification-delivery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EACV,sBAAsB,EACtB,uBAAuB,EACvB,gBAAgB,EACjB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,eAAO,MAAM,+BAA+B;;;;;;;;;;;;kBA8BzC,CAAC;AACJ,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAExF,MAAM,MAAM,sBAAsB,CAAC,QAAQ,IAAI,CAC7C,YAAY,EAAE,gBAAgB,CAAC,QAAQ,CAAC,EACxC,QAAQ,EAAE,yBAAyB,CAAC,UAAU,CAAC,KAC5C,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE1B,MAAM,WAAW,0BAA0B,CAAC,QAAQ;IAClD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,SAAS,MAAM,EAAE,CAAC;IAC3D,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IACnD;;;;OAIG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;CACvF;AAED;;;;;GAKG;AACH,qBAAa,4BAA6B,SAAQ,KAAK;IACrD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,YAAY,OAAO,EAAE,MAAM,EAI1B;CACF;AAoBD,qEAAqE;AACrE,wBAAgB,wBAAwB,CAAC,CAAC,EACxC,MAAM,EAAE,0BAA0B,CAAC,CAAC,CAAC,EACrC,OAAO,EAAE,CAAC,GACT,yBAAyB,CAM3B;AAED,uEAAuE;AACvE,wBAAsB,mBAAmB,CAAC,CAAC,EAAE,KAAK,EAAE;IAClD,IAAI,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAChC,KAAK,EAAE,UAAU,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,MAAM,EAAE,0BAA0B,CAAC,CAAC,CAAC,CAAC;IACtC,IAAI,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACpE,KAAK,IAAI,IAAI,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,IAAI,OAAO,CAAC;IAClB,OAAO,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC,CAAC,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC;IACvE,yEAAyE;IACzE,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC,GAAG,OAAO,CAAC,OAAO,CAAC,CAgFnB"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { DroppedNotification, NotificationFailureClassification, NotificationOutboxConfig, NotificationOutboxItem, NotificationOutboxState } from './notification-outbox.js';
|
|
3
|
+
/** One second doubling to a minute, no jitter — a single durable queue, not a fleet. */
|
|
4
|
+
export declare const DEFAULT_OUTBOX_BACKOFF: {
|
|
5
|
+
readonly minDelayMs: 1000;
|
|
6
|
+
readonly maxDelayMs: 60000;
|
|
7
|
+
readonly jitter: 0;
|
|
8
|
+
};
|
|
9
|
+
/** Every bound of the outbox, validated once at construction. */
|
|
10
|
+
export declare function resolveOutboxLimits<TPayload>(config: NotificationOutboxConfig<TPayload>): {
|
|
11
|
+
pollIntervalMs: number;
|
|
12
|
+
leaseMs: number;
|
|
13
|
+
maxAttempts: number;
|
|
14
|
+
maxQueue: number;
|
|
15
|
+
maxStateBytes: number;
|
|
16
|
+
retainReceipts: number;
|
|
17
|
+
};
|
|
18
|
+
/** The state would not fit `maxStateBytes` even with every receipt dropped. */
|
|
19
|
+
export declare class OutboxStateLimitError extends Error {
|
|
20
|
+
constructor(maxStateBytes: number);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* The state a transition may write: the queue within its limit, and receipts
|
|
24
|
+
* dropped oldest-first until the whole state fits its byte budget.
|
|
25
|
+
*/
|
|
26
|
+
export declare function boundedOutboxState<TPayload>(parsed: NotificationOutboxState<TPayload>, maxQueue: number, retainReceipts: number, maxStateBytes: number): NotificationOutboxState<TPayload>;
|
|
27
|
+
/** Why a failed send is dropped rather than retried, or `null` to retry it. */
|
|
28
|
+
export declare function dropReason(classification: NotificationFailureClassification, attempts: number, maxAttempts: number): DroppedNotification<unknown>['reason'] | null;
|
|
29
|
+
/** A backoff delay, bounded at a day: a retry later than that is a lost notification. */
|
|
30
|
+
export declare const RetryDelaySchema: z.ZodNumber;
|
|
31
|
+
export declare const NO_LEASE: {
|
|
32
|
+
readonly leaseOwner: null;
|
|
33
|
+
readonly leaseId: null;
|
|
34
|
+
readonly leaseUntil: null;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* The oldest item that is due and not leased by a live owner, leased now to
|
|
38
|
+
* `ownerId` — or `null` when nothing is ready.
|
|
39
|
+
*/
|
|
40
|
+
export declare function claimDue<TPayload>(queue: readonly NotificationOutboxItem<TPayload>[], now: Date, ownerId: string, leaseMs: number): NotificationOutboxItem<TPayload> | null;
|
|
41
|
+
//# sourceMappingURL=notification-outbox-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notification-outbox-state.d.ts","sourceRoot":"","sources":["../../src/application/notification-outbox-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EACV,mBAAmB,EACnB,iCAAiC,EACjC,wBAAwB,EACxB,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,uBAAuB,CAAC;AAI/B,wFAAwF;AACxF,eAAO,MAAM,sBAAsB;aACjC,UAAU,EAAE,IAAK;aACjB,UAAU,EAAE,KAAM;aAClB,MAAM,EAAE,CAAC;CACD,CAAC;AAEX,iEAAiE;AACjE,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,wBAAwB,CAAC,QAAQ,CAAC;;;;;;;EAsCvF;AAED,+EAA+E;AAC/E,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,YAAY,aAAa,EAAE,MAAM,EAGhC;CACF;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EACzC,MAAM,EAAE,uBAAuB,CAAC,QAAQ,CAAC,EACzC,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,GACpB,uBAAuB,CAAC,QAAQ,CAAC,CAYnC;AAED,+EAA+E;AAC/E,wBAAgB,UAAU,CACxB,cAAc,EAAE,iCAAiC,EACjD,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,mBAAmB,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,IAAI,CAI/C;AAED,yFAAyF;AACzF,eAAO,MAAM,gBAAgB,aAGD,CAAC;AAE7B,eAAO,MAAM,QAAQ;aAAK,UAAU;aAAQ,OAAO;aAAQ,UAAU;CAAiB,CAAC;AAEvF;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAC/B,KAAK,EAAE,SAAS,sBAAsB,CAAC,QAAQ,CAAC,EAAE,EAClD,GAAG,EAAE,IAAI,EACT,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,sBAAsB,CAAC,QAAQ,CAAC,GAAG,IAAI,CAgBzC"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
import { type NotificationDeliveryConfig, type NotificationDeliveryState } from './notification-delivery.js';
|
|
2
3
|
import { type ManagedResource } from './resource.js';
|
|
3
4
|
import type { StateStore } from './state-store.js';
|
|
4
5
|
export interface NotificationOutboxItem<TPayload> {
|
|
6
|
+
readonly delivery?: NotificationDeliveryState;
|
|
5
7
|
readonly key: string;
|
|
6
8
|
readonly payload: TPayload;
|
|
7
9
|
readonly createdAt: string;
|
|
@@ -12,6 +14,7 @@ export interface NotificationOutboxItem<TPayload> {
|
|
|
12
14
|
readonly leaseUntil: string | null;
|
|
13
15
|
}
|
|
14
16
|
export interface NotificationOutboxReceipt {
|
|
17
|
+
readonly delivery?: NotificationDeliveryState;
|
|
15
18
|
readonly key: string;
|
|
16
19
|
readonly completedAt: string;
|
|
17
20
|
}
|
|
@@ -23,6 +26,8 @@ export interface NotificationOutboxState<TPayload> {
|
|
|
23
26
|
/** The schema shared by any persistence adapter and the outbox itself. */
|
|
24
27
|
export declare function notificationOutboxStateSchema<TPayload>(payload: z.ZodType<TPayload>): z.ZodType<NotificationOutboxState<TPayload>>;
|
|
25
28
|
export interface NotificationSend<TPayload> {
|
|
29
|
+
readonly action?: string;
|
|
30
|
+
readonly idempotencyKey?: string;
|
|
26
31
|
readonly key: string;
|
|
27
32
|
readonly payload: TPayload;
|
|
28
33
|
readonly attempt: number;
|
|
@@ -39,7 +44,8 @@ export interface DroppedNotification<TPayload> {
|
|
|
39
44
|
export interface NotificationOutboxConfig<TPayload> {
|
|
40
45
|
readonly store: StateStore<NotificationOutboxState<TPayload>>;
|
|
41
46
|
readonly payloadSchema: z.ZodType<TPayload>;
|
|
42
|
-
readonly send: (notification: NotificationSend<TPayload>) =>
|
|
47
|
+
readonly send: (notification: NotificationSend<TPayload>) => unknown | Promise<unknown>;
|
|
48
|
+
readonly delivery?: NotificationDeliveryConfig<TPayload>;
|
|
43
49
|
readonly classify: (error: unknown) => NotificationFailureClassification | Promise<NotificationFailureClassification>;
|
|
44
50
|
readonly clock?: () => Date;
|
|
45
51
|
readonly ownerId?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notification-outbox.d.ts","sourceRoot":"","sources":["../../src/application/notification-outbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"notification-outbox.d.ts","sourceRoot":"","sources":["../../src/application/notification-outbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAEL,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAI/B,MAAM,yBAAyB,CAAC;AAUjC,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AACzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,MAAM,WAAW,sBAAsB,CAAC,QAAQ;IAC9C,QAAQ,CAAC,QAAQ,CAAC,EAAE,yBAAyB,CAAC;IAC9C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,yBAAyB,CAAC;IAC9C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,uBAAuB,CAAC,QAAQ;IAC/C,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC5D,QAAQ,CAAC,QAAQ,EAAE,SAAS,yBAAyB,EAAE,CAAC;CACzD;AAED,0EAA0E;AAC1E,wBAAgB,6BAA6B,CAAC,QAAQ,EACpD,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAC3B,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC,CA8B9C;AAED,MAAM,WAAW,gBAAgB,CAAC,QAAQ;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;CACzC;AAED,MAAM,WAAW,mBAAmB,CAAC,QAAQ;IAC3C,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IAChD,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,uBAAuB,GAAG,eAAe,CAAC;CACzE;AAED,MAAM,WAAW,wBAAwB,CAAC,QAAQ;IAChD,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9D,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5C,QAAQ,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC,QAAQ,CAAC,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACxF,QAAQ,CAAC,QAAQ,CAAC,EAAE,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IACzD,QAAQ,CAAC,QAAQ,EAAE,CACjB,KAAK,EAAE,OAAO,KACX,iCAAiC,GAAG,OAAO,CAAC,iCAAiC,CAAC,CAAC;IACpF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IACjD,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,YAAY,EAAE,mBAAmB,CAAC,QAAQ,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3F,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7D;AAED,MAAM,WAAW,mBAAmB,CAAC,QAAQ;IAC3C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;IAC3B,uDAAuD;IACvD,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,kBAAkB,CAAC,QAAQ;IAC1C,OAAO,CAAC,KAAK,EAAE,mBAAmB,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChE,iEAAiE;IACjE,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACzB,KAAK,IAAI,IAAI,CAAC;IACd,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,KAAK,IAAI,OAAO,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC,CAAC;CACrD;AAiFD,wBAAgB,wBAAwB,CAAC,QAAQ,EAC/C,MAAM,EAAE,wBAAwB,CAAC,QAAQ,CAAC,GACzC,kBAAkB,CAAC,QAAQ,CAAC,CAmM9B;AAED,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,0BAA0B,CAAC,QAAQ,CAAE,SAAQ,eAAe;IAC3E,KAAK,IAAI;QAAE,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAA;KAAE,CAAC;CAC3D;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,EACjD,MAAM,EAAE,kBAAkB,CAAC,QAAQ,CAAC,EACpC,MAAM,GAAE,gCAAqC,GAC5C,0BAA0B,CAAC,QAAQ,CAAC,CActC"}
|
|
@@ -3,51 +3,9 @@
|
|
|
3
3
|
* retry, the frames each subscriber is sent — whole values or differences
|
|
4
4
|
* against what it holds — and the release of a source nobody watches.
|
|
5
5
|
*/
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import
|
|
9
|
-
interface Source {
|
|
10
|
-
readonly key: WatchKey;
|
|
11
|
-
readonly operation: WatchOperation;
|
|
12
|
-
readonly args: unknown;
|
|
13
|
-
readonly subscribers: Set<WatchSubscriber>;
|
|
14
|
-
readonly unsubscribes: (() => void)[];
|
|
15
|
-
revision: number;
|
|
16
|
-
value?: unknown;
|
|
17
|
-
signature?: string;
|
|
18
|
-
fingerprint?: string;
|
|
19
|
-
/**
|
|
20
|
-
* Superseded values by revision, oldest first, under a byte ceiling.
|
|
21
|
-
*
|
|
22
|
-
* Insertion order is the eviction order, which is why this is a `Map` and not
|
|
23
|
-
* an object: the oldest revision is the one least likely to still be anyone's
|
|
24
|
-
* baseline.
|
|
25
|
-
*/
|
|
26
|
-
readonly history: Map<number, {
|
|
27
|
-
value: unknown;
|
|
28
|
-
fingerprint: string;
|
|
29
|
-
bytes: number;
|
|
30
|
-
}>;
|
|
31
|
-
historyBytes: number;
|
|
32
|
-
/**
|
|
33
|
-
* The revision each subscriber is known to hold — the base its next difference
|
|
34
|
-
* is taken against.
|
|
35
|
-
*
|
|
36
|
-
* "Known to hold" means delivered without throwing, not acknowledged. There is
|
|
37
|
-
* no ack on this protocol and adding one would put a round trip in front of
|
|
38
|
-
* every frame; the socket is ordered and reliable while it is up, and when it
|
|
39
|
-
* is not the subscriber re-declares what it has in `open`. A frame whose
|
|
40
|
-
* delivery threw does not advance the baseline, so the next one is taken
|
|
41
|
-
* against what actually arrived.
|
|
42
|
-
*/
|
|
43
|
-
readonly baselines: Map<WatchSubscriber, number>;
|
|
44
|
-
reading: boolean;
|
|
45
|
-
dirty: boolean;
|
|
46
|
-
state: WatchStateFrame;
|
|
47
|
-
retry?: ReturnType<typeof setTimeout>;
|
|
48
|
-
release?: ReturnType<typeof setTimeout>;
|
|
49
|
-
backoff: ReturnType<typeof createBackoff>;
|
|
50
|
-
}
|
|
6
|
+
import { type WatchKey, type WatchStateFrame } from '../live/watch-contract.js';
|
|
7
|
+
import type { AttachedWatcher, WatchAdmissionScope, WatchHubConfig, WatchOperation, WatchSubscriber } from './watch-hub.js';
|
|
8
|
+
import { type Source } from './watch-hub-source.js';
|
|
51
9
|
/**
|
|
52
10
|
* The hub's shared sources and what each subscriber holds. A class because
|
|
53
11
|
* every step — acquire, pump, publish, deliver, release — reads and writes the
|
|
@@ -56,13 +14,14 @@ interface Source {
|
|
|
56
14
|
export declare class WatchHubCore {
|
|
57
15
|
readonly config: WatchHubConfig;
|
|
58
16
|
readonly sources: Map<string, Source>;
|
|
59
|
-
readonly held: Map<WatchSubscriber,
|
|
17
|
+
readonly held: Map<WatchSubscriber, Map<string, string>>;
|
|
60
18
|
readonly maxWatches: number;
|
|
61
19
|
readonly holdMs: number;
|
|
62
20
|
readonly deltaMemoryBytes: number;
|
|
63
21
|
readonly same: NonNullable<WatchHubConfig['same']>;
|
|
64
22
|
reads: number;
|
|
65
23
|
closed: boolean;
|
|
24
|
+
periodic?: ReturnType<typeof setInterval>;
|
|
66
25
|
constructor(config: WatchHubConfig);
|
|
67
26
|
/**
|
|
68
27
|
* Hand one frame to one subscriber, and keep its failure to itself.
|
|
@@ -76,47 +35,18 @@ export declare class WatchHubCore {
|
|
|
76
35
|
*/
|
|
77
36
|
tell(key: WatchKey, send: () => void): boolean;
|
|
78
37
|
announceState(source: Source, state: WatchStateFrame): void;
|
|
79
|
-
/**
|
|
80
|
-
* Remember the value a subscriber may still be holding, under the byte ceiling.
|
|
81
|
-
*
|
|
82
|
-
* Called with the value being *superseded*, because that is the only one a
|
|
83
|
-
* difference can be taken against: the current value is `source.value` and
|
|
84
|
-
* needs no memory.
|
|
85
|
-
*/
|
|
86
|
-
remember(source: Source, revision: number, value: unknown, fingerprint: string): void;
|
|
87
|
-
/**
|
|
88
|
-
* The frame this one subscriber should receive — a difference when it saves,
|
|
89
|
-
* the value when it does not.
|
|
90
|
-
*
|
|
91
|
-
* The choice is per subscriber and it has to be: eight panels on one key can
|
|
92
|
-
* each be holding a different revision, one of them having just joined with
|
|
93
|
-
* nothing at all. A single broadcast frame would have to be the value, which
|
|
94
|
-
* is the behaviour this replaces.
|
|
95
|
-
*/
|
|
96
|
-
frameFor(source: Source, subscriber: WatchSubscriber): WatchValueFrame;
|
|
97
|
-
/**
|
|
98
|
-
* Believe a reconnecting subscriber about what it holds, as far as the
|
|
99
|
-
* fingerprint goes.
|
|
100
|
-
*
|
|
101
|
-
* The revision it names is a hint about *where* to look; the fingerprint is
|
|
102
|
-
* what decides. They are checked in that order against the current value first
|
|
103
|
-
* — the common case is a page that came back to an answer that never moved —
|
|
104
|
-
* and then against the superseded values still in memory.
|
|
105
|
-
*
|
|
106
|
-
* A fingerprint that matches nothing is not an error and is not announced: the
|
|
107
|
-
* subscriber simply has no baseline, and the next frame is the whole value,
|
|
108
|
-
* which is exactly right for a client holding something this hub cannot
|
|
109
|
-
* reconstruct.
|
|
110
|
-
*/
|
|
111
|
-
adoptBaseline(source: Source, subscriber: WatchSubscriber, have: WatchHave): void;
|
|
112
38
|
deliver(source: Source, subscriber: WatchSubscriber): boolean;
|
|
113
39
|
publish(source: Source, value: unknown, fingerprint: string): void;
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
acquire(operation: WatchOperation,
|
|
40
|
+
readSource(source: Source): Promise<void>;
|
|
41
|
+
readFailed(source: Source, error: unknown): void;
|
|
42
|
+
acquire(operation: WatchOperation, routed: WatchKey, args: unknown, scope?: string): Source;
|
|
117
43
|
release(source: Source): void;
|
|
118
|
-
|
|
44
|
+
/**
|
|
45
|
+
* Take one subscriber's route off a source; the subscriber leaves the source
|
|
46
|
+
* with its last route.
|
|
47
|
+
*/
|
|
48
|
+
unroute(source: Source, subscriber: WatchSubscriber, route: string): void;
|
|
49
|
+
attach(subscriber: WatchSubscriber, scope?: WatchAdmissionScope): AttachedWatcher;
|
|
119
50
|
close(): void;
|
|
120
51
|
}
|
|
121
|
-
export {};
|
|
122
52
|
//# sourceMappingURL=watch-hub-core.d.ts.map
|