openxiangda-contracts 2.25.0 → 2.27.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 (44) hide show
  1. package/README.md +1 -1
  2. package/dist/browser.d.ts +1 -0
  3. package/dist/browser.d.ts.map +1 -1
  4. package/dist/browser.js +1 -0
  5. package/dist/browser.js.map +1 -1
  6. package/dist/cli.d.ts +38 -0
  7. package/dist/cli.d.ts.map +1 -0
  8. package/dist/cli.js +11 -0
  9. package/dist/cli.js.map +1 -0
  10. package/dist/index.d.ts +2 -1
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +2 -1
  13. package/dist/index.js.map +1 -1
  14. package/dist/native-compiler/compiler.d.ts.map +1 -1
  15. package/dist/native-compiler/compiler.js +9 -1
  16. package/dist/native-compiler/compiler.js.map +1 -1
  17. package/dist/native-compiler/index.cjs +4 -4
  18. package/dist/native-compiler/index.d.ts +1 -0
  19. package/dist/native-compiler/index.d.ts.map +1 -1
  20. package/dist/native-compiler/index.js +4 -4
  21. package/dist/native-compiler/unique-keys.d.ts +102 -0
  22. package/dist/native-compiler/unique-keys.d.ts.map +1 -0
  23. package/dist/native-compiler/unique-keys.js +112 -0
  24. package/dist/native-compiler/unique-keys.js.map +1 -0
  25. package/dist/native-version.d.ts +1 -0
  26. package/dist/native-version.d.ts.map +1 -1
  27. package/dist/native-version.js +1 -0
  28. package/dist/native-version.js.map +1 -1
  29. package/dist/schemas.d.ts +189 -797
  30. package/dist/schemas.d.ts.map +1 -1
  31. package/dist/schemas.js +12 -280
  32. package/dist/schemas.js.map +1 -1
  33. package/dist/types.d.ts +21 -6
  34. package/dist/types.d.ts.map +1 -1
  35. package/dist/types.js +2 -5
  36. package/dist/types.js.map +1 -1
  37. package/dist/validation.d.ts.map +1 -1
  38. package/dist/validation.js +9 -0
  39. package/dist/validation.js.map +1 -1
  40. package/package.json +1 -1
  41. package/dist/studio.d.ts +0 -140
  42. package/dist/studio.d.ts.map +0 -1
  43. package/dist/studio.js +0 -23
  44. package/dist/studio.js.map +0 -1
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # openxiangda-contracts
2
2
 
3
- 维护 OpenXiangda 2.0 的 TypeScript 与 JSON Schema 协议,包括应用声明、Data API、当前用户的角色与能力并集、AppPackage、部署结果及 Studio 工作区事件。
3
+ 维护 OpenXiangda 2.0 的 TypeScript 与 JSON Schema 协议,包括应用声明、Data API、当前用户的角色与能力并集、AppPackage、部署结果及 CLI 工作区事件。
4
4
 
5
5
  应用使用根包 `openxiangda/core` 等公开子路径。平台与工具链维护者在此修改共享协议,并验证调用双方及包版本组合;不要在应用中复制身份、权限或部署状态协议。
6
6
 
package/dist/browser.d.ts CHANGED
@@ -15,4 +15,5 @@ export * from './workflow-correction.js';
15
15
  export * from './native-compiler/data-audit-access.js';
16
16
  export * from './process-resolution.js';
17
17
  export * from './application-diagnostics.js';
18
+ export * from './native-compiler/unique-keys.js';
18
19
  //# sourceMappingURL=browser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wCAAwC,CAAC;AAEvD,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC"}
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wCAAwC,CAAC;AAEvD,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAE7C,cAAc,kCAAkC,CAAC"}
package/dist/browser.js CHANGED
@@ -15,4 +15,5 @@ export * from './workflow-correction.js';
15
15
  export * from './native-compiler/data-audit-access.js';
16
16
  export * from './process-resolution.js';
17
17
  export * from './application-diagnostics.js';
