openxiangda-contracts 2.35.0 → 2.47.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 (84) hide show
  1. package/dist/browser.d.ts +7 -0
  2. package/dist/browser.d.ts.map +1 -1
  3. package/dist/browser.js +7 -0
  4. package/dist/browser.js.map +1 -1
  5. package/dist/data-field-validation.d.ts.map +1 -1
  6. package/dist/data-field-validation.js +3 -2
  7. package/dist/data-field-validation.js.map +1 -1
  8. package/dist/field-value-schemas.d.ts +1 -1
  9. package/dist/field-value-schemas.d.ts.map +1 -1
  10. package/dist/field-value-schemas.js +2 -1
  11. package/dist/field-value-schemas.js.map +1 -1
  12. package/dist/index.d.ts +8 -0
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +8 -0
  15. package/dist/index.js.map +1 -1
  16. package/dist/native-compiler/compiler.d.ts +1 -1
  17. package/dist/native-compiler/compiler.d.ts.map +1 -1
  18. package/dist/native-compiler/compiler.js +104 -5
  19. package/dist/native-compiler/compiler.js.map +1 -1
  20. package/dist/native-compiler/data-capacity.d.ts +8 -0
  21. package/dist/native-compiler/data-capacity.d.ts.map +1 -0
  22. package/dist/native-compiler/data-capacity.js +15 -0
  23. package/dist/native-compiler/data-capacity.js.map +1 -0
  24. package/dist/native-compiler/data-field.d.ts.map +1 -1
  25. package/dist/native-compiler/data-field.js +3 -2
  26. package/dist/native-compiler/data-field.js.map +1 -1
  27. package/dist/native-compiler/index.cjs +5 -4
  28. package/dist/native-compiler/index.d.ts +9 -0
  29. package/dist/native-compiler/index.d.ts.map +1 -1
  30. package/dist/native-compiler/index.js +5 -4
  31. package/dist/native-compiler/role-membership-batch.d.ts +73 -0
  32. package/dist/native-compiler/role-membership-batch.d.ts.map +1 -0
  33. package/dist/native-compiler/role-membership-batch.js +91 -0
  34. package/dist/native-compiler/role-membership-batch.js.map +1 -0
  35. package/dist/native-compiler/workflow-assignment-routing.d.ts +121 -0
  36. package/dist/native-compiler/workflow-assignment-routing.d.ts.map +1 -0
  37. package/dist/native-compiler/workflow-assignment-routing.js +113 -0
  38. package/dist/native-compiler/workflow-assignment-routing.js.map +1 -0
  39. package/dist/native-compiler/workflow-automatic-cc.d.ts +20 -0
  40. package/dist/native-compiler/workflow-automatic-cc.d.ts.map +1 -0
  41. package/dist/native-compiler/workflow-automatic-cc.js +36 -0
  42. package/dist/native-compiler/workflow-automatic-cc.js.map +1 -0
  43. package/dist/native-compiler/workflow-business-step-identity.d.ts +12 -0
  44. package/dist/native-compiler/workflow-business-step-identity.d.ts.map +1 -0
  45. package/dist/native-compiler/workflow-business-step-identity.js +11 -0
  46. package/dist/native-compiler/workflow-business-step-identity.js.map +1 -0
  47. package/dist/native-compiler/workflow-business-step.d.ts +119 -0
  48. package/dist/native-compiler/workflow-business-step.d.ts.map +1 -0
  49. package/dist/native-compiler/workflow-business-step.js +357 -0
  50. package/dist/native-compiler/workflow-business-step.js.map +1 -0
  51. package/dist/native-compiler/workflow-delegation-administration.d.ts +1084 -0
  52. package/dist/native-compiler/workflow-delegation-administration.d.ts.map +1 -0
  53. package/dist/native-compiler/workflow-delegation-administration.js +68 -0
  54. package/dist/native-compiler/workflow-delegation-administration.js.map +1 -0
  55. package/dist/native-compiler/workflow-graph.d.ts +28 -2
  56. package/dist/native-compiler/workflow-graph.d.ts.map +1 -1
  57. package/dist/native-compiler/workflow-graph.js +25 -7
  58. package/dist/native-compiler/workflow-graph.js.map +1 -1
  59. package/dist/native-compiler/workflow-node-administration.d.ts.map +1 -1
  60. package/dist/native-compiler/workflow-node-administration.js +12 -3
  61. package/dist/native-compiler/workflow-node-administration.js.map +1 -1
  62. package/dist/native-compiler/workflow-task-page.d.ts +160 -0
  63. package/dist/native-compiler/workflow-task-page.d.ts.map +1 -0
  64. package/dist/native-compiler/workflow-task-page.js +324 -0
  65. package/dist/native-compiler/workflow-task-page.js.map +1 -0
  66. package/dist/native-version.d.ts +12 -0
  67. package/dist/native-version.d.ts.map +1 -1
  68. package/dist/native-version.js +12 -0
  69. package/dist/native-version.js.map +1 -1
  70. package/dist/native.d.ts +2 -0
  71. package/dist/native.d.ts.map +1 -1
  72. package/dist/native.js.map +1 -1
  73. package/dist/schemas.d.ts +5060 -1319
  74. package/dist/schemas.d.ts.map +1 -1
  75. package/dist/schemas.js +226 -7
  76. package/dist/schemas.js.map +1 -1
  77. package/dist/types.d.ts +174 -3
  78. package/dist/types.d.ts.map +1 -1
  79. package/dist/types.js +13 -0
  80. package/dist/types.js.map +1 -1
  81. package/dist/validation.d.ts.map +1 -1
  82. package/dist/validation.js +7 -3
  83. package/dist/validation.js.map +1 -1
  84. package/package.json +1 -1
