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.
- package/dist/cli/{chat-TL4HMNEQ.js → chat-TD6GR3QK.js} +2 -2
- package/dist/cli/{chunk-5SAMVHA3.js → chunk-EINEIIIW.js} +118 -85
- package/dist/cli/chunk-EINEIIIW.js.map +1 -0
- package/dist/cli/{code-V6F4BKMG.js → code-TGUOQBRJ.js} +2 -2
- package/dist/cli/index.js +3 -3
- package/package.json +1 -1
- package/dist/cli/chunk-5SAMVHA3.js.map +0 -1
- /package/dist/cli/{chat-TL4HMNEQ.js.map → chat-TD6GR3QK.js.map} +0 -0
- /package/dist/cli/{code-V6F4BKMG.js.map → code-TGUOQBRJ.js.map} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
chatCommand
|
|
4
|
-
} from "./chunk-
|
|
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-
|
|
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
|
|
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
|
-
|
|
6873
|
-
|
|
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
|
|
6972
|
+
import { useCallback as useCallback4, useRef as useRef3 } from "react";
|
|
6940
6973
|
function useInputRecall(setInput) {
|
|
6941
|
-
const promptHistory =
|
|
6942
|
-
const historyCursor =
|
|
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
|
|
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 =
|
|
6972
|
-
const loopTimerRef =
|
|
6973
|
-
const loopFiringRef =
|
|
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
|
|
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 =
|
|
9058
|
-
const innerRef =
|
|
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
|
|
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 =
|
|
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 =
|
|
11958
|
-
const scannedRef =
|
|
11959
|
-
const searchingRef =
|
|
11960
|
-
const rankedRef =
|
|
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
|
|
12065
|
+
import { useCallback as useCallback9, useRef as useRef7, useState as useState17 } from "react";
|
|
12033
12066
|
function useEditHistory(codeMode) {
|
|
12034
|
-
const editHistory =
|
|
12035
|
-
const nextHistoryId =
|
|
12036
|
-
const currentTurnEntry =
|
|
12067
|
+
const editHistory = useRef7([]);
|
|
12068
|
+
const nextHistoryId = useRef7(1);
|
|
12069
|
+
const currentTurnEntry = useRef7(null);
|
|
12037
12070
|
const [undoBanner, setUndoBanner] = useState17(null);
|
|
12038
|
-
const undoTimeoutRef =
|
|
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
|
|
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 =
|
|
12368
|
-
const getWalletCurrencyRef =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
12575
|
-
const currentRootDirRef =
|
|
12576
|
-
const latestVersionRef =
|
|
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 =
|
|
12581
|
-
const turnEditPolicyRef =
|
|
12613
|
+
const editReviewResolveRef = useRef9(null);
|
|
12614
|
+
const turnEditPolicyRef = useRef9("ask");
|
|
12582
12615
|
const [modeFlash, setModeFlash] = useState20(false);
|
|
12583
|
-
const modeFlashTimeoutRef =
|
|
12584
|
-
const prevEditModeRef =
|
|
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 =
|
|
12617
|
-
const atUrlCache =
|
|
12618
|
-
const handleSubmitRef =
|
|
12619
|
-
const busyRef =
|
|
12620
|
-
const dashboardRef =
|
|
12621
|
-
const dashboardStartingRef =
|
|
12622
|
-
const eventSubscribersRef =
|
|
12623
|
-
const activePickerResolverRef =
|
|
12624
|
-
const activePickerSnapshotRef =
|
|
12625
|
-
const activeViewerResolverRef =
|
|
12626
|
-
const activeViewerSnapshotRef =
|
|
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 =
|
|
12629
|
-
const completedStepIdsRef =
|
|
12630
|
-
const planBodyRef =
|
|
12631
|
-
const planSummaryRef =
|
|
12632
|
-
const toolStartedAtRef =
|
|
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 =
|
|
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 =
|
|
12666
|
-
const eventizerRef =
|
|
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 =
|
|
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 =
|
|
12785
|
-
const modelsRef =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
14361
|
+
const pendingPlanRef = useRef9(null);
|
|
14329
14362
|
useEffect12(() => {
|
|
14330
14363
|
pendingPlanRef.current = pendingPlan;
|
|
14331
14364
|
}, [pendingPlan]);
|
|
14332
|
-
const handleChoiceConfirmRef =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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
|
|
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 =
|
|
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-
|
|
15290
|
+
//# sourceMappingURL=chunk-EINEIIIW.js.map
|