@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,283 @@
1
+ import {
2
+ formatToolOutput
3
+ } from "./chunk-BOV4K7FP.js";
4
+ import {
5
+ getPlatformPathDenyReason
6
+ } from "./chunk-KTWV5JC5.js";
7
+ import {
8
+ truncateDisplay
9
+ } from "./chunk-OMZYPQVA.js";
10
+
11
+ // src/permission-continuation-runtime.ts
12
+ import { relative, resolve } from "path";
13
+ import { isRawPermissionMode, normalizePermissionMode } from "@linghun/shared";
14
+ import { builtInTools } from "@linghun/tools";
15
+ function formatPermissionDenialPrimary(language) {
16
+ return language === "en-US" ? "Denied. No file was written; the assistant will receive the denial and adjust." : "\u5DF2\u62D2\u7EDD\u3002\u672C\u8F6E\u672A\u5199\u5165\u6587\u4EF6\uFF0C\u6A21\u578B\u4F1A\u6536\u5230\u62D2\u7EDD\u7ED3\u679C\u5E76\u7EE7\u7EED\u8C03\u6574\u3002";
17
+ }
18
+ function formatPermissionDenied(reason, summary) {
19
+ return `\u6743\u9650\u5DF2\u62D2\u7EDD\uFF1A${reason}
20
+ \u672C\u6B21\u8BF7\u6C42\uFF1A${summary}
21
+ \u5EFA\u8BAE\uFF1A\u67E5\u770B /permissions recent\uFF0C\u6216\u5207\u6362\u5408\u9002\u6A21\u5F0F\u540E\u91CD\u8BD5\u3002`;
22
+ }
23
+ function formatPermissionSummary(name, files, risk) {
24
+ const targets = files.length === 0 ? "\u65E0\u6587\u4EF6\u8DEF\u5F84" : files.join(", ");
25
+ return `\u5DE5\u5177 ${name}\uFF1B\u76EE\u6807\uFF1A${targets}\uFF1B\u98CE\u9669\uFF1A${risk}`;
26
+ }
27
+ function formatDiffBeforeWrite(name, files, risk) {
28
+ const fileText = files.length === 0 ? "\u672A\u58F0\u660E\u6587\u4EF6" : files.join(", ");
29
+ return `\u5199\u5165\u524D\u6458\u8981\uFF1A\u5C06\u6267\u884C ${name}
30
+ \u5C06\u5F71\u54CD\u6587\u4EF6\uFF1A${fileText}
31
+ \u98CE\u9669\uFF1A${risk}
32
+ \u539F\u56E0\uFF1A\u5DE5\u4F5C\u533A\u5185\u5DE5\u5177\u64CD\u4F5C\uFF1B\u672C\u9636\u6BB5\u5C55\u793A\u8F7B\u91CF\u6458\u8981\uFF0C\u4E0D\u751F\u6210\u5B8C\u6574 git hunk\u3002`;
33
+ }
34
+ function isLowRiskWorkspaceEdit(name, risk, files) {
35
+ return (name === "Write" || name === "Edit" || name === "MultiEdit") && risk === "low" && files.length > 0;
36
+ }
37
+ function collectInputFiles(input) {
38
+ if (typeof input !== "object" || input === null) {
39
+ return [];
40
+ }
41
+ const paths = input.paths;
42
+ if (Array.isArray(paths)) {
43
+ return paths.filter((path2) => typeof path2 === "string").map((path2) => path2.replaceAll("\\", "/"));
44
+ }
45
+ const path = input.path ?? input.file_path;
46
+ return typeof path === "string" ? [path.replaceAll("\\", "/")] : [];
47
+ }
48
+ function getHardDenyReason(name, input, files, workspaceRoot) {
49
+ for (const file of files) {
50
+ if (file.startsWith("\\\\") || file.startsWith("//") || /@SSL@\d+|@\d+@SSL/iu.test(file)) {
51
+ return `\u5B89\u5168\u4FDD\u62A4\uFF1AUNC / WebDAV / \u8FDC\u7A0B\u8DEF\u5F84\u4E0D\u5141\u8BB8\u8D70\u5DE5\u4F5C\u533A\u5DE5\u5177\uFF1A${file}\u3002`;
52
+ }
53
+ const target = resolve(workspaceRoot, file);
54
+ const rel = relative(resolve(workspaceRoot), target);
55
+ if (rel.startsWith("..") || rel === "" && !builtInTools[name].isReadOnly) {
56
+ return `\u8DEF\u5F84\u8D8A\u754C\u6216\u6307\u5411\u5DE5\u4F5C\u533A\u6839\uFF1A${file}\u3002\u53EA\u5141\u8BB8\u64CD\u4F5C\u5F53\u524D\u5DE5\u4F5C\u533A\u5185\u660E\u786E\u6587\u4EF6\u3002`;
57
+ }
58
+ const platformDeny = getPlatformPathDenyReason(file, workspaceRoot);
59
+ if (platformDeny) return platformDeny;
60
+ const normalized = rel.replaceAll("\\", "/");
61
+ if (normalized.startsWith(".git/") || normalized.includes("/.git/")) {
62
+ return "\u5B89\u5168\u4FDD\u62A4\uFF1A\u7981\u6B62\u4FEE\u6539 .git \u76EE\u5F55\u3002";
63
+ }
64
+ if (normalized.includes(".ssh/") || normalized.endsWith(".env") || normalized.includes("secret")) {
65
+ return "\u5B89\u5168\u4FDD\u62A4\uFF1A\u7591\u4F3C\u5BC6\u94A5\u6216\u654F\u611F\u8DEF\u5F84\uFF0C\u9700\u8981\u66F4\u9AD8\u9636\u6BB5\u7684\u5B89\u5168\u6D41\u7A0B\u5904\u7406\u3002";
66
+ }
67
+ }
68
+ if (name === "Bash") {
69
+ const command = typeof input === "object" && input !== null ? input.command : "";
70
+ if (typeof command !== "string" || !command.trim()) {
71
+ return "Bash \u547D\u4EE4\u4E0D\u80FD\u4E3A\u7A7A\u3002";
72
+ }
73
+ if (/(rm\s+-rf|curl\s+[^|]+\|\s*(sh|bash)|wget\s+[^|]+\|\s*(sh|bash)|mkfs|shutdown|reboot)/i.test(
74
+ command
75
+ )) {
76
+ return "\u5B89\u5168\u4FDD\u62A4\uFF1A\u62D2\u7EDD\u9AD8\u98CE\u9669\u5220\u9664\u3001\u8FDC\u7A0B\u811A\u672C\u6267\u884C\u6216\u7CFB\u7EDF\u7EA7\u547D\u4EE4\u3002";
77
+ }
78
+ }
79
+ return null;
80
+ }
81
+ function findPermissionRule(rules, name, risk) {
82
+ return rules.find(
83
+ (rule) => (rule.toolName === "*" || rule.toolName === name) && (!rule.risk || rule.risk === risk)
84
+ );
85
+ }
86
+ function isPlanAllowedTool(name, isReadOnly) {
87
+ return isReadOnly || name === "Todo";
88
+ }
89
+ function parsePermissionModeInput(value) {
90
+ if (!isRawPermissionMode(value)) return null;
91
+ return normalizePermissionMode(value);
92
+ }
93
+ function formatPermissionRules(state) {
94
+ if (state.rules.length === 0) {
95
+ return "\u5F53\u524D\u6CA1\u6709\u6301\u4E45\u5316\u6743\u9650\u89C4\u5219\u3002\u53EF\u7528 /permissions add allow|ask|deny <tool|*> [risk] \u6DFB\u52A0\u3002";
96
+ }
97
+ return state.rules.map(
98
+ (rule) => `${rule.id} ${rule.effect} ${rule.toolName}${rule.risk ? ` ${rule.risk}` : ""}`
99
+ ).join("\n");
100
+ }
101
+ function formatRecentDenied(state) {
102
+ if (state.recentDenied.length === 0) {
103
+ return "\u6700\u8FD1\u6CA1\u6709\u62D2\u7EDD\u8BB0\u5F55\u3002";
104
+ }
105
+ return state.recentDenied.map((item) => `${item.createdAt} ${item.toolName} ${item.mode} ${item.reason}`).join("\n");
106
+ }
107
+ function hasRepeatedPermissionDenial(recentDenied) {
108
+ if (recentDenied.length >= 20) return true;
109
+ const latest = recentDenied.slice(0, 5);
110
+ const counts = /* @__PURE__ */ new Map();
111
+ for (const item of latest) {
112
+ const key = `${item.toolName}:${item.mode}:${item.reason}`;
113
+ counts.set(key, (counts.get(key) ?? 0) + 1);
114
+ }
115
+ return [...counts.values()].some((count) => count >= 3);
116
+ }
117
+ function createReportWriteGuard(text) {
118
+ if (!isReportFileWriteRequest(text)) {
119
+ return void 0;
120
+ }
121
+ const requestedPath = extractRequestedReportPath(text);
122
+ return {
123
+ requestedPath: requestedPath ?? "report.md",
124
+ pathExplicit: Boolean(requestedPath),
125
+ completed: false,
126
+ reminderSent: false,
127
+ evidenceReminderSent: false,
128
+ finalReferenceReminderSent: false,
129
+ nonWriteToolRounds: 0,
130
+ evidenceRead: false
131
+ };
132
+ }
133
+ function isReportFileWriteRequest(text) {
134
+ const hasExplicitPath = /\.md\b/iu.test(text);
135
+ if (!hasExplicitPath) {
136
+ return false;
137
+ }
138
+ const asksForReport = /报告|report/iu.test(text);
139
+ const asksToWrite = /生成|写入|创建|保存|写到|写在|保存为|generate|write|create|save|save as/iu.test(
140
+ text
141
+ );
142
+ return asksForReport && asksToWrite;
143
+ }
144
+ function extractRequestedReportPath(text) {
145
+ const quotedMarkdownPath = text.match(
146
+ /[\u201c\u201d\u2018\u2019"""'''`]([^\u201c\u201d\u2018\u2019"""'''`]+\.md)[\u201c\u201d\u2018\u2019"""'''`]/iu
147
+ )?.[1];
148
+ if (quotedMarkdownPath) {
149
+ return normalizeReportPath(quotedMarkdownPath.trim());
150
+ }
151
+ const markdownPath = text.match(
152
+ /(?:^|[\s`"'\u201c\u201d\u2018\u2019\uff1a:,,。;;()()])([\w./\\-]*report[\w./\\-]*\.md)\b/iu
153
+ )?.[1];
154
+ if (markdownPath) {
155
+ return normalizeReportPath(markdownPath);
156
+ }
157
+ const anyMarkdownPath = text.match(
158
+ /(?:^|[\s`"'\u201c\u201d\u2018\u2019\uff1a:,,。;;()()])([\w./\\-]+\.md)\b/iu
159
+ )?.[1];
160
+ return anyMarkdownPath ? normalizeReportPath(anyMarkdownPath) : void 0;
161
+ }
162
+ function normalizeReportPath(path) {
163
+ return path.replaceAll("\\", "/").replace(/^\.\//u, "");
164
+ }
165
+ function shouldSendReportEvidenceReminder(guard) {
166
+ return Boolean(guard && !guard.completed && !guard.evidenceRead && !guard.evidenceReminderSent);
167
+ }
168
+ function shouldSendReportWriteReminder(guard) {
169
+ return Boolean(guard?.evidenceRead && !guard.completed && !guard.reminderSent);
170
+ }
171
+ function shouldSendReportFinalReferenceReminder(guard, assistantText) {
172
+ return guard.completed && !guard.finalReferenceReminderSent && (!assistantText.includes(guard.requestedPath) || !hasReportFinalAnswerShape(assistantText));
173
+ }
174
+ function hasReportFinalAnswerShape(text) {
175
+ return /结论|conclusion|发现|findings/iu.test(text) && /下一步|next step|建议|recommend/iu.test(text);
176
+ }
177
+ function createReportFinalReferenceReminder(guard, language) {
178
+ return language === "en-US" ? `The report file has been written. Give the final answer now: reference ${guard.requestedPath}, include 2-4 evidence-based conclusions, separate inferred/unconfirmed items, and list next steps. Do not call another tool unless necessary.` : `\u62A5\u544A\u6587\u4EF6\u5DF2\u7ECF\u5199\u5165\u3002\u73B0\u5728\u8BF7\u7ED9\u51FA\u6700\u7EC8\u56DE\u7B54\uFF1A\u5F15\u7528 ${guard.requestedPath}\uFF0C\u5217\u51FA 2-4 \u6761\u57FA\u4E8E\u8BC1\u636E\u7684\u6838\u5FC3\u7ED3\u8BBA\uFF0C\u5355\u72EC\u8BF4\u660E\u63A8\u65AD/\u672A\u786E\u8BA4\u9879\uFF0C\u5E76\u7ED9\u51FA\u4E0B\u4E00\u6B65\u3002\u9664\u975E\u5FC5\u8981\uFF0C\u4E0D\u8981\u518D\u8C03\u7528\u5DE5\u5177\u3002`;
179
+ }
180
+ function createReportTaskGuard(guard, language) {
181
+ return language === "en-US" ? `Task-specific completion requirement for this turn only: the user explicitly asked for a saved report file. Before final answer, call Write with path ${guard.requestedPath}. If you inspect the project first, keep it minimal and still finish by writing ${guard.requestedPath}. The final answer must reference ${guard.requestedPath}, include 2-4 evidence-based conclusions, separate inferred/unconfirmed items, and list next steps.` : `\u4EC5\u672C\u8F6E\u4EFB\u52A1\u7684\u5B8C\u6210\u8981\u6C42\uFF1A\u7528\u6237\u660E\u786E\u8981\u6C42\u4FDD\u5B58\u62A5\u544A\u6587\u4EF6\u3002\u6700\u7EC8\u56DE\u7B54\u524D\u5FC5\u987B\u8C03\u7528 Write\uFF0Cpath \u4F7F\u7528 ${guard.requestedPath}\u3002\u5982\u9700\u5148\u68C0\u67E5\u9879\u76EE\uFF0C\u8BF7\u4FDD\u6301\u6700\u5C0F\u5FC5\u8981\u68C0\u67E5\uFF0C\u5E76\u4ECD\u4EE5\u5199\u5165 ${guard.requestedPath} \u6536\u53E3\u3002\u6700\u7EC8\u56DE\u7B54\u5FC5\u987B\u5F15\u7528 ${guard.requestedPath}\uFF0C\u5217\u51FA 2-4 \u6761\u57FA\u4E8E\u8BC1\u636E\u7684\u6838\u5FC3\u7ED3\u8BBA\uFF0C\u5355\u72EC\u8BF4\u660E\u63A8\u65AD/\u672A\u786E\u8BA4\u9879\uFF0C\u5E76\u7ED9\u51FA\u4E0B\u4E00\u6B65\u3002`;
182
+ }
183
+ function createReportWriteReminder(guard, language) {
184
+ return language === "en-US" ? `The user explicitly asked you to generate and save a report file. No saved report exists yet. Call the Write tool now with path ${guard.requestedPath}, then give a final answer that references ${guard.requestedPath}.` : `\u7528\u6237\u660E\u786E\u8981\u6C42\u751F\u6210\u5E76\u4FDD\u5B58\u62A5\u544A\u6587\u4EF6\uFF0C\u4F46\u5F53\u524D\u8FD8\u6CA1\u6709\u4FDD\u5B58\u62A5\u544A\u3002\u73B0\u5728\u8BF7\u8C03\u7528 Write \u5DE5\u5177\u5199\u5165 ${guard.requestedPath}\uFF0C\u7136\u540E\u5728\u6700\u7EC8\u56DE\u7B54\u4E2D\u5F15\u7528 ${guard.requestedPath}\u3002`;
185
+ }
186
+ function doesWriteSatisfyReportGuard(guard, toolCall, result) {
187
+ return Boolean(
188
+ guard && result.ok && result.tool === "Write" && hasReportWriteToolCall(guard, [toolCall])
189
+ );
190
+ }
191
+ function hasReportWriteToolCall(guard, toolCalls) {
192
+ for (const toolCall of toolCalls) {
193
+ if (normalizeToolName(toolCall.name) !== "Write") {
194
+ continue;
195
+ }
196
+ const input = toolCall.input;
197
+ if (!input || typeof input !== "object" || Array.isArray(input)) {
198
+ continue;
199
+ }
200
+ const path = input.path;
201
+ if (typeof path !== "string") {
202
+ continue;
203
+ }
204
+ const normalizedPath = normalizeReportPath(path);
205
+ if (guard.pathExplicit && normalizedPath === guard.requestedPath) {
206
+ return true;
207
+ }
208
+ const matchesDefaultReport = /(?:^|\/)\w*[\w-]*report[\w-]*\.md$/iu.test(normalizedPath);
209
+ if (!guard.pathExplicit && matchesDefaultReport) {
210
+ guard.requestedPath = normalizedPath;
211
+ return true;
212
+ }
213
+ }
214
+ return false;
215
+ }
216
+ function formatModelToolOutput(toolName, output, language, evidenceId, reportWriteGuard) {
217
+ if (!reportWriteGuard) {
218
+ return formatToolOutput(toolName, output, language, evidenceId);
219
+ }
220
+ const changedFile = output.changedFiles?.[0];
221
+ if (toolName === "Write" && changedFile) {
222
+ return language === "en-US" ? `Report saved: ${changedFile}` : `\u62A5\u544A\u5DF2\u4FDD\u5B58\uFF1A${changedFile}`;
223
+ }
224
+ if (toolName === "Write") {
225
+ return language === "en-US" ? "Report file write completed." : "\u62A5\u544A\u6587\u4EF6\u5199\u5165\u5DF2\u5B8C\u6210\u3002";
226
+ }
227
+ if (toolName === "Read" || toolName === "Glob" || toolName === "Grep") {
228
+ return language === "en-US" ? `${toolName} completed; continuing the report analysis.` : `${toolName} \u5DF2\u5B8C\u6210\uFF0C\u7EE7\u7EED\u6574\u7406\u62A5\u544A\u5206\u6790\u3002`;
229
+ }
230
+ return formatToolOutput(toolName, output, language, evidenceId);
231
+ }
232
+ function normalizeToolName(name) {
233
+ const found = Object.keys(builtInTools).find(
234
+ (item) => item.toLowerCase() === name.toLowerCase()
235
+ );
236
+ return found ?? null;
237
+ }
238
+ function redactRemoteSummary(value) {
239
+ const bounded = truncateDisplay(value.replace(/\s+/g, " "), 500);
240
+ return bounded.replace(
241
+ /(api[_-]?key|token|secret|authorization|provider raw request)\s*[:=]\s*(?:bearer\s+)?[^\s,;]+/giu,
242
+ "$1=[REDACTED]"
243
+ ).replace(/\bbearer\s+[^\s,;]+/giu, "Bearer [REDACTED]").replace(/\bsk-[A-Za-z0-9_-]+/gu, "sk-[REDACTED]").replace(/transcript\s*[:=]\s*[^\s,;]+/giu, "transcript=[REDACTED]").replace(/(source|log|index result|evidence)\s*[:=]\s*\{[^}]*\}/giu, "$1=[REDACTED]").replace(/https?:\/\/[^\s]+/giu, "[REDACTED_ENDPOINT]").replace(/\b[A-Za-z]:[\\/][^\s,;]+/gu, "[REDACTED_PATH]").replace(
244
+ /(?:^|(?<=[\s,;=(]))\/(?:home|Users|usr|var|opt|etc|tmp|root|mnt|srv|private|Volumes)\/[^\s,;]+/gu,
245
+ "[REDACTED_PATH]"
246
+ );
247
+ }
248
+ function remoteTranscriptSummary(value) {
249
+ return truncateDisplay(redactRemoteSummary(value), 220);
250
+ }
251
+
252
+ export {
253
+ formatPermissionDenialPrimary,
254
+ formatPermissionDenied,
255
+ formatPermissionSummary,
256
+ formatDiffBeforeWrite,
257
+ isLowRiskWorkspaceEdit,
258
+ collectInputFiles,
259
+ getHardDenyReason,
260
+ findPermissionRule,
261
+ isPlanAllowedTool,
262
+ parsePermissionModeInput,
263
+ formatPermissionRules,
264
+ formatRecentDenied,
265
+ hasRepeatedPermissionDenial,
266
+ createReportWriteGuard,
267
+ isReportFileWriteRequest,
268
+ extractRequestedReportPath,
269
+ normalizeReportPath,
270
+ shouldSendReportEvidenceReminder,
271
+ shouldSendReportWriteReminder,
272
+ shouldSendReportFinalReferenceReminder,
273
+ hasReportFinalAnswerShape,
274
+ createReportFinalReferenceReminder,
275
+ createReportTaskGuard,
276
+ createReportWriteReminder,
277
+ doesWriteSatisfyReportGuard,
278
+ hasReportWriteToolCall,
279
+ formatModelToolOutput,
280
+ normalizeToolName,
281
+ redactRemoteSummary,
282
+ remoteTranscriptSummary
283
+ };
@@ -0,0 +1,109 @@
1
+ // src/shell/models/terminal-input-runtime.ts
2
+ import { classifyParsedTerminalInput } from "@linghun/ink-runtime";
3
+ function classifyTerminalInput(input) {
4
+ if (input === "[I" || input === "[O") return "terminal-response";
5
+ return classifyParsedTerminalInput(input);
6
+ }
7
+ function recoverOrphanMouseTail(input) {
8
+ if (!input.startsWith("[<")) return void 0;
9
+ const tail = input.slice(2);
10
+ if (/^\d+;\d+;\d+[mM]$/.test(tail)) return `\x1B${input}`;
11
+ return void 0;
12
+ }
13
+ var DELETE_SEQUENCES = /* @__PURE__ */ new Set([
14
+ "\x1B[3~",
15
+ "\x1B[3;2~",
16
+ "\x1B[3;3~",
17
+ "\x1B[3;4~",
18
+ "\x1B[3;5~",
19
+ "\x1B[3;6~",
20
+ "\x1B[3;7~",
21
+ "\x1B[3;8~",
22
+ "[3~",
23
+ "[3;2~",
24
+ "[3;3~",
25
+ "[3;4~",
26
+ "[3;5~",
27
+ "[3;6~",
28
+ "[3;7~",
29
+ "[3;8~"
30
+ ]);
31
+ var BACKSPACE_SEQUENCES = /* @__PURE__ */ new Set(["\x7F", "\b"]);
32
+ function normalizeTerminalInput(input, key) {
33
+ if (isDeleteSequence(input) || key.delete) {
34
+ if (key.ctrl || key.meta) return { type: "delete-word-left" };
35
+ return { type: "delete" };
36
+ }
37
+ if (isBackspaceSequence(input) || key.backspace) {
38
+ if (key.ctrl || key.meta) return { type: "delete-word-left" };
39
+ return { type: "backspace" };
40
+ }
41
+ if ((key.shift || key.meta) && key.return) return { type: "newline" };
42
+ if (isMultilineEnterSequence(input)) return { type: "newline" };
43
+ if (key.ctrl && input === "j" || input === "\n") return { type: "newline" };
44
+ if (key.ctrl || key.meta || key.return || input === "\r" || input === "\n") {
45
+ return { type: "ignore" };
46
+ }
47
+ if (!input) return { type: "ignore" };
48
+ return { type: "text", text: sanitizeTerminalText(input) };
49
+ }
50
+ function isDeleteSequence(input) {
51
+ if (DELETE_SEQUENCES.has(input)) return true;
52
+ return isCsiU(input, [51]) || isModifyOtherKeys(input, [51]);
53
+ }
54
+ function isBackspaceSequence(input) {
55
+ if (BACKSPACE_SEQUENCES.has(input)) return true;
56
+ return isCsiU(input, [8, 127]) || isModifyOtherKeys(input, [8, 127]);
57
+ }
58
+ function isMultilineEnterSequence(input) {
59
+ return input === "\x1B\r" || isCsiU(input, [10, 13, 57414]) || isCsiTilde(input, [10, 13, 57414]) || isModifyOtherKeys(input, [10, 13, 57414]);
60
+ }
61
+ function sanitizeTerminalText(value) {
62
+ return value.replace(CONTROL_SEQUENCE_PATTERN, "").replace(ANSI_STRIP_PATTERN, "").replace(/\r\n?/g, "\n").replace(/[\u0001-\u0009\u000B-\u001F]/g, "");
63
+ }
64
+ function isCsiU(input, codes) {
65
+ const body = csiBody(input, "u");
66
+ if (!body) return false;
67
+ const parts = body.split(";");
68
+ const code = Number.parseInt(parts[0] ?? "", 10);
69
+ const modifier = Number.parseInt((parts[1] ?? "").split(":")[0] ?? "", 10);
70
+ return codes.includes(code) && modifier > 1;
71
+ }
72
+ function isCsiTilde(input, codes) {
73
+ const body = csiBody(input, "~");
74
+ if (!body) return false;
75
+ const parts = body.split(";");
76
+ if (parts.length < 2 || parts[0] === "27") return false;
77
+ const code = Number.parseInt(parts[0] ?? "", 10);
78
+ const modifier = Number.parseInt((parts[1] ?? "").split(":")[0] ?? "", 10);
79
+ return codes.includes(code) && modifier > 1;
80
+ }
81
+ function isModifyOtherKeys(input, codes) {
82
+ const body = csiBody(input, "~");
83
+ if (!body) return false;
84
+ const parts = body.split(";");
85
+ if (parts.length < 3 || parts[0] !== "27") return false;
86
+ const modifier = Number.parseInt(parts[1] ?? "", 10);
87
+ const code = Number.parseInt(parts[2] ?? "", 10);
88
+ return codes.includes(code) && modifier > 1;
89
+ }
90
+ function csiBody(input, suffix) {
91
+ const start = input.startsWith("\x1B[") ? 2 : input.startsWith("[") ? 1 : -1;
92
+ if (start < 0 || !input.endsWith(suffix)) return void 0;
93
+ return input.slice(start, -suffix.length);
94
+ }
95
+ var ANSI_STRIP_PATTERN = /\u001B\[[\d;?]*[a-zA-Z]|\u001B\][^\u0007]*(?:\u0007|\u001B\\)|\u001B./g;
96
+ var CONTROL_SEQUENCE_PATTERN = (
97
+ // biome-ignore lint/suspicious/noControlCharactersInRegex: terminal control sequences are control characters.
98
+ /(?:\u001B\[[0-?]*[ -/]*[@-~]|\u001B\][^\u0007]*(?:\u0007|\u001B\\)|\u001B[P_X^][\s\S]*?(?:\u001B\\)|\u001B[@-_]|\u009B[0-?]*[ -/]*[@-~]|\u0000|\u0007|\u0008|\u000B|\u000C|\u000E|\u000F|\u007F)/g
99
+ );
100
+
101
+ export {
102
+ classifyTerminalInput,
103
+ recoverOrphanMouseTail,
104
+ normalizeTerminalInput,
105
+ isDeleteSequence,
106
+ isBackspaceSequence,
107
+ isMultilineEnterSequence,
108
+ sanitizeTerminalText
109
+ };