@frihet/mcp-server 2.0.1 → 2.0.2

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.
@@ -0,0 +1,1192 @@
1
+ /**
2
+ * Candidate 1.0.3 capability expansion for the Frihet ChatGPT (OpenAI) profile.
3
+ *
4
+ * Developed in isolation (branch `feat/openai-1.0.3-candidate`) without mutating
5
+ * the live 1.0.2 production endpoint (`https://openai-mcp.frihet.io/mcp`, 33 tools).
6
+ *
7
+ * Exposes four read-only operational intelligence & commercial-search capabilities
8
+ * (expanding the surface from 33 to 37 tools):
9
+ * 1. `get_daily_operational_brief` — Prioritized daily brief with record provenance
10
+ * 2. `get_business_period_summary` — Period & month-over-month comparison by currency
11
+ * 3. `search_clients` — Multi-page commercial-name client search with ambiguity & coverage truth
12
+ * 4. `search_vendors` — Multi-page commercial-name vendor search with ambiguity & coverage truth
13
+ *
14
+ * Architectural note on `update_draft_invoice` (excluded from 1.0.3):
15
+ * Inspection of `Frihet-ERP/functions/src/publicApi.ts:10175-10350` (`updateResource`)
16
+ * shows that an MCP-only pre-flight (`getInvoice` + `updateInvoice`) is NOT atomic
17
+ * end-to-end:
18
+ * - `PATCH /v1/invoices/:id` runs a Firestore transaction (`db.runTransaction`),
19
+ * but does not accept an `expectedStatus: "draft"` or `expectedUpdatedAt`
20
+ * precondition inside that transaction.
21
+ * - `documentNumber` is assigned at draft creation (`POST /v1/invoices`), so
22
+ * `expectedDocumentNumber` is not a revision token.
23
+ * - If a concurrent session transitions a draft invoice to `'sent'` (prior to
24
+ * `verifactu.hash` or `documentNumberFinal`) between the MCP's `GET` and `PATCH`,
25
+ * sending `{ status: "draft", ... }` is permitted by `publicApi.ts:10323-10333`,
26
+ * which would demote an unhashed `'sent'` invoice back to `'draft'`.
27
+ * Therefore, draft editing is intentionally kept outside 1.0.3 until the ERP
28
+ * backend enforces `ifStatus === "draft"` + `ifUpdatedAt` inside `updateResource`.
29
+ */
30
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
31
+ import { z } from "zod/v4";
32
+ import type { IFrihetClient } from "../client-interface.js";
33
+ export declare const CLIENT_SEARCH_SERVER_PROJECTION: "id,name,stage,email,phone";
34
+ export declare const VENDOR_SEARCH_SERVER_PROJECTION: "id,name,email,phone";
35
+ /**
36
+ * Rejects queries that look like Spanish NIF/NIE/CIF or EU VAT numbers
37
+ * (including labeled forms like "NIF: B87654321" or numeric stems) so
38
+ * name-only search tools can never be used as government-ID lookup oracles.
39
+ */
40
+ export declare function isLikelyGovernmentIdQuery(raw: string): boolean;
41
+ export type NameMatchRank = "exact" | "prefix" | "token" | "substring";
42
+ export declare function matchCommercialName(candidateName: unknown, rawQuery: string): {
43
+ matched: boolean;
44
+ rank?: NameMatchRank;
45
+ score: number;
46
+ };
47
+ export declare const dailyOperationalBriefOutputSchema: z.ZodObject<{
48
+ question: z.ZodString;
49
+ coverage: z.ZodObject<{
50
+ asOfDate: z.ZodString;
51
+ referenceMonth: z.ZodString;
52
+ temporalScope: z.ZodLiteral<"unfiltered_operational_sample_as_of_date">;
53
+ temporalScopeNote: z.ZodString;
54
+ isPartial: z.ZodBoolean;
55
+ resources: z.ZodArray<z.ZodObject<{
56
+ collection: z.ZodEnum<{
57
+ invoices: "invoices";
58
+ expenses: "expenses";
59
+ clients: "clients";
60
+ quotes: "quotes";
61
+ client_activities: "client_activities";
62
+ }>;
63
+ sourceTool: z.ZodString;
64
+ inspected: z.ZodNumber;
65
+ total: z.ZodNumber;
66
+ complete: z.ZodBoolean;
67
+ }, z.core.$strip>>;
68
+ }, z.core.$strip>;
69
+ activitySeparation: z.ZodObject<{
70
+ draftActivity: z.ZodObject<{
71
+ note: z.ZodString;
72
+ invoiceDraftsCount: z.ZodNumber;
73
+ invoiceDraftsTotal: z.ZodObject<{
74
+ amount: z.ZodNullable<z.ZodNumber>;
75
+ currency: z.ZodString;
76
+ provenance: z.ZodEnum<{
77
+ unavailable: "unavailable";
78
+ stored_field: "stored_field";
79
+ derived_from_items: "derived_from_items";
80
+ business_context_summary: "business_context_summary";
81
+ mixed_currency_unconverted: "mixed_currency_unconverted";
82
+ }>;
83
+ fieldOrFormula: z.ZodString;
84
+ totalsByCurrency: z.ZodArray<z.ZodObject<{
85
+ currency: z.ZodString;
86
+ amount: z.ZodNumber;
87
+ documentCount: z.ZodNumber;
88
+ provenance: z.ZodEnum<{
89
+ stored_field: "stored_field";
90
+ derived_from_items: "derived_from_items";
91
+ }>;
92
+ }, z.core.$strip>>;
93
+ unavailableCount: z.ZodNumber;
94
+ }, z.core.$strip>;
95
+ invoiceDrafts: z.ZodArray<z.ZodObject<{
96
+ id: z.ZodString;
97
+ documentNumber: z.ZodNullable<z.ZodString>;
98
+ status: z.ZodString;
99
+ counterpartyName: z.ZodString;
100
+ issueDate: z.ZodNullable<z.ZodString>;
101
+ dueDate: z.ZodNullable<z.ZodString>;
102
+ amount: z.ZodObject<{
103
+ amount: z.ZodNullable<z.ZodNumber>;
104
+ currency: z.ZodString;
105
+ provenance: z.ZodEnum<{
106
+ unavailable: "unavailable";
107
+ stored_field: "stored_field";
108
+ derived_from_items: "derived_from_items";
109
+ business_context_summary: "business_context_summary";
110
+ mixed_currency_unconverted: "mixed_currency_unconverted";
111
+ }>;
112
+ fieldOrFormula: z.ZodString;
113
+ totalsByCurrency: z.ZodArray<z.ZodObject<{
114
+ currency: z.ZodString;
115
+ amount: z.ZodNumber;
116
+ documentCount: z.ZodNumber;
117
+ provenance: z.ZodEnum<{
118
+ stored_field: "stored_field";
119
+ derived_from_items: "derived_from_items";
120
+ }>;
121
+ }, z.core.$strip>>;
122
+ unavailableCount: z.ZodNumber;
123
+ }, z.core.$strip>;
124
+ }, z.core.$strip>>;
125
+ quoteDraftsCount: z.ZodNumber;
126
+ quoteDraftsTotal: z.ZodObject<{
127
+ amount: z.ZodNullable<z.ZodNumber>;
128
+ currency: z.ZodString;
129
+ provenance: z.ZodEnum<{
130
+ unavailable: "unavailable";
131
+ stored_field: "stored_field";
132
+ derived_from_items: "derived_from_items";
133
+ business_context_summary: "business_context_summary";
134
+ mixed_currency_unconverted: "mixed_currency_unconverted";
135
+ }>;
136
+ fieldOrFormula: z.ZodString;
137
+ totalsByCurrency: z.ZodArray<z.ZodObject<{
138
+ currency: z.ZodString;
139
+ amount: z.ZodNumber;
140
+ documentCount: z.ZodNumber;
141
+ provenance: z.ZodEnum<{
142
+ stored_field: "stored_field";
143
+ derived_from_items: "derived_from_items";
144
+ }>;
145
+ }, z.core.$strip>>;
146
+ unavailableCount: z.ZodNumber;
147
+ }, z.core.$strip>;
148
+ quoteDrafts: z.ZodArray<z.ZodObject<{
149
+ id: z.ZodString;
150
+ documentNumber: z.ZodNullable<z.ZodString>;
151
+ status: z.ZodString;
152
+ counterpartyName: z.ZodString;
153
+ issueDate: z.ZodNullable<z.ZodString>;
154
+ dueDate: z.ZodNullable<z.ZodString>;
155
+ amount: z.ZodObject<{
156
+ amount: z.ZodNullable<z.ZodNumber>;
157
+ currency: z.ZodString;
158
+ provenance: z.ZodEnum<{
159
+ unavailable: "unavailable";
160
+ stored_field: "stored_field";
161
+ derived_from_items: "derived_from_items";
162
+ business_context_summary: "business_context_summary";
163
+ mixed_currency_unconverted: "mixed_currency_unconverted";
164
+ }>;
165
+ fieldOrFormula: z.ZodString;
166
+ totalsByCurrency: z.ZodArray<z.ZodObject<{
167
+ currency: z.ZodString;
168
+ amount: z.ZodNumber;
169
+ documentCount: z.ZodNumber;
170
+ provenance: z.ZodEnum<{
171
+ stored_field: "stored_field";
172
+ derived_from_items: "derived_from_items";
173
+ }>;
174
+ }, z.core.$strip>>;
175
+ unavailableCount: z.ZodNumber;
176
+ }, z.core.$strip>;
177
+ }, z.core.$strip>>;
178
+ }, z.core.$strip>;
179
+ issuedActivity: z.ZodObject<{
180
+ note: z.ZodString;
181
+ realOutstandingBalanceDeterminable: z.ZodLiteral<false>;
182
+ unpaidNominalSemantics: z.ZodLiteral<"nominal_unpaid_invoice_totals_without_partial_payments">;
183
+ issuedInvoicesCount: z.ZodNumber;
184
+ paidInvoicesCount: z.ZodNumber;
185
+ paidInvoicesTotal: z.ZodObject<{
186
+ amount: z.ZodNullable<z.ZodNumber>;
187
+ currency: z.ZodString;
188
+ provenance: z.ZodEnum<{
189
+ unavailable: "unavailable";
190
+ stored_field: "stored_field";
191
+ derived_from_items: "derived_from_items";
192
+ business_context_summary: "business_context_summary";
193
+ mixed_currency_unconverted: "mixed_currency_unconverted";
194
+ }>;
195
+ fieldOrFormula: z.ZodString;
196
+ totalsByCurrency: z.ZodArray<z.ZodObject<{
197
+ currency: z.ZodString;
198
+ amount: z.ZodNumber;
199
+ documentCount: z.ZodNumber;
200
+ provenance: z.ZodEnum<{
201
+ stored_field: "stored_field";
202
+ derived_from_items: "derived_from_items";
203
+ }>;
204
+ }, z.core.$strip>>;
205
+ unavailableCount: z.ZodNumber;
206
+ }, z.core.$strip>;
207
+ unpaidNominalInvoicesCount: z.ZodNumber;
208
+ unpaidNominalTotal: z.ZodObject<{
209
+ amount: z.ZodNullable<z.ZodNumber>;
210
+ currency: z.ZodString;
211
+ provenance: z.ZodEnum<{
212
+ unavailable: "unavailable";
213
+ stored_field: "stored_field";
214
+ derived_from_items: "derived_from_items";
215
+ business_context_summary: "business_context_summary";
216
+ mixed_currency_unconverted: "mixed_currency_unconverted";
217
+ }>;
218
+ fieldOrFormula: z.ZodString;
219
+ totalsByCurrency: z.ZodArray<z.ZodObject<{
220
+ currency: z.ZodString;
221
+ amount: z.ZodNumber;
222
+ documentCount: z.ZodNumber;
223
+ provenance: z.ZodEnum<{
224
+ stored_field: "stored_field";
225
+ derived_from_items: "derived_from_items";
226
+ }>;
227
+ }, z.core.$strip>>;
228
+ unavailableCount: z.ZodNumber;
229
+ }, z.core.$strip>;
230
+ overdueNominalInvoicesCount: z.ZodNumber;
231
+ overdueNominalTotal: z.ZodObject<{
232
+ amount: z.ZodNullable<z.ZodNumber>;
233
+ currency: z.ZodString;
234
+ provenance: z.ZodEnum<{
235
+ unavailable: "unavailable";
236
+ stored_field: "stored_field";
237
+ derived_from_items: "derived_from_items";
238
+ business_context_summary: "business_context_summary";
239
+ mixed_currency_unconverted: "mixed_currency_unconverted";
240
+ }>;
241
+ fieldOrFormula: z.ZodString;
242
+ totalsByCurrency: z.ZodArray<z.ZodObject<{
243
+ currency: z.ZodString;
244
+ amount: z.ZodNumber;
245
+ documentCount: z.ZodNumber;
246
+ provenance: z.ZodEnum<{
247
+ stored_field: "stored_field";
248
+ derived_from_items: "derived_from_items";
249
+ }>;
250
+ }, z.core.$strip>>;
251
+ unavailableCount: z.ZodNumber;
252
+ }, z.core.$strip>;
253
+ onTimeNominalPendingCount: z.ZodNumber;
254
+ onTimeNominalPendingTotal: z.ZodObject<{
255
+ amount: z.ZodNullable<z.ZodNumber>;
256
+ currency: z.ZodString;
257
+ provenance: z.ZodEnum<{
258
+ unavailable: "unavailable";
259
+ stored_field: "stored_field";
260
+ derived_from_items: "derived_from_items";
261
+ business_context_summary: "business_context_summary";
262
+ mixed_currency_unconverted: "mixed_currency_unconverted";
263
+ }>;
264
+ fieldOrFormula: z.ZodString;
265
+ totalsByCurrency: z.ZodArray<z.ZodObject<{
266
+ currency: z.ZodString;
267
+ amount: z.ZodNumber;
268
+ documentCount: z.ZodNumber;
269
+ provenance: z.ZodEnum<{
270
+ stored_field: "stored_field";
271
+ derived_from_items: "derived_from_items";
272
+ }>;
273
+ }, z.core.$strip>>;
274
+ unavailableCount: z.ZodNumber;
275
+ }, z.core.$strip>;
276
+ outstandingInvoices: z.ZodArray<z.ZodObject<{
277
+ id: z.ZodString;
278
+ documentNumber: z.ZodNullable<z.ZodString>;
279
+ status: z.ZodString;
280
+ counterpartyName: z.ZodString;
281
+ issueDate: z.ZodNullable<z.ZodString>;
282
+ dueDate: z.ZodNullable<z.ZodString>;
283
+ amount: z.ZodObject<{
284
+ amount: z.ZodNullable<z.ZodNumber>;
285
+ currency: z.ZodString;
286
+ provenance: z.ZodEnum<{
287
+ unavailable: "unavailable";
288
+ stored_field: "stored_field";
289
+ derived_from_items: "derived_from_items";
290
+ business_context_summary: "business_context_summary";
291
+ mixed_currency_unconverted: "mixed_currency_unconverted";
292
+ }>;
293
+ fieldOrFormula: z.ZodString;
294
+ totalsByCurrency: z.ZodArray<z.ZodObject<{
295
+ currency: z.ZodString;
296
+ amount: z.ZodNumber;
297
+ documentCount: z.ZodNumber;
298
+ provenance: z.ZodEnum<{
299
+ stored_field: "stored_field";
300
+ derived_from_items: "derived_from_items";
301
+ }>;
302
+ }, z.core.$strip>>;
303
+ unavailableCount: z.ZodNumber;
304
+ }, z.core.$strip>;
305
+ }, z.core.$strip>>;
306
+ }, z.core.$strip>;
307
+ recordedExpenses: z.ZodObject<{
308
+ note: z.ZodString;
309
+ expensesCount: z.ZodNumber;
310
+ expensesTotal: z.ZodObject<{
311
+ amount: z.ZodNullable<z.ZodNumber>;
312
+ currency: z.ZodString;
313
+ provenance: z.ZodEnum<{
314
+ unavailable: "unavailable";
315
+ stored_field: "stored_field";
316
+ derived_from_items: "derived_from_items";
317
+ business_context_summary: "business_context_summary";
318
+ mixed_currency_unconverted: "mixed_currency_unconverted";
319
+ }>;
320
+ fieldOrFormula: z.ZodString;
321
+ totalsByCurrency: z.ZodArray<z.ZodObject<{
322
+ currency: z.ZodString;
323
+ amount: z.ZodNumber;
324
+ documentCount: z.ZodNumber;
325
+ provenance: z.ZodEnum<{
326
+ stored_field: "stored_field";
327
+ derived_from_items: "derived_from_items";
328
+ }>;
329
+ }, z.core.$strip>>;
330
+ unavailableCount: z.ZodNumber;
331
+ }, z.core.$strip>;
332
+ deductibleCount: z.ZodNumber;
333
+ deductibleTotal: z.ZodObject<{
334
+ amount: z.ZodNullable<z.ZodNumber>;
335
+ currency: z.ZodString;
336
+ provenance: z.ZodEnum<{
337
+ unavailable: "unavailable";
338
+ stored_field: "stored_field";
339
+ derived_from_items: "derived_from_items";
340
+ business_context_summary: "business_context_summary";
341
+ mixed_currency_unconverted: "mixed_currency_unconverted";
342
+ }>;
343
+ fieldOrFormula: z.ZodString;
344
+ totalsByCurrency: z.ZodArray<z.ZodObject<{
345
+ currency: z.ZodString;
346
+ amount: z.ZodNumber;
347
+ documentCount: z.ZodNumber;
348
+ provenance: z.ZodEnum<{
349
+ stored_field: "stored_field";
350
+ derived_from_items: "derived_from_items";
351
+ }>;
352
+ }, z.core.$strip>>;
353
+ unavailableCount: z.ZodNumber;
354
+ }, z.core.$strip>;
355
+ nonDeductibleCount: z.ZodNumber;
356
+ nonDeductibleTotal: z.ZodObject<{
357
+ amount: z.ZodNullable<z.ZodNumber>;
358
+ currency: z.ZodString;
359
+ provenance: z.ZodEnum<{
360
+ unavailable: "unavailable";
361
+ stored_field: "stored_field";
362
+ derived_from_items: "derived_from_items";
363
+ business_context_summary: "business_context_summary";
364
+ mixed_currency_unconverted: "mixed_currency_unconverted";
365
+ }>;
366
+ fieldOrFormula: z.ZodString;
367
+ totalsByCurrency: z.ZodArray<z.ZodObject<{
368
+ currency: z.ZodString;
369
+ amount: z.ZodNumber;
370
+ documentCount: z.ZodNumber;
371
+ provenance: z.ZodEnum<{
372
+ stored_field: "stored_field";
373
+ derived_from_items: "derived_from_items";
374
+ }>;
375
+ }, z.core.$strip>>;
376
+ unavailableCount: z.ZodNumber;
377
+ }, z.core.$strip>;
378
+ pendingReviewCount: z.ZodNumber;
379
+ }, z.core.$strip>;
380
+ currentMonthActivity: z.ZodObject<{
381
+ referenceMonth: z.ZodString;
382
+ note: z.ZodString;
383
+ issuedInvoicesInMonthCount: z.ZodNumber;
384
+ issuedInvoicesInMonthTotal: z.ZodObject<{
385
+ amount: z.ZodNullable<z.ZodNumber>;
386
+ currency: z.ZodString;
387
+ provenance: z.ZodEnum<{
388
+ unavailable: "unavailable";
389
+ stored_field: "stored_field";
390
+ derived_from_items: "derived_from_items";
391
+ business_context_summary: "business_context_summary";
392
+ mixed_currency_unconverted: "mixed_currency_unconverted";
393
+ }>;
394
+ fieldOrFormula: z.ZodString;
395
+ totalsByCurrency: z.ZodArray<z.ZodObject<{
396
+ currency: z.ZodString;
397
+ amount: z.ZodNumber;
398
+ documentCount: z.ZodNumber;
399
+ provenance: z.ZodEnum<{
400
+ stored_field: "stored_field";
401
+ derived_from_items: "derived_from_items";
402
+ }>;
403
+ }, z.core.$strip>>;
404
+ unavailableCount: z.ZodNumber;
405
+ }, z.core.$strip>;
406
+ invoiceDraftsInMonthCount: z.ZodNumber;
407
+ invoiceDraftsInMonthTotal: z.ZodObject<{
408
+ amount: z.ZodNullable<z.ZodNumber>;
409
+ currency: z.ZodString;
410
+ provenance: z.ZodEnum<{
411
+ unavailable: "unavailable";
412
+ stored_field: "stored_field";
413
+ derived_from_items: "derived_from_items";
414
+ business_context_summary: "business_context_summary";
415
+ mixed_currency_unconverted: "mixed_currency_unconverted";
416
+ }>;
417
+ fieldOrFormula: z.ZodString;
418
+ totalsByCurrency: z.ZodArray<z.ZodObject<{
419
+ currency: z.ZodString;
420
+ amount: z.ZodNumber;
421
+ documentCount: z.ZodNumber;
422
+ provenance: z.ZodEnum<{
423
+ stored_field: "stored_field";
424
+ derived_from_items: "derived_from_items";
425
+ }>;
426
+ }, z.core.$strip>>;
427
+ unavailableCount: z.ZodNumber;
428
+ }, z.core.$strip>;
429
+ expensesInMonthCount: z.ZodNumber;
430
+ expensesInMonthTotal: z.ZodObject<{
431
+ amount: z.ZodNullable<z.ZodNumber>;
432
+ currency: z.ZodString;
433
+ provenance: z.ZodEnum<{
434
+ unavailable: "unavailable";
435
+ stored_field: "stored_field";
436
+ derived_from_items: "derived_from_items";
437
+ business_context_summary: "business_context_summary";
438
+ mixed_currency_unconverted: "mixed_currency_unconverted";
439
+ }>;
440
+ fieldOrFormula: z.ZodString;
441
+ totalsByCurrency: z.ZodArray<z.ZodObject<{
442
+ currency: z.ZodString;
443
+ amount: z.ZodNumber;
444
+ documentCount: z.ZodNumber;
445
+ provenance: z.ZodEnum<{
446
+ stored_field: "stored_field";
447
+ derived_from_items: "derived_from_items";
448
+ }>;
449
+ }, z.core.$strip>>;
450
+ unavailableCount: z.ZodNumber;
451
+ }, z.core.$strip>;
452
+ }, z.core.$strip>;
453
+ }, z.core.$strip>;
454
+ priorities: z.ZodArray<z.ZodObject<{
455
+ priority: z.ZodEnum<{
456
+ low: "low";
457
+ medium: "medium";
458
+ high: "high";
459
+ }>;
460
+ category: z.ZodEnum<{
461
+ draft_invoice: "draft_invoice";
462
+ overdue_invoice: "overdue_invoice";
463
+ draft_or_expiring_quote: "draft_or_expiring_quote";
464
+ expense_review: "expense_review";
465
+ client_followup: "client_followup";
466
+ plan_quota: "plan_quota";
467
+ }>;
468
+ title: z.ZodString;
469
+ why: z.ZodString;
470
+ recordRefs: z.ZodArray<z.ZodObject<{
471
+ type: z.ZodEnum<{
472
+ invoice: "invoice";
473
+ expense: "expense";
474
+ client: "client";
475
+ plan_quota: "plan_quota";
476
+ quote: "quote";
477
+ client_activity: "client_activity";
478
+ }>;
479
+ id: z.ZodString;
480
+ label: z.ZodString;
481
+ }, z.core.$strip>>;
482
+ amount: z.ZodOptional<z.ZodObject<{
483
+ amount: z.ZodNullable<z.ZodNumber>;
484
+ currency: z.ZodString;
485
+ provenance: z.ZodEnum<{
486
+ unavailable: "unavailable";
487
+ stored_field: "stored_field";
488
+ derived_from_items: "derived_from_items";
489
+ business_context_summary: "business_context_summary";
490
+ mixed_currency_unconverted: "mixed_currency_unconverted";
491
+ }>;
492
+ fieldOrFormula: z.ZodString;
493
+ totalsByCurrency: z.ZodArray<z.ZodObject<{
494
+ currency: z.ZodString;
495
+ amount: z.ZodNumber;
496
+ documentCount: z.ZodNumber;
497
+ provenance: z.ZodEnum<{
498
+ stored_field: "stored_field";
499
+ derived_from_items: "derived_from_items";
500
+ }>;
501
+ }, z.core.$strip>>;
502
+ unavailableCount: z.ZodNumber;
503
+ }, z.core.$strip>>;
504
+ suggestedNextAction: z.ZodObject<{
505
+ description: z.ZodString;
506
+ recommendedTool: z.ZodString;
507
+ requiresConfirmation: z.ZodBoolean;
508
+ autoExecuted: z.ZodLiteral<false>;
509
+ }, z.core.$strip>;
510
+ }, z.core.$strip>>;
511
+ knownUnknowns: z.ZodArray<z.ZodString>;
512
+ mutationsExecuted: z.ZodLiteral<0>;
513
+ }, z.core.$strip>;
514
+ export declare const businessPeriodSummaryOutputSchema: z.ZodObject<{
515
+ accountingSemanticsNote: z.ZodString;
516
+ primaryPeriod: z.ZodObject<{
517
+ period: z.ZodString;
518
+ coverage: z.ZodObject<{
519
+ invoicesInspected: z.ZodNumber;
520
+ invoicesTotal: z.ZodNumber;
521
+ invoicesComplete: z.ZodBoolean;
522
+ expensesInspected: z.ZodNumber;
523
+ expensesTotal: z.ZodNumber;
524
+ expensesComplete: z.ZodBoolean;
525
+ isComplete: z.ZodBoolean;
526
+ telemetry: z.ZodObject<{
527
+ invoicePagesFetched: z.ZodNumber;
528
+ expensePagesFetched: z.ZodNumber;
529
+ totalApiRequests: z.ZodNumber;
530
+ recordsInspected: z.ZodNumber;
531
+ approximatePayloadBytes: z.ZodNumber;
532
+ }, z.core.$strip>;
533
+ }, z.core.$strip>;
534
+ draftInvoices: z.ZodObject<{
535
+ note: z.ZodString;
536
+ count: z.ZodNumber;
537
+ total: z.ZodObject<{
538
+ amount: z.ZodNullable<z.ZodNumber>;
539
+ currency: z.ZodString;
540
+ provenance: z.ZodEnum<{
541
+ unavailable: "unavailable";
542
+ stored_field: "stored_field";
543
+ derived_from_items: "derived_from_items";
544
+ business_context_summary: "business_context_summary";
545
+ mixed_currency_unconverted: "mixed_currency_unconverted";
546
+ }>;
547
+ fieldOrFormula: z.ZodString;
548
+ totalsByCurrency: z.ZodArray<z.ZodObject<{
549
+ currency: z.ZodString;
550
+ amount: z.ZodNumber;
551
+ documentCount: z.ZodNumber;
552
+ provenance: z.ZodEnum<{
553
+ stored_field: "stored_field";
554
+ derived_from_items: "derived_from_items";
555
+ }>;
556
+ }, z.core.$strip>>;
557
+ unavailableCount: z.ZodNumber;
558
+ }, z.core.$strip>;
559
+ }, z.core.$strip>;
560
+ issuedInvoices: z.ZodObject<{
561
+ selectionBasis: z.ZodLiteral<"issue_date_cohort_not_payment_date">;
562
+ note: z.ZodString;
563
+ realOutstandingBalanceDeterminable: z.ZodLiteral<false>;
564
+ count: z.ZodNumber;
565
+ currentlyMarkedPaidCount: z.ZodNumber;
566
+ unpaidNominalCount: z.ZodNumber;
567
+ overdueNominalCount: z.ZodNumber;
568
+ issuedTotal: z.ZodObject<{
569
+ amount: z.ZodNullable<z.ZodNumber>;
570
+ currency: z.ZodString;
571
+ provenance: z.ZodEnum<{
572
+ unavailable: "unavailable";
573
+ stored_field: "stored_field";
574
+ derived_from_items: "derived_from_items";
575
+ business_context_summary: "business_context_summary";
576
+ mixed_currency_unconverted: "mixed_currency_unconverted";
577
+ }>;
578
+ fieldOrFormula: z.ZodString;
579
+ totalsByCurrency: z.ZodArray<z.ZodObject<{
580
+ currency: z.ZodString;
581
+ amount: z.ZodNumber;
582
+ documentCount: z.ZodNumber;
583
+ provenance: z.ZodEnum<{
584
+ stored_field: "stored_field";
585
+ derived_from_items: "derived_from_items";
586
+ }>;
587
+ }, z.core.$strip>>;
588
+ unavailableCount: z.ZodNumber;
589
+ }, z.core.$strip>;
590
+ currentlyMarkedPaidTotal: z.ZodObject<{
591
+ amount: z.ZodNullable<z.ZodNumber>;
592
+ currency: z.ZodString;
593
+ provenance: z.ZodEnum<{
594
+ unavailable: "unavailable";
595
+ stored_field: "stored_field";
596
+ derived_from_items: "derived_from_items";
597
+ business_context_summary: "business_context_summary";
598
+ mixed_currency_unconverted: "mixed_currency_unconverted";
599
+ }>;
600
+ fieldOrFormula: z.ZodString;
601
+ totalsByCurrency: z.ZodArray<z.ZodObject<{
602
+ currency: z.ZodString;
603
+ amount: z.ZodNumber;
604
+ documentCount: z.ZodNumber;
605
+ provenance: z.ZodEnum<{
606
+ stored_field: "stored_field";
607
+ derived_from_items: "derived_from_items";
608
+ }>;
609
+ }, z.core.$strip>>;
610
+ unavailableCount: z.ZodNumber;
611
+ }, z.core.$strip>;
612
+ unpaidNominalTotal: z.ZodObject<{
613
+ amount: z.ZodNullable<z.ZodNumber>;
614
+ currency: z.ZodString;
615
+ provenance: z.ZodEnum<{
616
+ unavailable: "unavailable";
617
+ stored_field: "stored_field";
618
+ derived_from_items: "derived_from_items";
619
+ business_context_summary: "business_context_summary";
620
+ mixed_currency_unconverted: "mixed_currency_unconverted";
621
+ }>;
622
+ fieldOrFormula: z.ZodString;
623
+ totalsByCurrency: z.ZodArray<z.ZodObject<{
624
+ currency: z.ZodString;
625
+ amount: z.ZodNumber;
626
+ documentCount: z.ZodNumber;
627
+ provenance: z.ZodEnum<{
628
+ stored_field: "stored_field";
629
+ derived_from_items: "derived_from_items";
630
+ }>;
631
+ }, z.core.$strip>>;
632
+ unavailableCount: z.ZodNumber;
633
+ }, z.core.$strip>;
634
+ overdueNominalTotal: z.ZodObject<{
635
+ amount: z.ZodNullable<z.ZodNumber>;
636
+ currency: z.ZodString;
637
+ provenance: z.ZodEnum<{
638
+ unavailable: "unavailable";
639
+ stored_field: "stored_field";
640
+ derived_from_items: "derived_from_items";
641
+ business_context_summary: "business_context_summary";
642
+ mixed_currency_unconverted: "mixed_currency_unconverted";
643
+ }>;
644
+ fieldOrFormula: z.ZodString;
645
+ totalsByCurrency: z.ZodArray<z.ZodObject<{
646
+ currency: z.ZodString;
647
+ amount: z.ZodNumber;
648
+ documentCount: z.ZodNumber;
649
+ provenance: z.ZodEnum<{
650
+ stored_field: "stored_field";
651
+ derived_from_items: "derived_from_items";
652
+ }>;
653
+ }, z.core.$strip>>;
654
+ unavailableCount: z.ZodNumber;
655
+ }, z.core.$strip>;
656
+ }, z.core.$strip>;
657
+ expenses: z.ZodObject<{
658
+ note: z.ZodString;
659
+ count: z.ZodNumber;
660
+ total: z.ZodObject<{
661
+ amount: z.ZodNullable<z.ZodNumber>;
662
+ currency: z.ZodString;
663
+ provenance: z.ZodEnum<{
664
+ unavailable: "unavailable";
665
+ stored_field: "stored_field";
666
+ derived_from_items: "derived_from_items";
667
+ business_context_summary: "business_context_summary";
668
+ mixed_currency_unconverted: "mixed_currency_unconverted";
669
+ }>;
670
+ fieldOrFormula: z.ZodString;
671
+ totalsByCurrency: z.ZodArray<z.ZodObject<{
672
+ currency: z.ZodString;
673
+ amount: z.ZodNumber;
674
+ documentCount: z.ZodNumber;
675
+ provenance: z.ZodEnum<{
676
+ stored_field: "stored_field";
677
+ derived_from_items: "derived_from_items";
678
+ }>;
679
+ }, z.core.$strip>>;
680
+ unavailableCount: z.ZodNumber;
681
+ }, z.core.$strip>;
682
+ deductibleCount: z.ZodNumber;
683
+ deductibleTotal: z.ZodObject<{
684
+ amount: z.ZodNullable<z.ZodNumber>;
685
+ currency: z.ZodString;
686
+ provenance: z.ZodEnum<{
687
+ unavailable: "unavailable";
688
+ stored_field: "stored_field";
689
+ derived_from_items: "derived_from_items";
690
+ business_context_summary: "business_context_summary";
691
+ mixed_currency_unconverted: "mixed_currency_unconverted";
692
+ }>;
693
+ fieldOrFormula: z.ZodString;
694
+ totalsByCurrency: z.ZodArray<z.ZodObject<{
695
+ currency: z.ZodString;
696
+ amount: z.ZodNumber;
697
+ documentCount: z.ZodNumber;
698
+ provenance: z.ZodEnum<{
699
+ stored_field: "stored_field";
700
+ derived_from_items: "derived_from_items";
701
+ }>;
702
+ }, z.core.$strip>>;
703
+ unavailableCount: z.ZodNumber;
704
+ }, z.core.$strip>;
705
+ nonDeductibleCount: z.ZodNumber;
706
+ nonDeductibleTotal: z.ZodObject<{
707
+ amount: z.ZodNullable<z.ZodNumber>;
708
+ currency: z.ZodString;
709
+ provenance: z.ZodEnum<{
710
+ unavailable: "unavailable";
711
+ stored_field: "stored_field";
712
+ derived_from_items: "derived_from_items";
713
+ business_context_summary: "business_context_summary";
714
+ mixed_currency_unconverted: "mixed_currency_unconverted";
715
+ }>;
716
+ fieldOrFormula: z.ZodString;
717
+ totalsByCurrency: z.ZodArray<z.ZodObject<{
718
+ currency: z.ZodString;
719
+ amount: z.ZodNumber;
720
+ documentCount: z.ZodNumber;
721
+ provenance: z.ZodEnum<{
722
+ stored_field: "stored_field";
723
+ derived_from_items: "derived_from_items";
724
+ }>;
725
+ }, z.core.$strip>>;
726
+ unavailableCount: z.ZodNumber;
727
+ }, z.core.$strip>;
728
+ undeterminedDeductibilityCount: z.ZodNumber;
729
+ undeterminedDeductibilityTotal: z.ZodObject<{
730
+ amount: z.ZodNullable<z.ZodNumber>;
731
+ currency: z.ZodString;
732
+ provenance: z.ZodEnum<{
733
+ unavailable: "unavailable";
734
+ stored_field: "stored_field";
735
+ derived_from_items: "derived_from_items";
736
+ business_context_summary: "business_context_summary";
737
+ mixed_currency_unconverted: "mixed_currency_unconverted";
738
+ }>;
739
+ fieldOrFormula: z.ZodString;
740
+ totalsByCurrency: z.ZodArray<z.ZodObject<{
741
+ currency: z.ZodString;
742
+ amount: z.ZodNumber;
743
+ documentCount: z.ZodNumber;
744
+ provenance: z.ZodEnum<{
745
+ stored_field: "stored_field";
746
+ derived_from_items: "derived_from_items";
747
+ }>;
748
+ }, z.core.$strip>>;
749
+ unavailableCount: z.ZodNumber;
750
+ }, z.core.$strip>;
751
+ byCategory: z.ZodArray<z.ZodObject<{
752
+ category: z.ZodString;
753
+ currency: z.ZodString;
754
+ amount: z.ZodNumber;
755
+ expenseCount: z.ZodNumber;
756
+ }, z.core.$strip>>;
757
+ }, z.core.$strip>;
758
+ netOperatingByCurrency: z.ZodArray<z.ZodObject<{
759
+ currency: z.ZodString;
760
+ issuedRevenueMinusExpenses: z.ZodNullable<z.ZodNumber>;
761
+ issuedCohortCurrentlyPaidMinusExpenses: z.ZodNullable<z.ZodNumber>;
762
+ completeAndDeterminable: z.ZodBoolean;
763
+ }, z.core.$strip>>;
764
+ }, z.core.$strip>;
765
+ comparisonPeriod: z.ZodOptional<z.ZodObject<{
766
+ period: z.ZodString;
767
+ coverage: z.ZodObject<{
768
+ invoicesInspected: z.ZodNumber;
769
+ invoicesTotal: z.ZodNumber;
770
+ invoicesComplete: z.ZodBoolean;
771
+ expensesInspected: z.ZodNumber;
772
+ expensesTotal: z.ZodNumber;
773
+ expensesComplete: z.ZodBoolean;
774
+ isComplete: z.ZodBoolean;
775
+ telemetry: z.ZodObject<{
776
+ invoicePagesFetched: z.ZodNumber;
777
+ expensePagesFetched: z.ZodNumber;
778
+ totalApiRequests: z.ZodNumber;
779
+ recordsInspected: z.ZodNumber;
780
+ approximatePayloadBytes: z.ZodNumber;
781
+ }, z.core.$strip>;
782
+ }, z.core.$strip>;
783
+ draftInvoices: z.ZodObject<{
784
+ note: z.ZodString;
785
+ count: z.ZodNumber;
786
+ total: z.ZodObject<{
787
+ amount: z.ZodNullable<z.ZodNumber>;
788
+ currency: z.ZodString;
789
+ provenance: z.ZodEnum<{
790
+ unavailable: "unavailable";
791
+ stored_field: "stored_field";
792
+ derived_from_items: "derived_from_items";
793
+ business_context_summary: "business_context_summary";
794
+ mixed_currency_unconverted: "mixed_currency_unconverted";
795
+ }>;
796
+ fieldOrFormula: z.ZodString;
797
+ totalsByCurrency: z.ZodArray<z.ZodObject<{
798
+ currency: z.ZodString;
799
+ amount: z.ZodNumber;
800
+ documentCount: z.ZodNumber;
801
+ provenance: z.ZodEnum<{
802
+ stored_field: "stored_field";
803
+ derived_from_items: "derived_from_items";
804
+ }>;
805
+ }, z.core.$strip>>;
806
+ unavailableCount: z.ZodNumber;
807
+ }, z.core.$strip>;
808
+ }, z.core.$strip>;
809
+ issuedInvoices: z.ZodObject<{
810
+ selectionBasis: z.ZodLiteral<"issue_date_cohort_not_payment_date">;
811
+ note: z.ZodString;
812
+ realOutstandingBalanceDeterminable: z.ZodLiteral<false>;
813
+ count: z.ZodNumber;
814
+ currentlyMarkedPaidCount: z.ZodNumber;
815
+ unpaidNominalCount: z.ZodNumber;
816
+ overdueNominalCount: z.ZodNumber;
817
+ issuedTotal: z.ZodObject<{
818
+ amount: z.ZodNullable<z.ZodNumber>;
819
+ currency: z.ZodString;
820
+ provenance: z.ZodEnum<{
821
+ unavailable: "unavailable";
822
+ stored_field: "stored_field";
823
+ derived_from_items: "derived_from_items";
824
+ business_context_summary: "business_context_summary";
825
+ mixed_currency_unconverted: "mixed_currency_unconverted";
826
+ }>;
827
+ fieldOrFormula: z.ZodString;
828
+ totalsByCurrency: z.ZodArray<z.ZodObject<{
829
+ currency: z.ZodString;
830
+ amount: z.ZodNumber;
831
+ documentCount: z.ZodNumber;
832
+ provenance: z.ZodEnum<{
833
+ stored_field: "stored_field";
834
+ derived_from_items: "derived_from_items";
835
+ }>;
836
+ }, z.core.$strip>>;
837
+ unavailableCount: z.ZodNumber;
838
+ }, z.core.$strip>;
839
+ currentlyMarkedPaidTotal: z.ZodObject<{
840
+ amount: z.ZodNullable<z.ZodNumber>;
841
+ currency: z.ZodString;
842
+ provenance: z.ZodEnum<{
843
+ unavailable: "unavailable";
844
+ stored_field: "stored_field";
845
+ derived_from_items: "derived_from_items";
846
+ business_context_summary: "business_context_summary";
847
+ mixed_currency_unconverted: "mixed_currency_unconverted";
848
+ }>;
849
+ fieldOrFormula: z.ZodString;
850
+ totalsByCurrency: z.ZodArray<z.ZodObject<{
851
+ currency: z.ZodString;
852
+ amount: z.ZodNumber;
853
+ documentCount: z.ZodNumber;
854
+ provenance: z.ZodEnum<{
855
+ stored_field: "stored_field";
856
+ derived_from_items: "derived_from_items";
857
+ }>;
858
+ }, z.core.$strip>>;
859
+ unavailableCount: z.ZodNumber;
860
+ }, z.core.$strip>;
861
+ unpaidNominalTotal: z.ZodObject<{
862
+ amount: z.ZodNullable<z.ZodNumber>;
863
+ currency: z.ZodString;
864
+ provenance: z.ZodEnum<{
865
+ unavailable: "unavailable";
866
+ stored_field: "stored_field";
867
+ derived_from_items: "derived_from_items";
868
+ business_context_summary: "business_context_summary";
869
+ mixed_currency_unconverted: "mixed_currency_unconverted";
870
+ }>;
871
+ fieldOrFormula: z.ZodString;
872
+ totalsByCurrency: z.ZodArray<z.ZodObject<{
873
+ currency: z.ZodString;
874
+ amount: z.ZodNumber;
875
+ documentCount: z.ZodNumber;
876
+ provenance: z.ZodEnum<{
877
+ stored_field: "stored_field";
878
+ derived_from_items: "derived_from_items";
879
+ }>;
880
+ }, z.core.$strip>>;
881
+ unavailableCount: z.ZodNumber;
882
+ }, z.core.$strip>;
883
+ overdueNominalTotal: z.ZodObject<{
884
+ amount: z.ZodNullable<z.ZodNumber>;
885
+ currency: z.ZodString;
886
+ provenance: z.ZodEnum<{
887
+ unavailable: "unavailable";
888
+ stored_field: "stored_field";
889
+ derived_from_items: "derived_from_items";
890
+ business_context_summary: "business_context_summary";
891
+ mixed_currency_unconverted: "mixed_currency_unconverted";
892
+ }>;
893
+ fieldOrFormula: z.ZodString;
894
+ totalsByCurrency: z.ZodArray<z.ZodObject<{
895
+ currency: z.ZodString;
896
+ amount: z.ZodNumber;
897
+ documentCount: z.ZodNumber;
898
+ provenance: z.ZodEnum<{
899
+ stored_field: "stored_field";
900
+ derived_from_items: "derived_from_items";
901
+ }>;
902
+ }, z.core.$strip>>;
903
+ unavailableCount: z.ZodNumber;
904
+ }, z.core.$strip>;
905
+ }, z.core.$strip>;
906
+ expenses: z.ZodObject<{
907
+ note: z.ZodString;
908
+ count: z.ZodNumber;
909
+ total: z.ZodObject<{
910
+ amount: z.ZodNullable<z.ZodNumber>;
911
+ currency: z.ZodString;
912
+ provenance: z.ZodEnum<{
913
+ unavailable: "unavailable";
914
+ stored_field: "stored_field";
915
+ derived_from_items: "derived_from_items";
916
+ business_context_summary: "business_context_summary";
917
+ mixed_currency_unconverted: "mixed_currency_unconverted";
918
+ }>;
919
+ fieldOrFormula: z.ZodString;
920
+ totalsByCurrency: z.ZodArray<z.ZodObject<{
921
+ currency: z.ZodString;
922
+ amount: z.ZodNumber;
923
+ documentCount: z.ZodNumber;
924
+ provenance: z.ZodEnum<{
925
+ stored_field: "stored_field";
926
+ derived_from_items: "derived_from_items";
927
+ }>;
928
+ }, z.core.$strip>>;
929
+ unavailableCount: z.ZodNumber;
930
+ }, z.core.$strip>;
931
+ deductibleCount: z.ZodNumber;
932
+ deductibleTotal: z.ZodObject<{
933
+ amount: z.ZodNullable<z.ZodNumber>;
934
+ currency: z.ZodString;
935
+ provenance: z.ZodEnum<{
936
+ unavailable: "unavailable";
937
+ stored_field: "stored_field";
938
+ derived_from_items: "derived_from_items";
939
+ business_context_summary: "business_context_summary";
940
+ mixed_currency_unconverted: "mixed_currency_unconverted";
941
+ }>;
942
+ fieldOrFormula: z.ZodString;
943
+ totalsByCurrency: z.ZodArray<z.ZodObject<{
944
+ currency: z.ZodString;
945
+ amount: z.ZodNumber;
946
+ documentCount: z.ZodNumber;
947
+ provenance: z.ZodEnum<{
948
+ stored_field: "stored_field";
949
+ derived_from_items: "derived_from_items";
950
+ }>;
951
+ }, z.core.$strip>>;
952
+ unavailableCount: z.ZodNumber;
953
+ }, z.core.$strip>;
954
+ nonDeductibleCount: z.ZodNumber;
955
+ nonDeductibleTotal: z.ZodObject<{
956
+ amount: z.ZodNullable<z.ZodNumber>;
957
+ currency: z.ZodString;
958
+ provenance: z.ZodEnum<{
959
+ unavailable: "unavailable";
960
+ stored_field: "stored_field";
961
+ derived_from_items: "derived_from_items";
962
+ business_context_summary: "business_context_summary";
963
+ mixed_currency_unconverted: "mixed_currency_unconverted";
964
+ }>;
965
+ fieldOrFormula: z.ZodString;
966
+ totalsByCurrency: z.ZodArray<z.ZodObject<{
967
+ currency: z.ZodString;
968
+ amount: z.ZodNumber;
969
+ documentCount: z.ZodNumber;
970
+ provenance: z.ZodEnum<{
971
+ stored_field: "stored_field";
972
+ derived_from_items: "derived_from_items";
973
+ }>;
974
+ }, z.core.$strip>>;
975
+ unavailableCount: z.ZodNumber;
976
+ }, z.core.$strip>;
977
+ undeterminedDeductibilityCount: z.ZodNumber;
978
+ undeterminedDeductibilityTotal: z.ZodObject<{
979
+ amount: z.ZodNullable<z.ZodNumber>;
980
+ currency: z.ZodString;
981
+ provenance: z.ZodEnum<{
982
+ unavailable: "unavailable";
983
+ stored_field: "stored_field";
984
+ derived_from_items: "derived_from_items";
985
+ business_context_summary: "business_context_summary";
986
+ mixed_currency_unconverted: "mixed_currency_unconverted";
987
+ }>;
988
+ fieldOrFormula: z.ZodString;
989
+ totalsByCurrency: z.ZodArray<z.ZodObject<{
990
+ currency: z.ZodString;
991
+ amount: z.ZodNumber;
992
+ documentCount: z.ZodNumber;
993
+ provenance: z.ZodEnum<{
994
+ stored_field: "stored_field";
995
+ derived_from_items: "derived_from_items";
996
+ }>;
997
+ }, z.core.$strip>>;
998
+ unavailableCount: z.ZodNumber;
999
+ }, z.core.$strip>;
1000
+ byCategory: z.ZodArray<z.ZodObject<{
1001
+ category: z.ZodString;
1002
+ currency: z.ZodString;
1003
+ amount: z.ZodNumber;
1004
+ expenseCount: z.ZodNumber;
1005
+ }, z.core.$strip>>;
1006
+ }, z.core.$strip>;
1007
+ netOperatingByCurrency: z.ZodArray<z.ZodObject<{
1008
+ currency: z.ZodString;
1009
+ issuedRevenueMinusExpenses: z.ZodNullable<z.ZodNumber>;
1010
+ issuedCohortCurrentlyPaidMinusExpenses: z.ZodNullable<z.ZodNumber>;
1011
+ completeAndDeterminable: z.ZodBoolean;
1012
+ }, z.core.$strip>>;
1013
+ }, z.core.$strip>>;
1014
+ comparison: z.ZodOptional<z.ZodObject<{
1015
+ primaryMonth: z.ZodString;
1016
+ compareWithMonth: z.ZodString;
1017
+ bothPeriodsComplete: z.ZodBoolean;
1018
+ issuedInvoicesCountDelta: z.ZodNumber;
1019
+ draftInvoicesCountDelta: z.ZodNumber;
1020
+ expensesCountDelta: z.ZodNumber;
1021
+ deltasByCurrency: z.ZodArray<z.ZodObject<{
1022
+ currency: z.ZodString;
1023
+ primaryIssuedRevenue: z.ZodNullable<z.ZodNumber>;
1024
+ comparisonIssuedRevenue: z.ZodNullable<z.ZodNumber>;
1025
+ issuedRevenueDelta: z.ZodNullable<z.ZodNumber>;
1026
+ primaryIssuedCurrentlyPaid: z.ZodNullable<z.ZodNumber>;
1027
+ comparisonIssuedCurrentlyPaid: z.ZodNullable<z.ZodNumber>;
1028
+ issuedCurrentlyPaidDelta: z.ZodNullable<z.ZodNumber>;
1029
+ primaryExpenses: z.ZodNullable<z.ZodNumber>;
1030
+ comparisonExpenses: z.ZodNullable<z.ZodNumber>;
1031
+ expensesDelta: z.ZodNullable<z.ZodNumber>;
1032
+ completeAndDeterminable: z.ZodBoolean;
1033
+ }, z.core.$strip>>;
1034
+ notes: z.ZodArray<z.ZodString>;
1035
+ }, z.core.$strip>>;
1036
+ }, z.core.$strip>;
1037
+ export declare const searchMatchStatusSchema: z.ZodEnum<{
1038
+ exact: "exact";
1039
+ none: "none";
1040
+ unambiguous: "unambiguous";
1041
+ ambiguous: "ambiguous";
1042
+ partial_scan_single_match: "partial_scan_single_match";
1043
+ partial_scan_no_match: "partial_scan_no_match";
1044
+ }>;
1045
+ export declare const searchClientsOutputSchema: z.ZodObject<{
1046
+ query: z.ZodString;
1047
+ searchedFields: z.ZodArray<z.ZodLiteral<"name">>;
1048
+ matchStatus: z.ZodEnum<{
1049
+ exact: "exact";
1050
+ none: "none";
1051
+ unambiguous: "unambiguous";
1052
+ ambiguous: "ambiguous";
1053
+ partial_scan_single_match: "partial_scan_single_match";
1054
+ partial_scan_no_match: "partial_scan_no_match";
1055
+ }>;
1056
+ disambiguationNote: z.ZodString;
1057
+ coverage: z.ZodObject<{
1058
+ inspected: z.ZodNumber;
1059
+ total: z.ZodNumber;
1060
+ uninspectedCount: z.ZodNumber;
1061
+ complete: z.ZodBoolean;
1062
+ nextCursor: z.ZodNullable<z.ZodString>;
1063
+ telemetry: z.ZodObject<{
1064
+ directoryPagesFetched: z.ZodNumber;
1065
+ contextRequestsMade: z.ZodNumber;
1066
+ totalApiRequests: z.ZodNumber;
1067
+ recordsInspected: z.ZodNumber;
1068
+ approximatePayloadBytes: z.ZodNumber;
1069
+ serverProjectionFields: z.ZodString;
1070
+ }, z.core.$strip>;
1071
+ }, z.core.$strip>;
1072
+ matches: z.ZodArray<z.ZodObject<{
1073
+ id: z.ZodString;
1074
+ name: z.ZodString;
1075
+ stage: z.ZodOptional<z.ZodString>;
1076
+ email: z.ZodOptional<z.ZodString>;
1077
+ phone: z.ZodOptional<z.ZodString>;
1078
+ matchRank: z.ZodEnum<{
1079
+ substring: "substring";
1080
+ token: "token";
1081
+ exact: "exact";
1082
+ prefix: "prefix";
1083
+ }>;
1084
+ context: z.ZodOptional<z.ZodObject<{
1085
+ recentInvoices: z.ZodArray<z.ZodObject<{
1086
+ id: z.ZodString;
1087
+ invoiceNumber: z.ZodNullable<z.ZodString>;
1088
+ status: z.ZodString;
1089
+ issueDate: z.ZodNullable<z.ZodString>;
1090
+ dueDate: z.ZodNullable<z.ZodString>;
1091
+ amount: z.ZodObject<{
1092
+ amount: z.ZodNullable<z.ZodNumber>;
1093
+ currency: z.ZodString;
1094
+ provenance: z.ZodEnum<{
1095
+ unavailable: "unavailable";
1096
+ stored_field: "stored_field";
1097
+ derived_from_items: "derived_from_items";
1098
+ business_context_summary: "business_context_summary";
1099
+ mixed_currency_unconverted: "mixed_currency_unconverted";
1100
+ }>;
1101
+ fieldOrFormula: z.ZodString;
1102
+ totalsByCurrency: z.ZodArray<z.ZodObject<{
1103
+ currency: z.ZodString;
1104
+ amount: z.ZodNumber;
1105
+ documentCount: z.ZodNumber;
1106
+ provenance: z.ZodEnum<{
1107
+ stored_field: "stored_field";
1108
+ derived_from_items: "derived_from_items";
1109
+ }>;
1110
+ }, z.core.$strip>>;
1111
+ unavailableCount: z.ZodNumber;
1112
+ }, z.core.$strip>;
1113
+ }, z.core.$strip>>;
1114
+ recentActivities: z.ZodArray<z.ZodObject<{
1115
+ type: z.ZodString;
1116
+ title: z.ZodString;
1117
+ timestamp: z.ZodNullable<z.ZodString>;
1118
+ }, z.core.$strip>>;
1119
+ }, z.core.$strip>>;
1120
+ }, z.core.$strip>>;
1121
+ }, z.core.$strip>;
1122
+ export declare const searchVendorsOutputSchema: z.ZodObject<{
1123
+ query: z.ZodString;
1124
+ searchedFields: z.ZodArray<z.ZodLiteral<"name">>;
1125
+ matchStatus: z.ZodEnum<{
1126
+ exact: "exact";
1127
+ none: "none";
1128
+ unambiguous: "unambiguous";
1129
+ ambiguous: "ambiguous";
1130
+ partial_scan_single_match: "partial_scan_single_match";
1131
+ partial_scan_no_match: "partial_scan_no_match";
1132
+ }>;
1133
+ disambiguationNote: z.ZodString;
1134
+ coverage: z.ZodObject<{
1135
+ inspected: z.ZodNumber;
1136
+ total: z.ZodNumber;
1137
+ uninspectedCount: z.ZodNumber;
1138
+ complete: z.ZodBoolean;
1139
+ nextCursor: z.ZodNullable<z.ZodString>;
1140
+ telemetry: z.ZodObject<{
1141
+ directoryPagesFetched: z.ZodNumber;
1142
+ contextRequestsMade: z.ZodNumber;
1143
+ totalApiRequests: z.ZodNumber;
1144
+ recordsInspected: z.ZodNumber;
1145
+ approximatePayloadBytes: z.ZodNumber;
1146
+ serverProjectionFields: z.ZodString;
1147
+ }, z.core.$strip>;
1148
+ }, z.core.$strip>;
1149
+ matches: z.ZodArray<z.ZodObject<{
1150
+ id: z.ZodString;
1151
+ name: z.ZodString;
1152
+ email: z.ZodOptional<z.ZodString>;
1153
+ phone: z.ZodOptional<z.ZodString>;
1154
+ matchRank: z.ZodEnum<{
1155
+ substring: "substring";
1156
+ token: "token";
1157
+ exact: "exact";
1158
+ prefix: "prefix";
1159
+ }>;
1160
+ recentExpenses: z.ZodOptional<z.ZodArray<z.ZodObject<{
1161
+ id: z.ZodString;
1162
+ description: z.ZodString;
1163
+ date: z.ZodNullable<z.ZodString>;
1164
+ category: z.ZodNullable<z.ZodString>;
1165
+ taxDeductible: z.ZodNullable<z.ZodBoolean>;
1166
+ amount: z.ZodObject<{
1167
+ amount: z.ZodNullable<z.ZodNumber>;
1168
+ currency: z.ZodString;
1169
+ provenance: z.ZodEnum<{
1170
+ unavailable: "unavailable";
1171
+ stored_field: "stored_field";
1172
+ derived_from_items: "derived_from_items";
1173
+ business_context_summary: "business_context_summary";
1174
+ mixed_currency_unconverted: "mixed_currency_unconverted";
1175
+ }>;
1176
+ fieldOrFormula: z.ZodString;
1177
+ totalsByCurrency: z.ZodArray<z.ZodObject<{
1178
+ currency: z.ZodString;
1179
+ amount: z.ZodNumber;
1180
+ documentCount: z.ZodNumber;
1181
+ provenance: z.ZodEnum<{
1182
+ stored_field: "stored_field";
1183
+ derived_from_items: "derived_from_items";
1184
+ }>;
1185
+ }, z.core.$strip>>;
1186
+ unavailableCount: z.ZodNumber;
1187
+ }, z.core.$strip>;
1188
+ }, z.core.$strip>>>;
1189
+ }, z.core.$strip>>;
1190
+ }, z.core.$strip>;
1191
+ export declare function registerOpenAI103CandidateTools(server: McpServer, client: IFrihetClient): void;
1192
+ //# sourceMappingURL=openai-expansion-103.d.ts.map