@the-ai-company/cbio-node-runtime 1.48.5 → 1.49.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 (126) hide show
  1. package/README.md +40 -25
  2. package/dist/clients/agent/client.d.ts +8 -6
  3. package/dist/clients/agent/client.js +67 -49
  4. package/dist/clients/agent/client.js.map +1 -1
  5. package/dist/clients/agent/contracts.d.ts +13 -1
  6. package/dist/clients/agent/index.d.ts +1 -1
  7. package/dist/clients/owner/client.d.ts +20 -14
  8. package/dist/clients/owner/client.js +140 -50
  9. package/dist/clients/owner/client.js.map +1 -1
  10. package/dist/clients/owner/contracts.d.ts +58 -26
  11. package/dist/clients/owner/index.d.ts +1 -1
  12. package/dist/runtime/index.d.ts +4 -3
  13. package/dist/runtime/index.js +5 -1
  14. package/dist/runtime/index.js.map +1 -1
  15. package/dist/vault-core/contracts.d.ts +90 -3
  16. package/dist/vault-core/contracts.js +3 -0
  17. package/dist/vault-core/contracts.js.map +1 -1
  18. package/dist/vault-core/core.d.ts +44 -25
  19. package/dist/vault-core/core.js +290 -73
  20. package/dist/vault-core/core.js.map +1 -1
  21. package/dist/vault-core/defaults.d.ts +9 -1
  22. package/dist/vault-core/defaults.js +39 -6
  23. package/dist/vault-core/defaults.js.map +1 -1
  24. package/dist/vault-core/index.d.ts +3 -3
  25. package/dist/vault-core/index.js +1 -1
  26. package/dist/vault-core/index.js.map +1 -1
  27. package/dist/vault-core/persistence.d.ts +1 -0
  28. package/dist/vault-core/persistence.js +7 -1
  29. package/dist/vault-core/persistence.js.map +1 -1
  30. package/dist/vault-core/ports.d.ts +8 -0
  31. package/dist/vault-ingress/defaults.d.ts +4 -1
  32. package/dist/vault-ingress/defaults.js +12 -3
  33. package/dist/vault-ingress/defaults.js.map +1 -1
  34. package/dist/vault-ingress/index.d.ts +137 -21
  35. package/dist/vault-ingress/index.js +156 -46
  36. package/dist/vault-ingress/index.js.map +1 -1
  37. package/dist/vault-ingress/remote-transport.d.ts +7 -2
  38. package/dist/vault-ingress/remote-transport.js +61 -3
  39. package/dist/vault-ingress/remote-transport.js.map +1 -1
  40. package/dist/vault-ingress/server-utils.d.ts +2 -1
  41. package/dist/vault-ingress/server-utils.js +42 -1
  42. package/dist/vault-ingress/server-utils.js.map +1 -1
  43. package/docs/REFERENCE.md +46 -17
  44. package/docs/api/README.md +10 -3
  45. package/docs/api/classes/IdentityError.md +1 -1
  46. package/docs/api/classes/VaultCore.md +258 -102
  47. package/docs/api/classes/VaultCoreError.md +1 -1
  48. package/docs/api/enumerations/IdentityErrorCode.md +1 -1
  49. package/docs/api/functions/createAgentClient.md +1 -1
  50. package/docs/api/functions/createIdentity.md +1 -1
  51. package/docs/api/functions/createOwnerHttpFlowBoundary.md +1 -1
  52. package/docs/api/functions/createPersistentVaultCoreDependencies.md +1 -1
  53. package/docs/api/functions/createStandardAcquireBoundary.md +1 -1
  54. package/docs/api/functions/createStandardDispatchBoundary.md +1 -1
  55. package/docs/api/functions/createVault.md +1 -1
  56. package/docs/api/functions/createVaultClient.md +1 -1
  57. package/docs/api/functions/createVaultCore.md +1 -1
  58. package/docs/api/functions/createVaultCoreDependencies.md +1 -1
  59. package/docs/api/functions/createVaultService.md +1 -1
  60. package/docs/api/functions/createWorkspaceStorage.md +1 -1
  61. package/docs/api/functions/deriveIdentityId.md +1 -1
  62. package/docs/api/functions/deriveVaultWorkingKeyFromPassword.md +1 -1
  63. package/docs/api/functions/getDefaultWorkspaceDir.md +1 -1
  64. package/docs/api/functions/handleVaultAgentControlHttp.md +21 -0
  65. package/docs/api/functions/handleVaultHttpDispatch.md +1 -1
  66. package/docs/api/functions/initializeVaultCustody.md +1 -1
  67. package/docs/api/functions/listVaults.md +1 -1
  68. package/docs/api/functions/readVaultProfile.md +1 -1
  69. package/docs/api/functions/recoverVault.md +1 -1
  70. package/docs/api/functions/recoverVaultWorkingKey.md +1 -1
  71. package/docs/api/functions/restoreIdentity.md +1 -1
  72. package/docs/api/functions/updateVaultMetadata.md +1 -1
  73. package/docs/api/functions/wrapVaultCoreAsVaultService.md +1 -1
  74. package/docs/api/functions/writeVaultProfile.md +1 -1
  75. package/docs/api/interfaces/AgentClient.md +41 -5
  76. package/docs/api/interfaces/AgentDispatchIntent.md +1 -1
  77. package/docs/api/interfaces/AgentDispatchTransport.md +51 -3
  78. package/docs/api/interfaces/AgentIdentity.md +1 -1
  79. package/docs/api/interfaces/AgentSigner.md +1 -1
  80. package/docs/api/interfaces/AgentSubmitCapabilityRequestInput.md +41 -0
  81. package/docs/api/interfaces/CbioRuntime.md +21 -1
  82. package/docs/api/interfaces/CreateAgentClientOptions.md +3 -9
  83. package/docs/api/interfaces/CreateIdentityOptions.md +1 -1
  84. package/docs/api/interfaces/CreatePersistentVaultCoreDependenciesOptions.md +1 -1
  85. package/docs/api/interfaces/CreateVaultClientOptions.md +1 -1
  86. package/docs/api/interfaces/CreateVaultOptions.md +1 -1
  87. package/docs/api/interfaces/CreatedVault.md +1 -1
  88. package/docs/api/interfaces/DefaultPolicyEngineOptions.md +1 -1
  89. package/docs/api/interfaces/IStorageProvider.md +1 -1
  90. package/docs/api/interfaces/InitializeVaultCustodyOptions.md +1 -1
  91. package/docs/api/interfaces/InitializedVaultCustody.md +1 -1
  92. package/docs/api/interfaces/OwnerAgentProvisionResult.md +17 -0
  93. package/docs/api/interfaces/OwnerDefineSecretTargetsInput.md +1 -1
  94. package/docs/api/interfaces/OwnerSecretTargetBinding.md +1 -1
  95. package/docs/api/interfaces/OwnerStoreSecretInput.md +1 -1
  96. package/docs/api/interfaces/OwnerWriteSecretInput.md +1 -1
  97. package/docs/api/interfaces/RecoverVaultOptions.md +1 -1
  98. package/docs/api/interfaces/RecoveredVault.md +1 -1
  99. package/docs/api/interfaces/RestoreIdentityOptions.md +1 -1
  100. package/docs/api/interfaces/Signer.md +1 -1
  101. package/docs/api/interfaces/VaultApproveCapabilityRequestInput.md +23 -0
  102. package/docs/api/interfaces/VaultAuditQueryInput.md +1 -1
  103. package/docs/api/interfaces/VaultClient.md +123 -33
  104. package/docs/api/interfaces/VaultCoreDependenciesOptions.md +1 -1
  105. package/docs/api/interfaces/VaultCreateAgentInput.md +1 -1
  106. package/docs/api/interfaces/VaultDeleteSecretInput.md +1 -1
  107. package/docs/api/interfaces/VaultExportSecretInput.md +1 -1
  108. package/docs/api/interfaces/VaultGrantCapabilityInput.md +13 -19
  109. package/docs/api/interfaces/VaultIdentity.md +1 -1
  110. package/docs/api/interfaces/{VaultRegisterAgentInput.md → VaultImportAgentInput.md} +4 -10
  111. package/docs/api/interfaces/VaultListAgentsInput.md +1 -1
  112. package/docs/api/interfaces/VaultListCapabilitiesInput.md +1 -1
  113. package/docs/api/interfaces/VaultListSecretsInput.md +11 -0
  114. package/docs/api/interfaces/VaultMetadata.md +1 -1
  115. package/docs/api/interfaces/VaultObject.md +1 -1
  116. package/docs/api/interfaces/VaultProfile.md +1 -1
  117. package/docs/api/interfaces/VaultRegisterFlowInput.md +1 -1
  118. package/docs/api/interfaces/VaultRevokeCapabilityInput.md +1 -1
  119. package/docs/api/interfaces/VaultSigner.md +1 -1
  120. package/docs/api/interfaces/VaultSubmitCapabilityRequestInput.md +79 -0
  121. package/docs/api/type-aliases/AgentCapabilityEnvelope.md +1 -1
  122. package/docs/api/type-aliases/AgentVisibleSecretRecord.md +7 -0
  123. package/docs/api/type-aliases/CbioRuntimeModule.md +1 -1
  124. package/docs/api/variables/DEFAULT_VAULT_KEY_CUSTODY_BLOB_KEY.md +1 -1
  125. package/examples/process-isolation.ts +24 -15
  126. package/package.json +1 -1
