@elevasis/ui 2.23.0 → 2.24.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 (57) hide show
  1. package/dist/app/index.d.ts +2915 -0
  2. package/dist/app/index.js +5 -4
  3. package/dist/{chunk-3HEUGBOT.js → chunk-2WZ635SS.js} +2 -2
  4. package/dist/{chunk-D3KQAABP.js → chunk-4NWNS7TX.js} +1 -1
  5. package/dist/{chunk-7PGEGSUM.js → chunk-FUEXGRFR.js} +2 -2
  6. package/dist/{chunk-6IA2OMAE.js → chunk-HC2KV6BU.js} +9 -0
  7. package/dist/{chunk-YU6MBDVO.js → chunk-KCJ6VATY.js} +4 -68
  8. package/dist/{chunk-FXWETLEB.js → chunk-KLFIJDTD.js} +1 -1
  9. package/dist/{chunk-PXGSJNBH.js → chunk-M2HWJY6O.js} +704 -375
  10. package/dist/{chunk-N6WLOWOD.js → chunk-MTR6AN2C.js} +3 -12
  11. package/dist/chunk-OWHQ65EQ.js +211 -0
  12. package/dist/{chunk-XOTJNW4Q.js → chunk-QIW6OCEI.js} +18 -1
  13. package/dist/{chunk-GUJUK6EH.js → chunk-QULLZ5PE.js} +172 -2
  14. package/dist/{chunk-QZJM3RYI.js → chunk-SNHGSCKH.js} +1 -1
  15. package/dist/{chunk-LVUCBY7X.js → chunk-UDJE54WN.js} +85 -3
  16. package/dist/{chunk-EPV7NU2E.js → chunk-VGNAV3TH.js} +385 -188
  17. package/dist/{chunk-PTUOINQ2.js → chunk-YBZT7MJR.js} +3 -3
  18. package/dist/{chunk-SQ5JGELM.js → chunk-ZDKQNQ4X.js} +19 -1
  19. package/dist/components/index.d.ts +488 -452
  20. package/dist/components/index.js +58 -22
  21. package/dist/components/navigation/index.js +2 -2
  22. package/dist/features/auth/index.d.ts +463 -377
  23. package/dist/features/crm/index.d.ts +459 -379
  24. package/dist/features/crm/index.js +8 -8
  25. package/dist/features/dashboard/index.js +8 -8
  26. package/dist/features/delivery/index.d.ts +457 -371
  27. package/dist/features/delivery/index.js +8 -8
  28. package/dist/features/lead-gen/index.d.ts +213 -65
  29. package/dist/features/lead-gen/index.js +9 -8
  30. package/dist/features/monitoring/index.js +9 -9
  31. package/dist/features/monitoring/requests/index.js +7 -7
  32. package/dist/features/operations/index.js +11 -10
  33. package/dist/features/settings/index.d.ts +463 -377
  34. package/dist/features/settings/index.js +9 -9
  35. package/dist/hooks/delivery/index.d.ts +457 -371
  36. package/dist/hooks/index.d.ts +936 -718
  37. package/dist/hooks/index.js +7 -7
  38. package/dist/hooks/published.d.ts +936 -718
  39. package/dist/hooks/published.js +7 -7
  40. package/dist/index.d.ts +1313 -1027
  41. package/dist/index.js +8 -8
  42. package/dist/initialization/index.d.ts +463 -377
  43. package/dist/organization/index.d.ts +11 -1
  44. package/dist/organization/index.js +2 -2
  45. package/dist/profile/index.d.ts +463 -377
  46. package/dist/provider/index.d.ts +3132 -169
  47. package/dist/provider/index.js +6 -6
  48. package/dist/provider/published.d.ts +3098 -168
  49. package/dist/provider/published.js +3 -3
  50. package/dist/supabase/index.d.ts +559 -389
  51. package/dist/test-utils/index.d.ts +21 -1
  52. package/dist/test-utils/index.js +13 -4
  53. package/dist/theme/index.js +2 -2
  54. package/dist/types/index.d.ts +463 -377
  55. package/package.json +4 -4
  56. package/src/test-utils/README.md +2 -0
  57. /package/dist/{chunk-ZBCTB5CA.js → chunk-EIOJNUPL.js} +0 -0
