pcbway-mcp-server 0.1.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/LICENSE +21 -0
- package/README.md +322 -0
- package/dist/client.d.ts +35 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +135 -0
- package/dist/client.js.map +1 -0
- package/dist/config.d.ts +23 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +24 -0
- package/dist/config.js.map +1 -0
- package/dist/enums.d.ts +20 -0
- package/dist/enums.d.ts.map +1 -0
- package/dist/enums.js +20 -0
- package/dist/enums.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +509 -0
- package/dist/index.js.map +1 -0
- package/dist/resources/Account.d.ts +14 -0
- package/dist/resources/Account.d.ts.map +1 -0
- package/dist/resources/Account.js +22 -0
- package/dist/resources/Account.js.map +1 -0
- package/dist/resources/AssemblyQuote.d.ts +144 -0
- package/dist/resources/AssemblyQuote.d.ts.map +1 -0
- package/dist/resources/AssemblyQuote.js +102 -0
- package/dist/resources/AssemblyQuote.js.map +1 -0
- package/dist/resources/CancelOrder.d.ts +23 -0
- package/dist/resources/CancelOrder.d.ts.map +1 -0
- package/dist/resources/CancelOrder.js +21 -0
- package/dist/resources/CancelOrder.js.map +1 -0
- package/dist/resources/CancelTGroupOrder.d.ts +23 -0
- package/dist/resources/CancelTGroupOrder.d.ts.map +1 -0
- package/dist/resources/CancelTGroupOrder.js +21 -0
- package/dist/resources/CancelTGroupOrder.js.map +1 -0
- package/dist/resources/CheckGroupOrder.d.ts +23 -0
- package/dist/resources/CheckGroupOrder.d.ts.map +1 -0
- package/dist/resources/CheckGroupOrder.js +40 -0
- package/dist/resources/CheckGroupOrder.js.map +1 -0
- package/dist/resources/CheckTGroupOrder.d.ts +23 -0
- package/dist/resources/CheckTGroupOrder.d.ts.map +1 -0
- package/dist/resources/CheckTGroupOrder.js +43 -0
- package/dist/resources/CheckTGroupOrder.js.map +1 -0
- package/dist/resources/ConfirmOrder.d.ts +107 -0
- package/dist/resources/ConfirmOrder.d.ts.map +1 -0
- package/dist/resources/ConfirmOrder.js +67 -0
- package/dist/resources/ConfirmOrder.js.map +1 -0
- package/dist/resources/GetCities.d.ts +35 -0
- package/dist/resources/GetCities.d.ts.map +1 -0
- package/dist/resources/GetCities.js +33 -0
- package/dist/resources/GetCities.js.map +1 -0
- package/dist/resources/GetCountries.d.ts +14 -0
- package/dist/resources/GetCountries.d.ts.map +1 -0
- package/dist/resources/GetCountries.js +22 -0
- package/dist/resources/GetCountries.js.map +1 -0
- package/dist/resources/GetStates.d.ts +29 -0
- package/dist/resources/GetStates.d.ts.map +1 -0
- package/dist/resources/GetStates.js +31 -0
- package/dist/resources/GetStates.js.map +1 -0
- package/dist/resources/Order.d.ts +25 -0
- package/dist/resources/Order.d.ts.map +1 -0
- package/dist/resources/Order.js +59 -0
- package/dist/resources/Order.js.map +1 -0
- package/dist/resources/OrderDetails.d.ts +23 -0
- package/dist/resources/OrderDetails.d.ts.map +1 -0
- package/dist/resources/OrderDetails.js +47 -0
- package/dist/resources/OrderDetails.js.map +1 -0
- package/dist/resources/OrderProcess.d.ts +23 -0
- package/dist/resources/OrderProcess.d.ts.map +1 -0
- package/dist/resources/OrderProcess.js +36 -0
- package/dist/resources/OrderProcess.js.map +1 -0
- package/dist/resources/PayTGroupOrder.d.ts +29 -0
- package/dist/resources/PayTGroupOrder.d.ts.map +1 -0
- package/dist/resources/PayTGroupOrder.js +41 -0
- package/dist/resources/PayTGroupOrder.js.map +1 -0
- package/dist/resources/PcbQuote.d.ts +329 -0
- package/dist/resources/PcbQuote.d.ts.map +1 -0
- package/dist/resources/PcbQuote.js +111 -0
- package/dist/resources/PcbQuote.js.map +1 -0
- package/dist/resources/PlaceOrder.d.ts +173 -0
- package/dist/resources/PlaceOrder.d.ts.map +1 -0
- package/dist/resources/PlaceOrder.js +90 -0
- package/dist/resources/PlaceOrder.js.map +1 -0
- package/dist/resources/Shipping.d.ts +65 -0
- package/dist/resources/Shipping.d.ts.map +1 -0
- package/dist/resources/Shipping.js +47 -0
- package/dist/resources/Shipping.js.map +1 -0
- package/dist/resources/SmtQuote.d.ts +89 -0
- package/dist/resources/SmtQuote.d.ts.map +1 -0
- package/dist/resources/SmtQuote.js +56 -0
- package/dist/resources/SmtQuote.js.map +1 -0
- package/dist/resources/Status.d.ts +27 -0
- package/dist/resources/Status.d.ts.map +1 -0
- package/dist/resources/Status.js +47 -0
- package/dist/resources/Status.js.map +1 -0
- package/dist/resources/common.d.ts +10 -0
- package/dist/resources/common.d.ts.map +1 -0
- package/dist/resources/common.js +69 -0
- package/dist/resources/common.js.map +1 -0
- package/dist/types.d.ts +552 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +8 -0
- package/dist/types.js.map +1 -0
- package/package.json +56 -0
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { PAY_TYPES } from '../enums.js';
|
|
3
|
+
export const ConfirmOrderInputSchema = z.object({
|
|
4
|
+
OrderNo: z.string().min(1).describe('Order number(s) — comma-separated for multiple (e.g. "W00001AS1" or "W00001AS1,W00001AS2")'),
|
|
5
|
+
PayType: z.number().int().describe('Payment method (1=AccountPay, 2=PCBWayWebPay)'),
|
|
6
|
+
AddGroupNo: z.string().optional().describe('Order package number (when adding to existing package)'),
|
|
7
|
+
ShipType: z.number().int().optional().describe('Logistics company (required unless adding to package)'),
|
|
8
|
+
Country: z.string().optional().describe('Country name (required unless adding to package)'),
|
|
9
|
+
CountryCode: z.string().optional().describe('Country code (required unless adding to package)'),
|
|
10
|
+
State: z.string().optional().describe('State/Province/Region'),
|
|
11
|
+
Postalcode: z.string().optional().describe('Postal code'),
|
|
12
|
+
City: z.string().optional().describe('City (required unless adding to package)'),
|
|
13
|
+
Addr: z.string().optional().describe('Delivery address (required unless adding to package)'),
|
|
14
|
+
CompanyName: z.string().optional().describe('Company name'),
|
|
15
|
+
ContactName: z.string().optional().describe('Contact person'),
|
|
16
|
+
Tel: z.string().optional().describe('Phone number (required unless adding to package)'),
|
|
17
|
+
BuyerEmail: z.string().optional().describe('Buyer email for contact'),
|
|
18
|
+
Tax: z.string().optional().describe('Tax ID'),
|
|
19
|
+
});
|
|
20
|
+
export class ConfirmOrder {
|
|
21
|
+
client;
|
|
22
|
+
static inputSchema = ConfirmOrderInputSchema;
|
|
23
|
+
constructor(client) {
|
|
24
|
+
this.client = client;
|
|
25
|
+
}
|
|
26
|
+
async confirm(params) {
|
|
27
|
+
const body = {
|
|
28
|
+
OrderNo: params.OrderNo,
|
|
29
|
+
PayType: params.PayType,
|
|
30
|
+
AddGroupNo: params.AddGroupNo ?? null,
|
|
31
|
+
ShipType: params.ShipType ?? null,
|
|
32
|
+
Country: params.Country ?? null,
|
|
33
|
+
CountryCode: params.CountryCode ?? null,
|
|
34
|
+
State: params.State ?? null,
|
|
35
|
+
Postalcode: params.Postalcode ?? null,
|
|
36
|
+
City: params.City ?? null,
|
|
37
|
+
Addr: params.Addr ?? null,
|
|
38
|
+
CompanyName: params.CompanyName ?? null,
|
|
39
|
+
ContactName: params.ContactName ?? null,
|
|
40
|
+
Tel: params.Tel ?? null,
|
|
41
|
+
BuyerEmail: params.BuyerEmail ?? null,
|
|
42
|
+
Tax: params.Tax ?? null,
|
|
43
|
+
};
|
|
44
|
+
const res = await this.client.request('/api/Pcb/ConfirmOrder', body);
|
|
45
|
+
const payTypeName = Object.entries(PAY_TYPES).find(([, v]) => v === res.PayType)?.[0] ?? `Type ${res.PayType}`;
|
|
46
|
+
const lines = [
|
|
47
|
+
'## Confirm Order / Payment\n',
|
|
48
|
+
`**Total Amount:** $${res.TotalAmount.toFixed(2)}`,
|
|
49
|
+
`**Account Balance:** $${res.AccountBalance.toFixed(2)}`,
|
|
50
|
+
`**Payment Method:** ${payTypeName}`,
|
|
51
|
+
];
|
|
52
|
+
if (res.DeliveryDate) {
|
|
53
|
+
lines.push(`**Delivery Date:** ${res.DeliveryDate}`);
|
|
54
|
+
}
|
|
55
|
+
if (res.GroupNo) {
|
|
56
|
+
lines.push(`**Order Package:** ${res.GroupNo}`);
|
|
57
|
+
}
|
|
58
|
+
if (res.TGroupNo) {
|
|
59
|
+
lines.push(`**Awaiting Payment Package:** ${res.TGroupNo}`);
|
|
60
|
+
}
|
|
61
|
+
if (res.PCBWayPayUrl) {
|
|
62
|
+
lines.push(`**Payment URL:** ${res.PCBWayPayUrl}`);
|
|
63
|
+
}
|
|
64
|
+
return lines.join('\n');
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=ConfirmOrder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfirmOrder.js","sourceRoot":"","sources":["../../src/resources/ConfirmOrder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { PcbWayClient } from '../client.js';
|
|
3
|
+
export declare const GetCitiesInputSchema: z.ZodObject<{
|
|
4
|
+
Country: z.ZodString;
|
|
5
|
+
CountryCode: z.ZodString;
|
|
6
|
+
State: z.ZodOptional<z.ZodString>;
|
|
7
|
+
}, "strip", z.ZodTypeAny, {
|
|
8
|
+
Country: string;
|
|
9
|
+
CountryCode: string;
|
|
10
|
+
State?: string | undefined;
|
|
11
|
+
}, {
|
|
12
|
+
Country: string;
|
|
13
|
+
CountryCode: string;
|
|
14
|
+
State?: string | undefined;
|
|
15
|
+
}>;
|
|
16
|
+
export type GetCitiesInput = z.infer<typeof GetCitiesInputSchema>;
|
|
17
|
+
export declare class GetCities {
|
|
18
|
+
private client;
|
|
19
|
+
static inputSchema: z.ZodObject<{
|
|
20
|
+
Country: z.ZodString;
|
|
21
|
+
CountryCode: z.ZodString;
|
|
22
|
+
State: z.ZodOptional<z.ZodString>;
|
|
23
|
+
}, "strip", z.ZodTypeAny, {
|
|
24
|
+
Country: string;
|
|
25
|
+
CountryCode: string;
|
|
26
|
+
State?: string | undefined;
|
|
27
|
+
}, {
|
|
28
|
+
Country: string;
|
|
29
|
+
CountryCode: string;
|
|
30
|
+
State?: string | undefined;
|
|
31
|
+
}>;
|
|
32
|
+
constructor(client: PcbWayClient);
|
|
33
|
+
get(params: GetCitiesInput): Promise<string>;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=GetCities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GetCities.d.ts","sourceRoot":"","sources":["../../src/resources/GetCities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAGjD,eAAO,MAAM,oBAAoB;;;;;;;;;;;;EAI/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,qBAAa,SAAS;IAGR,OAAO,CAAC,MAAM;IAF1B,MAAM,CAAC,WAAW;;;;;;;;;;;;OAAwB;gBAEtB,MAAM,EAAE,YAAY;IAElC,GAAG,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;CA0BnD"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export const GetCitiesInputSchema = z.object({
|
|
3
|
+
Country: z.string().min(1).describe('Country name (e.g. "UNITED STATES OF AMERICA")'),
|
|
4
|
+
CountryCode: z.string().min(1).describe('Country code (e.g. "US")'),
|
|
5
|
+
State: z.string().optional().describe('State/Province/Region to filter by'),
|
|
6
|
+
});
|
|
7
|
+
export class GetCities {
|
|
8
|
+
client;
|
|
9
|
+
static inputSchema = GetCitiesInputSchema;
|
|
10
|
+
constructor(client) {
|
|
11
|
+
this.client = client;
|
|
12
|
+
}
|
|
13
|
+
async get(params) {
|
|
14
|
+
const body = {
|
|
15
|
+
Country: params.Country,
|
|
16
|
+
CountryCode: params.CountryCode,
|
|
17
|
+
State: params.State ?? null,
|
|
18
|
+
};
|
|
19
|
+
const res = await this.client.request('/api/Address/GetCity', body);
|
|
20
|
+
if (!res.Citys || res.Citys.length === 0) {
|
|
21
|
+
return 'No cities found for the given region';
|
|
22
|
+
}
|
|
23
|
+
const lines = [
|
|
24
|
+
'## Cities\n',
|
|
25
|
+
];
|
|
26
|
+
for (const c of res.Citys) {
|
|
27
|
+
lines.push(`- **${c.City}** (${c.Postalcode})`);
|
|
28
|
+
}
|
|
29
|
+
lines.push(`\n*${res.Citys.length} cities total*`);
|
|
30
|
+
return lines.join('\n');
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=GetCities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GetCities.js","sourceRoot":"","sources":["../../src/resources/GetCities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,gDAAgD,CAAC;IACrF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACnE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;CAC5E,CAAC,CAAC;AAIH,MAAM,OAAO,SAAS;IAGA;IAFpB,MAAM,CAAC,WAAW,GAAG,oBAAoB,CAAC;IAE1C,YAAoB,MAAoB;QAApB,WAAM,GAAN,MAAM,CAAc;IAAG,CAAC;IAE5C,KAAK,CAAC,GAAG,CAAC,MAAsB;QAC9B,MAAM,IAAI,GAAmB;YAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,IAAI;SAC5B,CAAC;QAEF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CACnC,sBAAsB,EACtB,IAA0C,CAC3C,CAAC;QAEF,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzC,OAAO,sCAAsC,CAAC;QAChD,CAAC;QAED,MAAM,KAAK,GAAa;YACtB,aAAa;SACd,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC;QAClD,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,MAAM,gBAAgB,CAAC,CAAC;QAEnD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { PcbWayClient } from '../client.js';
|
|
3
|
+
/**
|
|
4
|
+
* GetCountries takes no parameters — empty body.
|
|
5
|
+
*/
|
|
6
|
+
export declare const GetCountriesInputSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
|
|
7
|
+
export type GetCountriesInput = z.infer<typeof GetCountriesInputSchema>;
|
|
8
|
+
export declare class GetCountries {
|
|
9
|
+
private client;
|
|
10
|
+
static inputSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
|
|
11
|
+
constructor(client: PcbWayClient);
|
|
12
|
+
get(_params: GetCountriesInput): Promise<string>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=GetCountries.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GetCountries.d.ts","sourceRoot":"","sources":["../../src/resources/GetCountries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAGjD;;GAEG;AACH,eAAO,MAAM,uBAAuB,gDAAe,CAAC;AAEpD,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,qBAAa,YAAY;IAGX,OAAO,CAAC,MAAM;IAF1B,MAAM,CAAC,WAAW,iDAA2B;gBAEzB,MAAM,EAAE,YAAY;IAElC,GAAG,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;CAcvD"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* GetCountries takes no parameters — empty body.
|
|
4
|
+
*/
|
|
5
|
+
export const GetCountriesInputSchema = z.object({});
|
|
6
|
+
export class GetCountries {
|
|
7
|
+
client;
|
|
8
|
+
static inputSchema = GetCountriesInputSchema;
|
|
9
|
+
constructor(client) {
|
|
10
|
+
this.client = client;
|
|
11
|
+
}
|
|
12
|
+
async get(_params) {
|
|
13
|
+
const res = await this.client.request('/api/Address/GetCountry', {});
|
|
14
|
+
const lines = ['## Supported Countries\n'];
|
|
15
|
+
for (const c of res.Countrys) {
|
|
16
|
+
lines.push(`- **${c.Country}** (${c.CountryCode})`);
|
|
17
|
+
}
|
|
18
|
+
lines.push(`\n*${res.Countrys.length} countries total*`);
|
|
19
|
+
return lines.join('\n');
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=GetCountries.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GetCountries.js","sourceRoot":"","sources":["../../src/resources/GetCountries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAIpD,MAAM,OAAO,YAAY;IAGH;IAFpB,MAAM,CAAC,WAAW,GAAG,uBAAuB,CAAC;IAE7C,YAAoB,MAAoB;QAApB,WAAM,GAAN,MAAM,CAAc;IAAG,CAAC;IAE5C,KAAK,CAAC,GAAG,CAAC,OAA0B;QAClC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CACnC,yBAAyB,EACzB,EAAE,CACH,CAAC;QAEF,MAAM,KAAK,GAAa,CAAC,0BAA0B,CAAC,CAAC;QACrD,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC;QACtD,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,mBAAmB,CAAC,CAAC;QAEzD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { PcbWayClient } from '../client.js';
|
|
3
|
+
export declare const GetStatesInputSchema: z.ZodObject<{
|
|
4
|
+
Country: z.ZodString;
|
|
5
|
+
CountryCode: z.ZodString;
|
|
6
|
+
}, "strip", z.ZodTypeAny, {
|
|
7
|
+
Country: string;
|
|
8
|
+
CountryCode: string;
|
|
9
|
+
}, {
|
|
10
|
+
Country: string;
|
|
11
|
+
CountryCode: string;
|
|
12
|
+
}>;
|
|
13
|
+
export type GetStatesInput = z.infer<typeof GetStatesInputSchema>;
|
|
14
|
+
export declare class GetStates {
|
|
15
|
+
private client;
|
|
16
|
+
static inputSchema: z.ZodObject<{
|
|
17
|
+
Country: z.ZodString;
|
|
18
|
+
CountryCode: z.ZodString;
|
|
19
|
+
}, "strip", z.ZodTypeAny, {
|
|
20
|
+
Country: string;
|
|
21
|
+
CountryCode: string;
|
|
22
|
+
}, {
|
|
23
|
+
Country: string;
|
|
24
|
+
CountryCode: string;
|
|
25
|
+
}>;
|
|
26
|
+
constructor(client: PcbWayClient);
|
|
27
|
+
get(params: GetStatesInput): Promise<string>;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=GetStates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GetStates.d.ts","sourceRoot":"","sources":["../../src/resources/GetStates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAGjD,eAAO,MAAM,oBAAoB;;;;;;;;;EAG/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,qBAAa,SAAS;IAGR,OAAO,CAAC,MAAM;IAF1B,MAAM,CAAC,WAAW;;;;;;;;;OAAwB;gBAEtB,MAAM,EAAE,YAAY;IAElC,GAAG,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;CAyBnD"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export const GetStatesInputSchema = z.object({
|
|
3
|
+
Country: z.string().min(1).describe('Country name (e.g. "UNITED STATES OF AMERICA")'),
|
|
4
|
+
CountryCode: z.string().min(1).describe('Country code (e.g. "US")'),
|
|
5
|
+
});
|
|
6
|
+
export class GetStates {
|
|
7
|
+
client;
|
|
8
|
+
static inputSchema = GetStatesInputSchema;
|
|
9
|
+
constructor(client) {
|
|
10
|
+
this.client = client;
|
|
11
|
+
}
|
|
12
|
+
async get(params) {
|
|
13
|
+
const body = {
|
|
14
|
+
Country: params.Country,
|
|
15
|
+
CountryCode: params.CountryCode,
|
|
16
|
+
};
|
|
17
|
+
const res = await this.client.request('/api/Address/GetState', body);
|
|
18
|
+
if (!res.States || res.States.length === 0) {
|
|
19
|
+
return `No states/provinces found for ${params.Country}`;
|
|
20
|
+
}
|
|
21
|
+
const lines = [
|
|
22
|
+
`## States/Provinces — ${params.Country}\n`,
|
|
23
|
+
];
|
|
24
|
+
for (const s of res.States) {
|
|
25
|
+
lines.push(`- ${s}`);
|
|
26
|
+
}
|
|
27
|
+
lines.push(`\n*${res.States.length} regions total*`);
|
|
28
|
+
return lines.join('\n');
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=GetStates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GetStates.js","sourceRoot":"","sources":["../../src/resources/GetStates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,gDAAgD,CAAC;IACrF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC;CACpE,CAAC,CAAC;AAIH,MAAM,OAAO,SAAS;IAGA;IAFpB,MAAM,CAAC,WAAW,GAAG,oBAAoB,CAAC;IAE1C,YAAoB,MAAoB;QAApB,WAAM,GAAN,MAAM,CAAc;IAAG,CAAC;IAE5C,KAAK,CAAC,GAAG,CAAC,MAAsB;QAC9B,MAAM,IAAI,GAAoB;YAC5B,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC,CAAC;QAEF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CACnC,uBAAuB,EACvB,IAA0C,CAC3C,CAAC;QAEF,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3C,OAAO,iCAAiC,MAAM,CAAC,OAAO,EAAE,CAAC;QAC3D,CAAC;QAED,MAAM,KAAK,GAAa;YACtB,yBAAyB,MAAM,CAAC,OAAO,IAAI;SAC5C,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACvB,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,iBAAiB,CAAC,CAAC;QAErD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { PcbWayClient } from '../client.js';
|
|
3
|
+
/**
|
|
4
|
+
* Order Status resource.
|
|
5
|
+
*
|
|
6
|
+
* Tool: order_status
|
|
7
|
+
* Queries the current status and progress of a PCBWay order.
|
|
8
|
+
*/
|
|
9
|
+
export declare class Order {
|
|
10
|
+
private client;
|
|
11
|
+
constructor(client: PcbWayClient);
|
|
12
|
+
static inputSchema: z.ZodObject<{
|
|
13
|
+
orderId: z.ZodString;
|
|
14
|
+
}, "strip", z.ZodTypeAny, {
|
|
15
|
+
orderId: string;
|
|
16
|
+
}, {
|
|
17
|
+
orderId: string;
|
|
18
|
+
}>;
|
|
19
|
+
/**
|
|
20
|
+
* Get status of a PCBWay order.
|
|
21
|
+
* This calls the order status endpoint (GET).
|
|
22
|
+
*/
|
|
23
|
+
getStatus(input: z.infer<typeof Order.inputSchema>): Promise<string>;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=Order.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Order.d.ts","sourceRoot":"","sources":["../../src/resources/Order.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG5C;;;;;GAKG;AACH,qBAAa,KAAK;IAChB,OAAO,CAAC,MAAM,CAAe;gBAEjB,MAAM,EAAE,YAAY;IAIhC,MAAM,CAAC,WAAW;;;;;;OAEf;IAEH;;;OAGG;IACG,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;CAgD3E"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Order Status resource.
|
|
4
|
+
*
|
|
5
|
+
* Tool: order_status
|
|
6
|
+
* Queries the current status and progress of a PCBWay order.
|
|
7
|
+
*/
|
|
8
|
+
export class Order {
|
|
9
|
+
client;
|
|
10
|
+
constructor(client) {
|
|
11
|
+
this.client = client;
|
|
12
|
+
}
|
|
13
|
+
static inputSchema = z.object({
|
|
14
|
+
orderId: z.string().min(1).describe('PCBWay order number'),
|
|
15
|
+
});
|
|
16
|
+
/**
|
|
17
|
+
* Get status of a PCBWay order.
|
|
18
|
+
* This calls the order status endpoint (GET).
|
|
19
|
+
*/
|
|
20
|
+
async getStatus(input) {
|
|
21
|
+
const payload = { orderId: input.orderId };
|
|
22
|
+
const response = await this.client.post('/api/Order/GetStatus', payload);
|
|
23
|
+
if (response.code !== 0) {
|
|
24
|
+
return `PCBWay API error: ${response.message}`;
|
|
25
|
+
}
|
|
26
|
+
if (!response.data) {
|
|
27
|
+
return 'No order data returned.';
|
|
28
|
+
}
|
|
29
|
+
const d = response.data;
|
|
30
|
+
const lines = [
|
|
31
|
+
`**Order ${d.orderId}**`,
|
|
32
|
+
`Status: ${d.statusDescription ?? d.status}`,
|
|
33
|
+
`Progress: ${d.progressPercent ?? 0}%`,
|
|
34
|
+
];
|
|
35
|
+
if (d.estimatedCompletion) {
|
|
36
|
+
lines.push(`Est. completion: ${d.estimatedCompletion}`);
|
|
37
|
+
}
|
|
38
|
+
if (d.trackingNumber) {
|
|
39
|
+
lines.push(`Tracking: ${d.trackingNumber}`);
|
|
40
|
+
}
|
|
41
|
+
if (d.steps && d.steps.length > 0) {
|
|
42
|
+
lines.push('', '**Steps:**');
|
|
43
|
+
for (const step of d.steps) {
|
|
44
|
+
const icon = step.status === 'completed'
|
|
45
|
+
? '✅'
|
|
46
|
+
: step.status === 'in_progress'
|
|
47
|
+
? '🔄'
|
|
48
|
+
: '⏳';
|
|
49
|
+
lines.push(` ${icon} ${step.name} — ${step.status}`);
|
|
50
|
+
if (step.completedAt)
|
|
51
|
+
lines.push(` Done: ${step.completedAt}`);
|
|
52
|
+
if (step.estimatedAt && step.status !== 'completed')
|
|
53
|
+
lines.push(` Est: ${step.estimatedAt}`);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return lines.join('\n');
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=Order.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Order.js","sourceRoot":"","sources":["../../src/resources/Order.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB;;;;;GAKG;AACH,MAAM,OAAO,KAAK;IACR,MAAM,CAAe;IAE7B,YAAY,MAAoB;QAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;QAC5B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC;KAC3D,CAAC,CAAC;IAEH;;;OAGG;IACH,KAAK,CAAC,SAAS,CAAC,KAAwC;QACtD,MAAM,OAAO,GAAqB,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;QAE7D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CACrC,sBAAsB,EACtB,OAAO,CACR,CAAC;QAEF,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,qBAAqB,QAAQ,CAAC,OAAO,EAAE,CAAC;QACjD,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,OAAO,yBAAyB,CAAC;QACnC,CAAC;QAED,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC;QACxB,MAAM,KAAK,GAAa;YACtB,WAAW,CAAC,CAAC,OAAO,IAAI;YACxB,WAAW,CAAC,CAAC,iBAAiB,IAAI,CAAC,CAAC,MAAM,EAAE;YAC5C,aAAa,CAAC,CAAC,eAAe,IAAI,CAAC,GAAG;SACvC,CAAC;QAEF,IAAI,CAAC,CAAC,mBAAmB,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,CAAC,CAAC,cAAc,EAAE,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;YAC7B,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;gBAC3B,MAAM,IAAI,GACR,IAAI,CAAC,MAAM,KAAK,WAAW;oBACzB,CAAC,CAAC,GAAG;oBACL,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,aAAa;wBAC7B,CAAC,CAAC,IAAI;wBACN,CAAC,CAAC,GAAG,CAAC;gBACZ,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;gBACtD,IAAI,IAAI,CAAC,WAAW;oBAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;gBACrE,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW;oBACjD,KAAK,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { PcbWayClient } from '../client.js';
|
|
3
|
+
export declare const OrderDetailsInputSchema: z.ZodObject<{
|
|
4
|
+
OrderNo: z.ZodString;
|
|
5
|
+
}, "strip", z.ZodTypeAny, {
|
|
6
|
+
OrderNo: string;
|
|
7
|
+
}, {
|
|
8
|
+
OrderNo: string;
|
|
9
|
+
}>;
|
|
10
|
+
export type OrderDetailsInput = z.infer<typeof OrderDetailsInputSchema>;
|
|
11
|
+
export declare class OrderDetails {
|
|
12
|
+
private client;
|
|
13
|
+
static inputSchema: z.ZodObject<{
|
|
14
|
+
OrderNo: z.ZodString;
|
|
15
|
+
}, "strip", z.ZodTypeAny, {
|
|
16
|
+
OrderNo: string;
|
|
17
|
+
}, {
|
|
18
|
+
OrderNo: string;
|
|
19
|
+
}>;
|
|
20
|
+
constructor(client: PcbWayClient);
|
|
21
|
+
getDetails(params: OrderDetailsInput): Promise<string>;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=OrderDetails.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OrderDetails.d.ts","sourceRoot":"","sources":["../../src/resources/OrderDetails.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAGjD,eAAO,MAAM,uBAAuB;;;;;;EAElC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,qBAAa,YAAY;IAGX,OAAO,CAAC,MAAM;IAF1B,MAAM,CAAC,WAAW;;;;;;OAA2B;gBAEzB,MAAM,EAAE,YAAY;IAElC,UAAU,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;CA0C7D"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export const OrderDetailsInputSchema = z.object({
|
|
3
|
+
OrderNo: z.string().min(1).describe('PCBWay order number (e.g. "W0002AS1")'),
|
|
4
|
+
});
|
|
5
|
+
export class OrderDetails {
|
|
6
|
+
client;
|
|
7
|
+
static inputSchema = OrderDetailsInputSchema;
|
|
8
|
+
constructor(client) {
|
|
9
|
+
this.client = client;
|
|
10
|
+
}
|
|
11
|
+
async getDetails(params) {
|
|
12
|
+
const body = {
|
|
13
|
+
OrderNo: params.OrderNo,
|
|
14
|
+
};
|
|
15
|
+
const res = await this.client.request('/api/Pcb/CheckOrderDetails', body);
|
|
16
|
+
const pcb = res.PcbModel;
|
|
17
|
+
const statusMap = {
|
|
18
|
+
0: 'Unknown',
|
|
19
|
+
1: 'Pending',
|
|
20
|
+
2: 'Processing',
|
|
21
|
+
3: 'Completed',
|
|
22
|
+
4: 'On Hold',
|
|
23
|
+
5: 'Cancelled',
|
|
24
|
+
};
|
|
25
|
+
const lines = [
|
|
26
|
+
`## Order ${params.OrderNo} Details\n`,
|
|
27
|
+
`**Status:** ${statusMap[pcb.Status] ?? pcb.Status} | **Paid:** ${pcb.IsPaid ? 'Yes' : 'No'}`,
|
|
28
|
+
`**Price:** $${pcb.Price.toFixed(2)} | **Build Days:** ${pcb.BuildDays}`,
|
|
29
|
+
`**Delivery Date:** ${new Date(pcb.DeliveryDate).toLocaleString()}`,
|
|
30
|
+
`**Audit Result:** ${pcb.AuditResult}`,
|
|
31
|
+
'',
|
|
32
|
+
'### PCB Parameters',
|
|
33
|
+
`Dimensions: ${pcb.Length}mm × ${pcb.Width}mm | Layers: ${pcb.Layers} | Qty: ${pcb.Qty}`,
|
|
34
|
+
`Material: ${pcb.Material} | Thickness: ${pcb.Thickness}mm`,
|
|
35
|
+
`Board Type: ${pcb.BoardType} | Design in Panel: ${pcb.DesignInPanel}`,
|
|
36
|
+
`Min Track/Space: ${pcb.MinTrackSpacing} | Min Hole: ${pcb.MinHoleSize}mm`,
|
|
37
|
+
`Solder Mask: ${pcb.SolderMask} | Silkscreen: ${pcb.Silkscreen}`,
|
|
38
|
+
`Surface Finish: ${pcb.SurfaceFinish} | Copper: ${pcb.FinishedCopper}`,
|
|
39
|
+
`Via Process: ${pcb.ViaProcess}`,
|
|
40
|
+
pcb.FileUrl ? `\n**File:** [${pcb.FileName}](${pcb.FileUrl})` : '',
|
|
41
|
+
pcb.Note ? `\n**Notes:** ${pcb.Note}` : '',
|
|
42
|
+
pcb.GroupNo ? `\n**Group No:** ${pcb.GroupNo}` : '',
|
|
43
|
+
];
|
|
44
|
+
return lines.filter(Boolean).join('\n');
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=OrderDetails.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OrderDetails.js","sourceRoot":"","sources":["../../src/resources/OrderDetails.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,uCAAuC,CAAC;CAC7E,CAAC,CAAC;AAIH,MAAM,OAAO,YAAY;IAGH;IAFpB,MAAM,CAAC,WAAW,GAAG,uBAAuB,CAAC;IAE7C,YAAoB,MAAoB;QAApB,WAAM,GAAN,MAAM,CAAc;IAAG,CAAC;IAE5C,KAAK,CAAC,UAAU,CAAC,MAAyB;QACxC,MAAM,IAAI,GAA6B;YACrC,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC;QAEF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CACnC,4BAA4B,EAC5B,IAA0C,CAC3C,CAAC;QAEF,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC;QACzB,MAAM,SAAS,GAA2B;YACxC,CAAC,EAAE,SAAS;YACZ,CAAC,EAAE,SAAS;YACZ,CAAC,EAAE,YAAY;YACf,CAAC,EAAE,WAAW;YACd,CAAC,EAAE,SAAS;YACZ,CAAC,EAAE,WAAW;SACf,CAAC;QAEF,MAAM,KAAK,GAAa;YACtB,YAAY,MAAM,CAAC,OAAO,YAAY;YACtC,eAAe,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;YAC7F,eAAe,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,sBAAsB,GAAG,CAAC,SAAS,EAAE;YACxE,sBAAsB,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,cAAc,EAAE,EAAE;YACnE,qBAAqB,GAAG,CAAC,WAAW,EAAE;YACtC,EAAE;YACF,oBAAoB;YACpB,eAAe,GAAG,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAK,gBAAgB,GAAG,CAAC,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE;YACxF,aAAa,GAAG,CAAC,QAAQ,iBAAiB,GAAG,CAAC,SAAS,IAAI;YAC3D,eAAe,GAAG,CAAC,SAAS,uBAAuB,GAAG,CAAC,aAAa,EAAE;YACtE,oBAAoB,GAAG,CAAC,eAAe,gBAAgB,GAAG,CAAC,WAAW,IAAI;YAC1E,gBAAgB,GAAG,CAAC,UAAU,kBAAkB,GAAG,CAAC,UAAU,EAAE;YAChE,mBAAmB,GAAG,CAAC,aAAa,cAAc,GAAG,CAAC,cAAc,EAAE;YACtE,gBAAgB,GAAG,CAAC,UAAU,EAAE;YAChC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,GAAG,CAAC,QAAQ,KAAK,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE;YAClE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;YAC1C,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE;SACpD,CAAC;QAEF,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { PcbWayClient } from '../client.js';
|
|
3
|
+
export declare const OrderProcessInputSchema: z.ZodObject<{
|
|
4
|
+
OrderNo: z.ZodString;
|
|
5
|
+
}, "strip", z.ZodTypeAny, {
|
|
6
|
+
OrderNo: string;
|
|
7
|
+
}, {
|
|
8
|
+
OrderNo: string;
|
|
9
|
+
}>;
|
|
10
|
+
export type OrderProcessInput = z.infer<typeof OrderProcessInputSchema>;
|
|
11
|
+
export declare class OrderProcess {
|
|
12
|
+
private client;
|
|
13
|
+
static inputSchema: z.ZodObject<{
|
|
14
|
+
OrderNo: z.ZodString;
|
|
15
|
+
}, "strip", z.ZodTypeAny, {
|
|
16
|
+
OrderNo: string;
|
|
17
|
+
}, {
|
|
18
|
+
OrderNo: string;
|
|
19
|
+
}>;
|
|
20
|
+
constructor(client: PcbWayClient);
|
|
21
|
+
getStatus(params: OrderProcessInput): Promise<string>;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=OrderProcess.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OrderProcess.d.ts","sourceRoot":"","sources":["../../src/resources/OrderProcess.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAGjD,eAAO,MAAM,uBAAuB;;;;;;EAElC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,qBAAa,YAAY;IAGX,OAAO,CAAC,MAAM;IAF1B,MAAM,CAAC,WAAW;;;;;;OAA2B;gBAEzB,MAAM,EAAE,YAAY;IAElC,SAAS,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;CA+B5D"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export const OrderProcessInputSchema = z.object({
|
|
3
|
+
OrderNo: z.string().min(1).describe('PCBWay order number (e.g. "W0002AS1")'),
|
|
4
|
+
});
|
|
5
|
+
export class OrderProcess {
|
|
6
|
+
client;
|
|
7
|
+
static inputSchema = OrderProcessInputSchema;
|
|
8
|
+
constructor(client) {
|
|
9
|
+
this.client = client;
|
|
10
|
+
}
|
|
11
|
+
async getStatus(params) {
|
|
12
|
+
const body = {
|
|
13
|
+
OrderNo: params.OrderNo,
|
|
14
|
+
};
|
|
15
|
+
const res = await this.client.request('/api/Pcb/QueryOrderProcess', body);
|
|
16
|
+
const lines = [
|
|
17
|
+
`## Order ${params.OrderNo} — Fabrication Status\n`,
|
|
18
|
+
'### All Required Processes',
|
|
19
|
+
];
|
|
20
|
+
for (const proc of res.AllProcess) {
|
|
21
|
+
lines.push(`- ${proc}`);
|
|
22
|
+
}
|
|
23
|
+
lines.push('\n### Completed Steps');
|
|
24
|
+
if (res.List.length === 0) {
|
|
25
|
+
lines.push('No steps completed yet.');
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
for (const step of res.List) {
|
|
29
|
+
const time = new Date(step.Time).toLocaleString();
|
|
30
|
+
lines.push(`- ✅ **${step.Name}** — ${time}`);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return lines.join('\n');
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=OrderProcess.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OrderProcess.js","sourceRoot":"","sources":["../../src/resources/OrderProcess.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,uCAAuC,CAAC;CAC7E,CAAC,CAAC;AAIH,MAAM,OAAO,YAAY;IAGH;IAFpB,MAAM,CAAC,WAAW,GAAG,uBAAuB,CAAC;IAE7C,YAAoB,MAAoB;QAApB,WAAM,GAAN,MAAM,CAAc;IAAG,CAAC;IAE5C,KAAK,CAAC,SAAS,CAAC,MAAyB;QACvC,MAAM,IAAI,GAA6B;YACrC,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC;QAEF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CACnC,4BAA4B,EAC5B,IAA0C,CAC3C,CAAC;QAEF,MAAM,KAAK,GAAa;YACtB,YAAY,MAAM,CAAC,OAAO,yBAAyB;YACnD,4BAA4B;SAC7B,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAC1B,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACpC,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;gBAC5B,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,CAAC;gBAClD,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,QAAQ,IAAI,EAAE,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { PcbWayClient } from '../client.js';
|
|
3
|
+
export declare const PayTGroupOrderInputSchema: z.ZodObject<{
|
|
4
|
+
TGroupNo: z.ZodString;
|
|
5
|
+
PayType: z.ZodNumber;
|
|
6
|
+
}, "strip", z.ZodTypeAny, {
|
|
7
|
+
PayType: number;
|
|
8
|
+
TGroupNo: string;
|
|
9
|
+
}, {
|
|
10
|
+
PayType: number;
|
|
11
|
+
TGroupNo: string;
|
|
12
|
+
}>;
|
|
13
|
+
export type PayTGroupOrderInput = z.infer<typeof PayTGroupOrderInputSchema>;
|
|
14
|
+
export declare class PayTGroupOrder {
|
|
15
|
+
private client;
|
|
16
|
+
static inputSchema: z.ZodObject<{
|
|
17
|
+
TGroupNo: z.ZodString;
|
|
18
|
+
PayType: z.ZodNumber;
|
|
19
|
+
}, "strip", z.ZodTypeAny, {
|
|
20
|
+
PayType: number;
|
|
21
|
+
TGroupNo: string;
|
|
22
|
+
}, {
|
|
23
|
+
PayType: number;
|
|
24
|
+
TGroupNo: string;
|
|
25
|
+
}>;
|
|
26
|
+
constructor(client: PcbWayClient);
|
|
27
|
+
pay(params: PayTGroupOrderInput): Promise<string>;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=PayTGroupOrder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PayTGroupOrder.d.ts","sourceRoot":"","sources":["../../src/resources/PayTGroupOrder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAIjD,eAAO,MAAM,yBAAyB;;;;;;;;;EAGpC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,qBAAa,cAAc;IAGb,OAAO,CAAC,MAAM;IAF1B,MAAM,CAAC,WAAW;;;;;;;;;OAA6B;gBAE3B,MAAM,EAAE,YAAY;IAElC,GAAG,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC;CAoCxD"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { PAY_TYPES } from '../enums.js';
|
|
3
|
+
export const PayTGroupOrderInputSchema = z.object({
|
|
4
|
+
TGroupNo: z.string().min(1).describe('Awaiting-payment order package number'),
|
|
5
|
+
PayType: z.number().int().describe('Payment method (1=AccountPay, 2=PCBWayWebPay)'),
|
|
6
|
+
});
|
|
7
|
+
export class PayTGroupOrder {
|
|
8
|
+
client;
|
|
9
|
+
static inputSchema = PayTGroupOrderInputSchema;
|
|
10
|
+
constructor(client) {
|
|
11
|
+
this.client = client;
|
|
12
|
+
}
|
|
13
|
+
async pay(params) {
|
|
14
|
+
const body = {
|
|
15
|
+
TGroupNo: params.TGroupNo,
|
|
16
|
+
PayType: params.PayType,
|
|
17
|
+
};
|
|
18
|
+
const res = await this.client.request('/api/Pcb/PayTGroupOrder', body);
|
|
19
|
+
const payTypeName = Object.entries(PAY_TYPES).find(([, v]) => v === res.PayType)?.[0] ?? `Type ${res.PayType}`;
|
|
20
|
+
const lines = [
|
|
21
|
+
'## Pay Awaiting-Payment Package\n',
|
|
22
|
+
`**Total Amount:** $${res.TotalAmount.toFixed(2)}`,
|
|
23
|
+
`**Account Balance:** $${res.AccountBalance.toFixed(2)}`,
|
|
24
|
+
`**Payment Method:** ${payTypeName}`,
|
|
25
|
+
];
|
|
26
|
+
if (res.DeliveryDate) {
|
|
27
|
+
lines.push(`**Delivery Date:** ${res.DeliveryDate}`);
|
|
28
|
+
}
|
|
29
|
+
if (res.GroupNo) {
|
|
30
|
+
lines.push(`**Order Package:** ${res.GroupNo}`);
|
|
31
|
+
}
|
|
32
|
+
if (res.TGroupNo) {
|
|
33
|
+
lines.push(`**Awaiting Payment Package:** ${res.TGroupNo}`);
|
|
34
|
+
}
|
|
35
|
+
if (res.PCBWayPayUrl) {
|
|
36
|
+
lines.push(`**Payment URL:** ${res.PCBWayPayUrl}`);
|
|
37
|
+
}
|
|
38
|
+
return lines.join('\n');
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=PayTGroupOrder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PayTGroupOrder.js","sourceRoot":"","sources":["../../src/resources/PayTGroupOrder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,uCAAuC,CAAC;IAC7E,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;CACpF,CAAC,CAAC;AAIH,MAAM,OAAO,cAAc;IAGL;IAFpB,MAAM,CAAC,WAAW,GAAG,yBAAyB,CAAC;IAE/C,YAAoB,MAAoB;QAApB,WAAM,GAAN,MAAM,CAAc;IAAG,CAAC;IAE5C,KAAK,CAAC,GAAG,CAAC,MAA2B;QACnC,MAAM,IAAI,GAA0B;YAClC,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC;QAEF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CACnC,yBAAyB,EACzB,IAA0C,CAC3C,CAAC;QAEF,MAAM,WAAW,GACf,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,QAAQ,GAAG,CAAC,OAAO,EAAE,CAAC;QAE7F,MAAM,KAAK,GAAa;YACtB,mCAAmC;YACnC,sBAAsB,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YAClD,yBAAyB,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACxD,uBAAuB,WAAW,EAAE;SACrC,CAAC;QAEF,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,sBAAsB,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAChB,KAAK,CAAC,IAAI,CAAC,sBAAsB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,iCAAiC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,oBAAoB,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC"}
|