@pulses/quickbooks-mcp 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/dist/client.d.ts +33 -0
  2. package/dist/client.d.ts.map +1 -0
  3. package/dist/client.js +327 -0
  4. package/dist/client.js.map +1 -0
  5. package/dist/constants.d.ts +12 -0
  6. package/dist/constants.d.ts.map +1 -0
  7. package/dist/constants.js +12 -0
  8. package/dist/constants.js.map +1 -0
  9. package/dist/index.d.ts +3 -0
  10. package/dist/index.d.ts.map +1 -0
  11. package/dist/index.js +436 -0
  12. package/dist/index.js.map +1 -0
  13. package/dist/tools/accounts.d.ts +140 -0
  14. package/dist/tools/accounts.d.ts.map +1 -0
  15. package/dist/tools/accounts.js +115 -0
  16. package/dist/tools/accounts.js.map +1 -0
  17. package/dist/tools/bills.d.ts +386 -0
  18. package/dist/tools/bills.d.ts.map +1 -0
  19. package/dist/tools/bills.js +180 -0
  20. package/dist/tools/bills.js.map +1 -0
  21. package/dist/tools/company.d.ts +20 -0
  22. package/dist/tools/company.d.ts.map +1 -0
  23. package/dist/tools/company.js +37 -0
  24. package/dist/tools/company.js.map +1 -0
  25. package/dist/tools/customers.d.ts +218 -0
  26. package/dist/tools/customers.d.ts.map +1 -0
  27. package/dist/tools/customers.js +154 -0
  28. package/dist/tools/customers.js.map +1 -0
  29. package/dist/tools/employees.d.ts +182 -0
  30. package/dist/tools/employees.d.ts.map +1 -0
  31. package/dist/tools/employees.js +138 -0
  32. package/dist/tools/employees.js.map +1 -0
  33. package/dist/tools/estimates.d.ts +200 -0
  34. package/dist/tools/estimates.d.ts.map +1 -0
  35. package/dist/tools/estimates.js +131 -0
  36. package/dist/tools/estimates.js.map +1 -0
  37. package/dist/tools/invoices.d.ts +402 -0
  38. package/dist/tools/invoices.d.ts.map +1 -0
  39. package/dist/tools/invoices.js +203 -0
  40. package/dist/tools/invoices.js.map +1 -0
  41. package/dist/tools/items.d.ts +212 -0
  42. package/dist/tools/items.d.ts.map +1 -0
  43. package/dist/tools/items.js +153 -0
  44. package/dist/tools/items.js.map +1 -0
  45. package/dist/tools/journal-entries.d.ts +198 -0
  46. package/dist/tools/journal-entries.d.ts.map +1 -0
  47. package/dist/tools/journal-entries.js +135 -0
  48. package/dist/tools/journal-entries.js.map +1 -0
  49. package/dist/tools/payments.d.ts +174 -0
  50. package/dist/tools/payments.d.ts.map +1 -0
  51. package/dist/tools/payments.js +120 -0
  52. package/dist/tools/payments.js.map +1 -0
  53. package/dist/tools/purchases.d.ts +240 -0
  54. package/dist/tools/purchases.d.ts.map +1 -0
  55. package/dist/tools/purchases.js +149 -0
  56. package/dist/tools/purchases.js.map +1 -0
  57. package/dist/tools/query.d.ts +26 -0
  58. package/dist/tools/query.d.ts.map +1 -0
  59. package/dist/tools/query.js +27 -0
  60. package/dist/tools/query.js.map +1 -0
  61. package/dist/tools/reports.d.ts +178 -0
  62. package/dist/tools/reports.d.ts.map +1 -0
  63. package/dist/tools/reports.js +117 -0
  64. package/dist/tools/reports.js.map +1 -0
  65. package/dist/tools/tax.d.ts +116 -0
  66. package/dist/tools/tax.d.ts.map +1 -0
  67. package/dist/tools/tax.js +112 -0
  68. package/dist/tools/tax.js.map +1 -0
  69. package/dist/tools/time-activities.d.ts +228 -0
  70. package/dist/tools/time-activities.d.ts.map +1 -0
  71. package/dist/tools/time-activities.js +164 -0
  72. package/dist/tools/time-activities.js.map +1 -0
  73. package/dist/tools/vendors.d.ts +212 -0
  74. package/dist/tools/vendors.d.ts.map +1 -0
  75. package/dist/tools/vendors.js +152 -0
  76. package/dist/tools/vendors.js.map +1 -0
  77. package/dist/types.d.ts +295 -0
  78. package/dist/types.d.ts.map +1 -0
  79. package/dist/types.js +11 -0
  80. package/dist/types.js.map +1 -0
  81. package/package.json +46 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"estimates.js","sourceRoot":"","sources":["../../src/tools/estimates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAC;AAEH,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACrC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;CAClE,CAAC,CAAC,MAAM,EAAE,CAAC;AAEZ,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IACnD,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;CAClE,CAAC,CAAC,MAAM,EAAE,CAAC;AAEZ,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IACzD,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IACzE,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IAC/E,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;CAClE,CAAC,CAAC,MAAM,EAAE,CAAC;AAEZ,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;CACvB,CAAC,CAAC,MAAM,EAAE,CAAC;AAOZ,SAAS,cAAc,CAAC,CAAW;IACjC,IAAI,MAAM,GAAG,eAAe,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;IAC1D,IAAI,CAAC,CAAC,EAAE;QAAE,MAAM,IAAI,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC;IAC1C,IAAI,CAAC,CAAC,SAAS;QAAE,MAAM,IAAI,oBAAoB,CAAC,CAAC,SAAS,IAAI,CAAC;IAC/D,IAAI,CAAC,CAAC,WAAW;QAAE,MAAM,IAAI,mBAAmB,CAAC,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAC9F,IAAI,CAAC,CAAC,OAAO;QAAE,MAAM,IAAI,eAAe,CAAC,CAAC,OAAO,IAAI,CAAC;IACtD,IAAI,CAAC,CAAC,cAAc;QAAE,MAAM,IAAI,kBAAkB,CAAC,CAAC,cAAc,IAAI,CAAC;IACvE,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS;QAAE,MAAM,IAAI,iBAAiB,CAAC,CAAC,QAAQ,IAAI,CAAC;IACxE,IAAI,CAAC,CAAC,SAAS;QAAE,MAAM,IAAI,iBAAiB,CAAC,CAAC,SAAS,IAAI,CAAC;IAC5D,IAAI,CAAC,CAAC,WAAW;QAAE,MAAM,IAAI,uBAAuB,CAAC,CAAC,WAAW,IAAI,CAAC;IACtE,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU;QAAE,MAAM,IAAI,kBAAkB,CAAC,CAAC,QAAQ,CAAC,UAAU,IAAI,CAAC;IAClF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAAiB,EACjB,KAAyB;IAEzB,IAAI,KAAK,GAAG,wBAAwB,CAAC;IACrC,IAAI,KAAK,CAAC,KAAK;QAAE,KAAK,IAAI,UAAU,KAAK,CAAC,KAAK,EAAE,CAAC;IAClD,IAAI,KAAK,CAAC,QAAQ;QAAE,KAAK,IAAI,aAAa,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC3D,KAAK,IAAI,kBAAkB,KAAK,CAAC,cAAc,IAAI,CAAC,EAAE,CAAC;IACvD,KAAK,IAAI,eAAe,KAAK,CAAC,WAAW,IAAI,GAAG,EAAE,CAAC;IAEnD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CAA0B,KAAK,CAAC,CAAC;IACpE,MAAM,SAAS,GAAI,QAAQ,CAAC,aAAa,CAAC,QAAmC,IAAI,EAAE,CAAC;IAEpF,IAAI,KAAK,CAAC,eAAe,KAAK,MAAM,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC1F,CAAC;IAED,IAAI,MAAM,GAAG,gBAAgB,SAAS,CAAC,MAAM,eAAe,CAAC;IAC7D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,qBAAqB,CAAC;IAClC,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;YAC1B,MAAM,IAAI,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QACrC,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAiB,EACjB,KAAuB;IAEvB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAyB,aAAa,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IAC5F,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC;IAE5B,IAAI,KAAK,CAAC,eAAe,KAAK,MAAM,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,gBAAgB,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAiB,EACjB,KAA0B;IAE1B,MAAM,IAAI,GAA4B;QACpC,WAAW,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE;QACzC,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAChC,MAAM,IAAI,GAA4B;gBACpC,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,UAAU,EAAE,qBAAqB;aAClC,CAAC;YACF,IAAI,IAAI,CAAC,WAAW;gBAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YAC1D,MAAM,MAAM,GAA4B,EAAE,CAAC;YAC3C,IAAI,IAAI,CAAC,OAAO;gBAAE,MAAM,CAAC,OAAO,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;YAC3D,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS;gBAAE,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;YAClD,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;gBAAE,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;YACtE,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC;YAClC,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;KACH,CAAC;IACF,IAAI,KAAK,CAAC,QAAQ;QAAE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC;IAClD,IAAI,KAAK,CAAC,eAAe;QAAE,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,eAAe,CAAC;IACvE,IAAI,KAAK,CAAC,UAAU;QAAE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC;IACxD,IAAI,KAAK,CAAC,UAAU;QAAE,IAAI,CAAC,SAAS,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;IAErE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAyB,WAAW,EAAE,IAAI,CAAC,CAAC;IAC9E,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC;IAE5B,IAAI,KAAK,CAAC,eAAe,KAAK,MAAM,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,wBAAwB,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAiB,EACjB,KAA0B;IAE1B,MAAM,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACrE,OAAO,YAAY,KAAK,CAAC,WAAW,wBAAwB,CAAC;AAC/D,CAAC;AAED,MAAM,CAAC,MAAM,8BAA8B,GAAG,wBAAwB,CAAC;AACvE,MAAM,CAAC,MAAM,4BAA4B,GAAG,sBAAsB,CAAC;AACnE,MAAM,CAAC,MAAM,+BAA+B,GAAG,yBAAyB,CAAC;AACzE,MAAM,CAAC,MAAM,+BAA+B,GAAG,yBAAyB,CAAC"}
