@namzu/cli 14.3.0 → 15.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. package/README.md +117 -17
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js +26 -26
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/acp.d.ts.map +1 -1
  6. package/dist/commands/acp.js +3 -2
  7. package/dist/commands/acp.js.map +1 -1
  8. package/dist/commands/doctor.d.ts.map +1 -1
  9. package/dist/commands/doctor.js +2 -0
  10. package/dist/commands/doctor.js.map +1 -1
  11. package/dist/commands/login.d.ts +2 -0
  12. package/dist/commands/login.d.ts.map +1 -1
  13. package/dist/commands/login.js +45 -7
  14. package/dist/commands/login.js.map +1 -1
  15. package/dist/commands/run.d.ts.map +1 -1
  16. package/dist/commands/run.js +36 -12
  17. package/dist/commands/run.js.map +1 -1
  18. package/dist/commands/{stubs.d.ts → serve.d.ts} +1 -10
  19. package/dist/commands/serve.d.ts.map +1 -0
  20. package/dist/commands/{stubs.js → serve.js} +1 -24
  21. package/dist/commands/serve.js.map +1 -0
  22. package/dist/commands/skills.d.ts +19 -0
  23. package/dist/commands/skills.d.ts.map +1 -0
  24. package/dist/commands/skills.js +107 -0
  25. package/dist/commands/skills.js.map +1 -0
  26. package/dist/integrations/mcp/servers.d.ts +7 -0
  27. package/dist/integrations/mcp/servers.d.ts.map +1 -1
  28. package/dist/integrations/mcp/servers.js +33 -8
  29. package/dist/integrations/mcp/servers.js.map +1 -1
  30. package/dist/integrations/sessions/store.d.ts +8 -0
  31. package/dist/integrations/sessions/store.d.ts.map +1 -1
  32. package/dist/integrations/sessions/store.js +15 -0
  33. package/dist/integrations/sessions/store.js.map +1 -1
  34. package/dist/integrations/subagents/runtime.d.ts +2 -0
  35. package/dist/integrations/subagents/runtime.d.ts.map +1 -1
  36. package/dist/integrations/subagents/runtime.js +86 -13
  37. package/dist/integrations/subagents/runtime.js.map +1 -1
  38. package/dist/integrations/updates.d.ts.map +1 -1
  39. package/dist/integrations/updates.js +29 -4
  40. package/dist/integrations/updates.js.map +1 -1
  41. package/dist/tui/App.d.ts +10 -1
  42. package/dist/tui/App.d.ts.map +1 -1
  43. package/dist/tui/App.js +1039 -252
  44. package/dist/tui/App.js.map +1 -1
  45. package/dist/tui/ChoicePicker.d.ts +2 -1
  46. package/dist/tui/ChoicePicker.d.ts.map +1 -1
  47. package/dist/tui/ChoicePicker.js +10 -6
  48. package/dist/tui/ChoicePicker.js.map +1 -1
  49. package/dist/tui/Composer.d.ts +19 -2
  50. package/dist/tui/Composer.d.ts.map +1 -1
  51. package/dist/tui/Composer.js +526 -70
  52. package/dist/tui/Composer.js.map +1 -1
  53. package/dist/tui/CopyPicker.d.ts.map +1 -1
  54. package/dist/tui/CopyPicker.js +3 -4
  55. package/dist/tui/CopyPicker.js.map +1 -1
  56. package/dist/tui/EditPromptPicker.d.ts.map +1 -1
  57. package/dist/tui/EditPromptPicker.js +3 -4
  58. package/dist/tui/EditPromptPicker.js.map +1 -1
  59. package/dist/tui/Markdown.d.ts +3 -1
  60. package/dist/tui/Markdown.d.ts.map +1 -1
  61. package/dist/tui/Markdown.js +11 -9
  62. package/dist/tui/Markdown.js.map +1 -1
  63. package/dist/tui/PermissionOverlay.d.ts +11 -6
  64. package/dist/tui/PermissionOverlay.d.ts.map +1 -1
  65. package/dist/tui/PermissionOverlay.js +13 -20
  66. package/dist/tui/PermissionOverlay.js.map +1 -1
  67. package/dist/tui/Picker.d.ts.map +1 -1
  68. package/dist/tui/Picker.js +47 -11
  69. package/dist/tui/Picker.js.map +1 -1
  70. package/dist/tui/ResumePicker.d.ts.map +1 -1
  71. package/dist/tui/ResumePicker.js +6 -1
  72. package/dist/tui/ResumePicker.js.map +1 -1
  73. package/dist/tui/StatusBar.js +3 -3
  74. package/dist/tui/StatusBar.js.map +1 -1
  75. package/dist/tui/TextPrompt.d.ts +21 -0
  76. package/dist/tui/TextPrompt.d.ts.map +1 -0
  77. package/dist/tui/TextPrompt.js +139 -0
  78. package/dist/tui/TextPrompt.js.map +1 -0
  79. package/dist/tui/Transcript.d.ts +9 -10
  80. package/dist/tui/Transcript.d.ts.map +1 -1
  81. package/dist/tui/Transcript.js +11 -12
  82. package/dist/tui/Transcript.js.map +1 -1
  83. package/dist/tui/agent.d.ts +57 -23
  84. package/dist/tui/agent.d.ts.map +1 -1
  85. package/dist/tui/agent.js +136 -86
  86. package/dist/tui/agent.js.map +1 -1
  87. package/dist/tui/exit-summary.d.ts.map +1 -1
  88. package/dist/tui/exit-summary.js +2 -1
  89. package/dist/tui/exit-summary.js.map +1 -1
  90. package/dist/tui/external-editor.d.ts +25 -0
  91. package/dist/tui/external-editor.d.ts.map +1 -0
  92. package/dist/tui/external-editor.js +169 -0
  93. package/dist/tui/external-editor.js.map +1 -0
  94. package/dist/tui/index.d.ts.map +1 -1
  95. package/dist/tui/index.js +4 -0
  96. package/dist/tui/index.js.map +1 -1
  97. package/dist/tui/live-window.d.ts +17 -11
  98. package/dist/tui/live-window.d.ts.map +1 -1
  99. package/dist/tui/live-window.js +64 -20
  100. package/dist/tui/live-window.js.map +1 -1
  101. package/dist/tui/login-prompt.d.ts +2 -0
  102. package/dist/tui/login-prompt.d.ts.map +1 -1
  103. package/dist/tui/login-prompt.js +8 -1
  104. package/dist/tui/login-prompt.js.map +1 -1
  105. package/dist/tui/mentions.d.ts +19 -0
  106. package/dist/tui/mentions.d.ts.map +1 -1
  107. package/dist/tui/mentions.js +96 -5
  108. package/dist/tui/mentions.js.map +1 -1
  109. package/dist/tui/permission-review.d.ts +59 -0
  110. package/dist/tui/permission-review.d.ts.map +1 -0
  111. package/dist/tui/permission-review.js +219 -0
  112. package/dist/tui/permission-review.js.map +1 -0
  113. package/dist/tui/run-interruption.d.ts +14 -0
  114. package/dist/tui/run-interruption.d.ts.map +1 -0
  115. package/dist/tui/run-interruption.js +67 -0
  116. package/dist/tui/run-interruption.js.map +1 -0
  117. package/dist/tui/selection-window.d.ts +18 -0
  118. package/dist/tui/selection-window.d.ts.map +1 -0
  119. package/dist/tui/selection-window.js +37 -0
  120. package/dist/tui/selection-window.js.map +1 -0
  121. package/dist/tui/slashCommands.d.ts +48 -8
  122. package/dist/tui/slashCommands.d.ts.map +1 -1
  123. package/dist/tui/slashCommands.js +129 -47
  124. package/dist/tui/slashCommands.js.map +1 -1
  125. package/dist/tui/terminal-hyperlinks.d.ts +20 -0
  126. package/dist/tui/terminal-hyperlinks.d.ts.map +1 -0
  127. package/dist/tui/terminal-hyperlinks.js +70 -0
  128. package/dist/tui/terminal-hyperlinks.js.map +1 -0
  129. package/dist/tui/types.d.ts +2 -0
  130. package/dist/tui/types.d.ts.map +1 -1
  131. package/dist/tui/use-selection-index.d.ts +8 -0
  132. package/dist/tui/use-selection-index.d.ts.map +1 -0
  133. package/dist/tui/use-selection-index.js +13 -0
  134. package/dist/tui/use-selection-index.js.map +1 -0
  135. package/dist/tui/workspace-review.d.ts +15 -0
  136. package/dist/tui/workspace-review.d.ts.map +1 -0
  137. package/dist/tui/workspace-review.js +67 -0
  138. package/dist/tui/workspace-review.js.map +1 -0
  139. package/dist/version.d.ts +10 -0
  140. package/dist/version.d.ts.map +1 -0
  141. package/dist/version.js +23 -0
  142. package/dist/version.js.map +1 -0
  143. package/package.json +8 -7
  144. package/dist/commands/stubs.d.ts.map +0 -1
  145. package/dist/commands/stubs.js.map +0 -1
  146. package/dist/tui/bottom-spacer.d.ts +0 -95
  147. package/dist/tui/bottom-spacer.d.ts.map +0 -1
  148. package/dist/tui/bottom-spacer.js +0 -83
  149. package/dist/tui/bottom-spacer.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Composer.js","sourceRoot":"","sources":["../../src/tui/Composer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Composer.js","sourceRoot":"","sources":["../../src/tui/Composer.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"CopyPicker.d.ts","sourceRoot":"","sources":["../../src/tui/CopyPicker.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAI3D,MAAM,WAAW,eAAe;IAC/B,QAAQ,CAAC,OAAO,EAAE,SAAS,kBAAkB,EAAE,CAAA;IAC/C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CACzB;AAED,kFAAkF;AAClF,wBAAgB,UAAU,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,eAAe,2CAuDhE"}
