@cef-ai/vault-sdk 4.3.0 → 5.1.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 (64) hide show
  1. package/README.md +35 -19
  2. package/dist/agreements/payload.d.ts +15 -1
  3. package/dist/agreements/payload.d.ts.map +1 -1
  4. package/dist/agreements/payload.js +13 -1
  5. package/dist/agreements/payload.js.map +1 -1
  6. package/dist/agreements/sign.d.ts +16 -3
  7. package/dist/agreements/sign.d.ts.map +1 -1
  8. package/dist/agreements/sign.js +16 -1
  9. package/dist/agreements/sign.js.map +1 -1
  10. package/dist/client.d.ts +54 -52
  11. package/dist/client.d.ts.map +1 -1
  12. package/dist/client.js +95 -98
  13. package/dist/client.js.map +1 -1
  14. package/dist/core/connect-scopes.d.ts +18 -0
  15. package/dist/core/connect-scopes.d.ts.map +1 -0
  16. package/dist/core/connect-scopes.js +72 -0
  17. package/dist/core/connect-scopes.js.map +1 -0
  18. package/dist/core/endpoints.d.ts +22 -1
  19. package/dist/core/endpoints.d.ts.map +1 -1
  20. package/dist/core/endpoints.js +24 -3
  21. package/dist/core/endpoints.js.map +1 -1
  22. package/dist/core/errors.d.ts +13 -1
  23. package/dist/core/errors.d.ts.map +1 -1
  24. package/dist/core/errors.js +14 -2
  25. package/dist/core/errors.js.map +1 -1
  26. package/dist/core/types.d.ts +70 -3
  27. package/dist/core/types.d.ts.map +1 -1
  28. package/dist/fluent/agent-connection.d.ts +16 -1
  29. package/dist/fluent/agent-connection.d.ts.map +1 -1
  30. package/dist/fluent/agent-connection.js +20 -0
  31. package/dist/fluent/agent-connection.js.map +1 -1
  32. package/dist/fluent/service.d.ts +34 -0
  33. package/dist/fluent/service.d.ts.map +1 -0
  34. package/dist/fluent/service.js +41 -0
  35. package/dist/fluent/service.js.map +1 -0
  36. package/dist/fluent/vault.d.ts +59 -10
  37. package/dist/fluent/vault.d.ts.map +1 -1
  38. package/dist/fluent/vault.js +62 -8
  39. package/dist/fluent/vault.js.map +1 -1
  40. package/dist/index.d.ts +2 -3
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +7 -10
  43. package/dist/index.js.map +1 -1
  44. package/dist/internal/agents.d.ts +54 -7
  45. package/dist/internal/agents.d.ts.map +1 -1
  46. package/dist/internal/agents.js +110 -8
  47. package/dist/internal/agents.js.map +1 -1
  48. package/dist/internal/cubbies.d.ts +33 -0
  49. package/dist/internal/cubbies.d.ts.map +1 -1
  50. package/dist/internal/cubbies.js +39 -0
  51. package/dist/internal/cubbies.js.map +1 -1
  52. package/dist/internal/memory.d.ts +85 -5
  53. package/dist/internal/memory.d.ts.map +1 -1
  54. package/dist/internal/memory.js +58 -8
  55. package/dist/internal/memory.js.map +1 -1
  56. package/dist/internal/vaults.d.ts +8 -5
  57. package/dist/internal/vaults.d.ts.map +1 -1
  58. package/dist/internal/vaults.js +0 -10
  59. package/dist/internal/vaults.js.map +1 -1
  60. package/package.json +2 -2
  61. package/dist/internal/gateway-info.d.ts +0 -16
  62. package/dist/internal/gateway-info.d.ts.map +0 -1
  63. package/dist/internal/gateway-info.js +0 -34
  64. package/dist/internal/gateway-info.js.map +0 -1
@@ -35,15 +35,46 @@ export interface Scope {
35
35
  createdAt: string;
36
36
  }
37
37
  export type AgentConnectionStatus = "provisioning" | "active" | "revoking" | "revoked";
38
+ /**
39
+ * Per-connection spend ceiling. The orchestrator refuses a new Task once the
40
+ * connection's cumulative spend on an axis reaches that axis's ceiling.
41
+ *
42
+ * The two axes are deliberately separate and never summed:
43
+ * - `gpuUnits` — compute units the platform itself METERED (a bill).
44
+ * - `a2aTokens` — tokens an external agent SELF-REPORTED over A2A (a stop
45
+ * signal, not a bill; the platform cannot verify it). Always an integer.
46
+ *
47
+ * An absent axis, or `0`, means "no ceiling on that axis". vault-api omits the
48
+ * whole `ceiling` key from an {@link AgentConnection} when neither axis is set.
49
+ */
50
+ export interface ConnectionCeiling {
51
+ /** Ceiling on platform-METERED compute units. Absent or 0 = no ceiling. */
52
+ gpuUnits?: number;
53
+ /** Ceiling on agent-SELF-REPORTED A2A tokens (integer). Absent or 0 = no ceiling. */
54
+ a2aTokens?: number;
55
+ }
38
56
  export interface AgentConnection {
39
57
  vaultId: string;
40
58
  agentId: string;
41
59
  scope: string;
60
+ /**
61
+ * The full set of vault scopes this connection declared, when the server
62
+ * reports it. Optional and additive: an older vault-api that predates the
63
+ * scope set omits this field entirely, so callers must not assume it is
64
+ * present — fall back to the singular `scope` (always present) when it's
65
+ * absent.
66
+ */
67
+ scopes?: string[];
42
68
  version: string;
43
69
  asPubKey: string;
44
70
  cubbyAliases: string[];
45
71
  status: AgentConnectionStatus;
46
72
  manifest?: unknown;
73
+ /**
74
+ * Spend ceiling for this connection. Absent (the key is omitted by
75
+ * vault-api) = no ceiling on either axis. See {@link ConnectionCeiling}.
76
+ */
77
+ ceiling?: ConnectionCeiling;
47
78
  createdAt: string;
48
79
  updatedAt: string;
49
80
  }
