openxiangda 2.35.3 → 2.44.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 (135) hide show
  1. package/dist/browser/FilePreviewPage.d.ts.map +1 -1
  2. package/dist/browser/FilePreviewPage.js +4 -2
  3. package/dist/browser/FilePreviewPage.js.map +1 -1
  4. package/dist/browser/ManagedCommand.d.ts +1 -0
  5. package/dist/browser/ManagedCommand.d.ts.map +1 -1
  6. package/dist/browser/ManagedCommand.js +1 -1
  7. package/dist/browser/ManagedCommand.js.map +1 -1
  8. package/dist/browser/Shell.d.ts.map +1 -1
  9. package/dist/browser/Shell.js +1 -1
  10. package/dist/browser/Shell.js.map +1 -1
  11. package/dist/browser/components/administration/RoleMembershipManager.d.ts +7 -0
  12. package/dist/browser/components/administration/RoleMembershipManager.d.ts.map +1 -0
  13. package/dist/browser/components/administration/RoleMembershipManager.js +724 -0
  14. package/dist/browser/components/administration/RoleMembershipManager.js.map +1 -0
  15. package/dist/browser/components/administration/membership-batch-model.d.ts +17 -0
  16. package/dist/browser/components/administration/membership-batch-model.d.ts.map +1 -0
  17. package/dist/browser/components/administration/membership-batch-model.js +117 -0
  18. package/dist/browser/components/administration/membership-batch-model.js.map +1 -0
  19. package/dist/browser/components/platform-fields/AttachmentFileList.d.ts.map +1 -1
  20. package/dist/browser/components/platform-fields/AttachmentFileList.js +2 -1
  21. package/dist/browser/components/platform-fields/AttachmentFileList.js.map +1 -1
  22. package/dist/browser/components/platform-fields/MobileManagedFileField.d.ts +3 -1
  23. package/dist/browser/components/platform-fields/MobileManagedFileField.d.ts.map +1 -1
  24. package/dist/browser/components/platform-fields/MobileManagedFileField.js +9 -5
  25. package/dist/browser/components/platform-fields/MobileManagedFileField.js.map +1 -1
  26. package/dist/browser/components/resource/SurfaceFields.d.ts +3 -2
  27. package/dist/browser/components/resource/SurfaceFields.d.ts.map +1 -1
  28. package/dist/browser/components/resource/SurfaceFields.js +9 -9
  29. package/dist/browser/components/resource/SurfaceFields.js.map +1 -1
  30. package/dist/browser/components/resource/useResourceFormDrafts.d.ts.map +1 -1
  31. package/dist/browser/components/workflow/StandardWorkflowPages.d.ts +8 -1
  32. package/dist/browser/components/workflow/StandardWorkflowPages.d.ts.map +1 -1
  33. package/dist/browser/components/workflow/StandardWorkflowPages.js +277 -69
  34. package/dist/browser/components/workflow/StandardWorkflowPages.js.map +1 -1
  35. package/dist/browser/components/workflow/WorkflowAssignmentRoutingEditor.d.ts +8 -0
  36. package/dist/browser/components/workflow/WorkflowAssignmentRoutingEditor.d.ts.map +1 -0
  37. package/dist/browser/components/workflow/WorkflowAssignmentRoutingEditor.js +174 -0
  38. package/dist/browser/components/workflow/WorkflowAssignmentRoutingEditor.js.map +1 -0
  39. package/dist/browser/components/workflow/WorkflowAssignmentRoutingManager.d.ts +3 -0
  40. package/dist/browser/components/workflow/WorkflowAssignmentRoutingManager.d.ts.map +1 -0
  41. package/dist/browser/components/workflow/WorkflowAssignmentRoutingManager.js +75 -0
  42. package/dist/browser/components/workflow/WorkflowAssignmentRoutingManager.js.map +1 -0
  43. package/dist/browser/components/workflow/WorkflowBusinessStepRecoveryPanel.d.ts +14 -0
  44. package/dist/browser/components/workflow/WorkflowBusinessStepRecoveryPanel.d.ts.map +1 -0
  45. package/dist/browser/components/workflow/WorkflowBusinessStepRecoveryPanel.js +117 -0
  46. package/dist/browser/components/workflow/WorkflowBusinessStepRecoveryPanel.js.map +1 -0
  47. package/dist/browser/components/workflow/WorkflowDelegationManager.d.ts +14 -0
  48. package/dist/browser/components/workflow/WorkflowDelegationManager.d.ts.map +1 -0
  49. package/dist/browser/components/workflow/WorkflowDelegationManager.js +204 -0
  50. package/dist/browser/components/workflow/WorkflowDelegationManager.js.map +1 -0
  51. package/dist/browser/components/workflow/WorkflowNodeCard.d.ts.map +1 -1
  52. package/dist/browser/components/workflow/WorkflowNodeCard.js +5 -2
  53. package/dist/browser/components/workflow/WorkflowNodeCard.js.map +1 -1
  54. package/dist/browser/components/workflow/WorkflowNodeConfigurationEditor.d.ts.map +1 -1
  55. package/dist/browser/components/workflow/WorkflowNodeConfigurationEditor.js +6 -5
  56. package/dist/browser/components/workflow/WorkflowNodeConfigurationEditor.js.map +1 -1
  57. package/dist/browser/components/workflow/WorkflowTaskCommandReceipt.d.ts +10 -0
  58. package/dist/browser/components/workflow/WorkflowTaskCommandReceipt.d.ts.map +1 -0
  59. package/dist/browser/components/workflow/WorkflowTaskCommandReceipt.js +59 -0
  60. package/dist/browser/components/workflow/WorkflowTaskCommandReceipt.js.map +1 -0
  61. package/dist/browser/components/workflow/WorkflowTaskDraftPanel.d.ts +17 -0
  62. package/dist/browser/components/workflow/WorkflowTaskDraftPanel.d.ts.map +1 -0
  63. package/dist/browser/components/workflow/WorkflowTaskDraftPanel.js +136 -0
  64. package/dist/browser/components/workflow/WorkflowTaskDraftPanel.js.map +1 -0
  65. package/dist/browser/components/workflow/WorkflowTaskFiles.d.ts +20 -0
  66. package/dist/browser/components/workflow/WorkflowTaskFiles.d.ts.map +1 -0
  67. package/dist/browser/components/workflow/WorkflowTaskFiles.js +124 -0
  68. package/dist/browser/components/workflow/WorkflowTaskFiles.js.map +1 -0
  69. package/dist/browser/components/workflow/WorkflowTaskForm.d.ts +49 -0
  70. package/dist/browser/components/workflow/WorkflowTaskForm.d.ts.map +1 -0
  71. package/dist/browser/components/workflow/WorkflowTaskForm.js +141 -0
  72. package/dist/browser/components/workflow/WorkflowTaskForm.js.map +1 -0
  73. package/dist/browser/components/workflow/workflow-routing-draft.d.ts +4 -0
  74. package/dist/browser/components/workflow/workflow-routing-draft.d.ts.map +1 -0
  75. package/dist/browser/components/workflow/workflow-routing-draft.js +9 -0
  76. package/dist/browser/components/workflow/workflow-routing-draft.js.map +1 -0
  77. package/dist/browser/durable-command.d.ts +9 -0
  78. package/dist/browser/durable-command.d.ts.map +1 -1
  79. package/dist/browser/durable-command.js +67 -13
  80. package/dist/browser/durable-command.js.map +1 -1
  81. package/dist/browser/navigation-guard.d.ts +3 -1
  82. package/dist/browser/navigation-guard.d.ts.map +1 -1
  83. package/dist/browser/navigation-guard.js +7 -3
  84. package/dist/browser/navigation-guard.js.map +1 -1
  85. package/dist/browser/platform-client.d.ts +67 -3
  86. package/dist/browser/platform-client.d.ts.map +1 -1
  87. package/dist/browser/platform-client.js +135 -5
  88. package/dist/browser/platform-client.js.map +1 -1
  89. package/dist/browser/record-detail.css +10 -0
  90. package/dist/browser/runtime.d.ts +2 -0
  91. package/dist/browser/runtime.d.ts.map +1 -1
  92. package/dist/browser/runtime.js +5 -1
  93. package/dist/browser/runtime.js.map +1 -1
  94. package/dist/browser/styles.css +81 -0
  95. package/dist/browser/workflow-task-command-recovery.d.ts +17 -0
  96. package/dist/browser/workflow-task-command-recovery.d.ts.map +1 -0
  97. package/dist/browser/workflow-task-command-recovery.js +50 -0
  98. package/dist/browser/workflow-task-command-recovery.js.map +1 -0
  99. package/dist/browser/workflow-task-file-upload.d.ts +18 -0
  100. package/dist/browser/workflow-task-file-upload.d.ts.map +1 -0
  101. package/dist/browser/workflow-task-file-upload.js +35 -0
  102. package/dist/browser/workflow-task-file-upload.js.map +1 -0
  103. package/dist/config.d.ts +1 -1
  104. package/dist/config.d.ts.map +1 -1
  105. package/dist/core.d.ts +5 -1
  106. package/dist/core.d.ts.map +1 -1
  107. package/dist/core.js +1 -0
  108. package/dist/core.js.map +1 -1
  109. package/dist/nest.d.ts +2 -2
  110. package/dist/nest.d.ts.map +1 -1
  111. package/dist/nest.js.map +1 -1
  112. package/dist/react.d.ts +8 -2
  113. package/dist/react.d.ts.map +1 -1
  114. package/dist/react.js +7 -1
  115. package/dist/react.js.map +1 -1
  116. package/documentation/administration.md +128 -1
  117. package/documentation/frontend.md +2 -0
  118. package/documentation/getting-started.md +7 -7
  119. package/documentation/managed-concurrency-frontend.md +9 -4
  120. package/documentation/manifest.json +6 -6
  121. package/documentation/workflow-events.md +213 -3
  122. package/package.json +24 -34
  123. package/releases/2.43.0.json +38 -0
  124. package/releases/2.44.0.json +36 -0
  125. package/skills/manifest.json +1 -1
  126. package/skills/openxiangda-v2/SKILL.md +4 -4
  127. package/skills/openxiangda-v2/references/administration.md +128 -1
  128. package/skills/openxiangda-v2/references/frontend.md +2 -0
  129. package/skills/openxiangda-v2/references/getting-started.md +7 -7
  130. package/skills/openxiangda-v2/references/managed-concurrency-frontend.md +9 -4
  131. package/skills/openxiangda-v2/references/workflow-events.md +213 -3
  132. package/releases/2.35.0.json +0 -42
  133. package/releases/2.35.1.json +0 -43
  134. package/releases/2.35.2.json +0 -45
  135. package/releases/2.35.3.json +0 -46
