hoomanjs 1.37.0 → 1.37.2
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.
- package/dist/acp/acp-agent.js +128 -2
- package/dist/acp/acp-agent.js.map +1 -1
- package/dist/acp/commands.js +5 -0
- package/dist/acp/commands.js.map +1 -1
- package/dist/acp/session-config.d.ts +2 -0
- package/dist/acp/session-config.js +27 -0
- package/dist/acp/session-config.js.map +1 -1
- package/dist/chat/app.js +71 -58
- package/dist/chat/app.js.map +1 -1
- package/dist/chat/components/BottomChrome.d.ts +2 -1
- package/dist/chat/components/BottomChrome.js +2 -2
- package/dist/chat/components/BottomChrome.js.map +1 -1
- package/dist/chat/components/ChromePicker.d.ts +3 -2
- package/dist/chat/components/ChromePicker.js +15 -1
- package/dist/chat/components/ChromePicker.js.map +1 -1
- package/dist/chat/steering.d.ts +1 -20
- package/dist/chat/steering.js +3 -66
- package/dist/chat/steering.js.map +1 -1
- package/dist/core/agent/index.js +3 -2
- package/dist/core/agent/index.js.map +1 -1
- package/dist/core/agent/turn-steering.d.ts +39 -0
- package/dist/core/agent/turn-steering.js +80 -0
- package/dist/core/agent/turn-steering.js.map +1 -0
- package/dist/core/approvals/channel-ask.d.ts +27 -0
- package/dist/core/approvals/channel-ask.js +104 -0
- package/dist/core/approvals/channel-ask.js.map +1 -0
- package/dist/core/models/reasoning-effort.d.ts +55 -0
- package/dist/core/models/reasoning-effort.js +91 -0
- package/dist/core/models/reasoning-effort.js.map +1 -0
- package/dist/core/prompts/harness/execution.md +1 -0
- package/dist/core/sessions/tolerant-file-storage.d.ts +24 -0
- package/dist/core/sessions/tolerant-file-storage.js +81 -0
- package/dist/core/sessions/tolerant-file-storage.js.map +1 -0
- package/dist/daemon/approvals.js +2 -90
- package/dist/daemon/approvals.js.map +1 -1
- package/dist/index.d.ts +17 -2
- package/dist/index.js +14 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/acp/acp-agent.js
CHANGED
|
@@ -14,7 +14,8 @@ import { getAgentConversationManager, getAgentSessionManager, } from "../core/ag
|
|
|
14
14
|
import { readBundledPrompt } from "../core/prompts/bundled.js";
|
|
15
15
|
import { formatModeNames } from "../core/modes/definitions.js";
|
|
16
16
|
import { modelProviders } from "../core/models/index.js";
|
|
17
|
-
import { buildSessionConfigOptions, currentModelName, CONFIG_ID_MODE, CONFIG_ID_MODEL, } from "./session-config.js";
|
|
17
|
+
import { buildSessionConfigOptions, currentModelName, CONFIG_ID_EFFORT, CONFIG_ID_MODE, CONFIG_ID_MODEL, } from "./session-config.js";
|
|
18
|
+
import { activeProviderName, currentReasoningEffort, parseReasoningEffortArg, REASONING_EFFORT_LEVELS, REASONING_EFFORT_OFF, withReasoningEffort, } from "../core/models/reasoning-effort.js";
|
|
18
19
|
import { ACP_SLASH_COMMANDS, parseAcpSlashCommand, parseYoloToggle, } from "./commands.js";
|
|
19
20
|
import { ENTER_PLAN_MODE_TOOL, EXIT_PLAN_MODE_TOOL, } from "../core/state/tool-approvals.js";
|
|
20
21
|
import { runWithCwd } from "../core/utils/cwd-context.js";
|
|
@@ -371,6 +372,16 @@ export class HoomanAcpAgent {
|
|
|
371
372
|
await this.#applyModelChange(rec, value);
|
|
372
373
|
await patchSessionMeta(this.#acpRoot, params.sessionId, { model: value });
|
|
373
374
|
}
|
|
375
|
+
else if (params.configId === CONFIG_ID_EFFORT) {
|
|
376
|
+
const parsed = parseReasoningEffortArg(value);
|
|
377
|
+
if (!parsed) {
|
|
378
|
+
throw RequestError.invalidParams({
|
|
379
|
+
value,
|
|
380
|
+
message: `Unknown reasoning effort "${value}"`,
|
|
381
|
+
});
|
|
382
|
+
}
|
|
383
|
+
await this.#applyEffortChange(rec, parsed.value);
|
|
384
|
+
}
|
|
374
385
|
else {
|
|
375
386
|
throw RequestError.invalidParams({
|
|
376
387
|
configId: params.configId,
|
|
@@ -429,9 +440,82 @@ export class HoomanAcpAgent {
|
|
|
429
440
|
});
|
|
430
441
|
if (this.#isTurnActive(rec)) {
|
|
431
442
|
rec.pendingModelRebuild = true;
|
|
443
|
+
rec.pendingPersistModel = match.name;
|
|
432
444
|
return;
|
|
433
445
|
}
|
|
434
446
|
await this.#rebuildModel(rec, previous);
|
|
447
|
+
this.#persistDefaultModel(rec, match.name);
|
|
448
|
+
}
|
|
449
|
+
/**
|
|
450
|
+
* Persist the default-model choice to the shared on-disk config so it becomes
|
|
451
|
+
* the default for future sessions (mirrors the chat TUI's `/model`). Skips
|
|
452
|
+
* models that only exist in a project overlay.
|
|
453
|
+
*/
|
|
454
|
+
#persistDefaultModel(rec, modelName) {
|
|
455
|
+
rec.config.persistToDisk((base) => base.llms.some((entry) => entry.name === modelName)
|
|
456
|
+
? {
|
|
457
|
+
llms: base.llms.map((entry) => ({
|
|
458
|
+
...entry,
|
|
459
|
+
default: entry.name === modelName,
|
|
460
|
+
})),
|
|
461
|
+
}
|
|
462
|
+
: null);
|
|
463
|
+
}
|
|
464
|
+
/**
|
|
465
|
+
* Persist a provider's reasoning effort to the shared on-disk config
|
|
466
|
+
* (recomputed against the base provider so its other reasoning keys stay
|
|
467
|
+
* intact). Skips providers that only exist in a project overlay.
|
|
468
|
+
*/
|
|
469
|
+
#persistProviderEffort(rec, providerName, effort) {
|
|
470
|
+
rec.config.persistToDisk((base) => base.providers.some((entry) => entry.name === providerName)
|
|
471
|
+
? {
|
|
472
|
+
providers: base.providers.map((entry) => entry.name === providerName
|
|
473
|
+
? {
|
|
474
|
+
...entry,
|
|
475
|
+
options: withReasoningEffort(entry.options, effort),
|
|
476
|
+
}
|
|
477
|
+
: entry),
|
|
478
|
+
}
|
|
479
|
+
: null);
|
|
480
|
+
}
|
|
481
|
+
/**
|
|
482
|
+
* Set the reasoning effort for the session's active model provider. Flips the
|
|
483
|
+
* in-memory (ephemeral) provider option immediately, then rebuilds the live
|
|
484
|
+
* model — deferring the rebuild to the next turn boundary during a turn — and
|
|
485
|
+
* persists the change to the shared config (mirrors the chat TUI).
|
|
486
|
+
*/
|
|
487
|
+
async #applyEffortChange(rec, effort) {
|
|
488
|
+
const providerName = activeProviderName(rec.config);
|
|
489
|
+
if (!providerName) {
|
|
490
|
+
throw RequestError.invalidParams({
|
|
491
|
+
message: "No active model provider to set reasoning effort on.",
|
|
492
|
+
});
|
|
493
|
+
}
|
|
494
|
+
const providerEntry = rec.config.providers.find((entry) => entry.name === providerName);
|
|
495
|
+
if (!providerEntry) {
|
|
496
|
+
throw RequestError.invalidParams({
|
|
497
|
+
message: `Provider "${providerName}" is not configured.`,
|
|
498
|
+
});
|
|
499
|
+
}
|
|
500
|
+
const previousProviders = rec.config.providers;
|
|
501
|
+
rec.config.update({
|
|
502
|
+
providers: rec.config.providers.map((entry) => entry.name === providerName
|
|
503
|
+
? { ...entry, options: withReasoningEffort(entry.options, effort) }
|
|
504
|
+
: entry),
|
|
505
|
+
});
|
|
506
|
+
if (this.#isTurnActive(rec)) {
|
|
507
|
+
rec.pendingModelRebuild = true;
|
|
508
|
+
rec.pendingPersistEffort = { provider: providerName, effort };
|
|
509
|
+
return;
|
|
510
|
+
}
|
|
511
|
+
try {
|
|
512
|
+
await this.#rebuildModel(rec);
|
|
513
|
+
}
|
|
514
|
+
catch (error) {
|
|
515
|
+
rec.config.update({ providers: previousProviders });
|
|
516
|
+
throw error;
|
|
517
|
+
}
|
|
518
|
+
this.#persistProviderEffort(rec, providerName, effort);
|
|
435
519
|
}
|
|
436
520
|
/** Rebuild the Strands model from current config, rolling back on failure. */
|
|
437
521
|
async #rebuildModel(rec, previous) {
|
|
@@ -465,7 +549,19 @@ export class HoomanAcpAgent {
|
|
|
465
549
|
}
|
|
466
550
|
if (rec.pendingModelRebuild) {
|
|
467
551
|
rec.pendingModelRebuild = false;
|
|
468
|
-
|
|
552
|
+
const persistModel = rec.pendingPersistModel;
|
|
553
|
+
const persistEffort = rec.pendingPersistEffort;
|
|
554
|
+
rec.pendingPersistModel = null;
|
|
555
|
+
rec.pendingPersistEffort = null;
|
|
556
|
+
const rebuilt = await this.#rebuildModel(rec).then(() => true, () => false);
|
|
557
|
+
if (rebuilt) {
|
|
558
|
+
if (persistModel) {
|
|
559
|
+
this.#persistDefaultModel(rec, persistModel);
|
|
560
|
+
}
|
|
561
|
+
if (persistEffort) {
|
|
562
|
+
this.#persistProviderEffort(rec, persistEffort.provider, persistEffort.effort);
|
|
563
|
+
}
|
|
564
|
+
}
|
|
469
565
|
}
|
|
470
566
|
}
|
|
471
567
|
/**
|
|
@@ -478,6 +574,8 @@ export class HoomanAcpAgent {
|
|
|
478
574
|
return this.#commandSetMode(client, sessionId, rec, command.args);
|
|
479
575
|
case "model":
|
|
480
576
|
return this.#commandSetModel(client, sessionId, rec, command.args);
|
|
577
|
+
case "effort":
|
|
578
|
+
return this.#commandSetEffort(client, sessionId, rec, command.args);
|
|
481
579
|
case "yolo":
|
|
482
580
|
return this.#commandSetYolo(sessionId, rec, command.args);
|
|
483
581
|
case "compact":
|
|
@@ -539,6 +637,32 @@ export class HoomanAcpAgent {
|
|
|
539
637
|
'Use "/model <name>" to switch.',
|
|
540
638
|
].join("\n");
|
|
541
639
|
}
|
|
640
|
+
async #commandSetEffort(client, sessionId, rec, args) {
|
|
641
|
+
const current = currentReasoningEffort(rec.config);
|
|
642
|
+
const arg = args.trim();
|
|
643
|
+
if (!arg) {
|
|
644
|
+
return `Current reasoning effort: "${current ?? REASONING_EFFORT_OFF}". Use ${REASONING_EFFORT_LEVELS.join(", ")} or ${REASONING_EFFORT_OFF}.`;
|
|
645
|
+
}
|
|
646
|
+
const parsed = parseReasoningEffortArg(arg);
|
|
647
|
+
if (!parsed) {
|
|
648
|
+
return `Unknown effort "${arg}". Use ${REASONING_EFFORT_LEVELS.join(", ")} or ${REASONING_EFFORT_OFF}.`;
|
|
649
|
+
}
|
|
650
|
+
if (parsed.value === current) {
|
|
651
|
+
return `Reasoning effort is already "${current ?? REASONING_EFFORT_OFF}".`;
|
|
652
|
+
}
|
|
653
|
+
try {
|
|
654
|
+
await this.#applyEffortChange(rec, parsed.value);
|
|
655
|
+
}
|
|
656
|
+
catch (error) {
|
|
657
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
658
|
+
return `Could not set reasoning effort: ${message}`;
|
|
659
|
+
}
|
|
660
|
+
await this.#sendUpdate(client, sessionId, {
|
|
661
|
+
sessionUpdate: "config_option_update",
|
|
662
|
+
configOptions: buildSessionConfigOptions(rec.config, resolveSessionMode(getModeState(rec.agent).mode)),
|
|
663
|
+
});
|
|
664
|
+
return `Set reasoning effort to "${parsed.value ?? REASONING_EFFORT_OFF}".`;
|
|
665
|
+
}
|
|
542
666
|
async #commandSetYolo(sessionId, rec, args) {
|
|
543
667
|
const arg = args.trim();
|
|
544
668
|
if (!arg) {
|
|
@@ -938,6 +1062,8 @@ export class HoomanAcpAgent {
|
|
|
938
1062
|
lastStreamToolUseId: null,
|
|
939
1063
|
pendingModeReapply: false,
|
|
940
1064
|
pendingModelRebuild: false,
|
|
1065
|
+
pendingPersistModel: null,
|
|
1066
|
+
pendingPersistEffort: null,
|
|
941
1067
|
};
|
|
942
1068
|
}
|
|
943
1069
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acp-agent.js","sourceRoot":"","sources":["../../src/acp/acp-agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acp-agent.js","sourceRoot":"","sources":["../../src/acp/acp-agent.ts"],"names":[],"mappings":"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"}
|
package/dist/acp/commands.js
CHANGED
|
@@ -26,6 +26,11 @@ export const ACP_SLASH_COMMANDS = [
|
|
|
26
26
|
description: "Switch the language model for this session.",
|
|
27
27
|
input: { hint: "model name (blank to list)" },
|
|
28
28
|
},
|
|
29
|
+
{
|
|
30
|
+
name: "effort",
|
|
31
|
+
description: "Set the reasoning effort for this session.",
|
|
32
|
+
input: { hint: "minimal | low | medium | high | off (blank to list)" },
|
|
33
|
+
},
|
|
29
34
|
{
|
|
30
35
|
name: "yolo",
|
|
31
36
|
description: "Auto-approve tool calls without prompting.",
|
package/dist/acp/commands.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/acp/commands.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAI/D;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAgC;IAC7D;QACE,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,mCAAmC;KACjD;IACD;QACE,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,iDAAiD;QAC9D,KAAK,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE;KAC3C;IACD;QACE,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,wBAAwB,eAAe,EAAE,IAAI;QAC1D,KAAK,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE;KACtC;IACD;QACE,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,6CAA6C;QAC1D,KAAK,EAAE,EAAE,IAAI,EAAE,4BAA4B,EAAE;KAC9C;IACD;QACE,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,4CAA4C;QACzD,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;KAC5B;CACF,CAAC;AAEF,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AAEzE;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IACjC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,0CAA0C,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,CAAC;IACrC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;AACjD,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACnC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/acp/commands.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAI/D;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAgC;IAC7D;QACE,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,mCAAmC;KACjD;IACD;QACE,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,iDAAiD;QAC9D,KAAK,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE;KAC3C;IACD;QACE,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,wBAAwB,eAAe,EAAE,IAAI;QAC1D,KAAK,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE;KACtC;IACD;QACE,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,6CAA6C;QAC1D,KAAK,EAAE,EAAE,IAAI,EAAE,4BAA4B,EAAE;KAC9C;IACD;QACE,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,4CAA4C;QACzD,KAAK,EAAE,EAAE,IAAI,EAAE,qDAAqD,EAAE;KACvE;IACD;QACE,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,4CAA4C;QACzD,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;KAC5B;CACF,CAAC;AAEF,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AAEzE;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IACjC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,0CAA0C,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,CAAC;IACrC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;AACjD,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACnC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -5,6 +5,8 @@ import type { SessionMode } from "../core/modes/schema.js";
|
|
|
5
5
|
export declare const CONFIG_ID_MODE = "mode";
|
|
6
6
|
/** Config option id for the language-model selector. */
|
|
7
7
|
export declare const CONFIG_ID_MODEL = "model";
|
|
8
|
+
/** Config option id for the reasoning-effort selector. */
|
|
9
|
+
export declare const CONFIG_ID_EFFORT = "effort";
|
|
8
10
|
/** Name of the currently-active (default) named LLM, if any are configured. */
|
|
9
11
|
export declare function currentModelName(config: Config): string | undefined;
|
|
10
12
|
/**
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { MODE_DEFINITIONS } from "../core/modes/definitions.js";
|
|
2
|
+
import { currentReasoningEffort, REASONING_EFFORT_LEVELS, REASONING_EFFORT_OFF, } from "../core/models/reasoning-effort.js";
|
|
2
3
|
/** Config option id for the session mode selector (mirrors `session/set_mode`). */
|
|
3
4
|
export const CONFIG_ID_MODE = "mode";
|
|
4
5
|
/** Config option id for the language-model selector. */
|
|
5
6
|
export const CONFIG_ID_MODEL = "model";
|
|
7
|
+
/** Config option id for the reasoning-effort selector. */
|
|
8
|
+
export const CONFIG_ID_EFFORT = "effort";
|
|
6
9
|
/** Name of the currently-active (default) named LLM, if any are configured. */
|
|
7
10
|
export function currentModelName(config) {
|
|
8
11
|
return (config.llms.find((entry) => entry.default)?.name ?? config.llms[0]?.name);
|
|
@@ -34,6 +37,30 @@ export function buildSessionConfigOptions(config, currentMode) {
|
|
|
34
37
|
options: modelValues,
|
|
35
38
|
});
|
|
36
39
|
}
|
|
40
|
+
// Reasoning effort applies to the active model's provider. The `off` value
|
|
41
|
+
// maps to "no reasoning" (see reasoning-effort helpers).
|
|
42
|
+
if (modelValues.length > 0 && currentModel) {
|
|
43
|
+
options.push({
|
|
44
|
+
id: CONFIG_ID_EFFORT,
|
|
45
|
+
name: "Reasoning Effort",
|
|
46
|
+
description: "Reasoning/thinking effort for the active model",
|
|
47
|
+
category: "model",
|
|
48
|
+
type: "select",
|
|
49
|
+
currentValue: currentReasoningEffort(config) ?? REASONING_EFFORT_OFF,
|
|
50
|
+
options: [
|
|
51
|
+
{
|
|
52
|
+
value: REASONING_EFFORT_OFF,
|
|
53
|
+
name: REASONING_EFFORT_OFF,
|
|
54
|
+
description: "No reasoning",
|
|
55
|
+
},
|
|
56
|
+
...REASONING_EFFORT_LEVELS.map((level) => ({
|
|
57
|
+
value: level,
|
|
58
|
+
name: level,
|
|
59
|
+
description: `${level} reasoning effort`,
|
|
60
|
+
})),
|
|
61
|
+
],
|
|
62
|
+
});
|
|
63
|
+
}
|
|
37
64
|
options.push({
|
|
38
65
|
id: CONFIG_ID_MODE,
|
|
39
66
|
name: "Session Mode",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-config.js","sourceRoot":"","sources":["../../src/acp/session-config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"session-config.js","sourceRoot":"","sources":["../../src/acp/session-config.ts"],"names":[],"mappings":"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"}
|
package/dist/chat/app.js
CHANGED
|
@@ -5,6 +5,7 @@ import { Box, Static, useApp, useInput, useWindowSize } from "ink";
|
|
|
5
5
|
import { Message, TextBlock, ToolResultBlock, ToolUseBlock, } from "@strands-agents/sdk";
|
|
6
6
|
import { accumulateUsage, createEmptyUsage, } from "../core/utils/strands-usage-accumulate.js";
|
|
7
7
|
import { modelProviders } from "../core/models/index.js";
|
|
8
|
+
import { currentReasoningEffort, nextReasoningEffort, parseReasoningEffortArg, readProviderEffort, REASONING_EFFORT_LEVELS, REASONING_EFFORT_OFF, withReasoningEffort, } from "../core/models/reasoning-effort.js";
|
|
8
9
|
import { formatModeNames, isKnownSessionMode } from "../core/modes/index.js";
|
|
9
10
|
import { takeFileToolDisplay } from "../core/state/file-tool-display.js";
|
|
10
11
|
import { BottomChrome } from "./components/BottomChrome.js";
|
|
@@ -204,50 +205,6 @@ function currentModelLabel(config) {
|
|
|
204
205
|
// return `${active.name} (${active.options.provider}/${active.options.model})`;
|
|
205
206
|
return active.name;
|
|
206
207
|
}
|
|
207
|
-
function currentReasoningEffort(config) {
|
|
208
|
-
const active = config.llms.find((m) => m.default) ?? config.llms[0];
|
|
209
|
-
if (!active) {
|
|
210
|
-
return undefined;
|
|
211
|
-
}
|
|
212
|
-
const resolved = config.resolveLlm(active.name);
|
|
213
|
-
const options = resolved?.providerOptions;
|
|
214
|
-
return options?.reasoning?.effort;
|
|
215
|
-
}
|
|
216
|
-
/**
|
|
217
|
-
* Effort levels cycled by Ctrl/Cmd+,/. in chat. `undefined` is the "off"
|
|
218
|
-
* (no reasoning) rung so the shortcut can also disable thinking.
|
|
219
|
-
*/
|
|
220
|
-
const REASONING_EFFORT_CYCLE = [
|
|
221
|
-
undefined,
|
|
222
|
-
"minimal",
|
|
223
|
-
"low",
|
|
224
|
-
"medium",
|
|
225
|
-
"high",
|
|
226
|
-
];
|
|
227
|
-
function nextReasoningEffort(current, direction) {
|
|
228
|
-
const currentIndex = REASONING_EFFORT_CYCLE.indexOf((current ?? undefined));
|
|
229
|
-
const from = currentIndex === -1 ? 0 : currentIndex;
|
|
230
|
-
const length = REASONING_EFFORT_CYCLE.length;
|
|
231
|
-
const nextIndex = (from + direction + length) % length;
|
|
232
|
-
return REASONING_EFFORT_CYCLE[nextIndex];
|
|
233
|
-
}
|
|
234
|
-
/**
|
|
235
|
-
* Returns provider options with `reasoning.effort` set to `nextEffort`,
|
|
236
|
-
* preserving sibling reasoning keys and collapsing to `undefined` when the
|
|
237
|
-
* reasoning object would end up empty (so we never persist `"reasoning": {}`).
|
|
238
|
-
*/
|
|
239
|
-
function withReasoningEffort(options, nextEffort) {
|
|
240
|
-
const base = (options ?? {});
|
|
241
|
-
const reasoning = base.reasoning;
|
|
242
|
-
const merged = { ...(reasoning ?? {}), effort: nextEffort };
|
|
243
|
-
const hasValues = Object.values(merged).some((value) => value !== undefined);
|
|
244
|
-
return { ...base, reasoning: hasValues ? merged : undefined };
|
|
245
|
-
}
|
|
246
|
-
function readProviderEffort(options) {
|
|
247
|
-
const reasoning = options
|
|
248
|
-
?.reasoning;
|
|
249
|
-
return reasoning?.effort;
|
|
250
|
-
}
|
|
251
208
|
function parseChatCommand(text) {
|
|
252
209
|
const trimmed = text.trim();
|
|
253
210
|
if (!trimmed.startsWith("/")) {
|
|
@@ -323,6 +280,10 @@ const SLASH_COMMANDS = [
|
|
|
323
280
|
name: "init",
|
|
324
281
|
description: "Generate or refresh AGENTS.md for this project.",
|
|
325
282
|
},
|
|
283
|
+
{
|
|
284
|
+
name: "effort",
|
|
285
|
+
description: "Pick or set the reasoning effort.",
|
|
286
|
+
},
|
|
326
287
|
{
|
|
327
288
|
name: "mode",
|
|
328
289
|
description: `Session mode: ${formatModeNames()}.`,
|
|
@@ -672,20 +633,7 @@ export function ChatApp({ agent, config, sessionId, manager, registry, approvals
|
|
|
672
633
|
});
|
|
673
634
|
}
|
|
674
635
|
}, [agent, appendLine, config]);
|
|
675
|
-
const
|
|
676
|
-
if (runningRef.current) {
|
|
677
|
-
return;
|
|
678
|
-
}
|
|
679
|
-
const activeLlm = config.llms.find((entry) => entry.default) ?? config.llms[0];
|
|
680
|
-
if (!activeLlm) {
|
|
681
|
-
return;
|
|
682
|
-
}
|
|
683
|
-
const providerName = activeLlm.provider;
|
|
684
|
-
const providerEntry = config.providers.find((entry) => entry.name === providerName);
|
|
685
|
-
if (!providerEntry) {
|
|
686
|
-
return;
|
|
687
|
-
}
|
|
688
|
-
const nextEffort = nextReasoningEffort(readProviderEffort(providerEntry.options), direction);
|
|
636
|
+
const applyReasoningEffort = useCallback(async (nextEffort, providerName) => {
|
|
689
637
|
const nextProviders = config.providers.map((entry) => entry.name === providerName
|
|
690
638
|
? {
|
|
691
639
|
...entry,
|
|
@@ -725,6 +673,62 @@ export function ChatApp({ agent, config, sessionId, manager, registry, approvals
|
|
|
725
673
|
});
|
|
726
674
|
}
|
|
727
675
|
}, [agent, appendLine, bumpSessionChrome, config]);
|
|
676
|
+
const cycleReasoningEffort = useCallback(async (direction) => {
|
|
677
|
+
if (runningRef.current) {
|
|
678
|
+
return;
|
|
679
|
+
}
|
|
680
|
+
const active = config.llms.find((entry) => entry.default) ?? config.llms[0];
|
|
681
|
+
if (!active) {
|
|
682
|
+
return;
|
|
683
|
+
}
|
|
684
|
+
const providerName = active.provider;
|
|
685
|
+
const providerEntry = config.providers.find((entry) => entry.name === providerName);
|
|
686
|
+
if (!providerEntry) {
|
|
687
|
+
return;
|
|
688
|
+
}
|
|
689
|
+
const nextEffort = nextReasoningEffort(readProviderEffort(providerEntry.options), direction);
|
|
690
|
+
await applyReasoningEffort(nextEffort, providerName);
|
|
691
|
+
}, [applyReasoningEffort, config]);
|
|
692
|
+
const handleEffortCommand = useCallback(async (args) => {
|
|
693
|
+
if (runningRef.current) {
|
|
694
|
+
appendLine({
|
|
695
|
+
id: nowId(),
|
|
696
|
+
role: "system",
|
|
697
|
+
title: "effort",
|
|
698
|
+
content: "Wait for the active turn to finish before changing reasoning effort.",
|
|
699
|
+
done: true,
|
|
700
|
+
});
|
|
701
|
+
return;
|
|
702
|
+
}
|
|
703
|
+
const active = config.llms.find((entry) => entry.default) ?? config.llms[0];
|
|
704
|
+
if (!active) {
|
|
705
|
+
return;
|
|
706
|
+
}
|
|
707
|
+
const providerName = active.provider;
|
|
708
|
+
if (!config.providers.some((entry) => entry.name === providerName)) {
|
|
709
|
+
return;
|
|
710
|
+
}
|
|
711
|
+
const trimmed = args.trim();
|
|
712
|
+
if (!trimmed) {
|
|
713
|
+
setPicker("effort");
|
|
714
|
+
return;
|
|
715
|
+
}
|
|
716
|
+
const parsed = parseReasoningEffortArg(trimmed);
|
|
717
|
+
if (!parsed) {
|
|
718
|
+
appendLine({
|
|
719
|
+
id: nowId(),
|
|
720
|
+
role: "system",
|
|
721
|
+
title: "effort",
|
|
722
|
+
content: `Unknown effort "${trimmed}". Use ${REASONING_EFFORT_LEVELS.join(", ")} or ${REASONING_EFFORT_OFF}.`,
|
|
723
|
+
done: true,
|
|
724
|
+
});
|
|
725
|
+
return;
|
|
726
|
+
}
|
|
727
|
+
if (parsed.value === currentReasoningEffort(config)) {
|
|
728
|
+
return;
|
|
729
|
+
}
|
|
730
|
+
await applyReasoningEffort(parsed.value, providerName);
|
|
731
|
+
}, [appendLine, applyReasoningEffort, config]);
|
|
728
732
|
const handleYoloCommand = useCallback(async (args) => {
|
|
729
733
|
if (runningRef.current) {
|
|
730
734
|
appendLine({
|
|
@@ -1241,6 +1245,11 @@ export function ChatApp({ agent, config, sessionId, manager, registry, approvals
|
|
|
1241
1245
|
setInput("");
|
|
1242
1246
|
return;
|
|
1243
1247
|
}
|
|
1248
|
+
if (command.name === "effort") {
|
|
1249
|
+
void handleEffortCommand(command.args);
|
|
1250
|
+
setInput("");
|
|
1251
|
+
return;
|
|
1252
|
+
}
|
|
1244
1253
|
if (command.name === "compact") {
|
|
1245
1254
|
void handleCompactCommand();
|
|
1246
1255
|
setInput("");
|
|
@@ -1270,6 +1279,7 @@ export function ChatApp({ agent, config, sessionId, manager, registry, approvals
|
|
|
1270
1279
|
handleModelCommand,
|
|
1271
1280
|
handleCompactCommand,
|
|
1272
1281
|
handleConfigCommand,
|
|
1282
|
+
handleEffortCommand,
|
|
1273
1283
|
handleModeCommand,
|
|
1274
1284
|
handleNewCommand,
|
|
1275
1285
|
handleSessionsCommand,
|
|
@@ -1355,6 +1365,9 @@ export function ChatApp({ agent, config, sessionId, manager, registry, approvals
|
|
|
1355
1365
|
return (_jsxs(Box, { flexDirection: "column", width: "100%", children: [_jsx(Static, { items: committedLines, children: (line) => (_jsx(Box, { paddingX: 1, children: _jsx(TranscriptLine, { line: line, assistantName: config.name, reasoningDisplay: config.reasoning }) }, line.id)) }), _jsxs(Box, { flexDirection: "column", width: "100%", paddingX: 1, ...(isEmpty ? { height: Math.max(1, windowSize.rows - 1) } : {}), children: [isEmpty ? (_jsx(Box, { flexDirection: "column", flexGrow: 1, justifyContent: "center", children: _jsx(EmptyChatBanner, {}) })) : null, _jsx(LiveTranscript, { lines: liveLines, assistantName: config.name, reasoningDisplay: config.reasoning }), _jsx(BottomChrome, { config: config, running: running, status: status, currentModel: currentModelLabel(config), reasoningEffort: currentReasoningEffort(config), yoloOn: isYoloEnabled(agent), sessionMode: getModeState(agent).mode, elapsedLabel: elapsedLabel, turnCount: turnCount, totalTools: totalTools, skillsFound: skillsFound, manager: manager, mcpNeedsAttention: mcpNeedsAttention, usage: usage, todoState: todoState, queuedPrompts: queuedPrompts, pendingApproval: Boolean(pendingApproval), picker: picker, sessionItems: sessionItems, slashCommands: slashCommands, slashHighlightIndex: slashHighlightIndex, input: input, inputHint: inputHint, slashMenu: slashMenu, onApprovalDecision: (decision) => approvals.decide(decision), onModelSelect: (name) => {
|
|
1356
1366
|
setPicker(null);
|
|
1357
1367
|
void handleModelCommand(name);
|
|
1368
|
+
}, onEffortSelect: (value) => {
|
|
1369
|
+
setPicker(null);
|
|
1370
|
+
void handleEffortCommand(value);
|
|
1358
1371
|
}, onYoloSelect: (value) => {
|
|
1359
1372
|
setPicker(null);
|
|
1360
1373
|
void handleYoloCommand(value);
|