dsh-ssh-tui 0.7.1 → 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 (63) hide show
  1. package/README.en.md +76 -7
  2. package/README.md +50 -7
  3. package/lib/approval-cache.js +12 -9
  4. package/lib/approval-cache.js.map +1 -1
  5. package/lib/color-depth.js +10 -4
  6. package/lib/color-depth.js.map +1 -1
  7. package/lib/diag.js +41 -17
  8. package/lib/diag.js.map +1 -1
  9. package/lib/dialogs.js.map +1 -1
  10. package/lib/display-sock.js +68 -10
  11. package/lib/display-sock.js.map +1 -1
  12. package/lib/footer.js +35 -7
  13. package/lib/footer.js.map +1 -1
  14. package/lib/gateway-protocol.js +202 -0
  15. package/lib/gateway-protocol.js.map +1 -0
  16. package/lib/i18n/en.js +61 -41
  17. package/lib/i18n/en.js.map +1 -1
  18. package/lib/i18n/zh.js +61 -41
  19. package/lib/i18n/zh.js.map +1 -1
  20. package/lib/index.js +99 -23
  21. package/lib/index.js.map +1 -1
  22. package/lib/job-label.js +99 -17
  23. package/lib/job-label.js.map +1 -1
  24. package/lib/plan.js +269 -17
  25. package/lib/plan.js.map +1 -1
  26. package/lib/platform.js +88 -0
  27. package/lib/platform.js.map +1 -0
  28. package/lib/provider-catalog.js +3 -0
  29. package/lib/provider-catalog.js.map +1 -1
  30. package/lib/route-memory.js +8 -1
  31. package/lib/route-memory.js.map +1 -1
  32. package/lib/session-list.js +18 -1
  33. package/lib/session-list.js.map +1 -1
  34. package/lib/session-lock.js +75 -23
  35. package/lib/session-lock.js.map +1 -1
  36. package/lib/session-route.js +331 -0
  37. package/lib/session-route.js.map +1 -0
  38. package/lib/subagent-model.js +79 -1
  39. package/lib/subagent-model.js.map +1 -1
  40. package/lib/term-text.js +7 -4
  41. package/lib/term-text.js.map +1 -1
  42. package/lib/tool-present.js +46 -14
  43. package/lib/tool-present.js.map +1 -1
  44. package/lib/tui.js +1789 -275
  45. package/lib/tui.js.map +1 -1
  46. package/lib/types/color-depth.d.ts +3 -3
  47. package/lib/types/dialogs.d.ts +4 -0
  48. package/lib/types/display-sock.d.ts +52 -1
  49. package/lib/types/footer.d.ts +18 -4
  50. package/lib/types/gateway-protocol.d.ts +88 -0
  51. package/lib/types/job-label.d.ts +38 -7
  52. package/lib/types/plan.d.ts +94 -4
  53. package/lib/types/platform.d.ts +50 -0
  54. package/lib/types/route-memory.d.ts +17 -22
  55. package/lib/types/session-list.d.ts +5 -0
  56. package/lib/types/session-lock.d.ts +9 -0
  57. package/lib/types/session-route.d.ts +191 -0
  58. package/lib/types/subagent-model.d.ts +53 -0
  59. package/lib/types/term-text.d.ts +3 -2
  60. package/lib/types/tool-present.d.ts +2 -17
  61. package/lib/types/transcript-types.d.ts +44 -1
  62. package/lib/types/tui.d.ts +292 -2
  63. package/package.json +1 -1
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,qBAAqB,EAAiE,MAAM,wBAAwB,CAAA;AAG7H,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAEpE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEtC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,IAAI,MAAM,SAAS,CAAA;AAE1B,qFAAqF;AACrF,SAAS,wBAAwB;IAC/B,MAAM,IAAI,GAAG,cAAc,EAAE,CAAA;IAC7B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,MAAM,CAAC,CAAY,CAAA;QACtF,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,SAAS,CAAA;QAC5F,MAAM,OAAO,GAAI,MAAkC,CAAC,qBAAqB,CAAC,CAAA;QAC1E,OAAO,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YAC/E,CAAC,CAAC,OAAkC;YACpC,CAAC,CAAC,SAAS,CAAA;IACf,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC;AACD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,6EAA6E;AAC7E,0EAA0E;AAC1E,OAAO,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAsB,MAAM,UAAU,CAAA;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,GAEjB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,cAAc,EACd,qBAAqB,GACtB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,gBAAgB,EAA0B,MAAM,mBAAmB,CAAA;AACvH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,CAAC,EAAE,MAAM,iBAAiB,CAAA;AAGpD,MAAM,CAAC,MAAM,IAAI,GAAG,SAAS,CAAA;AAE7B,6EAA6E;AAC7E,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAA;AAErD,gFAAgF;AAChF,+EAA+E;AAC/E,iDAAiD;AACjD,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAqBzE;;;;;GAKG;AACH,MAAM,UAAU,KAAK,CAAC,GAAY,EAAE,MAAc;IAChD,MAAM,WAAW,GAAG,gBAAgB,EAAE,CAAA;IACtC,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACpE,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAA;IAChG,CAAC;IACD,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAA;IACtD,kBAAkB,CAAC,GAAG,CAAC,CAAA;IACvB,eAAe,CAAC,GAAG,CAAC,CAAA;IACpB,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE;QACd,IAAI,QAAQ,GAAG,KAAK,CAAA;QACpB,IAAI,MAA+B,CAAA;QACnC,IAAI,UAAqC,CAAA;QACzC,IAAI,mBAAuC,CAAA;QAC3C,IAAI,mBAAgD,CAAA;QACpD,IAAI,YAAY,GAAG,KAAK,CAAA;QAExB,MAAM,eAAe,GAAG,KAAK,IAAmB,EAAE;YAChD,MAAM,IAAI,GAAG,mBAAmB,CAAA;YAChC,mBAAmB,GAAG,SAAS,CAAA;YAC/B,mBAAmB,GAAG,SAAS,CAAA;YAC/B,IAAI,IAAI,KAAK,SAAS;gBAAE,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAA;QACxD,CAAC,CAAA;QAED,MAAM,eAAe,GAAG,KAAK,EAAE,SAAiB,EAAiB,EAAE;YACjE,IAAI,mBAAmB,EAAE;gBAAE,OAAM;YACjC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,kBAAkB,CAAC,SAAS,EAAE;gBACzD,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG;gBAC3C,KAAK,EAAE,UAAU;gBACjB,WAAW,EAAE,MAAM;gBACnB,gBAAgB,EAAE,OAAO;aAC1B,CAAC,CAAA;YACF,mBAAmB,GAAG,IAAI,CAAA;YAC1B,mBAAmB,GAAG,IAAI,CAAA;QAC5B,CAAC,CAAA;QAED,MAAM,SAAS,GAAG,KAAK,EAAE,KAA+B,EAAiB,EAAE;YACzE,MAAM,IAAI,GAAG,mBAAmB,CAAA;YAChC,MAAM,OAAO,GAAG,mBAAmB,CAAA;YACnC,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS;gBAAE,OAAM;YACvD,MAAM,IAAI,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,KAAK,EAAE,CAAA;YACrC,mBAAmB,GAAG,IAAI,CAAA;YAC1B,IAAI,CAAC;gBACH,MAAM,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;YACpC,CAAC;YAAC,MAAM,CAAC;gBACP,0CAA0C;YAC5C,CAAC;QACH,CAAC,CAAA;QAED,IAAI,YAA4C,CAAA;QAChD,MAAM,YAAY,GAAG,kBAAkB,CAAC;YACtC,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC;SAClC,CAAC,CAAA;QACF,MAAM,QAAQ,GAAG,cAAc,CAAC;YAC9B,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE;gBACrD,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;gBAChC,uEAAuE;gBACvE,0DAA0D;gBAC1D,GAAG,CAAC,QAAQ,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9D,CAAC;YACF,KAAK,EAAE,GAAG,EAAE,GAAG,kBAAkB,EAAE,CAAA,CAAC,CAAC;YACrC,YAAY,EAAE,GAAG,EAAE,GAAG,YAAY,GAAG,oBAAoB,EAAE,CAAA,CAAC,CAAC;YAC7D,UAAU,EAAE,GAAG,EAAE;gBACf,MAAM,OAAO,GAAG,YAAY,CAAA;gBAC5B,YAAY,GAAG,SAAS,CAAA;gBACxB,OAAO,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;YAC9B,CAAC;YACD,eAAe,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;gBACnC,IAAI,mBAAmB,EAAE;oBAAE,OAAO,SAAS,CAAA;gBAC3C,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,SAAS,CAAC,CAAA;gBAC7C,IAAI,IAAI,KAAK,SAAS;oBAAE,OAAO,SAAS,CAAA;gBACxC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;YACjE,CAAC;YACD,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;YACpD,kBAAkB,EAAE,KAAK,EAAC,OAAO,EAAC,EAAE;gBAClC,MAAM,kBAAkB,CAAC,OAAO,CAAC,IAAI,EAAE,qBAAqB,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;YAChH,CAAC;YACD,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,IAAI,CAAC,CAAA,CAAC,CAAC;YAC3D,IAAI,EAAE,YAAY;YAClB,QAAQ,EAAE;gBACR,UAAU,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;gBACvE,UAAU,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;gBACvE,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;gBACnE,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;gBACnE,MAAM,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;aAC5E;YACD,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,GAAG;SACzC,CAAC,CAAA;QACF,MAAM,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAA;QAC9C,MAAM,iBAAiB,GAAG,QAAQ,CAAC,aAAa,CAAA;QAEhD,yEAAyE;QACzE,4EAA4E;QAC5E,IAAI,aAAyC,CAAA;QAE7C,iEAAiE;QACjE,MAAM,UAAU,GAAG,CAAC,SAAiB,EAAU,EAAE;YAC/C,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,mBAAmB,CAAuB,CAAA;YACnE,MAAM,MAAM,GAAG,WAAW,CAAA;YAC1B,MAAM,WAAW,GAAG,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;YACvD,IAAI,QAAQ,KAAK,SAAS,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE,CAAC;gBACjD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;gBACxD,IAAI,IAAI,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBACrC,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,SAAS,EAAE,CAAA;gBACxE,CAAC;YACH,CAAC;YACD,OAAO,sDAAsD,SAAS,EAAE,CAAA;QAC1E,CAAC,CAAA;QAED,MAAM,KAAK,GAAG,KAAK,EAAE,SAAoB,EAAE,MAAe,EAAiB,EAAE;YAC3E,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC,CAAA;gBACnF,MAAM,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAA;gBAC1C,OAAM;YACR,CAAC;YACD,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC,CAAA;YACvF,MAAM,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAA;YAChC,IAAI,QAAQ;gBAAE,OAAM;YACpB,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YAChC,IAAI,MAAM,KAAK,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;YACvF,MAAM,YAAY,GAAG,GAAG,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA;YACjD,MAAM,YAAY,GAAG,YAAY,EAAE,gBAAgB,EAAE,CAAA;YACrD,yEAAyE;YACzE,qEAAqE;YACrE,kEAAkE;YAClE,gEAAgE;YAChE,MAAM,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAEzB,CAAA;YACb,MAAM,GAAG,GAAG,WAAW,EAAE,QAAQ,CAAA;YACjC,MAAM,UAAU,GAAG,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;gBAC/E,CAAC,CAAE,GAA+B,CAAC,qBAAqB,CAAC;gBACzD,CAAC,CAAC,SAAS,CAAA;YACb,MAAM,WAAW,GAAG,wBAAwB,EAAE,CAAA;YAC9C,MAAM,aAAa,GAAG,CAAC,WAAW,IAAI,UAAU,CAEnC,CAAA;YACb,MAAM,cAAc,GAClB,aAAa,KAAK,SAAS;mBACtB,OAAO,aAAa,CAAC,QAAQ,KAAK,QAAQ;mBAC1C,OAAO,aAAa,CAAC,KAAK,KAAK,QAAQ;gBAC1C,CAAC,CAAC;oBACE,QAAQ,EAAE,aAAa,CAAC,QAAQ;oBAChC,KAAK,EAAE,aAAa,CAAC,KAAK;oBAC1B,GAAG,CAAC,OAAO,aAAa,CAAC,eAAe,KAAK,QAAQ;wBACnD,CAAC,CAAC,EAAE,eAAe,EAAE,iBAAiB,CAAC,aAAa,CAAC,eAAe,CAAC,EAAE;wBACvE,CAAC,CAAC,EAAE,CAAC;iBACR;gBACH,CAAC,CAAC,YAAY,CAAA;YAClB,MAAM,qBAAqB,GAAG,WAAW,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,CAAA;YACnF,MAAM,kBAAkB,GAAG,CAAC,qBAAqB;gBAC/C,CAAC,CAAC,qBAAqB,CAAC,gBAAgB,CACnC,WAAkE,EAAE,QAAQ,EAAE,CAAC,gBAAgB,CAAC,CAClG,CAAC;gBACJ,CAAC,CAAC,SAAS,CAAA;YAEb,yEAAyE;YACzE,4EAA4E;YAC5E,MAAM,QAAQ,GAAG,aAAa,EAAE,QAAQ;mBACnC,MAAM,CAAC,QAAQ;mBACf,cAAc,EAAE,QAAQ;mBACxB,kBAAkB,EAAE,QAAQ;mBAC5B,mBAAmB,CAAA;YACxB,MAAM,KAAK,GAAG,aAAa,EAAE,KAAK;mBAC7B,MAAM,CAAC,KAAK;mBACZ,cAAc,EAAE,KAAK;mBACrB,kBAAkB,EAAE,KAAK;mBACzB,mBAAmB,CAAA;YAExB,sEAAsE;YACtE,0EAA0E;YAC1E,qCAAqC;YACrC,IAAI,eAAe,GAAG,aAAa,EAAE,eAAe,CAAA;YACpD,IAAI,eAAe,KAAK,SAAS,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;gBACjE,MAAM,cAAc,GAAG,CAAC,cAAc,IAAI,kBAAkB,CAAC,KAAK,SAAS;uBACtE,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,cAAc,IAAI,kBAAkB,CAAC,EAAE,QAAQ,CAAC;uBACvG,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,KAAK,CAAC,cAAc,IAAI,kBAAkB,CAAC,EAAE,KAAK,CAAC,CAAA;gBACnG,IAAI,cAAc,EAAE,CAAC;oBACnB,MAAM,SAAS,GAAG,CAAC,cAAc,IAAI,kBAAkB,CAAC,EAAE,eAAe,CAAA;oBACzE,eAAe,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAA;gBAC9F,CAAC;YACH,CAAC;YACD,mEAAmE;YACnE,0EAA0E;YAC1E,wEAAwE;YACxE,iDAAiD;YACjD,IAAI,eAAe,KAAK,SAAS,IAAI,QAAQ,KAAK,mBAAmB,EAAE,CAAC;gBACtE,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;gBAC1B,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;oBACtB,eAAe,GAAG,MAAM,sBAAsB,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA;gBACtE,CAAC;YACH,CAAC;YAED,MAAM,kBAAkB,GAAmB;gBACzC,QAAQ;gBACR,KAAK;gBACL,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC;aAC9D,CAAA;YACD,MAAM,YAAY,GAAsB;gBACtC,OAAO,EAAE,kBAAkB;gBAC3B,SAAS,EAAE,SAAS;aACrB,CAAA;YACD,MAAM,YAAY,GAAG,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;YAC5C,MAAM,YAAY,GAAG;gBACnB,QAAQ;gBACR,KAAK;gBACL,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC;aAC9D,CAAA;YACD,MAAM,KAAK,GAAG,KAAK,EAAE,QAAiB,EAAiB,EAAE;gBACvD,qBAAqB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;gBAC7C,MAAM,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;YACrC,CAAC,CAAA;YACD,MAAM,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAA;YACxC,IAAI,eAAmC,CAAA;YACvC,IAAI,CAAC;gBACH,uEAAuE;gBACvE,uEAAuE;gBACvE,oEAAoE;gBACpE,oDAAoD;gBACpD,MAAM,cAAc,GAAG,CAAC,KAAc,EAAW,EAAE;oBACjD,MAAM,KAAK,GAAc,CAAC,KAAK,CAAC,CAAA;oBAChC,IAAI,OAAO,GAAG,KAAK,CAAA;oBACnB,OAAO,OAAO,YAAY,KAAK,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;wBAC/D,OAAO,GAAG,OAAO,CAAC,KAAK,CAAA;wBACvB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;oBACrB,CAAC;oBACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,YAAY,KAAK,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;gBACrF,CAAC,CAAA;gBACD,IAAI,MAAM,EAAE,CAAC;oBACX,IAAI,CAAC;wBACH,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,EAAE,eAAe,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAA;oBACnF,CAAC;oBAAC,OAAO,KAAc,EAAE,CAAC;wBACxB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;4BAAE,MAAM,KAAK,CAAA;wBACvC,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAA;oBAChG,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAA;gBAChG,CAAC;gBACD,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;oBACjE,eAAe,GAAG,OAAO,CAAC,KAAK,KAAK,SAAS;wBAC3C,CAAC,CAAC,OAAO,CAAC,KAAK;wBACf,CAAC,CAAC,OAAO,CAAC,OAAO;4BACf,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;4BACxC,CAAC,CAAC,SAAS,CAAA;gBACjB,CAAC;YACH,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,MAAM,eAAe,EAAE,CAAA;gBACvB,MAAM,KAAK,CAAA;YACb,CAAC;YACD,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,MAAM,CAAC,OAAO,EAAE,CAAA;gBACtB,MAAM,eAAe,EAAE,CAAA;gBACvB,OAAM;YACR,CAAC;YACD,MAAM,QAAQ,GAAG,YAAY,EAAE,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,YAAY,EAAE,SAAS,CAAA;YAC1F,uEAAuE;YACvE,yEAAyE;YACzE,0CAA0C;YAC1C,IAAI,UAAU,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;YAC3E,IAAI,WAA+B,CAAA;YACnC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;oBACpD,WAAW,GAAG,MAAM,EAAE,KAAK,CAAA;oBAC3B,UAAU,GAAG,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,CAAA;gBAC/D,CAAC;gBAAC,MAAM,CAAC;oBACP,mCAAmC;gBACrC,CAAC;YACH,CAAC;YACD,UAAU,GAAG,QAAQ,CAAC,GAAG,EAAE;gBACzB,GAAG,MAAM;gBACT,eAAe,EAAE,IAAI;gBACrB,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC;gBAC5B,MAAM;gBACN,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;gBACxE,QAAQ;gBACR,KAAK;gBACL,YAAY;gBACZ,iBAAiB;gBACjB,QAAQ;gBACR,UAAU;gBACV,WAAW;gBACX,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACtC,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE;oBAC3B,aAAa,GAAG,IAAI,CAAA;gBACtB,CAAC;gBACD,QAAQ,EAAE,KAAK,IAAI,EAAE;oBACnB,sEAAsE;oBACtE,0DAA0D;oBAC1D,YAAY,GAAG,IAAI,CAAA;oBACnB,MAAM,MAAM,GAAG,UAAU,EAAE,gBAAgB,EAAE,IAAI,OAAO,CAAA;oBACxD,MAAM,SAAS,CAAC;wBACd,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,QAAQ;wBACzE,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;wBACpE,GAAG,EAAE,SAAS;wBACd,gBAAgB,EAAE,MAAM;qBACzB,CAAC,CAAA;gBACJ,CAAC;gBACD,UAAU,EAAE,KAAK,IAAI,EAAE;oBACrB,YAAY,GAAG,KAAK,CAAA;oBACpB,MAAM,SAAS,CAAC;wBACd,KAAK,EAAE,UAAU;wBACjB,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG;wBAC3C,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;qBACrE,CAAC,CAAA;gBACJ,CAAC;aACF,CAAC,CAAA;QACJ,CAAC,CAAA;QAED,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAA;QACzC,IAAI,gBAAgB,GAAG,MAAM,CAAC,SAAS,CAAA;QACvC,MAAM,IAAI,GAAG,KAAK,IAAmB,EAAE;YACrC,IAAI,MAAM,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;gBACjC,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,KAAK,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;gBACvF,IAAI,QAAQ;oBAAE,OAAM;gBACpB,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;oBACpB,mEAAmE;oBACnE,sEAAsE;oBACtE,oEAAoE;oBACpE,oEAAoE;oBACpE,iDAAiD;oBACjD,kBAAkB,EAAE,CAAA;oBACpB,YAAY,CAAC,CAAC,CAAC,CAAA;oBACf,OAAM;gBACR,CAAC;gBACD,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC7B,gBAAgB,GAAG,MAAM,CAAC,EAAE,CAAA;oBAC5B,MAAM,cAAc,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;oBAC5C,OAAM;gBACR,CAAC;gBACD,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC7B,gBAAgB,GAAG,MAAM,CAAC,EAAE,CAAA;oBAC5B,MAAM,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAA;gBACzC,CAAC;qBAAM,CAAC;oBACN,oEAAoE;oBACpE,mEAAmE;oBACnE,sBAAsB;oBACtB,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,KAAK,EAAE;wBACvC,CAAC,CAAC,gBAAgB,UAAU,EAAE,EAAE;wBAChC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAA;oBACpB,gBAAgB,GAAG,SAAS,CAAA;oBAC5B,MAAM,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,CAAA;gBAC1C,CAAC;gBACD,OAAM;YACR,CAAC;YACD,MAAM,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,CAAA;QAClE,CAAC,CAAA;QAED,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACnC,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,sBAAsB;gBAC5E,CAAC,CAAC,KAAK,CAAC,OAAO;gBACf,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;YACrB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,gBAAgB,uBAAuB,MAAM,IAAI,CAAC,CAAA;YAChG,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;YACjC,IAAI,IAAI,KAAK,SAAS;gBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAA;YACzD,YAAY,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC,CAAC,CAAA;QAEF,OAAO,KAAK,IAAmB,EAAE;YAC/B,IAAI,YAAY,EAAE,CAAC;gBACjB,qEAAqE;gBACrE,qEAAqE;gBACrE,uDAAuD;gBACvD,OAAM;YACR,CAAC;YACD,QAAQ,GAAG,IAAI,CAAA;YACf,WAAW,CAAC,KAAK,EAAE,CAAA;YACnB,MAAM,UAAU,EAAE,OAAO,EAAE,CAAA;YAC3B,MAAM,MAAM,EAAE,OAAO,EAAE,CAAA;YACvB,MAAM,eAAe,EAAE,CAAA;QACzB,CAAC,CAAA;IACH,CAAC,EAAE,SAAS,CAAC,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/lib/job-label.js CHANGED
@@ -1,19 +1,23 @@
1
1
  /**
2
- * Friendly display names for background jobs.
2
+ * Friendly display names for background jobs and subagent chips.
3
3
  *
4
- * `job_*` cards otherwise read as the raw tool vocabulary (`job_output`,
5
- * `job_id: bash-1`), which is both untranslated and hard to talk about out
6
- * loud. Each job id instead gets a two-word alias — "蔚蓝水獭", "azure otter" —
7
- * derived from the id itself rather than from a random draw, so the same job
8
- * keeps one name across its call card, its result card, and every later
4
+ * Background `job_*` cards otherwise read as the raw tool vocabulary
5
+ * (`job_output`, `job_id: bash-1`). Each job id gets a two-token alias
6
+ * (hour + weather: 昏风 / twilight wind) derived from the id itself rather
7
+ * than from a random draw, so the same
8
+ * job keeps one name across its call card, its result card, and every later
9
9
  * `job_output` / `job_kill` mention. The model-facing id stays authoritative;
10
10
  * the alias is presentation only.
11
11
  *
12
+ * Subagent chips use a different scheme: a role distilled from the parent
13
+ * spawn description, joined to one of the four directional beasts
14
+ * (青龙 / 白虎 / 朱雀 / 玄武) hashed from the child session id.
15
+ *
12
16
  * @module dsh-ssh-tui/job-label
13
17
  */
