poly-weaver 0.8.1 → 0.9.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 (288) hide show
  1. package/README.md +7 -64
  2. package/dist/agents/errors.d.ts +20 -0
  3. package/dist/agents/errors.d.ts.map +1 -0
  4. package/dist/agents/errors.js +26 -0
  5. package/dist/agents/errors.js.map +1 -0
  6. package/dist/agents/implementors/adapter.d.ts +1 -1
  7. package/dist/agents/implementors/adapter.d.ts.map +1 -1
  8. package/dist/agents/implementors/adapter.js +2 -2
  9. package/dist/agents/implementors/adapter.js.map +1 -1
  10. package/dist/agents/implementors/handler.d.ts.map +1 -1
  11. package/dist/agents/implementors/handler.js +2 -1
  12. package/dist/agents/implementors/handler.js.map +1 -1
  13. package/dist/agents/implementors/index.d.ts.map +1 -1
  14. package/dist/agents/implementors/index.js +3 -9
  15. package/dist/agents/implementors/index.js.map +1 -1
  16. package/dist/agents/implementors/prompts.d.ts +4 -9
  17. package/dist/agents/implementors/prompts.d.ts.map +1 -1
  18. package/dist/agents/implementors/prompts.js +10 -16
  19. package/dist/agents/implementors/prompts.js.map +1 -1
  20. package/dist/agents/index.d.ts +2 -0
  21. package/dist/agents/index.d.ts.map +1 -1
  22. package/dist/agents/index.js +4 -0
  23. package/dist/agents/index.js.map +1 -1
  24. package/dist/agents/interviewers/adapter.d.ts +17 -0
  25. package/dist/agents/interviewers/adapter.d.ts.map +1 -0
  26. package/dist/agents/interviewers/adapter.js +111 -0
  27. package/dist/agents/interviewers/adapter.js.map +1 -0
  28. package/dist/agents/interviewers/dsl.d.ts +13 -0
  29. package/dist/agents/interviewers/dsl.d.ts.map +1 -0
  30. package/dist/agents/interviewers/dsl.js +14 -0
  31. package/dist/agents/interviewers/dsl.js.map +1 -0
  32. package/dist/agents/interviewers/handler.d.ts +21 -0
  33. package/dist/agents/interviewers/handler.d.ts.map +1 -0
  34. package/dist/agents/interviewers/handler.js +217 -0
  35. package/dist/agents/interviewers/handler.js.map +1 -0
  36. package/dist/agents/interviewers/index.d.ts +11 -0
  37. package/dist/agents/interviewers/index.d.ts.map +1 -0
  38. package/dist/agents/interviewers/index.js +16 -0
  39. package/dist/agents/interviewers/index.js.map +1 -0
  40. package/dist/agents/interviewers/prompts.d.ts +3 -0
  41. package/dist/agents/interviewers/prompts.d.ts.map +1 -0
  42. package/dist/agents/interviewers/prompts.js +73 -0
  43. package/dist/agents/interviewers/prompts.js.map +1 -0
  44. package/dist/agents/interviewers/types.d.ts +53 -0
  45. package/dist/agents/interviewers/types.d.ts.map +1 -0
  46. package/dist/agents/interviewers/types.js +2 -0
  47. package/dist/agents/interviewers/types.js.map +1 -0
  48. package/dist/agents/planners/adapter.d.ts +1 -1
  49. package/dist/agents/planners/adapter.d.ts.map +1 -1
  50. package/dist/agents/planners/adapter.js +2 -2
  51. package/dist/agents/planners/adapter.js.map +1 -1
  52. package/dist/agents/planners/dsl.d.ts +5 -1
  53. package/dist/agents/planners/dsl.d.ts.map +1 -1
  54. package/dist/agents/planners/handler.d.ts.map +1 -1
  55. package/dist/agents/planners/handler.js +44 -25
  56. package/dist/agents/planners/handler.js.map +1 -1
  57. package/dist/agents/planners/index.d.ts.map +1 -1
  58. package/dist/agents/planners/index.js +3 -9
  59. package/dist/agents/planners/index.js.map +1 -1
  60. package/dist/agents/planners/prompts.d.ts +5 -11
  61. package/dist/agents/planners/prompts.d.ts.map +1 -1
  62. package/dist/agents/planners/prompts.js +15 -22
  63. package/dist/agents/planners/prompts.js.map +1 -1
  64. package/dist/agents/registry.d.ts +2 -1
  65. package/dist/agents/registry.d.ts.map +1 -1
  66. package/dist/agents/registry.js.map +1 -1
  67. package/dist/agents/reviewers/adapter.d.ts +2 -2
  68. package/dist/agents/reviewers/adapter.d.ts.map +1 -1
  69. package/dist/agents/reviewers/adapter.js +4 -4
  70. package/dist/agents/reviewers/adapter.js.map +1 -1
  71. package/dist/agents/reviewers/dsl.d.ts +6 -1
  72. package/dist/agents/reviewers/dsl.d.ts.map +1 -1
  73. package/dist/agents/reviewers/dsl.js.map +1 -1
  74. package/dist/agents/reviewers/handler.d.ts.map +1 -1
  75. package/dist/agents/reviewers/handler.js +24 -6
  76. package/dist/agents/reviewers/handler.js.map +1 -1
  77. package/dist/agents/reviewers/index.d.ts.map +1 -1
  78. package/dist/agents/reviewers/index.js +7 -9
  79. package/dist/agents/reviewers/index.js.map +1 -1
  80. package/dist/agents/reviewers/prompts.d.ts +5 -11
  81. package/dist/agents/reviewers/prompts.d.ts.map +1 -1
  82. package/dist/agents/reviewers/prompts.js +22 -21
  83. package/dist/agents/reviewers/prompts.js.map +1 -1
  84. package/dist/agents/reviewers/types.d.ts +5 -2
  85. package/dist/agents/reviewers/types.d.ts.map +1 -1
  86. package/dist/agents/reviewers/types.js.map +1 -1
  87. package/dist/agents/runner.d.ts +28 -1
  88. package/dist/agents/runner.d.ts.map +1 -1
  89. package/dist/agents/runner.js +140 -22
  90. package/dist/agents/runner.js.map +1 -1
  91. package/dist/agents/simplifiers/adapter.d.ts +1 -1
  92. package/dist/agents/simplifiers/adapter.d.ts.map +1 -1
  93. package/dist/agents/simplifiers/adapter.js +2 -2
  94. package/dist/agents/simplifiers/adapter.js.map +1 -1
  95. package/dist/agents/simplifiers/handler.d.ts.map +1 -1
  96. package/dist/agents/simplifiers/handler.js +2 -1
  97. package/dist/agents/simplifiers/handler.js.map +1 -1
  98. package/dist/agents/simplifiers/index.d.ts.map +1 -1
  99. package/dist/agents/simplifiers/index.js +1 -1
  100. package/dist/agents/simplifiers/index.js.map +1 -1
  101. package/dist/ansi.d.ts.map +1 -1
  102. package/dist/ansi.js +2 -3
  103. package/dist/ansi.js.map +1 -1
  104. package/dist/cli.js +84 -187
  105. package/dist/cli.js.map +1 -1
  106. package/dist/config.d.ts +14 -9
  107. package/dist/config.d.ts.map +1 -1
  108. package/dist/config.js +24 -5
  109. package/dist/config.js.map +1 -1
  110. package/dist/dsl.d.ts +4 -1
  111. package/dist/dsl.d.ts.map +1 -1
  112. package/dist/dsl.js +4 -3
  113. package/dist/dsl.js.map +1 -1
  114. package/dist/dump/collector.d.ts.map +1 -1
  115. package/dist/dump/collector.js +22 -1
  116. package/dist/dump/collector.js.map +1 -1
  117. package/dist/dump/service.d.ts.map +1 -1
  118. package/dist/dump/service.js +1 -0
  119. package/dist/dump/service.js.map +1 -1
  120. package/dist/dump/types.d.ts +38 -0
  121. package/dist/dump/types.d.ts.map +1 -1
  122. package/dist/dump/types.js.map +1 -1
  123. package/dist/flow/built-in/default-factory.d.ts.map +1 -1
  124. package/dist/flow/built-in/default-factory.js +70 -66
  125. package/dist/flow/built-in/default-factory.js.map +1 -1
  126. package/dist/flow/built-in/default.d.ts +1 -1
  127. package/dist/flow/built-in/default.d.ts.map +1 -1
  128. package/dist/flow/built-in/default.js +3 -3
  129. package/dist/flow/built-in/default.js.map +1 -1
  130. package/dist/flow/built-in/default.ts +4 -4
  131. package/dist/flow/custom/AUTHORING.md +54 -54
  132. package/dist/flow/custom/load.d.ts.map +1 -1
  133. package/dist/flow/custom/load.js +0 -1
  134. package/dist/flow/custom/load.js.map +1 -1
  135. package/dist/flow/dsl.d.ts +2 -0
  136. package/dist/flow/dsl.d.ts.map +1 -1
  137. package/dist/flow/dsl.js +2 -0
  138. package/dist/flow/dsl.js.map +1 -1
  139. package/dist/flow/executor.d.ts +2 -1
  140. package/dist/flow/executor.d.ts.map +1 -1
  141. package/dist/flow/executor.js +31 -14
  142. package/dist/flow/executor.js.map +1 -1
  143. package/dist/flow/index.d.ts +1 -2
  144. package/dist/flow/index.d.ts.map +1 -1
  145. package/dist/flow/index.js +1 -2
  146. package/dist/flow/index.js.map +1 -1
  147. package/dist/flow/params.d.ts +19 -2
  148. package/dist/flow/params.d.ts.map +1 -1
  149. package/dist/flow/params.js +70 -1
  150. package/dist/flow/params.js.map +1 -1
  151. package/dist/flow/types.d.ts +33 -3
  152. package/dist/flow/types.d.ts.map +1 -1
  153. package/dist/flow/types.js +6 -0
  154. package/dist/flow/types.js.map +1 -1
  155. package/dist/flow-editor/tui.d.ts.map +1 -1
  156. package/dist/flow-editor/tui.js +10 -8
  157. package/dist/flow-editor/tui.js.map +1 -1
  158. package/dist/flow-editor/validate.d.ts.map +1 -1
  159. package/dist/flow-editor/validate.js +2 -1
  160. package/dist/flow-editor/validate.js.map +1 -1
  161. package/dist/markdown.d.ts +5 -0
  162. package/dist/markdown.d.ts.map +1 -1
  163. package/dist/markdown.js +48 -1
  164. package/dist/markdown.js.map +1 -1
  165. package/dist/orchestrator.d.ts +16 -5
  166. package/dist/orchestrator.d.ts.map +1 -1
  167. package/dist/orchestrator.js +106 -25
  168. package/dist/orchestrator.js.map +1 -1
  169. package/dist/preflight.d.ts +11 -0
  170. package/dist/preflight.d.ts.map +1 -1
  171. package/dist/preflight.js +49 -16
  172. package/dist/preflight.js.map +1 -1
  173. package/dist/preview-panel.d.ts +30 -5
  174. package/dist/preview-panel.d.ts.map +1 -1
  175. package/dist/preview-panel.js +332 -15
  176. package/dist/preview-panel.js.map +1 -1
  177. package/dist/providers/base-completion.d.ts +5 -1
  178. package/dist/providers/base-completion.d.ts.map +1 -1
  179. package/dist/providers/base-completion.js +65 -5
  180. package/dist/providers/base-completion.js.map +1 -1
  181. package/dist/providers/claude/completion-plan-mode.d.ts +1 -1
  182. package/dist/providers/claude/completion-plan-mode.d.ts.map +1 -1
  183. package/dist/providers/claude/completion-plan-mode.js +2 -2
  184. package/dist/providers/claude/completion-plan-mode.js.map +1 -1
  185. package/dist/providers/claude/completion.d.ts +1 -1
  186. package/dist/providers/claude/completion.d.ts.map +1 -1
  187. package/dist/providers/claude/completion.js +2 -2
  188. package/dist/providers/claude/completion.js.map +1 -1
  189. package/dist/providers/claude/strategy.d.ts +2 -4
  190. package/dist/providers/claude/strategy.d.ts.map +1 -1
  191. package/dist/providers/claude/strategy.js +6 -2
  192. package/dist/providers/claude/strategy.js.map +1 -1
  193. package/dist/providers/codex/completion.d.ts +1 -1
  194. package/dist/providers/codex/completion.d.ts.map +1 -1
  195. package/dist/providers/codex/completion.js +2 -2
  196. package/dist/providers/codex/completion.js.map +1 -1
  197. package/dist/providers/codex/strategy.d.ts +2 -4
  198. package/dist/providers/codex/strategy.d.ts.map +1 -1
  199. package/dist/providers/codex/strategy.js +11 -6
  200. package/dist/providers/codex/strategy.js.map +1 -1
  201. package/dist/providers/copilot/completion.d.ts +1 -1
  202. package/dist/providers/copilot/completion.d.ts.map +1 -1
  203. package/dist/providers/copilot/completion.js +2 -2
  204. package/dist/providers/copilot/completion.js.map +1 -1
  205. package/dist/providers/copilot/strategy.d.ts +2 -3
  206. package/dist/providers/copilot/strategy.d.ts.map +1 -1
  207. package/dist/providers/copilot/strategy.js +13 -6
  208. package/dist/providers/copilot/strategy.js.map +1 -1
  209. package/dist/providers/option-catalog.d.ts +8 -0
  210. package/dist/providers/option-catalog.d.ts.map +1 -0
  211. package/dist/providers/option-catalog.js +33 -0
  212. package/dist/providers/option-catalog.js.map +1 -0
  213. package/dist/providers/types.d.ts +8 -3
  214. package/dist/providers/types.d.ts.map +1 -1
  215. package/dist/providers/types.js.map +1 -1
  216. package/dist/providers/version.d.ts.map +1 -1
  217. package/dist/providers/version.js +6 -2
  218. package/dist/providers/version.js.map +1 -1
  219. package/dist/pty/exit.js +1 -1
  220. package/dist/pty/exit.js.map +1 -1
  221. package/dist/pty/spawn.d.ts +1 -0
  222. package/dist/pty/spawn.d.ts.map +1 -1
  223. package/dist/pty/spawn.js +13 -9
  224. package/dist/pty/spawn.js.map +1 -1
  225. package/dist/pty/types.d.ts +5 -1
  226. package/dist/pty/types.d.ts.map +1 -1
  227. package/dist/resume-tui.d.ts +6 -0
  228. package/dist/resume-tui.d.ts.map +1 -1
  229. package/dist/resume-tui.js +27 -12
  230. package/dist/resume-tui.js.map +1 -1
  231. package/dist/session/manifest.d.ts +12 -5
  232. package/dist/session/manifest.d.ts.map +1 -1
  233. package/dist/session/resume.d.ts.map +1 -1
  234. package/dist/session/resume.js +4 -2
  235. package/dist/session/resume.js.map +1 -1
  236. package/dist/startup-tui.d.ts +19 -5
  237. package/dist/startup-tui.d.ts.map +1 -1
  238. package/dist/startup-tui.js +134 -46
  239. package/dist/startup-tui.js.map +1 -1
  240. package/dist/terminal/win32-key-translator.d.ts.map +1 -1
  241. package/dist/terminal/win32-key-translator.js +5 -2
  242. package/dist/terminal/win32-key-translator.js.map +1 -1
  243. package/dist/terminal-input.d.ts.map +1 -1
  244. package/dist/terminal-input.js +9 -6
  245. package/dist/terminal-input.js.map +1 -1
  246. package/dist/user/curate-handler.d.ts.map +1 -1
  247. package/dist/user/curate-handler.js +25 -32
  248. package/dist/user/curate-handler.js.map +1 -1
  249. package/dist/user/curate-prompt.d.ts +1 -1
  250. package/dist/user/dsl.d.ts +1 -0
  251. package/dist/user/dsl.d.ts.map +1 -1
  252. package/dist/user/dsl.js +1 -0
  253. package/dist/user/dsl.js.map +1 -1
  254. package/dist/user/handler.d.ts.map +1 -1
  255. package/dist/user/handler.js +2 -1
  256. package/dist/user/handler.js.map +1 -1
  257. package/dist/user/host-curate-prompt.d.ts.map +1 -1
  258. package/dist/user/host-curate-prompt.js +105 -15
  259. package/dist/user/host-curate-prompt.js.map +1 -1
  260. package/dist/user/host-prompt.d.ts.map +1 -1
  261. package/dist/user/host-prompt.js +13 -5
  262. package/dist/user/host-prompt.js.map +1 -1
  263. package/dist/user/index.d.ts +1 -2
  264. package/dist/user/index.d.ts.map +1 -1
  265. package/dist/user/index.js +1 -2
  266. package/dist/user/index.js.map +1 -1
  267. package/dist/user/plan-pane.d.ts +32 -1
  268. package/dist/user/plan-pane.d.ts.map +1 -1
  269. package/dist/user/plan-pane.js +158 -5
  270. package/dist/user/plan-pane.js.map +1 -1
  271. package/dist/user/prompt.d.ts +9 -6
  272. package/dist/user/prompt.d.ts.map +1 -1
  273. package/dist/user/prompt.js +3 -8
  274. package/dist/user/prompt.js.map +1 -1
  275. package/package.json +1 -1
  276. package/schemas/review-verdict.json +13 -0
  277. package/dist/flow/built-in/why-so-serious-factory.d.ts +0 -16
  278. package/dist/flow/built-in/why-so-serious-factory.d.ts.map +0 -1
  279. package/dist/flow/built-in/why-so-serious-factory.js +0 -187
  280. package/dist/flow/built-in/why-so-serious-factory.js.map +0 -1
  281. package/dist/flow/built-in/why-so-serious.d.ts +0 -17
  282. package/dist/flow/built-in/why-so-serious.d.ts.map +0 -1
  283. package/dist/flow/built-in/why-so-serious.js +0 -23
  284. package/dist/flow/built-in/why-so-serious.js.map +0 -1
  285. package/dist/user/auto-curate-prompt.d.ts +0 -17
  286. package/dist/user/auto-curate-prompt.d.ts.map +0 -1
  287. package/dist/user/auto-curate-prompt.js +0 -22
  288. package/dist/user/auto-curate-prompt.js.map +0 -1
