hoomanjs 1.35.2 → 1.36.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 (86) hide show
  1. package/dist/acp/acp-agent.d.ts +40 -66
  2. package/dist/acp/acp-agent.js +786 -398
  3. package/dist/acp/acp-agent.js.map +1 -1
  4. package/dist/acp/approvals.d.ts +2 -2
  5. package/dist/acp/approvals.js +66 -58
  6. package/dist/acp/approvals.js.map +1 -1
  7. package/dist/acp/commands.d.ts +20 -0
  8. package/dist/acp/commands.js +66 -0
  9. package/dist/acp/commands.js.map +1 -0
  10. package/dist/acp/index.d.ts +1 -1
  11. package/dist/acp/index.js +1 -1
  12. package/dist/acp/index.js.map +1 -1
  13. package/dist/acp/mcp-servers.js +14 -8
  14. package/dist/acp/mcp-servers.js.map +1 -1
  15. package/dist/acp/prompt-invoke.js +103 -49
  16. package/dist/acp/prompt-invoke.js.map +1 -1
  17. package/dist/acp/session-config.d.ts +18 -0
  18. package/dist/acp/session-config.js +52 -0
  19. package/dist/acp/session-config.js.map +1 -0
  20. package/dist/acp/sessions/replay.d.ts +2 -2
  21. package/dist/acp/sessions/replay.js +28 -44
  22. package/dist/acp/sessions/replay.js.map +1 -1
  23. package/dist/acp/sessions/store.d.ts +4 -0
  24. package/dist/acp/sessions/store.js +5 -1
  25. package/dist/acp/sessions/store.js.map +1 -1
  26. package/dist/acp/utils/tool-kind.js +2 -2
  27. package/dist/acp/utils/tool-kind.js.map +1 -1
  28. package/dist/acp/utils/tool-result-content.d.ts +7 -0
  29. package/dist/acp/utils/tool-result-content.js +18 -0
  30. package/dist/acp/utils/tool-result-content.js.map +1 -1
  31. package/dist/chat/components/markdown/CodeBlock.js.map +1 -1
  32. package/dist/cli.js +1 -1
  33. package/dist/cli.js.map +1 -1
  34. package/dist/configure/app.js +132 -90
  35. package/dist/configure/app.js.map +1 -1
  36. package/dist/core/agent/index.js +17 -4
  37. package/dist/core/agent/index.js.map +1 -1
  38. package/dist/core/approvals/allowlist.d.ts +52 -0
  39. package/dist/core/approvals/allowlist.js +265 -0
  40. package/dist/core/approvals/allowlist.js.map +1 -0
  41. package/dist/core/approvals/bash-arity.d.ts +10 -0
  42. package/dist/core/approvals/bash-arity.js +178 -0
  43. package/dist/core/approvals/bash-arity.js.map +1 -0
  44. package/dist/core/approvals/intervention.d.ts +1 -2
  45. package/dist/core/approvals/intervention.js +5 -20
  46. package/dist/core/approvals/intervention.js.map +1 -1
  47. package/dist/core/approvals/wildcard.d.ts +14 -0
  48. package/dist/core/approvals/wildcard.js +27 -0
  49. package/dist/core/approvals/wildcard.js.map +1 -0
  50. package/dist/core/config.d.ts +7 -0
  51. package/dist/core/config.js +26 -3
  52. package/dist/core/config.js.map +1 -1
  53. package/dist/core/mcp/config.js +3 -1
  54. package/dist/core/mcp/config.js.map +1 -1
  55. package/dist/core/state/file-tool-display.d.ts +6 -0
  56. package/dist/core/state/file-tool-display.js.map +1 -1
  57. package/dist/core/state/todos.d.ts +11 -0
  58. package/dist/core/state/todos.js +2 -0
  59. package/dist/core/state/todos.js.map +1 -1
  60. package/dist/core/state/tool-approvals.d.ts +6 -7
  61. package/dist/core/state/tool-approvals.js +7 -50
  62. package/dist/core/state/tool-approvals.js.map +1 -1
  63. package/dist/core/tools/filesystem.js +83 -27
  64. package/dist/core/tools/filesystem.js.map +1 -1
  65. package/dist/core/tools/shell.js +39 -0
  66. package/dist/core/tools/shell.js.map +1 -1
  67. package/dist/core/tools/terminal-backend.d.ts +41 -0
  68. package/dist/core/tools/terminal-backend.js +9 -0
  69. package/dist/core/tools/terminal-backend.js.map +1 -0
  70. package/dist/core/tools/text-fs-backend.d.ts +25 -0
  71. package/dist/core/tools/text-fs-backend.js +9 -0
  72. package/dist/core/tools/text-fs-backend.js.map +1 -0
  73. package/dist/core/tools/todo.d.ts +1 -0
  74. package/dist/core/tools/todo.js +2 -1
  75. package/dist/core/tools/todo.js.map +1 -1
  76. package/dist/core/utils/attachments.js.map +1 -1
  77. package/dist/core/utils/paths.d.ts +1 -0
  78. package/dist/core/utils/paths.js +1 -0
  79. package/dist/core/utils/paths.js.map +1 -1
  80. package/dist/index.d.ts +2 -1
  81. package/dist/index.js +2 -1
  82. package/dist/index.js.map +1 -1
  83. package/package.json +2 -2
  84. package/dist/acp/sessions/options.d.ts +0 -10
  85. package/dist/acp/sessions/options.js +0 -89
  86. package/dist/acp/sessions/options.js.map +0 -1
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -162,27 +162,27 @@ function defaultModelForProviderType(provider) {
162
162
  function providerOptionsTemplate(provider) {
163
163
  switch (provider) {
164
164
  case LlmProvider.Anthropic:
165
- return { apiKey: "" };
165
+ return {};
166
166
  case LlmProvider.Azure:
167
167
  return {};
168
168
  case LlmProvider.Bedrock:
169
169
  return { region: "us-west-2" };
170
170
  case LlmProvider.Google:
171
- return { apiKey: "" };
171
+ return {};
172
172
  case LlmProvider.Groq:
173
- return { apiKey: "" };
173
+ return {};
174
174
  case LlmProvider.Minimax:
175
- return { apiKey: "" };
175
+ return {};
176
176
  case LlmProvider.Moonshot:
177
- return { apiKey: "" };
177
+ return {};
178
178
  case LlmProvider.Ollama:
179
179
  return {};
180
180
  case LlmProvider.OpenAI:
181
- return { apiKey: "" };
181
+ return {};
182
182
  case LlmProvider.OpenRouter:
183
- return { apiKey: "" };
183
+ return {};
184
184
  case LlmProvider.Xai:
185
- return { apiKey: "" };
185
+ return {};
186
186
  }
187
187
  }
188
188
  const PROVIDER_FIELD_DEFINITIONS = {
@@ -640,6 +640,9 @@ export function ConfigureApp({ config, mcpConfig, mcpManager, skills, onExit, })
640
640
  const setSuccess = useCallback((text) => {
641
641
  setNotice({ kind: "success", text });
642
642
  }, []);
643
+ const setError = useCallback((text) => {
644
+ setNotice({ kind: "error", text });
645
+ }, []);
643
646
  const authenticateMcpServer = useCallback(async (name) => {
644
647
  await runTask(`Authenticating MCP server "${name}"...`, async () => {
645
648
  await mcpManager.authenticate(name);
@@ -655,10 +658,15 @@ export function ConfigureApp({ config, mcpConfig, mcpManager, skills, onExit, })
655
658
  });
656
659
  }, [mcpManager, refresh, runTask, setSuccess]);
657
660
  const updateConfig = useCallback((partial, message) => {
658
- config.update(partial);
661
+ const result = config.tryUpdate(partial);
662
+ if (!result.ok) {
663
+ setError(result.error);
664
+ return false;
665
+ }
659
666
  refresh();
660
667
  setSuccess(message);
661
- }, [config, refresh, setSuccess]);
668
+ return true;
669
+ }, [config, refresh, setError, setSuccess]);
662
670
  const patchLlm = useCallback((name, patch) => config.llms.map((m) => m.name === name
663
671
  ? {
664
672
  ...m,
@@ -981,8 +989,9 @@ export function ConfigureApp({ config, mcpConfig, mcpManager, skills, onExit, })
981
989
  if (!next) {
982
990
  throw new Error("Name is required.");
983
991
  }
984
- updateConfig({ name: next }, "Updated app name.");
985
- setPrompt(null);
992
+ if (updateConfig({ name: next }, "Updated app name.")) {
993
+ setPrompt(null);
994
+ }
986
995
  },
987
996
  }),