@@ -182,17 +213,53 @@ export interface CubbyExecResponse {
182
213
  lastInsertId?: number | string;
183
214
  [key: string]: unknown;
184
215
  }
216
+ /**
217
+ * Exactly one of `scope` (singular, pre-scope-set callers) or `scopes` (a
218
+ * set) may be supplied on a connect request/input — never both, never
219
+ * neither. The `?: never` on each arm's sibling turns "both" into a compile
220
+ * error for an object literal passed directly at the call site — a plain
221
+ * (non-exclusive) union of `{ scope: string }` and `{ scopes: string[] }`
222
+ * would NOT catch this: TypeScript's excess-property check only flags a
223
+ * property unknown to every constituent, and `scope`/`scopes` are each known
224
+ * to one constituent, so it would wave a literal naming both straight
225
+ * through. `?: never` on the sibling closes that gap. A value assembled
226
+ * dynamically (spread, external data, `any`) can still bypass this — see
227
+ * `resolveConnectScopes` in `./connect-scopes.js` for the runtime backstop.
228
+ */
229
+ export type ScopeSelector = {
230
+ scope: string;
231
+ scopes?: never;
232
+ } | {
233
+ scopes: string[];
234
+ scope?: never;
235
+ };
185
236
  /**
186
237
  * Body of vault-api `POST /api/v1/vaults/:v/agents`. Card-only: the vault-api
187
238
  * re-fetches the manifest from the DDC registry itself and ignores any
188
239
  * client-sent `version`/`manifestCid`, so neither is sent.
240
+ *
241
+ * `scopes` carries a set of vault scopes for the connection; `scope` is the
242
+ * pre-existing singular form, kept for callers that predate the set. Send
243
+ * whichever field the caller supplied — the SDK must not derive one from the
244
+ * other here. See {@link ScopeSelector} for why exactly one is required.
189
245
  */
190
- export interface ConnectAgentRequest {
246
+ export type ConnectAgentRequest = ScopeSelector & {
191
247
  agentId: string;
192
- scope: string;
193
248
  settings?: Record<string, unknown>;
194
249
  agreementSignature?: string;
195
- }
250
+ /**
251
+ * Optional spend ceiling, written atomically with the connection row —
252
+ * same fields and semantics as the `PUT …/agents/:a/ceiling` body
253
+ * (`{ gpuUnits, a2aTokens }`, absent axis or `0` = no ceiling on that
254
+ * axis). Set it here to avoid a window where the connection exists with no
255
+ * ceiling; use `setCeiling` to change it later.
256
+ *
257
+ * Validated client-side exactly like `Agents.setCeiling` before any
258
+ * request is sent; when present, both axes go on the wire (an absent axis
259
+ * as `0`). Omitted from the body entirely when `undefined`.
260
+ */
261
+ ceiling?: ConnectionCeiling;
262
+ };
196
263
  /**
197
264
  * ADR-002 object storage (company-memory-bank
198
265
  * 04-cef/user-vault/decisions/ADR-002-vault-object-storage.md).
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { VaultHttpClient } from "../core/http.js";
2
2
  import { type ListJobsOptions } from "../internal/browse.js";
3
- import type { AgentConnection, AgentConnectionStatus, JobsPage } from "../core/types.js";
3
+ import type { AgentConnection, AgentConnectionStatus, ConnectionCeiling, JobsPage } from "../core/types.js";
4
4
  import { CubbyHandle } from "./cubby.js";
5
5
  export declare class AgentConnectionHandle implements AgentConnection {
6
6
  private readonly http;
@@ -8,11 +8,20 @@ export declare class AgentConnectionHandle implements AgentConnection {
8
8
  readonly vaultId: string;
9
9
  readonly agentId: string;
10
10
  readonly scope: string;
11
+ /**
12
+ * The full set of vault scopes this connection declared, when the server
13
+ * reports it. See {@link AgentConnection.scopes}. `this.scope` stays the
14
+ * single scope `cubby()` addresses — a cubby is keyed by one scope, and
15
+ * that remains correct even when the connection spans several.
16
+ */
17
+ readonly scopes?: string[];
11
18
  readonly version: string;
12
19
  readonly asPubKey: string;
13
20
  readonly cubbyAliases: string[];
14
21
  readonly status: AgentConnectionStatus;
15
22
  readonly manifest?: unknown;
23
+ /** Spend ceiling; absent = no ceiling on either axis. See {@link ConnectionCeiling}. */
24
+ readonly ceiling?: ConnectionCeiling;
16
25
  readonly createdAt: string;
17
26
  readonly updatedAt: string;
18
27
  private readonly api;
