openxiangda-contracts 2.73.0 → 2.76.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/dist/browser.d.ts +1 -0
  2. package/dist/browser.d.ts.map +1 -1
  3. package/dist/browser.js +1 -0
  4. package/dist/browser.js.map +1 -1
  5. package/dist/native-compiler/compiler.d.ts +1 -1
  6. package/dist/native-compiler/compiler.d.ts.map +1 -1
  7. package/dist/native-compiler/compiler.js +46 -8
  8. package/dist/native-compiler/compiler.js.map +1 -1
  9. package/dist/native-compiler/declaration-capacity.d.ts +3 -1
  10. package/dist/native-compiler/declaration-capacity.d.ts.map +1 -1
  11. package/dist/native-compiler/declaration-capacity.js +5 -1
  12. package/dist/native-compiler/declaration-capacity.js.map +1 -1
  13. package/dist/native-compiler/index.cjs +5 -5
  14. package/dist/native-compiler/index.d.ts +2 -0
  15. package/dist/native-compiler/index.d.ts.map +1 -1
  16. package/dist/native-compiler/index.js +5 -5
  17. package/dist/native-compiler/parent-read-policy.d.ts +23 -0
  18. package/dist/native-compiler/parent-read-policy.d.ts.map +1 -0
  19. package/dist/native-compiler/parent-read-policy.js +83 -0
  20. package/dist/native-compiler/parent-read-policy.js.map +1 -0
  21. package/dist/native-compiler/rich-text-policy.d.ts +15 -0
  22. package/dist/native-compiler/rich-text-policy.d.ts.map +1 -0
  23. package/dist/native-compiler/rich-text-policy.js +15 -0
  24. package/dist/native-compiler/rich-text-policy.js.map +1 -0
  25. package/dist/native-version.d.ts +4 -0
  26. package/dist/native-version.d.ts.map +1 -1
  27. package/dist/native-version.js +4 -0
  28. package/dist/native-version.js.map +1 -1
  29. package/dist/native.d.ts +11 -0
  30. package/dist/native.d.ts.map +1 -1
  31. package/dist/native.js.map +1 -1
  32. package/dist/rich-text.cjs +8115 -0
  33. package/dist/rich-text.d.ts +24 -0
  34. package/dist/rich-text.d.ts.map +1 -0
  35. package/dist/rich-text.js +255 -0
  36. package/dist/rich-text.js.map +1 -0
  37. package/dist/schemas.d.ts +50 -2
  38. package/dist/schemas.d.ts.map +1 -1
  39. package/dist/schemas.js +8 -0
  40. package/dist/schemas.js.map +1 -1
  41. package/dist/types.d.ts +6 -0
  42. package/dist/types.d.ts.map +1 -1
  43. package/dist/types.js.map +1 -1
  44. package/package.json +14 -3
package/dist/browser.d.ts CHANGED
@@ -40,4 +40,5 @@ export * from './native-compiler/role-membership-batch.js';
40
40
  export * from './native-compiler/actor-authority.js';
41
41
  export * from './native-compiler/user-candidates.js';
42
42
  export * from './native-compiler/workflow-completion-deadline.js';
43
+ export * from './native-compiler/rich-text-policy.js';
43
44
  //# sourceMappingURL=browser.d.ts.map
@@ -1 +1 @@
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"}
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;AAElE,cAAc,uCAAuC,CAAC"}
package/dist/browser.js CHANGED
@@ -40,4 +40,5 @@ export * from './native-compiler/role-membership-batch.js';
40
40
  export * from './native-compiler/actor-authority.js';
41
41
  export * from './native-compiler/user-candidates.js';
42
42
  export * from './native-compiler/workflow-completion-deadline.js';
43
+ export * from './native-compiler/rich-text-policy.js';
43
44
  //# sourceMappingURL=browser.js.map
@@ -1 +1 @@
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"}
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;AAElE,cAAc,uCAAuC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { type RequiredPlatformCapabilityContract as OpenXiangdaRequiredPlatformCapabilityV3 } from '../types.js';
2
2
  declare const PROJECTION_SCHEMA = "openxiangda.native-configuration-projection/v1";
3
3
  declare const COMPILER_CONTRACT_VERSION: "native-4";
