openxiangda-cli 2.0.0-alpha.89 → 2.0.0-alpha.90

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 (77) hide show
  1. package/README.md +2 -2
  2. package/bin/run.js +1 -0
  3. package/dist/commands/skill.d.ts +26 -0
  4. package/dist/commands/skill.d.ts.map +1 -0
  5. package/dist/commands/skill.js +43 -0
  6. package/dist/commands/skill.js.map +1 -0
  7. package/dist/create-workspace.d.ts.map +1 -1
  8. package/dist/create-workspace.js +3 -3
  9. package/dist/create-workspace.js.map +1 -1
  10. package/dist/toolchain-capsule.d.ts.map +1 -1
  11. package/dist/toolchain-capsule.js +4 -8
  12. package/dist/toolchain-capsule.js.map +1 -1
  13. package/package.json +6 -7
  14. package/template/AGENTS.md +2 -1
  15. package/template/README.md +3 -3
  16. package/template/apps/server/package.json +1 -1
  17. package/template/apps/server/src/app.module.ts +1 -1
  18. package/template/apps/server/src/main.ts +1 -1
  19. package/template/apps/web/e2e/client-fixture.ts +5 -0
  20. package/template/apps/web/e2e/data-api-live-fixture.tsx +19 -14
  21. package/template/apps/web/e2e/field-protocol-fixture.tsx +87 -20
  22. package/template/apps/web/e2e/field-protocol.spec.ts +86 -0
  23. package/template/apps/web/e2e/resources.spec.ts +20 -181
  24. package/template/apps/web/field-protocol.e2e.html +3 -0
  25. package/template/apps/web/package.json +2 -5
  26. package/template/apps/web/src/main.tsx +12 -60
  27. package/template/apps/web/test/contracts.test.ts +52 -104
  28. package/template/openxiangda.config.ts +1 -1
  29. package/template/package.json +1 -3
  30. package/template/packages/contracts/src/generated.ts +1 -0
  31. package/template/scripts/verify-template-budget.mjs +2 -2
  32. package/template/apps/web/src/AuthoritativeSelector.tsx +0 -661
  33. package/template/apps/web/src/FilePreviewPage.tsx +0 -324
  34. package/template/apps/web/src/RoleSubjectSelect.tsx +0 -128
  35. package/template/apps/web/src/Shell.tsx +0 -445
  36. package/template/apps/web/src/appearance.tsx +0 -147
  37. package/template/apps/web/src/components/platform-fields/AddressField.tsx +0 -338
  38. package/template/apps/web/src/components/platform-fields/AttachmentFileList.tsx +0 -245
  39. package/template/apps/web/src/components/platform-fields/CascadeField.tsx +0 -49
  40. package/template/apps/web/src/components/platform-fields/DateTimeField.tsx +0 -148
  41. package/template/apps/web/src/components/platform-fields/JsonField.tsx +0 -77
  42. package/template/apps/web/src/components/platform-fields/LocationField.tsx +0 -164
  43. package/template/apps/web/src/components/platform-fields/PlatformDirectoryPicker.tsx +0 -673
  44. package/template/apps/web/src/components/platform-fields/ResourceReferenceField.tsx +0 -67
  45. package/template/apps/web/src/components/platform-fields/RichTextField.tsx +0 -196
  46. package/template/apps/web/src/components/platform-fields/SignatureField.tsx +0 -315
  47. package/template/apps/web/src/components/platform-fields/SubtableField.tsx +0 -553
  48. package/template/apps/web/src/components/platform-fields/address-value.ts +0 -80
  49. package/template/apps/web/src/components/platform-fields/cascade-value.ts +0 -66
  50. package/template/apps/web/src/components/platform-fields/directory-value.ts +0 -53
  51. package/template/apps/web/src/components/platform-fields/field-form-codec.ts +0 -98
  52. package/template/apps/web/src/components/platform-fields/location-value.ts +0 -87
  53. package/template/apps/web/src/components/platform-fields/resource-query.ts +0 -131
  54. package/template/apps/web/src/components/platform-fields/rich-text-value.ts +0 -59
  55. package/template/apps/web/src/components/platform-fields/subtable-value.ts +0 -187
  56. package/template/apps/web/src/components/resource/GeneratedResourceCrud.tsx +0 -1184
  57. package/template/apps/web/src/components/resource/ResourceBatchActions.tsx +0 -326
  58. package/template/apps/web/src/components/resource/StandardResourcePages.tsx +0 -392
  59. package/template/apps/web/src/components/resource/SurfaceFields.tsx +0 -915
  60. package/template/apps/web/src/components/resource/generated-resource-definition.ts +0 -18
  61. package/template/apps/web/src/components/resource/resource-import.ts +0 -205
  62. package/template/apps/web/src/data-provider.ts +0 -72
  63. package/template/apps/web/src/platform-client.ts +0 -708
  64. package/template/apps/web/src/runtime-meta.ts +0 -75
  65. package/template/apps/web/src/runtime.tsx +0 -227
  66. package/template/apps/web/src/styles.css +0 -1941
  67. package/template/apps/web/test/address-field.test.ts +0 -66
  68. package/template/apps/web/test/cascade-value.test.ts +0 -68
  69. package/template/apps/web/test/directory-value.test.ts +0 -55
  70. package/template/apps/web/test/field-bounds.test.ts +0 -17
  71. package/template/apps/web/test/field-form-codec.test.ts +0 -85
  72. package/template/apps/web/test/location-field.test.ts +0 -83
  73. package/template/apps/web/test/resource-import.test.ts +0 -143
  74. package/template/apps/web/test/resource-query.test.ts +0 -144
  75. package/template/apps/web/test/rich-json-field.test.ts +0 -53
  76. package/template/apps/web/test/signature-serial-field.test.ts +0 -40
  77. package/template/apps/web/test/subtable-value.test.ts +0 -144
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # openxiangda-cli
2
2
 
