openxiangda 2.0.0-alpha.3 → 2.0.0-alpha.8

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 (36) hide show
  1. package/bin/run.js +6 -1
  2. package/dist/browser/Shell.d.ts.map +1 -1
  3. package/dist/browser/Shell.js +62 -20
  4. package/dist/browser/Shell.js.map +1 -1
  5. package/dist/browser/application.d.ts +3 -1
  6. package/dist/browser/application.d.ts.map +1 -1
  7. package/dist/browser/application.js +29 -11
  8. package/dist/browser/application.js.map +1 -1
  9. package/dist/browser/components/workflow/StandardWorkflowPages.d.ts +13 -0
  10. package/dist/browser/components/workflow/StandardWorkflowPages.d.ts.map +1 -0
  11. package/dist/browser/components/workflow/StandardWorkflowPages.js +407 -0
  12. package/dist/browser/components/workflow/StandardWorkflowPages.js.map +1 -0
  13. package/dist/browser/platform-client.d.ts +38 -1
  14. package/dist/browser/platform-client.d.ts.map +1 -1
  15. package/dist/browser/platform-client.js +64 -6
  16. package/dist/browser/platform-client.js.map +1 -1
  17. package/dist/browser/styles.css +298 -0
  18. package/dist/browser/workflow-definitions.d.ts +25 -0
  19. package/dist/browser/workflow-definitions.d.ts.map +1 -0
  20. package/dist/browser/workflow-definitions.js +32 -0
  21. package/dist/browser/workflow-definitions.js.map +1 -0
  22. package/dist/internal/web-build-verifier.d.ts +8 -0
  23. package/dist/internal/web-build-verifier.d.ts.map +1 -0
  24. package/dist/internal/web-build-verifier.js +63 -0
  25. package/dist/internal/web-build-verifier.js.map +1 -0
  26. package/dist/react.d.ts +2 -0
  27. package/dist/react.d.ts.map +1 -1
  28. package/dist/react.js +2 -0
  29. package/dist/react.js.map +1 -1
  30. package/dist/testing.d.ts +1 -0
  31. package/dist/testing.d.ts.map +1 -1
  32. package/dist/testing.js +1 -0
  33. package/dist/testing.js.map +1 -1
  34. package/package.json +7 -7
  35. package/skills/openxiangda-v2/SKILL.md +3 -3
  36. package/skills/openxiangda-v2/references/data-authz.md +9 -5
package/dist/react.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qDAAqD,CAAC;AACpE,cAAc,oDAAoD,CAAC;AACnE,cAAc,qDAAqD,CAAC"}
1
+ {"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qDAAqD,CAAC;AACpE,cAAc,oDAAoD,CAAC;AACnE,cAAc,qDAAqD,CAAC;AACpE,cAAc,qDAAqD,CAAC"}
package/dist/testing.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from 'openxiangda-devkit-core/testing';
2
2
  export { OpenXiangdaApplicationServices, verifySealedAppPackage, } from 'openxiangda-devkit-core';
3
3
  export { sha256Digest } from 'openxiangda-contracts';
4
+ export { verifyOpenXiangdaWebBuild, type OpenXiangdaWebBuildVerification, } from './internal/web-build-verifier.js';
4
5
  //# sourceMappingURL=testing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC;AAChD,OAAO,EACL,8BAA8B,EAC9B,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC;AAChD,OAAO,EACL,8BAA8B,EAC9B,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EACL,yBAAyB,EACzB,KAAK,+BAA+B,GACrC,MAAM,kCAAkC,CAAC"}
package/dist/testing.js CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from 'openxiangda-devkit-core/testing';
2
2
  export { OpenXiangdaApplicationServices, verifySealedAppPackage, } from 'openxiangda-devkit-core';
3
3
  export { sha256Digest } from 'openxiangda-contracts';
4
+ export { verifyOpenXiangdaWebBuild, } from './internal/web-build-verifier.js';
4
5
  //# sourceMappingURL=testing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"testing.js","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC;AAChD,OAAO,EACL,8BAA8B,EAC9B,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"testing.js","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC;AAChD,OAAO,EACL,8BAA8B,EAC9B,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EACL,yBAAyB,GAE1B,MAAM,kCAAkC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openxiangda",
3
- "version": "2.0.0-alpha.3",
3
+ "version": "2.0.0-alpha.8",
4
4
  "description": "Unified OpenXiangda 2.0 CLI, SDK, React runtime, NestJS integration and AI skill distribution.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -49,12 +49,12 @@
49
49
  "dependencies": {
50
50
  "dayjs": "1.11.18",
51
51
  "docx-preview": "0.3.7",
52
- "openxiangda-cli": "2.0.0-alpha.91",
53
- "openxiangda-contracts": "2.0.0-alpha.45",
54
- "openxiangda-devkit-core": "2.0.0-alpha.58",
55
- "openxiangda-mcp": "2.0.0-alpha.58",
56
- "openxiangda-nest": "2.0.0-alpha.54",
57
- "openxiangda-skill-kit": "2.0.0-alpha.76",
52
+ "openxiangda-cli": "2.0.0-alpha.96",
53
+ "openxiangda-contracts": "2.0.0-alpha.46",
54
+ "openxiangda-devkit-core": "2.0.0-alpha.59",
55
+ "openxiangda-mcp": "2.0.0-alpha.59",
56
+ "openxiangda-nest": "2.0.0-alpha.55",
57
+ "openxiangda-skill-kit": "2.0.0-alpha.77",
58
58
  "xlsx": "https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz"
59
59
  },