package/README.md CHANGED
@@ -68,27 +68,23 @@ import { createVaultClient } from '@the-ai-company/cbio-node-runtime';
68
68
  const client = createVaultClient({ vault: vault.vault });
69
69
 
70
70
  // Generate and register a new agent in one step
71
- const [agentRecord, agentPrivateKey] = await client.createAgent({
71
+ const createdAgent = await client.ownerCreateAgent({
72
72
  agentId: 'worker-1',
73
73
  nickname: 'Background Worker'
74
74
  });
75
75
 
76
- console.log(`Agent public key: ${agentRecord.publicKey}`);
77
- // Private key is returned during creation and stored securely in the vault.
78
-
79
- // 4. Issue a Session Token (Optional but Recommended)
80
- // Avoid passing the raw private key to agent processes (v1.48+).
81
- const session = await client.issueSessionToken({ agentId: 'worker-1' });
76
+ console.log(`Agent public key: ${createdAgent.agent.publicKey}`);
77
+ const session = createdAgent.sessionToken;
82
78
 
83
79
  // RECOMENDED (v1.48.4+): Batch issue tokens for all agents at once
84
- const tokens = await client.issueAllSessionTokens();
80
+ const tokens = await client.ownerIssueAllSessionTokens();
85
81
  ```
86
82
 
87
83
  ### 5. Secret Management (Owner)
88
84
 
89
85
  ```ts
90
86
  // Write a secret and bind it to a target site
91
- const record = await client.writeSecret({
87
+ const record = await client.ownerWriteSecret({
92
88
  alias: 'api-token',
93
89
  plaintext: 'super-secret-value',
94
90
  targetBindings: [{
@@ -100,10 +96,11 @@ const record = await client.writeSecret({
100
96
  });
101
97
 
102
98
  // 4. Grant agent capabilities
103
- await client.grantCapability({
99
+ await client.ownerGrantCapability({
104
100
  agentId: 'worker-1',
105
101
  secretAliases: ['api-token'],
106
- allowedTargets: ['https://api.example.com/*']
102
+ scope: 'https://api.example.com/*',
103
+ methods: ['POST']
107
104
  });
108
105
 
109
106
  // 5. Setup client with automatic warmup (v1.48.4+)
@@ -117,7 +114,7 @@ const client = createVaultClient({
117
114
 
118
115
  ### 6. Consuming Secrets (Agent)
119
116
 
120
- Agents run in isolated processes and communicate with the vault via a transport. They can use either a **Session Token** (recommended) or a **Signature** (raw private key).
117
+ Agents run in isolated processes and communicate with the vault via a transport. Agent execution now requires a **Session Token** issued by the owner.
121
118
 
122
119
  #### Using a Session Token (Stateless/Token-based)
123
120
  ```ts
@@ -126,25 +123,43 @@ import { createAgentClient } from '@the-ai-company/cbio-node-runtime';
126
123
  const agent = createAgentClient({
127
124
  agentIdentity: { agentId: 'worker-1' },
128
125
  capability: myCapability,
129
- token: session.token, // Issued by the owner
126
+ token: session.token,
130
127
  vault: vault.vault
131
128
  });
132
129
 
133
- const result = await agent.dispatch({ ... });
130
+ const result = await agent.agentDispatch({ ... });
134
131
  ```
135
132
 
136
- #### Using a Signature (Stateful/Key-based)
133
+ The agent process does not execute directly with its raw private key. If it has an identity key, it still needs to exchange that trust for a session token before dispatching.
134
+
135
+ ### 7. Proactive Capability Requests
136
+
137
+ If an LLM or orchestration layer already knows it needs a broader scope, it can ask for that scope up front instead of triggering one pending dispatch per concrete URL.
138
+
137
139
  ```ts
138
- import { createAgentClient, LocalSigner } from '@the-ai-company/cbio-node-runtime';
140
+ const request = await client.ownerSubmitCapabilityRequest({
141
+ requester: { kind: 'trusted_executor', id: 'llm-planner' },
142
+ agentId: 'worker-1',
143
+ secretAliases: ['api-token'],
144
+ scope: 'https://api.example.com/users/*',
145
+ methods: ['GET'],
146
+ justification: 'Need collection-level user read access'
147
+ });
139
148
 
140
- const agent = createAgentClient({
141
- agentIdentity: { agentId: 'worker-1' },
142
- capability: myCapability,
143
- signer: new LocalSigner({ privateKey: agentPrivateKey }),
144
- vault: vault.vault
149
+ const pendingRequests = await client.ownerListPendingCapabilityRequests();
150
+
151
+ const capability = await client.ownerApproveCapabilityRequest({
152
+ requestId: pendingRequests[0].requestId,
153
+ capabilityId: 'cap-users-read'
145
154
  });
146
155
  ```
147
156
 
157
+ This flow is separate from dispatch discovery:
158
+ - `ownerSubmitCapabilityRequest(...)` creates a pending capability request for owner review.
159
+ - `ownerOnPendingCapabilityRequest(...)` pushes new requests to the owner UI or controller.
160
+ - `ownerApproveCapabilityRequest(...)` turns the request into a real stored capability.
161
+ - `ownerRejectCapabilityRequest(...)` drops the request without granting access.
162
+
148
163
  ---
149
164
 
150
165
  ## Documentation
@@ -165,21 +180,21 @@ The system uses a **Discovery-first** model. If an agent attempts an action not
165
180
 
166
181
  ```ts
167
182
  // In Agent process
168
- const result = await agent.dispatch({ ... });
183
+ const result = await agent.agentDispatch({ ... });
169
184
  if (result.status === 'PENDING') {
170
185
  console.log("Discovery needed: Waiting for owner approval...");
171
186
  }
172
187
 
173
188
  // OR: Use the Observer for real-time push (v1.48.4+)
174
- ownerClient.onPendingRequest((req) => {
189
+ ownerClient.ownerOnPendingDispatch((req) => {
175
190
  console.log("New discovery request:", req.requestId);
176
191
  });
177
192
 
178
193
  // In Owner process (GUI or Script)
179
- const pending = await client.listPendingDispatches();
194
+ const pending = await client.ownerListPendingDispatches();
180
195
  if (pending.length > 0) {
181
196
  // Inspect and approve the request, optionally making it permanent
182
- await client.approveDispatch({
197
+ await client.ownerApproveDispatch({
183
198
  requestId: pending[0].requestId,
184
199
  permanent: true
185
200
  });
@@ -1,7 +1,7 @@
1
1
  import type { CreatedIdentity } from "../../runtime/identity.js";
2
2
  import { type Clock } from "../../vault-core/index.js";
3
3
  import type { VaultService } from "../../vault-ingress/index.js";
4
- import type { AgentCapabilityEnvelope, AgentDispatchIntent, AgentDispatchTransport, AgentSigner } from "./contracts.js";
4
+ import type { AgentCapabilityEnvelope, AgentDispatchIntent, AgentDispatchTransport, AgentSubmitCapabilityRequestInput, AgentVisibleSecretRecord } from "./contracts.js";
5
5
  export interface AgentIdentity {
6
6
  agentId: string;
7
7
  }
@@ -11,14 +11,14 @@ export interface AgentIdentity {
11
11
  */
12
12
  export interface AgentClient {
13
13
  /**
14
- * Dispatches a signed request to a target using a vault secret.
14
+ * Dispatches a session-token-authenticated request to a target using a vault secret.
15
15
  *
16
16
  * @param intent - The destination, method, and secret alias to use.
17
17
  * @returns The result of the remote operation.
18
18
  *
19
19
  * @example
20
20
  * ```ts
21
- * const result = await agent.dispatch({
21
+ * const result = await agent.agentDispatch({
22
22
  * targetUrl: 'https://api.example.com/data',
23
23
  * method: 'POST',
24
24
  * secretAlias: 'api-token',
@@ -26,15 +26,17 @@ export interface AgentClient {
26
26
  * });
27
27
  * ```
28
28
  */
29
- dispatch(intent: AgentDispatchIntent): Promise<import("../../vault-core/index.js").DispatchResult>;
29
+ agentDispatch(intent: AgentDispatchIntent): Promise<import("../../vault-core/index.js").DispatchResult>;
30
+ agentListCapabilities(): Promise<readonly import("../../vault-core/index.js").AgentCapability[]>;
31
+ agentListSecrets(): Promise<readonly AgentVisibleSecretRecord[]>;
32
+ agentSubmitCapabilityRequest(input: AgentSubmitCapabilityRequestInput): Promise<import("../../vault-core/index.js").PendingCapabilityRequestRecord>;
30
33
  }
31
34
  export interface CreateAgentClientOptions {
32
35
  agentIdentity: CreatedIdentity | AgentIdentity;
33
36
  capability: AgentCapabilityEnvelope;
34
37
  vault?: VaultService;
35
38
  transport?: AgentDispatchTransport;
36
- signer?: AgentSigner;
37
- token?: string;
39
+ token: string;
38
40
  clock?: Clock;
39
41
  }
40
42
  /**
@@ -1,48 +1,22 @@
1
- import { LocalSigner } from "../../protocol/crypto.js";
2
1
  import { SystemClock } from "../../vault-core/index.js";
3
2
  import { LocalVaultTransport } from "../../vault-ingress/defaults.js";
4
- function createDispatchBinding(requestId, requestedAt, agentId, capabilityId, secretAlias, targetUrl, method, body) {
5
- return JSON.stringify({
6
- requestId,
7
- requestedAt,
8
- agentId,
9
- capabilityId,
10
- secretAlias: secretAlias ?? null,
11
- targetUrl,
12
- method,
13
- body: body ?? null,
14
- });
15
- }
16
3
  class DefaultAgentClient {
17
4
  _identity;
18
5
  _capability;
19
- _signer;
20
6
  _transport;
21
7
  _clock;
22
8
  _token;
23
- constructor(_identity, _capability, _signer, _transport, _clock, _token) {
9
+ constructor(_identity, _capability, _transport, _clock, _token) {
24
10
  this._identity = _identity;
25
11
  this._capability = _capability;
26
- this._signer = _signer;
27
12
  this._transport = _transport;
28
13
  this._clock = _clock;
29
14
  this._token = _token;
30
15
  }
31
- async dispatch(intent) {
16
+ async agentDispatch(intent) {
32
17
  const requestedAt = intent.requestedAt ?? this._clock.nowIso();
33
18
  const requestId = `${this._identity.agentId}:${requestedAt}:${intent.secretAlias ?? "no-secret"}:${intent.method}`;
34
- let signature;
35
- if (this._token) {
36
- // Use token-based authentication
37
- }
38
- else {
39
- // Use signature-based authentication
40
- if (!this._signer) {
41
- throw new Error("AgentClient: signer required for signature-based authentication when no token is provided");
42
- }
43
- signature = await this._signer.sign(createDispatchBinding(requestId, requestedAt, this._identity.agentId, this._capability.capabilityId, intent.secretAlias, intent.targetUrl, intent.method, intent.body));
44
- }
45
- return this._transport.dispatch({
19
+ return this._transport.agentDispatch({
46
20
  vaultId: this._capability.vaultId,
47
21
  requestId,
48
22
  requestedAt,
@@ -57,9 +31,8 @@ class DefaultAgentClient {
57
31
  secretIds: this._capability.secretIds,
58
32
  secretAliases: this._capability.secretAliases,
59
33
  operation: this._capability.operation,
60
- allowedTargets: this._capability.allowedTargets,
61
- allowedMethods: this._capability.allowedMethods,
62
- allowedPaths: this._capability.allowedPaths,
34
+ scope: this._capability.scope,
35
+ methods: this._capability.methods,
63
36
  issuedAt: this._capability.issuedAt,
64
37
  expiresAt: this._capability.expiresAt,
65
38
  revocationVersion: this._capability.revocationVersion,
@@ -68,7 +41,6 @@ class DefaultAgentClient {
68
41
  },
69
42
  proof: {
70
43
  agentId: this._identity.agentId,
71
- signature,
72
44
  token: this._token,
73
45
  requestId,
74
46
  requestedAt,
@@ -80,30 +52,76 @@ class DefaultAgentClient {
80
52
  body: intent.body,
81
53
  });
82
54
  }
83
- }
84
- function isCreateAgentClientOptions(value) {
85
- return typeof value === "object" && value !== null && "agentIdentity" in value && "capability" in value;
86
- }
87
- function isCreatedIdentity(value) {
88
- return "privateKey" in value && "publicKey" in value;
89
- }
90
- function resolveAgentSigner(options) {
91
- if (options.signer) {
92
- return options.signer;
55
+ async _createProof(requestId, requestedAt, _action, _payload = {}) {
56
+ return {
57
+ agentId: this._identity.agentId,
58
+ token: this._token,
59
+ requestId,
60
+ requestedAt,
61
+ };
93
62
  }
94
- if (isCreatedIdentity(options.agentIdentity)) {
95
- return new LocalSigner(options.agentIdentity);
63
+ async agentListCapabilities() {
64
+ const requestedAt = this._clock.nowIso();
65
+ const requestId = `${this._identity.agentId}:${requestedAt}:list_capabilities`;
66
+ return this._transport.agentListCapabilities({
67
+ vaultId: this._capability.vaultId,
68
+ requestId,
69
+ requestedAt,
70
+ agent: { kind: "agent", id: this._identity.agentId },
71
+ proof: await this._createProof(requestId, requestedAt, "list_capabilities"),
72
+ });
96
73
  }
97
- if (options.token) {
98
- return undefined; // No signer needed if token is present
74
+ async agentListSecrets() {
75
+ const requestedAt = this._clock.nowIso();
76
+ const requestId = `${this._identity.agentId}:${requestedAt}:list_secrets`;
77
+ return this._transport.agentListSecrets({
78
+ vaultId: this._capability.vaultId,
79
+ requestId,
80
+ requestedAt,
81
+ agent: { kind: "agent", id: this._identity.agentId },
82
+ proof: await this._createProof(requestId, requestedAt, "list_secrets"),
83
+ });
99
84
  }
100
- throw new Error("createAgentClient() requires signer or private key when no session token is provided");
85
+ async agentSubmitCapabilityRequest(input) {
86
+ const requestedAt = input.requestedAt ?? this._clock.nowIso();
87
+ const requestId = `${this._identity.agentId}:${requestedAt}:submit_capability_request`;
88
+ const payload = {
89
+ scope: input.scope,
90
+ methods: input.methods,
91
+ operation: input.operation ?? "dispatch_http",
92
+ secretAliases: input.secretAliases ?? [],
93
+ justification: input.justification ?? null,
94
+ };
95
+ return this._transport.agentSubmitCapabilityRequest({
96
+ vaultId: this._capability.vaultId,
97
+ requestId,
98
+ requestedAt,
99
+ agent: { kind: "agent", id: this._identity.agentId },
100
+ proof: await this._createProof(requestId, requestedAt, "submit_capability_request", payload),
101
+ scope: {
102
+ operation: input.operation ?? "dispatch_http",
103
+ secretAliases: input.secretAliases ?? [],
104
+ scope: input.scope,
105
+ methods: [...input.methods],
106
+ },
107
+ justification: input.justification,
108
+ });
109
+ }
110
+ }
111
+ function isCreateAgentClientOptions(value) {
112
+ return typeof value === "object" && value !== null && "agentIdentity" in value && "capability" in value;
101
113
  }
102
114
  function resolveAgentIdentity(options) {
103
115
  return "agentId" in options.agentIdentity
104
116
  ? options.agentIdentity
105
117
  : { agentId: options.agentIdentity.identityId };
106
118
  }
119
+ function resolveAgentToken(options) {
120
+ if (!options.token) {
121
+ throw new Error("createAgentClient() requires a session token; raw private-key execution is not supported");
122
+ }
123
+ return options.token;
124
+ }
107
125
  function resolveAgentTransport(options) {
108
126
  if (options.transport) {
109
127
  return options.transport;
@@ -132,6 +150,6 @@ export function createAgentClient(options) {
132
150
  if (!isCreateAgentClientOptions(options)) {
133
151
  throw new Error("createAgentClient() requires a single options object");
134
152
  }
135
- return new DefaultAgentClient(resolveAgentIdentity(options), options.capability, resolveAgentSigner(options), resolveAgentTransport(options), options.clock ?? new SystemClock(), options.token);
153
+ return new DefaultAgentClient(resolveAgentIdentity(options), options.capability, resolveAgentTransport(options), options.clock ?? new SystemClock(), resolveAgentToken(options));
136
154
  }
137
155
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/clients/agent/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/clients/agent/client.ts"],"names":[],"mappings":"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"}
@@ -6,10 +6,22 @@ export interface AgentDispatchIntent {
6
6
  body?: string;
7
7
  requestedAt?: string;
8
8
  }
9
+ export interface AgentSubmitCapabilityRequestInput {
10
+ operation?: "dispatch_http" | "custom_http";
11
+ secretAliases?: readonly string[];
12
+ scope: string;
13
+ methods: readonly string[];
14
+ justification?: string;
15
+ requestedAt?: string;
16
+ }
9
17
  export type AgentCapabilityEnvelope = import("../../vault-core/index.js").AgentCapability;
18
+ export type AgentVisibleSecretRecord = import("../../vault-core/index.js").AgentVisibleSecretRecord;
10
19
  export interface AgentSigner {
11
20
  sign(input: string): Promise<string>;
12
21
  }
13
22
  export interface AgentDispatchTransport {
14
- dispatch(request: import("../../vault-core/index.js").DispatchRequest): Promise<import("../../vault-core/index.js").DispatchResult>;
23
+ agentDispatch(request: import("../../vault-core/index.js").DispatchRequest): Promise<import("../../vault-core/index.js").DispatchResult>;
24
+ agentListCapabilities(request: import("../../vault-core/index.js").AgentListCapabilitiesRequest): Promise<readonly import("../../vault-core/index.js").AgentCapability[]>;
25
+ agentListSecrets(request: import("../../vault-core/index.js").AgentListSecretsRequest): Promise<readonly AgentVisibleSecretRecord[]>;
26
+ agentSubmitCapabilityRequest(request: import("../../vault-core/index.js").AgentSubmitCapabilityRequestCommand): Promise<import("../../vault-core/index.js").PendingCapabilityRequestRecord>;
15
27
  }
@@ -1,3 +1,3 @@
1
1
  export { createAgentClient } from "./client.js";
2
2
  export type { AgentClient, CreateAgentClientOptions, AgentIdentity, } from "./client.js";
3
- export type { AgentCapabilityEnvelope, AgentDispatchIntent, AgentDispatchTransport, AgentSigner, } from "./contracts.js";
3
+ export type { AgentCapabilityEnvelope, AgentDispatchIntent, AgentDispatchTransport, AgentSigner, AgentSubmitCapabilityRequestInput, AgentVisibleSecretRecord, } from "./contracts.js";
@@ -1,7 +1,7 @@
1
1
  import { type CreatedIdentity } from "../../runtime/identity.js";
2
2
  import { type Clock } from "../../vault-core/index.js";
3
3
  import type { VaultService } from "../../vault-ingress/index.js";
4
- import type { VaultAuditQueryInput, OwnerDefineSecretTargetsInput, VaultExportSecretInput, VaultGrantCapabilityInput, VaultRegisterFlowInput, VaultRegisterAgentInput, VaultCreateAgentInput, OwnerStoreSecretInput, OwnerWriteSecretInput, VaultDeleteSecretInput, VaultListAgentsInput, VaultListCapabilitiesInput, VaultRevokeCapabilityInput } from "./contracts.js";
4
+ import type { VaultAuditQueryInput, OwnerDefineSecretTargetsInput, VaultExportSecretInput, VaultGrantCapabilityInput, VaultRegisterFlowInput, VaultImportAgentInput, VaultCreateAgentInput, OwnerAgentProvisionResult, OwnerStoreSecretInput, OwnerWriteSecretInput, VaultDeleteSecretInput, VaultListAgentsInput, VaultListCapabilitiesInput, VaultListSecretsInput, VaultRevokeCapabilityInput, VaultSubmitCapabilityRequestInput, VaultApproveCapabilityRequestInput } from "./contracts.js";
5
5
  export interface VaultIdentity {
6
6
  identityId: string;
7
7
  }
@@ -16,53 +16,59 @@ export interface VaultClient {
16
16
  /**
17
17
  * Securely stores a new secret in the vault.
18
18
  */
19
- storeSecret(input: OwnerStoreSecretInput): Promise<import("../../vault-core/index.js").SecretRecord>;
19
+ ownerStoreSecret(input: OwnerStoreSecretInput): Promise<import("../../vault-core/index.js").SecretRecord>;
20
20
  /**
21
21
  * Refines the allowed targets for an existing secret.
22
22
  */
23
- defineSecretTargets(input: OwnerDefineSecretTargetsInput): Promise<import("../../vault-core/index.js").SecretRecord>;
23
+ ownerDefineSecretTargets(input: OwnerDefineSecretTargetsInput): Promise<import("../../vault-core/index.js").SecretRecord>;
24
24
  /**
25
25
  * Atomic operation to store a secret and define its targets in one step.
26
26
  */
27
- writeSecret(input: OwnerWriteSecretInput): Promise<import("../../vault-core/index.js").SecretRecord>;
27
+ ownerWriteSecret(input: OwnerWriteSecretInput): Promise<import("../../vault-core/index.js").SecretRecord>;
28
28
  /**
29
29
  * Exports a secret's plaintext.
30
30
  */
31
- exportSecret(input: VaultExportSecretInput): Promise<import("../../vault-core/index.js").OwnerSecretExport>;
31
+ ownerExportSecret(input: VaultExportSecretInput): Promise<import("../../vault-core/index.js").OwnerSecretExport>;
32
32
  /**
33
33
  * Grants a specific capability to an agent.
34
34
  */
35
- grantCapability(input: VaultGrantCapabilityInput): Promise<void>;
35
+ ownerGrantCapability(input: VaultGrantCapabilityInput): Promise<void>;
36
36
  /**
37
37
  * Reads the tamper-evident audit log for the vault.
38
38
  */
39
- readAudit(query?: VaultAuditQueryInput): Promise<readonly import("../../vault-core/index.js").AuditEntry[]>;
40
- registerAgent(input: VaultRegisterAgentInput): Promise<void>;
39
+ ownerReadAudit(query?: VaultAuditQueryInput): Promise<readonly import("../../vault-core/index.js").AuditEntry[]>;
40
+ ownerImportAgent(input: VaultImportAgentInput): Promise<OwnerAgentProvisionResult>;
41
41
  /**
42
42
  * Generates a new identity and registers it as an agent in one step.
43
43
  * The private key is stored in the vault for managed custody.
44
44
  */
45
- createAgent(input: VaultCreateAgentInput): Promise<readonly [import("../../vault-core/index.js").AgentIdentityRecord, string]>;
45
+ ownerCreateAgent(input: VaultCreateAgentInput): Promise<OwnerAgentProvisionResult>;
46
46
  /**
47
47
  * Registers a custom HTTP flow for complex secret usage.
48
48
  */
49
- registerFlow(input: VaultRegisterFlowInput): Promise<void>;
49
+ ownerRegisterFlow(input: VaultRegisterFlowInput): Promise<void>;
50
50
  /**
51
51
  * Permanently deletes a secret from the vault.
52
52
  */
53
- deleteSecret(input: VaultDeleteSecretInput): Promise<void>;
53
+ ownerDeleteSecret(input: VaultDeleteSecretInput): Promise<void>;
54
54
  /**
55
55
  * Lists all agents registered in the vault.
56
56
  */
57
- listAgents(input?: VaultListAgentsInput): Promise<readonly import("../../vault-core/index.js").AgentIdentityRecord[]>;
57
+ ownerListAgents(input?: VaultListAgentsInput): Promise<readonly import("../../vault-core/index.js").AgentIdentityRecord[]>;
58
58
  /**
59
59
  * Lists all active capabilities granted to agents.
60
60
  */
61
- listCapabilities(input?: VaultListCapabilitiesInput): Promise<readonly import("../../vault-core/index.js").AgentCapability[]>;
61
+ ownerListCapabilities(input?: VaultListCapabilitiesInput): Promise<readonly import("../../vault-core/index.js").AgentCapability[]>;
62
+ ownerListSecrets(input?: VaultListSecretsInput): Promise<readonly import("../../vault-core/index.js").AgentVisibleSecretRecord[]>;
62
63
  /**
63
64
  * Revokes a previously granted capability.
64
65
  */
65
- revokeCapability(input: VaultRevokeCapabilityInput): Promise<void>;
66
+ ownerRevokeCapability(input: VaultRevokeCapabilityInput): Promise<void>;
67
+ ownerSubmitCapabilityRequest(input: VaultSubmitCapabilityRequestInput): Promise<import("../../vault-core/index.js").PendingCapabilityRequestRecord>;
68
+ ownerListPendingCapabilityRequests(): Promise<readonly import("../../vault-core/index.js").PendingCapabilityRequestRecord[]>;
69
+ ownerApproveCapabilityRequest(input: VaultApproveCapabilityRequestInput): Promise<import("../../vault-core/index.js").AgentCapability>;
70
+ ownerRejectCapabilityRequest(requestId: string): Promise<void>;
71
+ ownerOnPendingCapabilityRequest(callback: (record: import("../../vault-core/index.js").PendingCapabilityRequestRecord) => void): () => void;
66
72
  }
67
73
  export interface CreateVaultClientOptions {
68
74
  vault: VaultService;