listbee-mcp 0.1.0 → 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.
package/README.md CHANGED
@@ -91,6 +91,30 @@ npx listbee-mcp --api-key lb_...
91
91
 
92
92
  ---
93
93
 
94
+ ## Remote / HTTP Transport
95
+
96
+ For hosted deployments (ChatGPT Apps, Claude API Connector, remote agents):
97
+
98
+ ```bash
99
+ npx listbee-mcp --transport http --port 3000
100
+ ```
101
+
102
+ Each connecting agent provides their API key via `Authorization: Bearer` header.
103
+
104
+ ### Docker
105
+
106
+ ```bash
107
+ docker build -t listbee-mcp .
108
+ docker run -p 8080:8080 listbee-mcp
109
+ ```
110
+
111
+ ### Health Checks
112
+
113
+ - `GET /health` — basic liveness
114
+ - `GET /ready` — confirms tools are loaded
115
+
116
+ ---
117
+
94
118
  ## Options
95
119
 
96
120
  | Flag | Env var | Default | Description |
@@ -0,0 +1,8 @@
1
+ export interface ToolMeta {
2
+ operationId: string;
3
+ method: string;
4
+ path: string;
5
+ description: string;
6
+ }
7
+ export declare const meta: Record<string, ToolMeta>;
8
+ //# sourceMappingURL=meta.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../src/generated/meta.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,QAAQ;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAqFzC,CAAC"}
@@ -0,0 +1,93 @@
1
+ // GENERATED FILE — DO NOT EDIT
2
+ // source: openapi.json + mcp-tools.yaml
3
+ // Regenerate with: npm run generate
4
+ // openapi_version: 1.0.0
5
+ // generated_at: 2026-04-04T08:59:20.578Z
6
+ // sha256: ee6f36c905b901043775ebb7410bdfb2124769831b2c4b79ee05a7b702ff8b94
7
+ export const meta = {
8
+ create_listing: {
9
+ operationId: "create_listing",
10
+ method: "POST",
11
+ path: "/v1/listings",
12
+ description: "Create a new listing for sale. Returns a checkout URL and readiness status.",
13
+ },
14
+ delete_listing: {
15
+ operationId: "delete_listing",
16
+ method: "DELETE",
17
+ path: "/v1/listings/{listing_id}",
18
+ description: "Delete a listing by ID and its stored content. Irreversible.",
19
+ },
20
+ deliver_order: {
21
+ operationId: "deliver_order",
22
+ method: "POST",
23
+ path: "/v1/orders/{order_id}/deliver",
24
+ description: "Push digital content to a buyer for an external fulfillment order. Not needed for managed delivery — ListBee handles that automatically.",
25
+ },
26
+ get_listing: {
27
+ operationId: "get_listing",
28
+ method: "GET",
29
+ path: "/v1/listings/{listing_id}",
30
+ description: "Get a listing's full state including readiness. This is the readiness inspection tool — call it after every change to check what's needed.",
31
+ },
32
+ get_order: {
33
+ operationId: "get_order",
34
+ method: "GET",
35
+ path: "/v1/orders/{order_id}",
36
+ description: "Get a single order by ID. Order lifecycle: PENDING → PAID → FULFILLED. Managed listings auto-fulfill. External listings require fulfill() or ship() after payment.",
37
+ },
38
+ list_listings: {
39
+ operationId: "list_listings",
40
+ method: "GET",
41
+ path: "/v1/listings",
42
+ description: "List all listings for the authenticated account. Filter by status. Cursor-paginated. Each listing includes readiness — check readiness.sellable to see if it can accept orders.",
43
+ },
44
+ list_orders: {
45
+ operationId: "list_orders",
46
+ method: "GET",
47
+ path: "/v1/orders",
48
+ description: "List orders for the authenticated account. Filter by status, listing, and date range. Paginated. Order lifecycle: PENDING (checkout started, buyer data captured) → PAID (payment confirmed, order.paid webhook fires) → FULFILLED (content delivered or goods shipped). Terminal states: CANCELED (payment failed or abandoned), FAILED (system error). Managed listings auto-fulfill on payment. External listings stay in PAID until the seller calls fulfill() or ship().",
49
+ },
50
+ publish_listing: {
51
+ operationId: "publish_listing",
52
+ method: "POST",
53
+ path: "/v1/listings/{listing_id}/publish",
54
+ description: "Publish a listing so buyers can access the product page. Only works when readiness.publishable is true.",
55
+ },
56
+ remove_deliverables: {
57
+ operationId: "remove_deliverables",
58
+ method: "DELETE",
59
+ path: "/v1/listings/{listing_id}/deliverables",
60
+ description: "Remove all deliverables from a draft listing. Demotes the listing to external fulfillment. Draft only — returns 409 if the listing is published or paused.",
61
+ },
62
+ set_deliverables: {
63
+ operationId: "set_deliverables",
64
+ method: "PUT",
65
+ path: "/v1/listings/{listing_id}/deliverables",
66
+ description: "Set digital deliverables (files, URLs, or text) on a listing. Required for managed fulfillment mode.",
67
+ },
68
+ ship_order: {
69
+ operationId: "ship_order",
70
+ method: "POST",
71
+ path: "/v1/orders/{order_id}/ship",
72
+ description: "Record shipping info (carrier + tracking code) and transition order to FULFILLED. Only valid for external fulfillment orders. Idempotent with same tracking code.",
73
+ },
74
+ start_stripe_connect: {
75
+ operationId: "start_stripe_connect",
76
+ method: "POST",
77
+ path: "/v1/account/stripe/connect",
78
+ description: "Start Stripe Connect onboarding. Returns a URL for the human to complete in a browser. Required before selling through Stripe.",
79
+ },
80
+ update_listing: {
81
+ operationId: "update_listing",
82
+ method: "PUT",
83
+ path: "/v1/listings/{listing_id}",
84
+ description: "Update listing fields. Slug can be changed while in draft status — input is slugified, conflicts get a random suffix. Returns updated listing with readiness.",
85
+ },
86
+ upload_file: {
87
+ operationId: "upload_file",
88
+ method: "POST",
89
+ path: "/v1/files",
90
+ description: "Fetches the file from the URL and uploads it to ListBee. Only use with URLs the user has provided or that you trust.",
91
+ },
92
+ };
93
+ //# sourceMappingURL=meta.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meta.js","sourceRoot":"","sources":["../../src/generated/meta.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,wCAAwC;AACxC,oCAAoC;AACpC,yBAAyB;AACzB,yCAAyC;AACzC,2EAA2E;AAS3E,MAAM,CAAC,MAAM,IAAI,GAA6B;IAC5C,cAAc,EAAE;QACd,WAAW,EAAE,gBAAgB;QAC7B,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,6EAA6E;KAC3F;IACD,cAAc,EAAE;QACd,WAAW,EAAE,gBAAgB;QAC7B,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,2BAA2B;QACjC,WAAW,EAAE,8DAA8D;KAC5E;IACD,aAAa,EAAE;QACb,WAAW,EAAE,eAAe;QAC5B,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,+BAA+B;QACrC,WAAW,EAAE,0IAA0I;KACxJ;IACD,WAAW,EAAE;QACX,WAAW,EAAE,aAAa;QAC1B,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,2BAA2B;QACjC,WAAW,EAAE,4IAA4I;KAC1J;IACD,SAAS,EAAE;QACT,WAAW,EAAE,WAAW;QACxB,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EAAE,oKAAoK;KAClL;IACD,aAAa,EAAE;QACb,WAAW,EAAE,eAAe;QAC5B,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,iLAAiL;KAC/L;IACD,WAAW,EAAE;QACX,WAAW,EAAE,aAAa;QAC1B,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,+cAA+c;KAC7d;IACD,eAAe,EAAE;QACf,WAAW,EAAE,iBAAiB;QAC9B,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,mCAAmC;QACzC,WAAW,EAAE,yGAAyG;KACvH;IACD,mBAAmB,EAAE;QACnB,WAAW,EAAE,qBAAqB;QAClC,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,wCAAwC;QAC9C,WAAW,EAAE,4JAA4J;KAC1K;IACD,gBAAgB,EAAE;QAChB,WAAW,EAAE,kBAAkB;QAC/B,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,wCAAwC;QAC9C,WAAW,EAAE,sGAAsG;KACpH;IACD,UAAU,EAAE;QACV,WAAW,EAAE,YAAY;QACzB,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,4BAA4B;QAClC,WAAW,EAAE,mKAAmK;KACjL;IACD,oBAAoB,EAAE;QACpB,WAAW,EAAE,sBAAsB;QACnC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,4BAA4B;QAClC,WAAW,EAAE,gIAAgI;KAC9I;IACD,cAAc,EAAE;QACd,WAAW,EAAE,gBAAgB;QAC7B,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,2BAA2B;QACjC,WAAW,EAAE,+JAA+J;KAC7K;IACD,WAAW,EAAE;QACX,WAAW,EAAE,aAAa;QAC1B,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,sHAAsH;KACpI;CACF,CAAC"}
@@ -0,0 +1,381 @@
1
+ import { z } from "zod";
2
+ export declare const schemas: {
3
+ readonly create_listing: z.ZodObject<{
4
+ checkout_schema: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodObject<{
5
+ key: z.ZodString;
6
+ type: z.ZodEnum<["address", "text", "select", "date"]>;
7
+ label: z.ZodString;
8
+ required: z.ZodDefault<z.ZodBoolean>;
9
+ options: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodNull]>>;
10
+ }, "strip", z.ZodTypeAny, {
11
+ type: "text" | "date" | "address" | "select";
12
+ key: string;
13
+ label: string;
14
+ required: boolean;
15
+ options?: string[] | null | undefined;
16
+ }, {
17
+ type: "text" | "date" | "address" | "select";
18
+ key: string;
19
+ label: string;
20
+ options?: string[] | null | undefined;
21
+ required?: boolean | undefined;
22
+ }>, "many">, z.ZodNull]>>;
23
+ name: z.ZodString;
24
+ price: z.ZodNumber;
25
+ description: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
26
+ tagline: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
27
+ highlights: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodNull]>>;
28
+ cta: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
29
+ cover_url: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
30
+ metadata: z.ZodOptional<z.ZodUnion<[z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodNull]>>;
31
+ utm_source: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
32
+ utm_medium: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
33
+ utm_campaign: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
34
+ compare_at_price: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodNull]>>;
35
+ badges: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodNull]>>;
36
+ cover_blur: z.ZodOptional<z.ZodEnum<["true", "false", "auto"]>>;
37
+ rating: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodNull]>>;
38
+ rating_count: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodNull]>>;
39
+ reviews: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodObject<{
40
+ name: z.ZodString;
41
+ rating: z.ZodNumber;
42
+ content: z.ZodString;
43
+ }, "strip", z.ZodTypeAny, {
44
+ content: string;
45
+ name: string;
46
+ rating: number;
47
+ }, {
48
+ content: string;
49
+ name: string;
50
+ rating: number;
51
+ }>, "many">, z.ZodNull]>>;
52
+ faqs: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodObject<{
53
+ q: z.ZodString;
54
+ a: z.ZodString;
55
+ }, "strip", z.ZodTypeAny, {
56
+ q: string;
57
+ a: string;
58
+ }, {
59
+ q: string;
60
+ a: string;
61
+ }>, "many">, z.ZodNull]>>;
62
+ }, "strict", z.ZodTypeAny, {
63
+ name: string;
64
+ price: number;
65
+ description?: string | null | undefined;
66
+ checkout_schema?: {
67
+ type: "text" | "date" | "address" | "select";
68
+ key: string;
69
+ label: string;
70
+ required: boolean;
71
+ options?: string[] | null | undefined;
72
+ }[] | null | undefined;
73
+ tagline?: string | null | undefined;
74
+ highlights?: string[] | null | undefined;
75
+ cta?: string | null | undefined;
76
+ cover_url?: string | null | undefined;
77
+ metadata?: Record<string, any> | null | undefined;
78
+ utm_source?: string | null | undefined;
79
+ utm_medium?: string | null | undefined;
80
+ utm_campaign?: string | null | undefined;
81
+ compare_at_price?: number | null | undefined;
82
+ badges?: string[] | null | undefined;
83
+ cover_blur?: "true" | "false" | "auto" | undefined;
84
+ rating?: number | null | undefined;
85
+ rating_count?: number | null | undefined;
86
+ reviews?: {
87
+ content: string;
88
+ name: string;
89
+ rating: number;
90
+ }[] | null | undefined;
91
+ faqs?: {
92
+ q: string;
93
+ a: string;
94
+ }[] | null | undefined;
95
+ }, {
96
+ name: string;
97
+ price: number;
98
+ description?: string | null | undefined;
99
+ checkout_schema?: {
100
+ type: "text" | "date" | "address" | "select";
101
+ key: string;
102
+ label: string;
103
+ options?: string[] | null | undefined;
104
+ required?: boolean | undefined;
105
+ }[] | null | undefined;
106
+ tagline?: string | null | undefined;
107
+ highlights?: string[] | null | undefined;
108
+ cta?: string | null | undefined;
109
+ cover_url?: string | null | undefined;
110
+ metadata?: Record<string, any> | null | undefined;
111
+ utm_source?: string | null | undefined;
112
+ utm_medium?: string | null | undefined;
113
+ utm_campaign?: string | null | undefined;
114
+ compare_at_price?: number | null | undefined;
115
+ badges?: string[] | null | undefined;
116
+ cover_blur?: "true" | "false" | "auto" | undefined;
117
+ rating?: number | null | undefined;
118
+ rating_count?: number | null | undefined;
119
+ reviews?: {
120
+ content: string;
121
+ name: string;
122
+ rating: number;
123
+ }[] | null | undefined;
124
+ faqs?: {
125
+ q: string;
126
+ a: string;
127
+ }[] | null | undefined;
128
+ }>;
129
+ readonly delete_listing: z.ZodObject<{
130
+ listing_id: z.ZodString;
131
+ }, "strict", z.ZodTypeAny, {
132
+ listing_id: string;
133
+ }, {
134
+ listing_id: string;
135
+ }>;
136
+ readonly deliver_order: z.ZodObject<{
137
+ order_id: z.ZodString;
138
+ deliverables: z.ZodArray<z.ZodObject<{
139
+ type: z.ZodEnum<["file", "url", "text"]>;
140
+ token: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
141
+ value: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
142
+ }, "strip", z.ZodTypeAny, {
143
+ type: "url" | "text" | "file";
144
+ value?: string | null | undefined;
145
+ token?: string | null | undefined;
146
+ }, {
147
+ type: "url" | "text" | "file";
148
+ value?: string | null | undefined;
149
+ token?: string | null | undefined;
150
+ }>, "many">;
151
+ }, "strict", z.ZodTypeAny, {
152
+ order_id: string;
153
+ deliverables: {
154
+ type: "url" | "text" | "file";
155
+ value?: string | null | undefined;
156
+ token?: string | null | undefined;
157
+ }[];
158
+ }, {
159
+ order_id: string;
160
+ deliverables: {
161
+ type: "url" | "text" | "file";
162
+ value?: string | null | undefined;
163
+ token?: string | null | undefined;
164
+ }[];
165
+ }>;
166
+ readonly get_listing: z.ZodObject<{
167
+ listing_id: z.ZodString;
168
+ }, "strict", z.ZodTypeAny, {
169
+ listing_id: string;
170
+ }, {
171
+ listing_id: string;
172
+ }>;
173
+ readonly get_order: z.ZodObject<{
174
+ order_id: z.ZodString;
175
+ }, "strict", z.ZodTypeAny, {
176
+ order_id: string;
177
+ }, {
178
+ order_id: string;
179
+ }>;
180
+ readonly list_listings: z.ZodObject<{
181
+ status: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["draft", "published", "paused"]>, z.ZodNull]>>;
182
+ cursor: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
183
+ limit: z.ZodDefault<z.ZodNumber>;
184
+ }, "strict", z.ZodTypeAny, {
185
+ limit: number;
186
+ status?: "draft" | "published" | "paused" | null | undefined;
187
+ cursor?: string | null | undefined;
188
+ }, {
189
+ status?: "draft" | "published" | "paused" | null | undefined;
190
+ cursor?: string | null | undefined;
191
+ limit?: number | undefined;
192
+ }>;
193
+ readonly list_orders: z.ZodObject<{
194
+ status: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["pending", "paid", "fulfilled", "canceled", "failed"]>, z.ZodNull]>>;
195
+ listing: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
196
+ buyer_email: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
197
+ created_after: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
198
+ created_before: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
199
+ cursor: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
200
+ limit: z.ZodDefault<z.ZodNumber>;
201
+ }, "strict", z.ZodTypeAny, {
202
+ limit: number;
203
+ status?: "pending" | "paid" | "fulfilled" | "canceled" | "failed" | null | undefined;
204
+ cursor?: string | null | undefined;
205
+ listing?: string | null | undefined;
206
+ buyer_email?: string | null | undefined;
207
+ created_after?: string | null | undefined;
208
+ created_before?: string | null | undefined;
209
+ }, {
210
+ status?: "pending" | "paid" | "fulfilled" | "canceled" | "failed" | null | undefined;
211
+ cursor?: string | null | undefined;
212
+ limit?: number | undefined;
213
+ listing?: string | null | undefined;
214
+ buyer_email?: string | null | undefined;
215
+ created_after?: string | null | undefined;
216
+ created_before?: string | null | undefined;
217
+ }>;
218
+ readonly publish_listing: z.ZodObject<{
219
+ listing_id: z.ZodString;
220
+ }, "strict", z.ZodTypeAny, {
221
+ listing_id: string;
222
+ }, {
223
+ listing_id: string;
224
+ }>;
225
+ readonly remove_deliverables: z.ZodObject<{
226
+ listing_id: z.ZodString;
227
+ }, "strict", z.ZodTypeAny, {
228
+ listing_id: string;
229
+ }, {
230
+ listing_id: string;
231
+ }>;
232
+ readonly set_deliverables: z.ZodObject<{
233
+ listing_id: z.ZodString;
234
+ deliverables: z.ZodArray<z.ZodObject<{
235
+ type: z.ZodEnum<["file", "url", "text"]>;
236
+ token: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
237
+ value: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
238
+ }, "strip", z.ZodTypeAny, {
239
+ type: "url" | "text" | "file";
240
+ value?: string | null | undefined;
241
+ token?: string | null | undefined;
242
+ }, {
243
+ type: "url" | "text" | "file";
244
+ value?: string | null | undefined;
245
+ token?: string | null | undefined;
246
+ }>, "many">;
247
+ }, "strict", z.ZodTypeAny, {
248
+ listing_id: string;
249
+ deliverables: {
250
+ type: "url" | "text" | "file";
251
+ value?: string | null | undefined;
252
+ token?: string | null | undefined;
253
+ }[];
254
+ }, {
255
+ listing_id: string;
256
+ deliverables: {
257
+ type: "url" | "text" | "file";
258
+ value?: string | null | undefined;
259
+ token?: string | null | undefined;
260
+ }[];
261
+ }>;
262
+ readonly ship_order: z.ZodObject<{
263
+ order_id: z.ZodString;
264
+ carrier: z.ZodString;
265
+ tracking_code: z.ZodString;
266
+ seller_note: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
267
+ }, "strict", z.ZodTypeAny, {
268
+ order_id: string;
269
+ carrier: string;
270
+ tracking_code: string;
271
+ seller_note?: string | null | undefined;
272
+ }, {
273
+ order_id: string;
274
+ carrier: string;
275
+ tracking_code: string;
276
+ seller_note?: string | null | undefined;
277
+ }>;
278
+ readonly start_stripe_connect: null;
279
+ readonly update_listing: z.ZodObject<{
280
+ listing_id: z.ZodString;
281
+ name: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
282
+ slug: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
283
+ price: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodNull]>>;
284
+ description: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
285
+ tagline: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
286
+ highlights: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodNull]>>;
287
+ cta: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
288
+ cover_url: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
289
+ metadata: z.ZodOptional<z.ZodUnion<[z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodNull]>>;
290
+ utm_source: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
291
+ utm_medium: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
292
+ utm_campaign: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
293
+ compare_at_price: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodNull]>>;
294
+ badges: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodNull]>>;
295
+ cover_blur: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["true", "false", "auto"]>, z.ZodNull]>>;
296
+ rating: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodNull]>>;
297
+ rating_count: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodNull]>>;
298
+ reviews: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodObject<{
299
+ name: z.ZodString;
300
+ rating: z.ZodNumber;
301
+ content: z.ZodString;
302
+ }, "strip", z.ZodTypeAny, {
303
+ content: string;
304
+ name: string;
305
+ rating: number;
306
+ }, {
307
+ content: string;
308
+ name: string;
309
+ rating: number;
310
+ }>, "many">, z.ZodNull]>>;
311
+ faqs: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodObject<{
312
+ q: z.ZodString;
313
+ a: z.ZodString;
314
+ }, "strip", z.ZodTypeAny, {
315
+ q: string;
316
+ a: string;
317
+ }, {
318
+ q: string;
319
+ a: string;
320
+ }>, "many">, z.ZodNull]>>;
321
+ }, "strict", z.ZodTypeAny, {
322
+ listing_id: string;
323
+ description?: string | null | undefined;
324
+ name?: string | null | undefined;
325
+ price?: number | null | undefined;
326
+ tagline?: string | null | undefined;
327
+ highlights?: string[] | null | undefined;
328
+ cta?: string | null | undefined;
329
+ cover_url?: string | null | undefined;
330
+ metadata?: Record<string, any> | null | undefined;
331
+ utm_source?: string | null | undefined;
332
+ utm_medium?: string | null | undefined;
333
+ utm_campaign?: string | null | undefined;
334
+ compare_at_price?: number | null | undefined;
335
+ badges?: string[] | null | undefined;
336
+ cover_blur?: "true" | "false" | "auto" | null | undefined;
337
+ rating?: number | null | undefined;
338
+ rating_count?: number | null | undefined;
339
+ reviews?: {
340
+ content: string;
341
+ name: string;
342
+ rating: number;
343
+ }[] | null | undefined;
344
+ faqs?: {
345
+ q: string;
346
+ a: string;
347
+ }[] | null | undefined;
348
+ slug?: string | null | undefined;
349
+ }, {
350
+ listing_id: string;
351
+ description?: string | null | undefined;
352
+ name?: string | null | undefined;
353
+ price?: number | null | undefined;
354
+ tagline?: string | null | undefined;
355
+ highlights?: string[] | null | undefined;
356
+ cta?: string | null | undefined;
357
+ cover_url?: string | null | undefined;
358
+ metadata?: Record<string, any> | null | undefined;
359
+ utm_source?: string | null | undefined;
360
+ utm_medium?: string | null | undefined;
361
+ utm_campaign?: string | null | undefined;
362
+ compare_at_price?: number | null | undefined;
363
+ badges?: string[] | null | undefined;
364
+ cover_blur?: "true" | "false" | "auto" | null | undefined;
365
+ rating?: number | null | undefined;
366
+ rating_count?: number | null | undefined;
367
+ reviews?: {
368
+ content: string;
369
+ name: string;
370
+ rating: number;
371
+ }[] | null | undefined;
372
+ faqs?: {
373
+ q: string;
374
+ a: string;
375
+ }[] | null | undefined;
376
+ slug?: string | null | undefined;
377
+ }>;
378
+ readonly upload_file: null;
379
+ };
380
+ export type SchemaMap = typeof schemas;
381
+ //# sourceMappingURL=schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/generated/schemas.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAeV,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,OAAO,OAAO,CAAC"}
@@ -0,0 +1,25 @@
1
+ // GENERATED FILE — DO NOT EDIT
2
+ // source: openapi.json + mcp-tools.yaml
3
+ // Regenerate with: npm run generate
4
+ // openapi_version: 1.0.0
5
+ // generated_at: 2026-04-04T08:59:20.578Z
6
+ // sha256: ee6f36c905b901043775ebb7410bdfb2124769831b2c4b79ee05a7b702ff8b94
7
+ import { z } from "zod";
8
+ // Tool name → Zod schema (null means the tool takes no inputs)
9
+ export const schemas = {
10
+ create_listing: z.object({ "checkout_schema": z.union([z.array(z.object({ "key": z.string().max(50).describe("Unique key for this field"), "type": z.enum(["address", "text", "select", "date"]).describe("Types of fields that can be collected at checkout."), "label": z.string().max(100).describe("Label shown to buyer"), "required": z.boolean().describe("Whether this field is required").default(true), "options": z.union([z.array(z.string()).max(50), z.null()]).describe("Options for select fields").optional() }).describe("A field to collect from the buyer at checkout.")), z.null()]).describe("Custom fields to collect from the buyer at checkout (e.g. size, color, shipping address). Email is always collected.").optional(), "name": z.string().describe("Product name shown on the product page"), "price": z.number().int().gt(0).describe("Price in smallest currency unit (e.g. 2900 = $29.00)"), "description": z.union([z.string().max(5000), z.null()]).describe("Longer product description, plain text").optional(), "tagline": z.union([z.string().max(140), z.null()]).describe("Short line below the name").optional(), "highlights": z.union([z.array(z.string()), z.null()]).describe("Bullet-point feature badges. Keeps first 10 if more are provided").optional(), "cta": z.union([z.string().max(60), z.null()]).describe("Buy button text. Defaults to \"Buy Now\"").optional(), "cover_url": z.union([z.string().url().min(1).max(2083), z.null()]).describe("Fetched and stored on CDN. If omitted, auto-generated from content type").optional(), "metadata": z.union([z.record(z.any()), z.null()]).describe("Arbitrary key-value pairs forwarded in webhook events. Use for your own tracking").optional(), "utm_source": z.union([z.string().max(100), z.null()]).describe("UTM source tag for Google Analytics. Defaults to 'listbee' if omitted").optional(), "utm_medium": z.union([z.string().max(100), z.null()]).describe("UTM medium tag for Google Analytics. Defaults to 'product_page' if omitted").optional(), "utm_campaign": z.union([z.string().max(100), z.null()]).describe("UTM campaign tag for Google Analytics. Defaults to the listing slug if omitted").optional(), "compare_at_price": z.union([z.number().int().gt(0), z.null()]).describe("Strikethrough price in smallest currency unit. Must be greater than `price`").optional(), "badges": z.union([z.array(z.string()), z.null()]).describe("Short promotional badges. Keeps first 10 if more are provided").optional(), "cover_blur": z.enum(["true", "false", "auto"]).optional(), "rating": z.union([z.number(), z.null()]).describe("Seller-provided aggregate star rating (1–5). Values outside this range are clamped automatically").optional(), "rating_count": z.union([z.number().int().gte(0), z.null()]).describe("Seller-provided review or purchase count, shown alongside the rating").optional(), "reviews": z.union([z.array(z.object({ "name": z.string().max(100).describe("Reviewer display name"), "rating": z.number().describe("Star rating (1–5). Values outside this range are clamped automatically"), "content": z.string().max(1000).describe("Review body text") })), z.null()]).describe("Featured review cards. Keeps first 10 if more are provided").optional(), "faqs": z.union([z.array(z.object({ "q": z.string().max(200).describe("Question text"), "a": z.string().max(1000).describe("Answer text") })), z.null()]).describe("FAQ accordion items. Keeps first 10 if more are provided").optional() }).describe("All optional display fields (name, description, tagline, highlights, cta, badges, cover, reviews, faqs) appear on the product page buyers see.").strict(),
11
+ delete_listing: z.object({ "listing_id": z.string().describe("Listing ID (lst_ prefixed).") }).strict(),
12
+ deliver_order: z.object({ "order_id": z.string().describe("Order ID."), "deliverables": z.array(z.object({ "type": z.enum(["file", "url", "text"]), "token": z.union([z.string(), z.null()]).describe("File token from POST /v1/files. Required when type is `file`.").optional(), "value": z.union([z.string(), z.null()]).describe("URL (https required) or text content. Required when type is `url` or `text`.").optional() }).describe("Typed deliverable input. Shared by PUT /deliverables and POST /deliver.")).describe("Array of deliverables to attach. Max 3. Mixed types allowed.") }).strict(),
13
+ get_listing: z.object({ "listing_id": z.string().describe("Listing ID (lst_ prefixed).") }).strict(),
14
+ get_order: z.object({ "order_id": z.string().describe("Order ID.") }).strict(),
15
+ list_listings: z.object({ "status": z.union([z.enum(["draft", "published", "paused"]), z.null()]).describe("Filter by listing status.").optional(), "cursor": z.union([z.string(), z.null()]).describe("Pagination cursor from a previous response.").optional(), "limit": z.number().int().gte(1).lte(100).describe("Maximum number of listings to return.").default(20) }).strict(),
16
+ list_orders: z.object({ "status": z.union([z.enum(["pending", "paid", "fulfilled", "canceled", "failed"]), z.null()]).describe("Filter orders by status.").optional(), "listing": z.union([z.string(), z.null()]).describe("Filter by listing ID (lst_ prefixed).").optional(), "buyer_email": z.union([z.string(), z.null()]).describe("Filter by exact buyer email address.").optional(), "created_after": z.union([z.string().datetime({ offset: true }), z.null()]).describe("Only orders created after this ISO 8601 datetime.").optional(), "created_before": z.union([z.string().datetime({ offset: true }), z.null()]).describe("Only orders created before this ISO 8601 datetime.").optional(), "cursor": z.union([z.string(), z.null()]).describe("Pagination cursor from a previous response.").optional(), "limit": z.number().int().gte(1).lte(100).describe("Maximum number of orders to return.").default(20) }).strict(),
17
+ publish_listing: z.object({ "listing_id": z.string().describe("Listing ID (lst_ prefixed).") }).strict(),
18
+ remove_deliverables: z.object({ "listing_id": z.string().describe("Listing ID (lst_ prefixed).") }).strict(),
19
+ set_deliverables: z.object({ "listing_id": z.string().describe("Listing ID."), "deliverables": z.array(z.object({ "type": z.enum(["file", "url", "text"]), "token": z.union([z.string(), z.null()]).describe("File token from POST /v1/files. Required when type is `file`.").optional(), "value": z.union([z.string(), z.null()]).describe("URL (https required) or text content. Required when type is `url` or `text`.").optional() }).describe("Typed deliverable input. Shared by PUT /deliverables and POST /deliver.")).describe("Array of deliverables. Max 3. Mixed types allowed.") }).strict(),
20
+ ship_order: z.object({ "order_id": z.string().describe("Order ID."), "carrier": z.string().max(50).describe("Shipping carrier name"), "tracking_code": z.string().max(100).describe("Tracking number"), "seller_note": z.union([z.string().max(500), z.null()]).describe("Note to include with tracking notification").optional() }).strict(),
21
+ start_stripe_connect: null,
22
+ update_listing: z.object({ "listing_id": z.string().describe("Listing ID (lst_ prefixed)."), "name": z.union([z.string(), z.null()]).describe("Product name").optional(), "slug": z.union([z.string().max(80), z.null()]).describe("URL slug for the product page. Only changeable while listing is in draft status. Input is slugified (lowercased, special chars removed). On conflict, a random suffix is appended.").optional(), "price": z.union([z.number().int().gt(0), z.null()]).describe("Price in smallest currency unit").optional(), "description": z.union([z.string().max(5000), z.null()]).describe("Product description").optional(), "tagline": z.union([z.string().max(140), z.null()]).describe("Short line below the name").optional(), "highlights": z.union([z.array(z.string()), z.null()]).describe("Bullet-point features. Keeps first 10").optional(), "cta": z.union([z.string().max(60), z.null()]).describe("Buy button text").optional(), "cover_url": z.union([z.string().url().min(1).max(2083), z.null()]).describe("Cover image URL, fetched and stored on CDN").optional(), "metadata": z.union([z.record(z.any()), z.null()]).describe("Arbitrary key-value pairs").optional(), "utm_source": z.union([z.string().max(100), z.null()]).describe("UTM source tag for Google Analytics").optional(), "utm_medium": z.union([z.string().max(100), z.null()]).describe("UTM medium tag for Google Analytics").optional(), "utm_campaign": z.union([z.string().max(100), z.null()]).describe("UTM campaign tag for Google Analytics").optional(), "compare_at_price": z.union([z.number().int().gt(0), z.null()]).describe("Strikethrough price in smallest currency unit").optional(), "badges": z.union([z.array(z.string()), z.null()]).describe("Promotional badges. Keeps first 10").optional(), "cover_blur": z.union([z.enum(["true", "false", "auto"]), z.null()]).describe("Cover blur mode").optional(), "rating": z.union([z.number(), z.null()]).describe("Aggregate star rating (1-5)").optional(), "rating_count": z.union([z.number().int().gte(0), z.null()]).describe("Review/purchase count").optional(), "reviews": z.union([z.array(z.object({ "name": z.string().max(100).describe("Reviewer display name"), "rating": z.number().describe("Star rating (1–5). Values outside this range are clamped automatically"), "content": z.string().max(1000).describe("Review body text") })), z.null()]).describe("Featured reviews. Keeps first 10").optional(), "faqs": z.union([z.array(z.object({ "q": z.string().max(200).describe("Question text"), "a": z.string().max(1000).describe("Answer text") })), z.null()]).describe("FAQ items. Keeps first 10").optional() }).strict(),
23
+ upload_file: null,
24
+ };
25
+ //# sourceMappingURL=schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/generated/schemas.ts"],"names":[],"mappings":"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"}