openxiangda-contracts 2.71.1 → 2.74.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/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/event-catalog.d.ts +2 -2
- package/dist/event-catalog.d.ts.map +1 -1
- package/dist/event-catalog.js +3 -2
- package/dist/event-catalog.js.map +1 -1
- package/dist/native-compiler/artifact-capacity-limits.d.ts +15 -0
- package/dist/native-compiler/artifact-capacity-limits.d.ts.map +1 -0
- package/dist/native-compiler/artifact-capacity-limits.js +15 -0
- package/dist/native-compiler/artifact-capacity-limits.js.map +1 -0
- package/dist/native-compiler/artifact-capacity.d.ts +4 -10
- package/dist/native-compiler/artifact-capacity.d.ts.map +1 -1
- package/dist/native-compiler/artifact-capacity.js +16 -11
- package/dist/native-compiler/artifact-capacity.js.map +1 -1
- package/dist/native-compiler/compiler.d.ts +1 -1
- package/dist/native-compiler/compiler.d.ts.map +1 -1
- package/dist/native-compiler/compiler.js +59 -9
- package/dist/native-compiler/compiler.js.map +1 -1
- package/dist/native-compiler/data-capacity.d.ts +24 -0
- package/dist/native-compiler/data-capacity.d.ts.map +1 -1
- package/dist/native-compiler/data-capacity.js +8 -0
- package/dist/native-compiler/data-capacity.js.map +1 -1
- package/dist/native-compiler/index.cjs +5 -5
- 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 +5 -5
- package/dist/native-compiler/parent-read-policy.d.ts +23 -0
- package/dist/native-compiler/parent-read-policy.d.ts.map +1 -0
- package/dist/native-compiler/parent-read-policy.js +83 -0
- package/dist/native-compiler/parent-read-policy.js.map +1 -0
- package/dist/native-compiler/workflow-automatic-cc.d.ts +2 -1
- package/dist/native-compiler/workflow-automatic-cc.d.ts.map +1 -1
- package/dist/native-compiler/workflow-automatic-cc.js +3 -2
- package/dist/native-compiler/workflow-automatic-cc.js.map +1 -1
- package/dist/native-compiler/workflow-business-command.d.ts +16 -3
- package/dist/native-compiler/workflow-business-command.d.ts.map +1 -1
- package/dist/native-compiler/workflow-business-command.js +14 -1
- package/dist/native-compiler/workflow-business-command.js.map +1 -1
- package/dist/native-compiler/workflow-node-administration.d.ts +2 -0
- package/dist/native-compiler/workflow-node-administration.d.ts.map +1 -1
- package/dist/native-compiler/workflow-node-administration.js +4 -1
- package/dist/native-compiler/workflow-node-administration.js.map +1 -1
- package/dist/native-compiler/workflow-task-page.d.ts +1 -1
- package/dist/native-compiler/workflow-task-page.d.ts.map +1 -1
- package/dist/native-compiler/workflow-task-page.js +2 -2
- package/dist/native-compiler/workflow-task-page.js.map +1 -1
- package/dist/native-version.d.ts +6 -0
- package/dist/native-version.d.ts.map +1 -1
- package/dist/native-version.js +6 -0
- package/dist/native-version.js.map +1 -1
- package/dist/native.d.ts +6 -0
- package/dist/native.d.ts.map +1 -1
- package/dist/native.js.map +1 -1
- package/dist/schemas.d.ts +110 -22
- package/dist/schemas.d.ts.map +1 -1
- package/dist/schemas.js +18 -10
- package/dist/schemas.js.map +1 -1
- package/dist/types.d.ts +19 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/validation.js +3 -3
- package/dist/validation.js.map +1 -1
- package/package.json +1 -1
package/dist/browser.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/** Browser-safe contract surface. Node-only canonical hashing stays on the root export. */
|
|
2
|
+
export { NATIVE_CONTRACT_CAPACITY_V2 } from './native-compiler/declaration-capacity.js';
|
|
2
3
|
export * from './concurrency.js';
|
|
3
4
|
export * from './field-values.js';
|
|
4
5
|
export * from './event-catalog.js';
|
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,kBAAkB,CAAC;AACjC,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,yDAAyD,CAAC;AACxE,cAAc,qCAAqC,CAAC;AACpD,cAAc,mDAAmD,CAAC;AAClE,cAAc,0CAA0C,CAAC;AACzD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,kDAAkD,CAAC;AACjE,cAAc,sDAAsD,CAAC;AACrE,cAAc,6CAA6C,CAAC;AAC5D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,mDAAmD,CAAC;AAClE,cAAc,0CAA0C,CAAC;AACzD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,yCAAyC,CAAC;AACxD,cAAc,oCAAoC,CAAC;AACnD,cAAc,kDAAkD,CAAC;AACjE,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wCAAwC,CAAC;AAEvD,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAE7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,sCAAsC,CAAC;AAErD,cAAc,sCAAsC,CAAC;AAErD,cAAc,mDAAmD,CAAC"}
|
|
1
|
+
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,OAAO,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AACxF,cAAc,kBAAkB,CAAC;AACjC,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,yDAAyD,CAAC;AACxE,cAAc,qCAAqC,CAAC;AACpD,cAAc,mDAAmD,CAAC;AAClE,cAAc,0CAA0C,CAAC;AACzD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,kDAAkD,CAAC;AACjE,cAAc,sDAAsD,CAAC;AACrE,cAAc,6CAA6C,CAAC;AAC5D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,mDAAmD,CAAC;AAClE,cAAc,0CAA0C,CAAC;AACzD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,yCAAyC,CAAC;AACxD,cAAc,oCAAoC,CAAC;AACnD,cAAc,kDAAkD,CAAC;AACjE,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wCAAwC,CAAC;AAEvD,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAE7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,sCAAsC,CAAC;AAErD,cAAc,sCAAsC,CAAC;AAErD,cAAc,mDAAmD,CAAC"}
|
package/dist/browser.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/** Browser-safe contract surface. Node-only canonical hashing stays on the root export. */
|
|
2
|
+
export { NATIVE_CONTRACT_CAPACITY_V2 } from './native-compiler/declaration-capacity.js';
|
|
2
3
|
export * from './concurrency.js';
|
|
3
4
|
export * from './field-values.js';
|
|
4
5
|
export * from './event-catalog.js';
|
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,kBAAkB,CAAC;AACjC,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,yDAAyD,CAAC;AACxE,cAAc,qCAAqC,CAAC;AACpD,cAAc,mDAAmD,CAAC;AAClE,cAAc,0CAA0C,CAAC;AACzD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,kDAAkD,CAAC;AACjE,cAAc,sDAAsD,CAAC;AACrE,cAAc,6CAA6C,CAAC;AAC5D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,mDAAmD,CAAC;AAClE,cAAc,0CAA0C,CAAC;AACzD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,yCAAyC,CAAC;AACxD,cAAc,oCAAoC,CAAC;AACnD,cAAc,kDAAkD,CAAC;AACjE,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wCAAwC,CAAC;AAEvD,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAE7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,sCAAsC,CAAC;AAErD,cAAc,sCAAsC,CAAC;AAErD,cAAc,mDAAmD,CAAC"}
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,OAAO,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AACxF,cAAc,kBAAkB,CAAC;AACjC,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,yDAAyD,CAAC;AACxE,cAAc,qCAAqC,CAAC;AACpD,cAAc,mDAAmD,CAAC;AAClE,cAAc,0CAA0C,CAAC;AACzD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,kDAAkD,CAAC;AACjE,cAAc,sDAAsD,CAAC;AACrE,cAAc,6CAA6C,CAAC;AAC5D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,mDAAmD,CAAC;AAClE,cAAc,0CAA0C,CAAC;AACzD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,yCAAyC,CAAC;AACxD,cAAc,oCAAoC,CAAC;AACnD,cAAc,kDAAkD,CAAC;AACjE,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wCAAwC,CAAC;AAEvD,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAE7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,sCAAsC,CAAC;AAErD,cAAc,sCAAsC,CAAC;AAErD,cAAc,mDAAmD,CAAC"}
|
package/dist/event-catalog.d.ts
CHANGED
|
@@ -40,7 +40,7 @@ export declare const DATA_RECORD_EVENT_DATA_SCHEMA_V2: {
|
|
|
40
40
|
readonly changedFields: {
|
|
41
41
|
readonly type: "array";
|
|
42
42
|
readonly uniqueItems: true;
|
|
43
|
-
readonly maxItems:
|
|
43
|
+
readonly maxItems: 200;
|
|
44
44
|
readonly items: {
|
|
45
45
|
readonly type: "string";
|
|
46
46
|
readonly minLength: 1;
|
|
@@ -49,7 +49,7 @@ export declare const DATA_RECORD_EVENT_DATA_SCHEMA_V2: {
|
|
|
49
49
|
};
|
|
50
50
|
readonly changes: {
|
|
51
51
|
readonly type: "object";
|
|
52
|
-
readonly maxProperties:
|
|
52
|
+
readonly maxProperties: 200;
|
|
53
53
|
};
|
|
54
54
|
readonly projection: {
|
|
55
55
|
readonly type: "object";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-catalog.d.ts","sourceRoot":"","sources":["../src/event-catalog.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"event-catalog.d.ts","sourceRoot":"","sources":["../src/event-catalog.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,iBAAiB,EACvB,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,uBAAuB,QAAY,CAAC;AACjD,eAAO,MAAM,+BAA+B,QAAW,CAAC;AACxD,eAAO,MAAM,uBAAuB,OAAO,CAAC;AAC5C,eAAO,MAAM,wCAAwC,EACnD,oBAA6B,CAAC;AAChC,eAAO,MAAM,kCAAkC,EAC7C,yCAAkD,CAAC;AAErD,wBAAgB,6BAA6B,CAAC,gBAAgB,EAAE,MAAM,UAErE;AAED,wBAAgB,+BAA+B,CAAC,KAAK,EAAE;IACrD,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;CACjB,UAWA;AAED,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4GnC,CAAC;AAEX,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkChC,CAAC;AAoCX,eAAO,MAAM,yBAAyB,EAAE,SAAS,iBAAiB,EACb,CAAC;AAEtD,eAAO,MAAM,uBAAuB,mBAEnC,CAAC"}
|
package/dist/event-catalog.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { DATA_RESOURCE_MAX_FIELDS } from './native-compiler/data-capacity.js';
|
|
1
2
|
import { DATA_EVENT_TYPES_V2, SCHEMA_VERSIONS, WORKFLOW_EVENT_TYPES_V2, } from './types.js';
|
|
2
3
|
export const EVENT_DATA_MAX_BYTES_V2 = 64 * 1024;
|
|
3
4
|
export const EVENT_INLINE_FIELD_MAX_BYTES_V2 = 4 * 1024;
|
|
@@ -41,10 +42,10 @@ export const DATA_RECORD_EVENT_DATA_SCHEMA_V2 = {
|
|
|
41
42
|
changedFields: {
|
|
42
43
|
type: 'array',
|
|
43
44
|
uniqueItems: true,
|
|
44
|
-
maxItems:
|
|
45
|
+
maxItems: DATA_RESOURCE_MAX_FIELDS,
|
|
45
46
|
items: { type: 'string', minLength: 1, maxLength: 128 },
|
|
46
47
|
},
|
|
47
|
-
changes: { type: 'object', maxProperties:
|
|
48
|
+
changes: { type: 'object', maxProperties: DATA_RESOURCE_MAX_FIELDS },
|
|
48
49
|
projection: { type: 'object', maxProperties: 64 },
|
|
49
50
|
actor: {
|
|
50
51
|
type: 'object',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-catalog.js","sourceRoot":"","sources":["../src/event-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,uBAAuB,GAExB,MAAM,YAAY,CAAC;AAEpB,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,GAAG,IAAI,CAAC;AACjD,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,GAAG,IAAI,CAAC;AACxD,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAC5C,MAAM,CAAC,MAAM,wCAAwC,GACnD,oBAA6B,CAAC;AAChC,MAAM,CAAC,MAAM,kCAAkC,GAC7C,yCAAkD,CAAC;AAErD,MAAM,UAAU,6BAA6B,CAAC,gBAAwB;IACpE,OAAO,GAAG,wCAAwC,IAAI,gBAAgB,EAAE,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,KAQ/C;IACC,OAAO;QACL,kCAAkC;QAClC,KAAK,CAAC,SAAS;QACf,KAAK,CAAC,iBAAiB;QACvB,KAAK,CAAC,UAAU;QAChB,KAAK,CAAC,OAAO;QACb,KAAK,CAAC,gBAAgB;QACtB,KAAK,CAAC,qBAAqB;QAC3B,KAAK,CAAC,OAAO;KACd,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC9C,GAAG,EAAE,iDAAiD;IACtD,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE;QACR,cAAc;QACd,UAAU;QACV,WAAW;QACX,UAAU;QACV,eAAe;QACf,YAAY;QACZ,OAAO;QACP,OAAO;KACR;IACD,UAAU,EAAE;QACV,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE;QAC9D,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE;QAC1D,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE;QACtD,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE;QACzC,aAAa,EAAE;YACb,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,IAAI;YACjB,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"event-catalog.js","sourceRoot":"","sources":["../src/event-catalog.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/** Pure budget values shared by browser schemas and both compiler module formats. */
|
|
2
|
+
export declare const NATIVE_ARTIFACT_CAPACITY_V2: Readonly<{
|
|
3
|
+
readonly legacyConfigBytes: number;
|
|
4
|
+
readonly configBytes: number;
|
|
5
|
+
readonly contractBytes: number;
|
|
6
|
+
readonly depth: 40;
|
|
7
|
+
readonly stringBytes: number;
|
|
8
|
+
readonly legacyNodes: 100000;
|
|
9
|
+
readonly extendedNodes: 250000;
|
|
10
|
+
}>;
|
|
11
|
+
/** Additional density is negotiated independently from the prior extension. */
|
|
12
|
+
export declare const NATIVE_HIGH_DENSITY_ARTIFACT_CAPACITY_V2: Readonly<{
|
|
13
|
+
readonly nodes: 500000;
|
|
14
|
+
}>;
|
|
15
|
+
//# sourceMappingURL=artifact-capacity-limits.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"artifact-capacity-limits.d.ts","sourceRoot":"","sources":["../../src/native-compiler/artifact-capacity-limits.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,eAAO,MAAM,2BAA2B;;;;;;;;EAQ7B,CAAC;AAEZ,+EAA+E;AAC/E,eAAO,MAAM,wCAAwC;;EAE1C,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/** Pure budget values shared by browser schemas and both compiler module formats. */
|
|
2
|
+
export const NATIVE_ARTIFACT_CAPACITY_V2 = Object.freeze({
|
|
3
|
+
legacyConfigBytes: 4 * 1024 * 1024,
|
|
4
|
+
configBytes: 8 * 1024 * 1024,
|
|
5
|
+
contractBytes: 8 * 1024 * 1024,
|
|
6
|
+
depth: 40,
|
|
7
|
+
stringBytes: 1024 * 1024,
|
|
8
|
+
legacyNodes: 100_000,
|
|
9
|
+
extendedNodes: 250_000,
|
|
10
|
+
});
|
|
11
|
+
/** Additional density is negotiated independently from the prior extension. */
|
|
12
|
+
export const NATIVE_HIGH_DENSITY_ARTIFACT_CAPACITY_V2 = Object.freeze({
|
|
13
|
+
nodes: 500_000,
|
|
14
|
+
});
|
|
15
|
+
//# sourceMappingURL=artifact-capacity-limits.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"artifact-capacity-limits.js","sourceRoot":"","sources":["../../src/native-compiler/artifact-capacity-limits.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,MAAM,CAAC,MAAM,2BAA2B,GAAG,MAAM,CAAC,MAAM,CAAC;IACvD,iBAAiB,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI;IAClC,WAAW,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI;IAC5B,aAAa,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI;IAC9B,KAAK,EAAE,EAAE;IACT,WAAW,EAAE,IAAI,GAAG,IAAI;IACxB,WAAW,EAAE,OAAO;IACpB,aAAa,EAAE,OAAO;CACd,CAAC,CAAC;AAEZ,+EAA+E;AAC/E,MAAM,CAAC,MAAM,wCAAwC,GAAG,MAAM,CAAC,MAAM,CAAC;IACpE,KAAK,EAAE,OAAO;CACN,CAAC,CAAC"}
|
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
readonly contractBytes: number;
|
|
5
|
-
readonly depth: 40;
|
|
6
|
-
readonly stringBytes: number;
|
|
7
|
-
readonly legacyNodes: 100000;
|
|
8
|
-
readonly extendedNodes: 250000;
|
|
9
|
-
}>;
|
|
10
|
-
/** Count JSON values without copying the artifact; stop at the legacy boundary. */
|
|
1
|
+
export { NATIVE_ARTIFACT_CAPACITY_V2, NATIVE_HIGH_DENSITY_ARTIFACT_CAPACITY_V2 } from './artifact-capacity-limits.js';
|
|
2
|
+
/** Derive the requirement from the actual canonical configuration, not its contract. */
|
|
3
|
+
export declare function requiresExtendedConfigurationBytes(config: unknown): boolean;
|
|
11
4
|
export declare function requiresExtendedArtifactCapacity(config: unknown): boolean;
|
|
5
|
+
export declare function requiresHighDensityArtifactCapacity(config: unknown): boolean;
|
|
12
6
|
//# sourceMappingURL=artifact-capacity.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifact-capacity.d.ts","sourceRoot":"","sources":["../../src/native-compiler/artifact-capacity.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"artifact-capacity.d.ts","sourceRoot":"","sources":["../../src/native-compiler/artifact-capacity.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,2BAA2B,EAAE,wCAAwC,EAAE,MAAM,+BAA+B,CAAC;AAEtH,wFAAwF;AACxF,wBAAgB,kCAAkC,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAG3E;AAoBD,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAEzE;AAED,wBAAgB,mCAAmC,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAE5E"}
|
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
});
|
|
1
|
+
import { canonicalJson } from '../canonical.js';
|
|
2
|
+
import { NATIVE_ARTIFACT_CAPACITY_V2 } from './artifact-capacity-limits.js';
|
|
3
|
+
export { NATIVE_ARTIFACT_CAPACITY_V2, NATIVE_HIGH_DENSITY_ARTIFACT_CAPACITY_V2 } from './artifact-capacity-limits.js';
|
|
4
|
+
/** Derive the requirement from the actual canonical configuration, not its contract. */
|
|
5
|
+
export function requiresExtendedConfigurationBytes(config) {
|
|
6
|
+
return Buffer.byteLength(canonicalJson(config), 'utf8') >
|
|
7
|
+
NATIVE_ARTIFACT_CAPACITY_V2.legacyConfigBytes;
|
|
8
|
+
}
|
|
10
9
|
/** Count JSON values without copying the artifact; stop at the legacy boundary. */
|
|
11
|
-
|
|
10
|
+
function exceedsNodeBudget(config, maximum) {
|
|
12
11
|
let nodes = 0;
|
|
13
12
|
const pending = [[config][Symbol.iterator]()];
|
|
14
13
|
while (pending.length) {
|
|
@@ -17,7 +16,7 @@ export function requiresExtendedArtifactCapacity(config) {
|
|
|
17
16
|
pending.pop();
|
|
18
17
|
continue;
|
|
19
18
|
}
|
|
20
|
-
if (++nodes >
|
|
19
|
+
if (++nodes > maximum)
|
|
21
20
|
return true;
|
|
22
21
|
if (Array.isArray(next.value))
|
|
23
22
|
pending.push(next.value.values());
|
|
@@ -31,4 +30,10 @@ export function requiresExtendedArtifactCapacity(config) {
|
|
|
31
30
|
}
|
|
32
31
|
return false;
|
|
33
32
|
}
|
|
33
|
+
export function requiresExtendedArtifactCapacity(config) {
|
|
34
|
+
return exceedsNodeBudget(config, NATIVE_ARTIFACT_CAPACITY_V2.legacyNodes);
|
|
35
|
+
}
|
|
36
|
+
export function requiresHighDensityArtifactCapacity(config) {
|
|
37
|
+
return exceedsNodeBudget(config, NATIVE_ARTIFACT_CAPACITY_V2.extendedNodes);
|
|
38
|
+
}
|
|
34
39
|
//# sourceMappingURL=artifact-capacity.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifact-capacity.js","sourceRoot":"","sources":["../../src/native-compiler/artifact-capacity.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"artifact-capacity.js","sourceRoot":"","sources":["../../src/native-compiler/artifact-capacity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,2BAA2B,EAAE,wCAAwC,EAAE,MAAM,+BAA+B,CAAC;AAEtH,wFAAwF;AACxF,MAAM,UAAU,kCAAkC,CAAC,MAAe;IAChE,OAAO,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QACrD,2BAA2B,CAAC,iBAAiB,CAAC;AAClD,CAAC;AAED,mFAAmF;AACnF,SAAS,iBAAiB,CAAC,MAAe,EAAE,OAAe;IACzD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,OAAO,GAAwB,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACnE,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC;QACtB,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC;QACjD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QAC3C,IAAI,EAAE,KAAK,GAAG,OAAO;YAAE,OAAO,IAAI,CAAC;QACnC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;aAC5D,IAAI,IAAI,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACtD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAgC,CAAC;YACrD,yEAAyE;YACzE,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;gBAAE,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS;oBAAE,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC9H,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,MAAe;IAC9D,OAAO,iBAAiB,CAAC,MAAM,EAAE,2BAA2B,CAAC,WAAW,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,mCAAmC,CAAC,MAAe;IACjE,OAAO,iBAAiB,CAAC,MAAM,EAAE,2BAA2B,CAAC,aAAa,CAAC,CAAC;AAC9E,CAAC"}
|
|
@@ -2,7 +2,7 @@ import { type RequiredPlatformCapabilityContract as OpenXiangdaRequiredPlatformC
|
|
|
2
2
|
declare const PROJECTION_SCHEMA = "openxiangda.native-configuration-projection/v1";
|
|
3
3
|
declare const COMPILER_CONTRACT_VERSION: "native-4";
|
|
4
4
|
export { NATIVE_CONTRACT_CAPACITY_V2, requiresExtendedDeclarationCapacity, generatedCrudCapabilityOperations } from './declaration-capacity.js';
|
|
5
|
-
export { NATIVE_ARTIFACT_CAPACITY_V2, requiresExtendedArtifactCapacity } from './artifact-capacity.js';
|
|
5
|
+
export { NATIVE_ARTIFACT_CAPACITY_V2, NATIVE_HIGH_DENSITY_ARTIFACT_CAPACITY_V2, requiresHighDensityArtifactCapacity, requiresExtendedArtifactCapacity, requiresExtendedConfigurationBytes } from './artifact-capacity.js';
|
|
6
6
|
export declare const DATA_EVENT_TYPES_V2: readonly ["openxiangda.data.record.created.v2", "openxiangda.data.record.updated.v2", "openxiangda.data.record.deleted.v2"];
|
|
7
7
|
export declare const WORKFLOW_EVENT_TYPES_V2: readonly ["openxiangda.workflow.node.skipped.v2", "openxiangda.workflow.step.requested.v2", "openxiangda.workflow.step.result_received.v2", "openxiangda.workflow.step.completed.v2", "openxiangda.workflow.step.continuation_failed.v2", "openxiangda.workflow.instance.started.v2", "openxiangda.workflow.instance.cc_added.v2", "openxiangda.workflow.instance.completed.v2", "openxiangda.workflow.instance.rejected.v2", "openxiangda.workflow.instance.returned.v2", "openxiangda.workflow.instance.resumed.v2", "openxiangda.workflow.instance.withdrawn.v2", "openxiangda.workflow.instance.terminated.v2", "openxiangda.workflow.task.created.v2", "openxiangda.workflow.task.assigned.v2", "openxiangda.workflow.task.assignment_pending.v2", "openxiangda.workflow.task.assignment_resolution_failed.v2", "openxiangda.workflow.task.approved.v2", "openxiangda.workflow.task.completed.v2", "openxiangda.workflow.task.rejected.v2", "openxiangda.workflow.task.returned.v2", "openxiangda.workflow.task.resubmitted.v2", "openxiangda.workflow.task.transferred.v2", "openxiangda.workflow.task.reassigned.v2", "openxiangda.workflow.task.delegated.v2", "openxiangda.workflow.task.assignee_added.v2", "openxiangda.workflow.task.cancelled.v2", "openxiangda.workflow.participant.activated.v2", "openxiangda.workflow.participant.completed.v2", "openxiangda.workflow.participant.rejected.v2", "openxiangda.workflow.participant.returned.v2", "openxiangda.workflow.participant.transferred.v2", "openxiangda.workflow.participant.reassigned.v2", "openxiangda.workflow.participant.delegated.v2", "openxiangda.workflow.participant.added.v2", "openxiangda.workflow.participant.suspended.v2", "openxiangda.workflow.participant.resumed.v2", "openxiangda.workflow.participant.cancelled.v2"];
|
|
8
8
|
type JsonObject = Record<string, any>;
|
|
@@ -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":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { hasNativeParentReadPolicy, resolveNativeParentReadBinding, validateNativeParentReadPolicies, NativeParentReadPolicyError } from './parent-read-policy.js';
|
|
2
|
+
import { requiresExtendedFieldCapacity, WORKFLOW_LAUNCH_MAX_INPUTS } from './data-capacity.js';
|
|
1
3
|
import { assertWorkflowNativeStagePolicy } from './workflow-native-stage.js';
|
|
2
4
|
import { validateAuthenticatedPublicRead, AuthenticatedPublicReadContractError } from './authenticated-public-read.js';
|
|
3
5
|
import { validateUserCandidateReferences, validateWorkflowUserCandidateBindings, UserCandidateContractError, requiresUserCandidateLaunchScope } from './user-candidates.js';
|
|
@@ -118,8 +120,8 @@ const EVENT_AUTHORIZATION_SYSTEM_FIELDS = new Set([
|
|
|
118
120
|
]);
|
|
119
121
|
export { NATIVE_CONTRACT_CAPACITY_V2, requiresExtendedDeclarationCapacity, generatedCrudCapabilityOperations } from './declaration-capacity.js';
|
|
120
122
|
import { NATIVE_CONTRACT_CAPACITY_V2, requiresExtendedDeclarationCapacity } from './declaration-capacity.js';
|
|
121
|
-
export { NATIVE_ARTIFACT_CAPACITY_V2, requiresExtendedArtifactCapacity } from './artifact-capacity.js';
|
|
122
|
-
import { NATIVE_ARTIFACT_CAPACITY_V2, requiresExtendedArtifactCapacity } from './artifact-capacity.js';
|
|
123
|
+
export { NATIVE_ARTIFACT_CAPACITY_V2, NATIVE_HIGH_DENSITY_ARTIFACT_CAPACITY_V2, requiresHighDensityArtifactCapacity, requiresExtendedArtifactCapacity, requiresExtendedConfigurationBytes } from './artifact-capacity.js';
|
|
124
|
+
import { NATIVE_ARTIFACT_CAPACITY_V2, NATIVE_HIGH_DENSITY_ARTIFACT_CAPACITY_V2, requiresHighDensityArtifactCapacity, requiresExtendedArtifactCapacity, requiresExtendedConfigurationBytes } from './artifact-capacity.js';
|
|
123
125
|
export const DATA_EVENT_TYPES_V2 = [
|
|
124
126
|
'openxiangda.data.record.created.v2',
|
|
125
127
|
'openxiangda.data.record.updated.v2',
|
|
@@ -195,8 +197,11 @@ export function compileNativeApplicationConfiguration(input) {
|
|
|
195
197
|
const parsedContract = parseCanonicalArtifact(contractSource, '/contractBytes', 'NATIVE_CONTRACT_JSON_INVALID', 'NATIVE_CONTRACT_NOT_CANONICAL');
|
|
196
198
|
// First enforce all global safety bounds before deriving an extension from
|
|
197
199
|
// untrusted input. The sealed configuration alone selects the larger budget.
|
|
198
|
-
inspectJsonBudget(parsedConfig, '/config',
|
|
199
|
-
inspectJsonBudget(parsedContract, '/contracts',
|
|
200
|
+
inspectJsonBudget(parsedConfig, '/config', NATIVE_HIGH_DENSITY_ARTIFACT_CAPACITY_V2.nodes);
|
|
201
|
+
inspectJsonBudget(parsedContract, '/contracts', NATIVE_HIGH_DENSITY_ARTIFACT_CAPACITY_V2.nodes);
|
|
202
|
+
if (!requiresHighDensityArtifactCapacity(parsedConfig)) {
|
|
203
|
+
inspectJsonBudget(parsedContract, '/contracts', NATIVE_ARTIFACT_CAPACITY_V2.extendedNodes);
|
|
204
|
+
}
|
|
200
205
|
if (!requiresExtendedArtifactCapacity(parsedConfig)) {
|
|
201
206
|
inspectJsonBudget(parsedContract, '/contracts', NATIVE_ARTIFACT_CAPACITY_V2.legacyNodes);
|
|
202
207
|
}
|
|
@@ -381,9 +386,16 @@ export function compileRequiredPlatformCapabilitiesV3(config) {
|
|
|
381
386
|
},
|
|
382
387
|
};
|
|
383
388
|
const usages = [
|
|
389
|
+
...(requiresExtendedConfigurationBytes(config)
|
|
390
|
+
? [{ code: 'application.extended-configuration-bytes',
|
|
391
|
+
declaration: { legacyConfigBytes: NATIVE_ARTIFACT_CAPACITY_V2.legacyConfigBytes,
|
|
392
|
+
configBytes: NATIVE_ARTIFACT_CAPACITY_V2.configBytes } }] : []),
|
|
384
393
|
...(requiresExtendedArtifactCapacity(config)
|
|
385
394
|
? [{ code: 'application.extended-artifact-capacity',
|
|
386
395
|
declaration: NATIVE_ARTIFACT_CAPACITY_V2 }] : []),
|
|
396
|
+
...(requiresHighDensityArtifactCapacity(config)
|
|
397
|
+
? [{ code: 'application.high-density-artifact-capacity',
|
|
398
|
+
declaration: NATIVE_HIGH_DENSITY_ARTIFACT_CAPACITY_V2 }] : []),
|
|
387
399
|
...(requiresExtendedDeclarationCapacity(config)
|
|
388
400
|
? [{ code: 'application.extended-declaration-capacity', declaration: {
|
|
389
401
|
resources: config.data.resources.length, policies: config.authz.dataPolicies.length,
|
|
@@ -405,6 +417,9 @@ export function compileRequiredPlatformCapabilitiesV3(config) {
|
|
|
405
417
|
...(operations.some(operation => operation.platformAccess?.dataCommands)
|
|
406
418
|
? [{ code: 'data.business-commands', declaration: operations.filter(operation => operation.platformAccess?.dataCommands) }]
|
|
407
419
|
: []),
|
|
420
|
+
...(config.authz.dataPolicies.some(hasNativeParentReadPolicy)
|
|
421
|
+
? [{ code: 'data.parent-read-policy',
|
|
422
|
+
declaration: config.authz.dataPolicies.filter(hasNativeParentReadPolicy) }] : []),
|
|
408
423
|
...(config.authz.dataPolicies.some((policy) => policy.publicRead)
|
|
409
424
|
? [{ code: 'data.authenticated-public-projection',
|
|
410
425
|
declaration: config.authz.dataPolicies.filter((policy) => policy.publicRead) }]
|
|
@@ -557,6 +572,8 @@ export function compileRequiredPlatformCapabilitiesV3(config) {
|
|
|
557
572
|
: []),
|
|
558
573
|
...(requiresExtendedOwnedSubtableCapacity(config.data.resources)
|
|
559
574
|
? [{ code: 'data.extended-owned-subtable-capacity', declaration: config.data.resources.filter((resource) => requiresExtendedOwnedSubtableCapacity([resource])) }] : []),
|
|
575
|
+
...(requiresExtendedFieldCapacity(config.data.resources, config.workflows?.definitions || [])
|
|
576
|
+
? [{ code: 'data.extended-field-capacity', declaration: { resources: config.data.resources.filter((resource) => resource.schema.fields.length > 100), workflows: (config.workflows?.definitions || []).filter((item) => requiresExtendedFieldCapacity([], [item])) } }] : []),
|
|
560
577
|
...(requiresAggregateOwnedSubtableCapacity(config.data.resources)
|
|
561
578
|
? [{ code: 'data.aggregate-owned-subtable-capacity', declaration: config.data.resources.filter((resource) => requiresAggregateOwnedSubtableCapacity([resource])) }] : []),
|
|
562
579
|
...(config.data.resources.some((resource) => resource.schema.fields.some((field) => field.userCandidates !== undefined))
|
|
@@ -609,6 +626,9 @@ export function compileRequiredPlatformCapabilitiesV3(config) {
|
|
|
609
626
|
definitions: config.workflows.definitions.filter((item) => item.definition.commandHandlers !== undefined),
|
|
610
627
|
operations: operations.filter(operation => operation.platformAccess?.workflow?.businessCommands),
|
|
611
628
|
} }] : []),
|
|
629
|
+
...(config.workflows.definitions.some((item) => item.definition.commandHandlers?.approve?.transitionPolicy === 'workflow')
|
|
630
|
+
? [{ code: 'workflow.approval-business-command',
|
|
631
|
+
declaration: config.workflows.definitions.filter((item) => item.definition.commandHandlers?.approve?.transitionPolicy === 'workflow') }] : []),
|
|
612
632
|
...(config.workflows.definitions.some((item) => item.definition.commandHandlers?.resubmit) || operations.some(operation => operation.platformAccess?.workflow?.businessCommands?.includes('resubmit'))
|
|
613
633
|
? [{ code: 'workflow.correction-business-command', declaration: {
|
|
614
634
|
definitions: config.workflows.definitions.filter((item) => item.definition.commandHandlers?.resubmit),
|
|
@@ -616,6 +636,9 @@ export function compileRequiredPlatformCapabilitiesV3(config) {
|
|
|
616
636
|
} }] : []),
|
|
617
637
|
...(config.workflows.definitions.some((item) => item.definition.launchPreflight !== undefined)
|
|
618
638
|
? [{ code: 'workflow.launch-preflight', declaration: config.workflows.definitions.filter((item) => item.definition.launchPreflight !== undefined) }] : []),
|
|
639
|
+
...(config.workflows.definitions.some((item) => item.definition.commandHandlers?.resubmit?.derivedSubjectFields !== undefined)
|
|
640
|
+
? [{ code: 'workflow.correction-derived-subject-facts',
|
|
641
|
+
declaration: config.workflows.definitions.filter((item) => item.definition.commandHandlers?.resubmit?.derivedSubjectFields !== undefined) }] : []),
|
|
619
642
|
...(config.workflows.definitions.some((item) => item.definition.approvedDelegation !== undefined)
|
|
620
643
|
? [{ code: 'workflow.approved-delegation', declaration: config.workflows.definitions.filter((item) => item.definition.approvedDelegation !== undefined) }] : []),
|
|
621
644
|
...(config.workflows.definitions.some((item) => workflowUsesOwnedInitialFacts(item.definition, config.data.resources))
|
|
@@ -778,11 +801,15 @@ export function compileNativeEventCapturePlansV2(input) {
|
|
|
778
801
|
}
|
|
779
802
|
const authorizationFields = new Set();
|
|
780
803
|
for (const rule of policy?.rules || []) {
|
|
781
|
-
authorizationFields.add(
|
|
804
|
+
authorizationFields.add(rule.parentRead
|
|
805
|
+
? resolveNativeParentReadBinding(input.resources, code, rule.parentRead, `${pointer}/parentRead`).foreignKey
|
|
806
|
+
: String(rule.field));
|
|
782
807
|
}
|
|
783
808
|
if (policy?.readExpression) {
|
|
784
809
|
for (const entry of nativeDataPolicyExpressionLeavesV2(policy.readExpression, `${pointer}/readExpression`)) {
|
|
785
|
-
authorizationFields.add(
|
|
810
|
+
authorizationFields.add(entry.rule.parentRead
|
|
811
|
+
? resolveNativeParentReadBinding(input.resources, code, entry.rule.parentRead, `${pointer}/parentRead`).foreignKey
|
|
812
|
+
: String(entry.rule.field));
|
|
786
813
|
}
|
|
787
814
|
}
|
|
788
815
|
const filterFields = new Set();
|
|
@@ -2290,7 +2317,7 @@ function validateApplicationAuthentication(value, routeDeclarations, config, poi
|
|
|
2290
2317
|
if (desktop.routeCode === mobile.routeCode) {
|
|
2291
2318
|
fail('NATIVE_APPLICATION_AUTH_SURFACE_CODE_DUPLICATE', `${pointer}/surfaces/mobile/routeCode`);
|
|
2292
2319
|
}
|
|
2293
|
-
const routes = boundedArray(routeDeclarations, '/config/frontend/routes',
|
|
2320
|
+
const routes = boundedArray(routeDeclarations, '/config/frontend/routes', NATIVE_CONTRACT_CAPACITY_V2.routes);
|
|
2294
2321
|
const routesByCode = new Map();
|
|
2295
2322
|
for (const [index, rawRoute] of routes.entries()) {
|
|
2296
2323
|
const route = object(rawRoute, `/config/frontend/routes/${index}`);
|
|
@@ -3701,10 +3728,10 @@ function compileWorkflowLaunchContract(config, definition, value, pointer, opera
|
|
|
3701
3728
|
const requestProperties = object(requestSchema.properties, `${intentPointer}/operation/requestSchema/properties`);
|
|
3702
3729
|
const requestRequired = new Set(requestSchema.required === undefined
|
|
3703
3730
|
? []
|
|
3704
|
-
: uniqueStrings(requestSchema.required, `${intentPointer}/operation/requestSchema/required`,
|
|
3731
|
+
: uniqueStrings(requestSchema.required, `${intentPointer}/operation/requestSchema/required`, WORKFLOW_LAUNCH_MAX_INPUTS));
|
|
3705
3732
|
const inputs = object(intent.inputs, `${intentPointer}/inputs`);
|
|
3706
3733
|
const inputEntries = Object.entries(inputs);
|
|
3707
|
-
if (!inputEntries.length || inputEntries.length >
|
|
3734
|
+
if (!inputEntries.length || inputEntries.length > WORKFLOW_LAUNCH_MAX_INPUTS) {
|
|
3708
3735
|
fail('NATIVE_WORKFLOW_NAMED_OPERATION_INPUT_INVALID', `${intentPointer}/inputs`);
|
|
3709
3736
|
}
|
|
3710
3737
|
const fieldCodes = new Set();
|
|
@@ -4289,6 +4316,7 @@ function validateDataPolicyReferences(config) {
|
|
|
4289
4316
|
}
|
|
4290
4317
|
for (const { rule, pointer: rulePointer } of ruleEntries) {
|
|
4291
4318
|
exactKeys(rule, [
|
|
4319
|
+
'parentRead',
|
|
4292
4320
|
'subject',
|
|
4293
4321
|
'dimensionCode',
|
|
4294
4322
|
'relationCode',
|
|
@@ -4302,6 +4330,13 @@ function validateDataPolicyReferences(config) {
|
|
|
4302
4330
|
'value',
|
|
4303
4331
|
'operand',
|
|
4304
4332
|
], rulePointer, true);
|
|
4333
|
+
if (rule.parentRead !== undefined) {
|
|
4334
|
+
for (const roleCode of uniqueStrings(rule.roleCodes || [], `${rulePointer}/roleCodes`, 100)) {
|
|
4335
|
+
if (!roleCodes.has(roleCode))
|
|
4336
|
+
fail('NATIVE_ROLE_REFERENCE_MISSING', `${rulePointer}/roleCodes`);
|
|
4337
|
+
}
|
|
4338
|
+
continue;
|
|
4339
|
+
}
|
|
4305
4340
|
const field = fieldCodeValue(rule.field, `${rulePointer}/field`);
|
|
4306
4341
|
const fieldDefinition = policyFields?.get(field);
|
|
4307
4342
|
if (hasReadExpression && !fieldDefinition) {
|
|
@@ -4386,6 +4421,14 @@ function validateDataPolicyReferences(config) {
|
|
|
4386
4421
|
}
|
|
4387
4422
|
}
|
|
4388
4423
|
}
|
|
4424
|
+
try {
|
|
4425
|
+
validateNativeParentReadPolicies(config.data.resources, config.authz.dataPolicies);
|
|
4426
|
+
}
|
|
4427
|
+
catch (error) {
|
|
4428
|
+
if (error instanceof NativeParentReadPolicyError)
|
|
4429
|
+
fail(error.code, error.pointer);
|
|
4430
|
+
throw error;
|
|
4431
|
+
}
|
|
4389
4432
|
for (const [index, raw] of config.data.resources.entries()) {
|
|
4390
4433
|
const resource = object(raw, `/config/data/resources/${index}`);
|
|
4391
4434
|
if (resource.dataPolicyCode && !policyCodes.has(resource.dataPolicyCode)) {
|
|
@@ -4632,6 +4675,13 @@ function validateWorkflowReferences(config) {
|
|
|
4632
4675
|
if (businessCommandErrors.length)
|
|
4633
4676
|
fail(businessCommandErrors[0], `${pointer}/definition/commandHandlers`);
|
|
4634
4677
|
validateWorkflowSubject(definition.subject, resources, `${pointer}/definition/subject`);
|
|
4678
|
+
const derivedFields = definition.commandHandlers?.resubmit?.derivedSubjectFields || [];
|
|
4679
|
+
const subjectResource = resources.get(definition.subject.resourceCode);
|
|
4680
|
+
for (const fieldCode of derivedFields) {
|
|
4681
|
+
const field = subjectResource?.schema.fields.find((entry) => entry.code === fieldCode);
|
|
4682
|
+
if (!field || field.system === true || subjectResource?.surface?.fields?.[fieldCode]?.system === true)
|
|
4683
|
+
fail('WORKFLOW_CORRECTION_DERIVED_SUBJECT_FIELDS_INVALID', `${pointer}/definition/commandHandlers/resubmit/derivedSubjectFields`);
|
|
4684
|
+
}
|
|
4635
4685
|
const taskPageErrors = validateWorkflowTaskPages(definition, new Map((resources.get(definition.subject.resourceCode)?.schema.fields || [])
|
|
4636
4686
|
.map((field) => [field.code, { ...resources.get(definition.subject.resourceCode)?.surface?.fields?.[field.code], ...field, system: ['id', 'revision', 'createdAt', 'updatedAt', 'createdBy', 'updatedBy'].includes(field.code) }])), new Map([...resources].map(([code, resource]) => [code, new Map(resource.schema.fields.map((field) => [field.code, { ...resource.surface?.fields?.[field.code], ...field, system: ['id', 'revision', 'createdAt', 'updatedAt', 'createdBy', 'updatedBy'].includes(field.code) }]))])), dataOwnedRowLimit(resources.get(definition.subject.resourceCode)?.schema || {}));
|
|
4637
4687
|
if (taskPageErrors.length)
|