openxiangda-devkit-core 2.0.0-alpha.98 → 2.1.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 (129) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +3 -9
  3. package/dist/app-spec.d.ts +30 -12
  4. package/dist/app-spec.d.ts.map +1 -1
  5. package/dist/app-spec.js +238 -57
  6. package/dist/app-spec.js.map +1 -1
  7. package/dist/application-services.d.ts +625 -42
  8. package/dist/application-services.d.ts.map +1 -1
  9. package/dist/application-services.js +322 -85
  10. package/dist/application-services.js.map +1 -1
  11. package/dist/application-ui-contract.d.ts +5 -0
  12. package/dist/application-ui-contract.d.ts.map +1 -0
  13. package/dist/application-ui-contract.js +149 -0
  14. package/dist/application-ui-contract.js.map +1 -0
  15. package/dist/backend-image-build.d.ts +6 -0
  16. package/dist/backend-image-build.d.ts.map +1 -1
  17. package/dist/backend-image-build.js +51 -11
  18. package/dist/backend-image-build.js.map +1 -1
  19. package/dist/backend-image-upload.d.ts +34 -0
  20. package/dist/backend-image-upload.d.ts.map +1 -0
  21. package/dist/backend-image-upload.js +118 -0
  22. package/dist/backend-image-upload.js.map +1 -0
  23. package/dist/command-process.d.ts +14 -0
  24. package/dist/command-process.d.ts.map +1 -0
  25. package/dist/command-process.js +51 -0
  26. package/dist/command-process.js.map +1 -0
  27. package/dist/command-registry.d.ts +44 -4
  28. package/dist/command-registry.d.ts.map +1 -1
  29. package/dist/command-registry.js +10 -6
  30. package/dist/command-registry.js.map +1 -1
  31. package/dist/compiler/ai-catalog.d.ts.map +1 -1
  32. package/dist/compiler/ai-catalog.js +2 -1
  33. package/dist/compiler/ai-catalog.js.map +1 -1
  34. package/dist/compiler/application-model.d.ts +60 -0
  35. package/dist/compiler/application-model.d.ts.map +1 -0
  36. package/dist/compiler/application-model.js +141 -0
  37. package/dist/compiler/application-model.js.map +1 -0
  38. package/dist/compiler/bundle.d.ts.map +1 -1
  39. package/dist/compiler/bundle.js +196 -98
  40. package/dist/compiler/bundle.js.map +1 -1
  41. package/dist/compiler/config.d.ts +36 -10
  42. package/dist/compiler/config.d.ts.map +1 -1
  43. package/dist/compiler/config.js +536 -171
  44. package/dist/compiler/config.js.map +1 -1
  45. package/dist/compiler/field-surface.js +1 -1
  46. package/dist/compiler/field-surface.js.map +1 -1
  47. package/dist/compiler/package-compiler.d.ts.map +1 -1
  48. package/dist/compiler/package-compiler.js +12 -0
  49. package/dist/compiler/package-compiler.js.map +1 -1
  50. package/dist/compiler/permission-review.d.ts +139 -0
  51. package/dist/compiler/permission-review.d.ts.map +1 -0
  52. package/dist/compiler/permission-review.js +131 -0
  53. package/dist/compiler/permission-review.js.map +1 -0
  54. package/dist/configuration-preflight.d.ts +7 -0
  55. package/dist/configuration-preflight.d.ts.map +1 -0
  56. package/dist/configuration-preflight.js +13 -0
  57. package/dist/configuration-preflight.js.map +1 -0
  58. package/dist/control-plane-client.d.ts +66 -61
  59. package/dist/control-plane-client.d.ts.map +1 -1
  60. package/dist/control-plane-client.js +99 -8
  61. package/dist/control-plane-client.js.map +1 -1
  62. package/dist/delivery-cache.d.ts +34 -0
  63. package/dist/delivery-cache.d.ts.map +1 -0
  64. package/dist/delivery-cache.js +186 -0
  65. package/dist/delivery-cache.js.map +1 -0
  66. package/dist/delivery-source.d.ts +17 -0
  67. package/dist/delivery-source.d.ts.map +1 -0
  68. package/dist/delivery-source.js +85 -0
  69. package/dist/delivery-source.js.map +1 -0
  70. package/dist/deployment-observer.d.ts +14 -0
  71. package/dist/deployment-observer.d.ts.map +1 -0
  72. package/dist/deployment-observer.js +68 -0
  73. package/dist/deployment-observer.js.map +1 -0
  74. package/dist/deployment.d.ts +17 -1
  75. package/dist/deployment.d.ts.map +1 -1
  76. package/dist/deployment.js +55 -15
  77. package/dist/deployment.js.map +1 -1
  78. package/dist/design-readiness.d.ts +24 -0
  79. package/dist/design-readiness.d.ts.map +1 -0
  80. package/dist/design-readiness.js +102 -0
  81. package/dist/design-readiness.js.map +1 -0
  82. package/dist/developer-errors.d.ts +11 -0
  83. package/dist/developer-errors.d.ts.map +1 -0
  84. package/dist/developer-errors.js +16 -0
  85. package/dist/developer-errors.js.map +1 -0
  86. package/dist/developer-operations.d.ts +190 -0
  87. package/dist/developer-operations.d.ts.map +1 -0
  88. package/dist/developer-operations.js +65 -0
  89. package/dist/developer-operations.js.map +1 -0
  90. package/dist/development-lifecycle.d.ts +75 -0
  91. package/dist/development-lifecycle.d.ts.map +1 -0
  92. package/dist/development-lifecycle.js +189 -0
  93. package/dist/development-lifecycle.js.map +1 -0
  94. package/dist/documentation.d.ts +111 -0
  95. package/dist/documentation.d.ts.map +1 -0
  96. package/dist/documentation.js +112 -0
  97. package/dist/documentation.js.map +1 -0
  98. package/dist/index.d.ts +10 -0
  99. package/dist/index.d.ts.map +1 -1
  100. package/dist/index.js +10 -0
  101. package/dist/index.js.map +1 -1
  102. package/dist/operation-progress.d.ts +26 -0
  103. package/dist/operation-progress.d.ts.map +1 -0
  104. package/dist/operation-progress.js +92 -0
  105. package/dist/operation-progress.js.map +1 -0
  106. package/dist/optional-backend.d.ts +14 -0
  107. package/dist/optional-backend.d.ts.map +1 -0
  108. package/dist/optional-backend.js +145 -0
  109. package/dist/optional-backend.js.map +1 -0
  110. package/dist/session.d.ts +22 -0
  111. package/dist/session.d.ts.map +1 -1
  112. package/dist/session.js +36 -0
  113. package/dist/session.js.map +1 -1
  114. package/dist/workspace-loader.d.ts.map +1 -1
  115. package/dist/workspace-loader.js +17 -2
  116. package/dist/workspace-loader.js.map +1 -1
  117. package/dist/workspace-operation.d.ts +3 -0
  118. package/dist/workspace-operation.d.ts.map +1 -0
  119. package/dist/workspace-operation.js +45 -0
  120. package/dist/workspace-operation.js.map +1 -0
  121. package/dist/workspace.d.ts.map +1 -1
  122. package/dist/workspace.js +1 -0
  123. package/dist/workspace.js.map +1 -1
  124. package/package.json +18 -4
  125. package/templates/backend/Dockerfile +20 -0
  126. package/templates/backend/package.json +27 -0
  127. package/templates/backend/src/app.module.ts +23 -0
  128. package/templates/backend/src/main.ts +5 -0
  129. package/templates/backend/tsconfig.json +9 -0