14
18
  import { t } from './i18n/index.js';
15
19
  /** FNV-1a over the job id: stable, dependency-free, and well spread for short ids. */
16
- function hashJobId(id) {
20
+ export function hashJobId(id) {
17
21
  let hash = 0x811c9dc5;
18
22
  for (let index = 0; index < id.length; index += 1) {
19
23
  hash ^= id.charCodeAt(index);
@@ -21,25 +25,103 @@ function hashJobId(id) {
21
25
  }
22
26
  return hash >>> 0;
23
27
  }
28
+ function splitList(key) {
29
+ return t(key).split(',').filter(word => word !== '');
30
+ }
31
+ function pickPair(id, left, right) {
32
+ if (left.length === 0 || right.length === 0)
33
+ return undefined;
34
+ const hash = hashJobId(id);
35
+ const a = left[hash % left.length];
36
+ const b = right[Math.floor(hash / left.length) % right.length];
37
+ if (a === undefined || b === undefined)
38
+ return undefined;
39
+ return { left: a, right: b };
40
+ }
24
41
  /**
25
42
  * One stable alias for a background job, or `undefined` when the id is empty
26
43
  * or the locale carries no vocabulary.
27
44
  * @param jobId - the native job id (`bash-1`, `pwsh-2`, …).
28
- * @returns the locale-formatted alias, e.g. `蔚蓝水獭` / `azure otter`.
45
+ * @returns the locale-formatted alias, e.g. `昏风` / `twilight wind`.
29
46
  */
30
47
  export function jobAlias(jobId) {
31
48
  const id = jobId.trim();
32
49
  if (id === '')
33
50
  return undefined;
34
- const adjectives = t('jobAlias.adjectives').split(',').filter(word => word !== '');
35
- const animals = t('jobAlias.animals').split(',').filter(word => word !== '');
36
- if (adjectives.length === 0 || animals.length === 0)
37
- return undefined;
38
- const hash = hashJobId(id);
39
- const adjective = adjectives[hash % adjectives.length];
40
- const animal = animals[Math.floor(hash / adjectives.length) % animals.length];
41
- if (adjective === undefined || animal === undefined)
51
+ const pair = pickPair(id, splitList('jobAlias.left'), splitList('jobAlias.right'));
52
+ if (pair === undefined)
42
53
  return undefined;
43
- return t('jobAlias.pattern', { adjective, animal });
54
+ return t('jobAlias.pattern', { left: pair.left, right: pair.right });
55
+ }
56
+ /** The four directional beasts, hashed from the child session id. */
57
+ export const SUBAGENT_BEASTS = ['azure-dragon', 'white-tiger', 'vermilion-bird', 'black-tortoise'];
58
+ const ROLE_RULES = [
59
+ { id: 'scout', pattern: /\b(scan|search|find|grep|glob|explore|look|locate|discover|inspect|audit|survey|probe|list|enumerate|index|crawl|research|recon)\b|扫描|搜索|查找|检索|探|搜|列目录|枚举|审计|巡|调研|勘查|探查|探路/iu },
60
+ { id: 'scribe', pattern: /\b(read|summar\w*|review|analy[sz]\w*|explain|understand|study|investigat\w*|diagnos\w*|trace|reason|think|compare|eval\w*)\b|阅读|读取|摘要|总结|分析|解释|理解|研究|调查|诊断|对比|评估|审阅/iu },
61
+ { id: 'artisan', pattern: /\b(edit|write|patch|fix|implement|refactor|code|apply|create|update|change|modify|build|generate|draft)\b|编辑|写入|修改|实现|重构|修补|生成|起草|创建|更新/iu },
62
+ { id: 'envoy', pattern: /\b(web|http|fetch|browse|url|download|request|api|network)\b|网页|抓取|浏览|下载|请求|联网/iu },
63
+ { id: 'inquirer', pattern: /\b(ask|question|clarif\w*|confirm|choose|pick|option)\b|提问|询问|澄清|确认|选择/iu },
64
+ { id: 'sentinel', pattern: /\b(test|lint|check|verify|validat\w*|assert|guard|watch|monitor)\b|测试|检查|校验|验证|看守|监视/iu },
65
+ { id: 'steward', pattern: /\b(plan|todo|goal|organiz\w*|coordinat\w*|orchestr\w*|delegat\w*|schedul\w*)\b|计划|待办|目标|编排|协调|调度/iu },
66
+ { id: 'courier', pattern: /\b(run|execut\w*|shell|bash|command|install|spawn|launch|job|terminal)\b|运行|执行|终端|安装|启动|命令/iu },
67
+ ];
68
+ /** Distill a parent spawn description into one role id. */
69
+ export function subagentRoleId(task) {
70
+ const text = task.replace(/\s+/gu, ' ').trim();
71
+ if (text === '')
72
+ return 'courier';
73
+ for (const rule of ROLE_RULES) {
74
+ if (rule.pattern.test(text))
75
+ return rule.id;
76
+ }
77
+ return 'courier';
78
+ }
79
+ /** Hash the child session onto one of the four beasts. */
80
+ export function subagentBeastId(sessionId) {
81
+ const id = sessionId.trim();
82
+ const hash = id === '' ? 0 : hashJobId(id);
83
+ return SUBAGENT_BEASTS[hash % SUBAGENT_BEASTS.length] ?? 'azure-dragon';
84
+ }
85
+ /** Localized role label (`探路` / `scout`). */
86
+ export function subagentRoleLabel(role) {
87
+ return t(`sub.role.${role}`);
88
+ }
89
+ /** Localized beast label (`青龙` / `Azure Dragon`). */
90
+ export function subagentBeastLabel(beast) {
91
+ return t(`sub.beast.${beast}`);
92
+ }
93
+ /**
94
+ * Chip title: `探路·青龙` / `Scout · Azure Dragon`.
95
+ * Falls back to the spawn-time label when neither task nor id can be named.
96
+ */
97
+ export function subagentCourtesyName(input) {
98
+ const task = input.task?.trim() ?? '';
99
+ const id = input.sessionId.trim();
100
+ if (task === '' && id === '')
101
+ return input.fallback;
102
+ return t('sub.courtesy', {
103
+ role: subagentRoleLabel(subagentRoleId(task)),
104
+ beast: subagentBeastLabel(subagentBeastId(id === '' ? task : id)),
105
+ });
106
+ }
107
+ /** True when a string looks like a session / tool-call id, not a display name. */
108
+ export function looksLikeOpaqueId(value) {
109
+ const text = value.trim();
110
+ if (text === '')
111
+ return false;
112
+ if (/^call-/iu.test(text))
113
+ return true;
114
+ if (/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/iu.test(text))
115
+ return true;
116
+ if (/^[0-9a-f]{16,}$/iu.test(text))
117
+ return true;
118
+ return false;
119
+ }
120
+ /** Prefer a recorded tool name; never surface `call-<uuid>` as a title. */
121
+ export function displayToolName(name) {
122
+ const text = name?.trim() ?? '';
123
+ if (text === '' || looksLikeOpaqueId(text))
124
+ return 'tool';
125
+ return text;
44
126
  }
45
127
  //# sourceMappingURL=job-label.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"job-label.js","sourceRoot":"","sources":["../src/job-label.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,iBAAiB,CAAA;AAEnC,sFAAsF;AACtF,SAAS,SAAS,CAAC,EAAU;IAC3B,IAAI,IAAI,GAAG,UAAU,CAAA;IACrB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAClD,IAAI,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;QAC5B,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,CAAA;IAC1C,CAAC;IACD,OAAO,IAAI,KAAK,CAAC,CAAA;AACnB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAa;IACpC,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IACvB,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,SAAS,CAAA;IAC/B,MAAM,UAAU,GAAG,CAAC,CAAC,qBAAqB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAA;IAClF,MAAM,OAAO,GAAG,CAAC,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAA;IAC5E,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAA;IACrE,MAAM,IAAI,GAAG,SAAS,CAAC,EAAE,CAAC,CAAA;IAC1B,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IACtD,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAC7E,IAAI,SAAS,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IACrE,OAAO,CAAC,CAAC,kBAAkB,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAA;AACrD,CAAC"}
1
+ {"version":3,"file":"job-label.js","sourceRoot":"","sources":["../src/job-label.ts"],"names":[],"mappings":"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"}
package/lib/plan.js CHANGED
@@ -2,8 +2,11 @@
2
2
  * Plan dock, todo lists, /find, prompt-injection cards, and compact errors.
3
3
  */
4
4
  import { t } from './i18n/index.js';
5
- import { CONTEXT_RING_EMPTY, CONTEXT_RING_FULL, CONTEXT_RING_SEGMENTS, formatTokens } from './footer.js';
5
+ import { CONTEXT_RING_EMPTY, CONTEXT_RING_FULL, CONTEXT_RING_SEGMENTS, formatTokens, providerShortCode } from './footer.js';
6
6
  import { parseJsonArgs } from './json-args.js';
7
+ import { subagentCourtesyName } from './job-label.js';
8
+ import { subagentIdentitySgr } from './subagent-model.js';
9
+ import { sliceCodePoints } from './term-text.js';
7
10
  export const MAX_SUBAGENT_LOGS = 80;
8
11
  export const TODO_STATUS_MARK = {
9
12
  pending: '○',
@@ -388,25 +391,274 @@ export function askSummary(value) {
388
391
  : t('question.waiting');
389
392
  return questions.length > 1 ? t('ask.multi', { text, count: questions.length }) : text;
390
393
  }
391
- /** One-line subagent card header used while collapsed. */
392
- export function subagentHeaderText(row, now = Date.now()) {
393
- const elapsed = Math.max(0, Math.floor(((row.endedAt ?? now) - row.startedAt) / 1000));
394
- const elapsedLabel = elapsed >= 60 ? `${Math.floor(elapsed / 60)}m${elapsed % 60}s` : `${elapsed}s`;
395
- const state = row.status === 'running'
396
- ? t('sub.running')
397
- : row.status === 'ok'
398
- ? t('sub.ok')
399
- : row.status === 'aborted'
400
- ? t('sub.aborted')
401
- : t('sub.failed');
402
- const activity = row.lastActivity === '' ? '' : ` · ${row.lastActivity}`;
403
- const id = row.sessionId.slice(0, 8);
404
- return `${row.label} [${id}] ${state} · ${elapsedLabel}${activity}`;
394
+ /** First non-empty line, collapsed to a single scan line. */
395
+ export function firstDisplayLine(text) {
396
+ return text.replace(/\s+/gu, ' ').trim();
397
+ }
398
+ /** Collapse a child-session blob to one short chip/wait-card line. */
399
+ export function clipSubagentActivity(text, maxChars = 48) {
400
+ const line = firstDisplayLine(text);
401
+ if (line === '')
402
+ return '';
403
+ const clipped = sliceCodePoints(line, maxChars);
404
+ return clipped === line ? line : `${clipped}…`;
405
+ }
406
+ function subagentStatusLabel(status) {
407
+ if (status === 'running')
408
+ return t('sub.running');
409
+ if (status === 'ok')
410
+ return t('sub.ok');
411
+ if (status === 'aborted')
412
+ return t('sub.aborted');
413
+ return t('sub.failed');
414
+ }
415
+ /** Running / ok / aborted / error → ANSI for the status dot and status word. */
416
+ export function subagentStateColor(status) {
417
+ if (status === 'ok')
418
+ return '32';
419
+ if (status === 'error')
420
+ return '31';
421
+ if (status === 'aborted')
422
+ return '90';
423
+ return '33';
424
+ }
425
+ /**
426
+ * Rebuild a subagent chip from the parent spawn tool call that survives in the
427
+ * session log. Live `subagent/start` is not replayed, so resume would otherwise
428
+ * show a generic tool card titled from the English description ("probe").
429
+ */
430
+ export function subagentRowFromSpawnTool(input) {
431
+ const task = input.task.trim();
432
+ const provider = input.provider?.trim() || 'spawn';
433
+ const modelProvider = input.modelProvider?.trim() ?? '';
434
+ const status = input.status ?? 'ok';
435
+ const startedAt = input.startedAt ?? 0;
436
+ const output = clipSubagentActivity(input.output ?? '');
437
+ return {
438
+ kind: 'subagent',
439
+ sessionId: input.callId,
440
+ spawnCallId: input.callId,
441
+ runId: input.callId,
442
+ provider,
443
+ ...(modelProvider === '' ? {} : { modelProvider }),
444
+ local: input.local ?? true,
445
+ label: t('sub.label', { provider }),
446
+ ...(task === '' ? {} : { task }),
447
+ status,
448
+ startedAt,
449
+ ...(input.endedAt === undefined ? {} : { endedAt: input.endedAt }),
450
+ lastActivity: output === '' ? t('sub.started') : output,
451
+ logs: output === ''
452
+ ? [{ kind: 'system', text: t('sub.startedDetail', { provider: modelProvider === '' ? provider : modelProvider, external: '' }) }]
453
+ : [{ kind: 'assistant', text: output }],
454
+ expanded: false,
455
+ };
456
+ }
457
+ /**
458
+ * Courtesy title: distilled role plus a directional beast.
459
+ *
460
+ * The beast comes from the child's own session id, never the parent call id a
461
+ * replayed chip was built with: the same child must keep its symbol across a
462
+ * `--resume`.
463
+ */
464
+ export function subagentDisplayName(row) {
465
+ return subagentCourtesyName({
466
+ sessionId: row.childSessionId ?? row.sessionId,
467
+ ...(row.task === undefined ? {} : { task: row.task }),
468
+ fallback: row.label,
469
+ });
470
+ }
471
+ /**
472
+ * Short activity for the collapsed chip and wait card: prefer the parent
473
+ * task name, else a clipped last log line. Never the full child transcript.
474
+ */
475
+ export function subagentChipSummary(row) {
476
+ const fail = row.failHint?.trim() ?? '';
477
+ if (fail !== '' && (row.status === 'error' || row.status === 'aborted')) {
478
+ return clipSubagentActivity(fail, 48);
479
+ }
480
+ const task = row.task?.trim() ?? '';
481
+ if (task !== '') {
482
+ // The courtesy title already carries the distilled role, so strip a leading
483
+ // English verb (`probe /www` → `/www`) instead of repeating it on resume.
484
+ const stripped = task.replace(/^(probe|scan|search|read|fetch|run|plan|edit|write|inspect|explore|look)\b[\s:/]*/iu, '');
485
+ return clipSubagentActivity(stripped === '' ? task : stripped, 40);
486
+ }
487
+ return clipSubagentActivity(row.lastActivity, 40);
488
+ }
489
+ /** Header + SGR spans: identity color, status dot/word, muted summary. */
490
+ export function buildSubagentHeader(input) {
491
+ const prefix = input.focused ? '▶ ' : ' ';
492
+ const marker = '▸';
493
+ const lead = `${prefix}${marker} ● ${input.title}`;
494
+ const state = subagentStatusLabel(input.status);
495
+ const stateText = ` ${state} · ${input.elapsedLabel}`;
496
+ const summaryText = input.summary === '' ? '' : ` ${input.summary}`;
497
+ const spinner = input.spinner ?? '';
498
+ const hint = input.inspectHint ?? '';
499
+ const plain = `${lead}${stateText}${summaryText}${spinner}${hint}`;
500
+ const dotIndex = lead.indexOf('●');
501
+ const titleIndex = lead.indexOf(input.title);
502
+ const stateCode = subagentStateColor(input.status);
503
+ const segments = [];
504
+ if (dotIndex >= 0)
505
+ segments.push({ start: dotIndex, end: dotIndex + '●'.length, sgr: stateCode });
506
+ if (titleIndex >= 0 && input.title !== '') {
507
+ segments.push({
508
+ start: titleIndex,
509
+ end: titleIndex + input.title.length,
510
+ sgr: subagentIdentitySgr(input.foreign === true),
511
+ });
512
+ }
513
+ segments.push({ start: lead.length, end: lead.length + stateText.length, sgr: stateCode });
514
+ if (summaryText.length > 0) {
515
+ segments.push({
516
+ start: lead.length + stateText.length,
517
+ end: lead.length + stateText.length + summaryText.length,
518
+ sgr: '90',
519
+ });
520
+ }
521
+ const tailStart = lead.length + stateText.length + summaryText.length;
522
+ if (spinner !== '' || hint !== '') {
523
+ segments.push({ start: tailStart, end: plain.length, sgr: '90' });
524
+ }
525
+ return { plain, segments: segments.filter(segment => segment.end > segment.start) };
526
+ }
527
+ /** Map a folded child-session event onto an existing display role. */
528
+ export function subagentLogDisplayKind(entry, status) {
529
+ if (entry.kind === 'user')
530
+ return 'user';
531
+ if (entry.kind === 'assistant')
532
+ return 'assistant';
533
+ if (entry.kind === 'tool')
534
+ return entry.text.includes('✗') ? 'error' : 'tool';
535
+ if (entry.kind === 'approval')
536
+ return 'todo-active';
537
+ if (entry.kind === 'result') {
538
+ const failed = status === 'error' || /^\s*✗/u.test(entry.text);
539
+ return failed ? 'error' : 'tool-result';
540
+ }
541
+ return 'system';
542
+ }
543
+ /**
544
+ * Overlay body: session line, stop reason, then the clipped child log.
545
+ *
546
+ * The child's session id is the one `/subagents kill` takes, so it belongs on
547
+ * this line — the collapsed chip stays free of opaque ids.
548
+ */
549
+ export function subagentInspectLines(row) {
550
+ const modelProvider = row.modelProvider?.trim() ?? '';
551
+ const lines = [{
552
+ kind: 'subagent-header',
553
+ text: t('sub.cardSession', {
554
+ name: subagentDisplayName(row),
555
+ id: row.childSessionId === undefined ? '' : ` · ${row.childSessionId}`,
556
+ provider: modelProvider === '' ? t('card.subagent') : modelProvider,
557
+ external: row.local ? '' : t('sub.external'),
558
+ }).trim(),
559
+ }];
560
+ if (row.task !== undefined && row.task.trim() !== '') {
561
+ lines.push({ kind: 'tool-result', text: t('sub.cardTask', { task: row.task.trim() }) });
562
+ }
563
+ if (row.failHint !== undefined && row.failHint.trim() !== '') {
564
+ lines.push({ kind: 'error', text: t('sub.failHint', { hint: row.failHint.trim() }).trim() });
565
+ }
566
+ else if (row.stopReason !== undefined) {
567
+ lines.push({ kind: 'system', text: t('sub.stopReason', { reason: row.stopReason }).trim() });
568
+ }
569
+ if (row.logs.length === 0) {
570
+ lines.push({
571
+ kind: 'system',
572
+ text: (row.status === 'running' ? t('sub.cardWait') : t('sub.cardEmpty')).trim(),
573
+ });
574
+ return lines;
575
+ }
576
+ for (const entry of row.logs) {
577
+ const kind = subagentLogDisplayKind(entry, row.status);
578
+ for (const text of entry.text.split('\n')) {
579
+ lines.push({ kind, text });
580
+ }
581
+ }
582
+ return lines;
583
+ }
584
+ /**
585
+ * Classify a child-session error so the chip can say *why* it died, not just
586
+ * that it ended. Quota and expired auth get a command that actually helps;
587
+ * everything else keeps a clipped diagnostic.
588
+ */
589
+ export function describeSubagentFailure(input) {
590
+ const reason = input.stopReason?.trim() ?? '';
591
+ const message = (input.message ?? '').replace(/\s+/gu, ' ').trim();
592
+ if (reason === '' && message === '')
593
+ return undefined;
594
+ if (reason === 'aborted' && message === '') {
595
+ return { hint: t('sub.failAborted'), kind: 'error' };
596
+ }
597
+ const blob = `${reason} ${message}`.toLowerCase();
598
+ const rawProvider = input.provider?.trim() ?? '';
599
+ // The backend name (`spawn` / `fork` / `acp`) is not a provider a user can
600
+ // act on; the short code is what the footer already calls that route.
601
+ const provider = rawProvider === '' || rawProvider === 'spawn'
602
+ ? t('card.subagent')
603
+ : providerShortCode(rawProvider);
604
+ if (/\b(401|403|unauthori[sz]ed|invalid[_ ]?(api[_ ]?key|token)|token expired|expired token|authentication|not authenticated)\b/u.test(blob)
605
+ || /未授权|无效.*key|token 过期|登录过期|鉴权/.test(message)) {
606
+ return { hint: t('sub.failAuth', { provider }), kind: 'auth' };
607
+ }
608
+ if (/\b(429|quota|rate[_ ]?limit|insufficient[_ ]?(quota|credit)|billing|payment required)\b/u.test(blob)
609
+ || /额度|配额|余额不足|限流/.test(message)) {
610
+ return { hint: t('sub.failQuota', { provider }), kind: 'quota' };
611
+ }
612
+ if (/\bunsupported_reasoning_effort|does not support reasoning effort\b/u.test(blob)) {
613
+ return { hint: t('sub.failEffort'), kind: 'effort' };
614
+ }
615
+ const detail = message === '' ? reason : message;
616
+ if (detail === '')
617
+ return undefined;
618
+ return { hint: clipSubagentActivity(detail, 72), kind: 'error' };
619
+ }
620
+ function settleSubagentToolLine(row, entry) {
621
+ const open = entry.callId !== undefined
622
+ ? row.logs.findLast(item => item.kind === 'tool' && item.callId === entry.callId)
623
+ : row.logs.findLast(item => item.kind === 'tool' && !/[✓✗]/u.test(item.text));
624
+ if (open === undefined)
625
+ return false;
626
+ const mark = /^\s*✗/u.test(entry.text) ? '✗' : '✓';
627
+ if (!/[✓✗]/u.test(open.text))
628
+ open.text = `${open.text} ${mark}`;
629
+ // What the tool returned rides on the call line: the overlay is the only
630
+ // surface that can show it, and that line is where a reader looks for it.
631
+ const detail = entry.detail?.trim() ?? '';
632
+ if (detail !== '')
633
+ open.text = `${open.text} · ${detail}`;
634
+ row.lastActivity = clipSubagentActivity(open.text);
635
+ return true;
405
636
  }
406
637
  export function appendSubagentLog(row, entry) {
407
- row.logs.push(entry);
638
+ if (entry.kind === 'result' && settleSubagentToolLine(row, entry))
639
+ return;
640
+ const detail = entry.detail?.trim() ?? '';
641
+ const text = detail === '' ? entry.text : `${entry.text} · ${detail}`;
642
+ row.logs.push({ ...entry, text });
408
643
  if (row.logs.length > MAX_SUBAGENT_LOGS)
409
644
  row.logs.splice(0, row.logs.length - MAX_SUBAGENT_LOGS);
410
- row.lastActivity = entry.text;
645
+ row.lastActivity = clipSubagentActivity(text);
646
+ }
647
+ /** Fold a child user/plugin blob: reminders become one inject chip, not raw XML. */
648
+ export function foldSubagentUserLog(row, text, sourceKind = 'user', plugin) {
649
+ const body = text.trim();
650
+ if (body === '')
651
+ return;
652
+ if (isPromptInjectionMessage(sourceKind, body, plugin)) {
653
+ const title = promptInjectionTitle(promptInjectionSources(body, plugin));
654
+ const last = row.logs.at(-1);
655
+ if (last?.kind === 'system' && last.text === title) {
656
+ row.lastActivity = title;
657
+ return;
658
+ }
659
+ appendSubagentLog(row, { kind: 'system', text: title });
660
+ return;
661
+ }
662
+ appendSubagentLog(row, { kind: 'user', text: `❯ ${clipSubagentActivity(body, 80)}` });
411
663
  }
412
664
  //# sourceMappingURL=plan.js.map