988
997
  },
@@ -1005,13 +1014,14 @@ export function ConfigureApp({ config, mcpConfig, mcpManager, skills, onExit, })
1005
1014
  min: 0,
1006
1015
  max: 1,
1007
1016
  });
1008
- updateConfig({
1017
+ if (updateConfig({
1009
1018
  compaction: {
1010
1019
  ...config.compaction,
1011
1020
  ratio,
1012
1021
  },
1013
- }, "Updated compaction ratio.");
1014
- setPrompt(null);
1022
+ }, "Updated compaction ratio.")) {
1023
+ setPrompt(null);
1024
+ }
1015
1025
  },
1016
1026
  }),
1017
1027
  },
@@ -1026,13 +1036,14 @@ export function ConfigureApp({ config, mcpConfig, mcpManager, skills, onExit, })
1026
1036
  min: 0,
1027
1037
  integer: true,
1028
1038
  });
1029
- updateConfig({
1039
+ if (updateConfig({
1030
1040
  compaction: {
1031
1041
  ...config.compaction,
1032
1042
  keep,
1033
1043
  },
1034
- }, "Updated compaction keep.");
1035
- setPrompt(null);
1044
+ }, "Updated compaction keep.")) {
1045
+ setPrompt(null);
1046
+ }
1036
1047
  },
