openxiangda-devkit-core 2.52.0 → 2.55.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app-spec.d.ts +1 -1
- package/dist/app-spec.js +1 -1
- package/dist/application-operations.d.ts +202 -0
- package/dist/application-operations.d.ts.map +1 -0
- package/dist/application-operations.js +125 -0
- package/dist/application-operations.js.map +1 -0
- package/dist/application-services.d.ts +40 -1
- package/dist/application-services.d.ts.map +1 -1
- package/dist/application-services.js +17 -2
- package/dist/application-services.js.map +1 -1
- package/dist/backend-image-build.d.ts.map +1 -1
- package/dist/backend-image-build.js +8 -5
- package/dist/backend-image-build.js.map +1 -1
- package/dist/backend-image-candidate.d.ts +4 -1
- package/dist/backend-image-candidate.d.ts.map +1 -1
- package/dist/backend-image-candidate.js +42 -11
- package/dist/backend-image-candidate.js.map +1 -1
- package/dist/backend-image-inputs.d.ts +3 -0
- package/dist/backend-image-inputs.d.ts.map +1 -0
- package/dist/backend-image-inputs.js +19 -0
- package/dist/backend-image-inputs.js.map +1 -0
- package/dist/command-registry.d.ts +4 -4
- package/dist/command-registry.js +1 -1
- package/dist/command-registry.js.map +1 -1
- package/dist/compiler/bundle.d.ts.map +1 -1
- package/dist/compiler/bundle.js +16 -3
- package/dist/compiler/bundle.js.map +1 -1
- package/dist/compiler/config.d.ts.map +1 -1
- package/dist/compiler/config.js +2 -1
- package/dist/compiler/config.js.map +1 -1
- package/dist/compiler/permission-review.d.ts +1 -1
- package/dist/control-plane-client.d.ts +5 -0
- package/dist/control-plane-client.d.ts.map +1 -1
- package/dist/control-plane-client.js +94 -0
- package/dist/control-plane-client.js.map +1 -1
- package/dist/developer-errors.d.ts +1 -0
- package/dist/developer-errors.d.ts.map +1 -1
- package/dist/developer-errors.js +3 -0
- package/dist/developer-errors.js.map +1 -1
- package/dist/documentation.d.ts +7 -3
- package/dist/documentation.d.ts.map +1 -1
- package/dist/documentation.js +1 -0
- package/dist/documentation.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/optional-backend.d.ts.map +1 -1
- package/dist/optional-backend.js +6 -0
- package/dist/optional-backend.js.map +1 -1
- package/package.json +4 -2
- package/templates/backend/Dockerfile +13 -6
- package/templates/backend/Dockerfile.dockerignore +19 -0
- package/templates/backend-inputs/legacy.Dockerfile +21 -0
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export declare const BACKEND_IMAGE_CACHE_METADATA_BYTES: number;
|
|
1
2
|
export interface BackendImageRecoveryScope {
|
|
2
3
|
platform: string;
|
|
3
4
|
tenantId: string;
|
|
@@ -14,13 +15,15 @@ export declare class BackendImageCandidateError extends Error {
|
|
|
14
15
|
readonly retryable: boolean;
|
|
15
16
|
constructor(code: string, message: string, data?: Record<string, unknown>, retryable?: boolean);
|
|
16
17
|
}
|
|
17
|
-
/** Hash
|
|
18
|
+
/** Hash actual inputs, including dirty/untracked files; unknown Dockerfiles use the entire context. */
|
|
18
19
|
export declare function backendImageContextDigest(root: string, dockerfile: string): Promise<string>;
|
|
19
20
|
export declare function withBackendImageCandidate<T>(input: {
|
|
20
21
|
root: string;
|
|
21
22
|
dockerfile: string;
|
|
22
23
|
scope: BackendImageRecoveryScope;
|
|
23
24
|
maxImageBytes: number;
|
|
25
|
+
/** Retain sealed bytes after success. Platform receipts, never this cache, own remote availability. */
|
|
26
|
+
retainCompleted?: boolean;
|
|
24
27
|
/** @internal Temporary private directory for executable tests. */
|
|
25
28
|
cacheRoot?: string;
|
|
26
29
|
build: (directory: string) => Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backend-image-candidate.d.ts","sourceRoot":"","sources":["../src/backend-image-candidate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"backend-image-candidate.d.ts","sourceRoot":"","sources":["../src/backend-image-candidate.ts"],"names":[],"mappings":"AAqBA,eAAO,MAAM,kCAAkC,QAAwB,CAAC;AAGxE,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAWD,qBAAa,0BAA2B,SAAQ,KAAK;IAEvC,QAAQ,CAAC,IAAI,EAAE,MAAM;IAAmB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAD1F,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;gBACP,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAW,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EAAE,SAAS,UAAQ;CAKnH;AA8DD,uGAAuG;AACvG,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAuDjG;AA4DD,wBAAsB,yBAAyB,CAAC,CAAC,EAAE,KAAK,EAAE;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,yBAAyB,CAAC;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,uGAAuG;IACvG,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;CACxF,GAAG,OAAO,CAAC,CAAC,CAAC,CAmEb"}
|
|
@@ -6,6 +6,8 @@ import { createRequire } from 'node:module';
|
|
|
6
6
|
import { lock } from 'proper-lockfile';
|
|
7
7
|
import { inspectBackendOciLayout } from './backend-image-upload.js';
|
|
8
8
|
import { backendImageUploadFailure } from './backend-image-upload-failure.js';
|
|
9
|
+
import { backendImageInputPaths } from './backend-image-inputs.js';
|
|
10
|
+
import { skippedOperationStage } from './operation-progress.js';
|
|
9
11
|
const SCHEMA = 'openxiangda.backend-image-candidate/v1';
|
|
10
12
|
const KEY = /^[a-f0-9]{64}$/;
|
|
11
13
|
const DIGEST = /^sha256:[a-f0-9]{64}$/;
|
|
@@ -13,6 +15,8 @@ const TTL = 24 * 60 * 60 * 1000;
|
|
|
13
15
|
const MAX_ENTRIES = 8;
|
|
14
16
|
const MAX_BYTES = 8 * 1024 ** 3;
|
|
15
17
|
const CANDIDATE_BYTES = MAX_BYTES;
|
|
18
|
+
// inspectBackendOciLayout caps both OCI metadata files at 256 KiB; candidate.json at 4 KiB.
|
|
19
|
+
export const BACKEND_IMAGE_CACHE_METADATA_BYTES = 2 * 256 * 1024 + 4096;
|
|
16
20
|
const dockerignore = createRequire(import.meta.url)('@balena/dockerignore');
|
|
17
21
|
export class BackendImageCandidateError extends Error {
|
|
18
22
|
code;
|
|
@@ -90,7 +94,7 @@ async function lease(path, retries = 0) {
|
|
|
90
94
|
throw error;
|
|
91
95
|
}
|
|
92
96
|
}
|
|
93
|
-
/** Hash
|
|
97
|
+
/** Hash actual inputs, including dirty/untracked files; unknown Dockerfiles use the entire context. */
|
|
94
98
|
export async function backendImageContextDigest(root, dockerfile) {
|
|
95
99
|
const ignorePath = existsSync(`${dockerfile}.dockerignore`) ? `${dockerfile}.dockerignore` : join(root, '.dockerignore');
|
|
96
100
|
for (const path of [dockerfile, ignorePath]) {
|
|
@@ -103,6 +107,8 @@ export async function backendImageContextDigest(root, dockerfile) {
|
|
|
103
107
|
if (Buffer.byteLength(rules) > 256 * 1024)
|
|
104
108
|
fail('CONTEXT_LIMIT', 'Docker ignore 文件超过 256 KiB');
|
|
105
109
|
const matcher = dockerignore({ ignorecase: false }).add(rules);
|
|
110
|
+
const inputs = backendImageInputPaths(root, dockerfile);
|
|
111
|
+
const relevant = (path) => !inputs || inputs.some(input => path === input || path.startsWith(`${input}/`) || input.startsWith(`${path}/`));
|
|
106
112
|
const exceptions = rules.split(/\r?\n/).map(line => line.trim()).filter(line => line.startsWith('!')).map(line => line.slice(1).replace(/^\/+|\/+$/g, ''));
|
|
107
113
|
// When an exclusion can re-include descendants we must walk the excluded parent.
|
|
108
114
|
const mayInclude = (path) => exceptions.some(pattern => {
|
|
@@ -123,11 +129,12 @@ export async function backendImageContextDigest(root, dockerfile) {
|
|
|
123
129
|
const path = join(directory, name);
|
|
124
130
|
const relativePath = relative(root, path).replaceAll('\\', '/');
|
|
125
131
|
const stat = lstatSync(path);
|
|
126
|
-
const
|
|
132
|
+
const required = path === dockerfile || path === ignorePath;
|
|
133
|
+
const included = required || (relevant(relativePath) && !matcher.ignores(relativePath));
|
|
127
134
|
if (stat.isDirectory()) {
|
|
128
135
|
if (included)
|
|
129
136
|
hash.update(JSON.stringify(['d', relativePath, stat.mode & 0o777]));
|
|
130
|
-
if (included || mayInclude(relativePath) || dockerfile.startsWith(`${path}/`) || ignorePath.startsWith(`${path}/`))
|
|
137
|
+
if (included || (relevant(relativePath) && mayInclude(relativePath)) || dockerfile.startsWith(`${path}/`) || ignorePath.startsWith(`${path}/`))
|
|
131
138
|
await walk(path);
|
|
132
139
|
}
|
|
133
140
|
else if (included && stat.isSymbolicLink()) {
|
|
@@ -251,7 +258,8 @@ export async function withBackendImageCandidate(input) {
|
|
|
251
258
|
const dockerfile = join(root, relative(resolve(input.root), input.dockerfile));
|
|
252
259
|
const contextDigest = await backendImageContextDigest(root, dockerfile);
|
|
253
260
|
const key = createHash('sha256').update(JSON.stringify([SCHEMA, root, relative(root, input.dockerfile), platform.href.replace(/\/+$/, ''),
|
|
254
|
-
scope.tenantId, scope.userId, scope.appCode, scope.environmentKey, scope.environmentId ?? '',
|
|
261
|
+
scope.tenantId, scope.userId, scope.appCode, scope.environmentKey, scope.environmentId ?? '',
|
|
262
|
+
input.retainCompleted ? 'build-input-reuse/v1' : scope.configurationDigest, scope.toolchainVersion, contextDigest])).digest('hex');
|
|
255
263
|
const cacheRoot = resolve(input.cacheRoot || join(realpathSync(homedir()), '.openxiangda', 'cache', 'backend-images'));
|
|
256
264
|
if (cacheRoot === root || cacheRoot.startsWith(`${root}/`))
|
|
257
265
|
fail('CACHE_PATH_INVALID', '镜像缓存不能进入 Docker 构建上下文');
|
|
@@ -261,28 +269,51 @@ export async function withBackendImageCandidate(input) {
|
|
|
261
269
|
}
|
|
262
270
|
if (!Number.isSafeInteger(input.maxImageBytes) || input.maxImageBytes < 1 || input.maxImageBytes > MAX_BYTES)
|
|
263
271
|
fail('CACHE_LIMIT', '当前候选超过 8 GiB 本机恢复预算');
|
|
264
|
-
const
|
|
272
|
+
const reservedBytes = input.maxImageBytes + (input.retainCompleted ? BACKEND_IMAGE_CACHE_METADATA_BYTES : 0);
|
|
273
|
+
if (reservedBytes > MAX_BYTES)
|
|
274
|
+
fail('CACHE_LIMIT', '镜像及元数据超过本机缓存预算');
|
|
275
|
+
const selected = await acquireCandidate(cacheRoot, key, reservedBytes);
|
|
265
276
|
const directory = join(selected.directory, 'image');
|
|
266
277
|
let sealed = selected.candidate.state === 'sealed';
|
|
278
|
+
const reused = sealed;
|
|
267
279
|
try {
|
|
280
|
+
if (reused)
|
|
281
|
+
skippedOperationStage('backend-image-build', '后端输入匹配,跳过 Docker 构建并核验原 OCI 制品');
|
|
268
282
|
if (!sealed) {
|
|
269
283
|
rmSync(directory, { recursive: true, force: true });
|
|
270
284
|
await input.build(directory);
|
|
271
285
|
selected.owned.assert();
|
|
272
286
|
if (await backendImageContextDigest(root, dockerfile) !== contextDigest)
|
|
273
287
|
fail('CONTEXT_CHANGED', '构建期间源码发生变化,未上传混合候选;保存后重试');
|
|
274
|
-
const inspected = await inspectBackendOciLayout({ directory, maxImageBytes:
|
|
275
|
-
|
|
276
|
-
|
|
288
|
+
const inspected = await inspectBackendOciLayout({ directory, maxImageBytes: input.maxImageBytes });
|
|
289
|
+
const global = await lease(join(cacheRoot, '.registry'), 8);
|
|
290
|
+
try {
|
|
291
|
+
global.assert();
|
|
292
|
+
selected.owned.assert();
|
|
293
|
+
const actualBytes = inspected.sizeBytes + lstatSync(join(directory, 'index.json')).size +
|
|
294
|
+
lstatSync(join(directory, 'oci-layout')).size + 4096;
|
|
295
|
+
selected.candidate = { ...selected.candidate, state: 'sealed', digest: inspected.digest,
|
|
296
|
+
...(input.retainCompleted ? { reservedBytes: actualBytes } : {}) };
|
|
297
|
+
saveCandidate(selected.directory, selected.candidate);
|
|
298
|
+
}
|
|
299
|
+
finally {
|
|
300
|
+
await global.release();
|
|
301
|
+
}
|
|
277
302
|
sealed = true;
|
|
278
303
|
}
|
|
279
304
|
selected.owned.assert();
|
|
305
|
+
if (reused && await backendImageContextDigest(root, dockerfile) !== contextDigest) {
|
|
306
|
+
fail('CONTEXT_CHANGED', '复用校验期间后端输入发生变化,未上传旧候选;保存后重试');
|
|
307
|
+
}
|
|
280
308
|
const result = await input.upload(directory, selected.candidate.digest, selected.owned.assert);
|
|
309
|
+
// No remote ready/reference is persisted. Every reuse validates bytes and obtains a fresh platform receipt.
|
|
281
310
|
// A local cleanup error must never turn a confirmed remote success into a failure.
|
|
282
|
-
|
|
283
|
-
|
|
311
|
+
if (!input.retainCompleted) {
|
|
312
|
+
try {
|
|
313
|
+
await removeOwnedCandidate(cacheRoot, selected.directory, selected.owned);
|
|
314
|
+
}
|
|
315
|
+
catch { /* bounded cache will reclaim it */ }
|
|
284
316
|
}
|
|
285
|
-
catch { /* bounded cache will reclaim it */ }
|
|
286
317
|
return result;
|
|
287
318
|
}
|
|
288
319
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backend-image-candidate.js","sourceRoot":"","sources":["../src/backend-image-candidate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EACpF,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACjF,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAE9E,MAAM,MAAM,GAAG,wCAAwC,CAAC;AACxD,MAAM,GAAG,GAAG,gBAAgB,CAAC;AAC7B,MAAM,MAAM,GAAG,uBAAuB,CAAC;AACvC,MAAM,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAChC,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;AAChC,MAAM,eAAe,GAAG,SAAS,CAAC;AAClC,MAAM,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,sBAAsB,CAAiD,CAAC;AAsB5H,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IAE9B;IAAwC;IADpD,SAAS,CAAU;IAC5B,YAAqB,IAAY,EAAE,OAAe,EAAW,OAAgC,EAAE,EAAE,SAAS,GAAG,KAAK;QAChH,KAAK,CAAC,GAAG,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC;QADV,SAAI,GAAJ,IAAI,CAAQ;QAA4B,SAAI,GAAJ,IAAI,CAA8B;QAE7F,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;QACzC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CACF;AAED,SAAS,IAAI,CAAC,IAAY,EAAE,OAAe;IACzC,MAAM,IAAI,0BAA0B,CAAC,6BAA6B,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;AACrF,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY,EAAE,MAAM,GAAG,IAAI;IACnD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,IAAI,CAAC,MAAM;YAAE,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,CAAC;YAAC,SAAS,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAAC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACvD,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;gBAAE,MAAM,KAAK,CAAC;QACtE,CAAC;IACH,CAAC;IACD,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC;QAC3E,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;QACpD,IAAI,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,SAAiB,EAAE,GAAW;IACnD,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7F,IAAI,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;IAC5C,CAAC;IACD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAc,CAAC;IAC9D,IAAI,CAAC,CAAC,aAAa,KAAK,MAAM,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;QACjE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM;QAC1F,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,CAAC,aAAa,GAAG,eAAe;QAClG,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;QACzC,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAAE,IAAI,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;IACtG,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,aAAa,CAAC,SAAiB,EAAE,SAAoB;IAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,aAAa,UAAU,EAAE,MAAM,CAAC,CAAC;IACnE,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACjF,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,KAAK,UAAU,KAAK,CAAC,IAAY,EAAE,OAAO,GAAG,CAAC;IAC5C,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;YAChF,OAAO,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE;YACtE,aAAa,EAAE,GAAG,EAAE,GAAG,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAClD,OAAO;YACL,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,WAAW;gBAAE,IAAI,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC;YAChF,OAAO,EAAE,KAAK,IAAI,EAAE,GAAG,MAAM,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;SACjE,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACxD,MAAM,IAAI,0BAA0B,CAAC,gCAAgC,EAAE,wBAAwB,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QAC7G,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,gHAAgH;AAChH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,IAAY,EAAE,UAAkB;IAC9E,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,UAAU,eAAe,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IACzH,KAAK,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC7B,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;YAAE,IAAI,CAAC,iBAAiB,EAAE,oCAAoC,CAAC,CAAC;IAChK,CAAC;IACD,MAAM,KAAK,GAAG,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC/C,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI;QAAE,IAAI,CAAC,eAAe,EAAE,4BAA4B,CAAC,CAAC;IAC/F,MAAM,OAAO,GAAG,YAAY,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC/D,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3J,iFAAiF;IACjF,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;QAC7D,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAC9F,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC;QAC9C,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7F,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC;IACrC,MAAM,IAAI,GAAG,KAAK,EAAE,SAAiB,EAAE,EAAE;QACvC,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YACjD,IAAI,EAAE,OAAO,GAAG,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ;gBAAE,IAAI,CAAC,eAAe,EAAE,0CAA0C,CAAC,CAAC;YACpH,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YACnC,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAChE,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;YAC7B,MAAM,QAAQ,GAAG,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,UAAU,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAC9F,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;gBACvB,IAAI,QAAQ;oBAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBAClF,IAAI,QAAQ,IAAI,UAAU,CAAC,YAAY,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC;oBAAE,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;YACvI,CAAC;iBAAM,IAAI,QAAQ,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;gBAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,YAAY,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACvE,CAAC;iBAAM,IAAI,QAAQ,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;gBACrC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC;gBACnB,IAAI,KAAK,GAAG,SAAS;oBAAE,IAAI,CAAC,eAAe,EAAE,0BAA0B,CAAC,CAAC;gBACzE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,IAAI,GAAG,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC/E,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;oBACjD,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ;wBAAE,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;oBAC9D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACrB,CAAC;gBACD,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;gBAC9B,IAAI,IAAI,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;oBAAE,IAAI,CAAC,iBAAiB,EAAE,sBAAsB,CAAC,CAAC;YAC5I,CAAC;iBAAM,IAAI,QAAQ,EAAE,CAAC;gBACpB,IAAI,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IACF,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,OAAO,UAAU,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;AACxC,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,SAAiB,EAAE,GAAW,EAAE,aAAqB;IACnF,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC5B,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5D,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACpE,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE;YAAE,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;QAC3D,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,SAAS,EAAE,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACpI,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;QACrE,mGAAmG;QACnG,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;QAChD,IAAI,CAAC;YACH,IAAI,QAAQ,GAAG,QAAQ,EAAE,SAAS,CAAC;YACnC,IAAI,QAAQ,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,SAAS,IAAI,GAAG,EAAE,CAAC;gBACvD,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAClD,QAAQ,GAAG,SAAS,CAAC;YACvB,CAAC;YACD,IAAI,QAAQ;gBAAE,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;YACrF,IAAI,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;YACtE,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;gBAChG,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,IAAI,WAAW,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC,GAAG,SAAS,CAAC;gBAC/I,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,GAAG;oBAAE,SAAS;gBACzE,IAAI,OAAO,CAAC;gBACZ,IAAI,CAAC;oBAAC,OAAO,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAAC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAC5D,IAAI,KAAK,YAAY,0BAA0B,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;wBAAE,SAAS;oBAC1F,MAAM,KAAK,CAAC;gBACd,CAAC;gBACD,IAAI,CAAC;oBACH,MAAM,CAAC,MAAM,EAAE,CAAC;oBAAC,OAAO,CAAC,MAAM,EAAE,CAAC;oBAClC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC5C,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;gBACxD,CAAC;wBAAS,CAAC;oBAAC,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;gBAAC,CAAC;YACxC,CAAC;YACD,IAAI,SAAS,CAAC,MAAM,IAAI,WAAW,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC,GAAG,SAAS,EAAE,CAAC;gBAChI,IAAI,CAAC,YAAY,EAAE,wBAAwB,CAAC,CAAC;YAC/C,CAAC;YACD,MAAM,CAAC,MAAM,EAAE,CAAC;YAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAChC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YACvC,MAAM,SAAS,GAAc,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;YACrH,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,YAAY,UAAU,EAAE,EAAE,CAAC,CAAC;YAC5D,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAC1B,IAAI,CAAC;gBACH,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBAClC,MAAM,CAAC,MAAM,EAAE,CAAC;gBAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBAChC,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YACjC,CAAC;oBAAS,CAAC;gBAAC,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAAC,CAAC;YAChE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QACzC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAAC,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;YAAC,MAAM,KAAK,CAAC;QAAC,CAAC;IACzD,CAAC;YAAS,CAAC;QAAC,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;IAAC,CAAC;AACvC,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,SAAiB,EAAE,SAAiB,EAAE,KAA6B;IACrG,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5D,IAAI,CAAC;QACH,MAAM,CAAC,MAAM,EAAE,CAAC;QAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;YAAS,CAAC;QAAC,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;IAAC,CAAC;AACvC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAI,KASlD;IACC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC1B,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACzC,IAAI,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,IAAI,CAAC,wBAAwB,EAAE,QAAQ,CAAC,CAAC;IAC7K,KAAK,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC3I,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG;YAAE,IAAI,CAAC,wBAAwB,EAAE,SAAS,CAAC,CAAC;IAC3G,CAAC;IACD,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;IAC/E,MAAM,aAAa,GAAG,MAAM,yBAAyB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACxE,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QACvI,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,aAAa,IAAI,EAAE,EAAE,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAClL,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,EAAE,cAAc,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACvH,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC;QAAE,IAAI,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,CAAC;IAChH,KAAK,IAAI,IAAI,GAAG,SAAS,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACxE,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE;YAAE,IAAI,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,CAAC;IACzG,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,aAAa,GAAG,CAAC,IAAI,KAAK,CAAC,aAAa,GAAG,SAAS;QAAE,IAAI,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC;IACzJ,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;IACxG,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACpD,IAAI,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,KAAK,QAAQ,CAAC;IACnD,IAAI,CAAC;QACH,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACpD,MAAM,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC7B,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACxB,IAAI,MAAM,yBAAyB,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,aAAa;gBAAE,IAAI,CAAC,iBAAiB,EAAE,0BAA0B,CAAC,CAAC;YAC7H,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC;YAChH,QAAQ,CAAC,SAAS,GAAG,EAAE,GAAG,QAAQ,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC;YAC1F,aAAa,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;YACtD,MAAM,GAAG,IAAI,CAAC;QAChB,CAAC;QACD,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,MAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAChG,mFAAmF;QACnF,IAAI,CAAC;YAAC,MAAM,oBAAoB,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,mCAAmC,CAAC,CAAC;QAChI,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC;gBAAC,MAAM,oBAAoB,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,gDAAgD,CAAC,CAAC;YAC7I,MAAM,KAAK,CAAC;QACd,CAAC;QACD,MAAM,OAAO,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,IAAI,0BAA0B,CAAC,0CAA0C,EAC7E,OAAO,CAAC,OAAO,EACf,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,WAAW,EAAE;YAC1H,WAAW,EAAE,yBAAyB,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW;YACxE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAClI,CAAC;YAAS,CAAC;QAAC,MAAM,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;IAAC,CAAC;AAC/C,CAAC"}
|
|
1
|
+
{"version":3,"file":"backend-image-candidate.js","sourceRoot":"","sources":["../src/backend-image-candidate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backend-image-inputs.d.ts","sourceRoot":"","sources":["../src/backend-image-inputs.ts"],"names":[],"mappings":"AAGA,oGAAoG;AACpG,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAcxF"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { readFileSync } from 'node:fs';
|
|
2
|
+
import { relative } from 'node:path';
|
|
3
|
+
/** Only reviewed, exact template bodies have a narrower input boundary. Shell is never inferred. */
|
|
4
|
+
export function backendImageInputPaths(root, dockerfile) {
|
|
5
|
+
const backendRoot = relative(root, dockerfile).replaceAll('\\', '/').replace(/\/Dockerfile$/, '');
|
|
6
|
+
// The historical public reference changes no local read boundary. Actual bytes still enter the digest.
|
|
7
|
+
const source = readFileSync(dockerfile, 'utf8').replaceAll('\r\n', '\n')
|
|
8
|
+
.replaceAll('FROM node:22-alpine AS ', 'FROM docker.xuanyuan.run/node:22-alpine AS ');
|
|
9
|
+
for (const template of ['backend/Dockerfile', 'backend-inputs/legacy.Dockerfile']) {
|
|
10
|
+
const reviewed = readFileSync(new URL(`../templates/${template}`, import.meta.url), 'utf8')
|
|
11
|
+
.replaceAll('apps/server', backendRoot).replaceAll('\r\n', '\n');
|
|
12
|
+
if (source === reviewed) {
|
|
13
|
+
return ['package.json', 'pnpm-lock.yaml', 'pnpm-workspace.yaml', 'tsconfig.base.json',
|
|
14
|
+
backendRoot, 'packages/contracts', 'vendor'];
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=backend-image-inputs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backend-image-inputs.js","sourceRoot":"","sources":["../src/backend-image-inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,oGAAoG;AACpG,MAAM,UAAU,sBAAsB,CAAC,IAAY,EAAE,UAAkB;IACrE,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IAClG,uGAAuG;IACvG,MAAM,MAAM,GAAG,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC;SACrE,UAAU,CAAC,yBAAyB,EAAE,6CAA6C,CAAC,CAAC;IACxF,KAAK,MAAM,QAAQ,IAAI,CAAC,oBAAoB,EAAE,kCAAkC,CAAC,EAAE,CAAC;QAClF,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,GAAG,CAAC,gBAAgB,QAAQ,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;aACxF,UAAU,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACnE,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxB,OAAO,CAAC,cAAc,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,oBAAoB;gBACnF,WAAW,EAAE,oBAAoB,EAAE,QAAQ,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -24,8 +24,8 @@ export declare const DEVKIT_COMMANDS: readonly [{
|
|
|
24
24
|
}, {
|
|
25
25
|
readonly id: "admin";
|
|
26
26
|
readonly operation: "admin";
|
|
27
|
-
readonly summary: "
|
|
28
|
-
readonly risk: "
|
|
27
|
+
readonly summary: "查看管理能力、自助操作契约,或按明确环境执行事件、密钥及通知操作";
|
|
28
|
+
readonly risk: "deploy";
|
|
29
29
|
}, {
|
|
30
30
|
readonly id: "create";
|
|
31
31
|
readonly operation: "create";
|
|
@@ -136,8 +136,8 @@ export declare function commandDefinition(id: string): {
|
|
|
136
136
|
} | {
|
|
137
137
|
readonly id: "admin";
|
|
138
138
|
readonly operation: "admin";
|
|
139
|
-
readonly summary: "
|
|
140
|
-
readonly risk: "
|
|
139
|
+
readonly summary: "查看管理能力、自助操作契约,或按明确环境执行事件、密钥及通知操作";
|
|
140
|
+
readonly risk: "deploy";
|
|
141
141
|
} | {
|
|
142
142
|
readonly id: "create";
|
|
143
143
|
readonly operation: "create";
|
package/dist/command-registry.js
CHANGED
|
@@ -2,7 +2,7 @@ export const DEVKIT_COMMANDS = [
|
|
|
2
2
|
{ id: "auth", operation: "auth.status", summary: "只读核验指定平台授权,不登录或刷新会话", risk: "read" },
|
|
3
3
|
{ id: "context", operation: "workspace.context", summary: "只读查看工作区、版本与平台绑定", risk: "read" },
|
|
4
4
|
{ id: "docs", operation: "docs", summary: "按主题和章节读取当前版本中文资料", risk: "read" },
|
|
5
|
-
{ id: "admin", operation: "admin", summary: "
|
|
5
|
+
{ id: "admin", operation: "admin", summary: "查看管理能力、自助操作契约,或按明确环境执行事件、密钥及通知操作", risk: "deploy" },
|
|
6
6
|
{ id: "create", operation: "create", summary: "创建、绑定并初始化应用", risk: "deploy", jsonEvents: true },
|
|
7
7
|
{ id: 'source', operation: 'source', summary: '配置应用源码仓库、查看状态或提交推送', risk: 'deploy' },
|
|
8
8
|
{ id: "dev", operation: "dev", summary: "连接平台测试数据启动本地 Web,按需启动 Nest", risk: "write-local", jsonEvents: true },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-registry.js","sourceRoot":"","sources":["../src/command-registry.ts"],"names":[],"mappings":"AAUA,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,EAAE,MAAM,EAAE;IACtF,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,mBAAmB,EAAE,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE;IAC3F,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,EAAE;IAC5E,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"command-registry.js","sourceRoot":"","sources":["../src/command-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../src/compiler/bundle.ts"],"names":[],"mappings":"AAOA,OAAO,EAmBL,KAAK,WAAW,EAWhB,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EAMtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAEL,KAAK,oBAAoB,EAE1B,MAAM,aAAa,CAAC;AAoBrB,eAAO,MAAM,oBAAoB,gCAAsC,CAAC;AACxE,eAAO,MAAM,sBAAsB,kCAAiC,CAAC;AACrE,eAAO,MAAM,yBAAyB,YACC,CAAC;AAExC,MAAM,WAAW,oBAAoB,CAAC,CAAC;IACrC,KAAK,EAAE,CAAC,CAAC;IACT,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,WAAW,CAAC;CACvB;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,oBAAoB,CAAC,qBAAqB,CAAC,CAAC;IACpD,SAAS,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,GAAG;QAClD,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,SAAS,EAAE;QACT,KAAK,EAAE,mBAAmB,CAAC;QAC3B,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,mDAAmD,CAAC;KAChE,CAAC;CACH;AAmED,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,oBAAoB,EAC5B,gBAAgB,SAA4B,GAC3C,0BAA0B,CAuD5B;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,oBAAoB,GAC3B,qBAAqB,
|
|
1
|
+
{"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../src/compiler/bundle.ts"],"names":[],"mappings":"AAOA,OAAO,EAmBL,KAAK,WAAW,EAWhB,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EAMtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAEL,KAAK,oBAAoB,EAE1B,MAAM,aAAa,CAAC;AAoBrB,eAAO,MAAM,oBAAoB,gCAAsC,CAAC;AACxE,eAAO,MAAM,sBAAsB,kCAAiC,CAAC;AACrE,eAAO,MAAM,yBAAyB,YACC,CAAC;AAExC,MAAM,WAAW,oBAAoB,CAAC,CAAC;IACrC,KAAK,EAAE,CAAC,CAAC;IACT,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,WAAW,CAAC;CACvB;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,oBAAoB,CAAC,qBAAqB,CAAC,CAAC;IACpD,SAAS,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,GAAG;QAClD,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,SAAS,EAAE;QACT,KAAK,EAAE,mBAAmB,CAAC;QAC3B,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,mDAAmD,CAAC;KAChE,CAAC;CACH;AAmED,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,oBAAoB,EAC5B,gBAAgB,SAA4B,GAC3C,0BAA0B,CAuD5B;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,oBAAoB,GAC3B,qBAAqB,CAujBvB;AA8DD,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,oBAAoB,EAC5B,YAAY,CAAC,EAAE,MAAM,EACrB,gBAAgB,SAA4B,GAC3C,gBAAgB,CAQlB;AA8fD,eAAO,MAAM,oCAAoC;;;;EAIN,CAAC;AAi5B5C,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,oBAAoB,EAC5B,QAAQ,mBAAgC,UA6OzC;AAwOD,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,UAEvD"}
|
package/dist/compiler/bundle.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { compileNativeEventAction, requiresExtendedDeclarationCapacity, requiresExtendedArtifactCapacity } from 'openxiangda-contracts/native-compiler';
|
|
1
|
+
import { compileNativeEventAction, requiresExtendedDeclarationCapacity, requiresExtendedArtifactCapacity, requiresHighDensityArtifactCapacity, requiresExtendedConfigurationBytes } from 'openxiangda-contracts/native-compiler';
|
|
2
2
|
import { normalizeWorkflowOwnedSubjectCreate } from 'openxiangda-contracts/native-compiler';
|
|
3
3
|
import { compileWorkflowBusinessStepHandlers, validateWorkflowBusinessStepSubscriptions, WORKFLOW_BUSINESS_STEP_EVENTS } from 'openxiangda-contracts/native-compiler';
|
|
4
4
|
import { parseNativeUniqueKeys, parseDecimalReservationLifecycle } from 'openxiangda-contracts/native-compiler';
|
|
5
5
|
import { DATA_AUDIT_METADATA_FIELDS, isDataAuditMetadataField, projectDataResourceView, requiresExtendedOwnedSubtableCapacity, requiresAggregateOwnedSubtableCapacity } from 'openxiangda-contracts';
|
|
6
|
-
import { nativeFieldRequiresCreateInputV2, requiresOwnedSubtableMinimumRows, requiresDateTimeMinutePrecision, requiresUserCandidateLaunchScope, requiresWorkflowRoleUnion } from 'openxiangda-contracts/native-compiler';
|
|
6
|
+
import { nativeFieldRequiresCreateInputV2, requiresOwnedSubtableMinimumRows, requiresDateTimeMinutePrecision, requiresUserCandidateLaunchScope, requiresWorkflowRoleUnion, requiresWorkflowRoleInputSelection } from 'openxiangda-contracts/native-compiler';
|
|
7
7
|
import { createHash } from 'node:crypto';
|
|
8
8
|
import { canonicalJson, applicationEventHandlerPathV2, DATA_EVENT_TYPES_V2, nativePlatformCapabilityCatalog, OPENXIANGDA_COMPILER_CONTRACT_VERSION, SCHEMA_VERSIONS, WORKFLOW_EVENT_TYPES_V2, sha256Digest, } from 'openxiangda-contracts';
|
|
9
9
|
import { AppConfigValidationError, resourceCapabilityCodes, } from './config.js';
|
|
@@ -121,7 +121,7 @@ export function compileApplicationSources(config, generatorVersion = 'openxiangd
|
|
|
121
121
|
};
|
|
122
122
|
}
|
|
123
123
|
export function normalizeConfiguration(config) {
|
|
124
|
-
|
|
124
|
+
const normalized = {
|
|
125
125
|
schemaVersion: CONFIG_BUNDLE_SCHEMA,
|
|
126
126
|
compilerContractVersion: COMPILER_CONTRACT_VERSION,
|
|
127
127
|
appCode: config.app.code,
|
|
@@ -579,6 +579,13 @@ export function normalizeConfiguration(config) {
|
|
|
579
579
|
},
|
|
580
580
|
},
|
|
581
581
|
};
|
|
582
|
+
if (requiresExtendedConfigurationBytes(normalized)) {
|
|
583
|
+
normalized.runtime.protocolCapabilities = uniqueSorted([
|
|
584
|
+
...normalized.runtime.protocolCapabilities,
|
|
585
|
+
'application.extended-configuration-bytes',
|
|
586
|
+
]);
|
|
587
|
+
}
|
|
588
|
+
return normalized;
|
|
582
589
|
}
|
|
583
590
|
function normalizeAuthorizationTransition(raw, index) {
|
|
584
591
|
const path = `authz.authorizationTransitions[${index}]`;
|
|
@@ -1479,6 +1486,7 @@ function runtimeProtocolCapabilities(config) {
|
|
|
1479
1486
|
'application-native-2',
|
|
1480
1487
|
...(requiresExtendedDeclarationCapacity(config) ? ['application.extended-declaration-capacity'] : []),
|
|
1481
1488
|
...(requiresExtendedArtifactCapacity(config) ? ['application.extended-artifact-capacity'] : []),
|
|
1489
|
+
...(requiresHighDensityArtifactCapacity(config) ? ['application.high-density-artifact-capacity'] : []),
|
|
1482
1490
|
'authz.batch-explain',
|
|
1483
1491
|
'deployment.durable-runs',
|
|
1484
1492
|
'deployment.platform-executor',
|
|
@@ -1488,6 +1496,7 @@ function runtimeProtocolCapabilities(config) {
|
|
|
1488
1496
|
...(requiresExtendedOwnedSubtableCapacity(config.data?.resources || []) ? ['data.extended-owned-subtable-capacity'] : []),
|
|
1489
1497
|
...(requiresAggregateOwnedSubtableCapacity(config.data?.resources || []) ? ['data.aggregate-owned-subtable-capacity'] : []),
|
|
1490
1498
|
...(requiresWorkflowRoleUnion(config.workflows?.bindings || []) ? ['workflow.role-union'] : []),
|
|
1499
|
+
...(requiresWorkflowRoleInputSelection(config.workflows?.bindings || []) ? ['workflow.role-input-selection'] : []),
|
|
1491
1500
|
...(requiresUserCandidateLaunchScope(config.data?.resources || []) ? ['data.user-candidate-launch-scope'] : []),
|
|
1492
1501
|
...(requiresDateTimeMinutePrecision(config.data?.resources || []) ? ['data.datetime-minute-precision'] : []),
|
|
1493
1502
|
...(requiresOwnedSubtableMinimumRows(config.data?.resources || []) ? ['data.subtable-minimum-rows'] : []),
|
|
@@ -1533,8 +1542,12 @@ function runtimeProtocolCapabilities(config) {
|
|
|
1533
1542
|
: []),
|
|
1534
1543
|
...((config.workflows?.definitions || []).some(item => item.definition.commandHandlers !== undefined) || operations.some(operation => operation.platformAccess?.workflow?.businessCommands)
|
|
1535
1544
|
? ['workflow.business-data-command'] : []),
|
|
1545
|
+
...((config.workflows?.definitions || []).some(item => item.definition.commandHandlers?.approve?.transitionPolicy === 'workflow')
|
|
1546
|
+
? ['workflow.approval-business-command'] : []),
|
|
1536
1547
|
...((config.workflows?.definitions || []).some(item => item.definition.commandHandlers?.resubmit) || operations.some(operation => operation.platformAccess?.workflow?.businessCommands?.includes('resubmit'))
|
|
1537
1548
|
? ['workflow.correction-business-command'] : []),
|
|
1549
|
+
...((config.workflows?.definitions || []).some(item => item.definition.commandHandlers?.resubmit?.derivedSubjectFields !== undefined)
|
|
1550
|
+
? ['workflow.correction-derived-subject-facts'] : []),
|
|
1538
1551
|
...((config.workflows?.definitions || []).some(item => item.definition.launchPreflight !== undefined)
|
|
1539
1552
|
? ['workflow.launch-preflight'] : []),
|
|
1540
1553
|
...((config.workflows?.definitions || []).some(item => item.definition.instanceCommands !== undefined)
|