1
+ {"version":3,"file":"CopyPicker.d.ts","sourceRoot":"","sources":["../../src/tui/CopyPicker.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAK3D,MAAM,WAAW,eAAe;IAC/B,QAAQ,CAAC,OAAO,EAAE,SAAS,kBAAkB,EAAE,CAAA;IAC/C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CACzB;AAED,kFAAkF;AAClF,wBAAgB,UAAU,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,eAAe,2CAsDhE"}
@@ -1,16 +1,15 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Box, Text } from 'ink';
3
+ import { selectionWindow } from './selection-window.js';
3
4
  import { terminalDisplayText } from './terminal-display.js';
4
5
  import { theme } from './theme.js';
5
6
  /** Source-target chooser; App owns keys, clipboard output and queue admission. */
6
7
  export function CopyPicker({ targets, selected }) {
7
- const windowSize = 7;
8
- const start = Math.max(0, Math.min(selected - 3, targets.length - windowSize));
9
- const visible = targets.slice(start, start + windowSize);
8
+ const { start, items: visible } = selectionWindow(targets, selected);
10
9
  return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: theme.border.focus, paddingX: 1, children: [_jsxs(Box, { justifyContent: "space-between", children: [_jsx(Text, { color: theme.accent.user, bold: true, children: "Copy from response" }), _jsxs(Text, { color: theme.text.muted, children: [selected + 1, "/", targets.length] })] }), _jsx(Box, { flexDirection: "column", paddingTop: 1, children: visible.map((target, visibleIndex) => {
11
10
  const index = start + visibleIndex;
12
11
  return (_jsxs(Box, { children: [_jsx(Box, { width: 4, flexShrink: 0, children: _jsxs(Text, { color: theme.accent.user, children: [index === selected ? '›' : ' ', index < 9 ? `${index + 1}.` : ' '] }) }), _jsx(Box, { width: 22, flexShrink: 0, children: _jsx(Text, { color: index === selected ? theme.text.primary : theme.text.secondary, bold: index === selected, wrap: "truncate-end", children: terminalDisplayText(target.label) }) }), _jsx(Box, { flexGrow: 1, children: _jsx(Text, { color: theme.text.muted, wrap: "truncate-end", children: preview(target.text) }) })] }, `${target.kind}-${index}`));
13
- }) }), _jsx(Box, { paddingTop: 1, children: _jsx(Text, { color: theme.text.muted, children: "\u2191\u2193 navigate \u00B7 1\u20139 select \u00B7 enter send request \u00B7 esc cancel" }) })] }));
12
+ }) }), _jsx(Box, { paddingTop: 1, children: _jsx(Text, { color: theme.text.muted, children: "\u2191\u2193 navigate \u00B7 PgUp/PgDn jump \u00B7 Home/End boundary \u00B7 1\u20139 select \u00B7 enter send request \u00B7 esc cancel" }) })] }));
14
13
  }