1037
1048
  }),
1038
1049
  },
@@ -1070,77 +1081,82 @@ export function ConfigureApp({ config, mcpConfig, mcpManager, skills, onExit, })
1070
1081
  {
1071
1082
  label: `Todo tool • ${yesNo(configData.tools.todo.enabled)}`,
1072
1083
  value: () => {
1073
- updateConfig({
1084
+ if (updateConfig({
1074
1085
  tools: {
1075
1086
  ...config.tools,
1076
1087
  todo: {
1077
1088
  enabled: !configData.tools.todo.enabled,
1078
1089
  },
1079
1090
  },
1080
- }, `Todo tool ${configData.tools.todo.enabled ? "disabled" : "enabled"}.`);
1081
- setScreen({ kind: "config-tools" });
1091
+ }, `Todo tool ${configData.tools.todo.enabled ? "disabled" : "enabled"}.`)) {
1092
+ setScreen({ kind: "config-tools" });
1093
+ }
1082
1094
  },
1083
1095
  },
1084
1096
  {
1085
1097
  label: `Fetch tool • ${yesNo(configData.tools.fetch.enabled)}`,
1086
1098
  value: () => {
1087
- updateConfig({
1099
+ if (updateConfig({
1088
1100
  tools: {
1089
1101
  ...config.tools,
1090
1102
  fetch: {
1091
1103
  enabled: !configData.tools.fetch.enabled,
1092
1104
  },
1093
1105
  },
1094
- }, `Fetch tool ${configData.tools.fetch.enabled ? "disabled" : "enabled"}.`);
1095
- setScreen({ kind: "config-tools" });
1106
+ }, `Fetch tool ${configData.tools.fetch.enabled ? "disabled" : "enabled"}.`)) {
1107
+ setScreen({ kind: "config-tools" });
1108
+ }
1096
1109
  },
1097
1110
  },
1098
1111
  {
1099
1112
  label: `Filesystem tool • ${yesNo(configData.tools.filesystem.enabled)}`,
1100
1113
  value: () => {
1101
- updateConfig({
1114
+ if (updateConfig({
1102
1115
  tools: {
1103
1116
  ...config.tools,
1104
1117
  filesystem: {
1105
1118
  enabled: !configData.tools.filesystem.enabled,
1106
1119
  },
1107
1120
  },
1108
- }, `Filesystem tool ${configData.tools.filesystem.enabled ? "disabled" : "enabled"}.`);
1109
- setScreen({ kind: "config-tools" });
1121
+ }, `Filesystem tool ${configData.tools.filesystem.enabled ? "disabled" : "enabled"}.`)) {
1122
+ setScreen({ kind: "config-tools" });
1123
+ }
1110
1124
  },
1111
1125
  },
