pi-subagents 0.75.0 → 0.76.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 (137) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/docs/agents.md +1 -1
  3. package/docs/configuration.md +4 -2
  4. package/docs/extension-api.md +1 -1
  5. package/docs/missions.md +12 -2
  6. package/docs/tool-reference.md +21 -6
  7. package/docs/workflows.md +1 -1
  8. package/package.json +2 -1
  9. package/src/agents/agent-memory.js +3 -3
  10. package/src/agents/agent-memory.js.map +1 -1
  11. package/src/agents/agent-serializer.d.ts.map +1 -1
  12. package/src/agents/agent-serializer.js +8 -1
  13. package/src/agents/agent-serializer.js.map +1 -1
  14. package/src/agents/agents.d.ts.map +1 -1
  15. package/src/agents/agents.js +101 -121
  16. package/src/agents/agents.js.map +1 -1
  17. package/src/extension/index.d.ts.map +1 -1
  18. package/src/extension/index.js +37 -4
  19. package/src/extension/index.js.map +1 -1
  20. package/src/extension/reply-workflow-script.d.ts.map +1 -1
  21. package/src/extension/reply-workflow-script.js +20 -11
  22. package/src/extension/reply-workflow-script.js.map +1 -1
  23. package/src/extension/schemas.d.ts +1 -1
  24. package/src/extension/schemas.js +8 -8
  25. package/src/extension/schemas.js.map +1 -1
  26. package/src/extension/tool-description.js +1 -1
  27. package/src/extension/tool-description.js.map +1 -1
  28. package/src/intercom/result-intercom.d.ts.map +1 -1
  29. package/src/intercom/result-intercom.js +2 -1
  30. package/src/intercom/result-intercom.js.map +1 -1
  31. package/src/profiles/profiles.d.ts.map +1 -1
  32. package/src/profiles/profiles.js +25 -22
  33. package/src/profiles/profiles.js.map +1 -1
  34. package/src/runs/background/active-async-capacity.d.ts +15 -1
  35. package/src/runs/background/active-async-capacity.d.ts.map +1 -1
  36. package/src/runs/background/active-async-capacity.js +51 -6
  37. package/src/runs/background/active-async-capacity.js.map +1 -1
  38. package/src/runs/background/async-job-tracker.d.ts +3 -2
  39. package/src/runs/background/async-job-tracker.d.ts.map +1 -1
  40. package/src/runs/background/async-job-tracker.js +2 -1
  41. package/src/runs/background/async-job-tracker.js.map +1 -1
  42. package/src/runs/background/calendar-schedule.d.ts +27 -0
  43. package/src/runs/background/calendar-schedule.d.ts.map +1 -0
  44. package/src/runs/background/calendar-schedule.js +94 -0
  45. package/src/runs/background/calendar-schedule.js.map +1 -0
  46. package/src/runs/background/notify.d.ts +6 -0
  47. package/src/runs/background/notify.d.ts.map +1 -1
  48. package/src/runs/background/notify.js +24 -4
  49. package/src/runs/background/notify.js.map +1 -1
  50. package/src/runs/background/result-watcher.d.ts +5 -1
  51. package/src/runs/background/result-watcher.d.ts.map +1 -1
  52. package/src/runs/background/result-watcher.js +44 -7
  53. package/src/runs/background/result-watcher.js.map +1 -1
  54. package/src/runs/background/run-child-session.d.ts +2 -0
  55. package/src/runs/background/run-child-session.d.ts.map +1 -1
  56. package/src/runs/background/run-child-session.js +12 -1
  57. package/src/runs/background/run-child-session.js.map +1 -1
  58. package/src/runs/background/scheduled-runs.d.ts +3 -1
  59. package/src/runs/background/scheduled-runs.d.ts.map +1 -1
  60. package/src/runs/background/scheduled-runs.js +184 -47
  61. package/src/runs/background/scheduled-runs.js.map +1 -1
  62. package/src/runs/background/subagent-runner.d.ts +1 -0
  63. package/src/runs/background/subagent-runner.d.ts.map +1 -1
  64. package/src/runs/background/subagent-runner.js +14 -6
  65. package/src/runs/background/subagent-runner.js.map +1 -1
  66. package/src/runs/background/wait-completions.d.ts.map +1 -1
  67. package/src/runs/background/wait-completions.js +1 -0
  68. package/src/runs/background/wait-completions.js.map +1 -1
  69. package/src/runs/background/workflow-terminal-proof.d.ts +14 -1
  70. package/src/runs/background/workflow-terminal-proof.d.ts.map +1 -1
  71. package/src/runs/background/workflow-terminal-proof.js +41 -28
  72. package/src/runs/background/workflow-terminal-proof.js.map +1 -1
  73. package/src/runs/foreground/execution.d.ts.map +1 -1
  74. package/src/runs/foreground/execution.js +23 -3
  75. package/src/runs/foreground/execution.js.map +1 -1
  76. package/src/runs/foreground/foreground-history.d.ts.map +1 -1
  77. package/src/runs/foreground/foreground-history.js +1 -0
  78. package/src/runs/foreground/foreground-history.js.map +1 -1
  79. package/src/runs/foreground/subagent-executor.d.ts +1 -1
  80. package/src/runs/foreground/subagent-executor.d.ts.map +1 -1
  81. package/src/runs/foreground/subagent-executor.js +44 -6
  82. package/src/runs/foreground/subagent-executor.js.map +1 -1
  83. package/src/runs/shared/child-session.d.ts.map +1 -1
  84. package/src/runs/shared/child-session.js +10 -2
  85. package/src/runs/shared/child-session.js.map +1 -1
  86. package/src/runs/shared/mcp-direct-tool-allowlist.d.ts.map +1 -1
  87. package/src/runs/shared/mcp-direct-tool-allowlist.js +5 -3
  88. package/src/runs/shared/mcp-direct-tool-allowlist.js.map +1 -1
  89. package/src/runs/shared/parallel-handoff.d.ts +10 -4
  90. package/src/runs/shared/parallel-handoff.d.ts.map +1 -1
  91. package/src/runs/shared/parallel-handoff.js +53 -6
  92. package/src/runs/shared/parallel-handoff.js.map +1 -1
  93. package/src/runs/shared/partial-output.d.ts +18 -0
  94. package/src/runs/shared/partial-output.d.ts.map +1 -0
  95. package/src/runs/shared/partial-output.js +29 -0
  96. package/src/runs/shared/partial-output.js.map +1 -0
  97. package/src/runs/shared/worktree-cleanup-apply.d.ts +37 -0
  98. package/src/runs/shared/worktree-cleanup-apply.d.ts.map +1 -0
  99. package/src/runs/shared/worktree-cleanup-apply.js +179 -0
  100. package/src/runs/shared/worktree-cleanup-apply.js.map +1 -0
  101. package/src/runs/shared/worktree-cleanup-plan.d.ts +7 -0
  102. package/src/runs/shared/worktree-cleanup-plan.d.ts.map +1 -1
  103. package/src/runs/shared/worktree-cleanup-plan.js +41 -19
  104. package/src/runs/shared/worktree-cleanup-plan.js.map +1 -1
  105. package/src/runs/shared/worktree-lock.d.ts +6 -0
  106. package/src/runs/shared/worktree-lock.d.ts.map +1 -0
  107. package/src/runs/shared/worktree-lock.js +41 -0
  108. package/src/runs/shared/worktree-lock.js.map +1 -0
  109. package/src/runs/shared/worktree.d.ts +3 -0
  110. package/src/runs/shared/worktree.d.ts.map +1 -1
  111. package/src/runs/shared/worktree.js +9 -1
  112. package/src/runs/shared/worktree.js.map +1 -1
  113. package/src/shared/file-lease.d.ts +5 -0
  114. package/src/shared/file-lease.d.ts.map +1 -0
  115. package/src/shared/file-lease.js +101 -0
  116. package/src/shared/file-lease.js.map +1 -0
  117. package/src/shared/settings-file-lease.d.ts +5 -0
  118. package/src/shared/settings-file-lease.d.ts.map +1 -0
  119. package/src/shared/settings-file-lease.js +39 -0
  120. package/src/shared/settings-file-lease.js.map +1 -0
  121. package/src/shared/types.d.ts +10 -0
  122. package/src/shared/types.d.ts.map +1 -1
  123. package/src/shared/types.js.map +1 -1
  124. package/src/tui/render.d.ts.map +1 -1
  125. package/src/tui/render.js +7 -2
  126. package/src/tui/render.js.map +1 -1
  127. package/src/watchdog/diff-tool.js +2 -2
  128. package/src/watchdog/diff-tool.js.map +1 -1
  129. package/src/watchdog/register-main.js +1 -2
  130. package/src/watchdog/register-main.js.map +1 -1
  131. package/src/watchdog/runtime.d.ts +3 -3
  132. package/src/watchdog/runtime.d.ts.map +1 -1
  133. package/src/watchdog/runtime.js +7 -3
  134. package/src/watchdog/runtime.js.map +1 -1
  135. package/src/watchdog/settings.d.ts.map +1 -1
  136. package/src/watchdog/settings.js +22 -17
  137. package/src/watchdog/settings.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"run-child-session.js","sourceRoot":"","sources":["../../../../src/runs/background/run-child-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-child-session.js","sourceRoot":"","sources":["../../../../src/runs/background/run-child-session.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,cAAc,EAAE,iCAAiC,EAAE,MAAM,uBAAuB,CAAC;AAE1I,OAAO,EACN,wBAAwB,EACxB,yBAAyB,EACzB,qBAAqB,EACrB,0BAA0B,GAI1B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAuD,MAAM,8BAA8B,CAAC;AAC1H,OAAO,EAAE,oCAAoC,EAAE,MAAM,+BAA+B,CAAC;AACrF,OAAO,EAAE,oCAAoC,EAAE,6BAA6B,EAAE,MAAM,0CAA0C,CAAC;AAC/H,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrF,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACjH,OAAO,EAAE,+BAA+B,EAA6B,MAAM,2BAA2B,CAAC;AACvG,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAA2B,MAAM,6BAA6B,CAAC;AACvH,OAAO,EAAE,6BAA6B,EAAE,+BAA+B,EAAuE,MAAM,4BAA4B,CAAC;AACjL,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE1E,OAAO,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AA8GjF,6FAA6F;AAC7F,SAAS,uBAAuB,CAAC,KAA8B;IAC9D,OAAO,KAAK,CAAC,IAAI,KAAK,gBAAgB,CAAC;AACxC,CAAC;AAED,SAAS,uBAAuB,CAAC,OAAgB;IAChD,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;WACjC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAE,IAA0B,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;AACrF,CAAC;AAED,SAAS,uBAAuB,CAAC,OAAgB;IAChD,OAAQ,OAAmC,CAAC,UAAU,KAAK,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;AACxG,CAAC;AAED,SAAS,UAAU;IAClB,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;AAChF,CAAC;AAED,SAAS,aAAa,CAAmB,KAAQ;IAChD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAmB,EAAE,CAAC;QACxD,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,MAAM,mBAAmB,GAAG,IAAI,CAAC;AACjC,MAAM,cAAc,GAAG,IAAI,CAAC;AAC5B,MAAM,eAAe,GAAG,IAAI,CAAC;AAE7B,MAAM,UAAU,eAAe,CAAC,KAA2B;IAC1D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAc,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;QAC3B,IAAI,KAAyB,CAAC;QAC9B,IAAI,KAAyB,CAAC;QAC9B,IAAI,cAAkC,CAAC;QACvC,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,MAAM,aAAa,GAAG,0BAA0B,EAAE,CAAC;QACnD,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,uBAAuB,GAAG,KAAK,CAAC;QACpC,IAAI,2BAA2B,GAAG,KAAK,CAAC;QACxC,IAAI,iCAAqD,CAAC;QAC1D,IAAI,WAA+B,CAAC;QACpC,IAAI,eAAmC,CAAC;QACxC,IAAI,WAA+B,CAAC;QACpC,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,OAAiC,CAAC;QACtC,IAAI,eAAmC,CAAC;QACxC,MAAM,cAAc,GAAmD,EAAE,CAAC;QAC1E,IAAI,WAAqC,CAAC;QAC1C,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,IAAI,iBAAiB,GAAG,KAAK,CAAC;QAC9B,IAAI,kCAAkC,GAAG,KAAK,CAAC;QAC/C,IAAI,oBAAoB,GAAG,KAAK,CAAC;QACjC,IAAI,eAAe,GAAG,KAAK,CAAC;QAC5B,IAAI,yBAAyB,GAAG,KAAK,CAAC;QACtC,IAAI,yBAAyB,GAAG,KAAK,CAAC;QACtC,IAAI,eAA2C,CAAC;QAChD,IAAI,oBAAgD,CAAC;QACrD,IAAI,iBAA6C,CAAC;QAClD,IAAI,gBAA4C,CAAC;QACjD,IAAI,kBAA0D,CAAC;QAC/D,MAAM,mBAAmB,GAAwB,EAAE,qBAAqB,EAAE,KAAK,EAAE,CAAC;QAClF,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,cAAc,IAAI,qBAAqB,CAAC;QAC3E,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW,IAAI,2BAA2B,CAAC;QAG3E,IAAI,kBAAkB,GAAG,CAAC,CAAC;QAC3B,MAAM,eAAe,GAAG,IAAI,GAAG,EAA0B,CAAC;QAC1D,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAoB,CAAC;QACzD,MAAM,kBAAkB,GAAG,GAAS,EAAE;YACrC,MAAM,MAAM,GAAG,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACpD,WAAW,GAAG,MAAM,EAAE,IAAI,CAAC;YAC3B,eAAe,GAAG,MAAM,EAAE,IAAI,CAAC;YAC/B,WAAW,GAAG,MAAM,EAAE,IAAI,CAAC;QAC5B,CAAC,CAAC;QACF,MAAM,oBAAoB,GAAG,CAAC,KAAiF,EAAQ,EAAE;YACxH,MAAM,GAAG,GAAG,kBAAkB,CAAC,KAAK,EAAE,EAAE,kBAAkB,CAAC,CAAC;YAC5D,MAAM,MAAM,GAAG,aAAa,CAAC;gBAC5B,GAAG;gBACH,IAAI,EAAE,KAAK,CAAC,QAAQ;gBACpB,IAAI,EAAE,sBAAsB,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;gBAC9C,IAAI,EAAE,kBAAkB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC;aACpD,CAAC,CAAC;YACH,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACjC,MAAM,IAAI,GAAG,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACzD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACf,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC5C,kBAAkB,EAAE,CAAC;QACtB,CAAC,CAAC;QACF,MAAM,oBAAoB,GAAG,CAAC,KAAmD,EAAQ,EAAE;YAC1F,MAAM,GAAG,GAAG,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;gBAC9E,CAAC,CAAC,MAAM,KAAK,CAAC,UAAU,EAAE;gBAC1B,CAAC,CAAC,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;oBACnC,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC/C,CAAC,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC;wBAC3B,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;wBAChC,CAAC,CAAC,SAAS,CAAC;YACf,IAAI,CAAC,GAAG;gBAAE,OAAO;YACjB,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,MAAM;gBAAE,OAAO;YACpB,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC5B,MAAM,IAAI,GAAG,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC;YACnG,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;gBAAE,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;;gBAC5D,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC9C,kBAAkB,EAAE,CAAC;QACtB,CAAC,CAAC;QAEF,MAAM,UAAU,GAAG,GAAS,EAAE;YAC7B,IAAI,OAAO,IAAI,aAAa;gBAAE,OAAO;YACrC,0FAA0F;YAC1F,6FAA6F;YAC7F,KAAK,OAAO,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;gBAChC,4FAA4F;YAC7F,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACvB,gBAAgB,GAAG,UAAU,CAAC,GAAG,EAAE;oBAClC,gBAAgB,GAAG,SAAS,CAAC;oBAC7B,IAAI,CAAC,OAAO,IAAI,CAAC,aAAa;wBAAE,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gBACzD,CAAC,EAAE,eAAe,CAAC,CAAC;gBACpB,gBAAgB,CAAC,KAAK,EAAE,EAAE,CAAC;YAC5B,CAAC;QACF,CAAC,CAAC;QAEF,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,EAAE;YACxC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrC,IAAI,IAAI,CAAC,IAAI,EAAE;oBAAE,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC9C,CAAC;QACF,CAAC,CAAC;QACF,MAAM,gBAAgB,GAAG,CAAC,KAA8B,EAAE,EAAE;YAC3D,IAAI,CAAC,KAAK,CAAC,iBAAiB;gBAAE,OAAO;YACrC,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC;gBAAE,OAAO;YAC5C,KAAK,CAAC,gBAAgB,CAAC;gBACtB,GAAG,KAAK;gBACR,cAAc,EAAE,OAAO;gBACvB,aAAa,EAAE,KAAK,CAAC,iBAAiB,CAAC,KAAK;gBAC5C,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,CAAC,SAAS;gBACpD,aAAa,EAAE,KAAK,CAAC,iBAAiB,CAAC,KAAK;gBAC5C,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC,CAAC;QACJ,CAAC,CAAC;QAEF,MAAM,sBAAsB,GAAG,GAAS,EAAE;YACzC,IAAI,iBAAiB,EAAE,CAAC;gBACvB,YAAY,CAAC,iBAAiB,CAAC,CAAC;gBAChC,iBAAiB,GAAG,SAAS,CAAC;YAC/B,CAAC;QACF,CAAC,CAAC;QACF,MAAM,qBAAqB,GAAG,GAAS,EAAE;YACxC,IAAI,eAAe,EAAE,CAAC;gBACrB,YAAY,CAAC,eAAe,CAAC,CAAC;gBAC9B,eAAe,GAAG,SAAS,CAAC;YAC7B,CAAC;YACD,IAAI,oBAAoB,EAAE,CAAC;gBAC1B,YAAY,CAAC,oBAAoB,CAAC,CAAC;gBACnC,oBAAoB,GAAG,SAAS,CAAC;YAClC,CAAC;QACF,CAAC,CAAC;QACF,SAAS,eAAe;YACvB,IAAI,CAAC,CAAC,kCAAkC,IAAI,CAAC,oBAAoB,CAAC,IAAI,iBAAiB,IAAI,OAAO,IAAI,aAAa;gBAAE,OAAO;YAC5H,iBAAiB,GAAG,UAAU,CAAC,GAAG,EAAE;gBACnC,iBAAiB,GAAG,SAAS,CAAC;gBAC9B,kBAAkB,GAAG;oBACpB,KAAK,EAAE,OAAO;oBACd,GAAG,EAAE,CAAC,kBAAkB,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC;oBACvC,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE;oBACtB,MAAM,EAAE,6BAA6B;oBACrC,QAAQ,EAAE,IAAI;iBACd,CAAC;gBACF,eAAe,EAAE,CAAC;YACnB,CAAC,EAAE,KAAK,CAAC,aAAa,EAAE,qBAAqB,IAAI,OAAO,CAAC,CAAC;YAC1D,iBAAiB,CAAC,KAAK,EAAE,EAAE,CAAC;QAC7B,CAAC;QACD,0EAA0E;QAC1E,6EAA6E;QAC7E,MAAM,sBAAsB,GAAG,GAAY,EAAE;YAC5C,IAAI,6BAA6B,CAAC,OAAO,CAAC;gBAAE,eAAe,GAAG,IAAI,CAAC;YACnE,OAAO,eAAe,CAAC;QACxB,CAAC,CAAC;QACF,SAAS,eAAe;YACvB,IAAI,qBAAqB,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBAC/C,eAAe,EAAE,CAAC;gBAClB,OAAO;YACR,CAAC;YACD,IAAI,aAAa,IAAI,eAAe,IAAI,OAAO;gBAAE,OAAO;YACxD,IAAI,sBAAsB,EAAE;gBAAE,OAAO;YACrC,kBAAkB,EAAE,CAAC;QACtB,CAAC;QACD,SAAS,kBAAkB;YAC1B,IAAI,aAAa,IAAI,eAAe,IAAI,OAAO;gBAAE,OAAO;YACxD,eAAe,GAAG,UAAU,CAAC,GAAG,EAAE;gBACjC,IAAI,OAAO,IAAI,aAAa;oBAAE,OAAO;gBACrC,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,sBAAsB,EAAE,EAAE,CAAC;oBACvE,eAAe,GAAG,SAAS,CAAC;oBAC5B,kBAAkB,EAAE,CAAC;oBACrB,OAAO;gBACR,CAAC;gBACD,iBAAiB,GAAG,IAAI,CAAC;gBACzB,IAAI,CAAC,kCAAkC,IAAI,CAAC,oBAAoB,IAAI,CAAC,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;oBAC/F,KAAK,GAAG,0CAA0C,mBAAmB,2CAA2C,CAAC;gBAClH,CAAC;gBACD,UAAU,EAAE,CAAC;gBACb,oBAAoB,GAAG,UAAU,CAAC,GAAG,EAAE;oBACtC,IAAI,OAAO,IAAI,aAAa;wBAAE,OAAO;oBACrC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gBACzB,CAAC,EAAE,cAAc,CAAC,CAAC;gBACnB,oBAAoB,CAAC,KAAK,EAAE,EAAE,CAAC;YAChC,CAAC,EAAE,mBAAmB,CAAC,CAAC;YACxB,eAAe,CAAC,KAAK,EAAE,EAAE,CAAC;QAC3B,CAAC;QACD,MAAM,mBAAmB,GAAG,CAAC,MAA4B,EAAQ,EAAE;YAClE,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;gBAC/B,kCAAkC,GAAG,KAAK,CAAC;gBAC3C,oBAAoB,GAAG,KAAK,CAAC;gBAC7B,qBAAqB,EAAE,CAAC;gBACxB,sBAAsB,EAAE,CAAC;gBACzB,OAAO;YACR,CAAC;YACD,IAAI,MAAM,KAAK,aAAa;gBAAE,eAAe,EAAE,CAAC;QACjD,CAAC,CAAC;QAEF,IAAI,mBAAmB,GAAG,CAAC,CAAC;QAC5B,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAsE,CAAC;QACzG,MAAM,2BAA2B,GAAG,IAAI,GAAG,EAAoB,CAAC;QAChE,MAAM,oBAAoB,GAAG,CAAC,GAAW,EAAQ,EAAE;YAClD,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC3C,IAAI,CAAC,MAAM;gBAAE,OAAO;YACpB,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC3B,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,IAAI,GAAG,2BAA2B,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9G,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;gBAAE,2BAA2B,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;;gBACvE,2BAA2B,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC1D,CAAC,CAAC;QACF,MAAM,sBAAsB,GAAG,CAAC,KAAmD,EAAQ,EAAE;YAC5F,MAAM,GAAG,GAAG,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;gBAC9E,CAAC,CAAC,MAAM,KAAK,CAAC,UAAU,EAAE;gBAC1B,CAAC,CAAC,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;oBACnC,CAAC,CAAC,2BAA2B,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;oBACtD,CAAC,CAAC,kBAAkB,CAAC,IAAI,KAAK,CAAC;wBAC9B,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;wBACnC,CAAC,CAAC,SAAS,CAAC;YACf,IAAI,GAAG;gBAAE,oBAAoB,CAAC,GAAG,CAAC,CAAC;QACpC,CAAC,CAAC;QACF,MAAM,oBAAoB,GAAG,GAAS,EAAE;YACvC,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,kBAAkB,CAAC,IAAI,EAAE,CAAC;gBAAE,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAC7E,CAAC,CAAC;QACF,MAAM,mBAAmB,GAAG,CAAC,OAAe,EAAQ,EAAE;YACrD,IAAI,OAAO,IAAI,aAAa,IAAI,QAAQ,IAAI,OAAO;gBAAE,OAAO;YAC5D,QAAQ,GAAG,IAAI,CAAC;YAChB,WAAW,GAAG,KAAK,CAAC;YACpB,KAAK,GAAG,OAAO,CAAC;YAChB,UAAU,EAAE,CAAC;QACd,CAAC,CAAC;QACF,MAAM,cAAc,GAAG,CAAC,KAAiD,EAAQ,EAAE;YAClF,MAAM,cAAc,GAAG,sBAAsB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;YACnF,IAAI,cAAc,KAAK,SAAS;gBAAE,OAAO;YACzC,MAAM,YAAY,GAAG,KAAK,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YACnH,IAAI,YAAY,KAAK,SAAS,IAAI,cAAc,IAAI,YAAY;gBAAE,OAAO;YACzE,MAAM,GAAG,GAAG,kBAAkB,CAAC,KAAK,EAAE,EAAE,mBAAmB,CAAC,CAAC;YAC7D,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;YAChC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC7B,oBAAoB,CAAC,GAAG,CAAC,CAAC;gBAC1B,mBAAmB,CAAC,wBAAwB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;YACzE,CAAC,EAAE,cAAc,CAAC,CAAC;YACnB,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;YAChB,kBAAkB,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YACjD,MAAM,IAAI,GAAG,2BAA2B,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC7D,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACf,2BAA2B,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACjD,CAAC,CAAC;QAEF,MAAM,YAAY,GAAG,CAAC,GAAsB,EAAQ,EAAE;YACrD,IAAI,OAAO;gBAAE,OAAO;YACpB,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC3B,MAAM,KAAK,GAAG,GAAqC,CAAC;YACpD,gBAAgB,CAAC,+BAA+B,CAAC,GAAG,CAA4B,CAAC,CAAC;YAClF,KAAK,CAAC,gBAAgB,EAAE,eAAe,CAAC,+BAA+B,CAAC,GAAG,CAAe,CAAC,CAAC;YAC5F,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;gBACvC,yBAAyB,GAAG,IAAI,CAAC;gBACjC,IAAI,oBAAoB;oBAAE,yBAAyB,GAAG,IAAI,CAAC;YAC5D,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;gBACjE,yBAAyB,GAAG,KAAK,CAAC;gBAClC,yBAAyB,GAAG,KAAK,CAAC;YACnC,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;gBACtG,eAAe,GAAG,KAAK,CAAC;YACzB,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;gBACvE,yBAAyB,GAAG,KAAK,CAAC;gBAClC,yBAAyB,GAAG,KAAK,CAAC;YACnC,CAAC;YACD,MAAM,eAAe,GAAG,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAC;YACjF,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,IAAI,eAAe,KAAK,aAAa,EAAE,CAAC;gBACzE,oBAAoB,GAAG,IAAI,CAAC;gBAC5B,yBAAyB,GAAG,yBAAyB,CAAC;YACvD,CAAC;YACD,mBAAmB,CAAC,eAAe,CAAC,CAAC;YAErC,IAAI,0BAA0B,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvC,IAAI,CAAC,KAAK,CAAC,aAAa;oBAAE,OAAO;gBACjC,MAAM,IAAI,GAAG,wBAAwB,CAAC;oBACrC,OAAO,EAAE,kBAAkB;oBAC3B,KAAK;oBACL,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;wBAC7B,KAAK,EAAE,KAAK,CAAC,iBAAiB,CAAC,KAAK;wBACpC,KAAK,EAAE,KAAK,CAAC,iBAAiB,CAAC,KAAK;wBACpC,UAAU,EAAE,KAAK,CAAC,iBAAiB,CAAC,SAAS;qBAC7C,CAAC,CAAC,CAAC,EAAE,CAAC;iBACP,CAAC,CAAC;gBACH,IAAI,CAAC,IAAI;oBAAE,OAAO;gBAClB,kBAAkB,GAAG,IAAI,CAAC;gBAC1B,KAAK,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC;gBAC5B,IAAI,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;oBACjC,qBAAqB,EAAE,CAAC;oBACxB,eAAe,EAAE,CAAC;gBACnB,CAAC;qBAAM,CAAC;oBACP,sBAAsB,EAAE,CAAC;oBACzB,IAAI,kCAAkC,IAAI,oBAAoB;wBAAE,eAAe,EAAE,CAAC;gBACnF,CAAC;gBACD,OAAO;YACR,CAAC;YAED,KAAK,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC;YAE5B,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;gBACzC,sBAAsB,CAAC,KAAK,CAAC,CAAC;gBAC9B,oBAAoB,CAAC,KAAK,CAAC,CAAC;gBAC5B,OAAO;YACR,CAAC;YAED,IAAI,KAAK,CAAC,IAAI,KAAK,sBAAsB,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAC7D,SAAS,IAAI,CAAC,CAAC;gBACf,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9G,cAAc,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC3E,oBAAoB,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACjG,IAAI,KAAK,CAAC,QAAQ,KAAK,mBAAmB,EAAE,CAAC;oBAC5C,2BAA2B,GAAG,IAAI,CAAC;oBACnC,iCAAiC,GAAG,QAAQ,CAAC,MAAM,CAAC;gBACrD,CAAC;gBACD,uBAAuB,GAAG,uBAAuB,IAAI,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;gBACnH,MAAM,OAAO,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;gBACjD,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAClF,OAAO;YACR,CAAC;YAED,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBACzF,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;oBACtC,sBAAsB,CAAC,KAAK,CAAC,CAAC;oBAC9B,oBAAoB,CAAC;wBACpB,UAAU,EAAG,KAAK,CAAC,OAAoC,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU;wBACtF,QAAQ,EAAG,KAAK,CAAC,OAAkC,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ;qBAC9E,CAAC,CAAC;gBACJ,CAAC;gBACD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC7B,MAAM,IAAI,GAAG,sBAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAC3D,IAAI,IAAI;oBAAE,eAAe,CAAC,IAAI,CAAC,CAAC;gBAChC,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC;oBAC3E,MAAM,OAAO,GAAG,yBAAyB,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;oBAChE,IAAI,OAAO,EAAE,CAAC;wBACb,KAAK,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE;4BACvC,KAAK,EAAE,WAAW;4BAClB,cAAc,EAAE,WAAW;4BAC3B,OAAO,EAAE,oCAAoC;yBAC7C,CAAC,CAAC;oBACJ,CAAC;gBACF,CAAC;gBAED,IAAI,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;oBACzD,MAAM,IAAI,GAAG,yBAAyB,CAAC,kBAAkB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;oBAC1E,IAAI,IAAI;wBAAE,kBAAkB,GAAG,IAAI,CAAC;gBACrC,CAAC;gBACD,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,WAAW;oBAAE,OAAO;gBAC/E,MAAM,WAAW,GAAG,uBAAuB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC3D,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;oBACzB,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;oBAC5B,IAAI,KAAK,CAAC,4BAA4B,IAAI,CAAC,WAAW,EAAE,CAAC;wBACxD,MAAM,sBAAsB,GAAG,oCAAoC,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,oBAAoB,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;wBACnN,IAAI,sBAAsB,IAAI,CAAC,KAAK;4BAAE,KAAK,GAAG,sBAAsB,CAAC;oBACtE,CAAC;gBACF,CAAC;gBACD,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY;oBAAE,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC;qBACvE,IAAI,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;oBAChE,8EAA8E;oBAC9E,cAAc,GAAG,SAAS,CAAC;gBAC5B,CAAC;gBACD,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBACvC,IAAI,UAAU,EAAE,CAAC;oBAChB,KAAK,CAAC,KAAK,EAAE,CAAC;oBACd,KAAK,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,IAAI,UAAU,CAAC,WAAW,IAAI,CAAC,CAAC;oBAC/D,KAAK,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,YAAY,IAAI,CAAC,CAAC;oBAClE,KAAK,CAAC,SAAS,IAAI,UAAU,CAAC,SAAS,IAAI,CAAC,CAAC;oBAC7C,KAAK,CAAC,UAAU,IAAI,UAAU,CAAC,UAAU,IAAI,CAAC,CAAC;oBAC/C,KAAK,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC;gBAC3C,CAAC;gBACD,IAAI,uBAAuB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC5C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,IAAI,sBAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE;wBAAE,cAAc,GAAG,SAAS,CAAC;oBACpH,kCAAkC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC;oBACnE,oBAAoB,EAAE,CAAC;oBACvB,eAAe,CAAC,KAAK,EAAE,CAAC;oBACxB,oBAAoB,CAAC,KAAK,EAAE,CAAC;oBAC7B,kBAAkB,EAAE,CAAC;oBACrB,mBAAmB,CAAC,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,mBAAmB,CAAC,CAAC,CAAC;gBAC9E,CAAC;YACF,CAAC;QACF,CAAC,CAAC;QAEF,gFAAgF;QAChF,MAAM,MAAM,GAAG,KAAK,IAAiC,EAAE;YACtD,qBAAqB,EAAE,CAAC;YACxB,sBAAsB,EAAE,CAAC;YACzB,oBAAoB,EAAE,CAAC;YACvB,IAAI,gBAAgB,EAAE,CAAC;gBACtB,YAAY,CAAC,gBAAgB,CAAC,CAAC;gBAC/B,gBAAgB,GAAG,SAAS,CAAC;YAC9B,CAAC;YACD,KAAK,CAAC,iBAAiB,EAAE,CAAC,SAAS,CAAC,CAAC;YACrC,KAAK,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,CAAC;YACnC,KAAK,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,CAAC;YAChC,KAAK,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,CAAC;YACjC,KAAK,CAAC,sBAAsB,EAAE,CAAC,SAAS,CAAC,CAAC;YAC1C,WAAW,EAAE,EAAE,CAAC;YAChB,IAAI,YAAgC,CAAC;YACrC,IAAI,CAAC,WAAW,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC3C,IAAI,CAAC;oBAAC,MAAM,OAAO,EAAE,cAAc,EAAE,EAAE,CAAC;gBAAC,CAAC;gBAC1C,OAAO,KAAK,EAAE,CAAC;oBAAC,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAAC,CAAC;YACzF,CAAC;YACD,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC9E,OAAO,YAAY,CAAC;QACrB,CAAC,CAAC;QAEF,8GAA8G;QAC9G,MAAM,oBAAoB,GAAG,GAAS,EAAE;YACvC,KAAK,MAAM,KAAK,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9C,KAAK,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,qBAAqB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChH,CAAC;QACF,CAAC,CAAC;QACF,MAAM,MAAM,GAAG,CAAC,WAAoB,EAAE,MAAM,GAAG,KAAK,EAAQ,EAAE;YAC7D,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,oBAAoB,EAAE,CAAC;YACvB,MAAM,aAAa,GAAG,OAAO,IAAI,eAAe,KAAK,SAAS;gBAC7D,CAAC,CAAC,qBAAqB,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,eAAe,CAAC;gBACjE,CAAC,CAAC,KAAK,CAAC;YACT,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;YACxB,MAAM,eAAe,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;YACjD,4EAA4E;YAC5E,4DAA4D;YAC5D,MAAM,YAAY,GAAmC,QAAQ;gBAC5D,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;YACrF,MAAM,eAAe,GAAG,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YACxE,MAAM,WAAW,GAAG,YAAY,IAAI,eAAe,CAAC,CAAC,CAAC,mBAAmB,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;YAC3H,IAAI,UAAU,GAAG,KAAK,IAAI,cAAc,CAAC;YACzC,MAAM,kBAAkB,GAAG,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,YAAY,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC5I,IAAI,CAAC,UAAU,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;gBACrD,UAAU,GAAG,kBAAkB,CAAC;YACjC,CAAC;YACD,sEAAsE;YACtE,4EAA4E;YAC5E,sEAAsE;YACtE,mDAAmD;YACnD,IAAI,kBAAkB,KAAK,SAAS;mBAChC,UAAU,KAAK,kBAAkB;mBACjC,6BAA6B,CAAC,kBAAkB,CAAC;mBACjD,QAAQ,CAAC,MAAM,KAAK,CAAC;mBACrB,aAAa,CAAC,KAAK,KAAK,CAAC;mBACzB,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;gBAC7C,UAAU,GAAG,GAAG,kBAAkB,OAAO,oCAAoC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,EAAE,CAAC;YACtO,CAAC;YACD,MAAM,4BAA4B,GAAG,CAAC,MAAM,IAAI,iBAAiB,CAAC,IAAI,CAAC,kCAAkC,IAAI,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC;YAClJ,MAAM,6BAA6B,GAAG,4BAA4B,IAAI,iCAAiC,CAAC,QAAQ,CAAC,CAAC;YAClH,IAAI,CAAC,UAAU,IAAI,MAAM,IAAI,CAAC,4BAA4B,IAAI,CAAC,WAAW,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;gBACrG,UAAU,GAAG,uDAAuD,CAAC;YACtE,CAAC;YACD,IAAI,QAAQ,GAAG,QAAQ,IAAI,OAAO;gBACjC,CAAC,CAAC,CAAC;gBACH,CAAC,CAAC,WAAW,IAAI,CAAC,4BAA4B,IAAI,CAAC,6BAA6B,CAAC;oBAChF,CAAC,CAAC,CAAC;oBACH,CAAC,CAAC,UAAU,IAAI,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE;gBACjC,IAAI,YAAY,EAAE,CAAC;oBAAC,UAAU,KAAK,YAAY,CAAC;oBAAC,QAAQ,GAAG,CAAC,CAAC;gBAAC,CAAC;gBAChE,MAAM,MAAM,GAA0B,aAAa,CAAC;oBACnD,QAAQ;oBACR,QAAQ;oBACR,KAAK,EAAE,aAAa;oBACpB,SAAS;oBACT,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;oBAClC,KAAK;oBACL,aAAa,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,eAAe,CAAC,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;oBAC7S,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,4BAA4B,IAAI,CAAC,6BAA6B,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;oBACnM,WAAW,EAAE,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW;oBAC/H,WAAW,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ;oBACtD,aAAa,EAAE,YAAY,IAAI,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;oBACjE,WAAW,EAAE,WAAW,IAAI,SAAS;oBACrC,QAAQ,EAAE,QAAQ,IAAI,SAAS;oBAC/B,OAAO,EAAE,OAAO,IAAI,SAAS;oBAC7B,uBAAuB;oBACvB,2BAA2B;oBAC3B,iCAAiC;oBACjC,QAAQ,EAAE,kBAAkB;oBAC5B,WAAW,EAAE,OAAO,EAAE,WAAW;oBACjC,WAAW;oBACX,eAAe;oBACf,WAAW;oBACX,yBAAyB,EAAE,yBAAyB,IAAI,SAAS;iBACjE,CAAC,CAAC;gBACH,OAAO,CAAC,MAAM,CAAC,CAAC;YACjB,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC;QAEF,KAAK,CAAC,iBAAiB,EAAE,CAAC,GAAG,EAAE;YAC9B,IAAI,OAAO,IAAI,aAAa,IAAI,QAAQ,IAAI,OAAO;gBAAE,OAAO;YAC5D,WAAW,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,KAAK;gBAAE,KAAK,GAAG,gDAAgD,CAAC;YACrE,UAAU,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,eAAe,EAAE,CAAC,GAAG,EAAE,CAAC,mBAAmB,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACrE,KAAK,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE;YACzB,IAAI,OAAO,IAAI,aAAa,IAAI,QAAQ,IAAI,OAAO;gBAAE,OAAO;YAC5D,OAAO,GAAG,IAAI,CAAC;YACf,WAAW,GAAG,KAAK,CAAC;YACpB,KAAK,GAAG,WAAW,EAAE,CAAC;YACtB,UAAU,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,KAAK,IAAI,EAAE;YAChB,IAAI,CAAC;gBACJ,MAAM,WAAW,GAAG,+BAA+B,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;gBAC1F,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBACxD,IAAI,OAAO,EAAE,CAAC;oBACb,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;oBAC/C,OAAO;gBACR,CAAC;gBACD,OAAO,GAAG,OAAO,CAAC;gBAClB,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS;oBAAE,KAAK,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;gBACxF,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC1C,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAChD,OAAO,CAAC,KAAK,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE;oBAC9B,IAAI,kCAAkC,IAAI,oBAAoB;wBAAE,eAAe,GAAG,IAAI,CAAC;oBACvF,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;gBACpB,CAAC,CAAC;gBACF,OAAO,CAAC,QAAQ,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE;oBACjC,IAAI,kCAAkC,IAAI,oBAAoB;wBAAE,eAAe,GAAG,IAAI,CAAC;oBACvF,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACvB,CAAC,CAAC;gBACF,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;gBAC9C,KAAK,CAAC,sBAAsB,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAqC,CAAC,CAAC,CAAC;gBAC/F,KAAK,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;oBACvC,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;oBACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC;oBAC9C,MAAM,QAAQ,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;oBACnC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC9B,MAAM,MAAM,GAAkB;wBAC7B,KAAK,EAAE,QAAQ;wBACf,cAAc,EAAE,QAAQ;wBACxB,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,iCAAiC;qBACxF,CAAC;oBACF,IAAI,CAAC;wBACJ,IAAI,QAAQ;4BAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;;4BACtC,MAAM,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAChC,CAAC;oBAAC,OAAO,UAAU,EAAE,CAAC;wBACrB,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;wBAC/C,IAAI,KAAK,IAAI,CAAC;4BAAE,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;wBAChD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,YAAY,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC5G,CAAC;oBACD,OAAO,MAAM,CAAC;gBACf,CAAC,CAAC,CAAC;gBACH,IAAI,WAAW,IAAI,QAAQ,IAAI,OAAO;oBAAE,UAAU,EAAE,CAAC;gBACrD,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAC1C,MAAM,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACnC,aAAa,GAAG,IAAI,CAAC;gBACrB,MAAM,CAAC,SAAS,CAAC,CAAC;YACnB,CAAC;YAAC,OAAO,WAAW,EAAE,CAAC;gBACtB,aAAa,GAAG,IAAI,CAAC;gBACrB,MAAM,CAAC,WAAW,IAAI,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC;YAC3D,CAAC;QACF,CAAC,CAAC,EAAE,CAAC;IACN,CAAC,CAAC,CAAC;AACJ,CAAC"}
@@ -3,6 +3,7 @@ import type { ExtensionContext } from "@earendil-works/pi-coding-agent";
3
3
  import type { Details, ExtensionConfig } from "../../shared/types.ts";
4
4
  import type { SubagentParamsLike } from "../foreground/subagent-executor.ts";
5
5
  import type { ResolvedSubagentCapabilityCeiling } from "../shared/capability-ceiling.ts";
6
+ import { type CalendarTrigger } from "./calendar-schedule.ts";
6
7
  export declare const SCHEDULED_RUN_ACTIONS: readonly ["schedule.create", "schedule.list", "schedule.show", "schedule.history", "schedule.pause", "schedule.resume", "schedule.run", "schedule.run-due", "schedule.delete"];
7
8
  type ScheduledRunTimers = Pick<typeof globalThis, "setTimeout" | "clearTimeout">;
8
9
  export type ScheduledRunAction = typeof SCHEDULED_RUN_ACTIONS[number];
@@ -17,7 +18,7 @@ export type ScheduleTrigger = {
17
18
  everyMs: number;
18
19
  anchorAt: string;
19
20
  nextRunAt: string;
20
- };
21
+ } | CalendarTrigger;
21
22
  export type ScheduleTarget = {
22
23
  workflowScript: string;
23
24
  args: Record<string, unknown>;
@@ -108,6 +109,7 @@ export declare class ScheduledRunManager {
108
109
  private resolve;
109
110
  private requireStore;
110
111
  private requireContext;
112
+ private activeRun;
111
113
  private timerKey;
112
114
  private clearTimer;
113
115
  private stopTimers;
@@ -1 +1 @@
1
- {"version":3,"file":"scheduled-runs.d.ts","sourceRoot":"","sources":["../../../../src/runs/background/scheduled-runs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scheduled-runs.d.ts","sourceRoot":"","sources":["../../../../src/runs/background/scheduled-runs.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import * as fs from "node:fs";
4
4
  import * as path from "node:path";
5
5
  import { getProjectSubagentsDir } from "../../shared/artifacts.js";
6
6
  import { writePrivateAtomicJson } from "../../shared/atomic-json.js";
7
+ import { withFileLease } from "../../shared/file-lease.js";
7
8
  import { shortenPath } from "../../shared/formatters.js";
8
9
  import { validateExecutionAcceptance } from "../shared/acceptance.js";
9
10
  import { previewSimpleWorkflowRun } from "../../workflows/scripted-workflow.js";
@@ -12,6 +13,7 @@ import { getConfigDirName } from "../../shared/utils.js";
12
13
  import { normalizeWorktreeBaseRef } from "../shared/worktree.js";
13
14
  import { deepFreezeWorkflowArgs, normalizeWorkflowArgs } from "../../workflows/workflow-resources.js";
14
15
  import { readMission, resolveMissionStoreLocation, validateMissionId } from "../../missions/store.js";
16
+ import { calendarDateAfter, latestCalendarOccurrence, nextCalendarOccurrence, normalizeCalendarRule, restoreCalendarTrigger } from "./calendar-schedule.js";
15
17
  export const SCHEDULED_RUN_ACTIONS = [
16
18
  "schedule.create",
17
19
  "schedule.list",
@@ -294,6 +296,9 @@ function parseSchedule(value, file) {
294
296
  if (typeof record.trigger.every !== "string" || typeof record.trigger.everyMs !== "number" || typeof record.trigger.anchorAt !== "string" || typeof record.trigger.nextRunAt !== "string")
295
297
  throw new Error(`Schedule record '${file}' has an invalid interval trigger.`);
296
298
  }
299
+ else if (record.trigger.kind === "calendar") {
300
+ restoreCalendarTrigger(record.trigger); // Validate without rewriting during read-only list/show.
301
+ }
297
302
  else
298
303
  throw new Error(`Schedule record '${file}' has an unsupported trigger.`);
299
304
  if (record.sessionOnly !== undefined && typeof record.sessionOnly !== "boolean")
@@ -356,13 +361,30 @@ class ScheduleStore {
356
361
  throw new Error(`Schedule history '${file}' has invalid fields.`);
357
362
  return value.runs;
358
363
  }
364
+ /** The run's own receipt; it is written before history.json and is never trimmed. */
365
+ getRun(id, runId) {
366
+ if (!SCHEDULE_ID.test(runId))
367
+ throw new Error(`Invalid schedule run id '${runId}'.`);
368
+ const file = path.join(scheduleDir(this.root, id, false, this.projectCwd), "runs", `${runId}.json`);
369
+ if (!fs.existsSync(file))
370
+ return undefined;
371
+ const run = readJson(file, "schedule run");
372
+ if (run?.id !== runId || run.scheduleId !== id)
373
+ throw new Error(`Schedule run '${file}' has invalid fields.`);
374
+ return run;
375
+ }
359
376
  writeRun(schedule, run, event) {
360
377
  const dir = scheduleDir(this.root, schedule.id, true, this.projectCwd);
361
378
  writePrivateAtomicJson(path.join(dir, "runs", `${run.id}.json`), run);
362
- const runs = [run, ...this.history(schedule.id).filter((item) => item.id !== run.id)].slice(0, MAX_HISTORY);
363
- writePrivateAtomicJson(path.join(dir, "history.json"), { schemaVersion: 1, runs });
364
- fs.mkdirSync(dir, { recursive: true, mode: 0o700 });
365
- fs.appendFileSync(path.join(dir, "events.jsonl"), `${JSON.stringify({ schemaVersion: 1, timestamp: new Date().toISOString(), event, scheduleId: schedule.id, runId: run.id, state: run.state })}\n`, { encoding: "utf-8", mode: 0o600 });
379
+ // Sessions sharing this project update history.json from their own snapshots.
380
+ withFileLease(path.join(dir, "history.json"), () => {
381
+ // An earlier update may have timed out; a run's own receipt is newer than a "running" entry.
382
+ const earlier = this.history(schedule.id).filter((item) => item.id !== run.id)
383
+ .map((item) => item.state === "running" ? this.getRun(schedule.id, item.id) ?? item : item);
384
+ const runs = [run, ...earlier].slice(0, MAX_HISTORY);
385
+ writePrivateAtomicJson(path.join(dir, "history.json"), { schemaVersion: 1, runs });
386
+ fs.appendFileSync(path.join(dir, "events.jsonl"), `${JSON.stringify({ schemaVersion: 1, timestamp: new Date().toISOString(), event, scheduleId: schedule.id, runId: run.id, state: run.state })}\n`, { encoding: "utf-8", mode: 0o600 });
387
+ });
366
388
  }
367
389
  appendEvent(schedule, event) {
368
390
  const dir = scheduleDir(this.root, schedule.id, true, this.projectCwd);
@@ -379,11 +401,14 @@ function hasPendingScheduleWork(schedule) {
379
401
  }
380
402
  function nextAfter(trigger, plannedAt, now) {
381
403
  if (trigger.kind === "once")
382
- return undefined;
383
- let next = plannedAt + trigger.everyMs;
384
- while (next <= now)
385
- next += trigger.everyMs;
386
- return timestamp(next);
404
+ return { ...trigger, nextRunAt: undefined };
405
+ if (trigger.kind === "calendar")
406
+ return {
407
+ ...trigger,
408
+ ...nextCalendarOccurrence(trigger, Math.max(plannedAt, now), calendarDateAfter(trigger, plannedAt, trigger.nextLocalDate)),
409
+ };
410
+ const next = plannedAt + (Math.floor(Math.max(0, now - plannedAt) / trigger.everyMs) + 1) * trigger.everyMs;
411
+ return { ...trigger, nextRunAt: timestamp(next) };
387
412
  }
388
413
  function nextRunAt(schedule) {
389
414
  const value = schedule.trigger.nextRunAt;
@@ -396,9 +421,18 @@ function nextRunAt(schedule) {
396
421
  }
397
422
  function duePlannedAt(schedule, now) {
398
423
  const next = nextRunAt(schedule);
399
- if (next === undefined || next > now || schedule.catchUp !== "latest" || schedule.trigger.kind !== "interval")
424
+ if (next === undefined || next > now || schedule.catchUp !== "latest")
400
425
  return next;
401
- return next + Math.floor((now - next) / schedule.trigger.everyMs) * schedule.trigger.everyMs;
426
+ if (schedule.trigger.kind === "calendar")
427
+ return Date.parse(latestCalendarOccurrence(schedule.trigger, now, schedule.trigger.nextLocalDate).nextRunAt);
428
+ if (schedule.trigger.kind === "interval")
429
+ return next + Math.floor((now - next) / schedule.trigger.everyMs) * schedule.trigger.everyMs;
430
+ return next;
431
+ }
432
+ function triggerLabel(trigger) {
433
+ if (trigger.kind === "calendar")
434
+ return `every ${trigger.every}${trigger.on ? ` (${trigger.on.join(", ")})` : ""} at ${trigger.at} ${trigger.timezone}`;
435
+ return trigger.kind === "once" ? `at ${trigger.at}` : `every ${trigger.every}`;
402
436
  }
403
437
  function textResult(text, schedules, runs, isError = false) {
404
438
  const publicSchedules = schedules?.map(publicScheduleRecord);
@@ -585,8 +619,10 @@ export class ScheduledRunManager {
585
619
  for (const id of ids) {
586
620
  try {
587
621
  const schedule = store.get(id);
588
- const run = store.history(id).find((item) => item.asyncId === asyncId && item.state === "running");
589
- if (!run)
622
+ const listed = store.history(id).find((item) => item.asyncId === asyncId) ?? this.activeRun(store, schedule);
623
+ // history.json can lag the run's receipt when its update timed out.
624
+ const run = listed && (store.getRun(id, listed.id) ?? listed);
625
+ if (run?.asyncId !== asyncId || run.state !== "running")
590
626
  continue;
591
627
  this.finishRun(store, schedule, run, data.success === true, typeof data.summary === "string" ? data.summary : undefined);
592
628
  return;
@@ -604,7 +640,8 @@ export class ScheduledRunManager {
604
640
  return textResult(target.error, undefined, undefined, true);
605
641
  const at = params.at?.trim();
606
642
  const every = params.every?.trim();
607
- if (Boolean(at) === Boolean(every))
643
+ const calendar = every === "day" || every === "week";
644
+ if (!calendar && Boolean(at) === Boolean(every))
608
645
  return textResult("schedule.create requires exactly one trigger: at or every.", undefined, undefined, true);
609
646
  if (params.overlap !== undefined && params.overlap !== "skip")
610
647
  return textResult("This first recurring slice supports overlap='skip' only.", undefined, undefined, true);
@@ -612,11 +649,11 @@ export class ScheduledRunManager {
612
649
  return textResult("catchUp must be 'none' or 'latest'.", undefined, undefined, true);
613
650
  if (params.mission !== undefined || params.missionUpdate !== undefined || params.missionStatus !== undefined || params.missionScope !== undefined)
614
651
  return textResult("Schedules accept only an existing missionId; mission creation and updates are unsupported.", undefined, undefined, true);
615
- if (params.on !== undefined || params.timezone !== undefined || every === "day" || every === "week" || every === "month" || every === "year")
616
- return textResult("Calendar schedules are deferred from this first safe slice. Use a fixed interval such as every:'24h' or every:'7d'.", undefined, undefined, true);
652
+ if (!calendar && (params.on !== undefined || params.timezone !== undefined))
653
+ return textResult("on and timezone require every:'day' or every:'week'.", undefined, undefined, true);
617
654
  if (params.quiet !== undefined && typeof params.quiet !== "boolean")
618
655
  return textResult("quiet must be a boolean.", undefined, undefined, true);
619
- if (at && params.quiet === true)
656
+ if (!calendar && at && params.quiet === true)
620
657
  return textResult("quiet is only supported for recurring schedules.", undefined, undefined, true);
621
658
  const sessionOnly = params.sessionOnly === true;
622
659
  if (sessionOnly && params.cwd !== undefined && !samePath(params.cwd, ctx.cwd))
@@ -639,7 +676,11 @@ export class ScheduledRunManager {
639
676
  return textResult(`Schedule '${id}' already exists.`, undefined, undefined, true);
640
677
  const now = this.now();
641
678
  let trigger;
642
- if (at) {
679
+ if (calendar) {
680
+ const rule = normalizeCalendarRule({ every, at, on: params.on, timezone: params.timezone });
681
+ trigger = { kind: "calendar", ...rule, ...nextCalendarOccurrence(rule, now) };
682
+ }
683
+ else if (at) {
643
684
  const planned = parseScheduledRunTime(at, now);
644
685
  trigger = { kind: "once", at, nextRunAt: timestamp(planned) };
645
686
  }
@@ -660,14 +701,14 @@ export class ScheduledRunManager {
660
701
  ...(params.timeoutMs === undefined ? {} : { timeoutMs: params.timeoutMs }),
661
702
  paused: false,
662
703
  ...(sessionOnly ? { sessionOnly: true, ownerSessionFile: path.resolve(ownerSessionFile) } : {}),
663
- ...(trigger.kind === "interval" && params.quiet === true ? { quiet: true } : {}),
704
+ ...(trigger.kind !== "once" && params.quiet === true ? { quiet: true } : {}),
664
705
  createdAt: timestamp(now),
665
706
  updatedAt: timestamp(now),
666
707
  };
667
708
  store.write(schedule);
668
709
  store.appendEvent(schedule, "schedule.created");
669
710
  this.arm(schedule, store);
670
- return textResult(`Created schedule ${id}.\nName: ${schedule.name}\nTrigger: ${at ? `at ${at}` : `every ${every}`}\nSession only: ${schedule.sessionOnly === true ? "yes" : "no"}\nQuiet: ${schedule.quiet === true ? "yes" : "no"}\nNext: ${schedule.trigger.nextRunAt}\nTarget: ${targetLabel(schedule.target)}${schedule.target.missionId === undefined ? "" : `\nMission: ${schedule.target.missionId}`}`, [schedule]);
711
+ return textResult(`Created schedule ${id}.\nName: ${schedule.name}\nTrigger: ${triggerLabel(trigger)}\nSession only: ${schedule.sessionOnly === true ? "yes" : "no"}\nQuiet: ${schedule.quiet === true ? "yes" : "no"}\nNext: ${schedule.trigger.nextRunAt}\nTarget: ${targetLabel(schedule.target)}${schedule.target.missionId === undefined ? "" : `\nMission: ${schedule.target.missionId}`}`, [schedule]);
671
712
  }
672
713
  list() {
673
714
  const schedules = this.requireStore().list().sort((a, b) => (a.trigger.nextRunAt ?? "").localeCompare(b.trigger.nextRunAt ?? ""));
@@ -677,7 +718,7 @@ export class ScheduledRunManager {
677
718
  }
678
719
  show(params) {
679
720
  const schedule = this.resolve(params);
680
- return textResult([`Schedule: ${schedule.id}`, `Name: ${schedule.name}`, `State: ${schedule.paused ? "paused" : schedule.activeRunId ? "running" : "scheduled"}`, `Session only: ${schedule.sessionOnly === true ? "yes" : "no"}`, `Quiet: ${schedule.quiet === true ? "yes" : "no"}`, `Target: ${targetLabel(schedule.target)}`, schedule.target.missionId === undefined ? undefined : `Mission: ${schedule.target.missionId}`, `CWD: ${shortenPath(schedule.cwd)}`, `Next: ${schedule.trigger.nextRunAt ?? "none"}`, `Catch up: ${schedule.catchUp}`, schedule.activeRunId ? `Active run: ${schedule.activeRunId}` : undefined].filter(Boolean).join("\n"), [schedule]);
721
+ return textResult([`Schedule: ${schedule.id}`, `Name: ${schedule.name}`, `State: ${schedule.paused ? "paused" : schedule.activeRunId ? "running" : "scheduled"}`, `Session only: ${schedule.sessionOnly === true ? "yes" : "no"}`, `Quiet: ${schedule.quiet === true ? "yes" : "no"}`, `Target: ${targetLabel(schedule.target)}`, schedule.target.missionId === undefined ? undefined : `Mission: ${schedule.target.missionId}`, `CWD: ${shortenPath(schedule.cwd)}`, `Trigger: ${triggerLabel(schedule.trigger)}`, `Next: ${schedule.trigger.nextRunAt ?? "none"}`, `Catch up: ${schedule.catchUp}`, schedule.activeRunId ? `Active run: ${schedule.activeRunId}` : undefined].filter(Boolean).join("\n"), [schedule]);
681
722
  }
682
723
  history(params) {
683
724
  const schedule = this.resolve(params);
@@ -708,11 +749,20 @@ export class ScheduledRunManager {
708
749
  }
709
750
  if (params.quiet !== undefined && typeof params.quiet !== "boolean")
710
751
  return textResult("quiet must be a boolean.", undefined, undefined, true);
752
+ const manualTrigger = schedule.trigger;
711
753
  const run = await this.launch(store, schedule, this.now(), "manual", false, params.quiet === true);
712
754
  const updated = store.get(schedule.id);
713
755
  if (run.state === "running") {
714
756
  const now = this.now();
715
- if (updated.trigger.kind === "interval")
757
+ if (updated.trigger.kind === "calendar") {
758
+ if (manualTrigger.kind !== "calendar")
759
+ throw new Error("Schedule trigger changed during manual launch.");
760
+ const consumed = latestCalendarOccurrence(manualTrigger, now, manualTrigger.nextLocalDate)?.nextRunAt ?? manualTrigger.nextRunAt;
761
+ const advanced = nextAfter(manualTrigger, Date.parse(consumed), now);
762
+ if (advanced.nextLocalDate > updated.trigger.nextLocalDate)
763
+ updated.trigger = advanced;
764
+ }
765
+ else if (updated.trigger.kind === "interval")
716
766
  updated.trigger.nextRunAt = timestamp(now + updated.trigger.everyMs);
717
767
  else
718
768
  updated.trigger.nextRunAt = undefined;
@@ -741,7 +791,7 @@ export class ScheduledRunManager {
741
791
  const schedule = this.resolve(params);
742
792
  const store = this.requireStore();
743
793
  if (schedule.activeRunId) {
744
- const run = store.history(schedule.id).find((item) => item.id === schedule.activeRunId);
794
+ const run = this.activeRun(store, schedule);
745
795
  let terminal = false;
746
796
  if (run?.scheduleId === schedule.id && run.state === "running" && run.asyncId && run.asyncDir) {
747
797
  const status = readJson(path.join(run.asyncDir, "status.json"), "async status");
@@ -762,8 +812,16 @@ export class ScheduledRunManager {
762
812
  restoreOne(store, schedule, notBefore, rearm = true) {
763
813
  if (!scheduleBelongsToSession(schedule, this.requireContext(store)))
764
814
  return;
815
+ if (schedule.trigger.kind === "calendar") {
816
+ const refreshed = restoreCalendarTrigger(schedule.trigger);
817
+ if (JSON.stringify(refreshed) !== JSON.stringify(schedule.trigger)) {
818
+ schedule.trigger = refreshed;
819
+ schedule.updatedAt = timestamp(this.now());
820
+ store.write(schedule);
821
+ }
822
+ }
765
823
  if (schedule.activeRunId) {
766
- const run = store.history(schedule.id).find((item) => item.id === schedule.activeRunId);
824
+ const run = this.activeRun(store, schedule);
767
825
  if (run?.state === "running" && run.asyncId)
768
826
  this.observedAsyncIds.add(run.asyncId);
769
827
  const startedAt = run?.startedAt ? Date.parse(run.startedAt) : Number.NaN;
@@ -833,9 +891,9 @@ export class ScheduledRunManager {
833
891
  if (!schedule)
834
892
  return;
835
893
  const now = this.now();
836
- const planned = schedule.trigger.kind === "interval" ? duePlannedAt(schedule, now) : undefined;
837
- const notBefore = planned !== undefined && planned <= now ? Date.parse(nextAfter(schedule.trigger, planned, now)) : undefined;
838
- this.restoreOne(store, schedule, notBefore, schedule.trigger.kind === "interval");
894
+ const planned = schedule.trigger.kind !== "once" ? duePlannedAt(schedule, now) : undefined;
895
+ const notBefore = planned !== undefined && planned <= now ? Date.parse(nextAfter(schedule.trigger, planned, now).nextRunAt) : undefined;
896
+ this.restoreOne(store, schedule, notBefore, schedule.trigger.kind !== "once");
839
897
  }
840
898
  catch (error) {
841
899
  console.warn(`[pi-subagents] Scheduled run '${id}' could not be restored after fire failure: ${error instanceof Error ? error.message : String(error)}`);
@@ -862,12 +920,13 @@ export class ScheduledRunManager {
862
920
  async launch(store, schedule, planned, dueReason, advance, quiet) {
863
921
  const now = this.now();
864
922
  const nextRunAtBeforeClaim = schedule.trigger.nextRunAt;
923
+ const nextLocalDateBeforeClaim = schedule.trigger.kind === "calendar" ? schedule.trigger.nextLocalDate : undefined;
865
924
  const run = { schemaVersion: 1, id: this.randomId(), scheduleId: schedule.id, plannedAt: timestamp(planned), dueReason, state: "running", startedAt: timestamp(now) };
866
925
  if (schedule.activeRunId) {
867
926
  run.state = "skipped";
868
927
  run.completedAt = timestamp(now);
869
928
  if (advance) {
870
- schedule.trigger.nextRunAt = nextAfter(schedule.trigger, planned, now);
929
+ schedule.trigger = nextAfter(schedule.trigger, planned, now);
871
930
  schedule.updatedAt = timestamp(now);
872
931
  store.write(schedule);
873
932
  }
@@ -884,26 +943,75 @@ export class ScheduledRunManager {
884
943
  fs.closeSync(lock);
885
944
  }
886
945
  catch (error) {
946
+ if (lock !== undefined) {
947
+ // An empty or partial claim would make every later launch skip. Keep the
948
+ // descriptor open until the inode check so a replacement owner's lock survives.
949
+ try {
950
+ // Bigint stats: Windows file ids exceed 2^53, so number inodes of nearby files can compare equal.
951
+ const owned = fs.fstatSync(lock, { bigint: true });
952
+ const current = fs.lstatSync(lockPath, { bigint: true });
953
+ if (owned.ino !== 0n && owned.dev === current.dev && owned.ino === current.ino)
954
+ fs.rmSync(lockPath);
955
+ }
956
+ catch { /* Preserve the original error. */ }
957
+ try {
958
+ fs.closeSync(lock);
959
+ }
960
+ catch { /* Preserve the original error. */ }
961
+ throw error;
962
+ }
887
963
  if (error.code !== "EEXIST")
888
964
  throw error;
889
965
  run.state = "skipped";
890
966
  run.completedAt = timestamp(now);
891
- if (advance) {
892
- schedule.trigger.nextRunAt = nextAfter(schedule.trigger, planned, now);
893
- schedule.updatedAt = timestamp(now);
894
- store.write(schedule);
967
+ // Losing the claim gives this snapshot no authority to change the owner.
968
+ const latest = store.find(schedule.id);
969
+ if (!latest) {
970
+ this.clearTimer(store, schedule.id);
971
+ return run;
972
+ }
973
+ store.writeRun(latest, run, "schedule.skipped_overlap");
974
+ if (latest.trigger.kind === "once") {
975
+ this.clearTimer(store, latest.id);
976
+ }
977
+ else {
978
+ // The owner may hold the lock before persisting its cursor. Back off
979
+ // locally without consuming that pending occurrence on disk.
980
+ const next = nextRunAt(latest);
981
+ const notBefore = next !== undefined && next <= now
982
+ ? Date.parse(nextAfter(latest.trigger, duePlannedAt(latest, now) ?? planned, now).nextRunAt)
983
+ : undefined;
984
+ this.arm(latest, store, notBefore);
895
985
  }
896
- store.writeRun(schedule, run, "schedule.skipped_overlap");
897
- this.arm(schedule, store);
898
986
  return run;
899
987
  }
900
988
  schedule.activeRunId = run.id;
901
989
  schedule.lastRunId = run.id;
902
990
  if (advance)
903
- schedule.trigger.nextRunAt = nextAfter(schedule.trigger, planned, now);
991
+ schedule.trigger = nextAfter(schedule.trigger, planned, now);
904
992
  schedule.updatedAt = timestamp(now);
905
- store.write(schedule);
906
- store.writeRun(schedule, run, "schedule.run.started");
993
+ try {
994
+ store.write(schedule);
995
+ store.writeRun(schedule, run, "schedule.run.started");
996
+ }
997
+ catch (error) {
998
+ // No child has launched: release this run's claim, then report the original error.
999
+ // Another session may already have recovered the claim and launched its own run.
1000
+ try {
1001
+ const latest = store.find(schedule.id);
1002
+ if (latest?.activeRunId === run.id) {
1003
+ latest.activeRunId = undefined;
1004
+ latest.updatedAt = timestamp(this.now());
1005
+ store.write(latest);
1006
+ }
1007
+ if (fs.readFileSync(lockPath, "utf-8") === run.id)
1008
+ fs.rmSync(lockPath);
1009
+ }
1010
+ catch (cleanupError) {
1011
+ console.warn(`[pi-subagents] Could not release schedule claim '${run.id}': ${cleanupError instanceof Error ? cleanupError.message : String(cleanupError)}`);
1012
+ }
1013
+ throw error;
1014
+ }
907
1015
  try {
908
1016
  const result = await this.deps.launch(executionParams(schedule, dueReason === "manual" ? quiet === true : schedule.quiet === true), this.requireContext(store), new AbortController().signal);
909
1017
  const asyncId = result.details?.asyncId ?? result.details?.runId;
@@ -917,27 +1025,45 @@ export class ScheduledRunManager {
917
1025
  return run;
918
1026
  }
919
1027
  catch (error) {
1028
+ // The child is running, so its claim stays until completion.
1029
+ if (run.asyncId)
1030
+ throw new Error(`Scheduled run '${run.id}' attached to async run '${run.asyncId}', but recording it failed: ${error instanceof Error ? error.message : String(error)}`, { cause: error });
920
1031
  run.state = "failed_launch";
921
1032
  run.completedAt = timestamp(this.now());
922
1033
  run.error = error instanceof Error ? error.message : String(error);
923
1034
  const latest = store.get(schedule.id);
924
1035
  latest.activeRunId = undefined;
925
- if (!advance && nextRunAtBeforeClaim)
926
- latest.trigger.nextRunAt = nextRunAtBeforeClaim;
1036
+ if (!advance && nextRunAtBeforeClaim) {
1037
+ if (latest.trigger.kind === "calendar") {
1038
+ // An overlapping timer may have advanced both cursor fields while
1039
+ // this manual attachment was pending. Failure satisfies neither.
1040
+ if (nextLocalDateBeforeClaim !== undefined) {
1041
+ latest.trigger.nextLocalDate = nextLocalDateBeforeClaim;
1042
+ latest.trigger.nextRunAt = nextRunAtBeforeClaim;
1043
+ }
1044
+ }
1045
+ else
1046
+ latest.trigger.nextRunAt = nextRunAtBeforeClaim;
1047
+ }
927
1048
  latest.updatedAt = timestamp(this.now());
928
1049
  store.write(latest);
929
- store.writeRun(latest, run, "schedule.run.failed");
930
1050
  fs.rmSync(lockPath, { force: true });
931
- this.arm(latest, store);
1051
+ try {
1052
+ store.writeRun(latest, run, "schedule.run.failed");
1053
+ }
1054
+ finally {
1055
+ this.arm(latest, store);
1056
+ }
932
1057
  return run;
933
1058
  }
934
1059
  }
935
1060
  finishRun(store, schedule, run, success, error) {
936
1061
  const now = this.now();
937
1062
  const next = nextRunAt(schedule);
1063
+ let skipped;
938
1064
  if (next !== undefined && next <= now) {
939
1065
  const planned = duePlannedAt(schedule, now);
940
- const skipped = {
1066
+ skipped = {
941
1067
  schemaVersion: 1,
942
1068
  id: this.randomId(),
943
1069
  scheduleId: schedule.id,
@@ -946,8 +1072,7 @@ export class ScheduledRunManager {
946
1072
  state: "skipped",
947
1073
  completedAt: timestamp(now),
948
1074
  };
949
- schedule.trigger.nextRunAt = nextAfter(schedule.trigger, planned, now);
950
- store.writeRun(schedule, skipped, "schedule.skipped_overlap");
1075
+ schedule.trigger = nextAfter(schedule.trigger, planned, now);
951
1076
  }
952
1077
  if (run.asyncId)
953
1078
  this.observedAsyncIds.delete(run.asyncId);
@@ -959,8 +1084,15 @@ export class ScheduledRunManager {
959
1084
  schedule.updatedAt = timestamp(now);
960
1085
  store.write(schedule);
961
1086
  fs.rmSync(path.join(store.directory(schedule.id), "active.lock"), { force: true });
962
- store.writeRun(schedule, run, success ? "schedule.run.completed" : "schedule.run.failed");
963
- this.arm(schedule, store);
1087
+ // The schedule is already released; a history.json timeout must not leave it unarmed.
1088
+ try {
1089
+ store.writeRun(schedule, run, success ? "schedule.run.completed" : "schedule.run.failed");
1090
+ if (skipped)
1091
+ store.writeRun(schedule, skipped, "schedule.skipped_overlap");
1092
+ }
1093
+ finally {
1094
+ this.arm(schedule, store);
1095
+ }
964
1096
  }
965
1097
  recordMissed(store, schedule, planned, dueReason) {
966
1098
  const run = {
@@ -972,7 +1104,7 @@ export class ScheduledRunManager {
972
1104
  state: "missed",
973
1105
  completedAt: timestamp(this.now()),
974
1106
  };
975
- schedule.trigger.nextRunAt = nextAfter(schedule.trigger, planned, this.now());
1107
+ schedule.trigger = nextAfter(schedule.trigger, planned, this.now());
976
1108
  schedule.updatedAt = timestamp(this.now());
977
1109
  store.write(schedule);
978
1110
  store.writeRun(schedule, run, "schedule.missed");
@@ -1018,6 +1150,11 @@ export class ScheduledRunManager {
1018
1150
  throw new Error("Schedule runtime context is unavailable.");
1019
1151
  return ctx;
1020
1152
  }
1153
+ activeRun(store, schedule) {
1154
+ if (!schedule.activeRunId)
1155
+ return undefined;
1156
+ return store.getRun(schedule.id, schedule.activeRunId) ?? store.history(schedule.id).find((run) => run.id === schedule.activeRunId);
1157
+ }
1021
1158
  timerKey(store, id) {
1022
1159
  return `${store.root}\0${id}`;
1023
1160
  }