@the-ai-company/cbio-node-runtime 1.47.0 → 1.48.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.
Files changed (109) hide show
  1. package/README.md +104 -231
  2. package/dist/clients/agent/client.d.ts +1 -0
  3. package/dist/clients/agent/client.js +26 -9
  4. package/dist/clients/agent/client.js.map +1 -1
  5. package/dist/clients/owner/client.js +57 -2
  6. package/dist/clients/owner/client.js.map +1 -1
  7. package/dist/clients/owner/contracts.d.ts +44 -1
  8. package/dist/vault-core/contracts.d.ts +58 -5
  9. package/dist/vault-core/contracts.js +8 -0
  10. package/dist/vault-core/contracts.js.map +1 -1
  11. package/dist/vault-core/core.d.ts +16 -2
  12. package/dist/vault-core/core.js +115 -1
  13. package/dist/vault-core/core.js.map +1 -1
  14. package/dist/vault-core/defaults.d.ts +25 -3
  15. package/dist/vault-core/defaults.js +71 -16
  16. package/dist/vault-core/defaults.js.map +1 -1
  17. package/dist/vault-core/errors.d.ts +2 -2
  18. package/dist/vault-core/errors.js.map +1 -1
  19. package/dist/vault-core/index.d.ts +3 -3
  20. package/dist/vault-core/index.js +1 -1
  21. package/dist/vault-core/index.js.map +1 -1
  22. package/dist/vault-core/persistence.js +7 -2
  23. package/dist/vault-core/persistence.js.map +1 -1
  24. package/dist/vault-core/ports.d.ts +13 -0
  25. package/dist/vault-ingress/index.d.ts +17 -2
  26. package/dist/vault-ingress/index.js +17 -0
  27. package/dist/vault-ingress/index.js.map +1 -1
  28. package/dist/vault-ingress/remote-transport.js +4 -1
  29. package/dist/vault-ingress/remote-transport.js.map +1 -1
  30. package/docs/ARCHITECTURE.md +34 -107
  31. package/docs/CUSTODY_MODEL.md +27 -129
  32. package/docs/IDENTITY_MODEL.md +35 -112
  33. package/docs/REFERENCE.md +60 -404
  34. package/docs/api/README.md +2 -2
  35. package/docs/api/classes/IdentityError.md +1 -1
  36. package/docs/api/classes/VaultCore.md +97 -1
  37. package/docs/api/classes/VaultCoreError.md +3 -3
  38. package/docs/api/enumerations/IdentityErrorCode.md +1 -1
  39. package/docs/api/functions/createAgentClient.md +1 -1
  40. package/docs/api/functions/createIdentity.md +1 -1
  41. package/docs/api/functions/createOwnerHttpFlowBoundary.md +1 -1
  42. package/docs/api/functions/createPersistentVaultCoreDependencies.md +1 -1
  43. package/docs/api/functions/createStandardAcquireBoundary.md +1 -1
  44. package/docs/api/functions/createStandardDispatchBoundary.md +1 -1
  45. package/docs/api/functions/createVault.md +1 -1
  46. package/docs/api/functions/createVaultClient.md +1 -1
  47. package/docs/api/functions/createVaultCore.md +1 -1
  48. package/docs/api/functions/createVaultCoreDependencies.md +1 -1
  49. package/docs/api/functions/createVaultService.md +1 -1
  50. package/docs/api/functions/createWorkspaceStorage.md +1 -1
  51. package/docs/api/functions/deriveIdentityId.md +1 -1
  52. package/docs/api/functions/deriveVaultWorkingKeyFromPassword.md +1 -1
  53. package/docs/api/functions/getDefaultWorkspaceDir.md +1 -1
  54. package/docs/api/functions/handleVaultHttpDispatch.md +1 -1
  55. package/docs/api/functions/initializeVaultCustody.md +1 -1
  56. package/docs/api/functions/listVaults.md +1 -1
  57. package/docs/api/functions/readVaultProfile.md +1 -1
  58. package/docs/api/functions/recoverVault.md +1 -1
  59. package/docs/api/functions/recoverVaultWorkingKey.md +1 -1
  60. package/docs/api/functions/restoreIdentity.md +1 -1
  61. package/docs/api/functions/updateVaultMetadata.md +1 -1
  62. package/docs/api/functions/wrapVaultCoreAsVaultService.md +1 -1
  63. package/docs/api/functions/writeVaultProfile.md +1 -1
  64. package/docs/api/interfaces/AgentClient.md +1 -1
  65. package/docs/api/interfaces/AgentDispatchIntent.md +1 -1
  66. package/docs/api/interfaces/AgentDispatchTransport.md +1 -1
  67. package/docs/api/interfaces/AgentIdentity.md +1 -1
  68. package/docs/api/interfaces/AgentSigner.md +1 -1
  69. package/docs/api/interfaces/CbioRuntime.md +1 -1
  70. package/docs/api/interfaces/CreateAgentClientOptions.md +7 -1
  71. package/docs/api/interfaces/CreateIdentityOptions.md +1 -1
  72. package/docs/api/interfaces/CreatePersistentVaultCoreDependenciesOptions.md +31 -1
  73. package/docs/api/interfaces/CreateVaultClientOptions.md +1 -1
  74. package/docs/api/interfaces/CreateVaultOptions.md +31 -1
  75. package/docs/api/interfaces/CreatedVault.md +1 -1
  76. package/docs/api/interfaces/DefaultPolicyEngineOptions.md +1 -1
  77. package/docs/api/interfaces/IStorageProvider.md +1 -1
  78. package/docs/api/interfaces/InitializeVaultCustodyOptions.md +1 -1
  79. package/docs/api/interfaces/InitializedVaultCustody.md +1 -1
  80. package/docs/api/interfaces/OwnerDefineSecretTargetsInput.md +1 -1
  81. package/docs/api/interfaces/OwnerSecretTargetBinding.md +1 -1
  82. package/docs/api/interfaces/OwnerStoreSecretInput.md +1 -1
  83. package/docs/api/interfaces/OwnerWriteSecretInput.md +1 -1
  84. package/docs/api/interfaces/RecoverVaultOptions.md +31 -1
  85. package/docs/api/interfaces/RecoveredVault.md +1 -1
  86. package/docs/api/interfaces/RestoreIdentityOptions.md +1 -1
  87. package/docs/api/interfaces/Signer.md +1 -1
  88. package/docs/api/interfaces/VaultAuditQueryInput.md +1 -1
  89. package/docs/api/interfaces/VaultClient.md +1 -1
  90. package/docs/api/interfaces/VaultCoreDependenciesOptions.md +19 -1
  91. package/docs/api/interfaces/VaultCreateAgentInput.md +1 -1
  92. package/docs/api/interfaces/VaultDeleteSecretInput.md +1 -1
  93. package/docs/api/interfaces/VaultExportSecretInput.md +1 -1
  94. package/docs/api/interfaces/VaultGrantCapabilityInput.md +71 -3
  95. package/docs/api/interfaces/VaultIdentity.md +1 -1
  96. package/docs/api/interfaces/VaultListAgentsInput.md +1 -1
  97. package/docs/api/interfaces/VaultListCapabilitiesInput.md +1 -1
  98. package/docs/api/interfaces/VaultMetadata.md +1 -1
  99. package/docs/api/interfaces/VaultObject.md +1 -1
  100. package/docs/api/interfaces/VaultProfile.md +1 -1
  101. package/docs/api/interfaces/VaultRegisterAgentInput.md +1 -1
  102. package/docs/api/interfaces/VaultRegisterFlowInput.md +1 -1
  103. package/docs/api/interfaces/VaultRevokeCapabilityInput.md +1 -1
  104. package/docs/api/interfaces/VaultSigner.md +1 -1
  105. package/docs/api/type-aliases/AgentCapabilityEnvelope.md +1 -1
  106. package/docs/api/type-aliases/CbioRuntimeModule.md +1 -1
  107. package/docs/api/variables/DEFAULT_VAULT_KEY_CUSTODY_BLOB_KEY.md +1 -1
  108. package/docs/zh/README.md +64 -39
  109. package/package.json +1 -1
