@tjamescouch/gro 1.3.9 → 1.3.10
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/main.js
CHANGED
|
@@ -528,6 +528,8 @@ async function executeTurn(driver, memory, mcp, cfg, sessionId) {
|
|
|
528
528
|
const newModel = resolveModelAlias(marker.arg);
|
|
529
529
|
Logger.info(`Stream marker: model-change '${marker.arg}' → ${newModel}`);
|
|
530
530
|
activeModel = newModel;
|
|
531
|
+
cfg.model = newModel; // persist across turns
|
|
532
|
+
memory.setModel(newModel); // persist in session metadata on save
|
|
531
533
|
}
|
|
532
534
|
else {
|
|
533
535
|
Logger.debug(`Stream marker: ${marker.name}('${marker.arg}')`);
|
|
@@ -684,6 +686,12 @@ async function singleShot(cfg, driver, mcp, sessionId, positionalArgs) {
|
|
|
684
686
|
// Resume existing session if requested
|
|
685
687
|
if (cfg.continueSession || cfg.resumeSession) {
|
|
686
688
|
await memory.load(sessionId);
|
|
689
|
+
const sess = loadSession(sessionId);
|
|
690
|
+
if (sess?.meta.model && sess.meta.model !== cfg.model) {
|
|
691
|
+
Logger.info(`Restoring model from session: ${cfg.model} → ${sess.meta.model}`);
|
|
692
|
+
cfg.model = sess.meta.model;
|
|
693
|
+
memory.setModel(sess.meta.model);
|
|
694
|
+
}
|
|
687
695
|
}
|
|
688
696
|
await memory.add({ role: "user", from: "User", content: prompt });
|
|
689
697
|
let text;
|
|
@@ -733,6 +741,12 @@ async function interactive(cfg, driver, mcp, sessionId) {
|
|
|
733
741
|
if (sess) {
|
|
734
742
|
const msgCount = sess.messages.filter((m) => m.role !== "system").length;
|
|
735
743
|
Logger.info(C.gray(`Resumed session ${sessionId} (${msgCount} messages)`));
|
|
744
|
+
// Restore model from session metadata (e.g. after a stream marker model-change)
|
|
745
|
+
if (sess.meta.model && sess.meta.model !== cfg.model) {
|
|
746
|
+
Logger.info(`Restoring model from session: ${cfg.model} → ${sess.meta.model}`);
|
|
747
|
+
cfg.model = sess.meta.model;
|
|
748
|
+
memory.setModel(sess.meta.model);
|
|
749
|
+
}
|
|
736
750
|
}
|
|
737
751
|
}
|
|
738
752
|
const rl = readline.createInterface({
|
|
@@ -24,6 +24,9 @@ export class AdvancedMemory extends AgentMemory {
|
|
|
24
24
|
this.keepRecentPerLane = Math.max(1, Math.floor(args.keepRecentPerLane ?? 4));
|
|
25
25
|
this.keepRecentTools = Math.max(0, Math.floor(args.keepRecentTools ?? 3));
|
|
26
26
|
}
|
|
27
|
+
setModel(model) {
|
|
28
|
+
this.model = model;
|
|
29
|
+
}
|
|
27
30
|
async load(id) {
|
|
28
31
|
const session = loadSession(id);
|
|
29
32
|
if (session) {
|
package/dist/package.json
CHANGED