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.
@@ -4,7 +4,7 @@ import {
4
4
  shell,
5
5
  spawn,
6
6
  writeFile
7
- } from "./chunk-GCALAOLD.js";
7
+ } from "./chunk-WNQFXNKB.js";
8
8
 
9
9
  // src/harnesses/basic.ts
10
10
  var basicTools = { shell, readFile, writeFile, listFiles };
@@ -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
- if (session) {
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
- if (session) {
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
- if (session) {
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
- if (session) {
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
@@ -3,8 +3,8 @@ import {
3
3
  basic_default,
4
4
  defineHarness,
5
5
  noTools
6
- } from "./chunk-Z2NZSEBZ.js";
7
- import "./chunk-GCALAOLD.js";
6
+ } from "./chunk-I4H5NMVB.js";
7
+ import "./chunk-WNQFXNKB.js";
8
8
  import "./chunk-5LOHDFK3.js";
9
9
  import "./chunk-4C6Y56CC.js";
10
10
  export {
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  defineHarness,
3
3
  noTools
4
- } from "./chunk-Z2NZSEBZ.js";
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-GCALAOLD.js";
13
+ } from "./chunk-WNQFXNKB.js";
14
14
  import {
15
15
  connectMcpServers
16
16
  } from "./chunk-5LOHDFK3.js";
package/dist/tools.js CHANGED
@@ -7,7 +7,7 @@ import {
7
7
  spawn,
8
8
  validateToolArgs,
9
9
  writeFile
10
- } from "./chunk-GCALAOLD.js";
10
+ } from "./chunk-WNQFXNKB.js";
11
11
  import "./chunk-5LOHDFK3.js";
12
12
  import "./chunk-4C6Y56CC.js";
13
13
  export {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zidane",
3
- "version": "1.6.9",
3
+ "version": "1.6.11",
4
4
  "description": "an agent that goes straight to the goal",
5
5
  "type": "module",
6
6
  "private": false,