@cef-ai/vault-sdk 4.4.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 +22 -1
  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 +57 -8
  37. package/dist/fluent/vault.d.ts.map +1 -1
  38. package/dist/fluent/vault.js +60 -6
  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 +79 -5
  53. package/dist/internal/memory.d.ts.map +1 -1
  54. package/dist/internal/memory.js +53 -9
  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
@@ -6,15 +6,19 @@ import type { VaultRecord } from "../core/types.js";
6
6
  * `s3gateway/client.go` pass-through contract), so gateway-visible fields
7
7
  * like `label` must be inside this body before `WalletAuthProvider` signs it
8
8
  * — vault-api cannot inject them afterwards without breaking the signature.
9
+ *
10
+ * `delegation_token` is OPTIONAL: absent (the default) means a TOKENLESS
11
+ * claim, which vault-api routes through the proxy saga — the on-chain
12
+ * NonTransfer grant `vault.ensure()` submitted beforehand is the
13
+ * authorization. Present means the legacy token-bearing claim. The key is
14
+ * omitted from the wire body entirely when absent; a present-but-empty
15
+ * value would be a third shape neither path accepts.
9
16
  */
10
17
  export interface ClaimVaultRequest {
11
18
  name?: string;
12
- delegation_token: string;
19
+ delegation_token?: string;
13
20
  label?: string;
14
21
  }
15
- export interface RotateCredentialRequest {
16
- delegation_token: string;
17
- }
18
22
  /**
19
23
  * Body of `PATCH /api/v1/vaults/:vaultId` — the user-editable vault fields.
20
24
  *
@@ -44,6 +48,5 @@ export declare class Vaults {
44
48
  * patch would skip.
45
49
  */
46
50
  patch(vaultId: string, req: PatchVaultRequest): Promise<VaultRecord>;
47
- rotateCredentials(vaultId: string, req: RotateCredentialRequest): Promise<VaultRecord>;
48
51
  }
49
52
  //# sourceMappingURL=vaults.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vaults.d.ts","sourceRoot":"","sources":["../../src/internal/vaults.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAAG,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE;AAC9F,MAAM,WAAW,uBAAuB;IAAG,gBAAgB,EAAE,MAAM,CAAA;CAAE;AAErE;;;;;;;;;;GAUG;AACH,MAAM,WAAW,iBAAiB;IAAG,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE;AAE9E,qBAAa,MAAM;IACL,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,eAAe;IAElD,KAAK,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC;IAGnD,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC;IAG/B,wEAAwE;IACxE,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAG3C;;;;;OAKG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC;IAUpE,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,uBAAuB,GAAG,OAAO,CAAC,WAAW,CAAC;CAKvF"}
1
+ {"version":3,"file":"vaults.d.ts","sourceRoot":"","sources":["../../src/internal/vaults.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,iBAAiB;IAAG,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE;AAE/F;;;;;;;;;;GAUG;AACH,MAAM,WAAW,iBAAiB;IAAG,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE;AAE9E,qBAAa,MAAM;IACL,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,eAAe;IAElD,KAAK,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC;IAGnD,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC;IAG/B,wEAAwE;IACxE,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAG3C;;;;;OAKG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC;CAOrE"}
@@ -25,15 +25,5 @@ export class Vaults {
25
25
  body: req,
26
26
  });
27
27
  }
28
- // NOTE (multi-credential gateway): the gateway's PUT /auth/credentials
29
- // never returns a secret, so this rotation path cannot hand back fresh S3
30
- // credentials against the real gateway. vault-api is being reworked to
31
- // register-new + revoke-old rotation semantics in a parallel PR; this
32
- // method's contract will change with it. Do not build on it until then.
33
- rotateCredentials(vaultId, req) {
34
- return this.http.send("PUT", endpoints.vaultCredentials(vaultId), {
35
- body: req,
36
- });
37
- }
38
28
  }
39
29
  //# sourceMappingURL=vaults.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vaults.js","sourceRoot":"","sources":["../../src/internal/vaults.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AA0BjD,MAAM,OAAO,MAAM;IACY;IAA7B,YAA6B,IAAqB;QAArB,SAAI,GAAJ,IAAI,CAAiB;IAAG,CAAC;IAEtD,KAAK,CAAC,GAAsB;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAyC,EAAE,CAAC,CAAC;IACzG,CAAC;IACD,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,wEAAwE;IACxE,IAAI,CAAC,OAAe;QAClB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACzD,CAAC;IACD;;;;;OAKG;IACH,KAAK,CAAC,OAAe,EAAE,GAAsB;QAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;YACvD,IAAI,EAAE,GAAyC;SAChD,CAAC,CAAC;IACL,CAAC;IACD,uEAAuE;IACvE,0EAA0E;IAC1E,uEAAuE;IACvE,sEAAsE;IACtE,wEAAwE;IACxE,iBAAiB,CAAC,OAAe,EAAE,GAA4B;QAC7D,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE;YAChE,IAAI,EAAE,GAAyC;SAChD,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"vaults.js","sourceRoot":"","sources":["../../src/internal/vaults.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAgCjD,MAAM,OAAO,MAAM;IACY;IAA7B,YAA6B,IAAqB;QAArB,SAAI,GAAJ,IAAI,CAAiB;IAAG,CAAC;IAEtD,KAAK,CAAC,GAAsB;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAyC,EAAE,CAAC,CAAC;IACzG,CAAC;IACD,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,wEAAwE;IACxE,IAAI,CAAC,OAAe;QAClB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACzD,CAAC;IACD;;;;;OAKG;IACH,KAAK,CAAC,OAAe,EAAE,GAAsB;QAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;YACvD,IAAI,EAAE,GAAyC;SAChD,CAAC,CAAC;IACL,CAAC;CAGF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cef-ai/vault-sdk",
