@cotal-ai/core 0.15.0 → 0.17.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 +75 -12
- 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.d.ts.map +1 -1
- package/dist/channels.js +18 -9
- 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 +24 -1
- package/dist/endpoint-contract-store.d.ts.map +1 -1
- package/dist/endpoint-contract-store.js +79 -27
- 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 +48 -7
- package/dist/endpoint-grants.d.ts.map +1 -1
- package/dist/endpoint-grants.js +97 -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 +340 -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 +10 -1
- package/dist/endpoint-subjects.d.ts.map +1 -1
- package/dist/endpoint-subjects.js +10 -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 +169 -15
- package/dist/endpoint.d.ts.map +1 -1
- package/dist/endpoint.js +491 -43
- package/dist/endpoint.js.map +1 -1
- package/dist/identity.d.ts +19 -0
- package/dist/identity.d.ts.map +1 -1
- package/dist/identity.js +12 -0
- package/dist/identity.js.map +1 -1
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -1
- package/dist/kv-scan.d.ts +105 -0
- package/dist/kv-scan.d.ts.map +1 -0
- package/dist/kv-scan.js +192 -0
- package/dist/kv-scan.js.map +1 -0
- 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/members.d.ts +8 -4
- package/dist/members.d.ts.map +1 -1
- package/dist/members.js +19 -9
- package/dist/members.js.map +1 -1
- 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 +106 -9
- package/dist/provision.d.ts.map +1 -1
- package/dist/provision.js +506 -110
- 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 +53 -1
- package/dist/streams.d.ts.map +1 -1
- package/dist/streams.js +135 -8
- package/dist/streams.js.map +1 -1
- package/dist/subjects.d.ts +32 -26
- package/dist/subjects.d.ts.map +1 -1
- package/dist/subjects.js +38 -25
- 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
|
@@ -0,0 +1,340 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The GENERIC caller path (control-surface P2 item 1, item 5): describe an endpoint, fetch its
|
|
3
|
+
* registered contracts from the §13.7 content store, recompile the digest-matching validators,
|
|
4
|
+
* and invoke a named command — WITHOUT the caller compiling the endpoint's schemas ahead of time.
|
|
5
|
+
* This is what a `cotal describe`/`cotal invoke` CLI and every migrated control consumer ride, so
|
|
6
|
+
* a consumer no longer hand-imports the manager's contract module.
|
|
7
|
+
*
|
|
8
|
+
* The trust chain is the §13.7 one, end to end:
|
|
9
|
+
* - `describe` (the reserved, authorization-scoped command every endpoint serves) answers the
|
|
10
|
+
* caller's VISIBLE command set + the registered CLUSTER closure digests;
|
|
11
|
+
* - each cluster document is fetched from the store at its closure digest and VERIFIED
|
|
12
|
+
* (two-stage manifest→root, content-addressed) — the command's input/output CLOSURE digests
|
|
13
|
+
* come from those verified bytes, never a caller assertion;
|
|
14
|
+
* - each schema closure is fetched + PROFILE-recompiled; the recompiled contract's closureDigest
|
|
15
|
+
* MUST equal the registered digest (a store that served the wrong bytes fails here);
|
|
16
|
+
* - the invoke pins those digests, so the responder's digest-bound serve boundary honors exactly
|
|
17
|
+
* the schema the caller validated against.
|
|
18
|
+
*/
|
|
19
|
+
import { randomBytes } from "node:crypto";
|
|
20
|
+
import { jetstreamManager } from "@nats-io/jetstream";
|
|
21
|
+
import { EpEnvelopeError } from "./endpoint-envelope.js";
|
|
22
|
+
import { compileContract } from "./schema-profile.js";
|
|
23
|
+
import { contractStoreContext, fetchContractClosure, contractRefToHex, contractArtifactDigestHex, } from "./endpoint-contract-store.js";
|
|
24
|
+
import { parseClusterDocument } from "./endpoint-cluster.js";
|
|
25
|
+
import { epCall, epScatterService } from "./endpoint-verbs.js";
|
|
26
|
+
import { epGoalProgressGrantRow } from "./endpoint-grants.js";
|
|
27
|
+
import { epRequestSubject, epCallerReplyFilter, parseEpSubject } from "./endpoint-subjects.js";
|
|
28
|
+
import { parseEndpointReply } from "./endpoint-envelope.js";
|
|
29
|
+
const dec = new TextDecoder(), enc = new TextEncoder();
|
|
30
|
+
const nonce = () => randomBytes(24).toString("base64url");
|
|
31
|
+
/**
|
|
32
|
+
* The reserved `describe` command as a raw request/reply (§13.7: describe pins NO contract, so it
|
|
33
|
+
* carries no `op` digests — {@link epCall} always stamps digests and the serve boundary rejects a
|
|
34
|
+
* digest-bearing describe as `contract-mismatch`, so this is a purpose-built raw path). It
|
|
35
|
+
* REQUEST-BINDS its reply exactly as {@link epCall}'s `parseAttributedReply` does (§13.2): the
|
|
36
|
+
* responder grant `epResponderReplyPattern` spans EVERY caller suffix, so any live responder can
|
|
37
|
+
* publish on the caller's rail at any nonce — acceptance therefore checks the reply SUBJECT's
|
|
38
|
+
* endpoint + nonce AND the body's echoed request id, not just "first `{ok:true}` on the rail".
|
|
39
|
+
* A reply that fails any of these is IGNORED (not rejected: an attacker racing a wrong-nonce reply
|
|
40
|
+
* must not be able to fail an honest describe), and the wait continues to the deadline.
|
|
41
|
+
*/
|
|
42
|
+
export async function describeEndpoint(nc, space, endpoint, caller, opts = {}) {
|
|
43
|
+
const deadlineMs = opts.deadlineMs ?? 10_000;
|
|
44
|
+
const n = nonce();
|
|
45
|
+
const requestId = nonce();
|
|
46
|
+
// P2 item 3 `--on <instance>`: PIN the describe to one instance's `inst` route so a multi-manager
|
|
47
|
+
// space resolves the exact instance addressed, not whichever wins the class `one` queue. Default =
|
|
48
|
+
// class anycast (mode "one"), unchanged for every existing caller.
|
|
49
|
+
const route = opts.instanceId !== undefined ? { mode: "inst", instanceId: opts.instanceId } : { mode: "one" };
|
|
50
|
+
const subject = epRequestSubject(space, { route, endpoint, command: "describe", caller, nonce: n });
|
|
51
|
+
const env = {
|
|
52
|
+
v: 1, id: requestId, op: { endpoint, command: "describe" }, class: "ephemeral",
|
|
53
|
+
replyExpected: true, deadlineMs, from: { id: `${caller.owner}.${caller.actor}`, name: caller.actor },
|
|
54
|
+
};
|
|
55
|
+
let sub;
|
|
56
|
+
let timer;
|
|
57
|
+
try {
|
|
58
|
+
const got = new Promise((resolve, reject) => {
|
|
59
|
+
sub = nc.subscribe(epCallerReplyFilter(space, caller), {
|
|
60
|
+
callback: (err, msg) => {
|
|
61
|
+
if (err) {
|
|
62
|
+
reject(new EpEnvelopeError("unavailable", `describe reply subscription failed: ${err.message}`));
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
// REQUEST-BIND off the reply SUBJECT first (§13.2): the responder triple + nonce are
|
|
66
|
+
// broker-pinned by the serve publish grant. A reply for a DIFFERENT endpoint, or on a
|
|
67
|
+
// nonce that is not the one we published (the rail is shared across our concurrent
|
|
68
|
+
// requests, and a hostile responder can publish at any nonce), is NOT ours — ignore it
|
|
69
|
+
// and keep waiting, never fail the honest describe on an injected reply.
|
|
70
|
+
const parsed = parseEpSubject(msg.subject);
|
|
71
|
+
if (!parsed || parsed.plane !== "reply" || parsed.endpoint !== endpoint || parsed.nonce !== n)
|
|
72
|
+
return;
|
|
73
|
+
// Then the body: it must parse as an EndpointReply and ECHO our request id on this
|
|
74
|
+
// nonce-scoped rail (§13.3) — the second half of the confused-deputy binding.
|
|
75
|
+
let reply;
|
|
76
|
+
try {
|
|
77
|
+
reply = parseEndpointReply(JSON.parse(dec.decode(msg.data)));
|
|
78
|
+
}
|
|
79
|
+
catch {
|
|
80
|
+
return;
|
|
81
|
+
} // a malformed body on our nonce is not a usable answer; wait for a valid one
|
|
82
|
+
if (reply.id !== requestId)
|
|
83
|
+
return;
|
|
84
|
+
resolve({ body: reply, responder: { instanceId: parsed.instanceId, epoch: parsed.epoch } });
|
|
85
|
+
},
|
|
86
|
+
});
|
|
87
|
+
nc.publish(subject, enc.encode(JSON.stringify(env)));
|
|
88
|
+
});
|
|
89
|
+
const timeout = new Promise((_, reject) => { timer = setTimeout(() => reject(new EpEnvelopeError("deadline-exceeded", `no describe reply from ${endpoint} within ${deadlineMs}ms`)), deadlineMs); });
|
|
90
|
+
const { body: reply, responder } = await Promise.race([got, timeout]);
|
|
91
|
+
if (reply.ok !== true) {
|
|
92
|
+
const e = reply.error;
|
|
93
|
+
throw new EpEnvelopeError(e?.code ?? "unavailable", `describe(${endpoint}) failed: ${e?.message ?? "unknown"}`);
|
|
94
|
+
}
|
|
95
|
+
return { answer: reply.data, responder };
|
|
96
|
+
}
|
|
97
|
+
finally {
|
|
98
|
+
sub?.unsubscribe();
|
|
99
|
+
if (timer !== undefined)
|
|
100
|
+
clearTimeout(timer);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
/** Fetch + verify ONE cluster document from the store at its closure digest (two-stage §13.7:
|
|
104
|
+
* the manifest at the closure digest, whose `root` names the document artifact). A cluster
|
|
105
|
+
* document declares no by-digest child references, so its closure is {root}. */
|
|
106
|
+
async function fetchClusterDocument(store, closureDigest) {
|
|
107
|
+
const { manifest, artifacts } = await fetchContractClosure(store, closureDigest, () => []);
|
|
108
|
+
const rootBytes = artifacts.get(contractRefToHex(manifest.root));
|
|
109
|
+
if (rootBytes === undefined)
|
|
110
|
+
throw new EpEnvelopeError("failed-precondition", `the cluster manifest ${closureDigest} names root ${manifest.root} but the root artifact is absent from the fetched closure (SPEC 13.7)`);
|
|
111
|
+
return parseClusterDocument(JSON.parse(dec.decode(rootBytes)));
|
|
112
|
+
}
|
|
113
|
+
/** Fetch a schema CLOSURE from the store and PROFILE-recompile it, binding every by-digest member.
|
|
114
|
+
* The recompiled contract's closureDigest MUST equal the digest we fetched at — a store that
|
|
115
|
+
* served bytes hashing to a different closure is a tamper/bug and fails loud (§13.7). */
|
|
116
|
+
async function recompileClosure(store, closureDigest) {
|
|
117
|
+
// Walk the schema closure, resolving `cotal:sha256:<hex>` refs a document makes (the profile's
|
|
118
|
+
// reference form) so a multi-document schema bundle rebuilds. A recompiled contract carries the
|
|
119
|
+
// registered digest, so an equality check below is the tamper boundary.
|
|
120
|
+
const { manifest, artifacts } = await fetchContractClosure(store, closureDigest, (bytes) => extractSchemaRefs(bytes));
|
|
121
|
+
const members = {};
|
|
122
|
+
for (const [hex, bytes] of artifacts)
|
|
123
|
+
members[`sha256:${hex}`] = JSON.parse(dec.decode(bytes));
|
|
124
|
+
const rootRef = manifest.root;
|
|
125
|
+
const root = members[rootRef];
|
|
126
|
+
if (root === undefined)
|
|
127
|
+
throw new EpEnvelopeError("failed-precondition", `schema closure ${closureDigest} is missing its root ${rootRef} (SPEC 13.7)`);
|
|
128
|
+
// The bundle members are the NON-root artifacts, keyed by their `sha256:` ref (the profile's
|
|
129
|
+
// resolution form); the root is passed separately.
|
|
130
|
+
const bundleMembers = {};
|
|
131
|
+
for (const [ref, value] of Object.entries(members))
|
|
132
|
+
if (ref !== rootRef)
|
|
133
|
+
bundleMembers[ref] = value;
|
|
134
|
+
const compiled = compileContract({ root, members: bundleMembers });
|
|
135
|
+
if (compiled.closureDigest !== closureDigest)
|
|
136
|
+
throw new EpEnvelopeError("internal", `the recompiled schema closure hashes to ${compiled.closureDigest}, not the fetched ${closureDigest}; a store that served the wrong bytes never authorizes (SPEC 13.7)`);
|
|
137
|
+
return compiled;
|
|
138
|
+
}
|
|
139
|
+
/** The by-digest references a stored schema artifact makes: every string value anywhere in the
|
|
140
|
+
* document of the profile's `cotal:sha256:<hex>` `$ref` form, returned as bare `sha256:<hex>`
|
|
141
|
+
* refs for the closure walk. A schema with no refs (the common case) returns none. */
|
|
142
|
+
function extractSchemaRefs(bytes) {
|
|
143
|
+
const refs = [];
|
|
144
|
+
const walk = (v) => {
|
|
145
|
+
if (typeof v === "string") {
|
|
146
|
+
const m = /^cotal:(sha256:[0-9a-f]{64})$/.exec(v);
|
|
147
|
+
if (m)
|
|
148
|
+
refs.push(m[1]);
|
|
149
|
+
}
|
|
150
|
+
else if (Array.isArray(v)) {
|
|
151
|
+
for (const c of v)
|
|
152
|
+
walk(c);
|
|
153
|
+
}
|
|
154
|
+
else if (v !== null && typeof v === "object") {
|
|
155
|
+
for (const c of Object.values(v))
|
|
156
|
+
walk(c);
|
|
157
|
+
}
|
|
158
|
+
};
|
|
159
|
+
walk(JSON.parse(dec.decode(bytes)));
|
|
160
|
+
return refs;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* DESCRIBE an endpoint and resolve its full invocation surface: send the reserved `describe`
|
|
164
|
+
* command (untargeted, void args), then for every VISIBLE cluster fetch + verify its document
|
|
165
|
+
* from the store and recompile each command's input/output contracts. The result lets a caller
|
|
166
|
+
* invoke any visible command by name with no compile-time knowledge of the endpoint's schemas.
|
|
167
|
+
*
|
|
168
|
+
* `describe` itself pins no contract (§13.7), so it is issued as a raw void-arg request
|
|
169
|
+
* ({@link describeEndpoint}), never through the digest-stamping {@link epCall}.
|
|
170
|
+
*/
|
|
171
|
+
export async function resolveService(nc, space, endpoint, caller, opts = {}) {
|
|
172
|
+
const { answer, responder } = await describeEndpoint(nc, space, endpoint, caller, opts);
|
|
173
|
+
const store = await contractStoreContext(nc, space);
|
|
174
|
+
const commands = new Map();
|
|
175
|
+
const visible = new Set(answer.descriptor.clusters.flatMap((cl) => cl.commands));
|
|
176
|
+
for (const cluster of answer.descriptor.clusters) {
|
|
177
|
+
const doc = await fetchClusterDocument(store, cluster.digest);
|
|
178
|
+
for (const cmd of doc.commands) {
|
|
179
|
+
if (!visible.has(cmd.name))
|
|
180
|
+
continue; // a describe VIEW may narrow a cluster's commands
|
|
181
|
+
commands.set(cmd.name, {
|
|
182
|
+
command: cmd.name,
|
|
183
|
+
contract: { input: await recompileClosure(store, cmd.inputDigest), output: await recompileClosure(store, cmd.outputDigest) },
|
|
184
|
+
class: cmd.class,
|
|
185
|
+
targeted: cmd.targeted,
|
|
186
|
+
modes: cmd.modes ?? [],
|
|
187
|
+
capability: cmd.capability,
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
return { endpoint: answer.descriptor.endpoint, owner: answer.descriptor.owner, caller, responder, commands, ...(opts.instanceId !== undefined ? { pinnedInstanceId: opts.instanceId } : {}) };
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* INVOKE one named command on a resolved service: validate nothing here (the compiled input
|
|
195
|
+
* contract in {@link epCall}'s request builder gates args before publish, and the responder's
|
|
196
|
+
* digest-bound boundary re-validates), route on the `one` rail, return the attributed reply. A
|
|
197
|
+
* command absent from the resolved surface is `not-found` (the caller cannot see it, or it does
|
|
198
|
+
* not exist); a targeted command needs its `target`.
|
|
199
|
+
*
|
|
200
|
+
* Currency: `opts.currentEpoch` (e.g. the registry-read `serviceEpochReader`) when supplied;
|
|
201
|
+
* otherwise the DESCRIBE-BOUND default - accept exactly the incarnation that answered this
|
|
202
|
+
* service's resolve (its broker-authenticated `instanceId`+`epoch` off the describe reply
|
|
203
|
+
* subject) and refuse `failed-precondition` when a DIFFERENT instance wins the `one` queue
|
|
204
|
+
* (a superseded-or-split responder; re-resolve to adopt a legitimate successor). The bind needs
|
|
205
|
+
* no registry read grant, and it is strictly stronger than no check: two live instances of a
|
|
206
|
+
* single-instance endpoint can never both pass one resolved handle.
|
|
207
|
+
*/
|
|
208
|
+
export async function invokeCommand(nc, space, service, command, args, opts) {
|
|
209
|
+
const resolved = service.commands.get(command);
|
|
210
|
+
if (resolved === undefined)
|
|
211
|
+
throw new EpEnvelopeError("not-found", `command "${command}" is not in ${service.endpoint}'s visible surface; describe lists ${[...service.commands.keys()].sort().join(", ") || "(none)"}`);
|
|
212
|
+
if (resolved.targeted && opts.target === undefined)
|
|
213
|
+
throw new EpEnvelopeError("bad-request", `command "${command}" is targeted (modes: ${resolved.modes.join(", ")}); an invoke needs its target`);
|
|
214
|
+
if (!resolved.targeted && opts.target !== undefined)
|
|
215
|
+
throw new EpEnvelopeError("bad-request", `command "${command}" is untargeted; an invoke must not carry a target`);
|
|
216
|
+
const caller = service.caller;
|
|
217
|
+
// "No args" marshals to the CONTRACT's canonical empty form: absent args ride as null on the
|
|
218
|
+
// wire, so when this command's input rejects null but accepts the empty object (e.g. an
|
|
219
|
+
// all-optional `{type:"object"}` input like despawn's), send `{}` — that IS the caller's
|
|
220
|
+
// intent in that contract's vocabulary (a targeted CLI stop has nothing left after the alias
|
|
221
|
+
// becomes the target block). Contract-derived, never a guess: an input that requires fields
|
|
222
|
+
// accepts neither form and still refuses loud at the pre-publish validation below.
|
|
223
|
+
let sendArgs = args;
|
|
224
|
+
if (sendArgs === undefined && !resolved.contract.input.validate(null) && resolved.contract.input.validate({}))
|
|
225
|
+
sendArgs = {};
|
|
226
|
+
const describeBound = (instanceId) => {
|
|
227
|
+
if (instanceId !== service.responder.instanceId)
|
|
228
|
+
throw new EpEnvelopeError("failed-precondition", `the ${service.endpoint} instance ${instanceId} answered but this service handle resolved against ${service.responder.instanceId}; a different queue winner is a superseded-or-split responder - re-resolve the service to adopt it (SPEC 13.2)`);
|
|
229
|
+
return service.responder.epoch;
|
|
230
|
+
};
|
|
231
|
+
// P2 item 3 `--on`: a PINNED service routes to its exact instance's `inst` rail (the same instance the
|
|
232
|
+
// describe resolved to, at its resolved epoch), never the class `one` queue — so the command reaches
|
|
233
|
+
// the addressed manager in a multi-manager space. Unpinned ⇒ class anycast `one` (unchanged). The
|
|
234
|
+
// describeBound currency check still holds: an inst-routed reply carries that instance's id.
|
|
235
|
+
const route = service.pinnedInstanceId !== undefined
|
|
236
|
+
? { mode: "inst", instanceId: service.pinnedInstanceId, epoch: service.responder.epoch }
|
|
237
|
+
: { mode: "one" };
|
|
238
|
+
return epCall(nc, space, route, {
|
|
239
|
+
endpoint: service.endpoint, command, contract: resolved.contract, caller,
|
|
240
|
+
...(sendArgs !== undefined ? { args: sendArgs } : {}),
|
|
241
|
+
...(opts.target ? { target: opts.target } : {}),
|
|
242
|
+
}, { deadlineMs: opts.deadlineMs ?? 10_000, currentEpoch: opts.currentEpoch ?? describeBound });
|
|
243
|
+
}
|
|
244
|
+
/** Submit an ACTION command and FOLLOW its goal to the terminal (P2 item 2, 2b): since 2a a
|
|
245
|
+
* spawn/launch reply is the ACCEPTANCE (returned before the agent is live), so a consumer that
|
|
246
|
+
* wants the old block-until-outcome behaviour follows the caller-scoped progress subtree to the
|
|
247
|
+
* terminal here. The subscription opens BEFORE `submit` runs (a fast join could terminalize within
|
|
248
|
+
* milliseconds of the acceptance), buffering terminals by goalId. The reply is then RESOLVED from
|
|
249
|
+
* the terminal: `succeeded` → the terminal's data (today's live reply — name/id/role/agent/mode/
|
|
250
|
+
* lifecycleUid), `failed`/`uncertain`/`cancelled` → a non-ok reply carrying the cause. A reply with
|
|
251
|
+
* NO goalId (a refuse-at-accept, or a non-action command) passes through unchanged. UX is preserved:
|
|
252
|
+
* the call still returns on the real outcome. The caller needs the per-goal progress read row
|
|
253
|
+
* ({@link epGoalProgressGrantRow}) — minted with any goal-bearing capability. */
|
|
254
|
+
export async function submitAndFollowGoal(nc, space, endpoint, caller, deadlineMs, submit) {
|
|
255
|
+
const terminals = new Map();
|
|
256
|
+
const waiters = new Map();
|
|
257
|
+
const sub = nc.subscribe(epGoalProgressGrantRow(space, endpoint, caller), {
|
|
258
|
+
callback: (err, m) => {
|
|
259
|
+
if (err)
|
|
260
|
+
return;
|
|
261
|
+
let ev;
|
|
262
|
+
try {
|
|
263
|
+
ev = JSON.parse(dec.decode(m.data));
|
|
264
|
+
}
|
|
265
|
+
catch {
|
|
266
|
+
return;
|
|
267
|
+
}
|
|
268
|
+
if (ev && ev.phase === "terminal" && typeof ev.goalId === "string") {
|
|
269
|
+
terminals.set(ev.goalId, { state: String(ev.state), data: ev.data });
|
|
270
|
+
waiters.get(ev.goalId)?.();
|
|
271
|
+
}
|
|
272
|
+
},
|
|
273
|
+
});
|
|
274
|
+
try {
|
|
275
|
+
const attributed = await submit();
|
|
276
|
+
if (attributed.reply.ok !== true)
|
|
277
|
+
return attributed; // refuse at accept — surface as-is
|
|
278
|
+
const goalId = attributed.reply.data?.goalId;
|
|
279
|
+
if (typeof goalId !== "string")
|
|
280
|
+
return attributed; // not an action reply — pass through
|
|
281
|
+
const terminal = terminals.get(goalId) ?? await new Promise((resolve) => {
|
|
282
|
+
const t = setTimeout(() => resolve(terminals.get(goalId)), deadlineMs);
|
|
283
|
+
waiters.set(goalId, () => { clearTimeout(t); resolve(terminals.get(goalId)); });
|
|
284
|
+
});
|
|
285
|
+
if (terminal === undefined)
|
|
286
|
+
return { ...attributed, reply: { ...attributed.reply, ok: false, data: undefined, error: { code: "deadline-exceeded", message: `the goal "${goalId}" produced no terminal within ${deadlineMs}ms; read its outcome with 'ps'/'inspect' (SPEC 13.6)` } } };
|
|
287
|
+
if (terminal.state === "succeeded")
|
|
288
|
+
return { ...attributed, reply: { ...attributed.reply, ok: true, ...(terminal.data !== undefined ? { data: terminal.data } : { data: undefined }), error: undefined } };
|
|
289
|
+
const d = (terminal.data ?? {});
|
|
290
|
+
const message = typeof d.error === "string" ? d.error : typeof d.reason === "string" ? d.reason : `the goal settled ${terminal.state}`;
|
|
291
|
+
return { ...attributed, reply: { ...attributed.reply, ok: false, data: undefined, error: { code: terminal.state, message } } };
|
|
292
|
+
}
|
|
293
|
+
finally {
|
|
294
|
+
sub.unsubscribe();
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
/**
|
|
298
|
+
* SCATTER one untargeted command to the LIVE class (§13.5): resolve the command's contract off the
|
|
299
|
+
* same digest-verified surface {@link invokeCommand} uses, then run the registry-wired scatter —
|
|
300
|
+
* freeze the expected set from the records registry, publish ONCE on the `all` rail, gather one
|
|
301
|
+
* attributed reply per instance, and reconcile registration currency post-classification. The
|
|
302
|
+
* returned `replies` map is keyed by instanceId (per-instance attribution, SPEC §13.5); a frozen
|
|
303
|
+
* instance that produced no on-time reply is a `missing` slot — reported UNREACHABLE, never silently
|
|
304
|
+
* omitted. The caller's connection carries the §13.9 records-read grant the freeze/reconcile ride (a
|
|
305
|
+
* scoped read of the endpoint's `svc` registry); `jsm`/`kv` are opened over it here.
|
|
306
|
+
*
|
|
307
|
+
* A scatter addresses EVERY instance, so a targeted command is refused (a per-instance target is
|
|
308
|
+
* incoherent with the `all` rail) and a handle PINNED to one instance is refused (a pin is the
|
|
309
|
+
* anti-scatter — use {@link invokeCommand} for `--on`). "No args" marshals to the contract's
|
|
310
|
+
* canonical empty form exactly as {@link invokeCommand}.
|
|
311
|
+
*/
|
|
312
|
+
export async function scatterCommand(nc, space, service, command, args, opts) {
|
|
313
|
+
const resolved = service.commands.get(command);
|
|
314
|
+
if (resolved === undefined)
|
|
315
|
+
throw new EpEnvelopeError("not-found", `command "${command}" is not in ${service.endpoint}'s visible surface; describe lists ${[...service.commands.keys()].sort().join(", ") || "(none)"}`);
|
|
316
|
+
if (resolved.targeted)
|
|
317
|
+
throw new EpEnvelopeError("bad-request", `command "${command}" is targeted; a class scatter addresses every instance and cannot carry a per-instance target (SPEC 13.5)`);
|
|
318
|
+
if (service.pinnedInstanceId !== undefined)
|
|
319
|
+
throw new EpEnvelopeError("bad-request", `a class scatter cannot run on a handle pinned to instance ${service.pinnedInstanceId}; resolve the service unpinned (a pin is the anti-scatter, SPEC 13.5)`);
|
|
320
|
+
const caller = service.caller;
|
|
321
|
+
// Same contract-canonical empty-args marshaling as invokeCommand: absent args ride as {} when the
|
|
322
|
+
// command's input rejects null but accepts the empty object (e.g. an all-optional object input).
|
|
323
|
+
let sendArgs = args;
|
|
324
|
+
if (sendArgs === undefined && !resolved.contract.input.validate(null) && resolved.contract.input.validate({}))
|
|
325
|
+
sendArgs = {};
|
|
326
|
+
// `checkAPI: false` so the caller needs NO account `$JS.API.INFO` grant: the freeze's reads are
|
|
327
|
+
// the scoped records-registry rows (`STREAM.INFO` + leader `STREAM.MSG.GET`), never an account
|
|
328
|
+
// probe. The scatter's grant stays exactly the §13.9 records read. No KV handle is opened — the
|
|
329
|
+
// freeze derives the bucket name and reads via jsm only.
|
|
330
|
+
const jsm = await jetstreamManager(nc, { checkAPI: false });
|
|
331
|
+
return epScatterService(nc, jsm, space, {
|
|
332
|
+
endpoint: service.endpoint, command, contract: resolved.contract, caller,
|
|
333
|
+
...(sendArgs !== undefined ? { args: sendArgs } : {}),
|
|
334
|
+
}, opts);
|
|
335
|
+
}
|
|
336
|
+
/** A digest reference's bare hex, exported so a CLI can print the resolved surface's digests. */
|
|
337
|
+
export function contractDigestHexOf(value) {
|
|
338
|
+
return contractArtifactDigestHex(new TextEncoder().encode(JSON.stringify(value)));
|
|
339
|
+
}
|
|
340
|
+
//# sourceMappingURL=endpoint-invoke.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"endpoint-invoke.js","sourceRoot":"","sources":["../src/endpoint-invoke.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endpoint-records.d.ts","sourceRoot":"","sources":["../src/endpoint-records.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAO,KAAK,EAAE,EAAgB,MAAM,aAAa,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAO3D;;sFAEsF;AACtF,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;mGACmG;AACnG,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,OAAO,yBAAyB,EAAE,cAAc,EACpD,KAAK,EAAE,MAAM,EACb,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GAC9B,OAAO,CAAC,EAAE,CAAC,CAGb;AAED;;;;;;;sEAOsE;AACtE,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,gBAAgB,EACrB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,GACV,OAAO,CAAC;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAAC,CAkB3D;AAID,mFAAmF;AACnF,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,sFAAsF;IACtF,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;CAC/B;AAED;;8CAE8C;AAC9C,MAAM,WAAW,aAAa;IAC5B;uEACmE;IACnE,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,0FAA0F;IAC1F,KAAK,EAAE,OAAO,CAAC;IACf;8EAC0E;IAC1E,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,SAAS,EAAE,UAAU,GAAG,QAAQ,CAAC;CAClC;AAOD;;;iGAGiG;AACjG,eAAO,MAAM,cAAc,EAAE,aAM5B,CAAC;AAEF;;;;;;wBAMwB;AACxB,eAAO,MAAM,eAAe,EAAE,aAM7B,CAAC;AAEF,+FAA+F;AAC/F,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAE3C;;;;;;;;;0FAS0F;AAC1F,eAAO,MAAM,UAAU,EAAE,aASxB,CAAC;AAEF;;;;;;8EAM8E;AAC9E,eAAO,MAAM,cAAc,EAAE,aAY5B,CAAC;AAEF;;;;;;wFAMwF;AACxF,eAAO,MAAM,mBAAmB,EAAE,aAMjC,CAAC;AAEF;;;;;;;;;;;;;;;;;iEAiBiE;AACjE,eAAO,MAAM,WAAW,EAAE,aAMzB,CAAC;AAEF,yFAAyF;AACzF,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"endpoint-records.d.ts","sourceRoot":"","sources":["../src/endpoint-records.ts"],"names":[],"mappings":"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"}
|
package/dist/endpoint-records.js
CHANGED
|
@@ -212,6 +212,23 @@ export const RECORD_KINDS = {
|
|
|
212
212
|
writers: { spec: "commit-path", status: "commit-path" },
|
|
213
213
|
mediation: "mediated",
|
|
214
214
|
},
|
|
215
|
+
goalidx: {
|
|
216
|
+
// The MANAGER-ENDPOINT reconcile index (P2 item 2 must-5, Q-B): one atomic unsplit key per
|
|
217
|
+
// IN-FLIGHT action goal, `goalidx.<e>.<cOwner>.<cActor>.<cUid>.<goalId>`, written CREATE-ONLY
|
|
218
|
+
// by the goal-writer BEFORE the goal bind and DELETED at the terminal. It is the endpoint's
|
|
219
|
+
// OWN durable list of accepted-but-unterminal goals: a successor incarnation (a manager
|
|
220
|
+
// restart takes a fresh instanceId, so the in-memory acceptance map is gone) enumerates
|
|
221
|
+
// `goalidx.<e>.>` over the provisioner and settles every orphan, never dropping an accepted
|
|
222
|
+
// goal. NARROW by construction: a dedicated index the goal-writer alone writes — NOT a broad
|
|
223
|
+
// read over the caller-scoped `goal.<triple>.>` records (the rejected sealed-scanner option).
|
|
224
|
+
// The value carries the goal ref coordinates so the sweep rebuilds the GoalRef without parsing
|
|
225
|
+
// owner/actor tokens out of the key.
|
|
226
|
+
kind: "goalidx",
|
|
227
|
+
qualifiers: [qEndpoint, qOwner("cOwner"), qOwner("cActor"), qUid("cUid"), qId("goalId")],
|
|
228
|
+
split: false,
|
|
229
|
+
writers: { spec: "commit-path", status: "commit-path" },
|
|
230
|
+
mediation: "mediated",
|
|
231
|
+
},
|
|
215
232
|
cp: {
|
|
216
233
|
kind: "cp",
|
|
217
234
|
qualifiers: [qEndpoint, qId("token")],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endpoint-records.js","sourceRoot":"","sources":["../src/endpoint-records.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"endpoint-records.js","sourceRoot":"","sources":["../src/endpoint-records.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The §13.1 endpoint-serve CREDENTIAL LIFECYCLE over a plain KV — the shared core home for the
|
|
3
|
+
* endpoint credential family (`epgate.<endpoint>.<instanceId>` + `epcred.<endpoint>.<instanceId>.
|
|
4
|
+
* <credentialId>`) so BOTH the auth session ledger and the manager's endpoint-serve wiring drive
|
|
5
|
+
* ONE implementation (fact H3 / P2 item 1 "1a-gate"; the manager cannot import
|
|
6
|
+
* implementations/auth, AGENTS.md one-way deps, so the KV binding lives in core — the same
|
|
7
|
+
* guarded-core lift as the Unit B lifecycle-saga).
|
|
8
|
+
*
|
|
9
|
+
* This module is the raw-KV credential-ledger primitives + the endpoint-serve mint fence + the
|
|
10
|
+
* production issuance barrier. It carries NO auth-store branding: a caller supplies the bound KV +
|
|
11
|
+
* space (the auth session ledger unwraps its `SessionAuthStore`; the manager binds its own auth
|
|
12
|
+
* bucket). The KEY GRAMMAR + row parsers stay in `lifecycle-state.ts`; this module is the CAS
|
|
13
|
+
* operations over them.
|
|
14
|
+
*/
|
|
15
|
+
import type { KV } from "@nats-io/kv";
|
|
16
|
+
import type { EpIssuanceGate, EpServeLedgerRow } from "./endpoint-service.js";
|
|
17
|
+
/** Create a credential-ledger row CREATE-ONLY, idempotent iff BYTE-IDENTICAL: staging a key that
|
|
18
|
+
* already exists succeeds only when the stored bytes match (a retry of the SAME issuance), and
|
|
19
|
+
* CONFLICTs when they differ (a staged name never silently re-binds the row revocation/audit
|
|
20
|
+
* relies on). A create loss whose cause is not a CAS conflict fails the mint CLOSED. */
|
|
21
|
+
export declare function createRowByteIdempotent(kv: KV, key: string, value: unknown): Promise<void>;
|
|
22
|
+
/** CAS a credential-ledger row `active` -> `revoked` at its observed revision (retrying on a CAS
|
|
23
|
+
* loss). Idempotent on an already-revoked row; FAILS LOUD on an absent/DEL row — a vanished
|
|
24
|
+
* never-delete ledger row is corruption, never a "never staged" idempotence case. */
|
|
25
|
+
export declare function markLedgerRowRevoked(kv: KV, key: string): Promise<"revoked" | "already-revoked">;
|
|
26
|
+
/** The §13.1 endpoint-serve MINT FENCE over a bound KV — the `EpIssuanceGate` core's serve mint
|
|
27
|
+
* (`mintCreds`, profile `endpoint-serve`) fences its release on: it stages the per-JWT `epcred.
|
|
28
|
+
* <endpoint>.<instanceId>.<credentialId>` row, then a revision-pinned identical-bytes TOUCH of the
|
|
29
|
+
* `epgate.<endpoint>.<instanceId>` key (a barrier that moved the gate since observation makes the
|
|
30
|
+
* mint LOSE). Lifted from the auth session ledger (fact H3) so both the auth session redemption
|
|
31
|
+
* and the manager's endpoint-serve wiring drive ONE fence; the auth `kvServeIssuanceGate` wraps
|
|
32
|
+
* this by unwrapping its branded `SessionAuthStore` to `(kv, space)`. `space` is carried on the
|
|
33
|
+
* observed gate for the core mint's space-bond defense (the KV IS the space bucket). */
|
|
34
|
+
export declare function serveIssuanceGateKv(kv: KV, space: string, args: {
|
|
35
|
+
endpoint: string;
|
|
36
|
+
instanceId: string;
|
|
37
|
+
}): EpIssuanceGate;
|
|
38
|
+
/** Stage a SIBLING credential into an instance's §13.1 family under the SAME open-and-commit fence
|
|
39
|
+
* {@link import("./endpoint-service.js").finalizeServeIssuance} runs for the serve credential
|
|
40
|
+
* itself. A "sibling" is any credential minted beside the serve cred against the same
|
|
41
|
+
* `epgate.<endpoint>.<instanceId>` and staged into the same `epcred.<endpoint>.<instanceId>`
|
|
42
|
+
* family (the manager's goal-writer and its §13.6 session credentials): the family IS the
|
|
43
|
+
* takeover/retirement barrier's revocation unit, so a sibling that joins it without the fence is a
|
|
44
|
+
* credential the barrier can never revoke.
|
|
45
|
+
*
|
|
46
|
+
* THE PASSED-IN OBSERVATION IS THE AUTHORITY AND IS NEVER REPLACED BY A RE-READ. A sibling's grant
|
|
47
|
+
* is built FROM the observed coordinates (the serving epoch above all), so what this commit must
|
|
48
|
+
* fence is the gate the credential was MINTED against. Fencing whatever the gate says NOW would be
|
|
49
|
+
* the hole: the dangerous case is not a frozen gate but a COMPLETED takeover — freeze →
|
|
50
|
+
* revoke/evict → reopen leaves the gate `open` again at a NEW generation, so a mint that re-pinned
|
|
51
|
+
* to the successor would win its CAS and release a JWT minted against the PREDECESSOR's coordinates
|
|
52
|
+
* into the family the barrier has just finished reconciling. This function re-reads the gate ONLY
|
|
53
|
+
* to CLASSIFY a lost CAS, and every field of that re-read is compared against the ORIGINAL
|
|
54
|
+
* observation: a successor coordinate can therefore never be adopted, it can only be refused.
|
|
55
|
+
*
|
|
56
|
+
* Order, identical to the serve mint: require `open` -> stage the row -> revision-pinned commit ->
|
|
57
|
+
* release ONLY on the win. A frozen gate refuses before anything is written; a gate that MOVED
|
|
58
|
+
* between the caller's observe and this commit loses the CAS, and the staged row is revoked so no
|
|
59
|
+
* active row is left in a family the barrier already enumerated. A revoke failure is surfaced, not
|
|
60
|
+
* swallowed — the reconciliation debt must be visible. The caller releases the credential only if
|
|
61
|
+
* this resolves. */
|
|
62
|
+
export declare function commitSiblingIssuance(gate: import("./endpoint-service.js").EpIssuanceGate, observed: import("./endpoint-service.js").EpGateState, row: EpServeLedgerRow): Promise<void>;
|
|
63
|
+
/** Provision the endpoint's issuance gate OPEN (create-only), the §13.1 pre-registration a
|
|
64
|
+
* `registerServiceInstance` writes behind — "a registration writes only behind the
|
|
65
|
+
* provisioner-created gate". Born `open` at generation 0 / epoch 0 / registrationRevision 0 /
|
|
66
|
+
* nameAuthorityRevision 0, bound to the serving connection principal (the eviction target every
|
|
67
|
+
* `epcred` row copies). Create-only + idempotent-if-identical: a second provision of the SAME
|
|
68
|
+
* (endpoint, instanceId, principal) is a retry, a DIFFERENT principal is a conflict (an instance
|
|
69
|
+
* token is never re-bound). */
|
|
70
|
+
export declare function provisionEndpointGateOpen(kv: KV, args: {
|
|
71
|
+
endpoint: string;
|
|
72
|
+
instanceId: string;
|
|
73
|
+
principal: string;
|
|
74
|
+
}): Promise<void>;
|
|
75
|
+
/** The §13.1 endpoint-registration ISSUANCE BARRIER over a bound KV — the production barrier a
|
|
76
|
+
* `registerServiceInstance` drives (observe -> freeze -> enumerate -> revoke -> [evict] -> reopen),
|
|
77
|
+
* freezing this instance's `epgate.<endpoint>.<instanceId>` so no serve mint can win against the
|
|
78
|
+
* surface the registration is about to supersede.
|
|
79
|
+
*
|
|
80
|
+
* For a FRESH first registration the enumerated `epcred` family is EMPTY, so revoke/evict are not
|
|
81
|
+
* exercised — but they are REAL code (a later takeover/re-registration of a LIVE instance MUST
|
|
82
|
+
* revoke the prior serve family and verify-evict its holders; a stub would silently skip that).
|
|
83
|
+
* `evict` is INJECTED: cluster-verified eviction is the $SYS CONNZ+KICK machinery (D5 slice 4),
|
|
84
|
+
* not this module's job. The DEFAULT is FAIL-CLOSED `() => false` — "no evictor ⇒ eviction cannot
|
|
85
|
+
* be VERIFIED ⇒ report not-verified" — so the saga's own guard (`if (!evict) throw`) leaves the
|
|
86
|
+
* gate FROZEN for reconciliation on a takeover with no real evictor, never silently reopening into
|
|
87
|
+
* split-brain. It is ONLY consulted on a NON-EMPTY family (a takeover); a fresh registration's
|
|
88
|
+
* empty family never invokes it, so this default never touches the 1a-gate path — it enforces the
|
|
89
|
+
* guard the moment a live predecessor exists. A caller with the real $SYS evictor injects it. The
|
|
90
|
+
* freeze/reopen CAS is the real fence: a barrier that moved the gate makes a racing mint LOSE. */
|
|
91
|
+
export declare function endpointRegistrationBarrier(kv: KV, space: string, args: {
|
|
92
|
+
endpoint: string;
|
|
93
|
+
instanceId: string;
|
|
94
|
+
opId: string;
|
|
95
|
+
evict?: (holderPrincipal: string) => Promise<boolean> | boolean;
|
|
96
|
+
}): import("./endpoint-service.js").EpIssuanceBarrier;
|
|
97
|
+
//# sourceMappingURL=endpoint-serve-kv.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"endpoint-serve-kv.d.ts","sourceRoot":"","sources":["../src/endpoint-serve-kv.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAKtC,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAK9E;;;yFAGyF;AACzF,wBAAsB,uBAAuB,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAWhG;AAED;;sFAEsF;AACtF,wBAAsB,oBAAoB,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,iBAAiB,CAAC,CAkBtG;AAED;;;;;;;yFAOyF;AACzF,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,cAAc,CAyDzH;AAED;;;;;;;;;;;;;;;;;;;;;;;qBAuBqB;AACrB,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,OAAO,uBAAuB,EAAE,cAAc,EACpD,QAAQ,EAAE,OAAO,uBAAuB,EAAE,WAAW,EACrD,GAAG,EAAE,gBAAgB,GACpB,OAAO,CAAC,IAAI,CAAC,CA4Df;AAED;;;;;;gCAMgC;AAChC,wBAAsB,yBAAyB,CAC7C,EAAE,EAAE,EAAE,EACN,IAAI,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAChE,OAAO,CAAC,IAAI,CAAC,CASf;AAED;;;;;;;;;;;;;;;mGAemG;AACnG,wBAAgB,2BAA2B,CACzC,EAAE,EAAE,EAAE,EACN,KAAK,EAAE,MAAM,EACb,IAAI,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,CAAC,eAAe,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAA;CAAE,GAC5H,OAAO,uBAAuB,EAAE,iBAAiB,CAiFnD"}
|