@linghun/tui 0.1.0

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.
Files changed (692) hide show
  1. package/LICENSE +190 -0
  2. package/dist/agent-completion-finalizer.d.ts +31 -0
  3. package/dist/agent-completion-finalizer.d.ts.map +1 -0
  4. package/dist/agent-completion-finalizer.js +20 -0
  5. package/dist/agent-handoff-safety.d.ts +13 -0
  6. package/dist/agent-handoff-safety.d.ts.map +1 -0
  7. package/dist/agent-handoff-safety.js +43 -0
  8. package/dist/agent-workflow-registry.d.ts +45 -0
  9. package/dist/agent-workflow-registry.d.ts.map +1 -0
  10. package/dist/agent-workflow-registry.js +12 -0
  11. package/dist/architecture-boundary.d.ts +151 -0
  12. package/dist/architecture-boundary.d.ts.map +1 -0
  13. package/dist/architecture-boundary.js +24 -0
  14. package/dist/architecture-runtime.d.ts +56 -0
  15. package/dist/architecture-runtime.d.ts.map +1 -0
  16. package/dist/architecture-runtime.js +18 -0
  17. package/dist/background-control-runtime.d.ts +29 -0
  18. package/dist/background-control-runtime.d.ts.map +1 -0
  19. package/dist/background-control-runtime.js +148 -0
  20. package/dist/bash-subcommand-parser.d.ts +34 -0
  21. package/dist/bash-subcommand-parser.d.ts.map +1 -0
  22. package/dist/bash-subcommand-parser.js +8 -0
  23. package/dist/batch-tool-confirmation.d.ts +18 -0
  24. package/dist/batch-tool-confirmation.d.ts.map +1 -0
  25. package/dist/batch-tool-confirmation.js +100 -0
  26. package/dist/break-cache-runtime.d.ts +40 -0
  27. package/dist/break-cache-runtime.d.ts.map +1 -0
  28. package/dist/break-cache-runtime.js +17 -0
  29. package/dist/btw-runtime.d.ts +45 -0
  30. package/dist/btw-runtime.d.ts.map +1 -0
  31. package/dist/btw-runtime.js +14 -0
  32. package/dist/cache-command-runtime.d.ts +22 -0
  33. package/dist/cache-command-runtime.d.ts.map +1 -0
  34. package/dist/cache-command-runtime.js +33 -0
  35. package/dist/cache-freshness.d.ts +26 -0
  36. package/dist/cache-freshness.d.ts.map +1 -0
  37. package/dist/cache-freshness.js +14 -0
  38. package/dist/capability-runtime.d.ts +75 -0
  39. package/dist/capability-runtime.d.ts.map +1 -0
  40. package/dist/capability-runtime.js +97 -0
  41. package/dist/chunk-2FVEKTKN.js +86 -0
  42. package/dist/chunk-2YL5VKJ5.js +531 -0
  43. package/dist/chunk-3AKXDMVS.js +85 -0
  44. package/dist/chunk-3GCIXKCI.js +221 -0
  45. package/dist/chunk-3LT6OWQ2.js +258 -0
  46. package/dist/chunk-3XNUDLOM.js +91 -0
  47. package/dist/chunk-4EIC5BCT.js +475 -0
  48. package/dist/chunk-4EP3TUFF.js +238 -0
  49. package/dist/chunk-4I2NWBOM.js +117 -0
  50. package/dist/chunk-4K6UB524.js +443 -0
  51. package/dist/chunk-4T5DJW54.js +88 -0
  52. package/dist/chunk-4WHZ6JKD.js +8105 -0
  53. package/dist/chunk-5H7RRF7C.js +6 -0
  54. package/dist/chunk-64MJP6FK.js +558 -0
  55. package/dist/chunk-66BNE332.js +1617 -0
  56. package/dist/chunk-6CI6TKLN.js +50 -0
  57. package/dist/chunk-6RJVTUWI.js +16 -0
  58. package/dist/chunk-6SMM5CMP.js +100 -0
  59. package/dist/chunk-6USL33ZO.js +289 -0
  60. package/dist/chunk-7ZE5JFAZ.js +760 -0
  61. package/dist/chunk-AKPXMCVF.js +1373 -0
  62. package/dist/chunk-AO4CXI37.js +284 -0
  63. package/dist/chunk-APJIC2O5.js +150 -0
  64. package/dist/chunk-B4GQTZMT.js +607 -0
  65. package/dist/chunk-BFVPLGAC.js +93 -0
  66. package/dist/chunk-BOV4K7FP.js +588 -0
  67. package/dist/chunk-CFMSB6ST.js +59 -0
  68. package/dist/chunk-CFXB5SE5.js +502 -0
  69. package/dist/chunk-CRQORMFF.js +32 -0
  70. package/dist/chunk-CRSLDQOA.js +146 -0
  71. package/dist/chunk-CRW3636S.js +214 -0
  72. package/dist/chunk-D3UTL2QX.js +86 -0
  73. package/dist/chunk-D7TCSOAZ.js +331 -0
  74. package/dist/chunk-DDXS2RDZ.js +228 -0
  75. package/dist/chunk-DICVLZHH.js +144 -0
  76. package/dist/chunk-DNQN74CC.js +1186 -0
  77. package/dist/chunk-DTK5NBTV.js +912 -0
  78. package/dist/chunk-E72U7WW7.js +50 -0
  79. package/dist/chunk-EBACIBJP.js +356 -0
  80. package/dist/chunk-ECFLCY5V.js +530 -0
  81. package/dist/chunk-EORRZP3F.js +109 -0
  82. package/dist/chunk-F43AMWLZ.js +115 -0
  83. package/dist/chunk-F46N43MG.js +56 -0
  84. package/dist/chunk-F6TVBCZV.js +51 -0
  85. package/dist/chunk-FRIMDSRU.js +242 -0
  86. package/dist/chunk-FTAEPAVY.js +314 -0
  87. package/dist/chunk-GC55DMZV.js +156 -0
  88. package/dist/chunk-GCMH5P4W.js +422 -0
  89. package/dist/chunk-GDQQNPBP.js +251 -0
  90. package/dist/chunk-GKZYTPN2.js +279 -0
  91. package/dist/chunk-GLWTWEGX.js +272 -0
  92. package/dist/chunk-GMUCSNUD.js +586 -0
  93. package/dist/chunk-GTP2KPLY.js +167 -0
  94. package/dist/chunk-GW5YDCRZ.js +42 -0
  95. package/dist/chunk-H3T4EF5F.js +87 -0
  96. package/dist/chunk-HAEU6OTS.js +381 -0
  97. package/dist/chunk-HQIJGQYU.js +172 -0
  98. package/dist/chunk-HW2TBXVK.js +34 -0
  99. package/dist/chunk-HWD22O6F.js +94 -0
  100. package/dist/chunk-I3NTAIMF.js +280 -0
  101. package/dist/chunk-IN42UISW.js +372 -0
  102. package/dist/chunk-IWUIOLMF.js +82 -0
  103. package/dist/chunk-J7ZE2JKP.js +283 -0
  104. package/dist/chunk-JBLVBO3U.js +109 -0
  105. package/dist/chunk-JDWXC2OQ.js +800 -0
  106. package/dist/chunk-JGDIO2NF.js +74 -0
  107. package/dist/chunk-JHGWGH2C.js +182 -0
  108. package/dist/chunk-JLCPHVBN.js +42 -0
  109. package/dist/chunk-JO5ANTMR.js +6027 -0
  110. package/dist/chunk-JPXSFZFC.js +100 -0
  111. package/dist/chunk-JQCRCDOC.js +1195 -0
  112. package/dist/chunk-K4FSYBSY.js +41 -0
  113. package/dist/chunk-K56D3X7S.js +1225 -0
  114. package/dist/chunk-KI7C6ZOD.js +92 -0
  115. package/dist/chunk-KO64OFSG.js +58 -0
  116. package/dist/chunk-KQJHVJZB.js +227 -0
  117. package/dist/chunk-KTWV5JC5.js +59 -0
  118. package/dist/chunk-L4XXW6Y5.js +374 -0
  119. package/dist/chunk-L5GOCMZP.js +18 -0
  120. package/dist/chunk-LDABZV5V.js +278 -0
  121. package/dist/chunk-LHHKPGLX.js +903 -0
  122. package/dist/chunk-LL7LBRDL.js +60 -0
  123. package/dist/chunk-LQTVYUT3.js +421 -0
  124. package/dist/chunk-LVIM2PA7.js +663 -0
  125. package/dist/chunk-M4AIK2SP.js +215 -0
  126. package/dist/chunk-MLUIOBKL.js +420 -0
  127. package/dist/chunk-MOJL4X4L.js +47 -0
  128. package/dist/chunk-MVONSJEN.js +300 -0
  129. package/dist/chunk-N7G2X2LK.js +709 -0
  130. package/dist/chunk-NKFKOEYX.js +146 -0
  131. package/dist/chunk-NMNOAFFT.js +167 -0
  132. package/dist/chunk-NSIKYD3X.js +74 -0
  133. package/dist/chunk-O7EFPSMC.js +60 -0
  134. package/dist/chunk-O7S3HYE6.js +210 -0
  135. package/dist/chunk-OEYW3JE3.js +262 -0
  136. package/dist/chunk-OF3K3CU5.js +159 -0
  137. package/dist/chunk-OMZYPQVA.js +298 -0
  138. package/dist/chunk-OZMX3E35.js +248 -0
  139. package/dist/chunk-P277M7Z5.js +303 -0
  140. package/dist/chunk-P4CPRJLI.js +65 -0
  141. package/dist/chunk-PBIPV4LD.js +494 -0
  142. package/dist/chunk-PGNALDEH.js +2003 -0
  143. package/dist/chunk-PGWW3DVE.js +157 -0
  144. package/dist/chunk-QB4VWH7W.js +515 -0
  145. package/dist/chunk-QBCGAIU7.js +120 -0
  146. package/dist/chunk-QIU3FJPC.js +99 -0
  147. package/dist/chunk-QLRTQHTR.js +744 -0
  148. package/dist/chunk-QTDGRZMZ.js +171 -0
  149. package/dist/chunk-RBOQJFIZ.js +183 -0
  150. package/dist/chunk-RDGM4RUE.js +178 -0
  151. package/dist/chunk-RM5JDRCW.js +71 -0
  152. package/dist/chunk-RM5QMOFY.js +189 -0
  153. package/dist/chunk-RMLTVKOY.js +588 -0
  154. package/dist/chunk-RVY34HK4.js +79 -0
  155. package/dist/chunk-S3YWTBXL.js +43 -0
  156. package/dist/chunk-SJOS5PM6.js +64 -0
  157. package/dist/chunk-SOPYWTFV.js +90 -0
  158. package/dist/chunk-SQIBPLLV.js +15 -0
  159. package/dist/chunk-SRZIA6B4.js +136 -0
  160. package/dist/chunk-SYBNJZEL.js +250 -0
  161. package/dist/chunk-TFZEFIQT.js +17 -0
  162. package/dist/chunk-THZBFYAH.js +136 -0
  163. package/dist/chunk-TJLC3QAS.js +83 -0
  164. package/dist/chunk-TYF4GJR3.js +598 -0
  165. package/dist/chunk-UDQT5CWK.js +252 -0
  166. package/dist/chunk-UOHZQIVL.js +168 -0
  167. package/dist/chunk-URNQUECO.js +187 -0
  168. package/dist/chunk-UT2TYK2A.js +148 -0
  169. package/dist/chunk-UT5BOJKU.js +190 -0
  170. package/dist/chunk-V7GDHHBL.js +526 -0
  171. package/dist/chunk-VCSRBS47.js +133 -0
  172. package/dist/chunk-VIBENDE3.js +152 -0
  173. package/dist/chunk-VTQL23UM.js +302 -0
  174. package/dist/chunk-W3KHJNSH.js +281 -0
  175. package/dist/chunk-W6NU7ZAV.js +52 -0
  176. package/dist/chunk-WHFDDZHY.js +407 -0
  177. package/dist/chunk-WJWYRBWH.js +48 -0
  178. package/dist/chunk-WKMBK5UP.js +145 -0
  179. package/dist/chunk-WQMSRO4D.js +489 -0
  180. package/dist/chunk-WV6YJGZR.js +81 -0
  181. package/dist/chunk-WVAQYKGL.js +269 -0
  182. package/dist/chunk-X7A22JHP.js +106 -0
  183. package/dist/chunk-XFPNU42I.js +59 -0
  184. package/dist/chunk-YH6UIHNF.js +161 -0
  185. package/dist/chunk-YPQFSFYK.js +19 -0
  186. package/dist/chunk-YTQFOZRZ.js +110 -0
  187. package/dist/chunk-ZJK25VFP.js +506 -0
  188. package/dist/chunk-ZOSK2UEU.js +1555 -0
  189. package/dist/chunk-ZYSN7AWW.js +336 -0
  190. package/dist/chunk-ZZ2CNCXJ.js +282 -0
  191. package/dist/command-panel-runtime.d.ts +33 -0
  192. package/dist/command-panel-runtime.d.ts.map +1 -0
  193. package/dist/command-panel-runtime.js +80 -0
  194. package/dist/compact-cache-command-runtime.d.ts +38 -0
  195. package/dist/compact-cache-command-runtime.d.ts.map +1 -0
  196. package/dist/compact-cache-command-runtime.js +146 -0
  197. package/dist/compact-context.d.ts +35 -0
  198. package/dist/compact-context.d.ts.map +1 -0
  199. package/dist/compact-context.js +16 -0
  200. package/dist/compact-preflight-runtime.d.ts +46 -0
  201. package/dist/compact-preflight-runtime.d.ts.map +1 -0
  202. package/dist/compact-preflight-runtime.js +62 -0
  203. package/dist/connector-runtime.d.ts +72 -0
  204. package/dist/connector-runtime.d.ts.map +1 -0
  205. package/dist/connector-runtime.js +88 -0
  206. package/dist/context-estimator.d.ts +20 -0
  207. package/dist/context-estimator.d.ts.map +1 -0
  208. package/dist/context-estimator.js +18 -0
  209. package/dist/context-window-runtime.d.ts +12 -0
  210. package/dist/context-window-runtime.d.ts.map +1 -0
  211. package/dist/context-window-runtime.js +10 -0
  212. package/dist/deep-compact-runtime.d.ts +53 -0
  213. package/dist/deep-compact-runtime.d.ts.map +1 -0
  214. package/dist/deep-compact-runtime.js +35 -0
  215. package/dist/deferred-tools-catalog.d.ts +52 -0
  216. package/dist/deferred-tools-catalog.d.ts.map +1 -0
  217. package/dist/deferred-tools-catalog.js +42 -0
  218. package/dist/details-status-runtime.d.ts +48 -0
  219. package/dist/details-status-runtime.d.ts.map +1 -0
  220. package/dist/details-status-runtime.js +102 -0
  221. package/dist/evidence-runtime.d.ts +48 -0
  222. package/dist/evidence-runtime.d.ts.map +1 -0
  223. package/dist/evidence-runtime.js +92 -0
  224. package/dist/extension-command-runtime.d.ts +63 -0
  225. package/dist/extension-command-runtime.d.ts.map +1 -0
  226. package/dist/extension-command-runtime.js +67 -0
  227. package/dist/extension-slash-runtime.d.ts +11 -0
  228. package/dist/extension-slash-runtime.d.ts.map +1 -0
  229. package/dist/extension-slash-runtime.js +79 -0
  230. package/dist/external-editor-runtime.d.ts +32 -0
  231. package/dist/external-editor-runtime.d.ts.map +1 -0
  232. package/dist/external-editor-runtime.js +71 -0
  233. package/dist/failure-learning-command-runtime.d.ts +10 -0
  234. package/dist/failure-learning-command-runtime.d.ts.map +1 -0
  235. package/dist/failure-learning-command-runtime.js +78 -0
  236. package/dist/failure-learning-presenter.d.ts +6 -0
  237. package/dist/failure-learning-presenter.d.ts.map +1 -0
  238. package/dist/failure-learning-presenter.js +12 -0
  239. package/dist/failure-learning-runtime.d.ts +39 -0
  240. package/dist/failure-learning-runtime.d.ts.map +1 -0
  241. package/dist/failure-learning-runtime.js +39 -0
  242. package/dist/feature-flag-runtime.d.ts +8 -0
  243. package/dist/feature-flag-runtime.d.ts.map +1 -0
  244. package/dist/feature-flag-runtime.js +12 -0
  245. package/dist/feishu-long-connection-runtime.d.ts +12 -0
  246. package/dist/feishu-long-connection-runtime.d.ts.map +1 -0
  247. package/dist/feishu-long-connection-runtime.js +7 -0
  248. package/dist/final-answer-gate.d.ts +24 -0
  249. package/dist/final-answer-gate.d.ts.map +1 -0
  250. package/dist/final-answer-gate.js +26 -0
  251. package/dist/ghost-text.d.ts +16 -0
  252. package/dist/ghost-text.d.ts.map +1 -0
  253. package/dist/ghost-text.js +8 -0
  254. package/dist/git-branch-runtime.d.ts +14 -0
  255. package/dist/git-branch-runtime.d.ts.map +1 -0
  256. package/dist/git-branch-runtime.js +68 -0
  257. package/dist/git-command-runtime.d.ts +22 -0
  258. package/dist/git-command-runtime.d.ts.map +1 -0
  259. package/dist/git-command-runtime.js +89 -0
  260. package/dist/git-operation-runtime.d.ts +188 -0
  261. package/dist/git-operation-runtime.d.ts.map +1 -0
  262. package/dist/git-operation-runtime.js +45 -0
  263. package/dist/git-runtime.d.ts +113 -0
  264. package/dist/git-runtime.d.ts.map +1 -0
  265. package/dist/git-runtime.js +16 -0
  266. package/dist/git-slash-runtime.d.ts +38 -0
  267. package/dist/git-slash-runtime.d.ts.map +1 -0
  268. package/dist/git-slash-runtime.js +18 -0
  269. package/dist/git-tool-dispatch-runtime.d.ts +108 -0
  270. package/dist/git-tool-dispatch-runtime.d.ts.map +1 -0
  271. package/dist/git-tool-dispatch-runtime.js +25 -0
  272. package/dist/git-tool-runtime.d.ts +64 -0
  273. package/dist/git-tool-runtime.d.ts.map +1 -0
  274. package/dist/git-tool-runtime.js +36 -0
  275. package/dist/guard-wiring.d.ts +67 -0
  276. package/dist/guard-wiring.d.ts.map +1 -0
  277. package/dist/guard-wiring.js +21 -0
  278. package/dist/handoff-session-runtime.d.ts +11 -0
  279. package/dist/handoff-session-runtime.d.ts.map +1 -0
  280. package/dist/handoff-session-runtime.js +36 -0
  281. package/dist/index-result-presenter.d.ts +14 -0
  282. package/dist/index-result-presenter.d.ts.map +1 -0
  283. package/dist/index-result-presenter.js +28 -0
  284. package/dist/index-runtime.d.ts +64 -0
  285. package/dist/index-runtime.d.ts.map +1 -0
  286. package/dist/index-runtime.js +28 -0
  287. package/dist/index-tool-runtime.d.ts +44 -0
  288. package/dist/index-tool-runtime.d.ts.map +1 -0
  289. package/dist/index-tool-runtime.js +24 -0
  290. package/dist/index.d.ts +57 -0
  291. package/dist/index.d.ts.map +1 -0
  292. package/dist/index.js +2346 -0
  293. package/dist/job-agent-command-runtime.d.ts +127 -0
  294. package/dist/job-agent-command-runtime.d.ts.map +1 -0
  295. package/dist/job-agent-command-runtime.js +138 -0
  296. package/dist/job-runner-presenter.d.ts +32 -0
  297. package/dist/job-runner-presenter.d.ts.map +1 -0
  298. package/dist/job-runner-presenter.js +30 -0
  299. package/dist/job-runtime.d.ts +65 -0
  300. package/dist/job-runtime.d.ts.map +1 -0
  301. package/dist/job-runtime.js +88 -0
  302. package/dist/keybinding-runtime.d.ts +29 -0
  303. package/dist/keybinding-runtime.d.ts.map +1 -0
  304. package/dist/keybinding-runtime.js +14 -0
  305. package/dist/log-artifact.d.ts +55 -0
  306. package/dist/log-artifact.d.ts.map +1 -0
  307. package/dist/log-artifact.js +10 -0
  308. package/dist/mcp-index-command-runtime.d.ts +21 -0
  309. package/dist/mcp-index-command-runtime.d.ts.map +1 -0
  310. package/dist/mcp-index-command-runtime.js +18 -0
  311. package/dist/mcp-index-runtime.d.ts +106 -0
  312. package/dist/mcp-index-runtime.d.ts.map +1 -0
  313. package/dist/mcp-index-runtime.js +142 -0
  314. package/dist/mcp-sse-runtime.d.ts +13 -0
  315. package/dist/mcp-sse-runtime.d.ts.map +1 -0
  316. package/dist/mcp-sse-runtime.js +8 -0
  317. package/dist/mcp-stdio-runtime.d.ts +37 -0
  318. package/dist/mcp-stdio-runtime.d.ts.map +1 -0
  319. package/dist/mcp-stdio-runtime.js +15 -0
  320. package/dist/memory-command-runtime.d.ts +37 -0
  321. package/dist/memory-command-runtime.d.ts.map +1 -0
  322. package/dist/memory-command-runtime.js +88 -0
  323. package/dist/memory-eviction-runtime.d.ts +7 -0
  324. package/dist/memory-eviction-runtime.d.ts.map +1 -0
  325. package/dist/memory-eviction-runtime.js +12 -0
  326. package/dist/memory-extraction-runtime.d.ts +40 -0
  327. package/dist/memory-extraction-runtime.d.ts.map +1 -0
  328. package/dist/memory-extraction-runtime.js +20 -0
  329. package/dist/memory-rules-runtime.d.ts +15 -0
  330. package/dist/memory-rules-runtime.d.ts.map +1 -0
  331. package/dist/memory-rules-runtime.js +14 -0
  332. package/dist/meta-scheduler-complexity.d.ts +16 -0
  333. package/dist/meta-scheduler-complexity.d.ts.map +1 -0
  334. package/dist/meta-scheduler-complexity.js +37 -0
  335. package/dist/meta-scheduler-runtime.d.ts +288 -0
  336. package/dist/meta-scheduler-runtime.d.ts.map +1 -0
  337. package/dist/meta-scheduler-runtime.js +17 -0
  338. package/dist/model-command-runtime.d.ts +12 -0
  339. package/dist/model-command-runtime.d.ts.map +1 -0
  340. package/dist/model-command-runtime.js +84 -0
  341. package/dist/model-doctor-runtime.d.ts +81 -0
  342. package/dist/model-doctor-runtime.d.ts.map +1 -0
  343. package/dist/model-doctor-runtime.js +46 -0
  344. package/dist/model-loop-runtime.d.ts +189 -0
  345. package/dist/model-loop-runtime.d.ts.map +1 -0
  346. package/dist/model-loop-runtime.js +141 -0
  347. package/dist/model-prompt-runtime.d.ts +25 -0
  348. package/dist/model-prompt-runtime.d.ts.map +1 -0
  349. package/dist/model-prompt-runtime.js +33 -0
  350. package/dist/model-setup-runtime.d.ts +28 -0
  351. package/dist/model-setup-runtime.d.ts.map +1 -0
  352. package/dist/model-setup-runtime.js +26 -0
  353. package/dist/model-stream-runtime.d.ts +47 -0
  354. package/dist/model-stream-runtime.d.ts.map +1 -0
  355. package/dist/model-stream-runtime.js +136 -0
  356. package/dist/model-tool-runtime.d.ts +114 -0
  357. package/dist/model-tool-runtime.d.ts.map +1 -0
  358. package/dist/model-tool-runtime.js +144 -0
  359. package/dist/natural-command-bridge.d.ts +158 -0
  360. package/dist/natural-command-bridge.d.ts.map +1 -0
  361. package/dist/natural-command-bridge.js +36 -0
  362. package/dist/pending-details-presenter.d.ts +8 -0
  363. package/dist/pending-details-presenter.d.ts.map +1 -0
  364. package/dist/pending-details-presenter.js +12 -0
  365. package/dist/permission-approval-runtime.d.ts +28 -0
  366. package/dist/permission-approval-runtime.d.ts.map +1 -0
  367. package/dist/permission-approval-runtime.js +136 -0
  368. package/dist/permission-continuation-runtime.d.ts +90 -0
  369. package/dist/permission-continuation-runtime.d.ts.map +1 -0
  370. package/dist/permission-continuation-runtime.js +68 -0
  371. package/dist/permission-policy-engine.d.ts +51 -0
  372. package/dist/permission-policy-engine.d.ts.map +1 -0
  373. package/dist/permission-policy-engine.js +12 -0
  374. package/dist/permission-presenter.d.ts +13 -0
  375. package/dist/permission-presenter.d.ts.map +1 -0
  376. package/dist/permission-presenter.js +8 -0
  377. package/dist/persistent-history.d.ts +18 -0
  378. package/dist/persistent-history.d.ts.map +1 -0
  379. package/dist/persistent-history.js +126 -0
  380. package/dist/platform-security.d.ts +4 -0
  381. package/dist/platform-security.d.ts.map +1 -0
  382. package/dist/platform-security.js +10 -0
  383. package/dist/process-command-runtime.d.ts +9 -0
  384. package/dist/process-command-runtime.d.ts.map +1 -0
  385. package/dist/process-command-runtime.js +11 -0
  386. package/dist/process-guard.d.ts +56 -0
  387. package/dist/process-guard.d.ts.map +1 -0
  388. package/dist/process-guard.js +22 -0
  389. package/dist/prompt-command-runtime.d.ts +12 -0
  390. package/dist/prompt-command-runtime.d.ts.map +1 -0
  391. package/dist/prompt-command-runtime.js +10 -0
  392. package/dist/prompt-stash.d.ts +15 -0
  393. package/dist/prompt-stash.d.ts.map +1 -0
  394. package/dist/prompt-stash.js +8 -0
  395. package/dist/provider-circuit-breaker.d.ts +132 -0
  396. package/dist/provider-circuit-breaker.d.ts.map +1 -0
  397. package/dist/provider-circuit-breaker.js +31 -0
  398. package/dist/provider-loop-runtime.d.ts +18 -0
  399. package/dist/provider-loop-runtime.d.ts.map +1 -0
  400. package/dist/provider-loop-runtime.js +16 -0
  401. package/dist/remote-command-runtime.d.ts +47 -0
  402. package/dist/remote-command-runtime.d.ts.map +1 -0
  403. package/dist/remote-command-runtime.js +125 -0
  404. package/dist/remote-inbound-bridge-runtime.d.ts +152 -0
  405. package/dist/remote-inbound-bridge-runtime.d.ts.map +1 -0
  406. package/dist/remote-inbound-bridge-runtime.js +44 -0
  407. package/dist/remote-mcp-presenter.d.ts +5 -0
  408. package/dist/remote-mcp-presenter.d.ts.map +1 -0
  409. package/dist/remote-mcp-presenter.js +10 -0
  410. package/dist/remote-repl-bridge-runtime.d.ts +134 -0
  411. package/dist/remote-repl-bridge-runtime.d.ts.map +1 -0
  412. package/dist/remote-repl-bridge-runtime.js +20 -0
  413. package/dist/remote-transport.d.ts +50 -0
  414. package/dist/remote-transport.d.ts.map +1 -0
  415. package/dist/remote-transport.js +14 -0
  416. package/dist/request-lifecycle-presenter.d.ts +25 -0
  417. package/dist/request-lifecycle-presenter.d.ts.map +1 -0
  418. package/dist/request-lifecycle-presenter.js +22 -0
  419. package/dist/runner-runtime.d.ts +41 -0
  420. package/dist/runner-runtime.d.ts.map +1 -0
  421. package/dist/runner-runtime.js +35 -0
  422. package/dist/runtime-budget.d.ts +38 -0
  423. package/dist/runtime-budget.d.ts.map +1 -0
  424. package/dist/runtime-budget.js +78 -0
  425. package/dist/runtime-path-marker.d.ts +112 -0
  426. package/dist/runtime-path-marker.d.ts.map +1 -0
  427. package/dist/runtime-path-marker.js +18 -0
  428. package/dist/runtime-status-presenter.d.ts +22 -0
  429. package/dist/runtime-status-presenter.d.ts.map +1 -0
  430. package/dist/runtime-status-presenter.js +15 -0
  431. package/dist/runtime-status-snapshot.d.ts +52 -0
  432. package/dist/runtime-status-snapshot.d.ts.map +1 -0
  433. package/dist/runtime-status-snapshot.js +11 -0
  434. package/dist/runtime-utils.d.ts +2 -0
  435. package/dist/runtime-utils.d.ts.map +1 -0
  436. package/dist/runtime-utils.js +6 -0
  437. package/dist/shell/clipboard.d.ts +23 -0
  438. package/dist/shell/clipboard.d.ts.map +1 -0
  439. package/dist/shell/clipboard.js +8 -0
  440. package/dist/shell/components/AgentProgressTree.d.ts +9 -0
  441. package/dist/shell/components/AgentProgressTree.d.ts.map +1 -0
  442. package/dist/shell/components/AgentProgressTree.js +9 -0
  443. package/dist/shell/components/BackgroundTaskOverlay.d.ts +8 -0
  444. package/dist/shell/components/BackgroundTaskOverlay.d.ts.map +1 -0
  445. package/dist/shell/components/BackgroundTaskOverlay.js +8 -0
  446. package/dist/shell/components/BtwPanel.d.ts +16 -0
  447. package/dist/shell/components/BtwPanel.d.ts.map +1 -0
  448. package/dist/shell/components/BtwPanel.js +8 -0
  449. package/dist/shell/components/CommandPanel.d.ts +11 -0
  450. package/dist/shell/components/CommandPanel.d.ts.map +1 -0
  451. package/dist/shell/components/CommandPanel.js +8 -0
  452. package/dist/shell/components/Composer.d.ts +187 -0
  453. package/dist/shell/components/Composer.d.ts.map +1 -0
  454. package/dist/shell/components/Composer.js +99 -0
  455. package/dist/shell/components/ConfigPanel.d.ts +11 -0
  456. package/dist/shell/components/ConfigPanel.d.ts.map +1 -0
  457. package/dist/shell/components/ConfigPanel.js +8 -0
  458. package/dist/shell/components/CtrlOToExpand.d.ts +30 -0
  459. package/dist/shell/components/CtrlOToExpand.d.ts.map +1 -0
  460. package/dist/shell/components/CtrlOToExpand.js +16 -0
  461. package/dist/shell/components/HelpPanel.d.ts +19 -0
  462. package/dist/shell/components/HelpPanel.d.ts.map +1 -0
  463. package/dist/shell/components/HelpPanel.js +8 -0
  464. package/dist/shell/components/HistorySearchPanel.d.ts +14 -0
  465. package/dist/shell/components/HistorySearchPanel.d.ts.map +1 -0
  466. package/dist/shell/components/HistorySearchPanel.js +104 -0
  467. package/dist/shell/components/MessageMarkdown.d.ts +34 -0
  468. package/dist/shell/components/MessageMarkdown.d.ts.map +1 -0
  469. package/dist/shell/components/MessageMarkdown.js +18 -0
  470. package/dist/shell/components/MessageResponse.d.ts +14 -0
  471. package/dist/shell/components/MessageResponse.d.ts.map +1 -0
  472. package/dist/shell/components/MessageResponse.js +6 -0
  473. package/dist/shell/components/MouseInputRouter.d.ts +28 -0
  474. package/dist/shell/components/MouseInputRouter.d.ts.map +1 -0
  475. package/dist/shell/components/MouseInputRouter.js +84 -0
  476. package/dist/shell/components/NotificationStack.d.ts +19 -0
  477. package/dist/shell/components/NotificationStack.d.ts.map +1 -0
  478. package/dist/shell/components/NotificationStack.js +6 -0
  479. package/dist/shell/components/OutputLine.d.ts +19 -0
  480. package/dist/shell/components/OutputLine.d.ts.map +1 -0
  481. package/dist/shell/components/OutputLine.js +38 -0
  482. package/dist/shell/components/ProductBlock.d.ts +10 -0
  483. package/dist/shell/components/ProductBlock.d.ts.map +1 -0
  484. package/dist/shell/components/ProductBlock.js +12 -0
  485. package/dist/shell/components/ScrollViewport.d.ts +43 -0
  486. package/dist/shell/components/ScrollViewport.d.ts.map +1 -0
  487. package/dist/shell/components/ScrollViewport.js +86 -0
  488. package/dist/shell/components/SessionsPanel.d.ts +24 -0
  489. package/dist/shell/components/SessionsPanel.d.ts.map +1 -0
  490. package/dist/shell/components/SessionsPanel.js +8 -0
  491. package/dist/shell/components/ShellApp.d.ts +8 -0
  492. package/dist/shell/components/ShellApp.d.ts.map +1 -0
  493. package/dist/shell/components/ShellApp.js +45 -0
  494. package/dist/shell/components/ShortcutPanel.d.ts +14 -0
  495. package/dist/shell/components/ShortcutPanel.d.ts.map +1 -0
  496. package/dist/shell/components/ShortcutPanel.js +59 -0
  497. package/dist/shell/components/SlashSuggestions.d.ts +24 -0
  498. package/dist/shell/components/SlashSuggestions.d.ts.map +1 -0
  499. package/dist/shell/components/SlashSuggestions.js +7 -0
  500. package/dist/shell/components/StatusFooter.d.ts +30 -0
  501. package/dist/shell/components/StatusFooter.d.ts.map +1 -0
  502. package/dist/shell/components/StatusFooter.js +7 -0
  503. package/dist/shell/components/StatusTray.d.ts +9 -0
  504. package/dist/shell/components/StatusTray.d.ts.map +1 -0
  505. package/dist/shell/components/StatusTray.js +6 -0
  506. package/dist/shell/components/StructuredDiff.d.ts +9 -0
  507. package/dist/shell/components/StructuredDiff.d.ts.map +1 -0
  508. package/dist/shell/components/StructuredDiff.js +7 -0
  509. package/dist/shell/components/TaskListView.d.ts +9 -0
  510. package/dist/shell/components/TaskListView.d.ts.map +1 -0
  511. package/dist/shell/components/TaskListView.js +9 -0
  512. package/dist/shell/components/TaskSuggestionBar.d.ts +15 -0
  513. package/dist/shell/components/TaskSuggestionBar.d.ts.map +1 -0
  514. package/dist/shell/components/TaskSuggestionBar.js +8 -0
  515. package/dist/shell/components/UnseenMessagePill.d.ts +12 -0
  516. package/dist/shell/components/UnseenMessagePill.d.ts.map +1 -0
  517. package/dist/shell/components/UnseenMessagePill.js +6 -0
  518. package/dist/shell/components/WorkflowProgressView.d.ts +9 -0
  519. package/dist/shell/components/WorkflowProgressView.d.ts.map +1 -0
  520. package/dist/shell/components/WorkflowProgressView.js +9 -0
  521. package/dist/shell/components/useAnchoredCursor.d.ts +32 -0
  522. package/dist/shell/components/useAnchoredCursor.d.ts.map +1 -0
  523. package/dist/shell/components/useAnchoredCursor.js +6 -0
  524. package/dist/shell/hooks/useRenderThrottle.d.ts +2 -0
  525. package/dist/shell/hooks/useRenderThrottle.d.ts.map +1 -0
  526. package/dist/shell/hooks/useRenderThrottle.js +35 -0
  527. package/dist/shell/hooks/useScrollBatcher.d.ts +10 -0
  528. package/dist/shell/hooks/useScrollBatcher.d.ts.map +1 -0
  529. package/dist/shell/hooks/useScrollBatcher.js +23 -0
  530. package/dist/shell/hooks/useScrollRuntime.d.ts +2 -0
  531. package/dist/shell/hooks/useScrollRuntime.d.ts.map +1 -0
  532. package/dist/shell/hooks/useScrollRuntime.js +6 -0
  533. package/dist/shell/hyperlink-utils.d.ts +18 -0
  534. package/dist/shell/hyperlink-utils.d.ts.map +1 -0
  535. package/dist/shell/hyperlink-utils.js +8 -0
  536. package/dist/shell/ink-renderer.d.ts +18 -0
  537. package/dist/shell/ink-renderer.d.ts.map +1 -0
  538. package/dist/shell/ink-renderer.js +54 -0
  539. package/dist/shell/models/command-transcript-presenter.d.ts +73 -0
  540. package/dist/shell/models/command-transcript-presenter.d.ts.map +1 -0
  541. package/dist/shell/models/command-transcript-presenter.js +26 -0
  542. package/dist/shell/models/help-panel.d.ts +37 -0
  543. package/dist/shell/models/help-panel.d.ts.map +1 -0
  544. package/dist/shell/models/help-panel.js +10 -0
  545. package/dist/shell/models/permission-elevation.d.ts +65 -0
  546. package/dist/shell/models/permission-elevation.d.ts.map +1 -0
  547. package/dist/shell/models/permission-elevation.js +10 -0
  548. package/dist/shell/models/permission-explanation.d.ts +45 -0
  549. package/dist/shell/models/permission-explanation.d.ts.map +1 -0
  550. package/dist/shell/models/permission-explanation.js +14 -0
  551. package/dist/shell/models/session-panel.d.ts +22 -0
  552. package/dist/shell/models/session-panel.d.ts.map +1 -0
  553. package/dist/shell/models/session-panel.js +18 -0
  554. package/dist/shell/models/task-scroll-state.d.ts +24 -0
  555. package/dist/shell/models/task-scroll-state.d.ts.map +1 -0
  556. package/dist/shell/models/task-scroll-state.js +26 -0
  557. package/dist/shell/models/terminal-input-runtime.d.ts +37 -0
  558. package/dist/shell/models/terminal-input-runtime.d.ts.map +1 -0
  559. package/dist/shell/models/terminal-input-runtime.js +18 -0
  560. package/dist/shell/models/transcript-scroll-state.d.ts +57 -0
  561. package/dist/shell/models/transcript-scroll-state.d.ts.map +1 -0
  562. package/dist/shell/models/transcript-scroll-state.js +12 -0
  563. package/dist/shell/models/transcript-selection-state.d.ts +39 -0
  564. package/dist/shell/models/transcript-selection-state.d.ts.map +1 -0
  565. package/dist/shell/models/transcript-selection-state.js +25 -0
  566. package/dist/shell/models/wheel-acceleration.d.ts +52 -0
  567. package/dist/shell/models/wheel-acceleration.d.ts.map +1 -0
  568. package/dist/shell/models/wheel-acceleration.js +6 -0
  569. package/dist/shell/output-utils.d.ts +22 -0
  570. package/dist/shell/output-utils.d.ts.map +1 -0
  571. package/dist/shell/output-utils.js +12 -0
  572. package/dist/shell/plain-renderer.d.ts +12 -0
  573. package/dist/shell/plain-renderer.d.ts.map +1 -0
  574. package/dist/shell/plain-renderer.js +13 -0
  575. package/dist/shell/progress-views.d.ts +10 -0
  576. package/dist/shell/progress-views.d.ts.map +1 -0
  577. package/dist/shell/progress-views.js +17 -0
  578. package/dist/shell/stdout-flush-barrier.d.ts +39 -0
  579. package/dist/shell/stdout-flush-barrier.d.ts.map +1 -0
  580. package/dist/shell/stdout-flush-barrier.js +10 -0
  581. package/dist/shell/terminal-capability.d.ts +54 -0
  582. package/dist/shell/terminal-capability.d.ts.map +1 -0
  583. package/dist/shell/terminal-capability.js +10 -0
  584. package/dist/shell/terminal-interaction-runtime.d.ts +11 -0
  585. package/dist/shell/terminal-interaction-runtime.d.ts.map +1 -0
  586. package/dist/shell/terminal-interaction-runtime.js +38 -0
  587. package/dist/shell/terminal-state-recovery.d.ts +52 -0
  588. package/dist/shell/terminal-state-recovery.d.ts.map +1 -0
  589. package/dist/shell/terminal-state-recovery.js +11 -0
  590. package/dist/shell/text-utils.d.ts +40 -0
  591. package/dist/shell/text-utils.d.ts.map +1 -0
  592. package/dist/shell/text-utils.js +26 -0
  593. package/dist/shell/theme.d.ts +41 -0
  594. package/dist/shell/theme.d.ts.map +1 -0
  595. package/dist/shell/theme.js +8 -0
  596. package/dist/shell/types.d.ts +784 -0
  597. package/dist/shell/types.d.ts.map +1 -0
  598. package/dist/shell/types.js +0 -0
  599. package/dist/shell/view-model.d.ts +82 -0
  600. package/dist/shell/view-model.d.ts.map +1 -0
  601. package/dist/shell/view-model.js +48 -0
  602. package/dist/slash-command-runtime.d.ts +64 -0
  603. package/dist/slash-command-runtime.d.ts.map +1 -0
  604. package/dist/slash-command-runtime.js +186 -0
  605. package/dist/slash-dispatch.d.ts +48 -0
  606. package/dist/slash-dispatch.d.ts.map +1 -0
  607. package/dist/slash-dispatch.js +53 -0
  608. package/dist/startup-runtime.d.ts +48 -0
  609. package/dist/startup-runtime.d.ts.map +1 -0
  610. package/dist/startup-runtime.js +43 -0
  611. package/dist/terminal-readiness-presenter.d.ts +131 -0
  612. package/dist/terminal-readiness-presenter.d.ts.map +1 -0
  613. package/dist/terminal-readiness-presenter.js +16 -0
  614. package/dist/terminal-readiness-runtime.d.ts +5 -0
  615. package/dist/terminal-readiness-runtime.d.ts.map +1 -0
  616. package/dist/terminal-readiness-runtime.js +15 -0
  617. package/dist/terminal-setup-runtime.d.ts +34 -0
  618. package/dist/terminal-setup-runtime.d.ts.map +1 -0
  619. package/dist/terminal-setup-runtime.js +257 -0
  620. package/dist/tool-output-presenter.d.ts +38 -0
  621. package/dist/tool-output-presenter.d.ts.map +1 -0
  622. package/dist/tool-output-presenter.js +16 -0
  623. package/dist/tool-result-budget.d.ts +42 -0
  624. package/dist/tool-result-budget.d.ts.map +1 -0
  625. package/dist/tool-result-budget.js +11 -0
  626. package/dist/tui-agent-job-runtime.d.ts +38 -0
  627. package/dist/tui-agent-job-runtime.d.ts.map +1 -0
  628. package/dist/tui-agent-job-runtime.js +86 -0
  629. package/dist/tui-context-runtime.d.ts +426 -0
  630. package/dist/tui-context-runtime.d.ts.map +1 -0
  631. package/dist/tui-context-runtime.js +65 -0
  632. package/dist/tui-data-types.d.ts +923 -0
  633. package/dist/tui-data-types.d.ts.map +1 -0
  634. package/dist/tui-data-types.js +0 -0
  635. package/dist/tui-details-runtime.d.ts +25 -0
  636. package/dist/tui-details-runtime.d.ts.map +1 -0
  637. package/dist/tui-details-runtime.js +29 -0
  638. package/dist/tui-memory-runtime.d.ts +33 -0
  639. package/dist/tui-memory-runtime.d.ts.map +1 -0
  640. package/dist/tui-memory-runtime.js +58 -0
  641. package/dist/tui-messages.d.ts +4 -0
  642. package/dist/tui-messages.d.ts.map +1 -0
  643. package/dist/tui-messages.js +6 -0
  644. package/dist/tui-model-runtime.d.ts +30 -0
  645. package/dist/tui-model-runtime.d.ts.map +1 -0
  646. package/dist/tui-model-runtime.js +39 -0
  647. package/dist/tui-output-surface.d.ts +141 -0
  648. package/dist/tui-output-surface.d.ts.map +1 -0
  649. package/dist/tui-output-surface.js +55 -0
  650. package/dist/tui-permission-runtime.d.ts +62 -0
  651. package/dist/tui-permission-runtime.d.ts.map +1 -0
  652. package/dist/tui-permission-runtime.js +24 -0
  653. package/dist/tui-state-runtime.d.ts +21 -0
  654. package/dist/tui-state-runtime.d.ts.map +1 -0
  655. package/dist/tui-state-runtime.js +47 -0
  656. package/dist/turn-continuity-runtime.d.ts +30 -0
  657. package/dist/turn-continuity-runtime.d.ts.map +1 -0
  658. package/dist/turn-continuity-runtime.js +8 -0
  659. package/dist/undo-ring.d.ts +16 -0
  660. package/dist/undo-ring.d.ts.map +1 -0
  661. package/dist/undo-ring.js +12 -0
  662. package/dist/usage-stats-presenter.d.ts +17 -0
  663. package/dist/usage-stats-presenter.d.ts.map +1 -0
  664. package/dist/usage-stats-presenter.js +22 -0
  665. package/dist/user-state-signal-runtime.d.ts +33 -0
  666. package/dist/user-state-signal-runtime.d.ts.map +1 -0
  667. package/dist/user-state-signal-runtime.js +8 -0
  668. package/dist/verification-command-runtime.d.ts +25 -0
  669. package/dist/verification-command-runtime.d.ts.map +1 -0
  670. package/dist/verification-command-runtime.js +51 -0
  671. package/dist/verification-level.d.ts +93 -0
  672. package/dist/verification-level.d.ts.map +1 -0
  673. package/dist/verification-level.js +18 -0
  674. package/dist/workflow-agent-runtime-bridge.d.ts +169 -0
  675. package/dist/workflow-agent-runtime-bridge.d.ts.map +1 -0
  676. package/dist/workflow-agent-runtime-bridge.js +9 -0
  677. package/dist/workflow-command-runtime.d.ts +94 -0
  678. package/dist/workflow-command-runtime.d.ts.map +1 -0
  679. package/dist/workflow-command-runtime.js +114 -0
  680. package/dist/workflow-plan-schema.d.ts +161 -0
  681. package/dist/workflow-plan-schema.d.ts.map +1 -0
  682. package/dist/workflow-plan-schema.js +12 -0
  683. package/dist/workflow-planner-entry.d.ts +52 -0
  684. package/dist/workflow-planner-entry.d.ts.map +1 -0
  685. package/dist/workflow-planner-entry.js +328 -0
  686. package/dist/workflow-task-surface.d.ts +39 -0
  687. package/dist/workflow-task-surface.d.ts.map +1 -0
  688. package/dist/workflow-task-surface.js +7 -0
  689. package/dist/workspace-reference-cache.d.ts +110 -0
  690. package/dist/workspace-reference-cache.d.ts.map +1 -0
  691. package/dist/workspace-reference-cache.js +12 -0
  692. package/package.json +41 -0
