@the-ai-company/cbio-node-runtime 1.69.0 → 1.71.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -0
- package/dist/clients/owner/client.js +39 -4
- package/dist/clients/owner/client.js.map +1 -1
- package/dist/clients/owner/contracts.d.ts +3 -1
- package/dist/public-types.d.ts +2 -1
- package/dist/public-types.js.map +1 -1
- package/dist/runtime/index.d.ts +4 -2
- package/dist/runtime/index.js +1 -1
- package/dist/runtime/index.js.map +1 -1
- package/dist/vault-core/contracts.d.ts +26 -28
- package/dist/vault-core/contracts.js +0 -6
- package/dist/vault-core/contracts.js.map +1 -1
- package/dist/vault-core/core.d.ts +8 -6
- package/dist/vault-core/core.js +125 -52
- package/dist/vault-core/core.js.map +1 -1
- package/dist/vault-core/defaults.d.ts +11 -11
- package/dist/vault-core/defaults.js +75 -35
- package/dist/vault-core/defaults.js.map +1 -1
- package/dist/vault-core/index.d.ts +3 -3
- package/dist/vault-core/index.js +1 -1
- package/dist/vault-core/index.js.map +1 -1
- package/dist/vault-core/persistence.d.ts +39 -42
- package/dist/vault-core/persistence.js +332 -372
- package/dist/vault-core/persistence.js.map +1 -1
- package/dist/vault-core/ports.d.ts +9 -8
- package/dist/vault-ingress/index.d.ts +22 -0
- package/dist/vault-ingress/index.js +40 -14
- package/dist/vault-ingress/index.js.map +1 -1
- package/dist/vault-ingress/server-utils.d.ts +30 -0
- package/dist/vault-ingress/server-utils.js +151 -0
- package/dist/vault-ingress/server-utils.js.map +1 -1
- package/docs/ARCHITECTURE.md +3 -3
- package/docs/REFERENCE.md +7 -3
- package/docs/api/README.md +5 -2
- package/docs/api/classes/IdentityError.md +1 -1
- package/docs/api/classes/OwnerClientError.md +1 -1
- package/docs/api/classes/PersistentVaultAgentIdentityRegistry.md +9 -5
- package/docs/api/classes/PersistentVaultAgentSecretGrantRegistry.md +11 -11
- package/docs/api/classes/PersistentVaultAuditLog.md +29 -5
- package/docs/api/classes/PersistentVaultSecretCustody.md +5 -5
- package/docs/api/classes/PersistentVaultSecretDestinationGrantRegistry.md +14 -14
- package/docs/api/classes/PersistentVaultSecretRepository.md +5 -5
- package/docs/api/classes/VaultCore.md +32 -16
- package/docs/api/classes/VaultCoreError.md +1 -1
- package/docs/api/enumerations/AuditOperation.md +1 -37
- package/docs/api/enumerations/DispatchStatus.md +1 -1
- package/docs/api/enumerations/IdentityErrorCode.md +1 -1
- package/docs/api/enumerations/OwnerClientErrorCode.md +1 -1
- package/docs/api/functions/createAgentClient.md +1 -1
- package/docs/api/functions/createIdentity.md +1 -1
- package/docs/api/functions/createOwnerClient.md +1 -1
- package/docs/api/functions/createPersistentVaultCoreDependencies.md +1 -1
- package/docs/api/functions/createVault.md +1 -1
- package/docs/api/functions/createVaultCore.md +1 -1
- package/docs/api/functions/createVaultCoreDependencies.md +1 -1
- package/docs/api/functions/createVaultService.md +1 -1
- package/docs/api/functions/createWorkspaceStorage.md +1 -1
- package/docs/api/functions/deriveRootAgentId.md +1 -1
- package/docs/api/functions/deriveVaultWorkingKeyFromPassword.md +1 -1
- package/docs/api/functions/getDefaultWorkspaceDir.md +1 -1
- package/docs/api/functions/handleVaultAgentControlHttp.md +1 -1
- package/docs/api/functions/handleVaultAuditSse.md +30 -0
- package/docs/api/functions/handleVaultHttpDispatch.md +1 -1
- package/docs/api/functions/handleVaultPendingDispatchSse.md +30 -0
- package/docs/api/functions/initializeVaultCustody.md +1 -1
- package/docs/api/functions/listVaults.md +1 -1
- package/docs/api/functions/openOwnerSession.md +1 -1
- package/docs/api/functions/readVaultProfile.md +1 -1
- package/docs/api/functions/recoverVault.md +1 -1
- package/docs/api/functions/recoverVaultWorkingKey.md +1 -1
- package/docs/api/functions/restoreIdentity.md +1 -1
- package/docs/api/functions/updateVaultMetadata.md +1 -1
- package/docs/api/functions/writeVaultProfile.md +1 -1
- package/docs/api/interfaces/AgentClient.md +1 -1
- package/docs/api/interfaces/AgentDispatchIntent.md +1 -1
- package/docs/api/interfaces/AgentDispatchTransport.md +1 -1
- package/docs/api/interfaces/AgentIdentity.md +1 -1
- package/docs/api/interfaces/AgentIdentityRecord.md +1 -1
- package/docs/api/interfaces/AgentRequestRecord.md +11 -1
- package/docs/api/interfaces/AgentRuntimeManifest.md +1 -1
- package/docs/api/interfaces/AgentSecretGrant.md +3 -3
- package/docs/api/interfaces/AgentSigner.md +1 -1
- package/docs/api/interfaces/AgentVisibleRequestRecord.md +7 -1
- package/docs/api/interfaces/AgentVisibleSecretRecord.md +1 -1
- package/docs/api/interfaces/AuditEntry.md +1 -1
- package/docs/api/interfaces/CbioRuntime.md +59 -1
- package/docs/api/interfaces/CreateAgentClientOptions.md +1 -1
- package/docs/api/interfaces/CreateIdentityOptions.md +1 -1
- package/docs/api/interfaces/CreateOwnerClientOptions.md +1 -1
- package/docs/api/interfaces/CreatePersistentVaultCoreDependenciesOptions.md +1 -1
- package/docs/api/interfaces/CreateVaultOptions.md +1 -1
- package/docs/api/interfaces/CreatedVault.md +1 -1
- package/docs/api/interfaces/DefaultPolicyEngineOptions.md +1 -23
- package/docs/api/interfaces/DispatchAuthorization.md +1 -1
- package/docs/api/interfaces/DispatchInstruction.md +1 -1
- package/docs/api/interfaces/DispatchRequest.md +1 -1
- package/docs/api/interfaces/DispatchResult.md +1 -1
- package/docs/api/interfaces/IStorageProvider.md +1 -1
- package/docs/api/interfaces/InitializeVaultCustodyOptions.md +1 -1
- package/docs/api/interfaces/InitializedVaultCustody.md +1 -1
- package/docs/api/interfaces/OpenOwnerSessionOptions.md +1 -1
- package/docs/api/interfaces/OwnerAgentProvisionResult.md +1 -1
- package/docs/api/interfaces/OwnerAuditSubscription.md +45 -0
- package/docs/api/interfaces/OwnerClient.md +17 -1
- package/docs/api/interfaces/OwnerCreateSecretInput.md +1 -1
- package/docs/api/interfaces/OwnerPendingDispatchSubscription.md +1 -1
- package/docs/api/interfaces/OwnerRemoveSecretInput.md +1 -1
- package/docs/api/interfaces/OwnerRequestRecord.md +11 -1
- package/docs/api/interfaces/OwnerSensitiveActionConfirmation.md +1 -1
- package/docs/api/interfaces/OwnerSensitiveActionContext.md +1 -1
- package/docs/api/interfaces/OwnerSession.md +1 -1
- package/docs/api/interfaces/OwnerUpdateSecretInput.md +9 -3
- package/docs/api/interfaces/OwnerVisibleRequestRecord.md +7 -1
- package/docs/api/interfaces/PendingDispatchEvent.md +1 -1
- package/docs/api/interfaces/RecoverVaultOptions.md +1 -1
- package/docs/api/interfaces/RecoveredVault.md +1 -1
- package/docs/api/interfaces/RequestRecord.md +5 -1
- package/docs/api/interfaces/RestoreIdentityOptions.md +1 -1
- package/docs/api/interfaces/SecretAlias.md +1 -1
- package/docs/api/interfaces/SecretDestinationGrant.md +3 -3
- package/docs/api/interfaces/SecretId.md +1 -1
- package/docs/api/interfaces/SecretRecord.md +1 -1
- package/docs/api/interfaces/Signer.md +1 -1
- package/docs/api/interfaces/VaultApproveDispatchInput.md +1 -1
- package/docs/api/interfaces/VaultAuditQueryInput.md +1 -1
- package/docs/api/interfaces/VaultCoreDependenciesOptions.md +1 -1
- package/docs/api/interfaces/VaultCreateAgentInput.md +1 -1
- package/docs/api/interfaces/VaultExportSecretInput.md +1 -1
- package/docs/api/interfaces/VaultGetRequestInput.md +1 -1
- package/docs/api/interfaces/VaultGrantAgentSecretInput.md +1 -1
- package/docs/api/interfaces/VaultGrantSecretDestinationInput.md +1 -1
- package/docs/api/interfaces/VaultId.md +1 -1
- package/docs/api/interfaces/VaultImportAgentInput.md +1 -1
- package/docs/api/interfaces/VaultIssueSessionTokenInput.md +1 -1
- package/docs/api/interfaces/VaultListAgentsInput.md +1 -1
- package/docs/api/interfaces/VaultListGrantsInput.md +1 -1
- package/docs/api/interfaces/VaultListRequestsInput.md +1 -1
- package/docs/api/interfaces/VaultListSecretsInput.md +1 -1
- package/docs/api/interfaces/VaultMetadata.md +1 -1
- package/docs/api/interfaces/VaultObject.md +1 -1
- package/docs/api/interfaces/VaultPrincipal.md +1 -1
- package/docs/api/interfaces/VaultProfile.md +1 -1
- package/docs/api/interfaces/VaultReadAgentPrivateKeyInput.md +1 -1
- package/docs/api/interfaces/VaultReadSecretPlaintextInput.md +1 -1
- package/docs/api/interfaces/VaultRevokeAgentSecretInput.md +1 -1
- package/docs/api/interfaces/VaultRevokeSecretDestinationInput.md +1 -1
- package/docs/api/interfaces/VaultRevokeSessionTokenInput.md +1 -1
- package/docs/api/interfaces/VaultService.md +17 -1
- package/docs/api/interfaces/VaultUpdateAgentInput.md +1 -1
- package/docs/api/type-aliases/AgentId.md +1 -1
- package/docs/api/type-aliases/AgentRequestResult.md +1 -1
- package/docs/api/type-aliases/CbioRuntimeModule.md +1 -1
- package/docs/api/type-aliases/DispatchApprovalDecision.md +1 -1
- package/docs/api/type-aliases/GrantStatus.md +1 -1
- package/docs/api/type-aliases/SecretLifecycleStatus.md +1 -1
- package/docs/api/type-aliases/VaultPrincipalKind.md +2 -2
- package/docs/api/variables/DEFAULT_VAULT_KEY_CUSTODY_BLOB_KEY.md +1 -1
- package/package.json +10 -3
package/dist/vault-core/core.js
CHANGED
|
@@ -63,67 +63,67 @@ export class VaultCore {
|
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
65
|
// ─── Grant Management ─────────────────────────────────────────────────────────
|
|
66
|
-
async ownerGrantAgentSecret(actor, root_agent_id,
|
|
66
|
+
async ownerGrantAgentSecret(actor, root_agent_id, secret_id, request) {
|
|
67
67
|
this._assertOwnerPrincipal(actor);
|
|
68
68
|
const now = this._deps.clock.nowIso();
|
|
69
69
|
const grant = {
|
|
70
70
|
vault_id: this._deps.vault_id,
|
|
71
71
|
root_agent_id,
|
|
72
|
-
|
|
72
|
+
secret_id,
|
|
73
73
|
status: "approved",
|
|
74
74
|
requested_at: now,
|
|
75
75
|
granted_at: now,
|
|
76
76
|
};
|
|
77
77
|
await this._deps.agent_secretGrants.upsert(grant);
|
|
78
|
-
await this._appendAudit(toAuditEntry(this._deps, actor, AuditOperation.GRANT_SECRET, "allowed", "succeeded", `granted secret "${
|
|
78
|
+
await this._appendAudit(toAuditEntry(this._deps, actor, AuditOperation.GRANT_SECRET, "allowed", "succeeded", `granted secret "${secret_id.value}" to agent "${root_agent_id}"`, {
|
|
79
79
|
request_id: request?.request_id,
|
|
80
80
|
root_agent_id,
|
|
81
|
-
|
|
81
|
+
secret_id: secret_id.value,
|
|
82
82
|
}));
|
|
83
83
|
return grant;
|
|
84
84
|
}
|
|
85
|
-
async ownerGrantSecretDestination(actor,
|
|
85
|
+
async ownerGrantSecretDestination(actor, secret_id, site_id, request) {
|
|
86
86
|
this._assertOwnerPrincipal(actor);
|
|
87
87
|
const now = this._deps.clock.nowIso();
|
|
88
88
|
const grant = {
|
|
89
89
|
vault_id: this._deps.vault_id,
|
|
90
|
-
|
|
90
|
+
secret_id,
|
|
91
91
|
site_id,
|
|
92
92
|
status: "approved",
|
|
93
93
|
requested_at: now,
|
|
94
94
|
granted_at: now,
|
|
95
95
|
};
|
|
96
96
|
await this._deps.secret_destinationGrants.upsert(grant);
|
|
97
|
-
await this._appendAudit(toAuditEntry(this._deps, actor, AuditOperation.GRANT_DESTINATION, "allowed", "succeeded", `granted destination "${site_id}" for secret "${
|
|
97
|
+
await this._appendAudit(toAuditEntry(this._deps, actor, AuditOperation.GRANT_DESTINATION, "allowed", "succeeded", `granted destination "${site_id}" for secret "${secret_id.value}"`, {
|
|
98
98
|
request_id: request?.request_id,
|
|
99
|
-
|
|
99
|
+
secret_id: secret_id.value,
|
|
100
100
|
site_id,
|
|
101
101
|
}));
|
|
102
102
|
return grant;
|
|
103
103
|
}
|
|
104
|
-
async ownerRevokeAgentSecret(actor, root_agent_id,
|
|
104
|
+
async ownerRevokeAgentSecret(actor, root_agent_id, secret_id, request) {
|
|
105
105
|
this._assertOwnerPrincipal(actor);
|
|
106
|
-
await this._deps.agent_secretGrants.delete(this._deps.vault_id, root_agent_id,
|
|
107
|
-
await this._appendAudit(toAuditEntry(this._deps, actor, AuditOperation.REVOKE_SECRET, "allowed", "succeeded", `revoked secret "${
|
|
106
|
+
await this._deps.agent_secretGrants.delete(this._deps.vault_id, root_agent_id, secret_id);
|
|
107
|
+
await this._appendAudit(toAuditEntry(this._deps, actor, AuditOperation.REVOKE_SECRET, "allowed", "succeeded", `revoked secret "${secret_id.value}" from agent "${root_agent_id}"`, {
|
|
108
108
|
request_id: request?.request_id,
|
|
109
109
|
root_agent_id,
|
|
110
|
-
|
|
110
|
+
secret_id: secret_id.value,
|
|
111
111
|
}));
|
|
112
112
|
}
|
|
113
|
-
async ownerRevokeSecretDestination(actor,
|
|
113
|
+
async ownerRevokeSecretDestination(actor, secret_id, site_id, request) {
|
|
114
114
|
this._assertOwnerPrincipal(actor);
|
|
115
|
-
await this._deps.secret_destinationGrants.delete(this._deps.vault_id,
|
|
116
|
-
await this._appendAudit(toAuditEntry(this._deps, actor, AuditOperation.REVOKE_DESTINATION, "allowed", "succeeded", `revoked destination "${site_id}" from secret "${
|
|
115
|
+
await this._deps.secret_destinationGrants.delete(this._deps.vault_id, secret_id, site_id);
|
|
116
|
+
await this._appendAudit(toAuditEntry(this._deps, actor, AuditOperation.REVOKE_DESTINATION, "allowed", "succeeded", `revoked destination "${site_id}" from secret "${secret_id.value}"`, {
|
|
117
117
|
request_id: request?.request_id,
|
|
118
|
-
|
|
118
|
+
secret_id: secret_id.value,
|
|
119
119
|
site_id,
|
|
120
120
|
}));
|
|
121
121
|
}
|
|
122
|
-
async ownerListGrants(actor, root_agent_id,
|
|
122
|
+
async ownerListGrants(actor, root_agent_id, secret_id) {
|
|
123
123
|
this._assertOwnerPrincipal(actor);
|
|
124
124
|
const [agent_secrets, secret_destinations] = await Promise.all([
|
|
125
125
|
this._deps.agent_secretGrants.list(this._deps.vault_id, root_agent_id),
|
|
126
|
-
this._deps.secret_destinationGrants.list(this._deps.vault_id,
|
|
126
|
+
this._deps.secret_destinationGrants.list(this._deps.vault_id, secret_id),
|
|
127
127
|
]);
|
|
128
128
|
return { agent_secrets, secret_destinations };
|
|
129
129
|
}
|
|
@@ -138,11 +138,11 @@ export class VaultCore {
|
|
|
138
138
|
return { vault_id: this._deps.vault_id, decision: "deny", reason: `secret not found: ${secret_alias}`, secret_id: null };
|
|
139
139
|
}
|
|
140
140
|
// 1. Check Agent-Secret Grant
|
|
141
|
-
const agent_secretGrant = await this._deps.agent_secretGrants.get(this._deps.vault_id, agent.id,
|
|
141
|
+
const agent_secretGrant = await this._deps.agent_secretGrants.get(this._deps.vault_id, agent.id, secret.secret_id);
|
|
142
142
|
const agent_secretApproved = agent_secretGrant?.status === "approved";
|
|
143
143
|
// 2. Check Secret-Destination Grant
|
|
144
144
|
const site_id = extractDomain(target_url);
|
|
145
|
-
const destGrant = await this._deps.secret_destinationGrants.get(this._deps.vault_id,
|
|
145
|
+
const destGrant = await this._deps.secret_destinationGrants.get(this._deps.vault_id, secret.secret_id, site_id);
|
|
146
146
|
const destApproved = destGrant?.status === "approved";
|
|
147
147
|
if (agent_secretApproved && destApproved) {
|
|
148
148
|
return { vault_id: this._deps.vault_id, decision: "allow", reason: "granted", secret_id: secret.secret_id };
|
|
@@ -161,8 +161,10 @@ export class VaultCore {
|
|
|
161
161
|
}
|
|
162
162
|
async agentDispatchSecret(request) {
|
|
163
163
|
await this._verifyAgentControlProof(request, "dispatch");
|
|
164
|
-
|
|
164
|
+
// Resolve secret early to capture stable ID in logs
|
|
165
165
|
const authorization = await this.agentAuthorizeDispatch(request);
|
|
166
|
+
const secret_id = authorization.secret_id;
|
|
167
|
+
await this._recordRequestInternal(request, DispatchStatus.IN_PROGRESS, secret_id);
|
|
166
168
|
if (authorization.decision === "deny") {
|
|
167
169
|
const result = {
|
|
168
170
|
vault_id: this._deps.vault_id,
|
|
@@ -177,8 +179,9 @@ export class VaultCore {
|
|
|
177
179
|
root_agent_id: request.agent.id,
|
|
178
180
|
target: { kind: "http", url: request.target_url },
|
|
179
181
|
secret_alias: request.secret_alias,
|
|
182
|
+
secret_id: secret_id?.value,
|
|
180
183
|
}));
|
|
181
|
-
await this._updateRequestRecordInternal(request, result);
|
|
184
|
+
await this._updateRequestRecordInternal(request, result, secret_id);
|
|
182
185
|
return result;
|
|
183
186
|
}
|
|
184
187
|
if (authorization.decision === "pending") {
|
|
@@ -189,17 +192,20 @@ export class VaultCore {
|
|
|
189
192
|
target_url: request.target_url,
|
|
190
193
|
method: request.method,
|
|
191
194
|
};
|
|
195
|
+
await this._updateRequestRecordInternal(request, result, secret_id, authorization.missing_grants);
|
|
192
196
|
await this._appendAudit(toAuditEntry(this._deps, request.agent, AuditOperation.DISPATCH_HOLD, "allowed", "not_executed", "request held for human approval", {
|
|
193
197
|
request_id: request.request_id,
|
|
194
198
|
root_agent_id: request.agent.id,
|
|
195
199
|
target: { kind: "http", url: request.target_url },
|
|
196
200
|
secret_alias: request.secret_alias,
|
|
201
|
+
secret_id: secret_id?.value,
|
|
197
202
|
}));
|
|
198
|
-
await this._updateRequestRecordInternal(request, result, authorization.missing_grants);
|
|
199
203
|
return result;
|
|
200
204
|
}
|
|
201
205
|
// Proceed with dispatch
|
|
202
|
-
|
|
206
|
+
if (!secret_id) {
|
|
207
|
+
throw new VaultCoreError("secret_id required for dispatch", "VAULT_INTERNAL_ERROR");
|
|
208
|
+
}
|
|
203
209
|
const secretRecord = await this._deps.secrets.getById(secret_id);
|
|
204
210
|
if (!secretRecord) {
|
|
205
211
|
throw new VaultCoreError("secret record not found after authorization", "VAULT_INTERNAL_ERROR");
|
|
@@ -224,7 +230,7 @@ export class VaultCore {
|
|
|
224
230
|
secret_alias: request.secret_alias,
|
|
225
231
|
secret_id: secret_id.value,
|
|
226
232
|
}));
|
|
227
|
-
await this._updateRequestRecordInternal(request, result);
|
|
233
|
+
await this._updateRequestRecordInternal(request, result, secret_id);
|
|
228
234
|
return {
|
|
229
235
|
...result,
|
|
230
236
|
vault_id: this._deps.vault_id,
|
|
@@ -250,6 +256,8 @@ export class VaultCore {
|
|
|
250
256
|
await this._appendAudit(toAuditEntry(this._deps, actor, AuditOperation.DISPATCH_REJECT, "allowed", "succeeded", "dispatch rejected by owner", {
|
|
251
257
|
request_id,
|
|
252
258
|
root_agent_id: record.root_agent_id,
|
|
259
|
+
secret_alias: record.request.secret_alias,
|
|
260
|
+
secret_id: record.request.secret_id?.value,
|
|
253
261
|
}));
|
|
254
262
|
return null;
|
|
255
263
|
}
|
|
@@ -269,14 +277,14 @@ export class VaultCore {
|
|
|
269
277
|
this._deps.agent_secretGrants.upsert({
|
|
270
278
|
vault_id: this._deps.vault_id,
|
|
271
279
|
root_agent_id: record.root_agent_id,
|
|
272
|
-
|
|
280
|
+
secret_id: secret.secret_id,
|
|
273
281
|
status: "approved",
|
|
274
282
|
requested_at: now,
|
|
275
283
|
granted_at: now,
|
|
276
284
|
}),
|
|
277
285
|
this._deps.secret_destinationGrants.upsert({
|
|
278
286
|
vault_id: this._deps.vault_id,
|
|
279
|
-
|
|
287
|
+
secret_id: secret.secret_id,
|
|
280
288
|
site_id,
|
|
281
289
|
status: "approved",
|
|
282
290
|
requested_at: now,
|
|
@@ -284,11 +292,15 @@ export class VaultCore {
|
|
|
284
292
|
}),
|
|
285
293
|
]);
|
|
286
294
|
await this._appendAudit(toAuditEntry(this._deps, actor, AuditOperation.GRANT_SECRET, "allowed", "succeeded", "granted during dispatch approval", {
|
|
295
|
+
request_id,
|
|
287
296
|
root_agent_id: record.root_agent_id,
|
|
288
297
|
secret_alias: secret_alias,
|
|
298
|
+
secret_id: secret.secret_id.value,
|
|
289
299
|
}));
|
|
290
300
|
await this._appendAudit(toAuditEntry(this._deps, actor, AuditOperation.GRANT_DESTINATION, "allowed", "succeeded", "granted during dispatch approval", {
|
|
301
|
+
request_id,
|
|
291
302
|
secret_alias: secret_alias,
|
|
303
|
+
secret_id: secret.secret_id.value,
|
|
292
304
|
site_id,
|
|
293
305
|
}));
|
|
294
306
|
}
|
|
@@ -320,6 +332,8 @@ export class VaultCore {
|
|
|
320
332
|
await this._appendAudit(toAuditEntry(this._deps, actor, AuditOperation.DISPATCH_APPROVE, "allowed", "succeeded", `dispatch approved (${decision})`, {
|
|
321
333
|
request_id,
|
|
322
334
|
root_agent_id: record.root_agent_id,
|
|
335
|
+
secret_alias: record.request.secret_alias,
|
|
336
|
+
secret_id: record.request.secret_id?.value,
|
|
323
337
|
}));
|
|
324
338
|
await this._appendAudit(toAuditEntry(this._deps, { kind: "agent", id: record.root_agent_id }, AuditOperation.SECRET_DISPATCH, "allowed", result.status === DispatchStatus.SUCCEEDED ? "succeeded" : "failed", result.status === DispatchStatus.SUCCEEDED ? "dispatch completed" : (result.error ?? "dispatch failed"), {
|
|
325
339
|
request_id,
|
|
@@ -339,11 +353,10 @@ export class VaultCore {
|
|
|
339
353
|
}
|
|
340
354
|
const [agent_secrets, secret_destinations] = await Promise.all([
|
|
341
355
|
this._deps.agent_secretGrants.list(this._deps.vault_id, command.agent.id),
|
|
342
|
-
this._deps.secret_destinationGrants.list(this._deps.vault_id),
|
|
343
|
-
// For simplicity, return all destinations that mention a secret the agent has a grant for.
|
|
356
|
+
this._deps.secret_destinationGrants.list(this._deps.vault_id),
|
|
344
357
|
]);
|
|
345
|
-
const
|
|
346
|
-
const relevantDestinations = secret_destinations.filter(d =>
|
|
358
|
+
const secret_ids = new Set(agent_secrets.map(g => g.secret_id.value));
|
|
359
|
+
const relevantDestinations = secret_destinations.filter(d => secret_ids.has(d.secret_id.value));
|
|
347
360
|
return {
|
|
348
361
|
root_agent_id: command.agent.id,
|
|
349
362
|
vault_id: this._deps.vault_id.value,
|
|
@@ -365,7 +378,7 @@ export class VaultCore {
|
|
|
365
378
|
await this._verifyAgentControlProof(command, "list_secrets");
|
|
366
379
|
const records = await this._deps.secrets.list(this._deps.vault_id);
|
|
367
380
|
const grants = await this._deps.agent_secretGrants.list(this._deps.vault_id, command.agent.id);
|
|
368
|
-
const
|
|
381
|
+
const approvedSecretIds = new Set(grants.filter(g => g.status === "approved").map(g => g.secret_id.value));
|
|
369
382
|
return records.map(record => ({
|
|
370
383
|
vault_id: record.vault_id,
|
|
371
384
|
secret_id: record.secret_id,
|
|
@@ -376,7 +389,7 @@ export class VaultCore {
|
|
|
376
389
|
source: record.source,
|
|
377
390
|
created_at: record.created_at,
|
|
378
391
|
updated_at: record.updated_at,
|
|
379
|
-
granted:
|
|
392
|
+
granted: approvedSecretIds.has(record.secret_id.value),
|
|
380
393
|
}));
|
|
381
394
|
}
|
|
382
395
|
async agentListRequests(command) {
|
|
@@ -453,16 +466,29 @@ export class VaultCore {
|
|
|
453
466
|
const existing = await this._deps.secrets.getByAlias({ value: command.alias });
|
|
454
467
|
if (!existing)
|
|
455
468
|
throw new VaultCoreError("secret not found", "VAULT_SECRET_NOT_FOUND");
|
|
469
|
+
const finalAlias = command.new_alias && command.new_alias !== command.alias ? command.new_alias : command.alias;
|
|
470
|
+
const isRename = finalAlias !== command.alias;
|
|
471
|
+
if (isRename) {
|
|
472
|
+
const duplicate = await this._deps.secrets.getByAlias({ value: finalAlias });
|
|
473
|
+
if (duplicate) {
|
|
474
|
+
throw new VaultCoreError(`secret alias already exists: "${finalAlias}"`, "VAULT_ALIAS_ALREADY_EXISTS");
|
|
475
|
+
}
|
|
476
|
+
}
|
|
456
477
|
const secret_id = existing.secret_id;
|
|
457
478
|
const now = this._deps.clock.nowIso();
|
|
458
479
|
const record = {
|
|
459
480
|
...existing,
|
|
481
|
+
alias: { value: finalAlias },
|
|
460
482
|
version: this._deps.ids.newVersion(),
|
|
461
483
|
updated_at: now,
|
|
462
484
|
};
|
|
485
|
+
// No migration needed! Grants and pending requests are already tied to secret_id
|
|
486
|
+
// or resolved via alias lookup at runtime.
|
|
463
487
|
await this._deps.secrets.save(record);
|
|
464
|
-
|
|
465
|
-
|
|
488
|
+
if (command.plaintext !== undefined) {
|
|
489
|
+
await this._deps.custody.store(secret_id, command.plaintext);
|
|
490
|
+
}
|
|
491
|
+
await this._appendAudit(toAuditEntry(this._deps, command.owner, AuditOperation.SECRET_WRITE, "allowed", "succeeded", `secret updated: "${finalAlias}"`, { secret_alias: finalAlias, secret_id: secret_id.value }));
|
|
466
492
|
return record;
|
|
467
493
|
}
|
|
468
494
|
async ownerRemoveSecret(command) {
|
|
@@ -476,9 +502,7 @@ export class VaultCore {
|
|
|
476
502
|
}
|
|
477
503
|
async ownerReadAudit(actor, query) {
|
|
478
504
|
this._assertOwnerPrincipal(actor);
|
|
479
|
-
|
|
480
|
-
await this._appendAudit(toAuditEntry(this._deps, actor, AuditOperation.MANAGEMENT_READ_AUDIT, "allowed", "succeeded", "audit log accessed", { detail: JSON.stringify(query) }));
|
|
481
|
-
return entries;
|
|
505
|
+
return this._deps.audit.query(query);
|
|
482
506
|
}
|
|
483
507
|
async ownerExportSecret(actor, alias) {
|
|
484
508
|
this._assertOwnerPrincipal(actor);
|
|
@@ -499,14 +523,11 @@ export class VaultCore {
|
|
|
499
523
|
for (const st of sessionTokens) {
|
|
500
524
|
tokensByAgentId.set(st.root_agent_id, st);
|
|
501
525
|
}
|
|
502
|
-
|
|
503
|
-
await this._appendAudit(toAuditEntry(this._deps, actor, AuditOperation.MANAGEMENT_LIST_AGENTS, "allowed", "succeeded", "agent identity list accessed"));
|
|
504
|
-
return result;
|
|
526
|
+
return identities.map(id => ({ ...id, session_token: tokensByAgentId.get(id.root_agent_id) }));
|
|
505
527
|
}
|
|
506
528
|
async ownerListRequests(actor, root_agent_id) {
|
|
507
529
|
this._assertOwnerPrincipal(actor);
|
|
508
530
|
const records = await this._deps.requests.list(this._deps.vault_id, root_agent_id);
|
|
509
|
-
await this._appendAudit(toAuditEntry(this._deps, actor, AuditOperation.MANAGEMENT_LIST_REQUESTS, "allowed", "succeeded", "request list accessed"));
|
|
510
531
|
return records.map(r => this.toOwnerVisibleRequestRecord(r));
|
|
511
532
|
}
|
|
512
533
|
async ownerGetRequest(actor, request_id) {
|
|
@@ -514,14 +535,11 @@ export class VaultCore {
|
|
|
514
535
|
const record = await this._deps.requests.get(this._deps.vault_id, request_id);
|
|
515
536
|
if (!record)
|
|
516
537
|
throw new VaultCoreError("request record not found", "VAULT_REQUEST_NOT_FOUND");
|
|
517
|
-
|
|
518
|
-
await this._appendAudit(toAuditEntry(this._deps, actor, AuditOperation.MANAGEMENT_READ_REQUEST, "allowed", "succeeded", `dispatch request detailed: "${request_id}"`, { request_id }));
|
|
519
|
-
return result;
|
|
538
|
+
return this.toOwnerRequestRecord(record);
|
|
520
539
|
}
|
|
521
540
|
async ownerListSecrets(actor) {
|
|
522
541
|
this._assertOwnerPrincipal(actor);
|
|
523
542
|
const records = await this._deps.secrets.list(this._deps.vault_id);
|
|
524
|
-
await this._appendAudit(toAuditEntry(this._deps, actor, AuditOperation.MANAGEMENT_LIST_SECRETS, "allowed", "succeeded", "secret list accessed"));
|
|
525
543
|
return records.map(r => ({
|
|
526
544
|
vault_id: r.vault_id,
|
|
527
545
|
secret_id: r.secret_id,
|
|
@@ -552,10 +570,30 @@ export class VaultCore {
|
|
|
552
570
|
await this._appendAudit(toAuditEntry(this._deps, request.actor, AuditOperation.IDENTITY_REVOKE_TOKEN, "allowed", "succeeded", "session token revoked"));
|
|
553
571
|
}
|
|
554
572
|
ownerOnPendingDispatch(subscription) {
|
|
555
|
-
return this._deps.
|
|
573
|
+
return this._deps.audit.subscribe(this._deps.vault_id, {
|
|
574
|
+
operations: [AuditOperation.DISPATCH_HOLD],
|
|
575
|
+
onEvent: async (entry) => {
|
|
576
|
+
if (!entry.request_id)
|
|
577
|
+
return;
|
|
578
|
+
const record = await this._deps.requests.get(this._deps.vault_id, entry.request_id);
|
|
579
|
+
if (!record || record.execution.status !== DispatchStatus.AWAITING_APPROVAL)
|
|
580
|
+
return;
|
|
581
|
+
const pendingEventId = record.pending_dispatch_event?.event_id ?? entry.event_id;
|
|
582
|
+
if (subscription.afterEventId && pendingEventId <= subscription.afterEventId)
|
|
583
|
+
return;
|
|
584
|
+
subscription.onEvent({
|
|
585
|
+
event_id: pendingEventId,
|
|
586
|
+
emitted_at: record.pending_dispatch_event?.emitted_at ?? entry.ts,
|
|
587
|
+
record,
|
|
588
|
+
});
|
|
589
|
+
},
|
|
590
|
+
});
|
|
591
|
+
}
|
|
592
|
+
ownerOnAudit(subscription) {
|
|
593
|
+
return this._deps.audit.subscribe(this._deps.vault_id, subscription);
|
|
556
594
|
}
|
|
557
595
|
// ─── Internal Helpers ──────────────────────────────────────────────────────────
|
|
558
|
-
async _recordRequestInternal(request, status) {
|
|
596
|
+
async _recordRequestInternal(request, status, secret_id = null) {
|
|
559
597
|
const record = {
|
|
560
598
|
vault_id: this._deps.vault_id,
|
|
561
599
|
request_id: request.request_id,
|
|
@@ -569,15 +607,16 @@ export class VaultCore {
|
|
|
569
607
|
headers: request.headers,
|
|
570
608
|
body: request.body,
|
|
571
609
|
secret_alias: request.secret_alias,
|
|
610
|
+
secret_id,
|
|
572
611
|
},
|
|
573
612
|
execution: { status },
|
|
574
613
|
};
|
|
575
614
|
await this._deps.requests.save(record);
|
|
576
615
|
}
|
|
577
|
-
async _createInitialRequestRecord(request) {
|
|
578
|
-
await this._recordRequestInternal(request, DispatchStatus.IN_PROGRESS);
|
|
616
|
+
async _createInitialRequestRecord(request, secret_id = null) {
|
|
617
|
+
await this._recordRequestInternal(request, DispatchStatus.IN_PROGRESS, secret_id);
|
|
579
618
|
}
|
|
580
|
-
async _updateRequestRecordInternal(request, result, missing_grants) {
|
|
619
|
+
async _updateRequestRecordInternal(request, result, secret_id = null, missing_grants) {
|
|
581
620
|
const existing = await this._deps.requests.get(this._deps.vault_id, request.request_id);
|
|
582
621
|
const baseRecord = existing ?? {
|
|
583
622
|
vault_id: this._deps.vault_id,
|
|
@@ -592,6 +631,7 @@ export class VaultCore {
|
|
|
592
631
|
headers: request.headers,
|
|
593
632
|
body: request.body,
|
|
594
633
|
secret_alias: request.secret_alias,
|
|
634
|
+
secret_id: secret_id,
|
|
595
635
|
},
|
|
596
636
|
execution: { status: DispatchStatus.IN_PROGRESS },
|
|
597
637
|
};
|
|
@@ -628,6 +668,7 @@ export class VaultCore {
|
|
|
628
668
|
response_status: record.response?.status,
|
|
629
669
|
error: record.response?.error,
|
|
630
670
|
has_response_body: !!record.response?.body,
|
|
671
|
+
secret_id: record.request.secret_id ?? undefined,
|
|
631
672
|
};
|
|
632
673
|
}
|
|
633
674
|
toOwnerVisibleRequestRecord(record) {
|
|
@@ -642,6 +683,7 @@ export class VaultCore {
|
|
|
642
683
|
error: record.response?.error,
|
|
643
684
|
has_response_body: !!record.response?.body,
|
|
644
685
|
missing_grants: record.missing_grants,
|
|
686
|
+
secret_id: record.request.secret_id ?? undefined,
|
|
645
687
|
};
|
|
646
688
|
}
|
|
647
689
|
toOwnerRequestRecord(record) {
|
|
@@ -657,10 +699,41 @@ export class VaultCore {
|
|
|
657
699
|
headers: record.request.headers,
|
|
658
700
|
body: record.request.body,
|
|
659
701
|
secret_alias: record.request.secret_alias,
|
|
702
|
+
secret_id: record.request.secret_id ?? undefined,
|
|
660
703
|
},
|
|
661
|
-
response: record.response
|
|
704
|
+
response: record.response ? {
|
|
705
|
+
status: record.response.status,
|
|
706
|
+
headers: record.response.headers,
|
|
707
|
+
body: record.response.body,
|
|
708
|
+
error: record.response.error,
|
|
709
|
+
} : undefined,
|
|
662
710
|
execution_status: record.execution.status,
|
|
663
711
|
missing_grants: record.missing_grants,
|
|
712
|
+
secret_id: record.request.secret_id ?? undefined,
|
|
713
|
+
};
|
|
714
|
+
}
|
|
715
|
+
toAgentRequestRecord(record) {
|
|
716
|
+
return {
|
|
717
|
+
request_id: record.request_id,
|
|
718
|
+
created_at: record.created_at,
|
|
719
|
+
requested_at: record.requested_at,
|
|
720
|
+
reason: record.reason,
|
|
721
|
+
request: {
|
|
722
|
+
target_url: record.request.target_url,
|
|
723
|
+
method: record.request.method,
|
|
724
|
+
headers: record.request.headers,
|
|
725
|
+
body: record.request.body,
|
|
726
|
+
secret_alias: record.request.secret_alias,
|
|
727
|
+
secret_id: record.request.secret_id ?? undefined,
|
|
728
|
+
},
|
|
729
|
+
response: record.response ? {
|
|
730
|
+
status: record.response.status,
|
|
731
|
+
headers: record.response.headers,
|
|
732
|
+
body: record.response.body,
|
|
733
|
+
error: record.response.error,
|
|
734
|
+
} : undefined,
|
|
735
|
+
execution_status: record.execution.status,
|
|
736
|
+
secret_id: record.request.secret_id ?? undefined,
|
|
664
737
|
};
|
|
665
738
|
}
|
|
666
739
|
}
|
|
@@ -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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"}
|