60
60
  "peerDependencies": {
@@ -10,14 +10,14 @@ Treat requirement discovery, architecture, authorization, development, testing a
10
10
  Before a workspace exists, use this Skill's exact npm version:
11
11
 
12
12
  ```bash
13
- pnpm dlx openxiangda@2.0.0-alpha.3 login --base-url <platform>
14
- pnpm dlx openxiangda@2.0.0-alpha.3 create <directory>
13
+ pnpm dlx openxiangda@2.0.0-alpha.8 login --base-url <platform>
14
+ pnpm dlx openxiangda@2.0.0-alpha.8 create <directory>
15
15
  ```
16
16
 
17
17
  Inside an application, use only its locked executable through `pnpm openxiangda`. Never invoke a bare global `openxiangda`, because that executable may belong to stable 1.x. Moving tags such as `latest` and `alpha` are forbidden. To install or refresh this same Skill from the package, run:
18
18
 
19
19
  ```bash
20
- pnpm dlx openxiangda@2.0.0-alpha.3 skill install --force
20
+ pnpm dlx openxiangda@2.0.0-alpha.8 skill install --force
21
21
  ```
22
22
 
23
23
  Use this order:
@@ -39,7 +39,7 @@ const visitorReservations = {
39
39
  },
40
40
  {
41
41
  code: 'attachments', type: 'file', label: '附件',
42
- file: { multiple: true, maxCount: 5, maxSizeMb: 20, accept: ['image/*', '.pdf'] },
42
+ file: { maxCount: 5, maxSizeMb: 20, accept: ['image/*', '.pdf'] },
43
43
  },
44
44
  {
45
45
  code: 'internalNote', type: 'text.long', label: '内部备注',
@@ -56,14 +56,16 @@ Put it in `data: { resources: [visitorReservations] }`. Resource CRUD
56
56
  capabilities are derived by `resourceCapabilityCodes`; grant the needed values
57
57
  to roles. Directory-backed roles also require
58
58
  `app:<app-code>:directory:read`. Explicit field `access` capability codes are
59
- also granted only to the intended roles.
59
+ also granted only to the intended roles. They are owned and exported by the
60
+ generated field policy, so do not repeat them in `authz.capabilities`.
61
+ `authz.capabilities` contains only explicit `backend` or `ui` capabilities.
60
62
 
61
63
  `required: true` owns both storage nullability and form validation. A field
62
64
  without `access` inherits the resource read/create/update capability. Each
63
65
  access array is all-of; `false` is explicit deny. The same arrays drive the
64
66
  generated UI and platform field policies.
65
67
 
66
- Field types are semantic, not PostgreSQL storage aliases. Use the catalog in the generated `AGENTS.md`: for example `text.short`, `number.integer`, `user.single`, `department.multiple`, `resource-ref.single`, `file`, `address` and `subtable`. The compiler alone chooses storage columns and constraints. Reference fields store complete labeled snapshots; resource references additionally declare their source and snapshot fields. File limits exist only under `file` and use `maxSizeMb`.
68
+ Field types are semantic, not PostgreSQL storage aliases. Use the catalog in the generated `AGENTS.md`: for example `text.short`, `number.integer`, `user.single`, `department.multiple`, `resource-ref.single`, `file`, `address` and `subtable`. The compiler alone chooses storage columns and constraints. Reference fields store complete labeled snapshots; resource references additionally declare their source and snapshot fields. File limits exist only under `file`; `maxCount` owns the single/multiple bound and `maxSizeMb` owns the per-file size bound. There is no `file.multiple` key.
67
69
 
68
70
  Do not author raw schema or storage words as field types. `string`, `text`,
69
71
  `integer`, `decimal`, `boolean`, `date`, `datetime`, `uuid`, `json` and `file`
@@ -80,7 +82,7 @@ currentUserDataPolicy({
80
82
  code: 'reservation-host',
81
83
  name: '接待人员仅查看本人预约',
82
84
  resourceCode: 'visitor-reservations',
83
- field: 'hostUserId.value',
85
+ field: 'hostUserId',
84
86
  roleCodes: ['reception_staff'],
85
87
  unrestrictedRoleCodes: ['visitor_admin'],
86
88
  })
@@ -88,6 +90,8 @@ currentUserDataPolicy({
88
90
 
89
91
  Put that value in `authz.dataPolicies`, declare both roles, and set the
90
92
  resource `dataPolicyCode` to the same code. Do not invent `operator`, `value`,
91
- `current_user: true`, lowercase match modes, or policy-level `roleCodes`.
93
+ `current_user: true`, lowercase match modes, a dotted value path, or
94
+ policy-level `roleCodes`. The compiler and platform know that `user.*` fields
95
+ compare their stable `value`; `field` remains the declared field root code.
92
96
 
93
97
  Run `pnpm openxiangda check` after every declaration or permission change.