@the-ai-company/cbio-node-runtime 1.72.0 → 1.73.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.
Files changed (179) hide show
  1. package/README.md +20 -35
  2. package/dist/clients/agent/client.d.ts +3 -6
  3. package/dist/clients/agent/client.js +15 -11
  4. package/dist/clients/agent/client.js.map +1 -1
  5. package/dist/clients/agent/contracts.d.ts +4 -4
  6. package/dist/clients/agent/index.d.ts +1 -1
  7. package/dist/clients/owner/client.js +8 -8
  8. package/dist/clients/owner/client.js.map +1 -1
  9. package/dist/clients/owner/contracts.d.ts +2 -2
  10. package/dist/public-types.d.ts +2 -2
  11. package/dist/public-types.js +1 -1
  12. package/dist/public-types.js.map +1 -1
  13. package/dist/runtime/bootstrap.js +22 -12
  14. package/dist/runtime/bootstrap.js.map +1 -1
  15. package/dist/runtime/index.d.ts +2 -2
  16. package/dist/runtime/index.js +1 -1
  17. package/dist/runtime/index.js.map +1 -1
  18. package/dist/storage/prefix.d.ts +1 -1
  19. package/dist/storage/prefix.js +2 -2
  20. package/dist/storage/prefix.js.map +1 -1
  21. package/dist/vault-core/contracts.d.ts +20 -142
  22. package/dist/vault-core/contracts.js +0 -20
  23. package/dist/vault-core/contracts.js.map +1 -1
  24. package/dist/vault-core/core.d.ts +8 -9
  25. package/dist/vault-core/core.js +69 -225
  26. package/dist/vault-core/core.js.map +1 -1
  27. package/dist/vault-core/defaults.d.ts +2 -4
  28. package/dist/vault-core/defaults.js +50 -47
  29. package/dist/vault-core/defaults.js.map +1 -1
  30. package/dist/vault-core/index.d.ts +2 -2
  31. package/dist/vault-core/index.js +1 -1
  32. package/dist/vault-core/index.js.map +1 -1
  33. package/dist/vault-core/persistence.d.ts +2 -4
  34. package/dist/vault-core/persistence.js +82 -55
  35. package/dist/vault-core/persistence.js.map +1 -1
  36. package/dist/vault-core/ports.d.ts +2 -4
  37. package/dist/vault-ingress/defaults.d.ts +2 -2
  38. package/dist/vault-ingress/defaults.js +3 -3
  39. package/dist/vault-ingress/defaults.js.map +1 -1
  40. package/dist/vault-ingress/index.d.ts +5 -5
  41. package/dist/vault-ingress/index.js +17 -29
  42. package/dist/vault-ingress/index.js.map +1 -1
  43. package/dist/vault-ingress/remote-transport.d.ts +2 -2
  44. package/dist/vault-ingress/remote-transport.js +7 -7
  45. package/dist/vault-ingress/remote-transport.js.map +1 -1
  46. package/dist/vault-ingress/server-utils.d.ts +1 -2
  47. package/dist/vault-ingress/server-utils.js +1 -1
  48. package/dist/vault-ingress/server-utils.js.map +1 -1
  49. package/docs/ARCHITECTURE.md +16 -14
  50. package/docs/REFERENCE.md +20 -37
  51. package/docs/api/README.md +5 -9
  52. package/docs/api/classes/IdentityError.md +1 -1
  53. package/docs/api/classes/OwnerClientError.md +1 -1
  54. package/docs/api/classes/PersistentVaultAgentIdentityRegistry.md +3 -3
  55. package/docs/api/classes/PersistentVaultAgentSecretGrantRegistry.md +6 -6
  56. package/docs/api/classes/PersistentVaultAuditLog.md +2 -2
  57. package/docs/api/classes/PersistentVaultSecretCustody.md +4 -4
  58. package/docs/api/classes/PersistentVaultSecretDestinationGrantRegistry.md +7 -7
  59. package/docs/api/classes/PersistentVaultSecretRepository.md +4 -6
  60. package/docs/api/classes/VaultCore.md +21 -21
  61. package/docs/api/classes/VaultCoreError.md +1 -1
  62. package/docs/api/enumerations/DispatchStatus.md +1 -1
  63. package/docs/api/enumerations/IdentityErrorCode.md +1 -1
  64. package/docs/api/enumerations/OwnerClientErrorCode.md +1 -1
  65. package/docs/api/functions/createAgentClient.md +1 -3
  66. package/docs/api/functions/createIdentity.md +1 -1
  67. package/docs/api/functions/createOwnerClient.md +1 -1
  68. package/docs/api/functions/createPersistentVaultCoreDependencies.md +1 -1
  69. package/docs/api/functions/createVault.md +1 -1
  70. package/docs/api/functions/createVaultCore.md +1 -1
  71. package/docs/api/functions/createVaultCoreDependencies.md +1 -1
  72. package/docs/api/functions/createVaultService.md +1 -1
  73. package/docs/api/functions/createWorkspaceStorage.md +1 -1
  74. package/docs/api/functions/deriveRootAgentId.md +1 -1
  75. package/docs/api/functions/deriveVaultWorkingKeyFromPassword.md +1 -1
  76. package/docs/api/functions/getDefaultWorkspaceDir.md +1 -1
  77. package/docs/api/functions/handleVaultAgentControlHttp.md +1 -1
  78. package/docs/api/functions/handleVaultAuditSse.md +1 -1
  79. package/docs/api/functions/handleVaultHttpDispatch.md +1 -1
  80. package/docs/api/functions/handleVaultPendingDispatchSse.md +1 -1
  81. package/docs/api/functions/initializeVaultCustody.md +1 -1
  82. package/docs/api/functions/listVaults.md +1 -1
  83. package/docs/api/functions/openOwnerSession.md +1 -1
  84. package/docs/api/functions/readVaultProfile.md +1 -1
  85. package/docs/api/functions/recoverVault.md +1 -1
  86. package/docs/api/functions/recoverVaultWorkingKey.md +1 -1
  87. package/docs/api/functions/restoreIdentity.md +1 -1
  88. package/docs/api/functions/updateVaultMetadata.md +1 -1
  89. package/docs/api/functions/writeVaultProfile.md +1 -1
  90. package/docs/api/interfaces/AgentClient.md +5 -5
  91. package/docs/api/interfaces/AgentDispatchIntent.md +1 -1
  92. package/docs/api/interfaces/AgentDispatchTransport.md +5 -5
  93. package/docs/api/interfaces/AgentIdentity.md +1 -1
  94. package/docs/api/interfaces/AgentIdentityRecord.md +2 -2
  95. package/docs/api/interfaces/AgentRequestRecord.md +93 -11
  96. package/docs/api/interfaces/AgentRuntimeManifest.md +1 -1
  97. package/docs/api/interfaces/AgentSecretGrant.md +3 -3
  98. package/docs/api/interfaces/AgentSigner.md +1 -1
  99. package/docs/api/interfaces/AuditEntry.md +9 -59
  100. package/docs/api/interfaces/CbioRuntime.md +1 -3
  101. package/docs/api/interfaces/CreateAgentClientOptions.md +1 -1
  102. package/docs/api/interfaces/CreateIdentityOptions.md +1 -1
  103. package/docs/api/interfaces/CreateOwnerClientOptions.md +1 -1
  104. package/docs/api/interfaces/CreatePersistentVaultCoreDependenciesOptions.md +1 -1
  105. package/docs/api/interfaces/CreateVaultOptions.md +1 -1
  106. package/docs/api/interfaces/CreatedVault.md +1 -1
  107. package/docs/api/interfaces/DefaultPolicyEngineOptions.md +1 -1
  108. package/docs/api/interfaces/DispatchAuthorization.md +3 -3
  109. package/docs/api/interfaces/DispatchInstruction.md +3 -3
  110. package/docs/api/interfaces/DispatchRequest.md +4 -4
  111. package/docs/api/interfaces/DispatchResult.md +2 -2
  112. package/docs/api/interfaces/IStorageProvider.md +1 -1
  113. package/docs/api/interfaces/InitializeVaultCustodyOptions.md +1 -1
  114. package/docs/api/interfaces/InitializedVaultCustody.md +1 -1
  115. package/docs/api/interfaces/OpenOwnerSessionOptions.md +1 -1
  116. package/docs/api/interfaces/OwnerAgentProvisionResult.md +1 -1
  117. package/docs/api/interfaces/OwnerAuditSubscription.md +3 -3
  118. package/docs/api/interfaces/OwnerClient.md +5 -5
  119. package/docs/api/interfaces/OwnerCreateSecretInput.md +1 -1
  120. package/docs/api/interfaces/OwnerPendingDispatchSubscription.md +1 -1
  121. package/docs/api/interfaces/OwnerRemoveSecretInput.md +1 -1
  122. package/docs/api/interfaces/OwnerRequestRecord.md +73 -11
  123. package/docs/api/interfaces/OwnerSensitiveActionConfirmation.md +1 -1
  124. package/docs/api/interfaces/OwnerSensitiveActionContext.md +1 -1
  125. package/docs/api/interfaces/OwnerSession.md +1 -1
  126. package/docs/api/interfaces/OwnerUpdateSecretInput.md +1 -1
  127. package/docs/api/interfaces/PendingDispatchEvent.md +1 -1
  128. package/docs/api/interfaces/RecoverVaultOptions.md +1 -1
  129. package/docs/api/interfaces/RecoveredVault.md +1 -1
  130. package/docs/api/interfaces/RequestRecord.md +8 -7
  131. package/docs/api/interfaces/RestoreIdentityOptions.md +1 -1
  132. package/docs/api/interfaces/SecretDestinationGrant.md +3 -3
  133. package/docs/api/interfaces/SecretRecord.md +7 -7
  134. package/docs/api/interfaces/Signer.md +1 -1
  135. package/docs/api/interfaces/VaultApproveDispatchInput.md +1 -1
  136. package/docs/api/interfaces/VaultAuditQueryInput.md +1 -1
  137. package/docs/api/interfaces/VaultCoreDependenciesOptions.md +1 -1
  138. package/docs/api/interfaces/VaultCreateAgentInput.md +1 -1
  139. package/docs/api/interfaces/VaultExportSecretInput.md +1 -1
  140. package/docs/api/interfaces/VaultGetRequestInput.md +1 -1
  141. package/docs/api/interfaces/VaultGrantAgentSecretInput.md +1 -1
  142. package/docs/api/interfaces/VaultGrantSecretDestinationInput.md +1 -1
  143. package/docs/api/interfaces/VaultImportAgentInput.md +1 -1
  144. package/docs/api/interfaces/VaultIssueSessionTokenInput.md +1 -1
  145. package/docs/api/interfaces/VaultListAgentsInput.md +1 -1
  146. package/docs/api/interfaces/VaultListGrantsInput.md +1 -1
  147. package/docs/api/interfaces/VaultListRequestsInput.md +1 -1
  148. package/docs/api/interfaces/VaultListSecretsInput.md +1 -1
  149. package/docs/api/interfaces/VaultMetadata.md +1 -1
  150. package/docs/api/interfaces/VaultObject.md +1 -1
  151. package/docs/api/interfaces/VaultPrincipal.md +1 -1
  152. package/docs/api/interfaces/VaultProfile.md +1 -1
  153. package/docs/api/interfaces/VaultReadAgentPrivateKeyInput.md +1 -1
  154. package/docs/api/interfaces/VaultReadSecretPlaintextInput.md +1 -1
  155. package/docs/api/interfaces/VaultRevokeAgentSecretInput.md +1 -1
  156. package/docs/api/interfaces/VaultRevokeSecretDestinationInput.md +1 -1
  157. package/docs/api/interfaces/VaultRevokeSessionTokenInput.md +1 -1
  158. package/docs/api/interfaces/VaultService.md +12 -12
  159. package/docs/api/interfaces/VaultUpdateAgentInput.md +1 -1
  160. package/docs/api/type-aliases/AgentId.md +1 -1
  161. package/docs/api/type-aliases/AgentRequestResult.md +1 -1
  162. package/docs/api/type-aliases/CbioRuntimeModule.md +1 -1
  163. package/docs/api/type-aliases/DispatchApprovalDecision.md +1 -1
  164. package/docs/api/type-aliases/GrantStatus.md +1 -1
  165. package/docs/api/type-aliases/SecretAlias.md +7 -0
  166. package/docs/api/type-aliases/SecretId.md +7 -0
  167. package/docs/api/type-aliases/SecretLifecycleStatus.md +1 -1
  168. package/docs/api/type-aliases/VaultId.md +7 -0
  169. package/docs/api/type-aliases/VaultPrincipalKind.md +1 -1
  170. package/docs/api/variables/DEFAULT_VAULT_KEY_CUSTODY_BLOB_KEY.md +1 -1
  171. package/docs/zh/README.md +33 -66
  172. package/package.json +1 -1
  173. package/docs/api/enumerations/AuditOperation.md +0 -107
  174. package/docs/api/interfaces/AgentVisibleRequestRecord.md +0 -59
  175. package/docs/api/interfaces/AgentVisibleSecretRecord.md +0 -65
  176. package/docs/api/interfaces/OwnerVisibleRequestRecord.md +0 -79
  177. package/docs/api/interfaces/SecretAlias.md +0 -11
  178. package/docs/api/interfaces/SecretId.md +0 -11
  179. package/docs/api/interfaces/VaultId.md +0 -11