@@ -0,0 +1,57 @@
1
+ import type { TranscriptScrollActionName, TranscriptScrollView } from "../types.js";
2
+ /**
3
+ * D.13Q-UX Task Surface — 主 transcript 滚动状态推进(纯函数)。
4
+ *
5
+ * scrollOffset 语义:从底部向上偏移的行数。
6
+ * - 0 = 吸底(最新内容贴近 composer)
7
+ * - >0 = 用户主动向上滚动了 N 行
8
+ *
9
+ * action 语义:
10
+ * - { type: "scroll", action }:CCB-like semantic pager action;
11
+ * PgUp/PgDn 按测量视口滚半页,wheel/arrow 滚一行。
12
+ * - { type: "scroll", delta }:兼容旧测试/调用,delta>0 向上看更早内容。
13
+ * - { type: "end" } / { type: "scroll", action: "bottom" }:归零吸底。
14
+ *
15
+ * stickToBottom 推导:
16
+ * - next.scrollOffset === 0 → true(无偏移即视为吸底)。
17
+ * - next.scrollOffset > 0 → false(detached;新输出不强制跳底)。
18
+ *
19
+ * Clamp:scrollOffset 永远 >= 0,避免负数越界。
20
+ */
21
+ export type TranscriptScrollAction = {
22
+ type: "scroll";
23
+ delta: number;
24
+ } | {
25
+ type: "scroll";
26
+ action: TranscriptScrollActionName;
27
+ } | {
28
+ type: "end";
29
+ } | {
30
+ type: "top";
31
+ } | {
32
+ type: "measure";
33
+ viewportHeight: number;
34
+ contentHeight: number;
35
+ };
36
+ export declare function createInitialTranscriptScroll(): TranscriptScrollView;
37
+ export declare function reduceTranscriptScroll(state: TranscriptScrollView | undefined, action: TranscriptScrollAction): TranscriptScrollView;
38
+ /**
39
+ * D.14D-C2 — 测量后夹紧(pure,供 ScrollViewport 在量出高度后调用)。
40
+ *
41
+ * 视口测量出内容高度与可视高度后得到 maxOffset = max(0, contentH - viewH),
42
+ * 即"最多还能向上滚动的行数"。本函数把 state.scrollOffset 夹到 [0, maxOffset],
43
+ * 修掉旧的无界 `marginTop={-scrollOffset}` 缺陷(offset 没有上界,用户可以一直
44
+ * 向上滚动把内容整体推出可视区进入空白)。
45
+ *
46
+ * 语义保持:scrollOffset 仍是"从底部向上偏移的行数"(0=吸底,maxOffset=顶部)。
47
+ * - maxOffset<=0(内容未溢出或尚未测量到溢出)→ 强制 offset=0、hasOverflow=false。
48
+ * - stickToBottom 不变(由 reduceTranscriptScroll 负责吸底推导),这里只夹 offset 并
49
+ * 回填 hasOverflow,供底部 affordance / footer 决策。
50
+ */
51
+ export declare function clampTranscriptScroll(state: TranscriptScrollView | undefined, maxOffset: number): TranscriptScrollView;
52
+ export declare function computeScrollViewportOffset(maxOffset: number, scroll: TranscriptScrollView | undefined): {
53
+ topOffset: number;
54
+ marginTop: number;
55
+ bottomOffset: number;
56
+ };
57
+ //# sourceMappingURL=transcript-scroll-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transcript-scroll-state.d.ts","sourceRoot":"","sources":["../../../src/shell/models/transcript-scroll-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEpF;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,sBAAsB,GAC9B;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,0BAA0B,CAAA;CAAE,GACtD;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,GACf;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,GACf;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvE,wBAAgB,6BAA6B,IAAI,oBAAoB,CAEpE;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,oBAAoB,GAAG,SAAS,EACvC,MAAM,EAAE,sBAAsB,GAC7B,oBAAoB,CAiCtB;AA0CD;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,oBAAoB,GAAG,SAAS,EACvC,SAAS,EAAE,MAAM,GAChB,oBAAoB,CAWtB;AAED,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,oBAAoB,GAAG,SAAS,GACvC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAShE"}
@@ -0,0 +1,12 @@
1
+ import {
2
+ clampTranscriptScroll,
3
+ computeScrollViewportOffset,
4
+ createInitialTranscriptScroll,
5
+ reduceTranscriptScroll
6
+ } from "../../chunk-JPXSFZFC.js";
7
+ export {
8
+ clampTranscriptScroll,
9
+ computeScrollViewportOffset,
10
+ createInitialTranscriptScroll,
11
+ reduceTranscriptScroll
12
+ };
@@ -0,0 +1,39 @@
1
+ import { type TerminalSelectionCell, type TerminalSelectionMouseAction, type TerminalSelectionMouseButton, type TerminalSelectionMouseEvent, type TerminalSelectionPoint, type TerminalSelectionState, type TerminalSelectionTextRow, type TerminalSelectionViewportGeometry } from "@linghun/ink-runtime";
2
+ import type { ProductBlockSelectionRange, ProductBlockViewModel, TranscriptScrollView } from "../types.js";
3
+ export type TranscriptMouseButton = TerminalSelectionMouseButton;
4
+ export type TranscriptMouseAction = TerminalSelectionMouseAction;
5
+ export type TranscriptMouseEvent = TerminalSelectionMouseEvent;
6
+ export type TranscriptViewportGeometry = TerminalSelectionViewportGeometry;
7
+ export type TranscriptTextRow = TerminalSelectionTextRow;
8
+ export type TranscriptScreenCell = TerminalSelectionCell;
9
+ export type TranscriptScreenBuffer = {
10
+ rows: TranscriptTextRow[];
11
+ width: number;
12
+ };
13
+ export type TranscriptSelectionPoint = TerminalSelectionPoint;
14
+ export type TranscriptSelectionState = TerminalSelectionState;
15
+ export type TranscriptSelectionInput = {
16
+ state: TranscriptSelectionState | undefined;
17
+ event: TranscriptMouseEvent;
18
+ rows: TranscriptTextRow[];
19
+ geometry?: TranscriptViewportGeometry;
20
+ scroll?: TranscriptScrollView;
21
+ copyOnSelect?: boolean;
22
+ };
23
+ export type TranscriptSelectionResult = {
24
+ state: TranscriptSelectionState | undefined;
25
+ copyText?: string;
26
+ scrollDelta?: number;
27
+ consumed: boolean;
28
+ };
29
+ export declare function buildTranscriptScreenBuffer(blocks: ProductBlockViewModel[], width?: number): TranscriptScreenBuffer;
30
+ export declare function buildTranscriptTextRows(blocks: ProductBlockViewModel[], width?: number): TranscriptTextRow[];
31
+ export declare function parseSgrMouseEvent(input: string): TranscriptMouseEvent | undefined;
32
+ export declare function isSgrMouseInput(input: string): boolean;
33
+ export declare function isSelectionStale(state: TranscriptSelectionState | undefined, now: number): boolean;
34
+ export declare function reduceTranscriptSelection(input: TranscriptSelectionInput): TranscriptSelectionResult;
35
+ export declare function selectionContainsRow(selection: TranscriptSelectionState | undefined, rowIndex: number): boolean;
36
+ export declare function selectionLineIndexesForBlock(selection: TranscriptSelectionState | undefined, rows: TranscriptTextRow[], blockId: string): number[];
37
+ export declare function selectionLineRangesForBlock(selection: TranscriptSelectionState | undefined, rows: TranscriptTextRow[], blockId: string): ProductBlockSelectionRange[];
38
+ export declare function selectedTextFromRows(rows: TranscriptTextRow[], anchor: TranscriptSelectionPoint, focus: TranscriptSelectionPoint): string;
39
+ //# sourceMappingURL=transcript-selection-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transcript-selection-state.d.ts","sourceRoot":"","sources":["../../../src/shell/models/transcript-selection-state.ts"],"names":[],"mappings":"AAAA,OAAO,EASL,KAAK,qBAAqB,EAE1B,KAAK,4BAA4B,EACjC,KAAK,4BAA4B,EACjC,KAAK,2BAA2B,EAChC,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,iCAAiC,EACvC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAG3G,MAAM,MAAM,qBAAqB,GAAG,4BAA4B,CAAC;AACjE,MAAM,MAAM,qBAAqB,GAAG,4BAA4B,CAAC;AACjE,MAAM,MAAM,oBAAoB,GAAG,2BAA2B,CAAC;AAC/D,MAAM,MAAM,0BAA0B,GAAG,iCAAiC,CAAC;AAC3E,MAAM,MAAM,iBAAiB,GAAG,wBAAwB,CAAC;AACzD,MAAM,MAAM,oBAAoB,GAAG,qBAAqB,CAAC;AAEzD,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,iBAAiB,EAAE,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,sBAAsB,CAAC;AAC9D,MAAM,MAAM,wBAAwB,GAAG,sBAAsB,CAAC;AAE9D,MAAM,MAAM,wBAAwB,GAAG;IACrC,KAAK,EAAE,wBAAwB,GAAG,SAAS,CAAC;IAC5C,KAAK,EAAE,oBAAoB,CAAC;IAC5B,IAAI,EAAE,iBAAiB,EAAE,CAAC;IAC1B,QAAQ,CAAC,EAAE,0BAA0B,CAAC;IACtC,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,KAAK,EAAE,wBAAwB,GAAG,SAAS,CAAC;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,qBAAqB,EAAE,EAC/B,KAAK,SAA2B,GAC/B,sBAAsB,CAmBxB;AAED,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,qBAAqB,EAAE,EAC/B,KAAK,SAA2B,GAC/B,iBAAiB,EAAE,CAErB;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,CAElF;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,wBAAwB,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAElG;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,wBAAwB,GAAG,yBAAyB,CAEpG;AAED,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,wBAAwB,GAAG,SAAS,EAC/C,QAAQ,EAAE,MAAM,GACf,OAAO,CAET;AAED,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,wBAAwB,GAAG,SAAS,EAC/C,IAAI,EAAE,iBAAiB,EAAE,EACzB,OAAO,EAAE,MAAM,GACd,MAAM,EAAE,CAEV;AAED,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,wBAAwB,GAAG,SAAS,EAC/C,IAAI,EAAE,iBAAiB,EAAE,EACzB,OAAO,EAAE,MAAM,GACd,0BAA0B,EAAE,CAE9B;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,iBAAiB,EAAE,EACzB,MAAM,EAAE,wBAAwB,EAChC,KAAK,EAAE,wBAAwB,GAC9B,MAAM,CAER"}
@@ -0,0 +1,25 @@
1
+ import {
2
+ buildTranscriptScreenBuffer,
3
+ buildTranscriptTextRows,
4
+ isSelectionStale,
5
+ isSgrMouseInput,
6
+ parseSgrMouseEvent,
7
+ reduceTranscriptSelection,
8
+ selectedTextFromRows,
9
+ selectionContainsRow,
10
+ selectionLineIndexesForBlock,
11
+ selectionLineRangesForBlock
12
+ } from "../../chunk-NKFKOEYX.js";
13
+ import "../../chunk-APJIC2O5.js";
14
+ export {
15
+ buildTranscriptScreenBuffer,
16
+ buildTranscriptTextRows,
17
+ isSelectionStale,
18
+ isSgrMouseInput,
19
+ parseSgrMouseEvent,
20
+ reduceTranscriptSelection,
21
+ selectedTextFromRows,
22
+ selectionContainsRow,
23
+ selectionLineIndexesForBlock,
24
+ selectionLineRangesForBlock
25
+ };
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Phase R5 — Wheel acceleration algorithm with encoder bounce detection,
3
+ * wheel mode, trackpad burst detection, and terminal-specific curves.
4
+ *
5
+ * Behavioral reference: CCB scroll runtime (行为级参考,未复制源码).
6
+ *
7
+ * Device heuristics:
8
+ * - Trackpad bursts: many events with <5ms gaps → no acceleration (step=1)
9
+ * - Discrete mouse wheel: encoder bounce detection → wheel mode → exponential decay
10
+ * - Native terminals: linear ramp fallback when wheel mode not engaged
11
+ * - xterm.js (VS Code/Cursor/Windsurf): exponential decay with gap-dependent cap
12
+ *
13
+ * Encoder bounce detection (physical wheel only):
14
+ * - Pattern: direction flip → flip-back within 200ms
15
+ * - Confirmed bounce → engage wheel mode (sticky until idle >1500ms or trackpad burst)
16
+ * - Wheel mode: exponential decay curve (better for varied scroll speeds)
17
+ *
18
+ * Direction flip debounce:
19
+ * - First flip: defer processing, wait for next event
20
+ * - If next event confirms flip-back → bounce (engage wheel mode)
21
+ * - If next event persists new direction → real reversal (1 row latency acceptable)
22
+ *
23
+ * Terminal-specific curves:
24
+ * - xterm.js: exponential decay, momentum = 0.5^(gap/halflife), gap-dependent cap
25
+ * - Native: linear ramp + wheel mode (exponential decay after bounce confirmed)
26
+ */
27
+ export type WheelAcceleratorOptions = {
28
+ /** Base rows/event (configurable via LINGHUN_SCROLL_SPEED). Default: 1 */
29
+ base?: number;
30
+ /** Terminal type: xterm.js uses exponential decay, native uses linear+wheel-mode */
31
+ terminalType?: "xterm.js" | "native";
32
+ };
33
+ export declare class WheelAccelerator {
34
+ private timestamps;
35
+ private base;
36
+ private terminalType;
37
+ private wheelMode;
38
+ private wheelModeMult;
39
+ private lastWheelModeTime;
40
+ private lastDir;
41
+ private pendingFlip;
42
+ private burstCount;
43
+ private xtermMult;
44
+ private xtermFrac;
45
+ private lastXtermTime;
46
+ constructor(options?: WheelAcceleratorOptions);
47
+ recordEvent(timestamp: number, direction: "up" | "down", viewportHeight?: number): number;
48
+ reset(): void;
49
+ private recordEventXtermJs;
50
+ private recordEventNative;
51
+ }
52
+ //# sourceMappingURL=wheel-acceleration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wheel-acceleration.d.ts","sourceRoot":"","sources":["../../../src/shell/models/wheel-acceleration.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAiCH,MAAM,MAAM,uBAAuB,GAAG;IACpC,0EAA0E;IAC1E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oFAAoF;IACpF,YAAY,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAC;CACtC,CAAC;AAEF,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,YAAY,CAAwB;IAG5C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,iBAAiB,CAAK;IAG9B,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,WAAW,CAA8C;IAGjE,OAAO,CAAC,UAAU,CAAK;IAGvB,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,aAAa,CAAK;gBAEd,OAAO,GAAE,uBAA4B;IAKjD,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,GAAG,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM;IAUzF,KAAK,IAAI,IAAI;IAab,OAAO,CAAC,kBAAkB;IA0B1B,OAAO,CAAC,iBAAiB;CA2G1B"}
@@ -0,0 +1,6 @@
1
+ import {
2
+ WheelAccelerator
3
+ } from "../../chunk-PGWW3DVE.js";
4
+ export {
5
+ WheelAccelerator
6
+ };
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Output formatting utilities for terminal display
3
+ * Based on CCB's behavior without copying implementation
4
+ */
5
+ import type { Language } from "@linghun/shared";
6
+ /**
7
+ * Render content with smart truncation and wrapping
8
+ */
9
+ export declare function renderTruncatedContent(content: string, terminalWidth: number, language?: Language): string;
10
+ /**
11
+ * Try to format a single line as JSON
12
+ */
13
+ export declare function tryFormatJsonLine(line: string): string;
14
+ /**
15
+ * Try to format content as JSON (line by line)
16
+ */
17
+ export declare function tryJsonFormatContent(content: string): string;
18
+ /**
19
+ * Fast check: would content be truncated?
20
+ */
21
+ export declare function isContentTruncated(content: string): boolean;
22
+ //# sourceMappingURL=output-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output-utils.d.ts","sourceRoot":"","sources":["../../src/shell/output-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAsGhD;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,QAAQ,GAAE,QAAkB,GAC3B,MAAM,CA8BR;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQtD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAQ5D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAQ3D"}
@@ -0,0 +1,12 @@
1
+ import {
2
+ isContentTruncated,
3
+ renderTruncatedContent,
4
+ tryFormatJsonLine,
5
+ tryJsonFormatContent
6
+ } from "../chunk-4I2NWBOM.js";
7
+ export {
8
+ isContentTruncated,
9
+ renderTruncatedContent,
10
+ tryFormatJsonLine,
11
+ tryJsonFormatContent
12
+ };
@@ -0,0 +1,12 @@
1
+ import type { Writable } from "node:stream";
2
+ import { type TerminalCapability } from "./terminal-capability.js";
3
+ import type { ShellViewModel } from "./types.js";
4
+ export declare function renderPlainShell(view: ShellViewModel, capability?: TerminalCapability): string;
5
+ export declare function writePlainShell(output: Writable, view: ShellViewModel): void;
6
+ /**
7
+ * Compute the leading spaces for the readline prompt so it aligns with the
8
+ * composer prompt line position in the Home view.
9
+ * The prompt "> " sits at indent 2 inside the composer box (matching " > placeholder").
10
+ */
11
+ export declare function computeHomePromptPrefix(terminalWidth: number): string;
12
+ //# sourceMappingURL=plain-renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plain-renderer.d.ts","sourceRoot":"","sources":["../../src/shell/plain-renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,KAAK,kBAAkB,EAA4B,MAAM,0BAA0B,CAAC;AAG7F,OAAO,KAAK,EAA6C,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5F,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,cAAc,EAAE,UAAU,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAM9F;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,GAAG,IAAI,CAE5E;AAydD;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAGrE"}
@@ -0,0 +1,13 @@
1
+ import {
2
+ computeHomePromptPrefix,
3
+ renderPlainShell,
4
+ writePlainShell
5
+ } from "../chunk-IN42UISW.js";
6
+ import "../chunk-GC55DMZV.js";
7
+ import "../chunk-DICVLZHH.js";
8
+ import "../chunk-APJIC2O5.js";
9
+ export {
10
+ computeHomePromptPrefix,
11
+ renderPlainShell,
12
+ writePlainShell
13
+ };
@@ -0,0 +1,10 @@
1
+ import type { TuiContext } from "../tui-context-runtime.js";
2
+ import type { BackgroundTaskState } from "../tui-data-types.js";
3
+ import type { AgentProgressTreeView, BackgroundTaskOverlayView, BackgroundTaskSummary, TaskListView, WorkflowProgressView } from "./types.js";
4
+ export declare function buildAgentProgressTreeView(context: TuiContext): AgentProgressTreeView | undefined;
5
+ export declare function buildTaskListView(context: TuiContext): TaskListView | undefined;
6
+ export declare function buildWorkflowProgressView(context: TuiContext): WorkflowProgressView | undefined;
7
+ export declare function buildBackgroundTaskOverlayView(context: TuiContext, summaries: BackgroundTaskSummary[]): BackgroundTaskOverlayView | undefined;
8
+ export declare function updateBackgroundOverlayCursor(context: TuiContext, delta: -1 | 1): void;
9
+ export declare function getBackgroundOverlaySelectedTask(context: TuiContext): BackgroundTaskState | undefined;
10
+ //# sourceMappingURL=progress-views.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress-views.d.ts","sourceRoot":"","sources":["../../src/shell/progress-views.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,EAAY,mBAAmB,EAAuC,MAAM,sBAAsB,CAAC;AAE/G,OAAO,KAAK,EACV,qBAAqB,EACrB,yBAAyB,EACzB,qBAAqB,EACrB,YAAY,EACZ,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAiCpB,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,UAAU,GAAG,qBAAqB,GAAG,SAAS,CAqDjG;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,UAAU,GAAG,YAAY,GAAG,SAAS,CAiB/E;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,UAAU,GAAG,oBAAoB,GAAG,SAAS,CAsD/F;AAED,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,UAAU,EACnB,SAAS,EAAE,qBAAqB,EAAE,GACjC,yBAAyB,GAAG,SAAS,CAsBvC;AAED,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAOtF;AAED,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,UAAU,GAAG,mBAAmB,GAAG,SAAS,CAIrG"}
@@ -0,0 +1,17 @@
1
+ import {
2
+ buildAgentProgressTreeView,
3
+ buildBackgroundTaskOverlayView,
4
+ buildTaskListView,
5
+ buildWorkflowProgressView,
6
+ getBackgroundOverlaySelectedTask,
7
+ updateBackgroundOverlayCursor
8
+ } from "../chunk-FRIMDSRU.js";
9
+ import "../chunk-RBOQJFIZ.js";
10
+ export {
11
+ buildAgentProgressTreeView,
12
+ buildBackgroundTaskOverlayView,
13
+ buildTaskListView,
14
+ buildWorkflowProgressView,
15
+ getBackgroundOverlaySelectedTask,
16
+ updateBackgroundOverlayCursor
17
+ };
@@ -0,0 +1,39 @@
1
+ import type { Writable } from "node:stream";
2
+ /**
3
+ * Phase 6 — Stdout flush barrier for critical terminal state changes.
4
+ *
5
+ * Ensures stdout buffer is flushed before critical operations like:
6
+ * - Mode changes (mouse mode enable/disable, alternate screen)
7
+ * - Exit/cleanup (SGR reset, cursor restore)
8
+ * - Terminal state recovery after render error
9
+ *
10
+ * Behavioral goal (from RENDERER_RUNTIME_MIGRATION_PLAN Phase 6):
11
+ * - Exit returns to a clean shell prompt
12
+ * - Render errors do not leave terminal state broken
13
+ *
14
+ * Implementation:
15
+ * - Synchronous flush on Node.js writable streams (stdout.write callback)
16
+ * - Best-effort: if flush fails or stream is closed, continue anyway
17
+ * - No-op on non-TTY streams (pipes, redirected output)
18
+ */
19
+ /**
20
+ * Flush stdout buffer and wait for drain event.
21
+ * Returns immediately if stream is not writable or already drained.
22
+ */
23
+ export declare function flushStdout(stdout: Writable | undefined): Promise<void>;
24
+ /**
25
+ * Write SGR reset sequence and flush.
26
+ * Used before exit to clear any leftover styles/modes.
27
+ *
28
+ * NOTE: This does NOT write mouse mode disable sequences. Mouse mode cleanup
29
+ * is handled by `terminalInteractionSession.disable()` (conditional on what
30
+ * was actually enabled) and by `recoverTerminalState()` (error recovery path
31
+ * which unconditionally disables all modes as a safety net).
32
+ */
33
+ export declare function writeSGRResetAndFlush(stdout: Writable | undefined): Promise<void>;
34
+ /**
35
+ * Drain pending stdin data to prevent it from leaking into the shell after exit.
36
+ * Non-blocking: reads available data without waiting for more input.
37
+ */
38
+ export declare function drainStdin(stdin: NodeJS.ReadStream | undefined): void;
39
+ //# sourceMappingURL=stdout-flush-barrier.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stdout-flush-barrier.d.ts","sourceRoot":"","sources":["../../src/shell/stdout-flush-barrier.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C;;;;;;;;;;;;;;;;GAgBG;AAEH;;;GAGG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAyC7E;AAED;;;;;;;;GAQG;AACH,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBvF;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,GAAG,SAAS,GAAG,IAAI,CAYrE"}
@@ -0,0 +1,10 @@
1
+ import {
2
+ drainStdin,
3
+ flushStdout,
4
+ writeSGRResetAndFlush
5
+ } from "../chunk-XFPNU42I.js";
6
+ export {
7
+ drainStdin,
8
+ flushStdout,
9
+ writeSGRResetAndFlush
10
+ };
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Terminal capability detection for UI rendering decisions.
3
+ *
4
+ * Classifies the current terminal into tiers:
5
+ * - "modern": Windows Terminal, iTerm2, Alacritty, kitty, WezTerm, VS Code terminal, etc.
6
+ * Supports full Unicode box-drawing, emoji, 256-color/truecolor.
7
+ * - "basic": ConEmu, mintty, xterm without known modern features.
8
+ * Supports basic Unicode but may have issues with complex box-drawing.
9
+ * - "legacy": Windows cmd.exe (conhost), TERM=dumb, non-TTY.
10
+ * ASCII-only safe rendering, no box-drawing, no emoji.
11
+ *
12
+ * This module is pure and side-effect-free; it reads environment variables
13
+ * but does not modify terminal state.
14
+ */
15
+ export type TerminalTier = "modern" | "basic" | "legacy";
16
+ export type TerminalCapability = {
17
+ tier: TerminalTier;
18
+ /** Whether Unicode box-drawing characters render correctly. */
19
+ unicodeBox: boolean;
20
+ /** Whether CJK wide characters are handled correctly. */
21
+ cjkWide: boolean;
22
+ /** Whether 256-color or truecolor is supported. */
23
+ richColor: boolean;
24
+ /** Whether kitty keyboard protocol is available. */
25
+ kittyKeyboard: boolean;
26
+ /** Whether alternate screen buffer is safe to use. */
27
+ alternateScreen: boolean;
28
+ /** Whether the terminal supports cursor positioning reliably. */
29
+ cursorPositioning: boolean;
30
+ /** Whether Shift+Enter is expected to arrive as a distinguishable raw terminal sequence. */
31
+ shiftEnter: boolean;
32
+ /** Fallback key chords that the editor treats as newline insertion. */
33
+ multilineFallbacks: Array<"ctrl-j" | "backslash-enter">;
34
+ /** Keyboard enhancement protocols that are likely available or auto-enabled by Ink. */
35
+ keyboardProtocols: Array<"kitty" | "csi-u" | "modifyOtherKeys">;
36
+ };
37
+ /** Detect terminal capability. Result is cached for the process lifetime. */
38
+ export declare function detectTerminalCapability(): TerminalCapability;
39
+ /** Reset cached capability (for testing). */
40
+ export declare function resetTerminalCapabilityCache(): void;
41
+ /**
42
+ * Detect if the terminal uses xterm.js (VS Code / Cursor / Windsurf integrated terminals).
43
+ *
44
+ * xterm.js terminals send exactly 1 wheel event per notch (no pre-amplification),
45
+ * requiring app-side exponential decay curve to match native terminal feel.
46
+ *
47
+ * Detection heuristic:
48
+ * - TERM_PROGRAM=vscode (VS Code integrated terminal)
49
+ * - TERM_PROGRAM contains "cursor" or "windsurf" (similar xterm.js-based terminals)
50
+ *
51
+ * Behavioral reference: CCB scroll runtime (行为级参考,未复制源码).
52
+ */
53
+ export declare function isXtermJsTerminal(env?: NodeJS.ProcessEnv): boolean;
54
+ //# sourceMappingURL=terminal-capability.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-capability.d.ts","sourceRoot":"","sources":["../../src/shell/terminal-capability.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AAEH,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEzD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,YAAY,CAAC;IACnB,+DAA+D;IAC/D,UAAU,EAAE,OAAO,CAAC;IACpB,yDAAyD;IACzD,OAAO,EAAE,OAAO,CAAC;IACjB,mDAAmD;IACnD,SAAS,EAAE,OAAO,CAAC;IACnB,oDAAoD;IACpD,aAAa,EAAE,OAAO,CAAC;IACvB,sDAAsD;IACtD,eAAe,EAAE,OAAO,CAAC;IACzB,iEAAiE;IACjE,iBAAiB,EAAE,OAAO,CAAC;IAC3B,4FAA4F;IAC5F,UAAU,EAAE,OAAO,CAAC;IACpB,uEAAuE;IACvE,kBAAkB,EAAE,KAAK,CAAC,QAAQ,GAAG,iBAAiB,CAAC,CAAC;IACxD,uFAAuF;IACvF,iBAAiB,EAAE,KAAK,CAAC,OAAO,GAAG,OAAO,GAAG,iBAAiB,CAAC,CAAC;CACjE,CAAC;AAIF,6EAA6E;AAC7E,wBAAgB,wBAAwB,IAAI,kBAAkB,CAI7D;AAED,6CAA6C;AAC7C,wBAAgB,4BAA4B,IAAI,IAAI,CAEnD;AA0KD;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAG/E"}
@@ -0,0 +1,10 @@
1
+ import {
2
+ detectTerminalCapability,
3
+ isXtermJsTerminal,
4
+ resetTerminalCapabilityCache
5
+ } from "../chunk-DICVLZHH.js";
6
+ export {
7
+ detectTerminalCapability,
8
+ isXtermJsTerminal,
9
+ resetTerminalCapabilityCache
10
+ };
@@ -0,0 +1,11 @@
1
+ import type { TerminalInteractionModes } from "@linghun/ink-runtime";
2
+ import type { TerminalCapability } from "./terminal-capability.js";
3
+ export { DISABLE_BRACKETED_PASTE, DISABLE_FOCUS_EVENTS, DISABLE_KITTY_KEYBOARD, DISABLE_MODIFY_OTHER_KEYS, DISABLE_SGR_MOUSE, ENABLE_BRACKETED_PASTE, ENABLE_FOCUS_EVENTS, ENABLE_KITTY_KEYBOARD, ENABLE_MODIFY_OTHER_KEYS, ENABLE_SGR_MOUSE, bindTerminalInteractionSignals, createTerminalInteractionSession, disableTerminalInteractionModes, enableTerminalInteractionModes, reassertTerminalInteractionModes, writeBestEffort, } from "@linghun/ink-runtime";
4
+ export type { TerminalInteractionModes } from "@linghun/ink-runtime";
5
+ export type TerminalInteractionOptions = {
6
+ capability: TerminalCapability;
7
+ env?: NodeJS.ProcessEnv;
8
+ appOwnedScreen?: boolean;
9
+ };
10
+ export declare function resolveTerminalInteractionModes({ capability, env, appOwnedScreen, }: TerminalInteractionOptions): TerminalInteractionModes;
11
+ //# sourceMappingURL=terminal-interaction-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-interaction-runtime.d.ts","sourceRoot":"","sources":["../../src/shell/terminal-interaction-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,sBAAsB,EACtB,yBAAyB,EACzB,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACxB,gBAAgB,EAChB,8BAA8B,EAC9B,gCAAgC,EAChC,+BAA+B,EAC/B,8BAA8B,EAC9B,gCAAgC,EAChC,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAErE,MAAM,MAAM,0BAA0B,GAAG;IACvC,UAAU,EAAE,kBAAkB,CAAC;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,wBAAgB,+BAA+B,CAAC,EAC9C,UAAU,EACV,GAAiB,EACjB,cAAsB,GACvB,EAAE,0BAA0B,GAAG,wBAAwB,CAevD"}
@@ -0,0 +1,38 @@
1
+ import {
2
+ DISABLE_BRACKETED_PASTE,
3
+ DISABLE_FOCUS_EVENTS,
4
+ DISABLE_KITTY_KEYBOARD,
5
+ DISABLE_MODIFY_OTHER_KEYS,
6
+ DISABLE_SGR_MOUSE,
7
+ ENABLE_BRACKETED_PASTE,
8
+ ENABLE_FOCUS_EVENTS,
9
+ ENABLE_KITTY_KEYBOARD,
10
+ ENABLE_MODIFY_OTHER_KEYS,
11
+ ENABLE_SGR_MOUSE,
12
+ bindTerminalInteractionSignals,
13
+ createTerminalInteractionSession,
14
+ disableTerminalInteractionModes,
15
+ enableTerminalInteractionModes,
16
+ reassertTerminalInteractionModes,
17
+ resolveTerminalInteractionModes,
18
+ writeBestEffort
19
+ } from "../chunk-F46N43MG.js";
20
+ export {
21
+ DISABLE_BRACKETED_PASTE,
22
+ DISABLE_FOCUS_EVENTS,
23
+ DISABLE_KITTY_KEYBOARD,
24
+ DISABLE_MODIFY_OTHER_KEYS,
25
+ DISABLE_SGR_MOUSE,
26
+ ENABLE_BRACKETED_PASTE,
27
+ ENABLE_FOCUS_EVENTS,
28
+ ENABLE_KITTY_KEYBOARD,
29
+ ENABLE_MODIFY_OTHER_KEYS,
30
+ ENABLE_SGR_MOUSE,
31
+ bindTerminalInteractionSignals,
32
+ createTerminalInteractionSession,
33
+ disableTerminalInteractionModes,
34
+ enableTerminalInteractionModes,
35
+ reassertTerminalInteractionModes,
36
+ resolveTerminalInteractionModes,
37
+ writeBestEffort
38
+ };
@@ -0,0 +1,52 @@
1
+ import type { Writable } from "node:stream";
2
+ /**
3
+ * Phase 6 — Terminal state recovery on render error.
4
+ *
5
+ * When Ink render crashes or throws, terminal state may be left in a broken state:
6
+ * - Hidden cursor
7
+ * - SGR mouse modes still enabled
8
+ * - Alternate screen still active
9
+ * - Leftover styles/colors
10
+ *
11
+ * This module provides recovery functions to restore terminal state after errors.
12
+ *
13
+ * Behavioral goal (from RENDERER_RUNTIME_MIGRATION_PLAN Phase 6):
14
+ * - Render errors do not leave terminal state broken
15
+ * - Exit returns to a clean shell prompt
16
+ */
17
+ export type TerminalStateSnapshot = {
18
+ cursorVisible: boolean;
19
+ mouseEnabled: boolean;
20
+ alternateScreen: boolean;
21
+ timestamp: number;
22
+ };
23
+ /**
24
+ * Create initial terminal state snapshot.
25
+ * Assumes clean terminal at startup.
26
+ */
27
+ export declare function createTerminalStateSnapshot(): TerminalStateSnapshot;
28
+ /**
29
+ * Recover terminal state after render error.
30
+ *
31
+ * Attempts to restore terminal to a known-good state by:
32
+ * 1. Showing cursor
33
+ * 2. Disabling mouse modes
34
+ * 3. Resetting SGR attributes
35
+ * 4. Optionally exiting alternate screen
36
+ *
37
+ * Best-effort: if any write fails, continues with remaining recovery steps.
38
+ */
39
+ export declare function recoverTerminalState(stdout: Writable | undefined, options?: {
40
+ exitAlternateScreen?: boolean;
41
+ logError?: (message: string) => void;
42
+ }): Promise<void>;
43
+ /**
44
+ * Create a terminal state recovery handler that can be used in error boundaries.
45
+ *
46
+ * Returns a cleanup function that should be called when recovering from an error.
47
+ */
48
+ export declare function createTerminalStateRecoveryHandler(stdout: Writable | undefined, options?: {
49
+ exitAlternateScreen?: boolean;
50
+ logError?: (message: string) => void;
51
+ }): () => Promise<void>;
52
+ //# sourceMappingURL=terminal-state-recovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-state-recovery.d.ts","sourceRoot":"","sources":["../../src/shell/terminal-state-recovery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG5C;;;;;;;;;;;;;;GAcG;AAEH,MAAM,MAAM,qBAAqB,GAAG;IAClC,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,2BAA2B,IAAI,qBAAqB,CAOnE;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,QAAQ,GAAG,SAAS,EAC5B,OAAO,GAAE;IACP,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC,GACL,OAAO,CAAC,IAAI,CAAC,CAuDf;AAED;;;;GAIG;AACH,wBAAgB,kCAAkC,CAChD,MAAM,EAAE,QAAQ,GAAG,SAAS,EAC5B,OAAO,GAAE;IACP,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC,GACL,MAAM,OAAO,CAAC,IAAI,CAAC,CAIrB"}
@@ -0,0 +1,11 @@
1
+ import {
2
+ createTerminalStateRecoveryHandler,
3
+ createTerminalStateSnapshot,
4
+ recoverTerminalState
5
+ } from "../chunk-CFMSB6ST.js";
6
+ import "../chunk-XFPNU42I.js";
7
+ export {
8
+ createTerminalStateRecoveryHandler,
9
+ createTerminalStateSnapshot,
10
+ recoverTerminalState
11
+ };
@@ -0,0 +1,40 @@
1
+ /** Shared text utilities for shell components and plain renderer. */
2
+ import type { TerminalCapability } from "./terminal-capability.js";
3
+ export declare function fitText(value: string, max: number): string;
4
+ export declare function wrapText(value: string, max: number): string[];
5
+ export declare function charWidth(char: string): number;
6
+ export declare function displayWidth(value: string): number;
7
+ export declare function truncateDisplay(value: string, max: number): string;
8
+ export declare function truncateMiddle(value: string, max: number, fallback?: string): string;
9
+ /** Shared composer width formula, kept consistent across Ink and plain renderer. */
10
+ export declare function composerMaxWidth(viewWidth: number): number;
11
+ /**
12
+ * Task-mode composer width.
13
+ *
14
+ * Home keeps the centered 80-col composer that doubles as a brand frame.
15
+ * Task mode is a working surface — the composer band should fill the terminal
16
+ * width minus a small symmetric padding so long output (URLs, code, paste
17
+ * payloads) is not artificially clipped at 80 columns. The minimum 40 keeps
18
+ * narrow terminals readable; on wider terminals the band stretches.
19
+ */
20
+ export declare function taskComposerMaxWidth(viewWidth: number): number;
21
+ /**
22
+ * Terminal-safe horizontal line character.
23
+ * Legacy terminals get ASCII dash; modern/basic get box-drawing.
24
+ */
25
+ export declare function lineChar(noColor: boolean, capability?: TerminalCapability): string;
26
+ /**
27
+ * Home brand wordmark.
28
+ *
29
+ * Foundation rule (D13D): the wordmark is a single, deterministic line
30
+ * "LingHun" at every width and capability tier. ASCII art / Unicode
31
+ * box-drawing wordmarks were intentionally removed — they break alignment
32
+ * across terminals (CJK widths, mintty, conhost), introduce empty-string
33
+ * spacer lines for vertical padding, and inflate the home view above the
34
+ * fold. No version number is appended; no empty strings are used as
35
+ * spacers (callers control vertical spacing via Box marginTop).
36
+ */
37
+ export declare function brandWordmark(noColor: boolean, width?: number, capability?: TerminalCapability): string[];
38
+ /** Phase 14 — CCB-aligned brief timestamp by time gradient. */
39
+ export declare function formatBriefTimestamp(ms: number, language: "zh-CN" | "en-US"): string;
40
+ //# sourceMappingURL=text-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-utils.d.ts","sourceRoot":"","sources":["../../src/shell/text-utils.ts"],"names":[],"mappings":"AAAA,qEAAqE;AAErE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAY1D;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAyB7D;AAKD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIlD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAgBlE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,SAAK,GAAG,MAAM,CAShF;AA4BD,oFAAoF;AACpF,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAIlF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,OAAO,EAChB,KAAK,SAAK,EACV,UAAU,CAAC,EAAE,kBAAkB,GAC9B,MAAM,EAAE,CAKV;AAED,+DAA+D;AAC/D,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,CAoBpF"}