15
14
  function preview(source) {
16
15
  const safe = terminalDisplayText(source);
@@ -1 +1 @@
1
- {"version":3,"file":"CopyPicker.js","sourceRoot":"","sources":["../../src/tui/CopyPicker.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CopyPicker.js","sourceRoot":"","sources":["../../src/tui/CopyPicker.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"EditPromptPicker.d.ts","sourceRoot":"","sources":["../../src/tui/EditPromptPicker.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAGvD,MAAM,WAAW,qBAAqB;IACrC,QAAQ,CAAC,OAAO,EAAE,SAAS,cAAc,EAAE,CAAA;IAC3C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CACzB;AAED,+EAA+E;AAC/E,wBAAgB,gBAAgB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,qBAAqB,2CAqD5E"}
1
+ {"version":3,"file":"EditPromptPicker.d.ts","sourceRoot":"","sources":["../../src/tui/EditPromptPicker.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAIvD,MAAM,WAAW,qBAAqB;IACrC,QAAQ,CAAC,OAAO,EAAE,SAAS,cAAc,EAAE,CAAA;IAC3C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CACzB;AAED,+EAA+E;AAC/E,wBAAgB,gBAAgB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,qBAAqB,2CAoD5E"}
@@ -1,16 +1,15 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Box, Text } from 'ink';
3
+ import { selectionWindow } from './selection-window.js';
3
4
  import { theme } from './theme.js';
4
5
  /** Bounded preview for choosing the source-preserving prompt-edit boundary. */
5
6
  export function EditPromptPicker({ prompts, selected }) {
6
- const windowSize = 7;
7
- const start = Math.max(0, Math.min(selected - 3, prompts.length - windowSize));
8
- const visible = prompts.slice(start, start + windowSize);
7
+ const { start, items: visible } = selectionWindow(prompts, selected);
9
8
  return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: theme.border.focus, paddingX: 1, children: [_jsxs(Box, { justifyContent: "space-between", children: [_jsx(Text, { color: theme.accent.user, bold: true, children: "Edit a previous prompt in a new branch" }), _jsxs(Text, { color: theme.text.muted, children: [selected + 1, "/", prompts.length] })] }), _jsx(Box, { flexDirection: "column", paddingTop: 1, children: visible.map((prompt, visibleIndex) => {
10
9
  const index = start + visibleIndex;
11
10
  const attachmentCount = prompt.message.attachments?.length ?? 0;
12
11
  return (_jsxs(Box, { children: [_jsx(Box, { width: 2, flexShrink: 0, children: _jsx(Text, { color: theme.accent.user, children: index === selected ? '›' : ' ' }) }), _jsx(Box, { flexGrow: 1, children: _jsx(Text, { color: index === selected ? theme.text.primary : theme.text.secondary, bold: index === selected, wrap: "truncate-end", children: oneLine(prompt.displayText) }) }), attachmentCount > 0 ? (_jsxs(Text, { color: theme.text.muted, children: ['·', " ", attachmentCount, " attachment", attachmentCount === 1 ? '' : 's'] })) : null] }, prompt.userOrdinal));
13
- }) }), _jsx(Box, { paddingTop: 1, children: _jsx(Text, { color: theme.text.muted, children: "Esc / \u2190 older \u00B7 \u2192 newer \u00B7 enter fork and edit \u00B7 q cancel" }) })] }));
12
+ }) }), _jsx(Box, { paddingTop: 1, children: _jsx(Text, { color: theme.text.muted, children: "Esc / \u2190 older \u00B7 \u2192 newer \u00B7 PgUp/PgDn jump \u00B7 Home/End boundary \u00B7 enter fork and edit \u00B7 q cancel" }) })] }));
14
13
  }