1112
1126
  {
1113
1127
  label: `Shell tool • ${yesNo(configData.tools.shell.enabled)}`,
1114
1128
  value: () => {
1115
- updateConfig({
1129
+ if (updateConfig({
1116
1130
  tools: {
1117
1131
  ...config.tools,
1118
1132
  shell: {
1119
1133
  enabled: !configData.tools.shell.enabled,
1120
1134
  },
1121
1135
  },
1122
- }, `Shell tool ${configData.tools.shell.enabled ? "disabled" : "enabled"}.`);
1123
- setScreen({ kind: "config-tools" });
1136
+ }, `Shell tool ${configData.tools.shell.enabled ? "disabled" : "enabled"}.`)) {
1137
+ setScreen({ kind: "config-tools" });
1138
+ }
1124
1139
  },
1125
1140
  },
1126
1141
  {
1127
1142
  label: `Sleep tool • ${yesNo(configData.tools.sleep.enabled)}`,
1128
1143
  value: () => {
1129
- updateConfig({
1144
+ if (updateConfig({
1130
1145
  tools: {
1131
1146
  ...config.tools,
1132
1147
  sleep: {
1133
1148
  enabled: !configData.tools.sleep.enabled,
1134
1149
  },
1135
1150
  },
1136
- }, `Sleep tool ${configData.tools.sleep.enabled ? "disabled" : "enabled"}.`);
1137
- setScreen({ kind: "config-tools" });
1151
+ }, `Sleep tool ${configData.tools.sleep.enabled ? "disabled" : "enabled"}.`)) {
1152
+ setScreen({ kind: "config-tools" });
1153
+ }
1138
1154
  },
1139
1155
  },
1140
1156
  {
1141
1157
  label: `Subagents • ${yesNo(configData.tools.subagents.enabled)}`,
1142
1158
  value: () => {
1143
- updateConfig({
1159
+ if (updateConfig({
1144
1160
  tools: {
1145
1161
  ...config.tools,
1146
1162
  subagents: {
@@ -1148,8 +1164,9 @@ export function ConfigureApp({ config, mcpConfig, mcpManager, skills, onExit, })
1148
1164
  enabled: !configData.tools.subagents.enabled,
1149
1165
  },
1150
1166
  },
1151
- }, `Subagents ${configData.tools.subagents.enabled ? "disabled" : "enabled"}.`);
1152
- setScreen({ kind: "config-tools" });
1167
+ }, `Subagents ${configData.tools.subagents.enabled ? "disabled" : "enabled"}.`)) {
1168
+ setScreen({ kind: "config-tools" });
1169
+ }
1153
1170
  },
1154
1171
  },
1155
1172
  {
@@ -1225,9 +1242,10 @@ export function ConfigureApp({ config, mcpConfig, mcpManager, skills, onExit, })
1225
1242
  if (config.providers.some((provider) => provider.name === next)) {
1226
1243
  throw new Error(`A provider named "${next}" already exists.`);
1227
1244
  }
1228
- updateConfig(renameProvider(entry.name, next), `Renamed provider "${entry.name}" to "${next}".`);
1229
- setPrompt(null);
1230
- setScreen({ kind: "config-provider-edit", name: next });
1245
+ if (updateConfig(renameProvider(entry.name, next), `Renamed provider "${entry.name}" to "${next}".`)) {
1246
+ setPrompt(null);
1247
+ setScreen({ kind: "config-provider-edit", name: next });
1248
+ }
1231
1249
  },
1232
1250
  }),
1233
1251
  },
@@ -1279,13 +1297,14 @@ export function ConfigureApp({ config, mcpConfig, mcpManager, skills, onExit, })
1279
1297
  (secretAccessKey === undefined)) {
1280
1298
  throw new Error("Access key ID and secret access key must be provided together.");
1281
1299
  }
