@sagmans/dsh-tui 0.9.0 → 0.11.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 (69) hide show
  1. package/.agents/skills/dsh-tui-dogfood/SKILL.md +6 -1
  2. package/.agents/skills/dsh-tui-dogfood/scripts/run-plugin-from-worktree.sh +8 -0
  3. package/.agents/skills/dsh-tui-update-models/references/model-wiring.md +2 -2
  4. package/README.md +30 -19
  5. package/cordis.patch.yml +23 -100
  6. package/lib/agent/presets.d.ts.map +1 -1
  7. package/lib/agent/presets.js +8 -3
  8. package/lib/agent/presets.js.map +1 -1
  9. package/lib/compat/probe.js +1 -1
  10. package/lib/compat/probe.js.map +1 -1
  11. package/lib/compat/section.d.ts +8 -1
  12. package/lib/compat/section.d.ts.map +1 -1
  13. package/lib/compat/section.js +3 -2
  14. package/lib/compat/section.js.map +1 -1
  15. package/lib/herdr/client.d.ts +16 -0
  16. package/lib/herdr/client.d.ts.map +1 -1
  17. package/lib/herdr/client.js +60 -19
  18. package/lib/herdr/client.js.map +1 -1
  19. package/lib/herdr/constants.d.ts +11 -0
  20. package/lib/herdr/constants.d.ts.map +1 -1
  21. package/lib/herdr/constants.js +11 -0
  22. package/lib/herdr/constants.js.map +1 -1
  23. package/lib/herdr/reporter.d.ts +8 -0
  24. package/lib/herdr/reporter.d.ts.map +1 -1
  25. package/lib/herdr/reporter.js +58 -1
  26. package/lib/herdr/reporter.js.map +1 -1
  27. package/lib/herdr/state.d.ts +8 -4
  28. package/lib/herdr/state.d.ts.map +1 -1
  29. package/lib/herdr/state.js +10 -6
  30. package/lib/herdr/state.js.map +1 -1
  31. package/lib/host/preset-files.d.ts +27 -0
  32. package/lib/host/preset-files.d.ts.map +1 -0
  33. package/lib/host/preset-files.js +40 -0
  34. package/lib/host/preset-files.js.map +1 -0
  35. package/lib/host/roster.d.ts +17 -0
  36. package/lib/host/roster.d.ts.map +1 -0
  37. package/lib/host/roster.js +42 -0
  38. package/lib/host/roster.js.map +1 -0
  39. package/lib/host/runner.d.ts +15 -0
  40. package/lib/host/runner.d.ts.map +1 -0
  41. package/lib/host/runner.js +17 -0
  42. package/lib/host/runner.js.map +1 -0
  43. package/lib/index.d.ts +4 -1
  44. package/lib/index.d.ts.map +1 -1
  45. package/lib/index.js +5 -2
  46. package/lib/index.js.map +1 -1
  47. package/lib/surface/appearance-preferences.d.ts.map +1 -1
  48. package/lib/surface/appearance-preferences.js +3 -2
  49. package/lib/surface/appearance-preferences.js.map +1 -1
  50. package/lib/surface/preset-choice.d.ts.map +1 -1
  51. package/lib/surface/preset-choice.js +38 -2
  52. package/lib/surface/preset-choice.js.map +1 -1
  53. package/lib/todo-guard.d.ts +17 -0
  54. package/lib/todo-guard.d.ts.map +1 -1
  55. package/lib/todo-guard.js +3 -1
  56. package/lib/todo-guard.js.map +1 -1
  57. package/lib/transcript/tool-calls.d.ts.map +1 -1
  58. package/lib/transcript/tool-calls.js +16 -2
  59. package/lib/transcript/tool-calls.js.map +1 -1
  60. package/package.json +40 -29
  61. package/presets/cordis.patch.yml +14 -0
  62. package/presets/minimal.patch.yml +14 -0
  63. package/presets/ptc.patch.yml +24 -0
  64. package/presets/standard.patch.yml +14 -0
  65. package/themes/deepseek-blue.yaml +6 -4
  66. package/themes/marine-static.yaml +201 -0
  67. package/themes/pine-slope.yaml +203 -0
  68. package/themes/polar-drift.yaml +194 -0
  69. package/themes/wine-thicket.yaml +205 -0
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/herdr/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/herdr/client.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,WAAW,EACX,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,YAAY,EACZ,YAAY,EACZ,wBAAwB,EACxB,kBAAkB,EAClB,kBAAkB,GAGnB,MAAM,gBAAgB,CAAA;AA+EvB;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAwB,OAAO,CAAC,GAAG,EAAE,UAA8B,EAAE;IACrG,MAAM,MAAM,GAAG,GAAG,CAAC,iBAAiB,CAAC,CAAA;IACrC,MAAM,UAAU,GAAG,GAAG,CAAC,qBAAqB,CAAC,CAAA;IAC7C,2EAA2E;IAC3E,wDAAwD;IACxD,MAAM,OAAO,GAAG,GAAG,CAAC,aAAa,CAAC,KAAK,cAAc,IAAI,MAAM,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,CAAA;IACzG,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,IAAI,gBAAgB,CAAC,CAAA;IAClE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,IAAI,kBAAkB,CAAC,CAAA;IACtE,IAAI,aAAa,GAAG,CAAC,CAAA;IACrB,IAAI,MAAM,GAAmB,EAAE,CAAA;IAC/B,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,IAAI,MAAM,GAAG,KAAK,CAAA;IAClB,IAAI,OAAO,GAAsB,EAAE,CAAA;IAEnC,MAAM,IAAI,GAAG,GAAS,EAAE;QACtB,MAAM,OAAO,GAAG,OAAO,CAAA;QACvB,OAAO,GAAG,EAAE,CAAA;QACZ,KAAK,MAAM,OAAO,IAAI,OAAO;YAAE,OAAO,EAAE,CAAA;IAC1C,CAAC,CAAA;IAED,MAAM,OAAO,GAAG,KAAK,EAAE,OAAoB,EAAoB,EAAE,CAC/D,UAAU,KAAK,SAAS;QACtB,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,aAAa,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAA;IAE3E,MAAM,IAAI,GAAG,KAAK,IAAmB,EAAE;QACrC,IAAI,OAAO;YAAE,OAAM;QACnB,OAAO,GAAG,IAAI,CAAA;QACd,IAAI,CAAC;YACH,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,CAAA;gBAC3B,IAAI,IAAI,KAAK,SAAS;oBAAE,MAAK;gBAC7B,IAAI,CAAC,MAAM,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;YAC1C,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,OAAO,GAAG,KAAK,CAAA;YACf,IAAI,EAAE,CAAA;QACR,CAAC;IACH,CAAC,CAAA;IAED,MAAM,OAAO,GAAG,CAAC,MAAc,EAAE,MAA+B,EAAE,UAAmB,EAAoB,EAAE,CACzG,IAAI,OAAO,CAAU,OAAO,CAAC,EAAE;QAC7B,IAAI,MAAM,IAAI,CAAC,OAAO,IAAI,MAAM,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC3E,OAAO,CAAC,IAAI,CAAC,CAAA;YACb,OAAM;QACR,CAAC;QACD,MAAM,OAAO,GAAgB;YAC3B,EAAE,EAAE,GAAG,YAAY,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,EAAE,aAAa,CAAC,EAAE;YACvE,MAAM;YACN,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM,EAAE;SACjF,CAAA;QACD,IAAI,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;YACzD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;YAC3D,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;YAClD,uEAAuE;YACvE,mDAAmD;YACnD,KAAK,MAAM,KAAK,IAAI,UAAU;gBAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACpD,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;QACrD,KAAK,IAAI,EAAE,CAAA;IACb,CAAC,CAAC,CAAA;IAEJ,OAAO;QACL,OAAO;QACP,KAAK,CAAC,OAAO;YACX,IAAI,MAAM,IAAI,CAAC,OAAO,IAAI,MAAM,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS;gBAAE,OAAO,SAAS,CAAA;YAC5F,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,UAAU,EAAE;gBAChD,EAAE,EAAE,GAAG,YAAY,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,EAAE,aAAa,CAAC,EAAE;gBACvE,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;aAC5B,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAA;YACrC,IAAI,CAAC,MAAM,CAAC,EAAE;gBAAE,OAAO,SAAS,CAAA;YAChC,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YACtC,IAAI,KAAK,KAAK,SAAS;gBAAE,OAAO,SAAS,CAAA;YACzC,IAAI,KAAK,KAAK,IAAI;gBAAE,OAAO,MAAM,CAAA;YACjC,OAAO,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAA;QACjD,CAAC;QACD,WAAW,CAAC,MAAM;YAChB,OAAO,OAAO,CAAC,mBAAmB,EAAE;gBAClC,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,GAAG,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpE,GAAG,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;aAClF,EAAE,IAAI,CAAC,CAAA;QACV,CAAC;QACD,aAAa,CAAC,MAAM;YAClB,OAAO,OAAO,CAAC,2BAA2B,EAAE;gBAC1C,gBAAgB,EAAE,MAAM,CAAC,SAAS;gBAClC,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,oBAAoB,EAAE,MAAM,CAAC,MAAM;aACpC,EAAE,KAAK,CAAC,CAAA;QACX,CAAC;QACD,cAAc,CAAC,MAAM;YACnB,OAAO,OAAO,CAAC,sBAAsB,EAAE;gBACrC,iBAAiB,EAAE,YAAY;gBAC/B,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC;aAC/B,EAAE,KAAK,CAAC,CAAA;QACX,CAAC;QACD,gBAAgB,CAAC,KAAK;YACpB,4EAA4E;YAC5E,2EAA2E;YAC3E,2EAA2E;YAC3E,kEAAkE;YAClE,OAAO,OAAO,CAAC,sBAAsB,EAAE;gBACrC,iBAAiB,EAAE,YAAY;gBAC/B,GAAG,CAAC,KAAK,KAAK,SAAS;oBACrB,CAAC,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE;oBAC9B,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;aACzD,EAAE,KAAK,CAAC,CAAA;QACX,CAAC;QACD,IAAI;YACF,0EAA0E;YAC1E,sEAAsE;YACtE,yEAAyE;YACzE,uEAAuE;YACvE,0CAA0C;YAC1C,MAAM,GAAG,IAAI,CAAA;YACb,MAAM,SAAS,GAAG,MAAM,CAAA;YACxB,MAAM,GAAG,EAAE,CAAA;YACX,KAAK,MAAM,KAAK,IAAI,SAAS;gBAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACpD,CAAC;QACD,KAAK,CAAC,MAAM;YACV,yEAAyE;YACzE,0EAA0E;YAC1E,uEAAuE;YACvE,qEAAqE;YACrE,2CAA2C;YAC3C,IAAI,CAAC,OAAO;gBAAE,OAAM;YACpB,MAAM,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;gBAChC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACvB,CAAC,CAAC,CAAA;QACJ,CAAC;KACF,CAAA;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,cAAc,CAAC,MAAoD;IAC1E,MAAM,QAAQ,GAAkC,EAAE,CAAA;IAClD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAA;IAC/F,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;AACrE,CAAC;AAcD,MAAM,SAAS,GAAe,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAA;AAE9D;;;;;;GAMG;AACH,KAAK,UAAU,aAAa,CAC1B,IAAY,EACZ,OAAoB,EACpB,QAAgB,EAChB,SAAiB,EACjB,OAAsB;IAEtB,OAAO,CAAC,MAAM,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAA;AACjF,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,IAAY,EACZ,OAAoB,EACpB,QAAgB,EAChB,SAAiB,EACjB,OAAsB;IAEtB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAA;IACvC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,QAAQ,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;QACvD,0EAA0E;QAC1E,yEAAyE;QACzE,IAAI,OAAO,EAAE;YAAE,OAAO,SAAS,CAAA;QAC/B,MAAM,SAAS,GAAG,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACvC,IAAI,SAAS,IAAI,CAAC;YAAE,OAAO,SAAS,CAAA;QACpC,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAA;QAC7D,IAAI,MAAM,CAAC,EAAE;YAAE,OAAO,MAAM,CAAA;IAC9B,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAS,cAAc,CAAC,IAAY,EAAE,OAAoB,EAAE,SAAiB;IAC3E,OAAO,IAAI,OAAO,CAAa,OAAO,CAAC,EAAE;QACvC,MAAM,MAAM,GAAG,gBAAgB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAA;QACrD,MAAM,MAAM,GAAa,EAAE,CAAA;QAC3B,IAAI,QAAQ,GAAG,CAAC,CAAA;QAChB,IAAI,OAAO,GAAG,KAAK,CAAA;QAEnB,MAAM,MAAM,GAAG,CAAC,MAAkB,EAAQ,EAAE;YAC1C,IAAI,OAAO;gBAAE,OAAM;YACnB,OAAO,GAAG,IAAI,CAAA;YACd,YAAY,CAAC,MAAM,CAAC,CAAA;YACpB,MAAM,CAAC,OAAO,EAAE,CAAA;YAChB,OAAO,CAAC,MAAM,CAAC,CAAA;QACjB,CAAC,CAAA;QAED,4EAA4E;QAC5E,mCAAmC;QACnC,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAA;QAC7D,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAA;QACrD,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAA;QAC7C,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAA;QAC3C,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,kBAAkB,EAAE,CAAC,CAAC,CAAA;QAC7F,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YAClC,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAA;YAC5B,IAAI,QAAQ,GAAG,kBAAkB,EAAE,CAAC;gBAClC,MAAM,CAAC,SAAS,CAAC,CAAA;gBACjB,OAAM;YACR,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAClB,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;YACjE,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAA;YAChD,uEAAuE;YACvE,iEAAiE;YACjE,IAAI,GAAG,IAAI,CAAC;gBAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAA;QACrE,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,QAAgB,EAAE,SAAiB;IACpD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAY,CAAA;QAC9C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,EAAE,KAAK,SAAS,IAAI,OAAO,IAAI,MAAM;YAAE,OAAO,SAAS,CAAA;QACvF,OAAO,QAAQ,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;IAC7E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,SAAS,CAAC,MAAe;IAChC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,SAAS,CAAA;IACvC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;IACxB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAA;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;IACxB,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;AACjD,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AAC7E,CAAC"}
@@ -66,6 +66,17 @@ export declare const FALLBACK_HERDR_BIN = "herdr";
66
66
  export declare const RETRY_BASE_MS = 250;
