oh-my-codex 0.7.0 → 0.7.2

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 (47) hide show
  1. package/dist/cli/__tests__/team.test.js +17 -0
  2. package/dist/cli/__tests__/team.test.js.map +1 -1
  3. package/dist/cli/team.d.ts.map +1 -1
  4. package/dist/cli/team.js +3 -2
  5. package/dist/cli/team.js.map +1 -1
  6. package/dist/hooks/__tests__/notify-fallback-watcher.test.js +44 -0
  7. package/dist/hooks/__tests__/notify-fallback-watcher.test.js.map +1 -1
  8. package/dist/hooks/__tests__/notify-hook-team-dispatch.test.d.ts +2 -0
  9. package/dist/hooks/__tests__/notify-hook-team-dispatch.test.d.ts.map +1 -0
  10. package/dist/hooks/__tests__/notify-hook-team-dispatch.test.js +135 -0
  11. package/dist/hooks/__tests__/notify-hook-team-dispatch.test.js.map +1 -0
  12. package/dist/mcp/__tests__/state-server-schema.test.js +2 -1
  13. package/dist/mcp/__tests__/state-server-schema.test.js.map +1 -1
  14. package/dist/team/__tests__/mcp-comm.test.js +117 -7
  15. package/dist/team/__tests__/mcp-comm.test.js.map +1 -1
  16. package/dist/team/__tests__/runtime.test.js +58 -1
  17. package/dist/team/__tests__/runtime.test.js.map +1 -1
  18. package/dist/team/__tests__/state.test.js +76 -1
  19. package/dist/team/__tests__/state.test.js.map +1 -1
  20. package/dist/team/contracts.d.ts +1 -1
  21. package/dist/team/contracts.d.ts.map +1 -1
  22. package/dist/team/contracts.js +2 -0
  23. package/dist/team/contracts.js.map +1 -1
  24. package/dist/team/mcp-comm.d.ts +28 -4
  25. package/dist/team/mcp-comm.d.ts.map +1 -1
  26. package/dist/team/mcp-comm.js +172 -6
  27. package/dist/team/mcp-comm.js.map +1 -1
  28. package/dist/team/runtime.d.ts.map +1 -1
  29. package/dist/team/runtime.js +374 -41
  30. package/dist/team/runtime.js.map +1 -1
  31. package/dist/team/scaling.d.ts.map +1 -1
  32. package/dist/team/scaling.js +90 -13
  33. package/dist/team/scaling.js.map +1 -1
  34. package/dist/team/state.d.ts +54 -1
  35. package/dist/team/state.d.ts.map +1 -1
  36. package/dist/team/state.js +300 -5
  37. package/dist/team/state.js.map +1 -1
  38. package/dist/team/team-ops.d.ts +8 -1
  39. package/dist/team/team-ops.d.ts.map +1 -1
  40. package/dist/team/team-ops.js +7 -0
  41. package/dist/team/team-ops.js.map +1 -1
  42. package/package.json +1 -1
  43. package/scripts/notify-fallback-watcher.js +4 -0
  44. package/scripts/notify-hook/team-dispatch.js +274 -0
  45. package/scripts/notify-hook.js +11 -0
  46. package/skills/team/SKILL.md +3 -2
  47. package/skills/worker/SKILL.md +4 -0
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/team/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/team/state.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAUvE,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,aAAa,GAAG,QAAQ,CAAC;IAC7C,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IACvC,8EAA8E;IAC9E,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,oFAAoF;IACpF,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,2EAA2E;IAC3E,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,sEAAsE;IACtE,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,oEAAoE;IACpE,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAChC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;IACnF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,aAAa,GAAG,WAAW,GAAG,QAAQ,CAAC;IACvE,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,UAAW,SAAQ,QAAQ;IAC1C,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,YAAY,GAAG,MAAM,CAAC;IACpC,kBAAkB,EAAE,aAAa,GAAG,QAAQ,CAAC;IAC7C,aAAa,EAAE,8BAA8B,GAAG,kBAAkB,CAAC;IACnE,uBAAuB,EAAE,MAAM,CAAC;IAChC,eAAe,EAAE,OAAO,CAAC;IACzB,sBAAsB,EAAE,OAAO,CAAC;IAChC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,2BAA2B,EAAE,OAAO,CAAC;IACrC,qCAAqC,EAAE,OAAO,CAAC;CAChD;AAED,MAAM,MAAM,uBAAuB,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;AACpE,MAAM,MAAM,yBAAyB,GAAG,SAAS,GAAG,UAAU,GAAG,WAAW,GAAG,QAAQ,CAAC;AACxF,MAAM,MAAM,+BAA+B,GAAG,8BAA8B,GAAG,kBAAkB,GAAG,cAAc,CAAC;AAEnH,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,uBAAuB,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,oBAAoB,EAAE,+BAA+B,CAAC;IACtD,gBAAgB,EAAE,OAAO,CAAC;IAC1B,MAAM,EAAE,yBAAyB,CAAC;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,uBAAuB,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,oBAAoB,CAAC,EAAE,+BAA+B,CAAC;IACvD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,CAAC,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,UAAU,CAAC;IACnB,oBAAoB,EAAE,mBAAmB,CAAC;IAC1C,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IACvC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,oEAAoE;IACpE,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;CACxC;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EACA,gBAAgB,GAChB,aAAa,GACb,aAAa,GACb,gBAAgB,GAChB,kBAAkB,GAClB,cAAc,GACd,eAAe,GACf,sBAAsB,GACtB,mBAAmB,GACnB,mBAAmB,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,kBAAkB,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB;AAOD,MAAM,MAAM,aAAa,GACrB;IAAE,KAAK,EAAE,IAAI,CAAA;CAAE,GACf;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,oBAAoB,CAAC;IAAC,YAAY,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAE3E,MAAM,MAAM,eAAe,GACvB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,UAAU,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAClD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,gBAAgB,GAAG,oBAAoB,GAAG,gBAAgB,GAAG,kBAAkB,GAAG,kBAAkB,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAExJ,MAAM,MAAM,oBAAoB,GAC5B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,GAC9B;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,gBAAgB,GAAG,oBAAoB,GAAG,gBAAgB,GAAG,kBAAkB,GAAG,eAAe,CAAA;CAAE,CAAC;AAE5H,MAAM,MAAM,sBAAsB,GAC9B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,GAC9B;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,gBAAgB,GAAG,gBAAgB,GAAG,kBAAkB,CAAA;CAAE,CAAC;AAEnF,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAC;QAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,oBAAoB,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1G,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,WAAW,CAAC,EAAE,sBAAsB,CAAC;CACtC;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,mBAAmB,KAAK,CAAC;AACtC,eAAO,MAAM,oBAAoB,KAAK,CAAC;AA6EvC,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,SAAS,EAC9C,QAAQ,GAAE,IAAI,CAAC,UAAU,EAAE,cAAc,GAAG,oBAAoB,CAA+D,GAC9H,UAAU,CAmBZ;AA0ND,wBAAsB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB/E;AAKD,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,MAAM,EACX,UAAU,GAAE,MAA4B,EACxC,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,SAAS,GAAE,qBAA0B,GACpC,OAAO,CAAC,UAAU,CAAC,CAyGrB;AAwGD,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB9F;AAED,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAiBtG;AAGD,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAgBjG;AAqCD,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAkB9F;AAGD,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,UAAU,EACpB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,IAAI,CAAC,CAGf;AAGD,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAUjC;AAGD,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,eAAe,EAC1B,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,IAAI,CAAC,CAGf;AAGD,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAe/G;AAGD,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,YAAY,EACpB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,IAAI,CAAC,CAGf;AAGD,wBAAsB,eAAe,CAAC,CAAC,EACrC,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC,CAiDZ;AAGD,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,IAAI,CAAC,CAGf;AA6KD,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,GAAG,YAAY,CAAC,EACzC,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,UAAU,CAAC,CA2BrB;AAGD,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAUtG;AAGD,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,EAC1B,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CA4B1B;AAGD,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAmClF;AAED,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAehH;AAED,wBAAsB,SAAS,CAC7B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,GAAG,IAAI,EAC9B,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,eAAe,CAAC,CA8D1B;AAED,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,EACxB,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC,EACtB,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,oBAAoB,CAAC,CA+E/B;AAED,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,sBAAsB,CAAC,CAiCjC;AAED,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,GAAG,YAAY,GAAG,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAWnJ;AA4JD,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,wBAAwB,EACtC,GAAG,EAAE,MAAM,GACV,OAAO,CAAC;IAAE,OAAO,EAAE,mBAAmB,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CA+B7D;AAED,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EACX,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,yBAAyB,CAAC;IAAC,IAAI,CAAC,EAAE,uBAAuB,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GACpH,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAQhC;AAED,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAG/H;AAYD,wBAAsB,yBAAyB,CAC7C,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,yBAAyB,EAC/B,EAAE,EAAE,yBAAyB,EAC7B,KAAK,EAAE,OAAO,CAAC,mBAAmB,CAAC,YAAK,EACxC,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CA8BrC;AAED,wBAAsB,2BAA2B,CAC/C,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,OAAO,CAAC,mBAAmB,CAAC,YAAK,EACxC,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAKrC;AAED,wBAAsB,4BAA4B,CAChD,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,OAAO,CAAC,mBAAmB,CAAC,YAAK,EACxC,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAKrC;AAED,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,kBAAkB,CAAC,CAoB7B;AAED,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAU/B;AAED,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,OAAO,CAAC,CAWlB;AAED,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,OAAO,CAAC,CASlB;AAED,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAG/B;AAED,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,kBAAkB,EAC5B,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,IAAI,CAAC,CAcf;AAED,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAYpC;AAGD,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CA2F/F;AAwBD,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,IAAI,CAAC,CAGf;AAED,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,EACX,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAgB7B;AAID,MAAM,WAAW,wBAAwB;IACvC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,0BAA0B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnD,0FAA0F;IAC1F,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/C,uEAAuE;IACvE,cAAc,CAAC,EAAE;QACf,aAAa,EAAE,MAAM,CAAC;QACtB,cAAc,EAAE,MAAM,CAAC;QACvB,mBAAmB,EAAE,MAAM,CAAC;QAC5B,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,SAAS,GAAG,aAAa,CAAC;IACzC,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,WAAW,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9E,UAAU,EAAE,MAAM,CAAC;CACpB;AAUD,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC,CAkC1C;AAED,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,wBAAwB,EAClC,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAkBhC;AAED,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,cAAc,EAC1B,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,IAAI,CAAC,CAEf;AAID,wBAAsB,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEnF;AAGD,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEnF"}
@@ -9,6 +9,9 @@ export const DEFAULT_MAX_WORKERS = 20;
9
9
  export const ABSOLUTE_MAX_WORKERS = 20;
