@cotal-ai/core 0.12.0 → 0.13.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/acls.d.ts +31 -7
- package/dist/acls.d.ts.map +1 -1
- package/dist/acls.js +105 -17
- package/dist/acls.js.map +1 -1
- package/dist/agent-file.js +1 -1
- package/dist/agent-file.js.map +1 -1
- package/dist/auth-provider.d.ts +8 -0
- package/dist/auth-provider.d.ts.map +1 -1
- package/dist/auth-provider.js.map +1 -1
- package/dist/backup.d.ts.map +1 -1
- package/dist/backup.js +6 -4
- package/dist/backup.js.map +1 -1
- package/dist/broker-floor.d.ts +34 -0
- package/dist/broker-floor.d.ts.map +1 -0
- package/dist/broker-floor.js +39 -0
- package/dist/broker-floor.js.map +1 -0
- package/dist/canonical.d.ts +24 -0
- package/dist/canonical.d.ts.map +1 -0
- package/dist/canonical.js +159 -0
- package/dist/canonical.js.map +1 -0
- package/dist/connector.d.ts +4 -0
- package/dist/connector.d.ts.map +1 -1
- package/dist/endpoint-action.d.ts +424 -0
- package/dist/endpoint-action.d.ts.map +1 -0
- package/dist/endpoint-action.js +910 -0
- package/dist/endpoint-action.js.map +1 -0
- package/dist/endpoint-binding.d.ts +344 -0
- package/dist/endpoint-binding.d.ts.map +1 -0
- package/dist/endpoint-binding.js +753 -0
- package/dist/endpoint-binding.js.map +1 -0
- package/dist/endpoint-checkpoint.d.ts +292 -0
- package/dist/endpoint-checkpoint.d.ts.map +1 -0
- package/dist/endpoint-checkpoint.js +818 -0
- package/dist/endpoint-checkpoint.js.map +1 -0
- package/dist/endpoint-cluster.d.ts +95 -0
- package/dist/endpoint-cluster.d.ts.map +1 -0
- package/dist/endpoint-cluster.js +194 -0
- package/dist/endpoint-cluster.js.map +1 -0
- package/dist/endpoint-contract-store.d.ts +90 -0
- package/dist/endpoint-contract-store.d.ts.map +1 -0
- package/dist/endpoint-contract-store.js +348 -0
- package/dist/endpoint-contract-store.js.map +1 -0
- package/dist/endpoint-envelope.d.ts +165 -0
- package/dist/endpoint-envelope.d.ts.map +1 -0
- package/dist/endpoint-envelope.js +346 -0
- package/dist/endpoint-envelope.js.map +1 -0
- package/dist/endpoint-grants.d.ts +123 -0
- package/dist/endpoint-grants.d.ts.map +1 -0
- package/dist/endpoint-grants.js +215 -0
- package/dist/endpoint-grants.js.map +1 -0
- package/dist/endpoint-guard.d.ts +222 -0
- package/dist/endpoint-guard.d.ts.map +1 -0
- package/dist/endpoint-guard.js +468 -0
- package/dist/endpoint-guard.js.map +1 -0
- package/dist/endpoint-handle.d.ts +176 -0
- package/dist/endpoint-handle.d.ts.map +1 -0
- package/dist/endpoint-handle.js +608 -0
- package/dist/endpoint-handle.js.map +1 -0
- package/dist/endpoint-journal.d.ts +225 -0
- package/dist/endpoint-journal.d.ts.map +1 -0
- package/dist/endpoint-journal.js +431 -0
- package/dist/endpoint-journal.js.map +1 -0
- package/dist/endpoint-receipt.d.ts +225 -0
- package/dist/endpoint-receipt.d.ts.map +1 -0
- package/dist/endpoint-receipt.js +417 -0
- package/dist/endpoint-receipt.js.map +1 -0
- package/dist/endpoint-records.d.ts +243 -0
- package/dist/endpoint-records.d.ts.map +1 -0
- package/dist/endpoint-records.js +591 -0
- package/dist/endpoint-records.js.map +1 -0
- package/dist/endpoint-serve.d.ts +176 -0
- package/dist/endpoint-serve.d.ts.map +1 -0
- package/dist/endpoint-serve.js +446 -0
- package/dist/endpoint-serve.js.map +1 -0
- package/dist/endpoint-service.d.ts +518 -0
- package/dist/endpoint-service.d.ts.map +1 -0
- package/dist/endpoint-service.js +973 -0
- package/dist/endpoint-service.js.map +1 -0
- package/dist/endpoint-session.d.ts +398 -0
- package/dist/endpoint-session.d.ts.map +1 -0
- package/dist/endpoint-session.js +834 -0
- package/dist/endpoint-session.js.map +1 -0
- package/dist/endpoint-signing.d.ts +105 -0
- package/dist/endpoint-signing.d.ts.map +1 -0
- package/dist/endpoint-signing.js +190 -0
- package/dist/endpoint-signing.js.map +1 -0
- package/dist/endpoint-subjects.d.ts +222 -0
- package/dist/endpoint-subjects.d.ts.map +1 -0
- package/dist/endpoint-subjects.js +381 -0
- package/dist/endpoint-subjects.js.map +1 -0
- package/dist/endpoint-supervisor.d.ts +19 -0
- package/dist/endpoint-supervisor.d.ts.map +1 -0
- package/dist/endpoint-supervisor.js +12 -0
- package/dist/endpoint-supervisor.js.map +1 -0
- package/dist/endpoint-traits.d.ts +225 -0
- package/dist/endpoint-traits.d.ts.map +1 -0
- package/dist/endpoint-traits.js +469 -0
- package/dist/endpoint-traits.js.map +1 -0
- package/dist/endpoint-verbs.d.ts +277 -0
- package/dist/endpoint-verbs.d.ts.map +1 -0
- package/dist/endpoint-verbs.js +576 -0
- package/dist/endpoint-verbs.js.map +1 -0
- package/dist/endpoint-virtual.d.ts +308 -0
- package/dist/endpoint-virtual.d.ts.map +1 -0
- package/dist/endpoint-virtual.js +440 -0
- package/dist/endpoint-virtual.js.map +1 -0
- package/dist/endpoint-work.d.ts +304 -0
- package/dist/endpoint-work.d.ts.map +1 -0
- package/dist/endpoint-work.js +728 -0
- package/dist/endpoint-work.js.map +1 -0
- package/dist/endpoint.d.ts +66 -22
- package/dist/endpoint.d.ts.map +1 -1
- package/dist/endpoint.js +289 -89
- package/dist/endpoint.js.map +1 -1
- package/dist/evict.d.ts +95 -32
- package/dist/evict.d.ts.map +1 -1
- package/dist/evict.js +193 -3
- package/dist/evict.js.map +1 -1
- package/dist/index.d.ts +25 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +25 -0
- package/dist/index.js.map +1 -1
- package/dist/lease.d.ts +4 -0
- package/dist/lease.d.ts.map +1 -1
- package/dist/lease.js.map +1 -1
- package/dist/members.d.ts +4 -4
- package/dist/members.d.ts.map +1 -1
- package/dist/members.js +12 -12
- package/dist/members.js.map +1 -1
- package/dist/provision.d.ts +70 -18
- package/dist/provision.d.ts.map +1 -1
- package/dist/provision.js +194 -33
- package/dist/provision.js.map +1 -1
- package/dist/safe-pattern.d.ts +33 -0
- package/dist/safe-pattern.d.ts.map +1 -0
- package/dist/safe-pattern.js +486 -0
- package/dist/safe-pattern.js.map +1 -0
- package/dist/schema-profile.d.ts +93 -0
- package/dist/schema-profile.d.ts.map +1 -0
- package/dist/schema-profile.js +284 -0
- package/dist/schema-profile.js.map +1 -0
- package/dist/streams.d.ts +13 -8
- package/dist/streams.d.ts.map +1 -1
- package/dist/streams.js +35 -18
- package/dist/streams.js.map +1 -1
- package/dist/subjects.d.ts +100 -40
- package/dist/subjects.d.ts.map +1 -1
- package/dist/subjects.js +136 -60
- package/dist/subjects.js.map +1 -1
- package/dist/types.d.ts +9 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"endpoint-binding.js","sourceRoot":"","sources":["../src/endpoint-binding.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The AWAITABLE CHECKPOINT (SPEC §13.6): ONE durable pause primitive (approvals, guard holds,
|
|
3
|
+
* payment authorization) as a pattern over the `cp` record, the one-use `epf….cp.<token>`
|
|
4
|
+
* settle fact, and the MEDIATED timer plane (§13.2/§13.12) — zero new transport.
|
|
5
|
+
*
|
|
6
|
+
* The moving parts and their owners (§13.9 rows):
|
|
7
|
+
* - the `cp` RECORD (commit path): spec = the minted checkpoint (token, the goal it pauses,
|
|
8
|
+
* the bound holder); status = `waiting` with the DEADLINE GENERATION — the monotonic
|
|
9
|
+
* counter every heartbeat CAS-advances BEFORE replacing the timer.
|
|
10
|
+
* - the SETTLE FACT (commit path): ONE create-only CAS on `epf.<e>.cp.<token>` is the
|
|
11
|
+
* arbiter for the checkpoint's single settlement — a RESUME and the deadline EXPIRY race
|
|
12
|
+
* there, first claim wins, the loser observes it. Resume authorization is thereby ONE-USE
|
|
13
|
+
* (a duplicate resume is `conflict`) and expiry FAILS CLOSED (a post-expiry resume is
|
|
14
|
+
* refused with the recorded expiry).
|
|
15
|
+
* - the TIMER WRITER (its own principal): instances publish only `.schedule` REQUESTS into
|
|
16
|
+
* the schedules-DISABLED `EPT_REQ` stream, where any client-set scheduling header is inert
|
|
17
|
+
* bytes — and the writer REJECTS a request carrying one (the ADR-51 confused-deputy
|
|
18
|
+
* closure). The writer alone publishes the authoritative `.armed` (on EPT) with
|
|
19
|
+
* `Nats-Schedule-Target` = the sibling `.fire` derived from the AUTHENTICATED request
|
|
20
|
+
* subject's own tokens, never a body field. Every arm is FENCED: the writer reads the
|
|
21
|
+
* `.armed` subject's last sequence, proves the authoritative status LEADER-SERVED
|
|
22
|
+
* (`STREAM.MSG.GET`, never a possibly-follower Direct Get), and publishes with
|
|
23
|
+
* `Nats-Expected-Last-Subject-Sequence` pinned to that read — a delayed writer whose proof
|
|
24
|
+
* was superseded is rejected by the BROKER, so `.armed` can never roll back to a stale
|
|
25
|
+
* deadline. A same-`(timerId, generation)` arm re-derives
|
|
26
|
+
* the same `.armed` — the server's same-subject rollup makes a duplicate a no-op
|
|
27
|
+
* replacement, so the durable RECONCILER simply re-emits a `.schedule` at the current
|
|
28
|
+
* generation for every `waiting` status it owns; over-emission is harmless and a missing
|
|
29
|
+
* schedule is repaired without any status↔schedule read.
|
|
30
|
+
* - FIRE handling (the endpoint's trusted seam): act only on a fired message whose
|
|
31
|
+
* broker-authored `Nats-Scheduler` header equals the exact sibling `.armed` subject AND
|
|
32
|
+
* whose carried `(timerId, generation)` matches current status AND whose deadline is due
|
|
33
|
+
* at the owner's clock; everything else is discarded (forged) or a stale no-op.
|
|
34
|
+
*
|
|
35
|
+
* Deadlines are mandatory; clocks are inputs (`now`), never a module-internal Date.now.
|
|
36
|
+
*/
|
|
37
|
+
import type { KV } from "@nats-io/kv";
|
|
38
|
+
import { type JetStreamClient, type JetStreamManager } from "@nats-io/jetstream";
|
|
39
|
+
import { type MsgHdrs, type NatsConnection } from "@nats-io/transport-node";
|
|
40
|
+
import { type EpCaller } from "./endpoint-subjects.js";
|
|
41
|
+
/** A checkpoint's coordinates: the owning endpoint + the minted token. */
|
|
42
|
+
export interface CheckpointRef {
|
|
43
|
+
endpoint: string;
|
|
44
|
+
token: string;
|
|
45
|
+
}
|
|
46
|
+
/** The one-use settle-fact subject (`epf.<e>.cp.<token>`, §13.9). */
|
|
47
|
+
export declare function checkpointSettleSubject(space: string, ref: CheckpointRef): string;
|
|
48
|
+
/** The checkpoint SPEC (written once at mint): what is paused and who may resume. `holder` is
|
|
49
|
+
* MANDATORY (§13.6:1622/§13.10:2315: checkpoint resume is holder-bound — an omitted holder
|
|
50
|
+
* would make the token a BEARER credential resumable by anyone who learns it). The deep
|
|
51
|
+
* signature verification is the capability-handle slice; this seam enforces the recorded
|
|
52
|
+
* identity. `goal` is present iff the checkpoint pauses an action goal. */
|
|
53
|
+
export interface CheckpointSpecValue {
|
|
54
|
+
v: 1;
|
|
55
|
+
token: string;
|
|
56
|
+
goal?: {
|
|
57
|
+
caller: EpCaller;
|
|
58
|
+
goalId: string;
|
|
59
|
+
};
|
|
60
|
+
/** The guard's VERIFIED signed obligations, persisted at mint so they SURVIVE the pause
|
|
61
|
+
* (§13.6/§13.10: obligations are MUST-apply and reusable within their goal — a hold that
|
|
62
|
+
* verified them and then dropped them would release the executor with zero attenuations).
|
|
63
|
+
* Present iff the hold carried a non-empty set; release/reconcile return exactly this
|
|
64
|
+
* recorded set, signatures intact. Only meaningful with a `goal` binding. */
|
|
65
|
+
obligations?: CheckpointObligation[];
|
|
66
|
+
holder: {
|
|
67
|
+
id: string;
|
|
68
|
+
lifecycleUid: string;
|
|
69
|
+
};
|
|
70
|
+
mintedAt: number;
|
|
71
|
+
/** The initial (generation-1) deadline, recorded in the IMMUTABLE spec (distsys 8dcad72 M3):
|
|
72
|
+
* a mint that crashes after the spec exists but before the status is created must, on retry,
|
|
73
|
+
* re-derive the SAME initial deadline from the spec - never silently install a different one
|
|
74
|
+
* because the status was missing. Heartbeats extend the LIVE deadline in the status; this is
|
|
75
|
+
* only the original intent, fixed at mint. */
|
|
76
|
+
initialDeadline: number;
|
|
77
|
+
}
|
|
78
|
+
/** The persisted shape of one guard obligation (structurally identical to the guard module's
|
|
79
|
+
* GuardObligation; typed here to keep this module free of a runtime guard dependency). */
|
|
80
|
+
export interface CheckpointObligation {
|
|
81
|
+
v: 1;
|
|
82
|
+
space: string;
|
|
83
|
+
requestId: string;
|
|
84
|
+
signer: {
|
|
85
|
+
keyId: string;
|
|
86
|
+
};
|
|
87
|
+
attenuations: unknown[];
|
|
88
|
+
iat: number;
|
|
89
|
+
exp: number;
|
|
90
|
+
sig: string;
|
|
91
|
+
}
|
|
92
|
+
/** The checkpoint STATUS — the SINGLE SETTLEMENT ARBITER. Its KV revision is the one
|
|
93
|
+
* linearization point heartbeat, resume, and fire all contend on (a settle CAS-es the status
|
|
94
|
+
* BEFORE deriving the EPF fact, so a stale-generation fire loses to a heartbeat that advanced
|
|
95
|
+
* the revision). `state` is `waiting` until the ONE settlement; the deadline generation is the
|
|
96
|
+
* monotonic heartbeat counter and `deadline` is the CURRENT generation's absolute bound. When
|
|
97
|
+
* settled it carries the settlement details (`settledHolder`/`settledGeneration`/`settledTs`) so
|
|
98
|
+
* the derived one-use `epf.<e>.cp.<token>` fact is RECONSTRUCTABLE — a crash between the status
|
|
99
|
+
* CAS and the fact publish is repaired by re-deriving the fact from the settled status. */
|
|
100
|
+
export interface CheckpointStatusValue extends Record<string, unknown> {
|
|
101
|
+
state: "waiting" | "resumed" | "expired";
|
|
102
|
+
deadlineGeneration: number;
|
|
103
|
+
deadline: number;
|
|
104
|
+
observedSpecRevision: number;
|
|
105
|
+
settledGeneration?: number;
|
|
106
|
+
settledHolder?: {
|
|
107
|
+
id: string;
|
|
108
|
+
lifecycleUid: string;
|
|
109
|
+
};
|
|
110
|
+
settledTs?: number;
|
|
111
|
+
}
|
|
112
|
+
/** The one-use settlement: resume and expiry race for this single create-only CAS. */
|
|
113
|
+
export interface CheckpointSettleFact {
|
|
114
|
+
v: 1;
|
|
115
|
+
token: string;
|
|
116
|
+
settle: "resumed" | "expired";
|
|
117
|
+
generation: number;
|
|
118
|
+
holder?: {
|
|
119
|
+
id: string;
|
|
120
|
+
lifecycleUid: string;
|
|
121
|
+
};
|
|
122
|
+
ts: number;
|
|
123
|
+
}
|
|
124
|
+
/** Read the checkpoint's current status (`undefined` = unknown token). Fail-closed on DEL. */
|
|
125
|
+
export declare function readCheckpointStatus(kv: KV, ref: CheckpointRef): Promise<{
|
|
126
|
+
value: CheckpointStatusValue;
|
|
127
|
+
revision: number;
|
|
128
|
+
} | undefined>;
|
|
129
|
+
/** Publish a `.schedule` REQUEST onto the mediated timer plane — the ONLY timer publish an
|
|
130
|
+
* instance holds (§13.9). Plain bytes, NO scheduling headers (a header would be inert on the
|
|
131
|
+
* schedules-disabled request stream and the writer rejects it anyway); the mint, the
|
|
132
|
+
* heartbeat, and the durable reconciler all share exactly this emission, which is what makes
|
|
133
|
+
* reconciliation over-emission harmless (same `(timerId, generation)` → the writer re-derives
|
|
134
|
+
* the same `.armed`, a no-op replacement). */
|
|
135
|
+
export declare function emitScheduleRequest(js: JetStreamClient, space: string, args: {
|
|
136
|
+
endpoint: string;
|
|
137
|
+
instanceId: string;
|
|
138
|
+
epoch: number;
|
|
139
|
+
token: string;
|
|
140
|
+
generation: number;
|
|
141
|
+
deadline: number;
|
|
142
|
+
}): Promise<void>;
|
|
143
|
+
/** Mint a checkpoint (the commit path, §13.6): the durable token's spec + a `waiting` status
|
|
144
|
+
* at generation 1 with the MANDATORY deadline, then the `.schedule` request. The record is
|
|
145
|
+
* durable BEFORE the timer exists; a crash between the two is exactly what the reconciler's
|
|
146
|
+
* re-emit repairs. */
|
|
147
|
+
export declare function mintCheckpoint(kv: KV, js: JetStreamClient, space: string, args: {
|
|
148
|
+
ref: CheckpointRef;
|
|
149
|
+
instanceId: string;
|
|
150
|
+
epoch: number;
|
|
151
|
+
goal?: {
|
|
152
|
+
caller: EpCaller;
|
|
153
|
+
goalId: string;
|
|
154
|
+
};
|
|
155
|
+
/** The guard's VERIFIED obligations to persist across the pause (goal-bound holds only);
|
|
156
|
+
* an empty array is treated as absent. */
|
|
157
|
+
obligations?: CheckpointObligation[];
|
|
158
|
+
/** MANDATORY (§13.6/§13.10): resume is holder-bound; an omitted holder = a bearer token. */
|
|
159
|
+
holder: {
|
|
160
|
+
id: string;
|
|
161
|
+
lifecycleUid: string;
|
|
162
|
+
};
|
|
163
|
+
deadline: number;
|
|
164
|
+
now: number;
|
|
165
|
+
}): Promise<{
|
|
166
|
+
specRevision: number;
|
|
167
|
+
}>;
|
|
168
|
+
/** Heartbeat/extend: gate on the SETTLE FACT first (a settled checkpoint refuses and its
|
|
169
|
+
* lagging status is converged), then CAS-advance the deadline generation IN STATUS FIRST, then
|
|
170
|
+
* replace the timer (a new `.schedule` at the new generation — the mediated writer's
|
|
171
|
+
* same-subject `.armed` publish is the server rollup; the 2.14 atomic stop-plus-publish is NOT
|
|
172
|
+
* assumed at the 2.12 floor). The generation order is load-bearing: a crash after the CAS and
|
|
173
|
+
* before the emission leaves a stale-generation timer whose fire NO-OPS at the handler, and the
|
|
174
|
+
* reconciler re-emits the current generation — never a fire acting on a superseded deadline. */
|
|
175
|
+
export declare function heartbeatCheckpoint(kv: KV, js: JetStreamClient, jsm: JetStreamManager, space: string, args: {
|
|
176
|
+
ref: CheckpointRef;
|
|
177
|
+
instanceId: string;
|
|
178
|
+
epoch: number;
|
|
179
|
+
deadline: number;
|
|
180
|
+
now: number;
|
|
181
|
+
}): Promise<CheckpointStatusValue>;
|
|
182
|
+
/** The timer writer's RESOURCE-ATTESTED context: an OPAQUE token carrying only the ONE space
|
|
183
|
+
* this writer serves. The broker resources it operates with (the `.armed` publish rail and the
|
|
184
|
+
* leader-read authority) are derived from ONE connection at construction and live in a
|
|
185
|
+
* module-private WeakMap keyed by the frozen token — they are not reachable properties, so a
|
|
186
|
+
* holder of the token cannot rebind the writer's publish rail or its status authority after
|
|
187
|
+
* construction (`ctx.js = evil` has nothing to assign to), and a hand-assembled look-alike
|
|
188
|
+
* carries no resources at all (the same containment as the receipt and contract stores). */
|
|
189
|
+
export interface TimerWriterContext {
|
|
190
|
+
readonly space: string;
|
|
191
|
+
}
|
|
192
|
+
export declare function timerWriterContext(nc: NatsConnection, space: string): Promise<TimerWriterContext>;
|
|
193
|
+
/** The TIMER WRITER: turn one authenticated `.schedule` request into the authoritative `.armed`
|
|
194
|
+
* publish. The armed/fire subjects derive from the REQUEST SUBJECT's own tokens (never body
|
|
195
|
+
* fields); the body must agree with the subject's timerId; any scheduling header on the request
|
|
196
|
+
* is a loud refusal; a request whose subject space is not the context's space is refused (the
|
|
197
|
+
* writer's status authority answers for ONE space). The writer FRESH-CHECKS the authoritative
|
|
198
|
+
* `(generation, deadline)` LEADER-SERVED within a bounded budget and arms ONLY the current
|
|
199
|
+
* generation under the {@link armCoordinate} broker CAS fence — a stale/delayed request is
|
|
200
|
+
* DISCARDED (`{ armed: false }`) and a delayed PUBLISH is rejected by the broker itself, so
|
|
201
|
+
* `.armed` can never roll back to a superseded deadline. A current request re-derives the same
|
|
202
|
+
* `.armed`; the server rollup makes it an idempotent no-op replacement (what the reconciler's
|
|
203
|
+
* over-emission rests on). After a successful arm the writer RE-READS the status and, if a
|
|
204
|
+
* heartbeat advanced it mid-flight, immediately arms the LIVE coordinate (bounded self-heal;
|
|
205
|
+
* the durable reconciler stays the crash backstop). */
|
|
206
|
+
export declare function armCheckpointTimer(ctx: TimerWriterContext, msg: {
|
|
207
|
+
subject: string;
|
|
208
|
+
headers?: MsgHdrs;
|
|
209
|
+
data: Uint8Array;
|
|
210
|
+
}, opts?: {
|
|
211
|
+
statusBudgetMs?: number;
|
|
212
|
+
}): Promise<{
|
|
213
|
+
armed: boolean;
|
|
214
|
+
armedSubject?: string;
|
|
215
|
+
fireSubject?: string;
|
|
216
|
+
generation?: number;
|
|
217
|
+
reason?: "stale" | "settled" | "unknown";
|
|
218
|
+
}>;
|
|
219
|
+
export type CheckpointFireVerdict = {
|
|
220
|
+
acted: false;
|
|
221
|
+
reason: "forged-origin" | "stale-generation" | "not-waiting" | "not-due" | "re-armed";
|
|
222
|
+
} | {
|
|
223
|
+
acted: true;
|
|
224
|
+
settle: CheckpointSettleFact;
|
|
225
|
+
won: boolean;
|
|
226
|
+
};
|
|
227
|
+
/** Handle one fired timer message: act ONLY on a fire whose broker-authored `Nats-Scheduler`
|
|
228
|
+
* header equals the exact sibling `.armed` subject (anything else is forged and discarded),
|
|
229
|
+
* whose `(timerId, generation)` matches the CURRENT waiting status (stale fires no-op: a
|
|
230
|
+
* heartbeat superseded that deadline), and whose authoritative deadline is due at the
|
|
231
|
+
* owner's clock. A valid fire EXPIRES the checkpoint by claiming the one-use settle CAS —
|
|
232
|
+
* where a concurrent resume may have lawfully claimed first: the fire then no-ops observing
|
|
233
|
+
* it. Expiry fails the checkpoint CLOSED (status `expired`; the paused goal's own terminal
|
|
234
|
+
* path is the action commit point). */
|
|
235
|
+
export declare function handleCheckpointFire(kv: KV, js: JetStreamClient, jsm: JetStreamManager, space_: string, args: {
|
|
236
|
+
ref: CheckpointRef;
|
|
237
|
+
/** The instance/epoch the checkpoint's timer is armed under — bound so a colliding-token
|
|
238
|
+
* fire for a DIFFERENT instance/epoch can never settle this ref. */
|
|
239
|
+
instanceId: string;
|
|
240
|
+
epoch: number;
|
|
241
|
+
msg: {
|
|
242
|
+
subject: string;
|
|
243
|
+
headers?: MsgHdrs;
|
|
244
|
+
data: Uint8Array;
|
|
245
|
+
};
|
|
246
|
+
now: number;
|
|
247
|
+
}): Promise<CheckpointFireVerdict>;
|
|
248
|
+
/** Resume a waiting checkpoint: HOLDER-BOUND (the spec's recorded holder MUST be the
|
|
249
|
+
* authenticated presenter) and ONE-USE (the status-arbiter CAS is the single settlement). A
|
|
250
|
+
* resume AT/AFTER the authoritative deadline does NOT claim `resumed` — expiry fails closed, so
|
|
251
|
+
* it drives/observes the EXPIRED settlement instead. Contends on the status revision with a
|
|
252
|
+
* concurrent heartbeat/fire: a stale (heartbeat-superseded) attempt retries once. */
|
|
253
|
+
export declare function resumeCheckpoint(kv: KV, js: JetStreamClient, jsm: JetStreamManager, space_: string, args: {
|
|
254
|
+
ref: CheckpointRef;
|
|
255
|
+
presenter: {
|
|
256
|
+
id: string;
|
|
257
|
+
lifecycleUid: string;
|
|
258
|
+
};
|
|
259
|
+
now: number;
|
|
260
|
+
}): Promise<CheckpointSettleFact>;
|
|
261
|
+
/** Read the recorded settlement (`undefined` = still waiting). */
|
|
262
|
+
export declare function readCheckpointSettle(jsm: JetStreamManager, space_: string, ref: CheckpointRef): Promise<CheckpointSettleFact | undefined>;
|
|
263
|
+
/** Read the checkpoint's recorded SPEC (`undefined` = unknown token; fail-closed on a deletion
|
|
264
|
+
* marker). The spec records WHAT the checkpoint pauses (its optional `goal` binding) and WHO
|
|
265
|
+
* may resume (`holder`) — a caller that must confirm a token pauses THIS goal reads it here. */
|
|
266
|
+
export declare function readCheckpointSpec(kv: KV, ref: CheckpointRef): Promise<CheckpointSpecValue | undefined>;
|
|
267
|
+
/** OWNER-forced expiry (§13.6): the pause's owner settles a DUE checkpoint `expired` without a
|
|
268
|
+
* broker fire — used when the owner already knows the hold deadline passed (a guard-hold
|
|
269
|
+
* expiry). Idempotent and fail-closed: an already-settled checkpoint returns its recorded
|
|
270
|
+
* settlement (the owner observes the winner); a still-live checkpoint (`now < deadline`)
|
|
271
|
+
* REFUSES (only a due checkpoint expires); a stale-generation CAS loss re-reads the winner.
|
|
272
|
+
* Never resets a settled checkpoint and never fabricates a settlement. */
|
|
273
|
+
export declare function expireCheckpoint(kv: KV, js: JetStreamClient, jsm: JetStreamManager, space_: string, args: {
|
|
274
|
+
ref: CheckpointRef;
|
|
275
|
+
now: number;
|
|
276
|
+
}): Promise<CheckpointSettleFact>;
|
|
277
|
+
/** The durable reconciler's re-emission (§13.6): for every genuinely-`waiting` checkpoint the
|
|
278
|
+
* endpoint owns, re-emit the `.schedule` request at the CURRENT generation. Idempotent at the
|
|
279
|
+
* writer (same-generation re-arm is a rollup no-op), so over-emission is harmless and a missing
|
|
280
|
+
* schedule is repaired without observing whether one exists. GATED ON THE SETTLE FACT, not the
|
|
281
|
+
* status projection: an already-settled checkpoint whose status still lags `waiting` (the
|
|
282
|
+
* crash window) is converged and NOT re-armed — without this gate the reconciler would re-emit
|
|
283
|
+
* schedules forever for a settled checkpoint (the C1 timer leak). */
|
|
284
|
+
export declare function reconcileCheckpointSchedule(kv: KV, js: JetStreamClient, jsm: JetStreamManager, space_: string, args: {
|
|
285
|
+
ref: CheckpointRef;
|
|
286
|
+
instanceId: string;
|
|
287
|
+
epoch: number;
|
|
288
|
+
}): Promise<{
|
|
289
|
+
reEmitted: boolean;
|
|
290
|
+
generation?: number;
|
|
291
|
+
}>;
|
|
292
|
+
//# sourceMappingURL=endpoint-checkpoint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"endpoint-checkpoint.d.ts","sourceRoot":"","sources":["../src/endpoint-checkpoint.ts"],"names":[],"mappings":"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"}
|