@x12i/memorix-metadata 3.0.2 → 3.0.3

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 (52) hide show
  1. package/README.md +6 -6
  2. package/dist/index.d.ts +4 -2
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +4 -2
  5. package/dist/index.js.map +1 -1
  6. package/dist/kinds.js +1 -1
  7. package/dist/kinds.js.map +1 -1
  8. package/dist/multi-agent-rule.d.ts +3 -3
  9. package/dist/multi-agent-rule.d.ts.map +1 -1
  10. package/dist/multi-agent-rule.js +7 -7
  11. package/dist/multi-agent-rule.js.map +1 -1
  12. package/dist/normalize.d.ts +2 -2
  13. package/dist/normalize.d.ts.map +1 -1
  14. package/dist/normalize.js +13 -4
  15. package/dist/normalize.js.map +1 -1
  16. package/dist/resolve.d.ts +14 -2
  17. package/dist/resolve.d.ts.map +1 -1
  18. package/dist/resolve.js +216 -131
  19. package/dist/resolve.js.map +1 -1
  20. package/dist/streams.d.ts +17 -0
  21. package/dist/streams.d.ts.map +1 -0
  22. package/dist/streams.js +76 -0
  23. package/dist/streams.js.map +1 -0
  24. package/dist/types.d.ts +70 -2
  25. package/dist/types.d.ts.map +1 -1
  26. package/dist/types.js +22 -2
  27. package/dist/types.js.map +1 -1
  28. package/dist/validate.d.ts.map +1 -1
  29. package/dist/validate.js +87 -2
  30. package/dist/validate.js.map +1 -1
  31. package/examples/custom-kinds/acme-ui-tabs.pack.json +2 -2
  32. package/examples/invalid/agent-classification.json +45 -45
  33. package/examples/invalid/broken-binding.json +49 -49
  34. package/examples/invalid/completion-mapping-with-exec-policy.json +41 -41
  35. package/examples/invalid/missing-parent.json +45 -45
  36. package/examples/invalid/operational-kind-root.json +49 -49
  37. package/examples/invalid/pipeline-unknown-service.json +38 -38
  38. package/examples/invalid/relationship-missing-rules.json +48 -48
  39. package/examples/invalid/relationship-with-storage.json +48 -48
  40. package/examples/invalid/service-with-secrets.json +47 -47
  41. package/examples/knowx/normalized/pack.json +579 -0
  42. package/examples/{ops → opx}/normalized/pack.json +61 -61
  43. package/examples/{ops → opx}/raw/agents.json +8 -8
  44. package/examples/{ops → opx}/raw/pipelines-and-sources.json +14 -14
  45. package/examples/{ops → opx}/raw/relationship-definitions.json +1 -1
  46. package/examples/{ops → opx}/raw/view-definitions.json +4 -4
  47. package/examples/{ops → opx}/raw/write-and-source-mappings.json +18 -18
  48. package/examples/{project-ops → project-opx}/normalized/pack.json +60 -60
  49. package/package.json +1 -1
  50. /package/examples/{ops → opx}/raw/abstract-bindings.json +0 -0
  51. /package/examples/{ops → opx}/raw/abstract-types.json +0 -0
  52. /package/examples/{ops → opx}/raw/object-types.json +0 -0
package/dist/resolve.js CHANGED
@@ -2,6 +2,7 @@ import { fingerprintDefinition } from "./fingerprint.js";
2
2
  import { isValidCustomKindId } from "./custom-kinds.js";
3
3
  import { KIND_TO_PACK_FIELD, PACK_DEFINITION_KINDS } from "./kind-fields.js";
4
4
  import { isMetadataKindId } from "./kinds.js";
5
+ import { parentIdsOf, } from "./types.js";
5
6
  import { validateMetadataPack } from "./validate.js";
6
7
  function defId(def) {
7
8
  return typeof def.id === "string" ? def.id : "";
@@ -38,17 +39,19 @@ function uniquePreserveAll(ids) {
38
39
  }
39
40
  return out;
40
41
  }