@@ -1,6 +1,7 @@
1
- import type { CliOptions } from "./config.js";
2
- import type { FlowTemplate } from "./flow/types.js";
1
+ import { type CliOptions, type ConfigFile, type DriverMemory } from "./config.js";
2
+ import type { FlowTemplate, FlowParamValue } from "./flow/types.js";
3
3
  import type { TerminalKey } from "./terminal-input.js";
4
+ import { type KeyEventSource } from "./terminal/key-event-source.js";
4
5
  import type { GitInfo } from "./git-info.js";
5
6
  import { type UpdateInfo } from "./update-check.js";
6
7
  import { type ConfigField } from "./preview-panel.js";
@@ -28,6 +29,8 @@ export type TuiInputEvent = {
28
29
  type: "tab";
29
30
  } | {
30
31
  type: "ctrl+s";
32
+ } | {
33
+ type: "shift-enter";
31
34
  } | {
32
35
  type: "shift-tab";
33
36
  } | {
@@ -67,14 +70,20 @@ export interface TuiState {
67
70
  templateIndex: number;
68
71
  taskRequired: boolean;
69
72
  updateBanner: UpdateInfo | null;
73
+ paramDefaultsSources?: Array<Record<string, FlowParamValue | undefined>>;
74
+ driverMemory: DriverMemory;
75
+ }
76
+ export interface StartupTuiContext {
77
+ fileConfig?: ConfigFile;
78
+ userConfig?: ConfigFile;
70
79
  }
71
- export declare function buildInitialState(defaults: Partial<CliOptions>, rows: number, cols: number, gitInfo?: GitInfo | null): TuiState;
80
+ export declare function buildInitialState(defaults: Partial<CliOptions>, rows: number, cols: number, gitInfo?: GitInfo | null, ctx?: StartupTuiContext): TuiState;
72
81
  /** Compute available editor height. */
73
82
  export declare function editorHeight(state: TuiState, rowCount?: number): number;
74
83
  export declare function render(state: TuiState, out: NodeJS.WriteStream): void;
75
84
  export type HandleResult = "handled" | "start" | "cancel";
76
85
  export declare function handleEvent(state: TuiState, event: TuiInputEvent): HandleResult;
77
- export declare function buildCliOptions(state: TuiState, workdir?: string): CliOptions;
86
+ export declare function buildCliOptions(state: TuiState): CliOptions;
78
87
  /**
79
88
  * Fire-and-forget background update check. When the check resolves with
80
89
  * a newer version, it sets `state.updateBanner` and re-renders.
@@ -83,5 +92,10 @@ export declare function buildCliOptions(state: TuiState, workdir?: string): CliO
83
92
  export declare function startUpdateCheck(state: TuiState, out: NodeJS.WriteStream, checkFn?: () => Promise<UpdateInfo | null>): {
84
93
  dispose: () => void;
85
94
  };
86
- export declare function showStartupTui(defaults: Partial<CliOptions>): Promise<CliOptions | null>;
95
+ export declare function showStartupTui(defaults: Partial<CliOptions>, ctx?: StartupTuiContext): Promise<CliOptions | null>;
96
+ export interface StartupInputLoopOptions {
97
+ source?: KeyEventSource;
98
+ stdout?: NodeJS.WriteStream;
99
+ }
100
+ export declare function inputLoop(state: TuiState, opts?: StartupInputLoopOptions): Promise<CliOptions | null>;
87
101
  //# sourceMappingURL=startup-tui.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"startup-tui.d.ts","sourceRoot":"","sources":["../src/startup-tui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"startup-tui.d.ts","sourceRoot":"","sources":["../src/startup-tui.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,14 @@
1
1
  import { homedir } from "node:os";
2
2
  import { join } from "node:path";
3
+ import { mergeDriverMemory } from "./config.js";
3
4
  import { flowReadsTask } from "./flow/inspect.js";
5
+ import { resolveFlowParams } from "./flow/params.js";
4
6
  import { createKeyEventSource } from "./terminal/key-event-source.js";
5
7
  import { padToWidth, bold, dim, reset, cyan, red, yellow, HIDE_CURSOR, ALT_SCREEN_ON, ALT_SCREEN_OFF, CSI, } from "./ansi.js";
6
8
  import { getGitInfo } from "./git-info.js";
7
9
  import { checkForUpdate } from "./update-check.js";
8
10
  import { renderAppHeader, shouldShowBanner, tildeify } from "./app-header.js";
9
- import { buildFieldsForTemplate as buildFieldsForTemplateBase, configRowCount, handleFieldEvent, renderConfigFields, renderFlowSection, renderEditorLines, handleTextEditorEvent, computeFlowSectionHeight, } from "./preview-panel.js";
11
+ import { buildFieldsForTemplate as buildFieldsForTemplateBase, configRowCount, handleFieldEvent, recomputeHiddenFlags, renderConfigFields, renderFlowSection, renderEditorLines, handleTextEditorEvent, computeFlowSectionHeight, findFieldByKey, } from "./preview-panel.js";
10
12
  let flowTemplates = [];
11
13
  let flowBuiltinCount = 0;
12
14
  let flowCustomDir = join(homedir(), ".poly-weaver", "flows");
@@ -53,6 +55,9 @@ export class TuiInputParser {
53
55
  return [{ type: "ctrl+s" }];
54
56
  return [];
55
57
  case "kitty-key":
58
+ if ((key.keyCode === 13 || key.keyCode === 10) && ((key.modifiers - 1) & 0x01) !== 0) {
59
+ return [{ type: "shift-enter" }];
60
+ }
56
61
  if (key.keyCode === 9) {
57
62
  if ((key.modifiers - 1) & 0x01)
58
63
  return [{ type: "shift-tab" }];
@@ -82,6 +87,34 @@ export class TuiInputParser {
82
87
  }
83
88
  }
84
89
  }
90
+ function collectParamDefaultSources(ctx) {
91
+ const sources = [];
92
+ if (ctx?.fileConfig)
93
+ sources.push(ctx.fileConfig);
94
+ if (ctx?.userConfig)
95
+ sources.push(ctx.userConfig);
96
+ return sources;
97
+ }
98
+ function fileConfigDriverMemory(ctx) {
99
+ return ctx?.fileConfig?.driverMemory;
100
+ }
101
+ function userConfigDriverMemory(ctx) {
102
+ return ctx?.userConfig?.driverMemory;
103
+ }
104
+ function snapshotGroupToMemory(memory, group) {
105
+ const provider = group.children[0].value;
106
+ memory[group.role] ??= {};
107
+ memory[group.role][provider] = {
108
+ model: group.children[1].value,
109
+ effort: group.children[2].value,
110
+ };
111
+ }
112
+ function snapshotAllGroupsToMemory(state) {
113
+ for (const field of state.fields) {
114
+ if (field.kind === "group")
115
+ snapshotGroupToMemory(state.driverMemory, field);
116
+ }
117
+ }
85
118
  // ─── Constants ───────────────────────────────────────────────────────────
86
119
  function headerRows(state, cols) {
87
120
  return shouldShowBanner(state.updateBanner, cols) ? 3 : 2;
@@ -121,8 +154,11 @@ function computeTaskRequired(state) {
121
154
  const template = getActiveTemplate(state);
122
155
  const values = {};
123
156
  for (const param of template.params) {
124
- const field = state.fields.find(f => f.key === param.key);
125
- values[param.key] = field?.value ?? param.default;
157
+ const field = findFieldByKey(state.fields, param.key);
158
+ const fallback = "default" in param ? param.default : undefined;
159
+ const value = field?.value ?? fallback;
160
+ if (value !== undefined)
161
+ values[param.key] = value;
126
162
  }
127
163
  try {
128
164
  return flowReadsTask(template.build(values));
@@ -141,29 +177,24 @@ function refreshTaskRequired(state) {
141
177
  function buildFieldsWithToggles(template, defaults, existingFields) {
142
178
  const fields = buildFieldsForTemplateBase(template, defaults, existingFields);
143
179
  // Orthogonal toggles (not in template params) — preserve existing values
144
- const existingYolo = existingFields?.find((f) => f.key === "yolo");
145
- const existingOpinionless = existingFields?.find((f) => f.key === "opinionless");
180
+ const existingYolo = existingFields ? findFieldByKey(existingFields, "yolo") : undefined;
146
181
  fields.push({
147
182
  kind: "toggle",
148
183
  label: "YOLO",
149
184
  key: "yolo",
150
185
  value: existingYolo?.value ?? defaults.yolo ?? true,
151
186
  });
152
- fields.push({
153
- kind: "toggle",
154
- label: "Opinionless",
155
- key: "opinionless",
156
- value: existingOpinionless?.value ?? defaults.opinionless ?? false,
157
- });
158
187
  return fields;
159
188
  }
160
189
  // ─── State construction ──────────────────────────────────────────────────
161
- export function buildInitialState(defaults, rows, cols, gitInfo) {
190
+ export function buildInitialState(defaults, rows, cols, gitInfo, ctx) {
162
191
  ensureTemplates();
163
192
  // Resolve template index from defaults
164
193
  const templateIndex = flowTemplates.findIndex(t => t.name === defaults.workflow);
165
194
  const template = flowTemplates[templateIndex < 0 ? 0 : templateIndex];
166
195
  const fields = buildFieldsWithToggles(template, defaults);
196
+ recomputeHiddenFlags(fields, template.params);
197
+ const driverMemory = mergeDriverMemory(userConfigDriverMemory(ctx), fileConfigDriverMemory(ctx));
167
198
  const taskLines = defaults.task ? defaults.task.split("\n") : [""];
168
199
  const state = {
169
200
  zone: "editor",
@@ -183,7 +214,11 @@ export function buildInitialState(defaults, rows, cols, gitInfo) {
183
214
  templateIndex: Math.max(0, templateIndex),
184
215
  taskRequired: true,
185
216
  updateBanner: null,
217
+ paramDefaultsSources: collectParamDefaultSources(ctx),
218
+ driverMemory,
186
219
  };
220
+ snapshotAllGroupsToMemory(state);
221
+ clampConfigIndexToVisible(state);
187
222
  initFlowHeight(state);
188
223
  state.taskRequired = computeTaskRequired(state);
189
224
  if (!state.taskRequired) {
@@ -244,14 +279,17 @@ export function render(state, out) {
244
279
  // Footer
245
280
  let footer;
246
281
  const workflowHint = flowTemplates.length > 1 ? ` ${dim}Shift+Tab${reset} Workflow` : "";
282
+ const closeHint = state.fields.some((f) => f.kind === "group" && f.groupExpanded)
283
+ ? ` · ${dim}Esc${reset} Close`
284
+ : "";
247
285
  if (!state.taskRequired) {
248
- footer = ` ${dim}↑↓${reset} Navigate ${dim}← →${reset} Adjust ${dim}0-9${reset} Type ${dim}Enter${reset} Expand${workflowHint} ${dim}Ctrl+S${reset} Start ${dim}Ctrl+C${reset} Quit`;
286
+ footer = ` ${dim}↑↓${reset} Navigate · ${dim}← →${reset} Adjust · ${dim}0-9${reset} Type · ${dim}Enter${reset} Expand${closeHint}${workflowHint ? ` · ${workflowHint.trimStart()}` : ""} · ${dim}Ctrl+D${reset} Start · ${dim}Ctrl+C${reset} Quit`;
249
287
  }
250
288
  else if (state.zone === "editor") {
251
- footer = ` ${dim}Tab${reset} Config${workflowHint} ${dim}Ctrl+S${reset} Start ${dim}Ctrl+C${reset} Quit`;
289
+ footer = ` ${dim}Tab${reset} Config${workflowHint ? ` · ${workflowHint.trimStart()}` : ""} · ${dim}Ctrl+D${reset} Start · ${dim}Ctrl+C${reset} Quit`;
252
290
  }
253
291
  else {
254
- footer = ` ${dim}↑↓${reset} Navigate ${dim}← →${reset} Adjust ${dim}0-9${reset} Type ${dim}Enter${reset} Expand ${dim}Esc/Tab${reset} Back${workflowHint} ${dim}Ctrl+S${reset} Start`;
292
+ footer = ` ${dim}↑↓${reset} Navigate · ${dim}← →${reset} Adjust · ${dim}0-9${reset} Type · ${dim}Enter${reset} Expand${closeHint} · ${dim}Esc/Tab${reset} Back${workflowHint ? ` · ${workflowHint.trimStart()}` : ""} · ${dim}Ctrl+D${reset} Start`;
255
293
  }
256
294
  lines.push(pad(footer));
257
295
  // Build output
@@ -262,11 +300,38 @@ export function render(state, out) {
262
300
  out.write(output);
263
301
  }
264
302
  }
303
+ // ─── Event handling ──────────────────────────────────────────────────────
304
+ function findVisibleIndex(fields, from, dir) {
305
+ for (let i = from; i >= 0 && i < fields.length; i += dir) {
306
+ if (!fields[i].hidden)
307
+ return i;
308
+ }
309
+ return null;
310
+ }
311
+ function clampConfigIndexToVisible(state) {
312
+ const fields = state.fields;
313
+ if (fields.length === 0)
314
+ return;
315
+ const clamped = Math.max(0, Math.min(state.configIndex, fields.length - 1));
316
+ // Prefer keeping cursor close to its pre-hide position by walking back first,
317
+ // then forward — feels more stable when a field above the cursor disappears.
318
+ const next = findVisibleIndex(fields, clamped, -1) ??
319
+ findVisibleIndex(fields, clamped + 1, 1) ??
320
+ 0;
321
+ state.configIndex = next;
322
+ }
323
+ function advanceConfigIndex(state, direction) {
324
+ const next = findVisibleIndex(state.fields, state.configIndex + direction, direction);
325
+ if (next === null)
326
+ return false;
327
+ state.configIndex = next;
328
+ return true;
329
+ }
265
330
  export function handleEvent(state, event) {
266
331
  // Global shortcuts
267
332
  if (event.type === "ctrl+c")
268
333
  return "cancel";
269
- if (event.type === "ctrl+s") {
334
+ if (event.type === "ctrl+d") {
270
335
  if (state.taskRequired) {
271
336
  const taskText = state.editor.lines.join("\n").trim();
272
337
  if (!taskText) {
@@ -279,10 +344,12 @@ export function handleEvent(state, event) {
279
344
  }
280
345
  if (event.type === "shift-tab") {
281
346
  state.templateIndex = (state.templateIndex + 1) % flowTemplates.length;
282
- state.fields = buildFieldsWithToggles(flowTemplates[state.templateIndex], {}, state.fields);
283
- if (state.configIndex >= state.fields.length) {
284
- state.configIndex = state.fields.length - 1;
285
- }
347
+ const newTemplate = flowTemplates[state.templateIndex];
348
+ const resolved = resolveFlowParams(newTemplate.params, state.paramDefaultsSources ?? [], { driverMemory: state.driverMemory });
349
+ state.fields = buildFieldsWithToggles(newTemplate, resolved, state.fields);
350
+ snapshotAllGroupsToMemory(state);
351
+ recomputeHiddenFlags(state.fields, newTemplate.params);
352
+ clampConfigIndexToVisible(state);
286
353
  refreshTaskRequired(state);
287
354
  return "handled";
288
355
  }
@@ -297,7 +364,8 @@ function handleEditorEvent(state, event) {
297
364
  if (!handleTextEditorEvent(state.editor, event)) {
298
365
  // Events not consumed by the shared handler
299
366
  switch (event.type) {
300
- case "submit": {
367
+ case "submit":
368
+ case "shift-enter": {
301
369
  const ed = state.editor;
302
370
  const line = ed.lines[ed.cursorRow];
303
371
  const before = line.slice(0, ed.cursorCol);
@@ -312,10 +380,12 @@ function handleEditorEvent(state, event) {
312
380
  // up-from-top: navigate to config zone
313
381
  state.zone = "config";
314
382
  state.configIndex = state.fields.length - 1;
383
+ clampConfigIndexToVisible(state);
315
384
  break;
316
385
  case "tab":
317
386
  state.zone = "config";
318
387
  state.configIndex = 0;
388
+ clampConfigIndexToVisible(state);
319
389
  break;
320
390
  case "escape":
321
391
  break;
@@ -339,18 +409,19 @@ function adjustScroll(state) {
339
409
  function handleConfigEvent(state, event) {
340
410
  const field = state.fields[state.configIndex];
341
411
  const wasEditing = field.kind === "number" && field.editing;
342
- const consumed = handleFieldEvent(state.fields, state.configIndex, event);
412
+ const consumed = handleFieldEvent(state.fields, state.configIndex, event, state.driverMemory);
413
+ if (field.kind === "group") {
414
+ snapshotGroupToMemory(state.driverMemory, field);
415
+ }
343
416
  if (!consumed) {
344
417
  switch (event.type) {
345
418
  case "up":
346
- if (state.configIndex > 0)
347
- state.configIndex--;
419
+ advanceConfigIndex(state, -1);
348
420
  break;
349
421
  case "down":
350
- if (state.configIndex < state.fields.length - 1)
351
- state.configIndex++;
352
- else if (state.taskRequired)
422
+ if (!advanceConfigIndex(state, 1) && state.taskRequired) {
353
423
  state.zone = "editor";
424
+ }
354
425
  break;
355
426
  case "tab":
356
427
  case "escape":
@@ -360,14 +431,16 @@ function handleConfigEvent(state, event) {
360
431
  }
361
432
  }
362
433
  if (consumed || wasEditing) {
434
+ recomputeHiddenFlags(state.fields, getActiveTemplate(state).params);
435
+ clampConfigIndexToVisible(state);
363
436
  refreshTaskRequired(state);
364
437
  }
365
438
  return "handled";
366
439
  }
367
440
  // ─── Build final CliOptions ──────────────────────────────────────────────
368
- export function buildCliOptions(state, workdir) {
441
+ export function buildCliOptions(state) {
369
442
  const fieldVal = (key) => {
370
- const f = state.fields.find((field) => field.key === key);
443
+ const f = findFieldByKey(state.fields, key);
371
444
  if (!f)
372
445
  return undefined;
373
446
  return f.value;
@@ -376,15 +449,15 @@ export function buildCliOptions(state, workdir) {
376
449
  const template = getActiveTemplate(state);
377
450
  const result = {
378
451
  task: state.taskRequired ? state.editor.lines.join("\n").trim() : "",
379
- workdir: workdir ?? process.cwd(),
380
452
  workflow: template.name,
381
453
  };
382
454
  for (const param of template.params) {
383
- result[param.key] = fieldVal(param.key) ?? param.default;
455
+ const fallback = "default" in param ? param.default : undefined;
456
+ result[param.key] = fieldVal(param.key) ?? fallback;
384
457
  }
385
458
  // Orthogonal options
386
459
  result.yolo = fieldVal("yolo") ?? true;
387
- result.opinionless = fieldVal("opinionless") ?? false;
460
+ result.driverMemory = state.driverMemory;
388
461
  return result;
389
462
  }
390
463
  // ─── Update check integration ─────────────────────────────────────────────
@@ -407,17 +480,17 @@ export function startUpdateCheck(state, out, checkFn = checkForUpdate) {
407
480
  };
408
481
  }
409
482
  // ─── Main entry point ────────────────────────────────────────────────────
410
- export async function showStartupTui(defaults) {
483
+ export async function showStartupTui(defaults, ctx) {
411
484
  const rows = process.stdout.rows ?? 24;
412
485
  const cols = process.stdout.columns ?? 80;
413
- const gitInfo = await getGitInfo(defaults.workdir ?? process.cwd());
414
- const state = buildInitialState(defaults, rows, cols, gitInfo);
486
+ const gitInfo = await getGitInfo(process.cwd());
487
+ const state = buildInitialState(defaults, rows, cols, gitInfo, ctx);
415
488
  process.stdout.write(ALT_SCREEN_ON);
416
489
  const updateCheck = startUpdateCheck(state, process.stdout);
417
490
  try {
418
491
  lastDrawnOutput = undefined;
419
492
  render(state, process.stdout);
420
- const result = await inputLoop(state, defaults.workdir);
493
+ const result = await inputLoop(state);
421
494
  updateCheck.dispose();
422
495
  return result;
423
496
  }
@@ -426,9 +499,11 @@ export async function showStartupTui(defaults) {
426
499
  process.stdout.write(ALT_SCREEN_OFF);
427
500
  }
428
501
  }
429
- async function inputLoop(state, workdir) {
502
+ export async function inputLoop(state, opts = {}) {
503
+ const stdout = opts.stdout ?? process.stdout;
430
504
  const parser = new TuiInputParser();
431
- const source = createKeyEventSource();
505
+ const source = opts.source ?? createKeyEventSource();
506
+ let lastResizeSize;
432
507
  source.start();
433
508
  return new Promise((resolve) => {
434
509
  const unsubscribe = source.onEvents((keys) => {
@@ -436,7 +511,7 @@ async function inputLoop(state, workdir) {
436
511
  const result = handleEvent(state, event);
437
512
  if (result === "start") {
438
513
  cleanup();
439
- resolve(buildCliOptions(state, workdir));
514
+ resolve(buildCliOptions(state));
440
515
  return;
441
516
  }
442
517
  else if (result === "cancel") {
@@ -445,19 +520,32 @@ async function inputLoop(state, workdir) {
445
520
  return;
446
521
  }
447
522
  }
448
- render(state, process.stdout);
523
+ render(state, stdout);
449
524
  });
450
- const onResize = () => {
451
- state.termRows = process.stdout.rows ?? 24;
452
- state.termCols = process.stdout.columns ?? 80;
525
+ const handleResize = (size) => {
526
+ const next = size ?? {
527
+ columns: stdout.columns ?? 80,
528
+ rows: stdout.rows ?? 24,
529
+ };
530
+ if (lastResizeSize !== undefined
531
+ && next.columns === lastResizeSize.columns
532
+ && next.rows === lastResizeSize.rows) {
533
+ return;
534
+ }
535
+ lastResizeSize = next;
536
+ state.termRows = next.rows;
537
+ state.termCols = next.columns;
453
538
  lastDrawnOutput = undefined;
454
- render(state, process.stdout);
539
+ render(state, stdout);
455
540
  };
456
- process.stdout.on("resize", onResize);
541
+ const onResize = () => handleResize();
542
+ stdout.on("resize", onResize);
543
+ const sourceResizeUnsubscribe = source.onResize((size) => handleResize(size));
457
544
  function cleanup() {
545
+ sourceResizeUnsubscribe();
458
546
  unsubscribe();
459
547
  source.stop();
460
- process.stdout.removeListener("resize", onResize);
548
+ stdout.removeListener("resize", onResize);
461
549
  }
462
550
  });
463
551
  }
@@ -1 +1 @@
1
- {"version":3,"file":"startup-tui.js","sourceRoot":"","sources":["../src/startup-tui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"startup-tui.js","sourceRoot":"","sources":["../src/startup-tui.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"win32-key-translator.d.ts","sourceRoot":"","sources":["../../src/terminal/win32-key-translator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,UAAU,kBAAkB;IAC1B,SAAS,CAAC,MAAM,EAAE,cAAc,GAAG,WAAW,EAAE,CAAC;CAClD;AAMD;;;;;;GAMG;AACH,wBAAgB,wBAAwB,IAAI,kBAAkB,CA2E7D"}
1
+ {"version":3,"file":"win32-key-translator.d.ts","sourceRoot":"","sources":["../../src/terminal/win32-key-translator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,UAAU,kBAAkB;IAC1B,SAAS,CAAC,MAAM,EAAE,cAAc,GAAG,WAAW,EAAE,CAAC;CAClD;AAMD;;;;;;GAMG;AACH,wBAAgB,wBAAwB,IAAI,kBAAkB,CA+E7D"}
@@ -33,8 +33,11 @@ export function createWin32KeyTranslator() {
33
33
  const ctrl = (cs & (LEFT_CTRL_PRESSED | RIGHT_CTRL_PRESSED)) !== 0;
34
34
  const uc = record.unicodeChar;
35
35
  if (uc === 13 || uc === 10) {
36
- if (ctrl)
37
- return [{ kind: "kitty-key", keyCode: 13, modifiers: 5 }];
36
+ const shift = (cs & SHIFT_PRESSED) !== 0;
37
+ if (ctrl || shift) {
38
+ const modifiers = 1 + (shift ? 1 : 0) + (ctrl ? 4 : 0);
39
+ return [{ kind: "kitty-key", keyCode: 13, modifiers }];
40
+ }
38
41
  return [{ kind: "enter", byte: uc }];
39
42
  }
40
43
  if (vk === 8)
@@ -1 +1 @@
1
- {"version":3,"file":"win32-key-translator.js","sourceRoot":"","sources":["../../src/terminal/win32-key-translator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"win32-key-translator.js","sourceRoot":"","sources":["../../src/terminal/win32-key-translator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"terminal-input.d.ts","sourceRoot":"","sources":["../src/terminal-input.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,YAAY,CAAA;CAAE,GAC/E;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GACrB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;CAAE,GAC9D;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,IAAI,GAAG,MAAM,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,GACf;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,IAAI,GAAG,MAAM,CAAA;CAAE,GAC3C;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACzD;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAcnC,qBAAa,iBAAiB;IAS1B,OAAO,CAAC,QAAQ,CAAC,eAAe;IARlC,OAAO,CAAC,KAAK,CAAuD;IACpE,OAAO,CAAC,SAAS,CAAM;IACvB,OAAO,CAAC,WAAW,CAA4C;IAC/D,OAAO,CAAC,gBAAgB,CAA8C;IACtE,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,YAAY,CAAK;gBAGN,eAAe,SAAK;IAGvC,cAAc,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,IAAI,GAAG,IAAI;IAIvD,mBAAmB,IAAI,IAAI;IAO3B,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,EAAE;IAyGxC,OAAO,CAAC,QAAQ;IAiBhB,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,SAAS;IAiIjB;;;;;;;;;OASG;IACH,OAAO,CAAC,gBAAgB;IA0DxB,OAAO,CAAC,mBAAmB;CAM5B"}
1
+ {"version":3,"file":"terminal-input.d.ts","sourceRoot":"","sources":["../src/terminal-input.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,YAAY,CAAA;CAAE,GAC/E;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GACrB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;CAAE,GAC9D;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,IAAI,GAAG,MAAM,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,GACf;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,IAAI,GAAG,MAAM,CAAA;CAAE,GAC3C;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACzD;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAcnC,qBAAa,iBAAiB;IAS1B,OAAO,CAAC,QAAQ,CAAC,eAAe;IARlC,OAAO,CAAC,KAAK,CAAuD;IACpE,OAAO,CAAC,SAAS,CAAM;IACvB,OAAO,CAAC,WAAW,CAA4C;IAC/D,OAAO,CAAC,gBAAgB,CAA8C;IACtE,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,YAAY,CAAK;gBAGN,eAAe,SAAK;IAGvC,cAAc,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,IAAI,GAAG,IAAI;IAIvD,mBAAmB,IAAI,IAAI;IAO3B,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,EAAE;IAyGxC,OAAO,CAAC,QAAQ;IAiBhB,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,SAAS;IAmIjB;;;;;;;;;OASG;IACH,OAAO,CAAC,gBAAgB;IA6DxB,OAAO,CAAC,mBAAmB;CAM5B"}
@@ -224,8 +224,8 @@ export class TerminalKeyParser {
224
224
  // Ignore key-release events
225
225
  if (eventType === 3)
226
226
  return SUPPRESSED;
227
- // Enter with Ctrl modifier → kitty-key (so consumer can distinguish Ctrl+Enter)
228
- if ((keyCode === 13 || keyCode === 10) && (modifiers - 1) & 0x04) {
227
+ // Enter with Shift/Ctrl modifiers → kitty-key (so consumers can opt in).
228
+ if ((keyCode === 13 || keyCode === 10) && ((modifiers - 1) & 0x05) !== 0) {
229
229
  return keys({ kind: "kitty-key", keyCode, modifiers });
230
230
  }
231
231
  // Enter (no Ctrl)
@@ -249,8 +249,9 @@ export class TerminalKeyParser {
249
249
  case 57344: // Escape
250
250
  return keys({ kind: "kitty-key", keyCode: 27, modifiers });
251
251
  case 57345: // Enter
252
- if ((modifiers - 1) & 0x04)
252
+ if (((modifiers - 1) & 0x05) !== 0) {
253
253
  return keys({ kind: "kitty-key", keyCode: 13, modifiers });
254
+ }
254
255
  // No source byte — kitty Enter convention picks CR.
255
256
  return keys({ kind: "enter", byte: 0x0d });
256
257
  case 57346: // Tab
@@ -324,10 +325,13 @@ export class TerminalKeyParser {
324
325
  return keys({ kind: "arrow", direction: dir });
325
326
  }
326
327
  const ctrl = (cs & 0x000c) !== 0; // LEFT_CTRL(0x08) | RIGHT_CTRL(0x04)
328
+ const shift = (cs & 0x0010) !== 0;
327
329
  // Enter
328
330
  if (uc === 13 || uc === 10) {
329
- if (ctrl)
330
- return keys({ kind: "kitty-key", keyCode: 13, modifiers: 5 });
331
+ if (ctrl || shift) {
332
+ const modifiers = 1 + (shift ? 1 : 0) + (ctrl ? 4 : 0);
333
+ return keys({ kind: "kitty-key", keyCode: 13, modifiers });
334
+ }
331
335
  return keys({ kind: "enter", byte: uc });
332
336
  }
333
337
  // Backspace (VK_BACK=8)
@@ -338,7 +342,6 @@ export class TerminalKeyParser {
338
342
  return keys({ kind: "escape" });
339
343
  // Tab (VK_TAB=9)
340
344
  if (vk === 9) {
341
- const shift = (cs & 0x0010) !== 0;
342
345
  return keys({ kind: "kitty-key", keyCode: 9, modifiers: shift ? 2 : 1 });
343
346
  }
344
347
  // Control characters (Ctrl-generated control bytes below ASCII 32)