18
+ export * from './native-compiler/unique-keys.js';
18
19
  //# sourceMappingURL=browser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wCAAwC,CAAC;AAEvD,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC"}
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wCAAwC,CAAC;AAEvD,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAE7C,cAAc,kCAAkC,CAAC"}
package/dist/cli.d.ts ADDED
@@ -0,0 +1,38 @@
1
+ export declare const CLI_PROTOCOL_VERSION: "openxiangda.cli/v1";
2
+ export declare const CLI_RESULT_SCHEMA_VERSION: "openxiangda.cli-result/v2";
3
+ export declare const CLI_EVENT_SCHEMA_VERSION: "openxiangda.cli-event/v1";
4
+ export declare const WORKSPACE_TEMPLATE_BINDING_SCHEMA_VERSION: "openxiangda.workspace-template-binding/v1";
5
+ export declare const CLI_EVENT_TYPES: readonly ["command.started", "command.status", "command.completed", "command.failed"];
6
+ export type CliEventType = (typeof CLI_EVENT_TYPES)[number];
7
+ export interface CliEvent {
8
+ schemaVersion: typeof CLI_EVENT_SCHEMA_VERSION;
9
+ eventId: string;
10
+ runId: string;
11
+ seq: number;
12
+ type: CliEventType;
13
+ timestamp: string;
14
+ payload: Record<string, unknown>;
15
+ }
16
+ export interface WorkspaceTemplateBinding {
17
+ schemaVersion: typeof WORKSPACE_TEMPLATE_BINDING_SCHEMA_VERSION;
18
+ ref: string;
19
+ digest: `sha256:${string}`;
20
+ }
21
+ export interface CliProtocolCapabilities {
22
+ schemaVersion: typeof CLI_PROTOCOL_VERSION;
23
+ cliResultSchemaVersion: typeof CLI_RESULT_SCHEMA_VERSION;
24
+ cliEvents: {
25
+ schemaVersion: typeof CLI_EVENT_SCHEMA_VERSION;
26
+ commands: Array<{
27
+ id: string;
28
+ operation: string;
29
+ risk: "read" | "write-local" | "deploy";
30
+ }>;
31
+ };
32
+ templates: {
33
+ schemaVersion: typeof WORKSPACE_TEMPLATE_BINDING_SCHEMA_VERSION;
34
+ digestAlgorithm: "sha256";
35
+ supportedReferences: ["builtin:application", "file"];
36
+ };
37
+ }
38
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,EAAG,oBAA6B,CAAC;AAClE,eAAO,MAAM,yBAAyB,EACpC,2BAAoC,CAAC;AAEvC,eAAO,MAAM,wBAAwB,EACnC,0BAAmC,CAAC;AAEtC,eAAO,MAAM,yCAAyC,EACpD,2CAAoD,CAAC;AAEvD,eAAO,MAAM,eAAe,uFAKlB,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5D,MAAM,WAAW,QAAQ;IACvB,aAAa,EAAE,OAAO,wBAAwB,CAAC;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,YAAY,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,wBAAwB;IACvC,aAAa,EAAE,OAAO,yCAAyC,CAAC;IAChE,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,UAAU,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,uBAAuB;IACtC,aAAa,EAAE,OAAO,oBAAoB,CAAC;IAC3C,sBAAsB,EAAE,OAAO,yBAAyB,CAAC;IACzD,SAAS,EAAE;QACT,aAAa,EAAE,OAAO,wBAAwB,CAAC;QAC/C,QAAQ,EAAE,KAAK,CAAC;YACd,EAAE,EAAE,MAAM,CAAC;YACX,SAAS,EAAE,MAAM,CAAC;YAClB,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,QAAQ,CAAC;SACzC,CAAC,CAAC;KACJ,CAAC;IACF,SAAS,EAAE;QACT,aAAa,EAAE,OAAO,yCAAyC,CAAC;QAChE,eAAe,EAAE,QAAQ,CAAC;QAC1B,mBAAmB,EAAE,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;KACtD,CAAC;CACH"}
package/dist/cli.js ADDED
@@ -0,0 +1,11 @@
1
+ export const CLI_PROTOCOL_VERSION = "openxiangda.cli/v1";
2
+ export const CLI_RESULT_SCHEMA_VERSION = "openxiangda.cli-result/v2";
3
+ export const CLI_EVENT_SCHEMA_VERSION = "openxiangda.cli-event/v1";
4
+ export const WORKSPACE_TEMPLATE_BINDING_SCHEMA_VERSION = "openxiangda.workspace-template-binding/v1";
5
+ export const CLI_EVENT_TYPES = [
6
+ "command.started",
7
+ "command.status",
8
+ "command.completed",
9
+ "command.failed",
10
+ ];
11
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAAG,oBAA6B,CAAC;AAClE,MAAM,CAAC,MAAM,yBAAyB,GACpC,2BAAoC,CAAC;AAEvC,MAAM,CAAC,MAAM,wBAAwB,GACnC,0BAAmC,CAAC;AAEtC,MAAM,CAAC,MAAM,yCAAyC,GACpD,2CAAoD,CAAC;AAEvD,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,iBAAiB;IACjB,gBAAgB;IAChB,mBAAmB;IACnB,gBAAgB;CACR,CAAC"}
package/dist/index.d.ts CHANGED
@@ -10,7 +10,7 @@ export * from './notification.js';
10
10
  export * from './references.js';
