@cotal-ai/core 0.16.0 → 0.18.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/dist/acls.d.ts +21 -0
- package/dist/acls.d.ts.map +1 -1
- package/dist/acls.js +44 -1
- package/dist/acls.js.map +1 -1
- package/dist/artifact.d.ts +45 -0
- package/dist/artifact.d.ts.map +1 -0
- package/dist/artifact.js +82 -0
- package/dist/artifact.js.map +1 -0
- package/dist/backup-config.d.ts +9 -2
- package/dist/backup-config.d.ts.map +1 -1
- package/dist/backup-config.js +6 -2
- package/dist/backup-config.js.map +1 -1
- package/dist/broker-tls.d.ts +70 -0
- package/dist/broker-tls.d.ts.map +1 -0
- package/dist/broker-tls.js +195 -0
- package/dist/broker-tls.js.map +1 -0
- package/dist/canonical.d.ts +14 -1
- package/dist/canonical.d.ts.map +1 -1
- package/dist/canonical.js +21 -1
- package/dist/canonical.js.map +1 -1
- package/dist/channels.js +4 -4
- package/dist/channels.js.map +1 -1
- package/dist/endpoint-action.d.ts +108 -3
- package/dist/endpoint-action.d.ts.map +1 -1
- package/dist/endpoint-action.js +209 -20
- package/dist/endpoint-action.js.map +1 -1
- package/dist/endpoint-binding.d.ts +138 -8
- package/dist/endpoint-binding.d.ts.map +1 -1
- package/dist/endpoint-binding.js +233 -26
- package/dist/endpoint-binding.js.map +1 -1
- package/dist/endpoint-contract-store.d.ts +30 -1
- package/dist/endpoint-contract-store.d.ts.map +1 -1
- package/dist/endpoint-contract-store.js +100 -29
- package/dist/endpoint-contract-store.js.map +1 -1
- package/dist/endpoint-envelope.d.ts +15 -37
- package/dist/endpoint-envelope.d.ts.map +1 -1
- package/dist/endpoint-envelope.js +93 -44
- package/dist/endpoint-envelope.js.map +1 -1
- package/dist/endpoint-error.d.ts +33 -0
- package/dist/endpoint-error.d.ts.map +1 -0
- package/dist/endpoint-error.js +34 -0
- package/dist/endpoint-error.js.map +1 -0
- package/dist/endpoint-grants.d.ts +63 -7
- package/dist/endpoint-grants.d.ts.map +1 -1
- package/dist/endpoint-grants.js +118 -9
- package/dist/endpoint-grants.js.map +1 -1
- package/dist/endpoint-invoke.d.ts +138 -0
- package/dist/endpoint-invoke.d.ts.map +1 -0
- package/dist/endpoint-invoke.js +393 -0
- package/dist/endpoint-invoke.js.map +1 -0
- package/dist/endpoint-records.d.ts.map +1 -1
- package/dist/endpoint-records.js +17 -0
- package/dist/endpoint-records.js.map +1 -1
- package/dist/endpoint-serve-kv.d.ts +97 -0
- package/dist/endpoint-serve-kv.d.ts.map +1 -0
- package/dist/endpoint-serve-kv.js +336 -0
- package/dist/endpoint-serve-kv.js.map +1 -0
- package/dist/endpoint-serve.d.ts.map +1 -1
- package/dist/endpoint-serve.js +21 -1
- package/dist/endpoint-serve.js.map +1 -1
- package/dist/endpoint-service.d.ts +1 -1
- package/dist/endpoint-service.d.ts.map +1 -1
- package/dist/endpoint-service.js +34 -10
- package/dist/endpoint-service.js.map +1 -1
- package/dist/endpoint-session-rail.d.ts +127 -0
- package/dist/endpoint-session-rail.d.ts.map +1 -0
- package/dist/endpoint-session-rail.js +325 -0
- package/dist/endpoint-session-rail.js.map +1 -0
- package/dist/endpoint-session.d.ts +1 -115
- package/dist/endpoint-session.d.ts.map +1 -1
- package/dist/endpoint-session.js +4 -316
- package/dist/endpoint-session.js.map +1 -1
- package/dist/endpoint-subjects.d.ts +20 -1
- package/dist/endpoint-subjects.d.ts.map +1 -1
- package/dist/endpoint-subjects.js +20 -1
- package/dist/endpoint-subjects.js.map +1 -1
- package/dist/endpoint-verbs.d.ts +1 -2
- package/dist/endpoint-verbs.d.ts.map +1 -1
- package/dist/endpoint-verbs.js +6 -6
- package/dist/endpoint-verbs.js.map +1 -1
- package/dist/endpoint.d.ts +157 -11
- package/dist/endpoint.d.ts.map +1 -1
- package/dist/endpoint.js +471 -47
- package/dist/endpoint.js.map +1 -1
- package/dist/evict.d.ts +47 -0
- package/dist/evict.d.ts.map +1 -1
- package/dist/evict.js +191 -59
- package/dist/evict.js.map +1 -1
- package/dist/identity.d.ts +34 -0
- package/dist/identity.d.ts.map +1 -1
- package/dist/identity.js +46 -0
- package/dist/identity.js.map +1 -1
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -1
- package/dist/kv-scan.d.ts +8 -0
- package/dist/kv-scan.d.ts.map +1 -1
- package/dist/kv-scan.js +8 -0
- package/dist/kv-scan.js.map +1 -1
- package/dist/lease.d.ts +12 -5
- package/dist/lease.d.ts.map +1 -1
- package/dist/lease.js.map +1 -1
- package/dist/lifecycle-saga.d.ts +174 -0
- package/dist/lifecycle-saga.d.ts.map +1 -0
- package/dist/lifecycle-saga.js +418 -0
- package/dist/lifecycle-saga.js.map +1 -0
- package/dist/lifecycle-state.d.ts +202 -0
- package/dist/lifecycle-state.d.ts.map +1 -0
- package/dist/lifecycle-state.js +347 -0
- package/dist/lifecycle-state.js.map +1 -0
- package/dist/parts.d.ts +13 -0
- package/dist/parts.d.ts.map +1 -0
- package/dist/parts.js +17 -0
- package/dist/parts.js.map +1 -0
- package/dist/provision.d.ts +124 -15
- package/dist/provision.d.ts.map +1 -1
- package/dist/provision.js +578 -121
- package/dist/provision.js.map +1 -1
- package/dist/schema-profile.d.ts +3 -2
- package/dist/schema-profile.d.ts.map +1 -1
- package/dist/schema-profile.js +242 -18
- package/dist/schema-profile.js.map +1 -1
- package/dist/session-browser.d.ts +15 -0
- package/dist/session-browser.d.ts.map +1 -0
- package/dist/session-browser.js +14 -0
- package/dist/session-browser.js.map +1 -0
- package/dist/session-terminal-frames.d.ts +36 -0
- package/dist/session-terminal-frames.d.ts.map +1 -0
- package/dist/session-terminal-frames.js +149 -0
- package/dist/session-terminal-frames.js.map +1 -0
- package/dist/spaces.d.ts.map +1 -1
- package/dist/spaces.js +6 -1
- package/dist/spaces.js.map +1 -1
- package/dist/streams.d.ts +168 -1
- package/dist/streams.d.ts.map +1 -1
- package/dist/streams.js +299 -21
- package/dist/streams.js.map +1 -1
- package/dist/subjects.d.ts +34 -36
- package/dist/subjects.d.ts.map +1 -1
- package/dist/subjects.js +46 -35
- package/dist/subjects.js.map +1 -1
- package/dist/types.d.ts +27 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +6 -1
package/dist/endpoint-action.js
CHANGED
|
@@ -2,8 +2,8 @@ import { jetstream, jetstreamManager } from "@nats-io/jetstream";
|
|
|
2
2
|
import { headers as natsHeaders } from "@nats-io/transport-node";
|
|
3
3
|
import { canonicalJson, contractDigest } from "./canonical.js";
|
|
4
4
|
import { EpEnvelopeError } from "./endpoint-envelope.js";
|
|
5
|
-
import { epfSubject, assertIdToken } from "./endpoint-subjects.js";
|
|
6
|
-
import { RECORD_KINDS, recordSpecKey, recordStatusKey, createRecordEntry, updateRecordEntry, assertStatusValue, openRecordsBucket, readRecordLeader } from "./endpoint-records.js";
|
|
5
|
+
import { epfSubject, assertIdToken, endpointToken } from "./endpoint-subjects.js";
|
|
6
|
+
import { RECORD_KINDS, recordSpecKey, recordStatusKey, recordAtomicKey, createRecordEntry, updateRecordEntry, assertStatusValue, openRecordsBucket, readRecordLeader } from "./endpoint-records.js";
|
|
7
7
|
import { epfStreamName, epfGoalBindSubject, readLastFact, parseDecisionFact } from "./endpoint-journal.js";
|
|
8
8
|
import { readCheckpointSpec, readCheckpointSettle } from "./endpoint-checkpoint.js";
|
|
9
9
|
import { mintReceiptFromFacts, receiptOutcomeOfGoal, publishReceipt, readReceipt, assertReceiptAttestsSameFacts, assertReceiptStoreContext, assertReceiptStoreConnection, } from "./endpoint-receipt.js";
|
|
@@ -87,7 +87,18 @@ export function goalRefOf(request, goalId) {
|
|
|
87
87
|
const c = request.caller;
|
|
88
88
|
return { endpoint: request.endpoint, caller: { owner: c.owner, actor: c.actor, uid: c.uid }, goalId: assertIdToken(goalId, "goalId") };
|
|
89
89
|
}
|
|
90
|
-
/** The goal's terminal-result fact subject
|
|
90
|
+
/** The goal's terminal-result fact subject — the ONE subject SPEC:1394 reserves,
|
|
91
|
+
* `epf.<e>.goal.<cOwner>.<cActor>.<cUid>.<goalId>.result`, with NO epoch token.
|
|
92
|
+
*
|
|
93
|
+
* An earlier revision epoch-scoped this (`…result.<execEpoch>`) to fence a live-superseded
|
|
94
|
+
* committer by giving each executor epoch its own create-only subject. That was non-conformant
|
|
95
|
+
* AND wrong: the window it addressed is "commit the fact, then die before the projection", where
|
|
96
|
+
* the pre-restart fact is the LEGITIMATE outcome, not a corpse's guess. Scoping by epoch hid that
|
|
97
|
+
* winner from every post-restart reader, let the successor commit a SECOND contradictory terminal
|
|
98
|
+
* at the new epoch, and surfaced the wrong one to callers (executed repro: a real `succeeded`
|
|
99
|
+
* read back as `uncertain`). One goal has one terminal, on one subject, first-fact-wins globally.
|
|
100
|
+
* The fence against a superseded committer is the §13.1 takeover barrier, which revokes and
|
|
101
|
+
* cluster-verify-evicts the family BEFORE it advances the process epoch. */
|
|
91
102
|
export function goalResultSubject(space, ref) {
|
|
92
103
|
return epfSubject(space, ref.endpoint, ["goal", ref.caller.owner, ref.caller.actor, ref.caller.uid, ref.goalId, "result"]);
|
|
93
104
|
}
|
|
@@ -226,7 +237,9 @@ function parseSpec(raw, key, ref) {
|
|
|
226
237
|
if (raw === null || typeof raw !== "object" || Array.isArray(raw))
|
|
227
238
|
throw new EpEnvelopeError("internal", `goal spec ${key} is not an object; garbled mediated record state never authorizes (SPEC 13.4)`);
|
|
228
239
|
const o = raw;
|
|
229
|
-
assertClosedKeys(o, ["v", "goalId", "fingerprint", "command", "caller", "target", "requestId", "guard", "sourceSeq", "acceptedAt", "readinessDeadlineMs"], `goal spec ${key}`);
|
|
240
|
+
assertClosedKeys(o, ["v", "goalId", "fingerprint", "command", "caller", "target", "acceptedEpoch", "requestId", "guard", "sourceSeq", "acceptedAt", "readinessDeadlineMs"], `goal spec ${key}`);
|
|
241
|
+
if (o.acceptedEpoch !== undefined && (typeof o.acceptedEpoch !== "number" || !Number.isSafeInteger(o.acceptedEpoch) || o.acceptedEpoch < 0))
|
|
242
|
+
throw new EpEnvelopeError("internal", `goal spec ${key} acceptedEpoch is not an unsigned integer; garbled state never authorizes (SPEC 13.1/13.6)`);
|
|
230
243
|
if (o.guard !== undefined && (typeof o.guard !== "string" || o.guard.length === 0))
|
|
231
244
|
throw new EpEnvelopeError("internal", `goal spec ${key} carries a malformed guard binding; garbled state never authorizes (SPEC 13.4/13.6)`);
|
|
232
245
|
if (o.v !== 1 || typeof o.goalId !== "string" || typeof o.fingerprint !== "string" || o.fingerprint.length === 0 || typeof o.command !== "string")
|
|
@@ -498,23 +511,29 @@ export async function transitionGoal(ctx, ref, to, opts = {}) {
|
|
|
498
511
|
/** Project the WINNING terminal fact onto the status — the ONLY path a status reaches a terminal
|
|
499
512
|
* state, and the crash reconciler for a commit that fenced the fact but died before projecting.
|
|
500
513
|
* Cross-checks the fact's fingerprint against the persisted spec (a terminal fact whose
|
|
501
|
-
* fingerprint disagrees with the accepted goal is a garbled authority chain).
|
|
514
|
+
* fingerprint disagrees with the accepted goal is a garbled authority chain). One goal has ONE
|
|
515
|
+
* terminal subject (SPEC:1394), so the projection follows the one committed fact — there is no
|
|
516
|
+
* epoch to resolve and no per-epoch variant of "the winner". */
|
|
502
517
|
export async function projectGoalTerminal(ctx, ref) {
|
|
503
518
|
assertCtx(ctx);
|
|
504
519
|
const snap = snapshotRef(ref);
|
|
505
|
-
const fact = await readGoalResult(ctx, snap);
|
|
506
|
-
if (fact === undefined)
|
|
507
|
-
throw new EpEnvelopeError("failed-precondition", `goal "${snap.goalId}" has no terminal fact; only a committed result projects a terminal status (SPEC 13.6)`);
|
|
508
520
|
const spec = await readGoalSpec(ctx, snap);
|
|
509
521
|
if (spec === undefined)
|
|
510
522
|
throw new EpEnvelopeError("internal", `goal "${snap.goalId}" has a terminal fact but no accepted spec; garbled state never authorizes (SPEC 13.4)`);
|
|
523
|
+
const subject = goalResultSubject(ctx.space, snap);
|
|
524
|
+
const raw = await readLastFact(ctx.jsm, epfStreamName(ctx.space), subject);
|
|
525
|
+
const fact = raw === undefined ? undefined : parseGoalResultFact(raw, subject, snap);
|
|
526
|
+
if (fact === undefined)
|
|
527
|
+
throw new EpEnvelopeError("failed-precondition", `goal "${snap.goalId}" has no terminal fact; only a committed result projects a terminal status (SPEC 13.6)`);
|
|
511
528
|
if (fact.fingerprint !== spec.value.fingerprint)
|
|
512
529
|
throw new EpEnvelopeError("internal", `goal "${snap.goalId}"'s terminal fact fingerprint disagrees with its accepted spec; a projection never follows a garbled fact (SPEC 13.6)`);
|
|
530
|
+
assertTerminalAttribution(fact, spec.value, snap.goalId);
|
|
513
531
|
const key = recordStatusKey(RECORD_KINDS.goal, goalQualifiers(snap));
|
|
532
|
+
const terminal = (state, observedSpecRevision) => assertStatusValue({ state, observedSpecRevision });
|
|
514
533
|
for (let pass = 0; pass < 2; pass++) {
|
|
515
534
|
const current = await readGoalStatus(ctx, snap);
|
|
516
535
|
if (current === undefined) {
|
|
517
|
-
const created =
|
|
536
|
+
const created = terminal(fact.state, spec.revision);
|
|
518
537
|
try {
|
|
519
538
|
await createRecordEntry(ctx.kv, key, created);
|
|
520
539
|
return created;
|
|
@@ -525,11 +544,12 @@ export async function projectGoalTerminal(ctx, ref) {
|
|
|
525
544
|
throw e;
|
|
526
545
|
}
|
|
527
546
|
}
|
|
547
|
+
// The same terminal is already projected: converge.
|
|
528
548
|
if (current.value.state === fact.state)
|
|
529
549
|
return current.value;
|
|
530
550
|
if (GOAL_TERMINAL_STATES.includes(current.value.state))
|
|
531
551
|
throw new EpEnvelopeError("internal", `goal "${snap.goalId}" status is terminal ${current.value.state} but the winning fact is ${fact.state}; a projection never contradicts the journal (SPEC 13.6)`);
|
|
532
|
-
const next =
|
|
552
|
+
const next = terminal(fact.state, current.value.observedSpecRevision);
|
|
533
553
|
try {
|
|
534
554
|
await updateRecordEntry(ctx.kv, key, next, current.revision);
|
|
535
555
|
return next;
|
|
@@ -563,12 +583,56 @@ export function goalCancelledResultOf(acceptance, cancelled, ts) {
|
|
|
563
583
|
export function goalTombstone(fact) {
|
|
564
584
|
return { v: 1, goalId: fact.goalId, fingerprint: fact.fingerprint, state: fact.state, outcomeDigest: fact.outcomeDigest, data: { evicted: true }, ts: fact.ts };
|
|
565
585
|
}
|
|
586
|
+
/** Judge a parsed terminal against the ACCEPTED goal (the §13.6 attribution rule). The comparison
|
|
587
|
+
* is against the goal's OWN accepted epoch, never the current one:
|
|
588
|
+
* - `committed == accepted` — the accepting executor answering for its own work. Valid FOREVER,
|
|
589
|
+
* however far the current epoch has advanced since. This is the invariant HIGH-1 lost.
|
|
590
|
+
* - `committed > accepted` — a successor settling work it inherited. Valid.
|
|
591
|
+
* - `committed < accepted` — no incarnation can commit under an epoch older than the one that
|
|
592
|
+
* accepted the goal; the journal is garbled and it refuses loud.
|
|
593
|
+
* A goal accepted with no epoch context takes no committer, and vice versa: a half-attributed
|
|
594
|
+
* pair is a wiring confusion, not a silent pass.
|
|
595
|
+
*
|
|
596
|
+
* WHAT THIS IS NOT: it is not a write fence against a LIVE superseded committer. A corpse
|
|
597
|
+
* committing the terminal of a goal IT accepted stamps `committed == accepted` and is accepted
|
|
598
|
+
* here, exactly as the real executor would be. Create-only CAS conditions on subject ABSENCE and
|
|
599
|
+
* cannot express "only if my epoch is still current", so the write fence is the §13.1 barrier.
|
|
600
|
+
*
|
|
601
|
+
* AND THE BARRIER'S WINDOW IS WIDER THAN "BYTES IN FLIGHT", which an earlier revision of this
|
|
602
|
+
* comment claimed. A gate FREEZE neither kills the predecessor's connection nor advances the
|
|
603
|
+
* epoch, and the currency belt compares `processEpoch` alone, so a deposed manager's belt STILL
|
|
604
|
+
* PASSES from barrier start through PHASE 1-2 until the reopen. Revoking an `epcred` row marks a
|
|
605
|
+
* ledger row; it does not re-check a live JWT mid-publish on an already-open connection. What
|
|
606
|
+
* durably kills that publisher is the CLUSTER-VERIFIED EVICTION in PHASE 2, not the revoke. So
|
|
607
|
+
* the window in which a deposed manager can still INITIATE a new terminal publish runs from
|
|
608
|
+
* barrier start until eviction is verified — not merely the bytes already on the wire. On an OPEN
|
|
609
|
+
* mesh no credential family exists, so that eviction is vacuous and there is no durable fence at
|
|
610
|
+
* all; the belt there is cooperative only. */
|
|
611
|
+
function assertTerminalAttribution(fact, spec, goalId) {
|
|
612
|
+
const accepted = spec.acceptedEpoch;
|
|
613
|
+
const committed = fact.committer?.epoch;
|
|
614
|
+
if (accepted === undefined && committed === undefined)
|
|
615
|
+
return;
|
|
616
|
+
if (accepted === undefined || committed === undefined)
|
|
617
|
+
throw new EpEnvelopeError("internal", `goal "${goalId}" has ${accepted === undefined ? "no accepted epoch but a committer-stamped terminal" : "an accepted epoch but an unattributed terminal"}; a half-attributed terminal never authorizes (SPEC 13.6)`);
|
|
618
|
+
if (committed < accepted)
|
|
619
|
+
throw new EpEnvelopeError("internal", `goal "${goalId}" carries a terminal committed under epoch ${committed} but was accepted under ${accepted}; no incarnation commits under an epoch older than the one that accepted the goal - the journal is garbled (SPEC 13.1/13.6)`);
|
|
620
|
+
}
|
|
566
621
|
/** Closed validation, IDENTITY-BOUND to the ref, with the tombstone digest RE-VERIFIED. */
|
|
567
622
|
export function parseGoalResultFact(raw, subject, ref) {
|
|
568
623
|
if (raw === null || typeof raw !== "object" || Array.isArray(raw))
|
|
569
624
|
throw new EpEnvelopeError("internal", `goal result fact on ${subject} is not an object; garbled state never authorizes (SPEC 13.6)`);
|
|
570
625
|
const o = raw;
|
|
571
|
-
assertClosedKeys(o, ["v", "goalId", "fingerprint", "state", "outcomeDigest", "data", "ts"], `goal result fact on ${subject}`);
|
|
626
|
+
assertClosedKeys(o, ["v", "goalId", "fingerprint", "state", "outcomeDigest", "data", "committer", "ts"], `goal result fact on ${subject}`);
|
|
627
|
+
if (o.committer !== undefined) {
|
|
628
|
+
const cm = o.committer;
|
|
629
|
+
if (cm === null || typeof cm !== "object" || Array.isArray(cm))
|
|
630
|
+
throw new EpEnvelopeError("internal", `goal result fact on ${subject} committer is not an object; garbled state never authorizes (SPEC 13.6)`);
|
|
631
|
+
assertClosedKeys(cm, ["instanceId", "epoch"], `goal result fact on ${subject} committer`);
|
|
632
|
+
if (typeof cm.instanceId !== "string" || cm.instanceId.length === 0
|
|
633
|
+
|| typeof cm.epoch !== "number" || !Number.isSafeInteger(cm.epoch) || cm.epoch < 0)
|
|
634
|
+
throw new EpEnvelopeError("internal", `goal result fact on ${subject} carries a malformed committer; garbled state never authorizes (SPEC 13.6)`);
|
|
635
|
+
}
|
|
572
636
|
if (o.v !== 1 || typeof o.goalId !== "string" || typeof o.fingerprint !== "string" || o.fingerprint.length === 0
|
|
573
637
|
|| typeof o.state !== "string" || !GOAL_TERMINAL_STATES.includes(o.state)
|
|
574
638
|
|| typeof o.outcomeDigest !== "string" || o.outcomeDigest.length === 0
|
|
@@ -580,7 +644,9 @@ export function parseGoalResultFact(raw, subject, ref) {
|
|
|
580
644
|
throw new EpEnvelopeError("internal", `goal result fact on ${subject} carries an outcomeDigest that does not match its payload; a digest-inconsistent fact never authorizes (SPEC 13.6)`);
|
|
581
645
|
return o;
|
|
582
646
|
}
|
|
583
|
-
/** Read the goal's cached terminal outcome (`undefined` = not terminal yet).
|
|
647
|
+
/** Read the goal's cached terminal outcome (`undefined` = not terminal yet). ONE goal, ONE
|
|
648
|
+
* terminal subject (SPEC:1394), read exactly (never a wildcard `last_by_subj` — the append-shadow
|
|
649
|
+
* lesson): a committed terminal is surfaced to every reader, in every incarnation, forever. */
|
|
584
650
|
export async function readGoalResult(ctx, ref) {
|
|
585
651
|
assertCtx(ctx);
|
|
586
652
|
const snap = snapshotRef(ref);
|
|
@@ -592,20 +658,31 @@ export async function readGoalResult(ctx, ref) {
|
|
|
592
658
|
* the spec already read. Snapshots the payload strict-canonical BEFORE the CAS, stamps the
|
|
593
659
|
* fingerprint FROM the spec, projects the winner, and proves a lost-CAS winner's fingerprint
|
|
594
660
|
* agrees with the spec. */
|
|
595
|
-
async function commitTerminalFact(ctx, snap, spec, state, data, now) {
|
|
661
|
+
async function commitTerminalFact(ctx, snap, spec, state, data, now, committer) {
|
|
596
662
|
const snapshotData = data === undefined ? undefined : JSON.parse(canonicalJson(data));
|
|
597
663
|
const fact = {
|
|
598
664
|
v: 1, goalId: snap.goalId, fingerprint: spec.fingerprint, state,
|
|
599
665
|
outcomeDigest: contractDigest(snapshotData === undefined ? null : snapshotData),
|
|
600
|
-
...(snapshotData !== undefined ? { data: snapshotData } : {}),
|
|
666
|
+
...(snapshotData !== undefined ? { data: snapshotData } : {}),
|
|
667
|
+
...(committer !== undefined ? { committer } : {}), ts: now,
|
|
601
668
|
};
|
|
669
|
+
// ONE terminal subject per goal (SPEC:1394). First fact wins GLOBALLY: a late or superseded
|
|
670
|
+
// committer loses the create-only CAS and reads the winner, rather than winning a private
|
|
671
|
+
// per-epoch subject of its own that hides the real outcome from everyone else.
|
|
602
672
|
const subject = goalResultSubject(ctx.space, snap);
|
|
603
673
|
const res = await publishCreateOnly(ctx.js, subject, new TextEncoder().encode(JSON.stringify(fact)));
|
|
604
|
-
|
|
674
|
+
let winner;
|
|
675
|
+
if (res.won)
|
|
676
|
+
winner = fact;
|
|
677
|
+
else {
|
|
678
|
+
const raw = await readLastFact(ctx.jsm, epfStreamName(ctx.space), subject);
|
|
679
|
+
winner = raw === undefined ? undefined : parseGoalResultFact(raw, subject, snap);
|
|
680
|
+
}
|
|
605
681
|
if (winner === undefined)
|
|
606
682
|
throw new EpEnvelopeError("internal", `the goal terminal CAS for ${subject} was lost but no winning fact is readable (SPEC 13.4)`);
|
|
607
683
|
if (winner.fingerprint !== spec.fingerprint)
|
|
608
684
|
throw new EpEnvelopeError("internal", `the recorded terminal for goal "${snap.goalId}" carries fingerprint ${JSON.stringify(winner.fingerprint)}, not the accepted spec's ${spec.fingerprint}; a foreign-fingerprint winner is never adopted (SPEC 13.4/13.6)`);
|
|
685
|
+
assertTerminalAttribution(winner, spec, snap.goalId);
|
|
609
686
|
const status = await projectGoalTerminal(ctx, snap);
|
|
610
687
|
return { won: res.won, fact: winner, status };
|
|
611
688
|
}
|
|
@@ -733,6 +810,10 @@ export async function commitGoalResult(ctx, args) {
|
|
|
733
810
|
const receipts = args.receipts;
|
|
734
811
|
if (receipts !== undefined)
|
|
735
812
|
assertEmissionWiring(ctx, receipts);
|
|
813
|
+
const committerIn = args.committer;
|
|
814
|
+
const committer = committerIn === undefined ? undefined : { instanceId: String(committerIn.instanceId), epoch: committerIn.epoch };
|
|
815
|
+
if (committer !== undefined && (committer.instanceId.length === 0 || !Number.isSafeInteger(committer.epoch) || committer.epoch < 0))
|
|
816
|
+
throw new EpEnvelopeError("failed-precondition", `a terminal committer is an instanceId plus an unsigned epoch; got ${JSON.stringify(args.committer)} (SPEC 13.6)`);
|
|
736
817
|
const cause = args.cause;
|
|
737
818
|
const dataRaw = args.data;
|
|
738
819
|
let data;
|
|
@@ -789,6 +870,15 @@ export async function commitGoalResult(ctx, args) {
|
|
|
789
870
|
const spec = await readGoalSpecLeader(ctx, snap);
|
|
790
871
|
if (spec === undefined)
|
|
791
872
|
throw new EpEnvelopeError("failed-precondition", `goal "${snap.goalId}" has no accepted spec; a terminal commits only for an accepted goal (SPEC 13.6)`);
|
|
873
|
+
// Attribution is REQUIRED exactly when the goal was accepted under an epoch, and refused when it
|
|
874
|
+
// was not: an unattributed terminal on an epoch-bearing goal is the anonymous-fact state this
|
|
875
|
+
// rule exists to end, and a committer on a goal with no epoch context is a wiring confusion.
|
|
876
|
+
if ((spec.value.acceptedEpoch !== undefined) !== (committer !== undefined))
|
|
877
|
+
throw new EpEnvelopeError("failed-precondition", spec.value.acceptedEpoch !== undefined
|
|
878
|
+
? `goal "${snap.goalId}" was accepted under epoch ${spec.value.acceptedEpoch}; its terminal MUST carry the committing instance and epoch (SPEC 13.6)`
|
|
879
|
+
: `goal "${snap.goalId}" was accepted with no epoch context; a terminal committer here is a wiring confusion (SPEC 13.6)`);
|
|
880
|
+
if (committer !== undefined && committer.epoch < spec.value.acceptedEpoch)
|
|
881
|
+
throw new EpEnvelopeError("failed-precondition", `goal "${snap.goalId}" was accepted under epoch ${spec.value.acceptedEpoch} but the committer presents ${committer.epoch}; no incarnation commits under an epoch older than the one that accepted the goal (SPEC 13.1/13.6)`);
|
|
792
882
|
// The post-commit emission tail every cause routes through: the terminal is already committed
|
|
793
883
|
// and immutable when this runs, so a runtime emission failure SURFACES on the result instead
|
|
794
884
|
// of masking the commit (the reconciler converges it); wiring errors refused at entry above.
|
|
@@ -807,13 +897,13 @@ export async function commitGoalResult(ctx, args) {
|
|
|
807
897
|
// Currency immediately before the terminal CAS — the check is paired with the commit it
|
|
808
898
|
// fences, never a stale earlier read (SPEC 13.6 item 7).
|
|
809
899
|
await assertExecutorCurrency(spec.value, snap.goalId, plan.executor, plan.resolver, plan.budget);
|
|
810
|
-
return finish(await commitTerminalFact(ctx, snap, spec.value, plan.state, data, now));
|
|
900
|
+
return finish(await commitTerminalFact(ctx, snap, spec.value, plan.state, data, now, committer));
|
|
811
901
|
}
|
|
812
902
|
if (plan.cause === "cancel") {
|
|
813
903
|
const status = await readGoalStatus(ctx, snap);
|
|
814
904
|
if (status === undefined || status.value.state !== "cancelling")
|
|
815
905
|
throw new EpEnvelopeError("failed-precondition", `goal "${snap.goalId}" is not \`cancelling\` (state ${status?.value.state ?? "unknown"}); a cancel terminal follows a requested cancel, never a naked assertion (SPEC 13.6)`);
|
|
816
|
-
return finish(await commitTerminalFact(ctx, snap, spec.value, "cancelled", data, now));
|
|
906
|
+
return finish(await commitTerminalFact(ctx, snap, spec.value, "cancelled", data, now, committer));
|
|
817
907
|
}
|
|
818
908
|
if (plan.cause === "deny") {
|
|
819
909
|
if (plan.denial.kind === "hold-expired") {
|
|
@@ -832,14 +922,14 @@ export async function commitGoalResult(ctx, args) {
|
|
|
832
922
|
if (settle === undefined || settle.settle !== "expired")
|
|
833
923
|
throw new EpEnvelopeError("failed-precondition", `checkpoint "${plan.denial.token}" has no RECORDED expired settlement (${settle === undefined ? "still live" : `settled ${settle.settle}`}); a live or resumed hold never denies (SPEC 13.6)`);
|
|
834
924
|
}
|
|
835
|
-
return finish(await commitTerminalFact(ctx, snap, spec.value, "failed", data, now));
|
|
925
|
+
return finish(await commitTerminalFact(ctx, snap, spec.value, "failed", data, now, committer));
|
|
836
926
|
}
|
|
837
927
|
// readiness
|
|
838
928
|
if (spec.value.readinessDeadlineMs === undefined)
|
|
839
929
|
throw new EpEnvelopeError("failed-precondition", `goal "${snap.goalId}" declares no readiness deadline; an unbounded goal is never settled uncertain (SPEC 13.6)`);
|
|
840
930
|
if (now < spec.value.acceptedAt + spec.value.readinessDeadlineMs)
|
|
841
931
|
throw new EpEnvelopeError("failed-precondition", `goal "${snap.goalId}" is not past its readiness deadline (acceptedAt ${spec.value.acceptedAt} + ${spec.value.readinessDeadlineMs}ms > now ${now}); an early uncertain settle would steal a still-possible success (SPEC 13.6)`);
|
|
842
|
-
return finish(await commitTerminalFact(ctx, snap, spec.value, "uncertain", { reason: "the success signal did not arrive within the readiness deadline", readinessDeadlineMs: spec.value.readinessDeadlineMs }, now));
|
|
932
|
+
return finish(await commitTerminalFact(ctx, snap, spec.value, "uncertain", { reason: "the success signal did not arrive within the readiness deadline", readinessDeadlineMs: spec.value.readinessDeadlineMs }, now, committer));
|
|
843
933
|
}
|
|
844
934
|
// ---- cancel (§13.6 item 4) --------------------------------------------------------------------
|
|
845
935
|
/** The reverse-DNS detail kind carrying a goal's cached terminal fact on an error (§13.3). */
|
|
@@ -899,7 +989,106 @@ export async function requestGoalCancel(ctx, args) {
|
|
|
899
989
|
* REACHABLE (readiness is the owner's deadline, not an executor completion, so no executor is
|
|
900
990
|
* required). A racing late success that committed first wins and this returns the winner. */
|
|
901
991
|
export async function settleGoalUncertain(ctx, args) {
|
|
902
|
-
return commitGoalResult(ctx, { ref: args.ref, now: args.now, cause: "readiness" });
|
|
992
|
+
return commitGoalResult(ctx, { ref: args.ref, now: args.now, cause: "readiness", ...(args.committer !== undefined ? { committer: args.committer } : {}) });
|
|
993
|
+
}
|
|
994
|
+
function goalIndexKey(ref) {
|
|
995
|
+
return recordAtomicKey(RECORD_KINDS.goalidx, [ref.endpoint, ref.caller.owner, ref.caller.actor, ref.caller.uid, ref.goalId]);
|
|
996
|
+
}
|
|
997
|
+
function goalIndexEntryOf(ref, iid, allocated) {
|
|
998
|
+
// Refuse a hollow floor AT THE WRITE, not only when someone reads it back: an entry naming an
|
|
999
|
+
// empty identity is the exact defect this field exists to end, and letting it land would just
|
|
1000
|
+
// move the failure to whichever unlucky retry reads it.
|
|
1001
|
+
if (allocated !== undefined && !["name", "actor", "uid"].every((k) => typeof allocated[k] === "string" && allocated[k].length > 0))
|
|
1002
|
+
throw new EpEnvelopeError("internal", `the acceptance floor for goal "${ref.goalId}" has an empty component; a hollow identity is never recorded (SPEC 13.6)`);
|
|
1003
|
+
return {
|
|
1004
|
+
v: 1, endpoint: ref.endpoint, owner: ref.caller.owner, actor: ref.caller.actor, uid: ref.caller.uid, goalId: ref.goalId, iid,
|
|
1005
|
+
...(allocated !== undefined ? { allocated: { name: allocated.name, actor: allocated.actor, uid: allocated.uid } } : {}),
|
|
1006
|
+
};
|
|
1007
|
+
}
|
|
1008
|
+
function parseGoalIndexEntry(raw, key) {
|
|
1009
|
+
if (raw === null || typeof raw !== "object" || Array.isArray(raw))
|
|
1010
|
+
throw new EpEnvelopeError("internal", `goal-index entry ${key} is not an object; garbled reconcile state never authorizes (SPEC 13.6)`);
|
|
1011
|
+
const o = raw;
|
|
1012
|
+
assertClosedKeys(o, ["v", "endpoint", "owner", "actor", "uid", "goalId", "iid", "allocated"], `goal-index entry ${key}`);
|
|
1013
|
+
if (o.v !== 1 || typeof o.endpoint !== "string" || typeof o.owner !== "string" || typeof o.actor !== "string"
|
|
1014
|
+
|| typeof o.uid !== "string" || typeof o.goalId !== "string" || typeof o.iid !== "string")
|
|
1015
|
+
throw new EpEnvelopeError("internal", `goal-index entry ${key} is malformed; garbled reconcile state never authorizes (SPEC 13.6)`);
|
|
1016
|
+
if (o.allocated !== undefined) {
|
|
1017
|
+
const a = o.allocated;
|
|
1018
|
+
if (a === null || typeof a !== "object" || Array.isArray(a))
|
|
1019
|
+
throw new EpEnvelopeError("internal", `goal-index entry ${key} carries a malformed acceptance floor; garbled reconcile state never authorizes (SPEC 13.6)`);
|
|
1020
|
+
assertClosedKeys(a, ["name", "actor", "uid"], `goal-index entry ${key} allocated`);
|
|
1021
|
+
// A floor with an EMPTY component is the hollow acceptance this field exists to end: it would
|
|
1022
|
+
// read as a real identity and name nothing. Refuse it as garbled rather than serve it.
|
|
1023
|
+
if (!["name", "actor", "uid"].every((k) => typeof a[k] === "string" && a[k].length > 0))
|
|
1024
|
+
throw new EpEnvelopeError("internal", `goal-index entry ${key} carries an acceptance floor with an empty component; a hollow identity never authorizes (SPEC 13.6)`);
|
|
1025
|
+
}
|
|
1026
|
+
return o;
|
|
1027
|
+
}
|
|
1028
|
+
/** Record an accepted goal in the endpoint's reconcile index, CREATE-ONLY and BEFORE the bind
|
|
1029
|
+
* (must-5 Q-B): the atomicity is `index-CAS-before-bind`, so recoverability is clean either side
|
|
1030
|
+
* of a crash — a crash AFTER this write and BEFORE the bind leaves an index entry whose goal
|
|
1031
|
+
* status is absent (the sweep treats it as a no-goal and clears it); a crash BEFORE it leaves no
|
|
1032
|
+
* entry, so the acceptance was never durable. `iid` is the accepting incarnation's instanceId.
|
|
1033
|
+
* Idempotent for an adopted or concurrent same-goalId retry (a byte-identical pointer). */
|
|
1034
|
+
export async function recordGoalIndex(ctx, ref, iid, allocated) {
|
|
1035
|
+
assertCtx(ctx);
|
|
1036
|
+
const snap = snapshotRef(ref);
|
|
1037
|
+
const key = goalIndexKey(snap);
|
|
1038
|
+
try {
|
|
1039
|
+
await createRecordEntry(ctx.kv, key, goalIndexEntryOf(snap, iid, allocated));
|
|
1040
|
+
return { recorded: true };
|
|
1041
|
+
}
|
|
1042
|
+
catch (e) {
|
|
1043
|
+
if (!(e instanceof EpEnvelopeError && e.code === "conflict"))
|
|
1044
|
+
throw e;
|
|
1045
|
+
// A non-PUT marker is corruption, never reusable absence.
|
|
1046
|
+
const existing = await ctx.kv.get(key);
|
|
1047
|
+
if (!existing || existing.operation !== "PUT")
|
|
1048
|
+
throw new EpEnvelopeError("internal", `goal-index entry ${key} lost its create-only CAS but is absent/deleted; reconcile the store (SPEC 13.6)`);
|
|
1049
|
+
const entry = parseGoalIndexEntry(JSON.parse(new TextDecoder().decode(existing.value)), key);
|
|
1050
|
+
// H2: the loss is only an IDEMPOTENT RETRY when the winner is the same incarnation. A FOREIGN
|
|
1051
|
+
// `iid` means another instance accepted this goalId, which this function must not silently
|
|
1052
|
+
// absorb: the caller was proceeding on the belief that the index points at ITS acceptance, and
|
|
1053
|
+
// it does not. Report the winner instead of deciding — who may be served, and whether a foreign
|
|
1054
|
+
// winner is answerable at all, is the endpoint's policy, not the substrate's.
|
|
1055
|
+
return { recorded: false, existing: entry };
|
|
1056
|
+
}
|
|
1057
|
+
}
|
|
1058
|
+
/** Delete an index entry once its goal is terminal (or after a sweep settles it): a terminal goal
|
|
1059
|
+
* is never reconciled again. Idempotent — an absent entry is a no-op. */
|
|
1060
|
+
export async function clearGoalIndex(ctx, ref) {
|
|
1061
|
+
assertCtx(ctx);
|
|
1062
|
+
await ctx.kv.delete(goalIndexKey(snapshotRef(ref)));
|
|
1063
|
+
}
|
|
1064
|
+
/** Read ONE reconcile-index entry over the goal-writer's own bonded KV — the durable answer to
|
|
1065
|
+
* "who accepted this goalId, and what identity did they allocate for it", available from the
|
|
1066
|
+
* moment of acceptance rather than only once a terminal exists. Absent means no incarnation ever
|
|
1067
|
+
* durably accepted it. */
|
|
1068
|
+
export async function readGoalIndex(ctx, ref) {
|
|
1069
|
+
assertCtx(ctx);
|
|
1070
|
+
const key = goalIndexKey(snapshotRef(ref));
|
|
1071
|
+
const e = await ctx.kv.get(key);
|
|
1072
|
+
if (!e || e.operation !== "PUT")
|
|
1073
|
+
return undefined;
|
|
1074
|
+
return parseGoalIndexEntry(JSON.parse(new TextDecoder().decode(e.value)), key);
|
|
1075
|
+
}
|
|
1076
|
+
/** Enumerate the endpoint's in-flight reconcile index over a RAW records KV: a successor's boot
|
|
1077
|
+
* sweep opens it with the PROVISIONER credential (records CONSUMER.CREATE), never the goal-writer
|
|
1078
|
+
* (which holds no enumeration grant), and settles each unterminal goal so an accepted goal is
|
|
1079
|
+
* never dropped across a manager restart. Returns each recorded GoalRef + the accepting `iid` (the
|
|
1080
|
+
* hook a multi-instance sweep filters on so it never settles a live sibling's goal). */
|
|
1081
|
+
export async function listGoalIndex(kv, endpoint) {
|
|
1082
|
+
const filter = `${RECORD_KINDS.goalidx.kind}.${endpointToken(endpoint)}.>`;
|
|
1083
|
+
const out = [];
|
|
1084
|
+
for await (const key of await kv.keys(filter)) {
|
|
1085
|
+
const e = await kv.get(key);
|
|
1086
|
+
if (!e || e.operation !== "PUT")
|
|
1087
|
+
continue; // deleted/absent since the key listed: terminal already cleared
|
|
1088
|
+
const v = parseGoalIndexEntry(JSON.parse(new TextDecoder().decode(e.value)), key);
|
|
1089
|
+
out.push({ ref: { endpoint: v.endpoint, caller: { owner: v.owner, actor: v.actor, uid: v.uid }, goalId: v.goalId }, iid: v.iid });
|
|
1090
|
+
}
|
|
1091
|
+
return out;
|
|
903
1092
|
}
|
|
904
1093
|
// ---- goalId reuse (§13.6 item 5) ---------------------------------------------------------------
|
|
905
1094
|
/** Classify a resubmission against the recorded bind: same fingerprint = retry (cached), else
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endpoint-action.js","sourceRoot":"","sources":["../src/endpoint-action.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"endpoint-action.js","sourceRoot":"","sources":["../src/endpoint-action.ts"],"names":[],"mappings":"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"}
|