openxiangda-contracts 2.63.0 → 2.70.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 (152) hide show
  1. package/dist/ai.d.ts +1 -1
  2. package/dist/ai.d.ts.map +1 -1
  3. package/dist/ai.js +4 -3
  4. package/dist/ai.js.map +1 -1
  5. package/dist/browser.d.ts +6 -0
  6. package/dist/browser.d.ts.map +1 -1
  7. package/dist/browser.js +6 -0
  8. package/dist/browser.js.map +1 -1
  9. package/dist/concurrency.d.ts +1 -1
  10. package/dist/concurrency.d.ts.map +1 -1
  11. package/dist/data-field-validation.js +7 -2
  12. package/dist/data-field-validation.js.map +1 -1
  13. package/dist/field-value-schemas.d.ts +1 -1
  14. package/dist/index.d.ts +11 -0
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +11 -0
  17. package/dist/index.js.map +1 -1
  18. package/dist/native-compiler/actor-authority.d.ts +11 -0
  19. package/dist/native-compiler/actor-authority.d.ts.map +1 -0
  20. package/dist/native-compiler/actor-authority.js +56 -0
  21. package/dist/native-compiler/actor-authority.js.map +1 -0
  22. package/dist/native-compiler/artifact-capacity.d.ts +12 -0
  23. package/dist/native-compiler/artifact-capacity.d.ts.map +1 -0
  24. package/dist/native-compiler/artifact-capacity.js +34 -0
  25. package/dist/native-compiler/artifact-capacity.js.map +1 -0
  26. package/dist/native-compiler/authenticated-public-read.d.ts +18 -0
  27. package/dist/native-compiler/authenticated-public-read.d.ts.map +1 -0
  28. package/dist/native-compiler/authenticated-public-read.js +79 -0
  29. package/dist/native-compiler/authenticated-public-read.js.map +1 -0
  30. package/dist/native-compiler/compiler.d.ts +2 -21
  31. package/dist/native-compiler/compiler.d.ts.map +1 -1
  32. package/dist/native-compiler/compiler.js +213 -49
  33. package/dist/native-compiler/compiler.js.map +1 -1
  34. package/dist/native-compiler/data-business-command.d.ts +3 -1
  35. package/dist/native-compiler/data-business-command.d.ts.map +1 -1
  36. package/dist/native-compiler/data-business-command.js.map +1 -1
  37. package/dist/native-compiler/data-capacity.d.ts +25 -3
  38. package/dist/native-compiler/data-capacity.d.ts.map +1 -1
  39. package/dist/native-compiler/data-capacity.js +26 -3
  40. package/dist/native-compiler/data-capacity.js.map +1 -1
  41. package/dist/native-compiler/data-field.d.ts +22 -0
  42. package/dist/native-compiler/data-field.d.ts.map +1 -1
  43. package/dist/native-compiler/data-field.js +25 -4
  44. package/dist/native-compiler/data-field.js.map +1 -1
  45. package/dist/native-compiler/date-event-projection.d.ts +13 -0
  46. package/dist/native-compiler/date-event-projection.d.ts.map +1 -0
  47. package/dist/native-compiler/date-event-projection.js +71 -0
  48. package/dist/native-compiler/date-event-projection.js.map +1 -0
  49. package/dist/native-compiler/declaration-capacity.d.ts +60 -0
  50. package/dist/native-compiler/declaration-capacity.d.ts.map +1 -0
  51. package/dist/native-compiler/declaration-capacity.js +32 -0
  52. package/dist/native-compiler/declaration-capacity.js.map +1 -0
  53. package/dist/native-compiler/development-backend.d.ts +84 -0
  54. package/dist/native-compiler/development-backend.d.ts.map +1 -0
  55. package/dist/native-compiler/development-backend.js +77 -0
  56. package/dist/native-compiler/development-backend.js.map +1 -0
  57. package/dist/native-compiler/development-configuration.d.ts +65 -0
  58. package/dist/native-compiler/development-configuration.d.ts.map +1 -0
  59. package/dist/native-compiler/development-configuration.js +143 -0
  60. package/dist/native-compiler/development-configuration.js.map +1 -0
  61. package/dist/native-compiler/index.cjs +6 -6
  62. package/dist/native-compiler/index.d.ts +14 -0
  63. package/dist/native-compiler/index.d.ts.map +1 -1
  64. package/dist/native-compiler/index.js +6 -6
  65. package/dist/native-compiler/record-set-guard.d.ts +5 -0
  66. package/dist/native-compiler/record-set-guard.d.ts.map +1 -0
  67. package/dist/native-compiler/record-set-guard.js +27 -0
  68. package/dist/native-compiler/record-set-guard.js.map +1 -0
  69. package/dist/native-compiler/user-candidates.d.ts +9 -1
  70. package/dist/native-compiler/user-candidates.d.ts.map +1 -1
  71. package/dist/native-compiler/user-candidates.js +14 -1
  72. package/dist/native-compiler/user-candidates.js.map +1 -1
  73. package/dist/native-compiler/workflow-approved-delegation.d.ts +39 -0
  74. package/dist/native-compiler/workflow-approved-delegation.d.ts.map +1 -0
  75. package/dist/native-compiler/workflow-approved-delegation.js +94 -0
  76. package/dist/native-compiler/workflow-approved-delegation.js.map +1 -0
  77. package/dist/native-compiler/workflow-business-command.d.ts +2 -2
  78. package/dist/native-compiler/workflow-business-command.d.ts.map +1 -1
  79. package/dist/native-compiler/workflow-business-command.js +8 -4
  80. package/dist/native-compiler/workflow-business-command.js.map +1 -1
  81. package/dist/native-compiler/workflow-business-step.d.ts +4 -0
  82. package/dist/native-compiler/workflow-business-step.d.ts.map +1 -1
  83. package/dist/native-compiler/workflow-business-step.js +11 -6
  84. package/dist/native-compiler/workflow-business-step.js.map +1 -1
  85. package/dist/native-compiler/workflow-completion-deadline.d.ts +41 -0
  86. package/dist/native-compiler/workflow-completion-deadline.d.ts.map +1 -0
  87. package/dist/native-compiler/workflow-completion-deadline.js +40 -0
  88. package/dist/native-compiler/workflow-completion-deadline.js.map +1 -0
  89. package/dist/native-compiler/workflow-correction.d.ts +16 -0
  90. package/dist/native-compiler/workflow-correction.d.ts.map +1 -0
  91. package/dist/native-compiler/workflow-correction.js +42 -0
  92. package/dist/native-compiler/workflow-correction.js.map +1 -0
  93. package/dist/native-compiler/workflow-delegation-administration.d.ts +73 -0
  94. package/dist/native-compiler/workflow-delegation-administration.d.ts.map +1 -1
  95. package/dist/native-compiler/workflow-delegation-administration.js +6 -4
  96. package/dist/native-compiler/workflow-delegation-administration.js.map +1 -1
  97. package/dist/native-compiler/workflow-graph.d.ts +13 -2
  98. package/dist/native-compiler/workflow-graph.d.ts.map +1 -1
  99. package/dist/native-compiler/workflow-graph.js +20 -4
  100. package/dist/native-compiler/workflow-graph.js.map +1 -1
  101. package/dist/native-compiler/workflow-initiator-approval.d.ts +5 -1
  102. package/dist/native-compiler/workflow-initiator-approval.d.ts.map +1 -1
  103. package/dist/native-compiler/workflow-initiator-approval.js +18 -3
  104. package/dist/native-compiler/workflow-initiator-approval.js.map +1 -1
  105. package/dist/native-compiler/workflow-native-stage.d.ts +69 -0
  106. package/dist/native-compiler/workflow-native-stage.d.ts.map +1 -0
  107. package/dist/native-compiler/workflow-native-stage.js +42 -0
  108. package/dist/native-compiler/workflow-native-stage.js.map +1 -0
  109. package/dist/native-compiler/workflow-node-administration.d.ts +5 -1
  110. package/dist/native-compiler/workflow-node-administration.d.ts.map +1 -1
  111. package/dist/native-compiler/workflow-node-administration.js +17 -4
  112. package/dist/native-compiler/workflow-node-administration.js.map +1 -1
  113. package/dist/native-compiler/workflow-owned-subject.d.ts +60 -0
  114. package/dist/native-compiler/workflow-owned-subject.d.ts.map +1 -0
  115. package/dist/native-compiler/workflow-owned-subject.js +69 -0
  116. package/dist/native-compiler/workflow-owned-subject.js.map +1 -0
  117. package/dist/native-compiler/workflow-role-union.d.ts +31 -0
  118. package/dist/native-compiler/workflow-role-union.d.ts.map +1 -0
  119. package/dist/native-compiler/workflow-role-union.js +38 -0
  120. package/dist/native-compiler/workflow-role-union.js.map +1 -0
  121. package/dist/native-compiler/workflow-step-data.d.ts +28 -0
  122. package/dist/native-compiler/workflow-step-data.d.ts.map +1 -0
  123. package/dist/native-compiler/workflow-step-data.js +34 -0
  124. package/dist/native-compiler/workflow-step-data.js.map +1 -0
  125. package/dist/native-compiler/workflow-task-page.d.ts +11 -4
  126. package/dist/native-compiler/workflow-task-page.d.ts.map +1 -1
  127. package/dist/native-compiler/workflow-task-page.js +7 -5
  128. package/dist/native-compiler/workflow-task-page.js.map +1 -1
  129. package/dist/native-version.d.ts +22 -0
  130. package/dist/native-version.d.ts.map +1 -1
  131. package/dist/native-version.js +22 -0
  132. package/dist/native-version.js.map +1 -1
  133. package/dist/native.d.ts +9 -0
  134. package/dist/native.d.ts.map +1 -1
  135. package/dist/native.js.map +1 -1
  136. package/dist/references.d.ts +2 -0
  137. package/dist/references.d.ts.map +1 -1
  138. package/dist/schemas.d.ts +1838 -80
  139. package/dist/schemas.d.ts.map +1 -1
  140. package/dist/schemas.js +153 -30
  141. package/dist/schemas.js.map +1 -1
  142. package/dist/surface.d.ts +1 -0
  143. package/dist/surface.d.ts.map +1 -1
  144. package/dist/surface.js.map +1 -1
  145. package/dist/types.d.ts +89 -7
  146. package/dist/types.d.ts.map +1 -1
  147. package/dist/types.js +2 -2
  148. package/dist/types.js.map +1 -1
  149. package/dist/validation.d.ts.map +1 -1
  150. package/dist/validation.js +30 -1
  151. package/dist/validation.js.map +1 -1
  152. package/package.json +1 -1
