@ampersend_ai/ampersend-sdk 0.0.22 → 0.0.26
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/dist/ampersend/agent-client.d.ts +81 -0
- package/dist/ampersend/agent-client.d.ts.map +1 -0
- package/dist/ampersend/agent-client.js +104 -0
- package/dist/ampersend/agent-client.js.map +1 -0
- package/dist/ampersend/agent.d.ts +118 -0
- package/dist/ampersend/agent.d.ts.map +1 -0
- package/dist/ampersend/agent.js +109 -0
- package/dist/ampersend/agent.js.map +1 -0
- package/dist/ampersend/approval.js.map +1 -1
- package/dist/ampersend/client.d.ts +32 -8
- package/dist/ampersend/client.d.ts.map +1 -1
- package/dist/ampersend/client.js +81 -3
- package/dist/ampersend/client.js.map +1 -1
- package/dist/ampersend/curated-agent.d.ts +94 -94
- package/dist/ampersend/curated-agent.d.ts.map +1 -1
- package/dist/ampersend/curated-agent.js +41 -41
- package/dist/ampersend/curated-agent.js.map +1 -1
- package/dist/ampersend/index.d.ts +2 -0
- package/dist/ampersend/index.d.ts.map +1 -1
- package/dist/ampersend/index.js +4 -0
- package/dist/ampersend/index.js.map +1 -1
- package/dist/ampersend/management.d.ts +23 -59
- package/dist/ampersend/management.d.ts.map +1 -1
- package/dist/ampersend/management.js +6 -8
- package/dist/ampersend/management.js.map +1 -1
- package/dist/ampersend/marketplace.d.ts +20 -14
- package/dist/ampersend/marketplace.d.ts.map +1 -1
- package/dist/ampersend/marketplace.js +23 -49
- package/dist/ampersend/marketplace.js.map +1 -1
- package/dist/ampersend/treasurer.d.ts +4 -0
- package/dist/ampersend/treasurer.d.ts.map +1 -1
- package/dist/ampersend/treasurer.js +2 -2
- package/dist/ampersend/treasurer.js.map +1 -1
- package/dist/ampersend/types.d.ts +215 -310
- package/dist/ampersend/types.d.ts.map +1 -1
- package/dist/ampersend/types.js +146 -119
- package/dist/ampersend/types.js.map +1 -1
- package/dist/ampersend/zod-bridge.d.ts +4 -5
- package/dist/ampersend/zod-bridge.d.ts.map +1 -1
- package/dist/ampersend/zod-bridge.js +35 -19
- package/dist/ampersend/zod-bridge.js.map +1 -1
- package/dist/cli/ampersend.js +45 -2
- package/dist/cli/ampersend.js.map +1 -1
- package/dist/cli/commands/agent.d.ts +24 -0
- package/dist/cli/commands/agent.d.ts.map +1 -0
- package/dist/cli/commands/agent.js +166 -0
- package/dist/cli/commands/agent.js.map +1 -0
- package/dist/cli/commands/card.d.ts +128 -0
- package/dist/cli/commands/card.d.ts.map +1 -0
- package/dist/cli/commands/card.js +404 -0
- package/dist/cli/commands/card.js.map +1 -0
- package/dist/cli/commands/config.d.ts +1 -1
- package/dist/cli/commands/config.d.ts.map +1 -1
- package/dist/cli/commands/config.js +31 -42
- package/dist/cli/commands/config.js.map +1 -1
- package/dist/cli/commands/fetch.d.ts +77 -2
- package/dist/cli/commands/fetch.d.ts.map +1 -1
- package/dist/cli/commands/fetch.js +210 -129
- package/dist/cli/commands/fetch.js.map +1 -1
- package/dist/cli/commands/fund.d.ts +3 -0
- package/dist/cli/commands/fund.d.ts.map +1 -0
- package/dist/cli/commands/fund.js +22 -0
- package/dist/cli/commands/fund.js.map +1 -0
- package/dist/cli/commands/marketplace.d.ts +6 -0
- package/dist/cli/commands/marketplace.d.ts.map +1 -1
- package/dist/cli/commands/marketplace.js +27 -8
- package/dist/cli/commands/marketplace.js.map +1 -1
- package/dist/cli/commands/setup.d.ts +4 -1
- package/dist/cli/commands/setup.d.ts.map +1 -1
- package/dist/cli/commands/setup.js +66 -41
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/commands/version.d.ts +3 -0
- package/dist/cli/commands/version.d.ts.map +1 -0
- package/dist/cli/commands/version.js +12 -0
- package/dist/cli/commands/version.js.map +1 -0
- package/dist/cli/config.d.ts +225 -45
- package/dist/cli/config.d.ts.map +1 -1
- package/dist/cli/config.js +426 -115
- package/dist/cli/config.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp/proxy/cli.js +1 -0
- package/dist/mcp/proxy/cli.js.map +1 -1
- package/dist/mcp/proxy/factory.d.ts +2 -0
- package/dist/mcp/proxy/factory.d.ts.map +1 -1
- package/dist/mcp/proxy/factory.js +10 -1
- package/dist/mcp/proxy/factory.js.map +1 -1
- package/dist/mcp/proxy/server/init.js +1 -1
- package/dist/mcp/proxy/server/init.js.map +1 -1
- package/dist/mcp/proxy/server/server.d.ts +3 -1
- package/dist/mcp/proxy/server/server.d.ts.map +1 -1
- package/dist/mcp/proxy/server/server.js +5 -2
- package/dist/mcp/proxy/server/server.js.map +1 -1
- package/dist/mcp/proxy/types.d.ts +7 -0
- package/dist/mcp/proxy/types.d.ts.map +1 -1
- package/dist/mcp/proxy/types.js.map +1 -1
- package/dist/version.d.ts +3 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +3 -1
- package/dist/version.js.map +1 -1
- package/dist/x402/http/factory.d.ts +2 -0
- package/dist/x402/http/factory.d.ts.map +1 -1
- package/dist/x402/http/factory.js +1 -0
- package/dist/x402/http/factory.js.map +1 -1
- package/dist/x402/index.d.ts +2 -0
- package/dist/x402/index.d.ts.map +1 -1
- package/dist/x402/index.js +2 -0
- package/dist/x402/index.js.map +1 -1
- package/dist/x402/siwx.d.ts +55 -0
- package/dist/x402/siwx.d.ts.map +1 -0
- package/dist/x402/siwx.js +122 -0
- package/dist/x402/siwx.js.map +1 -0
- package/dist/x402/wallets/smart-account/cosigned.d.ts +9 -2
- package/dist/x402/wallets/smart-account/cosigned.d.ts.map +1 -1
- package/dist/x402/wallets/smart-account/cosigned.js +13 -4
- package/dist/x402/wallets/smart-account/cosigned.js.map +1 -1
- package/package.json +3 -2
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { AgentActivityResponse, AgentAutoCollectConfigDTO, AgentFundingLinkDTO, AgentOwnerDTO, AgentSelfDTO, AgentSelfPaymentDTO, AgentSelfSpendConfigDTO } from "./agent.ts";
|
|
2
|
+
import { ApiClient } from "./client.ts";
|
|
3
|
+
import { Address, type ApiClientOptions } from "./types.ts";
|
|
4
|
+
export interface AgentReadClientOptions extends ApiClientOptions {
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Read-only client for an agent's own state on the Ampersend service.
|
|
8
|
+
*
|
|
9
|
+
* Wraps the `/v1/agents/self/*` endpoints. Auth is the standard
|
|
10
|
+
* agent SIWE session token, reused from {@link ApiClient}; the session
|
|
11
|
+
* pins which agent the server will answer for, so none of these methods
|
|
12
|
+
* take an agent address.
|
|
13
|
+
*
|
|
14
|
+
* Each response is decoded against the canonical DTO from `./agent.ts`.
|
|
15
|
+
* The server imports those same DTOs, so there is no drift surface
|
|
16
|
+
* between client and server for the agent-led read endpoints.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```ts
|
|
20
|
+
* const agent = new AgentReadClient({
|
|
21
|
+
* baseUrl: "https://api.ampersend.ai",
|
|
22
|
+
* agentAddress,
|
|
23
|
+
* sessionKeyPrivateKey,
|
|
24
|
+
* })
|
|
25
|
+
* const snapshot = await agent.getSelf()
|
|
26
|
+
* const limits = await agent.getSpendConfig()
|
|
27
|
+
* const payments = await agent.getPayments({ preset: "30d" })
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export declare class AgentReadClient {
|
|
31
|
+
private api;
|
|
32
|
+
/**
|
|
33
|
+
* Construct from credentials (production path) or from an existing
|
|
34
|
+
* `ApiClient` (test path / sharing auth state with another SDK client).
|
|
35
|
+
* Discriminates on shape, not `instanceof` — test doubles never satisfy
|
|
36
|
+
* `instanceof ApiClient` but do expose `getAuthorized`.
|
|
37
|
+
*/
|
|
38
|
+
constructor(input: AgentReadClientOptions | ApiClient);
|
|
39
|
+
/** Full snapshot: agent record + live USDC balance. */
|
|
40
|
+
getSelf(): Promise<AgentSelfDTO>;
|
|
41
|
+
/**
|
|
42
|
+
* Spend policy (per-tx / daily / monthly limits, auto-topup) plus live
|
|
43
|
+
* remaining budgets. Throws `ApiError` with `status === 404` when no
|
|
44
|
+
* spend policy exists for this agent.
|
|
45
|
+
*/
|
|
46
|
+
getSpendConfig(): Promise<AgentSelfSpendConfigDTO>;
|
|
47
|
+
/**
|
|
48
|
+
* Auto-collect (earnings sweep) configuration. Throws `ApiError` with
|
|
49
|
+
* `status === 404` when no auto-collect configuration exists for this
|
|
50
|
+
* agent.
|
|
51
|
+
*/
|
|
52
|
+
getAutoCollectConfig(): Promise<AgentAutoCollectConfigDTO>;
|
|
53
|
+
/** Seller allowlist this agent is permitted to pay. */
|
|
54
|
+
getAuthorizedSellers(): Promise<ReadonlyArray<Address>>;
|
|
55
|
+
/** Outgoing payments. `preset` selects the timerange (default: 30d). */
|
|
56
|
+
getPayments(params?: {
|
|
57
|
+
preset?: "1d" | "30d" | "all";
|
|
58
|
+
}): Promise<ReadonlyArray<AgentSelfPaymentDTO>>;
|
|
59
|
+
/** Unified spend + earn activity, paginated. */
|
|
60
|
+
getActivity(params?: {
|
|
61
|
+
preset?: string;
|
|
62
|
+
limit?: number;
|
|
63
|
+
page?: number;
|
|
64
|
+
}): Promise<AgentActivityResponse>;
|
|
65
|
+
/** Narrow owner projection: `{ user_id, wallet_address }`. */
|
|
66
|
+
getOwner(): Promise<AgentOwnerDTO>;
|
|
67
|
+
/**
|
|
68
|
+
* Build a dashboard `/fund` URL the user can open to add USDC. The server
|
|
69
|
+
* is a pure URL formatter — no DB row, no token, no side effects. The
|
|
70
|
+
* returned URL preselects the calling agent (`destination: "agent"`, default)
|
|
71
|
+
* or the owner's main account (`destination: "main"`).
|
|
72
|
+
*
|
|
73
|
+
* `amount` is a decimal USDC string, strictly validated server-side as
|
|
74
|
+
* positive, ≤6 fractional digits, no leading zeros.
|
|
75
|
+
*/
|
|
76
|
+
getFundingLink(params?: {
|
|
77
|
+
amount?: string;
|
|
78
|
+
destination?: "agent" | "main";
|
|
79
|
+
}): Promise<AgentFundingLinkDTO>;
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=agent-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-client.d.ts","sourceRoot":"","sources":["../../src/ampersend/agent-client.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,mBAAmB,EACnB,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,uBAAuB,EACxB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAE3D,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB;CAAG;AAEnE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,GAAG,CAAW;IAEtB;;;;;OAKG;gBACS,KAAK,EAAE,sBAAsB,GAAG,SAAS;IAIrD,uDAAuD;IACvD,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC;IAIhC;;;;OAIG;IACH,cAAc,IAAI,OAAO,CAAC,uBAAuB,CAAC;IAIlD;;;;OAIG;IACH,oBAAoB,IAAI,OAAO,CAAC,yBAAyB,CAAC;IAI1D,uDAAuD;IACvD,oBAAoB,IAAI,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAIvD,wEAAwE;IACxE,WAAW,CAAC,MAAM,GAAE;QAAE,MAAM,CAAC,EAAE,IAAI,GAAG,KAAK,GAAG,KAAK,CAAA;KAAO,GAAG,OAAO,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;IAKxG,gDAAgD;IAChD,WAAW,CAAC,MAAM,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAS5G,8DAA8D;IAC9D,QAAQ,IAAI,OAAO,CAAC,aAAa,CAAC;IAIlC;;;;;;;;OAQG;IACH,cAAc,CAAC,MAAM,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAO/G"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { Schema } from "effect";
|
|
2
|
+
import { AgentActivityResponse, AgentAutoCollectConfigDTO, AgentFundingLinkDTO, AgentOwnerDTO, AgentSelfDTO, AgentSelfPaymentDTO, AgentSelfSpendConfigDTO, } from "./agent.js";
|
|
3
|
+
import { ApiClient } from "./client.js";
|
|
4
|
+
import { Address } from "./types.js";
|
|
5
|
+
/**
|
|
6
|
+
* Read-only client for an agent's own state on the Ampersend service.
|
|
7
|
+
*
|
|
8
|
+
* Wraps the `/v1/agents/self/*` endpoints. Auth is the standard
|
|
9
|
+
* agent SIWE session token, reused from {@link ApiClient}; the session
|
|
10
|
+
* pins which agent the server will answer for, so none of these methods
|
|
11
|
+
* take an agent address.
|
|
12
|
+
*
|
|
13
|
+
* Each response is decoded against the canonical DTO from `./agent.ts`.
|
|
14
|
+
* The server imports those same DTOs, so there is no drift surface
|
|
15
|
+
* between client and server for the agent-led read endpoints.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```ts
|
|
19
|
+
* const agent = new AgentReadClient({
|
|
20
|
+
* baseUrl: "https://api.ampersend.ai",
|
|
21
|
+
* agentAddress,
|
|
22
|
+
* sessionKeyPrivateKey,
|
|
23
|
+
* })
|
|
24
|
+
* const snapshot = await agent.getSelf()
|
|
25
|
+
* const limits = await agent.getSpendConfig()
|
|
26
|
+
* const payments = await agent.getPayments({ preset: "30d" })
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export class AgentReadClient {
|
|
30
|
+
api;
|
|
31
|
+
/**
|
|
32
|
+
* Construct from credentials (production path) or from an existing
|
|
33
|
+
* `ApiClient` (test path / sharing auth state with another SDK client).
|
|
34
|
+
* Discriminates on shape, not `instanceof` — test doubles never satisfy
|
|
35
|
+
* `instanceof ApiClient` but do expose `getAuthorized`.
|
|
36
|
+
*/
|
|
37
|
+
constructor(input) {
|
|
38
|
+
this.api = "getAuthorized" in input ? input : new ApiClient(input);
|
|
39
|
+
}
|
|
40
|
+
/** Full snapshot: agent record + live USDC balance. */
|
|
41
|
+
getSelf() {
|
|
42
|
+
return this.api.getAuthorized("/api/v1/agents/self", AgentSelfDTO);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Spend policy (per-tx / daily / monthly limits, auto-topup) plus live
|
|
46
|
+
* remaining budgets. Throws `ApiError` with `status === 404` when no
|
|
47
|
+
* spend policy exists for this agent.
|
|
48
|
+
*/
|
|
49
|
+
getSpendConfig() {
|
|
50
|
+
return this.api.getAuthorized("/api/v1/agents/self/spend-config", AgentSelfSpendConfigDTO);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Auto-collect (earnings sweep) configuration. Throws `ApiError` with
|
|
54
|
+
* `status === 404` when no auto-collect configuration exists for this
|
|
55
|
+
* agent.
|
|
56
|
+
*/
|
|
57
|
+
getAutoCollectConfig() {
|
|
58
|
+
return this.api.getAuthorized("/api/v1/agents/self/auto-collect-config", AgentAutoCollectConfigDTO);
|
|
59
|
+
}
|
|
60
|
+
/** Seller allowlist this agent is permitted to pay. */
|
|
61
|
+
getAuthorizedSellers() {
|
|
62
|
+
return this.api.getAuthorized("/api/v1/agents/self/authorized-sellers", Schema.Array(Address));
|
|
63
|
+
}
|
|
64
|
+
/** Outgoing payments. `preset` selects the timerange (default: 30d). */
|
|
65
|
+
getPayments(params = {}) {
|
|
66
|
+
const qs = params.preset ? `?preset=${params.preset}` : "";
|
|
67
|
+
return this.api.getAuthorized(`/api/v1/agents/self/payments${qs}`, Schema.Array(AgentSelfPaymentDTO));
|
|
68
|
+
}
|
|
69
|
+
/** Unified spend + earn activity, paginated. */
|
|
70
|
+
getActivity(params = {}) {
|
|
71
|
+
const qs = new URLSearchParams();
|
|
72
|
+
if (params.preset)
|
|
73
|
+
qs.set("preset", params.preset);
|
|
74
|
+
if (params.limit != null)
|
|
75
|
+
qs.set("limit", String(params.limit));
|
|
76
|
+
if (params.page != null)
|
|
77
|
+
qs.set("page", String(params.page));
|
|
78
|
+
const suffix = qs.toString();
|
|
79
|
+
return this.api.getAuthorized(`/api/v1/agents/self/activity${suffix ? `?${suffix}` : ""}`, AgentActivityResponse);
|
|
80
|
+
}
|
|
81
|
+
/** Narrow owner projection: `{ user_id, wallet_address }`. */
|
|
82
|
+
getOwner() {
|
|
83
|
+
return this.api.getAuthorized("/api/v1/agents/self/owner", AgentOwnerDTO);
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Build a dashboard `/fund` URL the user can open to add USDC. The server
|
|
87
|
+
* is a pure URL formatter — no DB row, no token, no side effects. The
|
|
88
|
+
* returned URL preselects the calling agent (`destination: "agent"`, default)
|
|
89
|
+
* or the owner's main account (`destination: "main"`).
|
|
90
|
+
*
|
|
91
|
+
* `amount` is a decimal USDC string, strictly validated server-side as
|
|
92
|
+
* positive, ≤6 fractional digits, no leading zeros.
|
|
93
|
+
*/
|
|
94
|
+
getFundingLink(params = {}) {
|
|
95
|
+
const qs = new URLSearchParams();
|
|
96
|
+
if (params.amount != null)
|
|
97
|
+
qs.set("amount", params.amount);
|
|
98
|
+
if (params.destination != null)
|
|
99
|
+
qs.set("destination", params.destination);
|
|
100
|
+
const suffix = qs.toString();
|
|
101
|
+
return this.api.getAuthorized(`/api/v1/agents/self/funding-link${suffix ? `?${suffix}` : ""}`, AgentFundingLinkDTO);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=agent-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-client.js","sourceRoot":"","sources":["../../src/ampersend/agent-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { Schema } from "effect";
|
|
2
|
+
/**
|
|
3
|
+
* Full agent snapshot with live USDC balance.
|
|
4
|
+
*
|
|
5
|
+
* All bigint amounts on `AgentSelf*` DTOs are micro-USDC (1 USDC = 10^6). The
|
|
6
|
+
* `_usdc_micro` suffix makes the unit explicit at the wire-format boundary.
|
|
7
|
+
* Note: parent DTOs shared with the dashboard (`AgentSpendConfigDTO`,
|
|
8
|
+
* `AgentAutoCollectConfigDTO`) keep their unsuffixed names to avoid breaking
|
|
9
|
+
* existing dashboard consumers; new agent-facing fields adopt the convention.
|
|
10
|
+
*/
|
|
11
|
+
export declare const AgentSelfDTO: Schema.Struct<{
|
|
12
|
+
readonly address: Schema.NonEmptyString;
|
|
13
|
+
readonly name: Schema.NonEmptyString;
|
|
14
|
+
readonly slug: Schema.NullOr<Schema.NonEmptyString>;
|
|
15
|
+
readonly status: Schema.Literals<readonly ["deploying", "deployed", "failed"]>;
|
|
16
|
+
readonly published: Schema.Boolean;
|
|
17
|
+
readonly registry_id: Schema.NullOr<Schema.NonEmptyString>;
|
|
18
|
+
readonly registry_uri: Schema.NullOr<Schema.NonEmptyString>;
|
|
19
|
+
readonly balance_usdc_micro: Schema.BigIntFromString;
|
|
20
|
+
}>;
|
|
21
|
+
export type AgentSelfDTO = typeof AgentSelfDTO.Type;
|
|
22
|
+
/** Spend policy (per-tx / daily / monthly limits, auto-topup). */
|
|
23
|
+
export declare const AgentSpendConfigDTO: Schema.Struct<{
|
|
24
|
+
readonly agent_address: Schema.NonEmptyString;
|
|
25
|
+
readonly daily_limit: Schema.NullOr<Schema.BigIntFromString>;
|
|
26
|
+
readonly monthly_limit: Schema.NullOr<Schema.BigIntFromString>;
|
|
27
|
+
readonly per_transaction_limit: Schema.NullOr<Schema.BigIntFromString>;
|
|
28
|
+
readonly auto_topup_allowed: Schema.Boolean;
|
|
29
|
+
readonly created_at: Schema.Union<readonly [Schema.Int, Schema.compose<Schema.Int, Schema.NumberFromString>]>;
|
|
30
|
+
readonly updated_at: Schema.Union<readonly [Schema.Int, Schema.compose<Schema.Int, Schema.NumberFromString>]>;
|
|
31
|
+
}>;
|
|
32
|
+
export type AgentSpendConfigDTO = typeof AgentSpendConfigDTO.Type;
|
|
33
|
+
/**
|
|
34
|
+
* Spend policy plus live remaining-budget figures for the calling agent.
|
|
35
|
+
* `daily_remaining` / `monthly_remaining` are `null` when the corresponding
|
|
36
|
+
* `*_limit` isn't set (i.e. unlimited).
|
|
37
|
+
*/
|
|
38
|
+
export declare const AgentSelfSpendConfigDTO: Schema.Struct<{
|
|
39
|
+
readonly agent_address: Schema.NonEmptyString;
|
|
40
|
+
readonly daily_limit: Schema.NullOr<Schema.BigIntFromString>;
|
|
41
|
+
readonly monthly_limit: Schema.NullOr<Schema.BigIntFromString>;
|
|
42
|
+
readonly per_transaction_limit: Schema.NullOr<Schema.BigIntFromString>;
|
|
43
|
+
readonly auto_topup_allowed: Schema.Boolean;
|
|
44
|
+
readonly created_at: Schema.Union<readonly [Schema.Int, Schema.compose<Schema.Int, Schema.NumberFromString>]>;
|
|
45
|
+
readonly updated_at: Schema.Union<readonly [Schema.Int, Schema.compose<Schema.Int, Schema.NumberFromString>]>;
|
|
46
|
+
readonly daily_remaining_usdc_micro: Schema.NullOr<Schema.BigIntFromString>;
|
|
47
|
+
readonly monthly_remaining_usdc_micro: Schema.NullOr<Schema.BigIntFromString>;
|
|
48
|
+
}>;
|
|
49
|
+
export type AgentSelfSpendConfigDTO = typeof AgentSelfSpendConfigDTO.Type;
|
|
50
|
+
/** Auto-collect (earnings sweep) configuration. */
|
|
51
|
+
export declare const AgentAutoCollectConfigDTO: Schema.Struct<{
|
|
52
|
+
readonly agent_address: Schema.NonEmptyString;
|
|
53
|
+
readonly enabled: Schema.Boolean;
|
|
54
|
+
readonly target_address: Schema.NullOr<Schema.NonEmptyString>;
|
|
55
|
+
readonly threshold: Schema.BigIntFromString;
|
|
56
|
+
readonly minimum_remaining: Schema.NullOr<Schema.BigIntFromString>;
|
|
57
|
+
readonly created_at: Schema.Union<readonly [Schema.Int, Schema.compose<Schema.Int, Schema.NumberFromString>]>;
|
|
58
|
+
readonly updated_at: Schema.Union<readonly [Schema.Int, Schema.compose<Schema.Int, Schema.NumberFromString>]>;
|
|
59
|
+
}>;
|
|
60
|
+
export type AgentAutoCollectConfigDTO = typeof AgentAutoCollectConfigDTO.Type;
|
|
61
|
+
/** Outgoing payment as exposed to the calling agent (excludes signature, EIP-3009 nonce, internal row id, signing-key details). */
|
|
62
|
+
export declare const AgentSelfPaymentDTO: Schema.Struct<{
|
|
63
|
+
readonly seller_address: Schema.NonEmptyString;
|
|
64
|
+
readonly amount_usdc_micro: Schema.BigIntFromString;
|
|
65
|
+
readonly scheme: Schema.NullOr<Schema.Literals<readonly ["exact", "deferred"]>>;
|
|
66
|
+
readonly status: Schema.Literals<readonly ["requested", "authorized", "denied", "settled", "expired", "unmanaged", "success", "failure", "pending"]>;
|
|
67
|
+
readonly tx_hash: Schema.NullOr<Schema.NonEmptyString>;
|
|
68
|
+
readonly chain_caip2id: Schema.NullOr<Schema.NonEmptyString>;
|
|
69
|
+
readonly created_at: Schema.Union<readonly [Schema.Int, Schema.compose<Schema.Int, Schema.NumberFromString>]>;
|
|
70
|
+
readonly expires_at: Schema.NullOr<Schema.Union<readonly [Schema.Int, Schema.compose<Schema.Int, Schema.NumberFromString>]>>;
|
|
71
|
+
}>;
|
|
72
|
+
export type AgentSelfPaymentDTO = typeof AgentSelfPaymentDTO.Type;
|
|
73
|
+
/** Single row in the unified spend + earn activity feed. */
|
|
74
|
+
export declare const UnifiedAgentActivityDTO: Schema.Struct<{
|
|
75
|
+
readonly type: Schema.Literals<readonly ["earn", "spend"]>;
|
|
76
|
+
readonly id: Schema.String;
|
|
77
|
+
readonly agent_address: Schema.NonEmptyString;
|
|
78
|
+
readonly receiver: Schema.NonEmptyString;
|
|
79
|
+
readonly amount: Schema.Union<readonly [Schema.Number, Schema.NumberFromString]>;
|
|
80
|
+
readonly status: Schema.Literals<readonly ["received", "settled", "authorized", "failed", "denied"]>;
|
|
81
|
+
readonly timestamp: Schema.BigIntFromString;
|
|
82
|
+
readonly tx_hash: Schema.NullOr<Schema.String>;
|
|
83
|
+
readonly chain_caip2id: Schema.NullOr<Schema.String>;
|
|
84
|
+
}>;
|
|
85
|
+
export type UnifiedAgentActivityDTO = typeof UnifiedAgentActivityDTO.Type;
|
|
86
|
+
/** Paginated unified spend + earn activity response. */
|
|
87
|
+
export declare const AgentActivityResponse: Schema.Struct<{
|
|
88
|
+
readonly activity: Schema.$Array<Schema.Struct<{
|
|
89
|
+
readonly type: Schema.Literals<readonly ["earn", "spend"]>;
|
|
90
|
+
readonly id: Schema.String;
|
|
91
|
+
readonly agent_address: Schema.NonEmptyString;
|
|
92
|
+
readonly receiver: Schema.NonEmptyString;
|
|
93
|
+
readonly amount: Schema.Union<readonly [Schema.Number, Schema.NumberFromString]>;
|
|
94
|
+
readonly status: Schema.Literals<readonly ["received", "settled", "authorized", "failed", "denied"]>;
|
|
95
|
+
readonly timestamp: Schema.BigIntFromString;
|
|
96
|
+
readonly tx_hash: Schema.NullOr<Schema.String>;
|
|
97
|
+
readonly chain_caip2id: Schema.NullOr<Schema.String>;
|
|
98
|
+
}>>;
|
|
99
|
+
readonly hasNextPage: Schema.Boolean;
|
|
100
|
+
readonly totalCount: Schema.Int;
|
|
101
|
+
}>;
|
|
102
|
+
export type AgentActivityResponse = typeof AgentActivityResponse.Type;
|
|
103
|
+
/** Narrow owner projection: `{ user_id, wallet_address }` — no email, sibling agents, or cross-agent aggregates. */
|
|
104
|
+
export declare const AgentOwnerDTO: Schema.Struct<{
|
|
105
|
+
readonly user_id: Schema.brand<Schema.String, "ID">;
|
|
106
|
+
readonly wallet_address: Schema.NonEmptyString;
|
|
107
|
+
}>;
|
|
108
|
+
export type AgentOwnerDTO = typeof AgentOwnerDTO.Type;
|
|
109
|
+
/**
|
|
110
|
+
* Funding link the agent can present to its owner. The URL points at the
|
|
111
|
+
* dashboard's `/fund` page, prefilled per the requested destination. Pure
|
|
112
|
+
* URL formatter on the server — no DB row, no token, no side effects.
|
|
113
|
+
*/
|
|
114
|
+
export declare const AgentFundingLinkDTO: Schema.Struct<{
|
|
115
|
+
readonly url: Schema.String;
|
|
116
|
+
}>;
|
|
117
|
+
export type AgentFundingLinkDTO = typeof AgentFundingLinkDTO.Type;
|
|
118
|
+
//# sourceMappingURL=agent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/ampersend/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAqB/B;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY;;;;;;;;;EASvB,CAAA;AACF,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAA;AAEnD,kEAAkE;AAClE,eAAO,MAAM,mBAAmB;;;;;;;;EAQ9B,CAAA;AACF,MAAM,MAAM,mBAAmB,GAAG,OAAO,mBAAmB,CAAC,IAAI,CAAA;AAEjE;;;;GAIG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;EAKnC,CAAA;AACD,MAAM,MAAM,uBAAuB,GAAG,OAAO,uBAAuB,CAAC,IAAI,CAAA;AAEzE,mDAAmD;AACnD,eAAO,MAAM,yBAAyB;;;;;;;;EAQpC,CAAA;AACF,MAAM,MAAM,yBAAyB,GAAG,OAAO,yBAAyB,CAAC,IAAI,CAAA;AAE7E,mIAAmI;AACnI,eAAO,MAAM,mBAAmB;;;;;;;;;EAmB9B,CAAA;AACF,MAAM,MAAM,mBAAmB,GAAG,OAAO,mBAAmB,CAAC,IAAI,CAAA;AAEjE,4DAA4D;AAC5D,eAAO,MAAM,uBAAuB;;;;;;;;;;EAUlC,CAAA;AACF,MAAM,MAAM,uBAAuB,GAAG,OAAO,uBAAuB,CAAC,IAAI,CAAA;AAEzE,wDAAwD;AACxD,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;EAIhC,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAC,IAAI,CAAA;AAErE,oHAAoH;AACpH,eAAO,MAAM,aAAa;;;EAGxB,CAAA;AACF,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,IAAI,CAAA;AAErD;;;;GAIG;AACH,eAAO,MAAM,mBAAmB;;EAE9B,CAAA;AACF,MAAM,MAAM,mBAAmB,GAAG,OAAO,mBAAmB,CAAC,IAAI,CAAA"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { Schema } from "effect";
|
|
2
|
+
import { Address, Caip2ID, ConvertedTimestamp, ID, NonEmptyTrimmedString, NonNegativeInt, Scheme, TxHash, } from "./types.js";
|
|
3
|
+
// Response DTOs for `/v1/agents/self/*`. These are the canonical wire shapes
|
|
4
|
+
// for the agent-led read surface: the closed-source server imports them from
|
|
5
|
+
// this file (via `@ampersend_ai/ampersend-sdk/ampersend`) rather than defining
|
|
6
|
+
// its own copies. Keep field sets stable — adding/removing a field here is a
|
|
7
|
+
// breaking change for both SDK consumers and server callers.
|
|
8
|
+
const DeploymentStatus = Schema.Literals(["deploying", "deployed", "failed"]);
|
|
9
|
+
/**
|
|
10
|
+
* Full agent snapshot with live USDC balance.
|
|
11
|
+
*
|
|
12
|
+
* All bigint amounts on `AgentSelf*` DTOs are micro-USDC (1 USDC = 10^6). The
|
|
13
|
+
* `_usdc_micro` suffix makes the unit explicit at the wire-format boundary.
|
|
14
|
+
* Note: parent DTOs shared with the dashboard (`AgentSpendConfigDTO`,
|
|
15
|
+
* `AgentAutoCollectConfigDTO`) keep their unsuffixed names to avoid breaking
|
|
16
|
+
* existing dashboard consumers; new agent-facing fields adopt the convention.
|
|
17
|
+
*/
|
|
18
|
+
export const AgentSelfDTO = Schema.Struct({
|
|
19
|
+
address: Address,
|
|
20
|
+
name: NonEmptyTrimmedString,
|
|
21
|
+
slug: Schema.NullOr(NonEmptyTrimmedString),
|
|
22
|
+
status: DeploymentStatus,
|
|
23
|
+
published: Schema.Boolean,
|
|
24
|
+
registry_id: Schema.NullOr(NonEmptyTrimmedString),
|
|
25
|
+
registry_uri: Schema.NullOr(NonEmptyTrimmedString),
|
|
26
|
+
balance_usdc_micro: Schema.BigIntFromString,
|
|
27
|
+
});
|
|
28
|
+
/** Spend policy (per-tx / daily / monthly limits, auto-topup). */
|
|
29
|
+
export const AgentSpendConfigDTO = Schema.Struct({
|
|
30
|
+
agent_address: Address,
|
|
31
|
+
daily_limit: Schema.NullOr(Schema.BigIntFromString),
|
|
32
|
+
monthly_limit: Schema.NullOr(Schema.BigIntFromString),
|
|
33
|
+
per_transaction_limit: Schema.NullOr(Schema.BigIntFromString),
|
|
34
|
+
auto_topup_allowed: Schema.Boolean,
|
|
35
|
+
created_at: ConvertedTimestamp,
|
|
36
|
+
updated_at: ConvertedTimestamp,
|
|
37
|
+
});
|
|
38
|
+
/**
|
|
39
|
+
* Spend policy plus live remaining-budget figures for the calling agent.
|
|
40
|
+
* `daily_remaining` / `monthly_remaining` are `null` when the corresponding
|
|
41
|
+
* `*_limit` isn't set (i.e. unlimited).
|
|
42
|
+
*/
|
|
43
|
+
export const AgentSelfSpendConfigDTO = AgentSpendConfigDTO.pipe(Schema.fieldsAssign({
|
|
44
|
+
daily_remaining_usdc_micro: Schema.NullOr(Schema.BigIntFromString),
|
|
45
|
+
monthly_remaining_usdc_micro: Schema.NullOr(Schema.BigIntFromString),
|
|
46
|
+
}));
|
|
47
|
+
/** Auto-collect (earnings sweep) configuration. */
|
|
48
|
+
export const AgentAutoCollectConfigDTO = Schema.Struct({
|
|
49
|
+
agent_address: Address,
|
|
50
|
+
enabled: Schema.Boolean,
|
|
51
|
+
target_address: Schema.NullOr(Address),
|
|
52
|
+
threshold: Schema.BigIntFromString,
|
|
53
|
+
minimum_remaining: Schema.NullOr(Schema.BigIntFromString),
|
|
54
|
+
created_at: ConvertedTimestamp,
|
|
55
|
+
updated_at: ConvertedTimestamp,
|
|
56
|
+
});
|
|
57
|
+
/** Outgoing payment as exposed to the calling agent (excludes signature, EIP-3009 nonce, internal row id, signing-key details). */
|
|
58
|
+
export const AgentSelfPaymentDTO = Schema.Struct({
|
|
59
|
+
seller_address: Address,
|
|
60
|
+
amount_usdc_micro: Schema.BigIntFromString,
|
|
61
|
+
scheme: Schema.NullOr(Scheme),
|
|
62
|
+
status: Schema.Literals([
|
|
63
|
+
"requested",
|
|
64
|
+
"authorized",
|
|
65
|
+
"denied",
|
|
66
|
+
"settled",
|
|
67
|
+
"expired",
|
|
68
|
+
"unmanaged",
|
|
69
|
+
"success",
|
|
70
|
+
"failure",
|
|
71
|
+
"pending",
|
|
72
|
+
]),
|
|
73
|
+
tx_hash: Schema.NullOr(TxHash),
|
|
74
|
+
chain_caip2id: Schema.NullOr(Caip2ID),
|
|
75
|
+
created_at: ConvertedTimestamp,
|
|
76
|
+
expires_at: Schema.NullOr(ConvertedTimestamp),
|
|
77
|
+
});
|
|
78
|
+
/** Single row in the unified spend + earn activity feed. */
|
|
79
|
+
export const UnifiedAgentActivityDTO = Schema.Struct({
|
|
80
|
+
type: Schema.Literals(["earn", "spend"]),
|
|
81
|
+
id: Schema.String,
|
|
82
|
+
agent_address: Address,
|
|
83
|
+
receiver: Address,
|
|
84
|
+
amount: Schema.Union([Schema.Number, Schema.NumberFromString]),
|
|
85
|
+
status: Schema.Literals(["received", "settled", "authorized", "failed", "denied"]),
|
|
86
|
+
timestamp: Schema.BigIntFromString,
|
|
87
|
+
tx_hash: Schema.NullOr(Schema.String),
|
|
88
|
+
chain_caip2id: Schema.NullOr(Schema.String),
|
|
89
|
+
});
|
|
90
|
+
/** Paginated unified spend + earn activity response. */
|
|
91
|
+
export const AgentActivityResponse = Schema.Struct({
|
|
92
|
+
activity: Schema.Array(UnifiedAgentActivityDTO),
|
|
93
|
+
hasNextPage: Schema.Boolean,
|
|
94
|
+
totalCount: NonNegativeInt,
|
|
95
|
+
});
|
|
96
|
+
/** Narrow owner projection: `{ user_id, wallet_address }` — no email, sibling agents, or cross-agent aggregates. */
|
|
97
|
+
export const AgentOwnerDTO = Schema.Struct({
|
|
98
|
+
user_id: ID,
|
|
99
|
+
wallet_address: Address,
|
|
100
|
+
});
|
|
101
|
+
/**
|
|
102
|
+
* Funding link the agent can present to its owner. The URL points at the
|
|
103
|
+
* dashboard's `/fund` page, prefilled per the requested destination. Pure
|
|
104
|
+
* URL formatter on the server — no DB row, no token, no side effects.
|
|
105
|
+
*/
|
|
106
|
+
export const AgentFundingLinkDTO = Schema.Struct({
|
|
107
|
+
url: Schema.String,
|
|
108
|
+
});
|
|
109
|
+
//# sourceMappingURL=agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/ampersend/agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approval.js","sourceRoot":"","sources":["../../src/ampersend/approval.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,cAAc,EAA6B,MAAM,YAAY,CAAA;AAElG,MAAM,eAAe,GAAG,0BAA0B,CAAA;AAOlD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,OAAO,cAAc;IACjB,OAAO,CAAQ;IACf,OAAO,CAAQ;IAEvB,YAAY,UAAiC,EAAE;QAC7C,IAAI,CAAC,OAAO,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,eAAe,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;QACrE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,KAAK,CAAA;IACzC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,oBAAoB,CAAC,OAA4C;QACrE,MAAM,EAAE,iBAAiB,EAAE,GAAG,QAAQ,EAAE,GAAG,OAAO,CAAA;QAClD,mEAAmE;QACnE,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAChC,MAAM,CAAC,OAAO,CAAC,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAC3G,CAAA;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,8BAA8B,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAA;IACtF,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,iBAAiB,CAAC,KAAa;QACnC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,0BAA0B,KAAK,SAAS,EAAE,SAAS,EAAE,cAAc,CAAC,CAAA;IAC/F,CAAC;IAEO,KAAK,CAAC,KAAK,CAAO,MAAc,EAAE,IAAY,EAAE,IAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"approval.js","sourceRoot":"","sources":["../../src/ampersend/approval.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { Schema } from "effect";
|
|
1
2
|
import type { PaymentAuthorization, PaymentRequest } from "../x402/envelopes.ts";
|
|
2
|
-
import { AgentAuthorizeRequest, AgentAuthorizeResponse, AgentPaymentEventResponse, type Address, type ApiClientOptions, type PaymentEvent } from "./types.js";
|
|
3
|
+
import { AgentAuthorizeRequest, AgentAuthorizeResponse, AgentPaymentEventResponse, SignSiwxResponse, type Address, type ApiClientOptions, type PaymentEvent } from "./types.js";
|
|
3
4
|
export * from "./types.js";
|
|
4
5
|
/**
|
|
5
6
|
* TypeScript SDK for the API
|
|
@@ -8,10 +9,17 @@ export * from "./types.js";
|
|
|
8
9
|
* including SIWE authentication and payment lifecycle management.
|
|
9
10
|
*/
|
|
10
11
|
export declare class ApiClient {
|
|
11
|
-
private baseUrl;
|
|
12
|
-
private sessionKeyPrivateKey;
|
|
13
|
-
private agentAddress;
|
|
14
|
-
private timeout;
|
|
12
|
+
private readonly baseUrl;
|
|
13
|
+
private readonly sessionKeyPrivateKey;
|
|
14
|
+
private readonly agentAddress;
|
|
15
|
+
private readonly timeout;
|
|
16
|
+
/**
|
|
17
|
+
* `Ampersend-Client` header value sent on every authenticated request.
|
|
18
|
+
* Format: `<name>/<version>`. Used by the API for product-analytics
|
|
19
|
+
* client attribution. Defaults to `sdk-typescript/<VERSION>`; the
|
|
20
|
+
* `ampersend` CLI overrides `clientName` to `ampersend-cli`.
|
|
21
|
+
*/
|
|
22
|
+
private clientHeader;
|
|
15
23
|
private authMutex;
|
|
16
24
|
private auth;
|
|
17
25
|
constructor(options: ApiClientOptions);
|
|
@@ -20,15 +28,31 @@ export declare class ApiClient {
|
|
|
20
28
|
*/
|
|
21
29
|
private performAuthentication;
|
|
22
30
|
authorizePayment(paymentRequest: PaymentRequest, context?: AgentAuthorizeRequest["context"]): Promise<typeof AgentAuthorizeResponse.Type>;
|
|
31
|
+
/**
|
|
32
|
+
* Ask the Ampersend API to co-sign a Sign-In-With-X (CAIP-122 / EIP-4361)
|
|
33
|
+
* message. The service parses the message, verifies it claims this agent's
|
|
34
|
+
* smart account, and signs `hashMessage(message)` with the service key.
|
|
35
|
+
*
|
|
36
|
+
* The buyer concatenates this with its own session-key signature and wraps
|
|
37
|
+
* via CoSignerValidator for ERC-1271 verification.
|
|
38
|
+
*/
|
|
39
|
+
signSiwxChallenge(message: string): Promise<typeof SignSiwxResponse.Type>;
|
|
23
40
|
reportPaymentEvent(eventId: string, payment: PaymentAuthorization, event: PaymentEvent): Promise<AgentPaymentEventResponse>;
|
|
41
|
+
/**
|
|
42
|
+
* Authenticated GET against a path on the API. Performs SIWE auth first
|
|
43
|
+
* if needed, then decodes the response against `schema`. Use this from
|
|
44
|
+
* read-only clients that share auth with the rest of the SDK.
|
|
45
|
+
*/
|
|
46
|
+
getAuthorized<A, I>(path: string, schema: Schema.Codec<A, I>): Promise<A>;
|
|
24
47
|
/**
|
|
25
48
|
* Clear the current authentication state
|
|
26
49
|
*/
|
|
27
50
|
clearAuth(): void;
|
|
28
51
|
/**
|
|
29
|
-
* Get the configured agent address
|
|
52
|
+
* Get the configured agent address, or `undefined` if the client was
|
|
53
|
+
* constructed for unauthenticated reads only.
|
|
30
54
|
*/
|
|
31
|
-
getAgentAddress(): Address;
|
|
55
|
+
getAgentAddress(): Address | undefined;
|
|
32
56
|
/**
|
|
33
57
|
* Check if currently authenticated and token is valid
|
|
34
58
|
*/
|
|
@@ -40,6 +64,6 @@ export declare class ApiClient {
|
|
|
40
64
|
/**
|
|
41
65
|
* Internal fetch wrapper with error handling and schema decoding
|
|
42
66
|
*/
|
|
43
|
-
|
|
67
|
+
fetch<A, I>(path: string, init: RequestInit, schema: Schema.Codec<A, I>): Promise<A>;
|
|
44
68
|
}
|
|
45
69
|
//# sourceMappingURL=client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/ampersend/client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/ampersend/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,MAAM,EAAE,MAAM,QAAQ,CAAA;AAKzC,OAAO,KAAK,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAChF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EAEtB,yBAAyB,EAEzB,gBAAgB,EAGhB,KAAK,OAAO,EACZ,KAAK,gBAAgB,EAErB,KAAK,YAAY,EAElB,MAAM,YAAY,CAAA;AAEnB,cAAc,YAAY,CAAA;AA2B1B;;;;;GAKG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA2B;IAChE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC;;;;;OAKG;IACH,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,IAAI,CAGX;gBAEW,OAAO,EAAE,gBAAgB;IASrC;;OAEG;YACW,qBAAqB;IAsE7B,gBAAgB,CACpB,cAAc,EAAE,cAAc,EAC9B,OAAO,CAAC,EAAE,qBAAqB,CAAC,SAAS,CAAC,GACzC,OAAO,CAAC,OAAO,sBAAsB,CAAC,IAAI,CAAC;IAoC9C;;;;;;;OAOG;IACG,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,gBAAgB,CAAC,IAAI,CAAC;IAiBzE,kBAAkB,CACtB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,oBAAoB,EAC7B,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,yBAAyB,CAAC;IAoBrC;;;;OAIG;IACG,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAY/E;;OAEG;IACH,SAAS,IAAI,IAAI;IAOjB;;;OAGG;IACH,eAAe,IAAI,OAAO,GAAG,SAAS;IAItC;;OAEG;IACH,eAAe,IAAI,OAAO;IAI1B;;OAEG;YACW,mBAAmB;IAQjC;;OAEG;IACG,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CA2C3F"}
|