@nosana/types 2.2.15 → 2.2.19

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 (43) hide show
  1. package/dist/Jobs/JobDefinition/args/index.d.ts +17 -0
  2. package/dist/Jobs/JobDefinition/args/index.d.ts.map +1 -1
  3. package/dist/Jobs/JobDefinition/args/index.js +2365 -0
  4. package/dist/Jobs/JobDefinition/args/index.js.map +1 -1
  5. package/dist/Jobs/JobDefinition/execution/index.d.ts +2 -0
  6. package/dist/Jobs/JobDefinition/execution/index.d.ts.map +1 -1
  7. package/dist/Jobs/JobDefinition/execution/index.js +136 -1
  8. package/dist/Jobs/JobDefinition/execution/index.js.map +1 -1
  9. package/dist/Jobs/JobDefinition/global/index.d.ts +2 -0
  10. package/dist/Jobs/JobDefinition/global/index.d.ts.map +1 -1
  11. package/dist/Jobs/JobDefinition/global/index.js +127 -1
  12. package/dist/Jobs/JobDefinition/global/index.js.map +1 -1
  13. package/dist/Jobs/JobDefinition/index.d.ts +3 -0
  14. package/dist/Jobs/JobDefinition/index.d.ts.map +1 -1
  15. package/dist/Jobs/JobDefinition/index.js +1 -0
  16. package/dist/Jobs/JobDefinition/index.js.map +1 -1
  17. package/dist/Jobs/JobDefinition/logistics/index.d.ts +2 -0
  18. package/dist/Jobs/JobDefinition/logistics/index.d.ts.map +1 -1
  19. package/dist/Jobs/JobDefinition/logistics/index.js +133 -0
  20. package/dist/Jobs/JobDefinition/logistics/index.js.map +1 -1
  21. package/dist/Jobs/JobDefinition/meta/index.d.ts +2 -0
  22. package/dist/Jobs/JobDefinition/meta/index.d.ts.map +1 -1
  23. package/dist/Jobs/JobDefinition/meta/index.js +118 -1
  24. package/dist/Jobs/JobDefinition/meta/index.js.map +1 -1
  25. package/dist/Jobs/JobDefinition/operations/index.d.ts +13 -2
  26. package/dist/Jobs/JobDefinition/operations/index.d.ts.map +1 -1
  27. package/dist/Jobs/JobDefinition/operations/index.js +2663 -2
  28. package/dist/Jobs/JobDefinition/operations/index.js.map +1 -1
  29. package/dist/Jobs/JobDefinition/operations/rules.d.ts +11 -0
  30. package/dist/Jobs/JobDefinition/operations/rules.d.ts.map +1 -0
  31. package/dist/Jobs/JobDefinition/operations/rules.js +20 -0
  32. package/dist/Jobs/JobDefinition/operations/rules.js.map +1 -0
  33. package/dist/Jobs/JobDefinition/ssh/index.d.ts +6 -0
  34. package/dist/Jobs/JobDefinition/ssh/index.d.ts.map +1 -0
  35. package/dist/Jobs/JobDefinition/ssh/index.js +68 -0
  36. package/dist/Jobs/JobDefinition/ssh/index.js.map +1 -0
  37. package/dist/Jobs/index.d.ts +3 -19
  38. package/dist/Jobs/index.d.ts.map +1 -1
  39. package/dist/Jobs/index.js +207 -164
  40. package/dist/Jobs/index.js.map +1 -1
  41. package/dist/Schemas/job.js +15 -0
  42. package/dist/Schemas/job.js.map +1 -1
  43. package/package.json +2 -2