@@ -102,178 +102,2918 @@ declare function NotificationProvider({ adapter, children }: {
102
102
  */
103
103
  declare function useNotificationAdapter(): NotificationAdapter;
104
104
 
105
- /** Flat + per-scheme override pattern. Flat values apply to both; `light`/`dark` win over flat. */
106
- type WithSchemes<T> = T & {
107
- light?: T;
108
- dark?: T;
105
+ type Json = string | number | boolean | null | {
106
+ [key: string]: Json | undefined;
107
+ } | Json[];
108
+ type Database = {
109
+ __InternalSupabase: {
110
+ PostgrestVersion: '12.2.3 (519615d)';
111
+ };
112
+ public: {
113
+ Tables: {
114
+ acq_artifacts: {
115
+ Row: {
116
+ content: Json;
117
+ created_at: string;
118
+ created_by: string | null;
119
+ id: string;
120
+ kind: string;
121
+ organization_id: string;
122
+ owner_id: string;
123
+ owner_kind: string;
124
+ source_execution_id: string | null;
125
+ version: number;
126
+ };
127
+ Insert: {
128
+ content: Json;
129
+ created_at?: string;
130
+ created_by?: string | null;
131
+ id?: string;
132
+ kind: string;
133
+ organization_id: string;
134
+ owner_id: string;
135
+ owner_kind: string;
136
+ source_execution_id?: string | null;
137
+ version?: number;
138
+ };
139
+ Update: {
140
+ content?: Json;
141
+ created_at?: string;
142
+ created_by?: string | null;
143
+ id?: string;
144
+ kind?: string;
145
+ organization_id?: string;
146
+ owner_id?: string;
147
+ owner_kind?: string;
148
+ source_execution_id?: string | null;
149
+ version?: number;
150
+ };
151
+ Relationships: [
152
+ {
153
+ foreignKeyName: 'acq_artifacts_organization_id_fkey';
154
+ columns: ['organization_id'];
155
+ isOneToOne: false;
156
+ referencedRelation: 'organizations';
157
+ referencedColumns: ['id'];
158
+ }
159
+ ];
160
+ };
161
+ acq_companies: {
162
+ Row: {
163
+ batch_id: string | null;
164
+ category: string | null;
165
+ category_pain: string | null;
166
+ created_at: string;
167
+ domain: string | null;
168
+ enrichment_data: Json | null;
169
+ filter_reason: string | null;
170
+ founded_year: number | null;
171
+ id: string;
172
+ linkedin_url: string | null;
173
+ location_city: string | null;
174
+ location_state: string | null;
175
+ name: string;
176
+ num_employees: number | null;
177
+ organization_id: string;
178
+ pipeline_status: Json;
179
+ qualification_rubric_key: string | null;
180
+ qualification_score: number | null;
181
+ qualification_signals: Json | null;
182
+ segment: string | null;
183
+ source: string | null;
184
+ status: string;
185
+ updated_at: string;
186
+ website: string | null;
187
+ };
188
+ Insert: {
189
+ batch_id?: string | null;
190
+ category?: string | null;
191
+ category_pain?: string | null;
192
+ created_at?: string;
193
+ domain?: string | null;
194
+ enrichment_data?: Json | null;
195
+ filter_reason?: string | null;
196
+ founded_year?: number | null;
197
+ id?: string;
198
+ linkedin_url?: string | null;
199
+ location_city?: string | null;
200
+ location_state?: string | null;
201
+ name: string;
202
+ num_employees?: number | null;
203
+ organization_id: string;
204
+ pipeline_status?: Json;
205
+ qualification_rubric_key?: string | null;
206
+ qualification_score?: number | null;
207
+ qualification_signals?: Json | null;
208
+ segment?: string | null;
209
+ source?: string | null;
210
+ status?: string;
211
+ updated_at?: string;
212
+ website?: string | null;
213
+ };
214
+ Update: {
215
+ batch_id?: string | null;
216
+ category?: string | null;
217
+ category_pain?: string | null;
218
+ created_at?: string;
219
+ domain?: string | null;
220
+ enrichment_data?: Json | null;
221
+ filter_reason?: string | null;
222
+ founded_year?: number | null;
223
+ id?: string;
224
+ linkedin_url?: string | null;
225
+ location_city?: string | null;
226
+ location_state?: string | null;
227
+ name?: string;
228
+ num_employees?: number | null;
229
+ organization_id?: string;
230
+ pipeline_status?: Json;
231
+ qualification_rubric_key?: string | null;
232
+ qualification_score?: number | null;
233
+ qualification_signals?: Json | null;
234
+ segment?: string | null;
235
+ source?: string | null;
236
+ status?: string;
237
+ updated_at?: string;
238
+ website?: string | null;
239
+ };
240
+ Relationships: [
241
+ {
242
+ foreignKeyName: 'acq_companies_organization_id_fkey';
243
+ columns: ['organization_id'];
244
+ isOneToOne: false;
245
+ referencedRelation: 'organizations';
246
+ referencedColumns: ['id'];
247
+ }
248
+ ];
249
+ };
250
+ acq_contacts: {
251
+ Row: {
252
+ batch_id: string | null;
253
+ brochure_first_viewed_at: string | null;
254
+ brochure_view_count: number;
255
+ company_id: string | null;
256
+ created_at: string;
257
+ email: string;
258
+ email_valid: string | null;
259
+ enrichment_data: Json;
260
+ filter_reason: string | null;
261
+ first_name: string | null;
262
+ headline: string | null;
263
+ id: string;
264
+ last_name: string | null;
265
+ linkedin_url: string | null;
266
+ nurture: boolean;
267
+ opening_line: string | null;
268
+ organization_id: string;
269
+ pipeline_status: Json;
270
+ qualification_rubric_key: string | null;
271
+ qualification_score: number | null;
272
+ qualification_signals: Json | null;
273
+ source: string | null;
274
+ source_id: string | null;
275
+ status: string;
276
+ title: string | null;
277
+ updated_at: string;
278
+ };
279
+ Insert: {
280
+ batch_id?: string | null;
281
+ brochure_first_viewed_at?: string | null;
282
+ brochure_view_count?: number;
283
+ company_id?: string | null;
284
+ created_at?: string;
285
+ email: string;
286
+ email_valid?: string | null;
287
+ enrichment_data?: Json;
288
+ filter_reason?: string | null;
289
+ first_name?: string | null;
290
+ headline?: string | null;
291
+ id?: string;
292
+ last_name?: string | null;
293
+ linkedin_url?: string | null;
294
+ nurture?: boolean;
295
+ opening_line?: string | null;
296
+ organization_id: string;
297
+ pipeline_status?: Json;
298
+ qualification_rubric_key?: string | null;
299
+ qualification_score?: number | null;
300
+ qualification_signals?: Json | null;
301
+ source?: string | null;
302
+ source_id?: string | null;
303
+ status?: string;
304
+ title?: string | null;
305
+ updated_at?: string;
306
+ };
307
+ Update: {
308
+ batch_id?: string | null;
309
+ brochure_first_viewed_at?: string | null;
310
+ brochure_view_count?: number;
311
+ company_id?: string | null;
312
+ created_at?: string;
313
+ email?: string;
314
+ email_valid?: string | null;
315
+ enrichment_data?: Json;
316
+ filter_reason?: string | null;
317
+ first_name?: string | null;
318
+ headline?: string | null;
319
+ id?: string;
320
+ last_name?: string | null;
321
+ linkedin_url?: string | null;
322
+ nurture?: boolean;
323
+ opening_line?: string | null;
324
+ organization_id?: string;
325
+ pipeline_status?: Json;
326
+ qualification_rubric_key?: string | null;
327
+ qualification_score?: number | null;
328
+ qualification_signals?: Json | null;
329
+ source?: string | null;
330
+ source_id?: string | null;
331
+ status?: string;
332
+ title?: string | null;
333
+ updated_at?: string;
334
+ };
335
+ Relationships: [
336
+ {
337
+ foreignKeyName: 'acq_contacts_company_id_fkey';
338
+ columns: ['company_id'];
339
+ isOneToOne: false;
340
+ referencedRelation: 'acq_companies';
341
+ referencedColumns: ['id'];
342
+ },
343
+ {
344
+ foreignKeyName: 'acq_contacts_organization_id_fkey';
345
+ columns: ['organization_id'];
346
+ isOneToOne: false;
347
+ referencedRelation: 'organizations';
348
+ referencedColumns: ['id'];
349
+ }
350
+ ];
351
+ };
352
+ acq_content: {
353
+ Row: {
354
+ body: string | null;
355
+ created_at: string;
356
+ id: string;
357
+ organization_id: string;
358
+ pillar: string;
359
+ status: string;
360
+ title: string;
361
+ updated_at: string;
362
+ };
363
+ Insert: {
364
+ body?: string | null;
365
+ created_at?: string;
366
+ id?: string;
367
+ organization_id: string;
368
+ pillar: string;
369
+ status?: string;
370
+ title: string;
371
+ updated_at?: string;
372
+ };
373
+ Update: {
374
+ body?: string | null;
375
+ created_at?: string;
376
+ id?: string;
377
+ organization_id?: string;
378
+ pillar?: string;
379
+ status?: string;
380
+ title?: string;
381
+ updated_at?: string;
382
+ };
383
+ Relationships: [
384
+ {
385
+ foreignKeyName: 'acq_content_organization_id_fkey';
386
+ columns: ['organization_id'];
387
+ isOneToOne: false;
388
+ referencedRelation: 'organizations';
389
+ referencedColumns: ['id'];
390
+ }
391
+ ];
392
+ };
393
+ acq_content_distributions: {
394
+ Row: {
395
+ adapted_body: string | null;
396
+ checklist: Json | null;
397
+ content_id: string;
398
+ created_at: string;
399
+ format: string;
400
+ id: string;
401
+ media_urls: Json;
402
+ metrics: Json;
403
+ metrics_updated_at: string | null;
404
+ organization_id: string;
405
+ platform: string;
406
+ platform_content: Json | null;
407
+ platform_post_id: string | null;
408
+ platform_url: string | null;
409
+ published_at: string | null;
410
+ status: string;
411
+ updated_at: string;
412
+ };
413
+ Insert: {
414
+ adapted_body?: string | null;
415
+ checklist?: Json | null;
416
+ content_id: string;
417
+ created_at?: string;
418
+ format: string;
419
+ id?: string;
420
+ media_urls?: Json;
421
+ metrics?: Json;
422
+ metrics_updated_at?: string | null;
423
+ organization_id: string;
424
+ platform: string;
425
+ platform_content?: Json | null;
426
+ platform_post_id?: string | null;
427
+ platform_url?: string | null;
428
+ published_at?: string | null;
429
+ status?: string;
430
+ updated_at?: string;
431
+ };
432
+ Update: {
433
+ adapted_body?: string | null;
434
+ checklist?: Json | null;
435
+ content_id?: string;
436
+ created_at?: string;
437
+ format?: string;
438
+ id?: string;
439
+ media_urls?: Json;
440
+ metrics?: Json;
441
+ metrics_updated_at?: string | null;
442
+ organization_id?: string;
443
+ platform?: string;
444
+ platform_content?: Json | null;
445
+ platform_post_id?: string | null;
446
+ platform_url?: string | null;
447
+ published_at?: string | null;
448
+ status?: string;
449
+ updated_at?: string;
450
+ };
451
+ Relationships: [
452
+ {
453
+ foreignKeyName: 'acq_content_distributions_content_id_fkey';
454
+ columns: ['content_id'];
455
+ isOneToOne: false;
456
+ referencedRelation: 'acq_content';
457
+ referencedColumns: ['id'];
458
+ },
459
+ {
460
+ foreignKeyName: 'acq_content_distributions_organization_id_fkey';
461
+ columns: ['organization_id'];
462
+ isOneToOne: false;
463
+ referencedRelation: 'organizations';
464
+ referencedColumns: ['id'];
465
+ }
466
+ ];
467
+ };
468
+ acq_deal_notes: {
469
+ Row: {
470
+ author_user_id: string | null;
471
+ body: string;
472
+ created_at: string;
473
+ deal_id: string;
474
+ id: string;
475
+ organization_id: string;
476
+ updated_at: string;
477
+ };
478
+ Insert: {
479
+ author_user_id?: string | null;
480
+ body: string;
481
+ created_at?: string;
482
+ deal_id: string;
483
+ id?: string;
484
+ organization_id: string;
485
+ updated_at?: string;
486
+ };
487
+ Update: {
488
+ author_user_id?: string | null;
489
+ body?: string;
490
+ created_at?: string;
491
+ deal_id?: string;
492
+ id?: string;
493
+ organization_id?: string;
494
+ updated_at?: string;
495
+ };
496
+ Relationships: [
497
+ {
498
+ foreignKeyName: 'acq_deal_notes_deal_id_fkey';
499
+ columns: ['deal_id'];
500
+ isOneToOne: false;
501
+ referencedRelation: 'acq_deals';
502
+ referencedColumns: ['id'];
503
+ },
504
+ {
505
+ foreignKeyName: 'acq_deal_notes_organization_id_fkey';
506
+ columns: ['organization_id'];
507
+ isOneToOne: false;
508
+ referencedRelation: 'organizations';
509
+ referencedColumns: ['id'];
510
+ }
511
+ ];
512
+ };
513
+ acq_deal_tasks: {
514
+ Row: {
515
+ assignee_user_id: string | null;
516
+ completed_at: string | null;
517
+ completed_by_user_id: string | null;
518
+ created_at: string;
519
+ created_by_user_id: string | null;
520
+ deal_id: string;
521
+ description: string | null;
522
+ due_at: string | null;
523
+ id: string;
524
+ kind: string;
525
+ organization_id: string;
526
+ title: string;
527
+ updated_at: string;
528
+ };
529
+ Insert: {
530
+ assignee_user_id?: string | null;
531
+ completed_at?: string | null;
532
+ completed_by_user_id?: string | null;
533
+ created_at?: string;
534
+ created_by_user_id?: string | null;
535
+ deal_id: string;
536
+ description?: string | null;
537
+ due_at?: string | null;
538
+ id?: string;
539
+ kind?: string;
540
+ organization_id: string;
541
+ title: string;
542
+ updated_at?: string;
543
+ };
544
+ Update: {
545
+ assignee_user_id?: string | null;
546
+ completed_at?: string | null;
547
+ completed_by_user_id?: string | null;
548
+ created_at?: string;
549
+ created_by_user_id?: string | null;
550
+ deal_id?: string;
551
+ description?: string | null;
552
+ due_at?: string | null;
553
+ id?: string;
554
+ kind?: string;
555
+ organization_id?: string;
556
+ title?: string;
557
+ updated_at?: string;
558
+ };
559
+ Relationships: [
560
+ {
561
+ foreignKeyName: 'acq_deal_tasks_deal_id_fkey';
562
+ columns: ['deal_id'];
563
+ isOneToOne: false;
564
+ referencedRelation: 'acq_deals';
565
+ referencedColumns: ['id'];
566
+ },
567
+ {
568
+ foreignKeyName: 'acq_deal_tasks_organization_id_fkey';
569
+ columns: ['organization_id'];
570
+ isOneToOne: false;
571
+ referencedRelation: 'organizations';
572
+ referencedColumns: ['id'];
573
+ }
574
+ ];
575
+ };
576
+ acq_deals: {
577
+ Row: {
578
+ activity_log: Json;
579
+ closed_lost_at: string | null;
580
+ closed_lost_reason: string | null;
581
+ contact_email: string;
582
+ contact_id: string | null;
583
+ created_at: string;
584
+ discovery_data: Json | null;
585
+ discovery_submitted_at: string | null;
586
+ discovery_submitted_by: string | null;
587
+ id: string;
588
+ initial_fee: number | null;
589
+ monthly_fee: number | null;
590
+ organization_id: string;
591
+ payment_link_sent_at: string | null;
592
+ payment_received_at: string | null;
593
+ pipeline_key: string;
594
+ proposal_data: Json | null;
595
+ proposal_generated_at: string | null;
596
+ proposal_pdf_url: string | null;
597
+ proposal_reviewed_at: string | null;
598
+ proposal_reviewed_by: string | null;
599
+ proposal_sent_at: string | null;
600
+ proposal_signed_at: string | null;
601
+ signature_envelope_id: string | null;
602
+ source_list_id: string | null;
603
+ source_type: string | null;
604
+ stage_key: string | null;
605
+ state_key: string | null;
606
+ stripe_payment_id: string | null;
607
+ stripe_payment_link: string | null;
608
+ stripe_payment_link_id: string | null;
609
+ stripe_subscription_id: string | null;
610
+ updated_at: string;
611
+ };
612
+ Insert: {
613
+ activity_log?: Json;
614
+ closed_lost_at?: string | null;
615
+ closed_lost_reason?: string | null;
616
+ contact_email: string;
617
+ contact_id?: string | null;
618
+ created_at?: string;
619
+ discovery_data?: Json | null;
620
+ discovery_submitted_at?: string | null;
621
+ discovery_submitted_by?: string | null;
622
+ id?: string;
623
+ initial_fee?: number | null;
624
+ monthly_fee?: number | null;
625
+ organization_id: string;
626
+ payment_link_sent_at?: string | null;
627
+ payment_received_at?: string | null;
628
+ pipeline_key?: string;
629
+ proposal_data?: Json | null;
630
+ proposal_generated_at?: string | null;
631
+ proposal_pdf_url?: string | null;
632
+ proposal_reviewed_at?: string | null;
633
+ proposal_reviewed_by?: string | null;
634
+ proposal_sent_at?: string | null;
635
+ proposal_signed_at?: string | null;
636
+ signature_envelope_id?: string | null;
637
+ source_list_id?: string | null;
638
+ source_type?: string | null;
639
+ stage_key?: string | null;
640
+ state_key?: string | null;
641
+ stripe_payment_id?: string | null;
642
+ stripe_payment_link?: string | null;
643
+ stripe_payment_link_id?: string | null;
644
+ stripe_subscription_id?: string | null;
645
+ updated_at?: string;
646
+ };
647
+ Update: {
648
+ activity_log?: Json;
649
+ closed_lost_at?: string | null;
650
+ closed_lost_reason?: string | null;
651
+ contact_email?: string;
652
+ contact_id?: string | null;
653
+ created_at?: string;
654
+ discovery_data?: Json | null;
655
+ discovery_submitted_at?: string | null;
656
+ discovery_submitted_by?: string | null;
657
+ id?: string;
658
+ initial_fee?: number | null;
659
+ monthly_fee?: number | null;
660
+ organization_id?: string;
661
+ payment_link_sent_at?: string | null;
662
+ payment_received_at?: string | null;
663
+ pipeline_key?: string;
664
+ proposal_data?: Json | null;
665
+ proposal_generated_at?: string | null;
666
+ proposal_pdf_url?: string | null;
667
+ proposal_reviewed_at?: string | null;
668
+ proposal_reviewed_by?: string | null;
669
+ proposal_sent_at?: string | null;
670
+ proposal_signed_at?: string | null;
671
+ signature_envelope_id?: string | null;
672
+ source_list_id?: string | null;
673
+ source_type?: string | null;
674
+ stage_key?: string | null;
675
+ state_key?: string | null;
676
+ stripe_payment_id?: string | null;
677
+ stripe_payment_link?: string | null;
678
+ stripe_payment_link_id?: string | null;
679
+ stripe_subscription_id?: string | null;
680
+ updated_at?: string;
681
+ };
682
+ Relationships: [
683
+ {
684
+ foreignKeyName: 'acq_deals_contact_id_fkey';
685
+ columns: ['contact_id'];
686
+ isOneToOne: false;
687
+ referencedRelation: 'acq_contacts';
688
+ referencedColumns: ['id'];
689
+ },
690
+ {
691
+ foreignKeyName: 'acq_deals_organization_id_fkey';
692
+ columns: ['organization_id'];
693
+ isOneToOne: false;
694
+ referencedRelation: 'organizations';
695
+ referencedColumns: ['id'];
696
+ },
697
+ {
698
+ foreignKeyName: 'acq_deals_source_list_id_fkey';
699
+ columns: ['source_list_id'];
700
+ isOneToOne: false;
701
+ referencedRelation: 'acq_lists';
702
+ referencedColumns: ['id'];
703
+ }
704
+ ];
705
+ };
706
+ acq_list_companies: {
707
+ Row: {
708
+ activity_log: Json;
709
+ added_at: string;
710
+ added_by: string | null;
711
+ company_id: string;
712
+ id: string;
713
+ list_id: string;
714
+ pipeline_key: string;
715
+ processing_state: Json;
716
+ source_execution_id: string | null;
717
+ source_input_hash: string | null;
718
+ source_resource_id: string | null;
719
+ stage_key: string;
720
+ state_key: string;
721
+ };
722
+ Insert: {
723
+ activity_log?: Json;
724
+ added_at?: string;
725
+ added_by?: string | null;
726
+ company_id: string;
727
+ id?: string;
728
+ list_id: string;
729
+ pipeline_key?: string;
730
+ processing_state?: Json;
731
+ source_execution_id?: string | null;
732
+ source_input_hash?: string | null;
733
+ source_resource_id?: string | null;
734
+ stage_key: string;
735
+ state_key: string;
736
+ };
737
+ Update: {
738
+ activity_log?: Json;
739
+ added_at?: string;
740
+ added_by?: string | null;
741
+ company_id?: string;
742
+ id?: string;
743
+ list_id?: string;
744
+ pipeline_key?: string;
745
+ processing_state?: Json;
746
+ source_execution_id?: string | null;
747
+ source_input_hash?: string | null;
748
+ source_resource_id?: string | null;
749
+ stage_key?: string;
750
+ state_key?: string;
751
+ };
752
+ Relationships: [
753
+ {
754
+ foreignKeyName: 'acq_list_companies_company_id_fkey';
755
+ columns: ['company_id'];
756
+ isOneToOne: false;
757
+ referencedRelation: 'acq_companies';
758
+ referencedColumns: ['id'];
759
+ },
760
+ {
761
+ foreignKeyName: 'acq_list_companies_list_id_fkey';
762
+ columns: ['list_id'];
763
+ isOneToOne: false;
764
+ referencedRelation: 'acq_lists';
765
+ referencedColumns: ['id'];
766
+ },
767
+ {
768
+ foreignKeyName: 'acq_list_companies_source_execution_id_fkey';
769
+ columns: ['source_execution_id'];
770
+ isOneToOne: false;
771
+ referencedRelation: 'execution_logs';
772
+ referencedColumns: ['execution_id'];
773
+ }
774
+ ];
775
+ };
776
+ acq_list_executions: {
777
+ Row: {
778
+ created_at: string;
779
+ execution_id: string;
780
+ id: string;
781
+ list_id: string;
782
+ payload: Json;
783
+ };
784
+ Insert: {
785
+ created_at?: string;
786
+ execution_id: string;
787
+ id?: string;
788
+ list_id: string;
789
+ payload?: Json;
790
+ };
791
+ Update: {
792
+ created_at?: string;
793
+ execution_id?: string;
794
+ id?: string;
795
+ list_id?: string;
796
+ payload?: Json;
797
+ };
798
+ Relationships: [
799
+ {
800
+ foreignKeyName: 'acq_list_executions_execution_id_fkey';
801
+ columns: ['execution_id'];
802
+ isOneToOne: false;
803
+ referencedRelation: 'execution_logs';
804
+ referencedColumns: ['execution_id'];
805
+ },
806
+ {
807
+ foreignKeyName: 'acq_list_executions_list_id_fkey';
808
+ columns: ['list_id'];
809
+ isOneToOne: false;
810
+ referencedRelation: 'acq_lists';
811
+ referencedColumns: ['id'];
812
+ }
813
+ ];
814
+ };
815
+ acq_list_members: {
816
+ Row: {
817
+ activity_log: Json;
818
+ added_at: string;
819
+ added_by: string | null;
820
+ contact_id: string;
821
+ id: string;
822
+ list_id: string;
823
+ pipeline_key: string;
824
+ processing_state: Json;
825
+ source_execution_id: string | null;
826
+ source_input_hash: string | null;
827
+ source_resource_id: string | null;
828
+ stage_key: string;
829
+ state_key: string;
830
+ };
831
+ Insert: {
832
+ activity_log?: Json;
833
+ added_at?: string;
834
+ added_by?: string | null;
835
+ contact_id: string;
836
+ id?: string;
837
+ list_id: string;
838
+ pipeline_key?: string;
839
+ processing_state?: Json;
840
+ source_execution_id?: string | null;
841
+ source_input_hash?: string | null;
842
+ source_resource_id?: string | null;
843
+ stage_key: string;
844
+ state_key: string;
845
+ };
846
+ Update: {
847
+ activity_log?: Json;
848
+ added_at?: string;
849
+ added_by?: string | null;
850
+ contact_id?: string;
851
+ id?: string;
852
+ list_id?: string;
853
+ pipeline_key?: string;
854
+ processing_state?: Json;
855
+ source_execution_id?: string | null;
856
+ source_input_hash?: string | null;
857
+ source_resource_id?: string | null;
858
+ stage_key?: string;
859
+ state_key?: string;
860
+ };
861
+ Relationships: [
862
+ {
863
+ foreignKeyName: 'acq_list_members_contact_id_fkey';
864
+ columns: ['contact_id'];
865
+ isOneToOne: false;
866
+ referencedRelation: 'acq_contacts';
867
+ referencedColumns: ['id'];
868
+ },
869
+ {
870
+ foreignKeyName: 'acq_list_members_list_id_fkey';
871
+ columns: ['list_id'];
872
+ isOneToOne: false;
873
+ referencedRelation: 'acq_lists';
874
+ referencedColumns: ['id'];
875
+ },
876
+ {
877
+ foreignKeyName: 'acq_list_members_source_execution_id_fkey';
878
+ columns: ['source_execution_id'];
879
+ isOneToOne: false;
880
+ referencedRelation: 'execution_logs';
881
+ referencedColumns: ['execution_id'];
882
+ }
883
+ ];
884
+ };
885
+ acq_lists: {
886
+ Row: {
887
+ batch_ids: string[];
888
+ completed_at: string | null;
889
+ created_at: string;
890
+ description: string | null;
891
+ icp: Json;
892
+ id: string;
893
+ instantly_campaign_id: string | null;
894
+ launched_at: string | null;
895
+ metadata: Json;
896
+ name: string;
897
+ organization_id: string;
898
+ pipeline_config: Json;
899
+ scraping_config: Json;
900
+ status: string;
901
+ };
902
+ Insert: {
903
+ batch_ids?: string[];
904
+ completed_at?: string | null;
905
+ created_at?: string;
906
+ description?: string | null;
907
+ icp?: Json;
908
+ id?: string;
909
+ instantly_campaign_id?: string | null;
910
+ launched_at?: string | null;
911
+ metadata?: Json;
912
+ name: string;
913
+ organization_id: string;
914
+ pipeline_config?: Json;
915
+ scraping_config?: Json;
916
+ status?: string;
917
+ };
918
+ Update: {
919
+ batch_ids?: string[];
920
+ completed_at?: string | null;
921
+ created_at?: string;
922
+ description?: string | null;
923
+ icp?: Json;
924
+ id?: string;
925
+ instantly_campaign_id?: string | null;
926
+ launched_at?: string | null;
927
+ metadata?: Json;
928
+ name?: string;
929
+ organization_id?: string;
930
+ pipeline_config?: Json;
931
+ scraping_config?: Json;
932
+ status?: string;
933
+ };
934
+ Relationships: [
935
+ {
936
+ foreignKeyName: 'acq_lists_organization_id_fkey';
937
+ columns: ['organization_id'];
938
+ isOneToOne: false;
939
+ referencedRelation: 'organizations';
940
+ referencedColumns: ['id'];
941
+ }
942
+ ];
943
+ };
944
+ acq_seo_metrics: {
945
+ Row: {
946
+ ai_citations: Json | null;
947
+ avg_position: number | null;
948
+ clicks: number | null;
949
+ created_at: string;
950
+ cta_clicks: number | null;
951
+ ctr: number | null;
952
+ data_point_count: number | null;
953
+ faq_count: number | null;
954
+ form_submissions: number | null;
955
+ id: string;
956
+ impressions: number | null;
957
+ organization_id: string;
958
+ period: string;
959
+ quality_score: number | null;
960
+ readability: number | null;
961
+ scroll_100: number | null;
962
+ scroll_25: number | null;
963
+ scroll_50: number | null;
964
+ scroll_75: number | null;
965
+ seo_page_id: string;
966
+ word_count: number | null;
967
+ };
968
+ Insert: {
969
+ ai_citations?: Json | null;
970
+ avg_position?: number | null;
971
+ clicks?: number | null;
972
+ created_at?: string;
973
+ cta_clicks?: number | null;
974
+ ctr?: number | null;
975
+ data_point_count?: number | null;
976
+ faq_count?: number | null;
977
+ form_submissions?: number | null;
978
+ id?: string;
979
+ impressions?: number | null;
980
+ organization_id: string;
981
+ period: string;
982
+ quality_score?: number | null;
983
+ readability?: number | null;
984
+ scroll_100?: number | null;
985
+ scroll_25?: number | null;
986
+ scroll_50?: number | null;
987
+ scroll_75?: number | null;
988
+ seo_page_id: string;
989
+ word_count?: number | null;
990
+ };
991
+ Update: {
992
+ ai_citations?: Json | null;
993
+ avg_position?: number | null;
994
+ clicks?: number | null;
995
+ created_at?: string;
996
+ cta_clicks?: number | null;
997
+ ctr?: number | null;
998
+ data_point_count?: number | null;
999
+ faq_count?: number | null;
1000
+ form_submissions?: number | null;
1001
+ id?: string;
1002
+ impressions?: number | null;
1003
+ organization_id?: string;
1004
+ period?: string;
1005
+ quality_score?: number | null;
1006
+ readability?: number | null;
1007
+ scroll_100?: number | null;
1008
+ scroll_25?: number | null;
1009
+ scroll_50?: number | null;
1010
+ scroll_75?: number | null;
1011
+ seo_page_id?: string;
1012
+ word_count?: number | null;
1013
+ };
1014
+ Relationships: [
1015
+ {
1016
+ foreignKeyName: 'acq_seo_metrics_organization_id_fkey';
1017
+ columns: ['organization_id'];
1018
+ isOneToOne: false;
1019
+ referencedRelation: 'organizations';
1020
+ referencedColumns: ['id'];
1021
+ },
1022
+ {
1023
+ foreignKeyName: 'acq_seo_metrics_seo_page_id_fkey';
1024
+ columns: ['seo_page_id'];
1025
+ isOneToOne: false;
1026
+ referencedRelation: 'acq_seo_pages';
1027
+ referencedColumns: ['id'];
1028
+ }
1029
+ ];
1030
+ };
1031
+ acq_seo_pages: {
1032
+ Row: {
1033
+ city: string | null;
1034
+ content: Json | null;
1035
+ created_at: string;
1036
+ faq_items: Json | null;
1037
+ hero_image_url: string | null;
1038
+ id: string;
1039
+ internal_links: Json | null;
1040
+ local_data: Json | null;
1041
+ meta_description: string | null;
1042
+ organization_id: string;
1043
+ page_type: string;
1044
+ published_at: string | null;
1045
+ refreshed_at: string | null;
1046
+ schema_markup: Json | null;
1047
+ slug: string;
1048
+ state: string | null;
1049
+ status: string;
1050
+ title: string;
1051
+ updated_at: string;
1052
+ use_case: string | null;
1053
+ vertical: string;
1054
+ };
1055
+ Insert: {
1056
+ city?: string | null;
1057
+ content?: Json | null;
1058
+ created_at?: string;
1059
+ faq_items?: Json | null;
1060
+ hero_image_url?: string | null;
1061
+ id?: string;
1062
+ internal_links?: Json | null;
1063
+ local_data?: Json | null;
1064
+ meta_description?: string | null;
1065
+ organization_id: string;
1066
+ page_type: string;
1067
+ published_at?: string | null;
1068
+ refreshed_at?: string | null;
1069
+ schema_markup?: Json | null;
1070
+ slug: string;
1071
+ state?: string | null;
1072
+ status?: string;
1073
+ title: string;
1074
+ updated_at?: string;
1075
+ use_case?: string | null;
1076
+ vertical: string;
1077
+ };
1078
+ Update: {
1079
+ city?: string | null;
1080
+ content?: Json | null;
1081
+ created_at?: string;
1082
+ faq_items?: Json | null;
1083
+ hero_image_url?: string | null;
1084
+ id?: string;
1085
+ internal_links?: Json | null;
1086
+ local_data?: Json | null;
1087
+ meta_description?: string | null;
1088
+ organization_id?: string;
1089
+ page_type?: string;
1090
+ published_at?: string | null;
1091
+ refreshed_at?: string | null;
1092
+ schema_markup?: Json | null;
1093
+ slug?: string;
1094
+ state?: string | null;
1095
+ status?: string;
1096
+ title?: string;
1097
+ updated_at?: string;
1098
+ use_case?: string | null;
1099
+ vertical?: string;
1100
+ };
1101
+ Relationships: [
1102
+ {
1103
+ foreignKeyName: 'acq_seo_pages_organization_id_fkey';
1104
+ columns: ['organization_id'];
1105
+ isOneToOne: false;
1106
+ referencedRelation: 'organizations';
1107
+ referencedColumns: ['id'];
1108
+ }
1109
+ ];
1110
+ };
1111
+ acq_social_posts: {
1112
+ Row: {
1113
+ author_name: string;
1114
+ author_url: string | null;
1115
+ comments_count: number;
1116
+ created_at: string;
1117
+ discovered_at: string;
1118
+ engagement_count: number;
1119
+ feedback: string | null;
1120
+ final_response: string | null;
1121
+ fully_reviewed: boolean;
1122
+ id: string;
1123
+ initial_draft: string | null;
1124
+ matched_keywords: string[];
1125
+ matched_query: string | null;
1126
+ metadata: Json;
1127
+ organization_id: string;
1128
+ platform: string;
1129
+ platform_post_id: string;
1130
+ post_text: string;
1131
+ post_title: string;
1132
+ post_url: string;
1133
+ posted_at: string;
1134
+ relevance_score: number;
1135
+ responded_at: string | null;
1136
+ reviewed_at: string | null;
1137
+ skip_reason: string | null;
1138
+ source_category: string | null;
1139
+ status: string;
1140
+ updated_at: string;
1141
+ };
1142
+ Insert: {
1143
+ author_name: string;
1144
+ author_url?: string | null;
1145
+ comments_count?: number;
1146
+ created_at?: string;
1147
+ discovered_at?: string;
1148
+ engagement_count?: number;
1149
+ feedback?: string | null;
1150
+ final_response?: string | null;
1151
+ fully_reviewed?: boolean;
1152
+ id?: string;
1153
+ initial_draft?: string | null;
1154
+ matched_keywords?: string[];
1155
+ matched_query?: string | null;
1156
+ metadata?: Json;
1157
+ organization_id: string;
1158
+ platform: string;
1159
+ platform_post_id: string;
1160
+ post_text: string;
1161
+ post_title: string;
1162
+ post_url: string;
1163
+ posted_at: string;
1164
+ relevance_score?: number;
1165
+ responded_at?: string | null;
1166
+ reviewed_at?: string | null;
1167
+ skip_reason?: string | null;
1168
+ source_category?: string | null;
1169
+ status?: string;
1170
+ updated_at?: string;
1171
+ };
1172
+ Update: {
1173
+ author_name?: string;
1174
+ author_url?: string | null;
1175
+ comments_count?: number;
1176
+ created_at?: string;
1177
+ discovered_at?: string;
1178
+ engagement_count?: number;
1179
+ feedback?: string | null;
1180
+ final_response?: string | null;
1181
+ fully_reviewed?: boolean;
1182
+ id?: string;
1183
+ initial_draft?: string | null;
1184
+ matched_keywords?: string[];
1185
+ matched_query?: string | null;
1186
+ metadata?: Json;
1187
+ organization_id?: string;
1188
+ platform?: string;
1189
+ platform_post_id?: string;
1190
+ post_text?: string;
1191
+ post_title?: string;
1192
+ post_url?: string;
1193
+ posted_at?: string;
1194
+ relevance_score?: number;
1195
+ responded_at?: string | null;
1196
+ reviewed_at?: string | null;
1197
+ skip_reason?: string | null;
1198
+ source_category?: string | null;
1199
+ status?: string;
1200
+ updated_at?: string;
1201
+ };
1202
+ Relationships: [
1203
+ {
1204
+ foreignKeyName: 'acq_social_posts_organization_id_fkey';
1205
+ columns: ['organization_id'];
1206
+ isOneToOne: false;
1207
+ referencedRelation: 'organizations';
1208
+ referencedColumns: ['id'];
1209
+ }
1210
+ ];
1211
+ };
1212
+ activities: {
1213
+ Row: {
1214
+ activity_type: string;
1215
+ actor_id: string | null;
1216
+ actor_type: string | null;
1217
+ created_at: string;
1218
+ description: string | null;
1219
+ entity_id: string;
1220
+ entity_name: string | null;
1221
+ entity_type: string;
1222
+ id: string;
1223
+ metadata: Json | null;
1224
+ occurred_at: string;
1225
+ organization_id: string;
1226
+ status: string;
1227
+ title: string;
1228
+ };
1229
+ Insert: {
1230
+ activity_type: string;
1231
+ actor_id?: string | null;
1232
+ actor_type?: string | null;
1233
+ created_at?: string;
1234
+ description?: string | null;
1235
+ entity_id: string;
1236
+ entity_name?: string | null;
1237
+ entity_type: string;
1238
+ id?: string;
1239
+ metadata?: Json | null;
1240
+ occurred_at?: string;
1241
+ organization_id: string;
1242
+ status: string;
1243
+ title: string;
1244
+ };
1245
+ Update: {
1246
+ activity_type?: string;
1247
+ actor_id?: string | null;
1248
+ actor_type?: string | null;
1249
+ created_at?: string;
1250
+ description?: string | null;
1251
+ entity_id?: string;
1252
+ entity_name?: string | null;
1253
+ entity_type?: string;
1254
+ id?: string;
1255
+ metadata?: Json | null;
1256
+ occurred_at?: string;
1257
+ organization_id?: string;
1258
+ status?: string;
1259
+ title?: string;
1260
+ };
1261
+ Relationships: [
1262
+ {
1263
+ foreignKeyName: 'activities_organization_id_fkey';
1264
+ columns: ['organization_id'];
1265
+ isOneToOne: false;
1266
+ referencedRelation: 'organizations';
1267
+ referencedColumns: ['id'];
1268
+ }
1269
+ ];
1270
+ };
1271
+ api_keys: {
1272
+ Row: {
1273
+ created_at: string | null;
1274
+ id: string;
1275
+ key_hash: string;
1276
+ last_used_at: string | null;
1277
+ name: string;
1278
+ organization_id: string;
1279
+ };
1280
+ Insert: {
1281
+ created_at?: string | null;
1282
+ id?: string;
1283
+ key_hash: string;
1284
+ last_used_at?: string | null;
1285
+ name: string;
1286
+ organization_id: string;
1287
+ };
1288
+ Update: {
1289
+ created_at?: string | null;
1290
+ id?: string;
1291
+ key_hash?: string;
1292
+ last_used_at?: string | null;
1293
+ name?: string;
1294
+ organization_id?: string;
1295
+ };
1296
+ Relationships: [
1297
+ {
1298
+ foreignKeyName: 'api_keys_organization_id_fkey';
1299
+ columns: ['organization_id'];
1300
+ isOneToOne: false;
1301
+ referencedRelation: 'organizations';
1302
+ referencedColumns: ['id'];
1303
+ }
1304
+ ];
1305
+ };
1306
+ command_queue: {
1307
+ Row: {
1308
+ action_payload: Json | null;
1309
+ actions: Json;
1310
+ completed_at: string | null;
1311
+ completed_by: string | null;
1312
+ context: Json;
1313
+ created_at: string;
1314
+ description: string | null;
1315
+ expires_at: string | null;
1316
+ human_checkpoint: string | null;
1317
+ id: string;
1318
+ idempotency_key: string | null;
1319
+ metadata: Json | null;
1320
+ organization_id: string;
1321
+ origin_execution_id: string;
1322
+ origin_resource_id: string;
1323
+ origin_resource_type: string;
1324
+ priority: number;
1325
+ selected_action: string | null;
1326
+ status: string;
1327
+ target_execution_id: string | null;
1328
+ target_resource_id: string | null;
1329
+ target_resource_type: string | null;
1330
+ };
1331
+ Insert: {
1332
+ action_payload?: Json | null;
1333
+ actions: Json;
1334
+ completed_at?: string | null;
1335
+ completed_by?: string | null;
1336
+ context: Json;
1337
+ created_at?: string;
1338
+ description?: string | null;
1339
+ expires_at?: string | null;
1340
+ human_checkpoint?: string | null;
1341
+ id?: string;
1342
+ idempotency_key?: string | null;
1343
+ metadata?: Json | null;
1344
+ organization_id: string;
1345
+ origin_execution_id: string;
1346
+ origin_resource_id: string;
1347
+ origin_resource_type: string;
1348
+ priority?: number;
1349
+ selected_action?: string | null;
1350
+ status?: string;
1351
+ target_execution_id?: string | null;
1352
+ target_resource_id?: string | null;
1353
+ target_resource_type?: string | null;
1354
+ };
1355
+ Update: {
1356
+ action_payload?: Json | null;
1357
+ actions?: Json;
1358
+ completed_at?: string | null;
1359
+ completed_by?: string | null;
1360
+ context?: Json;
1361
+ created_at?: string;
1362
+ description?: string | null;
1363
+ expires_at?: string | null;
1364
+ human_checkpoint?: string | null;
1365
+ id?: string;
1366
+ idempotency_key?: string | null;
1367
+ metadata?: Json | null;
1368
+ organization_id?: string;
1369
+ origin_execution_id?: string;
1370
+ origin_resource_id?: string;
1371
+ origin_resource_type?: string;
1372
+ priority?: number;
1373
+ selected_action?: string | null;
1374
+ status?: string;
1375
+ target_execution_id?: string | null;
1376
+ target_resource_id?: string | null;
1377
+ target_resource_type?: string | null;
1378
+ };
1379
+ Relationships: [
1380
+ {
1381
+ foreignKeyName: 'command_queue_completed_by_fkey';
1382
+ columns: ['completed_by'];
1383
+ isOneToOne: false;
1384
+ referencedRelation: 'users';
1385
+ referencedColumns: ['id'];
1386
+ },
1387
+ {
1388
+ foreignKeyName: 'command_queue_organization_id_fkey';
1389
+ columns: ['organization_id'];
1390
+ isOneToOne: false;
1391
+ referencedRelation: 'organizations';
1392
+ referencedColumns: ['id'];
1393
+ },
1394
+ {
1395
+ foreignKeyName: 'command_queue_target_execution_id_fkey';
1396
+ columns: ['target_execution_id'];
1397
+ isOneToOne: false;
1398
+ referencedRelation: 'execution_logs';
1399
+ referencedColumns: ['execution_id'];
1400
+ }
1401
+ ];
1402
+ };
1403
+ credentials: {
1404
+ Row: {
1405
+ created_at: string;
1406
+ created_by: string | null;
1407
+ encrypted_value: string;
1408
+ id: string;
1409
+ name: string;
1410
+ organization_id: string;
1411
+ provider: string | null;
1412
+ type: string;
1413
+ updated_at: string;
1414
+ };
1415
+ Insert: {
1416
+ created_at?: string;
1417
+ created_by?: string | null;
1418
+ encrypted_value: string;
1419
+ id?: string;
1420
+ name: string;
1421
+ organization_id: string;
1422
+ provider?: string | null;
1423
+ type?: string;
1424
+ updated_at?: string;
1425
+ };
1426
+ Update: {
1427
+ created_at?: string;
1428
+ created_by?: string | null;
1429
+ encrypted_value?: string;
1430
+ id?: string;
1431
+ name?: string;
1432
+ organization_id?: string;
1433
+ provider?: string | null;
1434
+ type?: string;
1435
+ updated_at?: string;
1436
+ };
1437
+ Relationships: [
1438
+ {
1439
+ foreignKeyName: 'credentials_created_by_fkey';
1440
+ columns: ['created_by'];
1441
+ isOneToOne: false;
1442
+ referencedRelation: 'users';
1443
+ referencedColumns: ['id'];
1444
+ },
1445
+ {
1446
+ foreignKeyName: 'credentials_organization_id_fkey';
1447
+ columns: ['organization_id'];
1448
+ isOneToOne: false;
1449
+ referencedRelation: 'organizations';
1450
+ referencedColumns: ['id'];
1451
+ }
1452
+ ];
1453
+ };
1454
+ deployments: {
1455
+ Row: {
1456
+ created_at: string;
1457
+ deployment_version: string | null;
1458
+ error_message: string | null;
1459
+ id: string;
1460
+ organization_id: string;
1461
+ pid: number | null;
1462
+ port: number | null;
1463
+ sdk_version: string;
1464
+ status: string;
1465
+ tarball_path: string | null;
1466
+ updated_at: string;
1467
+ };
1468
+ Insert: {
1469
+ created_at?: string;
1470
+ deployment_version?: string | null;
1471
+ error_message?: string | null;
1472
+ id?: string;
1473
+ organization_id: string;
1474
+ pid?: number | null;
1475
+ port?: number | null;
1476
+ sdk_version: string;
1477
+ status?: string;
1478
+ tarball_path?: string | null;
1479
+ updated_at?: string;
1480
+ };
1481
+ Update: {
1482
+ created_at?: string;
1483
+ deployment_version?: string | null;
1484
+ error_message?: string | null;
1485
+ id?: string;
1486
+ organization_id?: string;
1487
+ pid?: number | null;
1488
+ port?: number | null;
1489
+ sdk_version?: string;
1490
+ status?: string;
1491
+ tarball_path?: string | null;
1492
+ updated_at?: string;
1493
+ };
1494
+ Relationships: [
1495
+ {
1496
+ foreignKeyName: 'deployments_organization_id_fkey';
1497
+ columns: ['organization_id'];
1498
+ isOneToOne: false;
1499
+ referencedRelation: 'organizations';
1500
+ referencedColumns: ['id'];
1501
+ }
1502
+ ];
1503
+ };
1504
+ execution_errors: {
1505
+ Row: {
1506
+ created_at: string | null;
1507
+ error_category: string;
1508
+ error_message: string;
1509
+ error_severity: string;
1510
+ error_stack_trace: string | null;
1511
+ error_type: string;
1512
+ execution_id: string;
1513
+ id: string;
1514
+ metadata: Json | null;
1515
+ occurred_at: string;
1516
+ organization_id: string;
1517
+ resolved: boolean;
1518
+ resolved_at: string | null;
1519
+ resolved_by: string | null;
1520
+ };
1521
+ Insert: {
1522
+ created_at?: string | null;
1523
+ error_category: string;
1524
+ error_message: string;
1525
+ error_severity: string;
1526
+ error_stack_trace?: string | null;
1527
+ error_type: string;
1528
+ execution_id: string;
1529
+ id?: string;
1530
+ metadata?: Json | null;
1531
+ occurred_at?: string;
1532
+ organization_id: string;
1533
+ resolved?: boolean;
1534
+ resolved_at?: string | null;
1535
+ resolved_by?: string | null;
1536
+ };
1537
+ Update: {
1538
+ created_at?: string | null;
1539
+ error_category?: string;
1540
+ error_message?: string;
1541
+ error_severity?: string;
1542
+ error_stack_trace?: string | null;
1543
+ error_type?: string;
1544
+ execution_id?: string;
1545
+ id?: string;
1546
+ metadata?: Json | null;
1547
+ occurred_at?: string;
1548
+ organization_id?: string;
1549
+ resolved?: boolean;
1550
+ resolved_at?: string | null;
1551
+ resolved_by?: string | null;
1552
+ };
1553
+ Relationships: [
1554
+ {
1555
+ foreignKeyName: 'execution_errors_execution_id_fkey';
1556
+ columns: ['execution_id'];
1557
+ isOneToOne: false;
1558
+ referencedRelation: 'execution_logs';
1559
+ referencedColumns: ['execution_id'];
1560
+ },
1561
+ {
1562
+ foreignKeyName: 'execution_errors_organization_id_fkey';
1563
+ columns: ['organization_id'];
1564
+ isOneToOne: false;
1565
+ referencedRelation: 'organizations';
1566
+ referencedColumns: ['id'];
1567
+ },
1568
+ {
1569
+ foreignKeyName: 'execution_errors_resolved_by_fkey';
1570
+ columns: ['resolved_by'];
1571
+ isOneToOne: false;
1572
+ referencedRelation: 'users';
1573
+ referencedColumns: ['id'];
1574
+ }
1575
+ ];
1576
+ };
1577
+ execution_logs: {
1578
+ Row: {
1579
+ api_version: string | null;
1580
+ completed_at: string | null;
1581
+ created_at: string | null;
1582
+ error: string | null;
1583
+ execution_id: string;
1584
+ input: Json | null;
1585
+ last_heartbeat_at: string | null;
1586
+ logs: Json | null;
1587
+ organization_id: string;
1588
+ origin_execution_id: string | null;
1589
+ output: Json | null;
1590
+ resource_id: string;
1591
+ resource_status: string;
1592
+ resource_type: string;
1593
+ resource_version: string | null;
1594
+ sdk_version: string | null;
1595
+ session_id: string | null;
1596
+ session_turn_number: number | null;
1597
+ started_at: string;
1598
+ status: string;
1599
+ trigger_type: string | null;
1600
+ updated_at: string | null;
1601
+ user_id: string | null;
1602
+ };
1603
+ Insert: {
1604
+ api_version?: string | null;
1605
+ completed_at?: string | null;
1606
+ created_at?: string | null;
1607
+ error?: string | null;
1608
+ execution_id?: string;
1609
+ input?: Json | null;
1610
+ last_heartbeat_at?: string | null;
1611
+ logs?: Json | null;
1612
+ organization_id: string;
1613
+ origin_execution_id?: string | null;
1614
+ output?: Json | null;
1615
+ resource_id: string;
1616
+ resource_status?: string;
1617
+ resource_type?: string;
1618
+ resource_version?: string | null;
1619
+ sdk_version?: string | null;
1620
+ session_id?: string | null;
1621
+ session_turn_number?: number | null;
1622
+ started_at?: string;
1623
+ status: string;
1624
+ trigger_type?: string | null;
1625
+ updated_at?: string | null;
1626
+ user_id?: string | null;
1627
+ };
1628
+ Update: {
1629
+ api_version?: string | null;
1630
+ completed_at?: string | null;
1631
+ created_at?: string | null;
1632
+ error?: string | null;
1633
+ execution_id?: string;
1634
+ input?: Json | null;
1635
+ last_heartbeat_at?: string | null;
1636
+ logs?: Json | null;
1637
+ organization_id?: string;
1638
+ origin_execution_id?: string | null;
1639
+ output?: Json | null;
1640
+ resource_id?: string;
1641
+ resource_status?: string;
1642
+ resource_type?: string;
1643
+ resource_version?: string | null;
1644
+ sdk_version?: string | null;
1645
+ session_id?: string | null;
1646
+ session_turn_number?: number | null;
1647
+ started_at?: string;
1648
+ status?: string;
1649
+ trigger_type?: string | null;
1650
+ updated_at?: string | null;
1651
+ user_id?: string | null;
1652
+ };
1653
+ Relationships: [
1654
+ {
1655
+ foreignKeyName: 'execution_history_organization_id_fkey';
1656
+ columns: ['organization_id'];
1657
+ isOneToOne: false;
1658
+ referencedRelation: 'organizations';
1659
+ referencedColumns: ['id'];
1660
+ },
1661
+ {
1662
+ foreignKeyName: 'execution_logs_origin_execution_id_fkey';
1663
+ columns: ['origin_execution_id'];
1664
+ isOneToOne: false;
1665
+ referencedRelation: 'execution_logs';
1666
+ referencedColumns: ['execution_id'];
1667
+ },
1668
+ {
1669
+ foreignKeyName: 'execution_logs_session_id_fkey';
1670
+ columns: ['session_id'];
1671
+ isOneToOne: false;
1672
+ referencedRelation: 'sessions';
1673
+ referencedColumns: ['session_id'];
1674
+ },
1675
+ {
1676
+ foreignKeyName: 'execution_logs_user_id_fkey';
1677
+ columns: ['user_id'];
1678
+ isOneToOne: false;
1679
+ referencedRelation: 'users';
1680
+ referencedColumns: ['id'];
1681
+ }
1682
+ ];
1683
+ };
1684
+ execution_metrics: {
1685
+ Row: {
1686
+ ai_call_count: number;
1687
+ ai_calls: Json | null;
1688
+ automation_savings_usd: number | null;
1689
+ created_at: string | null;
1690
+ duration_ms: number | null;
1691
+ execution_id: string;
1692
+ organization_id: string;
1693
+ resource_id: string;
1694
+ total_cost_usd: number;
1695
+ total_input_tokens: number;
1696
+ total_output_tokens: number;
1697
+ };
1698
+ Insert: {
1699
+ ai_call_count: number;
1700
+ ai_calls?: Json | null;
1701
+ automation_savings_usd?: number | null;
1702
+ created_at?: string | null;
1703
+ duration_ms?: number | null;
1704
+ execution_id: string;
1705
+ organization_id: string;
1706
+ resource_id: string;
1707
+ total_cost_usd: number;
1708
+ total_input_tokens: number;
1709
+ total_output_tokens: number;
1710
+ };
1711
+ Update: {
1712
+ ai_call_count?: number;
1713
+ ai_calls?: Json | null;
1714
+ automation_savings_usd?: number | null;
1715
+ created_at?: string | null;
1716
+ duration_ms?: number | null;
1717
+ execution_id?: string;
1718
+ organization_id?: string;
1719
+ resource_id?: string;
1720
+ total_cost_usd?: number;
1721
+ total_input_tokens?: number;
1722
+ total_output_tokens?: number;
1723
+ };
1724
+ Relationships: [
1725
+ {
1726
+ foreignKeyName: 'execution_metrics_execution_id_fkey';
1727
+ columns: ['execution_id'];
1728
+ isOneToOne: true;
1729
+ referencedRelation: 'execution_logs';
1730
+ referencedColumns: ['execution_id'];
1731
+ },
1732
+ {
1733
+ foreignKeyName: 'execution_metrics_organization_id_fkey';
1734
+ columns: ['organization_id'];
1735
+ isOneToOne: false;
1736
+ referencedRelation: 'organizations';
1737
+ referencedColumns: ['id'];
1738
+ }
1739
+ ];
1740
+ };
1741
+ notifications: {
1742
+ Row: {
1743
+ action_url: string | null;
1744
+ category: string;
1745
+ created_at: string | null;
1746
+ id: string;
1747
+ message: string;
1748
+ organization_id: string;
1749
+ read: boolean | null;
1750
+ read_at: string | null;
1751
+ title: string;
1752
+ user_id: string;
1753
+ };
1754
+ Insert: {
1755
+ action_url?: string | null;
1756
+ category: string;
1757
+ created_at?: string | null;
1758
+ id?: string;
1759
+ message: string;
1760
+ organization_id: string;
1761
+ read?: boolean | null;
1762
+ read_at?: string | null;
1763
+ title: string;
1764
+ user_id: string;
1765
+ };
1766
+ Update: {
1767
+ action_url?: string | null;
1768
+ category?: string;
1769
+ created_at?: string | null;
1770
+ id?: string;
1771
+ message?: string;
1772
+ organization_id?: string;
1773
+ read?: boolean | null;
1774
+ read_at?: string | null;
1775
+ title?: string;
1776
+ user_id?: string;
1777
+ };
1778
+ Relationships: [
1779
+ {
1780
+ foreignKeyName: 'notifications_organization_id_fkey';
1781
+ columns: ['organization_id'];
1782
+ isOneToOne: false;
1783
+ referencedRelation: 'organizations';
1784
+ referencedColumns: ['id'];
1785
+ },
1786
+ {
1787
+ foreignKeyName: 'notifications_user_id_fkey';
1788
+ columns: ['user_id'];
1789
+ isOneToOne: false;
1790
+ referencedRelation: 'users';
1791
+ referencedColumns: ['id'];
1792
+ }
1793
+ ];
1794
+ };
1795
+ org_invitations: {
1796
+ Row: {
1797
+ accept_invitation_url: string | null;
1798
+ accepted_at: string | null;
1799
+ created_at: string | null;
1800
+ email: string;
1801
+ expires_at: string;
1802
+ id: string;
1803
+ invitation_state: string | null;
1804
+ invitation_token: string | null;
1805
+ inviter_user_id: string | null;
1806
+ organization_id: string | null;
1807
+ revoked_at: string | null;
1808
+ role_slug: string | null;
1809
+ updated_at: string | null;
1810
+ workos_invitation_id: string;
1811
+ };
1812
+ Insert: {
1813
+ accept_invitation_url?: string | null;
1814
+ accepted_at?: string | null;
1815
+ created_at?: string | null;
1816
+ email: string;
1817
+ expires_at: string;
1818
+ id?: string;
1819
+ invitation_state?: string | null;
1820
+ invitation_token?: string | null;
1821
+ inviter_user_id?: string | null;
1822
+ organization_id?: string | null;
1823
+ revoked_at?: string | null;
1824
+ role_slug?: string | null;
1825
+ updated_at?: string | null;
1826
+ workos_invitation_id: string;
1827
+ };
1828
+ Update: {
1829
+ accept_invitation_url?: string | null;
1830
+ accepted_at?: string | null;
1831
+ created_at?: string | null;
1832
+ email?: string;
1833
+ expires_at?: string;
1834
+ id?: string;
1835
+ invitation_state?: string | null;
1836
+ invitation_token?: string | null;
1837
+ inviter_user_id?: string | null;
1838
+ organization_id?: string | null;
1839
+ revoked_at?: string | null;
1840
+ role_slug?: string | null;
1841
+ updated_at?: string | null;
1842
+ workos_invitation_id?: string;
1843
+ };
1844
+ Relationships: [
1845
+ {
1846
+ foreignKeyName: 'org_invitations_inviter_user_id_fkey';
1847
+ columns: ['inviter_user_id'];
1848
+ isOneToOne: false;
1849
+ referencedRelation: 'users';
1850
+ referencedColumns: ['id'];
1851
+ },
1852
+ {
1853
+ foreignKeyName: 'org_invitations_organization_id_fkey';
1854
+ columns: ['organization_id'];
1855
+ isOneToOne: false;
1856
+ referencedRelation: 'organizations';
1857
+ referencedColumns: ['id'];
1858
+ }
1859
+ ];
1860
+ };
1861
+ org_memberships: {
1862
+ Row: {
1863
+ config: Json;
1864
+ created_at: string | null;
1865
+ effective_permissions: string[];
1866
+ id: string;
1867
+ membership_status: string | null;
1868
+ organization_id: string;
1869
+ role_slug: string | null;
1870
+ updated_at: string | null;
1871
+ user_id: string;
1872
+ workos_membership_id: string | null;
1873
+ };
1874
+ Insert: {
1875
+ config?: Json;
1876
+ created_at?: string | null;
1877
+ effective_permissions?: string[];
1878
+ id?: string;
1879
+ membership_status?: string | null;
1880
+ organization_id: string;
1881
+ role_slug?: string | null;
1882
+ updated_at?: string | null;
1883
+ user_id: string;
1884
+ workos_membership_id?: string | null;
1885
+ };
1886
+ Update: {
1887
+ config?: Json;
1888
+ created_at?: string | null;
1889
+ effective_permissions?: string[];
1890
+ id?: string;
1891
+ membership_status?: string | null;
1892
+ organization_id?: string;
1893
+ role_slug?: string | null;
1894
+ updated_at?: string | null;
1895
+ user_id?: string;
1896
+ workos_membership_id?: string | null;
1897
+ };
1898
+ Relationships: [
1899
+ {
1900
+ foreignKeyName: 'org_memberships_organization_id_fkey';
1901
+ columns: ['organization_id'];
1902
+ isOneToOne: false;
1903
+ referencedRelation: 'organizations';
1904
+ referencedColumns: ['id'];
1905
+ },
1906
+ {
1907
+ foreignKeyName: 'org_memberships_user_id_fkey';
1908
+ columns: ['user_id'];
1909
+ isOneToOne: false;
1910
+ referencedRelation: 'users';
1911
+ referencedColumns: ['id'];
1912
+ }
1913
+ ];
1914
+ };
1915
+ org_rol_assignments: {
1916
+ Row: {
1917
+ granted_at: string;
1918
+ granted_by: string | null;
1919
+ membership_id: string;
1920
+ role_id: string;
1921
+ };
1922
+ Insert: {
1923
+ granted_at?: string;
1924
+ granted_by?: string | null;
1925
+ membership_id: string;
1926
+ role_id: string;
1927
+ };
1928
+ Update: {
1929
+ granted_at?: string;
1930
+ granted_by?: string | null;
1931
+ membership_id?: string;
1932
+ role_id?: string;
1933
+ };
1934
+ Relationships: [
1935
+ {
1936
+ foreignKeyName: 'org_rol_assignments_granted_by_fkey';
1937
+ columns: ['granted_by'];
1938
+ isOneToOne: false;
1939
+ referencedRelation: 'users';
1940
+ referencedColumns: ['id'];
1941
+ },
1942
+ {
1943
+ foreignKeyName: 'org_rol_assignments_membership_id_fkey';
1944
+ columns: ['membership_id'];
1945
+ isOneToOne: false;
1946
+ referencedRelation: 'org_memberships';
1947
+ referencedColumns: ['id'];
1948
+ },
1949
+ {
1950
+ foreignKeyName: 'org_rol_assignments_role_id_fkey';
1951
+ columns: ['role_id'];
1952
+ isOneToOne: false;
1953
+ referencedRelation: 'org_rol_definitions';
1954
+ referencedColumns: ['id'];
1955
+ }
1956
+ ];
1957
+ };
1958
+ org_rol_definitions: {
1959
+ Row: {
1960
+ created_at: string;
1961
+ description: string | null;
1962
+ id: string;
1963
+ is_system: boolean;
1964
+ name: string;
1965
+ organization_id: string | null;
1966
+ slug: string;
1967
+ updated_at: string;
1968
+ };
1969
+ Insert: {
1970
+ created_at?: string;
1971
+ description?: string | null;
1972
+ id?: string;
1973
+ is_system?: boolean;
1974
+ name: string;
1975
+ organization_id?: string | null;
1976
+ slug: string;
1977
+ updated_at?: string;
1978
+ };
1979
+ Update: {
1980
+ created_at?: string;
1981
+ description?: string | null;
1982
+ id?: string;
1983
+ is_system?: boolean;
1984
+ name?: string;
1985
+ organization_id?: string | null;
1986
+ slug?: string;
1987
+ updated_at?: string;
1988
+ };
1989
+ Relationships: [
1990
+ {
1991
+ foreignKeyName: 'org_rol_definitions_organization_id_fkey';
1992
+ columns: ['organization_id'];
1993
+ isOneToOne: false;
1994
+ referencedRelation: 'organizations';
1995
+ referencedColumns: ['id'];
1996
+ }
1997
+ ];
1998
+ };
1999
+ org_rol_grants: {
2000
+ Row: {
2001
+ granted_at: string;
2002
+ permission_key: string;
2003
+ role_id: string;
2004
+ };
2005
+ Insert: {
2006
+ granted_at?: string;
2007
+ permission_key: string;
2008
+ role_id: string;
2009
+ };
2010
+ Update: {
2011
+ granted_at?: string;
2012
+ permission_key?: string;
2013
+ role_id?: string;
2014
+ };
2015
+ Relationships: [
2016
+ {
2017
+ foreignKeyName: 'org_rol_grants_permission_key_fkey';
2018
+ columns: ['permission_key'];
2019
+ isOneToOne: false;
2020
+ referencedRelation: 'org_rol_permissions';
2021
+ referencedColumns: ['key'];
2022
+ },
2023
+ {
2024
+ foreignKeyName: 'org_rol_grants_role_id_fkey';
2025
+ columns: ['role_id'];
2026
+ isOneToOne: false;
2027
+ referencedRelation: 'org_rol_definitions';
2028
+ referencedColumns: ['id'];
2029
+ }
2030
+ ];
2031
+ };
2032
+ org_rol_permissions: {
2033
+ Row: {
2034
+ created_at: string;
2035
+ description: string;
2036
+ is_org_grantable: boolean;
2037
+ key: string;
2038
+ updated_at: string;
2039
+ };
2040
+ Insert: {
2041
+ created_at?: string;
2042
+ description: string;
2043
+ is_org_grantable?: boolean;
2044
+ key: string;
2045
+ updated_at?: string;
2046
+ };
2047
+ Update: {
2048
+ created_at?: string;
2049
+ description?: string;
2050
+ is_org_grantable?: boolean;
2051
+ key?: string;
2052
+ updated_at?: string;
2053
+ };
2054
+ Relationships: [];
2055
+ };
2056
+ organizations: {
2057
+ Row: {
2058
+ config: Json;
2059
+ created_at: string;
2060
+ id: string;
2061
+ is_test: boolean;
2062
+ metadata: Json;
2063
+ name: string;
2064
+ status: string;
2065
+ updated_at: string;
2066
+ workos_org_id: string;
2067
+ };
2068
+ Insert: {
2069
+ config?: Json;
2070
+ created_at?: string;
2071
+ id?: string;
2072
+ is_test?: boolean;
2073
+ metadata?: Json;
2074
+ name: string;
2075
+ status?: string;
2076
+ updated_at?: string;
2077
+ workos_org_id: string;
2078
+ };
2079
+ Update: {
2080
+ config?: Json;
2081
+ created_at?: string;
2082
+ id?: string;
2083
+ is_test?: boolean;
2084
+ metadata?: Json;
2085
+ name?: string;
2086
+ status?: string;
2087
+ updated_at?: string;
2088
+ workos_org_id?: string;
2089
+ };
2090
+ Relationships: [];
2091
+ };
2092
+ prj_milestones: {
2093
+ Row: {
2094
+ checklist: Json | null;
2095
+ completed_at: string | null;
2096
+ created_at: string;
2097
+ description: string | null;
2098
+ due_date: string | null;
2099
+ id: string;
2100
+ metadata: Json | null;
2101
+ name: string;
2102
+ organization_id: string;
2103
+ project_id: string;
2104
+ sequence: number;
2105
+ status: string;
2106
+ updated_at: string;
2107
+ };
2108
+ Insert: {
2109
+ checklist?: Json | null;
2110
+ completed_at?: string | null;
2111
+ created_at?: string;
2112
+ description?: string | null;
2113
+ due_date?: string | null;
2114
+ id?: string;
2115
+ metadata?: Json | null;
2116
+ name: string;
2117
+ organization_id: string;
2118
+ project_id: string;
2119
+ sequence?: number;
2120
+ status?: string;
2121
+ updated_at?: string;
2122
+ };
2123
+ Update: {
2124
+ checklist?: Json | null;
2125
+ completed_at?: string | null;
2126
+ created_at?: string;
2127
+ description?: string | null;
2128
+ due_date?: string | null;
2129
+ id?: string;
2130
+ metadata?: Json | null;
2131
+ name?: string;
2132
+ organization_id?: string;
2133
+ project_id?: string;
2134
+ sequence?: number;
2135
+ status?: string;
2136
+ updated_at?: string;
2137
+ };
2138
+ Relationships: [
2139
+ {
2140
+ foreignKeyName: 'fk_milestones_project';
2141
+ columns: ['project_id'];
2142
+ isOneToOne: false;
2143
+ referencedRelation: 'prj_projects';
2144
+ referencedColumns: ['id'];
2145
+ },
2146
+ {
2147
+ foreignKeyName: 'prj_milestones_organization_id_fkey';
2148
+ columns: ['organization_id'];
2149
+ isOneToOne: false;
2150
+ referencedRelation: 'organizations';
2151
+ referencedColumns: ['id'];
2152
+ },
2153
+ {
2154
+ foreignKeyName: 'prj_milestones_project_id_fkey';
2155
+ columns: ['project_id'];
2156
+ isOneToOne: false;
2157
+ referencedRelation: 'prj_projects';
2158
+ referencedColumns: ['id'];
2159
+ }
2160
+ ];
2161
+ };
2162
+ prj_notes: {
2163
+ Row: {
2164
+ content: string;
2165
+ created_at: string;
2166
+ created_by: string | null;
2167
+ id: string;
2168
+ metadata: Json | null;
2169
+ milestone_id: string | null;
2170
+ occurred_at: string;
2171
+ organization_id: string;
2172
+ project_id: string;
2173
+ summary: string | null;
2174
+ task_id: string | null;
2175
+ type: string;
2176
+ };
2177
+ Insert: {
2178
+ content: string;
2179
+ created_at?: string;
2180
+ created_by?: string | null;
2181
+ id?: string;
2182
+ metadata?: Json | null;
2183
+ milestone_id?: string | null;
2184
+ occurred_at?: string;
2185
+ organization_id: string;
2186
+ project_id: string;
2187
+ summary?: string | null;
2188
+ task_id?: string | null;
2189
+ type?: string;
2190
+ };
2191
+ Update: {
2192
+ content?: string;
2193
+ created_at?: string;
2194
+ created_by?: string | null;
2195
+ id?: string;
2196
+ metadata?: Json | null;
2197
+ milestone_id?: string | null;
2198
+ occurred_at?: string;
2199
+ organization_id?: string;
2200
+ project_id?: string;
2201
+ summary?: string | null;
2202
+ task_id?: string | null;
2203
+ type?: string;
2204
+ };
2205
+ Relationships: [
2206
+ {
2207
+ foreignKeyName: 'fk_notes_created_by';
2208
+ columns: ['created_by'];
2209
+ isOneToOne: false;
2210
+ referencedRelation: 'users';
2211
+ referencedColumns: ['id'];
2212
+ },
2213
+ {
2214
+ foreignKeyName: 'fk_notes_milestone';
2215
+ columns: ['milestone_id'];
2216
+ isOneToOne: false;
2217
+ referencedRelation: 'prj_milestones';
2218
+ referencedColumns: ['id'];
2219
+ },
2220
+ {
2221
+ foreignKeyName: 'fk_notes_project';
2222
+ columns: ['project_id'];
2223
+ isOneToOne: false;
2224
+ referencedRelation: 'prj_projects';
2225
+ referencedColumns: ['id'];
2226
+ },
2227
+ {
2228
+ foreignKeyName: 'fk_notes_task';
2229
+ columns: ['task_id'];
2230
+ isOneToOne: false;
2231
+ referencedRelation: 'prj_tasks';
2232
+ referencedColumns: ['id'];
2233
+ },
2234
+ {
2235
+ foreignKeyName: 'prj_notes_created_by_fkey';
2236
+ columns: ['created_by'];
2237
+ isOneToOne: false;
2238
+ referencedRelation: 'users';
2239
+ referencedColumns: ['id'];
2240
+ },
2241
+ {
2242
+ foreignKeyName: 'prj_notes_milestone_id_fkey';
2243
+ columns: ['milestone_id'];
2244
+ isOneToOne: false;
2245
+ referencedRelation: 'prj_milestones';
2246
+ referencedColumns: ['id'];
2247
+ },
2248
+ {
2249
+ foreignKeyName: 'prj_notes_organization_id_fkey';
2250
+ columns: ['organization_id'];
2251
+ isOneToOne: false;
2252
+ referencedRelation: 'organizations';
2253
+ referencedColumns: ['id'];
2254
+ },
2255
+ {
2256
+ foreignKeyName: 'prj_notes_project_id_fkey';
2257
+ columns: ['project_id'];
2258
+ isOneToOne: false;
2259
+ referencedRelation: 'prj_projects';
2260
+ referencedColumns: ['id'];
2261
+ },
2262
+ {
2263
+ foreignKeyName: 'prj_notes_task_id_fkey';
2264
+ columns: ['task_id'];
2265
+ isOneToOne: false;
2266
+ referencedRelation: 'prj_tasks';
2267
+ referencedColumns: ['id'];
2268
+ }
2269
+ ];
2270
+ };
2271
+ prj_projects: {
2272
+ Row: {
2273
+ actual_end_date: string | null;
2274
+ client_company_id: string | null;
2275
+ contract_value: number | null;
2276
+ created_at: string;
2277
+ deal_id: string | null;
2278
+ description: string | null;
2279
+ id: string;
2280
+ kind: string;
2281
+ metadata: Json | null;
2282
+ name: string;
2283
+ organization_id: string;
2284
+ start_date: string | null;
2285
+ status: string;
2286
+ target_end_date: string | null;
2287
+ updated_at: string;
2288
+ };
2289
+ Insert: {
2290
+ actual_end_date?: string | null;
2291
+ client_company_id?: string | null;
2292
+ contract_value?: number | null;
2293
+ created_at?: string;
2294
+ deal_id?: string | null;
2295
+ description?: string | null;
2296
+ id?: string;
2297
+ kind?: string;
2298
+ metadata?: Json | null;
2299
+ name: string;
2300
+ organization_id: string;
2301
+ start_date?: string | null;
2302
+ status?: string;
2303
+ target_end_date?: string | null;
2304
+ updated_at?: string;
2305
+ };
2306
+ Update: {
2307
+ actual_end_date?: string | null;
2308
+ client_company_id?: string | null;
2309
+ contract_value?: number | null;
2310
+ created_at?: string;
2311
+ deal_id?: string | null;
2312
+ description?: string | null;
2313
+ id?: string;
2314
+ kind?: string;
2315
+ metadata?: Json | null;
2316
+ name?: string;
2317
+ organization_id?: string;
2318
+ start_date?: string | null;
2319
+ status?: string;
2320
+ target_end_date?: string | null;
2321
+ updated_at?: string;
2322
+ };
2323
+ Relationships: [
2324
+ {
2325
+ foreignKeyName: 'fk_projects_company';
2326
+ columns: ['client_company_id'];
2327
+ isOneToOne: false;
2328
+ referencedRelation: 'acq_companies';
2329
+ referencedColumns: ['id'];
2330
+ },
2331
+ {
2332
+ foreignKeyName: 'fk_projects_deal';
2333
+ columns: ['deal_id'];
2334
+ isOneToOne: false;
2335
+ referencedRelation: 'acq_deals';
2336
+ referencedColumns: ['id'];
2337
+ },
2338
+ {
2339
+ foreignKeyName: 'prj_projects_client_company_id_fkey';
2340
+ columns: ['client_company_id'];
2341
+ isOneToOne: false;
2342
+ referencedRelation: 'acq_companies';
2343
+ referencedColumns: ['id'];
2344
+ },
2345
+ {
2346
+ foreignKeyName: 'prj_projects_deal_id_fkey';
2347
+ columns: ['deal_id'];
2348
+ isOneToOne: false;
2349
+ referencedRelation: 'acq_deals';
2350
+ referencedColumns: ['id'];
2351
+ },
2352
+ {
2353
+ foreignKeyName: 'prj_projects_organization_id_fkey';
2354
+ columns: ['organization_id'];
2355
+ isOneToOne: false;
2356
+ referencedRelation: 'organizations';
2357
+ referencedColumns: ['id'];
2358
+ }
2359
+ ];
2360
+ };
2361
+ prj_tasks: {
2362
+ Row: {
2363
+ checklist: Json;
2364
+ completed_at: string | null;
2365
+ created_at: string;
2366
+ description: string | null;
2367
+ due_date: string | null;
2368
+ file_url: string | null;
2369
+ id: string;
2370
+ metadata: Json | null;
2371
+ milestone_id: string | null;
2372
+ name: string;
2373
+ organization_id: string;
2374
+ parent_task_id: string | null;
2375
+ project_id: string;
2376
+ resume_context: Json | null;
2377
+ status: string;
2378
+ type: string;
2379
+ updated_at: string;
2380
+ };
2381
+ Insert: {
2382
+ checklist?: Json;
2383
+ completed_at?: string | null;
2384
+ created_at?: string;
2385
+ description?: string | null;
2386
+ due_date?: string | null;
2387
+ file_url?: string | null;
2388
+ id?: string;
2389
+ metadata?: Json | null;
2390
+ milestone_id?: string | null;
2391
+ name: string;
2392
+ organization_id: string;
2393
+ parent_task_id?: string | null;
2394
+ project_id: string;
2395
+ resume_context?: Json | null;
2396
+ status?: string;
2397
+ type?: string;
2398
+ updated_at?: string;
2399
+ };
2400
+ Update: {
2401
+ checklist?: Json;
2402
+ completed_at?: string | null;
2403
+ created_at?: string;
2404
+ description?: string | null;
2405
+ due_date?: string | null;
2406
+ file_url?: string | null;
2407
+ id?: string;
2408
+ metadata?: Json | null;
2409
+ milestone_id?: string | null;
2410
+ name?: string;
2411
+ organization_id?: string;
2412
+ parent_task_id?: string | null;
2413
+ project_id?: string;
2414
+ resume_context?: Json | null;
2415
+ status?: string;
2416
+ type?: string;
2417
+ updated_at?: string;
2418
+ };
2419
+ Relationships: [
2420
+ {
2421
+ foreignKeyName: 'fk_tasks_milestone';
2422
+ columns: ['milestone_id'];
2423
+ isOneToOne: false;
2424
+ referencedRelation: 'prj_milestones';
2425
+ referencedColumns: ['id'];
2426
+ },
2427
+ {
2428
+ foreignKeyName: 'fk_tasks_parent';
2429
+ columns: ['parent_task_id'];
2430
+ isOneToOne: false;
2431
+ referencedRelation: 'prj_tasks';
2432
+ referencedColumns: ['id'];
2433
+ },
2434
+ {
2435
+ foreignKeyName: 'fk_tasks_project';
2436
+ columns: ['project_id'];
2437
+ isOneToOne: false;
2438
+ referencedRelation: 'prj_projects';
2439
+ referencedColumns: ['id'];
2440
+ },
2441
+ {
2442
+ foreignKeyName: 'prj_tasks_milestone_id_fkey';
2443
+ columns: ['milestone_id'];
2444
+ isOneToOne: false;
2445
+ referencedRelation: 'prj_milestones';
2446
+ referencedColumns: ['id'];
2447
+ },
2448
+ {
2449
+ foreignKeyName: 'prj_tasks_organization_id_fkey';
2450
+ columns: ['organization_id'];
2451
+ isOneToOne: false;
2452
+ referencedRelation: 'organizations';
2453
+ referencedColumns: ['id'];
2454
+ },
2455
+ {
2456
+ foreignKeyName: 'prj_tasks_parent_task_id_fkey';
2457
+ columns: ['parent_task_id'];
2458
+ isOneToOne: false;
2459
+ referencedRelation: 'prj_tasks';
2460
+ referencedColumns: ['id'];
2461
+ },
2462
+ {
2463
+ foreignKeyName: 'prj_tasks_project_id_fkey';
2464
+ columns: ['project_id'];
2465
+ isOneToOne: false;
2466
+ referencedRelation: 'prj_projects';
2467
+ referencedColumns: ['id'];
2468
+ }
2469
+ ];
2470
+ };
2471
+ reported_requests: {
2472
+ Row: {
2473
+ affected_page: string | null;
2474
+ category: string;
2475
+ context: Json | null;
2476
+ created_at: string;
2477
+ description: string;
2478
+ evidence: Json | null;
2479
+ id: string;
2480
+ organization_id: string;
2481
+ project_id: string | null;
2482
+ reported_at: string;
2483
+ reporter_id: string | null;
2484
+ resolved_at: string | null;
2485
+ severity: string;
2486
+ source: string;
2487
+ status: string;
2488
+ task_id: string | null;
2489
+ title: string;
2490
+ type: string;
2491
+ updated_at: string;
2492
+ };
2493
+ Insert: {
2494
+ affected_page?: string | null;
2495
+ category: string;
2496
+ context?: Json | null;
2497
+ created_at?: string;
2498
+ description: string;
2499
+ evidence?: Json | null;
2500
+ id?: string;
2501
+ organization_id: string;
2502
+ project_id?: string | null;
2503
+ reported_at?: string;
2504
+ reporter_id?: string | null;
2505
+ resolved_at?: string | null;
2506
+ severity: string;
2507
+ source: string;
2508
+ status?: string;
2509
+ task_id?: string | null;
2510
+ title: string;
2511
+ type: string;
2512
+ updated_at?: string;
2513
+ };
2514
+ Update: {
2515
+ affected_page?: string | null;
2516
+ category?: string;
2517
+ context?: Json | null;
2518
+ created_at?: string;
2519
+ description?: string;
2520
+ evidence?: Json | null;
2521
+ id?: string;
2522
+ organization_id?: string;
2523
+ project_id?: string | null;
2524
+ reported_at?: string;
2525
+ reporter_id?: string | null;
2526
+ resolved_at?: string | null;
2527
+ severity?: string;
2528
+ source?: string;
2529
+ status?: string;
2530
+ task_id?: string | null;
2531
+ title?: string;
2532
+ type?: string;
2533
+ updated_at?: string;
2534
+ };
2535
+ Relationships: [
2536
+ {
2537
+ foreignKeyName: 'reported_requests_organization_id_fkey';
2538
+ columns: ['organization_id'];
2539
+ isOneToOne: false;
2540
+ referencedRelation: 'organizations';
2541
+ referencedColumns: ['id'];
2542
+ },
2543
+ {
2544
+ foreignKeyName: 'reported_requests_project_id_fkey';
2545
+ columns: ['project_id'];
2546
+ isOneToOne: false;
2547
+ referencedRelation: 'prj_projects';
2548
+ referencedColumns: ['id'];
2549
+ },
2550
+ {
2551
+ foreignKeyName: 'reported_requests_task_id_fkey';
2552
+ columns: ['task_id'];
2553
+ isOneToOne: false;
2554
+ referencedRelation: 'prj_tasks';
2555
+ referencedColumns: ['id'];
2556
+ }
2557
+ ];
2558
+ };
2559
+ session_messages: {
2560
+ Row: {
2561
+ created_at: string | null;
2562
+ id: string;
2563
+ message: string;
2564
+ message_index: number | null;
2565
+ message_type: string | null;
2566
+ metadata: Json | null;
2567
+ role: string;
2568
+ session_id: string;
2569
+ session_turn_number: number;
2570
+ };
2571
+ Insert: {
2572
+ created_at?: string | null;
2573
+ id: string;
2574
+ message: string;
2575
+ message_index?: number | null;
2576
+ message_type?: string | null;
2577
+ metadata?: Json | null;
2578
+ role: string;
2579
+ session_id: string;
2580
+ session_turn_number: number;
2581
+ };
2582
+ Update: {
2583
+ created_at?: string | null;
2584
+ id?: string;
2585
+ message?: string;
2586
+ message_index?: number | null;
2587
+ message_type?: string | null;
2588
+ metadata?: Json | null;
2589
+ role?: string;
2590
+ session_id?: string;
2591
+ session_turn_number?: number;
2592
+ };
2593
+ Relationships: [
2594
+ {
2595
+ foreignKeyName: 'session_messages_session_id_fkey';
2596
+ columns: ['session_id'];
2597
+ isOneToOne: false;
2598
+ referencedRelation: 'sessions';
2599
+ referencedColumns: ['session_id'];
2600
+ }
2601
+ ];
2602
+ };
2603
+ sessions: {
2604
+ Row: {
2605
+ context_window_size: number;
2606
+ created_at: string | null;
2607
+ cumulative_input_tokens: number;
2608
+ cumulative_output_tokens: number;
2609
+ deleted_at: string | null;
2610
+ ended_at: string | null;
2611
+ memory_snapshot: Json;
2612
+ metadata: Json | null;
2613
+ organization_id: string;
2614
+ resource_id: string;
2615
+ session_id: string;
2616
+ session_total_turns: number | null;
2617
+ updated_at: string | null;
2618
+ user_id: string | null;
2619
+ };
2620
+ Insert: {
2621
+ context_window_size?: number;
2622
+ created_at?: string | null;
2623
+ cumulative_input_tokens?: number;
2624
+ cumulative_output_tokens?: number;
2625
+ deleted_at?: string | null;
2626
+ ended_at?: string | null;
2627
+ memory_snapshot: Json;
2628
+ metadata?: Json | null;
2629
+ organization_id: string;
2630
+ resource_id: string;
2631
+ session_id?: string;
2632
+ session_total_turns?: number | null;
2633
+ updated_at?: string | null;
2634
+ user_id?: string | null;
2635
+ };
2636
+ Update: {
2637
+ context_window_size?: number;
2638
+ created_at?: string | null;
2639
+ cumulative_input_tokens?: number;
2640
+ cumulative_output_tokens?: number;
2641
+ deleted_at?: string | null;
2642
+ ended_at?: string | null;
2643
+ memory_snapshot?: Json;
2644
+ metadata?: Json | null;
2645
+ organization_id?: string;
2646
+ resource_id?: string;
2647
+ session_id?: string;
2648
+ session_total_turns?: number | null;
2649
+ updated_at?: string | null;
2650
+ user_id?: string | null;
2651
+ };
2652
+ Relationships: [
2653
+ {
2654
+ foreignKeyName: 'fk_organization';
2655
+ columns: ['organization_id'];
2656
+ isOneToOne: false;
2657
+ referencedRelation: 'organizations';
2658
+ referencedColumns: ['id'];
2659
+ },
2660
+ {
2661
+ foreignKeyName: 'fk_user';
2662
+ columns: ['user_id'];
2663
+ isOneToOne: false;
2664
+ referencedRelation: 'users';
2665
+ referencedColumns: ['id'];
2666
+ }
2667
+ ];
2668
+ };
2669
+ task_schedules: {
2670
+ Row: {
2671
+ created_at: string;
2672
+ current_step: number;
2673
+ description: string | null;
2674
+ id: string;
2675
+ idempotency_key: string | null;
2676
+ last_execution_id: string | null;
2677
+ last_run_at: string | null;
2678
+ max_retries: number;
2679
+ metadata: Json | null;
2680
+ name: string;
2681
+ next_run_at: string | null;
2682
+ organization_id: string;
2683
+ origin_execution_id: string | null;
2684
+ origin_resource_id: string | null;
2685
+ origin_resource_type: string | null;
2686
+ retry_count: number;
2687
+ schedule_config: Json;
2688
+ status: string;
2689
+ target_resource_id: string;
2690
+ target_resource_type: string;
2691
+ updated_at: string;
2692
+ };
2693
+ Insert: {
2694
+ created_at?: string;
2695
+ current_step?: number;
2696
+ description?: string | null;
2697
+ id?: string;
2698
+ idempotency_key?: string | null;
2699
+ last_execution_id?: string | null;
2700
+ last_run_at?: string | null;
2701
+ max_retries?: number;
2702
+ metadata?: Json | null;
2703
+ name: string;
2704
+ next_run_at?: string | null;
2705
+ organization_id: string;
2706
+ origin_execution_id?: string | null;
2707
+ origin_resource_id?: string | null;
2708
+ origin_resource_type?: string | null;
2709
+ retry_count?: number;
2710
+ schedule_config: Json;
2711
+ status?: string;
2712
+ target_resource_id: string;
2713
+ target_resource_type: string;
2714
+ updated_at?: string;
2715
+ };
2716
+ Update: {
2717
+ created_at?: string;
2718
+ current_step?: number;
2719
+ description?: string | null;
2720
+ id?: string;
2721
+ idempotency_key?: string | null;
2722
+ last_execution_id?: string | null;
2723
+ last_run_at?: string | null;
2724
+ max_retries?: number;
2725
+ metadata?: Json | null;
2726
+ name?: string;
2727
+ next_run_at?: string | null;
2728
+ organization_id?: string;
2729
+ origin_execution_id?: string | null;
2730
+ origin_resource_id?: string | null;
2731
+ origin_resource_type?: string | null;
2732
+ retry_count?: number;
2733
+ schedule_config?: Json;
2734
+ status?: string;
2735
+ target_resource_id?: string;
2736
+ target_resource_type?: string;
2737
+ updated_at?: string;
2738
+ };
2739
+ Relationships: [
2740
+ {
2741
+ foreignKeyName: 'task_schedules_organization_id_fkey';
2742
+ columns: ['organization_id'];
2743
+ isOneToOne: false;
2744
+ referencedRelation: 'organizations';
2745
+ referencedColumns: ['id'];
2746
+ }
2747
+ ];
2748
+ };
2749
+ users: {
2750
+ Row: {
2751
+ config: Json;
2752
+ created_at: string;
2753
+ display_name: string | null;
2754
+ email: string;
2755
+ first_name: string | null;
2756
+ id: string;
2757
+ is_active: boolean;
2758
+ is_platform_admin: boolean | null;
2759
+ last_login_at: string | null;
2760
+ last_name: string | null;
2761
+ last_visited_org: string | null;
2762
+ profile_picture_url: string | null;
2763
+ updated_at: string;
2764
+ workos_user_id: string | null;
2765
+ };
2766
+ Insert: {
2767
+ config?: Json;
2768
+ created_at?: string;
2769
+ display_name?: string | null;
2770
+ email: string;
2771
+ first_name?: string | null;
2772
+ id?: string;
2773
+ is_active?: boolean;
2774
+ is_platform_admin?: boolean | null;
2775
+ last_login_at?: string | null;
2776
+ last_name?: string | null;
2777
+ last_visited_org?: string | null;
2778
+ profile_picture_url?: string | null;
2779
+ updated_at?: string;
2780
+ workos_user_id?: string | null;
2781
+ };
2782
+ Update: {
2783
+ config?: Json;
2784
+ created_at?: string;
2785
+ display_name?: string | null;
2786
+ email?: string;
2787
+ first_name?: string | null;
2788
+ id?: string;
2789
+ is_active?: boolean;
2790
+ is_platform_admin?: boolean | null;
2791
+ last_login_at?: string | null;
2792
+ last_name?: string | null;
2793
+ last_visited_org?: string | null;
2794
+ profile_picture_url?: string | null;
2795
+ updated_at?: string;
2796
+ workos_user_id?: string | null;
2797
+ };
2798
+ Relationships: [
2799
+ {
2800
+ foreignKeyName: 'user_profiles_last_visited_org_fkey';
2801
+ columns: ['last_visited_org'];
2802
+ isOneToOne: false;
2803
+ referencedRelation: 'organizations';
2804
+ referencedColumns: ['id'];
2805
+ }
2806
+ ];
2807
+ };
2808
+ webhook_endpoints: {
2809
+ Row: {
2810
+ created_at: string;
2811
+ description: string | null;
2812
+ id: string;
2813
+ key_hash: string;
2814
+ key_prefix: string | null;
2815
+ last_triggered_at: string | null;
2816
+ name: string;
2817
+ organization_id: string;
2818
+ request_count: number;
2819
+ resource_id: string | null;
2820
+ status: string;
2821
+ updated_at: string;
2822
+ };
2823
+ Insert: {
2824
+ created_at?: string;
2825
+ description?: string | null;
2826
+ id?: string;
2827
+ key_hash: string;
2828
+ key_prefix?: string | null;
2829
+ last_triggered_at?: string | null;
2830
+ name: string;
2831
+ organization_id: string;
2832
+ request_count?: number;
2833
+ resource_id?: string | null;
2834
+ status?: string;
2835
+ updated_at?: string;
2836
+ };
2837
+ Update: {
2838
+ created_at?: string;
2839
+ description?: string | null;
2840
+ id?: string;
2841
+ key_hash?: string;
2842
+ key_prefix?: string | null;
2843
+ last_triggered_at?: string | null;
2844
+ name?: string;
2845
+ organization_id?: string;
2846
+ request_count?: number;
2847
+ resource_id?: string | null;
2848
+ status?: string;
2849
+ updated_at?: string;
2850
+ };
2851
+ Relationships: [
2852
+ {
2853
+ foreignKeyName: 'webhook_endpoints_organization_id_fkey';
2854
+ columns: ['organization_id'];
2855
+ isOneToOne: false;
2856
+ referencedRelation: 'organizations';
2857
+ referencedColumns: ['id'];
2858
+ }
2859
+ ];
2860
+ };
2861
+ };
2862
+ Views: {
2863
+ [_ in never]: never;
2864
+ };
2865
+ Functions: {
2866
+ acq_default_checklist: {
2867
+ Args: {
2868
+ p_platform: string;
2869
+ };
2870
+ Returns: Json;
2871
+ };
2872
+ append_deal_activity: {
2873
+ Args: {
2874
+ p_activity: Json;
2875
+ p_deal_id: string;
2876
+ p_organization_id: string;
2877
+ };
2878
+ Returns: undefined;
2879
+ };
2880
+ auth_jwt_claims: {
2881
+ Args: never;
2882
+ Returns: Json;
2883
+ };
2884
+ auth_uid_safe: {
2885
+ Args: never;
2886
+ Returns: string;
2887
+ };
2888
+ can_assign_role_in_org: {
2889
+ Args: {
2890
+ p_role_id: string;
2891
+ p_target_membership_id: string;
2892
+ };
2893
+ Returns: boolean;
2894
+ };
2895
+ current_user_is_platform_admin: {
2896
+ Args: never;
2897
+ Returns: boolean;
2898
+ };
2899
+ current_user_supabase_id: {
2900
+ Args: never;
2901
+ Returns: string;
2902
+ };
2903
+ detect_stalled_executions: {
2904
+ Args: never;
2905
+ Returns: undefined;
2906
+ };
2907
+ execute_session_turn: {
2908
+ Args: {
2909
+ p_session_id: string;
2910
+ };
2911
+ Returns: {
2912
+ created_at: string;
2913
+ ended_at: string;
2914
+ memory_snapshot: Json;
2915
+ metadata: Json;
2916
+ organization_id: string;
2917
+ resource_id: string;
2918
+ session_id: string;
2919
+ session_total_turns: number;
2920
+ updated_at: string;
2921
+ user_id: string;
2922
+ }[];
2923
+ };
2924
+ get_platform_credential_kek: {
2925
+ Args: never;
2926
+ Returns: string;
2927
+ };
2928
+ get_storage_org_id: {
2929
+ Args: {
2930
+ file_path: string;
2931
+ };
2932
+ Returns: string;
2933
+ };
2934
+ get_workos_user_id: {
2935
+ Args: never;
2936
+ Returns: string;
2937
+ };
2938
+ has_org_permission: {
2939
+ Args: {
2940
+ org_id: string;
2941
+ perm_key: string;
2942
+ };
2943
+ Returns: boolean;
2944
+ };
2945
+ is_org_member: {
2946
+ Args: {
2947
+ org_id: string;
2948
+ };
2949
+ Returns: boolean;
2950
+ };
2951
+ link_workos_membership_on_accept: {
2952
+ Args: {
2953
+ p_email: string;
2954
+ p_organization_id: string;
2955
+ p_workos_membership_id: string;
2956
+ };
2957
+ Returns: boolean;
2958
+ };
2959
+ pre_provision_invited_user: {
2960
+ Args: {
2961
+ p_email: string;
2962
+ p_organization_id: string;
2963
+ p_role_slug?: string;
2964
+ };
2965
+ Returns: Json;
2966
+ };
2967
+ process_due_schedules: {
2968
+ Args: never;
2969
+ Returns: Json;
2970
+ };
2971
+ recompute_all_memberships: {
2972
+ Args: never;
2973
+ Returns: undefined;
2974
+ };
2975
+ sync_all_memberships_with_role: {
2976
+ Args: {
2977
+ p_role_id: string;
2978
+ };
2979
+ Returns: undefined;
2980
+ };
2981
+ sync_one_membership: {
2982
+ Args: {
2983
+ p_membership_id: string;
2984
+ };
2985
+ Returns: undefined;
2986
+ };
2987
+ upsert_user_profile: {
2988
+ Args: never;
2989
+ Returns: {
2990
+ profile_display_name: string;
2991
+ profile_email: string;
2992
+ profile_id: string;
2993
+ profile_workos_user_id: string;
2994
+ }[];
2995
+ };
2996
+ };
2997
+ Enums: {
2998
+ [_ in never]: never;
2999
+ };
3000
+ CompositeTypes: {
3001
+ [_ in never]: never;
3002
+ };
3003
+ };
109
3004
  };
110
- /**
111
- * Theme token overrides. Each key maps 1:1 to a CSS variable.
112
- * All optional — defaults come from Elevasis design system.
113
- */
114
- interface ElevasisTokenOverrides {
115
- primary?: string;
116
- /** Text color that contrasts with `primary`. Defaults to '#fff'. */
117
- primaryContrast?: string;
118
- background?: string;
119
- surface?: string;
120
- surfaceHover?: string;
121
- /** Opaque surface for floating overlays (modals, menus, popovers) — guarantees readable contrast against decorative backgrounds. */
122
- elevatedSurface?: string;
123
- text?: string;
124
- textDimmed?: string;
125
- textSubtle?: string;
126
- border?: string;
127
- error?: string;
128
- warning?: string;
129
- success?: string;
130
- glassBackground?: string;
131
- glassBlur?: string;
132
- shadow?: string;
133
- cardShadow?: string;
134
- durationFast?: string;
135
- durationNormal?: string;
136
- easing?: string;
137
- /** Foreground text color for destructive/error buttons. Defaults to '#fff'. */
138
- destructiveFg?: string;
139
- /** Heading font family — used for titles, section headers. */
140
- fontHeading?: string;
141
- /** Body font family — used for general text. */
142
- fontSans?: string;
143
- }
144
- /**
145
- * Core theme config — Mantine-free.
146
- * Used by ElevasisCoreProvider and as the base for ElevasisThemeConfig.
147
- */
148
- interface ElevasisCoreThemeConfig {
149
- /** Color scheme: 'light', 'dark', or 'auto'. Defaults to 'dark'. */
150
- colorScheme?: 'light' | 'dark' | 'auto';
151
- /** Named preset — bundles light/dark token defaults. Defaults to 'default'. Accepts built-in PresetName or custom preset key. */
152
- preset?: PresetName | (string & {});
153
- /**
154
- * Semantic token overrides fed into CSS variables.
155
- * Flat values apply to both schemes. `light`/`dark` nested values win over flat.
156
- */
157
- tokens?: WithSchemes<ElevasisTokenOverrides>;
158
- /** Custom presets map — when provided, used instead of built-in presets. Typically `{ ...presets, ...customPresets }`. */
159
- presets?: Record<string, ThemePreset>;
160
- }
161
- /**
162
- * Auth configuration union.
163
- * 'authkit' (WorkOS AuthKit) is the supported mode.
164
- * 'apiKey' is defined for forward type compatibility but will throw at runtime.
165
- */
166
- type AuthConfig = AuthKitConfig | ApiKeyConfig;
167
- interface AuthKitConfig {
168
- mode: 'authkit';
169
- clientId: string;
170
- /** AuthKit API hostname. Defaults to 'api.workos.com'. */
171
- apiHostname?: string;
172
- /** Redirect URI after auth. */
173
- redirectUri?: string;
174
- /** Keep refresh tokens in localStorage. Defaults to false. */
175
- devMode?: boolean;
176
- }
177
- /** Deferred -- will throw at runtime. */
178
- interface ApiKeyConfig {
179
- mode: 'apiKey';
3005
+
3006
+ /** Raw database row type for acq_deals table */
3007
+ type AcqDealRow = Database['public']['Tables']['acq_deals']['Row'];
3008
+
3009
+ interface ActionDef {
180
3010
  key: string;
181
- }
182
- interface ElevasisCoreProviderProps {
183
- /** Auth configuration. Supports 'authkit' mode. */
184
- auth: AuthConfig;
185
- /**
186
- * Elevasis core theme configuration (Mantine-free).
187
- * Set `colorScheme` ('light', 'dark', 'auto') and override `tokens` (design tokens).
188
- * Defaults: colorScheme='dark', Elevasis design system tokens.
189
- */
190
- theme?: ElevasisCoreThemeConfig;
191
- /**
192
- * @deprecated Organization ID is now resolved automatically via OrganizationProvider.
193
- * This prop is accepted for backwards compatibility during migration but is no longer
194
- * used when the full provider stack is active (apiUrl provided).
195
- */
196
- organizationId?: string | null;
197
- /** Custom QueryClient. If omitted, a default is created internally. */
198
- queryClient?: QueryClient;
199
- /**
200
- * API base URL (e.g., 'https://api.elevasis.com' or 'http://localhost:5170').
201
- * When provided, ElevasisCoreProvider composes the full provider stack:
202
- * ApiClientProvider + ElevasisServiceProvider + ProfileProvider +
203
- * OrganizationProvider + NotificationProvider + InitializationProvider.
204
- * When omitted, no service context is provided (theme-only mode).
205
- */
206
- apiUrl?: string;
207
- /**
208
- * Error callback for API responses with status >= 500.
209
- * Only used when apiUrl is provided.
210
- */
211
- onError?: (endpoint: string, error: Error, details?: ApiErrorDetails) => void;
212
- /**
213
- * @deprecated Organization readiness is now managed internally by OrganizationProvider.
214
- * Accepted for backwards compatibility but ignored when apiUrl is provided.
215
- */
216
- isOrganizationReady?: boolean;
217
- /**
218
- * Notification adapter for displaying success/error/info messages.
219
- * When provided, wraps the subtree in a NotificationProvider with this adapter.
220
- * When omitted, the console fallback adapter is used automatically.
221
- *
222
- * ElevasisUIProvider (Mantine variant) passes a Mantine-backed adapter here automatically.
223
- * Headless/SDK consumers can pass a custom adapter or omit for console output.
224
- */
225
- notifications?: NotificationAdapter;
226
- /**
227
- * Whether to inject CSS variables, `data-elevasis-scheme` attribute, and font links.
228
- * Set to `false` when the consumer has its own complete design system and only
229
- * needs auth + API from this provider. Defaults to `true`.
230
- */
231
- injectStyles?: boolean;
232
- children: ReactNode;
233
- }
234
- /**
235
- * Service context value exposed by ElevasisServiceProvider.
236
- * Provides a ready-to-use apiRequest function and organization state.
237
- *
238
- * For standalone usage (testing, embedding), use ElevasisServiceProvider directly.
239
- * For standard SDK usage, ElevasisUIProvider composes this automatically when apiUrl is provided.
240
- */
241
- interface ElevasisServiceContextValue {
242
- apiRequest: <T>(endpoint: string, options?: RequestInit) => Promise<T>;
243
- organizationId: string | null;
244
- isReady: boolean;
245
- }
246
- interface ElevasisServiceProviderProps {
247
- apiRequest: <T>(endpoint: string, options?: RequestInit) => Promise<T>;
248
- organizationId: string | null;
249
- isReady: boolean;
250
- children: ReactNode;
3011
+ label: string;
3012
+ isAvailableFor: (deal: AcqDealRow) => boolean;
3013
+ workflowId: string;
3014
+ payloadSchema?: z.ZodTypeAny;
251
3015
  }
252
3016
 
253
- /**
254
- * Headless root provider for Elevasis-powered applications.
255
- *
256
- * Pure auth + API provider with no style side-effects. Does not inject CSS
257
- * variables, set `data-elevasis-scheme`, or load fonts. Consumers that need
258
- * Elevasis theming should use `ElevasisUIProvider` (Mantine) instead.
259
- *
260
- * When `apiUrl` is provided, composes the full provider stack:
261
- * QueryClientProvider -> AuthProvider -> ApiClientProvider ->
262
- * ProfileProvider -> OrganizationProvider -> ElevasisServiceProvider ->
263
- * NotificationProvider -> InitializationProvider
264
- *
265
- * @example Headless SDK consumer
266
- * ```tsx
267
- * <ElevasisCoreProvider
268
- * auth={{ mode: 'authkit', clientId: '...', redirectUri: '/' }}
269
- * apiUrl="https://api.elevasis.com"
270
- * >
271
- * <Dashboard />
272
- * </ElevasisCoreProvider>
273
- * ```
274
- */
275
- declare function ElevasisCoreProvider({ auth, queryClient, apiUrl, onError, notifications, children }: ElevasisCoreProviderProps): react_jsx_runtime.JSX.Element;
276
-
277
3017
  /**
278
3018
  * Time range selector for dashboard metrics
279
3019
  */
@@ -567,6 +3307,226 @@ declare const OrganizationModelSchema: z.ZodObject<{
567
3307
  type OrganizationModel = z.infer<typeof OrganizationModelSchema>;
568
3308
  type OrganizationModelFeature = z.infer<typeof FeatureSchema>;
569
3309
 
3310
+ /** Flat + per-scheme override pattern. Flat values apply to both; `light`/`dark` win over flat. */
3311
+ type WithSchemes<T> = T & {
3312
+ light?: T;
3313
+ dark?: T;
3314
+ };
3315
+ /**
3316
+ * Theme token overrides. Each key maps 1:1 to a CSS variable.
3317
+ * All optional — defaults come from Elevasis design system.
3318
+ */
3319
+ interface ElevasisTokenOverrides {
3320
+ primary?: string;
3321
+ /** Text color that contrasts with `primary`. Defaults to '#fff'. */
3322
+ primaryContrast?: string;
3323
+ background?: string;
3324
+ surface?: string;
3325
+ surfaceHover?: string;
3326
+ /** Opaque surface for floating overlays (modals, menus, popovers) — guarantees readable contrast against decorative backgrounds. */
3327
+ elevatedSurface?: string;
3328
+ text?: string;
3329
+ textDimmed?: string;
3330
+ textSubtle?: string;
3331
+ border?: string;
3332
+ error?: string;
3333
+ warning?: string;
3334
+ success?: string;
3335
+ glassBackground?: string;
3336
+ glassBlur?: string;
3337
+ shadow?: string;
3338
+ cardShadow?: string;
3339
+ durationFast?: string;
3340
+ durationNormal?: string;
3341
+ easing?: string;
3342
+ /** Foreground text color for destructive/error buttons. Defaults to '#fff'. */
3343
+ destructiveFg?: string;
3344
+ /** Heading font family — used for titles, section headers. */
3345
+ fontHeading?: string;
3346
+ /** Body font family — used for general text. */
3347
+ fontSans?: string;
3348
+ }
3349
+ /**
3350
+ * Core theme config — Mantine-free.
3351
+ * Used by ElevasisCoreProvider and as the base for ElevasisThemeConfig.
3352
+ */
3353
+ interface ElevasisCoreThemeConfig {
3354
+ /** Color scheme: 'light', 'dark', or 'auto'. Defaults to 'dark'. */
3355
+ colorScheme?: 'light' | 'dark' | 'auto';
3356
+ /** Named preset — bundles light/dark token defaults. Defaults to 'default'. Accepts built-in PresetName or custom preset key. */
3357
+ preset?: PresetName | (string & {});
3358
+ /**
3359
+ * Semantic token overrides fed into CSS variables.
3360
+ * Flat values apply to both schemes. `light`/`dark` nested values win over flat.
3361
+ */
3362
+ tokens?: WithSchemes<ElevasisTokenOverrides>;
3363
+ /** Custom presets map — when provided, used instead of built-in presets. Typically `{ ...presets, ...customPresets }`. */
3364
+ presets?: Record<string, ThemePreset>;
3365
+ }
3366
+ /**
3367
+ * Auth configuration union.
3368
+ * 'authkit' (WorkOS AuthKit) is the supported mode.
3369
+ * 'apiKey' is defined for forward type compatibility but will throw at runtime.
3370
+ */
3371
+ type AuthConfig = AuthKitConfig | ApiKeyConfig;
3372
+ interface AuthKitConfig {
3373
+ mode: 'authkit';
3374
+ clientId: string;
3375
+ /** AuthKit API hostname. Defaults to 'api.workos.com'. */
3376
+ apiHostname?: string;
3377
+ /** Redirect URI after auth. */
3378
+ redirectUri?: string;
3379
+ /** Keep refresh tokens in localStorage. Defaults to false. */
3380
+ devMode?: boolean;
3381
+ }
3382
+ /** Deferred -- will throw at runtime. */
3383
+ interface ApiKeyConfig {
3384
+ mode: 'apiKey';
3385
+ key: string;
3386
+ }
3387
+ interface ElevasisCoreProviderProps {
3388
+ /** Auth configuration. Supports 'authkit' mode. */
3389
+ auth: AuthConfig;
3390
+ /**
3391
+ * Elevasis core theme configuration (Mantine-free).
3392
+ * Set `colorScheme` ('light', 'dark', 'auto') and override `tokens` (design tokens).
3393
+ * Defaults: colorScheme='dark', Elevasis design system tokens.
3394
+ */
3395
+ theme?: ElevasisCoreThemeConfig;
3396
+ /**
3397
+ * @deprecated Organization ID is now resolved automatically via OrganizationProvider.
3398
+ * This prop is accepted for backwards compatibility during migration but is no longer
3399
+ * used when the full provider stack is active (apiUrl provided).
3400
+ */
3401
+ organizationId?: string | null;
3402
+ /** Custom QueryClient. If omitted, a default is created internally. */
3403
+ queryClient?: QueryClient;
3404
+ /**
3405
+ * API base URL (e.g., 'https://api.elevasis.com' or 'http://localhost:5170').
3406
+ * When provided, ElevasisCoreProvider composes the full provider stack:
3407
+ * ApiClientProvider + ElevasisServiceProvider + ProfileProvider +
3408
+ * OrganizationProvider + NotificationProvider + InitializationProvider.
3409
+ * When omitted, no service context is provided (theme-only mode).
3410
+ */
3411
+ apiUrl?: string;
3412
+ /**
3413
+ * Error callback for API responses with status >= 500.
3414
+ * Only used when apiUrl is provided.
3415
+ */
3416
+ onError?: (endpoint: string, error: Error, details?: ApiErrorDetails) => void;
3417
+ /**
3418
+ * @deprecated Organization readiness is now managed internally by OrganizationProvider.
3419
+ * Accepted for backwards compatibility but ignored when apiUrl is provided.
3420
+ */
3421
+ isOrganizationReady?: boolean;
3422
+ /**
3423
+ * Notification adapter for displaying success/error/info messages.
3424
+ * When provided, wraps the subtree in a NotificationProvider with this adapter.
3425
+ * When omitted, the console fallback adapter is used automatically.
3426
+ *
3427
+ * ElevasisUIProvider (Mantine variant) passes a Mantine-backed adapter here automatically.
3428
+ * Headless/SDK consumers can pass a custom adapter or omit for console output.
3429
+ */
3430
+ notifications?: NotificationAdapter;
3431
+ /**
3432
+ * Whether to inject CSS variables, `data-elevasis-scheme` attribute, and font links.
3433
+ * Set to `false` when the consumer has its own complete design system and only
3434
+ * needs auth + API from this provider. Defaults to `true`.
3435
+ */
3436
+ injectStyles?: boolean;
3437
+ /**
3438
+ * CRM action definitions used by DealDetailPage and DealDrawer.
3439
+ * Defaults to DEFAULT_CRM_ACTIONS. Pass a custom array to override or extend
3440
+ * the default action set for your organization's sales flow.
3441
+ *
3442
+ * @example
3443
+ * ```tsx
3444
+ * import { DEFAULT_CRM_ACTIONS, type ActionDef } from '@elevasis/sdk'
3445
+ * const myActions: ActionDef[] = [
3446
+ * ...DEFAULT_CRM_ACTIONS,
3447
+ * { key: 'send_quote', label: 'Send Quote',
3448
+ * isAvailableFor: d => d.stage_key === 'proposal',
3449
+ * workflowId: 'send-quote-workflow' },
3450
+ * ]
3451
+ * <ElevasisUIProvider crmActions={myActions} ... />
3452
+ * ```
3453
+ */
3454
+ crmActions?: ActionDef[];
3455
+ children: ReactNode;
3456
+ }
3457
+ /**
3458
+ * Service context value exposed by ElevasisServiceProvider.
3459
+ * Provides a ready-to-use apiRequest function and organization state.
3460
+ *
3461
+ * For standalone usage (testing, embedding), use ElevasisServiceProvider directly.
3462
+ * For standard SDK usage, ElevasisUIProvider composes this automatically when apiUrl is provided.
3463
+ */
3464
+ interface ElevasisServiceContextValue {
3465
+ apiRequest: <T>(endpoint: string, options?: RequestInit) => Promise<T>;
3466
+ organizationId: string | null;
3467
+ isReady: boolean;
3468
+ }
3469
+ interface ElevasisServiceProviderProps {
3470
+ apiRequest: <T>(endpoint: string, options?: RequestInit) => Promise<T>;
3471
+ organizationId: string | null;
3472
+ isReady: boolean;
3473
+ children: ReactNode;
3474
+ }
3475
+
3476
+ /**
3477
+ * Headless root provider for Elevasis-powered applications.
3478
+ *
3479
+ * Pure auth + API provider with no style side-effects. Does not inject CSS
3480
+ * variables, set `data-elevasis-scheme`, or load fonts. Consumers that need
3481
+ * Elevasis theming should use `ElevasisUIProvider` (Mantine) instead.
3482
+ *
3483
+ * When `apiUrl` is provided, composes the full provider stack:
3484
+ * QueryClientProvider -> AuthProvider -> ApiClientProvider ->
3485
+ * ProfileProvider -> OrganizationProvider -> ElevasisServiceProvider ->
3486
+ * NotificationProvider -> InitializationProvider
3487
+ *
3488
+ * @example Headless SDK consumer
3489
+ * ```tsx
3490
+ * <ElevasisCoreProvider
3491
+ * auth={{ mode: 'authkit', clientId: '...', redirectUri: '/' }}
3492
+ * apiUrl="https://api.elevasis.com"
3493
+ * >
3494
+ * <Dashboard />
3495
+ * </ElevasisCoreProvider>
3496
+ * ```
3497
+ */
3498
+ declare function ElevasisCoreProvider({ auth, queryClient, apiUrl, onError, notifications, crmActions, children }: ElevasisCoreProviderProps): react_jsx_runtime.JSX.Element;
3499
+
3500
+ /**
3501
+ * Provides the active CRM action definitions to deal action surfaces.
3502
+ *
3503
+ * Defaults to DEFAULT_CRM_ACTIONS. External consumers can override via the
3504
+ * `crmActions` prop on ElevasisCoreProvider / ElevasisUIProvider.
3505
+ *
3506
+ * @example External override
3507
+ * ```tsx
3508
+ * import { DEFAULT_CRM_ACTIONS, type ActionDef } from '@elevasis/sdk'
3509
+ *
3510
+ * const myActions: ActionDef[] = [
3511
+ * ...DEFAULT_CRM_ACTIONS,
3512
+ * { key: 'send_quote', label: 'Send Quote',
3513
+ * isAvailableFor: d => d.stage_key === 'proposal',
3514
+ * workflowId: 'send-quote-workflow' },
3515
+ * ]
3516
+ *
3517
+ * <ElevasisUIProvider crmActions={myActions} ... />
3518
+ * ```
3519
+ */
3520
+ declare function CrmActionsProvider({ actions, children }: {
3521
+ actions: ActionDef[];
3522
+ children: ReactNode;
3523
+ }): react_jsx_runtime.JSX.Element;
3524
+ /**
3525
+ * Returns the active CRM ActionDef array for the current provider tree.
3526
+ * Defaults to DEFAULT_CRM_ACTIONS if no CrmActionsProvider is mounted above.
3527
+ */
3528
+ declare function useCrmActions(): ActionDef[];
3529
+
570
3530
  interface FetchEventSourceWithTokenRefreshOptions {
571
3531
  url: string;
572
3532
  getToken: () => Promise<string | undefined>;
@@ -749,6 +3709,9 @@ interface ElevasisThemeConfig extends ElevasisCoreThemeConfig {
749
3709
  /**
750
3710
  * Props for ElevasisUIProvider (Mantine variant).
751
3711
  * Extends ElevasisCoreProviderProps with Mantine-aware theme config.
3712
+ *
3713
+ * Accepts `crmActions` from ElevasisCoreProviderProps — pass a custom ActionDef[]
3714
+ * to override or extend the default CRM action set for DealDetailPage / DealDrawer.
752
3715
  */
753
3716
  interface ElevasisUIProviderProps extends Omit<ElevasisCoreProviderProps, 'theme' | 'notifications'> {
754
3717
  theme?: ElevasisThemeConfig;
@@ -763,5 +3726,5 @@ declare function createTestFeaturesProvider({ organizationModel, features }?: Cr
763
3726
  children: ReactNode;
764
3727
  }) => react_jsx_runtime.JSX.Element;
765
3728
 
766
- export { AppearanceProvider, ElevasisCoreProvider, ElevasisFeaturesProvider, ElevasisServiceProvider, ElevasisUIProvider, FeatureShell, NotificationProvider, createTestFeaturesProvider, useAppearance, useElevasisFeatures, useElevasisServices, useNotificationAdapter, useOptionalElevasisFeatures };
3729
+ export { AppearanceProvider, CrmActionsProvider, ElevasisCoreProvider, ElevasisFeaturesProvider, ElevasisServiceProvider, ElevasisUIProvider, FeatureShell, NotificationProvider, createTestFeaturesProvider, useAppearance, useCrmActions, useElevasisFeatures, useElevasisServices, useNotificationAdapter, useOptionalElevasisFeatures };
767
3730
  export type { ApiKeyConfig, AppearanceConfig, AuthConfig, AuthKitConfig, CreateTestFeaturesProviderOptions, ElevasisCoreProviderProps, ElevasisCoreThemeConfig, ElevasisFeaturesContextValue, ElevasisFeaturesProviderProps, ElevasisServiceContextValue, ElevasisServiceProviderProps, ElevasisThemeConfig, ElevasisTokenOverrides, FeatureIconComponent, FeatureModule, FeatureSidebarComponent, NotificationAdapter, OrganizationGraphContextValue, OrganizationGraphFeatureBridge, PresetName, ResolvedFeatureAccess, ResolvedFeatureModule, ResolvedFeatureSemantics, ResolvedShellFeature, ResolvedShellModel, ResolvedShellRouteMatch, ShellRouteMatchStatus, ShellRuntime, WithSchemes };