package/dist/schemas.js CHANGED
@@ -1,4 +1,5 @@
1
- import { DATA_SUBTABLE_MAX_ROWS, DATA_TRANSACTION_MAX_OPERATIONS, DATA_TRANSACTION_MAX_BYTES } from './native-compiler/data-capacity.js';
1
+ import { NATIVE_CONTRACT_CAPACITY_V2 } from './native-compiler/declaration-capacity.js';
2
+ import { DATA_SUBTABLE_MAX_ROWS, DATA_SUBTABLE_MAX_TOTAL_ROWS, DATA_TRANSACTION_MAX_OPERATIONS, DATA_TRANSACTION_MAX_BYTES } from './native-compiler/data-capacity.js';
2
3
  import { nativeUniqueKeysJsonSchema } from './native-compiler/unique-keys.js';
3
4
  import { workflowAssignmentRoutingPolicySchema } from './native-compiler/workflow-assignment-routing.js';
4
5
  import { workflowBusinessCommandInvocationSchema } from './native-compiler/workflow-business-command.js';
@@ -10,6 +11,8 @@ import { aiCapabilityCatalogSchema } from "./ai.js";
10
11
  import { departmentReferenceValueSchema, resourceReferenceValueSchema, userReferenceValueSchema, } from "./field-value-schemas.js";
