@the-ai-company/cbio-node-runtime 1.68.0 → 1.70.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.
Files changed (160) hide show
  1. package/README.md +40 -6
  2. package/dist/clients/owner/client.js +11 -2
  3. package/dist/clients/owner/client.js.map +1 -1
  4. package/dist/clients/owner/contracts.d.ts +4 -2
  5. package/dist/public-types.d.ts +2 -1
  6. package/dist/public-types.js.map +1 -1
  7. package/dist/runtime/index.d.ts +4 -2
  8. package/dist/runtime/index.js +1 -1
  9. package/dist/runtime/index.js.map +1 -1
  10. package/dist/vault-core/contracts.d.ts +49 -29
  11. package/dist/vault-core/contracts.js +0 -6
  12. package/dist/vault-core/contracts.js.map +1 -1
  13. package/dist/vault-core/core.d.ts +4 -5
  14. package/dist/vault-core/core.js +65 -37
  15. package/dist/vault-core/core.js.map +1 -1
  16. package/dist/vault-core/defaults.d.ts +8 -6
  17. package/dist/vault-core/defaults.js +98 -16
  18. package/dist/vault-core/defaults.js.map +1 -1
  19. package/dist/vault-core/index.d.ts +3 -3
  20. package/dist/vault-core/index.js +1 -1
  21. package/dist/vault-core/index.js.map +1 -1
  22. package/dist/vault-core/persistence.d.ts +34 -36
  23. package/dist/vault-core/persistence.js +268 -333
  24. package/dist/vault-core/persistence.js.map +1 -1
  25. package/dist/vault-core/ports.d.ts +5 -3
  26. package/dist/vault-ingress/defaults.d.ts +1 -1
  27. package/dist/vault-ingress/index.d.ts +2 -1
  28. package/dist/vault-ingress/index.js +5 -2
  29. package/dist/vault-ingress/index.js.map +1 -1
  30. package/dist/vault-ingress/server-utils.d.ts +30 -0
  31. package/dist/vault-ingress/server-utils.js +151 -0
  32. package/dist/vault-ingress/server-utils.js.map +1 -1
  33. package/docs/REFERENCE.md +4 -0
  34. package/docs/api/README.md +9 -3
  35. package/docs/api/classes/IdentityError.md +1 -1
  36. package/docs/api/classes/OwnerClientError.md +1 -1
  37. package/docs/api/classes/PersistentVaultAgentIdentityRegistry.md +5 -5
  38. package/docs/api/classes/PersistentVaultAgentSecretGrantRegistry.md +5 -5
  39. package/docs/api/classes/PersistentVaultAuditLog.md +29 -5
  40. package/docs/api/classes/PersistentVaultSecretCustody.md +5 -5
  41. package/docs/api/classes/PersistentVaultSecretDestinationGrantRegistry.md +5 -5
  42. package/docs/api/classes/PersistentVaultSecretRepository.md +5 -5
  43. package/docs/api/classes/VaultCore.md +10 -10
  44. package/docs/api/classes/VaultCoreError.md +1 -1
  45. package/docs/api/enumerations/AuditOperation.md +1 -37
  46. package/docs/api/enumerations/DispatchStatus.md +1 -1
  47. package/docs/api/enumerations/IdentityErrorCode.md +1 -1
  48. package/docs/api/enumerations/OwnerClientErrorCode.md +1 -1
  49. package/docs/api/functions/createAgentClient.md +1 -1
  50. package/docs/api/functions/createIdentity.md +1 -1
  51. package/docs/api/functions/createOwnerClient.md +1 -1
  52. package/docs/api/functions/createPersistentVaultCoreDependencies.md +1 -1
  53. package/docs/api/functions/createVault.md +1 -1
  54. package/docs/api/functions/createVaultCore.md +1 -1
  55. package/docs/api/functions/createVaultCoreDependencies.md +1 -1
  56. package/docs/api/functions/createVaultService.md +1 -1
  57. package/docs/api/functions/createWorkspaceStorage.md +1 -1
  58. package/docs/api/functions/deriveRootAgentId.md +1 -1
  59. package/docs/api/functions/deriveVaultWorkingKeyFromPassword.md +1 -1
  60. package/docs/api/functions/getDefaultWorkspaceDir.md +1 -1
  61. package/docs/api/functions/handleVaultAgentControlHttp.md +1 -1
  62. package/docs/api/functions/handleVaultAuditSse.md +30 -0
  63. package/docs/api/functions/handleVaultHttpDispatch.md +1 -1
  64. package/docs/api/functions/handleVaultPendingDispatchSse.md +30 -0
  65. package/docs/api/functions/initializeVaultCustody.md +1 -1
  66. package/docs/api/functions/listVaults.md +1 -1
  67. package/docs/api/functions/openOwnerSession.md +1 -1
  68. package/docs/api/functions/readVaultProfile.md +1 -1
  69. package/docs/api/functions/recoverVault.md +1 -1
  70. package/docs/api/functions/recoverVaultWorkingKey.md +1 -1
  71. package/docs/api/functions/restoreIdentity.md +1 -1
  72. package/docs/api/functions/updateVaultMetadata.md +1 -1
  73. package/docs/api/functions/writeVaultProfile.md +1 -1
  74. package/docs/api/interfaces/AgentClient.md +3 -3
  75. package/docs/api/interfaces/AgentDispatchIntent.md +1 -1
  76. package/docs/api/interfaces/AgentDispatchTransport.md +3 -3
  77. package/docs/api/interfaces/AgentIdentity.md +1 -1
  78. package/docs/api/interfaces/AgentIdentityRecord.md +1 -1
  79. package/docs/api/interfaces/AgentRequestRecord.md +83 -0
  80. package/docs/api/interfaces/AgentRuntimeManifest.md +1 -1
  81. package/docs/api/interfaces/AgentSecretGrant.md +1 -1
  82. package/docs/api/interfaces/AgentSigner.md +1 -1
  83. package/docs/api/interfaces/AgentVisibleRequestRecord.md +1 -1
  84. package/docs/api/interfaces/AgentVisibleSecretRecord.md +1 -1
  85. package/docs/api/interfaces/AuditEntry.md +1 -1
  86. package/docs/api/interfaces/CbioRuntime.md +59 -1
  87. package/docs/api/interfaces/CreateAgentClientOptions.md +1 -1
  88. package/docs/api/interfaces/CreateIdentityOptions.md +1 -1
  89. package/docs/api/interfaces/CreateOwnerClientOptions.md +1 -1
  90. package/docs/api/interfaces/CreatePersistentVaultCoreDependenciesOptions.md +1 -1
  91. package/docs/api/interfaces/CreateVaultOptions.md +1 -1
  92. package/docs/api/interfaces/CreatedVault.md +1 -1
  93. package/docs/api/interfaces/DefaultPolicyEngineOptions.md +1 -23
  94. package/docs/api/interfaces/DispatchAuthorization.md +1 -1
  95. package/docs/api/interfaces/DispatchInstruction.md +1 -1
  96. package/docs/api/interfaces/DispatchRequest.md +1 -1
  97. package/docs/api/interfaces/DispatchResult.md +7 -1
  98. package/docs/api/interfaces/IStorageProvider.md +1 -1
  99. package/docs/api/interfaces/InitializeVaultCustodyOptions.md +1 -1
  100. package/docs/api/interfaces/InitializedVaultCustody.md +1 -1
  101. package/docs/api/interfaces/OpenOwnerSessionOptions.md +1 -1
  102. package/docs/api/interfaces/OwnerAgentProvisionResult.md +1 -1
  103. package/docs/api/interfaces/OwnerAuditSubscription.md +45 -0
  104. package/docs/api/interfaces/OwnerClient.md +20 -4
  105. package/docs/api/interfaces/OwnerCreateSecretInput.md +1 -1
  106. package/docs/api/interfaces/OwnerPendingDispatchSubscription.md +27 -0
  107. package/docs/api/interfaces/OwnerRemoveSecretInput.md +1 -1
  108. package/docs/api/interfaces/OwnerRequestRecord.md +7 -1
  109. package/docs/api/interfaces/OwnerSensitiveActionConfirmation.md +1 -1
  110. package/docs/api/interfaces/OwnerSensitiveActionContext.md +1 -1
  111. package/docs/api/interfaces/OwnerSession.md +1 -1
  112. package/docs/api/interfaces/OwnerUpdateSecretInput.md +9 -3
  113. package/docs/api/interfaces/OwnerVisibleRequestRecord.md +1 -1
  114. package/docs/api/interfaces/PendingDispatchEvent.md +23 -0
  115. package/docs/api/interfaces/RecoverVaultOptions.md +1 -1
  116. package/docs/api/interfaces/RecoveredVault.md +1 -1
  117. package/docs/api/interfaces/RequestRecord.md +21 -1
  118. package/docs/api/interfaces/RestoreIdentityOptions.md +1 -1
  119. package/docs/api/interfaces/SecretAlias.md +1 -1
  120. package/docs/api/interfaces/SecretDestinationGrant.md +1 -1
  121. package/docs/api/interfaces/SecretId.md +1 -1
  122. package/docs/api/interfaces/SecretRecord.md +1 -1
  123. package/docs/api/interfaces/Signer.md +1 -1
  124. package/docs/api/interfaces/VaultApproveDispatchInput.md +1 -1
  125. package/docs/api/interfaces/VaultAuditQueryInput.md +1 -1
  126. package/docs/api/interfaces/VaultCoreDependenciesOptions.md +1 -1
  127. package/docs/api/interfaces/VaultCreateAgentInput.md +1 -1
  128. package/docs/api/interfaces/VaultExportSecretInput.md +1 -1
  129. package/docs/api/interfaces/VaultGetRequestInput.md +1 -1
  130. package/docs/api/interfaces/VaultGrantAgentSecretInput.md +1 -1
  131. package/docs/api/interfaces/VaultGrantSecretDestinationInput.md +1 -1
  132. package/docs/api/interfaces/VaultId.md +1 -1
  133. package/docs/api/interfaces/VaultImportAgentInput.md +1 -1
  134. package/docs/api/interfaces/VaultIssueSessionTokenInput.md +1 -1
  135. package/docs/api/interfaces/VaultListAgentsInput.md +1 -1
  136. package/docs/api/interfaces/VaultListGrantsInput.md +1 -1
  137. package/docs/api/interfaces/VaultListRequestsInput.md +1 -1
  138. package/docs/api/interfaces/VaultListSecretsInput.md +1 -1
  139. package/docs/api/interfaces/VaultMetadata.md +1 -1
  140. package/docs/api/interfaces/VaultObject.md +1 -1
  141. package/docs/api/interfaces/VaultPrincipal.md +1 -1
  142. package/docs/api/interfaces/VaultProfile.md +1 -1
  143. package/docs/api/interfaces/VaultReadAgentPrivateKeyInput.md +1 -1
  144. package/docs/api/interfaces/VaultReadSecretPlaintextInput.md +1 -1
  145. package/docs/api/interfaces/VaultRevokeAgentSecretInput.md +1 -1
  146. package/docs/api/interfaces/VaultRevokeSecretDestinationInput.md +1 -1
  147. package/docs/api/interfaces/VaultRevokeSessionTokenInput.md +1 -1
  148. package/docs/api/interfaces/VaultService.md +22 -6
  149. package/docs/api/interfaces/VaultUpdateAgentInput.md +1 -1
  150. package/docs/api/type-aliases/AgentId.md +1 -1
  151. package/docs/api/type-aliases/AgentRequestResult.md +7 -0
  152. package/docs/api/type-aliases/CbioRuntimeModule.md +1 -1
  153. package/docs/api/type-aliases/DispatchApprovalDecision.md +1 -1
  154. package/docs/api/type-aliases/GrantStatus.md +1 -1
  155. package/docs/api/type-aliases/SecretLifecycleStatus.md +1 -1
  156. package/docs/api/type-aliases/VaultPrincipalKind.md +2 -2
  157. package/docs/api/variables/DEFAULT_VAULT_KEY_CUSTODY_BLOB_KEY.md +1 -1
  158. package/docs/zh/README.md +11 -3
  159. package/package.json +5 -3
  160. package/docs/api/interfaces/AgentRequestResult.md +0 -35
