@roarpeng/graphflow 1.9.14 → 1.9.15

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 (95) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +21 -8
  3. package/README.zh.md +14 -6
  4. package/cordis.patch.yml +16 -4
  5. package/dist/graph/context-slicer-types.d.ts +7 -1
  6. package/dist/graph/context-slicer-types.d.ts.map +1 -1
  7. package/dist/graph/context-slicer-types.js.map +1 -1
  8. package/dist/graph/context-slicer.d.ts +6 -1
  9. package/dist/graph/context-slicer.d.ts.map +1 -1
  10. package/dist/graph/context-slicer.js +120 -39
  11. package/dist/graph/context-slicer.js.map +1 -1
  12. package/dist/graph/token-savings.d.ts +13 -0
  13. package/dist/graph/token-savings.d.ts.map +1 -1
  14. package/dist/graph/token-savings.js +36 -6
  15. package/dist/graph/token-savings.js.map +1 -1
  16. package/dist/hooks/auto-capture.d.ts +3 -2
  17. package/dist/hooks/auto-capture.d.ts.map +1 -1
  18. package/dist/hooks/auto-capture.js +3 -2
  19. package/dist/hooks/auto-capture.js.map +1 -1
  20. package/dist/index.d.ts +6 -2
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +13 -2
  23. package/dist/index.js.map +1 -1
  24. package/dist/integrations/claude-code-hooks.d.ts +6 -3
  25. package/dist/integrations/claude-code-hooks.d.ts.map +1 -1
  26. package/dist/integrations/claude-code-hooks.js +20 -8
  27. package/dist/integrations/claude-code-hooks.js.map +1 -1
  28. package/dist/integrations/dsh-harness-installer.d.ts +5 -1
  29. package/dist/integrations/dsh-harness-installer.d.ts.map +1 -1
  30. package/dist/integrations/dsh-harness-installer.js +24 -6
  31. package/dist/integrations/dsh-harness-installer.js.map +1 -1
  32. package/dist/learning/canary-gate.d.ts +5 -2
  33. package/dist/learning/canary-gate.d.ts.map +1 -1
  34. package/dist/learning/canary-gate.js +11 -3
  35. package/dist/learning/canary-gate.js.map +1 -1
  36. package/dist/learning/episodic-memory.d.ts +16 -0
  37. package/dist/learning/episodic-memory.d.ts.map +1 -1
  38. package/dist/learning/episodic-memory.js +61 -1
  39. package/dist/learning/episodic-memory.js.map +1 -1
  40. package/dist/learning/skill-admission.d.ts +38 -0
  41. package/dist/learning/skill-admission.d.ts.map +1 -0
  42. package/dist/learning/skill-admission.js +195 -0
  43. package/dist/learning/skill-admission.js.map +1 -0
  44. package/dist/learning/skill-consolidate.d.ts +4 -1
  45. package/dist/learning/skill-consolidate.d.ts.map +1 -1
  46. package/dist/learning/skill-consolidate.js +56 -6
  47. package/dist/learning/skill-consolidate.js.map +1 -1
  48. package/dist/learning/skill-flywheel.d.ts +8 -2
  49. package/dist/learning/skill-flywheel.d.ts.map +1 -1
  50. package/dist/learning/skill-flywheel.js +65 -38
  51. package/dist/learning/skill-flywheel.js.map +1 -1
  52. package/dist/learning/skill-opt-lite.d.ts +17 -0
  53. package/dist/learning/skill-opt-lite.d.ts.map +1 -1
  54. package/dist/learning/skill-opt-lite.js +108 -0
  55. package/dist/learning/skill-opt-lite.js.map +1 -1
  56. package/dist/learning/skill-store.d.ts.map +1 -1
  57. package/dist/learning/skill-store.js +44 -4
  58. package/dist/learning/skill-store.js.map +1 -1
  59. package/dist/learning/skill-types.d.ts +15 -0
  60. package/dist/learning/skill-types.d.ts.map +1 -1
  61. package/dist/learning/skill-types.js +11 -0
  62. package/dist/learning/skill-types.js.map +1 -1
  63. package/dist/learning/workflow-skill.d.ts +25 -0
  64. package/dist/learning/workflow-skill.d.ts.map +1 -0
  65. package/dist/learning/workflow-skill.js +91 -0
  66. package/dist/learning/workflow-skill.js.map +1 -0
  67. package/dist/surfaces/cli/index.js +1 -1
  68. package/dist/surfaces/cli/index.js.map +1 -1
  69. package/dist/surfaces/cli/init.d.ts.map +1 -1
  70. package/dist/surfaces/cli/init.js +9 -1
  71. package/dist/surfaces/cli/init.js.map +1 -1
  72. package/dist/surfaces/cli/output.js +1 -1
  73. package/dist/surfaces/cli/output.js.map +1 -1
  74. package/dist/surfaces/cli/runtime/graph.d.ts +14 -21
  75. package/dist/surfaces/cli/runtime/graph.d.ts.map +1 -1
  76. package/dist/surfaces/cli/runtime/graph.js +59 -21
  77. package/dist/surfaces/cli/runtime/graph.js.map +1 -1
  78. package/dist/surfaces/cli/runtime/memory.d.ts +7 -6
  79. package/dist/surfaces/cli/runtime/memory.d.ts.map +1 -1
  80. package/dist/surfaces/cli/runtime/memory.js +12 -21
  81. package/dist/surfaces/cli/runtime/memory.js.map +1 -1
  82. package/dist/surfaces/cli/runtime/routing.d.ts +4 -1
  83. package/dist/surfaces/cli/runtime/routing.d.ts.map +1 -1
  84. package/dist/surfaces/cli/runtime/routing.js +10 -4
  85. package/dist/surfaces/cli/runtime/routing.js.map +1 -1
  86. package/dist/surfaces/cli/runtime/types.d.ts +15 -0
  87. package/dist/surfaces/cli/runtime/types.d.ts.map +1 -1
  88. package/dist/surfaces/mcp/tool-definitions.js +1 -1
  89. package/dist/surfaces/mcp/tool-definitions.js.map +1 -1
  90. package/dist/surfaces/trae-skill/graphflow/SKILL.md +5 -4
  91. package/dsh/plugin.mjs +255 -0
  92. package/package.json +10 -1
  93. package/plugin.json +2 -2
  94. package/skills/graphflow/SKILL.md +5 -4
  95. package/src/surfaces/trae-skill/graphflow/SKILL.md +5 -4
