@skaile/workspaces 2.1.0 → 2.2.0

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.
Files changed (153) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +26 -0
  3. package/dist/{asset-feeds-FBGBQEYD.js → asset-feeds-D2LOXTOS.js} +9 -9
  4. package/dist/{asset-feeds-FBGBQEYD.js.map → asset-feeds-D2LOXTOS.js.map} +1 -1
  5. package/dist/asset-manager/catalog-deployer.js +5 -5
  6. package/dist/asset-manager/index.js +9 -9
  7. package/dist/asset-manager/installer.js +6 -6
  8. package/dist/bridge/drivers/claude-sdk.js +6 -6
  9. package/dist/bridge/drivers/codex.js +1 -1
  10. package/dist/bridge/drivers/continue.js +2 -2
  11. package/dist/bridge/drivers/echo.js +1 -1
  12. package/dist/bridge/drivers/gemini.js +3 -3
  13. package/dist/bridge/drivers/goose.js +2 -2
  14. package/dist/bridge/drivers/omp.js +1 -1
  15. package/dist/bridge/drivers/opencode.js +2 -2
  16. package/dist/bridge/drivers/qwen.js +3 -3
  17. package/dist/bridge/index.js +2 -2
  18. package/dist/{chunk-MLYV6WEM.js → chunk-5BH6ZEGC.js} +9 -9
  19. package/dist/{chunk-MLYV6WEM.js.map → chunk-5BH6ZEGC.js.map} +1 -1
  20. package/dist/{chunk-RTLQAZAE.js → chunk-63ZPKREA.js} +3 -3
  21. package/dist/{chunk-RTLQAZAE.js.map → chunk-63ZPKREA.js.map} +1 -1
  22. package/dist/{chunk-ZWFLEMI4.js → chunk-6HPTB6KT.js} +4 -4
  23. package/dist/{chunk-ZWFLEMI4.js.map → chunk-6HPTB6KT.js.map} +1 -1
  24. package/dist/{chunk-43TAGQ3Z.js → chunk-6I5VRIX3.js} +8 -8
  25. package/dist/{chunk-43TAGQ3Z.js.map → chunk-6I5VRIX3.js.map} +1 -1
  26. package/dist/{chunk-HOL5KD7U.js → chunk-6QSGCHE5.js} +5 -5
  27. package/dist/{chunk-HOL5KD7U.js.map → chunk-6QSGCHE5.js.map} +1 -1
  28. package/dist/{chunk-XSIXGVH6.js → chunk-A67FJ4YT.js} +4 -4
  29. package/dist/{chunk-XSIXGVH6.js.map → chunk-A67FJ4YT.js.map} +1 -1
  30. package/dist/{chunk-XQVP6XWR.js → chunk-BFIK6NPZ.js} +3 -3
  31. package/dist/{chunk-XQVP6XWR.js.map → chunk-BFIK6NPZ.js.map} +1 -1
  32. package/dist/{chunk-SGLGA2AZ.js → chunk-BUPFJFGP.js} +3 -3
  33. package/dist/{chunk-SGLGA2AZ.js.map → chunk-BUPFJFGP.js.map} +1 -1
  34. package/dist/{chunk-CTWE7I7Z.js → chunk-CERGXDGG.js} +4 -4
  35. package/dist/{chunk-CTWE7I7Z.js.map → chunk-CERGXDGG.js.map} +1 -1
  36. package/dist/{chunk-N6TYW6EB.js → chunk-DHGMYXOY.js} +4 -4
  37. package/dist/{chunk-N6TYW6EB.js.map → chunk-DHGMYXOY.js.map} +1 -1
  38. package/dist/{chunk-VPXBAEWE.js → chunk-GPMIXOJJ.js} +8 -8
  39. package/dist/{chunk-VPXBAEWE.js.map → chunk-GPMIXOJJ.js.map} +1 -1
  40. package/dist/{chunk-GUKMNUQK.js → chunk-I5ESMJMW.js} +2 -2
  41. package/dist/{chunk-GUKMNUQK.js.map → chunk-I5ESMJMW.js.map} +1 -1
  42. package/dist/{chunk-Y6VSFX2A.js → chunk-IR6VPAVH.js} +3 -3
  43. package/dist/{chunk-Y6VSFX2A.js.map → chunk-IR6VPAVH.js.map} +1 -1
  44. package/dist/{chunk-WVPL4OGD.js → chunk-KGIVZOLU.js} +2 -2
  45. package/dist/{chunk-WVPL4OGD.js.map → chunk-KGIVZOLU.js.map} +1 -1
  46. package/dist/{chunk-L26NGI43.js → chunk-MAIKGYFR.js} +2 -2
  47. package/dist/{chunk-L26NGI43.js.map → chunk-MAIKGYFR.js.map} +1 -1
  48. package/dist/{chunk-YODP3STD.js → chunk-Q26C5GLO.js} +3 -3
  49. package/dist/{chunk-YODP3STD.js.map → chunk-Q26C5GLO.js.map} +1 -1
  50. package/dist/{chunk-PYYL5XMA.js → chunk-RKMXBOIO.js} +3 -3
  51. package/dist/{chunk-PYYL5XMA.js.map → chunk-RKMXBOIO.js.map} +1 -1
  52. package/dist/{chunk-2BSXXTUP.js → chunk-SZJCUC52.js} +5 -5
  53. package/dist/{chunk-2BSXXTUP.js.map → chunk-SZJCUC52.js.map} +1 -1
  54. package/dist/{chunk-RBOPTTTK.js → chunk-TQIU4HQG.js} +10 -10
  55. package/dist/{chunk-RBOPTTTK.js.map → chunk-TQIU4HQG.js.map} +1 -1
  56. package/dist/{chunk-5BGEYZ7I.js → chunk-UFY2HFLO.js} +3 -3
  57. package/dist/{chunk-5BGEYZ7I.js.map → chunk-UFY2HFLO.js.map} +1 -1
  58. package/dist/{chunk-BTR3ZJ7S.js → chunk-VSSAJYFK.js} +4 -4
  59. package/dist/{chunk-BTR3ZJ7S.js.map → chunk-VSSAJYFK.js.map} +1 -1
  60. package/dist/{chunk-PSVF3LDU.js → chunk-WA7ADYSA.js} +4 -4
  61. package/dist/{chunk-PSVF3LDU.js.map → chunk-WA7ADYSA.js.map} +1 -1
  62. package/dist/{chunk-BHLNQ4L5.js → chunk-ZNIHTT22.js} +3 -3
  63. package/dist/{chunk-BHLNQ4L5.js.map → chunk-ZNIHTT22.js.map} +1 -1
  64. package/dist/cli/index.js +49 -49
  65. package/dist/connectors/config.js +6 -6
  66. package/dist/connectors/index.js +8 -8
  67. package/dist/core/index.js +5 -5
  68. package/dist/core/runtime-assets.js +3 -3
  69. package/dist/core/workspace-config.js +2 -2
  70. package/dist/deploy/index.js +5 -5
  71. package/dist/{ensure-sources-AVCVX7CV.js → ensure-sources-6QMXRI6D.js} +12 -12
  72. package/dist/{ensure-sources-AVCVX7CV.js.map → ensure-sources-6QMXRI6D.js.map} +1 -1
  73. package/dist/factory-assets/connectors/box.js +8 -8
  74. package/dist/factory-assets/connectors/deploy.js +8 -8
  75. package/dist/factory-assets/connectors/devserver.js +8 -8
  76. package/dist/factory-assets/connectors/flow/adapter.js +8 -8
  77. package/dist/factory-assets/connectors/flow/contract/expression.d.ts +46 -0
  78. package/dist/factory-assets/connectors/flow/contract/expression.d.ts.map +1 -0
  79. package/dist/factory-assets/connectors/flow/contract/flow.v2.schema.json +948 -0
  80. package/dist/factory-assets/connectors/flow/contract/hash.d.ts +6 -0
  81. package/dist/factory-assets/connectors/flow/contract/hash.d.ts.map +1 -0
  82. package/dist/factory-assets/connectors/flow/contract/index.d.ts +6 -0
  83. package/dist/factory-assets/connectors/flow/contract/index.d.ts.map +1 -0
  84. package/dist/factory-assets/connectors/flow/contract/json-schema.d.ts +6 -0
  85. package/dist/factory-assets/connectors/flow/contract/json-schema.d.ts.map +1 -0
  86. package/dist/factory-assets/connectors/flow/contract/normalize.d.ts +35 -0
  87. package/dist/factory-assets/connectors/flow/contract/normalize.d.ts.map +1 -0
  88. package/dist/factory-assets/connectors/flow/contract/schema.d.ts +364 -0
  89. package/dist/factory-assets/connectors/flow/contract/schema.d.ts.map +1 -0
  90. package/dist/factory-assets/connectors/flow/contract.d.ts +2 -0
  91. package/dist/factory-assets/connectors/flow/contract.js +1027 -0
  92. package/dist/factory-assets/connectors/flow/contract.js.map +1 -0
  93. package/dist/factory-assets/connectors/flow/engine.js +5 -5
  94. package/dist/factory-assets/connectors/flow/run-flow.js +9 -9
  95. package/dist/factory-assets/connectors/flow.js +8 -8
  96. package/dist/factory-assets/connectors/git.js +8 -8
  97. package/dist/factory-assets/connectors/gmail.js +8 -8
  98. package/dist/factory-assets/connectors/googledrive.js +8 -8
  99. package/dist/factory-assets/connectors/local.js +8 -8
  100. package/dist/factory-assets/connectors/mattermost.js +8 -8
  101. package/dist/factory-assets/connectors/memory.js +8 -8
  102. package/dist/factory-assets/connectors/minio.js +8 -8
  103. package/dist/factory-assets/connectors/postgres.js +8 -8
  104. package/dist/factory-assets/connectors/s3.js +8 -8
  105. package/dist/factory-assets/connectors/sharepoint.js +8 -8
  106. package/dist/factory-assets/connectors/sqlite.js +8 -8
  107. package/dist/factory-assets/connectors/static-server.js +8 -8
  108. package/dist/factory-assets/connectors/tunnel.js +8 -8
  109. package/dist/factory-assets/connectors/webdav.js +8 -8
  110. package/dist/factory-assets/connectors/xstate-store.js +8 -8
  111. package/dist/factory-assets/connectors/xstate.js +8 -8
  112. package/dist/{flows-CXVFGR27.js → flows-TDDBCLNF.js} +8 -8
  113. package/dist/{flows-CXVFGR27.js.map → flows-TDDBCLNF.js.map} +1 -1
  114. package/dist/{helpers-M5SXB4LL.js → helpers-COQ7TDD4.js} +12 -12
  115. package/dist/{helpers-M5SXB4LL.js.map → helpers-COQ7TDD4.js.map} +1 -1
  116. package/dist/library/index.js +7 -7
  117. package/dist/library/install.js +5 -5
  118. package/dist/{library-publish-HVIIQMI6.js → library-publish-SNPER6PO.js} +15 -15
  119. package/dist/{library-publish-HVIIQMI6.js.map → library-publish-SNPER6PO.js.map} +1 -1
  120. package/dist/{open-library-EJQISBWV.js → open-library-VH2VEYQ7.js} +13 -13
  121. package/dist/{open-library-EJQISBWV.js.map → open-library-VH2VEYQ7.js.map} +1 -1
  122. package/dist/{paths-2HMHL25W.js → paths-XZA22IB4.js} +10 -10
  123. package/dist/{paths-2HMHL25W.js.map → paths-XZA22IB4.js.map} +1 -1
  124. package/dist/{plugin-store-TLBQ5XRS.js → plugin-store-CYSNVZIX.js} +7 -7
  125. package/dist/{plugin-store-TLBQ5XRS.js.map → plugin-store-CYSNVZIX.js.map} +1 -1
  126. package/dist/{project-M2COJFPZ.js → project-FKL7PMJV.js} +13 -13
  127. package/dist/{project-M2COJFPZ.js.map → project-FKL7PMJV.js.map} +1 -1
  128. package/dist/resolver/index.js +5 -5
  129. package/dist/runner/index.js +13 -13
  130. package/dist/sdk/asset-manager.js +9 -9
  131. package/dist/sdk/bridge.js +2 -2
  132. package/dist/sdk/core.js +5 -5
  133. package/dist/sdk/flow.js +5 -5
  134. package/dist/sdk/index.js +13 -13
  135. package/dist/sdk/resolver.js +5 -5
  136. package/dist/sdk/runner.js +13 -13
  137. package/dist/sdk/transport/ws.js +1 -1
  138. package/dist/sdk/transport.js +1 -1
  139. package/dist/{setup-GWXEG3G2.js → setup-BM6HMYJJ.js} +9 -9
  140. package/dist/{setup-GWXEG3G2.js.map → setup-BM6HMYJJ.js.map} +1 -1
  141. package/dist/{skills-YTMGG23D.js → skills-LHS4TOKK.js} +7 -7
  142. package/dist/{skills-YTMGG23D.js.map → skills-LHS4TOKK.js.map} +1 -1
  143. package/dist/{source-WMXH2OBW.js → source-JIUBJC4F.js} +14 -14
  144. package/dist/{source-WMXH2OBW.js.map → source-JIUBJC4F.js.map} +1 -1
  145. package/dist/{source-manifest-publish-MTHUGBAY.js → source-manifest-publish-TLH6UWWU.js} +16 -16
  146. package/dist/{source-manifest-publish-MTHUGBAY.js.map → source-manifest-publish-TLH6UWWU.js.map} +1 -1
  147. package/dist/transport/index.js +1 -1
  148. package/dist/transport/ws.js +1 -1
  149. package/dist/tui/index.js +13 -13
  150. package/dist/workspace-plugin/adapters/mcp.js +6 -6
  151. package/dist/workspace-plugin/adapters/omp.js +7 -7
  152. package/dist/workspace-plugin/index.js +1 -1
  153. package/package.json +18 -1
