openxiangda-contracts 2.33.0 → 2.35.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.
- package/dist/browser.d.ts +2 -0
- package/dist/browser.d.ts.map +1 -1
- package/dist/browser.js +2 -0
- package/dist/browser.js.map +1 -1
- package/dist/concurrency.d.ts +109 -2
- package/dist/concurrency.d.ts.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/native-compiler/compiler.d.ts.map +1 -1
- package/dist/native-compiler/compiler.js +18 -1
- package/dist/native-compiler/compiler.js.map +1 -1
- package/dist/native-compiler/index.cjs +6 -6
- package/dist/native-compiler/index.d.ts +2 -0
- package/dist/native-compiler/index.d.ts.map +1 -1
- package/dist/native-compiler/index.js +6 -6
- package/dist/native-compiler/managed-concurrency.d.ts.map +1 -1
- package/dist/native-compiler/managed-concurrency.js +72 -5
- package/dist/native-compiler/managed-concurrency.js.map +1 -1
- package/dist/native-compiler/workflow-graph.d.ts +156 -0
- package/dist/native-compiler/workflow-graph.d.ts.map +1 -0
- package/dist/native-compiler/workflow-graph.js +183 -0
- package/dist/native-compiler/workflow-graph.js.map +1 -0
- package/dist/native-compiler/workflow-node-administration.d.ts +46 -0
- package/dist/native-compiler/workflow-node-administration.d.ts.map +1 -0
- package/dist/native-compiler/workflow-node-administration.js +96 -0
- package/dist/native-compiler/workflow-node-administration.js.map +1 -0
- package/dist/native-version.d.ts +2 -0
- package/dist/native-version.d.ts.map +1 -1
- package/dist/native-version.js +2 -0
- package/dist/native-version.js.map +1 -1
- package/dist/types.d.ts +44 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"managed-concurrency.d.ts","sourceRoot":"","sources":["../../src/native-compiler/managed-concurrency.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"managed-concurrency.d.ts","sourceRoot":"","sources":["../../src/native-compiler/managed-concurrency.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AAEvE,qBAAa,+BAAgC,SAAQ,KAAK;IAE5C,QAAQ,CAAC,OAAO,EAAE,MAAM;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM;IAD7D,QAAQ,CAAC,IAAI,wCAAwC;gBAChC,OAAO,EAAE,MAAM,EAAW,MAAM,EAAE,MAAM;CAC9D;AAED,+EAA+E;AAC/E,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,GAAG,EAAE,EAAE,YAAY,EAAE,SAAS,GAAG,EAAE,GAAG,6BAA6B,GAAG,SAAS,CAqI7J"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { OPENXIANGDA_NATIVE_SYSTEM_FIELD_MAP_V2 } from './data-field.js';
|
|
1
2
|
export class ManagedConcurrencyContractError extends Error {
|
|
2
3
|
pointer;
|
|
3
4
|
reason;
|
|
@@ -28,17 +29,26 @@ export function validateManagedConcurrency(value, resources, capabilities) {
|
|
|
28
29
|
fail(p, 'unknown resource'); return r; };
|
|
29
30
|
const field = (r, f, p) => { const d = r.schema.fields.find((v) => v.code === f); if (!d && f !== 'id')
|
|
30
31
|
fail(p, 'unknown field'); return d; };
|
|
31
|
-
const parameters = (v, p) => {
|
|
32
|
+
const parameters = (v, p, durable = false) => {
|
|
32
33
|
obj(v, p, Object.keys(v || {}));
|
|
33
34
|
if (Object.keys(v).length > 8)
|
|
34
35
|
fail(p, 'at most eight parameters');
|
|
35
36
|
for (const [k, d] of Object.entries(v)) {
|
|
36
37
|
code(k, p);
|
|
37
|
-
obj(d, p, ['type', 'values', 'minimum', 'maximum']);
|
|
38
|
+
obj(d, p, ['type', 'values', 'minimum', 'maximum', 'minLength', 'maxLength']);
|
|
38
39
|
if (d.type === 'uuid') {
|
|
39
40
|
if (Object.keys(d).length !== 1)
|
|
40
41
|
fail(p, 'uuid has no options');
|
|
41
42
|
}
|
|
43
|
+
else if (durable && d.type === 'boolean') {
|
|
44
|
+
obj(d, p, ['type']);
|
|
45
|
+
}
|
|
46
|
+
else if (durable && d.type === 'string' && d.values === undefined) {
|
|
47
|
+
obj(d, p, ['type', 'minLength', 'maxLength']);
|
|
48
|
+
integer(d.maxLength, 1, 256, p);
|
|
49
|
+
if (d.minLength !== undefined)
|
|
50
|
+
integer(d.minLength, 0, d.maxLength, p);
|
|
51
|
+
}
|
|
42
52
|
else if (d.type === 'string') {
|
|
43
53
|
obj(d, p, ['type', 'values']);
|
|
44
54
|
const vs = list(d.values, 100, p);
|
|
@@ -148,8 +158,11 @@ export function validateManagedConcurrency(value, resources, capabilities) {
|
|
|
148
158
|
fail(root, 'an allocation model has exactly one pool owner');
|
|
149
159
|
for (const c of d.commands) {
|
|
150
160
|
const p = `${root}/commands/${c.code}`;
|
|
151
|
-
obj(c, p, ['code', 'capability', 'parameters', 'resourceKey', 'admission', 'deadlineSeconds', 'guards', 'operations', 'quota']);
|
|
152
|
-
|
|
161
|
+
obj(c, p, ['code', 'mode', 'intake', 'execution', 'capability', 'parameters', 'resourceKey', 'admission', 'deadlineSeconds', 'guards', 'operations', 'quota']);
|
|
162
|
+
if (c.mode !== undefined && !['permit', 'durable'].includes(c.mode))
|
|
163
|
+
fail(p, 'unsupported mode');
|
|
164
|
+
const durable = c.mode === 'durable';
|
|
165
|
+
parameters(c.parameters, p, durable);
|
|
153
166
|
binding(c.resourceKey, c.parameters, p);
|
|
154
167
|
if (!capabilities.some(v => v.code === c.capability))
|
|
155
168
|
fail(p, 'command capability must be declared');
|
|
@@ -159,8 +172,59 @@ export function validateManagedConcurrency(value, resources, capabilities) {
|
|
|
159
172
|
integer(c.admission.maxInFlight, 1, d.admission.maxInFlight, p);
|
|
160
173
|
integer(c.admission.maxQueue, 1, 10000, p);
|
|
161
174
|
integer(c.admission.maxWaitSeconds, 1, 3600, p);
|
|
162
|
-
|
|
175
|
+
if (!durable || c.admission.permitSeconds !== undefined)
|
|
176
|
+
integer(c.admission.permitSeconds, 5, 60, p);
|
|
163
177
|
integer(c.deadlineSeconds, 10, 3600, p);
|
|
178
|
+
if (durable) {
|
|
179
|
+
if (c.operations !== undefined || c.guards !== undefined || c.quota !== undefined)
|
|
180
|
+
fail(p, 'backend-plan does not accept static operations, guards or quota');
|
|
181
|
+
obj(c.intake, p, ['perSecond', 'burst', 'maxInFlight']);
|
|
182
|
+
for (const k of ['perSecond', 'burst', 'maxInFlight'])
|
|
183
|
+
integer(c.intake[k], 1, 1000, p);
|
|
184
|
+
const e = obj(c.execution, p, ['kind', 'handlerCode', 'timeoutMs', 'resources', 'directory']);
|
|
185
|
+
if (e.kind !== 'backend-plan')
|
|
186
|
+
fail(p, 'durable requires backend-plan');
|
|
187
|
+
code(e.handlerCode, p);
|
|
188
|
+
integer(e.timeoutMs, 100, 30000, p);
|
|
189
|
+
const rs = list(e.resources, 32, p);
|
|
190
|
+
if (!rs.length)
|
|
191
|
+
fail(p, 'execution resources required');
|
|
192
|
+
if (new Set(rs.map(x => x.resourceCode)).size !== rs.length)
|
|
193
|
+
fail(p, 'duplicate execution resource');
|
|
194
|
+
for (const a of rs) {
|
|
195
|
+
obj(a, p, ['resourceCode', 'readFields', 'writeOperations', 'writeFields']);
|
|
196
|
+
const r = resource(a.resourceCode, p);
|
|
197
|
+
for (const k of ['readFields', 'writeFields']) {
|
|
198
|
+
const fs = list(a[k], 64, p);
|
|
199
|
+
if (new Set(fs).size !== fs.length)
|
|
200
|
+
fail(p, 'duplicate field');
|
|
201
|
+
fs.forEach(f => { if (k === 'readFields' && OPENXIANGDA_NATIVE_SYSTEM_FIELD_MAP_V2.has(f))
|
|
202
|
+
return; field(r, f, p); });
|
|
203
|
+
}
|
|
204
|
+
const ops = list(a.writeOperations, 3, p);
|
|
205
|
+
if (new Set(ops).size !== ops.length || ops.some(o => !['create', 'update', 'increment'].includes(o)))
|
|
206
|
+
fail(p, 'unsupported execution operation');
|
|
207
|
+
if (a.writeFields.some((f) => ['id', 'revision', 'created_by', 'updated_by', 'created_at', 'updated_at'].includes(f)))
|
|
208
|
+
fail(p, 'record metadata is platform owned');
|
|
209
|
+
if (!ops.length && a.writeFields.length)
|
|
210
|
+
fail(p, 'write fields require an operation');
|
|
211
|
+
if (ops.length && !a.writeFields.length)
|
|
212
|
+
fail(p, 'write operations require fields');
|
|
213
|
+
if (d.quotas.some((q) => q.allocationResource === a.resourceCode) && ops.length)
|
|
214
|
+
fail(p, 'allocation references remain owned by their pool command');
|
|
215
|
+
}
|
|
216
|
+
if (e.directory !== undefined) {
|
|
217
|
+
obj(e.directory, p, ['mode', 'fields']);
|
|
218
|
+
if (e.directory.mode !== 'current-initiator')
|
|
219
|
+
fail(p, 'only current initiator allowed');
|
|
220
|
+
const fs = list(e.directory.fields, 4, p);
|
|
221
|
+
if (!fs.length || new Set(fs).size !== fs.length || fs.some(f => !['displayName', 'employeeNumber', 'primaryDepartment', 'departments'].includes(f)))
|
|
222
|
+
fail(p, 'unsupported directory fields');
|
|
223
|
+
}
|
|
224
|
+
continue;
|
|
225
|
+
}
|
|
226
|
+
if (c.execution !== undefined || c.intake !== undefined)
|
|
227
|
+
fail(p, 'execution and intake require durable mode');
|
|
164
228
|
for (const g of list(c.guards || [], 8, p)) {
|
|
165
229
|
obj(g, p, ['resourceCode', 'id', 'conditions']);
|
|
166
230
|
const r = resource(g.resourceCode, p);
|
|
@@ -233,6 +297,9 @@ export function validateManagedConcurrency(value, resources, capabilities) {
|
|
|
233
297
|
else if (!c.operations.length)
|
|
234
298
|
fail(p, 'operations required');
|
|
235
299
|
}
|
|
300
|
+
const handlers = d.commands.filter((c) => c.mode === 'durable').map((c) => c.execution.handlerCode);
|
|
301
|
+
if (new Set(handlers).size !== handlers.length)
|
|
302
|
+
fail(root, 'handler code must be unique');
|
|
236
303
|
return JSON.parse(JSON.stringify(d));
|
|
237
304
|
}
|
|
238
305
|
//# sourceMappingURL=managed-concurrency.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"managed-concurrency.js","sourceRoot":"","sources":["../../src/native-compiler/managed-concurrency.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"managed-concurrency.js","sourceRoot":"","sources":["../../src/native-compiler/managed-concurrency.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
/** Pure read projection. It never evaluates expressions, executes code or edits topology. */
|
|
2
|
+
export interface WorkflowReadability {
|
|
3
|
+
variables?: Record<string, {
|
|
4
|
+
label: string;
|
|
5
|
+
unit?: string;
|
|
6
|
+
description?: string;
|
|
7
|
+
}>;
|
|
8
|
+
logic?: Array<{
|
|
9
|
+
code: string;
|
|
10
|
+
title: string;
|
|
11
|
+
description: string;
|
|
12
|
+
phase: 'submission' | 'node_input' | 'completion';
|
|
13
|
+
nodeId?: string;
|
|
14
|
+
inputPaths: string[];
|
|
15
|
+
outputPaths?: string[];
|
|
16
|
+
source?: {
|
|
17
|
+
path: string;
|
|
18
|
+
symbol?: string;
|
|
19
|
+
digest: string;
|
|
20
|
+
};
|
|
21
|
+
}>;
|
|
22
|
+
}
|
|
23
|
+
export type WorkflowGraphExpression = {
|
|
24
|
+
op: 'literal';
|
|
25
|
+
value: unknown;
|
|
26
|
+
} | {
|
|
27
|
+
op: 'path';
|
|
28
|
+
path: string;
|
|
29
|
+
} | {
|
|
30
|
+
op: 'and' | 'or';
|
|
31
|
+
values: WorkflowGraphExpression[];
|
|
32
|
+
} | {
|
|
33
|
+
op: 'not' | 'exists';
|
|
34
|
+
value: WorkflowGraphExpression;
|
|
35
|
+
} | {
|
|
36
|
+
op: 'eq' | 'neq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'contains';
|
|
37
|
+
left: WorkflowGraphExpression;
|
|
38
|
+
right: WorkflowGraphExpression;
|
|
39
|
+
};
|
|
40
|
+
export interface WorkflowGraphDefinitionSource {
|
|
41
|
+
code: string;
|
|
42
|
+
title: string;
|
|
43
|
+
startAt: string;
|
|
44
|
+
inputSchema: Record<string, unknown>;
|
|
45
|
+
subject?: {
|
|
46
|
+
resourceCode: string;
|
|
47
|
+
factProjection: Record<string, string>;
|
|
48
|
+
};
|
|
49
|
+
readability?: WorkflowReadability;
|
|
50
|
+
nodes: Record<string, {
|
|
51
|
+
id: string;
|
|
52
|
+
kind: string;
|
|
53
|
+
title?: string;
|
|
54
|
+
binding?: string;
|
|
55
|
+
mode?: string;
|
|
56
|
+
onApprove?: string;
|
|
57
|
+
onReject?: string;
|
|
58
|
+
branches?: Array<{
|
|
59
|
+
when: WorkflowGraphExpression;
|
|
60
|
+
target: string;
|
|
61
|
+
label?: string;
|
|
62
|
+
}>;
|
|
63
|
+
otherwise?: string;
|
|
64
|
+
outcome?: string;
|
|
65
|
+
}>;
|
|
66
|
+
}
|
|
67
|
+
export interface WorkflowGraphVariable {
|
|
68
|
+
path: string;
|
|
69
|
+
label: string;
|
|
70
|
+
type: string;
|
|
71
|
+
unit?: string;
|
|
72
|
+
description?: string;
|
|
73
|
+
required: boolean;
|
|
74
|
+
source: {
|
|
75
|
+
kind: 'subject_field';
|
|
76
|
+
resourceCode: string;
|
|
77
|
+
fieldPath: string;
|
|
78
|
+
} | {
|
|
79
|
+
kind: 'input' | 'unknown';
|
|
80
|
+
};
|
|
81
|
+
usedBy: string[];
|
|
82
|
+
}
|
|
83
|
+
export interface WorkflowGraphEdge {
|
|
84
|
+
id: string;
|
|
85
|
+
from: string;
|
|
86
|
+
to: string;
|
|
87
|
+
kind: 'approve' | 'reject' | 'branch' | 'default';
|
|
88
|
+
label: string;
|
|
89
|
+
priority?: number;
|
|
90
|
+
expression?: WorkflowGraphExpression;
|
|
91
|
+
variablePaths: string[];
|
|
92
|
+
}
|
|
93
|
+
export interface WorkflowGraphProjection {
|
|
94
|
+
schemaVersion: 'openxiangda.workflow-graph/v2';
|
|
95
|
+
workflowCode: string;
|
|
96
|
+
definitionDigest: string;
|
|
97
|
+
startAt: string;
|
|
98
|
+
fixedTopology: true;
|
|
99
|
+
branchStrategy: 'first_match';
|
|
100
|
+
nodes: Array<{
|
|
101
|
+
id: string;
|
|
102
|
+
kind: string;
|
|
103
|
+
title: string;
|
|
104
|
+
binding?: string;
|
|
105
|
+
mode?: string;
|
|
106
|
+
outcome?: string;
|
|
107
|
+
}>;
|
|
108
|
+
edges: WorkflowGraphEdge[];
|
|
109
|
+
variables: WorkflowGraphVariable[];
|
|
110
|
+
logic: NonNullable<WorkflowReadability['logic']>;
|
|
111
|
+
diagnostics: Array<{
|
|
112
|
+
code: string;
|
|
113
|
+
path: string;
|
|
114
|
+
}>;
|
|
115
|
+
}
|
|
116
|
+
export interface WorkflowGraphVisit {
|
|
117
|
+
id: string;
|
|
118
|
+
nodeId: string;
|
|
119
|
+
status: string;
|
|
120
|
+
enteredAt: string | null;
|
|
121
|
+
leftAt: string | null;
|
|
122
|
+
matchedBranch?: number;
|
|
123
|
+
target?: string;
|
|
124
|
+
/** Recorded terminal decision; chronological adjacency alone is not execution evidence. */
|
|
125
|
+
transition?: 'approve' | 'reject';
|
|
126
|
+
configuration?: Record<string, unknown>;
|
|
127
|
+
people?: Array<{
|
|
128
|
+
userId: string | null;
|
|
129
|
+
displayName: string;
|
|
130
|
+
status?: string;
|
|
131
|
+
}>;
|
|
132
|
+
}
|
|
133
|
+
export interface WorkflowGraphReadResult {
|
|
134
|
+
schemaVersion: 'openxiangda.workflow-definition-projection/v2';
|
|
135
|
+
appCode: string;
|
|
136
|
+
workflowCode: string;
|
|
137
|
+
version: number;
|
|
138
|
+
definitionDigest: string;
|
|
139
|
+
graph: WorkflowGraphProjection;
|
|
140
|
+
}
|
|
141
|
+
export interface WorkflowInstanceGraphReadResult extends WorkflowGraphReadResult {
|
|
142
|
+
instanceId: string;
|
|
143
|
+
instanceSequence: number;
|
|
144
|
+
environmentKey: string;
|
|
145
|
+
status: string;
|
|
146
|
+
visits: WorkflowGraphVisit[];
|
|
147
|
+
}
|
|
148
|
+
/** Bounded traversal is also used by compiler diagnostics for untrusted declarations. */
|
|
149
|
+
export declare function workflowExpressionPaths(expression: unknown): {
|
|
150
|
+
paths: string[];
|
|
151
|
+
errors: string[];
|
|
152
|
+
};
|
|
153
|
+
export declare function validateWorkflowReadability(definition: WorkflowGraphDefinitionSource): string[];
|
|
154
|
+
export declare function projectWorkflowGraph(definition: WorkflowGraphDefinitionSource, definitionDigest: string): WorkflowGraphProjection;
|
|
155
|
+
export declare function formatWorkflowExpression(expression: WorkflowGraphExpression, variables?: readonly WorkflowGraphVariable[], depth?: number): string;
|
|
156
|
+
//# sourceMappingURL=workflow-graph.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-graph.d.ts","sourceRoot":"","sources":["../../src/native-compiler/workflow-graph.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
const record = (value) => value && typeof value === 'object' && !Array.isArray(value) ? value : {};
|
|
2
|
+
const text = (value, max) => typeof value === 'string' && Boolean(value.trim()) && value.length <= max;
|
|
3
|
+
const pathPattern = /^[A-Za-z][A-Za-z0-9_]*(?:\.[A-Za-z][A-Za-z0-9_]*){0,15}$/;
|
|
4
|
+
const safePath = (path) => typeof path === 'string' && path.length <= 256 && pathPattern.test(path) &&
|
|
5
|
+
!path.split('.').some(part => ['__proto__', 'prototype', 'constructor'].includes(part));
|
|
6
|
+
function schemaPath(schema, path) {
|
|
7
|
+
let current = record(schema);
|
|
8
|
+
let required = true;
|
|
9
|
+
for (const segment of path.split('.')) {
|
|
10
|
+
required &&= Array.isArray(current.required) && current.required.includes(segment);
|
|
11
|
+
const next = record(current.properties)[segment];
|
|
12
|
+
if (!next || typeof next !== 'object')
|
|
13
|
+
return null;
|
|
14
|
+
current = record(next);
|
|
15
|
+
}
|
|
16
|
+
return { schema: current, required };
|
|
17
|
+
}
|
|
18
|
+
/** Bounded traversal is also used by compiler diagnostics for untrusted declarations. */
|
|
19
|
+
export function workflowExpressionPaths(expression) {
|
|
20
|
+
const paths = new Set();
|
|
21
|
+
const errors = [];
|
|
22
|
+
let budget = 2048;
|
|
23
|
+
const visit = (value, depth) => {
|
|
24
|
+
if (--budget < 0 || depth > 20) {
|
|
25
|
+
errors.push('WORKFLOW_EXPRESSION_BUDGET_EXCEEDED');
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
const item = record(value);
|
|
29
|
+
if (item.op === 'path') {
|
|
30
|
+
if (safePath(item.path))
|
|
31
|
+
paths.add(item.path);
|
|
32
|
+
else
|
|
33
|
+
errors.push('WORKFLOW_EXPRESSION_PATH_INVALID');
|
|
34
|
+
}
|
|
35
|
+
else if (item.op === 'literal')
|
|
36
|
+
return;
|
|
37
|
+
else if (item.op === 'and' || item.op === 'or') {
|
|
38
|
+
if (!Array.isArray(item.values) || !item.values.length || item.values.length > 128)
|
|
39
|
+
errors.push('WORKFLOW_EXPRESSION_GROUP_INVALID');
|
|
40
|
+
else
|
|
41
|
+
for (const part of item.values) {
|
|
42
|
+
if (budget < 0)
|
|
43
|
+
break;
|
|
44
|
+
visit(part, depth + 1);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
else if (item.op === 'not' || item.op === 'exists')
|
|
48
|
+
visit(item.value, depth + 1);
|
|
49
|
+
else if (['eq', 'neq', 'gt', 'gte', 'lt', 'lte', 'in', 'contains'].includes(String(item.op))) {
|
|
50
|
+
visit(item.left, depth + 1);
|
|
51
|
+
visit(item.right, depth + 1);
|
|
52
|
+
}
|
|
53
|
+
else
|
|
54
|
+
errors.push('WORKFLOW_EXPRESSION_OPERATOR_INVALID');
|
|
55
|
+
};
|
|
56
|
+
visit(expression, 0);
|
|
57
|
+
return { paths: [...paths], errors: [...new Set(errors)] };
|
|
58
|
+
}
|
|
59
|
+
export function validateWorkflowReadability(definition) {
|
|
60
|
+
if (definition?.readability === undefined)
|
|
61
|
+
return [];
|
|
62
|
+
const errors = [];
|
|
63
|
+
const info = record(definition.readability);
|
|
64
|
+
if (Object.keys(info).some(key => !['variables', 'logic'].includes(key)) || !Object.keys(info).length)
|
|
65
|
+
errors.push('WORKFLOW_READABILITY_INVALID');
|
|
66
|
+
const variables = record(info.variables);
|
|
67
|
+
if (info.variables !== undefined && (typeof info.variables !== 'object' || Array.isArray(info.variables) || info.variables === null))
|
|
68
|
+
errors.push('WORKFLOW_VARIABLES_INVALID');
|
|
69
|
+
if (Object.keys(variables).length > 128)
|
|
70
|
+
errors.push('WORKFLOW_VARIABLE_LIMIT_EXCEEDED');
|
|
71
|
+
for (const [path, value] of Object.entries(variables)) {
|
|
72
|
+
const variable = record(value);
|
|
73
|
+
if (!safePath(path) || !schemaPath(definition.inputSchema, path))
|
|
74
|
+
errors.push(`WORKFLOW_VARIABLE_SOURCE_UNKNOWN:${path}`);
|
|
75
|
+
if (!text(variable.label, 160) || Object.keys(variable).some(key => !['label', 'unit', 'description'].includes(key)) ||
|
|
76
|
+
variable.unit !== undefined && !text(variable.unit, 32) || variable.description !== undefined && !text(variable.description, 2000))
|
|
77
|
+
errors.push(`WORKFLOW_VARIABLE_METADATA_INVALID:${path}`);
|
|
78
|
+
}
|
|
79
|
+
const logic = info.logic === undefined ? [] : info.logic;
|
|
80
|
+
if (!Array.isArray(logic) || logic.length > 32)
|
|
81
|
+
errors.push('WORKFLOW_LOGIC_LIMIT_INVALID');
|
|
82
|
+
const codes = new Set();
|
|
83
|
+
for (const value of Array.isArray(logic) ? logic.slice(0, 32) : []) {
|
|
84
|
+
const item = record(value), code = String(item.code || '');
|
|
85
|
+
if (!/^[a-z][a-z0-9-]{2,63}$/.test(code) || codes.has(code) || !text(item.title, 160) || !text(item.description, 4000) ||
|
|
86
|
+
Object.keys(item).some(key => !['code', 'title', 'description', 'phase', 'nodeId', 'inputPaths', 'outputPaths', 'source'].includes(key)))
|
|
87
|
+
errors.push(`WORKFLOW_LOGIC_METADATA_INVALID:${code}`);
|
|
88
|
+
codes.add(code);
|
|
89
|
+
if (!['submission', 'node_input', 'completion'].includes(String(item.phase)) ||
|
|
90
|
+
item.phase === 'node_input' && !record(definition.nodes)[String(item.nodeId)] || item.phase !== 'node_input' && item.nodeId !== undefined)
|
|
91
|
+
errors.push(`WORKFLOW_LOGIC_ANCHOR_INVALID:${code}`);
|
|
92
|
+
for (const key of ['inputPaths', 'outputPaths']) {
|
|
93
|
+
const values = item[key];
|
|
94
|
+
if (key === 'outputPaths' && values === undefined)
|
|
95
|
+
continue;
|
|
96
|
+
if (!Array.isArray(values) || values.length > 32 || new Set(values).size !== values.length)
|
|
97
|
+
errors.push(`WORKFLOW_LOGIC_PATHS_INVALID:${code}:${key}`);
|
|
98
|
+
else
|
|
99
|
+
for (const path of values)
|
|
100
|
+
if (!safePath(path) || !schemaPath(definition.inputSchema, path))
|
|
101
|
+
errors.push(`WORKFLOW_LOGIC_SOURCE_UNKNOWN:${code}:${String(path)}`);
|
|
102
|
+
}
|
|
103
|
+
if (item.source !== undefined) {
|
|
104
|
+
const source = record(item.source);
|
|
105
|
+
if (!text(source.path, 256) || String(source.path).startsWith('/') || String(source.path).includes('..') || String(source.path).includes('://') ||
|
|
106
|
+
!/^sha256:[a-f0-9]{64}$/.test(String(source.digest)) || source.symbol !== undefined && !text(source.symbol, 160) ||
|
|
107
|
+
Object.keys(source).some(key => !['path', 'symbol', 'digest'].includes(key)))
|
|
108
|
+
errors.push(`WORKFLOW_LOGIC_SOURCE_REFERENCE_INVALID:${code}`);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
for (const raw of Object.values(record(definition.nodes))) {
|
|
112
|
+
const node = record(raw);
|
|
113
|
+
const branches = Array.isArray(node.branches) ? node.branches : [];
|
|
114
|
+
for (const branch of branches) {
|
|
115
|
+
const expression = workflowExpressionPaths(branch.when);
|
|
116
|
+
errors.push(...expression.errors.map(error => `${error}:${node.id}`));
|
|
117
|
+
for (const path of expression.paths)
|
|
118
|
+
if (!schemaPath(definition.inputSchema, path))
|
|
119
|
+
errors.push(`WORKFLOW_VARIABLE_SOURCE_UNKNOWN:${node.id}:${path}`);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
return [...new Set(errors)];
|
|
123
|
+
}
|
|
124
|
+
export function projectWorkflowGraph(definition, definitionDigest) {
|
|
125
|
+
const edges = [];
|
|
126
|
+
const used = new Map();
|
|
127
|
+
const diagnostics = [];
|
|
128
|
+
for (const node of Object.values(definition.nodes)) {
|
|
129
|
+
if (node.kind === 'approval') {
|
|
130
|
+
for (const [kind, target, label] of [['approve', node.onApprove, '同意'], ['reject', node.onReject, '拒绝']])
|
|
131
|
+
if (target)
|
|
132
|
+
edges.push({ id: `${node.id}:${kind}`, from: node.id, to: target, kind, label, variablePaths: [] });
|
|
133
|
+
}
|
|
134
|
+
if (node.kind === 'condition') {
|
|
135
|
+
for (const [index, branch] of (node.branches || []).entries()) {
|
|
136
|
+
const expression = workflowExpressionPaths(branch.when);
|
|
137
|
+
for (const path of expression.paths) {
|
|
138
|
+
if (!used.has(path))
|
|
139
|
+
used.set(path, new Set());
|
|
140
|
+
used.get(path).add(node.id);
|
|
141
|
+
}
|
|
142
|
+
edges.push({ id: `${node.id}:branch:${index}`, from: node.id, to: branch.target, kind: 'branch', label: branch.label || `条件 ${index + 1}`, priority: index + 1, expression: branch.when, variablePaths: expression.paths });
|
|
143
|
+
diagnostics.push(...expression.errors.map(code => ({ code, path: node.id })));
|
|
144
|
+
}
|
|
145
|
+
if (node.otherwise)
|
|
146
|
+
edges.push({ id: `${node.id}:default`, from: node.id, to: node.otherwise, kind: 'default', label: '均不满足时', variablePaths: [] });
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
const variablePaths = new Set([...used.keys(), ...Object.keys(definition.readability?.variables || {}), ...(definition.readability?.logic || []).flatMap(item => [...item.inputPaths, ...item.outputPaths || []])]);
|
|
150
|
+
const variables = [...variablePaths].slice(0, 128).map(path => {
|
|
151
|
+
const resolved = schemaPath(definition.inputSchema, path), metadata = definition.readability?.variables?.[path];
|
|
152
|
+
const segments = path.split('.'), field = definition.subject?.factProjection[segments[0]];
|
|
153
|
+
if (!resolved)
|
|
154
|
+
diagnostics.push({ code: 'WORKFLOW_VARIABLE_SOURCE_UNKNOWN', path });
|
|
155
|
+
return { path, label: metadata?.label || String(resolved?.schema.title || path), type: String(resolved?.schema.type || 'unknown'),
|
|
156
|
+
...metadata, required: resolved?.required || false, usedBy: [...used.get(path) || []],
|
|
157
|
+
source: resolved && field && definition.subject ? { kind: 'subject_field', resourceCode: definition.subject.resourceCode, fieldPath: [field, ...segments.slice(1)].join('.') } : { kind: resolved ? 'input' : 'unknown' } };
|
|
158
|
+
});
|
|
159
|
+
return { schemaVersion: 'openxiangda.workflow-graph/v2', workflowCode: definition.code, definitionDigest, startAt: definition.startAt,
|
|
160
|
+
fixedTopology: true, branchStrategy: 'first_match', nodes: Object.values(definition.nodes).map(node => ({ id: node.id, kind: node.kind, title: node.title || node.id,
|
|
161
|
+
...(node.binding ? { binding: node.binding } : {}), ...(node.mode ? { mode: node.mode } : {}), ...(node.outcome ? { outcome: node.outcome } : {}) })), edges, variables,
|
|
162
|
+
logic: definition.readability?.logic || [], diagnostics };
|
|
163
|
+
}
|
|
164
|
+
export function formatWorkflowExpression(expression, variables = [], depth = 0) {
|
|
165
|
+
if (!expression || depth > 20)
|
|
166
|
+
return '无法识别的条件';
|
|
167
|
+
if (expression.op === 'path')
|
|
168
|
+
return variables.find(variable => variable.path === expression.path)?.label || expression.path;
|
|
169
|
+
if (expression.op === 'literal')
|
|
170
|
+
return JSON.stringify(expression.value) ?? '缺值';
|
|
171
|
+
if (expression.op === 'and' || expression.op === 'or')
|
|
172
|
+
return expression.values.slice(0, 128).map(item => `(${formatWorkflowExpression(item, variables, depth + 1)})`).join(expression.op === 'and' ? ' 且 ' : ' 或 ');
|
|
173
|
+
if (expression.op === 'not' || expression.op === 'exists')
|
|
174
|
+
return `${expression.op === 'not' ? '不满足' : '存在'}(${formatWorkflowExpression(expression.value, variables, depth + 1)})`;
|
|
175
|
+
if (!('left' in expression))
|
|
176
|
+
return '无法识别的条件';
|
|
177
|
+
const labels = { eq: '=', neq: '≠', gt: '>', gte: '≥', lt: '<', lte: '≤', in: '属于', contains: '包含' };
|
|
178
|
+
const leftPath = expression.left.op === 'path' ? expression.left.path : undefined;
|
|
179
|
+
const unit = leftPath && expression.right.op === 'literal' && typeof expression.right.value === 'number'
|
|
180
|
+
? variables.find(variable => variable.path === leftPath)?.unit : undefined;
|
|
181
|
+
return `${formatWorkflowExpression(expression.left, variables, depth + 1)} ${labels[expression.op]} ${formatWorkflowExpression(expression.right, variables, depth + 1)}${unit ? ` ${unit}` : ''}`;
|
|
182
|
+
}
|
|
183
|
+
//# sourceMappingURL=workflow-graph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-graph.js","sourceRoot":"","sources":["../../src/native-compiler/workflow-graph.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { WorkflowApprovalAdministration, WorkflowConfigurableOperation, WorkflowNodeConfigurationPatch, WorkflowNodeOperationPolicy } from '../types.js';
|
|
2
|
+
export declare const WORKFLOW_CONFIGURABLE_OPERATIONS: readonly ["approve", "reject", "return", "transfer", "delegate", "add_assignee"];
|
|
3
|
+
export declare const WORKFLOW_CONFIGURABLE_PROVIDERS: readonly ["fixed_users", "app_role", "app_role_in_scope"];
|
|
4
|
+
type PolicyMap = Partial<Record<WorkflowConfigurableOperation, WorkflowNodeOperationPolicy>>;
|
|
5
|
+
export interface WorkflowAdministrationNodeSource {
|
|
6
|
+
kind: string;
|
|
7
|
+
mode?: string;
|
|
8
|
+
binding?: string;
|
|
9
|
+
allowedOperations?: string[];
|
|
10
|
+
operationPolicy?: PolicyMap;
|
|
11
|
+
administration?: WorkflowApprovalAdministration;
|
|
12
|
+
fieldPolicy?: {
|
|
13
|
+
default?: string;
|
|
14
|
+
fields?: Record<string, string>;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
type BindingSource = {
|
|
18
|
+
provider: string;
|
|
19
|
+
scope?: {
|
|
20
|
+
dimension: string;
|
|
21
|
+
value?: string;
|
|
22
|
+
valueFrom?: string;
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
export declare function workflowNodeAllowedOperations(node: WorkflowAdministrationNodeSource): string[];
|
|
26
|
+
/** Pure shared rule used before compilation, activation and configuration writes. */
|
|
27
|
+
export declare function validateWorkflowAdministration(definition: {
|
|
28
|
+
nodes?: Record<string, WorkflowAdministrationNodeSource>;
|
|
29
|
+
}, bindings?: {
|
|
30
|
+
bindings: Record<string, BindingSource>;
|
|
31
|
+
}): string[];
|
|
32
|
+
export declare function validateWorkflowNodeConfigurationPatch(node: WorkflowAdministrationNodeSource | undefined, binding: BindingSource | undefined, input: unknown): string[];
|
|
33
|
+
/** Applies only validated fields; never mutates the immutable definition. */
|
|
34
|
+
export declare function projectWorkflowNodePolicy(node: WorkflowAdministrationNodeSource, patch?: WorkflowNodeConfigurationPatch | null): {
|
|
35
|
+
mode: string | undefined;
|
|
36
|
+
allowedOperations: string[];
|
|
37
|
+
operationPolicy: Partial<Record<WorkflowConfigurableOperation, WorkflowNodeOperationPolicy>>;
|
|
38
|
+
fieldPolicy: {
|
|
39
|
+
default: string;
|
|
40
|
+
fields: {
|
|
41
|
+
[x: string]: string;
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
export {};
|
|
46
|
+
//# sourceMappingURL=workflow-node-administration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-node-administration.d.ts","sourceRoot":"","sources":["../../src/native-compiler/workflow-node-administration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,6BAA6B,EAAE,8BAA8B,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAE9J,eAAO,MAAM,gCAAgC,kFAAmF,CAAC;AACjI,eAAO,MAAM,+BAA+B,2DAA4D,CAAC;AAEzG,KAAK,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,6BAA6B,EAAE,2BAA2B,CAAC,CAAC,CAAC;AAC7F,MAAM,WAAW,gCAAgC;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,cAAc,CAAC,EAAE,8BAA8B,CAAC;IAChD,WAAW,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;CACrE;AACD,KAAK,aAAa,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC;AAK7G,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,gCAAgC,GAAG,MAAM,EAAE,CAE9F;AAUD,qFAAqF;AACrF,wBAAgB,8BAA8B,CAAC,UAAU,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gCAAgC,CAAC,CAAA;CAAE,EAAE,QAAQ,CAAC,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;CAAE,GAAG,MAAM,EAAE,CAuBzL;AAED,wBAAgB,sCAAsC,CAAC,IAAI,EAAE,gCAAgC,GAAG,SAAS,EAAE,OAAO,EAAE,aAAa,GAAG,SAAS,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAiBvK;AAED,6EAA6E;AAC7E,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,gCAAgC,EAAE,KAAK,CAAC,EAAE,8BAA8B,GAAG,IAAI;;;;;;;;;;EAa9H"}
|