@@ -11,6 +11,8 @@ exports.applySkillConsolidation = applySkillConsolidation;
11
11
  exports.planFromRequest = planFromRequest;
12
12
  const canary_gate_1 = require("./canary-gate");
13
13
  const skill_store_1 = require("./skill-store");
14
+ const skill_types_1 = require("./skill-types");
15
+ const skill_admission_1 = require("./skill-admission");
14
16
  const DEFAULT_VERY_LOW_SCORE = -10;
15
17
  /** Normalize skill names for near-duplicate detection (lowercase + hyphen). */
16
18
  function normalizeSkillNameKey(name) {
@@ -42,6 +44,22 @@ function pickSurvivor(group) {
42
44
  a.id.localeCompare(b.id));
43
45
  })[0];
44
46
  }
47
+ function mergePlaybook(...parts) {
48
+ const seen = new Set();
49
+ const bullets = [];
50
+ for (const part of parts) {
51
+ if (!part)
52
+ continue;
53
+ for (const bullet of part) {
54
+ const key = bullet.text.trim().toLowerCase().replace(/^[-*•]\s+/, "");
55
+ if (!key || seen.has(key))
56
+ continue;
57
+ seen.add(key);
58
+ bullets.push({ ...bullet });
59
+ }
60
+ }
61
+ return bullets.length > 0 ? bullets : undefined;
62
+ }
45
63
  function mergeGuidance(...parts) {
46
64
  const seen = new Set();
47
65
  const lines = [];
@@ -57,6 +75,12 @@ function mergeGuidance(...parts) {
57
75
  }
58
76
  return lines.length > 0 ? lines.join("\n") : undefined;
59
77
  }