15
14
  function oneLine(text) {
16
15
  return text.replace(/\s+/g, ' ').trim() || '(empty text with attachments)';
@@ -1 +1 @@
1
- {"version":3,"file":"EditPromptPicker.js","sourceRoot":"","sources":["../../src/tui/EditPromptPicker.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAA;AAG/B,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAOlC,+EAA+E;AAC/E,MAAM,UAAU,gBAAgB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAyB;IAC5E,MAAM,UAAU,GAAG,CAAC,CAAA;IACpB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC,CAAA;IAC9E,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,UAAU,CAAC,CAAA;IACxD,OAAO,CACN,MAAC,GAAG,IACH,aAAa,EAAC,QAAQ,EACtB,WAAW,EAAC,OAAO,EACnB,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAC/B,QAAQ,EAAE,CAAC,aAEX,MAAC,GAAG,IAAC,cAAc,EAAC,eAAe,aAClC,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,6DAE7B,EACP,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,aAC3B,QAAQ,GAAG,CAAC,OAAG,OAAO,CAAC,MAAM,IACxB,IACF,EACN,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,UAAU,EAAE,CAAC,YACvC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE;oBACrC,MAAM,KAAK,GAAG,KAAK,GAAG,YAAY,CAAA;oBAClC,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC,CAAA;oBAC/D,OAAO,CACN,MAAC,GAAG,eACH,KAAC,GAAG,IAAC,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,YAC3B,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,YAAG,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAQ,GAClE,EACN,KAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,YACf,KAAC,IAAI,IACJ,KAAK,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EACrE,IAAI,EAAE,KAAK,KAAK,QAAQ,EACxB,IAAI,EAAC,cAAc,YAElB,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,GACtB,GACF,EACL,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,CACtB,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,aAC1B,GAAG,OAAG,eAAe,iBAAa,eAAe,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAC9D,CACP,CAAC,CAAC,CAAC,IAAI,KAjBC,MAAM,CAAC,WAAW,CAkBtB,CACN,CAAA;gBACF,CAAC,CAAC,GACG,EACN,KAAC,GAAG,IAAC,UAAU,EAAE,CAAC,YACjB,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,kGAEtB,GACF,IACD,CACN,CAAA;AACF,CAAC;AAED,SAAS,OAAO,CAAC,IAAY;IAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,+BAA+B,CAAA;AAC3E,CAAC"}
1
+ {"version":3,"file":"EditPromptPicker.js","sourceRoot":"","sources":["../../src/tui/EditPromptPicker.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAA;AAG/B,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAOlC,+EAA+E;AAC/E,MAAM,UAAU,gBAAgB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAyB;IAC5E,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IACpE,OAAO,CACN,MAAC,GAAG,IACH,aAAa,EAAC,QAAQ,EACtB,WAAW,EAAC,OAAO,EACnB,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAC/B,QAAQ,EAAE,CAAC,aAEX,MAAC,GAAG,IAAC,cAAc,EAAC,eAAe,aAClC,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,6DAE7B,EACP,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,aAC3B,QAAQ,GAAG,CAAC,OAAG,OAAO,CAAC,MAAM,IACxB,IACF,EACN,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,UAAU,EAAE,CAAC,YACvC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE;oBACrC,MAAM,KAAK,GAAG,KAAK,GAAG,YAAY,CAAA;oBAClC,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC,CAAA;oBAC/D,OAAO,CACN,MAAC,GAAG,eACH,KAAC,GAAG,IAAC,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,YAC3B,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,YAAG,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAQ,GAClE,EACN,KAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,YACf,KAAC,IAAI,IACJ,KAAK,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EACrE,IAAI,EAAE,KAAK,KAAK,QAAQ,EACxB,IAAI,EAAC,cAAc,YAElB,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,GACtB,GACF,EACL,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,CACtB,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,aAC1B,GAAG,OAAG,eAAe,iBAAa,eAAe,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAC9D,CACP,CAAC,CAAC,CAAC,IAAI,KAjBC,MAAM,CAAC,WAAW,CAkBtB,CACN,CAAA;gBACF,CAAC,CAAC,GACG,EACN,KAAC,GAAG,IAAC,UAAU,EAAE,CAAC,YACjB,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,iJAGtB,GACF,IACD,CACN,CAAA;AACF,CAAC;AAED,SAAS,OAAO,CAAC,IAAY;IAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,+BAA+B,CAAA;AAC3E,CAAC"}
@@ -14,6 +14,8 @@
14
14
  export interface MarkdownProps {
15
15
  readonly text: string;
16
16
  readonly color?: string;
17
+ /** Emit admitted HTTP(S) labels as OSC 8 links on a known-capable terminal. */
18
+ readonly hyperlinks?: boolean;
17
19
  }
18
20
  /**
19
21
  * A message's markdown, parsed incrementally.
@@ -29,5 +31,5 @@ export interface MarkdownProps {
29
31
  * `markdown-block-cache.ts` for why the key is the block's raw text and why
30
32
  * the tail of the document is never stored.
31
33
  */
32
- export declare function Markdown({ text, color }: MarkdownProps): import("react/jsx-runtime").JSX.Element;
34
+ export declare function Markdown({ text, color, hyperlinks }: MarkdownProps): import("react/jsx-runtime").JSX.Element;
33
35
  //# sourceMappingURL=Markdown.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Markdown.d.ts","sourceRoot":"","sources":["../../src/tui/Markdown.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAYH,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CACvB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,QAAQ,CAAC,EAAE,IAAI,EAAE,KAA0B,EAAE,EAAE,aAAa,2CAW3E"}
1
+ {"version":3,"file":"Markdown.d.ts","sourceRoot":"","sources":["../../src/tui/Markdown.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAaH,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,+EAA+E;IAC/E,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAC7B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,QAAQ,CAAC,EAAE,IAAI,EAAE,KAA0B,EAAE,UAAkB,EAAE,EAAE,aAAa,2CAiB/F"}
@@ -17,6 +17,7 @@ import { memo, useRef } from 'react';
17
17
  import { createBlockCache } from './markdown-block-cache.js';
18
18
  import { parseInline } from './markdownParser.js';
19
19
  import { terminalDisplayText } from './terminal-display.js';
20
+ import { terminalWebHyperlink } from './terminal-hyperlinks.js';
20
21
  import { theme } from './theme.js';
21
22
  const CODE_COLOR = theme.status.ok;
22
23
  /**
@@ -33,11 +34,11 @@ const CODE_COLOR = theme.status.ok;
33
34
  * `markdown-block-cache.ts` for why the key is the block's raw text and why
34
35
  * the tail of the document is never stored.
35
36
  */
36
- export function Markdown({ text, color = theme.text.primary }) {
37
+ export function Markdown({ text, color = theme.text.primary, hyperlinks = false }) {
37
38
  const cache = useRef(undefined);
38
39
  cache.current ??= createBlockCache();
39
40
  const blocks = cache.current.parse(terminalDisplayText(text));
40
- return (_jsx(Box, { flexDirection: "column", children: blocks.map((block, i) => (_jsx(BlockView, { block: block, prev: blocks[i - 1], color: color }, `b-${i}`))) }));
41
+ return (_jsx(Box, { flexDirection: "column", children: blocks.map((block, i) => (_jsx(BlockView, { block: block, prev: blocks[i - 1], color: color, hyperlinks: hyperlinks }, `b-${i}`))) }));
41
42
  }
42
43
  /**
43
44
  * One block.
@@ -48,23 +49,23 @@ export function Markdown({ text, color = theme.text.primary }) {
48
49
  * then throw the saving away — `parseInline` runs here, per span, on every
49
50
  * render, and it is the more expensive half.
50
51
  */
51
- const BlockView = memo(function BlockView({ block, prev, color, }) {
52
+ const BlockView = memo(function BlockView({ block, prev, color, hyperlinks, }) {
52
53
  // One blank line between blocks, except: nothing before the first block,
53
54
  // and consecutive list items stay tight (no gap between bullets).
54
55
  const gap = !prev || (block.type === 'bullet' && prev.type === 'bullet') ? 0 : 1;
55
56
  switch (block.type) {
56
57
  case 'heading':
57
- return (_jsx(Box, { marginTop: gap, children: _jsx(Text, { bold: true, color: block.level <= 2 ? theme.accent.user : color, children: _jsx(Inline, { spans: parseInline(block.text), color: color }) }) }));
58
+ return (_jsx(Box, { marginTop: gap, children: _jsx(Text, { bold: true, color: block.level <= 2 ? theme.accent.user : color, children: _jsx(Inline, { spans: parseInline(block.text), color: color, hyperlinks: hyperlinks }) }) }));
58
59
  case 'bullet': {
59
60
  const marker = block.ordered ? `${block.marker}.` : block.marker;
60
- return (_jsxs(Box, { marginTop: gap, flexDirection: "row", children: [_jsx(Box, { width: marker.length + 1, flexShrink: 0, children: _jsxs(Text, { color: theme.text.muted, children: [marker, " "] }) }), _jsx(Box, { flexGrow: 1, children: _jsx(Text, { color: color, wrap: "wrap", children: _jsx(Inline, { spans: parseInline(block.text), color: color }) }) })] }));
61
+ return (_jsxs(Box, { marginTop: gap, flexDirection: "row", children: [_jsx(Box, { width: marker.length + 1, flexShrink: 0, children: _jsxs(Text, { color: theme.text.muted, children: [marker, " "] }) }), _jsx(Box, { flexGrow: 1, children: _jsx(Text, { color: color, wrap: "wrap", children: _jsx(Inline, { spans: parseInline(block.text), color: color, hyperlinks: hyperlinks }) }) })] }));
61
62
  }
62
63
  case 'table':
63
64
  return (_jsx(Box, { marginTop: gap, children: _jsx(TableView, { headers: block.headers, rows: block.rows, color: color }) }));
64
65
  case 'code':
65
66
  return (_jsxs(Box, { marginTop: gap, flexDirection: "column", borderStyle: "round", borderTop: false, borderRight: false, borderBottom: false, borderLeft: true, borderColor: theme.border.default, paddingLeft: 1, children: [block.lang ? _jsx(Text, { color: theme.text.muted, children: block.lang }) : null, (block.lines.length > 0 ? block.lines : ['']).map((line, i) => (_jsx(Text, { color: CODE_COLOR, children: line.length > 0 ? line : ' ' }, `c-${i}`)))] }));
66
67
  default:
67
- return (_jsx(Box, { marginTop: gap, children: _jsx(Text, { color: color, wrap: "wrap", children: _jsx(Inline, { spans: parseInline(block.text), color: color }) }) }));
68
+ return (_jsx(Box, { marginTop: gap, children: _jsx(Text, { color: color, wrap: "wrap", children: _jsx(Inline, { spans: parseInline(block.text), color: color, hyperlinks: hyperlinks }) }) }));
68
69
  }
69
70
  });
70
71
  const TABLE_MAX_COL = 32;
@@ -81,15 +82,16 @@ function TableView({ headers, rows, color, }) {
81
82
  const pad = (s, w) => (s.length >= w ? s.slice(0, w) : s + ' '.repeat(w - s.length));
82
83
  return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Box, { children: headers.map((h, c) => (_jsxs(Text, { bold: true, color: color, children: [pad(h, widths[c] ?? 1), c < cols - 1 ? ' ' : ''] }, `h-${c}`))) }), _jsx(Text, { color: theme.border.default, children: widths.map((w) => '─'.repeat(w)).join(' ') }), rows.map((row, r) => (_jsx(Box, { children: widths.map((w, c) => (_jsxs(Text, { color: color, children: [pad(row[c] ?? '', w), c < cols - 1 ? ' ' : ''] }, `c-${c}`))) }, `r-${r}`)))] }));
83
84
  }
84
- function Inline({ spans, color }) {
85
+ function Inline({ spans, color, hyperlinks, }) {
85
86
  return (_jsx(_Fragment, { children: spans.map((span, i) => {
86
87
  if (span.code) {
87
88
  return (_jsx(Text, { color: CODE_COLOR, children: span.text }, `s-${i}`));
88
89
  }
89
90
  if (span.link) {
91
+ const linkedLabel = hyperlinks ? terminalWebHyperlink(span.text, span.link) : null;
90
92
  // Link text in accent + underline; the URL trails dim unless it's
91
- // identical to the text (e.g. a bare URL link).
92
- return (_jsxs(Text, { children: [_jsx(Text, { color: theme.accent.user, underline: true, children: span.text }), span.link !== span.text ? (_jsxs(Text, { color: theme.text.muted, children: [" (", span.link, ")"] })) : null] }, `s-${i}`));
93
+ // identical to the text or the terminal owns an admitted click target.
94
+ return (_jsxs(Text, { children: [_jsx(Text, { color: theme.accent.user, underline: true, children: linkedLabel ?? span.text }), !linkedLabel && span.link !== span.text ? (_jsxs(Text, { color: theme.text.muted, children: [" (", span.link, ")"] })) : null] }, `s-${i}`));
93
95
  }
94
96
  return (_jsx(Text, { color: color, bold: span.bold, italic: span.italic, children: span.text }, `s-${i}`));
95
97
  }) }));
@@ -1 +1 @@
1
- {"version":3,"file":"Markdown.js","sourceRoot":"","sources":["../../src/tui/Markdown.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Markdown.js","sourceRoot":"","sources":["../../src/tui/Markdown.tsx"],"names":[],"mappings":"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"}
@@ -1,14 +1,19 @@
1
1
  /**
2
2
  * Tool-permission overlay. Shown when the agent wants to run a
3
- * non-read-only tool batch. Lists each proposed call with a one-line
4
- * summary, and for `edit`/`write` a compact diff/content preview, then
5
- * waits for Approve (y) / Reject (n) / Approve-all (a). The parent (App)
6
- * owns the keypress handling and resolves the pending decision; this
7
- * component is presentational.
3
+ * non-read-only tool batch. Pages through the complete prepared input rather
4
+ * than a friendly-but-lossy summary, then waits for Approve (y) / Reject (n) /
5
+ * Approve-all (a). The parent (App) owns pagination and decision keypresses;
6
+ * this component is presentational.
8
7
  */
9
8
  import type { PermissionToolCall } from './agent.js';
10
9
  export interface PermissionOverlayProps {
11
10
  readonly toolCalls: readonly PermissionToolCall[];
11
+ /** Complete exact review envelope built before the callback was opened. */
12
+ readonly review: string;
13
+ /** First physical review row shown in the fixed-height pager. */
14
+ readonly reviewOffset?: number;
15
+ /** Live terminal width. Re-wrapping on resize keeps every suffix reachable. */
16
+ readonly columns?: number;
12
17
  }
13
- export declare function PermissionOverlay({ toolCalls }: PermissionOverlayProps): import("react/jsx-runtime").JSX.Element;
18
+ export declare function PermissionOverlay({ toolCalls, review, reviewOffset, columns, }: PermissionOverlayProps): import("react/jsx-runtime").JSX.Element;
14
19
  //# sourceMappingURL=PermissionOverlay.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PermissionOverlay.d.ts","sourceRoot":"","sources":["../../src/tui/PermissionOverlay.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAIpD,MAAM,WAAW,sBAAsB;IACtC,QAAQ,CAAC,SAAS,EAAE,SAAS,kBAAkB,EAAE,CAAA;CACjD;AAQD,wBAAgB,iBAAiB,CAAC,EAAE,SAAS,EAAE,EAAE,sBAAsB,2CAkFtE"}
1
+ {"version":3,"file":"PermissionOverlay.d.ts","sourceRoot":"","sources":["../../src/tui/PermissionOverlay.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAOpD,MAAM,WAAW,sBAAsB;IACtC,QAAQ,CAAC,SAAS,EAAE,SAAS,kBAAkB,EAAE,CAAA;IACjD,2EAA2E;IAC3E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,iEAAiE;IACjE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,+EAA+E;IAC/E,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,wBAAgB,iBAAiB,CAAC,EACjC,SAAS,EACT,MAAM,EACN,YAAgB,EAChB,OAAO,GACP,EAAE,sBAAsB,2CA6ExB"}
@@ -1,28 +1,21 @@
1
1
  import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
2
  /**
3
3
  * Tool-permission overlay. Shown when the agent wants to run a
4
- * non-read-only tool batch. Lists each proposed call with a one-line
5
- * summary, and for `edit`/`write` a compact diff/content preview, then
6
- * waits for Approve (y) / Reject (n) / Approve-all (a). The parent (App)
7
- * owns the keypress handling and resolves the pending decision; this
8
- * component is presentational.
4
+ * non-read-only tool batch. Pages through the complete prepared input rather
5
+ * than a friendly-but-lossy summary, then waits for Approve (y) / Reject (n) /
6
+ * Approve-all (a). The parent (App) owns pagination and decision keypresses;
7
+ * this component is presentational.
9
8
  */
10
9
  import { Box, Text } from 'ink';
11
- import { terminalDisplayText } from './terminal-display.js';
10
+ import { PERMISSION_REVIEW_PAGE_ROWS, permissionReviewRows, } from './permission-review.js';
12
11
  import { theme } from './theme.js';
13
- function previewColor(line) {
14
- if (line.startsWith('+'))
15
- return theme.status.ok;
16
- if (line.startsWith('-'))
17
- return theme.status.error;
18
- return theme.text.muted;
19
- }
20
- export function PermissionOverlay({ toolCalls }) {
21
- return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: theme.status.warn, paddingX: 1, marginTop: 1, children: [_jsxs(Text, { color: theme.status.warn, bold: true, children: ["\u26A0 namzu wants to run ", toolCalls.length === 1 ? 'a tool' : `${toolCalls.length} tools`] }), _jsx(Box, { flexDirection: "column", paddingTop: 1, children: toolCalls.map((tc) => {
22
- const name = terminalDisplayText(tc.name);
23
- const summary = terminalDisplayText(tc.summary);
24
- const preview = tc.preview?.map(terminalDisplayText);
25
- return (_jsxs(Box, { flexDirection: "column", paddingBottom: 1, children: [_jsxs(Text, { children: [_jsxs(Text, { color: theme.accent.tool, bold: true, children: ["\u2699 ", name] }), _jsxs(Text, { color: theme.text.secondary, children: [" ", summary] }), tc.isDestructive ? _jsx(Text, { color: theme.status.error, children: " (destructive)" }) : null] }), preview && preview.length > 0 ? (_jsx(Box, { flexDirection: "column", paddingLeft: 2, children: preview.map((line, i) => (_jsx(Text, { color: previewColor(line), children: line }, `${tc.id}-${i}`))) })) : null] }, tc.id));
26
- }) }), _jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { color: theme.text.muted, children: [_jsx(Text, { color: theme.status.ok, bold: true, children: "y" }), ' ', "approve \u00B7", ' ', _jsx(Text, { color: theme.accent.user, bold: true, children: "a" }), ' ', "approve all for this session"] }), _jsxs(Text, { color: theme.text.muted, children: [_jsx(Text, { color: theme.status.error, bold: true, children: "n" }), ' ', "or", ' ', _jsx(Text, { color: theme.status.error, bold: true, children: "esc" }), ' ', "decline, and the agent tries something else \u00B7", ' ', _jsx(Text, { color: theme.status.error, bold: true, children: "ctrl+c" }), ' ', "decline and stop the turn"] })] })] }));
12
+ export function PermissionOverlay({ toolCalls, review, reviewOffset = 0, columns, }) {
13
+ const rows = permissionReviewRows(review, columns);
14
+ const maxOffset = Math.max(0, rows.length - PERMISSION_REVIEW_PAGE_ROWS);
15
+ const offset = Math.min(Math.max(0, reviewOffset), maxOffset);
16
+ const visibleRows = rows.slice(offset, offset + PERMISSION_REVIEW_PAGE_ROWS);
17
+ const first = rows.length === 0 ? 0 : offset + 1;
18
+ const last = Math.min(rows.length, offset + PERMISSION_REVIEW_PAGE_ROWS);
19
+ return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: theme.status.warn, paddingX: 1, marginTop: 1, children: [_jsxs(Text, { color: theme.status.warn, bold: true, children: ["\u26A0 namzu wants to run ", toolCalls.length === 1 ? 'a tool' : `${toolCalls.length} tools`] }), _jsxs(Box, { flexDirection: "column", paddingTop: 1, children: [_jsxs(Text, { color: theme.text.muted, children: ["Exact prepared input \u00B7 rows ", first, "-", last, "/", rows.length] }), _jsx(Box, { flexDirection: "column", paddingLeft: 2, height: PERMISSION_REVIEW_PAGE_ROWS, children: visibleRows.map((row) => (_jsxs(Box, { width: "100%", children: [_jsx(Text, { color: theme.text.muted, children: row.continuation ? '↳ ' : '│ ' }), _jsx(Text, { color: theme.text.secondary, children: row.text })] }, row.index))) }), rows.length > PERMISSION_REVIEW_PAGE_ROWS ? (_jsx(Text, { color: theme.text.muted, children: "\u2191\u2193 row \u00B7 pgup/pgdn page \u00B7 home/end" })) : null] }), _jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { color: theme.text.muted, children: [_jsx(Text, { color: theme.status.ok, bold: true, children: "y" }), ' ', "approve \u00B7", ' ', _jsx(Text, { color: theme.accent.user, bold: true, children: "a" }), ' ', "approve all for this session"] }), _jsxs(Text, { color: theme.text.muted, children: [_jsx(Text, { color: theme.status.error, bold: true, children: "n" }), ' ', "or", ' ', _jsx(Text, { color: theme.status.error, bold: true, children: "esc" }), ' ', "decline, and the agent tries something else \u00B7", ' ', _jsx(Text, { color: theme.status.error, bold: true, children: "ctrl+c" }), ' ', "decline and stop the turn"] })] })] }));
27
20
  }
