zidane 1.6.9 → 1.6.11
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,30 @@ ${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)
|
|
782
|
+
return;
|
|
783
|
+
const remaining = turns.slice(lastPersistedTurnCount);
|
|
784
|
+
if (remaining.length > 0) {
|
|
785
|
+
await session.appendTurns(remaining);
|
|
786
|
+
lastPersistedTurnCount = turns.length;
|
|
787
|
+
}
|
|
788
|
+
}
|
|
789
|
+
async function finalizeSession(status) {
|
|
790
|
+
if (!session)
|
|
791
|
+
return;
|
|
792
|
+
const run2 = session.runs.find((r) => r.id === runId);
|
|
793
|
+
if (run2)
|
|
794
|
+
await session.updateRun(run2);
|
|
795
|
+
await session.updateStatus(status === "aborted" ? "idle" : status);
|
|
796
|
+
await hooks.callHook("session:end", { sessionId: session.id, runId, status, turnRange: [runTurnStart, turns.length - 1] });
|
|
797
|
+
}
|
|
780
798
|
try {
|
|
781
799
|
const stats = await runLoop({
|
|
782
800
|
provider,
|
|
783
801
|
hooks,
|
|
784
802
|
harness,
|
|
785
803
|
tools,
|
|
786
|
-
toolSpecs,
|
|
787
804
|
formattedTools,
|
|
788
805
|
model,
|
|
789
806
|
system,
|
|
@@ -806,26 +823,16 @@ ${skillsCatalog}`;
|
|
|
806
823
|
...stats,
|
|
807
824
|
children: childrenStats.length > 0 ? childrenStats : void 0
|
|
808
825
|
};
|
|
826
|
+
await flushTurns();
|
|
809
827
|
if (abortController.signal.aborted) {
|
|
810
828
|
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
|
-
}
|
|
829
|
+
await finalizeSession("aborted");
|
|
818
830
|
await hooks.callHook("agent:done", finalStats);
|
|
819
831
|
return finalStats;
|
|
820
832
|
}
|
|
821
833
|
const totalCost = finalStats.turnUsage?.reduce((sum, t) => sum + (t.cost ?? 0), 0);
|
|
822
834
|
if (totalCost)
|
|
823
835
|
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
836
|
session?.completeRun(runId, {
|
|
830
837
|
turns: finalStats.turns,
|
|
831
838
|
tokensIn: finalStats.totalIn,
|
|
@@ -833,37 +840,20 @@ ${skillsCatalog}`;
|
|
|
833
840
|
turnUsage: finalStats.turnUsage,
|
|
834
841
|
cost: totalCost
|
|
835
842
|
});
|
|
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
|
-
}
|
|
843
|
+
await finalizeSession("completed");
|
|
843
844
|
await hooks.callHook("agent:done", finalStats);
|
|
844
845
|
return finalStats;
|
|
845
846
|
} catch (err) {
|
|
847
|
+
await flushTurns();
|
|
846
848
|
if (abortController.signal.aborted) {
|
|
847
849
|
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
|
-
}
|
|
850
|
+
await finalizeSession("aborted");
|
|
855
851
|
const stats = { totalIn: 0, totalOut: 0, turns: 0, elapsed: 0 };
|
|
856
852
|
await hooks.callHook("agent:done", stats);
|
|
857
853
|
return stats;
|
|
858
854
|
}
|
|
859
855
|
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
|
-
}
|
|
856
|
+
await finalizeSession("error");
|
|
867
857
|
throw err;
|
|
868
858
|
} finally {
|
|
869
859
|
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-I4H5NMVB.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-WNQFXNKB.js";
|
|
14
14
|
import {
|
|
15
15
|
connectMcpServers
|
|
16
16
|
} from "./chunk-5LOHDFK3.js";
|
package/dist/tools.js
CHANGED