1282
- updateConfig({
1300
+ if (updateConfig({
1283
1301
  providers: patchProvider(entry.name, {
1284
1302
  accessKeyId,
1285
1303
  secretAccessKey,
1286
1304
  }),
1287
- }, `Updated static credentials for "${entry.name}".`);
1288
- setPrompt(null);
1305
+ }, `Updated static credentials for "${entry.name}".`)) {
1306
+ setPrompt(null);
1307
+ }
1289
1308
  },
1290
1309
  });
1291
1310
  },
@@ -1306,12 +1325,13 @@ export function ConfigureApp({ config, mcpConfig, mcpManager, skills, onExit, })
1306
1325
  note: definition.note,
1307
1326
  onSubmit: async (value) => {
1308
1327
  const nextValue = parseTypedFieldValue(value, definition);
1309
- updateConfig({
1328
+ if (updateConfig({
1310
1329
  providers: patchProvider(entry.name, {
1311
1330
  [definition.key]: nextValue,
1312
1331
  }),
1313
- }, `Updated ${definition.label.toLowerCase()} for "${entry.name}".`);
1314
- setPrompt(null);
1332
+ }, `Updated ${definition.label.toLowerCase()} for "${entry.name}".`)) {
1333
+ setPrompt(null);
1334
+ }
1315
1335
  },
1316
1336
  });
1317
1337
  },
@@ -1350,22 +1370,29 @@ export function ConfigureApp({ config, mcpConfig, mcpManager, skills, onExit, })
1350
1370
  {
1351
1371
  label: current === undefined ? "Not set • current" : "Not set (clear value)",
1352
1372
  value: () => {
1353
- updateConfig({ providers: patchProvider(entry.name, { thinking: undefined }) }, `Cleared thinking for "${entry.name}".`);
1354
- setScreen({ kind: "config-provider-edit", name: entry.name });
1373
+ if (updateConfig({ providers: patchProvider(entry.name, { thinking: undefined }) }, `Cleared thinking for "${entry.name}".`)) {
1374
+ setScreen({ kind: "config-provider-edit", name: entry.name });
1375
+ }
1355
1376
  },
1356
1377
  },
1357
1378
  {
1358
1379
  label: current === "disabled" ? "disabled • current" : "disabled",
1359
1380
  value: () => {
1360
- updateConfig({ providers: patchProvider(entry.name, { thinking: "disabled" }) }, `Updated thinking for "${entry.name}" to "disabled".`);
1361
- setScreen({ kind: "config-provider-edit", name: entry.name });
1381
+ if (updateConfig({
1382
+ providers: patchProvider(entry.name, { thinking: "disabled" }),
1383
+ }, `Updated thinking for "${entry.name}" to "disabled".`)) {
1384
+ setScreen({ kind: "config-provider-edit", name: entry.name });
1385
+ }
1362
1386
  },
1363
1387
  },
1364
1388
  {
1365
1389
  label: current === "adaptive" ? "adaptive • current" : "adaptive",
1366
1390
  value: () => {
1367
- updateConfig({ providers: patchProvider(entry.name, { thinking: "adaptive" }) }, `Updated thinking for "${entry.name}" to "adaptive".`);
1368
- setScreen({ kind: "config-provider-edit", name: entry.name });
1391
+ if (updateConfig({
1392
+ providers: patchProvider(entry.name, { thinking: "adaptive" }),
1393
+ }, `Updated thinking for "${entry.name}" to "adaptive".`)) {
1394
+ setScreen({ kind: "config-provider-edit", name: entry.name });
1395
+ }
1369
1396
  },
1370
1397
  },