41
- /** True if `ancestor` appears on `descendant`'s parent chain (exclusive of self). */
42
+ /** True if `ancestor` is reachable via any parent edge from `descendant` (exclusive of self). */
42
43
  function isAncestorOf(ancestor, descendant, agents) {
43
- let current = agents.get(descendant)?.parentId ?? null;
44
+ const stack = [...parentIdsOf(agents.get(descendant))];
44
45
  const seen = new Set();
45
- while (current) {
46
+ while (stack.length) {
47
+ const current = stack.pop();
46
48
  if (current === ancestor)
47
49
  return true;
48
50
  if (seen.has(current))
49
- return false;
51
+ continue;
50
52
  seen.add(current);
51
- current = agents.get(current)?.parentId ?? null;
53
+ for (const p of parentIdsOf(agents.get(current)))
54
+ stack.push(p);
52
55
  }
53
56
  return false;
54
57
  }
@@ -62,10 +65,10 @@ export function collapseAncestorSelections(selectedAgentIds, agents) {
62
65
  return [...collapsed].sort();
63
66
  }
64
67
  /**
65
- * Resolve single-parent chain oldest-parent-first.
68
+ * Resolve parent DAG into an oldest-first linearization (stable topo).
69
+ * Supports multi-parent; single-parent chains behave as before.
66
70
  */
67
- export function resolveParentChain(agentId, agents) {
68
- const issues = [];
71
+ export function resolveParentDag(agentId, agents) {
69
72
  if (!agents.has(agentId)) {
70
73
  return {
71
74
  ok: false,
@@ -78,73 +81,96 @@ export function resolveParentChain(agentId, agents) {
78
81
  ],
79
82
  };
80
83
  }
81
- const chainRev = [];
82
- let current = agentId;
83
- const seen = new Set();
84
- while (current) {
85
- if (seen.has(current)) {
86
- const cycleStart = chainRev.indexOf(current);
87
- const cyclePath = [...chainRev.slice(cycleStart), current];
84
+ const directParents = parentIdsOf(agents.get(agentId));
85
+ const visiting = new Set();
86
+ const visited = new Set();
87
+ const order = [];
88
+ function visit(id) {
89
+ if (visiting.has(id)) {
90
+ const self = parentIdsOf(agents.get(id)).includes(id);
88
91
  return {
89
92
  ok: false,
90
93
  issues: [
91
94
  {
92
- code: chainRev.length <= 1 || (current === agentId && chainRev[0] === agentId)
93
- ? "RESOLVE-SELF-CYCLE"
94
- : "RESOLVE-CYCLE",
95
- message: `Parent cycle detected: ${[...chainRev, current].join(" -> ")}`,
95
+ code: self ? "RESOLVE-SELF-CYCLE" : "RESOLVE-CYCLE",
96
+ message: self
97
+ ? `Agent "${id}" parents itself`
98
+ : `Parent cycle detected involving "${id}" while resolving "${agentId}"`,
96
99
  agentId,
97
- path: cyclePath,
100
+ path: self ? [id, id] : [id],
98
101
  },
99
102
  ],
100
103
  };
101
104
  }
102
- seen.add(current);
103
- const agent = agents.get(current);
105
+ if (visited.has(id))
106
+ return { ok: true };
107
+ const agent = agents.get(id);
104
108
  if (!agent) {
105
- issues.push({
106
- code: "RESOLVE-MISSING-AGENT",
107
- message: `Agent "${current}" missing while resolving chain for "${agentId}"`,
108
- agentId: current,
109
- });
110
- return { ok: false, issues };
109
+ return {
110
+ ok: false,
111
+ issues: [
112
+ {
113
+ code: "RESOLVE-MISSING-AGENT",
114
+ message: `Agent "${id}" missing while resolving parents for "${agentId}"`,
115
+ agentId: id,
116
+ },
117
+ ],
118
+ };
111
119
  }
112
- if (agent.parentId === agent.id) {
120
+ const parents = parentIdsOf(agent);
121
+ if (parents.includes(id)) {
113
122
  return {
114
123
  ok: false,
115
124
  issues: [
116
125
  {
117
126
  code: "RESOLVE-SELF-CYCLE",
118
- message: `Agent "${agent.id}" parents itself`,
119
- agentId: agent.id,
120
- path: [agent.id, agent.id],
127
+ message: `Agent "${id}" parents itself`,
128
+ agentId: id,
129
+ path: [id, id],
121
130
  },
122
131
  ],
123
132
  };
124
133
  }
125
- chainRev.push(current);
126
- if (agent.parentId) {
127
- if (!agents.has(agent.parentId)) {
134
+ visiting.add(id);
135
+ for (const p of parents) {
136
+ if (!agents.has(p)) {
137
+ visiting.delete(id);
128
138
  return {
129
139
  ok: false,
130
140
  issues: [
131
141
  {
132
142
  code: "RESOLVE-MISSING-PARENT",
133
- message: `Agent "${agent.id}" references missing parent "${agent.parentId}"`,
134
- agentId: agent.id,
135
- path: [agent.id, agent.parentId],
143
+ message: `Agent "${id}" references missing parent "${p}"`,
144
+ agentId: id,
145
+ path: [id, p],
136
146
  },
137
147
  ],
138
148
  };
139
149
  }
140
- current = agent.parentId;
141
- }
142
- else {
143
- current = null;
150
+ const nested = visit(p);
151
+ if (!nested.ok) {
152
+ visiting.delete(id);
153
+ return nested;
154
+ }
144
155
  }
156
+ visiting.delete(id);
157
+ visited.add(id);
158
+ order.push(id);
159
+ return { ok: true };
145
160
  }
146
- // chainRev is newest-first (agent → … → root); reverse to oldest-parent-first
147
- return { ok: true, chain: chainRev.reverse() };
161
+ const result = visit(agentId);
162
+ if (!result.ok)
163
+ return result;
164
+ return { ok: true, chain: order, directParents };
165
+ }
166
+ /**
167
+ * Resolve parent chain oldest-parent-first (linearization of the parent DAG).
168
+ */
169
+ export function resolveParentChain(agentId, agents) {
170
+ const dag = resolveParentDag(agentId, agents);
171
+ if (!dag.ok)
172
+ return dag;
173
+ return { ok: true, chain: dag.chain };
148
174
  }
149
175
  function definitionsFromPack(pack, agentId) {
150
176
  const out = [];
@@ -195,42 +221,138 @@ function composeChain(chain, selectedAgentId, packsByAgentId) {
195
221
  return { ok: false, issues };
196
222
  }
197
223
  const inheritancePath = chain.slice(0, i + 1);
198
- for (const { kind, definition } of definitionsFromPack(pack, agentId)) {
199
- const id = defId(definition);
200
- const key = `${kind}::${id}`;
201
- const fp = fingerprintDefinition(definition);
202
- const existing = map.get(key);
224
+ applyPackDefinitions(map, pack, agentId, inheritancePath, selectedAgentId);
225
+ }
226
+ return { ok: true, map };
227
+ }
228
+ function applyPackDefinitions(map, pack, agentId, inheritancePath, selectedAgentId) {
229
+ for (const { kind, definition } of definitionsFromPack(pack, agentId)) {
230
+ const id = defId(definition);
231
+ const key = `${kind}::${id}`;
232
+ const fp = fingerprintDefinition(definition);
233
+ const existing = map.get(key);
234
+ if (!existing) {
235
+ map.set(key, {
236
+ kind,
237
+ id,
238
+ definition,
239
+ fingerprint: fp,
240
+ definedByAgentId: agentId,
241
+ inheritancePath,
242
+ selectedAgentId,
243
+ });
244
+ }
245
+ else {
246
+ map.set(key, {
247
+ kind,
248
+ id,
249
+ definition,
250
+ fingerprint: fp,
251
+ definedByAgentId: agentId,
252
+ inheritancePath,
253
+ selectedAgentId,
254
+ overridden: {
255
+ definedByAgentId: existing.definedByAgentId,
256
+ inheritancePath: existing.inheritancePath,
257
+ fingerprint: existing.fingerprint,
258
+ },
259
+ });
260
+ }
261
+ }
262
+ }
263
+ function crossMergeWorkingMaps(maps) {
264
+ const merged = new Map();
265
+ const conflicts = [];
266
+ for (const map of maps) {
267
+ for (const [key, entry] of map) {
268
+ const existing = merged.get(key);
203
269
  if (!existing) {
204
- map.set(key, {
205
- kind,
206
- id,
207
- definition,
208
- fingerprint: fp,
209
- definedByAgentId: agentId,
210
- inheritancePath,
211
- selectedAgentId,
212
- });
270
+ merged.set(key, entry);
271
+ continue;
213
272
  }
214
- else {
215
- // Complete replacement (no deep merge)
216
- map.set(key, {
217
- kind,
218
- id,
219
- definition,
220
- fingerprint: fp,
221
- definedByAgentId: agentId,
222
- inheritancePath,
223
- selectedAgentId,
224
- overridden: {
225
- definedByAgentId: existing.definedByAgentId,
226
- inheritancePath: existing.inheritancePath,
227
- fingerprint: existing.fingerprint,
228
- },
229
- });
273
+ if (existing.fingerprint === entry.fingerprint) {
274
+ if (entry.selectedAgentId < existing.selectedAgentId) {
275
+ merged.set(key, entry);
276
+ }
277
+ continue;
230
278
  }
279
+ conflicts.push({
280
+ kind: entry.kind,
281
+ id: entry.id,
282
+ left: {
283
+ kind: existing.kind,
284
+ id: existing.id,
285
+ definedByAgentId: existing.definedByAgentId,
286
+ inheritancePath: existing.inheritancePath,
287
+ selectedAgentId: existing.selectedAgentId,
288
+ fingerprint: existing.fingerprint,
289
+ overridden: existing.overridden,
290
+ },
291
+ right: {
292
+ kind: entry.kind,
293
+ id: entry.id,
294
+ definedByAgentId: entry.definedByAgentId,
295
+ inheritancePath: entry.inheritancePath,
296
+ selectedAgentId: entry.selectedAgentId,
297
+ fingerprint: entry.fingerprint,
298
+ overridden: entry.overridden,
299
+ },
300
+ reason: "Differing definitions for the same metadata kind + id from unrelated effective branches",
301
+ });
231
302
  }
232
303
  }
233
- return { ok: true, map };
304
+ if (conflicts.length)
305
+ return { ok: false, conflicts };
306
+ return { ok: true, map: merged };
307
+ }
308
+ /**
309
+ * Compose effective defs for an agent: cross-merge direct parents (recursively),
310
+ * then apply this agent's pack as complete-replace. Parent order never confers precedence.
311
+ */
312
+ function composeMultiParent(agentId, selectedAgentId, agents, packsByAgentId, memo) {
313
+ const cached = memo.get(agentId);
314
+ if (cached) {
315
+ // Re-stamp selectedAgentId for the selecting leaf
316
+ const stamped = new Map();
317
+ for (const [k, e] of cached) {
318
+ stamped.set(k, { ...e, selectedAgentId });
319
+ }
320
+ return { ok: true, map: stamped };
321
+ }
322
+ const dag = resolveParentDag(agentId, agents);
323
+ if (!dag.ok)
324
+ return { ok: false, issues: dag.issues };
325
+ const pack = packsByAgentId[agentId];
326
+ if (!pack) {
327
+ return {
328
+ ok: false,
329
+ issues: [
330
+ {
331
+ code: "RESOLVE-MISSING-PACK",
332
+ message: `No metadata pack for agent "${agentId}"`,
333
+ agentId,
334
+ },
335
+ ],
336
+ };
337
+ }
338
+ const parentMaps = [];
339
+ for (const parentId of dag.directParents) {
340
+ const parentResult = composeMultiParent(parentId, selectedAgentId, agents, packsByAgentId, memo);
341
+ if (!parentResult.ok)
342
+ return parentResult;
343
+ parentMaps.push(parentResult.map);
344
+ }
345
+ let base = new Map();
346
+ if (parentMaps.length) {
347
+ const mergedParents = crossMergeWorkingMaps(parentMaps);
348
+ if (!mergedParents.ok) {
349
+ return { ok: false, issues: [], conflicts: mergedParents.conflicts };
350
+ }
351
+ base = mergedParents.map;
352
+ }
353
+ applyPackDefinitions(base, pack, agentId, dag.chain, selectedAgentId);
354
+ memo.set(agentId, base);
355
+ return { ok: true, map: base };
234
356
  }
235
357
  function emptyPack(agentId) {
236
358
  return {
@@ -332,22 +454,23 @@ export function resolveEffectiveMetadata(input) {
332
454
  };
333
455
  }
334
456
  const chainMaps = [];
457
+ const memo = new Map();
335
458
  for (const selectedAgentId of collapsedAgentIds) {
336
- const chainResult = resolveParentChain(selectedAgentId, agents);
337
- if (!chainResult.ok) {
338
- return {
339
- ok: false,
340
- selectedAgentIds: selectedUnique,
341
- collapsedAgentIds,
342
- issues: chainResult.issues,
343
- conflicts,
344
- referenceIssues: [],
345
- effective: [],
346
- effectivePack: null,
347
- };
348
- }
349
- const composed = composeChain(chainResult.chain, selectedAgentId, input.packsByAgentId);
459
+ const composed = composeMultiParent(selectedAgentId, selectedAgentId, agents, input.packsByAgentId, memo);
350
460
  if (!composed.ok) {
461
+ const conflicts = composed.conflicts ?? [];
462
+ if (conflicts.length) {
463
+ conflicts.sort((a, b) => a.kind.localeCompare(b.kind) ||
464
+ a.id.localeCompare(b.id) ||
465
+ a.left.selectedAgentId.localeCompare(b.left.selectedAgentId));
466
+ for (const c of conflicts) {
467
+ if (c.left.selectedAgentId > c.right.selectedAgentId) {
468
+ const tmp = c.left;
469
+ c.left = c.right;
470
+ c.right = tmp;
471
+ }
472
+ }
473
+ }
351
474
  return {
352
475
  ok: false,
353
476
  selectedAgentIds: selectedUnique,
@@ -362,51 +485,12 @@ export function resolveEffectiveMetadata(input) {
362
485
  chainMaps.push({ selectedAgentId, map: composed.map });
363
486
  }
364
487
  // Additive merge across unrelated effective agents
365
- const merged = new Map();
366
- for (const { map } of chainMaps) {
367
- for (const [key, entry] of map) {
368
- const existing = merged.get(key);
369
- if (!existing) {
370
- merged.set(key, entry);
371
- continue;
372
- }
373
- if (existing.fingerprint === entry.fingerprint) {
374
- // Identical — dedupe; keep lexicographically smaller selectedAgentId for stability
375
- if (entry.selectedAgentId < existing.selectedAgentId) {
376
- merged.set(key, entry);
377
- }
378
- continue;
379
- }
380
- conflicts.push({
381
- kind: entry.kind,
382
- id: entry.id,
383
- left: {
384
- kind: existing.kind,
385
- id: existing.id,
386
- definedByAgentId: existing.definedByAgentId,
387
- inheritancePath: existing.inheritancePath,
388
- selectedAgentId: existing.selectedAgentId,
389
- fingerprint: existing.fingerprint,
390
- overridden: existing.overridden,
391
- },
392
- right: {
393
- kind: entry.kind,
394
- id: entry.id,
395
- definedByAgentId: entry.definedByAgentId,
396
- inheritancePath: entry.inheritancePath,
397
- selectedAgentId: entry.selectedAgentId,
398
- fingerprint: entry.fingerprint,
399
- overridden: entry.overridden,
400
- },
401
- reason: "Differing definitions for the same metadata kind + id from unrelated effective branches",
402
- });
403
- }
404
- }
405
- if (conflicts.length) {
488
+ const mergeResult = crossMergeWorkingMaps(chainMaps.map((c) => c.map));
489
+ if (!mergeResult.ok) {
490
+ const conflicts = mergeResult.conflicts;
406
491
  conflicts.sort((a, b) => a.kind.localeCompare(b.kind) ||
407
492
  a.id.localeCompare(b.id) ||
408
493
  a.left.selectedAgentId.localeCompare(b.left.selectedAgentId));
409
- // Normalize left/right by selectedAgentId for deterministic conflict reports
410
494
  for (const c of conflicts) {
411
495
  if (c.left.selectedAgentId > c.right.selectedAgentId) {
412
496
  const tmp = c.left;
@@ -425,6 +509,7 @@ export function resolveEffectiveMetadata(input) {
425
509
  effectivePack: null,
426
510
  };
427
511
  }
512
+ const merged = mergeResult.map;
428
513
  const effective = [...merged.values()]
429
514
  .map(entryToEffective)
430
515
  .sort((a, b) => a.kind.localeCompare(b.kind) || a.id.localeCompare(b.id));
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../src/resolve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../src/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAuB,MAAM,YAAY,CAAC;AACnE,OAAO,EACL,WAAW,GAIZ,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AA+DrD,SAAS,KAAK,CAAC,GAA4B;IACzC,OAAO,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAClD,CAAC;AAED,SAAS,WAAW,CAAC,cAA4C;IAC/D,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,MAAM,MAAM,GAAG,IAAI,GAAG,EAA2B,CAAC;IAClD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;QACjD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;YAClC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAC3C,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IACD,yDAAyD;IACzD,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;QAClD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;YAChF,IAAI,QAAQ;gBAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IACD,KAAK,GAAG,CAAC;IACT,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAa;IACtC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YAClB,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACb,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,iGAAiG;AACjG,SAAS,YAAY,CACnB,QAAgB,EAChB,UAAkB,EAClB,MAAoC;IAEpC,MAAM,KAAK,GAAG,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACvD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,EAAG,CAAC;QAC7B,IAAI,OAAO,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QACtC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,SAAS;QAChC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClB,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CACxC,gBAA0B,EAC1B,MAAoC;IAEpC,MAAM,MAAM,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IACnD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAC7B,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,EAAE,IAAI,YAAY,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CACjF,CAAC;IACF,OAAO,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;AAC/B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,OAAe,EACf,MAAoC;IAEpC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE;gBACN;oBACE,IAAI,EAAE,uBAAuB;oBAC7B,OAAO,EAAE,mBAAmB,OAAO,kBAAkB;oBACrD,OAAO;iBACR;aACF;SACF,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,SAAS,KAAK,CAAC,EAAU;QACvB,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACtD,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE;oBACN;wBACE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,eAAe;wBACnD,OAAO,EAAE,IAAI;4BACX,CAAC,CAAC,UAAU,EAAE,kBAAkB;4BAChC,CAAC,CAAC,oCAAoC,EAAE,sBAAsB,OAAO,GAAG;wBAC1E,OAAO;wBACP,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;qBAC7B;iBACF;aACF,CAAC;QACJ,CAAC;QACD,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;QAEzC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE;oBACN;wBACE,IAAI,EAAE,uBAAuB;wBAC7B,OAAO,EAAE,UAAU,EAAE,0CAA0C,OAAO,GAAG;wBACzE,OAAO,EAAE,EAAE;qBACZ;iBACF;aACF,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YACzB,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE;oBACN;wBACE,IAAI,EAAE,oBAAoB;wBAC1B,OAAO,EAAE,UAAU,EAAE,kBAAkB;wBACvC,OAAO,EAAE,EAAE;wBACX,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;qBACf;iBACF;aACF,CAAC;QACJ,CAAC;QAED,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnB,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACpB,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,MAAM,EAAE;wBACN;4BACE,IAAI,EAAE,wBAAwB;4BAC9B,OAAO,EAAE,UAAU,EAAE,gCAAgC,CAAC,GAAG;4BACzD,OAAO,EAAE,EAAE;4BACX,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;yBACd;qBACF;iBACF,CAAC;YACJ,CAAC;YACD,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACpB,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QACD,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACtB,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9B,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,MAAM,CAAC;IAE9B,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAe,EACf,MAAoC;IAEpC,MAAM,GAAG,GAAG,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC9C,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,OAAO,GAAG,CAAC;IACxB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;AACxC,CAAC;AAaD,SAAS,mBAAmB,CAC1B,IAAkB,EAClB,OAAe;IAEf,MAAM,GAAG,GAAyE,EAAE,CAAC;IACrF,KAAK,MAAM,IAAI,IAAI,qBAAqB,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;YAAE,SAAS;QAClC,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,SAAS;YAChD,MAAM,GAAG,GAAG,IAA+B,CAAC;YAC5C,yFAAyF;YACzF,IAAI,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,OAAO;gBAAE,SAAS;YAC1D,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;gBAAE,SAAS;YAC1B,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;IACzC,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACzD,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,SAAS;QACpE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,SAAS;YAChD,MAAM,GAAG,GAAG,IAA+B,CAAC;YAC5C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;gBAAE,SAAS;YAC1B,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,YAAY,CACnB,KAAe,EACf,eAAuB,EACvB,cAA4C;IAE5C,MAAM,GAAG,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC5C,MAAM,MAAM,GAAmB,EAAE,CAAC;IAElC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,sBAAsB;gBAC5B,OAAO,EAAE,+BAA+B,OAAO,GAAG;gBAClD,OAAO;aACR,CAAC,CAAC;YACH,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAC/B,CAAC;QACD,MAAM,eAAe,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9C,oBAAoB,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC;IAC7E,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;AAC3B,CAAC;AAED,SAAS,oBAAoB,CAC3B,GAA8B,EAC9B,IAAkB,EAClB,OAAe,EACf,eAAyB,EACzB,eAAuB;IAEvB,KAAK,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;QACtE,MAAM,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;QAC7B,MAAM,GAAG,GAAG,GAAG,IAAI,KAAK,EAAE,EAAE,CAAC;QAC7B,MAAM,EAAE,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE;gBACX,IAAI;gBACJ,EAAE;gBACF,UAAU;gBACV,WAAW,EAAE,EAAE;gBACf,gBAAgB,EAAE,OAAO;gBACzB,eAAe;gBACf,eAAe;aAChB,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE;gBACX,IAAI;gBACJ,EAAE;gBACF,UAAU;gBACV,WAAW,EAAE,EAAE;gBACf,gBAAgB,EAAE,OAAO;gBACzB,eAAe;gBACf,eAAe;gBACf,UAAU,EAAE;oBACV,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;oBAC3C,eAAe,EAAE,QAAQ,CAAC,eAAe;oBACzC,WAAW,EAAE,QAAQ,CAAC,WAAW;iBAClC;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAC5B,IAAiC;IAEjC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC/C,MAAM,SAAS,GAAqB,EAAE,CAAC;IACvC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBACvB,SAAS;YACX,CAAC;YACD,IAAI,QAAQ,CAAC,WAAW,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC;gBAC/C,IAAI,KAAK,CAAC,eAAe,GAAG,QAAQ,CAAC,eAAe,EAAE,CAAC;oBACrD,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBACzB,CAAC;gBACD,SAAS;YACX,CAAC;YACD,SAAS,CAAC,IAAI,CAAC;gBACb,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,EAAE,EAAE,QAAQ,CAAC,EAAE;oBACf,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;oBAC3C,eAAe,EAAE,QAAQ,CAAC,eAAe;oBACzC,eAAe,EAAE,QAAQ,CAAC,eAAe;oBACzC,WAAW,EAAE,QAAQ,CAAC,WAAW;oBACjC,UAAU,EAAE,QAAQ,CAAC,UAAU;iBAChC;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,EAAE,EAAE,KAAK,CAAC,EAAE;oBACZ,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;oBACxC,eAAe,EAAE,KAAK,CAAC,eAAe;oBACtC,eAAe,EAAE,KAAK,CAAC,eAAe;oBACtC,WAAW,EAAE,KAAK,CAAC,WAAW;oBAC9B,UAAU,EAAE,KAAK,CAAC,UAAU;iBAC7B;gBACD,MAAM,EACJ,yFAAyF;aAC5F,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,IAAI,SAAS,CAAC,MAAM;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IACtD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;AACnC,CAAC;AAED;;;GAGG;AACH,SAAS,kBAAkB,CACzB,OAAe,EACf,eAAuB,EACvB,MAAoC,EACpC,cAA4C,EAC5C,IAA4C;IAI5C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACjC,IAAI,MAAM,EAAE,CAAC;QACX,kDAAkD;QAClD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAwB,CAAC;QAChD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;IACpC,CAAC;IAED,MAAM,GAAG,GAAG,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC9C,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;IAEtD,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACrC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE;gBACN;oBACE,IAAI,EAAE,sBAAsB;oBAC5B,OAAO,EAAE,+BAA+B,OAAO,GAAG;oBAClD,OAAO;iBACR;aACF;SACF,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAgC,EAAE,CAAC;IACnD,KAAK,MAAM,QAAQ,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;QACzC,MAAM,YAAY,GAAG,kBAAkB,CACrC,QAAQ,EACR,eAAe,EACf,MAAM,EACN,cAAc,EACd,IAAI,CACL,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,EAAE;YAAE,OAAO,YAAY,CAAC;QAC1C,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,IAAI,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC3C,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;QACtB,MAAM,aAAa,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;QACxD,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC;YACtB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,aAAa,CAAC,SAAS,EAAE,CAAC;QACvE,CAAC;QACD,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC;IAC3B,CAAC;IAED,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IACtE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACxB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;AACjC,CAAC;AAED,SAAS,SAAS,CAAC,OAAe;IAChC,OAAO;QACL,MAAM,EAAE,oBAAoB;QAC5B,OAAO;QACP,MAAM,EAAE,EAAE;QACV,WAAW,EAAE,EAAE;QACf,aAAa,EAAE,EAAE;QACjB,gBAAgB,EAAE,EAAE;QACpB,uBAAuB,EAAE,EAAE;QAC3B,QAAQ,EAAE,EAAE;QACZ,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,EAAE;QACb,SAAS,EAAE,EAAE;QACb,gBAAgB,EAAE,EAAE;QACpB,UAAU,EAAE,EAAE;KACf,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CACvB,GAA8B,EAC9B,OAAe,EACf,WAAyC;IAEzC,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAChC,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC;QACjC,IAAI,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAyC,CAAC;YAChE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC7B,CAAC;aAAM,IAAI,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,IAAI,CAAC,UAAU;gBAAE,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YAC3C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACnE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAE,CAAC,IAAI,CAC/B,KAAK,CAAC,UAAsD,CAC7D,CAAC;QACJ,CAAC;IACH,CAAC;IACD,kEAAkE;IAClE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC;QAC/C,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,CAAC;YAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAmB;IAC3C,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,UAAU,EAAE;YACV,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;YACxC,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,UAAU,EAAE,KAAK,CAAC,UAAU;SAC7B;KACF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAGxC;IACC,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IACjD,MAAM,cAAc,GAAG,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACzD,MAAM,iBAAiB,GAAG,0BAA0B,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IAE7E,MAAM,MAAM,GAAmB,EAAE,CAAC;IAClC,MAAM,SAAS,GAAqB,EAAE,CAAC;IAEvC,oCAAoC;IACpC,KAAK,MAAM,EAAE,IAAI,iBAAiB,EAAE,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,uBAAuB;gBAC7B,OAAO,EAAE,mBAAmB,EAAE,kBAAkB;gBAChD,OAAO,EAAE,EAAE;aACZ,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,sBAAsB;gBAC5B,OAAO,EAAE,wCAAwC,EAAE,GAAG;gBACtD,OAAO,EAAE,EAAE;aACZ,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,gBAAgB,EAAE,cAAc;YAChC,iBAAiB;YACjB,MAAM;YACN,SAAS;YACT,eAAe,EAAE,EAAE;YACnB,SAAS,EAAE,EAAE;YACb,aAAa,EAAE,IAAI;SACpB,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAuE,EAAE,CAAC;IACzF,MAAM,IAAI,GAAG,IAAI,GAAG,EAAqC,CAAC;IAE1D,KAAK,MAAM,eAAe,IAAI,iBAAiB,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAG,kBAAkB,CACjC,eAAe,EACf,eAAe,EACf,MAAM,EACN,KAAK,CAAC,cAAc,EACpB,IAAI,CACL,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC;YAC3C,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;gBACrB,SAAS,CAAC,IAAI,CACZ,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC5B,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;oBACxB,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAC/D,CAAC;gBACF,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;oBAC1B,IAAI,CAAC,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;wBACrD,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC;wBACnB,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC;wBACjB,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC;oBAChB,CAAC;gBACH,CAAC;YACH,CAAC;YACD,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,gBAAgB,EAAE,cAAc;gBAChC,iBAAiB;gBACjB,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,SAAS;gBACT,eAAe,EAAE,EAAE;gBACnB,SAAS,EAAE,EAAE;gBACb,aAAa,EAAE,IAAI;aACpB,CAAC;QACJ,CAAC;QACD,SAAS,CAAC,IAAI,CAAC,EAAE,eAAe,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,mDAAmD;IACnD,MAAM,WAAW,GAAG,qBAAqB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACvE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;QACpB,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;QACxC,SAAS,CAAC,IAAI,CACZ,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;YAC5B,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;YACxB,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAC/D,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;YAC1B,IAAI,CAAC,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;gBACrD,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC;gBACjB,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC;YAChB,CAAC;QACH,CAAC;QACD,OAAO;YACL,EAAE,EAAE,KAAK;YACT,gBAAgB,EAAE,cAAc;YAChC,iBAAiB;YACjB,MAAM;YACN,SAAS;YACT,eAAe,EAAE,EAAE;YACnB,SAAS,EAAE,EAAE;YACb,aAAa,EAAE,IAAI;SACpB,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC;IAE/B,MAAM,SAAS,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;SACnC,GAAG,CAAC,gBAAgB,CAAC;SACrB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAE5E,MAAM,cAAc,GAAG,iBAAiB,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC;IAC3D,MAAM,aAAa,GAAG,gBAAgB,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;IACvE,uEAAuE;IACvE,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,KAAK,MAAM,GAAG,IAAI,CAAC,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;YAC/C,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC1D,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;IACH,CAAC;IACD,aAAa,CAAC,OAAO,GAAG,cAAc,CAAC;IACvC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,cAAc,CAAC,EAAE,CAAC;QAC/D,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACrC,IAAI,CAAC;YAAE,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,GAAG,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAEhD,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,gBAAgB,EAAE,cAAc;QAChC,iBAAiB;QACjB,MAAM;QACN,SAAS;QACT,eAAe,EAAE,GAAG,CAAC,MAAM;QAC3B,SAAS;QACT,aAAa,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa;KACtD,CAAC;AACJ,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,eAAe,CAC7B,OAAe,EACf,cAA4C;IAE5C,MAAM,MAAM,GAAG,WAAW,CAAC,cAAc,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;IAC7C,MAAM,MAAM,GAAmB,EAAE,CAAC;IAClC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,uBAAuB;YAC7B,OAAO,EAAE,UAAU,OAAO,kBAAkB;YAC5C,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,sBAAsB;YAC5B,OAAO,EAAE,+BAA+B,OAAO,GAAG;YAClD,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IACD,OAAO;QACL,OAAO;QACP,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI;QAClC,IAAI;QACJ,MAAM;KACP,CAAC;AACJ,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,yBAAyB,CAAC,KAGzC;IACC,OAAO,wBAAwB,CAAC,KAAK,CAAC,CAAC;AACzC,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { SourceDefinition, SourceRouteDefinition, SourceStreamDefinition, SourceWorkflowDefinition } from "./types.js";
2
+ /** Derive a stable-enough stream id from a legacy route (FR-043). */
3
+ export declare function derivedStreamId(route: SourceRouteDefinition): string;
4
+ /**
5
+ * Resolve durable streams for a source.
6
+ * Prefer authored `streams[]`; otherwise adapt each route into one collect stream.
7
+ */
8
+ export declare function resolveSourceStreams(source: SourceDefinition): SourceStreamDefinition[];
9
+ export declare function routeToStream(route: SourceRouteDefinition): SourceStreamDefinition;
10
+ export declare function streamToRoute(stream: SourceStreamDefinition): SourceRouteDefinition;
11
+ /**
12
+ * Compatibility workflow: one independent collect step per stream (FR-043).
13
+ */
14
+ export declare function resolveSourceWorkflow(source: SourceDefinition): SourceWorkflowDefinition;
15
+ /** Find a stream by id after resolving authored or derived streams. */
16
+ export declare function findSourceStream(source: SourceDefinition, streamId: string): SourceStreamDefinition | null;
17
+ //# sourceMappingURL=streams.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streams.d.ts","sourceRoot":"","sources":["../src/streams.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EAEzB,MAAM,YAAY,CAAC;AAEpB,qEAAqE;AACrE,wBAAgB,eAAe,CAAC,KAAK,EAAE,qBAAqB,GAAG,MAAM,CAKpE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,gBAAgB,GAAG,sBAAsB,EAAE,CAYvF;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,qBAAqB,GAAG,sBAAsB,CAclF;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,sBAAsB,GAAG,qBAAqB,CAYnF;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,gBAAgB,GAAG,wBAAwB,CAaxF;AAED,uEAAuE;AACvE,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,gBAAgB,EACxB,QAAQ,EAAE,MAAM,GACf,sBAAsB,GAAG,IAAI,CAG/B"}
@@ -0,0 +1,76 @@
1
+ /** Derive a stable-enough stream id from a legacy route (FR-043). */
2
+ export function derivedStreamId(route) {
3
+ if (route.streamId?.trim())
4
+ return route.streamId.trim();
5
+ const ep = (route.endpoint ?? "").trim().replace(/^\/+/, "").replace(/\/+/g, "_");
6
+ const ot = (route.objectType ?? "").trim();
7
+ return `route:${ep || "unknown"}:${ot || "unknown"}`;
8
+ }
9
+ /**
10
+ * Resolve durable streams for a source.
11
+ * Prefer authored `streams[]`; otherwise adapt each route into one collect stream.
12
+ */
13
+ export function resolveSourceStreams(source) {
14
+ if (Array.isArray(source.streams) && source.streams.length > 0) {
15
+ return source.streams.map((s) => ({
16
+ ...s,
17
+ streamId: s.streamId.trim(),
18
+ endpoint: s.endpoint,
19
+ objectType: s.objectType,
20
+ dataCategory: s.dataCategory,
21
+ derivedFromRoute: s.derivedFromRoute === true,
22
+ }));
23
+ }
24
+ return (source.routes ?? []).map((route) => routeToStream(route));
25
+ }
26
+ export function routeToStream(route) {
27
+ return {
28
+ streamId: derivedStreamId(route),
29
+ name: route.endpoint,
30
+ endpoint: route.endpoint,
31
+ objectType: route.objectType,
32
+ dataCategory: route.dataCategory,
33
+ identityPath: route.identityPath,
34
+ primaryKind: route.primaryKind,
35
+ modes: route.modes,
36
+ pageSize: route.pageSize,
37
+ checkpoint: route.checkpoint,
38
+ derivedFromRoute: !route.streamId?.trim(),
39
+ };
40
+ }
41
+ export function streamToRoute(stream) {
42
+ return {
43
+ endpoint: stream.endpoint,
44
+ objectType: stream.objectType,
45
+ dataCategory: stream.dataCategory,
46
+ identityPath: stream.identityPath,
47
+ primaryKind: stream.primaryKind,
48
+ modes: stream.modes,
49
+ pageSize: stream.pageSize,
50
+ checkpoint: stream.checkpoint,
51
+ streamId: stream.streamId,
52
+ };
53
+ }
54
+ /**
55
+ * Compatibility workflow: one independent collect step per stream (FR-043).
56
+ */
57
+ export function resolveSourceWorkflow(source) {
58
+ if (source.workflow?.steps?.length) {
59
+ return { steps: source.workflow.steps.map((s) => ({ ...s })) };
60
+ }
61
+ const streams = resolveSourceStreams(source);
62
+ const steps = streams.map((stream) => ({
63
+ id: `collect-${stream.streamId}`,
64
+ name: stream.name ?? stream.endpoint,
65
+ kind: "collect",
66
+ streamIds: [stream.streamId],
67
+ providerOperation: stream.endpoint,
68
+ }));
69
+ return { steps };
70
+ }
71
+ /** Find a stream by id after resolving authored or derived streams. */
72
+ export function findSourceStream(source, streamId) {
73
+ const id = streamId.trim();
74
+ return resolveSourceStreams(source).find((s) => s.streamId === id) ?? null;
75
+ }
76
+ //# sourceMappingURL=streams.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streams.js","sourceRoot":"","sources":["../src/streams.ts"],"names":[],"mappings":"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"}