@@ -20,6 +29,12 @@ export declare class AgentConnectionHandle implements AgentConnection {
20
29
  constructor(http: VaultHttpClient, vaultIdRoot: string, record: AgentConnection);
21
30
  cubby(alias: string): CubbyHandle;
22
31
  update(settings: Record<string, unknown>): Promise<AgentConnectionHandle>;
32
+ /**
33
+ * Replace this connection's spend ceiling (`PUT …/ceiling`) and return a
34
+ * fresh handle. Absent axis = 0 = no ceiling; `{}` clears both. See
35
+ * `Agents.setCeiling` for validation.
36
+ */
37
+ setCeiling(ceiling: ConnectionCeiling): Promise<AgentConnectionHandle>;
23
38
  disconnect(): Promise<void>;
24
39
  jobs: {
25
40
  list: (o?: ListJobsOptions) => Promise<JobsPage>;
@@ -1 +1 @@
1
- {"version":3,"file":"agent-connection.d.ts","sourceRoot":"","sources":["../../src/fluent/agent-connection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,EAAU,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,KAAK,EAAE,eAAe,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACzF,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,qBAAa,qBAAsB,YAAW,eAAe;IAgBzD,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAhB9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IACvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAGb,IAAI,EAAE,eAAe,EACrB,WAAW,EAAE,MAAM,EACpC,MAAM,EAAE,eAAe;IAgBzB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW;IAS3B,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAK/E,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,IAAI;mBACQ,eAAe,KAAQ,OAAO,CAAC,QAAQ,CAAC;MAElD;CACH"}
1
+ {"version":3,"file":"agent-connection.d.ts","sourceRoot":"","sources":["../../src/fluent/agent-connection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,EAAU,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,KAAK,EAAE,eAAe,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5G,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,qBAAa,qBAAsB,YAAW,eAAe;IAyBzD,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAzB9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IACvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,wFAAwF;IACxF,QAAQ,CAAC,OAAO,CAAC,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAGb,IAAI,EAAE,eAAe,EACrB,WAAW,EAAE,MAAM,EACpC,MAAM,EAAE,eAAe;IAkBzB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW;IAS3B,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAK/E;;;;OAIG;IACG,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAK5E,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,IAAI;mBACQ,eAAe,KAAQ,OAAO,CAAC,QAAQ,CAAC;MAElD;CACH"}
@@ -7,11 +7,20 @@ export class AgentConnectionHandle {
7
7
  vaultId;
8
8
  agentId;
9
9
  scope;
10
+ /**
11
+ * The full set of vault scopes this connection declared, when the server
12
+ * reports it. See {@link AgentConnection.scopes}. `this.scope` stays the
13
+ * single scope `cubby()` addresses — a cubby is keyed by one scope, and
14
+ * that remains correct even when the connection spans several.
15
+ */
16
+ scopes;
10
17
  version;
11
18
  asPubKey;
12
19
  cubbyAliases;
13
20
  status;
14
21
  manifest;
22
+ /** Spend ceiling; absent = no ceiling on either axis. See {@link ConnectionCeiling}. */
23
+ ceiling;
15
24
  createdAt;
16
25
  updatedAt;
17
26
  api;
@@ -22,11 +31,13 @@ export class AgentConnectionHandle {
22
31
  this.vaultId = record.vaultId;
23
32
  this.agentId = record.agentId;
24
33
  this.scope = record.scope;
34
+ this.scopes = record.scopes;
25
35
  this.version = record.version;
26
36
  this.asPubKey = record.asPubKey;
27
37
  this.cubbyAliases = record.cubbyAliases;
28
38
  this.status = record.status;
29
39
  this.manifest = record.manifest;
40
+ this.ceiling = record.ceiling;
30
41
  this.createdAt = record.createdAt;
31
42
  this.updatedAt = record.updatedAt;
32
43
  this.api = new Agents(http);
@@ -42,6 +53,15 @@ export class AgentConnectionHandle {
42
53
  const updated = await this.api.update(this.vaultIdRoot, this.agentId, settings);
43
54
  return new AgentConnectionHandle(this.http, this.vaultIdRoot, updated);
44
55
  }
56
+ /**
57
+ * Replace this connection's spend ceiling (`PUT …/ceiling`) and return a
58
+ * fresh handle. Absent axis = 0 = no ceiling; `{}` clears both. See
59
+ * `Agents.setCeiling` for validation.
60
+ */
61
+ async setCeiling(ceiling) {
62
+ const updated = await this.api.setCeiling(this.vaultIdRoot, this.agentId, ceiling);
63
+ return new AgentConnectionHandle(this.http, this.vaultIdRoot, updated);
64
+ }
45
65
  disconnect() {
46
66
  return this.api.disconnect(this.vaultIdRoot, this.agentId);
47
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"agent-connection.js","sourceRoot":"","sources":["../../src/fluent/agent-connection.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAwB,MAAM,uBAAuB,CAAC;AAErE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,OAAO,qBAAqB;IAgBb;IACA;IAhBV,OAAO,CAAS;IAChB,OAAO,CAAS;IAChB,KAAK,CAAS;IACd,OAAO,CAAS;IAChB,QAAQ,CAAS;IACjB,YAAY,CAAW;IACvB,MAAM,CAAwB;IAC9B,QAAQ,CAAW;IACnB,SAAS,CAAS;IAClB,SAAS,CAAS;IAEV,GAAG,CAAS;IACZ,MAAM,CAAS;IAEhC,YACmB,IAAqB,EACrB,WAAmB,EACpC,MAAuB;QAFN,SAAI,GAAJ,IAAI,CAAiB;QACrB,gBAAW,GAAX,WAAW,CAAQ;QAGpC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QACxC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,GAAG,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,KAAa;QACjB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CACb,SAAS,IAAI,CAAC,OAAO,kBAAkB,KAAK,wBAAwB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,EAAE,CAC/G,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACvF,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,QAAiC;QAC5C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAChF,OAAO,IAAI,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACzE,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,GAAG;QACL,IAAI,EAAE,CAAC,IAAqB,EAAE,EAAqB,EAAE,CACnD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;KAC/D,CAAC;CACH"}
1
+ {"version":3,"file":"agent-connection.js","sourceRoot":"","sources":["../../src/fluent/agent-connection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import type { VaultHttpClient } from "../core/http.js";
2
+ import type { CubbyQueryResponse, CubbyExecResponse } from "../core/types.js";
3
+ import { type CubbyMigration, type ServiceCubby } from "../internal/cubbies.js";
4
+ /**
5
+ * One agent service's cubbies, in one vault.
6
+ *
7
+ * NO SCOPE. A scope is a compartment of a vault, and a cubby addressed inside
8
+ * one forks the state of whatever owns it — a service connected to `eng` and to
9
+ * `sales` would have two databases under one alias, remembering different things
10
+ * depending on which one triggered it. A service's cubbies are global within the
11
+ * vault, which is why this hangs off the vault rather than off a scope.
12
+ *
13
+ * The four things a console does with them: see what exists, read one, write to
14
+ * one, and create or remove one. Reads need a reader grant; everything else
15
+ * needs member level, which is not a relaxation — a member can already bring a
16
+ * cubby into being by writing into an alias that does not exist yet, so gating
17
+ * the deliberate version harder would only push people to the path with no
18
+ * schema in it.
19
+ */
20
+ export declare class ServiceHandle {
21
+ private readonly vaultId;
22
+ readonly asPubKey: string;
23
+ private readonly cubbies;
24
+ constructor(http: VaultHttpClient, vaultId: string, asPubKey: string);
25
+ /** Every cubby this service holds in this vault. The registry is the list. */
26
+ list(): Promise<ServiceCubby[]>;
27
+ cubby(alias: string): {
28
+ query<Row = unknown[]>(sql: string, params?: unknown[]): Promise<CubbyQueryResponse<Row>>;
29
+ exec(sql: string, params?: unknown[]): Promise<CubbyExecResponse>;
30
+ provision(migrations: CubbyMigration[]): Promise<void>;
31
+ delete(): Promise<void>;
32
+ };
33
+ }
34
+ //# sourceMappingURL=service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/fluent/service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAW,KAAK,cAAc,EAAE,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEzF;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,aAAa;IAKtB,OAAO,CAAC,QAAQ,CAAC,OAAO;aACR,QAAQ,EAAE,MAAM;IALlC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;gBAGhC,IAAI,EAAE,eAAe,EACJ,OAAO,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM;IAKlC,8EAA8E;IAC9E,IAAI,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAI/B,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG;QACpB,KAAK,CAAC,GAAG,GAAG,OAAO,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1F,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAClE,SAAS,CAAC,UAAU,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACvD,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;KACzB;CAYF"}
@@ -0,0 +1,41 @@
1
+ import { Cubbies } from "../internal/cubbies.js";
2
+ /**
3
+ * One agent service's cubbies, in one vault.
4
+ *
5
+ * NO SCOPE. A scope is a compartment of a vault, and a cubby addressed inside
6
+ * one forks the state of whatever owns it — a service connected to `eng` and to
7
+ * `sales` would have two databases under one alias, remembering different things
8
+ * depending on which one triggered it. A service's cubbies are global within the
9
+ * vault, which is why this hangs off the vault rather than off a scope.
10
+ *
11
+ * The four things a console does with them: see what exists, read one, write to
12
+ * one, and create or remove one. Reads need a reader grant; everything else
13
+ * needs member level, which is not a relaxation — a member can already bring a
14
+ * cubby into being by writing into an alias that does not exist yet, so gating
15
+ * the deliberate version harder would only push people to the path with no
16
+ * schema in it.
17
+ */
18
+ export class ServiceHandle {
19
+ vaultId;
20
+ asPubKey;
21
+ cubbies;
22
+ constructor(http, vaultId, asPubKey) {
23
+ this.vaultId = vaultId;
24
+ this.asPubKey = asPubKey;
25
+ this.cubbies = new Cubbies(http);
26
+ }
27
+ /** Every cubby this service holds in this vault. The registry is the list. */
28
+ list() {
29
+ return this.cubbies.serviceList(this.vaultId, this.asPubKey);
30
+ }
31
+ cubby(alias) {
32
+ const { vaultId, asPubKey, cubbies } = this;
33
+ return {
34
+ query: (sql, params = []) => cubbies.serviceQuery(vaultId, asPubKey, alias, sql, params),
35
+ exec: (sql, params = []) => cubbies.serviceExec(vaultId, asPubKey, alias, sql, params),
36
+ provision: (migrations) => cubbies.serviceProvision(vaultId, asPubKey, alias, migrations),
37
+ delete: () => cubbies.serviceDelete(vaultId, asPubKey, alias),
38
+ };
39
+ }
40
+ }
41
+ //# sourceMappingURL=service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/fluent/service.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAA0C,MAAM,wBAAwB,CAAC;AAEzF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,aAAa;IAKL;IACD;IALD,OAAO,CAAU;IAElC,YACE,IAAqB,EACJ,OAAe,EAChB,QAAgB;QADf,YAAO,GAAP,OAAO,CAAQ;QAChB,aAAQ,GAAR,QAAQ,CAAQ;QAEhC,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,8EAA8E;IAC9E,IAAI;QACF,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,KAAa;QAMjB,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QAC5C,OAAO;YACL,KAAK,EAAE,CAAkB,GAAW,EAAE,SAAoB,EAAE,EAAE,EAAE,CAC9D,OAAO,CAAC,YAAY,CAAM,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC;YAClE,IAAI,EAAE,CAAC,GAAW,EAAE,SAAoB,EAAE,EAAE,EAAE,CAC5C,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC;YAC5D,SAAS,EAAE,CAAC,UAA4B,EAAE,EAAE,CAC1C,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC;YAChE,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC;SAC9D,CAAC;IACJ,CAAC;CACF"}
@@ -1,8 +1,9 @@
1
1
  import type { VaultHttpClient } from "../core/http.js";
2
2
  import { type CreateScopeRequest, type UpdateScopeRequest } from "../internal/scopes.js";
3
3
  import { Memory } from "../internal/memory.js";
4
- import type { JobsPage, Scope, VaultCredentialStatus, VaultRecord } from "../core/types.js";
4
+ import type { ConnectionCeiling, JobsPage, Scope, ScopeSelector, VaultCredentialStatus, VaultRecord } from "../core/types.js";
5
5
  import { ScopeHandle } from "./scope.js";
6
+ import { ServiceHandle } from "./service.js";
6
7
  import { AgentConnectionHandle } from "./agent-connection.js";
7
8
  import { JobHandle } from "./job.js";
8
9
  import type { Signer } from "@cef-ai/signer";
@@ -13,14 +14,16 @@ export interface VaultDeps {
13
14
  /** Signer — required for high-level `agents.connect`. */
14
15
  signer?: Signer;
15
16
  }
16
- /** Input for the high-level `vault.agents.connect` flow. */
17
- export interface ConnectAgentInput {
17
+ /**
18
+ * Input for the high-level `vault.agents.connect` flow. Exactly one of
19
+ * `scope`/`scopes` is required — see {@link ScopeSelector}.
20
+ */
21
+ export type ConnectAgentInput = ScopeSelector & {
18
22
  /**
19
23
  * Marketplace agent id, formatted `<agentServicePubkey>:<alias>`. The AS
20
24
  * pubkey is derived from the prefix unless `agentServicePubkey` is passed.
21
25
  */
22
26
  agentId: string;
23
- scope: string;
24
27
  settings?: Record<string, unknown>;
25
28
  /**
26
29
  * Explicit agent-service pubkey. Overrides the value derived from the
@@ -28,7 +31,19 @@ export interface ConnectAgentInput {
28
31
  * `<pubkey>:<alias>` form.
29
32
  */
30
33
  agentServicePubkey?: string;
31
- }
34
+ /**
35
+ * Optional spend ceiling (`{ gpuUnits?, a2aTokens? }`, absent axis or `0` =
36
+ * no ceiling on that axis), written atomically with the connection row.
37
+ * Set it here to avoid a window where the connection exists with no
38
+ * ceiling; use `setCeiling` to change it later.
39
+ *
40
+ * Validated like `AgentConnectionHandle.setCeiling` BEFORE the GAR
41
+ * agreement is signed or any request is sent — an invalid ceiling rejects
42
+ * with `VaultRequestError(status 0, "BAD_REQUEST")` and costs no wallet
43
+ * ceremony.
44
+ */
45
+ ceiling?: ConnectionCeiling;
46
+ };
32
47
  export declare class Vault {
33
48
  readonly id: string;
34
49
  readonly bucketId: string;
@@ -50,8 +65,8 @@ export declare class Vault {
50
65
  private readonly _browse;
51
66
  /**
52
67
  * The memory bank's READ surface (search / get / neighbours /
53
- * countByType) — the memory-route UI's client. Writes are agent-side
54
- * (`ctx.memory` in `@cef-ai/agent-sdk`).
68
+ * countByType / list) — the memory-route UI's client. Writes are
69
+ * agent-side (`ctx.memory` in `@cef-ai/agent-sdk`).
55
70
  */
56
71
  readonly memory: Memory;
57
72
  private readonly _gar?;
@@ -66,17 +81,51 @@ export declare class Vault {
66
81
  delete: (n: string) => Promise<void>;
67
82
  };
68
83
  scope(name: string): ScopeHandle;
84
+ /**
85
+ * The cubbies an agent SERVICE owns in this vault.
86
+ *
87
+ * Off the VAULT, not off a scope. A scope is a compartment of a vault, and a
88
+ * cubby addressed inside one forks the state of whatever owns it — a service
89
+ * connected to two of them would remember different things depending on which
90
+ * one triggered it. A service's cubbies are global within the vault.
91
+ *
92
+ * `asPubKey` is the service's public key: the half of an agent id before the
93
+ * colon. It is named here rather than derived because the caller is a person
94
+ * or a console, not an agent — an agent reaches its own service through
95
+ * `ctx.cubby` and cannot name another.
96
+ */
97
+ service(asPubKey: string): ServiceHandle;
69
98
  /** True when vault-api reports its S3 credential can no longer be refreshed. */
70
99
  isDisconnected(): boolean;
71
100
  agents: {
72
101
  /**
73
- * Connect an agent. Builds and signs the GAR consent agreement
74
- * internally, POSTs it to the configured GAR endpoint, then calls
75
- * vault-api `POST /agents` with the resulting bare-hex signature.
102
+ * Connect an agent. Builds and signs ONE GAR consent agreement covering
103
+ * the whole requested scope set, POSTs it to the configured GAR
104
+ * endpoint, then calls vault-api `POST /agents` with the resulting
105
+ * bare-hex signature.
76
106
  *
77
107
  * Requires both `garEndpoint` and a `signer` on `VaultSDKConfig`.
78
108
  * For the low-level surface (pre-signed `agreementSignature`), use
79
109
  * `Agents.connect` from `@cef-ai/vault-sdk/internal`.
110
+ *
111
+ * Pass `ceiling` to set the connection's spend ceiling in the same
112
+ * atomic write as the connection row: set it here to avoid a window
113
+ * where the connection exists with no ceiling; use `setCeiling` to
114
+ * change it later. It is validated before anything is signed or sent.
115
+ *
116
+ * One agreement, not one per scope: the vault-api's connect precheck
117
+ * (`Agreement.CheckScopeGrant` in the vault repo) keys consent on
118
+ * (agent-service pubkey, user pubkey) only and explicitly discards the
119
+ * `scope` argument it's passed — `internal/compute/vault/agreement/
120
+ * client.go`'s signature names that parameter `_ /* scope *\/`, and its
121
+ * doc says plainly that GAR's scope list is "opaque" to the vault and
122
+ * that "scope membership is the user's call at consent time — encoded in
123
+ * the agreement they sign." Signing N agreements for the same (AS, user)
124
+ * pair would just answer that one cached check N times — no additional
125
+ * gate cleared — while costing N wallet ceremonies and N POSTs to the
126
+ * same GAR key. So `agreementSignature`'s single agreement carries
127
+ * `metadata.scopes` = the whole effective set, honestly recording what
128
+ * the user actually consented to.
80
129
  */
81
130
  connect: (input: ConnectAgentInput) => Promise<AgentConnectionHandle>;
82
131
  list: () => Promise<AgentConnectionHandle[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"vault.d.ts","sourceRoot":"","sources":["../../src/fluent/vault.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vault.d.ts","sourceRoot":"","sources":["../../src/fluent/vault.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,10 @@
1
1
  import { Scopes, } from "../internal/scopes.js";
2
- import { Agents } from "../internal/agents.js";
2
+ import { Agents, validateCeiling } from "../internal/agents.js";
3
3
  import { Browse } from "../internal/browse.js";
4
4
  import { Memory } from "../internal/memory.js";
5
+ import { resolveConnectScopes } from "../core/connect-scopes.js";
5
6
  import { ScopeHandle } from "./scope.js";
7
+ import { ServiceHandle } from "./service.js";
6
8
  import { AgentConnectionHandle } from "./agent-connection.js";
7
9
  import { JobHandle } from "./job.js";
8
10
  import { signAndSubmitAgreement } from "../agreements/sign.js";
@@ -28,8 +30,8 @@ export class Vault {
28
30
  _browse;
29
31
  /**
30
32
  * The memory bank's READ surface (search / get / neighbours /
31
- * countByType) — the memory-route UI's client. Writes are agent-side
32
- * (`ctx.memory` in `@cef-ai/agent-sdk`).
33
+ * countByType / list) — the memory-route UI's client. Writes are
34
+ * agent-side (`ctx.memory` in `@cef-ai/agent-sdk`).
33
35
  */
34
36
  memory;
35
37
  _gar;
@@ -68,17 +70,53 @@ export class Vault {
68
70
  scope(name) {
69
71
  return new ScopeHandle(this._http, this.id, name);
70
72
  }
73
+ /**
74
+ * The cubbies an agent SERVICE owns in this vault.
75
+ *
76
+ * Off the VAULT, not off a scope. A scope is a compartment of a vault, and a
77
+ * cubby addressed inside one forks the state of whatever owns it — a service
78
+ * connected to two of them would remember different things depending on which
79
+ * one triggered it. A service's cubbies are global within the vault.
80
+ *
81
+ * `asPubKey` is the service's public key: the half of an agent id before the
82
+ * colon. It is named here rather than derived because the caller is a person
83
+ * or a console, not an agent — an agent reaches its own service through
84
+ * `ctx.cubby` and cannot name another.
85
+ */
86
+ service(asPubKey) {
87
+ return new ServiceHandle(this._http, this.id, asPubKey);
88
+ }
71
89
  /** True when vault-api reports its S3 credential can no longer be refreshed. */
72
90
  isDisconnected() { return this.status === "disconnected"; }
73
91
  agents = {
74
92
  /**
75
- * Connect an agent. Builds and signs the GAR consent agreement
76
- * internally, POSTs it to the configured GAR endpoint, then calls
77
- * vault-api `POST /agents` with the resulting bare-hex signature.
93
+ * Connect an agent. Builds and signs ONE GAR consent agreement covering
94
+ * the whole requested scope set, POSTs it to the configured GAR
95
+ * endpoint, then calls vault-api `POST /agents` with the resulting
96
+ * bare-hex signature.
78
97
  *
79
98
  * Requires both `garEndpoint` and a `signer` on `VaultSDKConfig`.
80
99
  * For the low-level surface (pre-signed `agreementSignature`), use
81
100
  * `Agents.connect` from `@cef-ai/vault-sdk/internal`.
101
+ *
102
+ * Pass `ceiling` to set the connection's spend ceiling in the same
103
+ * atomic write as the connection row: set it here to avoid a window
104
+ * where the connection exists with no ceiling; use `setCeiling` to
105
+ * change it later. It is validated before anything is signed or sent.
106
+ *
107
+ * One agreement, not one per scope: the vault-api's connect precheck
108
+ * (`Agreement.CheckScopeGrant` in the vault repo) keys consent on
109
+ * (agent-service pubkey, user pubkey) only and explicitly discards the
110
+ * `scope` argument it's passed — `internal/compute/vault/agreement/
111
+ * client.go`'s signature names that parameter `_ /* scope *\/`, and its
112
+ * doc says plainly that GAR's scope list is "opaque" to the vault and
113
+ * that "scope membership is the user's call at consent time — encoded in
114
+ * the agreement they sign." Signing N agreements for the same (AS, user)
115
+ * pair would just answer that one cached check N times — no additional
116
+ * gate cleared — while costing N wallet ceremonies and N POSTs to the
117
+ * same GAR key. So `agreementSignature`'s single agreement carries
118
+ * `metadata.scopes` = the whole effective set, honestly recording what
119
+ * the user actually consented to.
82
120
  */
83
121
  connect: async (input) => {
84
122
  if (!this._gar) {
@@ -98,18 +136,34 @@ export class Vault {
98
136
  `'${input.agentId}' (expected '<pubkey>:<alias>'); pass ` +
99
137
  `agentServicePubkey explicitly`);
100
138
  }
139
+ // Effective scope set, resolved once — also the runtime backstop for
140
+ // a dynamically-built `input` naming both `scope` and `scopes` (or
141
+ // neither), bypassing ScopeSelector's compile-time guarantee for an
142
+ // object literal. Used only to decide what the single GAR agreement's
143
+ // `metadata.scopes` contains; the wire body below still sends exactly
144
+ // whichever field the caller supplied, untouched.
145
+ const effectiveScopes = resolveConnectScopes(input, "vault.agents.connect");
146
+ // Validate the ceiling before the wallet ceremony and the GAR POST:
147
+ // a bad ceiling must not cost a signature (Agents.connect re-validates
148
+ // the same value — it is the low-level surface's own guard).
149
+ if (input.ceiling !== undefined)
150
+ validateCeiling(input.ceiling);
101
151
  const { agreementSignature } = await signAndSubmitAgreement({
102
152
  signer: this._signer,
103
153
  vault: { id: this.id, userPubKey: this._userPubKey },
104
154
  agent: { agentId: input.agentId, agentServicePubkey },
105
- scope: input.scope,
155
+ scopes: effectiveScopes,
106
156
  gar: this._gar,
107
157
  });
158
+ const scopeFields = input.scope !== undefined
159
+ ? { scope: input.scope }
160
+ : { scopes: input.scopes };
108
161
  const req = {
109
162
  agentId: input.agentId,
110
- scope: input.scope,
163
+ ...scopeFields,
111
164
  settings: input.settings ?? {},
112
165
  agreementSignature,
166
+ ...(input.ceiling !== undefined ? { ceiling: input.ceiling } : {}),
113
167
  };
114
168
  const conn = await this._agents.connect(this.id, req);
115
169
  return new AgentConnectionHandle(this._http, this.id, conn);
@@ -1 +1 @@
1
- {"version":3,"file":"vault.js","sourceRoot":"","sources":["../../src/fluent/vault.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,MAAM,GAGP,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAQ/C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAGrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AA0B/D,MAAM,OAAO,KAAK;IACP,EAAE,CAAS;IACX,QAAQ,CAAS;IACjB,YAAY,CAAS;IACrB,eAAe,CAAS;IACxB,MAAM,CAAS;IACf,MAAM,CAAyB;IAC/B,cAAc,CAAU;IACjC;;;;OAIG;IACM,WAAW,CAAU;IAE9B,2EAA2E;IAClE,KAAK,CAAkB;IACf,OAAO,CAAS;IAChB,OAAO,CAAS;IAChB,OAAO,CAAS;IACjC;;;;OAIG;IACM,MAAM,CAAS;IACP,IAAI,CAAa;IACjB,OAAO,CAAU;IACjB,WAAW,CAAS;IAErC,YACE,IAAqB,EACrB,MAAmB,EACnB,OAAkB,EAAE;QAEpB,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QACxC,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;QAC9C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAC5C,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,OAAO,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,0EAA0E;QAC1E,uEAAuE;QACvE,8BAA8B;QAC9B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM;YAC5B,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAChD,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;IAC1B,CAAC;IAED,MAAM,GAAG;QACP,IAAI,EAAE,GAAqB,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACxD,GAAG,EAAE,CAAC,CAAS,EAAkB,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAChE,MAAM,EAAE,CAAC,CAAqB,EAAkB,EAAE,CAChD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACjC,MAAM,EAAE,CAAC,CAAS,EAAE,CAAqB,EAAkB,EAAE,CAC3D,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QACpC,MAAM,EAAE,CAAC,CAAS,EAAiB,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;KACtE,CAAC;IAEF,KAAK,CAAC,IAAY;QAChB,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,gFAAgF;IAChF,cAAc,KAAc,OAAO,IAAI,CAAC,MAAM,KAAK,cAAc,CAAC,CAAC,CAAC;IAEpE,MAAM,GAAG;QACP;;;;;;;;WAQG;QACH,OAAO,EAAE,KAAK,EACZ,KAAwB,EACQ,EAAE;YAClC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CACb,+DAA+D,CAChE,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAC;YACJ,CAAC;YACD,sEAAsE;YACtE,sDAAsD;YACtD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;gBACzC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE;gBAC9B,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,kBAAkB,GAAG,KAAK,CAAC,kBAAkB,IAAI,OAAO,CAAC;YAC/D,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CACb,uEAAuE;oBACrE,IAAI,KAAK,CAAC,OAAO,wCAAwC;oBACzD,+BAA+B,CAClC,CAAC;YACJ,CAAC;YACD,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,sBAAsB,CAAC;gBAC1D,MAAM,EAAE,IAAI,CAAC,OAAO;gBACpB,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE;gBACpD,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,kBAAkB,EAAE;gBACrD,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,GAAG,EAAE,IAAI,CAAC,IAAI;aACf,CAAC,CAAC;YACH,MAAM,GAAG,GAAwB;gBAC/B,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,EAAE;gBAC9B,kBAAkB;aACnB,CAAC;YACF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YACtD,OAAO,IAAI,qBAAqB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,EAAE,KAAK,IAAsC,EAAE;YACjD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC/C,OAAO,KAAK,CAAC,GAAG,CACd,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,qBAAqB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CACzD,CAAC;QACJ,CAAC;QACD,GAAG,EAAE,KAAK,EAAE,CAAS,EAAkC,EAAE;YACvD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAChD,OAAO,IAAI,qBAAqB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC9D,CAAC;KACF,CAAC;IAEF,IAAI,GAAG;QACL,IAAI,EAAE,CACJ,IAAyD,EAAE,EACxC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACzD,GAAG,EAAE,CAAC,KAAa,EAAa,EAAE,CAChC,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC;KAC5C,CAAC;CACH"}
1
+ {"version":3,"file":"vault.js","sourceRoot":"","sources":["../../src/fluent/vault.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -4,6 +4,7 @@ export { OnboardingRequiredError, OnboardingTimeoutError, } from "./internal/onb
4
4
  export type { OnboardingStatus, OnboardingResult, BootstrapResult, } from "./internal/onboarding.js";
5
5
  export { Vault } from "./fluent/vault.js";
6
6
  export { ScopeHandle } from "./fluent/scope.js";
7
+ export { ServiceHandle } from "./fluent/service.js";
7
8
  export { AgentConnectionHandle } from "./fluent/agent-connection.js";
8
9
  export { JobHandle } from "./fluent/job.js";
9
10
  export { CubbyHandle } from "./fluent/cubby.js";
@@ -24,9 +25,7 @@ export { VaultRequestError, VaultNotImplementedError, VaultSignerRequiredError,
24
25
  export { GRANT_ISSUED_AT_HEADER, GRANT_SCHEMA, GRANT_SCHEMA_V2, GRANT_SIGNATURE_HEADER, GrantVerificationError, NO_GRANT_EXPIRY, NO_PRIVACY_CEILING, PRIVACY_CEILINGS, canonicalGrantBytes, canonicalGrantBytesWithCeiling, canonicalPubkeyHex, decodeGrantDoc, grantExpiry, isValidPrivacyCeiling, privacyCeiling, vaultIdFor, verifyGrant, verifyGrantSig, verifySignedRoster, } from "./core/grant-doc.js";
25
26
  export type { Grant, GrantExpiry, PrivacyCeiling, PrivacyCeilingName, RosterVerifyOptions } from "./core/grant-doc.js";
26
27
  export type { PutMemberOptions, PutScopesOptions } from "./internal/memberships.js";
27
- export type { Task, TasksPage, TaskState, AgentConnection, AgentConnectionStatus, ConnectAgentRequest, CubbyQueryResponse, CubbyExecResponse, EventInput, EventRole, EventsPage, IngestOrigin, Job, JobsPage, JobState, Member, MemberRole, MembershipState, MembershipSummary, PublishResult, Scope, ScopeGrants, ScopeLevel, SignedGrant, SignedRoster, StreamSummary, StreamsListResponse, VaultCredentialStatus, VaultEvent, VaultRecord, VaultSigType, } from "./core/types.js";
28
+ export type { Task, TasksPage, TaskState, AgentConnection, AgentConnectionStatus, ConnectAgentRequest, ConnectionCeiling, CubbyQueryResponse, CubbyExecResponse, EventInput, EventRole, EventsPage, IngestOrigin, Job, JobsPage, JobState, Member, MemberRole, MembershipState, MembershipSummary, PublishResult, Scope, ScopeGrants, ScopeLevel, ScopeSelector, SignedGrant, SignedRoster, StreamSummary, StreamsListResponse, VaultCredentialStatus, VaultEvent, VaultRecord, VaultSigType, } from "./core/types.js";
28
29
  export { VaultInfo } from "./internal/vault-info.js";
29
30
  export type { DelegateInfo } from "./internal/vault-info.js";
30
- export { registerDelegate, revokeDelegate, GatewayDelegateError, } from "@cef-ai/account/delegate-grants";
31
- export type { RegisterDelegateInput, RevokeDelegateInput, } from "@cef-ai/account/delegate-grants";
32
31
  //# sourceMappingURL=index.d.ts.map