11
11
  export * from './schemas.js';
12
12
  export * from './surface.js';
13
- export * from './studio.js';
13
+ export * from './cli.js';
14
14
  export * from './types.js';
15
15
  export * from './workflow-summary.js';
16
16
  export * from './workflow-detail.js';
@@ -20,4 +20,5 @@ export * from './native-compiler/workflow-instance-policy.js';
20
20
  export { validateDataFieldDefinition } from './data-field-validation.js';
21
21
  export * from './process-resolution.js';
22
22
  export * from './application-diagnostics.js';
23
+ export * from './native-compiler/unique-keys.js';
23
24
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0CAA0C,CAAC;AACzD,cAAc,wCAAwC,CAAC;AACvD,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+CAA+C,CAAC;AAC9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAEzE,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0CAA0C,CAAC;AACzD,cAAc,wCAAwC,CAAC;AACvD,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+CAA+C,CAAC;AAC9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAEzE,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAE7C,cAAc,kCAAkC,CAAC"}
package/dist/index.js CHANGED
@@ -10,7 +10,7 @@ export * from './notification.js';
10
10
  export * from './references.js';
11
11
  export * from './schemas.js';
12
12
  export * from './surface.js';
13
- export * from './studio.js';
13
+ export * from './cli.js';
14
14
  export * from './types.js';
15
15
  export * from './workflow-summary.js';
16
16
  export * from './workflow-detail.js';
@@ -20,4 +20,5 @@ export * from './native-compiler/workflow-instance-policy.js';
20
20
  export { validateDataFieldDefinition } from './data-field-validation.js';
21
21
  export * from './process-resolution.js';
22
22
  export * from './application-diagnostics.js';
