@linghun/tui 0.1.1 → 0.1.3
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/agent-completion-finalizer.js +3 -3
- package/dist/background-control-runtime.js +55 -55
- package/dist/cache-command-runtime.js +3 -3
- package/dist/capability-runtime.js +34 -34
- package/dist/{chunk-TJLC3QAS.js → chunk-36ZWUJQS.js} +1 -1
- package/dist/{chunk-DTK5NBTV.js → chunk-4BFCUJX6.js} +95 -11
- package/dist/{chunk-YH6UIHNF.js → chunk-4QWCNMP6.js} +2 -2
- package/dist/{chunk-WKMBK5UP.js → chunk-4TO2LDMP.js} +1 -1
- package/dist/{chunk-QG2FJ3NR.js → chunk-5OZEJQBH.js} +3 -3
- package/dist/{chunk-J7ZE2JKP.js → chunk-6C32YAB5.js} +19 -7
- package/dist/{chunk-W3KHJNSH.js → chunk-6CHUZ2NF.js} +2 -2
- package/dist/{chunk-I3NTAIMF.js → chunk-6DBBXNEG.js} +3 -3
- package/dist/{chunk-GDQQNPBP.js → chunk-6GXIGN5W.js} +1 -1
- package/dist/{chunk-QLRTQHTR.js → chunk-6JGRNES6.js} +2 -2
- package/dist/{chunk-AZU7HXIT.js → chunk-6JPUBF7B.js} +18 -18
- package/dist/{chunk-KO64OFSG.js → chunk-7C6T7RKJ.js} +1 -1
- package/dist/{chunk-LDABZV5V.js → chunk-7RZE45OT.js} +1 -1
- package/dist/{chunk-4E56DWEZ.js → chunk-7XAOTGHZ.js} +5 -5
- package/dist/{chunk-MLUIOBKL.js → chunk-7ZMDQZ22.js} +4 -4
- package/dist/{chunk-X7A22JHP.js → chunk-A4H3UTJZ.js} +1 -1
- package/dist/{chunk-D3UTL2QX.js → chunk-ATY7WBIT.js} +1 -1
- package/dist/{chunk-ZOSK2UEU.js → chunk-BBK5BA5C.js} +99 -117
- package/dist/{chunk-7TYK55JT.js → chunk-BEDD7OFL.js} +5 -5
- package/dist/{chunk-SRZIA6B4.js → chunk-BNC4F63N.js} +1 -1
- package/dist/{chunk-LIPZJNXS.js → chunk-CQCJGMXG.js} +4 -4
- package/dist/{chunk-L2GU3PWU.js → chunk-DEIYY6NI.js} +324 -16
- package/dist/{chunk-5CXN4JLE.js → chunk-EGHM55EV.js} +4 -4
- package/dist/{chunk-HIIYRATQ.js → chunk-ESAACKVG.js} +11 -7
- package/dist/{chunk-O6MKVGVK.js → chunk-G7O26P5X.js} +1 -1
- package/dist/{chunk-APJIC2O5.js → chunk-GTIZNO5O.js} +84 -0
- package/dist/{chunk-UOHZQIVL.js → chunk-GXFYUZAM.js} +1 -1
- package/dist/{chunk-Y5ZV47XC.js → chunk-GYHEUVR2.js} +7 -7
- package/dist/{chunk-QTDGRZMZ.js → chunk-HJOC5WUV.js} +1 -1
- package/dist/{chunk-KOULRCYJ.js → chunk-HMGYFENJ.js} +2 -2
- package/dist/{chunk-SYBNJZEL.js → chunk-HPMBSOQ4.js} +1 -1
- package/dist/{chunk-4K6UB524.js → chunk-IPZZGDUU.js} +1 -1
- package/dist/{chunk-JJQETFCR.js → chunk-IQS34W5A.js} +4 -4
- package/dist/{chunk-WOBNOBB5.js → chunk-J7AAPUTV.js} +3 -3
- package/dist/{chunk-6CI6TKLN.js → chunk-JAVRQ3LM.js} +1 -1
- package/dist/{chunk-VCSRBS47.js → chunk-JLAJZPOC.js} +1 -1
- package/dist/{chunk-CD54BQJ5.js → chunk-JMUAQUQQ.js} +4 -4
- package/dist/{chunk-NL4M3V5D.js → chunk-KKZBBCHK.js} +1 -1
- package/dist/{chunk-RMLTVKOY.js → chunk-L4YVE3RG.js} +2 -2
- package/dist/{chunk-F6TVBCZV.js → chunk-LWW2IAFC.js} +1 -1
- package/dist/{chunk-VAGL7CNR.js → chunk-NMOVU75L.js} +4 -4
- package/dist/{chunk-K56D3X7S.js → chunk-NWZ44SFI.js} +112 -5
- package/dist/{chunk-DYDTLRHB.js → chunk-OH35XDD4.js} +2 -2
- package/dist/{chunk-BOV4K7FP.js → chunk-OI5TZ37D.js} +36 -1
- package/dist/{chunk-LQTVYUT3.js → chunk-OJTMM5CV.js} +2 -2
- package/dist/{chunk-SILJJAK2.js → chunk-OMWSM2DA.js} +2 -2
- package/dist/{chunk-HW2TBXVK.js → chunk-OPVRII63.js} +1 -1
- package/dist/{chunk-XWRHWM4H.js → chunk-OV5OT66G.js} +11 -11
- package/dist/{chunk-F43AMWLZ.js → chunk-PDTJVJVD.js} +1 -1
- package/dist/{chunk-DDXS2RDZ.js → chunk-PHPEPZAA.js} +1 -1
- package/dist/{chunk-UDQT5CWK.js → chunk-PI6T2AGS.js} +1 -1
- package/dist/{chunk-3BPKJMIV.js → chunk-Q57WS7YZ.js} +4 -4
- package/dist/{chunk-33E6RDCY.js → chunk-QD4SCW4A.js} +229 -192
- package/dist/{chunk-QJTET7EZ.js → chunk-QXV2N4F2.js} +4 -4
- package/dist/{chunk-RFSSKGCE.js → chunk-RDTVAQBD.js} +239 -75
- package/dist/{chunk-SOPYWTFV.js → chunk-RRUI3VWQ.js} +1 -1
- package/dist/{chunk-IN42UISW.js → chunk-SRJ4XWOR.js} +10 -5
- package/dist/{chunk-6RJVTUWI.js → chunk-T6UOCF5D.js} +5 -1
- package/dist/{chunk-P277M7Z5.js → chunk-TO6IN4LA.js} +201 -5
- package/dist/{chunk-VTQL23UM.js → chunk-TVNWAEJR.js} +1 -1
- package/dist/chunk-TY4KIVA6.js +50 -0
- package/dist/{chunk-UT2TYK2A.js → chunk-TYTVAFGB.js} +1 -1
- package/dist/{chunk-OMZYPQVA.js → chunk-UGYFQF6M.js} +1 -1
- package/dist/{chunk-JGDIO2NF.js → chunk-UO3KYTBU.js} +1 -1
- package/dist/{chunk-MXPBYB54.js → chunk-UYU4QN3P.js} +2 -2
- package/dist/{chunk-J6CYFWSW.js → chunk-VDQTNA4W.js} +20 -1
- package/dist/{chunk-KI7C6ZOD.js → chunk-VIJ7GDKI.js} +1 -1
- package/dist/{chunk-NKFKOEYX.js → chunk-WCMHJ6SS.js} +1 -1
- package/dist/{chunk-EORRZP3F.js → chunk-WX2OTJXL.js} +1 -1
- package/dist/{chunk-CRQORMFF.js → chunk-X37FSYAX.js} +1 -1
- package/dist/chunk-X7HMDZZQ.js +85 -0
- package/dist/{chunk-624A7BBJ.js → chunk-XYY5LRSF.js} +4 -4
- package/dist/{chunk-CDVYF7RU.js → chunk-YBTXLLO5.js} +4 -4
- package/dist/{chunk-UN53MBAR.js → chunk-YGXPS5F2.js} +2 -2
- package/dist/chunk-YQNK7HK3.js +87 -0
- package/dist/{chunk-KJVHLTQR.js → chunk-Z265MCGC.js} +12 -8
- package/dist/{chunk-RM5QMOFY.js → chunk-ZKPQ4KLK.js} +1 -1
- package/dist/{chunk-4UER2AKI.js → chunk-ZPFOP557.js} +190 -0
- package/dist/command-panel-runtime.js +33 -33
- package/dist/compact-cache-command-runtime.js +55 -55
- package/dist/compact-preflight-runtime.js +20 -20
- package/dist/connector-runtime.js +35 -35
- package/dist/deep-compact-runtime.js +6 -6
- package/dist/deferred-tools-catalog.js +5 -5
- package/dist/details-status-runtime.js +33 -33
- package/dist/evidence-runtime.d.ts.map +1 -1
- package/dist/evidence-runtime.js +12 -11
- package/dist/extension-command-runtime.js +7 -7
- package/dist/extension-slash-runtime.js +34 -34
- package/dist/failure-learning-command-runtime.js +35 -35
- package/dist/failure-learning-presenter.js +4 -4
- package/dist/failure-learning-runtime.js +3 -3
- package/dist/final-answer-gate.d.ts +1 -0
- package/dist/final-answer-gate.d.ts.map +1 -1
- package/dist/final-answer-gate.js +4 -2
- package/dist/git-command-runtime.js +34 -34
- package/dist/handoff-session-runtime.js +8 -8
- package/dist/headless-bench-runtime.d.ts +19 -1
- package/dist/headless-bench-runtime.d.ts.map +1 -1
- package/dist/headless-bench-runtime.js +3 -1
- package/dist/index-result-presenter.js +5 -5
- package/dist/index-runtime.js +5 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +143 -69
- package/dist/job-agent-command-runtime.js +33 -33
- package/dist/job-runner-presenter.js +3 -3
- package/dist/job-runtime.js +9 -9
- package/dist/mcp-index-command-runtime.js +5 -5
- package/dist/mcp-index-runtime.js +38 -38
- package/dist/mcp-sse-runtime.js +3 -3
- package/dist/mcp-stdio-runtime.js +4 -4
- package/dist/memory-command-runtime.js +35 -35
- package/dist/memory-extraction-runtime.js +3 -3
- package/dist/memory-rules-runtime.js +3 -3
- package/dist/meta-scheduler-runtime.js +2 -2
- package/dist/model-command-runtime.js +34 -34
- package/dist/model-loop-runtime.d.ts +1 -1
- package/dist/model-loop-runtime.d.ts.map +1 -1
- package/dist/model-loop-runtime.js +1 -1
- package/dist/model-prompt-runtime.js +10 -10
- package/dist/model-stream-runtime.d.ts.map +1 -1
- package/dist/model-stream-runtime.js +55 -55
- package/dist/model-tool-runtime.d.ts +1 -0
- package/dist/model-tool-runtime.d.ts.map +1 -1
- package/dist/model-tool-runtime.js +57 -55
- package/dist/pending-details-presenter.js +3 -3
- package/dist/permission-approval-runtime.js +55 -55
- package/dist/permission-continuation-runtime.d.ts.map +1 -1
- package/dist/permission-continuation-runtime.js +4 -4
- package/dist/process-command-runtime.js +4 -4
- package/dist/process-guard.d.ts +3 -0
- package/dist/process-guard.d.ts.map +1 -1
- package/dist/process-guard.js +5 -1
- package/dist/provider-loop-runtime.js +3 -3
- package/dist/remote-command-runtime.js +34 -34
- package/dist/runner-runtime.js +8 -8
- package/dist/runtime-status-presenter.js +3 -3
- package/dist/runtime-status-snapshot.js +4 -4
- package/dist/shell/components/AgentProgressTree.js +2 -2
- package/dist/shell/components/BackgroundTaskOverlay.js +2 -2
- package/dist/shell/components/BtwPanel.js +2 -2
- package/dist/shell/components/CommandPanel.js +2 -2
- package/dist/shell/components/Composer.d.ts +16 -2
- package/dist/shell/components/Composer.d.ts.map +1 -1
- package/dist/shell/components/Composer.js +9 -7
- package/dist/shell/components/ConfigPanel.js +2 -2
- package/dist/shell/components/HelpPanel.js +2 -2
- package/dist/shell/components/HistorySearchPanel.js +2 -2
- package/dist/shell/components/MessageMarkdown.d.ts +23 -0
- package/dist/shell/components/MessageMarkdown.d.ts.map +1 -1
- package/dist/shell/components/MessageMarkdown.js +5 -3
- package/dist/shell/components/MouseInputRouter.js +5 -80
- package/dist/shell/components/OutputLine.d.ts.map +1 -1
- package/dist/shell/components/OutputLine.js +5 -3
- package/dist/shell/components/ProductBlock.d.ts.map +1 -1
- package/dist/shell/components/ProductBlock.js +4 -4
- package/dist/shell/components/ScrollViewport.js +3 -82
- package/dist/shell/components/SessionsPanel.js +2 -2
- package/dist/shell/components/ShellApp.d.ts.map +1 -1
- package/dist/shell/components/ShellApp.js +28 -23
- package/dist/shell/components/SlashSuggestions.js +2 -2
- package/dist/shell/components/StatusFooter.js +2 -2
- package/dist/shell/components/StatusTray.d.ts.map +1 -1
- package/dist/shell/components/StatusTray.js +2 -1
- package/dist/shell/components/StructuredDiff.js +2 -2
- package/dist/shell/components/TaskListView.js +2 -2
- package/dist/shell/components/TaskSuggestionBar.js +2 -2
- package/dist/shell/components/WorkflowProgressView.js +2 -2
- package/dist/shell/components/useAnchoredCursor.d.ts +6 -9
- package/dist/shell/components/useAnchoredCursor.d.ts.map +1 -1
- package/dist/shell/components/useAnchoredCursor.js +1 -1
- package/dist/shell/ink-renderer.d.ts.map +1 -1
- package/dist/shell/ink-renderer.js +28 -23
- package/dist/shell/models/transcript-selection-state.js +2 -2
- package/dist/shell/plain-renderer.d.ts.map +1 -1
- package/dist/shell/plain-renderer.js +2 -2
- package/dist/shell/text-utils.d.ts +16 -0
- package/dist/shell/text-utils.d.ts.map +1 -1
- package/dist/shell/text-utils.js +3 -1
- package/dist/shell/view-model.js +14 -14
- package/dist/slash-command-runtime.js +55 -55
- package/dist/slash-dispatch.js +4 -4
- package/dist/startup-runtime.js +2 -2
- package/dist/tool-output-presenter.d.ts +1 -0
- package/dist/tool-output-presenter.d.ts.map +1 -1
- package/dist/tool-output-presenter.js +3 -1
- package/dist/tui-agent-job-runtime.js +11 -11
- package/dist/tui-context-runtime.d.ts +2 -0
- package/dist/tui-context-runtime.d.ts.map +1 -1
- package/dist/tui-data-types.d.ts +1 -0
- package/dist/tui-data-types.d.ts.map +1 -1
- package/dist/tui-details-runtime.js +10 -10
- package/dist/tui-memory-runtime.js +5 -5
- package/dist/tui-output-surface.js +15 -15
- package/dist/tui-permission-runtime.js +5 -5
- package/dist/tui-state-runtime.js +4 -4
- package/dist/verification-command-runtime.js +12 -12
- package/dist/workflow-command-runtime.js +33 -33
- package/package.json +5 -5
- package/dist/chunk-GW5YDCRZ.js +0 -42
|
@@ -10,14 +10,14 @@ import {
|
|
|
10
10
|
import {
|
|
11
11
|
loadMemoryRulesFile,
|
|
12
12
|
parseMemoryRuleFrontmatter
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-WX2OTJXL.js";
|
|
14
14
|
import {
|
|
15
15
|
createCacheFreshness
|
|
16
16
|
} from "./chunk-4T5DJW54.js";
|
|
17
17
|
import {
|
|
18
18
|
formatError,
|
|
19
19
|
truncateDisplay
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-UGYFQF6M.js";
|
|
21
21
|
|
|
22
22
|
// src/tui-state-runtime.ts
|
|
23
23
|
import { spawnSync } from "child_process";
|
|
@@ -4,12 +4,12 @@ import {
|
|
|
4
4
|
} from "./chunk-V7GDHHBL.js";
|
|
5
5
|
import {
|
|
6
6
|
decidePermission
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-PHPEPZAA.js";
|
|
8
8
|
import {
|
|
9
9
|
createVerificationPlan,
|
|
10
10
|
createVerificationUnavailableReport,
|
|
11
11
|
runVerificationPlan
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-7XAOTGHZ.js";
|
|
13
13
|
import {
|
|
14
14
|
createAgentBackgroundTask,
|
|
15
15
|
createAgentContextSummary,
|
|
@@ -35,21 +35,21 @@ import {
|
|
|
35
35
|
registerBackgroundAbortController,
|
|
36
36
|
rememberBackgroundTask,
|
|
37
37
|
upsertJobBackgroundTask
|
|
38
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-YBTXLLO5.js";
|
|
39
39
|
import {
|
|
40
40
|
createLogArtifactRegistry,
|
|
41
41
|
findEvidence,
|
|
42
42
|
formatAgentDetails,
|
|
43
43
|
formatEvidenceDetails,
|
|
44
44
|
parseLogArtifactRequest
|
|
45
|
-
} from "./chunk-
|
|
45
|
+
} from "./chunk-YGXPS5F2.js";
|
|
46
46
|
import {
|
|
47
47
|
createShellBlockOutputForTest,
|
|
48
48
|
writeErrorLine
|
|
49
|
-
} from "./chunk-
|
|
49
|
+
} from "./chunk-OH35XDD4.js";
|
|
50
50
|
import {
|
|
51
51
|
formatModeBehavior
|
|
52
|
-
} from "./chunk-
|
|
52
|
+
} from "./chunk-IPZZGDUU.js";
|
|
53
53
|
import {
|
|
54
54
|
createVerificationLevelForReadiness
|
|
55
55
|
} from "./chunk-PBIPV4LD.js";
|
|
@@ -68,30 +68,30 @@ import {
|
|
|
68
68
|
rescheduleDurableJobAgents,
|
|
69
69
|
updateDurableJobEffectiveAgentCap,
|
|
70
70
|
writeDurableJobReport
|
|
71
|
-
} from "./chunk-
|
|
71
|
+
} from "./chunk-NMOVU75L.js";
|
|
72
72
|
import {
|
|
73
73
|
markJobRunnerTerminal,
|
|
74
74
|
refreshRunnerStatusForJob,
|
|
75
75
|
startRunnerForDurableJob,
|
|
76
76
|
stopRunnerForDurableJob
|
|
77
|
-
} from "./chunk-
|
|
77
|
+
} from "./chunk-JMUAQUQQ.js";
|
|
78
78
|
import {
|
|
79
79
|
formatLogArtifactSlice,
|
|
80
80
|
readLogArtifactSlice
|
|
81
81
|
} from "./chunk-L4XXW6Y5.js";
|
|
82
82
|
import {
|
|
83
83
|
formatEngineeringProfileStrategyHint
|
|
84
|
-
} from "./chunk-
|
|
84
|
+
} from "./chunk-ZPFOP557.js";
|
|
85
85
|
import {
|
|
86
86
|
formatWorkflows
|
|
87
|
-
} from "./chunk-
|
|
87
|
+
} from "./chunk-5OZEJQBH.js";
|
|
88
88
|
import {
|
|
89
89
|
messages
|
|
90
90
|
} from "./chunk-RBOQJFIZ.js";
|
|
91
91
|
import {
|
|
92
92
|
formatPermissionModeLabel,
|
|
93
93
|
formatRuntimeStatusLine
|
|
94
|
-
} from "./chunk-
|
|
94
|
+
} from "./chunk-VIJ7GDKI.js";
|
|
95
95
|
import {
|
|
96
96
|
formatBackgroundDetails,
|
|
97
97
|
formatBackgroundOutputDetails,
|
|
@@ -99,13 +99,13 @@ import {
|
|
|
99
99
|
formatBackgroundTaskPanelDetails,
|
|
100
100
|
formatBackgroundTaskPanelRow,
|
|
101
101
|
formatJobRunnerInline
|
|
102
|
-
} from "./chunk-
|
|
102
|
+
} from "./chunk-PI6T2AGS.js";
|
|
103
103
|
import {
|
|
104
104
|
appendSystemEvent,
|
|
105
105
|
appendToolResultEvent,
|
|
106
106
|
createEvidenceRecord,
|
|
107
107
|
createToolEndEvent
|
|
108
|
-
} from "./chunk-
|
|
108
|
+
} from "./chunk-DEIYY6NI.js";
|
|
109
109
|
import {
|
|
110
110
|
WORKFLOW_ARCHITECTURE_REVIEW_FILE_LIMIT
|
|
111
111
|
} from "./chunk-RDGM4RUE.js";
|
|
@@ -115,14 +115,14 @@ import {
|
|
|
115
115
|
import {
|
|
116
116
|
loadOrCreateHandoffPacket,
|
|
117
117
|
validateHandoffPacket
|
|
118
|
-
} from "./chunk-
|
|
118
|
+
} from "./chunk-7ZMDQZ22.js";
|
|
119
119
|
import {
|
|
120
120
|
AGENT_CONTROL_DESCRIPTION,
|
|
121
121
|
AGENT_CONTROL_TOOL_NAME,
|
|
122
122
|
createAgentControlInputSchema,
|
|
123
123
|
createModelToolDefinitionsForTools,
|
|
124
124
|
evaluateStructuredFinalAnswerClaims
|
|
125
|
-
} from "./chunk-
|
|
125
|
+
} from "./chunk-NWZ44SFI.js";
|
|
126
126
|
import {
|
|
127
127
|
summarizeWorktreeCreateOutcome
|
|
128
128
|
} from "./chunk-6USL33ZO.js";
|
|
@@ -132,7 +132,7 @@ import {
|
|
|
132
132
|
import {
|
|
133
133
|
createIndexStatusSnapshot,
|
|
134
134
|
formatIndexRuntimeRef
|
|
135
|
-
} from "./chunk-
|
|
135
|
+
} from "./chunk-TYTVAFGB.js";
|
|
136
136
|
import {
|
|
137
137
|
isFallbackWorkspaceReferenceSnapshot
|
|
138
138
|
} from "./chunk-ZJK25VFP.js";
|
|
@@ -171,14 +171,14 @@ import {
|
|
|
171
171
|
enqueueAgentCompletionNotice,
|
|
172
172
|
formatAgentCompletionDigest,
|
|
173
173
|
markAgentCompletionNoticeReported
|
|
174
|
-
} from "./chunk-
|
|
174
|
+
} from "./chunk-HPMBSOQ4.js";
|
|
175
175
|
import {
|
|
176
176
|
formatError,
|
|
177
177
|
sanitizeDiagnosticText,
|
|
178
178
|
sanitizeDisplayPaths,
|
|
179
179
|
truncateDisplay,
|
|
180
180
|
writeLine
|
|
181
|
-
} from "./chunk-
|
|
181
|
+
} from "./chunk-UGYFQF6M.js";
|
|
182
182
|
import {
|
|
183
183
|
checkBoundaries,
|
|
184
184
|
estimateFileMetrics
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import {
|
|
2
2
|
rememberBackgroundTask
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-YBTXLLO5.js";
|
|
4
4
|
import {
|
|
5
5
|
createProcessGuard
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-VDQTNA4W.js";
|
|
7
7
|
import {
|
|
8
8
|
formatBackgroundTask
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-PI6T2AGS.js";
|
|
10
10
|
import {
|
|
11
11
|
LINGHUN_VERIFICATION_COMMAND_TIMEOUT_MS
|
|
12
12
|
} from "./chunk-IWUIOLMF.js";
|
|
13
13
|
import {
|
|
14
14
|
isRecord
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-6JGRNES6.js";
|
|
16
16
|
import {
|
|
17
17
|
truncateDisplay,
|
|
18
18
|
writeLine
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-UGYFQF6M.js";
|
|
20
20
|
|
|
21
21
|
// src/verification-command-runtime.ts
|
|
22
22
|
import { spawn } from "child_process";
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
2
|
formatProjectRulesContext
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-OJTMM5CV.js";
|
|
4
4
|
import {
|
|
5
5
|
isDeepCompactPacket
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-L4YVE3RG.js";
|
|
7
7
|
import {
|
|
8
8
|
createIndexStatusSnapshot,
|
|
9
9
|
formatIndexRuntimeRef
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-TYTVAFGB.js";
|
|
11
11
|
import {
|
|
12
12
|
isRecord
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-6JGRNES6.js";
|
|
14
14
|
import {
|
|
15
15
|
getRuntimeStatusProvider
|
|
16
16
|
} from "./chunk-3LT6OWQ2.js";
|
|
@@ -6,10 +6,10 @@ import {
|
|
|
6
6
|
} from "./chunk-JBLVBO3U.js";
|
|
7
7
|
import {
|
|
8
8
|
useAnchoredCursor
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-TY4KIVA6.js";
|
|
10
10
|
import {
|
|
11
11
|
SlashSuggestions
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-OPVRII63.js";
|
|
13
13
|
import {
|
|
14
14
|
resolveTerminalInteractionModes
|
|
15
15
|
} from "./chunk-F46N43MG.js";
|
|
@@ -32,21 +32,20 @@ import {
|
|
|
32
32
|
formatUnknownSlashCommand,
|
|
33
33
|
getCoreSlashCandidates,
|
|
34
34
|
getSlashPrefixCandidates
|
|
35
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-IPZZGDUU.js";
|
|
36
36
|
import {
|
|
37
37
|
resolveKeybinding
|
|
38
38
|
} from "./chunk-6SMM5CMP.js";
|
|
39
39
|
import {
|
|
40
40
|
charWidth,
|
|
41
|
-
|
|
42
|
-
fitText
|
|
43
|
-
|
|
44
|
-
} from "./chunk-APJIC2O5.js";
|
|
41
|
+
computeWrappedInputState,
|
|
42
|
+
fitText
|
|
43
|
+
} from "./chunk-GTIZNO5O.js";
|
|
45
44
|
|
|
46
45
|
// src/shell/components/Composer.tsx
|
|
47
46
|
import { Box, Text, useInput } from "@linghun/ink-runtime";
|
|
48
47
|
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
49
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
48
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
50
49
|
function createEditBuffer(text = "") {
|
|
51
50
|
return { chars: Array.from(text), cursor: Array.from(text).length };
|
|
52
51
|
}
|
|
@@ -201,7 +200,7 @@ function buildVisualLines(buf, maxWidth) {
|
|
|
201
200
|
const isFirstRawLine = rawIndex === 0;
|
|
202
201
|
let startChar = 0;
|
|
203
202
|
while (startChar < chars.length || chars.length === 0 && startChar === 0) {
|
|
204
|
-
const prompt = isFirstRawLine && startChar === 0 ? PROMPT_MARKER :
|
|
203
|
+
const prompt = isFirstRawLine && startChar === 0 ? PROMPT_MARKER : "";
|
|
205
204
|
const promptWidth = displayWidthOf(prompt);
|
|
206
205
|
const budget = Math.max(4, composerWidth - promptWidth);
|
|
207
206
|
let width = 0;
|
|
@@ -236,6 +235,10 @@ function isWordBoundary(ch) {
|
|
|
236
235
|
function sanitizeComposerInput(value) {
|
|
237
236
|
return sanitizeTerminalText(value);
|
|
238
237
|
}
|
|
238
|
+
function sanitizeComposerPasteInput(value) {
|
|
239
|
+
const sanitized = sanitizeComposerInput(value);
|
|
240
|
+
return sanitized.replace(/[ \t\f\v]+\n/g, "\n").replace(/\n[ \t\f\v]+/g, "\n").replace(/[ \t\f\v]{2,}/g, " ").replace(/[ \t\f\v]+\n[ \t\f\v]*/g, "\n").replace(/[ \t\f\v]+$/g, "");
|
|
241
|
+
}
|
|
239
242
|
var MAX_HISTORY = 100;
|
|
240
243
|
function createInputHistory() {
|
|
241
244
|
return { entries: [], position: -1, draft: "" };
|
|
@@ -323,7 +326,6 @@ function isMultilineEnterSequence2(input) {
|
|
|
323
326
|
}
|
|
324
327
|
var COMPOSER_MAX_VISIBLE_LINES = 5;
|
|
325
328
|
var PROMPT_MARKER = "\u203A ";
|
|
326
|
-
var PROMPT_MARKER_CONTINUATION = " ".repeat(displayWidthOf(PROMPT_MARKER));
|
|
327
329
|
var PERMISSION_ACTION_ORDER = [
|
|
328
330
|
"allow_once",
|
|
329
331
|
"allow_always_tool",
|
|
@@ -335,13 +337,15 @@ var OWNER_PASTE_THRESHOLD = PASTE_THRESHOLD;
|
|
|
335
337
|
var PASTE_COMPLETION_TIMEOUT_MS = 100;
|
|
336
338
|
var DOUBLE_PRESS_WINDOW_MS = 1e3;
|
|
337
339
|
var HINT_NOTICE_DECAY_MS = 1500;
|
|
338
|
-
|
|
340
|
+
var INLINE_CURSOR_BLINK_MS = 530;
|
|
341
|
+
function Composer({ view, onInput, capability, layout }) {
|
|
339
342
|
const [buffer, setBuffer] = useState(createEditBuffer());
|
|
340
343
|
const bufferRef = useRef(buffer);
|
|
341
344
|
const [slashSelection, setSlashSelection] = useState(0);
|
|
342
345
|
const [slashHidden, setSlashHidden] = useState(false);
|
|
343
346
|
const [permissionFocus, setPermissionFocus] = useState("allow_once");
|
|
344
347
|
const [hintNotice, setHintNotice] = useState(void 0);
|
|
348
|
+
const [cursorBlinkOn, setCursorBlinkOn] = useState(true);
|
|
345
349
|
const historyRef = useRef(createInputHistory());
|
|
346
350
|
const pasteChunksRef = useRef([]);
|
|
347
351
|
const pasteTimerRef = useRef(null);
|
|
@@ -353,7 +357,17 @@ function Composer({ view, onInput, capability }) {
|
|
|
353
357
|
const chordBufferRef = useRef([]);
|
|
354
358
|
const undoRingRef = useRef(createUndoRing());
|
|
355
359
|
const stashRef = useRef(createPromptStash());
|
|
356
|
-
const
|
|
360
|
+
const composerLayout = useMemo(
|
|
361
|
+
() => layout ?? {
|
|
362
|
+
width: Math.max(40, view.width - 6),
|
|
363
|
+
paddingLeft: 2,
|
|
364
|
+
paddingRight: 2,
|
|
365
|
+
prefixWidth: displayWidthOf(PROMPT_MARKER),
|
|
366
|
+
minContentWidth: 4
|
|
367
|
+
},
|
|
368
|
+
[layout, view.width]
|
|
369
|
+
);
|
|
370
|
+
const maxWidth = composerLayout.width;
|
|
357
371
|
const noColor = view.themeMode === "no-color";
|
|
358
372
|
const theme = useMemo(() => createShellTheme(noColor), [noColor]);
|
|
359
373
|
const anchorRef = useRef(null);
|
|
@@ -458,7 +472,7 @@ function Composer({ view, onInput, capability }) {
|
|
|
458
472
|
}
|
|
459
473
|
pastePendingRef.current = false;
|
|
460
474
|
if (chunks.length === 0) return;
|
|
461
|
-
const joined =
|
|
475
|
+
const joined = sanitizeComposerPasteInput(chunks.join(""));
|
|
462
476
|
if (!joined) return;
|
|
463
477
|
const next = bufferInsert(bufferRef.current, joined);
|
|
464
478
|
bufferRef.current = next;
|
|
@@ -488,6 +502,14 @@ function Composer({ view, onInput, capability }) {
|
|
|
488
502
|
if (hintTimerRef.current) clearTimeout(hintTimerRef.current);
|
|
489
503
|
};
|
|
490
504
|
}, []);
|
|
505
|
+
useEffect(() => {
|
|
506
|
+
if (permissionActive) return;
|
|
507
|
+
setCursorBlinkOn(true);
|
|
508
|
+
const timer = setInterval(() => {
|
|
509
|
+
setCursorBlinkOn((current) => !current);
|
|
510
|
+
}, INLINE_CURSOR_BLINK_MS);
|
|
511
|
+
return () => clearInterval(timer);
|
|
512
|
+
}, [permissionActive]);
|
|
491
513
|
useInput(
|
|
492
514
|
(input, key) => {
|
|
493
515
|
if (input === "\x1B[I" || input === "\x1B[O" || input === "[I" || input === "[O") {
|
|
@@ -1137,33 +1159,18 @@ function Composer({ view, onInput, capability }) {
|
|
|
1137
1159
|
{ isActive: true }
|
|
1138
1160
|
);
|
|
1139
1161
|
const placeholderText = view.permission || view.composer.setupActive ? view.composer.placeholder : view.viewMode === "task" || view.viewMode === "pending" ? view.composer.taskPlaceholder : view.composer.placeholder;
|
|
1140
|
-
const
|
|
1141
|
-
const { lines, truncatedAbove, truncatedBelow, cursorCol, cursorRow } = useMemo(
|
|
1162
|
+
const { visualLines, cursorCol, cursorRow } = useMemo(
|
|
1142
1163
|
() => formatComposerRenderLines({
|
|
1143
1164
|
buffer,
|
|
1144
1165
|
placeholder: placeholderText,
|
|
1145
1166
|
masking: view.composer.masking,
|
|
1146
1167
|
noColor,
|
|
1147
|
-
|
|
1168
|
+
layout: composerLayout
|
|
1148
1169
|
}),
|
|
1149
|
-
[buffer, placeholderText, view.composer.masking, noColor,
|
|
1170
|
+
[buffer, placeholderText, view.composer.masking, noColor, composerLayout]
|
|
1150
1171
|
);
|
|
1151
|
-
void truncatedAbove;
|
|
1152
|
-
void truncatedBelow;
|
|
1153
1172
|
const showSuggestions = !permissionActive && slashCandidates.length > 0 && slashSelection >= 0 && !slashHidden;
|
|
1154
|
-
|
|
1155
|
-
textAnchorRowBase: view.viewMode === "home" ? 0 : 1,
|
|
1156
|
-
permissionActive,
|
|
1157
|
-
permissionActionCount: permissionActions.length,
|
|
1158
|
-
showSuggestions,
|
|
1159
|
-
slashCandidateCount: slashCandidates.length,
|
|
1160
|
-
cursorRow
|
|
1161
|
-
});
|
|
1162
|
-
useAnchoredCursor(
|
|
1163
|
-
permissionActive ? null : { row: declaredRow, col: cursorCol },
|
|
1164
|
-
anchorRef,
|
|
1165
|
-
capability
|
|
1166
|
-
);
|
|
1173
|
+
useAnchoredCursor(null, anchorRef, capability);
|
|
1167
1174
|
const placeholderColor = noColor ? void 0 : "gray";
|
|
1168
1175
|
const color = text ? void 0 : placeholderColor;
|
|
1169
1176
|
const ghostSuffix = useMemo(() => {
|
|
@@ -1191,7 +1198,7 @@ function Composer({ view, onInput, capability }) {
|
|
|
1191
1198
|
actions: permissionActions,
|
|
1192
1199
|
focused: permissionFocus,
|
|
1193
1200
|
theme,
|
|
1194
|
-
width:
|
|
1201
|
+
width: composerContentWidth(composerLayout),
|
|
1195
1202
|
language: view.language
|
|
1196
1203
|
}
|
|
1197
1204
|
) : null,
|
|
@@ -1202,29 +1209,21 @@ function Composer({ view, onInput, capability }) {
|
|
|
1202
1209
|
selectedIndex: slashSelectionClamped,
|
|
1203
1210
|
theme,
|
|
1204
1211
|
language: view.language,
|
|
1205
|
-
width:
|
|
1212
|
+
width: composerContentWidth(composerLayout),
|
|
1206
1213
|
hint: view.language === "en-US" ? "Tab accept \xB7 \u2191\u2193 pick \xB7 Esc hide \xB7 Enter submit" : "Tab \u9009\u4E2D \xB7 \u2191\u2193 \u5207\u6362 \xB7 Esc \u9690\u85CF \xB7 Enter \u63D0\u4EA4"
|
|
1207
1214
|
}
|
|
1208
1215
|
) : null,
|
|
1209
|
-
/* @__PURE__ */
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
{
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
index === lines.length - 1 && ghostSuffix ? /* @__PURE__ */ jsx(Text, { color: "gray", dimColor: true, children: ghostSuffix }) : null
|
|
1221
|
-
] }, `${index}-${line}`);
|
|
1222
|
-
})
|
|
1223
|
-
}
|
|
1224
|
-
)
|
|
1225
|
-
] }),
|
|
1226
|
-
showUnknownHint ? /* @__PURE__ */ jsx(Text, { color: theme.muted, children: fitText(formatUnknownSlashCommand(text, view.language), composerInnerWidth) }) : null,
|
|
1227
|
-
hintNotice ? /* @__PURE__ */ jsx(Text, { color: theme.muted, children: fitText(hintNotice, composerInnerWidth) }) : null
|
|
1216
|
+
/* @__PURE__ */ jsx(Box, { ref: anchorRef, width: "100%", flexDirection: "column", children: visualLines.map((line, index) => {
|
|
1217
|
+
const clippedLine = line.text;
|
|
1218
|
+
const showInlineCursor = !permissionActive && index === cursorRow;
|
|
1219
|
+
return /* @__PURE__ */ jsxs(Text, { color, bold: Boolean(text), children: [
|
|
1220
|
+
/* @__PURE__ */ jsx(Text, { color: theme.muted, dimColor: !text, children: line.prefix }),
|
|
1221
|
+
showInlineCursor ? renderInlineComposerCursor(clippedLine, cursorCol, cursorBlinkOn) : clippedLine,
|
|
1222
|
+
index === visualLines.length - 1 && ghostSuffix ? /* @__PURE__ */ jsx(Text, { color: "gray", dimColor: true, children: ghostSuffix }) : null
|
|
1223
|
+
] }, `${index}-${line.prefix}-${line.text}`);
|
|
1224
|
+
}) }),
|
|
1225
|
+
showUnknownHint ? /* @__PURE__ */ jsx(Text, { color: theme.muted, children: fitText(formatUnknownSlashCommand(text, view.language), composerContentWidth(composerLayout)) }) : null,
|
|
1226
|
+
hintNotice ? /* @__PURE__ */ jsx(Text, { color: theme.muted, children: fitText(hintNotice, composerContentWidth(composerLayout)) }) : null
|
|
1228
1227
|
]
|
|
1229
1228
|
}
|
|
1230
1229
|
);
|
|
@@ -1324,7 +1323,8 @@ function formatComposerRenderLines({
|
|
|
1324
1323
|
placeholder,
|
|
1325
1324
|
masking,
|
|
1326
1325
|
noColor,
|
|
1327
|
-
maxWidth
|
|
1326
|
+
maxWidth,
|
|
1327
|
+
layout
|
|
1328
1328
|
}) {
|
|
1329
1329
|
void noColor;
|
|
1330
1330
|
const text = bufferToString(buffer);
|
|
@@ -1332,85 +1332,69 @@ function formatComposerRenderLines({
|
|
|
1332
1332
|
if (!displayText) {
|
|
1333
1333
|
return {
|
|
1334
1334
|
lines: [placeholder],
|
|
1335
|
+
visualLines: [{ prefix: PROMPT_MARKER, text: placeholder }],
|
|
1335
1336
|
truncatedAbove: 0,
|
|
1336
1337
|
truncatedBelow: 0,
|
|
1337
1338
|
cursorCol: 0,
|
|
1338
1339
|
cursorRow: 0
|
|
1339
1340
|
};
|
|
1340
1341
|
}
|
|
1341
|
-
const
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
while (startChar < chars.length || chars.length === 0 && startChar === 0) {
|
|
1352
|
-
const budget = Math.max(4, composerWidth - displayWidthOf(PROMPT_MARKER));
|
|
1353
|
-
let width = 0;
|
|
1354
|
-
let endChar = startChar;
|
|
1355
|
-
while (endChar < chars.length) {
|
|
1356
|
-
const next = charWidth(chars[endChar] ?? "");
|
|
1357
|
-
if (width > 0 && width + next > budget) break;
|
|
1358
|
-
width += next;
|
|
1359
|
-
endChar++;
|
|
1360
|
-
}
|
|
1361
|
-
if (endChar === startChar && chars.length > 0) endChar++;
|
|
1362
|
-
const text2 = chars.slice(startChar, endChar).join("");
|
|
1363
|
-
const softIndex = softLines.length;
|
|
1364
|
-
softLines.push({ text: text2, rawLineIndex: rawIndex, startChar, endChar });
|
|
1365
|
-
if (rawIndex === cursorLineIndex && cursorCharCol >= startChar && cursorCharCol <= endChar) {
|
|
1366
|
-
cursorSoftIndex = softIndex;
|
|
1367
|
-
let cursorWidth = 0;
|
|
1368
|
-
for (let i = startChar; i < cursorCharCol && i < chars.length; i++) {
|
|
1369
|
-
cursorWidth += charWidth(chars[i] ?? "");
|
|
1370
|
-
}
|
|
1371
|
-
cursorOutCol = cursorWidth;
|
|
1372
|
-
}
|
|
1373
|
-
if (chars.length === 0) break;
|
|
1374
|
-
startChar = endChar;
|
|
1375
|
-
}
|
|
1376
|
-
}
|
|
1377
|
-
const totalLines = softLines.length;
|
|
1342
|
+
const wrapped = computeWrappedInputState({
|
|
1343
|
+
text: displayText,
|
|
1344
|
+
cursorOffset: buffer.cursor,
|
|
1345
|
+
width: layout?.width ?? maxWidth ?? 80,
|
|
1346
|
+
prefixWidth: layout?.prefixWidth ?? displayWidthOf(PROMPT_MARKER),
|
|
1347
|
+
paddingLeft: layout?.paddingLeft ?? 4,
|
|
1348
|
+
paddingRight: layout?.paddingRight ?? 0,
|
|
1349
|
+
minContentWidth: layout?.minContentWidth ?? 4
|
|
1350
|
+
});
|
|
1351
|
+
const totalLines = wrapped.lines.length;
|
|
1378
1352
|
let startLine = 0;
|
|
1379
1353
|
let endLineExclusive = totalLines;
|
|
1380
1354
|
if (totalLines > COMPOSER_MAX_VISIBLE_LINES) {
|
|
1381
1355
|
const half = Math.floor(COMPOSER_MAX_VISIBLE_LINES / 2);
|
|
1382
|
-
startLine = Math.max(0,
|
|
1356
|
+
startLine = Math.max(0, wrapped.cursorRow - half);
|
|
1383
1357
|
endLineExclusive = startLine + COMPOSER_MAX_VISIBLE_LINES;
|
|
1384
1358
|
if (endLineExclusive > totalLines) {
|
|
1385
1359
|
endLineExclusive = totalLines;
|
|
1386
1360
|
startLine = Math.max(0, endLineExclusive - COMPOSER_MAX_VISIBLE_LINES);
|
|
1387
1361
|
}
|
|
1388
1362
|
}
|
|
1389
|
-
const renderedLines =
|
|
1363
|
+
const renderedLines = wrapped.lines.slice(startLine, endLineExclusive);
|
|
1390
1364
|
const truncatedAbove = startLine;
|
|
1391
1365
|
const truncatedBelow = totalLines - endLineExclusive;
|
|
1392
|
-
const cursorVisibleRow = Math.max(
|
|
1393
|
-
0,
|
|
1394
|
-
Math.min(cursorSoftIndex - startLine, renderedLines.length - 1)
|
|
1395
|
-
);
|
|
1366
|
+
const cursorVisibleRow = Math.max(0, Math.min(wrapped.cursorRow - startLine, renderedLines.length - 1));
|
|
1396
1367
|
return {
|
|
1397
1368
|
lines: renderedLines,
|
|
1369
|
+
visualLines: renderedLines.map((line, index) => ({
|
|
1370
|
+
prefix: startLine + index === 0 ? PROMPT_MARKER : "",
|
|
1371
|
+
text: line
|
|
1372
|
+
})),
|
|
1398
1373
|
truncatedAbove,
|
|
1399
1374
|
truncatedBelow,
|
|
1400
|
-
cursorCol:
|
|
1375
|
+
cursorCol: Math.min(wrapped.cursorCol, Math.max(4, wrapped.contentWidth)),
|
|
1401
1376
|
cursorRow: cursorVisibleRow
|
|
1402
1377
|
};
|
|
1403
1378
|
}
|
|
1404
|
-
function
|
|
1405
|
-
|
|
1406
|
-
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
|
|
1413
|
-
|
|
1379
|
+
function composerContentWidth(layout) {
|
|
1380
|
+
return computeWrappedInputState({
|
|
1381
|
+
text: "",
|
|
1382
|
+
cursorOffset: 0,
|
|
1383
|
+
width: layout.width,
|
|
1384
|
+
prefixWidth: layout.prefixWidth,
|
|
1385
|
+
paddingLeft: layout.paddingLeft,
|
|
1386
|
+
paddingRight: layout.paddingRight,
|
|
1387
|
+
minContentWidth: layout.minContentWidth
|
|
1388
|
+
}).contentWidth;
|
|
1389
|
+
}
|
|
1390
|
+
function renderInlineComposerCursor(line, col, visible) {
|
|
1391
|
+
const { before, cursorChar, after } = splitLineAtDisplayCol(line, col);
|
|
1392
|
+
const cursorCell = cursorChar || " ";
|
|
1393
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
1394
|
+
before,
|
|
1395
|
+
visible ? /* @__PURE__ */ jsx(Text, { inverse: true, children: cursorCell }) : cursorCell,
|
|
1396
|
+
after
|
|
1397
|
+
] });
|
|
1414
1398
|
}
|
|
1415
1399
|
function getCursorLinePosition(buffer) {
|
|
1416
1400
|
let row = 0;
|
|
@@ -1451,21 +1435,18 @@ function splitLineAtDisplayCol(line, col) {
|
|
|
1451
1435
|
return { before, cursorChar, after };
|
|
1452
1436
|
}
|
|
1453
1437
|
function composerCursorAnchorRowOffset({
|
|
1454
|
-
textAnchorRowBase =
|
|
1438
|
+
textAnchorRowBase = 0,
|
|
1455
1439
|
permissionActive,
|
|
1456
1440
|
permissionActionCount,
|
|
1457
1441
|
showSuggestions,
|
|
1458
1442
|
slashCandidateCount,
|
|
1459
1443
|
cursorRow
|
|
1460
1444
|
}) {
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
offset += Math.max(0, slashCandidateCount) + 1;
|
|
1467
|
-
}
|
|
1468
|
-
return offset + Math.max(0, textAnchorRowBase) + Math.max(0, cursorRow);
|
|
1445
|
+
void permissionActive;
|
|
1446
|
+
void permissionActionCount;
|
|
1447
|
+
void showSuggestions;
|
|
1448
|
+
void slashCandidateCount;
|
|
1449
|
+
return Math.max(0, textAnchorRowBase) + Math.max(0, cursorRow);
|
|
1469
1450
|
}
|
|
1470
1451
|
function hasSelectableCommandPanelRows(panel) {
|
|
1471
1452
|
return Boolean(
|
|
@@ -1532,6 +1513,7 @@ export {
|
|
|
1532
1513
|
bufferMoveVisualUp,
|
|
1533
1514
|
bufferMoveVisualDown,
|
|
1534
1515
|
sanitizeComposerInput,
|
|
1516
|
+
sanitizeComposerPasteInput,
|
|
1535
1517
|
createInputHistory,
|
|
1536
1518
|
historyAdd,
|
|
1537
1519
|
historyUp,
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import {
|
|
2
2
|
hasRepeatedPermissionDenial
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-6C32YAB5.js";
|
|
4
4
|
import {
|
|
5
5
|
createModelCapabilitySummary
|
|
6
6
|
} from "./chunk-PGNALDEH.js";
|
|
7
7
|
import {
|
|
8
8
|
formatDeferredToolsSystemReminder,
|
|
9
9
|
snapshotDeferredTools
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-6DBBXNEG.js";
|
|
11
11
|
import {
|
|
12
12
|
formatControlledMemoryForModel
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-OJTMM5CV.js";
|
|
14
14
|
import {
|
|
15
15
|
createSolutionCompletenessStatus,
|
|
16
16
|
projectRuntimeStatusForPrompt
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-NWZ44SFI.js";
|
|
18
18
|
import {
|
|
19
19
|
truncateDisplay
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-UGYFQF6M.js";
|
|
21
21
|
|
|
22
22
|
// src/model-prompt-runtime.ts
|
|
23
23
|
var MEMORY_PROMPT_TOP_K = 3;
|