@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.
- package/LICENSE +190 -0
- package/dist/agent-completion-finalizer.d.ts +31 -0
- package/dist/agent-completion-finalizer.d.ts.map +1 -0
- package/dist/agent-completion-finalizer.js +20 -0
- package/dist/agent-handoff-safety.d.ts +13 -0
- package/dist/agent-handoff-safety.d.ts.map +1 -0
- package/dist/agent-handoff-safety.js +43 -0
- package/dist/agent-workflow-registry.d.ts +45 -0
- package/dist/agent-workflow-registry.d.ts.map +1 -0
- package/dist/agent-workflow-registry.js +12 -0
- package/dist/architecture-boundary.d.ts +151 -0
- package/dist/architecture-boundary.d.ts.map +1 -0
- package/dist/architecture-boundary.js +24 -0
- package/dist/architecture-runtime.d.ts +56 -0
- package/dist/architecture-runtime.d.ts.map +1 -0
- package/dist/architecture-runtime.js +18 -0
- package/dist/background-control-runtime.d.ts +29 -0
- package/dist/background-control-runtime.d.ts.map +1 -0
- package/dist/background-control-runtime.js +148 -0
- package/dist/bash-subcommand-parser.d.ts +34 -0
- package/dist/bash-subcommand-parser.d.ts.map +1 -0
- package/dist/bash-subcommand-parser.js +8 -0
- package/dist/batch-tool-confirmation.d.ts +18 -0
- package/dist/batch-tool-confirmation.d.ts.map +1 -0
- package/dist/batch-tool-confirmation.js +100 -0
- package/dist/break-cache-runtime.d.ts +40 -0
- package/dist/break-cache-runtime.d.ts.map +1 -0
- package/dist/break-cache-runtime.js +17 -0
- package/dist/btw-runtime.d.ts +45 -0
- package/dist/btw-runtime.d.ts.map +1 -0
- package/dist/btw-runtime.js +14 -0
- package/dist/cache-command-runtime.d.ts +22 -0
- package/dist/cache-command-runtime.d.ts.map +1 -0
- package/dist/cache-command-runtime.js +33 -0
- package/dist/cache-freshness.d.ts +26 -0
- package/dist/cache-freshness.d.ts.map +1 -0
- package/dist/cache-freshness.js +14 -0
- package/dist/capability-runtime.d.ts +75 -0
- package/dist/capability-runtime.d.ts.map +1 -0
- package/dist/capability-runtime.js +97 -0
- package/dist/chunk-2FVEKTKN.js +86 -0
- package/dist/chunk-2YL5VKJ5.js +531 -0
- package/dist/chunk-3AKXDMVS.js +85 -0
- package/dist/chunk-3GCIXKCI.js +221 -0
- package/dist/chunk-3LT6OWQ2.js +258 -0
- package/dist/chunk-3XNUDLOM.js +91 -0
- package/dist/chunk-4EIC5BCT.js +475 -0
- package/dist/chunk-4EP3TUFF.js +238 -0
- package/dist/chunk-4I2NWBOM.js +117 -0
- package/dist/chunk-4K6UB524.js +443 -0
- package/dist/chunk-4T5DJW54.js +88 -0
- package/dist/chunk-4WHZ6JKD.js +8105 -0
- package/dist/chunk-5H7RRF7C.js +6 -0
- package/dist/chunk-64MJP6FK.js +558 -0
- package/dist/chunk-66BNE332.js +1617 -0
- package/dist/chunk-6CI6TKLN.js +50 -0
- package/dist/chunk-6RJVTUWI.js +16 -0
- package/dist/chunk-6SMM5CMP.js +100 -0
- package/dist/chunk-6USL33ZO.js +289 -0
- package/dist/chunk-7ZE5JFAZ.js +760 -0
- package/dist/chunk-AKPXMCVF.js +1373 -0
- package/dist/chunk-AO4CXI37.js +284 -0
- package/dist/chunk-APJIC2O5.js +150 -0
- package/dist/chunk-B4GQTZMT.js +607 -0
- package/dist/chunk-BFVPLGAC.js +93 -0
- package/dist/chunk-BOV4K7FP.js +588 -0
- package/dist/chunk-CFMSB6ST.js +59 -0
- package/dist/chunk-CFXB5SE5.js +502 -0
- package/dist/chunk-CRQORMFF.js +32 -0
- package/dist/chunk-CRSLDQOA.js +146 -0
- package/dist/chunk-CRW3636S.js +214 -0
- package/dist/chunk-D3UTL2QX.js +86 -0
- package/dist/chunk-D7TCSOAZ.js +331 -0
- package/dist/chunk-DDXS2RDZ.js +228 -0
- package/dist/chunk-DICVLZHH.js +144 -0
- package/dist/chunk-DNQN74CC.js +1186 -0
- package/dist/chunk-DTK5NBTV.js +912 -0
- package/dist/chunk-E72U7WW7.js +50 -0
- package/dist/chunk-EBACIBJP.js +356 -0
- package/dist/chunk-ECFLCY5V.js +530 -0
- package/dist/chunk-EORRZP3F.js +109 -0
- package/dist/chunk-F43AMWLZ.js +115 -0
- package/dist/chunk-F46N43MG.js +56 -0
- package/dist/chunk-F6TVBCZV.js +51 -0
- package/dist/chunk-FRIMDSRU.js +242 -0
- package/dist/chunk-FTAEPAVY.js +314 -0
- package/dist/chunk-GC55DMZV.js +156 -0
- package/dist/chunk-GCMH5P4W.js +422 -0
- package/dist/chunk-GDQQNPBP.js +251 -0
- package/dist/chunk-GKZYTPN2.js +279 -0
- package/dist/chunk-GLWTWEGX.js +272 -0
- package/dist/chunk-GMUCSNUD.js +586 -0
- package/dist/chunk-GTP2KPLY.js +167 -0
- package/dist/chunk-GW5YDCRZ.js +42 -0
- package/dist/chunk-H3T4EF5F.js +87 -0
- package/dist/chunk-HAEU6OTS.js +381 -0
- package/dist/chunk-HQIJGQYU.js +172 -0
- package/dist/chunk-HW2TBXVK.js +34 -0
- package/dist/chunk-HWD22O6F.js +94 -0
- package/dist/chunk-I3NTAIMF.js +280 -0
- package/dist/chunk-IN42UISW.js +372 -0
- package/dist/chunk-IWUIOLMF.js +82 -0
- package/dist/chunk-J7ZE2JKP.js +283 -0
- package/dist/chunk-JBLVBO3U.js +109 -0
- package/dist/chunk-JDWXC2OQ.js +800 -0
- package/dist/chunk-JGDIO2NF.js +74 -0
- package/dist/chunk-JHGWGH2C.js +182 -0
- package/dist/chunk-JLCPHVBN.js +42 -0
- package/dist/chunk-JO5ANTMR.js +6027 -0
- package/dist/chunk-JPXSFZFC.js +100 -0
- package/dist/chunk-JQCRCDOC.js +1195 -0
- package/dist/chunk-K4FSYBSY.js +41 -0
- package/dist/chunk-K56D3X7S.js +1225 -0
- package/dist/chunk-KI7C6ZOD.js +92 -0
- package/dist/chunk-KO64OFSG.js +58 -0
- package/dist/chunk-KQJHVJZB.js +227 -0
- package/dist/chunk-KTWV5JC5.js +59 -0
- package/dist/chunk-L4XXW6Y5.js +374 -0
- package/dist/chunk-L5GOCMZP.js +18 -0
- package/dist/chunk-LDABZV5V.js +278 -0
- package/dist/chunk-LHHKPGLX.js +903 -0
- package/dist/chunk-LL7LBRDL.js +60 -0
- package/dist/chunk-LQTVYUT3.js +421 -0
- package/dist/chunk-LVIM2PA7.js +663 -0
- package/dist/chunk-M4AIK2SP.js +215 -0
- package/dist/chunk-MLUIOBKL.js +420 -0
- package/dist/chunk-MOJL4X4L.js +47 -0
- package/dist/chunk-MVONSJEN.js +300 -0
- package/dist/chunk-N7G2X2LK.js +709 -0
- package/dist/chunk-NKFKOEYX.js +146 -0
- package/dist/chunk-NMNOAFFT.js +167 -0
- package/dist/chunk-NSIKYD3X.js +74 -0
- package/dist/chunk-O7EFPSMC.js +60 -0
- package/dist/chunk-O7S3HYE6.js +210 -0
- package/dist/chunk-OEYW3JE3.js +262 -0
- package/dist/chunk-OF3K3CU5.js +159 -0
- package/dist/chunk-OMZYPQVA.js +298 -0
- package/dist/chunk-OZMX3E35.js +248 -0
- package/dist/chunk-P277M7Z5.js +303 -0
- package/dist/chunk-P4CPRJLI.js +65 -0
- package/dist/chunk-PBIPV4LD.js +494 -0
- package/dist/chunk-PGNALDEH.js +2003 -0
- package/dist/chunk-PGWW3DVE.js +157 -0
- package/dist/chunk-QB4VWH7W.js +515 -0
- package/dist/chunk-QBCGAIU7.js +120 -0
- package/dist/chunk-QIU3FJPC.js +99 -0
- package/dist/chunk-QLRTQHTR.js +744 -0
- package/dist/chunk-QTDGRZMZ.js +171 -0
- package/dist/chunk-RBOQJFIZ.js +183 -0
- package/dist/chunk-RDGM4RUE.js +178 -0
- package/dist/chunk-RM5JDRCW.js +71 -0
- package/dist/chunk-RM5QMOFY.js +189 -0
- package/dist/chunk-RMLTVKOY.js +588 -0
- package/dist/chunk-RVY34HK4.js +79 -0
- package/dist/chunk-S3YWTBXL.js +43 -0
- package/dist/chunk-SJOS5PM6.js +64 -0
- package/dist/chunk-SOPYWTFV.js +90 -0
- package/dist/chunk-SQIBPLLV.js +15 -0
- package/dist/chunk-SRZIA6B4.js +136 -0
- package/dist/chunk-SYBNJZEL.js +250 -0
- package/dist/chunk-TFZEFIQT.js +17 -0
- package/dist/chunk-THZBFYAH.js +136 -0
- package/dist/chunk-TJLC3QAS.js +83 -0
- package/dist/chunk-TYF4GJR3.js +598 -0
- package/dist/chunk-UDQT5CWK.js +252 -0
- package/dist/chunk-UOHZQIVL.js +168 -0
- package/dist/chunk-URNQUECO.js +187 -0
- package/dist/chunk-UT2TYK2A.js +148 -0
- package/dist/chunk-UT5BOJKU.js +190 -0
- package/dist/chunk-V7GDHHBL.js +526 -0
- package/dist/chunk-VCSRBS47.js +133 -0
- package/dist/chunk-VIBENDE3.js +152 -0
- package/dist/chunk-VTQL23UM.js +302 -0
- package/dist/chunk-W3KHJNSH.js +281 -0
- package/dist/chunk-W6NU7ZAV.js +52 -0
- package/dist/chunk-WHFDDZHY.js +407 -0
- package/dist/chunk-WJWYRBWH.js +48 -0
- package/dist/chunk-WKMBK5UP.js +145 -0
- package/dist/chunk-WQMSRO4D.js +489 -0
- package/dist/chunk-WV6YJGZR.js +81 -0
- package/dist/chunk-WVAQYKGL.js +269 -0
- package/dist/chunk-X7A22JHP.js +106 -0
- package/dist/chunk-XFPNU42I.js +59 -0
- package/dist/chunk-YH6UIHNF.js +161 -0
- package/dist/chunk-YPQFSFYK.js +19 -0
- package/dist/chunk-YTQFOZRZ.js +110 -0
- package/dist/chunk-ZJK25VFP.js +506 -0
- package/dist/chunk-ZOSK2UEU.js +1555 -0
- package/dist/chunk-ZYSN7AWW.js +336 -0
- package/dist/chunk-ZZ2CNCXJ.js +282 -0
- package/dist/command-panel-runtime.d.ts +33 -0
- package/dist/command-panel-runtime.d.ts.map +1 -0
- package/dist/command-panel-runtime.js +80 -0
- package/dist/compact-cache-command-runtime.d.ts +38 -0
- package/dist/compact-cache-command-runtime.d.ts.map +1 -0
- package/dist/compact-cache-command-runtime.js +146 -0
- package/dist/compact-context.d.ts +35 -0
- package/dist/compact-context.d.ts.map +1 -0
- package/dist/compact-context.js +16 -0
- package/dist/compact-preflight-runtime.d.ts +46 -0
- package/dist/compact-preflight-runtime.d.ts.map +1 -0
- package/dist/compact-preflight-runtime.js +62 -0
- package/dist/connector-runtime.d.ts +72 -0
- package/dist/connector-runtime.d.ts.map +1 -0
- package/dist/connector-runtime.js +88 -0
- package/dist/context-estimator.d.ts +20 -0
- package/dist/context-estimator.d.ts.map +1 -0
- package/dist/context-estimator.js +18 -0
- package/dist/context-window-runtime.d.ts +12 -0
- package/dist/context-window-runtime.d.ts.map +1 -0
- package/dist/context-window-runtime.js +10 -0
- package/dist/deep-compact-runtime.d.ts +53 -0
- package/dist/deep-compact-runtime.d.ts.map +1 -0
- package/dist/deep-compact-runtime.js +35 -0
- package/dist/deferred-tools-catalog.d.ts +52 -0
- package/dist/deferred-tools-catalog.d.ts.map +1 -0
- package/dist/deferred-tools-catalog.js +42 -0
- package/dist/details-status-runtime.d.ts +48 -0
- package/dist/details-status-runtime.d.ts.map +1 -0
- package/dist/details-status-runtime.js +102 -0
- package/dist/evidence-runtime.d.ts +48 -0
- package/dist/evidence-runtime.d.ts.map +1 -0
- package/dist/evidence-runtime.js +92 -0
- package/dist/extension-command-runtime.d.ts +63 -0
- package/dist/extension-command-runtime.d.ts.map +1 -0
- package/dist/extension-command-runtime.js +67 -0
- package/dist/extension-slash-runtime.d.ts +11 -0
- package/dist/extension-slash-runtime.d.ts.map +1 -0
- package/dist/extension-slash-runtime.js +79 -0
- package/dist/external-editor-runtime.d.ts +32 -0
- package/dist/external-editor-runtime.d.ts.map +1 -0
- package/dist/external-editor-runtime.js +71 -0
- package/dist/failure-learning-command-runtime.d.ts +10 -0
- package/dist/failure-learning-command-runtime.d.ts.map +1 -0
- package/dist/failure-learning-command-runtime.js +78 -0
- package/dist/failure-learning-presenter.d.ts +6 -0
- package/dist/failure-learning-presenter.d.ts.map +1 -0
- package/dist/failure-learning-presenter.js +12 -0
- package/dist/failure-learning-runtime.d.ts +39 -0
- package/dist/failure-learning-runtime.d.ts.map +1 -0
- package/dist/failure-learning-runtime.js +39 -0
- package/dist/feature-flag-runtime.d.ts +8 -0
- package/dist/feature-flag-runtime.d.ts.map +1 -0
- package/dist/feature-flag-runtime.js +12 -0
- package/dist/feishu-long-connection-runtime.d.ts +12 -0
- package/dist/feishu-long-connection-runtime.d.ts.map +1 -0
- package/dist/feishu-long-connection-runtime.js +7 -0
- package/dist/final-answer-gate.d.ts +24 -0
- package/dist/final-answer-gate.d.ts.map +1 -0
- package/dist/final-answer-gate.js +26 -0
- package/dist/ghost-text.d.ts +16 -0
- package/dist/ghost-text.d.ts.map +1 -0
- package/dist/ghost-text.js +8 -0
- package/dist/git-branch-runtime.d.ts +14 -0
- package/dist/git-branch-runtime.d.ts.map +1 -0
- package/dist/git-branch-runtime.js +68 -0
- package/dist/git-command-runtime.d.ts +22 -0
- package/dist/git-command-runtime.d.ts.map +1 -0
- package/dist/git-command-runtime.js +89 -0
- package/dist/git-operation-runtime.d.ts +188 -0
- package/dist/git-operation-runtime.d.ts.map +1 -0
- package/dist/git-operation-runtime.js +45 -0
- package/dist/git-runtime.d.ts +113 -0
- package/dist/git-runtime.d.ts.map +1 -0
- package/dist/git-runtime.js +16 -0
- package/dist/git-slash-runtime.d.ts +38 -0
- package/dist/git-slash-runtime.d.ts.map +1 -0
- package/dist/git-slash-runtime.js +18 -0
- package/dist/git-tool-dispatch-runtime.d.ts +108 -0
- package/dist/git-tool-dispatch-runtime.d.ts.map +1 -0
- package/dist/git-tool-dispatch-runtime.js +25 -0
- package/dist/git-tool-runtime.d.ts +64 -0
- package/dist/git-tool-runtime.d.ts.map +1 -0
- package/dist/git-tool-runtime.js +36 -0
- package/dist/guard-wiring.d.ts +67 -0
- package/dist/guard-wiring.d.ts.map +1 -0
- package/dist/guard-wiring.js +21 -0
- package/dist/handoff-session-runtime.d.ts +11 -0
- package/dist/handoff-session-runtime.d.ts.map +1 -0
- package/dist/handoff-session-runtime.js +36 -0
- package/dist/index-result-presenter.d.ts +14 -0
- package/dist/index-result-presenter.d.ts.map +1 -0
- package/dist/index-result-presenter.js +28 -0
- package/dist/index-runtime.d.ts +64 -0
- package/dist/index-runtime.d.ts.map +1 -0
- package/dist/index-runtime.js +28 -0
- package/dist/index-tool-runtime.d.ts +44 -0
- package/dist/index-tool-runtime.d.ts.map +1 -0
- package/dist/index-tool-runtime.js +24 -0
- package/dist/index.d.ts +57 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2346 -0
- package/dist/job-agent-command-runtime.d.ts +127 -0
- package/dist/job-agent-command-runtime.d.ts.map +1 -0
- package/dist/job-agent-command-runtime.js +138 -0
- package/dist/job-runner-presenter.d.ts +32 -0
- package/dist/job-runner-presenter.d.ts.map +1 -0
- package/dist/job-runner-presenter.js +30 -0
- package/dist/job-runtime.d.ts +65 -0
- package/dist/job-runtime.d.ts.map +1 -0
- package/dist/job-runtime.js +88 -0
- package/dist/keybinding-runtime.d.ts +29 -0
- package/dist/keybinding-runtime.d.ts.map +1 -0
- package/dist/keybinding-runtime.js +14 -0
- package/dist/log-artifact.d.ts +55 -0
- package/dist/log-artifact.d.ts.map +1 -0
- package/dist/log-artifact.js +10 -0
- package/dist/mcp-index-command-runtime.d.ts +21 -0
- package/dist/mcp-index-command-runtime.d.ts.map +1 -0
- package/dist/mcp-index-command-runtime.js +18 -0
- package/dist/mcp-index-runtime.d.ts +106 -0
- package/dist/mcp-index-runtime.d.ts.map +1 -0
- package/dist/mcp-index-runtime.js +142 -0
- package/dist/mcp-sse-runtime.d.ts +13 -0
- package/dist/mcp-sse-runtime.d.ts.map +1 -0
- package/dist/mcp-sse-runtime.js +8 -0
- package/dist/mcp-stdio-runtime.d.ts +37 -0
- package/dist/mcp-stdio-runtime.d.ts.map +1 -0
- package/dist/mcp-stdio-runtime.js +15 -0
- package/dist/memory-command-runtime.d.ts +37 -0
- package/dist/memory-command-runtime.d.ts.map +1 -0
- package/dist/memory-command-runtime.js +88 -0
- package/dist/memory-eviction-runtime.d.ts +7 -0
- package/dist/memory-eviction-runtime.d.ts.map +1 -0
- package/dist/memory-eviction-runtime.js +12 -0
- package/dist/memory-extraction-runtime.d.ts +40 -0
- package/dist/memory-extraction-runtime.d.ts.map +1 -0
- package/dist/memory-extraction-runtime.js +20 -0
- package/dist/memory-rules-runtime.d.ts +15 -0
- package/dist/memory-rules-runtime.d.ts.map +1 -0
- package/dist/memory-rules-runtime.js +14 -0
- package/dist/meta-scheduler-complexity.d.ts +16 -0
- package/dist/meta-scheduler-complexity.d.ts.map +1 -0
- package/dist/meta-scheduler-complexity.js +37 -0
- package/dist/meta-scheduler-runtime.d.ts +288 -0
- package/dist/meta-scheduler-runtime.d.ts.map +1 -0
- package/dist/meta-scheduler-runtime.js +17 -0
- package/dist/model-command-runtime.d.ts +12 -0
- package/dist/model-command-runtime.d.ts.map +1 -0
- package/dist/model-command-runtime.js +84 -0
- package/dist/model-doctor-runtime.d.ts +81 -0
- package/dist/model-doctor-runtime.d.ts.map +1 -0
- package/dist/model-doctor-runtime.js +46 -0
- package/dist/model-loop-runtime.d.ts +189 -0
- package/dist/model-loop-runtime.d.ts.map +1 -0
- package/dist/model-loop-runtime.js +141 -0
- package/dist/model-prompt-runtime.d.ts +25 -0
- package/dist/model-prompt-runtime.d.ts.map +1 -0
- package/dist/model-prompt-runtime.js +33 -0
- package/dist/model-setup-runtime.d.ts +28 -0
- package/dist/model-setup-runtime.d.ts.map +1 -0
- package/dist/model-setup-runtime.js +26 -0
- package/dist/model-stream-runtime.d.ts +47 -0
- package/dist/model-stream-runtime.d.ts.map +1 -0
- package/dist/model-stream-runtime.js +136 -0
- package/dist/model-tool-runtime.d.ts +114 -0
- package/dist/model-tool-runtime.d.ts.map +1 -0
- package/dist/model-tool-runtime.js +144 -0
- package/dist/natural-command-bridge.d.ts +158 -0
- package/dist/natural-command-bridge.d.ts.map +1 -0
- package/dist/natural-command-bridge.js +36 -0
- package/dist/pending-details-presenter.d.ts +8 -0
- package/dist/pending-details-presenter.d.ts.map +1 -0
- package/dist/pending-details-presenter.js +12 -0
- package/dist/permission-approval-runtime.d.ts +28 -0
- package/dist/permission-approval-runtime.d.ts.map +1 -0
- package/dist/permission-approval-runtime.js +136 -0
- package/dist/permission-continuation-runtime.d.ts +90 -0
- package/dist/permission-continuation-runtime.d.ts.map +1 -0
- package/dist/permission-continuation-runtime.js +68 -0
- package/dist/permission-policy-engine.d.ts +51 -0
- package/dist/permission-policy-engine.d.ts.map +1 -0
- package/dist/permission-policy-engine.js +12 -0
- package/dist/permission-presenter.d.ts +13 -0
- package/dist/permission-presenter.d.ts.map +1 -0
- package/dist/permission-presenter.js +8 -0
- package/dist/persistent-history.d.ts +18 -0
- package/dist/persistent-history.d.ts.map +1 -0
- package/dist/persistent-history.js +126 -0
- package/dist/platform-security.d.ts +4 -0
- package/dist/platform-security.d.ts.map +1 -0
- package/dist/platform-security.js +10 -0
- package/dist/process-command-runtime.d.ts +9 -0
- package/dist/process-command-runtime.d.ts.map +1 -0
- package/dist/process-command-runtime.js +11 -0
- package/dist/process-guard.d.ts +56 -0
- package/dist/process-guard.d.ts.map +1 -0
- package/dist/process-guard.js +22 -0
- package/dist/prompt-command-runtime.d.ts +12 -0
- package/dist/prompt-command-runtime.d.ts.map +1 -0
- package/dist/prompt-command-runtime.js +10 -0
- package/dist/prompt-stash.d.ts +15 -0
- package/dist/prompt-stash.d.ts.map +1 -0
- package/dist/prompt-stash.js +8 -0
- package/dist/provider-circuit-breaker.d.ts +132 -0
- package/dist/provider-circuit-breaker.d.ts.map +1 -0
- package/dist/provider-circuit-breaker.js +31 -0
- package/dist/provider-loop-runtime.d.ts +18 -0
- package/dist/provider-loop-runtime.d.ts.map +1 -0
- package/dist/provider-loop-runtime.js +16 -0
- package/dist/remote-command-runtime.d.ts +47 -0
- package/dist/remote-command-runtime.d.ts.map +1 -0
- package/dist/remote-command-runtime.js +125 -0
- package/dist/remote-inbound-bridge-runtime.d.ts +152 -0
- package/dist/remote-inbound-bridge-runtime.d.ts.map +1 -0
- package/dist/remote-inbound-bridge-runtime.js +44 -0
- package/dist/remote-mcp-presenter.d.ts +5 -0
- package/dist/remote-mcp-presenter.d.ts.map +1 -0
- package/dist/remote-mcp-presenter.js +10 -0
- package/dist/remote-repl-bridge-runtime.d.ts +134 -0
- package/dist/remote-repl-bridge-runtime.d.ts.map +1 -0
- package/dist/remote-repl-bridge-runtime.js +20 -0
- package/dist/remote-transport.d.ts +50 -0
- package/dist/remote-transport.d.ts.map +1 -0
- package/dist/remote-transport.js +14 -0
- package/dist/request-lifecycle-presenter.d.ts +25 -0
- package/dist/request-lifecycle-presenter.d.ts.map +1 -0
- package/dist/request-lifecycle-presenter.js +22 -0
- package/dist/runner-runtime.d.ts +41 -0
- package/dist/runner-runtime.d.ts.map +1 -0
- package/dist/runner-runtime.js +35 -0
- package/dist/runtime-budget.d.ts +38 -0
- package/dist/runtime-budget.d.ts.map +1 -0
- package/dist/runtime-budget.js +78 -0
- package/dist/runtime-path-marker.d.ts +112 -0
- package/dist/runtime-path-marker.d.ts.map +1 -0
- package/dist/runtime-path-marker.js +18 -0
- package/dist/runtime-status-presenter.d.ts +22 -0
- package/dist/runtime-status-presenter.d.ts.map +1 -0
- package/dist/runtime-status-presenter.js +15 -0
- package/dist/runtime-status-snapshot.d.ts +52 -0
- package/dist/runtime-status-snapshot.d.ts.map +1 -0
- package/dist/runtime-status-snapshot.js +11 -0
- package/dist/runtime-utils.d.ts +2 -0
- package/dist/runtime-utils.d.ts.map +1 -0
- package/dist/runtime-utils.js +6 -0
- package/dist/shell/clipboard.d.ts +23 -0
- package/dist/shell/clipboard.d.ts.map +1 -0
- package/dist/shell/clipboard.js +8 -0
- package/dist/shell/components/AgentProgressTree.d.ts +9 -0
- package/dist/shell/components/AgentProgressTree.d.ts.map +1 -0
- package/dist/shell/components/AgentProgressTree.js +9 -0
- package/dist/shell/components/BackgroundTaskOverlay.d.ts +8 -0
- package/dist/shell/components/BackgroundTaskOverlay.d.ts.map +1 -0
- package/dist/shell/components/BackgroundTaskOverlay.js +8 -0
- package/dist/shell/components/BtwPanel.d.ts +16 -0
- package/dist/shell/components/BtwPanel.d.ts.map +1 -0
- package/dist/shell/components/BtwPanel.js +8 -0
- package/dist/shell/components/CommandPanel.d.ts +11 -0
- package/dist/shell/components/CommandPanel.d.ts.map +1 -0
- package/dist/shell/components/CommandPanel.js +8 -0
- package/dist/shell/components/Composer.d.ts +187 -0
- package/dist/shell/components/Composer.d.ts.map +1 -0
- package/dist/shell/components/Composer.js +99 -0
- package/dist/shell/components/ConfigPanel.d.ts +11 -0
- package/dist/shell/components/ConfigPanel.d.ts.map +1 -0
- package/dist/shell/components/ConfigPanel.js +8 -0
- package/dist/shell/components/CtrlOToExpand.d.ts +30 -0
- package/dist/shell/components/CtrlOToExpand.d.ts.map +1 -0
- package/dist/shell/components/CtrlOToExpand.js +16 -0
- package/dist/shell/components/HelpPanel.d.ts +19 -0
- package/dist/shell/components/HelpPanel.d.ts.map +1 -0
- package/dist/shell/components/HelpPanel.js +8 -0
- package/dist/shell/components/HistorySearchPanel.d.ts +14 -0
- package/dist/shell/components/HistorySearchPanel.d.ts.map +1 -0
- package/dist/shell/components/HistorySearchPanel.js +104 -0
- package/dist/shell/components/MessageMarkdown.d.ts +34 -0
- package/dist/shell/components/MessageMarkdown.d.ts.map +1 -0
- package/dist/shell/components/MessageMarkdown.js +18 -0
- package/dist/shell/components/MessageResponse.d.ts +14 -0
- package/dist/shell/components/MessageResponse.d.ts.map +1 -0
- package/dist/shell/components/MessageResponse.js +6 -0
- package/dist/shell/components/MouseInputRouter.d.ts +28 -0
- package/dist/shell/components/MouseInputRouter.d.ts.map +1 -0
- package/dist/shell/components/MouseInputRouter.js +84 -0
- package/dist/shell/components/NotificationStack.d.ts +19 -0
- package/dist/shell/components/NotificationStack.d.ts.map +1 -0
- package/dist/shell/components/NotificationStack.js +6 -0
- package/dist/shell/components/OutputLine.d.ts +19 -0
- package/dist/shell/components/OutputLine.d.ts.map +1 -0
- package/dist/shell/components/OutputLine.js +38 -0
- package/dist/shell/components/ProductBlock.d.ts +10 -0
- package/dist/shell/components/ProductBlock.d.ts.map +1 -0
- package/dist/shell/components/ProductBlock.js +12 -0
- package/dist/shell/components/ScrollViewport.d.ts +43 -0
- package/dist/shell/components/ScrollViewport.d.ts.map +1 -0
- package/dist/shell/components/ScrollViewport.js +86 -0
- package/dist/shell/components/SessionsPanel.d.ts +24 -0
- package/dist/shell/components/SessionsPanel.d.ts.map +1 -0
- package/dist/shell/components/SessionsPanel.js +8 -0
- package/dist/shell/components/ShellApp.d.ts +8 -0
- package/dist/shell/components/ShellApp.d.ts.map +1 -0
- package/dist/shell/components/ShellApp.js +45 -0
- package/dist/shell/components/ShortcutPanel.d.ts +14 -0
- package/dist/shell/components/ShortcutPanel.d.ts.map +1 -0
- package/dist/shell/components/ShortcutPanel.js +59 -0
- package/dist/shell/components/SlashSuggestions.d.ts +24 -0
- package/dist/shell/components/SlashSuggestions.d.ts.map +1 -0
- package/dist/shell/components/SlashSuggestions.js +7 -0
- package/dist/shell/components/StatusFooter.d.ts +30 -0
- package/dist/shell/components/StatusFooter.d.ts.map +1 -0
- package/dist/shell/components/StatusFooter.js +7 -0
- package/dist/shell/components/StatusTray.d.ts +9 -0
- package/dist/shell/components/StatusTray.d.ts.map +1 -0
- package/dist/shell/components/StatusTray.js +6 -0
- package/dist/shell/components/StructuredDiff.d.ts +9 -0
- package/dist/shell/components/StructuredDiff.d.ts.map +1 -0
- package/dist/shell/components/StructuredDiff.js +7 -0
- package/dist/shell/components/TaskListView.d.ts +9 -0
- package/dist/shell/components/TaskListView.d.ts.map +1 -0
- package/dist/shell/components/TaskListView.js +9 -0
- package/dist/shell/components/TaskSuggestionBar.d.ts +15 -0
- package/dist/shell/components/TaskSuggestionBar.d.ts.map +1 -0
- package/dist/shell/components/TaskSuggestionBar.js +8 -0
- package/dist/shell/components/UnseenMessagePill.d.ts +12 -0
- package/dist/shell/components/UnseenMessagePill.d.ts.map +1 -0
- package/dist/shell/components/UnseenMessagePill.js +6 -0
- package/dist/shell/components/WorkflowProgressView.d.ts +9 -0
- package/dist/shell/components/WorkflowProgressView.d.ts.map +1 -0
- package/dist/shell/components/WorkflowProgressView.js +9 -0
- package/dist/shell/components/useAnchoredCursor.d.ts +32 -0
- package/dist/shell/components/useAnchoredCursor.d.ts.map +1 -0
- package/dist/shell/components/useAnchoredCursor.js +6 -0
- package/dist/shell/hooks/useRenderThrottle.d.ts +2 -0
- package/dist/shell/hooks/useRenderThrottle.d.ts.map +1 -0
- package/dist/shell/hooks/useRenderThrottle.js +35 -0
- package/dist/shell/hooks/useScrollBatcher.d.ts +10 -0
- package/dist/shell/hooks/useScrollBatcher.d.ts.map +1 -0
- package/dist/shell/hooks/useScrollBatcher.js +23 -0
- package/dist/shell/hooks/useScrollRuntime.d.ts +2 -0
- package/dist/shell/hooks/useScrollRuntime.d.ts.map +1 -0
- package/dist/shell/hooks/useScrollRuntime.js +6 -0
- package/dist/shell/hyperlink-utils.d.ts +18 -0
- package/dist/shell/hyperlink-utils.d.ts.map +1 -0
- package/dist/shell/hyperlink-utils.js +8 -0
- package/dist/shell/ink-renderer.d.ts +18 -0
- package/dist/shell/ink-renderer.d.ts.map +1 -0
- package/dist/shell/ink-renderer.js +54 -0
- package/dist/shell/models/command-transcript-presenter.d.ts +73 -0
- package/dist/shell/models/command-transcript-presenter.d.ts.map +1 -0
- package/dist/shell/models/command-transcript-presenter.js +26 -0
- package/dist/shell/models/help-panel.d.ts +37 -0
- package/dist/shell/models/help-panel.d.ts.map +1 -0
- package/dist/shell/models/help-panel.js +10 -0
- package/dist/shell/models/permission-elevation.d.ts +65 -0
- package/dist/shell/models/permission-elevation.d.ts.map +1 -0
- package/dist/shell/models/permission-elevation.js +10 -0
- package/dist/shell/models/permission-explanation.d.ts +45 -0
- package/dist/shell/models/permission-explanation.d.ts.map +1 -0
- package/dist/shell/models/permission-explanation.js +14 -0
- package/dist/shell/models/session-panel.d.ts +22 -0
- package/dist/shell/models/session-panel.d.ts.map +1 -0
- package/dist/shell/models/session-panel.js +18 -0
- package/dist/shell/models/task-scroll-state.d.ts +24 -0
- package/dist/shell/models/task-scroll-state.d.ts.map +1 -0
- package/dist/shell/models/task-scroll-state.js +26 -0
- package/dist/shell/models/terminal-input-runtime.d.ts +37 -0
- package/dist/shell/models/terminal-input-runtime.d.ts.map +1 -0
- package/dist/shell/models/terminal-input-runtime.js +18 -0
- package/dist/shell/models/transcript-scroll-state.d.ts +57 -0
- package/dist/shell/models/transcript-scroll-state.d.ts.map +1 -0
- package/dist/shell/models/transcript-scroll-state.js +12 -0
- package/dist/shell/models/transcript-selection-state.d.ts +39 -0
- package/dist/shell/models/transcript-selection-state.d.ts.map +1 -0
- package/dist/shell/models/transcript-selection-state.js +25 -0
- package/dist/shell/models/wheel-acceleration.d.ts +52 -0
- package/dist/shell/models/wheel-acceleration.d.ts.map +1 -0
- package/dist/shell/models/wheel-acceleration.js +6 -0
- package/dist/shell/output-utils.d.ts +22 -0
- package/dist/shell/output-utils.d.ts.map +1 -0
- package/dist/shell/output-utils.js +12 -0
- package/dist/shell/plain-renderer.d.ts +12 -0
- package/dist/shell/plain-renderer.d.ts.map +1 -0
- package/dist/shell/plain-renderer.js +13 -0
- package/dist/shell/progress-views.d.ts +10 -0
- package/dist/shell/progress-views.d.ts.map +1 -0
- package/dist/shell/progress-views.js +17 -0
- package/dist/shell/stdout-flush-barrier.d.ts +39 -0
- package/dist/shell/stdout-flush-barrier.d.ts.map +1 -0
- package/dist/shell/stdout-flush-barrier.js +10 -0
- package/dist/shell/terminal-capability.d.ts +54 -0
- package/dist/shell/terminal-capability.d.ts.map +1 -0
- package/dist/shell/terminal-capability.js +10 -0
- package/dist/shell/terminal-interaction-runtime.d.ts +11 -0
- package/dist/shell/terminal-interaction-runtime.d.ts.map +1 -0
- package/dist/shell/terminal-interaction-runtime.js +38 -0
- package/dist/shell/terminal-state-recovery.d.ts +52 -0
- package/dist/shell/terminal-state-recovery.d.ts.map +1 -0
- package/dist/shell/terminal-state-recovery.js +11 -0
- package/dist/shell/text-utils.d.ts +40 -0
- package/dist/shell/text-utils.d.ts.map +1 -0
- package/dist/shell/text-utils.js +26 -0
- package/dist/shell/theme.d.ts +41 -0
- package/dist/shell/theme.d.ts.map +1 -0
- package/dist/shell/theme.js +8 -0
- package/dist/shell/types.d.ts +784 -0
- package/dist/shell/types.d.ts.map +1 -0
- package/dist/shell/types.js +0 -0
- package/dist/shell/view-model.d.ts +82 -0
- package/dist/shell/view-model.d.ts.map +1 -0
- package/dist/shell/view-model.js +48 -0
- package/dist/slash-command-runtime.d.ts +64 -0
- package/dist/slash-command-runtime.d.ts.map +1 -0
- package/dist/slash-command-runtime.js +186 -0
- package/dist/slash-dispatch.d.ts +48 -0
- package/dist/slash-dispatch.d.ts.map +1 -0
- package/dist/slash-dispatch.js +53 -0
- package/dist/startup-runtime.d.ts +48 -0
- package/dist/startup-runtime.d.ts.map +1 -0
- package/dist/startup-runtime.js +43 -0
- package/dist/terminal-readiness-presenter.d.ts +131 -0
- package/dist/terminal-readiness-presenter.d.ts.map +1 -0
- package/dist/terminal-readiness-presenter.js +16 -0
- package/dist/terminal-readiness-runtime.d.ts +5 -0
- package/dist/terminal-readiness-runtime.d.ts.map +1 -0
- package/dist/terminal-readiness-runtime.js +15 -0
- package/dist/terminal-setup-runtime.d.ts +34 -0
- package/dist/terminal-setup-runtime.d.ts.map +1 -0
- package/dist/terminal-setup-runtime.js +257 -0
- package/dist/tool-output-presenter.d.ts +38 -0
- package/dist/tool-output-presenter.d.ts.map +1 -0
- package/dist/tool-output-presenter.js +16 -0
- package/dist/tool-result-budget.d.ts +42 -0
- package/dist/tool-result-budget.d.ts.map +1 -0
- package/dist/tool-result-budget.js +11 -0
- package/dist/tui-agent-job-runtime.d.ts +38 -0
- package/dist/tui-agent-job-runtime.d.ts.map +1 -0
- package/dist/tui-agent-job-runtime.js +86 -0
- package/dist/tui-context-runtime.d.ts +426 -0
- package/dist/tui-context-runtime.d.ts.map +1 -0
- package/dist/tui-context-runtime.js +65 -0
- package/dist/tui-data-types.d.ts +923 -0
- package/dist/tui-data-types.d.ts.map +1 -0
- package/dist/tui-data-types.js +0 -0
- package/dist/tui-details-runtime.d.ts +25 -0
- package/dist/tui-details-runtime.d.ts.map +1 -0
- package/dist/tui-details-runtime.js +29 -0
- package/dist/tui-memory-runtime.d.ts +33 -0
- package/dist/tui-memory-runtime.d.ts.map +1 -0
- package/dist/tui-memory-runtime.js +58 -0
- package/dist/tui-messages.d.ts +4 -0
- package/dist/tui-messages.d.ts.map +1 -0
- package/dist/tui-messages.js +6 -0
- package/dist/tui-model-runtime.d.ts +30 -0
- package/dist/tui-model-runtime.d.ts.map +1 -0
- package/dist/tui-model-runtime.js +39 -0
- package/dist/tui-output-surface.d.ts +141 -0
- package/dist/tui-output-surface.d.ts.map +1 -0
- package/dist/tui-output-surface.js +55 -0
- package/dist/tui-permission-runtime.d.ts +62 -0
- package/dist/tui-permission-runtime.d.ts.map +1 -0
- package/dist/tui-permission-runtime.js +24 -0
- package/dist/tui-state-runtime.d.ts +21 -0
- package/dist/tui-state-runtime.d.ts.map +1 -0
- package/dist/tui-state-runtime.js +47 -0
- package/dist/turn-continuity-runtime.d.ts +30 -0
- package/dist/turn-continuity-runtime.d.ts.map +1 -0
- package/dist/turn-continuity-runtime.js +8 -0
- package/dist/undo-ring.d.ts +16 -0
- package/dist/undo-ring.d.ts.map +1 -0
- package/dist/undo-ring.js +12 -0
- package/dist/usage-stats-presenter.d.ts +17 -0
- package/dist/usage-stats-presenter.d.ts.map +1 -0
- package/dist/usage-stats-presenter.js +22 -0
- package/dist/user-state-signal-runtime.d.ts +33 -0
- package/dist/user-state-signal-runtime.d.ts.map +1 -0
- package/dist/user-state-signal-runtime.js +8 -0
- package/dist/verification-command-runtime.d.ts +25 -0
- package/dist/verification-command-runtime.d.ts.map +1 -0
- package/dist/verification-command-runtime.js +51 -0
- package/dist/verification-level.d.ts +93 -0
- package/dist/verification-level.d.ts.map +1 -0
- package/dist/verification-level.js +18 -0
- package/dist/workflow-agent-runtime-bridge.d.ts +169 -0
- package/dist/workflow-agent-runtime-bridge.d.ts.map +1 -0
- package/dist/workflow-agent-runtime-bridge.js +9 -0
- package/dist/workflow-command-runtime.d.ts +94 -0
- package/dist/workflow-command-runtime.d.ts.map +1 -0
- package/dist/workflow-command-runtime.js +114 -0
- package/dist/workflow-plan-schema.d.ts +161 -0
- package/dist/workflow-plan-schema.d.ts.map +1 -0
- package/dist/workflow-plan-schema.js +12 -0
- package/dist/workflow-planner-entry.d.ts +52 -0
- package/dist/workflow-planner-entry.d.ts.map +1 -0
- package/dist/workflow-planner-entry.js +328 -0
- package/dist/workflow-task-surface.d.ts +39 -0
- package/dist/workflow-task-surface.d.ts.map +1 -0
- package/dist/workflow-task-surface.js +7 -0
- package/dist/workspace-reference-cache.d.ts +110 -0
- package/dist/workspace-reference-cache.d.ts.map +1 -0
- package/dist/workspace-reference-cache.js +12 -0
- 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
|
+
};
|