@teamnetwork-nz/feenix-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.
Files changed (78) hide show
  1. package/README.md +217 -0
  2. package/dist/client.d.ts +28 -0
  3. package/dist/client.d.ts.map +1 -0
  4. package/dist/client.js +89 -0
  5. package/dist/client.js.map +1 -0
  6. package/dist/config.d.ts +8 -0
  7. package/dist/config.d.ts.map +1 -0
  8. package/dist/config.js +54 -0
  9. package/dist/config.js.map +1 -0
  10. package/dist/datetime.d.ts +4 -0
  11. package/dist/datetime.d.ts.map +1 -0
  12. package/dist/datetime.js +58 -0
  13. package/dist/datetime.js.map +1 -0
  14. package/dist/format.d.ts +10 -0
  15. package/dist/format.d.ts.map +1 -0
  16. package/dist/format.js +126 -0
  17. package/dist/format.js.map +1 -0
  18. package/dist/index.d.ts +3 -0
  19. package/dist/index.d.ts.map +1 -0
  20. package/dist/index.js +80 -0
  21. package/dist/index.js.map +1 -0
  22. package/dist/schemas/quickorder.d.ts +568 -0
  23. package/dist/schemas/quickorder.d.ts.map +1 -0
  24. package/dist/schemas/quickorder.js +100 -0
  25. package/dist/schemas/quickorder.js.map +1 -0
  26. package/dist/tools/addresses.d.ts +3 -0
  27. package/dist/tools/addresses.d.ts.map +1 -0
  28. package/dist/tools/addresses.js +38 -0
  29. package/dist/tools/addresses.js.map +1 -0
  30. package/dist/tools/billing.d.ts +3 -0
  31. package/dist/tools/billing.d.ts.map +1 -0
  32. package/dist/tools/billing.js +33 -0
  33. package/dist/tools/billing.js.map +1 -0
  34. package/dist/tools/connection.d.ts +3 -0
  35. package/dist/tools/connection.d.ts.map +1 -0
  36. package/dist/tools/connection.js +38 -0
  37. package/dist/tools/connection.js.map +1 -0
  38. package/dist/tools/customers.d.ts +3 -0
  39. package/dist/tools/customers.d.ts.map +1 -0
  40. package/dist/tools/customers.js +72 -0
  41. package/dist/tools/customers.js.map +1 -0
  42. package/dist/tools/index.d.ts +3 -0
  43. package/dist/tools/index.d.ts.map +1 -0
  44. package/dist/tools/index.js +25 -0
  45. package/dist/tools/index.js.map +1 -0
  46. package/dist/tools/inventory.d.ts +3 -0
  47. package/dist/tools/inventory.d.ts.map +1 -0
  48. package/dist/tools/inventory.js +80 -0
  49. package/dist/tools/inventory.js.map +1 -0
  50. package/dist/tools/misc.d.ts +3 -0
  51. package/dist/tools/misc.d.ts.map +1 -0
  52. package/dist/tools/misc.js +38 -0
  53. package/dist/tools/misc.js.map +1 -0
  54. package/dist/tools/orders.d.ts +3 -0
  55. package/dist/tools/orders.d.ts.map +1 -0
  56. package/dist/tools/orders.js +138 -0
  57. package/dist/tools/orders.js.map +1 -0
  58. package/dist/tools/products.d.ts +3 -0
  59. package/dist/tools/products.d.ts.map +1 -0
  60. package/dist/tools/products.js +63 -0
  61. package/dist/tools/products.js.map +1 -0
  62. package/dist/tools/services.d.ts +3 -0
  63. package/dist/tools/services.d.ts.map +1 -0
  64. package/dist/tools/services.js +120 -0
  65. package/dist/tools/services.js.map +1 -0
  66. package/dist/tools/subscribers.d.ts +3 -0
  67. package/dist/tools/subscribers.d.ts.map +1 -0
  68. package/dist/tools/subscribers.js +94 -0
  69. package/dist/tools/subscribers.js.map +1 -0
  70. package/dist/tools/vendors.d.ts +3 -0
  71. package/dist/tools/vendors.d.ts.map +1 -0
  72. package/dist/tools/vendors.js +68 -0
  73. package/dist/tools/vendors.js.map +1 -0
  74. package/dist/types.d.ts +14 -0
  75. package/dist/types.d.ts.map +1 -0
  76. package/dist/types.js +5 -0
  77. package/dist/types.js.map +1 -0
  78. package/package.json +41 -0