78
+ function guidanceFromSkill(skill) {
79
+ if (skill.playbook && skill.playbook.length > 0) {
80
+ return (0, skill_types_1.serializePlaybookGuidance)(skill.playbook);
81
+ }
82
+ return skill.guidance;
83
+ }
60
84
  /**
61
85
  * Plan consolidation actions for a skill inventory.
62
86
  * Prefer UPDATE (merge / refresh) over DELETE+ADD. Anti-pattern hard-delete
@@ -83,7 +107,10 @@ function planSkillConsolidation(skills, options) {
83
107
  const duplicates = group.filter((s) => s.id !== survivor.id);
84
108
  const mergedUses = group.reduce((sum, s) => sum + s.uses, 0);
85
109
  const mergedScore = Math.max(...group.map((s) => s.score));
86
- const mergedGuidance = mergeGuidance(survivor.guidance, ...duplicates.map((d) => d.guidance));
110
+ const mergedPlaybook = mergePlaybook(survivor.playbook, ...duplicates.map((d) => d.playbook));
111
+ const mergedGuidance = mergedPlaybook
112
+ ? (0, skill_types_1.serializePlaybookGuidance)(mergedPlaybook)
113
+ : mergeGuidance(guidanceFromSkill(survivor), ...duplicates.map((d) => guidanceFromSkill(d)));
87
114
  const outcomeKind = group.find((s) => s.outcomeKind === "proven")?.outcomeKind ??
88
115
  survivor.outcomeKind ??
89
116
  group.find((s) => s.outcomeKind)?.outcomeKind;
@@ -96,6 +123,7 @@ function planSkillConsolidation(skills, options) {
96
123
  score: mergedScore,
97
124
  uses: mergedUses,
98
125
  ...(mergedGuidance ? { guidance: mergedGuidance } : {}),
126
+ ...(mergedPlaybook ? { playbook: mergedPlaybook } : {}),
99
127
  ...(outcomeKind ? { outcomeKind } : {}),
100
128
  },
101
129
  reason: `merge ${duplicates.length} near-duplicate name(s) into survivor`,
@@ -136,6 +164,18 @@ function planSkillConsolidation(skills, options) {
136
164
  reason: `unused skill with very low score (<= ${veryLowScore})`,
137
165
  });
138
166
  consumed.add(skill.id);
167
+ continue;
168
+ }
169
+ if (skill.seeded !== true &&
170
+ !(0, skill_admission_1.isSymbolicSkillName)(skill.name) &&
171
+ (skill.name.includes("+") || (0, skill_admission_1.isStopwordOnlyName)(skill.name) || (0, skill_admission_1.isReadmeUpdateNoise)(skill.name))) {
172
+ actions.push({
173
+ action: "DELETE",
174
+ skillId: skill.id,
175
+ name: skill.name,
176
+ reason: "non-symbolic composite fusion (readme+update style)",
177
+ });
178
+ consumed.add(skill.id);
139
179
  }
140
180
  }
141
181
  // 3) ADD candidates (prefer UPDATE when normalized name already exists)
@@ -270,6 +310,10 @@ async function applySkillConsolidation(graphClient, actions) {
270
310
  skipped.push({ action, reason: `skill already exists: ${id}` });
271
311
  continue;
272
312
  }
313
+ const playbook = action.patch?.playbook;
314
+ const guidance = playbook && playbook.length > 0
315
+ ? (0, skill_types_1.serializePlaybookGuidance)(playbook)
316
+ : action.patch?.guidance;
273
317
  const state = {
274
318
  id,
275
319
  name,
@@ -277,7 +321,8 @@ async function applySkillConsolidation(graphClient, actions) {
277
321
  uses: action.patch?.uses ?? 0,
278
322
  lastOutcome: "pass",
279
323
  updatedAt: Date.now(),
280
- ...(action.patch?.guidance ? { guidance: action.patch.guidance } : {}),
324
+ ...(guidance ? { guidance } : {}),
325
+ ...(playbook && playbook.length > 0 ? { playbook } : {}),
281
326
  ...(action.patch?.outcomeKind ? { outcomeKind: action.patch.outcomeKind } : {}),
282
327
  };
283
328
  await graphClient.upsertNodes([{ id, type: "Skill", content: (0, skill_store_1.serializeAtomic)(state) }]);
@@ -323,17 +368,22 @@ async function applySkillConsolidation(graphClient, actions) {
323
368
  skipped.push({ action, reason: `unparseable skill for UPDATE: ${id}` });
324
369
  continue;
325
370
  }
371
+ const playbook = action.patch?.playbook ?? atomic.playbook;
372
+ const guidanceFromPlaybook = playbook && playbook.length > 0 ? (0, skill_types_1.serializePlaybookGuidance)(playbook) : undefined;
326
373
  const next = {
327
374
  ...atomic,
328
375
  name: action.patch?.name ?? atomic.name,
329
376
  score: action.patch?.score ?? atomic.score,
330
377
  uses: action.patch?.uses ?? atomic.uses,
331
378
  updatedAt: Date.now(),
379
+ ...(playbook && playbook.length > 0 ? { playbook } : {}),
332
380
  ...(action.patch?.guidance !== undefined
333
- ? { guidance: action.patch.guidance }
334
- : atomic.guidance
335
- ? { guidance: atomic.guidance }
336
- : {}),
381
+ ? { guidance: guidanceFromPlaybook ?? action.patch.guidance }
382
+ : guidanceFromPlaybook
383
+ ? { guidance: guidanceFromPlaybook }
384
+ : atomic.guidance
385
+ ? { guidance: atomic.guidance }
386
+ : {}),
337
387
  ...(action.patch?.outcomeKind !== undefined
338
388
  ? { outcomeKind: action.patch.outcomeKind }
339
389
  : atomic.outcomeKind
@@ -1 +1 @@
1
- {"version":3,"file":"skill-consolidate.js","sourceRoot":"","sources":["../../src/learning/skill-consolidate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skill-consolidate.js","sourceRoot":"","sources":["../../src/learning/skill-consolidate.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAuFH,sDAEC;AAaD,kDAEC;AA4DD,wDA8MC;AAcD,0DAmHC;AAGD,0CAEC;AApfD,+CAA4D;AAC5D,+CAKuB;AAEvB,+CAA0D;AAC1D,uDAAiG;AAuEjG,MAAM,sBAAsB,GAAG,CAAC,EAAE,CAAC;AAEnC,+EAA+E;AAC/E,SAAgB,qBAAqB,CAAC,IAAY;IAChD,OAAO,IAAA,0BAAY,EAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,gBAAgB,CAAC,OAA4B;IACpD,MAAM,OAAO,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAC7D,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC;aAChD,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC;aACrD,IAAI,MAAM,CAAC,MAAM,KAAK,KAAK;YAAE,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC;;YAC/C,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAgB,mBAAmB,CAAC,OAA4B;IAC9D,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;AACzD,CAAC;AAED,SAAS,YAAY,CAAC,KAA8B;IAClD,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC9B,MAAM,UAAU,GAAG,CAAC,CAAwB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtF,OAAO,CACL,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI;YACf,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK;YACjB,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;YAC7B,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CACzB,CAAC;IACJ,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC;AACT,CAAC;AAED,SAAS,aAAa,CACpB,GAAG,KAA0C;IAE7C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,KAAK,MAAM,MAAM,IAAI,IAAI,EAAE,CAAC;YAC1B,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YACtE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,SAAS;YACpC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AAClD,CAAC;AAED,SAAS,aAAa,CAAC,GAAG,KAAgC;IACxD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACzD,CAAC;AAED,SAAS,iBAAiB,CAAC,KAG1B;IACC,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChD,OAAO,IAAA,uCAAyB,EAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,KAAK,CAAC,QAAQ,CAAC;AACxB,CAAC;AAED;;;;GAIG;AACH,SAAgB,sBAAsB,CACpC,MAA+B,EAC/B,OAAuC;IAEvC,MAAM,YAAY,GAAG,OAAO,EAAE,YAAY,IAAI,sBAAsB,CAAC;IACrE,MAAM,OAAO,GAAwB,EAAE,CAAC;IACxC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IAEnC,sEAAsE;IACtE,MAAM,KAAK,GAAG,IAAI,GAAG,EAAmC,CAAC;IACzD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACxB,CAAC;IAED,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;QAC9B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,SAAS;QAC/B,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC7D,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC7D,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3D,MAAM,cAAc,GAAG,aAAa,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC9F,MAAM,cAAc,GAAG,cAAc;YACnC,CAAC,CAAC,IAAA,uCAAyB,EAAC,cAAc,CAAC;YAC3C,CAAC,CAAC,aAAa,CACX,iBAAiB,CAAC,QAAQ,CAAC,EAC3B,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAC/C,CAAC;QACN,MAAM,WAAW,GACf,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,QAAQ,CAAC,EAAE,WAAW;YAC1D,QAAQ,CAAC,WAAW;YACpB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC;QAEhD,OAAO,CAAC,IAAI,CAAC;YACX,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,QAAQ,CAAC,EAAE;YACpB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,KAAK,EAAE,WAAW;gBAClB,IAAI,EAAE,UAAU;gBAChB,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvD,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvD,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACxC;YACD,MAAM,EAAE,SAAS,UAAU,CAAC,MAAM,uCAAuC;YACzE,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxC,CAAC,CAAC;QACH,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAE1B,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC;gBACX,MAAM,EAAE,QAAQ;gBAChB,OAAO,EAAE,GAAG,CAAC,EAAE;gBACf,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,MAAM,EAAE,gBAAgB,QAAQ,CAAC,EAAE,uBAAuB;gBAC1D,UAAU,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;aAC1B,CAAC,CAAC;YACH,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,uEAAuE;IACvE,MAAM,cAAc,GAAG,IAAA,yCAA2B,GAAE,CAAC;IACrD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAAE,SAAS;QAErC,IAAI,KAAK,CAAC,WAAW,KAAK,cAAc,IAAI,cAAc,EAAE,CAAC;YAC3D,OAAO,CAAC,IAAI,CAAC;gBACX,MAAM,EAAE,QAAQ;gBAChB,OAAO,EAAE,KAAK,CAAC,EAAE;gBACjB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,MAAM,EAAE,yDAAyD;aAClE,CAAC,CAAC;YACH,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACvB,SAAS;QACX,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,IAAI,YAAY,EAAE,CAAC;YACpD,OAAO,CAAC,IAAI,CAAC;gBACX,MAAM,EAAE,QAAQ;gBAChB,OAAO,EAAE,KAAK,CAAC,EAAE;gBACjB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,MAAM,EAAE,wCAAwC,YAAY,GAAG;aAChE,CAAC,CAAC;YACH,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACvB,SAAS;QACX,CAAC;QAED,IACE,KAAK,CAAC,MAAM,KAAK,IAAI;YACrB,CAAC,IAAA,qCAAmB,EAAC,KAAK,CAAC,IAAI,CAAC;YAChC,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAA,oCAAkB,EAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAA,qCAAmB,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAC/F,CAAC;YACD,OAAO,CAAC,IAAI,CAAC;gBACX,MAAM,EAAE,QAAQ;gBAChB,OAAO,EAAE,KAAK,CAAC,EAAE;gBACjB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,MAAM,EAAE,qDAAqD;aAC9D,CAAC,CAAC;YACH,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,wEAAwE;IACxE,MAAM,aAAa,GAAG,IAAI,GAAG,EAAiC,CAAC;IAC/D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;YACpG,mDAAmD;YACnD,SAAS;QACX,CAAC;QACD,MAAM,GAAG,GAAG,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,mDAAmD;QACnD,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9F,2CAA2C;YAC3C,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,EAAE,CAAC;gBAAE,SAAS;YACnF,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IACD,mEAAmE;IACnE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,SAAS;QAC5D,MAAM,GAAG,GAAG,qBAAqB,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;QAC3E,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,OAAO,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE;YACrB,GAAG,IAAI;YACP,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,IAAI,IAAI,CAAC,KAAK;YACxC,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI;YACrC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpF,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9F,CAAC,CAAC;IACL,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,OAAO,EAAE,UAAU,IAAI,EAAE,EAAE,CAAC;QAClD,MAAM,GAAG,GAAG,qBAAqB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,QAAQ,EAAE,CAAC;YACb,gCAAgC;YAChC,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,CACjC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,EAAE,CAC1D,CAAC;YACF,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,EAAE,CAAE,CAAC;gBACxF,MAAM,cAAc,GAAG,SAAS,CAAC,QAAQ;oBACvC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC;oBAC3D,CAAC,CAAC,SAAS,CAAC;gBACd,MAAM,CAAC,KAAK,GAAG;oBACb,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,IAAI,QAAQ,CAAC,IAAI;oBACzC,KAAK,EACH,SAAS,CAAC,KAAK,KAAK,SAAS;wBAC3B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,IAAI,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC;wBAClE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC;oBAC7C,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,IAAI,QAAQ,CAAC,IAAI;oBACzC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACtH,GAAG,CAAC,SAAS,CAAC,WAAW;wBACvB,CAAC,CAAC,EAAE,WAAW,EAAE,SAAS,CAAC,WAAW,EAAE;wBACxC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW;4BACzB,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE;4BAC3C,CAAC,CAAC,EAAE,CAAC;iBACV,CAAC;gBACF,MAAM,CAAC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,qBAAqB,SAAS,CAAC,IAAI,eAAe,CAAC;gBACnF,SAAS;YACX,CAAC;YACD,MAAM,cAAc,GAAG,aAAa,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;YAC5E,MAAM,aAAa,GAAG,SAAS,CAAC,WAAW,IAAI,QAAQ,CAAC,WAAW,CAAC;YACpE,OAAO,CAAC,IAAI,CAAC;gBACX,MAAM,EAAE,QAAQ;gBAChB,OAAO,EAAE,QAAQ,CAAC,EAAE;gBACpB,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC;oBAClE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC;oBAC9D,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvD,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACzD;gBACD,MAAM,EAAE,kDAAkD,QAAQ,CAAC,IAAI,GAAG;aAC3E,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,MAAM,EAAE,GAAG,IAAA,yBAAW,EAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACvC,OAAO,CAAC,IAAI,CAAC;YACX,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,EAAE;YACX,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,KAAK,EAAE;gBACL,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC;gBAC3B,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC;gBACzB,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/D,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACzE;YACD,MAAM,EAAE,0CAA0C;SACnD,CAAC,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,MAAmB;IAC/C,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACxB,OAAO,MAAM,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;IAC7E,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAClD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;AACtD,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,uBAAuB,CAC3C,WAAwB,EACxB,OAA4B;IAE5B,MAAM,OAAO,GAAwB,EAAE,CAAC;IACxC,MAAM,OAAO,GAAyD,EAAE,CAAC;IACzE,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAElD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC;YACpD,SAAS;QACX,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC;YAC/C,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;gBAClB,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBACrD,SAAS;YACX,CAAC;YACD,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,IAAI,IAAA,yBAAW,EAAC,IAAI,CAAC,CAAC;YAC/C,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBACjB,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,yBAAyB,EAAE,EAAE,EAAE,CAAC,CAAC;gBAChE,SAAS;YACX,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC;YACxC,MAAM,QAAQ,GAAG,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;gBAC9C,CAAC,CAAC,IAAA,uCAAyB,EAAC,QAAQ,CAAC;gBACrC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC;YAC3B,MAAM,KAAK,GAAe;gBACxB,EAAE;gBACF,IAAI;gBACJ,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,IAAI,CAAC;gBAC/B,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC;gBAC7B,WAAW,EAAE,MAAM;gBACnB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjC,GAAG,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxD,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAChF,CAAC;YACF,MAAM,WAAW,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAA,6BAAe,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YACxF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAA,6BAAe,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACrE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrB,SAAS;QACX,CAAC;QAED,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC;QAC1B,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC;YACpD,SAAS;QACX,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB,EAAE,EAAE,EAAE,CAAC,CAAC;YAC5D,SAAS;QACX,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC;gBAC3B,MAAM,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBACjC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,IAAA,6BAAe,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC7C,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,oCAAoC,EAAE,EAAE,EAAE,CAAC,CAAC;oBAC3E,SAAS;gBACX,CAAC;gBACD,MAAM,MAAM,GAAe;oBACzB,GAAG,MAAM;oBACT,MAAM,EAAE,IAAI;oBACZ,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;iBACtB,CAAC;gBACF,MAAM,WAAW,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAA,6BAAe,EAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;gBACzF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAA,6BAAe,EAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACxE,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrB,SAAS;QACX,CAAC;QAED,SAAS;QACT,MAAM,MAAM,GAAG,IAAA,6BAAe,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,iCAAiC,EAAE,EAAE,EAAE,CAAC,CAAC;YACxE,SAAS;QACX,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,EAAE,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC;QAC3D,MAAM,oBAAoB,GACxB,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAA,uCAAyB,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACpF,MAAM,IAAI,GAAe;YACvB,GAAG,MAAM;YACT,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,IAAI,MAAM,CAAC,IAAI;YACvC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,IAAI,MAAM,CAAC,KAAK;YAC1C,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,IAAI,MAAM,CAAC,IAAI;YACvC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,GAAG,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,KAAK,SAAS;gBACtC,CAAC,CAAC,EAAE,QAAQ,EAAE,oBAAoB,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE;gBAC7D,CAAC,CAAC,oBAAoB;oBACpB,CAAC,CAAC,EAAE,QAAQ,EAAE,oBAAoB,EAAE;oBACpC,CAAC,CAAC,MAAM,CAAC,QAAQ;wBACf,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE;wBAC/B,CAAC,CAAC,EAAE,CAAC;YACX,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,KAAK,SAAS;gBACzC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE;gBAC3C,CAAC,CAAC,MAAM,CAAC,WAAW;oBAClB,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE;oBACrC,CAAC,CAAC,EAAE,CAAC;SACV,CAAC;QACF,MAAM,WAAW,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAA,6BAAe,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACvF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAA,6BAAe,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAC9B,CAAC;AAED,mDAAmD;AACnD,SAAgB,eAAe,CAAC,OAA2B;IACzD,OAAO,mBAAmB,CAAC,sBAAsB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AACtF,CAAC"}
@@ -4,6 +4,7 @@ import type { SkillState, SkillOutcomeKind } from "./skill-types";
4
4
  export type { SkillState, CompositeSkillState } from "./skill-types";
5
5
  export { composeSkillId, loadCompositeSkill } from "./skill-store";
6
6
  export { canaryPassed, gateSkillPromotion, DEFAULT_CANARY_LOCAL_SUCCESSES, shouldHardDeleteAntiPattern, } from "./canary-gate";
7
+ export { admitSkillToProven, isSymbolicSkillName, wouldDegradeLibrary } from "./skill-admission";
7
8
  export { planSkillConsolidation, applySkillConsolidation, planFromRequest, toConsolidateResult, normalizeSkillNameKey, type ConsolidateAction, type ConsolidateActionKind, type ConsolidateRequest, type ConsolidateResult, type ConsolidateSkillInput, type ConsolidateCandidate, type PlanSkillConsolidationOptions, type ApplySkillConsolidationResult, } from "./skill-consolidate";
8
9
  /** True when the text references at least one project-specific symbol. */
