@sagmans/dsh-tui 0.11.1 → 0.12.1

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 (99) hide show
  1. package/README.md +72 -20
  2. package/cordis.patch.yml +4 -0
  3. package/lib/agent/status.d.ts +5 -0
  4. package/lib/agent/status.d.ts.map +1 -1
  5. package/lib/agent/status.js +2 -0
  6. package/lib/agent/status.js.map +1 -1
  7. package/lib/compat/section.d.ts +8 -0
  8. package/lib/compat/section.d.ts.map +1 -1
  9. package/lib/compat/section.js +9 -0
  10. package/lib/compat/section.js.map +1 -1
  11. package/lib/index.d.ts.map +1 -1
  12. package/lib/index.js +14 -1
  13. package/lib/index.js.map +1 -1
  14. package/lib/input/action-catalog.d.ts +3 -1
  15. package/lib/input/action-catalog.d.ts.map +1 -1
  16. package/lib/input/action-catalog.js +7 -2
  17. package/lib/input/action-catalog.js.map +1 -1
  18. package/lib/input/actions.d.ts +8 -3
  19. package/lib/input/actions.d.ts.map +1 -1
  20. package/lib/input/actions.js +22 -12
  21. package/lib/input/actions.js.map +1 -1
  22. package/lib/input/keymap-conflicts.d.ts +5 -4
  23. package/lib/input/keymap-conflicts.d.ts.map +1 -1
  24. package/lib/input/keymap-conflicts.js +12 -12
  25. package/lib/input/keymap-conflicts.js.map +1 -1
  26. package/lib/input/keymap-settings.d.ts +4 -7
  27. package/lib/input/keymap-settings.d.ts.map +1 -1
  28. package/lib/input/keymap-settings.js +6 -5
  29. package/lib/input/keymap-settings.js.map +1 -1
  30. package/lib/input/keymap.d.ts.map +1 -1
  31. package/lib/input/keymap.js +6 -6
  32. package/lib/input/keymap.js.map +1 -1
  33. package/lib/input/submission.d.ts +3 -0
  34. package/lib/input/submission.d.ts.map +1 -1
  35. package/lib/input/submission.js.map +1 -1
  36. package/lib/keymaps.d.ts +56 -0
  37. package/lib/keymaps.d.ts.map +1 -0
  38. package/lib/keymaps.js +106 -0
  39. package/lib/keymaps.js.map +1 -0
  40. package/lib/keys-command.d.ts.map +1 -1
  41. package/lib/keys-command.js +4 -4
  42. package/lib/keys-command.js.map +1 -1
  43. package/lib/surface/appearance-preferences.d.ts +3 -0
  44. package/lib/surface/appearance-preferences.d.ts.map +1 -1
  45. package/lib/surface/appearance-preferences.js +6 -0
  46. package/lib/surface/appearance-preferences.js.map +1 -1
  47. package/lib/surface/appearance.d.ts +3 -0
  48. package/lib/surface/appearance.d.ts.map +1 -1
  49. package/lib/surface/appearance.js +17 -4
  50. package/lib/surface/appearance.js.map +1 -1
  51. package/lib/surface/commands.d.ts +2 -0
  52. package/lib/surface/commands.d.ts.map +1 -1
  53. package/lib/surface/commands.js +3 -0
  54. package/lib/surface/commands.js.map +1 -1
  55. package/lib/surface/model-choice.d.ts +5 -0
  56. package/lib/surface/model-choice.d.ts.map +1 -1
  57. package/lib/surface/model-choice.js +6 -2
  58. package/lib/surface/model-choice.js.map +1 -1
  59. package/lib/surface/plugin-actions.d.ts +18 -0
  60. package/lib/surface/plugin-actions.d.ts.map +1 -0
  61. package/lib/surface/plugin-actions.js +45 -0
  62. package/lib/surface/plugin-actions.js.map +1 -0
  63. package/lib/surface/prompt-input.d.ts.map +1 -1
  64. package/lib/surface/prompt-input.js +4 -0
  65. package/lib/surface/prompt-input.js.map +1 -1
  66. package/lib/theme-command.d.ts +19 -3
  67. package/lib/theme-command.d.ts.map +1 -1
  68. package/lib/theme-command.js +18 -6
  69. package/lib/theme-command.js.map +1 -1
  70. package/lib/theme-settings.d.ts +2 -10
  71. package/lib/theme-settings.d.ts.map +1 -1
  72. package/lib/ui/copy.js +3 -0
  73. package/lib/ui/copy.js.map +1 -1
  74. package/lib/ui/editor.d.ts +15 -10
  75. package/lib/ui/editor.d.ts.map +1 -1
  76. package/lib/ui/editor.js +48 -33
  77. package/lib/ui/editor.js.map +1 -1
  78. package/lib/ui/frame.d.ts +11 -5
  79. package/lib/ui/frame.d.ts.map +1 -1
  80. package/lib/ui/frame.js +23 -7
  81. package/lib/ui/frame.js.map +1 -1
  82. package/lib/ui/layout.d.ts +3 -4
  83. package/lib/ui/layout.d.ts.map +1 -1
  84. package/lib/ui/layout.js +14 -6
  85. package/lib/ui/layout.js.map +1 -1
  86. package/lib/ui/queue.d.ts +1 -1
  87. package/lib/ui/queue.d.ts.map +1 -1
  88. package/lib/ui/queue.js +3 -2
  89. package/lib/ui/queue.js.map +1 -1
  90. package/lib/ui/status.d.ts +2 -0
  91. package/lib/ui/status.d.ts.map +1 -1
  92. package/lib/ui/status.js +4 -3
  93. package/lib/ui/status.js.map +1 -1
  94. package/lib/ui/view/transcript-message.d.ts.map +1 -1
  95. package/lib/ui/view/transcript-message.js +4 -3
  96. package/lib/ui/view/transcript-message.js.map +1 -1
  97. package/lib/ui/view.js +2 -2
  98. package/lib/ui/view.js.map +1 -1
  99. package/package.json +5 -1
