@the-ai-company/cbio-node-runtime 1.62.1 → 1.63.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 +6 -11
- package/dist/clients/owner/client.d.ts +0 -1
- package/dist/clients/owner/client.js +2 -10
- package/dist/clients/owner/client.js.map +1 -1
- package/dist/clients/owner/contracts.d.ts +2 -3
- package/dist/vault-core/contracts.d.ts +18 -28
- package/dist/vault-core/contracts.js.map +1 -1
- package/dist/vault-core/core.d.ts +0 -1
- package/dist/vault-core/core.js +72 -104
- package/dist/vault-core/core.js.map +1 -1
- package/dist/vault-core/defaults.d.ts +2 -1
- package/dist/vault-core/defaults.js +4 -0
- package/dist/vault-core/defaults.js.map +1 -1
- package/dist/vault-core/index.d.ts +1 -1
- package/dist/vault-core/index.js.map +1 -1
- package/dist/vault-core/ports.d.ts +2 -1
- package/dist/vault-ingress/index.d.ts +2 -8
- package/dist/vault-ingress/index.js +1 -6
- package/dist/vault-ingress/index.js.map +1 -1
- package/docs/REFERENCE.md +4 -6
- package/docs/api/README.md +2 -2
- package/docs/api/classes/IdentityError.md +1 -1
- package/docs/api/classes/OwnerClientError.md +1 -1
- package/docs/api/classes/VaultCore.md +1 -17
- package/docs/api/classes/VaultCoreError.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/createOwnerHttpFlowBoundary.md +1 -1
- package/docs/api/functions/createOwnerSession.md +1 -1
- package/docs/api/functions/createPersistentVaultCoreDependencies.md +1 -1
- package/docs/api/functions/createStandardAcquireBoundary.md +1 -1
- package/docs/api/functions/createStandardDispatchBoundary.md +1 -1
- package/docs/api/functions/createVault.md +1 -1
- package/docs/api/functions/createVaultClient.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/deriveIdentityId.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/handleVaultHttpDispatch.md +1 -1
- package/docs/api/functions/initializeVaultCustody.md +1 -1
- package/docs/api/functions/listVaults.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/wrapVaultCoreAsVaultService.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/AgentSigner.md +1 -1
- package/docs/api/interfaces/AgentSubmitCapabilityRequestInput.md +1 -1
- package/docs/api/interfaces/CbioRuntime.md +1 -1
- package/docs/api/interfaces/CreateAgentClientOptions.md +1 -1
- package/docs/api/interfaces/CreateIdentityOptions.md +1 -1
- package/docs/api/interfaces/CreateOwnerSessionOptions.md +1 -1
- package/docs/api/interfaces/CreatePersistentVaultCoreDependenciesOptions.md +1 -1
- package/docs/api/interfaces/CreateVaultClientOptions.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 -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/OwnerAgentProvisionResult.md +1 -1
- package/docs/api/interfaces/OwnerCreateSecretInput.md +1 -1
- package/docs/api/interfaces/OwnerRemoveSecretInput.md +1 -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 +1 -1
- package/docs/api/interfaces/RecoverVaultOptions.md +1 -1
- package/docs/api/interfaces/RecoveredVault.md +1 -1
- package/docs/api/interfaces/RestoreIdentityOptions.md +1 -1
- package/docs/api/interfaces/Signer.md +1 -1
- package/docs/api/interfaces/VaultApproveCapabilityRequestInput.md +1 -1
- package/docs/api/interfaces/VaultApproveDispatchInput.md +1 -1
- package/docs/api/interfaces/VaultAuditQueryInput.md +1 -1
- package/docs/api/interfaces/VaultClient.md +1 -17
- 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/VaultGrantCapabilityInput.md +1 -1
- package/docs/api/interfaces/VaultGrantCapabilityRequest.md +1 -1
- package/docs/api/interfaces/VaultIdentity.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/VaultListCapabilitiesInput.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/VaultProfile.md +1 -1
- package/docs/api/interfaces/VaultReadAgentPrivateKeyInput.md +1 -1
- package/docs/api/interfaces/VaultReadSecretPlaintextInput.md +1 -1
- package/docs/api/interfaces/VaultRegisterFlowInput.md +1 -1
- package/docs/api/interfaces/VaultRevokeCapabilityInput.md +1 -1
- package/docs/api/interfaces/VaultRevokeSessionTokenInput.md +1 -1
- package/docs/api/interfaces/VaultSigner.md +1 -1
- package/docs/api/interfaces/VaultSubmitCapabilityRequestInput.md +1 -1
- package/docs/api/interfaces/VaultUpdateAgentInput.md +1 -1
- package/docs/api/type-aliases/AgentCapabilityEnvelope.md +1 -1
- package/docs/api/type-aliases/AgentVisibleSecretRecord.md +1 -1
- package/docs/api/type-aliases/CbioRuntimeModule.md +1 -1
- package/docs/api/type-aliases/OwnerGrantCapabilityInput.md +1 -1
- package/docs/api/variables/DEFAULT_VAULT_KEY_CUSTODY_BLOB_KEY.md +1 -1
- package/docs/zh/README.md +2 -5
- package/package.json +1 -1
package/dist/vault-core/core.js
CHANGED
|
@@ -117,9 +117,7 @@ export class VaultCore {
|
|
|
117
117
|
scope: state.write.scope,
|
|
118
118
|
methods: [...state.write.methods],
|
|
119
119
|
},
|
|
120
|
-
read: state.
|
|
121
|
-
? { paths: [...state.read.paths] }
|
|
122
|
-
: { paths: [] },
|
|
120
|
+
read: { paths: [...(state.readGrant ?? [])] },
|
|
123
121
|
issuedAt: state.issuedAt ?? state.requestedAt,
|
|
124
122
|
expiresAt: state.expiresAt,
|
|
125
123
|
rateLimit: state.rateLimit,
|
|
@@ -147,13 +145,13 @@ export class VaultCore {
|
|
|
147
145
|
expiresAt: state.expiresAt,
|
|
148
146
|
rateLimit: state.rateLimit,
|
|
149
147
|
skipAudit: state.skipAudit,
|
|
148
|
+
writeGrant: state.writeGrant,
|
|
149
|
+
writeGrantedAt: state.writeGrantedAt,
|
|
150
|
+
readGrant: state.readGrant ? [...state.readGrant] : null,
|
|
151
|
+
readGrantedAt: state.readGrantedAt,
|
|
150
152
|
reason: state.reason,
|
|
151
153
|
secretId: state.secretId,
|
|
152
154
|
targetUrl: state.targetUrl,
|
|
153
|
-
actions: {
|
|
154
|
-
write: { ...state.actions.write },
|
|
155
|
-
read: { ...state.actions.read },
|
|
156
|
-
},
|
|
157
155
|
}));
|
|
158
156
|
}
|
|
159
157
|
_isExecutablePendingState(state) {
|
|
@@ -177,8 +175,8 @@ export class VaultCore {
|
|
|
177
175
|
if (!pending) {
|
|
178
176
|
throw new VaultCoreError("capability action record not found", "VAULT_REQUEST_NOT_FOUND");
|
|
179
177
|
}
|
|
180
|
-
if (pending.
|
|
181
|
-
throw new VaultCoreError("write
|
|
178
|
+
if (pending.writeGrant !== "once" && pending.writeGrant !== "always") {
|
|
179
|
+
throw new VaultCoreError("write grant required before execution", "VAULT_WRITE_DENIED");
|
|
182
180
|
}
|
|
183
181
|
if (mode === "once" && pending.source !== "dispatch_discovery") {
|
|
184
182
|
throw new VaultCoreError("one-time execution is only available for dispatch discovery requests", "VAULT_WRITE_DENIED");
|
|
@@ -195,9 +193,7 @@ export class VaultCore {
|
|
|
195
193
|
scope: pending.targetUrl ?? pending.write.scope,
|
|
196
194
|
methods: [...pending.write.methods],
|
|
197
195
|
},
|
|
198
|
-
read: {
|
|
199
|
-
paths: [...pending.read.paths],
|
|
200
|
-
},
|
|
196
|
+
read: { paths: [...(pending.readGrant ?? [])] },
|
|
201
197
|
issuedAt,
|
|
202
198
|
expiresAt: pending.expiresAt,
|
|
203
199
|
rateLimit: pending.rateLimit,
|
|
@@ -240,6 +236,8 @@ export class VaultCore {
|
|
|
240
236
|
source: "owner_grant",
|
|
241
237
|
issuedAt,
|
|
242
238
|
decidedAt: issuedAt,
|
|
239
|
+
writeGrant: "always",
|
|
240
|
+
writeGrantedAt: pending.writeGrantedAt ?? issuedAt,
|
|
243
241
|
});
|
|
244
242
|
}
|
|
245
243
|
else {
|
|
@@ -297,7 +295,7 @@ export class VaultCore {
|
|
|
297
295
|
}
|
|
298
296
|
async _listVisibleSecretsForAgent(agentId) {
|
|
299
297
|
const capabilities = (await this._deps.capabilityStates.list(this._deps.vaultId, agentId))
|
|
300
|
-
.filter((state) => !!state.capabilityId && !!state.issuedAt && state.
|
|
298
|
+
.filter((state) => !!state.capabilityId && !!state.issuedAt && state.writeGrant === "always")
|
|
301
299
|
.map((state) => this._stateToGrantedCapability(state));
|
|
302
300
|
const capabilityMap = new Map();
|
|
303
301
|
for (const capability of capabilities) {
|
|
@@ -362,7 +360,7 @@ export class VaultCore {
|
|
|
362
360
|
});
|
|
363
361
|
}
|
|
364
362
|
toVisibleRequestRecord(record, state) {
|
|
365
|
-
const
|
|
363
|
+
const readGrant = state?.readGrant ?? null;
|
|
366
364
|
return {
|
|
367
365
|
requestId: record.requestId,
|
|
368
366
|
createdAt: record.createdAt,
|
|
@@ -374,9 +372,9 @@ export class VaultCore {
|
|
|
374
372
|
executionStatus: record.execution.status,
|
|
375
373
|
responseStatus: record.response?.status,
|
|
376
374
|
error: record.response?.error,
|
|
377
|
-
|
|
375
|
+
readGrant,
|
|
378
376
|
hasResponseBody: typeof record.response?.body === "string" && record.response.body.length > 0,
|
|
379
|
-
resultVisible:
|
|
377
|
+
resultVisible: typeof record.response?.body === "string" && record.response.body.length > 0,
|
|
380
378
|
};
|
|
381
379
|
}
|
|
382
380
|
toOwnerVisibleRequestRecord(record, state) {
|
|
@@ -392,8 +390,8 @@ export class VaultCore {
|
|
|
392
390
|
executionStatus: record.execution.status,
|
|
393
391
|
responseStatus: record.response?.status,
|
|
394
392
|
error: record.response?.error,
|
|
395
|
-
|
|
396
|
-
|
|
393
|
+
writeGrant: state?.writeGrant ?? null,
|
|
394
|
+
readGrant: state?.readGrant ?? null,
|
|
397
395
|
hasResponseBody: typeof record.response?.body === "string" && record.response.body.length > 0,
|
|
398
396
|
};
|
|
399
397
|
}
|
|
@@ -420,10 +418,10 @@ export class VaultCore {
|
|
|
420
418
|
error: record.response.error,
|
|
421
419
|
}
|
|
422
420
|
: undefined,
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
421
|
+
writeGrant: state?.writeGrant ?? null,
|
|
422
|
+
writeGrantedAt: state?.writeGrantedAt,
|
|
423
|
+
readGrant: state?.readGrant ?? null,
|
|
424
|
+
readGrantedAt: state?.readGrantedAt,
|
|
427
425
|
executionStatus: record.execution.status,
|
|
428
426
|
};
|
|
429
427
|
}
|
|
@@ -500,10 +498,10 @@ export class VaultCore {
|
|
|
500
498
|
source: "owner_grant",
|
|
501
499
|
requestId: undefined,
|
|
502
500
|
requestedAt: command.capability.issuedAt,
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
501
|
+
writeGrant: "always",
|
|
502
|
+
writeGrantedAt: command.capability.issuedAt,
|
|
503
|
+
readGrant: [...command.capability.read.paths],
|
|
504
|
+
readGrantedAt: command.capability.issuedAt,
|
|
507
505
|
});
|
|
508
506
|
await this._appendAudit(toAuditEntry(this._deps, command.owner, AuditAction.REGISTER_CAPABILITY, AuditOutcome.SUCCEEDED, `capability registered: ${command.capability.capabilityId}`, {
|
|
509
507
|
capabilityId: command.capability.capabilityId,
|
|
@@ -551,10 +549,8 @@ export class VaultCore {
|
|
|
551
549
|
expiresAt: command.capability.expiresAt,
|
|
552
550
|
reason: command.reason,
|
|
553
551
|
requestedAt: command.requestedAt,
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
read: { action: "read", status: "PENDING" },
|
|
557
|
-
},
|
|
552
|
+
writeGrant: null,
|
|
553
|
+
readGrant: null,
|
|
558
554
|
};
|
|
559
555
|
await this._deps.capabilityStates.upsert(pendingRecord);
|
|
560
556
|
for (const observer of this._capabilityStateObservers) {
|
|
@@ -577,7 +573,7 @@ export class VaultCore {
|
|
|
577
573
|
throw new VaultCoreError("capability lookup vault mismatch", "VAULT_IDENTITY_DENIED");
|
|
578
574
|
}
|
|
579
575
|
const state = await this._deps.capabilityStates.getByCapabilityId(vaultId, agentId, capabilityId);
|
|
580
|
-
return state && state.capabilityId && state.issuedAt && state.
|
|
576
|
+
return state && state.capabilityId && state.issuedAt && state.writeGrant === "always"
|
|
581
577
|
? this._stateToGrantedCapability(state)
|
|
582
578
|
: null;
|
|
583
579
|
}
|
|
@@ -823,7 +819,7 @@ export class VaultCore {
|
|
|
823
819
|
return { vaultId: this._deps.vaultId, decision: "deny", reason: "agent not found", secretId: null };
|
|
824
820
|
}
|
|
825
821
|
const capabilities = (await this._deps.capabilityStates.list(this._deps.vaultId, request.agent.id))
|
|
826
|
-
.filter((state) => !!state.capabilityId && !!state.issuedAt && state.
|
|
822
|
+
.filter((state) => !!state.capabilityId && !!state.issuedAt && state.writeGrant === "always")
|
|
827
823
|
.map((state) => this._stateToGrantedCapability(state));
|
|
828
824
|
const requestedCapabilityId = request.capability?.capabilityId;
|
|
829
825
|
const candidateCapabilities = requestedCapabilityId
|
|
@@ -854,10 +850,8 @@ export class VaultCore {
|
|
|
854
850
|
headers: request.headers,
|
|
855
851
|
body: request.body,
|
|
856
852
|
proof: request.proof,
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
read: { action: "read", status: "PENDING" },
|
|
860
|
-
},
|
|
853
|
+
writeGrant: null,
|
|
854
|
+
readGrant: null,
|
|
861
855
|
};
|
|
862
856
|
await this._deps.capabilityStates.upsert(pendingRecord);
|
|
863
857
|
// Notify observers
|
|
@@ -1017,14 +1011,24 @@ export class VaultCore {
|
|
|
1017
1011
|
}
|
|
1018
1012
|
async ownerListAgents(actor, request) {
|
|
1019
1013
|
const identities = await this._deps.agentIdentities.list(this._deps.vaultId);
|
|
1014
|
+
const sessionTokens = await this._deps.sessionTokens.list();
|
|
1015
|
+
const sessionTokensByAgentId = new Map();
|
|
1016
|
+
for (const token of sessionTokens) {
|
|
1017
|
+
const existing = sessionTokensByAgentId.get(token.agentId) ?? [];
|
|
1018
|
+
existing.push(token);
|
|
1019
|
+
sessionTokensByAgentId.set(token.agentId, existing);
|
|
1020
|
+
}
|
|
1020
1021
|
await this._appendAudit(toAuditEntry(this._deps, actor, AuditAction.LIST_AGENTS, AuditOutcome.ALLOWED, "agent identities listed", {
|
|
1021
1022
|
requestId: request?.requestId,
|
|
1022
1023
|
}));
|
|
1023
|
-
return identities
|
|
1024
|
+
return identities.map((identity) => ({
|
|
1025
|
+
...identity,
|
|
1026
|
+
sessionTokens: sessionTokensByAgentId.get(identity.agentId) ?? [],
|
|
1027
|
+
}));
|
|
1024
1028
|
}
|
|
1025
1029
|
async ownerListCapabilities(actor, agentId, request) {
|
|
1026
1030
|
const capabilities = (await this._deps.capabilityStates.list(this._deps.vaultId, agentId))
|
|
1027
|
-
.filter((state) => !!state.capabilityId && !!state.issuedAt && state.
|
|
1031
|
+
.filter((state) => !!state.capabilityId && !!state.issuedAt && state.writeGrant === "always")
|
|
1028
1032
|
.map((state) => this._stateToGrantedCapability(state));
|
|
1029
1033
|
await this._appendAudit(toAuditEntry(this._deps, actor, AuditAction.LIST_CAPABILITIES, AuditOutcome.ALLOWED, "capabilities listed", {
|
|
1030
1034
|
requestId: request?.requestId,
|
|
@@ -1101,10 +1105,7 @@ export class VaultCore {
|
|
|
1101
1105
|
throw new VaultCoreError("request record not found", "VAULT_READ_DENIED");
|
|
1102
1106
|
}
|
|
1103
1107
|
const state = await this._resolveRequestState(record);
|
|
1104
|
-
const
|
|
1105
|
-
const responseBody = readApproved
|
|
1106
|
-
? applyResponseReadPolicy(record.response?.body, state?.read ?? { paths: [] })
|
|
1107
|
-
: undefined;
|
|
1108
|
+
const responseBody = applyResponseReadPolicy(record.response?.body, { paths: [...(state?.readGrant ?? [])] });
|
|
1108
1109
|
return {
|
|
1109
1110
|
requestId: record.requestId,
|
|
1110
1111
|
executionStatus: record.execution.status,
|
|
@@ -1172,10 +1173,10 @@ export class VaultCore {
|
|
|
1172
1173
|
await this._deps.capabilityStates.upsert({
|
|
1173
1174
|
...existing,
|
|
1174
1175
|
decidedAt,
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1176
|
+
writeGrant: "none",
|
|
1177
|
+
writeGrantedAt: decidedAt,
|
|
1178
|
+
readGrant: [],
|
|
1179
|
+
readGrantedAt: decidedAt,
|
|
1179
1180
|
});
|
|
1180
1181
|
await this._appendAudit(toAuditEntry(this._deps, command.owner, AuditAction.REVOKE_CAPABILITY, AuditOutcome.SUCCEEDED, "capability revoked", {
|
|
1181
1182
|
requestId: command.requestId,
|
|
@@ -1227,10 +1228,10 @@ export class VaultCore {
|
|
|
1227
1228
|
throw new VaultCoreError("read vault mismatch", "VAULT_READ_DENIED");
|
|
1228
1229
|
}
|
|
1229
1230
|
return (await this._deps.capabilityStates.list(command.vaultId, command.agentId))
|
|
1230
|
-
.filter((state) =>
|
|
1231
|
-
.filter((state) =>
|
|
1231
|
+
.filter((state) => command.writeGranted === undefined || (command.writeGranted ? state.writeGrant != null : state.writeGrant == null))
|
|
1232
|
+
.filter((state) => command.readGranted === undefined || (command.readGranted ? state.readGrant != null : state.readGrant == null));
|
|
1232
1233
|
}
|
|
1233
|
-
async
|
|
1234
|
+
async ownerApproveCapabilityRead(command) {
|
|
1234
1235
|
if (command.vaultId.value !== this._deps.vaultId.value) {
|
|
1235
1236
|
throw new VaultCoreError("write vault mismatch", "VAULT_WRITE_DENIED");
|
|
1236
1237
|
}
|
|
@@ -1238,72 +1239,43 @@ export class VaultCore {
|
|
|
1238
1239
|
if (!pending) {
|
|
1239
1240
|
throw new VaultCoreError("capability action record not found", "VAULT_REQUEST_NOT_FOUND");
|
|
1240
1241
|
}
|
|
1241
|
-
if (pending.
|
|
1242
|
-
throw new VaultCoreError("write
|
|
1242
|
+
if (pending.writeGrant == null) {
|
|
1243
|
+
throw new VaultCoreError("write decision required before read grant", "VAULT_WRITE_DENIED");
|
|
1244
|
+
}
|
|
1245
|
+
if (pending.readGrant != null) {
|
|
1246
|
+
throw new VaultCoreError("read grant already decided", "VAULT_WRITE_DENIED");
|
|
1243
1247
|
}
|
|
1244
1248
|
const decidedAt = this._deps.clock.nowIso();
|
|
1245
1249
|
const next = {
|
|
1246
1250
|
...pending,
|
|
1251
|
+
readGrant: [...(command.read?.paths ?? [])],
|
|
1252
|
+
readGrantedAt: decidedAt,
|
|
1247
1253
|
decidedAt,
|
|
1248
|
-
actions: {
|
|
1249
|
-
...pending.actions,
|
|
1250
|
-
write: {
|
|
1251
|
-
action: "write",
|
|
1252
|
-
status: "APPROVED",
|
|
1253
|
-
decidedAt,
|
|
1254
|
-
},
|
|
1255
|
-
},
|
|
1256
1254
|
};
|
|
1257
1255
|
await this._deps.capabilityStates.upsert(next);
|
|
1258
|
-
await this._appendAudit(toAuditEntry(this._deps, command.owner, AuditAction.
|
|
1256
|
+
await this._appendAudit(toAuditEntry(this._deps, command.owner, AuditAction.APPROVE_CAPABILITY_READ, AuditOutcome.SUCCEEDED, `approved read policy for capability request ${command.requestId}`, {
|
|
1259
1257
|
requestId: command.requestId,
|
|
1260
1258
|
agentId: pending.agentId,
|
|
1261
1259
|
operation: pending.operation,
|
|
1262
1260
|
}));
|
|
1263
1261
|
return next;
|
|
1264
1262
|
}
|
|
1265
|
-
async
|
|
1266
|
-
if (command.vaultId.value !== this._deps.vaultId.value) {
|
|
1267
|
-
throw new VaultCoreError("write vault mismatch", "VAULT_WRITE_DENIED");
|
|
1268
|
-
}
|
|
1263
|
+
async ownerAllowOnce(command) {
|
|
1269
1264
|
const pending = await this._deps.capabilityStates.getByRequestId(command.vaultId, command.requestId);
|
|
1270
1265
|
if (!pending) {
|
|
1271
1266
|
throw new VaultCoreError("capability action record not found", "VAULT_REQUEST_NOT_FOUND");
|
|
1272
1267
|
}
|
|
1273
|
-
if (pending.actions.write.status !== "APPROVED") {
|
|
1274
|
-
throw new VaultCoreError("write approval required before read approval", "VAULT_WRITE_DENIED");
|
|
1275
|
-
}
|
|
1276
|
-
if (pending.actions.read.status !== "PENDING") {
|
|
1277
|
-
throw new VaultCoreError("read approval not pending", "VAULT_WRITE_DENIED");
|
|
1278
|
-
}
|
|
1279
1268
|
const decidedAt = this._deps.clock.nowIso();
|
|
1280
|
-
|
|
1281
|
-
...pending,
|
|
1282
|
-
read: command.read
|
|
1283
|
-
? { paths: [...command.read.paths] }
|
|
1284
|
-
: pending.read,
|
|
1285
|
-
decidedAt,
|
|
1286
|
-
actions: {
|
|
1287
|
-
...pending.actions,
|
|
1288
|
-
read: {
|
|
1289
|
-
action: "read",
|
|
1290
|
-
status: "APPROVED",
|
|
1291
|
-
decidedAt,
|
|
1292
|
-
},
|
|
1293
|
-
},
|
|
1294
|
-
};
|
|
1295
|
-
await this._deps.capabilityStates.upsert(next);
|
|
1296
|
-
await this._appendAudit(toAuditEntry(this._deps, command.owner, AuditAction.APPROVE_CAPABILITY_READ, AuditOutcome.SUCCEEDED, `approved read policy for capability request ${command.requestId}`, {
|
|
1297
|
-
requestId: command.requestId,
|
|
1298
|
-
agentId: pending.agentId,
|
|
1299
|
-
operation: pending.operation,
|
|
1300
|
-
}));
|
|
1301
|
-
return next;
|
|
1302
|
-
}
|
|
1303
|
-
async ownerAllowOnce(command) {
|
|
1269
|
+
await this._deps.capabilityStates.upsert({ ...pending, writeGrant: "once", writeGrantedAt: decidedAt, decidedAt });
|
|
1304
1270
|
return this._executePendingCapabilityState(command, "once");
|
|
1305
1271
|
}
|
|
1306
1272
|
async ownerAllowAlways(command) {
|
|
1273
|
+
const pending = await this._deps.capabilityStates.getByRequestId(command.vaultId, command.requestId);
|
|
1274
|
+
if (!pending) {
|
|
1275
|
+
throw new VaultCoreError("capability action record not found", "VAULT_REQUEST_NOT_FOUND");
|
|
1276
|
+
}
|
|
1277
|
+
const decidedAt = this._deps.clock.nowIso();
|
|
1278
|
+
await this._deps.capabilityStates.upsert({ ...pending, writeGrant: "always", writeGrantedAt: decidedAt, decidedAt });
|
|
1307
1279
|
return this._executePendingCapabilityState(command, "grant");
|
|
1308
1280
|
}
|
|
1309
1281
|
async ownerDeny(command) {
|
|
@@ -1315,22 +1287,18 @@ export class VaultCore {
|
|
|
1315
1287
|
throw new VaultCoreError("capability action record not found", "VAULT_REQUEST_NOT_FOUND");
|
|
1316
1288
|
}
|
|
1317
1289
|
const decidedAt = this._deps.clock.nowIso();
|
|
1318
|
-
const rejectWrite = pending.
|
|
1319
|
-
const rejectRead = !rejectWrite && pending.
|
|
1290
|
+
const rejectWrite = pending.writeGrant == null;
|
|
1291
|
+
const rejectRead = !rejectWrite && pending.readGrant == null;
|
|
1320
1292
|
if (!rejectWrite && !rejectRead) {
|
|
1321
1293
|
throw new VaultCoreError("no capability action approval is pending", "VAULT_WRITE_DENIED");
|
|
1322
1294
|
}
|
|
1323
1295
|
const rejectedState = {
|
|
1324
1296
|
...pending,
|
|
1325
1297
|
decidedAt,
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
read: rejectRead
|
|
1331
|
-
? { action: "read", status: "REJECTED", decidedAt }
|
|
1332
|
-
: { ...pending.actions.read },
|
|
1333
|
-
},
|
|
1298
|
+
writeGrant: rejectWrite ? "none" : pending.writeGrant,
|
|
1299
|
+
writeGrantedAt: rejectWrite ? decidedAt : pending.writeGrantedAt,
|
|
1300
|
+
readGrant: rejectRead ? [] : pending.readGrant,
|
|
1301
|
+
readGrantedAt: rejectRead ? decidedAt : pending.readGrantedAt,
|
|
1334
1302
|
};
|
|
1335
1303
|
await this._deps.capabilityStates.upsert(rejectedState);
|
|
1336
1304
|
await this._appendAudit(toAuditEntry(this._deps, command.owner, rejectWrite ? AuditAction.REJECT_CAPABILITY_WRITE : AuditAction.REJECT_CAPABILITY_READ, AuditOutcome.SUCCEEDED, `rejected capability request ${command.requestId}`, {
|
|
@@ -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,4 +1,4 @@
|
|
|
1
|
-
import type { CapabilityStateRecord, AgentIdentityRecord, AuditEntry, AuditQuery, CustomHttpFlowDefinition, DispatchInstruction, DispatchRequest, DispatchResult, RequestRecord, SecretAlias, SecretId, SecretRecord, VaultId } from "./contracts.js";
|
|
1
|
+
import type { CapabilityStateRecord, AgentIdentityRecord, AuditEntry, AuditQuery, CustomHttpFlowDefinition, DispatchInstruction, DispatchRequest, DispatchResult, RequestRecord, SecretAlias, SecretId, SecretRecord, VaultId, StoredSessionToken } from "./contracts.js";
|
|
2
2
|
import type { AuditLog, CapabilityRevocationRegistry, CustomHttpFlowRegistry, PolicyEngine, RateLimitStore, TrustedExecutor, VaultCoreDependencies } from "./ports.js";
|
|
3
3
|
import { AgentIdentityRegistry, AgentProofVerifier, CapabilityStateRegistry, Clock, IdGenerator, ISessionTokenRegistry, RequestRecordRegistry, ReplayGuard, SecretCustody, SecretRepository } from "./ports.js";
|
|
4
4
|
export interface DefaultPolicyEngineOptions {
|
|
@@ -130,6 +130,7 @@ export declare class InMemorySessionTokenRegistry implements ISessionTokenRegist
|
|
|
130
130
|
issue(agentId: string): Promise<string>;
|
|
131
131
|
verify(token: string, agentId: string): Promise<boolean>;
|
|
132
132
|
revoke(token: string): Promise<void>;
|
|
133
|
+
list(agentId?: string): Promise<readonly StoredSessionToken[]>;
|
|
133
134
|
}
|
|
134
135
|
export interface SignatureAgentProofVerifierOptions {
|
|
135
136
|
maxSkewMs?: number;
|