taskflow-core 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/dist/agents/analyst.md +30 -0
  2. package/dist/agents/critic.md +31 -0
  3. package/dist/agents/doc-writer.md +43 -0
  4. package/dist/agents/executor-code.md +36 -0
  5. package/dist/agents/executor-fast.md +26 -0
  6. package/dist/agents/executor-ui.md +35 -0
  7. package/dist/agents/executor.md +29 -0
  8. package/dist/agents/final-arbiter.md +29 -0
  9. package/dist/agents/plan-arbiter.md +35 -0
  10. package/dist/agents/planner.md +30 -0
  11. package/dist/agents/recover.md +28 -0
  12. package/dist/agents/reviewer.md +37 -0
  13. package/dist/agents/risk-reviewer.md +37 -0
  14. package/dist/agents/scout.md +51 -0
  15. package/dist/agents/security-reviewer.md +39 -0
  16. package/dist/agents/test-engineer.md +31 -0
  17. package/dist/agents/verifier.md +29 -0
  18. package/dist/agents/visual-explorer.md +32 -0
  19. package/dist/agents.d.ts +55 -0
  20. package/dist/agents.d.ts.map +1 -0
  21. package/dist/agents.js +265 -0
  22. package/dist/agents.js.map +1 -0
  23. package/dist/cache.d.ts +57 -0
  24. package/dist/cache.d.ts.map +1 -0
  25. package/dist/cache.js +256 -0
  26. package/dist/cache.js.map +1 -0
  27. package/dist/compile.d.ts +37 -0
  28. package/dist/compile.d.ts.map +1 -0
  29. package/dist/compile.js +324 -0
  30. package/dist/compile.js.map +1 -0
  31. package/dist/context-store.d.ts +142 -0
  32. package/dist/context-store.d.ts.map +1 -0
  33. package/dist/context-store.js +383 -0
  34. package/dist/context-store.js.map +1 -0
  35. package/dist/detached-runner.d.ts +12 -0
  36. package/dist/detached-runner.d.ts.map +1 -0
  37. package/dist/detached-runner.js +68 -0
  38. package/dist/detached-runner.js.map +1 -0
  39. package/dist/flowir/hash.d.ts +51 -0
  40. package/dist/flowir/hash.d.ts.map +1 -0
  41. package/dist/flowir/hash.js +90 -0
  42. package/dist/flowir/hash.js.map +1 -0
  43. package/dist/flowir/index.d.ts +43 -0
  44. package/dist/flowir/index.d.ts.map +1 -0
  45. package/dist/flowir/index.js +62 -0
  46. package/dist/flowir/index.js.map +1 -0
  47. package/dist/flowir/meta.d.ts +103 -0
  48. package/dist/flowir/meta.d.ts.map +1 -0
  49. package/dist/flowir/meta.js +19 -0
  50. package/dist/flowir/meta.js.map +1 -0
  51. package/dist/flowir/phasefp.d.ts +55 -0
  52. package/dist/flowir/phasefp.d.ts.map +1 -0
  53. package/dist/flowir/phasefp.js +123 -0
  54. package/dist/flowir/phasefp.js.map +1 -0
  55. package/dist/flowir/translate.d.ts +37 -0
  56. package/dist/flowir/translate.d.ts.map +1 -0
  57. package/dist/flowir/translate.js +137 -0
  58. package/dist/flowir/translate.js.map +1 -0
  59. package/dist/frontmatter.d.ts +21 -0
  60. package/dist/frontmatter.d.ts.map +1 -0
  61. package/dist/frontmatter.js +107 -0
  62. package/dist/frontmatter.js.map +1 -0
  63. package/dist/host/runner-types.d.ts +98 -0
  64. package/dist/host/runner-types.d.ts.map +1 -0
  65. package/dist/host/runner-types.js +21 -0
  66. package/dist/host/runner-types.js.map +1 -0
  67. package/dist/index.d.ts +26 -0
  68. package/dist/index.d.ts.map +1 -0
  69. package/dist/index.js +30 -0
  70. package/dist/index.js.map +1 -0
  71. package/dist/interpolate.d.ts +52 -0
  72. package/dist/interpolate.d.ts.map +1 -0
  73. package/dist/interpolate.js +418 -0
  74. package/dist/interpolate.js.map +1 -0
  75. package/dist/paths.d.ts +23 -0
  76. package/dist/paths.d.ts.map +1 -0
  77. package/dist/paths.js +43 -0
  78. package/dist/paths.js.map +1 -0
  79. package/dist/runner-core.d.ts +49 -0
  80. package/dist/runner-core.d.ts.map +1 -0
  81. package/dist/runner-core.js +208 -0
  82. package/dist/runner-core.js.map +1 -0
  83. package/dist/runtime.d.ts +234 -0
  84. package/dist/runtime.d.ts.map +1 -0
  85. package/dist/runtime.js +2284 -0
  86. package/dist/runtime.js.map +1 -0
  87. package/dist/schema.d.ts +257 -0
  88. package/dist/schema.d.ts.map +1 -0
  89. package/dist/schema.js +795 -0
  90. package/dist/schema.js.map +1 -0
  91. package/dist/stale.d.ts +72 -0
  92. package/dist/stale.d.ts.map +1 -0
  93. package/dist/stale.js +179 -0
  94. package/dist/stale.js.map +1 -0
  95. package/dist/store.d.ts +237 -0
  96. package/dist/store.d.ts.map +1 -0
  97. package/dist/store.js +761 -0
  98. package/dist/store.js.map +1 -0
  99. package/dist/typebox-helpers.d.ts +15 -0
  100. package/dist/typebox-helpers.d.ts.map +1 -0
  101. package/dist/typebox-helpers.js +19 -0
  102. package/dist/typebox-helpers.js.map +1 -0
  103. package/dist/usage.d.ts +21 -0
  104. package/dist/usage.d.ts.map +1 -0
  105. package/dist/usage.js +33 -0
  106. package/dist/usage.js.map +1 -0
  107. package/dist/verify.d.ts +38 -0
  108. package/dist/verify.d.ts.map +1 -0
  109. package/dist/verify.js +324 -0
  110. package/dist/verify.js.map +1 -0
  111. package/dist/workspace.d.ts +64 -0
  112. package/dist/workspace.d.ts.map +1 -0
  113. package/dist/workspace.js +178 -0
  114. package/dist/workspace.js.map +1 -0
  115. package/package.json +40 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAe,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAU,CAAC;AAGtH,yFAAyF;AACzF,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,CAAC;AAC9C,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,CAAC;AAE5C;;mFAEmF;AACnF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAErC;;;gFAGgF;AAChF,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC;AACtC,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AACzC,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAE1C,oCAAoC;AACpC,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC;AAC7C,MAAM,CAAC,MAAM,4BAA4B,GAAG,EAAE,CAAC;AAC/C,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,WAAW,CAAU,CAAC;AAIxD,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,MAAM,CAAU,CAAC;AACjD,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,KAAK,CAAU,CAAC;AAC3C,MAAM,YAAY,GAAG,CAAC,UAAU,EAAE,WAAW,EAAE,KAAK,CAAU,CAAC;AAE/D,sFAAsF;AACtF,MAAM,0BAA0B,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAU,CAAC;AACzF,6FAA6F;AAC7F,MAAM,6BAA6B,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,CAAU,CAAC;AAE1F,MAAM,kBAAkB,GAAG,IAAI,CAAC,MAAM,CACrC;IACC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,wDAAwD,EAAE,CAAC;IAC5F,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,0CAA0C,EAAE,CAAC,CAAC;CAC9F,EACD,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAC/B,CAAC;AAEF,+DAA+D;AAC/D,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAC9B;IACC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,+CAA+C,EAAE,CAAC;IAClF,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,oCAAoC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IACxG,MAAM,EAAE,IAAI,CAAC,QAAQ,CACpB,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,6DAA6D,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CACvG;CACD,EACD,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAC/B,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAC9B;IACC,KAAK,EAAE,IAAI,CAAC,QAAQ,CACnB,UAAU,CAAC,YAAY,EAAE;QACxB,WAAW,EACV,gMAAgM;QACjM,OAAO,EAAE,UAAU;KACnB,CAAC,CACF;IACD,GAAG,EAAE,IAAI,CAAC,QAAQ,CACjB,IAAI,CAAC,MAAM,CAAC;QACX,WAAW,EACV,4GAA4G;KAC7G,CAAC,CACF;IACD,WAAW,EAAE,IAAI,CAAC,QAAQ,CACzB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE;QACzB,WAAW,EACV,4MAA4M;KAC7M,CAAC,CACF;CACD,EACD,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAC/B,CAAC;AAEF,4FAA4F;AAC5F,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAC/B;IACC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,0DAA0D,EAAE,CAAC,CAAC;IAC/G,SAAS,EAAE,IAAI,CAAC,QAAQ,CACvB,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,+DAA+D,EAAE,CAAC,CAC7F;CACD,EACD,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAC/B,CAAC;AAEF,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAC9B;IACC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,8DAA8D,EAAE,CAAC;IAChG,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IAC7F,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,8BAA8B,EAAE,CAAC,CAAC;IAClF,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,mDAAmD,EAAE,CAAC,CAAC;IAEtG,cAAc;IACd,IAAI,EAAE,IAAI,CAAC,QAAQ,CAClB,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,+DAA+D,EAAE,CAAC,CAC7F;IACD,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,0CAA0C,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAE5G,2BAA2B;IAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,EAAE,WAAW,EAAE,iCAAiC,EAAE,CAAC,CAAC;IAE3G,SAAS;IACT,IAAI,EAAE,IAAI,CAAC,QAAQ,CAClB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,iDAAiD,EAAE,CAAC,CAC7F;IAED,sBAAsB;IACtB,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,sDAAsD,EAAE,CAAC,CAAC;IACxG,GAAG,EAAE,IAAI,CAAC,QAAQ,CACjB,IAAI,CAAC,OAAO,CAAC;QACZ,WAAW,EACV,gZAAgZ;KACjZ,CAAC,CACF;IACD,IAAI,EAAE,IAAI,CAAC,QAAQ,CAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE;QAC1C,WAAW,EAAE,0EAA0E;KACvF,CAAC,CACF;IAED,kBAAkB;IAClB,KAAK,EAAE,IAAI,CAAC,QAAQ,CACnB,IAAI,CAAC,MAAM,CAAC;QACX,WAAW,EACV,qRAAqR;KACtR,CAAC,CACF;IACD,aAAa,EAAE,IAAI,CAAC,QAAQ,CAC3B,IAAI,CAAC,MAAM,CAAC;QACX,WAAW,EAAE,0CAA0C,2BAA2B,SAAS,wBAAwB,uFAAuF;QAC1M,OAAO,EAAE,2BAA2B;KACpC,CAAC,CACF;IACD,WAAW,EAAE,IAAI,CAAC,QAAQ,CACzB,IAAI,CAAC,OAAO,CAAC;QACZ,WAAW,EACV,kKAAkK;QACnK,OAAO,EAAE,IAAI;KACb,CAAC,CACF;IAED,yEAAyE;IACzE,QAAQ,EAAE,IAAI,CAAC,QAAQ,CACtB,IAAI,CAAC,MAAM,CAAC;QACX,WAAW,EAAE,2EAA2E,2BAA2B,SAAS,4BAA4B,6EAA6E;QACrO,OAAO,EAAE,2BAA2B;KACpC,CAAC,CACF;IACD,KAAK,EAAE,IAAI,CAAC,QAAQ,CACnB,IAAI,CAAC,MAAM,CAAC;QACX,WAAW,EACV,gNAAgN;KACjN,CAAC,CACF;IACD,UAAU,EAAE,IAAI,CAAC,QAAQ,CACxB,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,8EAA8E,EAAE,CAAC,CAC5G;IACD,IAAI,EAAE,IAAI,CAAC,QAAQ,CAClB,UAAU,CAAC,gBAAgB,EAAE;QAC5B,WAAW,EACV,sJAAsJ;QACvJ,OAAO,EAAE,MAAM;KACf,CAAC,CACF;IAED,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,iCAAiC,EAAE,CAAC,CAAC;IACvG,IAAI,EAAE,IAAI,CAAC,QAAQ,CAClB,UAAU,CAAC,UAAU,EAAE;QACtB,WAAW,EAAE,+FAA+F;QAC5G,OAAO,EAAE,KAAK;KACd,CAAC,CACF;IACD,IAAI,EAAE,IAAI,CAAC,QAAQ,CAClB,IAAI,CAAC,MAAM,CAAC;QACX,WAAW,EACV,oHAAoH;KACrH,CAAC,CACF;IACD,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;IACjC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,cAAc,EAAE,EAAE,WAAW,EAAE,8BAA8B,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IACnH,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,+BAA+B,EAAE,CAAC,CAAC;IACnF,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,wCAAwC,EAAE,CAAC,CAAC;IAC/F,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,uCAAuC,EAAE,CAAC,CAAC;IACzG,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,6QAA6Q,EAAE,CAAC,CAAC;IAC/T,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,iDAAiD,EAAE,CAAC,CAAC;IACtG,QAAQ,EAAE,IAAI,CAAC,QAAQ,CACtB,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,2CAA2C,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAC1F;IACD,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,2CAA2C,EAAE,CAAC,CAAC;IACrG,OAAO,EAAE,IAAI,CAAC,QAAQ,CACrB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE;QACzB,WAAW,EACV,wLAAwL;KACzL,CAAC,CACF;IACD,YAAY,EAAE,IAAI,CAAC,QAAQ,CAC1B,IAAI,CAAC,MAAM,CAAC;QACX,WAAW,EAAE,uEAAuE;QACpF,OAAO,EAAE,IAAI;KACb,CAAC,CACF;IACD,OAAO,EAAE,IAAI,CAAC,QAAQ,CACrB,UAAU,CAAC,CAAC,MAAM,EAAE,OAAO,CAAU,EAAE;QACtC,WAAW,EACV,gKAAgK;QACjK,OAAO,EAAE,MAAM;KACf,CAAC,CACF;IACD,IAAI,EAAE,IAAI,CAAC,QAAQ,CAClB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE;QACzB,WAAW,EACV,wUAAwU;KACzU,CAAC,CACF;IACD,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;IACjC,YAAY,EAAE,IAAI,CAAC,QAAQ,CAC1B,IAAI,CAAC,OAAO,CAAC;QACZ,WAAW,EACV,kSAAkS;KACnS,CAAC,CACF;CACD,EACD,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAC/B,CAAC;AAEF,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAChC;IACC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IACtC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IACzC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;CACvC,EACD,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAC/B,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CACxC;IACC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,WAAW,EAAE,uDAAuD,EAAE,CAAC;IACzG,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IACzC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IACnD,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,EAAE,WAAW,EAAE,+BAA+B,EAAE,CAAC,CAAC;IAChH,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,kCAAkC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IACxG,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;IACnC,UAAU,EAAE,IAAI,CAAC,QAAQ,CACxB,UAAU,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAU,EAAE,EAAE,WAAW,EAAE,uBAAuB,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAC3G;IACD,mBAAmB,EAAE,IAAI,CAAC,QAAQ,CACjC,IAAI,CAAC,OAAO,CAAC;QACZ,WAAW,EACV,qHAAqH;QACtH,OAAO,EAAE,KAAK;KACd,CAAC,CACF;IACD,cAAc,EAAE,IAAI,CAAC,QAAQ,CAC5B,IAAI,CAAC,OAAO,CAAC;QACZ,WAAW,EACV,gIAAgI;KACjI,CAAC,CACF;IACD,WAAW,EAAE,IAAI,CAAC,QAAQ,CACzB,IAAI,CAAC,OAAO,CAAC;QACZ,WAAW,EACV,+aAA+a;KAChb,CAAC,CACF;IACD,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,WAAW,EAAE,+CAA+C,EAAE,CAAC;CAC9G,EACD,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAC/B,CAAC;AAmCF,uFAAuF;AACvF,MAAM,UAAU,WAAW,CAAC,GAAY;IACvC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC1D,MAAM,CAAC,GAAG,GAA8B,CAAC;IACzC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1C,OAAO,CACN,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAC9C,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAC9C,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAC1B,CAAC;AACH,CAAC;AAED,yFAAyF;AACzF,SAAS,eAAe,CAAC,CAAU;IAClC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACxC,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACxF,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AACvC,CAAC;AAED,SAAS,QAAQ,CAAC,CAAU;IAC3B,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAC9C,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAChC,MAAM,CAAC,GAAG,CAA4B,CAAC;QACvC,MAAM,IAAI,GAAkB,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC;QACrH,MAAM,GAAG,GAAG,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,GAAG;YAAE,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;QAC5B,IAAI,OAAO,CAAC,CAAC,YAAY,KAAK,QAAQ;YAAE,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC;QAC3E,OAAO,IAAI,CAAC;IACb,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AACrB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,GAAY;IACnC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACjG,MAAM,CAAC,GAAG,GAA8B,CAAC;IAEzC,MAAM,IAAI,GAAsB,EAAE,CAAC;IACnC,IAAI,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ;QAAE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC;IACxE,IAAI,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ;QAAE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC;IACxE,IAAI,CAAC,CAAC,UAAU,KAAK,MAAM,IAAI,CAAC,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,CAAC,UAAU,KAAK,MAAM;QAAE,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;IACrH,IAAI,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ;QAAE,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAwB,CAAC;IACjF,IAAI,CAAC,CAAC,MAAM;QAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,IAAI,OAAO,CAAC,CAAC,mBAAmB,KAAK,SAAS;QAAE,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC,mBAAmB,CAAC;IACjG,MAAM,MAAM,GAAG,CAAC,QAAgB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAE9G,kCAAkC;IAClC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,wEAAwE;QACxE,4EAA4E;QAC5E,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YAC7D,OAAO,CAAC,IAAI,CACX,+GAA+G,CAC/G,CAAC;QACH,CAAC;QACD,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACpC,MAAM,MAAM,GAAY,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC1C,MAAM,KAAK,GAAU,EAAE,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACzE,IAAI,CAAC,CAAC,KAAK;gBAAE,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;YACnC,IAAI,CAAC,CAAC,OAAO;gBAAE,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;YACzC,IAAI,CAAC,CAAC,YAAY,KAAK,SAAS;gBAAE,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC;YACtE,IAAI,CAAC,GAAG,CAAC;gBAAE,KAAK,CAAC,SAAS,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC1C,IAAI,CAAC,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;YAC/C,OAAO,KAAK,CAAC;QACd,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,CAAC;IACnD,CAAC;IAED,4EAA4E;IAC5E,8EAA8E;IAC9E,yEAAyE;IACzE,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACpC,MAAM,QAAQ,GAAmB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACnH,MAAM,KAAK,GAAU,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACjF,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;QACjG,IAAI,MAAM,CAAC,MAAM;YAAE,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/D,MAAM,MAAM,GAAG;YACd,OAAO,CAAC,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;YAC/D,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;SACnC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;QACpD,IAAI,MAAM,CAAC,MAAM;YAAE,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;QAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;IAC/D,CAAC;IAED,8DAA8D;IAC9D,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAChC,MAAM,KAAK,GAAU,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAC9E,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ;YAAE,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;QACvD,MAAM,GAAG,GAAG,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,GAAG;YAAE,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;QAC7B,IAAI,OAAO,CAAC,CAAC,YAAY,KAAK,QAAQ;YAAE,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC;QAC5E,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;IAC3D,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,2FAA2F,CAAC,CAAC;AAC9G,CAAC;AAgBD;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,GAAW;IACrC,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACzC,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACjE,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/C,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1C,MAAM,IAAI,GAA2B,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC;IAChG,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;AACvB,CAAC;AAeD,MAAM,UAAU,gBAAgB,CAAC,GAAY,EAAE,OAA0B,EAAE;IAC1E,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAC7C,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,4BAA4B,CAAC,EAAE,QAAQ,EAAE,CAAC;IACxE,CAAC;IACD,MAAM,IAAI,GAAG,GAAwB,CAAC;IACtC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,mBAAmB,KAAK,IAAI,CAAC;IAEhE,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;QAAE,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IAC1F,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7D,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QACrD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IACxC,CAAC;IAED,2EAA2E;IAC3E,yEAAyE;IACzE,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,kBAAkB,EAAE,CAAC;YAC7C,MAAM,CAAC,IAAI,CAAC,yCAAyC,IAAI,CAAC,MAAM,CAAC,MAAM,SAAS,kBAAkB,GAAG,CAAC,CAAC;QACxG,CAAC;QACD,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,IAAI,IAAI,CAAC,WAAW,GAAG,uBAAuB,EAAE,CAAC;YACxF,MAAM,CAAC,IAAI,CAAC,0CAA0C,IAAI,CAAC,WAAW,SAAS,uBAAuB,GAAG,CAAC,CAAC;QAC5G,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3D,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC7B,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;gBAAE,SAAS;YAC1C,iDAAiD;YACjD,IAAI,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ,IAAI,CAAC,CAAC,WAAW,GAAG,uBAAuB,EAAE,CAAC;gBAClF,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,EAAE,4BAA4B,CAAC,CAAC,WAAW,SAAS,uBAAuB,GAAG,CAAC,CAAC;YAC1H,CAAC;YACD,uEAAuE;YACvE,yEAAyE;YACzE,kEAAkE;YAClE,iEAAiE;YACjE,IAAI,OAAO,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC/B,IAAI,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,GAA0C,CAAC,EAAE,CAAC;oBAC/E,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,GAAG,kEAAkE,CAAC,CAAC;gBAChI,CAAC;qBAAM,IAAI,IAAI,EAAE,CAAC;oBACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;oBAC3C,IAAI,QAAQ,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;wBAChE,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,GAAG,6BAA6B,CAAC,CAAC;oBAC3F,CAAC;gBACF,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAC7B,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAC5C,SAAS;QACV,CAAC;QACD,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACX,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAC3C,SAAS;QACV,CAAC;QACD,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9D,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAEd,8EAA8E;QAC9E,2EAA2E;QAC3E,yEAAyE;QACzE,qCAAqC;QACrC,IAAI,CAAC,CAAC,CAAC,YAAY,KAAK,IAAI,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YAClG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,6DAA6D,CAAC,CAAC;QAC1F,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAc,CAAC;QAC9C,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,oBAAoB,IAAI,GAAG,CAAC,CAAC;QAExF,wBAAwB;QACxB,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACzC,IAAI,CAAC,CAAC,CAAC,IAAI;gBAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,IAAI,mBAAmB,CAAC,CAAC;QACvE,CAAC;QACD,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YACpB,IAAI,CAAC,CAAC,CAAC,IAAI;gBAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC;YAClE,IAAI,CAAC,CAAC,CAAC,IAAI;gBAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YACzB,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;gBACzC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,4CAA4C,CAAC,CAAC;QAC1E,CAAC;QACD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACvB,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,4BAA4B,CAAC,CAAC;YAC5F,IAAI,CAAC,CAAC,CAAC,IAAI;gBAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,4BAA4B,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACrB,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;YAC7D,MAAM,MAAM,GAAI,CAAuB,CAAC,GAAG,KAAK,SAAS,CAAC;YAC1D,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;gBACxB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,6EAA6E,CAAC,CAAC;YAC1G,CAAC;iBAAM,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;gBAC7B,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,wEAAwE,CAAC,CAAC;YACrG,CAAC;QACF,CAAC;QACD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACrB,IAAI,CAAC,CAAC,CAAC,IAAI;gBAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,+CAA+C,CAAC,CAAC;YACxF,IAAI,CAAC,CAAC,CAAC,KAAK;gBAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,gDAAgD,CAAC,CAAC;YAC1F,IAAI,CAAC,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;gBACnC,IAAI,OAAO,CAAC,CAAC,aAAa,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;oBACrG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,+CAA+C,CAAC,CAAC;gBAC5E,CAAC;qBAAM,IAAI,CAAC,CAAC,aAAa,GAAG,wBAAwB,EAAE,CAAC;oBACvD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,sCAAsC,wBAAwB,EAAE,CAAC,CAAC;gBAC7F,CAAC;YACF,CAAC;QACF,CAAC;QACD,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;YAC3B,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;YACvE,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC7B,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,gFAAgF,CAAC,CAAC;YAC7G,CAAC;YACD,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC9B,IAAI,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;oBACtF,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,gDAAgD,CAAC,CAAC;gBAC7E,CAAC;qBAAM,IAAI,CAAC,CAAC,QAAQ,GAAG,4BAA4B,EAAE,CAAC;oBACtD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,uCAAuC,4BAA4B,EAAE,CAAC,CAAC;gBAClG,CAAC;YACF,CAAC;YACD,IAAI,WAAW,IAAI,CAAC,CAAC,QAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3C,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,yDAAyD,CAAC,CAAC;YACtF,CAAC;YACD,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAsB,CAAC,EAAE,CAAC;gBACpE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,iCAAiC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;YACvE,CAAC;QACF,CAAC;QACD,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;gBACxD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,oCAAoC,CAAC,CAAC;YACjE,CAAC;iBAAM,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC;gBAC7B,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,4BAA4B,CAAC,CAAC;YACzD,CAAC;YACD,IAAI,CAAC,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,EAAE,CAAC;gBAC7F,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,gDAAgD,CAAC,CAAC;YAC7E,CAAC;YACD,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,EAAE,CAAC;gBACjF,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,0CAA0C,CAAC,CAAC;YACvE,CAAC;QACF,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAgB,CAAC,EAAE,CAAC;YACxD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;QAC/D,CAAC;QAED,mDAAmD;QACnD,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;YACb,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,UAAU,CAAC;YAC1C,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAmB,CAAC,EAAE,CAAC;gBACjD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,2BAA2B,KAAK,sBAAsB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC7G,CAAC;YACD,sEAAsE;YACtE,IAAI,KAAK,KAAK,WAAW,IAAK,6BAAmD,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClG,MAAM,CAAC,IAAI,CACV,UAAU,CAAC,CAAC,EAAE,MAAM,IAAI,iDAAiD,6BAA6B,CAAC,IAAI,CAAC,GAAG,CAAC,sEAAsE,CACtL,CAAC;YACH,CAAC;YACD,yEAAyE;YACzE,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;gBAC5C,MAAM,EAAE,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;gBAClG,IAAI,CAAC,EAAE,EAAE,CAAC;oBACT,MAAM,CAAC,IAAI,CACV,UAAU,CAAC,CAAC,EAAE,uCAAuC,EAAE,oDAAoD,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACnJ,CAAC;gBACH,CAAC;YACF,CAAC;YACD,8DAA8D;YAC9D,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;gBACnE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC,KAAK,CAAC,GAAG,qCAAqC,CAAC,CAAC;YACtG,CAAC;QACF,CAAC;QAED,wEAAwE;QACxE,IAAI,CAAC,CAAC,KAAK,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACrE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC,KAAK,6EAA6E,CAAC,CAAC;QACnI,CAAC;QAED,gHAAgH;QAChH,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,uHAAuH,CAAC,CAAC;QACpJ,CAAC;IACF,CAAC;IAED,yCAAyC;IACzC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAC7B,IAAI,CAAC,CAAC,EAAE,EAAE;YAAE,SAAS;QACrB,KAAK,MAAM,GAAG,IAAI,CAAC,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;YACrC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,+BAA+B,GAAG,GAAG,CAAC,CAAC;QACrF,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;YAC9B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,0BAA0B,CAAC,GAAG,CAAC,CAAC;QAC5E,CAAC;IACF,CAAC;IAED,2FAA2F;IAC3F,MAAM,cAAc,GAAG,mBAAmB,CAAC;IAC3C,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAC7B,IAAI,CAAC,CAAC,EAAE,EAAE;YAAE,SAAS;QACrB,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YACxE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,KAAK,0EAA0E,CAAC,CAAC;QAC3H,CAAC;IACF,CAAC;IAED,yBAAyB;IACzB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,MAAiB,CAAC,CAAC;QAClD,IAAI,KAAK;YAAE,MAAM,CAAC,IAAI,CAAC,8BAA8B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,iFAAiF;IACjF,MAAM,MAAM,GAAI,IAAI,CAAC,MAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAChE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,+CAA+C,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IAEpG,2EAA2E;IAC3E,kEAAkE;IAClE,yEAAyE;IACzE,sEAAsE;IACtE,wEAAwE;IACxE,kEAAkE;IAClE,EAAE;IACF,8EAA8E;IAC9E,8EAA8E;IAC9E,mBAAmB;IACnB,EAAE;IACF,wEAAwE;IACxE,qEAAqE;IACrE,oDAAoD;IACpD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,SAAS,GAAG,IAAI,GAAG,CAAE,IAAI,CAAC,MAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,0EAA0E;QAC1E,MAAM,eAAe,GAAG,IAAI,GAAG,EAAuB,CAAC;QACvD,MAAM,mBAAmB,GAAG,CAAC,OAAe,EAAe,EAAE;YAC5D,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC5C,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC;YAC1B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;YACjC,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,SAAS,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;YACtG,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC;gBACrB,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAG,CAAC;gBAC1B,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;oBAAE,SAAS;gBAC7B,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACf,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC9B,IAAI,GAAG,EAAE,CAAC;oBACT,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;wBACjE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;4BAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACnC,CAAC;gBACF,CAAC;YACF,CAAC;YACD,eAAe,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACrC,OAAO,MAAM,CAAC;QACf,CAAC,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAiB,EAAE,CAAC;YACxC,IAAI,CAAC,CAAC,EAAE,EAAE;gBAAE,SAAS;YACrB,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC;YACnC,IAAI,SAAS;gBAAE,SAAS;YACxB,MAAM,UAAU,GAAG,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC7C,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAC5B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC9B,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;oBAClB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,2CAA2C,GAAG,mCAAmC,CAAC,CAAC;oBAC7G,SAAS;gBACV,CAAC;gBACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBACzB,gEAAgE;oBAChE,4DAA4D;oBAC5D,2DAA2D;oBAC3D,SAAS;gBACV,CAAC;gBACD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC1B,MAAM,CAAC,IAAI,CACV,UAAU,CAAC,CAAC,EAAE,6BAA6B,GAAG,YAAY,GAAG,oCAAoC;wBAChG,wCAAwC,GAAG,qCAAqC;wBAChF,sBAAsB,GAAG,mBAAmB,GAAG,kBAAkB,CAClE,CAAC;gBACH,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IAED,8EAA8E;IAC9E,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAiB,EAAE,CAAC;YACxC,IAAI,CAAC,CAAC,EAAE,EAAE;gBAAE,SAAS;YACrB,KAAK,MAAM,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACzD,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC3B,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,QAAQ,CAAC,IAAI,CACZ,6BAA6B,GAAG,yCAAyC,GAAG,KAAK;oBAChF,kFAAkF,CACnF,CAAC;YACH,CAAC;QACF,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;YACrF,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvD,mEAAmE;YACnE,iEAAiE;YACjE,qEAAqE;YACrE,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC;gBAClC,QAAQ,CAAC,IAAI,CACZ,mBAAmB,GAAG,mCAAmC,QAAQ,KAAK;oBACrE,gIAAgI,CACjI,CAAC;YACH,CAAC;QACF,CAAC;IACF,CAAC;IAED,IAAI,MAAM,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAY;IACvC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,IAAI,GAAG,CAAC,CAAqB,EAAE,EAAE;QACtC,IAAI,CAAC,CAAC;YAAE,OAAO;QACf,IAAI,CAAyB,CAAC;QAC9B,MAAM,MAAM,GAAG,4BAA4B,CAAC;QAC5C,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI;YAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,2BAA2B,CAAC;QAC1C,OAAO,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI;YAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC,CAAC;IACF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,EAAE;QAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1C,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,IAAI,EAAE;QAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACnD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;QAAE,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACpF,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE;QAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7C,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AAC7D,CAAC;AAED,SAAS,YAAY,CAAC,MAAc,EAAE,KAAa;IAClD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACzC,OAAO,GAAG,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,0DAA0D;AAC1D,SAAS,WAAW,CAAC,MAAe;IACnC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAoB,CAAC;IACzC,KAAK,MAAM,CAAC,IAAI,MAAM;QAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAE1D,MAAM,KAAK,GAAG,CAAC,CAAC;IAChB,MAAM,IAAI,GAAG,CAAC,CAAC;IACf,MAAM,KAAK,GAAG,CAAC,CAAC;IAChB,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,KAAK,MAAM,CAAC,IAAI,MAAM;QAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,MAAM,KAAK,GAAG,CAAC,EAAU,EAAmB,EAAE;QAC7C,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;YACpC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBAAE,SAAS;YAC3B,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;gBAChB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC/B,OAAO,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YACnC,CAAC;YACD,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;gBACjB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACvB,IAAI,KAAK;oBAAE,OAAO,KAAK,CAAC;YACzB,CAAC;QACF,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACrB,KAAK,CAAC,GAAG,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IACb,CAAC,CAAC;IAEF,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACxB,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC1B,IAAI,KAAK;gBAAE,OAAO,KAAK,CAAC;QACzB,CAAC;IACF,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,cAAc,CAAC,KAAY;IAC1C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAS,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACjF,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAe,EAAE,OAAe;IACtE,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC/B,IAAI,IAAI;QAAE,KAAK,MAAM,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9D,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC;QACrB,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAG,CAAC;QAC1B,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,SAAS;QAC3B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,SAAS,CAAC,6CAA6C;QAC1E,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACb,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC;QAC1B,KAAK,MAAM,CAAC,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC;IACF,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;AAChC,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,UAAU,CAAC,MAAe;IACzC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAoB,CAAC;IAE/C,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACxB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACnB,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC1B,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACxB,KAAK,MAAM,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBAAE,SAAS;YAC3B,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5C,UAAU,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/B,CAAC;IACF,CAAC;IAED,MAAM,MAAM,GAAc,EAAE,CAAC;IAC7B,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAClE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,IAAI,GAAY,EAAE,CAAC;QACzB,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YAC1B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC9C,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC1C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;oBAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,CAAC;YAC9E,CAAC;QACF,CAAC;QACD,QAAQ,GAAG,IAAI,CAAC;IACjB,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,UAAU,CAAC,MAAe;IACzC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACjE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,GAAa,EAAE,QAAkC;IAC5E,MAAM,IAAI,GAA4B,EAAE,CAAC;IACzC,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC;QAC1D,IAAI,QAAQ,IAAI,GAAG,IAAI,QAAQ;YAAE,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;aACtD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;YAAE,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;IAC/D,CAAC;IACD,IAAI,QAAQ;QAAE,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;YAAE,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;gBAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC3F,OAAO,IAAI,CAAC;AACb,CAAC"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Stale-marking (M4) — conservative transitive invalidation over the observed