package/dist/types.d.ts CHANGED
@@ -5,6 +5,7 @@ import type { CascadePathValue, DataFieldOption, DateRangeValue, DepartmentRefer
5
5
  import type { DataFieldResourceSource } from "./references.js";
6
6
  import type { WorkflowBusinessData } from "./workflow-summary.js";
7
7
  import type { WorkflowBusinessDetail } from "./workflow-detail.js";
8
+ import type { WorkflowBusinessStepNode, WorkflowBusinessStepResult } from './native-compiler/workflow-business-step.js';
8
9
  import type { AppWorkflowLaunchContextDeclaration, AppWorkflowLaunchInputBindingDeclaration, AppWorkflowNamedOperationOutputDeclaration } from "./native.js";
9
10
  import { type CliProtocolCapabilities } from "./cli.js";
10
11
  export declare const OPENXIANGDA_CONTRACT_VERSION: "2.0.0-alpha.5";
@@ -24,6 +25,10 @@ export declare const SCHEMA_VERSIONS: {
24
25
  readonly roleSubjectPage: "openxiangda.role-subject-page/v2";
25
26
  readonly runtimeAuthorization: "openxiangda.runtime-authorization/v2";
26
27
  readonly nativeRoleMembershipPage: "openxiangda.native-role-membership-page/v2";
28
+ readonly nativeRoleMembershipBatchRequest: "openxiangda.native-role-membership-batch-request/v2";
29
+ readonly nativeRoleMembershipBatchResult: "openxiangda.native-role-membership-batch-result/v2";
30
+ readonly workflowRoleReferencePage: "openxiangda.workflow-role-reference-page/v2";
31
+ readonly nativeRoleManagementScopeValuePage: "openxiangda.native-role-management-scope-value-page/v2";
27
32
  readonly nativeAuthorizationManagementCatalog: "openxiangda.native-authorization-catalog/v2";
28
33
  readonly nativeRoleManagementGrantPage: "openxiangda.native-role-management-grant-page/v2";
29
34
  readonly nativeAuthorizationMutationReceipt: "openxiangda.native-authorization-mutation-receipt/v2";
@@ -93,6 +98,10 @@ export declare const SCHEMA_VERSIONS: {
93
98
  readonly workflowCommandInput: "openxiangda.workflow-command-input/v2";
94
99
  readonly workflowLaunchSurface: "openxiangda.workflow-launch-surface/v3";
95
100
  readonly workflowDelegation: "openxiangda.workflow-delegation/v2";
101
+ readonly workflowDelegationAdministration: "openxiangda.workflow-delegation-administration/v2";
102
+ readonly workflowDelegationMutationRequest: "openxiangda.workflow-delegation-mutation/v2";
103
+ readonly workflowDelegationMutationPreview: "openxiangda.workflow-delegation-preview/v2";
104
+ readonly workflowDelegationMutationReceipt: "openxiangda.workflow-delegation-receipt/v2";
96
105
  readonly workflowAssigneeProvider: "openxiangda.workflow-assignee-provider/v2";
97
106
  readonly workflowAssigneeRequest: "openxiangda.workflow-assignee-request/v2.1";
98
107
  readonly workflowAssigneeResponse: "openxiangda.workflow-assignee-response/v2";
@@ -439,6 +448,23 @@ export interface NativeAuthorizationManagementCatalog {
439
448
  roleManagement: NativeRoleManagementAuthority;
440
449
  scopeDimensions: NativeAuthorizationManagementScopeDimension[];
441
450
  }
451
+ export interface NativeRoleManagementScopeValuePage {
452
+ schemaVersion: typeof SCHEMA_VERSIONS.nativeRoleManagementScopeValuePage;
453
+ environment: {
454
+ id: string;
455
+ key: DeploymentEnvironment;
456
+ headRevision: number;
457
+ authzRevisionId: string;
458
+ scopeDataVersion: string;
459
+ };
460
+ dimensionCode: string;
461
+ items: Array<{
462
+ id: string;
463
+ label: string;
464
+ }>;
465
+ limit: number;
466
+ offset: number;
467
+ }
442
468
  export interface NativeRoleMembership {
443
469
  id: string;
444
470
  environmentId: string;
@@ -1515,7 +1541,7 @@ export interface CloudEvent<TData extends Record<string, unknown> = Record<strin
1515
1541
  }
1516
1542
  export declare const DATA_EVENT_TYPES_V2: readonly ["openxiangda.data.record.created.v2", "openxiangda.data.record.updated.v2", "openxiangda.data.record.deleted.v2"];
1517
1543
  export type DataEventTypeV2 = (typeof DATA_EVENT_TYPES_V2)[number];
1518
- export declare const WORKFLOW_EVENT_TYPES_V2: readonly ["openxiangda.workflow.instance.started.v2", "openxiangda.workflow.instance.completed.v2", "openxiangda.workflow.instance.rejected.v2", "openxiangda.workflow.instance.returned.v2", "openxiangda.workflow.instance.resumed.v2", "openxiangda.workflow.instance.withdrawn.v2", "openxiangda.workflow.instance.terminated.v2", "openxiangda.workflow.instance.cc_added.v2", "openxiangda.workflow.task.created.v2", "openxiangda.workflow.task.assigned.v2", "openxiangda.workflow.task.assignment_pending.v2", "openxiangda.workflow.task.assignment_resolution_failed.v2", "openxiangda.workflow.task.approved.v2", "openxiangda.workflow.task.completed.v2", "openxiangda.workflow.task.rejected.v2", "openxiangda.workflow.task.returned.v2", "openxiangda.workflow.task.resubmitted.v2", "openxiangda.workflow.task.transferred.v2", "openxiangda.workflow.task.reassigned.v2", "openxiangda.workflow.task.delegated.v2", "openxiangda.workflow.task.assignee_added.v2", "openxiangda.workflow.task.cancelled.v2", "openxiangda.workflow.participant.activated.v2", "openxiangda.workflow.participant.completed.v2", "openxiangda.workflow.participant.rejected.v2", "openxiangda.workflow.participant.returned.v2", "openxiangda.workflow.participant.transferred.v2", "openxiangda.workflow.participant.reassigned.v2", "openxiangda.workflow.participant.delegated.v2", "openxiangda.workflow.participant.added.v2", "openxiangda.workflow.participant.suspended.v2", "openxiangda.workflow.participant.resumed.v2", "openxiangda.workflow.participant.cancelled.v2"];
1544
+ export declare const WORKFLOW_EVENT_TYPES_V2: readonly ["openxiangda.workflow.step.requested.v2", "openxiangda.workflow.step.result_received.v2", "openxiangda.workflow.step.completed.v2", "openxiangda.workflow.step.continuation_failed.v2", "openxiangda.workflow.instance.started.v2", "openxiangda.workflow.instance.completed.v2", "openxiangda.workflow.instance.rejected.v2", "openxiangda.workflow.instance.returned.v2", "openxiangda.workflow.instance.resumed.v2", "openxiangda.workflow.instance.withdrawn.v2", "openxiangda.workflow.instance.terminated.v2", "openxiangda.workflow.instance.cc_added.v2", "openxiangda.workflow.task.created.v2", "openxiangda.workflow.task.assigned.v2", "openxiangda.workflow.task.assignment_pending.v2", "openxiangda.workflow.task.assignment_resolution_failed.v2", "openxiangda.workflow.task.approved.v2", "openxiangda.workflow.task.completed.v2", "openxiangda.workflow.task.rejected.v2", "openxiangda.workflow.task.returned.v2", "openxiangda.workflow.task.resubmitted.v2", "openxiangda.workflow.task.transferred.v2", "openxiangda.workflow.task.reassigned.v2", "openxiangda.workflow.task.delegated.v2", "openxiangda.workflow.task.assignee_added.v2", "openxiangda.workflow.task.cancelled.v2", "openxiangda.workflow.participant.activated.v2", "openxiangda.workflow.participant.completed.v2", "openxiangda.workflow.participant.rejected.v2", "openxiangda.workflow.participant.returned.v2", "openxiangda.workflow.participant.transferred.v2", "openxiangda.workflow.participant.reassigned.v2", "openxiangda.workflow.participant.delegated.v2", "openxiangda.workflow.participant.added.v2", "openxiangda.workflow.participant.suspended.v2", "openxiangda.workflow.participant.resumed.v2", "openxiangda.workflow.participant.cancelled.v2"];
1519
1545
  export type WorkflowEventTypeV2 = (typeof WORKFLOW_EVENT_TYPES_V2)[number];
1520
1546
  export type EventProducerKind = "data" | "app" | "workflow" | "timer" | "date" | "system";
1521
1547
  export interface EventCatalogEntry {
@@ -1652,6 +1678,10 @@ export type EventFilterCondition = {
1652
1678
  not: EventFilterCondition;
1653
1679
  };
1654
1680
  export interface EventSubscriptionFilter {
1681
+ /** Fixed versioned handler; only valid for workflow step request events. */
1682
+ workflowStep?: {
1683
+ handlerCode: string;
1684
+ };
1655
1685
  resourceCodes?: string[];
1656
1686
  subject?: EventSubjectFilter;
1657
1687
  changedFields?: EventChangedFieldsFilter;
@@ -1728,6 +1758,7 @@ export interface EventReceiptCommand {
1728
1758
  eventId: string;
1729
1759
  deliveryId: string;
1730
1760
  claimToken?: string;
1761
+ workflowStepResult?: WorkflowBusinessStepResult;
1731
1762
  }
1732
1763
  export interface EventReceiptResult {
1733
1764
  schemaVersion: typeof SCHEMA_VERSIONS.eventReceiptResult;
@@ -1784,7 +1815,7 @@ export interface DateTrigger {
1784
1815
  }
1785
1816
  export type WorkflowApprovalMode = "single" | "any" | "all" | "sequence";
1786
1817
  export type WorkflowFieldPolicy = "hidden" | "readonly" | "edit" | "edit_required";
1787
- export type WorkflowCommand = "approve" | "reject" | "return" | "transfer" | "delegate" | "add_assignee" | "resubmit" | "withdraw" | "terminate" | "cc" | "admin_reassign" | "admin_override" | "retry_resolution";
1818
+ export type WorkflowCommand = "save_form" | "approve" | "reject" | "return" | "transfer" | "delegate" | "add_assignee" | "resubmit" | "withdraw" | "terminate" | "cc" | "admin_reassign" | "admin_override" | "retry_resolution";
1788
1819
  export type WorkflowExpression = {
1789
1820
  op: "literal";
1790
1821
  value: unknown;
@@ -1812,6 +1843,8 @@ export interface WorkflowApprovalNode {
1812
1843
  onReject: string;
1813
1844
  allowedOperations?: WorkflowCommand[];
1814
1845
  returnTargets?: string[];
1846
+ /** Immutable reference to an application-owned task page input contract. */
1847
+ taskPageCode?: string;
1815
1848
  /** Code-owned defaults; labels never change the stable command semantics. */
1816
1849
  operationPolicy?: Partial<Record<WorkflowConfigurableOperation, WorkflowNodeOperationPolicy>>;
1817
1850
  /** Explicit upper bound for administrator changes. Topology remains immutable. */
@@ -1850,7 +1883,21 @@ export interface WorkflowEndNode {
1850
1883
  title: string;
1851
1884
  outcome: string;
1852
1885
  }
1853
- export type WorkflowNode = WorkflowApprovalNode | WorkflowConditionNode | WorkflowEndNode;
1886
+ export interface WorkflowCcAdministration {
1887
+ assigneeProviders?: WorkflowConfigurableAssigneeProvider[];
1888
+ }
1889
+ /** Recipients are frozen on entry; topology, empty policy and notification are code-owned. */
1890
+ export interface WorkflowCcNode {
1891
+ id: string;
1892
+ kind: 'cc';
1893
+ title: string;
1894
+ binding: string;
1895
+ next: string;
1896
+ emptyPolicy: 'block' | 'skip';
1897
+ notify?: boolean;
1898
+ administration?: WorkflowCcAdministration;
1899
+ }
1900
+ export type WorkflowNode = WorkflowApprovalNode | WorkflowConditionNode | WorkflowEndNode | WorkflowCcNode | WorkflowBusinessStepNode;
1854
1901
  export interface WorkflowDefinition {
1855
1902
  schemaVersion: typeof SCHEMA_VERSIONS.workflowDefinition;
1856
1903
  code: string;
@@ -1874,6 +1921,8 @@ export interface WorkflowDefinition {
1874
1921
  };
1875
1922
  };
1876
1923
  nodes: Record<string, WorkflowNode>;
1924
+ /** Code-owned page definitions, independent of node administrator settings. */
1925
+ taskPages?: Record<string, import('./native-compiler/workflow-task-page.js').WorkflowTaskPage>;
1877
1926
  /** Read-only explanations versioned with the executing definition. */
1878
1927
  readability?: import('./native-compiler/workflow-graph.js').WorkflowReadability;
1879
1928
  }
@@ -1916,6 +1965,127 @@ export interface WorkflowBindingEntry {
1916
1965
  max?: number;
1917
1966
  /** Long-term delegation is enabled by default for eligible role-bound providers. */
1918
1967
  delegatable?: boolean;
1968
+ /** Code-owned dimensions and native sources; administrators only maintain bounded rules. */
1969
+ routing?: WorkflowAssignmentRoutingPolicy;
1970
+ }
1971
+ export interface WorkflowAssignmentRoutingPolicy {
1972
+ policyCode: string;
1973
+ title: string;
1974
+ strategy: 'replace_then_append' | 'replace_only';
1975
+ dimensions: Record<string, {
1976
+ title: string;
1977
+ valueFrom: string;
1978
+ }>;
1979
+ sources: Record<string, {
1980
+ title: string;
1981
+ provider: 'app_role' | 'app_role_in_scope';
1982
+ roleCode: string;
1983
+ scope?: {
1984
+ dimension: string;
1985
+ valueFrom?: string;
1986
+ value?: string;
1987
+ };
1988
+ }>;
1989
+ }
1990
+ export interface WorkflowAssignmentRoutingRule {
1991
+ ruleCode: string;
1992
+ title: string;
1993
+ enabled: boolean;
1994
+ workflowCode?: string;
1995
+ nodeId?: string;
1996
+ matches: Record<string, string[]>;
1997
+ sourceCode: string;
1998
+ effect: 'append' | 'replace';
1999
+ priority: number;
2000
+ validFrom?: IsoDateTime;
2001
+ validTo?: IsoDateTime;
2002
+ }
2003
+ export interface WorkflowAssignmentRoutingConfiguration {
2004
+ schemaVersion: 'openxiangda.workflow-assignment-routing/v2';
2005
+ policy: WorkflowAssignmentRoutingPolicy;
2006
+ revision: number;
2007
+ rules: WorkflowAssignmentRoutingRule[];
2008
+ updatedBy: string | null;
2009
+ updatedAt: IsoDateTime | null;
2010
+ headRevision: number;
2011
+ effect: 'future_node_entries_keep_existing_tasks';
2012
+ references: Array<{
2013
+ workflowCode: string;
2014
+ nodeId: string;
2015
+ pinned: boolean;
2016
+ }>;
2017
+ }
2018
+ export interface WorkflowAssignmentRoutingMutation {
2019
+ environmentKey?: DeploymentEnvironment;
2020
+ expectedHeadRevision: number;
2021
+ expectedRevision: number;
2022
+ operationId: string;
2023
+ reason: string;
2024
+ rules: WorkflowAssignmentRoutingRule[];
2025
+ }
2026
+ export interface WorkflowAssignmentRoutingReceipt {
2027
+ policyCode: string;
2028
+ revision: number;
2029
+ rules: WorkflowAssignmentRoutingRule[];
2030
+ updatedBy: string;
2031
+ updatedAt: IsoDateTime;
2032
+ effect: 'future_node_entries_keep_existing_tasks';
2033
+ replayed: boolean;
2034
+ }
2035
+ export interface WorkflowRoleReference {
2036
+ workflowCode: string;
2037
+ workflowTitle: string;
2038
+ nodeId: string;
2039
+ nodeTitle: string;
2040
+ roleCode: string;
2041
+ definitionVersion: number;
2042
+ bindingVersion: number;
2043
+ definitionDigest: Sha256Digest;
2044
+ bindingDigest: Sha256Digest;
2045
+ configurationRevision: number;
2046
+ contexts: Array<'active' | 'in_flight'>;
2047
+ source: 'default_binding' | 'node_override' | 'routing_source';
2048
+ provider: 'app_role' | 'app_role_in_scope';
2049
+ routingSourceCode?: string;
2050
+ scopeDimensionCode?: string;
2051
+ }
2052
+ export interface WorkflowRoleReferencePage {
2053
+ schemaVersion: typeof SCHEMA_VERSIONS.workflowRoleReferencePage;
2054
+ roleCode: string;
2055
+ items: WorkflowRoleReference[];
2056
+ total: number;
2057
+ limit: number;
2058
+ offset: number;
2059
+ meaning: 'potential_nodes_keep_existing_tasks';
2060
+ }
2061
+ export interface WorkflowAssignmentRoutingCatalog {
2062
+ items: Array<{
2063
+ policyCode: string;
2064
+ title: string;
2065
+ revision: number;
2066
+ ruleCount: number;
2067
+ referenceCount: number;
2068
+ }>;
2069
+ total: number;
2070
+ limit: number;
2071
+ offset: number;
2072
+ }
2073
+ export interface WorkflowAssignmentRoutingHistory {
2074
+ items: Array<{
2075
+ id: string;
2076
+ revision: number;
2077
+ actorUserId: string;
2078
+ reason: string;
2079
+ before: {
2080
+ revision: number;
2081
+ rules: WorkflowAssignmentRoutingRule[];
2082
+ };
2083
+ after: WorkflowAssignmentRoutingReceipt;
2084
+ createdAt: IsoDateTime;
2085
+ }>;
2086
+ total: number;
2087
+ limit: number;
2088
+ offset: number;
1919
2089
  }
1920
2090
  export interface WorkflowBinding {
1921
2091
  schemaVersion: typeof SCHEMA_VERSIONS.workflowBinding;
@@ -2495,6 +2665,7 @@ export interface WorkflowSurface {
2495
2665
  navigationTarget: WorkflowNavigationTarget | null;
2496
2666
  instance: WorkflowInstance | Record<string, unknown>;
2497
2667
  task: WorkflowTask | Record<string, unknown> | null;
2668
+ taskForm?: import('./native-compiler/workflow-task-page.js').WorkflowTaskFormSurface;
2498
2669
  presentation: WorkflowSurfacePresentation;
2499
2670
  fieldPolicy: {
2500
2671
  default: WorkflowFieldPolicy;