11
12
  import { WORKFLOW_SUMMARY_ENVELOPE_MAX_BYTES, WORKFLOW_SUMMARY_MAX_FIELDS, WORKFLOW_SUMMARY_TEXT_LONG_MAX_BYTES, } from "./workflow-summary.js";
12
13
  import { WORKFLOW_DETAIL_ENVELOPE_MAX_BYTES, WORKFLOW_DETAIL_MAX_FIELDS, WORKFLOW_DETAIL_MAX_RECORD_PROPERTIES, WORKFLOW_DETAIL_MAX_SUBTABLE_ROWS, } from "./workflow-detail.js";
14
+ import { workflowRoleCodesSchema } from './native-compiler/workflow-role-union.js';
15
+ import { workflowOwnedSubjectCreateSchema } from './native-compiler/workflow-owned-subject.js';
13
16
  const digest = { type: "string", pattern: "^[0-9a-f]{64}$" };
14
17
  const prefixedDigest = {
15
18
  type: "string",
@@ -1968,6 +1971,7 @@ export const dataFieldSourceQuerySchema = {
1968
1971
  properties: {
1969
1972
  workflowCode: { type: "string", minLength: 1, maxLength: 128 },
1970
1973
  operationCode: { type: "string", minLength: 1, maxLength: 255 },
1974
+ subtableFieldCode: { type: 'string', pattern: '^[A-Za-z][A-Za-z0-9_]{0,62}$' },
1971
1975
  },
1972
1976
  },
1973
1977
  keyword: { type: "string", maxLength: 500 },
@@ -1982,6 +1986,35 @@ export const dataFieldSourceQuerySchema = {
1982
1986
  },
1983
1987
  },
1984
1988
  };
1989
+ export const workflowTaskFieldSourceQuerySchema = {
1990
+ $id: SCHEMA_VERSIONS.workflowTaskFieldSourceQuery,
1991
+ type: 'object',
1992
+ additionalProperties: false,
1993
+ required: ['schemaVersion', 'expectedRevision', 'expectedTaskVersion'],
1994
+ properties: {
1995
+ schemaVersion: { const: SCHEMA_VERSIONS.workflowTaskFieldSourceQuery },
1996
+ expectedRevision: { type: 'integer', minimum: 1, maximum: Number.MAX_SAFE_INTEGER },
1997
+ expectedTaskVersion: { type: 'integer', minimum: 1, maximum: Number.MAX_SAFE_INTEGER },
1998
+ keyword: dataFieldSourceQuerySchema.properties.keyword,
1999
+ cursor: dataFieldSourceQuerySchema.properties.cursor,
2000
+ bindings: dataFieldSourceQuerySchema.properties.bindings,
2001
+ subtable: {
2002
+ type: 'object', additionalProperties: false, required: ['fieldCode', 'row'],
2003
+ properties: {
2004
+ fieldCode: { type: 'string', pattern: '^[A-Za-z][A-Za-z0-9_]{0,62}$' },
2005
+ row: { oneOf: [
2006
+ { type: 'object', additionalProperties: false, required: ['kind', 'id', 'expectedRevision'], properties: {
2007
+ kind: { const: 'persisted' }, id: { type: 'string', format: 'uuid' },
2008
+ expectedRevision: { type: 'integer', minimum: 1, maximum: Number.MAX_SAFE_INTEGER },
2009
+ } },
2010
+ { type: 'object', additionalProperties: false, required: ['kind', 'key'], properties: {
2011
+ kind: { const: 'new' }, key: { type: 'string', pattern: '^[A-Za-z0-9][A-Za-z0-9_.:-]{0,127}$' },
2012
+ } },
2013
+ ] },
2014
+ },
2015
+ },
2016
+ },
2017
+ };
1985
2018
  export const dataFieldSourcePageSchema = {
1986
2019
  $id: SCHEMA_VERSIONS.dataFieldSourcePage,
1987
2020
  type: "object",
@@ -2031,6 +2064,7 @@ export const userCandidatesQuerySchema = {
2031
2064
  properties: {
2032
2065
  ...userCandidateSearchProperties, operation: { const: 'create' },
2033
2066
  launch: dataFieldSourceQuerySchema.properties.launch,
2067
+ scopeValue: { type: 'string', minLength: 1, maxLength: 255, pattern: '^\\S(?:[\\s\\S]*\\S)?$' },
2034
2068
  },
2035
2069
  },
2036
2070
  {
@@ -2168,8 +2202,9 @@ export const dataFieldUserCandidatesSchema = {
2168
2202
  dimensionCode: { type: 'string', minLength: 1, maxLength: 128, pattern: '^[a-z][a-z0-9]*(?:[-_.][a-z0-9]+)*$' },
2169
2203
  operation: { type: 'string', minLength: 1, maxLength: 64, pattern: '^[a-z][a-z0-9]*(?:[-_.][a-z0-9]+)*$' },
2170
2204
  field: dataFieldCode, value: { type: 'string', minLength: 1, maxLength: 255, pattern: '^\\S(?:[\\s\\S]*\\S)?$' },
2205
+ creation: { const: 'prospective' },
2171
2206
  },
2172
- oneOf: [{ required: ['field'], not: { required: ['value'] } }, { required: ['value'], not: { required: ['field'] } }],
2207
+ oneOf: [{ required: ['field'], not: { required: ['value'] } }, { required: ['value'], not: { anyOf: [{ required: ['field'] }, { required: ['creation'] }] } }],
2173
2208
  },
2174
2209
  },
