@arcforgelabs/flow 2026.10.29 → 2026.10.32-beta.1

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 (76) hide show
  1. package/README.md +2 -0
  2. package/npm-shrinkwrap.json +188 -2
  3. package/package.json +2 -1
  4. package/server/api/alerts.js +49 -0
  5. package/server/api/invoicing.js +110 -3
  6. package/server/app.js +29 -2
  7. package/server/core/alerts.js +157 -0
  8. package/server/core/automations.js +32 -1
  9. package/server/core/history.js +65 -0
  10. package/server/core/invoice-pdf.js +266 -0
  11. package/server/core/invoicing-rules.js +12 -0
  12. package/server/core/job-board.js +25 -3
  13. package/server/core/line-mapping.js +36 -10
  14. package/server/core/pipeline.js +84 -6
  15. package/server/core/price-list.js +348 -0
  16. package/server/core/queue.js +22 -0
  17. package/server/core/sending.js +16 -4
  18. package/server/db/commands.js +42 -0
  19. package/server/db/doctor.js +168 -0
  20. package/server/db/migrations/0014_price_list.sql +34 -0
  21. package/server/db/migrations/0015_alert_dismissals.sql +17 -0
  22. package/server/db/migrations/meta/0014_snapshot.json +3773 -0
  23. package/server/db/migrations/meta/0015_snapshot.json +3854 -0
  24. package/server/db/migrations/meta/_journal.json +14 -0
  25. package/server/db/schema.js +44 -0
  26. package/server/flow-server.js +20 -1
  27. package/server/index.js +2 -1
  28. package/server/integrations/call-guard.js +362 -0
  29. package/server/integrations/port.js +23 -2
  30. package/server/integrations/seazona/client.js +6 -0
  31. package/server/integrations/seazona/feed.js +23 -1
  32. package/server/integrations/seazona/governor.js +74 -21
  33. package/server/integrations/seazona/history/backfill.js +208 -0
  34. package/server/integrations/seazona/history/csv.js +65 -0
  35. package/server/integrations/seazona/history/index.js +584 -0
  36. package/server/integrations/seazona/history/read.js +196 -0
  37. package/server/integrations/seazona/index.js +51 -2
  38. package/server/integrations/seazona/lanes.js +251 -62
  39. package/server/integrations/seazona/migrations/0002_call_safety.sql +15 -0
  40. package/server/integrations/seazona/migrations/0003_call_guard.sql +2 -0
  41. package/server/integrations/seazona/migrations/0004_history_import.sql +68 -0
  42. package/server/integrations/seazona/migrations/meta/0002_snapshot.json +882 -0
  43. package/server/integrations/seazona/migrations/meta/0003_snapshot.json +895 -0
  44. package/server/integrations/seazona/migrations/meta/0004_snapshot.json +1323 -0
  45. package/server/integrations/seazona/migrations/meta/_journal.json +21 -0
  46. package/server/integrations/seazona/routes.js +145 -0
  47. package/server/integrations/seazona/scheduler.js +37 -1
  48. package/server/integrations/seazona/schema.js +116 -0
  49. package/server/integrations/seazona/settings.js +24 -3
  50. package/server/integrations/seazona/store.js +74 -0
  51. package/server/integrations/seazona/sync-once.js +1 -1
  52. package/server/integrations/seazona/tables.js +5 -0
  53. package/server/integrations/xero/client.js +27 -7
  54. package/server/integrations/xero/drafts.js +46 -8
  55. package/server/integrations/xero/import.js +125 -16
  56. package/server/integrations/xero/index.js +36 -7
  57. package/server/integrations/xero/lookup.js +26 -0
  58. package/server/integrations/xero/migrations/0006_xero_call_guard.sql +26 -0
  59. package/server/integrations/xero/migrations/meta/_journal.json +7 -0
  60. package/server/integrations/xero/mirror.js +11 -2
  61. package/server/integrations/xero/oauth.js +4 -1
  62. package/server/integrations/xero/reconcile.js +173 -0
  63. package/server/integrations/xero/routes.js +35 -0
  64. package/server/integrations/xero/runtime.js +45 -4
  65. package/server/release-channel.js +3 -3
  66. package/server/ui/alerts.js +77 -0
  67. package/server/ui/app-page.js +1 -1
  68. package/server/ui/app.js +48 -14
  69. package/server/ui/clerk-appearance.js +42 -9
  70. package/server/ui/flow.css +31 -2
  71. package/server/ui/invoicing-settings.js +1 -1
  72. package/server/ui/invoicing.js +121 -8
  73. package/server/ui/line-mappings.js +3 -2
  74. package/server/ui/monitoring.js +14 -0
  75. package/server/ui/price-list.js +247 -0
  76. package/server/ui/routes.js +1 -1
