yaaw-se 0.3.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,159 +1,369 @@
1
1
  import * as p from "@clack/prompts";
2
2
  import { defaultCodexRuntimeSettings, normalizeCodexRuntimeSettings } from "../integrations/codex-runtime.js";
3
- import { CODEX_CONFIGURATION_REVISION, codexModels, getCodexModel, recommendedCodexProfile } from "../integrations/codex-catalog.js";
4
- async function optionalText(message, current) {
5
- const result = await p.text({ message, placeholder: current ?? "inherit", defaultValue: current ?? "" });
3
+ import { CODEX_CONFIGURATION_REVISION, codexModels, codexReasoningEfforts, getCodexModel, recommendedCodexProfile } from "../integrations/codex-catalog.js";
4
+ import { navigationBack, navigationCancel, navigationValue } from "./navigation.js";
5
+ function displayReasoning(value) {
6
+ if (!value)
7
+ return "Inherit";
8
+ if (value === "xhigh")
9
+ return "Extra high";
10
+ if (value === "max")
11
+ return "Max";
12
+ return value[0].toUpperCase() + value.slice(1);
13
+ }
14
+ function pairSummary(pair) {
15
+ return `${pair.model ?? "Inherit"} / ${displayReasoning(pair.reasoning)}`;
16
+ }
17
+ function profile(id) {
18
+ return { id, revision: CODEX_CONFIGURATION_REVISION };
19
+ }
20
+ function setupInitialValue(currentProfile) {
21
+ const id = currentProfile?.id;
22
+ if (id === "recommended" || id === "inherit" || id === "inline" || id === "custom")
23
+ return id;
24
+ return id ? "custom" : "recommended";
25
+ }
26
+ async function textValue(message, current) {
27
+ const result = await p.text({
28
+ message,
29
+ placeholder: current ?? "inherit",
30
+ defaultValue: current ?? ""
31
+ });
6
32
  if (p.isCancel(result))
7
- return current;
8
- const value = String(result).trim();
9
- return value ? value : null;
33
+ return navigationBack();
34
+ const trimmed = String(result).trim();
35
+ return navigationValue(trimmed ? trimmed : null);
10
36
  }
11
37
  async function reasoningPicker(label, model, current) {
12
- if (!model)
13
- return null;
14
38
  const known = getCodexModel(model);
15
- const values = known?.reasoningEfforts ?? ["low", "medium", "high", "xhigh"];
39
+ const values = known?.reasoningEfforts ?? [...codexReasoningEfforts];
16
40
  const result = await p.select({
17
41
  message: `${label} reasoning effort`,
18
42
  initialValue: current ?? "inherit",
19
43
  options: [
20
- ...values.map(value => ({ value, label: value === "xhigh" ? "Extra high" : value[0].toUpperCase() + value.slice(1) })),
21
- { value: "inherit", label: "Inherit" }
44
+ ...values.map(value => ({
45
+ value,
46
+ label: displayReasoning(value)
47
+ })),
48
+ { value: "inherit", label: "Inherit" },
49
+ { value: "back", label: "← Back" }
22
50
  ]
23
51
  });
24
- if (p.isCancel(result) || result === "inherit")
25
- return null;
26
- return String(result);
52
+ if (p.isCancel(result) || result === "back")
53
+ return navigationBack();
54
+ return navigationValue(result === "inherit" ? null : String(result));
27
55
  }
28
56
  async function modelPair(label, current) {
29
- const result = await p.select({
30
- message: `${label} model`,
31
- initialValue: current.model ?? "inherit",
32
- options: [
33
- ...codexModels.map(model => ({ value: model.id, label: model.label, hint: model.description })),
34
- { value: "inherit", label: "Inherit", hint: "Use the parent/default Codex model" },
35
- { value: "custom", label: "Custom model ID…", hint: "Enter a model not known to this YAAW release" }
36
- ]
37
- });
38
- if (p.isCancel(result))
39
- return current;
40
- let model;
41
- if (result === "inherit")
42
- model = null;
43
- else if (result === "custom")
44
- model = await optionalText(`${label} custom model ID`, current.model);
45
- else
46
- model = String(result);
47
- return { model, reasoning: await reasoningPicker(label, model, current.reasoning) };
48
- }
49
- function profile(id) {
50
- return { id, revision: CODEX_CONFIGURATION_REVISION };
57
+ const draft = structuredClone(current);
58
+ while (true) {
59
+ const result = await p.select({
60
+ message: `${label} model`,
61
+ initialValue: draft.model ?? "inherit",
62
+ options: [
63
+ ...codexModels.map(model => ({ value: model.id, label: model.label, hint: model.description })),
64
+ { value: "inherit", label: "Inherit", hint: "Use the parent/default Codex model" },
65
+ { value: "custom", label: "Custom model ID…", hint: "Enter a model not known to this YAAW release" },
66
+ { value: "back", label: "← Back" }
67
+ ]
68
+ });
69
+ if (p.isCancel(result) || result === "back")
70
+ return navigationBack();
71
+ if (result === "inherit") {
72
+ draft.model = null;
73
+ }
74
+ else if (result === "custom") {
75
+ const custom = await textValue(`${label} custom model ID`, draft.model);
76
+ if (custom.kind !== "value")
77
+ continue;
78
+ draft.model = custom.value;
79
+ }
80
+ else {
81
+ draft.model = String(result);
82
+ }
83
+ const reasoning = await reasoningPicker(label, draft.model, draft.reasoning);
84
+ if (reasoning.kind === "back")
85
+ continue;
86
+ if (reasoning.kind === "cancel")
87
+ return navigationCancel();
88
+ draft.reasoning = reasoning.value;
89
+ return navigationValue(draft);
90
+ }
51
91
  }
52
92
  function recommendedNote(settings) {
53
93
  p.note([
54
- `Orchestrator ${settings.orchestrator.model} / ${settings.orchestrator.reasoning}`,
55
- `PRD ${settings.roles.prd.model} / ${settings.roles.prd.reasoning}`,
56
- `Planner ${settings.roles.planner.model} / ${settings.roles.planner.reasoning}`,
57
- `Implementer ${settings.roles.implementer.model} / ${settings.roles.implementer.reasoning}`,
58
- `Reviewer ${settings.roles.reviewer.model} / ${settings.roles.reviewer.reasoning}`,
59
- `Fallback ${settings.defaultWorker.model} / ${settings.defaultWorker.reasoning}`,
94
+ `Orchestrator ${pairSummary(settings.orchestrator)}`,
95
+ `PRD ${pairSummary(settings.roles.prd)}`,
96
+ `Planner ${pairSummary(settings.roles.planner)}`,
97
+ `Implementer ${pairSummary(settings.roles.implementer)}`,
98
+ `Reviewer ${pairSummary(settings.roles.reviewer)}`,
99
+ `Fallback ${pairSummary(settings.defaultWorker)}`,
60
100
  "",
61
101
  `Runtime ${settings.mode}`,
62
- `Agent threads ${settings.maxConcurrentThreads}`
102
+ `Agent threads ${settings.maxConcurrentThreads ?? "Inherit"}`
63
103
  ].join("\n"), "Recommended Codex profile");
64
104
  }
65
- export async function configureCodex(current, context) {
66
- const base = normalizeCodexRuntimeSettings(current ?? defaultCodexRuntimeSettings());
67
- const setup = await p.select({
68
- message: "How should YAAW configure Codex?",
69
- initialValue: context.currentProfile?.id === "inherit" ? "inherit" : context.currentProfile?.id === "inline" ? "inline" : "recommended",
70
- options: [
71
- { value: "recommended", label: "Recommended", hint: "YAAW-managed worker configuration with recommended models" },
72
- { value: "inherit", label: "Inherit Codex defaults", hint: "Keep model/reasoning selection outside YAAW" },
73
- { value: "custom", label: "Custom", hint: "Choose runtime, models, reasoning, and worker settings" },
74
- { value: "inline", label: "Inline only", hint: "Run authorities in the current session without worker spawning" }
75
- ]
76
- });
77
- if (p.isCancel(setup))
78
- return { settings: base, profile: context.currentProfile ?? null, cancelled: true };
79
- if (setup === "recommended") {
80
- const settings = structuredClone(recommendedCodexProfile().settings);
81
- recommendedNote(settings);
82
- return { settings, profile: profile("recommended") };
83
- }
84
- if (setup === "inherit") {
85
- const settings = defaultCodexRuntimeSettings();
86
- p.note(["Runtime workers will use YAAW authority isolation when available.", "Model and reasoning selection will inherit from Codex.", "", "You can configure explicit models later with:", " yaaw config codex"].join("\n"), "Codex configuration");
87
- return { settings, profile: profile("inherit") };
88
- }
89
- if (setup === "inline") {
90
- const settings = { ...defaultCodexRuntimeSettings(), mode: "inline" };
91
- p.note(["YAAW authority roles will execute in the current Codex session.", "YAAW will not spawn isolated authority workers.", "", "Durable project artifacts still remain the source of workflow state."].join("\n"), "Inline Codex execution");
92
- return { settings, profile: profile("inline") };
105
+ async function editAdvanced(settings) {
106
+ while (true) {
107
+ const choice = await p.select({
108
+ message: "Advanced Codex settings",
109
+ options: [
110
+ { value: "threads", label: `Concurrent agent threads ${settings.maxConcurrentThreads ?? "Inherit"}` },
111
+ { value: "sandbox", label: `Sandbox mode ${settings.sandboxMode ?? "Inherit"}` },
112
+ { value: "approval", label: `Approval policy ${settings.approvalPolicy ?? "Inherit"}` },
113
+ { value: "web", label: `Web search ${settings.webSearch ?? "Inherit"}` },
114
+ { value: "back", label: "← Back" }
115
+ ]
116
+ });
117
+ if (p.isCancel(choice) || choice === "back")
118
+ return;
119
+ if (choice === "threads") {
120
+ const result = await p.text({
121
+ message: "Concurrent agent threads (blank = inherit)",
122
+ placeholder: settings.maxConcurrentThreads === null ? "inherit" : String(settings.maxConcurrentThreads),
123
+ defaultValue: settings.maxConcurrentThreads === null ? "" : String(settings.maxConcurrentThreads)
124
+ });
125
+ if (p.isCancel(result))
126
+ continue;
127
+ const raw = String(result).trim();
128
+ if (!raw) {
129
+ settings.maxConcurrentThreads = null;
130
+ continue;
131
+ }
132
+ const value = Number(raw);
133
+ if (!Number.isInteger(value) || value < 1) {
134
+ p.note("Enter a positive integer, or leave blank to inherit.", "Invalid agent thread count");
135
+ continue;
136
+ }
137
+ settings.maxConcurrentThreads = value;
138
+ continue;
139
+ }
140
+ if (choice === "sandbox" || choice === "approval") {
141
+ const current = choice === "sandbox" ? settings.sandboxMode : settings.approvalPolicy;
142
+ const result = await textValue(choice === "sandbox" ? "Sandbox mode (blank = inherit)" : "Approval policy (blank = inherit)", current);
143
+ if (result.kind !== "value")
144
+ continue;
145
+ if (choice === "sandbox")
146
+ settings.sandboxMode = result.value;
147
+ else
148
+ settings.approvalPolicy = result.value;
149
+ continue;
150
+ }
151
+ if (choice === "web") {
152
+ const result = await p.select({
153
+ message: "Web search",
154
+ initialValue: settings.webSearch ?? "inherit",
155
+ options: [
156
+ { value: "inherit", label: "Inherit" },
157
+ { value: "disabled", label: "Disabled" },
158
+ { value: "cached", label: "Cached" },
159
+ { value: "indexed", label: "Indexed" },
160
+ { value: "live", label: "Live" },
161
+ { value: "back", label: "← Back" }
162
+ ]
163
+ });
164
+ if (p.isCancel(result) || result === "back")
165
+ continue;
166
+ settings.webSearch = result === "inherit" ? null : result;
167
+ }
93
168
  }
94
- const mode = await p.select({
95
- message: "YAAW Codex execution mode",
96
- initialValue: base.mode,
97
- options: [
98
- { value: "auto", label: "Auto", hint: "Named worker → generic worker → inline fallback" },
99
- { value: "isolated-required", label: "Require isolated workers", hint: "Block authority execution if isolation is unavailable" },
100
- { value: "inline", label: "Inline only", hint: "Do not spawn YAAW authority workers" }
101
- ]
102
- });
103
- if (p.isCancel(mode))
104
- return { settings: base, profile: context.currentProfile ?? null, cancelled: true };
105
- if (mode === "inline")
106
- return { settings: { ...base, mode: "inline" }, profile: profile("custom") };
107
- const strategy = await p.select({
108
- message: "How should models be assigned?",
109
- initialValue: "recommended",
110
- options: [
111
- { value: "recommended", label: "Recommended role profile", hint: "Use YAAW's recommended model/reasoning split" },
112
- { value: "shared", label: "One model for all workers", hint: "Choose a shared worker model" },
113
- { value: "roles", label: "Customize individual roles", hint: "Configure PRD, Planner, Implementer, and Reviewer separately" },
114
- { value: "inherit", label: "Inherit Codex defaults", hint: "Do not pin model IDs" }
115
- ]
116
- });
117
- if (p.isCancel(strategy))
118
- return { settings: base, profile: context.currentProfile ?? null, cancelled: true };
119
- let settings = normalizeCodexRuntimeSettings({ ...base, mode });
120
- if (strategy === "recommended")
121
- settings = normalizeCodexRuntimeSettings({ ...recommendedCodexProfile().settings, mode });
122
- else if (strategy === "inherit")
123
- settings = normalizeCodexRuntimeSettings({ ...defaultCodexRuntimeSettings(), mode });
124
- else if (strategy === "shared") {
125
- const pair = await modelPair("Shared worker", base.defaultWorker);
126
- settings = normalizeCodexRuntimeSettings({ ...settings, orchestrator: pair, defaultWorker: pair, roles: { prd: pair, planner: pair, implementer: pair, reviewer: pair } });
169
+ }
170
+ async function editRoleHub(settings) {
171
+ while (true) {
172
+ const choice = await p.select({
173
+ message: "Codex role configuration",
174
+ options: [
175
+ { value: "orchestrator", label: `Orchestrator ${pairSummary(settings.orchestrator)}` },
176
+ { value: "defaultWorker", label: `Default worker ${pairSummary(settings.defaultWorker)}` },
177
+ { value: "prd", label: `PRD ${pairSummary(settings.roles.prd)}` },
178
+ { value: "planner", label: `Planner ${pairSummary(settings.roles.planner)}` },
179
+ { value: "implementer", label: `Implementer ${pairSummary(settings.roles.implementer)}` },
180
+ { value: "reviewer", label: `Reviewer ${pairSummary(settings.roles.reviewer)}` },
181
+ { value: "advanced", label: "Advanced settings" },
182
+ { value: "review", label: "Review changes" },
183
+ { value: "back", label: "← Back" },
184
+ { value: "cancel", label: "Cancel configuration" }
185
+ ]
186
+ });
187
+ if (p.isCancel(choice) || choice === "back")
188
+ return navigationBack();
189
+ if (choice === "cancel")
190
+ return navigationCancel();
191
+ if (choice === "review")
192
+ return navigationValue(normalizeCodexRuntimeSettings(settings));
193
+ if (choice === "advanced") {
194
+ await editAdvanced(settings);
195
+ continue;
196
+ }
197
+ let current;
198
+ let label;
199
+ if (choice === "orchestrator") {
200
+ current = settings.orchestrator;
201
+ label = "Orchestrator";
202
+ }
203
+ else if (choice === "defaultWorker") {
204
+ current = settings.defaultWorker;
205
+ label = "Default fallback worker";
206
+ }
207
+ else {
208
+ current = settings.roles[choice];
209
+ label = String(choice)[0].toUpperCase() + String(choice).slice(1);
210
+ if (choice === "prd")
211
+ label = "PRD";
212
+ }
213
+ const edited = await modelPair(label, current);
214
+ if (edited.kind !== "value")
215
+ continue;
216
+ if (choice === "orchestrator")
217
+ settings.orchestrator = edited.value;
218
+ else if (choice === "defaultWorker")
219
+ settings.defaultWorker = edited.value;
220
+ else
221
+ settings.roles[choice] = edited.value;
127
222
  }
128
- else {
129
- settings = normalizeCodexRuntimeSettings({
130
- ...settings,
131
- orchestrator: await modelPair("Orchestrator", base.orchestrator),
132
- defaultWorker: await modelPair("Default fallback worker", base.defaultWorker),
133
- roles: {
134
- prd: await modelPair("PRD", base.roles.prd),
135
- planner: await modelPair("Planner", base.roles.planner),
136
- implementer: await modelPair("Implementer", base.roles.implementer),
137
- reviewer: await modelPair("Reviewer", base.roles.reviewer)
138
- }
223
+ }
224
+ function inheritPair() {
225
+ return { model: null, reasoning: null };
226
+ }
227
+ function assignRecommendedModels(settings) {
228
+ const recommended = recommendedCodexProfile().settings;
229
+ settings.orchestrator = structuredClone(recommended.orchestrator);
230
+ settings.defaultWorker = structuredClone(recommended.defaultWorker);
231
+ settings.roles = structuredClone(recommended.roles);
232
+ }
233
+ function assignInheritedModels(settings) {
234
+ settings.orchestrator = inheritPair();
235
+ settings.defaultWorker = inheritPair();
236
+ settings.roles = {
237
+ prd: inheritPair(),
238
+ planner: inheritPair(),
239
+ implementer: inheritPair(),
240
+ reviewer: inheritPair()
241
+ };
242
+ }
243
+ async function configureCustom(settings) {
244
+ let step = "mode";
245
+ let strategyValue = "roles";
246
+ while (true) {
247
+ if (step === "mode") {
248
+ const mode = await p.select({
249
+ message: "YAAW Codex execution mode",
250
+ initialValue: settings.mode,
251
+ options: [
252
+ { value: "auto", label: "Auto", hint: "Named worker → generic worker → inline fallback" },
253
+ { value: "isolated-required", label: "Require isolated workers", hint: "Block authority execution if isolation is unavailable" },
254
+ { value: "inline", label: "Inline only", hint: "Do not spawn YAAW authority workers" },
255
+ { value: "back", label: "← Back" }
256
+ ]
257
+ });
258
+ if (p.isCancel(mode) || mode === "back")
259
+ return navigationBack();
260
+ settings.mode = mode;
261
+ step = "strategy";
262
+ }
263
+ const strategy = await p.select({
264
+ message: "How should models be assigned?",
265
+ initialValue: strategyValue,
266
+ options: [
267
+ { value: "recommended", label: "Recommended role profile", hint: "Use YAAW's recommended model/reasoning split" },
268
+ { value: "shared", label: "One model for all workers", hint: "Choose a shared worker model" },
269
+ { value: "roles", label: "Customize individual roles", hint: "Configure roles from a reusable editor hub" },
270
+ { value: "inherit", label: "Inherit Codex defaults", hint: "Do not pin model IDs or reasoning" },
271
+ { value: "back", label: "← Back" }
272
+ ]
139
273
  });
274
+ if (p.isCancel(strategy) || strategy === "back") {
275
+ step = "mode";
276
+ continue;
277
+ }
278
+ strategyValue = String(strategy);
279
+ if (strategy === "recommended") {
280
+ assignRecommendedModels(settings);
281
+ }
282
+ else if (strategy === "inherit") {
283
+ assignInheritedModels(settings);
284
+ }
285
+ else if (strategy === "shared") {
286
+ const shared = await modelPair("Shared worker", settings.defaultWorker);
287
+ if (shared.kind !== "value")
288
+ continue;
289
+ settings.orchestrator = structuredClone(shared.value);
290
+ settings.defaultWorker = structuredClone(shared.value);
291
+ settings.roles = {
292
+ prd: structuredClone(shared.value),
293
+ planner: structuredClone(shared.value),
294
+ implementer: structuredClone(shared.value),
295
+ reviewer: structuredClone(shared.value)
296
+ };
297
+ }
298
+ const hub = await editRoleHub(settings);
299
+ if (hub.kind === "cancel")
300
+ return hub;
301
+ if (hub.kind === "back") {
302
+ step = "strategy";
303
+ continue;
304
+ }
305
+ return hub;
140
306
  }
141
- const advanced = await p.confirm({ message: "Configure advanced Codex settings?", initialValue: false });
142
- if (!p.isCancel(advanced) && advanced) {
143
- const maxRaw = await optionalText("Concurrent agent threads (blank = inherit)", settings.maxConcurrentThreads === null ? null : String(settings.maxConcurrentThreads));
144
- const sandboxMode = await optionalText("Sandbox mode (blank = inherit)", settings.sandboxMode);
145
- const approvalPolicy = await optionalText("Approval policy (blank = inherit)", settings.approvalPolicy);
146
- const web = await p.select({
147
- message: "Web search",
148
- initialValue: settings.webSearch ?? "inherit",
149
- options: [{ value: "inherit", label: "Inherit" }, { value: "disabled", label: "Disabled" }, { value: "cached", label: "Cached" }, { value: "indexed", label: "Indexed" }, { value: "live", label: "Live" }]
307
+ }
308
+ export async function configureCodex(current, context) {
309
+ const base = normalizeCodexRuntimeSettings(current ?? defaultCodexRuntimeSettings());
310
+ const customDraft = structuredClone(base);
311
+ while (true) {
312
+ const setup = await p.select({
313
+ message: "How should YAAW configure Codex?",
314
+ initialValue: setupInitialValue(context.currentProfile),
315
+ options: [
316
+ { value: "recommended", label: "Recommended", hint: "YAAW-managed worker configuration with recommended models" },
317
+ { value: "inherit", label: "Inherit Codex defaults", hint: "Keep model/reasoning selection outside YAAW" },
318
+ { value: "custom", label: "Custom", hint: "Choose runtime, models, reasoning, and worker settings" },
319
+ { value: "inline", label: "Inline only", hint: "Run authorities in the current session without worker spawning" }
320
+ ]
150
321
  });
151
- settings = normalizeCodexRuntimeSettings({ ...settings, maxConcurrentThreads: maxRaw, sandboxMode, approvalPolicy, webSearch: p.isCancel(web) || web === "inherit" ? null : web });
322
+ if (p.isCancel(setup)) {
323
+ return { settings: base, profile: context.currentProfile ?? null, cancelled: true };
324
+ }
325
+ if (setup === "recommended") {
326
+ const settings = structuredClone(recommendedCodexProfile().settings);
327
+ recommendedNote(settings);
328
+ return { settings, profile: profile("recommended") };
329
+ }
330
+ if (setup === "inherit") {
331
+ const settings = defaultCodexRuntimeSettings();
332
+ p.note([
333
+ "Runtime workers will use YAAW authority isolation when available.",
334
+ "Model and reasoning selection will inherit from Codex.",
335
+ "",
336
+ "You can configure explicit models later with:",
337
+ " yaaw config codex"
338
+ ].join("\n"), "Codex configuration");
339
+ return { settings, profile: profile("inherit") };
340
+ }
341
+ if (setup === "inline") {
342
+ const settings = { ...defaultCodexRuntimeSettings(), mode: "inline" };
343
+ p.note([
344
+ "YAAW authority roles will execute in the current Codex session.",
345
+ "YAAW will not spawn isolated authority workers.",
346
+ "",
347
+ "Durable project artifacts still remain the source of workflow state."
348
+ ].join("\n"), "Inline Codex execution");
349
+ return { settings, profile: profile("inline") };
350
+ }
351
+ const custom = await configureCustom(customDraft);
352
+ if (custom.kind === "back")
353
+ continue;
354
+ if (custom.kind === "cancel") {
355
+ return { settings: base, profile: context.currentProfile ?? null, cancelled: true };
356
+ }
357
+ return { settings: custom.value, profile: profile("custom") };
152
358
  }
153
- return { settings, profile: profile("custom") };
154
359
  }
155
360
  export async function configureCodexRuntime(current) {
156
- const result = await configureCodex(current, { reason: "manual", availableRevision: CODEX_CONFIGURATION_REVISION, pendingChanges: [], currentProfile: null });
361
+ const result = await configureCodex(current, {
362
+ reason: "manual",
363
+ availableRevision: CODEX_CONFIGURATION_REVISION,
364
+ pendingChanges: [],
365
+ currentProfile: null
366
+ });
157
367
  return normalizeCodexRuntimeSettings(result.settings);
158
368
  }
159
369
  //# sourceMappingURL=configure-codex.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"configure-codex.js","sourceRoot":"","sources":["../../src/tui/configure-codex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configure-codex.js","sourceRoot":"","sources":["../../src/tui/configure-codex.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { IntegrationConfigurationProfile, IntegrationId } from "../integrations/types.js";
2
+ export type ConfigurationConfirmation = "apply" | "back" | "cancel";
2
3
  export declare function confirmConfiguration(input: {
3
4
  projectRoot: string;
4
5
  integrationId: IntegrationId;
@@ -6,4 +7,4 @@ export declare function confirmConfiguration(input: {
6
7
  newSettings: unknown;
7
8
  currentProfile: IntegrationConfigurationProfile | null;
8
9
  newProfile: IntegrationConfigurationProfile | null;
9
- }): Promise<boolean>;
10
+ }): Promise<ConfigurationConfirmation>;
@@ -20,7 +20,17 @@ export async function confirmConfiguration(input) {
20
20
  " Preserve unrelated integrations and project memory"
21
21
  ];
22
22
  p.note(lines.join("\n"), `${adapter.displayName} configuration change`);
23
- const result = await p.confirm({ message: "Apply configuration?", initialValue: true });
24
- return !p.isCancel(result) && Boolean(result);
23
+ const result = await p.select({
24
+ message: "What would you like to do?",
25
+ initialValue: "apply",
26
+ options: [
27
+ { value: "apply", label: "Apply configuration" },
28
+ { value: "back", label: "Back to edit" },
29
+ { value: "cancel", label: "Cancel configuration" }
30
+ ]
31
+ });
32
+ if (p.isCancel(result))
33
+ return "cancel";
34
+ return result;
25
35
  }
26
36
  //# sourceMappingURL=confirm-configuration.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"confirm-configuration.js","sourceRoot":"","sources":["../../src/tui/confirm-configuration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAG7D,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,KAO1C;IACC,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,EAAE,QAAQ,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAG;QACZ,YAAY,KAAK,CAAC,WAAW,EAAE;QAC/B,EAAE;QACF,UAAU;QACV,cAAc,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC,EAAE,KAAK,KAAK,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;QAChH,GAAG,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;QAC3D,EAAE;QACF,MAAM;QACN,cAAc,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,EAAE,KAAK,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;QACpG,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;QACvD,EAAE;QACF,OAAO;QACP,yBAAyB,OAAO,CAAC,WAAW,gBAAgB;QAC5D,yCAAyC;QACzC,sDAAsD;KACvD,CAAC;IACF,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,WAAW,uBAAuB,CAAC,CAAC;IACxE,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;IACxF,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;AAChD,CAAC"}
1
+ {"version":3,"file":"confirm-configuration.js","sourceRoot":"","sources":["../../src/tui/confirm-configuration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAK7D,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,KAO1C;IACC,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,EAAE,QAAQ,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAG;QACZ,YAAY,KAAK,CAAC,WAAW,EAAE;QAC/B,EAAE;QACF,UAAU;QACV,cAAc,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC,EAAE,KAAK,KAAK,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;QAChH,GAAG,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;QAC3D,EAAE;QACF,MAAM;QACN,cAAc,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,EAAE,KAAK,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;QACpG,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;QACvD,EAAE;QACF,OAAO;QACP,yBAAyB,OAAO,CAAC,WAAW,gBAAgB;QAC5D,yCAAyC;QACzC,sDAAsD;KACvD,CAAC;IACF,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,WAAW,uBAAuB,CAAC,CAAC;IAExE,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC;QAC5B,OAAO,EAAE,4BAA4B;QACrC,YAAY,EAAE,OAAO;QACrB,OAAO,EAAE;YACP,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,qBAAqB,EAAE;YAChD,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE;YACxC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,sBAAsB,EAAE;SACnD;KACF,CAAC,CAAC;IACH,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,QAAQ,CAAC;IACxC,OAAO,MAAmC,CAAC;AAC7C,CAAC"}
@@ -0,0 +1,11 @@
1
+ export type NavigationResult<T> = {
2
+ kind: "value";
3
+ value: T;
4
+ } | {
5
+ kind: "back";
6
+ } | {
7
+ kind: "cancel";
8
+ };
9
+ export declare function navigationValue<T>(value: T): NavigationResult<T>;
10
+ export declare function navigationBack<T = never>(): NavigationResult<T>;
11
+ export declare function navigationCancel<T = never>(): NavigationResult<T>;
@@ -0,0 +1,10 @@
1
+ export function navigationValue(value) {
2
+ return { kind: "value", value };
3
+ }
4
+ export function navigationBack() {
5
+ return { kind: "back" };
6
+ }
7
+ export function navigationCancel() {
8
+ return { kind: "cancel" };
9
+ }
10
+ //# sourceMappingURL=navigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../src/tui/navigation.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,eAAe,CAAI,KAAQ;IACzC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAC5B,CAAC"}