@devrev/typescript-sdk 1.1.70 → 1.1.72

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.
@@ -18,6 +18,7 @@ export interface OperationMetadata {
18
18
  namespace: string;
19
19
  slug: string;
20
20
  type: OperationMetadata_Type;
21
+ mcp_server_url?: string | undefined;
21
22
  }
22
23
  export declare enum OperationMetadata_Type {
23
24
  Unknown = 0,
@@ -26,6 +27,24 @@ export declare enum OperationMetadata_Type {
26
27
  }
27
28
  export declare function operationMetadata_TypeFromJSON(object: any): OperationMetadata_Type;
28
29
  export declare function operationMetadata_TypeToJSON(object: OperationMetadata_Type): string;
30
+ export interface BlockCallback {
31
+ /** Status of the run scope. */
32
+ status: BlockCallback_Status;
33
+ /** Scope variables of the run scope. */
34
+ scope_variables: {
35
+ [key: string]: any;
36
+ } | undefined;
37
+ /** Run scope of the block callback. */
38
+ run_scope_id: string;
39
+ }
40
+ export declare enum BlockCallback_Status {
41
+ Unknown = 0,
42
+ Completed = 1,
43
+ Errored = 2,
44
+ UNRECOGNIZED = -1
45
+ }
46
+ export declare function blockCallback_StatusFromJSON(object: any): BlockCallback_Status;
47
+ export declare function blockCallback_StatusToJSON(object: BlockCallback_Status): string;
29
48
  export interface ExecuteOperationInput {
30
49
  /** Operation metadata. */
31
50
  metadata: OperationMetadata | undefined;
@@ -33,6 +52,16 @@ export interface ExecuteOperationInput {
33
52
  input_port_name: string;
34
53
  /** Input payload. */
35
54
  data: any | undefined;
55
+ /** Optional method name to call on the operation. */
56
+ operation_method: string;
57
+ /** Configuration of the WorkflowStep */
58
+ input_configuration: {
59
+ [key: string]: any;
60
+ } | undefined;
61
+ /** Previous state of the step run. */
62
+ state: any | undefined;
63
+ /** Block callback. */
64
+ block_callback: BlockCallback | undefined;
36
65
  }
37
66
  export interface ExecuteOperationResult {
38
67
  /** Serialization format used. */
@@ -63,6 +92,42 @@ export interface PortOutput {
63
92
  /** Output value. */
64
93
  output: OutputValue | undefined;
65
94
  }
95
+ /** Log entry. */
96
+ export interface LogEntry {
97
+ level: LogEntry_Level;
98
+ message: string;
99
+ timestamp?: string | undefined;
100
+ /** Attributes of the log entry. */
101
+ attributes: {
102
+ [key: string]: string;
103
+ };
104
+ /** Workflow ID. */
105
+ workflow_id?: string | undefined;
106
+ /** Workflow step ID. */
107
+ workflow_step_id?: string | undefined;
108
+ /** Workflow run ID. */
109
+ workflow_run_id?: string | undefined;
110
+ /** Workflow step run ID. */
111
+ workflow_step_run_id?: string | undefined;
112
+ }
113
+ export declare enum LogEntry_Level {
114
+ UNKNOWN = 0,
115
+ DEBUG = 1,
116
+ INFO = 2,
117
+ WARN = 3,
118
+ ERROR = 4,
119
+ UNRECOGNIZED = -1
120
+ }
121
+ export declare function logEntry_LevelFromJSON(object: any): LogEntry_Level;
122
+ export declare function logEntry_LevelToJSON(object: LogEntry_Level): string;
123
+ export interface LogEntry_AttributesEntry {
124
+ key: string;
125
+ value: string;
126
+ }
127
+ /** Log details from the operation execution. */
128
+ export interface LogDetails {
129
+ logs: LogEntry[];
130
+ }
66
131
  export interface OperationOutput {
67
132
  error: Error | undefined;
68
133
  /**
@@ -76,6 +141,44 @@ export interface OperationOutput {
76
141
  output: OutputValue | undefined;
77
142
  /** This sends output to specific output ports. There should only be 1 item corresponding to a port_name. */
78
143
  port_outputs: PortOutput[];
144
+ /** The updated input configuration for the WorkflowStep. */
145
+ input_configuration: {
146
+ [key: string]: any;
147
+ } | undefined;
148
+ /** The summary of the operation execution. */
149
+ summary?: string | undefined;
150
+ status?: OperationOutput_ExecutionStatus | undefined;
151
+ /** Updated state of the step run. */
152
+ state?: any | undefined;
153
+ /** Log details from the operation execution. */
154
+ log_details?: LogDetails | undefined;
155
+ }
156
+ /** Status of the operation execution. */
157
+ export declare enum OperationOutput_ExecutionStatus {
158
+ Unknown = 0,
159
+ /** Completed - Operation has completed successfully. */
160
+ Completed = 1,
161
+ /** Waiting - Operation is in progress. */
162
+ Waiting = 2,
163
+ /** Errored - Operation failed. */
164
+ Errored = 3,
165
+ UNRECOGNIZED = -1
166
+ }
167
+ export declare function operationOutput_ExecutionStatusFromJSON(object: any): OperationOutput_ExecutionStatus;
168
+ export declare function operationOutput_ExecutionStatusToJSON(object: OperationOutput_ExecutionStatus): string;
169
+ /** externalOperationScopes mirrors the JSON shape returned by TS functions */
170
+ export interface ExternalOperationScopes {
171
+ self: ExternalScopeEntry[];
172
+ impersonation: ExternalImpersonationScopeEntry[];
173
+ }
174
+ export interface ExternalScopeEntry {
175
+ scope: string;
176
+ optional?: boolean | undefined;
177
+ reason?: string | undefined;
178
+ }
179
+ export interface ExternalImpersonationScopeEntry {
180
+ act_as: string;
181
+ scopes: ExternalScopeEntry[];
79
182
  }
80
183
  export declare const Error: {
81
184
  encode(message: Error, writer?: _m0.Writer): _m0.Writer;
@@ -106,21 +209,61 @@ export declare const OperationMetadata: {
106
209
  namespace?: string | undefined;
107
210
  slug?: string | undefined;
108
211
  type?: OperationMetadata_Type | undefined;
212
+ mcp_server_url?: string | undefined;
109
213
  } & {
110
214
  namespace?: string | undefined;
111
215
  slug?: string | undefined;
112
216
  type?: OperationMetadata_Type | undefined;
217
+ mcp_server_url?: string | undefined;
113
218
  } & { [K in Exclude<keyof I, keyof OperationMetadata>]: never; }>(base?: I | undefined): OperationMetadata;
114
219
  fromPartial<I_1 extends {
115
220
  namespace?: string | undefined;
116
221
  slug?: string | undefined;
117
222
  type?: OperationMetadata_Type | undefined;
223
+ mcp_server_url?: string | undefined;
118
224
  } & {
119
225
  namespace?: string | undefined;
120
226
  slug?: string | undefined;
121
227
  type?: OperationMetadata_Type | undefined;
228
+ mcp_server_url?: string | undefined;
122
229
  } & { [K_1 in Exclude<keyof I_1, keyof OperationMetadata>]: never; }>(object: I_1): OperationMetadata;
123
230
  };
231
+ export declare const BlockCallback: {
232
+ encode(message: BlockCallback, writer?: _m0.Writer): _m0.Writer;
233
+ decode(input: _m0.Reader | Uint8Array, length?: number): BlockCallback;
234
+ fromJSON(object: any): BlockCallback;
235
+ toJSON(message: BlockCallback): unknown;
236
+ create<I extends {
237
+ status?: BlockCallback_Status | undefined;
238
+ scope_variables?: {
239
+ [x: string]: any;
240
+ } | undefined;
241
+ run_scope_id?: string | undefined;
242
+ } & {
243
+ status?: BlockCallback_Status | undefined;
244
+ scope_variables?: ({
245
+ [x: string]: any;
246
+ } & {
247
+ [x: string]: any;
248
+ } & { [K in Exclude<keyof I["scope_variables"], string | number>]: never; }) | undefined;
249
+ run_scope_id?: string | undefined;
250
+ } & { [K_1 in Exclude<keyof I, keyof BlockCallback>]: never; }>(base?: I | undefined): BlockCallback;
251
+ fromPartial<I_1 extends {
252
+ status?: BlockCallback_Status | undefined;
253
+ scope_variables?: {
254
+ [x: string]: any;
255
+ } | undefined;
256
+ run_scope_id?: string | undefined;
257
+ } & {
258
+ status?: BlockCallback_Status | undefined;
259
+ scope_variables?: ({
260
+ [x: string]: any;
261
+ } & {
262
+ [x: string]: any;
263
+ } & { [K_2 in Exclude<keyof I_1["scope_variables"], string | number>]: never; }) | undefined;
264
+ run_scope_id?: string | undefined;
265
+ } & { [K_3 in Exclude<keyof I_1, keyof BlockCallback>]: never; }>(object: I_1): BlockCallback;
266
+ };
124
267
  export declare const ExecuteOperationInput: {
125
268
  encode(message: ExecuteOperationInput, writer?: _m0.Writer): _m0.Writer;
126
269
  decode(input: _m0.Reader | Uint8Array, length?: number): ExecuteOperationInput;
@@ -131,43 +274,117 @@ export declare const ExecuteOperationInput: {
131
274
  namespace?: string | undefined;
132
275
  slug?: string | undefined;
133
276
  type?: OperationMetadata_Type | undefined;
277
+ mcp_server_url?: string | undefined;
134
278
  } | undefined;
135
279
  input_port_name?: string | undefined;
136
280
  data?: any | undefined;
281
+ operation_method?: string | undefined;
282
+ input_configuration?: {
283
+ [x: string]: any;
284
+ } | undefined;
285
+ state?: any | undefined;
286
+ block_callback?: {
287
+ status?: BlockCallback_Status | undefined;
288
+ scope_variables?: {
289
+ [x: string]: any;
290
+ } | undefined;
291
+ run_scope_id?: string | undefined;
292
+ } | undefined;
137
293
  } & {
138
294
  metadata?: ({
139
295
  namespace?: string | undefined;
140
296
  slug?: string | undefined;
141
297
  type?: OperationMetadata_Type | undefined;
298
+ mcp_server_url?: string | undefined;
142
299
  } & {
143
300
  namespace?: string | undefined;
144
301
  slug?: string | undefined;
145
302
  type?: OperationMetadata_Type | undefined;
303
+ mcp_server_url?: string | undefined;
146
304
  } & { [K in Exclude<keyof I["metadata"], keyof OperationMetadata>]: never; }) | undefined;
147
305
  input_port_name?: string | undefined;
148
306
  data?: any | undefined;
149
- } & { [K_1 in Exclude<keyof I, keyof ExecuteOperationInput>]: never; }>(base?: I | undefined): ExecuteOperationInput;
307
+ operation_method?: string | undefined;
308
+ input_configuration?: ({
309
+ [x: string]: any;
310
+ } & {
311
+ [x: string]: any;
312
+ } & { [K_1 in Exclude<keyof I["input_configuration"], string | number>]: never; }) | undefined;
313
+ state?: any | undefined;
314
+ block_callback?: ({
315
+ status?: BlockCallback_Status | undefined;
316
+ scope_variables?: {
317
+ [x: string]: any;
318
+ } | undefined;
319
+ run_scope_id?: string | undefined;
320
+ } & {
321
+ status?: BlockCallback_Status | undefined;
322
+ scope_variables?: ({
323
+ [x: string]: any;
324
+ } & {
325
+ [x: string]: any;
326
+ } & { [K_2 in Exclude<keyof I["block_callback"]["scope_variables"], string | number>]: never; }) | undefined;
327
+ run_scope_id?: string | undefined;
328
+ } & { [K_3 in Exclude<keyof I["block_callback"], keyof BlockCallback>]: never; }) | undefined;
329
+ } & { [K_4 in Exclude<keyof I, keyof ExecuteOperationInput>]: never; }>(base?: I | undefined): ExecuteOperationInput;
150
330
  fromPartial<I_1 extends {
151
331
  metadata?: {
152
332
  namespace?: string | undefined;
153
333
  slug?: string | undefined;
154
334
  type?: OperationMetadata_Type | undefined;
335
+ mcp_server_url?: string | undefined;
155
336
  } | undefined;
156
337
  input_port_name?: string | undefined;
157
338
  data?: any | undefined;
339
+ operation_method?: string | undefined;
340
+ input_configuration?: {
341
+ [x: string]: any;
342
+ } | undefined;
343
+ state?: any | undefined;
344
+ block_callback?: {
345
+ status?: BlockCallback_Status | undefined;
346
+ scope_variables?: {
347
+ [x: string]: any;
348
+ } | undefined;
349
+ run_scope_id?: string | undefined;
350
+ } | undefined;
158
351
  } & {
159
352
  metadata?: ({
160
353
  namespace?: string | undefined;
161
354
  slug?: string | undefined;
162
355
  type?: OperationMetadata_Type | undefined;
356
+ mcp_server_url?: string | undefined;
163
357
  } & {
164
358
  namespace?: string | undefined;
165
359
  slug?: string | undefined;
166
360
  type?: OperationMetadata_Type | undefined;
167
- } & { [K_2 in Exclude<keyof I_1["metadata"], keyof OperationMetadata>]: never; }) | undefined;
361
+ mcp_server_url?: string | undefined;
362
+ } & { [K_5 in Exclude<keyof I_1["metadata"], keyof OperationMetadata>]: never; }) | undefined;
168
363
  input_port_name?: string | undefined;
169
364
  data?: any | undefined;
170
- } & { [K_3 in Exclude<keyof I_1, keyof ExecuteOperationInput>]: never; }>(object: I_1): ExecuteOperationInput;
365
+ operation_method?: string | undefined;
366
+ input_configuration?: ({
367
+ [x: string]: any;
368
+ } & {
369
+ [x: string]: any;
370
+ } & { [K_6 in Exclude<keyof I_1["input_configuration"], string | number>]: never; }) | undefined;
371
+ state?: any | undefined;
372
+ block_callback?: ({
373
+ status?: BlockCallback_Status | undefined;
374
+ scope_variables?: {
375
+ [x: string]: any;
376
+ } | undefined;
377
+ run_scope_id?: string | undefined;
378
+ } & {
379
+ status?: BlockCallback_Status | undefined;
380
+ scope_variables?: ({
381
+ [x: string]: any;
382
+ } & {
383
+ [x: string]: any;
384
+ } & { [K_7 in Exclude<keyof I_1["block_callback"]["scope_variables"], string | number>]: never; }) | undefined;
385
+ run_scope_id?: string | undefined;
386
+ } & { [K_8 in Exclude<keyof I_1["block_callback"], keyof BlockCallback>]: never; }) | undefined;
387
+ } & { [K_9 in Exclude<keyof I_1, keyof ExecuteOperationInput>]: never; }>(object: I_1): ExecuteOperationInput;
171
388
  };