@@ -0,0 +1,1323 @@
1
+ {
2
+ "id": "d7fe8f66-a45f-4fa8-8b5d-92540f781725",
3
+ "prevId": "d650d87a-1c2f-4924-a103-b873a80d3bb2",
4
+ "version": "7",
5
+ "dialect": "postgresql",
6
+ "tables": {
7
+ "public.seazona_api_governor": {
8
+ "name": "seazona_api_governor",
9
+ "schema": "",
10
+ "columns": {
11
+ "client_key": {
12
+ "name": "client_key",
13
+ "type": "text",
14
+ "primaryKey": true,
15
+ "notNull": true
16
+ },
17
+ "next_eligible_at": {
18
+ "name": "next_eligible_at",
19
+ "type": "timestamp with time zone",
20
+ "primaryKey": false,
21
+ "notNull": true,
22
+ "default": "'epoch'"
23
+ },
24
+ "cooldown_until": {
25
+ "name": "cooldown_until",
26
+ "type": "timestamp with time zone",
27
+ "primaryKey": false,
28
+ "notNull": true,
29
+ "default": "'epoch'"
30
+ },
31
+ "circuit_open_until": {
32
+ "name": "circuit_open_until",
33
+ "type": "timestamp with time zone",
34
+ "primaryKey": false,
35
+ "notNull": true,
36
+ "default": "'epoch'"
37
+ },
38
+ "circuit_opens": {
39
+ "name": "circuit_opens",
40
+ "type": "integer",
41
+ "primaryKey": false,
42
+ "notNull": true,
43
+ "default": 0
44
+ },
45
+ "halted_reason": {
46
+ "name": "halted_reason",
47
+ "type": "text",
48
+ "primaryKey": false,
49
+ "notNull": false
50
+ },
51
+ "halted_at": {
52
+ "name": "halted_at",
53
+ "type": "timestamp with time zone",
54
+ "primaryKey": false,
55
+ "notNull": false
56
+ },
57
+ "stopped_resources": {
58
+ "name": "stopped_resources",
59
+ "type": "jsonb",
60
+ "primaryKey": false,
61
+ "notNull": true,
62
+ "default": "'{}'::jsonb"
63
+ },
64
+ "updated_at": {
65
+ "name": "updated_at",
66
+ "type": "timestamp with time zone",
67
+ "primaryKey": false,
68
+ "notNull": true,
69
+ "default": "now()"
70
+ }
71
+ },
72
+ "indexes": {},
73
+ "foreignKeys": {},
74
+ "compositePrimaryKeys": {},
75
+ "uniqueConstraints": {},
76
+ "policies": {},
77
+ "checkConstraints": {},
78
+ "isRLSEnabled": false
79
+ },
80
+ "public.seazona_api_requests": {
81
+ "name": "seazona_api_requests",
82
+ "schema": "",
83
+ "columns": {
84
+ "id": {
85
+ "name": "id",
86
+ "type": "bigserial",
87
+ "primaryKey": true,
88
+ "notNull": true
89
+ },
90
+ "client_key": {
91
+ "name": "client_key",
92
+ "type": "text",
93
+ "primaryKey": false,
94
+ "notNull": true
95
+ },
96
+ "workflow": {
97
+ "name": "workflow",
98
+ "type": "text",
99
+ "primaryKey": false,
100
+ "notNull": true
101
+ },
102
+ "admitted_at": {
103
+ "name": "admitted_at",
104
+ "type": "timestamp with time zone",
105
+ "primaryKey": false,
106
+ "notNull": true
107
+ },
108
+ "resource": {
109
+ "name": "resource",
110
+ "type": "text",
111
+ "primaryKey": false,
112
+ "notNull": false
113
+ },
114
+ "request_path": {
115
+ "name": "request_path",
116
+ "type": "text",
117
+ "primaryKey": false,
118
+ "notNull": false
119
+ },
120
+ "status_code": {
121
+ "name": "status_code",
122
+ "type": "integer",
123
+ "primaryKey": false,
124
+ "notNull": false
125
+ },
126
+ "failure_kind": {
127
+ "name": "failure_kind",
128
+ "type": "text",
129
+ "primaryKey": false,
130
+ "notNull": false
131
+ },
132
+ "duration_ms": {
133
+ "name": "duration_ms",
134
+ "type": "integer",
135
+ "primaryKey": false,
136
+ "notNull": false
137
+ },
138
+ "is_retry": {
139
+ "name": "is_retry",
140
+ "type": "boolean",
141
+ "primaryKey": false,
142
+ "notNull": true,
143
+ "default": false
144
+ }
145
+ },
146
+ "indexes": {
147
+ "seazona_api_requests_window": {
148
+ "name": "seazona_api_requests_window",
149
+ "columns": [
150
+ {
151
+ "expression": "client_key",
152
+ "isExpression": false,
153
+ "asc": true,
154
+ "nulls": "last"
155
+ },
156
+ {
157
+ "expression": "admitted_at",
158
+ "isExpression": false,
159
+ "asc": true,
160
+ "nulls": "last"
161
+ }
162
+ ],
163
+ "isUnique": false,
164
+ "concurrently": false,
165
+ "method": "btree",
166
+ "with": {}
167
+ }
168
+ },
169
+ "foreignKeys": {},
170
+ "compositePrimaryKeys": {},
171
+ "uniqueConstraints": {},
172
+ "policies": {},
173
+ "checkConstraints": {},
174
+ "isRLSEnabled": false
175
+ },
176
+ "public.seazona_clients": {
177
+ "name": "seazona_clients",
178
+ "schema": "",
179
+ "columns": {
180
+ "id": {
181
+ "name": "id",
182
+ "type": "text",
183
+ "primaryKey": true,
184
+ "notNull": true
185
+ },
186
+ "account_number": {
187
+ "name": "account_number",
188
+ "type": "text",
189
+ "primaryKey": false,
190
+ "notNull": false
191
+ },
192
+ "company": {
193
+ "name": "company",
194
+ "type": "text",
195
+ "primaryKey": false,
196
+ "notNull": false
197
+ },
198
+ "full_name": {
199
+ "name": "full_name",
200
+ "type": "text",
201
+ "primaryKey": false,
202
+ "notNull": false
203
+ },
204
+ "email": {
205
+ "name": "email",
206
+ "type": "text",
207
+ "primaryKey": false,
208
+ "notNull": false
209
+ },
210
+ "phone": {
211
+ "name": "phone",
212
+ "type": "text",
213
+ "primaryKey": false,
214
+ "notNull": false
215
+ },
216
+ "address": {
217
+ "name": "address",
218
+ "type": "jsonb",
219
+ "primaryKey": false,
220
+ "notNull": false
221
+ },
222
+ "tax_rate": {
223
+ "name": "tax_rate",
224
+ "type": "text",
225
+ "primaryKey": false,
226
+ "notNull": false
227
+ },
228
+ "active": {
229
+ "name": "active",
230
+ "type": "boolean",
231
+ "primaryKey": false,
232
+ "notNull": false
233
+ },
234
+ "doctors": {
235
+ "name": "doctors",
236
+ "type": "jsonb",
237
+ "primaryKey": false,
238
+ "notNull": true,
239
+ "default": "'[]'::jsonb"
240
+ },
241
+ "last_modified_text": {
242
+ "name": "last_modified_text",
243
+ "type": "text",
244
+ "primaryKey": false,
245
+ "notNull": false
246
+ },
247
+ "list_signature": {
248
+ "name": "list_signature",
249
+ "type": "text",
250
+ "primaryKey": false,
251
+ "notNull": false
252
+ },
253
+ "record_hash": {
254
+ "name": "record_hash",
255
+ "type": "text",
256
+ "primaryKey": false,
257
+ "notNull": true
258
+ },
259
+ "first_seen_at": {
260
+ "name": "first_seen_at",
261
+ "type": "timestamp with time zone",
262
+ "primaryKey": false,
263
+ "notNull": true
264
+ },
265
+ "last_synced_at": {
266
+ "name": "last_synced_at",
267
+ "type": "timestamp with time zone",
268
+ "primaryKey": false,
269
+ "notNull": true
270
+ },
271
+ "last_changed_at": {
272
+ "name": "last_changed_at",
273
+ "type": "timestamp with time zone",
274
+ "primaryKey": false,
275
+ "notNull": true
276
+ }
277
+ },
278
+ "indexes": {},
279
+ "foreignKeys": {},
280
+ "compositePrimaryKeys": {},
281
+ "uniqueConstraints": {},
282
+ "policies": {},
283
+ "checkConstraints": {},
284
+ "isRLSEnabled": false
285
+ },
286
+ "public.seazona_history_batch_jobs": {
287
+ "name": "seazona_history_batch_jobs",
288
+ "schema": "",
289
+ "columns": {
290
+ "batch_id": {
291
+ "name": "batch_id",
292
+ "type": "bigint",
293
+ "primaryKey": false,
294
+ "notNull": true
295
+ },
296
+ "job_key": {
297
+ "name": "job_key",
298
+ "type": "text",
299
+ "primaryKey": false,
300
+ "notNull": true
301
+ },
302
+ "job": {
303
+ "name": "job",
304
+ "type": "jsonb",
305
+ "primaryKey": false,
306
+ "notNull": true
307
+ },
308
+ "record_hash": {
309
+ "name": "record_hash",
310
+ "type": "text",
311
+ "primaryKey": false,
312
+ "notNull": true
313
+ },
314
+ "outcome": {
315
+ "name": "outcome",
316
+ "type": "text",
317
+ "primaryKey": false,
318
+ "notNull": false
319
+ },
320
+ "findings": {
321
+ "name": "findings",
322
+ "type": "jsonb",
323
+ "primaryKey": false,
324
+ "notNull": true,
325
+ "default": "'[]'::jsonb"
326
+ },
327
+ "mirror_order_id": {
328
+ "name": "mirror_order_id",
329
+ "type": "text",
330
+ "primaryKey": false,
331
+ "notNull": false
332
+ },
333
+ "mirror_invoice_number": {
334
+ "name": "mirror_invoice_number",
335
+ "type": "text",
336
+ "primaryKey": false,
337
+ "notNull": false
338
+ },
339
+ "client_id": {
340
+ "name": "client_id",
341
+ "type": "text",
342
+ "primaryKey": false,
343
+ "notNull": false
344
+ },
345
+ "decision": {
346
+ "name": "decision",
347
+ "type": "text",
348
+ "primaryKey": false,
349
+ "notNull": false
350
+ },
351
+ "decided_by": {
352
+ "name": "decided_by",
353
+ "type": "text",
354
+ "primaryKey": false,
355
+ "notNull": false
356
+ },
357
+ "decided_at": {
358
+ "name": "decided_at",
359
+ "type": "timestamp with time zone",
360
+ "primaryKey": false,
361
+ "notNull": false
362
+ }
363
+ },
364
+ "indexes": {},
365
+ "foreignKeys": {},
366
+ "compositePrimaryKeys": {
367
+ "seazona_history_batch_jobs_batch_id_job_key_pk": {
368
+ "name": "seazona_history_batch_jobs_batch_id_job_key_pk",
369
+ "columns": [
370
+ "batch_id",
371
+ "job_key"
372
+ ]
373
+ }
374
+ },
375
+ "uniqueConstraints": {},
376
+ "policies": {},
377
+ "checkConstraints": {},
378
+ "isRLSEnabled": false
379
+ },
380
+ "public.seazona_history_batches": {
381
+ "name": "seazona_history_batches",
382
+ "schema": "",
383
+ "columns": {
384
+ "id": {
385
+ "name": "id",
386
+ "type": "bigserial",
387
+ "primaryKey": true,
388
+ "notNull": true
389
+ },
390
+ "file_name": {
391
+ "name": "file_name",
392
+ "type": "text",
393
+ "primaryKey": false,
394
+ "notNull": false
395
+ },
396
+ "file_sha256": {
397
+ "name": "file_sha256",
398
+ "type": "text",
399
+ "primaryKey": false,
400
+ "notNull": true
401
+ },
402
+ "profile": {
403
+ "name": "profile",
404
+ "type": "text",
405
+ "primaryKey": false,
406
+ "notNull": true
407
+ },
408
+ "columns": {
409
+ "name": "columns",
410
+ "type": "jsonb",
411
+ "primaryKey": false,
412
+ "notNull": true,
413
+ "default": "'{}'::jsonb"
414
+ },
415
+ "ignored_columns": {
416
+ "name": "ignored_columns",
417
+ "type": "jsonb",
418
+ "primaryKey": false,
419
+ "notNull": true,
420
+ "default": "'[]'::jsonb"
421
+ },
422
+ "status": {
423
+ "name": "status",
424
+ "type": "text",
425
+ "primaryKey": false,
426
+ "notNull": true
427
+ },
428
+ "counts": {
429
+ "name": "counts",
430
+ "type": "jsonb",
431
+ "primaryKey": false,
432
+ "notNull": true,
433
+ "default": "'{}'::jsonb"
434
+ },
435
+ "created_by": {
436
+ "name": "created_by",
437
+ "type": "text",
438
+ "primaryKey": false,
439
+ "notNull": true
440
+ },
441
+ "created_at": {
442
+ "name": "created_at",
443
+ "type": "timestamp with time zone",
444
+ "primaryKey": false,
445
+ "notNull": true,
446
+ "default": "now()"
447
+ },
448
+ "reconciled_at": {
449
+ "name": "reconciled_at",
450
+ "type": "timestamp with time zone",
451
+ "primaryKey": false,
452
+ "notNull": false
453
+ },
454
+ "applied_at": {
455
+ "name": "applied_at",
456
+ "type": "timestamp with time zone",
457
+ "primaryKey": false,
458
+ "notNull": false
459
+ },
460
+ "applied_by": {
461
+ "name": "applied_by",
462
+ "type": "text",
463
+ "primaryKey": false,
464
+ "notNull": false
465
+ }
466
+ },
467
+ "indexes": {
468
+ "seazona_history_batches_file": {
469
+ "name": "seazona_history_batches_file",
470
+ "columns": [
471
+ {
472
+ "expression": "file_sha256",
473
+ "isExpression": false,
474
+ "asc": true,
475
+ "nulls": "last"
476
+ }
477
+ ],
478
+ "isUnique": false,
479
+ "concurrently": false,
480
+ "method": "btree",
481
+ "with": {}
482
+ }
483
+ },
484
+ "foreignKeys": {},
485
+ "compositePrimaryKeys": {},
486
+ "uniqueConstraints": {},
487
+ "policies": {},
488
+ "checkConstraints": {},
489
+ "isRLSEnabled": false
490
+ },
491
+ "public.seazona_history_jobs": {
492
+ "name": "seazona_history_jobs",
493
+ "schema": "",
494
+ "columns": {
495
+ "job_key": {
496
+ "name": "job_key",
497
+ "type": "text",
498
+ "primaryKey": true,
499
+ "notNull": true
500
+ },
501
+ "invoice_number": {
502
+ "name": "invoice_number",
503
+ "type": "text",
504
+ "primaryKey": false,
505
+ "notNull": false
506
+ },
507
+ "case_ref": {
508
+ "name": "case_ref",
509
+ "type": "text",
510
+ "primaryKey": false,
511
+ "notNull": false
512
+ },
513
+ "client_id": {
514
+ "name": "client_id",
515
+ "type": "text",
516
+ "primaryKey": false,
517
+ "notNull": false
518
+ },
519
+ "company": {
520
+ "name": "company",
521
+ "type": "text",
522
+ "primaryKey": false,
523
+ "notNull": false
524
+ },
525
+ "doctor_name": {
526
+ "name": "doctor_name",
527
+ "type": "text",
528
+ "primaryKey": false,
529
+ "notNull": false
530
+ },
531
+ "status": {
532
+ "name": "status",
533
+ "type": "text",
534
+ "primaryKey": false,
535
+ "notNull": false
536
+ },
537
+ "job_date": {
538
+ "name": "job_date",
539
+ "type": "text",
540
+ "primaryKey": false,
541
+ "notNull": false
542
+ },
543
+ "due_date": {
544
+ "name": "due_date",
545
+ "type": "text",
546
+ "primaryKey": false,
547
+ "notNull": false
548
+ },
549
+ "shipped_date": {
550
+ "name": "shipped_date",
551
+ "type": "text",
552
+ "primaryKey": false,
553
+ "notNull": false
554
+ },
555
+ "lines": {
556
+ "name": "lines",
557
+ "type": "jsonb",
558
+ "primaryKey": false,
559
+ "notNull": true,
560
+ "default": "'[]'::jsonb"
561
+ },
562
+ "subtotal_cents": {
563
+ "name": "subtotal_cents",
564
+ "type": "bigint",
565
+ "primaryKey": false,
566
+ "notNull": false
567
+ },
568
+ "total_cents": {
569
+ "name": "total_cents",
570
+ "type": "bigint",
571
+ "primaryKey": false,
572
+ "notNull": false
573
+ },
574
+ "patient_reference": {
575
+ "name": "patient_reference",
576
+ "type": "text",
577
+ "primaryKey": false,
578
+ "notNull": false
579
+ },
580
+ "mirror_order_id": {
581
+ "name": "mirror_order_id",
582
+ "type": "text",
583
+ "primaryKey": false,
584
+ "notNull": false
585
+ },
586
+ "mirror_invoice_number": {
587
+ "name": "mirror_invoice_number",
588
+ "type": "text",
589
+ "primaryKey": false,
590
+ "notNull": false
591
+ },
592
+ "record_hash": {
593
+ "name": "record_hash",
594
+ "type": "text",
595
+ "primaryKey": false,
596
+ "notNull": true
597
+ },
598
+ "batch_id": {
599
+ "name": "batch_id",
600
+ "type": "bigint",
601
+ "primaryKey": false,
602
+ "notNull": true
603
+ },
604
+ "first_batch_id": {
605
+ "name": "first_batch_id",
606
+ "type": "bigint",
607
+ "primaryKey": false,
608
+ "notNull": true
609
+ },
610
+ "first_imported_at": {
611
+ "name": "first_imported_at",
612
+ "type": "timestamp with time zone",
613
+ "primaryKey": false,
614
+ "notNull": true
615
+ },
616
+ "last_changed_at": {
617
+ "name": "last_changed_at",
618
+ "type": "timestamp with time zone",
619
+ "primaryKey": false,
620
+ "notNull": true
621
+ }
622
+ },
623
+ "indexes": {
624
+ "seazona_history_jobs_invoice": {
625
+ "name": "seazona_history_jobs_invoice",
626
+ "columns": [
627
+ {
628
+ "expression": "invoice_number",
629
+ "isExpression": false,
630
+ "asc": true,
631
+ "nulls": "last"
632
+ }
633
+ ],
634
+ "isUnique": false,
635
+ "concurrently": false,
636
+ "method": "btree",
637
+ "with": {}
638
+ },
639
+ "seazona_history_jobs_changed": {
640
+ "name": "seazona_history_jobs_changed",
641
+ "columns": [
642
+ {
643
+ "expression": "last_changed_at",
644
+ "isExpression": false,
645
+ "asc": true,
646
+ "nulls": "last"
647
+ }
648
+ ],
649
+ "isUnique": false,
650
+ "concurrently": false,
651
+ "method": "btree",
652
+ "with": {}
653
+ }
654
+ },
655
+ "foreignKeys": {},
656
+ "compositePrimaryKeys": {},
657
+ "uniqueConstraints": {},
658
+ "policies": {},
659
+ "checkConstraints": {},
660
+ "isRLSEnabled": false
661
+ },
662
+ "public.seazona_history_rows": {
663
+ "name": "seazona_history_rows",
664
+ "schema": "",
665
+ "columns": {
666
+ "batch_id": {
667
+ "name": "batch_id",
668
+ "type": "bigint",
669
+ "primaryKey": false,
670
+ "notNull": true
671
+ },
672
+ "row_number": {
673
+ "name": "row_number",
674
+ "type": "integer",
675
+ "primaryKey": false,
676
+ "notNull": true
677
+ },
678
+ "job_key": {
679
+ "name": "job_key",
680
+ "type": "text",
681
+ "primaryKey": false,
682
+ "notNull": false
683
+ },
684
+ "fields": {
685
+ "name": "fields",
686
+ "type": "jsonb",
687
+ "primaryKey": false,
688
+ "notNull": true
689
+ },
690
+ "problems": {
691
+ "name": "problems",
692
+ "type": "jsonb",
693
+ "primaryKey": false,
694
+ "notNull": true,
695
+ "default": "'[]'::jsonb"
696
+ }
697
+ },
698
+ "indexes": {},
699
+ "foreignKeys": {},
700
+ "compositePrimaryKeys": {
701
+ "seazona_history_rows_batch_id_row_number_pk": {
702
+ "name": "seazona_history_rows_batch_id_row_number_pk",
703
+ "columns": [
704
+ "batch_id",
705
+ "row_number"
706
+ ]
707
+ }
708
+ },
709
+ "uniqueConstraints": {},
710
+ "policies": {},
711
+ "checkConstraints": {},
712
+ "isRLSEnabled": false
713
+ },
714
+ "public.seazona_invoices": {
715
+ "name": "seazona_invoices",
716
+ "schema": "",
717
+ "columns": {
718
+ "invoice_number": {
719
+ "name": "invoice_number",
720
+ "type": "text",
721
+ "primaryKey": true,
722
+ "notNull": true
723
+ },
724
+ "seazona_id": {
725
+ "name": "seazona_id",
726
+ "type": "text",
727
+ "primaryKey": false,
728
+ "notNull": false
729
+ },
730
+ "client_id": {
731
+ "name": "client_id",
732
+ "type": "text",
733
+ "primaryKey": false,
734
+ "notNull": false
735
+ },
736
+ "account_number": {
737
+ "name": "account_number",
738
+ "type": "text",
739
+ "primaryKey": false,
740
+ "notNull": false
741
+ },
742
+ "company": {
743
+ "name": "company",
744
+ "type": "text",
745
+ "primaryKey": false,
746
+ "notNull": false
747
+ },
748
+ "doctor_name": {
749
+ "name": "doctor_name",
750
+ "type": "text",
751
+ "primaryKey": false,
752
+ "notNull": false
753
+ },
754
+ "status": {
755
+ "name": "status",
756
+ "type": "text",
757
+ "primaryKey": false,
758
+ "notNull": false
759
+ },
760
+ "invoice_date_text": {
761
+ "name": "invoice_date_text",
762
+ "type": "text",
763
+ "primaryKey": false,
764
+ "notNull": false
765
+ },
766
+ "due_text": {
767
+ "name": "due_text",
768
+ "type": "text",
769
+ "primaryKey": false,
770
+ "notNull": false
771
+ },
772
+ "last_modified_text": {
773
+ "name": "last_modified_text",
774
+ "type": "text",
775
+ "primaryKey": false,
776
+ "notNull": false
777
+ },
778
+ "lines": {
779
+ "name": "lines",
780
+ "type": "jsonb",
781
+ "primaryKey": false,
782
+ "notNull": true,
783
+ "default": "'[]'::jsonb"
784
+ },
785
+ "subtotal_cents": {
786
+ "name": "subtotal_cents",
787
+ "type": "bigint",
788
+ "primaryKey": false,
789
+ "notNull": false
790
+ },
791
+ "tax_cents": {
792
+ "name": "tax_cents",
793
+ "type": "bigint",
794
+ "primaryKey": false,
795
+ "notNull": false
796
+ },
797
+ "total_cents": {
798
+ "name": "total_cents",
799
+ "type": "bigint",
800
+ "primaryKey": false,
801
+ "notNull": false
802
+ },
803
+ "discount_cents": {
804
+ "name": "discount_cents",
805
+ "type": "bigint",
806
+ "primaryKey": false,
807
+ "notNull": false
808
+ },
809
+ "patient_reference": {
810
+ "name": "patient_reference",
811
+ "type": "text",
812
+ "primaryKey": false,
813
+ "notNull": false
814
+ },
815
+ "list_signature": {
816
+ "name": "list_signature",
817
+ "type": "text",
818
+ "primaryKey": false,
819
+ "notNull": false
820
+ },
821
+ "record_hash": {
822
+ "name": "record_hash",
823
+ "type": "text",
824
+ "primaryKey": false,
825
+ "notNull": true
826
+ },
827
+ "first_seen_at": {
828
+ "name": "first_seen_at",
829
+ "type": "timestamp with time zone",
830
+ "primaryKey": false,
831
+ "notNull": true
832
+ },
833
+ "last_synced_at": {
834
+ "name": "last_synced_at",
835
+ "type": "timestamp with time zone",
836
+ "primaryKey": false,
837
+ "notNull": true
838
+ },
839
+ "last_changed_at": {
840
+ "name": "last_changed_at",
841
+ "type": "timestamp with time zone",
842
+ "primaryKey": false,
843
+ "notNull": true
844
+ }
845
+ },
846
+ "indexes": {
847
+ "seazona_invoices_changed": {
848
+ "name": "seazona_invoices_changed",
849
+ "columns": [
850
+ {
851
+ "expression": "last_changed_at",
852
+ "isExpression": false,
853
+ "asc": true,
854
+ "nulls": "last"
855
+ }
856
+ ],
857
+ "isUnique": false,
858
+ "concurrently": false,
859
+ "method": "btree",
860
+ "with": {}
861
+ }
862
+ },
863
+ "foreignKeys": {},
864
+ "compositePrimaryKeys": {},
865
+ "uniqueConstraints": {},
866
+ "policies": {},
867
+ "checkConstraints": {},
868
+ "isRLSEnabled": false
869
+ },
870
+ "public.seazona_lane_state": {
871
+ "name": "seazona_lane_state",
872
+ "schema": "",
873
+ "columns": {
874
+ "lane": {
875
+ "name": "lane",
876
+ "type": "text",
877
+ "primaryKey": true,
878
+ "notNull": true
879
+ },
880
+ "status": {
881
+ "name": "status",
882
+ "type": "text",
883
+ "primaryKey": false,
884
+ "notNull": true,
885
+ "default": "'idle'"
886
+ },
887
+ "cursor_time": {
888
+ "name": "cursor_time",
889
+ "type": "timestamp with time zone",
890
+ "primaryKey": false,
891
+ "notNull": false
892
+ },
893
+ "cursor": {
894
+ "name": "cursor",
895
+ "type": "jsonb",
896
+ "primaryKey": false,
897
+ "notNull": true,
898
+ "default": "'{}'::jsonb"
899
+ },
900
+ "last_success_at": {
901
+ "name": "last_success_at",
902
+ "type": "timestamp with time zone",
903
+ "primaryKey": false,
904
+ "notNull": false
905
+ },
906
+ "last_attempt_at": {
907
+ "name": "last_attempt_at",
908
+ "type": "timestamp with time zone",
909
+ "primaryKey": false,
910
+ "notNull": false
911
+ },
912
+ "next_run_at": {
913
+ "name": "next_run_at",
914
+ "type": "timestamp with time zone",
915
+ "primaryKey": false,
916
+ "notNull": false
917
+ },
918
+ "failure_count": {
919
+ "name": "failure_count",
920
+ "type": "integer",
921
+ "primaryKey": false,
922
+ "notNull": true,
923
+ "default": 0
924
+ },
925
+ "last_error": {
926
+ "name": "last_error",
927
+ "type": "text",
928
+ "primaryKey": false,
929
+ "notNull": false
930
+ },
931
+ "failure_details": {
932
+ "name": "failure_details",
933
+ "type": "jsonb",
934
+ "primaryKey": false,
935
+ "notNull": false
936
+ },
937
+ "held_reason": {
938
+ "name": "held_reason",
939
+ "type": "text",
940
+ "primaryKey": false,
941
+ "notNull": false
942
+ },
943
+ "updated_at": {
944
+ "name": "updated_at",
945
+ "type": "timestamp with time zone",
946
+ "primaryKey": false,
947
+ "notNull": true,
948
+ "default": "now()"
949
+ }
950
+ },
951
+ "indexes": {},
952
+ "foreignKeys": {},
953
+ "compositePrimaryKeys": {},
954
+ "uniqueConstraints": {},
955
+ "policies": {},
956
+ "checkConstraints": {},
957
+ "isRLSEnabled": false
958
+ },
959
+ "public.seazona_order_read_failures": {
960
+ "name": "seazona_order_read_failures",
961
+ "schema": "",
962
+ "columns": {
963
+ "order_id": {
964
+ "name": "order_id",
965
+ "type": "text",
966
+ "primaryKey": true,
967
+ "notNull": true
968
+ },
969
+ "failure_count": {
970
+ "name": "failure_count",
971
+ "type": "integer",
972
+ "primaryKey": false,
973
+ "notNull": true
974
+ },
975
+ "last_attempt_at": {
976
+ "name": "last_attempt_at",
977
+ "type": "timestamp with time zone",
978
+ "primaryKey": false,
979
+ "notNull": true
980
+ },
981
+ "last_http_status": {
982
+ "name": "last_http_status",
983
+ "type": "integer",
984
+ "primaryKey": false,
985
+ "notNull": false
986
+ },
987
+ "last_failure_kind": {
988
+ "name": "last_failure_kind",
989
+ "type": "text",
990
+ "primaryKey": false,
991
+ "notNull": false
992
+ },
993
+ "last_error": {
994
+ "name": "last_error",
995
+ "type": "text",
996
+ "primaryKey": false,
997
+ "notNull": false
998
+ },
999
+ "quarantined_until": {
1000
+ "name": "quarantined_until",
1001
+ "type": "timestamp with time zone",
1002
+ "primaryKey": false,
1003
+ "notNull": false
1004
+ }
1005
+ },
1006
+ "indexes": {},
1007
+ "foreignKeys": {},
1008
+ "compositePrimaryKeys": {},
1009
+ "uniqueConstraints": {},
1010
+ "policies": {},
1011
+ "checkConstraints": {},
1012
+ "isRLSEnabled": false
1013
+ },
1014
+ "public.seazona_orders": {
1015
+ "name": "seazona_orders",
1016
+ "schema": "",
1017
+ "columns": {
1018
+ "id": {
1019
+ "name": "id",
1020
+ "type": "text",
1021
+ "primaryKey": true,
1022
+ "notNull": true
1023
+ },
1024
+ "invoice_number": {
1025
+ "name": "invoice_number",
1026
+ "type": "text",
1027
+ "primaryKey": false,
1028
+ "notNull": false
1029
+ },
1030
+ "client_id": {
1031
+ "name": "client_id",
1032
+ "type": "text",
1033
+ "primaryKey": false,
1034
+ "notNull": false
1035
+ },
1036
+ "company": {
1037
+ "name": "company",
1038
+ "type": "text",
1039
+ "primaryKey": false,
1040
+ "notNull": false
1041
+ },
1042
+ "doctor_name": {
1043
+ "name": "doctor_name",
1044
+ "type": "text",
1045
+ "primaryKey": false,
1046
+ "notNull": false
1047
+ },
1048
+ "status": {
1049
+ "name": "status",
1050
+ "type": "text",
1051
+ "primaryKey": false,
1052
+ "notNull": false
1053
+ },
1054
+ "ordered_text": {
1055
+ "name": "ordered_text",
1056
+ "type": "text",
1057
+ "primaryKey": false,
1058
+ "notNull": false
1059
+ },
1060
+ "due_text": {
1061
+ "name": "due_text",
1062
+ "type": "text",
1063
+ "primaryKey": false,
1064
+ "notNull": false
1065
+ },
1066
+ "last_modified_text": {
1067
+ "name": "last_modified_text",
1068
+ "type": "text",
1069
+ "primaryKey": false,
1070
+ "notNull": false
1071
+ },
1072
+ "department": {
1073
+ "name": "department",
1074
+ "type": "text",
1075
+ "primaryKey": false,
1076
+ "notNull": false
1077
+ },
1078
+ "lines": {
1079
+ "name": "lines",
1080
+ "type": "jsonb",
1081
+ "primaryKey": false,
1082
+ "notNull": true,
1083
+ "default": "'[]'::jsonb"
1084
+ },
1085
+ "subtotal_cents": {
1086
+ "name": "subtotal_cents",
1087
+ "type": "bigint",
1088
+ "primaryKey": false,
1089
+ "notNull": false
1090
+ },
1091
+ "patient_reference": {
1092
+ "name": "patient_reference",
1093
+ "type": "text",
1094
+ "primaryKey": false,
1095
+ "notNull": false
1096
+ },
1097
+ "deleted_in_source_at": {
1098
+ "name": "deleted_in_source_at",
1099
+ "type": "timestamp with time zone",
1100
+ "primaryKey": false,
1101
+ "notNull": false
1102
+ },
1103
+ "list_signature": {
1104
+ "name": "list_signature",
1105
+ "type": "text",
1106
+ "primaryKey": false,
1107
+ "notNull": false
1108
+ },
1109
+ "record_hash": {
1110
+ "name": "record_hash",
1111
+ "type": "text",
1112
+ "primaryKey": false,
1113
+ "notNull": true
1114
+ },
1115
+ "first_seen_at": {
1116
+ "name": "first_seen_at",
1117
+ "type": "timestamp with time zone",
1118
+ "primaryKey": false,
1119
+ "notNull": true
1120
+ },
1121
+ "last_synced_at": {
1122
+ "name": "last_synced_at",
1123
+ "type": "timestamp with time zone",
1124
+ "primaryKey": false,
1125
+ "notNull": true
1126
+ },
1127
+ "last_changed_at": {
1128
+ "name": "last_changed_at",
1129
+ "type": "timestamp with time zone",
1130
+ "primaryKey": false,
1131
+ "notNull": true
1132
+ }
1133
+ },
1134
+ "indexes": {
1135
+ "seazona_orders_invoice_number": {
1136
+ "name": "seazona_orders_invoice_number",
1137
+ "columns": [
1138
+ {
1139
+ "expression": "invoice_number",
1140
+ "isExpression": false,
1141
+ "asc": true,
1142
+ "nulls": "last"
1143
+ }
1144
+ ],
1145
+ "isUnique": false,
1146
+ "concurrently": false,
1147
+ "method": "btree",
1148
+ "with": {}
1149
+ },
1150
+ "seazona_orders_changed": {
1151
+ "name": "seazona_orders_changed",
1152
+ "columns": [
1153
+ {
1154
+ "expression": "last_changed_at",
1155
+ "isExpression": false,
1156
+ "asc": true,
1157
+ "nulls": "last"
1158
+ }
1159
+ ],
1160
+ "isUnique": false,
1161
+ "concurrently": false,
1162
+ "method": "btree",
1163
+ "with": {}
1164
+ }
1165
+ },
1166
+ "foreignKeys": {},
1167
+ "compositePrimaryKeys": {},
1168
+ "uniqueConstraints": {},
1169
+ "policies": {},
1170
+ "checkConstraints": {},
1171
+ "isRLSEnabled": false
1172
+ },
1173
+ "public.seazona_record_read_failures": {
1174
+ "name": "seazona_record_read_failures",
1175
+ "schema": "",
1176
+ "columns": {
1177
+ "resource": {
1178
+ "name": "resource",
1179
+ "type": "text",
1180
+ "primaryKey": false,
1181
+ "notNull": true
1182
+ },
1183
+ "record_key": {
1184
+ "name": "record_key",
1185
+ "type": "text",
1186
+ "primaryKey": false,
1187
+ "notNull": true
1188
+ },
1189
+ "failure_count": {
1190
+ "name": "failure_count",
1191
+ "type": "integer",
1192
+ "primaryKey": false,
1193
+ "notNull": true
1194
+ },
1195
+ "last_attempt_at": {
1196
+ "name": "last_attempt_at",
1197
+ "type": "timestamp with time zone",
1198
+ "primaryKey": false,
1199
+ "notNull": true
1200
+ },
1201
+ "last_http_status": {
1202
+ "name": "last_http_status",
1203
+ "type": "integer",
1204
+ "primaryKey": false,
1205
+ "notNull": false
1206
+ },
1207
+ "last_failure_kind": {
1208
+ "name": "last_failure_kind",
1209
+ "type": "text",
1210
+ "primaryKey": false,
1211
+ "notNull": false
1212
+ },
1213
+ "quarantined_until": {
1214
+ "name": "quarantined_until",
1215
+ "type": "timestamp with time zone",
1216
+ "primaryKey": false,
1217
+ "notNull": false
1218
+ }
1219
+ },
1220
+ "indexes": {},
1221
+ "foreignKeys": {},
1222
+ "compositePrimaryKeys": {
1223
+ "seazona_record_read_failures_resource_record_key_pk": {
1224
+ "name": "seazona_record_read_failures_resource_record_key_pk",
1225
+ "columns": [
1226
+ "resource",
1227
+ "record_key"
1228
+ ]
1229
+ }
1230
+ },
1231
+ "uniqueConstraints": {},
1232
+ "policies": {},
1233
+ "checkConstraints": {},
1234
+ "isRLSEnabled": false
1235
+ },
1236
+ "public.seazona_reference": {
1237
+ "name": "seazona_reference",
1238
+ "schema": "",
1239
+ "columns": {
1240
+ "resource": {
1241
+ "name": "resource",
1242
+ "type": "text",
1243
+ "primaryKey": false,
1244
+ "notNull": true
1245
+ },
1246
+ "id": {
1247
+ "name": "id",
1248
+ "type": "text",
1249
+ "primaryKey": false,
1250
+ "notNull": true
1251
+ },
1252
+ "name": {
1253
+ "name": "name",
1254
+ "type": "text",
1255
+ "primaryKey": false,
1256
+ "notNull": false
1257
+ },
1258
+ "code": {
1259
+ "name": "code",
1260
+ "type": "text",
1261
+ "primaryKey": false,
1262
+ "notNull": false
1263
+ },
1264
+ "kind": {
1265
+ "name": "kind",
1266
+ "type": "text",
1267
+ "primaryKey": false,
1268
+ "notNull": false
1269
+ },
1270
+ "price_cents": {
1271
+ "name": "price_cents",
1272
+ "type": "bigint",
1273
+ "primaryKey": false,
1274
+ "notNull": false
1275
+ },
1276
+ "taxable": {
1277
+ "name": "taxable",
1278
+ "type": "boolean",
1279
+ "primaryKey": false,
1280
+ "notNull": false
1281
+ },
1282
+ "record_hash": {
1283
+ "name": "record_hash",
1284
+ "type": "text",
1285
+ "primaryKey": false,
1286
+ "notNull": true
1287
+ },
1288
+ "last_synced_at": {
1289
+ "name": "last_synced_at",
1290
+ "type": "timestamp with time zone",
1291
+ "primaryKey": false,
1292
+ "notNull": true
1293
+ }
1294
+ },
1295
+ "indexes": {},
1296
+ "foreignKeys": {},
1297
+ "compositePrimaryKeys": {
1298
+ "seazona_reference_resource_id_pk": {
1299
+ "name": "seazona_reference_resource_id_pk",
1300
+ "columns": [
1301
+ "resource",
1302
+ "id"
1303
+ ]
1304
+ }
1305
+ },
1306
+ "uniqueConstraints": {},
1307
+ "policies": {},
1308
+ "checkConstraints": {},
1309
+ "isRLSEnabled": false
1310
+ }
1311
+ },
1312
+ "enums": {},
1313
+ "schemas": {},
1314
+ "sequences": {},
1315
+ "roles": {},
1316
+ "policies": {},
1317
+ "views": {},
1318
+ "_meta": {
1319
+ "columns": {},
1320
+ "schemas": {},
1321
+ "tables": {}
1322
+ }
1323
+ }