@@ -0,0 +1,45 @@
1
+ import { TUI_KEYMAP_SERVICE } from "../keymaps.js";
2
+ import { stripControlCharacters } from "../text.js";
3
+ import { EffortPicker } from "../ui/picker.js";
4
+ const FAILED = 'plugin action could not complete; check plugin configuration and retry';
5
+ /** The modal owner and current route remain authoritative for every plugin invocation. */
6
+ export function createPluginActions(ctx, ports) {
7
+ let opening = false;
8
+ const invoke = async (id, route) => {
9
+ if (opening)
10
+ return;
11
+ opening = true;
12
+ try {
13
+ const registry = ctx.get(TUI_KEYMAP_SERVICE);
14
+ if (registry === undefined)
15
+ throw new Error(FAILED);
16
+ const surface = { route, notice: ports.notice, pick: async (spec) => {
17
+ const rows = spec.rows.map(row => ({ ...row, name: stripControlCharacters(row.name),
18
+ description: stripControlCharacters(row.description ?? ''), current: row.current ?? false }));
19
+ return await ports.openPicker(new EffortPicker(() => rows, stripControlCharacters(spec.title), ports.keymap));
20
+ } };
21
+ if (id === undefined)
22
+ await registry.effortConfirmed(surface);
23
+ else
24
+ await registry.dispatch(id, surface);
25
+ }
26
+ catch {
27
+ ports.notice(FAILED);
28
+ }
29
+ finally {
30
+ opening = false;
31
+ ports.render();
32
+ }
33
+ };
34
+ return {
35
+ run: async (id) => {
36
+ const facts = ports.statusFacts();
37
+ await invoke(id, facts.provider !== undefined && facts.model !== undefined ? { provider: facts.provider, model: facts.model } : undefined);
38
+ },
39
+ afterEffort: async (route) => {
40
+ if (ctx.get(TUI_KEYMAP_SERVICE) !== undefined)
41
+ await invoke(undefined, route);
42
+ },
43
+ };
44
+ }
45
+ //# sourceMappingURL=plugin-actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-actions.js","sourceRoot":"","sources":["../../src/surface/plugin-actions.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAyC,MAAM,eAAe,CAAA;AACzF,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAI9C,MAAM,MAAM,GAAG,wEAAwE,CAAA;AAEvF,0FAA0F;AAC1F,MAAM,UAAU,mBAAmB,CAAC,GAAY,EAAE,KAMjD;IACC,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,MAAM,MAAM,GAAG,KAAK,EAAE,EAAsB,EAAE,KAA2B,EAAiB,EAAE;QAC1F,IAAI,OAAO;YAAE,OAAM;QACnB,OAAO,GAAG,IAAI,CAAA;QACd,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,kBAAkB,CAA+B,CAAA;YAC1E,IAAI,QAAQ,KAAK,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAA;YACnD,MAAM,OAAO,GAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAC,IAAI,EAAC,EAAE;oBAC7E,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC;wBACjF,WAAW,EAAE,sBAAsB,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,KAAK,EAAE,CAAC,CAAC,CAAA;oBAC/F,OAAO,MAAM,KAAK,CAAC,UAAU,CAAC,IAAI,YAAY,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;gBAC/G,CAAC,EAAE,CAAA;YACH,IAAI,EAAE,KAAK,SAAS;gBAAE,MAAM,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;;gBACxD,MAAM,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;QAC3C,CAAC;QAAC,MAAM,CAAC;YAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAAC,CAAC;gBACxB,CAAC;YAAC,OAAO,GAAG,KAAK,CAAC;YAAC,KAAK,CAAC,MAAM,EAAE,CAAA;QAAC,CAAC;IAC7C,CAAC,CAAA;IACD,OAAO;QACL,GAAG,EAAE,KAAK,EAAE,EAAU,EAAiB,EAAE;YACvC,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAA;YACjC,MAAM,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;QAC5I,CAAC;QACD,WAAW,EAAE,KAAK,EAAE,KAAwC,EAAiB,EAAE;YAC7E,IAAI,GAAG,CAAC,GAAG,CAAC,kBAAkB,CAAC,KAAK,SAAS;gBAAE,MAAM,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QAC/E,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-input.d.ts","sourceRoot":"","sources":["../../src/surface/prompt-input.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt-input.d.ts","sourceRoot":"","sources":["../../src/surface/prompt-input.ts"],"names":[],"mappings":"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"}
@@ -194,6 +194,10 @@ export function createPromptInput(ctx, ports) {
194
194
  for (const binding of surfaceBindings(ports.keymap())) {
195
195
  if (!matchesKey(data, binding.key))
196
196
  continue;
197
+ if (binding.action === 'plugin') {
198
+ ports.runSubmission({ kind: 'plugin-action', id: binding.id });
199
+ return { consume: true };
200
+ }
197
201
  return surfaceActions[binding.action]() ? { consume: true } : undefined;
198
202
  }
199
203
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-input.js","sourceRoot":"","sources":["../../src/surface/prompt-input.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt-input.js","sourceRoot":"","sources":["../../src/surface/prompt-input.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,UAAU,GAGX,MAAM,wBAAwB,CAAA;AAM/B,OAAO,EAAE,eAAe,EAAe,MAAM,qBAAqB,CAAA;AAElE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,EAAE,8BAA8B,EAAE,wBAAwB,EAA0B,MAAM,wBAAwB,CAAA;AACzH,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACnF,OAAO,EAAE,kBAAkB,EAAmB,MAAM,wBAAwB,CAAA;AAkF5E;;;;;;;;;;GAUG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAY,EAAE,KAAuB;IACrE;;;;;;;OAOG;IACH,MAAM,QAAQ,GAAG,IAAI,WAAW,CAC9B,GAAG,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,EACxB,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EACnC,GAAG,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,EAC5B,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,aAAa,EAAE,CAClC,CAAA;IAED;;;;;;OAMG;IACH,MAAM,UAAU,GAAG,GAAY,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,CAAA;IAEzE;;;;;OAKG;IACH,MAAM,cAAc,GAAqD;QACvE,UAAU,EAAE,GAAG,EAAE;YACf,KAAK,CAAC,WAAW,EAAE,CAAA;YACnB,KAAK,CAAC,GAAG,EAAE,CAAC,aAAa,EAAE,CAAA;YAC3B,OAAO,IAAI,CAAA;QACb,CAAC;QACD,QAAQ,EAAE,GAAG,EAAE;YACb,KAAK,CAAC,cAAc,EAAE,CAAA;YACtB,KAAK,CAAC,GAAG,EAAE,CAAC,aAAa,EAAE,CAAA;YAC3B,OAAO,IAAI,CAAA;QACb,CAAC;QACD,SAAS,EAAE,GAAG,EAAE;YACd,KAAK,CAAC,eAAe,EAAE,CAAA;YACvB,KAAK,CAAC,GAAG,EAAE,CAAC,aAAa,EAAE,CAAA;YAC3B,OAAO,IAAI,CAAA;QACb,CAAC;QACD,MAAM,EAAE,GAAG,EAAE;YACX,KAAK,CAAC,gBAAgB,EAAE,CAAA;YACxB,OAAO,IAAI,CAAA;QACb,CAAC;QACD,OAAO,EAAE,GAAG,EAAE;YACZ,KAAK,CAAC,iBAAiB,EAAE,CAAA;YACzB,OAAO,IAAI,CAAA;QACb,CAAC;QACD,IAAI,EAAE,GAAG,EAAE;YACT,KAAK,CAAC,IAAI,EAAE,CAAA;YACZ,OAAO,IAAI,CAAA;QACb,CAAC;QACD,SAAS,EAAE,GAAG,EAAE;YACd,yEAAyE;YACzE,uEAAuE;YACvE,sDAAsD;YACtD,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,EAAE,CAAA;YACpC,MAAM,IAAI,GAAG,UAAU,CAAC;gBACtB,UAAU,EAAE,UAAU,EAAE;gBACxB,aAAa,EAAE,MAAM,CAAC,MAAM;gBAC5B,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE;gBAChC,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE;aACnC,CAAC,CAAA;YACF,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,cAAc;oBACjB,KAAK,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;oBAC1B,KAAK,CAAC,GAAG,EAAE,CAAC,aAAa,EAAE,CAAA;oBAC3B,OAAO,IAAI,CAAA;gBACb,KAAK,gBAAgB;oBACnB,uEAAuE;oBACvE,uEAAuE;oBACvE,wEAAwE;oBACxE,KAAK,CAAC,SAAS,EAAE,CAAA;oBACjB,KAAK,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;oBACzC,KAAK,CAAC,MAAM,CAAC,yBAAyB,MAAM,CAAC,MAAM,WAAW,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,kBAAkB,CAAC,CAAA;oBAC3H,KAAK,CAAC,GAAG,EAAE,CAAC,aAAa,EAAE,CAAA;oBAC3B,OAAO,IAAI,CAAA;gBACb,KAAK,gBAAgB;oBACnB,KAAK,CAAC,SAAS,EAAE,CAAA;oBACjB,KAAK,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAA;oBACnC,KAAK,CAAC,GAAG,EAAE,CAAC,aAAa,EAAE,CAAA;oBAC3B,OAAO,IAAI,CAAA;gBACb,KAAK,kBAAkB;oBACrB,KAAK,CAAC,IAAI,EAAE,CAAA;oBACZ,OAAO,IAAI,CAAA;gBACb,KAAK,WAAW;oBACd,OAAO,KAAK,CAAA;YAChB,CAAC;QACH,CAAC;QACD,IAAI,EAAE,GAAG,EAAE;YACT,wEAAwE;YACxE,4EAA4E;YAC5E,QAAQ,QAAQ,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,UAAU,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC;gBACxH,KAAK,kBAAkB;oBACrB,mEAAmE;oBACnE,4DAA4D;oBAC5D,KAAK,CAAC,SAAS,EAAE,CAAA;oBACjB,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;oBACpB,OAAO,IAAI,CAAA;gBACb,KAAK,MAAM;oBACT,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;oBACpB,OAAO,IAAI,CAAA;gBACb,KAAK,WAAW;oBACd,OAAO,KAAK,CAAA;YAChB,CAAC;QACH,CAAC;KACF,CAAA;IAED,4FAA4F;IAC5F,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;IAChD,oGAAoG;IACpG,IAAI,gBAA0D,CAAA;IAC9D,8EAA8E;IAC9E,IAAI,gBAA0D,CAAA;IAE9D;;;;;;;OAOG;IACH,MAAM,eAAe,GAAG,GAAS,EAAE;QACjC,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAA;QACnF,IAAI,MAAM,KAAK,SAAS;YAAE,KAAK,CAAC,MAAM,EAAE,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAA;IAC1E,CAAC,CAAA;IAED;;;;;;;;OAQG;IACH,MAAM,iBAAiB,GAAG,GAAS,EAAE;QACnC,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,EAAE,CAAA;QACnC,IAAI,OAAO,KAAK,SAAS;YAAE,OAAM;QACjC,MAAM,QAAQ,GAAG,KAAK,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAA;QAClD,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAM;QAClC,gBAAgB,GAAG,8BAA8B,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAA;QAC3E,gBAAgB,GAAG,wBAAwB,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAA;QAC/E,eAAe,EAAE,CAAA;IACnB,CAAC,CAAA;IAED,OAAO;QACL,eAAe,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACzD,WAAW,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE;QACpC,SAAS,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE;QAChC,eAAe;QACf,iBAAiB;QACjB,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,iBAAiB,EAAE,GAAG,EAAE,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAC9E,aAAa,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE;YACvD,4EAA4E;YAC5E,wEAAwE;YACxE,0EAA0E;YAC1E,4EAA4E;YAC5E,yEAAyE;YACzE,mCAAmC;YACnC,IAAI,YAAY,CAAC,IAAI,CAAC;gBAAE,OAAO,SAAS,CAAA;YACxC,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC;gBAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;YACxD,sEAAsE;YACtE,4EAA4E;YAC5E,0EAA0E;YAC1E,mDAAmD;YACnD,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YACrC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ;oBAAE,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;gBAC9E,KAAK,CAAC,GAAG,EAAE,CAAC,aAAa,EAAE,CAAA;gBAC3B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;YAC1B,CAAC;YACD,KAAK,MAAM,OAAO,IAAI,eAAe,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;gBACtD,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;oBAAE,SAAQ;gBAC5C,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBAChC,KAAK,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAA;oBAC9D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;gBAC1B,CAAC;gBACD,OAAO,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;YACzE,CAAC;YACD,OAAO,SAAS,CAAA;QAClB,CAAC,CAAC;QACF,YAAY,EAAE,GAAG,EAAE;YACjB,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE;gBAC/B,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAA;gBAC3C,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO;oBAAE,OAAM;gBACvC,0EAA0E;gBAC1E,8EAA8E;gBAC9E,KAAK,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;gBACjC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;gBACxB,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAA;YACjC,CAAC,CAAA;QACH,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -1,13 +1,29 @@
1
1
  import type { ThemeLibrary } from './theme-files.ts';
2
2
  import { type ThemeOverrides } from './theme-settings.ts';
3
+ /**
4
+ * Where a preference the reader sets is written.
5
+ *
6
+ * The surface cannot name that place from its own knowledge: which owner holds a
7
+ * section is what the host answers, and a host that keeps none leaves nothing to
8
+ * edit at all. Naming a path the running host never reads is worse than naming
9
+ * none, because the reader edits the file and sees nothing move.
10
+ */
11
+ export type PreferenceHome = {
12
+ readonly kind: 'document';
13
+ readonly path: string;
14
+ } | {
15
+ readonly kind: 'section';
16
+ } | {
17
+ readonly kind: 'unknown';
18
+ };
3
19
  /**
4
20
  * The effective table, one line per element.
5
21
  *
6
- * The token name comes first because it is what the reader types into
7
- * settings.yaml; the origin comes last because it is what explains the value when
22
+ * The token name comes first because it is what the reader writes into the row's
23
+ * own settings; the origin comes last because it is what explains the value when
8
24
  * the value is not what they expected. The footer names the themes that exist
9
25
  * rather than the ones this build was compiled with, because the file a reader
10
26
  * saved a second ago is the one they need to hear about.
11
27
  */
12
- export declare function renderThemeTable(overrides: ThemeOverrides, library: ThemeLibrary): string[];
28
+ export declare function renderThemeTable(overrides: ThemeOverrides, library: ThemeLibrary, home?: PreferenceHome): string[];
13
29
  //# sourceMappingURL=theme-command.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"theme-command.d.ts","sourceRoot":"","sources":["../src/theme-command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAwDrE;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,YAAY,GAAG,MAAM,EAAE,CA4B3F"}
1
+ {"version":3,"file":"theme-command.d.ts","sourceRoot":"","sources":["../src/theme-command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAqDrE;;;;;;;GAOG;AACH,MAAM,MAAM,cAAc,GACtB;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACpD;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GAC5B;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,CAAA;AAehC;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,MAAM,EAAE,CA4BlH"}
@@ -39,18 +39,30 @@ function describeToken(token, overrides, themed) {
39
39
  : named ? 'palette' : 'default';
40
40
  return { text: fields.length === 0 ? 'plain' : fields.join(' '), source };
41
41
  }
42
- /** Where the reader edits the section; the home is a variable, not a fixed path. */
43
- const SETTINGS_HINT = 'edit $DSH_HOME/settings.yaml (default ~/.dsh/settings.yaml) under "dsh-tui:" · /theme shows the result';
42
+ /**
43
+ * The one line that says where the reader edits what this table reports.
44
+ *
45
+ * A Config-backed row keeps its own document, so the footer names the file the
46
+ * write lands in — the fact a reader cannot find alone, since it is neither beside
47
+ * the package nor at the settings path older releases used.
48
+ */
49
+ function settingsHint(home) {
50
+ if (home?.kind === 'document')
51
+ return `edit ${home.path} under this row's config · /theme shows the result`;
52
+ if (home?.kind === 'section')
53
+ return 'edit $DSH_HOME/settings.yaml (default ~/.dsh/settings.yaml) under "dsh-tui:" · /theme shows the result';
54
+ return '/theme <name> writes the choice once the settings service can store it · /theme shows the result';
55
+ }
44
56
  /**
45
57
  * The effective table, one line per element.
46
58
  *
47
- * The token name comes first because it is what the reader types into
48
- * settings.yaml; the origin comes last because it is what explains the value when
59
+ * The token name comes first because it is what the reader writes into the row's
60
+ * own settings; the origin comes last because it is what explains the value when
49
61
  * the value is not what they expected. The footer names the themes that exist
50
62
  * rather than the ones this build was compiled with, because the file a reader
51
63
  * saved a second ago is the one they need to hear about.
52
64
  */
53
- export function renderThemeTable(overrides, library) {
65
+ export function renderThemeTable(overrides, library, home) {
54
66
  const themed = themeLayer(overrides);
55
67
  const chosen = overrides.theme;
56
68
  // The name is in the heading rather than the footer because a reader who opened
@@ -76,7 +88,7 @@ export function renderThemeTable(overrides, library) {
76
88
  // guess: the package's own file is replaced on update, so the copy is the only
77
89
  // editable one and it does not live beside the original.
78
90
  lines.push(`export: /theme export <built-in> writes a copy into ${library.home} to edit`);
79
- lines.push('', SETTINGS_HINT);
91
+ lines.push('', settingsHint(home));
80
92
  return lines;
81
93
  }
82
94
  //# sourceMappingURL=theme-command.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"theme-command.js","sourceRoot":"","sources":["../src/theme-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"theme-command.js","sourceRoot":"","sources":["../src/theme-command.ts"],"names":[],"mappings":"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"}
@@ -79,11 +79,7 @@ export declare const TuiSettingsSchema: z<Schemastery.ObjectS<NoInfer<{
79
79
  mermaid: z<"off" | "final" | "streaming", "off" | "final" | "streaming", "defined">;
80
80
  prefix: z<string, string, "plain">;
81
81
  prefixWindow: z<number, number, "defined">;
82
- keys: z<Schemastery.ObjectS<NoInfer<{
83
- [k: string]: z<string | string[], string | string[], "plain">;
84
- }>>, Schemastery.ObjectT<NoInfer<{
85
- [k: string]: z<string | string[], string | string[], "plain">;
86
- }>>, "defined">;
82
+ keys: z<any, any, "defined">;
87
83
  history: z<Schemastery.ObjectS<NoInfer<{
88
84
  enabled: z<boolean, boolean, "defined">;
89
85
  ghost: z<boolean, boolean, "defined">;
@@ -155,11 +151,7 @@ export declare const TuiSettingsSchema: z<Schemastery.ObjectS<NoInfer<{
155
151
  mermaid: z<"off" | "final" | "streaming", "off" | "final" | "streaming", "defined">;
156
152
  prefix: z<string, string, "plain">;
157
153
  prefixWindow: z<number, number, "defined">;
158
- keys: z<Schemastery.ObjectS<NoInfer<{
159
- [k: string]: z<string | string[], string | string[], "plain">;
160
- }>>, Schemastery.ObjectT<NoInfer<{
161
- [k: string]: z<string | string[], string | string[], "plain">;
162
- }>>, "defined">;
154
+ keys: z<any, any, "defined">;
163
155
  history: z<Schemastery.ObjectS<NoInfer<{
164
156
  enabled: z<boolean, boolean, "defined">;
165
157
  ghost: z<boolean, boolean, "defined">;
@@ -1 +1 @@
1
- {"version":3,"file":"theme-settings.d.ts","sourceRoot":"","sources":["../src/theme-settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"theme-settings.d.ts","sourceRoot":"","sources":["../src/theme-settings.ts"],"names":[],"mappings":"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"}
package/lib/ui/copy.js CHANGED
@@ -78,6 +78,9 @@ function readLine(line, rows, whole) {
78
78
  // itself there was the shape and nothing more.
79
79
  const from = Math.max(hit.column, frame.lead);
80
80
  const to = Math.min(hit.column + visibleWidth(line), visibleWidth(drawn) - frame.trail);
81
+ // Whole empty message rows preserve paragraph breaks; rail-only fragments do not.
82
+ if (hit.whole && own.trimEnd() === '')
83
+ return '';
81
84
  if (to <= from)
82
85
  return undefined;
83
86
  return sliceByColumn(own, from - frame.lead, to - from, true).trimEnd();
@@ -1 +1 @@
1
- {"version":3,"file":"copy.js","sourceRoot":"","sources":["../../src/ui/copy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"copy.js","sourceRoot":"","sources":["../../src/ui/copy.ts"],"names":[],"mappings":"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"}
@@ -25,12 +25,11 @@ export interface GhostBrush {
25
25
  paint(text: string, cell: GhostCell): string;
26
26
  }
27
27
  /**
28
- * The input bar drawn as a box, with its completion menu above it.
28
+ * The input bar shares the messages' left rail without enclosing the draft.
29
29
  *
30
- * The editor already draws the two rules and pads every row to the width it is
31
- * given, so the frame comes from rendering two columns narrower and wrapping
32
- * what comes back. The menu is lifted above the box because the reader scans it
33
- * while writing: a list that grows upward never covers the line being typed.
30
+ * The base editor still owns wrapping and scrolling, so only its enclosing
31
+ * rules are removed. Completion stays above the draft to avoid covering the
32
+ * line being typed, and scroll counts keep clipped text discoverable.
34
33
  */
35
34
  export declare class BoxedEditor extends Editor {
36
35
  private readonly keymap;
@@ -39,8 +38,14 @@ export declare class BoxedEditor extends Editor {
39
38
  private menuRows;
40
39
  /** Rows between the rules in the last render; how the base editor counts its own. */
41
40
  private textRows;
42
- /** Whether the last render drew a frame, which is what a click is mapped through. */
43
- private boxed;
41
+ /** Pointer translation is safe only after recognizing the base layout. */
42
+ private mapped;
43
+ /** Hidden rows stay discoverable after removing the enclosing rules. */
44
+ private hiddenAbove;
45
+ private hiddenBelow;
46
+ /** Pointer offsets follow only the furniture actually drawn. */
47
+ private railColumns;
48
+ private topIndicatorRows;
44
49
  constructor(tui: TUI, theme: EditorTheme, keymap?: () => Keymap, ghost?: GhostBrush | undefined);
45
50
  /**
46
51
  * Read the two presses the base class cannot place on its own.
@@ -54,8 +59,8 @@ export declare class BoxedEditor extends Editor {
54
59
  handleInput(data: string): void;
55
60
  /** Tag the closing rule so {@link render} can find where the box ends. */
56
61
  protected renderBottomBorder(width: number, hiddenLineCount: number): string;
57
- /** A rule redrawn as a box edge, so the corners carry the border's own colour. */
58
- private edge;
62
+ /** The base owns scrolling; its count survives without its top rule. */
63
+ protected renderTopBorder(width: number, hiddenLineCount: number): string;
59
64
  /**
60
65
  * Rewrite one row of the text before it is framed, so a subclass can hide
61
66
  * what it collects without hiding the box the reader types inside.
@@ -83,7 +88,7 @@ export declare class BoxedEditor extends Editor {
83
88
  * The base editor hit-tests the rows it painted in its own order — the input
84
89
  * under the top rule, the menu after the bottom one — and measures columns
85
90
  * from the edge of the width it was asked for. This subclass draws the menu
86
- * first and indents every line by the frame, so a click has to be translated
91
+ * first, removes the rules, and adds a rail, so clicks must be translated
87
92
  * back before that hit test can say what it hit.
88
93
  */
89
94
  handleMouse(event: TuiMouseEvent): TuiMouseEventResult | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../src/ui/editor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EAMN,KAAK,WAAW,EAChB,KAAK,GAAG,EACR,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACzB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAiB,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAEhE,OAAO,EAAsE,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAmDzH,kFAAkF;AAClF,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAA;AAEzC,wDAAwD;AACxD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;IACjC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;CAC9B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IACzB,+EAA+E;IAC/E,OAAO,IAAI,OAAO,CAAA;IAClB,uEAAuE;IACvE,UAAU,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAAA;IACnD,8DAA8D;IAC9D,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,CAAA;CAC7C;AAED;;;;;;;GAOG;AACH,qBAAa,WAAY,SAAQ,MAAM;IAWnC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;IAXzB,gFAAgF;IAChF,OAAO,CAAC,QAAQ,CAAI;IACpB,qFAAqF;IACrF,OAAO,CAAC,QAAQ,CAAI;IACpB,qFAAqF;IACrF,OAAO,CAAC,KAAK,CAAQ;gBAGnB,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,WAAW,EACD,MAAM,GAAE,MAAM,MAAsB,EACpC,KAAK,CAAC,EAAE,UAAU,YAAA;IAKrC;;;;;;;;OAQG;IACM,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAkCxC,0EAA0E;cACvD,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM;IAIrF,kFAAkF;IAClF,OAAO,CAAC,IAAI;IAIZ;;;OAGG;IACH,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAI3C,kFAAkF;IAClF,OAAO,CAAC,kBAAkB;IAmB1B;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ;IA0BhB;;;OAGG;IACH,OAAO,CAAC,WAAW;IAgBV,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IA4BxC;;;;;;;;OAQG;IACM,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG,mBAAmB,GAAG,SAAS;CAQ5E"}
1
+ {"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../src/ui/editor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EAMN,KAAK,WAAW,EAChB,KAAK,GAAG,EACR,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACzB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAiB,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAEhE,OAAO,EAAsE,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAmDzH,kFAAkF;AAClF,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAA;AAEzC,wDAAwD;AACxD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;IACjC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;CAC9B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IACzB,+EAA+E;IAC/E,OAAO,IAAI,OAAO,CAAA;IAClB,uEAAuE;IACvE,UAAU,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAAA;IACnD,8DAA8D;IAC9D,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,CAAA;CAC7C;AAED;;;;;;GAMG;AACH,qBAAa,WAAY,SAAQ,MAAM;IAiBnC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;IAjBzB,gFAAgF;IAChF,OAAO,CAAC,QAAQ,CAAI;IACpB,qFAAqF;IACrF,OAAO,CAAC,QAAQ,CAAI;IACpB,0EAA0E;IAC1E,OAAO,CAAC,MAAM,CAAQ;IACtB,wEAAwE;IACxE,OAAO,CAAC,WAAW,CAAI;IACvB,OAAO,CAAC,WAAW,CAAI;IACvB,gEAAgE;IAChE,OAAO,CAAC,WAAW,CAAI;IACvB,OAAO,CAAC,gBAAgB,CAAI;gBAG1B,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,WAAW,EACD,MAAM,GAAE,MAAM,MAAsB,EACpC,KAAK,CAAC,EAAE,UAAU,YAAA;IAKrC;;;;;;;;OAQG;IACM,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAkCxC,0EAA0E;cACvD,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM;IAKrF,wEAAwE;cACrD,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM;IAKlF;;;OAGG;IACH,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAI3C,kFAAkF;IAClF,OAAO,CAAC,kBAAkB;IAmB1B;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ;IA0BhB;;;OAGG;IACH,OAAO,CAAC,WAAW;IAgBV,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IAmCxC;;;;;;;;OAQG;IACM,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG,mBAAmB,GAAG,SAAS;CAQ5E"}
package/lib/ui/editor.js CHANGED
@@ -4,7 +4,7 @@ import { ENTER_KEY } from "../input/key-press.js";
4
4
  import { ghostDisplayLine, ghostGraphemes, isCursorAtTextEnd, nextGhostWord } from "../input/ghost.js";
5
5
  import { promptKeys } from "../input/keymap.js";
6
6
  import { renderTerminalText } from "../terminal-text.js";
7
- import { FRAME_COLUMNS, FRAME_GLYPHS, MIN_BOX_WIDTH, PADDING_X } from "./frame.js";
7
+ import { FRAME_COLUMNS, RAIL_COLUMNS, FRAME_GLYPHS, MIN_BOX_WIDTH, MIN_RAIL_WIDTH, PADDING_X, textRow } from "./frame.js";
8
8
  /**
9
9
  * Marks the rule that closes the input while one render is in flight.
10
10
  *
@@ -47,12 +47,11 @@ const KITTY_CTRL_J = '\u001b[106;5u';
47
47
  */
48
48
  const CURSOR_AT_END = '\u001b[7m \u001b[0m';
49
49
  /**
50
- * The input bar drawn as a box, with its completion menu above it.
50
+ * The input bar shares the messages' left rail without enclosing the draft.
51
51
  *
52
- * The editor already draws the two rules and pads every row to the width it is
53
- * given, so the frame comes from rendering two columns narrower and wrapping
54
- * what comes back. The menu is lifted above the box because the reader scans it
55
- * while writing: a list that grows upward never covers the line being typed.
52
+ * The base editor still owns wrapping and scrolling, so only its enclosing
53
+ * rules are removed. Completion stays above the draft to avoid covering the
54
+ * line being typed, and scroll counts keep clipped text discoverable.
56
55
  */
57
56
  export class BoxedEditor extends Editor {
58
57
  keymap;
@@ -61,8 +60,14 @@ export class BoxedEditor extends Editor {
61
60
  menuRows = 0;
62
61
  /** Rows between the rules in the last render; how the base editor counts its own. */
63
62
  textRows = 0;
64
- /** Whether the last render drew a frame, which is what a click is mapped through. */
65
- boxed = false;
63
+ /** Pointer translation is safe only after recognizing the base layout. */
64
+ mapped = false;
65
+ /** Hidden rows stay discoverable after removing the enclosing rules. */
66
+ hiddenAbove = 0;
67
+ hiddenBelow = 0;
68
+ /** Pointer offsets follow only the furniture actually drawn. */
69
+ railColumns = 0;
70
+ topIndicatorRows = 0;
66
71
  constructor(tui, theme, keymap = defaultKeymap, ghost) {
67
72
  super(tui, theme, { paddingX: PADDING_X });
68
73
  this.keymap = keymap;
@@ -113,11 +118,13 @@ export class BoxedEditor extends Editor {
113
118
  }
114
119
  /** Tag the closing rule so {@link render} can find where the box ends. */
115
120
  renderBottomBorder(width, hiddenLineCount) {
121
+ this.hiddenBelow = hiddenLineCount;
116
122
  return `${super.renderBottomBorder(width, hiddenLineCount)}${CLOSING_TAG}`;
117
123
  }
118
- /** A rule redrawn as a box edge, so the corners carry the border's own colour. */
119
- edge(open, close, row) {
120
- return this.borderColor(`${open}${stripTerminalSequences(row)}${close}`);
124
+ /** The base owns scrolling; its count survives without its top rule. */
125
+ renderTopBorder(width, hiddenLineCount) {
126
+ this.hiddenAbove = hiddenLineCount;
127
+ return super.renderTopBorder(width, hiddenLineCount);
121
128
  }
122
129
  /**
123
130
  * Rewrite one row of the text before it is framed, so a subclass can hide
@@ -206,32 +213,40 @@ export class BoxedEditor extends Editor {
206
213
  return true;
207
214
  }
208
215
  render(width) {
209
- const side = this.borderColor(FRAME_GLYPHS.side);
210
- // A frame narrower than its own furniture would eat the text it exists to
211
- // hold, and a hidden border token asks for no frame at all: both cases keep
212
- // the plain rules rather than reserve columns for what nobody can see.
216
+ // Borrowed question editors remain dialog furniture, not conversation messages.
217
+ const enclosed = this.disableSubmit;
218
+ const minimum = enclosed ? MIN_BOX_WIDTH : MIN_RAIL_WIDTH;
219
+ const side = width >= minimum ? this.borderColor(FRAME_GLYPHS.side) : '';
220
+ this.railColumns = side === '' ? 0 : enclosed ? FRAME_COLUMNS : RAIL_COLUMNS;
221
+ const boxed = enclosed && this.railColumns > 0;
222
+ const inside = width - this.railColumns;
213
223
  const ghost = this.disableSubmit ? undefined : this.currentGhostSuffix();
214
- if (width < MIN_BOX_WIDTH || side === '') {
215
- this.boxed = false;
216
- return super.render(width).map(row => this.decorateText(this.ghostRow(row, ghost)));
217
- }
218
- const rows = super.render(width - FRAME_COLUMNS);
224
+ const rows = super.render(inside);
219
225
  const closing = rows.findIndex(row => row.includes(CLOSING_TAG));
220
- // No tagged rule means the base did not paint the shape this class knows;
221
- // an unframed render reports that better than a frame drawn on a guess.
222
- if (closing < 0)
226
+ // An unfamiliar base layout must not receive guessed pointer offsets.
227
+ if (closing < 0) {
228
+ this.mapped = false;
223
229
  return rows.map(row => row.replace(CLOSING_TAG, ''));
230
+ }
224
231
  const menu = rows.slice(closing + 1);
225
232
  const text = rows.slice(1, closing);
226
233
  this.menuRows = menu.length;
227
234
  this.textRows = text.length;
228
- this.boxed = true;
229
- // The menu keeps the page's own width; only its rows moved above the box.
230
- const lines = menu.map(row => row + ' '.repeat(FRAME_COLUMNS));
231
- lines.push(this.edge(FRAME_GLYPHS.topLeft, FRAME_GLYPHS.topRight, rows[0] ?? ''));
235
+ this.mapped = true;
236
+ this.topIndicatorRows = boxed || this.hiddenAbove > 0 ? 1 : 0;
237
+ const lines = menu.map(row => row + ' '.repeat(this.railColumns));
238
+ const indicator = (direction, count) => side + textRow(this.borderColor(`${direction} ${count} more`), inside);
239
+ const edge = (open, row, close) => this.borderColor(open + stripTerminalSequences(row) + close);
240
+ if (boxed)
241
+ lines.push(edge(FRAME_GLYPHS.topLeft, rows[0] ?? '', FRAME_GLYPHS.topRight));
242
+ else if (this.hiddenAbove > 0)
243
+ lines.push(indicator('↑', this.hiddenAbove));
232
244
  for (const row of text)
233
- lines.push(`${side}${this.decorateText(this.ghostRow(row, ghost))}${side}`);
234
- lines.push(this.edge(FRAME_GLYPHS.bottomLeft, FRAME_GLYPHS.bottomRight, rows[closing].replace(CLOSING_TAG, '')));
245
+ lines.push(side + this.decorateText(this.ghostRow(row, ghost)) + (boxed ? side : ''));
246
+ if (boxed)
247
+ lines.push(edge(FRAME_GLYPHS.bottomLeft, rows[closing].replace(CLOSING_TAG, ''), FRAME_GLYPHS.bottomRight));
248
+ else if (this.hiddenBelow > 0)
249
+ lines.push(indicator('↓', this.hiddenBelow));
235
250
  return lines;
236
251
  }
237
252
  /**
@@ -240,17 +255,17 @@ export class BoxedEditor extends Editor {
240
255
  * The base editor hit-tests the rows it painted in its own order — the input
241
256
  * under the top rule, the menu after the bottom one — and measures columns
242
257
  * from the edge of the width it was asked for. This subclass draws the menu
243
- * first and indents every line by the frame, so a click has to be translated
258
+ * first, removes the rules, and adds a rail, so clicks must be translated
244
259
  * back before that hit test can say what it hit.
245
260
  */
246
261
  handleMouse(event) {
247
- if (!this.boxed)
262
+ if (!this.mapped)
248
263
  return super.handleMouse(event);
249
- const width = event.width - FRAME_COLUMNS;
264
+ const width = event.width - this.railColumns;
250
265
  if (event.y < this.menuRows) {
251
266
  return super.handleMouse({ ...event, width, y: event.y + this.textRows + 2 });
252
267
  }
253
- return super.handleMouse({ ...event, width, x: event.x - 1, y: event.y - this.menuRows });
268
+ return super.handleMouse({ ...event, width, x: event.x - (this.railColumns > 0 ? RAIL_COLUMNS : 0), y: event.y - this.menuRows + 1 - this.topIndicatorRows });
254
269
  }
255
270
  }
256
271
  //# sourceMappingURL=editor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"editor.js","sourceRoot":"","sources":["../../src/ui/editor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"editor.js","sourceRoot":"","sources":["../../src/ui/editor.ts"],"names":[],"mappings":"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"}
package/lib/ui/frame.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * The frame every prompt is closed into.
2
+ * The shared furniture keeps prompts recognizable through their whole life.
3
3
  *
4
4
  * The editor, the prompts queued above it, and the prompts already submitted
5
5
  * draw the same glyphs at the same width, so one prompt reads as the same object
@@ -15,10 +15,14 @@ export declare const FRAME_GLYPHS: {
15
15
  };
16
16
  /** The frame costs one column each side, so the text wraps that much narrower. */
17
17
  export declare const FRAME_COLUMNS = 2;
18
+ /** A message rail leaves the right edge open without changing boxed pickers. */
19
+ export declare const RAIL_COLUMNS = 1;
18
20
  /** One column of air inside the frame, so a full line never touches the border. */
19
21
  export declare const PADDING_X = 1;
20
22
  /** A box needs both edges, both paddings, and one column left to type in. */
21
23
  export declare const MIN_BOX_WIDTH: number;
24
+ /** Narrow rails still need padding and one writable cell. */
25
+ export declare const MIN_RAIL_WIDTH: number;
22
26
  /** The columns the text of a bar owns, given the width of everything inside its frame. */
23
27
  export declare function textWidth(innerWidth: number): number;
24
28
  /** One text row of a bar: the air, the text, and the rest of the inside width. */
@@ -35,10 +39,12 @@ export declare function frameRule(innerWidth: number, hiddenRows: number): strin
35
39
  export interface FrameFaces {
36
40
  /** Paints one row of the block's own text. */
37
41
  readonly text: (line: string) => string;
38
- /** Paints the frame's rules and its two sides. */
42
+ /** One border face keeps rails and enclosed picker edges theme-compatible. */
39
43
  readonly border: (rule: string) => string;
40
44
  /** Whether the frame may be drawn at all. */
41
45
  readonly framed: boolean;
46
+ /** Messages share a quiet left edge; picker dialogs retain their enclosure. */
47
+ readonly rail?: boolean;
42
48
  }
43
49
  /**
44
50
  * One row a frame drew, as a copy of it comes back from the terminal.
@@ -65,7 +71,7 @@ export interface FrameBlock {
65
71
  readonly copy: readonly FrameRow[];
66
72
  }
67
73
  /** Whether a bar has the width, and the visible border, to close a frame. */
68
- export declare function canFrame(width: number, borderVisible: boolean): boolean;
74
+ export declare function canFrame(width: number, borderVisible: boolean, rail?: boolean): boolean;
69
75
  /**
70
76
  * One block of already-rendered rows as a bar draws it: padded to the frame's
71
77
  * own text width, and closed into it when the frame can be drawn.
@@ -73,8 +79,8 @@ export declare function canFrame(width: number, borderVisible: boolean): boolean
73
79
  * Markdown lays itself out to the width it is given, so its rows may not be
74
80
  * wrapped again here: a second pass would break a fence or a table the markdown
75
81
  * just drew. A block with a limit is a preview, and the rows it drops are
76
- * counted on the closing rule: a reader who cannot see the whole text still has
77
- * to see that it continues.
82
+ * counted beside the rail or on the closing rule: a clipped preview must still
83
+ * tell the reader that it continues.
78
84
  *
79
85
  * The copy of a block reads the same rows back as text: the frame's own rows
80
86
  * carry no text at all, and a row the frame holds names the columns of it that
@@ -1 +1 @@
1
- {"version":3,"file":"frame.d.ts","sourceRoot":"","sources":["../../src/ui/frame.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY;;;;;;CAAyF,CAAA;AAElH,kFAAkF;AAClF,eAAO,MAAM,aAAa,IAAI,CAAA;AAC9B,mFAAmF;AACnF,eAAO,MAAM,SAAS,IAAI,CAAA;AAG1B,6EAA6E;AAC7E,eAAO,MAAM,aAAa,QAAoC,CAAA;AAE9D,0FAA0F;AAC1F,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,kFAAkF;AAClF,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAQhE;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAgBxE;AAED,0EAA0E;AAC1E,MAAM,WAAW,UAAU;IACzB,8CAA8C;IAC9C,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IACvC,kDAAkD;IAClD,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IACzC,6CAA6C;IAC7C,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CACzB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,QAAQ;IACvB,wEAAwE;IACxE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,iGAAiG;IACjG,QAAQ,CAAC,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;CACnE;AAED,wEAAwE;AACxE,MAAM,WAAW,UAAU;IACzB,sDAAsD;IACtD,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;IACjC,kDAAkD;IAClD,QAAQ,CAAC,IAAI,EAAE,SAAS,QAAQ,EAAE,CAAA;CACnC;AAED,6EAA6E;AAC7E,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,GAAG,OAAO,CAEvE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,SAA2B,GAAG,UAAU,CAuBnI;AAED,6EAA6E;AAC7E,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,SAA2B,GAAG,MAAM,EAAE,CAEjI;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,SAA2B,GAAG,MAAM,EAAE,CAIpH"}
1
+ {"version":3,"file":"frame.d.ts","sourceRoot":"","sources":["../../src/ui/frame.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY;;;;;;CAAyF,CAAA;AAElH,kFAAkF;AAClF,eAAO,MAAM,aAAa,IAAI,CAAA;AAC9B,gFAAgF;AAChF,eAAO,MAAM,YAAY,IAAI,CAAA;AAC7B,mFAAmF;AACnF,eAAO,MAAM,SAAS,IAAI,CAAA;AAG1B,6EAA6E;AAC7E,eAAO,MAAM,aAAa,QAAoC,CAAA;AAC9D,6DAA6D;AAC7D,eAAO,MAAM,cAAc,QAAmC,CAAA;AAE9D,0FAA0F;AAC1F,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,kFAAkF;AAClF,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAQhE;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAgBxE;AAED,0EAA0E;AAC1E,MAAM,WAAW,UAAU;IACzB,8CAA8C;IAC9C,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IACvC,8EAA8E;IAC9E,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IACzC,6CAA6C;IAC7C,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB,+EAA+E;IAC/E,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CACxB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,QAAQ;IACvB,wEAAwE;IACxE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,iGAAiG;IACjG,QAAQ,CAAC,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;CACnE;AAED,wEAAwE;AACxE,MAAM,WAAW,UAAU;IACzB,sDAAsD;IACtD,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;IACjC,kDAAkD;IAClD,QAAQ,CAAC,IAAI,EAAE,SAAS,QAAQ,EAAE,CAAA;CACnC;AAED,6EAA6E;AAC7E,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,UAAQ,GAAG,OAAO,CAErF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,SAA2B,GAAG,UAAU,CAmCnI;AAED,6EAA6E;AAC7E,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,SAA2B,GAAG,MAAM,EAAE,CAEjI;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,SAA2B,GAAG,MAAM,EAAE,CAIpH"}