23
+ export * from './native-compiler/unique-keys.js';
23
24
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0CAA0C,CAAC;AACzD,cAAc,wCAAwC,CAAC;AACvD,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+CAA+C,CAAC;AAC9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAEzE,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0CAA0C,CAAC;AACzD,cAAc,wCAAwC,CAAC;AACvD,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+CAA+C,CAAC;AAC9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAEzE,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAE7C,cAAc,kCAAkC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../../src/native-compiler/compiler.ts"],"names":[],"mappings":"AAYA,OAAO,EAEL,KAAK,kCAAkC,IAAI,uCAAuC,EACnF,MAAM,aAAa,CAAC;AAyBrB,QAAA,MAAM,iBAAiB,mDAAmD,CAAC;AAC3E,QAAA,MAAM,yBAAyB,YAA2C,CAAC;AAgF3E,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;EAe7B,CAAC;AACZ,eAAO,MAAM,mBAAmB,6HAItB,CAAC;AACX,eAAO,MAAM,uBAAuB,u/CAkC1B,CAAC;AAGX,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEtC,MAAM,WAAW,gCAAgC;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;IAC1C,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;IAC5C,oBAAoB,EAAE,MAAM,CAAC;IAC7B,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,6BAA6B,CAAC,CAAC,GAAG,UAAU;IAC3D,KAAK,EAAE,CAAC,CAAC;IACT,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iCAAiC;IAChD,aAAa,EAAE,OAAO,iBAAiB,CAAC;IACxC,uBAAuB,EAAE,OAAO,yBAAyB,CAAC;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE;QACN,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;QACvB,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,WAAW,EAAE;QACX,KAAK,EAAE,6BAA6B,CAAC;QACrC,IAAI,EAAE,6BAA6B,CAAC;QACpC,MAAM,EAAE,6BAA6B,CAAC;QACtC,SAAS,EAAE,6BAA6B,CAAC;QACzC,OAAO,EAAE,6BAA6B,CAAC;QACvC,SAAS,EAAE,6BAA6B,CAAC;KAC1C,CAAC;IACF,4BAA4B,EAAE,uCAAuC,EAAE,CAAC;IACxE,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,gCAAiC,SAAQ,KAAK;IACzD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAG3C,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,WAAW,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;CAY5C;AAED,wBAAgB,qCAAqC,CACnD,KAAK,EAAE,gCAAgC,GACtC,iCAAiC,CAkJnC;AAED;;;GAGG;AACH,wBAAgB,qCAAqC,CACnD,MAAM,EAAE,UAAU,GACjB,uCAAuC,EAAE,CAiT3C;AAED,MAAM,WAAW,wBAAwB;IACvC,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED;;;;GAIG;AACH,wBAAgB,gCAAgC,CAAC,KAAK,EAAE;IACtD,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,aAAa,EAAE,UAAU,EAAE,CAAC;IAC5B,eAAe,CAAC,EAAE,UAAU,EAAE,CAAC;CAChC,GAAG,wBAAwB,EAAE,CA4J7B"}
1
+ {"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../../src/native-compiler/compiler.ts"],"names":[],"mappings":"AAaA,OAAO,EAEL,KAAK,kCAAkC,IAAI,uCAAuC,EACnF,MAAM,aAAa,CAAC;AAyBrB,QAAA,MAAM,iBAAiB,mDAAmD,CAAC;AAC3E,QAAA,MAAM,yBAAyB,YAA2C,CAAC;AAgF3E,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;EAe7B,CAAC;AACZ,eAAO,MAAM,mBAAmB,6HAItB,CAAC;AACX,eAAO,MAAM,uBAAuB,u/CAkC1B,CAAC;AAGX,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEtC,MAAM,WAAW,gCAAgC;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;IAC1C,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;IAC5C,oBAAoB,EAAE,MAAM,CAAC;IAC7B,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,6BAA6B,CAAC,CAAC,GAAG,UAAU;IAC3D,KAAK,EAAE,CAAC,CAAC;IACT,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iCAAiC;IAChD,aAAa,EAAE,OAAO,iBAAiB,CAAC;IACxC,uBAAuB,EAAE,OAAO,yBAAyB,CAAC;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE;QACN,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;QACvB,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,WAAW,EAAE;QACX,KAAK,EAAE,6BAA6B,CAAC;QACrC,IAAI,EAAE,6BAA6B,CAAC;QACpC,MAAM,EAAE,6BAA6B,CAAC;QACtC,SAAS,EAAE,6BAA6B,CAAC;QACzC,OAAO,EAAE,6BAA6B,CAAC;QACvC,SAAS,EAAE,6BAA6B,CAAC;KAC1C,CAAC;IACF,4BAA4B,EAAE,uCAAuC,EAAE,CAAC;IACxE,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,gCAAiC,SAAQ,KAAK;IACzD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAG3C,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,WAAW,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;CAY5C;AAED,wBAAgB,qCAAqC,CACnD,KAAK,EAAE,gCAAgC,GACtC,iCAAiC,CAkJnC;AAED;;;GAGG;AACH,wBAAgB,qCAAqC,CACnD,MAAM,EAAE,UAAU,GACjB,uCAAuC,EAAE,CAoT3C;AAED,MAAM,WAAW,wBAAwB;IACvC,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED;;;;GAIG;AACH,wBAAgB,gCAAgC,CAAC,KAAK,EAAE;IACtD,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,aAAa,EAAE,UAAU,EAAE,CAAC;IAC5B,eAAe,CAAC,EAAE,UAAU,EAAE,CAAC;CAChC,GAAG,wBAAwB,EAAE,CA4J7B"}
@@ -1,3 +1,4 @@
1
+ import { NativeUniqueKeyContractError, parseNativeUniqueKeys } from './unique-keys.js';
1
2
  import { normalizeDecimalReservationEventDeclaration, decimalReservationEventContext } from './decimal-reservation.js';