@@ -0,0 +1,402 @@
1
+ import { z } from "zod";
2
+ import { QBOClient } from "../client.js";
3
+ declare const ListInvoicesInputSchema: z.ZodObject<{
4
+ where: z.ZodOptional<z.ZodString>;
5
+ order_by: z.ZodOptional<z.ZodString>;
6
+ start_position: z.ZodOptional<z.ZodNumber>;
7
+ max_results: z.ZodOptional<z.ZodNumber>;
8
+ response_format: z.ZodDefault<z.ZodEnum<["json", "markdown"]>>;
9
+ }, "strict", z.ZodTypeAny, {
10
+ response_format: "json" | "markdown";
11
+ where?: string | undefined;
12
+ order_by?: string | undefined;
13
+ start_position?: number | undefined;
14
+ max_results?: number | undefined;
15
+ }, {
16
+ response_format?: "json" | "markdown" | undefined;
17
+ where?: string | undefined;
18
+ order_by?: string | undefined;
19
+ start_position?: number | undefined;
20
+ max_results?: number | undefined;
21
+ }>;
22
+ declare const GetInvoiceInputSchema: z.ZodObject<{
23
+ invoice_id: z.ZodString;
24
+ response_format: z.ZodDefault<z.ZodEnum<["json", "markdown"]>>;
25
+ }, "strict", z.ZodTypeAny, {
26
+ response_format: "json" | "markdown";
27
+ invoice_id: string;
28
+ }, {
29
+ invoice_id: string;
30
+ response_format?: "json" | "markdown" | undefined;
31
+ }>;
32
+ declare const CreateInvoiceInputSchema: z.ZodObject<{
33
+ customer_id: z.ZodString;
34
+ line_items: z.ZodArray<z.ZodObject<{
35
+ description: z.ZodOptional<z.ZodString>;
36
+ amount: z.ZodNumber;
37
+ detail_type: z.ZodDefault<z.ZodEnum<["SalesItemLineDetail", "SubTotalLineDetail", "DiscountLineDetail"]>>;
38
+ item_id: z.ZodOptional<z.ZodString>;
39
+ qty: z.ZodOptional<z.ZodNumber>;
40
+ unit_price: z.ZodOptional<z.ZodNumber>;
41
+ tax_code_id: z.ZodOptional<z.ZodString>;
42
+ }, "strip", z.ZodTypeAny, {
43
+ amount: number;
44
+ detail_type: "SalesItemLineDetail" | "SubTotalLineDetail" | "DiscountLineDetail";
45
+ description?: string | undefined;
46
+ item_id?: string | undefined;
47
+ qty?: number | undefined;
48
+ unit_price?: number | undefined;
49
+ tax_code_id?: string | undefined;
50
+ }, {
51
+ amount: number;
52
+ description?: string | undefined;
53
+ detail_type?: "SalesItemLineDetail" | "SubTotalLineDetail" | "DiscountLineDetail" | undefined;
54
+ item_id?: string | undefined;
55
+ qty?: number | undefined;
56
+ unit_price?: number | undefined;
57
+ tax_code_id?: string | undefined;
58
+ }>, "many">;
59
+ txn_date: z.ZodOptional<z.ZodString>;
60
+ due_date: z.ZodOptional<z.ZodString>;
61
+ doc_number: z.ZodOptional<z.ZodString>;
62
+ bill_email: z.ZodOptional<z.ZodString>;
63
+ response_format: z.ZodDefault<z.ZodEnum<["json", "markdown"]>>;
64
+ }, "strict", z.ZodTypeAny, {
65
+ response_format: "json" | "markdown";
66
+ customer_id: string;
67
+ line_items: {
68
+ amount: number;
69
+ detail_type: "SalesItemLineDetail" | "SubTotalLineDetail" | "DiscountLineDetail";
70
+ description?: string | undefined;
71
+ item_id?: string | undefined;
72
+ qty?: number | undefined;
73
+ unit_price?: number | undefined;
74
+ tax_code_id?: string | undefined;
75
+ }[];
76
+ txn_date?: string | undefined;
77
+ due_date?: string | undefined;
78
+ doc_number?: string | undefined;
79
+ bill_email?: string | undefined;
80
+ }, {
81
+ customer_id: string;
82
+ line_items: {
83
+ amount: number;
84
+ description?: string | undefined;
85
+ detail_type?: "SalesItemLineDetail" | "SubTotalLineDetail" | "DiscountLineDetail" | undefined;
86
+ item_id?: string | undefined;
87
+ qty?: number | undefined;
88
+ unit_price?: number | undefined;
89
+ tax_code_id?: string | undefined;
90
+ }[];
91
+ response_format?: "json" | "markdown" | undefined;
92
+ txn_date?: string | undefined;
93
+ due_date?: string | undefined;
94
+ doc_number?: string | undefined;
95
+ bill_email?: string | undefined;
96
+ }>;
97
+ declare const UpdateInvoiceInputSchema: z.ZodObject<{
98
+ invoice_id: z.ZodString;
99
+ sync_token: z.ZodString;
100
+ customer_id: z.ZodOptional<z.ZodString>;
101
+ line_items: z.ZodOptional<z.ZodArray<z.ZodObject<{
102
+ description: z.ZodOptional<z.ZodString>;
103
+ amount: z.ZodNumber;
104
+ detail_type: z.ZodDefault<z.ZodEnum<["SalesItemLineDetail", "SubTotalLineDetail", "DiscountLineDetail"]>>;
105
+ item_id: z.ZodOptional<z.ZodString>;
106
+ qty: z.ZodOptional<z.ZodNumber>;
107
+ unit_price: z.ZodOptional<z.ZodNumber>;
108
+ tax_code_id: z.ZodOptional<z.ZodString>;
109
+ }, "strip", z.ZodTypeAny, {
110
+ amount: number;
111
+ detail_type: "SalesItemLineDetail" | "SubTotalLineDetail" | "DiscountLineDetail";
112
+ description?: string | undefined;
113
+ item_id?: string | undefined;
114
+ qty?: number | undefined;
115
+ unit_price?: number | undefined;
116
+ tax_code_id?: string | undefined;
117
+ }, {
118
+ amount: number;
119
+ description?: string | undefined;
120
+ detail_type?: "SalesItemLineDetail" | "SubTotalLineDetail" | "DiscountLineDetail" | undefined;
121
+ item_id?: string | undefined;
122
+ qty?: number | undefined;
123
+ unit_price?: number | undefined;
124
+ tax_code_id?: string | undefined;
125
+ }>, "many">>;
126
+ txn_date: z.ZodOptional<z.ZodString>;
127
+ due_date: z.ZodOptional<z.ZodString>;
128
+ doc_number: z.ZodOptional<z.ZodString>;
129
+ response_format: z.ZodDefault<z.ZodEnum<["json", "markdown"]>>;
130
+ }, "strict", z.ZodTypeAny, {
131
+ response_format: "json" | "markdown";
132
+ sync_token: string;
133
+ invoice_id: string;
134
+ customer_id?: string | undefined;
135
+ line_items?: {
136
+ amount: number;
137
+ detail_type: "SalesItemLineDetail" | "SubTotalLineDetail" | "DiscountLineDetail";
138
+ description?: string | undefined;
139
+ item_id?: string | undefined;
140
+ qty?: number | undefined;
141
+ unit_price?: number | undefined;
142
+ tax_code_id?: string | undefined;
143
+ }[] | undefined;
144
+ txn_date?: string | undefined;
145
+ due_date?: string | undefined;
146
+ doc_number?: string | undefined;
147
+ }, {
148
+ sync_token: string;
149
+ invoice_id: string;
150
+ response_format?: "json" | "markdown" | undefined;
151
+ customer_id?: string | undefined;
152
+ line_items?: {
153
+ amount: number;
154
+ description?: string | undefined;
155
+ detail_type?: "SalesItemLineDetail" | "SubTotalLineDetail" | "DiscountLineDetail" | undefined;
156
+ item_id?: string | undefined;
157
+ qty?: number | undefined;
158
+ unit_price?: number | undefined;
159
+ tax_code_id?: string | undefined;
160
+ }[] | undefined;
161
+ txn_date?: string | undefined;
162
+ due_date?: string | undefined;
163
+ doc_number?: string | undefined;
164
+ }>;
165
+ declare const DeleteInvoiceInputSchema: z.ZodObject<{
166
+ invoice_id: z.ZodString;
167
+ sync_token: z.ZodString;
168
+ }, "strict", z.ZodTypeAny, {
169
+ sync_token: string;
170
+ invoice_id: string;
171
+ }, {
172
+ sync_token: string;
173
+ invoice_id: string;
174
+ }>;
175
+ declare const VoidInvoiceInputSchema: z.ZodObject<{
176
+ invoice_id: z.ZodString;
177
+ sync_token: z.ZodString;
178
+ }, "strict", z.ZodTypeAny, {
179
+ sync_token: string;
180
+ invoice_id: string;
181
+ }, {
182
+ sync_token: string;
183
+ invoice_id: string;
184
+ }>;
185
+ declare const SendInvoiceInputSchema: z.ZodObject<{
186
+ invoice_id: z.ZodString;
187
+ email: z.ZodOptional<z.ZodString>;
188
+ }, "strict", z.ZodTypeAny, {
189
+ invoice_id: string;
190
+ email?: string | undefined;
191
+ }, {
192
+ invoice_id: string;
193
+ email?: string | undefined;
194
+ }>;
195
+ export type ListInvoicesInput = z.infer<typeof ListInvoicesInputSchema>;
196
+ export type GetInvoiceInput = z.infer<typeof GetInvoiceInputSchema>;
197
+ export type CreateInvoiceInput = z.infer<typeof CreateInvoiceInputSchema>;
198
+ export type UpdateInvoiceInput = z.infer<typeof UpdateInvoiceInputSchema>;
199
+ export type DeleteInvoiceInput = z.infer<typeof DeleteInvoiceInputSchema>;
200
+ export type VoidInvoiceInput = z.infer<typeof VoidInvoiceInputSchema>;
201
+ export type SendInvoiceInput = z.infer<typeof SendInvoiceInputSchema>;
202
+ export declare function qbo_list_invoices(client: QBOClient, input: ListInvoicesInput): Promise<string>;
203
+ export declare function qbo_get_invoice(client: QBOClient, input: GetInvoiceInput): Promise<string>;
204
+ export declare function qbo_create_invoice(client: QBOClient, input: CreateInvoiceInput): Promise<string>;
205
+ export declare function qbo_update_invoice(client: QBOClient, input: UpdateInvoiceInput): Promise<string>;
206
+ export declare function qbo_delete_invoice(client: QBOClient, input: DeleteInvoiceInput): Promise<string>;
207
+ export declare function qbo_void_invoice(client: QBOClient, input: VoidInvoiceInput): Promise<string>;
208
+ export declare function qbo_send_invoice(client: QBOClient, input: SendInvoiceInput): Promise<string>;
209
+ export declare const ListInvoicesInputSchemaExport: z.ZodObject<{
210
+ where: z.ZodOptional<z.ZodString>;
211
+ order_by: z.ZodOptional<z.ZodString>;
212
+ start_position: z.ZodOptional<z.ZodNumber>;
213
+ max_results: z.ZodOptional<z.ZodNumber>;
214
+ response_format: z.ZodDefault<z.ZodEnum<["json", "markdown"]>>;
215
+ }, "strict", z.ZodTypeAny, {
216
+ response_format: "json" | "markdown";
217
+ where?: string | undefined;
218
+ order_by?: string | undefined;
219
+ start_position?: number | undefined;
220
+ max_results?: number | undefined;
221
+ }, {
222
+ response_format?: "json" | "markdown" | undefined;
223
+ where?: string | undefined;
224
+ order_by?: string | undefined;
225
+ start_position?: number | undefined;
226
+ max_results?: number | undefined;
227
+ }>;
228
+ export declare const GetInvoiceInputSchemaExport: z.ZodObject<{
229
+ invoice_id: z.ZodString;
230
+ response_format: z.ZodDefault<z.ZodEnum<["json", "markdown"]>>;
231
+ }, "strict", z.ZodTypeAny, {
232
+ response_format: "json" | "markdown";
233
+ invoice_id: string;
234
+ }, {
235
+ invoice_id: string;
236
+ response_format?: "json" | "markdown" | undefined;
237
+ }>;
238
+ export declare const CreateInvoiceInputSchemaExport: z.ZodObject<{
239
+ customer_id: z.ZodString;
240
+ line_items: z.ZodArray<z.ZodObject<{
241
+ description: z.ZodOptional<z.ZodString>;
242
+ amount: z.ZodNumber;
243
+ detail_type: z.ZodDefault<z.ZodEnum<["SalesItemLineDetail", "SubTotalLineDetail", "DiscountLineDetail"]>>;
244
+ item_id: z.ZodOptional<z.ZodString>;
245
+ qty: z.ZodOptional<z.ZodNumber>;
246
+ unit_price: z.ZodOptional<z.ZodNumber>;
247
+ tax_code_id: z.ZodOptional<z.ZodString>;
248
+ }, "strip", z.ZodTypeAny, {
249
+ amount: number;
250
+ detail_type: "SalesItemLineDetail" | "SubTotalLineDetail" | "DiscountLineDetail";
251
+ description?: string | undefined;
252
+ item_id?: string | undefined;
253
+ qty?: number | undefined;
254
+ unit_price?: number | undefined;
255
+ tax_code_id?: string | undefined;
256
+ }, {
257
+ amount: number;
258
+ description?: string | undefined;
259
+ detail_type?: "SalesItemLineDetail" | "SubTotalLineDetail" | "DiscountLineDetail" | undefined;
260
+ item_id?: string | undefined;
261
+ qty?: number | undefined;
262
+ unit_price?: number | undefined;
263
+ tax_code_id?: string | undefined;
264
+ }>, "many">;
265
+ txn_date: z.ZodOptional<z.ZodString>;
266
+ due_date: z.ZodOptional<z.ZodString>;
267
+ doc_number: z.ZodOptional<z.ZodString>;
268
+ bill_email: z.ZodOptional<z.ZodString>;
269
+ response_format: z.ZodDefault<z.ZodEnum<["json", "markdown"]>>;
270
+ }, "strict", z.ZodTypeAny, {
271
+ response_format: "json" | "markdown";
272
+ customer_id: string;
273
+ line_items: {
274
+ amount: number;
275
+ detail_type: "SalesItemLineDetail" | "SubTotalLineDetail" | "DiscountLineDetail";
276
+ description?: string | undefined;
277
+ item_id?: string | undefined;
278
+ qty?: number | undefined;
279
+ unit_price?: number | undefined;
280
+ tax_code_id?: string | undefined;
281
+ }[];
282
+ txn_date?: string | undefined;
283
+ due_date?: string | undefined;
284
+ doc_number?: string | undefined;
285
+ bill_email?: string | undefined;
286
+ }, {
287
+ customer_id: string;
288
+ line_items: {
289
+ amount: number;
290
+ description?: string | undefined;
291
+ detail_type?: "SalesItemLineDetail" | "SubTotalLineDetail" | "DiscountLineDetail" | undefined;
292
+ item_id?: string | undefined;
293
+ qty?: number | undefined;
294
+ unit_price?: number | undefined;
295
+ tax_code_id?: string | undefined;
296
+ }[];
297
+ response_format?: "json" | "markdown" | undefined;
298
+ txn_date?: string | undefined;
299
+ due_date?: string | undefined;
300
+ doc_number?: string | undefined;
301
+ bill_email?: string | undefined;
302
+ }>;
303
+ export declare const UpdateInvoiceInputSchemaExport: z.ZodObject<{
304
+ invoice_id: z.ZodString;
305
+ sync_token: z.ZodString;
306
+ customer_id: z.ZodOptional<z.ZodString>;
307
+ line_items: z.ZodOptional<z.ZodArray<z.ZodObject<{
308
+ description: z.ZodOptional<z.ZodString>;
309
+ amount: z.ZodNumber;
310
+ detail_type: z.ZodDefault<z.ZodEnum<["SalesItemLineDetail", "SubTotalLineDetail", "DiscountLineDetail"]>>;
311
+ item_id: z.ZodOptional<z.ZodString>;
312
+ qty: z.ZodOptional<z.ZodNumber>;
313
+ unit_price: z.ZodOptional<z.ZodNumber>;
314
+ tax_code_id: z.ZodOptional<z.ZodString>;
315
+ }, "strip", z.ZodTypeAny, {
316
+ amount: number;
317
+ detail_type: "SalesItemLineDetail" | "SubTotalLineDetail" | "DiscountLineDetail";
318
+ description?: string | undefined;
319
+ item_id?: string | undefined;
320
+ qty?: number | undefined;
321
+ unit_price?: number | undefined;
322
+ tax_code_id?: string | undefined;
323
+ }, {
324
+ amount: number;
325
+ description?: string | undefined;
326
+ detail_type?: "SalesItemLineDetail" | "SubTotalLineDetail" | "DiscountLineDetail" | undefined;
327
+ item_id?: string | undefined;
328
+ qty?: number | undefined;
329
+ unit_price?: number | undefined;
330
+ tax_code_id?: string | undefined;
331
+ }>, "many">>;
332
+ txn_date: z.ZodOptional<z.ZodString>;
333
+ due_date: z.ZodOptional<z.ZodString>;
334
+ doc_number: z.ZodOptional<z.ZodString>;
335
+ response_format: z.ZodDefault<z.ZodEnum<["json", "markdown"]>>;
336
+ }, "strict", z.ZodTypeAny, {
337
+ response_format: "json" | "markdown";
338
+ sync_token: string;
339
+ invoice_id: string;
340
+ customer_id?: string | undefined;
341
+ line_items?: {
342
+ amount: number;
343
+ detail_type: "SalesItemLineDetail" | "SubTotalLineDetail" | "DiscountLineDetail";
344
+ description?: string | undefined;
345
+ item_id?: string | undefined;
346
+ qty?: number | undefined;
347
+ unit_price?: number | undefined;
348
+ tax_code_id?: string | undefined;
349
+ }[] | undefined;
350
+ txn_date?: string | undefined;
351
+ due_date?: string | undefined;
352
+ doc_number?: string | undefined;
353
+ }, {
354
+ sync_token: string;
355
+ invoice_id: string;
356
+ response_format?: "json" | "markdown" | undefined;
357
+ customer_id?: string | undefined;
358
+ line_items?: {
359
+ amount: number;
360
+ description?: string | undefined;
361
+ detail_type?: "SalesItemLineDetail" | "SubTotalLineDetail" | "DiscountLineDetail" | undefined;
362
+ item_id?: string | undefined;
363
+ qty?: number | undefined;
364
+ unit_price?: number | undefined;
365
+ tax_code_id?: string | undefined;
366
+ }[] | undefined;
367
+ txn_date?: string | undefined;
368
+ due_date?: string | undefined;
369
+ doc_number?: string | undefined;
370
+ }>;
371
+ export declare const DeleteInvoiceInputSchemaExport: z.ZodObject<{
372
+ invoice_id: z.ZodString;
373
+ sync_token: z.ZodString;
374
+ }, "strict", z.ZodTypeAny, {
375
+ sync_token: string;
376
+ invoice_id: string;
377
+ }, {
378
+ sync_token: string;
379
+ invoice_id: string;
380
+ }>;
381
+ export declare const VoidInvoiceInputSchemaExport: z.ZodObject<{
382
+ invoice_id: z.ZodString;
383
+ sync_token: z.ZodString;
384
+ }, "strict", z.ZodTypeAny, {
385
+ sync_token: string;
386
+ invoice_id: string;
387
+ }, {
388
+ sync_token: string;
389
+ invoice_id: string;
390
+ }>;
391
+ export declare const SendInvoiceInputSchemaExport: z.ZodObject<{
392
+ invoice_id: z.ZodString;
393
+ email: z.ZodOptional<z.ZodString>;
394
+ }, "strict", z.ZodTypeAny, {
395
+ invoice_id: string;
396
+ email?: string | undefined;
397
+ }, {
398
+ invoice_id: string;
399
+ email?: string | undefined;
400
+ }>;
401
+ export {};
402
+ //# sourceMappingURL=invoices.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invoices.d.ts","sourceRoot":"","sources":["../../src/tools/invoices.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,203 @@
1
+ import { z } from "zod";
2
+ const LineItemSchema = z.object({
3
+ description: z.string().optional(),
4
+ amount: z.number().describe("Line amount"),
5
+ detail_type: z.enum(["SalesItemLineDetail", "SubTotalLineDetail", "DiscountLineDetail"]).default("SalesItemLineDetail"),
6
+ item_id: z.string().optional().describe("Item/service reference ID"),
7
+ qty: z.number().optional(),
8
+ unit_price: z.number().optional(),
9
+ tax_code_id: z.string().optional(),
10
+ });
11
+ const ListInvoicesInputSchema = z.object({
12
+ where: z.string().optional().describe("WHERE clause, e.g. \"TotalAmt > '100'\" or \"CustomerRef = '5'\""),
13
+ order_by: z.string().optional(),
14
+ start_position: z.number().optional(),
15
+ max_results: z.number().optional(),
16
+ response_format: z.enum(["json", "markdown"]).default("markdown"),
17
+ }).strict();
18
+ const GetInvoiceInputSchema = z.object({
19
+ invoice_id: z.string().describe("The invoice ID"),
20
+ response_format: z.enum(["json", "markdown"]).default("markdown"),
21
+ }).strict();
22
+ const CreateInvoiceInputSchema = z.object({
23
+ customer_id: z.string().describe("Customer reference ID"),
24
+ line_items: z.array(LineItemSchema).min(1).describe("Invoice line items"),
25
+ txn_date: z.string().optional().describe("Transaction date (YYYY-MM-DD)"),
26
+ due_date: z.string().optional().describe("Due date (YYYY-MM-DD)"),
27
+ doc_number: z.string().optional().describe("Custom invoice number"),
28
+ bill_email: z.string().optional().describe("Email to send invoice to"),
29
+ response_format: z.enum(["json", "markdown"]).default("markdown"),
30
+ }).strict();
31
+ const UpdateInvoiceInputSchema = z.object({
32
+ invoice_id: z.string().describe("The invoice ID"),
33
+ sync_token: z.string().describe("SyncToken from the current invoice record"),
34
+ customer_id: z.string().optional(),
35
+ line_items: z.array(LineItemSchema).optional(),
36
+ txn_date: z.string().optional(),
37
+ due_date: z.string().optional(),
38
+ doc_number: z.string().optional(),
39
+ response_format: z.enum(["json", "markdown"]).default("markdown"),
40
+ }).strict();
41
+ const DeleteInvoiceInputSchema = z.object({
42
+ invoice_id: z.string().describe("The invoice ID"),
43
+ sync_token: z.string().describe("SyncToken from the current invoice record"),
44
+ }).strict();
45
+ const VoidInvoiceInputSchema = z.object({
46
+ invoice_id: z.string().describe("The invoice ID"),
47
+ sync_token: z.string().describe("SyncToken from the current invoice record"),
48
+ }).strict();
49
+ const SendInvoiceInputSchema = z.object({
50
+ invoice_id: z.string().describe("The invoice ID"),
51
+ email: z.string().optional().describe("Override email address to send to"),
52
+ }).strict();
53
+ function buildLines(items) {
54
+ return items.map(item => {
55
+ const line = {
56
+ Amount: item.amount,
57
+ DetailType: item.detail_type,
58
+ };
59
+ if (item.description)
60
+ line.Description = item.description;
61
+ if (item.detail_type === "SalesItemLineDetail") {
62
+ const detail = {};
63
+ if (item.item_id)
64
+ detail.ItemRef = { value: item.item_id };
65
+ if (item.qty !== undefined)
66
+ detail.Qty = item.qty;
67
+ if (item.unit_price !== undefined)
68
+ detail.UnitPrice = item.unit_price;
69
+ if (item.tax_code_id)
70
+ detail.TaxCodeRef = { value: item.tax_code_id };
71
+ line.SalesItemLineDetail = detail;
72
+ }
73
+ return line;
74
+ });
75
+ }
76
+ function formatInvoice(inv) {
77
+ let result = `## Invoice ${inv.DocNumber || inv.Id || ""}\n`;
78
+ if (inv.Id)
79
+ result += `- **ID:** ${inv.Id}\n`;
80
+ if (inv.SyncToken)
81
+ result += `- **SyncToken:** ${inv.SyncToken}\n`;
82
+ if (inv.CustomerRef)
83
+ result += `- **Customer:** ${inv.CustomerRef.name || inv.CustomerRef.value}\n`;
84
+ if (inv.TxnDate)
85
+ result += `- **Date:** ${inv.TxnDate}\n`;
86
+ if (inv.DueDate)
87
+ result += `- **Due:** ${inv.DueDate}\n`;
88
+ if (inv.TotalAmt !== undefined)
89
+ result += `- **Total:** $${inv.TotalAmt}\n`;
90
+ if (inv.Balance !== undefined)
91
+ result += `- **Balance:** $${inv.Balance}\n`;
92
+ if (inv.EmailStatus)
93
+ result += `- **Email Status:** ${inv.EmailStatus}\n`;
94
+ if (inv.Line && inv.Line.length > 0) {
95
+ result += `- **Line Items:** ${inv.Line.length}\n`;
96
+ for (const line of inv.Line) {
97
+ if (line.DetailType === "SubTotalLineDetail")
98
+ continue;
99
+ result += ` - ${line.Description || "Item"}: $${line.Amount}`;
100
+ if (line.SalesItemLineDetail?.Qty)
101
+ result += ` (qty: ${line.SalesItemLineDetail.Qty})`;
102
+ result += `\n`;
103
+ }
104
+ }
105
+ if (inv.MetaData?.CreateTime)
106
+ result += `- **Created:** ${inv.MetaData.CreateTime}\n`;
107
+ return result;
108
+ }
109
+ export async function qbo_list_invoices(client, input) {
110
+ let query = "SELECT * FROM Invoice";
111
+ if (input.where)
112
+ query += ` WHERE ${input.where}`;
113
+ if (input.order_by)
114
+ query += ` ORDER BY ${input.order_by}`;
115
+ query += ` STARTPOSITION ${input.start_position || 1}`;
116
+ query += ` MAXRESULTS ${input.max_results || 100}`;
117
+ const response = await client.query(query);
118
+ const invoices = response.QueryResponse.Invoice || [];
119
+ if (input.response_format === "json") {
120
+ return JSON.stringify({ invoices, total: response.QueryResponse.totalCount }, null, 2);
121
+ }
122
+ let result = `# Invoices (${invoices.length} results)\n\n`;
123
+ if (invoices.length === 0) {
124
+ result += "No invoices found.";
125
+ }
126
+ else {
127
+ for (const inv of invoices) {
128
+ result += formatInvoice(inv) + "\n";
129
+ }
130
+ }
131
+ return result;
132
+ }
133
+ export async function qbo_get_invoice(client, input) {
134
+ const response = await client.get(`/invoice/${input.invoice_id}`);
135
+ const inv = response.Invoice;
136
+ if (input.response_format === "json") {
137
+ return JSON.stringify(inv, null, 2);
138
+ }
139
+ return `# Invoice\n\n` + formatInvoice(inv);
140
+ }
141
+ export async function qbo_create_invoice(client, input) {
142
+ const body = {
143
+ CustomerRef: { value: input.customer_id },
144
+ Line: buildLines(input.line_items),
145
+ };
146
+ if (input.txn_date)
147
+ body.TxnDate = input.txn_date;
148
+ if (input.due_date)
149
+ body.DueDate = input.due_date;
150
+ if (input.doc_number)
151
+ body.DocNumber = input.doc_number;
152
+ if (input.bill_email)
153
+ body.BillEmail = { Address: input.bill_email };
154
+ const response = await client.post("/invoice", body);
155
+ const inv = response.Invoice;
156
+ if (input.response_format === "json") {
157
+ return JSON.stringify(inv, null, 2);
158
+ }
159
+ return `# Invoice Created\n\n` + formatInvoice(inv);
160
+ }
161
+ export async function qbo_update_invoice(client, input) {
162
+ const body = {
163
+ Id: input.invoice_id,
164
+ SyncToken: input.sync_token,
165
+ sparse: true,
166
+ };
167
+ if (input.customer_id)
168
+ body.CustomerRef = { value: input.customer_id };
169
+ if (input.line_items)
170
+ body.Line = buildLines(input.line_items);
171
+ if (input.txn_date)
172
+ body.TxnDate = input.txn_date;
173
+ if (input.due_date)
174
+ body.DueDate = input.due_date;
175
+ if (input.doc_number)
176
+ body.DocNumber = input.doc_number;
177
+ const response = await client.post("/invoice", body);
178
+ const inv = response.Invoice;
179
+ if (input.response_format === "json") {
180
+ return JSON.stringify(inv, null, 2);
181
+ }
182
+ return `# Invoice Updated\n\n` + formatInvoice(inv);
183
+ }
184
+ export async function qbo_delete_invoice(client, input) {
185
+ await client.delete("invoice", input.invoice_id, input.sync_token);
186
+ return `Invoice ${input.invoice_id} deleted successfully.`;
187
+ }
188
+ export async function qbo_void_invoice(client, input) {
189
+ await client.void_("invoice", input.invoice_id, input.sync_token);
190
+ return `Invoice ${input.invoice_id} voided successfully.`;
191
+ }
192
+ export async function qbo_send_invoice(client, input) {
193
+ await client.sendEmail("invoice", input.invoice_id, input.email);
194
+ return `Invoice ${input.invoice_id} sent via email${input.email ? ` to ${input.email}` : ""}.`;
195
+ }
196
+ export const ListInvoicesInputSchemaExport = ListInvoicesInputSchema;
197
+ export const GetInvoiceInputSchemaExport = GetInvoiceInputSchema;
198
+ export const CreateInvoiceInputSchemaExport = CreateInvoiceInputSchema;
199
+ export const UpdateInvoiceInputSchemaExport = UpdateInvoiceInputSchema;
200
+ export const DeleteInvoiceInputSchemaExport = DeleteInvoiceInputSchema;
201
+ export const VoidInvoiceInputSchemaExport = VoidInvoiceInputSchema;
202
+ export const SendInvoiceInputSchemaExport = SendInvoiceInputSchema;
203
+ //# sourceMappingURL=invoices.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invoices.js","sourceRoot":"","sources":["../../src/tools/invoices.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;IAC1C,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,qBAAqB,EAAE,oBAAoB,EAAE,oBAAoB,CAAC,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC;IACvH,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IACpE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kEAAkE,CAAC;IACzG,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACrC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;CAClE,CAAC,CAAC,MAAM,EAAE,CAAC;AAEZ,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IACjD,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;CAClE,CAAC,CAAC,MAAM,EAAE,CAAC;AAEZ,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IACzD,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IACzE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IACzE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IACjE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IACnE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACtE,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;CAClE,CAAC,CAAC,MAAM,EAAE,CAAC;AAEZ,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IACjD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IAC5E,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE;IAC9C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;CAClE,CAAC,CAAC,MAAM,EAAE,CAAC;AAEZ,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IACjD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;CAC7E,CAAC,CAAC,MAAM,EAAE,CAAC;AAEZ,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IACjD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;CAC7E,CAAC,CAAC,MAAM,EAAE,CAAC;AAEZ,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IACjD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;CAC3E,CAAC,CAAC,MAAM,EAAE,CAAC;AAUZ,SAAS,UAAU,CAAC,KAAuC;IACzD,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QACtB,MAAM,IAAI,GAA4B;YACpC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,UAAU,EAAE,IAAI,CAAC,WAAW;SAC7B,CAAC;QACF,IAAI,IAAI,CAAC,WAAW;YAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAC1D,IAAI,IAAI,CAAC,WAAW,KAAK,qBAAqB,EAAE,CAAC;YAC/C,MAAM,MAAM,GAA4B,EAAE,CAAC;YAC3C,IAAI,IAAI,CAAC,OAAO;gBAAE,MAAM,CAAC,OAAO,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;YAC3D,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS;gBAAE,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;YAClD,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;gBAAE,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;YACtE,IAAI,IAAI,CAAC,WAAW;gBAAE,MAAM,CAAC,UAAU,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;YACtE,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC;QACpC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,aAAa,CAAC,GAAY;IACjC,IAAI,MAAM,GAAG,cAAc,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;IAC7D,IAAI,GAAG,CAAC,EAAE;QAAE,MAAM,IAAI,aAAa,GAAG,CAAC,EAAE,IAAI,CAAC;IAC9C,IAAI,GAAG,CAAC,SAAS;QAAE,MAAM,IAAI,oBAAoB,GAAG,CAAC,SAAS,IAAI,CAAC;IACnE,IAAI,GAAG,CAAC,WAAW;QAAE,MAAM,IAAI,mBAAmB,GAAG,CAAC,WAAW,CAAC,IAAI,IAAI,GAAG,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IACpG,IAAI,GAAG,CAAC,OAAO;QAAE,MAAM,IAAI,eAAe,GAAG,CAAC,OAAO,IAAI,CAAC;IAC1D,IAAI,GAAG,CAAC,OAAO;QAAE,MAAM,IAAI,cAAc,GAAG,CAAC,OAAO,IAAI,CAAC;IACzD,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS;QAAE,MAAM,IAAI,iBAAiB,GAAG,CAAC,QAAQ,IAAI,CAAC;IAC5E,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS;QAAE,MAAM,IAAI,mBAAmB,GAAG,CAAC,OAAO,IAAI,CAAC;IAC5E,IAAI,GAAG,CAAC,WAAW;QAAE,MAAM,IAAI,uBAAuB,GAAG,CAAC,WAAW,IAAI,CAAC;IAC1E,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,qBAAqB,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC;QACnD,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,UAAU,KAAK,oBAAoB;gBAAE,SAAS;YACvD,MAAM,IAAI,OAAO,IAAI,CAAC,WAAW,IAAI,MAAM,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;YAC/D,IAAI,IAAI,CAAC,mBAAmB,EAAE,GAAG;gBAAE,MAAM,IAAI,UAAU,IAAI,CAAC,mBAAmB,CAAC,GAAG,GAAG,CAAC;YACvF,MAAM,IAAI,IAAI,CAAC;QACjB,CAAC;IACH,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,EAAE,UAAU;QAAE,MAAM,IAAI,kBAAkB,GAAG,CAAC,QAAQ,CAAC,UAAU,IAAI,CAAC;IACtF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAiB,EACjB,KAAwB;IAExB,IAAI,KAAK,GAAG,uBAAuB,CAAC;IACpC,IAAI,KAAK,CAAC,KAAK;QAAE,KAAK,IAAI,UAAU,KAAK,CAAC,KAAK,EAAE,CAAC;IAClD,IAAI,KAAK,CAAC,QAAQ;QAAE,KAAK,IAAI,aAAa,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC3D,KAAK,IAAI,kBAAkB,KAAK,CAAC,cAAc,IAAI,CAAC,EAAE,CAAC;IACvD,KAAK,IAAI,eAAe,KAAK,CAAC,WAAW,IAAI,GAAG,EAAE,CAAC;IAEnD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CAAyB,KAAK,CAAC,CAAC;IACnE,MAAM,QAAQ,GAAI,QAAQ,CAAC,aAAa,CAAC,OAAiC,IAAI,EAAE,CAAC;IAEjF,IAAI,KAAK,CAAC,eAAe,KAAK,MAAM,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACzF,CAAC;IAED,IAAI,MAAM,GAAG,eAAe,QAAQ,CAAC,MAAM,eAAe,CAAC;IAC3D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,oBAAoB,CAAC;IACjC,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,MAAM,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACtC,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAiB,EACjB,KAAsB;IAEtB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAuB,YAAY,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;IACxF,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC;IAE7B,IAAI,KAAK,CAAC,eAAe,KAAK,MAAM,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,eAAe,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAAiB,EACjB,KAAyB;IAEzB,MAAM,IAAI,GAA4B;QACpC,WAAW,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE;QACzC,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC;KACnC,CAAC;IACF,IAAI,KAAK,CAAC,QAAQ;QAAE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC;IAClD,IAAI,KAAK,CAAC,QAAQ;QAAE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC;IAClD,IAAI,KAAK,CAAC,UAAU;QAAE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC;IACxD,IAAI,KAAK,CAAC,UAAU;QAAE,IAAI,CAAC,SAAS,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;IAErE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAuB,UAAU,EAAE,IAAI,CAAC,CAAC;IAC3E,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC;IAE7B,IAAI,KAAK,CAAC,eAAe,KAAK,MAAM,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,uBAAuB,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAAiB,EACjB,KAAyB;IAEzB,MAAM,IAAI,GAA4B;QACpC,EAAE,EAAE,KAAK,CAAC,UAAU;QACpB,SAAS,EAAE,KAAK,CAAC,UAAU;QAC3B,MAAM,EAAE,IAAI;KACb,CAAC;IACF,IAAI,KAAK,CAAC,WAAW;QAAE,IAAI,CAAC,WAAW,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;IACvE,IAAI,KAAK,CAAC,UAAU;QAAE,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC/D,IAAI,KAAK,CAAC,QAAQ;QAAE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC;IAClD,IAAI,KAAK,CAAC,QAAQ;QAAE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC;IAClD,IAAI,KAAK,CAAC,UAAU;QAAE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC;IAExD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAuB,UAAU,EAAE,IAAI,CAAC,CAAC;IAC3E,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC;IAE7B,IAAI,KAAK,CAAC,eAAe,KAAK,MAAM,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,uBAAuB,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAAiB,EACjB,KAAyB;IAEzB,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACnE,OAAO,WAAW,KAAK,CAAC,UAAU,wBAAwB,CAAC;AAC7D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAiB,EACjB,KAAuB;IAEvB,MAAM,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IAClE,OAAO,WAAW,KAAK,CAAC,UAAU,uBAAuB,CAAC;AAC5D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAiB,EACjB,KAAuB;IAEvB,MAAM,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACjE,OAAO,WAAW,KAAK,CAAC,UAAU,kBAAkB,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;AACjG,CAAC;AAED,MAAM,CAAC,MAAM,6BAA6B,GAAG,uBAAuB,CAAC;AACrE,MAAM,CAAC,MAAM,2BAA2B,GAAG,qBAAqB,CAAC;AACjE,MAAM,CAAC,MAAM,8BAA8B,GAAG,wBAAwB,CAAC;AACvE,MAAM,CAAC,MAAM,8BAA8B,GAAG,wBAAwB,CAAC;AACvE,MAAM,CAAC,MAAM,8BAA8B,GAAG,wBAAwB,CAAC;AACvE,MAAM,CAAC,MAAM,4BAA4B,GAAG,sBAAsB,CAAC;AACnE,MAAM,CAAC,MAAM,4BAA4B,GAAG,sBAAsB,CAAC"}