172
389
  export declare const ExecuteOperationResult: {
173
390
  encode(message: ExecuteOperationResult, writer?: _m0.Writer): _m0.Writer;
@@ -281,6 +498,212 @@ export declare const PortOutput: {
281
498
  } & { [K_6 in Exclude<keyof I_1["output"], "values">]: never; }) | undefined;
282
499
  } & { [K_7 in Exclude<keyof I_1, keyof PortOutput>]: never; }>(object: I_1): PortOutput;
283
500
  };
501
+ export declare const LogEntry: {
502
+ encode(message: LogEntry, writer?: _m0.Writer): _m0.Writer;
503
+ decode(input: _m0.Reader | Uint8Array, length?: number): LogEntry;
504
+ fromJSON(object: any): LogEntry;
505
+ toJSON(message: LogEntry): unknown;
506
+ create<I extends {
507
+ level?: LogEntry_Level | undefined;
508
+ message?: string | undefined;
509
+ timestamp?: string | undefined;
510
+ attributes?: {
511
+ [x: string]: string | undefined;
512
+ } | undefined;
513
+ workflow_id?: string | undefined;
514
+ workflow_step_id?: string | undefined;
515
+ workflow_run_id?: string | undefined;
516
+ workflow_step_run_id?: string | undefined;
517
+ } & {
518
+ level?: LogEntry_Level | undefined;
519
+ message?: string | undefined;
520
+ timestamp?: string | undefined;
521
+ attributes?: ({
522
+ [x: string]: string | undefined;
523
+ } & {
524
+ [x: string]: string | undefined;
525
+ } & { [K in Exclude<keyof I["attributes"], string | number>]: never; }) | undefined;
526
+ workflow_id?: string | undefined;
527
+ workflow_step_id?: string | undefined;
528
+ workflow_run_id?: string | undefined;
529
+ workflow_step_run_id?: string | undefined;
530
+ } & { [K_1 in Exclude<keyof I, keyof LogEntry>]: never; }>(base?: I | undefined): LogEntry;
531
+ fromPartial<I_1 extends {
532
+ level?: LogEntry_Level | undefined;
533
+ message?: string | undefined;
534
+ timestamp?: string | undefined;
535
+ attributes?: {
536
+ [x: string]: string | undefined;
537
+ } | undefined;
538
+ workflow_id?: string | undefined;
539
+ workflow_step_id?: string | undefined;
540
+ workflow_run_id?: string | undefined;
541
+ workflow_step_run_id?: string | undefined;
542
+ } & {
543
+ level?: LogEntry_Level | undefined;
544
+ message?: string | undefined;
545
+ timestamp?: string | undefined;
546
+ attributes?: ({
547
+ [x: string]: string | undefined;
548
+ } & {
549
+ [x: string]: string | undefined;
550
+ } & { [K_2 in Exclude<keyof I_1["attributes"], string | number>]: never; }) | undefined;
551
+ workflow_id?: string | undefined;
552
+ workflow_step_id?: string | undefined;
553
+ workflow_run_id?: string | undefined;
554
+ workflow_step_run_id?: string | undefined;
555
+ } & { [K_3 in Exclude<keyof I_1, keyof LogEntry>]: never; }>(object: I_1): LogEntry;
556
+ };
557
+ export declare const LogEntry_AttributesEntry: {
558
+ encode(message: LogEntry_AttributesEntry, writer?: _m0.Writer): _m0.Writer;
559
+ decode(input: _m0.Reader | Uint8Array, length?: number): LogEntry_AttributesEntry;
560
+ fromJSON(object: any): LogEntry_AttributesEntry;
561
+ toJSON(message: LogEntry_AttributesEntry): unknown;
562
+ create<I extends {
563
+ key?: string | undefined;
564
+ value?: string | undefined;
565
+ } & {
566
+ key?: string | undefined;
567
+ value?: string | undefined;
568
+ } & { [K in Exclude<keyof I, keyof LogEntry_AttributesEntry>]: never; }>(base?: I | undefined): LogEntry_AttributesEntry;
569
+ fromPartial<I_1 extends {
570
+ key?: string | undefined;
571
+ value?: string | undefined;
572
+ } & {
573
+ key?: string | undefined;
574
+ value?: string | undefined;
575
+ } & { [K_1 in Exclude<keyof I_1, keyof LogEntry_AttributesEntry>]: never; }>(object: I_1): LogEntry_AttributesEntry;
576
+ };
577
+ export declare const LogDetails: {
578
+ encode(message: LogDetails, writer?: _m0.Writer): _m0.Writer;
579
+ decode(input: _m0.Reader | Uint8Array, length?: number): LogDetails;
580
+ fromJSON(object: any): LogDetails;
581
+ toJSON(message: LogDetails): unknown;
582
+ create<I extends {
583
+ logs?: {
584
+ level?: LogEntry_Level | undefined;
585
+ message?: string | undefined;
586
+ timestamp?: string | undefined;
587
+ attributes?: {
588
+ [x: string]: string | undefined;
589
+ } | undefined;
590
+ workflow_id?: string | undefined;
591
+ workflow_step_id?: string | undefined;
592
+ workflow_run_id?: string | undefined;
593
+ workflow_step_run_id?: string | undefined;
594
+ }[] | undefined;
595
+ } & {
596
+ logs?: ({
597
+ level?: LogEntry_Level | undefined;
598
+ message?: string | undefined;
599
+ timestamp?: string | undefined;
600
+ attributes?: {
601
+ [x: string]: string | undefined;
602
+ } | undefined;
603
+ workflow_id?: string | undefined;
604
+ workflow_step_id?: string | undefined;
605
+ workflow_run_id?: string | undefined;
606
+ workflow_step_run_id?: string | undefined;
607
+ }[] & ({
608
+ level?: LogEntry_Level | undefined;
609
+ message?: string | undefined;
610
+ timestamp?: string | undefined;
611
+ attributes?: {
612
+ [x: string]: string | undefined;
613
+ } | undefined;
614
+ workflow_id?: string | undefined;
615
+ workflow_step_id?: string | undefined;
616
+ workflow_run_id?: string | undefined;
617
+ workflow_step_run_id?: string | undefined;
618
+ } & {
619
+ level?: LogEntry_Level | undefined;
620
+ message?: string | undefined;
621
+ timestamp?: string | undefined;
622
+ attributes?: ({
623
+ [x: string]: string | undefined;
624
+ } & {
625
+ [x: string]: string | undefined;
626
+ } & { [K in Exclude<keyof I["logs"][number]["attributes"], string | number>]: never; }) | undefined;
627
+ workflow_id?: string | undefined;
628
+ workflow_step_id?: string | undefined;
629
+ workflow_run_id?: string | undefined;
630
+ workflow_step_run_id?: string | undefined;
631
+ } & { [K_1 in Exclude<keyof I["logs"][number], keyof LogEntry>]: never; })[] & { [K_2 in Exclude<keyof I["logs"], keyof {
632
+ level?: LogEntry_Level | undefined;
633
+ message?: string | undefined;
634
+ timestamp?: string | undefined;
635
+ attributes?: {
636
+ [x: string]: string | undefined;
637
+ } | undefined;
638
+ workflow_id?: string | undefined;
639
+ workflow_step_id?: string | undefined;
640
+ workflow_run_id?: string | undefined;
641
+ workflow_step_run_id?: string | undefined;
642
+ }[]>]: never; }) | undefined;
643
+ } & { [K_3 in Exclude<keyof I, "logs">]: never; }>(base?: I | undefined): LogDetails;
644
+ fromPartial<I_1 extends {
645
+ logs?: {
646
+ level?: LogEntry_Level | undefined;
647
+ message?: string | undefined;
648
+ timestamp?: string | undefined;
649
+ attributes?: {
650
+ [x: string]: string | undefined;
651
+ } | undefined;
652
+ workflow_id?: string | undefined;
653
+ workflow_step_id?: string | undefined;
654
+ workflow_run_id?: string | undefined;
655
+ workflow_step_run_id?: string | undefined;
656
+ }[] | undefined;
657
+ } & {
658
+ logs?: ({
659
+ level?: LogEntry_Level | undefined;
660
+ message?: string | undefined;
661
+ timestamp?: string | undefined;
662
+ attributes?: {
663
+ [x: string]: string | undefined;
664
+ } | undefined;
665
+ workflow_id?: string | undefined;
666
+ workflow_step_id?: string | undefined;
667
+ workflow_run_id?: string | undefined;
668
+ workflow_step_run_id?: string | undefined;
669
+ }[] & ({
670
+ level?: LogEntry_Level | undefined;
671
+ message?: string | undefined;
672
+ timestamp?: string | undefined;
673
+ attributes?: {
674
+ [x: string]: string | undefined;
675
+ } | undefined;
676
+ workflow_id?: string | undefined;
677
+ workflow_step_id?: string | undefined;
678
+ workflow_run_id?: string | undefined;
679
+ workflow_step_run_id?: string | undefined;
680
+ } & {
681
+ level?: LogEntry_Level | undefined;
682
+ message?: string | undefined;
683
+ timestamp?: string | undefined;
684
+ attributes?: ({
685
+ [x: string]: string | undefined;
686
+ } & {
687
+ [x: string]: string | undefined;
688
+ } & { [K_4 in Exclude<keyof I_1["logs"][number]["attributes"], string | number>]: never; }) | undefined;
689
+ workflow_id?: string | undefined;
690
+ workflow_step_id?: string | undefined;
691
+ workflow_run_id?: string | undefined;
692
+ workflow_step_run_id?: string | undefined;
693
+ } & { [K_5 in Exclude<keyof I_1["logs"][number], keyof LogEntry>]: never; })[] & { [K_6 in Exclude<keyof I_1["logs"], keyof {
694
+ level?: LogEntry_Level | undefined;
695
+ message?: string | undefined;
696
+ timestamp?: string | undefined;
697
+ attributes?: {
698
+ [x: string]: string | undefined;
699
+ } | undefined;
700
+ workflow_id?: string | undefined;
701
+ workflow_step_id?: string | undefined;
702
+ workflow_run_id?: string | undefined;
703
+ workflow_step_run_id?: string | undefined;
704
+ }[]>]: never; }) | undefined;
705
+ } & { [K_7 in Exclude<keyof I_1, "logs">]: never; }>(object: I_1): LogDetails;
706
+ };
284
707
  export declare const OperationOutput: {
285
708
  encode(message: OperationOutput, writer?: _m0.Writer): _m0.Writer;
286
709
  decode(input: _m0.Reader | Uint8Array, length?: number): OperationOutput;
@@ -304,6 +727,26 @@ export declare const OperationOutput: {
304
727
  }[] | undefined;
305
728
  } | undefined;