2
3
  import { NativeDecimalLifecycleContractError, parseDecimalReservationLifecycle, validateDecimalReservationLifecycles } from './decimal-lifecycle.js';
3
4
  import { compileNativeEventAction } from './event-action.js';
@@ -322,6 +323,9 @@ export function compileRequiredPlatformCapabilitiesV3(config) {
322
323
  },
323
324
  };
324
325
  const usages = [
326
+ ...(resources.some(resource => resource.uniqueKeys?.length)
327
+ ? [{ code: 'data.unique-keys', declaration: resources.filter(resource => resource.uniqueKeys?.length)
328
+ .map(resource => ({ code: resource.code, uniqueKeys: resource.uniqueKeys })) }] : []),
325
329
  ...(resources.some(resource => resource.decimalReservationLifecycle)
326
330
  ? [{ code: 'data.decimal-reservation-lifecycle',
327
331
  declaration: resources.filter(resource => resource.decimalReservationLifecycle)
@@ -4699,6 +4703,7 @@ function validateResource(raw, pointer, appCode) {
4699
4703
  'surface',
4700
4704
  'invariants',
4701
4705
  'decimalReservationLifecycle',
4706
+ 'uniqueKeys',
4702
4707
  'capabilities',
4703
4708
  'dataPolicyCode',
4704
4709
  'fieldPolicies',
@@ -4712,14 +4717,16 @@ function validateResource(raw, pointer, appCode) {
4712
4717
  let fields;
4713
4718
  let invariants;
4714
4719
  let decimalReservationLifecycle;
4720
+ let uniqueKeys;
4715
4721
  try {
4716
4722
  decimalReservationLifecycle = parseDecimalReservationLifecycle(resource.decimalReservationLifecycle, `${pointer}/decimalReservationLifecycle`);
4717
4723
  fields = parseNativeDataFieldsV2(schema.fields, `${pointer}/schema/fields`);
4724
+ uniqueKeys = parseNativeUniqueKeys(resource.uniqueKeys, fields, `${pointer}/uniqueKeys`);
4718
4725
  invariants = parseNativeDataResourceInvariantsV2(resource.invariants, fields, `${pointer}/invariants`);
4719
4726
  validateNativeDataResourceSurfaceV2(resource.surface, fields, `${pointer}/surface`);
4720
4727
  }
4721
4728
  catch (error) {
4722
- if (error instanceof NativeDataFieldContractV2Error || error instanceof NativeDecimalLifecycleContractError) {
4729
+ if (error instanceof NativeDataFieldContractV2Error || error instanceof NativeDecimalLifecycleContractError || error instanceof NativeUniqueKeyContractError) {
4723
4730
  fail(error.code, error.pointer);
4724
4731
  }
4725
4732
  throw error;
@@ -4754,6 +4761,7 @@ function validateResource(raw, pointer, appCode) {
4754
4761
  schema: { fields },
4755
4762
  ...(resource.invariants === undefined ? {} : { invariants }),
4756
4763
  ...(decimalReservationLifecycle ? { decimalReservationLifecycle } : {}),
4764
+ ...(uniqueKeys !== undefined ? { uniqueKeys } : {}),
4757
4765
  capabilities,
4758
4766
  fieldPolicies,
4759
4767
  };