@graph-ir/core 0.2.0 → 0.2.2
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/README.md +14 -2
- package/dist/canonical-types-2.d.ts +207 -0
- package/dist/canonical-types-2.d.ts.map +1 -0
- package/dist/canonical-types-2.js +3 -0
- package/dist/canonical-types-2.js.map +1 -0
- package/dist/canonical-types.d.ts +332 -0
- package/dist/canonical-types.d.ts.map +1 -0
- package/dist/canonical-types.js +3 -0
- package/dist/canonical-types.js.map +1 -0
- package/dist/generation/id-generator.d.ts.map +1 -1
- package/dist/generation/id-generator.js +16 -10
- package/dist/generation/id-generator.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/output/types.d.ts.map +1 -1
- package/dist/schemas/graph-ir-2.0.schema.json +416 -0
- package/dist/schemas/graph-ir.schema.json +1684 -228
- package/dist/skills/diff.d.ts +4 -0
- package/dist/skills/diff.d.ts.map +1 -1
- package/dist/skills/diff.js +93 -11
- package/dist/skills/diff.js.map +1 -1
- package/dist/skills/migrate.d.ts +48 -19
- package/dist/skills/migrate.d.ts.map +1 -1
- package/dist/skills/migrate.js +482 -239
- package/dist/skills/migrate.js.map +1 -1
- package/dist/skills/visualize.d.ts.map +1 -1
- package/dist/skills/visualize.js +33 -5
- package/dist/skills/visualize.js.map +1 -1
- package/dist/testing/diff.d.ts +1 -1
- package/dist/testing/diff.d.ts.map +1 -1
- package/dist/testing/diff.js +52 -19
- package/dist/testing/diff.js.map +1 -1
- package/dist/types.d.ts +13 -214
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +3 -2
- package/dist/types.js.map +1 -1
- package/dist/validation/ir-validator.d.ts +35 -44
- package/dist/validation/ir-validator.d.ts.map +1 -1
- package/dist/validation/ir-validator.js +735 -288
- package/dist/validation/ir-validator.js.map +1 -1
- package/dist/validation/validator.d.ts.map +1 -1
- package/package.json +9 -4
- package/specification.json +13 -0
package/dist/skills/diff.d.ts
CHANGED
|
@@ -15,6 +15,7 @@ export interface DiffOptions {
|
|
|
15
15
|
export interface DiffResult {
|
|
16
16
|
success: boolean;
|
|
17
17
|
changes: {
|
|
18
|
+
graph: FieldChange[];
|
|
18
19
|
nodes: {
|
|
19
20
|
added: NodeChange[];
|
|
20
21
|
removed: NodeChange[];
|
|
@@ -27,6 +28,9 @@ export interface DiffResult {
|
|
|
27
28
|
};
|
|
28
29
|
};
|
|
29
30
|
summary: {
|
|
31
|
+
graph: {
|
|
32
|
+
modified: number;
|
|
33
|
+
};
|
|
30
34
|
nodes: {
|
|
31
35
|
added: number;
|
|
32
36
|
modified: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../src/skills/diff.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../src/skills/diff.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,WAAW,WAAW;IAC1B,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,oBAAoB;IACpB,MAAM,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;IACxC,mCAAmC;IACnC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE;QACP,KAAK,EAAE,WAAW,EAAE,CAAC;QACrB,KAAK,EAAE;YACL,KAAK,EAAE,UAAU,EAAE,CAAC;YACpB,OAAO,EAAE,UAAU,EAAE,CAAC;YACtB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;SAC9B,CAAC;QACF,KAAK,EAAE;YACL,KAAK,EAAE,UAAU,EAAE,CAAC;YACpB,OAAO,EAAE,UAAU,EAAE,CAAC;YACtB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;SAC9B,CAAC;KACH,CAAC;IACF,OAAO,EAAE;QACP,KAAK,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC;QAC5B,KAAK,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;QAC5D,KAAK,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;KAC7D,CAAC;IACF,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,UAAU,UAAU;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,UAAU;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,EAAE,EAAE,OAAO,CAAC;CACb;AAED,UAAU,gBAAgB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB;AAED,UAAU,gBAAgB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB;AAID;;GAEG;AACH,wBAAgB,MAAM,CACpB,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,OAAO,EACf,OAAO,GAAE,WAAgB,GACxB,UAAU,CA+JZ"}
|
package/dist/skills/diff.js
CHANGED
|
@@ -3,17 +3,19 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Compare two Graph-IR files and display semantic differences.
|
|
5
5
|
*/
|
|
6
|
-
const DEFAULT_IGNORE = ['sourceInfo', 'position'];
|
|
7
6
|
/**
|
|
8
7
|
* Compare two Graph-IR objects
|
|
9
8
|
*/
|
|
10
9
|
export function diffIR(base, target, options = {}) {
|
|
11
|
-
const ignore = new Set(
|
|
10
|
+
const ignore = new Set(options.ignore || []);
|
|
12
11
|
const format = options.format || 'pretty';
|
|
13
12
|
try {
|
|
13
|
+
const baseGraph = graphFields(base);
|
|
14
|
+
const targetGraph = graphFields(target);
|
|
15
|
+
const graphModified = compareObjects(baseGraph, targetGraph, ignore, '', 'graph');
|
|
14
16
|
// Index nodes and edges by ID
|
|
15
|
-
const baseNodes =
|
|
16
|
-
const targetNodes =
|
|
17
|
+
const baseNodes = indexNodes(base.nodes);
|
|
18
|
+
const targetNodes = indexNodes(target.nodes);
|
|
17
19
|
const baseEdges = new Map(base.edges.map((e) => [e.id, e]));
|
|
18
20
|
const targetEdges = new Map(target.edges.map((e) => [e.id, e]));
|
|
19
21
|
// Find node changes
|
|
@@ -36,7 +38,7 @@ export function diffIR(base, target, options = {}) {
|
|
|
36
38
|
for (const [id, baseNode] of baseNodes) {
|
|
37
39
|
const targetNode = targetNodes.get(id);
|
|
38
40
|
if (targetNode) {
|
|
39
|
-
const changes = compareObjects(baseNode, targetNode, ignore);
|
|
41
|
+
const changes = compareObjects(baseNode, targetNode, ignore, '', 'node');
|
|
40
42
|
if (changes.length > 0) {
|
|
41
43
|
nodesModified.push({ id, changes });
|
|
42
44
|
}
|
|
@@ -72,17 +74,19 @@ export function diffIR(base, target, options = {}) {
|
|
|
72
74
|
for (const [id, baseEdge] of baseEdges) {
|
|
73
75
|
const targetEdge = targetEdges.get(id);
|
|
74
76
|
if (targetEdge) {
|
|
75
|
-
const changes = compareObjects(baseEdge, targetEdge, ignore);
|
|
77
|
+
const changes = compareObjects(baseEdge, targetEdge, ignore, '', 'edge');
|
|
76
78
|
if (changes.length > 0) {
|
|
77
79
|
edgesModified.push({ id, changes });
|
|
78
80
|
}
|
|
79
81
|
}
|
|
80
82
|
}
|
|
81
83
|
const changes = {
|
|
84
|
+
graph: graphModified,
|
|
82
85
|
nodes: { added: nodesAdded, removed: nodesRemoved, modified: nodesModified },
|
|
83
86
|
edges: { added: edgesAdded, removed: edgesRemoved, modified: edgesModified },
|
|
84
87
|
};
|
|
85
88
|
const summary = {
|
|
89
|
+
graph: { modified: graphModified.length },
|
|
86
90
|
nodes: {
|
|
87
91
|
added: nodesAdded.length,
|
|
88
92
|
modified: nodesModified.length,
|
|
@@ -119,10 +123,12 @@ export function diffIR(base, target, options = {}) {
|
|
|
119
123
|
return {
|
|
120
124
|
success: false,
|
|
121
125
|
changes: {
|
|
126
|
+
graph: [],
|
|
122
127
|
nodes: { added: [], removed: [], modified: [] },
|
|
123
128
|
edges: { added: [], removed: [], modified: [] },
|
|
124
129
|
},
|
|
125
130
|
summary: {
|
|
131
|
+
graph: { modified: 0 },
|
|
126
132
|
nodes: { added: 0, modified: 0, removed: 0 },
|
|
127
133
|
edges: { added: 0, modified: 0, removed: 0 },
|
|
128
134
|
},
|
|
@@ -131,14 +137,33 @@ export function diffIR(base, target, options = {}) {
|
|
|
131
137
|
};
|
|
132
138
|
}
|
|
133
139
|
}
|
|
140
|
+
function graphFields(graph) {
|
|
141
|
+
const result = { ...graph };
|
|
142
|
+
delete result.nodes;
|
|
143
|
+
delete result.edges;
|
|
144
|
+
return result;
|
|
145
|
+
}
|
|
146
|
+
function indexNodes(nodes) {
|
|
147
|
+
const result = new Map();
|
|
148
|
+
const visit = (values) => {
|
|
149
|
+
for (const node of values) {
|
|
150
|
+
result.set(node.id, node);
|
|
151
|
+
if (node.children)
|
|
152
|
+
visit(node.children);
|
|
153
|
+
}
|
|
154
|
+
};
|
|
155
|
+
visit(nodes);
|
|
156
|
+
return result;
|
|
157
|
+
}
|
|
134
158
|
/**
|
|
135
159
|
* Deep compare two objects and return field changes
|
|
136
160
|
*/
|
|
137
|
-
function compareObjects(base, target, ignore, prefix = '') {
|
|
161
|
+
function compareObjects(base, target, ignore, prefix = '', recordKind = 'none') {
|
|
138
162
|
const changes = [];
|
|
139
163
|
const allKeys = new Set([...Object.keys(base), ...Object.keys(target)]);
|
|
140
164
|
for (const key of allKeys) {
|
|
141
|
-
if (ignore.has(key)
|
|
165
|
+
if (ignore.has(key) ||
|
|
166
|
+
(recordKind !== 'none' && recordKind !== 'graph' && key === 'sourceInfo'))
|
|
142
167
|
continue;
|
|
143
168
|
const path = prefix ? `${prefix}.${key}` : key;
|
|
144
169
|
const baseVal = base[key];
|
|
@@ -155,13 +180,27 @@ function compareObjects(base, target, ignore, prefix = '') {
|
|
|
155
180
|
changes.push({ path, from: baseVal, to: targetVal });
|
|
156
181
|
}
|
|
157
182
|
}
|
|
183
|
+
else if (Array.isArray(baseVal) !== Array.isArray(targetVal)) {
|
|
184
|
+
changes.push({ path, from: baseVal, to: targetVal });
|
|
185
|
+
}
|
|
158
186
|
else if (Array.isArray(baseVal) && Array.isArray(targetVal)) {
|
|
159
|
-
|
|
160
|
-
|
|
187
|
+
const itemRecordKind = canonicalArrayItemKind(recordKind, key);
|
|
188
|
+
const maxLength = Math.max(baseVal.length, targetVal.length);
|
|
189
|
+
for (let index = 0; index < maxLength; index += 1) {
|
|
190
|
+
const itemPath = `${path}[${index}]`;
|
|
191
|
+
if (index >= baseVal.length) {
|
|
192
|
+
changes.push({ path: itemPath, from: undefined, to: targetVal[index] });
|
|
193
|
+
}
|
|
194
|
+
else if (index >= targetVal.length) {
|
|
195
|
+
changes.push({ path: itemPath, from: baseVal[index], to: undefined });
|
|
196
|
+
}
|
|
197
|
+
else {
|
|
198
|
+
changes.push(...compareValues(baseVal[index], targetVal[index], ignore, itemPath, itemRecordKind));
|
|
199
|
+
}
|
|
161
200
|
}
|
|
162
201
|
}
|
|
163
202
|
else {
|
|
164
|
-
const nested = compareObjects(baseVal, targetVal, ignore, path);
|
|
203
|
+
const nested = compareObjects(baseVal, targetVal, ignore, path, 'none');
|
|
165
204
|
changes.push(...nested);
|
|
166
205
|
}
|
|
167
206
|
}
|
|
@@ -171,9 +210,34 @@ function compareObjects(base, target, ignore, prefix = '') {
|
|
|
171
210
|
}
|
|
172
211
|
return changes;
|
|
173
212
|
}
|
|
213
|
+
function canonicalArrayItemKind(owner, key) {
|
|
214
|
+
if (owner === 'graph' && key === 'constraints')
|
|
215
|
+
return 'constraint';
|
|
216
|
+
if (owner === 'node' && key === 'children')
|
|
217
|
+
return 'node';
|
|
218
|
+
return 'none';
|
|
219
|
+
}
|
|
220
|
+
function compareValues(base, target, ignore, path, recordKind = 'none') {
|
|
221
|
+
if (base === target)
|
|
222
|
+
return [];
|
|
223
|
+
if (base !== null && target !== null &&
|
|
224
|
+
typeof base === 'object' && typeof target === 'object' &&
|
|
225
|
+
!Array.isArray(base) && !Array.isArray(target)) {
|
|
226
|
+
return compareObjects(base, target, ignore, path, recordKind);
|
|
227
|
+
}
|
|
228
|
+
if (Array.isArray(base) && Array.isArray(target)) {
|
|
229
|
+
const wrapperChanges = compareObjects({ value: base }, { value: target }, ignore, path);
|
|
230
|
+
return wrapperChanges.map((change) => ({
|
|
231
|
+
...change,
|
|
232
|
+
path: change.path.replace(`${path}.value`, path),
|
|
233
|
+
}));
|
|
234
|
+
}
|
|
235
|
+
return [{ path, from: base, to: target }];
|
|
236
|
+
}
|
|
174
237
|
function formatStatsOnly(summary, baseCount, targetCount) {
|
|
175
238
|
const lines = [];
|
|
176
239
|
const { nodes, edges } = summary;
|
|
240
|
+
lines.push(`Graph fields: ${summary.graph.modified} changed`);
|
|
177
241
|
lines.push(`Nodes: +${nodes.added} added, ${nodes.modified} modified, -${nodes.removed} removed (${baseCount} → ${targetCount})`);
|
|
178
242
|
lines.push(`Edges: +${edges.added} added, ${edges.modified} modified, -${edges.removed} removed`);
|
|
179
243
|
return lines.join('\n');
|
|
@@ -183,6 +247,14 @@ function formatPretty(changes, summary) {
|
|
|
183
247
|
lines.push('Graph-IR Diff');
|
|
184
248
|
lines.push('═'.repeat(40));
|
|
185
249
|
lines.push('');
|
|
250
|
+
lines.push('GRAPH');
|
|
251
|
+
lines.push('─'.repeat(20));
|
|
252
|
+
if (changes.graph.length === 0)
|
|
253
|
+
lines.push('(no changes)');
|
|
254
|
+
for (const change of changes.graph) {
|
|
255
|
+
lines.push(`~ ${change.path}: ${JSON.stringify(change.from)} → ${JSON.stringify(change.to)}`);
|
|
256
|
+
}
|
|
257
|
+
lines.push('');
|
|
186
258
|
// Nodes section
|
|
187
259
|
lines.push('NODES');
|
|
188
260
|
lines.push('─'.repeat(20));
|
|
@@ -260,6 +332,16 @@ function formatMarkdown(changes, summary) {
|
|
|
260
332
|
const lines = [];
|
|
261
333
|
lines.push('## Graph-IR Changes');
|
|
262
334
|
lines.push('');
|
|
335
|
+
lines.push('### Graph fields');
|
|
336
|
+
lines.push('');
|
|
337
|
+
if (changes.graph.length === 0) {
|
|
338
|
+
lines.push('_No changes_');
|
|
339
|
+
}
|
|
340
|
+
else {
|
|
341
|
+
for (const change of changes.graph)
|
|
342
|
+
lines.push(`- \`${change.path}\` changed`);
|
|
343
|
+
}
|
|
344
|
+
lines.push('');
|
|
263
345
|
// Nodes table
|
|
264
346
|
lines.push('### Nodes');
|
|
265
347
|
lines.push('');
|
package/dist/skills/diff.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff.js","sourceRoot":"","sources":["../../src/skills/diff.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"diff.js","sourceRoot":"","sources":["../../src/skills/diff.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAoEH;;GAEG;AACH,MAAM,UAAU,MAAM,CACpB,IAAa,EACb,MAAe,EACf,UAAuB,EAAE;IAEzB,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,QAAQ,CAAC;IAE1C,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,aAAa,GAAG,cAAc,CAClC,SAAoC,EACpC,WAAsC,EACtC,MAAM,EACN,EAAE,EACF,OAAO,CACR,CAAC;QACF,8BAA8B;QAC9B,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAEhE,oBAAoB;QACpB,MAAM,UAAU,GAAiB,EAAE,CAAC;QACpC,MAAM,YAAY,GAAiB,EAAE,CAAC;QACtC,MAAM,aAAa,GAAuB,EAAE,CAAC;QAE7C,uCAAuC;QACvC,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,WAAW,EAAE,CAAC;YACrC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBACvB,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;QAED,yCAAyC;QACzC,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC;YACnC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBACzB,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;QAED,0CAA0C;QAC1C,KAAK,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,SAAS,EAAE,CAAC;YACvC,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACvC,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,OAAO,GAAG,cAAc,CAC5B,QAA8C,EAC9C,UAAgD,EAChD,MAAM,EACN,EAAE,EACF,MAAM,CACP,CAAC;gBACF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvB,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC;QACH,CAAC;QAED,oBAAoB;QACpB,MAAM,UAAU,GAAiB,EAAE,CAAC;QACpC,MAAM,YAAY,GAAiB,EAAE,CAAC;QACtC,MAAM,aAAa,GAAuB,EAAE,CAAC;QAE7C,cAAc;QACd,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,WAAW,EAAE,CAAC;YACrC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBACvB,UAAU,CAAC,IAAI,CAAC;oBACd,EAAE;oBACF,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,KAAK,EAAE,IAAI,CAAC,KAAK;iBAClB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,gBAAgB;QAChB,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC;YACnC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBACzB,YAAY,CAAC,IAAI,CAAC;oBAChB,EAAE;oBACF,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,KAAK,EAAE,IAAI,CAAC,KAAK;iBAClB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,iBAAiB;QACjB,KAAK,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,SAAS,EAAE,CAAC;YACvC,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACvC,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,OAAO,GAAG,cAAc,CAC5B,QAA8C,EAC9C,UAAgD,EAChD,MAAM,EACN,EAAE,EACF,MAAM,CACP,CAAC;gBACF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvB,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG;YACd,KAAK,EAAE,aAAa;YACpB,KAAK,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE;YAC5E,KAAK,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE;SAC7E,CAAC;QAEF,MAAM,OAAO,GAAG;YACd,KAAK,EAAE,EAAE,QAAQ,EAAE,aAAa,CAAC,MAAM,EAAE;YACzC,KAAK,EAAE;gBACL,KAAK,EAAE,UAAU,CAAC,MAAM;gBACxB,QAAQ,EAAE,aAAa,CAAC,MAAM;gBAC9B,OAAO,EAAE,YAAY,CAAC,MAAM;aAC7B;YACD,KAAK,EAAE;gBACL,KAAK,EAAE,UAAU,CAAC,MAAM;gBACxB,QAAQ,EAAE,aAAa,CAAC,MAAM;gBAC9B,OAAO,EAAE,YAAY,CAAC,MAAM;aAC7B;SACF,CAAC;QAEF,gBAAgB;QAChB,IAAI,MAAc,CAAC;QACnB,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,MAAM,GAAG,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC5E,CAAC;aAAM,CAAC;YACN,QAAQ,MAAM,EAAE,CAAC;gBACf,KAAK,MAAM;oBACT,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;oBACvD,MAAM;gBACR,KAAK,UAAU;oBACb,MAAM,GAAG,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;oBAC1C,MAAM;gBACR,KAAK,QAAQ,CAAC;gBACd;oBACE,MAAM,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;oBACxC,MAAM;YACV,CAAC;QACH,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACjE,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO;YACL,OAAO,EAAE,KAAK;YACd,OAAO,EAAE;gBACP,KAAK,EAAE,EAAE;gBACT,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;gBAC/C,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;aAChD;YACD,OAAO,EAAE;gBACP,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE;gBACtB,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;gBAC5C,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;aAC7C;YACD,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;SAC3D,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,MAAM,MAAM,GAAG,EAAE,GAAG,KAAK,EAA6B,CAAC;IACvD,OAAO,MAAM,CAAC,KAAK,CAAC;IACpB,OAAO,MAAM,CAAC,KAAK,CAAC;IACpB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,UAAU,CAAC,KAAuB;IACzC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAoC,CAAC;IAC3D,MAAM,KAAK,GAAG,CAAC,MAAwB,EAAE,EAAE;QACzC,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;YAC1B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YAC1B,IAAI,IAAI,CAAC,QAAQ;gBAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC,CAAC;IACF,KAAK,CAAC,KAAK,CAAC,CAAC;IACb,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CACrB,IAA6B,EAC7B,MAA+B,EAC/B,MAAmB,EACnB,SAAiB,EAAE,EACnB,aAAkC,MAAM;IAExC,MAAM,OAAO,GAAkB,EAAE,CAAC;IAClC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAExE,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,IACE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;YACf,CAAC,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,OAAO,IAAI,GAAG,KAAK,YAAY,CAAC;YACzE,SAAS;QAEX,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;QAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1B,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAE9B,IAAI,OAAO,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YACrD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QACzD,CAAC;aAAM,IAAI,OAAO,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5D,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QACvD,CAAC;aAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YACxE,IAAI,OAAO,KAAK,IAAI,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;gBAC3C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC1B,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC/D,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;YACvD,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC9D,MAAM,cAAc,GAAG,sBAAsB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;gBAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;gBAC7D,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,SAAS,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;oBAClD,MAAM,QAAQ,GAAG,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC;oBACrC,IAAI,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;wBAC5B,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAC1E,CAAC;yBAAM,IAAI,KAAK,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;wBACrC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;oBACxE,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,IAAI,CAAC,GAAG,aAAa,CAC3B,OAAO,CAAC,KAAK,CAAC,EACd,SAAS,CAAC,KAAK,CAAC,EAChB,MAAM,EACN,QAAQ,EACR,cAAc,CACf,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,cAAc,CAC3B,OAAkC,EAClC,SAAoC,EACpC,MAAM,EACN,IAAI,EACJ,MAAM,CACP,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;aAAM,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACjC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,sBAAsB,CAC7B,KAA0B,EAC1B,GAAW;IAEX,IAAI,KAAK,KAAK,OAAO,IAAI,GAAG,KAAK,aAAa;QAAE,OAAO,YAAY,CAAC;IACpE,IAAI,KAAK,KAAK,MAAM,IAAI,GAAG,KAAK,UAAU;QAAE,OAAO,MAAM,CAAC;IAC1D,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CACpB,IAAa,EACb,MAAe,EACf,MAAmB,EACnB,IAAY,EACZ,aAAkC,MAAM;IAExC,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,EAAE,CAAC;IAC/B,IACE,IAAI,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI;QAChC,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ;QACtD,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAC9C,CAAC;QACD,OAAO,cAAc,CACnB,IAA+B,EAC/B,MAAiC,EACjC,MAAM,EACN,IAAI,EACJ,UAAU,CACX,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACjD,MAAM,cAAc,GAAG,cAAc,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QACxF,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACrC,GAAG,MAAM;YACT,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,QAAQ,EAAE,IAAI,CAAC;SACjD,CAAC,CAAC,CAAC;IACN,CAAC;IACD,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,eAAe,CACtB,OAA8B,EAC9B,SAAiB,EACjB,WAAmB;IAEnB,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAEjC,KAAK,CAAC,IAAI,CAAC,iBAAiB,OAAO,CAAC,KAAK,CAAC,QAAQ,UAAU,CAAC,CAAC;IAC9D,KAAK,CAAC,IAAI,CACR,WAAW,KAAK,CAAC,KAAK,WAAW,KAAK,CAAC,QAAQ,eAAe,KAAK,CAAC,OAAO,aAAa,SAAS,MAAM,WAAW,GAAG,CACtH,CAAC;IACF,KAAK,CAAC,IAAI,CACR,WAAW,KAAK,CAAC,KAAK,WAAW,KAAK,CAAC,QAAQ,eAAe,KAAK,CAAC,OAAO,UAAU,CACtF,CAAC;IAEF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,YAAY,CACnB,OAA8B,EAC9B,OAA8B;IAE9B,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC5B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3B,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC3D,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChG,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,gBAAgB;IAChB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAE3B,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QAChC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC7B,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACnC,IAAI,IAAI,CAAC,KAAK;gBAAE,KAAK,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;YACvD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACzC,KAAK,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;YACpC,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBACjC,KAAK,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACjE,KAAK,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACjE,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACzC,KAAK,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACnC,IAAI,IAAI,CAAC,KAAK;gBAAE,KAAK,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;YACvD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,gBAAgB;IAChB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAE3B,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QAChC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC7B,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAChD,IAAI,IAAI,CAAC,KAAK;gBAAE,KAAK,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;YACvD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACzC,KAAK,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;YACpC,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBACjC,KAAK,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACjE,KAAK,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACjE,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACzC,KAAK,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAChD,IAAI,IAAI,CAAC,KAAK;gBAAE,KAAK,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;YACvD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IAED,UAAU;IACV,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3B,KAAK,CAAC,IAAI,CACR,YAAY,OAAO,CAAC,KAAK,CAAC,KAAK,MAAM,OAAO,CAAC,KAAK,CAAC,QAAQ,MAAM,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CACzF,CAAC;IACF,KAAK,CAAC,IAAI,CACR,YAAY,OAAO,CAAC,KAAK,CAAC,KAAK,MAAM,OAAO,CAAC,KAAK,CAAC,QAAQ,MAAM,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CACzF,CAAC;IAEF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,cAAc,CACrB,OAA8B,EAC9B,OAA8B;IAE9B,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAClC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC/B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC7B,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,KAAK;YAAE,KAAK,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,IAAI,YAAY,CAAC,CAAC;IACjF,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,cAAc;IACd,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACxB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QAChC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC7B,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QAC/C,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QAEhD,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,EAAE,QAAQ,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,KAAK,IAAI,EAAE,IAAI,CAAC,CAAC;QAClF,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1D,KAAK,CAAC,IAAI,CAAC,oBAAoB,GAAG,CAAC,EAAE,YAAY,OAAO,IAAI,CAAC,CAAC;QAChE,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACzC,KAAK,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,EAAE,QAAQ,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,KAAK,IAAI,EAAE,IAAI,CAAC,CAAC;QACpF,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,cAAc;IACd,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACxB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QAChC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC7B,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAC9C,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAE9C,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,MAAM,UAAU,IAAI,CAAC,MAAM,QAAQ,IAAI,CAAC,KAAK,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5F,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1D,KAAK,CAAC,IAAI,CAAC,oBAAoB,GAAG,CAAC,EAAE,QAAQ,OAAO,IAAI,CAAC,CAAC;QAC5D,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACzC,KAAK,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,MAAM,UAAU,IAAI,CAAC,MAAM,QAAQ,IAAI,CAAC,KAAK,IAAI,EAAE,IAAI,CAAC,CAAC;QAC9F,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,UAAU;IACV,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC1B,KAAK,CAAC,IAAI,CAAC,iBAAiB,OAAO,CAAC,KAAK,CAAC,KAAK,WAAW,OAAO,CAAC,KAAK,CAAC,QAAQ,eAAe,OAAO,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;IAChI,KAAK,CAAC,IAAI,CAAC,iBAAiB,OAAO,CAAC,KAAK,CAAC,KAAK,WAAW,OAAO,CAAC,KAAK,CAAC,QAAQ,eAAe,OAAO,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;IAEhI,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
package/dist/skills/migrate.d.ts
CHANGED
|
@@ -1,25 +1,60 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import type { GraphIR, GraphIR2 } from '../types.js';
|
|
2
|
+
export interface GraphIR2To3MigrationOptions {
|
|
3
|
+
dryRun?: boolean;
|
|
4
|
+
}
|
|
5
|
+
export interface MigrationDiagnostic {
|
|
6
|
+
severity: 'error' | 'warning' | 'info';
|
|
7
|
+
code: string;
|
|
8
|
+
path: string;
|
|
9
|
+
message: string;
|
|
10
|
+
}
|
|
11
|
+
export interface GraphIR2To3MigrationChange {
|
|
12
|
+
code: string;
|
|
13
|
+
path: string;
|
|
14
|
+
message: string;
|
|
15
|
+
sourcePath?: string;
|
|
16
|
+
value?: unknown;
|
|
17
|
+
}
|
|
18
|
+
export interface GraphIR2To3MigrationLoss {
|
|
19
|
+
code: string;
|
|
20
|
+
path: string;
|
|
21
|
+
message: string;
|
|
22
|
+
value?: unknown;
|
|
23
|
+
}
|
|
24
|
+
export interface GraphIR2To3MigrationResult {
|
|
25
|
+
success: boolean;
|
|
26
|
+
migrated: GraphIR | null;
|
|
27
|
+
fromVersion: '2.0.0';
|
|
28
|
+
toVersion: '3.0.0';
|
|
29
|
+
changes: GraphIR2To3MigrationChange[];
|
|
30
|
+
losses: GraphIR2To3MigrationLoss[];
|
|
31
|
+
diagnostics: MigrationDiagnostic[];
|
|
32
|
+
errors: string[];
|
|
33
|
+
warnings: string[];
|
|
34
|
+
}
|
|
35
|
+
export declare function migrateGraphIR2To3(input: unknown, options?: GraphIR2To3MigrationOptions): GraphIR2To3MigrationResult;
|
|
7
36
|
export interface MigrationOptions {
|
|
8
|
-
/** Source version (auto-detect if not specified) */
|
|
9
37
|
fromVersion?: string;
|
|
10
|
-
/** Target version (latest if not specified) */
|
|
11
38
|
toVersion?: string;
|
|
12
|
-
/** Show what would change without modifying */
|
|
13
39
|
dryRun?: boolean;
|
|
14
|
-
/**
|
|
15
|
-
|
|
40
|
+
/**
|
|
41
|
+
* Ambiguous 1.x geometry cannot become authored 2.0 meaning automatically.
|
|
42
|
+
* 'drop' is an explicit producer decision to remove it with loss records.
|
|
43
|
+
*/
|
|
44
|
+
ambiguousGeometry?: 'error' | 'drop';
|
|
45
|
+
}
|
|
46
|
+
export interface MigrationLoss {
|
|
47
|
+
path: string;
|
|
48
|
+
field: 'position' | 'pinned' | 'dimensions' | 'routingPoints' | 'algorithmOptions';
|
|
49
|
+
reason: string;
|
|
16
50
|
}
|
|
17
51
|
export interface MigrationResult {
|
|
18
52
|
success: boolean;
|
|
19
|
-
migrated:
|
|
53
|
+
migrated: GraphIR2 | null;
|
|
20
54
|
fromVersion: string;
|
|
21
55
|
toVersion: string;
|
|
22
56
|
changes: MigrationChange[];
|
|
57
|
+
losses: MigrationLoss[];
|
|
23
58
|
errors: string[];
|
|
24
59
|
warnings: string[];
|
|
25
60
|
}
|
|
@@ -29,12 +64,6 @@ export interface MigrationChange {
|
|
|
29
64
|
description: string;
|
|
30
65
|
value?: unknown;
|
|
31
66
|
}
|
|
32
|
-
|
|
33
|
-
* Migrate a Graph-IR to the target version
|
|
34
|
-
*/
|
|
35
|
-
export declare function migrateIR(ir: unknown, options?: MigrationOptions): MigrationResult;
|
|
36
|
-
/**
|
|
37
|
-
* Format migration result for display
|
|
38
|
-
*/
|
|
67
|
+
export declare function migrateIR(input: unknown, options?: MigrationOptions): MigrationResult;
|
|
39
68
|
export declare function formatMigrationResult(result: MigrationResult, dryRun: boolean): string;
|
|
40
69
|
//# sourceMappingURL=migrate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../src/skills/migrate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../src/skills/migrate.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAWrD,MAAM,WAAW,2BAA2B;IAC1C,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,0BAA0B,EAAE,CAAC;IACtC,MAAM,EAAE,wBAAwB,EAAE,CAAC;IACnC,WAAW,EAAE,mBAAmB,EAAE,CAAC;IACnC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,2BAAgC,GACxC,0BAA0B,CAqN5B;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CACtC;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,UAAU,GAAG,QAAQ,GAAG,YAAY,GAAG,eAAe,GAAG,kBAAkB,CAAC;IACnF,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAAC;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAID,wBAAgB,SAAS,CACvB,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,gBAAqB,GAC7B,eAAe,CAmFjB;AA+OD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,CAatF"}
|