reasonix 0.34.0 → 0.34.1

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.
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  chatCommand
4
- } from "./chunk-5SAMVHA3.js";
4
+ } from "./chunk-EINEIIIW.js";
5
5
  import "./chunk-BQNUJJN7.js";
6
6
  import "./chunk-RFX7TYVV.js";
7
7
  import "./chunk-MRLXEMZ7.js";
@@ -38,4 +38,4 @@ import "./chunk-ORM6PK57.js";
38
38
  export {
39
39
  chatCommand
40
40
  };
41
- //# sourceMappingURL=chat-TL4HMNEQ.js.map
41
+ //# sourceMappingURL=chat-TD6GR3QK.js.map
@@ -232,7 +232,7 @@ function buildMcpServerSummary(opts) {
232
232
  import { statSync } from "fs";
233
233
  import { resolve as resolve2 } from "path";
234
234
  import { Box as Box49, Text as Text52, useStdout as useStdout14 } from "ink";
235
- import React60, { useCallback as useCallback11, useEffect as useEffect12, useMemo as useMemo9, useRef as useRef8, useState as useState20 } from "react";
235
+ import React60, { useCallback as useCallback11, useEffect as useEffect12, useMemo as useMemo9, useRef as useRef9, useState as useState20 } from "react";
236
236
 
237
237
  // src/code/checkpoints.ts
238
238
  import { existsSync, mkdirSync, readFileSync, rmSync, writeFileSync } from "fs";
@@ -6856,31 +6856,64 @@ function useAgentSession({
6856
6856
  }
6857
6857
 
6858
6858
  // src/cli/ui/hooks/useChatScroll.ts
6859
- import { useCallback as useCallback2, useEffect as useEffect4, useState as useState14 } from "react";
6859
+ import { useCallback as useCallback2, useEffect as useEffect4, useRef as useRef2, useState as useState14 } from "react";
6860
6860
  var SCROLL_PAGE_ROWS = 3;
6861
+ var COALESCE_MS = 16;
6861
6862
  function useChatScroll() {
6862
6863
  const [scrollRows, setScrollRows] = useState14(0);
6863
6864
  const [pinned, setPinned] = useState14(true);
6864
6865
  const [maxScroll, setMaxScrollState] = useState14(0);
6866
+ const maxScrollRef = useRef2(0);
6867
+ const pendingDelta = useRef2(0);
6868
+ const flushTimer = useRef2(null);
6869
+ const flush = useCallback2(() => {
6870
+ flushTimer.current = null;
6871
+ const d = pendingDelta.current;
6872
+ pendingDelta.current = 0;
6873
+ if (d === 0) return;
6874
+ if (d < 0) setPinned(false);
6875
+ setScrollRows((o) => {
6876
+ const next = Math.max(0, Math.min(maxScrollRef.current, o + d));
6877
+ if (next >= maxScrollRef.current) setPinned(true);
6878
+ return next;
6879
+ });
6880
+ }, []);
6881
+ const schedule = useCallback2(
6882
+ (delta) => {
6883
+ pendingDelta.current += delta;
6884
+ if (flushTimer.current !== null) return;
6885
+ flushTimer.current = setTimeout(flush, COALESCE_MS);
6886
+ },
6887
+ [flush]
6888
+ );
6889
+ useEffect4(() => {
6890
+ return () => {
6891
+ if (flushTimer.current !== null) {
6892
+ clearTimeout(flushTimer.current);
6893
+ flushTimer.current = null;
6894
+ }
6895
+ };
6896
+ }, []);
6865
6897
  useEffect4(() => {
6866
6898
  if (pinned) setScrollRows(maxScroll);
6867
6899
  }, [pinned, maxScroll]);
6868
6900
  useEffect4(() => {
6869
6901
  if (scrollRows > maxScroll) setScrollRows(maxScroll);
6870
6902
  }, [scrollRows, maxScroll]);
6871
- const scrollUp = useCallback2(() => {
6872
- setPinned(false);
6873
- setScrollRows((o) => Math.max(0, o - SCROLL_PAGE_ROWS));
6903
+ const scrollUp = useCallback2(() => schedule(-SCROLL_PAGE_ROWS), [schedule]);
6904
+ const scrollDown = useCallback2(() => schedule(SCROLL_PAGE_ROWS), [schedule]);
6905
+ const jumpToBottom = useCallback2(() => {
6906
+ pendingDelta.current = 0;
6907
+ if (flushTimer.current !== null) {
6908
+ clearTimeout(flushTimer.current);
6909
+ flushTimer.current = null;
6910
+ }
6911
+ setPinned(true);
6912
+ }, []);
6913
+ const setMaxScroll = useCallback2((rows) => {
6914
+ maxScrollRef.current = rows;
6915
+ setMaxScrollState(rows);
6874
6916
  }, []);
6875
- const scrollDown = useCallback2(() => {
6876
- setScrollRows((o) => {
6877
- const next = Math.min(maxScroll, o + SCROLL_PAGE_ROWS);
6878
- if (next >= maxScroll) setPinned(true);
6879
- return next;
6880
- });
6881
- }, [maxScroll]);
6882
- const jumpToBottom = useCallback2(() => setPinned(true), []);
6883
- const setMaxScroll = useCallback2((rows) => setMaxScrollState(rows), []);
6884
6917
  return { scrollRows, pinned, scrollUp, scrollDown, jumpToBottom, setMaxScroll };
6885
6918
  }
6886
6919
 
@@ -6936,10 +6969,10 @@ function useCodeMode(opts) {
6936
6969
  }
6937
6970
 
6938
6971
  // src/cli/ui/hooks/useInputRecall.ts
6939
- import { useCallback as useCallback4, useRef as useRef2 } from "react";
6972
+ import { useCallback as useCallback4, useRef as useRef3 } from "react";
6940
6973
  function useInputRecall(setInput) {
6941
- const promptHistory = useRef2([]);
6942
- const historyCursor = useRef2(-1);
6974
+ const promptHistory = useRef3([]);
6975
+ const historyCursor = useRef3(-1);
6943
6976
  const recallPrev = useCallback4(() => {
6944
6977
  const hist = promptHistory.current;
6945
6978
  if (hist.length === 0) return;
@@ -6964,13 +6997,13 @@ function useInputRecall(setInput) {
6964
6997
  }
6965
6998
 
6966
6999
  // src/cli/ui/hooks/useLoopMode.ts
6967
- import { useCallback as useCallback5, useEffect as useEffect5, useRef as useRef3, useState as useState15 } from "react";
7000
+ import { useCallback as useCallback5, useEffect as useEffect5, useRef as useRef4, useState as useState15 } from "react";
6968
7001
  function useLoopMode(opts) {
6969
7002
  const { log, busyRef, handleSubmitRef } = opts;
6970
7003
  const [activeLoop, setActiveLoop] = useState15(null);
6971
- const activeLoopRef = useRef3(null);
6972
- const loopTimerRef = useRef3(null);
6973
- const loopFiringRef = useRef3(false);
7004
+ const activeLoopRef = useRef4(null);
7005
+ const loopTimerRef = useRef4(null);
7006
+ const loopFiringRef = useRef4(false);
6974
7007
  useEffect5(() => {
6975
7008
  activeLoopRef.current = activeLoop;
6976
7009
  }, [activeLoop]);
@@ -7699,7 +7732,7 @@ function useTranscriptWriter(transcriptRef, model2, prefixHash) {
7699
7732
 
7700
7733
  // src/cli/ui/layout/CardStream.tsx
7701
7734
  import { Box as Box44, Text as Text46, useBoxMetrics } from "ink";
7702
- import React53, { useEffect as useEffect7, useRef as useRef4 } from "react";
7735
+ import React53, { useEffect as useEffect7, useRef as useRef5 } from "react";
7703
7736
 
7704
7737
  // src/cli/ui/cards/CardRenderer.tsx
7705
7738
  import { Box as Box43, Text as Text45 } from "ink";
@@ -9054,8 +9087,8 @@ function CardStream({
9054
9087
  suppressLive = false
9055
9088
  }) {
9056
9089
  const cards = useAgentState((s) => s.cards);
9057
- const outerRef = useRef4(null);
9058
- const innerRef = useRef4(null);
9090
+ const outerRef = useRef5(null);
9091
+ const innerRef = useRef5(null);
9059
9092
  const outer = useBoxMetrics(outerRef);
9060
9093
  const inner = useBoxMetrics(innerRef);
9061
9094
  const maxScroll = Math.max(0, inner.height - outer.height);
@@ -11750,7 +11783,7 @@ function hydrateCardsFromMessages(messages) {
11750
11783
  }
11751
11784
 
11752
11785
  // src/cli/ui/useCompletionPickers.ts
11753
- import { useCallback as useCallback8, useEffect as useEffect9, useMemo as useMemo8, useReducer as useReducer2, useRef as useRef5, useState as useState16 } from "react";
11786
+ import { useCallback as useCallback8, useEffect as useEffect9, useMemo as useMemo8, useReducer as useReducer2, useRef as useRef6, useState as useState16 } from "react";
11754
11787
  var SEARCH_DEBOUNCE_MS = 80;
11755
11788
  var SEARCH_FLUSH_MS = 50;
11756
11789
  var SEARCH_RESULT_CAP = 200;
@@ -11781,7 +11814,7 @@ function useCompletionPickers({
11781
11814
  });
11782
11815
  }, [slashMatches]);
11783
11816
  const [atSelected, setAtSelected] = useState16(0);
11784
- const recentFilesRef = useRef5([]);
11817
+ const recentFilesRef = useRef6([]);
11785
11818
  const recordRecentFile = useCallback8((p) => {
11786
11819
  const list2 = recentFilesRef.current;
11787
11820
  const i = list2.indexOf(p);
@@ -11954,10 +11987,10 @@ function toBrowseEntry(d) {
11954
11987
  }
11955
11988
  function useStreamingSearch(rootDir, filter, recentFilesRef) {
11956
11989
  const [, bumpRender] = useReducer2((x) => x + 1, 0);
11957
- const hitsRef = useRef5([]);
11958
- const scannedRef = useRef5(0);
11959
- const searchingRef = useRef5(false);
11960
- const rankedRef = useRef5([]);
11990
+ const hitsRef = useRef6([]);
11991
+ const scannedRef = useRef6(0);
11992
+ const searchingRef = useRef6(false);
11993
+ const rankedRef = useRef6([]);
11961
11994
  useEffect9(() => {
11962
11995
  if (filter === null) {
11963
11996
  hitsRef.current = [];
@@ -12029,13 +12062,13 @@ function rankSearchHits(hits, filter, recent) {
12029
12062
  }
12030
12063
 
12031
12064
  // src/cli/ui/useEditHistory.ts
12032
- import { useCallback as useCallback9, useRef as useRef6, useState as useState17 } from "react";
12065
+ import { useCallback as useCallback9, useRef as useRef7, useState as useState17 } from "react";
12033
12066
  function useEditHistory(codeMode) {
12034
- const editHistory = useRef6([]);
12035
- const nextHistoryId = useRef6(1);
12036
- const currentTurnEntry = useRef6(null);
12067
+ const editHistory = useRef7([]);
12068
+ const nextHistoryId = useRef7(1);
12069
+ const currentTurnEntry = useRef7(null);
12037
12070
  const [undoBanner, setUndoBanner] = useState17(null);
12038
- const undoTimeoutRef = useRef6(null);
12071
+ const undoTimeoutRef = useRef7(null);
12039
12072
  const recordEdit = useCallback9(
12040
12073
  (source, blocks, results, snaps) => {
12041
12074
  if (snaps.length === 0) return;
@@ -12332,7 +12365,7 @@ function useSessionInfo(loop2) {
12332
12365
  }
12333
12366
 
12334
12367
  // src/cli/ui/useSubagent.ts
12335
- import { useEffect as useEffect11, useRef as useRef7, useState as useState19 } from "react";
12368
+ import { useEffect as useEffect11, useRef as useRef8, useState as useState19 } from "react";
12336
12369
  function summariseInner(ev) {
12337
12370
  if (ev.role === "tool_start") {
12338
12371
  return {
@@ -12364,8 +12397,8 @@ function useSubagent({
12364
12397
  getWalletCurrency
12365
12398
  }) {
12366
12399
  const [activities, setActivities] = useState19([]);
12367
- const sinkRef = useRef7({ current: null });
12368
- const getWalletCurrencyRef = useRef7(getWalletCurrency);
12400
+ const sinkRef = useRef8({ current: null });
12401
+ const getWalletCurrencyRef = useRef8(getWalletCurrency);
12369
12402
  useEffect11(() => {
12370
12403
  getWalletCurrencyRef.current = getWalletCurrency;
12371
12404
  }, [getWalletCurrency]);
@@ -12512,7 +12545,7 @@ function AppInner({
12512
12545
  dumpStartupProfile();
12513
12546
  }, []);
12514
12547
  const [liveMcpServers, setLiveMcpServers] = useState20(() => mcpServers ?? []);
12515
- const abortedThisTurn = useRef8(false);
12548
+ const abortedThisTurn = useRef9(false);
12516
12549
  useEffect12(() => {
12517
12550
  busyRef.current = busy;
12518
12551
  }, [busy]);
@@ -12530,7 +12563,7 @@ function AppInner({
12530
12563
  stdout.write("\x1B[>4m");
12531
12564
  };
12532
12565
  }, [stdout]);
12533
- const walletCurrencyRef = useRef8(void 0);
12566
+ const walletCurrencyRef = useRef9(void 0);
12534
12567
  const { activities: subagentActivities, sinkRef: subagentSinkRef } = useSubagent({
12535
12568
  session,
12536
12569
  log,
@@ -12555,7 +12588,7 @@ function AppInner({
12555
12588
  hasUndoable,
12556
12589
  touchedPaths
12557
12590
  } = useEditHistory(codeMode);
12558
- const pendingEdits = useRef8([]);
12591
+ const pendingEdits = useRef9([]);
12559
12592
  const [pendingCount, setPendingCount] = useState20(0);
12560
12593
  const syncPendingCount = useCallback11(() => {
12561
12594
  setPendingCount(pendingEdits.current.length);
@@ -12566,22 +12599,22 @@ function AppInner({
12566
12599
  if (model2 === "deepseek-v4-pro") return "pro";
12567
12600
  return "auto";
12568
12601
  });
12569
- const editModeRef = useRef8(editMode);
12602
+ const editModeRef = useRef9(editMode);
12570
12603
  useEffect12(() => {
12571
12604
  editModeRef.current = editMode;
12572
12605
  if (codeMode) saveEditMode(editMode);
12573
12606
  }, [editMode, codeMode]);
12574
- const planModeRef = useRef8(false);
12575
- const currentRootDirRef = useRef8("");
12576
- const latestVersionRef = useRef8(null);
12607
+ const planModeRef = useRef9(false);
12608
+ const currentRootDirRef = useRef9("");
12609
+ const latestVersionRef = useRef9(null);
12577
12610
  const [pendingEditReview, setPendingEditReview] = useState20(null);
12578
12611
  const [walkthroughActive, setWalkthroughActive] = useState20(false);
12579
12612
  const [pendingTick, setPendingTick] = useState20(0);
12580
- const editReviewResolveRef = useRef8(null);
12581
- const turnEditPolicyRef = useRef8("ask");
12613
+ const editReviewResolveRef = useRef9(null);
12614
+ const turnEditPolicyRef = useRef9("ask");
12582
12615
  const [modeFlash, setModeFlash] = useState20(false);
12583
- const modeFlashTimeoutRef = useRef8(null);
12584
- const prevEditModeRef = useRef8(editMode);
12616
+ const modeFlashTimeoutRef = useRef9(null);
12617
+ const prevEditModeRef = useRef9(editMode);
12585
12618
  useEffect12(() => {
12586
12619
  if (prevEditModeRef.current === editMode) return;
12587
12620
  prevEditModeRef.current = editMode;
@@ -12613,23 +12646,23 @@ function AppInner({
12613
12646
  const [turnOnPro, setTurnOnPro] = useState20(false);
12614
12647
  const [queuedSubmit, setQueuedSubmit] = useState20(null);
12615
12648
  const { recallPrev, recallNext, pushHistory, resetCursor } = useInputRecall(setInput);
12616
- const assistantIterCounter = useRef8(0);
12617
- const atUrlCache = useRef8(/* @__PURE__ */ new Map());
12618
- const handleSubmitRef = useRef8(null);
12619
- const busyRef = useRef8(false);
12620
- const dashboardRef = useRef8(null);
12621
- const dashboardStartingRef = useRef8(null);
12622
- const eventSubscribersRef = useRef8(/* @__PURE__ */ new Set());
12623
- const activePickerResolverRef = useRef8(null);
12624
- const activePickerSnapshotRef = useRef8(null);
12625
- const activeViewerResolverRef = useRef8(null);
12626
- const activeViewerSnapshotRef = useRef8(null);
12649
+ const assistantIterCounter = useRef9(0);
12650
+ const atUrlCache = useRef9(/* @__PURE__ */ new Map());
12651
+ const handleSubmitRef = useRef9(null);
12652
+ const busyRef = useRef9(false);
12653
+ const dashboardRef = useRef9(null);
12654
+ const dashboardStartingRef = useRef9(null);
12655
+ const eventSubscribersRef = useRef9(/* @__PURE__ */ new Set());
12656
+ const activePickerResolverRef = useRef9(null);
12657
+ const activePickerSnapshotRef = useRef9(null);
12658
+ const activeViewerResolverRef = useRef9(null);
12659
+ const activeViewerSnapshotRef = useRef9(null);
12627
12660
  const [pendingReplayViewer, setPendingReplayViewer] = useState20(null);
12628
- const planStepsRef = useRef8(null);
12629
- const completedStepIdsRef = useRef8(/* @__PURE__ */ new Set());
12630
- const planBodyRef = useRef8(null);
12631
- const planSummaryRef = useRef8(null);
12632
- const toolStartedAtRef = useRef8(null);
12661
+ const planStepsRef = useRef9(null);
12662
+ const completedStepIdsRef = useRef9(/* @__PURE__ */ new Set());
12663
+ const planBodyRef = useRef9(null);
12664
+ const planSummaryRef = useRef9(null);
12665
+ const toolStartedAtRef = useRef9(null);
12633
12666
  const persistPlanState = useCallback11(() => {
12634
12667
  if (!session) return;
12635
12668
  const steps = planStepsRef.current;
@@ -12653,7 +12686,7 @@ function AppInner({
12653
12686
  lastPromptTokens: 0,
12654
12687
  lastTurnCostUsd: 0
12655
12688
  });
12656
- const transcriptRef = useRef8(null);
12689
+ const transcriptRef = useRef9(null);
12657
12690
  if (transcript && !transcriptRef.current) {
12658
12691
  transcriptRef.current = openTranscriptFile(transcript, {
12659
12692
  version: 1,
@@ -12662,8 +12695,8 @@ function AppInner({
12662
12695
  startedAt: (/* @__PURE__ */ new Date()).toISOString()
12663
12696
  });
12664
12697
  }
12665
- const eventSinkRef = useRef8(null);
12666
- const eventizerRef = useRef8(null);
12698
+ const eventSinkRef = useRef9(null);
12699
+ const eventizerRef = useRef9(null);
12667
12700
  if (session && !eventSinkRef.current) {
12668
12701
  eventSinkRef.current = openEventSink(eventLogPath(session));
12669
12702
  eventizerRef.current = new Eventizer();
@@ -12675,7 +12708,7 @@ function AppInner({
12675
12708
  void eventSinkRef.current?.close();
12676
12709
  };
12677
12710
  }, []);
12678
- const loopRef = useRef8(null);
12711
+ const loopRef = useRef9(null);
12679
12712
  const loop2 = useMemo9(() => {
12680
12713
  if (loopRef.current) return loopRef.current;
12681
12714
  const client = new DeepSeekClient();
@@ -12781,8 +12814,8 @@ function AppInner({
12781
12814
  useEffect12(() => {
12782
12815
  latestVersionRef.current = latestVersion ?? null;
12783
12816
  }, [latestVersion]);
12784
- const balanceRef = useRef8(null);
12785
- const modelsRef = useRef8(null);
12817
+ const balanceRef = useRef9(null);
12818
+ const modelsRef = useRef9(null);
12786
12819
  useEffect12(() => {
12787
12820
  modelsRef.current = models;
12788
12821
  }, [models]);
@@ -12945,7 +12978,7 @@ function AppInner({
12945
12978
  if (progressSink.current) progressSink.current = null;
12946
12979
  };
12947
12980
  }, [progressSink]);
12948
- const sessionBannerShown = useRef8(false);
12981
+ const sessionBannerShown = useRef9(false);
12949
12982
  useEffect12(() => {
12950
12983
  if (sessionBannerShown.current) return;
12951
12984
  sessionBannerShown.current = true;
@@ -14102,7 +14135,7 @@ function AppInner({
14102
14135
  },
14103
14136
  [pendingShell, codeMode, currentRootDir, log]
14104
14137
  );
14105
- const pendingGateIdRef = useRef8(null);
14138
+ const pendingGateIdRef = useRef9(null);
14106
14139
  useEffect12(() => {
14107
14140
  if (!busy && queuedSubmit !== null) {
14108
14141
  const text = queuedSubmit;
@@ -14139,7 +14172,7 @@ function AppInner({
14139
14172
  },
14140
14173
  [pendingPlan]
14141
14174
  );
14142
- const handlePlanConfirmRef = useRef8(handlePlanConfirm);
14175
+ const handlePlanConfirmRef = useRef9(handlePlanConfirm);
14143
14176
  useEffect12(() => {
14144
14177
  handlePlanConfirmRef.current = handlePlanConfirm;
14145
14178
  }, [handlePlanConfirm]);
@@ -14233,7 +14266,7 @@ Stay in plan mode \u2014 address the feedback (explore more if needed), then sub
14233
14266
  },
14234
14267
  [stagedInput, togglePlanMode, persistPlanState, agentStore, log]
14235
14268
  );
14236
- const handleStagedInputSubmitRef = useRef8(handleStagedInputSubmit);
14269
+ const handleStagedInputSubmitRef = useRef9(handleStagedInputSubmit);
14237
14270
  useEffect12(() => {
14238
14271
  handleStagedInputSubmitRef.current = handleStagedInputSubmit;
14239
14272
  }, [handleStagedInputSubmit]);
@@ -14262,7 +14295,7 @@ Stay in plan mode \u2014 address the feedback (explore more if needed), then sub
14262
14295
  },
14263
14296
  [pendingChoice]
14264
14297
  );
14265
- const handleShellConfirmRef = useRef8(handleShellConfirm);
14298
+ const handleShellConfirmRef = useRef9(handleShellConfirm);
14266
14299
  useEffect12(() => {
14267
14300
  handleShellConfirmRef.current = handleShellConfirm;
14268
14301
  }, [handleShellConfirm]);
@@ -14325,11 +14358,11 @@ Stay in plan mode \u2014 address the feedback (explore more if needed), then sub
14325
14358
  }
14326
14359
  });
14327
14360
  }, []);
14328
- const pendingPlanRef = useRef8(null);
14361
+ const pendingPlanRef = useRef9(null);
14329
14362
  useEffect12(() => {
14330
14363
  pendingPlanRef.current = pendingPlan;
14331
14364
  }, [pendingPlan]);
14332
- const handleChoiceConfirmRef = useRef8(handleChoiceConfirm);
14365
+ const handleChoiceConfirmRef = useRef9(handleChoiceConfirm);
14333
14366
  useEffect12(() => {
14334
14367
  handleChoiceConfirmRef.current = handleChoiceConfirm;
14335
14368
  }, [handleChoiceConfirm]);
@@ -14382,7 +14415,7 @@ Stay in plan mode \u2014 address the feedback (explore more if needed), then sub
14382
14415
  },
14383
14416
  [pendingCheckpoint, codeMode, touchedPaths, log]
14384
14417
  );
14385
- const handleCheckpointConfirmRef = useRef8(handleCheckpointConfirm);
14418
+ const handleCheckpointConfirmRef = useRef9(handleCheckpointConfirm);
14386
14419
  useEffect12(() => {
14387
14420
  handleCheckpointConfirmRef.current = handleCheckpointConfirm;
14388
14421
  }, [handleCheckpointConfirm]);
@@ -14411,7 +14444,7 @@ Stay in plan mode \u2014 address the feedback (explore more if needed), then sub
14411
14444
  },
14412
14445
  [codeMode, touchedPaths, log]
14413
14446
  );
14414
- const handleAutoCheckpointContinueRef = useRef8(handleAutoCheckpointContinue);
14447
+ const handleAutoCheckpointContinueRef = useRef9(handleAutoCheckpointContinue);
14415
14448
  useEffect12(() => {
14416
14449
  handleAutoCheckpointContinueRef.current = handleAutoCheckpointContinue;
14417
14450
  }, [handleAutoCheckpointContinue]);
@@ -14446,7 +14479,7 @@ Stay in plan mode \u2014 address the feedback (explore more if needed), then sub
14446
14479
  setStagedCheckpointRevise(null);
14447
14480
  if (snap) setPendingCheckpoint(snap);
14448
14481
  }, [stagedCheckpointRevise]);
14449
- const handleCheckpointReviseSubmitRef = useRef8(handleCheckpointReviseSubmit);
14482
+ const handleCheckpointReviseSubmitRef = useRef9(handleCheckpointReviseSubmit);
14450
14483
  useEffect12(() => {
14451
14484
  handleCheckpointReviseSubmitRef.current = handleCheckpointReviseSubmit;
14452
14485
  }, [handleCheckpointReviseSubmit]);
@@ -14497,7 +14530,7 @@ Stay in plan mode \u2014 address the feedback (explore more if needed), then sub
14497
14530
  },
14498
14531
  [pendingRevision, persistPlanState, agentStore, log]
14499
14532
  );
14500
- const handleReviseConfirmRef = useRef8(handleReviseConfirm);
14533
+ const handleReviseConfirmRef = useRef9(handleReviseConfirm);
14501
14534
  useEffect12(() => {
14502
14535
  handleReviseConfirmRef.current = handleReviseConfirm;
14503
14536
  }, [handleReviseConfirm]);
@@ -14815,7 +14848,7 @@ import React62, { useState as useState21 } from "react";
14815
14848
 
14816
14849
  // src/cli/ui/MaskedInput.tsx
14817
14850
  import { Text as Text53, useInput } from "ink";
14818
- import React61, { useRef as useRef9 } from "react";
14851
+ import React61, { useRef as useRef10 } from "react";
14819
14852
  function stripPasteMarkers(s) {
14820
14853
  return s.replace(/\u001b?\[20[01]~/g, "").replace(/\u001b/g, "");
14821
14854
  }
@@ -14826,7 +14859,7 @@ function MaskedInput({
14826
14859
  mask = "\u2022",
14827
14860
  placeholder = ""
14828
14861
  }) {
14829
- const valueRef = useRef9(value);
14862
+ const valueRef = useRef10(value);
14830
14863
  valueRef.current = value;
14831
14864
  useInput((input, key) => {
14832
14865
  if (key.return) {
@@ -15254,4 +15287,4 @@ async function chatCommand(opts) {
15254
15287
  export {
15255
15288
  chatCommand
15256
15289
  };
15257
- //# sourceMappingURL=chunk-5SAMVHA3.js.map
15290
+ //# sourceMappingURL=chunk-EINEIIIW.js.map