306
729
  }[] | undefined;
730
+ input_configuration?: {
731
+ [x: string]: any;
732
+ } | undefined;
733
+ summary?: string | undefined;
734
+ status?: OperationOutput_ExecutionStatus | undefined;
735
+ state?: any | undefined;
736
+ log_details?: {
737
+ logs?: {
738
+ level?: LogEntry_Level | undefined;
739
+ message?: string | undefined;
740
+ timestamp?: string | undefined;
741
+ attributes?: {
742
+ [x: string]: string | undefined;
743
+ } | undefined;
744
+ workflow_id?: string | undefined;
745
+ workflow_step_id?: string | undefined;
746
+ workflow_run_id?: string | undefined;
747
+ workflow_step_run_id?: string | undefined;
748
+ }[] | undefined;
749
+ } | undefined;
307
750
  } & {
308
751
  error?: ({
309
752
  message?: string | undefined;
@@ -366,7 +809,77 @@ export declare const OperationOutput: {
366
809
  }[] | undefined;
367
810
  } | undefined;
368
811
  }[]>]: never; }) | undefined;
369
- } & { [K_9 in Exclude<keyof I, keyof OperationOutput>]: never; }>(base?: I | undefined): OperationOutput;
812
+ input_configuration?: ({
813
+ [x: string]: any;
814
+ } & {
815
+ [x: string]: any;
816
+ } & { [K_9 in Exclude<keyof I["input_configuration"], string | number>]: never; }) | undefined;
817
+ summary?: string | undefined;
818
+ status?: OperationOutput_ExecutionStatus | undefined;
819
+ state?: any | undefined;
820
+ log_details?: ({
821
+ logs?: {
822
+ level?: LogEntry_Level | undefined;
823
+ message?: string | undefined;
824
+ timestamp?: string | undefined;
825
+ attributes?: {
826
+ [x: string]: string | undefined;
827
+ } | undefined;
828
+ workflow_id?: string | undefined;
829
+ workflow_step_id?: string | undefined;
830
+ workflow_run_id?: string | undefined;
831
+ workflow_step_run_id?: string | undefined;
832
+ }[] | undefined;
833
+ } & {
834
+ logs?: ({
835
+ level?: LogEntry_Level | undefined;
836
+ message?: string | undefined;
837
+ timestamp?: string | undefined;
838
+ attributes?: {
839
+ [x: string]: string | undefined;
840
+ } | undefined;
841
+ workflow_id?: string | undefined;
842
+ workflow_step_id?: string | undefined;
843
+ workflow_run_id?: string | undefined;
844
+ workflow_step_run_id?: string | undefined;
845
+ }[] & ({
846
+ level?: LogEntry_Level | undefined;
847
+ message?: string | undefined;
848
+ timestamp?: string | undefined;
849
+ attributes?: {
850
+ [x: string]: string | undefined;
851
+ } | undefined;
852
+ workflow_id?: string | undefined;
853
+ workflow_step_id?: string | undefined;
854
+ workflow_run_id?: string | undefined;
855
+ workflow_step_run_id?: string | undefined;
856
+ } & {
857
+ level?: LogEntry_Level | undefined;
858
+ message?: string | undefined;
859
+ timestamp?: string | undefined;
860
+ attributes?: ({
861
+ [x: string]: string | undefined;
862
+ } & {
863
+ [x: string]: string | undefined;
864
+ } & { [K_10 in Exclude<keyof I["log_details"]["logs"][number]["attributes"], string | number>]: never; }) | undefined;
865
+ workflow_id?: string | undefined;
866
+ workflow_step_id?: string | undefined;
867
+ workflow_run_id?: string | undefined;
868
+ workflow_step_run_id?: string | undefined;
869
+ } & { [K_11 in Exclude<keyof I["log_details"]["logs"][number], keyof LogEntry>]: never; })[] & { [K_12 in Exclude<keyof I["log_details"]["logs"], keyof {
870
+ level?: LogEntry_Level | undefined;
871
+ message?: string | undefined;
872
+ timestamp?: string | undefined;
873
+ attributes?: {
874
+ [x: string]: string | undefined;
875
+ } | undefined;
876
+ workflow_id?: string | undefined;
877
+ workflow_step_id?: string | undefined;
878
+ workflow_run_id?: string | undefined;
879
+ workflow_step_run_id?: string | undefined;
880
+ }[]>]: never; }) | undefined;
881
+ } & { [K_13 in Exclude<keyof I["log_details"], "logs">]: never; }) | undefined;
882
+ } & { [K_14 in Exclude<keyof I, keyof OperationOutput>]: never; }>(base?: I | undefined): OperationOutput;
370
883
  fromPartial<I_1 extends {
371
884
  error?: {
372
885
  message?: string | undefined;
@@ -385,6 +898,26 @@ export declare const OperationOutput: {
385
898
  }[] | undefined;
386
899
  } | undefined;
387
900
  }[] | undefined;
