@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/CHANGELOG.md +28 -0
- package/README.md +2 -1
- package/dist/dev.d.ts +328 -0
- package/dist/dev.js +115 -0
- package/dist/dev.js.map +1 -0
- package/dist/examples/flow-complete.json +2 -0
- package/dist/examples/flow-complete.md +16 -14
- package/dist/index.d.ts +2478 -10
- package/dist/index.js +1216 -290
- package/dist/index.js.map +1 -1
- package/dist/runtime/main.js +134 -12
- package/dist/runtime/main.js.map +1 -1
- package/examples/flow-complete.json +2 -0
- package/examples/flow-complete.md +16 -14
- package/package.json +18 -5
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
|
|
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
|
|
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
|
-
|
|
300
|
-
|
|
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
|
|
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
|
-
|
|
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 };
|