@@ -5,6 +5,8 @@ export interface DurableCommandSnapshot {
5
5
  state: 'idle' | 'recovering' | 'error' | CommandReceipt['state'];
6
6
  initialized: boolean;
7
7
  isObserving: boolean;
8
+ /** A scoped durable receipt has been confirmed; an unknown intake is not safe to promise as accepted. */
9
+ acceptanceConfirmed: boolean;
8
10
  input?: Readonly<Record<string, unknown>>;
9
11
  requestKey?: string;
10
12
  receipt?: CommandReceipt;
@@ -18,6 +20,8 @@ export interface DurableCommandOptions {
18
20
  storage: StorageLike;
19
21
  /** Total automatic intake recovery budget from the original explicit submit. */
20
22
  acceptanceRecoveryMs?: number;
23
+ /** Total read-only discovery budget per refresh; default 120s, explicitly at most 30min. Never renews the original intent. */
24
+ discoveryRecoveryMs?: number;
21
25
  sleep?: (ms: number, signal: AbortSignal) => Promise<void>;
22
26
  random?: () => number;
23
27
  }
@@ -30,6 +34,7 @@ export declare class DurableCommandController {
30
34
  private generation;
31
35
  private abort?;
32
36
  private submitting?;
37
+ private refreshing?;
33
38
  private readonly storageKey;
34
39
  constructor(options: DurableCommandOptions);
35
40
  snapshot: () => DurableCommandSnapshot;
@@ -39,10 +44,14 @@ export declare class DurableCommandController {
39
44
  private remainingObservationMs;
40
45
  private readRecovery;
41
46
  private persist;
47
+ private intentSnapshot;
42
48
  private restore;
49
+ private assertReceipt;
50
+ private remember;
43
51
  private accept;
44
52
  stop(): void;
45
53
  refresh(): Promise<void>;
54
+ private discover;
46
55
  /** Explicit user action: retry the frozen local intent, never today's edited form. */
47
56
  resume(): Promise<void>;
48
57
  /** A known terminal result permits a new explicitly requested business cycle. */
@@ -1 +1 @@
1
- {"version":3,"file":"durable-command.d.ts","sourceRoot":"","sources":["../../src/browser/durable-command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,wBAAwB,EAA8B,MAAM,mBAAmB,CAAC;AAE9F,KAAK,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,SAAS,GAAG,SAAS,GAAG,YAAY,CAAC,CAAC;AAQvE,MAAM,WAAW,sBAAsB;IACnC,KAAK,EAAE,MAAM,GAAG,YAAY,GAAG,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACjE,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AACD,MAAM,WAAW,qBAAqB;IAClC,MAAM,EAAE,wBAAwB,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,WAAW,CAAC;IACrB,gFAAgF;IAChF,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC;CACzB;AAaD,uFAAuF;AACvF,qBAAa,wBAAwB;IAQrB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAPpC,OAAO,CAAC,KAAK,CAAqF;IAClG,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,KAAK,CAAC,CAAkB;IAChC,OAAO,CAAC,UAAU,CAAC,CAAgB;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;gBACP,OAAO,EAAE,qBAAqB;IAK3D,QAAQ,+BAAoB;IAC5B,SAAS,GAAI,UAAU,MAAM,IAAI,gBAA0F;IAC3H,OAAO,CAAC,MAAM;IAEd,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,sBAAsB;IAM9B,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,OAAO;IAqBf,OAAO,CAAC,MAAM;IASd,IAAI;IACE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA0C9B,sFAAsF;IAChF,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ7B,iFAAiF;IACjF,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;YAMvC,OAAO;YAuDP,mBAAmB;IA+CjC,OAAO,CAAC,OAAO;YAYD,IAAI;CA2CrB"}
1
+ {"version":3,"file":"durable-command.d.ts","sourceRoot":"","sources":["../../src/browser/durable-command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,wBAAwB,EAA8B,MAAM,mBAAmB,CAAC;AAE9F,KAAK,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,SAAS,GAAG,SAAS,GAAG,YAAY,CAAC,CAAC;AAQvE,MAAM,WAAW,sBAAsB;IACnC,KAAK,EAAE,MAAM,GAAG,YAAY,GAAG,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACjE,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,yGAAyG;IACzG,mBAAmB,EAAE,OAAO,CAAC;IAC7B,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AACD,MAAM,WAAW,qBAAqB;IAClC,MAAM,EAAE,wBAAwB,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,WAAW,CAAC;IACrB,gFAAgF;IAChF,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,8HAA8H;IAC9H,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC;CACzB;AAaD,uFAAuF;AACvF,qBAAa,wBAAwB;IASrB,OAAO,CAAC,QAAQ,CAAC,OAAO;IARpC,OAAO,CAAC,KAAK,CAAiH;IAC9H,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,KAAK,CAAC,CAAkB;IAChC,OAAO,CAAC,UAAU,CAAC,CAAgB;IACnC,OAAO,CAAC,UAAU,CAAC,CAAgB;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;gBACP,OAAO,EAAE,qBAAqB;IAO3D,QAAQ,+BAAoB;IAC5B,SAAS,GAAI,UAAU,MAAM,IAAI,gBAA0F;IAC3H,OAAO,CAAC,MAAM;IAEd,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,sBAAsB;IAM9B,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,OAAO;IAuBf,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,MAAM;IAId,IAAI;IACJ,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YASV,QAAQ;IA6DtB,sFAAsF;IAChF,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ7B,iFAAiF;IACjF,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;YAMvC,OAAO;YAyDP,mBAAmB;IA+CjC,OAAO,CAAC,OAAO;YAYD,IAAI;CA4CrB"}
@@ -14,17 +14,20 @@ const sleep = (ms, signal) => new Promise((resolve, reject) => {
14
14
  /** Mount only reads mine/original receipt. Enqueue always requires explicit submit. */
15
15
  export class DurableCommandController {
16
16
  options;
17
- value = { state: 'idle', initialized: false, isObserving: false };
17
+ value = { state: 'idle', initialized: false, isObserving: false, acceptanceConfirmed: false };
18
18
  listeners = new Set();
19
19
  intent;
20
20
  generation = 0;
21
21
  abort;
22
22
  submitting;
23
+ refreshing;
23
24
  storageKey;
24
25
  constructor(options) {
25
26
  this.options = options;
26
27
  if (options.acceptanceRecoveryMs !== undefined && (!Number.isFinite(options.acceptanceRecoveryMs) || options.acceptanceRecoveryMs < 120000 || options.acceptanceRecoveryMs > 1800000))
27
28
  throw new Error('CONCURRENCY_RECOVERY_BUDGET_INVALID');
29
+ if (options.discoveryRecoveryMs !== undefined && (!Number.isFinite(options.discoveryRecoveryMs) || options.discoveryRecoveryMs < 1 || options.discoveryRecoveryMs > 1800000))
30
+ throw new Error('CONCURRENCY_DISCOVERY_BUDGET_INVALID');
28
31
  this.storageKey = `openxiangda:durable-command:${JSON.stringify([options.client.scope, options.command, options.resourceKey, options.storageKey || ''])}`;
29
32
  }
30
33
  snapshot = () => this.value;
@@ -57,6 +60,11 @@ export class DurableCommandController {
57
60
  return remaining === undefined || (allowLateQuery && remaining === 0) ? undefined : { budgetMs: Math.min(120000, remaining) };
58
61
  }
59
62
  persist() { this.options.storage.setItem(this.storageKey, JSON.stringify(this.intent)); }
63
+ intentSnapshot() {
64
+ return { requestKey: this.intent?.requestKey, receipt: this.intent?.receipt,
65
+ input: this.intent?.input ? Object.freeze({ ...this.intent.input }) : undefined,
66
+ acceptanceConfirmed: !!this.intent?.receipt };
67
+ }
60
68
  restore() {
61
69
  if (this.intent)
62
70
  return;
@@ -76,21 +84,39 @@ export class DurableCommandController {
76
84
  throw new Error('CONCURRENCY_RECOVERY_INVALID');
77
85
  if (saved.firstSubmittedAt !== undefined && (!Number.isFinite(saved.firstSubmittedAt) || saved.firstSubmittedAt < 0))
78
86
  throw new Error('CONCURRENCY_RECOVERY_INVALID');
87
+ if (saved.receipt)
88
+ this.assertReceipt(saved.receipt, saved.requestKey);
79
89
  this.intent = saved;
80
90
  }
81
- accept(receipt) {
82
- if (receipt.command !== this.options.command || receipt.resourceKey !== this.options.resourceKey)
91
+ assertReceipt(receipt, requestKey, operationId) {
92
+ if (receipt.command !== this.options.command || receipt.resourceKey !== this.options.resourceKey ||
93
+ (requestKey !== undefined && receipt.requestKey !== requestKey) ||
94
+ (operationId !== undefined && receipt.operationId !== operationId))
83
95
  throw new Error('CONCURRENCY_RECEIPT_SCOPE_INVALID');
96
+ }
97
+ remember(receipt) {
98
+ this.assertReceipt(receipt);
84
99
  if (!this.intent || this.intent.requestKey !== receipt.requestKey)
85
100
  this.intent = { version: 1, requestKey: receipt.requestKey, input: null };
86
101
  this.intent.receipt = receipt;
87
102
  this.persist();
88
- this.update({ state: receipt.state, receipt, requestKey: receipt.requestKey, errorCode: receipt.errorCode, input: this.intent.input ? Object.freeze({ ...this.intent.input }) : undefined, initialized: true });
89
103
  }
90
- stop() { this.generation++; this.abort?.abort(); this.abort = undefined; this.update({ isObserving: false }); }
91
- async refresh() {
104
+ accept(receipt) {
105
+ this.remember(receipt);
106
+ this.update({ ...this.intentSnapshot(), state: receipt.state, errorCode: receipt.errorCode, initialized: true });
107
+ }
108
+ stop() { this.generation++; this.abort?.abort(); this.abort = undefined; this.refreshing = undefined; this.update({ isObserving: false }); }
109
+ refresh() {
92
110
  if (this.submitting)
93
111
  return this.submitting;
112
+ if (this.refreshing)
113
+ return this.refreshing;
114
+ const task = this.discover().finally(() => { if (this.refreshing === task)
115
+ this.refreshing = undefined; });
116
+ this.refreshing = task;
117
+ return task;
118
+ }
119
+ async discover() {
94
120
  this.stop();
95
121
  const generation = this.generation;
96
122
  const abort = new AbortController();
@@ -99,10 +125,23 @@ export class DurableCommandController {
99
125
  this.update({ state: 'recovering', isObserving: true, errorCode: undefined });
100
126
  try {
101
127
  this.restore();
128
+ this.update(this.intentSnapshot());
129
+ const originalRemaining = this.intent?.receipt ? this.remainingObservationMs() : this.remainingRecoveryMs();
130
+ const budget = this.options.discoveryRecoveryMs ?? 120000;
131
+ // A late explicit query may recover a fact but never renews intake or observation.
132
+ const deadline = performance.now() + (originalRemaining === undefined || originalRemaining === 0 ? budget : Math.min(budget, originalRemaining));
133
+ const originalDeadline = originalRemaining === undefined || originalRemaining === 0 ? undefined : Date.now() + originalRemaining;
134
+ const recovery = () => ({ budgetMs: Math.max(0, Math.min(deadline - performance.now(), originalDeadline === undefined ? Infinity : originalDeadline - Date.now())) });
102
135
  let receipt;
103
136
  if (this.intent) {
104
137
  try {
105
- receipt = await this.options.client.result({ command: this.options.command, requestKey: this.intent.requestKey }, abort.signal, this.readRecovery(true));
138
+ receipt = await this.options.client.result({ command: this.options.command, requestKey: this.intent.requestKey }, abort.signal, recovery());
139
+ if (!active())
140
+ return;
141
+ this.assertReceipt(receipt, this.intent.requestKey);
142
+ this.remember(receipt);
143
+ // Keep the discovery state until a historical result has been checked for a newer cycle.
144
+ this.update(this.intentSnapshot());
106
145
  }
107
146
  catch (error) {
108
147
  if (!absent(error))
@@ -113,21 +152,33 @@ export class DurableCommandController {
113
152
  return;
114
153
  // A historical local success cannot hide a newer pending cycle on another device.
115
154
  if (!receipt || terminal(receipt)) {
116
- const page = await this.options.client.mine(this.options.command, { resourceKey: this.options.resourceKey, limit: 20 }, abort.signal, this.readRecovery(true));
155
+ const page = await this.options.client.mine(this.options.command, { resourceKey: this.options.resourceKey, limit: 20 }, abort.signal, recovery());
117
156
  if (!active())
118
157
  return;
119
- receipt = page.items.find(r => !terminal(r)) || receipt || (!this.intent ? page.items[0] : undefined);
158
+ for (const item of page.items)
159
+ this.assertReceipt(item);
160
+ const original = this.intent && page.items.find(r => r.requestKey === this.intent.requestKey);
161
+ const pending = page.items.find(r => !terminal(r));
162
+ if (this.intent && !terminal(this.intent.receipt)) {
163
+ receipt = original;
164
+ if (!receipt && pending) {
165
+ this.update({ ...this.intentSnapshot(), state: 'recovering', errorCode: 'CONCURRENCY_ORIGINAL_REQUEST_REQUIRED', initialized: true, isObserving: false });
166
+ return;
167
+ }
168
+ }
169
+ else
170
+ receipt = pending || original || receipt || (!this.intent ? page.items[0] : undefined);
120
171
  }
121
172
  if (receipt) {
122
173
  this.accept(receipt);
123
174
  this.observe(receipt, generation, abort);
124
175
  }
125
176
  else
126
- this.update({ state: this.intent ? 'recovering' : 'idle', requestKey: this.intent?.requestKey, input: this.intent?.input ? Object.freeze({ ...this.intent.input }) : undefined, initialized: true, isObserving: false });
177
+ this.update({ ...this.intentSnapshot(), state: this.intent ? 'recovering' : 'idle', errorCode: this.intent ? (this.intent.receipt ? 'CONCURRENCY_ORIGINAL_RESULT_MISSING' : 'CONCURRENCY_ACCEPTANCE_UNCONFIRMED') : undefined, initialized: true, isObserving: false });
127
178
  }
128
179
  catch (error) {
129
180
  if (active())
130
- this.update({ state: 'error', initialized: true, isObserving: false, errorCode: code(error) });
181
+ this.update({ ...this.intentSnapshot(), state: isManagedReadBusy(error) ? 'recovering' : 'error', initialized: true, isObserving: false, errorCode: code(error) });
131
182
  }
132
183
  }
133
184
  /** Explicit user action: retry the frozen local intent, never today's edited form. */
@@ -164,6 +215,7 @@ export class DurableCommandController {
164
215
  const found = await this.options.client.result({ command: this.options.command, requestKey: this.intent.requestKey }, abort.signal, this.readRecovery(true));
165
216
  if (!active())
166
217
  return;
218
+ this.assertReceipt(found, this.intent.requestKey);
167
219
  this.accept(found);
168
220
  this.observe(found, generation, abort);
169
221
  return;
@@ -180,13 +232,14 @@ export class DurableCommandController {
180
232
  // Old intents cannot establish a historical start; begin at this explicit recovery.
181
233
  this.intent.firstSubmittedAt ??= Date.now();
182
234
  this.persist();
183
- this.update({ state: 'recovering', requestKey: this.intent.requestKey, input: Object.freeze({ ...this.intent.input }), receipt: undefined, errorCode: undefined, initialized: true, isObserving: true });
235
+ this.update({ state: 'recovering', requestKey: this.intent.requestKey, input: Object.freeze({ ...this.intent.input }), receipt: undefined, acceptanceConfirmed: false, errorCode: undefined, initialized: true, isObserving: true });
184
236
  enqueueAttempted = true;
185
237
  const receipt = await this.enqueueWithRecovery(this.intent, abort, active);
186
238
  if (!receipt)
187
239
  return;
188
240
  if (!active())
189
241
  return;
242
+ this.assertReceipt(receipt, this.intent.requestKey);
190
243
  this.accept(receipt);
191
244
  this.observe(receipt, generation, abort);
192
245
  }
@@ -198,7 +251,7 @@ export class DurableCommandController {
198
251
  this.intent = undefined;
199
252
  }
200
253
  if (active())
201
- this.update({ state: retryable(error) ? 'recovering' : 'error', errorCode: code(error), requestKey: this.intent?.requestKey, input: this.intent?.input ? Object.freeze({ ...this.intent.input }) : undefined, initialized: true, isObserving: false });
254
+ this.update({ ...this.intentSnapshot(), state: retryable(error) ? 'recovering' : 'error', errorCode: code(error), initialized: true, isObserving: false });
202
255
  throw error;
203
256
  }
204
257
  }
@@ -305,6 +358,7 @@ export class DurableCommandController {
305
358
  const next = await this.options.client.result({ operationId: current.operationId }, abort.signal, this.readRecovery());
306
359
  if (!active())
307
360
  return;
361
+ this.assertReceipt(next, current.requestKey, current.operationId);
308
362
  this.accept(next);
309
363
  current = next;
310
364
  failures = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"durable-command.js","sourceRoot":"","sources":["../../src/browser/durable-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"durable-command.js","sourceRoot":"","sources":["../../src/browser/durable-command.ts"],"names":[],"mappings":"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"}
@@ -2,9 +2,11 @@ import { type ReactNode } from 'react';
2
2
  export interface UnsavedChangesGuardOptions {
3
3
  when: boolean;
4
4
  message?: string;
5
+ /** Keep the page mounted while a write is running or its result is unknown. */
6
+ preventNavigation?: boolean;
5
7
  }
6
8
  /** Register local dirty state with the application's single navigation owner. */
7
- export declare function useUnsavedChangesGuard({ when, message }: UnsavedChangesGuardOptions): void;
9
+ export declare function useUnsavedChangesGuard({ when, message, preventNavigation }: UnsavedChangesGuardOptions): void;
8
10
  /** Exactly one browser router, disposed across real unmount and StrictMode replay. */
9
11
  export declare function ApplicationRouter({ basename, children }: {
10
12
  basename?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"navigation-guard.d.ts","sourceRoot":"","sources":["../../src/browser/navigation-guard.tsx"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAGf,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAOD,iFAAiF;AACjF,wBAAgB,sBAAsB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,0BAA0B,QAKnF;AAuED,sFAAsF;AACtF,wBAAgB,iBAAiB,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAA;CAAE,2CAUnG"}
1
+ {"version":3,"file":"navigation-guard.d.ts","sourceRoot":"","sources":["../../src/browser/navigation-guard.tsx"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAGf,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+EAA+E;IAC/E,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAOD,iFAAiF;AACjF,wBAAgB,sBAAsB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,iBAAiB,EAAE,EAAE,0BAA0B,QAKtG;AAwED,sFAAsF;AACtF,wBAAgB,iBAAiB,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAA;CAAE,2CAUnG"}
@@ -5,12 +5,12 @@ import { createBrowserRouter, RouterProvider, useBlocker } from 'react-router-do
5
5
  const GuardContext = createContext(null);
6
6
  const RouterContents = createContext(null);
7
7
  /** Register local dirty state with the application's single navigation owner. */
8
- export function useUnsavedChangesGuard({ when, message }) {
8
+ export function useUnsavedChangesGuard({ when, message, preventNavigation }) {
9
9
  const register = useContext(GuardContext);
10
10
  const key = useRef(Symbol('unsaved-changes'));
11
11
  if (!register)
12
12
  throw new Error('OPENXIANGDA_NAVIGATION_GUARD_PROVIDER_REQUIRED');
13
- useLayoutEffect(() => register(key.current, { when, message }), [register, when, message]);
13
+ useLayoutEffect(() => register(key.current, { when, message, preventNavigation }), [register, when, message, preventNavigation]);
14
14
  }
15
15
  function NavigationGuardOwner({ children }) {
16
16
  const guards = useRef(new Map());
@@ -69,12 +69,16 @@ function NavigationGuardOwner({ children }) {
69
69
  const leave = () => {
70
70
  if (!pending || settling.current)
71
71
  return;
72
+ if ([...guards.current.values()].some(item => item.preventNavigation)) {
73
+ stay();
74
+ return;
75
+ }
72
76
  settling.current = true;
73
77
  const navigation = pending?.navigation;
74
78
  setPending(undefined);
75
79
  navigation?.proceed();
76
80
  };
77
- return _jsxs(GuardContext.Provider, { value: register, children: [children, _jsx(Modal, { open: Boolean(pending), title: "\u79BB\u5F00\u5F53\u524D\u9875\u9762\uFF1F", centered: true, okText: "\u79BB\u5F00", cancelText: "\u7EE7\u7EED\u7F16\u8F91", onOk: leave, onCancel: stay, mask: { closable: false }, focusable: { trap: true, focusTriggerAfterClose: true }, destroyOnHidden: true, children: _jsx("p", { children: pending?.message }) })] });
81
+ return _jsxs(GuardContext.Provider, { value: register, children: [children, _jsx(Modal, { open: Boolean(pending), title: [...guards.current.values()].some(item => item.preventNavigation) ? '请先完成当前操作' : '离开当前页面?', centered: true, okText: [...guards.current.values()].some(item => item.preventNavigation) ? '返回处理' : '离开', cancelText: "\u7EE7\u7EED\u7F16\u8F91", onOk: leave, onCancel: stay, mask: { closable: false }, focusable: { trap: true, focusTriggerAfterClose: true }, destroyOnHidden: true, children: _jsx("p", { children: pending?.message }) })] });
78
82
  }
79
83
  function ApplicationRouterContents() {
80
84
  const children = useContext(RouterContents);
@@ -1 +1 @@
1
- {"version":3,"file":"navigation-guard.js","sourceRoot":"","sources":["../../src/browser/navigation-guard.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"navigation-guard.js","sourceRoot":"","sources":["../../src/browser/navigation-guard.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import { type DataAuditPage, type DataAggregatePage, type DataAggregateQuery, type DataBatchQueryOperation, type DataBatchQueryResult, type DataFilePreview, type DataFileRef, type DataFieldSourcePage, type DataFieldSourceQuery, type DataWhere, type DataResourceSurface, type DataFormDraftStateSchema, type DataTransactionOperation, type DataTransactionResult, type DirectoryEntryPage, type RuntimeRoleSummary, type SubjectProfile, type ApplicationOperationReceiptV2, type ApplicationFileIntentV2, type ApplicationOperationSurfaceCatalogV2, type ApplicationOperationSurfaceV2, type SubjectReadSurfaceResultV2, type WorkflowCommand, type WorkflowCommandInput, type WorkflowCommandResult, type WorkflowDetailSurfaceV2, type WorkflowLaunchSurface, type WorkflowRecordCorrectionSurface, type WorkflowNamedOperationLaunchIntent, type WorkflowSurface, type WorkflowWorkCenterItem, type WorkflowTimeline, type ApplicationTodoCenterPageV2, type ApplicationTodoInteractionResultV2, type ApplicationTodoViewV2, type NotificationMessageDetailV2, type NotificationReadReceiptV2, type ApplicationLoginPublicSurfaceV2, type ApplicationLoginTransactionReceiptV2, type ApplicationLoginRedirectReceiptV2, type ApplicationLoginReceiptV2, type ApplicationLogoutReceiptV2, type BusinessProcessAnswer, type BusinessProcessCommand, type BusinessProcessCommandQuery, type BusinessProcessCommandList, type BusinessProcessPoll, type BusinessProcessReceipt, type BusinessProcessResolution, type BusinessProcessResolutionQuery, type BusinessProcessRetry, type ProcessCommandSurface, type StandardProcessCommit, type NativeAuthorizationManagementCatalog, type NativeAuthorizationMutationReceipt, type NativeRoleManagementAction, type NativeRoleManagementGrantMutationResult, type NativeRoleManagementGrantPage, type NativeRoleMembershipMutationResult, type NativeRoleMembershipPage, type NativeScopeGrant } from 'openxiangda-contracts/browser';
1
+ import type { WorkflowDelegationAdministration, WorkflowDelegationCatalog, WorkflowDelegationCandidatePage, WorkflowDelegationCandidateQuery, WorkflowDelegationListQuery, WorkflowDelegationPage, WorkflowDelegationMutationPreview, WorkflowDelegationMutationReceipt, WorkflowDelegationMutationRequest } from 'openxiangda-contracts/browser';
2
+ import { type DataAuditPage, type DataAggregatePage, type DataAggregateQuery, type DataBatchQueryOperation, type DataBatchQueryResult, type DataFilePreview, type DataFileRef, type DataFieldSourcePage, type DataFieldSourceQuery, type DataWhere, type DataResourceSurface, type DataFormDraftStateSchema, type DataTransactionOperation, type DataTransactionResult, type DirectoryEntryPage, type RuntimeRoleSummary, type SubjectProfile, type ApplicationOperationReceiptV2, type ApplicationFileIntentV2, type ApplicationOperationSurfaceCatalogV2, type ApplicationOperationSurfaceV2, type SubjectReadSurfaceResultV2, type WorkflowCommand, type WorkflowCommandInput, type WorkflowCommandResult, type WorkflowDetailSurfaceV2, type WorkflowLaunchSurface, type WorkflowRecordCorrectionSurface, type WorkflowNamedOperationLaunchIntent, type WorkflowSurface, type WorkflowWorkCenterItem, type WorkflowTimeline, type ApplicationTodoCenterPageV2, type ApplicationTodoInteractionResultV2, type ApplicationTodoViewV2, type NotificationMessageDetailV2, type NotificationReadReceiptV2, type ApplicationLoginPublicSurfaceV2, type ApplicationLoginTransactionReceiptV2, type ApplicationLoginRedirectReceiptV2, type ApplicationLoginReceiptV2, type ApplicationLogoutReceiptV2, type BusinessProcessAnswer, type BusinessProcessCommand, type BusinessProcessCommandQuery, type BusinessProcessCommandList, type BusinessProcessPoll, type BusinessProcessReceipt, type BusinessProcessResolution, type BusinessProcessResolutionQuery, type BusinessProcessRetry, type ProcessCommandSurface, type StandardProcessCommit, type NativeAuthorizationManagementCatalog, type NativeAuthorizationMutationReceipt, type NativeRoleManagementAction, type NativeRoleManagementGrantMutationResult, type NativeRoleManagementGrantPage, type NativeRoleMembershipMutationResult, type NativeRoleMembershipPage, type NativeRoleMembershipBatchInput, type NativeRoleMembershipBatchResult, type NativeScopeGrant } from 'openxiangda-contracts/browser';
2
3
  import type { ManagedConcurrencyClient } from './managed-command';
3
4
  import { type GenericResourceQuery } from './components/platform-fields/resource-query';
4
5
  export type { GenericResourceQuery } from './components/platform-fields/resource-query';
@@ -318,14 +319,30 @@ export declare function loadResourceListPreference(listKey: string): Promise<Res
318
319
  export declare function saveResourceListPreference(listKey: string, preference: ResourceListPreference): Promise<ResourceListPreference>;
319
320
  export declare function resetResourceListPreference(listKey: string): Promise<void>;
320
321
  export declare function loadRoleManagementCatalog(): Promise<NativeAuthorizationManagementCatalog>;
322
+ export declare function listRoleManagementScopeValues(dimensionCode: string, input?: {
323
+ keyword?: string;
324
+ limit?: number;
325
+ offset?: number;
326
+ }): Promise<import("openxiangda-contracts").NativeRoleManagementScopeValuePage>;
321
327
  export declare function listRoleMemberships(input?: {
322
328
  status?: 'active' | 'revoked' | 'expired';
323
329
  userId?: string;
324
330
  roleCode?: string;
325
331
  keyword?: string;
332
+ dimensionCode?: string;
333
+ scopeValue?: string;
326
334
  limit?: number;
327
335
  offset?: number;
328
336
  }): Promise<NativeRoleMembershipPage>;
337
+ /** Each item is independent; retain its operationId when recovering an unknown result. */
338
+ export declare function previewRoleMembershipBatch(input: Pick<NativeRoleMembershipBatchInput, 'items'>): Promise<NativeRoleMembershipBatchResult>;
339
+ export declare function executeRoleMembershipBatch(input: Pick<NativeRoleMembershipBatchInput, 'items'>): Promise<NativeRoleMembershipBatchResult>;
340
+ /** Potential versioned nodes, authorized by the existing workflow management reader. */
341
+ export declare function loadWorkflowRoleReferences(roleCode: string, input?: {
342
+ keyword?: string;
343
+ limit?: number;
344
+ offset?: number;
345
+ }): Promise<import("openxiangda-contracts").WorkflowRoleReferencePage>;
329
346
  export declare function searchRoleManagementUsers(input: {
330
347
  keyword: string;
331
348
  cursor?: string;
@@ -384,16 +401,28 @@ export declare function dataRichTextImageSource(resource: string, fileId: string
384
401
  export declare function loadDataFilePreview(resource: string, fileId: string): Promise<DataFilePreview>;
385
402
  export declare function fetchDataFileBlob(resource: string, fileId: string, variant?: 'thumbnail'): Promise<Blob>;
386
403
  export declare function downloadDataFile(resource: string, fileId: string, fileName: string): Promise<void>;
387
- export interface WorkflowFileBinding {
404
+ export type WorkflowFileBinding = ({
388
405
  instanceId: string;
406
+ taskId?: never;
407
+ } | {
408
+ taskId: string;
409
+ instanceId?: never;
410
+ }) & {
389
411
  resourceCode: string;
390
412
  recordId: string;
391
413
  fieldCode: string;
392
- }
414
+ };
393
415
  export declare function workflowDataFileContentUrl(binding: WorkflowFileBinding, fileId: string, disposition?: 'attachment' | 'inline', variant?: 'thumbnail'): string;
394
416
  export declare function loadWorkflowDataFilePreview(binding: WorkflowFileBinding, fileId: string): Promise<DataFilePreview>;
395
417
  export declare function fetchWorkflowDataFileBlob(binding: WorkflowFileBinding, fileId: string, variant?: 'thumbnail'): Promise<Blob>;
396
418
  export declare function downloadWorkflowDataFile(binding: WorkflowFileBinding, fileId: string, fileName: string): Promise<void>;
419
+ export declare function loadWorkflowDelegationCatalog(): Promise<WorkflowDelegationCatalog>;
420
+ export declare function listWorkflowDelegations(input?: WorkflowDelegationListQuery): Promise<WorkflowDelegationPage>;
421
+ export declare function loadWorkflowDelegation(id: string): Promise<WorkflowDelegationAdministration>;
422
+ export declare function listWorkflowDelegationCandidates(input: WorkflowDelegationCandidateQuery): Promise<WorkflowDelegationCandidatePage>;
423
+ export declare function loadWorkflowDelegationMutationReceipt(operationId: string): Promise<WorkflowDelegationMutationReceipt>;
424
+ export declare function previewWorkflowDelegationMutation(input: WorkflowDelegationMutationRequest): Promise<WorkflowDelegationMutationPreview>;
425
+ export declare function executeWorkflowDelegationMutation(input: WorkflowDelegationMutationRequest): Promise<WorkflowDelegationMutationReceipt>;
397
426
  export interface WorkflowWorkCenterPage {
398
427
  engineVersion: '2.0';
399
428
  authorizationMode: 'current_user_role_union';
@@ -432,15 +461,48 @@ export declare function loadWorkflowWorkCenter(input: {
432
461
  offset?: number;
433
462
  }): Promise<WorkflowWorkCenterPage>;
434
463
  export declare function loadWorkflowTaskSurface(taskId: string): Promise<WorkflowSurface>;
464
+ /** Private values remain scoped to the current user and fixed actionable task. */
465
+ export declare function loadWorkflowTaskDrafts(taskId: string): Promise<import('openxiangda-contracts/browser').WorkflowTaskDraftList>;
466
+ export declare function saveWorkflowTaskDraft(taskId: string, input: import('openxiangda-contracts/browser').WorkflowTaskDraftSave): Promise<import('openxiangda-contracts/browser').WorkflowTaskDraft>;
467
+ export declare function removeWorkflowTaskDraft(taskId: string, input: import('openxiangda-contracts/browser').WorkflowTaskDraftReference): Promise<{
468
+ deleted: true;
469
+ }>;
470
+ /** Fix the upload ID before this call. Retrying uses the same intent and task. */
471
+ export declare function initiateWorkflowTaskFileUpload(taskId: string, input: import('openxiangda-contracts/browser').WorkflowTaskFileUpload): Promise<import('openxiangda-contracts/browser').WorkflowTaskFileUploadPlan>;
472
+ export declare function loadWorkflowTaskFileUploadPlan(taskId: string, fileId: string): Promise<import('openxiangda-contracts/browser').WorkflowTaskFileUploadPlan>;
473
+ export declare function completeWorkflowTaskFileUpload(taskId: string, fileId: string): Promise<DataFileRef>;
435
474
  export declare function loadWorkflowInstanceSurface(instanceId: string): Promise<WorkflowSurface>;
436
475
  export declare function loadWorkflowTimeline(instanceId: string): Promise<WorkflowTimeline>;
437
476
  /** Requires the same workflow management authority as the platform console. */
438
477
  export declare function loadWorkflowDefinitionGraph(workflowCode: string, version: number): Promise<import("openxiangda-contracts").WorkflowGraphReadResult>;
439
478
  export declare function loadWorkflowInstanceGraph(instanceId: string): Promise<import("openxiangda-contracts").WorkflowInstanceGraphReadResult>;
440
479
  export declare function loadApplicationAdministrationContext(): Promise<import("openxiangda-contracts").ApplicationAdministrationContext>;
480
+ /** Same administrator authority as the console; does not grant ordinary users repair access. */
481
+ export declare function loadWorkflowBusinessStepRecovery(instanceId: string): Promise<import("openxiangda-contracts").WorkflowBusinessStepRecoveryOptions>;
482
+ export declare function previewWorkflowBusinessStepRecovery(instanceId: string): Promise<import("openxiangda-contracts").WorkflowBusinessStepRecoveryPreview>;
483
+ /** Keep this exact token/input/key until the outcome is known. Never executes the external handler. */
484
+ export declare function executeWorkflowBusinessStepRecovery(instanceId: string, input: {
485
+ commandToken: string;
486
+ idempotencyKey: string;
487
+ input: {
488
+ reason: string;
489
+ };
490
+ }): Promise<WorkflowCommandResult>;
441
491
  export declare function loadWorkflowNodeConfigurations(workflowCode: string): Promise<import("openxiangda-contracts").WorkflowNodeConfigurations>;
442
492
  /** Retain the same operationId and exact input while the write result is unknown. */
443
493
  export declare function saveWorkflowNodeConfiguration(workflowCode: string, nodeId: string, input: import('openxiangda-contracts/browser').WorkflowNodeConfigurationMutation): Promise<import("openxiangda-contracts").WorkflowNodeConfigurationReceipt>;
494
+ export declare function loadWorkflowAssignmentRoutingCatalog(input?: {
495
+ keyword?: string;
496
+ limit?: number;
497
+ offset?: number;
498
+ }): Promise<import("openxiangda-contracts").WorkflowAssignmentRoutingCatalog>;
499
+ export declare function loadWorkflowAssignmentRoutingConfiguration(policyCode: string): Promise<import("openxiangda-contracts").WorkflowAssignmentRoutingConfiguration>;
500
+ export declare function loadWorkflowAssignmentRoutingHistory(policyCode: string, input?: {
501
+ limit?: number;
502
+ offset?: number;
503
+ }): Promise<import("openxiangda-contracts").WorkflowAssignmentRoutingHistory>;
504
+ /** Keep the exact mutation and operationId to recover an unknown write result. */
505
+ export declare function saveWorkflowAssignmentRoutingConfiguration(policyCode: string, input: import('openxiangda-contracts/browser').WorkflowAssignmentRoutingMutation): Promise<import("openxiangda-contracts").WorkflowAssignmentRoutingReceipt>;
444
506
  export declare function loadWorkflowTaskDetail(taskId: string): Promise<WorkflowDetailSurfaceV2>;
445
507
  export declare function loadWorkflowInstanceDetail(instanceId: string): Promise<WorkflowDetailSurfaceV2>;
446
508
  export declare function loadWorkflowRecordDetail(resourceCode: string, recordId: string): Promise<WorkflowDetailSurfaceV2>;
@@ -458,6 +520,8 @@ export declare function loadApplicationTodos(input: {
458
520
  export declare function recordApplicationTodoInteraction(messageId: string, kind: 'read' | 'click'): Promise<ApplicationTodoInteractionResultV2>;
459
521
  export declare function executeWorkflowTaskCommand(taskId: string, command: WorkflowCommand | string, input: WorkflowCommandInput): Promise<WorkflowCommandResult>;
460
522
  export declare function executeWorkflowInstanceCommand(instanceId: string, command: 'withdraw' | 'terminate', input: WorkflowCommandInput): Promise<WorkflowCommandResult>;
523
+ /** A read does not consume a token or imply that an unobserved command failed. */
524
+ export declare function loadWorkflowTaskCommandReceipt(taskId: string, idempotencyKey: string, tokenDigest?: string): Promise<import("openxiangda-contracts").WorkflowTaskCommandReceipt>;
461
525
  /** Execute a server-issued Workflow operation without task/instance branching. */
462
526
  export declare function executeWorkflowOperation(surface: WorkflowSurface, operation: WorkflowSurface['operations'][number], input?: Record<string, unknown>, options?: {
463
527
  idempotencyKey?: string;