67
67
  /** The longest that wait can grow to, so a down socket is still noticed. */
68
68
  export declare const RETRY_MAX_MS = 8000;
69
+ /**
70
+ * How often a pane that believes it owns its row asks Herdr whether it still does.
71
+ *
72
+ * Herdr holds a claim in its own memory, keyed by source and agent, and any
73
+ * process filing a newer number takes the row over — including one that claims
74
+ * the pane and releases it again on the way out. Nothing arrives as an event
75
+ * when a row is cleared, so a surface that only reported on its own transitions
76
+ * would stay invisible for the rest of its life. The check is a read; only a
77
+ * pane that has lost its row is written to.
78
+ */
79
+ export declare const RECLAIM_INTERVAL_MS = 15000;
69
80
  /** Beyond this a response is a surprise, not an answer. */
70
81
  export declare const MAX_RESPONSE_BYTES: number;
71
82
  export declare const RESPONSE_DELIMITER = "\n";
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/herdr/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,wEAAwE;AACxE,eAAO,MAAM,cAAc,MAAM,CAAA;AAEjC,eAAO,MAAM,aAAa,cAAc,CAAA;AACxC,eAAO,MAAM,iBAAiB,kBAAkB,CAAA;AAChD,eAAO,MAAM,qBAAqB,sBAAsB,CAAA;AACxD,eAAO,MAAM,kBAAkB,mBAAmB,CAAA;AAElD,iFAAiF;AACjF,eAAO,MAAM,WAAW,QAAQ,CAAA;AAEhC;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,mBAAmB,CAAA;AAE5C,gDAAgD;AAChD,eAAO,MAAM,YAAY;;;;CAAoE,CAAA;AAC7F,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAA;AAEzE;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB;;;;;CAAoF,CAAA;AACtH,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,OAAO,qBAAqB,CAAC,CAAA;AAEnG;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe;;;CAAsD,CAAA;AAElF,2EAA2E;AAC3E,eAAO,MAAM,gBAAgB,IAAI,CAAA;AACjC,eAAO,MAAM,kBAAkB,MAAM,CAAA;AAErC,wEAAwE;AACxE,eAAO,MAAM,uBAAuB,MAAM,CAAA;AAE1C,gFAAgF;AAChF,eAAO,MAAM,kBAAkB,UAAU,CAAA;AAEzC,8EAA8E;AAC9E,eAAO,MAAM,aAAa,MAAM,CAAA;AAEhC,4EAA4E;AAC5E,eAAO,MAAM,YAAY,OAAQ,CAAA;AAEjC,2DAA2D;AAC3D,eAAO,MAAM,kBAAkB,QAAY,CAAA;AAC3C,eAAO,MAAM,kBAAkB,OAAO,CAAA;AAEtC;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,KAAK,CAAA;AAE1C;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,MAAM,CAAA;AAE5C;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,KAAK,CAAA;AAEvC;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,SAAS,CAAA;AAEnC;;;;;GAKG;AACH,eAAO,MAAM,cAAc,OAAO,CAAA"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/herdr/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,wEAAwE;AACxE,eAAO,MAAM,cAAc,MAAM,CAAA;AAEjC,eAAO,MAAM,aAAa,cAAc,CAAA;AACxC,eAAO,MAAM,iBAAiB,kBAAkB,CAAA;AAChD,eAAO,MAAM,qBAAqB,sBAAsB,CAAA;AACxD,eAAO,MAAM,kBAAkB,mBAAmB,CAAA;AAElD,iFAAiF;AACjF,eAAO,MAAM,WAAW,QAAQ,CAAA;AAEhC;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,mBAAmB,CAAA;AAE5C,gDAAgD;AAChD,eAAO,MAAM,YAAY;;;;CAAoE,CAAA;AAC7F,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAA;AAEzE;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB;;;;;CAAoF,CAAA;AACtH,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,OAAO,qBAAqB,CAAC,CAAA;AAEnG;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe;;;CAAsD,CAAA;AAElF,2EAA2E;AAC3E,eAAO,MAAM,gBAAgB,IAAI,CAAA;AACjC,eAAO,MAAM,kBAAkB,MAAM,CAAA;AAErC,wEAAwE;AACxE,eAAO,MAAM,uBAAuB,MAAM,CAAA;AAE1C,gFAAgF;AAChF,eAAO,MAAM,kBAAkB,UAAU,CAAA;AAEzC,8EAA8E;AAC9E,eAAO,MAAM,aAAa,MAAM,CAAA;AAEhC,4EAA4E;AAC5E,eAAO,MAAM,YAAY,OAAQ,CAAA;AAEjC;;;;;;;;;GASG;AACH,eAAO,MAAM,mBAAmB,QAAS,CAAA;AAEzC,2DAA2D;AAC3D,eAAO,MAAM,kBAAkB,QAAY,CAAA;AAC3C,eAAO,MAAM,kBAAkB,OAAO,CAAA;AAEtC;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,KAAK,CAAA;AAE1C;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,MAAM,CAAA;AAE5C;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,KAAK,CAAA;AAEvC;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,SAAS,CAAA;AAEnC;;;;;GAKG;AACH,eAAO,MAAM,cAAc,OAAO,CAAA"}
@@ -52,6 +52,17 @@ export const FALLBACK_HERDR_BIN = 'herdr';
52
52
  export const RETRY_BASE_MS = 250;