901
+ input_configuration?: {
902
+ [x: string]: any;
903
+ } | undefined;
904
+ summary?: string | undefined;
905
+ status?: OperationOutput_ExecutionStatus | undefined;
906
+ state?: any | undefined;
907
+ log_details?: {
908
+ logs?: {
909
+ level?: LogEntry_Level | undefined;
910
+ message?: string | undefined;
911
+ timestamp?: string | undefined;
912
+ attributes?: {
913
+ [x: string]: string | undefined;
914
+ } | undefined;
915
+ workflow_id?: string | undefined;
916
+ workflow_step_id?: string | undefined;
917
+ workflow_run_id?: string | undefined;
918
+ workflow_step_run_id?: string | undefined;
919
+ }[] | undefined;
920
+ } | undefined;
388
921
  } & {
389
922
  error?: ({
390
923
  message?: string | undefined;
@@ -392,7 +925,7 @@ export declare const OperationOutput: {
392
925
  } & {
393
926
  message?: string | undefined;
394
927
  type?: Error_Type | undefined;
395
- } & { [K_10 in Exclude<keyof I_1["error"], keyof Error>]: never; }) | undefined;
928
+ } & { [K_15 in Exclude<keyof I_1["error"], keyof Error>]: never; }) | undefined;
396
929
  output?: ({
397
930
  values?: {
398
931
  [x: string]: any;
@@ -404,10 +937,10 @@ export declare const OperationOutput: {
404
937
  [x: string]: any;
405
938
  } & {
406
939
  [x: string]: any;
407
- } & { [K_11 in Exclude<keyof I_1["output"]["values"][number], string | number>]: never; })[] & { [K_12 in Exclude<keyof I_1["output"]["values"], keyof {
940
+ } & { [K_16 in Exclude<keyof I_1["output"]["values"][number], string | number>]: never; })[] & { [K_17 in Exclude<keyof I_1["output"]["values"], keyof {
408
941
  [x: string]: any;
409
942
  }[]>]: never; }) | undefined;
410
- } & { [K_13 in Exclude<keyof I_1["output"], "values">]: never; }) | undefined;
943
+ } & { [K_18 in Exclude<keyof I_1["output"], "values">]: never; }) | undefined;
411
944
  port_outputs?: ({
412
945
  port_name?: string | undefined;
413
946
  output?: {
@@ -435,11 +968,11 @@ export declare const OperationOutput: {
435
968
  [x: string]: any;
436
969
  } & {
437
970
  [x: string]: any;
438
- } & { [K_14 in Exclude<keyof I_1["port_outputs"][number]["output"]["values"][number], string | number>]: never; })[] & { [K_15 in Exclude<keyof I_1["port_outputs"][number]["output"]["values"], keyof {
971
+ } & { [K_19 in Exclude<keyof I_1["port_outputs"][number]["output"]["values"][number], string | number>]: never; })[] & { [K_20 in Exclude<keyof I_1["port_outputs"][number]["output"]["values"], keyof {
439
972
  [x: string]: any;
440
973
  }[]>]: never; }) | undefined;
441
- } & { [K_16 in Exclude<keyof I_1["port_outputs"][number]["output"], "values">]: never; }) | undefined;
442
- } & { [K_17 in Exclude<keyof I_1["port_outputs"][number], keyof PortOutput>]: never; })[] & { [K_18 in Exclude<keyof I_1["port_outputs"], keyof {
974
+ } & { [K_21 in Exclude<keyof I_1["port_outputs"][number]["output"], "values">]: never; }) | undefined;
975
+ } & { [K_22 in Exclude<keyof I_1["port_outputs"][number], keyof PortOutput>]: never; })[] & { [K_23 in Exclude<keyof I_1["port_outputs"], keyof {
443
976
  port_name?: string | undefined;
444
977
  output?: {
445
978
  values?: {
@@ -447,7 +980,315 @@ export declare const OperationOutput: {
447
980
  }[] | undefined;
448
981
  } | undefined;
449
982
  }[]>]: never; }) | undefined;
