@cef-ai/vault-sdk 0.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 (146) hide show
  1. package/README.md +122 -0
  2. package/dist/agreements/gar-client.d.ts +28 -0
  3. package/dist/agreements/gar-client.d.ts.map +1 -0
  4. package/dist/agreements/gar-client.js +21 -0
  5. package/dist/agreements/gar-client.js.map +1 -0
  6. package/dist/agreements/index.d.ts +7 -0
  7. package/dist/agreements/index.d.ts.map +1 -0
  8. package/dist/agreements/index.js +5 -0
  9. package/dist/agreements/index.js.map +1 -0
  10. package/dist/agreements/payload.d.ts +38 -0
  11. package/dist/agreements/payload.d.ts.map +1 -0
  12. package/dist/agreements/payload.js +20 -0
  13. package/dist/agreements/payload.js.map +1 -0
  14. package/dist/agreements/sign.d.ts +31 -0
  15. package/dist/agreements/sign.d.ts.map +1 -0
  16. package/dist/agreements/sign.js +38 -0
  17. package/dist/agreements/sign.js.map +1 -0
  18. package/dist/auth/no-auth.d.ts +9 -0
  19. package/dist/auth/no-auth.d.ts.map +1 -0
  20. package/dist/auth/no-auth.js +14 -0
  21. package/dist/auth/no-auth.js.map +1 -0
  22. package/dist/auth/provider.d.ts +31 -0
  23. package/dist/auth/provider.d.ts.map +1 -0
  24. package/dist/auth/provider.js +2 -0
  25. package/dist/auth/provider.js.map +1 -0
  26. package/dist/auth/wallet.d.ts +15 -0
  27. package/dist/auth/wallet.d.ts.map +1 -0
  28. package/dist/auth/wallet.js +33 -0
  29. package/dist/auth/wallet.js.map +1 -0
  30. package/dist/client.d.ts +48 -0
  31. package/dist/client.d.ts.map +1 -0
  32. package/dist/client.js +64 -0
  33. package/dist/client.js.map +1 -0
  34. package/dist/core/canonical.d.ts +16 -0
  35. package/dist/core/canonical.d.ts.map +1 -0
  36. package/dist/core/canonical.js +39 -0
  37. package/dist/core/canonical.js.map +1 -0
  38. package/dist/core/endpoints.d.ts +27 -0
  39. package/dist/core/endpoints.d.ts.map +1 -0
  40. package/dist/core/endpoints.js +28 -0
  41. package/dist/core/endpoints.js.map +1 -0
  42. package/dist/core/errors.d.ts +13 -0
  43. package/dist/core/errors.d.ts.map +1 -0
  44. package/dist/core/errors.js +29 -0
  45. package/dist/core/errors.js.map +1 -0
  46. package/dist/core/http.d.ts +31 -0
  47. package/dist/core/http.d.ts.map +1 -0
  48. package/dist/core/http.js +82 -0
  49. package/dist/core/http.js.map +1 -0
  50. package/dist/core/types.d.ts +135 -0
  51. package/dist/core/types.d.ts.map +1 -0
  52. package/dist/core/types.js +2 -0
  53. package/dist/core/types.js.map +1 -0
  54. package/dist/fluent/agent-connection.d.ts +28 -0
  55. package/dist/fluent/agent-connection.d.ts.map +1 -0
  56. package/dist/fluent/agent-connection.js +52 -0
  57. package/dist/fluent/agent-connection.js.map +1 -0
  58. package/dist/fluent/cubby.d.ts +12 -0
  59. package/dist/fluent/cubby.d.ts.map +1 -0
  60. package/dist/fluent/cubby.js +20 -0
  61. package/dist/fluent/cubby.js.map +1 -0
  62. package/dist/fluent/job.d.ts +20 -0
  63. package/dist/fluent/job.d.ts.map +1 -0
  64. package/dist/fluent/job.js +24 -0
  65. package/dist/fluent/job.js.map +1 -0
  66. package/dist/fluent/scope.d.ts +27 -0
  67. package/dist/fluent/scope.d.ts.map +1 -0
  68. package/dist/fluent/scope.js +40 -0
  69. package/dist/fluent/scope.js.map +1 -0
  70. package/dist/fluent/subscribe.d.ts +24 -0
  71. package/dist/fluent/subscribe.d.ts.map +1 -0
  72. package/dist/fluent/subscribe.js +46 -0
  73. package/dist/fluent/subscribe.js.map +1 -0
  74. package/dist/fluent/vault.d.ts +68 -0
  75. package/dist/fluent/vault.d.ts.map +1 -0
  76. package/dist/fluent/vault.js +98 -0
  77. package/dist/fluent/vault.js.map +1 -0
  78. package/dist/index.d.ts +22 -0
  79. package/dist/index.d.ts.map +1 -0
  80. package/dist/index.js +17 -0
  81. package/dist/index.js.map +1 -0
  82. package/dist/internal/agents.d.ts +21 -0
  83. package/dist/internal/agents.d.ts.map +1 -0
  84. package/dist/internal/agents.js +30 -0
  85. package/dist/internal/agents.js.map +1 -0
  86. package/dist/internal/browse.d.ts +31 -0
  87. package/dist/internal/browse.d.ts.map +1 -0
  88. package/dist/internal/browse.js +32 -0
  89. package/dist/internal/browse.js.map +1 -0
  90. package/dist/internal/cubbies.d.ts +15 -0
  91. package/dist/internal/cubbies.d.ts.map +1 -0
  92. package/dist/internal/cubbies.js +20 -0
  93. package/dist/internal/cubbies.js.map +1 -0
  94. package/dist/internal/events.d.ts +8 -0
  95. package/dist/internal/events.d.ts.map +1 -0
  96. package/dist/internal/events.js +17 -0
  97. package/dist/internal/events.js.map +1 -0
  98. package/dist/internal/health.d.ts +12 -0
  99. package/dist/internal/health.d.ts.map +1 -0
  100. package/dist/internal/health.js +16 -0
  101. package/dist/internal/health.js.map +1 -0
  102. package/dist/internal/marketplace.d.ts +25 -0
  103. package/dist/internal/marketplace.d.ts.map +1 -0
  104. package/dist/internal/marketplace.js +22 -0
  105. package/dist/internal/marketplace.js.map +1 -0
  106. package/dist/internal/scopes.d.ts +21 -0
  107. package/dist/internal/scopes.d.ts.map +1 -0
  108. package/dist/internal/scopes.js +19 -0
  109. package/dist/internal/scopes.js.map +1 -0
  110. package/dist/internal/vaults.d.ts +17 -0
  111. package/dist/internal/vaults.d.ts.map +1 -0
  112. package/dist/internal/vaults.js +19 -0
  113. package/dist/internal/vaults.js.map +1 -0
  114. package/dist/internal-exports.d.ts +11 -0
  115. package/dist/internal-exports.d.ts.map +1 -0
  116. package/dist/internal-exports.js +13 -0
  117. package/dist/internal-exports.js.map +1 -0
  118. package/dist/wallet/adapter.d.ts +15 -0
  119. package/dist/wallet/adapter.d.ts.map +1 -0
  120. package/dist/wallet/adapter.js +6 -0
  121. package/dist/wallet/adapter.js.map +1 -0
  122. package/dist/wallet/cere-internal/index.d.ts +4 -0
  123. package/dist/wallet/cere-internal/index.d.ts.map +1 -0
  124. package/dist/wallet/cere-internal/index.js +4 -0
  125. package/dist/wallet/cere-internal/index.js.map +1 -0
  126. package/dist/wallet/cere-internal/json-signer.d.ts +34 -0
  127. package/dist/wallet/cere-internal/json-signer.d.ts.map +1 -0
  128. package/dist/wallet/cere-internal/json-signer.js +78 -0
  129. package/dist/wallet/cere-internal/json-signer.js.map +1 -0
  130. package/dist/wallet/cere-internal/signer.d.ts +51 -0
  131. package/dist/wallet/cere-internal/signer.d.ts.map +1 -0
  132. package/dist/wallet/cere-internal/signer.js +33 -0
  133. package/dist/wallet/cere-internal/signer.js.map +1 -0
  134. package/dist/wallet/cere-internal/uri-signer.d.ts +28 -0
  135. package/dist/wallet/cere-internal/uri-signer.d.ts.map +1 -0
  136. package/dist/wallet/cere-internal/uri-signer.js +68 -0
  137. package/dist/wallet/cere-internal/uri-signer.js.map +1 -0
  138. package/dist/wallet/cere.d.ts +22 -0
  139. package/dist/wallet/cere.d.ts.map +1 -0
  140. package/dist/wallet/cere.js +55 -0
  141. package/dist/wallet/cere.js.map +1 -0
  142. package/dist/wallet/keypair.d.ts +12 -0
  143. package/dist/wallet/keypair.d.ts.map +1 -0
  144. package/dist/wallet/keypair.js +24 -0
  145. package/dist/wallet/keypair.js.map +1 -0
  146. package/package.json +40 -0
