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