3
+ * readSet captured in M3.
4
+ *
5
+ * This is the "mark stale, don't rerun" half of overstory's cost-asymmetric
6
+ * reactivity (VISION §2.3): the cheap effects (figuring out what WOULD be
7
+ * invalidated) run for free; the expensive effects (actually re-running an LLM
8
+ * phase) are gated for M5. Given a run's observed readSets and a set of phases
9
+ * assumed to have changed, `computeStaleFrontier` returns the transitive
10
+ * closure of phases whose recorded dependencies are no longer trustworthy.
11
+ *
12
+ * Pure module: no IO, no Date, no randomness. Deterministic.
13
+ *
14
+ * Scope (honest): this is TOPOLOGICAL propagation only — a changed seed
15
+ * invalidates everything that (transitively) read it. The overstory
16
+ * "early cutoff" refinement (a re-run whose output HASH is unchanged does NOT
17
+ * invalidate, even if the version advanced) needs before/after content hashes,
18
+ * which only exist when a phase is actually re-run — that is the M5
19
+ * recomputation concern, deliberately out of scope here. Marking is the safe,
20
+ * conservative prerequisite that lets M5 rerun with confidence.
21
+ *
22
+ * @see docs/internal/overstory-convergence-roadmap.md §3 (M4)
23
+ */
24
+ import type { PhaseState } from "./store.ts";
25
+ import { type Taskflow } from "./schema.ts";
26
+ /** phaseId → the upstream stepIds it observed-reading (M3 PhaseState.reads). */
27
+ export type ReadMap = Map<string, readonly string[]>;
28
+ /** Fold a run's PhaseStates into a read map (drops phases with no reads). */
29
+ export declare function readMapOf(phases: Record<string, PhaseState>): ReadMap;
30
+ /** Phases that directly read `phaseId` (its immediate dependents).
31
+ *
32
+ * When `declared` is provided, the dependent set is the **union** of
33
+ * observed dependents (from `reads`) and declared dependents (from
34
+ * `declared`) — a declared-but-unobserved edge (e.g. a `when` ref that never
35
+ * fired) still counts as a dependency for staleness propagation (M2 union).
36
+ * `declared` undefined → observed-only (backward-compatible). */
37
+ export declare function dependentsOf(reads: ReadMap, phaseId: string, declared?: ReadMap): string[];
38
+ /**
39
+ * The set of phases that are stale if `seeds` change, transitively. A reader
40
+ * is stale if ANY phase it (observed- OR declared-)reading is stale
41
+ * (union/I5: when in doubt, assume dependency). Includes the seeds themselves.
42
+ *
43
+ * When `declared` is provided, the read graph used for propagation is the
44
+ * **union** of `reads` (observed, M3) and `declared` (M2 compile-time refs):
45
+ * a declared-but-unobserved edge still propagates staleness. `declared`
46
+ * undefined → observed-only (backward-compatible, identical to pre-M2).
47
+ *
48
+ * Deterministic. O(phases + read-edges). Cycles in the read graph (which a
49
+ * correct DAG can't produce, but a pathological one could) terminate because a
50
+ * phase is enqueued at most once.
51
+ */
52
+ export declare function computeStaleFrontier(reads: ReadMap, seeds: Iterable<string>, declared?: ReadMap): Set<string>;
53
+ /** Build a declared ReadMap from a flow definition: each phase's `collectRefs`
54
+ * `{steps.X}` refs become its declared reads (self-refs excluded so a loop
55
+ * `until` checking `{steps.thisId.output}` doesn't create a self-edge).
56
+ *
57
+ * Pure. Used by `recomputeTaskflow` and `/tf why-stale` so union (observed ∪
58
+ * declared) semantics apply to old runs too (pre-H1 runs have no persisted
59
+ * `RunState.declaredDeps` — deriving from `def` keeps recompute sound). */
60
+ export declare function declaredReadMapOfDef(def: Taskflow): ReadMap;
61
+ /**
62
+ * Render either the full observed dependency graph (no seeds) or the stale
63
+ * frontier given assumed-changed seeds. Each stale phase lists the stale
64
+ * upstreams that caused it (its "why").
65
+ *
66
+ * When `declared` is provided, the frontier is the **union** (observed ∪
67
+ * declared) and a stale phase's "why" annotates edges present only in the
68
+ * declared plane (not observed at runtime) with `(declared)`. `declared`
69
+ * undefined → observed-only rendering (backward-compatible).
70
+ */
71
+ export declare function formatWhyStale(runId: string, flowName: string, reads: ReadMap, seeds: readonly string[], declared?: ReadMap): string;
72
+ //# sourceMappingURL=stale.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stale.d.ts","sourceRoot":"","sources":["../src/stale.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAe,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAMzD,gFAAgF;AAChF,MAAM,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC;AAErD,6EAA6E;AAC7E,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,OAAO,CAOrE;AAED;;;;;;kEAMkE;AAClE,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,EAAE,CAW1F;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,CAY7G;AAMD;;;;;;4EAM4E;AAC5E,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAQ3D;AAMD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC7B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,QAAQ,CAAC,EAAE,OAAO,GAChB,MAAM,CAuDR"}
package/dist/stale.js ADDED
@@ -0,0 +1,179 @@
1
+ /**
2
+ * Stale-marking (M4) — conservative transitive invalidation over the observed
3
+ * readSet captured in M3.
4
+ *
5
+ * This is the "mark stale, don't rerun" half of overstory's cost-asymmetric
6
+ * reactivity (VISION §2.3): the cheap effects (figuring out what WOULD be
7
+ * invalidated) run for free; the expensive effects (actually re-running an LLM
8
+ * phase) are gated for M5. Given a run's observed readSets and a set of phases
9
+ * assumed to have changed, `computeStaleFrontier` returns the transitive
10
+ * closure of phases whose recorded dependencies are no longer trustworthy.
11
+ *
12
+ * Pure module: no IO, no Date, no randomness. Deterministic.
13
+ *
14
+ * Scope (honest): this is TOPOLOGICAL propagation only — a changed seed
15
+ * invalidates everything that (transitively) read it. The overstory
16
+ * "early cutoff" refinement (a re-run whose output HASH is unchanged does NOT
17
+ * invalidate, even if the version advanced) needs before/after content hashes,
18
+ * which only exist when a phase is actually re-run — that is the M5
19
+ * recomputation concern, deliberately out of scope here. Marking is the safe,
20
+ * conservative prerequisite that lets M5 rerun with confidence.
21
+ *
22
+ * @see docs/internal/overstory-convergence-roadmap.md §3 (M4)
23
+ */
24
+ import { collectRefs } from "./schema.js";
25
+ /** Fold a run's PhaseStates into a read map (drops phases with no reads). */
26
+ export function readMapOf(phases) {
27
+ const m = new Map();
28
+ for (const [id, ps] of Object.entries(phases)) {
29
+ const deps = (ps.reads ?? []).map((r) => r.stepId);
30
+ if (deps.length)
31
+ m.set(id, deps);
32
+ }
33
+ return m;
34
+ }
35
+ /** Phases that directly read `phaseId` (its immediate dependents).
36
+ *
37
+ * When `declared` is provided, the dependent set is the **union** of
38
+ * observed dependents (from `reads`) and declared dependents (from
39
+ * `declared`) — a declared-but-unobserved edge (e.g. a `when` ref that never
40
+ * fired) still counts as a dependency for staleness propagation (M2 union).
41
+ * `declared` undefined → observed-only (backward-compatible). */
42
+ export function dependentsOf(reads, phaseId, declared) {
43
+ const out = new Set();
44
+ for (const [reader, deps] of reads) {
45
+ if (deps.includes(phaseId))
46
+ out.add(reader);
47
+ }
48
+ if (declared) {
49
+ for (const [reader, deps] of declared) {
50
+ if (deps.includes(phaseId))
51
+ out.add(reader);
52
+ }
53
+ }
54
+ return [...out];
55
+ }
56
+ // ---------------------------------------------------------------------------
57
+ // Stale frontier (transitive closure, union semantics)
58
+ // ---------------------------------------------------------------------------
59
+ /**
60
+ * The set of phases that are stale if `seeds` change, transitively. A reader
61
+ * is stale if ANY phase it (observed- OR declared-)reading is stale
62
+ * (union/I5: when in doubt, assume dependency). Includes the seeds themselves.
63
+ *
64
+ * When `declared` is provided, the read graph used for propagation is the
65
+ * **union** of `reads` (observed, M3) and `declared` (M2 compile-time refs):
66
+ * a declared-but-unobserved edge still propagates staleness. `declared`
67
+ * undefined → observed-only (backward-compatible, identical to pre-M2).
68
+ *
69
+ * Deterministic. O(phases + read-edges). Cycles in the read graph (which a
70
+ * correct DAG can't produce, but a pathological one could) terminate because a
71
+ * phase is enqueued at most once.
72
+ */
73
+ export function computeStaleFrontier(reads, seeds, declared) {
74
+ const stale = new Set();
75
+ const queue = [...seeds];
76
+ while (queue.length) {
77
+ const s = queue.shift();
78
+ if (stale.has(s))
79
+ continue;
80
+ stale.add(s);
81
+ for (const dep of dependentsOf(reads, s, declared)) {
82
+ if (!stale.has(dep))
83
+ queue.push(dep);
84
+ }
85
+ }
86
+ return stale;
87
+ }
88
+ // ---------------------------------------------------------------------------
89
+ // Declared-plane derivation (M2)
90
+ // ---------------------------------------------------------------------------
91
+ /** Build a declared ReadMap from a flow definition: each phase's `collectRefs`
92
+ * `{steps.X}` refs become its declared reads (self-refs excluded so a loop
93
+ * `until` checking `{steps.thisId.output}` doesn't create a self-edge).
94
+ *
95
+ * Pure. Used by `recomputeTaskflow` and `/tf why-stale` so union (observed ∪
96
+ * declared) semantics apply to old runs too (pre-H1 runs have no persisted
97
+ * `RunState.declaredDeps` — deriving from `def` keeps recompute sound). */
98
+ export function declaredReadMapOfDef(def) {
99
+ const m = new Map();
100
+ for (const p of def.phases) {
101
+ const refs = collectRefs(p);
102
+ const reads = refs.steps.filter((id) => id !== p.id);
103
+ if (reads.length)
104
+ m.set(p.id, reads);
105
+ }
106
+ return m;
107
+ }
108
+ // ---------------------------------------------------------------------------
109
+ // Rendering
110
+ // ---------------------------------------------------------------------------
111
+ /**
112
+ * Render either the full observed dependency graph (no seeds) or the stale
113
+ * frontier given assumed-changed seeds. Each stale phase lists the stale
114
+ * upstreams that caused it (its "why").
115
+ *
116
+ * When `declared` is provided, the frontier is the **union** (observed ∪
117
+ * declared) and a stale phase's "why" annotates edges present only in the
118
+ * declared plane (not observed at runtime) with `(declared)`. `declared`
119
+ * undefined → observed-only rendering (backward-compatible).
120
+ */
121
+ export function formatWhyStale(runId, flowName, reads, seeds, declared) {
122
+ const lines = [];
123
+ lines.push(`why-stale — run ${runId} · flow "${flowName}"`);
124
+ lines.push("");
125
+ if (seeds.length === 0) {
126
+ // No seeds → show the full observed dependency graph (who reads what).
127
+ if (reads.size === 0 && (!declared || declared.size === 0)) {
128
+ lines.push("(No observed readSets in this run — provenance is empty.)");
129
+ return lines.join("\n");
130
+ }
131
+ lines.push("Observed dependency graph (who reads what):");
132
+ lines.push("");
133
+ const allReaders = new Set([...reads.keys(), ...(declared?.keys() ?? [])]);
134
+ for (const reader of allReaders) {
135
+ const obs = reads.get(reader) ?? [];
136
+ const dec = declared?.get(reader) ?? [];
137
+ const parts = [];
138
+ for (const d of obs)
139
+ parts.push(d);
140
+ for (const d of dec)
141
+ if (!obs.includes(d))
142
+ parts.push(`${d} (declared)`);
143
+ lines.push(`■ ${reader} reads: ${parts.join(", ") || "(none)"}`);
144
+ }
145
+ lines.push("");
146
+ lines.push("Pass a phase id to compute its stale frontier: /tf why-stale <runId> <phaseId>");
147
+ return lines.join("\n");
148
+ }
149
+ const frontier = computeStaleFrontier(reads, seeds, declared);
150
+ const seedSet = new Set(seeds);
151
+ lines.push(`Assuming changed: ${[...seedSet].join(", ")}`);
152
+ lines.push("");
153
+ if (frontier.size <= seedSet.size) {
154
+ lines.push(`Stale frontier: only the seed(s) themselves — nothing else reads them.`);
155
+ return lines.join("\n");
156
+ }
157
+ lines.push(`Stale frontier (transitive, ${frontier.size} phases):`);
158
+ // Order: seeds first, then the rest, for readability.
159
+ const ordered = [...seeds.filter((s) => frontier.has(s)), ...[...frontier].filter((s) => !seedSet.has(s))];
160
+ for (const id of ordered) {
161
+ if (seedSet.has(id)) {
162
+ lines.push(` ■ ${id} (changed — seed)`);
163
+ }
164
+ else {
165
+ // Why is it stale? The stale upstreams it read (observed ∪ declared).
166
+ const obs = reads.get(id) ?? [];
167
+ const dec = declared?.get(id) ?? [];
168
+ const obsCauses = obs.filter((d) => frontier.has(d));
169
+ const decCauses = dec.filter((d) => frontier.has(d) && !obs.includes(d));
170
+ const causeStr = [
171
+ ...obsCauses,
172
+ ...decCauses.map((d) => `${d} (declared)`),
173
+ ].join(", ");
174
+ lines.push(` ■ ${id} ← reads ${causeStr || "(nothing stale?)"}`);
175
+ }
176
+ }
177
+ return lines.join("\n");
178
+ }
179
+ //# sourceMappingURL=stale.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stale.js","sourceRoot":"","sources":["../src/stale.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,EAAE,WAAW,EAAiB,MAAM,aAAa,CAAC;AASzD,6EAA6E;AAC7E,MAAM,UAAU,SAAS,CAAC,MAAkC;IAC3D,MAAM,CAAC,GAAY,IAAI,GAAG,EAAE,CAAC;IAC7B,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,IAAI,CAAC,MAAM;YAAE,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,CAAC,CAAC;AACV,CAAC;AAED;;;;;;kEAMkE;AAClE,MAAM,UAAU,YAAY,CAAC,KAAc,EAAE,OAAe,EAAE,QAAkB;IAC/E,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,QAAQ,EAAE,CAAC;QACd,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,QAAQ,EAAE,CAAC;YACvC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC7C,CAAC;IACF,CAAC;IACD,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC;AACjB,CAAC;AAED,8EAA8E;AAC9E,uDAAuD;AACvD,8EAA8E;AAE9E;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAc,EAAE,KAAuB,EAAE,QAAkB;IAC/F,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,MAAM,KAAK,GAAa,CAAC,GAAG,KAAK,CAAC,CAAC;IACnC,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC;QACrB,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,EAAY,CAAC;QAClC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,SAAS;QAC3B,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACb,KAAK,MAAM,GAAG,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtC,CAAC;IACF,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,8EAA8E;AAC9E,iCAAiC;AACjC,8EAA8E;AAE9E;;;;;;4EAM4E;AAC5E,MAAM,UAAU,oBAAoB,CAAC,GAAa;IACjD,MAAM,CAAC,GAAY,IAAI,GAAG,EAAE,CAAC;IAC7B,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QACrD,IAAI,KAAK,CAAC,MAAM;YAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,CAAC,CAAC;AACV,CAAC;AAED,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc,CAC7B,KAAa,EACb,QAAgB,EAChB,KAAc,EACd,KAAwB,EACxB,QAAkB;IAElB,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,mBAAmB,KAAK,YAAY,QAAQ,GAAG,CAAC,CAAC;IAC5D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,uEAAuE;QACvE,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC;YAC5D,KAAK,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;YACxE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;QAC1D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,MAAM,UAAU,GAAG,IAAI,GAAG,CAAS,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACnF,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;YACjC,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACpC,MAAM,GAAG,GAAG,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACxC,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,KAAK,MAAM,CAAC,IAAI,GAAG;gBAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACnC,KAAK,MAAM,CAAC,IAAI,GAAG;gBAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YACzE,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,YAAY,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC;QACnE,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,gFAAgF,CAAC,CAAC;QAC7F,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,MAAM,QAAQ,GAAG,oBAAoB,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC9D,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IAC/B,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,IAAI,QAAQ,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;QACrF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,+BAA+B,QAAQ,CAAC,IAAI,WAAW,CAAC,CAAC;IACpE,sDAAsD;IACtD,MAAM,OAAO,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3G,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;QAC1B,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACP,sEAAsE;YACtE,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;YAChC,MAAM,GAAG,GAAG,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;YACpC,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACrD,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACzE,MAAM,QAAQ,GAAG;gBAChB,GAAG,SAAS;gBACZ,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC;aAC1C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACb,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,QAAQ,IAAI,kBAAkB,EAAE,CAAC,CAAC;QACpE,CAAC;IACF,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC"}
@@ -0,0 +1,237 @@
1
+ /**
2
+ * Persistence for taskflow definitions and run state.
3
+ *
4
+ * Definitions: .pi/taskflows/<name>.json (project)
5
+ * ~/.pi/agent/taskflows/<name>.json (user)
6
+ * Run state: .pi/taskflows/runs/<sanitizedFlowName>/<runId>.json
7
+ * Index: .pi/taskflows/runs/index.json (lookup accelerator)
8
+ *
9
+ * Legacy layout (v0.0.8 and earlier):
10
+ * .pi/taskflows/runs/<runId>.json (flat, still readable)
11
+ *
12
+ * v0.0.9 refactor: per-flow subdirectory layout + lightweight index + file
13
+ * lock + TTL/cap cleanup. Full backward compatibility with the flat layout
14
+ * is maintained: loadRun and listRuns still discover legacy flat files.
15
+ */
16
+ import type { Taskflow } from "./schema.ts";
17
+ import type { UsageStats } from "./usage.ts";
18
+ import type { DeclaredDeps } from "./flowir/meta.ts";
19
+ export interface SavedFlow {
20
+ name: string;
21
+ scope: "user" | "project";
22
+ filePath: string;
23
+ def: Taskflow;
24
+ }
25
+ /** @internal */
26
+ export type PhaseStatus = "pending" | "running" | "done" | "failed" | "skipped";
27
+ export interface PhaseState {
28
+ id: string;
29
+ status: PhaseStatus;
30
+ output?: string;
31
+ json?: unknown;
32
+ usage?: UsageStats;
33
+ model?: string;
34
+ error?: string;
35
+ inputHash?: string;
36
+ /** When this result was served from cache instead of executed:
37
+ * 'cross-run' = restored from the persistent cross-run store;
38
+ * 'run-only' = within-run resume (a prior attempt with the same inputHash).
39
+ * A phase with this set spent no new tokens this run. */
40
+ cacheHit?: "cross-run" | "run-only";
41
+ startedAt?: number;
42
+ endedAt?: number;
43
+ /** Live fan-out progress for map/parallel phases. */
44
+ subProgress?: {
45
+ done: number;
46
+ total: number;
47
+ running: number;
48
+ failed: number;
49
+ };
50
+ /** Latest activity line from the running subagent(s). */
51
+ liveText?: string;
52
+ /** Gate verdict (gate phases only). */
53
+ gate?: {
54
+ verdict: "pass" | "block";
55
+ reason?: string;
56
+ };
57
+ /** Total subagent attempts incl. retries (when > calls, a retry happened). */
58
+ attempts?: number;
59
+ /** True when a map/parallel fan-out was cut short by the budget cap, or by the
60
+ * dynamic sub-flow fan-out safety limit (MAX_DYNAMIC_MAP_ITEMS). */
61
+ budgetTruncated?: boolean;
62
+ /** Human-in-the-loop outcome (approval phases only). */
63
+ approval?: {
64
+ decision: "approve" | "reject" | "edit";
65
+ note?: string;
66
+ auto?: boolean;
67
+ };
68
+ /** Loop iteration accounting (loop phases only). */
69
+ loop?: {
70
+ iterations: number;
71
+ stop: "until" | "converged" | "maxIterations" | "failed" | "aborted";
72
+ };
73
+ /** Tournament outcome (tournament phases only). */
74
+ tournament?: {
75
+ variants: number;
76
+ winner: number;
77
+ mode: "best" | "aggregate";
78
+ reason?: string;
79
+ };
80
+ /** Set when a `flow { def }` inline sub-flow definition could not be resolved,
81
+ * parsed, validated, or verified. The phase fails-open: this records why. */
82
+ defError?: string;
83
+ /** Non-fatal diagnostic warnings accumulated during this phase (e.g.
84
+ * unresolved interpolation placeholders, suspicious templates). */
85
+ warnings?: string[];
86
+ /** Observed readSet (M3): the upstream phase outputs this phase actually
87
+ * consumed at interpolation time — not what it *declared* to depend on
88
+ * (dependsOn), but what it truly *read* (`{steps.X...}`). Each entry
89
+ * carries the version (= the read phase's inputHash) it consumed, so a
90
+ * later staleness check (M4/M5) can tell whether the upstream has moved.
91
+ * This is the overstory "observed readSet@version" moat: no other
92
+ * orchestrator records what a result actually depended on. */
93
+ reads?: Array<{
94
+ stepId: string;
95
+ version?: string;
96
+ }>;
97
+ /** Truncated previews of interpolated strings used to execute this phase,
98
+ * useful when diagnosing why a model saw a literal placeholder. */
99
+ interpolation?: Array<{
100
+ source: string;
101
+ text: string;
102
+ missing?: string[];
103
+ }>;
104
+ }
105
+ export interface RunState {
106
+ runId: string;
107
+ flowName: string;
108
+ def: Taskflow;
109
+ args: Record<string, unknown>;
110
+ status: "running" | "completed" | "failed" | "paused" | "blocked";
111
+ phases: Record<string, PhaseState>;
112
+ createdAt: number;
113
+ updatedAt: number;
114
+ cwd: string;
115
+ /** OS PID of a detached runner process (set only for background runs). */
116
+ pid?: number;
117
+ /** True for runs spawned via `detach: true` (background execution). */
118
+ detached?: boolean;
119
+ /** Content fingerprint of the desugared flow definition (overstory hash
120
+ * algorithm). Folded into every phase's cache key so a structural change
121
+ * to the flow always invalidates cross-run cache hits — and an identical
122
+ * re-run always reuses them. Filled once at run start; persisted for
123
+ * audit/resume consistency. */
124
+ flowDefHash?: string | "failed";
125
+ /** Per-phase *declared* dependency footprint (M2), synthesized at compile
126
+ * time from `{steps.X}` interpolation refs via `compileTaskflowToIR`.
127
+ * This is the *declared* plane — distinct from the *observed* readSet
128
+ * (`PhaseState.reads`, captured at runtime). Recompute staleness uses the
129
+ * **union** (observed ∪ declared) so a declared-but-unobserved edge (e.g.
130
+ * a `when` ref that never fired) still propagates. JSON-safe `Record`
131
+ * shape so it round-trips through persistence. Audit/provenance only —
132
+ * recompute derives this fresh from `def` so old runs (pre-H1) also get
133
+ * union semantics. */
134
+ declaredDeps?: Record<string, DeclaredDeps>;
135
+ /** Per-phase structural sub-fingerprints (M6). Computed once per run
136
+ * alongside `flowDefHash`. Each value is either a precise per-phase hash
137
+ * (when sound) or the whole-flow `flowDefHash` (fallback for
138
+ * shareContext / `flow` phases). Folded into the cross-run cache key as
139
+ * `v3:phasefp:<subfp>` so editing phase B invalidates only B + its
140
+ * transitive dependents. Audit/resume only — recompute derives fresh. */
141
+ phaseFingerprints?: Record<string, string>;
142
+ }
143
+ export interface RunIndexEntry {
144
+ runId: string;
145
+ flowName: string;
146
+ status: RunState["status"];
147
+ createdAt: number;
148
+ updatedAt: number;
149
+ /** Path relative to runsRoot, e.g. "test-flow/test-roundtrip-001.json". */
150
+ relPath: string;
151
+ }
152
+ export declare const DEFAULT_KEPT_RUNS = 100;
153
+ export declare const DEFAULT_RUN_AGE_DAYS = 30;
154
+ /**
155
+ * Sanitise a flow name into a safe directory name. Same regex used by
156
+ * saveFlow/newRunId — but that regex keeps `.` in its allow-list, so a
157
+ * flowName of "." or ".." would pass through unchanged and let `flowRunDir`
158
+ * resolve OUTSIDE the runs root (write-side path traversal). `def.name` is
159
+ * internally derived and TypeBox only enforces Type.String() with no charset,
160
+ * so a Taskflow literally named ".." is schema-valid. We therefore reject
161
+ * bare-dot / leading-dot components after the character substitution so the
162
+ * write path can never escape runs/ (risk-reviewer v0.0.9 audit, H1).
163
+ */
164
+ export declare function safeFlowDirName(flowName: string): string;
165
+ /**
166
+ * Validate that a runId looks safe before performing any filesystem access.
167
+ * Legitimate runIds are produced by newRunId() and contain only [A-Za-z0-9._-].
168
+ */
169
+ export declare function validateRunId(runId: string): boolean;
170
+ /**
171
+ * Execute `fn` while holding a file lock. Guarantees release even on throw.
172
+ */
173
+ export declare function withLock<T>(lockPath: string, fn: () => T): T;
174
+ /** List all saved flows (project overrides user on name collision). */
175
+ /** Internal-but-exported for tests: walk-up `.pi` finder with home-dir stop. */
176
+ export declare function findProjectFlowsDir(cwd: string, create?: boolean): string | null;
177
+ export declare function listFlows(cwd: string): SavedFlow[];
178
+ export declare function getFlow(cwd: string, name: string): SavedFlow | null;
179
+ export declare function saveFlow(cwd: string, def: Taskflow, scope?: "user" | "project"): {
180
+ filePath: string;
181
+ };
182
+ export declare function runsDir(cwd: string): string;
183
+ /** Root dir for the cross-run memoization cache (sibling of `runs`). */
184
+ export declare function cacheDir(cwd: string): string;
185
+ export declare function newRunId(flowName: string): string;
186
+ /**
187
+ * Persist a run state to disk.
188
+ *
189
+ * v0.0.9: writes to `runs/<sanitisedFlowName>/<runId>.json` (per-flow
190
+ * subdirectory) and updates the lightweight index. Uses a per-run file lock
191
+ * to prevent concurrent writes to the same runId. After the write, runs
192
+ * opportunistic cleanup of expired terminal runs.
193
+ *
194
+ * F-009: shallow-clones state before stamping updatedAt to avoid mutating the
195
+ * caller's reference.
196
+ */
197
+ export declare function saveRun(state: RunState, cleanup?: {
198
+ maxKeep?: number;
199
+ maxAgeDays?: number;
200
+ }): void;
201
+ /**
202
+ * Load a single run by runId.
203
+ *
204
+ * Lookup chain (fast → slow):
205
+ * 1. INDEX — read index.json, find entry with matching runId, read via relPath.
206
+ * 2. SUBDIR SCAN — for each subdirectory in runsDir, check <subdir>/<runId>.json.
207
+ * 3. FLAT FALLBACK — check runsDir/<runId>.json directly (legacy layout).
208
+ *
209
+ * All existing path-traversal, symlink, and realpath guards are preserved for
210
+ * every path touched.
211
+ */
212
+ export declare function loadRun(cwd: string, runId: string): RunState | null;
213
+ /**
214
+ * List recent runs, sorted by updatedAt descending.
215
+ *
216
+ * v0.0.9: reads from index first, then merges any legacy flat files not yet in
217
+ * the index. If the index is missing/corrupt, calls rebuildIndex for
218
+ * self-healing.
219
+ *
220
+ * F-010: drops records with non-numeric/NaN updatedAt before sorting.
221
+ */
222
+ export declare function listRuns(cwd: string, limit?: number): RunState[];
223
+ /** Stable hash of a phase's resolved task + inputs, for resume caching. */
224
+ export declare function hashInput(...parts: string[]): string;
225
+ /**
226
+ * Check whether a process with the given PID is still alive.
227
+ * Uses signal 0 (no signal sent) — succeeds if the process exists and we have
228
+ * permission to signal it, throws ESRCH if it doesn't exist.
229
+ */
230
+ export declare function isProcessAlive(pid: number): boolean;
231
+ /**
232
+ * Write a file atomically: write to a unique temp file in the same directory,
233
+ * then rename over the target (rename is atomic on the same filesystem). Prevents
234
+ * a crash or concurrent write from leaving a half-written, corrupt JSON file.
235
+ */
236
+ export declare function writeFileAtomic(filePath: string, data: string): void;
237
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}