@cef-ai/vault-sdk 0.1.0 → 0.3.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 +113 -20
- package/dist/client.d.ts +103 -4
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +107 -3
- 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/types.d.ts +5 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/fluent/job.d.ts +16 -0
- package/dist/fluent/job.d.ts.map +1 -1
- package/dist/fluent/job.js +55 -0
- package/dist/fluent/job.js.map +1 -1
- package/dist/fluent/scope.d.ts +24 -0
- package/dist/fluent/scope.d.ts.map +1 -1
- package/dist/fluent/scope.js +70 -0
- package/dist/fluent/scope.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/internal/auto-add-proxy.d.ts +55 -0
- package/dist/internal/auto-add-proxy.d.ts.map +1 -0
- package/dist/internal/auto-add-proxy.js +89 -0
- package/dist/internal/auto-add-proxy.js.map +1 -0
- package/dist/internal/delegation-token.d.ts +26 -0
- package/dist/internal/delegation-token.d.ts.map +1 -0
- package/dist/internal/delegation-token.js +89 -0
- package/dist/internal/delegation-token.js.map +1 -0
- package/dist/internal/gateway-info.d.ts +16 -0
- package/dist/internal/gateway-info.d.ts.map +1 -0
- package/dist/internal/gateway-info.js +34 -0
- package/dist/internal/gateway-info.js.map +1 -0
- package/dist/internal/marketplace.d.ts +13 -0
- package/dist/internal/marketplace.d.ts.map +1 -1
- package/dist/internal/marketplace.js +6 -0
- package/dist/internal/marketplace.js.map +1 -1
- package/dist/internal/onboarding.d.ts +99 -0
- package/dist/internal/onboarding.d.ts.map +1 -0
- package/dist/internal/onboarding.js +148 -0
- package/dist/internal/onboarding.js.map +1 -0
- package/dist/internal/scopes.d.ts +9 -0
- package/dist/internal/scopes.d.ts.map +1 -1
- package/dist/internal/scopes.js +25 -2
- package/dist/internal/scopes.js.map +1 -1
- package/package.json +7 -1
package/README.md
CHANGED
|
@@ -11,29 +11,91 @@ pnpm add @cef-ai/vault-sdk
|
|
|
11
11
|
|
|
12
12
|
## Quickstart
|
|
13
13
|
|
|
14
|
+
Browser app driving onboarding through an embed-wallet:
|
|
15
|
+
|
|
14
16
|
```ts
|
|
15
|
-
import { VaultSDK,
|
|
17
|
+
import { VaultSDK, type EnsureProgressEvent } from "@cef-ai/vault-sdk";
|
|
16
18
|
|
|
17
|
-
const wallet = await CereWallet.fromMnemonic(process.env.WALLET_MNEMONIC!);
|
|
18
19
|
const sdk = new VaultSDK({
|
|
19
20
|
endpoint: "https://vault.cere.io",
|
|
20
|
-
garEndpoint: "https://gar.cere.io",
|
|
21
|
-
|
|
21
|
+
garEndpoint: "https://gar.cere.io",
|
|
22
|
+
rpcEndpoint: "wss://rpc.devnet.cere.network/ws",
|
|
23
|
+
s3GatewayAuthInfoUrl: "https://ddc-s3-gateway.compute.dev.ddcdragon.com/auth/info",
|
|
24
|
+
// Override to point at the prod marketplace; defaults to the dev cluster URL.
|
|
25
|
+
marketplaceEndpoint: "https://agent-marketplace.compute.dev.ddcdragon.com",
|
|
26
|
+
wallet: myWallet, // any `Wallet` adapter
|
|
27
|
+
embedWalletForOnboarding: myEmbedWallet, // optional; chain-side autoAddProxy
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
const vault = await sdk.vault.ensure({
|
|
31
|
+
onProgress: (e: EnsureProgressEvent) => console.log(e.kind),
|
|
22
32
|
});
|
|
23
|
-
const vault = await sdk.vault.ensure({ delegationToken });
|
|
24
33
|
|
|
25
34
|
await vault.scope("default").publish({
|
|
26
35
|
type: "user_message",
|
|
27
36
|
context: "conv-42",
|
|
28
37
|
payload: { text: "Hi" },
|
|
29
38
|
});
|
|
39
|
+
```
|
|
30
40
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
41
|
+
Server-side (pre-provisioned wallet, skip onboarding):
|
|
42
|
+
|
|
43
|
+
```ts
|
|
44
|
+
import { VaultSDK, CereWallet } from "@cef-ai/vault-sdk";
|
|
45
|
+
|
|
46
|
+
const wallet = await CereWallet.fromMnemonic(process.env.WALLET_MNEMONIC!);
|
|
47
|
+
const sdk = new VaultSDK({
|
|
48
|
+
endpoint: "https://vault.cere.io",
|
|
49
|
+
garEndpoint: "https://gar.cere.io",
|
|
50
|
+
s3GatewayAuthInfoUrl: "https://ddc-s3-gateway.compute.dev.ddcdragon.com/auth/info",
|
|
51
|
+
wallet,
|
|
52
|
+
});
|
|
53
|
+
const vault = await sdk.vault.ensure({ onboard: false });
|
|
35
54
|
```
|
|
36
55
|
|
|
56
|
+
## Onboarding
|
|
57
|
+
|
|
58
|
+
`vault.ensure()` runs the DDC onboarding pipeline by default. It probes the
|
|
59
|
+
gateway, optionally bootstraps a devnet wallet, submits the on-chain
|
|
60
|
+
`proxy.addProxy` extrinsic, and polls until the gateway sees the proxy.
|
|
61
|
+
Internally:
|
|
62
|
+
|
|
63
|
+
1. **Status check** — `GET /auth/onboarding/status` (404 means prod, skip).
|
|
64
|
+
2. **Bootstrap (devnet only)** — if `faucet_eligible` or `ddc_seed_eligible`,
|
|
65
|
+
`POST /auth/onboarding/bootstrap` to drip CERE and seed the DDC deposit.
|
|
66
|
+
3. **autoAddProxy** — when the wallet is not yet a registered gateway proxy,
|
|
67
|
+
submit `proxy.addProxy(<gateway>, NonTransfer, 0)` via the configured
|
|
68
|
+
`embedWalletForOnboarding`.
|
|
69
|
+
4. **Poll-until-ready** — re-fetch status until `gateway_is_proxy === true`
|
|
70
|
+
or the time budget is exhausted (defaults: 2 s interval / 60 s budget).
|
|
71
|
+
|
|
72
|
+
`onProgress` receives an `EnsureProgressEvent` for each stage:
|
|
73
|
+
|
|
74
|
+
| Kind | Meaning |
|
|
75
|
+
| --- | --- |
|
|
76
|
+
| `inspecting-wallet` | Gateway status probe is in flight. |
|
|
77
|
+
| `funding-wallet` | Devnet auto-fund (CERE drip + DDC seed deposit); never fires on prod. |
|
|
78
|
+
| `gateway-authorization-required` | Onboarding required; carries `status: OnboardingStatus`. |
|
|
79
|
+
| `authorizing-gateway` | Wallet popup is open for the `addProxy` signature. |
|
|
80
|
+
| `authorization-submitted` | Extrinsic accepted into the mempool; carries `txHash`. |
|
|
81
|
+
| `awaiting-chain-confirmation` | Polling the gateway until it sees the proxy. |
|
|
82
|
+
| `gateway-authorized` | Gateway confirmed the proxy on-chain. |
|
|
83
|
+
| `signing-delegation` | Building the DDC delegation token from the wallet. |
|
|
84
|
+
| `provisioning-vault` | Calling `POST /api/v1/vaults` to claim the record. |
|
|
85
|
+
|
|
86
|
+
Two errors can surface:
|
|
87
|
+
|
|
88
|
+
- `OnboardingTimeoutError` — the proxy poll exhausted its budget. The
|
|
89
|
+
extrinsic may still confirm later; calling `ensure()` again is safe.
|
|
90
|
+
- `OnboardingRequiredError` — `ensure({ onboard: false })` was passed but
|
|
91
|
+
the gateway reports the wallet still needs the proxy step. Server flows
|
|
92
|
+
catch this to fail fast.
|
|
93
|
+
|
|
94
|
+
`@cere-ddc-sdk/blockchain` (used by `autoAddProxy`) and
|
|
95
|
+
`@cere-ddc-sdk/ddc-client` (used to build the delegation token internally)
|
|
96
|
+
are declared as `optionalDependencies`. Apps that exercise the onboarding
|
|
97
|
+
or internal-token-build paths must install them as direct dependencies.
|
|
98
|
+
|
|
37
99
|
## Connecting an agent
|
|
38
100
|
|
|
39
101
|
`vault.agents.connect({ manifest, scope, settings })` is the high-level entry
|
|
@@ -58,28 +120,49 @@ already have a pre-signed `agreementSignature` (e.g. from a custodial flow),
|
|
|
58
120
|
drop down to the low-level `Agents.connect(vaultId, ConnectAgentRequest)`
|
|
59
121
|
exported from `@cef-ai/vault-sdk/internal`.
|
|
60
122
|
|
|
61
|
-
For delegation-token construction (`vault.ensure({ delegationToken })`),
|
|
62
|
-
see `examples/vault-chat/utils/vault-token.ts` — the SDK accepts the token
|
|
63
|
-
as opaque to avoid a runtime dep on `@cere-ddc-sdk/ddc-client`.
|
|
64
|
-
|
|
65
123
|
## Surface
|
|
66
124
|
|
|
67
125
|
| Method | Maps to |
|
|
68
126
|
| --- | --- |
|
|
69
|
-
| `sdk.vault.ensure(
|
|
127
|
+
| `sdk.vault.ensure({ onboard?, onProgress?, delegationToken? })` | runs the onboarding pipeline + `POST /api/v1/vaults` |
|
|
128
|
+
| `sdk.vault.current()` / `.rotateCredentials()` | `GET` / `PUT /api/v1/vaults[/credentials]` |
|
|
70
129
|
| `vault.scopes.{list,get,create,update,delete}` | `/api/v1/vaults/:v/scopes` |
|
|
71
130
|
| `vault.agents.connect({ manifest, scope, settings })` (signs GAR internally) | `POST {garEndpoint}/api/v1/agreements` + `POST /api/v1/vaults/:v/agents` |
|
|
72
131
|
| `vault.agents.{list,get}` → `AgentConnectionHandle` | `/api/v1/vaults/:v/agents` |
|
|
73
132
|
| `handle.update(settings)` / `handle.disconnect()` | `PATCH` / `DELETE` |
|
|
74
133
|
| `handle.cubby(alias).query(...)` / `.exec(...)` | `/scopes/:s/cubbies/:alias/{query,exec}` |
|
|
75
|
-
| `handle.jobs.list()` | `/agents/:a/jobs` |
|
|
134
|
+
| `handle.jobs.list({ state?, cursor?, limit? })` | `/agents/:a/jobs` |
|
|
76
135
|
| `vault.scope(s).publish(input)` | `POST /scopes/:s/events` |
|
|
77
|
-
| `vault.scope(s).subscribe(filter, handler)` | poll-backed long-poll over `/streams/:c/events` |
|
|
136
|
+
| `vault.scope(s).subscribe(filter, handler, opts?)` | poll-backed long-poll over `/streams/:c/events` |
|
|
137
|
+
| `vault.scope(s).subscribeAll(filter, handler, { refreshIntervalMs? })` | fans out across `streams.list()`; refreshes every 30 s by default |
|
|
78
138
|
| `vault.scope(s).streams.list()` / `.get(c)` / `.stream(c).events.list()` | `/scopes/:s/streams[/:c[/events]]` |
|
|
79
|
-
| `vault.jobs.list()` / `.get(
|
|
80
|
-
| `
|
|
139
|
+
| `vault.jobs.list({ state? })` / `.get(jobId).activities.list()` | `/jobs[/...]` |
|
|
140
|
+
| `handle.jobs.get(jobId).activities.subscribe({ since? }, handler)` | poll-backed activity tail with seen-id dedupe |
|
|
141
|
+
| `sdk.marketplace.getAgent(id, version?)` | public `GET /api/v1/marketplace/agents/:id[/versions/:v]` |
|
|
142
|
+
| `sdk.marketplace.list({ limit?, cursor?, query? })` | public `GET /api/v1/marketplace/agents` |
|
|
81
143
|
| `sdk.health.live()` / `.ready()` | public `GET /health` / `/ready` |
|
|
82
144
|
|
|
145
|
+
### `VaultSDKConfig` knobs
|
|
146
|
+
|
|
147
|
+
| Field | Description |
|
|
148
|
+
| --- | --- |
|
|
149
|
+
| `endpoint: string` | Base URL for the vault API (wallet-authenticated). |
|
|
150
|
+
| `garEndpoint?: string` | Base URL for the Global Agent Registry. Required for `vault.agents.connect`. |
|
|
151
|
+
| `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`). |
|
|
152
|
+
| `s3GatewayAuthInfoUrl?: string` | Gateway `/auth/info` URL used to fetch the gateway pubkey when `s3GatewayPubkey` is not set. Default: dev cluster gateway. |
|
|
153
|
+
| `s3GatewayPubkey?: string` | Static gateway pubkey; skips the `/auth/info` round-trip during `vault.ensure()`. |
|
|
154
|
+
| `rpcEndpoint?: string` | Cere chain WebSocket RPC URL used by the onboarding pipeline's `autoAddProxy`. Default: Cere devnet RPC. |
|
|
155
|
+
| `wallet?: Wallet` / `auth?: AuthProvider` | Authenticated calls. Mutually exclusive — `auth` overrides `wallet`. |
|
|
156
|
+
| `embedWalletForOnboarding?` | Cere embed-wallet for onboarding-driven `proxy.addProxy` extrinsics. |
|
|
157
|
+
| `fetch?: typeof fetch` | Inject a custom fetch for tests / non-browser runtimes. |
|
|
158
|
+
| `timeoutMs?: number` | Per-request timeout (default 30 s). |
|
|
159
|
+
|
|
160
|
+
`Scope.metadata: Record<string, unknown>` is a free-form, server-stored map.
|
|
161
|
+
`vault.scopes.update(name, { metadata })` is a partial patch — server
|
|
162
|
+
semantics are shallow-merge per top-level key (keys in the patch overwrite,
|
|
163
|
+
others are preserved). The SDK whitelists the request body so only the keys
|
|
164
|
+
you supply reach the wire.
|
|
165
|
+
|
|
83
166
|
## Pluggable auth
|
|
84
167
|
|
|
85
168
|
`VaultSDK` accepts either a `wallet` (default → `WalletAuthProvider`) or a
|
|
@@ -100,6 +183,11 @@ The `Wallet` interface is `{ pubkey(), sign(bytes), sigType?() }`.
|
|
|
100
183
|
- `CereWallet.fromMnemonic(mnemonic, type?)` — wraps `UriSigner`.
|
|
101
184
|
- `CereWallet.fromKeystore(json, passphrase, type?)` — Cere/Polkadot JSON keystore.
|
|
102
185
|
|
|
186
|
+
Browser apps using `@cere/embed-wallet` should write a thin adapter
|
|
187
|
+
implementing the 3-method `Wallet` interface against the embed-wallet's
|
|
188
|
+
signer surface; the chat-app pattern at `cef-chat/src/lib/wallet/embed-adapter.ts`
|
|
189
|
+
is a working reference.
|
|
190
|
+
|
|
103
191
|
The `UriSigner` / `JsonSigner` classes powering `CereWallet` are vendored
|
|
104
192
|
from [`@cere-activity-sdk/signers`](https://github.com/cere-io/cere-activity-sdk/tree/main/packages/signers)
|
|
105
193
|
(Apache-2.0); see `src/wallet/cere-internal/README.md` for attribution and
|
|
@@ -113,8 +201,13 @@ Browser-extension and CereWalletNative adapters live in their own packages.
|
|
|
113
201
|
|
|
114
202
|
`@cef-ai/vault-sdk/internal` re-exports `Vaults`, `Scopes`, `Agents`,
|
|
115
203
|
`Events`, `Browse`, `Cubbies`, `Health`, `Marketplace`, plus
|
|
116
|
-
`VaultHttpClient` and `endpoints`.
|
|
117
|
-
|
|
204
|
+
`VaultHttpClient` and `endpoints`.
|
|
205
|
+
|
|
206
|
+
Onboarding primitives (`runOnboarding`, `pollUntilProxyReady`,
|
|
207
|
+
`getOnboardingStatus`, `runBootstrap`, `walletToOnboardingSigner`),
|
|
208
|
+
`autoAddProxy`, and `getGatewayInfo` live under their respective files in
|
|
209
|
+
`src/internal/` for advanced consumers that need to drive the pipeline
|
|
210
|
+
piecewise. Use them only when the fluent surface isn't enough.
|
|
118
211
|
|
|
119
212
|
## Spec
|
|
120
213
|
|
package/dist/client.d.ts
CHANGED
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
import { Marketplace } from "./internal/marketplace.js";
|
|
2
2
|
import { Health } from "./internal/health.js";
|
|
3
3
|
import { Vault } from "./fluent/vault.js";
|
|
4
|
+
import { type OnboardingStatus } from "./internal/onboarding.js";
|
|
4
5
|
import type { AuthProvider } from "./auth/provider.js";
|
|
5
6
|
import type { Wallet } from "./wallet/adapter.js";
|
|
6
7
|
export interface VaultSDKConfig {
|
|
7
8
|
endpoint: string;
|
|
8
|
-
/**
|
|
9
|
+
/**
|
|
10
|
+
* Base URL for the agent marketplace API. The marketplace is a separate
|
|
11
|
+
* service from the vault API and is accessed unauthenticated — the SDK
|
|
12
|
+
* builds a dedicated HTTP client for it that does NOT carry the vault
|
|
13
|
+
* wallet's auth headers. Defaults to the dev cluster URL.
|
|
14
|
+
*/
|
|
9
15
|
marketplaceEndpoint?: string;
|
|
10
16
|
/**
|
|
11
17
|
* Global Agent Registry endpoint. When set, `vault.agents.connect` becomes
|
|
@@ -23,23 +29,116 @@ export interface VaultSDKConfig {
|
|
|
23
29
|
auth?: AuthProvider;
|
|
24
30
|
fetch?: typeof fetch;
|
|
25
31
|
timeoutMs?: number;
|
|
32
|
+
/**
|
|
33
|
+
* S3 Gateway ed25519 pubkey (`0x`-hex or bare hex). When set, the SDK can
|
|
34
|
+
* build a delegation token internally on `vault.ensure()` if none is passed.
|
|
35
|
+
* Skip the round-trip when you know the gateway identity ahead of time.
|
|
36
|
+
*/
|
|
37
|
+
s3GatewayPubkey?: string;
|
|
38
|
+
/**
|
|
39
|
+
* Fallback URL used to fetch the gateway pubkey when `s3GatewayPubkey` is
|
|
40
|
+
* not set. Defaults to the dev gateway. Override for prod.
|
|
41
|
+
*/
|
|
42
|
+
s3GatewayAuthInfoUrl?: string;
|
|
43
|
+
/**
|
|
44
|
+
* Cere chain WebSocket RPC endpoint. Used by the onboarding pipeline when
|
|
45
|
+
* the wallet has not yet registered the gateway as an on-chain proxy and
|
|
46
|
+
* `vault.ensure()` needs to submit `proxy.addProxy` on the user's behalf.
|
|
47
|
+
* Defaults to the Cere devnet RPC.
|
|
48
|
+
*/
|
|
49
|
+
rpcEndpoint?: string;
|
|
50
|
+
/**
|
|
51
|
+
* Cere embed-wallet instance (NOT the SDK `Wallet` adapter) used by the
|
|
52
|
+
* onboarding pipeline when it must submit an extrinsic via
|
|
53
|
+
* `@cere-ddc-sdk/blockchain`'s `CereWalletSigner`. Carries the
|
|
54
|
+
* Polkadot-extension-style API the chain client needs — a level lower
|
|
55
|
+
* than the pure signing surface our `Wallet` adapter exposes. Required
|
|
56
|
+
* only when `vault.ensure()` discovers onboarding-needed; can be omitted
|
|
57
|
+
* if `ensure({ onboard: false })` is used or the wallet is already a
|
|
58
|
+
* registered proxy.
|
|
59
|
+
*/
|
|
60
|
+
embedWalletForOnboarding?: unknown;
|
|
26
61
|
}
|
|
27
62
|
export interface EnsureVaultOptions {
|
|
28
63
|
name?: string;
|
|
29
|
-
/**
|
|
30
|
-
|
|
64
|
+
/**
|
|
65
|
+
* Pre-built DDC delegation token. Optional: if omitted, the SDK builds one
|
|
66
|
+
* internally using the configured `wallet` and either `s3GatewayPubkey`
|
|
67
|
+
* (static) or `s3GatewayAuthInfoUrl` (fetched). Building requires the
|
|
68
|
+
* optional dep `@cere-ddc-sdk/ddc-client` to be installed.
|
|
69
|
+
*/
|
|
70
|
+
delegationToken?: string;
|
|
71
|
+
/**
|
|
72
|
+
* Run the DDC onboarding pipeline (status / bootstrap / addProxy / poll)
|
|
73
|
+
* before claiming the vault. Defaults to `true`. Set `false` for server
|
|
74
|
+
* flows that assume pre-provisioned wallets — in that case, an
|
|
75
|
+
* `OnboardingRequiredError` is raised if the gateway later reports the
|
|
76
|
+
* wallet still needs the proxy registration step.
|
|
77
|
+
*/
|
|
78
|
+
onboard?: boolean;
|
|
79
|
+
/** Progress hook for UIs that want to drive a stepper / spinner. */
|
|
80
|
+
onProgress?: (e: EnsureProgressEvent) => void;
|
|
81
|
+
/** Poll cadence while waiting for the gateway to see the new proxy. */
|
|
82
|
+
proxyPollIntervalMs?: number;
|
|
83
|
+
/** Total time budget for the proxy-confirmation poll. */
|
|
84
|
+
proxyPollTimeoutMs?: number;
|
|
31
85
|
}
|
|
86
|
+
/**
|
|
87
|
+
* Progress signal emitted by `vault.ensure()` so UIs can render a
|
|
88
|
+
* stepper without polling internal state. The order is roughly the
|
|
89
|
+
* order of emission, but `gateway-authorization-required` and friends
|
|
90
|
+
* only fire on the onboarding-required path.
|
|
91
|
+
*/
|
|
92
|
+
export type EnsureProgressEvent = {
|
|
93
|
+
kind: "inspecting-wallet";
|
|
94
|
+
} | {
|
|
95
|
+
kind: "funding-wallet";
|
|
96
|
+
} | {
|
|
97
|
+
kind: "gateway-authorization-required";
|
|
98
|
+
status: OnboardingStatus;
|
|
99
|
+
} | {
|
|
100
|
+
kind: "authorizing-gateway";
|
|
101
|
+
} | {
|
|
102
|
+
kind: "authorization-submitted";
|
|
103
|
+
txHash: string;
|
|
104
|
+
} | {
|
|
105
|
+
kind: "awaiting-chain-confirmation";
|
|
106
|
+
} | {
|
|
107
|
+
kind: "gateway-authorized";
|
|
108
|
+
} | {
|
|
109
|
+
kind: "signing-delegation";
|
|
110
|
+
} | {
|
|
111
|
+
kind: "provisioning-vault";
|
|
112
|
+
};
|
|
32
113
|
export declare class VaultSDK {
|
|
33
114
|
private readonly http;
|
|
34
115
|
private readonly marketplaceHttp;
|
|
35
116
|
private readonly vaults;
|
|
36
117
|
private readonly gar?;
|
|
37
118
|
private readonly wallet?;
|
|
119
|
+
private readonly s3GatewayPubkey?;
|
|
120
|
+
private readonly s3GatewayAuthInfoUrl;
|
|
121
|
+
private readonly rpcEndpoint;
|
|
122
|
+
private readonly embedWalletForOnboarding?;
|
|
123
|
+
private readonly fetchFn;
|
|
124
|
+
private cachedGatewayPubkey?;
|
|
38
125
|
readonly marketplace: Marketplace;
|
|
39
126
|
readonly health: Health;
|
|
40
127
|
constructor(config: VaultSDKConfig);
|
|
128
|
+
/**
|
|
129
|
+
* Resolves the gateway pubkey: prefers the static config, falls back to
|
|
130
|
+
* `/auth/info` (cached for the SDK's lifetime).
|
|
131
|
+
*/
|
|
132
|
+
private resolveGatewayPubkey;
|
|
133
|
+
/**
|
|
134
|
+
* Strip `/auth/info` (and any trailing slash) off the configured auth-info
|
|
135
|
+
* URL to reach the gateway base — the prefix the onboarding endpoints sit
|
|
136
|
+
* under. Belongs here, not in onboarding.ts, because the strip is purely
|
|
137
|
+
* a config-shape concern.
|
|
138
|
+
*/
|
|
139
|
+
private gatewayBaseUrl;
|
|
41
140
|
vault: {
|
|
42
|
-
ensure: (opts
|
|
141
|
+
ensure: (opts?: EnsureVaultOptions) => Promise<Vault>;
|
|
43
142
|
current: () => Promise<Vault>;
|
|
44
143
|
/** Rotate the SigV4 delegation credential. */
|
|
45
144
|
rotateCredentials: (vaultId: string, delegationToken: string) => Promise<Vault>;
|
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
|
@@ -6,12 +6,24 @@ import { Health } from "./internal/health.js";
|
|
|
6
6
|
import { Vault } from "./fluent/vault.js";
|
|
7
7
|
import { WalletAuthProvider } from "./auth/wallet.js";
|
|
8
8
|
import { GarClient } from "./agreements/gar-client.js";
|
|
9
|
+
import { buildVaultDelegationToken, fetchGatewayPubkey, } from "./internal/delegation-token.js";
|
|
10
|
+
import { OnboardingRequiredError, OnboardingTimeoutError, pollUntilProxyReady, runOnboarding, walletToOnboardingSigner, } from "./internal/onboarding.js";
|
|
11
|
+
import { autoAddProxy } from "./internal/auto-add-proxy.js";
|
|
12
|
+
const DEFAULT_S3_GATEWAY_AUTH_INFO_URL = "https://ddc-s3-gateway.compute.dev.ddcdragon.com/auth/info";
|
|
13
|
+
const DEFAULT_MARKETPLACE_ENDPOINT = "https://agent-marketplace.compute.dev.ddcdragon.com";
|
|
14
|
+
const DEFAULT_RPC_ENDPOINT = "wss://rpc.devnet.cere.network/ws";
|
|
9
15
|
export class VaultSDK {
|
|
10
16
|
http;
|
|
11
17
|
marketplaceHttp;
|
|
12
18
|
vaults;
|
|
13
19
|
gar;
|
|
14
20
|
wallet;
|
|
21
|
+
s3GatewayPubkey;
|
|
22
|
+
s3GatewayAuthInfoUrl;
|
|
23
|
+
rpcEndpoint;
|
|
24
|
+
embedWalletForOnboarding;
|
|
25
|
+
fetchFn;
|
|
26
|
+
cachedGatewayPubkey;
|
|
15
27
|
marketplace;
|
|
16
28
|
health;
|
|
17
29
|
constructor(config) {
|
|
@@ -22,8 +34,13 @@ export class VaultSDK {
|
|
|
22
34
|
fetch: config.fetch,
|
|
23
35
|
timeoutMs: config.timeoutMs,
|
|
24
36
|
});
|
|
37
|
+
// Marketplace runs on its own host (see `pkg/compute/marketplace` in
|
|
38
|
+
// ddc-node) and accepts unauthenticated GETs. Build a dedicated HTTP
|
|
39
|
+
// client with NO default auth provider so wallet headers never leak
|
|
40
|
+
// onto public catalog reads, even if a wallet is configured for the
|
|
41
|
+
// vault API.
|
|
25
42
|
this.marketplaceHttp = new VaultHttpClient({
|
|
26
|
-
url: config.marketplaceEndpoint ??
|
|
43
|
+
url: config.marketplaceEndpoint ?? DEFAULT_MARKETPLACE_ENDPOINT,
|
|
27
44
|
fetch: config.fetch,
|
|
28
45
|
timeoutMs: config.timeoutMs,
|
|
29
46
|
});
|
|
@@ -36,15 +53,102 @@ export class VaultSDK {
|
|
|
36
53
|
}));
|
|
37
54
|
}
|
|
38
55
|
this.wallet = config.wallet;
|
|
56
|
+
this.s3GatewayPubkey = config.s3GatewayPubkey;
|
|
57
|
+
this.s3GatewayAuthInfoUrl =
|
|
58
|
+
config.s3GatewayAuthInfoUrl ?? DEFAULT_S3_GATEWAY_AUTH_INFO_URL;
|
|
59
|
+
this.rpcEndpoint = config.rpcEndpoint ?? DEFAULT_RPC_ENDPOINT;
|
|
60
|
+
this.embedWalletForOnboarding = config.embedWalletForOnboarding;
|
|
61
|
+
this.fetchFn = config.fetch ?? fetch.bind(globalThis);
|
|
39
62
|
this.vaults = new Vaults(this.http);
|
|
40
63
|
this.marketplace = new Marketplace(this.marketplaceHttp);
|
|
41
64
|
this.health = new Health(this.http);
|
|
42
65
|
}
|
|
66
|
+
/**
|
|
67
|
+
* Resolves the gateway pubkey: prefers the static config, falls back to
|
|
68
|
+
* `/auth/info` (cached for the SDK's lifetime).
|
|
69
|
+
*/
|
|
70
|
+
async resolveGatewayPubkey() {
|
|
71
|
+
if (this.s3GatewayPubkey)
|
|
72
|
+
return this.s3GatewayPubkey;
|
|
73
|
+
if (this.cachedGatewayPubkey)
|
|
74
|
+
return this.cachedGatewayPubkey;
|
|
75
|
+
const pk = await fetchGatewayPubkey(this.s3GatewayAuthInfoUrl, this.fetchFn);
|
|
76
|
+
this.cachedGatewayPubkey = pk;
|
|
77
|
+
return pk;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Strip `/auth/info` (and any trailing slash) off the configured auth-info
|
|
81
|
+
* URL to reach the gateway base — the prefix the onboarding endpoints sit
|
|
82
|
+
* under. Belongs here, not in onboarding.ts, because the strip is purely
|
|
83
|
+
* a config-shape concern.
|
|
84
|
+
*/
|
|
85
|
+
gatewayBaseUrl() {
|
|
86
|
+
return this.s3GatewayAuthInfoUrl
|
|
87
|
+
.replace(/\/auth\/info\/?$/, "")
|
|
88
|
+
.replace(/\/+$/, "");
|
|
89
|
+
}
|
|
43
90
|
vault = {
|
|
44
|
-
ensure: async (opts) => {
|
|
91
|
+
ensure: async (opts = {}) => {
|
|
92
|
+
const onProgress = opts.onProgress ?? (() => { });
|
|
93
|
+
const wantOnboard = opts.onboard !== false;
|
|
94
|
+
// Onboarding pipeline. Only runs when (a) the consumer hasn't opted
|
|
95
|
+
// out, and (b) we have a wallet to drive the gateway interactions.
|
|
96
|
+
// The wallet-less path skips silently — server-side flows that pass
|
|
97
|
+
// a pre-built `delegationToken` shouldn't touch the chain.
|
|
98
|
+
if (wantOnboard && this.wallet) {
|
|
99
|
+
const signer = walletToOnboardingSigner(this.wallet);
|
|
100
|
+
const gw = this.gatewayBaseUrl();
|
|
101
|
+
onProgress({ kind: "inspecting-wallet" });
|
|
102
|
+
const onb = await runOnboarding(gw, signer, this.fetchFn, () => {
|
|
103
|
+
onProgress({ kind: "funding-wallet" });
|
|
104
|
+
});
|
|
105
|
+
if (onb.kind === "awaiting-proxy") {
|
|
106
|
+
if (!this.embedWalletForOnboarding) {
|
|
107
|
+
throw new OnboardingRequiredError("Onboarding required but no embed-wallet was provided to VaultSDK config. "
|
|
108
|
+
+ "Pass `embedWalletForOnboarding` or call ensure({ onboard: false }) and "
|
|
109
|
+
+ "run onboarding externally.");
|
|
110
|
+
}
|
|
111
|
+
onProgress({ kind: "gateway-authorization-required", status: onb.status });
|
|
112
|
+
const gatewayPubkey = await this.resolveGatewayPubkey();
|
|
113
|
+
onProgress({ kind: "authorizing-gateway" });
|
|
114
|
+
const { txHash } = await autoAddProxy({
|
|
115
|
+
rpcEndpoint: this.rpcEndpoint,
|
|
116
|
+
gatewayPubKeyHex: gatewayPubkey,
|
|
117
|
+
embedWallet: this.embedWalletForOnboarding,
|
|
118
|
+
});
|
|
119
|
+
onProgress({ kind: "authorization-submitted", txHash });
|
|
120
|
+
onProgress({ kind: "awaiting-chain-confirmation" });
|
|
121
|
+
const ready = await pollUntilProxyReady(gw, signer, {
|
|
122
|
+
intervalMs: opts.proxyPollIntervalMs ?? 2000,
|
|
123
|
+
timeoutMs: opts.proxyPollTimeoutMs ?? 60_000,
|
|
124
|
+
fetchImpl: this.fetchFn,
|
|
125
|
+
});
|
|
126
|
+
if (!ready) {
|
|
127
|
+
throw new OnboardingTimeoutError("Gateway did not see the on-chain proxy within the timeout window. "
|
|
128
|
+
+ "The transaction may still confirm later — try ensure() again.");
|
|
129
|
+
}
|
|
130
|
+
onProgress({ kind: "gateway-authorized" });
|
|
131
|
+
}
|
|
132
|
+
// 'skipped' (production gateway 404'd) and 'ready' both fall
|
|
133
|
+
// through silently to the existing claim path.
|
|
134
|
+
}
|
|
135
|
+
let delegationToken = opts.delegationToken;
|
|
136
|
+
if (!delegationToken) {
|
|
137
|
+
if (!this.wallet) {
|
|
138
|
+
throw new Error("vault.ensure() needs either a `delegationToken` or a `wallet` "
|
|
139
|
+
+ "configured on VaultSDKConfig to build one internally.");
|
|
140
|
+
}
|
|
141
|
+
onProgress({ kind: "signing-delegation" });
|
|
142
|
+
const gatewayPubkey = await this.resolveGatewayPubkey();
|
|
143
|
+
delegationToken = await buildVaultDelegationToken({
|
|
144
|
+
wallet: this.wallet,
|
|
145
|
+
gatewayPubkey,
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
onProgress({ kind: "provisioning-vault" });
|
|
45
149
|
const rec = await this.vaults.claim({
|
|
46
150
|
name: opts.name,
|
|
47
|
-
delegation_token:
|
|
151
|
+
delegation_token: delegationToken,
|
|
48
152
|
});
|
|
49
153
|
return new Vault(this.http, rec, { gar: this.gar, wallet: this.wallet });
|
|
50
154
|
},
|
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;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/core/endpoints.d.ts
CHANGED
|
@@ -17,6 +17,7 @@ export declare const endpoints: {
|
|
|
17
17
|
readonly jobActivity: (v: string, j: string, a: string) => string;
|
|
18
18
|
readonly cubbyQuery: (v: string, s: string, alias: string) => string;
|
|
19
19
|
readonly cubbyExec: (v: string, s: string, alias: string) => string;
|
|
20
|
+
readonly marketplaceAgents: () => string;
|
|
20
21
|
readonly marketplaceAgent: (a: string) => string;
|
|
21
22
|
readonly marketplaceAgentVersion: (a: string, v: string) => string;
|
|
22
23
|
readonly health: () => 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;gCACb,MAAM,KAAK,MAAM;8BACnB,MAAM,KAAK,MAAM,KAAK,MAAM;6BAE7B,MAAM,KAAK,MAAM,SAAS,MAAM;4BAEjC,MAAM,KAAK,MAAM,SAAS,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;gCACb,MAAM,KAAK,MAAM;8BACnB,MAAM,KAAK,MAAM,KAAK,MAAM;6BAE7B,MAAM,KAAK,MAAM,SAAS,MAAM;4BAEjC,MAAM,KAAK,MAAM,SAAS,MAAM;;mCAGzB,MAAM;0CACC,MAAM,KAAK,MAAM;;;;CAKtC,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC"}
|
package/dist/core/endpoints.js
CHANGED
|
@@ -19,6 +19,7 @@ export const endpoints = {
|
|
|
19
19
|
jobActivity: (v, j, a) => `${API_BASE}/vaults/${seg(v)}/jobs/${seg(j)}/activities/${seg(a)}`,
|
|
20
20
|
cubbyQuery: (v, s, alias) => `${API_BASE}/vaults/${seg(v)}/scopes/${seg(s)}/cubbies/${seg(alias)}/query`,
|
|
21
21
|
cubbyExec: (v, s, alias) => `${API_BASE}/vaults/${seg(v)}/scopes/${seg(s)}/cubbies/${seg(alias)}/exec`,
|
|
22
|
+
marketplaceAgents: () => `${API_BASE}/marketplace/agents`,
|
|
22
23
|
marketplaceAgent: (a) => `${API_BASE}/marketplace/agents/${seg(a)}`,
|
|
23
24
|
marketplaceAgentVersion: (a, v) => `${API_BASE}/marketplace/agents/${seg(a)}/versions/${seg(v)}`,
|
|
24
25
|
health: () => `/health`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endpoints.js","sourceRoot":"","sources":["../../src/core/endpoints.ts"],"names":[],"mappings":"AAAA,MAAM,QAAQ,GAAG,SAAS,CAAC;AAC3B,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;AAEjD,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,QAAQ,SAAS;IAClC,KAAK,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,QAAQ,WAAW,GAAG,CAAC,CAAC,CAAC,EAAE;IACpD,gBAAgB,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,QAAQ,WAAW,GAAG,CAAC,CAAC,CAAC,cAAc;IAC3E,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,QAAQ,WAAW,GAAG,CAAC,CAAC,CAAC,SAAS;IAC5D,KAAK,EAAE,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CAAC,GAAG,QAAQ,WAAW,GAAG,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,EAAE;IAChF,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,QAAQ,WAAW,GAAG,CAAC,CAAC,CAAC,SAAS;IAC5D,KAAK,EAAE,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CAAC,GAAG,QAAQ,WAAW,GAAG,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,EAAE;IAChF,WAAW,EAAE,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CAAC,GAAG,QAAQ,WAAW,GAAG,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,SAAS;IAC7F,YAAY,EAAE,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CAAC,GAAG,QAAQ,WAAW,GAAG,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,UAAU;IAC/F,MAAM,EAAE,CAAC,CAAS,EAAE,CAAS,EAAE,GAAW,EAAE,EAAE,CAC5C,GAAG,QAAQ,WAAW,GAAG,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,GAAG,CAAC,EAAE;IACrE,YAAY,EAAE,CAAC,CAAS,EAAE,CAAS,EAAE,GAAW,EAAE,EAAE,CAClD,GAAG,QAAQ,WAAW,GAAG,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,GAAG,CAAC,SAAS;IAC5E,IAAI,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,QAAQ,WAAW,GAAG,CAAC,CAAC,CAAC,OAAO;IACxD,GAAG,EAAE,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CAAC,GAAG,QAAQ,WAAW,GAAG,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE;IAC5E,SAAS,EAAE,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CAAC,GAAG,QAAQ,WAAW,GAAG,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,OAAO;IACzF,aAAa,EAAE,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CAAC,GAAG,QAAQ,WAAW,GAAG,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,aAAa;IACjG,WAAW,EAAE,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,EAAE,CAC/C,GAAG,QAAQ,WAAW,GAAG,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,EAAE;IACpE,UAAU,EAAE,CAAC,CAAS,EAAE,CAAS,EAAE,KAAa,EAAE,EAAE,CAClD,GAAG,QAAQ,WAAW,GAAG,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,KAAK,CAAC,QAAQ;IAC7E,SAAS,EAAE,CAAC,CAAS,EAAE,CAAS,EAAE,KAAa,EAAE,EAAE,CACjD,GAAG,QAAQ,WAAW,GAAG,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,KAAK,CAAC,OAAO;IAC5E,gBAAgB,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,QAAQ,uBAAuB,GAAG,CAAC,CAAC,CAAC,EAAE;IAC3E,uBAAuB,EAAE,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CAChD,GAAG,QAAQ,uBAAuB,GAAG,CAAC,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,EAAE;IAC/D,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS;IACvB,KAAK,EAAE,GAAG,EAAE,CAAC,QAAQ;IACrB,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU;CACjB,CAAC"}
|
|
1
|
+
{"version":3,"file":"endpoints.js","sourceRoot":"","sources":["../../src/core/endpoints.ts"],"names":[],"mappings":"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"}
|
package/dist/core/types.d.ts
CHANGED
|
@@ -13,6 +13,11 @@ export interface Scope {
|
|
|
13
13
|
name: string;
|
|
14
14
|
displayName?: string;
|
|
15
15
|
streamLabel?: string;
|
|
16
|
+
/**
|
|
17
|
+
* Free-form, top-level shallow-merge map. Server semantics: keys present
|
|
18
|
+
* in the patch overwrite stored keys; absent keys are preserved.
|
|
19
|
+
*/
|
|
20
|
+
metadata?: Record<string, unknown>;
|
|
16
21
|
createdAt: string;
|
|
17
22
|
}
|
|
18
23
|
export type AgentConnectionStatus = "provisioning" | "active" | "revoking" | "revoked";
|
package/dist/core/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
|
package/dist/fluent/job.d.ts
CHANGED
|
@@ -1,7 +1,17 @@
|
|
|
1
1
|
import type { VaultHttpClient } from "../core/http.js";
|
|
2
2
|
import { type ListActivitiesOptions } from "../internal/browse.js";
|
|
3
3
|
import type { Activity, ActivitiesPage, Job } from "../core/types.js";
|
|
4
|
+
import type { SubscribeOptions, Subscription } from "./subscribe.js";
|
|
5
|
+
export interface ActivitySubscribeFilter {
|
|
6
|
+
/**
|
|
7
|
+
* Only deliver activities whose `startedAt` (or `endedAt` for terminal
|
|
8
|
+
* states) is at or after this ISO-8601 timestamp. Applied client-side.
|
|
9
|
+
*/
|
|
10
|
+
since?: string;
|
|
11
|
+
}
|
|
12
|
+
export type ActivityHandler = (activity: Activity) => void | Promise<void>;
|
|
4
13
|
export declare class JobHandle {
|
|
14
|
+
private readonly http;
|
|
5
15
|
private readonly vaultId;
|
|
6
16
|
readonly jobId: string;
|
|
7
17
|
private readonly browse;
|
|
@@ -10,6 +20,12 @@ export declare class JobHandle {
|
|
|
10
20
|
activities: {
|
|
11
21
|
list: (o?: ListActivitiesOptions) => Promise<ActivitiesPage>;
|
|
12
22
|
get: (a: string) => Promise<Activity>;
|
|
23
|
+
/**
|
|
24
|
+
* Poll-backed subscription over `ListActivities`. Mirrors the structure
|
|
25
|
+
* of `subscribe.ts`: tracks seen activity ids, filters duplicates,
|
|
26
|
+
* supports `unsubscribe()`. Stops cleanly via the returned handle.
|
|
27
|
+
*/
|
|
28
|
+
subscribe: (filter: ActivitySubscribeFilter, handler: ActivityHandler, opts?: SubscribeOptions) => Subscription;
|
|
13
29
|
};
|
|
14
30
|
/**
|
|
15
31
|
* Walk caused-by edges. Server tree route is not yet implemented (returns
|
package/dist/fluent/job.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job.d.ts","sourceRoot":"","sources":["../../src/fluent/job.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAU,KAAK,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"job.d.ts","sourceRoot":"","sources":["../../src/fluent/job.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAU,KAAK,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAErE,MAAM,WAAW,uBAAuB;IACtC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE3E,qBAAa,SAAS;IAGlB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO;aACR,KAAK,EAAE,MAAM;IAJ/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEb,IAAI,EAAE,eAAe,EACrB,OAAO,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM;IAI/B,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACnB,UAAU;mBACE,qBAAqB,KAAQ,OAAO,CAAC,cAAc,CAAC;iBAErD,MAAM,KAAG,OAAO,CAAC,QAAQ,CAAC;QACnC;;;;WAIG;4BAEO,uBAAuB,WACtB,eAAe,SAClB,gBAAgB,KACrB,YAAY;MAGf;IACF;;;OAGG;IACH,IAAI,IAAI,KAAK;CAKd"}
|