poly-weaver 0.12.5 → 0.13.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 (198) hide show
  1. package/dist/agents/implementors/adapter.d.ts +1 -0
  2. package/dist/agents/implementors/adapter.d.ts.map +1 -1
  3. package/dist/agents/implementors/adapter.js +4 -4
  4. package/dist/agents/implementors/adapter.js.map +1 -1
  5. package/dist/agents/implementors/handler.d.ts.map +1 -1
  6. package/dist/agents/implementors/handler.js +4 -0
  7. package/dist/agents/implementors/handler.js.map +1 -1
  8. package/dist/agents/implementors/prompts.d.ts +4 -4
  9. package/dist/agents/implementors/prompts.d.ts.map +1 -1
  10. package/dist/agents/implementors/prompts.js +25 -20
  11. package/dist/agents/implementors/prompts.js.map +1 -1
  12. package/dist/agents/implementors/types.d.ts +5 -4
  13. package/dist/agents/implementors/types.d.ts.map +1 -1
  14. package/dist/agents/interviewers/adapter.d.ts +0 -2
  15. package/dist/agents/interviewers/adapter.d.ts.map +1 -1
  16. package/dist/agents/interviewers/adapter.js +0 -15
  17. package/dist/agents/interviewers/adapter.js.map +1 -1
  18. package/dist/agents/interviewers/handler.d.ts.map +1 -1
  19. package/dist/agents/interviewers/handler.js +1 -18
  20. package/dist/agents/interviewers/handler.js.map +1 -1
  21. package/dist/agents/reviewers/adapter.d.ts.map +1 -1
  22. package/dist/agents/reviewers/adapter.js +18 -3
  23. package/dist/agents/reviewers/adapter.js.map +1 -1
  24. package/dist/agents/reviewers/dsl.d.ts +1 -0
  25. package/dist/agents/reviewers/dsl.d.ts.map +1 -1
  26. package/dist/agents/reviewers/dsl.js.map +1 -1
  27. package/dist/agents/reviewers/handler.d.ts.map +1 -1
  28. package/dist/agents/reviewers/handler.js +5 -3
  29. package/dist/agents/reviewers/handler.js.map +1 -1
  30. package/dist/agents/reviewers/index.d.ts +1 -1
  31. package/dist/agents/reviewers/index.d.ts.map +1 -1
  32. package/dist/agents/reviewers/index.js +8 -1
  33. package/dist/agents/reviewers/index.js.map +1 -1
  34. package/dist/agents/reviewers/prompts.d.ts +8 -5
  35. package/dist/agents/reviewers/prompts.d.ts.map +1 -1
  36. package/dist/agents/reviewers/prompts.js +50 -27
  37. package/dist/agents/reviewers/prompts.js.map +1 -1
  38. package/dist/agents/reviewers/types.d.ts +16 -2
  39. package/dist/agents/reviewers/types.d.ts.map +1 -1
  40. package/dist/agents/reviewers/types.js.map +1 -1
  41. package/dist/agents/runner.d.ts +2 -0
  42. package/dist/agents/runner.d.ts.map +1 -1
  43. package/dist/agents/runner.js +15 -0
  44. package/dist/agents/runner.js.map +1 -1
  45. package/dist/agents/session-resume.d.ts +7 -0
  46. package/dist/agents/session-resume.d.ts.map +1 -1
  47. package/dist/agents/session-resume.js +18 -1
  48. package/dist/agents/session-resume.js.map +1 -1
  49. package/dist/agents/simplifiers/adapter.d.ts +2 -5
  50. package/dist/agents/simplifiers/adapter.d.ts.map +1 -1
  51. package/dist/agents/simplifiers/adapter.js +17 -7
  52. package/dist/agents/simplifiers/adapter.js.map +1 -1
  53. package/dist/agents/simplifiers/dsl.d.ts +13 -0
  54. package/dist/agents/simplifiers/dsl.d.ts.map +1 -1
  55. package/dist/agents/simplifiers/dsl.js +8 -1
  56. package/dist/agents/simplifiers/dsl.js.map +1 -1
  57. package/dist/agents/simplifiers/handler.d.ts +3 -0
  58. package/dist/agents/simplifiers/handler.d.ts.map +1 -1
  59. package/dist/agents/simplifiers/handler.js +130 -12
  60. package/dist/agents/simplifiers/handler.js.map +1 -1
  61. package/dist/agents/simplifiers/index.d.ts +1 -0
  62. package/dist/agents/simplifiers/index.d.ts.map +1 -1
  63. package/dist/agents/simplifiers/index.js +1 -0
  64. package/dist/agents/simplifiers/index.js.map +1 -1
  65. package/dist/agents/simplifiers/plan.d.ts +52 -0
  66. package/dist/agents/simplifiers/plan.d.ts.map +1 -0
  67. package/dist/agents/simplifiers/plan.js +176 -0
  68. package/dist/agents/simplifiers/plan.js.map +1 -0
  69. package/dist/agents/simplifiers/prompts.d.ts +6 -0
  70. package/dist/agents/simplifiers/prompts.d.ts.map +1 -0
  71. package/dist/agents/simplifiers/prompts.js +90 -0
  72. package/dist/agents/simplifiers/prompts.js.map +1 -0
  73. package/dist/agents/simplifiers/types.d.ts +22 -5
  74. package/dist/agents/simplifiers/types.d.ts.map +1 -1
  75. package/dist/ansi.d.ts +1 -0
  76. package/dist/ansi.d.ts.map +1 -1
  77. package/dist/ansi.js +1 -0
  78. package/dist/ansi.js.map +1 -1
  79. package/dist/cli.js +25 -11
  80. package/dist/cli.js.map +1 -1
  81. package/dist/config.d.ts +16 -2
  82. package/dist/config.d.ts.map +1 -1
  83. package/dist/config.js +34 -0
  84. package/dist/config.js.map +1 -1
  85. package/dist/dsl.d.ts +1 -1
  86. package/dist/dsl.d.ts.map +1 -1
  87. package/dist/flow/built-in/default-factory.js +1 -1
  88. package/dist/flow/built-in/default-factory.js.map +1 -1
  89. package/dist/flow/built-in/simplify-factory.d.ts +23 -0
  90. package/dist/flow/built-in/simplify-factory.d.ts.map +1 -0
  91. package/dist/flow/built-in/simplify-factory.js +183 -0
  92. package/dist/flow/built-in/simplify-factory.js.map +1 -0
  93. package/dist/flow/built-in/simplify.d.ts +16 -0
  94. package/dist/flow/built-in/simplify.d.ts.map +1 -0
  95. package/dist/flow/built-in/simplify.js +18 -0
  96. package/dist/flow/built-in/simplify.js.map +1 -0
  97. package/dist/flow/custom/load.d.ts.map +1 -1
  98. package/dist/flow/custom/load.js +1 -0
  99. package/dist/flow/custom/load.js.map +1 -1
  100. package/dist/flow/dsl.d.ts +4 -0
  101. package/dist/flow/dsl.d.ts.map +1 -1
  102. package/dist/flow/dsl.js +4 -0
  103. package/dist/flow/dsl.js.map +1 -1
  104. package/dist/flow/executor.js +1 -1
  105. package/dist/flow/executor.js.map +1 -1
  106. package/dist/flow/params.d.ts.map +1 -1
  107. package/dist/flow/params.js +25 -5
  108. package/dist/flow/params.js.map +1 -1
  109. package/dist/flow/types.d.ts +22 -1
  110. package/dist/flow/types.d.ts.map +1 -1
  111. package/dist/flow/types.js.map +1 -1
  112. package/dist/git-info.d.ts +17 -0
  113. package/dist/git-info.d.ts.map +1 -1
  114. package/dist/git-info.js +117 -1
  115. package/dist/git-info.js.map +1 -1
  116. package/dist/markdown.js +28 -8
  117. package/dist/markdown.js.map +1 -1
  118. package/dist/offscreen/agent-viewer.d.ts.map +1 -1
  119. package/dist/offscreen/agent-viewer.js +11 -3
  120. package/dist/offscreen/agent-viewer.js.map +1 -1
  121. package/dist/offscreen/artifact-pane.d.ts +8 -2
  122. package/dist/offscreen/artifact-pane.d.ts.map +1 -1
  123. package/dist/offscreen/artifact-pane.js +32 -3
  124. package/dist/offscreen/artifact-pane.js.map +1 -1
  125. package/dist/offscreen/controller.d.ts +3 -0
  126. package/dist/offscreen/controller.d.ts.map +1 -1
  127. package/dist/offscreen/controller.js +22 -3
  128. package/dist/offscreen/controller.js.map +1 -1
  129. package/dist/offscreen/panes.d.ts +1 -0
  130. package/dist/offscreen/panes.d.ts.map +1 -1
  131. package/dist/offscreen/resolve.d.ts.map +1 -1
  132. package/dist/offscreen/resolve.js +16 -0
  133. package/dist/offscreen/resolve.js.map +1 -1
  134. package/dist/offscreen/split-inquiry.d.ts +2 -0
  135. package/dist/offscreen/split-inquiry.d.ts.map +1 -1
  136. package/dist/offscreen/split-inquiry.js +9 -0
  137. package/dist/offscreen/split-inquiry.js.map +1 -1
  138. package/dist/orchestrator.d.ts +14 -1
  139. package/dist/orchestrator.d.ts.map +1 -1
  140. package/dist/orchestrator.js +70 -0
  141. package/dist/orchestrator.js.map +1 -1
  142. package/dist/preview-panel.d.ts +7 -1
  143. package/dist/preview-panel.d.ts.map +1 -1
  144. package/dist/preview-panel.js +93 -32
  145. package/dist/preview-panel.js.map +1 -1
  146. package/dist/providers/claude/strategy.d.ts +4 -2
  147. package/dist/providers/claude/strategy.d.ts.map +1 -1
  148. package/dist/providers/claude/strategy.js +13 -6
  149. package/dist/providers/claude/strategy.js.map +1 -1
  150. package/dist/providers/codex/strategy.d.ts +7 -2
  151. package/dist/providers/codex/strategy.d.ts.map +1 -1
  152. package/dist/providers/codex/strategy.js +55 -12
  153. package/dist/providers/codex/strategy.js.map +1 -1
  154. package/dist/providers/copilot/strategy.d.ts +6 -2
  155. package/dist/providers/copilot/strategy.d.ts.map +1 -1
  156. package/dist/providers/copilot/strategy.js +64 -13
  157. package/dist/providers/copilot/strategy.js.map +1 -1
  158. package/dist/providers/fork.d.ts +1 -1
  159. package/dist/providers/fork.d.ts.map +1 -1
  160. package/dist/providers/option-catalog.d.ts +3 -0
  161. package/dist/providers/option-catalog.d.ts.map +1 -1
  162. package/dist/providers/option-catalog.js +17 -0
  163. package/dist/providers/option-catalog.js.map +1 -1
  164. package/dist/providers/types.d.ts +22 -1
  165. package/dist/providers/types.d.ts.map +1 -1
  166. package/dist/providers/types.js.map +1 -1
  167. package/dist/simplify-scope-gate.d.ts +10 -0
  168. package/dist/simplify-scope-gate.d.ts.map +1 -0
  169. package/dist/simplify-scope-gate.js +60 -0
  170. package/dist/simplify-scope-gate.js.map +1 -0
  171. package/dist/startup-tui.d.ts +10 -1
  172. package/dist/startup-tui.d.ts.map +1 -1
  173. package/dist/startup-tui.js +131 -35
  174. package/dist/startup-tui.js.map +1 -1
  175. package/dist/user/candidate-pushback-handler.d.ts +13 -0
  176. package/dist/user/candidate-pushback-handler.d.ts.map +1 -0
  177. package/dist/user/candidate-pushback-handler.js +183 -0
  178. package/dist/user/candidate-pushback-handler.js.map +1 -0
  179. package/dist/user/curate-prompt.d.ts +29 -1
  180. package/dist/user/curate-prompt.d.ts.map +1 -1
  181. package/dist/user/curate-prompt.js +32 -5
  182. package/dist/user/curate-prompt.js.map +1 -1
  183. package/dist/user/handler.d.ts.map +1 -1
  184. package/dist/user/handler.js +23 -0
  185. package/dist/user/handler.js.map +1 -1
  186. package/dist/user/host-curate-prompt.d.ts +5 -5
  187. package/dist/user/host-curate-prompt.d.ts.map +1 -1
  188. package/dist/user/host-curate-prompt.js +204 -91
  189. package/dist/user/host-curate-prompt.js.map +1 -1
  190. package/dist/user/issue-inquiry.d.ts +2 -0
  191. package/dist/user/issue-inquiry.d.ts.map +1 -1
  192. package/dist/user/issue-inquiry.js +6 -0
  193. package/dist/user/issue-inquiry.js.map +1 -1
  194. package/dist/user/plan-pane.d.ts +3 -0
  195. package/dist/user/plan-pane.d.ts.map +1 -1
  196. package/dist/user/plan-pane.js +29 -16
  197. package/dist/user/plan-pane.js.map +1 -1
  198. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"strategy.js","sourceRoot":"","sources":["../../../src/providers/copilot/strategy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"strategy.js","sourceRoot":"","sources":["../../../src/providers/copilot/strategy.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { BuiltinRole, DriverName } from "../flow/types.js";
2
2
  import type { SessionLine } from "../session/reader.js";
3
3
  export type OffscreenBinding = "primary" | "secondary";
4
- export type ForkSourceKey = "interviewer" | "planner" | "reviewer-plan";
4
+ export type ForkSourceKey = "interviewer" | "planner" | "simplifier" | "reviewer-plan";
5
5
  export interface ForkSourceConfig {
6
6
  key: ForkSourceKey;
7
7
  role: BuiltinRole;
@@ -1 +1 @@
1
- {"version":3,"file":"fork.d.ts","sourceRoot":"","sources":["../../src/providers/fork.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fork.d.ts","sourceRoot":"","sources":["../../src/providers/fork.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,WAAW,CAAC;AAEvD,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG,SAAS,GAAG,YAAY,GAAG,eAAe,CAAC;AAEvF,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,aAAa,CAAC;IACnB,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,UAAU,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAAE,GAC7F;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEN,MAAM,MAAM,wBAAwB,GAAG;IACrC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,WAAW,WAAW;IAC1B,WAAW,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACvE,cAAc,CACZ,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,WAAW,CAAC,CAAC;IACxB,iBAAiB,CACf,OAAO,EAAE,WAAW,EACpB,IAAI,CAAC,EAAE,wBAAwB,GAC9B,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC/B,YAAY,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IAC5C,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;IAChD,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;CAC3C;AAED,eAAO,MAAM,wBAAwB,iFAC2C,CAAC"}
@@ -5,4 +5,7 @@ export declare function providerEfforts(p: DriverName, model?: string): readonly
5
5
  export declare function defaultEffort(p: DriverName): string;
6
6
  export declare function isKnownModel(p: DriverName, m: string): boolean;
7
7
  export declare function isKnownEffort(p: DriverName, e: string, model?: string): boolean;
8
+ export declare function subagentModels(p: DriverName): readonly string[];
9
+ export declare function defaultSubagentModel(p: DriverName): string;
10
+ export declare function isKnownSubagentModel(p: DriverName, m: string): boolean;
8
11
  //# sourceMappingURL=option-catalog.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"option-catalog.d.ts","sourceRoot":"","sources":["../../src/providers/option-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAInD,wBAAgB,cAAc,CAAC,CAAC,EAAE,UAAU,GAAG,SAAS,MAAM,EAAE,CAE/D;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,CAElD;AAED,wBAAgB,eAAe,CAC7B,CAAC,EAAE,UAAU,EACb,KAAK,CAAC,EAAE,MAAM,GACb,SAAS,MAAM,EAAE,CAEnB;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,CAEnD;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAE9D;AAED,wBAAgB,aAAa,CAC3B,CAAC,EAAE,UAAU,EACb,CAAC,EAAE,MAAM,EACT,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAET"}
1
+ {"version":3,"file":"option-catalog.d.ts","sourceRoot":"","sources":["../../src/providers/option-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAInD,wBAAgB,cAAc,CAAC,CAAC,EAAE,UAAU,GAAG,SAAS,MAAM,EAAE,CAE/D;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,CAElD;AAED,wBAAgB,eAAe,CAC7B,CAAC,EAAE,UAAU,EACb,KAAK,CAAC,EAAE,MAAM,GACb,SAAS,MAAM,EAAE,CAEnB;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,CAEnD;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAE9D;AAED,wBAAgB,aAAa,CAC3B,CAAC,EAAE,UAAU,EACb,CAAC,EAAE,MAAM,EACT,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAET;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,UAAU,GAAG,SAAS,MAAM,EAAE,CAE/D;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,CAE1D;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAEtE"}
@@ -17,6 +17,15 @@ export function isKnownModel(p, m) {
17
17
  export function isKnownEffort(p, e, model) {
18
18
  return resolveOptions(p)?.isKnownEffort(e, model) ?? false;
19
19
  }
20
+ export function subagentModels(p) {
21
+ return resolveSubagentOptions(p)?.models() ?? [];
22
+ }
23
+ export function defaultSubagentModel(p) {
24
+ return resolveSubagentOptions(p)?.defaultModel() ?? "";
25
+ }
26
+ export function isKnownSubagentModel(p, m) {
27
+ return resolveSubagentOptions(p)?.isKnownModel(m) ?? false;
28
+ }
20
29
  function resolveOptions(p) {
21
30
  try {
22
31
  return resolveProvider(p).options;
@@ -25,4 +34,12 @@ function resolveOptions(p) {
25
34
  return undefined;
26
35
  }
27
36
  }
37
+ function resolveSubagentOptions(p) {
38
+ try {
39
+ return resolveProvider(p).subagentOptions;
40
+ }
41
+ catch {
42
+ return undefined;
43
+ }
44
+ }
28
45
  //# sourceMappingURL=option-catalog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"option-catalog.js","sourceRoot":"","sources":["../../src/providers/option-catalog.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,MAAM,UAAU,cAAc,CAAC,CAAa;IAC1C,OAAO,cAAc,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,CAAa;IACxC,OAAO,cAAc,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,CAAa,EACb,KAAc;IAEd,OAAO,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,CAAa;IACzC,OAAO,cAAc,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,CAAa,EAAE,CAAS;IACnD,OAAO,cAAc,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,CAAa,EACb,CAAS,EACT,KAAc;IAEd,OAAO,cAAc,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC;AAC7D,CAAC;AAED,SAAS,cAAc,CAAC,CAAa;IACnC,IAAI,CAAC;QACH,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"option-catalog.js","sourceRoot":"","sources":["../../src/providers/option-catalog.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,MAAM,UAAU,cAAc,CAAC,CAAa;IAC1C,OAAO,cAAc,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,CAAa;IACxC,OAAO,cAAc,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,CAAa,EACb,KAAc;IAEd,OAAO,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,CAAa;IACzC,OAAO,cAAc,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,CAAa,EAAE,CAAS;IACnD,OAAO,cAAc,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,CAAa,EACb,CAAS,EACT,KAAc;IAEd,OAAO,cAAc,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,CAAa;IAC1C,OAAO,sBAAsB,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,CAAa;IAChD,OAAO,sBAAsB,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,CAAa,EAAE,CAAS;IAC3D,OAAO,sBAAsB,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;AAC7D,CAAC;AAED,SAAS,cAAc,CAAC,CAAa;IACnC,IAAI,CAAC;QACH,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,CAAa;IAC3C,IAAI,CAAC;QACH,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
@@ -63,12 +63,29 @@ export interface OptionCatalog {
63
63
  isKnownModel(model: string): boolean;
64
64
  isKnownEffort(effort: string, model?: string): boolean;
65
65
  }
66
+ export interface SubagentOptionCatalog {
67
+ models(): readonly string[];
68
+ defaultModel(): string;
69
+ isKnownModel(model: string): boolean;
70
+ }
66
71
  export type ForkSubmitFloorPolicy = {
67
72
  from: "source";
68
73
  } | {
69
74
  from: "fork-file";
70
75
  offset: number;
71
76
  };
77
+ export type SimplifierPromptMode = "initial" | "pushback" | "reviewer-revision" | "user-feedback";
78
+ export interface SimplifierPromptOptions {
79
+ mode: SimplifierPromptMode;
80
+ resume?: boolean;
81
+ outputPlanFile: string;
82
+ scopeLabel: string;
83
+ subagentModel?: string;
84
+ diffFile?: string;
85
+ guidance?: string;
86
+ feedbackFile?: string;
87
+ previousPlanFile?: string;
88
+ }
72
89
  /**
73
90
  * Post-spawn plan-mode entry mechanism for providers whose CLI has no
74
91
  * equivalent flag or slash-command for entering plan mode.
@@ -225,6 +242,10 @@ export interface ProviderStrategy {
225
242
  readonly fork: ForkHandler;
226
243
  /** Provider-owned model/effort catalog. */
227
244
  readonly options: OptionCatalog;
245
+ /** Provider-owned model catalog for simplifier subagents. */
246
+ readonly subagentOptions: SubagentOptionCatalog;
247
+ /** Provider-owned subagent type name used inside simplifier prompts. */
248
+ readonly simplifierSubagentType: string;
228
249
  /** Submit floor policy for fork turn tracking. */
229
250
  readonly forkSubmitFloor: ForkSubmitFloorPolicy;
230
251
  /**
@@ -238,7 +259,7 @@ export interface ProviderStrategy {
238
259
  /** Ensure the provider trusts this workdir, if the provider has a trust store. */
239
260
  ensureTrust(workdir: string): Promise<void>;
240
261
  /** Build the provider-owned simplifier prompt. */
241
- simplifierPrompt(outputPlanFile: string): string;
262
+ simplifierPrompt(opts: SimplifierPromptOptions): string;
242
263
  /** Create a new CompletionDetector for this provider. */
243
264
  createDetector(opts?: CompletionDetectorOptions): CompletionDetector;
244
265
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/providers/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/providers/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/providers/types.ts"],"names":[],"mappings":"AAiIA,mEAAmE;AACnE,MAAM,UAAU,MAAM,CAAC,SAA8B,EAAE,IAAY;IACjE,OAAO,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC3C,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/providers/types.ts"],"names":[],"mappings":"AAyJA,mEAAmE;AACnE,MAAM,UAAU,MAAM,CAAC,SAA8B,EAAE,IAAY;IACjE,OAAO,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC3C,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { FlowParamValues, FlowTemplate } from "./flow/types.js";
2
+ import { type SimplifyScope } from "./git-info.js";
3
+ export type SimplifyScopeGateResult = {
4
+ diff: string;
5
+ } | {
6
+ fallback: true;
7
+ };
8
+ export declare function resolveSimplifyScopeGate(cwd: string, scope: SimplifyScope): Promise<SimplifyScopeGateResult>;
9
+ export declare function ensureSimplifyPreconditions(template: FlowTemplate, values: FlowParamValues, cwd: string): Promise<SimplifyScopeGateResult | undefined>;
10
+ //# sourceMappingURL=simplify-scope-gate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simplify-scope-gate.d.ts","sourceRoot":"","sources":["../src/simplify-scope-gate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAWL,KAAK,aAAa,EACnB,MAAM,eAAe,CAAC;AAEvB,MAAM,MAAM,uBAAuB,GAC/B;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,QAAQ,EAAE,IAAI,CAAA;CAAE,CAAC;AAEvB,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,aAAa,GACnB,OAAO,CAAC,uBAAuB,CAAC,CAgClC;AAED,wBAAsB,2BAA2B,CAC/C,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE,eAAe,EACvB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC,CAW9C"}
@@ -0,0 +1,60 @@
1
+ import { branchDiff, detectDefaultBranch, diffHead, hasCommit, hasParentCommit, isGitInstalled, isRepo, isSimplifyScope, isWorkingTreeClean, lastCommitDiff, } from "./git-info.js";
2
+ export async function resolveSimplifyScopeGate(cwd, scope) {
3
+ if (scope === "codebase")
4
+ return { fallback: true };
5
+ if (!await isGitInstalled(cwd)) {
6
+ throw new Error("git is not installed or not on PATH.");
7
+ }
8
+ if (!await isRepo(cwd)) {
9
+ throw new Error("the selected scope requires a git repository.");
10
+ }
11
+ if (scope === "lastcommit") {
12
+ return resolveLastCommitScope(cwd);
13
+ }
14
+ let defaultBranch;
15
+ if (scope === "branch") {
16
+ defaultBranch = await detectDefaultBranch(cwd);
17
+ if (!defaultBranch) {
18
+ throw new Error("could not determine the default branch (tried origin/HEAD, main, and master).");
19
+ }
20
+ }
21
+ const diff = scope === "uncommitted"
22
+ ? await diffHead(cwd)
23
+ : await branchDiff(cwd, defaultBranch);
24
+ if (!diff?.trim()) {
25
+ const label = scope === "branch" ? "current branch" : "uncommitted changes";
26
+ throw new Error(`${label} scope has no diff. Choose another scope or make changes first.`);
27
+ }
28
+ return { diff };
29
+ }
30
+ export async function ensureSimplifyPreconditions(template, values, cwd) {
31
+ if (template.name !== "simplify")
32
+ return undefined;
33
+ const scope = values.scope;
34
+ if (!isSimplifyScope(scope) || scope === "codebase")
35
+ return undefined;
36
+ try {
37
+ return await resolveSimplifyScopeGate(cwd, scope);
38
+ }
39
+ catch (err) {
40
+ const message = err instanceof Error ? err.message : String(err);
41
+ throw new Error(`Cannot start simplify: ${message}`);
42
+ }
43
+ }
44
+ async function resolveLastCommitScope(cwd) {
45
+ if (!await isWorkingTreeClean(cwd)) {
46
+ throw new Error("Last commit scope requires a clean working tree. Commit, stash, or discard changes first.");
47
+ }
48
+ if (!await hasCommit(cwd)) {
49
+ throw new Error("Last commit scope requires at least one commit. Make an initial commit or choose another scope.");
50
+ }
51
+ if (!await hasParentCommit(cwd)) {
52
+ return { fallback: true };
53
+ }
54
+ const diff = await lastCommitDiff(cwd);
55
+ if (!diff.trim()) {
56
+ throw new Error("Last commit scope has no diff. Choose another scope or make changes first.");
57
+ }
58
+ return { diff };
59
+ }
60
+ //# sourceMappingURL=simplify-scope-gate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simplify-scope-gate.js","sourceRoot":"","sources":["../src/simplify-scope-gate.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,11 @@ export interface TaskEditor {
19
19
  cursorCol: number;
20
20
  scrollOffset: number;
21
21
  }
22
+ interface WorkflowSnapshot {
23
+ memorableValues: Record<string, FlowParamValue | undefined>;
24
+ yolo: boolean;
25
+ driverMemory: DriverMemory;
26
+ }
22
27
  export interface TuiState {
23
28
  zone: FocusZone;
24
29
  fields: ConfigField[];
@@ -31,8 +36,11 @@ export interface TuiState {
31
36
  flowSectionHeight: number;
32
37
  templateIndex: number;
33
38
  taskRequired: boolean;
39
+ taskOptional: boolean;
40
+ taskAutoHide: boolean;
34
41
  updateBanner: UpdateInfo | null;
35
- paramDefaultsSources?: Array<Record<string, FlowParamValue | undefined>>;
42
+ configContext?: StartupTuiContext;
43
+ workflowSnapshots: Map<string, WorkflowSnapshot>;
36
44
  driverMemory: DriverMemory;
37
45
  attachments: AttachmentManager;
38
46
  transientHint: string | null;
@@ -44,6 +52,7 @@ export interface StartupTuiContext {
44
52
  fileConfig?: ConfigFile;
45
53
  userConfig?: ConfigFile;
46
54
  }
55
+ export declare function taskVisible(state: TuiState): boolean;
47
56
  export declare function buildInitialState(defaults: Partial<CliOptions>, rows: number, cols: number, gitInfo?: GitInfo | null, ctx?: StartupTuiContext, updateInfo?: UpdateInfo | null): TuiState;
48
57
  /** Compute available editor height. */
49
58
  export declare function editorHeight(state: TuiState, rowCount?: number): number;
@@ -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,6 +1,6 @@
1
1
  import { homedir } from "node:os";
2
2
  import { join } from "node:path";
3
- import { mergeDriverMemory } from "./config.js";
3
+ import { DEFAULT_WORKFLOW, mergeDriverMemory, resolveWorkflowConfig, resolveYolo, } from "./config.js";
4
4
  import { flowReadsTask } from "./flow/inspect.js";
5
5
  import { resolveFlowParams } from "./flow/params.js";
6
6
  import { createKeyEventSource } from "./terminal/key-event-source.js";
@@ -28,19 +28,23 @@ export function setInstalledAgents(set) {
28
28
  setInstalledAgentsForPreview(set);
29
29
  }
30
30
  export { EmacsInputParser };
31
- function collectParamDefaultSources(ctx) {
32
- const sources = [];
33
- if (ctx?.fileConfig)
34
- sources.push(ctx.fileConfig);
35
- if (ctx?.userConfig)
36
- sources.push(ctx.userConfig);
37
- return sources;
31
+ function workflowGroups(ctx, workflowName) {
32
+ return {
33
+ fileGroup: resolveWorkflowConfig(ctx?.fileConfig, workflowName),
34
+ userGroup: resolveWorkflowConfig(ctx?.userConfig, workflowName),
35
+ };
38
36
  }
39
- function fileConfigDriverMemory(ctx) {
40
- return ctx?.fileConfig?.driverMemory;
37
+ function workflowParamSources(ctx, workflowName) {
38
+ const { fileGroup, userGroup } = workflowGroups(ctx, workflowName);
39
+ return [fileGroup, userGroup];
41
40
  }
42
- function userConfigDriverMemory(ctx) {
43
- return ctx?.userConfig?.driverMemory;
41
+ function workflowDriverMemory(ctx, workflowName) {
42
+ const { fileGroup, userGroup } = workflowGroups(ctx, workflowName);
43
+ return mergeDriverMemory(userGroup.driverMemory, fileGroup.driverMemory);
44
+ }
45
+ function workflowYolo(ctx, workflowName) {
46
+ const { fileGroup, userGroup } = workflowGroups(ctx, workflowName);
47
+ return resolveYolo(fileGroup, userGroup);
44
48
  }
45
49
  function snapshotGroupToMemory(memory, group) {
46
50
  const provider = group.children[0].value;
@@ -56,6 +60,43 @@ function snapshotAllGroupsToMemory(state) {
56
60
  snapshotGroupToMemory(state.driverMemory, field);
57
61
  }
58
62
  }
63
+ function fieldValue(state, key) {
64
+ const field = findFieldByKey(state.fields, key);
65
+ return field?.value;
66
+ }
67
+ function currentYolo(state) {
68
+ return fieldValue(state, "yolo") ?? true;
69
+ }
70
+ function snapshotMemorableValues(state, template) {
71
+ const values = {};
72
+ for (const param of template.params) {
73
+ if (param.type === "boolean" && param.memorable === false)
74
+ continue;
75
+ const value = fieldValue(state, param.key);
76
+ if (value !== undefined)
77
+ values[param.key] = value;
78
+ }
79
+ return values;
80
+ }
81
+ function saveWorkflowSnapshot(state, template) {
82
+ snapshotAllGroupsToMemory(state);
83
+ state.workflowSnapshots.set(template.name, {
84
+ memorableValues: snapshotMemorableValues(state, template),
85
+ yolo: currentYolo(state),
86
+ driverMemory: mergeDriverMemory(state.driverMemory),
87
+ });
88
+ }
89
+ function omitNonMemorableValues(template, source) {
90
+ const result = {};
91
+ for (const param of template.params) {
92
+ if (param.type === "boolean" && param.memorable === false)
93
+ continue;
94
+ const value = source[param.key];
95
+ if (value !== undefined)
96
+ result[param.key] = value;
97
+ }
98
+ return result;
99
+ }
59
100
  // ─── Constants ───────────────────────────────────────────────────────────
60
101
  function headerRows(state, cols) {
61
102
  return shouldShowBanner(state.updateBanner, cols) ? 3 : 2;
@@ -76,6 +117,16 @@ function getActiveTemplate(state) {
76
117
  ensureTemplates();
77
118
  return flowTemplates[state.templateIndex];
78
119
  }
120
+ function getTaskInput(template) {
121
+ return template.taskInput ?? {};
122
+ }
123
+ function editorHasText(state) {
124
+ return state.editor.lines.join("\n").trim().length > 0;
125
+ }
126
+ export function taskVisible(state) {
127
+ return state.taskRequired &&
128
+ (!state.taskAutoHide || state.zone === "editor" || editorHasText(state));
129
+ }
79
130
  function buildOriginOpts(state) {
80
131
  const isBuiltin = state.templateIndex < flowBuiltinCount;
81
132
  return {
@@ -121,8 +172,12 @@ function computeTaskRequired(state) {
121
172
  }
122
173
  }
123
174
  function refreshTaskRequired(state) {
175
+ const template = getActiveTemplate(state);
176
+ const taskInput = getTaskInput(template);
124
177
  state.taskRequired = computeTaskRequired(state);
125
- if (!state.taskRequired && state.zone === "editor") {
178
+ state.taskOptional = !!taskInput.optional;
179
+ state.taskAutoHide = !!taskInput.autoHide;
180
+ if ((!state.taskRequired || (state.taskAutoHide && !editorHasText(state))) && state.zone === "editor") {
126
181
  state.zone = "config";
127
182
  }
128
183
  }
@@ -143,11 +198,19 @@ function buildFieldsWithToggles(template, defaults, existingFields) {
143
198
  export function buildInitialState(defaults, rows, cols, gitInfo, ctx, updateInfo) {
144
199
  ensureTemplates();
145
200
  // Resolve template index from defaults
146
- const templateIndex = flowTemplates.findIndex(t => t.name === defaults.workflow);
201
+ const initialWorkflowName = String(defaults.workflow ?? DEFAULT_WORKFLOW);
202
+ const templateIndex = flowTemplates.findIndex(t => t.name === initialWorkflowName);
147
203
  const template = flowTemplates[templateIndex < 0 ? 0 : templateIndex];
148
- const fields = buildFieldsWithToggles(template, defaults);
204
+ const driverMemory = workflowDriverMemory(ctx, template.name);
205
+ const defaultSource = defaults;
206
+ const persistedSources = workflowParamSources(ctx, template.name).map((source) => omitNonMemorableValues(template, source));
207
+ const resolvedDefaults = resolveFlowParams(template.params, [defaultSource, ...persistedSources], { driverMemory });
208
+ const initialYolo = defaults.yolo ?? workflowYolo(ctx, template.name);
209
+ const fields = buildFieldsWithToggles(template, {
210
+ ...resolvedDefaults,
211
+ yolo: initialYolo,
212
+ });
149
213
  recomputeHiddenFlags(fields, template.params);
150
- const driverMemory = mergeDriverMemory(userConfigDriverMemory(ctx), fileConfigDriverMemory(ctx));
151
214
  const taskLines = defaults.task ? defaults.task.split("\n") : [""];
152
215
  const state = {
153
216
  zone: "editor",
@@ -166,8 +229,11 @@ export function buildInitialState(defaults, rows, cols, gitInfo, ctx, updateInfo
166
229
  flowSectionHeight: 0,
167
230
  templateIndex: Math.max(0, templateIndex),
168
231
  taskRequired: true,
232
+ taskOptional: !!getTaskInput(template).optional,
233
+ taskAutoHide: !!getTaskInput(template).autoHide,
169
234
  updateBanner: updateInfo ?? null,
170
- paramDefaultsSources: collectParamDefaultSources(ctx),
235
+ configContext: ctx,
236
+ workflowSnapshots: new Map(),
171
237
  driverMemory,
172
238
  attachments: new AttachmentManager(),
173
239
  transientHint: null,
@@ -175,7 +241,7 @@ export function buildInitialState(defaults, rows, cols, gitInfo, ctx, updateInfo
175
241
  snapshotAllGroupsToMemory(state);
176
242
  clampConfigIndexToVisible(state);
177
243
  state.taskRequired = computeTaskRequired(state);
178
- if (!state.taskRequired) {
244
+ if (!state.taskRequired || (state.taskAutoHide && !editorHasText(state))) {
179
245
  state.zone = "config";
180
246
  }
181
247
  initFlowHeight(state);
@@ -183,7 +249,7 @@ export function buildInitialState(defaults, rows, cols, gitInfo, ctx, updateInfo
183
249
  }
184
250
  /** Compute available editor height. */
185
251
  export function editorHeight(state, rowCount) {
186
- if (!state.taskRequired)
252
+ if (!taskVisible(state))
187
253
  return 0;
188
254
  const used = headerRows(state, state.termCols) +
189
255
  (rowCount ?? configRowCount(state.fields)) +
@@ -198,7 +264,7 @@ function shouldShowDiagram(state, fullFlowHeight) {
198
264
  configRowCount(state.fields) +
199
265
  fullFlowHeight +
200
266
  FOOTER_LINE_ROWS;
201
- if (state.taskRequired) {
267
+ if (taskVisible(state)) {
202
268
  needed += FLOW_TASK_SEPARATOR_ROWS + TASK_LABEL_ROWS + EDITOR_MIN_ROWS;
203
269
  }
204
270
  return needed <= state.termRows;
@@ -227,21 +293,29 @@ export function render(state, out) {
227
293
  });
228
294
  lines.push(...flowSection.lines);
229
295
  state.flowSectionHeight = flowSection.flowSectionHeight;
230
- if (state.taskRequired) {
296
+ const showTask = taskVisible(state);
297
+ if (showTask) {
231
298
  // Separator between flow and task
232
299
  lines.push(pad(` ${"━".repeat(Math.max(0, cols - 4))}`));
233
300
  // Task label
301
+ const taskInput = getTaskInput(template);
302
+ const taskLabelText = taskInput.label ?? "Task";
234
303
  const taskLabel = state.flashTask
235
- ? `${red}${bold} Task:${reset}`
304
+ ? `${red}${bold} ${taskLabelText}:${reset}`
236
305
  : state.zone === "editor"
237
- ? `${bold} Task:${reset}`
238
- : `${dim} Task:${reset}`;
306
+ ? `${bold} ${taskLabelText}:${reset}`
307
+ : `${dim} ${taskLabelText}:${reset}`;
239
308
  lines.push(pad(taskLabel));
240
309
  // Task editor
241
310
  const rowCount = configRowCount(state.fields);
242
311
  const edH = editorHeight(state, rowCount);
243
312
  lines.push(...renderEditorLines(state.editor, edH, state.zone === "editor", cols));
244
313
  }
314
+ else {
315
+ const footerRow = Math.max(0, state.termRows - FOOTER_ROWS - 1);
316
+ while (lines.length < footerRow)
317
+ lines.push(pad(""));
318
+ }
245
319
  // Footer
246
320
  let footer;
247
321
  const transientHint = state.transientHint
@@ -266,14 +340,14 @@ export function render(state, out) {
266
340
  ? ` · ${dim}Ctrl+←→${reset} Effort · ${dim}Ctrl+↑↓${reset} Model`
267
341
  : "";
268
342
  const workflowSeg = workflowHint ? ` · ${workflowHint.trimStart()}` : "";
269
- if (!state.taskRequired) {
270
- footer = ` ${dim}↑↓${reset} Navigate · ${dim}← →${reset} Adjust${typeHint}${expandHint}${chordHint}${closeHint}${workflowSeg} · ${dim}Ctrl+D${reset} Start · ${dim}Ctrl+C${reset} Quit${transientHint}`;
271
- }
272
- else if (state.zone === "editor") {
343
+ if (showTask && state.zone === "editor") {
273
344
  footer = ` ${dim}Tab${reset} Config${workflowSeg} · ${dim}Ctrl+J${reset} Newline · ${dim}Ctrl+D${reset} Start · ${dim}Ctrl+C${reset} Quit · ${imagePasteHint}${transientHint}`;
274
345
  }
275
346
  else {
276
- const taskSwitchPrefix = somethingExpanded ? "" : `${dim}Tab/Esc${reset} Task · `;
347
+ const taskSwitchLabel = state.taskAutoHide ? "Guidance" : "Task";
348
+ const taskSwitchPrefix = state.taskRequired && !somethingExpanded
349
+ ? `${dim}Tab/Esc${reset} ${taskSwitchLabel} · `
350
+ : "";
277
351
  footer = ` ${taskSwitchPrefix}${dim}↑↓${reset} Navigate · ${dim}← →${reset} Adjust${typeHint}${expandHint}${chordHint}${closeHint}${workflowSeg} · ${dim}Ctrl+D${reset} Start · ${dim}Ctrl+C${reset} Quit${transientHint}`;
278
352
  }
279
353
  lines.push(pad(footer));
@@ -342,7 +416,7 @@ export function handleEvent(state, event) {
342
416
  if (event.type === "ctrl-c")
343
417
  return "cancel";
344
418
  if (event.type === "ctrl-d") {
345
- if (state.taskRequired) {
419
+ if (state.taskRequired && !state.taskOptional) {
346
420
  const taskText = state.editor.lines.join("\n").trim();
347
421
  if (!taskText) {
348
422
  state.flashTask = true;
@@ -353,10 +427,23 @@ export function handleEvent(state, event) {
353
427
  return "start";
354
428
  }
355
429
  if (event.type === "shift-tab") {
430
+ const currentTemplate = getActiveTemplate(state);
431
+ saveWorkflowSnapshot(state, currentTemplate);
356
432
  state.templateIndex = (state.templateIndex + 1) % flowTemplates.length;
357
433
  const newTemplate = flowTemplates[state.templateIndex];
358
- const resolved = resolveFlowParams(newTemplate.params, state.paramDefaultsSources ?? [], { driverMemory: state.driverMemory, resetNonMemorable: true });
359
- state.fields = buildFieldsWithToggles(newTemplate, resolved, state.fields);
434
+ const snapshot = state.workflowSnapshots.get(newTemplate.name);
435
+ const driverMemory = snapshot
436
+ ? mergeDriverMemory(snapshot.driverMemory)
437
+ : workflowDriverMemory(state.configContext, newTemplate.name);
438
+ const sources = snapshot
439
+ ? [snapshot.memorableValues]
440
+ : workflowParamSources(state.configContext, newTemplate.name);
441
+ const resolved = resolveFlowParams(newTemplate.params, sources, { driverMemory, resetNonMemorable: true });
442
+ state.driverMemory = driverMemory;
443
+ state.fields = buildFieldsWithToggles(newTemplate, {
444
+ ...resolved,
445
+ yolo: snapshot?.yolo ?? workflowYolo(state.configContext, newTemplate.name),
446
+ });
360
447
  snapshotAllGroupsToMemory(state);
361
448
  recomputeHiddenFlags(state.fields, newTemplate.params);
362
449
  clampConfigIndexToVisible(state);
@@ -406,7 +493,7 @@ function handleEditorEvent(state, event) {
406
493
  return "handled";
407
494
  }
408
495
  function adjustScroll(state) {
409
- if (!state.taskRequired)
496
+ if (!taskVisible(state))
410
497
  return;
411
498
  const ed = state.editor;
412
499
  const height = editorHeight(state);
@@ -427,11 +514,20 @@ function adjustScroll(state) {
427
514
  }
428
515
  function handleConfigEvent(state, event) {
429
516
  const field = state.fields[state.configIndex];
517
+ const providerBefore = field.kind === "group" ? field.value : undefined;
430
518
  const wasEditing = field.kind === "number" && field.editing;
431
519
  const consumed = handleFieldEvent(state.fields, state.configIndex, event, state.driverMemory);
432
520
  if (field.kind === "group") {
433
521
  snapshotGroupToMemory(state.driverMemory, field);
434
522
  }
523
+ if (consumed && field.kind === "group" && providerBefore !== field.value) {
524
+ const template = getActiveTemplate(state);
525
+ const focusKey = field.key;
526
+ state.fields = buildFieldsWithToggles(template, buildCliOptions(state), state.fields);
527
+ const rebuiltIndex = state.fields.findIndex((candidate) => candidate.key === focusKey);
528
+ if (rebuiltIndex >= 0)
529
+ state.configIndex = rebuiltIndex;
530
+ }
435
531
  if (!consumed) {
436
532
  switch (event.type) {
437
533
  case "arrow":
@@ -539,7 +635,7 @@ export async function inputLoop(state, opts = {}) {
539
635
  for (const event of parser.mapKeys(keys)) {
540
636
  noteFocus(focusKeyFor(state));
541
637
  if (event.type === "paste") {
542
- if (state.taskRequired && state.zone === "editor") {
638
+ if (taskVisible(state) && state.zone === "editor") {
543
639
  if (state.transientHint)
544
640
  state.transientHint = null;
545
641
  launchEditorPaste(handleBracketedPaste(event.content, state.attachments));
@@ -552,7 +648,7 @@ export async function inputLoop(state, opts = {}) {
552
648
  continue;
553
649
  }
554
650
  if (event.type === "image-paste") {
555
- if (state.taskRequired && state.zone === "editor") {
651
+ if (taskVisible(state) && state.zone === "editor") {
556
652
  if (state.transientHint)
557
653
  state.transientHint = null;
558
654
  launchEditorPaste(handleImagePasteIntent(state.attachments, () => {