@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.
- package/.openapi-meta/index.ts +12 -0
- package/dist/core/entities/figspec.d.ts +659 -0
- package/dist/core/entities/figspec.d.ts.map +1 -0
- package/dist/core/entities/figspec.js +73 -0
- package/dist/core/entities/figspec.js.map +1 -0
- package/dist/core/entities/figstack.d.ts +139 -0
- package/dist/core/entities/figstack.d.ts.map +1 -0
- package/dist/core/entities/figstack.js +79 -0
- package/dist/core/entities/figstack.js.map +1 -0
- package/dist/core/entities/index.d.ts +3 -0
- package/dist/core/entities/index.d.ts.map +1 -0
- package/dist/core/entities/index.js +3 -0
- package/dist/core/entities/index.js.map +1 -0
- package/dist/core/execute.d.ts +64 -0
- package/dist/core/execute.d.ts.map +1 -0
- package/dist/core/execute.js +45 -0
- package/dist/core/execute.js.map +1 -0
- package/dist/core/generic.d.ts +35 -0
- package/dist/core/generic.d.ts.map +1 -0
- package/dist/core/generic.js +28 -0
- package/dist/core/generic.js.map +1 -0
- package/dist/core/index.d.ts +6 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +6 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/primitives.d.ts +3 -0
- package/dist/core/primitives.d.ts.map +1 -0
- package/dist/core/primitives.js +11 -0
- package/dist/core/primitives.js.map +1 -0
- package/dist/core/volumes.d.ts +160 -0
- package/dist/core/volumes.d.ts.map +1 -0
- package/dist/core/volumes.js +100 -0
- package/dist/core/volumes.js.map +1 -0
- package/dist/engine/deprecated/index.d.ts +2 -0
- package/dist/engine/deprecated/index.d.ts.map +1 -0
- package/dist/engine/deprecated/index.js +2 -0
- package/dist/engine/deprecated/index.js.map +1 -0
- package/dist/engine/deprecated/run-request.d.ts +73 -0
- package/dist/engine/deprecated/run-request.d.ts.map +1 -0
- package/dist/engine/deprecated/run-request.js +47 -0
- package/dist/engine/deprecated/run-request.js.map +1 -0
- package/dist/engine/dry-run.d.ts +15 -0
- package/dist/engine/dry-run.d.ts.map +1 -0
- package/dist/engine/dry-run.js +12 -0
- package/dist/engine/dry-run.js.map +1 -0
- package/dist/engine/health.d.ts +11 -0
- package/dist/engine/health.d.ts.map +1 -0
- package/dist/engine/health.js +9 -0
- package/dist/engine/health.js.map +1 -0
- package/dist/engine/images.d.ts +49 -0
- package/dist/engine/images.d.ts.map +1 -0
- package/dist/engine/images.js +44 -0
- package/dist/engine/images.js.map +1 -0
- package/dist/engine/index.d.ts +9 -0
- package/dist/engine/index.d.ts.map +1 -0
- package/dist/engine/index.js +9 -0
- package/dist/engine/index.js.map +1 -0
- package/dist/engine/paths/containers.d.ts +8 -0
- package/dist/engine/paths/containers.d.ts.map +1 -0
- package/dist/engine/paths/containers.js +297 -0
- package/dist/engine/paths/containers.js.map +1 -0
- package/dist/engine/paths/dry-run.d.ts +3 -0
- package/dist/engine/paths/dry-run.d.ts.map +1 -0
- package/dist/engine/paths/dry-run.js +43 -0
- package/dist/engine/paths/dry-run.js.map +1 -0
- package/dist/engine/paths/health.d.ts +3 -0
- package/dist/engine/paths/health.d.ts.map +1 -0
- package/dist/engine/paths/health.js +36 -0
- package/dist/engine/paths/health.js.map +1 -0
- package/dist/engine/paths/images.d.ts +5 -0
- package/dist/engine/paths/images.d.ts.map +1 -0
- package/dist/engine/paths/images.js +144 -0
- package/dist/engine/paths/images.js.map +1 -0
- package/dist/engine/paths/index.d.ts +8 -0
- package/dist/engine/paths/index.d.ts.map +1 -0
- package/dist/engine/paths/index.js +8 -0
- package/dist/engine/paths/index.js.map +1 -0
- package/dist/engine/paths/sessions.d.ts +10 -0
- package/dist/engine/paths/sessions.d.ts.map +1 -0
- package/dist/engine/paths/sessions.js +484 -0
- package/dist/engine/paths/sessions.js.map +1 -0
- package/dist/engine/paths/stacks.d.ts +6 -0
- package/dist/engine/paths/stacks.d.ts.map +1 -0
- package/dist/engine/paths/stacks.js +175 -0
- package/dist/engine/paths/stacks.js.map +1 -0
- package/dist/engine/paths/volumes.d.ts +6 -0
- package/dist/engine/paths/volumes.d.ts.map +1 -0
- package/dist/engine/paths/volumes.js +164 -0
- package/dist/engine/paths/volumes.js.map +1 -0
- package/dist/engine/response.d.ts +8 -0
- package/dist/engine/response.d.ts.map +1 -0
- package/dist/engine/response.js +9 -0
- package/dist/engine/response.js.map +1 -0
- package/dist/engine/sessions.d.ts +343 -0
- package/dist/engine/sessions.d.ts.map +1 -0
- package/dist/engine/sessions.js +118 -0
- package/dist/engine/sessions.js.map +1 -0
- package/dist/engine/volumes.d.ts +52 -0
- package/dist/engine/volumes.d.ts.map +1 -0
- package/dist/engine/volumes.js +39 -0
- package/dist/engine/volumes.js.map +1 -0
- package/dist/index.d.ts +2 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -8
- package/dist/index.js.map +1 -1
- package/dist/registry/index.d.ts +3 -0
- package/dist/registry/index.d.ts.map +1 -0
- package/dist/registry/index.js +3 -0
- package/dist/registry/index.js.map +1 -0
- package/dist/registry/json-schema.d.ts +82 -0
- package/dist/registry/json-schema.d.ts.map +1 -0
- package/dist/registry/json-schema.js +149 -0
- package/dist/registry/json-schema.js.map +1 -0
- package/dist/registry/metadata.d.ts +216 -0
- package/dist/registry/metadata.d.ts.map +1 -0
- package/dist/registry/metadata.js +143 -0
- package/dist/registry/metadata.js.map +1 -0
- package/package.json +10 -3
- package/scripts/fix-openapi-3.1.ts +183 -0
- package/scripts/generate-openapi-data.ts +51 -0
- package/scripts/generate-openapi-meta.ts +540 -0
- package/src/core/entities/figspec.ts +94 -0
- package/src/core/entities/figstack.ts +101 -0
- package/src/core/entities/index.ts +2 -0
- package/src/core/execute.ts +66 -0
- package/src/core/generic.ts +38 -0
- package/src/core/index.ts +5 -0
- package/src/core/primitives.ts +12 -0
- package/src/core/volumes.ts +124 -0
- package/src/engine/deprecated/index.ts +1 -0
- package/src/engine/deprecated/run-request.ts +53 -0
- package/src/engine/dry-run.ts +14 -0
- package/src/engine/health.ts +11 -0
- package/src/engine/images.ts +58 -0
- package/src/engine/index.ts +8 -0
- package/src/engine/paths/containers.ts +304 -0
- package/src/engine/paths/dry-run.ts +44 -0
- package/src/engine/paths/health.ts +37 -0
- package/src/engine/paths/images.ts +148 -0
- package/src/engine/paths/index.ts +7 -0
- package/src/engine/paths/sessions.ts +493 -0
- package/src/engine/paths/stacks.ts +179 -0
- package/src/engine/paths/volumes.ts +168 -0
- package/src/engine/response.ts +11 -0
- package/src/engine/sessions.ts +146 -0
- package/src/engine/volumes.ts +53 -0
- package/src/index.ts +2 -8
- package/src/registry/index.ts +2 -0
- package/src/registry/json-schema.ts +178 -0
- package/src/registry/metadata.ts +181 -0
- package/tests/figspec.test.ts +1 -1
- package/tests/schemas.test.ts +31 -31
- package/dist/figspec.d.ts +0 -4394
- package/dist/figspec.d.ts.map +0 -1
- package/dist/figspec.js +0 -214
- package/dist/figspec.js.map +0 -1
- package/dist/figstack.d.ts +0 -419
- package/dist/figstack.d.ts.map +0 -1
- package/dist/figstack.js +0 -72
- package/dist/figstack.js.map +0 -1
- package/dist/health.d.ts +0 -16
- package/dist/health.d.ts.map +0 -1
- package/dist/health.js +0 -7
- package/dist/health.js.map +0 -1
- package/dist/image.d.ts +0 -115
- package/dist/image.d.ts.map +0 -1
- package/dist/image.js +0 -42
- package/dist/image.js.map +0 -1
- package/dist/run-request.d.ts +0 -244
- package/dist/run-request.d.ts.map +0 -1
- package/dist/run-request.js +0 -43
- package/dist/run-request.js.map +0 -1
- package/dist/session.d.ts +0 -447
- package/dist/session.d.ts.map +0 -1
- package/dist/session.js +0 -78
- package/dist/session.js.map +0 -1
- package/dist/shared.d.ts +0 -90
- package/dist/shared.d.ts.map +0 -1
- package/dist/shared.js +0 -41
- package/dist/shared.js.map +0 -1
- package/dist/volume.d.ts +0 -140
- package/dist/volume.d.ts.map +0 -1
- package/dist/volume.js +0 -37
- package/dist/volume.js.map +0 -1
- package/src/figspec.ts +0 -279
- package/src/figstack.ts +0 -92
- package/src/health.ts +0 -8
- package/src/image.ts +0 -55
- package/src/run-request.ts +0 -55
- package/src/session.ts +0 -101
- package/src/shared.ts +0 -56
- package/src/volume.ts +0 -50
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import z from "zod";
|
|
2
|
+
export declare const fileContentSchema: z.ZodObject<{
|
|
3
|
+
data: z.ZodString;
|
|
4
|
+
encoding: z.ZodOptional<z.ZodString>;
|
|
5
|
+
}, z.core.$strip>;
|
|
6
|
+
export type FileContent = z.infer<typeof fileContentSchema>;
|
|
7
|
+
export declare const filePermissionsSchema: z.ZodObject<{
|
|
8
|
+
read: z.ZodInt;
|
|
9
|
+
write: z.ZodInt;
|
|
10
|
+
execute: z.ZodInt;
|
|
11
|
+
}, z.core.$strip>;
|
|
12
|
+
export type FilePermissions = z.infer<typeof filePermissionsSchema>;
|
|
13
|
+
export declare const buildVolumeMountRegularSchema: z.ZodObject<{
|
|
14
|
+
type: z.ZodLiteral<"regular">;
|
|
15
|
+
host_path: z.ZodOptional<z.ZodString>;
|
|
16
|
+
container_path: z.ZodOptional<z.ZodString>;
|
|
17
|
+
read_only: z.ZodOptional<z.ZodBoolean>;
|
|
18
|
+
}, z.core.$strip>;
|
|
19
|
+
export declare const buildVolumeMountNewFileSchema: z.ZodObject<{
|
|
20
|
+
type: z.ZodLiteral<"new-file">;
|
|
21
|
+
container_path: z.ZodString;
|
|
22
|
+
content: z.ZodObject<{
|
|
23
|
+
data: z.ZodString;
|
|
24
|
+
encoding: z.ZodOptional<z.ZodString>;
|
|
25
|
+
}, z.core.$strip>;
|
|
26
|
+
owner: z.ZodOptional<z.ZodString>;
|
|
27
|
+
permissions: z.ZodOptional<z.ZodObject<{
|
|
28
|
+
read: z.ZodInt;
|
|
29
|
+
write: z.ZodInt;
|
|
30
|
+
execute: z.ZodInt;
|
|
31
|
+
}, z.core.$strip>>;
|
|
32
|
+
}, z.core.$strip>;
|
|
33
|
+
export declare const buildVolumeMountSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
34
|
+
type: z.ZodLiteral<"regular">;
|
|
35
|
+
host_path: z.ZodOptional<z.ZodString>;
|
|
36
|
+
container_path: z.ZodOptional<z.ZodString>;
|
|
37
|
+
read_only: z.ZodOptional<z.ZodBoolean>;
|
|
38
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
39
|
+
type: z.ZodLiteral<"new-file">;
|
|
40
|
+
container_path: z.ZodString;
|
|
41
|
+
content: z.ZodObject<{
|
|
42
|
+
data: z.ZodString;
|
|
43
|
+
encoding: z.ZodOptional<z.ZodString>;
|
|
44
|
+
}, z.core.$strip>;
|
|
45
|
+
owner: z.ZodOptional<z.ZodString>;
|
|
46
|
+
permissions: z.ZodOptional<z.ZodObject<{
|
|
47
|
+
read: z.ZodInt;
|
|
48
|
+
write: z.ZodInt;
|
|
49
|
+
execute: z.ZodInt;
|
|
50
|
+
}, z.core.$strip>>;
|
|
51
|
+
}, z.core.$strip>], "type">;
|
|
52
|
+
export type BuildVolumeMount = z.infer<typeof buildVolumeMountSchema>;
|
|
53
|
+
export declare const runVolumeMountRegularSchema: z.ZodObject<{
|
|
54
|
+
type: z.ZodLiteral<"regular">;
|
|
55
|
+
host_path: z.ZodOptional<z.ZodString>;
|
|
56
|
+
container_path: z.ZodOptional<z.ZodString>;
|
|
57
|
+
read_only: z.ZodOptional<z.ZodBoolean>;
|
|
58
|
+
}, z.core.$strip>;
|
|
59
|
+
export declare const runVolumeMountDockerSocketSchema: z.ZodObject<{
|
|
60
|
+
type: z.ZodLiteral<"docker-socket">;
|
|
61
|
+
container_path: z.ZodOptional<z.ZodString>;
|
|
62
|
+
}, z.core.$strip>;
|
|
63
|
+
export declare const runVolumeMountNewFileSchema: z.ZodObject<{
|
|
64
|
+
type: z.ZodLiteral<"new-file">;
|
|
65
|
+
container_path: z.ZodString;
|
|
66
|
+
content: z.ZodObject<{
|
|
67
|
+
data: z.ZodString;
|
|
68
|
+
encoding: z.ZodOptional<z.ZodString>;
|
|
69
|
+
}, z.core.$strip>;
|
|
70
|
+
owner: z.ZodOptional<z.ZodString>;
|
|
71
|
+
permissions: z.ZodOptional<z.ZodObject<{
|
|
72
|
+
read: z.ZodInt;
|
|
73
|
+
write: z.ZodInt;
|
|
74
|
+
execute: z.ZodInt;
|
|
75
|
+
}, z.core.$strip>>;
|
|
76
|
+
}, z.core.$strip>;
|
|
77
|
+
export declare const runVolumeMountNamedSchema: z.ZodObject<{
|
|
78
|
+
type: z.ZodLiteral<"named">;
|
|
79
|
+
name: z.ZodString;
|
|
80
|
+
container_path: z.ZodString;
|
|
81
|
+
read_only: z.ZodOptional<z.ZodBoolean>;
|
|
82
|
+
}, z.core.$strip>;
|
|
83
|
+
export declare const runVolumeMountAnonymousSchema: z.ZodObject<{
|
|
84
|
+
type: z.ZodLiteral<"anonymous">;
|
|
85
|
+
container_path: z.ZodString;
|
|
86
|
+
}, z.core.$strip>;
|
|
87
|
+
export declare const runVolumeMountTmpfsSchema: z.ZodObject<{
|
|
88
|
+
type: z.ZodLiteral<"tmpfs">;
|
|
89
|
+
container_path: z.ZodString;
|
|
90
|
+
size_mb: z.ZodOptional<z.ZodInt>;
|
|
91
|
+
}, z.core.$strip>;
|
|
92
|
+
export declare const runVolumeMountCopyInSchema: z.ZodObject<{
|
|
93
|
+
type: z.ZodLiteral<"copy-in">;
|
|
94
|
+
host_path: z.ZodString;
|
|
95
|
+
container_path: z.ZodString;
|
|
96
|
+
}, z.core.$strip>;
|
|
97
|
+
export declare const runVolumeMountCopyOutSchema: z.ZodObject<{
|
|
98
|
+
type: z.ZodLiteral<"copy-out">;
|
|
99
|
+
container_path: z.ZodString;
|
|
100
|
+
host_path: z.ZodString;
|
|
101
|
+
changed_only: z.ZodOptional<z.ZodBoolean>;
|
|
102
|
+
}, z.core.$strip>;
|
|
103
|
+
export declare const runVolumeMountSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
104
|
+
type: z.ZodLiteral<"regular">;
|
|
105
|
+
host_path: z.ZodOptional<z.ZodString>;
|
|
106
|
+
container_path: z.ZodOptional<z.ZodString>;
|
|
107
|
+
read_only: z.ZodOptional<z.ZodBoolean>;
|
|
108
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
109
|
+
type: z.ZodLiteral<"docker-socket">;
|
|
110
|
+
container_path: z.ZodOptional<z.ZodString>;
|
|
111
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
112
|
+
type: z.ZodLiteral<"new-file">;
|
|
113
|
+
container_path: z.ZodString;
|
|
114
|
+
content: z.ZodObject<{
|
|
115
|
+
data: z.ZodString;
|
|
116
|
+
encoding: z.ZodOptional<z.ZodString>;
|
|
117
|
+
}, z.core.$strip>;
|
|
118
|
+
owner: z.ZodOptional<z.ZodString>;
|
|
119
|
+
permissions: z.ZodOptional<z.ZodObject<{
|
|
120
|
+
read: z.ZodInt;
|
|
121
|
+
write: z.ZodInt;
|
|
122
|
+
execute: z.ZodInt;
|
|
123
|
+
}, z.core.$strip>>;
|
|
124
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
125
|
+
type: z.ZodLiteral<"named">;
|
|
126
|
+
name: z.ZodString;
|
|
127
|
+
container_path: z.ZodString;
|
|
128
|
+
read_only: z.ZodOptional<z.ZodBoolean>;
|
|
129
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
130
|
+
type: z.ZodLiteral<"anonymous">;
|
|
131
|
+
container_path: z.ZodString;
|
|
132
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
133
|
+
type: z.ZodLiteral<"tmpfs">;
|
|
134
|
+
container_path: z.ZodString;
|
|
135
|
+
size_mb: z.ZodOptional<z.ZodInt>;
|
|
136
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
137
|
+
type: z.ZodLiteral<"copy-in">;
|
|
138
|
+
host_path: z.ZodString;
|
|
139
|
+
container_path: z.ZodString;
|
|
140
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
141
|
+
type: z.ZodLiteral<"copy-out">;
|
|
142
|
+
container_path: z.ZodString;
|
|
143
|
+
host_path: z.ZodString;
|
|
144
|
+
changed_only: z.ZodOptional<z.ZodBoolean>;
|
|
145
|
+
}, z.core.$strip>], "type">;
|
|
146
|
+
export type RunVolumeMount = z.infer<typeof runVolumeMountSchema>;
|
|
147
|
+
export declare const volumeMountSchema: z.ZodObject<{
|
|
148
|
+
type: z.ZodOptional<z.ZodString>;
|
|
149
|
+
host_path: z.ZodString;
|
|
150
|
+
container_path: z.ZodOptional<z.ZodString>;
|
|
151
|
+
read_only: z.ZodBoolean;
|
|
152
|
+
}, z.core.$strip>;
|
|
153
|
+
export type VolumeMount = z.infer<typeof volumeMountSchema>;
|
|
154
|
+
export declare const namedVolumeMountSchema: z.ZodObject<{
|
|
155
|
+
volume_name: z.ZodString;
|
|
156
|
+
container_path: z.ZodString;
|
|
157
|
+
read_only: z.ZodBoolean;
|
|
158
|
+
}, z.core.$strip>;
|
|
159
|
+
export type NamedVolumeMount = z.infer<typeof namedVolumeMountSchema>;
|
|
160
|
+
//# sourceMappingURL=volumes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"volumes.d.ts","sourceRoot":"","sources":["../../src/core/volumes.ts"],"names":[],"mappings":"AAIA,OAAO,CAAC,MAAM,KAAK,CAAC;AAKpB,eAAO,MAAM,iBAAiB;;;iBAGL,CAAC;AAC1B,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,qBAAqB;;;;iBAIL,CAAC;AAC9B,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,6BAA6B;;;;;iBAKL,CAAC;AAEtC,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;iBAML,CAAC;AAEtC,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;2BAGL,CAAC;AAC/B,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAMtE,eAAO,MAAM,2BAA2B;;;;;iBAKL,CAAC;AAEpC,eAAO,MAAM,gCAAgC;;;iBAGL,CAAC;AAEzC,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;iBAML,CAAC;AAEpC,eAAO,MAAM,yBAAyB;;;;;iBAKL,CAAC;AAElC,eAAO,MAAM,6BAA6B;;;iBAGL,CAAC;AAEtC,eAAO,MAAM,yBAAyB;;;;iBAIL,CAAC;AAElC,eAAO,MAAM,0BAA0B;;;;iBAIL,CAAC;AAEnC,eAAO,MAAM,2BAA2B;;;;;iBAKL,CAAC;AAEpC,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BASL,CAAC;AAC7B,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,iBAAiB;;;;;iBAKL,CAAC;AAC1B,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,sBAAsB;;;;iBAIL,CAAC;AAC/B,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
// ---------------------------------------------------------------------------
|
|
2
|
+
// Build-time volume mounts
|
|
3
|
+
// ---------------------------------------------------------------------------
|
|
4
|
+
import z from "zod";
|
|
5
|
+
import { extendZodWithOpenApi } from "@asteasolutions/zod-to-openapi";
|
|
6
|
+
extendZodWithOpenApi(z);
|
|
7
|
+
export const fileContentSchema = z.object({
|
|
8
|
+
data: z.string().describe("File payload"),
|
|
9
|
+
encoding: z.string().optional().describe("Encoding of the data field (default \"utf-8\")"),
|
|
10
|
+
}).openapi("FileContent");
|
|
11
|
+
export const filePermissionsSchema = z.object({
|
|
12
|
+
read: z.int(),
|
|
13
|
+
write: z.int(),
|
|
14
|
+
execute: z.int(),
|
|
15
|
+
}).openapi("FilePermissions");
|
|
16
|
+
export const buildVolumeMountRegularSchema = z.object({
|
|
17
|
+
type: z.literal('regular'),
|
|
18
|
+
host_path: z.string().optional().describe("Absolute path on the host"),
|
|
19
|
+
container_path: z.string().optional().describe("Absolute path inside the container"),
|
|
20
|
+
read_only: z.boolean().optional(),
|
|
21
|
+
}).openapi("BuildVolumeMountRegular");
|
|
22
|
+
export const buildVolumeMountNewFileSchema = z.object({
|
|
23
|
+
type: z.literal('new-file'),
|
|
24
|
+
container_path: z.string().describe("Destination path inside the image (COPY semantics)"),
|
|
25
|
+
content: fileContentSchema,
|
|
26
|
+
owner: z.string().optional().describe("Unix owner string, e.g. \"root:root\""),
|
|
27
|
+
permissions: filePermissionsSchema.optional(),
|
|
28
|
+
}).openapi("BuildVolumeMountNewFile");
|
|
29
|
+
export const buildVolumeMountSchema = z.discriminatedUnion('type', [
|
|
30
|
+
buildVolumeMountRegularSchema,
|
|
31
|
+
buildVolumeMountNewFileSchema,
|
|
32
|
+
]).openapi("BuildVolumeMount");
|
|
33
|
+
// ---------------------------------------------------------------------------
|
|
34
|
+
// Run-time volume mounts
|
|
35
|
+
// ---------------------------------------------------------------------------
|
|
36
|
+
export const runVolumeMountRegularSchema = z.object({
|
|
37
|
+
type: z.literal('regular'),
|
|
38
|
+
host_path: z.string().optional(),
|
|
39
|
+
container_path: z.string().optional(),
|
|
40
|
+
read_only: z.boolean().optional(),
|
|
41
|
+
}).openapi("RunVolumeMountRegular");
|
|
42
|
+
export const runVolumeMountDockerSocketSchema = z.object({
|
|
43
|
+
type: z.literal('docker-socket'),
|
|
44
|
+
container_path: z.string().optional().describe("Mount point inside the container (defaults to /var/run/docker.sock)"),
|
|
45
|
+
}).openapi("RunVolumeMountDockerSocket");
|
|
46
|
+
export const runVolumeMountNewFileSchema = z.object({
|
|
47
|
+
type: z.literal('new-file'),
|
|
48
|
+
container_path: z.string(),
|
|
49
|
+
content: fileContentSchema,
|
|
50
|
+
owner: z.string().optional(),
|
|
51
|
+
permissions: filePermissionsSchema.optional(),
|
|
52
|
+
}).openapi("RunVolumeMountNewFile");
|
|
53
|
+
export const runVolumeMountNamedSchema = z.object({
|
|
54
|
+
type: z.literal('named'),
|
|
55
|
+
name: z.string().describe("Docker named volume name"),
|
|
56
|
+
container_path: z.string(),
|
|
57
|
+
read_only: z.boolean().optional(),
|
|
58
|
+
}).openapi("RunVolumeMountNamed");
|
|
59
|
+
export const runVolumeMountAnonymousSchema = z.object({
|
|
60
|
+
type: z.literal('anonymous'),
|
|
61
|
+
container_path: z.string(),
|
|
62
|
+
}).openapi("RunVolumeMountAnonymous");
|
|
63
|
+
export const runVolumeMountTmpfsSchema = z.object({
|
|
64
|
+
type: z.literal('tmpfs'),
|
|
65
|
+
container_path: z.string(),
|
|
66
|
+
size_mb: z.int().optional().describe("Size limit in MiB; absent means no limit"),
|
|
67
|
+
}).openapi("RunVolumeMountTmpfs");
|
|
68
|
+
export const runVolumeMountCopyInSchema = z.object({
|
|
69
|
+
type: z.literal('copy-in'),
|
|
70
|
+
host_path: z.string(),
|
|
71
|
+
container_path: z.string(),
|
|
72
|
+
}).openapi("RunVolumeMountCopyIn");
|
|
73
|
+
export const runVolumeMountCopyOutSchema = z.object({
|
|
74
|
+
type: z.literal('copy-out'),
|
|
75
|
+
container_path: z.string(),
|
|
76
|
+
host_path: z.string(),
|
|
77
|
+
changed_only: z.boolean().optional().describe("Copy only files changed since container start (uses docker diff)"),
|
|
78
|
+
}).openapi("RunVolumeMountCopyOut");
|
|
79
|
+
export const runVolumeMountSchema = z.discriminatedUnion('type', [
|
|
80
|
+
runVolumeMountRegularSchema,
|
|
81
|
+
runVolumeMountDockerSocketSchema,
|
|
82
|
+
runVolumeMountNewFileSchema,
|
|
83
|
+
runVolumeMountNamedSchema,
|
|
84
|
+
runVolumeMountAnonymousSchema,
|
|
85
|
+
runVolumeMountTmpfsSchema,
|
|
86
|
+
runVolumeMountCopyInSchema,
|
|
87
|
+
runVolumeMountCopyOutSchema,
|
|
88
|
+
]).openapi("RunVolumeMount");
|
|
89
|
+
export const volumeMountSchema = z.object({
|
|
90
|
+
type: z.string().optional().describe("Optional mount type. Use \"docker-socket\" for Docker socket mounts.").openapi({ example: "docker-socket" }),
|
|
91
|
+
host_path: z.string().describe("Absolute path on the host").openapi({ example: "/var/run/docker.sock" }),
|
|
92
|
+
container_path: z.string().optional().describe("Absolute path inside the container (may be omitted for docker-socket mounts)").openapi({ example: "/var/run/docker.sock" }),
|
|
93
|
+
read_only: z.boolean().describe("Whether the mount is read-only"),
|
|
94
|
+
}).openapi("VolumeMount");
|
|
95
|
+
export const namedVolumeMountSchema = z.object({
|
|
96
|
+
volume_name: z.string().min(1).describe("Docker named volume name").openapi({ example: "figulus-cache-nodejs" }),
|
|
97
|
+
container_path: z.string().min(1).describe("Mount point inside the container").openapi({ example: "/root/.npm" }),
|
|
98
|
+
read_only: z.boolean(),
|
|
99
|
+
}).openapi("NamedVolumeMount");
|
|
100
|
+
//# sourceMappingURL=volumes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"volumes.js","sourceRoot":"","sources":["../../src/core/volumes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/engine/deprecated/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/engine/deprecated/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const jobStatusSchema: z.ZodEnum<{
|
|
3
|
+
completed: "completed";
|
|
4
|
+
timeout: "timeout";
|
|
5
|
+
pending: "pending";
|
|
6
|
+
running: "running";
|
|
7
|
+
failed: "failed";
|
|
8
|
+
awaiting_cleanup: "awaiting_cleanup";
|
|
9
|
+
}>;
|
|
10
|
+
export type JobStatus = z.infer<typeof jobStatusSchema>;
|
|
11
|
+
export declare const runRequestSchema: z.ZodObject<{
|
|
12
|
+
job_id: z.ZodString;
|
|
13
|
+
image: z.ZodString;
|
|
14
|
+
command: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
15
|
+
environment: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
16
|
+
volumes: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
17
|
+
type: z.ZodOptional<z.ZodString>;
|
|
18
|
+
host_path: z.ZodString;
|
|
19
|
+
container_path: z.ZodOptional<z.ZodString>;
|
|
20
|
+
read_only: z.ZodBoolean;
|
|
21
|
+
}, z.core.$strip>>>;
|
|
22
|
+
named_volumes: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
23
|
+
volume_name: z.ZodString;
|
|
24
|
+
container_path: z.ZodString;
|
|
25
|
+
read_only: z.ZodBoolean;
|
|
26
|
+
}, z.core.$strip>>>;
|
|
27
|
+
resources: z.ZodOptional<z.ZodObject<{
|
|
28
|
+
memory_limit: z.ZodOptional<z.ZodString>;
|
|
29
|
+
memory_reservation: z.ZodOptional<z.ZodString>;
|
|
30
|
+
cpu_limit: z.ZodOptional<z.ZodString>;
|
|
31
|
+
cpu_reservation: z.ZodOptional<z.ZodString>;
|
|
32
|
+
}, z.core.$strip>>;
|
|
33
|
+
timeout: z.ZodOptional<z.ZodInt>;
|
|
34
|
+
parser_script: z.ZodOptional<z.ZodString>;
|
|
35
|
+
root_dir: z.ZodOptional<z.ZodString>;
|
|
36
|
+
env_files: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
37
|
+
secrets: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
38
|
+
extra_hosts: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
39
|
+
network_mode: z.ZodOptional<z.ZodString>;
|
|
40
|
+
working_dir: z.ZodOptional<z.ZodString>;
|
|
41
|
+
ports: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
42
|
+
container: z.ZodInt;
|
|
43
|
+
host: z.ZodOptional<z.ZodInt>;
|
|
44
|
+
}, z.core.$strip>>>;
|
|
45
|
+
}, z.core.$strip>;
|
|
46
|
+
export type RunRequest = z.infer<typeof runRequestSchema>;
|
|
47
|
+
export declare const runResponseSchema: z.ZodObject<{
|
|
48
|
+
job_id: z.ZodString;
|
|
49
|
+
status: z.ZodEnum<{
|
|
50
|
+
completed: "completed";
|
|
51
|
+
timeout: "timeout";
|
|
52
|
+
pending: "pending";
|
|
53
|
+
running: "running";
|
|
54
|
+
failed: "failed";
|
|
55
|
+
awaiting_cleanup: "awaiting_cleanup";
|
|
56
|
+
}>;
|
|
57
|
+
message: z.ZodOptional<z.ZodString>;
|
|
58
|
+
container_id: z.ZodOptional<z.ZodString>;
|
|
59
|
+
exit_code: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
60
|
+
stdout: z.ZodOptional<z.ZodString>;
|
|
61
|
+
stderr: z.ZodOptional<z.ZodString>;
|
|
62
|
+
parsed_output: z.ZodOptional<z.ZodObject<{
|
|
63
|
+
success: z.ZodBoolean;
|
|
64
|
+
data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
65
|
+
}, z.core.$strip>>;
|
|
66
|
+
started_at: z.ZodOptional<z.ZodISODateTime>;
|
|
67
|
+
completed_at: z.ZodOptional<z.ZodISODateTime>;
|
|
68
|
+
duration: z.ZodOptional<z.ZodNumber>;
|
|
69
|
+
command: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
70
|
+
final_command: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
71
|
+
}, z.core.$strip>;
|
|
72
|
+
export type RunResponse = z.infer<typeof runResponseSchema>;
|
|
73
|
+
//# sourceMappingURL=run-request.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-request.d.ts","sourceRoot":"","sources":["../../../src/engine/deprecated/run-request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,eAAO,MAAM,eAAe;;;;;;;EAOL,CAAC;AACxB,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAiBL,CAAC;AACzB,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;iBAcL,CAAC;AAC1B,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { extendZodWithOpenApi } from "@asteasolutions/zod-to-openapi";
|
|
3
|
+
import { namedVolumeMountSchema, volumeMountSchema } from '../../core/volumes.js';
|
|
4
|
+
import { parsedOutputSchema, portMappingSchema, resourceLimitsSchema } from '../../core/generic.js';
|
|
5
|
+
extendZodWithOpenApi(z);
|
|
6
|
+
export const jobStatusSchema = z.enum([
|
|
7
|
+
'pending',
|
|
8
|
+
'running',
|
|
9
|
+
'completed',
|
|
10
|
+
'failed',
|
|
11
|
+
'timeout',
|
|
12
|
+
'awaiting_cleanup',
|
|
13
|
+
]).openapi("JobStatus");
|
|
14
|
+
export const runRequestSchema = z.object({
|
|
15
|
+
job_id: z.string().min(1).describe("Unique identifier for this job").openapi({ example: "job-abc123" }),
|
|
16
|
+
image: z.string().min(1).describe("Docker image to run").openapi({ example: "node:20-alpine" }),
|
|
17
|
+
command: z.array(z.string()).optional().describe("Command and arguments to execute").openapi({ example: ["node", "index.js"] }),
|
|
18
|
+
environment: z.record(z.string(), z.string()).optional().describe("Environment variables"),
|
|
19
|
+
volumes: z.array(volumeMountSchema).optional().describe("Bind mounts (host path → container path)"),
|
|
20
|
+
named_volumes: z.array(namedVolumeMountSchema).optional().describe("Docker named volume mounts"),
|
|
21
|
+
resources: resourceLimitsSchema.optional(),
|
|
22
|
+
timeout: z.int().positive().max(86400).optional().describe("Execution timeout in seconds (default 300)").openapi({ example: 300 }),
|
|
23
|
+
parser_script: z.string().optional().describe("Full JavaScript parser source code for structured output parsing"),
|
|
24
|
+
root_dir: z.string().optional().describe("Root directory for file:// parser resolution"),
|
|
25
|
+
env_files: z.array(z.string()).optional().describe("Paths to .env files to load"),
|
|
26
|
+
secrets: z.record(z.string(), z.string()).optional().describe("Secret references: env_name → \"vault:path#field\""),
|
|
27
|
+
extra_hosts: z.array(z.string()).optional().describe("Extra /etc/hosts entries, e.g. \"host.docker.internal:host-gateway\""),
|
|
28
|
+
network_mode: z.string().optional().describe("Docker network mode: \"host\", \"bridge\", \"none\", etc.").openapi({ example: "bridge" }),
|
|
29
|
+
working_dir: z.string().optional().describe("Working directory inside the container (overrides Dockerfile WORKDIR)").openapi({ example: "/app" }),
|
|
30
|
+
ports: z.array(portMappingSchema).optional().describe("Port mappings (container port → host port)"),
|
|
31
|
+
}).openapi("RunRequest");
|
|
32
|
+
export const runResponseSchema = z.object({
|
|
33
|
+
job_id: z.string().openapi({ example: "job-abc123" }),
|
|
34
|
+
status: jobStatusSchema,
|
|
35
|
+
message: z.string().optional().openapi({ example: "Job accepted and queued" }),
|
|
36
|
+
container_id: z.string().optional().describe("Docker container ID, present once container is created"),
|
|
37
|
+
exit_code: z.int().nullable().optional().describe("Container exit code, present on completion"),
|
|
38
|
+
stdout: z.string().optional(),
|
|
39
|
+
stderr: z.string().optional(),
|
|
40
|
+
parsed_output: parsedOutputSchema.optional(),
|
|
41
|
+
started_at: z.iso.datetime().optional().openapi({ format: "date-time" }),
|
|
42
|
+
completed_at: z.iso.datetime().optional().openapi({ format: "date-time" }),
|
|
43
|
+
duration: z.number().optional().describe("Execution duration in seconds").openapi({ format: "double" }),
|
|
44
|
+
command: z.array(z.string()).optional().describe("Original command from the request"),
|
|
45
|
+
final_command: z.array(z.string()).optional().describe("Actual command executed after any wrapping or modification"),
|
|
46
|
+
}).openapi("RunResponse");
|
|
47
|
+
//# sourceMappingURL=run-request.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-request.js","sourceRoot":"","sources":["../../../src/engine/deprecated/run-request.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import z from "zod";
|
|
2
|
+
export declare const dryRunResponseSchema: z.ZodObject<{
|
|
3
|
+
command: z.ZodArray<z.ZodString>;
|
|
4
|
+
final_command: z.ZodArray<z.ZodString>;
|
|
5
|
+
image: z.ZodString;
|
|
6
|
+
working_dir: z.ZodString;
|
|
7
|
+
volumes: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
8
|
+
type: z.ZodOptional<z.ZodString>;
|
|
9
|
+
host_path: z.ZodString;
|
|
10
|
+
container_path: z.ZodOptional<z.ZodString>;
|
|
11
|
+
read_only: z.ZodBoolean;
|
|
12
|
+
}, z.core.$strip>>>;
|
|
13
|
+
}, z.core.$strip>;
|
|
14
|
+
export type DryRunResponse = z.infer<typeof dryRunResponseSchema>;
|
|
15
|
+
//# sourceMappingURL=dry-run.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dry-run.d.ts","sourceRoot":"","sources":["../../src/engine/dry-run.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAMpB,eAAO,MAAM,oBAAoB;;;;;;;;;;;iBAML,CAAC;AAC7B,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import z from "zod";
|
|
2
|
+
import { extendZodWithOpenApi } from "@asteasolutions/zod-to-openapi";
|
|
3
|
+
import { volumeMountSchema } from "../core/volumes.js";
|
|
4
|
+
extendZodWithOpenApi(z);
|
|
5
|
+
export const dryRunResponseSchema = z.object({
|
|
6
|
+
command: z.array(z.string()).describe("Original command from the request"),
|
|
7
|
+
final_command: z.array(z.string()).describe("Actual command that would be executed"),
|
|
8
|
+
image: z.string(),
|
|
9
|
+
working_dir: z.string(),
|
|
10
|
+
volumes: z.array(volumeMountSchema).optional().describe("Volume mounts with computed container paths"),
|
|
11
|
+
}).openapi("DryRunResponse");
|
|
12
|
+
//# sourceMappingURL=dry-run.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dry-run.js","sourceRoot":"","sources":["../../src/engine/dry-run.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,oBAAoB,CAAC,CAAC,CAAC,CAAC;AAExB,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IAC1E,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,uCAAuC,CAAC;IACpF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;CACvG,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const healthResponseSchema: z.ZodObject<{
|
|
3
|
+
status: z.ZodEnum<{
|
|
4
|
+
healthy: "healthy";
|
|
5
|
+
unhealthy: "unhealthy";
|
|
6
|
+
}>;
|
|
7
|
+
docker_api: z.ZodOptional<z.ZodString>;
|
|
8
|
+
message: z.ZodOptional<z.ZodString>;
|
|
9
|
+
}, z.core.$strip>;
|
|
10
|
+
export type HealthResponse = z.infer<typeof healthResponseSchema>;
|
|
11
|
+
//# sourceMappingURL=health.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/engine/health.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,oBAAoB;;;;;;;iBAIL,CAAC;AAC7B,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { extendZodWithOpenApi } from "@asteasolutions/zod-to-openapi";
|
|
3
|
+
extendZodWithOpenApi(z);
|
|
4
|
+
export const healthResponseSchema = z.object({
|
|
5
|
+
status: z.enum(['healthy', 'unhealthy']),
|
|
6
|
+
docker_api: z.string().optional().describe("Docker daemon info string, present when healthy").openapi({ example: "Docker v29.3.0, 12 containers" }),
|
|
7
|
+
message: z.string().optional().describe("Error detail, present when unhealthy").openapi({ example: "Docker daemon unreachable: connection refused" }),
|
|
8
|
+
}).openapi("HealthResponse");
|
|
9
|
+
//# sourceMappingURL=health.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/engine/health.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAEtE,oBAAoB,CAAC,CAAC,CAAC,CAAC;AAExB,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACxC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,+BAA+B,EAAE,CAAC;IACnJ,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,+CAA+C,EAAE,CAAC;CACtJ,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const buildImageRequestSchema: z.ZodObject<{
|
|
3
|
+
spec: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
4
|
+
platform: z.ZodOptional<z.ZodString>;
|
|
5
|
+
parser_script: z.ZodOptional<z.ZodString>;
|
|
6
|
+
root_dir: z.ZodOptional<z.ZodString>;
|
|
7
|
+
}, z.core.$strip>;
|
|
8
|
+
export type BuildImageRequest = z.infer<typeof buildImageRequestSchema>;
|
|
9
|
+
export declare const buildImageResponseSchema: z.ZodObject<{
|
|
10
|
+
image_tag: z.ZodString;
|
|
11
|
+
hash: z.ZodString;
|
|
12
|
+
cached: z.ZodBoolean;
|
|
13
|
+
message: z.ZodOptional<z.ZodString>;
|
|
14
|
+
}, z.core.$strip>;
|
|
15
|
+
export type BuildImageResponse = z.infer<typeof buildImageResponseSchema>;
|
|
16
|
+
export declare const pruneImagesRequestSchema: z.ZodObject<{
|
|
17
|
+
retention_days: z.ZodOptional<z.ZodInt>;
|
|
18
|
+
all: z.ZodOptional<z.ZodBoolean>;
|
|
19
|
+
}, z.core.$strip>;
|
|
20
|
+
export type PruneImagesRequest = z.infer<typeof pruneImagesRequestSchema>;
|
|
21
|
+
export declare const pruneImagesResponseSchema: z.ZodObject<{
|
|
22
|
+
removed: z.ZodInt;
|
|
23
|
+
bytes_freed: z.ZodInt;
|
|
24
|
+
mb_freed: z.ZodNumber;
|
|
25
|
+
message: z.ZodString;
|
|
26
|
+
docker_images_pruned: z.ZodOptional<z.ZodInt>;
|
|
27
|
+
docker_bytes_freed: z.ZodOptional<z.ZodInt>;
|
|
28
|
+
}, z.core.$strip>;
|
|
29
|
+
export type PruneImagesResponse = z.infer<typeof pruneImagesResponseSchema>;
|
|
30
|
+
export declare const pruneCacheResponseSchema: z.ZodObject<{
|
|
31
|
+
freed_bytes: z.ZodInt;
|
|
32
|
+
}, z.core.$strip>;
|
|
33
|
+
export type PruneCacheResponse = z.infer<typeof pruneCacheResponseSchema>;
|
|
34
|
+
export declare const extractArtifactsRequestSchema: z.ZodObject<{
|
|
35
|
+
container_id: z.ZodString;
|
|
36
|
+
container_path: z.ZodString;
|
|
37
|
+
host_path: z.ZodString;
|
|
38
|
+
}, z.core.$strip>;
|
|
39
|
+
export type ExtractArtifactsRequest = z.infer<typeof extractArtifactsRequestSchema>;
|
|
40
|
+
export declare const extractArtifactsResponseSchema: z.ZodObject<{
|
|
41
|
+
container_id: z.ZodString;
|
|
42
|
+
container_path: z.ZodString;
|
|
43
|
+
host_path: z.ZodString;
|
|
44
|
+
files_count: z.ZodOptional<z.ZodInt>;
|
|
45
|
+
total_bytes: z.ZodOptional<z.ZodInt>;
|
|
46
|
+
message: z.ZodString;
|
|
47
|
+
}, z.core.$strip>;
|
|
48
|
+
export type ExtractArtifactsResponse = z.infer<typeof extractArtifactsResponseSchema>;
|
|
49
|
+
//# sourceMappingURL=images.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"images.d.ts","sourceRoot":"","sources":["../../src/engine/images.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,uBAAuB;;;;;iBAKL,CAAC;AAChC,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,wBAAwB;;;;;iBAKL,CAAC;AACjC,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,wBAAwB;;;iBAGL,CAAC;AACjC,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,yBAAyB;;;;;;;iBAOL,CAAC;AAClC,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,wBAAwB;;iBAEnC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,6BAA6B;;;;iBAIL,CAAC;AACtC,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF,eAAO,MAAM,8BAA8B;;;;;;;iBAOL,CAAC;AACvC,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { extendZodWithOpenApi } from "@asteasolutions/zod-to-openapi";
|
|
3
|
+
extendZodWithOpenApi(z);
|
|
4
|
+
export const buildImageRequestSchema = z.object({
|
|
5
|
+
spec: z.record(z.string(), z.unknown()).describe("Figspec build specification describing the image to build"),
|
|
6
|
+
platform: z.string().optional().describe("Target platform, e.g. \"linux/amd64\", \"linux/arm64\"").openapi({ example: "linux/amd64" }),
|
|
7
|
+
parser_script: z.string().optional().describe("JavaScript parser source for build output (resolved by server)"),
|
|
8
|
+
root_dir: z.string().optional().describe("Root directory for file:// parser resolution"),
|
|
9
|
+
}).openapi("BuildImageRequest");
|
|
10
|
+
export const buildImageResponseSchema = z.object({
|
|
11
|
+
image_tag: z.string().min(1).describe("Fully qualified image tag").openapi({ example: "localhost:5000/figulus:sha256-abc123de" }),
|
|
12
|
+
hash: z.string().min(1).describe("Content-addressable hash of the spec").openapi({ example: "abc123defgh456" }),
|
|
13
|
+
cached: z.boolean().describe("true if the image was already in cache (no build needed)"),
|
|
14
|
+
message: z.string().optional().openapi({ example: "Image built successfully" }),
|
|
15
|
+
}).openapi("BuildImageResponse");
|
|
16
|
+
export const pruneImagesRequestSchema = z.object({
|
|
17
|
+
retention_days: z.int().min(1).optional().describe("Images unused for longer than this many days are removed (overrides query param)"),
|
|
18
|
+
all: z.boolean().optional().describe("When true, also prune all unused Docker images (not just Figulus-managed)"),
|
|
19
|
+
}).openapi("PruneImagesRequest");
|
|
20
|
+
export const pruneImagesResponseSchema = z.object({
|
|
21
|
+
removed: z.int().describe("Number of Figulus-managed images removed"),
|
|
22
|
+
bytes_freed: z.int().describe("Bytes freed by Figulus GC").openapi({ format: "int64" }),
|
|
23
|
+
mb_freed: z.number().describe("Megabytes freed by Figulus GC").openapi({ format: "double" }),
|
|
24
|
+
message: z.string(),
|
|
25
|
+
docker_images_pruned: z.int().optional().describe("Number of Docker-native images pruned (only present when all=true)"),
|
|
26
|
+
docker_bytes_freed: z.int().optional().describe("Bytes freed by Docker-native image prune (only present when all=true)").openapi({ format: "int64" }),
|
|
27
|
+
}).openapi("PruneImagesResponse");
|
|
28
|
+
export const pruneCacheResponseSchema = z.object({
|
|
29
|
+
freed_bytes: z.int(),
|
|
30
|
+
});
|
|
31
|
+
export const extractArtifactsRequestSchema = z.object({
|
|
32
|
+
container_id: z.string().min(1).describe("Docker container ID to extract from").openapi({ example: "a1b2c3d4e5f6" }),
|
|
33
|
+
container_path: z.string().min(1).describe("Absolute path inside the container to extract").openapi({ example: "/app/dist" }),
|
|
34
|
+
host_path: z.string().min(1).describe("Absolute path on the host to extract files into").openapi({ example: "/tmp/artifacts" }),
|
|
35
|
+
}).openapi("ExtractArtifactsRequest");
|
|
36
|
+
export const extractArtifactsResponseSchema = z.object({
|
|
37
|
+
container_id: z.string(),
|
|
38
|
+
container_path: z.string(),
|
|
39
|
+
host_path: z.string(),
|
|
40
|
+
files_count: z.int().optional().describe("Number of files extracted"),
|
|
41
|
+
total_bytes: z.int().optional().describe("Total bytes extracted").openapi({ format: "int64" }),
|
|
42
|
+
message: z.string(),
|
|
43
|
+
}).openapi("ExtractArtifactsResponse");
|
|
44
|
+
//# sourceMappingURL=images.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"images.js","sourceRoot":"","sources":["../../src/engine/images.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from './response.js';
|
|
2
|
+
export * from './dry-run.js';
|
|
3
|
+
export * from './health.js';
|
|
4
|
+
export * from './images.js';
|
|
5
|
+
export * from './sessions.js';
|
|
6
|
+
export * from './volumes.js';
|
|
7
|
+
export * from './paths/index.js';
|
|
8
|
+
export * from './deprecated/index.js';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/engine/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from './response.js';
|
|
2
|
+
export * from './dry-run.js';
|
|
3
|
+
export * from './health.js';
|
|
4
|
+
export * from './images.js';
|
|
5
|
+
export * from './sessions.js';
|
|
6
|
+
export * from './volumes.js';
|
|
7
|
+
export * from './paths/index.js';
|
|
8
|
+
export * from './deprecated/index.js';
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/engine/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC"}
|