1371
1398
  {
@@ -1388,15 +1415,17 @@ export function ConfigureApp({ config, mcpConfig, mcpManager, skills, onExit, })
1388
1415
  {
1389
1416
  label: current === undefined ? "Not set • current" : "Not set (clear value)",
1390
1417
  value: () => {
1391
- updateConfig({ providers: patchProvider(entry.name, { thinking: undefined }) }, `Cleared thinking for "${entry.name}".`);
1392
- setScreen({ kind: "config-provider-edit", name: entry.name });
1418
+ if (updateConfig({ providers: patchProvider(entry.name, { thinking: undefined }) }, `Cleared thinking for "${entry.name}".`)) {
1419
+ setScreen({ kind: "config-provider-edit", name: entry.name });
1420
+ }
1393
1421
  },
1394
1422
  },
1395
1423
  ...[false, true, "low", "medium", "high"].map((value) => ({
1396
1424
  label: current === value ? `${String(value)} • current` : String(value),
1397
1425
  value: () => {
1398
- updateConfig({ providers: patchProvider(entry.name, { thinking: value }) }, `Updated thinking for "${entry.name}" to "${String(value)}".`);
1399
- setScreen({ kind: "config-provider-edit", name: entry.name });
1426
+ if (updateConfig({ providers: patchProvider(entry.name, { thinking: value }) }, `Updated thinking for "${entry.name}" to "${String(value)}".`)) {
1427
+ setScreen({ kind: "config-provider-edit", name: entry.name });
1428
+ }
1400
1429
  },
1401
1430
  })),
1402
1431
  {
@@ -1419,7 +1448,7 @@ export function ConfigureApp({ config, mcpConfig, mcpManager, skills, onExit, })
1419
1448
  ...SUPPORTED_PROVIDER_TYPES.map((provider) => ({
1420
1449
  label: provider === entry.provider ? `${provider} • current` : provider,
1421
1450
  value: () => {
1422
- updateConfig({
1451
+ if (updateConfig({
1423
1452
  providers: config.providers.map((item) => item.name === entry.name
1424
1453
  ? {
1425
1454
  ...item,
@@ -1427,8 +1456,9 @@ export function ConfigureApp({ config, mcpConfig, mcpManager, skills, onExit, })
1427
1456
  options: providerOptionsTemplate(provider),
1428
1457
  }
1429
1458
  : item),
1430
- }, `Updated provider type for "${entry.name}" to "${provider}" and scaffolded options.`);
1431
- setScreen({ kind: "config-provider-edit", name: entry.name });
1459
+ }, `Updated provider type for "${entry.name}" to "${provider}" and scaffolded options.`)) {
1460
+ setScreen({ kind: "config-provider-edit", name: entry.name });
1461
+ }
1432
1462
  },
1433
1463
  })),
1434
1464
  {
@@ -1447,8 +1477,9 @@ export function ConfigureApp({ config, mcpConfig, mcpManager, skills, onExit, })
1447
1477
  ...SUPPORTED_PROVIDER_TYPES.map((provider) => ({
1448
1478
  label: provider,
1449
1479
  value: () => {
1450
- updateConfig({ providers: addProvider(name, provider) }, `Added provider "${name}" as "${provider}".`);
1451
- setScreen({ kind: "config-provider-edit", name });
1480
+ if (updateConfig({ providers: addProvider(name, provider) }, `Added provider "${name}" as "${provider}".`)) {
1481
+ setScreen({ kind: "config-provider-edit", name });
1482
+ }
1452
1483
  },
1453
1484
  })),
1454
1485
  {
@@ -1473,8 +1504,9 @@ export function ConfigureApp({ config, mcpConfig, mcpManager, skills, onExit, })
1473
1504
  key: `provider-del-confirm:${name}`,
1474
1505
  label: "Yes — remove provider",
1475
1506
  value: () => {
1476
- updateConfig({ providers: removeProvider(name) }, `Deleted provider "${name}".`);
1477
- setScreen({ kind: "config-providers" });
1507
+ if (updateConfig({ providers: removeProvider(name) }, `Deleted provider "${name}".`)) {
1508
+ setScreen({ kind: "config-providers" });
1509
+ }
1478
1510
  },
1479
1511
  },
1480
1512
  ];
@@ -1505,9 +1537,10 @@ export function ConfigureApp({ config, mcpConfig, mcpManager, skills, onExit, })
1505
1537
  if (config.providers.length === 0) {
1506
1538
  throw new Error("Add at least one provider first so the model can reference it.");
1507
1539
  }
1508
- updateConfig({ llms: addLlm(name) }, `Added LLM "${name}".`);
1509
- setPrompt(null);
1510
- setScreen({ kind: "config-llm-edit", name });
1540
+ if (updateConfig({ llms: addLlm(name) }, `Added LLM "${name}".`)) {
1541
+ setPrompt(null);
1542
+ setScreen({ kind: "config-llm-edit", name });
1543
+ }
1511
1544
  },
1512
1545
  }),