53
53
  /** The longest that wait can grow to, so a down socket is still noticed. */
54
54
  export const RETRY_MAX_MS = 8_000;
55
+ /**
56
+ * How often a pane that believes it owns its row asks Herdr whether it still does.
57
+ *
58
+ * Herdr holds a claim in its own memory, keyed by source and agent, and any
59
+ * process filing a newer number takes the row over — including one that claims
60
+ * the pane and releases it again on the way out. Nothing arrives as an event
61
+ * when a row is cleared, so a surface that only reported on its own transitions
62
+ * would stay invisible for the rest of its life. The check is a read; only a
63
+ * pane that has lost its row is written to.
64
+ */
65
+ export const RECLAIM_INTERVAL_MS = 15_000;
55
66
  /** Beyond this a response is a surprise, not an answer. */
56
67
  export const MAX_RESPONSE_BYTES = 64 * 1024;
57
68
  export const RESPONSE_DELIMITER = '\n';
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/herdr/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,wEAAwE;AACxE,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAA;AAEjC,MAAM,CAAC,MAAM,aAAa,GAAG,WAAW,CAAA;AACxC,MAAM,CAAC,MAAM,iBAAiB,GAAG,eAAe,CAAA;AAChD,MAAM,CAAC,MAAM,qBAAqB,GAAG,mBAAmB,CAAA;AACxD,MAAM,CAAC,MAAM,kBAAkB,GAAG,gBAAgB,CAAA;AAElD,iFAAiF;AACjF,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,CAAA;AAEhC;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,gBAAgB,CAAA;AAE5C,gDAAgD;AAChD,MAAM,CAAC,MAAM,YAAY,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAW,CAAA;AAG7F;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAW,CAAA;AAGtH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,SAAS,EAAW,CAAA;AAElF,2EAA2E;AAC3E,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAA;AACjC,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAA;AAErC,wEAAwE;AACxE,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAA;AAE1C,gFAAgF;AAChF,MAAM,CAAC,MAAM,kBAAkB,GAAG,OAAO,CAAA;AAEzC,8EAA8E;AAC9E,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAA;AAEhC,4EAA4E;AAC5E,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,CAAA;AAEjC,2DAA2D;AAC3D,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,GAAG,IAAI,CAAA;AAC3C,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAA;AAEtC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAA;AAE1C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,CAAA;AAE5C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAA;AAEvC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAA;AAEnC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAA"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/herdr/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,wEAAwE;AACxE,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAA;AAEjC,MAAM,CAAC,MAAM,aAAa,GAAG,WAAW,CAAA;AACxC,MAAM,CAAC,MAAM,iBAAiB,GAAG,eAAe,CAAA;AAChD,MAAM,CAAC,MAAM,qBAAqB,GAAG,mBAAmB,CAAA;AACxD,MAAM,CAAC,MAAM,kBAAkB,GAAG,gBAAgB,CAAA;AAElD,iFAAiF;AACjF,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,CAAA;AAEhC;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,gBAAgB,CAAA;AAE5C,gDAAgD;AAChD,MAAM,CAAC,MAAM,YAAY,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAW,CAAA;AAG7F;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAW,CAAA;AAGtH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,SAAS,EAAW,CAAA;AAElF,2EAA2E;AAC3E,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAA;AACjC,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAA;AAErC,wEAAwE;AACxE,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAA;AAE1C,gFAAgF;AAChF,MAAM,CAAC,MAAM,kBAAkB,GAAG,OAAO,CAAA;AAEzC,8EAA8E;AAC9E,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAA;AAEhC,4EAA4E;AAC5E,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,CAAA;AAEjC;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAA;AAEzC,2DAA2D;AAC3D,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,GAAG,IAAI,CAAA;AAC3C,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAA;AAEtC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAA;AAE1C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,CAAA;AAE5C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAA;AAEvC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAA;AAEnC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAA"}
@@ -22,6 +22,14 @@ export interface HerdrReporterOptions {
22
22
  readonly releaseSync?: () => void;
23
23
  /** The first retry wait; a test cannot wait a socket out. */
24
24
  readonly retryBaseMs?: number | undefined;
25
+ /**
26
+ * How often the pane checks that it still owns its row; zero stops checking.
27
+ *
28
+ * The wait only has to be short enough that a reader who looks at the picker
29
+ * after a multiplexer restart sees the pane rather than nothing, and long
30
+ * enough that an idle pane is not talking to itself.
31
+ */
32
+ readonly reclaimIntervalMs?: number | undefined;
25
33
  }