3
- "version": "4.4.0",
3
+ "version": "5.1.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -25,7 +25,7 @@
25
25
  "@polkadot/keyring": "^14.0.3",
26
26
  "@polkadot/util": "^14.0.3",
27
27
  "@polkadot/util-crypto": "^14.0.3",
28
- "@cef-ai/account": "1.3.1",
28
+ "@cef-ai/account": "2.0.0",
29
29
  "@cef-ai/signer": "1.0.0",
30
30
  "@cef-ai/transport": "1.1.0"
31
31
  },
@@ -1,16 +0,0 @@
1
- export interface GatewayInfo {
2
- /** ed25519 pubkey, `0x`-prefixed hex when the gateway returns it that way. */
3
- pubkey: string;
4
- /** Optional cluster id when the gateway exposes it. */
5
- clusterId?: string;
6
- /** Optional region label when the gateway exposes it. */
7
- region?: string;
8
- }
9
- /**
10
- * Fetch the gateway's `/auth/info`. Throws on non-OK responses, missing
11
- * pubkey, or invalid JSON. No caching here — the SDK caches one level
12
- * up (`VaultSDK.cachedGatewayPubkey`) so it can be invalidated cleanly
13
- * when needed.
14
- */
15
- export declare function getGatewayInfo(authInfoUrl: string, fetchFn?: typeof fetch): Promise<GatewayInfo>;
16
- //# sourceMappingURL=gateway-info.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gateway-info.d.ts","sourceRoot":"","sources":["../../src/internal/gateway-info.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,WAAW;IAC1B,8EAA8E;IAC9E,MAAM,EAAE,MAAM,CAAC;IACf,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAUD;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,OAAO,KAAa,GAC5B,OAAO,CAAC,WAAW,CAAC,CAoBtB"}
@@ -1,34 +0,0 @@
1
- // src/internal/gateway-info.ts
2
- //
3
- // Single source of truth for the DDC S3 gateway's `/auth/info` payload —
4
- // the gateway's ed25519 pubkey, plus optional cluster/region metadata.
5
- // The pubkey is needed in two places:
6
- // - building a delegation token's `subject` (delegation-token.ts)
7
- // - calling `proxy.addProxy(<gw>, NonTransfer, 0)` (auto-add-proxy.ts)
8
- // so it makes sense to fetch it from one helper.
9
- /**
10
- * Fetch the gateway's `/auth/info`. Throws on non-OK responses, missing
11
- * pubkey, or invalid JSON. No caching here — the SDK caches one level
12
- * up (`VaultSDK.cachedGatewayPubkey`) so it can be invalidated cleanly
13
- * when needed.
14
- */
15
- export async function getGatewayInfo(authInfoUrl, fetchFn = fetch) {
16
- const res = await fetchFn(authInfoUrl, {
17
- headers: { Accept: "application/json" },
18
- });
19
- if (!res.ok) {
20
- throw new Error(`Gateway /auth/info ${res.status}: ${await res.text().catch(() => "")}`);
21
- }
22
- const info = (await res.json());
23
- const pubkey = info.gateway_public_key ?? info.pubkey;
24
- if (!pubkey) {
25
- throw new Error(`Gateway /auth/info response is missing gateway_public_key: ${JSON.stringify(info)}`);
26
- }
27
- const out = { pubkey };
28
- if (info.cluster_id !== undefined)
29
- out.clusterId = info.cluster_id;
30
- if (info.region !== undefined)
31
- out.region = info.region;
32
- return out;
33
- }
34
- //# sourceMappingURL=gateway-info.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gateway-info.js","sourceRoot":"","sources":["../../src/internal/gateway-info.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,EAAE;AACF,yEAAyE;AACzE,uEAAuE;AACvE,sCAAsC;AACtC,oEAAoE;AACpE,yEAAyE;AACzE,iDAAiD;AAmBjD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,WAAmB,EACnB,UAAwB,KAAK;IAE7B,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE;QACrC,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;KACxC,CAAC,CAAC;IACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,sBAAsB,GAAG,CAAC,MAAM,KAAK,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CACxE,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAgB,CAAC;IAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,MAAM,CAAC;IACtD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,8DAA8D,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CACrF,CAAC;IACJ,CAAC;IACD,MAAM,GAAG,GAAgB,EAAE,MAAM,EAAE,CAAC;IACpC,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;QAAE,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;IACnE,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;QAAE,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IACxD,OAAO,GAAG,CAAC;AACb,CAAC"}