@roborean/api-types 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1585 @@
1
+ {
2
+ "openapi": "3.1.0",
3
+ "info": {
4
+ "title": "Roborean API",
5
+ "version": "0.4.0"
6
+ },
7
+ "paths": {
8
+ "/health": {
9
+ "get": {
10
+ "tags": [
11
+ "health"
12
+ ],
13
+ "summary": "Health",
14
+ "description": "Return liveness and engine version.",
15
+ "operationId": "health_health_get",
16
+ "responses": {
17
+ "200": {
18
+ "description": "Successful Response",
19
+ "content": {
20
+ "application/json": {
21
+ "schema": {
22
+ "additionalProperties": {
23
+ "type": "string"
24
+ },
25
+ "type": "object",
26
+ "title": "Response Health Health Get"
27
+ }
28
+ }
29
+ }
30
+ }
31
+ }
32
+ }
33
+ },
34
+ "/v1/projects": {
35
+ "get": {
36
+ "tags": [
37
+ "projects"
38
+ ],
39
+ "summary": "List Projects",
40
+ "description": "List project summaries.",
41
+ "operationId": "list_projects_v1_projects_get",
42
+ "responses": {
43
+ "200": {
44
+ "description": "Successful Response",
45
+ "content": {
46
+ "application/json": {
47
+ "schema": {
48
+ "items": {
49
+ "$ref": "#/components/schemas/ProjectSummary"
50
+ },
51
+ "type": "array",
52
+ "title": "Response List Projects V1 Projects Get"
53
+ }
54
+ }
55
+ }
56
+ }
57
+ }
58
+ },
59
+ "post": {
60
+ "tags": [
61
+ "projects"
62
+ ],
63
+ "summary": "Create Project",
64
+ "description": "Create a stored project.",
65
+ "operationId": "create_project_v1_projects_post",
66
+ "requestBody": {
67
+ "content": {
68
+ "application/json": {
69
+ "schema": {
70
+ "$ref": "#/components/schemas/ProjectCreate"
71
+ }
72
+ }
73
+ },
74
+ "required": true
75
+ },
76
+ "responses": {
77
+ "201": {
78
+ "description": "Successful Response",
79
+ "content": {
80
+ "application/json": {
81
+ "schema": {
82
+ "$ref": "#/components/schemas/ProjectDetail"
83
+ }
84
+ }
85
+ }
86
+ },
87
+ "422": {
88
+ "description": "Validation Error",
89
+ "content": {
90
+ "application/json": {
91
+ "schema": {
92
+ "$ref": "#/components/schemas/HTTPValidationError"
93
+ }
94
+ }
95
+ }
96
+ }
97
+ }
98
+ }
99
+ },
100
+ "/v1/projects/{project_id}": {
101
+ "get": {
102
+ "tags": [
103
+ "projects"
104
+ ],
105
+ "summary": "Get Project",
106
+ "description": "Fetch one project.",
107
+ "operationId": "get_project_v1_projects__project_id__get",
108
+ "parameters": [
109
+ {
110
+ "name": "project_id",
111
+ "in": "path",
112
+ "required": true,
113
+ "schema": {
114
+ "type": "string",
115
+ "title": "Project Id"
116
+ }
117
+ }
118
+ ],
119
+ "responses": {
120
+ "200": {
121
+ "description": "Successful Response",
122
+ "content": {
123
+ "application/json": {
124
+ "schema": {
125
+ "$ref": "#/components/schemas/ProjectDetail"
126
+ }
127
+ }
128
+ }
129
+ },
130
+ "422": {
131
+ "description": "Validation Error",
132
+ "content": {
133
+ "application/json": {
134
+ "schema": {
135
+ "$ref": "#/components/schemas/HTTPValidationError"
136
+ }
137
+ }
138
+ }
139
+ }
140
+ }
141
+ },
142
+ "put": {
143
+ "tags": [
144
+ "projects"
145
+ ],
146
+ "summary": "Update Project",
147
+ "description": "Replace a project.",
148
+ "operationId": "update_project_v1_projects__project_id__put",
149
+ "parameters": [
150
+ {
151
+ "name": "project_id",
152
+ "in": "path",
153
+ "required": true,
154
+ "schema": {
155
+ "type": "string",
156
+ "title": "Project Id"
157
+ }
158
+ }
159
+ ],
160
+ "requestBody": {
161
+ "required": true,
162
+ "content": {
163
+ "application/json": {
164
+ "schema": {
165
+ "$ref": "#/components/schemas/ProjectUpdate"
166
+ }
167
+ }
168
+ }
169
+ },
170
+ "responses": {
171
+ "200": {
172
+ "description": "Successful Response",
173
+ "content": {
174
+ "application/json": {
175
+ "schema": {
176
+ "$ref": "#/components/schemas/ProjectDetail"
177
+ }
178
+ }
179
+ }
180
+ },
181
+ "422": {
182
+ "description": "Validation Error",
183
+ "content": {
184
+ "application/json": {
185
+ "schema": {
186
+ "$ref": "#/components/schemas/HTTPValidationError"
187
+ }
188
+ }
189
+ }
190
+ }
191
+ }
192
+ },
193
+ "delete": {
194
+ "tags": [
195
+ "projects"
196
+ ],
197
+ "summary": "Delete Project",
198
+ "description": "Delete a project.",
199
+ "operationId": "delete_project_v1_projects__project_id__delete",
200
+ "parameters": [
201
+ {
202
+ "name": "project_id",
203
+ "in": "path",
204
+ "required": true,
205
+ "schema": {
206
+ "type": "string",
207
+ "title": "Project Id"
208
+ }
209
+ }
210
+ ],
211
+ "responses": {
212
+ "204": {
213
+ "description": "Successful Response"
214
+ },
215
+ "422": {
216
+ "description": "Validation Error",
217
+ "content": {
218
+ "application/json": {
219
+ "schema": {
220
+ "$ref": "#/components/schemas/HTTPValidationError"
221
+ }
222
+ }
223
+ }
224
+ }
225
+ }
226
+ }
227
+ },
228
+ "/v1/projects/{project_id}/compile": {
229
+ "post": {
230
+ "tags": [
231
+ "compile"
232
+ ],
233
+ "summary": "Compile Project",
234
+ "description": "Compile a stored project.",
235
+ "operationId": "compile_project_v1_projects__project_id__compile_post",
236
+ "parameters": [
237
+ {
238
+ "name": "project_id",
239
+ "in": "path",
240
+ "required": true,
241
+ "schema": {
242
+ "type": "string",
243
+ "title": "Project Id"
244
+ }
245
+ }
246
+ ],
247
+ "requestBody": {
248
+ "content": {
249
+ "application/json": {
250
+ "schema": {
251
+ "anyOf": [
252
+ {
253
+ "$ref": "#/components/schemas/CompileRequest"
254
+ },
255
+ {
256
+ "type": "null"
257
+ }
258
+ ],
259
+ "title": "Body"
260
+ }
261
+ }
262
+ }
263
+ },
264
+ "responses": {
265
+ "200": {
266
+ "description": "Successful Response",
267
+ "content": {
268
+ "application/json": {
269
+ "schema": {
270
+ "$ref": "#/components/schemas/CompileResponse"
271
+ }
272
+ }
273
+ }
274
+ },
275
+ "422": {
276
+ "description": "Validation Error",
277
+ "content": {
278
+ "application/json": {
279
+ "schema": {
280
+ "$ref": "#/components/schemas/HTTPValidationError"
281
+ }
282
+ }
283
+ }
284
+ }
285
+ }
286
+ }
287
+ },
288
+ "/v1/projects/{project_id}/runs": {
289
+ "post": {
290
+ "tags": [
291
+ "runs"
292
+ ],
293
+ "summary": "Create Run",
294
+ "description": "Execute a durable run.",
295
+ "operationId": "create_run_v1_projects__project_id__runs_post",
296
+ "parameters": [
297
+ {
298
+ "name": "project_id",
299
+ "in": "path",
300
+ "required": true,
301
+ "schema": {
302
+ "type": "string",
303
+ "title": "Project Id"
304
+ }
305
+ },
306
+ {
307
+ "name": "Idempotency-Key",
308
+ "in": "header",
309
+ "required": false,
310
+ "schema": {
311
+ "anyOf": [
312
+ {
313
+ "type": "string"
314
+ },
315
+ {
316
+ "type": "null"
317
+ }
318
+ ],
319
+ "title": "Idempotency-Key"
320
+ }
321
+ }
322
+ ],
323
+ "requestBody": {
324
+ "required": true,
325
+ "content": {
326
+ "application/json": {
327
+ "schema": {
328
+ "$ref": "#/components/schemas/RunCreate"
329
+ }
330
+ }
331
+ }
332
+ },
333
+ "responses": {
334
+ "201": {
335
+ "description": "Successful Response",
336
+ "content": {
337
+ "application/json": {
338
+ "schema": {
339
+ "$ref": "#/components/schemas/RunDetail"
340
+ }
341
+ }
342
+ }
343
+ },
344
+ "422": {
345
+ "description": "Validation Error",
346
+ "content": {
347
+ "application/json": {
348
+ "schema": {
349
+ "$ref": "#/components/schemas/HTTPValidationError"
350
+ }
351
+ }
352
+ }
353
+ }
354
+ }
355
+ },
356
+ "get": {
357
+ "tags": [
358
+ "runs"
359
+ ],
360
+ "summary": "List Runs",
361
+ "description": "List runs for a project.",
362
+ "operationId": "list_runs_v1_projects__project_id__runs_get",
363
+ "parameters": [
364
+ {
365
+ "name": "project_id",
366
+ "in": "path",
367
+ "required": true,
368
+ "schema": {
369
+ "type": "string",
370
+ "title": "Project Id"
371
+ }
372
+ }
373
+ ],
374
+ "responses": {
375
+ "200": {
376
+ "description": "Successful Response",
377
+ "content": {
378
+ "application/json": {
379
+ "schema": {
380
+ "type": "array",
381
+ "items": {
382
+ "$ref": "#/components/schemas/RunSummary"
383
+ },
384
+ "title": "Response List Runs V1 Projects Project Id Runs Get"
385
+ }
386
+ }
387
+ }
388
+ },
389
+ "422": {
390
+ "description": "Validation Error",
391
+ "content": {
392
+ "application/json": {
393
+ "schema": {
394
+ "$ref": "#/components/schemas/HTTPValidationError"
395
+ }
396
+ }
397
+ }
398
+ }
399
+ }
400
+ }
401
+ },
402
+ "/v1/runs/{run_id}": {
403
+ "get": {
404
+ "tags": [
405
+ "runs"
406
+ ],
407
+ "summary": "Get Run",
408
+ "description": "Fetch one run.",
409
+ "operationId": "get_run_v1_runs__run_id__get",
410
+ "parameters": [
411
+ {
412
+ "name": "run_id",
413
+ "in": "path",
414
+ "required": true,
415
+ "schema": {
416
+ "type": "string",
417
+ "title": "Run Id"
418
+ }
419
+ }
420
+ ],
421
+ "responses": {
422
+ "200": {
423
+ "description": "Successful Response",
424
+ "content": {
425
+ "application/json": {
426
+ "schema": {
427
+ "$ref": "#/components/schemas/RunDetail"
428
+ }
429
+ }
430
+ }
431
+ },
432
+ "422": {
433
+ "description": "Validation Error",
434
+ "content": {
435
+ "application/json": {
436
+ "schema": {
437
+ "$ref": "#/components/schemas/HTTPValidationError"
438
+ }
439
+ }
440
+ }
441
+ }
442
+ }
443
+ }
444
+ },
445
+ "/v1/runs/{run_id}/artifacts/{artifact_id}": {
446
+ "get": {
447
+ "tags": [
448
+ "artifacts"
449
+ ],
450
+ "summary": "Download Artifact",
451
+ "description": "Stream one stored artifact (document id).",
452
+ "operationId": "download_artifact_v1_runs__run_id__artifacts__artifact_id__get",
453
+ "parameters": [
454
+ {
455
+ "name": "run_id",
456
+ "in": "path",
457
+ "required": true,
458
+ "schema": {
459
+ "type": "string",
460
+ "title": "Run Id"
461
+ }
462
+ },
463
+ {
464
+ "name": "artifact_id",
465
+ "in": "path",
466
+ "required": true,
467
+ "schema": {
468
+ "type": "string",
469
+ "title": "Artifact Id"
470
+ }
471
+ }
472
+ ],
473
+ "responses": {
474
+ "200": {
475
+ "description": "Successful Response",
476
+ "content": {
477
+ "application/json": {
478
+ "schema": {}
479
+ }
480
+ }
481
+ },
482
+ "422": {
483
+ "description": "Validation Error",
484
+ "content": {
485
+ "application/json": {
486
+ "schema": {
487
+ "$ref": "#/components/schemas/HTTPValidationError"
488
+ }
489
+ }
490
+ }
491
+ }
492
+ }
493
+ }
494
+ },
495
+ "/v1/projects/{project_id}/preview": {
496
+ "post": {
497
+ "tags": [
498
+ "previews"
499
+ ],
500
+ "summary": "Preview Document",
501
+ "description": "Return a browser-safe document preview.",
502
+ "operationId": "preview_document_v1_projects__project_id__preview_post",
503
+ "parameters": [
504
+ {
505
+ "name": "project_id",
506
+ "in": "path",
507
+ "required": true,
508
+ "schema": {
509
+ "type": "string",
510
+ "title": "Project Id"
511
+ }
512
+ }
513
+ ],
514
+ "requestBody": {
515
+ "required": true,
516
+ "content": {
517
+ "application/json": {
518
+ "schema": {
519
+ "$ref": "#/components/schemas/PreviewRequest"
520
+ }
521
+ }
522
+ }
523
+ },
524
+ "responses": {
525
+ "200": {
526
+ "description": "Successful Response",
527
+ "content": {
528
+ "application/json": {
529
+ "schema": {
530
+ "$ref": "#/components/schemas/PreviewResponse"
531
+ }
532
+ }
533
+ }
534
+ },
535
+ "422": {
536
+ "description": "Validation Error",
537
+ "content": {
538
+ "application/json": {
539
+ "schema": {
540
+ "$ref": "#/components/schemas/HTTPValidationError"
541
+ }
542
+ }
543
+ }
544
+ }
545
+ }
546
+ }
547
+ }
548
+ },
549
+ "components": {
550
+ "schemas": {
551
+ "Bit": {
552
+ "properties": {
553
+ "id": {
554
+ "type": "string",
555
+ "title": "Id"
556
+ },
557
+ "type": {
558
+ "type": "string",
559
+ "title": "Type"
560
+ },
561
+ "label": {
562
+ "anyOf": [
563
+ {
564
+ "type": "string"
565
+ },
566
+ {
567
+ "type": "null"
568
+ }
569
+ ],
570
+ "title": "Label"
571
+ },
572
+ "when": {
573
+ "anyOf": [
574
+ {
575
+ "type": "boolean",
576
+ "const": true
577
+ },
578
+ {
579
+ "$ref": "#/components/schemas/RuleAst"
580
+ }
581
+ ],
582
+ "title": "When"
583
+ },
584
+ "config": {
585
+ "additionalProperties": true,
586
+ "type": "object",
587
+ "title": "Config"
588
+ },
589
+ "reads": {
590
+ "items": {
591
+ "type": "string"
592
+ },
593
+ "type": "array",
594
+ "title": "Reads"
595
+ },
596
+ "writes": {
597
+ "items": {
598
+ "type": "string"
599
+ },
600
+ "type": "array",
601
+ "title": "Writes"
602
+ },
603
+ "emits": {
604
+ "items": {
605
+ "type": "string"
606
+ },
607
+ "type": "array",
608
+ "title": "Emits"
609
+ },
610
+ "effectClass": {
611
+ "$ref": "#/components/schemas/EffectClass"
612
+ },
613
+ "onError": {
614
+ "$ref": "#/components/schemas/OnError"
615
+ },
616
+ "capabilities": {
617
+ "items": {
618
+ "type": "string"
619
+ },
620
+ "type": "array",
621
+ "title": "Capabilities"
622
+ }
623
+ },
624
+ "additionalProperties": false,
625
+ "type": "object",
626
+ "required": [
627
+ "id",
628
+ "type",
629
+ "when",
630
+ "config",
631
+ "reads",
632
+ "writes",
633
+ "emits",
634
+ "effectClass",
635
+ "onError",
636
+ "capabilities"
637
+ ],
638
+ "title": "Bit",
639
+ "description": "An ordered conditional unit of project work."
640
+ },
641
+ "Bucket": {
642
+ "properties": {
643
+ "kind": {
644
+ "type": "string",
645
+ "const": "bucket",
646
+ "title": "Kind"
647
+ },
648
+ "bucket": {
649
+ "type": "string",
650
+ "title": "Bucket"
651
+ },
652
+ "bounds": {
653
+ "anyOf": [
654
+ {
655
+ "prefixItems": [
656
+ {
657
+ "type": "number"
658
+ },
659
+ {
660
+ "type": "number"
661
+ }
662
+ ],
663
+ "type": "array",
664
+ "maxItems": 2,
665
+ "minItems": 2
666
+ },
667
+ {
668
+ "type": "null"
669
+ }
670
+ ],
671
+ "title": "Bounds"
672
+ }
673
+ },
674
+ "additionalProperties": false,
675
+ "type": "object",
676
+ "required": [
677
+ "kind",
678
+ "bucket"
679
+ ],
680
+ "title": "Bucket",
681
+ "description": "A bucketed value with optional numeric bounds."
682
+ },
683
+ "CompileRequest": {
684
+ "properties": {
685
+ "strictUndeclaredAccess": {
686
+ "type": "boolean",
687
+ "title": "Strictundeclaredaccess",
688
+ "default": true
689
+ }
690
+ },
691
+ "additionalProperties": false,
692
+ "type": "object",
693
+ "title": "CompileRequest",
694
+ "description": "Optional compile flags."
695
+ },
696
+ "CompileResponse": {
697
+ "properties": {
698
+ "compiled": {
699
+ "additionalProperties": true,
700
+ "type": "object",
701
+ "title": "Compiled"
702
+ }
703
+ },
704
+ "additionalProperties": false,
705
+ "type": "object",
706
+ "required": [
707
+ "compiled"
708
+ ],
709
+ "title": "CompileResponse",
710
+ "description": "Compiled project snapshot."
711
+ },
712
+ "DiagnosticDto": {
713
+ "properties": {
714
+ "severity": {
715
+ "type": "string",
716
+ "enum": [
717
+ "error",
718
+ "warning",
719
+ "info"
720
+ ],
721
+ "title": "Severity"
722
+ },
723
+ "code": {
724
+ "type": "string",
725
+ "title": "Code"
726
+ },
727
+ "message": {
728
+ "type": "string",
729
+ "title": "Message"
730
+ },
731
+ "path": {
732
+ "anyOf": [
733
+ {
734
+ "type": "string"
735
+ },
736
+ {
737
+ "type": "null"
738
+ }
739
+ ],
740
+ "title": "Path"
741
+ }
742
+ },
743
+ "additionalProperties": false,
744
+ "type": "object",
745
+ "required": [
746
+ "severity",
747
+ "code",
748
+ "message"
749
+ ],
750
+ "title": "DiagnosticDto",
751
+ "description": "One compile or validation diagnostic."
752
+ },
753
+ "DocumentDefinition": {
754
+ "properties": {
755
+ "id": {
756
+ "type": "string",
757
+ "title": "Id"
758
+ },
759
+ "type": {
760
+ "type": "string",
761
+ "enum": [
762
+ "text",
763
+ "markdown",
764
+ "xlsx",
765
+ "docx",
766
+ "image",
767
+ "dxf"
768
+ ],
769
+ "title": "Type"
770
+ },
771
+ "templateRef": {
772
+ "type": "string",
773
+ "title": "Templateref"
774
+ },
775
+ "templateManifestRef": {
776
+ "anyOf": [
777
+ {
778
+ "type": "string"
779
+ },
780
+ {
781
+ "type": "null"
782
+ }
783
+ ],
784
+ "title": "Templatemanifestref"
785
+ },
786
+ "driver": {
787
+ "type": "string",
788
+ "title": "Driver"
789
+ },
790
+ "outputTarget": {
791
+ "anyOf": [
792
+ {
793
+ "type": "string"
794
+ },
795
+ {
796
+ "type": "null"
797
+ }
798
+ ],
799
+ "title": "Outputtarget"
800
+ },
801
+ "irFamily": {
802
+ "anyOf": [
803
+ {
804
+ "type": "string",
805
+ "enum": [
806
+ "flow",
807
+ "sheet",
808
+ "drawing",
809
+ "raster",
810
+ "plain"
811
+ ]
812
+ },
813
+ {
814
+ "type": "null"
815
+ }
816
+ ],
817
+ "title": "Irfamily"
818
+ },
819
+ "settings": {
820
+ "additionalProperties": true,
821
+ "type": "object",
822
+ "title": "Settings"
823
+ },
824
+ "preview": {
825
+ "anyOf": [
826
+ {
827
+ "$ref": "#/components/schemas/DocumentPreviewSettings"
828
+ },
829
+ {
830
+ "type": "null"
831
+ }
832
+ ]
833
+ }
834
+ },
835
+ "additionalProperties": false,
836
+ "type": "object",
837
+ "required": [
838
+ "id",
839
+ "type",
840
+ "templateRef",
841
+ "driver"
842
+ ],
843
+ "title": "DocumentDefinition",
844
+ "description": "A deferred document output definition."
845
+ },
846
+ "DocumentPreviewSettings": {
847
+ "properties": {
848
+ "mode": {
849
+ "type": "string",
850
+ "enum": [
851
+ "none",
852
+ "text",
853
+ "html",
854
+ "drawing-json"
855
+ ],
856
+ "title": "Mode"
857
+ },
858
+ "enabled": {
859
+ "type": "boolean",
860
+ "title": "Enabled"
861
+ }
862
+ },
863
+ "additionalProperties": false,
864
+ "type": "object",
865
+ "required": [
866
+ "mode",
867
+ "enabled"
868
+ ],
869
+ "title": "DocumentPreviewSettings",
870
+ "description": "Preview configuration for a document definition."
871
+ },
872
+ "EffectClass": {
873
+ "type": "string",
874
+ "enum": [
875
+ "pure",
876
+ "workspace",
877
+ "document",
878
+ "filesystem",
879
+ "network",
880
+ "external-process",
881
+ "transactional-external"
882
+ ],
883
+ "title": "EffectClass",
884
+ "description": "Classifies a bit's execution effects."
885
+ },
886
+ "EqToken": {
887
+ "properties": {
888
+ "kind": {
889
+ "type": "string",
890
+ "const": "eq_token",
891
+ "title": "Kind"
892
+ },
893
+ "token": {
894
+ "type": "string",
895
+ "title": "Token"
896
+ },
897
+ "domain": {
898
+ "anyOf": [
899
+ {
900
+ "type": "string"
901
+ },
902
+ {
903
+ "type": "null"
904
+ }
905
+ ],
906
+ "title": "Domain"
907
+ }
908
+ },
909
+ "additionalProperties": false,
910
+ "type": "object",
911
+ "required": [
912
+ "kind",
913
+ "token"
914
+ ],
915
+ "title": "EqToken",
916
+ "description": "An equality-preserving opaque token."
917
+ },
918
+ "Exposure": {
919
+ "type": "string",
920
+ "enum": [
921
+ "backendOnly",
922
+ "redactedToClient",
923
+ "clientVisible"
924
+ ],
925
+ "title": "Exposure",
926
+ "description": "Controls whether a workspace value can reach clients."
927
+ },
928
+ "HTTPValidationError": {
929
+ "properties": {
930
+ "detail": {
931
+ "items": {
932
+ "$ref": "#/components/schemas/ValidationError"
933
+ },
934
+ "type": "array",
935
+ "title": "Detail"
936
+ }
937
+ },
938
+ "type": "object",
939
+ "title": "HTTPValidationError"
940
+ },
941
+ "OnError": {
942
+ "type": "string",
943
+ "enum": [
944
+ "abort",
945
+ "skip",
946
+ "continue"
947
+ ],
948
+ "title": "OnError",
949
+ "description": "Controls a run after a failed bit."
950
+ },
951
+ "PreviewRequest": {
952
+ "properties": {
953
+ "documentId": {
954
+ "type": "string",
955
+ "title": "Documentid"
956
+ },
957
+ "workspaceOverrides": {
958
+ "additionalProperties": true,
959
+ "type": "object",
960
+ "title": "Workspaceoverrides"
961
+ }
962
+ },
963
+ "additionalProperties": false,
964
+ "type": "object",
965
+ "required": [
966
+ "documentId"
967
+ ],
968
+ "title": "PreviewRequest",
969
+ "description": "Preview one document definition."
970
+ },
971
+ "PreviewResponse": {
972
+ "properties": {
973
+ "documentId": {
974
+ "type": "string",
975
+ "title": "Documentid"
976
+ },
977
+ "kind": {
978
+ "type": "string",
979
+ "enum": [
980
+ "html",
981
+ "text",
982
+ "sheet-json",
983
+ "drawing-json",
984
+ "unsupported"
985
+ ],
986
+ "title": "Kind"
987
+ },
988
+ "body": {
989
+ "title": "Body"
990
+ },
991
+ "warnings": {
992
+ "items": {
993
+ "$ref": "#/components/schemas/DiagnosticDto"
994
+ },
995
+ "type": "array",
996
+ "title": "Warnings"
997
+ }
998
+ },
999
+ "additionalProperties": false,
1000
+ "type": "object",
1001
+ "required": [
1002
+ "documentId",
1003
+ "kind",
1004
+ "body"
1005
+ ],
1006
+ "title": "PreviewResponse",
1007
+ "description": "Browser-safe preview payload."
1008
+ },
1009
+ "Project": {
1010
+ "properties": {
1011
+ "schemaVersion": {
1012
+ "type": "string",
1013
+ "enum": [
1014
+ "1.0.0",
1015
+ "1.1.0"
1016
+ ],
1017
+ "title": "Schemaversion"
1018
+ },
1019
+ "id": {
1020
+ "type": "string",
1021
+ "title": "Id"
1022
+ },
1023
+ "name": {
1024
+ "type": "string",
1025
+ "title": "Name"
1026
+ },
1027
+ "description": {
1028
+ "anyOf": [
1029
+ {
1030
+ "type": "string"
1031
+ },
1032
+ {
1033
+ "type": "null"
1034
+ }
1035
+ ],
1036
+ "title": "Description"
1037
+ },
1038
+ "pluginRequirements": {
1039
+ "items": {
1040
+ "additionalProperties": {
1041
+ "type": "string"
1042
+ },
1043
+ "type": "object"
1044
+ },
1045
+ "type": "array",
1046
+ "title": "Pluginrequirements"
1047
+ },
1048
+ "workspace": {
1049
+ "additionalProperties": {
1050
+ "items": {
1051
+ "$ref": "#/components/schemas/Variable"
1052
+ },
1053
+ "type": "array"
1054
+ },
1055
+ "type": "object",
1056
+ "title": "Workspace"
1057
+ },
1058
+ "bits": {
1059
+ "items": {
1060
+ "$ref": "#/components/schemas/Bit"
1061
+ },
1062
+ "type": "array",
1063
+ "title": "Bits"
1064
+ },
1065
+ "documents": {
1066
+ "items": {
1067
+ "$ref": "#/components/schemas/DocumentDefinition"
1068
+ },
1069
+ "type": "array",
1070
+ "title": "Documents"
1071
+ },
1072
+ "templates": {
1073
+ "items": {
1074
+ "additionalProperties": {
1075
+ "type": "string"
1076
+ },
1077
+ "type": "object"
1078
+ },
1079
+ "type": "array",
1080
+ "title": "Templates"
1081
+ },
1082
+ "metadata": {
1083
+ "additionalProperties": true,
1084
+ "type": "object",
1085
+ "title": "Metadata"
1086
+ }
1087
+ },
1088
+ "additionalProperties": false,
1089
+ "type": "object",
1090
+ "required": [
1091
+ "schemaVersion",
1092
+ "id",
1093
+ "name",
1094
+ "pluginRequirements",
1095
+ "workspace",
1096
+ "bits",
1097
+ "documents",
1098
+ "templates",
1099
+ "metadata"
1100
+ ],
1101
+ "title": "Project",
1102
+ "description": "A portable, versioned Roborean project."
1103
+ },
1104
+ "ProjectCreate": {
1105
+ "properties": {
1106
+ "project": {
1107
+ "$ref": "#/components/schemas/Project"
1108
+ }
1109
+ },
1110
+ "additionalProperties": false,
1111
+ "type": "object",
1112
+ "required": [
1113
+ "project"
1114
+ ],
1115
+ "title": "ProjectCreate",
1116
+ "description": "Create one stored project."
1117
+ },
1118
+ "ProjectDetail": {
1119
+ "properties": {
1120
+ "project": {
1121
+ "additionalProperties": true,
1122
+ "type": "object",
1123
+ "title": "Project"
1124
+ }
1125
+ },
1126
+ "additionalProperties": false,
1127
+ "type": "object",
1128
+ "required": [
1129
+ "project"
1130
+ ],
1131
+ "title": "ProjectDetail",
1132
+ "description": "Redacted project payload."
1133
+ },
1134
+ "ProjectSummary": {
1135
+ "properties": {
1136
+ "id": {
1137
+ "type": "string",
1138
+ "title": "Id"
1139
+ },
1140
+ "name": {
1141
+ "type": "string",
1142
+ "title": "Name"
1143
+ },
1144
+ "schemaVersion": {
1145
+ "type": "string",
1146
+ "title": "Schemaversion"
1147
+ }
1148
+ },
1149
+ "additionalProperties": false,
1150
+ "type": "object",
1151
+ "required": [
1152
+ "id",
1153
+ "name",
1154
+ "schemaVersion"
1155
+ ],
1156
+ "title": "ProjectSummary",
1157
+ "description": "List row for projects."
1158
+ },
1159
+ "ProjectUpdate": {
1160
+ "properties": {
1161
+ "project": {
1162
+ "$ref": "#/components/schemas/Project"
1163
+ }
1164
+ },
1165
+ "additionalProperties": false,
1166
+ "type": "object",
1167
+ "required": [
1168
+ "project"
1169
+ ],
1170
+ "title": "ProjectUpdate",
1171
+ "description": "Replace a stored project."
1172
+ },
1173
+ "PublicLiteral": {
1174
+ "properties": {
1175
+ "kind": {
1176
+ "type": "string",
1177
+ "const": "public_literal",
1178
+ "title": "Kind"
1179
+ },
1180
+ "dataType": {
1181
+ "type": "string",
1182
+ "enum": [
1183
+ "string",
1184
+ "number",
1185
+ "boolean",
1186
+ "date"
1187
+ ],
1188
+ "title": "Datatype"
1189
+ },
1190
+ "value": {
1191
+ "title": "Value"
1192
+ }
1193
+ },
1194
+ "additionalProperties": false,
1195
+ "type": "object",
1196
+ "required": [
1197
+ "kind",
1198
+ "dataType",
1199
+ "value"
1200
+ ],
1201
+ "title": "PublicLiteral",
1202
+ "description": "A public literal workspace value."
1203
+ },
1204
+ "Redacted": {
1205
+ "properties": {
1206
+ "kind": {
1207
+ "type": "string",
1208
+ "const": "redacted",
1209
+ "title": "Kind"
1210
+ },
1211
+ "reason": {
1212
+ "type": "string",
1213
+ "enum": [
1214
+ "secret",
1215
+ "policy",
1216
+ "consent",
1217
+ "unknown"
1218
+ ],
1219
+ "title": "Reason"
1220
+ }
1221
+ },
1222
+ "additionalProperties": false,
1223
+ "type": "object",
1224
+ "required": [
1225
+ "kind",
1226
+ "reason"
1227
+ ],
1228
+ "title": "Redacted",
1229
+ "description": "A value withheld by secret or policy rules."
1230
+ },
1231
+ "RuleAst": {
1232
+ "properties": {
1233
+ "op": {
1234
+ "type": "string",
1235
+ "enum": [
1236
+ "and",
1237
+ "or",
1238
+ "not",
1239
+ "eq",
1240
+ "ne",
1241
+ "lt",
1242
+ "le",
1243
+ "gt",
1244
+ "ge",
1245
+ "has",
1246
+ "const",
1247
+ "var"
1248
+ ],
1249
+ "title": "Op"
1250
+ },
1251
+ "args": {
1252
+ "items": {},
1253
+ "type": "array",
1254
+ "title": "Args"
1255
+ }
1256
+ },
1257
+ "additionalProperties": false,
1258
+ "type": "object",
1259
+ "required": [
1260
+ "op",
1261
+ "args"
1262
+ ],
1263
+ "title": "RuleAst",
1264
+ "description": "A recursive CEL-profile rule expression."
1265
+ },
1266
+ "RunCreate": {
1267
+ "properties": {
1268
+ "dryRun": {
1269
+ "type": "boolean",
1270
+ "title": "Dryrun",
1271
+ "default": false
1272
+ },
1273
+ "stopOnBitError": {
1274
+ "type": "boolean",
1275
+ "title": "Stoponbiterror",
1276
+ "default": true
1277
+ },
1278
+ "workspaceOverrides": {
1279
+ "additionalProperties": true,
1280
+ "type": "object",
1281
+ "title": "Workspaceoverrides"
1282
+ },
1283
+ "strictWorkspaceAccess": {
1284
+ "type": "boolean",
1285
+ "title": "Strictworkspaceaccess",
1286
+ "default": true
1287
+ }
1288
+ },
1289
+ "additionalProperties": false,
1290
+ "type": "object",
1291
+ "title": "RunCreate",
1292
+ "description": "Body for POST /runs."
1293
+ },
1294
+ "RunDetail": {
1295
+ "properties": {
1296
+ "runId": {
1297
+ "type": "string",
1298
+ "title": "Runid"
1299
+ },
1300
+ "projectId": {
1301
+ "type": "string",
1302
+ "title": "Projectid"
1303
+ },
1304
+ "status": {
1305
+ "type": "string",
1306
+ "title": "Status"
1307
+ },
1308
+ "results": {
1309
+ "anyOf": [
1310
+ {
1311
+ "additionalProperties": true,
1312
+ "type": "object"
1313
+ },
1314
+ {
1315
+ "type": "null"
1316
+ }
1317
+ ],
1318
+ "title": "Results"
1319
+ },
1320
+ "diff": {
1321
+ "anyOf": [
1322
+ {
1323
+ "additionalProperties": true,
1324
+ "type": "object"
1325
+ },
1326
+ {
1327
+ "type": "null"
1328
+ }
1329
+ ],
1330
+ "title": "Diff"
1331
+ },
1332
+ "error": {
1333
+ "anyOf": [
1334
+ {
1335
+ "additionalProperties": true,
1336
+ "type": "object"
1337
+ },
1338
+ {
1339
+ "type": "null"
1340
+ }
1341
+ ],
1342
+ "title": "Error"
1343
+ }
1344
+ },
1345
+ "additionalProperties": false,
1346
+ "type": "object",
1347
+ "required": [
1348
+ "runId",
1349
+ "projectId",
1350
+ "status"
1351
+ ],
1352
+ "title": "RunDetail",
1353
+ "description": "Redacted durable run."
1354
+ },
1355
+ "RunSummary": {
1356
+ "properties": {
1357
+ "runId": {
1358
+ "type": "string",
1359
+ "title": "Runid"
1360
+ },
1361
+ "projectId": {
1362
+ "type": "string",
1363
+ "title": "Projectid"
1364
+ },
1365
+ "status": {
1366
+ "type": "string",
1367
+ "title": "Status"
1368
+ },
1369
+ "createdAt": {
1370
+ "type": "string",
1371
+ "title": "Createdat"
1372
+ },
1373
+ "finishedAt": {
1374
+ "anyOf": [
1375
+ {
1376
+ "type": "string"
1377
+ },
1378
+ {
1379
+ "type": "null"
1380
+ }
1381
+ ],
1382
+ "title": "Finishedat"
1383
+ }
1384
+ },
1385
+ "additionalProperties": false,
1386
+ "type": "object",
1387
+ "required": [
1388
+ "runId",
1389
+ "projectId",
1390
+ "status",
1391
+ "createdAt"
1392
+ ],
1393
+ "title": "RunSummary",
1394
+ "description": "Run list item."
1395
+ },
1396
+ "SecretRefValue": {
1397
+ "properties": {
1398
+ "kind": {
1399
+ "type": "string",
1400
+ "const": "secret_ref",
1401
+ "title": "Kind"
1402
+ },
1403
+ "ref": {
1404
+ "type": "string",
1405
+ "title": "Ref"
1406
+ },
1407
+ "displayHint": {
1408
+ "anyOf": [
1409
+ {
1410
+ "type": "string"
1411
+ },
1412
+ {
1413
+ "type": "null"
1414
+ }
1415
+ ],
1416
+ "title": "Displayhint"
1417
+ }
1418
+ },
1419
+ "additionalProperties": false,
1420
+ "type": "object",
1421
+ "required": [
1422
+ "kind",
1423
+ "ref"
1424
+ ],
1425
+ "title": "SecretRefValue",
1426
+ "description": "A reference to a secret held outside the portable project."
1427
+ },
1428
+ "ShapeToken": {
1429
+ "properties": {
1430
+ "kind": {
1431
+ "type": "string",
1432
+ "const": "shape_token",
1433
+ "title": "Kind"
1434
+ },
1435
+ "shape": {
1436
+ "type": "string",
1437
+ "enum": [
1438
+ "email",
1439
+ "phone",
1440
+ "iban",
1441
+ "uuid",
1442
+ "code"
1443
+ ],
1444
+ "title": "Shape"
1445
+ },
1446
+ "length": {
1447
+ "anyOf": [
1448
+ {
1449
+ "type": "integer"
1450
+ },
1451
+ {
1452
+ "type": "null"
1453
+ }
1454
+ ],
1455
+ "title": "Length"
1456
+ }
1457
+ },
1458
+ "additionalProperties": false,
1459
+ "type": "object",
1460
+ "required": [
1461
+ "kind",
1462
+ "shape"
1463
+ ],
1464
+ "title": "ShapeToken",
1465
+ "description": "A value represented by its structural shape."
1466
+ },
1467
+ "ValidationError": {
1468
+ "properties": {
1469
+ "loc": {
1470
+ "items": {
1471
+ "anyOf": [
1472
+ {
1473
+ "type": "string"
1474
+ },
1475
+ {
1476
+ "type": "integer"
1477
+ }
1478
+ ]
1479
+ },
1480
+ "type": "array",
1481
+ "title": "Location"
1482
+ },
1483
+ "msg": {
1484
+ "type": "string",
1485
+ "title": "Message"
1486
+ },
1487
+ "type": {
1488
+ "type": "string",
1489
+ "title": "Error Type"
1490
+ },
1491
+ "input": {
1492
+ "title": "Input"
1493
+ },
1494
+ "ctx": {
1495
+ "type": "object",
1496
+ "title": "Context"
1497
+ }
1498
+ },
1499
+ "type": "object",
1500
+ "required": [
1501
+ "loc",
1502
+ "msg",
1503
+ "type"
1504
+ ],
1505
+ "title": "ValidationError"
1506
+ },
1507
+ "Variable": {
1508
+ "properties": {
1509
+ "key": {
1510
+ "type": "string",
1511
+ "title": "Key"
1512
+ },
1513
+ "schema": {
1514
+ "additionalProperties": true,
1515
+ "type": "object",
1516
+ "title": "Schema"
1517
+ },
1518
+ "defaultValue": {
1519
+ "oneOf": [
1520
+ {
1521
+ "$ref": "#/components/schemas/PublicLiteral"
1522
+ },
1523
+ {
1524
+ "$ref": "#/components/schemas/SecretRefValue"
1525
+ },
1526
+ {
1527
+ "$ref": "#/components/schemas/EqToken"
1528
+ },
1529
+ {
1530
+ "$ref": "#/components/schemas/ShapeToken"
1531
+ },
1532
+ {
1533
+ "$ref": "#/components/schemas/Bucket"
1534
+ },
1535
+ {
1536
+ "$ref": "#/components/schemas/Redacted"
1537
+ }
1538
+ ],
1539
+ "title": "Defaultvalue",
1540
+ "discriminator": {
1541
+ "propertyName": "kind",
1542
+ "mapping": {
1543
+ "bucket": "#/components/schemas/Bucket",
1544
+ "eq_token": "#/components/schemas/EqToken",
1545
+ "public_literal": "#/components/schemas/PublicLiteral",
1546
+ "redacted": "#/components/schemas/Redacted",
1547
+ "secret_ref": "#/components/schemas/SecretRefValue",
1548
+ "shape_token": "#/components/schemas/ShapeToken"
1549
+ }
1550
+ }
1551
+ },
1552
+ "const": {
1553
+ "type": "boolean",
1554
+ "title": "Const",
1555
+ "default": false
1556
+ },
1557
+ "exposure": {
1558
+ "$ref": "#/components/schemas/Exposure"
1559
+ },
1560
+ "description": {
1561
+ "anyOf": [
1562
+ {
1563
+ "type": "string"
1564
+ },
1565
+ {
1566
+ "type": "null"
1567
+ }
1568
+ ],
1569
+ "title": "Description"
1570
+ }
1571
+ },
1572
+ "additionalProperties": false,
1573
+ "type": "object",
1574
+ "required": [
1575
+ "key",
1576
+ "schema",
1577
+ "defaultValue",
1578
+ "exposure"
1579
+ ],
1580
+ "title": "Variable",
1581
+ "description": "A declared workspace variable."
1582
+ }
1583
+ }
1584
+ }
1585
+ }