28
21
  //# sourceMappingURL=PermissionOverlay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PermissionOverlay.js","sourceRoot":"","sources":["../../src/tui/PermissionOverlay.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PermissionOverlay.js","sourceRoot":"","sources":["../../src/tui/PermissionOverlay.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Picker.d.ts","sourceRoot":"","sources":["../../src/tui/Picker.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,EAEN,KAAK,gBAAgB,EAErB,KAAK,UAAU,EAGf,KAAK,sBAAsB,EAE3B,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EAAE,KAAK,YAAY,EAA0B,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAWxF,MAAM,WAAW,WAAW;IAC3B,QAAQ,CAAC,QAAQ,EAAE,SAAS,gBAAgB,EAAE,CAAA;IAC9C,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxC;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,oBAAoB,GAAG,wBAAwB,CAAA;IACxE,8EAA8E;IAC9E,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,GAAG,eAAe,CAAA;IACpD,8EAA8E;IAC9E,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrC,QAAQ,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,MAAM,EAAE,WAAW,KAAK,IAAI,CAAA;IACjG,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAA;IAC7B;;;;;;OAMG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,CACzB,EAAE,EAAE,UAAU,EACd,GAAG,EAAE,gBAAgB,EACrB,MAAM,CAAC,EAAE,WAAW,KAChB,OAAO,CAAC,YAAY,CAAC,CAAA;IAC1B;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,CACvB,UAAU,EAAE,gBAAgB,EAC5B,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,WAAW,KACf,IAAI,CAAA;IACT;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,CAClB,QAAQ,EAAE,sBAAsB,EAChC,MAAM,EAAE,WAAW,KACf,OAAO,CAAC,gBAAgB,GAAG,UAAU,GAAG,QAAQ,CAAC,CAAA;IACtD,6EAA6E;IAC7E,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,GAAG,UAAU,CAAC,CAAA;IAChG;;;;;;;OAOG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,gBAAgB,CAAA;IACzC;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;IACxC;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC/B;AA2DD,wBAAgB,MAAM,CAAC,EACtB,QAAQ,EACR,eAAe,EACf,aAAoC,EACpC,YAAY,EACZ,WAAyB,EACzB,QAAQ,EACR,QAAQ,EACR,cAAuC,EACvC,YAAY,EACZ,OAAO,EACP,eAAe,EACf,MAAyB,EACzB,WAAW,EACX,MAAM,GACN,EAAE,WAAW,2CAyrBb"}