package/dist/index.js ADDED
@@ -0,0 +1,80 @@
1
+ #!/usr/bin/env node
2
+ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
3
+ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
4
+ import { CallToolRequestSchema, ListToolsRequestSchema } from '@modelcontextprotocol/sdk/types.js';
5
+ import { zodToJsonSchema } from 'zod-to-json-schema';
6
+ import { loadConfig } from './config.js';
7
+ import { FeenixClient } from './client.js';
8
+ import { allTools } from './tools/index.js';
9
+ const config = loadConfig();
10
+ const client = new FeenixClient(config);
11
+ // In read-only mode, hide the write tools entirely so agents don't attempt them.
12
+ const isWriteTool = (name, description) => description.startsWith('[write]') || /^feenix_(create|update|delete|set|test_callback)/.test(name);
13
+ const activeTools = config.readWrite ? allTools : allTools.filter((t) => !isWriteTool(t.name, t.description));
14
+ const server = new Server({ name: 'feenix-mcp-server', version: '0.1.0' }, {
15
+ capabilities: { tools: {} },
16
+ instructions: `
17
+ FeeniX Public API MCP server — NZ fibre/broadband wholesale ordering, provisioning, subscriber management and billing.
18
+
19
+ ## Mode
20
+ - Read-only by default. Write tools (create/update/delete, quick orders, amendments, callbacks) are hidden unless FEENIX_READWRITE=true.
21
+ - Every write tool is described with a leading "[write]" tag.
22
+ - Check feenix_test_connection for the active mode and the customer that owns the API key.
23
+
24
+ ## Authentication
25
+ - A single API key (the "api-key" header) authenticates every call; it is scoped to one customer. There is no per-request login.
26
+
27
+ ## Typical ordering flow
28
+ 1. feenix_search_addresses → find the address and its TUI.
29
+ 2. feenix_address_prequal (by TUI) → see which technologies/products are available.
30
+ 3. feenix_list_products → pick a product.
31
+ 4. feenix_quick_order (write) → place the order; the response returns tasks with ids.
32
+ 5. Tail/modem orders are multi-step: runFeasibility → getAvailableAppointments → reserveAppointment → serviceGiven → order/complete.
33
+ 6. feenix_quickorder_search and feenix_get_task_notifications track order/task progress.
34
+
35
+ ## Services vs subscribers
36
+ - A "sold service" (soldServiceId) is the provisioned connection — inspect with feenix_get_service, test with feenix_service_linetest, and change/suspend/decommission it.
37
+ - A "subscriber" is the RADIUS/access identity — status, data usage and auth logs live under the subscriber tools.
38
+
39
+ ## IDs
40
+ - Most resources use Mongo-style _id hex strings. Invoices use invoice numbers (INV-0001) or Xero UUIDs. Addresses use TUIs.
41
+
42
+ ## Search fields (feenix_quickorder_search)
43
+ - Criteria field names are CASE SENSITIVE (name, number, status, customerReference, ...).
44
+ `.trim(),
45
+ });
46
+ server.setRequestHandler(ListToolsRequestSchema, async () => ({
47
+ tools: activeTools.map((t) => ({
48
+ name: t.name,
49
+ description: t.description,
50
+ inputSchema: zodToJsonSchema(t.inputSchema),
51
+ })),
52
+ }));
53
+ server.setRequestHandler(CallToolRequestSchema, async (request) => {
54
+ const tool = activeTools.find((t) => t.name === request.params.name);
55
+ if (!tool) {
56
+ // Distinguish "hidden because read-only" from genuinely unknown.
57
+ const hidden = allTools.find((t) => t.name === request.params.name);
58
+ const msg = hidden
59
+ ? `Tool ${request.params.name} is a write operation and the server is read-only. Set FEENIX_READWRITE=true to enable it.`
60
+ : `Unknown tool: ${request.params.name}`;
61
+ return { isError: true, content: [{ type: 'text', text: msg }] };
62
+ }
63
+ try {
64
+ const args = tool.inputSchema.parse(request.params.arguments ?? {});
65
+ const text = await tool.handler(client, args);
66
+ return { content: [{ type: 'text', text }] };
67
+ }
68
+ catch (err) {
69
+ const message = err instanceof Error ? err.message : String(err);
70
+ return {
71
+ isError: true,
72
+ content: [{ type: 'text', text: `Error in ${request.params.name}: ${message}` }],
73
+ };
74
+ }
75
+ });
76
+ const transport = new StdioServerTransport();
77
+ await server.connect(transport);
78
+ const mode = config.readWrite ? '✏️ read-write' : '🔒 read-only';
79
+ process.stderr.write(`FeeniX MCP server started — ${activeTools.length}/${allTools.length} tools registered. Targeting: ${config.baseUrl} [${mode}]\n`);
80
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,568 @@
1
+ import { z } from 'zod';
2
+ export declare const quickOrderShape: {
3
+ address: z.ZodString;
4
+ soldProduct: z.ZodString;
5
+ tailProduct: z.ZodString;
6
+ subscriberName: z.ZodString;
7
+ username: z.ZodString;
8
+ orderContactName: z.ZodString;
9
+ orderContactNumber: z.ZodString;
10
+ orderContactEmail: z.ZodString;
11
+ siteInfo: z.ZodObject<{
12
+ demarc: z.ZodString;
13
+ siteContactName: z.ZodString;
14
+ siteContactNumber: z.ZodString;
15
+ siteContactEmail: z.ZodString;
16
+ isBusinessAddress: z.ZodBoolean;
17
+ alias: z.ZodOptional<z.ZodString>;
18
+ description: z.ZodOptional<z.ZodString>;
19
+ siteAccessInformation: z.ZodOptional<z.ZodString>;
20
+ siteAccessHours: z.ZodOptional<z.ZodString>;
21
+ endServiceProvider: z.ZodOptional<z.ZodString>;
22
+ hasMedicalEmergencyOnSite: z.ZodOptional<z.ZodBoolean>;
23
+ medicalEmergencyDetails: z.ZodOptional<z.ZodString>;
24
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
25
+ demarc: z.ZodString;
26
+ siteContactName: z.ZodString;
27
+ siteContactNumber: z.ZodString;
28
+ siteContactEmail: z.ZodString;
29
+ isBusinessAddress: z.ZodBoolean;
30
+ alias: z.ZodOptional<z.ZodString>;
31
+ description: z.ZodOptional<z.ZodString>;
32
+ siteAccessInformation: z.ZodOptional<z.ZodString>;
33
+ siteAccessHours: z.ZodOptional<z.ZodString>;
34
+ endServiceProvider: z.ZodOptional<z.ZodString>;
35
+ hasMedicalEmergencyOnSite: z.ZodOptional<z.ZodBoolean>;
36
+ medicalEmergencyDetails: z.ZodOptional<z.ZodString>;
37
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
38
+ demarc: z.ZodString;
39
+ siteContactName: z.ZodString;
40
+ siteContactNumber: z.ZodString;
41
+ siteContactEmail: z.ZodString;
42
+ isBusinessAddress: z.ZodBoolean;
43
+ alias: z.ZodOptional<z.ZodString>;
44
+ description: z.ZodOptional<z.ZodString>;
45
+ siteAccessInformation: z.ZodOptional<z.ZodString>;
46
+ siteAccessHours: z.ZodOptional<z.ZodString>;
47
+ endServiceProvider: z.ZodOptional<z.ZodString>;
48
+ hasMedicalEmergencyOnSite: z.ZodOptional<z.ZodBoolean>;
49
+ medicalEmergencyDetails: z.ZodOptional<z.ZodString>;
50
+ }, z.ZodTypeAny, "passthrough">>;
51
+ tailOrder: z.ZodObject<{
52
+ orderAim: z.ZodString;
53
+ circuitTerminationId: z.ZodOptional<z.ZodString>;
54
+ existingServiceId: z.ZodOptional<z.ZodString>;
55
+ existingServiceProvider: z.ZodOptional<z.ZodString>;
56
+ targetDate: z.ZodOptional<z.ZodString>;
57
+ tailOrderAttributes: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
58
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
59
+ orderAim: z.ZodString;
60
+ circuitTerminationId: z.ZodOptional<z.ZodString>;
61
+ existingServiceId: z.ZodOptional<z.ZodString>;
62
+ existingServiceProvider: z.ZodOptional<z.ZodString>;
63
+ targetDate: z.ZodOptional<z.ZodString>;
64
+ tailOrderAttributes: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
65
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
66
+ orderAim: z.ZodString;
67
+ circuitTerminationId: z.ZodOptional<z.ZodString>;
68
+ existingServiceId: z.ZodOptional<z.ZodString>;
69
+ existingServiceProvider: z.ZodOptional<z.ZodString>;
70
+ targetDate: z.ZodOptional<z.ZodString>;
71
+ tailOrderAttributes: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
72
+ }, z.ZodTypeAny, "passthrough">>;
73
+ tailVariant: z.ZodOptional<z.ZodString>;
74
+ projectName: z.ZodOptional<z.ZodString>;
75
+ modemProduct: z.ZodOptional<z.ZodString>;
76
+ voiceProduct: z.ZodOptional<z.ZodString>;
77
+ meshProduct: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
78
+ customerReference: z.ZodOptional<z.ZodString>;
79
+ customerOrderReference: z.ZodOptional<z.ZodString>;
80
+ ipAddressAssignment: z.ZodOptional<z.ZodString>;
81
+ voiceOrder: z.ZodOptional<z.ZodObject<{
82
+ orderAim: z.ZodOptional<z.ZodString>;
83
+ username: z.ZodOptional<z.ZodString>;
84
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
85
+ orderAim: z.ZodOptional<z.ZodString>;
86
+ username: z.ZodOptional<z.ZodString>;
87
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
88
+ orderAim: z.ZodOptional<z.ZodString>;
89
+ username: z.ZodOptional<z.ZodString>;
90
+ }, z.ZodTypeAny, "passthrough">>>;
91
+ modemOrder: z.ZodOptional<z.ZodObject<{
92
+ firstName: z.ZodOptional<z.ZodString>;
93
+ lastName: z.ZodOptional<z.ZodString>;
94
+ streetAddress: z.ZodOptional<z.ZodString>;
95
+ city: z.ZodOptional<z.ZodString>;
96
+ postCode: z.ZodOptional<z.ZodString>;
97
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
98
+ firstName: z.ZodOptional<z.ZodString>;
99
+ lastName: z.ZodOptional<z.ZodString>;
100
+ streetAddress: z.ZodOptional<z.ZodString>;
101
+ city: z.ZodOptional<z.ZodString>;
102
+ postCode: z.ZodOptional<z.ZodString>;
103
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
104
+ firstName: z.ZodOptional<z.ZodString>;
105
+ lastName: z.ZodOptional<z.ZodString>;
106
+ streetAddress: z.ZodOptional<z.ZodString>;
107
+ city: z.ZodOptional<z.ZodString>;
108
+ postCode: z.ZodOptional<z.ZodString>;
109
+ }, z.ZodTypeAny, "passthrough">>>;
110
+ meshOrder: z.ZodOptional<z.ZodObject<{
111
+ companyName: z.ZodOptional<z.ZodString>;
112
+ firstName: z.ZodOptional<z.ZodString>;
113
+ lastName: z.ZodOptional<z.ZodString>;
114
+ streetAddress: z.ZodOptional<z.ZodString>;
115
+ city: z.ZodOptional<z.ZodString>;
116
+ postCode: z.ZodOptional<z.ZodString>;
117
+ email: z.ZodOptional<z.ZodString>;
118
+ phone: z.ZodOptional<z.ZodString>;
119
+ notes: z.ZodOptional<z.ZodString>;
120
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
121
+ companyName: z.ZodOptional<z.ZodString>;
122
+ firstName: z.ZodOptional<z.ZodString>;
123
+ lastName: z.ZodOptional<z.ZodString>;
124
+ streetAddress: z.ZodOptional<z.ZodString>;
125
+ city: z.ZodOptional<z.ZodString>;
126
+ postCode: z.ZodOptional<z.ZodString>;
127
+ email: z.ZodOptional<z.ZodString>;
128
+ phone: z.ZodOptional<z.ZodString>;
129
+ notes: z.ZodOptional<z.ZodString>;
130
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
131
+ companyName: z.ZodOptional<z.ZodString>;
132
+ firstName: z.ZodOptional<z.ZodString>;
133
+ lastName: z.ZodOptional<z.ZodString>;
134
+ streetAddress: z.ZodOptional<z.ZodString>;
135
+ city: z.ZodOptional<z.ZodString>;
136
+ postCode: z.ZodOptional<z.ZodString>;
137
+ email: z.ZodOptional<z.ZodString>;
138
+ phone: z.ZodOptional<z.ZodString>;
139
+ notes: z.ZodOptional<z.ZodString>;
140
+ }, z.ZodTypeAny, "passthrough">>>;
141
+ forCustomer: z.ZodOptional<z.ZodString>;
142
+ resold: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
143
+ };
144
+ export declare const quickOrderSchema: z.ZodObject<{
145
+ address: z.ZodString;
146
+ soldProduct: z.ZodString;
147
+ tailProduct: z.ZodString;
148
+ subscriberName: z.ZodString;
149
+ username: z.ZodString;
150
+ orderContactName: z.ZodString;
151
+ orderContactNumber: z.ZodString;
152
+ orderContactEmail: z.ZodString;
153
+ siteInfo: z.ZodObject<{
154
+ demarc: z.ZodString;
155
+ siteContactName: z.ZodString;
156
+ siteContactNumber: z.ZodString;
157
+ siteContactEmail: z.ZodString;
158
+ isBusinessAddress: z.ZodBoolean;
159
+ alias: z.ZodOptional<z.ZodString>;
160
+ description: z.ZodOptional<z.ZodString>;
161
+ siteAccessInformation: z.ZodOptional<z.ZodString>;
162
+ siteAccessHours: z.ZodOptional<z.ZodString>;
163
+ endServiceProvider: z.ZodOptional<z.ZodString>;
164
+ hasMedicalEmergencyOnSite: z.ZodOptional<z.ZodBoolean>;
165
+ medicalEmergencyDetails: z.ZodOptional<z.ZodString>;
166
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
167
+ demarc: z.ZodString;
168
+ siteContactName: z.ZodString;
169
+ siteContactNumber: z.ZodString;
170
+ siteContactEmail: z.ZodString;
171
+ isBusinessAddress: z.ZodBoolean;
172
+ alias: z.ZodOptional<z.ZodString>;
173
+ description: z.ZodOptional<z.ZodString>;
174
+ siteAccessInformation: z.ZodOptional<z.ZodString>;
175
+ siteAccessHours: z.ZodOptional<z.ZodString>;
176
+ endServiceProvider: z.ZodOptional<z.ZodString>;
177
+ hasMedicalEmergencyOnSite: z.ZodOptional<z.ZodBoolean>;
178
+ medicalEmergencyDetails: z.ZodOptional<z.ZodString>;
179
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
180
+ demarc: z.ZodString;
181
+ siteContactName: z.ZodString;
182
+ siteContactNumber: z.ZodString;
183
+ siteContactEmail: z.ZodString;
184
+ isBusinessAddress: z.ZodBoolean;
185
+ alias: z.ZodOptional<z.ZodString>;
186
+ description: z.ZodOptional<z.ZodString>;
187
+ siteAccessInformation: z.ZodOptional<z.ZodString>;
188
+ siteAccessHours: z.ZodOptional<z.ZodString>;
189
+ endServiceProvider: z.ZodOptional<z.ZodString>;
190
+ hasMedicalEmergencyOnSite: z.ZodOptional<z.ZodBoolean>;
191
+ medicalEmergencyDetails: z.ZodOptional<z.ZodString>;
192
+ }, z.ZodTypeAny, "passthrough">>;
193
+ tailOrder: z.ZodObject<{
194
+ orderAim: z.ZodString;
195
+ circuitTerminationId: z.ZodOptional<z.ZodString>;
196
+ existingServiceId: z.ZodOptional<z.ZodString>;
197
+ existingServiceProvider: z.ZodOptional<z.ZodString>;
198
+ targetDate: z.ZodOptional<z.ZodString>;
199
+ tailOrderAttributes: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
200
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
201
+ orderAim: z.ZodString;
202
+ circuitTerminationId: z.ZodOptional<z.ZodString>;
203
+ existingServiceId: z.ZodOptional<z.ZodString>;
204
+ existingServiceProvider: z.ZodOptional<z.ZodString>;
205
+ targetDate: z.ZodOptional<z.ZodString>;
206
+ tailOrderAttributes: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
207
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
208
+ orderAim: z.ZodString;
209
+ circuitTerminationId: z.ZodOptional<z.ZodString>;
210
+ existingServiceId: z.ZodOptional<z.ZodString>;
211
+ existingServiceProvider: z.ZodOptional<z.ZodString>;
212
+ targetDate: z.ZodOptional<z.ZodString>;
213
+ tailOrderAttributes: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
214
+ }, z.ZodTypeAny, "passthrough">>;
215
+ tailVariant: z.ZodOptional<z.ZodString>;
216
+ projectName: z.ZodOptional<z.ZodString>;
217
+ modemProduct: z.ZodOptional<z.ZodString>;
218
+ voiceProduct: z.ZodOptional<z.ZodString>;
219
+ meshProduct: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
220
+ customerReference: z.ZodOptional<z.ZodString>;
221
+ customerOrderReference: z.ZodOptional<z.ZodString>;
222
+ ipAddressAssignment: z.ZodOptional<z.ZodString>;
223
+ voiceOrder: z.ZodOptional<z.ZodObject<{
224
+ orderAim: z.ZodOptional<z.ZodString>;
225
+ username: z.ZodOptional<z.ZodString>;
226
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
227
+ orderAim: z.ZodOptional<z.ZodString>;
228
+ username: z.ZodOptional<z.ZodString>;
229
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
230
+ orderAim: z.ZodOptional<z.ZodString>;
231
+ username: z.ZodOptional<z.ZodString>;
232
+ }, z.ZodTypeAny, "passthrough">>>;
233
+ modemOrder: z.ZodOptional<z.ZodObject<{
234
+ firstName: z.ZodOptional<z.ZodString>;
235
+ lastName: z.ZodOptional<z.ZodString>;
236
+ streetAddress: z.ZodOptional<z.ZodString>;
237
+ city: z.ZodOptional<z.ZodString>;
238
+ postCode: z.ZodOptional<z.ZodString>;
239
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
240
+ firstName: z.ZodOptional<z.ZodString>;
241
+ lastName: z.ZodOptional<z.ZodString>;
242
+ streetAddress: z.ZodOptional<z.ZodString>;
243
+ city: z.ZodOptional<z.ZodString>;
244
+ postCode: z.ZodOptional<z.ZodString>;
245
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
246
+ firstName: z.ZodOptional<z.ZodString>;
247
+ lastName: z.ZodOptional<z.ZodString>;
248
+ streetAddress: z.ZodOptional<z.ZodString>;
249
+ city: z.ZodOptional<z.ZodString>;
250
+ postCode: z.ZodOptional<z.ZodString>;
251
+ }, z.ZodTypeAny, "passthrough">>>;
252
+ meshOrder: z.ZodOptional<z.ZodObject<{
253
+ companyName: z.ZodOptional<z.ZodString>;
254
+ firstName: z.ZodOptional<z.ZodString>;
255
+ lastName: z.ZodOptional<z.ZodString>;
256
+ streetAddress: z.ZodOptional<z.ZodString>;
257
+ city: z.ZodOptional<z.ZodString>;
258
+ postCode: z.ZodOptional<z.ZodString>;
259
+ email: z.ZodOptional<z.ZodString>;
260
+ phone: z.ZodOptional<z.ZodString>;
261
+ notes: z.ZodOptional<z.ZodString>;
262
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
263
+ companyName: z.ZodOptional<z.ZodString>;
264
+ firstName: z.ZodOptional<z.ZodString>;
265
+ lastName: z.ZodOptional<z.ZodString>;
266
+ streetAddress: z.ZodOptional<z.ZodString>;
267
+ city: z.ZodOptional<z.ZodString>;
268
+ postCode: z.ZodOptional<z.ZodString>;
269
+ email: z.ZodOptional<z.ZodString>;
270
+ phone: z.ZodOptional<z.ZodString>;
271
+ notes: z.ZodOptional<z.ZodString>;
272
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
273
+ companyName: z.ZodOptional<z.ZodString>;
274
+ firstName: z.ZodOptional<z.ZodString>;
275
+ lastName: z.ZodOptional<z.ZodString>;
276
+ streetAddress: z.ZodOptional<z.ZodString>;
277
+ city: z.ZodOptional<z.ZodString>;
278
+ postCode: z.ZodOptional<z.ZodString>;
279
+ email: z.ZodOptional<z.ZodString>;
280
+ phone: z.ZodOptional<z.ZodString>;
281
+ notes: z.ZodOptional<z.ZodString>;
282
+ }, z.ZodTypeAny, "passthrough">>>;
283
+ forCustomer: z.ZodOptional<z.ZodString>;
284
+ resold: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
285
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
286
+ address: z.ZodString;
287
+ soldProduct: z.ZodString;
288
+ tailProduct: z.ZodString;
289
+ subscriberName: z.ZodString;
290
+ username: z.ZodString;
291
+ orderContactName: z.ZodString;
292
+ orderContactNumber: z.ZodString;
293
+ orderContactEmail: z.ZodString;
294
+ siteInfo: z.ZodObject<{
295
+ demarc: z.ZodString;
296
+ siteContactName: z.ZodString;
297
+ siteContactNumber: z.ZodString;
298
+ siteContactEmail: z.ZodString;
299
+ isBusinessAddress: z.ZodBoolean;
300
+ alias: z.ZodOptional<z.ZodString>;
301
+ description: z.ZodOptional<z.ZodString>;
302
+ siteAccessInformation: z.ZodOptional<z.ZodString>;
303
+ siteAccessHours: z.ZodOptional<z.ZodString>;
304
+ endServiceProvider: z.ZodOptional<z.ZodString>;
305
+ hasMedicalEmergencyOnSite: z.ZodOptional<z.ZodBoolean>;
306
+ medicalEmergencyDetails: z.ZodOptional<z.ZodString>;
307
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
308
+ demarc: z.ZodString;
309
+ siteContactName: z.ZodString;
310
+ siteContactNumber: z.ZodString;
311
+ siteContactEmail: z.ZodString;
312
+ isBusinessAddress: z.ZodBoolean;
313
+ alias: z.ZodOptional<z.ZodString>;
314
+ description: z.ZodOptional<z.ZodString>;
315
+ siteAccessInformation: z.ZodOptional<z.ZodString>;
316
+ siteAccessHours: z.ZodOptional<z.ZodString>;
317
+ endServiceProvider: z.ZodOptional<z.ZodString>;
318
+ hasMedicalEmergencyOnSite: z.ZodOptional<z.ZodBoolean>;
319
+ medicalEmergencyDetails: z.ZodOptional<z.ZodString>;
320
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
321
+ demarc: z.ZodString;
322
+ siteContactName: z.ZodString;
323
+ siteContactNumber: z.ZodString;
324
+ siteContactEmail: z.ZodString;
325
+ isBusinessAddress: z.ZodBoolean;
326
+ alias: z.ZodOptional<z.ZodString>;
327
+ description: z.ZodOptional<z.ZodString>;
328
+ siteAccessInformation: z.ZodOptional<z.ZodString>;
329
+ siteAccessHours: z.ZodOptional<z.ZodString>;
330
+ endServiceProvider: z.ZodOptional<z.ZodString>;
331
+ hasMedicalEmergencyOnSite: z.ZodOptional<z.ZodBoolean>;
332
+ medicalEmergencyDetails: z.ZodOptional<z.ZodString>;
333
+ }, z.ZodTypeAny, "passthrough">>;
334
+ tailOrder: z.ZodObject<{
335
+ orderAim: z.ZodString;
336
+ circuitTerminationId: z.ZodOptional<z.ZodString>;
337
+ existingServiceId: z.ZodOptional<z.ZodString>;
338
+ existingServiceProvider: z.ZodOptional<z.ZodString>;
339
+ targetDate: z.ZodOptional<z.ZodString>;
340
+ tailOrderAttributes: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
341
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
342
+ orderAim: z.ZodString;
343
+ circuitTerminationId: z.ZodOptional<z.ZodString>;
344
+ existingServiceId: z.ZodOptional<z.ZodString>;
345
+ existingServiceProvider: z.ZodOptional<z.ZodString>;
346
+ targetDate: z.ZodOptional<z.ZodString>;
347
+ tailOrderAttributes: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
348
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
349
+ orderAim: z.ZodString;
350
+ circuitTerminationId: z.ZodOptional<z.ZodString>;
351
+ existingServiceId: z.ZodOptional<z.ZodString>;
352
+ existingServiceProvider: z.ZodOptional<z.ZodString>;
353
+ targetDate: z.ZodOptional<z.ZodString>;
354
+ tailOrderAttributes: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
355
+ }, z.ZodTypeAny, "passthrough">>;
356
+ tailVariant: z.ZodOptional<z.ZodString>;
357
+ projectName: z.ZodOptional<z.ZodString>;
358
+ modemProduct: z.ZodOptional<z.ZodString>;
359
+ voiceProduct: z.ZodOptional<z.ZodString>;
360
+ meshProduct: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
361
+ customerReference: z.ZodOptional<z.ZodString>;
362
+ customerOrderReference: z.ZodOptional<z.ZodString>;
363
+ ipAddressAssignment: z.ZodOptional<z.ZodString>;
364
+ voiceOrder: z.ZodOptional<z.ZodObject<{
365
+ orderAim: z.ZodOptional<z.ZodString>;
366
+ username: z.ZodOptional<z.ZodString>;
367
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
368
+ orderAim: z.ZodOptional<z.ZodString>;
369
+ username: z.ZodOptional<z.ZodString>;
370
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
371
+ orderAim: z.ZodOptional<z.ZodString>;
372
+ username: z.ZodOptional<z.ZodString>;
373
+ }, z.ZodTypeAny, "passthrough">>>;
374
+ modemOrder: z.ZodOptional<z.ZodObject<{
375
+ firstName: z.ZodOptional<z.ZodString>;
376
+ lastName: z.ZodOptional<z.ZodString>;
377
+ streetAddress: z.ZodOptional<z.ZodString>;
378
+ city: z.ZodOptional<z.ZodString>;
379
+ postCode: z.ZodOptional<z.ZodString>;
380
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
381
+ firstName: z.ZodOptional<z.ZodString>;
382
+ lastName: z.ZodOptional<z.ZodString>;
383
+ streetAddress: z.ZodOptional<z.ZodString>;
384
+ city: z.ZodOptional<z.ZodString>;
385
+ postCode: z.ZodOptional<z.ZodString>;
386
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
387
+ firstName: z.ZodOptional<z.ZodString>;
388
+ lastName: z.ZodOptional<z.ZodString>;
389
+ streetAddress: z.ZodOptional<z.ZodString>;
390
+ city: z.ZodOptional<z.ZodString>;
391
+ postCode: z.ZodOptional<z.ZodString>;
392
+ }, z.ZodTypeAny, "passthrough">>>;
393
+ meshOrder: z.ZodOptional<z.ZodObject<{
394
+ companyName: z.ZodOptional<z.ZodString>;
395
+ firstName: z.ZodOptional<z.ZodString>;
396
+ lastName: z.ZodOptional<z.ZodString>;
397
+ streetAddress: z.ZodOptional<z.ZodString>;
398
+ city: z.ZodOptional<z.ZodString>;
399
+ postCode: z.ZodOptional<z.ZodString>;
400
+ email: z.ZodOptional<z.ZodString>;
401
+ phone: z.ZodOptional<z.ZodString>;
402
+ notes: z.ZodOptional<z.ZodString>;
403
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
404
+ companyName: z.ZodOptional<z.ZodString>;
405
+ firstName: z.ZodOptional<z.ZodString>;
406
+ lastName: z.ZodOptional<z.ZodString>;
407
+ streetAddress: z.ZodOptional<z.ZodString>;
408
+ city: z.ZodOptional<z.ZodString>;
409
+ postCode: z.ZodOptional<z.ZodString>;
410
+ email: z.ZodOptional<z.ZodString>;
411
+ phone: z.ZodOptional<z.ZodString>;
412
+ notes: z.ZodOptional<z.ZodString>;
413
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
414
+ companyName: z.ZodOptional<z.ZodString>;
415
+ firstName: z.ZodOptional<z.ZodString>;
416
+ lastName: z.ZodOptional<z.ZodString>;
417
+ streetAddress: z.ZodOptional<z.ZodString>;
418
+ city: z.ZodOptional<z.ZodString>;
419
+ postCode: z.ZodOptional<z.ZodString>;
420
+ email: z.ZodOptional<z.ZodString>;
421
+ phone: z.ZodOptional<z.ZodString>;
422
+ notes: z.ZodOptional<z.ZodString>;
423
+ }, z.ZodTypeAny, "passthrough">>>;
424
+ forCustomer: z.ZodOptional<z.ZodString>;
425
+ resold: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
426
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
427
+ address: z.ZodString;
428
+ soldProduct: z.ZodString;
429
+ tailProduct: z.ZodString;
430
+ subscriberName: z.ZodString;
431
+ username: z.ZodString;
432
+ orderContactName: z.ZodString;
433
+ orderContactNumber: z.ZodString;
434
+ orderContactEmail: z.ZodString;
435
+ siteInfo: z.ZodObject<{
436
+ demarc: z.ZodString;
437
+ siteContactName: z.ZodString;
438
+ siteContactNumber: z.ZodString;
439
+ siteContactEmail: z.ZodString;
440
+ isBusinessAddress: z.ZodBoolean;
441
+ alias: z.ZodOptional<z.ZodString>;
442
+ description: z.ZodOptional<z.ZodString>;
443
+ siteAccessInformation: z.ZodOptional<z.ZodString>;
444
+ siteAccessHours: z.ZodOptional<z.ZodString>;
445
+ endServiceProvider: z.ZodOptional<z.ZodString>;
446
+ hasMedicalEmergencyOnSite: z.ZodOptional<z.ZodBoolean>;
447
+ medicalEmergencyDetails: z.ZodOptional<z.ZodString>;
448
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
449
+ demarc: z.ZodString;
450
+ siteContactName: z.ZodString;
451
+ siteContactNumber: z.ZodString;
452
+ siteContactEmail: z.ZodString;
453
+ isBusinessAddress: z.ZodBoolean;
454
+ alias: z.ZodOptional<z.ZodString>;
455
+ description: z.ZodOptional<z.ZodString>;
456
+ siteAccessInformation: z.ZodOptional<z.ZodString>;
457
+ siteAccessHours: z.ZodOptional<z.ZodString>;
458
+ endServiceProvider: z.ZodOptional<z.ZodString>;
459
+ hasMedicalEmergencyOnSite: z.ZodOptional<z.ZodBoolean>;
460
+ medicalEmergencyDetails: z.ZodOptional<z.ZodString>;
461
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
462
+ demarc: z.ZodString;
463
+ siteContactName: z.ZodString;
464
+ siteContactNumber: z.ZodString;
465
+ siteContactEmail: z.ZodString;
466
+ isBusinessAddress: z.ZodBoolean;
467
+ alias: z.ZodOptional<z.ZodString>;
468
+ description: z.ZodOptional<z.ZodString>;
469
+ siteAccessInformation: z.ZodOptional<z.ZodString>;
470
+ siteAccessHours: z.ZodOptional<z.ZodString>;
471
+ endServiceProvider: z.ZodOptional<z.ZodString>;
472
+ hasMedicalEmergencyOnSite: z.ZodOptional<z.ZodBoolean>;
473
+ medicalEmergencyDetails: z.ZodOptional<z.ZodString>;
474
+ }, z.ZodTypeAny, "passthrough">>;
475
+ tailOrder: z.ZodObject<{
476
+ orderAim: z.ZodString;
477
+ circuitTerminationId: z.ZodOptional<z.ZodString>;
478
+ existingServiceId: z.ZodOptional<z.ZodString>;
479
+ existingServiceProvider: z.ZodOptional<z.ZodString>;
480
+ targetDate: z.ZodOptional<z.ZodString>;
481
+ tailOrderAttributes: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
482
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
483
+ orderAim: z.ZodString;
484
+ circuitTerminationId: z.ZodOptional<z.ZodString>;
485
+ existingServiceId: z.ZodOptional<z.ZodString>;
486
+ existingServiceProvider: z.ZodOptional<z.ZodString>;
487
+ targetDate: z.ZodOptional<z.ZodString>;
488
+ tailOrderAttributes: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
489
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
490
+ orderAim: z.ZodString;
491
+ circuitTerminationId: z.ZodOptional<z.ZodString>;
492
+ existingServiceId: z.ZodOptional<z.ZodString>;
493
+ existingServiceProvider: z.ZodOptional<z.ZodString>;
494
+ targetDate: z.ZodOptional<z.ZodString>;
495
+ tailOrderAttributes: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
496
+ }, z.ZodTypeAny, "passthrough">>;
497
+ tailVariant: z.ZodOptional<z.ZodString>;
498
+ projectName: z.ZodOptional<z.ZodString>;
499
+ modemProduct: z.ZodOptional<z.ZodString>;
500
+ voiceProduct: z.ZodOptional<z.ZodString>;
501
+ meshProduct: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
502
+ customerReference: z.ZodOptional<z.ZodString>;
503
+ customerOrderReference: z.ZodOptional<z.ZodString>;
504
+ ipAddressAssignment: z.ZodOptional<z.ZodString>;
505
+ voiceOrder: z.ZodOptional<z.ZodObject<{
506
+ orderAim: z.ZodOptional<z.ZodString>;
507
+ username: z.ZodOptional<z.ZodString>;
508
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
509
+ orderAim: z.ZodOptional<z.ZodString>;
510
+ username: z.ZodOptional<z.ZodString>;
511
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
512
+ orderAim: z.ZodOptional<z.ZodString>;
513
+ username: z.ZodOptional<z.ZodString>;
514
+ }, z.ZodTypeAny, "passthrough">>>;
515
+ modemOrder: z.ZodOptional<z.ZodObject<{
516
+ firstName: z.ZodOptional<z.ZodString>;
517
+ lastName: z.ZodOptional<z.ZodString>;
518
+ streetAddress: z.ZodOptional<z.ZodString>;
519
+ city: z.ZodOptional<z.ZodString>;
520
+ postCode: z.ZodOptional<z.ZodString>;
521
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
522
+ firstName: z.ZodOptional<z.ZodString>;
523
+ lastName: z.ZodOptional<z.ZodString>;
524
+ streetAddress: z.ZodOptional<z.ZodString>;
525
+ city: z.ZodOptional<z.ZodString>;
526
+ postCode: z.ZodOptional<z.ZodString>;
527
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
528
+ firstName: z.ZodOptional<z.ZodString>;
529
+ lastName: z.ZodOptional<z.ZodString>;
530
+ streetAddress: z.ZodOptional<z.ZodString>;
531
+ city: z.ZodOptional<z.ZodString>;
532
+ postCode: z.ZodOptional<z.ZodString>;
533
+ }, z.ZodTypeAny, "passthrough">>>;
534
+ meshOrder: z.ZodOptional<z.ZodObject<{
535
+ companyName: z.ZodOptional<z.ZodString>;
536
+ firstName: z.ZodOptional<z.ZodString>;
537
+ lastName: z.ZodOptional<z.ZodString>;
538
+ streetAddress: z.ZodOptional<z.ZodString>;
539
+ city: z.ZodOptional<z.ZodString>;
540
+ postCode: z.ZodOptional<z.ZodString>;
541
+ email: z.ZodOptional<z.ZodString>;
542
+ phone: z.ZodOptional<z.ZodString>;
543
+ notes: z.ZodOptional<z.ZodString>;
544
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
545
+ companyName: z.ZodOptional<z.ZodString>;
546
+ firstName: z.ZodOptional<z.ZodString>;
547
+ lastName: z.ZodOptional<z.ZodString>;
548
+ streetAddress: z.ZodOptional<z.ZodString>;
549
+ city: z.ZodOptional<z.ZodString>;
550
+ postCode: z.ZodOptional<z.ZodString>;
551
+ email: z.ZodOptional<z.ZodString>;
552
+ phone: z.ZodOptional<z.ZodString>;
553
+ notes: z.ZodOptional<z.ZodString>;
554
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
555
+ companyName: z.ZodOptional<z.ZodString>;
556
+ firstName: z.ZodOptional<z.ZodString>;
557
+ lastName: z.ZodOptional<z.ZodString>;
558
+ streetAddress: z.ZodOptional<z.ZodString>;
559
+ city: z.ZodOptional<z.ZodString>;
560
+ postCode: z.ZodOptional<z.ZodString>;
561
+ email: z.ZodOptional<z.ZodString>;
562
+ phone: z.ZodOptional<z.ZodString>;
563
+ notes: z.ZodOptional<z.ZodString>;
564
+ }, z.ZodTypeAny, "passthrough">>>;
565
+ forCustomer: z.ZodOptional<z.ZodString>;
566
+ resold: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
567
+ }, z.ZodTypeAny, "passthrough">>;
568
+ //# sourceMappingURL=quickorder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quickorder.d.ts","sourceRoot":"","sources":["../../src/schemas/quickorder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAwExB,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgC3B,CAAC;AAGF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAA0C,CAAC"}