@@ -0,0 +1,948 @@
1
+ {
2
+ "$id": "https://skaile.ai/schemas/flow/v2.json",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "type": "object",
5
+ "properties": {
6
+ "$schema": {
7
+ "type": "string",
8
+ "minLength": 1
9
+ },
10
+ "schemaVersion": {
11
+ "type": "number",
12
+ "const": 2
13
+ },
14
+ "id": {
15
+ "type": "string",
16
+ "minLength": 1
17
+ },
18
+ "version": {
19
+ "type": "string",
20
+ "minLength": 1
21
+ },
22
+ "name": {
23
+ "type": "string",
24
+ "minLength": 1
25
+ },
26
+ "description": {
27
+ "type": "string",
28
+ "minLength": 1
29
+ },
30
+ "input": {
31
+ "type": "object",
32
+ "properties": {
33
+ "schema": {
34
+ "type": "object",
35
+ "propertyNames": {
36
+ "type": "string"
37
+ },
38
+ "additionalProperties": {
39
+ "$ref": "#/$defs/__schema0"
40
+ }
41
+ },
42
+ "example": {
43
+ "$ref": "#/$defs/__schema1"
44
+ }
45
+ },
46
+ "required": [
47
+ "schema"
48
+ ],
49
+ "additionalProperties": false
50
+ },
51
+ "output": {
52
+ "type": "object",
53
+ "properties": {
54
+ "schema": {
55
+ "type": "object",
56
+ "propertyNames": {
57
+ "type": "string"
58
+ },
59
+ "additionalProperties": {
60
+ "$ref": "#/$defs/__schema0"
61
+ }
62
+ }
63
+ },
64
+ "required": [
65
+ "schema"
66
+ ],
67
+ "additionalProperties": false
68
+ },
69
+ "defaults": {
70
+ "type": "object",
71
+ "properties": {
72
+ "approval": {
73
+ "type": "string",
74
+ "enum": [
75
+ "checkpoint",
76
+ "auto",
77
+ "manual"
78
+ ]
79
+ },
80
+ "researchDepth": {
81
+ "type": "string",
82
+ "minLength": 1
83
+ },
84
+ "autoReview": {
85
+ "type": "boolean"
86
+ },
87
+ "subagentMode": {
88
+ "type": "boolean"
89
+ },
90
+ "verbosity": {
91
+ "type": "string",
92
+ "minLength": 1
93
+ },
94
+ "cliMode": {
95
+ "type": "boolean"
96
+ },
97
+ "run_input": {
98
+ "$ref": "#/$defs/__schema2"
99
+ },
100
+ "parameters": {
101
+ "type": "object",
102
+ "propertyNames": {
103
+ "type": "string"
104
+ },
105
+ "additionalProperties": {
106
+ "$ref": "#/$defs/__schema3"
107
+ }
108
+ }
109
+ },
110
+ "additionalProperties": false
111
+ },
112
+ "entry": {
113
+ "type": "string",
114
+ "minLength": 1
115
+ },
116
+ "nodes": {
117
+ "type": "array",
118
+ "items": {
119
+ "type": "object",
120
+ "properties": {
121
+ "id": {
122
+ "type": "string",
123
+ "minLength": 1
124
+ },
125
+ "label": {
126
+ "type": "string",
127
+ "minLength": 1
128
+ },
129
+ "description": {
130
+ "type": "string",
131
+ "minLength": 1
132
+ },
133
+ "phase": {
134
+ "type": "string",
135
+ "minLength": 1
136
+ },
137
+ "run": {
138
+ "oneOf": [
139
+ {
140
+ "type": "object",
141
+ "properties": {
142
+ "kind": {
143
+ "type": "string",
144
+ "const": "agent"
145
+ },
146
+ "instruction": {
147
+ "type": "string",
148
+ "minLength": 1
149
+ },
150
+ "assets": {
151
+ "type": "array",
152
+ "items": {
153
+ "type": "string",
154
+ "minLength": 1
155
+ }
156
+ }
157
+ },
158
+ "required": [
159
+ "kind",
160
+ "instruction"
161
+ ],
162
+ "additionalProperties": false
163
+ },
164
+ {
165
+ "type": "object",
166
+ "properties": {
167
+ "kind": {
168
+ "type": "string",
169
+ "const": "subprompt"
170
+ },
171
+ "instruction": {
172
+ "type": "string",
173
+ "minLength": 1
174
+ },
175
+ "model": {
176
+ "type": "string",
177
+ "minLength": 1
178
+ },
179
+ "assets": {
180
+ "type": "array",
181
+ "items": {
182
+ "type": "string",
183
+ "minLength": 1
184
+ }
185
+ }
186
+ },
187
+ "required": [
188
+ "kind",
189
+ "instruction"
190
+ ],
191
+ "additionalProperties": false
192
+ },
193
+ {
194
+ "type": "object",
195
+ "properties": {
196
+ "kind": {
197
+ "type": "string",
198
+ "const": "function"
199
+ },
200
+ "runtime": {
201
+ "type": "string",
202
+ "enum": [
203
+ "shell",
204
+ "node",
205
+ "python"
206
+ ]
207
+ },
208
+ "command": {
209
+ "type": "string",
210
+ "minLength": 1
211
+ },
212
+ "cwd": {
213
+ "type": "string",
214
+ "minLength": 1
215
+ },
216
+ "successExit": {
217
+ "type": "array",
218
+ "items": {
219
+ "type": "integer",
220
+ "minimum": -9007199254740991,
221
+ "maximum": 9007199254740991
222
+ }
223
+ },
224
+ "capture": {
225
+ "type": "object",
226
+ "properties": {
227
+ "stdout": {
228
+ "type": "string",
229
+ "minLength": 1
230
+ },
231
+ "stderr": {
232
+ "type": "string",
233
+ "minLength": 1
234
+ }
235
+ },
236
+ "additionalProperties": false
237
+ },
238
+ "assets": {
239
+ "type": "array",
240
+ "items": {
241
+ "type": "string",
242
+ "minLength": 1
243
+ }
244
+ }
245
+ },
246
+ "required": [
247
+ "kind",
248
+ "command"
249
+ ],
250
+ "additionalProperties": false
251
+ },
252
+ {
253
+ "type": "object",
254
+ "properties": {
255
+ "kind": {
256
+ "type": "string",
257
+ "const": "check"
258
+ },
259
+ "onFail": {
260
+ "default": "escalate",
261
+ "type": "string",
262
+ "enum": [
263
+ "escalate",
264
+ "fail"
265
+ ]
266
+ },
267
+ "runtime": {
268
+ "type": "string",
269
+ "enum": [
270
+ "shell",
271
+ "node",
272
+ "python"
273
+ ]
274
+ },
275
+ "command": {
276
+ "type": "string",
277
+ "minLength": 1
278
+ },
279
+ "cwd": {
280
+ "type": "string",
281
+ "minLength": 1
282
+ },
283
+ "successExit": {
284
+ "type": "array",
285
+ "items": {
286
+ "type": "integer",
287
+ "minimum": -9007199254740991,
288
+ "maximum": 9007199254740991
289
+ }
290
+ },
291
+ "capture": {
292
+ "type": "object",
293
+ "properties": {
294
+ "stdout": {
295
+ "type": "string",
296
+ "minLength": 1
297
+ },
298
+ "stderr": {
299
+ "type": "string",
300
+ "minLength": 1
301
+ }
302
+ },
303
+ "additionalProperties": false
304
+ },
305
+ "assets": {
306
+ "type": "array",
307
+ "items": {
308
+ "type": "string",
309
+ "minLength": 1
310
+ }
311
+ }
312
+ },
313
+ "required": [
314
+ "kind",
315
+ "command"
316
+ ],
317
+ "additionalProperties": false
318
+ },
319
+ {
320
+ "type": "object",
321
+ "properties": {
322
+ "kind": {
323
+ "type": "string",
324
+ "const": "gate"
325
+ },
326
+ "prompt": {
327
+ "type": "string",
328
+ "minLength": 1
329
+ },
330
+ "schema": {
331
+ "oneOf": [
332
+ {
333
+ "type": "object",
334
+ "properties": {
335
+ "kind": {
336
+ "type": "string",
337
+ "const": "text"
338
+ },
339
+ "multiline": {
340
+ "type": "boolean"
341
+ }
342
+ },
343
+ "required": [
344
+ "kind"
345
+ ],
346
+ "additionalProperties": false
347
+ },
348
+ {
349
+ "type": "object",
350
+ "properties": {
351
+ "kind": {
352
+ "type": "string",
353
+ "const": "choice"
354
+ },
355
+ "options": {
356
+ "minItems": 1,
357
+ "type": "array",
358
+ "items": {
359
+ "type": "object",
360
+ "properties": {
361
+ "id": {
362
+ "type": "string",
363
+ "minLength": 1
364
+ },
365
+ "label": {
366
+ "type": "string",
367
+ "minLength": 1
368
+ },
369
+ "description": {
370
+ "type": "string",
371
+ "minLength": 1
372
+ }
373
+ },
374
+ "required": [
375
+ "id",
376
+ "label"
377
+ ],
378
+ "additionalProperties": false
379
+ }
380
+ },
381
+ "multiple": {
382
+ "type": "boolean"
383
+ }
384
+ },
385
+ "required": [
386
+ "kind",
387
+ "options"
388
+ ],
389
+ "additionalProperties": false
390
+ },
391
+ {
392
+ "type": "object",
393
+ "properties": {
394
+ "kind": {
395
+ "type": "string",
396
+ "const": "form"
397
+ },
398
+ "fields": {
399
+ "type": "array",
400
+ "items": {
401
+ "type": "object",
402
+ "properties": {
403
+ "id": {
404
+ "type": "string",
405
+ "minLength": 1
406
+ },
407
+ "label": {
408
+ "type": "string",
409
+ "minLength": 1
410
+ },
411
+ "type": {
412
+ "type": "string",
413
+ "enum": [
414
+ "text",
415
+ "textarea",
416
+ "number",
417
+ "choice",
418
+ "file",
419
+ "date",
420
+ "boolean"
421
+ ]
422
+ },
423
+ "required": {
424
+ "type": "boolean"
425
+ },
426
+ "options": {
427
+ "type": "array",
428
+ "items": {
429
+ "type": "object",
430
+ "properties": {
431
+ "id": {
432
+ "type": "string",
433
+ "minLength": 1
434
+ },
435
+ "label": {
436
+ "type": "string",
437
+ "minLength": 1
438
+ },
439
+ "description": {
440
+ "type": "string",
441
+ "minLength": 1
442
+ }
443
+ },
444
+ "required": [
445
+ "id",
446
+ "label"
447
+ ],
448
+ "additionalProperties": false
449
+ }
450
+ },
451
+ "accept": {
452
+ "type": "array",
453
+ "items": {
454
+ "type": "string",
455
+ "minLength": 1
456
+ }
457
+ }
458
+ },
459
+ "required": [
460
+ "id",
461
+ "label",
462
+ "type"
463
+ ],
464
+ "additionalProperties": false
465
+ }
466
+ }
467
+ },
468
+ "required": [
469
+ "kind",
470
+ "fields"
471
+ ],
472
+ "additionalProperties": false
473
+ },
474
+ {
475
+ "type": "object",
476
+ "properties": {
477
+ "kind": {
478
+ "type": "string",
479
+ "const": "file"
480
+ },
481
+ "accept": {
482
+ "type": "array",
483
+ "items": {
484
+ "type": "string",
485
+ "minLength": 1
486
+ }
487
+ },
488
+ "maxSize": {
489
+ "type": "number",
490
+ "exclusiveMinimum": 0
491
+ },
492
+ "multiple": {
493
+ "type": "boolean"
494
+ }
495
+ },
496
+ "required": [
497
+ "kind"
498
+ ],
499
+ "additionalProperties": false
500
+ }
501
+ ]
502
+ },
503
+ "assets": {
504
+ "type": "array",
505
+ "items": {
506
+ "type": "string",
507
+ "minLength": 1
508
+ }
509
+ }
510
+ },
511
+ "required": [
512
+ "kind",
513
+ "prompt",
514
+ "schema"
515
+ ],
516
+ "additionalProperties": false
517
+ },
518
+ {
519
+ "type": "object",
520
+ "properties": {
521
+ "kind": {
522
+ "type": "string",
523
+ "const": "router"
524
+ },
525
+ "routes": {
526
+ "minItems": 1,
527
+ "type": "array",
528
+ "items": {
529
+ "type": "object",
530
+ "properties": {
531
+ "when": {
532
+ "type": "string",
533
+ "minLength": 1
534
+ },
535
+ "target": {
536
+ "anyOf": [
537
+ {
538
+ "type": "string",
539
+ "minLength": 1
540
+ },
541
+ {
542
+ "type": "null"
543
+ }
544
+ ]
545
+ }
546
+ },
547
+ "required": [
548
+ "when",
549
+ "target"
550
+ ],
551
+ "additionalProperties": false
552
+ }
553
+ },
554
+ "assets": {
555
+ "type": "array",
556
+ "items": {
557
+ "type": "string",
558
+ "minLength": 1
559
+ }
560
+ }
561
+ },
562
+ "required": [
563
+ "kind",
564
+ "routes"
565
+ ],
566
+ "additionalProperties": false
567
+ }
568
+ ]
569
+ },
570
+ "contract": {
571
+ "type": "object",
572
+ "properties": {
573
+ "requires": {
574
+ "type": "array",
575
+ "items": {
576
+ "type": "object",
577
+ "properties": {
578
+ "expr": {
579
+ "type": "string",
580
+ "minLength": 1
581
+ },
582
+ "message": {
583
+ "type": "string",
584
+ "minLength": 1
585
+ }
586
+ },
587
+ "required": [
588
+ "expr"
589
+ ],
590
+ "additionalProperties": false
591
+ }
592
+ },
593
+ "input": {
594
+ "type": "object",
595
+ "propertyNames": {
596
+ "type": "string"
597
+ },
598
+ "additionalProperties": {
599
+ "$ref": "#/$defs/__schema4"
600
+ }
601
+ },
602
+ "output": {
603
+ "type": "object",
604
+ "properties": {
605
+ "fields": {
606
+ "type": "object",
607
+ "propertyNames": {
608
+ "type": "string"
609
+ },
610
+ "additionalProperties": {
611
+ "$ref": "#/$defs/__schema0"
612
+ }
613
+ },
614
+ "artifacts": {
615
+ "type": "array",
616
+ "items": {
617
+ "type": "object",
618
+ "properties": {
619
+ "kind": {
620
+ "type": "string",
621
+ "minLength": 1
622
+ },
623
+ "lifetime": {
624
+ "type": "string",
625
+ "enum": [
626
+ "session",
627
+ "persistent"
628
+ ]
629
+ }
630
+ },
631
+ "required": [
632
+ "kind",
633
+ "lifetime"
634
+ ],
635
+ "additionalProperties": false
636
+ }
637
+ }
638
+ },
639
+ "additionalProperties": false
640
+ }
641
+ },
642
+ "additionalProperties": false
643
+ },
644
+ "gate": {
645
+ "type": "object",
646
+ "properties": {
647
+ "approval": {
648
+ "type": "string",
649
+ "enum": [
650
+ "none",
651
+ "optional",
652
+ "mandatory"
653
+ ]
654
+ }
655
+ },
656
+ "required": [
657
+ "approval"
658
+ ],
659
+ "additionalProperties": false
660
+ },
661
+ "control": {
662
+ "type": "object",
663
+ "properties": {
664
+ "optional": {
665
+ "type": "boolean"
666
+ },
667
+ "retries": {
668
+ "type": "integer",
669
+ "minimum": 0,
670
+ "maximum": 9007199254740991
671
+ },
672
+ "timeoutSec": {
673
+ "type": "number",
674
+ "exclusiveMinimum": 0
675
+ },
676
+ "parallelGroup": {
677
+ "type": "string",
678
+ "minLength": 1
679
+ }
680
+ },
681
+ "additionalProperties": false
682
+ }
683
+ },
684
+ "required": [
685
+ "id",
686
+ "label",
687
+ "description",
688
+ "run"
689
+ ],
690
+ "additionalProperties": false
691
+ }
692
+ },
693
+ "edges": {
694
+ "type": "array",
695
+ "items": {
696
+ "type": "object",
697
+ "properties": {
698
+ "id": {
699
+ "type": "string",
700
+ "minLength": 1
701
+ },
702
+ "source": {
703
+ "type": "string",
704
+ "minLength": 1
705
+ },
706
+ "target": {
707
+ "type": "string",
708
+ "minLength": 1
709
+ },
710
+ "type": {
711
+ "type": "string",
712
+ "enum": [
713
+ "flow",
714
+ "parallel",
715
+ "optional"
716
+ ]
717
+ }
718
+ },
719
+ "required": [
720
+ "id",
721
+ "source",
722
+ "target",
723
+ "type"
724
+ ],
725
+ "additionalProperties": false
726
+ }
727
+ },
728
+ "meta": {
729
+ "type": "object",
730
+ "properties": {
731
+ "icon": {
732
+ "type": "string",
733
+ "minLength": 1
734
+ },
735
+ "category": {
736
+ "type": "string",
737
+ "minLength": 1
738
+ },
739
+ "tags": {
740
+ "type": "array",
741
+ "items": {
742
+ "type": "string",
743
+ "minLength": 1
744
+ }
745
+ },
746
+ "stage": {
747
+ "type": "string",
748
+ "minLength": 1
749
+ },
750
+ "onboarding": {
751
+ "type": "object",
752
+ "properties": {
753
+ "input_style": {
754
+ "type": "string",
755
+ "enum": [
756
+ "freeform",
757
+ "structured",
758
+ "repo"
759
+ ]
760
+ },
761
+ "placeholder": {
762
+ "type": "string",
763
+ "minLength": 1
764
+ },
765
+ "fields": {
766
+ "type": "array",
767
+ "items": {
768
+ "type": "string",
769
+ "minLength": 1
770
+ }
771
+ }
772
+ },
773
+ "required": [
774
+ "input_style"
775
+ ],
776
+ "additionalProperties": false
777
+ }
778
+ },
779
+ "additionalProperties": false
780
+ }
781
+ },
782
+ "required": [
783
+ "schemaVersion",
784
+ "id",
785
+ "version",
786
+ "name",
787
+ "nodes",
788
+ "edges"
789
+ ],
790
+ "additionalProperties": false,
791
+ "$defs": {
792
+ "__schema0": {
793
+ "anyOf": [
794
+ {
795
+ "type": "string"
796
+ },
797
+ {
798
+ "type": "number"
799
+ },
800
+ {
801
+ "type": "boolean"
802
+ },
803
+ {
804
+ "type": "null"
805
+ },
806
+ {
807
+ "type": "array",
808
+ "items": {
809
+ "$ref": "#/$defs/__schema0"
810
+ }
811
+ },
812
+ {
813
+ "type": "object",
814
+ "propertyNames": {
815
+ "type": "string"
816
+ },
817
+ "additionalProperties": {
818
+ "$ref": "#/$defs/__schema0"
819
+ }
820
+ }
821
+ ]
822
+ },
823
+ "__schema1": {
824
+ "anyOf": [
825
+ {
826
+ "type": "string"
827
+ },
828
+ {
829
+ "type": "number"
830
+ },
831
+ {
832
+ "type": "boolean"
833
+ },
834
+ {
835
+ "type": "null"
836
+ },
837
+ {
838
+ "type": "array",
839
+ "items": {
840
+ "$ref": "#/$defs/__schema1"
841
+ }
842
+ },
843
+ {
844
+ "type": "object",
845
+ "propertyNames": {
846
+ "type": "string"
847
+ },
848
+ "additionalProperties": {
849
+ "$ref": "#/$defs/__schema1"
850
+ }
851
+ }
852
+ ]
853
+ },
854
+ "__schema2": {
855
+ "anyOf": [
856
+ {
857
+ "type": "string"
858
+ },
859
+ {
860
+ "type": "number"
861
+ },
862
+ {
863
+ "type": "boolean"
864
+ },
865
+ {
866
+ "type": "null"
867
+ },
868
+ {
869
+ "type": "array",
870
+ "items": {
871
+ "$ref": "#/$defs/__schema2"
872
+ }
873
+ },
874
+ {
875
+ "type": "object",
876
+ "propertyNames": {
877
+ "type": "string"
878
+ },
879
+ "additionalProperties": {
880
+ "$ref": "#/$defs/__schema2"
881
+ }
882
+ }
883
+ ]
884
+ },
885
+ "__schema3": {
886
+ "anyOf": [
887
+ {
888
+ "type": "string"
889
+ },
890
+ {
891
+ "type": "number"
892
+ },
893
+ {
894
+ "type": "boolean"
895
+ },
896
+ {
897
+ "type": "null"
898
+ },
899
+ {
900
+ "type": "array",
901
+ "items": {
902
+ "$ref": "#/$defs/__schema3"
903
+ }
904
+ },
905
+ {
906
+ "type": "object",
907
+ "propertyNames": {
908
+ "type": "string"
909
+ },
910
+ "additionalProperties": {
911
+ "$ref": "#/$defs/__schema3"
912
+ }
913
+ }
914
+ ]
915
+ },
916
+ "__schema4": {
917
+ "anyOf": [
918
+ {
919
+ "type": "string"
920
+ },
921
+ {
922
+ "type": "number"
923
+ },
924
+ {
925
+ "type": "boolean"
926
+ },
927
+ {
928
+ "type": "null"
929
+ },
930
+ {
931
+ "type": "array",
932
+ "items": {
933
+ "$ref": "#/$defs/__schema4"
934
+ }
935
+ },
936
+ {
937
+ "type": "object",
938
+ "propertyNames": {
939
+ "type": "string"
940
+ },
941
+ "additionalProperties": {
942
+ "$ref": "#/$defs/__schema4"
943
+ }
944
+ }
945
+ ]
946
+ }
947
+ }
948
+ }