@walkeros/cli 1.2.0 → 1.4.0-next-1771252576264

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/dist/index.d.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  import { Flow, Elb } from '@walkeros/core';
2
2
  export { Flow } from '@walkeros/core';
3
3
  import { BuildOptions as BuildOptions$1 } from 'esbuild';
4
+ import { z } from '@walkeros/core/dev';
5
+ import * as openapi_fetch from 'openapi-fetch';
4
6
 
5
7
  /**
6
8
  * CLI Build Configuration
@@ -162,6 +164,19 @@ interface GlobalOptions {
162
164
  silent?: boolean;
163
165
  }
164
166
 
167
+ /**
168
+ * Input Detector
169
+ *
170
+ * Detects whether CLI input is a config JSON or pre-built bundle.
171
+ * Supports both local files and URLs.
172
+ */
173
+ type Platform$1 = 'web' | 'server';
174
+
175
+ declare function getToken(): string | undefined;
176
+ declare function getAuthHeaders(): Record<string, string>;
177
+ declare function resolveBaseUrl(): string;
178
+ declare function requireProjectId(): string;
179
+
165
180
  interface BundleStats {
166
181
  totalSize: number;
167
182
  packages: {
@@ -173,7 +188,8 @@ interface BundleStats {
173
188
  }
174
189
 
175
190
  interface BundleCommandOptions {
176
- config: string;
191
+ config?: string;
192
+ output?: string;
177
193
  flow?: string;
178
194
  all?: boolean;
179
195
  stats?: boolean;
@@ -224,6 +240,16 @@ declare function bundle(configOrPath: unknown, options?: {
224
240
  flowName?: string;
225
241
  buildOverrides?: Partial<BuildOptions>;
226
242
  }): Promise<BundleStats | void>;
243
+ /**
244
+ * Bundle a flow remotely using the walkerOS cloud service.
245
+ */
246
+ declare function bundleRemote(options: {
247
+ content: Record<string, unknown>;
248
+ }): Promise<{
249
+ bundle: string;
250
+ size: number;
251
+ stats: any;
252
+ }>;
227
253
 
228
254
  /**
229
255
  * Call Tracker for Simulation
@@ -239,7 +265,8 @@ interface ApiCall {
239
265
  }
240
266
 
241
267
  interface SimulateCommandOptions {
242
- config: string;
268
+ config?: string;
269
+ output?: string;
243
270
  event?: string;
244
271
  flow?: string;
245
272
  json?: boolean;
@@ -257,6 +284,36 @@ interface SimulationResult {
257
284
  duration?: number;
258
285
  }
259
286
 
287
+ /**
288
+ * Simulate Command Schemas
289
+ *
290
+ * Zod schemas for simulate command parameter validation.
291
+ */
292
+
293
+ /**
294
+ * Platform schema.
295
+ *
296
+ * @remarks
297
+ * Validates platform type for event simulation.
298
+ */
299
+ declare const PlatformSchema: z.ZodEnum<{
300
+ web: "web";
301
+ server: "server";
302
+ }>;
303
+ type Platform = z.infer<typeof PlatformSchema>;
304
+ /**
305
+ * Simulate options schema.
306
+ *
307
+ * @remarks
308
+ * Options for the programmatic simulate() API.
309
+ */
310
+ declare const SimulateOptionsSchema: z.ZodObject<{
311
+ silent: z.ZodOptional<z.ZodBoolean>;
312
+ verbose: z.ZodOptional<z.ZodBoolean>;
313
+ json: z.ZodOptional<z.ZodBoolean>;
314
+ }, z.core.$strip>;
315
+ type SimulateOptions = z.infer<typeof SimulateOptionsSchema>;
316
+
260
317
  /**
261
318
  * CLI command handler for simulate command
262
319
  */
@@ -295,29 +352,83 @@ declare function simulateCommand(options: SimulateCommandOptions): Promise<void>
295
352
  * );
296
353
  * ```
297
354
  */
298
- declare function simulate(configOrPath: string | unknown, event: unknown, options?: {
299
- silent?: boolean;
300
- verbose?: boolean;
301
- json?: boolean;
355
+ declare function simulate(configOrPath: string | unknown, event: unknown, options?: SimulateOptions & {
356
+ flow?: string;
357
+ platform?: Platform;
302
358
  }): Promise<SimulationResult>;
303
359
 
304
360
  /**
305
361
  * Push command options
306
362
  */
307
363
  interface PushCommandOptions {
308
- config: string;
364
+ config?: string;
309
365
  event: string;
366
+ output?: string;
310
367
  flow?: string;
311
368
  json?: boolean;
312
369
  verbose?: boolean;
313
370
  silent?: boolean;
314
371
  platform?: 'web' | 'server';
315
372
  }
373
+ /**
374
+ * Push execution result
375
+ */
376
+ interface PushResult {
377
+ success: boolean;
378
+ elbResult?: Elb.PushResult;
379
+ duration: number;
380
+ error?: string;
381
+ }
382
+
383
+ /**
384
+ * Push Command Schemas
385
+ *
386
+ * Zod schemas for push command parameter validation.
387
+ */
388
+
389
+ /**
390
+ * Push options schema.
391
+ *
392
+ * @remarks
393
+ * Options for the programmatic push() API.
394
+ */
395
+ declare const PushOptionsSchema: z.ZodObject<{
396
+ silent: z.ZodOptional<z.ZodBoolean>;
397
+ verbose: z.ZodOptional<z.ZodBoolean>;
398
+ json: z.ZodOptional<z.ZodBoolean>;
399
+ }, z.core.$strip>;
400
+ type PushOptions = z.infer<typeof PushOptionsSchema>;
316
401
 
317
402
  /**
318
403
  * CLI command handler for push command
319
404
  */
320
405
  declare function pushCommand(options: PushCommandOptions): Promise<void>;
406
+ /**
407
+ * High-level push function for programmatic usage.
408
+ *
409
+ * WARNING: This makes real API calls to real endpoints.
410
+ * Events will be sent to configured destinations (analytics, CRM, etc.).
411
+ *
412
+ * @param configOrPath - Path to flow configuration file or pre-built bundle
413
+ * @param event - Event object to push
414
+ * @param options - Push options
415
+ * @param options.silent - Suppress all output (default: false)
416
+ * @param options.verbose - Enable verbose logging (default: false)
417
+ * @param options.json - Format output as JSON (default: false)
418
+ * @returns Push result with success status, elb result, and duration
419
+ *
420
+ * @example
421
+ * ```typescript
422
+ * const result = await push('./walker.config.json', {
423
+ * name: 'page view',
424
+ * data: { title: 'Home Page', path: '/', url: 'https://example.com' }
425
+ * });
426
+ * ```
427
+ */
428
+ declare function push(configOrPath: string | unknown, event: unknown, options?: PushOptions & {
429
+ flow?: string;
430
+ platform?: Platform$1;
431
+ }): Promise<PushResult>;
321
432
 
322
433
  /**
323
434
  * Run Command Types
@@ -419,7 +530,7 @@ declare function runCommand(mode: string, options: RunCommandOptions): Promise<v
419
530
  */
420
531
  declare function run(mode: RunMode, options: RunOptions): Promise<RunResult>;
421
532
 
422
- type ValidationType = 'event' | 'flow' | 'mapping';
533
+ type ValidationType = 'event' | 'flow' | 'mapping' | 'entry';
423
534
  interface ValidationError {
424
535
  path: string;
425
536
  message: string;
@@ -443,8 +554,2365 @@ interface ValidateResult {
443
554
  * Programmatic API for validation.
444
555
  * Can be called directly from code or MCP server.
445
556
  */
446
- declare function validate(type: ValidationType, input: unknown, options?: {
557
+ declare function validate(type: ValidationType | string, input: unknown, options?: {
447
558
  flow?: string;
448
559
  }): Promise<ValidateResult>;
449
560
 
450
- export { type BuildOptions, type BundleStats, type CLIBuildOptions, type GlobalOptions, type MinifyOptions, type RunCommandOptions, type RunMode, type RunOptions, type RunResult, type SimulationResult, type ValidateResult, type ValidationError, type ValidationType, type ValidationWarning, bundle, bundleCommand, pushCommand, run, runCommand, simulate, simulateCommand, validate };
561
+ /**
562
+ * This file was auto-generated by openapi-typescript.
563
+ * Do not make direct changes to the file.
564
+ */
565
+
566
+ interface paths {
567
+ '/api/auth/magic-link': {
568
+ parameters: {
569
+ query?: never;
570
+ header?: never;
571
+ path?: never;
572
+ cookie?: never;
573
+ };
574
+ get?: never;
575
+ put?: never;
576
+ /**
577
+ * Request magic link
578
+ * @description Send a magic link to the provided email address for passwordless authentication. Always returns success to prevent email enumeration.
579
+ */
580
+ post: {
581
+ parameters: {
582
+ query?: never;
583
+ header?: never;
584
+ path?: never;
585
+ cookie?: never;
586
+ };
587
+ requestBody?: {
588
+ content: {
589
+ 'application/json': components['schemas']['MagicLinkRequest'];
590
+ };
591
+ };
592
+ responses: {
593
+ /** @description Magic link sent (or would be sent if email exists) */
594
+ 200: {
595
+ headers: {
596
+ [name: string]: unknown;
597
+ };
598
+ content: {
599
+ 'application/json': components['schemas']['MagicLinkResponse'];
600
+ };
601
+ };
602
+ /** @description Validation error */
603
+ 400: {
604
+ headers: {
605
+ [name: string]: unknown;
606
+ };
607
+ content: {
608
+ 'application/json': components['schemas']['ErrorResponse'];
609
+ };
610
+ };
611
+ };
612
+ };
613
+ delete?: never;
614
+ options?: never;
615
+ head?: never;
616
+ patch?: never;
617
+ trace?: never;
618
+ };
619
+ '/api/auth/verify': {
620
+ parameters: {
621
+ query?: never;
622
+ header?: never;
623
+ path?: never;
624
+ cookie?: never;
625
+ };
626
+ /**
627
+ * Verify magic link token
628
+ * @description Verify a magic link token and create an authenticated session. Redirects to the specified URL or home page.
629
+ */
630
+ get: {
631
+ parameters: {
632
+ query: {
633
+ /** @description Magic link token */
634
+ token: string;
635
+ /** @description Redirect URL after verification */
636
+ redirect_to?: string;
637
+ };
638
+ header?: never;
639
+ path?: never;
640
+ cookie?: never;
641
+ };
642
+ requestBody?: never;
643
+ responses: {
644
+ /** @description Redirect to target URL with session cookie set */
645
+ 302: {
646
+ headers: {
647
+ [name: string]: unknown;
648
+ };
649
+ content?: never;
650
+ };
651
+ };
652
+ };
653
+ put?: never;
654
+ post?: never;
655
+ delete?: never;
656
+ options?: never;
657
+ head?: never;
658
+ patch?: never;
659
+ trace?: never;
660
+ };
661
+ '/api/auth/logout': {
662
+ parameters: {
663
+ query?: never;
664
+ header?: never;
665
+ path?: never;
666
+ cookie?: never;
667
+ };
668
+ get?: never;
669
+ put?: never;
670
+ /**
671
+ * End session
672
+ * @description Destroy the current session and clear the session cookie.
673
+ */
674
+ post: {
675
+ parameters: {
676
+ query?: never;
677
+ header?: never;
678
+ path?: never;
679
+ cookie?: never;
680
+ };
681
+ requestBody?: never;
682
+ responses: {
683
+ /** @description Redirect to login page */
684
+ 302: {
685
+ headers: {
686
+ [name: string]: unknown;
687
+ };
688
+ content?: never;
689
+ };
690
+ };
691
+ };
692
+ delete?: never;
693
+ options?: never;
694
+ head?: never;
695
+ patch?: never;
696
+ trace?: never;
697
+ };
698
+ '/api/auth/whoami': {
699
+ parameters: {
700
+ query?: never;
701
+ header?: never;
702
+ path?: never;
703
+ cookie?: never;
704
+ };
705
+ /**
706
+ * Current identity
707
+ * @description Return the identity of the authenticated user. Supports session cookie and Bearer token.
708
+ */
709
+ get: {
710
+ parameters: {
711
+ query?: never;
712
+ header?: never;
713
+ path?: never;
714
+ cookie?: never;
715
+ };
716
+ requestBody?: never;
717
+ responses: {
718
+ /** @description Current user identity */
719
+ 200: {
720
+ headers: {
721
+ [name: string]: unknown;
722
+ };
723
+ content: {
724
+ 'application/json': components['schemas']['WhoamiResponse'];
725
+ };
726
+ };
727
+ /** @description Unauthorized */
728
+ 401: {
729
+ headers: {
730
+ [name: string]: unknown;
731
+ };
732
+ content: {
733
+ 'application/json': components['schemas']['ErrorResponse'];
734
+ };
735
+ };
736
+ };
737
+ };
738
+ put?: never;
739
+ post?: never;
740
+ delete?: never;
741
+ options?: never;
742
+ head?: never;
743
+ patch?: never;
744
+ trace?: never;
745
+ };
746
+ '/api/projects': {
747
+ parameters: {
748
+ query?: never;
749
+ header?: never;
750
+ path?: never;
751
+ cookie?: never;
752
+ };
753
+ /**
754
+ * List my projects
755
+ * @description List all projects where the authenticated user is a member.
756
+ */
757
+ get: {
758
+ parameters: {
759
+ query?: never;
760
+ header?: never;
761
+ path?: never;
762
+ cookie?: never;
763
+ };
764
+ requestBody?: never;
765
+ responses: {
766
+ /** @description List of projects */
767
+ 200: {
768
+ headers: {
769
+ [name: string]: unknown;
770
+ };
771
+ content: {
772
+ 'application/json': components['schemas']['ListProjectsResponse'];
773
+ };
774
+ };
775
+ /** @description Unauthorized */
776
+ 401: {
777
+ headers: {
778
+ [name: string]: unknown;
779
+ };
780
+ content: {
781
+ 'application/json': components['schemas']['ErrorResponse'];
782
+ };
783
+ };
784
+ };
785
+ };
786
+ put?: never;
787
+ /**
788
+ * Create project
789
+ * @description Create a new project. The authenticated user becomes the owner.
790
+ */
791
+ post: {
792
+ parameters: {
793
+ query?: never;
794
+ header?: never;
795
+ path?: never;
796
+ cookie?: never;
797
+ };
798
+ requestBody?: {
799
+ content: {
800
+ 'application/json': components['schemas']['CreateProjectRequest'];
801
+ };
802
+ };
803
+ responses: {
804
+ /** @description Project created */
805
+ 201: {
806
+ headers: {
807
+ [name: string]: unknown;
808
+ };
809
+ content: {
810
+ 'application/json': components['schemas']['Project'];
811
+ };
812
+ };
813
+ /** @description Validation error */
814
+ 400: {
815
+ headers: {
816
+ [name: string]: unknown;
817
+ };
818
+ content: {
819
+ 'application/json': components['schemas']['ErrorResponse'];
820
+ };
821
+ };
822
+ /** @description Unauthorized */
823
+ 401: {
824
+ headers: {
825
+ [name: string]: unknown;
826
+ };
827
+ content: {
828
+ 'application/json': components['schemas']['ErrorResponse'];
829
+ };
830
+ };
831
+ };
832
+ };
833
+ delete?: never;
834
+ options?: never;
835
+ head?: never;
836
+ patch?: never;
837
+ trace?: never;
838
+ };
839
+ '/api/projects/{projectId}': {
840
+ parameters: {
841
+ query?: never;
842
+ header?: never;
843
+ path?: never;
844
+ cookie?: never;
845
+ };
846
+ /**
847
+ * Get project
848
+ * @description Get a single project by ID. Requires membership.
849
+ */
850
+ get: {
851
+ parameters: {
852
+ query?: never;
853
+ header?: never;
854
+ path: {
855
+ projectId: string;
856
+ };
857
+ cookie?: never;
858
+ };
859
+ requestBody?: never;
860
+ responses: {
861
+ /** @description Project details */
862
+ 200: {
863
+ headers: {
864
+ [name: string]: unknown;
865
+ };
866
+ content: {
867
+ 'application/json': components['schemas']['Project'];
868
+ };
869
+ };
870
+ /** @description Unauthorized */
871
+ 401: {
872
+ headers: {
873
+ [name: string]: unknown;
874
+ };
875
+ content: {
876
+ 'application/json': components['schemas']['ErrorResponse'];
877
+ };
878
+ };
879
+ /** @description Not found */
880
+ 404: {
881
+ headers: {
882
+ [name: string]: unknown;
883
+ };
884
+ content: {
885
+ 'application/json': components['schemas']['ErrorResponse'];
886
+ };
887
+ };
888
+ };
889
+ };
890
+ put?: never;
891
+ post?: never;
892
+ /**
893
+ * Delete project
894
+ * @description Delete a project and all its resources. Requires owner role.
895
+ */
896
+ delete: {
897
+ parameters: {
898
+ query?: never;
899
+ header?: never;
900
+ path: {
901
+ projectId: string;
902
+ };
903
+ cookie?: never;
904
+ };
905
+ requestBody?: never;
906
+ responses: {
907
+ /** @description Project deleted */
908
+ 204: {
909
+ headers: {
910
+ [name: string]: unknown;
911
+ };
912
+ content?: never;
913
+ };
914
+ /** @description Unauthorized */
915
+ 401: {
916
+ headers: {
917
+ [name: string]: unknown;
918
+ };
919
+ content: {
920
+ 'application/json': components['schemas']['ErrorResponse'];
921
+ };
922
+ };
923
+ /** @description Forbidden */
924
+ 403: {
925
+ headers: {
926
+ [name: string]: unknown;
927
+ };
928
+ content: {
929
+ 'application/json': components['schemas']['ErrorResponse'];
930
+ };
931
+ };
932
+ /** @description Not found */
933
+ 404: {
934
+ headers: {
935
+ [name: string]: unknown;
936
+ };
937
+ content: {
938
+ 'application/json': components['schemas']['ErrorResponse'];
939
+ };
940
+ };
941
+ };
942
+ };
943
+ options?: never;
944
+ head?: never;
945
+ /**
946
+ * Update project
947
+ * @description Update project details. Requires owner role.
948
+ */
949
+ patch: {
950
+ parameters: {
951
+ query?: never;
952
+ header?: never;
953
+ path: {
954
+ projectId: string;
955
+ };
956
+ cookie?: never;
957
+ };
958
+ requestBody?: {
959
+ content: {
960
+ 'application/json': components['schemas']['UpdateProjectRequest'];
961
+ };
962
+ };
963
+ responses: {
964
+ /** @description Project updated */
965
+ 200: {
966
+ headers: {
967
+ [name: string]: unknown;
968
+ };
969
+ content: {
970
+ 'application/json': components['schemas']['Project'];
971
+ };
972
+ };
973
+ /** @description Validation error */
974
+ 400: {
975
+ headers: {
976
+ [name: string]: unknown;
977
+ };
978
+ content: {
979
+ 'application/json': components['schemas']['ErrorResponse'];
980
+ };
981
+ };
982
+ /** @description Unauthorized */
983
+ 401: {
984
+ headers: {
985
+ [name: string]: unknown;
986
+ };
987
+ content: {
988
+ 'application/json': components['schemas']['ErrorResponse'];
989
+ };
990
+ };
991
+ /** @description Forbidden */
992
+ 403: {
993
+ headers: {
994
+ [name: string]: unknown;
995
+ };
996
+ content: {
997
+ 'application/json': components['schemas']['ErrorResponse'];
998
+ };
999
+ };
1000
+ /** @description Not found */
1001
+ 404: {
1002
+ headers: {
1003
+ [name: string]: unknown;
1004
+ };
1005
+ content: {
1006
+ 'application/json': components['schemas']['ErrorResponse'];
1007
+ };
1008
+ };
1009
+ };
1010
+ };
1011
+ trace?: never;
1012
+ };
1013
+ '/api/projects/{projectId}/members': {
1014
+ parameters: {
1015
+ query?: never;
1016
+ header?: never;
1017
+ path?: never;
1018
+ cookie?: never;
1019
+ };
1020
+ /**
1021
+ * List members
1022
+ * @description List all members of a project. Requires membership.
1023
+ */
1024
+ get: {
1025
+ parameters: {
1026
+ query?: never;
1027
+ header?: never;
1028
+ path: {
1029
+ projectId: string;
1030
+ };
1031
+ cookie?: never;
1032
+ };
1033
+ requestBody?: never;
1034
+ responses: {
1035
+ /** @description List of members */
1036
+ 200: {
1037
+ headers: {
1038
+ [name: string]: unknown;
1039
+ };
1040
+ content: {
1041
+ 'application/json': components['schemas']['ListMembersResponse'];
1042
+ };
1043
+ };
1044
+ /** @description Unauthorized */
1045
+ 401: {
1046
+ headers: {
1047
+ [name: string]: unknown;
1048
+ };
1049
+ content: {
1050
+ 'application/json': components['schemas']['ErrorResponse'];
1051
+ };
1052
+ };
1053
+ /** @description Not found */
1054
+ 404: {
1055
+ headers: {
1056
+ [name: string]: unknown;
1057
+ };
1058
+ content: {
1059
+ 'application/json': components['schemas']['ErrorResponse'];
1060
+ };
1061
+ };
1062
+ };
1063
+ };
1064
+ put?: never;
1065
+ /**
1066
+ * Add member
1067
+ * @description Add a member to the project by email. Requires owner role.
1068
+ */
1069
+ post: {
1070
+ parameters: {
1071
+ query?: never;
1072
+ header?: never;
1073
+ path: {
1074
+ projectId: string;
1075
+ };
1076
+ cookie?: never;
1077
+ };
1078
+ requestBody?: {
1079
+ content: {
1080
+ 'application/json': components['schemas']['AddMemberRequest'];
1081
+ };
1082
+ };
1083
+ responses: {
1084
+ /** @description Member added */
1085
+ 201: {
1086
+ headers: {
1087
+ [name: string]: unknown;
1088
+ };
1089
+ content: {
1090
+ 'application/json': components['schemas']['Member'];
1091
+ };
1092
+ };
1093
+ /** @description Validation error */
1094
+ 400: {
1095
+ headers: {
1096
+ [name: string]: unknown;
1097
+ };
1098
+ content: {
1099
+ 'application/json': components['schemas']['ErrorResponse'];
1100
+ };
1101
+ };
1102
+ /** @description Unauthorized */
1103
+ 401: {
1104
+ headers: {
1105
+ [name: string]: unknown;
1106
+ };
1107
+ content: {
1108
+ 'application/json': components['schemas']['ErrorResponse'];
1109
+ };
1110
+ };
1111
+ /** @description Forbidden */
1112
+ 403: {
1113
+ headers: {
1114
+ [name: string]: unknown;
1115
+ };
1116
+ content: {
1117
+ 'application/json': components['schemas']['ErrorResponse'];
1118
+ };
1119
+ };
1120
+ /** @description Not found */
1121
+ 404: {
1122
+ headers: {
1123
+ [name: string]: unknown;
1124
+ };
1125
+ content: {
1126
+ 'application/json': components['schemas']['ErrorResponse'];
1127
+ };
1128
+ };
1129
+ /** @description Conflict */
1130
+ 409: {
1131
+ headers: {
1132
+ [name: string]: unknown;
1133
+ };
1134
+ content: {
1135
+ 'application/json': components['schemas']['ErrorResponse'];
1136
+ };
1137
+ };
1138
+ };
1139
+ };
1140
+ delete?: never;
1141
+ options?: never;
1142
+ head?: never;
1143
+ patch?: never;
1144
+ trace?: never;
1145
+ };
1146
+ '/api/projects/{projectId}/members/{userId}': {
1147
+ parameters: {
1148
+ query?: never;
1149
+ header?: never;
1150
+ path?: never;
1151
+ cookie?: never;
1152
+ };
1153
+ get?: never;
1154
+ put?: never;
1155
+ post?: never;
1156
+ /**
1157
+ * Remove member
1158
+ * @description Remove a member from the project. Requires owner role.
1159
+ */
1160
+ delete: {
1161
+ parameters: {
1162
+ query?: never;
1163
+ header?: never;
1164
+ path: {
1165
+ projectId: string;
1166
+ userId: string;
1167
+ };
1168
+ cookie?: never;
1169
+ };
1170
+ requestBody?: never;
1171
+ responses: {
1172
+ /** @description Member removed */
1173
+ 204: {
1174
+ headers: {
1175
+ [name: string]: unknown;
1176
+ };
1177
+ content?: never;
1178
+ };
1179
+ /** @description Unauthorized */
1180
+ 401: {
1181
+ headers: {
1182
+ [name: string]: unknown;
1183
+ };
1184
+ content: {
1185
+ 'application/json': components['schemas']['ErrorResponse'];
1186
+ };
1187
+ };
1188
+ /** @description Forbidden */
1189
+ 403: {
1190
+ headers: {
1191
+ [name: string]: unknown;
1192
+ };
1193
+ content: {
1194
+ 'application/json': components['schemas']['ErrorResponse'];
1195
+ };
1196
+ };
1197
+ /** @description Not found */
1198
+ 404: {
1199
+ headers: {
1200
+ [name: string]: unknown;
1201
+ };
1202
+ content: {
1203
+ 'application/json': components['schemas']['ErrorResponse'];
1204
+ };
1205
+ };
1206
+ };
1207
+ };
1208
+ options?: never;
1209
+ head?: never;
1210
+ /**
1211
+ * Update member role
1212
+ * @description Update a member's role. Requires owner role.
1213
+ */
1214
+ patch: {
1215
+ parameters: {
1216
+ query?: never;
1217
+ header?: never;
1218
+ path: {
1219
+ projectId: string;
1220
+ userId: string;
1221
+ };
1222
+ cookie?: never;
1223
+ };
1224
+ requestBody?: {
1225
+ content: {
1226
+ 'application/json': components['schemas']['UpdateMemberRequest'];
1227
+ };
1228
+ };
1229
+ responses: {
1230
+ /** @description Role updated */
1231
+ 200: {
1232
+ headers: {
1233
+ [name: string]: unknown;
1234
+ };
1235
+ content: {
1236
+ 'application/json': components['schemas']['Member'];
1237
+ };
1238
+ };
1239
+ /** @description Validation error */
1240
+ 400: {
1241
+ headers: {
1242
+ [name: string]: unknown;
1243
+ };
1244
+ content: {
1245
+ 'application/json': components['schemas']['ErrorResponse'];
1246
+ };
1247
+ };
1248
+ /** @description Unauthorized */
1249
+ 401: {
1250
+ headers: {
1251
+ [name: string]: unknown;
1252
+ };
1253
+ content: {
1254
+ 'application/json': components['schemas']['ErrorResponse'];
1255
+ };
1256
+ };
1257
+ /** @description Forbidden */
1258
+ 403: {
1259
+ headers: {
1260
+ [name: string]: unknown;
1261
+ };
1262
+ content: {
1263
+ 'application/json': components['schemas']['ErrorResponse'];
1264
+ };
1265
+ };
1266
+ /** @description Not found */
1267
+ 404: {
1268
+ headers: {
1269
+ [name: string]: unknown;
1270
+ };
1271
+ content: {
1272
+ 'application/json': components['schemas']['ErrorResponse'];
1273
+ };
1274
+ };
1275
+ };
1276
+ };
1277
+ trace?: never;
1278
+ };
1279
+ '/api/projects/{projectId}/flows': {
1280
+ parameters: {
1281
+ query?: never;
1282
+ header?: never;
1283
+ path?: never;
1284
+ cookie?: never;
1285
+ };
1286
+ /**
1287
+ * List flows
1288
+ * @description List all flows for a project.
1289
+ */
1290
+ get: {
1291
+ parameters: {
1292
+ query?: {
1293
+ sort?: 'name' | 'updated_at' | 'created_at';
1294
+ order?: 'asc' | 'desc';
1295
+ include_deleted?: 'true' | 'false';
1296
+ };
1297
+ header?: never;
1298
+ path: {
1299
+ projectId: string;
1300
+ };
1301
+ cookie?: never;
1302
+ };
1303
+ requestBody?: never;
1304
+ responses: {
1305
+ /** @description List of flows */
1306
+ 200: {
1307
+ headers: {
1308
+ [name: string]: unknown;
1309
+ };
1310
+ content: {
1311
+ 'application/json': components['schemas']['ListFlowsResponse'];
1312
+ };
1313
+ };
1314
+ /** @description Unauthorized */
1315
+ 401: {
1316
+ headers: {
1317
+ [name: string]: unknown;
1318
+ };
1319
+ content: {
1320
+ 'application/json': components['schemas']['ErrorResponse'];
1321
+ };
1322
+ };
1323
+ /** @description Not found */
1324
+ 404: {
1325
+ headers: {
1326
+ [name: string]: unknown;
1327
+ };
1328
+ content: {
1329
+ 'application/json': components['schemas']['ErrorResponse'];
1330
+ };
1331
+ };
1332
+ };
1333
+ };
1334
+ put?: never;
1335
+ /**
1336
+ * Create flow
1337
+ * @description Create a new flow in the project. Requires owner role.
1338
+ */
1339
+ post: {
1340
+ parameters: {
1341
+ query?: never;
1342
+ header?: never;
1343
+ path: {
1344
+ projectId: string;
1345
+ };
1346
+ cookie?: never;
1347
+ };
1348
+ requestBody?: {
1349
+ content: {
1350
+ 'application/json': components['schemas']['CreateFlowRequest'];
1351
+ };
1352
+ };
1353
+ responses: {
1354
+ /** @description Flow created */
1355
+ 201: {
1356
+ headers: {
1357
+ [name: string]: unknown;
1358
+ };
1359
+ content: {
1360
+ 'application/json': components['schemas']['Flow'];
1361
+ };
1362
+ };
1363
+ /** @description Validation error */
1364
+ 400: {
1365
+ headers: {
1366
+ [name: string]: unknown;
1367
+ };
1368
+ content: {
1369
+ 'application/json': components['schemas']['ErrorResponse'];
1370
+ };
1371
+ };
1372
+ /** @description Unauthorized */
1373
+ 401: {
1374
+ headers: {
1375
+ [name: string]: unknown;
1376
+ };
1377
+ content: {
1378
+ 'application/json': components['schemas']['ErrorResponse'];
1379
+ };
1380
+ };
1381
+ /** @description Forbidden */
1382
+ 403: {
1383
+ headers: {
1384
+ [name: string]: unknown;
1385
+ };
1386
+ content: {
1387
+ 'application/json': components['schemas']['ErrorResponse'];
1388
+ };
1389
+ };
1390
+ /** @description Conflict */
1391
+ 409: {
1392
+ headers: {
1393
+ [name: string]: unknown;
1394
+ };
1395
+ content: {
1396
+ 'application/json': components['schemas']['ErrorResponse'];
1397
+ };
1398
+ };
1399
+ };
1400
+ };
1401
+ delete?: never;
1402
+ options?: never;
1403
+ head?: never;
1404
+ patch?: never;
1405
+ trace?: never;
1406
+ };
1407
+ '/api/projects/{projectId}/flows/{flowId}': {
1408
+ parameters: {
1409
+ query?: never;
1410
+ header?: never;
1411
+ path?: never;
1412
+ cookie?: never;
1413
+ };
1414
+ /**
1415
+ * Get flow
1416
+ * @description Get a single flow by ID.
1417
+ */
1418
+ get: {
1419
+ parameters: {
1420
+ query?: never;
1421
+ header?: never;
1422
+ path: {
1423
+ projectId: string;
1424
+ flowId: string;
1425
+ };
1426
+ cookie?: never;
1427
+ };
1428
+ requestBody?: never;
1429
+ responses: {
1430
+ /** @description Flow details */
1431
+ 200: {
1432
+ headers: {
1433
+ [name: string]: unknown;
1434
+ };
1435
+ content: {
1436
+ 'application/json': components['schemas']['Flow'];
1437
+ };
1438
+ };
1439
+ /** @description Unauthorized */
1440
+ 401: {
1441
+ headers: {
1442
+ [name: string]: unknown;
1443
+ };
1444
+ content: {
1445
+ 'application/json': components['schemas']['ErrorResponse'];
1446
+ };
1447
+ };
1448
+ /** @description Not found */
1449
+ 404: {
1450
+ headers: {
1451
+ [name: string]: unknown;
1452
+ };
1453
+ content: {
1454
+ 'application/json': components['schemas']['ErrorResponse'];
1455
+ };
1456
+ };
1457
+ };
1458
+ };
1459
+ put?: never;
1460
+ post?: never;
1461
+ /**
1462
+ * Soft-delete flow
1463
+ * @description Soft delete a flow (sets deleted_at timestamp). Requires owner role.
1464
+ */
1465
+ delete: {
1466
+ parameters: {
1467
+ query?: never;
1468
+ header?: never;
1469
+ path: {
1470
+ projectId: string;
1471
+ flowId: string;
1472
+ };
1473
+ cookie?: never;
1474
+ };
1475
+ requestBody?: never;
1476
+ responses: {
1477
+ /** @description Flow deleted */
1478
+ 204: {
1479
+ headers: {
1480
+ [name: string]: unknown;
1481
+ };
1482
+ content?: never;
1483
+ };
1484
+ /** @description Unauthorized */
1485
+ 401: {
1486
+ headers: {
1487
+ [name: string]: unknown;
1488
+ };
1489
+ content: {
1490
+ 'application/json': components['schemas']['ErrorResponse'];
1491
+ };
1492
+ };
1493
+ /** @description Forbidden */
1494
+ 403: {
1495
+ headers: {
1496
+ [name: string]: unknown;
1497
+ };
1498
+ content: {
1499
+ 'application/json': components['schemas']['ErrorResponse'];
1500
+ };
1501
+ };
1502
+ /** @description Not found */
1503
+ 404: {
1504
+ headers: {
1505
+ [name: string]: unknown;
1506
+ };
1507
+ content: {
1508
+ 'application/json': components['schemas']['ErrorResponse'];
1509
+ };
1510
+ };
1511
+ };
1512
+ };
1513
+ options?: never;
1514
+ head?: never;
1515
+ /**
1516
+ * Update flow
1517
+ * @description Update an existing flow. Creates a version snapshot before applying changes. Requires owner role.
1518
+ */
1519
+ patch: {
1520
+ parameters: {
1521
+ query?: never;
1522
+ header?: never;
1523
+ path: {
1524
+ projectId: string;
1525
+ flowId: string;
1526
+ };
1527
+ cookie?: never;
1528
+ };
1529
+ requestBody?: {
1530
+ content: {
1531
+ 'application/json': components['schemas']['UpdateFlowRequest'];
1532
+ };
1533
+ };
1534
+ responses: {
1535
+ /** @description Flow updated */
1536
+ 200: {
1537
+ headers: {
1538
+ [name: string]: unknown;
1539
+ };
1540
+ content: {
1541
+ 'application/json': components['schemas']['Flow'];
1542
+ };
1543
+ };
1544
+ /** @description Validation error */
1545
+ 400: {
1546
+ headers: {
1547
+ [name: string]: unknown;
1548
+ };
1549
+ content: {
1550
+ 'application/json': components['schemas']['ErrorResponse'];
1551
+ };
1552
+ };
1553
+ /** @description Unauthorized */
1554
+ 401: {
1555
+ headers: {
1556
+ [name: string]: unknown;
1557
+ };
1558
+ content: {
1559
+ 'application/json': components['schemas']['ErrorResponse'];
1560
+ };
1561
+ };
1562
+ /** @description Forbidden */
1563
+ 403: {
1564
+ headers: {
1565
+ [name: string]: unknown;
1566
+ };
1567
+ content: {
1568
+ 'application/json': components['schemas']['ErrorResponse'];
1569
+ };
1570
+ };
1571
+ /** @description Not found */
1572
+ 404: {
1573
+ headers: {
1574
+ [name: string]: unknown;
1575
+ };
1576
+ content: {
1577
+ 'application/json': components['schemas']['ErrorResponse'];
1578
+ };
1579
+ };
1580
+ /** @description Conflict */
1581
+ 409: {
1582
+ headers: {
1583
+ [name: string]: unknown;
1584
+ };
1585
+ content: {
1586
+ 'application/json': components['schemas']['ErrorResponse'];
1587
+ };
1588
+ };
1589
+ };
1590
+ };
1591
+ trace?: never;
1592
+ };
1593
+ '/api/projects/{projectId}/flows/{flowId}/duplicate': {
1594
+ parameters: {
1595
+ query?: never;
1596
+ header?: never;
1597
+ path?: never;
1598
+ cookie?: never;
1599
+ };
1600
+ get?: never;
1601
+ put?: never;
1602
+ /**
1603
+ * Duplicate flow
1604
+ * @description Create a copy of an existing flow with a new ID and no version history. Requires owner role.
1605
+ */
1606
+ post: {
1607
+ parameters: {
1608
+ query?: never;
1609
+ header?: never;
1610
+ path: {
1611
+ projectId: string;
1612
+ flowId: string;
1613
+ };
1614
+ cookie?: never;
1615
+ };
1616
+ requestBody?: {
1617
+ content: {
1618
+ 'application/json': components['schemas']['DuplicateFlowRequest'];
1619
+ };
1620
+ };
1621
+ responses: {
1622
+ /** @description Flow duplicated */
1623
+ 201: {
1624
+ headers: {
1625
+ [name: string]: unknown;
1626
+ };
1627
+ content: {
1628
+ 'application/json': components['schemas']['Flow'];
1629
+ };
1630
+ };
1631
+ /** @description Validation error */
1632
+ 400: {
1633
+ headers: {
1634
+ [name: string]: unknown;
1635
+ };
1636
+ content: {
1637
+ 'application/json': components['schemas']['ErrorResponse'];
1638
+ };
1639
+ };
1640
+ /** @description Unauthorized */
1641
+ 401: {
1642
+ headers: {
1643
+ [name: string]: unknown;
1644
+ };
1645
+ content: {
1646
+ 'application/json': components['schemas']['ErrorResponse'];
1647
+ };
1648
+ };
1649
+ /** @description Forbidden */
1650
+ 403: {
1651
+ headers: {
1652
+ [name: string]: unknown;
1653
+ };
1654
+ content: {
1655
+ 'application/json': components['schemas']['ErrorResponse'];
1656
+ };
1657
+ };
1658
+ /** @description Not found */
1659
+ 404: {
1660
+ headers: {
1661
+ [name: string]: unknown;
1662
+ };
1663
+ content: {
1664
+ 'application/json': components['schemas']['ErrorResponse'];
1665
+ };
1666
+ };
1667
+ /** @description Conflict */
1668
+ 409: {
1669
+ headers: {
1670
+ [name: string]: unknown;
1671
+ };
1672
+ content: {
1673
+ 'application/json': components['schemas']['ErrorResponse'];
1674
+ };
1675
+ };
1676
+ };
1677
+ };
1678
+ delete?: never;
1679
+ options?: never;
1680
+ head?: never;
1681
+ patch?: never;
1682
+ trace?: never;
1683
+ };
1684
+ '/api/projects/{projectId}/flows/{flowId}/versions': {
1685
+ parameters: {
1686
+ query?: never;
1687
+ header?: never;
1688
+ path?: never;
1689
+ cookie?: never;
1690
+ };
1691
+ /**
1692
+ * List versions
1693
+ * @description List all versions for a flow.
1694
+ */
1695
+ get: {
1696
+ parameters: {
1697
+ query?: never;
1698
+ header?: never;
1699
+ path: {
1700
+ projectId: string;
1701
+ flowId: string;
1702
+ };
1703
+ cookie?: never;
1704
+ };
1705
+ requestBody?: never;
1706
+ responses: {
1707
+ /** @description List of versions */
1708
+ 200: {
1709
+ headers: {
1710
+ [name: string]: unknown;
1711
+ };
1712
+ content: {
1713
+ 'application/json': components['schemas']['ListVersionsResponse'];
1714
+ };
1715
+ };
1716
+ /** @description Unauthorized */
1717
+ 401: {
1718
+ headers: {
1719
+ [name: string]: unknown;
1720
+ };
1721
+ content: {
1722
+ 'application/json': components['schemas']['ErrorResponse'];
1723
+ };
1724
+ };
1725
+ /** @description Not found */
1726
+ 404: {
1727
+ headers: {
1728
+ [name: string]: unknown;
1729
+ };
1730
+ content: {
1731
+ 'application/json': components['schemas']['ErrorResponse'];
1732
+ };
1733
+ };
1734
+ };
1735
+ };
1736
+ put?: never;
1737
+ post?: never;
1738
+ delete?: never;
1739
+ options?: never;
1740
+ head?: never;
1741
+ patch?: never;
1742
+ trace?: never;
1743
+ };
1744
+ '/api/projects/{projectId}/flows/{flowId}/versions/{versionNumber}': {
1745
+ parameters: {
1746
+ query?: never;
1747
+ header?: never;
1748
+ path?: never;
1749
+ cookie?: never;
1750
+ };
1751
+ /**
1752
+ * Get version
1753
+ * @description Get a specific version of a flow.
1754
+ */
1755
+ get: {
1756
+ parameters: {
1757
+ query?: never;
1758
+ header?: never;
1759
+ path: {
1760
+ projectId: string;
1761
+ flowId: string;
1762
+ versionNumber: number;
1763
+ };
1764
+ cookie?: never;
1765
+ };
1766
+ requestBody?: never;
1767
+ responses: {
1768
+ /** @description Version details with content */
1769
+ 200: {
1770
+ headers: {
1771
+ [name: string]: unknown;
1772
+ };
1773
+ content: {
1774
+ 'application/json': components['schemas']['GetVersionResponse'];
1775
+ };
1776
+ };
1777
+ /** @description Unauthorized */
1778
+ 401: {
1779
+ headers: {
1780
+ [name: string]: unknown;
1781
+ };
1782
+ content: {
1783
+ 'application/json': components['schemas']['ErrorResponse'];
1784
+ };
1785
+ };
1786
+ /** @description Not found */
1787
+ 404: {
1788
+ headers: {
1789
+ [name: string]: unknown;
1790
+ };
1791
+ content: {
1792
+ 'application/json': components['schemas']['ErrorResponse'];
1793
+ };
1794
+ };
1795
+ };
1796
+ };
1797
+ put?: never;
1798
+ post?: never;
1799
+ delete?: never;
1800
+ options?: never;
1801
+ head?: never;
1802
+ patch?: never;
1803
+ trace?: never;
1804
+ };
1805
+ '/api/projects/{projectId}/flows/{flowId}/versions/{versionNumber}/restore': {
1806
+ parameters: {
1807
+ query?: never;
1808
+ header?: never;
1809
+ path?: never;
1810
+ cookie?: never;
1811
+ };
1812
+ get?: never;
1813
+ put?: never;
1814
+ /**
1815
+ * Restore version
1816
+ * @description Restore a flow to a specific version. Creates a new version snapshot. Requires owner role.
1817
+ */
1818
+ post: {
1819
+ parameters: {
1820
+ query?: never;
1821
+ header?: never;
1822
+ path: {
1823
+ projectId: string;
1824
+ flowId: string;
1825
+ versionNumber: number;
1826
+ };
1827
+ cookie?: never;
1828
+ };
1829
+ requestBody?: never;
1830
+ responses: {
1831
+ /** @description Flow restored */
1832
+ 200: {
1833
+ headers: {
1834
+ [name: string]: unknown;
1835
+ };
1836
+ content: {
1837
+ 'application/json': components['schemas']['Flow'];
1838
+ };
1839
+ };
1840
+ /** @description Unauthorized */
1841
+ 401: {
1842
+ headers: {
1843
+ [name: string]: unknown;
1844
+ };
1845
+ content: {
1846
+ 'application/json': components['schemas']['ErrorResponse'];
1847
+ };
1848
+ };
1849
+ /** @description Forbidden */
1850
+ 403: {
1851
+ headers: {
1852
+ [name: string]: unknown;
1853
+ };
1854
+ content: {
1855
+ 'application/json': components['schemas']['ErrorResponse'];
1856
+ };
1857
+ };
1858
+ /** @description Not found */
1859
+ 404: {
1860
+ headers: {
1861
+ [name: string]: unknown;
1862
+ };
1863
+ content: {
1864
+ 'application/json': components['schemas']['ErrorResponse'];
1865
+ };
1866
+ };
1867
+ };
1868
+ };
1869
+ delete?: never;
1870
+ options?: never;
1871
+ head?: never;
1872
+ patch?: never;
1873
+ trace?: never;
1874
+ };
1875
+ '/api/tokens': {
1876
+ parameters: {
1877
+ query?: never;
1878
+ header?: never;
1879
+ path?: never;
1880
+ cookie?: never;
1881
+ };
1882
+ /**
1883
+ * List my tokens
1884
+ * @description List all API tokens for the authenticated user. Returns summaries (no raw token values).
1885
+ */
1886
+ get: {
1887
+ parameters: {
1888
+ query?: never;
1889
+ header?: never;
1890
+ path?: never;
1891
+ cookie?: never;
1892
+ };
1893
+ requestBody?: never;
1894
+ responses: {
1895
+ /** @description List of tokens */
1896
+ 200: {
1897
+ headers: {
1898
+ [name: string]: unknown;
1899
+ };
1900
+ content: {
1901
+ 'application/json': components['schemas']['ListApiTokensResponse'];
1902
+ };
1903
+ };
1904
+ /** @description Unauthorized */
1905
+ 401: {
1906
+ headers: {
1907
+ [name: string]: unknown;
1908
+ };
1909
+ content: {
1910
+ 'application/json': components['schemas']['ErrorResponse'];
1911
+ };
1912
+ };
1913
+ };
1914
+ };
1915
+ put?: never;
1916
+ /**
1917
+ * Create token
1918
+ * @description Create a new API token. The raw token is returned once and cannot be retrieved again.
1919
+ */
1920
+ post: {
1921
+ parameters: {
1922
+ query?: never;
1923
+ header?: never;
1924
+ path?: never;
1925
+ cookie?: never;
1926
+ };
1927
+ requestBody?: {
1928
+ content: {
1929
+ 'application/json': components['schemas']['CreateApiTokenRequest'];
1930
+ };
1931
+ };
1932
+ responses: {
1933
+ /** @description Token created (raw token shown once) */
1934
+ 201: {
1935
+ headers: {
1936
+ [name: string]: unknown;
1937
+ };
1938
+ content: {
1939
+ 'application/json': components['schemas']['CreateApiTokenResponse'];
1940
+ };
1941
+ };
1942
+ /** @description Validation error */
1943
+ 400: {
1944
+ headers: {
1945
+ [name: string]: unknown;
1946
+ };
1947
+ content: {
1948
+ 'application/json': components['schemas']['ErrorResponse'];
1949
+ };
1950
+ };
1951
+ /** @description Unauthorized */
1952
+ 401: {
1953
+ headers: {
1954
+ [name: string]: unknown;
1955
+ };
1956
+ content: {
1957
+ 'application/json': components['schemas']['ErrorResponse'];
1958
+ };
1959
+ };
1960
+ /** @description Conflict */
1961
+ 409: {
1962
+ headers: {
1963
+ [name: string]: unknown;
1964
+ };
1965
+ content: {
1966
+ 'application/json': components['schemas']['ErrorResponse'];
1967
+ };
1968
+ };
1969
+ };
1970
+ };
1971
+ delete?: never;
1972
+ options?: never;
1973
+ head?: never;
1974
+ patch?: never;
1975
+ trace?: never;
1976
+ };
1977
+ '/api/tokens/{tokenId}': {
1978
+ parameters: {
1979
+ query?: never;
1980
+ header?: never;
1981
+ path?: never;
1982
+ cookie?: never;
1983
+ };
1984
+ get?: never;
1985
+ put?: never;
1986
+ post?: never;
1987
+ /**
1988
+ * Revoke token
1989
+ * @description Revoke an API token (soft delete via revokedAt timestamp).
1990
+ */
1991
+ delete: {
1992
+ parameters: {
1993
+ query?: never;
1994
+ header?: never;
1995
+ path: {
1996
+ tokenId: string;
1997
+ };
1998
+ cookie?: never;
1999
+ };
2000
+ requestBody?: never;
2001
+ responses: {
2002
+ /** @description Token revoked */
2003
+ 204: {
2004
+ headers: {
2005
+ [name: string]: unknown;
2006
+ };
2007
+ content?: never;
2008
+ };
2009
+ /** @description Unauthorized */
2010
+ 401: {
2011
+ headers: {
2012
+ [name: string]: unknown;
2013
+ };
2014
+ content: {
2015
+ 'application/json': components['schemas']['ErrorResponse'];
2016
+ };
2017
+ };
2018
+ };
2019
+ };
2020
+ options?: never;
2021
+ head?: never;
2022
+ patch?: never;
2023
+ trace?: never;
2024
+ };
2025
+ '/api/bundle': {
2026
+ parameters: {
2027
+ query?: never;
2028
+ header?: never;
2029
+ path?: never;
2030
+ cookie?: never;
2031
+ };
2032
+ get?: never;
2033
+ put?: never;
2034
+ /**
2035
+ * Bundle flow
2036
+ * @description Bundle a walkerOS flow into a deployable JavaScript module.
2037
+ */
2038
+ post: {
2039
+ parameters: {
2040
+ query?: never;
2041
+ header?: never;
2042
+ path?: never;
2043
+ cookie?: never;
2044
+ };
2045
+ /** @description Flow content to bundle */
2046
+ requestBody?: {
2047
+ content: {
2048
+ 'application/json': {
2049
+ [key: string]: unknown;
2050
+ };
2051
+ };
2052
+ };
2053
+ responses: {
2054
+ /** @description Bundled JavaScript module */
2055
+ 200: {
2056
+ headers: {
2057
+ [name: string]: unknown;
2058
+ };
2059
+ content: {
2060
+ 'application/javascript': string;
2061
+ };
2062
+ };
2063
+ /** @description Validation error */
2064
+ 400: {
2065
+ headers: {
2066
+ [name: string]: unknown;
2067
+ };
2068
+ content: {
2069
+ 'application/json': components['schemas']['ErrorResponse'];
2070
+ };
2071
+ };
2072
+ /** @description Payload too large */
2073
+ 413: {
2074
+ headers: {
2075
+ [name: string]: unknown;
2076
+ };
2077
+ content: {
2078
+ 'application/json': components['schemas']['ErrorResponse'];
2079
+ };
2080
+ };
2081
+ };
2082
+ };
2083
+ delete?: never;
2084
+ options?: never;
2085
+ head?: never;
2086
+ patch?: never;
2087
+ trace?: never;
2088
+ };
2089
+ '/api/projects/{projectId}/observe/ticket': {
2090
+ parameters: {
2091
+ query?: never;
2092
+ header?: never;
2093
+ path?: never;
2094
+ cookie?: never;
2095
+ };
2096
+ get?: never;
2097
+ put?: never;
2098
+ /**
2099
+ * Create SSE ticket
2100
+ * @description Generate a one-time ticket for authenticating an SSE connection to the Observer service. Requires project membership.
2101
+ */
2102
+ post: {
2103
+ parameters: {
2104
+ query?: never;
2105
+ header?: never;
2106
+ path: {
2107
+ projectId: string;
2108
+ };
2109
+ cookie?: never;
2110
+ };
2111
+ requestBody?: never;
2112
+ responses: {
2113
+ /** @description Ticket generated */
2114
+ 200: {
2115
+ headers: {
2116
+ [name: string]: unknown;
2117
+ };
2118
+ content: {
2119
+ 'application/json': components['schemas']['CreateTicketResponse'];
2120
+ };
2121
+ };
2122
+ /** @description Unauthorized */
2123
+ 401: {
2124
+ headers: {
2125
+ [name: string]: unknown;
2126
+ };
2127
+ content: {
2128
+ 'application/json': components['schemas']['ErrorResponse'];
2129
+ };
2130
+ };
2131
+ /** @description Not found */
2132
+ 404: {
2133
+ headers: {
2134
+ [name: string]: unknown;
2135
+ };
2136
+ content: {
2137
+ 'application/json': components['schemas']['ErrorResponse'];
2138
+ };
2139
+ };
2140
+ };
2141
+ };
2142
+ delete?: never;
2143
+ options?: never;
2144
+ head?: never;
2145
+ patch?: never;
2146
+ trace?: never;
2147
+ };
2148
+ '/api/projects/{projectId}/observe/validate-ticket': {
2149
+ parameters: {
2150
+ query?: never;
2151
+ header?: never;
2152
+ path?: never;
2153
+ cookie?: never;
2154
+ };
2155
+ get?: never;
2156
+ put?: never;
2157
+ /**
2158
+ * Validate ticket
2159
+ * @description Internal endpoint for the Observer service to validate and consume a ticket.
2160
+ */
2161
+ post: {
2162
+ parameters: {
2163
+ query?: never;
2164
+ header?: never;
2165
+ path: {
2166
+ projectId: string;
2167
+ };
2168
+ cookie?: never;
2169
+ };
2170
+ requestBody?: {
2171
+ content: {
2172
+ 'application/json': components['schemas']['ValidateTicketRequest'];
2173
+ };
2174
+ };
2175
+ responses: {
2176
+ /** @description Ticket payload */
2177
+ 200: {
2178
+ headers: {
2179
+ [name: string]: unknown;
2180
+ };
2181
+ content: {
2182
+ 'application/json': components['schemas']['ValidateTicketResponse'];
2183
+ };
2184
+ };
2185
+ /** @description Validation error */
2186
+ 400: {
2187
+ headers: {
2188
+ [name: string]: unknown;
2189
+ };
2190
+ content: {
2191
+ 'application/json': components['schemas']['ErrorResponse'];
2192
+ };
2193
+ };
2194
+ /** @description Invalid or expired ticket */
2195
+ 401: {
2196
+ headers: {
2197
+ [name: string]: unknown;
2198
+ };
2199
+ content: {
2200
+ 'application/json': components['schemas']['ErrorResponse'];
2201
+ };
2202
+ };
2203
+ /** @description Forbidden */
2204
+ 403: {
2205
+ headers: {
2206
+ [name: string]: unknown;
2207
+ };
2208
+ content: {
2209
+ 'application/json': components['schemas']['ErrorResponse'];
2210
+ };
2211
+ };
2212
+ };
2213
+ };
2214
+ delete?: never;
2215
+ options?: never;
2216
+ head?: never;
2217
+ patch?: never;
2218
+ trace?: never;
2219
+ };
2220
+ '/api/health': {
2221
+ parameters: {
2222
+ query?: never;
2223
+ header?: never;
2224
+ path?: never;
2225
+ cookie?: never;
2226
+ };
2227
+ /**
2228
+ * Health check
2229
+ * @description Check the health of the API and its dependencies.
2230
+ */
2231
+ get: {
2232
+ parameters: {
2233
+ query?: never;
2234
+ header?: never;
2235
+ path?: never;
2236
+ cookie?: never;
2237
+ };
2238
+ requestBody?: never;
2239
+ responses: {
2240
+ /** @description Health status */
2241
+ 200: {
2242
+ headers: {
2243
+ [name: string]: unknown;
2244
+ };
2245
+ content: {
2246
+ 'application/json': components['schemas']['HealthResponse'];
2247
+ };
2248
+ };
2249
+ };
2250
+ };
2251
+ put?: never;
2252
+ post?: never;
2253
+ delete?: never;
2254
+ options?: never;
2255
+ head?: never;
2256
+ patch?: never;
2257
+ trace?: never;
2258
+ };
2259
+ '/api/openapi.json': {
2260
+ parameters: {
2261
+ query?: never;
2262
+ header?: never;
2263
+ path?: never;
2264
+ cookie?: never;
2265
+ };
2266
+ /**
2267
+ * OpenAPI spec
2268
+ * @description Return the OpenAPI 3.1 specification for this API.
2269
+ */
2270
+ get: {
2271
+ parameters: {
2272
+ query?: never;
2273
+ header?: never;
2274
+ path?: never;
2275
+ cookie?: never;
2276
+ };
2277
+ requestBody?: never;
2278
+ responses: {
2279
+ /** @description OpenAPI document */
2280
+ 200: {
2281
+ headers: {
2282
+ [name: string]: unknown;
2283
+ };
2284
+ content: {
2285
+ 'application/json': {
2286
+ [key: string]: unknown;
2287
+ };
2288
+ };
2289
+ };
2290
+ };
2291
+ };
2292
+ put?: never;
2293
+ post?: never;
2294
+ delete?: never;
2295
+ options?: never;
2296
+ head?: never;
2297
+ patch?: never;
2298
+ trace?: never;
2299
+ };
2300
+ '/ingest/v1/{projectId}': {
2301
+ parameters: {
2302
+ query?: never;
2303
+ header?: never;
2304
+ path?: never;
2305
+ cookie?: never;
2306
+ };
2307
+ get?: never;
2308
+ put?: never;
2309
+ /**
2310
+ * Event ingestion
2311
+ * @description Ingest walkerOS events for a project. Served by the Observer service (port 3001).
2312
+ */
2313
+ post: {
2314
+ parameters: {
2315
+ query?: never;
2316
+ header?: never;
2317
+ path: {
2318
+ projectId: string;
2319
+ };
2320
+ cookie?: never;
2321
+ };
2322
+ requestBody?: never;
2323
+ responses: {
2324
+ /** @description Accepted */
2325
+ 202: {
2326
+ headers: {
2327
+ [name: string]: unknown;
2328
+ };
2329
+ content?: never;
2330
+ };
2331
+ };
2332
+ };
2333
+ delete?: never;
2334
+ options?: never;
2335
+ head?: never;
2336
+ patch?: never;
2337
+ trace?: never;
2338
+ };
2339
+ '/stream/v1': {
2340
+ parameters: {
2341
+ query?: never;
2342
+ header?: never;
2343
+ path?: never;
2344
+ cookie?: never;
2345
+ };
2346
+ /**
2347
+ * SSE stream
2348
+ * @description Server-Sent Events stream for real-time event observation. Requires a valid ticket. Served by the Observer service (port 3001).
2349
+ */
2350
+ get: {
2351
+ parameters: {
2352
+ query: {
2353
+ /** @description One-time ticket from /api/projects/{projectId}/observe/ticket */
2354
+ ticket: string;
2355
+ /** @description Project ID for scoped validation */
2356
+ project: string;
2357
+ };
2358
+ header?: never;
2359
+ path?: never;
2360
+ cookie?: never;
2361
+ };
2362
+ requestBody?: never;
2363
+ responses: {
2364
+ /** @description SSE event stream */
2365
+ 200: {
2366
+ headers: {
2367
+ [name: string]: unknown;
2368
+ };
2369
+ content?: never;
2370
+ };
2371
+ /** @description Unauthorized */
2372
+ 401: {
2373
+ headers: {
2374
+ [name: string]: unknown;
2375
+ };
2376
+ content: {
2377
+ 'application/json': components['schemas']['ErrorResponse'];
2378
+ };
2379
+ };
2380
+ };
2381
+ };
2382
+ put?: never;
2383
+ post?: never;
2384
+ delete?: never;
2385
+ options?: never;
2386
+ head?: never;
2387
+ patch?: never;
2388
+ trace?: never;
2389
+ };
2390
+ '/health': {
2391
+ parameters: {
2392
+ query?: never;
2393
+ header?: never;
2394
+ path?: never;
2395
+ cookie?: never;
2396
+ };
2397
+ /**
2398
+ * Observer health
2399
+ * @description Health check for the Observer service (port 3001).
2400
+ */
2401
+ get: {
2402
+ parameters: {
2403
+ query?: never;
2404
+ header?: never;
2405
+ path?: never;
2406
+ cookie?: never;
2407
+ };
2408
+ requestBody?: never;
2409
+ responses: {
2410
+ /** @description Health status */
2411
+ 200: {
2412
+ headers: {
2413
+ [name: string]: unknown;
2414
+ };
2415
+ content: {
2416
+ 'application/json': {
2417
+ status: string;
2418
+ };
2419
+ };
2420
+ };
2421
+ };
2422
+ };
2423
+ put?: never;
2424
+ post?: never;
2425
+ delete?: never;
2426
+ options?: never;
2427
+ head?: never;
2428
+ patch?: never;
2429
+ trace?: never;
2430
+ };
2431
+ }
2432
+ interface components {
2433
+ schemas: {
2434
+ ErrorResponse: {
2435
+ error: {
2436
+ /** @example VALIDATION_ERROR */
2437
+ code: string;
2438
+ /** @example Validation failed */
2439
+ message: string;
2440
+ details?: {
2441
+ field?: string;
2442
+ reason?: string;
2443
+ errors?: {
2444
+ path: string;
2445
+ message: string;
2446
+ }[];
2447
+ } & {
2448
+ [key: string]: unknown;
2449
+ };
2450
+ };
2451
+ };
2452
+ FlowContent: {
2453
+ /** @enum {number} */
2454
+ version: 1;
2455
+ $schema?: string;
2456
+ include?: string[];
2457
+ variables?: {
2458
+ [key: string]: string | number | boolean;
2459
+ };
2460
+ definitions?: {
2461
+ [key: string]: unknown;
2462
+ };
2463
+ flows?: {
2464
+ [key: string]: unknown;
2465
+ };
2466
+ };
2467
+ Flow: {
2468
+ /** @example flow_a1b2c3d4 */
2469
+ id: string;
2470
+ /** @example my-website-flow */
2471
+ name: string;
2472
+ content: components['schemas']['FlowContent'];
2473
+ /**
2474
+ * Format: date-time
2475
+ * @example 2026-01-26T14:30:00.000Z
2476
+ */
2477
+ createdAt: string;
2478
+ /**
2479
+ * Format: date-time
2480
+ * @example 2026-01-26T14:30:00.000Z
2481
+ */
2482
+ updatedAt: string;
2483
+ /** Format: date-time */
2484
+ deletedAt?: string | null;
2485
+ };
2486
+ FlowSummary: {
2487
+ /** @example flow_a1b2c3d4 */
2488
+ id: string;
2489
+ /** @example my-website-flow */
2490
+ name: string;
2491
+ /**
2492
+ * Format: date-time
2493
+ * @example 2026-01-26T14:30:00.000Z
2494
+ */
2495
+ createdAt: string;
2496
+ /**
2497
+ * Format: date-time
2498
+ * @example 2026-01-26T14:30:00.000Z
2499
+ */
2500
+ updatedAt: string;
2501
+ /** Format: date-time */
2502
+ deletedAt: string | null;
2503
+ };
2504
+ Version: {
2505
+ /** @example 1 */
2506
+ version: number;
2507
+ /**
2508
+ * Format: date-time
2509
+ * @example 2026-01-26T14:30:00.000Z
2510
+ */
2511
+ createdAt: string;
2512
+ /**
2513
+ * @example user
2514
+ * @enum {string}
2515
+ */
2516
+ createdBy: 'user' | 'auto_save' | 'restore';
2517
+ /** @example sha256:abc123... */
2518
+ contentHash?: string;
2519
+ };
2520
+ Project: {
2521
+ /** @example proj_x7y8z9 */
2522
+ id: string;
2523
+ /** @example My Website */
2524
+ name: string;
2525
+ /**
2526
+ * @example owner
2527
+ * @enum {string}
2528
+ */
2529
+ role: 'owner' | 'member';
2530
+ /**
2531
+ * Format: date-time
2532
+ * @example 2026-01-26T14:30:00.000Z
2533
+ */
2534
+ createdAt: string;
2535
+ /**
2536
+ * Format: date-time
2537
+ * @example 2026-01-26T14:30:00.000Z
2538
+ */
2539
+ updatedAt: string;
2540
+ };
2541
+ Member: {
2542
+ userId: string;
2543
+ /** Format: email */
2544
+ email: string;
2545
+ /** @enum {string} */
2546
+ role: 'owner' | 'member';
2547
+ /**
2548
+ * Format: date-time
2549
+ * @example 2026-01-26T14:30:00.000Z
2550
+ */
2551
+ createdAt: string;
2552
+ };
2553
+ ApiTokenSummary: {
2554
+ /** @example tok_a1b2c3d4 */
2555
+ id: string;
2556
+ /** @example CI Pipeline */
2557
+ name: string;
2558
+ /** @example sk-walkeros-abcd */
2559
+ prefix: string;
2560
+ /** @example null */
2561
+ projectId: string | null;
2562
+ /** @example null */
2563
+ scopes: string[] | null;
2564
+ /**
2565
+ * Format: date-time
2566
+ * @example 2026-01-26T14:30:00.000Z
2567
+ */
2568
+ createdAt: string;
2569
+ /**
2570
+ * Format: date-time
2571
+ * @example 2026-01-26T14:30:00.000Z
2572
+ */
2573
+ lastUsedAt: string | null;
2574
+ /**
2575
+ * Format: date-time
2576
+ * @example 2026-01-26T14:30:00.000Z
2577
+ */
2578
+ expiresAt: string | null;
2579
+ /**
2580
+ * Format: date-time
2581
+ * @example 2026-01-26T14:30:00.000Z
2582
+ */
2583
+ revokedAt: string | null;
2584
+ };
2585
+ MagicLinkResponse: {
2586
+ /** @example true */
2587
+ success: boolean;
2588
+ /** @example Magic link sent */
2589
+ message: string;
2590
+ };
2591
+ MagicLinkRequest: {
2592
+ /**
2593
+ * Format: email
2594
+ * @example user@example.com
2595
+ */
2596
+ email: string;
2597
+ /**
2598
+ * Format: uri
2599
+ * @example /dashboard
2600
+ */
2601
+ redirect_to?: string;
2602
+ };
2603
+ WhoamiResponse: {
2604
+ /** @example user_a1b2c3d4 */
2605
+ userId: string;
2606
+ /**
2607
+ * Format: email
2608
+ * @example user@example.com
2609
+ */
2610
+ email: string;
2611
+ /** @example null */
2612
+ projectId: string | null;
2613
+ };
2614
+ ListProjectsResponse: {
2615
+ projects: components['schemas']['Project'][];
2616
+ total: number;
2617
+ };
2618
+ CreateProjectRequest: {
2619
+ name: string;
2620
+ };
2621
+ UpdateProjectRequest: {
2622
+ name?: string;
2623
+ };
2624
+ ListMembersResponse: {
2625
+ members: components['schemas']['Member'][];
2626
+ total: number;
2627
+ };
2628
+ AddMemberRequest: {
2629
+ /**
2630
+ * Format: email
2631
+ * @example user@example.com
2632
+ */
2633
+ email: string;
2634
+ /**
2635
+ * @default member
2636
+ * @enum {string}
2637
+ */
2638
+ role: 'owner' | 'member';
2639
+ };
2640
+ UpdateMemberRequest: {
2641
+ /** @enum {string} */
2642
+ role: 'owner' | 'member';
2643
+ };
2644
+ ListFlowsResponse: {
2645
+ flows: components['schemas']['FlowSummary'][];
2646
+ total: number;
2647
+ };
2648
+ CreateFlowRequest: {
2649
+ /** @example my-website-flow */
2650
+ name: string;
2651
+ content?: components['schemas']['FlowContent'];
2652
+ };
2653
+ UpdateFlowRequest: {
2654
+ /** @example my-website-flow */
2655
+ name?: string;
2656
+ content?: components['schemas']['FlowContent'];
2657
+ };
2658
+ DuplicateFlowRequest: {
2659
+ /** @example my-website-flow */
2660
+ name?: string;
2661
+ };
2662
+ ListVersionsResponse: {
2663
+ data: components['schemas']['Version'][];
2664
+ /** @example flow_a1b2c3d4 */
2665
+ flowId: string;
2666
+ total: number;
2667
+ };
2668
+ GetVersionResponse: {
2669
+ /** @example 1 */
2670
+ version: number;
2671
+ content: components['schemas']['FlowContent'];
2672
+ /**
2673
+ * Format: date-time
2674
+ * @example 2026-01-26T14:30:00.000Z
2675
+ */
2676
+ createdAt: string;
2677
+ /** @enum {string} */
2678
+ createdBy: 'user' | 'auto_save' | 'restore';
2679
+ };
2680
+ ListApiTokensResponse: {
2681
+ tokens: components['schemas']['ApiTokenSummary'][];
2682
+ };
2683
+ CreateApiTokenResponse: {
2684
+ /** @example tok_a1b2c3d4 */
2685
+ id: string;
2686
+ /** @example CI Pipeline */
2687
+ name: string;
2688
+ /** @example sk-walkeros-abcd1234... */
2689
+ token: string;
2690
+ /** @example sk-walkeros-abcd */
2691
+ prefix: string;
2692
+ /**
2693
+ * Format: date-time
2694
+ * @example 2026-01-26T14:30:00.000Z
2695
+ */
2696
+ createdAt: string;
2697
+ /**
2698
+ * Format: date-time
2699
+ * @example 2026-01-26T14:30:00.000Z
2700
+ */
2701
+ expiresAt: string | null;
2702
+ /** @example null */
2703
+ projectId: string | null;
2704
+ };
2705
+ CreateApiTokenRequest: {
2706
+ /** @example CI Pipeline */
2707
+ name: string;
2708
+ /** @example 90 */
2709
+ expiresInDays?: number | null;
2710
+ };
2711
+ CreateTicketResponse: {
2712
+ /** @example tkt_abc123... */
2713
+ ticket: string;
2714
+ /**
2715
+ * Format: uri
2716
+ * @example http://localhost:3001
2717
+ */
2718
+ observerUrl: string;
2719
+ };
2720
+ ValidateTicketResponse: {
2721
+ userId: string;
2722
+ projectId: string;
2723
+ replay: {
2724
+ size: number;
2725
+ ttlMs: number;
2726
+ };
2727
+ };
2728
+ ValidateTicketRequest: {
2729
+ ticket: string;
2730
+ };
2731
+ HealthResponse: {
2732
+ /** @example ok */
2733
+ status: string;
2734
+ };
2735
+ };
2736
+ responses: never;
2737
+ parameters: never;
2738
+ requestBodies: never;
2739
+ headers: never;
2740
+ pathItems: never;
2741
+ }
2742
+
2743
+ declare function createApiClient(): openapi_fetch.Client<paths, `${string}/${string}`>;
2744
+
2745
+ declare function listProjects(): Promise<{
2746
+ projects: {
2747
+ id: string;
2748
+ name: string;
2749
+ role: "owner" | "member";
2750
+ createdAt: string;
2751
+ updatedAt: string;
2752
+ }[];
2753
+ total: number;
2754
+ }>;
2755
+ declare function getProject(options?: {
2756
+ projectId?: string;
2757
+ }): Promise<{
2758
+ id: string;
2759
+ name: string;
2760
+ role: "owner" | "member";
2761
+ createdAt: string;
2762
+ updatedAt: string;
2763
+ }>;
2764
+ declare function createProject(options: {
2765
+ name: string;
2766
+ }): Promise<{
2767
+ id: string;
2768
+ name: string;
2769
+ role: "owner" | "member";
2770
+ createdAt: string;
2771
+ updatedAt: string;
2772
+ }>;
2773
+ declare function updateProject(options: {
2774
+ projectId?: string;
2775
+ name: string;
2776
+ }): Promise<{
2777
+ id: string;
2778
+ name: string;
2779
+ role: "owner" | "member";
2780
+ createdAt: string;
2781
+ updatedAt: string;
2782
+ }>;
2783
+ declare function deleteProject(options?: {
2784
+ projectId?: string;
2785
+ }): Promise<{
2786
+ success: boolean;
2787
+ }>;
2788
+
2789
+ declare function whoami(): Promise<{
2790
+ userId: string;
2791
+ email: string;
2792
+ projectId: string | null;
2793
+ }>;
2794
+
2795
+ interface ListFlowsOptions {
2796
+ projectId?: string;
2797
+ sort?: 'name' | 'updated_at' | 'created_at';
2798
+ order?: 'asc' | 'desc';
2799
+ includeDeleted?: boolean;
2800
+ }
2801
+ declare function listFlows(options?: ListFlowsOptions): Promise<{
2802
+ flows: {
2803
+ id: string;
2804
+ name: string;
2805
+ createdAt: string;
2806
+ updatedAt: string;
2807
+ deletedAt: string | null;
2808
+ }[];
2809
+ total: number;
2810
+ }>;
2811
+ declare function getFlow(options: {
2812
+ flowId: string;
2813
+ projectId?: string;
2814
+ }): Promise<{
2815
+ id: string;
2816
+ name: string;
2817
+ content: {
2818
+ version: 1;
2819
+ $schema?: string | undefined;
2820
+ include?: string[] | undefined;
2821
+ variables?: {
2822
+ [x: string]: string | number | boolean;
2823
+ } | undefined;
2824
+ definitions?: {
2825
+ [x: string]: unknown;
2826
+ } | undefined;
2827
+ flows?: {
2828
+ [x: string]: unknown;
2829
+ } | undefined;
2830
+ };
2831
+ createdAt: string;
2832
+ updatedAt: string;
2833
+ deletedAt?: string | null | undefined;
2834
+ }>;
2835
+ declare function createFlow(options: {
2836
+ name: string;
2837
+ content: Record<string, unknown>;
2838
+ projectId?: string;
2839
+ }): Promise<{
2840
+ id: string;
2841
+ name: string;
2842
+ content: {
2843
+ version: 1;
2844
+ $schema?: string | undefined;
2845
+ include?: string[] | undefined;
2846
+ variables?: {
2847
+ [x: string]: string | number | boolean;
2848
+ } | undefined;
2849
+ definitions?: {
2850
+ [x: string]: unknown;
2851
+ } | undefined;
2852
+ flows?: {
2853
+ [x: string]: unknown;
2854
+ } | undefined;
2855
+ };
2856
+ createdAt: string;
2857
+ updatedAt: string;
2858
+ deletedAt?: string | null | undefined;
2859
+ }>;
2860
+ declare function updateFlow(options: {
2861
+ flowId: string;
2862
+ name?: string;
2863
+ content?: Record<string, unknown>;
2864
+ projectId?: string;
2865
+ }): Promise<{
2866
+ id: string;
2867
+ name: string;
2868
+ content: {
2869
+ version: 1;
2870
+ $schema?: string | undefined;
2871
+ include?: string[] | undefined;
2872
+ variables?: {
2873
+ [x: string]: string | number | boolean;
2874
+ } | undefined;
2875
+ definitions?: {
2876
+ [x: string]: unknown;
2877
+ } | undefined;
2878
+ flows?: {
2879
+ [x: string]: unknown;
2880
+ } | undefined;
2881
+ };
2882
+ createdAt: string;
2883
+ updatedAt: string;
2884
+ deletedAt?: string | null | undefined;
2885
+ }>;
2886
+ declare function deleteFlow(options: {
2887
+ flowId: string;
2888
+ projectId?: string;
2889
+ }): Promise<{
2890
+ success: boolean;
2891
+ }>;
2892
+ declare function duplicateFlow(options: {
2893
+ flowId: string;
2894
+ name?: string;
2895
+ projectId?: string;
2896
+ }): Promise<{
2897
+ id: string;
2898
+ name: string;
2899
+ content: {
2900
+ version: 1;
2901
+ $schema?: string | undefined;
2902
+ include?: string[] | undefined;
2903
+ variables?: {
2904
+ [x: string]: string | number | boolean;
2905
+ } | undefined;
2906
+ definitions?: {
2907
+ [x: string]: unknown;
2908
+ } | undefined;
2909
+ flows?: {
2910
+ [x: string]: unknown;
2911
+ } | undefined;
2912
+ };
2913
+ createdAt: string;
2914
+ updatedAt: string;
2915
+ deletedAt?: string | null | undefined;
2916
+ }>;
2917
+
2918
+ export { type BuildOptions, type BundleStats, type CLIBuildOptions, type GlobalOptions, type ListFlowsOptions, type MinifyOptions, type PushResult, type RunCommandOptions, type RunMode, type RunOptions, type RunResult, type SimulationResult, type ValidateResult, type ValidationError, type ValidationType, type ValidationWarning, bundle, bundleCommand, bundleRemote, createApiClient, createFlow, createProject, deleteFlow, deleteProject, duplicateFlow, getAuthHeaders, getFlow, getProject, getToken, listFlows, listProjects, push, pushCommand, requireProjectId, resolveBaseUrl, run, runCommand, simulate, simulateCommand, updateFlow, updateProject, validate, whoami };