@figulus/schema 0.4.0-alpha-dev → 0.5.0-alpha-dev-1

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 (192) hide show
  1. package/.openapi-meta/index.ts +12 -0
  2. package/dist/core/entities/figspec.d.ts +659 -0
  3. package/dist/core/entities/figspec.d.ts.map +1 -0
  4. package/dist/core/entities/figspec.js +73 -0
  5. package/dist/core/entities/figspec.js.map +1 -0
  6. package/dist/core/entities/figstack.d.ts +139 -0
  7. package/dist/core/entities/figstack.d.ts.map +1 -0
  8. package/dist/core/entities/figstack.js +79 -0
  9. package/dist/core/entities/figstack.js.map +1 -0
  10. package/dist/core/entities/index.d.ts +3 -0
  11. package/dist/core/entities/index.d.ts.map +1 -0
  12. package/dist/core/entities/index.js +3 -0
  13. package/dist/core/entities/index.js.map +1 -0
  14. package/dist/core/execute.d.ts +64 -0
  15. package/dist/core/execute.d.ts.map +1 -0
  16. package/dist/core/execute.js +45 -0
  17. package/dist/core/execute.js.map +1 -0
  18. package/dist/core/generic.d.ts +35 -0
  19. package/dist/core/generic.d.ts.map +1 -0
  20. package/dist/core/generic.js +28 -0
  21. package/dist/core/generic.js.map +1 -0
  22. package/dist/core/index.d.ts +6 -0
  23. package/dist/core/index.d.ts.map +1 -0
  24. package/dist/core/index.js +6 -0
  25. package/dist/core/index.js.map +1 -0
  26. package/dist/core/primitives.d.ts +3 -0
  27. package/dist/core/primitives.d.ts.map +1 -0
  28. package/dist/core/primitives.js +11 -0
  29. package/dist/core/primitives.js.map +1 -0
  30. package/dist/core/volumes.d.ts +160 -0
  31. package/dist/core/volumes.d.ts.map +1 -0
  32. package/dist/core/volumes.js +100 -0
  33. package/dist/core/volumes.js.map +1 -0
  34. package/dist/engine/deprecated/index.d.ts +2 -0
  35. package/dist/engine/deprecated/index.d.ts.map +1 -0
  36. package/dist/engine/deprecated/index.js +2 -0
  37. package/dist/engine/deprecated/index.js.map +1 -0
  38. package/dist/engine/deprecated/run-request.d.ts +73 -0
  39. package/dist/engine/deprecated/run-request.d.ts.map +1 -0
  40. package/dist/engine/deprecated/run-request.js +47 -0
  41. package/dist/engine/deprecated/run-request.js.map +1 -0
  42. package/dist/engine/dry-run.d.ts +15 -0
  43. package/dist/engine/dry-run.d.ts.map +1 -0
  44. package/dist/engine/dry-run.js +12 -0
  45. package/dist/engine/dry-run.js.map +1 -0
  46. package/dist/engine/health.d.ts +11 -0
  47. package/dist/engine/health.d.ts.map +1 -0
  48. package/dist/engine/health.js +9 -0
  49. package/dist/engine/health.js.map +1 -0
  50. package/dist/engine/images.d.ts +49 -0
  51. package/dist/engine/images.d.ts.map +1 -0
  52. package/dist/engine/images.js +44 -0
  53. package/dist/engine/images.js.map +1 -0
  54. package/dist/engine/index.d.ts +9 -0
  55. package/dist/engine/index.d.ts.map +1 -0
  56. package/dist/engine/index.js +9 -0
  57. package/dist/engine/index.js.map +1 -0
  58. package/dist/engine/paths/containers.d.ts +8 -0
  59. package/dist/engine/paths/containers.d.ts.map +1 -0
  60. package/dist/engine/paths/containers.js +297 -0
  61. package/dist/engine/paths/containers.js.map +1 -0
  62. package/dist/engine/paths/dry-run.d.ts +3 -0
  63. package/dist/engine/paths/dry-run.d.ts.map +1 -0
  64. package/dist/engine/paths/dry-run.js +43 -0
  65. package/dist/engine/paths/dry-run.js.map +1 -0
  66. package/dist/engine/paths/health.d.ts +3 -0
  67. package/dist/engine/paths/health.d.ts.map +1 -0
  68. package/dist/engine/paths/health.js +36 -0
  69. package/dist/engine/paths/health.js.map +1 -0
  70. package/dist/engine/paths/images.d.ts +5 -0
  71. package/dist/engine/paths/images.d.ts.map +1 -0
  72. package/dist/engine/paths/images.js +144 -0
  73. package/dist/engine/paths/images.js.map +1 -0
  74. package/dist/engine/paths/index.d.ts +8 -0
  75. package/dist/engine/paths/index.d.ts.map +1 -0
  76. package/dist/engine/paths/index.js +8 -0
  77. package/dist/engine/paths/index.js.map +1 -0
  78. package/dist/engine/paths/sessions.d.ts +10 -0
  79. package/dist/engine/paths/sessions.d.ts.map +1 -0
  80. package/dist/engine/paths/sessions.js +484 -0
  81. package/dist/engine/paths/sessions.js.map +1 -0
  82. package/dist/engine/paths/stacks.d.ts +6 -0
  83. package/dist/engine/paths/stacks.d.ts.map +1 -0
  84. package/dist/engine/paths/stacks.js +175 -0
  85. package/dist/engine/paths/stacks.js.map +1 -0
  86. package/dist/engine/paths/volumes.d.ts +6 -0
  87. package/dist/engine/paths/volumes.d.ts.map +1 -0
  88. package/dist/engine/paths/volumes.js +164 -0
  89. package/dist/engine/paths/volumes.js.map +1 -0
  90. package/dist/engine/response.d.ts +8 -0
  91. package/dist/engine/response.d.ts.map +1 -0
  92. package/dist/engine/response.js +9 -0
  93. package/dist/engine/response.js.map +1 -0
  94. package/dist/engine/sessions.d.ts +343 -0
  95. package/dist/engine/sessions.d.ts.map +1 -0
  96. package/dist/engine/sessions.js +118 -0
  97. package/dist/engine/sessions.js.map +1 -0
  98. package/dist/engine/volumes.d.ts +52 -0
  99. package/dist/engine/volumes.d.ts.map +1 -0
  100. package/dist/engine/volumes.js +39 -0
  101. package/dist/engine/volumes.js.map +1 -0
  102. package/dist/index.d.ts +2 -8
  103. package/dist/index.d.ts.map +1 -1
  104. package/dist/index.js +2 -8
  105. package/dist/index.js.map +1 -1
  106. package/dist/registry/index.d.ts +3 -0
  107. package/dist/registry/index.d.ts.map +1 -0
  108. package/dist/registry/index.js +3 -0
  109. package/dist/registry/index.js.map +1 -0
  110. package/dist/registry/json-schema.d.ts +82 -0
  111. package/dist/registry/json-schema.d.ts.map +1 -0
  112. package/dist/registry/json-schema.js +149 -0
  113. package/dist/registry/json-schema.js.map +1 -0
  114. package/dist/registry/metadata.d.ts +216 -0
  115. package/dist/registry/metadata.d.ts.map +1 -0
  116. package/dist/registry/metadata.js +143 -0
  117. package/dist/registry/metadata.js.map +1 -0
  118. package/package.json +10 -3
  119. package/scripts/fix-openapi-3.1.ts +183 -0
  120. package/scripts/generate-openapi-data.ts +51 -0
  121. package/scripts/generate-openapi-meta.ts +540 -0
  122. package/src/core/entities/figspec.ts +94 -0
  123. package/src/core/entities/figstack.ts +101 -0
  124. package/src/core/entities/index.ts +2 -0
  125. package/src/core/execute.ts +66 -0
  126. package/src/core/generic.ts +38 -0
  127. package/src/core/index.ts +5 -0
  128. package/src/core/primitives.ts +12 -0
  129. package/src/core/volumes.ts +124 -0
  130. package/src/engine/deprecated/index.ts +1 -0
  131. package/src/engine/deprecated/run-request.ts +53 -0
  132. package/src/engine/dry-run.ts +14 -0
  133. package/src/engine/health.ts +11 -0
  134. package/src/engine/images.ts +58 -0
  135. package/src/engine/index.ts +8 -0
  136. package/src/engine/paths/containers.ts +304 -0
  137. package/src/engine/paths/dry-run.ts +44 -0
  138. package/src/engine/paths/health.ts +37 -0
  139. package/src/engine/paths/images.ts +148 -0
  140. package/src/engine/paths/index.ts +7 -0
  141. package/src/engine/paths/sessions.ts +493 -0
  142. package/src/engine/paths/stacks.ts +179 -0
  143. package/src/engine/paths/volumes.ts +168 -0
  144. package/src/engine/response.ts +11 -0
  145. package/src/engine/sessions.ts +146 -0
  146. package/src/engine/volumes.ts +53 -0
  147. package/src/index.ts +2 -8
  148. package/src/registry/index.ts +2 -0
  149. package/src/registry/json-schema.ts +178 -0
  150. package/src/registry/metadata.ts +181 -0
  151. package/tests/figspec.test.ts +1 -1
  152. package/tests/schemas.test.ts +31 -31
  153. package/dist/figspec.d.ts +0 -4394
  154. package/dist/figspec.d.ts.map +0 -1
  155. package/dist/figspec.js +0 -214
  156. package/dist/figspec.js.map +0 -1
  157. package/dist/figstack.d.ts +0 -419
  158. package/dist/figstack.d.ts.map +0 -1
  159. package/dist/figstack.js +0 -72
  160. package/dist/figstack.js.map +0 -1
  161. package/dist/health.d.ts +0 -16
  162. package/dist/health.d.ts.map +0 -1
  163. package/dist/health.js +0 -7
  164. package/dist/health.js.map +0 -1
  165. package/dist/image.d.ts +0 -115
  166. package/dist/image.d.ts.map +0 -1
  167. package/dist/image.js +0 -42
  168. package/dist/image.js.map +0 -1
  169. package/dist/run-request.d.ts +0 -244
  170. package/dist/run-request.d.ts.map +0 -1
  171. package/dist/run-request.js +0 -43
  172. package/dist/run-request.js.map +0 -1
  173. package/dist/session.d.ts +0 -447
  174. package/dist/session.d.ts.map +0 -1
  175. package/dist/session.js +0 -78
  176. package/dist/session.js.map +0 -1
  177. package/dist/shared.d.ts +0 -90
  178. package/dist/shared.d.ts.map +0 -1
  179. package/dist/shared.js +0 -41
  180. package/dist/shared.js.map +0 -1
  181. package/dist/volume.d.ts +0 -140
  182. package/dist/volume.d.ts.map +0 -1
  183. package/dist/volume.js +0 -37
  184. package/dist/volume.js.map +0 -1
  185. package/src/figspec.ts +0 -279
  186. package/src/figstack.ts +0 -92
  187. package/src/health.ts +0 -8
  188. package/src/image.ts +0 -55
  189. package/src/run-request.ts +0 -55
  190. package/src/session.ts +0 -101
  191. package/src/shared.ts +0 -56
  192. package/src/volume.ts +0 -50