450
- } & { [K_19 in Exclude<keyof I_1, keyof OperationOutput>]: never; }>(object: I_1): OperationOutput;
983
+ input_configuration?: ({
984
+ [x: string]: any;
985
+ } & {
986
+ [x: string]: any;
987
+ } & { [K_24 in Exclude<keyof I_1["input_configuration"], string | number>]: never; }) | undefined;
988
+ summary?: string | undefined;
989
+ status?: OperationOutput_ExecutionStatus | undefined;
990
+ state?: any | undefined;
991
+ log_details?: ({
992
+ logs?: {
993
+ level?: LogEntry_Level | undefined;
994
+ message?: string | undefined;
995
+ timestamp?: string | undefined;
996
+ attributes?: {
997
+ [x: string]: string | undefined;
998
+ } | undefined;
999
+ workflow_id?: string | undefined;
1000
+ workflow_step_id?: string | undefined;
1001
+ workflow_run_id?: string | undefined;
1002
+ workflow_step_run_id?: string | undefined;
1003
+ }[] | undefined;
1004
+ } & {
1005
+ logs?: ({
1006
+ level?: LogEntry_Level | undefined;
1007
+ message?: string | undefined;
1008
+ timestamp?: string | undefined;
1009
+ attributes?: {
1010
+ [x: string]: string | undefined;
1011
+ } | undefined;
1012
+ workflow_id?: string | undefined;
1013
+ workflow_step_id?: string | undefined;
1014
+ workflow_run_id?: string | undefined;
1015
+ workflow_step_run_id?: string | undefined;
1016
+ }[] & ({
1017
+ level?: LogEntry_Level | undefined;
1018
+ message?: string | undefined;
1019
+ timestamp?: string | undefined;
1020
+ attributes?: {
1021
+ [x: string]: string | undefined;
1022
+ } | undefined;
1023
+ workflow_id?: string | undefined;
1024
+ workflow_step_id?: string | undefined;
1025
+ workflow_run_id?: string | undefined;
1026
+ workflow_step_run_id?: string | undefined;
1027
+ } & {
1028
+ level?: LogEntry_Level | undefined;
1029
+ message?: string | undefined;
1030
+ timestamp?: string | undefined;
1031
+ attributes?: ({
1032
+ [x: string]: string | undefined;
1033
+ } & {
1034
+ [x: string]: string | undefined;
1035
+ } & { [K_25 in Exclude<keyof I_1["log_details"]["logs"][number]["attributes"], string | number>]: never; }) | undefined;
1036
+ workflow_id?: string | undefined;
1037
+ workflow_step_id?: string | undefined;
1038
+ workflow_run_id?: string | undefined;
1039
+ workflow_step_run_id?: string | undefined;
1040
+ } & { [K_26 in Exclude<keyof I_1["log_details"]["logs"][number], keyof LogEntry>]: never; })[] & { [K_27 in Exclude<keyof I_1["log_details"]["logs"], keyof {
1041
+ level?: LogEntry_Level | undefined;
1042
+ message?: string | undefined;
1043
+ timestamp?: string | undefined;
1044
+ attributes?: {
1045
+ [x: string]: string | undefined;
1046
+ } | undefined;
1047
+ workflow_id?: string | undefined;
1048
+ workflow_step_id?: string | undefined;
1049
+ workflow_run_id?: string | undefined;
1050
+ workflow_step_run_id?: string | undefined;
1051
+ }[]>]: never; }) | undefined;
1052
+ } & { [K_28 in Exclude<keyof I_1["log_details"], "logs">]: never; }) | undefined;
1053
+ } & { [K_29 in Exclude<keyof I_1, keyof OperationOutput>]: never; }>(object: I_1): OperationOutput;
1054
+ };
1055
+ export declare const ExternalOperationScopes: {
1056
+ encode(message: ExternalOperationScopes, writer?: _m0.Writer): _m0.Writer;
1057
+ decode(input: _m0.Reader | Uint8Array, length?: number): ExternalOperationScopes;
1058
+ fromJSON(object: any): ExternalOperationScopes;
1059
+ toJSON(message: ExternalOperationScopes): unknown;
1060
+ create<I extends {
1061
+ self?: {
1062
+ scope?: string | undefined;
1063
+ optional?: boolean | undefined;
1064
+ reason?: string | undefined;
1065
+ }[] | undefined;
1066
+ impersonation?: {
1067
+ act_as?: string | undefined;
1068
+ scopes?: {
1069
+ scope?: string | undefined;
1070
+ optional?: boolean | undefined;
1071
+ reason?: string | undefined;
1072
+ }[] | undefined;
1073
+ }[] | undefined;
1074
+ } & {
1075
+ self?: ({
1076
+ scope?: string | undefined;
1077
+ optional?: boolean | undefined;
1078
+ reason?: string | undefined;
1079
+ }[] & ({
1080
+ scope?: string | undefined;
1081
+ optional?: boolean | undefined;
1082
+ reason?: string | undefined;
1083
+ } & {
1084
+ scope?: string | undefined;
1085
+ optional?: boolean | undefined;
1086
+ reason?: string | undefined;
1087
+ } & { [K in Exclude<keyof I["self"][number], keyof ExternalScopeEntry>]: never; })[] & { [K_1 in Exclude<keyof I["self"], keyof {
1088
+ scope?: string | undefined;
1089
+ optional?: boolean | undefined;
1090
+ reason?: string | undefined;
1091
+ }[]>]: never; }) | undefined;
1092
+ impersonation?: ({
1093
+ act_as?: string | undefined;
1094
+ scopes?: {
1095
+ scope?: string | undefined;
1096
+ optional?: boolean | undefined;
1097
+ reason?: string | undefined;
1098
+ }[] | undefined;
1099
+ }[] & ({
1100
+ act_as?: string | undefined;
1101
+ scopes?: {
1102
+ scope?: string | undefined;
1103
+ optional?: boolean | undefined;
1104
+ reason?: string | undefined;
1105
+ }[] | undefined;
1106
+ } & {
1107
+ act_as?: string | undefined;
1108
+ scopes?: ({
1109
+ scope?: string | undefined;
1110
+ optional?: boolean | undefined;
1111
+ reason?: string | undefined;
1112
+ }[] & ({
1113
+ scope?: string | undefined;
1114
+ optional?: boolean | undefined;
1115
+ reason?: string | undefined;
1116
+ } & {
1117
+ scope?: string | undefined;
1118
+ optional?: boolean | undefined;
1119
+ reason?: string | undefined;
1120
+ } & { [K_2 in Exclude<keyof I["impersonation"][number]["scopes"][number], keyof ExternalScopeEntry>]: never; })[] & { [K_3 in Exclude<keyof I["impersonation"][number]["scopes"], keyof {
1121
+ scope?: string | undefined;
1122
+ optional?: boolean | undefined;
1123
+ reason?: string | undefined;
1124
+ }[]>]: never; }) | undefined;
1125
+ } & { [K_4 in Exclude<keyof I["impersonation"][number], keyof ExternalImpersonationScopeEntry>]: never; })[] & { [K_5 in Exclude<keyof I["impersonation"], keyof {
1126
+ act_as?: string | undefined;
1127
+ scopes?: {
1128
+ scope?: string | undefined;
1129
+ optional?: boolean | undefined;
1130
+ reason?: string | undefined;
1131
+ }[] | undefined;
1132
+ }[]>]: never; }) | undefined;
1133
+ } & { [K_6 in Exclude<keyof I, keyof ExternalOperationScopes>]: never; }>(base?: I | undefined): ExternalOperationScopes;
1134
+ fromPartial<I_1 extends {
1135
+ self?: {
1136
+ scope?: string | undefined;
1137
+ optional?: boolean | undefined;
1138
+ reason?: string | undefined;
1139
+ }[] | undefined;
1140
+ impersonation?: {
1141
+ act_as?: string | undefined;
1142
+ scopes?: {
1143
+ scope?: string | undefined;
1144
+ optional?: boolean | undefined;
1145
+ reason?: string | undefined;
1146
+ }[] | undefined;
1147
+ }[] | undefined;
1148
+ } & {
1149
+ self?: ({
1150
+ scope?: string | undefined;
1151
+ optional?: boolean | undefined;
1152
+ reason?: string | undefined;
1153
+ }[] & ({
1154
+ scope?: string | undefined;
1155
+ optional?: boolean | undefined;
1156
+ reason?: string | undefined;
1157
+ } & {
1158
+ scope?: string | undefined;
1159
+ optional?: boolean | undefined;
1160
+ reason?: string | undefined;
1161
+ } & { [K_7 in Exclude<keyof I_1["self"][number], keyof ExternalScopeEntry>]: never; })[] & { [K_8 in Exclude<keyof I_1["self"], keyof {
1162
+ scope?: string | undefined;
1163
+ optional?: boolean | undefined;
1164
+ reason?: string | undefined;
1165
+ }[]>]: never; }) | undefined;
1166
+ impersonation?: ({
1167
+ act_as?: string | undefined;
1168
+ scopes?: {
1169
+ scope?: string | undefined;
1170
+ optional?: boolean | undefined;
1171
+ reason?: string | undefined;
1172
+ }[] | undefined;
1173
+ }[] & ({
1174
+ act_as?: string | undefined;
1175
+ scopes?: {
1176
+ scope?: string | undefined;
1177
+ optional?: boolean | undefined;
1178
+ reason?: string | undefined;
1179
+ }[] | undefined;
1180
+ } & {
1181
+ act_as?: string | undefined;
1182
+ scopes?: ({
1183
+ scope?: string | undefined;
1184
+ optional?: boolean | undefined;
1185
+ reason?: string | undefined;
1186
+ }[] & ({
1187
+ scope?: string | undefined;
1188
+ optional?: boolean | undefined;
1189
+ reason?: string | undefined;
1190
+ } & {
1191
+ scope?: string | undefined;
1192
+ optional?: boolean | undefined;
1193
+ reason?: string | undefined;
1194
+ } & { [K_9 in Exclude<keyof I_1["impersonation"][number]["scopes"][number], keyof ExternalScopeEntry>]: never; })[] & { [K_10 in Exclude<keyof I_1["impersonation"][number]["scopes"], keyof {
1195
+ scope?: string | undefined;
1196
+ optional?: boolean | undefined;
1197
+ reason?: string | undefined;
1198
+ }[]>]: never; }) | undefined;
1199
+ } & { [K_11 in Exclude<keyof I_1["impersonation"][number], keyof ExternalImpersonationScopeEntry>]: never; })[] & { [K_12 in Exclude<keyof I_1["impersonation"], keyof {
1200
+ act_as?: string | undefined;
1201
+ scopes?: {
1202
+ scope?: string | undefined;
1203
+ optional?: boolean | undefined;
1204
+ reason?: string | undefined;
1205
+ }[] | undefined;
1206
+ }[]>]: never; }) | undefined;
1207
+ } & { [K_13 in Exclude<keyof I_1, keyof ExternalOperationScopes>]: never; }>(object: I_1): ExternalOperationScopes;
1208
+ };
1209
+ export declare const ExternalScopeEntry: {
1210
+ encode(message: ExternalScopeEntry, writer?: _m0.Writer): _m0.Writer;
1211
+ decode(input: _m0.Reader | Uint8Array, length?: number): ExternalScopeEntry;
1212
+ fromJSON(object: any): ExternalScopeEntry;
1213
+ toJSON(message: ExternalScopeEntry): unknown;
1214
+ create<I extends {
1215
+ scope?: string | undefined;
1216
+ optional?: boolean | undefined;
1217
+ reason?: string | undefined;
1218
+ } & {
1219
+ scope?: string | undefined;
1220
+ optional?: boolean | undefined;
1221
+ reason?: string | undefined;
1222
+ } & { [K in Exclude<keyof I, keyof ExternalScopeEntry>]: never; }>(base?: I | undefined): ExternalScopeEntry;
1223
+ fromPartial<I_1 extends {
1224
+ scope?: string | undefined;
1225
+ optional?: boolean | undefined;
1226
+ reason?: string | undefined;
1227
+ } & {
1228
+ scope?: string | undefined;
1229
+ optional?: boolean | undefined;
1230
+ reason?: string | undefined;
1231
+ } & { [K_1 in Exclude<keyof I_1, keyof ExternalScopeEntry>]: never; }>(object: I_1): ExternalScopeEntry;
1232
+ };
1233
+ export declare const ExternalImpersonationScopeEntry: {
1234
+ encode(message: ExternalImpersonationScopeEntry, writer?: _m0.Writer): _m0.Writer;
1235
+ decode(input: _m0.Reader | Uint8Array, length?: number): ExternalImpersonationScopeEntry;
1236
+ fromJSON(object: any): ExternalImpersonationScopeEntry;
1237
+ toJSON(message: ExternalImpersonationScopeEntry): unknown;
1238
+ create<I extends {
1239
+ act_as?: string | undefined;
1240
+ scopes?: {
1241
+ scope?: string | undefined;
1242
+ optional?: boolean | undefined;
1243
+ reason?: string | undefined;
1244
+ }[] | undefined;
1245
+ } & {
1246
+ act_as?: string | undefined;
1247
+ scopes?: ({
1248
+ scope?: string | undefined;
1249
+ optional?: boolean | undefined;
1250
+ reason?: string | undefined;
1251
+ }[] & ({
1252
+ scope?: string | undefined;
1253
+ optional?: boolean | undefined;
1254
+ reason?: string | undefined;
1255
+ } & {
1256
+ scope?: string | undefined;
1257
+ optional?: boolean | undefined;
1258
+ reason?: string | undefined;
1259
+ } & { [K in Exclude<keyof I["scopes"][number], keyof ExternalScopeEntry>]: never; })[] & { [K_1 in Exclude<keyof I["scopes"], keyof {
1260
+ scope?: string | undefined;
1261
+ optional?: boolean | undefined;
1262
+ reason?: string | undefined;
1263
+ }[]>]: never; }) | undefined;
1264
+ } & { [K_2 in Exclude<keyof I, keyof ExternalImpersonationScopeEntry>]: never; }>(base?: I | undefined): ExternalImpersonationScopeEntry;
1265
+ fromPartial<I_1 extends {
1266
+ act_as?: string | undefined;
1267
+ scopes?: {
1268
+ scope?: string | undefined;
1269
+ optional?: boolean | undefined;
1270
+ reason?: string | undefined;
1271
+ }[] | undefined;
1272
+ } & {
1273
+ act_as?: string | undefined;
1274
+ scopes?: ({
1275
+ scope?: string | undefined;
1276
+ optional?: boolean | undefined;
1277
+ reason?: string | undefined;
1278
+ }[] & ({
1279
+ scope?: string | undefined;
1280
+ optional?: boolean | undefined;
1281
+ reason?: string | undefined;
1282
+ } & {
1283
+ scope?: string | undefined;
1284
+ optional?: boolean | undefined;
1285
+ reason?: string | undefined;
1286
+ } & { [K_3 in Exclude<keyof I_1["scopes"][number], keyof ExternalScopeEntry>]: never; })[] & { [K_4 in Exclude<keyof I_1["scopes"], keyof {
1287
+ scope?: string | undefined;
1288
+ optional?: boolean | undefined;
1289
+ reason?: string | undefined;
1290
+ }[]>]: never; }) | undefined;
1291
+ } & { [K_5 in Exclude<keyof I_1, keyof ExternalImpersonationScopeEntry>]: never; }>(object: I_1): ExternalImpersonationScopeEntry;
451
1292
  };
452
1293
  type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
453
1294
  export type DeepPartial<T> = T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? {