@sentropic/h2a 0.97.2 → 0.97.4

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.
Files changed (94) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/.codex-plugin/plugin.json +1 -1
  3. package/dist/bin.js +13 -0
  4. package/dist/bin.js.map +1 -1
  5. package/dist/cli.d.ts +13 -0
  6. package/dist/cli.d.ts.map +1 -1
  7. package/dist/cli.js +94 -37
  8. package/dist/cli.js.map +1 -1
  9. package/dist/index.d.ts +1 -1
  10. package/dist/mcp.d.ts +1 -1
  11. package/dist/mcp.d.ts.map +1 -1
  12. package/dist/mcp.js +2 -0
  13. package/dist/mcp.js.map +1 -1
  14. package/dist/runtime/identity/bindings.d.ts +33 -0
  15. package/dist/runtime/identity/bindings.d.ts.map +1 -1
  16. package/dist/runtime/identity/bindings.js +65 -2
  17. package/dist/runtime/identity/bindings.js.map +1 -1
  18. package/dist/runtime/identity/index.d.ts +4 -4
  19. package/dist/runtime/identity/index.d.ts.map +1 -1
  20. package/dist/runtime/identity/index.js +2 -2
  21. package/dist/runtime/identity/index.js.map +1 -1
  22. package/dist/runtime/identity/live.d.ts +63 -0
  23. package/dist/runtime/identity/live.d.ts.map +1 -1
  24. package/dist/runtime/identity/live.js +346 -65
  25. package/dist/runtime/identity/live.js.map +1 -1
  26. package/dist/runtime/identity/worker.d.ts +19 -0
  27. package/dist/runtime/identity/worker.d.ts.map +1 -0
  28. package/dist/runtime/identity/worker.js +189 -0
  29. package/dist/runtime/identity/worker.js.map +1 -0
  30. package/dist/runtime/local-files/locks.d.ts +34 -0
  31. package/dist/runtime/local-files/locks.d.ts.map +1 -1
  32. package/dist/runtime/local-files/locks.js +55 -2
  33. package/dist/runtime/local-files/locks.js.map +1 -1
  34. package/dist/runtime/local-files/store.d.ts +21 -0
  35. package/dist/runtime/local-files/store.d.ts.map +1 -1
  36. package/dist/runtime/local-files/store.js +79 -10
  37. package/dist/runtime/local-files/store.js.map +1 -1
  38. package/dist/runtime/mcp/discovery-pagination.d.ts +73 -0
  39. package/dist/runtime/mcp/discovery-pagination.d.ts.map +1 -0
  40. package/dist/runtime/mcp/discovery-pagination.js +446 -0
  41. package/dist/runtime/mcp/discovery-pagination.js.map +1 -0
  42. package/dist/runtime/mcp/frame-budget.d.ts +149 -0
  43. package/dist/runtime/mcp/frame-budget.d.ts.map +1 -0
  44. package/dist/runtime/mcp/frame-budget.js +275 -0
  45. package/dist/runtime/mcp/frame-budget.js.map +1 -0
  46. package/dist/runtime/mcp/handlers.d.ts +14 -3
  47. package/dist/runtime/mcp/handlers.d.ts.map +1 -1
  48. package/dist/runtime/mcp/handlers.js +22 -1
  49. package/dist/runtime/mcp/handlers.js.map +1 -1
  50. package/dist/runtime/mcp/identity-state.d.ts +131 -0
  51. package/dist/runtime/mcp/identity-state.d.ts.map +1 -0
  52. package/dist/runtime/mcp/identity-state.js +288 -0
  53. package/dist/runtime/mcp/identity-state.js.map +1 -0
  54. package/dist/runtime/mcp/index.d.ts +2 -0
  55. package/dist/runtime/mcp/index.d.ts.map +1 -1
  56. package/dist/runtime/mcp/index.js +2 -0
  57. package/dist/runtime/mcp/index.js.map +1 -1
  58. package/dist/runtime/mcp/notifications.d.ts +13 -1
  59. package/dist/runtime/mcp/notifications.d.ts.map +1 -1
  60. package/dist/runtime/mcp/notifications.js +36 -20
  61. package/dist/runtime/mcp/notifications.js.map +1 -1
  62. package/dist/runtime/mcp/payload-store.d.ts +67 -0
  63. package/dist/runtime/mcp/payload-store.d.ts.map +1 -0
  64. package/dist/runtime/mcp/payload-store.js +242 -0
  65. package/dist/runtime/mcp/payload-store.js.map +1 -0
  66. package/dist/runtime/mcp/phase-trace.d.ts +98 -0
  67. package/dist/runtime/mcp/phase-trace.d.ts.map +1 -0
  68. package/dist/runtime/mcp/phase-trace.js +179 -0
  69. package/dist/runtime/mcp/phase-trace.js.map +1 -0
  70. package/dist/runtime/mcp/server.d.ts +36 -1
  71. package/dist/runtime/mcp/server.d.ts.map +1 -1
  72. package/dist/runtime/mcp/server.js +162 -5
  73. package/dist/runtime/mcp/server.js.map +1 -1
  74. package/dist/runtime/mcp/sessions.d.ts +12 -2
  75. package/dist/runtime/mcp/sessions.d.ts.map +1 -1
  76. package/dist/runtime/mcp/sessions.js +15 -3
  77. package/dist/runtime/mcp/sessions.js.map +1 -1
  78. package/dist/runtime/mcp/stdio.d.ts +21 -0
  79. package/dist/runtime/mcp/stdio.d.ts.map +1 -1
  80. package/dist/runtime/mcp/stdio.js +378 -98
  81. package/dist/runtime/mcp/stdio.js.map +1 -1
  82. package/dist/runtime/mcp/tools.d.ts.map +1 -1
  83. package/dist/runtime/mcp/tools.js +47 -4
  84. package/dist/runtime/mcp/tools.js.map +1 -1
  85. package/dist/runtime/mcp-central.d.ts.map +1 -1
  86. package/dist/runtime/mcp-central.js +17 -7
  87. package/dist/runtime/mcp-central.js.map +1 -1
  88. package/dist/runtime/mcp-http/hosted-mcp-server.d.ts.map +1 -1
  89. package/dist/runtime/mcp-http/hosted-mcp-server.js +16 -6
  90. package/dist/runtime/mcp-http/hosted-mcp-server.js.map +1 -1
  91. package/dist/runtime/mcp-http/readonly-allowlist.d.ts.map +1 -1
  92. package/dist/runtime/mcp-http/readonly-allowlist.js +6 -0
  93. package/dist/runtime/mcp-http/readonly-allowlist.js.map +1 -1
  94. package/package.json +3 -3
