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
@@ -0,0 +1,5 @@
1
+ import type { DataTransactionRecordSetMatchGuard } from '../types.js';
2
+ export declare const DATA_TRANSACTION_RECORD_SET_MAX_RECORDS = 500;
3
+ /** Shape and identity bounds only; row/field authorization remains with Native. */
4
+ export declare function isDataTransactionRecordSetMatchGuard(value: unknown): value is DataTransactionRecordSetMatchGuard;
5
+ //# sourceMappingURL=record-set-guard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record-set-guard.d.ts","sourceRoot":"","sources":["../../src/native-compiler/record-set-guard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,aAAa,CAAC;AAEtE,eAAO,MAAM,uCAAuC,MAAM,CAAC;AAK3D,mFAAmF;AACnF,wBAAgB,oCAAoC,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,kCAAkC,CAkBhH"}
@@ -0,0 +1,27 @@
1
+ export const DATA_TRANSACTION_RECORD_SET_MAX_RECORDS = 500;
2
+ const uuid = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
3
+ const object = (value) => !!value && typeof value === 'object' && !Array.isArray(value);
4
+ /** Shape and identity bounds only; row/field authorization remains with Native. */
5
+ export function isDataTransactionRecordSetMatchGuard(value) {
6
+ if (!object(value) || value.kind !== 'record-set-match' ||
7
+ Object.keys(value).some(key => !['kind', 'resourceCode', 'errorCode', 'records', 'where'].includes(key)) ||
8
+ typeof value.resourceCode !== 'string' || value.resourceCode.length > 64 ||
9
+ !/^[a-z][a-z0-9]*(?:[-_.][a-z0-9]+)*$/.test(value.resourceCode) ||
10
+ typeof value.errorCode !== 'string' || !/^OPENXIANGDA_[A-Z0-9_]{1,96}$/.test(value.errorCode) ||
11
+ !Array.isArray(value.records) || !value.records.length || value.records.length > DATA_TRANSACTION_RECORD_SET_MAX_RECORDS ||
12
+ (Object.hasOwn(value, 'where') && !object(value.where)))
13
+ return false;
14
+ const seen = new Set();
15
+ return value.records.every(record => {
16
+ if (!object(record) || Object.keys(record).length !== 2 ||
17
+ typeof record.id !== 'string' || !uuid.test(record.id) ||
18
+ !Number.isSafeInteger(record.expectedRevision) || Number(record.expectedRevision) < 1)
19
+ return false;
20
+ const id = record.id.toLowerCase();
21
+ if (seen.has(id))
22
+ return false;
23
+ seen.add(id);
24
+ return true;
25
+ });
26
+ }
27
+ //# sourceMappingURL=record-set-guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record-set-guard.js","sourceRoot":"","sources":["../../src/native-compiler/record-set-guard.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,uCAAuC,GAAG,GAAG,CAAC;AAC3D,MAAM,IAAI,GAAG,4EAA4E,CAAC;AAC1F,MAAM,MAAM,GAAG,CAAC,KAAc,EAAoC,EAAE,CAClE,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAEhE,mFAAmF;AACnF,MAAM,UAAU,oCAAoC,CAAC,KAAc;IACjE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB;QACrD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACxG,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,EAAE;QACxE,CAAC,qCAAqC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;QAC/D,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAC7F,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,uCAAuC;QACxH,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACxE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;QAClC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC;YACrD,OAAO,MAAM,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACtD,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QACtG,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC;QAC/B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -8,14 +8,16 @@ export interface DataFieldUserCandidates {
8
8
  } & ({
9
9
  value: string;
10
10
  field?: never;
11
+ creation?: never;
11
12
  } | {
12
13
  field: string;
13
14
  value?: never;
15
+ creation?: 'prospective';
14
16
  });
15
17
  pageSize?: number;
16
18
  }
17
19
  export declare const USER_CANDIDATE_MAX_SELECTIONS = 200;
