@collective-intelligence/extensions-sdk-frontend-react 0.1.9 → 0.1.11
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.
- package/README.md +14 -0
- package/dist/studio-api/@tanstack/react-query.gen.d.ts +97 -1
- package/dist/studio-api/index.d.ts +3 -3
- package/dist/studio-api/index.js +5 -5
- package/dist/studio-api/sdk.gen.d.ts +2 -1
- package/dist/studio-api/types.gen.d.ts +101 -10
- package/dist/workflow.js +1 -1
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -243,3 +243,17 @@ consumer React peers, including its loading state and loaded component props.
|
|
|
243
243
|
## Enum value spelling
|
|
244
244
|
|
|
245
245
|
Repository-owned enum values use lower `snake_case`. This includes component kinds, dataset statuses, schema consumer profiles, and hosted contribution identity. Notification enum values retain their existing spelling. External protocol values, including HTTP methods and JSON Schema keywords and formats, retain the protocol spelling.
|
|
246
|
+
|
|
247
|
+
### Query related records
|
|
248
|
+
|
|
249
|
+
The generated `/studio-api` export includes `studioViewDataSearchMembers`. It queries
|
|
250
|
+
`POST /studio/apps/by-slug/{slug}/views/{viewId}/data/{instanceId}/relation-members/search`
|
|
251
|
+
with the published view's authorization scope. Its generated body accepts the relation
|
|
252
|
+
`field`, filters, sort, cursor, limit and include paths. Filters and sort address the
|
|
253
|
+
related schema. Forward and inverse fields use the same operation, including scalar
|
|
254
|
+
relations (zero or one result). Preserve the generated response's pagination envelope.
|
|
255
|
+
|
|
256
|
+
A successful page and its relation IDs are complete. Per-field includes can carry the
|
|
257
|
+
existing truncation marker; paging within nested includes is not supported. A typed
|
|
258
|
+
`KnowledgeReadLimitExceeded` response requires narrowing the query, page, or includes;
|
|
259
|
+
do not silently trim the response or retry the unchanged oversized request.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { dataTagErrorSymbol, dataTagSymbol } from "@tanstack/react-query";
|
|
2
2
|
import { type InfiniteData, type UseMutationOptions } from "@tanstack/react-query";
|
|
3
|
-
import type { StudioAgentRunsGetData, StudioAgentRunsGetError, StudioAgentRunsListData, StudioAgentRunsListError, StudioViewDataGetItemData, StudioViewDataGetItemError, StudioViewDataSearchData, StudioViewDataSearchError, StudioViewDataUpdateItemData, StudioViewDataUpdateItemError, StudioViewDataUpdateItemResponse, StudioWorkflowRunsGetData, StudioWorkflowRunsGetError, StudioWorkflowRunsListData, StudioWorkflowRunsListError } from "../types.gen";
|
|
3
|
+
import type { StudioAgentRunsGetData, StudioAgentRunsGetError, StudioAgentRunsListData, StudioAgentRunsListError, StudioViewDataGetItemData, StudioViewDataGetItemError, StudioViewDataSearchData, StudioViewDataSearchError, StudioViewDataSearchMembersData, StudioViewDataSearchMembersError, StudioViewDataUpdateItemData, StudioViewDataUpdateItemError, StudioViewDataUpdateItemResponse, StudioWorkflowRunsGetData, StudioWorkflowRunsGetError, StudioWorkflowRunsListData, StudioWorkflowRunsListError } from "../types.gen";
|
|
4
4
|
import { type Options } from "../sdk.gen";
|
|
5
5
|
export type QueryKey<TOptions extends Options> = [
|
|
6
6
|
Pick<TOptions, "baseUrl" | "body" | "headers" | "path" | "query"> & {
|
|
@@ -22,6 +22,7 @@ export declare const studioAgentRunsListOptions: (options: Options<StudioAgentRu
|
|
|
22
22
|
completedAt: string | null;
|
|
23
23
|
createdAt: string;
|
|
24
24
|
errorCode: string | null;
|
|
25
|
+
errorMessage: string | null;
|
|
25
26
|
id: string;
|
|
26
27
|
initiator: {
|
|
27
28
|
kind: "user";
|
|
@@ -45,6 +46,7 @@ export declare const studioAgentRunsListOptions: (options: Options<StudioAgentRu
|
|
|
45
46
|
completedAt: string | null;
|
|
46
47
|
createdAt: string;
|
|
47
48
|
errorCode: string | null;
|
|
49
|
+
errorMessage: string | null;
|
|
48
50
|
id: string;
|
|
49
51
|
initiator: {
|
|
50
52
|
kind: "user";
|
|
@@ -73,6 +75,7 @@ export declare const studioAgentRunsListOptions: (options: Options<StudioAgentRu
|
|
|
73
75
|
completedAt: string | null;
|
|
74
76
|
createdAt: string;
|
|
75
77
|
errorCode: string | null;
|
|
78
|
+
errorMessage: string | null;
|
|
76
79
|
id: string;
|
|
77
80
|
initiator: {
|
|
78
81
|
kind: "user";
|
|
@@ -107,6 +110,7 @@ export declare const studioAgentRunsListOptions: (options: Options<StudioAgentRu
|
|
|
107
110
|
completedAt: string | null;
|
|
108
111
|
createdAt: string;
|
|
109
112
|
errorCode: string | null;
|
|
113
|
+
errorMessage: string | null;
|
|
110
114
|
id: string;
|
|
111
115
|
initiator: {
|
|
112
116
|
kind: "user";
|
|
@@ -135,6 +139,7 @@ export declare const studioAgentRunsListInfiniteOptions: (options: Options<Studi
|
|
|
135
139
|
completedAt: string | null;
|
|
136
140
|
createdAt: string;
|
|
137
141
|
errorCode: string | null;
|
|
142
|
+
errorMessage: string | null;
|
|
138
143
|
id: string;
|
|
139
144
|
initiator: {
|
|
140
145
|
kind: "user";
|
|
@@ -158,6 +163,7 @@ export declare const studioAgentRunsListInfiniteOptions: (options: Options<Studi
|
|
|
158
163
|
completedAt: string | null;
|
|
159
164
|
createdAt: string;
|
|
160
165
|
errorCode: string | null;
|
|
166
|
+
errorMessage: string | null;
|
|
161
167
|
id: string;
|
|
162
168
|
initiator: {
|
|
163
169
|
kind: "user";
|
|
@@ -186,6 +192,7 @@ export declare const studioAgentRunsListInfiniteOptions: (options: Options<Studi
|
|
|
186
192
|
completedAt: string | null;
|
|
187
193
|
createdAt: string;
|
|
188
194
|
errorCode: string | null;
|
|
195
|
+
errorMessage: string | null;
|
|
189
196
|
id: string;
|
|
190
197
|
initiator: {
|
|
191
198
|
kind: "user";
|
|
@@ -213,6 +220,7 @@ export declare const studioAgentRunsListInfiniteOptions: (options: Options<Studi
|
|
|
213
220
|
completedAt: string | null;
|
|
214
221
|
createdAt: string;
|
|
215
222
|
errorCode: string | null;
|
|
223
|
+
errorMessage: string | null;
|
|
216
224
|
id: string;
|
|
217
225
|
initiator: {
|
|
218
226
|
kind: "user";
|
|
@@ -243,6 +251,7 @@ export declare const studioAgentRunsListInfiniteOptions: (options: Options<Studi
|
|
|
243
251
|
completedAt: string | null;
|
|
244
252
|
createdAt: string;
|
|
245
253
|
errorCode: string | null;
|
|
254
|
+
errorMessage: string | null;
|
|
246
255
|
id: string;
|
|
247
256
|
initiator: {
|
|
248
257
|
kind: "user";
|
|
@@ -273,6 +282,7 @@ export declare const studioAgentRunsGetOptions: (options: Options<StudioAgentRun
|
|
|
273
282
|
completedAt: string | null;
|
|
274
283
|
createdAt: string;
|
|
275
284
|
errorCode: string | null;
|
|
285
|
+
errorMessage: string | null;
|
|
276
286
|
id: string;
|
|
277
287
|
initiator: {
|
|
278
288
|
kind: "user";
|
|
@@ -287,6 +297,7 @@ export declare const studioAgentRunsGetOptions: (options: Options<StudioAgentRun
|
|
|
287
297
|
completedAt: string | null;
|
|
288
298
|
createdAt: string;
|
|
289
299
|
errorCode: string | null;
|
|
300
|
+
errorMessage: string | null;
|
|
290
301
|
id: string;
|
|
291
302
|
initiator: {
|
|
292
303
|
kind: "user";
|
|
@@ -306,6 +317,7 @@ export declare const studioAgentRunsGetOptions: (options: Options<StudioAgentRun
|
|
|
306
317
|
completedAt: string | null;
|
|
307
318
|
createdAt: string;
|
|
308
319
|
errorCode: string | null;
|
|
320
|
+
errorMessage: string | null;
|
|
309
321
|
id: string;
|
|
310
322
|
initiator: {
|
|
311
323
|
kind: "user";
|
|
@@ -331,6 +343,7 @@ export declare const studioAgentRunsGetOptions: (options: Options<StudioAgentRun
|
|
|
331
343
|
completedAt: string | null;
|
|
332
344
|
createdAt: string;
|
|
333
345
|
errorCode: string | null;
|
|
346
|
+
errorMessage: string | null;
|
|
334
347
|
id: string;
|
|
335
348
|
initiator: {
|
|
336
349
|
kind: "user";
|
|
@@ -343,6 +356,52 @@ export declare const studioAgentRunsGetOptions: (options: Options<StudioAgentRun
|
|
|
343
356
|
[dataTagErrorSymbol]: StudioAgentRunsGetError;
|
|
344
357
|
};
|
|
345
358
|
};
|
|
359
|
+
export declare const studioViewDataSearchMembersQueryKey: (options: Options<StudioViewDataSearchMembersData>) => [Pick<Options<StudioViewDataSearchMembersData>, "baseUrl" | "body" | "headers" | "path" | "query"> & {
|
|
360
|
+
_id: string;
|
|
361
|
+
_infinite?: boolean;
|
|
362
|
+
tags?: ReadonlyArray<string>;
|
|
363
|
+
}];
|
|
364
|
+
export declare const studioViewDataSearchMembersOptions: (options: Options<StudioViewDataSearchMembersData>) => import("@tanstack/react-query").OmitKeyof<import("@tanstack/react-query").UseQueryOptions<unknown, StudioViewDataSearchMembersError, unknown, [Pick<Options<StudioViewDataSearchMembersData>, "baseUrl" | "body" | "headers" | "path" | "query"> & {
|
|
365
|
+
_id: string;
|
|
366
|
+
_infinite?: boolean;
|
|
367
|
+
tags?: ReadonlyArray<string>;
|
|
368
|
+
}]>, "queryFn"> & {
|
|
369
|
+
queryFn?: import("@tanstack/react-query").QueryFunction<unknown, [Pick<Options<StudioViewDataSearchMembersData>, "baseUrl" | "body" | "headers" | "path" | "query"> & {
|
|
370
|
+
_id: string;
|
|
371
|
+
_infinite?: boolean;
|
|
372
|
+
tags?: ReadonlyArray<string>;
|
|
373
|
+
}], never>;
|
|
374
|
+
} & {
|
|
375
|
+
queryKey: [Pick<Options<StudioViewDataSearchMembersData>, "baseUrl" | "body" | "headers" | "path" | "query"> & {
|
|
376
|
+
_id: string;
|
|
377
|
+
_infinite?: boolean;
|
|
378
|
+
tags?: ReadonlyArray<string>;
|
|
379
|
+
}] & {
|
|
380
|
+
[dataTagSymbol]: unknown;
|
|
381
|
+
[dataTagErrorSymbol]: StudioViewDataSearchMembersError;
|
|
382
|
+
};
|
|
383
|
+
};
|
|
384
|
+
export declare const studioViewDataSearchMembersInfiniteQueryKey: (options: Options<StudioViewDataSearchMembersData>) => QueryKey<Options<StudioViewDataSearchMembersData>>;
|
|
385
|
+
export declare const studioViewDataSearchMembersInfiniteOptions: (options: Options<StudioViewDataSearchMembersData>) => import("@tanstack/react-query").UseInfiniteQueryOptions<unknown, StudioViewDataSearchMembersError, InfiniteData<unknown, unknown>, QueryKey<Options<StudioViewDataSearchMembersData>>, string | Pick<Pick<Options<StudioViewDataSearchMembersData>, "baseUrl" | "body" | "headers" | "path" | "query"> & {
|
|
386
|
+
_id: string;
|
|
387
|
+
_infinite?: boolean;
|
|
388
|
+
tags?: ReadonlyArray<string>;
|
|
389
|
+
}, "body" | "headers" | "path" | "query"> | null> & {
|
|
390
|
+
initialData: InfiniteData<unknown, string | Pick<Pick<Options<StudioViewDataSearchMembersData>, "baseUrl" | "body" | "headers" | "path" | "query"> & {
|
|
391
|
+
_id: string;
|
|
392
|
+
_infinite?: boolean;
|
|
393
|
+
tags?: ReadonlyArray<string>;
|
|
394
|
+
}, "body" | "headers" | "path" | "query"> | null> | (() => InfiniteData<unknown, string | Pick<Pick<Options<StudioViewDataSearchMembersData>, "baseUrl" | "body" | "headers" | "path" | "query"> & {
|
|
395
|
+
_id: string;
|
|
396
|
+
_infinite?: boolean;
|
|
397
|
+
tags?: ReadonlyArray<string>;
|
|
398
|
+
}, "body" | "headers" | "path" | "query"> | null>) | undefined;
|
|
399
|
+
} & {
|
|
400
|
+
queryKey: QueryKey<Options<StudioViewDataSearchMembersData>> & {
|
|
401
|
+
[dataTagSymbol]: InfiniteData<unknown, unknown>;
|
|
402
|
+
[dataTagErrorSymbol]: StudioViewDataSearchMembersError;
|
|
403
|
+
};
|
|
404
|
+
};
|
|
346
405
|
export declare const studioViewDataSearchQueryKey: (options: Options<StudioViewDataSearchData>) => [Pick<Options<StudioViewDataSearchData>, "baseUrl" | "body" | "headers" | "path" | "query"> & {
|
|
347
406
|
_id: string;
|
|
348
407
|
_infinite?: boolean;
|
|
@@ -426,6 +485,7 @@ export declare const studioWorkflowRunsListOptions: (options: Options<StudioWork
|
|
|
426
485
|
completedAt: string | null;
|
|
427
486
|
createdAt: string;
|
|
428
487
|
errorCode: string | null;
|
|
488
|
+
errorMessage: string | null;
|
|
429
489
|
id: string;
|
|
430
490
|
initiator: {
|
|
431
491
|
kind: "user";
|
|
@@ -452,6 +512,7 @@ export declare const studioWorkflowRunsListOptions: (options: Options<StudioWork
|
|
|
452
512
|
completedAt: string | null;
|
|
453
513
|
createdAt: string;
|
|
454
514
|
errorCode: string | null;
|
|
515
|
+
errorMessage: string | null;
|
|
455
516
|
id: string;
|
|
456
517
|
initiator: {
|
|
457
518
|
kind: "user";
|
|
@@ -483,6 +544,7 @@ export declare const studioWorkflowRunsListOptions: (options: Options<StudioWork
|
|
|
483
544
|
completedAt: string | null;
|
|
484
545
|
createdAt: string;
|
|
485
546
|
errorCode: string | null;
|
|
547
|
+
errorMessage: string | null;
|
|
486
548
|
id: string;
|
|
487
549
|
initiator: {
|
|
488
550
|
kind: "user";
|
|
@@ -520,6 +582,7 @@ export declare const studioWorkflowRunsListOptions: (options: Options<StudioWork
|
|
|
520
582
|
completedAt: string | null;
|
|
521
583
|
createdAt: string;
|
|
522
584
|
errorCode: string | null;
|
|
585
|
+
errorMessage: string | null;
|
|
523
586
|
id: string;
|
|
524
587
|
initiator: {
|
|
525
588
|
kind: "user";
|
|
@@ -551,6 +614,7 @@ export declare const studioWorkflowRunsListInfiniteOptions: (options: Options<St
|
|
|
551
614
|
completedAt: string | null;
|
|
552
615
|
createdAt: string;
|
|
553
616
|
errorCode: string | null;
|
|
617
|
+
errorMessage: string | null;
|
|
554
618
|
id: string;
|
|
555
619
|
initiator: {
|
|
556
620
|
kind: "user";
|
|
@@ -577,6 +641,7 @@ export declare const studioWorkflowRunsListInfiniteOptions: (options: Options<St
|
|
|
577
641
|
completedAt: string | null;
|
|
578
642
|
createdAt: string;
|
|
579
643
|
errorCode: string | null;
|
|
644
|
+
errorMessage: string | null;
|
|
580
645
|
id: string;
|
|
581
646
|
initiator: {
|
|
582
647
|
kind: "user";
|
|
@@ -608,6 +673,7 @@ export declare const studioWorkflowRunsListInfiniteOptions: (options: Options<St
|
|
|
608
673
|
completedAt: string | null;
|
|
609
674
|
createdAt: string;
|
|
610
675
|
errorCode: string | null;
|
|
676
|
+
errorMessage: string | null;
|
|
611
677
|
id: string;
|
|
612
678
|
initiator: {
|
|
613
679
|
kind: "user";
|
|
@@ -638,6 +704,7 @@ export declare const studioWorkflowRunsListInfiniteOptions: (options: Options<St
|
|
|
638
704
|
completedAt: string | null;
|
|
639
705
|
createdAt: string;
|
|
640
706
|
errorCode: string | null;
|
|
707
|
+
errorMessage: string | null;
|
|
641
708
|
id: string;
|
|
642
709
|
initiator: {
|
|
643
710
|
kind: "user";
|
|
@@ -671,6 +738,7 @@ export declare const studioWorkflowRunsListInfiniteOptions: (options: Options<St
|
|
|
671
738
|
completedAt: string | null;
|
|
672
739
|
createdAt: string;
|
|
673
740
|
errorCode: string | null;
|
|
741
|
+
errorMessage: string | null;
|
|
674
742
|
id: string;
|
|
675
743
|
initiator: {
|
|
676
744
|
kind: "user";
|
|
@@ -704,6 +772,7 @@ export declare const studioWorkflowRunsGetOptions: (options: Options<StudioWorkf
|
|
|
704
772
|
completedAt: string | null;
|
|
705
773
|
createdAt: string;
|
|
706
774
|
errorCode: string | null;
|
|
775
|
+
errorMessage: string | null;
|
|
707
776
|
id: string;
|
|
708
777
|
initiator: {
|
|
709
778
|
kind: "user";
|
|
@@ -720,7 +789,13 @@ export declare const studioWorkflowRunsGetOptions: (options: Options<StudioWorkf
|
|
|
720
789
|
steps: Array<{
|
|
721
790
|
attempt: number;
|
|
722
791
|
completedAt: string | null;
|
|
792
|
+
durationMs: number | null;
|
|
793
|
+
error: {
|
|
794
|
+
code: string | null;
|
|
795
|
+
message: string;
|
|
796
|
+
} | null;
|
|
723
797
|
nodeId: string;
|
|
798
|
+
nodeType: string | null;
|
|
724
799
|
startedAt: string | null;
|
|
725
800
|
status: string;
|
|
726
801
|
}>;
|
|
@@ -728,6 +803,7 @@ export declare const studioWorkflowRunsGetOptions: (options: Options<StudioWorkf
|
|
|
728
803
|
completedAt: string | null;
|
|
729
804
|
createdAt: string;
|
|
730
805
|
errorCode: string | null;
|
|
806
|
+
errorMessage: string | null;
|
|
731
807
|
id: string;
|
|
732
808
|
initiator: {
|
|
733
809
|
kind: "user";
|
|
@@ -744,7 +820,13 @@ export declare const studioWorkflowRunsGetOptions: (options: Options<StudioWorkf
|
|
|
744
820
|
steps: Array<{
|
|
745
821
|
attempt: number;
|
|
746
822
|
completedAt: string | null;
|
|
823
|
+
durationMs: number | null;
|
|
824
|
+
error: {
|
|
825
|
+
code: string | null;
|
|
826
|
+
message: string;
|
|
827
|
+
} | null;
|
|
747
828
|
nodeId: string;
|
|
829
|
+
nodeType: string | null;
|
|
748
830
|
startedAt: string | null;
|
|
749
831
|
status: string;
|
|
750
832
|
}>;
|
|
@@ -757,6 +839,7 @@ export declare const studioWorkflowRunsGetOptions: (options: Options<StudioWorkf
|
|
|
757
839
|
completedAt: string | null;
|
|
758
840
|
createdAt: string;
|
|
759
841
|
errorCode: string | null;
|
|
842
|
+
errorMessage: string | null;
|
|
760
843
|
id: string;
|
|
761
844
|
initiator: {
|
|
762
845
|
kind: "user";
|
|
@@ -773,7 +856,13 @@ export declare const studioWorkflowRunsGetOptions: (options: Options<StudioWorkf
|
|
|
773
856
|
steps: Array<{
|
|
774
857
|
attempt: number;
|
|
775
858
|
completedAt: string | null;
|
|
859
|
+
durationMs: number | null;
|
|
860
|
+
error: {
|
|
861
|
+
code: string | null;
|
|
862
|
+
message: string;
|
|
863
|
+
} | null;
|
|
776
864
|
nodeId: string;
|
|
865
|
+
nodeType: string | null;
|
|
777
866
|
startedAt: string | null;
|
|
778
867
|
status: string;
|
|
779
868
|
}>;
|
|
@@ -792,6 +881,7 @@ export declare const studioWorkflowRunsGetOptions: (options: Options<StudioWorkf
|
|
|
792
881
|
completedAt: string | null;
|
|
793
882
|
createdAt: string;
|
|
794
883
|
errorCode: string | null;
|
|
884
|
+
errorMessage: string | null;
|
|
795
885
|
id: string;
|
|
796
886
|
initiator: {
|
|
797
887
|
kind: "user";
|
|
@@ -808,7 +898,13 @@ export declare const studioWorkflowRunsGetOptions: (options: Options<StudioWorkf
|
|
|
808
898
|
steps: Array<{
|
|
809
899
|
attempt: number;
|
|
810
900
|
completedAt: string | null;
|
|
901
|
+
durationMs: number | null;
|
|
902
|
+
error: {
|
|
903
|
+
code: string | null;
|
|
904
|
+
message: string;
|
|
905
|
+
} | null;
|
|
811
906
|
nodeId: string;
|
|
907
|
+
nodeType: string | null;
|
|
812
908
|
startedAt: string | null;
|
|
813
909
|
status: string;
|
|
814
910
|
}>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { type QueryKey, studioAgentRunsGetOptions, studioAgentRunsGetQueryKey, studioAgentRunsListInfiniteOptions, studioAgentRunsListInfiniteQueryKey, studioAgentRunsListOptions, studioAgentRunsListQueryKey, studioViewDataGetItemOptions, studioViewDataGetItemQueryKey, studioViewDataSearchInfiniteOptions, studioViewDataSearchInfiniteQueryKey, studioViewDataSearchOptions, studioViewDataSearchQueryKey, studioViewDataUpdateItemMutation, studioWorkflowRunsGetOptions, studioWorkflowRunsGetQueryKey, studioWorkflowRunsListInfiniteOptions, studioWorkflowRunsListInfiniteQueryKey, studioWorkflowRunsListOptions, studioWorkflowRunsListQueryKey } from "./@tanstack/react-query.gen";
|
|
1
|
+
export { type QueryKey, studioAgentRunsGetOptions, studioAgentRunsGetQueryKey, studioAgentRunsListInfiniteOptions, studioAgentRunsListInfiniteQueryKey, studioAgentRunsListOptions, studioAgentRunsListQueryKey, studioViewDataGetItemOptions, studioViewDataGetItemQueryKey, studioViewDataSearchInfiniteOptions, studioViewDataSearchInfiniteQueryKey, studioViewDataSearchMembersInfiniteOptions, studioViewDataSearchMembersInfiniteQueryKey, studioViewDataSearchMembersOptions, studioViewDataSearchMembersQueryKey, studioViewDataSearchOptions, studioViewDataSearchQueryKey, studioViewDataUpdateItemMutation, studioWorkflowRunsGetOptions, studioWorkflowRunsGetQueryKey, studioWorkflowRunsListInfiniteOptions, studioWorkflowRunsListInfiniteQueryKey, studioWorkflowRunsListOptions, studioWorkflowRunsListQueryKey } from "./@tanstack/react-query.gen";
|
|
2
2
|
export { client, type CreateClientConfig } from "./client.gen";
|
|
3
|
-
export { type Options, studioAgentRunsGet, studioAgentRunsList, studioViewDataGetItem, studioViewDataSearch, studioViewDataUpdateItem, studioWorkflowRunsGet, studioWorkflowRunsList } from "./sdk.gen";
|
|
4
|
-
export type { ClientOptions, EffectHttpApiErrorBadRequestEncoded, EffectHttpApiErrorForbiddenEncoded, EffectHttpApiErrorInternalServerErrorEncoded, EffectHttpApiErrorNotFoundEncoded, EffectHttpApiErrorUnauthorizedEncoded, EntityFileFieldConflictDiagnosticEncoded, EntityFileFieldDiagnosticEncoded, EntityUniqueFieldConflictDiagnosticEncoded, EntityValueDiagnosticEncoded, StudioAgentRunsGetData, StudioAgentRunsGetError, StudioAgentRunsGetErrors, StudioAgentRunsGetResponse, StudioAgentRunsGetResponses, StudioAgentRunsListData, StudioAgentRunsListError, StudioAgentRunsListErrors, StudioAgentRunsListResponse, StudioAgentRunsListResponses, StudioViewDataGetItemData, StudioViewDataGetItemError, StudioViewDataGetItemErrors, StudioViewDataGetItemResponses, StudioViewDataSearchData, StudioViewDataSearchError, StudioViewDataSearchErrors, StudioViewDataSearchResponses, StudioViewDataUpdateItemData, StudioViewDataUpdateItemError, StudioViewDataUpdateItemErrors, StudioViewDataUpdateItemResponse, StudioViewDataUpdateItemResponses, StudioWorkflowRunsGetData, StudioWorkflowRunsGetError, StudioWorkflowRunsGetErrors, StudioWorkflowRunsGetResponse, StudioWorkflowRunsGetResponses, StudioWorkflowRunsListData, StudioWorkflowRunsListError, StudioWorkflowRunsListErrors, StudioWorkflowRunsListResponse, StudioWorkflowRunsListResponses,
|
|
3
|
+
export { type Options, studioAgentRunsGet, studioAgentRunsList, studioViewDataGetItem, studioViewDataSearch, studioViewDataSearchMembers, studioViewDataUpdateItem, studioWorkflowRunsGet, studioWorkflowRunsList } from "./sdk.gen";
|
|
4
|
+
export type { ClientOptions, EffectHttpApiErrorBadRequestEncoded, EffectHttpApiErrorForbiddenEncoded, EffectHttpApiErrorInternalServerErrorEncoded, EffectHttpApiErrorNotFoundEncoded, EffectHttpApiErrorUnauthorizedEncoded, EntityFileFieldConflictDiagnosticEncoded, EntityFileFieldDiagnosticEncoded, EntityRelationFieldDiagnosticEncoded, EntityUniqueFieldConflictDiagnosticEncoded, EntityValueDiagnosticEncoded, InvalidIncludePathEncoded, KnowledgeReadLimitExceededEncoded, StudioAgentRunsGetData, StudioAgentRunsGetError, StudioAgentRunsGetErrors, StudioAgentRunsGetResponse, StudioAgentRunsGetResponses, StudioAgentRunsListData, StudioAgentRunsListError, StudioAgentRunsListErrors, StudioAgentRunsListResponse, StudioAgentRunsListResponses, StudioViewDataGetItemData, StudioViewDataGetItemError, StudioViewDataGetItemErrors, StudioViewDataGetItemResponses, StudioViewDataSearchData, StudioViewDataSearchError, StudioViewDataSearchErrors, StudioViewDataSearchMembersData, StudioViewDataSearchMembersError, StudioViewDataSearchMembersErrors, StudioViewDataSearchMembersResponses, StudioViewDataSearchResponses, StudioViewDataUpdateItemData, StudioViewDataUpdateItemError, StudioViewDataUpdateItemErrors, StudioViewDataUpdateItemResponse, StudioViewDataUpdateItemResponses, StudioWorkflowRunsGetData, StudioWorkflowRunsGetError, StudioWorkflowRunsGetErrors, StudioWorkflowRunsGetResponse, StudioWorkflowRunsGetResponses, StudioWorkflowRunsListData, StudioWorkflowRunsListError, StudioWorkflowRunsListErrors, StudioWorkflowRunsListResponse, StudioWorkflowRunsListResponses, Suspend2 } from "./types.gen";
|
package/dist/studio-api/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import{infiniteQueryOptions as
|
|
2
|
-
`);let
|
|
1
|
+
import{infiniteQueryOptions as P,queryOptions as x}from"@tanstack/react-query";function ne({onRequest:e,onSseError:t,onSseEvent:r,responseTransformer:n,responseValidator:o,sseDefaultRetryDelay:d,sseMaxRetryAttempts:s,sseMaxRetryDelay:a,sseSleepFn:u,url:S,...c}){let i,w=u??((O)=>new Promise((p)=>setTimeout(p,O)));return{stream:async function*(){let O=d??3000,p=0,h=c.signal??new AbortController().signal;while(!0){if(h.aborted)break;p++;let q=c.headers instanceof Headers?c.headers:new Headers(c.headers);if(i!==void 0)q.set("Last-Event-ID",i);try{let b={redirect:"follow",...c,body:c.serializedBody??null,headers:q,signal:h},E=new Request(S,b);if(e)E=await e(S,b);let l=await(c.fetch??globalThis.fetch)(E);if(!l.ok)throw Error(`SSE failed: ${l.status} ${l.statusText}`);if(!l.body)throw Error("No body in SSE response");let f=l.body.pipeThrough(new TextDecoderStream).getReader(),y="",Y=()=>{try{f.cancel()}catch{}};h.addEventListener("abort",Y);try{while(!0){let{done:Oe,value:be}=await f.read();if(Oe)break;y+=be,y=y.replace(/\r\n?/g,`
|
|
2
|
+
`);let Z=y.split(`
|
|
3
3
|
|
|
4
|
-
`);
|
|
5
|
-
`),L=[],
|
|
6
|
-
`);try{k=JSON.parse(g),ee=!0}catch{k=g}}if(ee){if(o)await o(k);if(n)k=await n(k)}if(r?.({data:k,event:Z,id:s,retry:O}),L.length)yield k}}}finally{R.removeEventListener("abort",X),y.releaseLock()}break}catch(b){if(t?.(b),i!==void 0&&p>=i)break;let E=Math.min(O*2**(p-1),a??30000);await w(E)}}}()}}var be=(e)=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},Ee=(e)=>{switch(e){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},ke=(e)=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},C=({allowReserved:e,explode:t,name:r,style:n,value:o})=>{if(!t){let a=(e?o:o.map((u)=>encodeURIComponent(u))).join(Ee(n));switch(n){case"label":return`.${a}`;case"matrix":return`;${r}=${a}`;case"simple":return a;default:return`${r}=${a}`}}let d=be(n),i=o.map((a)=>{if(n==="label"||n==="simple")return e?a:encodeURIComponent(a);return I({allowReserved:e,name:r,value:a})}).join(d);return n==="label"||n==="matrix"?d+i:i},I=({allowReserved:e,name:t,value:r})=>{if(r===void 0||r===null)return"";if(typeof r==="object")throw Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");return`${t}=${e?r:encodeURIComponent(r)}`},z=({allowReserved:e,explode:t,name:r,style:n,value:o,valueOnly:d})=>{if(o instanceof Date)return d?o.toISOString():`${r}=${o.toISOString()}`;if(n!=="deepObject"&&!t){let u=[];Object.entries(o).forEach(([l,s])=>{u=[...u,l,e?s:encodeURIComponent(s)]});let S=u.join(",");switch(n){case"form":return`${r}=${S}`;case"label":return`.${S}`;case"matrix":return`;${r}=${S}`;default:return S}}let i=ke(n),a=Object.entries(o).map(([u,S])=>I({allowReserved:e,name:n==="deepObject"?`${r}[${u}]`:u,value:S})).join(i);return n==="label"||n==="matrix"?i+a:a};var xe=/\{[^{}]+\}/g,Ae=({path:e,url:t})=>{let r=t,n=t.match(xe);if(n)for(let o of n){let d=!1,i=o.substring(1,o.length-1),a="simple";if(i.endsWith("*"))d=!0,i=i.substring(0,i.length-1);if(i.startsWith("."))i=i.substring(1),a="label";else if(i.startsWith(";"))i=i.substring(1),a="matrix";let u=e[i];if(u===void 0||u===null)continue;if(Array.isArray(u)){r=r.replace(o,C({explode:d,name:i,style:a,value:u}));continue}if(typeof u==="object"){r=r.replace(o,z({explode:d,name:i,style:a,value:u,valueOnly:!0}));continue}if(a==="matrix"){r=r.replace(o,`;${I({name:i,value:u})}`);continue}let S=encodeURIComponent(a==="label"?`.${u}`:u);r=r.replace(o,S)}return r},ne=({baseUrl:e,path:t,query:r,querySerializer:n,url:o})=>{let d=o.startsWith("/")?o:`/${o}`,i=(e??"")+d;if(t)i=Ae({path:t,url:i});let a=r?n(r):"";if(a.startsWith("?"))a=a.substring(1);if(a)i+=`?${a}`;return i};function Q(e){let t=e.body!==void 0;if(t&&e.bodySerializer){if("serializedBody"in e)return e.serializedBody!==void 0&&e.serializedBody!==""?e.serializedBody:null;return e.body!==""?e.body:null}if(t)return e.body;return}var oe=async(e,t)=>{let r=typeof t==="function"?await t(e):t;if(!r)return;if(e.scheme==="bearer")return`Bearer ${r}`;if(e.scheme==="basic")return`Basic ${btoa(r)}`;return r};var se={bodySerializer:(e)=>JSON.stringify(e,(t,r)=>typeof r==="bigint"?r.toString():r)};var ie=({parameters:e={},...t}={})=>(n)=>{let o=[];if(n&&typeof n==="object")for(let d in n){let i=n[d];if(i===void 0||i===null)continue;let a=e[d]||t;if(Array.isArray(i)){let u=C({allowReserved:a.allowReserved,explode:!0,name:d,style:"form",value:i,...a.array});if(u)o.push(u)}else if(typeof i==="object"){let u=z({allowReserved:a.allowReserved,explode:!0,name:d,style:"deepObject",value:i,...a.object});if(u)o.push(u)}else{let u=I({allowReserved:a.allowReserved,name:d,value:i});if(u)o.push(u)}}return o.join("&")},ae=(e)=>{if(!e)return"stream";let t=e.split(";")[0]?.trim();if(!t)return;if(t.startsWith("application/json")||t.endsWith("+json"))return"json";if(t==="multipart/form-data")return"formData";if(["application/","audio/","image/","video/"].some((r)=>t.startsWith(r)))return"blob";if(t.startsWith("text/"))return"text";return},Ie=(e,t)=>{if(!t)return!1;if(e.headers.has(t)||e.query?.[t]||e.headers.get("Cookie")?.includes(`${t}=`))return!0;return!1},ue=async({security:e,...t})=>{for(let r of e){if(Ie(t,r.name))continue;let n=await oe(r,t.auth);if(!n)continue;let o=r.name??"Authorization";switch(r.in){case"query":if(!t.query)t.query={};t.query[o]=n;break;case"cookie":t.headers.append("Cookie",`${o}=${n}`);break;case"header":default:t.headers.set(o,n);break}}},K=(e)=>ne({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer==="function"?e.querySerializer:ie(e.querySerializer),url:e.url}),v=(e,t)=>{let r={...e,...t};if(r.baseUrl?.endsWith("/"))r.baseUrl=r.baseUrl.substring(0,r.baseUrl.length-1);return r.headers=G(e.headers,t.headers),r},qe=(e)=>{let t=[];return e.forEach((r,n)=>{t.push([n,r])}),t},G=(...e)=>{let t=new Headers;for(let r of e){if(!r)continue;let n=r instanceof Headers?qe(r):Object.entries(r);for(let[o,d]of n)if(d===null)t.delete(o);else if(Array.isArray(d))for(let i of d)t.append(o,i);else if(d!==void 0)t.set(o,typeof d==="object"?JSON.stringify(d):d)}return t};class W{fns=[];clear(){this.fns=[]}eject(e){let t=this.getInterceptorIndex(e);if(this.fns[t])this.fns[t]=null}exists(e){let t=this.getInterceptorIndex(e);return Boolean(this.fns[t])}getInterceptorIndex(e){if(typeof e==="number")return this.fns[e]?e:-1;return this.fns.indexOf(e)}update(e,t){let r=this.getInterceptorIndex(e);if(this.fns[r])return this.fns[r]=t,e;return!1}use(e){return this.fns.push(e),this.fns.length-1}}var de=()=>({error:new W,request:new W,response:new W}),Te=ie({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),Ve={"Content-Type":"application/json"},V=(e={})=>({...se,headers:Ve,parseAs:"auto",querySerializer:Te,...e});var B=(e={})=>{let t=v(V(),e),r=()=>({...t}),n=(l)=>(t=v(t,l),r()),o=de(),d=async(l)=>{let s={...t,...l,fetch:l.fetch??t.fetch??globalThis.fetch,headers:G(t.headers,l.headers),serializedBody:void 0};if(s.security)await ue({...s,security:s.security});if(s.requestValidator)await s.requestValidator(s);if(s.body!==void 0&&s.bodySerializer)s.serializedBody=s.bodySerializer(s.body);if(s.body===void 0||s.serializedBody==="")s.headers.delete("Content-Type");let w=s,x=K(w);return{opts:w,url:x}},i=async(l)=>{let{opts:s,url:w}=await d(l),x={redirect:"follow",...s,body:Q(s)},h=new Request(w,x);for(let c of o.request.fns)if(c)h=await c(h,s);let O=s.fetch,p;try{p=await O(h)}catch(c){let y=c;for(let f of o.error.fns)if(f)y=await f(c,void 0,h,s);if(y=y||{},s.throwOnError)throw y;return s.responseStyle==="data"?void 0:{error:y,request:h,response:void 0}}for(let c of o.response.fns)if(c)p=await c(p,h,s);let R={request:h,response:p};if(p.ok){let c=(s.parseAs==="auto"?ae(p.headers.get("Content-Type")):s.parseAs)??"json";if(p.status===204||p.headers.get("Content-Length")==="0"){let f;switch(c){case"arrayBuffer":case"blob":case"text":f=await p[c]();break;case"formData":f=new FormData;break;case"stream":f=p.body;break;case"json":default:f={};break}return s.responseStyle==="data"?f:{data:f,...R}}let y;switch(c){case"arrayBuffer":case"blob":case"formData":case"text":y=await p[c]();break;case"json":{let f=await p.text();y=f?JSON.parse(f):{};break}case"stream":return s.responseStyle==="data"?p.body:{data:p.body,...R}}if(c==="json"){if(s.responseValidator)await s.responseValidator(y);if(s.responseTransformer)y=await s.responseTransformer(y)}return s.responseStyle==="data"?y:{data:y,...R}}let T=await p.text(),b;try{b=JSON.parse(T)}catch{}let E=b??T,A=E;for(let c of o.error.fns)if(c)A=await c(E,p,h,s);if(A=A||{},s.throwOnError)throw A;return s.responseStyle==="data"?void 0:{error:A,...R}},a=(l)=>(s)=>i({...s,method:l}),u=(l)=>async(s)=>{let{opts:w,url:x}=await d(s);return re({...w,body:w.body,headers:w.headers,method:l,onRequest:async(h,O)=>{let p=new Request(h,O);for(let R of o.request.fns)if(R)p=await R(p,w);return p},serializedBody:Q(w),url:x})};return{buildUrl:(l)=>K({...t,...l}),connect:a("CONNECT"),delete:a("DELETE"),get:a("GET"),getConfig:r,head:a("HEAD"),interceptors:o,options:a("OPTIONS"),patch:a("PATCH"),post:a("POST"),put:a("PUT"),request:i,setConfig:n,sse:{connect:u("CONNECT"),delete:u("DELETE"),get:u("GET"),head:u("HEAD"),options:u("OPTIONS"),patch:u("PATCH"),post:u("POST"),put:u("PUT"),trace:u("TRACE")},trace:a("TRACE")}};var m=B(V());var U=(e)=>(e.client??m).get({security:[{scheme:"bearer",type:"http"}],url:"/studio/agent-runs",...e}),H=(e)=>(e.client??m).get({security:[{scheme:"bearer",type:"http"}],url:"/studio/agent-runs/{runId}",...e}),j=(e)=>(e.client??m).post({security:[{scheme:"bearer",type:"http"}],url:"/studio/apps/by-slug/{slug}/views/{viewId}/data/search",...e,headers:{"Content-Type":"application/json",...e.headers}}),F=(e)=>(e.client??m).get({security:[{scheme:"bearer",type:"http"}],url:"/studio/apps/by-slug/{slug}/views/{viewId}/data/{instanceId}",...e}),N=(e)=>(e.client??m).patch({security:[{scheme:"bearer",type:"http"}],url:"/studio/apps/by-slug/{slug}/views/{viewId}/data/{instanceId}",...e,headers:{"Content-Type":"application/json",...e.headers}}),P=(e)=>(e.client??m).get({security:[{scheme:"bearer",type:"http"}],url:"/studio/workflow-runs",...e}),M=(e)=>(e.client??m).get({security:[{scheme:"bearer",type:"http"}],url:"/studio/workflow-runs/{runId}",...e});var D=(e,t,r,n)=>{let o={_id:e,baseUrl:t?.baseUrl||(t?.client??m).getConfig().baseUrl};if(r)o._infinite=r;if(n)o.tags=n;if(t?.body)o.body=t.body;if(t?.headers)o.headers=t.headers;if(t?.path)o.path=t.path;if(t?.query)o.query=t.query;return[o]},pe=(e)=>D("studioAgentRunsList",e),Le=(e)=>q({queryFn:async({queryKey:t,signal:r})=>{let{data:n}=await U({...e,...t[0],signal:r,throwOnError:!0});return n},queryKey:pe(e)}),J=(e,t)=>{let r={...e[0]};if(t.body)r.body={...e[0].body,...t.body};if(t.headers)r.headers={...e[0].headers,...t.headers};if(t.path)r.path={...e[0].path,...t.path};if(t.query)r.query={...e[0].query,...t.query};return r},le=(e)=>D("studioAgentRunsList",e,!0),Ce=(e)=>_({queryFn:async({pageParam:t,queryKey:r,signal:n})=>{let d=J(r,typeof t==="object"?t:{query:{page:t}}),{data:i}=await U({...e,...d,signal:n,throwOnError:!0});return i},queryKey:le(e)}),ce=(e)=>D("studioAgentRunsGet",e),ze=(e)=>q({queryFn:async({queryKey:t,signal:r})=>{let{data:n}=await H({...e,...t[0],signal:r,throwOnError:!0});return n},queryKey:ce(e)}),fe=(e)=>D("studioViewDataSearch",e),We=(e)=>q({queryFn:async({queryKey:t,signal:r})=>{let{data:n}=await j({...e,...t[0],signal:r,throwOnError:!0});return n},queryKey:fe(e)}),ye=(e)=>D("studioViewDataSearch",e,!0),Ge=(e)=>_({queryFn:async({pageParam:t,queryKey:r,signal:n})=>{let d=J(r,typeof t==="object"?t:{body:{cursor:t}}),{data:i}=await j({...e,...d,signal:n,throwOnError:!0});return i},queryKey:ye(e)}),Se=(e)=>D("studioViewDataGetItem",e),Ue=(e)=>q({queryFn:async({queryKey:t,signal:r})=>{let{data:n}=await F({...e,...t[0],signal:r,throwOnError:!0});return n},queryKey:Se(e)}),je=(e)=>({mutationFn:async(r)=>{let{data:n}=await N({...e,...r,throwOnError:!0});return n}}),we=(e)=>D("studioWorkflowRunsList",e),Pe=(e)=>q({queryFn:async({queryKey:t,signal:r})=>{let{data:n}=await P({...e,...t[0],signal:r,throwOnError:!0});return n},queryKey:we(e)}),Re=(e)=>D("studioWorkflowRunsList",e,!0),Qe=(e)=>_({queryFn:async({pageParam:t,queryKey:r,signal:n})=>{let d=J(r,typeof t==="object"?t:{query:{page:t}}),{data:i}=await P({...e,...d,signal:n,throwOnError:!0});return i},queryKey:Re(e)}),he=(e)=>D("studioWorkflowRunsGet",e),Ke=(e)=>q({queryFn:async({queryKey:t,signal:r})=>{let{data:n}=await M({...e,...t[0],signal:r,throwOnError:!0});return n},queryKey:he(e)});export{m as client,H as studioAgentRunsGet,ze as studioAgentRunsGetOptions,ce as studioAgentRunsGetQueryKey,U as studioAgentRunsList,Ce as studioAgentRunsListInfiniteOptions,le as studioAgentRunsListInfiniteQueryKey,Le as studioAgentRunsListOptions,pe as studioAgentRunsListQueryKey,F as studioViewDataGetItem,Ue as studioViewDataGetItemOptions,Se as studioViewDataGetItemQueryKey,j as studioViewDataSearch,Ge as studioViewDataSearchInfiniteOptions,ye as studioViewDataSearchInfiniteQueryKey,We as studioViewDataSearchOptions,fe as studioViewDataSearchQueryKey,N as studioViewDataUpdateItem,je as studioViewDataUpdateItemMutation,M as studioWorkflowRunsGet,Ke as studioWorkflowRunsGetOptions,he as studioWorkflowRunsGetQueryKey,P as studioWorkflowRunsList,Qe as studioWorkflowRunsListInfiniteOptions,Re as studioWorkflowRunsListInfiniteQueryKey,Pe as studioWorkflowRunsListOptions,we as studioWorkflowRunsListQueryKey};
|
|
4
|
+
`);y=Z.pop()??"";for(let Ee of Z){let ke=Ee.split(`
|
|
5
|
+
`),L=[],ee;for(let g of ke)if(g.startsWith("data:"))L.push(g.replace(/^data:\s*/,""));else if(g.startsWith("event:"))ee=g.replace(/^event:\s*/,"");else if(g.startsWith("id:"))i=g.replace(/^id:\s*/,"");else if(g.startsWith("retry:")){let re=Number.parseInt(g.replace(/^retry:\s*/,""),10);if(!Number.isNaN(re))O=re}let k,te=!1;if(L.length){let g=L.join(`
|
|
6
|
+
`);try{k=JSON.parse(g),te=!0}catch{k=g}}if(te){if(o)await o(k);if(n)k=await n(k)}if(r?.({data:k,event:ee,id:i,retry:O}),L.length)yield k}}}finally{h.removeEventListener("abort",Y),f.releaseLock()}break}catch(b){if(t?.(b),s!==void 0&&p>=s)break;let E=Math.min(O*2**(p-1),a??30000);await w(E)}}}()}}var xe=(e)=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},Ae=(e)=>{switch(e){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},Ie=(e)=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},C=({allowReserved:e,explode:t,name:r,style:n,value:o})=>{if(!t){let a=(e?o:o.map((u)=>encodeURIComponent(u))).join(Ae(n));switch(n){case"label":return`.${a}`;case"matrix":return`;${r}=${a}`;case"simple":return a;default:return`${r}=${a}`}}let d=xe(n),s=o.map((a)=>{if(n==="label"||n==="simple")return e?a:encodeURIComponent(a);return V({allowReserved:e,name:r,value:a})}).join(d);return n==="label"||n==="matrix"?d+s:s},V=({allowReserved:e,name:t,value:r})=>{if(r===void 0||r===null)return"";if(typeof r==="object")throw Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");return`${t}=${e?r:encodeURIComponent(r)}`},z=({allowReserved:e,explode:t,name:r,style:n,value:o,valueOnly:d})=>{if(o instanceof Date)return d?o.toISOString():`${r}=${o.toISOString()}`;if(n!=="deepObject"&&!t){let u=[];Object.entries(o).forEach(([c,i])=>{u=[...u,c,e?i:encodeURIComponent(i)]});let S=u.join(",");switch(n){case"form":return`${r}=${S}`;case"label":return`.${S}`;case"matrix":return`;${r}=${S}`;default:return S}}let s=Ie(n),a=Object.entries(o).map(([u,S])=>V({allowReserved:e,name:n==="deepObject"?`${r}[${u}]`:u,value:S})).join(s);return n==="label"||n==="matrix"?s+a:a};var Ve=/\{[^{}]+\}/g,qe=({path:e,url:t})=>{let r=t,n=t.match(Ve);if(n)for(let o of n){let d=!1,s=o.substring(1,o.length-1),a="simple";if(s.endsWith("*"))d=!0,s=s.substring(0,s.length-1);if(s.startsWith("."))s=s.substring(1),a="label";else if(s.startsWith(";"))s=s.substring(1),a="matrix";let u=e[s];if(u===void 0||u===null)continue;if(Array.isArray(u)){r=r.replace(o,C({explode:d,name:s,style:a,value:u}));continue}if(typeof u==="object"){r=r.replace(o,z({explode:d,name:s,style:a,value:u,valueOnly:!0}));continue}if(a==="matrix"){r=r.replace(o,`;${V({name:s,value:u})}`);continue}let S=encodeURIComponent(a==="label"?`.${u}`:u);r=r.replace(o,S)}return r},oe=({baseUrl:e,path:t,query:r,querySerializer:n,url:o})=>{let d=o.startsWith("/")?o:`/${o}`,s=(e??"")+d;if(t)s=qe({path:t,url:s});let a=r?n(r):"";if(a.startsWith("?"))a=a.substring(1);if(a)s+=`?${a}`;return s};function v(e){let t=e.body!==void 0;if(t&&e.bodySerializer){if("serializedBody"in e)return e.serializedBody!==void 0&&e.serializedBody!==""?e.serializedBody:null;return e.body!==""?e.body:null}if(t)return e.body;return}var se=async(e,t)=>{let r=typeof t==="function"?await t(e):t;if(!r)return;if(e.scheme==="bearer")return`Bearer ${r}`;if(e.scheme==="basic")return`Basic ${btoa(r)}`;return r};var ie={bodySerializer:(e)=>JSON.stringify(e,(t,r)=>typeof r==="bigint"?r.toString():r)};var ae=({parameters:e={},...t}={})=>(n)=>{let o=[];if(n&&typeof n==="object")for(let d in n){let s=n[d];if(s===void 0||s===null)continue;let a=e[d]||t;if(Array.isArray(s)){let u=C({allowReserved:a.allowReserved,explode:!0,name:d,style:"form",value:s,...a.array});if(u)o.push(u)}else if(typeof s==="object"){let u=z({allowReserved:a.allowReserved,explode:!0,name:d,style:"deepObject",value:s,...a.object});if(u)o.push(u)}else{let u=V({allowReserved:a.allowReserved,name:d,value:s});if(u)o.push(u)}}return o.join("&")},ue=(e)=>{if(!e)return"stream";let t=e.split(";")[0]?.trim();if(!t)return;if(t.startsWith("application/json")||t.endsWith("+json"))return"json";if(t==="multipart/form-data")return"formData";if(["application/","audio/","image/","video/"].some((r)=>t.startsWith(r)))return"blob";if(t.startsWith("text/"))return"text";return},Te=(e,t)=>{if(!t)return!1;if(e.headers.has(t)||e.query?.[t]||e.headers.get("Cookie")?.includes(`${t}=`))return!0;return!1},de=async({security:e,...t})=>{for(let r of e){if(Te(t,r.name))continue;let n=await se(r,t.auth);if(!n)continue;let o=r.name??"Authorization";switch(r.in){case"query":if(!t.query)t.query={};t.query[o]=n;break;case"cookie":t.headers.append("Cookie",`${o}=${n}`);break;case"header":default:t.headers.set(o,n);break}}},B=(e)=>oe({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer==="function"?e.querySerializer:ae(e.querySerializer),url:e.url}),F=(e,t)=>{let r={...e,...t};if(r.baseUrl?.endsWith("/"))r.baseUrl=r.baseUrl.substring(0,r.baseUrl.length-1);return r.headers=G(e.headers,t.headers),r},Le=(e)=>{let t=[];return e.forEach((r,n)=>{t.push([n,r])}),t},G=(...e)=>{let t=new Headers;for(let r of e){if(!r)continue;let n=r instanceof Headers?Le(r):Object.entries(r);for(let[o,d]of n)if(d===null)t.delete(o);else if(Array.isArray(d))for(let s of d)t.append(o,s);else if(d!==void 0)t.set(o,typeof d==="object"?JSON.stringify(d):d)}return t};class W{fns=[];clear(){this.fns=[]}eject(e){let t=this.getInterceptorIndex(e);if(this.fns[t])this.fns[t]=null}exists(e){let t=this.getInterceptorIndex(e);return Boolean(this.fns[t])}getInterceptorIndex(e){if(typeof e==="number")return this.fns[e]?e:-1;return this.fns.indexOf(e)}update(e,t){let r=this.getInterceptorIndex(e);if(this.fns[r])return this.fns[r]=t,e;return!1}use(e){return this.fns.push(e),this.fns.length-1}}var pe=()=>({error:new W,request:new W,response:new W}),Ce=ae({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),ze={"Content-Type":"application/json"},T=(e={})=>({...ie,headers:ze,parseAs:"auto",querySerializer:Ce,...e});var H=(e={})=>{let t=F(T(),e),r=()=>({...t}),n=(c)=>(t=F(t,c),r()),o=pe(),d=async(c)=>{let i={...t,...c,fetch:c.fetch??t.fetch??globalThis.fetch,headers:G(t.headers,c.headers),serializedBody:void 0};if(i.security)await de({...i,security:i.security});if(i.requestValidator)await i.requestValidator(i);if(i.body!==void 0&&i.bodySerializer)i.serializedBody=i.bodySerializer(i.body);if(i.body===void 0||i.serializedBody==="")i.headers.delete("Content-Type");let w=i,A=B(w);return{opts:w,url:A}},s=async(c)=>{let{opts:i,url:w}=await d(c),A={redirect:"follow",...i,body:v(i)},m=new Request(w,A);for(let l of o.request.fns)if(l)m=await l(m,i);let O=i.fetch,p;try{p=await O(m)}catch(l){let f=l;for(let y of o.error.fns)if(y)f=await y(l,void 0,m,i);if(f=f||{},i.throwOnError)throw f;return i.responseStyle==="data"?void 0:{error:f,request:m,response:void 0}}for(let l of o.response.fns)if(l)p=await l(p,m,i);let h={request:m,response:p};if(p.ok){let l=(i.parseAs==="auto"?ue(p.headers.get("Content-Type")):i.parseAs)??"json";if(p.status===204||p.headers.get("Content-Length")==="0"){let y;switch(l){case"arrayBuffer":case"blob":case"text":y=await p[l]();break;case"formData":y=new FormData;break;case"stream":y=p.body;break;case"json":default:y={};break}return i.responseStyle==="data"?y:{data:y,...h}}let f;switch(l){case"arrayBuffer":case"blob":case"formData":case"text":f=await p[l]();break;case"json":{let y=await p.text();f=y?JSON.parse(y):{};break}case"stream":return i.responseStyle==="data"?p.body:{data:p.body,...h}}if(l==="json"){if(i.responseValidator)await i.responseValidator(f);if(i.responseTransformer)f=await i.responseTransformer(f)}return i.responseStyle==="data"?f:{data:f,...h}}let q=await p.text(),b;try{b=JSON.parse(q)}catch{}let E=b??q,I=E;for(let l of o.error.fns)if(l)I=await l(E,p,m,i);if(I=I||{},i.throwOnError)throw I;return i.responseStyle==="data"?void 0:{error:I,...h}},a=(c)=>(i)=>s({...i,method:c}),u=(c)=>async(i)=>{let{opts:w,url:A}=await d(i);return ne({...w,body:w.body,headers:w.headers,method:c,onRequest:async(m,O)=>{let p=new Request(m,O);for(let h of o.request.fns)if(h)p=await h(p,w);return p},serializedBody:v(w),url:A})};return{buildUrl:(c)=>B({...t,...c}),connect:a("CONNECT"),delete:a("DELETE"),get:a("GET"),getConfig:r,head:a("HEAD"),interceptors:o,options:a("OPTIONS"),patch:a("PATCH"),post:a("POST"),put:a("PUT"),request:s,setConfig:n,sse:{connect:u("CONNECT"),delete:u("DELETE"),get:u("GET"),head:u("HEAD"),options:u("OPTIONS"),patch:u("PATCH"),post:u("POST"),put:u("PUT"),trace:u("TRACE")},trace:a("TRACE")}};var R=H(T());var Q=(e)=>(e.client??R).get({security:[{scheme:"bearer",type:"http"}],url:"/studio/agent-runs",...e}),N=(e)=>(e.client??R).get({security:[{scheme:"bearer",type:"http"}],url:"/studio/agent-runs/{runId}",...e}),U=(e)=>(e.client??R).post({security:[{scheme:"bearer",type:"http"}],url:"/studio/apps/by-slug/{slug}/views/{viewId}/data/{instanceId}/relation-members/search",...e,headers:{"Content-Type":"application/json",...e.headers}}),K=(e)=>(e.client??R).post({security:[{scheme:"bearer",type:"http"}],url:"/studio/apps/by-slug/{slug}/views/{viewId}/data/search",...e,headers:{"Content-Type":"application/json",...e.headers}}),_=(e)=>(e.client??R).get({security:[{scheme:"bearer",type:"http"}],url:"/studio/apps/by-slug/{slug}/views/{viewId}/data/{instanceId}",...e}),J=(e)=>(e.client??R).patch({security:[{scheme:"bearer",type:"http"}],url:"/studio/apps/by-slug/{slug}/views/{viewId}/data/{instanceId}",...e,headers:{"Content-Type":"application/json",...e.headers}}),j=(e)=>(e.client??R).get({security:[{scheme:"bearer",type:"http"}],url:"/studio/workflow-runs",...e}),X=(e)=>(e.client??R).get({security:[{scheme:"bearer",type:"http"}],url:"/studio/workflow-runs/{runId}",...e});var D=(e,t,r,n)=>{let o={_id:e,baseUrl:t?.baseUrl||(t?.client??R).getConfig().baseUrl};if(r)o._infinite=r;if(n)o.tags=n;if(t?.body)o.body=t.body;if(t?.headers)o.headers=t.headers;if(t?.path)o.path=t.path;if(t?.query)o.query=t.query;return[o]},ce=(e)=>D("studioAgentRunsList",e),We=(e)=>x({queryFn:async({queryKey:t,signal:r})=>{let{data:n}=await Q({...e,...t[0],signal:r,throwOnError:!0});return n},queryKey:ce(e)}),M=(e,t)=>{let r={...e[0]};if(t.body)r.body={...e[0].body,...t.body};if(t.headers)r.headers={...e[0].headers,...t.headers};if(t.path)r.path={...e[0].path,...t.path};if(t.query)r.query={...e[0].query,...t.query};return r},le=(e)=>D("studioAgentRunsList",e,!0),Ge=(e)=>P({queryFn:async({pageParam:t,queryKey:r,signal:n})=>{let d=M(r,typeof t==="object"?t:{query:{page:t}}),{data:s}=await Q({...e,...d,signal:n,throwOnError:!0});return s},queryKey:le(e)}),ye=(e)=>D("studioAgentRunsGet",e),Qe=(e)=>x({queryFn:async({queryKey:t,signal:r})=>{let{data:n}=await N({...e,...t[0],signal:r,throwOnError:!0});return n},queryKey:ye(e)}),fe=(e)=>D("studioViewDataSearchMembers",e),Ue=(e)=>x({queryFn:async({queryKey:t,signal:r})=>{let{data:n}=await U({...e,...t[0],signal:r,throwOnError:!0});return n},queryKey:fe(e)}),Se=(e)=>D("studioViewDataSearchMembers",e,!0),Ke=(e)=>P({queryFn:async({pageParam:t,queryKey:r,signal:n})=>{let d=M(r,typeof t==="object"?t:{body:{cursor:t}}),{data:s}=await U({...e,...d,signal:n,throwOnError:!0});return s},queryKey:Se(e)}),we=(e)=>D("studioViewDataSearch",e),je=(e)=>x({queryFn:async({queryKey:t,signal:r})=>{let{data:n}=await K({...e,...t[0],signal:r,throwOnError:!0});return n},queryKey:we(e)}),he=(e)=>D("studioViewDataSearch",e,!0),Pe=(e)=>P({queryFn:async({pageParam:t,queryKey:r,signal:n})=>{let d=M(r,typeof t==="object"?t:{body:{cursor:t}}),{data:s}=await K({...e,...d,signal:n,throwOnError:!0});return s},queryKey:he(e)}),Re=(e)=>D("studioViewDataGetItem",e),Me=(e)=>x({queryFn:async({queryKey:t,signal:r})=>{let{data:n}=await _({...e,...t[0],signal:r,throwOnError:!0});return n},queryKey:Re(e)}),ve=(e)=>({mutationFn:async(r)=>{let{data:n}=await J({...e,...r,throwOnError:!0});return n}}),me=(e)=>D("studioWorkflowRunsList",e),Be=(e)=>x({queryFn:async({queryKey:t,signal:r})=>{let{data:n}=await j({...e,...t[0],signal:r,throwOnError:!0});return n},queryKey:me(e)}),ge=(e)=>D("studioWorkflowRunsList",e,!0),Fe=(e)=>P({queryFn:async({pageParam:t,queryKey:r,signal:n})=>{let d=M(r,typeof t==="object"?t:{query:{page:t}}),{data:s}=await j({...e,...d,signal:n,throwOnError:!0});return s},queryKey:ge(e)}),De=(e)=>D("studioWorkflowRunsGet",e),He=(e)=>x({queryFn:async({queryKey:t,signal:r})=>{let{data:n}=await X({...e,...t[0],signal:r,throwOnError:!0});return n},queryKey:De(e)});export{R as client,N as studioAgentRunsGet,Qe as studioAgentRunsGetOptions,ye as studioAgentRunsGetQueryKey,Q as studioAgentRunsList,Ge as studioAgentRunsListInfiniteOptions,le as studioAgentRunsListInfiniteQueryKey,We as studioAgentRunsListOptions,ce as studioAgentRunsListQueryKey,_ as studioViewDataGetItem,Me as studioViewDataGetItemOptions,Re as studioViewDataGetItemQueryKey,K as studioViewDataSearch,Pe as studioViewDataSearchInfiniteOptions,he as studioViewDataSearchInfiniteQueryKey,U as studioViewDataSearchMembers,Ke as studioViewDataSearchMembersInfiniteOptions,Se as studioViewDataSearchMembersInfiniteQueryKey,Ue as studioViewDataSearchMembersOptions,fe as studioViewDataSearchMembersQueryKey,je as studioViewDataSearchOptions,we as studioViewDataSearchQueryKey,J as studioViewDataUpdateItem,ve as studioViewDataUpdateItemMutation,X as studioWorkflowRunsGet,He as studioWorkflowRunsGetOptions,De as studioWorkflowRunsGetQueryKey,j as studioWorkflowRunsList,Fe as studioWorkflowRunsListInfiniteOptions,ge as studioWorkflowRunsListInfiniteQueryKey,Be as studioWorkflowRunsListOptions,me as studioWorkflowRunsListQueryKey};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Client, Options as Options2, TEndpointData } from "./client";
|
|
2
|
-
import type { StudioAgentRunsGetData, StudioAgentRunsGetErrors, StudioAgentRunsGetResponses, StudioAgentRunsListData, StudioAgentRunsListErrors, StudioAgentRunsListResponses, StudioViewDataGetItemData, StudioViewDataGetItemErrors, StudioViewDataGetItemResponses, StudioViewDataSearchData, StudioViewDataSearchErrors, StudioViewDataSearchResponses, StudioViewDataUpdateItemData, StudioViewDataUpdateItemErrors, StudioViewDataUpdateItemResponses, StudioWorkflowRunsGetData, StudioWorkflowRunsGetErrors, StudioWorkflowRunsGetResponses, StudioWorkflowRunsListData, StudioWorkflowRunsListErrors, StudioWorkflowRunsListResponses } from "./types.gen";
|
|
2
|
+
import type { StudioAgentRunsGetData, StudioAgentRunsGetErrors, StudioAgentRunsGetResponses, StudioAgentRunsListData, StudioAgentRunsListErrors, StudioAgentRunsListResponses, StudioViewDataGetItemData, StudioViewDataGetItemErrors, StudioViewDataGetItemResponses, StudioViewDataSearchData, StudioViewDataSearchErrors, StudioViewDataSearchMembersData, StudioViewDataSearchMembersErrors, StudioViewDataSearchMembersResponses, StudioViewDataSearchResponses, StudioViewDataUpdateItemData, StudioViewDataUpdateItemErrors, StudioViewDataUpdateItemResponses, StudioWorkflowRunsGetData, StudioWorkflowRunsGetErrors, StudioWorkflowRunsGetResponses, StudioWorkflowRunsListData, StudioWorkflowRunsListErrors, StudioWorkflowRunsListResponses } from "./types.gen";
|
|
3
3
|
export type Options<TData extends TEndpointData = TEndpointData, ThrowOnError extends boolean = boolean, TResponse = unknown> = Options2<TData, ThrowOnError, TResponse> & {
|
|
4
4
|
/**
|
|
5
5
|
* You can provide a client instance returned by `createClient()` instead of
|
|
@@ -15,6 +15,7 @@ export type Options<TData extends TEndpointData = TEndpointData, ThrowOnError ex
|
|
|
15
15
|
};
|
|
16
16
|
export declare const studioAgentRunsList: <ThrowOnError extends boolean = false>(options: Options<StudioAgentRunsListData, ThrowOnError>) => import("./client").RequestResult<StudioAgentRunsListResponses, StudioAgentRunsListErrors, ThrowOnError, "fields">;
|
|
17
17
|
export declare const studioAgentRunsGet: <ThrowOnError extends boolean = false>(options: Options<StudioAgentRunsGetData, ThrowOnError>) => import("./client").RequestResult<StudioAgentRunsGetResponses, StudioAgentRunsGetErrors, ThrowOnError, "fields">;
|
|
18
|
+
export declare const studioViewDataSearchMembers: <ThrowOnError extends boolean = false>(options: Options<StudioViewDataSearchMembersData, ThrowOnError>) => import("./client").RequestResult<StudioViewDataSearchMembersResponses, StudioViewDataSearchMembersErrors, ThrowOnError, "fields">;
|
|
18
19
|
export declare const studioViewDataSearch: <ThrowOnError extends boolean = false>(options: Options<StudioViewDataSearchData, ThrowOnError>) => import("./client").RequestResult<StudioViewDataSearchResponses, StudioViewDataSearchErrors, ThrowOnError, "fields">;
|
|
19
20
|
export declare const studioViewDataGetItem: <ThrowOnError extends boolean = false>(options: Options<StudioViewDataGetItemData, ThrowOnError>) => import("./client").RequestResult<StudioViewDataGetItemResponses, StudioViewDataGetItemErrors, ThrowOnError, "fields">;
|
|
20
21
|
export declare const studioViewDataUpdateItem: <ThrowOnError extends boolean = false>(options: Options<StudioViewDataUpdateItemData, ThrowOnError>) => import("./client").RequestResult<StudioViewDataUpdateItemResponses, StudioViewDataUpdateItemErrors, ThrowOnError, "fields">;
|
|
@@ -20,6 +20,13 @@ export type EntityFileFieldDiagnosticEncoded = {
|
|
|
20
20
|
message: string;
|
|
21
21
|
reason: "invalid_form" | "unknown_attachment" | "invalid_upload" | "upload_consumed" | "type_not_accepted" | "file_too_large" | "unknown_stored_file";
|
|
22
22
|
};
|
|
23
|
+
export type EntityRelationFieldDiagnosticEncoded = {
|
|
24
|
+
_tag: "EntityRelationFieldDiagnostic";
|
|
25
|
+
code: "relation_field_invalid";
|
|
26
|
+
field: string;
|
|
27
|
+
message: string;
|
|
28
|
+
reason: "read_only" | "cardinality_conflict" | "invalid_value" | "duplicate_target" | "max_items_exceeded" | "target_not_found" | "wrong_target_schema" | "target_deleted" | "base_filter_mismatch";
|
|
29
|
+
};
|
|
23
30
|
export type EntityUniqueFieldConflictDiagnosticEncoded = {
|
|
24
31
|
_tag: "EntityUniqueFieldConflictDiagnostic";
|
|
25
32
|
code: "unique_field_conflict";
|
|
@@ -29,10 +36,22 @@ export type EntityUniqueFieldConflictDiagnosticEncoded = {
|
|
|
29
36
|
export type EntityFileFieldConflictDiagnosticEncoded = {
|
|
30
37
|
_tag: "EntityFileFieldConflictDiagnostic";
|
|
31
38
|
code: "file_field_connector_owned";
|
|
39
|
+
field: string;
|
|
32
40
|
message: string;
|
|
33
41
|
};
|
|
34
|
-
export type
|
|
35
|
-
[key: string]:
|
|
42
|
+
export type Suspend2 = null | boolean | number | string | Array<Suspend2> | {
|
|
43
|
+
[key: string]: Suspend2;
|
|
44
|
+
};
|
|
45
|
+
export type InvalidIncludePathEncoded = {
|
|
46
|
+
_tag: "InvalidIncludePath";
|
|
47
|
+
message: string;
|
|
48
|
+
path: string;
|
|
49
|
+
reason: "malformed" | "too_deep" | "unknown_field";
|
|
50
|
+
};
|
|
51
|
+
export type KnowledgeReadLimitExceededEncoded = {
|
|
52
|
+
_tag: "KnowledgeReadLimitExceeded";
|
|
53
|
+
budget: "work" | "nodes" | "relation_ids" | "bytes";
|
|
54
|
+
message: string;
|
|
36
55
|
};
|
|
37
56
|
export type EffectHttpApiErrorBadRequestEncoded = {
|
|
38
57
|
_tag: "BadRequest";
|
|
@@ -98,6 +117,7 @@ export type StudioAgentRunsListResponses = {
|
|
|
98
117
|
completedAt: string | null;
|
|
99
118
|
createdAt: string;
|
|
100
119
|
errorCode: string | null;
|
|
120
|
+
errorMessage: string | null;
|
|
101
121
|
id: string;
|
|
102
122
|
initiator: {
|
|
103
123
|
kind: "user";
|
|
@@ -166,6 +186,7 @@ export type StudioAgentRunsGetResponses = {
|
|
|
166
186
|
completedAt: string | null;
|
|
167
187
|
createdAt: string;
|
|
168
188
|
errorCode: string | null;
|
|
189
|
+
errorMessage: string | null;
|
|
169
190
|
id: string;
|
|
170
191
|
initiator: {
|
|
171
192
|
kind: "user";
|
|
@@ -177,6 +198,65 @@ export type StudioAgentRunsGetResponses = {
|
|
|
177
198
|
};
|
|
178
199
|
};
|
|
179
200
|
export type StudioAgentRunsGetResponse = StudioAgentRunsGetResponses[keyof StudioAgentRunsGetResponses];
|
|
201
|
+
export type StudioViewDataSearchMembersData = {
|
|
202
|
+
body: {
|
|
203
|
+
cursor?: string | null;
|
|
204
|
+
filters?: Array<{
|
|
205
|
+
caseSensitive?: boolean;
|
|
206
|
+
field: string;
|
|
207
|
+
operator: "eq" | "ne" | "in" | "nin" | "contains" | "not_contains" | "starts_with" | "ends_with" | "gt" | "gte" | "lt" | "lte" | "exists" | "is_empty" | "is_not_empty";
|
|
208
|
+
value: Suspend2 | Array<Suspend2>;
|
|
209
|
+
}>;
|
|
210
|
+
include?: Array<string>;
|
|
211
|
+
limit?: number;
|
|
212
|
+
sort?: Array<{
|
|
213
|
+
direction: "asc" | "desc";
|
|
214
|
+
field: string;
|
|
215
|
+
}>;
|
|
216
|
+
text?: string;
|
|
217
|
+
field: string;
|
|
218
|
+
};
|
|
219
|
+
headers: {
|
|
220
|
+
authorization?: string;
|
|
221
|
+
"x-organization-id": string;
|
|
222
|
+
};
|
|
223
|
+
path: {
|
|
224
|
+
slug: string;
|
|
225
|
+
viewId: string;
|
|
226
|
+
instanceId: string;
|
|
227
|
+
};
|
|
228
|
+
query?: never;
|
|
229
|
+
url: "/studio/apps/by-slug/{slug}/views/{viewId}/data/{instanceId}/relation-members/search";
|
|
230
|
+
};
|
|
231
|
+
export type StudioViewDataSearchMembersErrors = {
|
|
232
|
+
/**
|
|
233
|
+
* InvalidIncludePath | KnowledgeReadLimitExceeded | BadRequest
|
|
234
|
+
*/
|
|
235
|
+
400: InvalidIncludePathEncoded | KnowledgeReadLimitExceededEncoded | EffectHttpApiErrorBadRequestEncoded;
|
|
236
|
+
/**
|
|
237
|
+
* Unauthorized
|
|
238
|
+
*/
|
|
239
|
+
401: EffectHttpApiErrorUnauthorizedEncoded;
|
|
240
|
+
/**
|
|
241
|
+
* Forbidden
|
|
242
|
+
*/
|
|
243
|
+
403: EffectHttpApiErrorForbiddenEncoded;
|
|
244
|
+
/**
|
|
245
|
+
* NotFound
|
|
246
|
+
*/
|
|
247
|
+
404: EffectHttpApiErrorNotFoundEncoded;
|
|
248
|
+
/**
|
|
249
|
+
* InternalServerError
|
|
250
|
+
*/
|
|
251
|
+
500: EffectHttpApiErrorInternalServerErrorEncoded;
|
|
252
|
+
};
|
|
253
|
+
export type StudioViewDataSearchMembersError = StudioViewDataSearchMembersErrors[keyof StudioViewDataSearchMembersErrors];
|
|
254
|
+
export type StudioViewDataSearchMembersResponses = {
|
|
255
|
+
/**
|
|
256
|
+
* Success
|
|
257
|
+
*/
|
|
258
|
+
200: unknown;
|
|
259
|
+
};
|
|
180
260
|
export type StudioViewDataSearchData = {
|
|
181
261
|
body: {
|
|
182
262
|
cursor?: string | null;
|
|
@@ -184,8 +264,9 @@ export type StudioViewDataSearchData = {
|
|
|
184
264
|
caseSensitive?: boolean;
|
|
185
265
|
field: string;
|
|
186
266
|
operator: "eq" | "ne" | "in" | "nin" | "contains" | "not_contains" | "starts_with" | "ends_with" | "gt" | "gte" | "lt" | "lte" | "exists" | "is_empty" | "is_not_empty";
|
|
187
|
-
value:
|
|
267
|
+
value: Suspend2 | Array<Suspend2>;
|
|
188
268
|
}>;
|
|
269
|
+
include?: Array<string>;
|
|
189
270
|
limit?: number;
|
|
190
271
|
sort?: Array<{
|
|
191
272
|
direction: "asc" | "desc";
|
|
@@ -206,9 +287,9 @@ export type StudioViewDataSearchData = {
|
|
|
206
287
|
};
|
|
207
288
|
export type StudioViewDataSearchErrors = {
|
|
208
289
|
/**
|
|
209
|
-
* BadRequest
|
|
290
|
+
* InvalidIncludePath | KnowledgeReadLimitExceeded | BadRequest
|
|
210
291
|
*/
|
|
211
|
-
400: EffectHttpApiErrorBadRequestEncoded;
|
|
292
|
+
400: InvalidIncludePathEncoded | KnowledgeReadLimitExceededEncoded | EffectHttpApiErrorBadRequestEncoded;
|
|
212
293
|
/**
|
|
213
294
|
* Unauthorized
|
|
214
295
|
*/
|
|
@@ -244,14 +325,16 @@ export type StudioViewDataGetItemData = {
|
|
|
244
325
|
viewId: string;
|
|
245
326
|
instanceId: string;
|
|
246
327
|
};
|
|
247
|
-
query?:
|
|
328
|
+
query?: {
|
|
329
|
+
include?: string;
|
|
330
|
+
};
|
|
248
331
|
url: "/studio/apps/by-slug/{slug}/views/{viewId}/data/{instanceId}";
|
|
249
332
|
};
|
|
250
333
|
export type StudioViewDataGetItemErrors = {
|
|
251
334
|
/**
|
|
252
|
-
* BadRequest
|
|
335
|
+
* InvalidIncludePath | KnowledgeReadLimitExceeded | BadRequest
|
|
253
336
|
*/
|
|
254
|
-
400: EffectHttpApiErrorBadRequestEncoded;
|
|
337
|
+
400: InvalidIncludePathEncoded | KnowledgeReadLimitExceededEncoded | EffectHttpApiErrorBadRequestEncoded;
|
|
255
338
|
/**
|
|
256
339
|
* Unauthorized
|
|
257
340
|
*/
|
|
@@ -299,9 +382,9 @@ export type StudioViewDataUpdateItemData = {
|
|
|
299
382
|
};
|
|
300
383
|
export type StudioViewDataUpdateItemErrors = {
|
|
301
384
|
/**
|
|
302
|
-
* EntityValueDiagnostic | EntityFileFieldDiagnostic | BadRequest
|
|
385
|
+
* EntityValueDiagnostic | EntityFileFieldDiagnostic | EntityRelationFieldDiagnostic | KnowledgeReadLimitExceeded | BadRequest
|
|
303
386
|
*/
|
|
304
|
-
400: EntityValueDiagnosticEncoded | EntityFileFieldDiagnosticEncoded | EffectHttpApiErrorBadRequestEncoded;
|
|
387
|
+
400: EntityValueDiagnosticEncoded | EntityFileFieldDiagnosticEncoded | EntityRelationFieldDiagnosticEncoded | KnowledgeReadLimitExceededEncoded | EffectHttpApiErrorBadRequestEncoded;
|
|
305
388
|
/**
|
|
306
389
|
* Unauthorized
|
|
307
390
|
*/
|
|
@@ -380,6 +463,7 @@ export type StudioWorkflowRunsListResponses = {
|
|
|
380
463
|
completedAt: string | null;
|
|
381
464
|
createdAt: string;
|
|
382
465
|
errorCode: string | null;
|
|
466
|
+
errorMessage: string | null;
|
|
383
467
|
id: string;
|
|
384
468
|
initiator: {
|
|
385
469
|
kind: "user";
|
|
@@ -451,6 +535,7 @@ export type StudioWorkflowRunsGetResponses = {
|
|
|
451
535
|
completedAt: string | null;
|
|
452
536
|
createdAt: string;
|
|
453
537
|
errorCode: string | null;
|
|
538
|
+
errorMessage: string | null;
|
|
454
539
|
id: string;
|
|
455
540
|
initiator: {
|
|
456
541
|
kind: "user";
|
|
@@ -467,7 +552,13 @@ export type StudioWorkflowRunsGetResponses = {
|
|
|
467
552
|
steps: Array<{
|
|
468
553
|
attempt: number;
|
|
469
554
|
completedAt: string | null;
|
|
555
|
+
durationMs: number | null;
|
|
556
|
+
error: {
|
|
557
|
+
code: string | null;
|
|
558
|
+
message: string;
|
|
559
|
+
} | null;
|
|
470
560
|
nodeId: string;
|
|
561
|
+
nodeType: string | null;
|
|
471
562
|
startedAt: string | null;
|
|
472
563
|
status: string;
|
|
473
564
|
}>;
|
package/dist/workflow.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var Mn=Object.defineProperty;var Bn=(o)=>o;function Ln(o,e){this[o]=Bn.bind(null,e)}var _n=(o,e)=>{for(var n in e)Mn(o,n,{get:e[n],enumerable:!0,configurable:!0,set:Ln.bind(e,n)})};var b=(o,e,n)=>()=>{if(o)try{e=o(o=0)}catch(t){n=[t]}if(n)throw n[0];return e};var se=(o)=>Boolean(o)===o,Hn=(o)=>Object.prototype.toString.call(o)==="[object Function]",J=(o)=>Number(o)===o,W=(o)=>o!==null&&Object(o)===o&&!Hn(o),P=(o)=>{let e=Object.prototype.toString.call(o);if(o===null||e==="[object Boolean]"||e==="[object Number]"||e==="[object String]")return!0;if(Array.isArray(o))return o.every(P);return W(o)&&Object.values(o).every(P)},T=(o)=>P(o)&&W(o)&&!Array.isArray(o),p=(o)=>String(o)===o,Si=(o)=>o===void 0,Ei=(o)=>{let e=o;if(p(e))return e;if(se(e)||J(e))return String(e);return""};import{ArrowRight as Kn,CheckCircle2 as Un,Wrench as zn,Zap as Qn}from"@collective-intelligence/ui-react/icons";var vo=function(e){switch(e){case"trigger":case"trigger_node":return{icon:Qn,label:"Trigger",tone:"bg-violet-500/12 text-violet-600 dark:text-violet-400"};case"input_node":return{icon:Kn,label:"Input",tone:"bg-sky-500/12 text-sky-600 dark:text-sky-400"};case"output_node":return{icon:Un,label:"Output",tone:"bg-emerald-500/12 text-emerald-600 dark:text-emerald-400"};default:return{icon:zn,label:"Action",tone:"bg-slate-500/12 text-slate-600 dark:text-slate-400"}}};var Wo=()=>{};import{AlertTriangle as Gn,Plus as Yn}from"@collective-intelligence/ui-react/icons";import{Tooltip as Zn,TooltipContent as Xn,TooltipTrigger as et}from"@collective-intelligence/ui-react/ui";import{Handle as ot,Position as Co,useNodeId as nt,useUpdateNodeInternals as tt}from"@xyflow/react";import{useEffect as rt}from"react";import{jsx as w,jsxs as D,Fragment as lt}from"react/jsx-runtime";var it,Fo=function(e){if(p(e))return e;if(W(e)&&"kind"in e&&"text"in e){let n=e;if(n.kind==="literal"&&p(n.text))return n.text}if(W(e)&&"en"in e){let n=e.en;return p(n)?n:""}return""},st=({issues:o,title:e})=>{let n=`${o.length} ${o.length===1?"issue":"issues"} on ${e}`;return D(Zn,{children:[w(et,{asChild:!0,children:w("button",{type:"button","aria-label":n,className:"nodrag nopan absolute -right-2 -top-2 z-20 flex size-7 items-center justify-center rounded-full border border-[color-mix(in_oklab,var(--warning)_45%,var(--border))] bg-[color-mix(in_oklab,var(--warning)_16%,var(--card))] text-[color-mix(in_oklab,var(--warning)_80%,var(--foreground))] shadow-sm transition hover:bg-[color-mix(in_oklab,var(--warning)_24%,var(--card))] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/40",onClick:(t)=>{t.stopPropagation()},onPointerDown:(t)=>{t.stopPropagation()},children:w(Gn,{"aria-hidden":"true",className:"size-4"})})}),D(Xn,{side:"top",sideOffset:6,className:"max-w-72 p-3",children:[w("p",{className:"font-semibold",children:n}),w("ul",{className:"mt-1.5 space-y-1",children:o.map((t)=>w("li",{className:"leading-snug",children:t.message},`${t.code}:${t.message}`))})]})]})},So=({port:o,side:e,index:n=0,count:t=1})=>{let r=e==="left"?Co.Left:Co.Right,i={top:`${(n+1)/(t+1)*100}%`},s=o.maxConnections===null?"unlimited connections":`maximum ${o.maxConnections??1} connections`,a=[...Array.isArray(o.allowedTemplateKinds)?o.allowedTemplateKinds.filter(p):[],...Array.isArray(o.allowedTemplateFqns)?o.allowedTemplateFqns.filter(p):[]],l=`${o.key} — ${o.direction}, ${s}${a.length?`; accepts ${a.join(", ")}`:""}`;return D(lt,{children:[w(ot,{id:o.key,type:o.direction==="input"?"target":"source",position:r,title:l,"aria-label":l,style:i,className:o.direction==="input"?"!h-5 !w-5 !rounded-sm !border-2 !border-background !bg-primary":"!h-5 !w-5 !border-2 !border-background !bg-primary"}),w("span",{style:i,className:`pointer-events-none absolute z-10 -translate-y-full whitespace-nowrap rounded bg-card px-1 text-[10px] text-muted-foreground ${e==="left"?"right-full mr-2":"left-full ml-2"}`,children:o.key})]})},at=({signature:o})=>{let e=nt(),n=tt();return rt(()=>{if(e!==null)n(e)},[e,o,n]),null},oe=({context:o,accent:e})=>{let n=o.ports.filter((f)=>f.direction==="input"),t=o.ports.filter((f)=>f.direction==="output"),r=new Set(o.chart.connectedOutputPortKeys),i=o.chart.fields??[],s=Fo(o.template.label),a=o.chart.title??s,l=o.chart.subtitle??(a===s?void 0:s),d=o.chart.description??Fo(o.template.description),{icon:c}=o.chart.presentation??vo(o.template.kind),x=o.chart.presentation?.tone??it[e],k=o.diagnostics.filter((f)=>f.severity!=="info");return D("div",{className:"relative w-[262px]",children:[k.length?w(st,{issues:k,title:a}):null,D("button",{type:"button","aria-label":`Edit ${a}`,style:{minHeight:(Math.max(n.length,t.length)+1)*28},onDoubleClick:()=>{o.chart.onOpenDetails()},className:`workflow-node-drag group relative z-10 w-full cursor-pointer rounded-2xl border bg-card p-4 text-left shadow-[0_2px_10px_-4px_rgba(30,29,26,0.12)] transition-[border-color,box-shadow] hover:shadow-[0_8px_24px_-14px_rgba(30,29,26,0.24)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/40 ${x}`,children:[o.ports.length>0?w(at,{signature:o.ports.map((f)=>`${f.direction}:${f.key}`).join("|")}):null,n.map((f,m)=>w(So,{port:f,side:"left",index:m,count:n.length},f.key)),t.map((f,m)=>w(So,{port:f,side:"right",index:m,count:t.length},f.key)),D("div",{className:"flex items-start gap-3",children:[w("div",{className:`flex size-10 shrink-0 items-center justify-center rounded-xl ${x}`,children:w(c,{className:"size-5"})}),D("div",{className:"min-w-0",children:[w("div",{className:"truncate text-sm font-semibold text-foreground",children:a}),p(l)&&l.length>0?w("p",{className:"truncate font-mono text-[11px] text-muted-foreground",children:l}):null]})]}),(()=>{if(p(d)&&d.length>0)return D("div",{className:"mt-3 space-y-1 border-t border-border/70 pt-3",children:[p(d)&&d.length>0?w("p",{className:"text-xs leading-snug text-muted-foreground",children:d}):null,p(o.chart.summary)&&o.chart.summary.length>0?w("p",{className:"text-xs text-muted-foreground",children:o.chart.summary}):null]});return null})(),i.length?w("div",{className:"mt-3 space-y-1.5 border-t border-border/70 pt-3",children:i.slice(0,4).map((f)=>w("div",{className:"truncate rounded-md bg-muted px-2.5 py-1.5 font-mono text-[11px] text-foreground",children:f},f))}):null]}),(()=>{if(t.length)return w("div",{className:`absolute left-full top-0 h-full ${t.length===1?"w-24":"w-36"}`,children:t.map((f,m)=>r.has(f.key)?null:D("div",{className:"absolute left-0 right-0 flex -translate-y-1/2 items-center gap-1.5",style:{top:`${(m+1)/(t.length+1)*100}%`},children:[w("div",{className:"h-px min-w-8 flex-1 bg-foreground/40"}),r.has(f.key)?null:w("button",{type:"button",className:"flex size-6 shrink-0 items-center justify-center rounded-md border border-border-strong bg-card text-muted-foreground shadow-sm transition hover:border-primary hover:text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/40","aria-label":`Add after ${a} ${f.key}`,title:`Add after ${f.key}`,onClick:(u)=>{u.stopPropagation(),o.chart.onAddFromPort?.(f)},children:w(Yn,{className:"size-3.5"})})]},f.key))});return null})()]})};var je=b(()=>{Wo();it={emerald:"bg-[color-mix(in_oklab,var(--chart-2)_12%,var(--card))] text-emerald-600 border-emerald-500/30",sky:"bg-[color-mix(in_oklab,var(--chart-4)_12%,var(--card))] text-sky-600 border-sky-500/30",slate:"bg-[color-mix(in_oklab,var(--bg-surface-alt)_55%,var(--card))] text-slate-600 border-slate-500/30",violet:"bg-[color-mix(in_oklab,var(--chart-5)_12%,var(--card))] text-violet-600 border-violet-500/30"}});var dt=(o)=>o.trim().replaceAll(/[^a-zA-Z0-9]+/gu,"_").toUpperCase(),ct=(o)=>{if(typeof o.module==="string")return{exportName:o.exportName,module:o.module};return{exportName:o.exportName,module:o.module.pathname.split("/").pop()??"unknown-module"}},ae=(o)=>{let{declaration:e,phase:n,message:t,cause:r,sourceMap:i}=o,{target:s}=e,a=["FE",n.toUpperCase(),s.packageFqn,s.fqn,s.version,s.role].map(dt).join("-");return{componentFqn:s.fqn,diagnosticId:a,message:t,packageFqn:s.packageFqn,phase:n,role:s.role,source:ct(e.implementation.render),version:s.version,...i===void 0?void 0:{sourceMap:i},...r===void 0?void 0:{cause:String(r instanceof Error?r.message:r)}}};var Eo=()=>{};import{Component as ut,createContext as pt,createElement as ft,useContext as mt,useEffect as gt,useLayoutEffect as xt,useRef as yt,useState as bt}from"react";import"react";import{jsx as be,jsxs as ht}from"react/jsx-runtime";var kt=(o)=>ht("div",{role:"alert","data-diagnostic-id":o.diagnosticId,children:["Hosted extension failed. Diagnostic ID: ",o.diagnosticId]}),To,Oo,Jo,Po=({diagnostic:o})=>mt(Jo)(o),Vo=(o,e)=>{console.error(`Hosted extension ${o.diagnosticId}: ${o.message}`,e)},Do,wt,ne=({componentProps:o,declaration:e,fallback:n=wt,implementationRole:t="render",load:r,onDiagnostic:i})=>{let[s,a]=bt(null),l=yt({load:r,onDiagnostic:i});xt(()=>{l.current={load:r,onDiagnostic:i}},[r,i]),gt(()=>{let x=!0;return(async()=>{try{let f=await l.current.load();if(!x)return;let m=e.implementation[t]??e.implementation.render,u=f[m.exportName];if(u===void 0){let h=ae({declaration:e,message:`Export "${m.exportName}" was not a React component.`,phase:"load"});Vo(h,h),l.current.onDiagnostic?.(h),a({declaration:e,diagnostic:h,implementationRole:t,kind:"failed"});return}a({component:u,declaration:e,implementationRole:t,kind:"ready"})}catch(f){if(!x)return;let m=ae({cause:f,declaration:e,message:"The hosted component could not be loaded.",phase:"load"});Vo(m,f),l.current.onDiagnostic?.(m),a({declaration:e,diagnostic:m,implementationRole:t,kind:"failed"})}})(),()=>{x=!1}},[e,t]);let d=s?.declaration===e&&s.implementationRole===t?s:null;if(d===null)return n;if(d.kind==="failed")return be(Po,{diagnostic:d.diagnostic});let c={children:ft(d.component,o),declaration:e,...i===void 0?void 0:{onDiagnostic:i}};return be(Do,{...c})};var ke=b(()=>{Eo();To=Symbol.for("@collective-intelligence/extensions-sdk-frontend-react/hosted-extension-failure"),Oo=globalThis,Jo=Oo[To]??pt(kt);Oo[To]=Jo;Do=class Do extends ut{constructor(o){super(o);this.state={error:null}}static getDerivedStateFromError(o){return{error:o}}componentDidCatch(o,e){let n=ae({cause:o,declaration:this.props.declaration,message:"The hosted component threw while rendering.",phase:"render"});this.props.onDiagnostic?.(n)}render(){if(this.state.error!==null){let o=ae({cause:this.state.error,declaration:this.props.declaration,message:"The hosted component threw while rendering.",phase:"render"});return be(Po,{diagnostic:o})}return this.props.children}};wt=be("output",{children:"Loading extension…"})});var te=async(o,e="render")=>{let n=o.implementation[e]??o.implementation.render;if(n.load===void 0)throw Error(`Workflow contribution "${o.target.fqn}" requires a retained module loader for "${e}".`);return await n.load()};import{infiniteQueryOptions as vt,queryOptions as Wt}from"@tanstack/react-query";var Ro,Ui=(o)=>{Ro=o},No=(o)=>{let{optionsProvider:e,...n}=o;return n},Ao=(o)=>["workflow-field-options",No(o)],Io=(o,e)=>{let n=o.optionsProvider??Ro;return n===void 0?Promise.resolve({options:[]}):n(No(o),e.signal)},le=(o)=>Wt({queryFn:async(e)=>await Io(o,e),queryKey:Ao(o)}),zi=(o)=>vt({getNextPageParam:(e)=>e.nextCursor,initialPageParam:null,queryFn:async({pageParam:e,signal:n})=>await Io({...o,cursor:e},{signal:n}),queryKey:Ao({...o,cursor:null})});var $e=()=>{};import{Combobox as Ct,Label as Ft}from"@collective-intelligence/ui-react/ui";import{useQuery as St}from"@tanstack/react-query";import{jsx as jo,jsxs as Vt}from"react/jsx-runtime";var Et=(o)=>{if(o?.kind==="literal")return o.text;return o?.kind==="translation"?o.default:void 0},$o=({context:o})=>{let{remoteOptions:e}=o,n={catalogTemplateId:e?.catalogTemplateId??"",dependencies:e?.dependencies??{},limit:50,organizationId:e?.organizationId??""},t=e?.config===void 0?le(n):le({...n,config:e.config}),r=(()=>{if(e?.optionsProvider===void 0)return t;if(e.config===void 0)return le({...n,optionsProvider:e.optionsProvider});return le({...n,config:e.config,optionsProvider:e.optionsProvider})})(),i=St({...r,enabled:Boolean(e)}),s=i.data?.options??o.options,a=Et(o.field.placeholder);return Vt("div",{className:"space-y-2",children:[jo(Ft,{htmlFor:`workflow-field-${o.field.key}`,children:o.field.label.kind==="literal"?o.field.label.text:o.field.label.default}),jo(Ct,{className:"w-full",disabled:o.readOnly||Boolean(e&&i.isPending),emptyMessage:"No options are available.",id:`workflow-field-${o.field.key}`,modal:!0,onChange:(l)=>o.onValueChange(l),options:s.map((l)=>({label:l.label,value:String(l.value)})),placeholder:a??"Select an option",searchPlaceholder:"Search options...",value:o.value===null||!p(o.value)&&!J(o.value)?"":String(o.value),width:"100%"})]})};var qo=b(()=>{$e()});var L;var qe=b(()=>{L={field:"Field",unavailableConfiguration:(o)=>`${o} has configuration that this Dashboard cannot edit. Its saved configuration is preserved.`,unavailableControl:(o,e)=>`${o} uses an unavailable ${e} control. Its saved value is preserved.`}});import{Alert as Tt,AlertDescription as Ot}from"@collective-intelligence/ui-react/ui";import{jsx as R,jsxs as Be,Fragment as Pt}from"react/jsx-runtime";var Me=({diagnostics:o})=>R(Pt,{children:o.map((e)=>R(Tt,{variant:"destructive",children:R(Ot,{children:e.message})},`${e.code}:${e.message}`))}),Jt=(o)=>{if(p(o))return o;if(o!==null&&W(o)&&"text"in o){let{text:e}=o;return p(e)?e:L.field}if(o!==null&&W(o)&&"default"in o){let{default:e}=o;return p(e)?e:L.field}return L.field},Le=({context:o})=>{let e={widget:o.field.widget};if(o.field.fieldFqn!==void 0&&o.field.fieldFqn!==null)e.fqn=o.field.fieldFqn;if(o.field.fieldVersion!==void 0&&o.field.fieldVersion!==null)e.version=o.field.fieldVersion;let n=de(e),t=o.mode??(o.readOnly?"read_only":"value"),r={...o,readOnly:t==="read_only"||o.readOnly};if(n.kind==="resolved"&&n.source==="fallback"&&o.field.optionSource?.kind==="remote")return Be("div",{className:"space-y-2",children:[R($o,{context:r}),R(Me,{diagnostics:o.diagnostics})]});if(n.kind==="resolved")return Be("div",{className:"space-y-2",children:[R(ne,{componentProps:r,declaration:n.entry.declaration,load:()=>te(n.entry.declaration)}),Mo(n.entry).handlesDiagnostics===!0?null:R(Me,{diagnostics:o.diagnostics})]});return Be("div",{className:"space-y-2",children:[R("div",{className:"rounded-lg border border-dashed border-border px-3 py-2 text-sm text-muted-foreground",children:L.unavailableControl(Jt(o.field.label),o.field.fieldFqn??o.field.widget)}),R(Me,{diagnostics:o.diagnostics})]})};var _e=b(()=>{ke();ce();qo();qe()});var Bo;var Lo=b(()=>{Bo={noEditableFields:"This template does not expose editable fields."}});import{jsx as He,jsxs as Ho}from"react/jsx-runtime";var Dt=function(e){if(p(e))return e;if(W(e)&&!Array.isArray(e)&&"en"in e){let n=e.en;return p(n)?n:""}return""},_o=function(e){return[...e].sort((n,t)=>(n.order??0)-(t.order??0))},Rt=function(e){return _o(e).map((n)=>({...n,fields:_o(n.fields??[])}))},_=({context:o})=>{let e=Rt("editor"in o.template.contract?o.template.contract.editor?.form?.sections??[]:[]);return Ho("div",{className:"space-y-5",children:[e.map((n)=>Ho("section",{className:"space-y-3 rounded-xl border border-border p-4",children:[He("h3",{className:"text-sm font-semibold text-foreground",children:Dt(n.label)}),(n.fields??[]).filter((t)=>o.isFieldVisible?.(t)??!0).map((t)=>o.getFieldContext?He(Le,{context:o.getFieldContext(t)},t.key):null)]},n.key)),e.length?null:He("p",{className:"rounded-xl border border-dashed border-border p-4 text-sm text-muted-foreground",children:Bo.noEditableFields})]})};var we=b(()=>{_e();Lo()});var Nt,Ko=(o)=>Nt.has(o),H=(o)=>T(o)?o:void 0,ve=(o)=>{let e=o.anyOf??o.oneOf;return Array.isArray(e)?e.flatMap((n)=>{let t=H(n);return t===void 0?[]:ve(t)}):[o]},Uo=(o)=>{if(o===null)return"null";if(Array.isArray(o))return"array";if(T(o))return"object";if(p(o))return"string";if(J(o))return Number.isInteger(o)?"integer":"number";return"boolean"},Qo=(o)=>{let{type:e}=o;if(p(e))return Ko(e)?new Set([e]):void 0;if(Array.isArray(e))return new Set(e.filter(p).filter(Ko));if(o.const!==void 0)return new Set([Uo(o.const)]);if(Array.isArray(o.enum))return new Set(o.enum.map(Uo));if(o.properties!==void 0)return new Set(["object"]);if(o.items!==void 0)return new Set(["array"]);return},N=(o)=>{let e=new Set;for(let n of ve(o)){let t=Qo(n);if(t===void 0)return;for(let r of t)e.add(r)}return e},Go=(o)=>{let[e]=o;if(e===void 0)return{};return o.length===1?e:{anyOf:[...o]}},ue=(o,e)=>ve(o).filter((n)=>{let t=Qo(n);return t===void 0||t.has(e)}),he=(o)=>Go(ue(o,"array").map((e)=>H(e.items)??{})),At=(o,e)=>o.has(e)||e==="integer"&&o.has("number"),It=(o,e)=>{let[n]=ue(o,"object"),t=H(n?.properties);if(t===void 0)return!0;let r=Array.isArray(n?.required)?n.required.filter(p):[];return ue(e,"object").every((i)=>{let s=H(i.properties);if(s===void 0)return!0;return r.every((a)=>(a in s))&&Object.entries(t).every(([a,l])=>{let d=H(s[a]),c=H(l);return d===void 0||c===void 0?!0:K(c,d)})})},K=(o,e)=>{let n=N(o),t=N(e);if(n===void 0||t===void 0)return!0;for(let r of t)if(!At(n,r))return!1;if(t.has("array")&&!K(he(o),he(e)))return!1;return!t.has("object")||It(o,e)},jt=(o)=>Go(ve(o).flatMap((e)=>{let{type:n}=e;if(n==="null")return[];if(Array.isArray(n)){let t=n.filter((r)=>r!=="null");return t.length===0?[]:[{...e,type:t}]}return[e]})),$t=(o)=>{let e=N(o);if(e?.has("string")===!0)return'""';if(e?.has("number")===!0||e?.has("integer")===!0)return"0";if(e?.has("boolean")===!0)return"false";return},qt=(o)=>{let e=ue(o,"array").every((t)=>J(t.minItems)&&t.minItems>=1),n=he(o);return e||N(n)?.has("null")===!0?n:{anyOf:[n,{type:"null"}]}},Ke=(o,e)=>{if(e===void 0||N(e)===void 0||N(o)===void 0)return{status:"unknown"};if(K(e,o))return{status:"compatible"};let n=$t(e),t=(l,d)=>{if(K(e,l))return d;return n!==void 0&&K(e,jt(l))?[...d,`coalesce(${n})`]:void 0},r=t(o,[]),i=N(o),s=r===void 0&&i?.has("array")===!0?t(qt(o),["first"]):void 0,a=r??s;return a===void 0||a.length===0?{status:"incompatible"}:{pipes:a.map((l)=>`| ${l}`).join(" "),status:"fixable"}},zo=4,Mt=(o)=>{let e=ue(o,"object").flatMap((t)=>Object.keys(H(t.properties)??{}));if(e.length===0)return"object";return`{${e.slice(0,zo).join(", ")}${e.length>zo?", …":""}}`},Ue=(o)=>{let e=N(o);if(e===void 0)return"any";return["string","integer","number","boolean","object","array","null"].filter((t)=>e.has(t)).map((t)=>{if(t==="array"){let r=he(o),i=N(r);return`array of ${i?.size===1&&i.has("object")?Mt(r):Ue(r)}`}return t}).join(" | ")};var We=b(()=>{Nt=new Set(["array","boolean","integer","null","number","object","string"])});var hs=function(e){let n=e.mode==="fixed"?e.value:null;return{expression:e.mode==="expression"?e.source:"",fixed:n,mode:e.mode}},vs=function(e){return e.mode==="fixed"?{mode:"fixed",value:e.fixed}:{languageVersion:1,mode:"expression",source:e.expression}},Yo=function(e,n){return{availability:n.availability,id:n.id,label:n.label,path:n.path??[],schema:n.schema,sourceId:e}},Bt=(o,e)=>o.length===e.length&&o.every((n,t)=>n===e[t]),Lt=function(e,n,t){let r=t.path??[];if(r.length===0){e.children.push(Yo(n,t));return}let i=e;for(let[s,a]of r.entries()){let l=r.slice(0,s+1),d=i.children.findIndex((k)=>Bt(k.path,l)),c=i.children[d];if(s===r.length-1){if(!c)i.children.push(Yo(n,t));return}if(c&&"children"in c){i=c;continue}let x=c?{...c,children:[],conditional:c.availability==="conditional",selectors:[]}:{availability:t.availability,children:[],conditional:t.availability==="conditional",id:`${n}:${l.join(".")}`,label:String(a),path:l,schema:{},selectors:[],sourceId:n};if(c)i.children[d]=x;else i.children.push(x);i=x}},_t=function o(e){return e.flatMap((n)=>[n,...o(n.children??[])])},Ht=function(e){let n=e.availability??"guaranteed",t={availability:n,children:[],conditional:n==="conditional",id:e.id,label:e.label,path:[],schema:e.schema,selectors:(e.selectors??[]).map((r)=>r.kind),sourceId:e.id};if(e.nodeKey!==void 0&&e.nodeKey!==null)t.nodeKey=e.nodeKey;for(let r of _t(e.fields??[]))Lt(t,e.id,r);return t},Kt=function(e){return{compatibility:e.targetCompatibility??[],language:e.languageManifest,sources:(e.availableSources??[]).map(Ht)}},Ut=function(e){return{canonicalSource:e.canonicalSource??null,diagnostics:(e.diagnostics??[]).map((n)=>({actualSchema:n.actualSchema,code:n.code,expectedSchema:n.expectedSchema,message:n.message,remediation:n.remediation,severity:n.severity,span:n.span})),inferredSchema:e.inferredSchema,references:e.references??[]}},Ws=function(e,n){return K(n,e)},Zo=function(e,n,t){let r=Math.max(0,Math.min(n,e.length));return{cursor:r+t.length,source:`${e.slice(0,r)}${t}${e.slice(r)}`}};var Ce=b(()=>{We()});var zt=function(e){if(e.id==="trigger")return"trigger";if(e.id==="workflow_input")return"input";let[,n]=e.id.split(":port:");return`nodes[${JSON.stringify(e.nodeKey??e.label)}]${n?`.${n}`:""}`},Qt=function(e){return e.map((n)=>(()=>{if(J(n))return`[${n}]`;if(/^[A-Za-z_$][\w$]*$/u.test(n))return`.${n}`;return`[${JSON.stringify(n)}]`})()).join("")},Gt=function(e){if(e.id==="trigger")return{id:"trigger",label:"Trigger data"};if(e.id==="workflow_input")return{id:"workflow_input",label:"Workflow input"};return{id:e.id,label:e.label}},Yt=function o(e){let{source:n}=e;return e.nodes.flatMap((t)=>{let r=`${n.id}:${t.id}`,i=[...e.parentLabels,t.label],s="children"in t?t.children:[],a=`${zt(n)}${Qt(t.path)}`;return[{conditional:t.availability==="conditional",depth:e.depth,expandable:s.length>0,group:e.group,id:r,insertion:`{{ ${a} }}`,label:`${n.label} · ${i.join(".")}`,name:t.label,parentId:e.parentId,pathLabel:i.join("."),reference:a,schema:t.schema,selectors:n.selectors},...o({depth:e.depth+1,group:e.group,nodes:s,parentId:r,parentLabels:i,source:n})]})},Zt=function(e){let n=e.children.length?e.children:[{availability:e.availability,id:e.id,label:"Output",path:[],schema:e.schema,sourceId:e.id}];return Yt({depth:0,group:Gt(e),nodes:n,parentId:null,parentLabels:[],source:e})},ze=function(e){return e.sources.flatMap((n)=>Zt(n))},U=function(e){return Ue(e)};var Fe=b(()=>{We()});import{jsx as F,jsxs as en,Fragment as Xt}from"react/jsx-runtime";var V=({title:o,values:e})=>en("section",{"aria-label":o,children:[F("h3",{className:"font-medium",children:o}),e.length>0?F("ul",{className:"mt-1 list-disc pl-5 font-mono text-xs",children:e.map((n,t)=>F("li",{children:n},`${n}-${t}`))}):F("p",{className:"text-muted-foreground",children:"No entries in this language manifest."})]}),Xo=function(e){return e.map((n)=>n.example??n.name)},Qe=({manifest:o})=>en(Xt,{children:[F(V,{title:"Syntax overview",values:[o.grammar]}),F(V,{title:"Interpolation",values:[`Whole value preserves type: ${o.interpolation.wholeValuePreservesType}`,`Mixed text returns: ${o.interpolation.mixedTextReturns}`]}),F(V,{title:"References",values:[o.grammar]}),F(V,{title:"Selectors",values:o.selectors.map(({kind:e})=>e)}),F(V,{title:"Unavailable-value policies",values:o.availabilityPolicies}),F(V,{title:"Operators",values:o.operators}),F(V,{title:"Functions",values:Xo(o.functions)}),F(V,{title:"Casts and pipes",values:o.pipes}),F(V,{title:"Strings",values:o.pipes}),F(V,{title:"Collections",values:o.pipes}),F(V,{title:"Objects",values:o.pipes}),F(V,{title:"Dates",values:o.pipes}),F(V,{title:"If conditions",values:o.ifExamples}),F(V,{title:"Comparators",values:Xo(o.comparators)})]});var Ge=()=>{};var z;var on=b(()=>{z={applyPipes:(o)=>`Append ${o}`,expectedType:"Field expects",incompatibleType:"Incompatible type",insertWithPipes:"Insert with the pipes that make this value fit the field",validationFailed:(o)=>`We couldn't validate this expression: ${o}`,validationUnavailable:"We couldn't validate this expression right now. Check its syntax and referenced values, then try again."}});import{ChevronRight as er}from"@collective-intelligence/ui-react/icons";import{Badge as or,Button as G,Input as nn,Popover as nr,PopoverAnchor as tr,PopoverContent as rr,Textarea as ir}from"@collective-intelligence/ui-react/ui";import{Fragment as sr,useEffect as ar,useRef as lr,useState as Q}from"react";import{jsx as y,jsxs as S}from"react/jsx-runtime";var tn=(o)=>o!==null&&W(o)&&!Array.isArray(o),A=(o)=>o!==null&&o!==void 0&&o!=="",dr=function o(e){if(p(e))return e;if(Array.isArray(e)){let n=e.map(o).filter((t)=>A(t));return n.length?n.join("; "):void 0}if(!tn(e))return;if(p(e.msg))return e.msg;if(p(e.message))return e.message;if(p(e.detail))return e.detail;return},cr=function(e){if(e instanceof Error&&A(e.message))return e.message;if(!P(e))return;if(!tn(e))return;return[e.detail,e.body,e.error,e.message].map(dr).find((n)=>A(n))},ur=function(e){let n=cr(e);return A(n)?z.validationFailed(n):z.validationUnavailable},rn,pr,sn=function(e,n){return pr.flatMap((t)=>e.filter((r)=>n(r)===t))},fr=function(e){let n=new Map;for(let i of e){let s=n.get(i.option.parentId)??[];s.push(i),n.set(i.option.parentId,s)}let t=new Map,r=(i)=>{let s=t.get(i.option.id);if(s!==void 0)return s;let a=Math.min(rn[i.compatibility.status],...(n.get(i.option.id)??[]).map(r));return t.set(i.option.id,a),a};for(let[i,s]of n)n.set(i,sn(s,r));return n},an=({entry:o,expanded:e,onInsert:n,onToggle:t})=>{let{compatibility:r,option:i}=o,s=t===void 0,a=r.status==="incompatible";return S("div",{className:"mt-1 flex items-start gap-1",style:{paddingInlineStart:s?0:`${i.depth*1.25}rem`},children:[!s&&i.expandable?y(G,{"aria-expanded":e,"aria-label":`${e?"Collapse":"Expand"} ${i.label}`,className:"mt-1 size-7 shrink-0",onClick:t,size:"icon",type:"button",variant:"ghost",children:y(er,{"aria-hidden":!0,className:e?"size-4 rotate-90":"size-4"})}):y("span",{"aria-hidden":!0,className:"size-7 shrink-0"}),S(G,{"aria-label":`Insert ${i.label}`,className:`block h-auto min-w-0 flex-1 whitespace-normal px-2 py-1.5 text-left ${a?"opacity-60":""}`,onClick:()=>{n(i.insertion)},type:"button",variant:"ghost",children:[y("span",{className:"block text-sm",children:s?i.pathLabel:i.name}),S("span",{className:"flex flex-wrap items-center gap-1.5 font-mono text-xs text-muted-foreground",children:[U(i.schema),a?y(or,{className:"font-sans",variant:"outline",children:z.incompatibleType}):null]})]}),r.status==="fixable"?y(G,{"aria-label":`Insert ${i.label} with ${r.pipes}`,className:"mt-1 h-auto shrink-0 px-1.5 py-0.5 font-mono text-xs",onClick:()=>{n(`{{ ${i.reference} ${r.pipes} }}`)},size:"sm",title:z.insertWithPipes,type:"button",variant:"outline",children:r.pipes}):null]})},ln=({tree:o,expanded:e,onInsert:n,onToggle:t,parentId:r})=>(o.get(r)??[]).map((i)=>{let s=e.has(i.option.id);return S(sr,{children:[y(an,{entry:i,expanded:s,onInsert:n,onToggle:()=>{t(i.option.id)}}),s?y(ln,{expanded:e,onInsert:n,onToggle:t,parentId:i.option.id,tree:o}):null]},i.option.id)}),mr=({environment:o,onInsert:e,onQueryChange:n,options:t,query:r,targetSchema:i})=>{let[s,a]=Q(new Set),l=new Map(t.map(({group:u})=>[u.id,u])),d=["trigger","workflow_input"],c=[...d.flatMap((u)=>l.get(u)??[]),...[...l.values()].filter(({id:u})=>!d.includes(u))],x=t.map((u)=>({compatibility:Ke(u.schema,i),option:u})),k=r.trim()!=="",f=x.filter(({option:u})=>[u.label,u.insertion,U(u.schema)].join(" ").toLowerCase().includes(r.trim().toLowerCase())),m=(u)=>{a((h)=>{let v=new Set(h);if(v.has(u))v.delete(u);else v.add(u);return v})};return S("div",{className:"grid h-96 max-h-[calc(100dvh-3rem)] grid-cols-[minmax(0,1fr)_14rem] overflow-hidden",children:[S("div",{className:"min-h-0 touch-pan-y overflow-y-auto overscroll-y-contain border-r p-2",onWheel:(u)=>{u.stopPropagation()},children:[y(nn,{"aria-label":"Search expression suggestions",onChange:(u)=>{n(u.target.value)},placeholder:"Search available values",value:r}),c.map((u)=>{let h=(k?f:x).filter(({option:v})=>v.group.id===u.id);if(h.length===0)return null;return S("section",{"aria-label":u.label,className:"mt-3",children:[y("h3",{className:"px-2 text-xs font-semibold text-muted-foreground",children:u.label}),k?sn(h,(v)=>rn[v.compatibility.status]).map((v)=>y(an,{entry:v,expanded:!1,onInsert:e},v.option.id)):y(ln,{expanded:s,onInsert:e,onToggle:m,parentId:null,tree:fr(h)})]},u.id)}),(k?f:x).length===0?y("p",{className:"p-3 text-sm text-muted-foreground",children:"No matching workflow sources."}):null]}),S("aside",{className:"space-y-3 p-3","aria-label":"Expression helper",children:[i===void 0?null:S("p",{className:"text-xs",children:[S("span",{className:"text-muted-foreground",children:[z.expectedType," "]}),y("span",{className:"font-mono",children:U(i)})]}),y("p",{className:"text-xs text-muted-foreground",children:"Select a typed source. Expand an object to pick one of its fields, or insert the whole object."}),y("h3",{className:"text-xs font-semibold",children:"Pipes"}),o.language.pipes.map((u)=>S(G,{className:"mr-1 mb-1 h-auto px-1.5 py-0.5 font-mono text-xs",onClick:()=>{e(` | ${u}`)},size:"sm",type:"button",variant:"outline",children:["| ",u]},u))]})]})},gr,xr=function(e,n){let t=gr.exec(e)?.groups?.body;return t===void 0||t.includes("{{")?void 0:`{{ ${t.trim()} ${n} }}`},yr=({diagnostic:o,onApplyFix:e,source:n,targetSchema:t})=>{let r=o.expectedSchema??t,i=o.code==="incompatible_expression_type"&&o.actualSchema!==null?Ke(o.actualSchema,r??void 0):void 0,s=i?.status==="fixable"?xr(n,i.pipes):void 0;return S("div",{className:"space-y-1 text-sm text-destructive",role:"alert",children:[S("p",{children:[o.message," (characters ",o.span.start,"–",o.span.end,")"]}),A(o.remediation)?y("p",{className:"text-xs text-muted-foreground",children:o.remediation}):null,i?.status==="fixable"&&s!==void 0&&e!==void 0?y(G,{className:"h-auto px-1.5 py-0.5 font-mono text-xs",onClick:()=>{e(s)},size:"sm",type:"button",variant:"outline",children:z.applyPipes(i.pipes)}):null]})},Ye=({describedBy:o,environment:e,inputLabel:n="Expression",source:t,onChange:r,validate:i,multiline:s=!1,readOnly:a=!1,targetSchema:l})=>{let d=lr(null),c=(g)=>{d.current=g},[x,k]=Q(t.length),[f,m]=Q(!1),[u,h]=Q("suggestions"),[v,Y]=Q(""),[De,Re]=Q(null),[B,Z]=Q(null),ie=i===void 0||t===""?null:De,C=i===void 0||t===""?null:B,O=[o,A(C)?"expression-validation":void 0].filter(Boolean).join(" ")||void 0;ar(()=>{let g=new AbortController;if(!i||t==="");else{let Ne=async()=>{try{let Ae=await i(t,g.signal);if(!g.signal.aborted)Re(Ae),Z(null)}catch(Ae){if(!g.signal.aborted)Z(ur(Ae))}},ee=window.setTimeout(()=>{Ne()},300);return()=>{g.abort(),window.clearTimeout(ee)}}return()=>{g.abort()}},[t,i]);let j=ze(e),X=(g)=>{let Ne=d.current?.selectionStart??x,ee=Zo(t,Ne,g);k(ee.cursor),r(ee.source),queueMicrotask(()=>{d.current?.focus(),d.current?.setSelectionRange(ee.cursor,ee.cursor)})};return S("div",{className:"space-y-2",children:[S(nr,{onOpenChange:(g)=>{if(m(g),!g)Y(""),h("suggestions")},open:f,children:[y(tr,{asChild:!0,children:y("div",{children:(()=>{if(s)return y(ir,{"aria-describedby":O,"aria-invalid":A(C)||(ie?.diagnostics.length??0)>0,"aria-label":n,className:"min-h-24 text-sm",disabled:a,onChange:(g)=>{r(g.target.value),k(g.currentTarget.selectionStart??t.length)},onFocus:()=>{m(!0)},onKeyDown:(g)=>{if(g.key==="Escape")m(!1)},onSelect:(g)=>{k(g.currentTarget.selectionStart??t.length)},placeholder:"Choose a source or start typing",ref:c,value:t});return y(nn,{"aria-describedby":O,"aria-invalid":A(C)||(ie?.diagnostics.length??0)>0,"aria-label":n,className:"text-sm",disabled:a,onChange:(g)=>{r(g.target.value),k(g.currentTarget.selectionStart??t.length)},onFocus:()=>{m(!0)},onKeyDown:(g)=>{if(g.key==="Escape")m(!1)},onSelect:(g)=>{k(g.currentTarget.selectionStart??t.length)},placeholder:"Choose a source or start typing",ref:c,value:t})})()})}),S(rr,{align:"start",className:"w-[min(48rem,calc(100vw-3rem))] p-0",onOpenAutoFocus:(g)=>{g.preventDefault()},children:[S("div",{className:"flex border-b p-1",role:"tablist",children:[y(G,{"aria-selected":u==="suggestions",onClick:()=>{h("suggestions")},role:"tab",size:"sm",type:"button",variant:u==="suggestions"?"secondary":"ghost",children:"Suggestions"}),y(G,{"aria-selected":u==="syntax",onClick:()=>{h("syntax")},role:"tab",size:"sm",type:"button",variant:u==="syntax"?"secondary":"ghost",children:"Syntax reference"})]}),u==="suggestions"?y(mr,{environment:e,onInsert:X,onQueryChange:Y,options:j,query:v,targetSchema:l}):y("div",{className:"max-h-96 touch-pan-y overflow-y-auto overscroll-y-contain p-4 text-sm",onWheel:(g)=>{g.stopPropagation()},children:y(Qe,{manifest:e.language})})]})]}),A(C)?y("p",{id:"expression-validation",role:"alert",children:C}):null,ie?.diagnostics.map((g)=>y(yr,{diagnostic:g,onApplyFix:a?void 0:r,source:t,targetSchema:l},`${g.code}-${g.span.start}`))]})};var dn=b(()=>{Ce();We();Fe();Ge();on();rn={compatible:0,fixable:1,incompatible:3,unknown:2},pr=[0,1,2,3],gr=/^\s*\{\{(?<body>[\s\S]*?)\}\}\s*$/u});var Se=b(()=>{dn();Ge();Fe()});var I;var cn=b(()=>{I={expression:"Expression",expressionHelp:"Calculates a value from the data available when this step runs.",fixed:"Fixed",fixedHelp:"Uses the saved value as written.",modesHelp:"Fixed uses the saved value as written. Expression calculates a value from the data available when the step runs."}});import{Alert as br,AlertDescription as kr,Label as wr,ToggleGroup as hr,ToggleGroupItem as un}from"@collective-intelligence/ui-react/ui";import{useId as vr,useState as pn}from"react";import{jsx as E,jsxs as Ee}from"react/jsx-runtime";var Wr,fn=function(e){return e.mode==="expression"?{expression:e.source,fixed:null,mode:"expression"}:{expression:"",fixed:e.value,mode:"fixed"}},Cr=({mode:o})=>E("span",{className:"shrink-0 text-xs text-muted-foreground",title:o==="expression"?I.expressionHelp:I.fixedHelp,children:o==="expression"?I.expression:I.fixed}),pe=({allowExpression:o=!1,allowFixed:e=!0,controlId:n,diagnostics:t=Wr,expressionEditor:r,expressionMultiline:i=!1,help:s,label:a,onValueChange:l,readOnly:d=!1,renderExpression:c,renderFixed:x,required:k=!1,sensitive:f=!1,value:m})=>{let u=vr(),[h,v]=pn(()=>fn(m)),Y=JSON.stringify(m),[De,Re]=pn(Y),B=n===void 0?void 0:`${n}-label`;if(Y!==De)Re(Y),v(fn(m));let Z=(()=>{if(o&&!e)return"expression";if(e&&!o)return"fixed";return h.mode})(),ie=d;return Ee("section",{className:"space-y-2",children:[Ee("div",{className:"flex items-center justify-between gap-3",children:[E("div",{className:"min-w-0",children:Ee("div",{className:"flex items-center gap-1",children:[E(wr,{htmlFor:n,id:B,children:a}),k?E("span",{"aria-label":"Required",children:"*"}):null,f?E("span",{className:"ml-1 text-xs text-muted-foreground",children:"Sensitive"}):null]})}),o&&d?E(Cr,{mode:Z}):null,o&&e&&!d?E("div",{"aria-label":`${a} mode controls`,className:"flex shrink-0 items-center gap-1",children:Ee(hr,{"aria-label":`${a} mode`,className:"gap-0",disabled:ie,onValueChange:(C)=>{if(C==="fixed"||C==="expression")v((O)=>({...O,mode:C}))},size:"sm",type:"single",value:Z,variant:"outline",children:[E(un,{className:"h-7 px-4 text-xs",title:I.fixedHelp,value:"fixed",children:I.fixed}),E(un,{className:"h-7 px-4 text-xs",title:I.expressionHelp,value:"expression",children:I.expression})]})}):null]}),s!==void 0&&s!==""?E("p",{id:u,className:"text-xs leading-relaxed text-muted-foreground",children:s}):null,(()=>{if(Z==="expression"){if(r?.environment){let j=r.validate===void 0?{}:{validate:r.validate};return E(Ye,{...s?{describedBy:u}:{},environment:r.environment,multiline:i,onChange:(X)=>{v((g)=>({...g,expression:X})),l({languageVersion:1,mode:"expression",source:X})},readOnly:d,source:h.expression,targetSchema:r.targetSchema,...j})}if(r?.loading===!0)return E("output",{children:"Loading expression editor…"});if(r?.error!==void 0&&r.error!=="")return E("p",{role:"alert",children:r.error});let O={disabled:d,onChange:(j)=>{v((X)=>({...X,expression:j})),l({languageVersion:1,mode:"expression",source:j})},value:h.expression};if(s)O.describedBy=u;if(n!==void 0)O.controlId=`${n}-expression`;if(B!==void 0)O.labelledBy=B;return c?.(O)}let C={disabled:d,onChange:(O)=>{v((j)=>({...j,fixed:O})),l({mode:"fixed",value:O})},value:h.fixed};if(s)C.describedBy=u;if(n!==void 0)C.controlId=n;if(B!==void 0)C.labelledBy=B;return x(C)})(),t.map((C)=>E(br,{variant:"destructive",children:E(kr,{children:C.message})},`${C.code}:${C.message}`))]})};var Ze=b(()=>{Se();cn();Wr=[]});var Xe=b(()=>{Ze()});var eo;var mn=b(()=>{eo={inputBindingsDescription:"Map workflow input field names to literal or dynamic expressions.",inputBindingsTitle:"Input adapter bindings"}});var fe=function(e){return T(e)?e:{}},oo=function(e){return fe(e)},Fr=function(e,n,t){let r=e.anyOf;if(!Array.isArray(r))return;let i=r.filter((d)=>fe(d).type!=="null");if(i.length!==1||i.length===r.length)return;let s=oo(t(i[0],n)),{type:a}=s,l={...s,...Object.fromEntries(Object.entries(e).filter(([d])=>d!=="anyOf"&&d!=="$defs"))};if(p(a))l.type=[a,"null"];return l},Sr=function(e){let n=fe(e.$defs),t=(r,i=new Set)=>{if(Array.isArray(r))return r.map((c)=>t(c,i));if(!T(r))return r;let s=fe(r),a=s.$ref,l=p(a)?a:void 0;if(l!==void 0&&l.startsWith("#/$defs/")){let c=l.slice(8),x=n[c];if(x!==void 0&&!i.has(c))return t(x,new Set(i).add(c))}let d=Fr(s,i,t);if(d)return d;return Object.fromEntries(Object.entries(s).filter(([c])=>c!=="$defs").map(([c,x])=>[c,t(x,i)]))};return oo(t(e))},Er=function(e){let{type:n}=e;return n==="null"||Array.isArray(n)&&n.includes("null")},Vr=function(e){let{type:n}=e;if(p(n))return n==="null"?e:{...e,type:[n,"null"]};if(Array.isArray(n))return n.includes("null")?e:{...e,type:[...n,"null"]};return e},Tr=function o(e,n=[],t=!1){return Object.entries(fe(e.properties)).map(([r,i])=>{let s=oo(i),a=t?Vr(s):s,l=[...n,r],d=o(s,l,t||Er(s)),c={availability:"guaranteed",id:`trigger:${l.join(".")}`,label:r,path:l,schema:a,sourceId:"trigger"};return d.length?{...c,children:d,conditional:!1,selectors:[]}:c})},gn=function(e){let{triggerInput:n}=e;if(!n)return;let t=Sr(n.schema);return{compatibility:[],language:n.languageManifest,sources:[{availability:"guaranteed",children:Tr(t),conditional:!1,id:"trigger",label:"Trigger data",path:[],schema:t,selectors:[],sourceId:"trigger"}]}};var xn=()=>{};import{Input as Or,Label as Jr}from"@collective-intelligence/ui-react/ui";import{jsx as ge,jsxs as yn}from"react/jsx-runtime";var Pr=(o)=>{if(o===null||o===void 0||p(o)||J(o)||se(o))return String(o??"");return JSON.stringify(o)??""},me=function(e){return T(e)?e:{}},Dr=function(e,n){return e?.length===n.length&&e.every((t,r)=>t===n[r])},Rr=function(e,n){if(n==="number"||n==="integer"){let t=Number(e);return Number.isFinite(t)?t:e}if(n==="boolean")return e==="true";return e},Nr=function(e){if(!T(e))return{mode:"fixed",value:e??null};if(e.mode==="expression"&&p(e.source))return{languageVersion:1,mode:"expression",source:e.source};if(e.mode==="fixed"&&P(e.value))return{mode:"fixed",value:e.value};return{mode:"fixed",value:e}},bn=({context:o})=>{let e=me(o.workflowContracts?.inputContract.jsonSchema.properties),n=o.trigger?.inputBindings??{},t=gn(o.template.contract);return yn("div",{className:"space-y-5",children:[ge(_,{context:o}),yn("section",{className:"space-y-2 rounded-xl border border-border p-4",children:[ge(Jr,{htmlFor:"workflow-trigger-input-bindings",children:eo.inputBindingsTitle}),ge("p",{className:"text-xs text-muted-foreground",children:eo.inputBindingsDescription}),Object.entries(e).map(([r,i])=>{let s=me(n[r]),a=Nr(s?.value),l=o.triggerInputExpressionValidator?.(r),d=t===void 0?void 0:{environment:t,targetSchema:me(i)};if(d!==void 0&&l!==void 0)d.validate=l;return ge(pe,{allowExpression:!0,...d===void 0?{}:{expressionEditor:d},diagnostics:o.diagnostics.filter((c)=>Dr(c.path,["inputBindings",r])),label:`${r} (${U(me(i))})`,readOnly:o.readOnly,value:a,onValueChange:(c)=>o.commands.updateTriggerConfiguration?.({inputBindings:{...n,[r]:{overridePolicy:"locked",value:c}}}),renderFixed:({value:c,onChange:x})=>ge(Or,{value:Pr(c),onChange:(k)=>{x(Rr(k.target.value,me(i)?.type))}})},r)})]})]})};var kn=b(()=>{Se();Xe();we();mn();xn()});var Vn={};_n(Vn,{renderDefaultActionChart:()=>wn,renderDefaultActionDetails:()=>hn,renderDefaultInputChart:()=>Cn,renderDefaultInputDetails:()=>Fn,renderDefaultOutputChart:()=>Sn,renderDefaultOutputDetails:()=>En,renderDefaultTriggerChart:()=>vn,renderDefaultTriggerDetails:()=>Wn});import{jsx as q}from"react/jsx-runtime";var wn=(o)=>q(oe,{context:o,accent:"slate"}),hn=(o)=>q(_,{context:o}),vn=(o)=>q(oe,{context:o,accent:"violet"}),Wn=(o)=>q(bn,{context:o}),Cn=(o)=>q(oe,{context:o,accent:"sky"}),Fn=(o)=>q(_,{context:o}),Sn=(o)=>q(oe,{context:o,accent:"emerald"}),En=(o)=>q(_,{context:o});var no=b(()=>{je();we();kn()});import{declareFrontendComponent as Ar}from"@collective-intelligence/extensions-sdk-frontend";var to=(o)=>({exportName:o,load:()=>Promise.resolve().then(() => (no(),Vn)),module:import.meta.url}),Ve=(o,e,n)=>Ar({implementation:{chart:to(e),details:to(n),render:to(n)},metadata:{kind:o,mode:"default"},target:{fqn:`builtin.core.workflows.nodes.${o.replace(/_node$/u,"")}`,packageFqn:"builtin.core",role:"workflow_template_default",version:"1.0.0"}}),ro;var io=b(()=>{ro=[Ve("action_node","renderDefaultActionChart","renderDefaultActionDetails"),Ve("trigger_node","renderDefaultTriggerChart","renderDefaultTriggerDetails"),Ve("input_node","renderDefaultInputChart","renderDefaultInputDetails"),Ve("output_node","renderDefaultOutputChart","renderDefaultOutputDetails")]});import{WorkflowTemplateKinds as Ir}from"@collective-intelligence/extensions-sdk";var xe=(o)=>Ir.find((e)=>e===o);var so=()=>{};import{createFrontendCatalog as jr,declareFrontendPackage as $r}from"@collective-intelligence/extensions-sdk-frontend";var co,Te,uo=(o)=>{let{declaration:{metadata:e}}=o;if(!T(e))return{};let n=p(e.kind)?xe(e.kind):void 0,t;if(p(e.mode)){if(e.mode==="default")t="default";else if(e.mode==="override")t="override"}let r={};if(p(e.fqn))r.fqn=e.fqn;if(se(e.handlesDiagnostics))r.handlesDiagnostics=e.handlesDiagnostics;if(n!==void 0)r.kind=n;if(t!==void 0)r.mode=t;if(p(e.widget))r.widget=e.widget;return r},Oe=(o)=>{let e=o?.trim().toLowerCase();return e===void 0||e===""?void 0:e},Tn=()=>co.snapshot().entries,On=(o,e,n)=>{let t=Oe(o),r=Oe(e);if(t===void 0||r===void 0)return;return Tn().find((i)=>i.target.toLowerCase()===t&&i.version.toLowerCase()===r&&i.role===n)},ao=(o,e,n)=>{let t=Oe(e);return Tn().find((r)=>{let i=uo(r);return Oe(i[o])===t&&r.role===n})},Jn=(o)=>{Te=[...Te.filter((t)=>!o.some((r)=>r.manifest.fqn===t.manifest.fqn)),...o];let n=co.activate(Te);if(n.kind==="invalid")throw Error(n.errors.map((t)=>t.message).join("; "));if(n.kind!=="activated")throw Error(`Workflow catalog activation became stale (${n.reason}).`)},lo,qr=()=>{if(Te.some((o)=>o.manifest.fqn===lo.manifest.fqn))return;Jn([lo])},Mr=()=>co.snapshot(),de=(o)=>{let e=p(o)?{widget:o}:o,n=e.fqn??void 0,t=e.version??void 0,r=On(n,t,"workflow_field");if(r!==void 0)return{entry:r,kind:"resolved",source:"exact"};if(n!==void 0&&t!==void 0){let a=ao("widget",e.widget??"","workflow_field_fallback");if(a!==void 0&&n.toLowerCase().startsWith("builtin."))return{entry:a,kind:"resolved",source:"fallback"};let l={fqn:n,kind:"unavailable"};if(e.widget!==void 0)l.widget=e.widget;return l}let i=ao("widget",e.widget??"","workflow_field_fallback");if(i!==void 0)return{entry:i,kind:"resolved",source:"fallback"};let s={kind:"unavailable"};if(e.fqn!==void 0&&e.fqn!==null)s.fqn=e.fqn;if(e.widget!==void 0)s.widget=e.widget;return s},po=(o)=>{let e=xe(o.kind);if(e===void 0)return{fqn:o.fqn,kind:"unavailable",templateKind:o.kind};let n=On(o.fqn,o.version??"1.0.0","workflow_template_override");if(n!==void 0&&uo(n).kind===e)return{entry:n,kind:"resolved",source:"override"};let t=ao("kind",e,"workflow_template_default");if(t!==void 0)return{entry:t,kind:"resolved",source:"default"};return{fqn:o.fqn,kind:"unavailable",templateKind:o.kind}},Mo;var ce=b(()=>{io();so();so();co=jr(),Te=[],lo=$r({components:ro,manifest:{fqn:"builtin.core",name:"Dashboard Workflow UI",version:"1.0.0"}}),Mo=uo});ce();ke();ce();qe();import{jsx as Pn}from"react/jsx-runtime";var Br=({context:o})=>{let e=de(o.field);if(e.kind==="resolved"&&e.entry.declaration.implementation.configuration!==void 0)return Pn(ne,{componentProps:o,declaration:e.entry.declaration,implementationRole:"configuration",load:()=>te(e.entry.declaration,"configuration")});return Pn("div",{className:"rounded-md border border-dashed border-border p-2 text-xs text-muted-foreground",children:L.unavailableConfiguration(o.field.label)})};_e();Ce();Xe();Ze();import{Textarea as Lr}from"@collective-intelligence/ui-react/ui";import{jsx as Dn}from"react/jsx-runtime";import{createElement as Hr}from"react";var Aa=({help:o,label:e,onValueChange:n,expressionEditor:t,readOnly:r,renderFixed:i,resetKey:s,slotId:a,value:l})=>Dn("div",{"data-expression-slot":a,children:Hr(pe,{allowExpression:!0,...o===void 0?{}:{help:o},...t===void 0?{}:{expressionEditor:t},key:`${a}:${s??"current"}`,label:e,onValueChange:n,...r===void 0?{}:{readOnly:r},renderExpression:({describedBy:d,disabled:c,onChange:x,value:k})=>Dn(Lr,{"aria-describedby":d,"aria-label":`${e} expression`,disabled:c,onChange:(f)=>{x(f.target.value)},placeholder:"{{ input.value }}",value:k}),renderFixed:i,value:l})}),_r=function(e){if(!T(e))return!1;if(e.mode==="fixed")return P(e.value);return e.mode==="expression"&&J(e.languageVersion)&&e.languageVersion===1&&p(e.source)},Ia=function(e){if(_r(e))return e;return{mode:"fixed",value:e}};var fo=function(e,n){let t=[...e];for(let r=0;r<t.length;r+=1)for(let i=r+1;i<t.length;i+=1){let s=t[r],a=t[i];if(s!==void 0&&a!==void 0&&n(s,a)>0)t[r]=a,t[i]=s}return t};var Nn=function(e){return W(e)&&!Array.isArray(e)},Kr=function o(e){return e.flatMap((n)=>[...n.templates??[],...o(n.children??[])])},mo=function(e){return e.kind==="field_collection"&&"collection"in e.contract},go=function(e){return`${e.fqn}@${e.version}`},Rn=function(e){return e.kind==="literal"?e.text:e.default},Ur=function(e){return e.kind==="field"&&"field"in e.contract},zr=function(e,n){if(!e.enabled||e.state!=="available")return!1;return n==="input"?e.contract.field.availableForInput!==!1:e.contract.field.availableForOutput!==!1},Qr=function(e,n){let t=e.find((r)=>mo(r)&&go(r.contract.collection)===n);return t&&mo(t)?t.contract.collection.weight??0:0},Je=function(e){return e!==void 0&&Nn(e)?e:{}},_a=function(e,n){let t=Kr(e?.categories??[]),r=new Map;for(let s of t){if(!mo(s))continue;r.set(go(s.contract.collection),Rn(s.label))}let i=new Map;for(let s of t){if(!Ur(s)||!zr(s,n))continue;let a=s.contract.field,l=go({fqn:a.collectionFqn,version:a.collectionVersion}),d=i.get(l)??{fields:[],key:l,label:r.get(l)??a.collectionFqn,weight:Qr(t,l)};d.fields.push({catalogTemplateId:s.id,collectionKey:l,configSchema:Je(a.configSchema),fqn:a.fqn,label:Rn(s.label),schema:Je(a.valueSchema),version:a.version}),i.set(l,d)}return fo([...i.values()].map((s)=>({...s,fields:fo(s.fields,(a,l)=>a.label.localeCompare(l.label)||a.fqn.localeCompare(l.fqn))})),(s,a)=>s.weight-a.weight||s.label.localeCompare(a.label)||s.key.localeCompare(a.key))},Ha=function(e){return{key:e.key,label:e.label,options:e.fields.map((n)=>({fqn:n.fqn,label:n.label,searchTerms:[n.fqn],version:n.version}))}},Gr=function(e){let n=Je(e.$defs),t=(r,i=new Set)=>{if(Array.isArray(r))return r.map((d)=>t(d,i));if(r===null||!Nn(r))return r;let s=r,a=s.$ref,l=p(a)?a:void 0;if(l!==void 0&&l.startsWith("#/$defs/")){let d=l.slice(8),c=n[d];if(c!==void 0&&c!==null&&!i.has(d))return t(c,new Set(i).add(d))}return Object.fromEntries(Object.entries(s).filter(([d])=>d!=="$defs").map(([d,c])=>[d,t(c,i)]))};return Je(t(e))},Ka=function(e,n){let{title:t,...r}=Gr(n.schema),i={...r};if(p(e.title))i.title=e.title;return i};import{useDebouncedCallback as Yr}from"@collective-intelligence/ui-react/hooks";import{Check as Zr,ChevronsUpDown as Xr}from"@collective-intelligence/ui-react/icons";import{Button as ei,Command as oi,CommandGroup as ni,CommandInput as ti,CommandItem as ri,CommandList as ii,Popover as si,PopoverContent as ai,PopoverTrigger as li}from"@collective-intelligence/ui-react/ui";import{useMemo as di,useState as xo}from"react";import{jsx as M,jsxs as ye}from"react/jsx-runtime";var ci=250,yo=function(e){return`${e.fqn}@${e.version}`},ui=function(e,n){let t=n.trim().toLocaleLowerCase();if(!t)return e;return e.flatMap((r)=>{let i=r.options.filter((s)=>[s.label,s.fqn,...s.searchTerms??[]].join(" ").toLocaleLowerCase().includes(t));return i.length?[{...r,options:i}]:[]})},Za=({collections:o,value:e,onChange:n,ariaLabel:t="Field type"})=>{let[r,i]=xo(!1),[s,a]=xo(""),[l,d]=xo(""),c=Yr(d,ci),x=o.flatMap((m)=>m.options).find((m)=>yo(m)===e),k=di(()=>ui(o,l),[o,l]),f=k.some((m)=>m.options.length>0);return ye(si,{modal:!0,open:r,onOpenChange:(m)=>{if(i(m),!m)c.cancel(),a(""),d("")},children:[M(li,{asChild:!0,children:ye(ei,{type:"button",variant:"outline","aria-label":t,"aria-expanded":r,className:"mt-1 w-full justify-between font-normal",children:[M("span",{className:"truncate",children:x?.label??"Select a field type"}),M(Xr,{className:"ml-2 size-4 shrink-0 opacity-50"})]})}),M(ai,{align:"start",className:"w-[var(--radix-popover-trigger-width)] p-0",children:ye(oi,{shouldFilter:!1,children:[M(ti,{placeholder:"Search field types...",value:s,onValueChange:(m)=>{a(m),c(m)}}),ye(ii,{children:[f?null:M("p",{className:"py-6 text-center text-sm",children:"No field type found."}),k.map((m)=>M(ni,{heading:m.label,children:m.options.map((u)=>{let h=yo(u);return ye(ri,{value:yo(u),onSelect:()=>{n(u),i(!1)},children:[M(Zr,{className:e===h?"mr-2 size-4 opacity-100":"mr-2 size-4 opacity-0"}),u.label]},h)})},m.key))]})]})})]})};je();we();io();no();ke();ce();import{jsx as An,jsxs as fi}from"react/jsx-runtime";var pi=({context:o})=>{let e=po(o.template);if(e.kind==="resolved")return An(ne,{componentProps:o,declaration:e.entry.declaration,implementationRole:"details",load:()=>te(e.entry.declaration,"details")});return fi("div",{className:"rounded-xl border border-dashed border-border p-4 text-sm text-muted-foreground",children:["No dashboard editor is available for template kind"," ",An("code",{children:e.templateKind}),". The workflow draft has not been changed."]})};var bo=(o)=>o!==void 0&&o!==null&&W(o)&&!Array.isArray(o),In=function(e,n){return Object.fromEntries(Object.entries(e).filter(([t])=>t!==n))},jn=function(e){if(e==="input_binding")return"inputs";if(e==="setting")return"settings";if(e==="metadata")return"metadata";return"config"},re=function(e){return bo(e)?e:void 0},ko=function(e){let n=re(e);if(n===void 0||!("value"in n))return e;return n.mode==="fixed"||n.kind==="literal"?n.value:e},Pe=function(e,n){let t=e[jn(n.target)];for(let r of n.path){let i=re(ko(t));if(i===void 0)return;t=i[r]}return ko(t)},mi=function(e,n){return Pe(e,n.binding)},gi=function o(e,n,t){let[r,...i]=n;if(r===void 0)return e??{};let s=e??{};if(!i.length)return{...s,[r]:t};let a=re(s[r]),l=re(ko(a));if(a?.mode==="fixed")return{...s,[r]:{...a,value:o(l,i,t)}};return{...s,[r]:o(l,i,t)}},wo=function(e,n){return[e==="input_binding"?"inputBinding":e,...n].map((t)=>encodeURIComponent(String(t))).join("/")},xi=function(e,n,t){let r={...re(e?.fieldDisplayValues)},i=wo(n.binding.target,n.binding.path);if(t)r[i]=t;else return{...e,fieldDisplayValues:In(r,i)};return{...e,fieldDisplayValues:r}},yi=function(e,n,t,r){let i=jn(n.binding.target),s={[i]:gi(e[i],n.binding.path,t)};if(r!==void 0)s.metadata=xi(i==="metadata"?s.metadata:e.metadata,n,r);return s},$n=function(e,n,t){let r=e.metadata?.fieldDisplayValues;if(r===void 0||r===null||!bo(r))return;let i=r[wo(n.binding.target,t)];if(i===void 0||i===null||!bo(i))return;return p(i.label)&&"value"in i?{label:i.label,value:i.value}:void 0},bi=function(e,n){return $n(e,n,n.binding.path)},ki=function(e,n,t){return $n(e,n,[...n.binding.path,...t])},wi=function(e,n,t,r){let i={...re(e?.fieldDisplayValues)},s=wo(n,t);if(r)i[s]=r;else return{...e,fieldDisplayValues:In(i,s)};return{...e,fieldDisplayValues:i}},hi=function(e,n,t,r){return{metadata:wi(e.metadata,n.binding.target,[...n.binding.path,...t],r)}};var ho=function o(e,n){if(Array.isArray(e)||Array.isArray(n))return Array.isArray(e)&&Array.isArray(n)&&e.length===n.length&&e.every((t,r)=>o(t,n[r]));if(e!==null&&n!==null&&e!==void 0&&n!==void 0&&W(e)&&W(n)){let t=Object.keys(e);return t.length===Object.keys(n).length&&t.every((r)=>o(e[r],n[r]))}return e===n},qn=function(e){return e!==void 0&&e!==null&&e!==""},vi=function(e,n){if(!Array.isArray(n)||e===void 0)return!1;return(Array.isArray(e)?e:[e]).some((r)=>n.some((i)=>ho(r,i)))},Wi=function(e,n){return(e.visibleWhen??[]).every((t)=>{let r=Pe(n,t.binding);switch(t.operator){case"equals":return ho(r,t.value);case"not_equals":return!ho(r,t.value);case"is_set":return qn(r);case"is_not_set":return!qn(r);case"in":return vi(r,t.value);default:return!1}})};var Ci=function(e){if(!e)return"";return e.kind==="literal"?e.text:e.default};Ce();Se();Fe();$e();export{oe as CatalogNodeChartBlock,_ as CatalogNodeDetailsEditor,Ye as ExpressionEditor,Aa as ExpressionSlot,Qe as ExpressionSyntaxReference,Za as FieldTypeSelect,Br as WorkflowFieldConfigurationResolver,pe as WorkflowFieldFrame,Le as WorkflowFieldResolver,pi as WorkflowTemplateDetails,qr as activateDashboardWorkflowCatalog,Jn as activateWorkflowCatalog,Ia as asExpressionSlotValue,Ci as catalogText,Ui as configureWorkflowFieldOptionsProvider,hs as createExpressionDraft,lo as dashboardWorkflowPackage,ro as defaultWorkflowTemplateDeclarations,ze as expressionSourceOptions,_a as fieldCollectionsFromCatalog,yo as fieldTypeIdentity,Zo as insertExpressionAtCursor,se as isBoolean,Hn as isFunction,P as isJsonValue,J as isNumber,W as isObject,T as isRecord,Ws as isSchemaCompatible,p as isString,Si as isUndefined,Wi as isWorkflowFieldVisible,Kt as normalizeExpressionEnvironment,Ut as normalizeExpressionValidation,xe as parseWorkflowTemplateKind,hi as patchWorkflowFieldPartDisplayValue,yi as patchWorkflowFieldValue,Pe as readWorkflowBindingValue,bi as readWorkflowFieldDisplayValue,ki as readWorkflowFieldPartDisplayValue,mi as readWorkflowFieldValue,wn as renderDefaultActionChart,hn as renderDefaultActionDetails,Cn as renderDefaultInputChart,Fn as renderDefaultInputDetails,Sn as renderDefaultOutputChart,En as renderDefaultOutputDetails,vn as renderDefaultTriggerChart,Wn as renderDefaultTriggerDetails,de as resolveWorkflowField,po as resolveWorkflowTemplate,Ka as schemaForWorkflowField,U as schemaLabel,vs as serializeExpressionDraft,Ei as toDisplayString,Ha as toFieldTypeCollection,Mr as workflowCatalogSnapshot,le as workflowFieldOptions,zi as workflowFieldOptionsInfinite};
|
|
1
|
+
var Mn=Object.defineProperty;var Bn=(o)=>o;function Ln(o,e){this[o]=Bn.bind(null,e)}var _n=(o,e)=>{for(var n in e)Mn(o,n,{get:e[n],enumerable:!0,configurable:!0,set:Ln.bind(e,n)})};var b=(o,e,n)=>()=>{if(o)try{e=o(o=0)}catch(t){n=[t]}if(n)throw n[0];return e};var se=(o)=>Boolean(o)===o,Hn=(o)=>Object.prototype.toString.call(o)==="[object Function]",J=(o)=>Number(o)===o,W=(o)=>o!==null&&Object(o)===o&&!Hn(o),P=(o)=>{let e=Object.prototype.toString.call(o);if(o===null||e==="[object Boolean]"||e==="[object Number]"||e==="[object String]")return!0;if(Array.isArray(o))return o.every(P);return W(o)&&Object.values(o).every(P)},T=(o)=>P(o)&&W(o)&&!Array.isArray(o),u=(o)=>String(o)===o,Si=(o)=>o===void 0,Ei=(o)=>{let e=o;if(u(e))return e;if(se(e)||J(e))return String(e);return""};import{ArrowRight as Kn,CheckCircle2 as Un,Wrench as zn,Zap as Qn}from"@collective-intelligence/ui-react/icons";var vo=function(e){switch(e){case"trigger":case"trigger_node":return{icon:Qn,label:"Trigger",tone:"bg-violet-500/12 text-violet-600 dark:text-violet-400"};case"input_node":return{icon:Kn,label:"Input",tone:"bg-sky-500/12 text-sky-600 dark:text-sky-400"};case"output_node":return{icon:Un,label:"Output",tone:"bg-emerald-500/12 text-emerald-600 dark:text-emerald-400"};default:return{icon:zn,label:"Action",tone:"bg-slate-500/12 text-slate-600 dark:text-slate-400"}}};var Wo=()=>{};import{AlertTriangle as Gn,Plus as Yn}from"@collective-intelligence/ui-react/icons";import{Tooltip as Zn,TooltipContent as Xn,TooltipTrigger as et}from"@collective-intelligence/ui-react/ui";import{Handle as ot,Position as Co,useNodeId as nt,useUpdateNodeInternals as tt}from"@xyflow/react";import{useEffect as rt}from"react";import{jsx as k,jsxs as D,Fragment as lt}from"react/jsx-runtime";var it,Fo=function(e){if(u(e))return e;if(W(e)&&"kind"in e&&"text"in e){let n=e;if(n.kind==="literal"&&u(n.text))return n.text}if(W(e)&&"en"in e){let n=e.en;return u(n)?n:""}return""},st=({issues:o,title:e})=>{let n=`${o.length} ${o.length===1?"issue":"issues"} on ${e}`;return D(Zn,{children:[k(et,{asChild:!0,children:k("button",{type:"button","aria-label":n,className:"nodrag nopan absolute -right-2 -top-2 z-20 flex size-7 items-center justify-center rounded-full border border-[color-mix(in_oklab,var(--warning)_45%,var(--border))] bg-[color-mix(in_oklab,var(--warning)_16%,var(--card))] text-[color-mix(in_oklab,var(--warning)_80%,var(--foreground))] shadow-sm transition hover:bg-[color-mix(in_oklab,var(--warning)_24%,var(--card))] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/40",onClick:(t)=>{t.stopPropagation()},onPointerDown:(t)=>{t.stopPropagation()},children:k(Gn,{"aria-hidden":"true",className:"size-4"})})}),D(Xn,{side:"top",sideOffset:6,className:"max-w-72 p-3",children:[k("p",{className:"font-semibold",children:n}),k("ul",{className:"mt-1.5 space-y-1",children:o.map((t)=>k("li",{className:"leading-snug",children:t.message},`${t.code}:${t.message}`))})]})]})},So=({port:o,side:e,index:n=0,count:t=1})=>{let r=e==="left"?Co.Left:Co.Right,i={top:`${(n+1)/(t+1)*100}%`},s=o.maxConnections===null?"unlimited connections":`maximum ${o.maxConnections??1} connections`,a=[...Array.isArray(o.allowedTemplateKinds)?o.allowedTemplateKinds.filter(u):[],...Array.isArray(o.allowedTemplateFqns)?o.allowedTemplateFqns.filter(u):[]],l=`${o.key} — ${o.direction}, ${s}${a.length?`; accepts ${a.join(", ")}`:""}`;return D(lt,{children:[k(ot,{id:o.key,type:o.direction==="input"?"target":"source",position:r,title:l,"aria-label":l,style:i,className:o.direction==="input"?"!h-5 !w-5 !rounded-sm !border-2 !border-background !bg-primary":"!h-5 !w-5 !border-2 !border-background !bg-primary"}),k("span",{style:i,className:`pointer-events-none absolute z-10 -translate-y-full whitespace-nowrap rounded bg-card px-1 text-[10px] text-muted-foreground ${e==="left"?"right-full mr-2":"left-full ml-2"}`,children:o.key})]})},at=({signature:o})=>{let e=nt(),n=tt();return rt(()=>{if(e!==null)n(e)},[e,o,n]),null},oe=({context:o,accent:e})=>{let n=o.ports.filter((f)=>f.direction==="input"),t=o.ports.filter((f)=>f.direction==="output"),r=new Set(o.chart.connectedOutputPortKeys),i=o.chart.fields??[],s=Fo(o.template.label),a=o.chart.title??s,l=o.chart.subtitle??(a===s?void 0:s),d=o.chart.description??Fo(o.template.description),{icon:c}=o.chart.presentation??vo(o.template.kind),x=o.chart.presentation?.tone??it[e],w=o.diagnostics.filter((f)=>f.severity!=="info");return D("div",{className:"relative w-[262px]",children:[w.length?k(st,{issues:w,title:a}):null,D("button",{type:"button","aria-label":`Edit ${a}`,style:{minHeight:(Math.max(n.length,t.length)+1)*28},onDoubleClick:()=>{o.chart.onOpenDetails()},className:`workflow-node-drag group relative z-10 w-full cursor-pointer rounded-2xl border bg-card p-4 text-left shadow-[0_2px_10px_-4px_rgba(30,29,26,0.12)] transition-[border-color,box-shadow] hover:shadow-[0_8px_24px_-14px_rgba(30,29,26,0.24)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/40 ${x}`,children:[o.ports.length>0?k(at,{signature:o.ports.map((f)=>`${f.direction}:${f.key}`).join("|")}):null,n.map((f,m)=>k(So,{port:f,side:"left",index:m,count:n.length},f.key)),t.map((f,m)=>k(So,{port:f,side:"right",index:m,count:t.length},f.key)),D("div",{className:"flex items-start gap-3",children:[k("div",{className:`flex size-10 shrink-0 items-center justify-center rounded-xl ${x}`,children:k(c,{className:"size-5"})}),D("div",{className:"min-w-0",children:[k("div",{className:"truncate text-sm font-semibold text-foreground",children:a}),u(l)&&l.length>0?k("p",{className:"truncate font-mono text-[11px] text-muted-foreground",children:l}):null]})]}),(()=>{if(u(d)&&d.length>0)return D("div",{className:"mt-3 space-y-2 border-t border-border/70 pt-3",children:[u(d)&&d.length>0?k("p",{className:"line-clamp-2 text-xs leading-snug text-muted-foreground [overflow-wrap:anywhere]",children:d}):null,u(o.chart.summary)&&o.chart.summary.length>0?k("div",{className:"rounded-lg bg-muted/60 px-2.5 py-2",children:k("p",{className:"line-clamp-3 whitespace-pre-line font-mono text-[11px] leading-4 text-muted-foreground [overflow-wrap:anywhere]",children:o.chart.summary})}):null]});return null})(),i.length?k("div",{className:"mt-3 space-y-1.5 border-t border-border/70 pt-3",children:i.slice(0,4).map((f)=>k("div",{className:"truncate rounded-md bg-muted px-2.5 py-1.5 font-mono text-[11px] text-foreground",children:f},f))}):null]}),(()=>{if(t.length)return k("div",{className:`absolute left-full top-0 h-full ${t.length===1?"w-24":"w-36"}`,children:t.map((f,m)=>r.has(f.key)?null:D("div",{className:"absolute left-0 right-0 flex -translate-y-1/2 items-center gap-1.5",style:{top:`${(m+1)/(t.length+1)*100}%`},children:[k("div",{className:"h-px min-w-8 flex-1 bg-foreground/40"}),r.has(f.key)?null:k("button",{type:"button",className:"flex size-6 shrink-0 items-center justify-center rounded-md border border-border-strong bg-card text-muted-foreground shadow-sm transition hover:border-primary hover:text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/40","aria-label":`Add after ${a} ${f.key}`,title:`Add after ${f.key}`,onClick:(p)=>{p.stopPropagation(),o.chart.onAddFromPort?.(f)},children:k(Yn,{className:"size-3.5"})})]},f.key))});return null})()]})};var je=b(()=>{Wo();it={emerald:"bg-[color-mix(in_oklab,var(--chart-2)_12%,var(--card))] text-emerald-600 border-emerald-500/30",sky:"bg-[color-mix(in_oklab,var(--chart-4)_12%,var(--card))] text-sky-600 border-sky-500/30",slate:"bg-[color-mix(in_oklab,var(--bg-surface-alt)_55%,var(--card))] text-slate-600 border-slate-500/30",violet:"bg-[color-mix(in_oklab,var(--chart-5)_12%,var(--card))] text-violet-600 border-violet-500/30"}});var dt=(o)=>o.trim().replaceAll(/[^a-zA-Z0-9]+/gu,"_").toUpperCase(),ct=(o)=>{if(typeof o.module==="string")return{exportName:o.exportName,module:o.module};return{exportName:o.exportName,module:o.module.pathname.split("/").pop()??"unknown-module"}},ae=(o)=>{let{declaration:e,phase:n,message:t,cause:r,sourceMap:i}=o,{target:s}=e,a=["FE",n.toUpperCase(),s.packageFqn,s.fqn,s.version,s.role].map(dt).join("-");return{componentFqn:s.fqn,diagnosticId:a,message:t,packageFqn:s.packageFqn,phase:n,role:s.role,source:ct(e.implementation.render),version:s.version,...i===void 0?void 0:{sourceMap:i},...r===void 0?void 0:{cause:String(r instanceof Error?r.message:r)}}};var Eo=()=>{};import{Component as pt,createContext as ut,createElement as ft,useContext as mt,useEffect as gt,useLayoutEffect as xt,useRef as yt,useState as bt}from"react";import"react";import{jsx as be,jsxs as ht}from"react/jsx-runtime";var kt=(o)=>ht("div",{role:"alert","data-diagnostic-id":o.diagnosticId,children:["Hosted extension failed. Diagnostic ID: ",o.diagnosticId]}),To,Oo,Jo,Po=({diagnostic:o})=>mt(Jo)(o),Vo=(o,e)=>{console.error(`Hosted extension ${o.diagnosticId}: ${o.message}`,e)},Do,wt,ne=({componentProps:o,declaration:e,fallback:n=wt,implementationRole:t="render",load:r,onDiagnostic:i})=>{let[s,a]=bt(null),l=yt({load:r,onDiagnostic:i});xt(()=>{l.current={load:r,onDiagnostic:i}},[r,i]),gt(()=>{let x=!0;return(async()=>{try{let f=await l.current.load();if(!x)return;let m=e.implementation[t]??e.implementation.render,p=f[m.exportName];if(p===void 0){let h=ae({declaration:e,message:`Export "${m.exportName}" was not a React component.`,phase:"load"});Vo(h,h),l.current.onDiagnostic?.(h),a({declaration:e,diagnostic:h,implementationRole:t,kind:"failed"});return}a({component:p,declaration:e,implementationRole:t,kind:"ready"})}catch(f){if(!x)return;let m=ae({cause:f,declaration:e,message:"The hosted component could not be loaded.",phase:"load"});Vo(m,f),l.current.onDiagnostic?.(m),a({declaration:e,diagnostic:m,implementationRole:t,kind:"failed"})}})(),()=>{x=!1}},[e,t]);let d=s?.declaration===e&&s.implementationRole===t?s:null;if(d===null)return n;if(d.kind==="failed")return be(Po,{diagnostic:d.diagnostic});let c={children:ft(d.component,o),declaration:e,...i===void 0?void 0:{onDiagnostic:i}};return be(Do,{...c})};var ke=b(()=>{Eo();To=Symbol.for("@collective-intelligence/extensions-sdk-frontend-react/hosted-extension-failure"),Oo=globalThis,Jo=Oo[To]??ut(kt);Oo[To]=Jo;Do=class Do extends pt{constructor(o){super(o);this.state={error:null}}static getDerivedStateFromError(o){return{error:o}}componentDidCatch(o,e){let n=ae({cause:o,declaration:this.props.declaration,message:"The hosted component threw while rendering.",phase:"render"});this.props.onDiagnostic?.(n)}render(){if(this.state.error!==null){let o=ae({cause:this.state.error,declaration:this.props.declaration,message:"The hosted component threw while rendering.",phase:"render"});return be(Po,{diagnostic:o})}return this.props.children}};wt=be("output",{children:"Loading extension…"})});var te=async(o,e="render")=>{let n=o.implementation[e]??o.implementation.render;if(n.load===void 0)throw Error(`Workflow contribution "${o.target.fqn}" requires a retained module loader for "${e}".`);return await n.load()};import{infiniteQueryOptions as vt,queryOptions as Wt}from"@tanstack/react-query";var Ro,Ui=(o)=>{Ro=o},No=(o)=>{let{optionsProvider:e,...n}=o;return n},Ao=(o)=>["workflow-field-options",No(o)],Io=(o,e)=>{let n=o.optionsProvider??Ro;return n===void 0?Promise.resolve({options:[]}):n(No(o),e.signal)},le=(o)=>Wt({queryFn:async(e)=>await Io(o,e),queryKey:Ao(o)}),zi=(o)=>vt({getNextPageParam:(e)=>e.nextCursor,initialPageParam:null,queryFn:async({pageParam:e,signal:n})=>await Io({...o,cursor:e},{signal:n}),queryKey:Ao({...o,cursor:null})});var $e=()=>{};import{Combobox as Ct,Label as Ft}from"@collective-intelligence/ui-react/ui";import{useQuery as St}from"@tanstack/react-query";import{jsx as jo,jsxs as Vt}from"react/jsx-runtime";var Et=(o)=>{if(o?.kind==="literal")return o.text;return o?.kind==="translation"?o.default:void 0},$o=({context:o})=>{let{remoteOptions:e}=o,n={catalogTemplateId:e?.catalogTemplateId??"",dependencies:e?.dependencies??{},limit:50,organizationId:e?.organizationId??""},t=e?.config===void 0?le(n):le({...n,config:e.config}),r=(()=>{if(e?.optionsProvider===void 0)return t;if(e.config===void 0)return le({...n,optionsProvider:e.optionsProvider});return le({...n,config:e.config,optionsProvider:e.optionsProvider})})(),i=St({...r,enabled:Boolean(e)}),s=i.data?.options??o.options,a=Et(o.field.placeholder);return Vt("div",{className:"space-y-2",children:[jo(Ft,{htmlFor:`workflow-field-${o.field.key}`,children:o.field.label.kind==="literal"?o.field.label.text:o.field.label.default}),jo(Ct,{className:"w-full",disabled:o.readOnly||Boolean(e&&i.isPending),emptyMessage:"No options are available.",id:`workflow-field-${o.field.key}`,modal:!0,onChange:(l)=>o.onValueChange(l),options:s.map((l)=>({label:l.label,value:String(l.value)})),placeholder:a??"Select an option",searchPlaceholder:"Search options...",value:o.value===null||!u(o.value)&&!J(o.value)?"":String(o.value),width:"100%"})]})};var qo=b(()=>{$e()});var L;var qe=b(()=>{L={field:"Field",unavailableConfiguration:(o)=>`${o} has configuration that this Dashboard cannot edit. Its saved configuration is preserved.`,unavailableControl:(o,e)=>`${o} uses an unavailable ${e} control. Its saved value is preserved.`}});import{Alert as Tt,AlertDescription as Ot}from"@collective-intelligence/ui-react/ui";import{jsx as R,jsxs as Be,Fragment as Pt}from"react/jsx-runtime";var Me=({diagnostics:o})=>R(Pt,{children:o.map((e)=>R(Tt,{variant:"destructive",children:R(Ot,{children:e.message})},`${e.code}:${e.message}`))}),Jt=(o)=>{if(u(o))return o;if(o!==null&&W(o)&&"text"in o){let{text:e}=o;return u(e)?e:L.field}if(o!==null&&W(o)&&"default"in o){let{default:e}=o;return u(e)?e:L.field}return L.field},Le=({context:o})=>{let e={widget:o.field.widget};if(o.field.fieldFqn!==void 0&&o.field.fieldFqn!==null)e.fqn=o.field.fieldFqn;if(o.field.fieldVersion!==void 0&&o.field.fieldVersion!==null)e.version=o.field.fieldVersion;let n=de(e),t=o.mode??(o.readOnly?"read_only":"value"),r={...o,readOnly:t==="read_only"||o.readOnly};if(n.kind==="resolved"&&n.source==="fallback"&&o.field.optionSource?.kind==="remote")return Be("div",{className:"space-y-2",children:[R($o,{context:r}),R(Me,{diagnostics:o.diagnostics})]});if(n.kind==="resolved")return Be("div",{className:"space-y-2",children:[R(ne,{componentProps:r,declaration:n.entry.declaration,load:()=>te(n.entry.declaration)}),Mo(n.entry).handlesDiagnostics===!0?null:R(Me,{diagnostics:o.diagnostics})]});return Be("div",{className:"space-y-2",children:[R("div",{className:"rounded-lg border border-dashed border-border px-3 py-2 text-sm text-muted-foreground",children:L.unavailableControl(Jt(o.field.label),o.field.fieldFqn??o.field.widget)}),R(Me,{diagnostics:o.diagnostics})]})};var _e=b(()=>{ke();ce();qo();qe()});var Bo;var Lo=b(()=>{Bo={noEditableFields:"This template does not expose editable fields."}});import{jsx as He,jsxs as Ho}from"react/jsx-runtime";var Dt=function(e){if(u(e))return e;if(W(e)&&!Array.isArray(e)&&"en"in e){let n=e.en;return u(n)?n:""}return""},_o=function(e){return[...e].sort((n,t)=>(n.order??0)-(t.order??0))},Rt=function(e){return _o(e).map((n)=>({...n,fields:_o(n.fields??[])}))},_=({context:o})=>{let e=Rt("editor"in o.template.contract?o.template.contract.editor?.form?.sections??[]:[]);return Ho("div",{className:"space-y-5",children:[e.map((n)=>Ho("section",{className:"space-y-3 rounded-xl border border-border p-4",children:[He("h3",{className:"text-sm font-semibold text-foreground",children:Dt(n.label)}),(n.fields??[]).filter((t)=>o.isFieldVisible?.(t)??!0).map((t)=>o.getFieldContext?He(Le,{context:o.getFieldContext(t)},t.key):null)]},n.key)),e.length?null:He("p",{className:"rounded-xl border border-dashed border-border p-4 text-sm text-muted-foreground",children:Bo.noEditableFields})]})};var we=b(()=>{_e();Lo()});var Nt,Ko=(o)=>Nt.has(o),H=(o)=>T(o)?o:void 0,ve=(o)=>{let e=o.anyOf??o.oneOf;return Array.isArray(e)?e.flatMap((n)=>{let t=H(n);return t===void 0?[]:ve(t)}):[o]},Uo=(o)=>{if(o===null)return"null";if(Array.isArray(o))return"array";if(T(o))return"object";if(u(o))return"string";if(J(o))return Number.isInteger(o)?"integer":"number";return"boolean"},Qo=(o)=>{let{type:e}=o;if(u(e))return Ko(e)?new Set([e]):void 0;if(Array.isArray(e))return new Set(e.filter(u).filter(Ko));if(o.const!==void 0)return new Set([Uo(o.const)]);if(Array.isArray(o.enum))return new Set(o.enum.map(Uo));if(o.properties!==void 0)return new Set(["object"]);if(o.items!==void 0)return new Set(["array"]);return},N=(o)=>{let e=new Set;for(let n of ve(o)){let t=Qo(n);if(t===void 0)return;for(let r of t)e.add(r)}return e},Go=(o)=>{let[e]=o;if(e===void 0)return{};return o.length===1?e:{anyOf:[...o]}},pe=(o,e)=>ve(o).filter((n)=>{let t=Qo(n);return t===void 0||t.has(e)}),he=(o)=>Go(pe(o,"array").map((e)=>H(e.items)??{})),At=(o,e)=>o.has(e)||e==="integer"&&o.has("number"),It=(o,e)=>{let[n]=pe(o,"object"),t=H(n?.properties);if(t===void 0)return!0;let r=Array.isArray(n?.required)?n.required.filter(u):[];return pe(e,"object").every((i)=>{let s=H(i.properties);if(s===void 0)return!0;return r.every((a)=>(a in s))&&Object.entries(t).every(([a,l])=>{let d=H(s[a]),c=H(l);return d===void 0||c===void 0?!0:K(c,d)})})},K=(o,e)=>{let n=N(o),t=N(e);if(n===void 0||t===void 0)return!0;for(let r of t)if(!At(n,r))return!1;if(t.has("array")&&!K(he(o),he(e)))return!1;return!t.has("object")||It(o,e)},jt=(o)=>Go(ve(o).flatMap((e)=>{let{type:n}=e;if(n==="null")return[];if(Array.isArray(n)){let t=n.filter((r)=>r!=="null");return t.length===0?[]:[{...e,type:t}]}return[e]})),$t=(o)=>{let e=N(o);if(e?.has("string")===!0)return'""';if(e?.has("number")===!0||e?.has("integer")===!0)return"0";if(e?.has("boolean")===!0)return"false";return},qt=(o)=>{let e=pe(o,"array").every((t)=>J(t.minItems)&&t.minItems>=1),n=he(o);return e||N(n)?.has("null")===!0?n:{anyOf:[n,{type:"null"}]}},Ke=(o,e)=>{if(e===void 0||N(e)===void 0||N(o)===void 0)return{status:"unknown"};if(K(e,o))return{status:"compatible"};let n=$t(e),t=(l,d)=>{if(K(e,l))return d;return n!==void 0&&K(e,jt(l))?[...d,`coalesce(${n})`]:void 0},r=t(o,[]),i=N(o),s=r===void 0&&i?.has("array")===!0?t(qt(o),["first"]):void 0,a=r??s;return a===void 0||a.length===0?{status:"incompatible"}:{pipes:a.map((l)=>`| ${l}`).join(" "),status:"fixable"}},zo=4,Mt=(o)=>{let e=pe(o,"object").flatMap((t)=>Object.keys(H(t.properties)??{}));if(e.length===0)return"object";return`{${e.slice(0,zo).join(", ")}${e.length>zo?", …":""}}`},Ue=(o)=>{let e=N(o);if(e===void 0)return"any";return["string","integer","number","boolean","object","array","null"].filter((t)=>e.has(t)).map((t)=>{if(t==="array"){let r=he(o),i=N(r);return`array of ${i?.size===1&&i.has("object")?Mt(r):Ue(r)}`}return t}).join(" | ")};var We=b(()=>{Nt=new Set(["array","boolean","integer","null","number","object","string"])});var hs=function(e){let n=e.mode==="fixed"?e.value:null;return{expression:e.mode==="expression"?e.source:"",fixed:n,mode:e.mode}},vs=function(e){return e.mode==="fixed"?{mode:"fixed",value:e.fixed}:{languageVersion:1,mode:"expression",source:e.expression}},Yo=function(e,n){return{availability:n.availability,id:n.id,label:n.label,path:n.path??[],schema:n.schema,sourceId:e}},Bt=(o,e)=>o.length===e.length&&o.every((n,t)=>n===e[t]),Lt=function(e,n,t){let r=t.path??[];if(r.length===0){e.children.push(Yo(n,t));return}let i=e;for(let[s,a]of r.entries()){let l=r.slice(0,s+1),d=i.children.findIndex((w)=>Bt(w.path,l)),c=i.children[d];if(s===r.length-1){if(!c)i.children.push(Yo(n,t));return}if(c&&"children"in c){i=c;continue}let x=c?{...c,children:[],conditional:c.availability==="conditional",selectors:[]}:{availability:t.availability,children:[],conditional:t.availability==="conditional",id:`${n}:${l.join(".")}`,label:String(a),path:l,schema:{},selectors:[],sourceId:n};if(c)i.children[d]=x;else i.children.push(x);i=x}},_t=function o(e){return e.flatMap((n)=>[n,...o(n.children??[])])},Ht=function(e){let n=e.availability??"guaranteed",t={availability:n,children:[],conditional:n==="conditional",id:e.id,label:e.label,path:[],schema:e.schema,selectors:(e.selectors??[]).map((r)=>r.kind),sourceId:e.id};if(e.nodeKey!==void 0&&e.nodeKey!==null)t.nodeKey=e.nodeKey;for(let r of _t(e.fields??[]))Lt(t,e.id,r);return t},Kt=function(e){return{compatibility:e.targetCompatibility??[],language:e.languageManifest,sources:(e.availableSources??[]).map(Ht)}},Ut=function(e){return{canonicalSource:e.canonicalSource??null,diagnostics:(e.diagnostics??[]).map((n)=>({actualSchema:n.actualSchema,code:n.code,expectedSchema:n.expectedSchema,message:n.message,remediation:n.remediation,severity:n.severity,span:n.span})),inferredSchema:e.inferredSchema,references:e.references??[]}},Ws=function(e,n){return K(n,e)},Zo=function(e,n,t){let r=Math.max(0,Math.min(n,e.length));return{cursor:r+t.length,source:`${e.slice(0,r)}${t}${e.slice(r)}`}};var Ce=b(()=>{We()});var zt=function(e){if(e.id==="trigger")return"trigger";if(e.id==="workflow_input")return"input";let[,n]=e.id.split(":port:");return`nodes[${JSON.stringify(e.nodeKey??e.label)}]${n?`.${n}`:""}`},Qt=function(e){return e.map((n)=>(()=>{if(J(n))return`[${n}]`;if(/^[A-Za-z_$][\w$]*$/u.test(n))return`.${n}`;return`[${JSON.stringify(n)}]`})()).join("")},Gt=function(e){if(e.id==="trigger")return{id:"trigger",label:"Trigger data"};if(e.id==="workflow_input")return{id:"workflow_input",label:"Workflow input"};return{id:e.id,label:e.label}},Yt=function o(e){let{source:n}=e;return e.nodes.flatMap((t)=>{let r=`${n.id}:${t.id}`,i=[...e.parentLabels,t.label],s="children"in t?t.children:[],a=`${zt(n)}${Qt(t.path)}`;return[{conditional:t.availability==="conditional",depth:e.depth,expandable:s.length>0,group:e.group,id:r,insertion:`{{ ${a} }}`,label:`${n.label} · ${i.join(".")}`,name:t.label,parentId:e.parentId,pathLabel:i.join("."),reference:a,schema:t.schema,selectors:n.selectors},...o({depth:e.depth+1,group:e.group,nodes:s,parentId:r,parentLabels:i,source:n})]})},Zt=function(e){let n=e.children.length?e.children:[{availability:e.availability,id:e.id,label:"Output",path:[],schema:e.schema,sourceId:e.id}];return Yt({depth:0,group:Gt(e),nodes:n,parentId:null,parentLabels:[],source:e})},ze=function(e){return e.sources.flatMap((n)=>Zt(n))},U=function(e){return Ue(e)};var Fe=b(()=>{We()});import{jsx as F,jsxs as en,Fragment as Xt}from"react/jsx-runtime";var V=({title:o,values:e})=>en("section",{"aria-label":o,children:[F("h3",{className:"font-medium",children:o}),e.length>0?F("ul",{className:"mt-1 list-disc pl-5 font-mono text-xs",children:e.map((n,t)=>F("li",{children:n},`${n}-${t}`))}):F("p",{className:"text-muted-foreground",children:"No entries in this language manifest."})]}),Xo=function(e){return e.map((n)=>n.example??n.name)},Qe=({manifest:o})=>en(Xt,{children:[F(V,{title:"Syntax overview",values:[o.grammar]}),F(V,{title:"Interpolation",values:[`Whole value preserves type: ${o.interpolation.wholeValuePreservesType}`,`Mixed text returns: ${o.interpolation.mixedTextReturns}`]}),F(V,{title:"References",values:[o.grammar]}),F(V,{title:"Selectors",values:o.selectors.map(({kind:e})=>e)}),F(V,{title:"Unavailable-value policies",values:o.availabilityPolicies}),F(V,{title:"Operators",values:o.operators}),F(V,{title:"Functions",values:Xo(o.functions)}),F(V,{title:"Casts and pipes",values:o.pipes}),F(V,{title:"Strings",values:o.pipes}),F(V,{title:"Collections",values:o.pipes}),F(V,{title:"Objects",values:o.pipes}),F(V,{title:"Dates",values:o.pipes}),F(V,{title:"If conditions",values:o.ifExamples}),F(V,{title:"Comparators",values:Xo(o.comparators)})]});var Ge=()=>{};var z;var on=b(()=>{z={applyPipes:(o)=>`Append ${o}`,expectedType:"Field expects",incompatibleType:"Incompatible type",insertWithPipes:"Insert with the pipes that make this value fit the field",validationFailed:(o)=>`We couldn't validate this expression: ${o}`,validationUnavailable:"We couldn't validate this expression right now. Check its syntax and referenced values, then try again."}});import{ChevronRight as er}from"@collective-intelligence/ui-react/icons";import{Badge as or,Button as G,Input as nn,Popover as nr,PopoverAnchor as tr,PopoverContent as rr,Textarea as ir}from"@collective-intelligence/ui-react/ui";import{Fragment as sr,useEffect as ar,useRef as lr,useState as Q}from"react";import{jsx as y,jsxs as S}from"react/jsx-runtime";var tn=(o)=>o!==null&&W(o)&&!Array.isArray(o),A=(o)=>o!==null&&o!==void 0&&o!=="",dr=function o(e){if(u(e))return e;if(Array.isArray(e)){let n=e.map(o).filter((t)=>A(t));return n.length?n.join("; "):void 0}if(!tn(e))return;if(u(e.msg))return e.msg;if(u(e.message))return e.message;if(u(e.detail))return e.detail;return},cr=function(e){if(e instanceof Error&&A(e.message))return e.message;if(!P(e))return;if(!tn(e))return;return[e.detail,e.body,e.error,e.message].map(dr).find((n)=>A(n))},pr=function(e){let n=cr(e);return A(n)?z.validationFailed(n):z.validationUnavailable},rn,ur,sn=function(e,n){return ur.flatMap((t)=>e.filter((r)=>n(r)===t))},fr=function(e){let n=new Map;for(let i of e){let s=n.get(i.option.parentId)??[];s.push(i),n.set(i.option.parentId,s)}let t=new Map,r=(i)=>{let s=t.get(i.option.id);if(s!==void 0)return s;let a=Math.min(rn[i.compatibility.status],...(n.get(i.option.id)??[]).map(r));return t.set(i.option.id,a),a};for(let[i,s]of n)n.set(i,sn(s,r));return n},an=({entry:o,expanded:e,onInsert:n,onToggle:t})=>{let{compatibility:r,option:i}=o,s=t===void 0,a=r.status==="incompatible";return S("div",{className:"mt-1 flex items-start gap-1",style:{paddingInlineStart:s?0:`${i.depth*1.25}rem`},children:[!s&&i.expandable?y(G,{"aria-expanded":e,"aria-label":`${e?"Collapse":"Expand"} ${i.label}`,className:"mt-1 size-7 shrink-0",onClick:t,size:"icon",type:"button",variant:"ghost",children:y(er,{"aria-hidden":!0,className:e?"size-4 rotate-90":"size-4"})}):y("span",{"aria-hidden":!0,className:"size-7 shrink-0"}),S(G,{"aria-label":`Insert ${i.label}`,className:`block h-auto min-w-0 flex-1 whitespace-normal px-2 py-1.5 text-left ${a?"opacity-60":""}`,onClick:()=>{n(i.insertion)},type:"button",variant:"ghost",children:[y("span",{className:"block text-sm",children:s?i.pathLabel:i.name}),S("span",{className:"flex flex-wrap items-center gap-1.5 font-mono text-xs text-muted-foreground",children:[U(i.schema),a?y(or,{className:"font-sans",variant:"outline",children:z.incompatibleType}):null]})]}),r.status==="fixable"?y(G,{"aria-label":`Insert ${i.label} with ${r.pipes}`,className:"mt-1 h-auto shrink-0 px-1.5 py-0.5 font-mono text-xs",onClick:()=>{n(`{{ ${i.reference} ${r.pipes} }}`)},size:"sm",title:z.insertWithPipes,type:"button",variant:"outline",children:r.pipes}):null]})},ln=({tree:o,expanded:e,onInsert:n,onToggle:t,parentId:r})=>(o.get(r)??[]).map((i)=>{let s=e.has(i.option.id);return S(sr,{children:[y(an,{entry:i,expanded:s,onInsert:n,onToggle:()=>{t(i.option.id)}}),s?y(ln,{expanded:e,onInsert:n,onToggle:t,parentId:i.option.id,tree:o}):null]},i.option.id)}),mr=({environment:o,onInsert:e,onQueryChange:n,options:t,query:r,targetSchema:i})=>{let[s,a]=Q(new Set),l=new Map(t.map(({group:p})=>[p.id,p])),d=["trigger","workflow_input"],c=[...d.flatMap((p)=>l.get(p)??[]),...[...l.values()].filter(({id:p})=>!d.includes(p))],x=t.map((p)=>({compatibility:Ke(p.schema,i),option:p})),w=r.trim()!=="",f=x.filter(({option:p})=>[p.label,p.insertion,U(p.schema)].join(" ").toLowerCase().includes(r.trim().toLowerCase())),m=(p)=>{a((h)=>{let v=new Set(h);if(v.has(p))v.delete(p);else v.add(p);return v})};return S("div",{className:"grid h-96 max-h-[calc(100dvh-3rem)] grid-cols-[minmax(0,1fr)_14rem] overflow-hidden",children:[S("div",{className:"min-h-0 touch-pan-y overflow-y-auto overscroll-y-contain border-r p-2",onWheel:(p)=>{p.stopPropagation()},children:[y(nn,{"aria-label":"Search expression suggestions",onChange:(p)=>{n(p.target.value)},placeholder:"Search available values",value:r}),c.map((p)=>{let h=(w?f:x).filter(({option:v})=>v.group.id===p.id);if(h.length===0)return null;return S("section",{"aria-label":p.label,className:"mt-3",children:[y("h3",{className:"px-2 text-xs font-semibold text-muted-foreground",children:p.label}),w?sn(h,(v)=>rn[v.compatibility.status]).map((v)=>y(an,{entry:v,expanded:!1,onInsert:e},v.option.id)):y(ln,{expanded:s,onInsert:e,onToggle:m,parentId:null,tree:fr(h)})]},p.id)}),(w?f:x).length===0?y("p",{className:"p-3 text-sm text-muted-foreground",children:"No matching workflow sources."}):null]}),S("aside",{className:"space-y-3 p-3","aria-label":"Expression helper",children:[i===void 0?null:S("p",{className:"text-xs",children:[S("span",{className:"text-muted-foreground",children:[z.expectedType," "]}),y("span",{className:"font-mono",children:U(i)})]}),y("p",{className:"text-xs text-muted-foreground",children:"Select a typed source. Expand an object to pick one of its fields, or insert the whole object."}),y("h3",{className:"text-xs font-semibold",children:"Pipes"}),o.language.pipes.map((p)=>S(G,{className:"mr-1 mb-1 h-auto px-1.5 py-0.5 font-mono text-xs",onClick:()=>{e(` | ${p}`)},size:"sm",type:"button",variant:"outline",children:["| ",p]},p))]})]})},gr,xr=function(e,n){let t=gr.exec(e)?.groups?.body;return t===void 0||t.includes("{{")?void 0:`{{ ${t.trim()} ${n} }}`},yr=({diagnostic:o,onApplyFix:e,source:n,targetSchema:t})=>{let r=o.expectedSchema??t,i=o.code==="incompatible_expression_type"&&o.actualSchema!==null?Ke(o.actualSchema,r??void 0):void 0,s=i?.status==="fixable"?xr(n,i.pipes):void 0;return S("div",{className:"space-y-1 text-sm text-destructive",role:"alert",children:[S("p",{children:[o.message," (characters ",o.span.start,"–",o.span.end,")"]}),A(o.remediation)?y("p",{className:"text-xs text-muted-foreground",children:o.remediation}):null,i?.status==="fixable"&&s!==void 0&&e!==void 0?y(G,{className:"h-auto px-1.5 py-0.5 font-mono text-xs",onClick:()=>{e(s)},size:"sm",type:"button",variant:"outline",children:z.applyPipes(i.pipes)}):null]})},Ye=({describedBy:o,environment:e,inputLabel:n="Expression",source:t,onChange:r,validate:i,multiline:s=!1,readOnly:a=!1,targetSchema:l})=>{let d=lr(null),c=(g)=>{d.current=g},[x,w]=Q(t.length),[f,m]=Q(!1),[p,h]=Q("suggestions"),[v,Y]=Q(""),[De,Re]=Q(null),[B,Z]=Q(null),ie=i===void 0||t===""?null:De,C=i===void 0||t===""?null:B,O=[o,A(C)?"expression-validation":void 0].filter(Boolean).join(" ")||void 0;ar(()=>{let g=new AbortController;if(!i||t==="");else{let Ne=async()=>{try{let Ae=await i(t,g.signal);if(!g.signal.aborted)Re(Ae),Z(null)}catch(Ae){if(!g.signal.aborted)Z(pr(Ae))}},ee=window.setTimeout(()=>{Ne()},300);return()=>{g.abort(),window.clearTimeout(ee)}}return()=>{g.abort()}},[t,i]);let j=ze(e),X=(g)=>{let Ne=d.current?.selectionStart??x,ee=Zo(t,Ne,g);w(ee.cursor),r(ee.source),queueMicrotask(()=>{d.current?.focus(),d.current?.setSelectionRange(ee.cursor,ee.cursor)})};return S("div",{className:"space-y-2",children:[S(nr,{onOpenChange:(g)=>{if(m(g),!g)Y(""),h("suggestions")},open:f,children:[y(tr,{asChild:!0,children:y("div",{children:(()=>{if(s)return y(ir,{"aria-describedby":O,"aria-invalid":A(C)||(ie?.diagnostics.length??0)>0,"aria-label":n,className:"min-h-24 text-sm",disabled:a,onChange:(g)=>{r(g.target.value),w(g.currentTarget.selectionStart??t.length)},onFocus:()=>{m(!0)},onKeyDown:(g)=>{if(g.key==="Escape")m(!1)},onSelect:(g)=>{w(g.currentTarget.selectionStart??t.length)},placeholder:"Choose a source or start typing",ref:c,value:t});return y(nn,{"aria-describedby":O,"aria-invalid":A(C)||(ie?.diagnostics.length??0)>0,"aria-label":n,className:"text-sm",disabled:a,onChange:(g)=>{r(g.target.value),w(g.currentTarget.selectionStart??t.length)},onFocus:()=>{m(!0)},onKeyDown:(g)=>{if(g.key==="Escape")m(!1)},onSelect:(g)=>{w(g.currentTarget.selectionStart??t.length)},placeholder:"Choose a source or start typing",ref:c,value:t})})()})}),S(rr,{align:"start",className:"w-[min(48rem,calc(100vw-3rem))] p-0",onOpenAutoFocus:(g)=>{g.preventDefault()},children:[S("div",{className:"flex border-b p-1",role:"tablist",children:[y(G,{"aria-selected":p==="suggestions",onClick:()=>{h("suggestions")},role:"tab",size:"sm",type:"button",variant:p==="suggestions"?"secondary":"ghost",children:"Suggestions"}),y(G,{"aria-selected":p==="syntax",onClick:()=>{h("syntax")},role:"tab",size:"sm",type:"button",variant:p==="syntax"?"secondary":"ghost",children:"Syntax reference"})]}),p==="suggestions"?y(mr,{environment:e,onInsert:X,onQueryChange:Y,options:j,query:v,targetSchema:l}):y("div",{className:"max-h-96 touch-pan-y overflow-y-auto overscroll-y-contain p-4 text-sm",onWheel:(g)=>{g.stopPropagation()},children:y(Qe,{manifest:e.language})})]})]}),A(C)?y("p",{id:"expression-validation",role:"alert",children:C}):null,ie?.diagnostics.map((g)=>y(yr,{diagnostic:g,onApplyFix:a?void 0:r,source:t,targetSchema:l},`${g.code}-${g.span.start}`))]})};var dn=b(()=>{Ce();We();Fe();Ge();on();rn={compatible:0,fixable:1,incompatible:3,unknown:2},ur=[0,1,2,3],gr=/^\s*\{\{(?<body>[\s\S]*?)\}\}\s*$/u});var Se=b(()=>{dn();Ge();Fe()});var I;var cn=b(()=>{I={expression:"Expression",expressionHelp:"Calculates a value from the data available when this step runs.",fixed:"Fixed",fixedHelp:"Uses the saved value as written.",modesHelp:"Fixed uses the saved value as written. Expression calculates a value from the data available when the step runs."}});import{Alert as br,AlertDescription as kr,Label as wr,ToggleGroup as hr,ToggleGroupItem as pn}from"@collective-intelligence/ui-react/ui";import{useId as vr,useState as un}from"react";import{jsx as E,jsxs as Ee}from"react/jsx-runtime";var Wr,fn=function(e){return e.mode==="expression"?{expression:e.source,fixed:null,mode:"expression"}:{expression:"",fixed:e.value,mode:"fixed"}},Cr=({mode:o})=>E("span",{className:"shrink-0 text-xs text-muted-foreground",title:o==="expression"?I.expressionHelp:I.fixedHelp,children:o==="expression"?I.expression:I.fixed}),ue=({allowExpression:o=!1,allowFixed:e=!0,controlId:n,diagnostics:t=Wr,expressionEditor:r,expressionMultiline:i=!1,help:s,label:a,onValueChange:l,readOnly:d=!1,renderExpression:c,renderFixed:x,required:w=!1,sensitive:f=!1,value:m})=>{let p=vr(),[h,v]=un(()=>fn(m)),Y=JSON.stringify(m),[De,Re]=un(Y),B=n===void 0?void 0:`${n}-label`;if(Y!==De)Re(Y),v(fn(m));let Z=(()=>{if(o&&!e)return"expression";if(e&&!o)return"fixed";return h.mode})(),ie=d;return Ee("section",{className:"space-y-2",children:[Ee("div",{className:"flex items-center justify-between gap-3",children:[E("div",{className:"min-w-0",children:Ee("div",{className:"flex items-center gap-1",children:[E(wr,{htmlFor:n,id:B,children:a}),w?E("span",{"aria-label":"Required",children:"*"}):null,f?E("span",{className:"ml-1 text-xs text-muted-foreground",children:"Sensitive"}):null]})}),o&&d?E(Cr,{mode:Z}):null,o&&e&&!d?E("div",{"aria-label":`${a} mode controls`,className:"flex shrink-0 items-center gap-1",children:Ee(hr,{"aria-label":`${a} mode`,className:"gap-0",disabled:ie,onValueChange:(C)=>{if(C==="fixed"||C==="expression")v((O)=>({...O,mode:C}))},size:"sm",type:"single",value:Z,variant:"outline",children:[E(pn,{className:"h-7 px-4 text-xs",title:I.fixedHelp,value:"fixed",children:I.fixed}),E(pn,{className:"h-7 px-4 text-xs",title:I.expressionHelp,value:"expression",children:I.expression})]})}):null]}),s!==void 0&&s!==""?E("p",{id:p,className:"text-xs leading-relaxed text-muted-foreground",children:s}):null,(()=>{if(Z==="expression"){if(r?.environment){let j=r.validate===void 0?{}:{validate:r.validate};return E(Ye,{...s?{describedBy:p}:{},environment:r.environment,multiline:i,onChange:(X)=>{v((g)=>({...g,expression:X})),l({languageVersion:1,mode:"expression",source:X})},readOnly:d,source:h.expression,targetSchema:r.targetSchema,...j})}if(r?.loading===!0)return E("output",{children:"Loading expression editor…"});if(r?.error!==void 0&&r.error!=="")return E("p",{role:"alert",children:r.error});let O={disabled:d,onChange:(j)=>{v((X)=>({...X,expression:j})),l({languageVersion:1,mode:"expression",source:j})},value:h.expression};if(s)O.describedBy=p;if(n!==void 0)O.controlId=`${n}-expression`;if(B!==void 0)O.labelledBy=B;return c?.(O)}let C={disabled:d,onChange:(O)=>{v((j)=>({...j,fixed:O})),l({mode:"fixed",value:O})},value:h.fixed};if(s)C.describedBy=p;if(n!==void 0)C.controlId=n;if(B!==void 0)C.labelledBy=B;return x(C)})(),t.map((C)=>E(br,{variant:"destructive",children:E(kr,{children:C.message})},`${C.code}:${C.message}`))]})};var Ze=b(()=>{Se();cn();Wr=[]});var Xe=b(()=>{Ze()});var eo;var mn=b(()=>{eo={inputBindingsDescription:"Map workflow input field names to literal or dynamic expressions.",inputBindingsTitle:"Input adapter bindings"}});var fe=function(e){return T(e)?e:{}},oo=function(e){return fe(e)},Fr=function(e,n,t){let r=e.anyOf;if(!Array.isArray(r))return;let i=r.filter((d)=>fe(d).type!=="null");if(i.length!==1||i.length===r.length)return;let s=oo(t(i[0],n)),{type:a}=s,l={...s,...Object.fromEntries(Object.entries(e).filter(([d])=>d!=="anyOf"&&d!=="$defs"))};if(u(a))l.type=[a,"null"];return l},Sr=function(e){let n=fe(e.$defs),t=(r,i=new Set)=>{if(Array.isArray(r))return r.map((c)=>t(c,i));if(!T(r))return r;let s=fe(r),a=s.$ref,l=u(a)?a:void 0;if(l!==void 0&&l.startsWith("#/$defs/")){let c=l.slice(8),x=n[c];if(x!==void 0&&!i.has(c))return t(x,new Set(i).add(c))}let d=Fr(s,i,t);if(d)return d;return Object.fromEntries(Object.entries(s).filter(([c])=>c!=="$defs").map(([c,x])=>[c,t(x,i)]))};return oo(t(e))},Er=function(e){let{type:n}=e;return n==="null"||Array.isArray(n)&&n.includes("null")},Vr=function(e){let{type:n}=e;if(u(n))return n==="null"?e:{...e,type:[n,"null"]};if(Array.isArray(n))return n.includes("null")?e:{...e,type:[...n,"null"]};return e},Tr=function o(e,n=[],t=!1){return Object.entries(fe(e.properties)).map(([r,i])=>{let s=oo(i),a=t?Vr(s):s,l=[...n,r],d=o(s,l,t||Er(s)),c={availability:"guaranteed",id:`trigger:${l.join(".")}`,label:r,path:l,schema:a,sourceId:"trigger"};return d.length?{...c,children:d,conditional:!1,selectors:[]}:c})},gn=function(e){let{triggerInput:n}=e;if(!n)return;let t=Sr(n.schema);return{compatibility:[],language:n.languageManifest,sources:[{availability:"guaranteed",children:Tr(t),conditional:!1,id:"trigger",label:"Trigger data",path:[],schema:t,selectors:[],sourceId:"trigger"}]}};var xn=()=>{};import{Input as Or,Label as Jr}from"@collective-intelligence/ui-react/ui";import{jsx as ge,jsxs as yn}from"react/jsx-runtime";var Pr=(o)=>{if(o===null||o===void 0||u(o)||J(o)||se(o))return String(o??"");return JSON.stringify(o)??""},me=function(e){return T(e)?e:{}},Dr=function(e,n){return e?.length===n.length&&e.every((t,r)=>t===n[r])},Rr=function(e,n){if(n==="number"||n==="integer"){let t=Number(e);return Number.isFinite(t)?t:e}if(n==="boolean")return e==="true";return e},Nr=function(e){if(!T(e))return{mode:"fixed",value:e??null};if(e.mode==="expression"&&u(e.source))return{languageVersion:1,mode:"expression",source:e.source};if(e.mode==="fixed"&&P(e.value))return{mode:"fixed",value:e.value};return{mode:"fixed",value:e}},bn=({context:o})=>{let e=me(o.workflowContracts?.inputContract.jsonSchema.properties),n=o.trigger?.inputBindings??{},t=gn(o.template.contract);return yn("div",{className:"space-y-5",children:[ge(_,{context:o}),yn("section",{className:"space-y-2 rounded-xl border border-border p-4",children:[ge(Jr,{htmlFor:"workflow-trigger-input-bindings",children:eo.inputBindingsTitle}),ge("p",{className:"text-xs text-muted-foreground",children:eo.inputBindingsDescription}),Object.entries(e).map(([r,i])=>{let s=me(n[r]),a=Nr(s?.value),l=o.triggerInputExpressionValidator?.(r),d=t===void 0?void 0:{environment:t,targetSchema:me(i)};if(d!==void 0&&l!==void 0)d.validate=l;return ge(ue,{allowExpression:!0,...d===void 0?{}:{expressionEditor:d},diagnostics:o.diagnostics.filter((c)=>Dr(c.path,["inputBindings",r])),label:`${r} (${U(me(i))})`,readOnly:o.readOnly,value:a,onValueChange:(c)=>o.commands.updateTriggerConfiguration?.({inputBindings:{...n,[r]:{overridePolicy:"locked",value:c}}}),renderFixed:({value:c,onChange:x})=>ge(Or,{value:Pr(c),onChange:(w)=>{x(Rr(w.target.value,me(i)?.type))}})},r)})]})]})};var kn=b(()=>{Se();Xe();we();mn();xn()});var Vn={};_n(Vn,{renderDefaultActionChart:()=>wn,renderDefaultActionDetails:()=>hn,renderDefaultInputChart:()=>Cn,renderDefaultInputDetails:()=>Fn,renderDefaultOutputChart:()=>Sn,renderDefaultOutputDetails:()=>En,renderDefaultTriggerChart:()=>vn,renderDefaultTriggerDetails:()=>Wn});import{jsx as q}from"react/jsx-runtime";var wn=(o)=>q(oe,{context:o,accent:"slate"}),hn=(o)=>q(_,{context:o}),vn=(o)=>q(oe,{context:o,accent:"violet"}),Wn=(o)=>q(bn,{context:o}),Cn=(o)=>q(oe,{context:o,accent:"sky"}),Fn=(o)=>q(_,{context:o}),Sn=(o)=>q(oe,{context:o,accent:"emerald"}),En=(o)=>q(_,{context:o});var no=b(()=>{je();we();kn()});import{declareFrontendComponent as Ar}from"@collective-intelligence/extensions-sdk-frontend";var to=(o)=>({exportName:o,load:()=>Promise.resolve().then(() => (no(),Vn)),module:import.meta.url}),Ve=(o,e,n)=>Ar({implementation:{chart:to(e),details:to(n),render:to(n)},metadata:{kind:o,mode:"default"},target:{fqn:`builtin.core.workflows.nodes.${o.replace(/_node$/u,"")}`,packageFqn:"builtin.core",role:"workflow_template_default",version:"1.0.0"}}),ro;var io=b(()=>{ro=[Ve("action_node","renderDefaultActionChart","renderDefaultActionDetails"),Ve("trigger_node","renderDefaultTriggerChart","renderDefaultTriggerDetails"),Ve("input_node","renderDefaultInputChart","renderDefaultInputDetails"),Ve("output_node","renderDefaultOutputChart","renderDefaultOutputDetails")]});import{WorkflowTemplateKinds as Ir}from"@collective-intelligence/extensions-sdk";var xe=(o)=>Ir.find((e)=>e===o);var so=()=>{};import{createFrontendCatalog as jr,declareFrontendPackage as $r}from"@collective-intelligence/extensions-sdk-frontend";var co,Te,po=(o)=>{let{declaration:{metadata:e}}=o;if(!T(e))return{};let n=u(e.kind)?xe(e.kind):void 0,t;if(u(e.mode)){if(e.mode==="default")t="default";else if(e.mode==="override")t="override"}let r={};if(u(e.fqn))r.fqn=e.fqn;if(se(e.handlesDiagnostics))r.handlesDiagnostics=e.handlesDiagnostics;if(n!==void 0)r.kind=n;if(t!==void 0)r.mode=t;if(u(e.widget))r.widget=e.widget;return r},Oe=(o)=>{let e=o?.trim().toLowerCase();return e===void 0||e===""?void 0:e},Tn=()=>co.snapshot().entries,On=(o,e,n)=>{let t=Oe(o),r=Oe(e);if(t===void 0||r===void 0)return;return Tn().find((i)=>i.target.toLowerCase()===t&&i.version.toLowerCase()===r&&i.role===n)},ao=(o,e,n)=>{let t=Oe(e);return Tn().find((r)=>{let i=po(r);return Oe(i[o])===t&&r.role===n})},Jn=(o)=>{Te=[...Te.filter((t)=>!o.some((r)=>r.manifest.fqn===t.manifest.fqn)),...o];let n=co.activate(Te);if(n.kind==="invalid")throw Error(n.errors.map((t)=>t.message).join("; "));if(n.kind!=="activated")throw Error(`Workflow catalog activation became stale (${n.reason}).`)},lo,qr=()=>{if(Te.some((o)=>o.manifest.fqn===lo.manifest.fqn))return;Jn([lo])},Mr=()=>co.snapshot(),de=(o)=>{let e=u(o)?{widget:o}:o,n=e.fqn??void 0,t=e.version??void 0,r=On(n,t,"workflow_field");if(r!==void 0)return{entry:r,kind:"resolved",source:"exact"};if(n!==void 0&&t!==void 0){let a=ao("widget",e.widget??"","workflow_field_fallback");if(a!==void 0&&n.toLowerCase().startsWith("builtin."))return{entry:a,kind:"resolved",source:"fallback"};let l={fqn:n,kind:"unavailable"};if(e.widget!==void 0)l.widget=e.widget;return l}let i=ao("widget",e.widget??"","workflow_field_fallback");if(i!==void 0)return{entry:i,kind:"resolved",source:"fallback"};let s={kind:"unavailable"};if(e.fqn!==void 0&&e.fqn!==null)s.fqn=e.fqn;if(e.widget!==void 0)s.widget=e.widget;return s},uo=(o)=>{let e=xe(o.kind);if(e===void 0)return{fqn:o.fqn,kind:"unavailable",templateKind:o.kind};let n=On(o.fqn,o.version??"1.0.0","workflow_template_override");if(n!==void 0&&po(n).kind===e)return{entry:n,kind:"resolved",source:"override"};let t=ao("kind",e,"workflow_template_default");if(t!==void 0)return{entry:t,kind:"resolved",source:"default"};return{fqn:o.fqn,kind:"unavailable",templateKind:o.kind}},Mo;var ce=b(()=>{io();so();so();co=jr(),Te=[],lo=$r({components:ro,manifest:{fqn:"builtin.core",name:"Dashboard Workflow UI",version:"1.0.0"}}),Mo=po});ce();ke();ce();qe();import{jsx as Pn}from"react/jsx-runtime";var Br=({context:o})=>{let e=de(o.field);if(e.kind==="resolved"&&e.entry.declaration.implementation.configuration!==void 0)return Pn(ne,{componentProps:o,declaration:e.entry.declaration,implementationRole:"configuration",load:()=>te(e.entry.declaration,"configuration")});return Pn("div",{className:"rounded-md border border-dashed border-border p-2 text-xs text-muted-foreground",children:L.unavailableConfiguration(o.field.label)})};_e();Ce();Xe();Ze();import{Textarea as Lr}from"@collective-intelligence/ui-react/ui";import{jsx as Dn}from"react/jsx-runtime";import{createElement as Hr}from"react";var Aa=({help:o,label:e,onValueChange:n,expressionEditor:t,readOnly:r,renderFixed:i,resetKey:s,slotId:a,value:l})=>Dn("div",{"data-expression-slot":a,children:Hr(ue,{allowExpression:!0,...o===void 0?{}:{help:o},...t===void 0?{}:{expressionEditor:t},key:`${a}:${s??"current"}`,label:e,onValueChange:n,...r===void 0?{}:{readOnly:r},renderExpression:({describedBy:d,disabled:c,onChange:x,value:w})=>Dn(Lr,{"aria-describedby":d,"aria-label":`${e} expression`,disabled:c,onChange:(f)=>{x(f.target.value)},placeholder:"{{ input.value }}",value:w}),renderFixed:i,value:l})}),_r=function(e){if(!T(e))return!1;if(e.mode==="fixed")return P(e.value);return e.mode==="expression"&&J(e.languageVersion)&&e.languageVersion===1&&u(e.source)},Ia=function(e){if(_r(e))return e;return{mode:"fixed",value:e}};var fo=function(e,n){let t=[...e];for(let r=0;r<t.length;r+=1)for(let i=r+1;i<t.length;i+=1){let s=t[r],a=t[i];if(s!==void 0&&a!==void 0&&n(s,a)>0)t[r]=a,t[i]=s}return t};var Nn=function(e){return W(e)&&!Array.isArray(e)},Kr=function o(e){return e.flatMap((n)=>[...n.templates??[],...o(n.children??[])])},mo=function(e){return e.kind==="field_collection"&&"collection"in e.contract},go=function(e){return`${e.fqn}@${e.version}`},Rn=function(e){return e.kind==="literal"?e.text:e.default},Ur=function(e){return e.kind==="field"&&"field"in e.contract},zr=function(e,n){if(!e.enabled||e.state!=="available")return!1;return n==="input"?e.contract.field.availableForInput!==!1:e.contract.field.availableForOutput!==!1},Qr=function(e,n){let t=e.find((r)=>mo(r)&&go(r.contract.collection)===n);return t&&mo(t)?t.contract.collection.weight??0:0},Je=function(e){return e!==void 0&&Nn(e)?e:{}},_a=function(e,n){let t=Kr(e?.categories??[]),r=new Map;for(let s of t){if(!mo(s))continue;r.set(go(s.contract.collection),Rn(s.label))}let i=new Map;for(let s of t){if(!Ur(s)||!zr(s,n))continue;let a=s.contract.field,l=go({fqn:a.collectionFqn,version:a.collectionVersion}),d=i.get(l)??{fields:[],key:l,label:r.get(l)??a.collectionFqn,weight:Qr(t,l)};d.fields.push({catalogTemplateId:s.id,collectionKey:l,configSchema:Je(a.configSchema),fqn:a.fqn,label:Rn(s.label),schema:Je(a.valueSchema),version:a.version}),i.set(l,d)}return fo([...i.values()].map((s)=>({...s,fields:fo(s.fields,(a,l)=>a.label.localeCompare(l.label)||a.fqn.localeCompare(l.fqn))})),(s,a)=>s.weight-a.weight||s.label.localeCompare(a.label)||s.key.localeCompare(a.key))},Ha=function(e){return{key:e.key,label:e.label,options:e.fields.map((n)=>({fqn:n.fqn,label:n.label,searchTerms:[n.fqn],version:n.version}))}},Gr=function(e){let n=Je(e.$defs),t=(r,i=new Set)=>{if(Array.isArray(r))return r.map((d)=>t(d,i));if(r===null||!Nn(r))return r;let s=r,a=s.$ref,l=u(a)?a:void 0;if(l!==void 0&&l.startsWith("#/$defs/")){let d=l.slice(8),c=n[d];if(c!==void 0&&c!==null&&!i.has(d))return t(c,new Set(i).add(d))}return Object.fromEntries(Object.entries(s).filter(([d])=>d!=="$defs").map(([d,c])=>[d,t(c,i)]))};return Je(t(e))},Ka=function(e,n){let{title:t,...r}=Gr(n.schema),i={...r};if(u(e.title))i.title=e.title;return i};import{useDebouncedCallback as Yr}from"@collective-intelligence/ui-react/hooks";import{Check as Zr,ChevronsUpDown as Xr}from"@collective-intelligence/ui-react/icons";import{Button as ei,Command as oi,CommandGroup as ni,CommandInput as ti,CommandItem as ri,CommandList as ii,Popover as si,PopoverContent as ai,PopoverTrigger as li}from"@collective-intelligence/ui-react/ui";import{useMemo as di,useState as xo}from"react";import{jsx as M,jsxs as ye}from"react/jsx-runtime";var ci=250,yo=function(e){return`${e.fqn}@${e.version}`},pi=function(e,n){let t=n.trim().toLocaleLowerCase();if(!t)return e;return e.flatMap((r)=>{let i=r.options.filter((s)=>[s.label,s.fqn,...s.searchTerms??[]].join(" ").toLocaleLowerCase().includes(t));return i.length?[{...r,options:i}]:[]})},Za=({collections:o,value:e,onChange:n,ariaLabel:t="Field type"})=>{let[r,i]=xo(!1),[s,a]=xo(""),[l,d]=xo(""),c=Yr(d,ci),x=o.flatMap((m)=>m.options).find((m)=>yo(m)===e),w=di(()=>pi(o,l),[o,l]),f=w.some((m)=>m.options.length>0);return ye(si,{modal:!0,open:r,onOpenChange:(m)=>{if(i(m),!m)c.cancel(),a(""),d("")},children:[M(li,{asChild:!0,children:ye(ei,{type:"button",variant:"outline","aria-label":t,"aria-expanded":r,className:"mt-1 w-full justify-between font-normal",children:[M("span",{className:"truncate",children:x?.label??"Select a field type"}),M(Xr,{className:"ml-2 size-4 shrink-0 opacity-50"})]})}),M(ai,{align:"start",className:"w-[var(--radix-popover-trigger-width)] p-0",children:ye(oi,{shouldFilter:!1,children:[M(ti,{placeholder:"Search field types...",value:s,onValueChange:(m)=>{a(m),c(m)}}),ye(ii,{children:[f?null:M("p",{className:"py-6 text-center text-sm",children:"No field type found."}),w.map((m)=>M(ni,{heading:m.label,children:m.options.map((p)=>{let h=yo(p);return ye(ri,{value:yo(p),onSelect:()=>{n(p),i(!1)},children:[M(Zr,{className:e===h?"mr-2 size-4 opacity-100":"mr-2 size-4 opacity-0"}),p.label]},h)})},m.key))]})]})})]})};je();we();io();no();ke();ce();import{jsx as An,jsxs as fi}from"react/jsx-runtime";var ui=({context:o})=>{let e=uo(o.template);if(e.kind==="resolved")return An(ne,{componentProps:o,declaration:e.entry.declaration,implementationRole:"details",load:()=>te(e.entry.declaration,"details")});return fi("div",{className:"rounded-xl border border-dashed border-border p-4 text-sm text-muted-foreground",children:["No dashboard editor is available for template kind"," ",An("code",{children:e.templateKind}),". The workflow draft has not been changed."]})};var bo=(o)=>o!==void 0&&o!==null&&W(o)&&!Array.isArray(o),In=function(e,n){return Object.fromEntries(Object.entries(e).filter(([t])=>t!==n))},jn=function(e){if(e==="input_binding")return"inputs";if(e==="setting")return"settings";if(e==="metadata")return"metadata";return"config"},re=function(e){return bo(e)?e:void 0},ko=function(e){let n=re(e);if(n===void 0||!("value"in n))return e;return n.mode==="fixed"||n.kind==="literal"?n.value:e},Pe=function(e,n){let t=e[jn(n.target)];for(let r of n.path){let i=re(ko(t));if(i===void 0)return;t=i[r]}return ko(t)},mi=function(e,n){return Pe(e,n.binding)},gi=function o(e,n,t){let[r,...i]=n;if(r===void 0)return e??{};let s=e??{};if(!i.length)return{...s,[r]:t};let a=re(s[r]),l=re(ko(a));if(a?.mode==="fixed")return{...s,[r]:{...a,value:o(l,i,t)}};return{...s,[r]:o(l,i,t)}},wo=function(e,n){return[e==="input_binding"?"inputBinding":e,...n].map((t)=>encodeURIComponent(String(t))).join("/")},xi=function(e,n,t){let r={...re(e?.fieldDisplayValues)},i=wo(n.binding.target,n.binding.path);if(t)r[i]=t;else return{...e,fieldDisplayValues:In(r,i)};return{...e,fieldDisplayValues:r}},yi=function(e,n,t,r){let i=jn(n.binding.target),s={[i]:gi(e[i],n.binding.path,t)};if(r!==void 0)s.metadata=xi(i==="metadata"?s.metadata:e.metadata,n,r);return s},$n=function(e,n,t){let r=e.metadata?.fieldDisplayValues;if(r===void 0||r===null||!bo(r))return;let i=r[wo(n.binding.target,t)];if(i===void 0||i===null||!bo(i))return;return u(i.label)&&"value"in i?{label:i.label,value:i.value}:void 0},bi=function(e,n){return $n(e,n,n.binding.path)},ki=function(e,n,t){return $n(e,n,[...n.binding.path,...t])},wi=function(e,n,t,r){let i={...re(e?.fieldDisplayValues)},s=wo(n,t);if(r)i[s]=r;else return{...e,fieldDisplayValues:In(i,s)};return{...e,fieldDisplayValues:i}},hi=function(e,n,t,r){return{metadata:wi(e.metadata,n.binding.target,[...n.binding.path,...t],r)}};var ho=function o(e,n){if(Array.isArray(e)||Array.isArray(n))return Array.isArray(e)&&Array.isArray(n)&&e.length===n.length&&e.every((t,r)=>o(t,n[r]));if(e!==null&&n!==null&&e!==void 0&&n!==void 0&&W(e)&&W(n)){let t=Object.keys(e);return t.length===Object.keys(n).length&&t.every((r)=>o(e[r],n[r]))}return e===n},qn=function(e){return e!==void 0&&e!==null&&e!==""},vi=function(e,n){if(!Array.isArray(n)||e===void 0)return!1;return(Array.isArray(e)?e:[e]).some((r)=>n.some((i)=>ho(r,i)))},Wi=function(e,n){return(e.visibleWhen??[]).every((t)=>{let r=Pe(n,t.binding);switch(t.operator){case"equals":return ho(r,t.value);case"not_equals":return!ho(r,t.value);case"is_set":return qn(r);case"is_not_set":return!qn(r);case"in":return vi(r,t.value);default:return!1}})};var Ci=function(e){if(!e)return"";return e.kind==="literal"?e.text:e.default};Ce();Se();Fe();$e();export{oe as CatalogNodeChartBlock,_ as CatalogNodeDetailsEditor,Ye as ExpressionEditor,Aa as ExpressionSlot,Qe as ExpressionSyntaxReference,Za as FieldTypeSelect,Br as WorkflowFieldConfigurationResolver,ue as WorkflowFieldFrame,Le as WorkflowFieldResolver,ui as WorkflowTemplateDetails,qr as activateDashboardWorkflowCatalog,Jn as activateWorkflowCatalog,Ia as asExpressionSlotValue,Ci as catalogText,Ui as configureWorkflowFieldOptionsProvider,hs as createExpressionDraft,lo as dashboardWorkflowPackage,ro as defaultWorkflowTemplateDeclarations,ze as expressionSourceOptions,_a as fieldCollectionsFromCatalog,yo as fieldTypeIdentity,Zo as insertExpressionAtCursor,se as isBoolean,Hn as isFunction,P as isJsonValue,J as isNumber,W as isObject,T as isRecord,Ws as isSchemaCompatible,u as isString,Si as isUndefined,Wi as isWorkflowFieldVisible,Kt as normalizeExpressionEnvironment,Ut as normalizeExpressionValidation,xe as parseWorkflowTemplateKind,hi as patchWorkflowFieldPartDisplayValue,yi as patchWorkflowFieldValue,Pe as readWorkflowBindingValue,bi as readWorkflowFieldDisplayValue,ki as readWorkflowFieldPartDisplayValue,mi as readWorkflowFieldValue,wn as renderDefaultActionChart,hn as renderDefaultActionDetails,Cn as renderDefaultInputChart,Fn as renderDefaultInputDetails,Sn as renderDefaultOutputChart,En as renderDefaultOutputDetails,vn as renderDefaultTriggerChart,Wn as renderDefaultTriggerDetails,de as resolveWorkflowField,uo as resolveWorkflowTemplate,Ka as schemaForWorkflowField,U as schemaLabel,vs as serializeExpressionDraft,Ei as toDisplayString,Ha as toFieldTypeCollection,Mr as workflowCatalogSnapshot,le as workflowFieldOptions,zi as workflowFieldOptionsInfinite};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@collective-intelligence/extensions-sdk-frontend-react",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.11",
|
|
4
4
|
"description": "Public hosted React contribution contracts for Collective Intelligence extensions.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -70,11 +70,11 @@
|
|
|
70
70
|
"type-check": "bun check"
|
|
71
71
|
},
|
|
72
72
|
"dependencies": {
|
|
73
|
-
"@collective-intelligence/extensions-sdk": "0.1.
|
|
74
|
-
"@collective-intelligence/extensions-sdk-frontend": "0.1.
|
|
73
|
+
"@collective-intelligence/extensions-sdk": "0.1.11",
|
|
74
|
+
"@collective-intelligence/extensions-sdk-frontend": "0.1.11"
|
|
75
75
|
},
|
|
76
76
|
"peerDependencies": {
|
|
77
|
-
"@collective-intelligence/ui-react": "0.1.
|
|
77
|
+
"@collective-intelligence/ui-react": "0.1.11",
|
|
78
78
|
"@tanstack/react-query": ">=5 <6",
|
|
79
79
|
"@xyflow/react": ">=12 <13",
|
|
80
80
|
"react": ">=18 <20",
|
|
@@ -89,7 +89,7 @@
|
|
|
89
89
|
"access": "public"
|
|
90
90
|
},
|
|
91
91
|
"devDependencies": {
|
|
92
|
-
"@collective-intelligence/ui-react": "
|
|
92
|
+
"@collective-intelligence/ui-react": "0.1.11",
|
|
93
93
|
"@hey-api/openapi-ts": "^0.96.0",
|
|
94
94
|
"@oxlint/plugins": "1.85.0",
|
|
95
95
|
"@tanstack/react-query": "5.101.4",
|