@@ -1,10 +1,11 @@
1
1
  import { createHash, generateKeyPairSync } from "node:crypto";
2
- import { copyFileSync, existsSync, mkdirSync, readFileSync, realpathSync, writeFileSync } from "node:fs";
2
+ import { copyFileSync, existsSync, mkdirSync, readFileSync, realpathSync, unlinkSync, writeFileSync } from "node:fs";
3
3
  import { hostname } from "node:os";
4
4
  import { basename, join } from "node:path";
5
5
  import { deriveInstanceId, deriveWorkspaceId, mintAgentUuid, signCanonical } from "@sentropic/h2a";
6
6
  import { createLocalStore } from "../local-files/store.js";
7
- import { findBinding, reclaimOrMint, verifyReclaimProof } from "./bindings.js";
7
+ import { getActiveMcpTrace } from "../mcp/phase-trace.js";
8
+ import { findBinding, reclaimOrMint, reclaimOrMintAsync, verifyReclaimProof } from "./bindings.js";
8
9
  import { decideLegacyAdoption, legacyAliasAlreadyAdopted, recordIdentityAlias } from "./migration.js";
9
10
  import { defaultProviderSessionReaders, readHostSessionName } from "./readers.js";
10
11
  import { resolveProviderSession } from "./resolver.js";
@@ -152,6 +153,26 @@ function ensureKeypair(root, instance, adoptFromInstance) {
152
153
  writeFileSync(paths.publicKeyPath, generated.publicKeyPem, "utf8");
153
154
  return { publicKeyPem: generated.publicKeyPem, ...paths };
154
155
  }