@@ -1,3 +1,2664 @@
1
- // Operation ID – mirrors @nosana/sdk/src/types/job.ts
2
- export const OPERATION_ID_VALIDATE = `typeof $input === "string" && !$input.includes(" ")`;
1
+ import * as __typia_transform__accessExpressionAsString from "typia/lib/internal/_accessExpressionAsString.js";
2
+ import * as __typia_transform__validateReport from "typia/lib/internal/_validateReport.js";
3
+ import * as __typia_transform__createStandardSchema from "typia/lib/internal/_createStandardSchema.js";
4
+ import typia from "typia";
5
+ export * from "./rules.js";
6
+ export const validateOperation = (() => { const _io0 = (input, _exceptionable = true) => ("container/run" === input.type || "container/create-volume" === input.type) && ("string" === typeof input.id && (typeof input.id === "string" && !input.id.includes(" "))) && ("object" === typeof input.args && null !== input.args && _iu3(input.args, true && _exceptionable)) && (undefined === input.results || "object" === typeof input.results && null !== input.results && false === Array.isArray(input.results) && _io20(input.results, true && _exceptionable)) && (undefined === input.execution || "object" === typeof input.execution && null !== input.execution && false === Array.isArray(input.execution) && _iu4(input.execution, true && _exceptionable)) && (3 === Object.keys(input).length || Object.keys(input).every(key => {
7
+ if (["type", "id", "args", "results", "execution"].some(prop => key === prop))
8
+ return true;
9
+ const value = input[key];
10
+ if (undefined === value)
11
+ return true;
12
+ return false;
13
+ })); const _io1 = (input, _exceptionable = true) => "string" === typeof input.image && (null !== input.aliases && (undefined === input.aliases || "string" === typeof input.aliases || Array.isArray(input.aliases) && input.aliases.every((elem, _index1) => "string" === typeof elem))) && (null !== input.cmd && (undefined === input.cmd || "string" === typeof input.cmd || Array.isArray(input.cmd) && input.cmd.every((elem, _index2) => "string" === typeof elem))) && (undefined === input.volumes || Array.isArray(input.volumes) && input.volumes.every((elem, _index3) => "object" === typeof elem && null !== elem && _io2(elem, true && _exceptionable))) && (null !== input.expose && (undefined === input.expose || "number" === typeof input.expose || "string" === typeof input.expose && (typeof input.expose === "string" && /^%%(ops|global).[^%]+%%$/.test(input.expose)) || (Array.isArray(input.expose) && ((() => {
14
+ if (!Array.isArray(input.expose))
15
+ return true;
16
+ const numbers = new Set();
17
+ const ranges = [];
18
+ for (const el of input.expose) {
19
+ if (typeof el === "string" && /^%%(ops|global).[^%]+%%$/.test(el))
20
+ continue;
21
+ if (el && typeof el === "object" && !Array.isArray(el) && el.__spread__)
22
+ continue;
23
+ const port = typeof el === "object" ? el.port : el;
24
+ if (typeof port === "number") {
25
+ if (numbers.has(port))
26
+ return false;
27
+ numbers.add(port);
28
+ }
29
+ else if (typeof port === "string") {
30
+ const match = /^([0-9]+)-([0-9]+)$/.exec(port);
31
+ if (!match)
32
+ return false;
33
+ const start = Number(match[1]), end = Number(match[2]);
34
+ for (const [rStart, rEnd] of ranges) {
35
+ if (start <= rEnd && end >= rStart)
36
+ return false;
37
+ }
38
+ ranges.push([start, end]);
39
+ }
40
+ }
41
+ for (const port of numbers) {
42
+ for (const [start, end] of ranges) {
43
+ if (port >= start && port <= end)
44
+ return false;
45
+ }
46
+ }
47
+ return true;
48
+ })() && input.expose.every((elem, _index4) => null !== elem && undefined !== elem && ("number" === typeof elem || "string" === typeof elem && (typeof elem === "string" && /^%%(ops|global).[^%]+%%$/.test(elem)) || "object" === typeof elem && null !== elem && _iu1(elem, true && _exceptionable)))) || "object" === typeof input.expose && null !== input.expose && _iu1(input.expose, true && _exceptionable)))) && (undefined === input.gpu || "boolean" === typeof input.gpu) && (undefined === input.work_dir || "string" === typeof input.work_dir) && (null !== input.entrypoint && (undefined === input.entrypoint || "string" === typeof input.entrypoint || Array.isArray(input.entrypoint) && input.entrypoint.every((elem, _index5) => "string" === typeof elem))) && (undefined === input.env || "object" === typeof input.env && null !== input.env && false === Array.isArray(input.env) && _io8(input.env, true && _exceptionable)) && (null !== input.restart_policy && (undefined === input.restart_policy || "on-failure" === input.restart_policy || "no" === input.restart_policy || "always" === input.restart_policy || "unless-stopped" === input.restart_policy || "object" === typeof input.restart_policy && null !== input.restart_policy && _io9(input.restart_policy, true && _exceptionable))) && (undefined === input["private"] || "boolean" === typeof input["private"]) && (undefined === input.resources || Array.isArray(input.resources) && input.resources.every((elem, _index6) => null !== elem && undefined !== elem && ("__remove-if-empty__" === elem || "object" === typeof elem && null !== elem && _iu2(elem, true && _exceptionable)))) && (undefined === input.authentication || "object" === typeof input.authentication && null !== input.authentication && false === Array.isArray(input.authentication) && _io17(input.authentication, true && _exceptionable)) && (1 === Object.keys(input).length || Object.keys(input).every(key => {
49
+ if (["image", "aliases", "cmd", "volumes", "expose", "gpu", "work_dir", "entrypoint", "env", "restart_policy", "private", "resources", "authentication"].some(prop => key === prop))
50
+ return true;
51
+ const value = input[key];
52
+ if (undefined === value)
53
+ return true;
54
+ return false;
55
+ })); const _io2 = (input, _exceptionable = true) => "string" === typeof input.name && "string" === typeof input.dest && (2 === Object.keys(input).length || Object.keys(input).every(key => {
56
+ if (["name", "dest"].some(prop => key === prop))
57
+ return true;
58
+ const value = input[key];
59
+ if (undefined === value)
60
+ return true;
61
+ return false;
62
+ })); const _io3 = (input, _exceptionable = true) => "string" === typeof input.__spread__ && (typeof input.__spread__ === "string" && /^%%(ops|global).[^%]+%%$/.test(input.__spread__)) && (undefined === input.chunked || "boolean" === typeof input.chunked) && (1 === Object.keys(input).length || Object.keys(input).every(key => {
63
+ if (["__spread__", "chunked"].some(prop => key === prop))
64
+ return true;
65
+ const value = input[key];
66
+ if (undefined === value)
67
+ return true;
68
+ return false;
69
+ })); const _io4 = (input, _exceptionable = true) => "number" === typeof input.port && (undefined === input.type || "api" === input.type || "web" === input.type || "websocket" === input.type || "webapi" === input.type || "none" === input.type) && (undefined === input.health_checks || Array.isArray(input.health_checks) && input.health_checks.every((elem, _index7) => "object" === typeof elem && null !== elem && _iu0(elem, true && _exceptionable))) && (1 === Object.keys(input).length || Object.keys(input).every(key => {
70
+ if (["port", "type", "health_checks"].some(prop => key === prop))
71
+ return true;
72
+ const value = input[key];
73
+ if (undefined === value)
74
+ return true;
75
+ return false;
76
+ })); const _io5 = (input, _exceptionable = true) => "http" === input.type && "string" === typeof input.path && ("GET" === input.method || "POST" === input.method || "PUT" === input.method || "DELETE" === input.method) && "number" === typeof input.expected_status && (undefined === input.headers || "object" === typeof input.headers && null !== input.headers && false === Array.isArray(input.headers) && _io6(input.headers, true && _exceptionable)) && true && "boolean" === typeof input.continuous && (5 === Object.keys(input).length || Object.keys(input).every(key => {
77
+ if (["type", "path", "method", "expected_status", "headers", "body", "continuous"].some(prop => key === prop))
78
+ return true;
79
+ const value = input[key];
80
+ if (undefined === value)
81
+ return true;
82
+ return false;
83
+ })); const _io6 = (input, _exceptionable = true) => Object.keys(input).every(key => {
84
+ const value = input[key];
85
+ if (undefined === value)
86
+ return true;
87
+ return "string" === typeof value;
88
+ }); const _io7 = (input, _exceptionable = true) => "websocket" === input.type && "string" === typeof input.expected_response && "boolean" === typeof input.continuous && (3 === Object.keys(input).length || Object.keys(input).every(key => {
89
+ if (["type", "expected_response", "continuous"].some(prop => key === prop))
90
+ return true;
91
+ const value = input[key];
92
+ if (undefined === value)
93
+ return true;
94
+ return false;
95
+ })); const _io8 = (input, _exceptionable = true) => Object.keys(input).every(key => {
96
+ const value = input[key];
97
+ if (undefined === value)
98
+ return true;
99
+ return "string" === typeof value;
100
+ }); const _io9 = (input, _exceptionable = true) => "on-failure" === input.policy && (undefined === input.restart_tries || "number" === typeof input.restart_tries) && (1 === Object.keys(input).length || Object.keys(input).every(key => {
101
+ if (["policy", "restart_tries"].some(prop => key === prop))
102
+ return true;
103
+ const value = input[key];
104
+ if (undefined === value)
105
+ return true;
106
+ return false;
107
+ })); const _io10 = (input, _exceptionable = true) => "S3" === input.type && "string" === typeof input.target && (undefined === input.url || "string" === typeof input.url) && (undefined === input.allowWrite || "boolean" === typeof input.allowWrite) && (undefined === input.files || Array.isArray(input.files) && input.files.every((elem, _index8) => "string" === typeof elem)) && (undefined === input.IAM || "object" === typeof input.IAM && null !== input.IAM && _io11(input.IAM, true && _exceptionable)) && (2 === Object.keys(input).length || Object.keys(input).every(key => {
108
+ if (["type", "target", "url", "allowWrite", "files", "IAM"].some(prop => key === prop))
109
+ return true;
110
+ const value = input[key];
111
+ if (undefined === value)
112
+ return true;
113
+ return false;
114
+ })); const _io11 = (input, _exceptionable = true) => "string" === typeof input.REGION && "string" === typeof input.ACCESS_KEY_ID && "string" === typeof input.SECRET_ACCESS_KEY && (3 === Object.keys(input).length || Object.keys(input).every(key => {
115
+ if (["REGION", "ACCESS_KEY_ID", "SECRET_ACCESS_KEY"].some(prop => key === prop))
116
+ return true;
117
+ const value = input[key];
118
+ if (undefined === value)
119
+ return true;
120
+ return false;
121
+ })); const _io12 = (input, _exceptionable = true) => "S3" === input.type && "string" === typeof input.target && "string" === typeof input.bucket && (undefined === input.url || "string" === typeof input.url) && (undefined === input.allowWrite || "boolean" === typeof input.allowWrite) && (undefined === input.IAM || "object" === typeof input.IAM && null !== input.IAM && _io11(input.IAM, true && _exceptionable)) && (3 === Object.keys(input).length || Object.keys(input).every(key => {
122
+ if (["type", "target", "bucket", "url", "allowWrite", "IAM"].some(prop => key === prop))
123
+ return true;
124
+ const value = input[key];
125
+ if (undefined === value)
126
+ return true;
127
+ return false;
128
+ })); const _io13 = (input, _exceptionable = true) => "S3" === input.type && "string" === typeof input.target && (Array.isArray(input.buckets) && input.buckets.every((elem, _index9) => "object" === typeof elem && null !== elem && _io14(elem, true && _exceptionable))) && (undefined === input.url || "string" === typeof input.url) && (undefined === input.allowWrite || "boolean" === typeof input.allowWrite) && (undefined === input.IAM || "object" === typeof input.IAM && null !== input.IAM && _io11(input.IAM, true && _exceptionable)) && (3 === Object.keys(input).length || Object.keys(input).every(key => {
129
+ if (["type", "target", "buckets", "url", "allowWrite", "IAM"].some(prop => key === prop))
130
+ return true;
131
+ const value = input[key];
132
+ if (undefined === value)
133
+ return true;
134
+ return false;
135
+ })); const _io14 = (input, _exceptionable = true) => "string" === typeof input.url && (undefined === input.files || Array.isArray(input.files) && input.files.every((elem, _index10) => "string" === typeof elem)) && (1 === Object.keys(input).length || Object.keys(input).every(key => {
136
+ if (["url", "files"].some(prop => key === prop))
137
+ return true;
138
+ const value = input[key];
139
+ if (undefined === value)
140
+ return true;
141
+ return false;
142
+ })); const _io15 = (input, _exceptionable = true) => "HF" === input.type && "string" === typeof input.target && "string" === typeof input.repo && (undefined === input.revision || "string" === typeof input.revision) && (undefined === input.files || Array.isArray(input.files) && input.files.every((elem, _index11) => "string" === typeof elem)) && (undefined === input.accessToken || "string" === typeof input.accessToken) && (3 === Object.keys(input).length || Object.keys(input).every(key => {
143
+ if (["type", "target", "repo", "revision", "files", "accessToken"].some(prop => key === prop))
144
+ return true;
145
+ const value = input[key];
146
+ if (undefined === value)
147
+ return true;
148
+ return false;
149
+ })); const _io16 = (input, _exceptionable = true) => "Ollama" === input.type && "string" === typeof input.model && (undefined === input.target || "string" === typeof input.target) && (2 === Object.keys(input).length || Object.keys(input).every(key => {
150
+ if (["type", "model", "target"].some(prop => key === prop))
151
+ return true;
152
+ const value = input[key];
153
+ if (undefined === value)
154
+ return true;
155
+ return false;
156
+ })); const _io17 = (input, _exceptionable = true) => (undefined === input.docker || "object" === typeof input.docker && null !== input.docker && false === Array.isArray(input.docker) && _io18(input.docker, true && _exceptionable)) && (0 === Object.keys(input).length || Object.keys(input).every(key => {
157
+ if (["docker"].some(prop => key === prop))
158
+ return true;
159
+ const value = input[key];
160
+ if (undefined === value)
161
+ return true;
162
+ return false;
163
+ })); const _io18 = (input, _exceptionable = true) => (undefined === input.username || "string" === typeof input.username) && (undefined === input.password || "string" === typeof input.password) && (undefined === input.email || "string" === typeof input.email) && (undefined === input.server || "string" === typeof input.server) && (0 === Object.keys(input).length || Object.keys(input).every(key => {
164
+ if (["username", "password", "email", "server"].some(prop => key === prop))
165
+ return true;
166
+ const value = input[key];
167
+ if (undefined === value)
168
+ return true;
169
+ return false;
170
+ })); const _io19 = (input, _exceptionable = true) => "string" === typeof input.name && (1 === Object.keys(input).length || Object.keys(input).every(key => {
171
+ if (["name"].some(prop => key === prop))
172
+ return true;
173
+ const value = input[key];
174
+ if (undefined === value)
175
+ return true;
176
+ return false;
177
+ })); const _io20 = (input, _exceptionable = true) => Object.keys(input).every(key => {
178
+ const value = input[key];
179
+ if (undefined === value)
180
+ return true;
181
+ return null !== value && undefined !== value && ("string" === typeof value || "object" === typeof value && null !== value && _io21(value, true && _exceptionable));
182
+ }); const _io21 = (input, _exceptionable = true) => "string" === typeof input.regex && (Array.isArray(input.logType) && (Array.isArray(input.logType) && input.logType.length >= 1 && input.logType.length <= 4 && (() => {
183
+ const seen = new Set();
184
+ for (const v of input.logType) {
185
+ if (seen.has(v))
186
+ return false;
187
+ seen.add(v);
188
+ }
189
+ return true;
190
+ })() && input.logType.every((elem, _index12) => "stdin" === elem || "stdout" === elem || "stderr" === elem || "nodeerr" === elem))) && (2 === Object.keys(input).length || Object.keys(input).every(key => {
191
+ if (["regex", "logType"].some(prop => key === prop))
192
+ return true;
193
+ const value = input[key];
194
+ if (undefined === value)
195
+ return true;
196
+ return false;
197
+ })); const _io22 = (input, _exceptionable = true) => (undefined === input.group || "string" === typeof input.group) && (undefined === input.timeout || "number" === typeof input.timeout) && (null !== input.depends_on && undefined === input.depends_on) && (null !== input.stop_if_dependent_stops && undefined === input.stop_if_dependent_stops) && (0 === Object.keys(input).length || Object.keys(input).every(key => {
198
+ if (["group", "timeout", "depends_on", "stop_if_dependent_stops"].some(prop => key === prop))
199
+ return true;
200
+ const value = input[key];
201
+ if (undefined === value)
202
+ return true;
203
+ return false;
204
+ })); const _io23 = (input, _exceptionable = true) => (undefined === input.group || "string" === typeof input.group) && (undefined === input.timeout || "number" === typeof input.timeout) && (Array.isArray(input.depends_on) && input.depends_on.every((elem, _index13) => "string" === typeof elem)) && (undefined === input.stop_if_dependent_stops || "boolean" === typeof input.stop_if_dependent_stops) && (1 === Object.keys(input).length || Object.keys(input).every(key => {
205
+ if (["group", "timeout", "depends_on", "stop_if_dependent_stops"].some(prop => key === prop))
206
+ return true;
207
+ const value = input[key];
208
+ if (undefined === value)
209
+ return true;
210
+ return false;
211
+ })); const _iu0 = (input, _exceptionable = true) => (() => {
212
+ if ("http" === input.type)
213
+ return _io5(input, true && _exceptionable);
214
+ else if ("websocket" === input.type)
215
+ return _io7(input, true && _exceptionable);
216
+ else
217
+ return false;
218
+ })(); const _iu1 = (input, _exceptionable = true) => (() => {
219
+ if (undefined !== input.__spread__)
220
+ return _io3(input, true && _exceptionable);
221
+ else if (undefined !== input.port)
222
+ return _io4(input, true && _exceptionable);
223
+ else
224
+ return false;
225
+ })(); const _iu2 = (input, _exceptionable = true) => (() => {
226
+ if (undefined !== input.__spread__)
227
+ return _io3(input, true && _exceptionable);
228
+ else if (undefined !== input.bucket)
229
+ return _io12(input, true && _exceptionable);
230
+ else if (undefined !== input.buckets)
231
+ return _io13(input, true && _exceptionable);
232
+ else if ("HF" === input.type)
233
+ return _io15(input, true && _exceptionable);
234
+ else if ("Ollama" === input.type)
235
+ return _io16(input, true && _exceptionable);
236
+ else
237
+ return _io10(input, true && _exceptionable);
238
+ })(); const _iu3 = (input, _exceptionable = true) => (() => {
239
+ if (undefined !== input.image)
240
+ return _io1(input, true && _exceptionable);
241
+ else if (undefined !== input.name)
242
+ return _io19(input, true && _exceptionable);
243
+ else
244
+ return false;
245
+ })(); const _iu4 = (input, _exceptionable = true) => (() => {
246
+ if (Array.isArray(input.depends_on) && input.depends_on.every((elem, _index14) => "string" === typeof elem))
247
+ return _io23(input, true && _exceptionable);
248
+ else
249
+ return _io22(input, true && _exceptionable);
250
+ })(); const _vo0 = (input, _path, _exceptionable = true) => ["container/run" === input.type || "container/create-volume" === input.type || _report(_exceptionable, {
251
+ path: _path + ".type",
252
+ expected: "(\"container/create-volume\" | \"container/run\")",
253
+ value: input.type
254
+ }), "string" === typeof input.id && (typeof input.id === "string" && !input.id.includes(" ") || _report(_exceptionable, {
255
+ path: _path + ".id",
256
+ expected: "string & TagBase<__type>",
257
+ value: input.id
258
+ })) || _report(_exceptionable, {
259
+ path: _path + ".id",
260
+ expected: "(string & TagBase<__type>)",
261
+ value: input.id
262
+ }), ("object" === typeof input.args && null !== input.args || _report(_exceptionable, {
263
+ path: _path + ".args",
264
+ expected: "(ContainerCreateVolume | ContainerRun)",
265
+ value: input.args
266
+ })) && _vu3(input.args, _path + ".args", true && _exceptionable) || _report(_exceptionable, {
267
+ path: _path + ".args",
268
+ expected: "(ContainerCreateVolume | ContainerRun)",
269
+ value: input.args
270
+ }), undefined === input.results || ("object" === typeof input.results && null !== input.results && false === Array.isArray(input.results) || _report(_exceptionable, {
271
+ path: _path + ".results",
272
+ expected: "(OperationResults | undefined)",
273
+ value: input.results
274
+ })) && _vo20(input.results, _path + ".results", true && _exceptionable) || _report(_exceptionable, {
275
+ path: _path + ".results",
276
+ expected: "(OperationResults | undefined)",
277
+ value: input.results
278
+ }), undefined === input.execution || ("object" === typeof input.execution && null !== input.execution && false === Array.isArray(input.execution) || _report(_exceptionable, {
279
+ path: _path + ".execution",
280
+ expected: "(undefined | { group?: string | undefined; timeout?: number | undefined; } & { depends_on: string[]; stop_if_dependent_stops?: boolean | undefined; } | { group?: string | undefined; timeout?: number | undefined; } & { depends_on?: undefined; stop_if_dependent_stops?: undefined; })",
281
+ value: input.execution
282
+ })) && _vu4(input.execution, _path + ".execution", true && _exceptionable) || _report(_exceptionable, {
283
+ path: _path + ".execution",
284
+ expected: "(undefined | { group?: string | undefined; timeout?: number | undefined; } & { depends_on: string[]; stop_if_dependent_stops?: boolean | undefined; } | { group?: string | undefined; timeout?: number | undefined; } & { depends_on?: undefined; stop_if_dependent_stops?: undefined; })",
285
+ value: input.execution
286
+ }), 3 === Object.keys(input).length || (false === _exceptionable || Object.keys(input).map(key => {
287
+ if (["type", "id", "args", "results", "execution"].some(prop => key === prop))
288
+ return true;
289
+ const value = input[key];
290
+ if (undefined === value)
291
+ return true;
292
+ return _report(_exceptionable, {
293
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
294
+ expected: "undefined",
295
+ value: value,
296
+ description: [
297
+ `The property \`${key}\` is not defined in the object type.`,
298
+ "",
299
+ "Please remove the property next time."
300
+ ].join("\n")
301
+ });
302
+ }).every(flag => flag))].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => ["string" === typeof input.image || _report(_exceptionable, {
303
+ path: _path + ".image",
304
+ expected: "string",
305
+ value: input.image
306
+ }), (null !== input.aliases || _report(_exceptionable, {
307
+ path: _path + ".aliases",
308
+ expected: "(Aliases | string | undefined)",
309
+ value: input.aliases
310
+ })) && (undefined === input.aliases || "string" === typeof input.aliases || (Array.isArray(input.aliases) || _report(_exceptionable, {
311
+ path: _path + ".aliases",
312
+ expected: "(Aliases | string | undefined)",
313
+ value: input.aliases
314
+ })) && input.aliases.map((elem, _index15) => "string" === typeof elem || _report(_exceptionable, {
315
+ path: _path + ".aliases[" + _index15 + "]",
316
+ expected: "string",
317
+ value: elem
318
+ })).every(flag => flag) || _report(_exceptionable, {
319
+ path: _path + ".aliases",
320
+ expected: "(Aliases | string | undefined)",
321
+ value: input.aliases
322
+ })), (null !== input.cmd || _report(_exceptionable, {
323
+ path: _path + ".cmd",
324
+ expected: "(CMDArray | string | undefined)",
325
+ value: input.cmd
326
+ })) && (undefined === input.cmd || "string" === typeof input.cmd || (Array.isArray(input.cmd) || _report(_exceptionable, {
327
+ path: _path + ".cmd",
328
+ expected: "(CMDArray | string | undefined)",
329
+ value: input.cmd
330
+ })) && input.cmd.map((elem, _index16) => "string" === typeof elem || _report(_exceptionable, {
331
+ path: _path + ".cmd[" + _index16 + "]",
332
+ expected: "string",
333
+ value: elem
334
+ })).every(flag => flag) || _report(_exceptionable, {
335
+ path: _path + ".cmd",
336
+ expected: "(CMDArray | string | undefined)",
337
+ value: input.cmd
338
+ })), undefined === input.volumes || (Array.isArray(input.volumes) || _report(_exceptionable, {
339
+ path: _path + ".volumes",
340
+ expected: "(Array<Volume> | undefined)",
341
+ value: input.volumes
342
+ })) && input.volumes.map((elem, _index17) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
343
+ path: _path + ".volumes[" + _index17 + "]",
344
+ expected: "Volume",
345
+ value: elem
346
+ })) && _vo2(elem, _path + ".volumes[" + _index17 + "]", true && _exceptionable) || _report(_exceptionable, {
347
+ path: _path + ".volumes[" + _index17 + "]",
348
+ expected: "Volume",
349
+ value: elem
350
+ })).every(flag => flag) || _report(_exceptionable, {
351
+ path: _path + ".volumes",
352
+ expected: "(Array<Volume> | undefined)",
353
+ value: input.volumes
354
+ }), (null !== input.expose || _report(_exceptionable, {
355
+ path: _path + ".expose",
356
+ expected: "((Array<ExposeBase> & TagBase<__type>) | (__type & TagBase<__type>) | (string & TagBase<__type>) | ExposedPort | number | undefined)",
357
+ value: input.expose
358
+ })) && (undefined === input.expose || "number" === typeof input.expose || "string" === typeof input.expose && (typeof input.expose === "string" && /^%%(ops|global).[^%]+%%$/.test(input.expose) || _report(_exceptionable, {
359
+ path: _path + ".expose",
360
+ expected: "string & TagBase<__type>",
361
+ value: input.expose
362
+ })) || (Array.isArray(input.expose) && (((() => {
363
+ if (!Array.isArray(input.expose))
364
+ return true;
365
+ const numbers = new Set();
366
+ const ranges = [];
367
+ for (const el of input.expose) {
368
+ if (typeof el === "string" && /^%%(ops|global).[^%]+%%$/.test(el))
369
+ continue;
370
+ if (el && typeof el === "object" && !Array.isArray(el) && el.__spread__)
371
+ continue;
372
+ const port = typeof el === "object" ? el.port : el;
373
+ if (typeof port === "number") {
374
+ if (numbers.has(port))
375
+ return false;
376
+ numbers.add(port);
377
+ }
378
+ else if (typeof port === "string") {
379
+ const match = /^([0-9]+)-([0-9]+)$/.exec(port);
380
+ if (!match)
381
+ return false;
382
+ const start = Number(match[1]), end = Number(match[2]);
383
+ for (const [rStart, rEnd] of ranges) {
384
+ if (start <= rEnd && end >= rStart)
385
+ return false;
386
+ }
387
+ ranges.push([start, end]);
388
+ }
389
+ }
390
+ for (const port of numbers) {
391
+ for (const [start, end] of ranges) {
392
+ if (port >= start && port <= end)
393
+ return false;
394
+ }
395
+ }
396
+ return true;
397
+ })() || _report(_exceptionable, {
398
+ path: _path + ".expose",
399
+ expected: "Array<> & TagBase<__type>",
400
+ value: input.expose
401
+ })) && input.expose.map((elem, _index18) => (null !== elem || _report(_exceptionable, {
402
+ path: _path + ".expose[" + _index18 + "]",
403
+ expected: "((__type & TagBase<__type>) | (string & TagBase<__type>) | ExposedPort | number)",
404
+ value: elem
405
+ })) && (undefined !== elem || _report(_exceptionable, {
406
+ path: _path + ".expose[" + _index18 + "]",
407
+ expected: "((__type & TagBase<__type>) | (string & TagBase<__type>) | ExposedPort | number)",
408
+ value: elem
409
+ })) && ("number" === typeof elem || "string" === typeof elem && (typeof elem === "string" && /^%%(ops|global).[^%]+%%$/.test(elem) || _report(_exceptionable, {
410
+ path: _path + ".expose[" + _index18 + "]",
411
+ expected: "string & TagBase<__type>",
412
+ value: elem
413
+ })) || ("object" === typeof elem && null !== elem || _report(_exceptionable, {
414
+ path: _path + ".expose[" + _index18 + "]",
415
+ expected: "((__type & TagBase<__type>) | (string & TagBase<__type>) | ExposedPort | number)",
416
+ value: elem
417
+ })) && _vu1(elem, _path + ".expose[" + _index18 + "]", true && _exceptionable) || _report(_exceptionable, {
418
+ path: _path + ".expose[" + _index18 + "]",
419
+ expected: "((__type & TagBase<__type>) | (string & TagBase<__type>) | ExposedPort | number)",
420
+ value: elem
421
+ }))).every(flag => flag)) || "object" === typeof input.expose && null !== input.expose && _vu1(input.expose, _path + ".expose", true && _exceptionable) || _report(_exceptionable, {
422
+ path: _path + ".expose",
423
+ expected: "((Array<ExposeBase> & TagBase<__type>) | (__type & TagBase<__type>) | (string & TagBase<__type>) | ExposedPort | number | undefined)",
424
+ value: input.expose
425
+ })) || _report(_exceptionable, {
426
+ path: _path + ".expose",
427
+ expected: "((Array<ExposeBase> & TagBase<__type>) | (__type & TagBase<__type>) | (string & TagBase<__type>) | ExposedPort | number | undefined)",
428
+ value: input.expose
429
+ })), undefined === input.gpu || "boolean" === typeof input.gpu || _report(_exceptionable, {
430
+ path: _path + ".gpu",
431
+ expected: "(boolean | undefined)",
432
+ value: input.gpu
433
+ }), undefined === input.work_dir || "string" === typeof input.work_dir || _report(_exceptionable, {
434
+ path: _path + ".work_dir",
435
+ expected: "(string | undefined)",
436
+ value: input.work_dir
437
+ }), (null !== input.entrypoint || _report(_exceptionable, {
438
+ path: _path + ".entrypoint",
439
+ expected: "(CMDArray | string | undefined)",
440
+ value: input.entrypoint
441
+ })) && (undefined === input.entrypoint || "string" === typeof input.entrypoint || (Array.isArray(input.entrypoint) || _report(_exceptionable, {
442
+ path: _path + ".entrypoint",
443
+ expected: "(CMDArray | string | undefined)",
444
+ value: input.entrypoint
445
+ })) && input.entrypoint.map((elem, _index19) => "string" === typeof elem || _report(_exceptionable, {
446
+ path: _path + ".entrypoint[" + _index19 + "]",
447
+ expected: "string",
448
+ value: elem
449
+ })).every(flag => flag) || _report(_exceptionable, {
450
+ path: _path + ".entrypoint",
451
+ expected: "(CMDArray | string | undefined)",
452
+ value: input.entrypoint
453
+ })), undefined === input.env || ("object" === typeof input.env && null !== input.env && false === Array.isArray(input.env) || _report(_exceptionable, {
454
+ path: _path + ".env",
455
+ expected: "(Env | undefined)",
456
+ value: input.env
457
+ })) && _vo8(input.env, _path + ".env", true && _exceptionable) || _report(_exceptionable, {
458
+ path: _path + ".env",
459
+ expected: "(Env | undefined)",
460
+ value: input.env
461
+ }), (null !== input.restart_policy || _report(_exceptionable, {
462
+ path: _path + ".restart_policy",
463
+ expected: "(\"always\" | \"no\" | \"on-failure\" | \"unless-stopped\" | __type.o4 | undefined)",
464
+ value: input.restart_policy
465
+ })) && (undefined === input.restart_policy || "on-failure" === input.restart_policy || "no" === input.restart_policy || "always" === input.restart_policy || "unless-stopped" === input.restart_policy || ("object" === typeof input.restart_policy && null !== input.restart_policy || _report(_exceptionable, {
466
+ path: _path + ".restart_policy",
467
+ expected: "(\"always\" | \"no\" | \"on-failure\" | \"unless-stopped\" | __type.o4 | undefined)",
468
+ value: input.restart_policy
469
+ })) && _vo9(input.restart_policy, _path + ".restart_policy", true && _exceptionable) || _report(_exceptionable, {
470
+ path: _path + ".restart_policy",
471
+ expected: "(\"always\" | \"no\" | \"on-failure\" | \"unless-stopped\" | __type.o4 | undefined)",
472
+ value: input.restart_policy
473
+ })), undefined === input["private"] || "boolean" === typeof input["private"] || _report(_exceptionable, {
474
+ path: _path + "[\"private\"]",
475
+ expected: "(boolean | undefined)",
476
+ value: input["private"]
477
+ }), undefined === input.resources || (Array.isArray(input.resources) || _report(_exceptionable, {
478
+ path: _path + ".resources",
479
+ expected: "(Resources | undefined)",
480
+ value: input.resources
481
+ })) && input.resources.map((elem, _index20) => (null !== elem || _report(_exceptionable, {
482
+ path: _path + ".resources[" + _index20 + "]",
483
+ expected: "(\"__remove-if-empty__\" | (__type & TagBase<__type>) | HFResource | OllamaResource | S3Base | S3WithBucket | S3WithBuckets)",
484
+ value: elem
485
+ })) && (undefined !== elem || _report(_exceptionable, {
486
+ path: _path + ".resources[" + _index20 + "]",
487
+ expected: "(\"__remove-if-empty__\" | (__type & TagBase<__type>) | HFResource | OllamaResource | S3Base | S3WithBucket | S3WithBuckets)",
488
+ value: elem
489
+ })) && ("__remove-if-empty__" === elem || ("object" === typeof elem && null !== elem || _report(_exceptionable, {
490
+ path: _path + ".resources[" + _index20 + "]",
491
+ expected: "(\"__remove-if-empty__\" | (__type & TagBase<__type>) | HFResource | OllamaResource | S3Base | S3WithBucket | S3WithBuckets)",
492
+ value: elem
493
+ })) && _vu2(elem, _path + ".resources[" + _index20 + "]", true && _exceptionable) || _report(_exceptionable, {
494
+ path: _path + ".resources[" + _index20 + "]",
495
+ expected: "(\"__remove-if-empty__\" | (__type & TagBase<__type>) | HFResource | OllamaResource | S3Base | S3WithBucket | S3WithBuckets)",
496
+ value: elem
497
+ }))).every(flag => flag) || _report(_exceptionable, {
498
+ path: _path + ".resources",
499
+ expected: "(Resources | undefined)",
500
+ value: input.resources
501
+ }), undefined === input.authentication || ("object" === typeof input.authentication && null !== input.authentication && false === Array.isArray(input.authentication) || _report(_exceptionable, {
502
+ path: _path + ".authentication",
503
+ expected: "(Authentication | undefined)",
504
+ value: input.authentication
505
+ })) && _vo17(input.authentication, _path + ".authentication", true && _exceptionable) || _report(_exceptionable, {
506
+ path: _path + ".authentication",
507
+ expected: "(Authentication | undefined)",
508
+ value: input.authentication
509
+ }), 1 === Object.keys(input).length || (false === _exceptionable || Object.keys(input).map(key => {
510
+ if (["image", "aliases", "cmd", "volumes", "expose", "gpu", "work_dir", "entrypoint", "env", "restart_policy", "private", "resources", "authentication"].some(prop => key === prop))
511
+ return true;
512
+ const value = input[key];
513
+ if (undefined === value)
514
+ return true;
515
+ return _report(_exceptionable, {
516
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
517
+ expected: "undefined",
518
+ value: value,
519
+ description: [
520
+ `The property \`${key}\` is not defined in the object type.`,
521
+ "",
522
+ "Please remove the property next time."
523
+ ].join("\n")
524
+ });
525
+ }).every(flag => flag))].every(flag => flag); const _vo2 = (input, _path, _exceptionable = true) => ["string" === typeof input.name || _report(_exceptionable, {
526
+ path: _path + ".name",
527
+ expected: "string",
528
+ value: input.name
529
+ }), "string" === typeof input.dest || _report(_exceptionable, {
530
+ path: _path + ".dest",
531
+ expected: "string",
532
+ value: input.dest
533
+ }), 2 === Object.keys(input).length || (false === _exceptionable || Object.keys(input).map(key => {
534
+ if (["name", "dest"].some(prop => key === prop))
535
+ return true;
536
+ const value = input[key];
537
+ if (undefined === value)
538
+ return true;
539
+ return _report(_exceptionable, {
540
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
541
+ expected: "undefined",
542
+ value: value,
543
+ description: [
544
+ `The property \`${key}\` is not defined in the object type.`,
545
+ "",
546
+ "Please remove the property next time."
547
+ ].join("\n")
548
+ });
549
+ }).every(flag => flag))].every(flag => flag); const _vo3 = (input, _path, _exceptionable = true) => ["string" === typeof input.__spread__ && (typeof input.__spread__ === "string" && /^%%(ops|global).[^%]+%%$/.test(input.__spread__) || _report(_exceptionable, {
550
+ path: _path + ".__spread__",
551
+ expected: "string & TagBase<__type>",
552
+ value: input.__spread__
553
+ })) || _report(_exceptionable, {
554
+ path: _path + ".__spread__",
555
+ expected: "(string & TagBase<__type>)",
556
+ value: input.__spread__
557
+ }), undefined === input.chunked || "boolean" === typeof input.chunked || _report(_exceptionable, {
558
+ path: _path + ".chunked",
559
+ expected: "(boolean | undefined)",
560
+ value: input.chunked
561
+ }), 1 === Object.keys(input).length || (false === _exceptionable || Object.keys(input).map(key => {
562
+ if (["__spread__", "chunked"].some(prop => key === prop))
563
+ return true;
564
+ const value = input[key];
565
+ if (undefined === value)
566
+ return true;
567
+ return _report(_exceptionable, {
568
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
569
+ expected: "undefined",
570
+ value: value,
571
+ description: [
572
+ `The property \`${key}\` is not defined in the object type.`,
573
+ "",
574
+ "Please remove the property next time."
575
+ ].join("\n")
576
+ });
577
+ }).every(flag => flag))].every(flag => flag); const _vo4 = (input, _path, _exceptionable = true) => ["number" === typeof input.port || _report(_exceptionable, {
578
+ path: _path + ".port",
579
+ expected: "number",
580
+ value: input.port
581
+ }), undefined === input.type || "api" === input.type || "web" === input.type || "websocket" === input.type || "webapi" === input.type || "none" === input.type || _report(_exceptionable, {
582
+ path: _path + ".type",
583
+ expected: "(\"api\" | \"none\" | \"web\" | \"webapi\" | \"websocket\" | undefined)",
584
+ value: input.type
585
+ }), undefined === input.health_checks || (Array.isArray(input.health_checks) || _report(_exceptionable, {
586
+ path: _path + ".health_checks",
587
+ expected: "(Array<HealthCheck> | undefined)",
588
+ value: input.health_checks
589
+ })) && input.health_checks.map((elem, _index21) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
590
+ path: _path + ".health_checks[" + _index21 + "]",
591
+ expected: "(HttpHealthCheck | WebSocketHealthCheck)",
592
+ value: elem
593
+ })) && _vu0(elem, _path + ".health_checks[" + _index21 + "]", true && _exceptionable) || _report(_exceptionable, {
594
+ path: _path + ".health_checks[" + _index21 + "]",
595
+ expected: "(HttpHealthCheck | WebSocketHealthCheck)",
596
+ value: elem
597
+ })).every(flag => flag) || _report(_exceptionable, {
598
+ path: _path + ".health_checks",
599
+ expected: "(Array<HealthCheck> | undefined)",
600
+ value: input.health_checks
601
+ }), 1 === Object.keys(input).length || (false === _exceptionable || Object.keys(input).map(key => {
602
+ if (["port", "type", "health_checks"].some(prop => key === prop))
603
+ return true;
604
+ const value = input[key];
605
+ if (undefined === value)
606
+ return true;
607
+ return _report(_exceptionable, {
608
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
609
+ expected: "undefined",
610
+ value: value,
611
+ description: [
612
+ `The property \`${key}\` is not defined in the object type.`,
613
+ "",
614
+ "Please remove the property next time."
615
+ ].join("\n")
616
+ });
617
+ }).every(flag => flag))].every(flag => flag); const _vo5 = (input, _path, _exceptionable = true) => ["http" === input.type || _report(_exceptionable, {
618
+ path: _path + ".type",
619
+ expected: "\"http\"",
620
+ value: input.type
621
+ }), "string" === typeof input.path || _report(_exceptionable, {
622
+ path: _path + ".path",
623
+ expected: "string",
624
+ value: input.path
625
+ }), "GET" === input.method || "POST" === input.method || "PUT" === input.method || "DELETE" === input.method || _report(_exceptionable, {
626
+ path: _path + ".method",
627
+ expected: "(\"DELETE\" | \"GET\" | \"POST\" | \"PUT\")",
628
+ value: input.method
629
+ }), "number" === typeof input.expected_status || _report(_exceptionable, {
630
+ path: _path + ".expected_status",
631
+ expected: "number",
632
+ value: input.expected_status
633
+ }), undefined === input.headers || ("object" === typeof input.headers && null !== input.headers && false === Array.isArray(input.headers) || _report(_exceptionable, {
634
+ path: _path + ".headers",
635
+ expected: "(Record<string, string> | undefined)",
636
+ value: input.headers
637
+ })) && _vo6(input.headers, _path + ".headers", true && _exceptionable) || _report(_exceptionable, {
638
+ path: _path + ".headers",
639
+ expected: "(Record<string, string> | undefined)",
640
+ value: input.headers
641
+ }), true, "boolean" === typeof input.continuous || _report(_exceptionable, {
642
+ path: _path + ".continuous",
643
+ expected: "boolean",
644
+ value: input.continuous
645
+ }), 5 === Object.keys(input).length || (false === _exceptionable || Object.keys(input).map(key => {
646
+ if (["type", "path", "method", "expected_status", "headers", "body", "continuous"].some(prop => key === prop))
647
+ return true;
648
+ const value = input[key];
649
+ if (undefined === value)
650
+ return true;
651
+ return _report(_exceptionable, {
652
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
653
+ expected: "undefined",
654
+ value: value,
655
+ description: [
656
+ `The property \`${key}\` is not defined in the object type.`,
657
+ "",
658
+ "Please remove the property next time."
659
+ ].join("\n")
660
+ });
661
+ }).every(flag => flag))].every(flag => flag); const _vo6 = (input, _path, _exceptionable = true) => [false === _exceptionable || Object.keys(input).map(key => {
662
+ const value = input[key];
663
+ if (undefined === value)
664
+ return true;
665
+ return "string" === typeof value || _report(_exceptionable, {
666
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
667
+ expected: "string",
668
+ value: value
669
+ });
670
+ }).every(flag => flag)].every(flag => flag); const _vo7 = (input, _path, _exceptionable = true) => ["websocket" === input.type || _report(_exceptionable, {
671
+ path: _path + ".type",
672
+ expected: "\"websocket\"",
673
+ value: input.type
674
+ }), "string" === typeof input.expected_response || _report(_exceptionable, {
675
+ path: _path + ".expected_response",
676
+ expected: "string",
677
+ value: input.expected_response
678
+ }), "boolean" === typeof input.continuous || _report(_exceptionable, {
679
+ path: _path + ".continuous",
680
+ expected: "boolean",
681
+ value: input.continuous
682
+ }), 3 === Object.keys(input).length || (false === _exceptionable || Object.keys(input).map(key => {
683
+ if (["type", "expected_response", "continuous"].some(prop => key === prop))
684
+ return true;
685
+ const value = input[key];
686
+ if (undefined === value)
687
+ return true;
688
+ return _report(_exceptionable, {
689
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
690
+ expected: "undefined",
691
+ value: value,
692
+ description: [
693
+ `The property \`${key}\` is not defined in the object type.`,
694
+ "",
695
+ "Please remove the property next time."
696
+ ].join("\n")
697
+ });
698
+ }).every(flag => flag))].every(flag => flag); const _vo8 = (input, _path, _exceptionable = true) => [false === _exceptionable || Object.keys(input).map(key => {
699
+ const value = input[key];
700
+ if (undefined === value)
701
+ return true;
702
+ return "string" === typeof value || _report(_exceptionable, {
703
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
704
+ expected: "string",
705
+ value: value
706
+ });
707
+ }).every(flag => flag)].every(flag => flag); const _vo9 = (input, _path, _exceptionable = true) => ["on-failure" === input.policy || _report(_exceptionable, {
708
+ path: _path + ".policy",
709
+ expected: "\"on-failure\"",
710
+ value: input.policy
711
+ }), undefined === input.restart_tries || "number" === typeof input.restart_tries || _report(_exceptionable, {
712
+ path: _path + ".restart_tries",
713
+ expected: "(number | undefined)",
714
+ value: input.restart_tries
715
+ }), 1 === Object.keys(input).length || (false === _exceptionable || Object.keys(input).map(key => {
716
+ if (["policy", "restart_tries"].some(prop => key === prop))
717
+ return true;
718
+ const value = input[key];
719
+ if (undefined === value)
720
+ return true;
721
+ return _report(_exceptionable, {
722
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
723
+ expected: "undefined",
724
+ value: value,
725
+ description: [
726
+ `The property \`${key}\` is not defined in the object type.`,
727
+ "",
728
+ "Please remove the property next time."
729
+ ].join("\n")
730
+ });
731
+ }).every(flag => flag))].every(flag => flag); const _vo10 = (input, _path, _exceptionable = true) => ["S3" === input.type || _report(_exceptionable, {
732
+ path: _path + ".type",
733
+ expected: "\"S3\"",
734
+ value: input.type
735
+ }), "string" === typeof input.target || _report(_exceptionable, {
736
+ path: _path + ".target",
737
+ expected: "string",
738
+ value: input.target
739
+ }), undefined === input.url || "string" === typeof input.url || _report(_exceptionable, {
740
+ path: _path + ".url",
741
+ expected: "(string | undefined)",
742
+ value: input.url
743
+ }), undefined === input.allowWrite || "boolean" === typeof input.allowWrite || _report(_exceptionable, {
744
+ path: _path + ".allowWrite",
745
+ expected: "(boolean | undefined)",
746
+ value: input.allowWrite
747
+ }), undefined === input.files || (Array.isArray(input.files) || _report(_exceptionable, {
748
+ path: _path + ".files",
749
+ expected: "(Array<string> | undefined)",
750
+ value: input.files
751
+ })) && input.files.map((elem, _index22) => "string" === typeof elem || _report(_exceptionable, {
752
+ path: _path + ".files[" + _index22 + "]",
753
+ expected: "string",
754
+ value: elem
755
+ })).every(flag => flag) || _report(_exceptionable, {
756
+ path: _path + ".files",
757
+ expected: "(Array<string> | undefined)",
758
+ value: input.files
759
+ }), undefined === input.IAM || ("object" === typeof input.IAM && null !== input.IAM || _report(_exceptionable, {
760
+ path: _path + ".IAM",
761
+ expected: "(S3Auth | undefined)",
762
+ value: input.IAM
763
+ })) && _vo11(input.IAM, _path + ".IAM", true && _exceptionable) || _report(_exceptionable, {
764
+ path: _path + ".IAM",
765
+ expected: "(S3Auth | undefined)",
766
+ value: input.IAM
767
+ }), 2 === Object.keys(input).length || (false === _exceptionable || Object.keys(input).map(key => {
768
+ if (["type", "target", "url", "allowWrite", "files", "IAM"].some(prop => key === prop))
769
+ return true;
770
+ const value = input[key];
771
+ if (undefined === value)
772
+ return true;
773
+ return _report(_exceptionable, {
774
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
775
+ expected: "undefined",
776
+ value: value,
777
+ description: [
778
+ `The property \`${key}\` is not defined in the object type.`,
779
+ "",
780
+ "Please remove the property next time."
781
+ ].join("\n")
782
+ });
783
+ }).every(flag => flag))].every(flag => flag); const _vo11 = (input, _path, _exceptionable = true) => ["string" === typeof input.REGION || _report(_exceptionable, {
784
+ path: _path + ".REGION",
785
+ expected: "string",
786
+ value: input.REGION
787
+ }), "string" === typeof input.ACCESS_KEY_ID || _report(_exceptionable, {
788
+ path: _path + ".ACCESS_KEY_ID",
789
+ expected: "string",
790
+ value: input.ACCESS_KEY_ID
791
+ }), "string" === typeof input.SECRET_ACCESS_KEY || _report(_exceptionable, {
792
+ path: _path + ".SECRET_ACCESS_KEY",
793
+ expected: "string",
794
+ value: input.SECRET_ACCESS_KEY
795
+ }), 3 === Object.keys(input).length || (false === _exceptionable || Object.keys(input).map(key => {
796
+ if (["REGION", "ACCESS_KEY_ID", "SECRET_ACCESS_KEY"].some(prop => key === prop))
797
+ return true;
798
+ const value = input[key];
799
+ if (undefined === value)
800
+ return true;
801
+ return _report(_exceptionable, {
802
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
803
+ expected: "undefined",
804
+ value: value,
805
+ description: [
806
+ `The property \`${key}\` is not defined in the object type.`,
807
+ "",
808
+ "Please remove the property next time."
809
+ ].join("\n")
810
+ });
811
+ }).every(flag => flag))].every(flag => flag); const _vo12 = (input, _path, _exceptionable = true) => ["S3" === input.type || _report(_exceptionable, {
812
+ path: _path + ".type",
813
+ expected: "\"S3\"",
814
+ value: input.type
815
+ }), "string" === typeof input.target || _report(_exceptionable, {
816
+ path: _path + ".target",
817
+ expected: "string",
818
+ value: input.target
819
+ }), "string" === typeof input.bucket || _report(_exceptionable, {
820
+ path: _path + ".bucket",
821
+ expected: "string",
822
+ value: input.bucket
823
+ }), undefined === input.url || "string" === typeof input.url || _report(_exceptionable, {
824
+ path: _path + ".url",
825
+ expected: "(string | undefined)",
826
+ value: input.url
827
+ }), undefined === input.allowWrite || "boolean" === typeof input.allowWrite || _report(_exceptionable, {
828
+ path: _path + ".allowWrite",
829
+ expected: "(boolean | undefined)",
830
+ value: input.allowWrite
831
+ }), undefined === input.IAM || ("object" === typeof input.IAM && null !== input.IAM || _report(_exceptionable, {
832
+ path: _path + ".IAM",
833
+ expected: "(S3Auth | undefined)",
834
+ value: input.IAM
835
+ })) && _vo11(input.IAM, _path + ".IAM", true && _exceptionable) || _report(_exceptionable, {
836
+ path: _path + ".IAM",
837
+ expected: "(S3Auth | undefined)",
838
+ value: input.IAM
839
+ }), 3 === Object.keys(input).length || (false === _exceptionable || Object.keys(input).map(key => {
840
+ if (["type", "target", "bucket", "url", "allowWrite", "IAM"].some(prop => key === prop))
841
+ return true;
842
+ const value = input[key];
843
+ if (undefined === value)
844
+ return true;
845
+ return _report(_exceptionable, {
846
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
847
+ expected: "undefined",
848
+ value: value,
849
+ description: [
850
+ `The property \`${key}\` is not defined in the object type.`,
851
+ "",
852
+ "Please remove the property next time."
853
+ ].join("\n")
854
+ });
855
+ }).every(flag => flag))].every(flag => flag); const _vo13 = (input, _path, _exceptionable = true) => ["S3" === input.type || _report(_exceptionable, {
856
+ path: _path + ".type",
857
+ expected: "\"S3\"",
858
+ value: input.type
859
+ }), "string" === typeof input.target || _report(_exceptionable, {
860
+ path: _path + ".target",
861
+ expected: "string",
862
+ value: input.target
863
+ }), (Array.isArray(input.buckets) || _report(_exceptionable, {
864
+ path: _path + ".buckets",
865
+ expected: "Array<__type>",
866
+ value: input.buckets
867
+ })) && input.buckets.map((elem, _index23) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
868
+ path: _path + ".buckets[" + _index23 + "]",
869
+ expected: "__type.o5",
870
+ value: elem
871
+ })) && _vo14(elem, _path + ".buckets[" + _index23 + "]", true && _exceptionable) || _report(_exceptionable, {
872
+ path: _path + ".buckets[" + _index23 + "]",
873
+ expected: "__type.o5",
874
+ value: elem
875
+ })).every(flag => flag) || _report(_exceptionable, {
876
+ path: _path + ".buckets",
877
+ expected: "Array<__type>",
878
+ value: input.buckets
879
+ }), undefined === input.url || "string" === typeof input.url || _report(_exceptionable, {
880
+ path: _path + ".url",
881
+ expected: "(string | undefined)",
882
+ value: input.url
883
+ }), undefined === input.allowWrite || "boolean" === typeof input.allowWrite || _report(_exceptionable, {
884
+ path: _path + ".allowWrite",
885
+ expected: "(boolean | undefined)",
886
+ value: input.allowWrite
887
+ }), undefined === input.IAM || ("object" === typeof input.IAM && null !== input.IAM || _report(_exceptionable, {
888
+ path: _path + ".IAM",
889
+ expected: "(S3Auth | undefined)",
890
+ value: input.IAM
891
+ })) && _vo11(input.IAM, _path + ".IAM", true && _exceptionable) || _report(_exceptionable, {
892
+ path: _path + ".IAM",
893
+ expected: "(S3Auth | undefined)",
894
+ value: input.IAM
895
+ }), 3 === Object.keys(input).length || (false === _exceptionable || Object.keys(input).map(key => {
896
+ if (["type", "target", "buckets", "url", "allowWrite", "IAM"].some(prop => key === prop))
897
+ return true;
898
+ const value = input[key];
899
+ if (undefined === value)
900
+ return true;
901
+ return _report(_exceptionable, {
902
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
903
+ expected: "undefined",
904
+ value: value,
905
+ description: [
906
+ `The property \`${key}\` is not defined in the object type.`,
907
+ "",
908
+ "Please remove the property next time."
909
+ ].join("\n")
910
+ });
911
+ }).every(flag => flag))].every(flag => flag); const _vo14 = (input, _path, _exceptionable = true) => ["string" === typeof input.url || _report(_exceptionable, {
912
+ path: _path + ".url",
913
+ expected: "string",
914
+ value: input.url
915
+ }), undefined === input.files || (Array.isArray(input.files) || _report(_exceptionable, {
916
+ path: _path + ".files",
917
+ expected: "(Array<string> | undefined)",
918
+ value: input.files
919
+ })) && input.files.map((elem, _index24) => "string" === typeof elem || _report(_exceptionable, {
920
+ path: _path + ".files[" + _index24 + "]",
921
+ expected: "string",
922
+ value: elem
923
+ })).every(flag => flag) || _report(_exceptionable, {
924
+ path: _path + ".files",
925
+ expected: "(Array<string> | undefined)",
926
+ value: input.files
927
+ }), 1 === Object.keys(input).length || (false === _exceptionable || Object.keys(input).map(key => {
928
+ if (["url", "files"].some(prop => key === prop))
929
+ return true;
930
+ const value = input[key];
931
+ if (undefined === value)
932
+ return true;
933
+ return _report(_exceptionable, {
934
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
935
+ expected: "undefined",
936
+ value: value,
937
+ description: [
938
+ `The property \`${key}\` is not defined in the object type.`,
939
+ "",
940
+ "Please remove the property next time."
941
+ ].join("\n")
942
+ });
943
+ }).every(flag => flag))].every(flag => flag); const _vo15 = (input, _path, _exceptionable = true) => ["HF" === input.type || _report(_exceptionable, {
944
+ path: _path + ".type",
945
+ expected: "\"HF\"",
946
+ value: input.type
947
+ }), "string" === typeof input.target || _report(_exceptionable, {
948
+ path: _path + ".target",
949
+ expected: "string",
950
+ value: input.target
951
+ }), "string" === typeof input.repo || _report(_exceptionable, {
952
+ path: _path + ".repo",
953
+ expected: "string",
954
+ value: input.repo
955
+ }), undefined === input.revision || "string" === typeof input.revision || _report(_exceptionable, {
956
+ path: _path + ".revision",
957
+ expected: "(string | undefined)",
958
+ value: input.revision
959
+ }), undefined === input.files || (Array.isArray(input.files) || _report(_exceptionable, {
960
+ path: _path + ".files",
961
+ expected: "(Array<string> | undefined)",
962
+ value: input.files
963
+ })) && input.files.map((elem, _index25) => "string" === typeof elem || _report(_exceptionable, {
964
+ path: _path + ".files[" + _index25 + "]",
965
+ expected: "string",
966
+ value: elem
967
+ })).every(flag => flag) || _report(_exceptionable, {
968
+ path: _path + ".files",
969
+ expected: "(Array<string> | undefined)",
970
+ value: input.files
971
+ }), undefined === input.accessToken || "string" === typeof input.accessToken || _report(_exceptionable, {
972
+ path: _path + ".accessToken",
973
+ expected: "(string | undefined)",
974
+ value: input.accessToken
975
+ }), 3 === Object.keys(input).length || (false === _exceptionable || Object.keys(input).map(key => {
976
+ if (["type", "target", "repo", "revision", "files", "accessToken"].some(prop => key === prop))
977
+ return true;
978
+ const value = input[key];
979
+ if (undefined === value)
980
+ return true;
981
+ return _report(_exceptionable, {
982
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
983
+ expected: "undefined",
984
+ value: value,
985
+ description: [
986
+ `The property \`${key}\` is not defined in the object type.`,
987
+ "",
988
+ "Please remove the property next time."
989
+ ].join("\n")
990
+ });
991
+ }).every(flag => flag))].every(flag => flag); const _vo16 = (input, _path, _exceptionable = true) => ["Ollama" === input.type || _report(_exceptionable, {
992
+ path: _path + ".type",
993
+ expected: "\"Ollama\"",
994
+ value: input.type
995
+ }), "string" === typeof input.model || _report(_exceptionable, {
996
+ path: _path + ".model",
997
+ expected: "string",
998
+ value: input.model
999
+ }), undefined === input.target || "string" === typeof input.target || _report(_exceptionable, {
1000
+ path: _path + ".target",
1001
+ expected: "(string | undefined)",
1002
+ value: input.target
1003
+ }), 2 === Object.keys(input).length || (false === _exceptionable || Object.keys(input).map(key => {
1004
+ if (["type", "model", "target"].some(prop => key === prop))
1005
+ return true;
1006
+ const value = input[key];
1007
+ if (undefined === value)
1008
+ return true;
1009
+ return _report(_exceptionable, {
1010
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
1011
+ expected: "undefined",
1012
+ value: value,
1013
+ description: [
1014
+ `The property \`${key}\` is not defined in the object type.`,
1015
+ "",
1016
+ "Please remove the property next time."
1017
+ ].join("\n")
1018
+ });
1019
+ }).every(flag => flag))].every(flag => flag); const _vo17 = (input, _path, _exceptionable = true) => [undefined === input.docker || ("object" === typeof input.docker && null !== input.docker && false === Array.isArray(input.docker) || _report(_exceptionable, {
1020
+ path: _path + ".docker",
1021
+ expected: "(DockerAuth | undefined)",
1022
+ value: input.docker
1023
+ })) && _vo18(input.docker, _path + ".docker", true && _exceptionable) || _report(_exceptionable, {
1024
+ path: _path + ".docker",
1025
+ expected: "(DockerAuth | undefined)",
1026
+ value: input.docker
1027
+ }), 0 === Object.keys(input).length || (false === _exceptionable || Object.keys(input).map(key => {
1028
+ if (["docker"].some(prop => key === prop))
1029
+ return true;
1030
+ const value = input[key];
1031
+ if (undefined === value)
1032
+ return true;
1033
+ return _report(_exceptionable, {
1034
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
1035
+ expected: "undefined",
1036
+ value: value,
1037
+ description: [
1038
+ `The property \`${key}\` is not defined in the object type.`,
1039
+ "",
1040
+ "Please remove the property next time."
1041
+ ].join("\n")
1042
+ });
1043
+ }).every(flag => flag))].every(flag => flag); const _vo18 = (input, _path, _exceptionable = true) => [undefined === input.username || "string" === typeof input.username || _report(_exceptionable, {
1044
+ path: _path + ".username",
1045
+ expected: "(string | undefined)",
1046
+ value: input.username
1047
+ }), undefined === input.password || "string" === typeof input.password || _report(_exceptionable, {
1048
+ path: _path + ".password",
1049
+ expected: "(string | undefined)",
1050
+ value: input.password
1051
+ }), undefined === input.email || "string" === typeof input.email || _report(_exceptionable, {
1052
+ path: _path + ".email",
1053
+ expected: "(string | undefined)",
1054
+ value: input.email
1055
+ }), undefined === input.server || "string" === typeof input.server || _report(_exceptionable, {
1056
+ path: _path + ".server",
1057
+ expected: "(string | undefined)",
1058
+ value: input.server
1059
+ }), 0 === Object.keys(input).length || (false === _exceptionable || Object.keys(input).map(key => {
1060
+ if (["username", "password", "email", "server"].some(prop => key === prop))
1061
+ return true;
1062
+ const value = input[key];
1063
+ if (undefined === value)
1064
+ return true;
1065
+ return _report(_exceptionable, {
1066
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
1067
+ expected: "undefined",
1068
+ value: value,
1069
+ description: [
1070
+ `The property \`${key}\` is not defined in the object type.`,
1071
+ "",
1072
+ "Please remove the property next time."
1073
+ ].join("\n")
1074
+ });
1075
+ }).every(flag => flag))].every(flag => flag); const _vo19 = (input, _path, _exceptionable = true) => ["string" === typeof input.name || _report(_exceptionable, {
1076
+ path: _path + ".name",
1077
+ expected: "string",
1078
+ value: input.name
1079
+ }), 1 === Object.keys(input).length || (false === _exceptionable || Object.keys(input).map(key => {
1080
+ if (["name"].some(prop => key === prop))
1081
+ return true;
1082
+ const value = input[key];
1083
+ if (undefined === value)
1084
+ return true;
1085
+ return _report(_exceptionable, {
1086
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
1087
+ expected: "undefined",
1088
+ value: value,
1089
+ description: [
1090
+ `The property \`${key}\` is not defined in the object type.`,
1091
+ "",
1092
+ "Please remove the property next time."
1093
+ ].join("\n")
1094
+ });
1095
+ }).every(flag => flag))].every(flag => flag); const _vo20 = (input, _path, _exceptionable = true) => [false === _exceptionable || Object.keys(input).map(key => {
1096
+ const value = input[key];
1097
+ if (undefined === value)
1098
+ return true;
1099
+ return (null !== value || _report(_exceptionable, {
1100
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
1101
+ expected: "(OperationResult | string)",
1102
+ value: value
1103
+ })) && (undefined !== value || _report(_exceptionable, {
1104
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
1105
+ expected: "(OperationResult | string)",
1106
+ value: value
1107
+ })) && ("string" === typeof value || ("object" === typeof value && null !== value || _report(_exceptionable, {
1108
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
1109
+ expected: "(OperationResult | string)",
1110
+ value: value
1111
+ })) && _vo21(value, _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key), true && _exceptionable) || _report(_exceptionable, {
1112
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
1113
+ expected: "(OperationResult | string)",
1114
+ value: value
1115
+ }));
1116
+ }).every(flag => flag)].every(flag => flag); const _vo21 = (input, _path, _exceptionable = true) => ["string" === typeof input.regex || _report(_exceptionable, {
1117
+ path: _path + ".regex",
1118
+ expected: "string",
1119
+ value: input.regex
1120
+ }), (Array.isArray(input.logType) || _report(_exceptionable, {
1121
+ path: _path + ".logType",
1122
+ expected: "(Array<StdOption> & UniqueLogTypeTag)",
1123
+ value: input.logType
1124
+ })) && ((Array.isArray(input.logType) && input.logType.length >= 1 && input.logType.length <= 4 && (() => {
1125
+ const seen = new Set();
1126
+ for (const v of input.logType) {
1127
+ if (seen.has(v))
1128
+ return false;
1129
+ seen.add(v);
1130
+ }
1131
+ return true;
1132
+ })() || _report(_exceptionable, {
1133
+ path: _path + ".logType",
1134
+ expected: "Array<> & UniqueLogTypeTag",
1135
+ value: input.logType
1136
+ })) && input.logType.map((elem, _index26) => "stdin" === elem || "stdout" === elem || "stderr" === elem || "nodeerr" === elem || _report(_exceptionable, {
1137
+ path: _path + ".logType[" + _index26 + "]",
1138
+ expected: "(\"nodeerr\" | \"stderr\" | \"stdin\" | \"stdout\")",
1139
+ value: elem
1140
+ })).every(flag => flag)) || _report(_exceptionable, {
1141
+ path: _path + ".logType",
1142
+ expected: "(Array<StdOption> & UniqueLogTypeTag)",
1143
+ value: input.logType
1144
+ }), 2 === Object.keys(input).length || (false === _exceptionable || Object.keys(input).map(key => {
1145
+ if (["regex", "logType"].some(prop => key === prop))
1146
+ return true;
1147
+ const value = input[key];
1148
+ if (undefined === value)
1149
+ return true;
1150
+ return _report(_exceptionable, {
1151
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
1152
+ expected: "undefined",
1153
+ value: value,
1154
+ description: [
1155
+ `The property \`${key}\` is not defined in the object type.`,
1156
+ "",
1157
+ "Please remove the property next time."
1158
+ ].join("\n")
1159
+ });
1160
+ }).every(flag => flag))].every(flag => flag); const _vo22 = (input, _path, _exceptionable = true) => [undefined === input.group || "string" === typeof input.group || _report(_exceptionable, {
1161
+ path: _path + ".group",
1162
+ expected: "(string | undefined)",
1163
+ value: input.group
1164
+ }), undefined === input.timeout || "number" === typeof input.timeout || _report(_exceptionable, {
1165
+ path: _path + ".timeout",
1166
+ expected: "(number | undefined)",
1167
+ value: input.timeout
1168
+ }), (null !== input.depends_on || _report(_exceptionable, {
1169
+ path: _path + ".depends_on",
1170
+ expected: "undefined",
1171
+ value: input.depends_on
1172
+ })) && (undefined === input.depends_on || _report(_exceptionable, {
1173
+ path: _path + ".depends_on",
1174
+ expected: "undefined",
1175
+ value: input.depends_on
1176
+ })), (null !== input.stop_if_dependent_stops || _report(_exceptionable, {
1177
+ path: _path + ".stop_if_dependent_stops",
1178
+ expected: "undefined",
1179
+ value: input.stop_if_dependent_stops
1180
+ })) && (undefined === input.stop_if_dependent_stops || _report(_exceptionable, {
1181
+ path: _path + ".stop_if_dependent_stops",
1182
+ expected: "undefined",
1183
+ value: input.stop_if_dependent_stops
1184
+ })), 0 === Object.keys(input).length || (false === _exceptionable || Object.keys(input).map(key => {
1185
+ if (["group", "timeout", "depends_on", "stop_if_dependent_stops"].some(prop => key === prop))
1186
+ return true;
1187
+ const value = input[key];
1188
+ if (undefined === value)
1189
+ return true;
1190
+ return _report(_exceptionable, {
1191
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
1192
+ expected: "undefined",
1193
+ value: value,
1194
+ description: [
1195
+ `The property \`${key}\` is not defined in the object type.`,
1196
+ "",
1197
+ "Please remove the property next time."
1198
+ ].join("\n")
1199
+ });
1200
+ }).every(flag => flag))].every(flag => flag); const _vo23 = (input, _path, _exceptionable = true) => [undefined === input.group || "string" === typeof input.group || _report(_exceptionable, {
1201
+ path: _path + ".group",
1202
+ expected: "(string | undefined)",
1203
+ value: input.group
1204
+ }), undefined === input.timeout || "number" === typeof input.timeout || _report(_exceptionable, {
1205
+ path: _path + ".timeout",
1206
+ expected: "(number | undefined)",
1207
+ value: input.timeout
1208
+ }), (Array.isArray(input.depends_on) || _report(_exceptionable, {
1209
+ path: _path + ".depends_on",
1210
+ expected: "Array<string>",
1211
+ value: input.depends_on
1212
+ })) && input.depends_on.map((elem, _index27) => "string" === typeof elem || _report(_exceptionable, {
1213
+ path: _path + ".depends_on[" + _index27 + "]",
1214
+ expected: "string",
1215
+ value: elem
1216
+ })).every(flag => flag) || _report(_exceptionable, {
1217
+ path: _path + ".depends_on",
1218
+ expected: "Array<string>",
1219
+ value: input.depends_on
1220
+ }), undefined === input.stop_if_dependent_stops || "boolean" === typeof input.stop_if_dependent_stops || _report(_exceptionable, {
1221
+ path: _path + ".stop_if_dependent_stops",
1222
+ expected: "(boolean | undefined)",
1223
+ value: input.stop_if_dependent_stops
1224
+ }), 1 === Object.keys(input).length || (false === _exceptionable || Object.keys(input).map(key => {
1225
+ if (["group", "timeout", "depends_on", "stop_if_dependent_stops"].some(prop => key === prop))
1226
+ return true;
1227
+ const value = input[key];
1228
+ if (undefined === value)
1229
+ return true;
1230
+ return _report(_exceptionable, {
1231
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
1232
+ expected: "undefined",
1233
+ value: value,
1234
+ description: [
1235
+ `The property \`${key}\` is not defined in the object type.`,
1236
+ "",
1237
+ "Please remove the property next time."
1238
+ ].join("\n")
1239
+ });
1240
+ }).every(flag => flag))].every(flag => flag); const _vu0 = (input, _path, _exceptionable = true) => (() => {
1241
+ if ("http" === input.type)
1242
+ return _vo5(input, _path, true && _exceptionable);
1243
+ else if ("websocket" === input.type)
1244
+ return _vo7(input, _path, true && _exceptionable);
1245
+ else
1246
+ return _report(_exceptionable, {
1247
+ path: _path,
1248
+ expected: "(HttpHealthCheck | WebSocketHealthCheck)",
1249
+ value: input
1250
+ });
1251
+ })(); const _vu1 = (input, _path, _exceptionable = true) => (() => {
1252
+ if (undefined !== input.__spread__)
1253
+ return _vo3(input, _path, true && _exceptionable);
1254
+ else if (undefined !== input.port)
1255
+ return _vo4(input, _path, true && _exceptionable);
1256
+ else
1257
+ return _report(_exceptionable, {
1258
+ path: _path,
1259
+ expected: "(__type | ExposedPort)",
1260
+ value: input
1261
+ });
1262
+ })(); const _vu2 = (input, _path, _exceptionable = true) => (() => {
1263
+ if (undefined !== input.__spread__)
1264
+ return _vo3(input, _path, true && _exceptionable);
1265
+ else if (undefined !== input.bucket)
1266
+ return _vo12(input, _path, true && _exceptionable);
1267
+ else if (undefined !== input.buckets)
1268
+ return _vo13(input, _path, true && _exceptionable);
1269
+ else if ("HF" === input.type)
1270
+ return _vo15(input, _path, true && _exceptionable);
1271
+ else if ("Ollama" === input.type)
1272
+ return _vo16(input, _path, true && _exceptionable);
1273
+ else
1274
+ return _vo10(input, _path, true && _exceptionable);
1275
+ })(); const _vu3 = (input, _path, _exceptionable = true) => (() => {
1276
+ if (undefined !== input.image)
1277
+ return _vo1(input, _path, true && _exceptionable);
1278
+ else if (undefined !== input.name)
1279
+ return _vo19(input, _path, true && _exceptionable);
1280
+ else
1281
+ return _report(_exceptionable, {
1282
+ path: _path,
1283
+ expected: "(ContainerRun | ContainerCreateVolume)",
1284
+ value: input
1285
+ });
1286
+ })(); const _vu4 = (input, _path, _exceptionable = true) => (() => {
1287
+ if (Array.isArray(input.depends_on) && input.depends_on.map((elem, _index28) => "string" === typeof elem).every(flag => flag))
1288
+ return _vo23(input, _path, true && _exceptionable);
1289
+ else
1290
+ return _vo22(input, _path, true && _exceptionable);
1291
+ })(); const __is = (input, _exceptionable = true) => "object" === typeof input && null !== input && _io0(input, true); let errors; let _report; return __typia_transform__createStandardSchema._createStandardSchema(input => {
1292
+ if (false === __is(input)) {
1293
+ errors = [];
1294
+ _report = __typia_transform__validateReport._validateReport(errors);
1295
+ ((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input || _report(true, {
1296
+ path: _path + "",
1297
+ expected: "Operation<keyof OperationArgsMap>",
1298
+ value: input
1299
+ })) && _vo0(input, _path + "", true) || _report(true, {
1300
+ path: _path + "",
1301
+ expected: "Operation<keyof OperationArgsMap>",
1302
+ value: input
1303
+ }))(input, "$input", true);
1304
+ const success = 0 === errors.length;
1305
+ return success ? {
1306
+ success,
1307
+ data: input
1308
+ } : {
1309
+ success,
1310
+ errors,
1311
+ data: input
1312
+ };
1313
+ }
1314
+ return {
1315
+ success: true,
1316
+ data: input
1317
+ };
1318
+ }); })();
1319
+ export const validateOps = (() => { const _io0 = (input, _exceptionable = true) => ("container/run" === input.type || "container/create-volume" === input.type) && ("string" === typeof input.id && (typeof input.id === "string" && !input.id.includes(" "))) && ("object" === typeof input.args && null !== input.args && _iu3(input.args, true && _exceptionable)) && (undefined === input.results || "object" === typeof input.results && null !== input.results && false === Array.isArray(input.results) && _io20(input.results, true && _exceptionable)) && (undefined === input.execution || "object" === typeof input.execution && null !== input.execution && false === Array.isArray(input.execution) && _iu4(input.execution, true && _exceptionable)) && (3 === Object.keys(input).length || Object.keys(input).every(key => {
1320
+ if (["type", "id", "args", "results", "execution"].some(prop => key === prop))
1321
+ return true;
1322
+ const value = input[key];
1323
+ if (undefined === value)
1324
+ return true;
1325
+ return false;
1326
+ })); const _io1 = (input, _exceptionable = true) => "string" === typeof input.image && (null !== input.aliases && (undefined === input.aliases || "string" === typeof input.aliases || Array.isArray(input.aliases) && input.aliases.every((elem, _index2) => "string" === typeof elem))) && (null !== input.cmd && (undefined === input.cmd || "string" === typeof input.cmd || Array.isArray(input.cmd) && input.cmd.every((elem, _index3) => "string" === typeof elem))) && (undefined === input.volumes || Array.isArray(input.volumes) && input.volumes.every((elem, _index4) => "object" === typeof elem && null !== elem && _io2(elem, true && _exceptionable))) && (null !== input.expose && (undefined === input.expose || "number" === typeof input.expose || "string" === typeof input.expose && (typeof input.expose === "string" && /^%%(ops|global).[^%]+%%$/.test(input.expose)) || (Array.isArray(input.expose) && ((() => {
1327
+ if (!Array.isArray(input.expose))
1328
+ return true;
1329
+ const numbers = new Set();
1330
+ const ranges = [];
1331
+ for (const el of input.expose) {
1332
+ if (typeof el === "string" && /^%%(ops|global).[^%]+%%$/.test(el))
1333
+ continue;
1334
+ if (el && typeof el === "object" && !Array.isArray(el) && el.__spread__)
1335
+ continue;
1336
+ const port = typeof el === "object" ? el.port : el;
1337
+ if (typeof port === "number") {
1338
+ if (numbers.has(port))
1339
+ return false;
1340
+ numbers.add(port);
1341
+ }
1342
+ else if (typeof port === "string") {
1343
+ const match = /^([0-9]+)-([0-9]+)$/.exec(port);
1344
+ if (!match)
1345
+ return false;
1346
+ const start = Number(match[1]), end = Number(match[2]);
1347
+ for (const [rStart, rEnd] of ranges) {
1348
+ if (start <= rEnd && end >= rStart)
1349
+ return false;
1350
+ }
1351
+ ranges.push([start, end]);
1352
+ }
1353
+ }
1354
+ for (const port of numbers) {
1355
+ for (const [start, end] of ranges) {
1356
+ if (port >= start && port <= end)
1357
+ return false;
1358
+ }
1359
+ }
1360
+ return true;
1361
+ })() && input.expose.every((elem, _index5) => null !== elem && undefined !== elem && ("number" === typeof elem || "string" === typeof elem && (typeof elem === "string" && /^%%(ops|global).[^%]+%%$/.test(elem)) || "object" === typeof elem && null !== elem && _iu1(elem, true && _exceptionable)))) || "object" === typeof input.expose && null !== input.expose && _iu1(input.expose, true && _exceptionable)))) && (undefined === input.gpu || "boolean" === typeof input.gpu) && (undefined === input.work_dir || "string" === typeof input.work_dir) && (null !== input.entrypoint && (undefined === input.entrypoint || "string" === typeof input.entrypoint || Array.isArray(input.entrypoint) && input.entrypoint.every((elem, _index6) => "string" === typeof elem))) && (undefined === input.env || "object" === typeof input.env && null !== input.env && false === Array.isArray(input.env) && _io8(input.env, true && _exceptionable)) && (null !== input.restart_policy && (undefined === input.restart_policy || "on-failure" === input.restart_policy || "no" === input.restart_policy || "always" === input.restart_policy || "unless-stopped" === input.restart_policy || "object" === typeof input.restart_policy && null !== input.restart_policy && _io9(input.restart_policy, true && _exceptionable))) && (undefined === input["private"] || "boolean" === typeof input["private"]) && (undefined === input.resources || Array.isArray(input.resources) && input.resources.every((elem, _index7) => null !== elem && undefined !== elem && ("__remove-if-empty__" === elem || "object" === typeof elem && null !== elem && _iu2(elem, true && _exceptionable)))) && (undefined === input.authentication || "object" === typeof input.authentication && null !== input.authentication && false === Array.isArray(input.authentication) && _io17(input.authentication, true && _exceptionable)) && (1 === Object.keys(input).length || Object.keys(input).every(key => {
1362
+ if (["image", "aliases", "cmd", "volumes", "expose", "gpu", "work_dir", "entrypoint", "env", "restart_policy", "private", "resources", "authentication"].some(prop => key === prop))
1363
+ return true;
1364
+ const value = input[key];
1365
+ if (undefined === value)
1366
+ return true;
1367
+ return false;
1368
+ })); const _io2 = (input, _exceptionable = true) => "string" === typeof input.name && "string" === typeof input.dest && (2 === Object.keys(input).length || Object.keys(input).every(key => {
1369
+ if (["name", "dest"].some(prop => key === prop))
1370
+ return true;
1371
+ const value = input[key];
1372
+ if (undefined === value)
1373
+ return true;
1374
+ return false;
1375
+ })); const _io3 = (input, _exceptionable = true) => "string" === typeof input.__spread__ && (typeof input.__spread__ === "string" && /^%%(ops|global).[^%]+%%$/.test(input.__spread__)) && (undefined === input.chunked || "boolean" === typeof input.chunked) && (1 === Object.keys(input).length || Object.keys(input).every(key => {
1376
+ if (["__spread__", "chunked"].some(prop => key === prop))
1377
+ return true;
1378
+ const value = input[key];
1379
+ if (undefined === value)
1380
+ return true;
1381
+ return false;
1382
+ })); const _io4 = (input, _exceptionable = true) => "number" === typeof input.port && (undefined === input.type || "api" === input.type || "web" === input.type || "websocket" === input.type || "webapi" === input.type || "none" === input.type) && (undefined === input.health_checks || Array.isArray(input.health_checks) && input.health_checks.every((elem, _index8) => "object" === typeof elem && null !== elem && _iu0(elem, true && _exceptionable))) && (1 === Object.keys(input).length || Object.keys(input).every(key => {
1383
+ if (["port", "type", "health_checks"].some(prop => key === prop))
1384
+ return true;
1385
+ const value = input[key];
1386
+ if (undefined === value)
1387
+ return true;
1388
+ return false;
1389
+ })); const _io5 = (input, _exceptionable = true) => "http" === input.type && "string" === typeof input.path && ("GET" === input.method || "POST" === input.method || "PUT" === input.method || "DELETE" === input.method) && "number" === typeof input.expected_status && (undefined === input.headers || "object" === typeof input.headers && null !== input.headers && false === Array.isArray(input.headers) && _io6(input.headers, true && _exceptionable)) && true && "boolean" === typeof input.continuous && (5 === Object.keys(input).length || Object.keys(input).every(key => {
1390
+ if (["type", "path", "method", "expected_status", "headers", "body", "continuous"].some(prop => key === prop))
1391
+ return true;
1392
+ const value = input[key];
1393
+ if (undefined === value)
1394
+ return true;
1395
+ return false;
1396
+ })); const _io6 = (input, _exceptionable = true) => Object.keys(input).every(key => {
1397
+ const value = input[key];
1398
+ if (undefined === value)
1399
+ return true;
1400
+ return "string" === typeof value;
1401
+ }); const _io7 = (input, _exceptionable = true) => "websocket" === input.type && "string" === typeof input.expected_response && "boolean" === typeof input.continuous && (3 === Object.keys(input).length || Object.keys(input).every(key => {
1402
+ if (["type", "expected_response", "continuous"].some(prop => key === prop))
1403
+ return true;
1404
+ const value = input[key];
1405
+ if (undefined === value)
1406
+ return true;
1407
+ return false;
1408
+ })); const _io8 = (input, _exceptionable = true) => Object.keys(input).every(key => {
1409
+ const value = input[key];
1410
+ if (undefined === value)
1411
+ return true;
1412
+ return "string" === typeof value;
1413
+ }); const _io9 = (input, _exceptionable = true) => "on-failure" === input.policy && (undefined === input.restart_tries || "number" === typeof input.restart_tries) && (1 === Object.keys(input).length || Object.keys(input).every(key => {
1414
+ if (["policy", "restart_tries"].some(prop => key === prop))
1415
+ return true;
1416
+ const value = input[key];
1417
+ if (undefined === value)
1418
+ return true;
1419
+ return false;
1420
+ })); const _io10 = (input, _exceptionable = true) => "S3" === input.type && "string" === typeof input.target && (undefined === input.url || "string" === typeof input.url) && (undefined === input.allowWrite || "boolean" === typeof input.allowWrite) && (undefined === input.files || Array.isArray(input.files) && input.files.every((elem, _index9) => "string" === typeof elem)) && (undefined === input.IAM || "object" === typeof input.IAM && null !== input.IAM && _io11(input.IAM, true && _exceptionable)) && (2 === Object.keys(input).length || Object.keys(input).every(key => {
1421
+ if (["type", "target", "url", "allowWrite", "files", "IAM"].some(prop => key === prop))
1422
+ return true;
1423
+ const value = input[key];
1424
+ if (undefined === value)
1425
+ return true;
1426
+ return false;
1427
+ })); const _io11 = (input, _exceptionable = true) => "string" === typeof input.REGION && "string" === typeof input.ACCESS_KEY_ID && "string" === typeof input.SECRET_ACCESS_KEY && (3 === Object.keys(input).length || Object.keys(input).every(key => {
1428
+ if (["REGION", "ACCESS_KEY_ID", "SECRET_ACCESS_KEY"].some(prop => key === prop))
1429
+ return true;
1430
+ const value = input[key];
1431
+ if (undefined === value)
1432
+ return true;
1433
+ return false;
1434
+ })); const _io12 = (input, _exceptionable = true) => "S3" === input.type && "string" === typeof input.target && "string" === typeof input.bucket && (undefined === input.url || "string" === typeof input.url) && (undefined === input.allowWrite || "boolean" === typeof input.allowWrite) && (undefined === input.IAM || "object" === typeof input.IAM && null !== input.IAM && _io11(input.IAM, true && _exceptionable)) && (3 === Object.keys(input).length || Object.keys(input).every(key => {
1435
+ if (["type", "target", "bucket", "url", "allowWrite", "IAM"].some(prop => key === prop))
1436
+ return true;
1437
+ const value = input[key];
1438
+ if (undefined === value)
1439
+ return true;
1440
+ return false;
1441
+ })); const _io13 = (input, _exceptionable = true) => "S3" === input.type && "string" === typeof input.target && (Array.isArray(input.buckets) && input.buckets.every((elem, _index10) => "object" === typeof elem && null !== elem && _io14(elem, true && _exceptionable))) && (undefined === input.url || "string" === typeof input.url) && (undefined === input.allowWrite || "boolean" === typeof input.allowWrite) && (undefined === input.IAM || "object" === typeof input.IAM && null !== input.IAM && _io11(input.IAM, true && _exceptionable)) && (3 === Object.keys(input).length || Object.keys(input).every(key => {
1442
+ if (["type", "target", "buckets", "url", "allowWrite", "IAM"].some(prop => key === prop))
1443
+ return true;
1444
+ const value = input[key];
1445
+ if (undefined === value)
1446
+ return true;
1447
+ return false;
1448
+ })); const _io14 = (input, _exceptionable = true) => "string" === typeof input.url && (undefined === input.files || Array.isArray(input.files) && input.files.every((elem, _index11) => "string" === typeof elem)) && (1 === Object.keys(input).length || Object.keys(input).every(key => {
1449
+ if (["url", "files"].some(prop => key === prop))
1450
+ return true;
1451
+ const value = input[key];
1452
+ if (undefined === value)
1453
+ return true;
1454
+ return false;
1455
+ })); const _io15 = (input, _exceptionable = true) => "HF" === input.type && "string" === typeof input.target && "string" === typeof input.repo && (undefined === input.revision || "string" === typeof input.revision) && (undefined === input.files || Array.isArray(input.files) && input.files.every((elem, _index12) => "string" === typeof elem)) && (undefined === input.accessToken || "string" === typeof input.accessToken) && (3 === Object.keys(input).length || Object.keys(input).every(key => {
1456
+ if (["type", "target", "repo", "revision", "files", "accessToken"].some(prop => key === prop))
1457
+ return true;
1458
+ const value = input[key];
1459
+ if (undefined === value)
1460
+ return true;
1461
+ return false;
1462
+ })); const _io16 = (input, _exceptionable = true) => "Ollama" === input.type && "string" === typeof input.model && (undefined === input.target || "string" === typeof input.target) && (2 === Object.keys(input).length || Object.keys(input).every(key => {
1463
+ if (["type", "model", "target"].some(prop => key === prop))
1464
+ return true;
1465
+ const value = input[key];
1466
+ if (undefined === value)
1467
+ return true;
1468
+ return false;
1469
+ })); const _io17 = (input, _exceptionable = true) => (undefined === input.docker || "object" === typeof input.docker && null !== input.docker && false === Array.isArray(input.docker) && _io18(input.docker, true && _exceptionable)) && (0 === Object.keys(input).length || Object.keys(input).every(key => {
1470
+ if (["docker"].some(prop => key === prop))
1471
+ return true;
1472
+ const value = input[key];
1473
+ if (undefined === value)
1474
+ return true;
1475
+ return false;
1476
+ })); const _io18 = (input, _exceptionable = true) => (undefined === input.username || "string" === typeof input.username) && (undefined === input.password || "string" === typeof input.password) && (undefined === input.email || "string" === typeof input.email) && (undefined === input.server || "string" === typeof input.server) && (0 === Object.keys(input).length || Object.keys(input).every(key => {
1477
+ if (["username", "password", "email", "server"].some(prop => key === prop))
1478
+ return true;
1479
+ const value = input[key];
1480
+ if (undefined === value)
1481
+ return true;
1482
+ return false;
1483
+ })); const _io19 = (input, _exceptionable = true) => "string" === typeof input.name && (1 === Object.keys(input).length || Object.keys(input).every(key => {
1484
+ if (["name"].some(prop => key === prop))
1485
+ return true;
1486
+ const value = input[key];
1487
+ if (undefined === value)
1488
+ return true;
1489
+ return false;
1490
+ })); const _io20 = (input, _exceptionable = true) => Object.keys(input).every(key => {
1491
+ const value = input[key];
1492
+ if (undefined === value)
1493
+ return true;
1494
+ return null !== value && undefined !== value && ("string" === typeof value || "object" === typeof value && null !== value && _io21(value, true && _exceptionable));
1495
+ }); const _io21 = (input, _exceptionable = true) => "string" === typeof input.regex && (Array.isArray(input.logType) && (Array.isArray(input.logType) && input.logType.length >= 1 && input.logType.length <= 4 && (() => {
1496
+ const seen = new Set();
1497
+ for (const v of input.logType) {
1498
+ if (seen.has(v))
1499
+ return false;
1500
+ seen.add(v);
1501
+ }
1502
+ return true;
1503
+ })() && input.logType.every((elem, _index13) => "stdin" === elem || "stdout" === elem || "stderr" === elem || "nodeerr" === elem))) && (2 === Object.keys(input).length || Object.keys(input).every(key => {
1504
+ if (["regex", "logType"].some(prop => key === prop))
1505
+ return true;
1506
+ const value = input[key];
1507
+ if (undefined === value)
1508
+ return true;
1509
+ return false;
1510
+ })); const _io22 = (input, _exceptionable = true) => (undefined === input.group || "string" === typeof input.group) && (undefined === input.timeout || "number" === typeof input.timeout) && (null !== input.depends_on && undefined === input.depends_on) && (null !== input.stop_if_dependent_stops && undefined === input.stop_if_dependent_stops) && (0 === Object.keys(input).length || Object.keys(input).every(key => {
1511
+ if (["group", "timeout", "depends_on", "stop_if_dependent_stops"].some(prop => key === prop))
1512
+ return true;
1513
+ const value = input[key];
1514
+ if (undefined === value)
1515
+ return true;
1516
+ return false;
1517
+ })); const _io23 = (input, _exceptionable = true) => (undefined === input.group || "string" === typeof input.group) && (undefined === input.timeout || "number" === typeof input.timeout) && (Array.isArray(input.depends_on) && input.depends_on.every((elem, _index14) => "string" === typeof elem)) && (undefined === input.stop_if_dependent_stops || "boolean" === typeof input.stop_if_dependent_stops) && (1 === Object.keys(input).length || Object.keys(input).every(key => {
1518
+ if (["group", "timeout", "depends_on", "stop_if_dependent_stops"].some(prop => key === prop))
1519
+ return true;
1520
+ const value = input[key];
1521
+ if (undefined === value)
1522
+ return true;
1523
+ return false;
1524
+ })); const _iu0 = (input, _exceptionable = true) => (() => {
1525
+ if ("http" === input.type)
1526
+ return _io5(input, true && _exceptionable);
1527
+ else if ("websocket" === input.type)
1528
+ return _io7(input, true && _exceptionable);
1529
+ else
1530
+ return false;
1531
+ })(); const _iu1 = (input, _exceptionable = true) => (() => {
1532
+ if (undefined !== input.__spread__)
1533
+ return _io3(input, true && _exceptionable);
1534
+ else if (undefined !== input.port)
1535
+ return _io4(input, true && _exceptionable);
1536
+ else
1537
+ return false;
1538
+ })(); const _iu2 = (input, _exceptionable = true) => (() => {
1539
+ if (undefined !== input.__spread__)
1540
+ return _io3(input, true && _exceptionable);
1541
+ else if (undefined !== input.bucket)
1542
+ return _io12(input, true && _exceptionable);
1543
+ else if (undefined !== input.buckets)
1544
+ return _io13(input, true && _exceptionable);
1545
+ else if ("HF" === input.type)
1546
+ return _io15(input, true && _exceptionable);
1547
+ else if ("Ollama" === input.type)
1548
+ return _io16(input, true && _exceptionable);
1549
+ else
1550
+ return _io10(input, true && _exceptionable);
1551
+ })(); const _iu3 = (input, _exceptionable = true) => (() => {
1552
+ if (undefined !== input.image)
1553
+ return _io1(input, true && _exceptionable);
1554
+ else if (undefined !== input.name)
1555
+ return _io19(input, true && _exceptionable);
1556
+ else
1557
+ return false;
1558
+ })(); const _iu4 = (input, _exceptionable = true) => (() => {
1559
+ if (Array.isArray(input.depends_on) && input.depends_on.every((elem, _index15) => "string" === typeof elem))
1560
+ return _io23(input, true && _exceptionable);
1561
+ else
1562
+ return _io22(input, true && _exceptionable);
1563
+ })(); const _vo0 = (input, _path, _exceptionable = true) => ["container/run" === input.type || "container/create-volume" === input.type || _report(_exceptionable, {
1564
+ path: _path + ".type",
1565
+ expected: "(\"container/create-volume\" | \"container/run\")",
1566
+ value: input.type
1567
+ }), "string" === typeof input.id && (typeof input.id === "string" && !input.id.includes(" ") || _report(_exceptionable, {
1568
+ path: _path + ".id",
1569
+ expected: "string & TagBase<__type>",
1570
+ value: input.id
1571
+ })) || _report(_exceptionable, {
1572
+ path: _path + ".id",
1573
+ expected: "(string & TagBase<__type>)",
1574
+ value: input.id
1575
+ }), ("object" === typeof input.args && null !== input.args || _report(_exceptionable, {
1576
+ path: _path + ".args",
1577
+ expected: "(ContainerCreateVolume | ContainerRun)",
1578
+ value: input.args
1579
+ })) && _vu3(input.args, _path + ".args", true && _exceptionable) || _report(_exceptionable, {
1580
+ path: _path + ".args",
1581
+ expected: "(ContainerCreateVolume | ContainerRun)",
1582
+ value: input.args
1583
+ }), undefined === input.results || ("object" === typeof input.results && null !== input.results && false === Array.isArray(input.results) || _report(_exceptionable, {
1584
+ path: _path + ".results",
1585
+ expected: "(OperationResults | undefined)",
1586
+ value: input.results
1587
+ })) && _vo20(input.results, _path + ".results", true && _exceptionable) || _report(_exceptionable, {
1588
+ path: _path + ".results",
1589
+ expected: "(OperationResults | undefined)",
1590
+ value: input.results
1591
+ }), undefined === input.execution || ("object" === typeof input.execution && null !== input.execution && false === Array.isArray(input.execution) || _report(_exceptionable, {
1592
+ path: _path + ".execution",
1593
+ expected: "(undefined | { group?: string | undefined; timeout?: number | undefined; } & { depends_on: string[]; stop_if_dependent_stops?: boolean | undefined; } | { group?: string | undefined; timeout?: number | undefined; } & { depends_on?: undefined; stop_if_dependent_stops?: undefined; })",
1594
+ value: input.execution
1595
+ })) && _vu4(input.execution, _path + ".execution", true && _exceptionable) || _report(_exceptionable, {
1596
+ path: _path + ".execution",
1597
+ expected: "(undefined | { group?: string | undefined; timeout?: number | undefined; } & { depends_on: string[]; stop_if_dependent_stops?: boolean | undefined; } | { group?: string | undefined; timeout?: number | undefined; } & { depends_on?: undefined; stop_if_dependent_stops?: undefined; })",
1598
+ value: input.execution
1599
+ }), 3 === Object.keys(input).length || (false === _exceptionable || Object.keys(input).map(key => {
1600
+ if (["type", "id", "args", "results", "execution"].some(prop => key === prop))
1601
+ return true;
1602
+ const value = input[key];
1603
+ if (undefined === value)
1604
+ return true;
1605
+ return _report(_exceptionable, {
1606
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
1607
+ expected: "undefined",
1608
+ value: value,
1609
+ description: [
1610
+ `The property \`${key}\` is not defined in the object type.`,
1611
+ "",
1612
+ "Please remove the property next time."
1613
+ ].join("\n")
1614
+ });
1615
+ }).every(flag => flag))].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => ["string" === typeof input.image || _report(_exceptionable, {
1616
+ path: _path + ".image",
1617
+ expected: "string",
1618
+ value: input.image
1619
+ }), (null !== input.aliases || _report(_exceptionable, {
1620
+ path: _path + ".aliases",
1621
+ expected: "(Aliases | string | undefined)",
1622
+ value: input.aliases
1623
+ })) && (undefined === input.aliases || "string" === typeof input.aliases || (Array.isArray(input.aliases) || _report(_exceptionable, {
1624
+ path: _path + ".aliases",
1625
+ expected: "(Aliases | string | undefined)",
1626
+ value: input.aliases
1627
+ })) && input.aliases.map((elem, _index17) => "string" === typeof elem || _report(_exceptionable, {
1628
+ path: _path + ".aliases[" + _index17 + "]",
1629
+ expected: "string",
1630
+ value: elem
1631
+ })).every(flag => flag) || _report(_exceptionable, {
1632
+ path: _path + ".aliases",
1633
+ expected: "(Aliases | string | undefined)",
1634
+ value: input.aliases
1635
+ })), (null !== input.cmd || _report(_exceptionable, {
1636
+ path: _path + ".cmd",
1637
+ expected: "(CMDArray | string | undefined)",
1638
+ value: input.cmd
1639
+ })) && (undefined === input.cmd || "string" === typeof input.cmd || (Array.isArray(input.cmd) || _report(_exceptionable, {
1640
+ path: _path + ".cmd",
1641
+ expected: "(CMDArray | string | undefined)",
1642
+ value: input.cmd
1643
+ })) && input.cmd.map((elem, _index18) => "string" === typeof elem || _report(_exceptionable, {
1644
+ path: _path + ".cmd[" + _index18 + "]",
1645
+ expected: "string",
1646
+ value: elem
1647
+ })).every(flag => flag) || _report(_exceptionable, {
1648
+ path: _path + ".cmd",
1649
+ expected: "(CMDArray | string | undefined)",
1650
+ value: input.cmd
1651
+ })), undefined === input.volumes || (Array.isArray(input.volumes) || _report(_exceptionable, {
1652
+ path: _path + ".volumes",
1653
+ expected: "(Array<Volume> | undefined)",
1654
+ value: input.volumes
1655
+ })) && input.volumes.map((elem, _index19) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1656
+ path: _path + ".volumes[" + _index19 + "]",
1657
+ expected: "Volume",
1658
+ value: elem
1659
+ })) && _vo2(elem, _path + ".volumes[" + _index19 + "]", true && _exceptionable) || _report(_exceptionable, {
1660
+ path: _path + ".volumes[" + _index19 + "]",
1661
+ expected: "Volume",
1662
+ value: elem
1663
+ })).every(flag => flag) || _report(_exceptionable, {
1664
+ path: _path + ".volumes",
1665
+ expected: "(Array<Volume> | undefined)",
1666
+ value: input.volumes
1667
+ }), (null !== input.expose || _report(_exceptionable, {
1668
+ path: _path + ".expose",
1669
+ expected: "((Array<ExposeBase> & TagBase<__type>) | (__type & TagBase<__type>) | (string & TagBase<__type>) | ExposedPort | number | undefined)",
1670
+ value: input.expose
1671
+ })) && (undefined === input.expose || "number" === typeof input.expose || "string" === typeof input.expose && (typeof input.expose === "string" && /^%%(ops|global).[^%]+%%$/.test(input.expose) || _report(_exceptionable, {
1672
+ path: _path + ".expose",
1673
+ expected: "string & TagBase<__type>",
1674
+ value: input.expose
1675
+ })) || (Array.isArray(input.expose) && (((() => {
1676
+ if (!Array.isArray(input.expose))
1677
+ return true;
1678
+ const numbers = new Set();
1679
+ const ranges = [];
1680
+ for (const el of input.expose) {
1681
+ if (typeof el === "string" && /^%%(ops|global).[^%]+%%$/.test(el))
1682
+ continue;
1683
+ if (el && typeof el === "object" && !Array.isArray(el) && el.__spread__)
1684
+ continue;
1685
+ const port = typeof el === "object" ? el.port : el;
1686
+ if (typeof port === "number") {
1687
+ if (numbers.has(port))
1688
+ return false;
1689
+ numbers.add(port);
1690
+ }
1691
+ else if (typeof port === "string") {
1692
+ const match = /^([0-9]+)-([0-9]+)$/.exec(port);
1693
+ if (!match)
1694
+ return false;
1695
+ const start = Number(match[1]), end = Number(match[2]);
1696
+ for (const [rStart, rEnd] of ranges) {
1697
+ if (start <= rEnd && end >= rStart)
1698
+ return false;
1699
+ }
1700
+ ranges.push([start, end]);
1701
+ }
1702
+ }
1703
+ for (const port of numbers) {
1704
+ for (const [start, end] of ranges) {
1705
+ if (port >= start && port <= end)
1706
+ return false;
1707
+ }
1708
+ }
1709
+ return true;
1710
+ })() || _report(_exceptionable, {
1711
+ path: _path + ".expose",
1712
+ expected: "Array<> & TagBase<__type>",
1713
+ value: input.expose
1714
+ })) && input.expose.map((elem, _index20) => (null !== elem || _report(_exceptionable, {
1715
+ path: _path + ".expose[" + _index20 + "]",
1716
+ expected: "((__type & TagBase<__type>) | (string & TagBase<__type>) | ExposedPort | number)",
1717
+ value: elem
1718
+ })) && (undefined !== elem || _report(_exceptionable, {
1719
+ path: _path + ".expose[" + _index20 + "]",
1720
+ expected: "((__type & TagBase<__type>) | (string & TagBase<__type>) | ExposedPort | number)",
1721
+ value: elem
1722
+ })) && ("number" === typeof elem || "string" === typeof elem && (typeof elem === "string" && /^%%(ops|global).[^%]+%%$/.test(elem) || _report(_exceptionable, {
1723
+ path: _path + ".expose[" + _index20 + "]",
1724
+ expected: "string & TagBase<__type>",
1725
+ value: elem
1726
+ })) || ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1727
+ path: _path + ".expose[" + _index20 + "]",
1728
+ expected: "((__type & TagBase<__type>) | (string & TagBase<__type>) | ExposedPort | number)",
1729
+ value: elem
1730
+ })) && _vu1(elem, _path + ".expose[" + _index20 + "]", true && _exceptionable) || _report(_exceptionable, {
1731
+ path: _path + ".expose[" + _index20 + "]",
1732
+ expected: "((__type & TagBase<__type>) | (string & TagBase<__type>) | ExposedPort | number)",
1733
+ value: elem
1734
+ }))).every(flag => flag)) || "object" === typeof input.expose && null !== input.expose && _vu1(input.expose, _path + ".expose", true && _exceptionable) || _report(_exceptionable, {
1735
+ path: _path + ".expose",
1736
+ expected: "((Array<ExposeBase> & TagBase<__type>) | (__type & TagBase<__type>) | (string & TagBase<__type>) | ExposedPort | number | undefined)",
1737
+ value: input.expose
1738
+ })) || _report(_exceptionable, {
1739
+ path: _path + ".expose",
1740
+ expected: "((Array<ExposeBase> & TagBase<__type>) | (__type & TagBase<__type>) | (string & TagBase<__type>) | ExposedPort | number | undefined)",
1741
+ value: input.expose
1742
+ })), undefined === input.gpu || "boolean" === typeof input.gpu || _report(_exceptionable, {
1743
+ path: _path + ".gpu",
1744
+ expected: "(boolean | undefined)",
1745
+ value: input.gpu
1746
+ }), undefined === input.work_dir || "string" === typeof input.work_dir || _report(_exceptionable, {
1747
+ path: _path + ".work_dir",
1748
+ expected: "(string | undefined)",
1749
+ value: input.work_dir
1750
+ }), (null !== input.entrypoint || _report(_exceptionable, {
1751
+ path: _path + ".entrypoint",
1752
+ expected: "(CMDArray | string | undefined)",
1753
+ value: input.entrypoint
1754
+ })) && (undefined === input.entrypoint || "string" === typeof input.entrypoint || (Array.isArray(input.entrypoint) || _report(_exceptionable, {
1755
+ path: _path + ".entrypoint",
1756
+ expected: "(CMDArray | string | undefined)",
1757
+ value: input.entrypoint
1758
+ })) && input.entrypoint.map((elem, _index21) => "string" === typeof elem || _report(_exceptionable, {
1759
+ path: _path + ".entrypoint[" + _index21 + "]",
1760
+ expected: "string",
1761
+ value: elem
1762
+ })).every(flag => flag) || _report(_exceptionable, {
1763
+ path: _path + ".entrypoint",
1764
+ expected: "(CMDArray | string | undefined)",
1765
+ value: input.entrypoint
1766
+ })), undefined === input.env || ("object" === typeof input.env && null !== input.env && false === Array.isArray(input.env) || _report(_exceptionable, {
1767
+ path: _path + ".env",
1768
+ expected: "(Env | undefined)",
1769
+ value: input.env
1770
+ })) && _vo8(input.env, _path + ".env", true && _exceptionable) || _report(_exceptionable, {
1771
+ path: _path + ".env",
1772
+ expected: "(Env | undefined)",
1773
+ value: input.env
1774
+ }), (null !== input.restart_policy || _report(_exceptionable, {
1775
+ path: _path + ".restart_policy",
1776
+ expected: "(\"always\" | \"no\" | \"on-failure\" | \"unless-stopped\" | __type.o4 | undefined)",
1777
+ value: input.restart_policy
1778
+ })) && (undefined === input.restart_policy || "on-failure" === input.restart_policy || "no" === input.restart_policy || "always" === input.restart_policy || "unless-stopped" === input.restart_policy || ("object" === typeof input.restart_policy && null !== input.restart_policy || _report(_exceptionable, {
1779
+ path: _path + ".restart_policy",
1780
+ expected: "(\"always\" | \"no\" | \"on-failure\" | \"unless-stopped\" | __type.o4 | undefined)",
1781
+ value: input.restart_policy
1782
+ })) && _vo9(input.restart_policy, _path + ".restart_policy", true && _exceptionable) || _report(_exceptionable, {
1783
+ path: _path + ".restart_policy",
1784
+ expected: "(\"always\" | \"no\" | \"on-failure\" | \"unless-stopped\" | __type.o4 | undefined)",
1785
+ value: input.restart_policy
1786
+ })), undefined === input["private"] || "boolean" === typeof input["private"] || _report(_exceptionable, {
1787
+ path: _path + "[\"private\"]",
1788
+ expected: "(boolean | undefined)",
1789
+ value: input["private"]
1790
+ }), undefined === input.resources || (Array.isArray(input.resources) || _report(_exceptionable, {
1791
+ path: _path + ".resources",
1792
+ expected: "(Resources | undefined)",
1793
+ value: input.resources
1794
+ })) && input.resources.map((elem, _index22) => (null !== elem || _report(_exceptionable, {
1795
+ path: _path + ".resources[" + _index22 + "]",
1796
+ expected: "(\"__remove-if-empty__\" | (__type & TagBase<__type>) | HFResource | OllamaResource | S3Base | S3WithBucket | S3WithBuckets)",
1797
+ value: elem
1798
+ })) && (undefined !== elem || _report(_exceptionable, {
1799
+ path: _path + ".resources[" + _index22 + "]",
1800
+ expected: "(\"__remove-if-empty__\" | (__type & TagBase<__type>) | HFResource | OllamaResource | S3Base | S3WithBucket | S3WithBuckets)",
1801
+ value: elem
1802
+ })) && ("__remove-if-empty__" === elem || ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1803
+ path: _path + ".resources[" + _index22 + "]",
1804
+ expected: "(\"__remove-if-empty__\" | (__type & TagBase<__type>) | HFResource | OllamaResource | S3Base | S3WithBucket | S3WithBuckets)",
1805
+ value: elem
1806
+ })) && _vu2(elem, _path + ".resources[" + _index22 + "]", true && _exceptionable) || _report(_exceptionable, {
1807
+ path: _path + ".resources[" + _index22 + "]",
1808
+ expected: "(\"__remove-if-empty__\" | (__type & TagBase<__type>) | HFResource | OllamaResource | S3Base | S3WithBucket | S3WithBuckets)",
1809
+ value: elem
1810
+ }))).every(flag => flag) || _report(_exceptionable, {
1811
+ path: _path + ".resources",
1812
+ expected: "(Resources | undefined)",
1813
+ value: input.resources
1814
+ }), undefined === input.authentication || ("object" === typeof input.authentication && null !== input.authentication && false === Array.isArray(input.authentication) || _report(_exceptionable, {
1815
+ path: _path + ".authentication",
1816
+ expected: "(Authentication | undefined)",
1817
+ value: input.authentication
1818
+ })) && _vo17(input.authentication, _path + ".authentication", true && _exceptionable) || _report(_exceptionable, {
1819
+ path: _path + ".authentication",
1820
+ expected: "(Authentication | undefined)",
1821
+ value: input.authentication
1822
+ }), 1 === Object.keys(input).length || (false === _exceptionable || Object.keys(input).map(key => {
1823
+ if (["image", "aliases", "cmd", "volumes", "expose", "gpu", "work_dir", "entrypoint", "env", "restart_policy", "private", "resources", "authentication"].some(prop => key === prop))
1824
+ return true;
1825
+ const value = input[key];
1826
+ if (undefined === value)
1827
+ return true;
1828
+ return _report(_exceptionable, {
1829
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
1830
+ expected: "undefined",
1831
+ value: value,
1832
+ description: [
1833
+ `The property \`${key}\` is not defined in the object type.`,
1834
+ "",
1835
+ "Please remove the property next time."
1836
+ ].join("\n")
1837
+ });
1838
+ }).every(flag => flag))].every(flag => flag); const _vo2 = (input, _path, _exceptionable = true) => ["string" === typeof input.name || _report(_exceptionable, {
1839
+ path: _path + ".name",
1840
+ expected: "string",
1841
+ value: input.name
1842
+ }), "string" === typeof input.dest || _report(_exceptionable, {
1843
+ path: _path + ".dest",
1844
+ expected: "string",
1845
+ value: input.dest
1846
+ }), 2 === Object.keys(input).length || (false === _exceptionable || Object.keys(input).map(key => {
1847
+ if (["name", "dest"].some(prop => key === prop))
1848
+ return true;
1849
+ const value = input[key];
1850
+ if (undefined === value)
1851
+ return true;
1852
+ return _report(_exceptionable, {
1853
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
1854
+ expected: "undefined",
1855
+ value: value,
1856
+ description: [
1857
+ `The property \`${key}\` is not defined in the object type.`,
1858
+ "",
1859
+ "Please remove the property next time."
1860
+ ].join("\n")
1861
+ });
1862
+ }).every(flag => flag))].every(flag => flag); const _vo3 = (input, _path, _exceptionable = true) => ["string" === typeof input.__spread__ && (typeof input.__spread__ === "string" && /^%%(ops|global).[^%]+%%$/.test(input.__spread__) || _report(_exceptionable, {
1863
+ path: _path + ".__spread__",
1864
+ expected: "string & TagBase<__type>",
1865
+ value: input.__spread__
1866
+ })) || _report(_exceptionable, {
1867
+ path: _path + ".__spread__",
1868
+ expected: "(string & TagBase<__type>)",
1869
+ value: input.__spread__
1870
+ }), undefined === input.chunked || "boolean" === typeof input.chunked || _report(_exceptionable, {
1871
+ path: _path + ".chunked",
1872
+ expected: "(boolean | undefined)",
1873
+ value: input.chunked
1874
+ }), 1 === Object.keys(input).length || (false === _exceptionable || Object.keys(input).map(key => {
1875
+ if (["__spread__", "chunked"].some(prop => key === prop))
1876
+ return true;
1877
+ const value = input[key];
1878
+ if (undefined === value)
1879
+ return true;
1880
+ return _report(_exceptionable, {
1881
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
1882
+ expected: "undefined",
1883
+ value: value,
1884
+ description: [
1885
+ `The property \`${key}\` is not defined in the object type.`,
1886
+ "",
1887
+ "Please remove the property next time."
1888
+ ].join("\n")
1889
+ });
1890
+ }).every(flag => flag))].every(flag => flag); const _vo4 = (input, _path, _exceptionable = true) => ["number" === typeof input.port || _report(_exceptionable, {
1891
+ path: _path + ".port",
1892
+ expected: "number",
1893
+ value: input.port
1894
+ }), undefined === input.type || "api" === input.type || "web" === input.type || "websocket" === input.type || "webapi" === input.type || "none" === input.type || _report(_exceptionable, {
1895
+ path: _path + ".type",
1896
+ expected: "(\"api\" | \"none\" | \"web\" | \"webapi\" | \"websocket\" | undefined)",
1897
+ value: input.type
1898
+ }), undefined === input.health_checks || (Array.isArray(input.health_checks) || _report(_exceptionable, {
1899
+ path: _path + ".health_checks",
1900
+ expected: "(Array<HealthCheck> | undefined)",
1901
+ value: input.health_checks
1902
+ })) && input.health_checks.map((elem, _index23) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1903
+ path: _path + ".health_checks[" + _index23 + "]",
1904
+ expected: "(HttpHealthCheck | WebSocketHealthCheck)",
1905
+ value: elem
1906
+ })) && _vu0(elem, _path + ".health_checks[" + _index23 + "]", true && _exceptionable) || _report(_exceptionable, {
1907
+ path: _path + ".health_checks[" + _index23 + "]",
1908
+ expected: "(HttpHealthCheck | WebSocketHealthCheck)",
1909
+ value: elem
1910
+ })).every(flag => flag) || _report(_exceptionable, {
1911
+ path: _path + ".health_checks",
1912
+ expected: "(Array<HealthCheck> | undefined)",
1913
+ value: input.health_checks
1914
+ }), 1 === Object.keys(input).length || (false === _exceptionable || Object.keys(input).map(key => {
1915
+ if (["port", "type", "health_checks"].some(prop => key === prop))
1916
+ return true;
1917
+ const value = input[key];
1918
+ if (undefined === value)
1919
+ return true;
1920
+ return _report(_exceptionable, {
1921
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
1922
+ expected: "undefined",
1923
+ value: value,
1924
+ description: [
1925
+ `The property \`${key}\` is not defined in the object type.`,
1926
+ "",
1927
+ "Please remove the property next time."
1928
+ ].join("\n")
1929
+ });
1930
+ }).every(flag => flag))].every(flag => flag); const _vo5 = (input, _path, _exceptionable = true) => ["http" === input.type || _report(_exceptionable, {
1931
+ path: _path + ".type",
1932
+ expected: "\"http\"",
1933
+ value: input.type
1934
+ }), "string" === typeof input.path || _report(_exceptionable, {
1935
+ path: _path + ".path",
1936
+ expected: "string",
1937
+ value: input.path
1938
+ }), "GET" === input.method || "POST" === input.method || "PUT" === input.method || "DELETE" === input.method || _report(_exceptionable, {
1939
+ path: _path + ".method",
1940
+ expected: "(\"DELETE\" | \"GET\" | \"POST\" | \"PUT\")",
1941
+ value: input.method
1942
+ }), "number" === typeof input.expected_status || _report(_exceptionable, {
1943
+ path: _path + ".expected_status",
1944
+ expected: "number",
1945
+ value: input.expected_status
1946
+ }), undefined === input.headers || ("object" === typeof input.headers && null !== input.headers && false === Array.isArray(input.headers) || _report(_exceptionable, {
1947
+ path: _path + ".headers",
1948
+ expected: "(Record<string, string> | undefined)",
1949
+ value: input.headers
1950
+ })) && _vo6(input.headers, _path + ".headers", true && _exceptionable) || _report(_exceptionable, {
1951
+ path: _path + ".headers",
1952
+ expected: "(Record<string, string> | undefined)",
1953
+ value: input.headers
1954
+ }), true, "boolean" === typeof input.continuous || _report(_exceptionable, {
1955
+ path: _path + ".continuous",
1956
+ expected: "boolean",
1957
+ value: input.continuous
1958
+ }), 5 === Object.keys(input).length || (false === _exceptionable || Object.keys(input).map(key => {
1959
+ if (["type", "path", "method", "expected_status", "headers", "body", "continuous"].some(prop => key === prop))
1960
+ return true;
1961
+ const value = input[key];
1962
+ if (undefined === value)
1963
+ return true;
1964
+ return _report(_exceptionable, {
1965
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
1966
+ expected: "undefined",
1967
+ value: value,
1968
+ description: [
1969
+ `The property \`${key}\` is not defined in the object type.`,
1970
+ "",
1971
+ "Please remove the property next time."
1972
+ ].join("\n")
1973
+ });
1974
+ }).every(flag => flag))].every(flag => flag); const _vo6 = (input, _path, _exceptionable = true) => [false === _exceptionable || Object.keys(input).map(key => {
1975
+ const value = input[key];
1976
+ if (undefined === value)
1977
+ return true;
1978
+ return "string" === typeof value || _report(_exceptionable, {
1979
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
1980
+ expected: "string",
1981
+ value: value
1982
+ });
1983
+ }).every(flag => flag)].every(flag => flag); const _vo7 = (input, _path, _exceptionable = true) => ["websocket" === input.type || _report(_exceptionable, {
1984
+ path: _path + ".type",
1985
+ expected: "\"websocket\"",
1986
+ value: input.type
1987
+ }), "string" === typeof input.expected_response || _report(_exceptionable, {
1988
+ path: _path + ".expected_response",
1989
+ expected: "string",
1990
+ value: input.expected_response
1991
+ }), "boolean" === typeof input.continuous || _report(_exceptionable, {
1992
+ path: _path + ".continuous",
1993
+ expected: "boolean",
1994
+ value: input.continuous
1995
+ }), 3 === Object.keys(input).length || (false === _exceptionable || Object.keys(input).map(key => {
1996
+ if (["type", "expected_response", "continuous"].some(prop => key === prop))
1997
+ return true;
1998
+ const value = input[key];
1999
+ if (undefined === value)
2000
+ return true;
2001
+ return _report(_exceptionable, {
2002
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
2003
+ expected: "undefined",
2004
+ value: value,
2005
+ description: [
2006
+ `The property \`${key}\` is not defined in the object type.`,
2007
+ "",
2008
+ "Please remove the property next time."
2009
+ ].join("\n")
2010
+ });
2011
+ }).every(flag => flag))].every(flag => flag); const _vo8 = (input, _path, _exceptionable = true) => [false === _exceptionable || Object.keys(input).map(key => {
2012
+ const value = input[key];
2013
+ if (undefined === value)
2014
+ return true;
2015
+ return "string" === typeof value || _report(_exceptionable, {
2016
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
2017
+ expected: "string",
2018
+ value: value
2019
+ });
2020
+ }).every(flag => flag)].every(flag => flag); const _vo9 = (input, _path, _exceptionable = true) => ["on-failure" === input.policy || _report(_exceptionable, {
2021
+ path: _path + ".policy",
2022
+ expected: "\"on-failure\"",
2023
+ value: input.policy
2024
+ }), undefined === input.restart_tries || "number" === typeof input.restart_tries || _report(_exceptionable, {
2025
+ path: _path + ".restart_tries",
2026
+ expected: "(number | undefined)",
2027
+ value: input.restart_tries
2028
+ }), 1 === Object.keys(input).length || (false === _exceptionable || Object.keys(input).map(key => {
2029
+ if (["policy", "restart_tries"].some(prop => key === prop))
2030
+ return true;
2031
+ const value = input[key];
2032
+ if (undefined === value)
2033
+ return true;
2034
+ return _report(_exceptionable, {
2035
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
2036
+ expected: "undefined",
2037
+ value: value,
2038
+ description: [
2039
+ `The property \`${key}\` is not defined in the object type.`,
2040
+ "",
2041
+ "Please remove the property next time."
2042
+ ].join("\n")
2043
+ });
2044
+ }).every(flag => flag))].every(flag => flag); const _vo10 = (input, _path, _exceptionable = true) => ["S3" === input.type || _report(_exceptionable, {
2045
+ path: _path + ".type",
2046
+ expected: "\"S3\"",
2047
+ value: input.type
2048
+ }), "string" === typeof input.target || _report(_exceptionable, {
2049
+ path: _path + ".target",
2050
+ expected: "string",
2051
+ value: input.target
2052
+ }), undefined === input.url || "string" === typeof input.url || _report(_exceptionable, {
2053
+ path: _path + ".url",
2054
+ expected: "(string | undefined)",
2055
+ value: input.url
2056
+ }), undefined === input.allowWrite || "boolean" === typeof input.allowWrite || _report(_exceptionable, {
2057
+ path: _path + ".allowWrite",
2058
+ expected: "(boolean | undefined)",
2059
+ value: input.allowWrite
2060
+ }), undefined === input.files || (Array.isArray(input.files) || _report(_exceptionable, {
2061
+ path: _path + ".files",
2062
+ expected: "(Array<string> | undefined)",
2063
+ value: input.files
2064
+ })) && input.files.map((elem, _index24) => "string" === typeof elem || _report(_exceptionable, {
2065
+ path: _path + ".files[" + _index24 + "]",
2066
+ expected: "string",
2067
+ value: elem
2068
+ })).every(flag => flag) || _report(_exceptionable, {
2069
+ path: _path + ".files",
2070
+ expected: "(Array<string> | undefined)",
2071
+ value: input.files
2072
+ }), undefined === input.IAM || ("object" === typeof input.IAM && null !== input.IAM || _report(_exceptionable, {
2073
+ path: _path + ".IAM",
2074
+ expected: "(S3Auth | undefined)",
2075
+ value: input.IAM
2076
+ })) && _vo11(input.IAM, _path + ".IAM", true && _exceptionable) || _report(_exceptionable, {
2077
+ path: _path + ".IAM",
2078
+ expected: "(S3Auth | undefined)",
2079
+ value: input.IAM
2080
+ }), 2 === Object.keys(input).length || (false === _exceptionable || Object.keys(input).map(key => {
2081
+ if (["type", "target", "url", "allowWrite", "files", "IAM"].some(prop => key === prop))
2082
+ return true;
2083
+ const value = input[key];
2084
+ if (undefined === value)
2085
+ return true;
2086
+ return _report(_exceptionable, {
2087
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
2088
+ expected: "undefined",
2089
+ value: value,
2090
+ description: [
2091
+ `The property \`${key}\` is not defined in the object type.`,
2092
+ "",
2093
+ "Please remove the property next time."
2094
+ ].join("\n")
2095
+ });
2096
+ }).every(flag => flag))].every(flag => flag); const _vo11 = (input, _path, _exceptionable = true) => ["string" === typeof input.REGION || _report(_exceptionable, {
2097
+ path: _path + ".REGION",
2098
+ expected: "string",
2099
+ value: input.REGION
2100
+ }), "string" === typeof input.ACCESS_KEY_ID || _report(_exceptionable, {
2101
+ path: _path + ".ACCESS_KEY_ID",
2102
+ expected: "string",
2103
+ value: input.ACCESS_KEY_ID
2104
+ }), "string" === typeof input.SECRET_ACCESS_KEY || _report(_exceptionable, {
2105
+ path: _path + ".SECRET_ACCESS_KEY",
2106
+ expected: "string",
2107
+ value: input.SECRET_ACCESS_KEY
2108
+ }), 3 === Object.keys(input).length || (false === _exceptionable || Object.keys(input).map(key => {
2109
+ if (["REGION", "ACCESS_KEY_ID", "SECRET_ACCESS_KEY"].some(prop => key === prop))
2110
+ return true;
2111
+ const value = input[key];
2112
+ if (undefined === value)
2113
+ return true;
2114
+ return _report(_exceptionable, {
2115
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
2116
+ expected: "undefined",
2117
+ value: value,
2118
+ description: [
2119
+ `The property \`${key}\` is not defined in the object type.`,
2120
+ "",
2121
+ "Please remove the property next time."
2122
+ ].join("\n")
2123
+ });
2124
+ }).every(flag => flag))].every(flag => flag); const _vo12 = (input, _path, _exceptionable = true) => ["S3" === input.type || _report(_exceptionable, {
2125
+ path: _path + ".type",
2126
+ expected: "\"S3\"",
2127
+ value: input.type
2128
+ }), "string" === typeof input.target || _report(_exceptionable, {
2129
+ path: _path + ".target",
2130
+ expected: "string",
2131
+ value: input.target
2132
+ }), "string" === typeof input.bucket || _report(_exceptionable, {
2133
+ path: _path + ".bucket",
2134
+ expected: "string",
2135
+ value: input.bucket
2136
+ }), undefined === input.url || "string" === typeof input.url || _report(_exceptionable, {
2137
+ path: _path + ".url",
2138
+ expected: "(string | undefined)",
2139
+ value: input.url
2140
+ }), undefined === input.allowWrite || "boolean" === typeof input.allowWrite || _report(_exceptionable, {
2141
+ path: _path + ".allowWrite",
2142
+ expected: "(boolean | undefined)",
2143
+ value: input.allowWrite
2144
+ }), undefined === input.IAM || ("object" === typeof input.IAM && null !== input.IAM || _report(_exceptionable, {
2145
+ path: _path + ".IAM",
2146
+ expected: "(S3Auth | undefined)",
2147
+ value: input.IAM
2148
+ })) && _vo11(input.IAM, _path + ".IAM", true && _exceptionable) || _report(_exceptionable, {
2149
+ path: _path + ".IAM",
2150
+ expected: "(S3Auth | undefined)",
2151
+ value: input.IAM
2152
+ }), 3 === Object.keys(input).length || (false === _exceptionable || Object.keys(input).map(key => {
2153
+ if (["type", "target", "bucket", "url", "allowWrite", "IAM"].some(prop => key === prop))
2154
+ return true;
2155
+ const value = input[key];
2156
+ if (undefined === value)
2157
+ return true;
2158
+ return _report(_exceptionable, {
2159
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
2160
+ expected: "undefined",
2161
+ value: value,
2162
+ description: [
2163
+ `The property \`${key}\` is not defined in the object type.`,
2164
+ "",
2165
+ "Please remove the property next time."
2166
+ ].join("\n")
2167
+ });
2168
+ }).every(flag => flag))].every(flag => flag); const _vo13 = (input, _path, _exceptionable = true) => ["S3" === input.type || _report(_exceptionable, {
2169
+ path: _path + ".type",
2170
+ expected: "\"S3\"",
2171
+ value: input.type
2172
+ }), "string" === typeof input.target || _report(_exceptionable, {
2173
+ path: _path + ".target",
2174
+ expected: "string",
2175
+ value: input.target
2176
+ }), (Array.isArray(input.buckets) || _report(_exceptionable, {
2177
+ path: _path + ".buckets",
2178
+ expected: "Array<__type>",
2179
+ value: input.buckets
2180
+ })) && input.buckets.map((elem, _index25) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
2181
+ path: _path + ".buckets[" + _index25 + "]",
2182
+ expected: "__type.o5",
2183
+ value: elem
2184
+ })) && _vo14(elem, _path + ".buckets[" + _index25 + "]", true && _exceptionable) || _report(_exceptionable, {
2185
+ path: _path + ".buckets[" + _index25 + "]",
2186
+ expected: "__type.o5",
2187
+ value: elem
2188
+ })).every(flag => flag) || _report(_exceptionable, {
2189
+ path: _path + ".buckets",
2190
+ expected: "Array<__type>",
2191
+ value: input.buckets
2192
+ }), undefined === input.url || "string" === typeof input.url || _report(_exceptionable, {
2193
+ path: _path + ".url",
2194
+ expected: "(string | undefined)",
2195
+ value: input.url
2196
+ }), undefined === input.allowWrite || "boolean" === typeof input.allowWrite || _report(_exceptionable, {
2197
+ path: _path + ".allowWrite",
2198
+ expected: "(boolean | undefined)",
2199
+ value: input.allowWrite
2200
+ }), undefined === input.IAM || ("object" === typeof input.IAM && null !== input.IAM || _report(_exceptionable, {
2201
+ path: _path + ".IAM",
2202
+ expected: "(S3Auth | undefined)",
2203
+ value: input.IAM
2204
+ })) && _vo11(input.IAM, _path + ".IAM", true && _exceptionable) || _report(_exceptionable, {
2205
+ path: _path + ".IAM",
2206
+ expected: "(S3Auth | undefined)",
2207
+ value: input.IAM
2208
+ }), 3 === Object.keys(input).length || (false === _exceptionable || Object.keys(input).map(key => {
2209
+ if (["type", "target", "buckets", "url", "allowWrite", "IAM"].some(prop => key === prop))
2210
+ return true;
2211
+ const value = input[key];
2212
+ if (undefined === value)
2213
+ return true;
2214
+ return _report(_exceptionable, {
2215
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
2216
+ expected: "undefined",
2217
+ value: value,
2218
+ description: [
2219
+ `The property \`${key}\` is not defined in the object type.`,
2220
+ "",
2221
+ "Please remove the property next time."
2222
+ ].join("\n")
2223
+ });
2224
+ }).every(flag => flag))].every(flag => flag); const _vo14 = (input, _path, _exceptionable = true) => ["string" === typeof input.url || _report(_exceptionable, {
2225
+ path: _path + ".url",
2226
+ expected: "string",
2227
+ value: input.url
2228
+ }), undefined === input.files || (Array.isArray(input.files) || _report(_exceptionable, {
2229
+ path: _path + ".files",
2230
+ expected: "(Array<string> | undefined)",
2231
+ value: input.files
2232
+ })) && input.files.map((elem, _index26) => "string" === typeof elem || _report(_exceptionable, {
2233
+ path: _path + ".files[" + _index26 + "]",
2234
+ expected: "string",
2235
+ value: elem
2236
+ })).every(flag => flag) || _report(_exceptionable, {
2237
+ path: _path + ".files",
2238
+ expected: "(Array<string> | undefined)",
2239
+ value: input.files
2240
+ }), 1 === Object.keys(input).length || (false === _exceptionable || Object.keys(input).map(key => {
2241
+ if (["url", "files"].some(prop => key === prop))
2242
+ return true;
2243
+ const value = input[key];
2244
+ if (undefined === value)
2245
+ return true;
2246
+ return _report(_exceptionable, {
2247
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
2248
+ expected: "undefined",
2249
+ value: value,
2250
+ description: [
2251
+ `The property \`${key}\` is not defined in the object type.`,
2252
+ "",
2253
+ "Please remove the property next time."
2254
+ ].join("\n")
2255
+ });
2256
+ }).every(flag => flag))].every(flag => flag); const _vo15 = (input, _path, _exceptionable = true) => ["HF" === input.type || _report(_exceptionable, {
2257
+ path: _path + ".type",
2258
+ expected: "\"HF\"",
2259
+ value: input.type
2260
+ }), "string" === typeof input.target || _report(_exceptionable, {
2261
+ path: _path + ".target",
2262
+ expected: "string",
2263
+ value: input.target
2264
+ }), "string" === typeof input.repo || _report(_exceptionable, {
2265
+ path: _path + ".repo",
2266
+ expected: "string",
2267
+ value: input.repo
2268
+ }), undefined === input.revision || "string" === typeof input.revision || _report(_exceptionable, {
2269
+ path: _path + ".revision",
2270
+ expected: "(string | undefined)",
2271
+ value: input.revision
2272
+ }), undefined === input.files || (Array.isArray(input.files) || _report(_exceptionable, {
2273
+ path: _path + ".files",
2274
+ expected: "(Array<string> | undefined)",
2275
+ value: input.files
2276
+ })) && input.files.map((elem, _index27) => "string" === typeof elem || _report(_exceptionable, {
2277
+ path: _path + ".files[" + _index27 + "]",
2278
+ expected: "string",
2279
+ value: elem
2280
+ })).every(flag => flag) || _report(_exceptionable, {
2281
+ path: _path + ".files",
2282
+ expected: "(Array<string> | undefined)",
2283
+ value: input.files
2284
+ }), undefined === input.accessToken || "string" === typeof input.accessToken || _report(_exceptionable, {
2285
+ path: _path + ".accessToken",
2286
+ expected: "(string | undefined)",
2287
+ value: input.accessToken
2288
+ }), 3 === Object.keys(input).length || (false === _exceptionable || Object.keys(input).map(key => {
2289
+ if (["type", "target", "repo", "revision", "files", "accessToken"].some(prop => key === prop))
2290
+ return true;
2291
+ const value = input[key];
2292
+ if (undefined === value)
2293
+ return true;
2294
+ return _report(_exceptionable, {
2295
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
2296
+ expected: "undefined",
2297
+ value: value,
2298
+ description: [
2299
+ `The property \`${key}\` is not defined in the object type.`,
2300
+ "",
2301
+ "Please remove the property next time."
2302
+ ].join("\n")
2303
+ });
2304
+ }).every(flag => flag))].every(flag => flag); const _vo16 = (input, _path, _exceptionable = true) => ["Ollama" === input.type || _report(_exceptionable, {
2305
+ path: _path + ".type",
2306
+ expected: "\"Ollama\"",
2307
+ value: input.type
2308
+ }), "string" === typeof input.model || _report(_exceptionable, {
2309
+ path: _path + ".model",
2310
+ expected: "string",
2311
+ value: input.model
2312
+ }), undefined === input.target || "string" === typeof input.target || _report(_exceptionable, {
2313
+ path: _path + ".target",
2314
+ expected: "(string | undefined)",
2315
+ value: input.target
2316
+ }), 2 === Object.keys(input).length || (false === _exceptionable || Object.keys(input).map(key => {
2317
+ if (["type", "model", "target"].some(prop => key === prop))
2318
+ return true;
2319
+ const value = input[key];
2320
+ if (undefined === value)
2321
+ return true;
2322
+ return _report(_exceptionable, {
2323
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
2324
+ expected: "undefined",
2325
+ value: value,
2326
+ description: [
2327
+ `The property \`${key}\` is not defined in the object type.`,
2328
+ "",
2329
+ "Please remove the property next time."
2330
+ ].join("\n")
2331
+ });
2332
+ }).every(flag => flag))].every(flag => flag); const _vo17 = (input, _path, _exceptionable = true) => [undefined === input.docker || ("object" === typeof input.docker && null !== input.docker && false === Array.isArray(input.docker) || _report(_exceptionable, {
2333
+ path: _path + ".docker",
2334
+ expected: "(DockerAuth | undefined)",
2335
+ value: input.docker
2336
+ })) && _vo18(input.docker, _path + ".docker", true && _exceptionable) || _report(_exceptionable, {
2337
+ path: _path + ".docker",
2338
+ expected: "(DockerAuth | undefined)",
2339
+ value: input.docker
2340
+ }), 0 === Object.keys(input).length || (false === _exceptionable || Object.keys(input).map(key => {
2341
+ if (["docker"].some(prop => key === prop))
2342
+ return true;
2343
+ const value = input[key];
2344
+ if (undefined === value)
2345
+ return true;
2346
+ return _report(_exceptionable, {
2347
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
2348
+ expected: "undefined",
2349
+ value: value,
2350
+ description: [
2351
+ `The property \`${key}\` is not defined in the object type.`,
2352
+ "",
2353
+ "Please remove the property next time."
2354
+ ].join("\n")
2355
+ });
2356
+ }).every(flag => flag))].every(flag => flag); const _vo18 = (input, _path, _exceptionable = true) => [undefined === input.username || "string" === typeof input.username || _report(_exceptionable, {
2357
+ path: _path + ".username",
2358
+ expected: "(string | undefined)",
2359
+ value: input.username
2360
+ }), undefined === input.password || "string" === typeof input.password || _report(_exceptionable, {
2361
+ path: _path + ".password",
2362
+ expected: "(string | undefined)",
2363
+ value: input.password
2364
+ }), undefined === input.email || "string" === typeof input.email || _report(_exceptionable, {
2365
+ path: _path + ".email",
2366
+ expected: "(string | undefined)",
2367
+ value: input.email
2368
+ }), undefined === input.server || "string" === typeof input.server || _report(_exceptionable, {
2369
+ path: _path + ".server",
2370
+ expected: "(string | undefined)",
2371
+ value: input.server
2372
+ }), 0 === Object.keys(input).length || (false === _exceptionable || Object.keys(input).map(key => {
2373
+ if (["username", "password", "email", "server"].some(prop => key === prop))
2374
+ return true;
2375
+ const value = input[key];
2376
+ if (undefined === value)
2377
+ return true;
2378
+ return _report(_exceptionable, {
2379
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
2380
+ expected: "undefined",
2381
+ value: value,
2382
+ description: [
2383
+ `The property \`${key}\` is not defined in the object type.`,
2384
+ "",
2385
+ "Please remove the property next time."
2386
+ ].join("\n")
2387
+ });
2388
+ }).every(flag => flag))].every(flag => flag); const _vo19 = (input, _path, _exceptionable = true) => ["string" === typeof input.name || _report(_exceptionable, {
2389
+ path: _path + ".name",
2390
+ expected: "string",
2391
+ value: input.name
2392
+ }), 1 === Object.keys(input).length || (false === _exceptionable || Object.keys(input).map(key => {
2393
+ if (["name"].some(prop => key === prop))
2394
+ return true;
2395
+ const value = input[key];
2396
+ if (undefined === value)
2397
+ return true;
2398
+ return _report(_exceptionable, {
2399
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
2400
+ expected: "undefined",
2401
+ value: value,
2402
+ description: [
2403
+ `The property \`${key}\` is not defined in the object type.`,
2404
+ "",
2405
+ "Please remove the property next time."
2406
+ ].join("\n")
2407
+ });
2408
+ }).every(flag => flag))].every(flag => flag); const _vo20 = (input, _path, _exceptionable = true) => [false === _exceptionable || Object.keys(input).map(key => {
2409
+ const value = input[key];
2410
+ if (undefined === value)
2411
+ return true;
2412
+ return (null !== value || _report(_exceptionable, {
2413
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
2414
+ expected: "(OperationResult | string)",
2415
+ value: value
2416
+ })) && (undefined !== value || _report(_exceptionable, {
2417
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
2418
+ expected: "(OperationResult | string)",
2419
+ value: value
2420
+ })) && ("string" === typeof value || ("object" === typeof value && null !== value || _report(_exceptionable, {
2421
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
2422
+ expected: "(OperationResult | string)",
2423
+ value: value
2424
+ })) && _vo21(value, _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key), true && _exceptionable) || _report(_exceptionable, {
2425
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
2426
+ expected: "(OperationResult | string)",
2427
+ value: value
2428
+ }));
2429
+ }).every(flag => flag)].every(flag => flag); const _vo21 = (input, _path, _exceptionable = true) => ["string" === typeof input.regex || _report(_exceptionable, {
2430
+ path: _path + ".regex",
2431
+ expected: "string",
2432
+ value: input.regex
2433
+ }), (Array.isArray(input.logType) || _report(_exceptionable, {
2434
+ path: _path + ".logType",
2435
+ expected: "(Array<StdOption> & UniqueLogTypeTag)",
2436
+ value: input.logType
2437
+ })) && ((Array.isArray(input.logType) && input.logType.length >= 1 && input.logType.length <= 4 && (() => {
2438
+ const seen = new Set();
2439
+ for (const v of input.logType) {
2440
+ if (seen.has(v))
2441
+ return false;
2442
+ seen.add(v);
2443
+ }
2444
+ return true;
2445
+ })() || _report(_exceptionable, {
2446
+ path: _path + ".logType",
2447
+ expected: "Array<> & UniqueLogTypeTag",
2448
+ value: input.logType
2449
+ })) && input.logType.map((elem, _index28) => "stdin" === elem || "stdout" === elem || "stderr" === elem || "nodeerr" === elem || _report(_exceptionable, {
2450
+ path: _path + ".logType[" + _index28 + "]",
2451
+ expected: "(\"nodeerr\" | \"stderr\" | \"stdin\" | \"stdout\")",
2452
+ value: elem
2453
+ })).every(flag => flag)) || _report(_exceptionable, {
2454
+ path: _path + ".logType",
2455
+ expected: "(Array<StdOption> & UniqueLogTypeTag)",
2456
+ value: input.logType
2457
+ }), 2 === Object.keys(input).length || (false === _exceptionable || Object.keys(input).map(key => {
2458
+ if (["regex", "logType"].some(prop => key === prop))
2459
+ return true;
2460
+ const value = input[key];
2461
+ if (undefined === value)
2462
+ return true;
2463
+ return _report(_exceptionable, {
2464
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
2465
+ expected: "undefined",
2466
+ value: value,
2467
+ description: [
2468
+ `The property \`${key}\` is not defined in the object type.`,
2469
+ "",
2470
+ "Please remove the property next time."
2471
+ ].join("\n")
2472
+ });
2473
+ }).every(flag => flag))].every(flag => flag); const _vo22 = (input, _path, _exceptionable = true) => [undefined === input.group || "string" === typeof input.group || _report(_exceptionable, {
2474
+ path: _path + ".group",
2475
+ expected: "(string | undefined)",
2476
+ value: input.group
2477
+ }), undefined === input.timeout || "number" === typeof input.timeout || _report(_exceptionable, {
2478
+ path: _path + ".timeout",
2479
+ expected: "(number | undefined)",
2480
+ value: input.timeout
2481
+ }), (null !== input.depends_on || _report(_exceptionable, {
2482
+ path: _path + ".depends_on",
2483
+ expected: "undefined",
2484
+ value: input.depends_on
2485
+ })) && (undefined === input.depends_on || _report(_exceptionable, {
2486
+ path: _path + ".depends_on",
2487
+ expected: "undefined",
2488
+ value: input.depends_on
2489
+ })), (null !== input.stop_if_dependent_stops || _report(_exceptionable, {
2490
+ path: _path + ".stop_if_dependent_stops",
2491
+ expected: "undefined",
2492
+ value: input.stop_if_dependent_stops
2493
+ })) && (undefined === input.stop_if_dependent_stops || _report(_exceptionable, {
2494
+ path: _path + ".stop_if_dependent_stops",
2495
+ expected: "undefined",
2496
+ value: input.stop_if_dependent_stops
2497
+ })), 0 === Object.keys(input).length || (false === _exceptionable || Object.keys(input).map(key => {
2498
+ if (["group", "timeout", "depends_on", "stop_if_dependent_stops"].some(prop => key === prop))
2499
+ return true;
2500
+ const value = input[key];
2501
+ if (undefined === value)
2502
+ return true;
2503
+ return _report(_exceptionable, {
2504
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
2505
+ expected: "undefined",
2506
+ value: value,
2507
+ description: [
2508
+ `The property \`${key}\` is not defined in the object type.`,
2509
+ "",
2510
+ "Please remove the property next time."
2511
+ ].join("\n")
2512
+ });
2513
+ }).every(flag => flag))].every(flag => flag); const _vo23 = (input, _path, _exceptionable = true) => [undefined === input.group || "string" === typeof input.group || _report(_exceptionable, {
2514
+ path: _path + ".group",
2515
+ expected: "(string | undefined)",
2516
+ value: input.group
2517
+ }), undefined === input.timeout || "number" === typeof input.timeout || _report(_exceptionable, {
2518
+ path: _path + ".timeout",
2519
+ expected: "(number | undefined)",
2520
+ value: input.timeout
2521
+ }), (Array.isArray(input.depends_on) || _report(_exceptionable, {
2522
+ path: _path + ".depends_on",
2523
+ expected: "Array<string>",
2524
+ value: input.depends_on
2525
+ })) && input.depends_on.map((elem, _index29) => "string" === typeof elem || _report(_exceptionable, {
2526
+ path: _path + ".depends_on[" + _index29 + "]",
2527
+ expected: "string",
2528
+ value: elem
2529
+ })).every(flag => flag) || _report(_exceptionable, {
2530
+ path: _path + ".depends_on",
2531
+ expected: "Array<string>",
2532
+ value: input.depends_on
2533
+ }), undefined === input.stop_if_dependent_stops || "boolean" === typeof input.stop_if_dependent_stops || _report(_exceptionable, {
2534
+ path: _path + ".stop_if_dependent_stops",
2535
+ expected: "(boolean | undefined)",
2536
+ value: input.stop_if_dependent_stops
2537
+ }), 1 === Object.keys(input).length || (false === _exceptionable || Object.keys(input).map(key => {
2538
+ if (["group", "timeout", "depends_on", "stop_if_dependent_stops"].some(prop => key === prop))
2539
+ return true;
2540
+ const value = input[key];
2541
+ if (undefined === value)
2542
+ return true;
2543
+ return _report(_exceptionable, {
2544
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
2545
+ expected: "undefined",
2546
+ value: value,
2547
+ description: [
2548
+ `The property \`${key}\` is not defined in the object type.`,
2549
+ "",
2550
+ "Please remove the property next time."
2551
+ ].join("\n")
2552
+ });
2553
+ }).every(flag => flag))].every(flag => flag); const _vu0 = (input, _path, _exceptionable = true) => (() => {
2554
+ if ("http" === input.type)
2555
+ return _vo5(input, _path, true && _exceptionable);
2556
+ else if ("websocket" === input.type)
2557
+ return _vo7(input, _path, true && _exceptionable);
2558
+ else
2559
+ return _report(_exceptionable, {
2560
+ path: _path,
2561
+ expected: "(HttpHealthCheck | WebSocketHealthCheck)",
2562
+ value: input
2563
+ });
2564
+ })(); const _vu1 = (input, _path, _exceptionable = true) => (() => {
2565
+ if (undefined !== input.__spread__)
2566
+ return _vo3(input, _path, true && _exceptionable);
2567
+ else if (undefined !== input.port)
2568
+ return _vo4(input, _path, true && _exceptionable);
2569
+ else
2570
+ return _report(_exceptionable, {
2571
+ path: _path,
2572
+ expected: "(__type | ExposedPort)",
2573
+ value: input
2574
+ });
2575
+ })(); const _vu2 = (input, _path, _exceptionable = true) => (() => {
2576
+ if (undefined !== input.__spread__)
2577
+ return _vo3(input, _path, true && _exceptionable);
2578
+ else if (undefined !== input.bucket)
2579
+ return _vo12(input, _path, true && _exceptionable);
2580
+ else if (undefined !== input.buckets)
2581
+ return _vo13(input, _path, true && _exceptionable);
2582
+ else if ("HF" === input.type)
2583
+ return _vo15(input, _path, true && _exceptionable);
2584
+ else if ("Ollama" === input.type)
2585
+ return _vo16(input, _path, true && _exceptionable);
2586
+ else
2587
+ return _vo10(input, _path, true && _exceptionable);
2588
+ })(); const _vu3 = (input, _path, _exceptionable = true) => (() => {
2589
+ if (undefined !== input.image)
2590
+ return _vo1(input, _path, true && _exceptionable);
2591
+ else if (undefined !== input.name)
2592
+ return _vo19(input, _path, true && _exceptionable);
2593
+ else
2594
+ return _report(_exceptionable, {
2595
+ path: _path,
2596
+ expected: "(ContainerRun | ContainerCreateVolume)",
2597
+ value: input
2598
+ });
2599
+ })(); const _vu4 = (input, _path, _exceptionable = true) => (() => {
2600
+ if (Array.isArray(input.depends_on) && input.depends_on.map((elem, _index30) => "string" === typeof elem).every(flag => flag))
2601
+ return _vo23(input, _path, true && _exceptionable);
2602
+ else
2603
+ return _vo22(input, _path, true && _exceptionable);
2604
+ })(); const __is = (input, _exceptionable = true) => Array.isArray(input) && (Array.isArray(input) && (() => {
2605
+ const seen = new Set();
2606
+ for (const it of input) {
2607
+ if (typeof it?.id !== "string")
2608
+ return false;
2609
+ if (seen.has(it.id))
2610
+ return false;
2611
+ seen.add(it.id);
2612
+ }
2613
+ return true;
2614
+ })() && input.every((elem, _index1) => "object" === typeof elem && null !== elem && _io0(elem, true))); let errors; let _report; return __typia_transform__createStandardSchema._createStandardSchema(input => {
2615
+ if (false === __is(input)) {
2616
+ errors = [];
2617
+ _report = __typia_transform__validateReport._validateReport(errors);
2618
+ ((input, _path, _exceptionable = true) => (Array.isArray(input) || _report(true, {
2619
+ path: _path + "",
2620
+ expected: "(Ops & UniqueById)",
2621
+ value: input
2622
+ })) && ((Array.isArray(input) && (() => {
2623
+ const seen = new Set();
2624
+ for (const it of input) {
2625
+ if (typeof it?.id !== "string")
2626
+ return false;
2627
+ if (seen.has(it.id))
2628
+ return false;
2629
+ seen.add(it.id);
2630
+ }
2631
+ return true;
2632
+ })() || _report(_exceptionable, {
2633
+ path: _path + "",
2634
+ expected: "Array<> & UniqueById",
2635
+ value: input
2636
+ })) && input.map((elem, _index16) => ("object" === typeof elem && null !== elem || _report(true, {
2637
+ path: _path + "[" + _index16 + "]",
2638
+ expected: "Operation<keyof OperationArgsMap>",
2639
+ value: elem
2640
+ })) && _vo0(elem, _path + "[" + _index16 + "]", true) || _report(true, {
2641
+ path: _path + "[" + _index16 + "]",
2642
+ expected: "Operation<keyof OperationArgsMap>",
2643
+ value: elem
2644
+ })).every(flag => flag)) || _report(true, {
2645
+ path: _path + "",
2646
+ expected: "(Ops & UniqueById)",
2647
+ value: input
2648
+ }))(input, "$input", true);
2649
+ const success = 0 === errors.length;
2650
+ return success ? {
2651
+ success,
2652
+ data: input
2653
+ } : {
2654
+ success,
2655
+ errors,
2656
+ data: input
2657
+ };
2658
+ }
2659
+ return {
2660
+ success: true,
2661
+ data: input
2662
+ };
2663
+ }); })();
3
2664
  //# sourceMappingURL=index.js.map