4
- export { NATIVE_CONTRACT_CAPACITY_V2, requiresExtendedDeclarationCapacity, generatedCrudCapabilityOperations } from './declaration-capacity.js';
4
+ export { NATIVE_CONTRACT_CAPACITY_V2, requiresExtendedDeclarationCapacity, requiresExtendedRoleCapacity, generatedCrudCapabilityOperations } from './declaration-capacity.js';
5
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"];
@@ -1 +1 @@
1
- {"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../../src/native-compiler/compiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../../src/native-compiler/compiler.ts"],"names":[],"mappings":"AAqCA,OAAO,EAEL,KAAK,kCAAkC,IAAI,uCAAuC,EACnF,MAAM,aAAa,CAAC;AA2BrB,QAAA,MAAM,iBAAiB,mDAAmD,CAAC;AAC3E,QAAA,MAAM,yBAAyB,YAA2C,CAAC;AA+E3E,OAAO,EAAE,2BAA2B,EAAE,mCAAmC,EAAE,4BAA4B,EAAE,iCAAiC,EAAE,MAAM,2BAA2B,CAAC;AAE9K,OAAO,EAAE,2BAA2B,EAAE,wCAAwC,EAAE,mCAAmC,EAAE,gCAAgC,EAAE,kCAAkC,EAAE,MAAM,wBAAwB,CAAC;AAE1N,eAAO,MAAM,mBAAmB,6HAItB,CAAC;AACX,eAAO,MAAM,uBAAuB,utDAuC1B,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,CA2JnC;AAaD,wBAAgB,qCAAqC,CACnD,MAAM,EAAE,UAAU,GACjB,uCAAuC,EAAE,CA+f3C;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,CAgK7B"}
@@ -1,3 +1,4 @@
1
+ import { hasNativeParentReadPolicy, resolveNativeParentReadBinding, validateNativeParentReadPolicies, NativeParentReadPolicyError } from './parent-read-policy.js';
1
2
  import { requiresExtendedFieldCapacity, WORKFLOW_LAUNCH_MAX_INPUTS } from './data-capacity.js';
2
3
  import { assertWorkflowNativeStagePolicy } from './workflow-native-stage.js';
3
4
  import { validateAuthenticatedPublicRead, AuthenticatedPublicReadContractError } from './authenticated-public-read.js';
@@ -117,8 +118,8 @@ const EVENT_AUTHORIZATION_SYSTEM_FIELDS = new Set([
117
118
  'created_at',
118
119
  'updated_at',
119
120
  ]);
120
- export { NATIVE_CONTRACT_CAPACITY_V2, requiresExtendedDeclarationCapacity, generatedCrudCapabilityOperations } from './declaration-capacity.js';
121
- import { NATIVE_CONTRACT_CAPACITY_V2, requiresExtendedDeclarationCapacity } from './declaration-capacity.js';
121
+ export { NATIVE_CONTRACT_CAPACITY_V2, requiresExtendedDeclarationCapacity, requiresExtendedRoleCapacity, generatedCrudCapabilityOperations } from './declaration-capacity.js';
122
+ import { NATIVE_CONTRACT_CAPACITY_V2, requiresExtendedDeclarationCapacity, requiresExtendedRoleCapacity } from './declaration-capacity.js';
122
123
  export { NATIVE_ARTIFACT_CAPACITY_V2, NATIVE_HIGH_DENSITY_ARTIFACT_CAPACITY_V2, requiresHighDensityArtifactCapacity, requiresExtendedArtifactCapacity, requiresExtendedConfigurationBytes } from './artifact-capacity.js';
123
124
  import { NATIVE_ARTIFACT_CAPACITY_V2, NATIVE_HIGH_DENSITY_ARTIFACT_CAPACITY_V2, requiresHighDensityArtifactCapacity, requiresExtendedArtifactCapacity, requiresExtendedConfigurationBytes } from './artifact-capacity.js';
124
125
  export const DATA_EVENT_TYPES_V2 = [
@@ -313,7 +314,7 @@ export function compileRequiredPlatformCapabilitiesV3(config) {
313
314
  'department.single',
314
315
  'department.multiple',
315
316
  ].includes(field.type))) ||
316
- operations.some(operation => operation.platformAccess?.directory);
317
+ operations.some(operation => operation.platformAccess?.directory || operation.platformAccess?.selectedDepartments);
317
318
  const usesEvents = Boolean(config.events.subscriptions.length ||
318
319
  config.events.timers.length ||
319
320
  config.events.dateTriggers.length ||
@@ -385,6 +386,9 @@ export function compileRequiredPlatformCapabilitiesV3(config) {
385
386
  },
386
387
  };