@@ -0,0 +1,12 @@
1
+ import type { VaultHttpClient } from "../core/http.js";
2
+ export interface HealthResponse {
3
+ status: string;
4
+ [k: string]: unknown;
5
+ }
6
+ export declare class Health {
7
+ private readonly http;
8
+ constructor(http: VaultHttpClient);
9
+ live(): Promise<HealthResponse>;
10
+ ready(): Promise<HealthResponse>;
11
+ }
12
+ //# sourceMappingURL=health.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/internal/health.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAMvD,MAAM,WAAW,cAAc;IAAG,MAAM,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE;AAExE,qBAAa,MAAM;IACL,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,eAAe;IAClD,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC;IAG/B,KAAK,IAAI,OAAO,CAAC,cAAc,CAAC;CAGjC"}
@@ -0,0 +1,16 @@
1
+ import { endpoints } from "../core/endpoints.js";
2
+ import { NoAuth } from "../auth/no-auth.js";
3
+ const PUBLIC = new NoAuth();
4
+ export class Health {
5
+ http;
6
+ constructor(http) {
7
+ this.http = http;
8
+ }
9
+ live() {
10
+ return this.http.send("GET", endpoints.health(), { auth: PUBLIC });
11
+ }
12
+ ready() {
13
+ return this.http.send("GET", endpoints.ready(), { auth: PUBLIC });
14
+ }
15
+ }
16
+ //# sourceMappingURL=health.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/internal/health.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;AAI5B,MAAM,OAAO,MAAM;IACY;IAA7B,YAA6B,IAAqB;QAArB,SAAI,GAAJ,IAAI,CAAiB;IAAG,CAAC;IACtD,IAAI;QACF,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,KAAK;QACH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACpE,CAAC;CACF"}
@@ -0,0 +1,25 @@
1
+ import type { VaultHttpClient } from "../core/http.js";
2
+ export interface AgentManifest {
3
+ agentId: string;
4
+ version: string;
5
+ manifestCid: string;
6
+ /**
7
+ * Agent service ed25519 pubkey (0x-hex). Required by the Global Agent
8
+ * Registry to bind a connection to a specific service identity. The
9
+ * marketplace API returns this on every manifest.
10
+ */
11
+ asPubKey: string;
12
+ [k: string]: unknown;
13
+ }
14
+ /**
15
+ * Marketplace lives on a separate API server (see `pkg/compute/marketplace`
16
+ * in ddc-node). The SDK is configured with a dedicated `marketplaceEndpoint`
17
+ * URL that may differ from the vault endpoint — pass a `VaultHttpClient`
18
+ * built against that URL into the constructor below.
19
+ */
20
+ export declare class Marketplace {
21
+ private readonly http;
22
+ constructor(http: VaultHttpClient);
23
+ getAgent(agentId: string, version?: string): Promise<AgentManifest>;
24
+ }
25
+ //# sourceMappingURL=marketplace.d.ts.map
@@ -0,0 +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;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB;AAED;;;;;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;CAMpE"}
@@ -0,0 +1,22 @@
1
+ import { endpoints } from "../core/endpoints.js";
2
+ import { NoAuth } from "../auth/no-auth.js";
3
+ const PUBLIC = new NoAuth();
4
+ /**
5
+ * Marketplace lives on a separate API server (see `pkg/compute/marketplace`
6
+ * in ddc-node). The SDK is configured with a dedicated `marketplaceEndpoint`
7
+ * URL that may differ from the vault endpoint — pass a `VaultHttpClient`
8
+ * built against that URL into the constructor below.
9
+ */
10
+ export class Marketplace {
11
+ http;
12
+ constructor(http) {
13
+ this.http = http;
14
+ }
15
+ getAgent(agentId, version) {
16
+ const path = version
17
+ ? endpoints.marketplaceAgentVersion(agentId, version)
18
+ : endpoints.marketplaceAgent(agentId);
19
+ return this.http.send("GET", path, { auth: PUBLIC });
20
+ }
21
+ }
22
+ //# sourceMappingURL=marketplace.js.map
@@ -0,0 +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;AAe5B;;;;;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;CACF"}
@@ -0,0 +1,21 @@
1
+ import type { VaultHttpClient } from "../core/http.js";
2
+ import type { Scope } from "../core/types.js";
3
+ export interface CreateScopeRequest {
4
+ name: string;
5
+ displayName?: string;
6
+ streamLabel?: string;
7
+ }
8
+ export interface UpdateScopeRequest {
9
+ displayName?: string;
10
+ streamLabel?: string;
11
+ }
12
+ export declare class Scopes {
13
+ private readonly http;
14
+ constructor(http: VaultHttpClient);
15
+ list(v: string): Promise<Scope[]>;
16
+ get(v: string, n: string): Promise<Scope>;
17
+ create(v: string, req: CreateScopeRequest): Promise<Scope>;
18
+ update(v: string, n: string, req: UpdateScopeRequest): Promise<Scope>;
19
+ delete(v: string, n: string): Promise<void>;
20
+ }
21
+ //# sourceMappingURL=scopes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scopes.d.ts","sourceRoot":"","sources":["../../src/internal/scopes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,WAAW,kBAAkB;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE;AAChG,MAAM,WAAW,kBAAkB;IAAG,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE;AAElF,qBAAa,MAAM;IACL,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,eAAe;IAClD,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IACjC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IACzC,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC;IAG1D,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC;IAGrE,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG5C"}
@@ -0,0 +1,19 @@
1
+ import { endpoints } from "../core/endpoints.js";
2
+ export class Scopes {
3
+ http;
4
+ constructor(http) {
5
+ this.http = http;
6
+ }
7
+ list(v) { return this.http.send("GET", endpoints.scopes(v)); }
8
+ get(v, n) { return this.http.send("GET", endpoints.scope(v, n)); }
9
+ create(v, req) {
10
+ return this.http.send("POST", endpoints.scopes(v), { body: req });
11
+ }
12
+ update(v, n, req) {
13
+ return this.http.send("PATCH", endpoints.scope(v, n), { body: req });
14
+ }
15
+ delete(v, n) {
16
+ return this.http.send("DELETE", endpoints.scope(v, n), { body: {} });
17
+ }
18
+ }
19
+ //# sourceMappingURL=scopes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scopes.js","sourceRoot":"","sources":["../../src/internal/scopes.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAMjD,MAAM,OAAO,MAAM;IACY;IAA7B,YAA6B,IAAqB;QAArB,SAAI,GAAJ,IAAI,CAAiB;IAAG,CAAC;IACtD,IAAI,CAAC,CAAS,IAAsB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxF,GAAG,CAAC,CAAS,EAAE,CAAS,IAAoB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClG,MAAM,CAAC,CAAS,EAAE,GAAuB;QACvC,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,MAAM,CAAC,CAAS,EAAE,CAAS,EAAE,GAAuB;QAClD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,GAAyC,EAAE,CAAC,CAAC;IAC7G,CAAC;IACD,MAAM,CAAC,CAAS,EAAE,CAAS;QACzB,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"}
@@ -0,0 +1,17 @@
1
+ import type { VaultHttpClient } from "../core/http.js";
2
+ import type { VaultRecord } from "../core/types.js";
3
+ export interface ClaimVaultRequest {
4
+ name?: string;
5
+ delegation_token: string;
6
+ }
7
+ export interface RotateCredentialRequest {
8
+ delegation_token: string;
9
+ }
10
+ export declare class Vaults {
11
+ private readonly http;
12
+ constructor(http: VaultHttpClient);
13
+ claim(req: ClaimVaultRequest): Promise<VaultRecord>;
14
+ current(): Promise<VaultRecord>;
15
+ rotateCredentials(vaultId: string, req: RotateCredentialRequest): Promise<VaultRecord>;
16
+ }
17
+ //# sourceMappingURL=vaults.d.ts.map
@@ -0,0 +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,MAAM,WAAW,iBAAiB;IAAG,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAE;AAC9E,MAAM,WAAW,uBAAuB;IAAG,gBAAgB,EAAE,MAAM,CAAA;CAAE;AAErE,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,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,uBAAuB,GAAG,OAAO,CAAC,WAAW,CAAC;CAKvF"}
@@ -0,0 +1,19 @@
1
+ import { endpoints } from "../core/endpoints.js";
2
+ export class Vaults {
3
+ http;
4
+ constructor(http) {
5
+ this.http = http;
6
+ }
7
+ claim(req) {
8
+ return this.http.send("POST", endpoints.vaults(), { body: req });
9
+ }
10
+ current() {
11
+ return this.http.send("GET", endpoints.vaults());
12
+ }
13
+ rotateCredentials(vaultId, req) {
14
+ return this.http.send("PUT", endpoints.vaultCredentials(vaultId), {
15
+ body: req,
16
+ });
17
+ }
18
+ }
19
+ //# sourceMappingURL=vaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vaults.js","sourceRoot":"","sources":["../../src/internal/vaults.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAMjD,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,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"}
@@ -0,0 +1,11 @@
1
+ export { Vaults } from "./internal/vaults.js";
2
+ export { Scopes } from "./internal/scopes.js";
3
+ export { Agents } from "./internal/agents.js";
4
+ export { Events } from "./internal/events.js";
5
+ export { Browse } from "./internal/browse.js";
6
+ export { Cubbies } from "./internal/cubbies.js";
7
+ export { Health } from "./internal/health.js";
8
+ export { Marketplace } from "./internal/marketplace.js";
9
+ export { VaultHttpClient } from "./core/http.js";
10
+ export { endpoints } from "./core/endpoints.js";
11
+ //# sourceMappingURL=internal-exports.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal-exports.d.ts","sourceRoot":"","sources":["../src/internal-exports.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,13 @@
1
+ // Sub-export for power users who need the low-level resources directly.
2
+ // Imported via `@cef-ai/vault-sdk/internal`. Most apps never touch this.
3
+ export { Vaults } from "./internal/vaults.js";
4
+ export { Scopes } from "./internal/scopes.js";
5
+ export { Agents } from "./internal/agents.js";
6
+ export { Events } from "./internal/events.js";
7
+ export { Browse } from "./internal/browse.js";
8
+ export { Cubbies } from "./internal/cubbies.js";
9
+ export { Health } from "./internal/health.js";
10
+ export { Marketplace } from "./internal/marketplace.js";
11
+ export { VaultHttpClient } from "./core/http.js";
12
+ export { endpoints } from "./core/endpoints.js";
13
+ //# sourceMappingURL=internal-exports.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal-exports.js","sourceRoot":"","sources":["../src/internal-exports.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,yEAAyE;AACzE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,15 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,6 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,4 @@
1
+ export { CERE_SS58_PREFIX, Signer } from "./signer.js";
2
+ export { UriSigner, type UriSignerOptions } from "./uri-signer.js";
3
+ export { JsonSigner, type JsonSignerOptions } from "./json-signer.js";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/wallet/cere-internal/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { CERE_SS58_PREFIX, Signer } from "./signer.js";
2
+ export { UriSigner } from "./uri-signer.js";
3
+ export { JsonSigner } from "./json-signer.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/wallet/cere-internal/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,SAAS,EAAyB,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,UAAU,EAA0B,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,34 @@
1
+ import type { KeyringPair$Json } from "@polkadot/keyring/types";
2
+ import { Signer } from "./signer.js";
3
+ export type JsonSignerOptions = {
4
+ passphrase?: string;
5
+ };
6
+ /**
7
+ * Signer that loads a Cere/Polkadot JSON keystore export.
8
+ *
9
+ * Vendored from `@cere-activity-sdk/signers@0.1.7` (Apache-2.0).
10
+ *
11
+ * **Bug fix vs. upstream**: upstream's constructor calls `this.isReady()`
12
+ * without awaiting and without `void`-discarding it, so a malformed
13
+ * keystore JSON produces an *unhandled* promise rejection that leaks past
14
+ * the caller's `await`. We pre-validate the keystore shape synchronously
15
+ * in the constructor and only kick off `isReady()` after that gate, so
16
+ * the eager warm-up never fails for shape reasons — schema errors
17
+ * surface synchronously where the caller can catch them.
18
+ *
19
+ * @group Signers
20
+ * @extends Signer
21
+ */
22
+ export declare class JsonSigner extends Signer {
23
+ private account;
24
+ private options;
25
+ private pair?;
26
+ constructor(account: KeyringPair$Json, options?: JsonSignerOptions);
27
+ isReady(): Promise<boolean>;
28
+ private getPair;
29
+ get type(): import("@polkadot/util-crypto/types").KeypairType;
30
+ get address(): string;
31
+ get publicKey(): `0x${string}`;
32
+ sign(data: Uint8Array | string): Promise<`0x${string}`>;
33
+ }
34
+ //# sourceMappingURL=json-signer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-signer.d.ts","sourceRoot":"","sources":["../../../src/wallet/cere-internal/json-signer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAe,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAI7E,OAAO,EAAoB,MAAM,EAAE,MAAM,aAAa,CAAC;AAEvD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,UAAW,SAAQ,MAAM;IAIlC,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,OAAO;IAJjB,OAAO,CAAC,IAAI,CAAC,CAAc;gBAGjB,OAAO,EAAE,gBAAgB,EACzB,OAAO,GAAE,iBAAsB;IAwBnC,OAAO;IAsBb,OAAO,CAAC,OAAO;IAQf,IAAI,IAAI,sDAEP;IAED,IAAI,OAAO,WAEV;IAED,IAAI,SAAS,kBAEZ;IAEK,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM;CAOrC"}
@@ -0,0 +1,78 @@
1
+ import { Keyring } from "@polkadot/keyring";
2
+ import { u8aToHex } from "@polkadot/util";
3
+ import { cryptoWaitReady } from "@polkadot/util-crypto";
4
+ import { CERE_SS58_PREFIX, Signer } from "./signer.js";
5
+ /**
6
+ * Signer that loads a Cere/Polkadot JSON keystore export.
7
+ *
8
+ * Vendored from `@cere-activity-sdk/signers@0.1.7` (Apache-2.0).
9
+ *
10
+ * **Bug fix vs. upstream**: upstream's constructor calls `this.isReady()`
11
+ * without awaiting and without `void`-discarding it, so a malformed
12
+ * keystore JSON produces an *unhandled* promise rejection that leaks past
13
+ * the caller's `await`. We pre-validate the keystore shape synchronously
14
+ * in the constructor and only kick off `isReady()` after that gate, so
15
+ * the eager warm-up never fails for shape reasons — schema errors
16
+ * surface synchronously where the caller can catch them.
17
+ *
18
+ * @group Signers
19
+ * @extends Signer
20
+ */
21
+ export class JsonSigner extends Signer {
22
+ account;
23
+ options;
24
+ pair;
25
+ constructor(account, options = {}) {
26
+ super();
27
+ this.account = account;
28
+ this.options = options;
29
+ // Pre-flight shape check. See class doc comment.
30
+ if (!account
31
+ || typeof account !== "object"
32
+ || typeof account.encoded !== "string"
33
+ || typeof account.encoding !== "object"
34
+ || account.encoding === null
35
+ || typeof account.address !== "string") {
36
+ throw new Error("JsonSigner: invalid keystore JSON — expected `encoded`/`encoding`/`address` fields");
37
+ }
38
+ // Eager warm-up, safe to ignore — failures surface via the next awaited
39
+ // `isReady()` / `sign()` call. The shape check above keeps this
40
+ // promise from rejecting on bad input.
41
+ void this.isReady();
42
+ }
43
+ async isReady() {
44
+ if (this.pair) {
45
+ return true;
46
+ }
47
+ const isCryptoReady = await cryptoWaitReady();
48
+ if (!isCryptoReady) {
49
+ return false;
50
+ }
51
+ this.pair = new Keyring({ ss58Format: CERE_SS58_PREFIX }).addFromJson(this.account);
52
+ if (this.options.passphrase) {
53
+ this.pair.unlock(this.options.passphrase);
54
+ }
55
+ return true;
56
+ }
57
+ getPair() {
58
+ if (this.pair) {
59
+ return this.pair;
60
+ }
61
+ throw new Error("Signer is not ready");
62
+ }
63
+ get type() {
64
+ return this.getPair().type;
65
+ }
66
+ get address() {
67
+ return this.getPair().address;
68
+ }
69
+ get publicKey() {
70
+ return u8aToHex(this.getPair().publicKey);
71
+ }
72
+ async sign(data) {
73
+ await this.isReady();
74
+ const signature = this.getPair().sign(data);
75
+ return u8aToHex(signature);
76
+ }
77
+ }
78
+ //# sourceMappingURL=json-signer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-signer.js","sourceRoot":"","sources":["../../../src/wallet/cere-internal/json-signer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAMvD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,UAAW,SAAQ,MAAM;IAI1B;IACA;IAJF,IAAI,CAAe;IAE3B,YACU,OAAyB,EACzB,UAA6B,EAAE;QAEvC,KAAK,EAAE,CAAC;QAHA,YAAO,GAAP,OAAO,CAAkB;QACzB,YAAO,GAAP,OAAO,CAAwB;QAIvC,iDAAiD;QACjD,IACE,CAAC,OAAO;eACL,OAAO,OAAO,KAAK,QAAQ;eAC3B,OAAQ,OAAiC,CAAC,OAAO,KAAK,QAAQ;eAC9D,OAAQ,OAAkC,CAAC,QAAQ,KAAK,QAAQ;eAC/D,OAAkC,CAAC,QAAQ,KAAK,IAAI;eACrD,OAAQ,OAAiC,CAAC,OAAO,KAAK,QAAQ,EACjE,CAAC;YACD,MAAM,IAAI,KAAK,CACb,oFAAoF,CACrF,CAAC;QACJ,CAAC;QAED,wEAAwE;QACxE,gEAAgE;QAChE,uCAAuC;QACvC,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,eAAe,EAAE,CAAC;QAE9C,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,IAAI,GAAG,IAAI,OAAO,CAAC,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC,CAAC,WAAW,CACnE,IAAI,CAAC,OAAO,CACb,CAAC;QAEF,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,OAAO;QACb,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC;IAC7B,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC;IAChC,CAAC;IAED,IAAI,SAAS;QACX,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAyB;QAClC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QAErB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE5C,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC7B,CAAC;CACF"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * This abstract class provides a blueprint for creating different types of signers.
3
+ *
4
+ * @group Signers
5
+ * @example
6
+ *
7
+ * ```typescript
8
+ * class MySigner extends Signer {
9
+ * // Implement abstract properties and methods...
10
+ * }
11
+ *
12
+ * const mySigner = new MySigner();
13
+ * const isReady = await mySigner.isReady();
14
+ * console.log(isReady);
15
+ * ```
16
+ */
17
+ export declare abstract class Signer {
18
+ /**
19
+ * The type of the signer ('ed25519' or 'sr25519').
20
+ */
21
+ abstract readonly type: string;
22
+ /**
23
+ * The address of the signer.
24
+ */
25
+ abstract readonly address: string;
26
+ /**
27
+ * The public key of the signer.
28
+ */
29
+ abstract readonly publicKey: string;
30
+ /**
31
+ * Checks if the signer is ready.
32
+ * @returns A promise that resolves to a boolean indicating whether the signer is ready.
33
+ */
34
+ abstract isReady(): Promise<boolean>;
35
+ /**
36
+ * Signs data with the signer.
37
+ *
38
+ * @param data - The data to sign.
39
+ * @returns A promise that resolves to the signature.
40
+ */
41
+ abstract sign(data: Uint8Array | string): Promise<string>;
42
+ /**
43
+ * Checks if an object is a signer.
44
+ *
45
+ * @param signer - The object to check.
46
+ * @returns A boolean indicating whether the object is a signer.
47
+ */
48
+ static isSigner(signer: unknown): signer is Signer;
49
+ }
50
+ export declare const CERE_SS58_PREFIX = 54;
51
+ //# sourceMappingURL=signer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../../src/wallet/cere-internal/signer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,8BAAsB,MAAM;IAC1B;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAElC;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAEpC;;;OAGG;IACH,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAEpC;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAEzD;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,MAAM;CAUnD;AAED,eAAO,MAAM,gBAAgB,KAAK,CAAC"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * This abstract class provides a blueprint for creating different types of signers.
3
+ *
4
+ * @group Signers
5
+ * @example
6
+ *
7
+ * ```typescript
8
+ * class MySigner extends Signer {
9
+ * // Implement abstract properties and methods...
10
+ * }
11
+ *
12
+ * const mySigner = new MySigner();
13
+ * const isReady = await mySigner.isReady();
14
+ * console.log(isReady);
15
+ * ```
16
+ */
17
+ export class Signer {
18
+ /**
19
+ * Checks if an object is a signer.
20
+ *
21
+ * @param signer - The object to check.
22
+ * @returns A boolean indicating whether the object is a signer.
23
+ */
24
+ static isSigner(signer) {
25
+ if (!signer || typeof signer !== "object") {
26
+ return false;
27
+ }
28
+ return (signer instanceof Signer
29
+ || ("isReady" in signer && "sign" in signer));
30
+ }
31
+ }
32
+ export const CERE_SS58_PREFIX = 54;
33
+ //# sourceMappingURL=signer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signer.js","sourceRoot":"","sources":["../../../src/wallet/cere-internal/signer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAgB,MAAM;IA8B1B;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,MAAe;QAC7B,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC1C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,CACL,MAAM,YAAY,MAAM;eACrB,CAAC,SAAS,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,CAC7C,CAAC;IACJ,CAAC;CACF;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC"}
@@ -0,0 +1,28 @@
1
+ import type { KeyringOptions } from "@polkadot/keyring/types";
2
+ import { Signer } from "./signer.js";
3
+ export type UriSignerOptions = Pick<KeyringOptions, "type">;
4
+ /**
5
+ * Signer that uses a Substrate URI (mnemonic / SURI) to derive a keypair.
6
+ *
7
+ * Vendored from `@cere-activity-sdk/signers@0.1.7` (Apache-2.0). The
8
+ * upstream `getSigner()` method returning a `@polkadot/types` `Signer`
9
+ * was dropped — vault-sdk has no use for it and trimming the import
10
+ * keeps `@polkadot/types` out of vault-sdk's dependency tree.
11
+ *
12
+ * @group Signers
13
+ * @extends Signer
14
+ */
15
+ export declare class UriSigner extends Signer {
16
+ private uri;
17
+ private options;
18
+ private pair?;
19
+ constructor(uri: string, options?: UriSignerOptions);
20
+ isReady(): Promise<boolean>;
21
+ private getPair;
22
+ get type(): import("@polkadot/util-crypto/types").KeypairType;
23
+ get address(): string;
24
+ get publicKey(): `0x${string}`;
25
+ sign(data: Uint8Array | string): Promise<`0x${string}`>;
26
+ static create(uri: string, options?: UriSignerOptions): Promise<UriSigner>;
27
+ }
28
+ //# sourceMappingURL=uri-signer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uri-signer.d.ts","sourceRoot":"","sources":["../../../src/wallet/cere-internal/uri-signer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,yBAAyB,CAAC;AAI3E,OAAO,EAAoB,MAAM,EAAE,MAAM,aAAa,CAAC;AAEvD,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;AAE5D;;;;;;;;;;GAUG;AACH,qBAAa,SAAU,SAAQ,MAAM;IAIjC,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,OAAO;IAJjB,OAAO,CAAC,IAAI,CAAC,CAAc;gBAGjB,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,gBAAqB;IASlC,OAAO;IAmBb,OAAO,CAAC,OAAO;IAQf,IAAI,IAAI,sDAEP;IAED,IAAI,OAAO,WAEV;IAED,IAAI,SAAS,kBAEZ;IAEK,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM;WAQvB,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB;CAMhE"}
@@ -0,0 +1,68 @@
1
+ import { Keyring } from "@polkadot/keyring";
2
+ import { u8aToHex } from "@polkadot/util";
3
+ import { cryptoWaitReady } from "@polkadot/util-crypto";
4
+ import { CERE_SS58_PREFIX, Signer } from "./signer.js";
5
+ /**
6
+ * Signer that uses a Substrate URI (mnemonic / SURI) to derive a keypair.
7
+ *
8
+ * Vendored from `@cere-activity-sdk/signers@0.1.7` (Apache-2.0). The
9
+ * upstream `getSigner()` method returning a `@polkadot/types` `Signer`
10
+ * was dropped — vault-sdk has no use for it and trimming the import
11
+ * keeps `@polkadot/types` out of vault-sdk's dependency tree.
12
+ *
13
+ * @group Signers
14
+ * @extends Signer
15
+ */
16
+ export class UriSigner extends Signer {
17
+ uri;
18
+ options;
19
+ pair;
20
+ constructor(uri, options = {}) {
21
+ super();
22
+ this.uri = uri;
23
+ this.options = options;
24
+ // Eager warm-up; safe to ignore — failures are surfaced via the next
25
+ // awaited `isReady()` / `sign()` call. Behaviour matches upstream.
26
+ void this.isReady();
27
+ }
28
+ async isReady() {
29
+ if (this.pair) {
30
+ return true;
31
+ }
32
+ const isCryptoReady = await cryptoWaitReady();
33
+ if (!isCryptoReady) {
34
+ return false;
35
+ }
36
+ this.pair = new Keyring({
37
+ ss58Format: CERE_SS58_PREFIX,
38
+ type: this.type,
39
+ }).addFromUri(this.uri);
40
+ return true;
41
+ }
42
+ getPair() {
43
+ if (this.pair) {
44
+ return this.pair;
45
+ }
46
+ throw new Error("Signer is not ready");
47
+ }
48
+ get type() {
49
+ return this.options.type || "ethereum";
50
+ }
51
+ get address() {
52
+ return this.getPair().address;
53
+ }
54
+ get publicKey() {
55
+ return u8aToHex(this.getPair().publicKey);
56
+ }
57
+ async sign(data) {
58
+ await this.isReady();
59
+ const signature = this.getPair().sign(data);
60
+ return u8aToHex(signature);
61
+ }
62
+ static async create(uri, options = {}) {
63
+ const signer = new UriSigner(uri, options);
64
+ await signer.isReady();
65
+ return signer;
66
+ }
67
+ }
68
+ //# sourceMappingURL=uri-signer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uri-signer.js","sourceRoot":"","sources":["../../../src/wallet/cere-internal/uri-signer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAIvD;;;;;;;;;;GAUG;AACH,MAAM,OAAO,SAAU,SAAQ,MAAM;IAIzB;IACA;IAJF,IAAI,CAAe;IAE3B,YACU,GAAW,EACX,UAA4B,EAAE;QAEtC,KAAK,EAAE,CAAC;QAHA,QAAG,GAAH,GAAG,CAAQ;QACX,YAAO,GAAP,OAAO,CAAuB;QAItC,qEAAqE;QACrE,mEAAmE;QACnE,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,eAAe,EAAE,CAAC;QAE9C,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,IAAI,GAAG,IAAI,OAAO,CAAC;YACtB,UAAU,EAAE,gBAAgB;YAC5B,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAExB,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,OAAO;QACb,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,UAAU,CAAC;IACzC,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC;IAChC,CAAC;IAED,IAAI,SAAS;QACX,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAyB;QAClC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QAErB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE5C,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC7B,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAW,EAAE,UAA4B,EAAE;QAC7D,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC3C,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QAEvB,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
@@ -0,0 +1,22 @@
1
+ import type { Wallet } from "./adapter.js";
2
+ type SigType = "ed25519" | "sr25519";
3
+ /**
4
+ * Wallet adapter wrapping a Cere signer (`UriSigner` for mnemonic / SURI,
5
+ * `JsonSigner` for Cere/Polkadot JSON keystore exports).
6
+ *
7
+ * The signer implementations live in `./cere-internal/` — vendored from
8
+ * `@cere-activity-sdk/signers@0.1.7` (Apache-2.0). See that folder's
9
+ * README for attribution and divergence notes.
10
+ */
11
+ export declare class CereWallet implements Wallet {
12
+ private readonly signer;
13
+ private readonly type;
14
+ private constructor();
15
+ static fromMnemonic(mnemonic: string, type?: SigType): Promise<CereWallet>;
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>;
20
+ }
21
+ export {};
22
+ //# sourceMappingURL=cere.d.ts.map
@@ -0,0 +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"}