@codetreker/daynight 0.8.5 → 0.8.14

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 (77) hide show
  1. package/dist/api/client.d.ts +5 -1
  2. package/dist/api/client.js +104 -24
  3. package/dist/api/client.js.map +1 -1
  4. package/dist/api/index.d.ts +1 -1
  5. package/dist/api/index.js +1 -1
  6. package/dist/api/index.js.map +1 -1
  7. package/dist/api/parse.d.ts +4 -4
  8. package/dist/api/parse.js +28 -4
  9. package/dist/api/parse.js.map +1 -1
  10. package/dist/api/types.d.ts +23 -1
  11. package/dist/cli/byte-output-helper.d.ts +1 -0
  12. package/dist/cli/byte-output-helper.js +48 -0
  13. package/dist/cli/byte-output-helper.js.map +1 -0
  14. package/dist/cli/byte-output.d.ts +7 -0
  15. package/dist/cli/byte-output.js +199 -0
  16. package/dist/cli/byte-output.js.map +1 -0
  17. package/dist/cli/context.d.ts +2 -0
  18. package/dist/cli/context.js +15 -9
  19. package/dist/cli/context.js.map +1 -1
  20. package/dist/cli/schema.js +6 -6
  21. package/dist/cli/schema.js.map +1 -1
  22. package/dist/commands/review/adapters/copilot.d.ts +3 -0
  23. package/dist/commands/review/adapters/copilot.js +16 -7
  24. package/dist/commands/review/adapters/copilot.js.map +1 -1
  25. package/dist/commands/review/adapters/github-review-state.d.ts +21 -0
  26. package/dist/commands/review/adapters/github-review-state.js +144 -0
  27. package/dist/commands/review/adapters/github-review-state.js.map +1 -0
  28. package/dist/commands/review/adapters/github.d.ts +2 -1
  29. package/dist/commands/review/adapters/github.js +31 -4
  30. package/dist/commands/review/adapters/github.js.map +1 -1
  31. package/dist/commands/review/coordinator.js +134 -7
  32. package/dist/commands/review/coordinator.js.map +1 -1
  33. package/dist/commands/review/model.d.ts +21 -0
  34. package/dist/commands/review/publication.d.ts +14 -0
  35. package/dist/commands/review/publication.js +47 -0
  36. package/dist/commands/review/publication.js.map +1 -0
  37. package/dist/commands/review/skills/daynight-review/SKILL.md +59 -20
  38. package/dist/commands/review/store.d.ts +20 -0
  39. package/dist/commands/review/store.js +134 -5
  40. package/dist/commands/review/store.js.map +1 -1
  41. package/dist/commands/server/runtime.d.ts +1 -1
  42. package/dist/commands/server/runtime.js +8 -1
  43. package/dist/commands/server/runtime.js.map +1 -1
  44. package/dist/commands/skill/agents.d.ts +1 -1
  45. package/dist/commands/skill/agents.js +1 -1
  46. package/dist/commands/skill/agents.js.map +1 -1
  47. package/dist/commands/skill/command.js +7 -5
  48. package/dist/commands/skill/command.js.map +1 -1
  49. package/dist/commands/skill/definition.js +3 -3
  50. package/dist/commands/skill/definition.js.map +1 -1
  51. package/dist/commands/skill/install.d.ts +2 -1
  52. package/dist/commands/skill/install.js +13 -5
  53. package/dist/commands/skill/install.js.map +1 -1
  54. package/dist/commands/skill/skills/using-daynight/SKILL.md +56 -0
  55. package/dist/commands/skill/skills/using-daynight/references/autopilot.md +71 -0
  56. package/dist/commands/skill/skills/using-daynight/references/create-task.md +103 -0
  57. package/dist/commands/skill/skills/using-daynight/references/handbook.md +74 -0
  58. package/dist/commands/skill/skills/using-daynight/references/run-task.md +80 -0
  59. package/dist/commands/skill/targets.d.ts +1 -0
  60. package/dist/commands/skill/targets.js +9 -2
  61. package/dist/commands/skill/targets.js.map +1 -1
  62. package/dist/commands/task/attachment-rendering.d.ts +5 -0
  63. package/dist/commands/task/attachment-rendering.js +38 -0
  64. package/dist/commands/task/attachment-rendering.js.map +1 -0
  65. package/dist/commands/task/attachment.d.ts +6 -0
  66. package/dist/commands/task/attachment.js +91 -0
  67. package/dist/commands/task/attachment.js.map +1 -0
  68. package/dist/commands/task/command.js +26 -6
  69. package/dist/commands/task/command.js.map +1 -1
  70. package/dist/commands/task/definition.js +54 -8
  71. package/dist/commands/task/definition.js.map +1 -1
  72. package/dist/commands/task/rendering.d.ts +2 -0
  73. package/dist/commands/task/rendering.js +26 -4
  74. package/dist/commands/task/rendering.js.map +1 -1
  75. package/package.json +3 -2
  76. package/dist/commands/skill/skills/daynight/SKILL.md +0 -95
  77. package/dist/commands/skill/skills/daynight/references/commands.md +0 -155
