@compose-market/sdk 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/LICENSE +21 -0
  3. package/README.md +158 -35
  4. package/dist/errors.d.ts +145 -0
  5. package/dist/errors.d.ts.map +1 -0
  6. package/dist/errors.js +152 -0
  7. package/dist/errors.js.map +1 -0
  8. package/dist/http.d.ts +98 -0
  9. package/dist/http.d.ts.map +1 -0
  10. package/dist/http.js +350 -0
  11. package/dist/http.js.map +1 -0
  12. package/dist/index.d.ts +104 -0
  13. package/dist/index.d.ts.map +1 -0
  14. package/dist/index.js +137 -0
  15. package/dist/index.js.map +1 -0
  16. package/dist/resources/inference.d.ts +161 -0
  17. package/dist/resources/inference.d.ts.map +1 -0
  18. package/dist/resources/inference.js +710 -0
  19. package/dist/resources/inference.js.map +1 -0
  20. package/dist/resources/keys.d.ts +50 -0
  21. package/dist/resources/keys.d.ts.map +1 -0
  22. package/dist/resources/keys.js +154 -0
  23. package/dist/resources/keys.js.map +1 -0
  24. package/dist/resources/models.d.ts +26 -0
  25. package/dist/resources/models.d.ts.map +1 -0
  26. package/dist/resources/models.js +52 -0
  27. package/dist/resources/models.js.map +1 -0
  28. package/dist/resources/webhooks.d.ts +27 -0
  29. package/dist/resources/webhooks.d.ts.map +1 -0
  30. package/dist/resources/webhooks.js +78 -0
  31. package/dist/resources/webhooks.js.map +1 -0
  32. package/dist/resources/x402.d.ts +37 -0
  33. package/dist/resources/x402.d.ts.map +1 -0
  34. package/dist/resources/x402.js +72 -0
  35. package/dist/resources/x402.js.map +1 -0
  36. package/dist/streaming/receipt.d.ts +25 -0
  37. package/dist/streaming/receipt.d.ts.map +1 -0
  38. package/dist/streaming/receipt.js +92 -0
  39. package/dist/streaming/receipt.js.map +1 -0
  40. package/dist/streaming/sse.d.ts +29 -0
  41. package/dist/streaming/sse.d.ts.map +1 -0
  42. package/dist/streaming/sse.js +125 -0
  43. package/dist/streaming/sse.js.map +1 -0
  44. package/dist/types/index.d.ts +497 -0
  45. package/dist/types/index.d.ts.map +1 -0
  46. package/dist/types/index.js +10 -0
  47. package/dist/types/index.js.map +1 -0
  48. package/package.json +30 -20
  49. package/index.d.ts +0 -244
  50. package/index.js +0 -397
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inference.js","sourceRoot":"","sources":["../../src/resources/inference.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ import type { HttpClient } from "../http.js";
2
+ import type { ActiveSessionMetadata, ComposeKeyCreateResponse, ComposeKeyPurpose, ComposeKeyRecord } from "../types/index.js";
3
+ export interface KeyCreateParams {
4
+ purpose: ComposeKeyPurpose;
5
+ budgetUsd?: number;
6
+ budgetWei?: number | string;
7
+ durationHours?: number;
8
+ expiresAt?: number;
9
+ chainId?: number;
10
+ name?: string;
11
+ }
12
+ export declare class KeysResource {
13
+ private readonly client;
14
+ private readonly ctx;
15
+ constructor(client: HttpClient, ctx: {
16
+ getWallet(): {
17
+ address: string;
18
+ chainId: number;
19
+ };
20
+ setToken(token: string): void;
21
+ getToken(): string | null;
22
+ clearToken(): void;
23
+ });
24
+ create(input: KeyCreateParams): Promise<ComposeKeyCreateResponse>;
25
+ getActive(input?: {
26
+ chainId?: number;
27
+ }): Promise<ActiveSessionMetadata>;
28
+ list(): Promise<ComposeKeyRecord[]>;
29
+ /**
30
+ * Inspect a specific key. Requires the SDK to hold a valid Compose Key
31
+ * token (via `keys.use(token)`, `keys.create(...)`, or the constructor).
32
+ * The server authorises based on JWT-owner matching the key's owner, so
33
+ * any live token for the same wallet is sufficient.
34
+ */
35
+ get(keyId: string): Promise<ComposeKeyRecord>;
36
+ /**
37
+ * Revoke a key. Requires the SDK to hold a valid Compose Key token for
38
+ * the same wallet. The server accepts either the target key's own JWT or
39
+ * any other live JWT belonging to the same owner (so users can revoke
40
+ * their API keys using their active session token, and vice versa).
41
+ */
42
+ revoke(keyId: string): Promise<{
43
+ success: boolean;
44
+ keyId: string;
45
+ }>;
46
+ use(token: string): void;
47
+ currentToken(): string | null;
48
+ clearToken(): void;
49
+ }
50
+ //# sourceMappingURL=keys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../src/resources/keys.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EACR,qBAAqB,EACrB,wBAAwB,EACxB,iBAAiB,EACjB,gBAAgB,EACnB,MAAM,mBAAmB,CAAC;AAG3B,MAAM,WAAW,eAAe;IAC5B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AA0DD,qBAAa,YAAY;IAEjB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,GAAG;gBADH,MAAM,EAAE,UAAU,EAClB,GAAG,EAAE;QAClB,SAAS,IAAI;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;QAClD,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,QAAQ,IAAI,MAAM,GAAG,IAAI,CAAC;QAC1B,UAAU,IAAI,IAAI,CAAC;KACtB;IAGC,MAAM,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,wBAAwB,CAAC;IA4BjE,SAAS,CAAC,KAAK,GAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAa3E,IAAI,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAazC;;;;;OAKG;IACG,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAcnD;;;;;OAKG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAgBzE,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIxB,YAAY,IAAI,MAAM,GAAG,IAAI;IAI7B,UAAU,IAAI,IAAI;CAGrB"}
@@ -0,0 +1,154 @@
1
+ import { BadRequestError } from "../errors.js";
2
+ function toBudgetWei(input) {
3
+ const hasUsd = typeof input.budgetUsd === "number";
4
+ const hasWei = typeof input.budgetWei === "number" || typeof input.budgetWei === "string";
5
+ if (Number(hasUsd) + Number(hasWei) !== 1) {
6
+ throw new BadRequestError({ message: "provide exactly one of budgetUsd or budgetWei" });
7
+ }
8
+ if (hasUsd) {
9
+ const usd = input.budgetUsd;
10
+ if (!Number.isFinite(usd) || usd <= 0) {
11
+ throw new BadRequestError({ message: "budgetUsd must be a positive number" });
12
+ }
13
+ return Math.round(usd * 1_000_000);
14
+ }
15
+ if (typeof input.budgetWei === "number") {
16
+ if (!Number.isInteger(input.budgetWei) || input.budgetWei <= 0) {
17
+ throw new BadRequestError({ message: "budgetWei must be a positive integer" });
18
+ }
19
+ return input.budgetWei;
20
+ }
21
+ const trimmed = String(input.budgetWei).trim();
22
+ if (!/^\d+$/.test(trimmed)) {
23
+ throw new BadRequestError({ message: "budgetWei must be a positive integer string" });
24
+ }
25
+ const parsed = Number(trimmed);
26
+ if (!Number.isFinite(parsed) || parsed <= 0) {
27
+ throw new BadRequestError({ message: "budgetWei must be a positive integer string" });
28
+ }
29
+ return parsed;
30
+ }
31
+ function resolveExpiresAt(input) {
32
+ const hasDuration = typeof input.durationHours === "number";
33
+ const hasExpires = typeof input.expiresAt === "number";
34
+ if (Number(hasDuration) + Number(hasExpires) !== 1) {
35
+ throw new BadRequestError({ message: "provide exactly one of durationHours or expiresAt" });
36
+ }
37
+ if (hasExpires) {
38
+ if (!Number.isInteger(input.expiresAt) || input.expiresAt <= Date.now()) {
39
+ throw new BadRequestError({ message: "expiresAt must be a future unix timestamp in milliseconds" });
40
+ }
41
+ return input.expiresAt;
42
+ }
43
+ const hours = input.durationHours;
44
+ if (!Number.isFinite(hours) || hours <= 0) {
45
+ throw new BadRequestError({ message: "durationHours must be a positive number" });
46
+ }
47
+ return Date.now() + Math.round(hours * 60 * 60 * 1000);
48
+ }
49
+ export class KeysResource {
50
+ client;
51
+ ctx;
52
+ constructor(client, ctx) {
53
+ this.client = client;
54
+ this.ctx = ctx;
55
+ }
56
+ async create(input) {
57
+ const wallet = this.ctx.getWallet();
58
+ const chainId = input.chainId ?? wallet.chainId;
59
+ const body = {
60
+ budgetLimit: toBudgetWei(input),
61
+ expiresAt: resolveExpiresAt(input),
62
+ chainId,
63
+ purpose: input.purpose,
64
+ ...(input.name ? { name: input.name } : {}),
65
+ };
66
+ const response = await this.client.request({
67
+ method: "POST",
68
+ path: "/api/keys",
69
+ body,
70
+ headers: {
71
+ walletAddress: wallet.address,
72
+ chainId,
73
+ },
74
+ });
75
+ // The token is returned exactly once by POST /api/keys. We persist it
76
+ // on the client so subsequent calls carry Authorization automatically.
77
+ this.ctx.setToken(response.token);
78
+ return response;
79
+ }
80
+ async getActive(input = {}) {
81
+ const wallet = this.ctx.getWallet();
82
+ const chainId = input.chainId ?? wallet.chainId;
83
+ return this.client.request({
84
+ method: "GET",
85
+ path: "/api/session",
86
+ headers: {
87
+ walletAddress: wallet.address,
88
+ chainId,
89
+ },
90
+ });
91
+ }
92
+ async list() {
93
+ const wallet = this.ctx.getWallet();
94
+ const result = await this.client.request({
95
+ method: "GET",
96
+ path: "/api/keys",
97
+ headers: {
98
+ walletAddress: wallet.address,
99
+ chainId: wallet.chainId,
100
+ },
101
+ });
102
+ return result.keys;
103
+ }
104
+ /**
105
+ * Inspect a specific key. Requires the SDK to hold a valid Compose Key
106
+ * token (via `keys.use(token)`, `keys.create(...)`, or the constructor).
107
+ * The server authorises based on JWT-owner matching the key's owner, so
108
+ * any live token for the same wallet is sufficient.
109
+ */
110
+ async get(keyId) {
111
+ const token = this.ctx.getToken();
112
+ if (!token) {
113
+ throw new BadRequestError({
114
+ message: "keys.get() requires a Compose Key token. Call keys.use(token) first or pass composeKey via options.",
115
+ });
116
+ }
117
+ return this.client.request({
118
+ method: "GET",
119
+ path: `/api/keys/${encodeURIComponent(keyId)}`,
120
+ headers: { composeKey: token },
121
+ });
122
+ }
123
+ /**
124
+ * Revoke a key. Requires the SDK to hold a valid Compose Key token for
125
+ * the same wallet. The server accepts either the target key's own JWT or
126
+ * any other live JWT belonging to the same owner (so users can revoke
127
+ * their API keys using their active session token, and vice versa).
128
+ */
129
+ async revoke(keyId) {
130
+ const token = this.ctx.getToken();
131
+ if (!token) {
132
+ throw new BadRequestError({
133
+ message: "keys.revoke() requires a Compose Key token. Call keys.use(token) first or pass composeKey via options.",
134
+ });
135
+ }
136
+ const result = await this.client.request({
137
+ method: "DELETE",
138
+ path: `/api/keys/${encodeURIComponent(keyId)}`,
139
+ headers: { composeKey: token },
140
+ doNotRetry: true,
141
+ });
142
+ return result;
143
+ }
144
+ use(token) {
145
+ this.ctx.setToken(token);
146
+ }
147
+ currentToken() {
148
+ return this.ctx.getToken();
149
+ }
150
+ clearToken() {
151
+ this.ctx.clearToken();
152
+ }
153
+ }
154
+ //# sourceMappingURL=keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../src/resources/keys.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import type { APIPromise, HttpClient } from "../http.js";
2
+ import type { Model, ModelListResponse, ModelParamsResponse, ModelSearchInput, ModelSearchResponse } from "../types/index.js";
3
+ export declare class ModelsResource {
4
+ private readonly client;
5
+ constructor(client: HttpClient);
6
+ /**
7
+ * List the curated ~612-model set. Use `listAll()` for the 45k+ catalog.
8
+ * Returns the canonical OpenAI-compatible `Model` shape.
9
+ */
10
+ list(): APIPromise<ModelListResponse>;
11
+ /**
12
+ * Full catalog — ~45k+ models across 12 providers. Recommended to pair
13
+ * with `search()` for discoverability; raw `listAll()` is intended for
14
+ * exports and power users.
15
+ */
16
+ listAll(): APIPromise<ModelListResponse>;
17
+ /**
18
+ * Cursor-paginated search across the full catalog with filters for
19
+ * modality, provider, price ceiling, context window minimum, and
20
+ * streaming support.
21
+ */
22
+ search(input?: ModelSearchInput): APIPromise<ModelSearchResponse>;
23
+ get(modelId: string): APIPromise<Model>;
24
+ getParams(modelId: string): APIPromise<ModelParamsResponse>;
25
+ }
26
+ //# sourceMappingURL=models.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/resources/models.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,KAAK,EACR,KAAK,EACL,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACtB,MAAM,mBAAmB,CAAC;AAE3B,qBAAa,cAAc;IACX,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,UAAU;IAE/C;;;OAGG;IACH,IAAI,IAAI,UAAU,CAAC,iBAAiB,CAAC;IAOrC;;;;OAIG;IACH,OAAO,IAAI,UAAU,CAAC,iBAAiB,CAAC;IAOxC;;;;OAIG;IACH,MAAM,CAAC,KAAK,GAAE,gBAAqB,GAAG,UAAU,CAAC,mBAAmB,CAAC;IAQrE,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC;IAOvC,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC,mBAAmB,CAAC;CAM9D"}
@@ -0,0 +1,52 @@
1
+ export class ModelsResource {
2
+ client;
3
+ constructor(client) {
4
+ this.client = client;
5
+ }
6
+ /**
7
+ * List the curated ~612-model set. Use `listAll()` for the 45k+ catalog.
8
+ * Returns the canonical OpenAI-compatible `Model` shape.
9
+ */
10
+ list() {
11
+ return this.client.request({
12
+ method: "GET",
13
+ path: "/v1/models",
14
+ });
15
+ }
16
+ /**
17
+ * Full catalog — ~45k+ models across 12 providers. Recommended to pair
18
+ * with `search()` for discoverability; raw `listAll()` is intended for
19
+ * exports and power users.
20
+ */
21
+ listAll() {
22
+ return this.client.request({
23
+ method: "GET",
24
+ path: "/v1/models/all",
25
+ });
26
+ }
27
+ /**
28
+ * Cursor-paginated search across the full catalog with filters for
29
+ * modality, provider, price ceiling, context window minimum, and
30
+ * streaming support.
31
+ */
32
+ search(input = {}) {
33
+ return this.client.request({
34
+ method: "POST",
35
+ path: "/v1/models/search",
36
+ body: input,
37
+ });
38
+ }
39
+ get(modelId) {
40
+ return this.client.request({
41
+ method: "GET",
42
+ path: `/v1/models/${encodeURIComponent(modelId)}`,
43
+ });
44
+ }
45
+ getParams(modelId) {
46
+ return this.client.request({
47
+ method: "GET",
48
+ path: `/v1/models/${encodeURIComponent(modelId)}/params`,
49
+ });
50
+ }
51
+ }
52
+ //# sourceMappingURL=models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/resources/models.ts"],"names":[],"mappings":"AASA,MAAM,OAAO,cAAc;IACM;IAA7B,YAA6B,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;IAAG,CAAC;IAEnD;;;OAGG;IACH,IAAI;QACA,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAoB;YAC1C,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,YAAY;SACrB,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACH,OAAO;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAoB;YAC1C,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,gBAAgB;SACzB,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,QAA0B,EAAE;QAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAsB;YAC5C,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,mBAAmB;YACzB,IAAI,EAAE,KAAK;SACd,CAAC,CAAC;IACP,CAAC;IAED,GAAG,CAAC,OAAe;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAQ;YAC9B,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,cAAc,kBAAkB,CAAC,OAAO,CAAC,EAAE;SACpD,CAAC,CAAC;IACP,CAAC;IAED,SAAS,CAAC,OAAe;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAsB;YAC5C,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,cAAc,kBAAkB,CAAC,OAAO,CAAC,SAAS;SAC3D,CAAC,CAAC;IACP,CAAC;CACJ"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Webhook signature verification.
3
+ *
4
+ * Compose delivery uses a Stripe-style signature header:
5
+ * `X-Compose-Signature: t=<unix>,v1=<hex>`
6
+ * where `v1` is `HMAC-SHA256(timestamp + "." + payload, secret)`.
7
+ *
8
+ * `verify()` is a constant-time comparison.
9
+ */
10
+ export interface ComposeWebhookEvent<T = unknown> {
11
+ id?: string;
12
+ type: string;
13
+ timestamp: number;
14
+ data: T;
15
+ }
16
+ export interface VerifyWebhookInput {
17
+ body: string;
18
+ signature: string;
19
+ secret: string;
20
+ /** Max allowed skew between `t` and now, in seconds. Default 300 (5 min). */
21
+ toleranceSeconds?: number;
22
+ }
23
+ export declare class WebhooksResource {
24
+ verify(input: VerifyWebhookInput): Promise<boolean>;
25
+ constructEvent<T = unknown>(input: VerifyWebhookInput): Promise<ComposeWebhookEvent<T>>;
26
+ }
27
+ //# sourceMappingURL=webhooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../../src/resources/webhooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,WAAW,mBAAmB,CAAC,CAAC,GAAG,OAAO;IAC5C,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,CAAC,CAAC;CACX;AAED,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,6EAA6E;IAC7E,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,qBAAa,gBAAgB;IACnB,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IAgBnD,cAAc,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;CAShG"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Webhook signature verification.
3
+ *
4
+ * Compose delivery uses a Stripe-style signature header:
5
+ * `X-Compose-Signature: t=<unix>,v1=<hex>`
6
+ * where `v1` is `HMAC-SHA256(timestamp + "." + payload, secret)`.
7
+ *
8
+ * `verify()` is a constant-time comparison.
9
+ */
10
+ export class WebhooksResource {
11
+ async verify(input) {
12
+ const parsed = parseSignatureHeader(input.signature);
13
+ if (!parsed)
14
+ return false;
15
+ const now = Math.floor(Date.now() / 1000);
16
+ const tolerance = input.toleranceSeconds ?? 300;
17
+ if (Math.abs(now - parsed.timestamp) > tolerance)
18
+ return false;
19
+ const expected = await hmacSha256Hex(input.secret, `${parsed.timestamp}.${input.body}`);
20
+ return timingSafeEqualHex(expected, parsed.v1);
21
+ }
22
+ async constructEvent(input) {
23
+ const ok = await this.verify(input);
24
+ if (!ok) {
25
+ const error = new Error("Invalid webhook signature");
26
+ error.name = "ComposeWebhookSignatureError";
27
+ throw error;
28
+ }
29
+ return JSON.parse(input.body);
30
+ }
31
+ }
32
+ function parseSignatureHeader(header) {
33
+ const parts = header.split(",");
34
+ let timestamp = null;
35
+ let v1 = null;
36
+ for (const part of parts) {
37
+ const [rawKey, ...rawValue] = part.split("=");
38
+ const key = rawKey.trim();
39
+ const value = rawValue.join("=").trim();
40
+ if (key === "t") {
41
+ timestamp = parseInt(value, 10);
42
+ }
43
+ else if (key === "v1") {
44
+ v1 = value;
45
+ }
46
+ }
47
+ if (timestamp === null || !Number.isFinite(timestamp) || !v1)
48
+ return null;
49
+ return { timestamp, v1 };
50
+ }
51
+ async function hmacSha256Hex(secret, message) {
52
+ const cryptoObj = globalThis.crypto;
53
+ const subtle = cryptoObj?.subtle;
54
+ if (!subtle) {
55
+ throw new Error("WebCrypto SubtleCrypto is required for webhook verification");
56
+ }
57
+ const encoder = new TextEncoder();
58
+ const key = await subtle.importKey("raw", encoder.encode(secret), { name: "HMAC", hash: "SHA-256" }, false, ["sign"]);
59
+ const signature = await subtle.sign("HMAC", key, encoder.encode(message));
60
+ return toHex(new Uint8Array(signature));
61
+ }
62
+ function toHex(bytes) {
63
+ const out = [];
64
+ for (let i = 0; i < bytes.length; i += 1) {
65
+ out.push(bytes[i].toString(16).padStart(2, "0"));
66
+ }
67
+ return out.join("");
68
+ }
69
+ function timingSafeEqualHex(a, b) {
70
+ if (a.length !== b.length)
71
+ return false;
72
+ let result = 0;
73
+ for (let i = 0; i < a.length; i += 1) {
74
+ result |= a.charCodeAt(i) ^ b.charCodeAt(i);
75
+ }
76
+ return result === 0;
77
+ }
78
+ //# sourceMappingURL=webhooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../src/resources/webhooks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import type { APIPromise, HttpClient } from "../http.js";
2
+ import type { ComposeReceipt, FacilitatorChainsResponse, FacilitatorSupportedResponse, PaymentPayload, PaymentRequired, PaymentRequirements, SettleResponse, VerifyResponse } from "../types/index.js";
3
+ export declare class FacilitatorResource {
4
+ private readonly client;
5
+ constructor(client: HttpClient);
6
+ supported(): APIPromise<FacilitatorSupportedResponse>;
7
+ chains(): APIPromise<FacilitatorChainsResponse>;
8
+ verify(body: {
9
+ x402Version: 2;
10
+ paymentPayload: PaymentPayload;
11
+ paymentRequirements: PaymentRequirements;
12
+ }): APIPromise<VerifyResponse>;
13
+ settle(body: {
14
+ x402Version: 2;
15
+ paymentPayload: PaymentPayload;
16
+ paymentRequirements: PaymentRequirements;
17
+ }): APIPromise<SettleResponse>;
18
+ }
19
+ export declare class X402Resource {
20
+ readonly facilitator: FacilitatorResource;
21
+ constructor(client: HttpClient);
22
+ /**
23
+ * Decode the base64-url PAYMENT-REQUIRED header into a typed
24
+ * `PaymentRequired` body. Throws on malformed input.
25
+ */
26
+ decodePaymentRequired(headerValue: string): PaymentRequired;
27
+ /**
28
+ * Decode the base64-url PAYMENT-RESPONSE header into a typed
29
+ * `SettleResponse` body. Throws on malformed input.
30
+ */
31
+ decodePaymentResponse(headerValue: string): SettleResponse;
32
+ /**
33
+ * Decode the base64-url X-Compose-Receipt header. Throws on malformed input.
34
+ */
35
+ decodeReceipt(headerValue: string): ComposeReceipt;
36
+ }
37
+ //# sourceMappingURL=x402.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"x402.d.ts","sourceRoot":"","sources":["../../src/resources/x402.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,KAAK,EACR,cAAc,EACd,yBAAyB,EACzB,4BAA4B,EAC5B,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,cAAc,EACd,cAAc,EACjB,MAAM,mBAAmB,CAAC;AAe3B,qBAAa,mBAAmB;IAChB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,UAAU;IAE/C,SAAS,IAAI,UAAU,CAAC,4BAA4B,CAAC;IAOrD,MAAM,IAAI,UAAU,CAAC,yBAAyB,CAAC;IAO/C,MAAM,CAAC,IAAI,EAAE;QAAE,WAAW,EAAE,CAAC,CAAC;QAAC,cAAc,EAAE,cAAc,CAAC;QAAC,mBAAmB,EAAE,mBAAmB,CAAA;KAAE,GAAG,UAAU,CAAC,cAAc,CAAC;IAQtI,MAAM,CAAC,IAAI,EAAE;QAAE,WAAW,EAAE,CAAC,CAAC;QAAC,cAAc,EAAE,cAAc,CAAC;QAAC,mBAAmB,EAAE,mBAAmB,CAAA;KAAE,GAAG,UAAU,CAAC,cAAc,CAAC;CAOzI;AAED,qBAAa,YAAY;IACrB,QAAQ,CAAC,WAAW,EAAE,mBAAmB,CAAC;gBAE9B,MAAM,EAAE,UAAU;IAI9B;;;OAGG;IACH,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,eAAe;IAI3D;;;OAGG;IACH,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,cAAc;IAI1D;;OAEG;IACH,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,cAAc;CAGrD"}
@@ -0,0 +1,72 @@
1
+ import { decodeReceiptHeader } from "../streaming/receipt.js";
2
+ function base64UrlDecode(value) {
3
+ const normalized = value.replace(/-/g, "+").replace(/_/g, "/");
4
+ const padding = normalized.length % 4 === 0 ? "" : "=".repeat(4 - (normalized.length % 4));
5
+ if (typeof globalThis.atob === "function") {
6
+ const binary = globalThis.atob(normalized + padding);
7
+ const bytes = new Uint8Array(binary.length);
8
+ for (let i = 0; i < binary.length; i += 1)
9
+ bytes[i] = binary.charCodeAt(i);
10
+ return new TextDecoder("utf-8").decode(bytes);
11
+ }
12
+ return Buffer.from(normalized + padding, "base64").toString("utf-8");
13
+ }
14
+ export class FacilitatorResource {
15
+ client;
16
+ constructor(client) {
17
+ this.client = client;
18
+ }
19
+ supported() {
20
+ return this.client.request({
21
+ method: "GET",
22
+ path: "/api/x402/facilitator/supported",
23
+ });
24
+ }
25
+ chains() {
26
+ return this.client.request({
27
+ method: "GET",
28
+ path: "/api/x402/facilitator/chains",
29
+ });
30
+ }
31
+ verify(body) {
32
+ return this.client.request({
33
+ method: "POST",
34
+ path: "/api/x402/facilitator/verify",
35
+ body,
36
+ });
37
+ }
38
+ settle(body) {
39
+ return this.client.request({
40
+ method: "POST",
41
+ path: "/api/x402/facilitator/settle",
42
+ body,
43
+ });
44
+ }
45
+ }
46
+ export class X402Resource {
47
+ facilitator;
48
+ constructor(client) {
49
+ this.facilitator = new FacilitatorResource(client);
50
+ }
51
+ /**
52
+ * Decode the base64-url PAYMENT-REQUIRED header into a typed
53
+ * `PaymentRequired` body. Throws on malformed input.
54
+ */
55
+ decodePaymentRequired(headerValue) {
56
+ return JSON.parse(base64UrlDecode(headerValue));
57
+ }
58
+ /**
59
+ * Decode the base64-url PAYMENT-RESPONSE header into a typed
60
+ * `SettleResponse` body. Throws on malformed input.
61
+ */
62
+ decodePaymentResponse(headerValue) {
63
+ return JSON.parse(base64UrlDecode(headerValue));
64
+ }
65
+ /**
66
+ * Decode the base64-url X-Compose-Receipt header. Throws on malformed input.
67
+ */
68
+ decodeReceipt(headerValue) {
69
+ return decodeReceiptHeader(headerValue);
70
+ }
71
+ }
72
+ //# sourceMappingURL=x402.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"x402.js","sourceRoot":"","sources":["../../src/resources/x402.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,SAAS,eAAe,CAAC,KAAa;IAClC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3F,IAAI,OAAO,UAAU,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,CAAC;QACrD,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC;YAAE,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC3E,OAAO,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,GAAG,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,OAAO,mBAAmB;IACC;IAA7B,YAA6B,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;IAAG,CAAC;IAEnD,SAAS;QACL,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAA+B;YACrD,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,iCAAiC;SAC1C,CAAC,CAAC;IACP,CAAC;IAED,MAAM;QACF,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAA4B;YAClD,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,8BAA8B;SACvC,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,IAAkG;QACrG,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAiB;YACvC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,8BAA8B;YACpC,IAAI;SACP,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,IAAkG;QACrG,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAiB;YACvC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,8BAA8B;YACpC,IAAI;SACP,CAAC,CAAC;IACP,CAAC;CACJ;AAED,MAAM,OAAO,YAAY;IACZ,WAAW,CAAsB;IAE1C,YAAY,MAAkB;QAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACvD,CAAC;IAED;;;OAGG;IACH,qBAAqB,CAAC,WAAmB;QACrC,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,WAAW,CAAC,CAAoB,CAAC;IACvE,CAAC;IAED;;;OAGG;IACH,qBAAqB,CAAC,WAAmB;QACrC,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,WAAW,CAAC,CAAmB,CAAC;IACtE,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,WAAmB;QAC7B,OAAO,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAC5C,CAAC;CACJ"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Receipt helpers.
3
+ *
4
+ * `X-Compose-Receipt` is a url-safe base64 blob carrying an authoritative
5
+ * settlement breakdown. The same shape is also emitted in streams as an SSE
6
+ * `event: compose.receipt` frame and echoed as `compose_receipt` in JSON
7
+ * response bodies.
8
+ */
9
+ import type { ComposeReceipt } from "../types/index.js";
10
+ export declare const RECEIPT_HEADER_NAMES: readonly ["x-compose-receipt", "X-Compose-Receipt"];
11
+ export declare function decodeReceiptHeader(value: string): ComposeReceipt;
12
+ /**
13
+ * Extract a receipt from a Fetch `Response`. Preference order:
14
+ * 1. `X-Compose-Receipt` header (binary truth)
15
+ * 2. `compose_receipt` field on the JSON body (fallback mirror)
16
+ */
17
+ export declare function extractReceiptFromResponse(response: {
18
+ headers: Headers;
19
+ }, body?: Record<string, unknown> | null): ComposeReceipt | null;
20
+ /**
21
+ * Parse the payload of an SSE `event: compose.receipt` frame. Throws on
22
+ * malformed JSON so callers can abort the stream consumer.
23
+ */
24
+ export declare function parseReceiptEvent(data: string): ComposeReceipt;
25
+ //# sourceMappingURL=receipt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"receipt.d.ts","sourceRoot":"","sources":["../../src/streaming/receipt.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,eAAO,MAAM,oBAAoB,qDAAsD,CAAC;AAmBxF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,CAEjE;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CACtC,QAAQ,EAAE;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,EAC9B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GACtC,cAAc,GAAG,IAAI,CAevB;AAuBD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAoB9D"}