@bastani/atomic 0.9.46-alpha.1 → 0.9.46

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 (64) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/dist/builtin/intercom/CHANGELOG.md +11 -0
  3. package/dist/builtin/intercom/package.json +1 -1
  4. package/dist/builtin/mcp/package.json +1 -1
  5. package/dist/builtin/subagents/CHANGELOG.md +11 -0
  6. package/dist/builtin/subagents/package.json +1 -1
  7. package/dist/builtin/subagents/src/extension/index.bundle.mjs +2 -2
  8. package/dist/builtin/web-access/package.json +1 -1
  9. package/dist/builtin/workflows/CHANGELOG.md +40 -0
  10. package/dist/builtin/workflows/package.json +1 -1
  11. package/dist/builtin/workflows/src/extension/index.bundle.mjs +55 -28
  12. package/dist/builtin/workflows/src/extension/local-worker-entry.mjs +55 -28
  13. package/dist/builtin/workflows/src/index.js +55 -28
  14. package/dist/builtin/workflows/src/local-worker-entry.mjs +55 -28
  15. package/dist/core/agent-session-tasks.d.ts.map +1 -1
  16. package/dist/core/agent-session-tasks.js +8 -1
  17. package/dist/core/agent-session-tasks.js.map +1 -1
  18. package/dist/core/extensions/ui-types.d.ts +9 -1
  19. package/dist/core/extensions/ui-types.d.ts.map +1 -1
  20. package/dist/core/extensions/ui-types.js.map +1 -1
  21. package/dist/core/model-resolver-defaults.js +2 -2
  22. package/dist/core/model-resolver-defaults.js.map +1 -1
  23. package/dist/core/package-manager-npm.d.ts.map +1 -1
  24. package/dist/core/package-manager-npm.js +7 -3
  25. package/dist/core/package-manager-npm.js.map +1 -1
  26. package/dist/core/tasks/completion.d.ts +6 -1
  27. package/dist/core/tasks/completion.d.ts.map +1 -1
  28. package/dist/core/tasks/completion.js +33 -18
  29. package/dist/core/tasks/completion.js.map +1 -1
  30. package/dist/core/tasks/pause.d.ts +2 -1
  31. package/dist/core/tasks/pause.d.ts.map +1 -1
  32. package/dist/core/tasks/pause.js +3 -2
  33. package/dist/core/tasks/pause.js.map +1 -1
  34. package/dist/core/tools/grep.d.ts.map +1 -1
  35. package/dist/core/tools/grep.js +6 -4
  36. package/dist/core/tools/grep.js.map +1 -1
  37. package/dist/core/tools/shell-task-status.d.ts.map +1 -1
  38. package/dist/core/tools/shell-task-status.js +2 -1
  39. package/dist/core/tools/shell-task-status.js.map +1 -1
  40. package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
  41. package/dist/modes/interactive/components/assistant-message.js +20 -12
  42. package/dist/modes/interactive/components/assistant-message.js.map +1 -1
  43. package/dist/modes/interactive/interactive-extension-custom-ui.js +1 -1
  44. package/dist/modes/interactive/interactive-extension-custom-ui.js.map +1 -1
  45. package/dist/modes/interactive/interactive-extension-dialogs.js +10 -4
  46. package/dist/modes/interactive/interactive-extension-dialogs.js.map +1 -1
  47. package/dist/modes/interactive/interactive-mode-surface.d.ts +1 -0
  48. package/dist/modes/interactive/interactive-mode-surface.d.ts.map +1 -1
  49. package/dist/modes/interactive/interactive-mode-surface.js.map +1 -1
  50. package/dist/modes/interactive-engine/engine-custom-ui.d.ts +3 -0
  51. package/dist/modes/interactive-engine/engine-custom-ui.d.ts.map +1 -1
  52. package/dist/modes/interactive-engine/engine-custom-ui.js +1 -0
  53. package/dist/modes/interactive-engine/engine-custom-ui.js.map +1 -1
  54. package/dist/modes/interactive-engine/protocol.d.ts +6 -0
  55. package/dist/modes/interactive-engine/protocol.d.ts.map +1 -1
  56. package/dist/modes/interactive-engine/protocol.js +9 -0
  57. package/dist/modes/interactive-engine/protocol.js.map +1 -1
  58. package/dist/modes/interactive-engine/remote-component.d.ts.map +1 -1
  59. package/dist/modes/interactive-engine/remote-component.js +3 -2
  60. package/dist/modes/interactive-engine/remote-component.js.map +1 -1
  61. package/docs/llama-cpp.md +25 -14
  62. package/docs/tui.md +2 -0
  63. package/npm-shrinkwrap.json +32 -32
  64. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"interactive-extension-custom-ui.js","sourceRoot":"","sources":["../../../src/modes/interactive/interactive-extension-custom-ui.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,qBAAqB,EAErB,wBAAwB,EACxB,6BAA6B,GAE7B,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,kCAAkC,EAAE,MAAM,4BAA4B,CAAC;AACrG,OAAO,EAKN,IAAI,EAGJ,KAAK,GACL,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE3E,SAAS,oCAAoC,CAAC,OAAmC;IAChF,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,CAAC;IAC/B,IAAI,MAAM,KAAK,aAAa,IAAI,MAAM,KAAK,eAAe,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;QACzF,MAAM,IAAI,KAAK,CACd,uGAAuG,CACvG,CAAC;IACH,CAAC;IACD,IAAI,OAAO,EAAE,GAAG,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,OAAO,EAAE,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;QAC7D,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;IAC5F,CAAC;AACF,CAAC;AAED,mBAAmB,CAAC,SAAS,CAAC,mBAAmB,GAAG,UAEnD,OAAe,EACf,IAAmC;IAEnC,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACtB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;SAAM,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QAC/B,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;SAAM,CAAC;QACP,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;AACF,CAAC,CAAC;AAEF,mBAAmB,CAAC,SAAS,CAAC,mBAAmB,GAAG,KAAK,WAExD,OAKmF,EACnF,OASC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IACxC,MAAM,SAAS,GAAG,OAAO,EAAE,OAAO,IAAI,KAAK,CAAC;IAE5C,MAAM,aAAa,GAAG,CAAC,KAA+B,EAAE,WAAoB,EAAE,EAAE;QAC/E,qEAAqE;QACrE,4DAA4D;QAC5D,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,WAAW,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC;QACxE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC/B,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC;IACzB,CAAC,CAAC;IAEF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACtC,IAAI,SAAyD,CAAC;QAC9D,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,aAAwC,CAAC;QAC7C,IAAI,WAAiD,CAAC;QACtD,IAAI,yBAAmD,CAAC;QACxD,IAAI,yCAAmE,CAAC;QACxE,IAAI,4BAAkE,CAAC;QACvE,IAAI,oCAA8D,CAAC;QACnE,IAAI,2BAAqD,CAAC;QAE1D,MAAM,gBAAgB,GAAG,GAAG,EAAE;YAC7B,IAAI,CAAC;gBACJ,SAAS,EAAE,OAAO,EAAE,EAAE,CAAC;YACxB,CAAC;YAAC,MAAM,CAAC;gBACR,2BAA2B;YAC5B,CAAC;QACF,CAAC,CAAC;QAEF,MAAM,mBAAmB,GAAG,GAAG,EAAE;YAChC,IAAI,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,0BAA0B,KAAK,SAAS,EAAE,CAAC;gBAC9E,IAAI,CAAC,0BAA0B,GAAG,SAAS,CAAC;gBAC5C,IAAI,CAAC,gCAAgC,EAAE,CAAC;YACzC,CAAC;YACD,yBAAyB,EAAE,EAAE,CAAC;QAC/B,CAAC,CAAC;QAEF,MAAM,oBAAoB,GAAG,GAAG,EAAE;YACjC,OAAO,EAAE,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAC9D,CAAC,CAAC;QAEF,MAAM,wBAAwB,GAAG,GAAG,EAAE;YACrC,MAAM,WAAW,GAAG,4BAA4B,CAAC;YACjD,oCAAoC,EAAE,EAAE,CAAC;YACzC,oCAAoC,GAAG,SAAS,CAAC;YACjD,4BAA4B,GAAG,SAAS,CAAC;YACzC,IAAI,CAAC,WAAW;gBAAE,OAAO;YACzB,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;gBACvB,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;gBAChD,IAAI,IAAI,CAAC,wBAAwB,KAAK,WAAW;oBAAE,IAAI,CAAC,wBAAwB,GAAG,SAAS,CAAC;YAC9F,CAAC;YACD,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC;QACzB,CAAC,CAAC;QAEF,MAAM,cAAc,GAAG,GAAG,EAAE;YAC3B,IAAI,CAAC,OAAO;gBAAE,OAAO;YACrB,IAAI,SAAS,EAAE,CAAC;gBACf,MAAM,UAAU,GAAG,aAAa,EAAE,SAAS,EAAE,CAAC;gBAC9C,2BAA2B,EAAE,EAAE,CAAC;gBAChC,2BAA2B,GAAG,SAAS,CAAC;gBACxC,yCAAyC,EAAE,EAAE,CAAC;gBAC9C,yCAAyC,GAAG,SAAS,CAAC;gBACtD,wBAAwB,EAAE,CAAC;gBAC3B,iEAAiE;gBACjE,sEAAsE;gBACtE,qDAAqD;gBACrD,IAAI,aAAa;oBAAE,aAAa,CAAC,IAAI,EAAE,CAAC;;oBACnC,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;gBAC3B,IAAI,OAAO,EAAE,qBAAqB,IAAI,UAAU,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC;oBAC3E,8EAA8E;oBAC9E,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;gBACvE,CAAC;YACF,CAAC;iBAAM,IAAI,WAAW,EAAE,CAAC;gBACxB,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC;gBACtC,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,KAAK,WAAW,CAAC,CAAC;gBAC9E,IAAI,KAAK,KAAK,CAAC,CAAC;oBAAE,OAAO;gBACzB,MAAM,QAAQ,GAAG,KAAK,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBACrG,mEAAmE;gBACnE,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACf,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;oBACzB,OAAO;gBACR,CAAC;gBACD,MAAM,QAAQ,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;gBAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,8BAA8B,EAAE,CAAC;gBACzD,IAAI,QAAQ,EAAE,CAAC;oBACd,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC;oBAC9E,IAAI,UAAU,EAAE,CAAC;wBAChB,IAAI,CAAC,0BAA0B,GAAG,QAAQ,CAAC;wBAC3C,IAAI,CAAC,gCAAgC,EAAE,CAAC;oBACzC,CAAC;gBACF,CAAC;qBAAM,CAAC;oBACP,aAAa,CAAC,WAAW,EAAE,CAAC,UAAU,IAAI,IAAI,CAAC,0BAA0B,KAAK,SAAS,CAAC,CAAC;gBAC1F,CAAC;YACF,CAAC;QACF,CAAC,CAAC;QAEF,MAAM,KAAK,GAAG,CAAC,MAAS,EAAE,EAAE;YAC3B,IAAI,MAAM;gBAAE,OAAO;YACnB,MAAM,GAAG,IAAI,CAAC;YACd,oBAAoB,EAAE,CAAC;YACvB,cAAc,EAAE,CAAC;YACjB,gBAAgB,EAAE,CAAC;YACnB,mBAAmB,EAAE,CAAC;YACtB,OAAO,CAAC,MAAM,CAAC,CAAC;QACjB,CAAC,CAAC;QAEF,MAAM,cAAc,GAAG,CAAC,MAAe,EAAE,EAAE;YAC1C,IAAI,MAAM;gBAAE,OAAO;YACnB,MAAM,GAAG,IAAI,CAAC;YACd,oBAAoB,EAAE,CAAC;YACvB,cAAc,EAAE,CAAC;YACjB,gBAAgB,EAAE,CAAC;YACnB,mBAAmB,EAAE,CAAC;YACtB,MAAM,CAAC,MAAM,CAAC,CAAC;QAChB,CAAC,CAAC;QAEF,SAAS,aAAa;YACrB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;QACrF,CAAC;QAED,IAAI,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;YAC9B,aAAa,EAAE,CAAC;YAChB,OAAO;QACR,CAAC;QACD,yBAAyB,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACnG,IAAI,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;YAC9B,aAAa,EAAE,CAAC;YAChB,OAAO;QACR,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAE1E,IAAI,aAA6F,CAAC;QAClG,IAAI,CAAC;YACJ,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAClE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,cAAc,CAAC,GAAG,CAAC,CAAC;YACpB,OAAO;QACR,CAAC;QAED,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;aAC5B,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YACX,IAAI,MAAM,EAAE,CAAC;gBACZ,IAAI,CAAC;oBACJ,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;gBACf,CAAC;gBAAC,MAAM,CAAC;oBACR,2BAA2B;gBAC5B,CAAC;gBACD,OAAO;YACR,CAAC;YACD,SAAS,GAAG,CAAC,CAAC;YACd,IAAI,OAAO,EAAE,uBAAuB,KAAK,IAAI,EAAE,CAAC;gBAC9C,SAA+D,CAAC,uBAAuB,GAAG,IAAI,CAAC;YACjG,CAAC;YACD,IAAI,SAAS,EAAE,CAAC;gBACf,8DAA8D;gBAC9D,MAAM,cAAc,GAAG,GAA+B,EAAE;oBACvD,IAAI,OAAO,EAAE,cAAc,EAAE,CAAC;wBAC7B,MAAM,IAAI,GACT,OAAO,OAAO,CAAC,cAAc,KAAK,UAAU;4BAC3C,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE;4BAC1B,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;wBAC3B,OAAO,IAAI,CAAC;oBACb,CAAC;oBACD,wDAAwD;oBACxD,MAAM,CAAC,GAAI,SAA4C,EAAE,KAAK,CAAC;oBAC/D,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;gBACrC,CAAC,CAAC;gBACF,8DAA8D;gBAC9D,iEAAiE;gBACjE,mEAAmE;gBACnE,MAAM,sBAAsB,GAAG,cAAc,EAAE,CAAC;gBAChD,IAAI,qBAAqB,GAAG,sBAAsB,CAAC;gBACnD,IAAI,gBAAgB,GAAG,SAAS,CAAC;gBACjC,IAAI,cAA6E,CAAC;gBAClF,IAAI,OAAO,EAAE,qBAAqB,KAAK,IAAI,EAAE,CAAC;oBAC7C,oCAAoC,CAAC,sBAAsB,CAAC,CAAC;oBAC7D,6DAA6D;oBAC7D,8DAA8D;oBAC9D,MAAM,OAAO,GAAG,IAAI,qBAAqB,CACxC,SAAoC,EACpC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAC3B,sBAAsB,EAAE,MAAM,EAC9B,sBAAsB,EAAE,SAAS,EACjC,CAAC,IAAI,EAAE,EAAE,CAAC,kCAAkC,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAC/F,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,CAC7B,CAAC;oBACF,gBAAgB,GAAG,OAAO,CAAC;oBAC3B,IAAI,sBAAsB,EAAE,SAAS,KAAK,SAAS,EAAE,CAAC;wBACrD,qBAAqB,GAAG,EAAE,GAAG,sBAAsB,EAAE,CAAC;wBACtD,OAAO,qBAAqB,CAAC,SAAS,CAAC;oBACxC,CAAC;oBACD,qEAAqE;oBACrE,qEAAqE;oBACrE,gDAAgD;oBAChD,IAAI,eAAe,GAAG,KAAK,CAAC;oBAC5B,MAAM,cAAc,GAAG,GAAY,EAAE;wBACpC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,gBAAgB,CAAC,EAAE,CAAC;4BAClD,IAAI,CAAC,eAAe,EAAE,CAAC;gCACtB,eAAe,GAAG,IAAI,CAAC;gCACvB,cAAc,CAAC,wBAAwB,CAAC,CAAC;4BAC1C,CAAC;4BACD,OAAO,KAAK,CAAC;wBACd,CAAC;wBACD,IAAI,aAAa,KAAK,SAAS,IAAI,aAAa,CAAC,QAAQ,EAAE;4BAAE,OAAO,KAAK,CAAC;wBAC1E,MAAM,OAAO,GAAG,sBAAsB,EAAE,OAAO,CAAC;wBAChD,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBAChG,CAAC,CAAC;oBACF,cAAc,GAAG,GAAG,EAAE,CACrB,cAAc,EAAE;wBACf,CAAC,CAAC,6BAA6B,CAC7B,OAAO,CAAC,cAAc,EACtB,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EACrB,IAAI,CAAC,oBAAoB,EAAE,cAAc,IAAI,CAAC,EAC9C,sBAAsB,EAAE,MAAM,CAC9B;wBACF,CAAC,CAAC,SAAS,CAAC;gBACf,CAAC;gBACD,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,CAAC;gBAC5E,aAAa,GAAG,MAAM,CAAC;gBACvB,OAAO,GAAG,IAAI,CAAC;gBACf,+DAA+D;gBAC/D,iEAAiE;gBACjE,qDAAqD;gBACrD,IAAI,cAAc,EAAE,CAAC;oBACpB,IAAI,WAAW,GAAG,IAAI,CAAC,wBAAwB,CAAC;oBAChD,IAAI,CAAC,WAAW,EAAE,CAAC;wBAClB,WAAW,GAAG,IAAI,wBAAwB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,cAAc,IAAI,CAAC,CAAC,CAAC;wBACjG,IAAI,CAAC,wBAAwB,GAAG,WAAW,CAAC;wBAC5C,4BAA4B,GAAG,WAAW,CAAC;wBAC3C,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;oBAC9C,CAAC;yBAAM,CAAC;wBACP,4BAA4B,GAAG,WAAW,CAAC;oBAC5C,CAAC;oBACD,oCAAoC,GAAG,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;gBAC7E,CAAC;gBACD,IAAI,eAAyC,CAAC;gBAC9C,IAAI,cAAc,GAAG,KAAK,CAAC;gBAC3B,IAAI,mBAAmB,GAAG,KAAK,CAAC;gBAChC,IAAI,OAAO,EAAE,wBAAwB,EAAE,CAAC;oBACvC,eAAe,GAAG,IAAI,CAAC,gCAAgC,EAAE,CAAC;oBAC1D,yCAAyC,GAAG,GAAG,EAAE;wBAChD,eAAe,EAAE,EAAE,CAAC;wBACpB,eAAe,GAAG,SAAS,CAAC;oBAC7B,CAAC,CAAC;gBACH,CAAC;gBACD,IAAI,cAAc,IAAI,CAAC,OAAO,EAAE,wBAAwB,EAAE,CAAC;oBAC1D,4EAA4E;oBAC5E,MAAM,mBAAmB,GAAG,GAAG,EAAE;wBAChC,mBAAmB;4BAClB,IAAI,CAAC,6BAA6B,GAAG,CAAC,IAAI,IAAI,CAAC,8BAA8B,EAAE,CAAC;wBACjF,MAAM,CAAC,SAAS,CAAC,cAAc,IAAI,mBAAmB,CAAC,CAAC;oBACzD,CAAC,CAAC;oBACF,2BAA2B,GAAG,IAAI,CAAC,yBAAyB,CAAC,mBAAmB,CAAC,CAAC;oBAClF,mBAAmB,EAAE,CAAC;gBACvB,CAAC;gBACD,IAAI,OAAO,EAAE,wBAAwB,IAAI,cAAc,EAAE,CAAC;oBACzD,MAAM,OAAO,GAAG,GAAG,EAAE;wBACpB,yCAAyC,EAAE,EAAE,CAAC;wBAC9C,yCAAyC,GAAG,SAAS,CAAC;oBACvD,CAAC,CAAC;oBACF,MAAM,aAAa,GAAkB;wBACpC,IAAI,EAAE,GAAG,EAAE;4BACV,2BAA2B,EAAE,EAAE,CAAC;4BAChC,2BAA2B,GAAG,SAAS,CAAC;4BACxC,OAAO,EAAE,CAAC;4BACV,wBAAwB,EAAE,CAAC;4BAC3B,MAAM,CAAC,IAAI,EAAE,CAAC;wBACf,CAAC;wBACD,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE;4BACrB,cAAc,GAAG,MAAM,CAAC;4BACxB,IAAI,MAAM;gCAAE,OAAO,EAAE,CAAC;4BACtB,MAAM,CAAC,SAAS,CAAC,MAAM,IAAI,mBAAmB,CAAC,CAAC;4BAChD,IAAI,CAAC,MAAM,IAAI,OAAO,EAAE,wBAAwB,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;gCACnF,eAAe,GAAG,IAAI,CAAC,gCAAgC,EAAE,CAAC;gCAC1D,yCAAyC,GAAG,GAAG,EAAE;oCAChD,eAAe,EAAE,EAAE,CAAC;oCACpB,eAAe,GAAG,SAAS,CAAC;gCAC7B,CAAC,CAAC;4BACH,CAAC;wBACF,CAAC;wBACD,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE;wBACjC,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE;wBAC3B,OAAO,EAAE,CAAC,cAAc,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC;wBAC3D,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE;wBACnC,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE;qBACnC,CAAC;oBACF,aAAa,GAAG,aAAa,CAAC;oBAC9B,OAAO,EAAE,QAAQ,EAAE,CAAC,aAAa,CAAC,CAAC;gBACpC,CAAC;qBAAM,CAAC;oBACP,OAAO,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC;gBAC7B,CAAC;YACF,CAAC;iBAAM,CAAC;gBACP,WAAW,GAAG,SAAS,CAAC;gBACxB,MAAM,UAAU,GAAG,IAAI,CAAC,8BAA8B,EAAE,CAAC;gBACzD,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,UAAU,CAAC,CAAC;gBAC5D,IAAI,UAAU,EAAE,CAAC;oBAChB,IAAI,CAAC,0BAA0B,GAAG,SAAS,CAAC;oBAC5C,IAAI,CAAC,gCAAgC,EAAE,CAAC;gBACzC,CAAC;gBACD,OAAO,GAAG,IAAI,CAAC;YAChB,CAAC;QACF,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACd,cAAc,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,mBAAmB,CAAC,SAAS,CAAC,kBAAkB,GAAG,UAElD,aAAqB,EACrB,KAAa,EACb,KAAc;IAEd,MAAM,QAAQ,GAAG,cAAc,aAAa,YAAY,KAAK,EAAE,CAAC;IAChE,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9D,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACvC,IAAI,KAAK,EAAE,CAAC;QACX,0CAA0C;QAC1C,MAAM,UAAU,GAAG,KAAK;aACtB,KAAK,CAAC,IAAI,CAAC;aACX,KAAK,CAAC,CAAC,CAAC,CAAC,6CAA6C;aACtD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;aAClD,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,IAAI,UAAU,EAAE,CAAC;YAChB,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACzD,CAAC;IACF,CAAC;IACD,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC;AACzB,CAAC,CAAC","sourcesContent":["import {\n\tReservedBottomOverlay,\n\ttype TranscriptOverlayIntersection,\n\tTranscriptOverlayReserve,\n\ttranscriptOverlayIntersection,\n\ttype WrappedOverlayComponent,\n} from \"./components/reserved-bottom-overlay.ts\";\nimport { InteractiveModeBase, isFullscreenTranscriptScrollAction } from \"./interactive-mode-base.ts\";\nimport {\n\ttype Component,\n\ttype KeybindingsManager,\n\ttype OverlayHandle,\n\ttype OverlayOptions,\n\tText,\n\ttype Theme,\n\ttype TUI,\n\ttheme,\n} from \"./interactive-mode-deps.ts\";\nimport type { ExtensionDialogComponent } from \"./interactive-mode-types.ts\";\nimport { isMouseWheelInput, isOverlayMounted } from \"./interactive-tui.ts\";\n\nfunction validateReservedBottomOverlayOptions(options: OverlayOptions | undefined): void {\n\tconst anchor = options?.anchor;\n\tif (anchor !== \"bottom-left\" && anchor !== \"bottom-center\" && anchor !== \"bottom-right\") {\n\t\tthrow new Error(\n\t\t\t\"reserveTranscriptRows requires an explicit bottom anchor: bottom-left, bottom-center, or bottom-right\",\n\t\t);\n\t}\n\tif (options?.row !== undefined) {\n\t\tthrow new Error(\"reserveTranscriptRows does not support overlayOptions.row\");\n\t}\n\tif (options?.offsetY !== undefined && options.offsetY !== 0) {\n\t\tthrow new Error(\"reserveTranscriptRows does not support a nonzero overlayOptions.offsetY\");\n\t}\n}\n\nInteractiveModeBase.prototype.showExtensionNotify = function (\n\tthis: InteractiveModeBase,\n\tmessage: string,\n\ttype?: \"info\" | \"warning\" | \"error\",\n): void {\n\tif (type === \"error\") {\n\t\tthis.showError(message);\n\t} else if (type === \"warning\") {\n\t\tthis.showWarning(message);\n\t} else {\n\t\tthis.showStatus(message);\n\t}\n};\n\nInteractiveModeBase.prototype.showExtensionCustom = async function <T>(\n\tthis: InteractiveModeBase,\n\tfactory: (\n\t\ttui: TUI,\n\t\ttheme: Theme,\n\t\tkeybindings: KeybindingsManager,\n\t\tdone: (result: T) => void,\n\t) => (Component & { dispose?(): void }) | Promise<Component & { dispose?(): void }>,\n\toptions?: {\n\t\tpurpose?: \"prompt\" | \"navigation\";\n\t\toverlay?: boolean;\n\t\tdeferInlineCustomUiFocus?: boolean;\n\t\thandlesInternalUiAction?: boolean;\n\t\treserveTranscriptRows?: boolean;\n\t\tsignal?: AbortSignal;\n\t\toverlayOptions?: OverlayOptions | (() => OverlayOptions);\n\t\tonHandle?: (handle: OverlayHandle) => void;\n\t},\n): Promise<T> {\n\tconst savedText = this.editor.getText();\n\tconst isOverlay = options?.overlay ?? false;\n\n\tconst restoreEditor = (mount: ExtensionDialogComponent, focusEditor: boolean) => {\n\t\t// Focus fence: a surviving overlay owns input, and taking it away to\n\t\t// \"restore\" the editor would dismiss a newer native dialog.\n\t\tthis.removeExtensionDialog(mount, focusEditor && !this.ui.hasOverlay());\n\t\tthis.editor.setText(savedText);\n\t\tthis.ui.requestRender();\n\t};\n\n\treturn new Promise((resolve, reject) => {\n\t\tlet component: (Component & { dispose?(): void }) | undefined;\n\t\tlet closed = false;\n\t\tlet mounted = false;\n\t\tlet overlayHandle: OverlayHandle | undefined;\n\t\tlet inlineMount: ExtensionDialogComponent | undefined;\n\t\tlet releaseHostInlineCustomUi: (() => void) | undefined;\n\t\tlet releaseOverlayInlineCustomUiFocusDeferral: (() => void) | undefined;\n\t\tlet transcriptReserveCoordinator: TranscriptOverlayReserve | undefined;\n\t\tlet releaseTranscriptReserveRegistration: (() => void) | undefined;\n\t\tlet releaseOverlayFocusListener: (() => void) | undefined;\n\n\t\tconst disposeComponent = () => {\n\t\t\ttry {\n\t\t\t\tcomponent?.dispose?.();\n\t\t\t} catch {\n\t\t\t\t/* ignore dispose errors */\n\t\t\t}\n\t\t};\n\n\t\tconst releaseHostCustomUi = () => {\n\t\t\tif (component !== undefined && this.pendingInlineCustomUiFocus === component) {\n\t\t\t\tthis.pendingInlineCustomUiFocus = undefined;\n\t\t\t\tthis.notifyHostCustomUiStateListeners();\n\t\t\t}\n\t\t\treleaseHostInlineCustomUi?.();\n\t\t};\n\n\t\tconst cleanupAbortListener = () => {\n\t\t\toptions?.signal?.removeEventListener(\"abort\", abortCustomUi);\n\t\t};\n\n\t\tconst releaseTranscriptReserve = () => {\n\t\t\tconst coordinator = transcriptReserveCoordinator;\n\t\t\treleaseTranscriptReserveRegistration?.();\n\t\t\treleaseTranscriptReserveRegistration = undefined;\n\t\t\ttranscriptReserveCoordinator = undefined;\n\t\t\tif (!coordinator) return;\n\t\t\tif (coordinator.empty) {\n\t\t\t\tthis.documentContainer.removeChild(coordinator);\n\t\t\t\tif (this.transcriptOverlayReserve === coordinator) this.transcriptOverlayReserve = undefined;\n\t\t\t}\n\t\t\tthis.ui.requestRender();\n\t\t};\n\n\t\tconst closeMountedUi = () => {\n\t\t\tif (!mounted) return;\n\t\t\tif (isOverlay) {\n\t\t\t\tconst ownedInput = overlayHandle?.isFocused();\n\t\t\t\treleaseOverlayFocusListener?.();\n\t\t\t\treleaseOverlayFocusListener = undefined;\n\t\t\t\treleaseOverlayInlineCustomUiFocusDeferral?.();\n\t\t\t\treleaseOverlayInlineCustomUiFocusDeferral = undefined;\n\t\t\t\treleaseTranscriptReserve();\n\t\t\t\t// Hide THIS overlay, not whatever is on top: during engine-death\n\t\t\t\t// teardown an unrelated native overlay can be above this one, and the\n\t\t\t\t// generic top-overlay call would close that instead.\n\t\t\t\tif (overlayHandle) overlayHandle.hide();\n\t\t\t\telse this.ui.hideOverlay();\n\t\t\t\tif (options?.reserveTranscriptRows && ownedInput && !this.ui.hasOverlay()) {\n\t\t\t\t\t// Navigation may have closed while this prompt waited; its preFocus is stale.\n\t\t\t\t\tthis.ui.setFocus(this.editorContainer.children.at(-1) ?? this.editor);\n\t\t\t\t}\n\t\t\t} else if (inlineMount) {\n\t\t\t\tconst dialogs = this.extensionDialogs;\n\t\t\t\tconst index = dialogs.findIndex((dialog) => dialog.component === inlineMount);\n\t\t\t\tif (index === -1) return;\n\t\t\t\tconst ownsSlot = index === dialogs.length - 1 && this.editorContainer.children.includes(inlineMount);\n\t\t\t\t// An older completion must not clear a newer prompt's editor slot.\n\t\t\t\tif (!ownsSlot) {\n\t\t\t\t\tdialogs.splice(index, 1);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst previous = dialogs.at(-2)?.component;\n\t\t\t\tconst deferFocus = this.shouldDeferInlineCustomUiFocus();\n\t\t\t\tif (previous) {\n\t\t\t\t\tthis.removeExtensionDialog(inlineMount, !deferFocus && !this.ui.hasOverlay());\n\t\t\t\t\tif (deferFocus) {\n\t\t\t\t\t\tthis.pendingInlineCustomUiFocus = previous;\n\t\t\t\t\t\tthis.notifyHostCustomUiStateListeners();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\trestoreEditor(inlineMount, !deferFocus && this.pendingInlineCustomUiFocus !== component);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tconst close = (result: T) => {\n\t\t\tif (closed) return;\n\t\t\tclosed = true;\n\t\t\tcleanupAbortListener();\n\t\t\tcloseMountedUi();\n\t\t\tdisposeComponent();\n\t\t\treleaseHostCustomUi();\n\t\t\tresolve(result);\n\t\t};\n\n\t\tconst rejectAndClose = (reason: unknown) => {\n\t\t\tif (closed) return;\n\t\t\tclosed = true;\n\t\t\tcleanupAbortListener();\n\t\t\tcloseMountedUi();\n\t\t\tdisposeComponent();\n\t\t\treleaseHostCustomUi();\n\t\t\treject(reason);\n\t\t};\n\n\t\tfunction abortCustomUi(): void {\n\t\t\trejectAndClose(options?.signal?.reason ?? new Error(\"Extension custom UI aborted\"));\n\t\t}\n\n\t\tif (options?.signal?.aborted) {\n\t\t\tabortCustomUi();\n\t\t\treturn;\n\t\t}\n\t\treleaseHostInlineCustomUi = isOverlay ? undefined : this.beginHostInlineCustomUi(options?.purpose);\n\t\tif (options?.signal?.aborted) {\n\t\t\tabortCustomUi();\n\t\t\treturn;\n\t\t}\n\t\toptions?.signal?.addEventListener(\"abort\", abortCustomUi, { once: true });\n\n\t\tlet factoryResult: (Component & { dispose?(): void }) | Promise<Component & { dispose?(): void }>;\n\t\ttry {\n\t\t\tfactoryResult = factory(this.ui, theme, this.keybindings, close);\n\t\t} catch (err) {\n\t\t\trejectAndClose(err);\n\t\t\treturn;\n\t\t}\n\n\t\tPromise.resolve(factoryResult)\n\t\t\t.then((c) => {\n\t\t\t\tif (closed) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tc.dispose?.();\n\t\t\t\t\t} catch {\n\t\t\t\t\t\t/* ignore dispose errors */\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tcomponent = c;\n\t\t\t\tif (options?.handlesInternalUiAction === true) {\n\t\t\t\t\t(component as Component & { handlesInternalUiAction?: boolean }).handlesInternalUiAction = true;\n\t\t\t\t}\n\t\t\t\tif (isOverlay) {\n\t\t\t\t\t// Resolve overlay options - can be static or dynamic function\n\t\t\t\t\tconst resolveOptions = (): OverlayOptions | undefined => {\n\t\t\t\t\t\tif (options?.overlayOptions) {\n\t\t\t\t\t\t\tconst opts =\n\t\t\t\t\t\t\t\ttypeof options.overlayOptions === \"function\"\n\t\t\t\t\t\t\t\t\t? options.overlayOptions()\n\t\t\t\t\t\t\t\t\t: options.overlayOptions;\n\t\t\t\t\t\t\treturn opts;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// Fallback: use component's width property if available\n\t\t\t\t\t\tconst w = (component as { width?: number } | undefined)?.width;\n\t\t\t\t\t\treturn w ? { width: w } : undefined;\n\t\t\t\t\t};\n\t\t\t\t\t// A reserving overlay is bounded so a transcript strip always\n\t\t\t\t\t// survives, and the rows it still covers are added to the end of\n\t\t\t\t\t// the document so the scroll clamp can raise them into that strip.\n\t\t\t\t\tconst resolvedOverlayOptions = resolveOptions();\n\t\t\t\t\tlet mountedOverlayOptions = resolvedOverlayOptions;\n\t\t\t\t\tlet mountedComponent = component;\n\t\t\t\t\tlet pendingReserve: (() => TranscriptOverlayIntersection | undefined) | undefined;\n\t\t\t\t\tif (options?.reserveTranscriptRows === true) {\n\t\t\t\t\t\tvalidateReservedBottomOverlayOptions(resolvedOverlayOptions);\n\t\t\t\t\t\t// `custom()` documents the richer `ExtensionCustomComponent`\n\t\t\t\t\t\t// contract; this signature still names pi-tui's narrower one.\n\t\t\t\t\t\tconst bounded = new ReservedBottomOverlay(\n\t\t\t\t\t\t\tcomponent as WrappedOverlayComponent,\n\t\t\t\t\t\t\t() => this.ui.terminal.rows,\n\t\t\t\t\t\t\tresolvedOverlayOptions?.margin,\n\t\t\t\t\t\t\tresolvedOverlayOptions?.maxHeight,\n\t\t\t\t\t\t\t(data) => isFullscreenTranscriptScrollAction(data, this.keybindings) || isMouseWheelInput(data),\n\t\t\t\t\t\t\t() => this.ui.requestRender(),\n\t\t\t\t\t\t);\n\t\t\t\t\t\tmountedComponent = bounded;\n\t\t\t\t\t\tif (resolvedOverlayOptions?.maxHeight !== undefined) {\n\t\t\t\t\t\t\tmountedOverlayOptions = { ...resolvedOverlayOptions };\n\t\t\t\t\t\t\tdelete mountedOverlayOptions.maxHeight;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// A raw host reset can remove the exact overlay without touching its\n\t\t\t\t\t\t// handle. Stop reserving in that frame, then remove the registration\n\t\t\t\t\t\t// after the document render traversal finishes.\n\t\t\t\t\t\tlet removalObserved = false;\n\t\t\t\t\t\tconst overlayShowing = (): boolean => {\n\t\t\t\t\t\t\tif (!isOverlayMounted(this.ui, mountedComponent)) {\n\t\t\t\t\t\t\t\tif (!removalObserved) {\n\t\t\t\t\t\t\t\t\tremovalObserved = true;\n\t\t\t\t\t\t\t\t\tqueueMicrotask(releaseTranscriptReserve);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (overlayHandle === undefined || overlayHandle.isHidden()) return false;\n\t\t\t\t\t\t\tconst visible = resolvedOverlayOptions?.visible;\n\t\t\t\t\t\t\treturn visible === undefined ? true : visible(this.ui.terminal.columns, this.ui.terminal.rows);\n\t\t\t\t\t\t};\n\t\t\t\t\t\tpendingReserve = () =>\n\t\t\t\t\t\t\toverlayShowing()\n\t\t\t\t\t\t\t\t? transcriptOverlayIntersection(\n\t\t\t\t\t\t\t\t\t\tbounded.renderedHeight,\n\t\t\t\t\t\t\t\t\t\tthis.ui.terminal.rows,\n\t\t\t\t\t\t\t\t\t\tthis.transcriptScrollView?.viewportHeight ?? 0,\n\t\t\t\t\t\t\t\t\t\tresolvedOverlayOptions?.margin,\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t: undefined;\n\t\t\t\t\t}\n\t\t\t\t\tconst handle = this.ui.showOverlay(mountedComponent, mountedOverlayOptions);\n\t\t\t\t\toverlayHandle = handle;\n\t\t\t\t\tmounted = true;\n\t\t\t\t\t// Register only once the overlay is really up and `mounted` is\n\t\t\t\t\t// set: a throw before this point must not leave a registry entry\n\t\t\t\t\t// or blank-row component in the transcript document.\n\t\t\t\t\tif (pendingReserve) {\n\t\t\t\t\t\tlet coordinator = this.transcriptOverlayReserve;\n\t\t\t\t\t\tif (!coordinator) {\n\t\t\t\t\t\t\tcoordinator = new TranscriptOverlayReserve(() => this.transcriptScrollView?.viewportHeight ?? 0);\n\t\t\t\t\t\t\tthis.transcriptOverlayReserve = coordinator;\n\t\t\t\t\t\t\ttranscriptReserveCoordinator = coordinator;\n\t\t\t\t\t\t\tthis.documentContainer.addChild(coordinator);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ttranscriptReserveCoordinator = coordinator;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treleaseTranscriptReserveRegistration = coordinator.register(pendingReserve);\n\t\t\t\t\t}\n\t\t\t\t\tlet releaseDeferral: (() => void) | undefined;\n\t\t\t\t\tlet hiddenByCaller = false;\n\t\t\t\t\tlet hiddenForNavigation = false;\n\t\t\t\t\tif (options?.deferInlineCustomUiFocus) {\n\t\t\t\t\t\treleaseDeferral = this.beginInlineCustomUiFocusDeferral();\n\t\t\t\t\t\treleaseOverlayInlineCustomUiFocusDeferral = () => {\n\t\t\t\t\t\t\treleaseDeferral?.();\n\t\t\t\t\t\t\treleaseDeferral = undefined;\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\tif (pendingReserve && !options?.deferInlineCustomUiFocus) {\n\t\t\t\t\t\t// Register before onHandle: caller code may synchronously close this mount.\n\t\t\t\t\t\tconst syncNavigationFocus = () => {\n\t\t\t\t\t\t\thiddenForNavigation =\n\t\t\t\t\t\t\t\tthis.navigationInlineCustomUiDepth > 0 || this.shouldDeferInlineCustomUiFocus();\n\t\t\t\t\t\t\thandle.setHidden(hiddenByCaller || hiddenForNavigation);\n\t\t\t\t\t\t};\n\t\t\t\t\t\treleaseOverlayFocusListener = this.onHostCustomUiStateChange(syncNavigationFocus);\n\t\t\t\t\t\tsyncNavigationFocus();\n\t\t\t\t\t}\n\t\t\t\t\tif (options?.deferInlineCustomUiFocus || pendingReserve) {\n\t\t\t\t\t\tconst release = () => {\n\t\t\t\t\t\t\treleaseOverlayInlineCustomUiFocusDeferral?.();\n\t\t\t\t\t\t\treleaseOverlayInlineCustomUiFocusDeferral = undefined;\n\t\t\t\t\t\t};\n\t\t\t\t\t\tconst wrappedHandle: OverlayHandle = {\n\t\t\t\t\t\t\thide: () => {\n\t\t\t\t\t\t\t\treleaseOverlayFocusListener?.();\n\t\t\t\t\t\t\t\treleaseOverlayFocusListener = undefined;\n\t\t\t\t\t\t\t\trelease();\n\t\t\t\t\t\t\t\treleaseTranscriptReserve();\n\t\t\t\t\t\t\t\thandle.hide();\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tsetHidden: (hidden) => {\n\t\t\t\t\t\t\t\thiddenByCaller = hidden;\n\t\t\t\t\t\t\t\tif (hidden) release();\n\t\t\t\t\t\t\t\thandle.setHidden(hidden || hiddenForNavigation);\n\t\t\t\t\t\t\t\tif (!hidden && options?.deferInlineCustomUiFocus && releaseDeferral === undefined) {\n\t\t\t\t\t\t\t\t\treleaseDeferral = this.beginInlineCustomUiFocusDeferral();\n\t\t\t\t\t\t\t\t\treleaseOverlayInlineCustomUiFocusDeferral = () => {\n\t\t\t\t\t\t\t\t\t\treleaseDeferral?.();\n\t\t\t\t\t\t\t\t\t\treleaseDeferral = undefined;\n\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tisHidden: () => handle.isHidden(),\n\t\t\t\t\t\t\tfocus: () => handle.focus(),\n\t\t\t\t\t\t\tunfocus: (unfocusOptions) => handle.unfocus(unfocusOptions),\n\t\t\t\t\t\t\tisFocused: () => handle.isFocused(),\n\t\t\t\t\t\t\tgetBounds: () => handle.getBounds(),\n\t\t\t\t\t\t};\n\t\t\t\t\t\toverlayHandle = wrappedHandle;\n\t\t\t\t\t\toptions?.onHandle?.(wrappedHandle);\n\t\t\t\t\t} else {\n\t\t\t\t\t\toptions?.onHandle?.(handle);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tinlineMount = component;\n\t\t\t\t\tconst deferFocus = this.shouldDeferInlineCustomUiFocus();\n\t\t\t\t\tthis.pushExtensionDialog(component, undefined, !deferFocus);\n\t\t\t\t\tif (deferFocus) {\n\t\t\t\t\t\tthis.pendingInlineCustomUiFocus = component;\n\t\t\t\t\t\tthis.notifyHostCustomUiStateListeners();\n\t\t\t\t\t}\n\t\t\t\t\tmounted = true;\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\trejectAndClose(err);\n\t\t\t});\n\t});\n};\n\nInteractiveModeBase.prototype.showExtensionError = function (\n\tthis: InteractiveModeBase,\n\textensionPath: string,\n\terror: string,\n\tstack?: string,\n): void {\n\tconst errorMsg = `Extension \"${extensionPath}\" error: ${error}`;\n\tconst errorText = new Text(theme.fg(\"error\", errorMsg), 1, 0);\n\tthis.chatContainer.addChild(errorText);\n\tif (stack) {\n\t\t// Show stack trace in dim color, indented\n\t\tconst stackLines = stack\n\t\t\t.split(\"\\n\")\n\t\t\t.slice(1) // Skip first line (duplicates error message)\n\t\t\t.map((line) => theme.fg(\"dim\", ` ${line.trim()}`))\n\t\t\t.join(\"\\n\");\n\t\tif (stackLines) {\n\t\t\tthis.chatContainer.addChild(new Text(stackLines, 1, 0));\n\t\t}\n\t}\n\tthis.ui.requestRender();\n};\n"]}