156
+ /**
157
+ * F5: cheaply remove a mint-race LOSER's orphan keypair files. When a contender
158
+ * pre-registered a mint candidate (keys + registration + alias) but then RECLAIMED
159
+ * a different instance under the lock, its candidate keypair is unused — unlink it
160
+ * so a stray private key does not linger (N-1 per same-conversation burst). The
161
+ * APPEND-ONLY registration/alias rows are NOT cheaply removable (that is exactly
162
+ * the registry growth L3 compaction addresses) and are left for L3. Best-effort:
163
+ * a failure never affects the resolved identity.
164
+ */
165
+ function cleanupOrphanKeypair(root, instance) {
166
+ const paths = identityKeyPaths(root, instance);
167
+ for (const p of [paths.privateKeyPath, paths.publicKeyPath]) {
168
+ try {
169
+ unlinkSync(p);
170
+ }
171
+ catch {
172
+ /* already gone / never written — fine */
173
+ }
174
+ }
175
+ }
155
176
  function provesLocalKey(root, instance) {
156
177
  const store = createLocalStore({ root });
157
178
  const keypair = readKeypair(root, instance);
@@ -170,31 +191,38 @@ function provesLocalKey(root, instance) {
170
191
  }
171
192
  }
172
193
  function ensureRegistered(input) {
173
- const store = createLocalStore({ root: input.root });
194
+ const store = createLocalStore({
195
+ root: input.root,
196
+ ...(input.lockTimeoutMs !== undefined ? { lockTimeoutMs: input.lockTimeoutMs } : {})
197
+ });
198
+ const buildRegistration = () => ({
199
+ id: input.instance,
200
+ instance: input.instance,
201
+ roles: ["AGENTS"],
202
+ scopes: [...input.scopes],
203
+ // AUTHORITY-BEARING and intentionally left EMPTY, exactly as before this
204
+ // workstream: it is the subagent ceiling and the attestation right. A
205
+ // display list must never be written here (architect ruling, 2026-07-25).
206
+ capabilities: [],
207
+ endpoints: [{ kind: "local-files", uri: `file://${input.root}` }],
208
+ publicKeys: [input.publicKeyPem],
209
+ acceptedPolicies: [],
210
+ agentUuid: input.agentUuid,
211
+ workspace: input.workspace,
212
+ name: input.name,
213
+ createdAt: new Date(input.now()).toISOString(),
214
+ // The declared DISPLAY list, kept structurally apart from `capabilities`.
215
+ ...(input.declaredCapabilities.length > 0
216
+ ? { declaredCapabilities: [...input.declaredCapabilities] }
217
+ : {})
218
+ });
219
+ if (input.skipExistingCheck) {
220
+ store.registerInstance(buildRegistration());
221
+ return;
222
+ }
174
223
  const existing = store.findInstance(input.instance);
175
224
  if (!existing) {
176
- const registration = {
177
- id: input.instance,
178
- instance: input.instance,
179
- roles: ["AGENTS"],
180
- scopes: [...input.scopes],
181
- // AUTHORITY-BEARING and intentionally left EMPTY, exactly as before this
182
- // workstream: it is the subagent ceiling and the attestation right. A
183
- // display list must never be written here (architect ruling, 2026-07-25).
184
- capabilities: [],
185
- endpoints: [{ kind: "local-files", uri: `file://${input.root}` }],
186
- publicKeys: [input.publicKeyPem],
187
- acceptedPolicies: [],
188
- agentUuid: input.agentUuid,
189
- workspace: input.workspace,
190
- name: input.name,
191
- createdAt: new Date(input.now()).toISOString(),
192
- // The declared DISPLAY list, kept structurally apart from `capabilities`.
193
- ...(input.declaredCapabilities.length > 0
194
- ? { declaredCapabilities: [...input.declaredCapabilities] }
195
- : {})
196
- };
197
- store.registerInstance(registration);
225
+ store.registerInstance(buildRegistration());
198
226
  return;
199
227
  }
200
228
  if (!store.listInstanceKeys(input.instance).includes(input.publicKeyPem)) {
@@ -202,13 +230,17 @@ function ensureRegistered(input) {
202
230
  }
203
231
  }
204
232
  export function resolveLiveIdentity(input) {
233
+ // L0 identity spans: provider resolution, key prep, proof, enrollment, alias.
234
+ // NEVER a PEM or a private path in an event — only the phase and its timing.
235
+ const trace = getActiveMcpTrace();
236
+ const step = (name, fn) => (trace ? trace.span(name, fn) : fn());
205
237
  const host = input.host || "agent";
206
238
  const label = labelFromCwd(input.cwd);
207
239
  if (input.explicitInstance) {
208
240
  return { instance: input.explicitInstance, host, action: "override" };
209
241
  }
210
242
  const readers = input.readers ?? defaultProviderSessionReaders;
211
- const provider = resolveProviderSession({ host, cwd: input.cwd, readers });
243
+ const provider = step("identity_provider", () => resolveProviderSession({ host, cwd: input.cwd, readers }));
212
244
  const realPath = realWorkspacePath(input.cwd);
213
245
  const workspaceId = durableWorkspaceId(realPath) ??
214
246
  provider.workspaceHint ??
@@ -228,65 +260,108 @@ export function resolveLiveIdentity(input) {
228
260
  ? readHostSessionName({ host, cwd: input.cwd, sessionId: provider.providerSessionId })
229
261
  : undefined;
230
262
  const name = input.name ?? hostName ?? label;
263
+ // The mint candidate is memoized so the SAME identity is pre-registered (below)
264
+ // and then committed — a would-be reclaim discards it, but it is never re-minted.
265
+ let mintMemo;
231
266
  const mint = () => {
267
+ if (mintMemo)
268
+ return mintMemo;
232
269
  const agentUuid = mintAgentUuid();
233
- return {
234
- agentUuid,
235
- instance: deriveInstanceId({ host, label: name, uuid: agentUuid })
236
- };
270
+ mintMemo = { agentUuid, instance: deriveInstanceId({ host, label: name, uuid: agentUuid }) };
271
+ return mintMemo;
237
272
  };
238
273
  const mintRemote = () => {
274
+ if (mintMemo)
275
+ return mintMemo;
239
276
  const agentUuid = mintAgentUuid();
240
- return {
277
+ mintMemo = {
241
278
  agentUuid,
242
279
  instance: provider.providerSessionId
243
280
  ? remoteBridgeInstance(provider.providerSessionId)
244
281
  : deriveInstanceId({ host, label: name, uuid: agentUuid })
245
282
  };
283
+ return mintMemo;
246
284
  };
247
285
  // Re-anchor: the conversation UUID is the identity unit. When no provider
248
286
  // session id is readable, fall back to a per-workspace-STABLE id (no
249
287
  // timestamp) so that degenerate case keeps the old per-workspace reclaim
250
288
  // behavior instead of minting a fresh id on every connect.
251
289
  const providerSessionId = provider.providerSessionId ?? `fallback:${host}:${workspace.id}`;
252
- const result = host === "remote"
253
- ? { action: "mint", ...mintRemote() }
254
- : reclaimOrMint(input.root, { host, providerSessionId, workspaceId: workspace.id }, {
255
- verifyProof: (binding) => provesLocalKey(input.root, binding.instance),
256
- mint,
257
- now
258
- });
259
- const existingBinding = findBinding(input.root, {
260
- host,
261
- providerSessionId,
262
- workspaceId: workspace.id
263
- });
290
+ const key = { host, providerSessionId, workspaceId: workspace.id };
264
291
  const legacyDecision = decideLegacyAdoption({
265
292
  legacyAlreadyAdopted: legacyAliasAlreadyAdopted(input.root, legacyInstance),
266
293
  provedLegacyPossession: provesLocalKey(input.root, legacyInstance)
267
294
  });
268
- const adoptedFrom = result.action === "mint" && legacyDecision.adopt ? legacyInstance : undefined;
269
- const keypair = ensureKeypair(input.root, result.instance, adoptedFrom);
270
- ensureRegistered({
271
- root: input.root,
272
- instance: result.instance,
273
- agentUuid: result.agentUuid,
274
- workspace,
275
- name,
276
- publicKeyPem: keypair.publicKeyPem,
277
- scopes,
278
- // Declared at mint only: an already-registered instance keeps whatever it
279
- // declared then. Nothing downstream may treat this list as authority, so a
280
- // narrow/empty list is a display gap, never a permission gap.
281
- declaredCapabilities: sanitizeDeclaredCapabilities(input.declaredCapabilities),
282
- now
283
- });
284
- recordIdentityAlias(input.root, {
285
- instance: result.instance,
286
- legacyInstance,
287
- adoptedKeyring: Boolean(adoptedFrom),
288
- at: new Date(now()).toISOString()
289
- });
295
+ const declared = sanitizeDeclaredCapabilities(input.declaredCapabilities);
296
+ // F2(b): publish keyring / registration / alias for an instance. Callers invoke
297
+ // this BEFORE the binding append (window closure BY ORDER), so a concurrent
298
+ // reader — CLI OR MCP — can never observe a binding whose keyring is not yet
299
+ // provable and mint a duplicate for the same (host, providerSessionId).
300
+ const publishIdentity = (resolvedInstance, agentUuid, action, opts = {}) => {
301
+ const adoptedFrom = action === "mint" && legacyDecision.adopt ? legacyInstance : undefined;
302
+ const keypair = step("identity_keys", () => ensureKeypair(input.root, resolvedInstance, adoptedFrom));
303
+ step("identity_register", () => ensureRegistered({
304
+ root: input.root,
305
+ instance: resolvedInstance,
306
+ agentUuid,
307
+ workspace,
308
+ name,
309
+ publicKeyPem: keypair.publicKeyPem,
310
+ scopes,
311
+ // Declared at mint only: an already-registered instance keeps whatever it
312
+ // declared then. Nothing downstream may treat this list as authority, so a
313
+ // narrow/empty list is a display gap, never a permission gap.
314
+ declaredCapabilities: declared,
315
+ now,
316
+ ...(opts.skipExistingCheck ? { skipExistingCheck: true } : {})
317
+ }));
318
+ step("identity_alias", () => recordIdentityAlias(input.root, {
319
+ instance: resolvedInstance,
320
+ legacyInstance,
321
+ adoptedKeyring: Boolean(adoptedFrom),
322
+ at: new Date(now()).toISOString()
323
+ }));
324
+ return keypair;
325
+ };
326
+ let keypair;
327
+ let result;
328
+ if (host === "remote") {
329
+ result = { action: "mint", ...mintRemote() };
330
+ keypair = publishIdentity(result.instance, result.agentUuid, "mint", { skipExistingCheck: true });
331
+ }
332
+ else {
333
+ // Proof of the observed binding, computed before the lock; the binding write
334
+ // still re-verifies proof UNDER the lock (no cache here), so a reclaim is
335
+ // authoritative even if the binding changed between this read and the lock.
336
+ const preBinding = findBinding(input.root, key);
337
+ const preProof = preBinding
338
+ ? step("identity_proof", () => provesLocalKey(input.root, preBinding.instance))
339
+ : false;
340
+ let mintKeypair;
341
+ if (!(preBinding && preProof)) {
342
+ // Mint likely: publish keyring / registration / alias BEFORE the binding.
343
+ const cand = mint();
344
+ mintKeypair = publishIdentity(cand.instance, cand.agentUuid, "mint", { skipExistingCheck: true });
345
+ }
346
+ result = step("identity_binding", () => reclaimOrMint(input.root, key, {
347
+ verifyProof: (binding) => step("identity_proof", () => provesLocalKey(input.root, binding.instance)),
348
+ mint,
349
+ now
350
+ }));
351
+ if (result.action === "mint") {
352
+ keypair = mintKeypair ?? publishIdentity(result.instance, result.agentUuid, "mint", { skipExistingCheck: true });
353
+ }
354
+ else {
355
+ // F5: we pre-registered a mint candidate but raced into a reclaim — unlink
356
+ // the unused candidate's orphan keypair (append-only rows left for L3).
357
+ if (mintKeypair && mintMemo && mintMemo.instance !== result.instance) {
358
+ cleanupOrphanKeypair(input.root, mintMemo.instance);
359
+ }
360
+ keypair = publishIdentity(result.instance, result.agentUuid, "reclaim");
361
+ }
362
+ }
363
+ trace?.phase("identity_action", { code: result.action });
364
+ const existingBinding = findBinding(input.root, key);
290
365
  return {
291
366
  instance: result.instance,
292
367
  host,
@@ -305,4 +380,210 @@ export function resolveLiveIdentity(input) {
305
380
  : undefined
306
381
  };
307
382
  }
383
+ /**
384
+ * L2 async resolution used ONLY by the identity worker child.
385
+ *
386
+ * Same result and same security invariants as {@link resolveLiveIdentity}, with
387
+ * two deliberate reductions that are safe to make off the parent's event loop:
388
+ *
389
+ * 1. **Proof outside the lock.** The existing binding is read and its
390
+ * proof-of-possession (keypair read + registry keyring parse + signature) is
391
+ * computed BEFORE the identity lock is taken, then re-checked under the lock
392
+ * against the binding actually found — so the ~17 MB registry parse and the
393
+ * ed25519 sign do NOT run inside the critical section on the reconnect
394
+ * (reclaim) hot path. If the binding raced (its instance changed under the
395
+ * lock), the proof for that row is recomputed inline (rare, correct).
396
+ * 2. **Binding published last.** On a mint, the keyring / registration / alias
397
+ * are published inside the held lock BEFORE the binding row is appended, so
398
+ * no concurrent worker can see a binding whose keyring is not yet provable
399
+ * and mint a duplicate.
400
+ *
401
+ * The lock WAIT is asynchronous (cancellable between polls); a transaction
402
+ * already entered under the lock still finishes cooperatively.
403
+ */
404
+ export async function resolveLiveIdentityAsync(input, options = {}) {
405
+ const host = input.host || "agent";
406
+ if (input.explicitInstance) {
407
+ return { instance: input.explicitInstance, host, action: "override" };
408
+ }
409
+ const now = input.now ?? Date.now;
410
+ // L0 (#249) spans, relocated to the worker: the ambient trace here is the
411
+ // worker's `identity-child` trace, so provider/keys/register/alias/proof spans
412
+ // fire on the worker's stderr instead of being lost off the parent loop.
413
+ const trace = getActiveMcpTrace();
414
+ const step = (name, fn) => (trace ? trace.span(name, fn) : fn());
415
+ // Expensive OUTSIDE-lock reads are computed ONCE and cached across the worker's
416
+ // retry attempts (a contended retry must not re-parse the ~17 MB registry).
417
+ const cache = (options.prepCache ?? {});
418
+ if (!cache.prepared) {
419
+ const label = labelFromCwd(input.cwd);
420
+ const readers = input.readers ?? defaultProviderSessionReaders;
421
+ const provider = step("identity_provider", () => resolveProviderSession({ host, cwd: input.cwd, readers }));
422
+ const realPath = realWorkspacePath(input.cwd);
423
+ const workspaceId = durableWorkspaceId(realPath) ??
424
+ provider.workspaceHint ??
425
+ deriveWorkspaceId({ machineId: readMachineId(), path: realPath });
426
+ const workspace = { id: workspaceId, path: realPath, host, label };
427
+ const legacyInstance = `${host}:${label}`;
428
+ const scopes = input.scopes?.length ? input.scopes : ["scope:default"];
429
+ const hostName = input.name === undefined
430
+ ? readHostSessionName({ host, cwd: input.cwd, sessionId: provider.providerSessionId })
431
+ : undefined;
432
+ const name = input.name ?? hostName ?? label;
433
+ const providerSessionId = provider.providerSessionId ?? `fallback:${host}:${workspace.id}`;
434
+ const key = { host, providerSessionId, workspaceId: workspace.id };
435
+ // The binding read (small file) + its proof-of-possession (keypair read +
436
+ // registry keyring parse + ed25519 sign) done OUTSIDE the lock.
437
+ const preBinding = findBinding(input.root, key);
438
+ const preProof = preBinding
439
+ ? step("identity_proof", () => provesLocalKey(input.root, preBinding.instance))
440
+ : false;
441
+ const legacyDecision = decideLegacyAdoption({
442
+ legacyAlreadyAdopted: legacyAliasAlreadyAdopted(input.root, legacyInstance),
443
+ provedLegacyPossession: provesLocalKey(input.root, legacyInstance)
444
+ });
445
+ cache.prepared = {
446
+ provider,
447
+ workspace,
448
+ legacyInstance,
449
+ scopes,
450
+ name,
451
+ key,
452
+ preBinding,
453
+ preProof,
454
+ legacyDecision,
455
+ declared: sanitizeDeclaredCapabilities(input.declaredCapabilities)
456
+ };
457
+ }
458
+ const P = cache.prepared;
459
+ const mint = () => {
460
+ if (options.mintMemo?.value)
461
+ return options.mintMemo.value;
462
+ const agentUuid = mintAgentUuid();
463
+ const minted = { agentUuid, instance: deriveInstanceId({ host, label: P.name, uuid: agentUuid }) };
464
+ if (options.mintMemo)
465
+ options.mintMemo.value = minted;
466
+ return minted;
467
+ };
468
+ const mintRemote = () => {
469
+ if (options.mintMemo?.value)
470
+ return options.mintMemo.value;
471
+ const agentUuid = mintAgentUuid();
472
+ const minted = {
473
+ agentUuid,
474
+ instance: P.provider.providerSessionId
475
+ ? remoteBridgeInstance(P.provider.providerSessionId)
476
+ : deriveInstanceId({ host, label: P.name, uuid: agentUuid })
477
+ };
478
+ if (options.mintMemo)
479
+ options.mintMemo.value = minted;
480
+ return minted;
481
+ };
482
+ const publishIdentity = (resolvedInstance, agentUuid, action, opts = {}) => {
483
+ const adoptedFrom = action === "mint" && P.legacyDecision.adopt ? P.legacyInstance : undefined;
484
+ const keypair = step("identity_keys", () => ensureKeypair(input.root, resolvedInstance, adoptedFrom));
485
+ step("identity_register", () => ensureRegistered({
486
+ root: input.root,
487
+ instance: resolvedInstance,
488
+ agentUuid,
489
+ workspace: P.workspace,
490
+ name: P.name,
491
+ publicKeyPem: keypair.publicKeyPem,
492
+ scopes: P.scopes,
493
+ declaredCapabilities: P.declared,
494
+ now,
495
+ ...(options.registryLockTimeoutMs !== undefined
496
+ ? { lockTimeoutMs: options.registryLockTimeoutMs }
497
+ : {}),
498
+ ...(opts.skipExistingCheck ? { skipExistingCheck: true } : {})
499
+ }));
500
+ step("identity_alias", () => recordIdentityAlias(input.root, {
501
+ instance: resolvedInstance,
502
+ legacyInstance: P.legacyInstance,
503
+ adoptedKeyring: Boolean(adoptedFrom),
504
+ at: new Date(now()).toISOString()
505
+ }));
506
+ return keypair;
507
+ };
508
+ let keypair;
509
+ let result;
510
+ if (host === "remote") {
511
+ result = { action: "mint", ...mintRemote() };
512
+ keypair = publishIdentity(result.instance, result.agentUuid, "mint", { skipExistingCheck: true });
513
+ }
514
+ else {
515
+ const willReclaim = Boolean(P.preBinding && P.preProof);
516
+ let mintKeypair;
517
+ if (!willReclaim) {
518
+ // Mint likely: publish keyring / registration / alias BEFORE the binding
519
+ // append — window closure BY ORDER (a reader can only observe the binding
520
+ // after its keyring is durable). Done OUTSIDE the tiny identity-lock
521
+ // section; a contended attempt fails here on the SHORT registry timeout
522
+ // (no registry parse, since the dedup runs inside the lock) and the worker
523
+ // retries WITHOUT re-parsing (this prep is cached) and WITHOUT the identity
524
+ // lock held.
525
+ const cand = mint();
526
+ mintKeypair = publishIdentity(cand.instance, cand.agentUuid, "mint", { skipExistingCheck: true });
527
+ }
528
+ // The critical section is now TINY: fresh findBinding + (reclaim | append).
529
+ // No registry parse, no keygen, no proof sign under the identity lock on the
530
+ // hot path. `reclaimOrMint*` remains the UNIQUE binding append.
531
+ result = await reclaimOrMintAsync(input.root, P.key, {
532
+ // F2 TOCTOU: trust the cached proof ONLY when it is a POSITIVE proof, for
533
+ // the SAME binding, on the FIRST attempt (ms-fresh vs the pre-read).
534
+ // Otherwise recompute the proof UNDER the lock:
535
+ // - negative cache: a racing (sync-order) writer may have published the
536
+ // keyring after our pre-read; not re-checking mints a DUPLICATE binding.
537
+ // - positive on a retry: a key may have been revoked during contention.
538
+ // - a changed binding: the cache is for a different row.
539
+ verifyProof: (binding) => {
540
+ const trustCache = (options.attempt ?? 0) === 0 &&
541
+ binding.instance === P.preBinding?.instance &&
542
+ P.preProof === true;
543
+ return trustCache
544
+ ? true
545
+ : step("identity_proof", () => provesLocalKey(input.root, binding.instance));
546
+ },
547
+ mint,
548
+ now
549
+ }, {
550
+ ...(options.signal ? { signal: options.signal } : {}),
551
+ ...(options.deadlineMs !== undefined ? { deadlineMs: options.deadlineMs } : {})
552
+ });
553
+ if (result.action === "mint") {
554
+ keypair =
555
+ mintKeypair ??
556
+ publishIdentity(result.instance, result.agentUuid, "mint", { skipExistingCheck: true });
557
+ }
558
+ else {
559
+ // Reclaim (or raced into a reclaim): ensure the keyring/registration exist
560
+ // (idempotent). Any pre-registered mint candidate we did not use is an
561
+ // orphan registration with no binding — allowed (never a keyless binding).
562
+ // F5: unlink the unused candidate's orphan KEYPAIR (cheap); the append-only
563
+ // registration/alias rows are left for L3 compaction.
564
+ if (mintKeypair && options.mintMemo?.value && options.mintMemo.value.instance !== result.instance) {
565
+ cleanupOrphanKeypair(input.root, options.mintMemo.value.instance);
566
+ }
567
+ keypair = publishIdentity(result.instance, result.agentUuid, "reclaim");
568
+ }
569
+ }
570
+ const existingBinding = findBinding(input.root, P.key);
571
+ return {
572
+ instance: result.instance,
573
+ host,
574
+ workspace: P.workspace,
575
+ name: P.name,
576
+ legacyInstance: P.legacyInstance,
577
+ action: result.action,
578
+ providerSessionSource: P.provider.source,
579
+ ...(P.provider.providerSessionId !== undefined
580
+ ? { providerSessionId: P.provider.providerSessionId }
581
+ : {}),
582
+ privateKeyPath: keypair.privateKeyPath,
583
+ publicKeyPath: keypair.publicKeyPath,
584
+ migrationNotice: result.action === "mint" || !existingBinding
585
+ ? `identity migration: ${result.instance} reads legacy ${P.legacyInstance}; ${P.legacyDecision.reason}`
586
+ : undefined
587
+ };
588
+ }
308
589
  //# sourceMappingURL=live.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"live.js","sourceRoot":"","sources":["../../../src/runtime/identity/live.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"live.js","sourceRoot":"","sources":["../../../src/runtime/identity/live.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * L2 identity worker — the dedicated, non-detached child that resolves the
3
+ * shared identity OFF the parent's MCP event loop.
4
+ *
5
+ * It receives ONE typed request over IPC, runs the canonical async resolution
6
+ * (the same writer path as the CLI — `resolveLiveIdentityAsync`, whose only
7
+ * append of a binding row is `reclaimOrMint*`), and returns ONE response. It
8
+ * publishes NO presence, NO tool signature, NO wake, NO readiness ACK; those are
9
+ * the parent's job after it validates the result. No PEM ever crosses IPC — only
10
+ * paths, which the parent re-validates against the canonical key layout.
11
+ *
12
+ * It is argv-only (the request arrives over IPC), stdout is ignored (it must
13
+ * never emit protocol traffic), and diagnostics go to stderr. A cancel makes it
14
+ * stop starting any NEW transaction (cooperative); a transaction already entered
15
+ * under a lock finishes so no half-written binding is left, and the lock is
16
+ * released in the resolver's `finally`.
17
+ */
18
+ export {};
19
+ //# sourceMappingURL=worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../../src/runtime/identity/worker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG"}