26
34
  export interface HerdrReporter {
27
35
  readonly enabled: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"reporter.d.ts","sourceRoot":"","sources":["../../src/herdr/reporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAqB,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAA;AACxF,OAAO,EAaL,KAAK,kBAAkB,EACxB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAML,KAAK,YAAY,EAElB,MAAM,YAAY,CAAA;AAEnB,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAA;CACpC;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;IAC7B,QAAQ,CAAC,GAAG,CAAC,EAAE,gBAAgB,CAAA;IAC/B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAA;IACjC,6DAA6D;IAC7D,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC1C;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAA;IAClC,8EAA8E;IAC9E,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IAClC;;;;;;;;OAQG;IACH,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACzC,wEAAwE;IACxE,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,kEAAkE;IAClE,OAAO,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAAA;IACvC,2DAA2D;IAC3D,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;IAC9B,gEAAgE;IAChE,WAAW,IAAI,IAAI,CAAA;IACnB,sEAAsE;IACtE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACxB,gEAAgE;IAChE,mBAAmB,IAAI,MAAM,IAAI,CAAA;CAClC;AAED,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,oBAAyB,GAAG,aAAa,CAkNrF;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAczE"}
1
+ {"version":3,"file":"reporter.d.ts","sourceRoot":"","sources":["../../src/herdr/reporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAqB,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAA;AACxF,OAAO,EAcL,KAAK,kBAAkB,EACxB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAML,KAAK,YAAY,EAElB,MAAM,YAAY,CAAA;AAEnB,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAA;CACpC;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;IAC7B,QAAQ,CAAC,GAAG,CAAC,EAAE,gBAAgB,CAAA;IAC/B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAA;IACjC,6DAA6D;IAC7D,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACzC;;;;;;OAMG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAChD;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAA;IAClC,8EAA8E;IAC9E,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IAClC;;;;;;;;OAQG;IACH,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACzC,wEAAwE;IACxE,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,kEAAkE;IAClE,OAAO,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAAA;IACvC,2DAA2D;IAC3D,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;IAC9B,gEAAgE;IAChE,WAAW,IAAI,IAAI,CAAA;IACnB,sEAAsE;IACtE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACxB,gEAAgE;IAChE,mBAAmB,IAAI,MAAM,IAAI,CAAA;CAClC;AAED,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,oBAAyB,GAAG,aAAa,CAwQrF;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAczE"}
@@ -9,7 +9,7 @@
9
9
  */
10
10
  import { spawnSync } from 'node:child_process';
11
11
  import { createHerdrClient } from "./client.js";
12
- import { EXIT_RELEASE_TIMEOUT_MS, FALLBACK_HERDR_BIN, HERDR_AGENT, HERDR_BIN_PATH_VAR, HERDR_ENV_FLAG, HERDR_ENV_VAR, HERDR_PANE_ID_VAR, HERDR_SOCKET_PATH_VAR, HERDR_SOURCE, METADATA_TOKENS, RETRY_BASE_MS, RETRY_MAX_MS, } from "./constants.js";
12
+ import { EXIT_RELEASE_TIMEOUT_MS, FALLBACK_HERDR_BIN, HERDR_AGENT, HERDR_BIN_PATH_VAR, HERDR_ENV_FLAG, HERDR_ENV_VAR, HERDR_PANE_ID_VAR, HERDR_SOCKET_PATH_VAR, HERDR_SOURCE, METADATA_TOKENS, RECLAIM_INTERVAL_MS, RETRY_BASE_MS, RETRY_MAX_MS, } from "./constants.js";
13
13
  import { boundedMessage, createReportSequence, isReportChange, lifecycleReport, stateLabelFor, } from "./state.js";
14
14
  export function createHerdrReporter(options = {}) {
15
15
  const env = options.env ?? process.env;
@@ -50,6 +50,9 @@ export function createHerdrReporter(options = {}) {
50
50
  let retryTimer;
51
51
  let retryAttempt = 0;
52
52
  let releasing;
53
+ let reclaimTimer;
54
+ /** One check at a time: a slow answer must not stack reads behind it. */
55
+ let reclaiming = false;
53
56
  const owed = () => (wantedState !== undefined && !stateSent) ||
54
57
  (wantedSession !== undefined && !sessionSent) ||
55
58
  (wantedMetadata !== undefined && !metadataSent) ||
@@ -141,6 +144,56 @@ export function createHerdrReporter(options = {}) {
141
144
  });
142
145
  }
143
146
  };
147
+ /**
148
+ * Claim the pane again when Herdr no longer shows the row.
149
+ *
150
+ * A row can go away without a single report failing: the multiplexer
151
+ * restarted and lost every claim it held, or a process that borrowed this pane
152
+ * claimed the row and released it on its way out with a number that beats
153
+ * every report this surface already made. Nothing announces either, so the
154
+ * pane is asked instead, and only a pane that really has no row is written to
155
+ * — a write for nothing would raise the reader's attention again.
156
+ */
157
+ const reclaim = async () => {
158
+ if (released || reclaiming || !client.enabled)
159
+ return;
160
+ reclaiming = true;
161
+ try {
162
+ const row = await client.readRow();
163
+ // `unknown` is a server that did not answer, which is not evidence of a
164
+ // lost row, and `other` is a claim another source owns and can clear.
165
+ if (row !== 'none')
166
+ return;
167
+ stateSent = false;
168
+ sessionSent = false;
169
+ metadataSent = false;
170
+ // Only a label Herdr is meant to be showing is owed again: a row that is
171
+ // gone holds no label, and a surface with no label to offer has nothing
172
+ // to clear.
173
+ labelSent = wantedLabel === undefined;
174
+ flush();
175
+ }
176
+ finally {
177
+ reclaiming = false;
178
+ }
179
+ };
180
+ const startReclaim = () => {
181
+ if (reclaimTimer !== undefined || released || !client.enabled)
182
+ return;
183
+ const interval = options.reclaimIntervalMs ?? RECLAIM_INTERVAL_MS;
184
+ if (interval <= 0)
185
+ return;
186
+ reclaimTimer = setInterval(() => void reclaim(), interval);
187
+ // Never a reason for the process to stay alive: the pane's exit is what
188
+ // hands the row back.
189
+ reclaimTimer.unref();
190
+ };
191
+ const stopReclaim = () => {
192
+ if (reclaimTimer === undefined)
193
+ return;
194
+ clearInterval(reclaimTimer);
195
+ reclaimTimer = undefined;
196
+ };
144
197
  const reporter = {
145
198
  enabled: client.enabled,
146
199
  driver(status) {
@@ -170,6 +223,9 @@ export function createHerdrReporter(options = {}) {
170
223
  // Forced: a switch can land on the state Herdr already shows, and the
171
224
  // session identity is part of what the pane means.
172
225
  reporter.publish(true);
226
+ // A pane that has a session is one a reader can be sent back to, so it is
227
+ // worth the read that proves the row is still there.
228
+ startReclaim();
173
229
  },
174
230
  publish(force = false) {
175
231
  const next = lifecycleReport({ blockedCount: waits.size, blockedMessage: [...waits.values()].at(-1), driverRunning, backgroundRunning });
@@ -194,6 +250,7 @@ export function createHerdrReporter(options = {}) {
194
250
  return;
195
251
  released = true;
196
252
  cancelRetry();
253
+ stopReclaim();
197
254
  // Nothing may be reported after this: the pane is no longer an agent, and
198
255
  // a report that landed later would claim the row back for a process that
199
256
  // is on its way out.
@@ -1 +1 @@
1
- {"version":3,"file":"reporter.js","sourceRoot":"","sources":["../../src/herdr/reporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reporter.js","sourceRoot":"","sources":["../../src/herdr/reporter.ts"],"names":[],"mappings":"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"}
@@ -78,11 +78,15 @@ export declare function sessionStartReason(input: SessionStartFacts): SessionSta
78
78
  /** Whether a report would say something Herdr is not already showing. */
79
79
  export declare function isReportChange(last: LifecycleReport | undefined, next: LifecycleReport): boolean;
80
80
  /**
81
- * Monotonic report sequence numbers.
81
+ * Monotonic report sequence numbers, anchored at the moment each one goes out.
82
82
  *
83
- * The clock is the base rather than zero because a restarted surface must not
84
- * replay numbers this pane already used: Herdr would read them as stale and
85
- * keep showing the state from before the restart.
83
+ * Herdr keeps the newest number filed per source and drops anything older, so a
84
+ * number tied to the moment this process started loses to every report a later
85
+ * process made: a surface that stays up across a multiplexer restart, or across
86
+ * another process claiming and releasing the same pane, would never win its own
87
+ * row back. Reading the clock at each call fixes that, and the running maximum
88
+ * keeps numbers moving forward anyway — a clock that steps backwards must not
89
+ * hand Herdr a number it has already seen.
86
90
  */
87
91
  export declare function createReportSequence(now: () => number): () => number;
88
92
  //# sourceMappingURL=state.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/herdr/state.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAML,KAAK,UAAU,EACf,KAAK,kBAAkB,EACxB,MAAM,gBAAgB,CAAA;AAEvB,4DAA4D;AAC5D,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAC1B;AACD;;;;;;;GAOG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,SAAS,CAAA;AAe7C;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAQ7F;AAED,2CAA2C;AAC3C,MAAM,WAAW,cAAc;IAC7B,oEAAoE;IACpE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3C,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAA;IAC/B,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAA;CACpC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;CACrC;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,cAAc,GAAG,eAAe,CAItE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS,CAGzE;AAQD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,GAAG,kBAAkB,CAG/E;AAED,yEAAyE;AACzE,wBAAgB,cAAc,CAAC,IAAI,EAAE,eAAe,GAAG,SAAS,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAEhG;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,MAAM,GAAG,MAAM,MAAM,CAMpE"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/herdr/state.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAML,KAAK,UAAU,EACf,KAAK,kBAAkB,EACxB,MAAM,gBAAgB,CAAA;AAEvB,4DAA4D;AAC5D,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAC1B;AACD;;;;;;;GAOG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,SAAS,CAAA;AAe7C;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAQ7F;AAED,2CAA2C;AAC3C,MAAM,WAAW,cAAc;IAC7B,oEAAoE;IACpE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3C,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAA;IAC/B,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAA;CACpC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;CACrC;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,cAAc,GAAG,eAAe,CAItE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS,CAGzE;AAQD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,GAAG,kBAAkB,CAG/E;AAED,yEAAyE;AACzE,wBAAgB,cAAc,CAAC,IAAI,EAAE,eAAe,GAAG,SAAS,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAEhG;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,MAAM,GAAG,MAAM,MAAM,CAMpE"}
@@ -96,16 +96,20 @@ export function isReportChange(last, next) {
96
96
  return last === undefined || last.state !== next.state || last.message !== next.message;
97
97
  }
98
98
  /**
99
- * Monotonic report sequence numbers.
99
+ * Monotonic report sequence numbers, anchored at the moment each one goes out.
100
100
  *
101
- * The clock is the base rather than zero because a restarted surface must not
102
- * replay numbers this pane already used: Herdr would read them as stale and
103
- * keep showing the state from before the restart.
101
+ * Herdr keeps the newest number filed per source and drops anything older, so a
102
+ * number tied to the moment this process started loses to every report a later
103
+ * process made: a surface that stays up across a multiplexer restart, or across
104
+ * another process claiming and releasing the same pane, would never win its own
105
+ * row back. Reading the clock at each call fixes that, and the running maximum
106
+ * keeps numbers moving forward anyway — a clock that steps backwards must not
107
+ * hand Herdr a number it has already seen.
104
108
  */
105
109
  export function createReportSequence(now) {
106
- let sequence = now() * SEQ_TIME_SCALE;
110
+ let sequence = 0;
107
111
  return () => {
108
- sequence += 1;
112
+ sequence = Math.max(sequence + 1, now() * SEQ_TIME_SCALE);
109
113
  return sequence;
110
114
  };
111
115
  }
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/herdr/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/herdr/state.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,YAAY,EACZ,yBAAyB,EACzB,qBAAqB,EACrB,cAAc,EACd,qBAAqB,GAGtB,MAAM,gBAAgB,CAAA;AAiBvB;;;;;;;;GAQG;AACH,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;AACpE,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,eAAe,CAAC,OAAgB,EAAE,SAAiB;IACjE,MAAM,MAAM,GAAG,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAE,OAAmC,CAAC,CAAC,CAAC,SAAS,CAAA;IACjH,MAAM,KAAK,GAAG,MAAM,EAAE,KAAK,CAAA;IAC3B,MAAM,OAAO,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAE,KAAiC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;IAC/G,4EAA4E;IAC5E,oDAAoD;IACpD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IAC1E,OAAO,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AACvC,CAAC;AAgBD;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,KAAqB;IACnD,IAAI,KAAK,CAAC,YAAY,GAAG,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,cAAc,EAAE,CAAA;IACjG,IAAI,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,iBAAiB;QAAE,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAA;IAC9G,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAA;AACzD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,OAAe;IAC5C,OAAO,OAAO,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAA;AACpD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,MAAuB;IACnD,IAAI,MAAM,CAAC,KAAK,KAAK,YAAY,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IAC3F,OAAO,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAA;AACvD,CAAC;AAED,qFAAqF;AACrF,SAAS,OAAO,CAAC,IAAY,EAAE,KAAa;IAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;IACjD,OAAO,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,GAAG,CAAA;AAC9E,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAwB;IACzD,IAAI,KAAK,CAAC,MAAM;QAAE,OAAO,qBAAqB,CAAC,IAAI,CAAA;IACnD,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAA;AACrF,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,cAAc,CAAC,IAAiC,EAAE,IAAqB;IACrF,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAA;AACzF,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAiB;IACpD,IAAI,QAAQ,GAAG,CAAC,CAAA;IAChB,OAAO,GAAG,EAAE;QACV,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,cAAc,CAAC,CAAA;QACzD,OAAO,QAAQ,CAAA;IACjB,CAAC,CAAA;AACH,CAAC"}
@@ -0,0 +1,27 @@
1
+ import type { PresetDefinition } from '@deepseek-ai/dsh-agent-preset-registry';
2
+ /**
3
+ * The agent modes this bundle ships, read from the same files the harness's own
4
+ * bundles declare.
5
+ *
6
+ * A mode names a selection, not a composition: the rows that make up an agent's
7
+ * tools, prompt sections, skills, and planning belong to the bundle shipping
8
+ * each of them, so a mode that listed them would mount plugins this bundle does
9
+ * not own — a second registration of what the profile already composed. These
10
+ * files therefore carry the preset declaration alone.
11
+ *
12
+ * The harness keeps one row per mode, and each surface bundle owns its own rows:
13
+ * the browser bundle keeps them in its patch layer. A patch row here would be
14
+ * mounted before any service exists, so the files travel with this package and
15
+ * are parsed at the moment the roster row applies them to the hosting registry.
16
+ */
17
+ /** Modes this bundle ships, in the order the picker lists them. */
18
+ export declare const PRESET_FILES: readonly ["standard", "ptc", "minimal", "cordis"];
19
+ /**
20
+ * Read every shipped mode.
21
+ *
22
+ * A parse failure is not swallowed: a mode that cannot be read would vanish from
23
+ * the roster without saying so, and a session that starts in it would fail with
24
+ * no cause on screen.
25
+ */
26
+ export declare function loadPresetDefinitions(): readonly PresetDefinition[];
27
+ //# sourceMappingURL=preset-files.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preset-files.d.ts","sourceRoot":"","sources":["../../src/host/preset-files.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AAG9E;;;;;;;;;;;;;;GAcG;AAEH,mEAAmE;AACnE,eAAO,MAAM,YAAY,mDAAoD,CAAA;AAK7E;;;;;;GAMG;AACH,wBAAgB,qBAAqB,IAAI,SAAS,gBAAgB,EAAE,CAQnE"}
@@ -0,0 +1,40 @@
1
+ import { readFileSync } from 'node:fs';
2
+ import { fileURLToPath } from 'node:url';
3
+ import { load as parseYaml } from 'js-yaml';
4
+ /**
5
+ * The agent modes this bundle ships, read from the same files the harness's own
6
+ * bundles declare.
7
+ *
8
+ * A mode names a selection, not a composition: the rows that make up an agent's
9
+ * tools, prompt sections, skills, and planning belong to the bundle shipping
10
+ * each of them, so a mode that listed them would mount plugins this bundle does
11
+ * not own — a second registration of what the profile already composed. These
12
+ * files therefore carry the preset declaration alone.
13
+ *
14
+ * The harness keeps one row per mode, and each surface bundle owns its own rows:
15
+ * the browser bundle keeps them in its patch layer. A patch row here would be
16
+ * mounted before any service exists, so the files travel with this package and
17
+ * are parsed at the moment the roster row applies them to the hosting registry.
18
+ */
19
+ /** Modes this bundle ships, in the order the picker lists them. */
20
+ export const PRESET_FILES = ['standard', 'ptc', 'minimal', 'cordis'];
21
+ /** Where a packed install keeps them: beside `lib`, as the manifest declares. */
22
+ const presetDirectory = new URL('../../presets/', import.meta.url);
23
+ /**
24
+ * Read every shipped mode.
25
+ *
26
+ * A parse failure is not swallowed: a mode that cannot be read would vanish from
27
+ * the roster without saying so, and a session that starts in it would fail with
28
+ * no cause on screen.
29
+ */
30
+ export function loadPresetDefinitions() {
31
+ return PRESET_FILES.map((mode) => {
32
+ const file = fileURLToPath(new URL(`${mode}.patch.yml`, presetDirectory));
33
+ const document = parseYaml(readFileSync(file, 'utf8'));
34
+ const rows = document.flatMap((entry) => entry?.insert ?? []);
35
+ if (rows.length !== 1)
36
+ throw new Error(`${file}: expected one preset row, found ${rows.length}`);
37
+ return rows[0]?.config;
38
+ });
39
+ }
40
+ //# sourceMappingURL=preset-files.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preset-files.js","sourceRoot":"","sources":["../../src/host/preset-files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAExC,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,SAAS,CAAA;AAE3C;;;;;;;;;;;;;;GAcG;AAEH,mEAAmE;AACnE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAU,CAAA;AAE7E,iFAAiF;AACjF,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAElE;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC/B,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,YAAY,EAAE,eAAe,CAAC,CAAC,CAAA;QACzE,MAAM,QAAQ,GAAG,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAA4D,CAAA;QACjH,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,IAAI,EAAE,CAAC,CAAA;QAC7D,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,oCAAoC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;QAChG,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,MAA0B,CAAA;IAC5C,CAAC,CAAC,CAAA;AACJ,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { Context } from '@deepseek-ai/cordis';
2
+ /**
3
+ * The roster of agent modes, mounted for the supported harness line.
4
+ *
5
+ * This bundle owns the modes a terminal profile offers, and the line keeps them in
6
+ * two places: a registry row owns the `agentPresets` service, and one row per mode
7
+ * declares the mode itself. The patch layer cannot mount either of them: a patch
8
+ * row is mounted before any service exists, and the modes arrive as the harness's
9
+ * own agent services come up, so the surface that waits on the roster would be
10
+ * built before it. Mounting from this row keeps the surface's check honest — the
11
+ * composition either publishes the roster or reports which service never arrived.
12
+ */
13
+ export declare const name = "tui-host-roster";
14
+ /** The mode a session runs when nobody names one, as the shipped modes order them. */
15
+ export declare const DEFAULT_PRESET = "ptc";
16
+ export declare function apply(ctx: Context): Promise<void>;
17
+ //# sourceMappingURL=roster.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roster.d.ts","sourceRoot":"","sources":["../../src/host/roster.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAGlD;;;;;;;;;;GAUG;AAEH,eAAO,MAAM,IAAI,oBAAoB,CAAA;AAErC,sFAAsF;AACtF,eAAO,MAAM,cAAc,QAAQ,CAAA;AAiBnC,wBAAsB,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAWvD"}
@@ -0,0 +1,42 @@
1
+ import { loadPresetDefinitions } from "./preset-files.js";
2
+ /**
3
+ * The roster of agent modes, mounted for the supported harness line.
4
+ *
5
+ * This bundle owns the modes a terminal profile offers, and the line keeps them in
6
+ * two places: a registry row owns the `agentPresets` service, and one row per mode
7
+ * declares the mode itself. The patch layer cannot mount either of them: a patch
8
+ * row is mounted before any service exists, and the modes arrive as the harness's
9
+ * own agent services come up, so the surface that waits on the roster would be
10
+ * built before it. Mounting from this row keeps the surface's check honest — the
11
+ * composition either publishes the roster or reports which service never arrived.
12
+ */
13
+ export const name = 'tui-host-roster';
14
+ /** The mode a session runs when nobody names one, as the shipped modes order them. */
15
+ export const DEFAULT_PRESET = 'ptc';
16
+ /**
17
+ * Wait until a roster is really published.
18
+ *
19
+ * The registry row provides its service from its own asynchronous apply, and the
20
+ * surface is built as soon as the harness's agent services are up. Waiting here
21
+ * rather than letting the surface tolerate a roster that is not up yet is what
22
+ * keeps the surface's own capability check from mistaking a missing roster for a
23
+ * host that never offered one.
24
+ */
25
+ function whenRosterIsUp(ctx) {
26
+ return new Promise((resolve) => {
27
+ ctx.inject(['agentPresets'], () => resolve());
28
+ });
29
+ }
30
+ export async function apply(ctx) {
31
+ const { default: registry } = await import('@deepseek-ai/dsh-agent-preset-registry');
32
+ // The registry takes the fallback mode as its own config field and publishes its
33
+ // service without the schema step a partial row config would need.
34
+ ctx.plugin(registry, { default: DEFAULT_PRESET });
35
+ const { default: preset } = await import('@deepseek-ai/dsh-agent-preset');
36
+ // A mode registers itself inside its own row's apply: awaiting them here is what
37
+ // makes this row mean "the roster this profile offers" rather than "the rows it
38
+ // asked for", for every reader that comes after it.
39
+ await Promise.all(loadPresetDefinitions().map(definition => ctx.plugin(preset, definition)));
40
+ await whenRosterIsUp(ctx);
41
+ }
42
+ //# sourceMappingURL=roster.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roster.js","sourceRoot":"","sources":["../../src/host/roster.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAEzD;;;;;;;;;;GAUG;AAEH,MAAM,CAAC,MAAM,IAAI,GAAG,iBAAiB,CAAA;AAErC,sFAAsF;AACtF,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,CAAA;AAEnC;;;;;;;;GAQG;AACH,SAAS,cAAc,CAAC,GAAY;IAClC,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QACnC,GAAG,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAA;IAC/C,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,GAAY;IACtC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,wCAAwC,CAAC,CAAA;IACpF,iFAAiF;IACjF,mEAAmE;IACnE,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAA;IACjD,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAA;IACzE,iFAAiF;IACjF,gFAAgF;IAChF,oDAAoD;IACpD,MAAM,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAA;IAC5F,MAAM,cAAc,CAAC,GAAG,CAAC,CAAA;AAC3B,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { Context } from '@deepseek-ai/cordis';
2
+ /**
3
+ * The dynamic-plugin runner, which is what lets a session compose plugins at run
4
+ * time — the machinery behind creator mode.
5
+ *
6
+ * Only the Web bundle ships this row, so a terminal profile has to mount it to
7
+ * offer that mode at all. The dependency is plain rather than an alias of its own
8
+ * line: the runner is what reports the hosting runtime version to every row it
9
+ * mounts, so a second copy of the package in a profile — which a per-line alias
10
+ * exists to create — is what makes a host read itself as another release and
11
+ * disable its own rows as incompatible.
12
+ */
13
+ export declare const name = "tui-host-runner";
14
+ export declare function apply(ctx: Context): Promise<void>;
15
+ //# sourceMappingURL=runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/host/runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD;;;;;;;;;;GAUG;AAEH,eAAO,MAAM,IAAI,oBAAoB,CAAA;AAErC,wBAAsB,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAGvD"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * The dynamic-plugin runner, which is what lets a session compose plugins at run
3
+ * time — the machinery behind creator mode.
4
+ *
5
+ * Only the Web bundle ships this row, so a terminal profile has to mount it to
6
+ * offer that mode at all. The dependency is plain rather than an alias of its own
7
+ * line: the runner is what reports the hosting runtime version to every row it
8
+ * mounts, so a second copy of the package in a profile — which a per-line alias
9
+ * exists to create — is what makes a host read itself as another release and
10
+ * disable its own rows as incompatible.
11
+ */
12
+ export const name = 'tui-host-runner';
13
+ export async function apply(ctx) {
14
+ const { default: runner } = await import('@deepseek-ai/dsh-cordis-host-runner');
15
+ ctx.plugin(runner);
16
+ }
17
+ //# sourceMappingURL=runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/host/runner.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAEH,MAAM,CAAC,MAAM,IAAI,GAAG,iBAAiB,CAAA;AAErC,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,GAAY;IACtC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,qCAAqC,CAAC,CAAA;IAC/E,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;AACpB,CAAC"}
package/lib/index.d.ts CHANGED
@@ -6,7 +6,10 @@ export declare const name = "tui";
6
6
  *
7
7
  * `tools` is what lets a card read its tool's own render intent; a context that
8
8
  * has not injected it throws on the property read, which silently degraded
9
- * every card to a bare generic row.
9
+ * every card to a bare generic row. `agentPresets` is the roster this bundle
10
+ * mounts: the host row that provides it applies only once the harness's settings
11
+ * exist, which is after `agents` and `tools` come up, so without it here the
12
+ * surface would refuse to build against a roster that is simply not up yet.
10
13
  */
11
14
  export declare const inject: string[];
12
15
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAQlD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AA8BpC,eAAO,MAAM,IAAI,QAAQ,CAAA;AAEzB;;;;;;GAMG;AACH,eAAO,MAAM,MAAM,UAAsB,CAAA;AAoBzC;;;;;;GAMG;AACH,wBAAgB,yBAAyB,IAAI,IAAI,CAIhD;AAED;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAkazD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAQlD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AA8BpC,eAAO,MAAM,IAAI,QAAQ,CAAA;AAEzB;;;;;;;;;GASG;AACH,eAAO,MAAM,MAAM,UAAsC,CAAA;AAoBzD;;;;;;GAMG;AACH,wBAAgB,yBAAyB,IAAI,IAAI,CAIhD;AAED;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAkazD"}
package/lib/index.js CHANGED
@@ -38,9 +38,12 @@ export const name = 'tui';
38
38
  *
39
39
  * `tools` is what lets a card read its tool's own render intent; a context that
40
40
  * has not injected it throws on the property read, which silently degraded
41
- * every card to a bare generic row.
41
+ * every card to a bare generic row. `agentPresets` is the roster this bundle
42
+ * mounts: the host row that provides it applies only once the harness's settings
43
+ * exist, which is after `agents` and `tools` come up, so without it here the
44
+ * surface would refuse to build against a roster that is simply not up yet.
42
45
  */
43
- export const inject = ['agents', 'tools'];
46
+ export const inject = ['agents', 'tools', 'agentPresets'];
44
47
  /**
45
48
  * Refuse to run without a real terminal.
46
49
  *