@@ -1,4 +1,5 @@
1
- import { spawnSync } from "node:child_process";
1
+ import { runCommandProcess } from './command-process.js';
2
+ import { uploadBackendOciLayout } from './backend-image-upload.js';
2
3
  import { existsSync, mkdtempSync, readFileSync, rmSync, } from "node:fs";
3
4
  import { tmpdir } from "node:os";
4
5
  import { isAbsolute, join, relative, resolve } from "node:path";
@@ -22,6 +23,23 @@ export class BackendImageBuildError extends Error {
22
23
  }
23
24
  }
24
25
  export function backendImageBuildTarget(capabilities, appCode) {
26
+ const upload = capabilities.deployment?.backendImageUpload;
27
+ if (upload) {
28
+ if (upload.schemaVersion !== 'openxiangda.backend-image-upload/v2' || upload.owner !== 'platform' ||
29
+ upload.platform !== 'linux/amd64' || upload.format !== 'oci-layout' ||
30
+ upload.endpointTemplate !== '/openxiangda-api/v2/applications/{appCode}/backend-images' ||
31
+ upload.maxChunkBytes !== 8 * 1024 * 1024 || !Number.isSafeInteger(upload.maxImageBytes) || upload.maxImageBytes < 1) {
32
+ throw new BackendImageBuildError('OPENXIANGDA_BACKEND_IMAGE_BUILD_CONFIG_INVALID', '平台镜像上传合同无效');
33
+ }
34
+ if (!upload.available) {
35
+ throw new BackendImageBuildError('OPENXIANGDA_BACKEND_IMAGE_UPLOAD_UNAVAILABLE', '平台镜像上传尚未启用,请联系平台管理员');
36
+ }
37
+ if (!/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/.test(appCode)) {
38
+ throw new BackendImageBuildError('OPENXIANGDA_BACKEND_IMAGE_APP_CODE_INVALID', '应用代码无效');
39
+ }
40
+ return { repository: `openxiangda-local/${appCode}-server`, platform: upload.platform,
41
+ upload: { appCode, maxImageBytes: upload.maxImageBytes } };
42
+ }
25
43
  const build = capabilities.deployment?.backendImageBuild;
26
44
  if (!build ||
27
45
  build.owner !== "developer-cli" ||
@@ -106,13 +124,40 @@ export async function publishBackendImage(input) {
106
124
  throw new BackendImageBuildError("OPENXIANGDA_DOCKERIGNORE_MISSING", "工作区缺少模板 .dockerignore,拒绝上传未受约束的构建上下文");
107
125
  }
108
126
  const docker = input.dockerExecutable || "docker";
109
- const version = runDocker(docker, ["buildx", "version"], root);
127
+ const version = await runDocker(docker, ["buildx", "version"], root);
110
128
  if (version.error?.code === "ENOENT") {
111
129
  throw new BackendImageBuildError("OPENXIANGDA_DOCKER_REQUIRED", "未找到 Docker CLI,请安装并启动 Docker Desktop");
112
130
  }
113
131
  if (version.error || version.status !== 0) {
114
132
  throw new BackendImageBuildError("OPENXIANGDA_DOCKER_BUILDX_REQUIRED", "当前 Docker CLI 未提供可用的 Buildx");
115
133
  }
134
+ if (input.target.upload) {
135
+ if (!input.uploader) {
136
+ throw new BackendImageBuildError('OPENXIANGDA_BACKEND_IMAGE_UPLOADER_REQUIRED', '缺少平台登录态镜像上传通道');
137
+ }
138
+ const scratch = mkdtempSync(join(tmpdir(), 'openxiangda-oci-'));
139
+ const directory = join(scratch, 'image');
140
+ try {
141
+ const built = await runDocker(docker, ['buildx', 'build', '--file', dockerfile,
142
+ '--platform', input.target.platform, '--provenance=false', '--sbom=false',
143
+ '--tag', input.target.repository,
144
+ '--output', `type=oci,dest=${directory},tar=false`, root], root);
145
+ if (built.error || built.status !== 0) {
146
+ if (/oci exporter is not supported|exporter.*oci.*not supported/i.test(built.output)) {
147
+ throw new BackendImageBuildError('OPENXIANGDA_DOCKER_OCI_EXPORT_REQUIRED', '当前 Docker builder 不支持 OCI 导出。请启用 Docker Desktop 的 containerd image store,或执行 docker buildx create --driver docker-container --use 后重试');
148
+ }
149
+ if (/cannot connect|daemon is not running|is the docker daemon running/i.test(built.output)) {
150
+ throw buildFailure(built.output);
151
+ }
152
+ throw new BackendImageBuildError('OPENXIANGDA_BACKEND_IMAGE_BUILD_FAILED', '本地后端镜像构建失败');
153
+ }
154
+ const uploaded = await uploadBackendOciLayout({ directory, ...input.target.upload, uploader: input.uploader });
155
+ return { repository: uploaded.reference.split('@')[0], platform: input.target.platform, ...uploaded };
156
+ }
157
+ finally {
158
+ rmSync(scratch, { recursive: true, force: true });
159
+ }
160
+ }
116
161
  const scratch = mkdtempSync(join(tmpdir(), "openxiangda-buildx-"));
117
162
  const metadataFile = join(scratch, "metadata.json");
118
163
  const revision = String(input.sourceRevision || "").toLowerCase();
@@ -123,7 +168,7 @@ export async function publishBackendImage(input) {
123
168
  try {
124
169
  for (let attempt = 1; attempt <= BACKEND_IMAGE_NETWORK_ATTEMPTS; attempt += 1) {
125
170
  rmSync(metadataFile, { force: true });
126
- const built = runDocker(docker, [
171
+ const built = await runDocker(docker, [
127
172
  "buildx",
128
173
  "build",
129
174
  "--file",
@@ -175,20 +220,15 @@ export async function publishBackendImage(input) {
175
220
  rmSync(scratch, { recursive: true, force: true });
176
221
  }
177
222
  }
178
- function runDocker(executable, args, cwd) {
223
+ async function runDocker(executable, args, cwd) {
179
224
  const environment = { ...process.env };
180
225
  delete environment.OPENXIANGDA_TOKEN;
181
226
  delete environment.OPENXIANGDA_BACKEND_IMAGE;
182
- const result = spawnSync(executable, args, {
183
- cwd,
184
- env: environment,
185
- encoding: "utf8",
186
- maxBuffer: 64 * 1024 * 1024,
187
- });
227
+ const result = await runCommandProcess(executable, args, { cwd, env: environment });
188
228
  return {
189
229
  status: result.status,
190
230
  error: result.error,
191
- output: `${result.stdout || ""}\n${result.stderr || ""}`,
231
+ output: result.output,
192
232
  };
193
233
  }
194
234
  function wait(delayMs) {
@@ -1 +1 @@
1
- {"version":3,"file":"backend-image-build.js","sourceRoot":"","sources":["../src/backend-image-build.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backend-image-build.js","sourceRoot":"","sources":["../src/backend-image-build.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ export interface BackendImageUploadReceipt {
2
+ digest: string;
3
+ status: 'uploading' | 'ready';
4
+ reference: string | null;
5
+ sizeBytes: number;
6
+ maxChunkBytes: number;
7
+ blobs: Array<{
8
+ digest: string;
9
+ size: number;
10
+ offset: number;
11
+ complete: boolean;
12
+ }>;
13
+ }
14
+ export interface BackendImageUploader {
15
+ beginBackendImage(appCode: string, input: {
16
+ digest: string;
17
+ manifest: string;
18
+ }): Promise<BackendImageUploadReceipt>;
19
+ uploadBackendImageChunk(appCode: string, digest: string, blobDigest: string, offset: number, content: Uint8Array): Promise<{
20
+ offset: number;
21
+ complete: boolean;
22
+ }>;
23
+ completeBackendImage(appCode: string, digest: string): Promise<BackendImageUploadReceipt>;
24
+ }
25
+ export declare function uploadBackendOciLayout(input: {
26
+ directory: string;
27
+ appCode: string;
28
+ maxImageBytes: number;
29
+ uploader: BackendImageUploader;
30
+ }): Promise<{
31
+ digest: string;
32
+ reference: string;
33
+ }>;
34
+ //# sourceMappingURL=backend-image-upload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backend-image-upload.d.ts","sourceRoot":"","sources":["../src/backend-image-upload.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC;IAC9B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACnF;AAED,MAAM,WAAW,oBAAoB;IACnC,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACpH,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EACzF,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACvE,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;CAC3F;AAiCD,wBAAsB,sBAAsB,CAAC,KAAK,EAAE;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,oBAAoB,CAAC;CAChC,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAgEjD"}
@@ -0,0 +1,118 @@
1
+ import { createReadStream, lstatSync, readFileSync } from 'node:fs';
2
+ import { open } from 'node:fs/promises';
3
+ import { createHash } from 'node:crypto';
4
+ import { join } from 'node:path';
5
+ const DIGEST = /^sha256:[a-f0-9]{64}$/;
6
+ const CHUNK_BYTES = 8 * 1024 * 1024;
7
+ function invalid() {
8
+ throw Object.assign(new Error('OPENXIANGDA_BACKEND_IMAGE_UPLOAD_INVALID: OCI 镜像或上传回执无效'), { code: 'OPENXIANGDA_BACKEND_IMAGE_UPLOAD_INVALID' });
9
+ }
10
+ function metadata(path, maxBytes = 256 * 1024) {
11
+ const stat = lstatSync(path);
12
+ if (!stat.isFile() || stat.isSymbolicLink() || stat.size > maxBytes)
13
+ invalid();
14
+ return readFileSync(path, 'utf8');
15
+ }
16
+ function blobPath(directory, digest) {
17
+ if (!DIGEST.test(digest))
18
+ invalid();
19
+ return join(directory, 'blobs', 'sha256', digest.slice(7));
20
+ }
21
+ async function retry(operation) {
22
+ for (let attempt = 0;; attempt++) {
23
+ try {
24
+ return await operation();
25
+ }
26
+ catch (error) {
27
+ const status = Number(error?.status || 0);
28
+ const retryable = error?.retryable ?? error?.remote?.retryable;
29
+ const transient = retryable === true || !status || [408, 429, 502, 503, 504].includes(status);
30
+ if (attempt >= 2 || !transient || retryable === false)
31
+ throw error;
32
+ await new Promise(resolve => setTimeout(resolve, [500, 1500][attempt]));
33
+ }
34
+ }
35
+ }
36
+ export async function uploadBackendOciLayout(input) {
37
+ const layout = JSON.parse(metadata(join(input.directory, 'oci-layout')));
38
+ const index = JSON.parse(metadata(join(input.directory, 'index.json')));
39
+ if (layout.imageLayoutVersion !== '1.0.0' || index.schemaVersion !== 2 ||
40
+ !Array.isArray(index.manifests) || index.manifests.length !== 1)
41
+ invalid();
42
+ const descriptor = index.manifests[0];
43
+ const manifest = metadata(blobPath(input.directory, descriptor.digest));
44
+ const digest = `sha256:${createHash('sha256').update(manifest).digest('hex')}`;
45
+ if (descriptor.digest !== digest || Buffer.byteLength(manifest) !== descriptor.size)
46
+ invalid();
47
+ const parsed = JSON.parse(manifest);
48
+ if (parsed.schemaVersion !== 2 || parsed.mediaType !== 'application/vnd.oci.image.manifest.v1+json' ||
49
+ !Array.isArray(parsed.layers) || parsed.layers.length > 128)
50
+ invalid();
51
+ const blobs = new Map();
52
+ for (const blob of [parsed.config, ...parsed.layers]) {
53
+ if (!blob || !DIGEST.test(blob.digest) || !Number.isSafeInteger(blob.size) || blob.size < 1 || blob.urls || blob.data)
54
+ invalid();
55
+ if (blobs.has(blob.digest) && blobs.get(blob.digest).size !== blob.size)
56
+ invalid();
57
+ blobs.set(blob.digest, blob);
58
+ }
59
+ const sizeBytes = [...blobs.values()].reduce((total, blob) => total + blob.size, Buffer.byteLength(manifest));
60
+ if (!Number.isSafeInteger(sizeBytes) || sizeBytes > input.maxImageBytes) {
61
+ throw Object.assign(new Error('OPENXIANGDA_BACKEND_IMAGE_TOO_LARGE: 镜像超过平台上传额度'), { code: 'OPENXIANGDA_BACKEND_IMAGE_TOO_LARGE' });
62
+ }
63
+ for (const blob of blobs.values()) {
64
+ const path = blobPath(input.directory, blob.digest);
65
+ const stat = lstatSync(path);
66
+ if (!stat.isFile() || stat.isSymbolicLink() || stat.size !== blob.size)
67
+ invalid();
68
+ const hash = createHash('sha256');
69
+ for await (const chunk of createReadStream(path))
70
+ hash.update(chunk);
71
+ if (`sha256:${hash.digest('hex')}` !== blob.digest)
72
+ invalid();
73
+ }
74
+ let receipt = await retry(() => input.uploader.beginBackendImage(input.appCode, { digest, manifest }));
75
+ if (receipt.digest !== digest || receipt.sizeBytes !== sizeBytes || receipt.maxChunkBytes !== CHUNK_BYTES ||
76
+ !Array.isArray(receipt.blobs) || receipt.blobs.length !== blobs.size ||
77
+ new Set(receipt.blobs.map(blob => blob.digest)).size !== blobs.size)
78
+ invalid();
79
+ if (receipt.status !== 'ready') {
80
+ for (const progress of receipt.blobs) {
81
+ const blob = blobs.get(progress.digest);
82
+ if (!blob || progress.size !== blob.size)
83
+ invalid();
84
+ const file = await open(blobPath(input.directory, blob.digest), 'r');
85
+ let offset = progress.offset;
86
+ let complete = progress.complete;
87
+ let stagnant = 0;
88
+ try {
89
+ while (!complete) {
90
+ if (!Number.isSafeInteger(offset) || offset < 0 || offset > blob.size)
91
+ invalid();
92
+ const content = Buffer.alloc(Math.min(CHUNK_BYTES, blob.size - offset));
93
+ const read = await file.read(content, 0, content.length, offset);
94
+ if (read.bytesRead !== content.length)
95
+ invalid();
96
+ const result = await retry(() => input.uploader.uploadBackendImageChunk(input.appCode, digest, blob.digest, offset, content));
97
+ if (!Number.isSafeInteger(result.offset) || result.offset < 0 || result.offset > blob.size ||
98
+ typeof result.complete !== 'boolean' || (result.complete && result.offset !== blob.size))
99
+ invalid();
100
+ stagnant = result.offset === offset && !result.complete ? stagnant + 1 : 0;
101
+ if (stagnant > 3)
102
+ invalid();
103
+ offset = result.offset;
104
+ complete = result.complete;
105
+ }
106
+ }
107
+ finally {
108
+ await file.close();
109
+ }
110
+ }
111
+ receipt = await retry(() => input.uploader.completeBackendImage(input.appCode, digest));
112
+ }
113
+ if (receipt.digest !== digest || receipt.status !== 'ready' || typeof receipt.reference !== 'string' ||
114
+ !receipt.reference.endsWith(`@${digest}`) || /[\s?#\\]/.test(receipt.reference))
115
+ invalid();
116
+ return { digest, reference: receipt.reference };
117
+ }
118
+ //# sourceMappingURL=backend-image-upload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backend-image-upload.js","sourceRoot":"","sources":["../src/backend-image-upload.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /** 异步收集有界输出,让阶段心跳与 MCP 通知在检查、测试和 Docker 构建期间持续执行。 */
2
+ export declare function runCommandProcess(command: string, args: string[], options: {
3
+ cwd: string;
4
+ env?: NodeJS.ProcessEnv;
5
+ timeoutMs?: number;
6
+ maximumOutputBytes?: number;
7
+ }): Promise<{
8
+ ok: boolean;
9
+ status: number | null;
10
+ output: string;
11
+ outputTruncated: boolean;
12
+ error?: NodeJS.ErrnoException;
13
+ }>;
14
+ //# sourceMappingURL=command-process.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-process.d.ts","sourceRoot":"","sources":["../src/command-process.ts"],"names":[],"mappings":"AAEA,qDAAqD;AACrD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE;IAC1E,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;QAC0B,OAAO;YAAU,MAAM,GAAG,IAAI;YAAU,MAAM;qBAAmB,OAAO;YAAU,MAAM,CAAC,cAAc;GAsCjI"}
@@ -0,0 +1,51 @@
1
+ import { spawn } from 'node:child_process';
2
+ /** 异步收集有界输出,让阶段心跳与 MCP 通知在检查、测试和 Docker 构建期间持续执行。 */
3
+ export function runCommandProcess(command, args, options) {
4
+ return new Promise(resolve => {
5
+ const limit = Math.max(1, options.maximumOutputBytes ?? 4 * 1024 * 1024);
6
+ const chunks = [];
7
+ let outputBytes = 0;
8
+ let outputTruncated = false;
9
+ let processError;
10
+ const child = spawn(command, args, { cwd: options.cwd, env: options.env || process.env, stdio: ['ignore', 'pipe', 'pipe'] });
11
+ const collect = (chunk) => {
12
+ chunks.push(chunk);
13
+ outputBytes += chunk.length;
14
+ while (outputBytes > limit) {
15
+ outputTruncated = true;
16
+ const first = chunks[0];
17
+ const excess = outputBytes - limit;
18
+ if (first.length <= excess) {
19
+ chunks.shift();
20
+ outputBytes -= first.length;
21
+ }
22
+ else {
23
+ chunks[0] = first.subarray(excess);
24
+ outputBytes -= excess;
25
+ }
26
+ }
27
+ };
28
+ child.stdout.on('data', collect);
29
+ child.stderr.on('data', collect);
30
+ let killTimer;
31
+ const timer = setTimeout(() => {
32
+ processError = Object.assign(new Error('子进程超过运行时限'), { code: 'ETIMEDOUT' });
33
+ child.kill('SIGTERM');
34
+ killTimer = setTimeout(() => child.kill('SIGKILL'), 5_000);
35
+ killTimer.unref();
36
+ }, options.timeoutMs ?? 30 * 60_000);
37
+ timer.unref();
38
+ child.on('error', error => { processError = error; });
39
+ child.on('close', status => {
40
+ clearTimeout(timer);
41
+ if (killTimer)
42
+ clearTimeout(killTimer);
43
+ resolve({
44
+ ok: status === 0 && !processError, status,
45
+ output: `${outputTruncated ? '[前段日志超过输出预算,已省略]\n' : ''}${Buffer.concat(chunks, outputBytes).toString('utf8')}`,
46
+ outputTruncated, ...(processError ? { error: processError } : {}),
47
+ });
48
+ });
49
+ });
50
+ }
51
+ //# sourceMappingURL=command-process.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-process.js","sourceRoot":"","sources":["../src/command-process.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,qDAAqD;AACrD,MAAM,UAAU,iBAAiB,CAAC,OAAe,EAAE,IAAc,EAAE,OAKlE;IACC,OAAO,IAAI,OAAO,CAAkH,OAAO,CAAC,EAAE;QAC5I,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,kBAAkB,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;QACzE,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,eAAe,GAAG,KAAK,CAAC;QAC5B,IAAI,YAA+C,CAAC;QACpD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAC7H,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,EAAE;YAChC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAAC,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC;YAChD,OAAO,WAAW,GAAG,KAAK,EAAE,CAAC;gBAC3B,eAAe,GAAG,IAAI,CAAC;gBACvB,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;gBACzB,MAAM,MAAM,GAAG,WAAW,GAAG,KAAK,CAAC;gBACnC,IAAI,KAAK,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC;oBAAC,MAAM,CAAC,KAAK,EAAE,CAAC;oBAAC,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC;gBAAC,CAAC;qBACvE,CAAC;oBAAC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;oBAAC,WAAW,IAAI,MAAM,CAAC;gBAAC,CAAC;YACrE,CAAC;QACH,CAAC,CAAC;QACF,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACjC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACjC,IAAI,SAAoD,CAAC;QACzD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;YAC5E,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;YAC3D,SAAS,CAAC,KAAK,EAAE,CAAC;QACpB,CAAC,EAAE,OAAO,CAAC,SAAS,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC;QACrC,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,GAAG,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE;YACzB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,SAAS;gBAAE,YAAY,CAAC,SAAS,CAAC,CAAC;YACvC,OAAO,CAAC;gBACN,EAAE,EAAE,MAAM,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM;gBACzC,MAAM,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;gBAC9G,eAAe,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClE,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -7,6 +7,26 @@ export interface DevkitCommandDefinition {
7
7
  studioJsonEvents?: true;
8
8
  }
9
9
  export declare const DEVKIT_COMMANDS: readonly [{
10
+ readonly id: "auth";
11
+ readonly operation: "auth.status";
12
+ readonly summary: "只读核验指定平台授权,不登录或刷新会话";
13
+ readonly risk: "read";
14
+ }, {
15
+ readonly id: "context";
16
+ readonly operation: "workspace.context";
17
+ readonly summary: "只读查看工作区、版本与平台绑定";
18
+ readonly risk: "read";
19
+ }, {
20
+ readonly id: "docs";
21
+ readonly operation: "docs";
22
+ readonly summary: "按主题和章节读取当前版本中文资料";
23
+ readonly risk: "read";
24
+ }, {
25
+ readonly id: "admin";
26
+ readonly operation: "admin";
27
+ readonly summary: "只读查看应用管理能力和流程节点运行配置";
28
+ readonly risk: "read";
29
+ }, {
10
30
  readonly id: "create";
11
31
  readonly operation: "create";
12
32
  readonly summary: "创建、绑定并初始化应用";
@@ -15,7 +35,7 @@ export declare const DEVKIT_COMMANDS: readonly [{
15
35
  }, {
16
36
  readonly id: "dev";
17
37
  readonly operation: "dev";
18
- readonly summary: "连接平台测试数据启动本地 Web Nest";
38
+ readonly summary: "连接平台测试数据启动本地 Web,按需启动 Nest";
19
39
  readonly risk: "write-local";
20
40
  readonly studioJsonEvents: true;
21
41
  }, {
@@ -85,10 +105,30 @@ export declare const DEVKIT_COMMANDS: readonly [{
85
105
  }, {
86
106
  readonly id: "spec";
87
107
  readonly operation: "spec";
88
- readonly summary: "维护可选的 AppSpec 需求与变更辅助";
108
+ readonly summary: "维护需求、设计、变更与业务验收记录";
89
109
  readonly risk: "write-local";
90
110
  }];
91
111
  export declare function commandDefinition(id: string): {
112
+ readonly id: "auth";
113
+ readonly operation: "auth.status";
114
+ readonly summary: "只读核验指定平台授权,不登录或刷新会话";
115
+ readonly risk: "read";
116
+ } | {
117
+ readonly id: "context";
118
+ readonly operation: "workspace.context";
119
+ readonly summary: "只读查看工作区、版本与平台绑定";
120
+ readonly risk: "read";
121
+ } | {
122
+ readonly id: "docs";
123
+ readonly operation: "docs";
124
+ readonly summary: "按主题和章节读取当前版本中文资料";
125
+ readonly risk: "read";
126
+ } | {
127
+ readonly id: "admin";
128
+ readonly operation: "admin";
129
+ readonly summary: "只读查看应用管理能力和流程节点运行配置";
130
+ readonly risk: "read";
131
+ } | {
92
132
  readonly id: "create";
93
133
  readonly operation: "create";
94
134
  readonly summary: "创建、绑定并初始化应用";
@@ -97,7 +137,7 @@ export declare function commandDefinition(id: string): {
97
137
  } | {
98
138
  readonly id: "dev";
99
139
  readonly operation: "dev";
100
- readonly summary: "连接平台测试数据启动本地 Web Nest";
140
+ readonly summary: "连接平台测试数据启动本地 Web,按需启动 Nest";
101
141
  readonly risk: "write-local";
102
142
  readonly studioJsonEvents: true;
103
143
  } | {
@@ -167,7 +207,7 @@ export declare function commandDefinition(id: string): {
167
207
  } | {
168
208
  readonly id: "spec";
169
209
  readonly operation: "spec";
170
- readonly summary: "维护可选的 AppSpec 需求与变更辅助";
210
+ readonly summary: "维护需求、设计、变更与业务验收记录";
171
211
  readonly risk: "write-local";
172
212
  } | undefined;
173
213
  export declare function renderDevkitCommandReference(options?: {
@@ -1 +1 @@
1
- {"version":3,"file":"command-registry.d.ts","sourceRoot":"","sources":["../src/command-registry.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,aAAa,GAAG,QAAQ,CAAC;AAElE,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,iBAAiB,CAAC;IACxB,gBAAgB,CAAC,EAAE,IAAI,CAAC;CACzB;AAED,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgB2B,CAAC;AAExD,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAE3C;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,GAAE;IACP,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CAChB,UASP"}
1
+ {"version":3,"file":"command-registry.d.ts","sourceRoot":"","sources":["../src/command-registry.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,aAAa,GAAG,QAAQ,CAAC;AAElE,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,iBAAiB,CAAC;IACxB,gBAAgB,CAAC,EAAE,IAAI,CAAC;CACzB;AAED,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoB2B,CAAC;AAExD,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAE3C;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,GAAE;IACP,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CAChB,UASP"}
@@ -1,6 +1,10 @@
1
1
  export const DEVKIT_COMMANDS = [
2
+ { id: "auth", operation: "auth.status", summary: "只读核验指定平台授权,不登录或刷新会话", risk: "read" },
3
+ { id: "context", operation: "workspace.context", summary: "只读查看工作区、版本与平台绑定", risk: "read" },
4
+ { id: "docs", operation: "docs", summary: "按主题和章节读取当前版本中文资料", risk: "read" },
5
+ { id: "admin", operation: "admin", summary: "只读查看应用管理能力和流程节点运行配置", risk: "read" },
2
6
  { id: "create", operation: "create", summary: "创建、绑定并初始化应用", risk: "deploy", studioJsonEvents: true },
3
- { id: "dev", operation: "dev", summary: "连接平台测试数据启动本地 Web Nest", risk: "write-local", studioJsonEvents: true },
7
+ { id: "dev", operation: "dev", summary: "连接平台测试数据启动本地 Web,按需启动 Nest", risk: "write-local", studioJsonEvents: true },
4
8
  { id: "check", operation: "check", summary: "生成契约并在目标平台预检后执行检查、测试和构建", risk: "write-local", studioJsonEvents: true },
5
9
  { id: "accept", operation: "accept", summary: "按计划准备可选的真实预发验收身份", risk: "deploy" },
6
10
  { id: "deploy", operation: "deploy", summary: "部署测试环境或显式复用测试版本部署生产", risk: "deploy", studioJsonEvents: true },
@@ -13,15 +17,15 @@ export const DEVKIT_COMMANDS = [
13
17
  { id: "rollback", operation: "rollback", summary: "回滚测试或生产环境", risk: "deploy", studioJsonEvents: true },
14
18
  { id: "login", operation: "login", summary: "通过平台浏览器授权登录", risk: "write-local" },
15
19
  { id: "skill", operation: "skill install", summary: "安装当前版本的 AI Skill", risk: "write-local" },
16
- { id: "spec", operation: "spec", summary: "维护可选的 AppSpec 需求与变更辅助", risk: "write-local" },
20
+ { id: "spec", operation: "spec", summary: "维护需求、设计、变更与业务验收记录", risk: "write-local" },
17
21
  ];
18
22
  export function commandDefinition(id) {
19
23
  return DEVKIT_COMMANDS.find(command => command.id === id);
20
24
  }
21
25
  export function renderDevkitCommandReference(options = {}) {
22
- const title = options.title || "CLI Reference";
23
- const executable = options.executable || "openxiangda";
24
- const rows = DEVKIT_COMMANDS.map(command => `| \`${executable} ${command.id.replaceAll(":", " ")}\` | ${command.risk} | ${command.summary} |`).join("\n");
25
- return `# ${title}\n\n> Generated from \`DEVKIT_COMMANDS\`. Do not edit manually.\n\n| Command | Risk | Purpose |\n| --- | --- | --- |\n${rows}\n`;
26
+ const title = options.title || "CLI 命令参考";
27
+ const executable = options.executable || "pnpm openxiangda";
28
+ const rows = DEVKIT_COMMANDS.map(command => `| \`${executable} ${command.id.replaceAll(":", " ")}\` | ${{ read: '只读', 'write-local': '本地写入', deploy: '远端变更' }[command.risk]} | ${command.summary} |`).join("\n");
29
+ return `# ${title}\n\n> 从实际命令注册表生成。参数与示例使用 \`pnpm openxiangda <命令> --help\` 查看;修改注册表后重新生成本页。\n\n| 命令 | 影响 | 用途 |\n| --- | --- | --- |\n${rows}\n\n只验证时运行 check;部署测试环境时直接运行 deploy,它已包含检查、测试和构建。生产使用 deploy --environment production --from <测试运行ID>;加 --dry-run 只读预览。登录、创建和长期 dev 进程由 CLI 管理。\n`;
26
30
  }
27
31
  //# sourceMappingURL=command-registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"command-registry.js","sourceRoot":"","sources":["../src/command-registry.ts"],"names":[],"mappings":"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"}
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":"ai-catalog.d.ts","sourceRoot":"","sources":["../../src/compiler/ai-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,mBAAmB,EAKzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAiXxD,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,oBAAoB,EAC5B,kBAAkB,CAAC,EAAE,MAAM,GAC1B,mBAAmB,CAyCrB"}
1
+ {"version":3,"file":"ai-catalog.d.ts","sourceRoot":"","sources":["../../src/compiler/ai-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,mBAAmB,EAKzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAkXxD,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,oBAAoB,EAC5B,kBAAkB,CAAC,EAAE,MAAM,GAC1B,mBAAmB,CAyCrB"}
@@ -1,4 +1,5 @@
1
1
  import { SCHEMA_VERSIONS, aiJsonSchemaForField, assertAiCapabilityCatalog, } from "openxiangda-contracts";
2
+ import { nativeFieldRequiresCreateInputV2 } from 'openxiangda-contracts/native-compiler';
2
3
  import { supportsGeneratedMutation } from "./field-codec.js";
3
4
  const QUERY_OPERATORS = [
4
5
  "eq",
@@ -175,7 +176,7 @@ function createInputSchema(resource) {
175
176
  (surface?.createCapabilities === undefined ||
176
177
  surface.createCapabilities.length > 0));
177
178
  });
178
- return objectSchema(fields, fields.filter(field => field.nullable === false).map(field => field.code));
179
+ return objectSchema(fields, fields.filter(field => nativeFieldRequiresCreateInputV2(field, resource.surface?.fields[field.code])).map(field => field.code));
179
180
  }
180
181
  function updateInputSchema(resource) {
181
182
  const fields = resource.schema.fields.filter(field => {
@@ -1 +1 @@
1
- {"version":3,"file":"ai-catalog.js","sourceRoot":"","sources":["../../src/compiler/ai-catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-catalog.js","sourceRoot":"","sources":["../../src/compiler/ai-catalog.ts"],"names":[],"mappings":"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"}