1513
1546
  },
@@ -1550,9 +1583,10 @@ export function ConfigureApp({ config, mcpConfig, mcpManager, skills, onExit, })
1550
1583
  if (config.llms.some((m) => m.name === next)) {
1551
1584
  throw new Error(`An LLM named "${next}" already exists.`);
1552
1585
  }
1553
- updateConfig({ llms: renameLlm(entry.name, next) }, `Renamed "${entry.name}" to "${next}".`);
1554
- setPrompt(null);
1555
- setScreen({ kind: "config-llm-edit", name: next });
1586
+ if (updateConfig({ llms: renameLlm(entry.name, next) }, `Renamed "${entry.name}" to "${next}".`)) {
1587
+ setPrompt(null);
1588
+ setScreen({ kind: "config-llm-edit", name: next });
1589
+ }
1556
1590
  },
1557
1591
  }),
1558
1592
  },
@@ -1577,8 +1611,9 @@ export function ConfigureApp({ config, mcpConfig, mcpManager, skills, onExit, })
1577
1611
  if (!model) {
1578
1612
  throw new Error("Model is required.");
1579
1613
  }
1580
- updateConfig({ llms: patchLlm(entry.name, { model }) }, "Updated model id.");
1581
- setPrompt(null);
1614
+ if (updateConfig({ llms: patchLlm(entry.name, { model }) }, "Updated model id.")) {
1615
+ setPrompt(null);
1616
+ }
1582
1617
  },
1583
1618
  }),
1584
1619
  },
@@ -1595,12 +1630,13 @@ export function ConfigureApp({ config, mcpConfig, mcpManager, skills, onExit, })
1595
1630
  note: definition.note,
1596
1631
  onSubmit: async (value) => {
1597
1632
  const nextValue = parseTypedFieldValue(value, definition);
1598
- updateConfig({
1633
+ if (updateConfig({
1599
1634
  llms: patchLlm(entry.name, {
1600
1635
  [definition.key]: nextValue,
1601
1636
  }),
1602
- }, `Updated ${definition.label.toLowerCase()} for "${entry.name}".`);
1603
- setPrompt(null);
1637
+ }, `Updated ${definition.label.toLowerCase()} for "${entry.name}".`)) {
1638
+ setPrompt(null);
1639
+ }
1604
1640
  },
1605
1641
  }),
1606
1642
  })),
@@ -1651,7 +1687,7 @@ export function ConfigureApp({ config, mcpConfig, mcpManager, skills, onExit, })
1651
1687
  ? `${provider.name} • current`
1652
1688
  : `${provider.name} • ${provider.provider}`,
1653
1689
  value: () => {
1654
- updateConfig({
1690
+ if (updateConfig({
1655
1691
  llms: config.llms.map((llm) => llm.name === entry.name
1656
1692
  ? {
1657
1693
  ...llm,
@@ -1662,8 +1698,9 @@ export function ConfigureApp({ config, mcpConfig, mcpManager, skills, onExit, })
1662
1698
  },
1663
1699
  }
1664
1700
  : llm),
1665
- }, `Updated provider for "${entry.name}" to "${provider.name}" and scaffolded its default model.`);
1666
- setScreen({ kind: "config-llm-edit", name: entry.name });
1701
+ }, `Updated provider for "${entry.name}" to "${provider.name}" and scaffolded its default model.`)) {
1702
+ setScreen({ kind: "config-llm-edit", name: entry.name });
1703
+ }
1667
1704
  },
1668
1705
  })),