387
388
  const usages = [
389
+ ...(requiresExtendedRoleCapacity(config)
390
+ ? [{ code: 'application.extended-role-capacity',
391
+ declaration: { roles: config.authz.roles.length, maximum: NATIVE_CONTRACT_CAPACITY_V2.roles } }] : []),
388
392
  ...(requiresExtendedConfigurationBytes(config)
389
393
  ? [{ code: 'application.extended-configuration-bytes',
390
394
  declaration: { legacyConfigBytes: NATIVE_ARTIFACT_CAPACITY_V2.legacyConfigBytes,
@@ -416,6 +420,9 @@ export function compileRequiredPlatformCapabilitiesV3(config) {
416
420
  ...(operations.some(operation => operation.platformAccess?.dataCommands)
417
421
  ? [{ code: 'data.business-commands', declaration: operations.filter(operation => operation.platformAccess?.dataCommands) }]
418
422
  : []),
423
+ ...(config.authz.dataPolicies.some(hasNativeParentReadPolicy)
424
+ ? [{ code: 'data.parent-read-policy',
425
+ declaration: config.authz.dataPolicies.filter(hasNativeParentReadPolicy) }] : []),
419
426
  ...(config.authz.dataPolicies.some((policy) => policy.publicRead)
420
427
  ? [{ code: 'data.authenticated-public-projection',
421
428
  declaration: config.authz.dataPolicies.filter((policy) => policy.publicRead) }]
@@ -513,6 +520,7 @@ export function compileRequiredPlatformCapabilitiesV3(config) {
513
520
  },
514
521
  ]
515
522
  : []),
523
+ ...(operations.some(operation => operation.platformAccess?.selectedDepartments) ? [{ code: 'directory.selected-departments', declaration: operations.filter(operation => operation.platformAccess?.selectedDepartments).map(operation => ({ code: operation.code, selectedDepartments: operation.platformAccess.selectedDepartments })) }] : []),
516
524
  ...(operations.some(operation => operation.platformAccess?.directory?.mode === 'selected-user') ? [{ code: 'directory.selected-user', declaration: operations.filter(operation => operation.platformAccess?.directory?.mode === 'selected-user').map(operation => ({ code: operation.code, directory: operation.platformAccess.directory })) }] : []),
517
525
  ...(initiatorPhoneOperations.length || initiatorPhoneCommands.length ? [{
518
526
  code: 'directory.current-initiator-phone',
@@ -521,6 +529,7 @@ export function compileRequiredPlatformCapabilitiesV3(config) {
521
529
  commands: initiatorPhoneCommands.map((command) => ({ code: command.code, directory: command.execution.directory })),
522
530
  },
523
531
  }] : []),
532
+ ...(config.data.resources.some((resource) => resource.schema.fields.some((field) => field.type === 'text.rich')) ? [{ code: 'data.rich-text', declaration: { policyVersion: 'rich-text-html/1' } }] : []),
524
533
  ...(usesManagedFiles
525
534
  ? [
526
535
  {
@@ -797,11 +806,15 @@ export function compileNativeEventCapturePlansV2(input) {
797
806
  }
798
807
  const authorizationFields = new Set();
799
808
  for (const rule of policy?.rules || []) {
800
- authorizationFields.add(String(rule.field));
809
+ authorizationFields.add(rule.parentRead
810
+ ? resolveNativeParentReadBinding(input.resources, code, rule.parentRead, `${pointer}/parentRead`).foreignKey
811
+ : String(rule.field));
801
812
  }
802
813
  if (policy?.readExpression) {
803
814
  for (const entry of nativeDataPolicyExpressionLeavesV2(policy.readExpression, `${pointer}/readExpression`)) {
804
- authorizationFields.add(String(entry.rule.field));
815
+ authorizationFields.add(entry.rule.parentRead
816
+ ? resolveNativeParentReadBinding(input.resources, code, entry.rule.parentRead, `${pointer}/parentRead`).foreignKey
817
+ : String(entry.rule.field));
805
818
  }
806
819
  }
807
820
  const filterFields = new Set();
@@ -1291,7 +1304,7 @@ function validateEventSubscriptionPlatformAccess(value, pointer, declaredResourc
1291
1304
  sourceFields.forEach((field, fieldIndex) => {
1292
1305
  const sourceType = source.get(field);
1293
1306
  const targetType = target.get(targetFields[fieldIndex]);
1294
- if (!['file', 'image'].includes(String(sourceType)) || sourceType !== targetType) {
1307
+ if (!['file', 'image', 'text.rich'].includes(String(sourceType)) || sourceType !== targetType) {
1295
1308
  fail('NATIVE_EVENT_MANAGED_FILE_COPY_FIELD_INVALID', `${entryPointer}/sourceFieldCodes/${fieldIndex}`);
1296
1309
  }
1297
1310
  });
@@ -1908,7 +1921,7 @@ function validateOperationPlatformAccess(value, pointer, declaredResources, decl
1908
1921
  if (value === undefined)
1909
1922
  return null;
1910
1923
  const access = object(value, pointer);
1911
- exactKeys(access, ['directory', 'managedFiles', 'managedFileCopies', 'notification', 'workflow', 'roleAssertions', 'decimalReservation', 'dataCommands', 'recordEdit', 'ownedSubject', 'workflowStage'], pointer, true);
1924
+ exactKeys(access, ['directory', 'selectedDepartments', 'managedFiles', 'managedFileCopies', 'notification', 'workflow', 'roleAssertions', 'decimalReservation', 'dataCommands', 'recordEdit', 'ownedSubject', 'workflowStage'], pointer, true);
1912
1925
  if (Object.keys(access).length === 0) {
1913
1926
  fail('NATIVE_OPERATION_PLATFORM_ACCESS_EMPTY', pointer);
1914
1927
  }
@@ -1985,6 +1998,15 @@ function validateOperationPlatformAccess(value, pointer, declaredResources, decl
1985
1998
  fields: uniqueSorted(fields),
1986
1999
  };
1987
2000
  }
2001
+ if (access.selectedDepartments !== undefined) {
2002
+ const entryPointer = `${pointer}/selectedDepartments`;
2003
+ const entry = object(access.selectedDepartments, entryPointer);
2004
+ exactKeys(entry, ['fields', 'maxIds'], entryPointer);
2005
+ const fields = uniqueStrings(entry.fields, `${entryPointer}/fields`, 4);
2006
+ if (!fields.includes('name') || fields.some(field => !['name', 'path', 'parent', 'fullPath'].includes(field)) || !Number.isSafeInteger(entry.maxIds) || entry.maxIds < 1 || entry.maxIds > 50)
2007
+ fail('NATIVE_OPERATION_SELECTED_DEPARTMENTS_INVALID', entryPointer);
2008
+ result.selectedDepartments = { fields: uniqueSorted(fields), maxIds: entry.maxIds };
2009
+ }
1988
2010
  if (access.managedFiles !== undefined) {
1989
2011
  const entries = boundedArray(access.managedFiles, `${pointer}/managedFiles`, 16);
1990
2012
  if (!entries.length) {
@@ -2042,7 +2064,7 @@ function validateOperationPlatformAccess(value, pointer, declaredResources, decl
2042
2064
  sourceFields.forEach((field, fieldIndex) => {
2043
2065
  const sourceType = source.get(field);
2044
2066
  const targetType = target.get(targetFields[fieldIndex]);
2045
- if (!['file', 'image'].includes(String(sourceType)) || sourceType !== targetType) {
2067
+ if (!['file', 'image', 'text.rich'].includes(String(sourceType)) || sourceType !== targetType) {
2046
2068
  fail('NATIVE_OPERATION_MANAGED_FILE_COPY_FIELD_INVALID', `${entryPointer}/sourceFieldCodes/${fieldIndex}`);
2047
2069
  }
2048
2070
  });
@@ -4308,6 +4330,7 @@ function validateDataPolicyReferences(config) {
4308
4330
  }
4309
4331
  for (const { rule, pointer: rulePointer } of ruleEntries) {
4310
4332
  exactKeys(rule, [
4333
+ 'parentRead',
4311
4334
  'subject',
4312
4335
  'dimensionCode',
4313
4336
  'relationCode',
@@ -4321,6 +4344,13 @@ function validateDataPolicyReferences(config) {
4321
4344
  'value',
4322
4345
  'operand',
4323
4346
  ], rulePointer, true);
4347
+ if (rule.parentRead !== undefined) {
4348
+ for (const roleCode of uniqueStrings(rule.roleCodes || [], `${rulePointer}/roleCodes`, 100)) {
4349
+ if (!roleCodes.has(roleCode))
4350
+ fail('NATIVE_ROLE_REFERENCE_MISSING', `${rulePointer}/roleCodes`);
4351
+ }
4352
+ continue;
4353
+ }
4324
4354
  const field = fieldCodeValue(rule.field, `${rulePointer}/field`);
4325
4355
  const fieldDefinition = policyFields?.get(field);
4326
4356
  if (hasReadExpression && !fieldDefinition) {
@@ -4405,6 +4435,14 @@ function validateDataPolicyReferences(config) {
4405
4435
  }
4406
4436
  }
4407
4437
  }
4438
+ try {
4439
+ validateNativeParentReadPolicies(config.data.resources, config.authz.dataPolicies);
4440
+ }
4441
+ catch (error) {
4442
+ if (error instanceof NativeParentReadPolicyError)
4443
+ fail(error.code, error.pointer);
4444
+ throw error;
4445
+ }
4408
4446
  for (const [index, raw] of config.data.resources.entries()) {
4409
4447
  const resource = object(raw, `/config/data/resources/${index}`);
4410
4448
  if (resource.dataPolicyCode && !policyCodes.has(resource.dataPolicyCode)) {