2175
2210
  };
@@ -2206,6 +2241,7 @@ const dataFieldResourceSourceSchema = {
2206
2241
  },
2207
2242
  pageSize: { type: "integer", minimum: 1, maximum: 100 },
2208
2243
  loadMode: { enum: ["search", "all"] },
2244
+ clearOnBindingChange: { type: 'boolean' },
2209
2245
  },
2210
2246
  };
2211
2247
  const dataCapabilities = {
@@ -2335,6 +2371,7 @@ const dataFieldSurfaceSchema = {
2335
2371
  resourceCode: dataResourceCode,
2336
2372
  foreignKey: dataFieldCode,
2337
2373
  orderField: dataFieldCode,
2374
+ minRows: { type: "integer", minimum: 0, maximum: DATA_SUBTABLE_MAX_ROWS },
2338
2375
  maxRows: { type: "integer", minimum: 1, maximum: DATA_SUBTABLE_MAX_ROWS },
2339
2376
  },
2340
2377
  },
@@ -2558,6 +2595,7 @@ export const dataResourceSchema = {
2558
2595
  additionalProperties: false,
2559
2596
  required: ["fields"],
2560
2597
  properties: {
2598
+ ownedRowLimit: { type: 'integer', minimum: 1, maximum: DATA_SUBTABLE_MAX_TOTAL_ROWS },
2561
2599
  fields: {
2562
2600
  type: "array",
2563
2601
  minItems: 1,
@@ -2677,6 +2715,7 @@ export const dataResourceSchema = {
2677
2715
  resourceCode: dataResourceCode,
2678
2716
  foreignKey: dataFieldCode,
2679
2717
  orderField: dataFieldCode,
2718
+ minRows: { type: "integer", minimum: 0, maximum: DATA_SUBTABLE_MAX_ROWS },
2680
2719
  maxRows: { type: "integer", minimum: 1, maximum: DATA_SUBTABLE_MAX_ROWS },
2681
2720
  },
2682
2721
  },
@@ -3526,6 +3565,52 @@ const dataTransactionOperation = {
3526
3565
  };
3527
3566
  const dataTransactionGuard = {
3528
3567
  oneOf: [
3568
+ {
3569
+ type: 'object', additionalProperties: false,
3570
+ required: ['kind', 'resourceCode', 'errorCode', 'records'],
3571
+ properties: {
3572
+ kind: { const: 'record-set-match' },
3573
+ resourceCode: dataResourceCode,
3574
+ errorCode: { type: 'string', pattern: '^OPENXIANGDA_[A-Z0-9_]{1,96}$' },
3575
+ records: {
3576
+ type: 'array', minItems: 1, maxItems: 500, uniqueItems: true,
3577
+ items: {
3578
+ type: 'object', additionalProperties: false, required: ['id', 'expectedRevision'],
3579
+ properties: {
3580
+ id: { type: 'string', pattern: '^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$' },
3581
+ expectedRevision: { type: 'integer', minimum: 1, maximum: Number.MAX_SAFE_INTEGER },
3582
+ },
3583
+ },
3584
+ },
3585
+ where: { $ref: '#/$defs/dataWhere' },
3586
+ },
3587
+ },
3588
+ {
3589
+ type: 'object', additionalProperties: false,
3590
+ required: ['kind', 'errorCode', 'anyOf'],
3591
+ properties: {
3592
+ kind: { const: 'actor-authority' },
3593
+ errorCode: { type: 'string', pattern: '^OPENXIANGDA_[A-Z0-9_]{1,96}$' },
3594
+ allowAppSuperAdmin: { type: 'boolean' },
3595
+ anyOf: {
3596
+ type: 'array', minItems: 1, maxItems: 20, uniqueItems: true,
3597
+ items: {
3598
+ type: 'object', additionalProperties: false, required: ['roleCode'],
3599
+ properties: {
3600
+ roleCode: { type: 'string', pattern: '^[a-z][a-z0-9]*(?:[-_.][a-z0-9]+)*$', maxLength: 100 },
3601
+ scope: {
3602
+ type: 'object', additionalProperties: false, required: ['dimensionCode', 'value', 'operation'],
3603
+ properties: {
3604
+ dimensionCode: { type: 'string', pattern: '^[a-z][a-z0-9]*(?:[-_.][a-z0-9]+)*$', maxLength: 100 },
3605
+ value: { type: 'string', minLength: 1, maxLength: 255, pattern: '^\\S(?:[\\s\\S]*\\S)?$' },
3606
+ operation: { type: 'string', maxLength: 64, pattern: '^[A-Za-z0-9*][A-Za-z0-9*._:-]*$' },
3607
+ },
3608
+ },
3609
+ },
3610
+ },
3611
+ },
3612
+ },
3613
+ },
3529
3614
  {
3530
3615
  type: "object", additionalProperties: false,
3531
3616
  required: ["kind", "operationIndex", "field", "operator", "offsetMilliseconds", "errorCode"],
@@ -4973,9 +5058,10 @@ export const workflowBusinessStepResultSchema = {
4973
5058
  export const workflowBusinessStepHandlerSchema = {
4974
5059
  type: 'object', additionalProperties: false, required: ['version', 'mode', 'inputSchema', 'outputSchema'],
4975
5060
  properties: {
4976
- version: { type: 'integer', minimum: 1, maximum: 1_000_000 }, mode: { enum: ['pure', 'reconciled-effect'] },
5061
+ version: { type: 'integer', minimum: 1, maximum: 1_000_000 }, mode: { enum: ['pure', 'reconciled-effect'] }, dataTransaction: { const: true },
4977
5062
  inputSchema: { type: 'object' }, outputSchema: { type: 'object' },
4978
5063
  },
5064
+ allOf: [{ if: { required: ['dataTransaction'] }, then: { properties: { mode: { const: 'reconciled-effect' } } } }],
4979
5065
  };
4980
5066
  export const eventReceiptCommandSchema = {
4981
5067
  $id: SCHEMA_VERSIONS.eventReceiptCommand,
@@ -5273,7 +5359,8 @@ export const workflowBusinessStepNodeSchema = {
5273
5359
  id: nonEmptyString, kind: { const: 'action' }, title: nonEmptyString, next: nonEmptyString,
5274
5360
  handler: {
5275
5361
  type: 'object', additionalProperties: false, required: ['code', 'version', 'mode'],
5276
- properties: { code: { type: 'string', pattern: '^[a-z][a-z0-9-]{0,100}$' }, version: { type: 'integer', minimum: 1, maximum: 1_000_000 }, mode: { enum: ['pure', 'reconciled-effect'] } },
5362
+ properties: { code: { type: 'string', pattern: '^[a-z][a-z0-9-]{0,100}$' }, version: { type: 'integer', minimum: 1, maximum: 1_000_000 }, mode: { enum: ['pure', 'reconciled-effect'] }, dataTransaction: { const: true } },
5363
+ allOf: [{ if: { required: ['dataTransaction'] }, then: { properties: { mode: { const: 'reconciled-effect' } } } }],
5277
5364
  },
5278
5365
  inputSchema: { type: 'object' }, outputSchema: { type: 'object' },
5279
5366
  inputs: { type: 'object', maxProperties: 32, additionalProperties: {
@@ -5306,6 +5393,10 @@ const workflowNodeSchema = {
5306
5393
  mode: { enum: ["single", "any", "all", "sequence"] },
5307
5394
  emptyPolicy: { enum: ["block", "skip"] },
5308
5395
  initiatorApprovalPolicy: { enum: ["manual", "auto_approve"] },
5396
+ completionDeadline: {
5397
+ type: 'object', additionalProperties: false, required: ['afterSeconds', 'action'],
5398
+ properties: { afterSeconds: { type: 'integer', minimum: 1, maximum: 2592000 }, action: { const: 'approve' } },
5399
+ },
5309
5400
  onApprove: nonEmptyString,
5310
5401
  onReject: nonEmptyString,
5311
5402
  taskPageCode: { type: 'string', pattern: '^[A-Za-z][A-Za-z0-9_-]{0,63}$' },
@@ -5316,6 +5407,7 @@ const workflowNodeSchema = {
5316
5407
  properties: {
5317
5408
  label: { type: 'string', minLength: 1, maxLength: 40, pattern: '^(?!.*[\\u0000-\\u001f\\u007f])(?=.*\\S).*$' },
5318
5409
  ...(['approve', 'reject'].includes(operation) ? { commentRequired: { type: 'boolean' } } : {}),
5410
+ ...(['transfer', 'delegate', 'add_assignee', 'return'].includes(operation) ? { reasonRequired: { type: 'boolean' } } : {}),
5319
5411
  },
5320
5412
  }])),
5321
5413
  },
@@ -5397,6 +5489,9 @@ const workflowNodeSchema = {
5397
5489
  },
5398
5490
  workflowCcNodeSchema,
5399
5491
  workflowBusinessStepNodeSchema,
5492
+ { type: 'object', additionalProperties: false, required: ['id', 'kind', 'title', 'taskPageCode', 'next'],
5493
+ properties: { id: nonEmptyString, kind: { const: 'correction' }, title: nonEmptyString,
5494
+ taskPageCode: { type: 'string', pattern: '^[A-Za-z][A-Za-z0-9_-]{0,63}$' }, next: nonEmptyString } },
5400
5495
  ],
5401
5496
  };
5402
5497
  export const workflowDefinitionSchema = {
@@ -5422,9 +5517,19 @@ export const workflowDefinitionSchema = {
5422
5517
  properties: { requiredApprovalNodes: { type: 'array', minItems: 1, maxItems: 20, uniqueItems: true,
5423
5518
  items: { type: 'string', pattern: '^[A-Za-z][A-Za-z0-9_-]{0,127}$' } } },
5424
5519
  },
5520
+ approvedDelegation: {
5521
+ type: 'object', additionalProperties: false,
5522
+ required: ['confirmationNodeId', 'confirmer', 'requestsField', 'maxRequests'],
5523
+ properties: {
5524
+ confirmationNodeId: { type: 'string', pattern: '^[A-Za-z][A-Za-z0-9_-]{0,127}$' },
5525
+ confirmer: { enum: ['initiator', 'delegate'] },
5526
+ requestsField: { type: 'string', pattern: '^[A-Za-z][A-Za-z0-9_]{0,62}$' },
5527
+ maxRequests: { type: 'integer', minimum: 1, maximum: 500 },
5528
+ },
5529
+ },
5425
5530
  commandHandlers: {
5426
5531
  type: 'object', additionalProperties: false, minProperties: 1,
5427
- properties: Object.fromEntries(['approve', 'reject', 'withdraw'].map(command => [command, {
5532
+ properties: Object.fromEntries(['approve', 'reject', 'withdraw', 'resubmit'].map(command => [command, {
5428
5533
  type: 'object', additionalProperties: false, required: ['operationCode'],
5429
5534
  properties: { operationCode: { type: 'string', pattern: '^[a-z][a-z0-9]*(?:[-_.][a-z0-9]+)*$' } },
5430
5535
  }])),
@@ -5577,6 +5682,9 @@ export const workflowBindingSchema = {
5577
5682
  additionalProperties: false,
5578
5683
  required: ["provider"],
5579
5684
  allOf: [{
5685
+ if: { required: ['roleCodes'] },
5686
+ then: { properties: { provider: { enum: ['app_role', 'app_role_in_scope'] } }, not: { anyOf: [{ required: ['roleCode'] }, { required: ['candidateField'] }] } },
5687
+ }, {
5580
5688
  if: { required: ['candidateField'] },
5581
5689
  then: {
5582
5690
  required: ['inputPath'],
@@ -5607,6 +5715,7 @@ export const workflowBindingSchema = {
5607
5715
  level: { type: "integer", minimum: 1, maximum: 20 },
5608
5716
  fallbackToAncestorSupervisor: { type: "boolean" },
5609
5717
  roleCode: { type: "string" },
5718
+ roleCodes: workflowRoleCodesSchema,
5610
5719
  scope: {
5611
5720
  type: "object",
5612
5721
  additionalProperties: false,
@@ -5911,6 +6020,10 @@ export const businessProcessCommandWithDataSchema = {
5911
6020
  type: 'object',
5912
6021
  additionalProperties: false,
5913
6022
  required: ['schemaVersion', 'environmentKey', 'workflow', 'subject', 'data', 'expectedTransition'],
6023
+ allOf: [{
6024
+ if: { properties: { expectedTransition: { required: ['kind'], properties: { kind: { const: 'correction-replay' } } } } },
6025
+ then: { properties: { workflow: { properties: { target: { properties: { kind: { const: 'task' }, command: { const: 'resubmit' } } } } } } },
6026
+ }],
5914
6027
  properties: {
5915
6028
  schemaVersion: { const: SCHEMA_VERSIONS.businessProcessCommandWithData },
5916
6029
  environmentKey: { enum: DEPLOYMENT_ENVIRONMENTS },
@@ -5920,15 +6033,15 @@ export const businessProcessCommandWithDataSchema = {
5920
6033
  properties: { fromOperation: { type: 'string', minLength: 1, maxLength: 128 } },
5921
6034
  },
5922
6035
  data: businessProcessCommitSchema.properties.data,
5923
- expectedTransition: {
5924
- type: 'object', additionalProperties: false,
5925
- required: ['status', 'outcome', 'currentNodeId'],
5926
- properties: {
5927
- status: { enum: ['running', 'approved', 'rejected', 'withdrawn'] },
5928
- outcome: { type: ['string', 'null'], maxLength: 128 },
5929
- currentNodeId: { type: ['string', 'null'], minLength: 1, maxLength: 128 },
5930
- },
5931
- },
6036
+ expectedTransition: { oneOf: [{
6037
+ type: 'object', additionalProperties: false,
6038
+ required: ['status', 'outcome', 'currentNodeId'],
6039
+ properties: {
6040
+ status: { enum: ['running', 'approved', 'rejected', 'withdrawn'] },
6041
+ outcome: { type: ['string', 'null'], maxLength: 128 },
6042
+ currentNodeId: { type: ['string', 'null'], minLength: 1, maxLength: 128 },
6043
+ },
6044
+ }, { type: 'object', additionalProperties: false, required: ['kind'], properties: { kind: { const: 'correction-replay' } } }] },
5932
6045
  },
5933
6046
  };
5934
6047
  export const standardProcessCommitSchema = {
@@ -6730,6 +6843,7 @@ const workflowNamedOperationLaunchIntentSchema = {
6730
6843
  "output",
6731
6844
  ],
6732
6845
  properties: {
6846
+ ownedSubject: workflowOwnedSubjectCreateSchema,
6733
6847
  operationCode: {
6734
6848
  type: "string",
6735
6849
  pattern: "^[A-Za-z][A-Za-z0-9_.:-]{0,254}$",
@@ -6957,6 +7071,7 @@ export const workflowDelegationSchema = {
6957
7071
  appCode: nonEmptyString,
6958
7072
  environmentKey: nonEmptyString,
6959
7073
  workflowCode: { type: ["string", "null"] },
7074
+ nodeId: { type: ["string", "null"], pattern: "^[A-Za-z0-9._:-]{1,128}$" },
6960
7075
  delegatorUserId: nonEmptyString,
6961
7076
  delegateUserId: nonEmptyString,
6962
7077
  delegatorRoleSubjectKey: nonEmptyString,
@@ -7196,11 +7311,14 @@ const appPerspectiveContractSchema = {
7196
7311
  default: { type: "boolean" },
7197
7312
  },
7198
7313
  };
7314
+ import { workflowNativeStagePolicySchema } from './native-compiler/workflow-native-stage.js';
7199
7315
  const appOperationPlatformAccessSchema = {
7200
7316
  type: "object",
7201
7317
  additionalProperties: false,
7202
7318
  minProperties: 1,
7203
7319
  properties: {
7320
+ ownedSubject: workflowOwnedSubjectCreateSchema,
7321
+ workflowStage: workflowNativeStagePolicySchema,
7204
7322
  recordEdit: {
7205
7323
  type: 'object', additionalProperties: false, required: ['resourceCode', 'fieldCodes'],
7206
7324
  properties: { resourceCode: dataResourceCode, fieldCodes: { type: 'array', minItems: 1, maxItems: 200, uniqueItems: true, items: dataFieldCode } },
@@ -7214,7 +7332,7 @@ const appOperationPlatformAccessSchema = {
7214
7332
  properties: { roleCodes: {
7215
7333
  type: "array", minItems: 1, maxItems: 20, uniqueItems: true,
7216
7334
  items: { type: "string", pattern: "^[a-z][a-z0-9]*(?:[-_.][a-z0-9]+)*$", maxLength: 100 },
7217
- } },
7335
+ }, actorAuthority: { const: true } },
7218
7336
  },
7219
7337
  directory: {
7220
7338
  type: "object",
@@ -7292,7 +7410,7 @@ const appOperationPlatformAccessSchema = {
7292
7410
  uniqueItems: true,
7293
7411
  items: stableCode,
7294
7412
  },
7295
- businessCommands: { type: 'array', minItems: 1, maxItems: 3, uniqueItems: true, items: { enum: ['approve', 'reject', 'withdraw'] } },
7413
+ businessCommands: { type: 'array', minItems: 1, maxItems: 4, uniqueItems: true, items: { enum: ['approve', 'reject', 'withdraw', 'resubmit'] } },
7296
7414
  },
7297
7415
  },
7298
7416
  decimalReservation: {
@@ -8299,6 +8417,9 @@ const appDataPolicyDeclarationSchema = {
8299
8417
  name: nonEmptyString,
8300
8418
  resourceCode: stableCode,
8301
8419
  unrestrictedRoleCodes: dataPolicyRoleCodes,
8420
+ publicRead: { type: 'object', additionalProperties: false, required: ['fields'], properties: {
8421
+ fields: { type: 'array', minItems: 1, maxItems: 1000, uniqueItems: true, items: { type: 'string', pattern: '^[A-Za-z][A-Za-z0-9_]{0,62}$' } },
8422
+ } },
8302
8423
  operations: {
8303
8424
  type: "array",
8304
8425
  minItems: 1,
@@ -8333,6 +8454,7 @@ const appDataPolicyDeclarationSchema = {
8333
8454
  ],
8334
8455
  },
8335
8456
  { not: { required: ["operations", "readExpression"] } },
8457
+ { if: { required: ['publicRead'] }, then: { required: ['operations'], properties: { operations: { const: ['read'] } }, not: { anyOf: [{ required: ['readExpression'] }, { required: ['writeBoundary'] }] } } },
8336
8458
  ],
8337
8459
  };
8338
8460
  const subjectReadSurfaceDeclarationSchema = {
@@ -8448,10 +8570,10 @@ export const configurationBundleSchema = {
8448
8570
  authenticatedUserRoleCode: stableCode,
8449
8571
  capabilities: {
8450
8572
  type: "array",
8451
- maxItems: 2000,
8573
+ maxItems: NATIVE_CONTRACT_CAPACITY_V2.capabilities,
8452
8574
  items: appCapabilityDeclarationSchema,
8453
8575
  },
8454
- roles: { type: "array", maxItems: 100, items: appRoleDeclarationSchema },
8576
+ roles: { type: "array", maxItems: NATIVE_CONTRACT_CAPACITY_V2.roles, items: appRoleDeclarationSchema },
8455
8577
  scopeDimensions: {
8456
8578
  type: "array",
8457
8579
  maxItems: 100,
@@ -8474,7 +8596,7 @@ export const configurationBundleSchema = {
8474
8596
  },
8475
8597
  dataPolicies: {
8476
8598
  type: "array",
8477
- maxItems: 100,
8599
+ maxItems: NATIVE_CONTRACT_CAPACITY_V2.dataPolicies,
8478
8600
  items: appDataPolicyDeclarationSchema,
8479
8601
  },
8480
8602
  authorizationTransitions: {
@@ -8504,7 +8626,7 @@ export const configurationBundleSchema = {
8504
8626
  properties: {
8505
8627
  resources: {
8506
8628
  type: "array",
8507
- maxItems: 100,
8629
+ maxItems: NATIVE_CONTRACT_CAPACITY_V2.resources,
8508
8630
  items: { $ref: SCHEMA_VERSIONS.dataResource },
8509
8631
  },
8510
8632
  concurrency: { type: "object" },
@@ -8554,9 +8676,9 @@ export const configurationBundleSchema = {
8554
8676
  "editableParameters",
8555
8677
  ],
8556
8678
  properties: {
8557
- definitions: { type: "array", maxItems: 100, items: { type: "object" } },
8558
- bindings: { type: "array", maxItems: 100, items: { type: "object" } },
8559
- activations: { type: "array", maxItems: 100, items: { type: "object" } },
8679
+ definitions: { type: "array", maxItems: NATIVE_CONTRACT_CAPACITY_V2.workflows, items: { type: "object" } },
8680
+ bindings: { type: "array", maxItems: NATIVE_CONTRACT_CAPACITY_V2.workflows, items: { type: "object" } },
8681
+ activations: { type: "array", maxItems: NATIVE_CONTRACT_CAPACITY_V2.workflows, items: { type: "object" } },
8560
8682
  providers: { type: "array", maxItems: 100, items: { type: "object" } },
8561
8683
  editableParameters: {
8562
8684
  type: "array",
@@ -8570,7 +8692,7 @@ export const configurationBundleSchema = {
8570
8692
  additionalProperties: false,
8571
8693
  required: ["routes", "user", "admin", "devicePolicy"],
8572
8694
  properties: {
8573
- routes: { type: "array", maxItems: 500, items: appRouteDeclarationSchema },
8695
+ routes: { type: "array", maxItems: NATIVE_CONTRACT_CAPACITY_V2.routes, items: appRouteDeclarationSchema },
8574
8696
  user: {
8575
8697
  type: "object",
8576
8698
  additionalProperties: false,
@@ -8736,7 +8858,7 @@ export const applicationRouteManifestSchema = {
8736
8858
  },
8737
8859
  routes: {
8738
8860
  type: "array",
8739
- maxItems: 512,
8861
+ maxItems: NATIVE_CONTRACT_CAPACITY_V2.routes,
8740
8862
  items: appRouteManifestEntrySchema,
8741
8863
  },
8742
8864
  digest,
@@ -8780,14 +8902,14 @@ export const contractBundleSchema = {
8780
8902
  maxItems: 100,
8781
8903
  items: appPerspectiveContractSchema,
8782
8904
  },
8783
- resources: { type: "array", maxItems: 100, items: { type: "object" } },
8905
+ resources: { type: "array", maxItems: NATIVE_CONTRACT_CAPACITY_V2.resources, items: { type: "object" } },
8784
8906
  concurrency: { type: "object" },
8785
8907
  subjectReadSurfaces: {
8786
8908
  type: "array",
8787
8909
  maxItems: 50,
8788
8910
  items: subjectReadSurfaceDeclarationSchema,
8789
8911
  },
8790
- capabilities: { type: "array", maxItems: 2000, items: { type: "object" } },
8912
+ capabilities: { type: "array", maxItems: NATIVE_CONTRACT_CAPACITY_V2.capabilities, items: { type: "object" } },
8791
8913
  operations: { type: "array", maxItems: 500, items: { type: "object" } },
8792
8914
  eventConsumers: { type: "array", maxItems: 100, items: { type: "object" } },
8793
8915
  eventProducers: { type: "array", maxItems: 1000, items: { type: "object" } },
@@ -8798,8 +8920,8 @@ export const contractBundleSchema = {
8798
8920
  },
8799
8921
  eventHandlerManifest: eventHandlerManifestSchema,
8800
8922
  eventTypes: { type: "array", maxItems: 500, items: nonEmptyString },
8801
- workflows: { type: "array", maxItems: 100, items: { type: "object" } },
8802
- routes: { type: "array", maxItems: 500, items: appRouteContractSchema },
8923
+ workflows: { type: "array", maxItems: NATIVE_CONTRACT_CAPACITY_V2.workflows, items: { type: "object" } },
8924
+ routes: { type: "array", maxItems: NATIVE_CONTRACT_CAPACITY_V2.routes, items: appRouteContractSchema },
8803
8925
  authentication: {
8804
8926
  anyOf: [{ type: "null" }, applicationAuthenticationSchema],
8805
8927
  },
@@ -8810,7 +8932,7 @@ export const contractBundleSchema = {
8810
8932
  adminAccess: appRouteAccessSchema,
8811
8933
  adminPages: {
8812
8934
  type: "array",
8813
- maxItems: 500,
8935
+ maxItems: NATIVE_CONTRACT_CAPACITY_V2.adminPages,
8814
8936
  items: appAdminPageContractSchema,
8815
8937
  },
8816
8938
  adminNavigation: appAdminNavigationContractSchema,
@@ -8888,6 +9010,7 @@ export const contractSchemas = {
8888
9010
  nativeScopeValueResolveRequest: nativeScopeValueResolveRequestSchema,
8889
9011
  nativeScopeValuePage: nativeScopeValuePageSchema,
8890
9012
  dataFieldSourceQuery: dataFieldSourceQuerySchema,
9013
+ workflowTaskFieldSourceQuery: workflowTaskFieldSourceQuerySchema,
8891
9014
  dataFieldSourcePage: dataFieldSourcePageSchema,
8892
9015
  userCandidatesQuery: userCandidatesQuerySchema,
8893
9016
  userCandidatesPage: userCandidatesPageSchema,