1
+ {"version":3,"file":"Picker.d.ts","sourceRoot":"","sources":["../../src/tui/Picker.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,EAEN,KAAK,gBAAgB,EAErB,KAAK,UAAU,EAGf,KAAK,sBAAsB,EAE3B,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EAAE,KAAK,YAAY,EAA0B,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAaxF,MAAM,WAAW,WAAW;IAC3B,QAAQ,CAAC,QAAQ,EAAE,SAAS,gBAAgB,EAAE,CAAA;IAC9C,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxC;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,oBAAoB,GAAG,wBAAwB,CAAA;IACxE,8EAA8E;IAC9E,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,GAAG,eAAe,CAAA;IACpD,8EAA8E;IAC9E,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrC,QAAQ,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,MAAM,EAAE,WAAW,KAAK,IAAI,CAAA;IACjG,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAA;IAC7B;;;;;;OAMG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,CACzB,EAAE,EAAE,UAAU,EACd,GAAG,EAAE,gBAAgB,EACrB,MAAM,CAAC,EAAE,WAAW,KAChB,OAAO,CAAC,YAAY,CAAC,CAAA;IAC1B;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,CACvB,UAAU,EAAE,gBAAgB,EAC5B,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,WAAW,KACf,IAAI,CAAA;IACT;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,CAClB,QAAQ,EAAE,sBAAsB,EAChC,MAAM,EAAE,WAAW,KACf,OAAO,CAAC,gBAAgB,GAAG,UAAU,GAAG,QAAQ,CAAC,CAAA;IACtD,6EAA6E;IAC7E,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,GAAG,UAAU,CAAC,CAAA;IAChG;;;;;;;OAOG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,gBAAgB,CAAA;IACzC;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;IACxC;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC/B;AA2DD,wBAAgB,MAAM,CAAC,EACtB,QAAQ,EACR,eAAe,EACf,aAAoC,EACpC,YAAY,EACZ,WAAyB,EACzB,QAAQ,EACR,QAAQ,EACR,cAAuC,EACvC,YAAY,EACZ,OAAO,EACP,eAAe,EACf,MAAyB,EACzB,WAAW,EACX,MAAM,GACN,EAAE,WAAW,2CA6uBb"}
@@ -13,7 +13,9 @@ import { ALL_PROVIDER_IDS, PROVIDER_REGISTRY, signedInSubscriptionProviders, uns
13
13
  import { describeProviderModels, verifyCredential } from './agent.js';
14
14
  import { classifyCredential, describeDisposition, keyLooksUsable, maskKey, sessionCredential, } from './credential-entry.js';
15
15
  import { modelStep } from './model-choices.js';
16
+ import { moveSelection, selectionWindow } from './selection-window.js';
16
17
  import { theme } from './theme.js';
18
+ import { useSelectionIndex } from './use-selection-index.js';
17
19
  /** Providers that take a typed credential. Local servers do not. */
18
20
  function keyCapableProviders() {
19
21
  return ALL_PROVIDER_IDS.map((id) => PROVIDER_REGISTRY[id]).filter((e) => e.acceptsTypedCredential);
@@ -90,7 +92,7 @@ export function Picker({ detected, currentProvider, selectionKind = 'provider-an
90
92
  const initialIndex = (currentProvider !== null && currentProvider !== undefined
91
93
  ? detected.findIndex((d) => d.entry.id === currentProvider)
92
94
  : 0) || 0;
93
- const [cursor, setCursor] = useState(Math.max(0, initialIndex));
95
+ const { selection: cursor, selectionRef: cursorRef, setSelection: setCursor, } = useSelectionIndex(Math.max(0, initialIndex));
94
96
  const [errorHint, setErrorHint] = useState(null);
95
97
  // `null` while choosing a provider. Once a provider is accepted this holds
96
98
  // the model step, and `undefined` inside it means the listing is in flight.
@@ -309,16 +311,26 @@ export function Picker({ detected, currentProvider, selectionKind = 'provider-an
309
311
  }
310
312
  if (loginPhase) {
311
313
  const choices = subscriptionChoices(detected);
314
+ if (key.home || key.end || key.pageUp || key.pageDown) {
315
+ setCursor((current) => moveSelection(current, choices.length, key.home
316
+ ? 'first'
317
+ : key.end
318
+ ? 'last'
319
+ : key.pageUp
320
+ ? 'previous-page'
321
+ : 'next-page'));
322
+ return;
323
+ }
312
324
  if (key.upArrow) {
313
- setCursor((current) => Math.max(0, current - 1));
325
+ setCursor((current) => moveSelection(current, choices.length, 'previous'));
314
326
  return;
315
327
  }
316
328
  if (key.downArrow) {
317
- setCursor((current) => Math.min(choices.length - 1, current + 1));
329
+ setCursor((current) => moveSelection(current, choices.length, 'next'));
318
330
  return;
319
331
  }
320
332
  if (key.return) {
321
- const chosen = choices[cursor];
333
+ const chosen = choices[cursorRef.current];
322
334
  if (!chosen)
323
335
  return;
324
336
  if (chosen.kind === 'existing') {
@@ -364,16 +376,26 @@ export function Picker({ detected, currentProvider, selectionKind = 'provider-an
364
376
  const step = modelPhase.step;
365
377
  if (!step)
366
378
  return; // still listing; ignore input rather than act on a stale list
379
+ if (key.home || key.end || key.pageUp || key.pageDown) {
380
+ setCursor((current) => moveSelection(current, step.choices.length, key.home
381
+ ? 'first'
382
+ : key.end
383
+ ? 'last'
384
+ : key.pageUp
385
+ ? 'previous-page'
386
+ : 'next-page'));
387
+ return;
388
+ }
367
389
  if (key.upArrow) {
368
- setCursor((c) => Math.max(0, c - 1));
390
+ setCursor((current) => moveSelection(current, step.choices.length, 'previous'));
369
391
  return;
370
392
  }
371
393
  if (key.downArrow) {
372
- setCursor((c) => Math.min(step.choices.length - 1, c + 1));
394
+ setCursor((current) => moveSelection(current, step.choices.length, 'next'));
373
395
  return;
374
396
  }
375
397
  if (key.return) {
376
- const chosen = step.choices[cursor];
398
+ const chosen = step.choices[cursorRef.current];
377
399
  if (!chosen) {
378
400
  setErrorHint('No model available.');
379
401
  return;
@@ -387,16 +409,26 @@ export function Picker({ detected, currentProvider, selectionKind = 'provider-an
387
409
  setCursor(n - 1);
388
410
  return;
389
411
  }
412
+ if (key.home || key.end || key.pageUp || key.pageDown) {
413
+ setCursor((current) => moveSelection(current, detected.length, key.home
414
+ ? 'first'
415
+ : key.end
416
+ ? 'last'
417
+ : key.pageUp
418
+ ? 'previous-page'
419
+ : 'next-page'));
420
+ return;
421
+ }
390
422
  if (key.upArrow) {
391
- setCursor((c) => Math.max(0, c - 1));
423
+ setCursor((current) => moveSelection(current, detected.length, 'previous'));
392
424
  return;
393
425
  }
394
426
  if (key.downArrow) {
395
- setCursor((c) => Math.min(Math.max(0, detected.length - 1), c + 1));
427
+ setCursor((current) => moveSelection(current, detected.length, 'next'));
396
428
  return;
397
429
  }
398
430
  if (key.return) {
399
- const current = detected[cursor];
431
+ const current = detected[cursorRef.current];
400
432
  if (!current) {
401
433
  setErrorHint('No provider available.');
402
434
  return;
@@ -498,7 +530,11 @@ export function Picker({ detected, currentProvider, selectionKind = 'provider-an
498
530
  : '', ' ', "\u00B7 esc cancel"] }), errorHint ? _jsx(Text, { color: theme.status.warn, children: errorHint }) : null] })] }));
499
531
  }
500
532
  function ModelStepView({ providerLabel, step, cursor, errorHint, }) {
501
- return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: theme.border.focus, paddingX: 1, children: [_jsxs(Box, { flexDirection: "column", paddingBottom: 1, children: [_jsx(Text, { color: theme.accent.system, bold: true, children: "Choose a model" }), _jsx(Text, { color: theme.text.muted, children: providerLabel })] }), step === undefined ? (_jsxs(Text, { color: theme.text.muted, children: ["Asking ", providerLabel, " what it has\u2026"] })) : (_jsxs(_Fragment, { children: [step.notice ? (_jsx(Box, { paddingBottom: 1, children: _jsx(Text, { color: theme.status.warn, children: step.notice }) })) : null, _jsx(Box, { flexDirection: "column", children: step.choices.map((c, i) => (_jsxs(Text, { color: i === cursor ? theme.accent.system : theme.text.primary, children: [i === cursor ? '❯ ' : ' ', i + 1, ". ", c.label, c.note ? ` ${c.note}` : ''] }, c.id))) })] })), _jsxs(Box, { flexDirection: "column", paddingTop: 1, children: [_jsx(Text, { color: theme.text.muted, children: "\u2191\u2193 or 1-9 navigate \u00B7 enter accept \u00B7 esc back" }), errorHint ? _jsx(Text, { color: theme.status.warn, children: errorHint }) : null] })] }));
533
+ const window = step ? selectionWindow(step.choices, cursor) : null;
534
+ return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: theme.border.focus, paddingX: 1, children: [_jsxs(Box, { justifyContent: "space-between", paddingBottom: 1, children: [_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: theme.accent.system, bold: true, children: "Choose a model" }), _jsx(Text, { color: theme.text.muted, children: providerLabel })] }), step && step.choices.length > 0 ? (_jsxs(Text, { color: theme.text.muted, children: [cursor + 1, "/", step.choices.length] })) : null] }), step === undefined ? (_jsxs(Text, { color: theme.text.muted, children: ["Asking ", providerLabel, " what it has\u2026"] })) : (_jsxs(_Fragment, { children: [step.notice ? (_jsx(Box, { paddingBottom: 1, children: _jsx(Text, { color: theme.status.warn, children: step.notice }) })) : null, _jsx(Box, { flexDirection: "column", children: window?.items.map((c, visibleIndex) => {
535
+ const index = window.start + visibleIndex;
536
+ return (_jsxs(Text, { color: index === cursor ? theme.accent.system : theme.text.primary, children: [index === cursor ? '❯ ' : ' ', index + 1, ". ", c.label, c.note ? ` ${c.note}` : ''] }, c.id));
537
+ }) })] })), _jsxs(Box, { flexDirection: "column", paddingTop: 1, children: [_jsx(Text, { color: theme.text.muted, children: "\u2191\u2193 or 1-9 navigate \u00B7 PgUp/PgDn jump \u00B7 Home/End boundary \u00B7 enter accept \u00B7 esc back" }), errorHint ? _jsx(Text, { color: theme.status.warn, children: errorHint }) : null] })] }));
502
538
  }
503
539
  function ProviderRow({ detected, index, selected, isCurrent, }) {
504
540
  const cursor = selected ? '›' : ' ';