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.
- package/README.md +1 -1
- package/dist/browser.d.ts +1 -0
- package/dist/browser.d.ts.map +1 -1
- package/dist/browser.js +1 -0
- package/dist/browser.js.map +1 -1
- package/dist/cli.d.ts +38 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +11 -0
- package/dist/cli.js.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/native-compiler/compiler.d.ts.map +1 -1
- package/dist/native-compiler/compiler.js +9 -1
- package/dist/native-compiler/compiler.js.map +1 -1
- package/dist/native-compiler/index.cjs +4 -4
- package/dist/native-compiler/index.d.ts +1 -0
- package/dist/native-compiler/index.d.ts.map +1 -1
- package/dist/native-compiler/index.js +4 -4
- package/dist/native-compiler/unique-keys.d.ts +102 -0
- package/dist/native-compiler/unique-keys.d.ts.map +1 -0
- package/dist/native-compiler/unique-keys.js +112 -0
- package/dist/native-compiler/unique-keys.js.map +1 -0
- package/dist/native-version.d.ts +1 -0
- package/dist/native-version.d.ts.map +1 -1
- package/dist/native-version.js +1 -0
- package/dist/native-version.js.map +1 -1
- package/dist/schemas.d.ts +189 -797
- package/dist/schemas.d.ts.map +1 -1
- package/dist/schemas.js +12 -280
- package/dist/schemas.js.map +1 -1
- package/dist/types.d.ts +21 -6
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +2 -5
- package/dist/types.js.map +1 -1
- package/dist/validation.d.ts.map +1 -1
- package/dist/validation.js +9 -0
- package/dist/validation.js.map +1 -1
- package/package.json +1 -1
- package/dist/studio.d.ts +0 -140
- package/dist/studio.d.ts.map +0 -1
- package/dist/studio.js +0 -23
- 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、部署结果及
|
|
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
|
package/dist/browser.d.ts.map
CHANGED
|
@@ -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
|
package/dist/browser.js.map
CHANGED
|
@@ -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
|
package/dist/cli.js.map
ADDED
|
@@ -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 './
|
|
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
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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,
|
|
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 './
|
|
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,
|
|
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":"
|
|
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
|
};
|