@@ -1,6 +1,5 @@
1
1
  import { AuditOperation, DispatchStatus, } from "./contracts.js";
2
2
  import { VaultCoreError } from "./errors.js";
3
- import { applyResponseReadPolicy } from "./read-policy.js";
4
3
  import { getAgentToolbox } from "./tool-metadata.js";
5
4
  import { InMemoryRequestRecordRegistry } from "./defaults.js";
6
5
  function isScopeMatch(scope, url) {
@@ -190,13 +189,13 @@ export class VaultCore {
190
189
  target_url: request.target_url,
191
190
  method: request.method,
192
191
  };
192
+ await this._updateRequestRecordInternal(request, result, authorization.missing_grants);
193
193
  await this._appendAudit(toAuditEntry(this._deps, request.agent, AuditOperation.DISPATCH_HOLD, "allowed", "not_executed", "request held for human approval", {
194
194
  request_id: request.request_id,
195
195
  root_agent_id: request.agent.id,
196
196
  target: { kind: "http", url: request.target_url },
197
197
  secret_alias: request.secret_alias,
198
198
  }));
199
- await this._updateRequestRecordInternal(request, result, authorization.missing_grants);
200
199
  return result;
201
200
  }
202
201
  // Proceed with dispatch
@@ -285,10 +284,12 @@ export class VaultCore {
285
284
  }),