10
10
  const DEFAULT_CLAIM_LEASE_MS = 15 * 60 * 1000;
11
11
  const LOCK_STALE_MS = 5 * 60 * 1000;
12
+ const DEFAULT_DISPATCH_ACK_TIMEOUT_MS = 800;
13
+ const MIN_DISPATCH_ACK_TIMEOUT_MS = 100;
14
+ const MAX_DISPATCH_ACK_TIMEOUT_MS = 10_000;
12
15
  function isTerminalTaskStatus(status) {
13
16
  return isTerminalTeamTaskStatus(status);
14
17
  }
@@ -46,6 +49,8 @@ function defaultPolicy(displayMode = 'auto', workerLaunchMode = 'interactive') {
46
49
  return {
47
50
  display_mode: displayMode,
48
51
  worker_launch_mode: workerLaunchMode,
52
+ dispatch_mode: 'hook_preferred_with_fallback',
53
+ dispatch_ack_timeout_ms: DEFAULT_DISPATCH_ACK_TIMEOUT_MS,
49
54
  delegation_only: false,
50
55
  plan_approval_required: false,
51
56
  nested_teams_allowed: false,
@@ -53,6 +58,32 @@ function defaultPolicy(displayMode = 'auto', workerLaunchMode = 'interactive') {
53
58
  cleanup_requires_all_workers_inactive: true,
54
59
  };
55
60
  }
61
+ function clampDispatchAckTimeoutMs(raw) {
62
+ const asNum = typeof raw === 'number' ? raw : Number(raw);
63
+ if (!Number.isFinite(asNum))
64
+ return DEFAULT_DISPATCH_ACK_TIMEOUT_MS;
65
+ const floored = Math.floor(asNum);
66
+ return Math.max(MIN_DISPATCH_ACK_TIMEOUT_MS, Math.min(MAX_DISPATCH_ACK_TIMEOUT_MS, floored));
67
+ }
68
+ export function normalizeTeamPolicy(policy, defaults = { display_mode: 'auto', worker_launch_mode: 'interactive' }) {
69
+ const base = defaultPolicy(defaults.display_mode, defaults.worker_launch_mode);
70
+ const dispatchMode = policy?.dispatch_mode === 'transport_direct'
71
+ ? 'transport_direct'
72
+ : 'hook_preferred_with_fallback';
73
+ return {
74
+ ...base,
75
+ ...(policy ?? {}),
76
+ worker_launch_mode: policy?.worker_launch_mode === 'prompt' ? 'prompt' : base.worker_launch_mode,
77
+ display_mode: policy?.display_mode === 'split_pane' ? 'split_pane' : base.display_mode,
78
+ dispatch_mode: dispatchMode,
79
+ dispatch_ack_timeout_ms: clampDispatchAckTimeoutMs(policy?.dispatch_ack_timeout_ms),
80
+ delegation_only: policy?.delegation_only === true,
81
+ plan_approval_required: policy?.plan_approval_required === true,
82
+ nested_teams_allowed: policy?.nested_teams_allowed === true,
83
+ one_team_per_leader_session: policy?.one_team_per_leader_session !== false,
84
+ cleanup_requires_all_workers_inactive: policy?.cleanup_requires_all_workers_inactive !== false,
85
+ };
86
+ }
56
87
  function defaultPermissionsSnapshot() {
57
88
  return {
58
89
  approval_mode: 'unknown',
@@ -184,6 +215,12 @@ function mailboxLockDir(teamName, workerName, cwd) {
184
215
  assertPathWithinDir(p, resolveTeamStateRoot(cwd));
185
216
  return p;
186
217
  }
218
+ function dispatchRequestsPath(teamName, cwd) {
219
+ return join(teamDir(teamName, cwd), 'dispatch', 'requests.json');
220
+ }
221
+ function dispatchLockDir(teamName, cwd) {
222
+ return join(teamDir(teamName, cwd), 'dispatch', '.lock');
223
+ }
187
224
  function approvalPath(teamName, taskId, cwd) {
188
225
  validateTaskId(taskId);
189
226
  const p = join(teamDir(teamName, cwd), 'approvals', `task-${taskId}.json`);
@@ -303,14 +340,17 @@ export async function initTeamState(teamName, task, agentType, workerCount, cwd,
303
340
  const tasksRoot = join(root, 'tasks');
304
341
  const claimsRoot = join(root, 'claims');
305
342
  const mailboxRoot = join(root, 'mailbox');
343
+ const dispatchRoot = join(root, 'dispatch');
306
344
  const eventsRoot = join(root, 'events');
307
345
  const approvalsRoot = join(root, 'approvals');
308
346
  await mkdir(workersRoot, { recursive: true });
309
347
  await mkdir(tasksRoot, { recursive: true });
310
348
  await mkdir(claimsRoot, { recursive: true });
311
349
  await mkdir(mailboxRoot, { recursive: true });
350
+ await mkdir(dispatchRoot, { recursive: true });
312
351
  await mkdir(eventsRoot, { recursive: true });
313
352
  await mkdir(approvalsRoot, { recursive: true });
353
+ await writeAtomic(join(dispatchRoot, 'requests.json'), JSON.stringify([], null, 2));
314
354
  const workers = [];
315
355
  for (let i = 1; i <= workerCount; i++) {
316
356
  const name = `worker-${i}`;
@@ -405,7 +445,11 @@ async function writeConfig(cfg, cwd) {
405
445
  }
406
446
  }
407
447
  function teamConfigFromManifest(manifest) {
408
- const workerLaunchMode = manifest.policy?.worker_launch_mode === 'prompt' ? 'prompt' : 'interactive';
448
+ const normalizedPolicy = normalizeTeamPolicy(manifest.policy, {
449
+ display_mode: manifest.policy?.display_mode === 'split_pane' ? 'split_pane' : 'auto',
450
+ worker_launch_mode: manifest.policy?.worker_launch_mode === 'prompt' ? 'prompt' : 'interactive',
451
+ });
452
+ const workerLaunchMode = normalizedPolicy.worker_launch_mode;
409
453
  return {
410
454
  name: manifest.name,
411
455
  task: manifest.task,
@@ -440,12 +484,18 @@ function normalizeTeamConfig(config) {
440
484
  }
441
485
  function teamManifestFromConfig(config) {
442
486
  const normalized = normalizeTeamConfig(config);
487
+ const policy = normalizeTeamPolicy({
488
+ worker_launch_mode: normalized.worker_launch_mode,
489
+ }, {
490
+ display_mode: 'auto',
491
+ worker_launch_mode: normalized.worker_launch_mode,
492
+ });
443
493
  return {
444
494
  schema_version: 2,
445
495
  name: normalized.name,
446
496
  task: normalized.task,
447
497
  leader: defaultLeader(),
448
- policy: defaultPolicy('auto', normalized.worker_launch_mode),
498
+ policy,
449
499
  permissions_snapshot: defaultPermissionsSnapshot(),
450
500
  tmux_session: normalized.tmux_session,
451
501
  worker_count: normalized.worker_count,
@@ -463,8 +513,15 @@ function teamManifestFromConfig(config) {
463
513
  };
464
514
  }
465
515
  export async function writeTeamManifestV2(manifest, cwd) {
516
+ const normalizedPolicy = normalizeTeamPolicy(manifest.policy, {
517
+ display_mode: manifest.policy?.display_mode === 'split_pane' ? 'split_pane' : 'auto',
518
+ worker_launch_mode: manifest.policy?.worker_launch_mode === 'prompt' ? 'prompt' : 'interactive',
519
+ });
466
520
  const p = teamManifestV2Path(manifest.name, cwd);
467
- await writeAtomic(p, JSON.stringify(manifest, null, 2));
521
+ await writeAtomic(p, JSON.stringify({
522
+ ...manifest,
523
+ policy: normalizedPolicy,
524
+ }, null, 2));
468
525
  }
469
526
  export async function readTeamManifestV2(teamName, cwd) {
470
527
  try {
@@ -475,7 +532,13 @@ export async function readTeamManifestV2(teamName, cwd) {
475
532
  const parsed = JSON.parse(raw);
476
533
  if (!isTeamManifestV2(parsed))
477
534
  return null;
478
- return parsed;
535
+ return {
536
+ ...parsed,
537
+ policy: normalizeTeamPolicy(parsed.policy, {
538
+ display_mode: parsed.policy?.display_mode === 'split_pane' ? 'split_pane' : 'auto',
539
+ worker_launch_mode: parsed.policy?.worker_launch_mode === 'prompt' ? 'prompt' : 'interactive',
540
+ }),
541
+ };
479
542
  }
480
543
  catch {
481
544
  return null;
@@ -496,7 +559,7 @@ export async function migrateV1ToV2(teamName, cwd) {
496
559
  return null;
497
560
  const manifest = teamManifestFromConfig(parsed);
498
561
  await writeTeamManifestV2(manifest, cwd);
499
- return manifest;
562
+ return await readTeamManifestV2(teamName, cwd);
500
563
  }
501
564
  catch {
502
565
  return null;
@@ -1161,6 +1224,238 @@ async function writeMailbox(teamName, mailbox, cwd) {
1161
1224
  const p = mailboxPath(teamName, mailbox.worker, cwd);
1162
1225
  await writeAtomic(p, JSON.stringify(mailbox, null, 2));
1163
1226
  }
1227
+ function isDispatchKind(value) {
1228
+ return value === 'inbox' || value === 'mailbox' || value === 'nudge';
1229
+ }
1230
+ function isDispatchStatus(value) {
1231
+ return value === 'pending' || value === 'notified' || value === 'delivered' || value === 'failed';
1232
+ }
1233
+ function normalizeDispatchRequest(teamName, raw, nowIso = new Date().toISOString()) {
1234
+ if (!isDispatchKind(raw.kind))
1235
+ return null;
1236
+ if (typeof raw.to_worker !== 'string' || raw.to_worker.trim() === '')
1237
+ return null;
1238
+ if (typeof raw.trigger_message !== 'string' || raw.trigger_message.trim() === '')
1239
+ return null;
1240
+ const status = isDispatchStatus(raw.status) ? raw.status : 'pending';
1241
+ return {
1242
+ request_id: typeof raw.request_id === 'string' && raw.request_id.trim() !== '' ? raw.request_id : randomUUID(),
1243
+ kind: raw.kind,
1244
+ team_name: teamName,
1245
+ to_worker: raw.to_worker,
1246
+ worker_index: typeof raw.worker_index === 'number' ? raw.worker_index : undefined,
1247
+ pane_id: typeof raw.pane_id === 'string' && raw.pane_id !== '' ? raw.pane_id : undefined,
1248
+ trigger_message: raw.trigger_message,
1249
+ message_id: typeof raw.message_id === 'string' && raw.message_id !== '' ? raw.message_id : undefined,
1250
+ inbox_correlation_key: typeof raw.inbox_correlation_key === 'string' && raw.inbox_correlation_key !== '' ? raw.inbox_correlation_key : undefined,
1251
+ transport_preference: raw.transport_preference === 'transport_direct' || raw.transport_preference === 'prompt_stdin'
1252
+ ? raw.transport_preference
1253
+ : 'hook_preferred_with_fallback',
1254
+ fallback_allowed: raw.fallback_allowed !== false,
1255
+ status,
1256
+ attempt_count: Number.isFinite(raw.attempt_count) ? Math.max(0, Math.floor(raw.attempt_count)) : 0,
1257
+ created_at: typeof raw.created_at === 'string' && raw.created_at !== '' ? raw.created_at : nowIso,
1258
+ updated_at: typeof raw.updated_at === 'string' && raw.updated_at !== '' ? raw.updated_at : nowIso,
1259
+ notified_at: typeof raw.notified_at === 'string' && raw.notified_at !== '' ? raw.notified_at : undefined,
1260
+ delivered_at: typeof raw.delivered_at === 'string' && raw.delivered_at !== '' ? raw.delivered_at : undefined,
1261
+ failed_at: typeof raw.failed_at === 'string' && raw.failed_at !== '' ? raw.failed_at : undefined,
1262
+ last_reason: typeof raw.last_reason === 'string' && raw.last_reason !== '' ? raw.last_reason : undefined,
1263
+ };
1264
+ }
1265
+ async function readDispatchRequests(teamName, cwd) {
1266
+ const path = dispatchRequestsPath(teamName, cwd);
1267
+ try {
1268
+ if (!existsSync(path))
1269
+ return [];
1270
+ const raw = await readFile(path, 'utf8');
1271
+ const parsed = JSON.parse(raw);
1272
+ if (!Array.isArray(parsed))
1273
+ return [];
1274
+ const nowIso = new Date().toISOString();
1275
+ return parsed
1276
+ .map((entry) => normalizeDispatchRequest(teamName, (entry ?? {}), nowIso))
1277
+ .filter((entry) => entry !== null);
1278
+ }
1279
+ catch {
1280
+ return [];
1281
+ }
1282
+ }
1283
+ async function writeDispatchRequests(teamName, requests, cwd) {
1284
+ await writeAtomic(dispatchRequestsPath(teamName, cwd), JSON.stringify(requests, null, 2));
1285
+ }
1286
+ async function withDispatchLock(teamName, cwd, fn) {
1287
+ const root = teamDir(teamName, cwd);
1288
+ if (!existsSync(root))
1289
+ throw new Error(`Team ${teamName} not found`);
1290
+ const lockDir = dispatchLockDir(teamName, cwd);
1291
+ const ownerPath = join(lockDir, 'owner');
1292
+ const ownerToken = `${process.pid}.${Date.now()}.${Math.random().toString(16).slice(2)}`;
1293
+ const deadline = Date.now() + 5000;
1294
+ await mkdir(dirname(lockDir), { recursive: true });
1295
+ while (true) {
1296
+ try {
1297
+ await mkdir(lockDir, { recursive: false });
1298
+ try {
1299
+ await writeFile(ownerPath, ownerToken, 'utf8');
1300
+ }
1301
+ catch (error) {
1302
+ await rm(lockDir, { recursive: true, force: true });
1303
+ throw error;
1304
+ }
1305
+ break;
1306
+ }
1307
+ catch (error) {
1308
+ const err = error;
1309
+ if (err.code !== 'EEXIST')
1310
+ throw error;
1311
+ try {
1312
+ const info = await stat(lockDir);
1313
+ if (Date.now() - info.mtimeMs > LOCK_STALE_MS) {
1314
+ await rm(lockDir, { recursive: true, force: true });
1315
+ continue;
1316
+ }
1317
+ }
1318
+ catch {
1319
+ // best effort
1320
+ }
1321
+ if (Date.now() > deadline)
1322
+ throw new Error(`Timed out acquiring dispatch lock for ${teamName}`);
1323
+ await new Promise((resolve) => setTimeout(resolve, 25));
1324
+ }
1325
+ }
1326
+ try {
1327
+ return await fn();
1328
+ }
1329
+ finally {
1330
+ try {
1331
+ const currentOwner = await readFile(ownerPath, 'utf8');
1332
+ if (currentOwner.trim() === ownerToken) {
1333
+ await rm(lockDir, { recursive: true, force: true });
1334
+ }
1335
+ }
1336
+ catch {
1337
+ // best effort
1338
+ }
1339
+ }
1340
+ }
1341
+ function equivalentPendingDispatch(existing, input) {
1342
+ if (existing.status !== 'pending')
1343
+ return false;
1344
+ if (existing.kind !== input.kind)
1345
+ return false;
1346
+ if (existing.to_worker !== input.to_worker)
1347
+ return false;
1348
+ if (input.kind === 'mailbox') {
1349
+ return Boolean(input.message_id) && existing.message_id === input.message_id;
1350
+ }
1351
+ if (input.kind === 'inbox' && input.inbox_correlation_key) {
1352
+ return existing.inbox_correlation_key === input.inbox_correlation_key;
1353
+ }
1354
+ return existing.trigger_message === input.trigger_message;
1355
+ }
1356
+ export async function enqueueDispatchRequest(teamName, requestInput, cwd) {
1357
+ if (!isDispatchKind(requestInput.kind))
1358
+ throw new Error(`Invalid dispatch request kind: ${String(requestInput.kind)}`);
1359
+ if (requestInput.kind === 'mailbox' && (!requestInput.message_id || requestInput.message_id.trim() === '')) {
1360
+ throw new Error('mailbox dispatch requests require message_id');
1361
+ }
1362
+ validateWorkerName(requestInput.to_worker);
1363
+ return await withDispatchLock(teamName, cwd, async () => {
1364
+ const requests = await readDispatchRequests(teamName, cwd);
1365
+ const existing = requests.find((req) => equivalentPendingDispatch(req, requestInput));
1366
+ if (existing)
1367
+ return { request: existing, deduped: true };
1368
+ const nowIso = new Date().toISOString();
1369
+ const request = normalizeDispatchRequest(teamName, {
1370
+ request_id: randomUUID(),
1371
+ ...requestInput,
1372
+ status: 'pending',
1373
+ attempt_count: 0,
1374
+ created_at: nowIso,
1375
+ updated_at: nowIso,
1376
+ }, nowIso);
1377
+ if (!request)
1378
+ throw new Error('failed_to_normalize_dispatch_request');
1379
+ requests.push(request);
1380
+ await writeDispatchRequests(teamName, requests, cwd);
1381
+ return { request, deduped: false };
1382
+ });
1383
+ }
1384
+ export async function listDispatchRequests(teamName, cwd, opts = {}) {
1385
+ const requests = await readDispatchRequests(teamName, cwd);
1386
+ let filtered = requests;
1387
+ if (opts.status)
1388
+ filtered = filtered.filter((req) => req.status === opts.status);
1389
+ if (opts.kind)
1390
+ filtered = filtered.filter((req) => req.kind === opts.kind);
1391
+ if (opts.to_worker)
1392
+ filtered = filtered.filter((req) => req.to_worker === opts.to_worker);
1393
+ if (typeof opts.limit === 'number' && opts.limit > 0)
1394
+ filtered = filtered.slice(0, opts.limit);
1395
+ return filtered;
1396
+ }
1397
+ export async function readDispatchRequest(teamName, requestId, cwd) {
1398
+ const requests = await readDispatchRequests(teamName, cwd);
1399
+ return requests.find((req) => req.request_id === requestId) ?? null;
1400
+ }
1401
+ function canTransitionDispatchStatus(from, to) {
1402
+ if (from === to)
1403
+ return true;
1404
+ if (from === 'pending' && (to === 'notified' || to === 'failed'))
1405
+ return true;
1406
+ if (from === 'notified' && (to === 'delivered' || to === 'failed'))
1407
+ return true;
1408
+ return false;
1409
+ }
1410
+ export async function transitionDispatchRequest(teamName, requestId, from, to, patch = {}, cwd) {
1411
+ return await withDispatchLock(teamName, cwd, async () => {
1412
+ const requests = await readDispatchRequests(teamName, cwd);
1413
+ const index = requests.findIndex((req) => req.request_id === requestId);
1414
+ if (index < 0)
1415
+ return null;
1416
+ const existing = requests[index];
1417
+ if (existing.status !== from && existing.status !== to)
1418
+ return null;
1419
+ if (!canTransitionDispatchStatus(existing.status, to))
1420
+ return null;
1421
+ const nowIso = new Date().toISOString();
1422
+ const nextAttemptCount = Math.max(existing.attempt_count, Number.isFinite(patch.attempt_count)
1423
+ ? Math.floor(patch.attempt_count)
1424
+ : (existing.status === to ? existing.attempt_count : existing.attempt_count + 1));
1425
+ const next = {
1426
+ ...existing,
1427
+ ...patch,
1428
+ status: to,
1429
+ attempt_count: Math.max(0, nextAttemptCount),
1430
+ updated_at: nowIso,
1431
+ };
1432
+ if (to === 'notified')
1433
+ next.notified_at = patch.notified_at ?? nowIso;
1434
+ if (to === 'delivered')
1435
+ next.delivered_at = patch.delivered_at ?? nowIso;
1436
+ if (to === 'failed')
1437
+ next.failed_at = patch.failed_at ?? nowIso;
1438
+ requests[index] = next;
1439
+ await writeDispatchRequests(teamName, requests, cwd);
1440
+ return next;
1441
+ });
1442
+ }
1443
+ export async function markDispatchRequestNotified(teamName, requestId, patch = {}, cwd) {
1444
+ const current = await readDispatchRequest(teamName, requestId, cwd);
1445
+ if (!current)
1446
+ return null;
1447
+ if (current.status === 'notified' || current.status === 'delivered')
1448
+ return current;
1449
+ return await transitionDispatchRequest(teamName, requestId, current.status, 'notified', patch, cwd);
1450
+ }
1451
+ export async function markDispatchRequestDelivered(teamName, requestId, patch = {}, cwd) {
1452
+ const current = await readDispatchRequest(teamName, requestId, cwd);
1453
+ if (!current)
1454
+ return null;
1455
+ if (current.status === 'delivered')
1456
+ return current;
1457
+ return await transitionDispatchRequest(teamName, requestId, current.status, 'delivered', patch, cwd);
1458
+ }
1164
1459
  export async function sendDirectMessage(teamName, fromWorker, toWorker, body, cwd) {
1165
1460
  const msg = {
1166
1461
  message_id: randomUUID(),