@cotal-ai/auth 0.150.0 → 0.151.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/commands.js +5 -2
- package/dist/commands.js.map +1 -1
- package/dist/daemon-flags.d.ts +4 -0
- package/dist/daemon-flags.d.ts.map +1 -1
- package/dist/daemon-flags.js +1 -0
- package/dist/daemon-flags.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/registry-host.d.ts +26 -0
- package/dist/registry-host.d.ts.map +1 -0
- package/dist/registry-host.js +213 -0
- package/dist/registry-host.js.map +1 -0
- package/dist/registry-state.d.ts +10 -0
- package/dist/registry-state.d.ts.map +1 -0
- package/dist/registry-state.js +34 -0
- package/dist/registry-state.js.map +1 -0
- package/dist/service-registration.d.ts +22 -0
- package/dist/service-registration.d.ts.map +1 -0
- package/dist/service-registration.js +44 -0
- package/dist/service-registration.js.map +1 -0
- package/dist/service.d.ts +14 -0
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +59 -54
- package/dist/service.js.map +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
import { Kvm } from "@nats-io/kv";
|
|
2
|
+
import { CotalEndpoint, DEV_OWNER, EpEnvelopeError, REGISTRY_ENDPOINT, SERVICE_EXITED, SERVICE_READY, authorizeServeGrant, epAuthBucket, mintCreds, newIdentity, principalKey, recordsBucket, registerServiceInstance, registryClusterArtifacts, registryContractArtifactValues, serveIssuanceGateKv, writeServiceStatus, } from "@cotal-ai/core";
|
|
3
|
+
import { openAuthorityClient, registrationExecutorGrants } from "./authority-client.js";
|
|
4
|
+
import { makeDeliveryAdminHolderEvictor } from "./barrier-evict.js";
|
|
5
|
+
import { makeDeliveryAdminPrincipalOracle } from "./plane-claim.js";
|
|
6
|
+
import { claimRegistryIdentity } from "./registry-state.js";
|
|
7
|
+
import { contractArtifactReader, registerSelfAuthorizedInstance, selfNameAuthority } from "./service-registration.js";
|
|
8
|
+
import { dataAccountAuth } from "./store.js";
|
|
9
|
+
/** This is opened only under the auth lane's held plane claim. The factory gets no signing key. */
|
|
10
|
+
export async function openAuthRegistry(opts) {
|
|
11
|
+
const { server, space, store, dataAccount, implementation, signal, log, onConnection } = opts;
|
|
12
|
+
const ttl = opts.ttlSeconds;
|
|
13
|
+
if (ttl !== undefined && (!Number.isSafeInteger(ttl) || ttl < 5 || ttl > 900))
|
|
14
|
+
throw new Error("registry rehearsal credential lifetime must be an integer from 5 to 900 seconds");
|
|
15
|
+
const lifetime = ttl === undefined ? {} : { expiresInSeconds: ttl };
|
|
16
|
+
if (implementation.kind !== "registry-service" || typeof implementation.start !== "function")
|
|
17
|
+
throw new Error("the registry implementation must be a registry-service extension");
|
|
18
|
+
const controller = new AbortController();
|
|
19
|
+
const handles = new Set();
|
|
20
|
+
const pending = new Set();
|
|
21
|
+
let executor;
|
|
22
|
+
let reader, serverEndpoint;
|
|
23
|
+
let readerNc, servingNc;
|
|
24
|
+
let closing = false, ready = false;
|
|
25
|
+
let writeStatus;
|
|
26
|
+
const refuse = () => {
|
|
27
|
+
controller.abort();
|
|
28
|
+
for (const h of handles)
|
|
29
|
+
h.refuse();
|
|
30
|
+
};
|
|
31
|
+
const available = () => {
|
|
32
|
+
if (controller.signal.aborted || signal.aborted)
|
|
33
|
+
throw new EpEnvelopeError("unavailable", "the registry's auth lane is unavailable");
|
|
34
|
+
};
|
|
35
|
+
const failure = (error) => {
|
|
36
|
+
refuse();
|
|
37
|
+
if (!closing)
|
|
38
|
+
opts.onFailure(`registry: ${error instanceof Error ? error.message : String(error)}`);
|
|
39
|
+
};
|
|
40
|
+
const onAbort = () => {
|
|
41
|
+
refuse();
|
|
42
|
+
// A plane fence must also stop registration/issuance already in progress during startup.
|
|
43
|
+
void executor?.close().catch(failure);
|
|
44
|
+
};
|
|
45
|
+
signal.addEventListener("abort", onAbort, { once: true });
|
|
46
|
+
let closingPromise;
|
|
47
|
+
const close = () => {
|
|
48
|
+
closing = true;
|
|
49
|
+
refuse();
|
|
50
|
+
return closingPromise ??= (async () => {
|
|
51
|
+
// Start drains before closing connections; a closed reader cancels pending disclosure reads.
|
|
52
|
+
const stopped = await Promise.allSettled([
|
|
53
|
+
...[...handles].map((h) => h.stop()), reader?.stop(), serverEndpoint?.stop(),
|
|
54
|
+
]);
|
|
55
|
+
// A failed start is not a failed close, but every start must settle before custody ends.
|
|
56
|
+
await Promise.allSettled([...pending]);
|
|
57
|
+
await Promise.all([...handles].map((h) => h.stop()));
|
|
58
|
+
const failed = stopped.find((r) => r.status === "rejected");
|
|
59
|
+
if (failed)
|
|
60
|
+
throw failed.reason;
|
|
61
|
+
if (ready && !signal.aborted) {
|
|
62
|
+
await writeStatus(SERVICE_EXITED);
|
|
63
|
+
ready = false;
|
|
64
|
+
}
|
|
65
|
+
await executor?.close();
|
|
66
|
+
signal.removeEventListener("abort", onAbort);
|
|
67
|
+
})().catch((error) => { closingPromise = undefined; throw error; });
|
|
68
|
+
};
|
|
69
|
+
opts.onCustody({ refuse, close });
|
|
70
|
+
try {
|
|
71
|
+
available();
|
|
72
|
+
const identity = await claimRegistryIdentity(store, space, dataAccount.pub);
|
|
73
|
+
available();
|
|
74
|
+
const { instanceId, serveIdentity } = identity;
|
|
75
|
+
const cluster = registryClusterArtifacts();
|
|
76
|
+
const artifacts = [...registryContractArtifactValues(), cluster.document, cluster.manifest];
|
|
77
|
+
executor = await openAuthorityClient({ server, space, dataAccount, log, onConnection,
|
|
78
|
+
label: `cotal:registry-registration:${space}`,
|
|
79
|
+
grants: (id) => registrationExecutorGrants(space, id, REGISTRY_ENDPOINT, instanceId),
|
|
80
|
+
onRenewalFailure: () => failure(new Error("registry registration credential renewal failed")),
|
|
81
|
+
});
|
|
82
|
+
available();
|
|
83
|
+
const principalOracle = makeDeliveryAdminPrincipalOracle({ server, space, dataAccount, log, onConnection });
|
|
84
|
+
const evict = makeDeliveryAdminHolderEvictor({ server, space, dataAccount, log, onConnection });
|
|
85
|
+
const registration = await registerSelfAuthorizedInstance(executor.nc, {
|
|
86
|
+
space, endpoint: REGISTRY_ENDPOINT, instanceId,
|
|
87
|
+
principal: principalKey(DEV_OWNER, serveIdentity.id).key,
|
|
88
|
+
clusterDigest: cluster.closureDigest, artifacts,
|
|
89
|
+
recovery: {
|
|
90
|
+
probeHolder: async (principal) => {
|
|
91
|
+
available();
|
|
92
|
+
const result = await principalOracle(principal);
|
|
93
|
+
available();
|
|
94
|
+
return { state: result.state, detail: result.note ?? `delivery principal sweep complete=${String(result.sweepComplete)}` };
|
|
95
|
+
},
|
|
96
|
+
evictHolders: async (holders) => {
|
|
97
|
+
available();
|
|
98
|
+
const result = await evict(holders);
|
|
99
|
+
available();
|
|
100
|
+
return result.map((r) => r.verifiedGone);
|
|
101
|
+
},
|
|
102
|
+
log,
|
|
103
|
+
},
|
|
104
|
+
}, registerServiceInstance);
|
|
105
|
+
available();
|
|
106
|
+
const kvm = new Kvm(executor.nc);
|
|
107
|
+
const records = await kvm.open(recordsBucket(space));
|
|
108
|
+
const gate = serveIssuanceGateKv(await kvm.open(epAuthBucket(space)), space, { endpoint: REGISTRY_ENDPOINT, instanceId });
|
|
109
|
+
const readProcessEpoch = async () => {
|
|
110
|
+
const current = await gate.observe();
|
|
111
|
+
if (!current)
|
|
112
|
+
throw new EpEnvelopeError("unavailable", "the registry issuance gate is missing");
|
|
113
|
+
return current.processEpoch;
|
|
114
|
+
};
|
|
115
|
+
const grant = await authorizeServeGrant(records, {
|
|
116
|
+
space, endpoint: REGISTRY_ENDPOINT, instanceId, epoch: registration.processEpoch,
|
|
117
|
+
holder: { owner: DEV_OWNER }, authority: selfNameAuthority(REGISTRY_ENDPOINT),
|
|
118
|
+
readClusterArtifact: contractArtifactReader(artifacts), readProcessEpoch,
|
|
119
|
+
});
|
|
120
|
+
writeStatus = async (state) => {
|
|
121
|
+
await writeServiceStatus(records, {
|
|
122
|
+
endpoint: REGISTRY_ENDPOINT, instanceId, epoch: registration.processEpoch, readProcessEpoch,
|
|
123
|
+
status: { state, epoch: registration.processEpoch, observedSpecRevision: registration.registrationRevision },
|
|
124
|
+
});
|
|
125
|
+
};
|
|
126
|
+
const auth = dataAccountAuth(space, dataAccount);
|
|
127
|
+
const readerIdentity = newIdentity();
|
|
128
|
+
reader = new CotalEndpoint({
|
|
129
|
+
space, servers: server, channels: [], consume: false, registerPresence: false, watchPresence: false, watchChannels: false,
|
|
130
|
+
card: { id: readerIdentity.id, name: "registry-reader", kind: "endpoint" },
|
|
131
|
+
creds: async () => {
|
|
132
|
+
try {
|
|
133
|
+
available();
|
|
134
|
+
const creds = await mintCreds(auth, readerIdentity, "registry-reader", lifetime);
|
|
135
|
+
available();
|
|
136
|
+
return creds;
|
|
137
|
+
}
|
|
138
|
+
catch (error) {
|
|
139
|
+
failure(error);
|
|
140
|
+
throw error;
|
|
141
|
+
}
|
|
142
|
+
},
|
|
143
|
+
onConnection: (nc) => {
|
|
144
|
+
readerNc = nc;
|
|
145
|
+
onConnection?.(nc, `cotal:registry-reader:${space}`);
|
|
146
|
+
void nc.closed().then(() => {
|
|
147
|
+
if (!closing && !controller.signal.aborted)
|
|
148
|
+
failure(new Error("registry reader connection closed"));
|
|
149
|
+
});
|
|
150
|
+
},
|
|
151
|
+
});
|
|
152
|
+
reader.on("error", failure);
|
|
153
|
+
reader.on("warning", (error) => log(`registry reader: ${error.message}`));
|
|
154
|
+
await reader.start();
|
|
155
|
+
available();
|
|
156
|
+
serverEndpoint = new CotalEndpoint({
|
|
157
|
+
space, servers: server, channels: [], consume: false, registerPresence: false, watchPresence: false, watchChannels: false,
|
|
158
|
+
card: { id: serveIdentity.id, name: "registry", kind: "endpoint" },
|
|
159
|
+
creds: async () => {
|
|
160
|
+
try {
|
|
161
|
+
available();
|
|
162
|
+
// Every renewal is an ordinary issuance CAS against the same captured grant, never a
|
|
163
|
+
// re-sign of cached permissions or adoption of a successor's registration coordinates.
|
|
164
|
+
const creds = await mintCreds(auth, serveIdentity, "endpoint-serve", {
|
|
165
|
+
endpointServe: grant, serveIssuance: gate, ...lifetime,
|
|
166
|
+
});
|
|
167
|
+
available();
|
|
168
|
+
return creds;
|
|
169
|
+
}
|
|
170
|
+
catch (error) {
|
|
171
|
+
failure(error);
|
|
172
|
+
throw error;
|
|
173
|
+
}
|
|
174
|
+
},
|
|
175
|
+
onConnection: (nc) => {
|
|
176
|
+
servingNc = nc;
|
|
177
|
+
onConnection?.(nc, `cotal:registry-serve:${space}`);
|
|
178
|
+
const bind = (async () => {
|
|
179
|
+
available();
|
|
180
|
+
const handle = await implementation.start({ space, connection: nc, reader: readerNc, grant, signal: controller.signal, log, onFailure: failure });
|
|
181
|
+
handles.add(handle);
|
|
182
|
+
if (controller.signal.aborted) {
|
|
183
|
+
handle.refuse();
|
|
184
|
+
await handle.stop();
|
|
185
|
+
}
|
|
186
|
+
void nc.closed().then(() => {
|
|
187
|
+
if (!closing && !controller.signal.aborted)
|
|
188
|
+
failure(new Error("registry serving connection closed"));
|
|
189
|
+
return handle.stop();
|
|
190
|
+
}).catch(failure).finally(() => handles.delete(handle));
|
|
191
|
+
})();
|
|
192
|
+
pending.add(bind);
|
|
193
|
+
void bind.catch(failure).finally(() => pending.delete(bind));
|
|
194
|
+
},
|
|
195
|
+
});
|
|
196
|
+
serverEndpoint.on("error", failure);
|
|
197
|
+
serverEndpoint.on("warning", (error) => log(`registry serve: ${error.message}`));
|
|
198
|
+
await serverEndpoint.start();
|
|
199
|
+
await Promise.all([...pending]);
|
|
200
|
+
available();
|
|
201
|
+
await servingNc.flush();
|
|
202
|
+
// A lost ready acknowledgement can still have published the status; close must compensate.
|
|
203
|
+
ready = true;
|
|
204
|
+
await writeStatus(SERVICE_READY);
|
|
205
|
+
available();
|
|
206
|
+
return { refuse, close };
|
|
207
|
+
}
|
|
208
|
+
catch (error) {
|
|
209
|
+
await close();
|
|
210
|
+
throw error;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
//# sourceMappingURL=registry-host.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry-host.js","sourceRoot":"","sources":["../src/registry-host.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type Identity, type SecretStore } from "@cotal-ai/core";
|
|
2
|
+
interface RegistryIdentity {
|
|
3
|
+
instanceId: string;
|
|
4
|
+
serveIdentity: Identity;
|
|
5
|
+
}
|
|
6
|
+
/** Registry identity is separate from auth's own identity and pinned to the tenant account.
|
|
7
|
+
* Registration operation and repair progress stay in the native epgate/eprepair records. */
|
|
8
|
+
export declare function claimRegistryIdentity(store: SecretStore, space: string, accountPublicKey: string): Promise<RegistryIdentity>;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=registry-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry-state.d.ts","sourceRoot":"","sources":["../src/registry-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuD,KAAK,QAAQ,EAAE,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGtH,UAAU,gBAAgB;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,QAAQ,CAAC;CACzB;AAED;4FAC4F;AAC5F,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAoBlI"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { assertLifecycleToken, mintLifecycleUid, newIdentity } from "@cotal-ai/core";
|
|
2
|
+
import { identityOf, spaceSegment } from "@cotal-ai/workspace";
|
|
3
|
+
/** Registry identity is separate from auth's own identity and pinned to the tenant account.
|
|
4
|
+
* Registration operation and repair progress stay in the native epgate/eprepair records. */
|
|
5
|
+
export async function claimRegistryIdentity(store, space, accountPublicKey) {
|
|
6
|
+
const key = `auth/${spaceSegment(space)}/registry-instance.json`;
|
|
7
|
+
const parse = (raw) => {
|
|
8
|
+
let value;
|
|
9
|
+
try {
|
|
10
|
+
value = JSON.parse(raw);
|
|
11
|
+
}
|
|
12
|
+
catch {
|
|
13
|
+
throw new Error("the registry identity is not valid JSON; restore the original identity");
|
|
14
|
+
}
|
|
15
|
+
if (!value || value.v !== 1 || value.space !== space || value.accountPublicKey !== accountPublicKey
|
|
16
|
+
|| Object.keys(value).sort().join(",") !== "accountPublicKey,instanceId,serveIdentity,space,v")
|
|
17
|
+
throw new Error("the registry identity is malformed or belongs to another account; it was not replaced");
|
|
18
|
+
const serveIdentity = identityOf(value.serveIdentity);
|
|
19
|
+
if (!serveIdentity)
|
|
20
|
+
throw new Error("the registry serving identity is malformed; restore the original identity");
|
|
21
|
+
return { instanceId: assertLifecycleToken(value.instanceId, "registry instanceId"), serveIdentity };
|
|
22
|
+
};
|
|
23
|
+
const prior = await store.get(key);
|
|
24
|
+
if (prior !== undefined)
|
|
25
|
+
return parse(prior);
|
|
26
|
+
const value = { v: 1, space, accountPublicKey, instanceId: mintLifecycleUid(), serveIdentity: newIdentity() };
|
|
27
|
+
if (await store.create(key, JSON.stringify(value)))
|
|
28
|
+
return { instanceId: value.instanceId, serveIdentity: value.serveIdentity };
|
|
29
|
+
const winner = await store.get(key);
|
|
30
|
+
if (winner === undefined)
|
|
31
|
+
throw new Error("the registry identity create was not confirmed; no replacement was minted");
|
|
32
|
+
return parse(winner);
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=registry-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry-state.js","sourceRoot":"","sources":["../src/registry-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,WAAW,EAAmC,MAAM,gBAAgB,CAAC;AACtH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAO/D;4FAC4F;AAC5F,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,KAAkB,EAAE,KAAa,EAAE,gBAAwB;IACrG,MAAM,GAAG,GAAG,QAAQ,YAAY,CAAC,KAAK,CAAC,yBAAyB,CAAC;IACjE,MAAM,KAAK,GAAG,CAAC,GAAW,EAAoB,EAAE;QAC9C,IAAI,KAA8B,CAAC;QACnC,IAAI,CAAC;YAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA4B,CAAC;QAAC,CAAC;QAC3D,MAAM,CAAC;YAAC,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;QAAC,CAAC;QACpG,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK,IAAI,KAAK,CAAC,gBAAgB,KAAK,gBAAgB;eAC9F,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,mDAAmD;YAC9F,MAAM,IAAI,KAAK,CAAC,uFAAuF,CAAC,CAAC;QAC3G,MAAM,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACtD,IAAI,CAAC,aAAa;YAAE,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;QACjH,OAAO,EAAE,UAAU,EAAE,oBAAoB,CAAC,KAAK,CAAC,UAAoB,EAAE,qBAAqB,CAAC,EAAE,aAAa,EAAE,CAAC;IAChH,CAAC,CAAC;IACF,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,EAAE,EAAE,aAAa,EAAE,WAAW,EAAE,EAAE,CAAC;IAC9G,IAAI,MAAM,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAAE,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC;IAChI,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,MAAM,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;IACvH,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC;AACvB,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { type KV } from "@nats-io/kv";
|
|
2
|
+
import type { NatsConnection } from "@nats-io/transport-node";
|
|
3
|
+
import { reconcileEndpointGate, registerServiceInstance, type ServiceNameAuthority } from "@cotal-ai/core";
|
|
4
|
+
/** The signing holder authorizes one built-in name for DEV_OWNER; no guest receives this seam. */
|
|
5
|
+
export declare function selfNameAuthority(endpoint: string): ServiceNameAuthority;
|
|
6
|
+
/** Read the exact published contract closure used by a self-authorized registration. */
|
|
7
|
+
export declare function contractArtifactReader(values: unknown[]): (digest: string) => unknown;
|
|
8
|
+
/** Register an auth-owned endpoint through the native gate ceremony. Optional recovery uses the
|
|
9
|
+
* native holder-gone guard and retained repair cursor before starting a new registration. */
|
|
10
|
+
export declare function registerSelfAuthorizedInstance<R extends {
|
|
11
|
+
registrationRevision: number;
|
|
12
|
+
processEpoch: number;
|
|
13
|
+
}>(nc: NatsConnection, args: {
|
|
14
|
+
space: string;
|
|
15
|
+
endpoint: string;
|
|
16
|
+
instanceId: string;
|
|
17
|
+
principal: string;
|
|
18
|
+
clusterDigest: string;
|
|
19
|
+
artifacts: unknown[];
|
|
20
|
+
recovery?: Pick<Parameters<typeof reconcileEndpointGate>[0], "probeHolder" | "evictHolders" | "log">;
|
|
21
|
+
}, register: (kv: KV, args: Parameters<typeof registerServiceInstance>[1]) => Promise<R>): Promise<R>;
|
|
22
|
+
//# sourceMappingURL=service-registration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-registration.d.ts","sourceRoot":"","sources":["../src/service-registration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,EAAE,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAGoB,qBAAqB,EAAiB,uBAAuB,EACjE,KAAK,oBAAoB,EAC/C,MAAM,gBAAgB,CAAC;AAExB,kGAAkG;AAClG,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,oBAAoB,CAExE;AAED,wFAAwF;AACxF,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAGrF;AAED;6FAC6F;AAC7F,wBAAsB,8BAA8B,CAAC,CAAC,SAAS;IAAE,oBAAoB,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE;IAC/I,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,OAAO,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,GAAG,cAAc,GAAG,KAAK,CAAC,CAAC;CACtG,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CA2BpG"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Kvm } from "@nats-io/kv";
|
|
2
|
+
import { DEV_OWNER, EpEnvelopeError, contractArtifactCanonicalBytes, contractDigest, contractStoreContext, endpointRegistrationBarrier, epAuthBucket, mintLifecycleUid, provisionEndpointGateOpen, publishContractArtifact, reconcileEndpointGate, recordsBucket, registerServiceInstance, serveIssuanceGateKv, } from "@cotal-ai/core";
|
|
3
|
+
/** The signing holder authorizes one built-in name for DEV_OWNER; no guest receives this seam. */
|
|
4
|
+
export function selfNameAuthority(endpoint) {
|
|
5
|
+
return { authorize: (name, owner) => ({ authorized: name === endpoint && owner === DEV_OWNER, revision: 0 }) };
|
|
6
|
+
}
|
|
7
|
+
/** Read the exact published contract closure used by a self-authorized registration. */
|
|
8
|
+
export function contractArtifactReader(values) {
|
|
9
|
+
const store = new Map(values.map((v) => [contractDigest(v), v]));
|
|
10
|
+
return (digest) => store.get(digest);
|
|
11
|
+
}
|
|
12
|
+
/** Register an auth-owned endpoint through the native gate ceremony. Optional recovery uses the
|
|
13
|
+
* native holder-gone guard and retained repair cursor before starting a new registration. */
|
|
14
|
+
export async function registerSelfAuthorizedInstance(nc, args, register) {
|
|
15
|
+
const { space, endpoint, instanceId } = args;
|
|
16
|
+
const authKv = await new Kvm(nc).open(epAuthBucket(space));
|
|
17
|
+
const recordsKv = await new Kvm(nc).open(recordsBucket(space));
|
|
18
|
+
const storeCtx = await contractStoreContext(nc, space);
|
|
19
|
+
for (const value of args.artifacts)
|
|
20
|
+
await publishContractArtifact(storeCtx, contractArtifactCanonicalBytes(value));
|
|
21
|
+
const gate = serveIssuanceGateKv(authKv, space, { endpoint, instanceId });
|
|
22
|
+
const prior = await gate.observe();
|
|
23
|
+
if (args.recovery && prior !== null && prior.principal !== args.principal)
|
|
24
|
+
throw new EpEnvelopeError("permission-denied", "the registry's retained identity does not own its registration gate");
|
|
25
|
+
if (prior === null)
|
|
26
|
+
await provisionEndpointGateOpen(authKv, { endpoint, instanceId, principal: args.principal });
|
|
27
|
+
else if (prior.state === "frozen" && args.recovery)
|
|
28
|
+
await reconcileEndpointGate({ kv: authKv, recordsKv, space, endpoint, instanceId, ...args.recovery });
|
|
29
|
+
const barrier = endpointRegistrationBarrier(authKv, space, {
|
|
30
|
+
endpoint, instanceId, opId: mintLifecycleUid(),
|
|
31
|
+
...(args.recovery ? { evict: args.recovery.evictHolders } : {}),
|
|
32
|
+
});
|
|
33
|
+
const spec = { endpoint, owner: DEV_OWNER, clusterDigests: [args.clusterDigest], protocol: { v: 1 } };
|
|
34
|
+
const registered = await register(recordsKv, {
|
|
35
|
+
space, spec, instanceId, registrant: { owner: DEV_OWNER }, authority: selfNameAuthority(endpoint), barrier,
|
|
36
|
+
readClusterArtifact: contractArtifactReader(args.artifacts),
|
|
37
|
+
});
|
|
38
|
+
const { registrationRevision, processEpoch } = registered;
|
|
39
|
+
const observed = await gate.observe();
|
|
40
|
+
if (observed?.state !== "open" || observed.processEpoch !== processEpoch || observed.registrationRevision !== registrationRevision)
|
|
41
|
+
throw new EpEnvelopeError("conflict", `the issuance gate of ${endpoint}/${instanceId} is no longer open at this registration (process epoch ${processEpoch}, revision ${registrationRevision}); a later barrier fenced this start (SPEC 13.1)`);
|
|
42
|
+
return registered;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=service-registration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-registration.js","sourceRoot":"","sources":["../src/service-registration.ts"],"names":[],"mappings":"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"}
|
package/dist/service.d.ts
CHANGED
|
@@ -22,6 +22,7 @@ import { type PlaneLivenessOracle } from "./plane-claim.js";
|
|
|
22
22
|
import { type EvictPrincipal } from "./credential-ledger.js";
|
|
23
23
|
import { type RunCancelLimits } from "./run-cancel-observation.js";
|
|
24
24
|
import type { DelegatedUserIntentIncarnation } from "./delegated-user-intent.js";
|
|
25
|
+
import { type RegistryService } from "@cotal-ai/core";
|
|
25
26
|
import { ledgerAuthorizeGrant } from "./ledger.js";
|
|
26
27
|
import { type ServiceKeys } from "./store.js";
|
|
27
28
|
/** JWKS max-age seconds — the cache contract's knob. Exported so a rotation tool can compute the
|
|
@@ -266,6 +267,10 @@ export interface AuthServiceRuntimeOptions {
|
|
|
266
267
|
interactiveManagerSelection?: "local-primary";
|
|
267
268
|
/** Process-lifetime cancellation custody quotas. No eviction or automatic restart on exhaustion. */
|
|
268
269
|
runCancelLimits?: RunCancelLimits;
|
|
270
|
+
/** Default off. The composition root supplies the registry data plane; auth retains its authority. */
|
|
271
|
+
registry?: RegistryService;
|
|
272
|
+
/** Trusted-host only, 5..900 seconds. The native credential source owns renewal. */
|
|
273
|
+
registryCredentialTtlSeconds?: number;
|
|
269
274
|
}
|
|
270
275
|
/** Inputs to the sealed authority-plane composition. */
|
|
271
276
|
export interface OpenAuthAuthorityPlaneOptions extends AuthServiceRuntimeOptions {
|
|
@@ -280,6 +285,8 @@ export interface OpenAuthAuthorityPlaneOptions extends AuthServiceRuntimeOptions
|
|
|
280
285
|
/** A hosted context's injected store, which then keeps the restart identity with the other auth
|
|
281
286
|
* secret kinds: its serve seed is a private key. */
|
|
282
287
|
identityStore?: SecretStore;
|
|
288
|
+
/** Required with registry. Explicit on both CLI and hosted paths; no ambient store is discovered. */
|
|
289
|
+
registryStore?: SecretStore;
|
|
283
290
|
dataAccount: ServiceKeys["dataAccount"];
|
|
284
291
|
log: (line: string) => void;
|
|
285
292
|
/** SMOKE-ONLY eviction override for the barrier executor's boot resume. Production
|
|
@@ -359,6 +366,7 @@ export declare function authServiceConfiguration(args: ParsedArgs): {
|
|
|
359
366
|
agentProvisioningUrl: string | undefined;
|
|
360
367
|
} | undefined;
|
|
361
368
|
serviceEndpoints: boolean;
|
|
369
|
+
registry: boolean;
|
|
362
370
|
calloutOnly: boolean;
|
|
363
371
|
calloutLimits: AuthCalloutLimits | undefined;
|
|
364
372
|
};
|
|
@@ -389,6 +397,8 @@ export interface AuthHostEntry {
|
|
|
389
397
|
/** Whether the space's lane hosts service endpoints, as `--service-endpoints` does for one space.
|
|
390
398
|
* An absent field is `false`. */
|
|
391
399
|
serviceEndpoints: boolean;
|
|
400
|
+
/** Default off; only this lane hosts the registry when true. */
|
|
401
|
+
registry?: boolean;
|
|
392
402
|
}
|
|
393
403
|
/** Parse an `auth-service --spaces` manifest with the rules the host applies to every read of it:
|
|
394
404
|
* the version 2 grammar, each entry's fields and the checks across entries. Throws naming what is
|
|
@@ -516,6 +526,10 @@ export declare function startAuthService(inputs: HostedContextInputs & {
|
|
|
516
526
|
toolResultConsents?: ToolResultConsentSignerOptions;
|
|
517
527
|
/** Default off. Forwarded unchanged to {@link openAuthAuthorityPlane}. No CLI flag sets it. */
|
|
518
528
|
serviceEndpoints?: OpenAuthAuthorityPlaneOptions["serviceEndpoints"];
|
|
529
|
+
/** Default off. Auth hosts this registry using this context's own assigned secret store. */
|
|
530
|
+
registry?: RegistryService;
|
|
531
|
+
/** Trusted-host-only credential lifetime for registry renewal rehearsal, 5..900 seconds. */
|
|
532
|
+
registryCredentialTtlSeconds?: number;
|
|
519
533
|
/** This context's callout limits. `authTimeoutMs` must match the broker's `authorization
|
|
520
534
|
* { timeout }`. Absent: every default. No CLI flag sets it. */
|
|
521
535
|
calloutLimits?: AuthCalloutLimits;
|
package/dist/service.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
|