@cef-ai/vault-sdk 2.0.0 → 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.
- package/README.md +18 -16
- package/dist/agreements/sign.d.ts +4 -4
- package/dist/agreements/sign.d.ts.map +1 -1
- package/dist/agreements/sign.js +3 -3
- package/dist/agreements/sign.js.map +1 -1
- package/dist/auth/assert-scheme.d.ts +8 -0
- package/dist/auth/assert-scheme.d.ts.map +1 -0
- package/dist/auth/assert-scheme.js +15 -0
- package/dist/auth/assert-scheme.js.map +1 -0
- package/dist/auth/wallet.d.ts +10 -4
- package/dist/auth/wallet.d.ts.map +1 -1
- package/dist/auth/wallet.js +14 -8
- package/dist/auth/wallet.js.map +1 -1
- package/dist/client.d.ts +26 -5
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +77 -21
- package/dist/client.js.map +1 -1
- package/dist/core/endpoints.d.ts +1 -0
- package/dist/core/endpoints.d.ts.map +1 -1
- package/dist/core/endpoints.js +1 -0
- package/dist/core/endpoints.js.map +1 -1
- package/dist/core/errors.d.ts.map +1 -1
- package/dist/core/errors.js +4 -1
- package/dist/core/errors.js.map +1 -1
- package/dist/core/types.d.ts +5 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/fluent/vault.d.ts +10 -6
- package/dist/fluent/vault.d.ts.map +1 -1
- package/dist/fluent/vault.js +18 -9
- package/dist/fluent/vault.js.map +1 -1
- package/dist/index.d.ts +8 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -2
- package/dist/index.js.map +1 -1
- package/dist/internal/onboarding.d.ts +4 -6
- package/dist/internal/onboarding.d.ts.map +1 -1
- package/dist/internal/onboarding.js +15 -12
- package/dist/internal/onboarding.js.map +1 -1
- package/dist/internal/vault-info.d.ts +12 -0
- package/dist/internal/vault-info.d.ts.map +1 -0
- package/dist/internal/vault-info.js +19 -0
- package/dist/internal/vault-info.js.map +1 -0
- package/dist/wallet/cere.d.ts +7 -6
- package/dist/wallet/cere.d.ts.map +1 -1
- package/dist/wallet/cere.js +10 -8
- package/dist/wallet/cere.js.map +1 -1
- package/dist/wallet/keypair.d.ts +8 -7
- package/dist/wallet/keypair.d.ts.map +1 -1
- package/dist/wallet/keypair.js +16 -9
- package/dist/wallet/keypair.js.map +1 -1
- package/package.json +3 -2
- package/dist/wallet/adapter.d.ts +0 -15
- package/dist/wallet/adapter.d.ts.map +0 -1
- package/dist/wallet/adapter.js +0 -6
- package/dist/wallet/adapter.js.map +0 -1
package/README.md
CHANGED
|
@@ -23,7 +23,7 @@ const sdk = new VaultSDK({
|
|
|
23
23
|
s3GatewayAuthInfoUrl: "https://ddc-s3-gateway.compute.dev.ddcdragon.com/auth/info",
|
|
24
24
|
// Override to point at the prod marketplace; defaults to the dev cluster URL.
|
|
25
25
|
marketplaceEndpoint: "https://agent-marketplace.compute.dev.ddcdragon.com",
|
|
26
|
-
|
|
26
|
+
signer: mySigner, // any `@cef-ai/signer` Signer
|
|
27
27
|
});
|
|
28
28
|
|
|
29
29
|
const vault = await sdk.vault.ensure({
|
|
@@ -42,12 +42,12 @@ Server-side (pre-provisioned wallet, skip onboarding):
|
|
|
42
42
|
```ts
|
|
43
43
|
import { VaultSDK, CereWallet } from "@cef-ai/vault-sdk";
|
|
44
44
|
|
|
45
|
-
const
|
|
45
|
+
const signer = await CereWallet.fromMnemonic(process.env.WALLET_MNEMONIC!);
|
|
46
46
|
const sdk = new VaultSDK({
|
|
47
47
|
endpoint: "https://vault.cere.io",
|
|
48
48
|
garEndpoint: "https://gar.cere.io",
|
|
49
49
|
s3GatewayAuthInfoUrl: "https://ddc-s3-gateway.compute.dev.ddcdragon.com/auth/info",
|
|
50
|
-
|
|
50
|
+
signer,
|
|
51
51
|
});
|
|
52
52
|
const vault = await sdk.vault.ensure({ onboard: false });
|
|
53
53
|
```
|
|
@@ -132,7 +132,7 @@ const handle = await vault.agents.connect({
|
|
|
132
132
|
console.log(handle.agentId, handle.status);
|
|
133
133
|
```
|
|
134
134
|
|
|
135
|
-
Requires `garEndpoint` and a `
|
|
135
|
+
Requires `garEndpoint` and a `signer` on `VaultSDKConfig`. If you
|
|
136
136
|
already have a pre-signed `agreementSignature` (e.g. from a custodial flow),
|
|
137
137
|
drop down to the low-level `Agents.connect(vaultId, ConnectAgentRequest)`
|
|
138
138
|
exported from `@cef-ai/vault-sdk/internal`.
|
|
@@ -168,7 +168,7 @@ exported from `@cef-ai/vault-sdk/internal`.
|
|
|
168
168
|
| `marketplaceEndpoint?: string` | Base URL for the agent marketplace API (separate host from the vault API; reads are unauthenticated). Default: dev cluster URL (`https://agent-marketplace.compute.dev.ddcdragon.com`). |
|
|
169
169
|
| `s3GatewayAuthInfoUrl?: string` | Gateway `/auth/info` URL used to fetch the gateway pubkey when `s3GatewayPubkey` is not set. Default: dev cluster gateway. |
|
|
170
170
|
| `s3GatewayPubkey?: string` | Static gateway pubkey; skips the `/auth/info` round-trip during `vault.ensure()`. |
|
|
171
|
-
| `
|
|
171
|
+
| `signer?: Signer` / `auth?: AuthProvider` | Authenticated calls. Mutually exclusive — `auth` overrides `signer`. `Signer` is `@cef-ai/signer`'s canonical interface. |
|
|
172
172
|
| `fetch?: typeof fetch` | Inject a custom fetch for tests / non-browser runtimes. |
|
|
173
173
|
| `timeoutMs?: number` | Per-request timeout (default 30 s). |
|
|
174
174
|
|
|
@@ -180,7 +180,7 @@ you supply reach the wire.
|
|
|
180
180
|
|
|
181
181
|
## Pluggable auth
|
|
182
182
|
|
|
183
|
-
`VaultSDK` accepts either a `
|
|
183
|
+
`VaultSDK` accepts either a `signer` (default → `WalletAuthProvider`) or a
|
|
184
184
|
fully custom `auth: AuthProvider`:
|
|
185
185
|
|
|
186
186
|
```ts
|
|
@@ -190,18 +190,20 @@ new VaultSDK({ endpoint, auth: new BearerAuthProvider(token) });
|
|
|
190
190
|
Ships with `WalletAuthProvider` and `NoAuth`. Implement `AuthProvider`
|
|
191
191
|
yourself to plug in delegation tokens, trusted-headers, or anything else.
|
|
192
192
|
|
|
193
|
-
##
|
|
193
|
+
## Signers
|
|
194
194
|
|
|
195
|
-
The
|
|
195
|
+
The SDK consumes a `@cef-ai/signer.Signer` — the canonical, chain-free signer
|
|
196
|
+
interface shared across the SDK suite: `{ type, address, publicKey: Uint8Array,
|
|
197
|
+
isReady(), sign(bytes, intent?) }`. vault-sdk 3.0.0 retired its bespoke `Wallet`
|
|
198
|
+
interface; pass any `Signer` directly.
|
|
196
199
|
|
|
197
|
-
- `KeypairWallet.fromSeed(bytes)` — raw 32-byte ed25519 seed (server use)
|
|
198
|
-
- `CereWallet.fromMnemonic(mnemonic, type?)` — wraps `UriSigner`.
|
|
199
|
-
- `CereWallet.fromKeystore(json, passphrase, type?)` — Cere/Polkadot JSON keystore
|
|
200
|
+
- `KeypairWallet.fromSeed(bytes)` — raw 32-byte ed25519 seed (server use); implements `Signer`.
|
|
201
|
+
- `CereWallet.fromMnemonic(mnemonic, type?)` — wraps `UriSigner`; implements `Signer`.
|
|
202
|
+
- `CereWallet.fromKeystore(json, passphrase, type?)` — Cere/Polkadot JSON keystore; implements `Signer`.
|
|
200
203
|
|
|
201
|
-
Browser apps using
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
is a working reference.
|
|
204
|
+
Browser apps using the CEF wallet pass `embedWallet.asSigner()` straight into
|
|
205
|
+
`new VaultSDK({ signer })` — it already satisfies `Signer`, so no adapter is
|
|
206
|
+
needed (this replaces the old 3-method `Wallet` shim).
|
|
205
207
|
|
|
206
208
|
The `UriSigner` / `JsonSigner` classes powering `CereWallet` are vendored
|
|
207
209
|
from [`@cere-activity-sdk/signers`](https://github.com/cere-io/cere-activity-sdk/tree/main/packages/signers)
|
|
@@ -219,7 +221,7 @@ Browser-extension and CereWalletNative adapters live in their own packages.
|
|
|
219
221
|
`VaultHttpClient` and `endpoints`.
|
|
220
222
|
|
|
221
223
|
Onboarding primitives (`runOnboarding`, `pollUntilProxyReady`,
|
|
222
|
-
`getOnboardingStatus`, `runBootstrap`, `
|
|
224
|
+
`getOnboardingStatus`, `runBootstrap`, `signerToOnboardingSigner`) and
|
|
223
225
|
`getGatewayInfo` live under their respective files in `src/internal/` for
|
|
224
226
|
advanced consumers that need to drive the HTTP-only status/bootstrap
|
|
225
227
|
pipeline piecewise. Use them only when the fluent surface isn't enough.
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Signer } from "@cef-ai/signer";
|
|
2
2
|
import type { GarClient } from "./gar-client.js";
|
|
3
3
|
export interface SignAndSubmitAgreementOptions {
|
|
4
|
-
/**
|
|
5
|
-
|
|
4
|
+
/** Signer — must implement `sign(bytes, intent?)`. */
|
|
5
|
+
signer: Signer;
|
|
6
6
|
/** Vault to bind the agreement to. */
|
|
7
7
|
vault: {
|
|
8
8
|
id: string;
|
|
@@ -31,7 +31,7 @@ export interface SignAndSubmitAgreementResult {
|
|
|
31
31
|
}
|
|
32
32
|
/**
|
|
33
33
|
* High-level orchestrator: build a v2 agreement payload, sign the JSON bytes
|
|
34
|
-
* with the user's
|
|
34
|
+
* with the user's signer, POST the signed envelope to GAR, and return the
|
|
35
35
|
* bare-hex signature for the vault-api `agents.connect` body.
|
|
36
36
|
*/
|
|
37
37
|
export declare function signAndSubmitAgreement(opts: SignAndSubmitAgreementOptions): Promise<SignAndSubmitAgreementResult>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sign.d.ts","sourceRoot":"","sources":["../../src/agreements/sign.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"sign.d.ts","sourceRoot":"","sources":["../../src/agreements/sign.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAG7C,OAAO,KAAK,EAAE,SAAS,EAA2B,MAAM,iBAAiB,CAAC;AAE1E,MAAM,WAAW,6BAA6B;IAC5C,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C;;;;OAIG;IACH,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,kBAAkB,EAAE,MAAM,CAAA;KAAE,CAAC;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,SAAS,CAAC;IACf,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,4BAA4B;IAC3C;;;OAGG;IACH,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,6BAA6B,GAClC,OAAO,CAAC,4BAA4B,CAAC,CAmCvC"}
|
package/dist/agreements/sign.js
CHANGED
|
@@ -4,11 +4,11 @@ import { VaultSignerRequiredError } from "../core/errors.js";
|
|
|
4
4
|
import { buildVaultAgreementPayloadV2 } from "./payload.js";
|
|
5
5
|
/**
|
|
6
6
|
* High-level orchestrator: build a v2 agreement payload, sign the JSON bytes
|
|
7
|
-
* with the user's
|
|
7
|
+
* with the user's signer, POST the signed envelope to GAR, and return the
|
|
8
8
|
* bare-hex signature for the vault-api `agents.connect` body.
|
|
9
9
|
*/
|
|
10
10
|
export async function signAndSubmitAgreement(opts) {
|
|
11
|
-
if (typeof opts.
|
|
11
|
+
if (typeof opts.signer?.sign !== "function") {
|
|
12
12
|
throw new VaultSignerRequiredError();
|
|
13
13
|
}
|
|
14
14
|
const { agentId, agentServicePubkey } = opts.agent;
|
|
@@ -23,7 +23,7 @@ export async function signAndSubmitAgreement(opts) {
|
|
|
23
23
|
scope: opts.scope,
|
|
24
24
|
createdAt: opts.clock,
|
|
25
25
|
});
|
|
26
|
-
const sigBytes = await opts.
|
|
26
|
+
const sigBytes = await opts.signer.sign(bytes, "data");
|
|
27
27
|
const sigHexBare = bytesToHex(sigBytes);
|
|
28
28
|
const envelope = {
|
|
29
29
|
payload: encodeBase64Url(bytes),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sign.js","sourceRoot":"","sources":["../../src/agreements/sign.ts"],"names":[],"mappings":"AAAA,yBAAyB;AACzB,OAAO,EACL,UAAU,EACV,eAAe,EACf,WAAW,EACX,UAAU,GACX,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AA4B5D;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,IAAmC;IAEnC,IAAI,OAAO,IAAI,CAAC,MAAM,EAAE,IAAI,KAAK,UAAU,EAAE,CAAC;QAC5C,MAAM,IAAI,wBAAwB,EAAE,CAAC;IACvC,CAAC;IACD,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;IACnD,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,gEAAgE,CACjE,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,GAAG,4BAA4B,CAAC;QAC7C,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;QACtB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU;QACjC,QAAQ,EAAE,kBAAkB;QAC5B,OAAO;QACP,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,SAAS,EAAE,IAAI,CAAC,KAAK;KACtB,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"sign.js","sourceRoot":"","sources":["../../src/agreements/sign.ts"],"names":[],"mappings":"AAAA,yBAAyB;AACzB,OAAO,EACL,UAAU,EACV,eAAe,EACf,WAAW,EACX,UAAU,GACX,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AA4B5D;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,IAAmC;IAEnC,IAAI,OAAO,IAAI,CAAC,MAAM,EAAE,IAAI,KAAK,UAAU,EAAE,CAAC;QAC5C,MAAM,IAAI,wBAAwB,EAAE,CAAC;IACvC,CAAC;IACD,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;IACnD,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,gEAAgE,CACjE,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,GAAG,4BAA4B,CAAC;QAC7C,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;QACtB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU;QACjC,QAAQ,EAAE,kBAAkB;QAC5B,OAAO;QACP,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,SAAS,EAAE,IAAI,CAAC,KAAK;KACtB,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACvD,MAAM,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAExC,MAAM,QAAQ,GAA4B;QACxC,OAAO,EAAE,eAAe,CAAC,KAAK,CAAC;QAC/B,SAAS,EAAE;YACT,SAAS,EAAE,SAAS;YACpB,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;YAC1C,KAAK,EAAE,WAAW,CAAC,UAAU,CAAC;SAC/B;KACF,CAAC;IAEF,MAAM,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAEvC,OAAO,EAAE,kBAAkB,EAAE,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;AACxD,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { SignerType } from "@cef-ai/signer";
|
|
2
|
+
/** Thrown when a signer's curve type is not a scheme the vault-api accepts. */
|
|
3
|
+
export declare class UnsupportedSignatureTypeError extends Error {
|
|
4
|
+
constructor(type: string);
|
|
5
|
+
}
|
|
6
|
+
/** Narrow a signer's `SignerType` to the vault-api wire scheme, or throw. */
|
|
7
|
+
export declare function assertScheme(type: SignerType): "ed25519" | "sr25519";
|
|
8
|
+
//# sourceMappingURL=assert-scheme.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assert-scheme.d.ts","sourceRoot":"","sources":["../../src/auth/assert-scheme.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,+EAA+E;AAC/E,qBAAa,6BAA8B,SAAQ,KAAK;gBAC1C,IAAI,EAAE,MAAM;CAOzB;AAED,6EAA6E;AAC7E,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,CAGpE"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/** Thrown when a signer's curve type is not a scheme the vault-api accepts. */
|
|
2
|
+
export class UnsupportedSignatureTypeError extends Error {
|
|
3
|
+
constructor(type) {
|
|
4
|
+
super(`Unsupported signature type "${type}": vault-api accepts only "ed25519" or "sr25519". ` +
|
|
5
|
+
`Pass WalletAuthOptions.sigType to override.`);
|
|
6
|
+
this.name = "UnsupportedSignatureTypeError";
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
/** Narrow a signer's `SignerType` to the vault-api wire scheme, or throw. */
|
|
10
|
+
export function assertScheme(type) {
|
|
11
|
+
if (type === "ed25519" || type === "sr25519")
|
|
12
|
+
return type;
|
|
13
|
+
throw new UnsupportedSignatureTypeError(type);
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=assert-scheme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assert-scheme.js","sourceRoot":"","sources":["../../src/auth/assert-scheme.ts"],"names":[],"mappings":"AAGA,+EAA+E;AAC/E,MAAM,OAAO,6BAA8B,SAAQ,KAAK;IACtD,YAAY,IAAY;QACtB,KAAK,CACH,+BAA+B,IAAI,oDAAoD;YACrF,6CAA6C,CAChD,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,+BAA+B,CAAC;IAC9C,CAAC;CACF;AAED,6EAA6E;AAC7E,MAAM,UAAU,YAAY,CAAC,IAAgB;IAC3C,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAC1D,MAAM,IAAI,6BAA6B,CAAC,IAAI,CAAC,CAAC;AAChD,CAAC"}
|
package/dist/auth/wallet.d.ts
CHANGED
|
@@ -1,15 +1,21 @@
|
|
|
1
|
+
import type { Signer } from "@cef-ai/signer";
|
|
1
2
|
import type { AuthProvider, AuthRequest, AuthOutcome } from "./provider.js";
|
|
2
|
-
|
|
3
|
+
/** Options for {@link WalletAuthProvider}. */
|
|
3
4
|
export interface WalletAuthOptions {
|
|
4
|
-
/** Override the
|
|
5
|
+
/** Override the signer's scheme (skips assertScheme). */
|
|
5
6
|
sigType?: "ed25519" | "sr25519";
|
|
6
7
|
/** Clock for deterministic tests. */
|
|
7
8
|
clock?: () => string;
|
|
8
9
|
}
|
|
10
|
+
/**
|
|
11
|
+
* Auth provider that signs vault-api requests. NOTE: the "Wallet" prefix is
|
|
12
|
+
* legacy — the constructor takes a `@cef-ai/signer` `Signer`, not the
|
|
13
|
+
* removed `Wallet` interface.
|
|
14
|
+
*/
|
|
9
15
|
export declare class WalletAuthProvider implements AuthProvider {
|
|
10
|
-
private readonly
|
|
16
|
+
private readonly signer;
|
|
11
17
|
private readonly opts;
|
|
12
|
-
constructor(
|
|
18
|
+
constructor(signer: Signer, opts?: WalletAuthOptions);
|
|
13
19
|
authenticate(req: AuthRequest): Promise<AuthOutcome>;
|
|
14
20
|
}
|
|
15
21
|
//# sourceMappingURL=wallet.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../src/auth/wallet.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../src/auth/wallet.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAY5E,8CAA8C;AAC9C,MAAM,WAAW,iBAAiB;IAChC,yDAAyD;IACzD,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAChC,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,qBAAa,kBAAmB,YAAW,YAAY;IAEnD,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBADJ,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,iBAAsB;IAGzC,YAAY,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;CA4B3D"}
|
package/dist/auth/wallet.js
CHANGED
|
@@ -1,30 +1,36 @@
|
|
|
1
1
|
import { buildPreamble, encodeBase64Url, ensure0xHex, stampBody, strip0xHex, bytesToHex, } from "../core/canonical.js";
|
|
2
2
|
import { VaultSignerRequiredError } from "../core/errors.js";
|
|
3
|
+
import { assertScheme } from "./assert-scheme.js";
|
|
4
|
+
/**
|
|
5
|
+
* Auth provider that signs vault-api requests. NOTE: the "Wallet" prefix is
|
|
6
|
+
* legacy — the constructor takes a `@cef-ai/signer` `Signer`, not the
|
|
7
|
+
* removed `Wallet` interface.
|
|
8
|
+
*/
|
|
3
9
|
export class WalletAuthProvider {
|
|
4
|
-
|
|
10
|
+
signer;
|
|
5
11
|
opts;
|
|
6
|
-
constructor(
|
|
7
|
-
this.
|
|
12
|
+
constructor(signer, opts = {}) {
|
|
13
|
+
this.signer = signer;
|
|
8
14
|
this.opts = opts;
|
|
9
15
|
}
|
|
10
16
|
async authenticate(req) {
|
|
11
|
-
if (typeof this.
|
|
17
|
+
if (typeof this.signer?.sign !== "function")
|
|
12
18
|
throw new VaultSignerRequiredError();
|
|
13
|
-
const sigType = this.opts.sigType ?? this.
|
|
19
|
+
const sigType = this.opts.sigType ?? assertScheme(this.signer.type);
|
|
14
20
|
const headers = {
|
|
15
|
-
"X-Public-Key": ensure0xHex(this.
|
|
21
|
+
"X-Public-Key": ensure0xHex(bytesToHex(this.signer.publicKey)),
|
|
16
22
|
"X-Signature-Type": sigType,
|
|
17
23
|
};
|
|
18
24
|
const upper = req.method.toUpperCase();
|
|
19
25
|
if (upper === "GET" || upper === "HEAD") {
|
|
20
26
|
const { bytes } = buildPreamble(upper, req.path, req.query, this.opts.clock);
|
|
21
|
-
const sig = await this.
|
|
27
|
+
const sig = await this.signer.sign(bytes, "data");
|
|
22
28
|
headers["X-Signed-Preamble"] = encodeBase64Url(bytes);
|
|
23
29
|
headers["X-Signature"] = strip0xHex(bytesToHex(sig));
|
|
24
30
|
return { headers };
|
|
25
31
|
}
|
|
26
32
|
const { bytes } = stampBody(req.body, this.opts.clock);
|
|
27
|
-
const sig = await this.
|
|
33
|
+
const sig = await this.signer.sign(bytes, "data");
|
|
28
34
|
headers["Content-Type"] = "application/json";
|
|
29
35
|
headers["X-Signature"] = strip0xHex(bytesToHex(sig));
|
|
30
36
|
return { headers, body: bytes };
|
package/dist/auth/wallet.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../src/auth/wallet.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,aAAa,
|
|
1
|
+
{"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../src/auth/wallet.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,aAAa,EACb,eAAe,EACf,WAAW,EACX,SAAS,EACT,UAAU,EACV,UAAU,GACX,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAUlD;;;;GAIG;AACH,MAAM,OAAO,kBAAkB;IAEV;IACA;IAFnB,YACmB,MAAc,EACd,OAA0B,EAAE;QAD5B,WAAM,GAAN,MAAM,CAAQ;QACd,SAAI,GAAJ,IAAI,CAAwB;IAC5C,CAAC;IAEJ,KAAK,CAAC,YAAY,CAAC,GAAgB;QACjC,IAAI,OAAO,IAAI,CAAC,MAAM,EAAE,IAAI,KAAK,UAAU;YACzC,MAAM,IAAI,wBAAwB,EAAE,CAAC;QAEvC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpE,MAAM,OAAO,GAA2B;YACtC,cAAc,EAAE,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC9D,kBAAkB,EAAE,OAAO;SAC5B,CAAC;QACF,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QACvC,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YACxC,MAAM,EAAE,KAAK,EAAE,GAAG,aAAa,CAC7B,KAAK,EACL,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,KAAK,EACT,IAAI,CAAC,IAAI,CAAC,KAAK,CAChB,CAAC;YACF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAClD,OAAO,CAAC,mBAAmB,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;YACtD,OAAO,CAAC,aAAa,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;YACrD,OAAO,EAAE,OAAO,EAAE,CAAC;QACrB,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAClD,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;QAC7C,OAAO,CAAC,aAAa,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QACrD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IAClC,CAAC;CACF"}
|
package/dist/client.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { Health } from "./internal/health.js";
|
|
|
3
3
|
import { Vault } from "./fluent/vault.js";
|
|
4
4
|
import { type OnboardingStatus } from "./internal/onboarding.js";
|
|
5
5
|
import type { AuthProvider } from "./auth/provider.js";
|
|
6
|
-
import type {
|
|
6
|
+
import type { Signer } from "@cef-ai/signer";
|
|
7
7
|
export interface VaultSDKConfig {
|
|
8
8
|
endpoint: string;
|
|
9
9
|
/**
|
|
@@ -21,11 +21,11 @@ export interface VaultSDKConfig {
|
|
|
21
21
|
*/
|
|
22
22
|
garEndpoint?: string;
|
|
23
23
|
/**
|
|
24
|
-
*
|
|
24
|
+
* Signer — used to construct a default `WalletAuthProvider` for
|
|
25
25
|
* authenticated calls. Mutually exclusive with `auth`.
|
|
26
26
|
*/
|
|
27
|
-
|
|
28
|
-
/** Fully custom auth provider. Overrides `
|
|
27
|
+
signer?: Signer;
|
|
28
|
+
/** Fully custom auth provider. Overrides `signer`. */
|
|
29
29
|
auth?: AuthProvider;
|
|
30
30
|
fetch?: typeof fetch;
|
|
31
31
|
timeoutMs?: number;
|
|
@@ -90,8 +90,9 @@ export declare class VaultSDK {
|
|
|
90
90
|
private readonly http;
|
|
91
91
|
private readonly marketplaceHttp;
|
|
92
92
|
private readonly vaults;
|
|
93
|
+
private readonly vaultInfo;
|
|
93
94
|
private readonly gar?;
|
|
94
|
-
private readonly
|
|
95
|
+
private readonly signer?;
|
|
95
96
|
private readonly s3GatewayPubkey?;
|
|
96
97
|
private readonly s3GatewayAuthInfoUrl;
|
|
97
98
|
private readonly fetchFn;
|
|
@@ -125,6 +126,26 @@ export declare class VaultSDK {
|
|
|
125
126
|
* purpose — do not rework or build on it until that lands.
|
|
126
127
|
*/
|
|
127
128
|
rotateCredentials: (vaultId: string, delegationToken: string) => Promise<Vault>;
|
|
129
|
+
delegate: {
|
|
130
|
+
/** vault-api's delegate signing pubkey (T_v subject). */
|
|
131
|
+
pubkey: () => Promise<string>;
|
|
132
|
+
/**
|
|
133
|
+
* Grant vault-api autonomous S3-credential refresh for `bucketId`:
|
|
134
|
+
* owner signs T_v (subject = delegate pubkey) and registers it with the
|
|
135
|
+
* gateway. The SDK resolves vault-api's delegate pubkey itself (via
|
|
136
|
+
* `VaultInfo.delegate()`) unless the caller already knows it and passes
|
|
137
|
+
* `delegatePubkey` to skip the round-trip.
|
|
138
|
+
*/
|
|
139
|
+
grant: (opts: {
|
|
140
|
+
bucketId: bigint;
|
|
141
|
+
delegatePubkey?: string;
|
|
142
|
+
}) => Promise<void>;
|
|
143
|
+
/** Revoke that grant. */
|
|
144
|
+
revoke: (opts: {
|
|
145
|
+
bucketId: bigint;
|
|
146
|
+
delegatePubkey?: string;
|
|
147
|
+
}) => Promise<void>;
|
|
148
|
+
};
|
|
128
149
|
};
|
|
129
150
|
}
|
|
130
151
|
//# sourceMappingURL=client.d.ts.map
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
CHANGED
|
@@ -9,16 +9,22 @@ import { GarClient } from "./agreements/gar-client.js";
|
|
|
9
9
|
// Import the two chain-free helpers via account's `./delegation-token` subpath
|
|
10
10
|
// (not the root barrel) so vault-sdk never pulls `@cef-ai/account`'s
|
|
11
11
|
// `provisioning` → `@cef-ai/chain` → polkadot stack. Keeps vault-sdk web3-free.
|
|
12
|
-
import { buildDelegationToken, fetchGatewayPubkey } from "@cef-ai/account/delegation-token";
|
|
13
|
-
|
|
12
|
+
import { buildDelegationToken, buildDelegateGrantToken, fetchGatewayPubkey, } from "@cef-ai/account/delegation-token";
|
|
13
|
+
// Same chain-free-seam rule applies to the delegate-grants subpath: it pulls
|
|
14
|
+
// only `gateway-signing.ts` (wallet-signature headers) — never the account
|
|
15
|
+
// root barrel, never `@cef-ai/chain`.
|
|
16
|
+
import { registerDelegate, revokeDelegate } from "@cef-ai/account/delegate-grants";
|
|
17
|
+
import { VaultInfo } from "./internal/vault-info.js";
|
|
18
|
+
import { OnboardingRequiredError, runOnboarding, signerToOnboardingSigner, } from "./internal/onboarding.js";
|
|
14
19
|
const DEFAULT_S3_GATEWAY_AUTH_INFO_URL = "https://ddc-s3-gateway.compute.dev.ddcdragon.com/auth/info";
|
|
15
20
|
const DEFAULT_MARKETPLACE_ENDPOINT = "https://agent-marketplace.compute.dev.ddcdragon.com";
|
|
16
21
|
export class VaultSDK {
|
|
17
22
|
http;
|
|
18
23
|
marketplaceHttp;
|
|
19
24
|
vaults;
|
|
25
|
+
vaultInfo;
|
|
20
26
|
gar;
|
|
21
|
-
|
|
27
|
+
signer;
|
|
22
28
|
s3GatewayPubkey;
|
|
23
29
|
s3GatewayAuthInfoUrl;
|
|
24
30
|
fetchFn;
|
|
@@ -26,7 +32,8 @@ export class VaultSDK {
|
|
|
26
32
|
marketplace;
|
|
27
33
|
health;
|
|
28
34
|
constructor(config) {
|
|
29
|
-
const auth = config.auth ??
|
|
35
|
+
const auth = config.auth ??
|
|
36
|
+
(config.signer ? new WalletAuthProvider(config.signer) : undefined);
|
|
30
37
|
this.http = new VaultHttpClient({
|
|
31
38
|
url: config.endpoint,
|
|
32
39
|
auth,
|
|
@@ -51,12 +58,13 @@ export class VaultSDK {
|
|
|
51
58
|
timeoutMs: config.timeoutMs,
|
|
52
59
|
}));
|
|
53
60
|
}
|
|
54
|
-
this.
|
|
61
|
+
this.signer = config.signer;
|
|
55
62
|
this.s3GatewayPubkey = config.s3GatewayPubkey;
|
|
56
63
|
this.s3GatewayAuthInfoUrl =
|
|
57
64
|
config.s3GatewayAuthInfoUrl ?? DEFAULT_S3_GATEWAY_AUTH_INFO_URL;
|
|
58
65
|
this.fetchFn = config.fetch ?? fetch.bind(globalThis);
|
|
59
66
|
this.vaults = new Vaults(this.http);
|
|
67
|
+
this.vaultInfo = new VaultInfo(this.http);
|
|
60
68
|
this.marketplace = new Marketplace(this.marketplaceHttp);
|
|
61
69
|
this.health = new Health(this.http);
|
|
62
70
|
}
|
|
@@ -81,8 +89,8 @@ export class VaultSDK {
|
|
|
81
89
|
*/
|
|
82
90
|
gatewayBaseUrl() {
|
|
83
91
|
return this.s3GatewayAuthInfoUrl
|
|
84
|
-
.replace(
|
|
85
|
-
.replace(
|
|
92
|
+
.replace(/\/+$/, "")
|
|
93
|
+
.replace(/\/auth\/info$/, "");
|
|
86
94
|
}
|
|
87
95
|
vault = {
|
|
88
96
|
ensure: async (opts = {}) => {
|
|
@@ -92,33 +100,36 @@ export class VaultSDK {
|
|
|
92
100
|
// out, and (b) we have a wallet to drive the gateway interactions.
|
|
93
101
|
// The wallet-less path skips silently — server-side flows that pass
|
|
94
102
|
// a pre-built `delegationToken` shouldn't touch the chain.
|
|
95
|
-
if (wantOnboard && this.
|
|
96
|
-
const signer =
|
|
103
|
+
if (wantOnboard && this.signer) {
|
|
104
|
+
const signer = signerToOnboardingSigner(this.signer);
|
|
97
105
|
const gw = this.gatewayBaseUrl();
|
|
98
106
|
onProgress({ kind: "inspecting-wallet" });
|
|
99
107
|
const onb = await runOnboarding(gw, signer, this.fetchFn, () => {
|
|
100
108
|
onProgress({ kind: "funding-wallet" });
|
|
101
109
|
});
|
|
102
110
|
if (onb.kind === "awaiting-proxy") {
|
|
103
|
-
onProgress({
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
111
|
+
onProgress({
|
|
112
|
+
kind: "gateway-authorization-required",
|
|
113
|
+
status: onb.status,
|
|
114
|
+
});
|
|
115
|
+
throw new OnboardingRequiredError("Onboarding required: the gateway does not yet see this wallet's on-chain " +
|
|
116
|
+
"proxy authorization. Register it externally via `@cef-ai/account`'s " +
|
|
117
|
+
"`provisioning.ensure({ signer, chainUrl, gateway })`, wait for it to " +
|
|
118
|
+
"resolve, then retry `vault.ensure()`.");
|
|
108
119
|
}
|
|
109
120
|
// 'skipped' (production gateway 404'd) and 'ready' both fall
|
|
110
121
|
// through silently to the existing claim path.
|
|
111
122
|
}
|
|
112
123
|
let delegationToken = opts.delegationToken;
|
|
113
124
|
if (!delegationToken) {
|
|
114
|
-
if (!this.
|
|
115
|
-
throw new Error("vault.ensure() needs either a `delegationToken` or a `
|
|
116
|
-
|
|
125
|
+
if (!this.signer) {
|
|
126
|
+
throw new Error("vault.ensure() needs either a `delegationToken` or a `signer` " +
|
|
127
|
+
"configured on VaultSDKConfig to build one internally.");
|
|
117
128
|
}
|
|
118
129
|
onProgress({ kind: "signing-delegation" });
|
|
119
130
|
const gatewayPubkey = await this.resolveGatewayPubkey();
|
|
120
131
|
delegationToken = await buildDelegationToken({
|
|
121
|
-
signer: this.
|
|
132
|
+
signer: this.signer,
|
|
122
133
|
gatewayPubkey,
|
|
123
134
|
});
|
|
124
135
|
}
|
|
@@ -135,11 +146,11 @@ export class VaultSDK {
|
|
|
135
146
|
delegation_token: delegationToken,
|
|
136
147
|
label: "vault",
|
|
137
148
|
});
|
|
138
|
-
return new Vault(this.http, rec, { gar: this.gar,
|
|
149
|
+
return new Vault(this.http, rec, { gar: this.gar, signer: this.signer });
|
|
139
150
|
},
|
|
140
151
|
current: async () => {
|
|
141
152
|
const rec = await this.vaults.current();
|
|
142
|
-
return new Vault(this.http, rec, { gar: this.gar,
|
|
153
|
+
return new Vault(this.http, rec, { gar: this.gar, signer: this.signer });
|
|
143
154
|
},
|
|
144
155
|
/**
|
|
145
156
|
* Rotate the SigV4 delegation credential.
|
|
@@ -155,7 +166,52 @@ export class VaultSDK {
|
|
|
155
166
|
const rec = await this.vaults.rotateCredentials(vaultId, {
|
|
156
167
|
delegation_token: delegationToken,
|
|
157
168
|
});
|
|
158
|
-
return new Vault(this.http, rec, { gar: this.gar,
|
|
169
|
+
return new Vault(this.http, rec, { gar: this.gar, signer: this.signer });
|
|
170
|
+
},
|
|
171
|
+
delegate: {
|
|
172
|
+
/** vault-api's delegate signing pubkey (T_v subject). */
|
|
173
|
+
pubkey: async () => {
|
|
174
|
+
const { delegatePubkey } = await this.vaultInfo.delegate();
|
|
175
|
+
return delegatePubkey;
|
|
176
|
+
},
|
|
177
|
+
/**
|
|
178
|
+
* Grant vault-api autonomous S3-credential refresh for `bucketId`:
|
|
179
|
+
* owner signs T_v (subject = delegate pubkey) and registers it with the
|
|
180
|
+
* gateway. The SDK resolves vault-api's delegate pubkey itself (via
|
|
181
|
+
* `VaultInfo.delegate()`) unless the caller already knows it and passes
|
|
182
|
+
* `delegatePubkey` to skip the round-trip.
|
|
183
|
+
*/
|
|
184
|
+
grant: async (opts) => {
|
|
185
|
+
if (!this.signer) {
|
|
186
|
+
throw new Error("vault.delegate.grant() requires a `signer` on VaultSDKConfig to sign the grant token.");
|
|
187
|
+
}
|
|
188
|
+
const delegatePubkey = opts.delegatePubkey ?? (await this.vaultInfo.delegate()).delegatePubkey;
|
|
189
|
+
const delegationToken = await buildDelegateGrantToken({
|
|
190
|
+
signer: this.signer,
|
|
191
|
+
delegatePubkey,
|
|
192
|
+
bucketId: opts.bucketId,
|
|
193
|
+
});
|
|
194
|
+
await registerDelegate({
|
|
195
|
+
gatewayUrl: this.gatewayBaseUrl(),
|
|
196
|
+
signer: this.signer,
|
|
197
|
+
delegationToken,
|
|
198
|
+
fetchFn: this.fetchFn,
|
|
199
|
+
});
|
|
200
|
+
},
|
|
201
|
+
/** Revoke that grant. */
|
|
202
|
+
revoke: async (opts) => {
|
|
203
|
+
if (!this.signer) {
|
|
204
|
+
throw new Error("vault.delegate.revoke() requires a `signer` on VaultSDKConfig to sign the request.");
|
|
205
|
+
}
|
|
206
|
+
const delegatePubkey = opts.delegatePubkey ?? (await this.vaultInfo.delegate()).delegatePubkey;
|
|
207
|
+
await revokeDelegate({
|
|
208
|
+
gatewayUrl: this.gatewayBaseUrl(),
|
|
209
|
+
signer: this.signer,
|
|
210
|
+
delegatePubkey,
|
|
211
|
+
bucketId: opts.bucketId,
|
|
212
|
+
fetchFn: this.fetchFn,
|
|
213
|
+
});
|
|
214
|
+
},
|
|
159
215
|
},
|
|
160
216
|
};
|
|
161
217
|
}
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,gBAAgB;AAChB,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,+EAA+E;AAC/E,qEAAqE;AACrE,gFAAgF;AAChF,OAAO,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/core/endpoints.d.ts
CHANGED
|
@@ -21,6 +21,7 @@ export declare const endpoints: {
|
|
|
21
21
|
readonly marketplaceAgents: () => string;
|
|
22
22
|
readonly marketplaceAgent: (a: string) => string;
|
|
23
23
|
readonly marketplaceAgentVersion: (a: string, v: string) => string;
|
|
24
|
+
readonly delegateInfo: () => string;
|
|
24
25
|
readonly health: () => string;
|
|
25
26
|
readonly ready: () => string;
|
|
26
27
|
readonly metrics: () => string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endpoints.d.ts","sourceRoot":"","sources":["../../src/core/endpoints.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,SAAS;;wBAET,MAAM;mCACK,MAAM;yBAChB,MAAM;wBACP,MAAM,KAAK,MAAM;yBAChB,MAAM;wBACP,MAAM,KAAK,MAAM;8BACX,MAAM,KAAK,MAAM;+BAChB,MAAM,KAAK,MAAM;yBACvB,MAAM,KAAK,MAAM,OAAO,MAAM;+BAExB,MAAM,KAAK,MAAM,OAAO,MAAM;uBAEtC,MAAM;sBACP,MAAM,KAAK,MAAM;4BACX,MAAM,KAAK,MAAM;2BAClB,MAAM,KAAK,MAAM;0BAClB,MAAM,KAAK,MAAM,KAAK,MAAM;8BAExB,MAAM,KAAK,MAAM,KAAK,MAAM;6BAE7B,MAAM,KAAK,MAAM,KAAK,MAAM,SAAS,MAAM;4BAE5C,MAAM,KAAK,MAAM,KAAK,MAAM,SAAS,MAAM;;mCAGpC,MAAM;0CACC,MAAM,KAAK,MAAM
|
|
1
|
+
{"version":3,"file":"endpoints.d.ts","sourceRoot":"","sources":["../../src/core/endpoints.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,SAAS;;wBAET,MAAM;mCACK,MAAM;yBAChB,MAAM;wBACP,MAAM,KAAK,MAAM;yBAChB,MAAM;wBACP,MAAM,KAAK,MAAM;8BACX,MAAM,KAAK,MAAM;+BAChB,MAAM,KAAK,MAAM;yBACvB,MAAM,KAAK,MAAM,OAAO,MAAM;+BAExB,MAAM,KAAK,MAAM,OAAO,MAAM;uBAEtC,MAAM;sBACP,MAAM,KAAK,MAAM;4BACX,MAAM,KAAK,MAAM;2BAClB,MAAM,KAAK,MAAM;0BAClB,MAAM,KAAK,MAAM,KAAK,MAAM;8BAExB,MAAM,KAAK,MAAM,KAAK,MAAM;6BAE7B,MAAM,KAAK,MAAM,KAAK,MAAM,SAAS,MAAM;4BAE5C,MAAM,KAAK,MAAM,KAAK,MAAM,SAAS,MAAM;;mCAGpC,MAAM;0CACC,MAAM,KAAK,MAAM;;;;;CAMtC,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC"}
|
package/dist/core/endpoints.js
CHANGED
|
@@ -23,6 +23,7 @@ export const endpoints = {
|
|
|
23
23
|
marketplaceAgents: () => `${API_BASE}/marketplace/agents`,
|
|
24
24
|
marketplaceAgent: (a) => `${API_BASE}/marketplace/agents/${seg(a)}`,
|
|
25
25
|
marketplaceAgentVersion: (a, v) => `${API_BASE}/marketplace/agents/${seg(a)}/versions/${seg(v)}`,
|
|
26
|
+
delegateInfo: () => `${API_BASE}/delegate-info`,
|
|
26
27
|
health: () => `/health`,
|
|
27
28
|
ready: () => `/ready`,
|
|
28
29
|
metrics: () => `/metrics`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endpoints.js","sourceRoot":"","sources":["../../src/core/endpoints.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"endpoints.js","sourceRoot":"","sources":["../../src/core/endpoints.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"AACA,qBAAa,iBAAkB,SAAQ,KAAK;aAGxB,MAAM,CAAC,EAAE,MAAM;aACf,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM;gBAFtC,OAAO,EAAE,MAAM,EACC,MAAM,CAAC,EAAE,MAAM,YAAA,EACf,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,YAAA;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"AACA,qBAAa,iBAAkB,SAAQ,KAAK;aAGxB,MAAM,CAAC,EAAE,MAAM;aACf,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM;gBAFtC,OAAO,EAAE,MAAM,EACC,MAAM,CAAC,EAAE,MAAM,YAAA,EACf,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,YAAA;CAKzC;AAED,qBAAa,wBAAyB,SAAQ,iBAAiB;gBACjD,OAAO,SAAmC;CAIvD;AAED,qBAAa,wBAAyB,SAAQ,KAAK;gBAE/C,OAAO,SAAiE;CAK3E;AAMD,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,GACZ,iBAAiB,CAQnB"}
|
package/dist/core/errors.js
CHANGED
|
@@ -16,7 +16,10 @@ export class VaultNotImplementedError extends VaultRequestError {
|
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
18
|
export class VaultSignerRequiredError extends Error {
|
|
19
|
-
constructor(message = "Vault signing requires a
|
|
19
|
+
constructor(message = "Vault signing requires a signer that implements sign(bytes).") {
|
|
20
|
+
super(message);
|
|
21
|
+
this.name = "VaultSignerRequiredError";
|
|
22
|
+
}
|
|
20
23
|
}
|
|
21
24
|
export function mapResponseError(status, body) {
|
|
22
25
|
const parsed = body && typeof body === "object" ? body : undefined;
|