@@ -0,0 +1,484 @@
1
+ import z from "zod";
2
+ import { createSessionRequestSchema, createSessionResponseSchema, getRunResponseSchema, getSessionResponseSchema, listRunsResponseSchema, runInSessionRequestSchema, runInSessionResponseSchema, syncFileRequestSchema, syncFileResponseSchema } from "../sessions.js";
3
+ import { extendZodWithOpenApi } from "@asteasolutions/zod-to-openapi";
4
+ import { errorResponseSchema } from "../response.js";
5
+ extendZodWithOpenApi(z);
6
+ export const listSessionsRouteSchema = {
7
+ method: "get",
8
+ path: "/api/v1/sessions",
9
+ operationId: "listSessions",
10
+ summary: "List all active sessions",
11
+ description: "Returns all active sessions from the session store (memory and Valkey).",
12
+ tags: [
13
+ "sessions"
14
+ ],
15
+ responses: {
16
+ 200: {
17
+ description: "List of active sessions",
18
+ content: {
19
+ "application/json": {
20
+ schema: z.object({
21
+ sessions: getSessionResponseSchema.array(),
22
+ count: z.int(),
23
+ })
24
+ }
25
+ }
26
+ },
27
+ 503: {
28
+ description: "Session management unavailable (Valkey not configured)",
29
+ content: {
30
+ "application/json": {
31
+ schema: errorResponseSchema
32
+ }
33
+ }
34
+ }
35
+ }
36
+ };
37
+ export const createSessionRouteSchema = {
38
+ method: "post",
39
+ path: "/api/v1/sessions",
40
+ operationId: "createSession",
41
+ summary: "Create a persistent session",
42
+ description: "Creates and starts a persistent container session. Returns 503 if Valkey is not configured (session management unavailable).",
43
+ tags: [
44
+ "sessions"
45
+ ],
46
+ request: {
47
+ body: {
48
+ description: undefined,
49
+ content: {
50
+ "application/json": {
51
+ schema: createSessionRequestSchema
52
+ }
53
+ },
54
+ required: true
55
+ }
56
+ },
57
+ responses: {
58
+ 201: {
59
+ description: "Session created",
60
+ content: {
61
+ "application/json": {
62
+ schema: createSessionResponseSchema
63
+ }
64
+ }
65
+ },
66
+ 400: {
67
+ description: "Missing image_tag or invalid request",
68
+ content: {
69
+ "application/json": {
70
+ schema: errorResponseSchema
71
+ }
72
+ }
73
+ },
74
+ 500: {
75
+ description: "Failed to create session",
76
+ content: {
77
+ "application/json": {
78
+ schema: errorResponseSchema
79
+ }
80
+ }
81
+ },
82
+ 503: {
83
+ description: "Session management unavailable (Valkey not configured)",
84
+ content: {
85
+ "application/json": {
86
+ schema: errorResponseSchema
87
+ }
88
+ }
89
+ }
90
+ }
91
+ };
92
+ export const getSessionRouteSchema = {
93
+ method: "get",
94
+ path: "/api/v1/sessions/{sessionId}",
95
+ operationId: "getSession",
96
+ summary: "Get session details",
97
+ description: "Returns the current status and metadata for a session, with container liveness verification.",
98
+ tags: [
99
+ "sessions"
100
+ ],
101
+ parameters: [
102
+ {
103
+ name: "sessionId",
104
+ in: "path",
105
+ required: true,
106
+ schema: {
107
+ type: "string"
108
+ },
109
+ example: "sess-abc123"
110
+ }
111
+ ],
112
+ responses: {
113
+ 200: {
114
+ description: "Session details",
115
+ content: {
116
+ "application/json": {
117
+ schema: getSessionResponseSchema
118
+ }
119
+ }
120
+ },
121
+ 400: {
122
+ description: "Missing sessionId",
123
+ content: {
124
+ "application/json": {
125
+ schema: errorResponseSchema
126
+ }
127
+ }
128
+ },
129
+ 404: {
130
+ description: "Session not found",
131
+ content: {
132
+ "application/json": {
133
+ schema: errorResponseSchema
134
+ }
135
+ }
136
+ },
137
+ 503: {
138
+ description: "Session management unavailable",
139
+ content: {
140
+ "application/json": {
141
+ schema: errorResponseSchema
142
+ }
143
+ }
144
+ }
145
+ }
146
+ };
147
+ export const deleteSessionRouteSchema = {
148
+ method: "delete",
149
+ path: "/api/v1/sessions/{sessionId}",
150
+ operationId: "deleteSession",
151
+ summary: "Delete a session",
152
+ description: "Destroys the session and its container.",
153
+ tags: [
154
+ "sessions"
155
+ ],
156
+ parameters: [
157
+ {
158
+ name: "sessionId",
159
+ in: "path",
160
+ required: true,
161
+ schema: {
162
+ type: "string"
163
+ },
164
+ example: "sess-abc123"
165
+ }
166
+ ],
167
+ responses: {
168
+ 200: {
169
+ description: "Session deleted",
170
+ content: {
171
+ "application/json": {
172
+ schema: z.object({
173
+ message: z.string(),
174
+ session_id: z.string(),
175
+ }),
176
+ example: {
177
+ message: "Session deleted successfully",
178
+ session_id: "sess-abc123"
179
+ }
180
+ }
181
+ }
182
+ },
183
+ 400: {
184
+ description: "Missing sessionId",
185
+ content: {
186
+ "application/json": {
187
+ schema: errorResponseSchema
188
+ }
189
+ }
190
+ },
191
+ 404: {
192
+ description: "Session not found",
193
+ content: {
194
+ "application/json": {
195
+ schema: errorResponseSchema
196
+ }
197
+ }
198
+ },
199
+ 503: {
200
+ description: "Session management unavailable",
201
+ content: {
202
+ "application/json": {
203
+ schema: errorResponseSchema
204
+ }
205
+ }
206
+ }
207
+ }
208
+ };
209
+ export const runInSessionRouteSchema = {
210
+ method: "post",
211
+ path: "/api/v1/sessions/{sessionId}/run",
212
+ operationId: "runInSession",
213
+ summary: "Run a command in a session",
214
+ description: "Executes a command inside the session container and returns the result. Blocks until command completes or timeout is reached.",
215
+ tags: [
216
+ "sessions"
217
+ ],
218
+ parameters: [
219
+ {
220
+ name: "sessionId",
221
+ in: "path",
222
+ required: true,
223
+ schema: {
224
+ type: "string"
225
+ },
226
+ example: "sess-abc123"
227
+ }
228
+ ],
229
+ request: {
230
+ body: {
231
+ description: undefined,
232
+ content: {
233
+ "application/json": {
234
+ schema: runInSessionRequestSchema
235
+ }
236
+ },
237
+ required: true
238
+ }
239
+ },
240
+ responses: {
241
+ 200: {
242
+ description: "Command completed",
243
+ content: {
244
+ "application/json": {
245
+ schema: runInSessionResponseSchema
246
+ }
247
+ }
248
+ },
249
+ 400: {
250
+ description: "Missing command or invalid request",
251
+ content: {
252
+ "application/json": {
253
+ schema: errorResponseSchema
254
+ }
255
+ }
256
+ },
257
+ 404: {
258
+ description: "Session not found",
259
+ content: {
260
+ "application/json": {
261
+ schema: errorResponseSchema
262
+ }
263
+ }
264
+ },
265
+ 500: {
266
+ description: "Run failed",
267
+ content: {
268
+ "application/json": {
269
+ schema: errorResponseSchema
270
+ }
271
+ }
272
+ },
273
+ 503: {
274
+ description: "Session management unavailable",
275
+ content: {
276
+ "application/json": {
277
+ schema: errorResponseSchema
278
+ }
279
+ }
280
+ }
281
+ }
282
+ };
283
+ export const syncFileInSessionRouteSchema = {
284
+ method: "post",
285
+ path: "/api/v1/sessions/{sessionId}/sync-file",
286
+ operationId: "syncFileInSession",
287
+ summary: "Sync a file into a session container",
288
+ description: "Writes a file to an absolute path inside the running session container. Content must be base64-encoded (default) or utf8 as specified by encoding.",
289
+ tags: [
290
+ "sessions"
291
+ ],
292
+ parameters: [
293
+ {
294
+ name: "sessionId",
295
+ in: "path",
296
+ required: true,
297
+ schema: {
298
+ type: "string"
299
+ },
300
+ example: "sess-abc123"
301
+ }
302
+ ],
303
+ request: {
304
+ body: {
305
+ description: undefined,
306
+ content: {
307
+ "application/json": {
308
+ schema: syncFileRequestSchema
309
+ }
310
+ },
311
+ required: true
312
+ }
313
+ },
314
+ responses: {
315
+ 200: {
316
+ description: "File written successfully",
317
+ content: {
318
+ "application/json": {
319
+ schema: syncFileResponseSchema
320
+ }
321
+ }
322
+ },
323
+ 400: {
324
+ description: "Missing targetPath/content, invalid encoding, invalid base64, or invalid path",
325
+ content: {
326
+ "application/json": {
327
+ schema: errorResponseSchema
328
+ }
329
+ }
330
+ },
331
+ 404: {
332
+ description: "Session not found",
333
+ content: {
334
+ "application/json": {
335
+ schema: errorResponseSchema
336
+ }
337
+ }
338
+ },
339
+ 409: {
340
+ description: "Container is no longer running",
341
+ content: {
342
+ "application/json": {
343
+ schema: errorResponseSchema
344
+ }
345
+ }
346
+ },
347
+ 500: {
348
+ description: "File write failed",
349
+ content: {
350
+ "application/json": {
351
+ schema: errorResponseSchema
352
+ }
353
+ }
354
+ },
355
+ 503: {
356
+ description: "Session management unavailable",
357
+ content: {
358
+ "application/json": {
359
+ schema: errorResponseSchema
360
+ }
361
+ }
362
+ }
363
+ }
364
+ };
365
+ export const listSessionRunsRouteSchema = {
366
+ method: "get",
367
+ path: "/api/v1/sessions/{sessionId}/runs",
368
+ operationId: "listSessionRuns",
369
+ summary: "List all runs for a session",
370
+ description: "Returns all cached runs for a session, ordered by start time ascending.",
371
+ tags: [
372
+ "sessions"
373
+ ],
374
+ parameters: [
375
+ {
376
+ name: "sessionId",
377
+ in: "path",
378
+ required: true,
379
+ schema: {
380
+ type: "string"
381
+ },
382
+ example: "sess-abc123"
383
+ }
384
+ ],
385
+ responses: {
386
+ 200: {
387
+ description: "List of runs",
388
+ content: {
389
+ "application/json": {
390
+ schema: listRunsResponseSchema
391
+ }
392
+ }
393
+ },
394
+ 400: {
395
+ description: "Missing sessionId",
396
+ content: {
397
+ "application/json": {
398
+ schema: errorResponseSchema
399
+ }
400
+ }
401
+ },
402
+ 500: {
403
+ description: "Internal error",
404
+ content: {
405
+ "application/json": {
406
+ schema: errorResponseSchema
407
+ }
408
+ }
409
+ },
410
+ 503: {
411
+ description: "Session management unavailable",
412
+ content: {
413
+ "application/json": {
414
+ schema: errorResponseSchema
415
+ }
416
+ }
417
+ }
418
+ }
419
+ };
420
+ export const getSessionRunRouteSchema = {
421
+ method: "get",
422
+ path: "/api/v1/sessions/{sessionId}/runs/{runId}",
423
+ operationId: "getSessionRun",
424
+ summary: "Get a previous run result",
425
+ description: "Retrieves the stored result of a past run within a session.",
426
+ tags: [
427
+ "sessions"
428
+ ],
429
+ parameters: [
430
+ {
431
+ name: "sessionId",
432
+ in: "path",
433
+ required: true,
434
+ schema: {
435
+ type: "string"
436
+ },
437
+ example: "sess-abc123"
438
+ },
439
+ {
440
+ name: "runId",
441
+ in: "path",
442
+ required: true,
443
+ schema: {
444
+ type: "string"
445
+ },
446
+ example: "run-def456"
447
+ }
448
+ ],
449
+ responses: {
450
+ 200: {
451
+ description: "Run details",
452
+ content: {
453
+ "application/json": {
454
+ schema: getRunResponseSchema
455
+ }
456
+ }
457
+ },
458
+ 400: {
459
+ description: "Missing runId",
460
+ content: {
461
+ "application/json": {
462
+ schema: errorResponseSchema
463
+ }
464
+ }
465
+ },
466
+ 404: {
467
+ description: "Run not found",
468
+ content: {
469
+ "application/json": {
470
+ schema: errorResponseSchema
471
+ }
472
+ }
473
+ },
474
+ 503: {
475
+ description: "Session management unavailable",
476
+ content: {
477
+ "application/json": {
478
+ schema: errorResponseSchema
479
+ }
480
+ }
481
+ }
482
+ }
483
+ };
484
+ //# sourceMappingURL=sessions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../../src/engine/paths/sessions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { RouteConfig } from "@asteasolutions/zod-to-openapi";
2
+ export declare const startStackRouteSchema: RouteConfig;
3
+ export declare const listStacksRouteSchema: RouteConfig;
4
+ export declare const getStackRouteSchema: RouteConfig;
5
+ export declare const stopStackRouteSchema: RouteConfig;
6
+ //# sourceMappingURL=stacks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stacks.d.ts","sourceRoot":"","sources":["../../../src/engine/paths/stacks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAI7D,eAAO,MAAM,qBAAqB,EAAE,WAsDnC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,WA2BnC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,WA8CjC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,WAyClC,CAAC"}
@@ -0,0 +1,175 @@
1
+ import { getStackResponseSchema, listStacksResponseSchema, startStackRequestSchema, startStackResponseSchema } from "../sessions.js";
2
+ import { errorResponseSchema } from "../response.js";
3
+ export const startStackRouteSchema = {
4
+ method: "post",
5
+ path: "/api/v1/stacks",
6
+ operationId: "startStack",
7
+ summary: "Start a FigStack",
8
+ description: "Parse the FigStack spec and start all containers in dependency order. Optionally builds all required images first if build=true.",
9
+ tags: [
10
+ "stacks"
11
+ ],
12
+ request: {
13
+ body: {
14
+ description: undefined,
15
+ content: {
16
+ "application/json": {
17
+ schema: startStackRequestSchema
18
+ }
19
+ },
20
+ required: true
21
+ }
22
+ },
23
+ responses: {
24
+ 201: {
25
+ description: "Stack started successfully",
26
+ content: {
27
+ "application/json": {
28
+ schema: startStackResponseSchema
29
+ }
30
+ }
31
+ },
32
+ 400: {
33
+ description: "Invalid request or spec",
34
+ content: {
35
+ "application/json": {
36
+ schema: errorResponseSchema
37
+ }
38
+ }
39
+ },
40
+ 500: {
41
+ description: "Stack startup failed",
42
+ content: {
43
+ "application/json": {
44
+ schema: errorResponseSchema
45
+ }
46
+ }
47
+ },
48
+ 503: {
49
+ description: "Stack management unavailable",
50
+ content: {
51
+ "application/json": {
52
+ schema: errorResponseSchema
53
+ }
54
+ }
55
+ }
56
+ }
57
+ };
58
+ export const listStacksRouteSchema = {
59
+ method: "get",
60
+ path: "/api/v1/stacks",
61
+ operationId: "listStacks",
62
+ summary: "List all running FigStacks",
63
+ description: "Returns all stacks currently tracked by the engine.",
64
+ tags: [
65
+ "stacks"
66
+ ],
67
+ responses: {
68
+ 200: {
69
+ description: "List of running stacks",
70
+ content: {
71
+ "application/json": {
72
+ schema: listStacksResponseSchema
73
+ }
74
+ }
75
+ },
76
+ 503: {
77
+ description: "Stack management unavailable",
78
+ content: {
79
+ "application/json": {
80
+ schema: errorResponseSchema
81
+ }
82
+ }
83
+ }
84
+ }
85
+ };
86
+ export const getStackRouteSchema = {
87
+ method: "get",
88
+ path: "/api/v1/stacks/{stackName}",
89
+ operationId: "getStack",
90
+ summary: "Get the status of a running FigStack",
91
+ description: "Returns the current status of all containers in the named stack.",
92
+ tags: [
93
+ "stacks"
94
+ ],
95
+ parameters: [
96
+ {
97
+ name: "stackName",
98
+ in: "path",
99
+ required: true,
100
+ schema: {
101
+ type: "string"
102
+ },
103
+ example: "blog"
104
+ }
105
+ ],
106
+ responses: {
107
+ 200: {
108
+ description: "Stack status",
109
+ content: {
110
+ "application/json": {
111
+ schema: getStackResponseSchema
112
+ }
113
+ }
114
+ },
115
+ 404: {
116
+ description: "Stack not found",
117
+ content: {
118
+ "application/json": {
119
+ schema: errorResponseSchema
120
+ }
121
+ }
122
+ },
123
+ 503: {
124
+ description: "Stack management unavailable",
125
+ content: {
126
+ "application/json": {
127
+ schema: errorResponseSchema
128
+ }
129
+ }
130
+ }
131
+ }
132
+ };
133
+ export const stopStackRouteSchema = {
134
+ method: "delete",
135
+ path: "/api/v1/stacks/{stackName}",
136
+ operationId: "stopStack",
137
+ summary: "Stop a running FigStack",
138
+ description: "Stops all containers in the stack and removes the stack network.",
139
+ tags: [
140
+ "stacks"
141
+ ],
142
+ parameters: [
143
+ {
144
+ name: "stackName",
145
+ in: "path",
146
+ required: true,
147
+ schema: {
148
+ type: "string"
149
+ },
150
+ example: "blog"
151
+ }
152
+ ],
153
+ responses: {
154
+ 204: {
155
+ description: "Stack stopped successfully"
156
+ },
157
+ 500: {
158
+ description: "Stack stop failed",
159
+ content: {
160
+ "application/json": {
161
+ schema: errorResponseSchema
162
+ }
163
+ }
164
+ },
165
+ 503: {
166
+ description: "Stack management unavailable",
167
+ content: {
168
+ "application/json": {
169
+ schema: errorResponseSchema
170
+ }
171
+ }
172
+ }
173
+ }
174
+ };
175
+ //# sourceMappingURL=stacks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stacks.js","sourceRoot":"","sources":["../../../src/engine/paths/stacks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { RouteConfig } from "@asteasolutions/zod-to-openapi";
2
+ export declare const ensureVolumeRouteSchema: RouteConfig;
3
+ export declare const listVolumesRouteSchema: RouteConfig;
4
+ export declare const deleteVolumeRouteSchema: RouteConfig;
5
+ export declare const pruneVolumesRouteSchema: RouteConfig;
6
+ //# sourceMappingURL=volumes.d.ts.map