@hasura/promptql 2.0.0-alpha.1 → 2.0.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,4404 @@
1
+ import { ApolloClient, Observable } from '@apollo/client';
2
+ import { GraphQLError } from 'graphql';
3
+
4
+ /**
5
+ * This file was automatically generated by json-schema-to-typescript.
6
+ * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
7
+ * and run json-schema-to-typescript to regenerate this file.
8
+ */
9
+ /**
10
+ * Everything that can happen in a chat thread
11
+ */
12
+ type ThreadEvent$1 = {
13
+ UserMessage: {
14
+ /**
15
+ * A unique index for a user message in a thread
16
+ */
17
+ message_id: string;
18
+ user_id: PromptQlUserId;
19
+ message: UserMessage;
20
+ };
21
+ } | {
22
+ AgentMessage: {
23
+ /**
24
+ * A unique index for a agent message in a thread
25
+ */
26
+ message_id: string;
27
+ update: AgentUpdate;
28
+ };
29
+ } | {
30
+ UserCancel: {
31
+ /**
32
+ * A unique index for a agent message in a thread
33
+ */
34
+ message_id: string;
35
+ user_id: PromptQlUserId;
36
+ user_cancel: UserCancel;
37
+ };
38
+ } | {
39
+ Internal: {
40
+ update: InternalUpdate;
41
+ };
42
+ };
43
+ type PromptQlUserId = string;
44
+ type ArtifactId = string;
45
+ /**
46
+ * Updates sent by the agent during processing of a user interaction
47
+ *
48
+ * This enum represents all the different types of updates an agent can send
49
+ * while processing a user's message, from initial message processing through
50
+ * to final completion or error states.
51
+ */
52
+ type AgentUpdate = {
53
+ MessageProcessingUpdate: {
54
+ update: MessageProcessingUpdate;
55
+ };
56
+ } | {
57
+ PlanningDecisionUpdate: {
58
+ update: PlanningDecisionUpdate;
59
+ };
60
+ } | {
61
+ StartingOrchestrator: {
62
+ started_at: string;
63
+ };
64
+ } | {
65
+ OrchestratorUpdate: {
66
+ update: OrchestratorUpdate;
67
+ };
68
+ } | {
69
+ ResponseGenerationUpdate: {
70
+ update: ResponseGenerationUpdate;
71
+ };
72
+ } | {
73
+ ConfidenceAnalysisUpdate: {
74
+ update: ConfidenceAnalysisUpdate;
75
+ };
76
+ } | {
77
+ WikiGenerationUpdate: {
78
+ update: WikiGenerationUpdate;
79
+ };
80
+ } | {
81
+ InteractionFinished: {
82
+ update: InteractionFinishedUpdate;
83
+ };
84
+ };
85
+ /**
86
+ * Updates during the initial message processing phase
87
+ *
88
+ * This phase handles parsing the user's message, making interaction decisions,
89
+ * processing the message content, and making assumptions about unclear requirements.
90
+ */
91
+ type MessageProcessingUpdate = {
92
+ ProcessingStarted: {
93
+ /**
94
+ * When processing began
95
+ */
96
+ started_at: string;
97
+ };
98
+ } | {
99
+ InteractionDecision: {
100
+ /**
101
+ * The decision made by the agent
102
+ */
103
+ decision: {
104
+ DeclineInteraction: {
105
+ /**
106
+ * When the decision was made
107
+ */
108
+ declined_at: string;
109
+ /**
110
+ * Why the interaction was declined
111
+ */
112
+ reason: "MultipleUsersAndNoPromptQlMention";
113
+ };
114
+ } | {
115
+ AcceptInteraction: {
116
+ /**
117
+ * When the decision was made
118
+ */
119
+ accepted_at: string;
120
+ };
121
+ };
122
+ };
123
+ } | {
124
+ ProcessedMessage: {
125
+ /**
126
+ * When the processing completed
127
+ */
128
+ generated_at: string;
129
+ /**
130
+ * LLM usage during message processing
131
+ */
132
+ llm_usage?: LlmUsage[];
133
+ /**
134
+ * The processed message broken down into spans with links
135
+ */
136
+ processed_user_message: Span[];
137
+ };
138
+ } | {
139
+ ClarificationRequested: {
140
+ /**
141
+ * When the assumptions were generated
142
+ */
143
+ generated_at: string;
144
+ /**
145
+ * LLM usage during assumption generation
146
+ */
147
+ llm_usage?: LlmUsage[];
148
+ /**
149
+ * List of assumptions made by the agent
150
+ */
151
+ assumptions: string[];
152
+ /**
153
+ * Deprecated field, always None - clarification requests are no longer used
154
+ */
155
+ clarification_request?: string | null;
156
+ };
157
+ } | {
158
+ WikiExplorerUpdate: {
159
+ /**
160
+ * The specific wiki exploration update
161
+ */
162
+ update: {
163
+ Started: {
164
+ /**
165
+ * When wiki exploration began
166
+ */
167
+ started_at: string;
168
+ };
169
+ } | {
170
+ WikiInfoGenerated: {
171
+ /**
172
+ * Summary of relevant wiki information
173
+ */
174
+ wiki_summary: string;
175
+ /**
176
+ * IDs of wiki pages that were found to be relevant
177
+ */
178
+ wiki_page_ids: string[];
179
+ /**
180
+ * When this information was generated
181
+ */
182
+ generated_at: string;
183
+ /**
184
+ * LLM usage during wiki exploration
185
+ */
186
+ llm_usage?: LlmUsage[];
187
+ };
188
+ } | {
189
+ Completed: {
190
+ completed_at: string;
191
+ };
192
+ };
193
+ };
194
+ };
195
+ type PlanningDecisionUpdate = {
196
+ Started: {
197
+ started_at: string;
198
+ };
199
+ } | {
200
+ PlanningRequired: {
201
+ planning_required: boolean;
202
+ explanation: string;
203
+ generated_at: string;
204
+ llm_usage?: LlmUsage[];
205
+ };
206
+ } | {
207
+ Completed: {
208
+ completed_at: string;
209
+ };
210
+ };
211
+ /**
212
+ * Updates from the orchestrator during plan generation and execution
213
+ *
214
+ * The orchestrator is responsible for understanding the user's request,
215
+ * exploring relevant context, generating execution plans, and coordinating
216
+ * the execution of those plans through various specialized components.
217
+ */
218
+ type OrchestratorUpdate = {
219
+ ContextExplorerUpdate: {
220
+ update: ContextExplorerUpdate;
221
+ };
222
+ } | {
223
+ PlanGenerationStarted: {
224
+ /**
225
+ * Index of the plan being generated (multiple plans may be created)
226
+ */
227
+ plan_index: number;
228
+ /**
229
+ * When plan generation started
230
+ */
231
+ generation_started_at: string;
232
+ };
233
+ } | {
234
+ PlanStepGenerated: {
235
+ /**
236
+ * Index of the plan this step belongs to
237
+ */
238
+ plan_index: number;
239
+ /**
240
+ * Index of this step within the plan
241
+ */
242
+ step_index: number;
243
+ /**
244
+ * Version of this step (steps may be regenerated/refined)
245
+ */
246
+ version: number;
247
+ /**
248
+ * Type of step (programmer, UI programmer, etc.)
249
+ */
250
+ step_type?: "Programmer" | "UiProgrammer" | "SavedProgramRunner";
251
+ /**
252
+ * Human-readable title for this step
253
+ */
254
+ step_title: string;
255
+ /**
256
+ * Detailed instructions for executing this step
257
+ */
258
+ step_instructions?: string | null;
259
+ /**
260
+ * LLM usage during step generation
261
+ */
262
+ llm_usage?: LlmUsage[];
263
+ /**
264
+ * When this step was generated
265
+ */
266
+ generated_at: string;
267
+ };
268
+ } | {
269
+ PlanGenerationCompleted: {
270
+ /**
271
+ * Index of the completed plan
272
+ */
273
+ plan_index: number;
274
+ /**
275
+ * When plan generation finished
276
+ */
277
+ generation_completed_at: string;
278
+ };
279
+ } | {
280
+ StartingStepExecution: {
281
+ /**
282
+ * When step execution started
283
+ */
284
+ started_at: string;
285
+ /**
286
+ * Index of the plan containing this step
287
+ */
288
+ plan_index: number;
289
+ /**
290
+ * Index of the step being executed
291
+ */
292
+ step_index: number;
293
+ };
294
+ } | {
295
+ StepUpdate: {
296
+ /**
297
+ * Index of the plan containing this step
298
+ */
299
+ plan_index: number;
300
+ /**
301
+ * Index of the step being executed
302
+ */
303
+ step_index: number;
304
+ /**
305
+ * The specific update from the step
306
+ */
307
+ update: {
308
+ Programmer: ProgrammerUpdate;
309
+ } | {
310
+ UiProgrammer: UiProgrammerUpdate;
311
+ } | {
312
+ SavedProgramRunner: SavedProgramRunnerUpdate;
313
+ };
314
+ };
315
+ } | {
316
+ GeneratedResponse: {
317
+ response: ComponentResponse5;
318
+ /**
319
+ * LLM usage during response generation
320
+ */
321
+ llm_usage?: LlmUsage[];
322
+ };
323
+ };
324
+ /**
325
+ * Updates from the context exploration phase
326
+ *
327
+ * Context exploration gathers relevant information from various sources
328
+ * like wiki pages and database schemas to provide context for the user's request.
329
+ */
330
+ type ContextExplorerUpdate = {
331
+ Started: {
332
+ /**
333
+ * When context exploration began
334
+ */
335
+ started_at: string;
336
+ };
337
+ } | {
338
+ WikiExplorerUpdate: {
339
+ /**
340
+ * The specific wiki exploration update
341
+ */
342
+ update: {
343
+ Started: {
344
+ /**
345
+ * When wiki exploration began
346
+ */
347
+ started_at: string;
348
+ };
349
+ } | {
350
+ WikiInfoGenerated: {
351
+ /**
352
+ * Summary of relevant wiki information
353
+ */
354
+ wiki_summary: string;
355
+ /**
356
+ * IDs of wiki pages that were found to be relevant
357
+ */
358
+ wiki_page_ids: string[];
359
+ /**
360
+ * When this information was generated
361
+ */
362
+ generated_at: string;
363
+ /**
364
+ * LLM usage during wiki exploration
365
+ */
366
+ llm_usage?: LlmUsage[];
367
+ };
368
+ } | {
369
+ Completed: {
370
+ completed_at: string;
371
+ };
372
+ };
373
+ };
374
+ } | {
375
+ SchemaTasksGenerationUpdate: {
376
+ update: SchemaTasksGenerationUpdate;
377
+ };
378
+ } | {
379
+ SchemaExplorerUpdate: {
380
+ /**
381
+ * The specific schema exploration update
382
+ */
383
+ update: {
384
+ Started: {
385
+ /**
386
+ * When schema exploration began
387
+ */
388
+ started_at: string;
389
+ };
390
+ } | {
391
+ GeneratedCode: {
392
+ /**
393
+ * Name of the artifact containing the exploration code
394
+ */
395
+ artifact_name: string;
396
+ /**
397
+ * The generated code for schema exploration
398
+ */
399
+ code: string;
400
+ /**
401
+ * When the code was generated
402
+ */
403
+ generated_at: string;
404
+ /**
405
+ * LLM usage during code generation
406
+ */
407
+ llm_usage?: LlmUsage[];
408
+ };
409
+ } | {
410
+ CodeExecutionComplete: {
411
+ /**
412
+ * Output from the schema exploration code
413
+ */
414
+ output: string;
415
+ /**
416
+ * Error message if execution failed
417
+ */
418
+ error?: string | null;
419
+ /**
420
+ * When execution completed
421
+ */
422
+ executed_at: string;
423
+ };
424
+ } | {
425
+ CodeOutputAnalyzed: {
426
+ analysis: CodeOutputAnalysis;
427
+ /**
428
+ * When the analysis was completed
429
+ */
430
+ analyzed_at: string;
431
+ /**
432
+ * LLM usage during analysis
433
+ */
434
+ llm_usage?: LlmUsage[];
435
+ };
436
+ } | {
437
+ SchemaExplored: {
438
+ schema_context: SchemaContext;
439
+ /**
440
+ * When the schema information was retrieved
441
+ */
442
+ retrieved_at: string;
443
+ /**
444
+ * LLM usage during schema exploration summary generation
445
+ */
446
+ llm_usage?: LlmUsage[];
447
+ };
448
+ } | {
449
+ Completed: {
450
+ /**
451
+ * When schema exploration finished
452
+ */
453
+ completed_at: string;
454
+ };
455
+ };
456
+ };
457
+ } | {
458
+ Completed: {
459
+ /**
460
+ * When context exploration finished
461
+ */
462
+ completed_at: string;
463
+ };
464
+ };
465
+ type SchemaTasksGenerationUpdate = {
466
+ Started: {
467
+ started_at: string;
468
+ };
469
+ } | {
470
+ TasksGenerated: {
471
+ tasks: string[];
472
+ generated_at: string;
473
+ /**
474
+ * LLM usage during wiki exploration
475
+ */
476
+ llm_usage?: LlmUsage[];
477
+ };
478
+ } | {
479
+ Completed: {
480
+ /**
481
+ * When wiki exploration finished
482
+ */
483
+ completed_at: string;
484
+ };
485
+ };
486
+ /**
487
+ * Updates from a programmer step during execution
488
+ *
489
+ * Programmer steps can generate code, execute it, analyze results,
490
+ * and provide summaries of their work.
491
+ */
492
+ type ProgrammerUpdate = {
493
+ GeneratedCode: {
494
+ /**
495
+ * Index of the action within the step
496
+ */
497
+ action_index: number;
498
+ /**
499
+ * Name of the artifact containing the code
500
+ */
501
+ artifact_name: string;
502
+ /**
503
+ * The generated code content
504
+ */
505
+ code: string;
506
+ /**
507
+ * When the code was generated
508
+ */
509
+ generated_at: string;
510
+ /**
511
+ * LLM usage during code generation
512
+ */
513
+ llm_usage?: LlmUsage[];
514
+ };
515
+ } | {
516
+ GeneratedSummary: {
517
+ /**
518
+ * Index of the action within the step
519
+ */
520
+ action_index: number;
521
+ /**
522
+ * Summary of what was accomplished
523
+ */
524
+ summary: string;
525
+ /**
526
+ * Whether the action was successful
527
+ */
528
+ success: boolean;
529
+ /**
530
+ * When the summary was generated
531
+ */
532
+ generated_at: string;
533
+ /**
534
+ * LLM usage during summary generation
535
+ */
536
+ llm_usage?: LlmUsage[];
537
+ };
538
+ } | {
539
+ CodeExecutionStarted: {
540
+ /**
541
+ * Index of the action within the step
542
+ */
543
+ action_index: number;
544
+ /**
545
+ * When execution started
546
+ */
547
+ started_at: string;
548
+ };
549
+ } | {
550
+ CodeExecutionUpdate: {
551
+ /**
552
+ * Index of the action within the step
553
+ */
554
+ action_index: number;
555
+ /**
556
+ * When this update occurred
557
+ */
558
+ updated_at: string;
559
+ /**
560
+ * The specific execution update
561
+ */
562
+ update: {
563
+ CodeOutput: string;
564
+ } | {
565
+ CodeError: string;
566
+ } | {
567
+ ArtifactAccess: string;
568
+ } | {
569
+ ArtifactUpdate: ArtifactUpdate;
570
+ } | {
571
+ ShelfAction: ShelfUpdate;
572
+ };
573
+ };
574
+ } | {
575
+ CodeExecutionComplete: {
576
+ /**
577
+ * Index of the action within the step
578
+ */
579
+ action_index: number;
580
+ /**
581
+ * Output from the code execution
582
+ */
583
+ output: string;
584
+ /**
585
+ * Error message if execution failed
586
+ */
587
+ error?: string | null;
588
+ /**
589
+ * When execution completed
590
+ */
591
+ executed_at: string;
592
+ };
593
+ } | {
594
+ GeneratedAnalysis: {
595
+ /**
596
+ * Index of the action within the step
597
+ */
598
+ action_index: number;
599
+ /**
600
+ * Analysis of the code output
601
+ */
602
+ analysis: string;
603
+ /**
604
+ * Next steps to take (if any)
605
+ */
606
+ next_steps?: string | null;
607
+ /**
608
+ * When the analysis was generated
609
+ */
610
+ generated_at: string;
611
+ /**
612
+ * LLM usage during analysis generation
613
+ */
614
+ llm_usage?: LlmUsage[];
615
+ };
616
+ } | {
617
+ ResponseGenerated: ComponentResponse;
618
+ };
619
+ type ArtifactType = "text" | "table" | "visualization" | "html" | "file";
620
+ type ArtifactPreview = {
621
+ Table: {
622
+ total_row_count: number;
623
+ preview_rows: {
624
+ [k: string]: unknown;
625
+ }[];
626
+ };
627
+ };
628
+ type ShelfUpdate = {
629
+ v1: ShelfUpdateV1;
630
+ };
631
+ type TransactionId = string;
632
+ type ShelfActionEvent = ("Started" | "Completed") | {
633
+ RowsInserted: {
634
+ row_count: number;
635
+ };
636
+ };
637
+ /**
638
+ * Updates from a UI programmer step during execution
639
+ *
640
+ * UI programmer steps specialize in creating user interfaces using
641
+ * React/TypeScript, including code generation, building, and iteration.
642
+ */
643
+ type UiProgrammerUpdate = {
644
+ GeneratedCode: {
645
+ generated_code: GeneratedUiCode;
646
+ };
647
+ } | {
648
+ UiBuildCompleted: {
649
+ /**
650
+ * Result of the build (success or failure)
651
+ */
652
+ build_result: {
653
+ Success: BuiltUi;
654
+ } | {
655
+ Failure: UiBuildFailure;
656
+ };
657
+ };
658
+ } | {
659
+ Completed: {
660
+ built_ui: BuiltUi1;
661
+ response: ComponentResponse1;
662
+ /**
663
+ * LLM usage during completion
664
+ */
665
+ llm_usage?: LlmUsage[];
666
+ };
667
+ } | {
668
+ FailedTooManyRetries: {
669
+ response: ComponentResponse2;
670
+ };
671
+ };
672
+ /**
673
+ * Versioned updates from a saved program runner step during execution
674
+ */
675
+ type SavedProgramRunnerUpdate = SavedProgramRunnerUpdateV0;
676
+ /**
677
+ * Updates from a saved program runner step during execution
678
+ *
679
+ * Saved program runner steps execute programs (either generated or from
680
+ * saved program library) and provide updates throughout the execution lifecycle.
681
+ */
682
+ type SavedProgramRunnerUpdateV0 = {
683
+ GeneratedOutput: {
684
+ /**
685
+ * Index of this attempt (0-based)
686
+ */
687
+ attempt_index: number;
688
+ /**
689
+ * Sequential list of actions to execute, preserving the order from LLM output
690
+ */
691
+ actions: ProgramRunnerAction[];
692
+ /**
693
+ * When the output was generated
694
+ */
695
+ generated_at: string;
696
+ /**
697
+ * LLM usage during generation
698
+ */
699
+ llm_usage?: LlmUsage[];
700
+ };
701
+ } | {
702
+ ProgramRunStarted: {
703
+ /**
704
+ * Index of this attempt (0-based)
705
+ */
706
+ attempt_index: number;
707
+ /**
708
+ * Index of the action within the attempt
709
+ */
710
+ action_index: number;
711
+ /**
712
+ * When the run started
713
+ */
714
+ started_at: string;
715
+ };
716
+ } | {
717
+ ProgramRunCompleted: {
718
+ /**
719
+ * Index of this attempt (0-based)
720
+ */
721
+ attempt_index: number;
722
+ /**
723
+ * Index of the action within the attempt
724
+ */
725
+ action_index: number;
726
+ /**
727
+ * Output from the run
728
+ */
729
+ output?: string | null;
730
+ /**
731
+ * Error message if the run failed
732
+ */
733
+ error?: string | null;
734
+ /**
735
+ * Artifacts modified during the run
736
+ */
737
+ modified_artifacts: ArtifactUpdate[];
738
+ /**
739
+ * When the run completed
740
+ */
741
+ completed_at: string;
742
+ };
743
+ } | {
744
+ Completed: {
745
+ response: ComponentResponse3;
746
+ /**
747
+ * LLM usage during completion
748
+ */
749
+ llm_usage?: LlmUsage[];
750
+ };
751
+ } | {
752
+ FailedTooManyRetries: {
753
+ response: ComponentResponse4;
754
+ };
755
+ };
756
+ /**
757
+ * An action that the program runner can execute
758
+ */
759
+ type ProgramRunnerAction = {
760
+ WriteFile: GeneratedFile;
761
+ } | {
762
+ RunProgram: RunProgramRequest;
763
+ } | {
764
+ RunSavedProgram: RunSavedProgramRequest;
765
+ };
766
+ type ResponseGenerationUpdate = {
767
+ Started: {
768
+ started_at: string;
769
+ };
770
+ } | {
771
+ GeneratedResponse: {
772
+ response: ComponentResponse;
773
+ generated_at: string;
774
+ llm_usage?: LlmUsage[];
775
+ };
776
+ } | {
777
+ Completed: {
778
+ completed_at: string;
779
+ };
780
+ };
781
+ /**
782
+ * Updates from the confidence analysis process
783
+ *
784
+ * Confidence analysis evaluates how well-supported the agent's assumptions
785
+ * and work are based on available knowledge sources.
786
+ */
787
+ type ConfidenceAnalysisUpdate = {
788
+ Started: {
789
+ /**
790
+ * When the analysis began
791
+ */
792
+ started_at: string;
793
+ };
794
+ } | {
795
+ Errored: {
796
+ /**
797
+ * The error that occurred
798
+ */
799
+ error: string;
800
+ /**
801
+ * When the error occurred
802
+ */
803
+ errored_at: string;
804
+ };
805
+ } | {
806
+ Completed: {
807
+ analysis: ConfidenceAnalysis;
808
+ /**
809
+ * When the analysis completed
810
+ */
811
+ completed_at: string;
812
+ /**
813
+ * LLM usage during the analysis process
814
+ */
815
+ llm_usage?: ConfidenceAnalysisLlmUsage | null;
816
+ };
817
+ };
818
+ /**
819
+ * A source of factual information used for assumption verification
820
+ *
821
+ * Represents different types of knowledge sources that can be used
822
+ * to verify or contradict assumptions made by the agent.
823
+ */
824
+ type FactSource = {
825
+ /**
826
+ * The relevant content from system instructions
827
+ */
828
+ content: string;
829
+ source_type: "system_instructions";
830
+ } | {
831
+ /**
832
+ * Title of the wiki page
833
+ */
834
+ title: string;
835
+ /**
836
+ * Relevant content from the wiki page
837
+ */
838
+ content: string;
839
+ source_type: "wiki";
840
+ };
841
+ type WikiGenerationUpdate = {
842
+ Started: {
843
+ started_at: string;
844
+ };
845
+ } | {
846
+ Errored: {
847
+ errored_at: string;
848
+ error: string;
849
+ };
850
+ } | {
851
+ Completed: {
852
+ completed_at: string;
853
+ wiki_delta?: WikiDelta | null;
854
+ llm_usages: LlmUsage[];
855
+ };
856
+ };
857
+ type WikiChange = {
858
+ AddedPage: {
859
+ page: WikiPageV1;
860
+ };
861
+ } | {
862
+ ModifiedPage: {
863
+ page_title: WikiTitle;
864
+ modified_page: WikiPageV1;
865
+ };
866
+ } | {
867
+ DeletedPage: {
868
+ page_title: WikiTitle;
869
+ };
870
+ };
871
+ /**
872
+ * The title of a wiki page or section
873
+ */
874
+ type WikiTitle = string;
875
+ /**
876
+ * The markdown content of block or section in a wiki page
877
+ */
878
+ type WikiContent = string;
879
+ /**
880
+ * Final status update indicating how an agent interaction ended
881
+ *
882
+ * This represents the terminal state of an agent interaction, indicating
883
+ * whether it completed successfully, encountered an error, was cancelled,
884
+ * or was declined by the agent.
885
+ */
886
+ type InteractionFinishedUpdate = {
887
+ Completed: {
888
+ /**
889
+ * When the interaction finished
890
+ */
891
+ completed_at: string;
892
+ /**
893
+ * Any warnings generated during processing
894
+ */
895
+ warnings?: Warning[];
896
+ };
897
+ } | {
898
+ Errored: {
899
+ /**
900
+ * The error that occurred
901
+ */
902
+ error: "Internal" | {
903
+ User: {
904
+ /**
905
+ * The error message to show to the user
906
+ */
907
+ message: string;
908
+ };
909
+ };
910
+ /**
911
+ * When the error occurred
912
+ */
913
+ errored_at: string;
914
+ };
915
+ } | {
916
+ UserCancelled: {
917
+ /**
918
+ * When the cancellation occurred
919
+ */
920
+ cancelled_at: string;
921
+ };
922
+ } | {
923
+ ServerCancelled: {
924
+ /**
925
+ * When the cancellation occurred
926
+ */
927
+ cancelled_at: string;
928
+ };
929
+ } | {
930
+ AgentDeclined: {
931
+ /**
932
+ * When the decline occurred
933
+ */
934
+ declined_at: string;
935
+ /**
936
+ * Why the interaction was declined
937
+ */
938
+ reason: "MultipleUsersAndNoPromptQlMention";
939
+ };
940
+ };
941
+ /**
942
+ * Events that are internal to the system and not connected to a particular user/agent message
943
+ */
944
+ type InternalUpdate = {
945
+ SocialFeed: {
946
+ update: SocialFeedRatingUpdate;
947
+ };
948
+ };
949
+ /**
950
+ * Updates from the social feed rating process
951
+ *
952
+ * Social feed rating analyzes thread interactions to determine if they
953
+ * contain valuable content worth featuring in a social feed.
954
+ */
955
+ type SocialFeedRatingUpdate = {
956
+ Started: {
957
+ /**
958
+ * When the rating process began
959
+ */
960
+ started_at: string;
961
+ };
962
+ } | {
963
+ Errored: {
964
+ /**
965
+ * The error that occurred
966
+ */
967
+ error: string;
968
+ /**
969
+ * When the error occurred
970
+ */
971
+ errored_at: string;
972
+ };
973
+ } | {
974
+ Completed: {
975
+ /**
976
+ * The rating decision for this thread
977
+ */
978
+ rating: {
979
+ /**
980
+ * A unique index for a user message in a thread
981
+ */
982
+ selected_user_message_id: string;
983
+ /**
984
+ * A gerund that describes the nature of the conversation (e.g., "analyzing", "debugging")
985
+ */
986
+ action_verb: string;
987
+ /**
988
+ * A concise phrase (3-10 words) capturing what the thread is about
989
+ */
990
+ topic_summary: string;
991
+ /**
992
+ * Explanation for why this message was selected
993
+ */
994
+ reason: string;
995
+ type: "Chosen";
996
+ } | {
997
+ /**
998
+ * Explanation for why no message was selected
999
+ */
1000
+ reason: string;
1001
+ type: "NoneChosen";
1002
+ };
1003
+ /**
1004
+ * When the rating was completed
1005
+ */
1006
+ completed_at: string;
1007
+ /**
1008
+ * LLM usage during the rating process
1009
+ */
1010
+ llm_usage?: SocialFeedRatingLlmUsage | null;
1011
+ };
1012
+ };
1013
+ type WikiExplorerState = "NotStarted" | {
1014
+ Started: {
1015
+ started_at: string;
1016
+ };
1017
+ } | {
1018
+ WikiInfoGenerated: {
1019
+ wiki_summary: string;
1020
+ wiki_page_ids: string[];
1021
+ generated_at: string;
1022
+ };
1023
+ } | {
1024
+ Completed: {
1025
+ wiki_summary: string;
1026
+ wiki_page_ids: string[];
1027
+ completed_at: string;
1028
+ };
1029
+ };
1030
+ type PlanningDecisionState = "NotStarted" | {
1031
+ Started: {
1032
+ started_at: string;
1033
+ };
1034
+ } | {
1035
+ PlanningDecision: {
1036
+ planning_required: boolean;
1037
+ explanation: string;
1038
+ generated_at: string;
1039
+ };
1040
+ } | {
1041
+ Completed: {
1042
+ planning_required: boolean;
1043
+ explanation: string;
1044
+ completed_at: string;
1045
+ };
1046
+ };
1047
+ type ContextExplorerState = "NotStarted" | {
1048
+ SchemaTasksGenerationInProgress: {
1049
+ schema_tasks_generator_state: SchemaTasksGenerationState;
1050
+ };
1051
+ } | {
1052
+ SchemaExplorationInProgress: {
1053
+ schema_tasks_generator_state: SchemaTasksGenerationState;
1054
+ schema_explorer_state: SchemaExplorerState;
1055
+ };
1056
+ } | {
1057
+ Completed: {
1058
+ schema_tasks_generator_state: SchemaTasksGenerationState;
1059
+ schema_explorer_state: SchemaExplorerState;
1060
+ completed_at: string;
1061
+ };
1062
+ };
1063
+ type SchemaTasksGenerationState = "NotStarted" | {
1064
+ Started: {
1065
+ started_at: string;
1066
+ };
1067
+ } | {
1068
+ TasksGenerated: {
1069
+ generated_at: string;
1070
+ tasks: string[];
1071
+ };
1072
+ } | {
1073
+ Completed: {
1074
+ tasks: string[];
1075
+ completed_at: string;
1076
+ };
1077
+ };
1078
+ type SchemaExplorerState = "NotStarted" | {
1079
+ Started: {
1080
+ started_at: string;
1081
+ };
1082
+ } | {
1083
+ GeneratedCode: {
1084
+ artifact_name: string;
1085
+ code: string;
1086
+ generated_at: string;
1087
+ previous_analyzed_actions: AnalyzedCodeAction[];
1088
+ };
1089
+ } | {
1090
+ ExecutedCode: {
1091
+ previous_analyzed_actions: AnalyzedCodeAction[];
1092
+ current_code_action: CodeAction;
1093
+ executed_at: string;
1094
+ };
1095
+ } | {
1096
+ AnalyzedCode: {
1097
+ analyzed_actions: AnalyzedCodeAction[];
1098
+ analyzed_at: string;
1099
+ };
1100
+ } | {
1101
+ SchemaContextRetrieved: {
1102
+ analyzed_actions: AnalyzedCodeAction[];
1103
+ schema_context: SchemaContext1;
1104
+ retrieved_at: string;
1105
+ };
1106
+ } | {
1107
+ Completed: {
1108
+ analyzed_actions: AnalyzedCodeAction[];
1109
+ schema_context: SchemaContext1;
1110
+ completed_at: string;
1111
+ };
1112
+ };
1113
+ type StepState = {
1114
+ Programmer: ProgrammerState;
1115
+ } | {
1116
+ UiProgrammer: UiProgrammerState;
1117
+ } | {
1118
+ SavedProgramRunner: SavedProgramRunnerState;
1119
+ };
1120
+ /**
1121
+ * Represents the current action state in the programmer workflow.
1122
+ * This enum captures only the meaningful persisted states.
1123
+ *
1124
+ * State flow:
1125
+ * None → `GeneratedCode` → `ExecutedCode` → `AnalyzedOutput` → (decision) → None or `GeneratedSummary`
1126
+ *
1127
+ * When `current_action` is None, the programmer is ready to generate code or summary.
1128
+ */
1129
+ type CurrentAction = {
1130
+ GeneratedCode: CodeAction2;
1131
+ } | {
1132
+ ExecutedCode: CodeAction2;
1133
+ } | {
1134
+ AnalyzedOutput: {
1135
+ code: CodeAction2;
1136
+ analysis: CodeOutputAnalysis1;
1137
+ };
1138
+ } | {
1139
+ GeneratedSummary: SummaryAction;
1140
+ };
1141
+ type UiProgrammerState = "NotStarted" | {
1142
+ GeneratedCode: {
1143
+ previous_builds: UiBuild[];
1144
+ generated_code: GeneratedUiCode1;
1145
+ };
1146
+ } | {
1147
+ UiBuildCompleted: {
1148
+ previous_builds: UiBuild[];
1149
+ build: UiBuild;
1150
+ };
1151
+ } | {
1152
+ Completed: {
1153
+ previous_builds: UiBuild[];
1154
+ build: UiBuild2;
1155
+ component_response: ComponentResponse;
1156
+ llm_usage: LlmUsage[];
1157
+ };
1158
+ } | {
1159
+ FailedTooManyRetries: {
1160
+ previous_builds: UiBuild[];
1161
+ component_response: ComponentResponse;
1162
+ };
1163
+ };
1164
+ /**
1165
+ * Result of attempting to build a user interface
1166
+ *
1167
+ * Indicates whether the UI build process succeeded or failed,
1168
+ * with appropriate details for each case.
1169
+ */
1170
+ type UiBuildResult = {
1171
+ Success: BuiltUi;
1172
+ } | {
1173
+ Failure: UiBuildFailure;
1174
+ };
1175
+ /**
1176
+ * An action that the program runner can execute
1177
+ */
1178
+ type ProgramRunnerAction2 = {
1179
+ WriteFile: GeneratedFile2;
1180
+ } | {
1181
+ RunProgram: RunProgramRequest2;
1182
+ } | {
1183
+ RunSavedProgram: RunSavedProgramRequest2;
1184
+ };
1185
+ /**
1186
+ * A step in the execution pipeline
1187
+ */
1188
+ type Step = PythonStep | SqlStep | UiBuildStep | PipelineStep;
1189
+ /**
1190
+ * Program Package Name is the unique name for a program within a project that usable from code
1191
+ * Follows the database constraint: ^[a-z][a-z0-9_]*$
1192
+ */
1193
+ type ProgramPackageName = string;
1194
+ /**
1195
+ * Data source configuration
1196
+ */
1197
+ type PipelineSource = SqlSource;
1198
+ /**
1199
+ * Transform configuration
1200
+ */
1201
+ type PipelineTransform = ProgramTransform;
1202
+ /**
1203
+ * Sink configuration
1204
+ */
1205
+ type PipelineSink = ShelfSink;
1206
+ /**
1207
+ * Column type
1208
+ */
1209
+ type PipelineColumnType = "string" | "integer" | "number" | "boolean" | "timestamp";
1210
+ /**
1211
+ * Partition transform
1212
+ */
1213
+ type PipelinePartitionTransform = ("identity" | "year" | "month" | "day" | "hour") | {
1214
+ bucket: {
1215
+ num_buckets: number;
1216
+ };
1217
+ } | {
1218
+ truncate: {
1219
+ width: number;
1220
+ };
1221
+ };
1222
+ /**
1223
+ * The result of processing an action
1224
+ */
1225
+ type ProgramRunnerActionResult = "WriteFile" | {
1226
+ RunProgram: ProgramRunResult;
1227
+ } | {
1228
+ RunSavedProgram: ProgramRunResult;
1229
+ };
1230
+ type ProgramRunEvent = RunStarted | StepExecutionStarted | DataArtifactUpdated | OutputEmitted | CodeError | SqlError | BuildError | ArtifactError | StepExecutionFinished | RunFinished;
1231
+ type RunStarted = {
1232
+ type: "RunStarted";
1233
+ } & RunStartedV1;
1234
+ type StepExecutionStarted = {
1235
+ type: "StepExecutionStarted";
1236
+ } & StepExecutionStartedV1;
1237
+ type RunStepDetails = PythonRunStepDetails | SqlRunStepDetails | UiBuildRunStepDetails | PipelineRunStepDetails;
1238
+ /**
1239
+ * A unique identifier for a `PromptQL` Program
1240
+ */
1241
+ type ProgramId = string;
1242
+ type DataArtifactUpdated = {
1243
+ type: "DataArtifactUpdated";
1244
+ } & DataArtifactUpdatedV1;
1245
+ type ArtifactType2 = "table" | "text" | "visualization" | "automation" | "python_code" | "python_package" | "html" | "file";
1246
+ type OutputEmitted = {
1247
+ type: "OutputEmitted";
1248
+ } & OutputEmittedV1;
1249
+ type CodeError = {
1250
+ type: "CodeError";
1251
+ } & CodeErrorV1;
1252
+ type SqlError = {
1253
+ type: "SqlError";
1254
+ } & SqlErrorV1;
1255
+ type BuildError = {
1256
+ type: "BuildError";
1257
+ } & BuildErrorV1;
1258
+ type ArtifactError = {
1259
+ type: "ArtifactError";
1260
+ } & ArtifactErrorV1;
1261
+ type StepExecutionFinished = {
1262
+ type: "StepExecutionFinished";
1263
+ } & StepExecutionFinishedV1;
1264
+ type RunFinished = {
1265
+ type: "RunFinished";
1266
+ } & RunFinishedV1;
1267
+ type RunFinishedOutcome = {
1268
+ type: "Success";
1269
+ } | {
1270
+ error: string;
1271
+ type: "Error";
1272
+ } | {
1273
+ type: "UserCancelled";
1274
+ };
1275
+ /**
1276
+ * Stage of the saved program runner state machine
1277
+ */
1278
+ type SavedProgramRunnerStage = "NotStarted" | {
1279
+ GeneratedOutput: {
1280
+ generated_output: GeneratedProgramRunnerOutput;
1281
+ };
1282
+ } | {
1283
+ ProgramRunDueToStart: {
1284
+ current_attempt: ProgramRunnerAttempt;
1285
+ /**
1286
+ * Index of the run that just completed
1287
+ */
1288
+ action_index: number;
1289
+ };
1290
+ } | {
1291
+ ProgramRunCompleted: {
1292
+ current_attempt: ProgramRunnerAttempt;
1293
+ /**
1294
+ * Index of the run that just completed
1295
+ */
1296
+ action_index: number;
1297
+ };
1298
+ } | {
1299
+ Completed: {
1300
+ final_attempt: ProgramRunnerAttempt;
1301
+ component_response: ComponentResponse;
1302
+ llm_usage: LlmUsage[];
1303
+ };
1304
+ } | {
1305
+ FailedTooManyRetries: {
1306
+ component_response: ComponentResponse;
1307
+ };
1308
+ };
1309
+ type ResponseGenerationState = "NotStarted" | {
1310
+ Started: {
1311
+ started_at: string;
1312
+ };
1313
+ } | {
1314
+ ResponseGenerated: {
1315
+ response: ComponentResponse;
1316
+ generated_at: string;
1317
+ };
1318
+ } | {
1319
+ Completed: {
1320
+ response: ComponentResponse;
1321
+ completed_at: string;
1322
+ };
1323
+ };
1324
+ type InteractionOutcome = {
1325
+ Completed: {
1326
+ completed_at: string;
1327
+ };
1328
+ } | {
1329
+ Errored: {
1330
+ errored_at: string;
1331
+ };
1332
+ } | {
1333
+ UserCancelled: {
1334
+ cancelled_at: string;
1335
+ };
1336
+ } | {
1337
+ AgentDeclined: {
1338
+ declined_at: string;
1339
+ reason: InteractionDeclineReason;
1340
+ };
1341
+ } | {
1342
+ ServerCancelled: {
1343
+ cancelled_at: string;
1344
+ };
1345
+ };
1346
+ /**
1347
+ * Reasons why an agent might decline to process a user interaction
1348
+ */
1349
+ type InteractionDeclineReason = "MultipleUsersAndNoPromptQlMention";
1350
+ type ConfidenceAnalysisOutcome = {
1351
+ Completed: {
1352
+ completed_at: string;
1353
+ analysis: ConfidenceAnalysis1;
1354
+ };
1355
+ } | {
1356
+ Errored: {
1357
+ errored_at: string;
1358
+ error: string;
1359
+ };
1360
+ };
1361
+ type SocialFeedRatingOutcome = {
1362
+ Completed: {
1363
+ completed_at: string;
1364
+ rating: SocialFeedRating;
1365
+ };
1366
+ } | {
1367
+ Errored: {
1368
+ errored_at: string;
1369
+ error: string;
1370
+ };
1371
+ };
1372
+ /**
1373
+ * Rating of a thread interaction for social feed display
1374
+ *
1375
+ * Evaluates whether an interaction is interesting or valuable enough
1376
+ * to be featured in a social feed, helping surface the best content.
1377
+ */
1378
+ type SocialFeedRating = {
1379
+ /**
1380
+ * A unique index for a user message in a thread
1381
+ */
1382
+ selected_user_message_id: string;
1383
+ /**
1384
+ * A gerund that describes the nature of the conversation (e.g., "analyzing", "debugging")
1385
+ */
1386
+ action_verb: string;
1387
+ /**
1388
+ * A concise phrase (3-10 words) capturing what the thread is about
1389
+ */
1390
+ topic_summary: string;
1391
+ /**
1392
+ * Explanation for why this message was selected
1393
+ */
1394
+ reason: string;
1395
+ type: "Chosen";
1396
+ } | {
1397
+ /**
1398
+ * Explanation for why no message was selected
1399
+ */
1400
+ reason: string;
1401
+ type: "NoneChosen";
1402
+ };
1403
+ type WikiGenerationOutcome = {
1404
+ Completed: {
1405
+ completed_at: string;
1406
+ wiki_delta?: WikiDelta | null;
1407
+ };
1408
+ } | {
1409
+ Errored: {
1410
+ errored_at: string;
1411
+ error: string;
1412
+ };
1413
+ };
1414
+ interface AllTheServerTypes {
1415
+ version_response: Version;
1416
+ thread_event: ThreadEvent$1;
1417
+ agent_state: AgentState;
1418
+ }
1419
+ interface Version {
1420
+ version: string;
1421
+ }
1422
+ /**
1423
+ * A chat message sent by a user
1424
+ */
1425
+ interface UserMessage {
1426
+ timestamp: string;
1427
+ message: string;
1428
+ uploads: UserUpload[];
1429
+ timezone: string;
1430
+ }
1431
+ /**
1432
+ * A file or data artifact uploaded by a user as part of their message
1433
+ */
1434
+ interface UserUpload {
1435
+ /**
1436
+ * Name of the artifact as provided by user, usually the filename
1437
+ */
1438
+ artifact_name: string;
1439
+ artifact_reference: ArtifactReference;
1440
+ }
1441
+ /**
1442
+ * Reference to an uploaded thread artifact
1443
+ */
1444
+ interface ArtifactReference {
1445
+ artifact_id: ArtifactId;
1446
+ version: number;
1447
+ }
1448
+ /**
1449
+ * Language model usage statistics
1450
+ *
1451
+ * Tracks token usage and model information for LLM calls made during
1452
+ * agent processing, used for monitoring, billing, and performance analysis.
1453
+ */
1454
+ interface LlmUsage {
1455
+ /**
1456
+ * The LLM provider (e.g., "openai", "anthropic")
1457
+ */
1458
+ provider: string;
1459
+ /**
1460
+ * The specific model used (e.g., "gpt-4", "claude-3-sonnet")
1461
+ */
1462
+ model: string;
1463
+ /**
1464
+ * Number of input tokens sent to the model
1465
+ */
1466
+ input_tokens: number;
1467
+ /**
1468
+ * Number of output tokens generated by the model
1469
+ */
1470
+ output_tokens: number;
1471
+ /**
1472
+ * Number of cached tokens (if supported by the provider)
1473
+ */
1474
+ cached_tokens?: number | null;
1475
+ /**
1476
+ * Number of cache creation tokens (defaults to 0 if not supported by the provider)
1477
+ */
1478
+ cache_creation_tokens?: number;
1479
+ /**
1480
+ * Number of thinking (reasoning) tokens generated by the model
1481
+ */
1482
+ thinking_tokens?: number;
1483
+ }
1484
+ /**
1485
+ * A segment of processed user message text with associated metadata
1486
+ *
1487
+ * Spans break down the user's message into meaningful segments, each with
1488
+ * a link that provides context about how that segment should be interpreted.
1489
+ */
1490
+ interface Span {
1491
+ /**
1492
+ * The text content of this span
1493
+ */
1494
+ text: string;
1495
+ /**
1496
+ * Metadata about how this span should be interpreted
1497
+ */
1498
+ link: {
1499
+ ChatHistory: {
1500
+ /**
1501
+ * Definition or context from the chat history
1502
+ */
1503
+ definition: string;
1504
+ };
1505
+ } | "NotRequired" | {
1506
+ WikiPage: {
1507
+ /**
1508
+ * Unique identifier for the wiki page
1509
+ */
1510
+ wiki_page_id: string;
1511
+ /**
1512
+ * Title of the wiki page
1513
+ */
1514
+ title: string;
1515
+ /**
1516
+ * Definition or excerpt from the wiki page
1517
+ */
1518
+ definition?: string | null;
1519
+ /**
1520
+ * Alternative names for this concept
1521
+ */
1522
+ aliases: string[];
1523
+ };
1524
+ } | {
1525
+ AssumeDefinition: {
1526
+ /**
1527
+ * The assumed definition for this span
1528
+ */
1529
+ definition: string;
1530
+ };
1531
+ } | {
1532
+ NotFound: {};
1533
+ };
1534
+ }
1535
+ /**
1536
+ * Analysis of the code output
1537
+ */
1538
+ interface CodeOutputAnalysis {
1539
+ /**
1540
+ * Analysis about the code output
1541
+ */
1542
+ analysis: string;
1543
+ /**
1544
+ * Suggested next steps based on the analysis.
1545
+ */
1546
+ next_steps?: string | null;
1547
+ }
1548
+ /**
1549
+ * The processed schema context information
1550
+ */
1551
+ interface SchemaContext {
1552
+ schema_tasks: SchemaTask[];
1553
+ schema_exploration_successful: boolean;
1554
+ }
1555
+ interface SchemaTask {
1556
+ task: string;
1557
+ analysis?: string | null;
1558
+ }
1559
+ interface ArtifactUpdate {
1560
+ identifier: string;
1561
+ title: string;
1562
+ artifact_type: ArtifactType;
1563
+ data?: ArtifactPreview | null;
1564
+ artifact_reference: ArtifactReference1;
1565
+ }
1566
+ interface ArtifactReference1 {
1567
+ artifact_id: ArtifactId;
1568
+ version: number;
1569
+ }
1570
+ interface ShelfUpdateV1 {
1571
+ transaction_id: TransactionId;
1572
+ event: ShelfActionEvent;
1573
+ }
1574
+ /**
1575
+ * A response generated by a component for the user
1576
+ *
1577
+ * Contains a message explaining what was accomplished, any artifacts
1578
+ * that were created or modified, and whether the operation was successful.
1579
+ */
1580
+ interface ComponentResponse {
1581
+ /**
1582
+ * The message to display to the user
1583
+ */
1584
+ message: string;
1585
+ /**
1586
+ * List of artifacts that were created or modified
1587
+ */
1588
+ modified_artifacts: ArtifactUpdate[];
1589
+ /**
1590
+ * Whether the operation completed successfully
1591
+ */
1592
+ success: boolean;
1593
+ /**
1594
+ * When this response was generated
1595
+ */
1596
+ generated_at: string;
1597
+ }
1598
+ /**
1599
+ * The generated UI code and metadata
1600
+ */
1601
+ interface GeneratedUiCode {
1602
+ /**
1603
+ * Metadata about the UI (title, artifact name, etc.).
1604
+ * This is an Option only for historic reasons when we didn't always make the ui metadata mandatory for the LLM to generate
1605
+ */
1606
+ ui_metadata?: UiMetadata | null;
1607
+ /**
1608
+ * The generated TypeScript/React code
1609
+ */
1610
+ tsx_code?: string | null;
1611
+ /**
1612
+ * The generated CSS styling code
1613
+ */
1614
+ css_code?: string | null;
1615
+ /**
1616
+ * Names of data artifacts that this UI imports/uses
1617
+ */
1618
+ imported_data_artifacts: string[];
1619
+ /**
1620
+ * When this code was generated
1621
+ */
1622
+ generated_at: string;
1623
+ /**
1624
+ * LLM usage during code generation
1625
+ */
1626
+ llm_usage?: LlmUsage[];
1627
+ }
1628
+ /**
1629
+ * Metadata about a generated user interface
1630
+ *
1631
+ * Contains descriptive information about the UI that helps identify
1632
+ * and organize it within the system.
1633
+ */
1634
+ interface UiMetadata {
1635
+ /**
1636
+ * Human-readable title for the UI
1637
+ */
1638
+ title: string;
1639
+ /**
1640
+ * Unique name for the artifact containing this UI
1641
+ */
1642
+ artifact_name: string;
1643
+ }
1644
+ /**
1645
+ * A successfully built user interface
1646
+ *
1647
+ * Contains the final artifact and metadata about when the UI was built.
1648
+ */
1649
+ interface BuiltUi {
1650
+ artifact: ArtifactUpdate1;
1651
+ /**
1652
+ * When the UI was successfully built
1653
+ */
1654
+ built_at: string;
1655
+ }
1656
+ /**
1657
+ * The artifact containing the built UI
1658
+ */
1659
+ interface ArtifactUpdate1 {
1660
+ identifier: string;
1661
+ title: string;
1662
+ artifact_type: ArtifactType;
1663
+ data?: ArtifactPreview | null;
1664
+ artifact_reference: ArtifactReference1;
1665
+ }
1666
+ /**
1667
+ * Details about a failed UI build attempt
1668
+ *
1669
+ * Contains error information and timing for debugging build failures.
1670
+ */
1671
+ interface UiBuildFailure {
1672
+ /**
1673
+ * The error message describing why the build failed
1674
+ */
1675
+ build_error: string;
1676
+ /**
1677
+ * When the build failure occurred
1678
+ */
1679
+ built_at: string;
1680
+ }
1681
+ /**
1682
+ * A successfully built user interface
1683
+ *
1684
+ * Contains the final artifact and metadata about when the UI was built.
1685
+ */
1686
+ interface BuiltUi1 {
1687
+ artifact: ArtifactUpdate1;
1688
+ /**
1689
+ * When the UI was successfully built
1690
+ */
1691
+ built_at: string;
1692
+ }
1693
+ /**
1694
+ * A response generated by a component for the user
1695
+ *
1696
+ * Contains a message explaining what was accomplished, any artifacts
1697
+ * that were created or modified, and whether the operation was successful.
1698
+ */
1699
+ interface ComponentResponse1 {
1700
+ /**
1701
+ * The message to display to the user
1702
+ */
1703
+ message: string;
1704
+ /**
1705
+ * List of artifacts that were created or modified
1706
+ */
1707
+ modified_artifacts: ArtifactUpdate[];
1708
+ /**
1709
+ * Whether the operation completed successfully
1710
+ */
1711
+ success: boolean;
1712
+ /**
1713
+ * When this response was generated
1714
+ */
1715
+ generated_at: string;
1716
+ }
1717
+ /**
1718
+ * A response generated by a component for the user
1719
+ *
1720
+ * Contains a message explaining what was accomplished, any artifacts
1721
+ * that were created or modified, and whether the operation was successful.
1722
+ */
1723
+ interface ComponentResponse2 {
1724
+ /**
1725
+ * The message to display to the user
1726
+ */
1727
+ message: string;
1728
+ /**
1729
+ * List of artifacts that were created or modified
1730
+ */
1731
+ modified_artifacts: ArtifactUpdate[];
1732
+ /**
1733
+ * Whether the operation completed successfully
1734
+ */
1735
+ success: boolean;
1736
+ /**
1737
+ * When this response was generated
1738
+ */
1739
+ generated_at: string;
1740
+ }
1741
+ /**
1742
+ * A file generated by the LLM for program execution
1743
+ */
1744
+ interface GeneratedFile {
1745
+ /**
1746
+ * Name of the file (e.g., ``prepare_input.py``)
1747
+ */
1748
+ file_name: string;
1749
+ /**
1750
+ * Content of the file
1751
+ */
1752
+ content: string;
1753
+ }
1754
+ /**
1755
+ * Configuration for running a custom program from LLM output
1756
+ */
1757
+ interface RunProgramRequest {
1758
+ /**
1759
+ * File references for this run (references files from generated output)
1760
+ */
1761
+ files: string[];
1762
+ /**
1763
+ * The run configuration (steps to execute, serialized as JSON for decoupling from programs crate)
1764
+ */
1765
+ run_config: {
1766
+ [k: string]: unknown;
1767
+ };
1768
+ }
1769
+ /**
1770
+ * Configuration for running a saved program from LLM output
1771
+ */
1772
+ interface RunSavedProgramRequest {
1773
+ /**
1774
+ * The package name of the saved program to run
1775
+ */
1776
+ program_package_name: string;
1777
+ /**
1778
+ * The entry point file (e.g., "default.run.json")
1779
+ */
1780
+ entry_point: string;
1781
+ }
1782
+ /**
1783
+ * A response generated by a component for the user
1784
+ *
1785
+ * Contains a message explaining what was accomplished, any artifacts
1786
+ * that were created or modified, and whether the operation was successful.
1787
+ */
1788
+ interface ComponentResponse3 {
1789
+ /**
1790
+ * The message to display to the user
1791
+ */
1792
+ message: string;
1793
+ /**
1794
+ * List of artifacts that were created or modified
1795
+ */
1796
+ modified_artifacts: ArtifactUpdate[];
1797
+ /**
1798
+ * Whether the operation completed successfully
1799
+ */
1800
+ success: boolean;
1801
+ /**
1802
+ * When this response was generated
1803
+ */
1804
+ generated_at: string;
1805
+ }
1806
+ /**
1807
+ * A response generated by a component for the user
1808
+ *
1809
+ * Contains a message explaining what was accomplished, any artifacts
1810
+ * that were created or modified, and whether the operation was successful.
1811
+ */
1812
+ interface ComponentResponse4 {
1813
+ /**
1814
+ * The message to display to the user
1815
+ */
1816
+ message: string;
1817
+ /**
1818
+ * List of artifacts that were created or modified
1819
+ */
1820
+ modified_artifacts: ArtifactUpdate[];
1821
+ /**
1822
+ * Whether the operation completed successfully
1823
+ */
1824
+ success: boolean;
1825
+ /**
1826
+ * When this response was generated
1827
+ */
1828
+ generated_at: string;
1829
+ }
1830
+ /**
1831
+ * A response generated by a component for the user
1832
+ *
1833
+ * Contains a message explaining what was accomplished, any artifacts
1834
+ * that were created or modified, and whether the operation was successful.
1835
+ */
1836
+ interface ComponentResponse5 {
1837
+ /**
1838
+ * The message to display to the user
1839
+ */
1840
+ message: string;
1841
+ /**
1842
+ * List of artifacts that were created or modified
1843
+ */
1844
+ modified_artifacts: ArtifactUpdate[];
1845
+ /**
1846
+ * Whether the operation completed successfully
1847
+ */
1848
+ success: boolean;
1849
+ /**
1850
+ * When this response was generated
1851
+ */
1852
+ generated_at: string;
1853
+ }
1854
+ /**
1855
+ * The completed confidence analysis
1856
+ */
1857
+ interface ConfidenceAnalysis {
1858
+ /**
1859
+ * The agent's understanding of what the user wanted to accomplish
1860
+ */
1861
+ user_goal_for_latest_interaction: string;
1862
+ /**
1863
+ * Business topics and their fact-checked assumptions
1864
+ */
1865
+ artifact_assumptions: CheckedTopic[];
1866
+ }
1867
+ /**
1868
+ * A business topic with its associated fact-checked assumptions
1869
+ *
1870
+ * Groups related assumptions under a common topic for better organization
1871
+ * and analysis of the agent's understanding.
1872
+ */
1873
+ interface CheckedTopic {
1874
+ /**
1875
+ * The business topic or domain area
1876
+ */
1877
+ topic: string;
1878
+ /**
1879
+ * List of assumptions related to this topic that have been fact-checked
1880
+ */
1881
+ assumptions: CheckedAssumption[];
1882
+ }
1883
+ /**
1884
+ * An assumption that has been fact-checked against available knowledge
1885
+ *
1886
+ * Contains the original assumption text and the results of verifying
1887
+ * it against system instructions, wiki pages, and other sources.
1888
+ */
1889
+ interface CheckedAssumption {
1890
+ /**
1891
+ * The assumption that was made
1892
+ */
1893
+ assumption: string;
1894
+ fact_check: AssumptionFactCheck;
1895
+ }
1896
+ /**
1897
+ * Results of fact-checking this assumption
1898
+ */
1899
+ interface AssumptionFactCheck {
1900
+ /**
1901
+ * The assumption that was fact-checked
1902
+ */
1903
+ assumption: string;
1904
+ /**
1905
+ * Sources that provide evidence for or against this assumption
1906
+ */
1907
+ supporting_facts?: FactSource[];
1908
+ /**
1909
+ * Whether this assumption is fully supported by available facts
1910
+ */
1911
+ fully_backed_by_facts: boolean;
1912
+ /**
1913
+ * Additional explanation about the fact-checking results
1914
+ */
1915
+ explanation?: string | null;
1916
+ }
1917
+ /**
1918
+ * LLM usage breakdown for confidence analysis
1919
+ *
1920
+ * Tracks language model usage across the different phases of confidence analysis.
1921
+ */
1922
+ interface ConfidenceAnalysisLlmUsage {
1923
+ /**
1924
+ * LLM usage for identifying business topics
1925
+ */
1926
+ business_topics: LlmUsage[];
1927
+ /**
1928
+ * LLM usage for generating assumptions
1929
+ */
1930
+ assumptions: LlmUsage[];
1931
+ /**
1932
+ * LLM usage for fact-checking assumptions
1933
+ */
1934
+ fact_check: LlmUsage[];
1935
+ }
1936
+ interface WikiDelta {
1937
+ changes: WikiChange[];
1938
+ nudge_text: string;
1939
+ }
1940
+ /**
1941
+ * Definition of a wiki page
1942
+ */
1943
+ interface WikiPageV1 {
1944
+ /**
1945
+ * The title of the wiki page
1946
+ */
1947
+ title: WikiTitle;
1948
+ /**
1949
+ * The alias titles of the wiki page
1950
+ */
1951
+ aliases?: WikiTitle[];
1952
+ /**
1953
+ * Whether this is a stub page
1954
+ */
1955
+ stub?: boolean;
1956
+ /**
1957
+ * The definition of the topic of the wiki page
1958
+ */
1959
+ definition?: WikiContent | null;
1960
+ /**
1961
+ * Detailed information about the topic of the wiki page
1962
+ */
1963
+ details?: WikiContent | null;
1964
+ /**
1965
+ * Additional sections for related topics of the wiki page
1966
+ */
1967
+ sections?: WikiSection[];
1968
+ }
1969
+ /**
1970
+ * Definition of a section inside a wiki page
1971
+ */
1972
+ interface WikiSection {
1973
+ /**
1974
+ * The title of the section
1975
+ */
1976
+ title: WikiTitle;
1977
+ /**
1978
+ * The markdown content of the section
1979
+ */
1980
+ content: WikiContent;
1981
+ }
1982
+ /**
1983
+ * A warning message generated during agent processing
1984
+ *
1985
+ * Warnings indicate potential issues or important information that doesn't
1986
+ * prevent the interaction from completing but should be brought to the user's attention.
1987
+ */
1988
+ interface Warning {
1989
+ /**
1990
+ * The warning message to display to the user
1991
+ */
1992
+ message: string;
1993
+ }
1994
+ /**
1995
+ * A request from a user to cancel a running agent interaction
1996
+ */
1997
+ interface UserCancel {
1998
+ /**
1999
+ * When the cancellation request was made
2000
+ */
2001
+ timestamp: string;
2002
+ }
2003
+ /**
2004
+ * LLM usage for social feed rating analysis
2005
+ *
2006
+ * Tracks language model usage during the social feed rating process.
2007
+ */
2008
+ interface SocialFeedRatingLlmUsage {
2009
+ /**
2010
+ * LLM usage for analyzing and rating the thread content
2011
+ */
2012
+ rating: LlmUsage[];
2013
+ }
2014
+ interface AgentState {
2015
+ title?: string | null;
2016
+ interactions: Interaction[];
2017
+ thread_participants: ThreadParticipants;
2018
+ /**
2019
+ * A unique index for a user message in a thread
2020
+ */
2021
+ current_user_message_id: string;
2022
+ /**
2023
+ * A unique index for a agent message in a thread
2024
+ */
2025
+ current_agent_message_id: string;
2026
+ /**
2027
+ * Metadata for artifacts uploaded by users in messages
2028
+ */
2029
+ user_upload_metadata: {
2030
+ [k: string]: UserUploadMetadata;
2031
+ };
2032
+ }
2033
+ interface Interaction {
2034
+ user: UserInteraction;
2035
+ agent?: AgentInteraction | null;
2036
+ }
2037
+ interface UserInteraction {
2038
+ /**
2039
+ * A unique index for a user message in a thread
2040
+ */
2041
+ user_message_id: string;
2042
+ user: UserMessage;
2043
+ user_id: PromptQlUserId;
2044
+ }
2045
+ interface AgentInteraction {
2046
+ /**
2047
+ * A unique index for a agent message in a thread
2048
+ */
2049
+ agent_message_id: string;
2050
+ message_processing?: MessageProcessingState | null;
2051
+ planning_decision: PlanningDecisionState;
2052
+ orchestrator: OrchestratorState;
2053
+ response: ResponseGenerationState;
2054
+ outcome?: InteractionOutcome | null;
2055
+ confidence?: ConfidenceAnalysisOutcome | null;
2056
+ social_feed_rating?: SocialFeedRatingOutcome | null;
2057
+ wiki_generation?: WikiGenerationOutcome | null;
2058
+ }
2059
+ interface MessageProcessingState {
2060
+ processed_user_message: Span[];
2061
+ assumptions: string[];
2062
+ clarification_request?: string | null;
2063
+ completed_at?: string | null;
2064
+ wiki_explorer_state?: WikiExplorerState | null;
2065
+ }
2066
+ interface OrchestratorState {
2067
+ context_explorer: ContextExplorerState;
2068
+ plans: PlanState[];
2069
+ response?: ComponentResponse | null;
2070
+ }
2071
+ /**
2072
+ * A code action paired with its analysis.
2073
+ * This represents a complete exploration iteration: code generation, execution, and analysis.
2074
+ */
2075
+ interface AnalyzedCodeAction {
2076
+ code_action: CodeAction;
2077
+ analysis: CodeOutputAnalysis1;
2078
+ }
2079
+ interface CodeAction {
2080
+ artifact_name: string;
2081
+ code: string;
2082
+ generated_at: string;
2083
+ output?: string | null;
2084
+ error?: string | null;
2085
+ executed_at?: string | null;
2086
+ }
2087
+ /**
2088
+ * Analysis of code output from schema exploration
2089
+ */
2090
+ interface CodeOutputAnalysis1 {
2091
+ /**
2092
+ * Analysis about the code output
2093
+ */
2094
+ analysis: string;
2095
+ /**
2096
+ * Suggested next steps based on the analysis.
2097
+ */
2098
+ next_steps?: string | null;
2099
+ }
2100
+ /**
2101
+ * Context information about database schemas and data structures
2102
+ *
2103
+ * Contains processed information about available data sources,
2104
+ * their structure, and relationships.
2105
+ */
2106
+ interface SchemaContext1 {
2107
+ schema_tasks: SchemaTask[];
2108
+ schema_exploration_successful: boolean;
2109
+ }
2110
+ interface PlanState {
2111
+ steps: PlanStateStep[];
2112
+ generation_started_at: string;
2113
+ generation_completed_at?: string | null;
2114
+ }
2115
+ interface PlanStateStep {
2116
+ title: string;
2117
+ instructions?: string | null;
2118
+ generated_at: string;
2119
+ execution_started_at?: string | null;
2120
+ state: StepState;
2121
+ }
2122
+ interface ProgrammerState {
2123
+ /**
2124
+ * Completed code generation cycles (code + execution + analysis)
2125
+ */
2126
+ completed_actions: AnalyzedCodeAction2[];
2127
+ /**
2128
+ * Current action state (Code, Analysis, or Summary)
2129
+ */
2130
+ current_action?: CurrentAction | null;
2131
+ response?: ComponentResponse | null;
2132
+ }
2133
+ /**
2134
+ * A code action paired with its analysis.
2135
+ * This represents a complete iteration: code generation, execution, and analysis.
2136
+ */
2137
+ interface AnalyzedCodeAction2 {
2138
+ code_action: CodeAction2;
2139
+ analysis: CodeOutputAnalysis1;
2140
+ }
2141
+ interface CodeAction2 {
2142
+ artifact_name: string;
2143
+ code: string;
2144
+ generated_at: string;
2145
+ code_output?: string | null;
2146
+ code_execution_error?: string | null;
2147
+ code_execution_started_at?: string | null;
2148
+ code_executed_at?: string | null;
2149
+ accessed_artifacts: string[];
2150
+ modified_artifacts: ArtifactUpdate[];
2151
+ }
2152
+ interface SummaryAction {
2153
+ response: string;
2154
+ success: boolean;
2155
+ generated_at: string;
2156
+ }
2157
+ interface UiBuild {
2158
+ generated_code: GeneratedUiCode1;
2159
+ build_result: UiBuildResult;
2160
+ }
2161
+ /**
2162
+ * Generated UI code and associated metadata
2163
+ *
2164
+ * Contains the TypeScript/React and CSS code generated for a user interface,
2165
+ * along with metadata about the UI and any data dependencies.
2166
+ */
2167
+ interface GeneratedUiCode1 {
2168
+ /**
2169
+ * Metadata about the UI (title, artifact name, etc.).
2170
+ * This is an Option only for historic reasons when we didn't always make the ui metadata mandatory for the LLM to generate
2171
+ */
2172
+ ui_metadata?: UiMetadata | null;
2173
+ /**
2174
+ * The generated TypeScript/React code
2175
+ */
2176
+ tsx_code?: string | null;
2177
+ /**
2178
+ * The generated CSS styling code
2179
+ */
2180
+ css_code?: string | null;
2181
+ /**
2182
+ * Names of data artifacts that this UI imports/uses
2183
+ */
2184
+ imported_data_artifacts: string[];
2185
+ /**
2186
+ * When this code was generated
2187
+ */
2188
+ generated_at: string;
2189
+ /**
2190
+ * LLM usage during code generation
2191
+ */
2192
+ llm_usage?: LlmUsage[];
2193
+ }
2194
+ interface UiBuild2 {
2195
+ generated_code: GeneratedUiCode1;
2196
+ build_result: BuiltUi;
2197
+ }
2198
+ /**
2199
+ * State machine for the saved program runner step
2200
+ */
2201
+ interface SavedProgramRunnerState {
2202
+ previous_attempts: ProgramRunnerAttempt[];
2203
+ stage: SavedProgramRunnerStage;
2204
+ artifact_state: ArtifactState;
2205
+ }
2206
+ /**
2207
+ * A single attempt at running the program (may include multiple program runs)
2208
+ */
2209
+ interface ProgramRunnerAttempt {
2210
+ generated_output: GeneratedProgramRunnerOutput;
2211
+ action_results: ProgramRunnerActionResult[];
2212
+ }
2213
+ /**
2214
+ * Output generated by the LLM
2215
+ */
2216
+ interface GeneratedProgramRunnerOutput {
2217
+ /**
2218
+ * Sequential list of actions to execute, preserving the order from LLM output
2219
+ */
2220
+ actions: ProgramRunnerAction2[];
2221
+ generated_at: string;
2222
+ llm_usage: LlmUsage[];
2223
+ }
2224
+ /**
2225
+ * A file generated by the LLM
2226
+ */
2227
+ interface GeneratedFile2 {
2228
+ file_name: string;
2229
+ content: string;
2230
+ }
2231
+ /**
2232
+ * A program run configuration from LLM output
2233
+ */
2234
+ interface RunProgramRequest2 {
2235
+ files: string[];
2236
+ /**
2237
+ * The run configuration (steps to execute, serialized as JSON for flexibility)
2238
+ */
2239
+ run_config: RunConfigV1;
2240
+ }
2241
+ interface RunConfigV1 {
2242
+ /**
2243
+ * Declare dependencies on other programs, allows importing
2244
+ * their files in scripts in this program's scripts
2245
+ */
2246
+ dependencies?: Dependency[];
2247
+ /**
2248
+ * Execution pipeline, executed serially in order
2249
+ */
2250
+ steps: Step[];
2251
+ version: "v1";
2252
+ }
2253
+ /**
2254
+ * A dependency on another program
2255
+ */
2256
+ interface Dependency {
2257
+ /**
2258
+ * The package name of the program to depend on
2259
+ */
2260
+ program: string;
2261
+ }
2262
+ /**
2263
+ * Run a Python script
2264
+ */
2265
+ interface PythonStep {
2266
+ /**
2267
+ * The Python file to execute
2268
+ */
2269
+ file: string;
2270
+ /**
2271
+ * Optional: the program to load the file from
2272
+ * When running a script from another program, the artifacts available to it to see
2273
+ * will be the artifacts in this program, not the artifacts in the other program.
2274
+ * Any files from the other program will be available to the other program script.
2275
+ */
2276
+ program?: ProgramPackageName | null;
2277
+ type: "python";
2278
+ }
2279
+ /**
2280
+ * Run a SQL query, produces a table artifact named after the sql file (eg query.sql-results)
2281
+ */
2282
+ interface SqlStep {
2283
+ /**
2284
+ * The SQL file to execute
2285
+ */
2286
+ file: string;
2287
+ /**
2288
+ * Optional: the program to load the file from
2289
+ */
2290
+ program?: ProgramPackageName | null;
2291
+ type: "sql";
2292
+ }
2293
+ /**
2294
+ * Build a UI from .tsx and .css files, produces an html artifact named after the tsx file (eg ui.tsx-results)
2295
+ */
2296
+ interface UiBuildStep {
2297
+ /**
2298
+ * The TypeScript React file (App.tsx)
2299
+ */
2300
+ "App.tsx": string;
2301
+ /**
2302
+ * The CSS file (App.css)
2303
+ */
2304
+ "App.css": string;
2305
+ /**
2306
+ * Optional: the program to load the files from
2307
+ */
2308
+ program?: ProgramPackageName | null;
2309
+ /**
2310
+ * Optional: the name of the artifact to create
2311
+ * If not specified, the name of the tsx file will be used
2312
+ */
2313
+ artifactName?: string | null;
2314
+ /**
2315
+ * Optional: the title of the artifact to create
2316
+ * If not specified, the artifact name will be used
2317
+ */
2318
+ artifactTitle?: string | null;
2319
+ type: "ui-build";
2320
+ }
2321
+ /**
2322
+ * Run a data pipeline
2323
+ */
2324
+ interface PipelineStep {
2325
+ source: PipelineSource;
2326
+ transform: PipelineTransform;
2327
+ sink: PipelineSink;
2328
+ type: "pipeline";
2329
+ }
2330
+ /**
2331
+ * SQL query source
2332
+ */
2333
+ interface SqlSource {
2334
+ /**
2335
+ * SQL file name
2336
+ */
2337
+ sql: string;
2338
+ type: "sql";
2339
+ }
2340
+ /**
2341
+ * Python program transform
2342
+ */
2343
+ interface ProgramTransform {
2344
+ /**
2345
+ * Python source file
2346
+ */
2347
+ source: string;
2348
+ type: "program";
2349
+ }
2350
+ /**
2351
+ * Shelf table sink
2352
+ */
2353
+ interface ShelfSink {
2354
+ /**
2355
+ * Table name
2356
+ */
2357
+ tableName: string;
2358
+ schema: PipelineSchema;
2359
+ /**
2360
+ * Partitioning configuration
2361
+ */
2362
+ partitioning?: PipelinePartitionSpec[];
2363
+ type: "shelf";
2364
+ }
2365
+ /**
2366
+ * Table schema
2367
+ */
2368
+ interface PipelineSchema {
2369
+ /**
2370
+ * Column definitions
2371
+ */
2372
+ columns: PipelineColumn[];
2373
+ }
2374
+ /**
2375
+ * Pipeline column definition
2376
+ */
2377
+ interface PipelineColumn {
2378
+ /**
2379
+ * Column name
2380
+ */
2381
+ name: string;
2382
+ type: PipelineColumnType;
2383
+ }
2384
+ /**
2385
+ * Pipeline partition specification
2386
+ */
2387
+ interface PipelinePartitionSpec {
2388
+ /**
2389
+ * Partition name
2390
+ */
2391
+ name: string;
2392
+ /**
2393
+ * Column to partition on
2394
+ */
2395
+ column: string;
2396
+ transform: PipelinePartitionTransform;
2397
+ }
2398
+ interface RunSavedProgramRequest2 {
2399
+ program_package_name: string;
2400
+ entry_point: string;
2401
+ }
2402
+ /**
2403
+ * Result of executing a program run
2404
+ */
2405
+ interface ProgramRunResult {
2406
+ started_at: string;
2407
+ completed_at: string;
2408
+ events: ProgramRunEvent[];
2409
+ success: boolean;
2410
+ output?: string | null;
2411
+ error?: string | null;
2412
+ modified_artifacts: ArtifactUpdate[];
2413
+ }
2414
+ interface RunStartedV1 {
2415
+ version: "V1";
2416
+ }
2417
+ interface StepExecutionStartedV1 {
2418
+ step_index: number;
2419
+ step: RunStepDetails;
2420
+ version: "V1";
2421
+ }
2422
+ interface PythonRunStepDetails {
2423
+ other_program_id?: ProgramId | null;
2424
+ file: string;
2425
+ type: "PythonRunStepDetails";
2426
+ }
2427
+ interface SqlRunStepDetails {
2428
+ other_program_id?: ProgramId | null;
2429
+ file: string;
2430
+ type: "SqlRunStepDetails";
2431
+ }
2432
+ interface UiBuildRunStepDetails {
2433
+ other_program_id?: ProgramId | null;
2434
+ app_tsx: string;
2435
+ app_css: string;
2436
+ type: "UiBuildRunStepDetails";
2437
+ }
2438
+ interface PipelineRunStepDetails {
2439
+ type: "PipelineRunStepDetails";
2440
+ }
2441
+ interface DataArtifactUpdatedV1 {
2442
+ step_index: number;
2443
+ name: string;
2444
+ title: string;
2445
+ artifact: ArtifactReference1;
2446
+ artifact_type: ArtifactType2;
2447
+ version: "V1";
2448
+ }
2449
+ interface OutputEmittedV1 {
2450
+ step_index: number;
2451
+ output: string;
2452
+ version: "V1";
2453
+ }
2454
+ interface CodeErrorV1 {
2455
+ step_index: number;
2456
+ error: string;
2457
+ version: "V1";
2458
+ }
2459
+ interface SqlErrorV1 {
2460
+ step_index: number;
2461
+ error: string;
2462
+ version: "V1";
2463
+ }
2464
+ interface BuildErrorV1 {
2465
+ step_index: number;
2466
+ error: string;
2467
+ version: "V1";
2468
+ }
2469
+ interface ArtifactErrorV1 {
2470
+ step_index: number;
2471
+ error: string;
2472
+ version: "V1";
2473
+ }
2474
+ interface StepExecutionFinishedV1 {
2475
+ step_index: number;
2476
+ error?: string | null;
2477
+ version: "V1";
2478
+ }
2479
+ interface RunFinishedV1 {
2480
+ outcome: RunFinishedOutcome;
2481
+ version: "V1";
2482
+ }
2483
+ interface ArtifactState {
2484
+ [k: string]: ArtifactReference1;
2485
+ }
2486
+ /**
2487
+ * Analysis of the agent's confidence in its understanding and work
2488
+ *
2489
+ * Evaluates the assumptions made during processing and fact-checks them
2490
+ * against available knowledge to assess confidence in the results.
2491
+ */
2492
+ interface ConfidenceAnalysis1 {
2493
+ /**
2494
+ * The agent's understanding of what the user wanted to accomplish
2495
+ */
2496
+ user_goal_for_latest_interaction: string;
2497
+ /**
2498
+ * Business topics and their fact-checked assumptions
2499
+ */
2500
+ artifact_assumptions: CheckedTopic[];
2501
+ }
2502
+ interface ThreadParticipants {
2503
+ user_ids: PromptQlUserId[];
2504
+ }
2505
+ /**
2506
+ * Metadata about an uploaded artifact, fetched before agent starts
2507
+ */
2508
+ interface UserUploadMetadata {
2509
+ /**
2510
+ * Name of the artifact as provided by user
2511
+ */
2512
+ artifact_name: string;
2513
+ artifact_reference: ArtifactReference2;
2514
+ /**
2515
+ * Title of the artifact
2516
+ */
2517
+ title: string;
2518
+ /**
2519
+ * Description of the artifact (if any)
2520
+ */
2521
+ description?: string | null;
2522
+ /**
2523
+ * Type of the artifact (e.g., "table", "text", "file")
2524
+ */
2525
+ artifact_type: string;
2526
+ /**
2527
+ * Size of the artifact in bytes
2528
+ */
2529
+ size_bytes: number;
2530
+ }
2531
+ /**
2532
+ * Reference to the artifact
2533
+ */
2534
+ interface ArtifactReference2 {
2535
+ artifact_id: ArtifactId;
2536
+ version: number;
2537
+ }
2538
+
2539
+ type ApolloClientOptions = {
2540
+ url: string;
2541
+ headers?: Record<string, string>;
2542
+ getAuthToken: () => Promise<string>;
2543
+ fetch?: typeof fetch;
2544
+ };
2545
+ declare const createApolloClient: (options: ApolloClientOptions) => ApolloClient;
2546
+
2547
+ type Maybe<T> = T | null;
2548
+ type InputMaybe<T> = Maybe<T>;
2549
+ type Exact<T extends {
2550
+ [key: string]: unknown;
2551
+ }> = {
2552
+ [K in keyof T]: T[K];
2553
+ };
2554
+ /** All built-in and custom scalars, mapped to their actual values */
2555
+ type Scalars = {
2556
+ ID: {
2557
+ input: string;
2558
+ output: string;
2559
+ };
2560
+ String: {
2561
+ input: string;
2562
+ output: string;
2563
+ };
2564
+ Boolean: {
2565
+ input: boolean;
2566
+ output: boolean;
2567
+ };
2568
+ Int: {
2569
+ input: number;
2570
+ output: number;
2571
+ };
2572
+ Float: {
2573
+ input: number;
2574
+ output: number;
2575
+ };
2576
+ bigint: {
2577
+ input: string;
2578
+ output: string;
2579
+ };
2580
+ bytea: {
2581
+ input: string;
2582
+ output: string;
2583
+ };
2584
+ citext: {
2585
+ input: string;
2586
+ output: string;
2587
+ };
2588
+ float8: {
2589
+ input: number;
2590
+ output: number;
2591
+ };
2592
+ jsonb: {
2593
+ input: any;
2594
+ output: any;
2595
+ };
2596
+ timestamptz: {
2597
+ input: string;
2598
+ output: string;
2599
+ };
2600
+ tsvector: {
2601
+ input: any;
2602
+ output: any;
2603
+ };
2604
+ uuid: {
2605
+ input: string;
2606
+ output: string;
2607
+ };
2608
+ };
2609
+ /** Boolean expression to compare columns of type "Boolean". All fields are combined with logical 'AND'. */
2610
+ type Boolean_Comparison_Exp = {
2611
+ _eq?: InputMaybe<Scalars['Boolean']['input']>;
2612
+ _gt?: InputMaybe<Scalars['Boolean']['input']>;
2613
+ _gte?: InputMaybe<Scalars['Boolean']['input']>;
2614
+ _in?: InputMaybe<Array<Scalars['Boolean']['input']>>;
2615
+ _is_null?: InputMaybe<Scalars['Boolean']['input']>;
2616
+ _lt?: InputMaybe<Scalars['Boolean']['input']>;
2617
+ _lte?: InputMaybe<Scalars['Boolean']['input']>;
2618
+ _neq?: InputMaybe<Scalars['Boolean']['input']>;
2619
+ _nin?: InputMaybe<Array<Scalars['Boolean']['input']>>;
2620
+ };
2621
+ type EnrichTokenOutput = {
2622
+ __typename?: 'EnrichTokenOutput';
2623
+ userDirectoryJWT: Scalars['String']['output'];
2624
+ };
2625
+ type GetProjectInfoOutput = {
2626
+ __typename?: 'GetProjectInfoOutput';
2627
+ projectId: Scalars['String']['output'];
2628
+ projectName: Scalars['String']['output'];
2629
+ promptqlConsoleUrl: Scalars['String']['output'];
2630
+ };
2631
+ /** Boolean expression to compare columns of type "Int". All fields are combined with logical 'AND'. */
2632
+ type Int_Comparison_Exp = {
2633
+ _eq?: InputMaybe<Scalars['Int']['input']>;
2634
+ _gt?: InputMaybe<Scalars['Int']['input']>;
2635
+ _gte?: InputMaybe<Scalars['Int']['input']>;
2636
+ _in?: InputMaybe<Array<Scalars['Int']['input']>>;
2637
+ _is_null?: InputMaybe<Scalars['Boolean']['input']>;
2638
+ _lt?: InputMaybe<Scalars['Int']['input']>;
2639
+ _lte?: InputMaybe<Scalars['Int']['input']>;
2640
+ _neq?: InputMaybe<Scalars['Int']['input']>;
2641
+ _nin?: InputMaybe<Array<Scalars['Int']['input']>>;
2642
+ };
2643
+ /** Boolean expression to compare columns of type "String". All fields are combined with logical 'AND'. */
2644
+ type String_Comparison_Exp = {
2645
+ _eq?: InputMaybe<Scalars['String']['input']>;
2646
+ _gt?: InputMaybe<Scalars['String']['input']>;
2647
+ _gte?: InputMaybe<Scalars['String']['input']>;
2648
+ /** does the column match the given case-insensitive pattern */
2649
+ _ilike?: InputMaybe<Scalars['String']['input']>;
2650
+ _in?: InputMaybe<Array<Scalars['String']['input']>>;
2651
+ /** does the column match the given POSIX regular expression, case insensitive */
2652
+ _iregex?: InputMaybe<Scalars['String']['input']>;
2653
+ _is_null?: InputMaybe<Scalars['Boolean']['input']>;
2654
+ /** does the column match the given pattern */
2655
+ _like?: InputMaybe<Scalars['String']['input']>;
2656
+ _lt?: InputMaybe<Scalars['String']['input']>;
2657
+ _lte?: InputMaybe<Scalars['String']['input']>;
2658
+ _neq?: InputMaybe<Scalars['String']['input']>;
2659
+ /** does the column NOT match the given case-insensitive pattern */
2660
+ _nilike?: InputMaybe<Scalars['String']['input']>;
2661
+ _nin?: InputMaybe<Array<Scalars['String']['input']>>;
2662
+ /** does the column NOT match the given POSIX regular expression, case insensitive */
2663
+ _niregex?: InputMaybe<Scalars['String']['input']>;
2664
+ /** does the column NOT match the given pattern */
2665
+ _nlike?: InputMaybe<Scalars['String']['input']>;
2666
+ /** does the column NOT match the given POSIX regular expression, case sensitive */
2667
+ _nregex?: InputMaybe<Scalars['String']['input']>;
2668
+ /** does the column NOT match the given SQL regular expression */
2669
+ _nsimilar?: InputMaybe<Scalars['String']['input']>;
2670
+ /** does the column match the given POSIX regular expression, case sensitive */
2671
+ _regex?: InputMaybe<Scalars['String']['input']>;
2672
+ /** does the column match the given SQL regular expression */
2673
+ _similar?: InputMaybe<Scalars['String']['input']>;
2674
+ };
2675
+ /** Boolean expression to filter rows from the table "artifact_versions". All fields are combined with a logical 'AND'. */
2676
+ type Artifact_Versions_Bool_Exp = {
2677
+ _and?: InputMaybe<Array<Artifact_Versions_Bool_Exp>>;
2678
+ _not?: InputMaybe<Artifact_Versions_Bool_Exp>;
2679
+ _or?: InputMaybe<Array<Artifact_Versions_Bool_Exp>>;
2680
+ artifact?: InputMaybe<Artifacts_Bool_Exp>;
2681
+ artifact_id?: InputMaybe<Uuid_Comparison_Exp>;
2682
+ artifact_metadata?: InputMaybe<Jsonb_Comparison_Exp>;
2683
+ artifact_type?: InputMaybe<String_Comparison_Exp>;
2684
+ copy_of_artifact_id?: InputMaybe<Uuid_Comparison_Exp>;
2685
+ copy_of_artifact_version?: InputMaybe<Int_Comparison_Exp>;
2686
+ copy_of_artifact_version_object?: InputMaybe<Artifact_Versions_Bool_Exp>;
2687
+ created_at?: InputMaybe<Timestamptz_Comparison_Exp>;
2688
+ data?: InputMaybe<Bytea_Comparison_Exp>;
2689
+ data_location?: InputMaybe<String_Comparison_Exp>;
2690
+ description?: InputMaybe<String_Comparison_Exp>;
2691
+ size?: InputMaybe<Bigint_Comparison_Exp>;
2692
+ title?: InputMaybe<String_Comparison_Exp>;
2693
+ user_id?: InputMaybe<Uuid_Comparison_Exp>;
2694
+ version?: InputMaybe<Int_Comparison_Exp>;
2695
+ };
2696
+ /** Boolean expression to filter rows from the table "artifacts". All fields are combined with a logical 'AND'. */
2697
+ type Artifacts_Bool_Exp = {
2698
+ _and?: InputMaybe<Array<Artifacts_Bool_Exp>>;
2699
+ _not?: InputMaybe<Artifacts_Bool_Exp>;
2700
+ _or?: InputMaybe<Array<Artifacts_Bool_Exp>>;
2701
+ artifact_id?: InputMaybe<Uuid_Comparison_Exp>;
2702
+ artifact_versions?: InputMaybe<Artifact_Versions_Bool_Exp>;
2703
+ created_at?: InputMaybe<Timestamptz_Comparison_Exp>;
2704
+ latest_version?: InputMaybe<Int_Comparison_Exp>;
2705
+ latest_version_object?: InputMaybe<Artifact_Versions_Bool_Exp>;
2706
+ program_artifact?: InputMaybe<Program_Artifacts_Bool_Exp>;
2707
+ project_artifact?: InputMaybe<Project_Artifacts_Bool_Exp>;
2708
+ thread_artifacts?: InputMaybe<Thread_Artifacts_Bool_Exp>;
2709
+ updated_at?: InputMaybe<Timestamptz_Comparison_Exp>;
2710
+ };
2711
+ /** Boolean expression to compare columns of type "bigint". All fields are combined with logical 'AND'. */
2712
+ type Bigint_Comparison_Exp = {
2713
+ _eq?: InputMaybe<Scalars['bigint']['input']>;
2714
+ _gt?: InputMaybe<Scalars['bigint']['input']>;
2715
+ _gte?: InputMaybe<Scalars['bigint']['input']>;
2716
+ _in?: InputMaybe<Array<Scalars['bigint']['input']>>;
2717
+ _is_null?: InputMaybe<Scalars['Boolean']['input']>;
2718
+ _lt?: InputMaybe<Scalars['bigint']['input']>;
2719
+ _lte?: InputMaybe<Scalars['bigint']['input']>;
2720
+ _neq?: InputMaybe<Scalars['bigint']['input']>;
2721
+ _nin?: InputMaybe<Array<Scalars['bigint']['input']>>;
2722
+ };
2723
+ /** Boolean expression to compare columns of type "bytea". All fields are combined with logical 'AND'. */
2724
+ type Bytea_Comparison_Exp = {
2725
+ _eq?: InputMaybe<Scalars['bytea']['input']>;
2726
+ _gt?: InputMaybe<Scalars['bytea']['input']>;
2727
+ _gte?: InputMaybe<Scalars['bytea']['input']>;
2728
+ _in?: InputMaybe<Array<Scalars['bytea']['input']>>;
2729
+ _is_null?: InputMaybe<Scalars['Boolean']['input']>;
2730
+ _lt?: InputMaybe<Scalars['bytea']['input']>;
2731
+ _lte?: InputMaybe<Scalars['bytea']['input']>;
2732
+ _neq?: InputMaybe<Scalars['bytea']['input']>;
2733
+ _nin?: InputMaybe<Array<Scalars['bytea']['input']>>;
2734
+ };
2735
+ /** Boolean expression to compare columns of type "citext". All fields are combined with logical 'AND'. */
2736
+ type Citext_Comparison_Exp = {
2737
+ _eq?: InputMaybe<Scalars['citext']['input']>;
2738
+ _gt?: InputMaybe<Scalars['citext']['input']>;
2739
+ _gte?: InputMaybe<Scalars['citext']['input']>;
2740
+ /** does the column match the given case-insensitive pattern */
2741
+ _ilike?: InputMaybe<Scalars['citext']['input']>;
2742
+ _in?: InputMaybe<Array<Scalars['citext']['input']>>;
2743
+ /** does the column match the given POSIX regular expression, case insensitive */
2744
+ _iregex?: InputMaybe<Scalars['citext']['input']>;
2745
+ _is_null?: InputMaybe<Scalars['Boolean']['input']>;
2746
+ /** does the column match the given pattern */
2747
+ _like?: InputMaybe<Scalars['citext']['input']>;
2748
+ _lt?: InputMaybe<Scalars['citext']['input']>;
2749
+ _lte?: InputMaybe<Scalars['citext']['input']>;
2750
+ _neq?: InputMaybe<Scalars['citext']['input']>;
2751
+ /** does the column NOT match the given case-insensitive pattern */
2752
+ _nilike?: InputMaybe<Scalars['citext']['input']>;
2753
+ _nin?: InputMaybe<Array<Scalars['citext']['input']>>;
2754
+ /** does the column NOT match the given POSIX regular expression, case insensitive */
2755
+ _niregex?: InputMaybe<Scalars['citext']['input']>;
2756
+ /** does the column NOT match the given pattern */
2757
+ _nlike?: InputMaybe<Scalars['citext']['input']>;
2758
+ /** does the column NOT match the given POSIX regular expression, case sensitive */
2759
+ _nregex?: InputMaybe<Scalars['citext']['input']>;
2760
+ /** does the column NOT match the given SQL regular expression */
2761
+ _nsimilar?: InputMaybe<Scalars['citext']['input']>;
2762
+ /** does the column match the given POSIX regular expression, case sensitive */
2763
+ _regex?: InputMaybe<Scalars['citext']['input']>;
2764
+ /** does the column match the given SQL regular expression */
2765
+ _similar?: InputMaybe<Scalars['citext']['input']>;
2766
+ };
2767
+ /** order by aggregate values of table "custom_claim_assignments" */
2768
+ type Custom_Claim_Assignments_Aggregate_Order_By = {
2769
+ count?: InputMaybe<Order_By>;
2770
+ max?: InputMaybe<Custom_Claim_Assignments_Max_Order_By>;
2771
+ min?: InputMaybe<Custom_Claim_Assignments_Min_Order_By>;
2772
+ };
2773
+ /** Boolean expression to filter rows from the table "custom_claim_assignments". All fields are combined with a logical 'AND'. */
2774
+ type Custom_Claim_Assignments_Bool_Exp = {
2775
+ _and?: InputMaybe<Array<Custom_Claim_Assignments_Bool_Exp>>;
2776
+ _not?: InputMaybe<Custom_Claim_Assignments_Bool_Exp>;
2777
+ _or?: InputMaybe<Array<Custom_Claim_Assignments_Bool_Exp>>;
2778
+ assignee?: InputMaybe<Promptql_Users_Bool_Exp>;
2779
+ assignee_id?: InputMaybe<Uuid_Comparison_Exp>;
2780
+ claim_key_id?: InputMaybe<Uuid_Comparison_Exp>;
2781
+ claim_value?: InputMaybe<String_Comparison_Exp>;
2782
+ custom_claim_key?: InputMaybe<Custom_Claim_Keys_Bool_Exp>;
2783
+ };
2784
+ /** order by max() on columns of table "custom_claim_assignments" */
2785
+ type Custom_Claim_Assignments_Max_Order_By = {
2786
+ assignee_id?: InputMaybe<Order_By>;
2787
+ claim_key_id?: InputMaybe<Order_By>;
2788
+ claim_value?: InputMaybe<Order_By>;
2789
+ };
2790
+ /** order by min() on columns of table "custom_claim_assignments" */
2791
+ type Custom_Claim_Assignments_Min_Order_By = {
2792
+ assignee_id?: InputMaybe<Order_By>;
2793
+ claim_key_id?: InputMaybe<Order_By>;
2794
+ claim_value?: InputMaybe<Order_By>;
2795
+ };
2796
+ /** Boolean expression to filter rows from the table "custom_claim_keys". All fields are combined with a logical 'AND'. */
2797
+ type Custom_Claim_Keys_Bool_Exp = {
2798
+ _and?: InputMaybe<Array<Custom_Claim_Keys_Bool_Exp>>;
2799
+ _not?: InputMaybe<Custom_Claim_Keys_Bool_Exp>;
2800
+ _or?: InputMaybe<Array<Custom_Claim_Keys_Bool_Exp>>;
2801
+ claim_key?: InputMaybe<String_Comparison_Exp>;
2802
+ created_by?: InputMaybe<Uuid_Comparison_Exp>;
2803
+ creator?: InputMaybe<Promptql_Users_Bool_Exp>;
2804
+ custom_claim_assignments?: InputMaybe<Custom_Claim_Assignments_Bool_Exp>;
2805
+ custom_claim_owners?: InputMaybe<Custom_Claim_Owners_Bool_Exp>;
2806
+ description?: InputMaybe<String_Comparison_Exp>;
2807
+ id?: InputMaybe<Uuid_Comparison_Exp>;
2808
+ project_id?: InputMaybe<Uuid_Comparison_Exp>;
2809
+ };
2810
+ /** Boolean expression to filter rows from the table "custom_claim_owners". All fields are combined with a logical 'AND'. */
2811
+ type Custom_Claim_Owners_Bool_Exp = {
2812
+ _and?: InputMaybe<Array<Custom_Claim_Owners_Bool_Exp>>;
2813
+ _not?: InputMaybe<Custom_Claim_Owners_Bool_Exp>;
2814
+ _or?: InputMaybe<Array<Custom_Claim_Owners_Bool_Exp>>;
2815
+ claim_key_id?: InputMaybe<Uuid_Comparison_Exp>;
2816
+ custom_claim_key?: InputMaybe<Custom_Claim_Keys_Bool_Exp>;
2817
+ id?: InputMaybe<Uuid_Comparison_Exp>;
2818
+ owner?: InputMaybe<Promptql_Users_Bool_Exp>;
2819
+ owner_id?: InputMaybe<Uuid_Comparison_Exp>;
2820
+ };
2821
+ type Jsonb_Cast_Exp = {
2822
+ String?: InputMaybe<String_Comparison_Exp>;
2823
+ };
2824
+ /** Boolean expression to compare columns of type "jsonb". All fields are combined with logical 'AND'. */
2825
+ type Jsonb_Comparison_Exp = {
2826
+ _cast?: InputMaybe<Jsonb_Cast_Exp>;
2827
+ /** is the column contained in the given json value */
2828
+ _contained_in?: InputMaybe<Scalars['jsonb']['input']>;
2829
+ /** does the column contain the given json value at the top level */
2830
+ _contains?: InputMaybe<Scalars['jsonb']['input']>;
2831
+ _eq?: InputMaybe<Scalars['jsonb']['input']>;
2832
+ _gt?: InputMaybe<Scalars['jsonb']['input']>;
2833
+ _gte?: InputMaybe<Scalars['jsonb']['input']>;
2834
+ /** does the string exist as a top-level key in the column */
2835
+ _has_key?: InputMaybe<Scalars['String']['input']>;
2836
+ /** do all of these strings exist as top-level keys in the column */
2837
+ _has_keys_all?: InputMaybe<Array<Scalars['String']['input']>>;
2838
+ /** do any of these strings exist as top-level keys in the column */
2839
+ _has_keys_any?: InputMaybe<Array<Scalars['String']['input']>>;
2840
+ _in?: InputMaybe<Array<Scalars['jsonb']['input']>>;
2841
+ _is_null?: InputMaybe<Scalars['Boolean']['input']>;
2842
+ _lt?: InputMaybe<Scalars['jsonb']['input']>;
2843
+ _lte?: InputMaybe<Scalars['jsonb']['input']>;
2844
+ _neq?: InputMaybe<Scalars['jsonb']['input']>;
2845
+ _nin?: InputMaybe<Array<Scalars['jsonb']['input']>>;
2846
+ };
2847
+ /** Boolean expression to filter rows from the table "notification_preference_enum". All fields are combined with a logical 'AND'. */
2848
+ type Notification_Preference_Enum_Bool_Exp = {
2849
+ _and?: InputMaybe<Array<Notification_Preference_Enum_Bool_Exp>>;
2850
+ _not?: InputMaybe<Notification_Preference_Enum_Bool_Exp>;
2851
+ _or?: InputMaybe<Array<Notification_Preference_Enum_Bool_Exp>>;
2852
+ comment?: InputMaybe<String_Comparison_Exp>;
2853
+ user_slack_notification_preferences?: InputMaybe<User_Slack_Notification_Preferences_Bool_Exp>;
2854
+ value?: InputMaybe<String_Comparison_Exp>;
2855
+ };
2856
+ type Notification_Preference_Enum_Enum =
2857
+ /** All notifications for all events */
2858
+ 'All'
2859
+ /** No notifications for any event */
2860
+ | 'Nothing';
2861
+ /** Boolean expression to compare columns of type "notification_preference_enum_enum". All fields are combined with logical 'AND'. */
2862
+ type Notification_Preference_Enum_Enum_Comparison_Exp = {
2863
+ _eq?: InputMaybe<Notification_Preference_Enum_Enum>;
2864
+ _in?: InputMaybe<Array<Notification_Preference_Enum_Enum>>;
2865
+ _is_null?: InputMaybe<Scalars['Boolean']['input']>;
2866
+ _neq?: InputMaybe<Notification_Preference_Enum_Enum>;
2867
+ _nin?: InputMaybe<Array<Notification_Preference_Enum_Enum>>;
2868
+ };
2869
+ /** Ordering options when selecting data from "notification_preference_enum". */
2870
+ type Notification_Preference_Enum_Order_By = {
2871
+ comment?: InputMaybe<Order_By>;
2872
+ user_slack_notification_preferences_aggregate?: InputMaybe<User_Slack_Notification_Preferences_Aggregate_Order_By>;
2873
+ value?: InputMaybe<Order_By>;
2874
+ };
2875
+ /** column ordering options */
2876
+ type Order_By =
2877
+ /** in ascending order, nulls last */
2878
+ 'asc'
2879
+ /** in ascending order, nulls first */
2880
+ | 'asc_nulls_first'
2881
+ /** in ascending order, nulls last */
2882
+ | 'asc_nulls_last'
2883
+ /** in descending order, nulls first */
2884
+ | 'desc'
2885
+ /** in descending order, nulls first */
2886
+ | 'desc_nulls_first'
2887
+ /** in descending order, nulls last */
2888
+ | 'desc_nulls_last';
2889
+ /** order by aggregate values of table "pinned_threads_v2" */
2890
+ type Pinned_Threads_V2_Aggregate_Order_By = {
2891
+ count?: InputMaybe<Order_By>;
2892
+ max?: InputMaybe<Pinned_Threads_V2_Max_Order_By>;
2893
+ min?: InputMaybe<Pinned_Threads_V2_Min_Order_By>;
2894
+ };
2895
+ /** Boolean expression to filter rows from the table "pinned_threads_v2". All fields are combined with a logical 'AND'. */
2896
+ type Pinned_Threads_V2_Bool_Exp = {
2897
+ _and?: InputMaybe<Array<Pinned_Threads_V2_Bool_Exp>>;
2898
+ _not?: InputMaybe<Pinned_Threads_V2_Bool_Exp>;
2899
+ _or?: InputMaybe<Array<Pinned_Threads_V2_Bool_Exp>>;
2900
+ created_at?: InputMaybe<Timestamptz_Comparison_Exp>;
2901
+ thread?: InputMaybe<Threads_V2_Bool_Exp>;
2902
+ thread_id?: InputMaybe<Uuid_Comparison_Exp>;
2903
+ user_id?: InputMaybe<Uuid_Comparison_Exp>;
2904
+ };
2905
+ /** order by max() on columns of table "pinned_threads_v2" */
2906
+ type Pinned_Threads_V2_Max_Order_By = {
2907
+ created_at?: InputMaybe<Order_By>;
2908
+ thread_id?: InputMaybe<Order_By>;
2909
+ user_id?: InputMaybe<Order_By>;
2910
+ };
2911
+ /** order by min() on columns of table "pinned_threads_v2" */
2912
+ type Pinned_Threads_V2_Min_Order_By = {
2913
+ created_at?: InputMaybe<Order_By>;
2914
+ thread_id?: InputMaybe<Order_By>;
2915
+ user_id?: InputMaybe<Order_By>;
2916
+ };
2917
+ type Program_Artifact_Kind_Enum_Enum =
2918
+ /** The artifact is data produced by the program */
2919
+ 'Data'
2920
+ /** The artifact is a file inside the program */
2921
+ | 'File';
2922
+ /** Boolean expression to compare columns of type "program_artifact_kind_enum_enum". All fields are combined with logical 'AND'. */
2923
+ type Program_Artifact_Kind_Enum_Enum_Comparison_Exp = {
2924
+ _eq?: InputMaybe<Program_Artifact_Kind_Enum_Enum>;
2925
+ _in?: InputMaybe<Array<Program_Artifact_Kind_Enum_Enum>>;
2926
+ _is_null?: InputMaybe<Scalars['Boolean']['input']>;
2927
+ _neq?: InputMaybe<Program_Artifact_Kind_Enum_Enum>;
2928
+ _nin?: InputMaybe<Array<Program_Artifact_Kind_Enum_Enum>>;
2929
+ };
2930
+ /** Boolean expression to filter rows from the table "program_artifacts". All fields are combined with a logical 'AND'. */
2931
+ type Program_Artifacts_Bool_Exp = {
2932
+ _and?: InputMaybe<Array<Program_Artifacts_Bool_Exp>>;
2933
+ _not?: InputMaybe<Program_Artifacts_Bool_Exp>;
2934
+ _or?: InputMaybe<Array<Program_Artifacts_Bool_Exp>>;
2935
+ artifact?: InputMaybe<Artifacts_Bool_Exp>;
2936
+ artifact_id?: InputMaybe<Uuid_Comparison_Exp>;
2937
+ created_at?: InputMaybe<Timestamptz_Comparison_Exp>;
2938
+ kind?: InputMaybe<Program_Artifact_Kind_Enum_Enum_Comparison_Exp>;
2939
+ name?: InputMaybe<String_Comparison_Exp>;
2940
+ program?: InputMaybe<Programs_Bool_Exp>;
2941
+ program_id?: InputMaybe<Uuid_Comparison_Exp>;
2942
+ updated_at?: InputMaybe<Timestamptz_Comparison_Exp>;
2943
+ };
2944
+ /** Boolean expression to filter rows from the table "program_run_artifacts". All fields are combined with a logical 'AND'. */
2945
+ type Program_Run_Artifacts_Bool_Exp = {
2946
+ _and?: InputMaybe<Array<Program_Run_Artifacts_Bool_Exp>>;
2947
+ _not?: InputMaybe<Program_Run_Artifacts_Bool_Exp>;
2948
+ _or?: InputMaybe<Array<Program_Run_Artifacts_Bool_Exp>>;
2949
+ artifact_id?: InputMaybe<Uuid_Comparison_Exp>;
2950
+ artifact_version?: InputMaybe<Int_Comparison_Exp>;
2951
+ artifact_version_object?: InputMaybe<Artifact_Versions_Bool_Exp>;
2952
+ program_id?: InputMaybe<Uuid_Comparison_Exp>;
2953
+ program_run?: InputMaybe<Program_Runs_Bool_Exp>;
2954
+ run_id?: InputMaybe<Bigint_Comparison_Exp>;
2955
+ };
2956
+ /** Boolean expression to filter rows from the table "program_run_events". All fields are combined with a logical 'AND'. */
2957
+ type Program_Run_Events_Bool_Exp = {
2958
+ _and?: InputMaybe<Array<Program_Run_Events_Bool_Exp>>;
2959
+ _not?: InputMaybe<Program_Run_Events_Bool_Exp>;
2960
+ _or?: InputMaybe<Array<Program_Run_Events_Bool_Exp>>;
2961
+ created_at?: InputMaybe<Timestamptz_Comparison_Exp>;
2962
+ event_data?: InputMaybe<Jsonb_Comparison_Exp>;
2963
+ event_id?: InputMaybe<Bigint_Comparison_Exp>;
2964
+ program_id?: InputMaybe<Uuid_Comparison_Exp>;
2965
+ program_run?: InputMaybe<Program_Runs_Bool_Exp>;
2966
+ run_id?: InputMaybe<Bigint_Comparison_Exp>;
2967
+ step_index?: InputMaybe<Int_Comparison_Exp>;
2968
+ type?: InputMaybe<String_Comparison_Exp>;
2969
+ };
2970
+ /** Boolean expression to filter rows from the table "program_runs". All fields are combined with a logical 'AND'. */
2971
+ type Program_Runs_Bool_Exp = {
2972
+ _and?: InputMaybe<Array<Program_Runs_Bool_Exp>>;
2973
+ _not?: InputMaybe<Program_Runs_Bool_Exp>;
2974
+ _or?: InputMaybe<Array<Program_Runs_Bool_Exp>>;
2975
+ build_fqdn?: InputMaybe<String_Comparison_Exp>;
2976
+ completed_at?: InputMaybe<Timestamptz_Comparison_Exp>;
2977
+ created_at?: InputMaybe<Timestamptz_Comparison_Exp>;
2978
+ entry_point_artifact?: InputMaybe<Uuid_Comparison_Exp>;
2979
+ entry_point_artifact_object?: InputMaybe<Artifacts_Bool_Exp>;
2980
+ program?: InputMaybe<Programs_Bool_Exp>;
2981
+ program_id?: InputMaybe<Uuid_Comparison_Exp>;
2982
+ program_run_artifacts?: InputMaybe<Program_Run_Artifacts_Bool_Exp>;
2983
+ program_run_events?: InputMaybe<Program_Run_Events_Bool_Exp>;
2984
+ run_id?: InputMaybe<Bigint_Comparison_Exp>;
2985
+ successful?: InputMaybe<Boolean_Comparison_Exp>;
2986
+ };
2987
+ type Program_Visibility_Enum_Enum =
2988
+ /** Owner can read and write, no one else has access */
2989
+ 'OwnerReadWrite'
2990
+ /** Owner can read and write, project members can read the code and schedules, artifacts and runs */
2991
+ | 'ProjectReadCodeAndData'
2992
+ /** Owner can read and write, project members can read and write */
2993
+ | 'ProjectReadWrite';
2994
+ /** Boolean expression to compare columns of type "program_visibility_enum_enum". All fields are combined with logical 'AND'. */
2995
+ type Program_Visibility_Enum_Enum_Comparison_Exp = {
2996
+ _eq?: InputMaybe<Program_Visibility_Enum_Enum>;
2997
+ _in?: InputMaybe<Array<Program_Visibility_Enum_Enum>>;
2998
+ _is_null?: InputMaybe<Scalars['Boolean']['input']>;
2999
+ _neq?: InputMaybe<Program_Visibility_Enum_Enum>;
3000
+ _nin?: InputMaybe<Array<Program_Visibility_Enum_Enum>>;
3001
+ };
3002
+ /** Boolean expression to filter rows from the table "programs". All fields are combined with a logical 'AND'. */
3003
+ type Programs_Bool_Exp = {
3004
+ _and?: InputMaybe<Array<Programs_Bool_Exp>>;
3005
+ _not?: InputMaybe<Programs_Bool_Exp>;
3006
+ _or?: InputMaybe<Array<Programs_Bool_Exp>>;
3007
+ copied_from_program?: InputMaybe<Programs_Bool_Exp>;
3008
+ copied_from_program_id?: InputMaybe<Uuid_Comparison_Exp>;
3009
+ created_at?: InputMaybe<Timestamptz_Comparison_Exp>;
3010
+ id?: InputMaybe<Uuid_Comparison_Exp>;
3011
+ name?: InputMaybe<String_Comparison_Exp>;
3012
+ owner_user?: InputMaybe<Promptql_Users_Bool_Exp>;
3013
+ owner_user_id?: InputMaybe<Uuid_Comparison_Exp>;
3014
+ package_name?: InputMaybe<String_Comparison_Exp>;
3015
+ program_artifacts?: InputMaybe<Program_Artifacts_Bool_Exp>;
3016
+ program_runs?: InputMaybe<Program_Runs_Bool_Exp>;
3017
+ project_id?: InputMaybe<Uuid_Comparison_Exp>;
3018
+ updated_at?: InputMaybe<Timestamptz_Comparison_Exp>;
3019
+ visibility?: InputMaybe<Program_Visibility_Enum_Enum_Comparison_Exp>;
3020
+ };
3021
+ /** Boolean expression to filter rows from the table "project_artifacts". All fields are combined with a logical 'AND'. */
3022
+ type Project_Artifacts_Bool_Exp = {
3023
+ _and?: InputMaybe<Array<Project_Artifacts_Bool_Exp>>;
3024
+ _not?: InputMaybe<Project_Artifacts_Bool_Exp>;
3025
+ _or?: InputMaybe<Array<Project_Artifacts_Bool_Exp>>;
3026
+ artifact?: InputMaybe<Artifacts_Bool_Exp>;
3027
+ artifact_id?: InputMaybe<Uuid_Comparison_Exp>;
3028
+ created_at?: InputMaybe<Timestamptz_Comparison_Exp>;
3029
+ name?: InputMaybe<String_Comparison_Exp>;
3030
+ project_id?: InputMaybe<Uuid_Comparison_Exp>;
3031
+ updated_at?: InputMaybe<Timestamptz_Comparison_Exp>;
3032
+ user_id?: InputMaybe<Uuid_Comparison_Exp>;
3033
+ visibility?: InputMaybe<String_Comparison_Exp>;
3034
+ };
3035
+ /** Boolean expression to filter rows from the table "project_configuration". All fields are combined with a logical 'AND'. */
3036
+ type Project_Configuration_Bool_Exp = {
3037
+ _and?: InputMaybe<Array<Project_Configuration_Bool_Exp>>;
3038
+ _not?: InputMaybe<Project_Configuration_Bool_Exp>;
3039
+ _or?: InputMaybe<Array<Project_Configuration_Bool_Exp>>;
3040
+ created_at?: InputMaybe<Timestamptz_Comparison_Exp>;
3041
+ default_thread_visibility?: InputMaybe<Thread_Visibility_Enum_Enum_Comparison_Exp>;
3042
+ enable_social_feed?: InputMaybe<Boolean_Comparison_Exp>;
3043
+ project_id?: InputMaybe<Uuid_Comparison_Exp>;
3044
+ updated_at?: InputMaybe<Timestamptz_Comparison_Exp>;
3045
+ };
3046
+ /** Ordering options when selecting data from "project_configuration". */
3047
+ type Project_Configuration_Order_By = {
3048
+ created_at?: InputMaybe<Order_By>;
3049
+ default_thread_visibility?: InputMaybe<Order_By>;
3050
+ enable_social_feed?: InputMaybe<Order_By>;
3051
+ project_id?: InputMaybe<Order_By>;
3052
+ updated_at?: InputMaybe<Order_By>;
3053
+ };
3054
+ /** Boolean expression to filter rows from the table "promptql_users". All fields are combined with a logical 'AND'. */
3055
+ type Promptql_Users_Bool_Exp = {
3056
+ _and?: InputMaybe<Array<Promptql_Users_Bool_Exp>>;
3057
+ _not?: InputMaybe<Promptql_Users_Bool_Exp>;
3058
+ _or?: InputMaybe<Array<Promptql_Users_Bool_Exp>>;
3059
+ control_plane_user_id?: InputMaybe<Uuid_Comparison_Exp>;
3060
+ created_at?: InputMaybe<Timestamptz_Comparison_Exp>;
3061
+ custom_claim_assignments?: InputMaybe<Custom_Claim_Assignments_Bool_Exp>;
3062
+ display_name?: InputMaybe<String_Comparison_Exp>;
3063
+ email?: InputMaybe<Citext_Comparison_Exp>;
3064
+ is_active?: InputMaybe<Boolean_Comparison_Exp>;
3065
+ project_id?: InputMaybe<Uuid_Comparison_Exp>;
3066
+ promptql_user_id?: InputMaybe<Uuid_Comparison_Exp>;
3067
+ slack_info?: InputMaybe<Slack_Info_Bool_Exp>;
3068
+ updated_at?: InputMaybe<Timestamptz_Comparison_Exp>;
3069
+ user_group_members?: InputMaybe<User_Group_Members_Bool_Exp>;
3070
+ user_preference?: InputMaybe<User_Preferences_Bool_Exp>;
3071
+ user_slack_notification_preference?: InputMaybe<User_Slack_Notification_Preferences_Bool_Exp>;
3072
+ weight?: InputMaybe<Int_Comparison_Exp>;
3073
+ };
3074
+ /** Ordering options when selecting data from "promptql_users". */
3075
+ type Promptql_Users_Order_By = {
3076
+ control_plane_user_id?: InputMaybe<Order_By>;
3077
+ created_at?: InputMaybe<Order_By>;
3078
+ custom_claim_assignments_aggregate?: InputMaybe<Custom_Claim_Assignments_Aggregate_Order_By>;
3079
+ display_name?: InputMaybe<Order_By>;
3080
+ email?: InputMaybe<Order_By>;
3081
+ is_active?: InputMaybe<Order_By>;
3082
+ project_id?: InputMaybe<Order_By>;
3083
+ promptql_user_id?: InputMaybe<Order_By>;
3084
+ slack_info?: InputMaybe<Slack_Info_Order_By>;
3085
+ updated_at?: InputMaybe<Order_By>;
3086
+ user_group_members_aggregate?: InputMaybe<User_Group_Members_Aggregate_Order_By>;
3087
+ user_preference?: InputMaybe<User_Preferences_Order_By>;
3088
+ user_slack_notification_preference?: InputMaybe<User_Slack_Notification_Preferences_Order_By>;
3089
+ weight?: InputMaybe<Order_By>;
3090
+ };
3091
+ /** Boolean expression to filter rows from the table "rooms". All fields are combined with a logical 'AND'. */
3092
+ type Rooms_Bool_Exp = {
3093
+ _and?: InputMaybe<Array<Rooms_Bool_Exp>>;
3094
+ _not?: InputMaybe<Rooms_Bool_Exp>;
3095
+ _or?: InputMaybe<Array<Rooms_Bool_Exp>>;
3096
+ created_at?: InputMaybe<Timestamptz_Comparison_Exp>;
3097
+ description?: InputMaybe<String_Comparison_Exp>;
3098
+ name?: InputMaybe<String_Comparison_Exp>;
3099
+ owner?: InputMaybe<Promptql_Users_Bool_Exp>;
3100
+ project_id?: InputMaybe<Uuid_Comparison_Exp>;
3101
+ room_id?: InputMaybe<Uuid_Comparison_Exp>;
3102
+ rooms_participants?: InputMaybe<Rooms_Participants_Bool_Exp>;
3103
+ threads?: InputMaybe<Threads_V2_Bool_Exp>;
3104
+ threads_aggregate?: InputMaybe<Threads_V2_Aggregate_Bool_Exp>;
3105
+ updated_at?: InputMaybe<Timestamptz_Comparison_Exp>;
3106
+ user_id?: InputMaybe<Uuid_Comparison_Exp>;
3107
+ user_room_activity?: InputMaybe<User_Room_Activity_Bool_Exp>;
3108
+ visibility?: InputMaybe<String_Comparison_Exp>;
3109
+ };
3110
+ /** Ordering options when selecting data from "rooms". */
3111
+ type Rooms_Order_By = {
3112
+ created_at?: InputMaybe<Order_By>;
3113
+ description?: InputMaybe<Order_By>;
3114
+ name?: InputMaybe<Order_By>;
3115
+ owner?: InputMaybe<Promptql_Users_Order_By>;
3116
+ project_id?: InputMaybe<Order_By>;
3117
+ room_id?: InputMaybe<Order_By>;
3118
+ rooms_participants_aggregate?: InputMaybe<Rooms_Participants_Aggregate_Order_By>;
3119
+ threads_aggregate?: InputMaybe<Threads_V2_Aggregate_Order_By>;
3120
+ updated_at?: InputMaybe<Order_By>;
3121
+ user_id?: InputMaybe<Order_By>;
3122
+ user_room_activity?: InputMaybe<User_Room_Activity_Order_By>;
3123
+ visibility?: InputMaybe<Order_By>;
3124
+ };
3125
+ /** order by aggregate values of table "rooms_participants" */
3126
+ type Rooms_Participants_Aggregate_Order_By = {
3127
+ count?: InputMaybe<Order_By>;
3128
+ max?: InputMaybe<Rooms_Participants_Max_Order_By>;
3129
+ min?: InputMaybe<Rooms_Participants_Min_Order_By>;
3130
+ };
3131
+ /** Boolean expression to filter rows from the table "rooms_participants". All fields are combined with a logical 'AND'. */
3132
+ type Rooms_Participants_Bool_Exp = {
3133
+ _and?: InputMaybe<Array<Rooms_Participants_Bool_Exp>>;
3134
+ _not?: InputMaybe<Rooms_Participants_Bool_Exp>;
3135
+ _or?: InputMaybe<Array<Rooms_Participants_Bool_Exp>>;
3136
+ created_at?: InputMaybe<Timestamptz_Comparison_Exp>;
3137
+ is_removed?: InputMaybe<Boolean_Comparison_Exp>;
3138
+ promptql_user?: InputMaybe<Promptql_Users_Bool_Exp>;
3139
+ promptql_user_id?: InputMaybe<Uuid_Comparison_Exp>;
3140
+ room?: InputMaybe<Rooms_Bool_Exp>;
3141
+ room_id?: InputMaybe<Uuid_Comparison_Exp>;
3142
+ updated_at?: InputMaybe<Timestamptz_Comparison_Exp>;
3143
+ };
3144
+ /** order by max() on columns of table "rooms_participants" */
3145
+ type Rooms_Participants_Max_Order_By = {
3146
+ created_at?: InputMaybe<Order_By>;
3147
+ promptql_user_id?: InputMaybe<Order_By>;
3148
+ room_id?: InputMaybe<Order_By>;
3149
+ updated_at?: InputMaybe<Order_By>;
3150
+ };
3151
+ /** order by min() on columns of table "rooms_participants" */
3152
+ type Rooms_Participants_Min_Order_By = {
3153
+ created_at?: InputMaybe<Order_By>;
3154
+ promptql_user_id?: InputMaybe<Order_By>;
3155
+ room_id?: InputMaybe<Order_By>;
3156
+ updated_at?: InputMaybe<Order_By>;
3157
+ };
3158
+ /** order by aggregate values of table "shared_threads" */
3159
+ type Shared_Threads_Aggregate_Order_By = {
3160
+ avg?: InputMaybe<Shared_Threads_Avg_Order_By>;
3161
+ count?: InputMaybe<Order_By>;
3162
+ max?: InputMaybe<Shared_Threads_Max_Order_By>;
3163
+ min?: InputMaybe<Shared_Threads_Min_Order_By>;
3164
+ stddev?: InputMaybe<Shared_Threads_Stddev_Order_By>;
3165
+ stddev_pop?: InputMaybe<Shared_Threads_Stddev_Pop_Order_By>;
3166
+ stddev_samp?: InputMaybe<Shared_Threads_Stddev_Samp_Order_By>;
3167
+ sum?: InputMaybe<Shared_Threads_Sum_Order_By>;
3168
+ var_pop?: InputMaybe<Shared_Threads_Var_Pop_Order_By>;
3169
+ var_samp?: InputMaybe<Shared_Threads_Var_Samp_Order_By>;
3170
+ variance?: InputMaybe<Shared_Threads_Variance_Order_By>;
3171
+ };
3172
+ /** order by avg() on columns of table "shared_threads" */
3173
+ type Shared_Threads_Avg_Order_By = {
3174
+ last_thread_event_id?: InputMaybe<Order_By>;
3175
+ };
3176
+ /** Boolean expression to filter rows from the table "shared_threads". All fields are combined with a logical 'AND'. */
3177
+ type Shared_Threads_Bool_Exp = {
3178
+ _and?: InputMaybe<Array<Shared_Threads_Bool_Exp>>;
3179
+ _not?: InputMaybe<Shared_Threads_Bool_Exp>;
3180
+ _or?: InputMaybe<Array<Shared_Threads_Bool_Exp>>;
3181
+ created_at?: InputMaybe<Timestamptz_Comparison_Exp>;
3182
+ deleted_at?: InputMaybe<Timestamptz_Comparison_Exp>;
3183
+ last_thread_event_id?: InputMaybe<Bigint_Comparison_Exp>;
3184
+ shared_thread_id?: InputMaybe<Uuid_Comparison_Exp>;
3185
+ source_thread?: InputMaybe<Threads_V2_Bool_Exp>;
3186
+ source_thread_id?: InputMaybe<Uuid_Comparison_Exp>;
3187
+ title?: InputMaybe<String_Comparison_Exp>;
3188
+ user?: InputMaybe<Promptql_Users_Bool_Exp>;
3189
+ };
3190
+ /** order by max() on columns of table "shared_threads" */
3191
+ type Shared_Threads_Max_Order_By = {
3192
+ created_at?: InputMaybe<Order_By>;
3193
+ deleted_at?: InputMaybe<Order_By>;
3194
+ last_thread_event_id?: InputMaybe<Order_By>;
3195
+ shared_thread_id?: InputMaybe<Order_By>;
3196
+ source_thread_id?: InputMaybe<Order_By>;
3197
+ title?: InputMaybe<Order_By>;
3198
+ };
3199
+ /** order by min() on columns of table "shared_threads" */
3200
+ type Shared_Threads_Min_Order_By = {
3201
+ created_at?: InputMaybe<Order_By>;
3202
+ deleted_at?: InputMaybe<Order_By>;
3203
+ last_thread_event_id?: InputMaybe<Order_By>;
3204
+ shared_thread_id?: InputMaybe<Order_By>;
3205
+ source_thread_id?: InputMaybe<Order_By>;
3206
+ title?: InputMaybe<Order_By>;
3207
+ };
3208
+ /** order by stddev() on columns of table "shared_threads" */
3209
+ type Shared_Threads_Stddev_Order_By = {
3210
+ last_thread_event_id?: InputMaybe<Order_By>;
3211
+ };
3212
+ /** order by stddev_pop() on columns of table "shared_threads" */
3213
+ type Shared_Threads_Stddev_Pop_Order_By = {
3214
+ last_thread_event_id?: InputMaybe<Order_By>;
3215
+ };
3216
+ /** order by stddev_samp() on columns of table "shared_threads" */
3217
+ type Shared_Threads_Stddev_Samp_Order_By = {
3218
+ last_thread_event_id?: InputMaybe<Order_By>;
3219
+ };
3220
+ /** order by sum() on columns of table "shared_threads" */
3221
+ type Shared_Threads_Sum_Order_By = {
3222
+ last_thread_event_id?: InputMaybe<Order_By>;
3223
+ };
3224
+ /** order by var_pop() on columns of table "shared_threads" */
3225
+ type Shared_Threads_Var_Pop_Order_By = {
3226
+ last_thread_event_id?: InputMaybe<Order_By>;
3227
+ };
3228
+ /** order by var_samp() on columns of table "shared_threads" */
3229
+ type Shared_Threads_Var_Samp_Order_By = {
3230
+ last_thread_event_id?: InputMaybe<Order_By>;
3231
+ };
3232
+ /** order by variance() on columns of table "shared_threads" */
3233
+ type Shared_Threads_Variance_Order_By = {
3234
+ last_thread_event_id?: InputMaybe<Order_By>;
3235
+ };
3236
+ type Slack_Chat_Display_Mode_Enum =
3237
+ /** Reply full content with the query plan, query interpretation, data artifacts etc... */
3238
+ 'Full'
3239
+ /** Reply preview content and redirects to PromptQL via thread link */
3240
+ | 'Preview';
3241
+ /** Boolean expression to compare columns of type "slack_chat_display_mode_enum". All fields are combined with logical 'AND'. */
3242
+ type Slack_Chat_Display_Mode_Enum_Comparison_Exp = {
3243
+ _eq?: InputMaybe<Slack_Chat_Display_Mode_Enum>;
3244
+ _in?: InputMaybe<Array<Slack_Chat_Display_Mode_Enum>>;
3245
+ _is_null?: InputMaybe<Scalars['Boolean']['input']>;
3246
+ _neq?: InputMaybe<Slack_Chat_Display_Mode_Enum>;
3247
+ _nin?: InputMaybe<Array<Slack_Chat_Display_Mode_Enum>>;
3248
+ };
3249
+ /** Boolean expression to filter rows from the table "slack_info". All fields are combined with a logical 'AND'. */
3250
+ type Slack_Info_Bool_Exp = {
3251
+ _and?: InputMaybe<Array<Slack_Info_Bool_Exp>>;
3252
+ _not?: InputMaybe<Slack_Info_Bool_Exp>;
3253
+ _or?: InputMaybe<Array<Slack_Info_Bool_Exp>>;
3254
+ created_at?: InputMaybe<Timestamptz_Comparison_Exp>;
3255
+ promptql_user?: InputMaybe<Promptql_Users_Bool_Exp>;
3256
+ promptql_user_id?: InputMaybe<Uuid_Comparison_Exp>;
3257
+ slack_email?: InputMaybe<Citext_Comparison_Exp>;
3258
+ slack_fields?: InputMaybe<Jsonb_Comparison_Exp>;
3259
+ slack_user_id?: InputMaybe<String_Comparison_Exp>;
3260
+ slack_workspace_id?: InputMaybe<String_Comparison_Exp>;
3261
+ updated_at?: InputMaybe<Timestamptz_Comparison_Exp>;
3262
+ };
3263
+ /** Ordering options when selecting data from "slack_info". */
3264
+ type Slack_Info_Order_By = {
3265
+ created_at?: InputMaybe<Order_By>;
3266
+ promptql_user?: InputMaybe<Promptql_Users_Order_By>;
3267
+ promptql_user_id?: InputMaybe<Order_By>;
3268
+ slack_email?: InputMaybe<Order_By>;
3269
+ slack_fields?: InputMaybe<Order_By>;
3270
+ slack_user_id?: InputMaybe<Order_By>;
3271
+ slack_workspace_id?: InputMaybe<Order_By>;
3272
+ updated_at?: InputMaybe<Order_By>;
3273
+ };
3274
+ /** order by aggregate values of table "slack_integration" */
3275
+ type Slack_Integration_Aggregate_Order_By = {
3276
+ count?: InputMaybe<Order_By>;
3277
+ max?: InputMaybe<Slack_Integration_Max_Order_By>;
3278
+ min?: InputMaybe<Slack_Integration_Min_Order_By>;
3279
+ };
3280
+ /** Boolean expression to filter rows from the table "slack_integration". All fields are combined with a logical 'AND'. */
3281
+ type Slack_Integration_Bool_Exp = {
3282
+ _and?: InputMaybe<Array<Slack_Integration_Bool_Exp>>;
3283
+ _not?: InputMaybe<Slack_Integration_Bool_Exp>;
3284
+ _or?: InputMaybe<Array<Slack_Integration_Bool_Exp>>;
3285
+ chat_display_mode?: InputMaybe<Slack_Chat_Display_Mode_Enum_Comparison_Exp>;
3286
+ chat_enabled?: InputMaybe<Boolean_Comparison_Exp>;
3287
+ created_at?: InputMaybe<Timestamptz_Comparison_Exp>;
3288
+ created_by?: InputMaybe<Uuid_Comparison_Exp>;
3289
+ id?: InputMaybe<Uuid_Comparison_Exp>;
3290
+ project_id?: InputMaybe<Uuid_Comparison_Exp>;
3291
+ promptql_user?: InputMaybe<Promptql_Users_Bool_Exp>;
3292
+ slack_app_id?: InputMaybe<String_Comparison_Exp>;
3293
+ slack_app_name?: InputMaybe<String_Comparison_Exp>;
3294
+ slack_workspace_id?: InputMaybe<String_Comparison_Exp>;
3295
+ };
3296
+ /** order by max() on columns of table "slack_integration" */
3297
+ type Slack_Integration_Max_Order_By = {
3298
+ created_at?: InputMaybe<Order_By>;
3299
+ created_by?: InputMaybe<Order_By>;
3300
+ id?: InputMaybe<Order_By>;
3301
+ project_id?: InputMaybe<Order_By>;
3302
+ slack_app_id?: InputMaybe<Order_By>;
3303
+ slack_app_name?: InputMaybe<Order_By>;
3304
+ slack_workspace_id?: InputMaybe<Order_By>;
3305
+ };
3306
+ /** order by min() on columns of table "slack_integration" */
3307
+ type Slack_Integration_Min_Order_By = {
3308
+ created_at?: InputMaybe<Order_By>;
3309
+ created_by?: InputMaybe<Order_By>;
3310
+ id?: InputMaybe<Order_By>;
3311
+ project_id?: InputMaybe<Order_By>;
3312
+ slack_app_id?: InputMaybe<Order_By>;
3313
+ slack_app_name?: InputMaybe<Order_By>;
3314
+ slack_workspace_id?: InputMaybe<Order_By>;
3315
+ };
3316
+ /** order by aggregate values of table "thread_artifacts" */
3317
+ type Thread_Artifacts_Aggregate_Order_By = {
3318
+ count?: InputMaybe<Order_By>;
3319
+ max?: InputMaybe<Thread_Artifacts_Max_Order_By>;
3320
+ min?: InputMaybe<Thread_Artifacts_Min_Order_By>;
3321
+ };
3322
+ /** Boolean expression to filter rows from the table "thread_artifacts". All fields are combined with a logical 'AND'. */
3323
+ type Thread_Artifacts_Bool_Exp = {
3324
+ _and?: InputMaybe<Array<Thread_Artifacts_Bool_Exp>>;
3325
+ _not?: InputMaybe<Thread_Artifacts_Bool_Exp>;
3326
+ _or?: InputMaybe<Array<Thread_Artifacts_Bool_Exp>>;
3327
+ artifact?: InputMaybe<Artifacts_Bool_Exp>;
3328
+ artifact_id?: InputMaybe<Uuid_Comparison_Exp>;
3329
+ thread?: InputMaybe<Threads_V2_Bool_Exp>;
3330
+ thread_id?: InputMaybe<Uuid_Comparison_Exp>;
3331
+ };
3332
+ /** order by max() on columns of table "thread_artifacts" */
3333
+ type Thread_Artifacts_Max_Order_By = {
3334
+ artifact_id?: InputMaybe<Order_By>;
3335
+ thread_id?: InputMaybe<Order_By>;
3336
+ };
3337
+ /** order by min() on columns of table "thread_artifacts" */
3338
+ type Thread_Artifacts_Min_Order_By = {
3339
+ artifact_id?: InputMaybe<Order_By>;
3340
+ thread_id?: InputMaybe<Order_By>;
3341
+ };
3342
+ /** order by aggregate values of table "thread_events" */
3343
+ type Thread_Events_Aggregate_Order_By = {
3344
+ avg?: InputMaybe<Thread_Events_Avg_Order_By>;
3345
+ count?: InputMaybe<Order_By>;
3346
+ max?: InputMaybe<Thread_Events_Max_Order_By>;
3347
+ min?: InputMaybe<Thread_Events_Min_Order_By>;
3348
+ stddev?: InputMaybe<Thread_Events_Stddev_Order_By>;
3349
+ stddev_pop?: InputMaybe<Thread_Events_Stddev_Pop_Order_By>;
3350
+ stddev_samp?: InputMaybe<Thread_Events_Stddev_Samp_Order_By>;
3351
+ sum?: InputMaybe<Thread_Events_Sum_Order_By>;
3352
+ var_pop?: InputMaybe<Thread_Events_Var_Pop_Order_By>;
3353
+ var_samp?: InputMaybe<Thread_Events_Var_Samp_Order_By>;
3354
+ variance?: InputMaybe<Thread_Events_Variance_Order_By>;
3355
+ };
3356
+ /** order by avg() on columns of table "thread_events" */
3357
+ type Thread_Events_Avg_Order_By = {
3358
+ thread_event_id?: InputMaybe<Order_By>;
3359
+ };
3360
+ /** Boolean expression to filter rows from the table "thread_events". All fields are combined with a logical 'AND'. */
3361
+ type Thread_Events_Bool_Exp = {
3362
+ _and?: InputMaybe<Array<Thread_Events_Bool_Exp>>;
3363
+ _not?: InputMaybe<Thread_Events_Bool_Exp>;
3364
+ _or?: InputMaybe<Array<Thread_Events_Bool_Exp>>;
3365
+ created_at?: InputMaybe<Timestamptz_Comparison_Exp>;
3366
+ event_data?: InputMaybe<Jsonb_Comparison_Exp>;
3367
+ thread?: InputMaybe<Threads_V2_Bool_Exp>;
3368
+ thread_event_id?: InputMaybe<Bigint_Comparison_Exp>;
3369
+ thread_id?: InputMaybe<Uuid_Comparison_Exp>;
3370
+ thread_participant?: InputMaybe<Thread_Participants_Bool_Exp>;
3371
+ user?: InputMaybe<Promptql_Users_Bool_Exp>;
3372
+ user_id?: InputMaybe<Uuid_Comparison_Exp>;
3373
+ };
3374
+ /** order by max() on columns of table "thread_events" */
3375
+ type Thread_Events_Max_Order_By = {
3376
+ created_at?: InputMaybe<Order_By>;
3377
+ thread_event_id?: InputMaybe<Order_By>;
3378
+ thread_id?: InputMaybe<Order_By>;
3379
+ /** promptql_user_id of creator */
3380
+ user_id?: InputMaybe<Order_By>;
3381
+ };
3382
+ /** order by min() on columns of table "thread_events" */
3383
+ type Thread_Events_Min_Order_By = {
3384
+ created_at?: InputMaybe<Order_By>;
3385
+ thread_event_id?: InputMaybe<Order_By>;
3386
+ thread_id?: InputMaybe<Order_By>;
3387
+ /** promptql_user_id of creator */
3388
+ user_id?: InputMaybe<Order_By>;
3389
+ };
3390
+ /** order by stddev() on columns of table "thread_events" */
3391
+ type Thread_Events_Stddev_Order_By = {
3392
+ thread_event_id?: InputMaybe<Order_By>;
3393
+ };
3394
+ /** order by stddev_pop() on columns of table "thread_events" */
3395
+ type Thread_Events_Stddev_Pop_Order_By = {
3396
+ thread_event_id?: InputMaybe<Order_By>;
3397
+ };
3398
+ /** order by stddev_samp() on columns of table "thread_events" */
3399
+ type Thread_Events_Stddev_Samp_Order_By = {
3400
+ thread_event_id?: InputMaybe<Order_By>;
3401
+ };
3402
+ /** order by sum() on columns of table "thread_events" */
3403
+ type Thread_Events_Sum_Order_By = {
3404
+ thread_event_id?: InputMaybe<Order_By>;
3405
+ };
3406
+ /** order by var_pop() on columns of table "thread_events" */
3407
+ type Thread_Events_Var_Pop_Order_By = {
3408
+ thread_event_id?: InputMaybe<Order_By>;
3409
+ };
3410
+ /** order by var_samp() on columns of table "thread_events" */
3411
+ type Thread_Events_Var_Samp_Order_By = {
3412
+ thread_event_id?: InputMaybe<Order_By>;
3413
+ };
3414
+ /** order by variance() on columns of table "thread_events" */
3415
+ type Thread_Events_Variance_Order_By = {
3416
+ thread_event_id?: InputMaybe<Order_By>;
3417
+ };
3418
+ /** order by aggregate values of table "thread_feedback" */
3419
+ type Thread_Feedback_Aggregate_Order_By = {
3420
+ avg?: InputMaybe<Thread_Feedback_Avg_Order_By>;
3421
+ count?: InputMaybe<Order_By>;
3422
+ max?: InputMaybe<Thread_Feedback_Max_Order_By>;
3423
+ min?: InputMaybe<Thread_Feedback_Min_Order_By>;
3424
+ stddev?: InputMaybe<Thread_Feedback_Stddev_Order_By>;
3425
+ stddev_pop?: InputMaybe<Thread_Feedback_Stddev_Pop_Order_By>;
3426
+ stddev_samp?: InputMaybe<Thread_Feedback_Stddev_Samp_Order_By>;
3427
+ sum?: InputMaybe<Thread_Feedback_Sum_Order_By>;
3428
+ var_pop?: InputMaybe<Thread_Feedback_Var_Pop_Order_By>;
3429
+ var_samp?: InputMaybe<Thread_Feedback_Var_Samp_Order_By>;
3430
+ variance?: InputMaybe<Thread_Feedback_Variance_Order_By>;
3431
+ };
3432
+ /** order by avg() on columns of table "thread_feedback" */
3433
+ type Thread_Feedback_Avg_Order_By = {
3434
+ /** -1 means negative, 1 means positive */
3435
+ feedback?: InputMaybe<Order_By>;
3436
+ };
3437
+ /** Boolean expression to filter rows from the table "thread_feedback". All fields are combined with a logical 'AND'. */
3438
+ type Thread_Feedback_Bool_Exp = {
3439
+ _and?: InputMaybe<Array<Thread_Feedback_Bool_Exp>>;
3440
+ _not?: InputMaybe<Thread_Feedback_Bool_Exp>;
3441
+ _or?: InputMaybe<Array<Thread_Feedback_Bool_Exp>>;
3442
+ created_at?: InputMaybe<Timestamptz_Comparison_Exp>;
3443
+ details?: InputMaybe<String_Comparison_Exp>;
3444
+ feedback?: InputMaybe<Int_Comparison_Exp>;
3445
+ message_id?: InputMaybe<Uuid_Comparison_Exp>;
3446
+ promptql_user_id?: InputMaybe<Uuid_Comparison_Exp>;
3447
+ thread?: InputMaybe<Threads_V2_Bool_Exp>;
3448
+ thread_id?: InputMaybe<Uuid_Comparison_Exp>;
3449
+ user?: InputMaybe<Promptql_Users_Bool_Exp>;
3450
+ };
3451
+ /** order by max() on columns of table "thread_feedback" */
3452
+ type Thread_Feedback_Max_Order_By = {
3453
+ created_at?: InputMaybe<Order_By>;
3454
+ details?: InputMaybe<Order_By>;
3455
+ /** -1 means negative, 1 means positive */
3456
+ feedback?: InputMaybe<Order_By>;
3457
+ message_id?: InputMaybe<Order_By>;
3458
+ promptql_user_id?: InputMaybe<Order_By>;
3459
+ thread_id?: InputMaybe<Order_By>;
3460
+ };
3461
+ /** order by min() on columns of table "thread_feedback" */
3462
+ type Thread_Feedback_Min_Order_By = {
3463
+ created_at?: InputMaybe<Order_By>;
3464
+ details?: InputMaybe<Order_By>;
3465
+ /** -1 means negative, 1 means positive */
3466
+ feedback?: InputMaybe<Order_By>;
3467
+ message_id?: InputMaybe<Order_By>;
3468
+ promptql_user_id?: InputMaybe<Order_By>;
3469
+ thread_id?: InputMaybe<Order_By>;
3470
+ };
3471
+ /** order by stddev() on columns of table "thread_feedback" */
3472
+ type Thread_Feedback_Stddev_Order_By = {
3473
+ /** -1 means negative, 1 means positive */
3474
+ feedback?: InputMaybe<Order_By>;
3475
+ };
3476
+ /** order by stddev_pop() on columns of table "thread_feedback" */
3477
+ type Thread_Feedback_Stddev_Pop_Order_By = {
3478
+ /** -1 means negative, 1 means positive */
3479
+ feedback?: InputMaybe<Order_By>;
3480
+ };
3481
+ /** order by stddev_samp() on columns of table "thread_feedback" */
3482
+ type Thread_Feedback_Stddev_Samp_Order_By = {
3483
+ /** -1 means negative, 1 means positive */
3484
+ feedback?: InputMaybe<Order_By>;
3485
+ };
3486
+ /** order by sum() on columns of table "thread_feedback" */
3487
+ type Thread_Feedback_Sum_Order_By = {
3488
+ /** -1 means negative, 1 means positive */
3489
+ feedback?: InputMaybe<Order_By>;
3490
+ };
3491
+ /** order by var_pop() on columns of table "thread_feedback" */
3492
+ type Thread_Feedback_Var_Pop_Order_By = {
3493
+ /** -1 means negative, 1 means positive */
3494
+ feedback?: InputMaybe<Order_By>;
3495
+ };
3496
+ /** order by var_samp() on columns of table "thread_feedback" */
3497
+ type Thread_Feedback_Var_Samp_Order_By = {
3498
+ /** -1 means negative, 1 means positive */
3499
+ feedback?: InputMaybe<Order_By>;
3500
+ };
3501
+ /** order by variance() on columns of table "thread_feedback" */
3502
+ type Thread_Feedback_Variance_Order_By = {
3503
+ /** -1 means negative, 1 means positive */
3504
+ feedback?: InputMaybe<Order_By>;
3505
+ };
3506
+ /** Boolean expression to filter rows from the table "thread_notification_preference_enum". All fields are combined with a logical 'AND'. */
3507
+ type Thread_Notification_Preference_Enum_Bool_Exp = {
3508
+ _and?: InputMaybe<Array<Thread_Notification_Preference_Enum_Bool_Exp>>;
3509
+ _not?: InputMaybe<Thread_Notification_Preference_Enum_Bool_Exp>;
3510
+ _or?: InputMaybe<Array<Thread_Notification_Preference_Enum_Bool_Exp>>;
3511
+ comment?: InputMaybe<String_Comparison_Exp>;
3512
+ thread_participants?: InputMaybe<Thread_Participants_Bool_Exp>;
3513
+ thread_participants_aggregate?: InputMaybe<Thread_Participants_Aggregate_Bool_Exp>;
3514
+ value?: InputMaybe<String_Comparison_Exp>;
3515
+ };
3516
+ type Thread_Notification_Preference_Enum_Enum =
3517
+ /** Notifications for all events */
3518
+ 'All'
3519
+ /** No notifications for any event */
3520
+ | 'Nothing';
3521
+ /** Boolean expression to compare columns of type "thread_notification_preference_enum_enum". All fields are combined with logical 'AND'. */
3522
+ type Thread_Notification_Preference_Enum_Enum_Comparison_Exp = {
3523
+ _eq?: InputMaybe<Thread_Notification_Preference_Enum_Enum>;
3524
+ _in?: InputMaybe<Array<Thread_Notification_Preference_Enum_Enum>>;
3525
+ _is_null?: InputMaybe<Scalars['Boolean']['input']>;
3526
+ _neq?: InputMaybe<Thread_Notification_Preference_Enum_Enum>;
3527
+ _nin?: InputMaybe<Array<Thread_Notification_Preference_Enum_Enum>>;
3528
+ };
3529
+ type Thread_Participant_Activity_Aggregate_Bool_Exp = {
3530
+ count?: InputMaybe<Thread_Participant_Activity_Aggregate_Bool_Exp_Count>;
3531
+ };
3532
+ type Thread_Participant_Activity_Aggregate_Bool_Exp_Count = {
3533
+ arguments?: InputMaybe<Array<Thread_Participant_Activity_Select_Column>>;
3534
+ distinct?: InputMaybe<Scalars['Boolean']['input']>;
3535
+ filter?: InputMaybe<Thread_Participant_Activity_Bool_Exp>;
3536
+ predicate: Int_Comparison_Exp;
3537
+ };
3538
+ /** Boolean expression to filter rows from the table "thread_participant_activity". All fields are combined with a logical 'AND'. */
3539
+ type Thread_Participant_Activity_Bool_Exp = {
3540
+ _and?: InputMaybe<Array<Thread_Participant_Activity_Bool_Exp>>;
3541
+ _not?: InputMaybe<Thread_Participant_Activity_Bool_Exp>;
3542
+ _or?: InputMaybe<Array<Thread_Participant_Activity_Bool_Exp>>;
3543
+ activity_id?: InputMaybe<Bigint_Comparison_Exp>;
3544
+ activity_type?: InputMaybe<String_Comparison_Exp>;
3545
+ performed_at?: InputMaybe<Timestamptz_Comparison_Exp>;
3546
+ performed_by?: InputMaybe<Uuid_Comparison_Exp>;
3547
+ promptql_user_id?: InputMaybe<Uuid_Comparison_Exp>;
3548
+ thread_id?: InputMaybe<Uuid_Comparison_Exp>;
3549
+ thread_participant?: InputMaybe<Thread_Participants_Bool_Exp>;
3550
+ };
3551
+ /** select columns of table "thread_participant_activity" */
3552
+ type Thread_Participant_Activity_Select_Column =
3553
+ /** column name */
3554
+ 'activity_id'
3555
+ /** column name */
3556
+ | 'activity_type'
3557
+ /** column name */
3558
+ | 'performed_at'
3559
+ /** column name */
3560
+ | 'performed_by'
3561
+ /** column name */
3562
+ | 'promptql_user_id'
3563
+ /** column name */
3564
+ | 'thread_id';
3565
+ type Thread_Participants_Aggregate_Bool_Exp = {
3566
+ bool_and?: InputMaybe<Thread_Participants_Aggregate_Bool_Exp_Bool_And>;
3567
+ bool_or?: InputMaybe<Thread_Participants_Aggregate_Bool_Exp_Bool_Or>;
3568
+ count?: InputMaybe<Thread_Participants_Aggregate_Bool_Exp_Count>;
3569
+ };
3570
+ type Thread_Participants_Aggregate_Bool_Exp_Bool_And = {
3571
+ arguments: Thread_Participants_Select_Column_Thread_Participants_Aggregate_Bool_Exp_Bool_And_Arguments_Columns;
3572
+ distinct?: InputMaybe<Scalars['Boolean']['input']>;
3573
+ filter?: InputMaybe<Thread_Participants_Bool_Exp>;
3574
+ predicate: Boolean_Comparison_Exp;
3575
+ };
3576
+ type Thread_Participants_Aggregate_Bool_Exp_Bool_Or = {
3577
+ arguments: Thread_Participants_Select_Column_Thread_Participants_Aggregate_Bool_Exp_Bool_Or_Arguments_Columns;
3578
+ distinct?: InputMaybe<Scalars['Boolean']['input']>;
3579
+ filter?: InputMaybe<Thread_Participants_Bool_Exp>;
3580
+ predicate: Boolean_Comparison_Exp;
3581
+ };
3582
+ type Thread_Participants_Aggregate_Bool_Exp_Count = {
3583
+ arguments?: InputMaybe<Array<Thread_Participants_Select_Column>>;
3584
+ distinct?: InputMaybe<Scalars['Boolean']['input']>;
3585
+ filter?: InputMaybe<Thread_Participants_Bool_Exp>;
3586
+ predicate: Int_Comparison_Exp;
3587
+ };
3588
+ /** order by aggregate values of table "thread_participants" */
3589
+ type Thread_Participants_Aggregate_Order_By = {
3590
+ avg?: InputMaybe<Thread_Participants_Avg_Order_By>;
3591
+ count?: InputMaybe<Order_By>;
3592
+ max?: InputMaybe<Thread_Participants_Max_Order_By>;
3593
+ min?: InputMaybe<Thread_Participants_Min_Order_By>;
3594
+ stddev?: InputMaybe<Thread_Participants_Stddev_Order_By>;
3595
+ stddev_pop?: InputMaybe<Thread_Participants_Stddev_Pop_Order_By>;
3596
+ stddev_samp?: InputMaybe<Thread_Participants_Stddev_Samp_Order_By>;
3597
+ sum?: InputMaybe<Thread_Participants_Sum_Order_By>;
3598
+ var_pop?: InputMaybe<Thread_Participants_Var_Pop_Order_By>;
3599
+ var_samp?: InputMaybe<Thread_Participants_Var_Samp_Order_By>;
3600
+ variance?: InputMaybe<Thread_Participants_Variance_Order_By>;
3601
+ };
3602
+ /** order by avg() on columns of table "thread_participants" */
3603
+ type Thread_Participants_Avg_Order_By = {
3604
+ last_seen_event_id?: InputMaybe<Order_By>;
3605
+ };
3606
+ /** Boolean expression to filter rows from the table "thread_participants". All fields are combined with a logical 'AND'. */
3607
+ type Thread_Participants_Bool_Exp = {
3608
+ _and?: InputMaybe<Array<Thread_Participants_Bool_Exp>>;
3609
+ _not?: InputMaybe<Thread_Participants_Bool_Exp>;
3610
+ _or?: InputMaybe<Array<Thread_Participants_Bool_Exp>>;
3611
+ added_by?: InputMaybe<String_Comparison_Exp>;
3612
+ created_at?: InputMaybe<Timestamptz_Comparison_Exp>;
3613
+ is_removed?: InputMaybe<Boolean_Comparison_Exp>;
3614
+ last_seen_event_id?: InputMaybe<Bigint_Comparison_Exp>;
3615
+ last_seen_thread_event?: InputMaybe<Thread_Events_Bool_Exp>;
3616
+ promptql_user?: InputMaybe<Promptql_Users_Bool_Exp>;
3617
+ promptql_user_id?: InputMaybe<Uuid_Comparison_Exp>;
3618
+ slack_notification_preference?: InputMaybe<Thread_Notification_Preference_Enum_Enum_Comparison_Exp>;
3619
+ slack_notification_preference_enum?: InputMaybe<Thread_Notification_Preference_Enum_Bool_Exp>;
3620
+ thread_events?: InputMaybe<Thread_Events_Bool_Exp>;
3621
+ thread_id?: InputMaybe<Uuid_Comparison_Exp>;
3622
+ thread_participant_activities?: InputMaybe<Thread_Participant_Activity_Bool_Exp>;
3623
+ thread_participant_activities_aggregate?: InputMaybe<Thread_Participant_Activity_Aggregate_Bool_Exp>;
3624
+ threads_v2?: InputMaybe<Threads_V2_Bool_Exp>;
3625
+ updated_at?: InputMaybe<Timestamptz_Comparison_Exp>;
3626
+ };
3627
+ /** order by max() on columns of table "thread_participants" */
3628
+ type Thread_Participants_Max_Order_By = {
3629
+ /** The promptql_user_id of the user who added this participant */
3630
+ added_by?: InputMaybe<Order_By>;
3631
+ /** Timestamp when the participant was added to the thread */
3632
+ created_at?: InputMaybe<Order_By>;
3633
+ last_seen_event_id?: InputMaybe<Order_By>;
3634
+ promptql_user_id?: InputMaybe<Order_By>;
3635
+ thread_id?: InputMaybe<Order_By>;
3636
+ updated_at?: InputMaybe<Order_By>;
3637
+ };
3638
+ /** order by min() on columns of table "thread_participants" */
3639
+ type Thread_Participants_Min_Order_By = {
3640
+ /** The promptql_user_id of the user who added this participant */
3641
+ added_by?: InputMaybe<Order_By>;
3642
+ /** Timestamp when the participant was added to the thread */
3643
+ created_at?: InputMaybe<Order_By>;
3644
+ last_seen_event_id?: InputMaybe<Order_By>;
3645
+ promptql_user_id?: InputMaybe<Order_By>;
3646
+ thread_id?: InputMaybe<Order_By>;
3647
+ updated_at?: InputMaybe<Order_By>;
3648
+ };
3649
+ /** select columns of table "thread_participants" */
3650
+ type Thread_Participants_Select_Column =
3651
+ /** column name */
3652
+ 'added_by'
3653
+ /** column name */
3654
+ | 'created_at'
3655
+ /** column name */
3656
+ | 'is_removed'
3657
+ /** column name */
3658
+ | 'last_seen_event_id'
3659
+ /** column name */
3660
+ | 'promptql_user_id'
3661
+ /** column name */
3662
+ | 'slack_notification_preference'
3663
+ /** column name */
3664
+ | 'thread_id'
3665
+ /** column name */
3666
+ | 'updated_at';
3667
+ /** select "thread_participants_aggregate_bool_exp_bool_and_arguments_columns" columns of table "thread_participants" */
3668
+ type Thread_Participants_Select_Column_Thread_Participants_Aggregate_Bool_Exp_Bool_And_Arguments_Columns =
3669
+ /** column name */
3670
+ 'is_removed';
3671
+ /** select "thread_participants_aggregate_bool_exp_bool_or_arguments_columns" columns of table "thread_participants" */
3672
+ type Thread_Participants_Select_Column_Thread_Participants_Aggregate_Bool_Exp_Bool_Or_Arguments_Columns =
3673
+ /** column name */
3674
+ 'is_removed';
3675
+ /** order by stddev() on columns of table "thread_participants" */
3676
+ type Thread_Participants_Stddev_Order_By = {
3677
+ last_seen_event_id?: InputMaybe<Order_By>;
3678
+ };
3679
+ /** order by stddev_pop() on columns of table "thread_participants" */
3680
+ type Thread_Participants_Stddev_Pop_Order_By = {
3681
+ last_seen_event_id?: InputMaybe<Order_By>;
3682
+ };
3683
+ /** order by stddev_samp() on columns of table "thread_participants" */
3684
+ type Thread_Participants_Stddev_Samp_Order_By = {
3685
+ last_seen_event_id?: InputMaybe<Order_By>;
3686
+ };
3687
+ /** order by sum() on columns of table "thread_participants" */
3688
+ type Thread_Participants_Sum_Order_By = {
3689
+ last_seen_event_id?: InputMaybe<Order_By>;
3690
+ };
3691
+ /** order by var_pop() on columns of table "thread_participants" */
3692
+ type Thread_Participants_Var_Pop_Order_By = {
3693
+ last_seen_event_id?: InputMaybe<Order_By>;
3694
+ };
3695
+ /** order by var_samp() on columns of table "thread_participants" */
3696
+ type Thread_Participants_Var_Samp_Order_By = {
3697
+ last_seen_event_id?: InputMaybe<Order_By>;
3698
+ };
3699
+ /** order by variance() on columns of table "thread_participants" */
3700
+ type Thread_Participants_Variance_Order_By = {
3701
+ last_seen_event_id?: InputMaybe<Order_By>;
3702
+ };
3703
+ type Thread_Visibility_Enum_Enum =
3704
+ /** Private threads are visible only to thread participants */
3705
+ 'PRIVATE'
3706
+ /** Public threads are visible to everyone in the project */
3707
+ | 'PUBLIC';
3708
+ /** Boolean expression to compare columns of type "thread_visibility_enum_enum". All fields are combined with logical 'AND'. */
3709
+ type Thread_Visibility_Enum_Enum_Comparison_Exp = {
3710
+ _eq?: InputMaybe<Thread_Visibility_Enum_Enum>;
3711
+ _in?: InputMaybe<Array<Thread_Visibility_Enum_Enum>>;
3712
+ _is_null?: InputMaybe<Scalars['Boolean']['input']>;
3713
+ _neq?: InputMaybe<Thread_Visibility_Enum_Enum>;
3714
+ _nin?: InputMaybe<Array<Thread_Visibility_Enum_Enum>>;
3715
+ };
3716
+ type Threads_V2_Aggregate_Bool_Exp = {
3717
+ count?: InputMaybe<Threads_V2_Aggregate_Bool_Exp_Count>;
3718
+ };
3719
+ type Threads_V2_Aggregate_Bool_Exp_Count = {
3720
+ arguments?: InputMaybe<Array<Threads_V2_Select_Column>>;
3721
+ distinct?: InputMaybe<Scalars['Boolean']['input']>;
3722
+ filter?: InputMaybe<Threads_V2_Bool_Exp>;
3723
+ predicate: Int_Comparison_Exp;
3724
+ };
3725
+ /** order by aggregate values of table "threads_v2" */
3726
+ type Threads_V2_Aggregate_Order_By = {
3727
+ count?: InputMaybe<Order_By>;
3728
+ max?: InputMaybe<Threads_V2_Max_Order_By>;
3729
+ min?: InputMaybe<Threads_V2_Min_Order_By>;
3730
+ };
3731
+ /** Boolean expression to filter rows from the table "threads_v2". All fields are combined with a logical 'AND'. */
3732
+ type Threads_V2_Bool_Exp = {
3733
+ _and?: InputMaybe<Array<Threads_V2_Bool_Exp>>;
3734
+ _not?: InputMaybe<Threads_V2_Bool_Exp>;
3735
+ _or?: InputMaybe<Array<Threads_V2_Bool_Exp>>;
3736
+ build_id?: InputMaybe<Uuid_Comparison_Exp>;
3737
+ created_at?: InputMaybe<Timestamptz_Comparison_Exp>;
3738
+ deleted_at?: InputMaybe<Timestamptz_Comparison_Exp>;
3739
+ pinned_threads_v2s?: InputMaybe<Pinned_Threads_V2_Bool_Exp>;
3740
+ project_config?: InputMaybe<Project_Configuration_Bool_Exp>;
3741
+ project_id?: InputMaybe<Uuid_Comparison_Exp>;
3742
+ project_slack_integrations?: InputMaybe<Slack_Integration_Bool_Exp>;
3743
+ project_user_groups?: InputMaybe<User_Groups_Bool_Exp>;
3744
+ relevant_event_count?: InputMaybe<Int_Comparison_Exp>;
3745
+ room?: InputMaybe<Rooms_Bool_Exp>;
3746
+ room_id?: InputMaybe<Uuid_Comparison_Exp>;
3747
+ shared_threads?: InputMaybe<Shared_Threads_Bool_Exp>;
3748
+ thread_artifacts?: InputMaybe<Thread_Artifacts_Bool_Exp>;
3749
+ thread_events?: InputMaybe<Thread_Events_Bool_Exp>;
3750
+ thread_feedback?: InputMaybe<Thread_Feedback_Bool_Exp>;
3751
+ thread_id?: InputMaybe<Uuid_Comparison_Exp>;
3752
+ thread_participants?: InputMaybe<Thread_Participants_Bool_Exp>;
3753
+ thread_participants_aggregate?: InputMaybe<Thread_Participants_Aggregate_Bool_Exp>;
3754
+ title?: InputMaybe<String_Comparison_Exp>;
3755
+ updated_at?: InputMaybe<Timestamptz_Comparison_Exp>;
3756
+ user?: InputMaybe<Promptql_Users_Bool_Exp>;
3757
+ user_id?: InputMaybe<Uuid_Comparison_Exp>;
3758
+ visibility?: InputMaybe<Thread_Visibility_Enum_Enum_Comparison_Exp>;
3759
+ };
3760
+ /** order by max() on columns of table "threads_v2" */
3761
+ type Threads_V2_Max_Order_By = {
3762
+ build_id?: InputMaybe<Order_By>;
3763
+ created_at?: InputMaybe<Order_By>;
3764
+ deleted_at?: InputMaybe<Order_By>;
3765
+ project_id?: InputMaybe<Order_By>;
3766
+ /** The room this thread belongs to. Every thread must belong to exactly one room. */
3767
+ room_id?: InputMaybe<Order_By>;
3768
+ thread_id?: InputMaybe<Order_By>;
3769
+ title?: InputMaybe<Order_By>;
3770
+ /** DEPRECATED: Do not use this field. The actual updated_at can be derived from the last event of the thread (thread_events table). */
3771
+ updated_at?: InputMaybe<Order_By>;
3772
+ /** promptql_user_id of creator */
3773
+ user_id?: InputMaybe<Order_By>;
3774
+ };
3775
+ /** order by min() on columns of table "threads_v2" */
3776
+ type Threads_V2_Min_Order_By = {
3777
+ build_id?: InputMaybe<Order_By>;
3778
+ created_at?: InputMaybe<Order_By>;
3779
+ deleted_at?: InputMaybe<Order_By>;
3780
+ project_id?: InputMaybe<Order_By>;
3781
+ /** The room this thread belongs to. Every thread must belong to exactly one room. */
3782
+ room_id?: InputMaybe<Order_By>;
3783
+ thread_id?: InputMaybe<Order_By>;
3784
+ title?: InputMaybe<Order_By>;
3785
+ /** DEPRECATED: Do not use this field. The actual updated_at can be derived from the last event of the thread (thread_events table). */
3786
+ updated_at?: InputMaybe<Order_By>;
3787
+ /** promptql_user_id of creator */
3788
+ user_id?: InputMaybe<Order_By>;
3789
+ };
3790
+ /** Ordering options when selecting data from "threads_v2". */
3791
+ type Threads_V2_Order_By = {
3792
+ build_id?: InputMaybe<Order_By>;
3793
+ created_at?: InputMaybe<Order_By>;
3794
+ deleted_at?: InputMaybe<Order_By>;
3795
+ pinned_threads_v2s_aggregate?: InputMaybe<Pinned_Threads_V2_Aggregate_Order_By>;
3796
+ project_config?: InputMaybe<Project_Configuration_Order_By>;
3797
+ project_id?: InputMaybe<Order_By>;
3798
+ project_slack_integrations_aggregate?: InputMaybe<Slack_Integration_Aggregate_Order_By>;
3799
+ project_user_groups_aggregate?: InputMaybe<User_Groups_Aggregate_Order_By>;
3800
+ relevant_event_count?: InputMaybe<Order_By>;
3801
+ room?: InputMaybe<Rooms_Order_By>;
3802
+ room_id?: InputMaybe<Order_By>;
3803
+ shared_threads_aggregate?: InputMaybe<Shared_Threads_Aggregate_Order_By>;
3804
+ thread_artifacts_aggregate?: InputMaybe<Thread_Artifacts_Aggregate_Order_By>;
3805
+ thread_events_aggregate?: InputMaybe<Thread_Events_Aggregate_Order_By>;
3806
+ thread_feedback_aggregate?: InputMaybe<Thread_Feedback_Aggregate_Order_By>;
3807
+ thread_id?: InputMaybe<Order_By>;
3808
+ thread_participants_aggregate?: InputMaybe<Thread_Participants_Aggregate_Order_By>;
3809
+ title?: InputMaybe<Order_By>;
3810
+ updated_at?: InputMaybe<Order_By>;
3811
+ user?: InputMaybe<Promptql_Users_Order_By>;
3812
+ user_id?: InputMaybe<Order_By>;
3813
+ visibility?: InputMaybe<Order_By>;
3814
+ };
3815
+ /** select columns of table "threads_v2" */
3816
+ type Threads_V2_Select_Column =
3817
+ /** column name */
3818
+ 'build_id'
3819
+ /** column name */
3820
+ | 'created_at'
3821
+ /** column name */
3822
+ | 'deleted_at'
3823
+ /** column name */
3824
+ | 'project_id'
3825
+ /** column name */
3826
+ | 'room_id'
3827
+ /** column name */
3828
+ | 'thread_id'
3829
+ /** column name */
3830
+ | 'title'
3831
+ /** column name */
3832
+ | 'updated_at'
3833
+ /** column name */
3834
+ | 'user_id'
3835
+ /** column name */
3836
+ | 'visibility';
3837
+ /** Boolean expression to compare columns of type "timestamptz". All fields are combined with logical 'AND'. */
3838
+ type Timestamptz_Comparison_Exp = {
3839
+ _eq?: InputMaybe<Scalars['timestamptz']['input']>;
3840
+ _gt?: InputMaybe<Scalars['timestamptz']['input']>;
3841
+ _gte?: InputMaybe<Scalars['timestamptz']['input']>;
3842
+ _in?: InputMaybe<Array<Scalars['timestamptz']['input']>>;
3843
+ _is_null?: InputMaybe<Scalars['Boolean']['input']>;
3844
+ _lt?: InputMaybe<Scalars['timestamptz']['input']>;
3845
+ _lte?: InputMaybe<Scalars['timestamptz']['input']>;
3846
+ _neq?: InputMaybe<Scalars['timestamptz']['input']>;
3847
+ _nin?: InputMaybe<Array<Scalars['timestamptz']['input']>>;
3848
+ };
3849
+ /** order by aggregate values of table "user_group_members" */
3850
+ type User_Group_Members_Aggregate_Order_By = {
3851
+ count?: InputMaybe<Order_By>;
3852
+ max?: InputMaybe<User_Group_Members_Max_Order_By>;
3853
+ min?: InputMaybe<User_Group_Members_Min_Order_By>;
3854
+ };
3855
+ /** Boolean expression to filter rows from the table "user_group_members". All fields are combined with a logical 'AND'. */
3856
+ type User_Group_Members_Bool_Exp = {
3857
+ _and?: InputMaybe<Array<User_Group_Members_Bool_Exp>>;
3858
+ _not?: InputMaybe<User_Group_Members_Bool_Exp>;
3859
+ _or?: InputMaybe<Array<User_Group_Members_Bool_Exp>>;
3860
+ promptql_user?: InputMaybe<Promptql_Users_Bool_Exp>;
3861
+ promptql_user_id?: InputMaybe<Uuid_Comparison_Exp>;
3862
+ user_group?: InputMaybe<User_Groups_Bool_Exp>;
3863
+ user_group_id?: InputMaybe<Uuid_Comparison_Exp>;
3864
+ };
3865
+ /** order by max() on columns of table "user_group_members" */
3866
+ type User_Group_Members_Max_Order_By = {
3867
+ promptql_user_id?: InputMaybe<Order_By>;
3868
+ user_group_id?: InputMaybe<Order_By>;
3869
+ };
3870
+ /** order by min() on columns of table "user_group_members" */
3871
+ type User_Group_Members_Min_Order_By = {
3872
+ promptql_user_id?: InputMaybe<Order_By>;
3873
+ user_group_id?: InputMaybe<Order_By>;
3874
+ };
3875
+ /** order by aggregate values of table "user_groups" */
3876
+ type User_Groups_Aggregate_Order_By = {
3877
+ count?: InputMaybe<Order_By>;
3878
+ max?: InputMaybe<User_Groups_Max_Order_By>;
3879
+ min?: InputMaybe<User_Groups_Min_Order_By>;
3880
+ };
3881
+ /** Boolean expression to filter rows from the table "user_groups". All fields are combined with a logical 'AND'. */
3882
+ type User_Groups_Bool_Exp = {
3883
+ _and?: InputMaybe<Array<User_Groups_Bool_Exp>>;
3884
+ _not?: InputMaybe<User_Groups_Bool_Exp>;
3885
+ _or?: InputMaybe<Array<User_Groups_Bool_Exp>>;
3886
+ created_at?: InputMaybe<Timestamptz_Comparison_Exp>;
3887
+ description?: InputMaybe<String_Comparison_Exp>;
3888
+ name?: InputMaybe<String_Comparison_Exp>;
3889
+ project_id?: InputMaybe<Uuid_Comparison_Exp>;
3890
+ user_group_id?: InputMaybe<Uuid_Comparison_Exp>;
3891
+ user_group_members?: InputMaybe<User_Group_Members_Bool_Exp>;
3892
+ };
3893
+ /** order by max() on columns of table "user_groups" */
3894
+ type User_Groups_Max_Order_By = {
3895
+ created_at?: InputMaybe<Order_By>;
3896
+ description?: InputMaybe<Order_By>;
3897
+ name?: InputMaybe<Order_By>;
3898
+ project_id?: InputMaybe<Order_By>;
3899
+ user_group_id?: InputMaybe<Order_By>;
3900
+ };
3901
+ /** order by min() on columns of table "user_groups" */
3902
+ type User_Groups_Min_Order_By = {
3903
+ created_at?: InputMaybe<Order_By>;
3904
+ description?: InputMaybe<Order_By>;
3905
+ name?: InputMaybe<Order_By>;
3906
+ project_id?: InputMaybe<Order_By>;
3907
+ user_group_id?: InputMaybe<Order_By>;
3908
+ };
3909
+ /** Boolean expression to filter rows from the table "user_preferences". All fields are combined with a logical 'AND'. */
3910
+ type User_Preferences_Bool_Exp = {
3911
+ _and?: InputMaybe<Array<User_Preferences_Bool_Exp>>;
3912
+ _not?: InputMaybe<User_Preferences_Bool_Exp>;
3913
+ _or?: InputMaybe<Array<User_Preferences_Bool_Exp>>;
3914
+ created_at?: InputMaybe<Timestamptz_Comparison_Exp>;
3915
+ custom_instructions?: InputMaybe<String_Comparison_Exp>;
3916
+ promptql_user?: InputMaybe<Promptql_Users_Bool_Exp>;
3917
+ promptql_user_id?: InputMaybe<Uuid_Comparison_Exp>;
3918
+ updated_at?: InputMaybe<Timestamptz_Comparison_Exp>;
3919
+ };
3920
+ /** Ordering options when selecting data from "user_preferences". */
3921
+ type User_Preferences_Order_By = {
3922
+ created_at?: InputMaybe<Order_By>;
3923
+ custom_instructions?: InputMaybe<Order_By>;
3924
+ promptql_user?: InputMaybe<Promptql_Users_Order_By>;
3925
+ promptql_user_id?: InputMaybe<Order_By>;
3926
+ updated_at?: InputMaybe<Order_By>;
3927
+ };
3928
+ /** Boolean expression to filter rows from the table "user_room_activity". All fields are combined with a logical 'AND'. */
3929
+ type User_Room_Activity_Bool_Exp = {
3930
+ _and?: InputMaybe<Array<User_Room_Activity_Bool_Exp>>;
3931
+ _not?: InputMaybe<User_Room_Activity_Bool_Exp>;
3932
+ _or?: InputMaybe<Array<User_Room_Activity_Bool_Exp>>;
3933
+ created_at?: InputMaybe<Timestamptz_Comparison_Exp>;
3934
+ last_seen_event_id?: InputMaybe<Bigint_Comparison_Exp>;
3935
+ promptql_user?: InputMaybe<Promptql_Users_Bool_Exp>;
3936
+ promptql_user_id?: InputMaybe<Uuid_Comparison_Exp>;
3937
+ room?: InputMaybe<Rooms_Bool_Exp>;
3938
+ room_id?: InputMaybe<Uuid_Comparison_Exp>;
3939
+ updated_at?: InputMaybe<Timestamptz_Comparison_Exp>;
3940
+ };
3941
+ /** Ordering options when selecting data from "user_room_activity". */
3942
+ type User_Room_Activity_Order_By = {
3943
+ created_at?: InputMaybe<Order_By>;
3944
+ last_seen_event_id?: InputMaybe<Order_By>;
3945
+ promptql_user?: InputMaybe<Promptql_Users_Order_By>;
3946
+ promptql_user_id?: InputMaybe<Order_By>;
3947
+ room?: InputMaybe<Rooms_Order_By>;
3948
+ room_id?: InputMaybe<Order_By>;
3949
+ updated_at?: InputMaybe<Order_By>;
3950
+ };
3951
+ /** order by aggregate values of table "user_slack_notification_preferences" */
3952
+ type User_Slack_Notification_Preferences_Aggregate_Order_By = {
3953
+ count?: InputMaybe<Order_By>;
3954
+ max?: InputMaybe<User_Slack_Notification_Preferences_Max_Order_By>;
3955
+ min?: InputMaybe<User_Slack_Notification_Preferences_Min_Order_By>;
3956
+ };
3957
+ /** Boolean expression to filter rows from the table "user_slack_notification_preferences". All fields are combined with a logical 'AND'. */
3958
+ type User_Slack_Notification_Preferences_Bool_Exp = {
3959
+ _and?: InputMaybe<Array<User_Slack_Notification_Preferences_Bool_Exp>>;
3960
+ _not?: InputMaybe<User_Slack_Notification_Preferences_Bool_Exp>;
3961
+ _or?: InputMaybe<Array<User_Slack_Notification_Preferences_Bool_Exp>>;
3962
+ notification_preference_enum?: InputMaybe<Notification_Preference_Enum_Bool_Exp>;
3963
+ preference?: InputMaybe<Notification_Preference_Enum_Enum_Comparison_Exp>;
3964
+ promptql_user?: InputMaybe<Promptql_Users_Bool_Exp>;
3965
+ promptql_user_id?: InputMaybe<Uuid_Comparison_Exp>;
3966
+ };
3967
+ /** order by max() on columns of table "user_slack_notification_preferences" */
3968
+ type User_Slack_Notification_Preferences_Max_Order_By = {
3969
+ promptql_user_id?: InputMaybe<Order_By>;
3970
+ };
3971
+ /** order by min() on columns of table "user_slack_notification_preferences" */
3972
+ type User_Slack_Notification_Preferences_Min_Order_By = {
3973
+ promptql_user_id?: InputMaybe<Order_By>;
3974
+ };
3975
+ /** Ordering options when selecting data from "user_slack_notification_preferences". */
3976
+ type User_Slack_Notification_Preferences_Order_By = {
3977
+ notification_preference_enum?: InputMaybe<Notification_Preference_Enum_Order_By>;
3978
+ preference?: InputMaybe<Order_By>;
3979
+ promptql_user?: InputMaybe<Promptql_Users_Order_By>;
3980
+ promptql_user_id?: InputMaybe<Order_By>;
3981
+ };
3982
+ /** Boolean expression to compare columns of type "uuid". All fields are combined with logical 'AND'. */
3983
+ type Uuid_Comparison_Exp = {
3984
+ _eq?: InputMaybe<Scalars['uuid']['input']>;
3985
+ _gt?: InputMaybe<Scalars['uuid']['input']>;
3986
+ _gte?: InputMaybe<Scalars['uuid']['input']>;
3987
+ _in?: InputMaybe<Array<Scalars['uuid']['input']>>;
3988
+ _is_null?: InputMaybe<Scalars['Boolean']['input']>;
3989
+ _lt?: InputMaybe<Scalars['uuid']['input']>;
3990
+ _lte?: InputMaybe<Scalars['uuid']['input']>;
3991
+ _neq?: InputMaybe<Scalars['uuid']['input']>;
3992
+ _nin?: InputMaybe<Array<Scalars['uuid']['input']>>;
3993
+ };
3994
+ type SendThreadMessageMutation = {
3995
+ __typename?: 'mutation_root';
3996
+ send_thread_message?: {
3997
+ __typename?: 'ThreadEvent';
3998
+ thread_event_id: string;
3999
+ created_at: string;
4000
+ } | null;
4001
+ };
4002
+ type StartThreadMutation = {
4003
+ __typename?: 'mutation_root';
4004
+ start_thread?: {
4005
+ __typename?: 'StartThreadOutput';
4006
+ thread_id: string;
4007
+ title?: string | null;
4008
+ created_at: string;
4009
+ } | null;
4010
+ };
4011
+ type ThreadFragment = {
4012
+ __typename?: 'threads_v2';
4013
+ thread_id: string;
4014
+ build_id?: string | null;
4015
+ title?: string | null;
4016
+ relevant_event_count?: number | null;
4017
+ visibility: Thread_Visibility_Enum_Enum;
4018
+ created_at: string;
4019
+ updated_at: string;
4020
+ user?: {
4021
+ __typename?: 'promptql_users';
4022
+ promptql_user_id: string;
4023
+ display_name: string;
4024
+ email: string;
4025
+ is_active: boolean;
4026
+ created_at: string;
4027
+ updated_at: string;
4028
+ } | null;
4029
+ };
4030
+ type GetThreadsQueryVariables = Exact<{
4031
+ where: Threads_V2_Bool_Exp;
4032
+ limit?: InputMaybe<Scalars['Int']['input']>;
4033
+ offset?: InputMaybe<Scalars['Int']['input']>;
4034
+ order_by?: InputMaybe<Array<Threads_V2_Order_By> | Threads_V2_Order_By>;
4035
+ }>;
4036
+ type SubscribeThreadEventsSubscription = {
4037
+ __typename?: 'subscription_root';
4038
+ thread_events: Array<{
4039
+ __typename?: 'thread_events';
4040
+ thread_event_id: string;
4041
+ event_data: any;
4042
+ created_at: string;
4043
+ }>;
4044
+ };
4045
+
4046
+ /**
4047
+ * Options to initialize a PromptQL SDK client.
4048
+ */
4049
+ type PromptQLSdkOptions = {
4050
+ /**
4051
+ * Host of the auth service that is used for a custom self-hosted control plane only.
4052
+ */
4053
+ authHost?: string;
4054
+ /**
4055
+ * Project ID of the PromptQL project. You can find it in Project Settings > General Settings tab on https://promptql.console.hasura.io.
4056
+ */
4057
+ projectId: string;
4058
+ /**
4059
+ * Base URL of the PromptQL data plane. You can find it in Project Settings > PromptQL > PromptQL API on https://promptql.console.hasura.io.
4060
+ * The base URL must remove the request path, For example: https://promptql.ddn.hasura.app.
4061
+ */
4062
+ promptqlBaseUrl?: string;
4063
+ /**
4064
+ * Service account token of the PromptQL project.
4065
+ * Check out Hasura docs https://hasura.io/docs/3.0/project-configuration/project-management/service-accounts/#how-to-create-service-account to know how to create a token.
4066
+ */
4067
+ serviceAccountToken: string;
4068
+ /**
4069
+ * A function to use instead of calling the Fetch API directly when sending HTTP requests to your GraphQL endpoint. The function must conform to the signature of fetch.
4070
+ * By default, the Fetch API is used unless it isn't available in your runtime environment.
4071
+ */
4072
+ fetch?: typeof fetch;
4073
+ /**
4074
+ * An object representing headers to include in every HTTP request.
4075
+ */
4076
+ headers?: Record<string, string>;
4077
+ /**
4078
+ * An [IANA timezone](https://data.iana.org/time-zones/tzdb-2021a/zone1970.tab) for interpreting time-based queries. Default is the timezone from the client config.
4079
+ */
4080
+ timezone?: string;
4081
+ /**
4082
+ * UUID of the DDN build. Default is the applied build.
4083
+ */
4084
+ buildId?: string;
4085
+ };
4086
+ /**
4087
+ * Request arguments of the startThread mutation.
4088
+ */
4089
+ type StartThreadArguments = {
4090
+ /**
4091
+ * Message prompt
4092
+ */
4093
+ message: string;
4094
+ /**
4095
+ * An [IANA timezone](https://data.iana.org/time-zones/tzdb-2021a/zone1970.tab) for interpreting time-based queries. Default is the timezone from the client config.
4096
+ */
4097
+ timezone?: string;
4098
+ /**
4099
+ * UUID of the DDN build. Default is the applied build.
4100
+ */
4101
+ buildId?: string;
4102
+ };
4103
+ /**
4104
+ * Output of the startThread mutation.
4105
+ */
4106
+ type StartThreadOutput = NonNullable<StartThreadMutation["start_thread"]>;
4107
+ /**
4108
+ * Request arguments of the continueThread mutation.
4109
+ */
4110
+ type SendMessageToThreadArguments = {
4111
+ /**
4112
+ * Thread ID to continue th
4113
+ */
4114
+ threadId: string;
4115
+ /**
4116
+ * Message prompt
4117
+ */
4118
+ message: string;
4119
+ /**
4120
+ * An [IANA timezone](https://data.iana.org/time-zones/tzdb-2021a/zone1970.tab) for interpreting time-based queries. Default is the timezone from the client config.
4121
+ */
4122
+ timezone?: string;
4123
+ };
4124
+ /**
4125
+ * Output of the continueThread mutation.
4126
+ */
4127
+ type SendMessageToThreadOutput = NonNullable<SendThreadMessageMutation["send_thread_message"]>;
4128
+ /**
4129
+ * Output of the thread events subscription.
4130
+ */
4131
+ type ThreadEvent = Omit<SubscribeThreadEventsSubscription["thread_events"][0], "__typename" | "event_data"> & {
4132
+ event_data: ThreadEvent$1;
4133
+ };
4134
+ type KeysOfUnion<T> = T extends any ? keyof T : never;
4135
+ type EventOfKind<T, K extends KeysOfUnion<T>> = Extract<T, Record<K, any>>[K];
4136
+ /**
4137
+ * The decision made by the agent.
4138
+ */
4139
+ type InteractionDecision = EventOfKind<MessageProcessingUpdate, "InteractionDecision">["decision"];
4140
+ /**
4141
+ * The specific schema exploration update.
4142
+ */
4143
+ type SchemaExplorerUpdate = EventOfKind<ContextExplorerUpdate, "SchemaExplorerUpdate">["update"];
4144
+ /**
4145
+ * The specific wiki exploration update.
4146
+ */
4147
+ type WikiExplorerUpdate = EventOfKind<ContextExplorerUpdate, "WikiExplorerUpdate">["update"];
4148
+ /**
4149
+ * The specific step update.
4150
+ */
4151
+ type StepUpdate = EventOfKind<OrchestratorUpdate, "StepUpdate">;
4152
+ type CodeExecutionComplete = EventOfKind<SchemaExplorerUpdate, "CodeExecutionComplete">;
4153
+ type SchemaExplored = EventOfKind<SchemaExplorerUpdate, "SchemaExplored">;
4154
+ type GeneratedCode = EventOfKind<SchemaExplorerUpdate, "GeneratedCode">;
4155
+ type CodeOutputAnalyzed = EventOfKind<SchemaExplorerUpdate, "CodeOutputAnalyzed">;
4156
+ type SchemaExplorerStarted = EventOfKind<SchemaExplorerUpdate, "Started">;
4157
+ type SchemaExplorerCompleted = EventOfKind<SchemaExplorerUpdate, "Completed">;
4158
+ type TasksGenerated = EventOfKind<SchemaTasksGenerationUpdate, "TasksGenerated">;
4159
+ type SchemaTasksGenerationStarted = EventOfKind<SchemaTasksGenerationUpdate, "Started">;
4160
+ type SchemaTasksGenerationCompleted = EventOfKind<SchemaTasksGenerationUpdate, "Completed">;
4161
+ type UserMessageEvent = EventOfKind<ThreadEvent$1, "UserMessage">;
4162
+ type UserCancelEvent = EventOfKind<ThreadEvent$1, "UserCancel">;
4163
+ type PlanGenerationStarted = EventOfKind<OrchestratorUpdate, "PlanGenerationStarted">;
4164
+ type PlanStepGenerated = EventOfKind<OrchestratorUpdate, "PlanStepGenerated">;
4165
+ type GeneratedResponse = EventOfKind<OrchestratorUpdate, "GeneratedResponse">;
4166
+ type MessageProcessingStarted = EventOfKind<MessageProcessingUpdate, "ProcessingStarted">;
4167
+ type InteractionDecisionAccept = EventOfKind<InteractionDecision, "AcceptInteraction">;
4168
+ type InteractionDecisionDecline = EventOfKind<InteractionDecision, "DeclineInteraction">;
4169
+ type PlanningDecisionStarted = EventOfKind<PlanningDecisionUpdate, "Started">;
4170
+ type PlanningDecisionCompleted = EventOfKind<PlanningDecisionUpdate, "Completed">;
4171
+ type PlanningDecisionPlanningRequired = EventOfKind<PlanningDecisionUpdate, "PlanningRequired">;
4172
+ type StartingOrchestrator = EventOfKind<AgentUpdate, "StartingOrchestrator">;
4173
+ type ContextExplorerStarted = EventOfKind<ContextExplorerUpdate, "Started">;
4174
+ type ContextExplorerCompleted = EventOfKind<ContextExplorerUpdate, "Completed">;
4175
+ type WikiExplorerStarted = EventOfKind<WikiExplorerUpdate, "Started">;
4176
+ type WikiInfoGenerated = EventOfKind<WikiExplorerUpdate, "WikiInfoGenerated">;
4177
+ type WikiExplorerCompleted = EventOfKind<WikiExplorerUpdate, "Completed">;
4178
+
4179
+ /**
4180
+ * PromptQL SDK allows you to interact with PromptQL API.
4181
+ */
4182
+ declare class PromptQLSdk {
4183
+ constructor(options: PromptQLSdkOptions);
4184
+ private client;
4185
+ private projectId;
4186
+ private buildId;
4187
+ private defaultTimezone;
4188
+ /**
4189
+ * Get the basic information of the PromptQL project.
4190
+ */
4191
+ getProjectInfo(): Promise<GetProjectInfoOutput>;
4192
+ /**
4193
+ * List threads of the current project. The default limit is 10.
4194
+ */
4195
+ getThreads(variables: GetThreadsQueryVariables): Promise<ThreadFragment[]>;
4196
+ /**
4197
+ * Get a thread by ID.
4198
+ */
4199
+ getThreadById(threadId: string): Promise<ThreadFragment | null | undefined>;
4200
+ /**
4201
+ * Start a PromptQL thread.
4202
+ */
4203
+ startThread(variables: StartThreadArguments): Promise<StartThreadOutput>;
4204
+ /**
4205
+ * Send a message to an existing thread.
4206
+ */
4207
+ sendMessageToThread(variables: SendMessageToThreadArguments): Promise<SendMessageToThreadOutput>;
4208
+ /**
4209
+ * Subscribe to events of a thread by ID. The subscription won't stop even if the interaction is completed.
4210
+ */
4211
+ subscribeThreadEventsByThreadId(threadId: string, threadEventId?: string | null): Observable<ThreadEvent[]>;
4212
+ /**
4213
+ * Stream events of a thread by ID. Stop the subscription right after received the completed event.
4214
+ */
4215
+ streamThreadEventsByThreadId(threadId: string, threadEventId?: string | null): Observable<ThreadEvent[]>;
4216
+ }
4217
+ /**
4218
+ * The interface of PromptQLSdk
4219
+ */
4220
+ type IPromptQLSdk = InstanceType<typeof PromptQLSdk>;
4221
+
4222
+ /**
4223
+ * Compare event elements between the previous array and the current array.
4224
+ * @param prev Previous thread events
4225
+ * @param current Current thread events
4226
+ * @returns Different event results from the current array.
4227
+ */
4228
+ declare function diffThreadEvents(prev: ThreadEvent[], current: ThreadEvent[]): ThreadEvent[];
4229
+ /**
4230
+ * Validate and return the UserMessage event that represents a created message from a user.
4231
+ */
4232
+ declare function getUserMessageEvent(eventData: ThreadEvent$1): UserMessageEvent | null;
4233
+ /**
4234
+ * Validate and return the UserMessage event that represents a created message from a user.
4235
+ */
4236
+ declare function getUserCancelEvent(eventData: ThreadEvent$1): UserCancelEvent | null;
4237
+ /**
4238
+ * Validate and return the PlanGenerationStarted event that starts the query plan step.
4239
+ */
4240
+ declare function getAgentPlanGenerationStartedEvent(eventData: ThreadEvent$1): PlanGenerationStarted | null;
4241
+ /**
4242
+ * Validate and return the PlanStepGenerated event that generates a query plan item.
4243
+ */
4244
+ declare function getAgentPlanStepGeneratedEvent(eventData: ThreadEvent$1): PlanStepGenerated | null;
4245
+ /**
4246
+ * Validate and return the GeneratedResponse from AgentMessage.
4247
+ */
4248
+ declare function getAgentGeneratedResponse(eventData: ThreadEvent$1): GeneratedResponse | null;
4249
+ /**
4250
+ * Validate and return the ProcessingStarted event from AgentMessage.
4251
+ */
4252
+ declare function getAgentMessageProcessingStartedEvent(eventData: ThreadEvent$1): MessageProcessingStarted | null;
4253
+ /**
4254
+ * Validate and return the AcceptInteraction event from the agent decision.
4255
+ */
4256
+ declare function getAgentInteractionDecisionAcceptInteractionEvent(eventData: ThreadEvent$1): InteractionDecisionAccept | null;
4257
+ /**
4258
+ * Validate and return the DeclineInteraction event from the agent decision.
4259
+ */
4260
+ declare function getAgentInteractionDecisionDeclineInteractionEvent(eventData: ThreadEvent$1): InteractionDecisionDecline | null;
4261
+ /**
4262
+ * Validate and return the PlanningDecisionUpdate event from the agent message.
4263
+ */
4264
+ declare function getAgentPlanningDecisionUpdateEvent(eventData: ThreadEvent$1): PlanningDecisionUpdate | null;
4265
+ /**
4266
+ * Validate and return the Started event from the agent planning decision update.
4267
+ */
4268
+ declare function getAgentPlanningDecisionStartedEvent(eventData: ThreadEvent$1): PlanningDecisionStarted | null;
4269
+ /**
4270
+ * Validate and return the Completed event from the agent planning decision update.
4271
+ */
4272
+ declare function getAgentPlanningDecisionCompletedEvent(eventData: ThreadEvent$1): PlanningDecisionCompleted | null;
4273
+ /**
4274
+ * Validate and return the PlanningRequired event from the agent planning decision update.
4275
+ */
4276
+ declare function getAgentPlanningDecisionPlanningRequiredEvent(eventData: ThreadEvent$1): PlanningDecisionPlanningRequired | null;
4277
+ /**
4278
+ * Validate and return the StartingOrchestrator event from the agent message update.
4279
+ */
4280
+ declare function getAgentStartingOrchestratorEvent(eventData: ThreadEvent$1): StartingOrchestrator | null;
4281
+ /**
4282
+ * Validate and return the OrchestratorUpdate event from the agent message.
4283
+ */
4284
+ declare function getAgentOrchestratorUpdateEvent(eventData: ThreadEvent$1): OrchestratorUpdate | null;
4285
+ /**
4286
+ * Validate and return the ContextExplorerUpdate event from the orchestrator update.
4287
+ */
4288
+ declare function getAgentOrchestratorContextExplorerUpdateEvent(eventData: ThreadEvent$1): ContextExplorerUpdate | null;
4289
+ /**
4290
+ * Validate and return the Started event from the context explorer update.
4291
+ */
4292
+ declare function getAgentOrchestratorContextExplorerStartedEvent(eventData: ThreadEvent$1): ContextExplorerStarted | null;
4293
+ /**
4294
+ * Validate and return the Completed event from the context explorer update.
4295
+ */
4296
+ declare function getAgentOrchestratorContextExplorerCompletedEvent(eventData: ThreadEvent$1): ContextExplorerCompleted | null;
4297
+ /**
4298
+ * Validate and return the WikiExplorerUpdate event from the context explorer update.
4299
+ */
4300
+ declare function getAgentOrchestratorWikiExplorerUpdateEvent(eventData: ThreadEvent$1): WikiExplorerUpdate | null;
4301
+ /**
4302
+ * Validate and return the Completed event from the wiki explorer update.
4303
+ */
4304
+ declare function getAgentOrchestratorWikiExplorerStartedEvent(eventData: ThreadEvent$1): WikiExplorerStarted | null;
4305
+ /**
4306
+ * Validate and return the Completed event from the wiki explorer update.
4307
+ */
4308
+ declare function getAgentOrchestratorWikiExplorerCompletedEvent(eventData: ThreadEvent$1): WikiExplorerCompleted | null;
4309
+ /**
4310
+ * Validate and return the WikiInfoGenerated event from the wiki explorer update.
4311
+ */
4312
+ declare function getAgentOrchestratorWikiInfoGeneratedEvent(eventData: ThreadEvent$1): WikiInfoGenerated | null;
4313
+ /**
4314
+ * Validate and return the SchemaTasksGenerationUpdate event from the context explorer update.
4315
+ */
4316
+ declare function getAgentOrchestratorSchemaTasksGenerationUpdateEvent(eventData: ThreadEvent$1): SchemaTasksGenerationUpdate | null;
4317
+ /**
4318
+ * Validate and return the Started event from the schema tasks generation update.
4319
+ */
4320
+ declare function getAgentOrchestratorSchemaTasksGenerationStartedEvent(eventData: ThreadEvent$1): SchemaTasksGenerationStarted | null;
4321
+ /**
4322
+ * Validate and return the Completed event from the schema tasks generation update.
4323
+ */
4324
+ declare function getAgentOrchestratorSchemaTasksGenerationCompletedEvent(eventData: ThreadEvent$1): SchemaTasksGenerationCompleted | null;
4325
+ /**
4326
+ * Validate and return the TasksGenerated event from the schema tasks generation update.
4327
+ */
4328
+ declare function getAgentOrchestratorSchemaTasksGeneratedEvent(eventData: ThreadEvent$1): TasksGenerated | null;
4329
+ /**
4330
+ * Validate and return the SchemaExplorerUpdate event from the context explorer update.
4331
+ */
4332
+ declare function getAgentOrchestratorSchemaExplorerUpdateEvent(eventData: ThreadEvent$1): SchemaExplorerUpdate | null;
4333
+ /**
4334
+ * Validate and return the Started event from the schema explorer update.
4335
+ */
4336
+ declare function getAgentOrchestratorSchemaExplorerStartedEvent(eventData: ThreadEvent$1): SchemaExplorerStarted | null;
4337
+ /**
4338
+ * Validate and return the Completed event from the schema explorer update.
4339
+ */
4340
+ declare function getAgentOrchestratorSchemaExplorerCompletedEvent(eventData: ThreadEvent$1): SchemaExplorerCompleted | null;
4341
+ /**
4342
+ * Validate and return the CodeExecutionComplete event from the schema explorer update.
4343
+ */
4344
+ declare function getAgentOrchestratorSchemaExplorerCodeExecutionCompleteEvent(eventData: ThreadEvent$1): CodeExecutionComplete | null;
4345
+ /**
4346
+ * Validate and return the CodeOutputAnalyzed event from the schema explorer update.
4347
+ */
4348
+ declare function getAgentOrchestratorSchemaExplorerCodeOutputAnalyzedEvent(eventData: ThreadEvent$1): CodeOutputAnalyzed | null;
4349
+ /**
4350
+ * Validate and return the GeneratedCode event from the schema explorer update.
4351
+ */
4352
+ declare function getAgentOrchestratorSchemaExplorerGeneratedCodeEvent(eventData: ThreadEvent$1): GeneratedCode | null;
4353
+ /**
4354
+ * Validate and return the SchemaExplored event from the schema explorer update.
4355
+ */
4356
+ declare function getAgentOrchestratorSchemaExplorerSchemaExploredEvent(eventData: ThreadEvent$1): SchemaExplored | null;
4357
+ /**
4358
+ * Validate and return the StepUpdate event from the orchestrator update.
4359
+ */
4360
+ declare function getAgentOrchestratorStepUpdateEvent(eventData: ThreadEvent$1): StepUpdate | null;
4361
+ /**
4362
+ * Validate and return the Programmer event from the step update.
4363
+ */
4364
+ declare function getAgentOrchestratorStepProgrammerEvent(eventData: ThreadEvent$1): ProgrammerUpdate | null;
4365
+ /**
4366
+ * Validate and return the UiProgrammer event from the step update.
4367
+ */
4368
+ declare function getAgentOrchestratorStepUiProgrammerEvent(eventData: ThreadEvent$1): UiProgrammerUpdate | null;
4369
+ /**
4370
+ * Validate and return the SavedProgramRunner event from the step update.
4371
+ */
4372
+ declare function getAgentOrchestratorStepSavedProgramRunnerEvent(eventData: ThreadEvent$1): SavedProgramRunnerUpdate | null;
4373
+
4374
+ /**
4375
+ * Constructor options for a PromptQL authenticator.
4376
+ */
4377
+ type PromptQLAuthTokenGeneratorOptions = {
4378
+ authHost?: string;
4379
+ projectId: string;
4380
+ promptqlGraphQLUrl: string;
4381
+ serviceAccountToken: string;
4382
+ fetch?: typeof fetch;
4383
+ };
4384
+ declare function createPromptQLAuthTokenGenerator(options: PromptQLAuthTokenGeneratorOptions): () => Promise<string>;
4385
+
4386
+ type LuxAuthPromptQLTokenSuccessResponse = {
4387
+ status: "success";
4388
+ expiry: string;
4389
+ token: string;
4390
+ };
4391
+ type LuxAuthPromptQLTokenFailedResponse = {
4392
+ error: string;
4393
+ status: "failure";
4394
+ };
4395
+ declare function isLuxAuthPromptQLTokenFailedResponse(input: unknown): input is LuxAuthPromptQLTokenFailedResponse;
4396
+ declare function isLuxAuthPromptQLTokenSuccessResponse(input: unknown): input is LuxAuthPromptQLTokenSuccessResponse;
4397
+ declare function isEnrichTokenMutationResponse(input: unknown): input is {
4398
+ data?: {
4399
+ enrich_token: EnrichTokenOutput;
4400
+ };
4401
+ errors?: GraphQLError[];
4402
+ };
4403
+
4404
+ export { type AgentInteraction, type AgentState, type AgentUpdate, type AllTheServerTypes, type AnalyzedCodeAction, type AnalyzedCodeAction2, type ApolloClientOptions, type ArtifactError, type ArtifactErrorV1, type ArtifactId, type ArtifactPreview, type ArtifactReference, type ArtifactReference1, type ArtifactReference2, type ArtifactState, type ArtifactType, type ArtifactType2, type ArtifactUpdate, type ArtifactUpdate1, type AssumptionFactCheck, type BuildError, type BuildErrorV1, type BuiltUi, type BuiltUi1, type CheckedAssumption, type CheckedTopic, type CodeAction, type CodeAction2, type CodeError, type CodeErrorV1, type CodeExecutionComplete, type CodeOutputAnalysis, type CodeOutputAnalysis1, type CodeOutputAnalyzed, type ComponentResponse, type ComponentResponse1, type ComponentResponse2, type ComponentResponse3, type ComponentResponse4, type ComponentResponse5, type ConfidenceAnalysis, type ConfidenceAnalysis1, type ConfidenceAnalysisLlmUsage, type ConfidenceAnalysisOutcome, type ConfidenceAnalysisUpdate, type ContextExplorerCompleted, type ContextExplorerStarted, type ContextExplorerState, type ContextExplorerUpdate, type CurrentAction, type DataArtifactUpdated, type DataArtifactUpdatedV1, type Dependency, type EventOfKind, type FactSource, type GeneratedCode, type GeneratedFile, type GeneratedFile2, type GeneratedProgramRunnerOutput, type GeneratedResponse, type GeneratedUiCode, type GeneratedUiCode1, type GetThreadsQueryVariables, type IPromptQLSdk, type Interaction, type InteractionDecision, type InteractionDecisionAccept, type InteractionDecisionDecline, type InteractionDeclineReason, type InteractionFinishedUpdate, type InteractionOutcome, type InternalUpdate, type KeysOfUnion, type LlmUsage, type LuxAuthPromptQLTokenSuccessResponse, type MessageProcessingStarted, type MessageProcessingState, type MessageProcessingUpdate, type OrchestratorState, type OrchestratorUpdate, type Order_By, type OutputEmitted, type OutputEmittedV1, type PipelineColumn, type PipelineColumnType, type PipelinePartitionSpec, type PipelinePartitionTransform, type PipelineRunStepDetails, type PipelineSchema, type PipelineSink, type PipelineSource, type PipelineStep, type PipelineTransform, type PlanGenerationStarted, type PlanState, type PlanStateStep, type PlanStepGenerated, type PlanningDecisionCompleted, type PlanningDecisionPlanningRequired, type PlanningDecisionStarted, type PlanningDecisionState, type PlanningDecisionUpdate, type ProgramId, type ProgramPackageName, type ProgramRunEvent, type ProgramRunResult, type ProgramRunnerAction, type ProgramRunnerAction2, type ProgramRunnerActionResult, type ProgramRunnerAttempt, type ProgramTransform, type ProgrammerState, type ProgrammerUpdate, type PromptQLAuthTokenGeneratorOptions, PromptQLSdk, type PromptQLSdkOptions, type PromptQlUserId, type PythonRunStepDetails, type PythonStep, type ResponseGenerationState, type ResponseGenerationUpdate, type RunConfigV1, type RunFinished, type RunFinishedOutcome, type RunFinishedV1, type RunProgramRequest, type RunProgramRequest2, type RunSavedProgramRequest, type RunSavedProgramRequest2, type RunStarted, type RunStartedV1, type RunStepDetails, type SavedProgramRunnerStage, type SavedProgramRunnerState, type SavedProgramRunnerUpdate, type SavedProgramRunnerUpdateV0, type SchemaContext, type SchemaContext1, type SchemaExplored, type SchemaExplorerCompleted, type SchemaExplorerStarted, type SchemaExplorerState, type SchemaExplorerUpdate, type SchemaTask, type SchemaTasksGenerationCompleted, type SchemaTasksGenerationStarted, type SchemaTasksGenerationState, type SchemaTasksGenerationUpdate, type SendMessageToThreadArguments, type SendMessageToThreadOutput, type ShelfActionEvent, type ShelfSink, type ShelfUpdate, type ShelfUpdateV1, type SocialFeedRating, type SocialFeedRatingLlmUsage, type SocialFeedRatingOutcome, type SocialFeedRatingUpdate, type Span, type SqlError, type SqlErrorV1, type SqlRunStepDetails, type SqlSource, type SqlStep, type StartThreadArguments, type StartThreadOutput, type StartingOrchestrator, type Step, type StepExecutionFinished, type StepExecutionFinishedV1, type StepExecutionStarted, type StepExecutionStartedV1, type StepState, type StepUpdate, type SummaryAction, type TasksGenerated, type ThreadEvent, type ThreadEvent$1 as ThreadEventData, type ThreadFragment, type ThreadParticipants, type TransactionId, type UiBuild, type UiBuild2, type UiBuildFailure, type UiBuildResult, type UiBuildRunStepDetails, type UiBuildStep, type UiMetadata, type UiProgrammerState, type UiProgrammerUpdate, type UserCancel, type UserCancelEvent, type UserInteraction, type UserMessage, type UserMessageEvent, type UserUpload, type UserUploadMetadata, type Version, type Warning, type WikiChange, type WikiContent, type WikiDelta, type WikiExplorerCompleted, type WikiExplorerStarted, type WikiExplorerState, type WikiExplorerUpdate, type WikiGenerationOutcome, type WikiGenerationUpdate, type WikiInfoGenerated, type WikiPageV1, type WikiSection, type WikiTitle, createApolloClient, createPromptQLAuthTokenGenerator, diffThreadEvents, getAgentGeneratedResponse, getAgentInteractionDecisionAcceptInteractionEvent, getAgentInteractionDecisionDeclineInteractionEvent, getAgentMessageProcessingStartedEvent, getAgentOrchestratorContextExplorerCompletedEvent, getAgentOrchestratorContextExplorerStartedEvent, getAgentOrchestratorContextExplorerUpdateEvent, getAgentOrchestratorSchemaExplorerCodeExecutionCompleteEvent, getAgentOrchestratorSchemaExplorerCodeOutputAnalyzedEvent, getAgentOrchestratorSchemaExplorerCompletedEvent, getAgentOrchestratorSchemaExplorerGeneratedCodeEvent, getAgentOrchestratorSchemaExplorerSchemaExploredEvent, getAgentOrchestratorSchemaExplorerStartedEvent, getAgentOrchestratorSchemaExplorerUpdateEvent, getAgentOrchestratorSchemaTasksGeneratedEvent, getAgentOrchestratorSchemaTasksGenerationCompletedEvent, getAgentOrchestratorSchemaTasksGenerationStartedEvent, getAgentOrchestratorSchemaTasksGenerationUpdateEvent, getAgentOrchestratorStepProgrammerEvent, getAgentOrchestratorStepSavedProgramRunnerEvent, getAgentOrchestratorStepUiProgrammerEvent, getAgentOrchestratorStepUpdateEvent, getAgentOrchestratorUpdateEvent, getAgentOrchestratorWikiExplorerCompletedEvent, getAgentOrchestratorWikiExplorerStartedEvent, getAgentOrchestratorWikiExplorerUpdateEvent, getAgentOrchestratorWikiInfoGeneratedEvent, getAgentPlanGenerationStartedEvent, getAgentPlanStepGeneratedEvent, getAgentPlanningDecisionCompletedEvent, getAgentPlanningDecisionPlanningRequiredEvent, getAgentPlanningDecisionStartedEvent, getAgentPlanningDecisionUpdateEvent, getAgentStartingOrchestratorEvent, getUserCancelEvent, getUserMessageEvent, isEnrichTokenMutationResponse, isLuxAuthPromptQLTokenFailedResponse, isLuxAuthPromptQLTokenSuccessResponse };