1669
1706
  {
@@ -1688,8 +1725,9 @@ export function ConfigureApp({ config, mcpConfig, mcpManager, skills, onExit, })
1688
1725
  key: `llm-del-confirm:${name}`,
1689
1726
  label: "Yes — remove LLM",
1690
1727
  value: () => {
1691
- updateConfig({ llms: removeLlm(name) }, `Deleted LLM "${name}".`);
1692
- setScreen({ kind: "config-llms" });
1728
+ if (updateConfig({ llms: removeLlm(name) }, `Deleted LLM "${name}".`)) {
1729
+ setScreen({ kind: "config-llms" });
1730
+ }
1693
1731
  },
1694
1732
  },
1695
1733
  ];
@@ -1704,13 +1742,14 @@ export function ConfigureApp({ config, mcpConfig, mcpManager, skills, onExit, })
1704
1742
  return {
1705
1743
  label: `${label} • ${yesNo(enabled)}`,
1706
1744
  value: () => {
1707
- updateConfig({
1745
+ if (updateConfig({
1708
1746
  prompts: {
1709
1747
  ...config.prompts,
1710
1748
  [key]: !enabled,
1711
1749
  },
1712
- }, `${label} prompt ${enabled ? "disabled" : "enabled"}.`);
1713
- setScreen({ kind: "config-prompts" });
1750
+ }, `${label} prompt ${enabled ? "disabled" : "enabled"}.`)) {
1751
+ setScreen({ kind: "config-prompts" });
1752
+ }
1714
1753
  },
1715
1754
  };
1716
1755
  }),
@@ -1728,13 +1767,14 @@ export function ConfigureApp({ config, mcpConfig, mcpManager, skills, onExit, })
1728
1767
  ? `${SEARCH_PROVIDER_LABELS[provider]} • current`
1729
1768
  : SEARCH_PROVIDER_LABELS[provider],
1730
1769
  value: () => {
1731
- updateConfig({
1770
+ if (updateConfig({
1732
1771
  search: {
1733
1772
  ...config.search,
1734
1773
  provider,
1735
1774
  },
1736
- }, `Updated search provider to "${SEARCH_PROVIDER_LABELS[provider]}".`);
1737
- setScreen({ kind: "config-search" });
1775
+ }, `Updated search provider to "${SEARCH_PROVIDER_LABELS[provider]}".`)) {
1776
+ setScreen({ kind: "config-search" });
1777
+ }
1738
1778
  },
1739
1779
  })),
1740
1780
  {
@@ -1753,13 +1793,14 @@ export function ConfigureApp({ config, mcpConfig, mcpManager, skills, onExit, })
1753
1793
  {
1754
1794
  label: `Enabled • ${yesNo(configData.search.enabled)}`,
1755
1795
  value: () => {
1756
- updateConfig({
1796
+ if (updateConfig({
1757
1797
  search: {
1758
1798
  ...config.search,
1759
1799
  enabled: !configData.search.enabled,
1760
1800
  },
1761
- }, `Search tool ${configData.search.enabled ? "disabled" : "enabled"}.`);
1762
- setScreen({ kind: "config-search" });
1801
+ }, `Search tool ${configData.search.enabled ? "disabled" : "enabled"}.`)) {
1802
+ setScreen({ kind: "config-search" });
1803
+ }
1763
1804
  },
1764
1805
  },
1765
1806
  {
@@ -1777,7 +1818,7 @@ export function ConfigureApp({ config, mcpConfig, mcpManager, skills, onExit, })
1777
1818
  if (!nextApiKey) {
1778
1819
  throw new Error("API key is required.");
1779
1820
  }
1780
- updateConfig({
1821
+ if (updateConfig({
1781
1822
  search: {
1782
1823
  ...config.search,
1783
1824
  [activeProvider]: {
@@ -1785,8 +1826,9 @@ export function ConfigureApp({ config, mcpConfig, mcpManager, skills, onExit, })
1785
1826
  apiKey: nextApiKey,
1786
1827
  },
1787
1828
  },
1788
- }, `Updated ${activeProviderLabel} API key.`);
1789
- setPrompt(null);
1829
+ }, `Updated ${activeProviderLabel} API key.`)) {
1830
+ setPrompt(null);
1831
+ }
1790
1832
  },
1791
1833
  }),
1792
1834
  },