@cef-ai/vault-sdk 1.3.1 → 3.0.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 (66) hide show
  1. package/README.md +31 -22
  2. package/dist/agreements/manifest-fields.d.ts +2 -3
  3. package/dist/agreements/manifest-fields.d.ts.map +1 -1
  4. package/dist/agreements/manifest-fields.js +4 -4
  5. package/dist/agreements/manifest-fields.js.map +1 -1
  6. package/dist/agreements/sign.d.ts +13 -6
  7. package/dist/agreements/sign.d.ts.map +1 -1
  8. package/dist/agreements/sign.js +8 -10
  9. package/dist/agreements/sign.js.map +1 -1
  10. package/dist/auth/assert-scheme.d.ts +8 -0
  11. package/dist/auth/assert-scheme.d.ts.map +1 -0
  12. package/dist/auth/assert-scheme.js +15 -0
  13. package/dist/auth/assert-scheme.js.map +1 -0
  14. package/dist/auth/wallet.d.ts +10 -4
  15. package/dist/auth/wallet.d.ts.map +1 -1
  16. package/dist/auth/wallet.js +14 -8
  17. package/dist/auth/wallet.js.map +1 -1
  18. package/dist/client.d.ts +26 -5
  19. package/dist/client.d.ts.map +1 -1
  20. package/dist/client.js +77 -21
  21. package/dist/client.js.map +1 -1
  22. package/dist/core/endpoints.d.ts +1 -0
  23. package/dist/core/endpoints.d.ts.map +1 -1
  24. package/dist/core/endpoints.js +1 -0
  25. package/dist/core/endpoints.js.map +1 -1
  26. package/dist/core/errors.d.ts.map +1 -1
  27. package/dist/core/errors.js +4 -1
  28. package/dist/core/errors.js.map +1 -1
  29. package/dist/core/types.d.ts +12 -4
  30. package/dist/core/types.d.ts.map +1 -1
  31. package/dist/fluent/vault.d.ts +21 -8
  32. package/dist/fluent/vault.d.ts.map +1 -1
  33. package/dist/fluent/vault.js +31 -13
  34. package/dist/fluent/vault.js.map +1 -1
  35. package/dist/index.d.ts +9 -6
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +12 -2
  38. package/dist/index.js.map +1 -1
  39. package/dist/internal/agents.d.ts +5 -3
  40. package/dist/internal/agents.d.ts.map +1 -1
  41. package/dist/internal/agents.js +5 -3
  42. package/dist/internal/agents.js.map +1 -1
  43. package/dist/internal/marketplace.d.ts +35 -9
  44. package/dist/internal/marketplace.d.ts.map +1 -1
  45. package/dist/internal/marketplace.js.map +1 -1
  46. package/dist/internal/onboarding.d.ts +4 -6
  47. package/dist/internal/onboarding.d.ts.map +1 -1
  48. package/dist/internal/onboarding.js +15 -12
  49. package/dist/internal/onboarding.js.map +1 -1
  50. package/dist/internal/vault-info.d.ts +12 -0
  51. package/dist/internal/vault-info.d.ts.map +1 -0
  52. package/dist/internal/vault-info.js +19 -0
  53. package/dist/internal/vault-info.js.map +1 -0
  54. package/dist/wallet/cere.d.ts +7 -6
  55. package/dist/wallet/cere.d.ts.map +1 -1
  56. package/dist/wallet/cere.js +10 -8
  57. package/dist/wallet/cere.js.map +1 -1
  58. package/dist/wallet/keypair.d.ts +8 -7
  59. package/dist/wallet/keypair.d.ts.map +1 -1
  60. package/dist/wallet/keypair.js +16 -9
  61. package/dist/wallet/keypair.js.map +1 -1
  62. package/package.json +3 -2
  63. package/dist/wallet/adapter.d.ts +0 -15
  64. package/dist/wallet/adapter.d.ts.map +0 -1
  65. package/dist/wallet/adapter.js +0 -6
  66. package/dist/wallet/adapter.js.map +0 -1
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,wEAAwE;AACxE,kCAAkC;AAElC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAOvC,OAAO,EACL,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,0BAA0B,CAAC;AAOlC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAQhD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAK9D,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAOvF,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,wEAAwE;AACxE,kCAAkC;AAElC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAOvC,OAAO,EACL,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,0BAA0B,CAAC;AAOlC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAQhD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAS9C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAU9D,OAAO,EACL,SAAS,EACT,sBAAsB,EACtB,WAAW,GACZ,MAAM,uBAAuB,CAAC;AAO/B,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AA4B1B,uEAAuE;AACvE,0EAA0E;AAC1E,wEAAwE;AACxE,8EAA8E;AAC9E,4EAA4E;AAC5E,0EAA0E;AAC1E,6EAA6E;AAC7E,wEAAwE;AACxE,wBAAwB;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,oBAAoB,GACrB,MAAM,iCAAiC,CAAC"}
@@ -7,9 +7,11 @@ export declare class Agents {
7
7
  private readonly http;
8
8
  constructor(http: VaultHttpClient);
9
9
  /**
10
- * Low-level surface — POSTs a `ConnectAgentRequest` with a pre-signed
11
- * `agreementSignature`. For the high-level flow that signs the GAR
12
- * agreement on your behalf, use `vault.agents.connect({ manifest, scope, settings })`
10
+ * Low-level surface — POSTs a `ConnectAgentRequest` (`{ agentId, scope,
11
+ * settings?, agreementSignature? }`) with a pre-signed `agreementSignature`.
12
+ * `version`/`manifestCid` are not sent; the vault-api resolves the manifest
13
+ * from the DDC registry. For the high-level flow that signs the GAR
14
+ * agreement on your behalf, use `vault.agents.connect({ agentId, scope, settings })`
13
15
  * from `@cef-ai/vault-sdk` (requires `garEndpoint` + `wallet` on the SDK config).
14
16
  */
15
17
  connect(v: string, req: ConnectAgentRequest): Promise<AgentConnection>;
@@ -1 +1 @@
1
- {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/internal/agents.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,KAAK,EAAE,eAAe,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEpG,MAAM,WAAW,iBAAiB;IAAG,MAAM,CAAC,EAAE,qBAAqB,CAAA;CAAE;AAErE,qBAAa,MAAM;IACL,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,eAAe;IAElD;;;;;OAKG;IACH,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,eAAe,CAAC;IAGhE,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,GAAE,iBAAsB,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAK/E,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAGnD,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;IAGzF,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGhD"}
1
+ {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/internal/agents.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,KAAK,EAAE,eAAe,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEpG,MAAM,WAAW,iBAAiB;IAAG,MAAM,CAAC,EAAE,qBAAqB,CAAA;CAAE;AAErE,qBAAa,MAAM;IACL,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,eAAe;IAElD;;;;;;;OAOG;IACH,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,eAAe,CAAC;IAGhE,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,GAAE,iBAAsB,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAK/E,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAGnD,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;IAGzF,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGhD"}
@@ -5,9 +5,11 @@ export class Agents {
5
5
  this.http = http;
6
6
  }
7
7
  /**
8
- * Low-level surface — POSTs a `ConnectAgentRequest` with a pre-signed
9
- * `agreementSignature`. For the high-level flow that signs the GAR
10
- * agreement on your behalf, use `vault.agents.connect({ manifest, scope, settings })`
8
+ * Low-level surface — POSTs a `ConnectAgentRequest` (`{ agentId, scope,
9
+ * settings?, agreementSignature? }`) with a pre-signed `agreementSignature`.
10
+ * `version`/`manifestCid` are not sent; the vault-api resolves the manifest
11
+ * from the DDC registry. For the high-level flow that signs the GAR
12
+ * agreement on your behalf, use `vault.agents.connect({ agentId, scope, settings })`
11
13
  * from `@cef-ai/vault-sdk` (requires `garEndpoint` + `wallet` on the SDK config).
12
14
  */
13
15
  connect(v, req) {
@@ -1 +1 @@
1
- {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/internal/agents.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAKjD,MAAM,OAAO,MAAM;IACY;IAA7B,YAA6B,IAAqB;QAArB,SAAI,GAAJ,IAAI,CAAiB;IAAG,CAAC;IAEtD;;;;;OAKG;IACH,OAAO,CAAC,CAAS,EAAE,GAAwB;QACzC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,GAAyC,EAAE,CAAC,CAAC;IAC1G,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,CAAS,EAAE,OAA0B,EAAE;QAChD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAC9B,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAClE,OAAO,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;IACzB,CAAC;IACD,GAAG,CAAC,CAAS,EAAE,CAAS;QACtB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;IACD,MAAM,CAAC,CAAS,EAAE,CAAS,EAAE,QAAiC;QAC5D,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;IAChF,CAAC;IACD,UAAU,CAAC,CAAS,EAAE,CAAS;QAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IACvE,CAAC;CACF"}
1
+ {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/internal/agents.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAKjD,MAAM,OAAO,MAAM;IACY;IAA7B,YAA6B,IAAqB;QAArB,SAAI,GAAJ,IAAI,CAAiB;IAAG,CAAC;IAEtD;;;;;;;OAOG;IACH,OAAO,CAAC,CAAS,EAAE,GAAwB;QACzC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,GAAyC,EAAE,CAAC,CAAC;IAC1G,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,CAAS,EAAE,OAA0B,EAAE;QAChD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAC9B,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAClE,OAAO,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;IACzB,CAAC;IACD,GAAG,CAAC,CAAS,EAAE,CAAS;QACtB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;IACD,MAAM,CAAC,CAAS,EAAE,CAAS,EAAE,QAAiC;QAC5D,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;IAChF,CAAC;IACD,UAAU,CAAC,CAAS,EAAE,CAAS;QAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IACvE,CAAC;CACF"}
@@ -1,4 +1,31 @@
1
1
  import type { VaultHttpClient } from "../core/http.js";
2
+ /**
3
+ * Display card for a marketplace agent. This is the public, non-sensitive
4
+ * subset of manifest data the marketplace exposes for rendering agent
5
+ * listings and detail pages.
6
+ */
7
+ export interface AgentCard {
8
+ name: string;
9
+ description: string;
10
+ iconUrl?: string;
11
+ capabilities?: string[];
12
+ category?: string;
13
+ tags?: string[];
14
+ }
15
+ /**
16
+ * Response shape of `GET /api/v1/marketplace/agents/:id[/versions/:v]`.
17
+ *
18
+ * The marketplace is card-only: it returns the agent's identity, service
19
+ * pubkey, resolved version, and display `card` — NOT the full manifest. The
20
+ * vault-api fetches the manifest itself from the DDC registry during connect,
21
+ * so consumers never need the manifest to connect an agent.
22
+ */
23
+ export interface MarketplaceAgentCardResponse {
24
+ agentId: string;
25
+ agentServicePubkey: string;
26
+ version: string;
27
+ card: AgentCard;
28
+ }
2
29
  export interface AgentManifest {
3
30
  agentId: string;
4
31
  version: string;
@@ -27,14 +54,13 @@ export interface AgentManifest {
27
54
  /**
28
55
  * Lightweight agent record returned by the marketplace `list` endpoint.
29
56
  *
30
- * The marketplace API now ships a small subset of the manifest's display
31
- * data (`card`, `handles`, `publishes`) inline so consumers can render full
57
+ * The marketplace API ships a small subset of the agent's display data
58
+ * (`card`, `handles`, `publishes`) inline so consumers can render full
32
59
  * marketplace cards without an N+1 fan-out of `getAgent(id)` calls. These
33
60
  * fields are optional — older deployments don't ship them, in which case
34
- * consumers should fall back to fetching the full `AgentManifest` via
35
- * `getAgent(summary.agentId)`. The remaining manifest fields (`publisher`,
36
- * `cubby_schema`, `lifecycle`, `settings_schema`, ...) still require a
37
- * `getAgent` round trip.
61
+ * consumers should fetch the per-agent card via `getAgent(summary.agentId)`.
62
+ * The marketplace is card-only; neither endpoint returns the full manifest
63
+ * (the vault-api resolves that from the DDC registry at connect time).
38
64
  */
39
65
  export interface MarketplaceAgentSummary {
40
66
  agentId: string;
@@ -47,8 +73,8 @@ export interface MarketplaceAgentSummary {
47
73
  updatedAt: string;
48
74
  /**
49
75
  * Display card extracted from the manifest. Optional — older marketplace
50
- * deployments don't ship inline card data; fall back to `getAgent(id)`
51
- * when undefined.
76
+ * deployments don't ship inline card data; fetch the per-agent card via
77
+ * `getAgent(id)` when undefined.
52
78
  */
53
79
  card?: {
54
80
  name: string;
@@ -81,7 +107,7 @@ export interface ListAgentsResponse {
81
107
  export declare class Marketplace {
82
108
  private readonly http;
83
109
  constructor(http: VaultHttpClient);
84
- getAgent(agentId: string, version?: string): Promise<AgentManifest>;
110
+ getAgent(agentId: string, version?: string): Promise<MarketplaceAgentCardResponse>;
85
111
  list(opts?: ListAgentsOptions): Promise<ListAgentsResponse>;
86
112
  }
87
113
  //# sourceMappingURL=marketplace.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"marketplace.d.ts","sourceRoot":"","sources":["../../src/internal/marketplace.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAMvD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,0BAA0B;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,0BAA0B;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,IAAI,CAAC,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;KACzB,CAAC;IACF,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,gEAAgE;IAChE,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,uBAAuB,EAAE,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAaD;;;;;GAKG;AACH,qBAAa,WAAW;IACV,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,eAAe;IAElD,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAO7D,IAAI,CAAC,IAAI,GAAE,iBAAsB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CActE"}
1
+ {"version":3,"file":"marketplace.d.ts","sourceRoot":"","sources":["../../src/internal/marketplace.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAMvD;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,4BAA4B;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,0BAA0B;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,0BAA0B;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,IAAI,CAAC,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;KACzB,CAAC;IACF,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,gEAAgE;IAChE,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,uBAAuB,EAAE,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAaD;;;;;GAKG;AACH,qBAAa,WAAW;IACV,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,eAAe;IAElD,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,4BAA4B,CAAC;IAO5E,IAAI,CAAC,IAAI,GAAE,iBAAsB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CActE"}
@@ -1 +1 @@
1
- {"version":3,"file":"marketplace.js","sourceRoot":"","sources":["../../src/internal/marketplace.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;AA0F5B;;;;;GAKG;AACH,MAAM,OAAO,WAAW;IACO;IAA7B,YAA6B,IAAqB;QAArB,SAAI,GAAJ,IAAI,CAAiB;IAAG,CAAC;IAEtD,QAAQ,CAAC,OAAe,EAAE,OAAgB;QACxC,MAAM,IAAI,GAAG,OAAO;YAClB,CAAC,CAAC,SAAS,CAAC,uBAAuB,CAAC,OAAO,EAAE,OAAO,CAAC;YACrD,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAA0B,EAAE;QACrC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAC/B,KAAK,EACL,SAAS,CAAC,iBAAiB,EAAE,EAC7B;YACE,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE;SACjE,CACF,CAAC;QACF,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QAC9C,MAAM,GAAG,GAAuB,EAAE,KAAK,EAAE,CAAC;QAC1C,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;YAAE,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACpE,OAAO,GAAG,CAAC;IACb,CAAC;CACF"}
1
+ {"version":3,"file":"marketplace.js","sourceRoot":"","sources":["../../src/internal/marketplace.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;AAsH5B;;;;;GAKG;AACH,MAAM,OAAO,WAAW;IACO;IAA7B,YAA6B,IAAqB;QAArB,SAAI,GAAJ,IAAI,CAAiB;IAAG,CAAC;IAEtD,QAAQ,CAAC,OAAe,EAAE,OAAgB;QACxC,MAAM,IAAI,GAAG,OAAO;YAClB,CAAC,CAAC,SAAS,CAAC,uBAAuB,CAAC,OAAO,EAAE,OAAO,CAAC;YACrD,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA+B,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAA0B,EAAE;QACrC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAC/B,KAAK,EACL,SAAS,CAAC,iBAAiB,EAAE,EAC7B;YACE,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE;SACjE,CACF,CAAC;QACF,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QAC9C,MAAM,GAAG,GAAuB,EAAE,KAAK,EAAE,CAAC;QAC1C,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;YAAE,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACpE,OAAO,GAAG,CAAC;IACb,CAAC;CACF"}
@@ -1,4 +1,4 @@
1
- import type { Wallet } from "../wallet/adapter.js";
1
+ import type { Signer } from "@cef-ai/signer";
2
2
  export type FetchLike = (input: string | URL | Request, init?: RequestInit) => Promise<Response>;
3
3
  export interface OnboardingSigner {
4
4
  /** 0x-hex public key. */
@@ -56,12 +56,10 @@ export declare class OnboardingRequiredError extends Error {
56
56
  constructor(message: string);
57
57
  }
58
58
  /**
59
- * Bridge from the SDK's `Wallet` adapter to the onboarding signer shape.
60
- * The gateway's onboarding endpoints sign over **empty** bytes (`X-Signature`
61
- * header) — same convention vault-api uses elsewhere. Hex-encodes both the
62
- * wallet pubkey (already 0x-hex) and the raw-bytes signature output.
59
+ * Bridge from a `@cef-ai/signer.Signer` to the onboarding signer shape.
60
+ * The gateway's onboarding endpoints sign over **empty** bytes.
63
61
  */
64
- export declare function walletToOnboardingSigner(wallet: Wallet): OnboardingSigner;
62
+ export declare function signerToOnboardingSigner(signer: Signer): OnboardingSigner;
65
63
  /**
66
64
  * Fetch the gateway's onboarding status for the signer's wallet. Returns
67
65
  * `null` when the gateway responds 404 (onboarding disabled, i.e. prod).
@@ -1 +1 @@
1
- {"version":3,"file":"onboarding.d.ts","sourceRoot":"","sources":["../../src/internal/onboarding.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAInD,MAAM,MAAM,SAAS,GAAG,CACtB,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,EAC7B,IAAI,CAAC,EAAE,WAAW,KACf,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEvB,MAAM,WAAW,gBAAgB;IAC/B,yBAAyB;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,SAAS,GAAG,SAAS,CAAC;IAC/B;;;OAGG;IACH,UAAU,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACpD;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC;IACzB,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,MAAM,gBAAgB,GACxB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,IAAI,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAA;CAAE,GAC3C;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAC;IAAC,SAAS,CAAC,EAAE,eAAe,CAAA;CAAE,CAAC;AAEtF,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AAED,mEAAmE;AACnE,qBAAa,sBAAuB,SAAQ,KAAK;gBACnC,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;GAKG;AACH,qBAAa,uBAAwB,SAAQ,KAAK;gBACpC,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAWzE;AAoBD;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,gBAAgB,EACxB,SAAS,GAAE,SAAiB,GAC3B,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAMlC;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,gBAAgB,EACxB,SAAS,GAAE,SAAiB,GAC3B,OAAO,CAAC,eAAe,CAAC,CAO1B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,aAAa,CACjC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,gBAAgB,EACxB,SAAS,GAAE,SAAiB,EAC5B,WAAW,CAAC,EAAE,MAAM,IAAI,GACvB,OAAO,CAAC,gBAAgB,CAAC,CAgB3B;AAID;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAWlC"}
1
+ {"version":3,"file":"onboarding.d.ts","sourceRoot":"","sources":["../../src/internal/onboarding.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAM7C,MAAM,MAAM,SAAS,GAAG,CACtB,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,EAC7B,IAAI,CAAC,EAAE,WAAW,KACf,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEvB,MAAM,WAAW,gBAAgB;IAC/B,yBAAyB;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,SAAS,GAAG,SAAS,CAAC;IAC/B;;;OAGG;IACH,UAAU,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACpD;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC;IACzB,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,MAAM,gBAAgB,GACxB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,IAAI,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAA;CAAE,GAC3C;IACE,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,gBAAgB,CAAC;IACzB,SAAS,CAAC,EAAE,eAAe,CAAC;CAC7B,CAAC;AAEN,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AAED,mEAAmE;AACnE,qBAAa,sBAAuB,SAAQ,KAAK;gBACnC,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;GAKG;AACH,qBAAa,uBAAwB,SAAQ,KAAK;gBACpC,OAAO,EAAE,MAAM;CAI5B;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CASzE;AAsBD;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,gBAAgB,EACxB,SAAS,GAAE,SAAiB,GAC3B,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CASlC;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,gBAAgB,EACxB,SAAS,GAAE,SAAiB,GAC3B,OAAO,CAAC,eAAe,CAAC,CAU1B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,aAAa,CACjC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,gBAAgB,EACxB,SAAS,GAAE,SAAiB,EAC5B,WAAW,CAAC,EAAE,MAAM,IAAI,GACvB,OAAO,CAAC,gBAAgB,CAAC,CAgB3B;AAKD;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAclC"}
@@ -10,6 +10,7 @@
10
10
  // fallback for apps that can't auto-submit (no embed wallet available);
11
11
  // the SDK's job is to expose primitives — orchestration + auto-submit —
12
12
  // not chrome. Apps that need the deep link can build it in three lines.
13
+ import { assertScheme } from "../auth/assert-scheme.js";
13
14
  /** Thrown when {@link pollUntilProxyReady} exhausts its budget. */
14
15
  export class OnboardingTimeoutError extends Error {
15
16
  constructor(message) {
@@ -30,19 +31,15 @@ export class OnboardingRequiredError extends Error {
30
31
  }
31
32
  }
32
33
  /**
33
- * Bridge from the SDK's `Wallet` adapter to the onboarding signer shape.
34
- * The gateway's onboarding endpoints sign over **empty** bytes (`X-Signature`
35
- * header) — same convention vault-api uses elsewhere. Hex-encodes both the
36
- * wallet pubkey (already 0x-hex) and the raw-bytes signature output.
34
+ * Bridge from a `@cef-ai/signer.Signer` to the onboarding signer shape.
35
+ * The gateway's onboarding endpoints sign over **empty** bytes.
37
36
  */
38
- export function walletToOnboardingSigner(wallet) {
39
- const pubkey = wallet.pubkey();
40
- const publicKeyHex = pubkey.startsWith("0x") ? pubkey : `0x${pubkey}`;
37
+ export function signerToOnboardingSigner(signer) {
41
38
  return {
42
- publicKeyHex,
43
- keyType: wallet.sigType?.() ?? "ed25519",
39
+ publicKeyHex: `0x${bytesToHex(signer.publicKey)}`,
40
+ keyType: assertScheme(signer.type),
44
41
  async signRawHex(bytes) {
45
- const sig = await wallet.sign(bytes);
42
+ const sig = await signer.sign(bytes, "data");
46
43
  return bytesToHex(sig);
47
44
  },
48
45
  };
@@ -69,7 +66,10 @@ async function signedHeaders(signer) {
69
66
  */
70
67
  export async function getOnboardingStatus(gatewayUrl, signer, fetchImpl = fetch) {
71
68
  const url = gatewayUrl.replace(/\/+$/, "") + "/auth/onboarding/status";
72
- const r = await fetchImpl(url, { method: "GET", headers: await signedHeaders(signer) });
69
+ const r = await fetchImpl(url, {
70
+ method: "GET",
71
+ headers: await signedHeaders(signer),
72
+ });
73
73
  if (r.status === 404)
74
74
  return null;
75
75
  if (!r.ok)
@@ -83,7 +83,10 @@ export async function getOnboardingStatus(gatewayUrl, signer, fetchImpl = fetch)
83
83
  */
84
84
  export async function runBootstrap(gatewayUrl, signer, fetchImpl = fetch) {
85
85
  const url = gatewayUrl.replace(/\/+$/, "") + "/auth/onboarding/bootstrap";
86
- const r = await fetchImpl(url, { method: "POST", headers: await signedHeaders(signer) });
86
+ const r = await fetchImpl(url, {
87
+ method: "POST",
88
+ headers: await signedHeaders(signer),
89
+ });
87
90
  if (r.status !== 200 && r.status !== 207) {
88
91
  throw new Error(`onboarding bootstrap ${r.status}`);
89
92
  }
@@ -1 +1 @@
1
- {"version":3,"file":"onboarding.js","sourceRoot":"","sources":["../../src/internal/onboarding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"onboarding.js","sourceRoot":"","sources":["../../src/internal/onboarding.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { VaultHttpClient } from "../core/http.js";
2
+ /** vault-api's delegate signing identity — the T_v subject the owner grants to. */
3
+ export interface DelegateInfo {
4
+ delegatePubkey: string;
5
+ }
6
+ export declare class VaultInfo {
7
+ private readonly http;
8
+ constructor(http: VaultHttpClient);
9
+ /** `GET /api/v1/delegate-info` — vault-api's delegate ed25519 pubkey (public, unauthenticated). */
10
+ delegate(): Promise<DelegateInfo>;
11
+ }
12
+ //# sourceMappingURL=vault-info.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vault-info.d.ts","sourceRoot":"","sources":["../../src/internal/vault-info.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAMvD,mFAAmF;AACnF,MAAM,WAAW,YAAY;IAAG,cAAc,EAAE,MAAM,CAAA;CAAE;AAIxD,qBAAa,SAAS;IACR,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,eAAe;IAElD,mGAAmG;IAC7F,QAAQ,IAAI,OAAO,CAAC,YAAY,CAAC;CAQxC"}
@@ -0,0 +1,19 @@
1
+ import { endpoints } from "../core/endpoints.js";
2
+ import { NoAuth } from "../auth/no-auth.js";
3
+ const PUBLIC = new NoAuth();
4
+ export class VaultInfo {
5
+ http;
6
+ constructor(http) {
7
+ this.http = http;
8
+ }
9
+ /** `GET /api/v1/delegate-info` — vault-api's delegate ed25519 pubkey (public, unauthenticated). */
10
+ async delegate() {
11
+ const raw = await this.http.send("GET", endpoints.delegateInfo(), { auth: PUBLIC });
12
+ const delegatePubkey = raw.delegate_pubkey ?? raw.delegatePubkey;
13
+ if (!delegatePubkey) {
14
+ throw new Error(`vault-api /delegate-info response is missing delegate_pubkey: ${JSON.stringify(raw)}`);
15
+ }
16
+ return { delegatePubkey };
17
+ }
18
+ }
19
+ //# sourceMappingURL=vault-info.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vault-info.js","sourceRoot":"","sources":["../../src/internal/vault-info.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;AAO5B,MAAM,OAAO,SAAS;IACS;IAA7B,YAA6B,IAAqB;QAArB,SAAI,GAAJ,IAAI,CAAiB;IAAG,CAAC;IAEtD,mGAAmG;IACnG,KAAK,CAAC,QAAQ;QACZ,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAkB,KAAK,EAAE,SAAS,CAAC,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACrG,MAAM,cAAc,GAAG,GAAG,CAAC,eAAe,IAAI,GAAG,CAAC,cAAc,CAAC;QACjE,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,iEAAiE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1G,CAAC;QACD,OAAO,EAAE,cAAc,EAAE,CAAC;IAC5B,CAAC;CACF"}
@@ -1,4 +1,4 @@
1
- import type { Wallet } from "./adapter.js";
1
+ import type { Signer, SignIntent } from "@cef-ai/signer";
2
2
  type SigType = "ed25519" | "sr25519";
3
3
  /**
4
4
  * Wallet adapter wrapping a Cere signer (`UriSigner` for mnemonic / SURI,
@@ -8,15 +8,16 @@ type SigType = "ed25519" | "sr25519";
8
8
  * `@cere-activity-sdk/signers@0.1.7` (Apache-2.0). See that folder's
9
9
  * README for attribution and divergence notes.
10
10
  */
11
- export declare class CereWallet implements Wallet {
11
+ export declare class CereWallet implements Signer {
12
12
  private readonly signer;
13
- private readonly type;
13
+ readonly type: SigType;
14
14
  private constructor();
15
15
  static fromMnemonic(mnemonic: string, type?: SigType): Promise<CereWallet>;
16
16
  static fromKeystore(json: Record<string, unknown>, passphrase: string, type?: SigType): Promise<CereWallet>;
17
- pubkey(): string;
18
- sigType(): SigType;
19
- sign(bytes: Uint8Array): Promise<Uint8Array>;
17
+ get publicKey(): Uint8Array;
18
+ get address(): string;
19
+ isReady(): Promise<boolean>;
20
+ sign(bytes: Uint8Array, _intent?: SignIntent): Promise<Uint8Array>;
20
21
  }
21
22
  export {};
22
23
  //# sourceMappingURL=cere.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cere.d.ts","sourceRoot":"","sources":["../../src/wallet/cere.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C,KAAK,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;AASrC;;;;;;;GAOG;AACH,qBAAa,UAAW,YAAW,MAAM;IAErC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFvB,OAAO;WAKM,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE,OAAmB,GAAG,OAAO,CAAC,UAAU,CAAC;WAS9E,YAAY,CACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE,OAAmB,GACxB,OAAO,CAAC,UAAU,CAAC;IAWtB,MAAM,IAAI,MAAM;IAIhB,OAAO,IAAI,OAAO;IAIZ,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;CAInD"}
1
+ {"version":3,"file":"cere.d.ts","sourceRoot":"","sources":["../../src/wallet/cere.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAIzD,KAAK,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;AAUrC;;;;;;;GAOG;AACH,qBAAa,UAAW,YAAW,MAAM;IAErC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,QAAQ,CAAC,IAAI,EAAE,OAAO;IAFxB,OAAO;WAKM,YAAY,CACvB,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,OAAmB,GACxB,OAAO,CAAC,UAAU,CAAC;WAST,YAAY,CACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE,OAAmB,GACxB,OAAO,CAAC,UAAU,CAAC;IAWtB,IAAI,SAAS,IAAI,UAAU,CAE1B;IAED,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAIrB,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;CAIzE"}
@@ -1,6 +1,5 @@
1
- // src/wallet/cere.ts
2
1
  import { JsonSigner, UriSigner } from "./cere-internal/index.js";
3
- import { ensure0xHex, strip0xHex } from "../core/canonical.js";
2
+ import { strip0xHex } from "../core/canonical.js";
4
3
  function hexToBytes(hex) {
5
4
  const clean = strip0xHex(hex);
6
5
  const out = new Uint8Array(clean.length / 2);
@@ -35,19 +34,22 @@ export class CereWallet {
35
34
  // The vendored `JsonSigner` constructor pre-validates the keystore
36
35
  // shape synchronously — no need for a separate pre-flight check
37
36
  // here. Signature `type` is derived from `encoding.content` inside
38
- // the keystore; we still record `type` locally so `sigType()`
37
+ // the keystore; we still record `type` locally so `.type`
39
38
  // reflects the caller's expectation.
40
39
  const signer = new JsonSigner(json, { passphrase });
41
40
  await signer.isReady();
42
41
  return new CereWallet(signer, type);
43
42
  }
44
- pubkey() {
45
- return ensure0xHex(this.signer.publicKey);
43
+ get publicKey() {
44
+ return hexToBytes(this.signer.publicKey);
46
45
  }
47
- sigType() {
48
- return this.type;
46
+ get address() {
47
+ return this.signer.address;
49
48
  }
50
- async sign(bytes) {
49
+ isReady() {
50
+ return this.signer.isReady();
51
+ }
52
+ async sign(bytes, _intent) {
51
53
  const result = await this.signer.sign(bytes);
52
54
  return hexToBytes(result);
53
55
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cere.js","sourceRoot":"","sources":["../../src/wallet/cere.ts"],"names":[],"mappings":"AAAA,qBAAqB;AACrB,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAEjE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAI/D,SAAS,UAAU,CAAC,GAAW;IAC7B,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1F,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,UAAU;IAEF;IACA;IAFnB,YACmB,MAA8B,EAC9B,IAAa;QADb,WAAM,GAAN,MAAM,CAAwB;QAC9B,SAAI,GAAJ,IAAI,CAAS;IAC7B,CAAC;IAEJ,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,QAAgB,EAAE,OAAgB,SAAS;QACnE,gEAAgE;QAChE,mEAAmE;QACnE,wDAAwD;QACxD,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QACvB,OAAO,IAAI,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,YAAY,CACvB,IAA6B,EAC7B,UAAkB,EAClB,OAAgB,SAAS;QAEzB,mEAAmE;QACnE,gEAAgE;QAChE,mEAAmE;QACnE,8DAA8D;QAC9D,qCAAqC;QACrC,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,IAAa,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;QAC7D,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QACvB,OAAO,IAAI,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,MAAM;QACJ,OAAO,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAiB;QAC1B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7C,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;CACF"}
1
+ {"version":3,"file":"cere.js","sourceRoot":"","sources":["../../src/wallet/cere.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAIlD,SAAS,UAAU,CAAC,GAAW;IAC7B,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE;QACjC,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACvD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,UAAU;IAEF;IACR;IAFX,YACmB,MAA8B,EACtC,IAAa;QADL,WAAM,GAAN,MAAM,CAAwB;QACtC,SAAI,GAAJ,IAAI,CAAS;IACrB,CAAC;IAEJ,MAAM,CAAC,KAAK,CAAC,YAAY,CACvB,QAAgB,EAChB,OAAgB,SAAS;QAEzB,gEAAgE;QAChE,mEAAmE;QACnE,wDAAwD;QACxD,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QACvB,OAAO,IAAI,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,YAAY,CACvB,IAA6B,EAC7B,UAAkB,EAClB,OAAgB,SAAS;QAEzB,mEAAmE;QACnE,gEAAgE;QAChE,mEAAmE;QACnE,0DAA0D;QAC1D,qCAAqC;QACrC,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,IAAa,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;QAC7D,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QACvB,OAAO,IAAI,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,SAAS;QACX,OAAO,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;IAC7B,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAiB,EAAE,OAAoB;QAChD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7C,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;CACF"}
@@ -1,12 +1,13 @@
1
- import type { Wallet } from "./adapter.js";
2
- /** Server-side ed25519 wallet built from a raw 32-byte seed. */
3
- export declare class KeypairWallet implements Wallet {
1
+ import type { Signer, SignIntent, SignerType } from "@cef-ai/signer";
2
+ /** Server-side ed25519 signer built from a raw 32-byte seed. */
3
+ export declare class KeypairWallet implements Signer {
4
4
  private readonly seed;
5
- private readonly pubkeyHex;
5
+ readonly publicKey: Uint8Array;
6
+ readonly address: string;
7
+ readonly type: SignerType;
6
8
  private constructor();
7
9
  static fromSeed(seed: Uint8Array): Promise<KeypairWallet>;
8
- pubkey(): string;
9
- sigType(): "ed25519";
10
- sign(bytes: Uint8Array): Promise<Uint8Array>;
10
+ isReady(): Promise<boolean>;
11
+ sign(bytes: Uint8Array, _intent?: SignIntent): Promise<Uint8Array>;
11
12
  }
12
13
  //# sourceMappingURL=keypair.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"keypair.d.ts","sourceRoot":"","sources":["../../src/wallet/keypair.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C,gEAAgE;AAChE,qBAAa,aAAc,YAAW,MAAM;IAExC,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAF5B,OAAO;WAKM,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC;IAQ/D,MAAM,IAAI,MAAM;IAChB,OAAO,IAAI,SAAS;IACpB,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;CAG7C"}
1
+ {"version":3,"file":"keypair.d.ts","sourceRoot":"","sources":["../../src/wallet/keypair.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAKrE,gEAAgE;AAChE,qBAAa,aAAc,YAAW,MAAM;IAGxC,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,QAAQ,CAAC,SAAS,EAAE,UAAU;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM;IAJ1B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAa;IACtC,OAAO;WAMM,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC;IAW/D,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAG3B,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;CAGnE"}
@@ -1,23 +1,30 @@
1
1
  import * as ed from "@noble/ed25519";
2
- import { bytesToHex } from "../core/canonical.js";
3
- /** Server-side ed25519 wallet built from a raw 32-byte seed. */
2
+ import { encodeAddress } from "@polkadot/util-crypto";
3
+ /** Cere SS58 address format. */
4
+ const CERE_SS58_PREFIX = 54;
5
+ /** Server-side ed25519 signer built from a raw 32-byte seed. */
4
6
  export class KeypairWallet {
5
7
  seed;
6
- pubkeyHex;
7
- constructor(seed, pubkeyHex) {
8
+ publicKey;
9
+ address;
10
+ type = "ed25519";
11
+ constructor(seed, publicKey, address) {
8
12
  this.seed = seed;
9
- this.pubkeyHex = pubkeyHex;
13
+ this.publicKey = publicKey;
14
+ this.address = address;
10
15
  }
11
16
  static async fromSeed(seed) {
12
17
  if (seed.length !== 32) {
13
18
  throw new Error(`KeypairWallet: seed must be 32 bytes, got ${seed.length}`);
14
19
  }
15
20
  const pub = await ed.getPublicKeyAsync(seed);
16
- return new KeypairWallet(seed, `0x${bytesToHex(pub)}`);
21
+ // ed25519 address encoding is pure JS (base58check) — no WASM/cryptoWaitReady needed, unlike the sr25519 path.
22
+ return new KeypairWallet(seed, pub, encodeAddress(pub, CERE_SS58_PREFIX));
17
23
  }
18
- pubkey() { return this.pubkeyHex; }
19
- sigType() { return "ed25519"; }
20
- sign(bytes) {
24
+ isReady() {
25
+ return Promise.resolve(true);
26
+ }
27
+ sign(bytes, _intent) {
21
28
  return ed.signAsync(bytes, this.seed);
22
29
  }
23
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"keypair.js","sourceRoot":"","sources":["../../src/wallet/keypair.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAErC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,gEAAgE;AAChE,MAAM,OAAO,aAAa;IAEL;IACA;IAFnB,YACmB,IAAgB,EAChB,SAAiB;QADjB,SAAI,GAAJ,IAAI,CAAY;QAChB,cAAS,GAAT,SAAS,CAAQ;IACjC,CAAC;IAEJ,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAgB;QACpC,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,6CAA6C,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9E,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC7C,OAAO,IAAI,aAAa,CAAC,IAAI,EAAE,KAAK,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,KAAa,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAC3C,OAAO,KAAgB,OAAO,SAAS,CAAC,CAAC,CAAC;IAC1C,IAAI,CAAC,KAAiB;QACpB,OAAO,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;CACF"}
1
+ {"version":3,"file":"keypair.js","sourceRoot":"","sources":["../../src/wallet/keypair.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGtD,gCAAgC;AAChC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAE5B,gEAAgE;AAChE,MAAM,OAAO,aAAa;IAGL;IACR;IACA;IAJF,IAAI,GAAe,SAAS,CAAC;IACtC,YACmB,IAAgB,EACxB,SAAqB,EACrB,OAAe;QAFP,SAAI,GAAJ,IAAI,CAAY;QACxB,cAAS,GAAT,SAAS,CAAY;QACrB,YAAO,GAAP,OAAO,CAAQ;IACvB,CAAC;IAEJ,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAgB;QACpC,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACb,6CAA6C,IAAI,CAAC,MAAM,EAAE,CAC3D,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC7C,+GAA+G;QAC/G,OAAO,IAAI,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,aAAa,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,OAAO;QACL,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,CAAC,KAAiB,EAAE,OAAoB;QAC1C,OAAO,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cef-ai/vault-sdk",
3
- "version": "1.3.1",
3
+ "version": "3.0.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -25,7 +25,8 @@
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.2.0",
28
+ "@cef-ai/account": "1.3.0",
29
+ "@cef-ai/signer": "1.0.0",
29
30
  "@cef-ai/transport": "1.0.0"
30
31
  },
31
32
  "devDependencies": {
@@ -1,15 +0,0 @@
1
- /**
2
- * Minimum wallet contract. Implementations live alongside (KeypairWallet,
3
- * CereWallet). Browser-extension and CereWalletNative adapters live in their
4
- * own packages so this SDK stays browser-isomorphic.
5
- */
6
- export interface Wallet {
7
- /** 0x-hex (or bare hex; SDK stamps `0x` prefix) public key. */
8
- pubkey(): string;
9
- /** Signature scheme; defaults to `"ed25519"` if the adapter does not say. */
10
- sigType?(): "ed25519" | "sr25519";
11
- /** Raw-bytes signature over the input. Returns 64 bytes for ed25519. */
12
- sign(bytes: Uint8Array): Promise<Uint8Array>;
13
- }
14
- export declare function isWallet(w: unknown): w is Wallet;
15
- //# sourceMappingURL=adapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/wallet/adapter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,MAAM;IACrB,+DAA+D;IAC/D,MAAM,IAAI,MAAM,CAAC;IACjB,6EAA6E;IAC7E,OAAO,CAAC,IAAI,SAAS,GAAG,SAAS,CAAC;IAClC,wEAAwE;IACxE,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CAC9C;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,MAAM,CAIhD"}
@@ -1,6 +0,0 @@
1
- export function isWallet(w) {
2
- return !!w && typeof w === "object"
3
- && typeof w.pubkey === "function"
4
- && typeof w.sign === "function";
5
- }
6
- //# sourceMappingURL=adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/wallet/adapter.ts"],"names":[],"mappings":"AAcA,MAAM,UAAU,QAAQ,CAAC,CAAU;IACjC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;WAC9B,OAAQ,CAAY,CAAC,MAAM,KAAK,UAAU;WAC1C,OAAQ,CAAY,CAAC,IAAI,KAAK,UAAU,CAAC;AAChD,CAAC"}