3
- OpenXiangda 2.0 installs one developer CLI with exactly eight top-level commands: `create`, `dev`, `check`, `deploy`, `status`, `logs`, `rollback`, and `login`.
3
+ OpenXiangda 2.0 installs one developer CLI with eight application lifecycle commands—`create`, `dev`, `check`, `deploy`, `status`, `logs`, `rollback`, and `login`—plus `skill install` for installing the exact AI guidance bundled with the same release.
4
4
 
5
5
  The CLI disables user, development and JIT plugin loading. A clean build removes orphaned command output before TypeScript compilation. `--json` emits one stable result envelope and never mixes progress logs into machine output.
6
6
 
@@ -8,6 +8,6 @@ AI-native development clients use the same pinned executable in pre-command
8
8
  stdio mode: `pnpm exec openxiangda --mcp-stdio --cwd <workspace>`. They can read
9
9
  `openxiangda://workspace/contracts` or call `contract_describe` to obtain the
10
10
  compiler-owned `aiCatalog` and `aiCatalogDigest`. This transport does not add a
11
- ninth Oclif command and applications must not implement a second MCP server.
11
+ another executable and applications must not implement a second MCP server.
12
12
 
13
13
  `dev` starts local Web/Nest hot reload and a loopback connected proxy. `deploy` defaults to test; production explicitly reuses a successful test AppVersion. Application binding, initialization, generation, tests and builds are internal stages rather than separate commands.
package/bin/run.js CHANGED
@@ -11,6 +11,7 @@ const publicCommands = new Set([
11
11
  'logs',
12
12
  'rollback',
13
13
  'login',
14
+ 'skill',
14
15
  ]);
15
16
  const args = process.argv.slice(2);
16
17
 
@@ -0,0 +1,26 @@
1
+ import { OpenXiangdaCommand } from '../base.js';
2
+ export default class Skill extends OpenXiangdaCommand {
3
+ static summary: string;
4
+ static args: {
5
+ action: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
6
+ };
7
+ static flags: {
8
+ destination: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
9
+ force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
+ };
11
+ run(): Promise<import("openxiangda-contracts").DevkitResult<unknown> | {
12
+ schemaVersion: string;
13
+ ok: boolean;
14
+ operation: string;
15
+ workspace: import("openxiangda-contracts").WorkspaceIdentity;
16
+ data: {} | null;
17
+ error: {
18
+ code: string;
19
+ message: string;
20
+ retryable: boolean;
21
+ remediation: string;
22
+ nextCommand: string | null;
23
+ } | null;
24
+ }>;
25
+ }
26
+ //# sourceMappingURL=skill.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../../src/commands/skill.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,kBAAkB;IACnD,MAAM,CAAC,OAAO,SAA2C;IACzD,MAAM,CAAC,IAAI;;MAET;IACF,MAAM,CAAC,KAAK;;;MASV;IAEI,GAAG;;;;;;;;;;;;;;CAuBV"}
@@ -0,0 +1,43 @@
1
+ import { Args, Flags } from '@oclif/core';
2
+ import { homedir } from 'node:os';
3
+ import { join, resolve } from 'node:path';
4
+ import { installSkills, resolveDefaultSkillsRoot, } from 'openxiangda-skill-kit';
5
+ import { OpenXiangdaCommand } from '../base.js';
6
+ export default class Skill extends OpenXiangdaCommand {
7
+ static summary = '安装或更新与当前 openxiangda 版本完全一致的 AI Skill';
8
+ static args = {
9
+ action: Args.string({ required: true, options: ['install'] }),
10
+ };
11
+ static flags = {
12
+ destination: Flags.string({
13
+ summary: 'AI Skill 根目录;默认使用 Codex Skill 目录',
14
+ helpValue: '<directory>',
15
+ }),
16
+ force: Flags.boolean({
17
+ default: false,
18
+ summary: '原子替换已安装的同名 Skill',
19
+ }),
20
+ };
21
+ async run() {
22
+ const { args, flags } = await this.parse(Skill);
23
+ if (args.action !== 'install') {
24
+ throw new Error(`OPENXIANGDA_SKILL_ACTION_UNSUPPORTED:${args.action}`);
25
+ }
26
+ const destination = resolve(flags.destination ||
27
+ join(process.env.CODEX_HOME || join(homedir(), '.codex'), 'skills'));
28
+ const result = await installSkills({
29
+ skillsRoot: resolveDefaultSkillsRoot(),
30
+ destination,
31
+ force: flags.force,
32
+ });
33
+ return this.present({
34
+ ok: true,
35
+ operation: 'skill install',
36
+ workspace: { appCode: 'global', root: process.cwd() },
37
+ data: result,
38
+ diagnostics: [],
39
+ nextActions: [],
40
+ });
41
+ }
42
+ }
43
+ //# sourceMappingURL=skill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill.js","sourceRoot":"","sources":["../../src/commands/skill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EACL,aAAa,EACb,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,kBAAkB;IACnD,MAAM,CAAC,OAAO,GAAG,uCAAuC,CAAC;IACzD,MAAM,CAAC,IAAI,GAAG;QACZ,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;KAC9D,CAAC;IACF,MAAM,CAAC,KAAK,GAAG;QACb,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC;YACxB,OAAO,EAAE,kCAAkC;YAC3C,SAAS,EAAE,aAAa;SACzB,CAAC;QACF,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,kBAAkB;SAC5B,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,wCAAwC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACzE,CAAC;QACD,MAAM,WAAW,GAAG,OAAO,CACzB,KAAK,CAAC,WAAW;YACf,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,CACtE,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC;YACjC,UAAU,EAAE,wBAAwB,EAAE;YACtC,WAAW;YACX,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,OAAO,CAAC;YAClB,EAAE,EAAE,IAAI;YACR,SAAS,EAAE,eAAe;YAC1B,SAAS,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE;YACrD,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,EAAE;YACf,WAAW,EAAE,EAAE;SAChB,CAAC,CAAC;IACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-workspace.d.ts","sourceRoot":"","sources":["../src/create-workspace.ts"],"names":[],"mappings":"AAkBA,OAAO,EACL,0BAA0B,EAE3B,MAAM,wBAAwB,CAAC;AAEhC,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,sBAAsB,CAAC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,sBAAsB,GAAG,SAAS,GAAG,SAAS,CAAC;AAE3D,MAAM,WAAW,uBAAuB;IACtC,aAAa,CAAC,EAAE,sBAAsB,CAAC;IACvC,gBAAgB,CAAC,EAAE,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAC;CAClE;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE,oBAAoB;;;;;;;;GAuDhE;AAED,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,uBAA4B;;;;;eA6BtC"}
1
+ {"version":3,"file":"create-workspace.d.ts","sourceRoot":"","sources":["../src/create-workspace.ts"],"names":[],"mappings":"AAmBA,OAAO,EACL,0BAA0B,EAE3B,MAAM,wBAAwB,CAAC;AAEhC,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,sBAAsB,CAAC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,sBAAsB,GAAG,SAAS,GAAG,SAAS,CAAC;AAE3D,MAAM,WAAW,uBAAuB;IACtC,aAAa,CAAC,EAAE,sBAAsB,CAAC;IACvC,gBAAgB,CAAC,EAAE,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAC;CAClE;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE,oBAAoB;;;;;;;;GAuDhE;AAED,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,uBAA4B;;;;;eA6BtC"}
@@ -1,7 +1,7 @@
1
1
  import { spawnSync } from "node:child_process";