9
10
  export declare function hasProjectSymbolEvidence(text: string): boolean;
@@ -19,6 +20,8 @@ export interface SkillLearningOptions {
19
20
  /** True when the outcome was reported back through the episode outcome loop
20
21
  * (bridge reportOutcome) — counts as a "linked successful outcome". */
21
22
  linked?: boolean;
23
+ /** Episode id from bridge report_outcome; stamped on newly created local skills. */
24
+ episodeId?: string;
22
25
  }
23
26
  /**
24
27
  * P0-2 outcome taxonomy classification:
@@ -41,6 +44,8 @@ export declare function classifySkillOutcome(options: {
41
44
  canaryValidated?: boolean;
42
45
  /** Successful local applications for canary (defaults to uses). */
43
46
  localSuccesses?: number;
47
+ /** When set, proven is held at correctable unless the admission gate passes. */
48
+ skillName?: string;
44
49
  }): SkillOutcomeKind;
45
50
  /**
46
51
  * Explicit canary validate hook: mark an atomic skill as canary-validated and
@@ -75,8 +80,9 @@ export interface CleanupNoiseSkillsResult {
75
80
  /**
76
81
  * P0-2 load-time cleanup: reclassify / prune existing pure-noise skill nodes.
77
82
  * Nodes learned by older versions have no symbol evidence (shallow n-grams
78
- * like "update" at score=-2). Curated seed nodes (seeded: true) and nodes
79
- * whose names carry symbol evidence are kept; everything else is pruned.
83
+ * like "update" at score=-2). Curated seed nodes (seeded: true) are kept.
84
+ * Non-symbolic names (including readme+update fusions) are pruned even when
85
+ * `hasSymbolEvidence` was wrongly set true (legacy lie).
80
86
  * Runs at graph load (orchestration start / outcome report) — idempotent.
81
87
  */