1
+ {"version":3,"file":"interactive-extension-custom-ui.js","sourceRoot":"","sources":["../../../src/modes/interactive/interactive-extension-custom-ui.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n\tReservedBottomOverlay,\n\ttype TranscriptOverlayIntersection,\n\tTranscriptOverlayReserve,\n\ttranscriptOverlayIntersection,\n\ttype WrappedOverlayComponent,\n} from \"./components/reserved-bottom-overlay.ts\";\nimport { InteractiveModeBase, isFullscreenTranscriptScrollAction } from \"./interactive-mode-base.ts\";\nimport {\n\ttype Component,\n\ttype KeybindingsManager,\n\ttype OverlayHandle,\n\ttype OverlayOptions,\n\tText,\n\ttype Theme,\n\ttype TUI,\n\ttheme,\n} from \"./interactive-mode-deps.ts\";\nimport type { ExtensionDialogComponent } from \"./interactive-mode-types.ts\";\nimport { isMouseWheelInput, isOverlayMounted } from \"./interactive-tui.ts\";\nimport type { BlockedStatus } from \"./program-status-reporter.ts\";\n\nfunction validateReservedBottomOverlayOptions(options: OverlayOptions | undefined): void {\n\tconst anchor = options?.anchor;\n\tif (anchor !== \"bottom-left\" && anchor !== \"bottom-center\" && anchor !== \"bottom-right\") {\n\t\tthrow new Error(\n\t\t\t\"reserveTranscriptRows requires an explicit bottom anchor: bottom-left, bottom-center, or bottom-right\",\n\t\t);\n\t}\n\tif (options?.row !== undefined) {\n\t\tthrow new Error(\"reserveTranscriptRows does not support overlayOptions.row\");\n\t}\n\tif (options?.offsetY !== undefined && options.offsetY !== 0) {\n\t\tthrow new Error(\"reserveTranscriptRows does not support a nonzero overlayOptions.offsetY\");\n\t}\n}\n\nInteractiveModeBase.prototype.showExtensionNotify = function (\n\tthis: InteractiveModeBase,\n\tmessage: string,\n\ttype?: \"info\" | \"warning\" | \"error\",\n): void {\n\tif (type === \"error\") {\n\t\tthis.showError(message);\n\t} else if (type === \"warning\") {\n\t\tthis.showWarning(message);\n\t} else {\n\t\tthis.showStatus(message);\n\t}\n};\n\nInteractiveModeBase.prototype.showExtensionCustom = async function <T>(\n\tthis: InteractiveModeBase,\n\tfactory: (\n\t\ttui: TUI,\n\t\ttheme: Theme,\n\t\tkeybindings: KeybindingsManager,\n\t\tdone: (result: T) => void,\n\t) => (Component & { dispose?(): void }) | Promise<Component & { dispose?(): void }>,\n\toptions?: {\n\t\tpurpose?: \"prompt\" | \"navigation\";\n\t\toverlay?: boolean;\n\t\tdeferInlineCustomUiFocus?: boolean;\n\t\thandlesInternalUiAction?: boolean;\n\t\treserveTranscriptRows?: boolean;\n\t\tsignal?: AbortSignal;\n\t\toverlayOptions?: OverlayOptions | (() => OverlayOptions);\n\t\tonHandle?: (handle: OverlayHandle) => void;\n\t\tblocked?: BlockedStatus;\n\t},\n): Promise<T> {\n\tconst savedText = this.editor.getText();\n\tconst isOverlay = options?.overlay ?? false;\n\n\tconst restoreEditor = (mount: ExtensionDialogComponent, focusEditor: boolean) => {\n\t\t// Focus fence: a surviving overlay owns input, and taking it away to\n\t\t// \"restore\" the editor would dismiss a newer native dialog.\n\t\tthis.removeExtensionDialog(mount, focusEditor && !this.ui.hasOverlay());\n\t\tthis.editor.setText(savedText);\n\t\tthis.ui.requestRender();\n\t};\n\n\treturn new Promise((resolve, reject) => {\n\t\tlet component: (Component & { dispose?(): void }) | undefined;\n\t\tlet closed = false;\n\t\tlet mounted = false;\n\t\tlet overlayHandle: OverlayHandle | undefined;\n\t\tlet inlineMount: ExtensionDialogComponent | undefined;\n\t\tlet releaseHostInlineCustomUi: (() => void) | undefined;\n\t\tlet releaseOverlayInlineCustomUiFocusDeferral: (() => void) | undefined;\n\t\tlet transcriptReserveCoordinator: TranscriptOverlayReserve | undefined;\n\t\tlet releaseTranscriptReserveRegistration: (() => void) | undefined;\n\t\tlet releaseOverlayFocusListener: (() => void) | undefined;\n\n\t\tconst disposeComponent = () => {\n\t\t\ttry {\n\t\t\t\tcomponent?.dispose?.();\n\t\t\t} catch {\n\t\t\t\t/* ignore dispose errors */\n\t\t\t}\n\t\t};\n\n\t\tconst releaseHostCustomUi = () => {\n\t\t\tif (component !== undefined && this.pendingInlineCustomUiFocus === component) {\n\t\t\t\tthis.pendingInlineCustomUiFocus = undefined;\n\t\t\t\tthis.notifyHostCustomUiStateListeners();\n\t\t\t}\n\t\t\treleaseHostInlineCustomUi?.();\n\t\t};\n\n\t\tconst cleanupAbortListener = () => {\n\t\t\toptions?.signal?.removeEventListener(\"abort\", abortCustomUi);\n\t\t};\n\n\t\tconst releaseTranscriptReserve = () => {\n\t\t\tconst coordinator = transcriptReserveCoordinator;\n\t\t\treleaseTranscriptReserveRegistration?.();\n\t\t\treleaseTranscriptReserveRegistration = undefined;\n\t\t\ttranscriptReserveCoordinator = undefined;\n\t\t\tif (!coordinator) return;\n\t\t\tif (coordinator.empty) {\n\t\t\t\tthis.documentContainer.removeChild(coordinator);\n\t\t\t\tif (this.transcriptOverlayReserve === coordinator) this.transcriptOverlayReserve = undefined;\n\t\t\t}\n\t\t\tthis.ui.requestRender();\n\t\t};\n\n\t\tconst closeMountedUi = () => {\n\t\t\tif (!mounted) return;\n\t\t\tif (isOverlay) {\n\t\t\t\tconst ownedInput = overlayHandle?.isFocused();\n\t\t\t\treleaseOverlayFocusListener?.();\n\t\t\t\treleaseOverlayFocusListener = undefined;\n\t\t\t\treleaseOverlayInlineCustomUiFocusDeferral?.();\n\t\t\t\treleaseOverlayInlineCustomUiFocusDeferral = undefined;\n\t\t\t\treleaseTranscriptReserve();\n\t\t\t\t// Hide THIS overlay, not whatever is on top: during engine-death\n\t\t\t\t// teardown an unrelated native overlay can be above this one, and the\n\t\t\t\t// generic top-overlay call would close that instead.\n\t\t\t\tif (overlayHandle) overlayHandle.hide();\n\t\t\t\telse this.ui.hideOverlay();\n\t\t\t\tif (options?.reserveTranscriptRows && ownedInput && !this.ui.hasOverlay()) {\n\t\t\t\t\t// Navigation may have closed while this prompt waited; its preFocus is stale.\n\t\t\t\t\tthis.ui.setFocus(this.editorContainer.children.at(-1) ?? this.editor);\n\t\t\t\t}\n\t\t\t} else if (inlineMount) {\n\t\t\t\tconst dialogs = this.extensionDialogs;\n\t\t\t\tconst index = dialogs.findIndex((dialog) => dialog.component === inlineMount);\n\t\t\t\tif (index === -1) return;\n\t\t\t\tconst ownsSlot = index === dialogs.length - 1 && this.editorContainer.children.includes(inlineMount);\n\t\t\t\t// An older completion must not clear a newer prompt's editor slot.\n\t\t\t\tif (!ownsSlot) {\n\t\t\t\t\tdialogs.splice(index, 1);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst previous = dialogs.at(-2)?.component;\n\t\t\t\tconst deferFocus = this.shouldDeferInlineCustomUiFocus();\n\t\t\t\tif (previous) {\n\t\t\t\t\tthis.removeExtensionDialog(inlineMount, !deferFocus && !this.ui.hasOverlay());\n\t\t\t\t\tif (deferFocus) {\n\t\t\t\t\t\tthis.pendingInlineCustomUiFocus = previous;\n\t\t\t\t\t\tthis.notifyHostCustomUiStateListeners();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\trestoreEditor(inlineMount, !deferFocus && this.pendingInlineCustomUiFocus !== component);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tconst close = (result: T) => {\n\t\t\tif (closed) return;\n\t\t\tclosed = true;\n\t\t\tcleanupAbortListener();\n\t\t\tcloseMountedUi();\n\t\t\tdisposeComponent();\n\t\t\treleaseHostCustomUi();\n\t\t\tresolve(result);\n\t\t};\n\n\t\tconst rejectAndClose = (reason: unknown) => {\n\t\t\tif (closed) return;\n\t\t\tclosed = true;\n\t\t\tcleanupAbortListener();\n\t\t\tcloseMountedUi();\n\t\t\tdisposeComponent();\n\t\t\treleaseHostCustomUi();\n\t\t\treject(reason);\n\t\t};\n\n\t\tfunction abortCustomUi(): void {\n\t\t\trejectAndClose(options?.signal?.reason ?? new Error(\"Extension custom UI aborted\"));\n\t\t}\n\n\t\tif (options?.signal?.aborted) {\n\t\t\tabortCustomUi();\n\t\t\treturn;\n\t\t}\n\t\treleaseHostInlineCustomUi = isOverlay ? undefined : this.beginHostInlineCustomUi(options?.purpose);\n\t\tif (options?.signal?.aborted) {\n\t\t\tabortCustomUi();\n\t\t\treturn;\n\t\t}\n\t\toptions?.signal?.addEventListener(\"abort\", abortCustomUi, { once: true });\n\n\t\tlet factoryResult: (Component & { dispose?(): void }) | Promise<Component & { dispose?(): void }>;\n\t\ttry {\n\t\t\tfactoryResult = factory(this.ui, theme, this.keybindings, close);\n\t\t} catch (err) {\n\t\t\trejectAndClose(err);\n\t\t\treturn;\n\t\t}\n\n\t\tPromise.resolve(factoryResult)\n\t\t\t.then((c) => {\n\t\t\t\tif (closed) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tc.dispose?.();\n\t\t\t\t\t} catch {\n\t\t\t\t\t\t/* ignore dispose errors */\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tcomponent = c;\n\t\t\t\tif (options?.handlesInternalUiAction === true) {\n\t\t\t\t\t(component as Component & { handlesInternalUiAction?: boolean }).handlesInternalUiAction = true;\n\t\t\t\t}\n\t\t\t\tif (isOverlay) {\n\t\t\t\t\t// Resolve overlay options - can be static or dynamic function\n\t\t\t\t\tconst resolveOptions = (): OverlayOptions | undefined => {\n\t\t\t\t\t\tif (options?.overlayOptions) {\n\t\t\t\t\t\t\tconst opts =\n\t\t\t\t\t\t\t\ttypeof options.overlayOptions === \"function\"\n\t\t\t\t\t\t\t\t\t? options.overlayOptions()\n\t\t\t\t\t\t\t\t\t: options.overlayOptions;\n\t\t\t\t\t\t\treturn opts;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// Fallback: use component's width property if available\n\t\t\t\t\t\tconst w = (component as { width?: number } | undefined)?.width;\n\t\t\t\t\t\treturn w ? { width: w } : undefined;\n\t\t\t\t\t};\n\t\t\t\t\t// A reserving overlay is bounded so a transcript strip always\n\t\t\t\t\t// survives, and the rows it still covers are added to the end of\n\t\t\t\t\t// the document so the scroll clamp can raise them into that strip.\n\t\t\t\t\tconst resolvedOverlayOptions = resolveOptions();\n\t\t\t\t\tlet mountedOverlayOptions = resolvedOverlayOptions;\n\t\t\t\t\tlet mountedComponent = component;\n\t\t\t\t\tlet pendingReserve: (() => TranscriptOverlayIntersection | undefined) | undefined;\n\t\t\t\t\tif (options?.reserveTranscriptRows === true) {\n\t\t\t\t\t\tvalidateReservedBottomOverlayOptions(resolvedOverlayOptions);\n\t\t\t\t\t\t// `custom()` documents the richer `ExtensionCustomComponent`\n\t\t\t\t\t\t// contract; this signature still names pi-tui's narrower one.\n\t\t\t\t\t\tconst bounded = new ReservedBottomOverlay(\n\t\t\t\t\t\t\tcomponent as WrappedOverlayComponent,\n\t\t\t\t\t\t\t() => this.ui.terminal.rows,\n\t\t\t\t\t\t\tresolvedOverlayOptions?.margin,\n\t\t\t\t\t\t\tresolvedOverlayOptions?.maxHeight,\n\t\t\t\t\t\t\t(data) => isFullscreenTranscriptScrollAction(data, this.keybindings) || isMouseWheelInput(data),\n\t\t\t\t\t\t\t() => this.ui.requestRender(),\n\t\t\t\t\t\t);\n\t\t\t\t\t\tmountedComponent = bounded;\n\t\t\t\t\t\tif (resolvedOverlayOptions?.maxHeight !== undefined) {\n\t\t\t\t\t\t\tmountedOverlayOptions = { ...resolvedOverlayOptions };\n\t\t\t\t\t\t\tdelete mountedOverlayOptions.maxHeight;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// A raw host reset can remove the exact overlay without touching its\n\t\t\t\t\t\t// handle. Stop reserving in that frame, then remove the registration\n\t\t\t\t\t\t// after the document render traversal finishes.\n\t\t\t\t\t\tlet removalObserved = false;\n\t\t\t\t\t\tconst overlayShowing = (): boolean => {\n\t\t\t\t\t\t\tif (!isOverlayMounted(this.ui, mountedComponent)) {\n\t\t\t\t\t\t\t\tif (!removalObserved) {\n\t\t\t\t\t\t\t\t\tremovalObserved = true;\n\t\t\t\t\t\t\t\t\tqueueMicrotask(releaseTranscriptReserve);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (overlayHandle === undefined || overlayHandle.isHidden()) return false;\n\t\t\t\t\t\t\tconst visible = resolvedOverlayOptions?.visible;\n\t\t\t\t\t\t\treturn visible === undefined ? true : visible(this.ui.terminal.columns, this.ui.terminal.rows);\n\t\t\t\t\t\t};\n\t\t\t\t\t\tpendingReserve = () =>\n\t\t\t\t\t\t\toverlayShowing()\n\t\t\t\t\t\t\t\t? transcriptOverlayIntersection(\n\t\t\t\t\t\t\t\t\t\tbounded.renderedHeight,\n\t\t\t\t\t\t\t\t\t\tthis.ui.terminal.rows,\n\t\t\t\t\t\t\t\t\t\tthis.transcriptScrollView?.viewportHeight ?? 0,\n\t\t\t\t\t\t\t\t\t\tresolvedOverlayOptions?.margin,\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t: undefined;\n\t\t\t\t\t}\n\t\t\t\t\tconst handle = this.ui.showOverlay(mountedComponent, mountedOverlayOptions);\n\t\t\t\t\toverlayHandle = handle;\n\t\t\t\t\tmounted = true;\n\t\t\t\t\t// Register only once the overlay is really up and `mounted` is\n\t\t\t\t\t// set: a throw before this point must not leave a registry entry\n\t\t\t\t\t// or blank-row component in the transcript document.\n\t\t\t\t\tif (pendingReserve) {\n\t\t\t\t\t\tlet coordinator = this.transcriptOverlayReserve;\n\t\t\t\t\t\tif (!coordinator) {\n\t\t\t\t\t\t\tcoordinator = new TranscriptOverlayReserve(() => this.transcriptScrollView?.viewportHeight ?? 0);\n\t\t\t\t\t\t\tthis.transcriptOverlayReserve = coordinator;\n\t\t\t\t\t\t\ttranscriptReserveCoordinator = coordinator;\n\t\t\t\t\t\t\tthis.documentContainer.addChild(coordinator);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ttranscriptReserveCoordinator = coordinator;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treleaseTranscriptReserveRegistration = coordinator.register(pendingReserve);\n\t\t\t\t\t}\n\t\t\t\t\tlet releaseDeferral: (() => void) | undefined;\n\t\t\t\t\tlet hiddenByCaller = false;\n\t\t\t\t\tlet hiddenForNavigation = false;\n\t\t\t\t\tif (options?.deferInlineCustomUiFocus) {\n\t\t\t\t\t\treleaseDeferral = this.beginInlineCustomUiFocusDeferral();\n\t\t\t\t\t\treleaseOverlayInlineCustomUiFocusDeferral = () => {\n\t\t\t\t\t\t\treleaseDeferral?.();\n\t\t\t\t\t\t\treleaseDeferral = undefined;\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\tif (pendingReserve && !options?.deferInlineCustomUiFocus) {\n\t\t\t\t\t\t// Register before onHandle: caller code may synchronously close this mount.\n\t\t\t\t\t\tconst syncNavigationFocus = () => {\n\t\t\t\t\t\t\thiddenForNavigation =\n\t\t\t\t\t\t\t\tthis.navigationInlineCustomUiDepth > 0 || this.shouldDeferInlineCustomUiFocus();\n\t\t\t\t\t\t\thandle.setHidden(hiddenByCaller || hiddenForNavigation);\n\t\t\t\t\t\t};\n\t\t\t\t\t\treleaseOverlayFocusListener = this.onHostCustomUiStateChange(syncNavigationFocus);\n\t\t\t\t\t\tsyncNavigationFocus();\n\t\t\t\t\t}\n\t\t\t\t\tif (options?.deferInlineCustomUiFocus || pendingReserve) {\n\t\t\t\t\t\tconst release = () => {\n\t\t\t\t\t\t\treleaseOverlayInlineCustomUiFocusDeferral?.();\n\t\t\t\t\t\t\treleaseOverlayInlineCustomUiFocusDeferral = undefined;\n\t\t\t\t\t\t};\n\t\t\t\t\t\tconst wrappedHandle: OverlayHandle = {\n\t\t\t\t\t\t\thide: () => {\n\t\t\t\t\t\t\t\treleaseOverlayFocusListener?.();\n\t\t\t\t\t\t\t\treleaseOverlayFocusListener = undefined;\n\t\t\t\t\t\t\t\trelease();\n\t\t\t\t\t\t\t\treleaseTranscriptReserve();\n\t\t\t\t\t\t\t\thandle.hide();\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tsetHidden: (hidden) => {\n\t\t\t\t\t\t\t\thiddenByCaller = hidden;\n\t\t\t\t\t\t\t\tif (hidden) release();\n\t\t\t\t\t\t\t\thandle.setHidden(hidden || hiddenForNavigation);\n\t\t\t\t\t\t\t\tif (!hidden && options?.deferInlineCustomUiFocus && releaseDeferral === undefined) {\n\t\t\t\t\t\t\t\t\treleaseDeferral = this.beginInlineCustomUiFocusDeferral();\n\t\t\t\t\t\t\t\t\treleaseOverlayInlineCustomUiFocusDeferral = () => {\n\t\t\t\t\t\t\t\t\t\treleaseDeferral?.();\n\t\t\t\t\t\t\t\t\t\treleaseDeferral = undefined;\n\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tisHidden: () => handle.isHidden(),\n\t\t\t\t\t\t\tfocus: () => handle.focus(),\n\t\t\t\t\t\t\tunfocus: (unfocusOptions) => handle.unfocus(unfocusOptions),\n\t\t\t\t\t\t\tisFocused: () => handle.isFocused(),\n\t\t\t\t\t\t\tgetBounds: () => handle.getBounds(),\n\t\t\t\t\t\t};\n\t\t\t\t\t\toverlayHandle = wrappedHandle;\n\t\t\t\t\t\toptions?.onHandle?.(wrappedHandle);\n\t\t\t\t\t} else {\n\t\t\t\t\t\toptions?.onHandle?.(handle);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tinlineMount = component;\n\t\t\t\t\tconst deferFocus = this.shouldDeferInlineCustomUiFocus();\n\t\t\t\t\tthis.pushExtensionDialog(component, options?.blocked, !deferFocus);\n\t\t\t\t\tif (deferFocus) {\n\t\t\t\t\t\tthis.pendingInlineCustomUiFocus = component;\n\t\t\t\t\t\tthis.notifyHostCustomUiStateListeners();\n\t\t\t\t\t}\n\t\t\t\t\tmounted = true;\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\trejectAndClose(err);\n\t\t\t});\n\t});\n};\n\nInteractiveModeBase.prototype.showExtensionError = function (\n\tthis: InteractiveModeBase,\n\textensionPath: string,\n\terror: string,\n\tstack?: string,\n): void {\n\tconst errorMsg = `Extension \"${extensionPath}\" error: ${error}`;\n\tconst errorText = new Text(theme.fg(\"error\", errorMsg), 1, 0);\n\tthis.chatContainer.addChild(errorText);\n\tif (stack) {\n\t\t// Show stack trace in dim color, indented\n\t\tconst stackLines = stack\n\t\t\t.split(\"\\n\")\n\t\t\t.slice(1) // Skip first line (duplicates error message)\n\t\t\t.map((line) => theme.fg(\"dim\", ` ${line.trim()}`))\n\t\t\t.join(\"\\n\");\n\t\tif (stackLines) {\n\t\t\tthis.chatContainer.addChild(new Text(stackLines, 1, 0));\n\t\t}\n\t}\n\tthis.ui.requestRender();\n};\n"]}
@@ -81,8 +81,12 @@ InteractiveModeBase.prototype.setCustomEditorComponent = function (factory) {
81
81
  this.editorComponentFactory = factory;
82
82
  // Save text from current editor before switching
83
83
  const currentText = this.editor.getText();
84
- this.disposeActiveSelector();
85
- this.editorContainer.clear();
84
+ // An open extension dialog keeps the editor slot; the new editor is shown when the last dialog closes.
85
+ const dialogOpen = this.extensionDialogs.length > 0;
86
+ if (!dialogOpen) {
87
+ this.disposeActiveSelector();
88
+ this.editorContainer.clear();
89
+ }
86
90
  if (factory) {
87
91
  // Create the custom editor with tui, theme, and keybindings
88
92
  const newEditor = factory(this.ui, getEditorTheme(), this.keybindings);
@@ -133,14 +137,16 @@ InteractiveModeBase.prototype.setCustomEditorComponent = function (factory) {
133
137
  this.defaultEditor.setText(currentText);
134
138
  this.editor = this.defaultEditor;
135
139
  }
136
- this.editorContainer.addChild(this.editor);
140
+ if (!dialogOpen)
141
+ this.editorContainer.addChild(this.editor);
137
142
  if (this.loadingAnimation instanceof AtomicWorkingLoader) {
138
143
  this.statusContainer.clear();
139
144
  this.workingIndicatorEmbedded = this.setEditorWorkingStatusIndicator(this.loadingAnimation);
140
145
  if (!this.workingIndicatorEmbedded)
141
146
  this.statusContainer.addChild(this.loadingAnimation);
142
147
  }
143
- this.ui.setFocus(this.editor);
148
+ if (!dialogOpen)
149
+ this.ui.setFocus(this.editor);
144
150
  this.ui.requestRender();
145
151
  };
146
152
  //# sourceMappingURL=interactive-extension-dialogs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"interactive-extension-dialogs.js","sourceRoot":"","sources":["../../../src/modes/interactive/interactive-extension-dialogs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAGN,wBAAwB,EACxB,uBAAuB,EACvB,0BAA0B,EAE1B,6BAA6B,EAC7B,cAAc,GAEd,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAGpE,mBAAmB,CAAC,SAAS,CAAC,qBAAqB,GAAG,UAErD,KAAa,EACb,OAAiB,EACjB,IAA+B,EAC/B,OAAO,GAAkB,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE;IAE7D,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,OAAO,mBAAmB,CACzB,IAAI,CAAC,eAAe,EACpB,KAAK,EACL,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,EAC3D,IAAI,CACJ,CAAC;IACH,CAAC;IACD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC9B,IAAI,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;YAC3B,OAAO,CAAC,SAAS,CAAC,CAAC;YACnB,OAAO;QACR,CAAC;QAED,MAAM,MAAM,GAAG,CAAC,MAA0B,EAAE,EAAE;YAC7C,IAAI,EAAE,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACpD,QAAQ,CAAC,OAAO,EAAE,CAAC;YACnB,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;YACrC,OAAO,CAAC,MAAM,CAAC,CAAC;QACjB,CAAC,CAAC;QACF,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,EAAE,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAEjE,MAAM,QAAQ,GAAG,IAAI,0BAA0B,CAC9C,KAAK,EACL,OAAO,EACP,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAC1B,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,EACvB;YACC,GAAG,EAAE,IAAI,CAAC,EAAE;YACZ,OAAO,EAAE,IAAI,EAAE,OAAO;YACtB,qBAAqB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,yBAAyB,EAAE;SAC7D,CACD,CAAC;QACF,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,mBAAmB,CAAC,SAAS,CAAC,oBAAoB,GAAG,KAAK,WAEzD,KAAa,EACb,OAAe,EACf,IAA+B;IAE/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,GAAG,KAAK,KAAK,OAAO,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE;QAC5F,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,KAAK;KACd,CAAC,CAAC;IACH,OAAO,MAAM,KAAK,KAAK,CAAC;AACzB,CAAC,CAAC;AAEF,mBAAmB,CAAC,SAAS,CAAC,0BAA0B,GAAG,KAAK,WAE/D,KAA6B;IAE7B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAChD,uBAAuB,EACvB,6BAA6B,CAAC,KAAK,CAAC,KAAK,CAAC,CAC1C,CAAC;IACF,OAAO,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;AACxD,CAAC,CAAC;AAEF,mBAAmB,CAAC,SAAS,CAAC,kBAAkB,GAAG,UAElD,KAAa,EACb,WAAoB,EACpB,IAA+B;IAE/B,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,OAAO,gBAAgB,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC9B,IAAI,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;YAC3B,OAAO,CAAC,SAAS,CAAC,CAAC;YACnB,OAAO;QACR,CAAC;QAED,MAAM,MAAM,GAAG,CAAC,KAAyB,EAAE,EAAE;YAC5C,IAAI,EAAE,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACpD,KAAK,CAAC,OAAO,EAAE,CAAC;YAChB,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;YAClC,OAAO,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,CAAC;QACF,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,EAAE,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAEjE,MAAM,KAAK,GAAG,IAAI,uBAAuB,CACxC,KAAK,EACL,WAAW,EACX,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EACxB,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,EACvB,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CACxC,CAAC;QACF,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,mBAAmB,CAAC,SAAS,CAAC,mBAAmB,GAAG,UAEnD,KAAa,EACb,OAAgB,EAChB,IAA+B;IAE/B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC9B,IAAI,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;YAC3B,OAAO,CAAC,SAAS,CAAC,CAAC;YACnB,OAAO;QACR,CAAC;QAED,MAAM,MAAM,GAAG,CAAC,KAAyB,EAAE,EAAE;YAC5C,IAAI,EAAE,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACpD,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;YACnC,OAAO,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,CAAC;QACF,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,EAAE,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAEjE,MAAM,MAAM,GAAG,IAAI,wBAAwB,CAC1C,IAAI,CAAC,EAAE,EACP,IAAI,CAAC,WAAW,EAChB,KAAK,EACL,OAAO,EACP,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EACxB,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,EACvB,SAAS,EACT,IAAI,CAAC,eAAe,CAAC,wBAAwB,EAAE,CAC/C,CAAC;QACF,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,mBAAmB,CAAC,SAAS,CAAC,wBAAwB,GAAG,UAExD,OAAkC;IAElC,IAAI,CAAC,sBAAsB,GAAG,OAAO,CAAC;IAEtC,iDAAiD;IACjD,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IAE1C,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC7B,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IAE7B,IAAI,OAAO,EAAE,CAAC;QACb,4DAA4D;QAC5D,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,cAAc,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAEvE,4CAA4C;QAC5C,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;QACjD,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;QAEjD,iCAAiC;QACjC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAE/B,wCAAwC;QACxC,IAAI,SAAS,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACzC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;QACxD,CAAC;QACD,IAAI,SAAS,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACzC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC;QACzD,CAAC;QAED,gCAAgC;QAChC,IAAI,SAAS,CAAC,yBAAyB,KAAK,SAAS,EAAE,CAAC;YACvD,SAAS,CAAC,yBAAyB,CAAC,IAAI,CAAC,aAAa,CAAC,yBAAyB,EAAE,CAAC,CAAC;QACrF,CAAC;QACD,IAAI,SAAS,CAAC,uBAAuB,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACpE,SAAS,CAAC,uBAAuB,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC9D,CAAC;QAED,qDAAqD;QACrD,uEAAuE;QACvE,MAAM,YAAY,GAAG,SAA+C,CAAC;QACrE,IAAI,gBAAgB,IAAI,YAAY,IAAI,YAAY,CAAC,cAAc,YAAY,GAAG,EAAE,CAAC;YACpF,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;gBAC5B,YAAY,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC/D,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;gBAC3B,YAAY,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC;YAC7D,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;gBAChC,YAAY,CAAC,YAAY,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,EAAE,CAAC;YACvE,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,CAAC;gBACvC,YAAY,CAAC,mBAAmB,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAC,IAAI,CAAC,CAAC;YACrG,CAAC;YACD,+DAA+D;YAC/D,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC;gBAClE,YAAY,CAAC,cAA0C,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAC/E,CAAC;QACF,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;IACzB,CAAC;SAAM,CAAC;QACP,sDAAsD;QACtD,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC;IAClC,CAAC;IAED,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAmB,CAAC,CAAC;IACxD,IAAI,IAAI,CAAC,gBAAgB,YAAY,mBAAmB,EAAE,CAAC;QAC1D,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC5F,IAAI,CAAC,IAAI,CAAC,wBAAwB;YAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC1F,CAAC;IACD,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAmB,CAAC,CAAC;IAC3C,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC;AACzB,CAAC,CAAC","sourcesContent":["import { showStartupInput, showStartupSelector } from \"../../cli/startup-ui.ts\";\nimport { AtomicWorkingLoader } from \"./components/atomic-working-status.ts\";\nimport { InteractiveModeBase } from \"./interactive-mode-base.ts\";\nimport {\n\ttype Component,\n\ttype EditorFactory,\n\tExtensionEditorComponent,\n\tExtensionInputComponent,\n\tExtensionSelectorComponent,\n\ttype ExtensionUIDialogOptions,\n\tformatMissingSessionCwdPrompt,\n\tgetEditorTheme,\n\ttype MissingSessionCwdError,\n} from \"./interactive-mode-deps.ts\";\nimport { isStartupTrustHeld } from \"./interactive-startup-trust.ts\";\nimport type { BlockedStatus } from \"./program-status-reporter.ts\";\n\nInteractiveModeBase.prototype.showExtensionSelector = function (\n\tthis: InteractiveModeBase,\n\ttitle: string,\n\toptions: string[],\n\topts?: ExtensionUIDialogOptions,\n\tblocked: BlockedStatus = { kind: \"question\", message: title },\n): Promise<string | undefined> {\n\tif (isStartupTrustHeld(this)) {\n\t\treturn showStartupSelector(\n\t\t\tthis.settingsManager,\n\t\t\ttitle,\n\t\t\toptions.map((option) => ({ label: option, value: option })),\n\t\t\topts,\n\t\t);\n\t}\n\treturn new Promise((resolve) => {\n\t\tif (opts?.signal?.aborted) {\n\t\t\tresolve(undefined);\n\t\t\treturn;\n\t\t}\n\n\t\tconst finish = (option: string | undefined) => {\n\t\t\topts?.signal?.removeEventListener(\"abort\", onAbort);\n\t\t\tselector.dispose();\n\t\t\tthis.removeExtensionDialog(selector);\n\t\t\tresolve(option);\n\t\t};\n\t\tconst onAbort = () => finish(undefined);\n\t\topts?.signal?.addEventListener(\"abort\", onAbort, { once: true });\n\n\t\tconst selector = new ExtensionSelectorComponent(\n\t\t\ttitle,\n\t\t\toptions,\n\t\t\t(option) => finish(option),\n\t\t\t() => finish(undefined),\n\t\t\t{\n\t\t\t\ttui: this.ui,\n\t\t\t\ttimeout: opts?.timeout,\n\t\t\t\tonToggleToolsExpanded: () => this.toggleToolOutputExpansion(),\n\t\t\t},\n\t\t);\n\t\tthis.pushExtensionDialog(selector, blocked);\n\t});\n};\n\nInteractiveModeBase.prototype.showExtensionConfirm = async function (\n\tthis: InteractiveModeBase,\n\ttitle: string,\n\tmessage: string,\n\topts?: ExtensionUIDialogOptions,\n): Promise<boolean> {\n\tconst result = await this.showExtensionSelector(`${title}\\n${message}`, [\"Yes\", \"No\"], opts, {\n\t\tkind: \"permission\",\n\t\tmessage: title,\n\t});\n\treturn result === \"Yes\";\n};\n\nInteractiveModeBase.prototype.promptForMissingSessionCwd = async function (\n\tthis: InteractiveModeBase,\n\terror: MissingSessionCwdError,\n): Promise<string | undefined> {\n\tconst confirmed = await this.showExtensionConfirm(\n\t\t\"Session cwd not found\",\n\t\tformatMissingSessionCwdPrompt(error.issue),\n\t);\n\treturn confirmed ? error.issue.fallbackCwd : undefined;\n};\n\nInteractiveModeBase.prototype.showExtensionInput = function (\n\tthis: InteractiveModeBase,\n\ttitle: string,\n\tplaceholder?: string,\n\topts?: ExtensionUIDialogOptions,\n): Promise<string | undefined> {\n\tif (isStartupTrustHeld(this)) {\n\t\treturn showStartupInput(this.settingsManager, title, placeholder, opts);\n\t}\n\treturn new Promise((resolve) => {\n\t\tif (opts?.signal?.aborted) {\n\t\t\tresolve(undefined);\n\t\t\treturn;\n\t\t}\n\n\t\tconst finish = (value: string | undefined) => {\n\t\t\topts?.signal?.removeEventListener(\"abort\", onAbort);\n\t\t\tinput.dispose();\n\t\t\tthis.removeExtensionDialog(input);\n\t\t\tresolve(value);\n\t\t};\n\t\tconst onAbort = () => finish(undefined);\n\t\topts?.signal?.addEventListener(\"abort\", onAbort, { once: true });\n\n\t\tconst input = new ExtensionInputComponent(\n\t\t\ttitle,\n\t\t\tplaceholder,\n\t\t\t(value) => finish(value),\n\t\t\t() => finish(undefined),\n\t\t\t{ tui: this.ui, timeout: opts?.timeout },\n\t\t);\n\t\tthis.pushExtensionDialog(input, { kind: \"question\", message: title });\n\t});\n};\n\nInteractiveModeBase.prototype.showExtensionEditor = function (\n\tthis: InteractiveModeBase,\n\ttitle: string,\n\tprefill?: string,\n\topts?: ExtensionUIDialogOptions,\n): Promise<string | undefined> {\n\treturn new Promise((resolve) => {\n\t\tif (opts?.signal?.aborted) {\n\t\t\tresolve(undefined);\n\t\t\treturn;\n\t\t}\n\n\t\tconst finish = (value: string | undefined) => {\n\t\t\topts?.signal?.removeEventListener(\"abort\", onAbort);\n\t\t\tthis.removeExtensionDialog(editor);\n\t\t\tresolve(value);\n\t\t};\n\t\tconst onAbort = () => finish(undefined);\n\t\topts?.signal?.addEventListener(\"abort\", onAbort, { once: true });\n\n\t\tconst editor = new ExtensionEditorComponent(\n\t\t\tthis.ui,\n\t\t\tthis.keybindings,\n\t\t\ttitle,\n\t\t\tprefill,\n\t\t\t(value) => finish(value),\n\t\t\t() => finish(undefined),\n\t\t\tundefined,\n\t\t\tthis.settingsManager.getExternalEditorCommand(),\n\t\t);\n\t\tthis.pushExtensionDialog(editor, { kind: \"question\", message: title });\n\t});\n};\n\nInteractiveModeBase.prototype.setCustomEditorComponent = function (\n\tthis: InteractiveModeBase,\n\tfactory: EditorFactory | undefined,\n): void {\n\tthis.editorComponentFactory = factory;\n\n\t// Save text from current editor before switching\n\tconst currentText = this.editor.getText();\n\n\tthis.disposeActiveSelector();\n\tthis.editorContainer.clear();\n\n\tif (factory) {\n\t\t// Create the custom editor with tui, theme, and keybindings\n\t\tconst newEditor = factory(this.ui, getEditorTheme(), this.keybindings);\n\n\t\t// Wire up callbacks from the default editor\n\t\tnewEditor.onSubmit = this.defaultEditor.onSubmit;\n\t\tnewEditor.onChange = this.defaultEditor.onChange;\n\n\t\t// Copy text from previous editor\n\t\tnewEditor.setText(currentText);\n\n\t\t// Copy appearance settings if supported\n\t\tif (newEditor.borderColor !== undefined) {\n\t\t\tnewEditor.borderColor = this.defaultEditor.borderColor;\n\t\t}\n\t\tif (newEditor.setPaddingX !== undefined) {\n\t\t\tnewEditor.setPaddingX(this.defaultEditor.getPaddingX());\n\t\t}\n\n\t\t// Set autocomplete if supported\n\t\tif (newEditor.setAutocompleteMaxVisible !== undefined) {\n\t\t\tnewEditor.setAutocompleteMaxVisible(this.defaultEditor.getAutocompleteMaxVisible());\n\t\t}\n\t\tif (newEditor.setAutocompleteProvider && this.autocompleteProvider) {\n\t\t\tnewEditor.setAutocompleteProvider(this.autocompleteProvider);\n\t\t}\n\n\t\t// If extending CustomEditor, copy app-level handlers\n\t\t// Use duck typing since instanceof fails across jiti module boundaries\n\t\tconst customEditor = newEditor as unknown as Record<string, unknown>;\n\t\tif (\"actionHandlers\" in customEditor && customEditor.actionHandlers instanceof Map) {\n\t\t\tif (!customEditor.onEscape) {\n\t\t\t\tcustomEditor.onEscape = () => this.defaultEditor.onEscape?.();\n\t\t\t}\n\t\t\tif (!customEditor.onCtrlD) {\n\t\t\t\tcustomEditor.onCtrlD = () => this.defaultEditor.onCtrlD?.();\n\t\t\t}\n\t\t\tif (!customEditor.onPasteImage) {\n\t\t\t\tcustomEditor.onPasteImage = () => this.defaultEditor.onPasteImage?.();\n\t\t\t}\n\t\t\tif (!customEditor.onExtensionShortcut) {\n\t\t\t\tcustomEditor.onExtensionShortcut = (data: string) => this.defaultEditor.onExtensionShortcut?.(data);\n\t\t\t}\n\t\t\t// Copy action handlers (clear, suspend, model switching, etc.)\n\t\t\tfor (const [action, handler] of this.defaultEditor.actionHandlers) {\n\t\t\t\t(customEditor.actionHandlers as Map<string, () => void>).set(action, handler);\n\t\t\t}\n\t\t}\n\n\t\tthis.editor = newEditor;\n\t} else {\n\t\t// Restore default editor with text from custom editor\n\t\tthis.defaultEditor.setText(currentText);\n\t\tthis.editor = this.defaultEditor;\n\t}\n\n\tthis.editorContainer.addChild(this.editor as Component);\n\tif (this.loadingAnimation instanceof AtomicWorkingLoader) {\n\t\tthis.statusContainer.clear();\n\t\tthis.workingIndicatorEmbedded = this.setEditorWorkingStatusIndicator(this.loadingAnimation);\n\t\tif (!this.workingIndicatorEmbedded) this.statusContainer.addChild(this.loadingAnimation);\n\t}\n\tthis.ui.setFocus(this.editor as Component);\n\tthis.ui.requestRender();\n};\n"]}
1
+ {"version":3,"file":"interactive-extension-dialogs.js","sourceRoot":"","sources":["../../../src/modes/interactive/interactive-extension-dialogs.ts"],"names":[],"mappings":"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","sourcesContent":["import { showStartupInput, showStartupSelector } from \"../../cli/startup-ui.ts\";\nimport { AtomicWorkingLoader } from \"./components/atomic-working-status.ts\";\nimport { InteractiveModeBase } from \"./interactive-mode-base.ts\";\nimport {\n\ttype Component,\n\ttype EditorFactory,\n\tExtensionEditorComponent,\n\tExtensionInputComponent,\n\tExtensionSelectorComponent,\n\ttype ExtensionUIDialogOptions,\n\tformatMissingSessionCwdPrompt,\n\tgetEditorTheme,\n\ttype MissingSessionCwdError,\n} from \"./interactive-mode-deps.ts\";\nimport { isStartupTrustHeld } from \"./interactive-startup-trust.ts\";\nimport type { BlockedStatus } from \"./program-status-reporter.ts\";\n\nInteractiveModeBase.prototype.showExtensionSelector = function (\n\tthis: InteractiveModeBase,\n\ttitle: string,\n\toptions: string[],\n\topts?: ExtensionUIDialogOptions,\n\tblocked: BlockedStatus = { kind: \"question\", message: title },\n): Promise<string | undefined> {\n\tif (isStartupTrustHeld(this)) {\n\t\treturn showStartupSelector(\n\t\t\tthis.settingsManager,\n\t\t\ttitle,\n\t\t\toptions.map((option) => ({ label: option, value: option })),\n\t\t\topts,\n\t\t);\n\t}\n\treturn new Promise((resolve) => {\n\t\tif (opts?.signal?.aborted) {\n\t\t\tresolve(undefined);\n\t\t\treturn;\n\t\t}\n\n\t\tconst finish = (option: string | undefined) => {\n\t\t\topts?.signal?.removeEventListener(\"abort\", onAbort);\n\t\t\tselector.dispose();\n\t\t\tthis.removeExtensionDialog(selector);\n\t\t\tresolve(option);\n\t\t};\n\t\tconst onAbort = () => finish(undefined);\n\t\topts?.signal?.addEventListener(\"abort\", onAbort, { once: true });\n\n\t\tconst selector = new ExtensionSelectorComponent(\n\t\t\ttitle,\n\t\t\toptions,\n\t\t\t(option) => finish(option),\n\t\t\t() => finish(undefined),\n\t\t\t{\n\t\t\t\ttui: this.ui,\n\t\t\t\ttimeout: opts?.timeout,\n\t\t\t\tonToggleToolsExpanded: () => this.toggleToolOutputExpansion(),\n\t\t\t},\n\t\t);\n\t\tthis.pushExtensionDialog(selector, blocked);\n\t});\n};\n\nInteractiveModeBase.prototype.showExtensionConfirm = async function (\n\tthis: InteractiveModeBase,\n\ttitle: string,\n\tmessage: string,\n\topts?: ExtensionUIDialogOptions,\n): Promise<boolean> {\n\tconst result = await this.showExtensionSelector(`${title}\\n${message}`, [\"Yes\", \"No\"], opts, {\n\t\tkind: \"permission\",\n\t\tmessage: title,\n\t});\n\treturn result === \"Yes\";\n};\n\nInteractiveModeBase.prototype.promptForMissingSessionCwd = async function (\n\tthis: InteractiveModeBase,\n\terror: MissingSessionCwdError,\n): Promise<string | undefined> {\n\tconst confirmed = await this.showExtensionConfirm(\n\t\t\"Session cwd not found\",\n\t\tformatMissingSessionCwdPrompt(error.issue),\n\t);\n\treturn confirmed ? error.issue.fallbackCwd : undefined;\n};\n\nInteractiveModeBase.prototype.showExtensionInput = function (\n\tthis: InteractiveModeBase,\n\ttitle: string,\n\tplaceholder?: string,\n\topts?: ExtensionUIDialogOptions,\n): Promise<string | undefined> {\n\tif (isStartupTrustHeld(this)) {\n\t\treturn showStartupInput(this.settingsManager, title, placeholder, opts);\n\t}\n\treturn new Promise((resolve) => {\n\t\tif (opts?.signal?.aborted) {\n\t\t\tresolve(undefined);\n\t\t\treturn;\n\t\t}\n\n\t\tconst finish = (value: string | undefined) => {\n\t\t\topts?.signal?.removeEventListener(\"abort\", onAbort);\n\t\t\tinput.dispose();\n\t\t\tthis.removeExtensionDialog(input);\n\t\t\tresolve(value);\n\t\t};\n\t\tconst onAbort = () => finish(undefined);\n\t\topts?.signal?.addEventListener(\"abort\", onAbort, { once: true });\n\n\t\tconst input = new ExtensionInputComponent(\n\t\t\ttitle,\n\t\t\tplaceholder,\n\t\t\t(value) => finish(value),\n\t\t\t() => finish(undefined),\n\t\t\t{ tui: this.ui, timeout: opts?.timeout },\n\t\t);\n\t\tthis.pushExtensionDialog(input, { kind: \"question\", message: title });\n\t});\n};\n\nInteractiveModeBase.prototype.showExtensionEditor = function (\n\tthis: InteractiveModeBase,\n\ttitle: string,\n\tprefill?: string,\n\topts?: ExtensionUIDialogOptions,\n): Promise<string | undefined> {\n\treturn new Promise((resolve) => {\n\t\tif (opts?.signal?.aborted) {\n\t\t\tresolve(undefined);\n\t\t\treturn;\n\t\t}\n\n\t\tconst finish = (value: string | undefined) => {\n\t\t\topts?.signal?.removeEventListener(\"abort\", onAbort);\n\t\t\tthis.removeExtensionDialog(editor);\n\t\t\tresolve(value);\n\t\t};\n\t\tconst onAbort = () => finish(undefined);\n\t\topts?.signal?.addEventListener(\"abort\", onAbort, { once: true });\n\n\t\tconst editor = new ExtensionEditorComponent(\n\t\t\tthis.ui,\n\t\t\tthis.keybindings,\n\t\t\ttitle,\n\t\t\tprefill,\n\t\t\t(value) => finish(value),\n\t\t\t() => finish(undefined),\n\t\t\tundefined,\n\t\t\tthis.settingsManager.getExternalEditorCommand(),\n\t\t);\n\t\tthis.pushExtensionDialog(editor, { kind: \"question\", message: title });\n\t});\n};\n\nInteractiveModeBase.prototype.setCustomEditorComponent = function (\n\tthis: InteractiveModeBase,\n\tfactory: EditorFactory | undefined,\n): void {\n\tthis.editorComponentFactory = factory;\n\n\t// Save text from current editor before switching\n\tconst currentText = this.editor.getText();\n\n\t// An open extension dialog keeps the editor slot; the new editor is shown when the last dialog closes.\n\tconst dialogOpen = this.extensionDialogs.length > 0;\n\tif (!dialogOpen) {\n\t\tthis.disposeActiveSelector();\n\t\tthis.editorContainer.clear();\n\t}\n\n\tif (factory) {\n\t\t// Create the custom editor with tui, theme, and keybindings\n\t\tconst newEditor = factory(this.ui, getEditorTheme(), this.keybindings);\n\n\t\t// Wire up callbacks from the default editor\n\t\tnewEditor.onSubmit = this.defaultEditor.onSubmit;\n\t\tnewEditor.onChange = this.defaultEditor.onChange;\n\n\t\t// Copy text from previous editor\n\t\tnewEditor.setText(currentText);\n\n\t\t// Copy appearance settings if supported\n\t\tif (newEditor.borderColor !== undefined) {\n\t\t\tnewEditor.borderColor = this.defaultEditor.borderColor;\n\t\t}\n\t\tif (newEditor.setPaddingX !== undefined) {\n\t\t\tnewEditor.setPaddingX(this.defaultEditor.getPaddingX());\n\t\t}\n\n\t\t// Set autocomplete if supported\n\t\tif (newEditor.setAutocompleteMaxVisible !== undefined) {\n\t\t\tnewEditor.setAutocompleteMaxVisible(this.defaultEditor.getAutocompleteMaxVisible());\n\t\t}\n\t\tif (newEditor.setAutocompleteProvider && this.autocompleteProvider) {\n\t\t\tnewEditor.setAutocompleteProvider(this.autocompleteProvider);\n\t\t}\n\n\t\t// If extending CustomEditor, copy app-level handlers\n\t\t// Use duck typing since instanceof fails across jiti module boundaries\n\t\tconst customEditor = newEditor as unknown as Record<string, unknown>;\n\t\tif (\"actionHandlers\" in customEditor && customEditor.actionHandlers instanceof Map) {\n\t\t\tif (!customEditor.onEscape) {\n\t\t\t\tcustomEditor.onEscape = () => this.defaultEditor.onEscape?.();\n\t\t\t}\n\t\t\tif (!customEditor.onCtrlD) {\n\t\t\t\tcustomEditor.onCtrlD = () => this.defaultEditor.onCtrlD?.();\n\t\t\t}\n\t\t\tif (!customEditor.onPasteImage) {\n\t\t\t\tcustomEditor.onPasteImage = () => this.defaultEditor.onPasteImage?.();\n\t\t\t}\n\t\t\tif (!customEditor.onExtensionShortcut) {\n\t\t\t\tcustomEditor.onExtensionShortcut = (data: string) => this.defaultEditor.onExtensionShortcut?.(data);\n\t\t\t}\n\t\t\t// Copy action handlers (clear, suspend, model switching, etc.)\n\t\t\tfor (const [action, handler] of this.defaultEditor.actionHandlers) {\n\t\t\t\t(customEditor.actionHandlers as Map<string, () => void>).set(action, handler);\n\t\t\t}\n\t\t}\n\n\t\tthis.editor = newEditor;\n\t} else {\n\t\t// Restore default editor with text from custom editor\n\t\tthis.defaultEditor.setText(currentText);\n\t\tthis.editor = this.defaultEditor;\n\t}\n\n\tif (!dialogOpen) this.editorContainer.addChild(this.editor as Component);\n\tif (this.loadingAnimation instanceof AtomicWorkingLoader) {\n\t\tthis.statusContainer.clear();\n\t\tthis.workingIndicatorEmbedded = this.setEditorWorkingStatusIndicator(this.loadingAnimation);\n\t\tif (!this.workingIndicatorEmbedded) this.statusContainer.addChild(this.loadingAnimation);\n\t}\n\tif (!dialogOpen) this.ui.setFocus(this.editor as Component);\n\tthis.ui.requestRender();\n};\n"]}
@@ -206,6 +206,7 @@ declare module "./interactive-mode-base.ts" {
206
206
  signal?: AbortSignal;
207
207
  overlayOptions?: OverlayOptions | (() => OverlayOptions);
208
208
  onHandle?: (handle: OverlayHandle) => void;
209
+ blocked?: BlockedStatus;
209
210
  }): Promise<T>;