2
2
  import { cpSync, existsSync, mkdirSync, readFileSync, readdirSync, renameSync, statSync, writeFileSync, } from "node:fs";
3
3
  import { dirname, join, relative, resolve } from "node:path";
4
- import { collectWorkspaceToolchainDependencies, OpenXiangdaApplicationServices, toolchainCapsuleDiagnostic, } from "openxiangda-devkit-core";
4
+ import { collectWorkspaceToolchainDependencies, isOpenXiangdaPackageName, OpenXiangdaApplicationServices, toolchainCapsuleDiagnostic, } from "openxiangda-devkit-core";
5
5
  import { resolveCliToolchainCapsule, resolveDefaultTemplate, } from "./toolchain-capsule.js";
6
6
  export async function createWorkspace(input) {
7
7
  const target = resolve(input.directory);
@@ -109,7 +109,7 @@ function configureLocalSdk(workspaceRoot, inputRoot) {
109
109
  continue;
110
110
  const manifest = JSON.parse(readFileSync(packageJsonPath, "utf8"));
111
111
  const name = typeof manifest.name === "string" ? manifest.name : "";
112
- if (name.startsWith("openxiangda-")) {
112
+ if (isOpenXiangdaPackageName(name)) {
113
113
  localPackages.set(name, { root: packageRoot, manifest });
114
114
  }
115
115
  }
@@ -225,7 +225,7 @@ function normalizePublishedDependencies(root, dependencyVersions) {
225
225
  if (!dependencies || typeof dependencies !== "object")
226
226
  continue;
227
227
  for (const [name, version] of Object.entries(dependencies)) {
228
- if (!name.startsWith("openxiangda-") || typeof version !== "string")
228
+ if (!isOpenXiangdaPackageName(name) || typeof version !== "string")
229
229
  continue;
230
230
  if (!version.startsWith("workspace:"))
231
231
  continue;
@@ -1 +1 @@
1
- {"version":3,"file":"create-workspace.js","sourceRoot":"","sources":["../src/create-workspace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-workspace.js","sourceRoot":"","sources":["../src/create-workspace.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"toolchain-capsule.d.ts","sourceRoot":"","sources":["../src/toolchain-capsule.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,gBAAgB,EACtB,MAAM,yBAAyB,CAAC;AAOjC,wBAAgB,0BAA0B,CACxC,YAAY,SAA2B,GACtC,gBAAgB,CAyBlB;AAED,wBAAgB,sBAAsB,WAIrC"}
1
+ {"version":3,"file":"toolchain-capsule.d.ts","sourceRoot":"","sources":["../src/toolchain-capsule.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,gBAAgB,EACtB,MAAM,yBAAyB,CAAC;AAOjC,wBAAgB,0BAA0B,CACxC,YAAY,SAA2B,GACtC,gBAAgB,CAsBlB;AAED,wBAAgB,sBAAsB,WAIrC"}
@@ -1,4 +1,4 @@
1
- import { createToolchainCapsule, TOOLCHAIN_CAPSULE_MAX_MANIFEST_BYTES, TOOLCHAIN_CAPSULE_MAX_PACKAGE_FILES, ToolchainCapsuleScanLimitError, } from "openxiangda-devkit-core";
1
+ import { createToolchainCapsule, isOpenXiangdaPackageName, TOOLCHAIN_CAPSULE_MAX_MANIFEST_BYTES, TOOLCHAIN_CAPSULE_MAX_PACKAGE_FILES, ToolchainCapsuleScanLimitError, } from "openxiangda-devkit-core";
2
2
  import { existsSync, readFileSync, readdirSync, statSync } from "node:fs";
3
3
  import { dirname, join, relative, resolve } from "node:path";
4
4
  import { fileURLToPath } from "node:url";
@@ -6,10 +6,6 @@ const packageRoot = resolve(dirname(fileURLToPath(import.meta.url)), "..");
6
6
  export function resolveCliToolchainCapsule(templateRoot = resolveDefaultTemplate()) {
7
7
  const localVersions = readLocalPackageVersions();
8
8
  const versions = new Map();
9
- const cliVersion = localVersions.get("openxiangda-cli");
10
- if (!cliVersion)
11
- throw new Error("OPENXIANGDA_CLI_VERSION_MISSING");
12
- versions.set("openxiangda-cli", cliVersion);
13
9
  for (const dependency of readTemplateDependencies(templateRoot)) {
14
10
  const value = dependency.specifier.startsWith("workspace:")
15
11
  ? localVersions.get(dependency.name)
@@ -38,7 +34,7 @@ function readLocalPackageVersions() {
38
34
  if (self &&
39
35
  typeof self.name === "string" &&
40
36
  typeof self.version === "string" &&
41
- self.name.startsWith("openxiangda-")) {
37
+ isOpenXiangdaPackageName(self.name)) {
42
38
  versions.set(self.name, self.version);
43
39
  }
44
40
  for (const entry of readdirSync(packagesRoot, { withFileTypes: true }).sort((left, right) => left.name.localeCompare(right.name))) {
@@ -48,7 +44,7 @@ function readLocalPackageVersions() {
48
44
  if (manifest &&
49
45
  typeof manifest.name === "string" &&
50
46
  typeof manifest.version === "string" &&
51
- manifest.name.startsWith("openxiangda-")) {
47
+ isOpenXiangdaPackageName(manifest.name)) {
52
48
  versions.set(manifest.name, manifest.version);
53
49
  }
54
50
  }
@@ -89,7 +85,7 @@ function readTemplateDependencies(root) {
89
85
  if (!values || typeof values !== "object")
90
86
  continue;
91
87
  for (const [name, specifier] of Object.entries(values)) {
92
- if (!name.startsWith("openxiangda-")) {
88
+ if (!isOpenXiangdaPackageName(name)) {
93
89
  continue;
94
90
  }
95
91
  dependencies.push({
@@ -1 +1 @@
1
- {"version":3,"file":"toolchain-capsule.js","sourceRoot":"","sources":["../src/toolchain-capsule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toolchain-capsule.js","sourceRoot":"","sources":["../src/toolchain-capsule.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,oCAAoC,EACpC,mCAAmC,EACnC,8BAA8B,GAE/B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAE3E,MAAM,UAAU,0BAA0B,CACxC,YAAY,GAAG,sBAAsB,EAAE;IAEvC,MAAM,aAAa,GAAG,wBAAwB,EAAE,CAAC;IACjD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE3C,KAAK,MAAM,UAAU,IAAI,wBAAwB,CAAC,YAAY,CAAC,EAAE,CAAC;QAChE,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC;YACzD,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;YACpC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC;QACzB,IAAI,CAAC,KAAK,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CACb,oDAAoD,UAAU,CAAC,IAAI,EAAE,CACtE,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,QAAQ,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CACb,uCAAuC,UAAU,CAAC,IAAI,EAAE,CACzD,CAAC;QACJ,CAAC;QACD,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,sBAAsB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,6BAA6B,CAAC,CAAC;IACvE,IAAI,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,UAAU,CAAC;IAC9C,OAAO,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,wBAAwB;IAC/B,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3C,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;IAC7D,IACE,IAAI;QACJ,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;QAC7B,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;QAChC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,EACnC,CAAC;QACD,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,YAAY,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CACzE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CACrD,EAAE,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;YAAE,SAAS;QACnC,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;QAC9E,IACE,QAAQ;YACR,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ;YACjC,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ;YACpC,wBAAwB,CAAC,QAAQ,CAAC,IAAI,CAAC,EACvC,CAAC;YACD,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AASD,SAAS,wBAAwB,CAAC,IAAY;IAC5C,MAAM,YAAY,GAAyB,EAAE,CAAC;IAC9C,IAAI,gBAAgB,GAAG,CAAC,CAAC;IACzB,MAAM,KAAK,GAAG,CAAC,SAAiB,EAAE,EAAE;QAClC,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CACtE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CACrD,EAAE,CAAC;YACF,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClE,SAAS;YACX,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,KAAK,CAAC,IAAI,CAAC,CAAC;gBACZ,SAAS;YACX,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc;gBAAE,SAAS;YAC/D,gBAAgB,IAAI,CAAC,CAAC;YACtB,IAAI,gBAAgB,GAAG,mCAAmC,EAAE,CAAC;gBAC3D,MAAM,IAAI,8BAA8B,CACtC,uCAAuC,mCAAmC,EAAE,CAC7E,CAAC;YACJ,CAAC;YACD,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,oCAAoC,EAAE,CAAC;gBAC/D,MAAM,IAAI,8BAA8B,CACtC,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,oCAAoC,QAAQ,CAChF,CAAC;YACJ,CAAC;YACD,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,CAAC,QAAQ;gBAAE,SAAS;YACxB,KAAK,MAAM,OAAO,IAAI;gBACpB,cAAc;gBACd,iBAAiB;gBACjB,kBAAkB;gBAClB,sBAAsB;aACvB,EAAE,CAAC;gBACF,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACjC,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;oBAAE,SAAS;gBACpD,KAAK,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAC5C,MAAiC,CAClC,EAAE,CAAC;oBACF,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC;wBACpC,SAAS;oBACX,CAAC;oBACD,YAAY,CAAC,IAAI,CAAC;wBAChB,IAAI;wBACJ,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC;wBAC5B,WAAW,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC;wBACvD,OAAO;qBACR,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IACF,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACrB,OAAO,YAAY,CAAC,IAAI,CACtB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACd,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC;QACjD,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAC5C,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAA4B,CAAC;IAC3E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QACzE,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openxiangda-cli",
3
- "version": "2.0.0-alpha.89",
3
+ "version": "2.0.0-alpha.90",
4
4
  "description": "Thin application-level CLI for OpenXiangda 2.0.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -10,11 +10,9 @@
10
10
  "types": "./dist/index.d.ts",
11
11
  "import": "./dist/index.js"
12
12
  },
13
+ "./run": "./bin/run.js",
13
14
  "./package.json": "./package.json"
14
15
  },
15
- "bin": {
16
- "openxiangda": "./bin/run.js"
17
- },
18
16
  "files": [
19
17
  "bin/",
20
18
  "dist/",
@@ -23,9 +21,10 @@
23
21
  ],
24
22
  "dependencies": {
25
23
  "@oclif/core": "4.13.3",
26
- "openxiangda-contracts": "2.0.0-alpha.43",
27
- "openxiangda-devkit-core": "2.0.0-alpha.56",
28
- "openxiangda-mcp": "2.0.0-alpha.56"
24
+ "openxiangda-contracts": "2.0.0-alpha.44",
25
+ "openxiangda-devkit-core": "2.0.0-alpha.57",
26
+ "openxiangda-mcp": "2.0.0-alpha.57",
27
+ "openxiangda-skill-kit": "2.0.0-alpha.75"
29
28
  },
30
29
  "devDependencies": {
31
30
  "tsx": "4.23.12",
@@ -7,7 +7,7 @@
7
7
  - Ordinary list/get/create/update/delete, filters, export and batch operations use the platform Native Data API. Do not create Function CRUD or NestJS wrappers.
8
8
  - Add NestJS only for a named business action that needs a cross-resource transaction, an invariant or an external side effect.
9
9
  - A NestJS backend declares only `enabled`, `isolation: 'shared' | 'dedicated'` and `resourceProfile: 'light' | 'standard'`. Never put raw Kubernetes resources, replicas, ports or environment maps in application metadata; the platform owns capacity and scaling.
10
- - Use the current logged-in user and the union of that user's application roles. The generated shell automatically carries the platform's opaque authorization context for Data, Directory and App API requests. Business code must not read or persist that identifier, a platform Token, or authorization results, and must not implement a second identity path.
10
+ - Use the current logged-in user and the union of that user's application roles. The generated client uses same-origin cookies and does not transmit a RoleSession header. Business code must not persist a platform Token or authorization result and must not implement a second identity path.
11
11
  - Fields inherit the resource read/create/update capabilities. Use field `access` only to tighten them; arrays are all-of and `false` is explicit deny. There is no `write` fallback.
12
12
  - Field `type` is semantic, never a hand-authored database type. The supported catalog is exactly `text.short`, `text.long`, `text.rich`, `number.integer`, `number.decimal`, `boolean`, `date`, `time`, `datetime`, `date-range`, `datetime-range`, `option.single`, `option.multiple`, `cascade.single`, `cascade.multiple`, `user.single`, `user.multiple`, `department.single`, `department.multiple`, `resource-ref.single`, `resource-ref.multiple`, `file`, `image`, `signature`, `address`, `location`, `json`, `serial-number`, `uuid` and `subtable`. The compiler alone derives PostgreSQL columns, constraints and indexes.
13
13
  - Declare every custom operation capability in `authz.capabilities` with `kind: 'backend'`, then reference that same code from the operation and its allowed roles. Generated resource CRUD capabilities do not go in this catalog.
@@ -16,5 +16,6 @@
16
16
  - `option.*`, `user.*`, `department.*` and `resource-ref.*` values never collapse to scalar IDs. Single values store one labeled snapshot and multiple values store snapshot arrays. `location` accepts only exact WGS84 coordinates captured by DingTalk or browser geolocation; it has no manual input or `manual` source. Roles that consume directory-backed fields explicitly include `app:<app-code>:directory:read`.
17
17
  - Derive role grants with `resourceCapabilityCodes(appCode, resourceCode)`. Declare current-user rows only with `currentUserDataPolicy(...)`; do not invent operators, values or alternate current-user spellings.
18
18
  - Do not add compatibility aliases, migration branches or silent fallbacks for an earlier 2.0 alpha contract. Replace an incorrect contract and regenerate the application.
19
+ - Standard Workflow and Notification Hub are optional 2.0 modules. Enable them only through the canonical `openxiangda.config.ts` declarations and generated clients; never copy 1.x workflow/message code, tables, APIs, templates or callbacks into this workspace. Keep ordinary CRUD and application-specific state machines independent of them.
19
20
  - Run `pnpm openxiangda check` after contract changes. Deploy with `pnpm openxiangda deploy`, inspect with `pnpm openxiangda status` and `pnpm openxiangda logs`, and use the platform rollback command rather than mutating K3s directly.
20
21
  - AI-native clients start the workspace protocol through the same pinned binary: `pnpm exec openxiangda --mcp-stdio --cwd <workspace>`. Read `openxiangda://workspace/contracts` or call `contract_describe`, and require its `aiCatalog` and `aiCatalogDigest` to match the normal compiler output. This is a stdio transport mode, not a ninth CLI command. Never write an application MCP server, Catalog file, preview store or second authorization path.
@@ -6,15 +6,15 @@
6
6
  pnpm openxiangda dev
7
7
  ```
8
8
 
9
- 当前应用已经把 CLI 和全部 2.0 包精确锁定在 `package.json` lockfile 中。创建另一个应用时使用当前安装的 OpenXiangda 2.0 Skill 给出的精确 CLI 版本,不使用 `latest`、`alpha` 或全局命令。
9
+ 当前应用只直接依赖一个精确版本的 `openxiangda` 根包,并在 lockfile 中锁定其内部实现包。创建另一个应用时使用当前安装的 OpenXiangda 2.0 Skill 给出的精确根包版本,不使用 `latest`、`alpha` 或全局命令。
10
10
 
11
11
  在 `openxiangda.config.ts` 的 `data.resources` 中只声明资源 `code`、`name`、`fields` 和可选列表/布局/数据策略。每个字段一次写完语义 `type`、`label`、`required`、列表/筛选标记、`options`/`source`/`file` 与 `access`;不要再写 `schema`、`surface`、PostgreSQL 类型、资源 capabilities、资源 fieldPolicies 或 `platform/data` 模块。编译器据此生成标准后台列表、筛选、表单、详情、审计、文件上传、独立移动端页面、Data API 查询计划和 AI Schema。
12
12
 
13
13
  成员、部门分别声明 `user.single`/`user.multiple` 和 `department.single`/`department.multiple`;同应用动态资源声明 `resource-ref.single`/`resource-ref.multiple` 及编译期固定的 `source`。这些字段都保存完整 `{label,value,...}` 显示快照,资源引用还保存 `resourceCode` 和声明的 `snapshot` 字段;查询和权限以稳定 `value` 为比较键。需要目录选择器的业务角色必须显式拥有 `app:<app-code>:directory:read` 能力。用 `resourceCapabilityCodes` 生成资源 CRUD 权限,用 `currentUserDataPolicy` 声明唯一的当前用户行规则。
14
14
 
15
- 所有 CRUD 位于 `apps/web/src/platform-client.ts` Data API adapter;Nest 只在需要复杂事务或外部集成时增加 App API。选择器显式携带当前环境、使用同源 Cookie。标准客户端在内存中恢复平台 RoleSession,并自动为 Data、Directory、文件和 App API 请求携带 header;业务代码不读取或持久化 Token、RoleSession 标识与授权结果。
15
+ 字段组件、CRUD Renderer、Shell、Runtime 与 Data/Directory/File/App Client 都由 `openxiangda/react`、`openxiangda/field-kit` `openxiangda/core` 统一提供,应用模板不复制这些实现。Nest 只在需要复杂事务或外部集成时增加 App API。标准客户端显式携带当前环境、使用同源 Cookie;业务代码不读取或持久化 Token、平台内部身份标识与授权结果。
16
16
 
17
- 前端读取当前单一应用角色和 capability 做展示保护;多角色用户从当前应用个人菜单切换,切换后页面、数据和操作上下文整体替换,不做权限并集。服务端始终权威。字段默认继承资源 read/create/update;`access` 数组为 all-of,`false` 为明确拒绝,无权字段在提交前从 payload 删除。
17
+ 前端一次读取当前登录用户在当前环境的完整应用角色并集和 capability 做展示保护,不提供角色选择器,也不发送 RoleSession header。服务端始终以同一角色并集权威执行操作、字段、行权限和 RLS。字段默认继承资源 read/create/update;`access` 数组为 all-of,`false` 为明确拒绝,无权字段在提交前从 payload 删除。
18
18
 
19
19
  ```bash
20
20
  pnpm openxiangda check
@@ -15,7 +15,7 @@
15
15
  "@nestjs/common": "11.1.29",
16
16
  "@nestjs/core": "11.1.29",
17
17
  "@nestjs/platform-fastify": "11.1.29",
18
- "openxiangda-nest": "2.0.0-alpha.52",
18
+ "openxiangda": "2.0.0-alpha.2",
19
19
  "reflect-metadata": "0.2.2",
20
20
  "rxjs": "7.8.2"
21
21
  },
@@ -7,7 +7,7 @@ import {
7
7
  import {
8
8
  OpenXiangdaModule,
9
9
  eventSigningSecretsFromEnvironment,
10
- } from 'openxiangda-nest';
10
+ } from 'openxiangda/nest';
11
11
 
12
12
  @Module({
13
13
  imports: [
@@ -1,5 +1,5 @@
1
1
  import 'reflect-metadata';
2
- import { bootstrapOpenXiangdaApplication } from 'openxiangda-nest';
2
+ import { bootstrapOpenXiangdaApplication } from 'openxiangda/nest';
3
3
  import { AppModule } from './app.module.js';
4
4
 
5
5
  await bootstrapOpenXiangdaApplication(AppModule);
@@ -0,0 +1,5 @@
1
+ export {
2
+ requestApplicationApi,
3
+ searchDirectory,
4
+ searchResource,
5
+ } from 'openxiangda/core';
@@ -3,12 +3,15 @@ import { App as AntdApp } from 'antd';
3
3
  import React from 'react';
4
4
  import ReactDOM from 'react-dom/client';
5
5
  import { MemoryRouter, Route, Routes } from 'react-router-dom';
6
- import { createApplicationProvider } from '../src/data-provider';
7
- import { GeneratedResourcePage } from '../src/components/resource/GeneratedResourceCrud';
8
- import type { GeneratedResourceDefinition } from '../src/components/resource/generated-resource-definition';
9
- import { AppearanceProvider } from '../src/appearance';
10
- import { RuntimeBoundary } from '../src/runtime';
11
- import '../src/styles.css';
6
+ import {
7
+ AppearanceProvider,
8
+ createApplicationProvider,
9
+ GeneratedResourcePage,
10
+ OpenXiangdaResourceDefinitionsProvider,
11
+ RuntimeBoundary,
12
+ type GeneratedResourceDefinition,
13
+ } from 'openxiangda/react';
14
+ import 'openxiangda/react/styles.css';
12
15
 
13
16
  const code = 'field-records';
14
17
  const capabilityBase = `app:native-projection-app:data:${code}`;
@@ -104,10 +107,11 @@ function resourcePage(mode: 'list' | 'create' | 'edit' | 'detail') {
104
107
 
105
108
  ReactDOM.createRoot(document.getElementById('root')!).render(
106
109
  <React.StrictMode>
107
- <AppearanceProvider>
108
- <AntdApp>
109
- <RuntimeBoundary>
110
- <MemoryRouter initialEntries={[initialPath]}>
110
+ <OpenXiangdaResourceDefinitionsProvider definitions={definitions}>
111
+ <AppearanceProvider>
112
+ <AntdApp>
113
+ <RuntimeBoundary>
114
+ <MemoryRouter initialEntries={[initialPath]}>
111
115
  <Refine
112
116
  dataProvider={provider}
113
117
  resources={[
@@ -133,9 +137,10 @@ ReactDOM.createRoot(document.getElementById('root')!).render(
133
137
  />
134
138
  </Routes>
135
139
  </Refine>
136
- </MemoryRouter>
137
- </RuntimeBoundary>
138
- </AntdApp>
139
- </AppearanceProvider>
140
+ </MemoryRouter>
141
+ </RuntimeBoundary>
142
+ </AntdApp>
143
+ </AppearanceProvider>
144
+ </OpenXiangdaResourceDefinitionsProvider>
140
145
  </React.StrictMode>
141
146
  );
@@ -1,15 +1,21 @@
1
- import { ConfigProvider, Form, Typography } from 'antd';
2
- import type { DataFieldSurface, DataFileRef } from 'openxiangda-contracts/browser';
1
+ import { Button, ConfigProvider, Form, Typography } from 'antd';
2
+ import type {
3
+ DataAuditEntry,
4
+ DataFieldSurface,
5
+ DataFileRef,
6
+ } from 'openxiangda/core';
3
7
  import React from 'react';
4
8
  import ReactDOM from 'react-dom/client';
5
9
  import {
10
+ auditFieldChange,
6
11
  MobileSurfaceFieldControl,
12
+ SurfaceAuditFieldValue,
7
13
  SurfaceFieldControl,
8
14
  SurfaceFieldValue,
9
15
  type SurfaceField,
10
16
  type SurfaceFieldRenderers,
11
- } from '../src/components/resource/SurfaceFields';
12
- import '../src/styles.css';
17
+ } from 'openxiangda/field-kit';
18
+ import 'openxiangda/react/styles.css';
13
19
 
14
20
  const options = [
15
21
  { label: '启用', value: 'enabled' },
@@ -98,7 +104,7 @@ const fields = [
98
104
  field('业务签名', 'signature', 'signature'),
99
105
  field('地址', 'address', 'address'),
100
106
  field('精确定位', 'location', 'location'),
101
- field('UUID', 'uuid', 'readonly'),
107
+ field('UUID', 'uuid', 'readonly', { requiredHint: true }),
102
108
  field('JSON', 'json', 'json'),
103
109
  field('流水号', 'serial-number', 'readonly'),
104
110
  field('子表', 'subtable', 'subtable'),
@@ -117,17 +123,28 @@ const reference = {
117
123
  snapshot: { code: 'M-001' },
118
124
  };
119
125
  const fileRef: DataFileRef = {
126
+ schemaVersion: 'openxiangda.data-file-ref/v2',
120
127
  id: '11111111-1111-4111-8111-111111111111',
121
128
  name: '验收附件.pdf',
122
129
  size: 1280,
123
130
  contentType: 'application/pdf',
124
131
  };
132
+ const imageRef: DataFileRef = {
133
+ ...fileRef,
134
+ id: '22222222-2222-4222-8222-222222222222',
135
+ name: '验收图片.png',
136
+ contentType: 'image/png',
137
+ width: 640,
138
+ height: 480,
139
+ previewUrl: '/service/openxiangda-api/v2/applications/field-protocol-fixture/native/data/field-records/files/22222222-2222-4222-8222-222222222222/content?disposition=inline',
140
+ thumbnailUrl: '/service/openxiangda-api/v2/applications/field-protocol-fixture/native/data/field-records/files/22222222-2222-4222-8222-222222222222/content?variant=thumbnail&disposition=inline',
141
+ };
125
142
  const values: Record<string, unknown> = {
126
143
  单行文本: '仪器验收记录',
127
144
  邮箱: 'user@example.com',
128
145
  电话: '13800000000',
129
146
  多行文本: '第一行\n第二行',
130
- 富文本: '<p>已保存的<strong>富文本</strong></p>',
147
+ 富文本: `<p>已保存的<strong>富文本</strong></p><img src="${imageRef.previewUrl}" alt="富文本图片">`,
131
148
  整数: -7,
132
149
  小数: 12.34,
133
150
  金额: 5600.5,
@@ -164,16 +181,7 @@ const values: Record<string, unknown> = {
164
181
  资源单选: reference,
165
182
  资源多选: [reference],
166
183
  附件: [fileRef],
167
- 图片: [
168
- {
169
- ...fileRef,
170
- id: '22222222-2222-4222-8222-222222222222',
171
- name: '验收图片.png',
172
- contentType: 'image/png',
173
- width: 640,
174
- height: 480,
175
- },
176
- ],
184
+ 图片: [imageRef],
177
185
  业务签名: {
178
186
  file: {
179
187
  ...fileRef,
@@ -201,15 +209,38 @@ const values: Record<string, unknown> = {
201
209
  accuracy: 5,
202
210
  capturedAt: '2026-08-24T02:20:30.000Z',
203
211
  },
204
- UUID: '44444444-4444-4444-8444-444444444444',
205
212
  JSON: { status: 'ok', nested: { count: 1 } },
206
213
  流水号: 'FP-001000',
207
214
  子表: [{ item_name: '第一行' }, { item_name: '第二行' }],
208
215
  };
209
216
 
217
+ const auditEntry: DataAuditEntry = {
218
+ id: 'field-protocol-event',
219
+ operation: 'created',
220
+ recordId: 'field-protocol-record',
221
+ revision: 1,
222
+ actor: { principalType: 'user', subjectId: 'user-1' },
223
+ correlation: {
224
+ eventId: 'field-protocol-event',
225
+ requestId: null,
226
+ traceId: null,
227
+ environmentKey: 'preproduction',
228
+ appVersionId: 'field-protocol-version',
229
+ environmentHeadRevision: 1,
230
+ capturePlanRevision: 1,
231
+ cause: { eventId: null, subscriptionCode: null, depth: 0 },
232
+ },
233
+ changes: Object.fromEntries(
234
+ fields.map(item => [item.key, { after: values[item.key] ?? null }])
235
+ ),
236
+ projection: {},
237
+ occurredAt: '2026-08-25T00:00:00.000Z',
238
+ };
239
+
210
240
  const renderers: SurfaceFieldRenderers = {
211
241
  signer: user,
212
242
  upload: async (_field, file) => ({
243
+ schemaVersion: 'openxiangda.data-file-ref/v2',
213
244
  id: crypto.randomUUID(),
214
245
  name: file.name,
215
246
  size: file.size,
@@ -239,12 +270,12 @@ function AcceptancePage() {
239
270
  </Typography.Text>
240
271
  </header>
241
272
  <section aria-label={mobile ? '移动编辑字段' : '桌面编辑字段'} className="field-protocol-edit">
242
- <Form initialValues={values} layout="vertical">
273
+ <Form initialValues={values} layout="vertical" onFinish={() => undefined}>
243
274
  <div className="field-protocol-grid">
244
275
  {fields.map(item => (
245
276
  <div data-field-code={item.key} key={item.key}>
246
277
  <Control
247
- disabled={false}
278
+ disabled={item.widget === 'readonly'}
248
279
  field={item}
249
280
  operation="create"
250
281
  renderers={renderers}
@@ -253,6 +284,7 @@ function AcceptancePage() {
253
284
  </div>
254
285
  ))}
255
286
  </div>
287
+ <Button htmlType="submit">验证表单</Button>
256
288
  </Form>
257
289
  </section>
258
290
  {!mobile && (
@@ -262,9 +294,44 @@ function AcceptancePage() {
262
294
  {fields.map(item => (
263
295
  <div data-read-field={item.key} key={item.key}>
264
296
  <strong>{item.label}</strong>
265
- <SurfaceFieldValue field={item} renderers={renderers} value={values[item.key]} />
297
+ <SurfaceFieldValue
298
+ field={item}
299
+ renderers={renderers}
300
+ resourceCode="field-records"
301
+ value={values[item.key]}
302
+ />
303
+ </div>
304
+ ))}
305
+ </div>
306
+ </section>
307
+ )}
308
+ {!mobile && (
309
+ <section aria-label="当前协议字段变更记录" className="field-protocol-readonly">
310
+ <Typography.Title level={3}>当前协议字段变更记录</Typography.Title>
311
+ <div className="field-protocol-read-grid">
312
+ {fields.map(item => (
313
+ <div data-audit-field={item.key} key={item.key}>
314
+ <strong>{item.label}</strong>
315
+ <SurfaceAuditFieldValue
316
+ field={item}
317
+ resourceCode="field-records"
318
+ value={auditFieldChange(auditEntry, item.key)?.after}
319
+ />
266
320
  </div>
267
321
  ))}
322
+ <div data-audit-digest="rich-text">
323
+ <strong>富文本摘要</strong>
324
+ <SurfaceAuditFieldValue
325
+ field={fields[4]}
326
+ value={{
327
+ kind: 'digest',
328
+ truncated: true,
329
+ valueType: 'text.rich',
330
+ bytes: 65_537,
331
+ sha256: 'a'.repeat(64),
332
+ }}
333
+ />
334
+ </div>
268
335
  </div>
269
336
  </section>
270
337
  )}