82
88
  export declare function cleanupNoiseSkills(client: GraphClient): Promise<CleanupNoiseSkillsResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"skill-flywheel.d.ts","sourceRoot":"","sources":["../../src/learning/skill-flywheel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skill-flywheel.d.ts","sourceRoot":"","sources":["../../src/learning/skill-flywheel.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.normalizeSkillNameKey = exports.toConsolidateResult = exports.planFromRequest = exports.applySkillConsolidation = exports.planSkillConsolidation = exports.shouldHardDeleteAntiPattern = exports.DEFAULT_CANARY_LOCAL_SUCCESSES = exports.gateSkillPromotion = exports.canaryPassed = exports.loadCompositeSkill = exports.composeSkillId = void 0;
3
+ exports.normalizeSkillNameKey = exports.toConsolidateResult = exports.planFromRequest = exports.applySkillConsolidation = exports.planSkillConsolidation = exports.wouldDegradeLibrary = exports.isSymbolicSkillName = exports.admitSkillToProven = exports.shouldHardDeleteAntiPattern = exports.DEFAULT_CANARY_LOCAL_SUCCESSES = exports.gateSkillPromotion = exports.canaryPassed = exports.loadCompositeSkill = exports.composeSkillId = void 0;
4
4
  exports.hasProjectSymbolEvidence = hasProjectSymbolEvidence;
5
5
  exports.extractProjectSymbols = extractProjectSymbols;
6
6
  exports.isAllStopwordPhrase = isAllStopwordPhrase;
@@ -20,6 +20,8 @@ const hash_1 = require("../utils/hash");
20
20
  const skill_store_1 = require("./skill-store");
21
21
  const skill_opt_lite_1 = require("./skill-opt-lite");
22
22
  const canary_gate_1 = require("./canary-gate");
23
+ const skill_admission_1 = require("./skill-admission");
24
+ const skill_types_1 = require("./skill-types");
23
25
  var skill_store_2 = require("./skill-store");
24
26
  Object.defineProperty(exports, "composeSkillId", { enumerable: true, get: function () { return skill_store_2.composeSkillId; } });
25
27
  Object.defineProperty(exports, "loadCompositeSkill", { enumerable: true, get: function () { return skill_store_2.loadCompositeSkill; } });
@@ -28,6 +30,10 @@ Object.defineProperty(exports, "canaryPassed", { enumerable: true, get: function
28
30
  Object.defineProperty(exports, "gateSkillPromotion", { enumerable: true, get: function () { return canary_gate_2.gateSkillPromotion; } });
29
31
  Object.defineProperty(exports, "DEFAULT_CANARY_LOCAL_SUCCESSES", { enumerable: true, get: function () { return canary_gate_2.DEFAULT_CANARY_LOCAL_SUCCESSES; } });
30
32
  Object.defineProperty(exports, "shouldHardDeleteAntiPattern", { enumerable: true, get: function () { return canary_gate_2.shouldHardDeleteAntiPattern; } });
33
+ var skill_admission_2 = require("./skill-admission");
34
+ Object.defineProperty(exports, "admitSkillToProven", { enumerable: true, get: function () { return skill_admission_2.admitSkillToProven; } });
35
+ Object.defineProperty(exports, "isSymbolicSkillName", { enumerable: true, get: function () { return skill_admission_2.isSymbolicSkillName; } });
36
+ Object.defineProperty(exports, "wouldDegradeLibrary", { enumerable: true, get: function () { return skill_admission_2.wouldDegradeLibrary; } });
31
37
  var skill_consolidate_1 = require("./skill-consolidate");
32
38
  Object.defineProperty(exports, "planSkillConsolidation", { enumerable: true, get: function () { return skill_consolidate_1.planSkillConsolidation; } });
33
39
  Object.defineProperty(exports, "applySkillConsolidation", { enumerable: true, get: function () { return skill_consolidate_1.applySkillConsolidation; } });
@@ -184,6 +190,7 @@ function classifySkillOutcome(options) {
184
190
  ...(options.canaryValidated !== undefined
185
191
  ? { validated: options.canaryValidated }
186
192
  : {}),
193
+ ...(options.skillName ? { skillName: options.skillName } : {}),
187
194
  });
188
195
  }
189
196
  /**
@@ -201,6 +208,7 @@ async function markSkillCanaryValidated(client, skillId) {
201
208
  linkedSuccess: previous.linkedSuccess === true,
202
209
  localSuccesses: previous.uses,
203
210
  canaryValidated: true,
211
+ skillName: previous.name,
204
212
  ...(previous.seeded === true ? { seeded: true } : {}),
205
213
  ...(previous.provenance ? { provenance: previous.provenance } : {}),
206
214
  });
@@ -262,19 +270,12 @@ async function pruneFailedSkills(client, options) {
262
270
  }
263
271
  return { pruned: ids.length, ids };
264
272
  }
265
- /**
266
- * A legacy skill name carries project-symbol evidence when it contains a
267
- * file reference, slash path, camelCase or snake_case token. Bare generic
268
- * tokens ("update", "readme", "create", "fix") never qualify.
269
- */
270
- function isSymbolicSkillName(name) {
271
- return hasProjectSymbolEvidence(name.replace(/\+/g, " "));
272
- }
273
273
  /**
274
274
  * P0-2 load-time cleanup: reclassify / prune existing pure-noise skill nodes.
275
275
  * Nodes learned by older versions have no symbol evidence (shallow n-grams
276
- * like "update" at score=-2). Curated seed nodes (seeded: true) and nodes
277
- * whose names carry symbol evidence are kept; everything else is pruned.
276
+ * like "update" at score=-2). Curated seed nodes (seeded: true) are kept.
277
+ * Non-symbolic names (including readme+update fusions) are pruned even when
278
+ * `hasSymbolEvidence` was wrongly set true (legacy lie).
278
279
  * Runs at graph load (orchestration start / outcome report) — idempotent.
279
280
  */
280
281
  async function cleanupNoiseSkills(client) {
@@ -285,21 +286,18 @@ async function cleanupNoiseSkills(client) {
285
286
  for (const node of skillNodes) {
286
287
  const atomic = (0, skill_store_1.parseSkillState)(node.content);
287
288
  if (atomic) {
288
- // Explicit extraction-time evidence (new versions) or curated seed.
289
- if (atomic.hasSymbolEvidence === true || atomic.seeded === true) {
289
+ if (atomic.seeded === true) {
290
290
  continue;
291
291
  }
292
- if (isSymbolicSkillName(atomic.name)) {
293
- // Legacy node whose name carries symbol evidence: keep, but tag it
294
- // explicitly so future loads skip re-inspection.
295
- if (atomic.outcomeKind !== "correctable") {
292
+ if ((0, skill_admission_1.isSymbolicSkillName)(atomic.name)) {
293
+ if (atomic.hasSymbolEvidence !== true) {
296
294
  updates.push({
297
295
  id: atomic.id,
298
296
  type: "Skill",
299
297
  content: (0, skill_store_1.serializeAtomic)({
300
298
  ...atomic,
301
299
  hasSymbolEvidence: true,
302
- outcomeKind: "correctable",
300
+ outcomeKind: atomic.outcomeKind ?? "correctable",
303
301
  updatedAt: Date.now(),
304
302
  }),
305
303
  });
@@ -327,18 +325,18 @@ async function cleanupNoiseSkills(client) {
327
325
  }
328
326
  const composite = (0, skill_store_1.parseCompositeState)(node.content);
329
327
  if (composite) {
330
- if (composite.hasSymbolEvidence === true || composite.seeded === true) {
328
+ if (composite.seeded === true) {
331
329
  continue;
332
330
  }
333
- if (isSymbolicSkillName(composite.name)) {
334
- if (composite.outcomeKind !== "correctable") {
331
+ if ((0, skill_admission_1.isSymbolicSkillName)(composite.name)) {
332
+ if (composite.hasSymbolEvidence !== true) {
335
333
  updates.push({
336
334
  id: composite.id,
337
335
  type: "Skill",
338
336
  content: (0, skill_store_1.serializeComposite)({
339
337
  ...composite,
340
338
  hasSymbolEvidence: true,
341
- outcomeKind: "correctable",
339
+ outcomeKind: composite.outcomeKind ?? "correctable",
342
340
  updatedAt: Date.now(),
343
341
  }),
344
342
  });
@@ -410,15 +408,22 @@ async function applySkillLearning(client, task, run, lessons, options) {
410
408
  const uses = (previous?.uses ?? 0) + 1;
411
409
  const failStreak = passed ? 0 : (previous?.failStreak ?? 0) + 1;
412
410
  const linkedSuccess = (passed && linked) || previous?.linkedSuccess === true;
413
- const outcomeKind = classifySkillOutcome({
411
+ let outcomeKind = classifySkillOutcome({
414
412
  uses,
415
413
  failStreak,
416
414
  linkedSuccess,
417
415
  localSuccesses: uses,
416
+ skillName: skill,
418
417
  ...(previous?.seeded === true ? { seeded: true } : {}),
419
418
  ...(previous?.provenance ? { provenance: previous.provenance } : {}),
420
419
  ...(previous?.canaryValidated === true ? { canaryValidated: true } : {}),
421
420
  });
421
+ // Held-out admission: proven candidates without golden overlap stay correctable.
422
+ if (outcomeKind === "proven" &&
423
+ previous?.seeded !== true &&
424
+ !(0, skill_admission_1.admitSkillToProven)(skill).ok) {
425
+ outcomeKind = "correctable";
426
+ }
422
427
  // Evidence gate: positive score accrues only for proven skills (>= 2 uses
423
428
  // or a linked successful outcome); negative scoring applies ONLY to
424
429
  // anti-pattern outcomes (>= 2 consecutive failures).
@@ -429,6 +434,9 @@ async function applySkillLearning(client, task, run, lessons, options) {
429
434
  else if (!passed && outcomeKind === "anti-pattern") {
430
435
  score -= 1;
431
436
  }
437
+ const newLocalProvenance = !previous?.provenance && options?.episodeId
438
+ ? { source: "local", episodeId: options.episodeId }
439
+ : undefined;
432
440
  const next = {
433
441
  id,
434
442
  name: skill,
@@ -436,32 +444,39 @@ async function applySkillLearning(client, task, run, lessons, options) {
436
444
  uses,
437
445
  lastOutcome: passed ? "pass" : "fail",
438
446
  updatedAt: now,
439
- hasSymbolEvidence: true,
447
+ hasSymbolEvidence: (0, skill_admission_1.isSymbolicSkillName)(skill),
440
448
  linkedSuccess,
441
449
  failStreak,
442
450
  outcomeKind,
443
451
  // 来源元数据随本地学习延续(外部 sync 技能晋升 proven 后仍保留来源标记)。
444
- ...(previous?.provenance ? { provenance: previous.provenance } : {}),
452
+ ...(previous?.provenance
453
+ ? { provenance: previous.provenance }
454
+ : newLocalProvenance
455
+ ? { provenance: newLocalProvenance }
456
+ : {}),
445
457
  ...(previous?.canaryValidated === true ? { canaryValidated: true } : {}),
458
+ ...(previous?.seeded === true ? { seeded: true } : {}),
446
459
  // Pass clears soft-hide; fail preserves it if already set.
447
460
  ...(passed ? {} : previous?.hidden ? { hidden: true } : {}),
448
461
  };
449
- // SkillOpt-lite: refine optional guidance from lessons when score improves.
462
+ // SkillOpt-lite playbook: incremental helpful/harmful counts + append lessons.
450
463
  if (lessonText.length > 0) {
451
- const seedGuidance = previous?.guidance?.trim() || `- ${skill}`;
452
- const optimized = (0, skill_opt_lite_1.optimizeSkillLite)({
453
- skillText: seedGuidance,
454
- lessons: lessonText,
455
- outcomes: [{ success: passed }],
456
- maxEdits: 3,
457
- });
458
- if (optimized.improved && optimized.optimizedText.trim().length > 0) {
459
- next.guidance = optimized.optimizedText.trim();
464
+ const seedPlaybook = previous?.playbook && previous.playbook.length > 0
465
+ ? previous.playbook
466
+ : (0, skill_opt_lite_1.seedPlaybookFromGuidance)(previous?.guidance);
467
+ const playbook = (0, skill_opt_lite_1.applyPlaybookDelta)(seedPlaybook, lessonText, passed);
468
+ if (playbook.length > 0) {
469
+ next.playbook = playbook;
470
+ next.guidance = (0, skill_types_1.serializePlaybookGuidance)(playbook);
460
471
  }
461
472
  else if (previous?.guidance) {
462
473
  next.guidance = previous.guidance;
463
474
  }
464
475
  }
476
+ else if (previous?.playbook && previous.playbook.length > 0) {
477
+ next.playbook = previous.playbook;
478
+ next.guidance = previous.guidance ?? (0, skill_types_1.serializePlaybookGuidance)(previous.playbook);
479
+ }
465
480
  else if (previous?.guidance) {
466
481
  next.guidance = previous.guidance;
467
482
  }
@@ -489,11 +504,18 @@ async function applySkillLearning(client, task, run, lessons, options) {
489
504
  relation: "co_occurs",
490
505
  });
491
506
  const [n1, n2] = [a, b].sort();
507
+ if (!(0, skill_admission_1.isSymbolicSkillName)(n1) || !(0, skill_admission_1.isSymbolicSkillName)(n2)) {
508
+ continue;
509
+ }
492
510
  const compositeId = (0, skill_store_1.composeSkillId)(n1, n2);
493
511
  const previous = await (0, skill_store_1.loadCompositeSkill)(client, compositeId);
512
+ const compositeName = `${n1}+${n2}`;
513
+ const newCompositeProvenance = !previous?.provenance && options?.episodeId
514
+ ? { source: "local", episodeId: options.episodeId }
515
+ : undefined;
494
516
  const composite = {
495
517
  id: compositeId,
496
- name: `${n1}+${n2}`,
518
+ name: compositeName,
497
519
  parents: [(0, skill_store_1.skillNodeId)(n1), (0, skill_store_1.skillNodeId)(n2)],
498
520
  coOccurCount: (previous?.coOccurCount ?? 0) + 1,
499
521
  successCount: (previous?.successCount ?? 0) + (passed ? 1 : 0),
@@ -502,10 +524,14 @@ async function applySkillLearning(client, task, run, lessons, options) {
502
524
  uses: previous?.uses ?? 0,
503
525
  lastOutcome: passed ? "pass" : "fail",
504
526
  updatedAt: now,
505
- hasSymbolEvidence: true,
527
+ hasSymbolEvidence: (0, skill_admission_1.isSymbolicSkillName)(compositeName),
506
528
  ...(previous?.seeded === true ? { seeded: true } : {}),
507
529
  // 来源元数据随共现更新延续(外部 sync 组合技能保留来源标记)。
508
- ...(previous?.provenance ? { provenance: previous.provenance } : {}),
530
+ ...(previous?.provenance
531
+ ? { provenance: previous.provenance }
532
+ : newCompositeProvenance
533
+ ? { provenance: newCompositeProvenance }
534
+ : {}),
509
535
  };
510
536
  // P0-2 taxonomy: negative composite scores apply only to anti-pattern
511
537
  // pairs (>= 2 failures and more failures than successes); correctable /
@@ -521,6 +547,7 @@ async function applySkillLearning(client, task, run, lessons, options) {
521
547
  ? "proven"
522
548
  : "correctable",
523
549
  localSuccesses: composite.successCount,
550
+ skillName: compositeName,
524
551
  ...(previous?.provenance ? { provenance: previous.provenance } : {}),
525
552
  ...(previous?.canaryValidated === true ? { validated: true } : {}),
526
553
  });