@01.software/cli 0.12.0 → 0.13.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/dist/index.js +635 -281
- package/dist/index.js.map +1 -1
- package/dist/mcp/.01-cli-mcp-build.json +1 -1
- package/dist/mcp/{chunk-CBN6MUZE.js → chunk-Y5GYUAK3.js} +448 -258
- package/dist/mcp/chunk-Y5GYUAK3.js.map +1 -0
- package/dist/mcp/http.js +1 -1
- package/dist/mcp/stdio.js +1 -1
- package/dist/mcp/vercel.js +447 -257
- package/package.json +2 -2
- package/dist/mcp/chunk-CBN6MUZE.js.map +0 -1
package/dist/mcp/vercel.js
CHANGED
|
@@ -26,49 +26,79 @@ var MCP_RESOURCE_INVENTORY = [
|
|
|
26
26
|
{
|
|
27
27
|
uri: "docs://sdk/getting-started",
|
|
28
28
|
label: "getting-started",
|
|
29
|
-
registeredName: "docs-getting-started"
|
|
29
|
+
registeredName: "docs-getting-started",
|
|
30
|
+
canonicalDocsSlug: ["developers", "sdk"],
|
|
31
|
+
canonicalDocsKeywords: ["Install the package", "@01.software/sdk"]
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
uri: "docs://sdk/guides",
|
|
35
|
+
label: "guides",
|
|
36
|
+
registeredName: "docs-guides",
|
|
37
|
+
canonicalDocsSlug: ["developers", "sdk"],
|
|
38
|
+
canonicalDocsKeywords: ["Setup Flow", "Next Actions"]
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
uri: "docs://sdk/api",
|
|
42
|
+
label: "api",
|
|
43
|
+
registeredName: "docs-api",
|
|
44
|
+
canonicalDocsSlug: ["developers", "api"],
|
|
45
|
+
canonicalDocsKeywords: ["/api/openapi", "OpenAPI"]
|
|
30
46
|
},
|
|
31
|
-
{ uri: "docs://sdk/guides", label: "guides", registeredName: "docs-guides" },
|
|
32
|
-
{ uri: "docs://sdk/api", label: "api", registeredName: "docs-api" },
|
|
33
47
|
{
|
|
34
48
|
uri: "docs://sdk/query-builder",
|
|
35
49
|
label: "query-builder",
|
|
36
|
-
registeredName: "docs-query-builder"
|
|
50
|
+
registeredName: "docs-query-builder",
|
|
51
|
+
canonicalDocsSlug: ["developers", "sdk"],
|
|
52
|
+
canonicalDocsKeywords: ["query helpers", "@01.software/sdk/query"]
|
|
37
53
|
},
|
|
38
54
|
{
|
|
39
55
|
uri: "docs://sdk/react-query",
|
|
40
56
|
label: "react-query",
|
|
41
|
-
registeredName: "docs-react-query"
|
|
57
|
+
registeredName: "docs-react-query",
|
|
58
|
+
canonicalDocsSlug: ["developers", "sdk"],
|
|
59
|
+
canonicalDocsKeywords: ["React", "@tanstack/react-query"]
|
|
42
60
|
},
|
|
43
61
|
{
|
|
44
62
|
uri: "docs://sdk/server-api",
|
|
45
63
|
label: "server-api",
|
|
46
|
-
registeredName: "docs-server-api"
|
|
64
|
+
registeredName: "docs-server-api",
|
|
65
|
+
canonicalDocsSlug: ["developers", "api"],
|
|
66
|
+
canonicalDocsKeywords: ["Server writes", "trusted server credentials"]
|
|
47
67
|
},
|
|
48
68
|
{
|
|
49
69
|
uri: "docs://sdk/customer-auth",
|
|
50
70
|
label: "customer-auth",
|
|
51
|
-
registeredName: "docs-customer-auth"
|
|
71
|
+
registeredName: "docs-customer-auth",
|
|
72
|
+
canonicalDocsSlug: ["developers", "authentication"],
|
|
73
|
+
canonicalDocsKeywords: ["Publishable Key", "Secret Key"]
|
|
52
74
|
},
|
|
53
75
|
{
|
|
54
76
|
uri: "docs://sdk/browser-vs-server",
|
|
55
77
|
label: "browser-vs-server",
|
|
56
|
-
registeredName: "docs-browser-vs-server"
|
|
78
|
+
registeredName: "docs-browser-vs-server",
|
|
79
|
+
canonicalDocsSlug: ["developers", "sdk"],
|
|
80
|
+
canonicalDocsKeywords: ["browser client", "server client"]
|
|
57
81
|
},
|
|
58
82
|
{
|
|
59
83
|
uri: "docs://sdk/file-upload",
|
|
60
84
|
label: "file-upload",
|
|
61
|
-
registeredName: "docs-file-upload"
|
|
85
|
+
registeredName: "docs-file-upload",
|
|
86
|
+
canonicalDocsSlug: ["developers", "api"],
|
|
87
|
+
canonicalDocsKeywords: ["direct HTTP", "machine-readable contract"]
|
|
62
88
|
},
|
|
63
89
|
{
|
|
64
90
|
uri: "docs://sdk/webhook",
|
|
65
91
|
label: "webhook",
|
|
66
|
-
registeredName: "docs-webhook"
|
|
92
|
+
registeredName: "docs-webhook",
|
|
93
|
+
canonicalDocsSlug: ["developers", "webhooks"],
|
|
94
|
+
canonicalDocsKeywords: ["Webhook", "commerce.notification"]
|
|
67
95
|
},
|
|
68
96
|
{
|
|
69
97
|
uri: "docs://sdk/product-detail",
|
|
70
98
|
label: "product-detail",
|
|
71
|
-
registeredName: "docs-product-detail"
|
|
99
|
+
registeredName: "docs-product-detail",
|
|
100
|
+
canonicalDocsSlug: ["recipes", "product-detail"],
|
|
101
|
+
canonicalDocsKeywords: ["Product detail page", "commerce.product.detail"]
|
|
72
102
|
}
|
|
73
103
|
];
|
|
74
104
|
var MCP_RESOURCE_LABELS = MCP_RESOURCE_INVENTORY.map(
|
|
@@ -460,6 +490,29 @@ var transactionStatusSchema = z3.enum([
|
|
|
460
490
|
"failed",
|
|
461
491
|
"canceled"
|
|
462
492
|
]);
|
|
493
|
+
var financialStatusSchema = z3.enum([
|
|
494
|
+
"pending",
|
|
495
|
+
"paid",
|
|
496
|
+
"failed",
|
|
497
|
+
"canceled",
|
|
498
|
+
"partially_refunded",
|
|
499
|
+
"refunded"
|
|
500
|
+
]);
|
|
501
|
+
var confirmationStatusSchema = z3.enum(["unconfirmed", "confirmed"]);
|
|
502
|
+
var fulfillmentOrderStatusSchema = z3.enum([
|
|
503
|
+
"open",
|
|
504
|
+
"in_progress",
|
|
505
|
+
"on_hold",
|
|
506
|
+
"canceled",
|
|
507
|
+
"closed"
|
|
508
|
+
]);
|
|
509
|
+
var shipmentStatusSchema = z3.enum([
|
|
510
|
+
"pending",
|
|
511
|
+
"shipped",
|
|
512
|
+
"delivered",
|
|
513
|
+
"canceled",
|
|
514
|
+
"failed"
|
|
515
|
+
]);
|
|
463
516
|
var orderStatusSchema = z3.enum([
|
|
464
517
|
"pending",
|
|
465
518
|
"paid",
|
|
@@ -474,7 +527,7 @@ var orderStatusSchema = z3.enum([
|
|
|
474
527
|
"return_processing",
|
|
475
528
|
"returned"
|
|
476
529
|
]);
|
|
477
|
-
var entityIdSchema = z3.union([z3.string(), z3.number()]).transform(String);
|
|
530
|
+
var entityIdSchema = z3.union([z3.string().min(1), z3.number()]).transform(String);
|
|
478
531
|
var createOrderItemSchema = z3.object({
|
|
479
532
|
product: entityIdSchema,
|
|
480
533
|
variant: entityIdSchema,
|
|
@@ -482,7 +535,7 @@ var createOrderItemSchema = z3.object({
|
|
|
482
535
|
quantity: z3.number().int().positive("quantity must be a positive integer"),
|
|
483
536
|
unitPrice: z3.number().optional(),
|
|
484
537
|
totalPrice: z3.number().optional()
|
|
485
|
-
});
|
|
538
|
+
}).strict();
|
|
486
539
|
var createOrderSchema = z3.object({
|
|
487
540
|
pgPaymentId: z3.string().min(1).optional(),
|
|
488
541
|
orderNumber: z3.string().min(1, "orderNumber is required"),
|
|
@@ -491,7 +544,7 @@ var createOrderSchema = z3.object({
|
|
|
491
544
|
name: z3.string().optional(),
|
|
492
545
|
email: z3.string().email("Invalid email format"),
|
|
493
546
|
phone: z3.string().optional()
|
|
494
|
-
}),
|
|
547
|
+
}).strict(),
|
|
495
548
|
shippingAddress: z3.object({
|
|
496
549
|
postalCode: z3.string().optional(),
|
|
497
550
|
address: z3.string().optional(),
|
|
@@ -499,12 +552,12 @@ var createOrderSchema = z3.object({
|
|
|
499
552
|
deliveryMessage: z3.string().optional(),
|
|
500
553
|
recipientName: z3.string().optional(),
|
|
501
554
|
phone: z3.string().optional()
|
|
502
|
-
}),
|
|
555
|
+
}).strict(),
|
|
503
556
|
orderItems: z3.array(createOrderItemSchema).min(1, "At least one order item is required").max(100, "Maximum 100 items per order"),
|
|
504
557
|
totalAmount: z3.number().nonnegative("totalAmount must be non-negative"),
|
|
505
558
|
shippingAmount: z3.number().min(0).optional(),
|
|
506
559
|
discountCode: z3.string().optional()
|
|
507
|
-
});
|
|
560
|
+
}).strict();
|
|
508
561
|
var CreateOrderSchema = createOrderSchema;
|
|
509
562
|
var updateTransactionSchema = z3.object({
|
|
510
563
|
pgPaymentId: z3.string().min(1, "pgPaymentId is required").describe("PG payment ID (required)"),
|
|
@@ -553,7 +606,7 @@ var returnReasonSchema = z3.enum([
|
|
|
553
606
|
]);
|
|
554
607
|
var restockActionSchema = z3.enum(["return_to_stock", "discard"]);
|
|
555
608
|
var returnWithRefundItemSchema = z3.object({
|
|
556
|
-
orderItem: z3.union([z3.string(), z3.number()]).transform(String),
|
|
609
|
+
orderItem: z3.union([z3.string().min(1), z3.number()]).transform(String),
|
|
557
610
|
quantity: z3.number().int().positive("quantity must be a positive integer"),
|
|
558
611
|
restockAction: restockActionSchema.default("return_to_stock"),
|
|
559
612
|
restockingFee: z3.number().min(0, "restockingFee must be non-negative").optional().describe("Restocking fee charged for this line (ADR 0005 \xA7Gap 1)")
|
|
@@ -567,10 +620,29 @@ var returnWithRefundSchema = z3.object({
|
|
|
567
620
|
returnShippingFee: z3.number().min(0, "returnShippingFee must be non-negative").optional().describe(
|
|
568
621
|
"Return shipping fee charged to the customer (ADR 0005 \xA7Gap 1)"
|
|
569
622
|
),
|
|
623
|
+
initialShippingRefundAmount: z3.number().min(0, "initialShippingRefundAmount must be non-negative").optional().describe("Initial order shipping amount refunded to the customer"),
|
|
624
|
+
initialShippingRefundOverrideNote: z3.string().min(1).optional().describe(
|
|
625
|
+
"Operator audit note required when overriding policy suggestion"
|
|
626
|
+
),
|
|
570
627
|
pgPaymentId: z3.string().min(1, "pgPaymentId is required").describe("PG payment ID for refund (required)"),
|
|
571
628
|
paymentKey: z3.string().min(1).optional().describe("Provider payment key for verified refund"),
|
|
572
629
|
refundReceiptUrl: z3.string().optional().describe("Refund receipt URL (optional)")
|
|
573
630
|
}).strict();
|
|
631
|
+
var createReturnSchema = z3.object({
|
|
632
|
+
orderNumber: z3.string().min(1, "orderNumber is required").describe("Order number (required)"),
|
|
633
|
+
reason: returnReasonSchema.optional().describe("Return reason (optional)"),
|
|
634
|
+
reasonDetail: z3.string().optional().describe("Detailed reason text (optional)"),
|
|
635
|
+
returnItems: z3.array(returnWithRefundItemSchema).min(1, "At least one return item is required").max(100, "Too many return items").describe("Array of products to return (required)"),
|
|
636
|
+
refundAmount: z3.number().min(0, "refundAmount must be non-negative").describe(
|
|
637
|
+
"Line refund amount before initial shipping refund (required, min 0)"
|
|
638
|
+
),
|
|
639
|
+
returnShippingFee: z3.number().min(0, "returnShippingFee must be non-negative").optional().describe("Return shipping fee charged to the customer"),
|
|
640
|
+
initialShippingRefundAmount: z3.number().min(0, "initialShippingRefundAmount must be non-negative").optional().describe("Initial order shipping amount refunded to the customer"),
|
|
641
|
+
initialShippingRefundOverrideNote: z3.string().min(1).optional().describe(
|
|
642
|
+
"Operator audit note required when overriding policy suggestion"
|
|
643
|
+
)
|
|
644
|
+
}).strict();
|
|
645
|
+
var CreateReturnSchema = createReturnSchema;
|
|
574
646
|
var ReturnWithRefundSchema = returnWithRefundSchema;
|
|
575
647
|
var cancelReasonCodeSchema = z3.enum([
|
|
576
648
|
"customer",
|
|
@@ -844,6 +916,11 @@ var MCP_TOOL_CONTRACT = {
|
|
|
844
916
|
oauthScope: "mcp:write",
|
|
845
917
|
readOnly: false
|
|
846
918
|
},
|
|
919
|
+
"prepare-fulfillment-order": {
|
|
920
|
+
consoleRole: "tenant-admin",
|
|
921
|
+
oauthScope: "mcp:write",
|
|
922
|
+
readOnly: false
|
|
923
|
+
},
|
|
847
924
|
"update-fulfillment": {
|
|
848
925
|
consoleRole: "tenant-admin",
|
|
849
926
|
oauthScope: "mcp:write",
|
|
@@ -1116,6 +1193,13 @@ var TOOL_POLICY_MANIFEST = {
|
|
|
1116
1193
|
consoleSurface: "POST /api/orders/create-fulfillment",
|
|
1117
1194
|
annotationPolicy: NON_DESTRUCTIVE_MUTATION_ANNOTATION
|
|
1118
1195
|
},
|
|
1196
|
+
"prepare-fulfillment-order": {
|
|
1197
|
+
category: "mutation-fulfillment",
|
|
1198
|
+
oauthScope: MCP_SCOPES.write,
|
|
1199
|
+
consoleRole: "tenant-admin",
|
|
1200
|
+
consoleSurface: "POST /api/fulfillment-orders/prepare-fulfillment-order",
|
|
1201
|
+
annotationPolicy: NON_DESTRUCTIVE_MUTATION_ANNOTATION
|
|
1202
|
+
},
|
|
1119
1203
|
"update-fulfillment": {
|
|
1120
1204
|
category: "mutation-fulfillment",
|
|
1121
1205
|
oauthScope: MCP_SCOPES.write,
|
|
@@ -1742,22 +1826,13 @@ async function createOrder(params) {
|
|
|
1742
1826
|
import { z as z7 } from "zod";
|
|
1743
1827
|
var schema5 = {
|
|
1744
1828
|
orderNumber: z7.string().min(1).describe("Order number (required)"),
|
|
1745
|
-
status: z7.enum([
|
|
1746
|
-
"
|
|
1747
|
-
"paid",
|
|
1748
|
-
"failed",
|
|
1749
|
-
"canceled",
|
|
1750
|
-
"preparing",
|
|
1751
|
-
"shipped",
|
|
1752
|
-
"delivered",
|
|
1753
|
-
"confirmed"
|
|
1754
|
-
]).describe(
|
|
1755
|
-
"New operator-driven order status. The schema keeps SDK status values for compatibility, but the Console update endpoint rejects server-derived statuses (paid, canceled, returned, refunded); those must be set by payment/refund flows, and return-related statuses must be set via Return endpoints."
|
|
1829
|
+
status: z7.enum(["confirmed"]).describe(
|
|
1830
|
+
"Order confirmation status mutation. Shipping/display statuses are derived from fulfillment orders and shipments; financial/refund states are set by payment/refund flows."
|
|
1756
1831
|
)
|
|
1757
1832
|
};
|
|
1758
1833
|
var metadata5 = {
|
|
1759
1834
|
name: "update-order",
|
|
1760
|
-
description: "
|
|
1835
|
+
description: "Confirm an order after delivery. Financial, fulfillment-order, shipment, return, and display statuses are explicit server-derived axes and are not writable through this tool.",
|
|
1761
1836
|
annotations: {
|
|
1762
1837
|
title: "Update order status",
|
|
1763
1838
|
readOnlyHint: false,
|
|
@@ -1815,20 +1890,19 @@ async function checkout(params) {
|
|
|
1815
1890
|
import { z as z9 } from "zod";
|
|
1816
1891
|
var schema7 = {
|
|
1817
1892
|
orderNumber: z9.string().min(1).describe("Order number (required)"),
|
|
1818
|
-
|
|
1819
|
-
|
|
1820
|
-
|
|
1821
|
-
),
|
|
1893
|
+
fulfillmentOrderId: z9.string().optional().describe("Fulfillment order ID to ship (optional)"),
|
|
1894
|
+
carrier: z9.string().min(1).optional().describe("Shipping carrier name"),
|
|
1895
|
+
trackingNumber: z9.string().min(1).optional().describe("Tracking number"),
|
|
1822
1896
|
items: z9.array(
|
|
1823
1897
|
z9.object({
|
|
1824
1898
|
orderItem: z9.string().min(1).describe("Order item ID"),
|
|
1825
1899
|
quantity: z9.number().int().positive().describe("Quantity to fulfill")
|
|
1826
1900
|
})
|
|
1827
|
-
).describe("Array of items to fulfill (
|
|
1901
|
+
).optional().describe("Array of items to fulfill (optional)")
|
|
1828
1902
|
};
|
|
1829
1903
|
var metadata7 = {
|
|
1830
1904
|
name: "create-fulfillment",
|
|
1831
|
-
description: "Create a shipment
|
|
1905
|
+
description: "Create a shipment for fulfillment order items. Tracking information can be supplied now or updated later with update-fulfillment.",
|
|
1832
1906
|
annotations: {
|
|
1833
1907
|
title: "Create fulfillment",
|
|
1834
1908
|
readOnlyHint: false,
|
|
@@ -1838,6 +1912,7 @@ var metadata7 = {
|
|
|
1838
1912
|
};
|
|
1839
1913
|
async function createFulfillment({
|
|
1840
1914
|
orderNumber,
|
|
1915
|
+
fulfillmentOrderId,
|
|
1841
1916
|
carrier,
|
|
1842
1917
|
trackingNumber,
|
|
1843
1918
|
items
|
|
@@ -1846,8 +1921,9 @@ async function createFulfillment({
|
|
|
1846
1921
|
const client = getClient();
|
|
1847
1922
|
const result = await client.commerce.orders.createFulfillment({
|
|
1848
1923
|
orderNumber,
|
|
1849
|
-
|
|
1850
|
-
|
|
1924
|
+
fulfillmentOrderId,
|
|
1925
|
+
...carrier ? { carrier } : {},
|
|
1926
|
+
...trackingNumber ? { trackingNumber } : {},
|
|
1851
1927
|
items
|
|
1852
1928
|
});
|
|
1853
1929
|
return toolSuccess({ data: result });
|
|
@@ -1856,23 +1932,48 @@ async function createFulfillment({
|
|
|
1856
1932
|
}
|
|
1857
1933
|
}
|
|
1858
1934
|
|
|
1859
|
-
// src/tools/
|
|
1935
|
+
// src/tools/prepare-fulfillment-order.ts
|
|
1860
1936
|
import { z as z10 } from "zod";
|
|
1861
1937
|
var schema8 = {
|
|
1862
|
-
|
|
1863
|
-
status: z10.enum(["packed", "shipped", "delivered", "failed"]).describe(
|
|
1864
|
-
"New fulfillment status (required). FSM: pending\u2192packed/shipped/failed, packed\u2192shipped/failed, shipped\u2192delivered/failed"
|
|
1865
|
-
),
|
|
1866
|
-
carrier: z10.string().optional().describe(
|
|
1867
|
-
"Shipping carrier (optional, changeable only in pending/packed status)"
|
|
1868
|
-
),
|
|
1869
|
-
trackingNumber: z10.string().optional().describe(
|
|
1870
|
-
"Tracking number (optional, changeable only in pending/packed status)"
|
|
1871
|
-
)
|
|
1938
|
+
orderNumber: z10.string().min(1).describe("Order number (required)")
|
|
1872
1939
|
};
|
|
1873
1940
|
var metadata8 = {
|
|
1941
|
+
name: "prepare-fulfillment-order",
|
|
1942
|
+
description: "Prepare starts fulfillment work and does not require carrier/tracking.",
|
|
1943
|
+
annotations: {
|
|
1944
|
+
title: "Prepare fulfillment order",
|
|
1945
|
+
readOnlyHint: false,
|
|
1946
|
+
destructiveHint: false,
|
|
1947
|
+
idempotentHint: false
|
|
1948
|
+
}
|
|
1949
|
+
};
|
|
1950
|
+
async function prepareFulfillmentOrder({
|
|
1951
|
+
orderNumber
|
|
1952
|
+
}) {
|
|
1953
|
+
try {
|
|
1954
|
+
const client = getClient();
|
|
1955
|
+
const result = await client.commerce.orders.prepareFulfillmentOrder({
|
|
1956
|
+
orderNumber
|
|
1957
|
+
});
|
|
1958
|
+
return toolSuccess({ data: result });
|
|
1959
|
+
} catch (error) {
|
|
1960
|
+
return toolError(error);
|
|
1961
|
+
}
|
|
1962
|
+
}
|
|
1963
|
+
|
|
1964
|
+
// src/tools/update-fulfillment.ts
|
|
1965
|
+
import { z as z11 } from "zod";
|
|
1966
|
+
var schema9 = {
|
|
1967
|
+
fulfillmentId: z11.string().min(1).describe("Fulfillment ID (required)"),
|
|
1968
|
+
status: z11.enum(["shipped", "delivered", "failed"]).optional().describe(
|
|
1969
|
+
"New shipment status. Shipment lifecycle: shipped\u2192delivered/failed"
|
|
1970
|
+
),
|
|
1971
|
+
carrier: z11.string().optional().describe("Shipping carrier (optional; can be added or corrected later)"),
|
|
1972
|
+
trackingNumber: z11.string().optional().describe("Tracking number (optional; can be added or corrected later)")
|
|
1973
|
+
};
|
|
1974
|
+
var metadata9 = {
|
|
1874
1975
|
name: "update-fulfillment",
|
|
1875
|
-
description: "Update
|
|
1976
|
+
description: "Update shipment status, carrier, or tracking number. Tracking can be added after shipment creation.",
|
|
1876
1977
|
annotations: {
|
|
1877
1978
|
title: "Update fulfillment",
|
|
1878
1979
|
readOnlyHint: false,
|
|
@@ -1888,11 +1989,16 @@ async function updateFulfillment({
|
|
|
1888
1989
|
}) {
|
|
1889
1990
|
try {
|
|
1890
1991
|
const client = getClient();
|
|
1992
|
+
if (status === void 0 && carrier === void 0 && trackingNumber === void 0) {
|
|
1993
|
+
return toolError(
|
|
1994
|
+
new Error("status, carrier, or trackingNumber is required")
|
|
1995
|
+
);
|
|
1996
|
+
}
|
|
1891
1997
|
const result = await client.commerce.orders.updateFulfillment({
|
|
1892
1998
|
fulfillmentId,
|
|
1893
|
-
status,
|
|
1894
|
-
carrier,
|
|
1895
|
-
trackingNumber
|
|
1999
|
+
...status ? { status } : {},
|
|
2000
|
+
...carrier ? { carrier } : {},
|
|
2001
|
+
...trackingNumber ? { trackingNumber } : {}
|
|
1896
2002
|
});
|
|
1897
2003
|
return toolSuccess({ data: result });
|
|
1898
2004
|
} catch (error) {
|
|
@@ -1901,8 +2007,8 @@ async function updateFulfillment({
|
|
|
1901
2007
|
}
|
|
1902
2008
|
|
|
1903
2009
|
// src/tools/update-transaction.ts
|
|
1904
|
-
var
|
|
1905
|
-
var
|
|
2010
|
+
var schema10 = UpdateTransactionSchema.shape;
|
|
2011
|
+
var metadata10 = {
|
|
1906
2012
|
name: "update-transaction",
|
|
1907
2013
|
description: "Update transaction status, payment method, and receipt URL.",
|
|
1908
2014
|
annotations: {
|
|
@@ -1938,8 +2044,8 @@ async function updateTransaction({
|
|
|
1938
2044
|
}
|
|
1939
2045
|
|
|
1940
2046
|
// src/tools/confirm-payment.ts
|
|
1941
|
-
var
|
|
1942
|
-
var
|
|
2047
|
+
var schema11 = ConfirmPaymentSchema.shape;
|
|
2048
|
+
var metadata11 = {
|
|
1943
2049
|
name: "confirm-payment",
|
|
1944
2050
|
description: "Confirm a provider-verified ecommerce payment through the generic payment confirmation flow.",
|
|
1945
2051
|
annotations: {
|
|
@@ -1966,10 +2072,10 @@ var CancelOrderToolSchema = CancelOrderSchema.extend({
|
|
|
1966
2072
|
"Optional X-Idempotency-Key forwarded to the Console cancel endpoint"
|
|
1967
2073
|
)
|
|
1968
2074
|
}).strict();
|
|
1969
|
-
var
|
|
1970
|
-
var
|
|
2075
|
+
var schema12 = CancelOrderToolSchema.shape;
|
|
2076
|
+
var metadata12 = {
|
|
1971
2077
|
name: "cancel-order",
|
|
1972
|
-
description: "Cancel an eligible
|
|
2078
|
+
description: "Cancel an eligible order through the server-derived local cancellation flow. Paid captured orders move to canceled locally and require separate storefront PG refund resolution; preparation fulfillment orders are voided when no shipment exists, while shipped, delivered, active-return, and fulfilled orders are rejected.",
|
|
1973
2079
|
annotations: {
|
|
1974
2080
|
title: "Cancel order",
|
|
1975
2081
|
readOnlyHint: false,
|
|
@@ -1994,20 +2100,8 @@ async function cancelOrder(params) {
|
|
|
1994
2100
|
}
|
|
1995
2101
|
|
|
1996
2102
|
// src/tools/create-return.ts
|
|
1997
|
-
|
|
1998
|
-
var
|
|
1999
|
-
orderNumber: z11.string().min(1).describe("Order number (required)"),
|
|
2000
|
-
reason: z11.enum(["change_of_mind", "defective", "wrong_delivery", "damaged", "other"]).optional().describe("Return reason (optional)"),
|
|
2001
|
-
reasonDetail: z11.string().optional().describe("Detailed reason text (optional)"),
|
|
2002
|
-
returnItems: z11.array(
|
|
2003
|
-
z11.object({
|
|
2004
|
-
orderItem: z11.string().min(1).describe("Order item ID"),
|
|
2005
|
-
quantity: z11.number().int().positive().describe("Quantity to return")
|
|
2006
|
-
})
|
|
2007
|
-
).describe("Array of products to return (required)"),
|
|
2008
|
-
refundAmount: z11.number().nonnegative().describe("Refund amount (required, min 0)")
|
|
2009
|
-
};
|
|
2010
|
-
var metadata12 = {
|
|
2103
|
+
var schema13 = CreateReturnSchema.shape;
|
|
2104
|
+
var metadata13 = {
|
|
2011
2105
|
name: "create-return",
|
|
2012
2106
|
description: "Create a return request for an order. Only works for delivered/confirmed orders. Updates order status to return_requested.",
|
|
2013
2107
|
annotations: {
|
|
@@ -2022,7 +2116,10 @@ async function createReturn({
|
|
|
2022
2116
|
reason,
|
|
2023
2117
|
reasonDetail,
|
|
2024
2118
|
returnItems,
|
|
2025
|
-
refundAmount
|
|
2119
|
+
refundAmount,
|
|
2120
|
+
returnShippingFee,
|
|
2121
|
+
initialShippingRefundAmount,
|
|
2122
|
+
initialShippingRefundOverrideNote
|
|
2026
2123
|
}) {
|
|
2027
2124
|
try {
|
|
2028
2125
|
const client = getClient();
|
|
@@ -2031,7 +2128,10 @@ async function createReturn({
|
|
|
2031
2128
|
reason,
|
|
2032
2129
|
reasonDetail,
|
|
2033
2130
|
returnItems,
|
|
2034
|
-
refundAmount
|
|
2131
|
+
refundAmount,
|
|
2132
|
+
returnShippingFee,
|
|
2133
|
+
initialShippingRefundAmount,
|
|
2134
|
+
initialShippingRefundOverrideNote
|
|
2035
2135
|
});
|
|
2036
2136
|
return toolSuccess({ data: result });
|
|
2037
2137
|
} catch (error) {
|
|
@@ -2041,13 +2141,13 @@ async function createReturn({
|
|
|
2041
2141
|
|
|
2042
2142
|
// src/tools/update-return.ts
|
|
2043
2143
|
import { z as z12 } from "zod";
|
|
2044
|
-
var
|
|
2144
|
+
var schema14 = {
|
|
2045
2145
|
returnId: z12.string().min(1).describe("Return ID (required)"),
|
|
2046
2146
|
status: z12.enum(["processing", "approved", "rejected", "completed"]).describe(
|
|
2047
2147
|
"New operator-driven return status (required). The schema keeps SDK status values for compatibility, but Console accepts only requested\u2192processing/rejected and processing\u2192approved/rejected here; completed is server-derived and must be set by return-with-refund."
|
|
2048
2148
|
)
|
|
2049
2149
|
};
|
|
2050
|
-
var
|
|
2150
|
+
var metadata14 = {
|
|
2051
2151
|
name: "update-return",
|
|
2052
2152
|
description: "Update operator-driven return status with FSM validation. Rejection can restore the order flow; completion and inventory restoration are handled by return-with-refund after provider-verified refund, while the MCP schema keeps SDK status values for compatibility.",
|
|
2053
2153
|
annotations: {
|
|
@@ -2074,8 +2174,8 @@ async function updateReturn({
|
|
|
2074
2174
|
}
|
|
2075
2175
|
|
|
2076
2176
|
// src/tools/return-with-refund.ts
|
|
2077
|
-
var
|
|
2078
|
-
var
|
|
2177
|
+
var schema15 = ReturnWithRefundSchema.shape;
|
|
2178
|
+
var metadata15 = {
|
|
2079
2179
|
name: "return-with-refund",
|
|
2080
2180
|
description: "Combined provider-verified return + refund operation. Creates a completed return, restores eligible stock, records the refund transaction, and advances the order to the returned state.",
|
|
2081
2181
|
annotations: {
|
|
@@ -2092,6 +2192,8 @@ async function returnWithRefund({
|
|
|
2092
2192
|
returnItems,
|
|
2093
2193
|
refundAmount,
|
|
2094
2194
|
returnShippingFee,
|
|
2195
|
+
initialShippingRefundAmount,
|
|
2196
|
+
initialShippingRefundOverrideNote,
|
|
2095
2197
|
pgPaymentId,
|
|
2096
2198
|
paymentKey,
|
|
2097
2199
|
refundReceiptUrl
|
|
@@ -2105,6 +2207,8 @@ async function returnWithRefund({
|
|
|
2105
2207
|
returnItems,
|
|
2106
2208
|
refundAmount,
|
|
2107
2209
|
returnShippingFee,
|
|
2210
|
+
initialShippingRefundAmount,
|
|
2211
|
+
initialShippingRefundOverrideNote,
|
|
2108
2212
|
pgPaymentId,
|
|
2109
2213
|
paymentKey,
|
|
2110
2214
|
refundReceiptUrl
|
|
@@ -2118,14 +2222,14 @@ async function returnWithRefund({
|
|
|
2118
2222
|
|
|
2119
2223
|
// src/tools/add-cart-item.ts
|
|
2120
2224
|
import { z as z13 } from "zod";
|
|
2121
|
-
var
|
|
2225
|
+
var schema16 = {
|
|
2122
2226
|
cartId: z13.string().min(1).describe("Cart ID (required)"),
|
|
2123
2227
|
product: z13.string().min(1).describe("Product ID (required)"),
|
|
2124
2228
|
variant: z13.string().min(1).describe("Product variant ID (required)"),
|
|
2125
2229
|
option: z13.string().min(1).describe("Product option ID (required)"),
|
|
2126
2230
|
quantity: z13.number().int().positive().describe("Quantity to add (required, positive integer)")
|
|
2127
2231
|
};
|
|
2128
|
-
var
|
|
2232
|
+
var metadata16 = {
|
|
2129
2233
|
name: "add-cart-item",
|
|
2130
2234
|
description: "Add a product to cart. Validates stock, merges quantity if item already exists, recalculates totals.",
|
|
2131
2235
|
annotations: {
|
|
@@ -2159,11 +2263,11 @@ async function addCartItem({
|
|
|
2159
2263
|
|
|
2160
2264
|
// src/tools/update-cart-item.ts
|
|
2161
2265
|
import { z as z14 } from "zod";
|
|
2162
|
-
var
|
|
2266
|
+
var schema17 = {
|
|
2163
2267
|
cartItemId: z14.string().min(1).describe("Cart item ID (required)"),
|
|
2164
2268
|
quantity: z14.number().int().positive().describe("New quantity (required, positive integer)")
|
|
2165
2269
|
};
|
|
2166
|
-
var
|
|
2270
|
+
var metadata17 = {
|
|
2167
2271
|
name: "update-cart-item",
|
|
2168
2272
|
description: "Update cart item quantity. Validates stock availability, recalculates cart totals.",
|
|
2169
2273
|
annotations: {
|
|
@@ -2188,10 +2292,10 @@ async function updateCartItem({
|
|
|
2188
2292
|
|
|
2189
2293
|
// src/tools/remove-cart-item.ts
|
|
2190
2294
|
import { z as z15 } from "zod";
|
|
2191
|
-
var
|
|
2295
|
+
var schema18 = {
|
|
2192
2296
|
cartItemId: z15.string().min(1).describe("Cart item ID to remove (required)")
|
|
2193
2297
|
};
|
|
2194
|
-
var
|
|
2298
|
+
var metadata18 = {
|
|
2195
2299
|
name: "remove-cart-item",
|
|
2196
2300
|
description: "Remove an item from cart. Recalculates cart totals after removal.",
|
|
2197
2301
|
annotations: {
|
|
@@ -2215,11 +2319,11 @@ async function removeCartItem({
|
|
|
2215
2319
|
|
|
2216
2320
|
// src/tools/apply-discount.ts
|
|
2217
2321
|
import { z as z16 } from "zod";
|
|
2218
|
-
var
|
|
2322
|
+
var schema19 = {
|
|
2219
2323
|
cartId: z16.string().min(1).describe("Cart ID (required)"),
|
|
2220
2324
|
discountCode: z16.string().describe("Discount code to apply (required)")
|
|
2221
2325
|
};
|
|
2222
|
-
var
|
|
2326
|
+
var metadata19 = {
|
|
2223
2327
|
name: "apply-discount",
|
|
2224
2328
|
description: "Apply a discount code to a cart. Validates the code, updates cart totals, and sets free shipping if applicable.",
|
|
2225
2329
|
annotations: {
|
|
@@ -2244,10 +2348,10 @@ async function applyDiscount({
|
|
|
2244
2348
|
|
|
2245
2349
|
// src/tools/remove-discount.ts
|
|
2246
2350
|
import { z as z17 } from "zod";
|
|
2247
|
-
var
|
|
2351
|
+
var schema20 = {
|
|
2248
2352
|
cartId: z17.string().min(1).describe("Cart ID (required)")
|
|
2249
2353
|
};
|
|
2250
|
-
var
|
|
2354
|
+
var metadata20 = {
|
|
2251
2355
|
name: "remove-discount",
|
|
2252
2356
|
description: "Remove the applied discount code from a cart and recalculate totals.",
|
|
2253
2357
|
annotations: {
|
|
@@ -2271,10 +2375,10 @@ async function removeDiscount({
|
|
|
2271
2375
|
|
|
2272
2376
|
// src/tools/clear-cart.ts
|
|
2273
2377
|
import { z as z18 } from "zod";
|
|
2274
|
-
var
|
|
2378
|
+
var schema21 = {
|
|
2275
2379
|
cartId: z18.string().min(1).describe("Cart ID (required)")
|
|
2276
2380
|
};
|
|
2277
|
-
var
|
|
2381
|
+
var metadata21 = {
|
|
2278
2382
|
name: "clear-cart",
|
|
2279
2383
|
description: "Remove all items from a cart, reset discount and amounts. Shipping fee is preserved.",
|
|
2280
2384
|
annotations: {
|
|
@@ -2298,11 +2402,11 @@ async function clearCart({
|
|
|
2298
2402
|
|
|
2299
2403
|
// src/tools/validate-discount.ts
|
|
2300
2404
|
import { z as z19 } from "zod";
|
|
2301
|
-
var
|
|
2405
|
+
var schema22 = {
|
|
2302
2406
|
code: z19.string().describe("Discount code to validate (required)"),
|
|
2303
2407
|
orderAmount: z19.number().describe("Order amount for validation (required)")
|
|
2304
2408
|
};
|
|
2305
|
-
var
|
|
2409
|
+
var metadata22 = {
|
|
2306
2410
|
name: "validate-discount",
|
|
2307
2411
|
description: "Validate a discount code. Checks active status, date range, usage limits, minimum order amount, and calculates discount.",
|
|
2308
2412
|
annotations: {
|
|
@@ -2330,12 +2434,12 @@ async function validateDiscount({
|
|
|
2330
2434
|
|
|
2331
2435
|
// src/tools/calculate-shipping.ts
|
|
2332
2436
|
import { z as z20 } from "zod";
|
|
2333
|
-
var
|
|
2437
|
+
var schema23 = {
|
|
2334
2438
|
shippingPolicyId: z20.string().optional().describe("Shipping policy ID (uses default policy if omitted)"),
|
|
2335
2439
|
orderAmount: z20.number().describe("Order amount for fee calculation (required)"),
|
|
2336
2440
|
postalCode: z20.string().optional().describe("Postal code for Jeju surcharge detection (63000-63644)")
|
|
2337
2441
|
};
|
|
2338
|
-
var
|
|
2442
|
+
var metadata23 = {
|
|
2339
2443
|
name: "calculate-shipping",
|
|
2340
2444
|
description: "Calculate shipping fee based on order amount and postal code. Supports free shipping threshold and Jeju surcharge.",
|
|
2341
2445
|
annotations: {
|
|
@@ -2365,7 +2469,7 @@ async function calculateShipping({
|
|
|
2365
2469
|
|
|
2366
2470
|
// src/tools/stock-check.ts
|
|
2367
2471
|
import { z as z21 } from "zod";
|
|
2368
|
-
var
|
|
2472
|
+
var schema24 = {
|
|
2369
2473
|
items: z21.array(
|
|
2370
2474
|
z21.object({
|
|
2371
2475
|
variantId: z21.string().describe("Product variant ID"),
|
|
@@ -2375,7 +2479,7 @@ var schema23 = {
|
|
|
2375
2479
|
"Array of items to check stock for (required, max 100). Each: { variantId, quantity }"
|
|
2376
2480
|
)
|
|
2377
2481
|
};
|
|
2378
|
-
var
|
|
2482
|
+
var metadata24 = {
|
|
2379
2483
|
name: "stock-check",
|
|
2380
2484
|
description: "Batch check product option stock availability. Returns per-item availability and an allAvailable flag.",
|
|
2381
2485
|
annotations: {
|
|
@@ -2399,11 +2503,11 @@ async function stockCheck({
|
|
|
2399
2503
|
|
|
2400
2504
|
// src/tools/product-detail.ts
|
|
2401
2505
|
import { z as z22 } from "zod";
|
|
2402
|
-
var
|
|
2506
|
+
var schema25 = {
|
|
2403
2507
|
slug: z22.string().optional().describe("Product slug (one of slug or id required)"),
|
|
2404
2508
|
id: z22.string().optional().describe("Product id (one of slug or id required)")
|
|
2405
2509
|
};
|
|
2406
|
-
var
|
|
2510
|
+
var metadata25 = {
|
|
2407
2511
|
name: "product-detail",
|
|
2408
2512
|
description: "Fetch full product detail by slug or id. Returns one resolver-ready product with variants, option slugs, option value slugs/media, brand, categories, tags, images, videos, and listing rollup, or found:false with a reason if missing/unpublished/feature disabled. Permission/auth errors still throw.",
|
|
2409
2513
|
annotations: {
|
|
@@ -2431,7 +2535,7 @@ async function productDetail({
|
|
|
2431
2535
|
}
|
|
2432
2536
|
|
|
2433
2537
|
// src/tools/product-upsert.ts
|
|
2434
|
-
var
|
|
2538
|
+
var schema26 = {
|
|
2435
2539
|
productId: ProductUpsertObjectSchema.shape.productId.describe(
|
|
2436
2540
|
"Existing product id for graph-only updates. Prefer this for an existing product on edit after loading GET /api/products/:id/composer-draft."
|
|
2437
2541
|
),
|
|
@@ -2448,7 +2552,7 @@ var schema25 = {
|
|
|
2448
2552
|
"Full desired variant graph. On edit, omitted variants are deleted or deactivated according to server references. Prefer stable option-value IDs."
|
|
2449
2553
|
)
|
|
2450
2554
|
};
|
|
2451
|
-
var
|
|
2555
|
+
var metadata26 = {
|
|
2452
2556
|
name: "product-upsert",
|
|
2453
2557
|
description: "Create a product or update an existing product graph. Existing products should load composer-draft first, send productId plus graphRevision, and include the full desired options/variants graph.",
|
|
2454
2558
|
annotations: {
|
|
@@ -2489,8 +2593,8 @@ async function getCollectionSchema(collection) {
|
|
|
2489
2593
|
}
|
|
2490
2594
|
|
|
2491
2595
|
// src/tools/get-collection-schema.ts
|
|
2492
|
-
var
|
|
2493
|
-
var
|
|
2596
|
+
var schema27 = createCollectionSchemaToolInputSchema(SERVER_COLLECTIONS3).shape;
|
|
2597
|
+
var metadata27 = {
|
|
2494
2598
|
name: "get-collection-schema",
|
|
2495
2599
|
description: "Get the authoritative tenant-aware collection schema from console. Use this before create/update to understand writable fields, hidden fields, required metadata, and collection-level visibility.",
|
|
2496
2600
|
annotations: {
|
|
@@ -2541,8 +2645,8 @@ async function getTenantFeatureProgress(feature, includeEvidence = false) {
|
|
|
2541
2645
|
}
|
|
2542
2646
|
|
|
2543
2647
|
// src/tools/get-tenant-context.ts
|
|
2544
|
-
var
|
|
2545
|
-
var
|
|
2648
|
+
var schema28 = tenantContextToolInputSchema.shape;
|
|
2649
|
+
var metadata28 = {
|
|
2546
2650
|
name: "get-tenant-context",
|
|
2547
2651
|
description: "Get current tenant features, active collections, and field visibility. Call this at the start of every session. Use includeCounts=true to also get per-collection document counts for setup diagnostics.",
|
|
2548
2652
|
annotations: {
|
|
@@ -2619,8 +2723,8 @@ async function handler({
|
|
|
2619
2723
|
}
|
|
2620
2724
|
|
|
2621
2725
|
// src/tools/check-feature-progress.ts
|
|
2622
|
-
var
|
|
2623
|
-
var
|
|
2726
|
+
var schema29 = tenantFeatureProgressInputSchema.shape;
|
|
2727
|
+
var metadata29 = {
|
|
2624
2728
|
name: "check-feature-progress",
|
|
2625
2729
|
description: "Check tenant implementation progress for a supported feature. Start with feature=ecommerce to inspect catalog, cart, checkout, payment result, webhook, and operations readiness without mutating tenant data.",
|
|
2626
2730
|
annotations: {
|
|
@@ -2666,12 +2770,12 @@ function invalidateFieldConfigCache() {
|
|
|
2666
2770
|
}
|
|
2667
2771
|
|
|
2668
2772
|
// src/tools/list-configurable-fields.ts
|
|
2669
|
-
var
|
|
2773
|
+
var schema30 = {
|
|
2670
2774
|
collection: z23.string().optional().describe(
|
|
2671
2775
|
"Filter by collection slug (optional \u2014 returns all if omitted). Use this filter to reduce response size when you know which collection to check."
|
|
2672
2776
|
)
|
|
2673
2777
|
};
|
|
2674
|
-
var
|
|
2778
|
+
var metadata30 = {
|
|
2675
2779
|
name: "list-configurable-fields",
|
|
2676
2780
|
description: "List all configurable fields for tenant collections with current visibility state. Shows which fields can be shown/hidden and their current status. Returns all collections including inactive features \u2014 cross-reference with get-tenant-context for active features. Response includes ~300 fields across 47 collections \u2014 use collection filter when possible.",
|
|
2677
2781
|
annotations: {
|
|
@@ -2703,7 +2807,7 @@ async function listConfigurableFields(params) {
|
|
|
2703
2807
|
|
|
2704
2808
|
// src/tools/update-field-config.ts
|
|
2705
2809
|
import { z as z24 } from "zod";
|
|
2706
|
-
var
|
|
2810
|
+
var schema31 = {
|
|
2707
2811
|
collection: z24.string().min(1).describe("Collection slug (required)"),
|
|
2708
2812
|
hiddenFields: z24.array(z24.string().min(1).max(200)).max(300).describe(
|
|
2709
2813
|
"Fields to hide (required). This is a FULL REPLACE \u2014 fields NOT in this list will be shown. Pass [] to show all fields. Use list-configurable-fields first to see available field paths."
|
|
@@ -2712,7 +2816,7 @@ var schema30 = {
|
|
|
2712
2816
|
"Hide the entire collection from Admin Panel (optional). When true, individual hiddenFields are irrelevant."
|
|
2713
2817
|
)
|
|
2714
2818
|
};
|
|
2715
|
-
var
|
|
2819
|
+
var metadata31 = {
|
|
2716
2820
|
name: "update-field-config",
|
|
2717
2821
|
description: "Update field visibility configuration for a tenant collection. Hidden fields are removed from the Admin Panel UI. IMPORTANT: hiddenFields is a full replace, not a merge. Always call list-configurable-fields first to see current state.",
|
|
2718
2822
|
annotations: {
|
|
@@ -3181,7 +3285,7 @@ function getRecipe(goal, runtime = "both") {
|
|
|
3181
3285
|
}
|
|
3182
3286
|
|
|
3183
3287
|
// src/tools/sdk-get-recipe.ts
|
|
3184
|
-
var
|
|
3288
|
+
var schema32 = {
|
|
3185
3289
|
goal: z25.enum([
|
|
3186
3290
|
"fetch-list",
|
|
3187
3291
|
"fetch-by-id",
|
|
@@ -3198,7 +3302,7 @@ var schema31 = {
|
|
|
3198
3302
|
collection: z25.string().optional().describe("Specific collection name if applicable"),
|
|
3199
3303
|
includeExample: z25.boolean().default(true).describe("Whether to include a full code example")
|
|
3200
3304
|
};
|
|
3201
|
-
var
|
|
3305
|
+
var metadata32 = {
|
|
3202
3306
|
name: "sdk-get-recipe",
|
|
3203
3307
|
description: "Get a complete SDK code recipe for a specific task. Returns recommended approach, code example, and related documentation links. Use this FIRST when the user asks how to do something with the SDK.",
|
|
3204
3308
|
annotations: {
|
|
@@ -3379,9 +3483,16 @@ var docIndex = [
|
|
|
3379
3483
|
"order",
|
|
3380
3484
|
"orderChanged",
|
|
3381
3485
|
"collection.orderChanged",
|
|
3382
|
-
"isOrderChangedWebhookEvent"
|
|
3486
|
+
"isOrderChangedWebhookEvent",
|
|
3487
|
+
"commerce.notification",
|
|
3488
|
+
"createCommerceNotificationWebhookHandler",
|
|
3489
|
+
"createCommerceEmailWebhookHandler",
|
|
3490
|
+
"orderCanceled",
|
|
3491
|
+
"resolveCancelRefund",
|
|
3492
|
+
"cancel refund",
|
|
3493
|
+
"external PG refund"
|
|
3383
3494
|
],
|
|
3384
|
-
summary: "Tenant webhooks deliver signed server-to-server events via WEBHOOK_SECRET, including customer password reset
|
|
3495
|
+
summary: "Tenant webhooks deliver signed server-to-server events via WEBHOOK_SECRET, including customer password reset, semantic order changes, and commerce.notification workers with createCommerceNotificationWebhookHandler for orderCanceled refund handoff.",
|
|
3385
3496
|
resourceUri: "docs://sdk/webhook"
|
|
3386
3497
|
},
|
|
3387
3498
|
// Order API
|
|
@@ -3393,8 +3504,8 @@ var docIndex = [
|
|
|
3393
3504
|
},
|
|
3394
3505
|
{
|
|
3395
3506
|
title: "Order API \u2014 Fulfillment and Shipping",
|
|
3396
|
-
keywords: ["fulfillment", "shipping", "tracking", "carrier", "trackingNumber", "createFulfillment", "updateFulfillment", "shipped", "delivered"],
|
|
3397
|
-
summary: "client.commerce.orders.createFulfillment({ orderNumber,
|
|
3507
|
+
keywords: ["fulfillment", "shipping", "tracking", "carrier", "trackingNumber", "prepareFulfillmentOrder", "createFulfillment", "updateFulfillment", "shipped", "delivered"],
|
|
3508
|
+
summary: "client.commerce.orders.prepareFulfillmentOrder({ orderNumber }) starts fulfillment work. createFulfillment({ orderNumber, ... }) creates a shipment with optional tracking. updateFulfillment() advances shipment status or updates tracking.",
|
|
3398
3509
|
resourceUri: "docs://sdk/server-api"
|
|
3399
3510
|
},
|
|
3400
3511
|
{
|
|
@@ -3427,11 +3538,11 @@ function searchDocs(query, limit = 5) {
|
|
|
3427
3538
|
}
|
|
3428
3539
|
|
|
3429
3540
|
// src/tools/sdk-search-docs.ts
|
|
3430
|
-
var
|
|
3541
|
+
var schema33 = {
|
|
3431
3542
|
query: z26.string().min(2).describe('Search keyword or phrase (e.g. "infinite scroll", "webhook", "customer login")'),
|
|
3432
3543
|
limit: z26.number().min(1).max(10).default(5).describe("Maximum results to return (1-10, default: 5)")
|
|
3433
3544
|
};
|
|
3434
|
-
var
|
|
3545
|
+
var metadata33 = {
|
|
3435
3546
|
name: "sdk-search-docs",
|
|
3436
3547
|
description: "Search SDK documentation by keyword. Returns matching topics with summaries and resource links. Use when looking for specific SDK features or patterns.",
|
|
3437
3548
|
annotations: {
|
|
@@ -3467,7 +3578,7 @@ function handler4({
|
|
|
3467
3578
|
|
|
3468
3579
|
// src/tools/sdk-get-auth-setup.ts
|
|
3469
3580
|
import { z as z27 } from "zod";
|
|
3470
|
-
var
|
|
3581
|
+
var schema34 = {
|
|
3471
3582
|
scenario: z27.enum([
|
|
3472
3583
|
"browser-client",
|
|
3473
3584
|
"server-client",
|
|
@@ -3477,7 +3588,7 @@ var schema33 = {
|
|
|
3477
3588
|
"webhook-verification"
|
|
3478
3589
|
]).describe("Authentication scenario")
|
|
3479
3590
|
};
|
|
3480
|
-
var
|
|
3591
|
+
var metadata34 = {
|
|
3481
3592
|
name: "sdk-get-auth-setup",
|
|
3482
3593
|
description: "Get the current authentication setup for a specific scenario. Returns env var names, code snippets, and security notes.",
|
|
3483
3594
|
annotations: {
|
|
@@ -3641,12 +3752,12 @@ function handler5({
|
|
|
3641
3752
|
// src/tools/sdk-get-collection-pattern.ts
|
|
3642
3753
|
import { z as z28 } from "zod";
|
|
3643
3754
|
import { COLLECTIONS, SERVER_COLLECTIONS as SERVER_COLLECTIONS4 } from "@01.software/sdk";
|
|
3644
|
-
var
|
|
3755
|
+
var schema35 = {
|
|
3645
3756
|
collection: z28.enum(SERVER_COLLECTIONS4).describe("Collection name"),
|
|
3646
3757
|
operation: z28.enum(["read", "write", "full-crud"]).default("read").describe("What operations are needed"),
|
|
3647
3758
|
surface: z28.enum(["query-builder", "react-query", "server-api"]).default("query-builder").describe("Preferred API surface")
|
|
3648
3759
|
};
|
|
3649
|
-
var
|
|
3760
|
+
var metadata35 = {
|
|
3650
3761
|
name: "sdk-get-collection-pattern",
|
|
3651
3762
|
description: "Get the recommended CRUD pattern for a specific collection. Returns code examples for the chosen API surface and operation type.",
|
|
3652
3763
|
annotations: {
|
|
@@ -3843,13 +3954,13 @@ function handler6({
|
|
|
3843
3954
|
|
|
3844
3955
|
// src/prompts/sdk-usage-guide.ts
|
|
3845
3956
|
import { z as z29 } from "zod";
|
|
3846
|
-
var
|
|
3957
|
+
var schema36 = {
|
|
3847
3958
|
goal: z29.string().describe('What the user wants to accomplish (e.g., "query product list", "create order")'),
|
|
3848
3959
|
runtime: z29.enum(["browser", "server"]).optional().describe("Target runtime: browser (React/Next.js client) or server (Node.js)"),
|
|
3849
3960
|
surface: z29.enum(["query-builder", "react-query", "customer-api", "server-api"]).optional().describe("Preferred API surface"),
|
|
3850
3961
|
collection: z29.string().optional().describe("Specific collection if relevant")
|
|
3851
3962
|
};
|
|
3852
|
-
var
|
|
3963
|
+
var metadata36 = {
|
|
3853
3964
|
name: "sdk-usage-guide",
|
|
3854
3965
|
title: "SDK Usage Guide",
|
|
3855
3966
|
description: "Provides guidance on how to perform a specific task using the 01.software SDK",
|
|
@@ -4023,12 +4134,12 @@ const { allAvailable } = await client.commerce.product.stockCheck({
|
|
|
4023
4134
|
// src/prompts/collection-query-help.ts
|
|
4024
4135
|
import { z as z30 } from "zod";
|
|
4025
4136
|
import { COLLECTIONS as COLLECTIONS2, SERVER_COLLECTIONS as SERVER_COLLECTIONS5 } from "@01.software/sdk";
|
|
4026
|
-
var
|
|
4137
|
+
var schema37 = {
|
|
4027
4138
|
collection: z30.enum(SERVER_COLLECTIONS5).describe("Collection name"),
|
|
4028
4139
|
operation: z30.enum(["find", "create", "update", "delete"]).describe("Operation to perform (find, create, update, delete)"),
|
|
4029
4140
|
filters: z30.string().optional().describe("Filter conditions (JSON string, optional)")
|
|
4030
4141
|
};
|
|
4031
|
-
var
|
|
4142
|
+
var metadata37 = {
|
|
4032
4143
|
name: "collection-query-help",
|
|
4033
4144
|
title: "Collection Query Help",
|
|
4034
4145
|
description: "Provides guidance on how to write queries for a specific collection",
|
|
@@ -4126,7 +4237,7 @@ ${operation === "find" ? `- Use \`where\` option for filtering (Payload query sy
|
|
|
4126
4237
|
|
|
4127
4238
|
// src/prompts/order-flow-guide.ts
|
|
4128
4239
|
import { z as z31 } from "zod";
|
|
4129
|
-
var
|
|
4240
|
+
var schema38 = {
|
|
4130
4241
|
scenario: z31.enum([
|
|
4131
4242
|
"simple-order",
|
|
4132
4243
|
"cart-checkout",
|
|
@@ -4135,7 +4246,7 @@ var schema37 = {
|
|
|
4135
4246
|
"fulfillment-tracking"
|
|
4136
4247
|
]).describe("Order flow scenario")
|
|
4137
4248
|
};
|
|
4138
|
-
var
|
|
4249
|
+
var metadata38 = {
|
|
4139
4250
|
name: "order-flow-guide",
|
|
4140
4251
|
title: "Order Flow Guide",
|
|
4141
4252
|
description: "Provides step-by-step guidance for ecommerce order flows including creation, checkout, returns, and fulfillment.",
|
|
@@ -4155,10 +4266,16 @@ var SCENARIOS = {
|
|
|
4155
4266
|
- Successful confirmation transitions the order to \`paid\`
|
|
4156
4267
|
- Paid orders reserve sellable quantity (reservedStock += qty); physical stock is decremented on delivery
|
|
4157
4268
|
|
|
4158
|
-
3. **Fulfillment** \u2192 \`
|
|
4159
|
-
- Provide
|
|
4160
|
-
-
|
|
4161
|
-
-
|
|
4269
|
+
3. **Prepare Fulfillment Work** \u2192 \`prepare-fulfillment-order\` tool
|
|
4270
|
+
- Provide orderNumber only
|
|
4271
|
+
- Starts fulfillment-order work without carrier/tracking
|
|
4272
|
+
- Order display status is derived as \`preparing\`
|
|
4273
|
+
|
|
4274
|
+
4. **Create Shipment** \u2192 \`create-fulfillment\` tool
|
|
4275
|
+
- Provide orderNumber
|
|
4276
|
+
- Optional: carrier + trackingNumber can be supplied now or later
|
|
4277
|
+
- Shipment status starts as \`shipped\`
|
|
4278
|
+
- Shipment state drives the derived order display status
|
|
4162
4279
|
|
|
4163
4280
|
### Code Example (ServerClient)
|
|
4164
4281
|
\`\`\`typescript
|
|
@@ -4189,7 +4306,12 @@ await client.commerce.orders.confirmPayment({
|
|
|
4189
4306
|
confirmationSource: 'provider_api_confirm'
|
|
4190
4307
|
})
|
|
4191
4308
|
|
|
4192
|
-
// 3.
|
|
4309
|
+
// 3. Start fulfillment work without tracking
|
|
4310
|
+
await client.commerce.orders.prepareFulfillmentOrder({
|
|
4311
|
+
orderNumber: 'ORD-240101-001'
|
|
4312
|
+
})
|
|
4313
|
+
|
|
4314
|
+
// 4. Ship items; tracking can be added now or later
|
|
4193
4315
|
await client.commerce.orders.createFulfillment({
|
|
4194
4316
|
orderNumber: 'ORD-240101-001',
|
|
4195
4317
|
carrier: 'cj',
|
|
@@ -4275,11 +4397,12 @@ await client.commerce.orders.returnWithRefund({
|
|
|
4275
4397
|
- **PG refund is not performed by Console** \u2014 storefront/BFF calls Toss/Portone; webhook sync is a follow-up
|
|
4276
4398
|
- \`refundedAmount\` is not incremented on local cancel; new cancels return \`providerRefunded: false\`
|
|
4277
4399
|
- \`refundPending: true\` signals storefront PG refund is still required; idempotent retries may return it from server metadata
|
|
4400
|
+
- \`in_progress\` / \`on_hold\` preparation fulfillment orders are voided during cancel when no shipment exists
|
|
4278
4401
|
- Legacy inline-PG-cancel rows may still return \`reconciliationRequired: true\` with \`providerRefunded: true\`
|
|
4279
4402
|
- Duplicate local success returns \`alreadyCanceled: true\`
|
|
4280
4403
|
|
|
4281
4404
|
### V1 Rejections
|
|
4282
|
-
- Orders with
|
|
4405
|
+
- Orders with active fulfillments (not \`failed\` / \`canceled\`) are rejected
|
|
4283
4406
|
- \`shipped\`, \`delivered\`, \`confirmed\`, and return-axis orders are rejected
|
|
4284
4407
|
- Active returns are rejected; use \`return-with-refund\` after delivery
|
|
4285
4408
|
- Partial line-item cancellation is not supported in v1
|
|
@@ -4327,32 +4450,45 @@ Use one idempotency key per distinct PG refund attempt/result. For PG refund fai
|
|
|
4327
4450
|
"fulfillment-tracking": `## Fulfillment & Tracking
|
|
4328
4451
|
|
|
4329
4452
|
### Creating Fulfillment
|
|
4330
|
-
1. **
|
|
4331
|
-
- Order must be
|
|
4332
|
-
-
|
|
4333
|
-
-
|
|
4453
|
+
1. **Prepare Fulfillment Work** \u2192 \`prepare-fulfillment-order\` tool
|
|
4454
|
+
- Order must be paid and fulfillable
|
|
4455
|
+
- Provide orderNumber only
|
|
4456
|
+
- No carrier/tracking is required
|
|
4457
|
+
- Fulfillment order status becomes \`in_progress\`
|
|
4458
|
+
|
|
4459
|
+
2. **Create Shipment** \u2192 \`create-fulfillment\` tool
|
|
4460
|
+
- Provide orderNumber
|
|
4461
|
+
- Optional: carrier and trackingNumber can be supplied now or updated later
|
|
4462
|
+
- Optional: fulfillmentOrderId and item quantities for partial shipments
|
|
4463
|
+
- Shipment status starts as \`shipped\`
|
|
4334
4464
|
|
|
4335
4465
|
### Updating Fulfillment
|
|
4336
|
-
|
|
4337
|
-
-
|
|
4338
|
-
- Or:
|
|
4339
|
-
- Carrier/trackingNumber
|
|
4466
|
+
3. **Update Shipment** \u2192 \`update-fulfillment\` tool
|
|
4467
|
+
- Shipment lifecycle: shipped \u2192 delivered
|
|
4468
|
+
- Or: shipped \u2192 failed
|
|
4469
|
+
- Carrier/trackingNumber can be added or corrected after shipment creation
|
|
4340
4470
|
|
|
4341
4471
|
### Auto Timestamps
|
|
4342
4472
|
- \`shipped\` \u2192 sets \`shippedAt\`
|
|
4343
4473
|
- \`delivered\` \u2192 sets \`deliveredAt\`
|
|
4344
4474
|
|
|
4345
|
-
### Order
|
|
4346
|
-
-
|
|
4347
|
-
-
|
|
4348
|
-
-
|
|
4475
|
+
### Order Display Projection
|
|
4476
|
+
- \`preparing\` is derived from active fulfillment-order work
|
|
4477
|
+
- \`shipped\` is derived from active shipment rows
|
|
4478
|
+
- \`delivered\` is derived only after all active shipments are delivered
|
|
4479
|
+
- \`confirmed\` is set through \`update-order\` after delivery
|
|
4349
4480
|
|
|
4350
4481
|
### Carriers
|
|
4351
4482
|
cj, hanjin, lotte, epost, logen, other
|
|
4352
4483
|
|
|
4353
4484
|
### Code Example
|
|
4354
4485
|
\`\`\`typescript
|
|
4355
|
-
//
|
|
4486
|
+
// Prepare fulfillment work first
|
|
4487
|
+
await client.commerce.orders.prepareFulfillmentOrder({
|
|
4488
|
+
orderNumber: 'ORD-240101-001'
|
|
4489
|
+
})
|
|
4490
|
+
|
|
4491
|
+
// Create shipment; carrier/tracking are optional
|
|
4356
4492
|
await client.commerce.orders.createFulfillment({
|
|
4357
4493
|
orderNumber: 'ORD-240101-001',
|
|
4358
4494
|
carrier: 'cj',
|
|
@@ -4360,6 +4496,13 @@ await client.commerce.orders.createFulfillment({
|
|
|
4360
4496
|
items: [{ orderItem: 'oi-id', quantity: 2 }]
|
|
4361
4497
|
})
|
|
4362
4498
|
|
|
4499
|
+
// Add or update tracking later
|
|
4500
|
+
await client.commerce.orders.updateFulfillment({
|
|
4501
|
+
fulfillmentId: 'ful-id',
|
|
4502
|
+
carrier: 'cj',
|
|
4503
|
+
trackingNumber: '1234567890'
|
|
4504
|
+
})
|
|
4505
|
+
|
|
4363
4506
|
// Mark as delivered
|
|
4364
4507
|
await client.commerce.orders.updateFulfillment({
|
|
4365
4508
|
fulfillmentId: 'ful-id',
|
|
@@ -4377,7 +4520,7 @@ ${SCENARIOS[scenario] || "Unknown scenario."}
|
|
|
4377
4520
|
## Related MCP Tools
|
|
4378
4521
|
- \`create-order\`, \`get-order\`, \`update-order\`
|
|
4379
4522
|
- \`checkout\`
|
|
4380
|
-
- \`create-fulfillment\`, \`update-fulfillment\`
|
|
4523
|
+
- \`prepare-fulfillment-order\`, \`create-fulfillment\`, \`update-fulfillment\`
|
|
4381
4524
|
- \`create-return\`, \`update-return\`, \`return-with-refund\`
|
|
4382
4525
|
- \`confirm-payment\`, \`cancel-order\`, \`update-transaction\`
|
|
4383
4526
|
- \`validate-discount\`, \`calculate-shipping\``;
|
|
@@ -4385,7 +4528,7 @@ ${SCENARIOS[scenario] || "Unknown scenario."}
|
|
|
4385
4528
|
|
|
4386
4529
|
// src/prompts/feature-setup-guide.ts
|
|
4387
4530
|
import { z as z32 } from "zod";
|
|
4388
|
-
var
|
|
4531
|
+
var schema39 = {
|
|
4389
4532
|
feature: z32.enum([
|
|
4390
4533
|
"ecommerce",
|
|
4391
4534
|
"customers",
|
|
@@ -4401,7 +4544,7 @@ var schema38 = {
|
|
|
4401
4544
|
"community"
|
|
4402
4545
|
]).describe("Feature to get setup guide for")
|
|
4403
4546
|
};
|
|
4404
|
-
var
|
|
4547
|
+
var metadata39 = {
|
|
4405
4548
|
name: "feature-setup-guide",
|
|
4406
4549
|
title: "Feature Setup Guide",
|
|
4407
4550
|
description: "Setup checklist and remediation guide for a tenant feature. Load with check-feature-progress and get-tenant-context to diagnose setup gaps.",
|
|
@@ -4609,7 +4752,7 @@ ${FEATURES[feature] || "Unknown feature."}
|
|
|
4609
4752
|
}
|
|
4610
4753
|
|
|
4611
4754
|
// src/resources/(config)/app.ts
|
|
4612
|
-
var
|
|
4755
|
+
var metadata40 = {
|
|
4613
4756
|
name: "app-config",
|
|
4614
4757
|
title: "Application Config",
|
|
4615
4758
|
description: "01.software SDK and MCP server configuration information"
|
|
@@ -4653,7 +4796,7 @@ The hosted HTTP MCP endpoint at https://mcp.01.software/mcp exposes only these O
|
|
|
4653
4796
|
- \`sdk-get-auth-setup\` - Get framework-specific auth setup guidance
|
|
4654
4797
|
- \`sdk-get-collection-pattern\` - Get collection-specific usage patterns
|
|
4655
4798
|
|
|
4656
|
-
## Local CLI Stdio Surface (
|
|
4799
|
+
## Local CLI Stdio Surface (35)
|
|
4657
4800
|
|
|
4658
4801
|
For trusted local server-key workflows, start the stdio server:
|
|
4659
4802
|
|
|
@@ -4675,7 +4818,7 @@ Rate limits depend on your tenant plan:
|
|
|
4675
4818
|
|
|
4676
4819
|
// src/resources/(collections)/schema.ts
|
|
4677
4820
|
import { COLLECTIONS as COLLECTIONS3 } from "@01.software/sdk";
|
|
4678
|
-
var
|
|
4821
|
+
var metadata41 = {
|
|
4679
4822
|
name: "collections-schema",
|
|
4680
4823
|
title: "Collection Schema Info",
|
|
4681
4824
|
description: "Available collections and their schema information"
|
|
@@ -4812,7 +4955,7 @@ Total available collections: ${COLLECTIONS3.length}`;
|
|
|
4812
4955
|
}
|
|
4813
4956
|
|
|
4814
4957
|
// src/resources/(docs)/getting-started.ts
|
|
4815
|
-
var
|
|
4958
|
+
var metadata42 = {
|
|
4816
4959
|
name: "docs-getting-started",
|
|
4817
4960
|
title: "Getting Started",
|
|
4818
4961
|
description: "01.software SDK getting started guide"
|
|
@@ -4873,7 +5016,7 @@ const result = await client.collections.from('products').find({
|
|
|
4873
5016
|
}
|
|
4874
5017
|
|
|
4875
5018
|
// src/resources/(docs)/guides.ts
|
|
4876
|
-
var
|
|
5019
|
+
var metadata43 = {
|
|
4877
5020
|
name: "docs-guides",
|
|
4878
5021
|
title: "Guides",
|
|
4879
5022
|
description: "01.software SDK usage guides"
|
|
@@ -5086,7 +5229,7 @@ For more implementation guidance, see the [SDK Guide](/developers/sdk).`;
|
|
|
5086
5229
|
}
|
|
5087
5230
|
|
|
5088
5231
|
// src/resources/(docs)/api.ts
|
|
5089
|
-
var
|
|
5232
|
+
var metadata44 = {
|
|
5090
5233
|
name: "docs-api",
|
|
5091
5234
|
title: "API Reference",
|
|
5092
5235
|
description: "01.software SDK API reference documentation"
|
|
@@ -5369,7 +5512,7 @@ For more details, see the [API documentation](/developers/api).`;
|
|
|
5369
5512
|
}
|
|
5370
5513
|
|
|
5371
5514
|
// src/resources/(docs)/query-builder.ts
|
|
5372
|
-
var
|
|
5515
|
+
var metadata45 = {
|
|
5373
5516
|
name: "docs-query-builder",
|
|
5374
5517
|
title: "Query Builder",
|
|
5375
5518
|
description: "01.software SDK Query Builder API reference (client.collections.from)"
|
|
@@ -5522,6 +5665,33 @@ if (page1.hasNextPage) {
|
|
|
5522
5665
|
}
|
|
5523
5666
|
\`\`\`
|
|
5524
5667
|
|
|
5668
|
+
## Join fields (\`joins\`)
|
|
5669
|
+
|
|
5670
|
+
Payload \`type: 'join'\` reverse-relations (e.g. \`products.variants\`, \`products.options\`) are **not** controlled by \`depth\`. When \`joins\` is omitted, each join field defaults to **limit 10** docs.
|
|
5671
|
+
|
|
5672
|
+
Storefront PLPs that query \`products\` with only \`depth\` and group client-side can silently drop color swatches when a product has more than 10 option values. Prefer \`commerce.product.listingGroupsCatalog()\` + \`buildProductListingCard()\`, or spread \`PRODUCT_PLP_FIND_OPTIONS\` from \`@01.software/sdk\` into raw \`find()\` calls.
|
|
5673
|
+
|
|
5674
|
+
\`\`\`typescript
|
|
5675
|
+
import { PRODUCT_PLP_FIND_OPTIONS } from '@01.software/sdk'
|
|
5676
|
+
|
|
5677
|
+
await client.collections.from('products').find({
|
|
5678
|
+
...PRODUCT_PLP_FIND_OPTIONS,
|
|
5679
|
+
where: { status: { equals: 'published' } },
|
|
5680
|
+
limit: 24,
|
|
5681
|
+
})
|
|
5682
|
+
|
|
5683
|
+
// Or configure joins explicitly (tune limits to your catalog size):
|
|
5684
|
+
await client.collections.from('products').find({
|
|
5685
|
+
joins: {
|
|
5686
|
+
variants: { limit: 50, sort: '_order' },
|
|
5687
|
+
options: { limit: 30, sort: '_order' },
|
|
5688
|
+
},
|
|
5689
|
+
})
|
|
5690
|
+
|
|
5691
|
+
// Disable all join-field population for lightweight lists:
|
|
5692
|
+
await client.collections.from('products').find({ joins: false })
|
|
5693
|
+
\`\`\`
|
|
5694
|
+
|
|
5525
5695
|
## Sorting
|
|
5526
5696
|
|
|
5527
5697
|
\`\`\`typescript
|
|
@@ -5563,7 +5733,7 @@ console.log(result.hasNextPage) // true
|
|
|
5563
5733
|
}
|
|
5564
5734
|
|
|
5565
5735
|
// src/resources/(docs)/react-query.ts
|
|
5566
|
-
var
|
|
5736
|
+
var metadata46 = {
|
|
5567
5737
|
name: "docs-react-query",
|
|
5568
5738
|
title: "React Query Hooks",
|
|
5569
5739
|
description: "01.software SDK React Query hooks reference (@01.software/sdk/query)"
|
|
@@ -5795,7 +5965,7 @@ export function ProductList() {
|
|
|
5795
5965
|
}
|
|
5796
5966
|
|
|
5797
5967
|
// src/resources/(docs)/server-api.ts
|
|
5798
|
-
var
|
|
5968
|
+
var metadata47 = {
|
|
5799
5969
|
name: "docs-server-api",
|
|
5800
5970
|
title: "Server-side API",
|
|
5801
5971
|
description: "01.software SDK server-side API reference (client.commerce) for orders, fulfillments, returns, carts, and validation"
|
|
@@ -5871,25 +6041,34 @@ const order = docs[0] ?? null
|
|
|
5871
6041
|
\`\`\`
|
|
5872
6042
|
|
|
5873
6043
|
### updateOrder()
|
|
5874
|
-
|
|
6044
|
+
Confirm an order after delivery. Financial and shipment/display statuses are server-derived.
|
|
5875
6045
|
|
|
5876
6046
|
\`\`\`typescript
|
|
5877
6047
|
const order = await client.commerce.orders.update({
|
|
5878
6048
|
orderNumber: 'ORD-20240101-0001',
|
|
5879
|
-
status: '
|
|
6049
|
+
status: 'confirmed',
|
|
5880
6050
|
})
|
|
5881
6051
|
\`\`\`
|
|
5882
6052
|
|
|
5883
6053
|
## Fulfillment API
|
|
5884
6054
|
|
|
6055
|
+
### prepareFulfillmentOrder()
|
|
6056
|
+
Start fulfillment-order work without carrier or tracking.
|
|
6057
|
+
|
|
6058
|
+
\`\`\`typescript
|
|
6059
|
+
const result = await client.commerce.orders.prepareFulfillmentOrder({
|
|
6060
|
+
orderNumber: 'ORD-20240101-0001',
|
|
6061
|
+
})
|
|
6062
|
+
\`\`\`
|
|
6063
|
+
|
|
5885
6064
|
### createFulfillment()
|
|
5886
|
-
Create a shipment record for order items.
|
|
6065
|
+
Create a shipment record for order items. Carrier and trackingNumber are optional and can be added later.
|
|
5887
6066
|
|
|
5888
6067
|
\`\`\`typescript
|
|
5889
6068
|
const fulfillment = await client.commerce.orders.createFulfillment({
|
|
5890
6069
|
orderNumber: 'ORD-20240101-0001',
|
|
5891
|
-
carrier
|
|
5892
|
-
trackingNumber
|
|
6070
|
+
carrier: 'cj', // optional: cj | hanjin | lotte | epost | logen | other
|
|
6071
|
+
trackingNumber: '123456789012', // optional
|
|
5893
6072
|
items: [
|
|
5894
6073
|
{ orderItem: 'order-item-id', quantity: 2 }
|
|
5895
6074
|
],
|
|
@@ -5897,14 +6076,13 @@ const fulfillment = await client.commerce.orders.createFulfillment({
|
|
|
5897
6076
|
\`\`\`
|
|
5898
6077
|
|
|
5899
6078
|
### updateFulfillment()
|
|
5900
|
-
Update fulfillment status
|
|
6079
|
+
Update fulfillment status or tracking information.
|
|
5901
6080
|
|
|
5902
6081
|
\`\`\`typescript
|
|
5903
6082
|
const fulfillment = await client.commerce.orders.updateFulfillment({
|
|
5904
6083
|
fulfillmentId: 'fulfillment-id',
|
|
5905
|
-
|
|
5906
|
-
|
|
5907
|
-
trackingNumber?: '123456789012',
|
|
6084
|
+
carrier: 'cj',
|
|
6085
|
+
trackingNumber: '123456789012',
|
|
5908
6086
|
})
|
|
5909
6087
|
\`\`\`
|
|
5910
6088
|
|
|
@@ -5919,9 +6097,12 @@ const ret = await client.commerce.orders.createReturn({
|
|
|
5919
6097
|
reason?: 'defective', // change_of_mind | defective | wrong_delivery | damaged | other
|
|
5920
6098
|
reasonDetail?: 'Screen cracked on arrival',
|
|
5921
6099
|
returnItems: [
|
|
5922
|
-
{ orderItem: 'order-item-id', quantity: 1 }
|
|
6100
|
+
{ orderItem: 'order-item-id', quantity: 1, restockingFee?: 500 }
|
|
5923
6101
|
],
|
|
5924
6102
|
refundAmount: 29900,
|
|
6103
|
+
returnShippingFee?: 1500,
|
|
6104
|
+
initialShippingRefundAmount?: 3000,
|
|
6105
|
+
initialShippingRefundOverrideNote?: 'Policy override note',
|
|
5925
6106
|
})
|
|
5926
6107
|
\`\`\`
|
|
5927
6108
|
|
|
@@ -5948,6 +6129,8 @@ const result = await client.commerce.orders.returnWithRefund({
|
|
|
5948
6129
|
],
|
|
5949
6130
|
refundAmount: 29900,
|
|
5950
6131
|
returnShippingFee?: 1500,
|
|
6132
|
+
initialShippingRefundAmount?: 3000,
|
|
6133
|
+
initialShippingRefundOverrideNote?: 'Policy override note',
|
|
5951
6134
|
pgPaymentId: 'provider-payment-id', // required
|
|
5952
6135
|
paymentKey: 'provider-payment-key', // required for provider refund
|
|
5953
6136
|
refundReceiptUrl?: 'https://...',
|
|
@@ -6079,7 +6262,7 @@ const result = await client.commerce.shipping.calculate({
|
|
|
6079
6262
|
}
|
|
6080
6263
|
|
|
6081
6264
|
// src/resources/(docs)/customer-auth.ts
|
|
6082
|
-
var
|
|
6265
|
+
var metadata48 = {
|
|
6083
6266
|
name: "docs-customer-auth",
|
|
6084
6267
|
title: "Customer Auth API",
|
|
6085
6268
|
description: "01.software SDK Customer Auth API reference (client.customer)"
|
|
@@ -6257,7 +6440,7 @@ async function loadProfile() {
|
|
|
6257
6440
|
}
|
|
6258
6441
|
|
|
6259
6442
|
// src/resources/(docs)/browser-vs-server.ts
|
|
6260
|
-
var
|
|
6443
|
+
var metadata49 = {
|
|
6261
6444
|
name: "docs-browser-vs-server",
|
|
6262
6445
|
title: "Client vs ServerClient",
|
|
6263
6446
|
description: "When to use Client (createClient) vs ServerClient (createServerClient) in the 01.software SDK"
|
|
@@ -6423,7 +6606,7 @@ export function ProductList() {
|
|
|
6423
6606
|
}
|
|
6424
6607
|
|
|
6425
6608
|
// src/resources/(docs)/file-upload.ts
|
|
6426
|
-
var
|
|
6609
|
+
var metadata50 = {
|
|
6427
6610
|
name: "docs-file-upload",
|
|
6428
6611
|
title: "File Upload",
|
|
6429
6612
|
description: "01.software SDK file upload patterns using the images collection"
|
|
@@ -6574,7 +6757,7 @@ The platform stores files in Cloudflare R2 and serves via CDN (\`cdn.01.software
|
|
|
6574
6757
|
}
|
|
6575
6758
|
|
|
6576
6759
|
// src/resources/(docs)/webhook.ts
|
|
6577
|
-
var
|
|
6760
|
+
var metadata51 = {
|
|
6578
6761
|
name: "docs-webhook",
|
|
6579
6762
|
title: "Webhooks",
|
|
6580
6763
|
description: "01.software SDK webhook verification and event handling"
|
|
@@ -6643,8 +6826,8 @@ export async function POST(request: Request) {
|
|
|
6643
6826
|
|
|
6644
6827
|
\`\`\`typescript
|
|
6645
6828
|
import {
|
|
6829
|
+
createCommerceNotificationWebhookHandler,
|
|
6646
6830
|
handleWebhook,
|
|
6647
|
-
isCommerceNotificationWebhookEvent,
|
|
6648
6831
|
} from '@01.software/sdk/webhook'
|
|
6649
6832
|
|
|
6650
6833
|
function getWebhookSecret(): string {
|
|
@@ -6653,26 +6836,25 @@ function getWebhookSecret(): string {
|
|
|
6653
6836
|
return secret
|
|
6654
6837
|
}
|
|
6655
6838
|
|
|
6656
|
-
|
|
6657
|
-
|
|
6658
|
-
|
|
6659
|
-
|
|
6660
|
-
|
|
6661
|
-
|
|
6662
|
-
|
|
6663
|
-
const orderId = event.notification.orderId ?? event.data.orderId
|
|
6664
|
-
if (orderId) await updateOrderWorkflow(orderId)
|
|
6665
|
-
}
|
|
6839
|
+
const commerceNotificationHandler = createCommerceNotificationWebhookHandler({
|
|
6840
|
+
async orderPaid({ event, idempotencyKey }) {
|
|
6841
|
+
await processOnce(idempotencyKey, async () => {
|
|
6842
|
+
const orderId = event.notification.orderId ?? event.data.orderId
|
|
6843
|
+
if (orderId) await updateOrderWorkflow(orderId)
|
|
6844
|
+
})
|
|
6845
|
+
},
|
|
6666
6846
|
|
|
6667
|
-
|
|
6668
|
-
|
|
6669
|
-
|
|
6670
|
-
|
|
6671
|
-
|
|
6847
|
+
async fulfillmentShipped({ event, idempotencyKey }) {
|
|
6848
|
+
await processOnce(idempotencyKey, async () => {
|
|
6849
|
+
const fulfillmentId =
|
|
6850
|
+
event.notification.fulfillmentId ?? event.data.fulfillmentId
|
|
6851
|
+
if (fulfillmentId) await updateFulfillmentWorkflow(fulfillmentId)
|
|
6672
6852
|
})
|
|
6853
|
+
},
|
|
6854
|
+
})
|
|
6673
6855
|
|
|
6674
|
-
|
|
6675
|
-
|
|
6856
|
+
export async function POST(request: Request) {
|
|
6857
|
+
return handleWebhook(request, commerceNotificationHandler, {
|
|
6676
6858
|
secret: getWebhookSecret(),
|
|
6677
6859
|
})
|
|
6678
6860
|
}
|
|
@@ -6680,11 +6862,11 @@ export async function POST(request: Request) {
|
|
|
6680
6862
|
|
|
6681
6863
|
Back \`processOnce()\` with durable storage such as a database unique key or queue idempotency store; do not use process-local memory for webhook idempotency.
|
|
6682
6864
|
|
|
6683
|
-
##
|
|
6865
|
+
## Commerce Notification Workers
|
|
6684
6866
|
|
|
6685
|
-
For tenant-owned
|
|
6867
|
+
For new tenant-owned commerce side effects, use \`commerce.notification\` as the trigger and build a signed worker with \`createCommerceNotificationWebhookHandler()\`. Existing email workers may keep \`createCommerceEmailWebhookHandler()\` as a compatibility alias, but the general helper name should be used in new guidance. 01.software owns event timing, delivery retries, signing, and idempotency signals; the tenant worker owns email, external PG calls, extra order/customer fetches via \`createServerClient\`, and final side effects.
|
|
6686
6868
|
|
|
6687
|
-
Use \`getCommerceNotificationIdempotencyKey(event)\` or the \`idempotencyKey\` passed by \`
|
|
6869
|
+
Use \`getCommerceNotificationIdempotencyKey(event)\` or the \`idempotencyKey\` passed by \`createCommerceNotificationWebhookHandler()\`, then guard side effects with durable \`processOnce(idempotencyKey, ...)\` storage. \`notification.intentId + notification.dedupeKey\` is semantic idempotency. \`deliveryId\` is delivery-attempt observability only.
|
|
6688
6870
|
|
|
6689
6871
|
## Webhook Payload Structure
|
|
6690
6872
|
|
|
@@ -6737,9 +6919,11 @@ Canonical example (public operational identifiers only; no PII, payment/provider
|
|
|
6737
6919
|
Use \`notification.intentId\` plus \`notification.dedupeKey\` for semantic idempotency. \`deliveryId\` is per delivery attempt / observability and may not be stable across semantic retries.
|
|
6738
6920
|
Some normalized deliveries may include \`data.source\` or \`change\` metadata, but handlers should treat those fields as optional. Route from \`notification.orderId\`, \`notification.fulfillmentId\`, \`notification.returnId\`, or the matching typed \`data.*Id\` field.
|
|
6739
6921
|
|
|
6922
|
+
For CMS/Admin cancellation side effects, route \`commerce.notification/orderCanceled\` workers per the public webhooks guide (**orderCanceled external PG refund handoff**). Use \`orders/update\` only for cache refreshes and local projections. Detailed trusted refetch, PG refund classification, and refund reporting contracts live in that guide\u2014not in this generic webhook resource.
|
|
6923
|
+
|
|
6740
6924
|
V1 source subscription semantics:
|
|
6741
6925
|
|
|
6742
|
-
- \`orderPaid\` and \`orderDelivered\` are delivered through \`orders\`-scoped endpoints.
|
|
6926
|
+
- \`orderPaid\`, \`orderCanceled\`, and \`orderDelivered\` are delivered through \`orders\`-scoped endpoints.
|
|
6743
6927
|
- \`fulfillmentShipped\` is delivered through \`fulfillments\`-scoped endpoints.
|
|
6744
6928
|
- \`returnRequested\` and \`returnCompleted\` are delivered through \`returns\`-scoped endpoints.
|
|
6745
6929
|
- Empty, unscoped, and all-collection endpoints do not receive v1 semantic commerce notifications.
|
|
@@ -6838,7 +7022,7 @@ Configure webhook URLs in the 01.software console under Tenant Settings > Webhoo
|
|
|
6838
7022
|
}
|
|
6839
7023
|
|
|
6840
7024
|
// src/resources/(docs)/product-detail.ts
|
|
6841
|
-
var
|
|
7025
|
+
var metadata52 = {
|
|
6842
7026
|
name: "docs-product-detail",
|
|
6843
7027
|
title: "Product Detail Helper",
|
|
6844
7028
|
description: "01.software SDK commerce.product.detail helper guide"
|
|
@@ -6948,7 +7132,7 @@ function runtimeAnnotationsFor(meta) {
|
|
|
6948
7132
|
openWorldHint: policy.annotationPolicy.openWorld
|
|
6949
7133
|
};
|
|
6950
7134
|
}
|
|
6951
|
-
function registerTool(server,
|
|
7135
|
+
function registerTool(server, schema40, meta, handler21) {
|
|
6952
7136
|
let registered = REGISTERED_TOOLS_BY_SERVER.get(server);
|
|
6953
7137
|
if (!registered) {
|
|
6954
7138
|
registered = /* @__PURE__ */ new Set();
|
|
@@ -6959,7 +7143,7 @@ function registerTool(server, schema39, meta, handler21) {
|
|
|
6959
7143
|
meta.name,
|
|
6960
7144
|
{
|
|
6961
7145
|
description: meta.description,
|
|
6962
|
-
inputSchema:
|
|
7146
|
+
inputSchema: schema40,
|
|
6963
7147
|
annotations: runtimeAnnotationsFor(meta)
|
|
6964
7148
|
},
|
|
6965
7149
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -7009,13 +7193,13 @@ function registerTool(server, schema39, meta, handler21) {
|
|
|
7009
7193
|
}
|
|
7010
7194
|
);
|
|
7011
7195
|
}
|
|
7012
|
-
function registerPrompt(server,
|
|
7196
|
+
function registerPrompt(server, schema40, meta, handler21) {
|
|
7013
7197
|
server.registerPrompt(
|
|
7014
7198
|
meta.name,
|
|
7015
7199
|
{
|
|
7016
7200
|
title: meta.title,
|
|
7017
7201
|
description: meta.description,
|
|
7018
|
-
argsSchema:
|
|
7202
|
+
argsSchema: schema40
|
|
7019
7203
|
},
|
|
7020
7204
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
7021
7205
|
(params) => ({
|
|
@@ -7075,245 +7259,251 @@ function createServer(options = {}) {
|
|
|
7075
7259
|
server,
|
|
7076
7260
|
schema8,
|
|
7077
7261
|
metadata8,
|
|
7078
|
-
|
|
7262
|
+
prepareFulfillmentOrder
|
|
7079
7263
|
);
|
|
7080
7264
|
registerTool(
|
|
7081
7265
|
server,
|
|
7082
7266
|
schema9,
|
|
7083
7267
|
metadata9,
|
|
7084
|
-
|
|
7268
|
+
updateFulfillment
|
|
7085
7269
|
);
|
|
7086
7270
|
registerTool(
|
|
7087
7271
|
server,
|
|
7088
7272
|
schema10,
|
|
7089
7273
|
metadata10,
|
|
7090
|
-
|
|
7274
|
+
updateTransaction
|
|
7091
7275
|
);
|
|
7092
|
-
registerTool(server, schema11, metadata11, cancelOrder);
|
|
7093
7276
|
registerTool(
|
|
7094
7277
|
server,
|
|
7095
|
-
|
|
7096
|
-
|
|
7097
|
-
|
|
7278
|
+
schema11,
|
|
7279
|
+
metadata11,
|
|
7280
|
+
confirmPayment
|
|
7098
7281
|
);
|
|
7282
|
+
registerTool(server, schema12, metadata12, cancelOrder);
|
|
7099
7283
|
registerTool(
|
|
7100
7284
|
server,
|
|
7101
7285
|
schema13,
|
|
7102
7286
|
metadata13,
|
|
7103
|
-
|
|
7287
|
+
createReturn
|
|
7104
7288
|
);
|
|
7105
7289
|
registerTool(
|
|
7106
7290
|
server,
|
|
7107
7291
|
schema14,
|
|
7108
7292
|
metadata14,
|
|
7109
|
-
|
|
7293
|
+
updateReturn
|
|
7110
7294
|
);
|
|
7111
|
-
registerTool(server, schema15, metadata15, addCartItem);
|
|
7112
7295
|
registerTool(
|
|
7113
7296
|
server,
|
|
7114
|
-
|
|
7115
|
-
|
|
7116
|
-
|
|
7297
|
+
schema15,
|
|
7298
|
+
metadata15,
|
|
7299
|
+
returnWithRefund
|
|
7117
7300
|
);
|
|
7301
|
+
registerTool(server, schema16, metadata16, addCartItem);
|
|
7118
7302
|
registerTool(
|
|
7119
7303
|
server,
|
|
7120
7304
|
schema17,
|
|
7121
7305
|
metadata17,
|
|
7122
|
-
|
|
7306
|
+
updateCartItem
|
|
7123
7307
|
);
|
|
7124
7308
|
registerTool(
|
|
7125
7309
|
server,
|
|
7126
7310
|
schema18,
|
|
7127
7311
|
metadata18,
|
|
7128
|
-
|
|
7312
|
+
removeCartItem
|
|
7129
7313
|
);
|
|
7130
7314
|
registerTool(
|
|
7131
7315
|
server,
|
|
7132
7316
|
schema19,
|
|
7133
7317
|
metadata19,
|
|
7134
|
-
|
|
7318
|
+
applyDiscount
|
|
7135
7319
|
);
|
|
7136
|
-
registerTool(server, schema20, metadata20, clearCart);
|
|
7137
7320
|
registerTool(
|
|
7138
7321
|
server,
|
|
7139
|
-
|
|
7140
|
-
|
|
7141
|
-
|
|
7322
|
+
schema20,
|
|
7323
|
+
metadata20,
|
|
7324
|
+
removeDiscount
|
|
7142
7325
|
);
|
|
7326
|
+
registerTool(server, schema21, metadata21, clearCart);
|
|
7143
7327
|
registerTool(
|
|
7144
7328
|
server,
|
|
7145
7329
|
schema22,
|
|
7146
7330
|
metadata22,
|
|
7147
|
-
|
|
7331
|
+
validateDiscount
|
|
7148
7332
|
);
|
|
7149
|
-
registerTool(server, schema23, metadata23, stockCheck);
|
|
7150
7333
|
registerTool(
|
|
7151
7334
|
server,
|
|
7152
|
-
|
|
7153
|
-
|
|
7154
|
-
|
|
7335
|
+
schema23,
|
|
7336
|
+
metadata23,
|
|
7337
|
+
calculateShipping
|
|
7155
7338
|
);
|
|
7339
|
+
registerTool(server, schema24, metadata24, stockCheck);
|
|
7156
7340
|
registerTool(
|
|
7157
7341
|
server,
|
|
7158
7342
|
schema25,
|
|
7159
7343
|
metadata25,
|
|
7344
|
+
productDetail
|
|
7345
|
+
);
|
|
7346
|
+
registerTool(
|
|
7347
|
+
server,
|
|
7348
|
+
schema26,
|
|
7349
|
+
metadata26,
|
|
7160
7350
|
productUpsert
|
|
7161
7351
|
);
|
|
7162
7352
|
}
|
|
7163
|
-
registerTool(
|
|
7164
|
-
server,
|
|
7165
|
-
schema26,
|
|
7166
|
-
metadata26,
|
|
7167
|
-
getCollectionSchemaTool
|
|
7168
|
-
);
|
|
7169
7353
|
registerTool(
|
|
7170
7354
|
server,
|
|
7171
7355
|
schema27,
|
|
7172
7356
|
metadata27,
|
|
7173
|
-
|
|
7357
|
+
getCollectionSchemaTool
|
|
7174
7358
|
);
|
|
7175
7359
|
registerTool(
|
|
7176
7360
|
server,
|
|
7177
7361
|
schema28,
|
|
7178
7362
|
metadata28,
|
|
7179
|
-
|
|
7363
|
+
handler
|
|
7180
7364
|
);
|
|
7181
7365
|
registerTool(
|
|
7182
7366
|
server,
|
|
7183
7367
|
schema29,
|
|
7184
7368
|
metadata29,
|
|
7185
|
-
|
|
7369
|
+
handler2
|
|
7186
7370
|
);
|
|
7187
7371
|
registerTool(
|
|
7188
7372
|
server,
|
|
7189
7373
|
schema30,
|
|
7190
7374
|
metadata30,
|
|
7191
|
-
|
|
7375
|
+
listConfigurableFields
|
|
7192
7376
|
);
|
|
7193
7377
|
registerTool(
|
|
7194
7378
|
server,
|
|
7195
7379
|
schema31,
|
|
7196
7380
|
metadata31,
|
|
7197
|
-
|
|
7381
|
+
updateFieldConfig
|
|
7198
7382
|
);
|
|
7199
7383
|
registerTool(
|
|
7200
7384
|
server,
|
|
7201
7385
|
schema32,
|
|
7202
7386
|
metadata32,
|
|
7203
|
-
|
|
7387
|
+
handler3
|
|
7204
7388
|
);
|
|
7205
7389
|
registerTool(
|
|
7206
7390
|
server,
|
|
7207
7391
|
schema33,
|
|
7208
7392
|
metadata33,
|
|
7209
|
-
|
|
7393
|
+
handler4
|
|
7210
7394
|
);
|
|
7211
7395
|
registerTool(
|
|
7212
7396
|
server,
|
|
7213
7397
|
schema34,
|
|
7214
7398
|
metadata34,
|
|
7215
|
-
|
|
7399
|
+
handler5
|
|
7216
7400
|
);
|
|
7217
|
-
|
|
7401
|
+
registerTool(
|
|
7218
7402
|
server,
|
|
7219
7403
|
schema35,
|
|
7220
7404
|
metadata35,
|
|
7221
|
-
|
|
7405
|
+
handler6
|
|
7222
7406
|
);
|
|
7223
7407
|
registerPrompt(
|
|
7224
7408
|
server,
|
|
7225
7409
|
schema36,
|
|
7226
7410
|
metadata36,
|
|
7227
|
-
|
|
7411
|
+
sdkUsageGuide
|
|
7228
7412
|
);
|
|
7229
7413
|
registerPrompt(
|
|
7230
7414
|
server,
|
|
7231
7415
|
schema37,
|
|
7232
7416
|
metadata37,
|
|
7233
|
-
|
|
7417
|
+
collectionQueryHelp
|
|
7234
7418
|
);
|
|
7235
7419
|
registerPrompt(
|
|
7236
7420
|
server,
|
|
7237
7421
|
schema38,
|
|
7238
7422
|
metadata38,
|
|
7423
|
+
orderFlowGuide
|
|
7424
|
+
);
|
|
7425
|
+
registerPrompt(
|
|
7426
|
+
server,
|
|
7427
|
+
schema39,
|
|
7428
|
+
metadata39,
|
|
7239
7429
|
featureSetupGuide
|
|
7240
7430
|
);
|
|
7241
7431
|
registerStaticResource(
|
|
7242
7432
|
server,
|
|
7243
7433
|
mcpResourceUri("app-config"),
|
|
7244
|
-
|
|
7434
|
+
metadata40,
|
|
7245
7435
|
handler7
|
|
7246
7436
|
);
|
|
7247
7437
|
registerStaticResource(
|
|
7248
7438
|
server,
|
|
7249
7439
|
mcpResourceUri("collections-schema"),
|
|
7250
|
-
|
|
7440
|
+
metadata41,
|
|
7251
7441
|
handler8
|
|
7252
7442
|
);
|
|
7253
7443
|
registerStaticResource(
|
|
7254
7444
|
server,
|
|
7255
7445
|
mcpResourceUri("docs-getting-started"),
|
|
7256
|
-
|
|
7446
|
+
metadata42,
|
|
7257
7447
|
handler9
|
|
7258
7448
|
);
|
|
7259
7449
|
registerStaticResource(
|
|
7260
7450
|
server,
|
|
7261
7451
|
mcpResourceUri("docs-guides"),
|
|
7262
|
-
|
|
7452
|
+
metadata43,
|
|
7263
7453
|
handler10
|
|
7264
7454
|
);
|
|
7265
7455
|
registerStaticResource(
|
|
7266
7456
|
server,
|
|
7267
7457
|
mcpResourceUri("docs-api"),
|
|
7268
|
-
|
|
7458
|
+
metadata44,
|
|
7269
7459
|
handler11
|
|
7270
7460
|
);
|
|
7271
7461
|
registerStaticResource(
|
|
7272
7462
|
server,
|
|
7273
7463
|
mcpResourceUri("docs-query-builder"),
|
|
7274
|
-
|
|
7464
|
+
metadata45,
|
|
7275
7465
|
handler12
|
|
7276
7466
|
);
|
|
7277
7467
|
registerStaticResource(
|
|
7278
7468
|
server,
|
|
7279
7469
|
mcpResourceUri("docs-react-query"),
|
|
7280
|
-
|
|
7470
|
+
metadata46,
|
|
7281
7471
|
handler13
|
|
7282
7472
|
);
|
|
7283
7473
|
registerStaticResource(
|
|
7284
7474
|
server,
|
|
7285
7475
|
mcpResourceUri("docs-server-api"),
|
|
7286
|
-
|
|
7476
|
+
metadata47,
|
|
7287
7477
|
handler14
|
|
7288
7478
|
);
|
|
7289
7479
|
registerStaticResource(
|
|
7290
7480
|
server,
|
|
7291
7481
|
mcpResourceUri("docs-customer-auth"),
|
|
7292
|
-
|
|
7482
|
+
metadata48,
|
|
7293
7483
|
handler15
|
|
7294
7484
|
);
|
|
7295
7485
|
registerStaticResource(
|
|
7296
7486
|
server,
|
|
7297
7487
|
mcpResourceUri("docs-browser-vs-server"),
|
|
7298
|
-
|
|
7488
|
+
metadata49,
|
|
7299
7489
|
handler16
|
|
7300
7490
|
);
|
|
7301
7491
|
registerStaticResource(
|
|
7302
7492
|
server,
|
|
7303
7493
|
mcpResourceUri("docs-file-upload"),
|
|
7304
|
-
|
|
7494
|
+
metadata50,
|
|
7305
7495
|
handler17
|
|
7306
7496
|
);
|
|
7307
7497
|
registerStaticResource(
|
|
7308
7498
|
server,
|
|
7309
7499
|
mcpResourceUri("docs-webhook"),
|
|
7310
|
-
|
|
7500
|
+
metadata51,
|
|
7311
7501
|
handler18
|
|
7312
7502
|
);
|
|
7313
7503
|
registerStaticResource(
|
|
7314
7504
|
server,
|
|
7315
7505
|
mcpResourceUri("docs-product-detail"),
|
|
7316
|
-
|
|
7506
|
+
metadata52,
|
|
7317
7507
|
handler19
|
|
7318
7508
|
);
|
|
7319
7509
|
return server;
|