zidane 1.6.9 → 1.6.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.
|
@@ -777,13 +777,28 @@ ${skillsCatalog}`;
|
|
|
777
777
|
hooks.callHook("session:turns", { sessionId: session.id, count: turns.length });
|
|
778
778
|
}
|
|
779
779
|
}) : void 0;
|
|
780
|
+
async function flushTurns() {
|
|
781
|
+
if (!session) return;
|
|
782
|
+
const remaining = turns.slice(lastPersistedTurnCount);
|
|
783
|
+
if (remaining.length > 0) {
|
|
784
|
+
await session.appendTurns(remaining);
|
|
785
|
+
lastPersistedTurnCount = turns.length;
|
|
786
|
+
}
|
|
787
|
+
}
|
|
788
|
+
async function finalizeSession(status) {
|
|
789
|
+
if (!session) return;
|
|
790
|
+
const run2 = session.runs.find((r) => r.id === runId);
|
|
791
|
+
if (run2)
|
|
792
|
+
await session.updateRun(run2);
|
|
793
|
+
await session.updateStatus(status === "aborted" ? "idle" : status);
|
|
794
|
+
await hooks.callHook("session:end", { sessionId: session.id, runId, status, turnRange: [runTurnStart, turns.length - 1] });
|
|
795
|
+
}
|
|
780
796
|
try {
|
|
781
797
|
const stats = await runLoop({
|
|
782
798
|
provider,
|
|
783
799
|
hooks,
|
|
784
800
|
harness,
|
|
785
801
|
tools,
|
|
786
|
-
toolSpecs,
|
|
787
802
|
formattedTools,
|
|
788
803
|
model,
|
|
789
804
|
system,
|
|
@@ -806,26 +821,16 @@ ${skillsCatalog}`;
|
|
|
806
821
|
...stats,
|
|
807
822
|
children: childrenStats.length > 0 ? childrenStats : void 0
|
|
808
823
|
};
|
|
824
|
+
await flushTurns();
|
|
809
825
|
if (abortController.signal.aborted) {
|
|
810
826
|
session?.abortRun(runId);
|
|
811
|
-
|
|
812
|
-
const run2 = session.runs.find((r) => r.id === runId);
|
|
813
|
-
if (run2)
|
|
814
|
-
await session.updateRun(run2);
|
|
815
|
-
await session.updateStatus("idle");
|
|
816
|
-
await hooks.callHook("session:end", { sessionId: session.id, runId, status: "aborted", turnRange: [runTurnStart, turns.length - 1] });
|
|
817
|
-
}
|
|
827
|
+
await finalizeSession("aborted");
|
|
818
828
|
await hooks.callHook("agent:done", finalStats);
|
|
819
829
|
return finalStats;
|
|
820
830
|
}
|
|
821
831
|
const totalCost = finalStats.turnUsage?.reduce((sum, t) => sum + (t.cost ?? 0), 0);
|
|
822
832
|
if (totalCost)
|
|
823
833
|
finalStats.cost = totalCost;
|
|
824
|
-
const finalNewTurns = turns.slice(lastPersistedTurnCount);
|
|
825
|
-
if (session && finalNewTurns.length > 0) {
|
|
826
|
-
await session.appendTurns(finalNewTurns);
|
|
827
|
-
lastPersistedTurnCount = turns.length;
|
|
828
|
-
}
|
|
829
834
|
session?.completeRun(runId, {
|
|
830
835
|
turns: finalStats.turns,
|
|
831
836
|
tokensIn: finalStats.totalIn,
|
|
@@ -833,37 +838,20 @@ ${skillsCatalog}`;
|
|
|
833
838
|
turnUsage: finalStats.turnUsage,
|
|
834
839
|
cost: totalCost
|
|
835
840
|
});
|
|
836
|
-
|
|
837
|
-
const run2 = session.runs.find((r) => r.id === runId);
|
|
838
|
-
if (run2)
|
|
839
|
-
await session.updateRun(run2);
|
|
840
|
-
await session.updateStatus("completed");
|
|
841
|
-
await hooks.callHook("session:end", { sessionId: session.id, runId, status: "completed", turnRange: [runTurnStart, turns.length - 1] });
|
|
842
|
-
}
|
|
841
|
+
await finalizeSession("completed");
|
|
843
842
|
await hooks.callHook("agent:done", finalStats);
|
|
844
843
|
return finalStats;
|
|
845
844
|
} catch (err) {
|
|
845
|
+
await flushTurns();
|
|
846
846
|
if (abortController.signal.aborted) {
|
|
847
847
|
session?.abortRun(runId);
|
|
848
|
-
|
|
849
|
-
const run2 = session.runs.find((r) => r.id === runId);
|
|
850
|
-
if (run2)
|
|
851
|
-
await session.updateRun(run2);
|
|
852
|
-
await session.updateStatus("idle");
|
|
853
|
-
await hooks.callHook("session:end", { sessionId: session.id, runId, status: "aborted", turnRange: [runTurnStart, turns.length - 1] });
|
|
854
|
-
}
|
|
848
|
+
await finalizeSession("aborted");
|
|
855
849
|
const stats = { totalIn: 0, totalOut: 0, turns: 0, elapsed: 0 };
|
|
856
850
|
await hooks.callHook("agent:done", stats);
|
|
857
851
|
return stats;
|
|
858
852
|
}
|
|
859
853
|
session?.errorRun(runId, err.message);
|
|
860
|
-
|
|
861
|
-
const run2 = session.runs.find((r) => r.id === runId);
|
|
862
|
-
if (run2)
|
|
863
|
-
await session.updateRun(run2);
|
|
864
|
-
await session.updateStatus("error");
|
|
865
|
-
await hooks.callHook("session:end", { sessionId: session.id, runId, status: "error", turnRange: [runTurnStart, turns.length - 1] });
|
|
866
|
-
}
|
|
854
|
+
await finalizeSession("error");
|
|
867
855
|
throw err;
|
|
868
856
|
} finally {
|
|
869
857
|
unregisterSpawnHook();
|
package/dist/harnesses.js
CHANGED
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
defineHarness,
|
|
3
3
|
noTools
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-NPXSTO6S.js";
|
|
5
5
|
import {
|
|
6
6
|
createAgent,
|
|
7
7
|
createDockerContext,
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
createSandboxContext,
|
|
11
11
|
createSpawnTool,
|
|
12
12
|
spawn
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-GGPBK22K.js";
|
|
14
14
|
import {
|
|
15
15
|
connectMcpServers
|
|
16
16
|
} from "./chunk-5LOHDFK3.js";
|
package/dist/tools.js
CHANGED