package/README.md CHANGED
@@ -1,32 +1,19 @@
1
1
  # cbio Vault Runtime
2
2
 
3
- Node.js vault runtime with a hard-cut architecture: vault core first, explicit clients second.
3
+ Node.js vault runtime with a **Sovereign Vault** architecture: authority is rooted in a master password, and agent identities are fully managed within the vault's encrypted storage.
4
4
 
5
5
  **Source:** [https://github.com/TheAICompany/cbio-node-runtime](https://github.com/TheAICompany/cbio-node-runtime)
6
6
 
7
- ## Documentation / 文档 / ドキュメント / 문서 / Docs
8
-
9
- - [English](README.md)
10
- - [Custody Model](docs/CUSTODY_MODEL.md)
11
- - [Identity Model](docs/IDENTITY_MODEL.md)
12
- - [Process Isolation (A/B Architecture)](docs/PROCESS_ISOLATION.md)
13
- - [中文](docs/zh/README.md)
14
- - [日本語](docs/ja/README.md)
15
- - [한국어](docs/ko/README.md)
16
- - [Español](docs/es/README.md)
17
- - [Português](docs/pt/README.md)
18
- - [Français](docs/fr/README.md)
19
-
20
7
  ---
21
8
 
22
- - No CLI
23
- - No TUI
9
+ ## Key Features
24
10
 
25
- Main export now centers on:
26
- - identity creation and recovery
27
- - persistent vault bootstrap and recovery
28
- - owner and agent clients
29
- - owner flow-boundary helpers
11
+ - **No CLI / No TUI**: Pure library for integration into Node.js applications.
12
+ - **Authority-centric**: Administrative control is tied to the vault's master password, not an external identity.
13
+ - **Managed Agent Custody**: Generate and store agent private keys securely inside the vault.
14
+ - **Agent Session Tokens**: Issue revocable, short-lived (or long-lived) tokens for agents to avoid handling raw private keys.
15
+ - **Process Isolation**: Hard separation between the Security Process (Master) and Agent Processes (Consumers).
16
+ - **Zero-Leak Discovery**: Vault metadata is fully encrypted and hidden until unlocked.
30
17
 
31
18
  ## Install
32
19
 
@@ -38,267 +25,153 @@ npm install @the-ai-company/cbio-node-runtime
38
25
 
39
26
  ## Usage
40
27
 
41
- ```ts
42
- import {
43
- createChildIdentity,
44
- createIdentity,
45
- createWorkspaceStorage,
46
- ensureIdentityPrivateVault,
47
- readIdentityPrivateVaultProfile,
48
- readIdentityPrivateVaultChildrenState,
49
- restoreIdentity,
50
- createVault,
51
- recoverVault,
52
- createOwnerHttpFlowBoundary,
53
- createStandardAcquireBoundary,
54
- createVaultClient,
55
- createAgentClient,
56
- FsStorageProvider,
57
- } from '@the-ai-company/cbio-node-runtime';
58
- ```
28
+ ### 1. Bootstrap a New Vault
59
29
 
60
- Identity restore example:
30
+ The Sovereign Vault requires only a storage provider and a master password.
61
31
 
62
32
  ```ts
63
- const identity = restoreIdentity(existingPrivateKey);
64
- ```
33
+ import {
34
+ createVault,
35
+ FsStorageProvider,
36
+ createWorkspaceStorage
37
+ } from '@the-ai-company/cbio-node-runtime';
65
38
 
66
- Child identity example:
39
+ const storage = new FsStorageProvider('./my-vaults');
67
40
 
68
- ```ts
69
- const rootIdentity = createIdentity({ nickname: 'root' });
70
- await ensureIdentityPrivateVault(storage, rootIdentity);
71
- const childIdentity = await createChildIdentity(storage, rootIdentity, {
72
- nickname: 'worker-1',
41
+ const myVault = await createVault(storage, {
42
+ vaultId: 'main-vault',
43
+ password: 'your-secure-password',
44
+ nickname: 'Production Vault'
73
45
  });
74
46
 
75
- // Enumerate Discovery
76
- const identities = await listIdentities(storage);
77
- const vaults = await listVaults(storage);
78
-
79
- const profile = await readIdentityMetadata(storage, identities[0].identityId); // Public Discovery
80
- const fullProfile = await readIdentityMetadata(storage, rootIdentity.identityId, rootIdentity.privateKey); // Full Authorized Profile
81
- const children = await readIdentityPrivateVaultChildrenState(storage, rootIdentity.privateKey);
47
+ console.log(`Vault created: ${myVault.nickname}`);
82
48
  ```
83
49
 
84
- Vaults also support standardized public metadata for discovery:
85
-
86
- ```ts
87
- import { type VaultPublicMetadata } from '@the-ai-company/cbio-node-runtime';
88
-
89
- const publicMetadata: VaultPublicMetadata = {
90
- displayName: 'Primary Vault',
91
- tags: ['production', 'main'],
92
- };
93
-
94
- const createdVault = await createVault({
95
- ownerIdentity: rootIdentity,
96
- nickname: 'main-vault',
97
- publicMetadata,
98
- });
99
- ```
100
-
101
- If you want to override the default workspace directory:
50
+ ### 2. Recover an Existing Vault
102
51
 
103
52
  ```ts
104
- const storage = createWorkspaceStorage('/tmp/cbio');
105
- const createdVault = await createVault(storage, {
106
- ownerIdentity: rootIdentity,
107
- nickname: 'main-vault',
53
+ import { recoverVault, FsStorageProvider } from '@the-ai-company/cbio-node-runtime';
54
+
55
+ const vault = await recoverVault(storage, {
56
+ vaultId: 'main-vault',
57
+ password: 'your-secure-password'
108
58
  });
109
59
  ```
110
60
 
111
- The workspace root can contain many vaults. Each vault is physically divided into `vault/sealed/` (encrypted)### Storage Management
112
-
113
- By default, the SDK uses a local directory (e.g., `~/cbio/`) as the **Workspace Root**.
114
- - `createVault({ ... })`: Automatically creates a sub-directory `vaults/<vault-id>/` and returns a **Prefixed Storage** anchored to that sub-directory.
115
- - **Important**: When you receive a `storage` object from `createVault`, it is already pointing *inside* the vault's own space. Subsequent calls to `recoverVault` or other high-level APIs using this storage will resolve paths correctly relative to this anchor.
116
-
117
- ### CRUD & Metadata
118
- The SDK provides a complete lifecycle for vaults and secrets:
119
- 1. **Creation**: `createVault`
120
- 2. **Discovery/Read**: `listVaults`, `recoverVault`
121
- 3. **Update**: `updateVaultMetadata` (e.g., for nicknames)
122
- 4. **Management**: `listAgents`, `listCapabilities`, `revokeCapability` (via Client)
123
- 5. **Deletion**: `deleteSecret` (via Client) or manual storage cleanup for entire vaults.
124
-
125
- and `vault/public/` (signed discovery).
126
-
127
- Every identity also has its own private namespace for encrypted metadata, and a companion discovery area for public information.
128
-
129
- ## Architecture
130
-
131
- Core terms:
132
-
133
- - `identity`
134
- An external principal represented by a public/private keypair.
135
- - `owner`
136
- The single admin role that a vault binds to one identity.
137
- - `agent`
138
- A delegated role that a vault binds to an identity registered by the owner.
139
-
140
- Important role rule:
141
-
142
- - outside the vault there are only identities
143
- - inside a specific vault, those identities may be bound to roles such as `owner` or `agent`
144
- - root identities are independent
145
- - child identities may be deterministically derived from a parent identity
146
-
147
- The public runtime surface follows four hard rules:
148
-
149
- 1. Secret plaintext lives only in vault core.
150
- 2. Only owner and vault-trusted acquisition paths may write secrets.
151
- 3. Secrets are dispatched only to owner-approved or issuer-bound targets.
152
- 4. Vault validates and audits everything.
153
-
154
- The current HTTP-facing interface distinguishes two supported secret-flow classes:
155
-
156
- - `A` / `acquire_secret`
157
- No secret leaves the vault. A secret is extracted from the response and stored into the vault. Agent-visible output includes only protocol metadata plus a redacted response shape.
158
- - `B` / `send_secret`
159
- A stored secret is sent to an owner-approved target. The response is treated as normal business output and may be returned to the agent.
61
+ ### 3. Managed Agent Identities
160
62
 
161
- This is an intentional boundary choice:
63
+ You can generate and register agents directly within the vault. The vault holds the private keys for full custody.
162
64
 
163
- - acquisition responses are treated as sensitive because they may contain newly issued secret material
164
- - dispatch responses are treated as ordinary protocol results because the operation itself is a standard secret-backed HTTP call to an owner-approved target
165
-
166
- The vault does not attempt to second-guess every remote protocol. If a target returns sensitive data during a normal dispatch flow, that is part of the target contract and the owner's authorization decision.
167
-
168
- The runtime does not claim to understand arbitrary remote protocols. The API boundary makes clear what is supported:
169
-
170
- - acquisition is explicit and redacted
171
- - secret-backed dispatch is explicit and capability-gated
172
- - unsupported `C` / `D` style flows are not part of the current surface
173
-
174
- Owner-defined HTTP boundaries share one factory layer:
175
-
176
- - `createOwnerHttpFlowBoundary(...)`
177
- - `createStandardAcquireBoundary(...)`
178
- - `createStandardDispatchBoundary(...)`
179
-
180
- An owner-defined exception path also exists for non-standard but intentional integrations:
181
-
182
- - owner may register a `custom_http` flow
183
- - the flow fixes mode, target, method, and response visibility inside the vault
184
- - agent may only invoke the registered `customFlowId`
185
- - this is an explicit escape hatch, not the default path
65
+ ```ts
66
+ import { createVaultClient } from '@the-ai-company/cbio-node-runtime';
186
67
 
187
- ## Status
68
+ const client = createVaultClient({ vault: vault.vault });
188
69
 
189
- The old identity-centric runtime is no longer the intended public architecture.
190
- This package now exposes the production local vault runtime surface as the primary API.
70
+ // Generate and register a new agent in one step
71
+ const [agentRecord, agentPrivateKey] = await client.createAgent({
72
+ agentId: 'worker-1',
73
+ nickname: 'Background Worker'
74
+ });
191
75
 
192
- ## Example Shape
76
+ console.log(`Agent public key: ${agentRecord.publicKey}`);
77
+ // Private key is returned during creation and stored securely in the vault.
193
78
 
194
- ```ts
195
- const ownerIdentity = createIdentity({ nickname: 'owner-main' });
196
- const agentIdentity = createIdentity({ nickname: 'agent-worker' });
197
- const createdVault = await createVault({ ownerIdentity });
198
- const client = createVaultClient({ ownerIdentity, vault: createdVault.vault });
199
- const agent = createAgentClient({ agentIdentity, capability, vault: createdVault.vault });
79
+ // 4. Issue a Session Token (Optional but Recommended)
80
+ // Avoid passing the raw private key to agent processes.
81
+ const session = await client.issueSessionToken({ agentId: 'worker-1' });
82
+ console.log(`Session Token: ${session.token}`);
200
83
  ```
201
84
 
202
- Owner API example:
85
+ ### 5. Secret Management (Owner)
203
86
 
204
87
  ```ts
205
- const storedSecret = await client.storeSecret({
88
+ // Write a secret and bind it to a target site
89
+ const record = await client.writeSecret({
206
90
  alias: 'api-token',
207
- plaintext: 'secret-value',
91
+ plaintext: 'super-secret-value',
92
+ targetBindings: [{
93
+ kind: 'site',
94
+ targetId: 'my-api',
95
+ targetUrl: 'https://api.example.com/endpoint',
96
+ methods: ['POST']
97
+ }]
208
98
  });
209
99
 
210
- await client.defineSecretTargets({
211
- alias: storedSecret.alias.value,
212
- targetBindings: [
213
- {
214
- kind: 'site',
215
- targetId: 'api.example.com',
216
- targetUrl: 'https://api.example.com/endpoint',
217
- methods: ['POST'],
218
- },
219
- ],
100
+ // 4. Grant agent capabilities (Simplified Flattened API)
101
+ await client.grantCapability({
102
+ agentId: 'worker-1',
103
+ secretAliases: ['api-token'],
104
+ allowedTargets: ['https://api.example.com/*'],
105
+ requiresApproval: true // Enable Human-in-the-Loop
220
106
  });
221
107
  ```
222
108
 
223
- `writeSecret(...)` is the one-step variant and requires `targetBindings`.
109
+ ### 6. Consuming Secrets (Agent)
224
110
 
225
- Capability example:
111
+ 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).
226
112
 
113
+ #### Using a Session Token (Stateless/Token-based)
227
114
  ```ts
228
- const capability = {
229
- vaultId: vault.vaultId,
230
- capabilityId: 'cap-1',
231
- agentId: agentIdentity.identityId,
232
- secretAliases: ['api-token'],
233
- operation: 'dispatch_http',
234
- allowedTargets: ['https://api.example.com/endpoint'],
235
- allowedMethods: ['POST'],
236
- issuedAt: new Date().toISOString(),
237
- };
115
+ import { createAgentClient } from '@the-ai-company/cbio-node-runtime';
238
116
 
239
- await client.grantCapability({ capability });
240
- ```
117
+ const agent = createAgentClient({
118
+ agentIdentity: { agentId: 'worker-1' },
119
+ capability: myCapability,
120
+ token: session.token, // Issued by the owner
121
+ vault: vault.vault
122
+ });
241
123
 
242
- Custom flow example:
124
+ const result = await agent.dispatch({ ... });
125
+ ```
243
126
 
127
+ #### Using a Signature (Stateful/Key-based)
244
128
  ```ts
245
- await client.registerFlow({
246
- flowId: 'custom-status-read',
247
- ...createOwnerHttpFlowBoundary({
248
- mode: 'send_secret',
249
- targetUrl: 'https://api.example.com/custom-status',
250
- method: 'POST',
251
- responseVisibility: 'shape_only',
252
- }),
129
+ import { createAgentClient, LocalSigner } from '@the-ai-company/cbio-node-runtime';
130
+
131
+ const agent = createAgentClient({
132
+ agentIdentity: { agentId: 'worker-1' },
133
+ capability: myCapability,
134
+ signer: new LocalSigner({ privateKey: agentPrivateKey }),
135
+ vault: vault.vault
253
136
  });
254
137
  ```
255
138
 
256
- Acquisition example:
139
+ ---
257
140
 
258
- ```ts
259
- const acquireBoundary = createStandardAcquireBoundary({
260
- targetUrl: 'https://issuer.example.com/token',
261
- responseField: 'access_token',
262
- storeAlias: 'issuer-token',
263
- });
141
+ ## Documentation
264
142
 
265
- const acquired = await vault.acquireSecret({
266
- alias: acquireBoundary.responseSecret.storeAlias,
267
- issuerId: 'issuer-1',
268
- url: acquireBoundary.targetUrl,
269
- flow: 'oauth_token_response.access_token',
270
- method: acquireBoundary.method,
271
- });
143
+ - [Custody Model](docs/CUSTODY_MODEL.md) - Understanding managed agency and key storage.
144
+ - [Process Isolation](docs/PROCESS_ISOLATION.md) - Guidelines for A/B architecture.
272
145
 
273
- console.log(acquired.responseShape);
274
- // { token_type: 'Bearer', expires_in: 3600, scope: 'read write' }
146
+ ## Architecture Rules
275
147
 
276
- const exported = await client.exportSecret({
277
- alias: 'issuer-token',
278
- });
148
+ 1. **Secret Isolation**: Plane-text secrets never leave the Security Process.
149
+ 2. **Authority Root**: The master password is the only source of administrative authority.
150
+ 3. **Auditability**: Every administrative and agent action is recorded in the vault's audit log under the `vault-master` or agent principal.
151
+ 4. **Binary Discovery**: Either the vault is unlocked and visible, or it is a silent directory of encrypted shards.
279
152
 
280
- console.log(exported.plaintext);
281
- ```
153
+ ### Human-in-the-Loop (HITL) Workflow
282
154
 
283
- Persistent custody bootstrap example:
155
+ If a capability is granted with `requiresApproval: true`, the agent's dispatch will be paused until an owner approves it:
284
156
 
285
157
  ```ts
286
- const ownerIdentity = createIdentity({ nickname: 'owner-main' });
287
- const storage = new FsStorageProvider('/tmp/cbio-vault');
288
- const createdVault = await createVault(storage, {
289
- vaultId: 'vault-persistent',
290
- ownerIdentity,
291
- });
292
-
293
- const recoveredVault = await recoverVault(storage, {
294
- vaultId: 'vault-persistent',
295
- ownerIdentity,
296
- });
158
+ // In Agent process
159
+ const result = await agent.dispatch({ ... });
160
+ if (result.status === 'PENDING') {
161
+ console.log("Waiting for owner approval...");
162
+ }
163
+
164
+ // In Owner process (GUI or Script)
165
+ const pending = await client.listPendingDispatches();
166
+ if (pending.length > 0) {
167
+ // Inspect and approve the request
168
+ await client.approveDispatch(pending[0].requestId);
169
+ }
297
170
  ```
298
171
 
299
- ## Build
172
+ ## Build & Test
300
173
 
301
174
  ```bash
302
175
  npm run build
303
- npm run test
176
+ npm test
304
177
  ```
@@ -34,6 +34,7 @@ export interface CreateAgentClientOptions {
34
34
  vault?: VaultService;
35
35
  transport?: AgentDispatchTransport;
36
36
  signer?: AgentSigner;
37
+ token?: string;
37
38
  clock?: Clock;
38
39
  }
39
40
  /**
@@ -19,17 +19,29 @@ class DefaultAgentClient {
19
19
  _signer;
20
20
  _transport;
21
21
  _clock;
22
- constructor(_identity, _capability, _signer, _transport, _clock) {
22
+ _token;
23
+ constructor(_identity, _capability, _signer, _transport, _clock, _token) {
23
24
  this._identity = _identity;
24
25
  this._capability = _capability;
25
26
  this._signer = _signer;
26
27
  this._transport = _transport;
27
28
  this._clock = _clock;
29
+ this._token = _token;
28
30
  }
29
31
  async dispatch(intent) {
30
32
  const requestedAt = intent.requestedAt ?? this._clock.nowIso();
31
33
  const requestId = `${this._identity.agentId}:${requestedAt}:${intent.secretAlias ?? "no-secret"}:${intent.method}`;
32
- const signature = await this._signer.sign(createDispatchBinding(requestId, requestedAt, this._identity.agentId, this._capability.capabilityId, intent.secretAlias, intent.targetUrl, intent.method, intent.body));
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
+ }
33
45
  return this._transport.dispatch({
34
46
  vaultId: this._capability.vaultId,
35
47
  requestId,
@@ -53,10 +65,12 @@ class DefaultAgentClient {
53
65
  revocationVersion: this._capability.revocationVersion,
54
66
  rateLimit: this._capability.rateLimit,
55
67
  auditRequired: this._capability.auditRequired,
68
+ requiresApproval: this._capability.requiresApproval,
56
69
  },
57
70
  proof: {
58
71
  agentId: this._identity.agentId,
59
72
  signature,
73
+ token: this._token,
60
74
  requestId,
61
75
  requestedAt,
62
76
  },
@@ -74,14 +88,17 @@ function isCreateAgentClientOptions(value) {
74
88
  function isCreatedIdentity(value) {
75
89
  return "privateKey" in value && "publicKey" in value;
76
90
  }
77
- function resolveAgentSigner(identity, signer) {
78
- if (signer) {
79
- return signer;
91
+ function resolveAgentSigner(options) {
92
+ if (options.signer) {
93
+ return options.signer;
80
94
  }
81
- if (isCreatedIdentity(identity)) {
82
- return new LocalSigner(identity);
95
+ if (isCreatedIdentity(options.agentIdentity)) {
96
+ return new LocalSigner(options.agentIdentity);
83
97
  }
84
- throw new Error("createAgentClient() requires signer when agentIdentity does not include keys");
98
+ if (options.token) {
99
+ return undefined; // No signer needed if token is present
100
+ }
101
+ throw new Error("createAgentClient() requires signer or private key when no session token is provided");
85
102
  }
86
103
  function resolveAgentIdentity(options) {
87
104
  return "agentId" in options.agentIdentity
@@ -116,6 +133,6 @@ export function createAgentClient(options) {
116
133
  if (!isCreateAgentClientOptions(options)) {
117
134
  throw new Error("createAgentClient() requires a single options object");
118
135
  }
119
- return new DefaultAgentClient(resolveAgentIdentity(options), options.capability, resolveAgentSigner(options.agentIdentity, options.signer), resolveAgentTransport(options), options.clock ?? new SystemClock());
136
+ return new DefaultAgentClient(resolveAgentIdentity(options), options.capability, resolveAgentSigner(options), resolveAgentTransport(options), options.clock ?? new SystemClock(), options.token);
120
137
  }
121
138
  //# 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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"}
@@ -131,10 +131,21 @@ class DefaultVaultClient {
131
131
  }
132
132
  async grantCapability(input) {
133
133
  const requestedAt = input.requestedAt ?? this._clock.nowIso();
134
- const requestId = `${this._identityId}:${requestedAt}:${input.capability.capabilityId}:register_capability`;
134
+ const capabilityId = input.capabilityId ?? `cap_${crypto.randomUUID()}`;
135
+ const requestId = `${this._identityId}:${requestedAt}:${capabilityId}:register_capability`;
135
136
  const capability = {
136
- ...input.capability,
137
137
  vaultId: this._vault.vaultId,
138
+ agentId: input.agentId,
139
+ capabilityId,
140
+ operation: input.operation ?? "dispatch_http",
141
+ secretAliases: input.secretAliases ? [...input.secretAliases] : [],
142
+ allowedTargets: input.allowedTargets ? [...input.allowedTargets] : [],
143
+ allowedMethods: input.allowedMethods ? [...input.allowedMethods] : [],
144
+ allowedPaths: input.allowedPaths ? [...input.allowedPaths] : [],
145
+ rateLimit: input.rateLimit,
146
+ auditRequired: input.auditRequired,
147
+ requiresApproval: input.requiresApproval,
148
+ issuedAt: requestedAt,
138
149
  };
139
150
  await this._vault.registerCapability({
140
151
  vaultId: this._vault.vaultId,
@@ -225,6 +236,50 @@ class DefaultVaultClient {
225
236
  capabilityId: input.capabilityId,
226
237
  });
227
238
  }
239
+ async issueSessionToken(input) {
240
+ const requestedAt = input.requestedAt ?? this._clock.nowIso();
241
+ const requestId = `${this._identityId}:${requestedAt}:issue_session_token`;
242
+ return this._vault.issueSessionToken({
243
+ vaultId: this._vault.vaultId,
244
+ actor: {
245
+ kind: "owner",
246
+ id: this._identityId,
247
+ },
248
+ agentId: input.agentId,
249
+ requestId,
250
+ requestedAt,
251
+ });
252
+ }
253
+ async revokeSessionToken(input) {
254
+ return this._vault.revokeSessionToken({
255
+ vaultId: this._vault.vaultId,
256
+ actor: {
257
+ kind: "owner",
258
+ id: this._identityId,
259
+ },
260
+ token: input.token,
261
+ });
262
+ }
263
+ async listPendingDispatches() {
264
+ return this._vault.listPendingDispatches({
265
+ vaultId: this._vault.vaultId,
266
+ owner: { kind: "owner", id: this._identityId },
267
+ });
268
+ }
269
+ async approveDispatch(requestId) {
270
+ return this._vault.approveDispatch({
271
+ vaultId: this._vault.vaultId,
272
+ requestId,
273
+ owner: { kind: "owner", id: this._identityId },
274
+ });
275
+ }
276
+ async rejectDispatch(requestId) {
277
+ return this._vault.rejectDispatch({
278
+ vaultId: this._vault.vaultId,
279
+ requestId,
280
+ owner: { kind: "owner", id: this._identityId },
281
+ });
282
+ }
228
283
  }
229
284
  function isCreateVaultClientOptions(value) {
230
285
  return typeof value === "object" && value !== null && "vault" in value;
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/clients/owner/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,cAAc,EAAwB,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,WAAW,EAAc,MAAM,2BAA2B,CAAC;AAsGpE,MAAM,eAAe,GAAG,cAAc,CAAC;AAEvC,MAAM,kBAAkB;IAIH;IACA;IACA;IACA;IANF,WAAW,CAAS;IAErC,YACmB,MAAoB,EACpB,SAAyB,EACzB,OAAqB,EACrB,SAAgB,IAAI,WAAW,EAAE;QAHjC,WAAM,GAAN,MAAM,CAAc;QACpB,cAAS,GAAT,SAAS,CAAgB;QACzB,YAAO,GAAP,OAAO,CAAc;QACrB,WAAM,GAAN,MAAM,CAA2B;QAElD,IAAI,CAAC,WAAW,GAAG,SAAS,EAAE,UAAU,IAAI,eAAe,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAA4B;QAC5C,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAC9D,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,WAAW,IAAI,WAAW,IAAI,KAAK,CAAC,KAAK,eAAe,CAAC;QAEnF,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;YAC7B,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,SAAS;YACT,KAAK,EAAE;gBACL,IAAI,EAAE,OAAO;gBACb,EAAE,EAAE,IAAI,CAAC,WAAW;aACrB;YACD,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,cAAc,EAAE,EAAE;YAClB,WAAW;SACZ,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,KAAoC;QAC5D,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAC9D,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,WAAW,IAAI,WAAW,IAAI,KAAK,CAAC,KAAK,wBAAwB,CAAC;QAC5F,MAAM,cAAc,GAAG,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;QAEjD,OAAO,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC;YACrC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,SAAS;YACT,KAAK,EAAE;gBACL,IAAI,EAAE,OAAO;gBACb,EAAE,EAAE,IAAI,CAAC,WAAW;aACrB;YACD,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,cAAc;YACd,WAAW;SACZ,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAA4B;QAC5C,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAC9D,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,WAAW,IAAI,WAAW,IAAI,KAAK,CAAC,KAAK,eAAe,CAAC;QACnF,MAAM,cAAc,GAAG,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;QAEjD,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;YAC7B,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,SAAS;YACT,KAAK,EAAE;gBACL,IAAI,EAAE,OAAO;gBACb,EAAE,EAAE,IAAI,CAAC,WAAW;aACrB;YACD,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,cAAc;YACd,WAAW;SACZ,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,QAA8B,EAAE;QAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,WAAW,IAAI,WAAW,aAAa,CAAC;QAElE,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;YAC3B,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,KAAK,EAAE;gBACL,IAAI,EAAE,OAAO;gBACb,EAAE,EAAE,IAAI,CAAC,WAAW;aACrB;YACD,KAAK;YACL,SAAS;YACT,WAAW;SACZ,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAA6B;QAC9C,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAC9D,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,WAAW,IAAI,WAAW,IAAI,KAAK,CAAC,KAAK,gBAAgB,CAAC;QAEpF,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;YAC9B,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,KAAK,EAAE;gBACL,IAAI,EAAE,OAAO;gBACb,EAAE,EAAE,IAAI,CAAC,WAAW;aACrB;YACD,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,SAAS;YACT,WAAW;SACZ,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,KAA8B;QAChD,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAC9D,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,WAAW,IAAI,WAAW,IAAI,KAAK,CAAC,OAAO,0BAA0B,CAAC;QAChG,MAAM,aAAa,GAAG;YACpB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,CAAC;QAEF,MAAM,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC;YACtC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,SAAS;YACT,KAAK,EAAE;gBACL,IAAI,EAAE,OAAO;gBACb,EAAE,EAAE,IAAI,CAAC,WAAW;aACrB;YACD,aAAa;YACb,WAAW;SACZ,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAA4B;QAC5C,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG;YACb,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,CAAC;QAEF,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACjC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAU,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,KAAgC;QACpD,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAC9D,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,WAAW,IAAI,WAAW,IAAI,KAAK,CAAC,UAAU,CAAC,YAAY,sBAAsB,CAAC;QAC5G,MAAM,UAAU,GAAG;YACjB,GAAG,KAAK,CAAC,UAAU;YACnB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;SAC7B,CAAC;QAEF,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC;YACnC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,SAAS;YACT,KAAK,EAAE;gBACL,IAAI,EAAE,OAAO;gBACb,EAAE,EAAE,IAAI,CAAC,WAAW;aACrB;YACD,UAAU;YACV,WAAW;SACZ,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAA6B;QAC9C,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAC9D,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,WAAW,IAAI,WAAW,IAAI,KAAK,CAAC,MAAM,uBAAuB,CAAC;QAC5F,MAAM,IAAI,GAAG;YACX,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;YAC5C,cAAc,EAAE,KAAK,CAAC,cAAc;SACrC,CAAC;QAEF,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC;YACnC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,SAAS;YACT,KAAK,EAAE;gBACL,IAAI,EAAE,OAAO;gBACb,EAAE,EAAE,IAAI,CAAC,WAAW;aACrB;YACD,IAAI;YACJ,WAAW;SACZ,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAA6B;QAC9C,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAC9D,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,WAAW,IAAI,WAAW,IAAI,KAAK,CAAC,KAAK,gBAAgB,CAAC;QAEpF,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;YAC7B,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,SAAS;YACT,KAAK,EAAE;gBACL,IAAI,EAAE,OAAO;gBACb,EAAE,EAAE,IAAI,CAAC,WAAW;aACrB;YACD,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,WAAW;SACZ,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,QAA8B,EAAE;QAC/C,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAC9D,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,WAAW,IAAI,WAAW,cAAc,CAAC;QAEnE,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;YAC5B,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,SAAS;YACT,WAAW;YACX,KAAK,EAAE;gBACL,IAAI,EAAE,OAAO;gBACb,EAAE,EAAE,IAAI,CAAC,WAAW;aACrB;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,QAAoC,EAAE;QAC3D,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAC9D,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,WAAW,IAAI,WAAW,oBAAoB,CAAC;QAEzE,OAAO,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;YAClC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,SAAS;YACT,WAAW;YACX,KAAK,EAAE;gBACL,IAAI,EAAE,OAAO;gBACb,EAAE,EAAE,IAAI,CAAC,WAAW;aACrB;YACD,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,KAAiC;QACtD,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAC9D,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,WAAW,IAAI,WAAW,oBAAoB,CAAC;QAEzE,OAAO,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;YAClC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,SAAS;YACT,WAAW;YACX,KAAK,EAAE;gBACL,IAAI,EAAE,OAAO;gBACb,EAAE,EAAE,IAAI,CAAC,WAAW;aACrB;YACD,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,YAAY,EAAE,KAAK,CAAC,YAAY;SACjC,CAAC,CAAC;IACL,CAAC;CACF;AAED,SAAS,0BAA0B,CAAC,KAAc;IAChD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,CAAC;AACzE,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAsC;IAC/D,OAAO,YAAY,IAAI,KAAK,IAAI,WAAW,IAAI,KAAK,CAAC;AACvD,CAAC;AAED,SAAS,kBAAkB,CAAC,QAA0C,EAAE,MAAoB;IAC1F,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,QAAQ,IAAI,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5C,OAAO,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAiC;IAC7D,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QAC3B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO;QACL,UAAU,EAAE,OAAO,CAAC,aAAa,CAAC,UAAU;KAC7C,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAiC;IACjE,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;IACvF,CAAC;IACD,OAAO,IAAI,kBAAkB,CAC3B,OAAO,CAAC,KAAK,EACb,oBAAoB,CAAC,OAAO,CAAC,EAC7B,kBAAkB,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,EACzD,OAAO,CAAC,KAAK,IAAI,IAAI,WAAW,EAAE,CACnC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/clients/owner/client.ts"],"names":[],"mappings":"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"}