286
285
  ]);
287
286
  await this._appendAudit(toAuditEntry(this._deps, actor, AuditOperation.GRANT_SECRET, "allowed", "succeeded", "granted during dispatch approval", {
287
+ request_id,
288
288
  root_agent_id: record.root_agent_id,
289
289
  secret_alias: secret_alias,
290
290
  }));
291
291
  await this._appendAudit(toAuditEntry(this._deps, actor, AuditOperation.GRANT_DESTINATION, "allowed", "succeeded", "granted during dispatch approval", {
292
+ request_id,
292
293
  secret_alias: secret_alias,
293
294
  site_id,
294
295
  }));
@@ -311,6 +312,7 @@ export class VaultCore {
311
312
  ...record,
312
313
  response: {
313
314
  status: result.response_status,
315
+ headers: result.response_headers,
314
316
  body: result.response_body,
315
317
  error: result.error,
316
318
  },
@@ -390,17 +392,20 @@ export class VaultCore {
390
392
  if (!record || record.root_agent_id !== command.agent.id) {
391
393
  throw new VaultCoreError("request record not found", "VAULT_READ_DENIED");
392
394
  }
393
- // By default, no read-policy is granted anymore in this simplified model.
394
- // However, if we wanted to support some response visibility, we'd need another grant table.
395
- // For now, let's assume agent can see their own requested status but not necessarily the body
396
- // unless they have a specific grant (omitted for now to focus on dispatch).
397
- const parsedResponseBody = applyResponseReadPolicy(record.response?.body, { paths: [] });
398
395
  return {
399
396
  request_id: record.request_id,
397
+ created_at: record.created_at,
398
+ requested_at: record.requested_at,
399
+ reason: record.reason,
400
+ request: {
401
+ target_url: record.request.target_url,
402
+ method: record.request.method,
403
+ headers: record.request.headers,
404
+ body: record.request.body,
405
+ secret_alias: record.request.secret_alias,
406
+ },
407
+ response: record.response,
400
408
  execution_status: record.execution.status,
401
- response_status: record.response?.status,
402
- response_body: parsedResponseBody,
403
- error: record.response?.error,
404
409
  };
405
410
  }
406
411
  // ─── Owner Management APIs ────────────────────────────────────────────────────
@@ -450,16 +455,26 @@ export class VaultCore {
450
455
  const existing = await this._deps.secrets.getByAlias({ value: command.alias });
451
456
  if (!existing)
452
457
  throw new VaultCoreError("secret not found", "VAULT_SECRET_NOT_FOUND");
458
+ if (command.new_alias && command.new_alias !== command.alias) {
459
+ const duplicate = await this._deps.secrets.getByAlias({ value: command.new_alias });
460
+ if (duplicate) {
461
+ throw new VaultCoreError(`secret alias already exists: "${command.new_alias}"`, "VAULT_ALIAS_ALREADY_EXISTS");
462
+ }
463
+ }
453
464
  const secret_id = existing.secret_id;
454
465
  const now = this._deps.clock.nowIso();
466
+ const finalAlias = command.new_alias && command.new_alias !== command.alias ? command.new_alias : command.alias;
455
467
  const record = {
456
468
  ...existing,
469
+ alias: { value: finalAlias },
457
470
  version: this._deps.ids.newVersion(),
458
471
  updated_at: now,
459
472
  };
460
473
  await this._deps.secrets.save(record);
461
- await this._deps.custody.store(secret_id, command.plaintext);
462
- await this._appendAudit(toAuditEntry(this._deps, command.owner, AuditOperation.SECRET_WRITE, "allowed", "succeeded", `secret updated: "${command.alias}"`, { secret_alias: command.alias, secret_id: secret_id.value }));
474
+ if (command.plaintext !== undefined) {
475
+ await this._deps.custody.store(secret_id, command.plaintext);
476
+ }
477
+ await this._appendAudit(toAuditEntry(this._deps, command.owner, AuditOperation.SECRET_WRITE, "allowed", "succeeded", `secret updated: "${finalAlias}"`, { secret_alias: finalAlias, secret_id: secret_id.value }));
463
478
  return record;
464
479
  }
465
480
  async ownerRemoveSecret(command) {
@@ -473,9 +488,7 @@ export class VaultCore {
473
488
  }
474
489
  async ownerReadAudit(actor, query) {
475
490
  this._assertOwnerPrincipal(actor);
476
- const entries = await this._deps.audit.query(query);
477
- await this._appendAudit(toAuditEntry(this._deps, actor, AuditOperation.MANAGEMENT_READ_AUDIT, "allowed", "succeeded", "audit log accessed", { detail: JSON.stringify(query) }));
478
- return entries;
491
+ return this._deps.audit.query(query);
479
492
  }
480
493
  async ownerExportSecret(actor, alias) {
481
494
  this._assertOwnerPrincipal(actor);
@@ -496,14 +509,11 @@ export class VaultCore {
496
509
  for (const st of sessionTokens) {
497
510
  tokensByAgentId.set(st.root_agent_id, st);
498
511
  }
499
- const result = identities.map(id => ({ ...id, session_token: tokensByAgentId.get(id.root_agent_id) }));
500
- await this._appendAudit(toAuditEntry(this._deps, actor, AuditOperation.MANAGEMENT_LIST_AGENTS, "allowed", "succeeded", "agent identity list accessed"));
501
- return result;
512
+ return identities.map(id => ({ ...id, session_token: tokensByAgentId.get(id.root_agent_id) }));
502
513
  }
503
514
  async ownerListRequests(actor, root_agent_id) {
504
515
  this._assertOwnerPrincipal(actor);
505
516
  const records = await this._deps.requests.list(this._deps.vault_id, root_agent_id);
506
- await this._appendAudit(toAuditEntry(this._deps, actor, AuditOperation.MANAGEMENT_LIST_REQUESTS, "allowed", "succeeded", "request list accessed"));
507
517
  return records.map(r => this.toOwnerVisibleRequestRecord(r));
508
518
  }
509
519
  async ownerGetRequest(actor, request_id) {
@@ -511,14 +521,11 @@ export class VaultCore {
511
521
  const record = await this._deps.requests.get(this._deps.vault_id, request_id);
512
522
  if (!record)
513
523
  throw new VaultCoreError("request record not found", "VAULT_REQUEST_NOT_FOUND");
514
- const result = this.toOwnerRequestRecord(record);
515
- await this._appendAudit(toAuditEntry(this._deps, actor, AuditOperation.MANAGEMENT_READ_REQUEST, "allowed", "succeeded", `dispatch request detailed: "${request_id}"`, { request_id }));
516
- return result;
524
+ return this.toOwnerRequestRecord(record);
517
525
  }
518
526
  async ownerListSecrets(actor) {
519
527
  this._assertOwnerPrincipal(actor);
520
528
  const records = await this._deps.secrets.list(this._deps.vault_id);
521
- await this._appendAudit(toAuditEntry(this._deps, actor, AuditOperation.MANAGEMENT_LIST_SECRETS, "allowed", "succeeded", "secret list accessed"));
522
529
  return records.map(r => ({
523
530
  vault_id: r.vault_id,
524
531
  secret_id: r.secret_id,
@@ -548,18 +555,28 @@ export class VaultCore {
548
555
  await this._deps.sessionTokenRegistry.revoke(request.token);
549
556
  await this._appendAudit(toAuditEntry(this._deps, request.actor, AuditOperation.IDENTITY_REVOKE_TOKEN, "allowed", "succeeded", "session token revoked"));
550
557
  }
551
- // ─── Event Observers ──────────────────────────────────────────────────────────
552
- _requestObservers = [];
553
- ownerOnPendingDispatch(callback) {
554
- this._requestObservers.push(callback);
555
- return () => {
556
- const idx = this._requestObservers.indexOf(callback);
557
- if (idx >= 0)
558
- this._requestObservers.splice(idx, 1);
559
- };
558
+ ownerOnPendingDispatch(subscription) {
559
+ return this._deps.audit.subscribe(this._deps.vault_id, {
560
+ operations: [AuditOperation.DISPATCH_HOLD],
561
+ onEvent: async (entry) => {
562
+ if (!entry.request_id)
563
+ return;
564
+ const record = await this._deps.requests.get(this._deps.vault_id, entry.request_id);
565
+ if (!record || record.execution.status !== DispatchStatus.AWAITING_APPROVAL)
566
+ return;
567
+ const pendingEventId = record.pending_dispatch_event?.event_id ?? entry.event_id;
568
+ if (subscription.afterEventId && pendingEventId <= subscription.afterEventId)
569
+ return;
570
+ subscription.onEvent({
571
+ event_id: pendingEventId,
572
+ emitted_at: record.pending_dispatch_event?.emitted_at ?? entry.ts,
573
+ record,
574
+ });
575
+ },
576
+ });
560
577
  }
561
- ownerOnGrantState(callback) {
562
- return this.ownerOnPendingDispatch(callback);
578
+ ownerOnAudit(subscription) {
579
+ return this._deps.audit.subscribe(this._deps.vault_id, subscription);
563
580
  }
564
581
  // ─── Internal Helpers ──────────────────────────────────────────────────────────
565
582
  async _recordRequestInternal(request, status) {
@@ -569,6 +586,7 @@ export class VaultCore {
569
586
  root_agent_id: request.agent.id,
570
587
  reason: request.reason,
571
588
  created_at: this._deps.clock.nowIso(),
589
+ requested_at: request.requested_at,
572
590
  request: {
573
591
  target_url: request.target_url,
574
592
  method: request.method,
@@ -591,6 +609,7 @@ export class VaultCore {
591
609
  root_agent_id: request.agent.id,
592
610
  reason: request.reason,
593
611
  created_at: this._deps.clock.nowIso(),
612
+ requested_at: request.requested_at,
594
613
  request: {
595
614
  target_url: request.target_url,
596
615
  method: request.method,
@@ -600,20 +619,28 @@ export class VaultCore {
600
619
  },
601
620
  execution: { status: DispatchStatus.IN_PROGRESS },
602
621
  };
622
+ const pending_dispatch_event = result.status === DispatchStatus.AWAITING_APPROVAL
623
+ ? (existing?.pending_dispatch_event ?? (() => {
624
+ const emitted_at = this._deps.clock.nowIso();
625
+ return {
626
+ event_id: `${emitted_at}::${request.request_id}`,
627
+ emitted_at,
628
+ };
629
+ })())
630
+ : existing?.pending_dispatch_event;
603
631
  const record = {
604
632
  ...baseRecord,
605
633
  response: {
606
634
  status: result.response_status,
635
+ headers: result.response_headers,
607
636
  body: result.response_body,
608
637
  error: result.error,
609
638
  },
610
639
  execution: { status: result.status },
611
640
  missing_grants,
641
+ pending_dispatch_event,
612
642
  };
613
643
  await this._deps.requests.save(record);
614
- if (result.status === DispatchStatus.AWAITING_APPROVAL) {
615
- this._requestObservers.forEach(obs => obs(record));
616
- }
617
644
  }
618
645
  toAgentVisibleRequestRecord(record) {
619
646
  return {
@@ -645,6 +672,7 @@ export class VaultCore {
645
672
  return {
646
673
  request_id: record.request_id,
647
674
  created_at: record.created_at,
675
+ requested_at: record.requested_at,
648
676
  root_agent_id: record.root_agent_id,
649
677
  reason: record.reason,
650
678
  request: {
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/vault-core/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/vault-core/core.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,8 @@
1
- import type { AgentSecretGrant, SecretDestinationGrant, AgentIdentityRecord, AuditEntry, AuditQuery, DispatchInstruction, DispatchRequest, DispatchResult, RequestRecord, SecretAlias, SecretId, SecretRecord, SessionTokenInspectionResult, VaultId, StoredSessionToken } from "./contracts.js";
2
- import type { AuditLog, PolicyEngine, TrustedExecutor, VaultCoreDependencies } from "./ports.js";
1
+ import type { AgentSecretGrant, SecretDestinationGrant, OwnerAuditSubscription, AgentIdentityRecord, AuditEntry, AuditQuery, OwnerPendingDispatchSubscription, DispatchInstruction, DispatchRequest, DispatchResult, RequestRecord, SecretAlias, SecretId, SecretRecord, SessionTokenInspectionResult, VaultId, StoredSessionToken } from "./contracts.js";
2
+ import type { AuditLog, PolicyEngine, DispatchExecutor, VaultCoreDependencies } from "./ports.js";
3
3
  import { AgentIdentityRegistry, AgentProofVerifier, AgentSecretGrantRegistry, SecretDestinationGrantRegistry, Clock, IdGenerator, ISessionTokenRegistry, RequestRecordRegistry, ReplayGuard, SecretCustody, SecretRepository } from "./ports.js";
4
4
  export interface DefaultPolicyEngineOptions {
5
5
  now?: () => Date;
6
- trusted_issuer_ids?: readonly string[];
7
- trustedIssuerIdResolver?: (issuer_id: string) => Promise<boolean> | boolean;
8
6
  }
9
7
  export interface SignatureAgentProofVerifierOptions {
10
8
  maxSkewMs?: number;
@@ -45,8 +43,10 @@ export declare class InMemorySecretRepository implements SecretRepository {
45
43
  */
46
44
  export declare class InMemoryAuditLog implements AuditLog {
47
45
  private readonly _entries;
46
+ private readonly _subscribers;
48
47
  append(entry: AuditEntry): Promise<void>;
49
48
  query(query: AuditQuery): Promise<readonly AuditEntry[]>;
49
+ subscribe(vault_id: VaultId, subscription: OwnerAuditSubscription): () => void;
50
50
  }
51
51
  /**
52
52
  * @internal
@@ -93,9 +93,12 @@ export declare class InMemorySecretDestinationGrantRegistry implements SecretDes
93
93
  */
94
94
  export declare class InMemoryRequestRecordRegistry implements RequestRecordRegistry {
95
95
  private readonly _records;
96
+ private readonly _pendingSubscribers;
96
97
  save(record: RequestRecord): Promise<void>;
97
98
  get(vault_id: VaultId, request_id: string): Promise<RequestRecord | null>;
98
99
  list(vault_id: VaultId, root_agent_id?: string): Promise<readonly RequestRecord[]>;
100
+ subscribePending(vault_id: VaultId, subscription: OwnerPendingDispatchSubscription): () => void;
101
+ private _toPendingDispatchEvent;
99
102
  }
100
103
  /**
101
104
  * @internal
@@ -104,7 +107,6 @@ export declare class DefaultPolicyEngine implements PolicyEngine {
104
107
  private readonly _options;
105
108
  constructor(_options?: DefaultPolicyEngineOptions);
106
109
  private validateRequestedAt;
107
- private isTrustedIssuer;
108
110
  authorizeWrite(command: import("./contracts.js").VaultWriteSecretCommand): Promise<void>;
109
111
  }
110
112
  export declare class InMemorySessionTokenRegistry implements ISessionTokenRegistry {
@@ -136,7 +138,7 @@ export declare class InMemoryReplayGuard implements ReplayGuard {
136
138
  /**
137
139
  * @internal
138
140
  */
139
- export declare class HttpDispatchExecutor implements TrustedExecutor {
141
+ export declare class HttpDispatchExecutor implements DispatchExecutor {
140
142
  private readonly _fetchImpl;
141
143
  private readonly _authHeaderName;
142
144
  private readonly _authPrefix;
@@ -77,8 +77,17 @@ export class InMemorySecretRepository {
77
77
  */
78
78
  export class InMemoryAuditLog {
79
79
  _entries = [];
80
+ _subscribers = new Map();
80
81
  async append(entry) {
81
82
  this._entries.push(entry);
83
+ const subscribers = this._subscribers.get(entry.vault_id);
84
+ if (!subscribers)
85
+ return;
86
+ for (const subscription of subscribers) {
87
+ if (matchesAuditSubscription(entry, subscription)) {
88
+ subscription.onEvent(entry);
89
+ }
90
+ }
82
91
  }
83
92
  async query(query) {
84
93
  return this._entries.filter((entry) => {
@@ -95,6 +104,29 @@ export class InMemoryAuditLog {
95
104
  return true;
96
105
  });
97
106
  }
107
+ subscribe(vault_id, subscription) {
108
+ const replay = this._entries
109
+ .filter((entry) => entry.vault_id === vault_id.value)
110
+ .filter((entry) => matchesAuditSubscription(entry, subscription))
111
+ .sort((a, b) => a.event_id.localeCompare(b.event_id));
112
+ for (const entry of replay) {
113
+ subscription.onEvent(entry);
114
+ }
115
+ let subscribers = this._subscribers.get(vault_id.value);
116
+ if (!subscribers) {
117
+ subscribers = new Set();
118
+ this._subscribers.set(vault_id.value, subscribers);
119
+ }
120
+ subscribers.add(subscription);
121
+ return () => {
122
+ const current = this._subscribers.get(vault_id.value);
123
+ if (!current)
124
+ return;
125
+ current.delete(subscription);
126
+ if (current.size === 0)
127
+ this._subscribers.delete(vault_id.value);
128
+ };
129
+ }
98
130
  }
99
131
  /**
100
132
  * @internal
@@ -188,8 +220,19 @@ export class InMemorySecretDestinationGrantRegistry {
188
220
  */
189
221
  export class InMemoryRequestRecordRegistry {
190
222
  _records = new Map();
223
+ _pendingSubscribers = new Map();
191
224
  async save(record) {
192
- this._records.set(`${record.vault_id.value}:${record.request_id}`, record);
225
+ const key = `${record.vault_id.value}:${record.request_id}`;
226
+ const previous = this._records.get(key);
227
+ this._records.set(key, record);
228
+ const event = this._toPendingDispatchEvent(record);
229
+ if (event && previous?.pending_dispatch_event?.event_id !== event.event_id) {
230
+ const subscribers = this._pendingSubscribers.get(record.vault_id.value);
231
+ if (subscribers) {
232
+ for (const callback of subscribers)
233
+ callback(event);
234
+ }
235
+ }
193
236
  }
194
237
  async get(vault_id, request_id) {
195
238
  return this._records.get(`${vault_id.value}:${request_id}`) ?? null;
@@ -203,6 +246,55 @@ export class InMemoryRequestRecordRegistry {
203
246
  return true;
204
247
  });
205
248
  }
249
+ subscribePending(vault_id, subscription) {
250
+ const replay = Array.from(this._records.values())
251
+ .filter((record) => record.vault_id.value === vault_id.value)
252
+ .map((record) => this._toPendingDispatchEvent(record))
253
+ .filter((event) => !!event)
254
+ .filter((event) => !subscription.afterEventId || event.event_id > subscription.afterEventId)
255
+ .sort((a, b) => a.event_id.localeCompare(b.event_id));
256
+ for (const event of replay)
257
+ subscription.onEvent(event);
258
+ let subscribers = this._pendingSubscribers.get(vault_id.value);
259
+ if (!subscribers) {
260
+ subscribers = new Set();
261
+ this._pendingSubscribers.set(vault_id.value, subscribers);
262
+ }
263
+ subscribers.add(subscription.onEvent);
264
+ return () => {
265
+ const current = this._pendingSubscribers.get(vault_id.value);
266
+ if (!current)
267
+ return;
268
+ current.delete(subscription.onEvent);
269
+ if (current.size === 0)
270
+ this._pendingSubscribers.delete(vault_id.value);
271
+ };
272
+ }
273
+ _toPendingDispatchEvent(record) {
274
+ if (record.execution.status !== DispatchStatus.AWAITING_APPROVAL || !record.pending_dispatch_event) {
275
+ return null;
276
+ }
277
+ return {
278
+ event_id: record.pending_dispatch_event.event_id,
279
+ emitted_at: record.pending_dispatch_event.emitted_at,
280
+ record,
281
+ };
282
+ }
283
+ }
284
+ function matchesAuditSubscription(entry, subscription) {
285
+ if (subscription.afterEventId && entry.event_id <= subscription.afterEventId) {
286
+ return false;
287
+ }
288
+ if (subscription.operations && !subscription.operations.includes(entry.operation)) {
289
+ return false;
290
+ }
291
+ if (subscription.root_agent_id && entry.root_agent_id !== subscription.root_agent_id) {
292
+ return false;
293
+ }
294
+ if (subscription.request_id && entry.request_id !== subscription.request_id) {
295
+ return false;
296
+ }
297
+ return true;
206
298
  }
207
299
  /**
208
300
  * @internal
@@ -218,15 +310,6 @@ export class DefaultPolicyEngine {
218
310
  throw new VaultCoreError(`${fieldName} invalid`, "VAULT_WRITE_DENIED");
219
311
  }
220
312
  }
221
- async isTrustedIssuer(issuer_id) {
222
- if (this._options.trustedIssuerIdResolver) {
223
- return await this._options.trustedIssuerIdResolver(issuer_id);
224
- }
225
- if (this._options.trusted_issuer_ids) {
226
- return this._options.trusted_issuer_ids.includes(issuer_id);
227
- }
228
- return false;
229
- }
230
313
  async authorizeWrite(command) {
231
314
  if (!command.alias.trim()) {
232
315
  throw new VaultCoreError("secret alias required", "VAULT_WRITE_DENIED");
@@ -237,12 +320,6 @@ export class DefaultPolicyEngine {
237
320
  this.validateRequestedAt(command.requested_at, "requested_at");
238
321
  if (command.kind === "owner.create_secret" || command.kind === "owner.update_secret")
239
322
  return;
240
- if (command.issuer.id !== command.issuerSiteId) {
241
- throw new VaultCoreError("issuer identity mismatch", "VAULT_WRITE_DENIED");
242
- }
243
- if (!await this.isTrustedIssuer(command.issuer.id)) {
244
- throw new VaultCoreError("trusted issuer required", "VAULT_WRITE_DENIED");
245
- }
246
323
  }
247
324
  }
248
325
  export class InMemorySessionTokenRegistry {
@@ -388,6 +465,10 @@ export class HttpDispatchExecutor {
388
465
  },
389
466
  body: instruction.body,
390
467
  });
468
+ const response_headers = {};
469
+ response.headers.forEach((value, key) => {
470
+ response_headers[key] = value;
471
+ });
391
472
  return {
392
473
  vault_id: instruction.vault_id,
393
474
  request_id: instruction.request_id,
@@ -395,6 +476,7 @@ export class HttpDispatchExecutor {
395
476
  target_url: instruction.target_url,
396
477
  method: instruction.method,
397
478
  response_status: response.status,
479
+ response_headers,
398
480
  response_body: await response.text(),
399
481
  error: response.ok ? undefined : `HTTP_${response.status}`,
400
482
  };