210
211
  showExtensionError(extensionPath: string, error: string, stack?: string): void;
211
212
  setupKeyHandlers(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"interactive-mode-surface.d.ts","sourceRoot":"","sources":["../../../src/modes/interactive/interactive-mode-surface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interactive-mode-surface.d.ts","sourceRoot":"","sources":["../../../src/modes/interactive/interactive-mode-surface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,4EAA4E;AAE5E,OAAO,KAAK,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAChH,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,KAAK,EACX,YAAY,EACZ,iBAAiB,EACjB,GAAG,EACH,aAAa,EACb,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,wBAAwB,EACxB,SAAS,EACT,SAAS,EACT,aAAa,EACb,uBAAuB,EACvB,eAAe,EACf,kBAAkB,EAClB,wBAAwB,EACxB,sBAAsB,EACtB,iBAAiB,EACjB,yBAAyB,EACzB,UAAU,EACV,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,EACpB,aAAa,EACb,OAAO,EACP,sBAAsB,EACtB,KAAK,EACL,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,0BAA0B,EAC1B,kBAAkB,EAClB,cAAc,EACd,YAAY,EACZ,UAAU,EACV,KAAK,EACL,GAAG,EACH,wBAAwB,EACxB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAElE,OAAO,QAAQ,4BAA4B,CAAC;IAC3C,UAAU,mBAAmB;QAC5B,wBAAwB,CAAC,UAAU,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;QACtE,6BAA6B,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,EAAE,UAAU,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;QAC5G,oCAAoC,CAAC,eAAe,EAAE,eAAe,GAAG,kBAAkB,EAAE,CAAC;QAC7F,8BAA8B,IAAI,oBAAoB,CAAC;QACvD,wBAAwB,CAAC,aAAa,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,CAAC;QACxE,yBAAyB,IAAI,IAAI,CAAC;QAClC,0BAA0B,CAAC,eAAe,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;QAC9D,yBAAyB,CAAC,eAAe,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;QAC7D,2BAA2B,EAAE,MAAM,GAAG,SAAS,CAAC;QAChD,gCAAgC,EAAE,OAAO,CAAC;QAC1C,qBAAqB,EAAE,OAAO,CAAC;QAC/B,kCAAkC,EAAE,SAAS,EAAE,CAAC;QAChD,mCAAmC,IAAI,IAAI,CAAC;QAC5C,4BAA4B,IAAI,OAAO,CAAC;QACxC,yBAAyB,IAAI,IAAI,CAAC;QAClC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QACtB,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QACzC,yBAAyB,CAAC,eAAe,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACtE,mBAAmB,IAAI,IAAI,CAAC;QAC5B,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QACrB,sBAAsB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5C,sBAAsB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;QACtD,sBAAsB,IAAI,MAAM,GAAG,SAAS,CAAC;QAC7C,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9C,4BAA4B,IAAI,aAAa,CAAC;QAC9C,uBAAuB,IAAI,mBAAmB,EAAE,CAAC;QACjD,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QACrC,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;QACjD,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QACrC,oBAAoB,IAAI,MAAM,CAAC;QAC/B,sBAAsB,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QACzF,sBAAsB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QAC/C,wBAAwB,IAAI,OAAO,CAAC;QACpC,uBAAuB,IAAI,OAAO,CAAC;QACnC,wBAAwB,IAAI,OAAO,CAAC;QACpC,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;QAChE,mBAAmB,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;QAC3E,4BAA4B,CAAC,UAAU,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;QAC9D,wBAAwB,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;QAChF,6BAA6B,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QAC9D,kCAAkC,CACjC,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC,GACnD,MAAM,CAAC;QACV,yBAAyB,CAAC,UAAU,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,UAAU,CAAC,EAAE,UAAU,CAAA;SAAE,CAAC,GAAG,MAAM,EAAE,CAAC;QAClG,oBAAoB,CAAC,UAAU,CAAC,EAAE,UAAU,GAAG;YAC9C,KAAK,EAAE,MAAM,CAAC;YACd,UAAU,CAAC,EAAE,MAAM,CAAC;YACpB,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC;SAC1B,CAAC;QACF,aAAa,CAAC,UAAU,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;QACpE,eAAe,CAAC,UAAU,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;QAClD,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,UAAU,CAAC,EAAE,UAAU,CAAA;SAAE,CAAC,GAAG,KAAK,CAAC;YAChF,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;YACnC,KAAK,EAAE,KAAK,CAAC;gBAAE,IAAI,EAAE,MAAM,CAAC;gBAAC,UAAU,CAAC,EAAE,UAAU,CAAA;aAAE,CAAC,CAAC;YACxD,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC;gBAAE,IAAI,EAAE,MAAM,CAAC;gBAAC,UAAU,CAAC,EAAE,UAAU,CAAA;aAAE,CAAC,CAAC,CAAC;SACxE,CAAC,CAAC;QACH,iBAAiB,CAChB,MAAM,EAAE,KAAK,CAAC;YACb,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;YACnC,KAAK,EAAE,KAAK,CAAC;gBAAE,IAAI,EAAE,MAAM,CAAC;gBAAC,UAAU,CAAC,EAAE,UAAU,CAAA;aAAE,CAAC,CAAC;YACxD,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC;gBAAE,IAAI,EAAE,MAAM,CAAC;gBAAC,UAAU,CAAC,EAAE,UAAU,CAAA;aAAE,CAAC,CAAC,CAAC;SACxE,CAAC,EACF,OAAO,EAAE;YACR,UAAU,EAAE,CAAC,IAAI,EAAE;gBAAE,IAAI,EAAE,MAAM,CAAC;gBAAC,UAAU,CAAC,EAAE,UAAU,CAAA;aAAE,KAAK,MAAM,CAAC;YACxE,iBAAiB,EAAE,CAAC,IAAI,EAAE;gBAAE,IAAI,EAAE,MAAM,CAAC;gBAAC,UAAU,CAAC,EAAE,UAAU,CAAA;aAAE,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;SAC/F,GACC,MAAM,CAAC;QACV,qBAAqB,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,UAAU,GAAG,SAAS,CAAC;QAC/F,oBAAoB,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;QACjE,iBAAiB,CAAC,WAAW,EAAE,SAAS,kBAAkB,EAAE,EAAE,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,MAAM,CAAC;QAC5G,qBAAqB,CAAC,OAAO,EAAE;YAC9B,YAAY,EAAE,aAAa,CAAC;gBAAE,IAAI,EAAE,MAAM,CAAA;aAAE,CAAC,CAAC;YAC9C,MAAM,EAAE,aAAa,CAAC;gBAAE,QAAQ,EAAE,MAAM,CAAC;gBAAC,IAAI,EAAE,MAAM,CAAA;aAAE,CAAC,CAAC;YAC1D,OAAO,EAAE,aAAa,CAAC;gBAAE,QAAQ,EAAE,MAAM,CAAC;gBAAC,IAAI,EAAE,MAAM,CAAA;aAAE,CAAC,CAAC;YAC3D,UAAU,EAAE,aAAa,CAAC;gBAAE,IAAI,EAAE,MAAM,CAAC;gBAAC,UAAU,CAAC,EAAE,UAAU,CAAA;aAAE,CAAC,CAAC;YACrE,gBAAgB,EAAE;gBACjB,OAAO,CAAC,EAAE,MAAM,CAAC;gBACjB,MAAM,CAAC,EAAE,MAAM,CAAC;gBAChB,OAAO,CAAC,EAAE,MAAM,CAAC;gBACjB,UAAU,CAAC,EAAE,MAAM,CAAC;aACpB,CAAC;YACF,eAAe,CAAC,EAAE,SAAS,CAAC;SAC5B,GAAG,IAAI,CAAC;QACT,mBAAmB,CAAC,OAAO,CAAC,EAAE;YAC7B,UAAU,CAAC,EAAE,KAAK,CAAC;gBAAE,IAAI,EAAE,MAAM,CAAC;gBAAC,UAAU,CAAC,EAAE,UAAU,CAAA;aAAE,CAAC,CAAC;YAC9D,KAAK,CAAC,EAAE,OAAO,CAAC;YAChB,wBAAwB,CAAC,EAAE,OAAO,CAAC;YACnC,eAAe,CAAC,EAAE,SAAS,CAAC;SAC5B,GAAG,IAAI,CAAC;QACT,4BAA4B,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9C,oBAAoB,IAAI,IAAI,CAAC;QAC7B,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QACtC,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QACxE,yBAAyB,IAAI,IAAI,CAAC;QAClC,oBAAoB,CAAC,MAAM,EAAE,qBAAqB,GAAG,IAAI,CAAC;QAC1D,2BAA2B,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAAC;QACzE,uBAAuB,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;QAChE,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;QAChE,uBAAuB,IAAI,MAAM,CAAC;QAClC,mBAAmB,IAAI,mBAAmB,CAAC;QAC3C,kBAAkB,IAAI,IAAI,CAAC;QAC3B,iBAAiB,IAAI,IAAI,CAAC;QAC1B,oBAAoB,IAAI,IAAI,CAAC;QAC7B,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;QAC1C,mBAAmB,CAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAAC;QAC5D,sBAAsB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7C,kBAAkB,CACjB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,KAAK,SAAS,GAAG;YAAE,OAAO,CAAC,IAAI,IAAI,CAAA;SAAE,CAAC,GAAG,SAAS,EAC5F,OAAO,CAAC,EAAE,sBAAsB,GAC9B,IAAI,CAAC;QACR,qBAAqB,IAAI,IAAI,CAAC;QAC9B,gBAAgB,IAAI,IAAI,CAAC;QACzB,aAAa,IAAI,IAAI,CAAC;QACtB,qBAAqB,CACpB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG;YAAE,OAAO,CAAC,IAAI,IAAI,CAAA;SAAE,CAAC,EACtD,eAAe,EAAE,OAAO,EACxB,aAAa,EAAE,OAAO,GACpB,IAAI,CAAC;QACR,kBAAkB,CACjB,OAAO,EACJ,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,0BAA0B,KAAK,SAAS,GAAG;YAAE,OAAO,CAAC,IAAI,IAAI,CAAA;SAAE,CAAC,GACpG,SAAS,GACV,IAAI,CAAC;QACR,kBAAkB,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,KAAK,SAAS,GAAG;YAAE,OAAO,CAAC,IAAI,IAAI,CAAA;SAAE,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC;QAC5G,iCAAiC,CAChC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK;YAAE,OAAO,CAAC,EAAE,OAAO,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,SAAS,GACzE,MAAM,IAAI,CAAC;QACd,oCAAoC,IAAI,IAAI,CAAC;QAC7C,oBAAoB,IAAI,iBAAiB,CAAC;QAC1C,gCAAgC,IAAI,IAAI,CAAC;QACzC,uBAAuB,CAAC,OAAO,CAAC,EAAE,QAAQ,GAAG,YAAY,GAAG,MAAM,IAAI,CAAC;QACvE,gCAAgC,IAAI,MAAM,IAAI,CAAC;QAC/C,8BAA8B,IAAI,OAAO,CAAC;QAC1C,uBAAuB,IAAI,OAAO,CAAC;QACnC,yBAAyB,CAAC,QAAQ,EAAE,yBAAyB,GAAG,MAAM,IAAI,CAAC;QAC3E,wBAAwB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;QACxE,4BAA4B,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;QAChD,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,mBAAmB,CAAC;QAC5D,wBAAwB,IAAI,kBAAkB,CAAC;QAC/C,qBAAqB,CACpB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EAAE,EACjB,IAAI,CAAC,EAAE,wBAAwB,EAC/B,OAAO,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;QAC/B,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QACxG,0BAA0B,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;QACvF,kBAAkB,CACjB,KAAK,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,MAAM,EACpB,IAAI,CAAC,EAAE,wBAAwB,GAC7B,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;QAC/B,mBAAmB,CAClB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,wBAAwB,GAC7B,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;QAC/B,wBAAwB,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS,GAAG,IAAI,CAAC;QACnE,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,IAAI,CAAC;QAChF,mBAAmB,CAAC,CAAC,EACpB,OAAO,EAAE,CACR,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,kBAAkB,EAC/B,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,KACrB,CAAC,SAAS,GAAG;YAAE,OAAO,CAAC,IAAI,IAAI,CAAA;SAAE,CAAC,GAAG,OAAO,CAAC,SAAS,GAAG;YAAE,OAAO,CAAC,IAAI,IAAI,CAAA;SAAE,CAAC,EACnF,OAAO,CAAC,EAAE;YACT,OAAO,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAC;YAClC,OAAO,CAAC,EAAE,OAAO,CAAC;YAClB,wBAAwB,CAAC,EAAE,OAAO,CAAC;YACnC,uBAAuB,CAAC,EAAE,OAAO,CAAC;YAClC,4EAA4E;YAC5E,qBAAqB,CAAC,EAAE,OAAO,CAAC;YAChC,MAAM,CAAC,EAAE,WAAW,CAAC;YACrB,cAAc,CAAC,EAAE,cAAc,GAAG,CAAC,MAAM,cAAc,CAAC,CAAC;YACzD,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;YAC3C,OAAO,CAAC,EAAE,aAAa,CAAC;SACxB,GACC,OAAO,CAAC,CAAC,CAAC,CAAC;QACd,kBAAkB,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC/E,gBAAgB,IAAI,IAAI,CAAC;QACzB,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3C,wBAAwB,IAAI,IAAI,CAAC;QACjC,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QAC/C,0BAA0B,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5C,yBAAyB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;QACvD,gBAAgB,IAAI,IAAI,CAAC;QACzB,WAAW,CAAC,KAAK,EAAE,iBAAiB,GAAG,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7E,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC;QAC7C,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;QACrD,4EAA4E;QAC5E,qBAAqB,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;QAChD,oFAAoF;QACpF,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QACzC,wBAAwB,IAAI,wBAAwB,CAAC;QACrD,oBAAoB,CAAC,KAAK,EAAE,gBAAgB,GAAG,SAAS,CAAC;QACzD,2BAA2B,CAAC,MAAM,EAAE,wBAAwB,GAAG,IAAI,CAAC;QACpE,uBAAuB,CAAC,IAAI,EAAE,YAAY,GAAG,gBAAgB,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;QACnF,6BAA6B,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;QAC/D,6BAA6B,IAAI,OAAO,CAAC;QACzC,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE;YAAE,eAAe,CAAC,EAAE,OAAO,CAAA;SAAE,GAAG,IAAI,CAAC;QACvF,oBAAoB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;QAC/C,oBAAoB,CACnB,cAAc,EAAE,cAAc,EAC9B,OAAO,CAAC,EAAE;YAAE,YAAY,CAAC,EAAE,OAAO,CAAC;YAAC,eAAe,CAAC,EAAE,OAAO,CAAA;SAAE,GAC7D,IAAI,CAAC;QACR,oBAAoB,CACnB,OAAO,EAAE,YAAY,EAAE,EACvB,OAAO,CAAC,EAAE;YACT,YAAY,CAAC,EAAE,OAAO,CAAC;YACvB,eAAe,CAAC,EAAE,OAAO,CAAC;YAC1B,0BAA0B,CAAC,EAAE,wBAAwB,CAAC;SACtD,GACC,IAAI,CAAC;QACR,qBAAqB,IAAI,IAAI,CAAC;QAC9B,6BAA6B,CAAC,OAAO,CAAC,EAAE;YAAE,aAAa,CAAC,EAAE,OAAO,CAAA;SAAE,GAAG,IAAI,CAAC;QAC3E,YAAY,IAAI,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAC/C,iBAAiB,CAAC,UAAU,EAAE,qBAAqB,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7E,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5C,gCAAgC,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QACxD,gCAAgC,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACrD,6BAA6B,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/C,uBAAuB,CAAC,OAAO,CAAC,EAAE;YACjC,0BAA0B,CAAC,EAAE,wBAAwB,CAAC;YACtD,sBAAsB,CAAC,EAAE,OAAO,CAAC;SACjC,GAAG,IAAI,CAAC;QACT,WAAW,IAAI,IAAI,CAAC;QACpB,wBAAwB,IAAI,OAAO,CAAC;QACpC,WAAW,IAAI,IAAI,CAAC;QACpB,QAAQ,CAAC,OAAO,CAAC,EAAE;YAAE,UAAU,CAAC,EAAE,OAAO,CAAA;SAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5D,qBAAqB,IAAI,KAAK,CAAC;QAC/B,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC;QACnC,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;QAC1D,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QACxC,sBAAsB,IAAI,IAAI,CAAC;QAC/B,wBAAwB,IAAI,IAAI,CAAC;QACjC,WAAW,IAAI,IAAI,CAAC;QACpB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QAChC,aAAa,IAAI,IAAI,CAAC;QACtB,oBAAoB,IAAI,IAAI,CAAC;QAC7B,uBAAuB,IAAI,IAAI,CAAC;QAChC,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QACpC,UAAU,CAAC,SAAS,EAAE,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7D,yBAAyB,IAAI,IAAI,CAAC;QAClC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;QAC1C,6BAA6B,IAAI,IAAI,CAAC;QACtC,6BAA6B,IAAI,IAAI,CAAC;QACtC,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QACpC,WAAW,IAAI,IAAI,CAAC;QACpB,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;QACtC,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;QACvE,0BAA0B,CAAC,UAAU,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;QAClF,6BAA6B,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,eAAe,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;QACrF,oBAAoB,IAAI;YAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;YAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC;QACnE,cAAc,CAAC,OAAO,CAAC,EAAE;YAAE,iCAAiC,CAAC,EAAE,OAAO,CAAA;SAAE,GAAG;YAC1E,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;SACnB,CAAC;QACF,4BAA4B,IAAI,IAAI,CAAC;QACrC,6BAA6B,CAAC,OAAO,CAAC,EAAE;YACvC,KAAK,CAAC,EAAE,OAAO,CAAC;YAChB,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,iCAAiC,CAAC,EAAE,OAAO,CAAC;SAC5C,GAAG,MAAM,CAAC;QACX,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,UAAU,GAAG,IAAI,CAAC;QACvE,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAC1C,oBAAoB,CAAC,OAAO,CAAC,EAAE;YAAE,SAAS,CAAC,EAAE,OAAO,CAAC;YAAC,WAAW,CAAC,EAAE,OAAO,CAAA;SAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9F,0BAA0B,IAAI,IAAI,CAAC;QACnC,YAAY,CACX,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,IAAI,KAAK;YAAE,SAAS,EAAE,SAAS,CAAC;YAAC,KAAK,EAAE,SAAS,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;SAAE,GAC5F,IAAI,CAAC;QACR,oBAAoB,IAAI,IAAI,CAAC;QAC7B,kBAAkB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACvD,qBAAqB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1D,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACzD,oBAAoB,IAAI,IAAI,CAAC;QAC7B,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;QACzE,kBAAkB,IAAI,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5C,4BAA4B,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9C,uCAAuC,CACtC,KAAK,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,EAC9B,eAAe,CAAC,EAAE,SAAS,GACzB,OAAO,CAAC,IAAI,CAAC,CAAC;QACjB,iBAAiB,CAAC,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACrD,kBAAkB,IAAI,IAAI,CAAC;QAC3B,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QACzC,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QACpC,wCAAwC,IAAI,OAAO,CAAC;QACpD,iBAAiB,IAAI,IAAI,CAAC;QAC1B,gBAAgB,CAAC,iBAAiB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5D,mBAAmB,IAAI,IAAI,CAAC;QAC5B,mBAAmB,CAClB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,UAAU,CAAC,uBAAuB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,EACjE,gBAAgB,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC;YAAE,SAAS,EAAE,OAAO,CAAA;SAAE,CAAC,CAAC;QACnC,uBAAuB,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,oBAAoB,EAAE,CAAC;QAChF,wBAAwB,IAAI,oBAAoB,EAAE,CAAC;QACnD,kBAAkB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACxD,kBAAkB,CAAC,cAAc,EAAE,oBAAoB,EAAE,MAAM,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7F,yBAAyB,CAAC,eAAe,CAAC,EAAE,oBAAoB,EAAE,GAAG,IAAI,CAAC;QAC1E,yBAAyB,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,EAAE,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7F,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,EAAE,kBAAkB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACxF,8BAA8B,CAC7B,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,OAAO,GAAG,SAAS,EAC7B,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,EACrC,OAAO,CAAC,EAAE;YAAE,eAAe,CAAC,EAAE,OAAO,CAAA;SAAE,GACrC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjB,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;QAC5F,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACpG,oBAAoB,CAAC,MAAM,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;QAC3G,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9F,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QACrC,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACjD,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;QACzF,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACjD,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QACpC,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QACnC,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/C,oBAAoB,IAAI,IAAI,CAAC;QAC7B,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QACpC,sBAAsB,IAAI,IAAI,CAAC;QAC/B,gBAAgB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAAC;QAChD,mBAAmB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC;QAChD,mBAAmB,IAAI,IAAI,CAAC;QAC5B,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;QAClD,oBAAoB,IAAI,IAAI,CAAC;QAC7B,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QACpC,kBAAkB,IAAI,IAAI,CAAC;QAC3B,iBAAiB,IAAI,IAAI,CAAC;QAC1B,oBAAoB,IAAI,IAAI,CAAC;QAC7B,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAChF,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,oBAAoB,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;KACxD;CACD"}
@@ -1 +1 @@
1
- {"version":3,"file":"interactive-mode-surface.js","sourceRoot":"","sources":["../../../src/modes/interactive/interactive-mode-surface.ts"],"names":[],"mappings":"","sourcesContent":["import type { AssistantMessage, Usage } from \"@bastani/pi-ai/compat\";\nimport type { ThinkingLevel } from \"@earendil-works/pi-agent-core\";\n/** Method surface installed onto InteractiveModeBase by sibling modules. */\n\nimport type { MarkdownTransformer, SessionRecoveryReason, ToolRenderers } from \"../../core/extensions/types.ts\";\nimport type { CustomEntry, SessionEntry } from \"../../core/session-manager.ts\";\nimport type { FullscreenExitOutput } from \"../../core/settings-manager.ts\";\nimport type { ToolStatus } from \"../../utils/tools-manager.ts\";\nimport type { JsonAgentSessionEvent } from \"../json-event.ts\";\nimport type { AtomicWorkingLoader } from \"./components/atomic-working-status.ts\";\nimport type {\n\tAgentMessage,\n\tAgentSessionEvent,\n\tApi,\n\tAppKeybinding,\n\tAuthSelectorProvider,\n\tAutocompleteProvider,\n\tChatMessageEntry,\n\tChatMessageRenderOptions,\n\tComponent,\n\tContainer,\n\tEditorFactory,\n\tExtensionCommandContext,\n\tExtensionRunner,\n\tExtensionUIContext,\n\tExtensionUIDialogOptions,\n\tExtensionWidgetOptions,\n\tHostCustomUiState,\n\tHostCustomUiStateListener,\n\tKeybinding,\n\tKeybindingsManager,\n\tLoaderIndicatorOptions,\n\tLoginDialogComponent,\n\tMarkdownTheme,\n\tMessage,\n\tMissingSessionCwdError,\n\tModel,\n\tOAuthSelectPrompt,\n\tOverlayHandle,\n\tOverlayOptions,\n\tProjectTrustContext,\n\tReadonlyFooterDataProvider,\n\tResourceDiagnostic,\n\tSessionContext,\n\tSlashCommand,\n\tSourceInfo,\n\tTheme,\n\tTUI,\n\tVerbatimCompactionResult,\n} from \"./interactive-mode-deps.ts\";\nimport type { InteractiveSubmission } from \"./interactive-submission.ts\";\nimport type { BlockedStatus } from \"./program-status-reporter.ts\";\n\ndeclare module \"./interactive-mode-base.ts\" {\n\tinterface InteractiveModeBase {\n\t\tgetAutocompleteSourceTag(sourceInfo?: SourceInfo): string | undefined;\n\t\tprefixAutocompleteDescription(description: string | undefined, sourceInfo?: SourceInfo): string | undefined;\n\t\tgetBuiltInCommandConflictDiagnostics(extensionRunner: ExtensionRunner): ResourceDiagnostic[];\n\t\tcreateBaseAutocompleteProvider(): AutocompleteProvider;\n\t\tbuildRemoteSlashCommands(localCommands: SlashCommand[]): SlashCommand[];\n\t\tsetupAutocompleteProvider(): void;\n\t\tshowStartupNoticesIfNeeded(targetContainer?: Container): void;\n\t\treportModelCatalogWarning(targetContainer?: Container): void;\n\t\treportedModelCatalogWarning: string | undefined;\n\t\thadLastChangelogVersionAtStartup: boolean;\n\t\tfirstRunNoticeVisible: boolean;\n\t\tfirstRunOnboardingNoticeComponents: Component[];\n\t\tinitializeFirstRunOnboardingMarkers(): void;\n\t\tisFirstRunOnboardingEligible(): boolean;\n\t\tclearFirstRunOnboardingUi(): void;\n\t\tinit(): Promise<void>;\n\t\tcompleteDeferredStartup(): Promise<void>;\n\t\tretryDeferredModelRestore(targetContainer?: Container): Promise<void>;\n\t\tupdateTerminalTitle(): void;\n\t\trun(): Promise<void>;\n\t\tcheckForPackageUpdates(): Promise<string[]>;\n\t\tcheckTmuxKeyboardSetup(): Promise<string | undefined>;\n\t\tgetChangelogForDisplay(): string | undefined;\n\t\treportInstallTelemetry(version: string): void;\n\t\tgetMarkdownThemeWithSettings(): MarkdownTheme;\n\t\tgetMarkdownTransformers(): MarkdownTransformer[];\n\t\tformatDisplayPath(p: string): string;\n\t\tformatExtensionDisplayPath(path: string): string;\n\t\tformatContextPath(p: string): string;\n\t\tgetStartupModelLabel(): string;\n\t\tgetStartupIdentityText(maxWidth?: number, gap?: number, manifestoPhase?: number): string;\n\t\tgetAtomicAnsiMarkLines(gap?: number): string[];\n\t\tgetStartupExpansionState(): boolean;\n\t\tshouldShowStartupHeader(): boolean;\n\t\tshouldShowStartupDetails(): boolean;\n\t\tgetShortPath(fullPath: string, sourceInfo?: SourceInfo): string;\n\t\tgetCompactPathLabel(resourcePath: string, sourceInfo?: SourceInfo): string;\n\t\tgetCompactPackageSourceLabel(sourceInfo?: SourceInfo): string;\n\t\tgetCompactExtensionLabel(resourcePath: string, sourceInfo?: SourceInfo): string;\n\t\tgetCompactDisplayPathSegments(resourcePath: string): string[];\n\t\tgetCompactNonPackageExtensionLabel(\n\t\t\tresourcePath: string,\n\t\t\tindex: number,\n\t\t\tallPaths: Array<{ path: string; segments: string[] }>,\n\t\t): string;\n\t\tgetCompactExtensionLabels(extensions: Array<{ path: string; sourceInfo?: SourceInfo }>): string[];\n\t\tgetDisplaySourceInfo(sourceInfo?: SourceInfo): {\n\t\t\tlabel: string;\n\t\t\tscopeLabel?: string;\n\t\t\tcolor: \"accent\" | \"muted\";\n\t\t};\n\t\tgetScopeGroup(sourceInfo?: SourceInfo): \"user\" | \"project\" | \"path\";\n\t\tisPackageSource(sourceInfo?: SourceInfo): boolean;\n\t\tbuildScopeGroups(items: Array<{ path: string; sourceInfo?: SourceInfo }>): Array<{\n\t\t\tscope: \"user\" | \"project\" | \"path\";\n\t\t\tpaths: Array<{ path: string; sourceInfo?: SourceInfo }>;\n\t\t\tpackages: Map<string, Array<{ path: string; sourceInfo?: SourceInfo }>>;\n\t\t}>;\n\t\tformatScopeGroups(\n\t\t\tgroups: Array<{\n\t\t\t\tscope: \"user\" | \"project\" | \"path\";\n\t\t\t\tpaths: Array<{ path: string; sourceInfo?: SourceInfo }>;\n\t\t\t\tpackages: Map<string, Array<{ path: string; sourceInfo?: SourceInfo }>>;\n\t\t\t}>,\n\t\t\toptions: {\n\t\t\t\tformatPath: (item: { path: string; sourceInfo?: SourceInfo }) => string;\n\t\t\t\tformatPackagePath: (item: { path: string; sourceInfo?: SourceInfo }, source: string) => string;\n\t\t\t},\n\t\t): string;\n\t\tfindSourceInfoForPath(p: string, sourceInfos: Map<string, SourceInfo>): SourceInfo | undefined;\n\t\tformatPathWithSource(p: string, sourceInfo?: SourceInfo): string;\n\t\tformatDiagnostics(diagnostics: readonly ResourceDiagnostic[], sourceInfos: Map<string, SourceInfo>): string;\n\t\taddResourceDisclosure(options: {\n\t\t\tcontextFiles: ReadonlyArray<{ path: string }>;\n\t\t\tskills: ReadonlyArray<{ filePath: string; name: string }>;\n\t\t\tprompts: ReadonlyArray<{ filePath: string; name: string }>;\n\t\t\textensions: ReadonlyArray<{ path: string; sourceInfo?: SourceInfo }>;\n\t\t\texpandedSections: {\n\t\t\t\tcontext?: string;\n\t\t\t\tskills?: string;\n\t\t\t\tprompts?: string;\n\t\t\t\textensions?: string;\n\t\t\t};\n\t\t\ttargetContainer?: Container;\n\t\t}): void;\n\t\tshowLoadedResources(options?: {\n\t\t\textensions?: Array<{ path: string; sourceInfo?: SourceInfo }>;\n\t\t\tforce?: boolean;\n\t\t\tshowDiagnosticsWhenQuiet?: boolean;\n\t\t\ttargetContainer?: Container;\n\t\t}): void;\n\t\tbindCurrentSessionExtensions(): Promise<void>;\n\t\tapplyRuntimeSettings(): void;\n\t\trebindCurrentSession(): Promise<void>;\n\t\thandleFatalRuntimeError(prefix: string, error: unknown): Promise<never>;\n\t\trenderCurrentSessionState(): void;\n\t\tstartSessionRecovery(reason: SessionRecoveryReason): void;\n\t\tgetRegisteredToolDefinition(toolName: string): ToolRenderers | undefined;\n\t\tsetupExtensionShortcuts(extensionRunner: ExtensionRunner): void;\n\t\tsetExtensionStatus(key: string, text: string | undefined): void;\n\t\tgetWorkingLoaderMessage(): string;\n\t\tcreateWorkingLoader(): AtomicWorkingLoader;\n\t\tclearWorkingLoader(): void;\n\t\tstopWorkingLoader(): void;\n\t\tshowWorkingLoaderNow(): void;\n\t\tsetWorkingVisible(visible: boolean): void;\n\t\tsetWorkingIndicator(options?: LoaderIndicatorOptions): void;\n\t\tsetHiddenThinkingLabel(label?: string): void;\n\t\tsetExtensionWidget(\n\t\t\tkey: string,\n\t\t\tcontent: string[] | ((tui: TUI, thm: Theme) => Component & { dispose?(): void }) | undefined,\n\t\t\toptions?: ExtensionWidgetOptions,\n\t\t): void;\n\t\tclearExtensionWidgets(): void;\n\t\tresetExtensionUI(): void;\n\t\trenderWidgets(): void;\n\t\trenderWidgetContainer(\n\t\t\tcontainer: Container,\n\t\t\twidgets: Map<string, Component & { dispose?(): void }>,\n\t\t\tspacerWhenEmpty: boolean,\n\t\t\tleadingSpacer: boolean,\n\t\t): void;\n\t\tsetExtensionFooter(\n\t\t\tfactory:\n\t\t\t\t| ((tui: TUI, thm: Theme, footerData: ReadonlyFooterDataProvider) => Component & { dispose?(): void })\n\t\t\t\t| undefined,\n\t\t): void;\n\t\tsetExtensionHeader(factory: ((tui: TUI, thm: Theme) => Component & { dispose?(): void }) | undefined): void;\n\t\taddExtensionTerminalInputListener(\n\t\t\thandler: (data: string) => { consume?: boolean; data?: string } | undefined,\n\t\t): () => void;\n\t\tclearExtensionTerminalInputListeners(): void;\n\t\tgetHostCustomUiState(): HostCustomUiState;\n\t\tnotifyHostCustomUiStateListeners(): void;\n\t\tbeginHostInlineCustomUi(purpose?: \"prompt\" | \"navigation\"): () => void;\n\t\tbeginInlineCustomUiFocusDeferral(): () => void;\n\t\tshouldDeferInlineCustomUiFocus(): boolean;\n\t\tfocusHostInlineCustomUi(): boolean;\n\t\tonHostCustomUiStateChange(listener: HostCustomUiStateListener): () => void;\n\t\tonExtensionWidgetRelease(key: string, listener: () => void): () => void;\n\t\tnotifyExtensionWidgetRelease(key: string): void;\n\t\tcreateProjectTrustContext(cwd: string): ProjectTrustContext;\n\t\tcreateExtensionUIContext(): ExtensionUIContext;\n\t\tshowExtensionSelector(\n\t\t\ttitle: string,\n\t\t\toptions: string[],\n\t\t\topts?: ExtensionUIDialogOptions,\n\t\t\tblocked?: BlockedStatus,\n\t\t): Promise<string | undefined>;\n\t\tshowExtensionConfirm(title: string, message: string, opts?: ExtensionUIDialogOptions): Promise<boolean>;\n\t\tpromptForMissingSessionCwd(error: MissingSessionCwdError): Promise<string | undefined>;\n\t\tshowExtensionInput(\n\t\t\ttitle: string,\n\t\t\tplaceholder?: string,\n\t\t\topts?: ExtensionUIDialogOptions,\n\t\t): Promise<string | undefined>;\n\t\tshowExtensionEditor(\n\t\t\ttitle: string,\n\t\t\tprefill?: string,\n\t\t\topts?: ExtensionUIDialogOptions,\n\t\t): Promise<string | undefined>;\n\t\tsetCustomEditorComponent(factory: EditorFactory | undefined): void;\n\t\tshowExtensionNotify(message: string, type?: \"info\" | \"warning\" | \"error\"): void;\n\t\tshowExtensionCustom<T>(\n\t\t\tfactory: (\n\t\t\t\ttui: TUI,\n\t\t\t\ttheme: Theme,\n\t\t\t\tkeybindings: KeybindingsManager,\n\t\t\t\tdone: (result: T) => void,\n\t\t\t) => (Component & { dispose?(): void }) | Promise<Component & { dispose?(): void }>,\n\t\t\toptions?: {\n\t\t\t\tpurpose?: \"prompt\" | \"navigation\";\n\t\t\t\toverlay?: boolean;\n\t\t\t\tdeferInlineCustomUiFocus?: boolean;\n\t\t\t\thandlesInternalUiAction?: boolean;\n\t\t\t\t/** Overlay-only: bound the overlay and reserve transcript scroll extent. */\n\t\t\t\treserveTranscriptRows?: boolean;\n\t\t\t\tsignal?: AbortSignal;\n\t\t\t\toverlayOptions?: OverlayOptions | (() => OverlayOptions);\n\t\t\t\tonHandle?: (handle: OverlayHandle) => void;\n\t\t\t},\n\t\t): Promise<T>;\n\t\tshowExtensionError(extensionPath: string, error: string, stack?: string): void;\n\t\tsetupKeyHandlers(): void;\n\t\thandleClipboardImagePaste(): Promise<void>;\n\t\tsetupEditorSubmitHandler(): void;\n\t\tdeliverStartupReplayPrompt(text: string): void;\n\t\tdrainStartupReplayCommands(): Promise<void>;\n\t\tadvanceStartupInputReplay(submittedText: string): void;\n\t\tsubscribeToAgent(): void;\n\t\thandleEvent(event: AgentSessionEvent | JsonAgentSessionEvent): Promise<void>;\n\t\tgetUserMessageText(message: Message): string;\n\t\tshowStatus(message: string, persist?: boolean): void;\n\t\t/** Report a managed-tool (fd/rg) readiness update inside the transcript. */\n\t\tshowManagedToolStatus(status: ToolStatus): void;\n\t\t/** Bring fd/rg to readiness after first paint; progress lands in the transcript. */\n\t\tensureManagedToolsReady(): Promise<void>;\n\t\tchatMessageRenderOptions(): ChatMessageRenderOptions;\n\t\taddRenderedChatEntry(entry: ChatMessageEntry): Component;\n\t\taddCompactionBoundaryToChat(result: VerbatimCompactionResult): void;\n\t\taddCompactionCostNotice(kind: \"compaction\" | \"branch_summary\", usage: Usage): void;\n\t\tmaybeShowAssistantDiagnostics(message: AssistantMessage): void;\n\t\tmaybeShowInstallChangeWarning(): boolean;\n\t\taddMessageToChat(message: AgentMessage, options?: { populateHistory?: boolean }): void;\n\t\taddCustomEntryToChat(entry: CustomEntry): void;\n\t\trenderSessionContext(\n\t\t\tsessionContext: SessionContext,\n\t\t\toptions?: { updateFooter?: boolean; populateHistory?: boolean },\n\t\t): void;\n\t\trenderSessionEntries(\n\t\t\tentries: SessionEntry[],\n\t\t\toptions?: {\n\t\t\t\tupdateFooter?: boolean;\n\t\t\t\tpopulateHistory?: boolean;\n\t\t\t\tsuppressCompactionBoundary?: VerbatimCompactionResult;\n\t\t\t},\n\t\t): void;\n\t\trenderInitialMessages(): void;\n\t\tattachStartupNoticesContainer(options?: { resetDetached?: boolean }): void;\n\t\tgetUserInput(): Promise<InteractiveSubmission>;\n\t\trunUserPromptTurn(submission: InteractiveSubmission | string): Promise<void>;\n\t\trenderDeferredUserInput(text: string): void;\n\t\tconsumeDeferredRenderedUserInput(text: string): boolean;\n\t\tdiscardDeferredRenderedUserInput(text: string): void;\n\t\tensureDeferredStartupComplete(): Promise<void>;\n\t\trebuildChatFromMessages(options?: {\n\t\t\tsuppressCompactionBoundary?: VerbatimCompactionResult;\n\t\t\tresetStartupDisclosure?: boolean;\n\t\t}): void;\n\t\thandleCtrlC(): void;\n\t\tinterruptActiveOperation(): boolean;\n\t\thandleCtrlD(): void;\n\t\tshutdown(options?: { fromSignal?: boolean }): Promise<void>;\n\t\temergencyTerminalExit(): never;\n\t\tuncaughtCrash(error: Error): never;\n\t\tgetCrashExtensionHint(error: unknown): string | undefined;\n\t\tcheckShutdownRequested(): Promise<void>;\n\t\tregisterSignalHandlers(): void;\n\t\tunregisterSignalHandlers(): void;\n\t\thandleCtrlZ(): void;\n\t\thandleFollowUp(): Promise<void>;\n\t\thandleDequeue(): void;\n\t\trefreshBuiltInHeader(): void;\n\t\tupdateEditorBorderColor(): void;\n\t\tcycleThinkingLevel(): Promise<void>;\n\t\tcycleModel(direction: \"forward\" | \"backward\"): Promise<void>;\n\t\ttoggleToolOutputExpansion(): void;\n\t\tsetToolsExpanded(expanded: boolean): void;\n\t\ttoggleThinkingBlockVisibility(): void;\n\t\tupdateThinkingBlockVisibility(): void;\n\t\topenExternalEditor(): Promise<void>;\n\t\tclearEditor(): void;\n\t\tshowError(errorMessage: string): void;\n\t\tshowWarning(warningMessage: string, targetContainer?: Container): void;\n\t\tshowNewVersionNotification(newVersion: string, targetContainer?: Container): void;\n\t\tshowPackageUpdateNotification(packages: string[], targetContainer?: Container): void;\n\t\tgetAllQueuedMessages(): { steering: string[]; followUp: string[] };\n\t\tclearAllQueues(options?: { preserveUnprotectedCustomMessages?: boolean }): {\n\t\t\tsteering: string[];\n\t\t\tfollowUp: string[];\n\t\t};\n\t\tupdatePendingMessagesDisplay(): void;\n\t\trestoreQueuedMessagesToEditor(options?: {\n\t\t\tabort?: boolean;\n\t\t\tcurrentText?: string;\n\t\t\tpreserveUnprotectedCustomMessages?: boolean;\n\t\t}): number;\n\t\tqueueCompactionMessage(text: string, mode: \"steer\" | \"followUp\"): void;\n\t\tisExtensionCommand(text: string): boolean;\n\t\tflushCompactionQueue(options?: { willRetry?: boolean; afterPrompt?: boolean }): Promise<void>;\n\t\tflushPendingBashComponents(): void;\n\t\tshowSelector(\n\t\t\tcreate: (done: () => void) => { component: Component; focus: Component; dispose?: () => void },\n\t\t): void;\n\t\tshowSettingsSelector(): void;\n\t\thandleModelCommand(searchTerm?: string): Promise<void>;\n\t\thandleThinkingCommand(searchTerm?: string): Promise<void>;\n\t\tselectThinkingLevel(level: ThinkingLevel): Promise<void>;\n\t\tshowThinkingSelector(): void;\n\t\tfindExactModelMatch(searchTerm: string): Promise<Model<Api> | undefined>;\n\t\tgetModelCandidates(): Promise<Model<Api>[]>;\n\t\tupdateAvailableProviderCount(): Promise<void>;\n\t\tmaybeWarnAboutAnthropicSubscriptionAuth(\n\t\t\tmodel?: Model<Api> | undefined,\n\t\t\ttargetContainer?: Container,\n\t\t): Promise<void>;\n\t\tshowModelSelector(initialSearchInput?: string): void;\n\t\tshowModelsSelector(): void;\n\t\tshowUserMessageSelector(): Promise<void>;\n\t\thandleCloneCommand(): Promise<void>;\n\t\tmaybeSaveImplicitProjectTrustAfterReload(): boolean;\n\t\tshowTrustSelector(): void;\n\t\tshowTreeSelector(initialSelectedId?: string): Promise<void>;\n\t\tshowSessionSelector(): void;\n\t\thandleResumeSession(\n\t\t\tsessionId: string,\n\t\t\toptions?: Parameters<ExtensionCommandContext[\"switchSession\"]>[1],\n\t\t\tsessionDirectory?: string,\n\t\t): Promise<{ cancelled: boolean }>;\n\t\tgetLoginProviderOptions(authType?: \"oauth\" | \"api_key\"): AuthSelectorProvider[];\n\t\tgetLogoutProviderOptions(): AuthSelectorProvider[];\n\t\thandleLoginCommand(providerRef?: string): Promise<void>;\n\t\tstartProviderLogin(providerOption: AuthSelectorProvider, onBack?: () => void): Promise<void>;\n\t\tshowLoginAuthTypeSelector(providerOptions?: AuthSelectorProvider[]): void;\n\t\tshowLoginProviderSelector(authType?: \"oauth\" | \"api_key\", initialSearchInput?: string): void;\n\t\tshowOAuthSelector(mode: \"login\" | \"logout\", initialSearchInput?: string): Promise<void>;\n\t\tcompleteProviderAuthentication(\n\t\t\tproviderId: string,\n\t\t\tproviderName: string,\n\t\t\tauthType: \"oauth\" | \"api_key\",\n\t\t\tpreviousModel: Model<Api> | undefined,\n\t\t\toptions?: { modelsRefreshed?: boolean },\n\t\t): Promise<void>;\n\t\tshowBedrockSetupDialog(providerId: string, providerName: string, onBack?: () => void): void;\n\t\tshowApiKeyLoginDialog(providerId: string, providerName: string, onBack?: () => void): Promise<void>;\n\t\tshowOAuthLoginSelect(dialog: LoginDialogComponent, prompt: OAuthSelectPrompt): Promise<string | undefined>;\n\t\tshowLoginDialog(providerId: string, providerName: string, onBack?: () => void): Promise<void>;\n\t\thandleReloadCommand(): Promise<void>;\n\t\thandleExportCommand(text: string): Promise<void>;\n\t\tgetPathCommandArgument(text: string, command: \"/export\" | \"/import\"): string | undefined;\n\t\thandleImportCommand(text: string): Promise<void>;\n\t\thandleShareCommand(): Promise<void>;\n\t\thandleCopyCommand(): Promise<void>;\n\t\thandleNameCommand(text: string): Promise<void>;\n\t\thandleSessionCommand(): void;\n\t\thandleToolsCommand(): Promise<void>;\n\t\thandleChangelogCommand(): void;\n\t\tgetAppKeyDisplay(action: AppKeybinding): string;\n\t\tgetEditorKeyDisplay(action: Keybinding): string;\n\t\tjumpToTranscriptEnd(): void;\n\t\tsetFullscreenCopyOnSelect(enabled: boolean): void;\n\t\thandleHotkeysCommand(): void;\n\t\thandleClearCommand(): Promise<void>;\n\t\thandleDebugCommand(): void;\n\t\thandleArminSaysHi(): void;\n\t\thandleDementedDelves(): void;\n\t\thandleBashCommand(command: string, excludeFromContext?: boolean): Promise<void>;\n\t\thandleCompactCommand(): Promise<void>;\n\t\tstop(fullscreenExitOutput?: FullscreenExitOutput): void;\n\t}\n}\n"]}
1
+ {"version":3,"file":"interactive-mode-surface.js","sourceRoot":"","sources":["../../../src/modes/interactive/interactive-mode-surface.ts"],"names":[],"mappings":"","sourcesContent":["import type { AssistantMessage, Usage } from \"@bastani/pi-ai/compat\";\nimport type { ThinkingLevel } from \"@earendil-works/pi-agent-core\";\n/** Method surface installed onto InteractiveModeBase by sibling modules. */\n\nimport type { MarkdownTransformer, SessionRecoveryReason, ToolRenderers } from \"../../core/extensions/types.ts\";\nimport type { CustomEntry, SessionEntry } from \"../../core/session-manager.ts\";\nimport type { FullscreenExitOutput } from \"../../core/settings-manager.ts\";\nimport type { ToolStatus } from \"../../utils/tools-manager.ts\";\nimport type { JsonAgentSessionEvent } from \"../json-event.ts\";\nimport type { AtomicWorkingLoader } from \"./components/atomic-working-status.ts\";\nimport type {\n\tAgentMessage,\n\tAgentSessionEvent,\n\tApi,\n\tAppKeybinding,\n\tAuthSelectorProvider,\n\tAutocompleteProvider,\n\tChatMessageEntry,\n\tChatMessageRenderOptions,\n\tComponent,\n\tContainer,\n\tEditorFactory,\n\tExtensionCommandContext,\n\tExtensionRunner,\n\tExtensionUIContext,\n\tExtensionUIDialogOptions,\n\tExtensionWidgetOptions,\n\tHostCustomUiState,\n\tHostCustomUiStateListener,\n\tKeybinding,\n\tKeybindingsManager,\n\tLoaderIndicatorOptions,\n\tLoginDialogComponent,\n\tMarkdownTheme,\n\tMessage,\n\tMissingSessionCwdError,\n\tModel,\n\tOAuthSelectPrompt,\n\tOverlayHandle,\n\tOverlayOptions,\n\tProjectTrustContext,\n\tReadonlyFooterDataProvider,\n\tResourceDiagnostic,\n\tSessionContext,\n\tSlashCommand,\n\tSourceInfo,\n\tTheme,\n\tTUI,\n\tVerbatimCompactionResult,\n} from \"./interactive-mode-deps.ts\";\nimport type { InteractiveSubmission } from \"./interactive-submission.ts\";\nimport type { BlockedStatus } from \"./program-status-reporter.ts\";\n\ndeclare module \"./interactive-mode-base.ts\" {\n\tinterface InteractiveModeBase {\n\t\tgetAutocompleteSourceTag(sourceInfo?: SourceInfo): string | undefined;\n\t\tprefixAutocompleteDescription(description: string | undefined, sourceInfo?: SourceInfo): string | undefined;\n\t\tgetBuiltInCommandConflictDiagnostics(extensionRunner: ExtensionRunner): ResourceDiagnostic[];\n\t\tcreateBaseAutocompleteProvider(): AutocompleteProvider;\n\t\tbuildRemoteSlashCommands(localCommands: SlashCommand[]): SlashCommand[];\n\t\tsetupAutocompleteProvider(): void;\n\t\tshowStartupNoticesIfNeeded(targetContainer?: Container): void;\n\t\treportModelCatalogWarning(targetContainer?: Container): void;\n\t\treportedModelCatalogWarning: string | undefined;\n\t\thadLastChangelogVersionAtStartup: boolean;\n\t\tfirstRunNoticeVisible: boolean;\n\t\tfirstRunOnboardingNoticeComponents: Component[];\n\t\tinitializeFirstRunOnboardingMarkers(): void;\n\t\tisFirstRunOnboardingEligible(): boolean;\n\t\tclearFirstRunOnboardingUi(): void;\n\t\tinit(): Promise<void>;\n\t\tcompleteDeferredStartup(): Promise<void>;\n\t\tretryDeferredModelRestore(targetContainer?: Container): Promise<void>;\n\t\tupdateTerminalTitle(): void;\n\t\trun(): Promise<void>;\n\t\tcheckForPackageUpdates(): Promise<string[]>;\n\t\tcheckTmuxKeyboardSetup(): Promise<string | undefined>;\n\t\tgetChangelogForDisplay(): string | undefined;\n\t\treportInstallTelemetry(version: string): void;\n\t\tgetMarkdownThemeWithSettings(): MarkdownTheme;\n\t\tgetMarkdownTransformers(): MarkdownTransformer[];\n\t\tformatDisplayPath(p: string): string;\n\t\tformatExtensionDisplayPath(path: string): string;\n\t\tformatContextPath(p: string): string;\n\t\tgetStartupModelLabel(): string;\n\t\tgetStartupIdentityText(maxWidth?: number, gap?: number, manifestoPhase?: number): string;\n\t\tgetAtomicAnsiMarkLines(gap?: number): string[];\n\t\tgetStartupExpansionState(): boolean;\n\t\tshouldShowStartupHeader(): boolean;\n\t\tshouldShowStartupDetails(): boolean;\n\t\tgetShortPath(fullPath: string, sourceInfo?: SourceInfo): string;\n\t\tgetCompactPathLabel(resourcePath: string, sourceInfo?: SourceInfo): string;\n\t\tgetCompactPackageSourceLabel(sourceInfo?: SourceInfo): string;\n\t\tgetCompactExtensionLabel(resourcePath: string, sourceInfo?: SourceInfo): string;\n\t\tgetCompactDisplayPathSegments(resourcePath: string): string[];\n\t\tgetCompactNonPackageExtensionLabel(\n\t\t\tresourcePath: string,\n\t\t\tindex: number,\n\t\t\tallPaths: Array<{ path: string; segments: string[] }>,\n\t\t): string;\n\t\tgetCompactExtensionLabels(extensions: Array<{ path: string; sourceInfo?: SourceInfo }>): string[];\n\t\tgetDisplaySourceInfo(sourceInfo?: SourceInfo): {\n\t\t\tlabel: string;\n\t\t\tscopeLabel?: string;\n\t\t\tcolor: \"accent\" | \"muted\";\n\t\t};\n\t\tgetScopeGroup(sourceInfo?: SourceInfo): \"user\" | \"project\" | \"path\";\n\t\tisPackageSource(sourceInfo?: SourceInfo): boolean;\n\t\tbuildScopeGroups(items: Array<{ path: string; sourceInfo?: SourceInfo }>): Array<{\n\t\t\tscope: \"user\" | \"project\" | \"path\";\n\t\t\tpaths: Array<{ path: string; sourceInfo?: SourceInfo }>;\n\t\t\tpackages: Map<string, Array<{ path: string; sourceInfo?: SourceInfo }>>;\n\t\t}>;\n\t\tformatScopeGroups(\n\t\t\tgroups: Array<{\n\t\t\t\tscope: \"user\" | \"project\" | \"path\";\n\t\t\t\tpaths: Array<{ path: string; sourceInfo?: SourceInfo }>;\n\t\t\t\tpackages: Map<string, Array<{ path: string; sourceInfo?: SourceInfo }>>;\n\t\t\t}>,\n\t\t\toptions: {\n\t\t\t\tformatPath: (item: { path: string; sourceInfo?: SourceInfo }) => string;\n\t\t\t\tformatPackagePath: (item: { path: string; sourceInfo?: SourceInfo }, source: string) => string;\n\t\t\t},\n\t\t): string;\n\t\tfindSourceInfoForPath(p: string, sourceInfos: Map<string, SourceInfo>): SourceInfo | undefined;\n\t\tformatPathWithSource(p: string, sourceInfo?: SourceInfo): string;\n\t\tformatDiagnostics(diagnostics: readonly ResourceDiagnostic[], sourceInfos: Map<string, SourceInfo>): string;\n\t\taddResourceDisclosure(options: {\n\t\t\tcontextFiles: ReadonlyArray<{ path: string }>;\n\t\t\tskills: ReadonlyArray<{ filePath: string; name: string }>;\n\t\t\tprompts: ReadonlyArray<{ filePath: string; name: string }>;\n\t\t\textensions: ReadonlyArray<{ path: string; sourceInfo?: SourceInfo }>;\n\t\t\texpandedSections: {\n\t\t\t\tcontext?: string;\n\t\t\t\tskills?: string;\n\t\t\t\tprompts?: string;\n\t\t\t\textensions?: string;\n\t\t\t};\n\t\t\ttargetContainer?: Container;\n\t\t}): void;\n\t\tshowLoadedResources(options?: {\n\t\t\textensions?: Array<{ path: string; sourceInfo?: SourceInfo }>;\n\t\t\tforce?: boolean;\n\t\t\tshowDiagnosticsWhenQuiet?: boolean;\n\t\t\ttargetContainer?: Container;\n\t\t}): void;\n\t\tbindCurrentSessionExtensions(): Promise<void>;\n\t\tapplyRuntimeSettings(): void;\n\t\trebindCurrentSession(): Promise<void>;\n\t\thandleFatalRuntimeError(prefix: string, error: unknown): Promise<never>;\n\t\trenderCurrentSessionState(): void;\n\t\tstartSessionRecovery(reason: SessionRecoveryReason): void;\n\t\tgetRegisteredToolDefinition(toolName: string): ToolRenderers | undefined;\n\t\tsetupExtensionShortcuts(extensionRunner: ExtensionRunner): void;\n\t\tsetExtensionStatus(key: string, text: string | undefined): void;\n\t\tgetWorkingLoaderMessage(): string;\n\t\tcreateWorkingLoader(): AtomicWorkingLoader;\n\t\tclearWorkingLoader(): void;\n\t\tstopWorkingLoader(): void;\n\t\tshowWorkingLoaderNow(): void;\n\t\tsetWorkingVisible(visible: boolean): void;\n\t\tsetWorkingIndicator(options?: LoaderIndicatorOptions): void;\n\t\tsetHiddenThinkingLabel(label?: string): void;\n\t\tsetExtensionWidget(\n\t\t\tkey: string,\n\t\t\tcontent: string[] | ((tui: TUI, thm: Theme) => Component & { dispose?(): void }) | undefined,\n\t\t\toptions?: ExtensionWidgetOptions,\n\t\t): void;\n\t\tclearExtensionWidgets(): void;\n\t\tresetExtensionUI(): void;\n\t\trenderWidgets(): void;\n\t\trenderWidgetContainer(\n\t\t\tcontainer: Container,\n\t\t\twidgets: Map<string, Component & { dispose?(): void }>,\n\t\t\tspacerWhenEmpty: boolean,\n\t\t\tleadingSpacer: boolean,\n\t\t): void;\n\t\tsetExtensionFooter(\n\t\t\tfactory:\n\t\t\t\t| ((tui: TUI, thm: Theme, footerData: ReadonlyFooterDataProvider) => Component & { dispose?(): void })\n\t\t\t\t| undefined,\n\t\t): void;\n\t\tsetExtensionHeader(factory: ((tui: TUI, thm: Theme) => Component & { dispose?(): void }) | undefined): void;\n\t\taddExtensionTerminalInputListener(\n\t\t\thandler: (data: string) => { consume?: boolean; data?: string } | undefined,\n\t\t): () => void;\n\t\tclearExtensionTerminalInputListeners(): void;\n\t\tgetHostCustomUiState(): HostCustomUiState;\n\t\tnotifyHostCustomUiStateListeners(): void;\n\t\tbeginHostInlineCustomUi(purpose?: \"prompt\" | \"navigation\"): () => void;\n\t\tbeginInlineCustomUiFocusDeferral(): () => void;\n\t\tshouldDeferInlineCustomUiFocus(): boolean;\n\t\tfocusHostInlineCustomUi(): boolean;\n\t\tonHostCustomUiStateChange(listener: HostCustomUiStateListener): () => void;\n\t\tonExtensionWidgetRelease(key: string, listener: () => void): () => void;\n\t\tnotifyExtensionWidgetRelease(key: string): void;\n\t\tcreateProjectTrustContext(cwd: string): ProjectTrustContext;\n\t\tcreateExtensionUIContext(): ExtensionUIContext;\n\t\tshowExtensionSelector(\n\t\t\ttitle: string,\n\t\t\toptions: string[],\n\t\t\topts?: ExtensionUIDialogOptions,\n\t\t\tblocked?: BlockedStatus,\n\t\t): Promise<string | undefined>;\n\t\tshowExtensionConfirm(title: string, message: string, opts?: ExtensionUIDialogOptions): Promise<boolean>;\n\t\tpromptForMissingSessionCwd(error: MissingSessionCwdError): Promise<string | undefined>;\n\t\tshowExtensionInput(\n\t\t\ttitle: string,\n\t\t\tplaceholder?: string,\n\t\t\topts?: ExtensionUIDialogOptions,\n\t\t): Promise<string | undefined>;\n\t\tshowExtensionEditor(\n\t\t\ttitle: string,\n\t\t\tprefill?: string,\n\t\t\topts?: ExtensionUIDialogOptions,\n\t\t): Promise<string | undefined>;\n\t\tsetCustomEditorComponent(factory: EditorFactory | undefined): void;\n\t\tshowExtensionNotify(message: string, type?: \"info\" | \"warning\" | \"error\"): void;\n\t\tshowExtensionCustom<T>(\n\t\t\tfactory: (\n\t\t\t\ttui: TUI,\n\t\t\t\ttheme: Theme,\n\t\t\t\tkeybindings: KeybindingsManager,\n\t\t\t\tdone: (result: T) => void,\n\t\t\t) => (Component & { dispose?(): void }) | Promise<Component & { dispose?(): void }>,\n\t\t\toptions?: {\n\t\t\t\tpurpose?: \"prompt\" | \"navigation\";\n\t\t\t\toverlay?: boolean;\n\t\t\t\tdeferInlineCustomUiFocus?: boolean;\n\t\t\t\thandlesInternalUiAction?: boolean;\n\t\t\t\t/** Overlay-only: bound the overlay and reserve transcript scroll extent. */\n\t\t\t\treserveTranscriptRows?: boolean;\n\t\t\t\tsignal?: AbortSignal;\n\t\t\t\toverlayOptions?: OverlayOptions | (() => OverlayOptions);\n\t\t\t\tonHandle?: (handle: OverlayHandle) => void;\n\t\t\t\tblocked?: BlockedStatus;\n\t\t\t},\n\t\t): Promise<T>;\n\t\tshowExtensionError(extensionPath: string, error: string, stack?: string): void;\n\t\tsetupKeyHandlers(): void;\n\t\thandleClipboardImagePaste(): Promise<void>;\n\t\tsetupEditorSubmitHandler(): void;\n\t\tdeliverStartupReplayPrompt(text: string): void;\n\t\tdrainStartupReplayCommands(): Promise<void>;\n\t\tadvanceStartupInputReplay(submittedText: string): void;\n\t\tsubscribeToAgent(): void;\n\t\thandleEvent(event: AgentSessionEvent | JsonAgentSessionEvent): Promise<void>;\n\t\tgetUserMessageText(message: Message): string;\n\t\tshowStatus(message: string, persist?: boolean): void;\n\t\t/** Report a managed-tool (fd/rg) readiness update inside the transcript. */\n\t\tshowManagedToolStatus(status: ToolStatus): void;\n\t\t/** Bring fd/rg to readiness after first paint; progress lands in the transcript. */\n\t\tensureManagedToolsReady(): Promise<void>;\n\t\tchatMessageRenderOptions(): ChatMessageRenderOptions;\n\t\taddRenderedChatEntry(entry: ChatMessageEntry): Component;\n\t\taddCompactionBoundaryToChat(result: VerbatimCompactionResult): void;\n\t\taddCompactionCostNotice(kind: \"compaction\" | \"branch_summary\", usage: Usage): void;\n\t\tmaybeShowAssistantDiagnostics(message: AssistantMessage): void;\n\t\tmaybeShowInstallChangeWarning(): boolean;\n\t\taddMessageToChat(message: AgentMessage, options?: { populateHistory?: boolean }): void;\n\t\taddCustomEntryToChat(entry: CustomEntry): void;\n\t\trenderSessionContext(\n\t\t\tsessionContext: SessionContext,\n\t\t\toptions?: { updateFooter?: boolean; populateHistory?: boolean },\n\t\t): void;\n\t\trenderSessionEntries(\n\t\t\tentries: SessionEntry[],\n\t\t\toptions?: {\n\t\t\t\tupdateFooter?: boolean;\n\t\t\t\tpopulateHistory?: boolean;\n\t\t\t\tsuppressCompactionBoundary?: VerbatimCompactionResult;\n\t\t\t},\n\t\t): void;\n\t\trenderInitialMessages(): void;\n\t\tattachStartupNoticesContainer(options?: { resetDetached?: boolean }): void;\n\t\tgetUserInput(): Promise<InteractiveSubmission>;\n\t\trunUserPromptTurn(submission: InteractiveSubmission | string): Promise<void>;\n\t\trenderDeferredUserInput(text: string): void;\n\t\tconsumeDeferredRenderedUserInput(text: string): boolean;\n\t\tdiscardDeferredRenderedUserInput(text: string): void;\n\t\tensureDeferredStartupComplete(): Promise<void>;\n\t\trebuildChatFromMessages(options?: {\n\t\t\tsuppressCompactionBoundary?: VerbatimCompactionResult;\n\t\t\tresetStartupDisclosure?: boolean;\n\t\t}): void;\n\t\thandleCtrlC(): void;\n\t\tinterruptActiveOperation(): boolean;\n\t\thandleCtrlD(): void;\n\t\tshutdown(options?: { fromSignal?: boolean }): Promise<void>;\n\t\temergencyTerminalExit(): never;\n\t\tuncaughtCrash(error: Error): never;\n\t\tgetCrashExtensionHint(error: unknown): string | undefined;\n\t\tcheckShutdownRequested(): Promise<void>;\n\t\tregisterSignalHandlers(): void;\n\t\tunregisterSignalHandlers(): void;\n\t\thandleCtrlZ(): void;\n\t\thandleFollowUp(): Promise<void>;\n\t\thandleDequeue(): void;\n\t\trefreshBuiltInHeader(): void;\n\t\tupdateEditorBorderColor(): void;\n\t\tcycleThinkingLevel(): Promise<void>;\n\t\tcycleModel(direction: \"forward\" | \"backward\"): Promise<void>;\n\t\ttoggleToolOutputExpansion(): void;\n\t\tsetToolsExpanded(expanded: boolean): void;\n\t\ttoggleThinkingBlockVisibility(): void;\n\t\tupdateThinkingBlockVisibility(): void;\n\t\topenExternalEditor(): Promise<void>;\n\t\tclearEditor(): void;\n\t\tshowError(errorMessage: string): void;\n\t\tshowWarning(warningMessage: string, targetContainer?: Container): void;\n\t\tshowNewVersionNotification(newVersion: string, targetContainer?: Container): void;\n\t\tshowPackageUpdateNotification(packages: string[], targetContainer?: Container): void;\n\t\tgetAllQueuedMessages(): { steering: string[]; followUp: string[] };\n\t\tclearAllQueues(options?: { preserveUnprotectedCustomMessages?: boolean }): {\n\t\t\tsteering: string[];\n\t\t\tfollowUp: string[];\n\t\t};\n\t\tupdatePendingMessagesDisplay(): void;\n\t\trestoreQueuedMessagesToEditor(options?: {\n\t\t\tabort?: boolean;\n\t\t\tcurrentText?: string;\n\t\t\tpreserveUnprotectedCustomMessages?: boolean;\n\t\t}): number;\n\t\tqueueCompactionMessage(text: string, mode: \"steer\" | \"followUp\"): void;\n\t\tisExtensionCommand(text: string): boolean;\n\t\tflushCompactionQueue(options?: { willRetry?: boolean; afterPrompt?: boolean }): Promise<void>;\n\t\tflushPendingBashComponents(): void;\n\t\tshowSelector(\n\t\t\tcreate: (done: () => void) => { component: Component; focus: Component; dispose?: () => void },\n\t\t): void;\n\t\tshowSettingsSelector(): void;\n\t\thandleModelCommand(searchTerm?: string): Promise<void>;\n\t\thandleThinkingCommand(searchTerm?: string): Promise<void>;\n\t\tselectThinkingLevel(level: ThinkingLevel): Promise<void>;\n\t\tshowThinkingSelector(): void;\n\t\tfindExactModelMatch(searchTerm: string): Promise<Model<Api> | undefined>;\n\t\tgetModelCandidates(): Promise<Model<Api>[]>;\n\t\tupdateAvailableProviderCount(): Promise<void>;\n\t\tmaybeWarnAboutAnthropicSubscriptionAuth(\n\t\t\tmodel?: Model<Api> | undefined,\n\t\t\ttargetContainer?: Container,\n\t\t): Promise<void>;\n\t\tshowModelSelector(initialSearchInput?: string): void;\n\t\tshowModelsSelector(): void;\n\t\tshowUserMessageSelector(): Promise<void>;\n\t\thandleCloneCommand(): Promise<void>;\n\t\tmaybeSaveImplicitProjectTrustAfterReload(): boolean;\n\t\tshowTrustSelector(): void;\n\t\tshowTreeSelector(initialSelectedId?: string): Promise<void>;\n\t\tshowSessionSelector(): void;\n\t\thandleResumeSession(\n\t\t\tsessionId: string,\n\t\t\toptions?: Parameters<ExtensionCommandContext[\"switchSession\"]>[1],\n\t\t\tsessionDirectory?: string,\n\t\t): Promise<{ cancelled: boolean }>;\n\t\tgetLoginProviderOptions(authType?: \"oauth\" | \"api_key\"): AuthSelectorProvider[];\n\t\tgetLogoutProviderOptions(): AuthSelectorProvider[];\n\t\thandleLoginCommand(providerRef?: string): Promise<void>;\n\t\tstartProviderLogin(providerOption: AuthSelectorProvider, onBack?: () => void): Promise<void>;\n\t\tshowLoginAuthTypeSelector(providerOptions?: AuthSelectorProvider[]): void;\n\t\tshowLoginProviderSelector(authType?: \"oauth\" | \"api_key\", initialSearchInput?: string): void;\n\t\tshowOAuthSelector(mode: \"login\" | \"logout\", initialSearchInput?: string): Promise<void>;\n\t\tcompleteProviderAuthentication(\n\t\t\tproviderId: string,\n\t\t\tproviderName: string,\n\t\t\tauthType: \"oauth\" | \"api_key\",\n\t\t\tpreviousModel: Model<Api> | undefined,\n\t\t\toptions?: { modelsRefreshed?: boolean },\n\t\t): Promise<void>;\n\t\tshowBedrockSetupDialog(providerId: string, providerName: string, onBack?: () => void): void;\n\t\tshowApiKeyLoginDialog(providerId: string, providerName: string, onBack?: () => void): Promise<void>;\n\t\tshowOAuthLoginSelect(dialog: LoginDialogComponent, prompt: OAuthSelectPrompt): Promise<string | undefined>;\n\t\tshowLoginDialog(providerId: string, providerName: string, onBack?: () => void): Promise<void>;\n\t\thandleReloadCommand(): Promise<void>;\n\t\thandleExportCommand(text: string): Promise<void>;\n\t\tgetPathCommandArgument(text: string, command: \"/export\" | \"/import\"): string | undefined;\n\t\thandleImportCommand(text: string): Promise<void>;\n\t\thandleShareCommand(): Promise<void>;\n\t\thandleCopyCommand(): Promise<void>;\n\t\thandleNameCommand(text: string): Promise<void>;\n\t\thandleSessionCommand(): void;\n\t\thandleToolsCommand(): Promise<void>;\n\t\thandleChangelogCommand(): void;\n\t\tgetAppKeyDisplay(action: AppKeybinding): string;\n\t\tgetEditorKeyDisplay(action: Keybinding): string;\n\t\tjumpToTranscriptEnd(): void;\n\t\tsetFullscreenCopyOnSelect(enabled: boolean): void;\n\t\thandleHotkeysCommand(): void;\n\t\thandleClearCommand(): Promise<void>;\n\t\thandleDebugCommand(): void;\n\t\thandleArminSaysHi(): void;\n\t\thandleDementedDelves(): void;\n\t\thandleBashCommand(command: string, excludeFromContext?: boolean): Promise<void>;\n\t\thandleCompactCommand(): Promise<void>;\n\t\tstop(fullscreenExitOutput?: FullscreenExitOutput): void;\n\t}\n}\n"]}
@@ -2,6 +2,7 @@ import { type Component, type OverlayHandle, type OverlayOptions, type TUI } fro
2
2
  import type { HostCustomUiState, HostCustomUiStateListener } from "../../core/extensions/index.js";
3
3
  import type { KeybindingsManager } from "../../core/keybindings.ts";
4
4
  import type { Theme } from "../interactive/theme/theme.js";
5
+ import { type EngineBlockedStatus } from "./protocol.ts";
5
6
  interface CustomUiOptions {
6
7
  purpose?: "prompt" | "navigation";
7
8
  overlay?: boolean;
@@ -15,6 +16,8 @@ interface CustomUiOptions {
15
16
  overlayOptions?: OverlayOptions | (() => OverlayOptions);
16
17
  onHandle?: (handle: OverlayHandle) => void;
17
18
  signal?: AbortSignal;
19
+ /** Report the host as blocked on user input while this inline component is visible. */
20
+ blocked?: EngineBlockedStatus;
18
21
  }
19
22
  export declare class EngineCustomUiService {
20
23
  private readonly widgetIds;
@@ -1 +1 @@
1
- {"version":3,"file":"engine-custom-ui.d.ts","sourceRoot":"","sources":["../../../src/modes/interactive-engine/engine-custom-ui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine-custom-ui.d.ts","sourceRoot":"","sources":["../../../src/modes/interactive-engine/engine-custom-ui.ts"],"names":[],"mappings":"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"}
@@ -196,6 +196,7 @@ export class EngineCustomUiService {
196
196
  handlesInternalUiAction: options?.handlesInternalUiAction,
197
197
  reserveTranscriptRows: options?.reserveTranscriptRows,
198
198
  overlayOptions: serializableOverlayOptions(options?.overlayOptions),
199
+ blocked: options?.blocked,
199
200
  });
200
201
  if (options?.onHandle)
201
202
  options.onHandle(this.remoteHandle(componentId));