@@ -1 +1 @@
1
- {"version":3,"file":"coordinator.js","sourceRoot":"","sources":["../../../src/commands/review/coordinator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAIpD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAsC9C,MAAM,GAAG,GAAG,CAAC,QAA6B,EAAU,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AAC3H,MAAM,MAAM,GAAG,CAAC,EAAoB,EAAU,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,eAAe,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;AAC9G,MAAM,aAAa,GAAG,CAAC,QAA4C,EAAU,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;AACnI,MAAM,OAAO,GAAG,CAAC,KAAc,EAAU,EAAE,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACnG,MAAM,SAAS,GAAG,CAAC,MAAmB,EAAE,EAAoB,EAAW,EAAE,CAAC,EAAE,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,cAAc;IAC9H,MAAM,CAAC,QAAQ,KAAK,EAAE,CAAC,eAAe,IAAI,MAAM,CAAC,OAAO,KAAK,EAAE,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,KAAK,EAAE,CAAC,OAAO,CAAC;AAC3G,MAAM,YAAY,GAAG,CAAC,KAAc,EAAW,EAAE;IAC/C,IAAI,KAAK,YAAY,eAAe,IAAI,CAAC,KAAK,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IACtE,IAAI,KAAK,YAAY,cAAc,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;QAAE,OAAO,IAAI,CAAC;IACpF,OAAO,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC1F,CAAC,CAAC;AACF,MAAM,OAAO,GAAG,EAAE,iBAAiB,EAAE,IAAI,EAAW,CAAC;AACrD,MAAM,QAAQ,GAAG,EAAE,iBAAiB,EAAE,IAAI,EAAW,CAAC;AACtD,MAAM,UAAU,GAAG,CAAC,aAAkC,EAAE,QAAgB,EAAU,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC,YAAY,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAElL,kGAAkG;AAClG,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAE,OAA2B,EAA2C,EAAE;IAC3G,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IAC9E,MAAM,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;IACvC,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAClE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;IAC/D,MAAM,YAAY,GAAqB,aAAa,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IACvK,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC5D,MAAM,YAAY,GAAG,IAAI,GAAG,EAAuB,CAAC;IACpD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;IACjD,MAAM,OAAO,GAAG,IAAI,GAAG,EAA2B,CAAC;IACnD,MAAM,eAAe,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC1D,MAAM,OAAO,GAAG,IAAI,GAAG,EAAiB,CAAC;IACzC,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,iBAAiB,GAAG,IAAI,CAAC;IAC7B,IAAI,IAA8B,CAAC;IACnC,MAAM,MAAM,GAAG,GAAS,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,CAAC,MAAmB,EAAyF,EAAE;QAC7H,MAAM,UAAU,GAAG,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC/C,OAAO,EAAE,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM;YACvH,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC;IACnF,CAAC,CAAC;IACF,MAAM,MAAM,GAAG,CAAC,MAAmB,EAAE,KAAa,EAAE,IAAY,EAAE,KAAe,EAAE,OAAgB,EAAQ,EAAE;QAC3G,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;YAC3F,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IAChG,CAAC,CAAC;IACF,MAAM,SAAS,GAAG,CAAC,MAAmB,EAAE,KAAc,EAAQ,EAAE;QAC9D,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QACzB,iBAAiB,GAAG,KAAK,CAAC;QAC1B,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAE,CAAC;QAC5C,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,aAAa;YAAE,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QACjK,MAAM,CAAC,OAAO,EAAE,aAAa,EAAE,wFAAwF,EAAE,KAAK,CAAC,CAAC;IAClI,CAAC,CAAC;IACF,MAAM,KAAK,GAAG,CAAC,SAA8B,EAAE,OAAmB,EAAQ,EAAE;QAC1E,MAAM,IAAI,GAAG,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YAChD,iBAAiB,GAAG,KAAK,CAAC;YAC1B,GAAG,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,0FAA0F,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5J,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC,CAAC;IACF,MAAM,aAAa,GAAG,CAAC,KAAe,EAAU,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,aAAa,CAAC,cAAc,EAC9F,KAAK,YAAY,cAAc,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjF,MAAM,cAAc,GAAG,KAAK,EAAE,UAA0B,EAAE,EAAoB,EAAE,SAAyB,EAAiB,EAAE;QAC1H,MAAM,KAAK,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;QACtB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,UAAU,CAAC,KAAM,CAAC,UAAU,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAClG,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACrC,IAAI,MAAM,CAAC,OAAO,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,SAAS,CAAC,MAAM;gBAAE,OAAO;YACxJ,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,KAAK,EAAE,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,KAAK,EAAE,CAAC,OAAO,CAAC;YAC7F,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,KAAK,KAAK,KAAK;gBAAE,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,aAAa,CAAC,UAAU;oBACrI,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,eAAe,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,iDAAiD,CAAC,CAAC,CAAC,yDAAyD,EAAE,CAAC,CAAC;YACrL,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC;YACxB,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC;YAC1B,SAAS,CAAC,WAAW,GAAG,aAAa,EAAE,CAAC;QAC1C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,MAAM,CAAC,OAAO,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,SAAS;gBAAE,OAAO;YACvE,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC;YACxB,SAAS,CAAC,WAAW,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;YAC7C,GAAG,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,eAAe;gBACjI,OAAO,EAAE,+DAA+D,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;QACvH,CAAC;IACH,CAAC,CAAC;IACF,MAAM,gBAAgB,GAAG,GAAS,EAAE;QAClC,KAAK,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,YAAY,EAAE,CAAC;YAChD,IAAI,WAAW,CAAC,IAAI,KAAK,QAAQ,IAAI,WAAW,CAAC,QAAQ,KAAK,SAAS;gBAAE,SAAS;YAClF,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAE,CAAC;YACtD,MAAM,EAAE,GAAG,KAAK,CAAC,cAAc,CAAC,MAAM,CAAE,CAAC;YACzC,IAAI,EAAE,CAAC,KAAK,KAAK,MAAM,IAAI,EAAE,CAAC,KAAK;gBAAE,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,OAAO,EAAE,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;YAChJ,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAE,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC,CAAC;QACvG,CAAC;QACD,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,iBAAiB,EAAE,EAAE,CAAC;YAC/C,IAAI,MAAM,CAAC,MAAM,KAAK,YAAY,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAAE,SAAS;YAC1G,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAE,CAAC,EAAE,CAAC;gBACtD,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBACjD,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,kEAAkE,CAAC,CAAC;YACnG,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,qBAAqB,EAAE,EAAE,CAAC;QAC/C,IAAI,CAAC;YAAC,MAAM,SAAS,CAAC,OAAO,EAAE,CAAC;QAAC,CAAC;QAClC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,kBAAkB,GAAG,KAAK,CAAC,aAAa,CAAC,EAAE,CAAE,CAAC;YACpD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YACrB,iBAAiB,GAAG,KAAK,CAAC;YAC1B,GAAG,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM;gBAC/F,OAAO,EAAE,sHAAsH,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9I,CAAC;IACH,CAAC;IAED,uFAAuF;IACvF,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,iBAAiB,EAAE,EAAE,CAAC;QAC/C,IAAI,MAAM,CAAC,MAAM,KAAK,YAAY;YAAE,SAAS;QAC7C,MAAM,WAAW,GAAG,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,EAAE,oEAAoE,EAAE,GAAG,EAAE,CAAC,CAAC;QAClI,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YACnD,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC;YAC1B,MAAM,SAAS,GAAG,KAAK,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;YAC5F,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE,0FAA0F,CAAC,CAAC;QAC5H,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAAC,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAAC,CAAC;IACpD,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,EAAE,UAA0B,EAAiB,EAAE;QAC/D,IAAI,CAAC;YACH,IAAI,UAAU,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;gBAC9B,UAAU,CAAC,KAAK,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,UAAU,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;gBAChF,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;gBACnF,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;oBACtD,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;oBAC1B,MAAM,IAAI,KAAK,CAAC,yBAAyB,UAAU,CAAC,aAAa,CAAC,UAAU,8CAA8C,QAAQ,CAAC,aAAa,CAAC,UAAU,GAAG,CAAC,CAAC;gBAClK,CAAC;gBACD,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC;gBAC9E,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,CAAC,aAAa,CAAC,UAAU,EAAE,OAAO,EAAE,sCAAsC,EAAE,CAAC,CAAC;YAChJ,CAAC;YACD,MAAM,QAAQ,GAAG,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAClE,MAAM,aAAa,GAAiB,EAAE,GAAG,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;oBAC/F,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;oBACpE,IAAI,aAAa,CAAC,QAAQ,CAAC,KAAK,aAAa,CAAC,UAAU,CAAC,KAAM,CAAC,UAAU,CAAC,EAAE,CAAC;wBAC5E,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;wBAC1B,MAAM,IAAI,KAAK,CAAC,yBAAyB,UAAU,CAAC,aAAa,CAAC,UAAU,6DAA6D,CAAC,CAAC;oBAC7I,CAAC;oBACD,OAAO,QAAQ,CAAC;gBAClB,CAAC,EAAE,CAAC;YACJ,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,KAAK,EAAE,UAAU,CAAC,aAAa,EAAE,aAAa,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;YACvG,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,aAAa,KAAK,IAAI;gBAAE,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,CAAC,aAAa,CAAC,UAAU;oBACjJ,OAAO,EAAE,4CAA4C,QAAQ,CAAC,aAAa,GAAG,EAAE,CAAC,CAAC;YACpF,gBAAgB,EAAE,CAAC;YACnB,UAAU,CAAC,UAAU,GAAG,GAAG,EAAE,GAAG,aAAa,CAAC,cAAc,CAAC;QAC/D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gBAAC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;gBAAC,iBAAiB,GAAG,KAAK,CAAC;YAAC,CAAC;YAClF,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,aAAa,CAAC,cAAc,EAAE,KAAK,YAAY,cAAc,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9I,UAAU,CAAC,UAAU,GAAG,OAAO,CAAC;YAChC,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,YAAY,CAAC,KAAK,CAAC;gBAAE,GAAG,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC,aAAa,CAAC,UAAU;oBAC9H,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,8DAA8D,CAAC,CAAC,CAAC,iFAAiF,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QACxM,CAAC;IACH,CAAC,CAAC;IACF,MAAM,UAAU,GAAG,KAAK,EAAE,MAAmB,EAAE,OAA0C,EAAE,KAAc,EAAE,OAAgB,EAAiB,EAAE;QAC5I,IAAI,KAAwB,CAAC;QAC7B,IAAI,CAAC;YAAC,KAAK,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,CAAC;QAAC,OAAO,cAAc,EAAE,CAAC;YAAC,SAAS,CAAC,MAAM,EAAE,IAAI,cAAc,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,cAAc,CAAC,EAAE,wCAAwC,CAAC,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QAC/O,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC;QACnB,IAAI,OAAO,EAAE,SAAS,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC5C,MAAM,SAAS,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YACrE,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,qFAAqF,CAAC,CAAC;YACtH,OAAO;QACT,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,yCAAyC,OAAO,EAAE,QAAQ,YAAY,OAAO,EAAE,MAAM,kBAAkB,OAAO,EAAE,YAAY,KAAK,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACnO,MAAM,OAAO,GAAG,IAAI,GAAG,UAAU,CAAC,aAAa,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;QACtE,IAAI,KAAkB,CAAC;QACvB,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;YACxD,KAAK,GAAG,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QACvF,CAAC;;YAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;QAC1I,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,4EAA4E,CAAC,CAAC,CAAC,4FAA4F,EAAE,MAAM,EACzO,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACxD,CAAC,CAAC;IACF,MAAM,iBAAiB,GAAG,KAAK,EAAE,UAA0B,EAAE,MAAmB,EAAE,WAAwB,EAAiB,EAAE;QAC3H,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,UAAU,CAAC,KAAM,CAAC;YAChC,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAC7G,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAChC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBACjD,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,8DAA8D,CAAC,CAAC;gBAC7F,OAAO;YACT,CAAC;YACD,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YAC/C,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAChH,MAAM,EAAE,GAAG,KAAK,CAAC,kBAAkB,CAAC,KAAK,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,CAAE,CAAC;YAC3E,gBAAgB,EAAE,CAAC;YACnB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAE,EAAE,EAAE,CAAC,EAAE,CAAC;gBAChD,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBACjD,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,yEAAyE,CAAC,CAAC;gBACxG,OAAO;YACT,CAAC;YACD,IAAI,MAAiE,CAAC;YACtE,IAAI,CAAC;gBAAC,MAAM,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAAC,CAAC;YACnH,OAAO,KAAK,EAAE,CAAC;gBACb,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;gBAC/C,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC;gBACnB,MAAM,QAAQ,GAAG,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBAC5H,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,wFAAwF,EAAE,KAAK,EACpH,QAAQ,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAC5D,OAAO;YACT,CAAC;YACD,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YAC/C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAE,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAE,CAAC,EAAE,CAAC;gBAC3E,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBACjD,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,mEAAmE,CAAC,CAAC;gBAClG,OAAO;YACT,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC5F,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC;gBACnB,MAAM,QAAQ,GAAG,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,yDAAyD,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;gBAClK,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,6FAA6F,EAAE,SAAS,EAC7H,QAAQ,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAC5D,OAAO;YACT,CAAC;YACD,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACzH,MAAM,KAAK,GAAsB,EAAE,MAAM,EAAE,WAAW,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,WAAW,EAAE,SAAS,CAAC,IAAI,EAAE,cAAc,EAAE,SAAS,CAAC,OAAO;gBACtK,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;YACpE,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,+CAA+C,CAAC,CAAC;YAC1E,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;YACpE,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAE,CAAC;YAC5C,IAAI,OAAO,CAAC,uBAAuB,KAAK,IAAI,EAAE,CAAC;gBAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YAC9G,MAAM,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAE,CAAC;YAC5C,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gBAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YAC/D,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAAC,MAAM,UAAU,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YACjI,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW;gBAAE,MAAM,KAAK,CAAC;YAChD,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC;YACnB,MAAM,OAAO,GAAG,IAAI,GAAG,UAAU,CAAC,aAAa,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;YACvE,MAAM,QAAQ,GAAG,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;YACvG,MAAM,CAAC,QAAQ,EAAE,aAAa,EAAE,kFAAkF,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACvL,CAAC;IACH,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,KAAK,EAAE,UAA0B,EAAE,EAAoB,EAAE,WAAwB,EAAiB,EAAE;QAClH,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,eAAe,CAAC,KAAK,EAAE,UAAU,CAAC,KAAM,EAAE,EAAE,EAAE,EAAE,GAAG,QAAQ,EAAE,GAAG,OAAO,EAAE,EAAE,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YACpI,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/B,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM;gBACvG,OAAO,EAAE,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,uCAAuC,CAAC,CAAC,CAAC,gEAAgE,EAAE,CAAC,CAAC;QACxJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gBAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBAAC,iBAAiB,GAAG,KAAK,CAAC;YAAC,CAAC;YAC7E,MAAM,OAAO,GAAG,GAAG,EAAE,GAAG,aAAa,CAAC,YAAY,CAAC;YACnD,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;YACrC,GAAG,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM;gBACxG,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,sDAAsD,CAAC,CAAC,CAAC,8CAA8C,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAC/J,CAAC;IACH,CAAC,CAAC;IACF,MAAM,KAAK,GAAG,GAAS,EAAE,GAAG,KAAK,MAAM,WAAW,IAAI,YAAY,CAAC,MAAM,EAAE;QAAE,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IACtI,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,IAAI,CAAC;QACH,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC;YACnB,gBAAgB,EAAE,CAAC;YACnB,KAAK,MAAM,UAAU,IAAI,YAAY,EAAE,CAAC;gBACtC,IAAI,MAAM,CAAC,OAAO;oBAAE,MAAM;gBAC1B,IAAI,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,UAAU,GAAG,IAAI;oBAAE,SAAS;gBACvF,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;gBAC1B,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACvE,CAAC;YACD,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,qBAAqB,EAAE,EAAE,CAAC;gBAC/C,IAAI,MAAM,CAAC,OAAO;oBAAE,MAAM;gBAC1B,MAAM,KAAK,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;gBACtB,MAAM,UAAU,GAAG,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC5D,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,CAAC,OAAO,IAAI,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI;oBAAE,SAAS;gBACzJ,MAAM,WAAW,GAAgB,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,eAAe,EAAE,EAAE,CAAC;gBACxF,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;gBACrC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,EAAE,WAAW,CAAC,EAAE,GAAG,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3F,CAAC;YACD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;YACnC,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnD,MAAM,EAAE,GAAG,SAAS,CAAC,WAAW,CAAC;gBACjC,MAAM,KAAK,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;gBACtB,MAAM,UAAU,GAAG,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC5D,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,CAAC,OAAO,IAAI,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;oBAAE,SAAS;gBAC9G,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACpB,yFAAyF;gBACzF,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YAChC,CAAC;YACD,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,IAAI,EAAE;gBAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC7D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACtB,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChC,CAAC;YACD,KAAK,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,OAAO,EAAE,CAAC;gBACzC,IAAI,MAAM,CAAC,OAAO,IAAI,OAAO,IAAI,aAAa,CAAC,mBAAmB;oBAAE,MAAM;gBAC1E,MAAM,EAAE,GAAG,SAAS,CAAC,WAAW,CAAC;gBACjC,MAAM,UAAU,GAAG,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,CAAE,CAAC;gBAC7D,IAAI,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC3C,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC/D,SAAS,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;oBACnG,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;gBACxC,CAAC;gBACD,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC;oBACzD,MAAM,QAAQ,GAAG,SAAS,CAAC;oBAC3B,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;oBACzB,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;oBACvB,KAAK,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,UAAU,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9F,CAAC;gBACD,IAAI,SAAS,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,KAAK;oBAAE,SAAS;gBACrD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACtB,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,WAAW,EAAE,aAAa,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,CAAC;gBAC1I,IAAI,MAAM,KAAK,IAAI;oBAAE,SAAS;gBAC9B,MAAM,WAAW,GAAgB,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,eAAe,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;gBAC5G,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;gBACrC,OAAO,EAAE,CAAC;gBACV,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,mEAAmE,CAAC,CAAC;gBAChG,KAAK,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,GAAG,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACpH,CAAC;YACD,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAC7I,IAAI,OAAO,GAAG,aAAa,CAAC,mBAAmB;gBAAE,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,iBAAiB,EAAE,EAAE,CAAC;oBAChG,IAAI,MAAM,CAAC,MAAM,KAAK,YAAY,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,IAAI,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;wBAAE,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACvJ,CAAC;YACD,IAAI,OAAO,GAAG,aAAa,CAAC,mBAAmB;gBAAE,KAAK,MAAM,SAAS,IAAI,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC;oBAClG,IAAI,CAAC,SAAS,CAAC,QAAQ;wBAAE,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;gBACjE,CAAC;YACD,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,cAAc;gBAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,QAAQ,GAAG,GAAG,EAAE;oBAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtH,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;YAC5H,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBAClC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBACxE,IAAI,GAAG,GAAG,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;gBACnE,IAAI,MAAM,CAAC,OAAO;oBAAE,IAAI,EAAE,CAAC;YAC7B,CAAC,CAAC,CAAC;YACH,oFAAoF;YACpF,MAAM,YAAY,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;YAAS,CAAC;QACT,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC,CAAC;QAC1D,KAAK,EAAE,CAAC;QACR,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC3C,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAC/B,CAAC,CAAC"}
1
+ {"version":3,"file":"coordinator.js","sourceRoot":"","sources":["../../../src/commands/review/coordinator.ts"],"names":[],"mappings":"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"}
@@ -77,3 +77,24 @@ export type OperationsStopped = {
77
77
  export type ProcessesExcluded = {
78
78
  processesExcluded: true;
79
79
  };
80
+ export type RemoteReview = {
81
+ id: string;
82
+ authorId: string | null;
83
+ headSha: string | null;
84
+ body: string;
85
+ state: "APPROVED" | "COMMENTED" | "CHANGES_REQUESTED" | "DISMISSED" | "PENDING";
86
+ };
87
+ export type RemoteReviewThread = {
88
+ id: string;
89
+ reviewId: string | null;
90
+ isResolved: boolean;
91
+ };
92
+ export type PullRequestReviewSnapshot = {
93
+ state: "open" | "closed" | "merged";
94
+ draft: boolean;
95
+ headSha: string;
96
+ baseRef: string;
97
+ viewerId: string;
98
+ reviews: RemoteReview[];
99
+ threads: RemoteReviewThread[];
100
+ };
@@ -0,0 +1,14 @@
1
+ import type { PullRequestReviewSnapshot, ReviewState } from "./model.js";
2
+ export type PublicationIdentityFormat = "line" | "legacy";
3
+ export type ReviewPublication = {
4
+ publisherId: string;
5
+ outcome: "approved" | "commented";
6
+ remoteReviewId: string;
7
+ threadIds: string[];
8
+ };
9
+ export declare const reviewPublicationIdentity: (review: Pick<ReviewState, "id" | "revision" | "headSha">) => string;
10
+ export declare const findReviewPublication: (review: ReviewState, snapshot: PullRequestReviewSnapshot, publisherId: string, identityFormat?: PublicationIdentityFormat) => ReviewPublication | null;
11
+ export declare const hasPendingReviewPublication: (review: ReviewState, snapshot: PullRequestReviewSnapshot, publisherId: string, identityFormat?: PublicationIdentityFormat) => boolean;
12
+ export declare const findLegacyReviewPublisher: (review: ReviewState, snapshot: PullRequestReviewSnapshot) => string | null;
13
+ export declare const findLegacyReviewPublication: (review: ReviewState, snapshot: PullRequestReviewSnapshot) => ReviewPublication | null;
14
+ export declare const hasOpenReviewConversations: (snapshot: PullRequestReviewSnapshot) => boolean;
@@ -0,0 +1,47 @@
1
+ export const reviewPublicationIdentity = (review) => `daynight review=${review.id} revision=${review.revision} head=${review.headSha}`;
2
+ const hasIdentity = (body, identity) => body.split(/\r?\n/).some((line) => line === identity || line === `<!-- ${identity} -->`);
3
+ const hasLegacyIdentity = (body, identity) => {
4
+ const offset = body.indexOf(identity);
5
+ if (offset < 0)
6
+ return false;
7
+ const before = offset === 0 ? "" : body[offset - 1];
8
+ const after = body[offset + identity.length] ?? "";
9
+ return !/[A-Za-z0-9_-]/.test(before) && !/[A-Za-z0-9_-]/.test(after);
10
+ };
11
+ export const findReviewPublication = (review, snapshot, publisherId, identityFormat = "line") => {
12
+ const identity = reviewPublicationIdentity(review);
13
+ const published = snapshot.reviews.filter((item) => item.authorId === publisherId && item.headSha === review.headSha && (identityFormat === "legacy" ? hasLegacyIdentity(item.body, identity) : hasIdentity(item.body, identity)));
14
+ const approval = published.findLast((item) => item.state === "APPROVED");
15
+ if (approval !== undefined)
16
+ return { publisherId, outcome: "approved", remoteReviewId: approval.id, threadIds: [] };
17
+ for (const item of [...published].reverse()) {
18
+ if (item.state !== "COMMENTED")
19
+ continue;
20
+ const threadIds = snapshot.threads.filter((thread) => thread.reviewId === item.id).map((thread) => thread.id);
21
+ if (threadIds.length > 0)
22
+ return { publisherId, outcome: "commented", remoteReviewId: item.id, threadIds };
23
+ }
24
+ return null;
25
+ };
26
+ export const hasPendingReviewPublication = (review, snapshot, publisherId, identityFormat = "line") => snapshot.reviews.some((item) => item.state === "PENDING" && item.authorId === publisherId && item.headSha === review.headSha &&
27
+ (identityFormat === "legacy" ? hasLegacyIdentity(item.body, reviewPublicationIdentity(review)) : hasIdentity(item.body, reviewPublicationIdentity(review))));
28
+ export const findLegacyReviewPublisher = (review, snapshot) => {
29
+ const actors = new Set(snapshot.reviews.filter((item) => item.authorId !== null && item.headSha === review.headSha &&
30
+ hasLegacyIdentity(item.body, reviewPublicationIdentity(review))).map((item) => item.authorId));
31
+ if (actors.size > 1)
32
+ throw new Error("The migrated review identity has publications by multiple actors; its publisher cannot be adopted unambiguously.");
33
+ return actors.size === 0 ? null : [...actors][0];
34
+ };
35
+ export const findLegacyReviewPublication = (review, snapshot) => {
36
+ for (const candidate of [...snapshot.reviews].reverse()) {
37
+ if (candidate.authorId === null || candidate.state !== "APPROVED" || candidate.headSha !== review.headSha || !hasLegacyIdentity(candidate.body, reviewPublicationIdentity(review)))
38
+ continue;
39
+ return { publisherId: candidate.authorId, outcome: "approved", remoteReviewId: candidate.id, threadIds: [] };
40
+ }
41
+ return null;
42
+ };
43
+ export const hasOpenReviewConversations = (snapshot) => {
44
+ const pendingReviews = new Set(snapshot.reviews.filter((review) => review.state === "PENDING").map((review) => review.id));
45
+ return snapshot.threads.some((thread) => !thread.isResolved && (thread.reviewId === null || !pendingReviews.has(thread.reviewId)));
46
+ };
47
+ //# sourceMappingURL=publication.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publication.js","sourceRoot":"","sources":["../../../src/commands/review/publication.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,29 @@ reconciliation rules and completion protocol. Those values belong to the current
10
10
  attempt, including when the conversation contains an earlier review. Repository
11
11
  instructions remain applicable within that target and the authorized review.
12
12
 
13
+ ## Reconcile interrupted publication
14
+
15
+ Before reviewing or publishing, inspect existing reviews and native review
16
+ threads for the supplied stable identity, target commit and captured publishing
17
+ actor. Before any publication or draft deletion, require the authenticated GitHub
18
+ viewer node ID to match that captured actor; an account change cannot transfer
19
+ the round to another publisher. Confirm an existing matching APPROVED review without reviewing
20
+ later title or description changes, revoking approval or publishing again. A
21
+ matching COMMENTED review is complete only when it owns at least one real
22
+ resolvable native review thread. Its open threads do not block confirmation of
23
+ that same result. Revalidate the unsent findings of a matching PENDING review and
24
+ reuse its existing threads when still justified. For an obsolete or unjustified
25
+ owned draft, re-read that exact numeric review ID and verify its author, exact
26
+ stable identity, commit and PENDING state immediately before deleting only that
27
+ draft. Never delete submitted reviews or submit an obsolete target's findings.
28
+ Do not duplicate reviews, comments or replies on retry.
29
+
30
+ When no valid matching result exists, conduct a fresh review. The task admits
31
+ fresh rounds after CI passes and all submitted native review conversations are
32
+ resolved. Positively identified PENDING drafts are not submitted conversations.
33
+ Resolution is a request to verify the correction, not evidence that it is fixed.
34
+ Use the current title and description even when the commit has not changed.
35
+
13
36
  ## Establish and gate the scope
14
37
 
15
38
  Use gh with the supplied host, repository and PR number to read the current PR
@@ -61,32 +84,48 @@ the limits of evidence; discard findings that remain speculative.
61
84
  Keep probes within the supplied worktree and temporary directory, preserve the
62
85
  captured target, and obey the task's foreground-process and cleanup rules.
63
86
 
64
- ## Select and publish findings
87
+ ## Select and publish the result
65
88
 
66
89
  Report PR-quality blockers and actionable Critical or Major defects introduced
67
- by the change.
68
- Critical defects have severe, broad consequences such as destructive data loss
69
- or a fundamental security failure. Major defects break required behavior for a
70
- concrete supported use case. Judge severity by the demonstrated consequence and
71
- reach, not by how small the fix appears.
90
+ by the change. Critical defects have severe, broad consequences such as
91
+ destructive data loss or a fundamental security failure. Major defects break
92
+ required behavior for a concrete supported use case. Judge severity by the
93
+ demonstrated consequence and reach, not by how small the fix appears.
72
94
 
73
95
  Defer minor improvement requests, style preferences and pre-existing defects.
74
96
  Do not grow the review into a repository-wide audit. If an uncertain code-defect
75
97
  candidate cannot be established with the available evidence, leave it out of
76
98
  published findings.
77
99
 
100
+ A successful review has one of two results:
101
+
102
+ - APPROVE when both PR-quality gates pass and no Critical or Major defect remains.
103
+ - COMMENT owning at least one real resolvable native review thread when a blocker
104
+ remains. Never submit REQUEST_CHANGES. A top-level review body alone cannot
105
+ satisfy this result.
106
+
78
107
  Write English comments and identify the reviewing agent as required by the task.
79
- Put out-of-scope changes and code defects on the relevant changed lines. Put
80
- description or PR-wide blockers in the review body when no suitable changed line
81
- exists; a COMMENT review may contain only a body. State the violated scope or
82
- behavior, its concrete effect, and the necessary correction concisely. Keep
83
- investigation narration, reproduction transcripts and lists of things checked
84
- out of comments. Combine duplicate manifestations of one cause.
85
-
86
- Approve only when both PR-quality gates pass and no Critical or Major defect
87
- remains. Before publication or retry confirmation, re-read the current title and
88
- description and evaluate the gates again. A matching stable identity on an old
89
- APPROVE does not establish that the current description and scope pass.
90
-
91
- Follow the current task's result-publication and retry-reconciliation protocol.
92
- Only its successful publication or confirmation permits its completion marker.
108
+ Put localized out-of-scope changes and code defects on the relevant changed
109
+ lines. Put description or PR-wide scope blockers in a native file-level thread
110
+ on the principal changed file using a file subject without a fabricated line.
111
+ Explicitly label such a comment as a PR-wide description/scope issue; the file is
112
+ its discussion anchor, not an allegation of a code defect. If no truthful changed
113
+ file anchor exists or a required thread cannot be published, report the actual
114
+ operational failure and withhold the completion marker.
115
+
116
+ State the violated scope or behavior, its concrete effect, and the necessary
117
+ correction concisely. Keep investigation narration, reproduction transcripts and
118
+ lists of things checked out of comments. Combine duplicate manifestations of one
119
+ cause.
120
+
121
+ Immediately before fresh publication, re-read the current title and description,
122
+ evaluate the gates again, and check the task's target and conversation eligibility.
123
+ For a file-level blocker, create a pending review by POSTing its target commit
124
+ and stable body without an event. Use GraphQL addPullRequestReviewThread with
125
+ that review's node ID, the changed path, subjectType FILE and the finding body;
126
+ omit line and side. Submit that review with COMMENT only after its thread exists.
127
+ The batch create-review comments payload does not support file subjects. Follow
128
+ the task's stable identity format and resume partial publication on retry.
129
+ Verify the actual review event, commit, reviewing actor and identity; for COMMENT,
130
+ verify the review owns its native thread. Follow the supplied retry protocol.
131
+ Only successful publication or valid reconciliation permits the completion marker.
@@ -1,8 +1,28 @@
1
+ import type { PublicationIdentityFormat, ReviewPublication } from "./publication.js";
1
2
  import type { RepositoryIdentity, PullRequestIdentity, RepositoryState, PullRequestObservation, RepositoryPollUpdate, PullRequestState, ReviewState, ReviewCandidate, ReviewListingSnapshot, AttemptIdentity, OperationsStopped, ProcessesExcluded } from "./model.js";
3
+ export type ReviewPublicationState = {
4
+ phase: "prepared" | "pending" | "verified" | "legacy";
5
+ publisherId: string | null;
6
+ identityFormat: PublicationIdentityFormat;
7
+ outcome: "approved" | "commented" | null;
8
+ remoteReviewId: string | null;
9
+ threadIds: string[];
10
+ followupConsumed: boolean;
11
+ };
2
12
  export declare const readReviewListingSnapshot: (databaseFile: string) => ReviewListingSnapshot | null;
3
13
  export declare const openStore: (databaseFile: string, options?: {
4
14
  busyTimeoutMs?: number;
5
15
  }) => {
16
+ getReviewPublication: (reviewId: string) => ReviewPublicationState | null;
17
+ adoptHistoricalApproval: (reviewId: string, publication: ReviewPublication) => void;
18
+ adoptLegacyReviewPublisher: (reviewId: string, publisherId: string) => void;
19
+ captureReviewPublisher: (reviewId: string, publisherId: string) => void;
20
+ settleApprovedTarget: (identity: PullRequestIdentity, headSha: string, baseRef: string, proof: OperationsStopped, now: number) => boolean;
21
+ beginPublicationVerification: (identity: AttemptIdentity, proof: ProcessesExcluded, now: number) => void;
22
+ rejectPublicationVerification: (reviewId: string) => void;
23
+ recordPublicationError: (reviewId: string, error: string, now: number) => void;
24
+ confirmReviewPublication: (identity: AttemptIdentity, publication: ReviewPublication, proof: ProcessesExcluded, now: number) => ReviewState;
25
+ reconcileCompletedPublication: (reviewId: string, publication: ReviewPublication | null, allThreadsResolved: boolean, now: number) => PullRequestState;
6
26
  close: () => void;
7
27
  getRepository: (identity: RepositoryIdentity) => RepositoryState | null;
8
28
  getPullRequest: (identity: PullRequestIdentity) => PullRequestState | null;
@@ -49,6 +49,20 @@ const requireExcluded = (proof) => {
49
49
  if (proof.processesExcluded !== true)
50
50
  throw new Error("The caller must exclude any previous agent processes first.");
51
51
  };
52
+ const publicationColumns = `phase, publisher_id AS publisherId, identity_format AS identityFormat, outcome, remote_review_id AS remoteReviewId, remote_thread_ids AS threadIds, followup_consumed AS followupConsumed`;
53
+ const publicationSchema = `
54
+ CREATE TABLE review_publications (
55
+ review_id TEXT PRIMARY KEY,
56
+ phase TEXT NOT NULL CHECK(phase IN ('prepared', 'pending', 'verified', 'legacy')),
57
+ identity_format TEXT NOT NULL DEFAULT 'line' CHECK(identity_format IN ('line', 'legacy')),
58
+ publisher_id TEXT CHECK(phase = 'legacy' OR identity_format = 'legacy' OR publisher_id IS NOT NULL),
59
+ outcome TEXT CHECK(outcome IN ('approved', 'commented')),
60
+ remote_review_id TEXT,
61
+ remote_thread_ids TEXT NOT NULL DEFAULT '[]',
62
+ followup_consumed INTEGER NOT NULL DEFAULT 0 CHECK(followup_consumed IN (0, 1)),
63
+ CHECK((phase = 'verified') = (outcome IS NOT NULL AND remote_review_id IS NOT NULL))
64
+ ) STRICT;
65
+ `;
52
66
  const schema = `
53
67
  CREATE TABLE repositories (
54
68
  host TEXT NOT NULL,
@@ -111,7 +125,8 @@ const schema = `
111
125
  CREATE UNIQUE INDEX reviews_one_active_per_pr ON reviews(host, github_id, number)
112
126
  WHERE status IN (${activeStatuses});
113
127
  CREATE INDEX reviews_revision ON reviews(host, github_id, number, revision);
114
- PRAGMA user_version = 1;
128
+ ${publicationSchema}
129
+ PRAGMA user_version = 2;
115
130
  `;
116
131
  const reviewDatabaseIsMissing = (databaseFile) => {
117
132
  // Windows may report ENOENT for a file ancestor; ordinary absence requires an existing directory.
@@ -150,8 +165,8 @@ export const readReviewListingSnapshot = (databaseFile) => {
150
165
  try {
151
166
  return db.transaction(() => {
152
167
  const version = db.pragma("user_version", { simple: true });
153
- if (version !== 1)
154
- throw new Error(`Review listing requires SQLite schema version 1; found version ${version}.`);
168
+ if (version !== 1 && version !== 2)
169
+ throw new Error(`Review listing requires SQLite schema version 1 or 2; found version ${version}.`);
155
170
  const repositories = db.prepare(`SELECT ${repositoryColumns} FROM repositories ORDER BY host, github_id`).all();
156
171
  const pullRequests = db.prepare(`SELECT ${pullRequestColumns} FROM pull_requests WHERE state = 'open' ORDER BY host, github_id, number`)
157
172
  .all().map(asPullRequest);
@@ -188,8 +203,8 @@ export const openStore = (databaseFile, options = {}) => {
188
203
  const db = new Database(databaseFile, { timeout: busyTimeoutMs });
189
204
  try {
190
205
  const version = db.pragma("user_version", { simple: true });
191
- if (version > 1)
192
- throw new Error(`SQLite schema version ${version} is newer than supported version 1.`);
206
+ if (version > 2)
207
+ throw new Error(`SQLite schema version ${version} is newer than supported version 2.`);
193
208
  if (version < 0)
194
209
  throw new Error(`Unsupported SQLite schema version ${version}.`);
195
210
  const journalMode = db.pragma("journal_mode = WAL", { simple: true });
@@ -200,6 +215,14 @@ export const openStore = (databaseFile, options = {}) => {
200
215
  throw new Error("SQLite refused synchronous=FULL.");
201
216
  if (version === 0)
202
217
  db.transaction(() => db.exec(schema)).immediate();
218
+ if (version === 1)
219
+ db.transaction(() => {
220
+ db.exec(publicationSchema);
221
+ db.exec(`INSERT INTO review_publications(review_id, phase, identity_format)
222
+ SELECT id, CASE WHEN status = 'completed' THEN 'legacy' ELSE 'prepared' END, 'legacy'
223
+ FROM reviews WHERE status = 'completed' OR status IN (${activeStatuses})`);
224
+ db.pragma("user_version = 2");
225
+ }).immediate();
203
226
  }
204
227
  catch (error) {
205
228
  try {
@@ -256,7 +279,113 @@ export const openStore = (databaseFile, options = {}) => {
256
279
  .run({ id: review.id, status, retryAt, error, now });
257
280
  return needReview(review.id);
258
281
  };
282
+ const getReviewPublication = (reviewId) => {
283
+ const row = db.prepare(`SELECT ${publicationColumns} FROM review_publications WHERE review_id = ?`).get(reviewId);
284
+ return row === undefined ? null : { ...row, threadIds: JSON.parse(row.threadIds), followupConsumed: row.followupConsumed === 1 };
285
+ };
259
286
  const store = {
287
+ getReviewPublication,
288
+ adoptHistoricalApproval: (reviewId, publication) => atomic(() => {
289
+ if (getReviewPublication(reviewId)?.phase !== "legacy" || needReview(reviewId).status !== "completed" || publication.outcome !== "approved")
290
+ throw new Error("Only a legacy completed review may adopt a historical approval.");
291
+ db.prepare("UPDATE review_publications SET phase = 'verified', publisher_id = @publisherId, outcome = 'approved', remote_review_id = @remoteReviewId, remote_thread_ids = '[]' WHERE review_id = @id")
292
+ .run({ id: reviewId, publisherId: publication.publisherId, remoteReviewId: publication.remoteReviewId });
293
+ }),
294
+ adoptLegacyReviewPublisher: (reviewId, publisherId) => atomic(() => {
295
+ requireText(publisherId, "Legacy review publisher ID");
296
+ const review = needReview(reviewId);
297
+ const publication = getReviewPublication(reviewId);
298
+ if ((review.status !== "preparing" && review.status !== "retry_wait") || publication?.phase !== "prepared" || publication.identityFormat !== "legacy")
299
+ throw new Error("Only an unfinished migrated review may adopt its publisher.");
300
+ if (publication.publisherId !== null && publication.publisherId !== publisherId)
301
+ throw new Error("The migrated review's publisher is already bound to another actor.");
302
+ db.prepare("UPDATE review_publications SET publisher_id = ? WHERE review_id = ?").run(publisherId, reviewId);
303
+ }),
304
+ captureReviewPublisher: (reviewId, publisherId) => atomic(() => {
305
+ requireText(publisherId, "Review publisher ID");
306
+ const review = needReview(reviewId);
307
+ if (review.status !== "preparing")
308
+ throw new Error("Only a preparing review may capture its publisher.");
309
+ const publication = getReviewPublication(reviewId);
310
+ if (publication !== null && publication.publisherId !== null && publication.publisherId !== publisherId)
311
+ throw new Error("The authenticated account differs from this round's captured review publisher.");
312
+ db.prepare("INSERT INTO review_publications(review_id, phase, publisher_id) VALUES(?, 'prepared', ?) ON CONFLICT(review_id) DO UPDATE SET publisher_id = excluded.publisher_id").run(reviewId, publisherId);
313
+ }),
314
+ settleApprovedTarget: (identity, headSha, baseRef, proof, now) => atomic(() => {
315
+ requireStopped(proof);
316
+ const pr = needPullRequest(identity);
317
+ if (pr.headSha !== headSha || pr.baseRef !== baseRef || pr.state !== "open" || pr.draft || pr.cleanupPending)
318
+ return false;
319
+ const active = activeReview(pr);
320
+ if (active !== null && (active.status === "running" || active.status === "interrupted"))
321
+ return false;
322
+ if (active !== null)
323
+ setStatus(active, "superseded", now, null);
324
+ db.prepare("UPDATE pull_requests SET completed_revision = desired_revision WHERE host = @host AND github_id = @githubId AND number = @number").run(pullRequestKey(pr));
325
+ return true;
326
+ }),
327
+ beginPublicationVerification: (identity, proof, now) => atomic(() => {
328
+ requireExcluded(proof);
329
+ requireInteger(now, "Verification time");
330
+ const review = attemptReview(identity);
331
+ const publication = getReviewPublication(review.id);
332
+ if (publication?.phase !== "prepared" || publication.publisherId === null)
333
+ throw new Error("The review publisher must be captured before publication verification.");
334
+ db.prepare("UPDATE review_publications SET phase = 'pending' WHERE review_id = ?").run(review.id);
335
+ db.prepare("UPDATE reviews SET process_id = NULL, process_identity = NULL, updated_at = ? WHERE id = ?").run(now, review.id);
336
+ }),
337
+ rejectPublicationVerification: (reviewId) => atomic(() => {
338
+ if (getReviewPublication(reviewId)?.phase !== "pending")
339
+ throw new Error("Publication verification is not pending.");
340
+ db.prepare("UPDATE review_publications SET phase = 'prepared' WHERE review_id = ?").run(reviewId);
341
+ }),
342
+ recordPublicationError: (reviewId, error, now) => atomic(() => {
343
+ if (getReviewPublication(reviewId)?.phase !== "pending")
344
+ throw new Error("Only pending publication verification can record a read error.");
345
+ requireText(error, "Publication verification error");
346
+ db.prepare("UPDATE reviews SET last_error = ?, updated_at = ? WHERE id = ?").run(error, now, reviewId);
347
+ }),
348
+ confirmReviewPublication: (identity, publication, proof, now) => atomic(() => {
349
+ requireExcluded(proof);
350
+ const review = attemptReview(identity);
351
+ const captured = getReviewPublication(review.id);
352
+ if (captured?.phase !== "pending" || captured.publisherId !== publication.publisherId)
353
+ throw new Error("The publication does not match this round's captured publisher and verification phase.");
354
+ if (publication.outcome === "commented" && publication.threadIds.length === 0)
355
+ throw new Error("A completed COMMENT requires a resolvable conversation.");
356
+ db.prepare(`INSERT INTO review_publications(review_id, phase, publisher_id, outcome, remote_review_id, remote_thread_ids)
357
+ VALUES(@id, 'verified', @publisherId, @outcome, @remoteReviewId, @threadIds)
358
+ ON CONFLICT(review_id) DO UPDATE SET phase = 'verified', publisher_id = excluded.publisher_id, outcome = excluded.outcome, remote_review_id = excluded.remote_review_id, remote_thread_ids = excluded.remote_thread_ids`)
359
+ .run({ id: review.id, ...publication, threadIds: JSON.stringify(publication.threadIds) });
360
+ return store.completeReview(identity, proof, now);
361
+ }),
362
+ reconcileCompletedPublication: (reviewId, publication, allThreadsResolved, now) => atomic(() => {
363
+ const review = needReview(reviewId);
364
+ const pr = needPullRequest(review);
365
+ const state = getReviewPublication(review.id);
366
+ if (review.status !== "completed" || state === null || state.followupConsumed || !isCurrentTarget(review, pr))
367
+ return pr;
368
+ if (state.phase === "legacy") {
369
+ if (publication !== null) {
370
+ db.prepare("UPDATE review_publications SET phase = 'verified', publisher_id = @publisherId, outcome = @outcome, remote_review_id = @remoteReviewId, remote_thread_ids = @threadIds WHERE review_id = @id")
371
+ .run({ id: review.id, ...publication, threadIds: JSON.stringify(publication.threadIds) });
372
+ if (publication.outcome === "approved")
373
+ return pr;
374
+ }
375
+ else {
376
+ // Legacy completion did not prove a resolvable result; one successor adopts the new protocol.
377
+ db.prepare("UPDATE review_publications SET followup_consumed = 1 WHERE review_id = ?").run(review.id);
378
+ db.prepare("UPDATE pull_requests SET desired_revision = desired_revision + 1, observed_at = @now WHERE host = @host AND github_id = @githubId AND number = @number").run({ ...pullRequestKey(pr), now });
379
+ return needPullRequest(pr);
380
+ }
381
+ }
382
+ const current = getReviewPublication(review.id);
383
+ if (current.outcome !== "commented" || !allThreadsResolved)
384
+ return pr;
385
+ db.prepare("UPDATE review_publications SET followup_consumed = 1 WHERE review_id = ?").run(review.id);
386
+ db.prepare("UPDATE pull_requests SET desired_revision = desired_revision + 1, observed_at = @now WHERE host = @host AND github_id = @githubId AND number = @number").run({ ...pullRequestKey(pr), now });
387
+ return needPullRequest(pr);
388
+ }),
260
389
  close: () => { db.close(); },
261
390
  getRepository,
262
391
  getPullRequest,