@@ -1,7 +1,8 @@
1
1
  import * as path from "node:path";
2
2
  import * as crypto from "node:crypto";
3
3
  import * as fs from "node:fs";
4
- import Database from "better-sqlite3";
4
+ import { createRequire } from "node:module";
5
+ const require = createRequire(import.meta.url);
5
6
  import { DispatchStatus, } from "./contracts.js";
6
7
  import { DefaultPolicyEngine, HttpDispatchExecutor, InMemoryReplayGuard, RandomIdGenerator, SignatureAgentProofVerifier, SystemClock, } from "./defaults.js";
7
8
  export class SqliteSecretRepository {
@@ -15,21 +16,21 @@ export class SqliteSecretRepository {
15
16
  VALUES (?, ?, ?, ?)
16
17
  ON CONFLICT(secret_id) DO UPDATE SET record = excluded.record, alias = excluded.alias
17
18
  `);
18
- stmt.run(record.secret_id.value, record.vault_id.value, record.alias.value, JSON.stringify(record));
19
+ stmt.run(record.secret_id, record.vault_id, record.alias, JSON.stringify(record));
19
20
  }
20
21
  async delete(secret_id) {
21
- this.db.prepare(`DELETE FROM secrets WHERE secret_id = ?`).run(secret_id.value);
22
+ this.db.prepare(`DELETE FROM secrets WHERE secret_id = ?`).run(secret_id);
22
23
  }
23
24
  async getByAlias(alias) {
24
- const row = this.db.prepare(`SELECT record FROM secrets WHERE alias = ?`).get(alias.value);
25
+ const row = this.db.prepare(`SELECT record FROM secrets WHERE alias = ?`).get(alias);
25
26
  return row ? JSON.parse(row.record) : null;
26
27
  }
27
28
  async list(vault_id) {
28
- const rows = this.db.prepare(`SELECT record FROM secrets WHERE vault_id = ?`).all(vault_id.value);
29
+ const rows = this.db.prepare(`SELECT record FROM secrets WHERE vault_id = ?`).all(vault_id);
29
30
  return rows.map(r => JSON.parse(r.record));
30
31
  }
31
32
  async getById(secret_id) {
32
- const row = this.db.prepare(`SELECT record FROM secrets WHERE secret_id = ?`).get(secret_id.value);
33
+ const row = this.db.prepare(`SELECT record FROM secrets WHERE secret_id = ?`).get(secret_id);
33
34
  return row ? JSON.parse(row.record) : null;
34
35
  }
35
36
  }
@@ -52,10 +53,10 @@ export class SqliteSecretCustody {
52
53
  tag: tag.toString('hex'),
53
54
  ciphertext: encrypted.toString('hex')
54
55
  });
55
- this.db.prepare(`INSERT INTO custody (secret_id, encrypted_payload) VALUES (?, ?) ON CONFLICT(secret_id) DO UPDATE SET encrypted_payload = excluded.encrypted_payload`).run(secret_id.value, payload);
56
+ this.db.prepare(`INSERT INTO custody (secret_id, encrypted_payload) VALUES (?, ?) ON CONFLICT(secret_id) DO UPDATE SET encrypted_payload = excluded.encrypted_payload`).run(secret_id, payload);
56
57
  }
57
58
  async load(secret_id) {
58
- const row = this.db.prepare(`SELECT encrypted_payload FROM custody WHERE secret_id = ?`).get(secret_id.value);
59
+ const row = this.db.prepare(`SELECT encrypted_payload FROM custody WHERE secret_id = ?`).get(secret_id);
59
60
  if (!row)
60
61
  return null;
61
62
  try {
@@ -72,7 +73,7 @@ export class SqliteSecretCustody {
72
73
  }
73
74
  }
74
75
  async delete(secret_id) {
75
- this.db.prepare(`DELETE FROM custody WHERE secret_id = ?`).run(secret_id.value);
76
+ this.db.prepare(`DELETE FROM custody WHERE secret_id = ?`).run(secret_id);
76
77
  }
77
78
  }
78
79
  export class SqliteAuditLog {
@@ -83,8 +84,8 @@ export class SqliteAuditLog {
83
84
  this.db = db;
84
85
  }
85
86
  async append(entry) {
86
- this.db.prepare(`INSERT INTO audit_logs (event_id, vault_id, root_agent_id, request_id, secret_alias, secret_id, ts, entry) VALUES (?, ?, ?, ?, ?, ?, ?, ?)`)
87
- .run(entry.event_id, entry.vault_id, entry.root_agent_id || null, entry.request_id || null, entry.secret_alias || null, entry.secret_id || null, entry.ts, JSON.stringify(entry));
87
+ this.db.prepare(`INSERT INTO audit_logs (event_id, vault_id, function_name, actor_id, root_agent_id, secret_id, request_id, ts, entry) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`)
88
+ .run(entry.event_id, entry.vault_id, entry.function_name, entry.actor.id, entry.input?.root_agent_id || null, entry.input?.secret_id || null, entry.input?.request_id || null, entry.ts, JSON.stringify(entry));
88
89
  const subs = this.subscribers.get(entry.vault_id);
89
90
  if (subs) {
90
91
  for (const cb of subs)
@@ -95,17 +96,13 @@ export class SqliteAuditLog {
95
96
  let sql = `SELECT entry FROM audit_logs WHERE vault_id = ?`;
96
97
  const params = [query.vault_id];
97
98
  if (query.actor_id) {
98
- sql += ` AND entry LIKE ?`;
99
- params.push(`%"id":"${query.actor_id}"%`);
99
+ sql += ` AND actor_id = ?`;
100
+ params.push(query.actor_id);
100
101
  }
101
102
  if (query.root_agent_id) {
102
103
  sql += ` AND root_agent_id = ?`;
103
104
  params.push(query.root_agent_id);
104
105
  }
105
- if (query.secret_alias) {
106
- sql += ` AND secret_alias = ?`;
107
- params.push(query.secret_alias);
108
- }
109
106
  if (query.secret_id) {
110
107
  sql += ` AND secret_id = ?`;
111
108
  params.push(query.secret_id);
@@ -118,38 +115,57 @@ export class SqliteAuditLog {
118
115
  sql += ` AND ts >= ?`;
119
116
  params.push(query.since);
120
117
  }
121
- sql += ` ORDER BY ts ASC LIMIT 1000`; // Limit to avoid massive memory issues conceptually
118
+ sql += ` ORDER BY ts ASC LIMIT 1000`;
122
119
  const rows = this.db.prepare(sql).all(...params);
123
120
  return rows.map(r => JSON.parse(r.entry));
124
121
  }
125
122
  subscribe(vault_id, subscription) {
126
- let subs = this.subscribers.get(vault_id.value);
123
+ const replay = this.db.prepare(`SELECT entry FROM audit_logs WHERE vault_id = ? ORDER BY ts ASC LIMIT 1000`)
124
+ .all(vault_id);
125
+ for (const row of replay) {
126
+ const entry = JSON.parse(row.entry);
127
+ if (matchesAuditSubscription(entry, subscription)) {
128
+ subscription.onEvent(entry);
129
+ }
130
+ }
131
+ let subs = this.subscribers.get(vault_id);
127
132
  if (!subs) {
128
133
  subs = new Set();
129
- this.subscribers.set(vault_id.value, subs);
134
+ this.subscribers.set(vault_id, subs);
130
135
  }
131
136
  const callback = (entry) => {
132
137
  if (subscription.afterEventId && entry.event_id <= subscription.afterEventId)
133
138
  return;
134
- if (subscription.operations && !subscription.operations.includes(entry.operation))
139
+ if (subscription.function_names && !subscription.function_names.includes(entry.function_name))
135
140
  return;
136
- if (subscription.root_agent_id && entry.root_agent_id !== subscription.root_agent_id)
141
+ if (subscription.root_agent_id && entry.input?.root_agent_id !== subscription.root_agent_id)
137
142
  return;
138
- if (subscription.request_id && entry.request_id !== subscription.request_id)
143
+ if (subscription.request_id && entry.input?.request_id !== subscription.request_id)
139
144
  return;
140
145
  subscription.onEvent(entry);
141
146
  };
142
147
  subs.add(callback);
143
148
  return () => {
144
- const current = this.subscribers.get(vault_id.value);
149
+ const current = this.subscribers.get(vault_id);
145
150
  if (current) {
146
151
  current.delete(callback);
147
152
  if (current.size === 0)
148
- this.subscribers.delete(vault_id.value);
153
+ this.subscribers.delete(vault_id);
149
154
  }
150
155
  };
151
156
  }
152
157
  }
158
+ function matchesAuditSubscription(entry, subscription) {
159
+ if (subscription.afterEventId && entry.event_id <= subscription.afterEventId)
160
+ return false;
161
+ if (subscription.function_names && !subscription.function_names.includes(entry.function_name))
162
+ return false;
163
+ if (subscription.root_agent_id && entry.input?.root_agent_id !== subscription.root_agent_id)
164
+ return false;
165
+ if (subscription.request_id && entry.input?.request_id !== subscription.request_id)
166
+ return false;
167
+ return true;
168
+ }
153
169
  export class SqliteAgentIdentityRegistry {
154
170
  db;
155
171
  custody;
@@ -160,12 +176,12 @@ export class SqliteAgentIdentityRegistry {
160
176
  async register(identity) {
161
177
  const { private_key, ...metadata } = identity;
162
178
  if (private_key) {
163
- await this.custody.store({ value: identity.root_agent_id }, private_key);
179
+ await this.custody.store(identity.root_agent_id, private_key);
164
180
  }
165
- this.db.prepare(`INSERT INTO agents (vault_id, root_agent_id, record) VALUES (?, ?, ?) ON CONFLICT(vault_id, root_agent_id) DO UPDATE SET record = excluded.record`).run(identity.vault_id.value, identity.root_agent_id, JSON.stringify(metadata));
181
+ this.db.prepare(`INSERT INTO agents (vault_id, root_agent_id, record) VALUES (?, ?, ?) ON CONFLICT(vault_id, root_agent_id) DO UPDATE SET record = excluded.record`).run(identity.vault_id, identity.root_agent_id, JSON.stringify(metadata));
166
182
  }
167
183
  async get(vault_id, root_agent_id) {
168
- const row = this.db.prepare(`SELECT record FROM agents WHERE vault_id = ? AND root_agent_id = ?`).get(vault_id.value, root_agent_id);
184
+ const row = this.db.prepare(`SELECT record FROM agents WHERE vault_id = ? AND root_agent_id = ?`).get(vault_id, root_agent_id);
169
185
  if (!row)
170
186
  return null;
171
187
  let record = JSON.parse(row.record);
@@ -173,28 +189,28 @@ export class SqliteAgentIdentityRegistry {
173
189
  if (record.private_key) {
174
190
  const pk = record.private_key;
175
191
  delete record.private_key;
176
- await this.custody.store({ value: root_agent_id }, pk);
177
- this.db.prepare(`UPDATE agents SET record = ? WHERE vault_id = ? AND root_agent_id = ?`).run(JSON.stringify(record), vault_id.value, root_agent_id);
192
+ await this.custody.store(root_agent_id, pk);
193
+ this.db.prepare(`UPDATE agents SET record = ? WHERE vault_id = ? AND root_agent_id = ?`).run(JSON.stringify(record), vault_id, root_agent_id);
178
194
  }
179
195
  else {
180
- const private_key = await this.custody.load({ value: root_agent_id });
196
+ const private_key = await this.custody.load(root_agent_id);
181
197
  if (private_key)
182
198
  record.private_key = private_key;
183
199
  }
184
200
  return record;
185
201
  }
186
202
  async list(vault_id) {
187
- const rows = this.db.prepare(`SELECT record FROM agents WHERE vault_id = ?`).all(vault_id.value);
203
+ const rows = this.db.prepare(`SELECT record FROM agents WHERE vault_id = ?`).all(vault_id);
188
204
  return Promise.all(rows.map(async (r) => {
189
205
  let record = JSON.parse(r.record);
190
206
  if (record.private_key) {
191
207
  const pk = record.private_key;
192
208
  delete record.private_key;
193
- await this.custody.store({ value: record.root_agent_id }, pk);
194
- this.db.prepare(`UPDATE agents SET record = ? WHERE vault_id = ? AND root_agent_id = ?`).run(JSON.stringify(record), vault_id.value, record.root_agent_id);
209
+ await this.custody.store(record.root_agent_id, pk);
210
+ this.db.prepare(`UPDATE agents SET record = ? WHERE vault_id = ? AND root_agent_id = ?`).run(JSON.stringify(record), vault_id, record.root_agent_id);
195
211
  }
196
212
  else {
197
- const private_key = await this.custody.load({ value: record.root_agent_id });
213
+ const private_key = await this.custody.load(record.root_agent_id);
198
214
  if (private_key)
199
215
  record.private_key = private_key;
200
216
  }
@@ -208,15 +224,15 @@ export class SqliteAgentSecretGrantRegistry {
208
224
  this.db = db;
209
225
  }
210
226
  async upsert(grant) {
211
- this.db.prepare(`INSERT INTO grants (vault_id, root_agent_id, secret_id, record) VALUES (?, ?, ?, ?) ON CONFLICT(vault_id, root_agent_id, secret_id) DO UPDATE SET record = excluded.record`).run(grant.vault_id.value, grant.root_agent_id, grant.secret_id.value, JSON.stringify(grant));
227
+ this.db.prepare(`INSERT INTO grants (vault_id, root_agent_id, secret_id, record) VALUES (?, ?, ?, ?) ON CONFLICT(vault_id, root_agent_id, secret_id) DO UPDATE SET record = excluded.record`).run(grant.vault_id, grant.root_agent_id, grant.secret_id, JSON.stringify(grant));
212
228
  }
213
229
  async get(vault_id, root_agent_id, secret_id) {
214
- const row = this.db.prepare(`SELECT record FROM grants WHERE vault_id = ? AND root_agent_id = ? AND secret_id = ?`).get(vault_id.value, root_agent_id, secret_id.value);
230
+ const row = this.db.prepare(`SELECT record FROM grants WHERE vault_id = ? AND root_agent_id = ? AND secret_id = ?`).get(vault_id, root_agent_id, secret_id);
215
231
  return row ? JSON.parse(row.record) : null;
216
232
  }
217
233
  async list(vault_id, root_agent_id) {
218
234
  let sql = `SELECT record FROM grants WHERE vault_id = ?`;
219
- const params = [vault_id.value];
235
+ const params = [vault_id];
220
236
  if (root_agent_id) {
221
237
  sql += ` AND root_agent_id = ?`;
222
238
  params.push(root_agent_id);
@@ -225,7 +241,7 @@ export class SqliteAgentSecretGrantRegistry {
225
241
  return rows.map(r => JSON.parse(r.record));
226
242
  }
227
243
  async delete(vault_id, root_agent_id, secret_id) {
228
- this.db.prepare(`DELETE FROM grants WHERE vault_id = ? AND root_agent_id = ? AND secret_id = ?`).run(vault_id.value, root_agent_id, secret_id.value);
244
+ this.db.prepare(`DELETE FROM grants WHERE vault_id = ? AND root_agent_id = ? AND secret_id = ?`).run(vault_id, root_agent_id, secret_id);
229
245
  }
230
246
  }
231
247
  export class SqliteSecretDestinationGrantRegistry {
@@ -234,24 +250,24 @@ export class SqliteSecretDestinationGrantRegistry {
234
250
  this.db = db;
235
251
  }
236
252
  async upsert(grant) {
237
- this.db.prepare(`INSERT INTO destination_grants (vault_id, secret_id, site_id, record) VALUES (?, ?, ?, ?) ON CONFLICT(vault_id, secret_id, site_id) DO UPDATE SET record = excluded.record`).run(grant.vault_id.value, grant.secret_id.value, grant.site_id, JSON.stringify(grant));
253
+ this.db.prepare(`INSERT INTO destination_grants (vault_id, secret_id, site_id, record) VALUES (?, ?, ?, ?) ON CONFLICT(vault_id, secret_id, site_id) DO UPDATE SET record = excluded.record`).run(grant.vault_id, grant.secret_id, grant.site_id, JSON.stringify(grant));
238
254
  }
239
255
  async get(vault_id, secret_id, site_id) {
240
- const row = this.db.prepare(`SELECT record FROM destination_grants WHERE vault_id = ? AND secret_id = ? AND site_id = ?`).get(vault_id.value, secret_id.value, site_id);
256
+ const row = this.db.prepare(`SELECT record FROM destination_grants WHERE vault_id = ? AND secret_id = ? AND site_id = ?`).get(vault_id, secret_id, site_id);
241
257
  return row ? JSON.parse(row.record) : null;
242
258
  }
243
259
  async list(vault_id, secret_id) {
244
260
  let sql = `SELECT record FROM destination_grants WHERE vault_id = ?`;
245
- const params = [vault_id.value];
261
+ const params = [vault_id];
246
262
  if (secret_id) {
247
263
  sql += ` AND secret_id = ?`;
248
- params.push(secret_id.value);
264
+ params.push(secret_id);
249
265
  }
250
266
  const rows = this.db.prepare(sql).all(...params);
251
267
  return rows.map(r => JSON.parse(r.record));
252
268
  }
253
269
  async delete(vault_id, secret_id, site_id) {
254
- this.db.prepare(`DELETE FROM destination_grants WHERE vault_id = ? AND secret_id = ? AND site_id = ?`).run(vault_id.value, secret_id.value, site_id);
270
+ this.db.prepare(`DELETE FROM destination_grants WHERE vault_id = ? AND secret_id = ? AND site_id = ?`).run(vault_id, secret_id, site_id);
255
271
  }
256
272
  }
257
273
  export class SqliteRequestRecordRegistry {
@@ -262,20 +278,20 @@ export class SqliteRequestRecordRegistry {
262
278
  this.db = db;
263
279
  }
264
280
  async save(record) {
265
- this.db.prepare(`INSERT INTO requests (vault_id, request_id, root_agent_id, secret_id, record) VALUES (?, ?, ?, ?, ?) ON CONFLICT(request_id) DO UPDATE SET record = excluded.record, secret_id = excluded.secret_id`).run(record.vault_id.value, record.request_id, record.root_agent_id, record.request.secret_id?.value ?? null, JSON.stringify(record));
266
- const subs = this.subscribers.get(record.vault_id.value);
281
+ this.db.prepare(`INSERT INTO requests (vault_id, request_id, root_agent_id, secret_id, record) VALUES (?, ?, ?, ?, ?) ON CONFLICT(request_id) DO UPDATE SET record = excluded.record, secret_id = excluded.secret_id`).run(record.vault_id, record.request_id, record.root_agent_id, record.request.secret_id ?? null, JSON.stringify(record));
282
+ const subs = this.subscribers.get(record.vault_id);
267
283
  if (subs) {
268
284
  for (const cb of subs)
269
285
  cb(record);
270
286
  }
271
287
  }
272
288
  async get(vault_id, request_id) {
273
- const row = this.db.prepare(`SELECT record FROM requests WHERE vault_id = ? AND request_id = ?`).get(vault_id.value, request_id);
289
+ const row = this.db.prepare(`SELECT record FROM requests WHERE vault_id = ? AND request_id = ?`).get(vault_id, request_id);
274
290
  return row ? JSON.parse(row.record) : null;
275
291
  }
276
292
  async list(vault_id, root_agent_id) {
277
293
  let sql = `SELECT record FROM requests WHERE vault_id = ?`;
278
- const params = [vault_id.value];
294
+ const params = [vault_id];
279
295
  if (root_agent_id) {
280
296
  sql += ` AND root_agent_id = ?`;
281
297
  params.push(root_agent_id);
@@ -284,7 +300,7 @@ export class SqliteRequestRecordRegistry {
284
300
  return rows.map(r => JSON.parse(r.record));
285
301
  }
286
302
  subscribePending(vault_id, subscription) {
287
- const rows = this.db.prepare(`SELECT record FROM requests WHERE vault_id = ?`).all(vault_id.value);
303
+ const rows = this.db.prepare(`SELECT record FROM requests WHERE vault_id = ?`).all(vault_id);
288
304
  const replay = rows.map(r => JSON.parse(r.record))
289
305
  .filter((record) => record.execution.status === DispatchStatus.AWAITING_APPROVAL && !!record.pending_dispatch_event)
290
306
  .map((record) => ({
@@ -296,10 +312,10 @@ export class SqliteRequestRecordRegistry {
296
312
  .sort((a, b) => a.event_id.localeCompare(b.event_id));
297
313
  for (const event of replay)
298
314
  subscription.onEvent(event);
299
- let subs = this.subscribers.get(vault_id.value);
315
+ let subs = this.subscribers.get(vault_id);
300
316
  if (!subs) {
301
317
  subs = new Set();
302
- this.subscribers.set(vault_id.value, subs);
318
+ this.subscribers.set(vault_id, subs);
303
319
  }
304
320
  const callback = (record) => {
305
321
  if (record.execution.status !== DispatchStatus.AWAITING_APPROVAL || !record.pending_dispatch_event)
@@ -315,11 +331,11 @@ export class SqliteRequestRecordRegistry {
315
331
  };
316
332
  subs.add(callback);
317
333
  return () => {
318
- const current = this.subscribers.get(vault_id.value);
334
+ const current = this.subscribers.get(vault_id);
319
335
  if (current) {
320
336
  current.delete(callback);
321
337
  if (current.size === 0)
322
- this.subscribers.delete(vault_id.value);
338
+ this.subscribers.delete(vault_id);
323
339
  }
324
340
  };
325
341
  }
@@ -376,6 +392,7 @@ const dbCache = new Map();
376
392
  function initDb(baseDir) {
377
393
  if (dbCache.has(baseDir))
378
394
  return dbCache.get(baseDir);
395
+ const Database = require("better-sqlite3");
379
396
  const dbPath = path.join(baseDir, "vault.sqlite");
380
397
  const db = new Database(dbPath);
381
398
  db.pragma('journal_mode = WAL');
@@ -412,7 +429,17 @@ function initDb(baseDir) {
412
429
  db.exec(`
413
430
  CREATE TABLE IF NOT EXISTS secrets (secret_id TEXT PRIMARY KEY, vault_id TEXT, alias TEXT UNIQUE, record TEXT);
414
431
  CREATE TABLE IF NOT EXISTS custody (secret_id TEXT PRIMARY KEY, encrypted_payload TEXT);
415
- CREATE TABLE IF NOT EXISTS audit_logs (event_id TEXT PRIMARY KEY, vault_id TEXT, root_agent_id TEXT, request_id TEXT, secret_alias TEXT, secret_id TEXT, ts INTEGER, entry TEXT);
432
+ CREATE TABLE IF NOT EXISTS audit_logs (
433
+ event_id TEXT PRIMARY KEY,
434
+ vault_id TEXT,
435
+ function_name TEXT,
436
+ actor_id TEXT,
437
+ root_agent_id TEXT,
438
+ secret_id TEXT,
439
+ request_id TEXT,
440
+ ts TEXT,
441
+ entry TEXT
442
+ );
416
443
  CREATE TABLE IF NOT EXISTS agents (vault_id TEXT, root_agent_id TEXT, record TEXT, PRIMARY KEY(vault_id, root_agent_id));
417
444
  CREATE TABLE IF NOT EXISTS grants (vault_id TEXT, root_agent_id TEXT, secret_id TEXT, record TEXT, PRIMARY KEY(vault_id, root_agent_id, secret_id));
418
445
  CREATE TABLE IF NOT EXISTS destination_grants (vault_id TEXT, secret_id TEXT, site_id TEXT, record TEXT, PRIMARY KEY(vault_id, secret_id, site_id));
@@ -433,7 +460,7 @@ export function createPersistentVaultCoreDependencies(storage, options) {
433
460
  const agentRecords = new SqliteAgentIdentityRegistry(db, custody);
434
461
  const sessionTokenRegistry = new SqliteSessionTokenRegistry(db);
435
462
  return {
436
- vault_id: { value: options.vault_id },
463
+ vault_id: options.vault_id,
437
464
  ids: new RandomIdGenerator(),
438
465
  clock: new SystemClock(),
439
466
  agentRecords,
@@ -1 +1 @@
1
- {"version":3,"file":"persistence.js","sourceRoot":"","sources":["../../src/vault-core/persistence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"persistence.js","sourceRoot":"","sources":["../../src/vault-core/persistence.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { AgentSecretGrant, SecretDestinationGrant, OwnerPendingDispatchSubscription, OwnerAuditSubscription, RequestRecord, AgentIdentityRecord, AuditEntry, AuditQuery, DispatchInstruction, DispatchRequest, DispatchResult, SessionTokenInspectionResult, SecretAlias, SecretId, SecretRecord, StoredSessionToken, VaultWriteSecretCommand, VaultId } from "./contracts.js";
1
+ import type { AgentSecretGrant, SecretDestinationGrant, OwnerPendingDispatchSubscription, OwnerAuditSubscription, RequestRecord, AgentIdentityRecord, AuditEntry, AuditQuery, DispatchInstruction, DispatchRequest, DispatchResult, SessionTokenInspectionResult, SecretAlias, SecretId, SecretVersion, SecretRecord, StoredSessionToken, VaultWriteSecretCommand, VaultId } from "./contracts.js";
2
2
  export interface SecretRepository {
3
3
  save(record: SecretRecord): Promise<void>;
4
4
  delete(secret_id: SecretId): Promise<void>;
@@ -30,9 +30,7 @@ export interface Clock {
30
30
  }
31
31
  export interface IdGenerator {
32
32
  newSecretId(): SecretId;
33
- newVersion(): {
34
- value: string;
35
- };
33
+ newVersion(): SecretVersion;
36
34
  newAuditEntryId(): string;
37
35
  newRequestId(action?: string): string;
38
36
  }
@@ -11,8 +11,8 @@ export declare class LocalVaultTransport implements AgentDispatchTransport {
11
11
  agent_secrets: readonly import("../vault-core/contracts.js").AgentSecretGrant[];
12
12
  secret_destinations: readonly import("../vault-core/contracts.js").SecretDestinationGrant[];
13
13
  }>;
14
- agentListSecrets(request: import("../vault-core/index.js").AgentListSecretsRequest): Promise<readonly import("../vault-core/contracts.js").AgentVisibleSecretRecord[]>;
15
- agentListRequests(request: import("../vault-core/index.js").AgentListRequestsRequest): Promise<readonly import("../vault-core/contracts.js").AgentVisibleRequestRecord[]>;
14
+ agentListSecrets(request: import("../vault-core/index.js").AgentListSecretsRequest): Promise<readonly import("../vault-core/contracts.js").SecretRecord[]>;
15
+ agentListRequests(request: import("../vault-core/index.js").AgentListRequestsRequest): Promise<readonly import("../vault-core/contracts.js").AgentRequestRecord[]>;
16
16
  agentGetRequest(request: import("../vault-core/index.js").AgentGetRequestRequest): Promise<import("../vault-core/contracts.js").AgentRequestRecord>;
17
17
  agentGetRuntimeManifest(request: import("../vault-core/index.js").AgentGetRuntimeManifestRequest): Promise<import("../vault-core/contracts.js").AgentRuntimeManifest>;
18
18
  }
@@ -8,12 +8,12 @@ export class LocalVaultTransport {
8
8
  }
9
9
  async agentDispatch(request) {
10
10
  const response = await this._vault.agentHandleDispatch({
11
- vault_id: request.vault_id.value,
11
+ vault_id: request.vault_id,
12
12
  request_id: request.request_id,
13
13
  requested_at: request.requested_at,
14
14
  root_agent_id: request.agent.id,
15
15
  reason: request.reason,
16
- secret_alias: request.secret_alias,
16
+ secret_id: request.secret_id,
17
17
  target_url: request.target_url,
18
18
  method: request.method,
19
19
  headers: request.headers,
@@ -28,7 +28,7 @@ export class LocalVaultTransport {
28
28
  async agentListGrants(request) {
29
29
  const response = await this._vault.agentHandleControl({
30
30
  action: "get_manifest",
31
- vault_id: request.vault_id.value,
31
+ vault_id: request.vault_id,
32
32
  request_id: request.request_id,
33
33
  requested_at: request.requested_at,
34
34
  root_agent_id: request.agent.id,
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/vault-ingress/defaults.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,OAAO,mBAAmB;IACD;IAA7B,YAA6B,MAAoB;QAApB,WAAM,GAAN,MAAM,CAAc;IAAG,CAAC;IAErD,KAAK,CAAC,aAAa,CACjB,OAAyD;QAEzD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC;YACrD,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK;YAChC,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE;YAC/B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE;SAC1E,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,QAAQ,CAAC,MAAM,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,OAAgE;QACpF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC;YACpD,MAAM,EAAE,cAAc;YACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK;YAChC,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE;YAC/B,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE;SAC1E,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACtF,OAAQ,QAAQ,CAAC,MAAgE,CAAC,MAAM,CAAC;IAC3F,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,OAAiE;QACtF,OAAO,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,OAAkE;QACxF,OAAO,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,OAAgE;QACpF,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,OAAwE;QACpG,OAAO,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACtD,CAAC;CACF"}
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/vault-ingress/defaults.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,OAAO,mBAAmB;IACD;IAA7B,YAA6B,MAAoB;QAApB,WAAM,GAAN,MAAM,CAAc;IAAG,CAAC;IAErD,KAAK,CAAC,aAAa,CACjB,OAAyD;QAEzD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC;YACrD,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE;YAC/B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE;SAC1E,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,QAAQ,CAAC,MAAM,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,OAAgE;QACpF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC;YACpD,MAAM,EAAE,cAAc;YACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE;YAC/B,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE;SAC1E,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACtF,OAAQ,QAAQ,CAAC,MAAgE,CAAC,MAAM,CAAC;IAC3F,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,OAAiE;QACtF,OAAO,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,OAAkE;QACxF,OAAO,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,OAAgE;QACpF,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,OAAwE;QACpG,OAAO,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACtD,CAAC;CACF"}
@@ -8,7 +8,7 @@ export interface VaultAgentDispatchRequest {
8
8
  requested_at: string;
9
9
  root_agent_id: string;
10
10
  reason: string;
11
- secret_alias?: string;
11
+ secret_id?: string;
12
12
  target_url: string;
13
13
  method: string;
14
14
  headers?: Record<string, string>;
@@ -147,13 +147,13 @@ export interface VaultService {
147
147
  ownerReadAudit(request: OwnerAuditRequest): Promise<readonly import("../vault-core/index.js").AuditEntry[]>;
148
148
  ownerExportSecret(request: OwnerExportSecretRequest): Promise<readonly OwnerSecretExport[]>;
149
149
  ownerListAgents(request: OwnerListAgentsRequest): Promise<readonly AgentIdentityRecord[]>;
150
- ownerListRequests(request: import("../vault-core/index.js").OwnerListRequestsRequest): Promise<readonly import("../vault-core/index.js").OwnerVisibleRequestRecord[]>;
150
+ ownerListRequests(request: import("../vault-core/index.js").OwnerListRequestsRequest): Promise<readonly import("../vault-core/index.js").OwnerRequestRecord[]>;
151
151
  ownerGetRequest(request: import("../vault-core/index.js").OwnerGetRequestRequest): Promise<import("../vault-core/index.js").OwnerRequestRecord>;
152
152
  ownerListSecrets(request: {
153
153
  vault_id: VaultId;
154
154
  owner: VaultPrincipal;
155
155
  request_id?: string;
156
- }): Promise<readonly import("../vault-core/index.js").AgentVisibleSecretRecord[]>;
156
+ }): Promise<readonly import("../vault-core/index.js").SecretRecord[]>;
157
157
  ownerGrantAgentSecret(request: import("../vault-core/index.js").OwnerGrantAgentSecretCommand): Promise<import("../vault-core/index.js").AgentSecretGrant>;
158
158
  ownerGrantSecretDestination(request: import("../vault-core/index.js").OwnerGrantSecretDestinationCommand): Promise<import("../vault-core/index.js").SecretDestinationGrant>;
159
159
  ownerRevokeAgentSecret(request: import("../vault-core/index.js").OwnerRevokeAgentSecretCommand): Promise<void>;
@@ -177,8 +177,8 @@ export interface VaultService {
177
177
  ownerApproveDispatch(request: import("../vault-core/index.js").OwnerApproveDispatchCommand): Promise<DispatchResult | null>;
178
178
  ownerOnPendingDispatch(subscription: import("../vault-core/index.js").OwnerPendingDispatchSubscription): () => void;
179
179
  ownerOnAudit(subscription: import("../vault-core/index.js").OwnerAuditSubscription): () => void;
180
- agentListSecrets(request: import("../vault-core/index.js").AgentListSecretsRequest): Promise<readonly import("../vault-core/index.js").AgentVisibleSecretRecord[]>;
181
- agentListRequests(request: import("../vault-core/index.js").AgentListRequestsRequest): Promise<readonly import("../vault-core/index.js").AgentVisibleRequestRecord[]>;
180
+ agentListSecrets(request: import("../vault-core/index.js").AgentListSecretsRequest): Promise<readonly import("../vault-core/index.js").SecretRecord[]>;
181
+ agentListRequests(request: import("../vault-core/index.js").AgentListRequestsRequest): Promise<readonly import("../vault-core/index.js").AgentRequestRecord[]>;
182
182
  agentGetRequest(request: import("../vault-core/index.js").AgentGetRequestRequest): Promise<import("../vault-core/index.js").AgentRequestResult>;
183
183
  agentGetRuntimeManifest(request: import("../vault-core/index.js").AgentGetRuntimeManifestRequest): Promise<import("../vault-core/index.js").AgentRuntimeManifest>;
184
184
  agentHandleDispatch(request: VaultAgentDispatchRequest): Promise<VaultAgentDispatchResponse | VaultAgentDispatchErrorResponse>;