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.
Files changed (54) hide show
  1. package/dist/app-spec.d.ts +1 -1
  2. package/dist/app-spec.js +1 -1
  3. package/dist/application-operations.d.ts +202 -0
  4. package/dist/application-operations.d.ts.map +1 -0
  5. package/dist/application-operations.js +125 -0
  6. package/dist/application-operations.js.map +1 -0
  7. package/dist/application-services.d.ts +40 -1
  8. package/dist/application-services.d.ts.map +1 -1
  9. package/dist/application-services.js +17 -2
  10. package/dist/application-services.js.map +1 -1
  11. package/dist/backend-image-build.d.ts.map +1 -1
  12. package/dist/backend-image-build.js +8 -5
  13. package/dist/backend-image-build.js.map +1 -1
  14. package/dist/backend-image-candidate.d.ts +4 -1
  15. package/dist/backend-image-candidate.d.ts.map +1 -1
  16. package/dist/backend-image-candidate.js +42 -11
  17. package/dist/backend-image-candidate.js.map +1 -1
  18. package/dist/backend-image-inputs.d.ts +3 -0
  19. package/dist/backend-image-inputs.d.ts.map +1 -0
  20. package/dist/backend-image-inputs.js +19 -0
  21. package/dist/backend-image-inputs.js.map +1 -0
  22. package/dist/command-registry.d.ts +4 -4
  23. package/dist/command-registry.js +1 -1
  24. package/dist/command-registry.js.map +1 -1
  25. package/dist/compiler/bundle.d.ts.map +1 -1
  26. package/dist/compiler/bundle.js +16 -3
  27. package/dist/compiler/bundle.js.map +1 -1
  28. package/dist/compiler/config.d.ts.map +1 -1
  29. package/dist/compiler/config.js +2 -1
  30. package/dist/compiler/config.js.map +1 -1
  31. package/dist/compiler/permission-review.d.ts +1 -1
  32. package/dist/control-plane-client.d.ts +5 -0
  33. package/dist/control-plane-client.d.ts.map +1 -1
  34. package/dist/control-plane-client.js +94 -0
  35. package/dist/control-plane-client.js.map +1 -1
  36. package/dist/developer-errors.d.ts +1 -0
  37. package/dist/developer-errors.d.ts.map +1 -1
  38. package/dist/developer-errors.js +3 -0
  39. package/dist/developer-errors.js.map +1 -1
  40. package/dist/documentation.d.ts +7 -3
  41. package/dist/documentation.d.ts.map +1 -1
  42. package/dist/documentation.js +1 -0
  43. package/dist/documentation.js.map +1 -1
  44. package/dist/index.d.ts +1 -0
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +1 -0
  47. package/dist/index.js.map +1 -1
  48. package/dist/optional-backend.d.ts.map +1 -1
  49. package/dist/optional-backend.js +6 -0
  50. package/dist/optional-backend.js.map +1 -1
  51. package/package.json +4 -2
  52. package/templates/backend/Dockerfile +13 -6
  53. package/templates/backend/Dockerfile.dockerignore +19 -0
  54. 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 the actual local Docker context, including dirty/untracked files; never use a commit as a cache key. */
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":"AAoBA,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,gHAAgH;AAChH,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAmDjG;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,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,CAiDb"}
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 the actual local Docker context, including dirty/untracked files; never use a commit as a cache key. */
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 included = path === dockerfile || path === ignorePath || !matcher.ignores(relativePath);
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 ?? '', scope.configurationDigest, scope.toolchainVersion, contextDigest])).digest('hex');
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 selected = await acquireCandidate(cacheRoot, key, Math.min(CANDIDATE_BYTES, input.maxImageBytes));
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: selected.candidate.reservedBytes });
275
- selected.candidate = { ...selected.candidate, state: 'sealed', digest: inspected.digest };
276
- saveCandidate(selected.directory, selected.candidate);
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
- try {
283
- await removeOwnedCandidate(cacheRoot, selected.directory, selected.owned);
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":"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"}
1
+ {"version":3,"file":"backend-image-candidate.js","sourceRoot":"","sources":["../src/backend-image-candidate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /** Only reviewed, exact template bodies have a narrower input boundary. Shell is never inferred. */
2
+ export declare function backendImageInputPaths(root: string, dockerfile: string): string[] | null;
3
+ //# sourceMappingURL=backend-image-inputs.d.ts.map
@@ -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: "read";
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: "read";
139
+ readonly summary: "查看管理能力、自助操作契约,或按明确环境执行事件、密钥及通知操作";
140
+ readonly risk: "deploy";
141
141
  } | {
142
142
  readonly id: "create";
143
143
  readonly operation: "create";
@@ -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: "只读查看应用管理能力和流程节点运行配置", risk: "read" },
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,qBAAqB,EAAE,IAAI,EAAE,MAAM,EAAE;IACjF,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE;IAC/F,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,oBAAoB,EAAE,IAAI,EAAE,QAAQ,EAAE;IACpF,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,4BAA4B,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE;IAC7G,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,yBAAyB,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE;IAC9G,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,QAAQ,EAAE;IAClF,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE;IACvG,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE;IAC3E,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE;IAC5F,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC/E,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC5E,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC1F,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,QAAQ,EAAE;IACxF,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE;IACjG,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE;IAChF,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,aAAa,EAAE;IACvF,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,aAAa,EAAE;IAC7F,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAE,aAAa,EAAE;CAC/B,CAAC;AAExD,MAAM,UAAU,iBAAiB,CAAC,EAAU;IAC1C,OAAO,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,UAGI,EAAE;IAEN,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,UAAU,CAAC;IAC1C,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,kBAAkB,CAAC;IAC5D,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAC9B,OAAO,CAAC,EAAE,CACR,OAAO,UAAU,IAAI,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAC,IAAI,EAAC,IAAI,EAAE,aAAa,EAAC,MAAM,EAAE,MAAM,EAAC,MAAM,EAAC,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,OAAO,IAAI,CACtJ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,OAAO,KAAK,KAAK,wHAAwH,IAAI,iYAAiY,CAAC;AACjhB,CAAC"}
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,CAgjBvB;AA8DD,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,oBAAoB,EAC5B,YAAY,CAAC,EAAE,MAAM,EACrB,gBAAgB,SAA4B,GAC3C,gBAAgB,CAQlB;AA8fD,eAAO,MAAM,oCAAoC;;;;EAIN,CAAC;AA24B5C,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,oBAAoB,EAC5B,QAAQ,mBAAgC,UA6OzC;AAwOD,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,UAEvD"}
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"}
@@ -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
- return {
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)