18
- export declare const USER_CANDIDATE_SCOPE_FIELD_TYPES: readonly ["text.short", "uuid", "option.single"];
20
+ export declare const USER_CANDIDATE_SCOPE_FIELD_TYPES: readonly ["text.short", "uuid", "option.single", "resource-ref.single"];
19
21
  type Field = {
20
22
  code: string;
21
23
  type: string;
@@ -55,6 +57,12 @@ export declare class UserCandidateContractError extends Error {
55
57
  }
56
58
  /** Shared by application diagnostics and the server's native compiler. */
57
59
  export declare function parseDataFieldUserCandidates(value: unknown, type: string, pointer: string): DataFieldUserCandidates | undefined;
60
+ /** Additive runtime negotiation for pre-save scopes and resource identities. */
61
+ export declare function requiresUserCandidateLaunchScope(resources: readonly {
62
+ schema: {
63
+ fields: readonly Field[];
64
+ };
65
+ }[]): boolean;
58
66
  export declare function validateUserCandidateReferences(fields: readonly Field[], roleCodes: ReadonlySet<string>, dimensionCodes: ReadonlySet<string>, pointer: string): void;
59
67
  /** Resolve fixed fact paths, never caller-supplied scope bindings. */
60
68
  export declare function resolveWorkflowUserCandidates(definition: Definition, entry: Entry, fields: ReadonlyMap<string, Field>, pointer: string): {
@@ -1 +1 @@
1
- {"version":3,"file":"user-candidates.d.ts","sourceRoot":"","sources":["../../src/native-compiler/user-candidates.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,CACnD;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE,GAChC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE,CACnC,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,6BAA6B,MAAM,CAAC;AACjD,eAAO,MAAM,gCAAgC,kDAInC,CAAC;AAEX,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,uBAAuB,CAAC;IACzC,QAAQ,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;CACrC,CAAC;AACF,KAAK,SAAS,GAAG;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE;QAAE,MAAM,EAAE,SAAS,EAAE,CAAA;KAAE,CAAC;CACpC,CAAC;AACF,KAAK,UAAU,GAAG;IAChB,OAAO,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,SAAS,EAAE,CAAA;KAAE,CAAC,CAAC;CACrD,CAAC;AACF,KAAK,KAAK,GAAG;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAiBF,qBAAa,0BAA2B,SAAQ,KAAK;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM;gBAAtC,IAAI,EAAE,MAAM,EAAW,OAAO,EAAE,MAAM;CAG5D;AAKD,0EAA0E;AAC1E,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd,uBAAuB,GAAG,SAAS,CAoErC;AAED,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,SAAS,KAAK,EAAE,EACxB,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,EAC9B,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,EACnC,OAAO,EAAE,MAAM,GACd,IAAI,CA6BN;AAED,sEAAsE;AACtE,wBAAgB,6BAA6B,CAC3C,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,EAClC,OAAO,EAAE,MAAM;;;;;cAwDhB;AAED,wBAAgB,qCAAqC,CACnD,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;CAAE,EAC5C,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,EAClC,OAAO,EAAE,MAAM,EACf,cAAc,GAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAa,GAC1E,IAAI,CAuCN;AAED,mFAAmF;AACnF,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,uBAAuB,EAC/B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACpC,MAAM,GAAG,SAAS,CAYpB"}
1
+ {"version":3,"file":"user-candidates.d.ts","sourceRoot":"","sources":["../../src/native-compiler/user-candidates.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ export const USER_CANDIDATE_SCOPE_FIELD_TYPES = [
3
3
  'text.short',
4
4
  'uuid',
5
5
  'option.single',
6
+ 'resource-ref.single',
6
7
  ];
7
8
  const code = /^[a-z][a-z0-9]*(?:[-_.][a-z0-9]+)*$/;
8
9
  const fieldCode = /^[A-Za-z][A-Za-z0-9_]{0,62}$/;
@@ -49,13 +50,16 @@ export function parseDataFieldUserCandidates(value, type, pointer) {
49
50
  if (value.scope !== undefined) {
50
51
  const raw = value.scope;
51
52
  if (!record(raw) ||
52
- !exact(raw, ['dimensionCode', 'operation', 'field', 'value']) ||
53
+ !exact(raw, ['dimensionCode', 'operation', 'field', 'value', 'creation']) ||
53
54
  !text(raw.dimensionCode, 128) ||
54
55
  !code.test(String(raw.dimensionCode)) ||
55
56
  !text(raw.operation, 64) ||
56
57
  !code.test(String(raw.operation)) ||
57
58
  Object.hasOwn(raw, 'field') === Object.hasOwn(raw, 'value'))
58
59
  fail('DATA_USER_CANDIDATES_SCOPE_INVALID', `${pointer}/scope`);
60
+ if (raw.creation !== undefined &&
61
+ (raw.creation !== 'prospective' || !Object.hasOwn(raw, 'field')))
62
+ fail('DATA_USER_CANDIDATES_SCOPE_INVALID', `${pointer}/scope/creation`);
59
63
  if (Object.hasOwn(raw, 'field')) {
60
64
  if (!text(raw.field, 63) ||
61
65
  !fieldCode.test(String(raw.field)) ||
@@ -65,6 +69,7 @@ export function parseDataFieldUserCandidates(value, type, pointer) {
65
69
  dimensionCode: String(raw.dimensionCode),
66
70
  operation: String(raw.operation),
67
71
  field: String(raw.field),
72
+ ...(raw.creation === 'prospective' ? { creation: 'prospective' } : {}),
68
73
  };
69
74
  }
70
75
  else {
@@ -86,6 +91,14 @@ export function parseDataFieldUserCandidates(value, type, pointer) {
86
91
  : { pageSize: Number(value.pageSize) }),
87
92
  };
88
93
  }
94
+ /** Additive runtime negotiation for pre-save scopes and resource identities. */
95
+ export function requiresUserCandidateLaunchScope(resources) {
96
+ return resources.some(resource => resource.schema.fields.some(field => {
97
+ const scope = field.userCandidates?.scope;
98
+ return scope?.creation === 'prospective' || Boolean(scope?.field &&
99
+ resource.schema.fields.find(dependency => dependency.code === scope.field)?.type === 'resource-ref.single');
100
+ }));
101
+ }
89
102
  export function validateUserCandidateReferences(fields, roleCodes, dimensionCodes, pointer) {
90
103
  for (const [index, field] of fields.entries()) {
91
104
  const path = `${pointer}/${index}/userCandidates`;
@@ -1 +1 @@
1
- {"version":3,"file":"user-candidates.js","sourceRoot":"","sources":["../../src/native-compiler/user-candidates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user-candidates.js","sourceRoot":"","sources":["../../src/native-compiler/user-candidates.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ /** Fixed, code-owned approval effect. Authorization remains owned by the platform. */
2
+ export interface WorkflowApprovedDelegationPolicy {
3
+ confirmationNodeId: string;
4
+ confirmer: 'initiator' | 'delegate';
5
+ requestsField: string;
6
+ maxRequests: number;
7
+ }
8
+ export interface WorkflowApprovedDelegationRequest {
9
+ key?: string;
10
+ delegatorRoleSubjectKey: string;
11
+ delegatorRoleSubjectRevision: number;
12
+ delegate: {
13
+ value: string;
14
+ label: string;
15
+ };
16
+ delegateRoleSubjectKey: string;
17
+ expectedDelegateRevision: number;
18
+ workflowCode: string | null;
19
+ nodeId: string | null;
20
+ validFrom: string;
21
+ validTo: string;
22
+ reason: string;
23
+ }
24
+ type Definition = {
25
+ approvedDelegation?: WorkflowApprovedDelegationPolicy;
26
+ startAt: string;
27
+ inputSchema: Record<string, any>;
28
+ nodes: Record<string, any>;
29
+ subject?: {
30
+ factProjection: Record<string, string>;
31
+ };
32
+ };
33
+ export declare const WORKFLOW_APPROVED_DELEGATION_MAX_REQUESTS = 500;
34
+ export declare const WORKFLOW_APPROVED_DELEGATION_MAX_BYTES: number;
35
+ export declare function validateWorkflowApprovedDelegation(definition: Definition): string[];
36
+ /** Read only canonical instance facts. Reject coercion, unknown fields and scope expansion. */
37
+ export declare function workflowApprovedDelegationRequests(policy: WorkflowApprovedDelegationPolicy, facts: Record<string, any>): WorkflowApprovedDelegationRequest[];
38
+ export {};
39
+ //# sourceMappingURL=workflow-approved-delegation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-approved-delegation.d.ts","sourceRoot":"","sources":["../../src/native-compiler/workflow-approved-delegation.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,MAAM,WAAW,gCAAgC;IAC/C,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,WAAW,GAAG,UAAU,CAAC;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iCAAiC;IAChD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,uBAAuB,EAAE,MAAM,CAAC;IAChC,4BAA4B,EAAE,MAAM,CAAC;IACrC,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,sBAAsB,EAAE,MAAM,CAAC;IAC/B,wBAAwB,EAAE,MAAM,CAAC;IACjC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,KAAK,UAAU,GAAG;IAChB,kBAAkB,CAAC,EAAE,gCAAgC,CAAC;IACtD,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,OAAO,CAAC,EAAE;QAAE,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;CACtD,CAAC;AAKF,eAAO,MAAM,yCAAyC,MAAM,CAAC;AAC7D,eAAO,MAAM,sCAAsC,QAAa,CAAC;AAEjE,wBAAgB,kCAAkC,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,EAAE,CA4BnF;AAED,+FAA+F;AAC/F,wBAAgB,kCAAkC,CAAC,MAAM,EAAE,gCAAgC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,iCAAiC,EAAE,CAoC5J"}
@@ -0,0 +1,94 @@
1
+ const object = (value) => !!value && typeof value === 'object' && !Array.isArray(value);
2
+ const field = /^[A-Za-z][A-Za-z0-9_]{0,62}$/;
3
+ const code = /^[A-Za-z][A-Za-z0-9_-]{0,127}$/;
4
+ const membership = /^membership:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
5
+ export const WORKFLOW_APPROVED_DELEGATION_MAX_REQUESTS = 500;
6
+ export const WORKFLOW_APPROVED_DELEGATION_MAX_BYTES = 256 * 1024;
7
+ export function validateWorkflowApprovedDelegation(definition) {
8
+ if (definition?.approvedDelegation === undefined)
9
+ return [];
10
+ const policy = definition.approvedDelegation;
11
+ if (!object(policy) || Object.keys(policy).some(key => !['confirmationNodeId', 'confirmer', 'requestsField', 'maxRequests'].includes(key)) ||
12
+ !code.test(policy.confirmationNodeId || '') || !['initiator', 'delegate'].includes(policy.confirmer) ||
13
+ !field.test(policy.requestsField || '') || !Number.isSafeInteger(policy.maxRequests) || policy.maxRequests < 1 || policy.maxRequests > WORKFLOW_APPROVED_DELEGATION_MAX_REQUESTS)
14
+ return ['WORKFLOW_APPROVED_DELEGATION_POLICY_INVALID'];
15
+ const errors = [];
16
+ const node = definition.nodes?.[policy.confirmationNodeId];
17
+ if (!node || node.kind !== 'approval' || node.mode !== 'single' || node.emptyPolicy === 'skip' || node.initiatorApprovalPolicy === 'auto_approve' || node.completionDeadline ||
18
+ node.administration?.assigneeProviders?.length || node.administration?.modes?.some((mode) => mode !== 'single') ||
19
+ node.allowedOperations?.some((op) => ['transfer', 'delegate', 'add_assignee', 'admin_override'].includes(op)))
20
+ errors.push('WORKFLOW_APPROVED_DELEGATION_CONFIRMATION_INVALID');
21
+ const rows = definition.inputSchema?.properties?.[policy.requestsField];
22
+ if (!rows || rows.type !== 'array' || !Number.isSafeInteger(rows.maxItems) || rows.maxItems < 1 || rows.maxItems > policy.maxRequests ||
23
+ !rows.items || rows.items.type !== 'object' || rows.items.additionalProperties !== false || !definition.subject?.factProjection?.[policy.requestsField])
24
+ errors.push('WORKFLOW_APPROVED_DELEGATION_REQUEST_SCHEMA_INVALID');
25
+ const approved = Object.values(definition.nodes || {}).some(node => node.kind === 'end' && node.outcome === 'approved');
26
+ if (!approved)
27
+ errors.push('WORKFLOW_APPROVED_DELEGATION_APPROVED_END_REQUIRED');
28
+ // A graph path is declaration validation, never evidence of a human decision.
29
+ const pending = [definition.startAt];
30
+ const visited = new Set();
31
+ while (pending.length) {
32
+ const id = pending.pop();
33
+ if (id === policy.confirmationNodeId || visited.has(id))
34
+ continue;
35
+ visited.add(id);
36
+ const current = definition.nodes?.[id];
37
+ if (!current)
38
+ continue;
39
+ if (current.kind === 'end' && current.outcome === 'approved')
40
+ errors.push('WORKFLOW_APPROVED_DELEGATION_CONFIRMATION_BYPASS');
41
+ if (current.kind === 'approval')
42
+ pending.push(current.onApprove, current.onReject);
43
+ if (current.kind === 'condition')
44
+ pending.push(current.otherwise, ...(current.branches || []).map((branch) => branch.target));
45
+ if (current.kind === 'cc' || current.kind === 'action')
46
+ pending.push(current.next);
47
+ }
48
+ return [...new Set(errors)];
49
+ }
50
+ /** Read only canonical instance facts. Reject coercion, unknown fields and scope expansion. */
51
+ export function workflowApprovedDelegationRequests(policy, facts) {
52
+ const rows = facts?.data?.[policy.requestsField];
53
+ const fail = () => { throw new Error('WORKFLOW_APPROVED_DELEGATION_REQUEST_INVALID'); };
54
+ if (!Array.isArray(rows) || !rows.length || rows.length > policy.maxRequests || rows.length > WORKFLOW_APPROVED_DELEGATION_MAX_REQUESTS ||
55
+ new TextEncoder().encode(JSON.stringify(rows)).byteLength > WORKFLOW_APPROVED_DELEGATION_MAX_BYTES)
56
+ fail();
57
+ const allowed = ['key', 'delegatorRoleSubjectKey', 'delegatorRoleSubjectRevision', 'delegate', 'delegateRoleSubjectKey', 'expectedDelegateRevision', 'workflowCode', 'nodeId', 'validFrom', 'validTo', 'reason'];
58
+ const text = (value, max) => typeof value === 'string' && value.trim().length > 0 && value.length <= max;
59
+ const date = (value) => {
60
+ if (typeof value !== 'string')
61
+ return false;
62
+ const parts = /^(\d{4})-(\d\d)-(\d\d)T(\d\d):(\d\d):(\d\d)(?:\.\d{1,3})?(?:Z|[+-](\d\d):(\d\d))$/.exec(value);
63
+ if (!parts)
64
+ return false;
65
+ const [, yearText, monthText, dayText, hourText, minuteText, secondText, offsetHour, offsetMinute] = parts;
66
+ const year = Number(yearText), month = Number(monthText), day = Number(dayText);
67
+ const leap = year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);
68
+ const monthDays = [31, leap ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
69
+ return month >= 1 && month <= 12 && day >= 1 && day <= monthDays[month - 1] &&
70
+ Number(hourText) <= 23 && Number(minuteText) <= 59 && Number(secondText) <= 59 &&
71
+ (offsetHour === undefined || Number(offsetHour) <= 23 && Number(offsetMinute) <= 59) && Number.isFinite(Date.parse(value));
72
+ };
73
+ const normalized = rows.map(row => {
74
+ if (!object(row))
75
+ return fail();
76
+ if (Object.keys(row).some(key => !allowed.includes(key)) ||
77
+ !text(row.delegatorRoleSubjectKey, 255) || !membership.test(row.delegatorRoleSubjectKey) ||
78
+ !text(row.delegateRoleSubjectKey, 255) || !membership.test(row.delegateRoleSubjectKey) ||
79
+ !Number.isSafeInteger(row.delegatorRoleSubjectRevision) || row.delegatorRoleSubjectRevision < 1 ||
80
+ !Number.isSafeInteger(row.expectedDelegateRevision) || row.expectedDelegateRevision < 1 ||
81
+ !object(row.delegate) || Object.keys(row.delegate).some(key => !['value', 'label'].includes(key)) || !text(row.delegate.value, 255) || !text(row.delegate.label, 200) ||
82
+ !(row.workflowCode === null || text(row.workflowCode, 128) && code.test(row.workflowCode)) ||
83
+ !(row.nodeId === null || text(row.nodeId, 128) && /^[A-Za-z0-9._:-]{1,128}$/.test(row.nodeId) && row.workflowCode) ||
84
+ !date(row.validFrom) || !date(row.validTo) || Date.parse(row.validFrom) >= Date.parse(row.validTo) || !text(row.reason, 4000) ||
85
+ row.key !== undefined && !text(row.key, 128))
86
+ fail();
87
+ return { ...row, delegate: { value: row.delegate.value, label: row.delegate.label },
88
+ validFrom: new Date(row.validFrom).toISOString(), validTo: new Date(row.validTo).toISOString() };
89
+ });
90
+ if (policy.confirmer === 'delegate' && new Set(normalized.map(row => row.delegate.value)).size !== 1)
91
+ fail();
92
+ return normalized;
93
+ }
94
+ //# sourceMappingURL=workflow-approved-delegation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-approved-delegation.js","sourceRoot":"","sources":["../../src/native-compiler/workflow-approved-delegation.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /** Opt-in, fixed-definition dispatch; Workflow continues to own the decision. */
2
- export type WorkflowBusinessCommand = 'approve' | 'reject' | 'withdraw';
2
+ export type WorkflowBusinessCommand = 'approve' | 'reject' | 'withdraw' | 'resubmit';
3
3
  export type WorkflowCommandHandlers = Partial<Record<WorkflowBusinessCommand, {
4
4
  operationCode: string;
5
5
  }>>;
@@ -60,7 +60,7 @@ export declare const workflowBusinessCommandInvocationSchema: {
60
60
  readonly format: "uuid";
61
61
  };
62
62
  readonly command: {
63
- readonly enum: readonly ["approve", "reject"];
63
+ readonly enum: readonly ["approve", "reject", "resubmit"];
64
64
  };
65
65
  };
66
66
  }, {
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-business-command.d.ts","sourceRoot":"","sources":["../../src/native-compiler/workflow-business-command.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,MAAM,MAAM,uBAAuB,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;AACxE,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC,uBAAuB,EAAE;IAAE,aAAa,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAAC;AAE1G,KAAK,UAAU,GAAG;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IACnC,eAAe,CAAC,EAAE,uBAAuB,CAAC;IAC1C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,uBAAuB,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjG,CAAC;AACF,KAAK,SAAS,GAAG;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE;YAAE,YAAY,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACnJ,cAAc,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE;YAAE,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;YAAC,gBAAgB,CAAC,EAAE,SAAS,uBAAuB,EAAE,CAAA;SAAE,CAAA;KAAE,CAAC;CACrH,CAAC;AAEF,wBAAgB,+BAA+B,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,SAAS,SAAS,EAAE,GAAG,MAAM,EAAE,CA0BnH;AAED,wFAAwF;AACxF,eAAO,MAAM,uCAAuC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqB1C,CAAC"}
1
+ {"version":3,"file":"workflow-business-command.d.ts","sourceRoot":"","sources":["../../src/native-compiler/workflow-business-command.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,MAAM,MAAM,uBAAuB,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,CAAC;AACrF,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC,uBAAuB,EAAE;IAAE,aAAa,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAAC;AAE1G,KAAK,UAAU,GAAG;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IACnC,eAAe,CAAC,EAAE,uBAAuB,CAAC;IAC1C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,uBAAuB,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjG,CAAC;AACF,KAAK,SAAS,GAAG;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE;YAAE,YAAY,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACnJ,cAAc,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE;YAAE,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;YAAC,gBAAgB,CAAC,EAAE,SAAS,uBAAuB,EAAE,CAAA;SAAE,CAAA;KAAE,CAAC;CACrH,CAAC;AAEF,wBAAgB,+BAA+B,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,SAAS,SAAS,EAAE,GAAG,MAAM,EAAE,CA8BnH;AAED,wFAAwF;AACxF,eAAO,MAAM,uCAAuC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqB1C,CAAC"}
@@ -3,9 +3,12 @@ export function validateWorkflowCommandHandlers(definition, operations) {
3
3
  if (handlers === undefined)
4
4
  return [];
5
5
  if (!handlers || typeof handlers !== 'object' || Array.isArray(handlers) || !Object.keys(handlers).length ||
6
- Object.keys(handlers).some(key => !['approve', 'reject', 'withdraw'].includes(key)))
6
+ Object.keys(handlers).some(key => !['approve', 'reject', 'withdraw', 'resubmit'].includes(key)))
7
7
  return ['WORKFLOW_BUSINESS_COMMAND_HANDLERS_INVALID'];
8
8
  const errors = [];
9
+ if (handlers.resubmit && !Object.values(definition.nodes || {}).some(node => node.kind === 'correction')) {
10
+ errors.push('WORKFLOW_BUSINESS_CORRECTION_REQUIRED');
11
+ }
9
12
  for (const [command, handler] of Object.entries(handlers)) {
10
13
  if (!handler || typeof handler !== 'object' || Array.isArray(handler) || Object.keys(handler).join(',') !== 'operationCode' ||
11
14
  !/^[a-z][a-z0-9]*(?:[-_.][a-z0-9]+)*$/.test(handler.operationCode || '')) {
@@ -27,8 +30,9 @@ export function validateWorkflowCommandHandlers(definition, operations) {
27
30
  errors.push('WORKFLOW_BUSINESS_COMMAND_OPERATION_INVALID');
28
31
  }
29
32
  }
30
- if (Object.values(definition.nodes || {}).some(node => node.kind === 'approval' &&
31
- (node.emptyPolicy === 'skip' || node.initiatorApprovalPolicy === 'auto_approve')))
33
+ if (['approve', 'reject', 'withdraw'].some(command => Object.hasOwn(handlers, command)) &&
34
+ Object.values(definition.nodes || {}).some(node => node.kind === 'approval' &&
35
+ (node.emptyPolicy === 'skip' || node.initiatorApprovalPolicy === 'auto_approve')))
32
36
  errors.push('WORKFLOW_BUSINESS_COMMAND_AUTOMATIC_DECISION_FORBIDDEN');
33
37
  return [...new Set(errors)];
34
38
  }
@@ -41,7 +45,7 @@ export const workflowBusinessCommandInvocationSchema = {
41
45
  target: {
42
46
  oneOf: [
43
47
  { type: 'object', additionalProperties: false, required: ['kind', 'id', 'command'], properties: {
44
- kind: { const: 'task' }, id: { type: 'string', format: 'uuid' }, command: { enum: ['approve', 'reject'] },
48
+ kind: { const: 'task' }, id: { type: 'string', format: 'uuid' }, command: { enum: ['approve', 'reject', 'resubmit'] },
45
49
  } },
46
50
  { type: 'object', additionalProperties: false, required: ['kind', 'id', 'command'], properties: {
47
51
  kind: { const: 'instance' }, id: { type: 'string', format: 'uuid' }, command: { const: 'withdraw' },
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-business-command.js","sourceRoot":"","sources":["../../src/native-compiler/workflow-business-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-business-command.js","sourceRoot":"","sources":["../../src/native-compiler/workflow-business-command.ts"],"names":[],"mappings":"AAiBA,MAAM,UAAU,+BAA+B,CAAC,UAAsB,EAAE,UAAiC;IACvG,MAAM,QAAQ,GAAG,UAAU,CAAC,eAAe,CAAC;IAC5C,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACtC,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM;QACrG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAAE,OAAO,CAAC,4CAA4C,CAAC,CAAC;IAC3J,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,QAAQ,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,EAAE,CAAC;QACzG,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;IACvD,CAAC;IACD,KAAK,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1D,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,eAAe;YACvH,CAAC,qCAAqC,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC,EAAE,CAAC;YAC7E,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;YACzD,SAAS;QACX,CAAC;QACD,IAAI,CAAC,UAAU;YAAE,SAAS;QAC1B,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;QAC/E,IAAI,CAAC,SAAS,EAAE,CAAC;YAAC,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;YAAC,SAAS;QAAC,CAAC;QACzF,IAAI,SAAS,CAAC,MAAM,KAAK,MAAM,IAAI,SAAS,CAAC,OAAO,EAAE,QAAQ,KAAK,eAAe;YAC9E,SAAS,CAAC,OAAO,CAAC,QAAQ,KAAK,YAAY,IAAI,SAAS,CAAC,OAAO,CAAC,WAAW,KAAK,UAAU,IAAI,SAAS,CAAC,OAAO,CAAC,UAAU;YAC3H,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,KAAK,UAAU,CAAC,OAAO,EAAE,YAAY,IAAI,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,KAAK,UAAU;YACpI,CAAC,SAAS,CAAC,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC;YACrE,CAAC,SAAS,CAAC,cAAc,CAAC,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,CAAC,OAAkC,CAAC,EAAE,CAAC;YACtG,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IACD,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnF,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU;YAC3E,CAAC,IAAI,CAAC,WAAW,KAAK,MAAM,IAAI,IAAI,CAAC,uBAAuB,KAAK,cAAc,CAAC,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;IAC7J,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAC9B,CAAC;AAED,wFAAwF;AACxF,MAAM,CAAC,MAAM,uCAAuC,GAAG;IACrD,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,KAAK;IAC3C,QAAQ,EAAE,CAAC,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,kBAAkB,EAAE,cAAc,EAAE,gBAAgB,EAAE,OAAO,CAAC;IAC/G,UAAU,EAAE;QACV,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,gCAAgC,EAAE;QAC3E,MAAM,EAAE;YACN,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,UAAU,EAAE;wBAC9F,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE;qBACtH,EAAE;gBACH,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,UAAU,EAAE;wBAC9F,IAAI,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;qBACpG,EAAE;aACJ;SACF;QACD,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE;QAC5C,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE;QACjD,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,qBAAqB,EAAE;QAChE,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE;QAChE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,EAAE;KAC7C;CACO,CAAC"}
@@ -13,6 +13,8 @@ export type WorkflowBusinessStepInput = {
13
13
  export interface WorkflowBusinessStepHandlerContract {
14
14
  version: number;
15
15
  mode: 'pure' | 'reconciled-effect';
16
+ /** One recoverable Native transaction, bound to this fixed execution. */
17
+ dataTransaction?: true;
16
18
  inputSchema: Record<string, unknown>;
17
19
  outputSchema: Record<string, unknown>;
18
20
  }
@@ -25,6 +27,7 @@ export interface WorkflowBusinessStepNode {
25
27
  code: string;
26
28
  version: number;
27
29
  mode: WorkflowBusinessStepHandlerContract['mode'];
30
+ dataTransaction?: true;
28
31
  };
29
32
  inputSchema: Record<string, unknown>;
30
33
  outputSchema: Record<string, unknown>;
@@ -45,6 +48,7 @@ export interface WorkflowBusinessStepRequest {
45
48
  handlerCode: string;
46
49
  handlerVersion: number;
47
50
  mode: WorkflowBusinessStepHandlerContract['mode'];
51
+ dataTransaction?: true;
48
52
  input: Record<string, unknown>;
49
53
  inputDigest: string;
50
54
  expectedFactRevision: number;
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-business-step.d.ts","sourceRoot":"","sources":["../../src/native-compiler/workflow-business-step.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-business-step.d.ts","sourceRoot":"","sources":["../../src/native-compiler/workflow-business-step.ts"],"names":[],"mappings":"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"}
@@ -53,10 +53,11 @@ export function validateWorkflowBusinessStepResult(value) {
53
53
  (value.receipt === undefined || record(value.receipt) && boundedJson(value.receipt, WORKFLOW_BUSINESS_STEP_MAX_RECEIPT_BYTES));
54
54
  }
55
55
  export function validateWorkflowBusinessStepRequest(value) {
56
- return record(value) && Object.keys(value).every(key => ['executionId', 'nodeId', 'handlerCode', 'handlerVersion', 'mode', 'input', 'inputDigest', 'expectedFactRevision'].includes(key)) &&
56
+ return record(value) && Object.keys(value).every(key => ['executionId', 'nodeId', 'handlerCode', 'handlerVersion', 'mode', 'dataTransaction', 'input', 'inputDigest', 'expectedFactRevision'].includes(key)) &&
57
57
  typeof value.nodeId === 'string' && keyPattern.test(value.nodeId) && !forbidden.has(value.nodeId) &&
58
58
  typeof value.handlerCode === 'string' && /^[a-z][a-z0-9-]{0,100}$/.test(value.handlerCode) && value.handlerCode.endsWith(`-v${value.handlerVersion}`) &&
59
59
  ['pure', 'reconciled-effect'].includes(value.mode) &&
60
+ (value.dataTransaction === undefined || value.dataTransaction === true && value.mode === 'reconciled-effect') &&
60
61
  validateWorkflowBusinessStepResult({ executionId: value.executionId, handlerVersion: value.handlerVersion, inputDigest: value.inputDigest, expectedFactRevision: value.expectedFactRevision, output: value.input });
61
62
  }
62
63
  /** Same bounded value checks in the kernel and SDK, with no coercion/defaults. */
@@ -183,9 +184,11 @@ function schemaAtPath(schema, path) {
183
184
  }
184
185
  const schemaHasPath = (schema, path) => Boolean(schemaAtPath(schema, path));
185
186
  export function validateWorkflowBusinessStepHandlerContract(value) {
186
- return record(value) && Object.keys(value).every(key => ['version', 'mode', 'inputSchema', 'outputSchema'].includes(key)) &&
187
+ return record(value) && Object.keys(value).every(key => ['version', 'mode', 'dataTransaction', 'inputSchema', 'outputSchema'].includes(key)) &&
187
188
  Number.isSafeInteger(value.version) && value.version >= 1 && value.version <= 1_000_000 &&
188
- ['pure', 'reconciled-effect'].includes(value.mode) && validateWorkflowBusinessStepSchema(value.inputSchema) && validateWorkflowBusinessStepSchema(value.outputSchema);
189
+ ['pure', 'reconciled-effect'].includes(value.mode) &&
190
+ (value.dataTransaction === undefined || value.dataTransaction === true && value.mode === 'reconciled-effect') &&
191
+ validateWorkflowBusinessStepSchema(value.inputSchema) && validateWorkflowBusinessStepSchema(value.outputSchema);
189
192
  }
190
193
  function targets(node) {
191
194
  if (node.kind === 'approval')
@@ -219,10 +222,11 @@ export function validateWorkflowBusinessSteps(definition, binding) {
219
222
  node.id !== id || !keyPattern.test(id) || forbidden.has(id) || typeof node.title !== 'string' || !node.title.trim() || node.title.length > 255 || typeof node.next !== 'string' || !Object.hasOwn(nodes, node.next))
220
223
  errors.push(`WORKFLOW_STEP_NODE_INVALID:${id}`);
221
224
  const handler = node.handler;
222
- if (!record(handler) || Object.keys(handler).some(key => !['code', 'version', 'mode'].includes(key)) ||
225
+ if (!record(handler) || Object.keys(handler).some(key => !['code', 'version', 'mode', 'dataTransaction'].includes(key)) ||
223
226
  !Number.isSafeInteger(handler.version) || handler.version < 1 || handler.version > 1_000_000 ||
224
227
  !/^[a-z][a-z0-9-]{0,100}$/.test(handler.code || '') || !String(handler.code).endsWith(`-v${handler.version}`) ||
225
- !['pure', 'reconciled-effect'].includes(handler.mode))
228
+ !['pure', 'reconciled-effect'].includes(handler.mode) ||
229
+ handler.dataTransaction !== undefined && (handler.dataTransaction !== true || handler.mode !== 'reconciled-effect'))
226
230
  errors.push(`WORKFLOW_STEP_HANDLER_INVALID:${id}`);
227
231
  const inputSchemaValid = validateWorkflowBusinessStepSchema(node.inputSchema);
228
232
  if (!inputSchemaValid || !validateWorkflowBusinessStepSchema(node.outputSchema))
@@ -345,7 +349,8 @@ export function compileWorkflowBusinessStepHandlers(definitions) {
345
349
  for (const node of Object.values(definition.nodes || {})) {
346
350
  if (node.kind !== 'action')
347
351
  continue;
348
- const contract = { version: node.handler.version, mode: node.handler.mode, inputSchema: node.inputSchema, outputSchema: node.outputSchema };
352
+ const contract = { version: node.handler.version, mode: node.handler.mode,
353
+ ...(node.handler.dataTransaction ? { dataTransaction: true } : {}), inputSchema: node.inputSchema, outputSchema: node.outputSchema };
349
354
  const previous = result[node.handler.code];
350
355
  if (previous && !jsonEqual(previous, contract))
351
356
  throw new Error(`WORKFLOW_STEP_HANDLER_CONTRACT_CONFLICT:${node.handler.code}`);