@cjhyy/code-shell 0.3.0 → 0.5.0-rc.2

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 (464) hide show
  1. package/CHANGELOG.md +75 -0
  2. package/dist/cli.js +2 -0
  3. package/dist/index.d.ts +1 -68
  4. package/dist/index.js +1 -1
  5. package/package.json +25 -73
  6. package/dist/agent/coordinator.d.ts +0 -49
  7. package/dist/anthropic-DJXVKFMJ.js +0 -1
  8. package/dist/arena/arena.d.ts +0 -43
  9. package/dist/arena/context/context-tools.d.ts +0 -16
  10. package/dist/arena/detect-mode.d.ts +0 -20
  11. package/dist/arena/digest-builder.d.ts +0 -25
  12. package/dist/arena/index.d.ts +0 -29
  13. package/dist/arena/index.js +0 -1
  14. package/dist/arena/iterate/convergence.d.ts +0 -25
  15. package/dist/arena/iterate/formats/index.d.ts +0 -22
  16. package/dist/arena/iterate/index.d.ts +0 -11
  17. package/dist/arena/iterate/iterative-arena.d.ts +0 -23
  18. package/dist/arena/iterate/parse.d.ts +0 -42
  19. package/dist/arena/iterate/phases/argue.d.ts +0 -22
  20. package/dist/arena/iterate/phases/revise.d.ts +0 -16
  21. package/dist/arena/iterate/phases/tournament.d.ts +0 -34
  22. package/dist/arena/iterate/tools/web-tools.d.ts +0 -13
  23. package/dist/arena/iterate/types.d.ts +0 -152
  24. package/dist/arena/ledger.d.ts +0 -47
  25. package/dist/arena/lenses/architecture.d.ts +0 -5
  26. package/dist/arena/lenses/engineering.d.ts +0 -5
  27. package/dist/arena/lenses/general.d.ts +0 -5
  28. package/dist/arena/lenses/index.d.ts +0 -16
  29. package/dist/arena/lenses/product.d.ts +0 -5
  30. package/dist/arena/model-presets.d.ts +0 -23
  31. package/dist/arena/phases/adjudication.d.ts +0 -24
  32. package/dist/arena/phases/build-consensus.d.ts +0 -29
  33. package/dist/arena/phases/claim-registry.d.ts +0 -26
  34. package/dist/arena/phases/cross-review.d.ts +0 -45
  35. package/dist/arena/phases/debate-rounds.d.ts +0 -27
  36. package/dist/arena/phases/participant-research.d.ts +0 -38
  37. package/dist/arena/phases/planning-detail-expansion.d.ts +0 -38
  38. package/dist/arena/planner.d.ts +0 -27
  39. package/dist/arena/providers/docs.d.ts +0 -6
  40. package/dist/arena/providers/git.d.ts +0 -8
  41. package/dist/arena/providers/index.d.ts +0 -32
  42. package/dist/arena/providers/none.d.ts +0 -7
  43. package/dist/arena/providers/repo.d.ts +0 -6
  44. package/dist/arena/render/session.d.ts +0 -17
  45. package/dist/arena/render/terminal.d.ts +0 -33
  46. package/dist/arena/strategies/discussion.d.ts +0 -25
  47. package/dist/arena/strategies/index.d.ts +0 -15
  48. package/dist/arena/strategies/language-wrapper.d.ts +0 -17
  49. package/dist/arena/strategies/lens-wrapper.d.ts +0 -16
  50. package/dist/arena/strategies/planning.d.ts +0 -30
  51. package/dist/arena/strategies/review.d.ts +0 -26
  52. package/dist/arena/strategies/utils.d.ts +0 -39
  53. package/dist/arena/tools/selector.d.ts +0 -17
  54. package/dist/arena/transitions.d.ts +0 -48
  55. package/dist/arena/types.d.ts +0 -508
  56. package/dist/arena-MRBATZFD.js +0 -3
  57. package/dist/bootstrap/setup.d.ts +0 -14
  58. package/dist/bootstrap/state.d.ts +0 -160
  59. package/dist/bwrap-PVZMLHZR.js +0 -2
  60. package/dist/chunk-2OD6VR4N.js +0 -2
  61. package/dist/chunk-3QP5BQ3L.js +0 -1
  62. package/dist/chunk-5QIVXFCT.js +0 -1
  63. package/dist/chunk-AFMP73YP.js +0 -2
  64. package/dist/chunk-D3TVASD2.js +0 -4
  65. package/dist/chunk-DI26OUIU.js +0 -2
  66. package/dist/chunk-FU7AHZNN.js +0 -1
  67. package/dist/chunk-FZXY554D.js +0 -2
  68. package/dist/chunk-GGVAOPI7.js +0 -1
  69. package/dist/chunk-GKAQH2DG.js +0 -2
  70. package/dist/chunk-GYNO4R7R.js +0 -2
  71. package/dist/chunk-K4HILJ6G.js +0 -251
  72. package/dist/chunk-M7VU4YVY.js +0 -49
  73. package/dist/chunk-MLCTC53I.js +0 -1
  74. package/dist/chunk-O5HFCH2U.js +0 -1
  75. package/dist/chunk-OWBYLMDD.js +0 -1
  76. package/dist/chunk-P6JSTIFM.js +0 -1
  77. package/dist/chunk-QTWU7UNA.js +0 -5
  78. package/dist/chunk-SKIX2M5Z.js +0 -4
  79. package/dist/chunk-SNFAPSLA.js +0 -1
  80. package/dist/chunk-SV7H4FKT.js +0 -3
  81. package/dist/chunk-T222K6IV.js +0 -18
  82. package/dist/chunk-TKJA6W36.js +0 -3
  83. package/dist/chunk-WI6FSWGU.js +0 -1
  84. package/dist/chunk-WONQHE4P.js +0 -641
  85. package/dist/chunk-X2S7ASQ2.js +0 -1
  86. package/dist/chunk-Z5HKHAO7.js +0 -336
  87. package/dist/cli/commands/arena.d.ts +0 -29
  88. package/dist/cli/commands/builtin/advanced-commands.d.ts +0 -5
  89. package/dist/cli/commands/builtin/core-commands.d.ts +0 -5
  90. package/dist/cli/commands/builtin/export-md.d.ts +0 -19
  91. package/dist/cli/commands/builtin/extra-commands.d.ts +0 -6
  92. package/dist/cli/commands/builtin/git-commands.d.ts +0 -5
  93. package/dist/cli/commands/builtin/init/detect.d.ts +0 -25
  94. package/dist/cli/commands/builtin/init/index.d.ts +0 -19
  95. package/dist/cli/commands/builtin/more-commands.d.ts +0 -5
  96. package/dist/cli/commands/builtin/permissions-command.d.ts +0 -5
  97. package/dist/cli/commands/builtin/plugin-commands-registration.d.ts +0 -12
  98. package/dist/cli/commands/builtin/plugin-handler.d.ts +0 -6
  99. package/dist/cli/commands/builtin/utility-commands.d.ts +0 -5
  100. package/dist/cli/commands/registry.d.ts +0 -79
  101. package/dist/cli/commands/repl.d.ts +0 -21
  102. package/dist/cli/commands/run.d.ts +0 -21
  103. package/dist/cli/commands/runs.d.ts +0 -14
  104. package/dist/cli/cost-tracker.d.ts +0 -63
  105. package/dist/cli/exit.d.ts +0 -12
  106. package/dist/cli/input/ndjson-reader.d.ts +0 -31
  107. package/dist/cli/input-compiler.d.ts +0 -5
  108. package/dist/cli/main.d.ts +0 -5
  109. package/dist/cli/main.js +0 -415
  110. package/dist/cli/migrate-models.d.ts +0 -45
  111. package/dist/cli/onboarding.d.ts +0 -189
  112. package/dist/cli/output/renderer.d.ts +0 -28
  113. package/dist/cli/output/terminal-ui.d.ts +0 -50
  114. package/dist/cli/updater.d.ts +0 -65
  115. package/dist/client-base-GSFXPP2Y.js +0 -1
  116. package/dist/compaction-L3Y6NG4N.js +0 -1
  117. package/dist/context/compaction.d.ts +0 -116
  118. package/dist/context/manager.d.ts +0 -145
  119. package/dist/context/token-counter.d.ts +0 -27
  120. package/dist/context/tool-result-storage.d.ts +0 -96
  121. package/dist/cron/scheduler.d.ts +0 -34
  122. package/dist/data/openrouter-models.d.ts +0 -35
  123. package/dist/data/openrouter-sync.d.ts +0 -16
  124. package/dist/data/static-catalogs.d.ts +0 -25
  125. package/dist/devtools-FBX4HVVY.js +0 -1
  126. package/dist/engine/cost-store.d.ts +0 -22
  127. package/dist/engine/engine.d.ts +0 -236
  128. package/dist/engine/model-facade.d.ts +0 -24
  129. package/dist/engine/query.d.ts +0 -50
  130. package/dist/engine/streaming-tool-queue.d.ts +0 -34
  131. package/dist/engine/token-budget.d.ts +0 -22
  132. package/dist/engine/tool-summary.d.ts +0 -13
  133. package/dist/engine/turn-loop.d.ts +0 -122
  134. package/dist/engine/turn-state.d.ts +0 -20
  135. package/dist/exceptions.d.ts +0 -44
  136. package/dist/export-md-U72T7NW7.js +0 -22
  137. package/dist/file-history-7FQFEQOL.js +0 -1
  138. package/dist/git/utils.d.ts +0 -35
  139. package/dist/git/worktree.d.ts +0 -36
  140. package/dist/hooks/events.d.ts +0 -114
  141. package/dist/hooks/inject.d.ts +0 -19
  142. package/dist/hooks/registry.d.ts +0 -15
  143. package/dist/hooks/shell-runner.d.ts +0 -45
  144. package/dist/llm/api-key-sanitize.d.ts +0 -22
  145. package/dist/llm/capabilities/index.d.ts +0 -20
  146. package/dist/llm/capabilities/rules.d.ts +0 -26
  147. package/dist/llm/capabilities/types.d.ts +0 -108
  148. package/dist/llm/client-base.d.ts +0 -29
  149. package/dist/llm/client-factory.d.ts +0 -10
  150. package/dist/llm/model-cache.d.ts +0 -21
  151. package/dist/llm/model-fetcher.d.ts +0 -29
  152. package/dist/llm/model-pool.d.ts +0 -84
  153. package/dist/llm/provider-catalog.d.ts +0 -32
  154. package/dist/llm/provider-kinds.d.ts +0 -21
  155. package/dist/llm/providers/anthropic.d.ts +0 -19
  156. package/dist/llm/providers/openai.d.ts +0 -64
  157. package/dist/llm/retry.d.ts +0 -12
  158. package/dist/llm/stream-watchdog.d.ts +0 -42
  159. package/dist/llm/token-counter.d.ts +0 -17
  160. package/dist/llm/types.d.ts +0 -37
  161. package/dist/logging/logger.d.ts +0 -102
  162. package/dist/logging/session-recorder.d.ts +0 -90
  163. package/dist/lsp/client.d.ts +0 -41
  164. package/dist/lsp/manager.d.ts +0 -40
  165. package/dist/lsp/servers.d.ts +0 -16
  166. package/dist/manager-4XKLZHKE.js +0 -1
  167. package/dist/mcp-manager-3JGHEJO3.js +0 -1
  168. package/dist/memory-BNI4WEWL.js +0 -1
  169. package/dist/model-cache-HEDXI7UJ.js +0 -1
  170. package/dist/model-fetcher-X5W5EASG.js +0 -1
  171. package/dist/native-ts/yoga-layout/enums.d.ts +0 -117
  172. package/dist/native-ts/yoga-layout/index.d.ts +0 -270
  173. package/dist/off-7SDVMMXW.js +0 -1
  174. package/dist/openai-OQ6LLN5J.js +0 -1
  175. package/dist/openrouter-models-ZT4R2AE3.js +0 -1
  176. package/dist/openrouter-sync-ARMVWY7S.js +0 -1
  177. package/dist/plugin-handler-GJISMH5Q.js +0 -11
  178. package/dist/plugins/gitOps.d.ts +0 -23
  179. package/dist/plugins/installedPlugins.d.ts +0 -15
  180. package/dist/plugins/knownMarketplaces.d.ts +0 -10
  181. package/dist/plugins/loadPluginHooks.d.ts +0 -52
  182. package/dist/plugins/marketplaceManager.d.ts +0 -49
  183. package/dist/plugins/parseMarketplaceInput.d.ts +0 -16
  184. package/dist/plugins/pluginCommandHook.d.ts +0 -54
  185. package/dist/plugins/pluginCommandsLoader.d.ts +0 -25
  186. package/dist/plugins/pluginInstaller.d.ts +0 -36
  187. package/dist/plugins/schemas.d.ts +0 -9
  188. package/dist/plugins/types.d.ts +0 -75
  189. package/dist/plugins/varRewrite.d.ts +0 -42
  190. package/dist/preset/index.d.ts +0 -60
  191. package/dist/product/define.d.ts +0 -60
  192. package/dist/product/index.d.ts +0 -5
  193. package/dist/product/index.js +0 -1
  194. package/dist/product/types.d.ts +0 -111
  195. package/dist/prompt/composer.d.ts +0 -42
  196. package/dist/prompt/instruction-scanner.d.ts +0 -54
  197. package/dist/prompt/section-cache.d.ts +0 -15
  198. package/dist/prompt/section-loader.d.ts +0 -26
  199. package/dist/protocol/client.d.ts +0 -64
  200. package/dist/protocol/helpers.d.ts +0 -42
  201. package/dist/protocol/index.d.ts +0 -4
  202. package/dist/protocol/server.d.ts +0 -51
  203. package/dist/protocol/transport.d.ts +0 -36
  204. package/dist/protocol/types.d.ts +0 -192
  205. package/dist/react-compiler-runtime-shim.d.ts +0 -1
  206. package/dist/remote/bridge.d.ts +0 -37
  207. package/dist/render/Ansi.d.ts +0 -10
  208. package/dist/render/bidi.d.ts +0 -15
  209. package/dist/render/clearTerminal.d.ts +0 -19
  210. package/dist/render/colorize.d.ts +0 -16
  211. package/dist/render/components/AlternateScreen.d.ts +0 -21
  212. package/dist/render/components/App.d.ts +0 -71
  213. package/dist/render/components/AppContext.d.ts +0 -11
  214. package/dist/render/components/Box.d.ts +0 -49
  215. package/dist/render/components/Button.d.ts +0 -36
  216. package/dist/render/components/ClockContext.d.ts +0 -9
  217. package/dist/render/components/CursorDeclarationContext.d.ts +0 -22
  218. package/dist/render/components/ErrorOverview.d.ts +0 -5
  219. package/dist/render/components/Link.d.ts +0 -7
  220. package/dist/render/components/Newline.d.ts +0 -12
  221. package/dist/render/components/NoSelect.d.ts +0 -19
  222. package/dist/render/components/RawAnsi.d.ts +0 -16
  223. package/dist/render/components/ScrollBox.d.ts +0 -78
  224. package/dist/render/components/Spacer.d.ts +0 -5
  225. package/dist/render/components/Static.d.ts +0 -23
  226. package/dist/render/components/StdinContext.d.ts +0 -27
  227. package/dist/render/components/TerminalFocusContext.d.ts +0 -10
  228. package/dist/render/components/TerminalSizeContext.d.ts +0 -5
  229. package/dist/render/components/Text.d.ts +0 -55
  230. package/dist/render/constants.d.ts +0 -1
  231. package/dist/render/cursor.d.ts +0 -8
  232. package/dist/render/devtools.d.ts +0 -9
  233. package/dist/render/dom.d.ts +0 -77
  234. package/dist/render/events/click-event.d.ts +0 -31
  235. package/dist/render/events/dispatcher.d.ts +0 -40
  236. package/dist/render/events/emitter.d.ts +0 -5
  237. package/dist/render/events/event-handlers.d.ts +0 -46
  238. package/dist/render/events/event.d.ts +0 -5
  239. package/dist/render/events/focus-event.d.ts +0 -13
  240. package/dist/render/events/input-event.d.ts +0 -30
  241. package/dist/render/events/keyboard-event.d.ts +0 -19
  242. package/dist/render/events/paste-event.d.ts +0 -8
  243. package/dist/render/events/resize-event.d.ts +0 -9
  244. package/dist/render/events/terminal-event.d.ts +0 -54
  245. package/dist/render/events/terminal-focus-event.d.ts +0 -13
  246. package/dist/render/focus.d.ts +0 -43
  247. package/dist/render/frame.d.ts +0 -95
  248. package/dist/render/get-max-width.d.ts +0 -17
  249. package/dist/render/hit-test.d.ts +0 -33
  250. package/dist/render/hooks/use-animation-frame.d.ts +0 -26
  251. package/dist/render/hooks/use-app.d.ts +0 -5
  252. package/dist/render/hooks/use-declared-cursor.d.ts +0 -26
  253. package/dist/render/hooks/use-input.d.ts +0 -37
  254. package/dist/render/hooks/use-interval.d.ts +0 -18
  255. package/dist/render/hooks/use-search-highlight.d.ts +0 -30
  256. package/dist/render/hooks/use-selection.d.ts +0 -39
  257. package/dist/render/hooks/use-stdin.d.ts +0 -5
  258. package/dist/render/hooks/use-tab-status.d.ts +0 -13
  259. package/dist/render/hooks/use-terminal-focus.d.ts +0 -10
  260. package/dist/render/hooks/use-terminal-title.d.ts +0 -12
  261. package/dist/render/hooks/use-terminal-viewport.d.ts +0 -29
  262. package/dist/render/index.d.ts +0 -30
  263. package/dist/render/ink.d.ts +0 -391
  264. package/dist/render/instances.d.ts +0 -3
  265. package/dist/render/layout/engine.d.ts +0 -2
  266. package/dist/render/layout/geometry.d.ts +0 -30
  267. package/dist/render/layout/node.d.ts +0 -125
  268. package/dist/render/layout/yoga.d.ts +0 -56
  269. package/dist/render/line-width-cache.d.ts +0 -1
  270. package/dist/render/log-update.d.ts +0 -28
  271. package/dist/render/measure-element.d.ts +0 -16
  272. package/dist/render/measure-text.d.ts +0 -6
  273. package/dist/render/node-cache.d.ts +0 -20
  274. package/dist/render/optimizer.d.ts +0 -15
  275. package/dist/render/output.d.ts +0 -119
  276. package/dist/render/parse-keypress.d.ts +0 -111
  277. package/dist/render/reconciler.d.ts +0 -11
  278. package/dist/render/render-border.d.ts +0 -24
  279. package/dist/render/render-node-to-output.d.ts +0 -45
  280. package/dist/render/render-to-screen.d.ts +0 -46
  281. package/dist/render/renderer.d.ts +0 -14
  282. package/dist/render/root.d.ts +0 -74
  283. package/dist/render/screen.d.ts +0 -269
  284. package/dist/render/searchHighlight.d.ts +0 -20
  285. package/dist/render/selection.d.ts +0 -229
  286. package/dist/render/squash-text-nodes.d.ts +0 -22
  287. package/dist/render/stringWidth.d.ts +0 -1
  288. package/dist/render/styles.d.ts +0 -306
  289. package/dist/render/supports-hyperlinks.d.ts +0 -13
  290. package/dist/render/tabstops.d.ts +0 -1
  291. package/dist/render/terminal-focus-state.d.ts +0 -6
  292. package/dist/render/terminal-querier.d.ts +0 -129
  293. package/dist/render/terminal.d.ts +0 -46
  294. package/dist/render/termio/ansi.d.ts +0 -65
  295. package/dist/render/termio/csi.d.ts +0 -165
  296. package/dist/render/termio/dec.d.ts +0 -37
  297. package/dist/render/termio/esc.d.ts +0 -12
  298. package/dist/render/termio/osc.d.ts +0 -173
  299. package/dist/render/termio/parser.d.ts +0 -35
  300. package/dist/render/termio/sgr.d.ts +0 -8
  301. package/dist/render/termio/tokenize.d.ts +0 -45
  302. package/dist/render/termio/types.d.ts +0 -190
  303. package/dist/render/termio.d.ts +0 -24
  304. package/dist/render/useTerminalNotification.d.ts +0 -28
  305. package/dist/render/warn.d.ts +0 -1
  306. package/dist/render/widest-line.d.ts +0 -1
  307. package/dist/render/wrap-text.d.ts +0 -2
  308. package/dist/render/wrapAnsi.d.ts +0 -7
  309. package/dist/run/ArtifactTracker.d.ts +0 -38
  310. package/dist/run/CheckpointWriter.d.ts +0 -53
  311. package/dist/run/EngineRunner.d.ts +0 -72
  312. package/dist/run/Evaluator.d.ts +0 -56
  313. package/dist/run/FileRunStore.d.ts +0 -39
  314. package/dist/run/Heartbeat.d.ts +0 -54
  315. package/dist/run/RunApprovalBackend.d.ts +0 -53
  316. package/dist/run/RunLock.d.ts +0 -40
  317. package/dist/run/RunManager.d.ts +0 -82
  318. package/dist/run/RunQueue.d.ts +0 -27
  319. package/dist/run/RunStore.d.ts +0 -25
  320. package/dist/run/factory.d.ts +0 -63
  321. package/dist/run/index.d.ts +0 -17
  322. package/dist/run/index.js +0 -1
  323. package/dist/run/types.d.ts +0 -136
  324. package/dist/seatbelt-L54CNI2Y.js +0 -37
  325. package/dist/services/analytics.d.ts +0 -29
  326. package/dist/services/auto-dream.d.ts +0 -35
  327. package/dist/services/diagnostics.d.ts +0 -41
  328. package/dist/services/extract-memories.d.ts +0 -27
  329. package/dist/services/index.d.ts +0 -11
  330. package/dist/services/memory-orchestrator.d.ts +0 -39
  331. package/dist/services/notifier.d.ts +0 -25
  332. package/dist/services/oauth.d.ts +0 -27
  333. package/dist/services/session-memory.d.ts +0 -37
  334. package/dist/session/file-history.d.ts +0 -41
  335. package/dist/session/memory.d.ts +0 -65
  336. package/dist/session/session-manager.d.ts +0 -28
  337. package/dist/session/transcript.d.ts +0 -39
  338. package/dist/session-manager-AGWS5SMJ.js +0 -1
  339. package/dist/settings/manager.d.ts +0 -36
  340. package/dist/settings/schema.d.ts +0 -1123
  341. package/dist/skills/frontmatter.d.ts +0 -13
  342. package/dist/skills/index.d.ts +0 -7
  343. package/dist/skills/scanner.d.ts +0 -20
  344. package/dist/tool-summary-HJX6RHG4.js +0 -2
  345. package/dist/tool-system/builtin/agent-notifications.d.ts +0 -55
  346. package/dist/tool-system/builtin/agent-registry.d.ts +0 -67
  347. package/dist/tool-system/builtin/agent-transcript-translator.d.ts +0 -22
  348. package/dist/tool-system/builtin/agent.d.ts +0 -16
  349. package/dist/tool-system/builtin/apply-patch/applier.d.ts +0 -26
  350. package/dist/tool-system/builtin/apply-patch/index.d.ts +0 -19
  351. package/dist/tool-system/builtin/apply-patch/parser.d.ts +0 -17
  352. package/dist/tool-system/builtin/apply-patch/seek-sequence.d.ts +0 -18
  353. package/dist/tool-system/builtin/apply-patch/types.d.ts +0 -49
  354. package/dist/tool-system/builtin/arena.d.ts +0 -31
  355. package/dist/tool-system/builtin/ask-user.d.ts +0 -20
  356. package/dist/tool-system/builtin/bash.d.ts +0 -12
  357. package/dist/tool-system/builtin/brief.d.ts +0 -6
  358. package/dist/tool-system/builtin/config.d.ts +0 -6
  359. package/dist/tool-system/builtin/cron.d.ts +0 -10
  360. package/dist/tool-system/builtin/edit.d.ts +0 -6
  361. package/dist/tool-system/builtin/file-cache.d.ts +0 -11
  362. package/dist/tool-system/builtin/glob.d.ts +0 -6
  363. package/dist/tool-system/builtin/grep.d.ts +0 -6
  364. package/dist/tool-system/builtin/index.d.ts +0 -20
  365. package/dist/tool-system/builtin/lsp.d.ts +0 -6
  366. package/dist/tool-system/builtin/mcp-tools.d.ts +0 -10
  367. package/dist/tool-system/builtin/notebook-edit.d.ts +0 -6
  368. package/dist/tool-system/builtin/plan.d.ts +0 -18
  369. package/dist/tool-system/builtin/powershell.d.ts +0 -6
  370. package/dist/tool-system/builtin/read.d.ts +0 -6
  371. package/dist/tool-system/builtin/remote-trigger.d.ts +0 -6
  372. package/dist/tool-system/builtin/repl.d.ts +0 -6
  373. package/dist/tool-system/builtin/send-message.d.ts +0 -6
  374. package/dist/tool-system/builtin/skill-prompt.d.ts +0 -7
  375. package/dist/tool-system/builtin/skill.d.ts +0 -8
  376. package/dist/tool-system/builtin/sleep.d.ts +0 -6
  377. package/dist/tool-system/builtin/task.d.ts +0 -51
  378. package/dist/tool-system/builtin/tool-search.d.ts +0 -11
  379. package/dist/tool-system/builtin/web-fetch.d.ts +0 -6
  380. package/dist/tool-system/builtin/web-search.d.ts +0 -6
  381. package/dist/tool-system/builtin/worktree.d.ts +0 -10
  382. package/dist/tool-system/builtin/write.d.ts +0 -6
  383. package/dist/tool-system/context.d.ts +0 -133
  384. package/dist/tool-system/executor.d.ts +0 -49
  385. package/dist/tool-system/investigation-guard.d.ts +0 -46
  386. package/dist/tool-system/mcp-manager.d.ts +0 -50
  387. package/dist/tool-system/permission.d.ts +0 -104
  388. package/dist/tool-system/registry.d.ts +0 -32
  389. package/dist/tool-system/sandbox/bwrap.d.ts +0 -13
  390. package/dist/tool-system/sandbox/index.d.ts +0 -78
  391. package/dist/tool-system/sandbox/off.d.ts +0 -2
  392. package/dist/tool-system/sandbox/seatbelt.d.ts +0 -18
  393. package/dist/tool-system/task-guard.d.ts +0 -30
  394. package/dist/tool-system/validation.d.ts +0 -5
  395. package/dist/types.d.ts +0 -356
  396. package/dist/ui/App.d.ts +0 -14
  397. package/dist/ui/components/AgentBlock.d.ts +0 -35
  398. package/dist/ui/components/AgentDock.d.ts +0 -36
  399. package/dist/ui/components/AskUserPrompt.d.ts +0 -14
  400. package/dist/ui/components/BabyHand.d.ts +0 -1
  401. package/dist/ui/components/Banner.d.ts +0 -8
  402. package/dist/ui/components/CodeBlock.d.ts +0 -7
  403. package/dist/ui/components/CommandInput.d.ts +0 -24
  404. package/dist/ui/components/ContextUsageBar.d.ts +0 -7
  405. package/dist/ui/components/DiffLine.d.ts +0 -33
  406. package/dist/ui/components/DiffView.d.ts +0 -6
  407. package/dist/ui/components/DogLogo.d.ts +0 -1
  408. package/dist/ui/components/FullscreenLayout.d.ts +0 -51
  409. package/dist/ui/components/KunHead.d.ts +0 -1
  410. package/dist/ui/components/KunLogo.d.ts +0 -1
  411. package/dist/ui/components/MessageContent.d.ts +0 -26
  412. package/dist/ui/components/MessageRow.d.ts +0 -54
  413. package/dist/ui/components/ModelManager.d.ts +0 -68
  414. package/dist/ui/components/ModelSelector.d.ts +0 -10
  415. package/dist/ui/components/OnboardingPrompt.d.ts +0 -16
  416. package/dist/ui/components/PermissionDialog.d.ts +0 -8
  417. package/dist/ui/components/PermissionPrompt.d.ts +0 -11
  418. package/dist/ui/components/ProviderModelFlow.d.ts +0 -58
  419. package/dist/ui/components/ScrollView.d.ts +0 -34
  420. package/dist/ui/components/SessionPicker.d.ts +0 -16
  421. package/dist/ui/components/Spinner.d.ts +0 -8
  422. package/dist/ui/components/SpinnerWithVerb.d.ts +0 -19
  423. package/dist/ui/components/StatusLine.d.ts +0 -28
  424. package/dist/ui/components/StructuredDiff.d.ts +0 -8
  425. package/dist/ui/components/TaskList.d.ts +0 -6
  426. package/dist/ui/components/TextInput.d.ts +0 -17
  427. package/dist/ui/components/ThemedBox.d.ts +0 -19
  428. package/dist/ui/components/ThemedText.d.ts +0 -26
  429. package/dist/ui/components/ToolCall.d.ts +0 -28
  430. package/dist/ui/components/UpdateBanner.d.ts +0 -1
  431. package/dist/ui/components/VirtualMessageList.d.ts +0 -43
  432. package/dist/ui/components/WelcomeTips.d.ts +0 -5
  433. package/dist/ui/dev-seed.d.ts +0 -1
  434. package/dist/ui/fullscreen-mode.d.ts +0 -9
  435. package/dist/ui/hooks/useCostSummary.d.ts +0 -1
  436. package/dist/ui/hooks/useVirtualScroll.d.ts +0 -101
  437. package/dist/ui/index.d.ts +0 -12
  438. package/dist/ui/input-history.d.ts +0 -61
  439. package/dist/ui/onboarding-runner.d.ts +0 -2
  440. package/dist/ui/perf-probes.d.ts +0 -22
  441. package/dist/ui/query-guard.d.ts +0 -35
  442. package/dist/ui/slice-anchor.d.ts +0 -44
  443. package/dist/ui/store.d.ts +0 -108
  444. package/dist/ui/terminal-renderer.d.ts +0 -45
  445. package/dist/ui/theme.d.ts +0 -36
  446. package/dist/ui/vim-mode.d.ts +0 -25
  447. package/dist/updater-OCNU2K2Z.js +0 -1
  448. package/dist/utils/debug.d.ts +0 -41
  449. package/dist/utils/earlyInput.d.ts +0 -43
  450. package/dist/utils/env.d.ts +0 -24
  451. package/dist/utils/envUtils.d.ts +0 -51
  452. package/dist/utils/execFileNoThrow.d.ts +0 -39
  453. package/dist/utils/format.d.ts +0 -44
  454. package/dist/utils/fullscreen.d.ts +0 -47
  455. package/dist/utils/intl.d.ts +0 -22
  456. package/dist/utils/lockfile.d.ts +0 -15
  457. package/dist/utils/semver.d.ts +0 -6
  458. package/dist/utils/sliceAnsi.d.ts +0 -12
  459. package/dist/utils/systemTheme.d.ts +0 -40
  460. package/dist/utils/task-sanitizer.d.ts +0 -6
  461. package/dist/utils/theme.d.ts +0 -91
  462. package/dist/utils/toolDisplay.d.ts +0 -31
  463. package/dist/utils/truncate.d.ts +0 -40
  464. package/dist/voice/index.d.ts +0 -35
@@ -1,29 +0,0 @@
1
- import type { DOMElement } from '../dom.js';
2
- type ViewportEntry = {
3
- /**
4
- * Whether the element is currently within the terminal viewport
5
- */
6
- isVisible: boolean;
7
- };
8
- /**
9
- * Hook to detect if a component is within the terminal viewport.
10
- *
11
- * Returns a callback ref and a viewport entry object.
12
- * Attach the ref to the component you want to track.
13
- *
14
- * The entry is updated during the layout phase (useLayoutEffect) so callers
15
- * always read fresh values during render. Visibility changes do NOT trigger
16
- * re-renders on their own — callers that re-render for other reasons (e.g.
17
- * animation ticks, state changes) will pick up the latest value naturally.
18
- * This avoids infinite update loops when combined with other layout effects
19
- * that also call setState.
20
- *
21
- * @example
22
- * const [ref, entry] = useTerminalViewport()
23
- * return <Box ref={ref}><Animation enabled={entry.isVisible}>...</Animation></Box>
24
- */
25
- export declare function useTerminalViewport(): [
26
- ref: (element: DOMElement | null) => void,
27
- entry: ViewportEntry
28
- ];
29
- export {};
@@ -1,30 +0,0 @@
1
- /**
2
- * Public API — re-exports from the custom ink engine matching the npm `ink` API shape.
3
- * UI components import from here instead of npm `ink`.
4
- */
5
- export { default as Box, type Props as BoxProps } from "./components/Box.js";
6
- export { default as Text, type Props as TextProps } from "./components/Text.js";
7
- export { default as Spacer } from "./components/Spacer.js";
8
- export { default as Newline } from "./components/Newline.js";
9
- export { default as useApp } from "./hooks/use-app.js";
10
- export { default as useInput } from "./hooks/use-input.js";
11
- export { default as useStdin } from "./hooks/use-stdin.js";
12
- export declare function useStdout(): {
13
- stdout: NodeJS.WriteStream & {
14
- fd: 1;
15
- };
16
- write: (data: string) => boolean;
17
- };
18
- export declare function forceRedraw(options?: {
19
- stdout?: NodeJS.WriteStream;
20
- clearScrollback?: boolean;
21
- }): void;
22
- export { default as ScrollBox, type ScrollBoxHandle, type ScrollBoxProps } from "./components/ScrollBox.js";
23
- export { AlternateScreen } from "./components/AlternateScreen.js";
24
- export { Ansi } from "./Ansi.js";
25
- export { NoSelect } from "./components/NoSelect.js";
26
- export { default as Button } from "./components/Button.js";
27
- export { default as Link } from "./components/Link.js";
28
- export { RawAnsi } from "./components/RawAnsi.js";
29
- export { Static } from "./components/Static.js";
30
- export { default as render, renderSync, createRoot, type RenderOptions, type Instance } from "./root.js";
@@ -1,391 +0,0 @@
1
- import { type ReactNode } from 'react';
2
- import * as dom from './dom.js';
3
- import { FocusManager } from './focus.js';
4
- import { type FrameEvent } from './frame.js';
5
- import type { ParsedKey } from './parse-keypress.js';
6
- import { type MatchPosition } from './render-to-screen.js';
7
- import { type FocusMove, type SelectionState } from './selection.js';
8
- export type Options = {
9
- stdout: NodeJS.WriteStream;
10
- stdin: NodeJS.ReadStream;
11
- stderr: NodeJS.WriteStream;
12
- exitOnCtrlC: boolean;
13
- patchConsole: boolean;
14
- waitUntilExit?: () => Promise<void>;
15
- onFrame?: (event: FrameEvent) => void;
16
- };
17
- export default class Ink {
18
- private readonly options;
19
- private readonly log;
20
- private readonly terminal;
21
- private scheduleRender;
22
- private isUnmounted;
23
- private isPaused;
24
- private readonly container;
25
- private rootNode;
26
- readonly focusManager: FocusManager;
27
- private renderer;
28
- private readonly stylePool;
29
- private charPool;
30
- private hyperlinkPool;
31
- private exitPromise?;
32
- private restoreConsole?;
33
- private restoreStderr?;
34
- private readonly unsubscribeTTYHandlers?;
35
- private terminalColumns;
36
- private terminalRows;
37
- private currentNode;
38
- private frontFrame;
39
- private backFrame;
40
- private lastPoolResetTime;
41
- private drainTimer;
42
- private drainConsecutive;
43
- private drainTrace;
44
- private lastYogaCounters;
45
- private altScreenParkPatch;
46
- readonly selection: SelectionState;
47
- private searchHighlightQuery;
48
- private searchPositions;
49
- private readonly selectionListeners;
50
- private readonly hoveredNodes;
51
- private altScreenActive;
52
- private altScreenMouseTracking;
53
- private prevFrameContaminated;
54
- private needsEraseBeforePaint;
55
- private cursorDeclaration;
56
- private displayCursor;
57
- constructor(options: Options);
58
- private handleResume;
59
- private handleResize;
60
- resolveExitPromise: () => void;
61
- rejectExitPromise: (reason?: Error) => void;
62
- unsubscribeExit: () => void;
63
- /**
64
- * Pause Ink and hand the terminal over to an external TUI (e.g. git
65
- * commit editor). In non-fullscreen mode this enters the alt screen;
66
- * in fullscreen mode we're already in alt so we just clear it.
67
- * Call `exitAlternateScreen()` when done to restore Ink.
68
- */
69
- enterAlternateScreen(): void;
70
- /**
71
- * Resume Ink after an external TUI handoff with a full repaint.
72
- * In non-fullscreen mode this exits the alt screen back to main;
73
- * in fullscreen mode we re-enter alt and clear + repaint.
74
- *
75
- * The re-enter matters: terminal editors (vim, nano, less) write
76
- * smcup/rmcup (?1049h/?1049l), so even though we started in alt,
77
- * the editor's rmcup on exit drops us to main screen. Without
78
- * re-entering, the 2J below wipes the user's main-screen scrollback
79
- * and subsequent renders land in main — native terminal scroll
80
- * returns, fullscreen scroll is dead.
81
- */
82
- exitAlternateScreen(): void;
83
- /**
84
- * Walk the DOM tree looking for 'ink-static' nodes that have a pending
85
- * React element to flush. For each such node, render the element via
86
- * renderToScreen, convert the resulting Screen to an ANSI string, and
87
- * write it directly to stdout. Children are then detached from the node
88
- * so they don't appear in the next frame's cell buffer.
89
- *
90
- * Called at the start of onRender, before the main renderer runs, so the
91
- * diff engine never sees the static content.
92
- */
93
- private flushStaticNodes;
94
- onRender(): void;
95
- pause(): void;
96
- resume(): void;
97
- /**
98
- * Reset frame buffers so the next render writes the full screen from scratch.
99
- * Call this before resume() when the terminal content has been corrupted by
100
- * an external process (e.g. tmux, shell, full-screen TUI).
101
- */
102
- repaint(): void;
103
- /**
104
- * Clear the physical terminal and force a full redraw.
105
- *
106
- * The traditional readline ctrl+l — clears the visible screen and
107
- * redraws the current content. Also the recovery path when the terminal
108
- * was cleared externally (macOS Cmd+K) and Ink's diff engine thinks
109
- * unchanged cells don't need repainting.
110
- *
111
- * `clearScrollback`: also emit CSI 3J (ERASE_SCROLLBACK) so the terminal's
112
- * native scrollback buffer is wiped. Use at view-boundary transitions
113
- * where the previous frame's content is unrelated to the next (e.g.
114
- * switching from a sub-agent transcript back to main). Default false —
115
- * scrollback preservation matches readline ctrl+l semantics.
116
- */
117
- forceRedraw(options?: {
118
- clearScrollback?: boolean;
119
- }): void;
120
- /**
121
- * Mark the previous frame as untrustworthy for blit, forcing the next
122
- * render to do a full-damage diff instead of the per-node fast path.
123
- *
124
- * Lighter than forceRedraw() — no screen clear, no extra write. Call
125
- * from a useLayoutEffect cleanup when unmounting a tall overlay: the
126
- * blit fast path can copy stale cells from the overlay frame into rows
127
- * the shrunken layout no longer reaches, leaving a ghost title/divider.
128
- * onRender resets the flag at frame end so it's one-shot.
129
- */
130
- invalidatePrevFrame(): void;
131
- /**
132
- * Called by the <AlternateScreen> component on mount/unmount.
133
- * Controls cursor.y clamping in the renderer and gates alt-screen-aware
134
- * behavior in SIGCONT/resize/unmount handlers. Repaints on change so
135
- * the first alt-screen frame (and first main-screen frame on exit) is
136
- * a full redraw with no stale diff state.
137
- */
138
- setAltScreenActive(active: boolean, mouseTracking?: boolean): void;
139
- get isAltScreenActive(): boolean;
140
- /**
141
- * Re-assert terminal modes after a gap (>5s stdin silence or event-loop
142
- * stall). Catches tmux detach→attach, ssh reconnect, and laptop
143
- * sleep/wake — none of which send SIGCONT. The terminal may reset DEC
144
- * private modes on reconnect; this method restores them.
145
- *
146
- * Always re-asserts extended key reporting and mouse tracking. Mouse
147
- * tracking is idempotent (DEC private mode set-when-set is a no-op). The
148
- * Kitty keyboard protocol is NOT — CSI >1u is a stack push, so we pop
149
- * first to keep depth balanced (pop on empty stack is a no-op per spec,
150
- * so after a terminal reset this still restores depth 0→1). Without the
151
- * pop, each >5s idle gap adds a stack entry, and the single pop on exit
152
- * or suspend can't drain them — the shell is left in CSI u mode where
153
- * Ctrl+C/Ctrl+D leak as escape sequences. The alt-screen
154
- * re-entry (ERASE_SCREEN + frame reset) is NOT idempotent — it blanks the
155
- * screen — so it's opt-in via includeAltScreen. The stdin-gap caller fires
156
- * on ordinary >5s idle + keypress and must not erase; the event-loop stall
157
- * detector fires on genuine sleep/wake and opts in. tmux attach / ssh
158
- * reconnect typically send a resize, which already covers alt-screen via
159
- * handleResize.
160
- */
161
- reassertTerminalModes: (includeAltScreen?: boolean) => void;
162
- /**
163
- * Mark this instance as unmounted so future unmount() calls early-return.
164
- * Called by gracefulShutdown's cleanupTerminalModes() after it has sent
165
- * EXIT_ALT_SCREEN but before the remaining terminal-reset sequences.
166
- * Without this, signal-exit's deferred ink.unmount() (triggered by
167
- * process.exit()) runs the full unmount path: onRender() + writeSync
168
- * cleanup block + updateContainerSync → AlternateScreen unmount cleanup.
169
- * The result is 2-3 redundant EXIT_ALT_SCREEN sequences landing on the
170
- * main screen AFTER printResumeHint(), which tmux (at least) interprets
171
- * as restoring the saved cursor position — clobbering the resume hint.
172
- */
173
- detachForShutdown(): void;
174
- /** @see drainStdin */
175
- drainStdin(): void;
176
- /**
177
- * Re-enter alt-screen, clear, home, re-enable mouse tracking, and reset
178
- * frame buffers so the next render repaints from scratch. Self-heal for
179
- * SIGCONT, resize, and stdin-gap/event-loop-stall (sleep/wake) — any of
180
- * which can leave the terminal in main-screen mode while altScreenActive
181
- * stays true. ENTER_ALT_SCREEN is a terminal-side no-op if already in alt.
182
- */
183
- private reenterAltScreen;
184
- /**
185
- * Seed prev/back frames with full-size BLANK screens (rows×cols of empty
186
- * cells, not 0×0). In alt-screen mode, next.screen.height is always
187
- * terminalRows; if prev.screen.height is 0 (emptyFrame's default),
188
- * log-update sees heightDelta > 0 ('growing') and calls renderFrameSlice,
189
- * whose trailing per-row CR+LF at the last row scrolls the alt screen,
190
- * permanently desyncing the virtual and physical cursors by 1 row.
191
- *
192
- * With a rows×cols blank prev, heightDelta === 0 → standard diffEach
193
- * → moveCursorTo (CSI cursorMove, no LF, no scroll).
194
- *
195
- * viewport.height = rows + 1 matches the renderer's alt-screen output,
196
- * preventing a spurious resize trigger on the first frame. cursor.y = 0
197
- * matches the physical cursor after ENTER_ALT_SCREEN + CSI H (home).
198
- */
199
- private resetFramesForAltScreen;
200
- /**
201
- * Copy the current selection to the clipboard without clearing the
202
- * highlight. Matches iTerm2's copy-on-select behavior where the selected
203
- * region stays visible after the automatic copy.
204
- */
205
- copySelectionNoClear(): string;
206
- /**
207
- * Copy the current text selection to the system clipboard via OSC 52
208
- * and clear the selection. Returns the copied text (empty if no selection).
209
- */
210
- copySelection(): string;
211
- /** Clear the current text selection without copying. */
212
- clearTextSelection(): void;
213
- /**
214
- * Set the search highlight query. Non-empty → all visible occurrences
215
- * are inverted (SGR 7) on the next frame; first one also underlined.
216
- * Empty → clears (prevFrameContaminated handles the frame after). Same
217
- * damage-tracking machinery as selection — setCellStyleId doesn't track
218
- * damage, so the overlay forces full-frame damage while active.
219
- */
220
- setSearchHighlight(query: string): void;
221
- /** Paint an EXISTING DOM subtree to a fresh Screen at its natural
222
- * height, scan for query. Returns positions relative to the element's
223
- * bounding box (row 0 = element top).
224
- *
225
- * The element comes from the MAIN tree — built with all real
226
- * providers, yoga already computed. We paint it to a fresh buffer
227
- * with offsets so it lands at (0,0). Same paint path as the main
228
- * render. Zero drift. No second React root, no context bridge.
229
- *
230
- * ~1-2ms (paint only, no reconcile — the DOM is already built). */
231
- scanElementSubtree(el: dom.DOMElement): MatchPosition[];
232
- /** Set the position-based highlight state. Every frame, writes CURRENT
233
- * style at positions[currentIdx] + rowOffset. null clears. The scan-
234
- * highlight (inverse on all matches) still runs — this overlays yellow
235
- * on top. rowOffset changes as the user scrolls (= message's current
236
- * screen-top); positions stay stable (message-relative). */
237
- setSearchPositions(state: {
238
- positions: MatchPosition[];
239
- rowOffset: number;
240
- currentIdx: number;
241
- } | null): void;
242
- /**
243
- * Set the selection highlight background color. Replaces the per-cell
244
- * SGR-7 inverse with a solid theme-aware bg (matches native terminal
245
- * selection). Accepts the same color formats as Text backgroundColor
246
- * (rgb(), ansi:name, #hex, ansi256()) — colorize() routes through
247
- * chalk so the tmux/xterm.js level clamps in colorize.ts apply and
248
- * the emitted SGR is correct for the current terminal.
249
- *
250
- * Called by React-land once theme is known (ScrollKeybindingHandler's
251
- * useEffect watching useTheme). Before that call, withSelectionBg
252
- * falls back to withInverse so selection still renders on the first
253
- * frame; the effect fires before any mouse input so the fallback is
254
- * unobservable in practice.
255
- */
256
- setSelectionBgColor(color: string): void;
257
- /**
258
- * Capture text from rows about to scroll out of the viewport during
259
- * drag-to-scroll. Must be called BEFORE the ScrollBox scrolls so the
260
- * screen buffer still holds the outgoing content. Accumulated into
261
- * the selection state and joined back in by getSelectedText.
262
- */
263
- captureScrolledRows(firstRow: number, lastRow: number, side: 'above' | 'below'): void;
264
- /**
265
- * Shift anchor AND focus by dRow, clamped to [minRow, maxRow]. Used by
266
- * keyboard scroll handlers (PgUp/PgDn etc.) so the highlight tracks the
267
- * content instead of disappearing. Unlike shiftAnchor (drag-to-scroll),
268
- * this moves BOTH endpoints — the user isn't holding the mouse at one
269
- * edge. Supplies screen.width for the col-reset-on-clamp boundary.
270
- */
271
- shiftSelectionForScroll(dRow: number, minRow: number, maxRow: number): void;
272
- /**
273
- * Keyboard selection extension (shift+arrow/home/end). Moves focus;
274
- * anchor stays fixed so the highlight grows or shrinks relative to it.
275
- * Left/right wrap across row boundaries — native macOS text-edit
276
- * behavior: shift+left at col 0 wraps to end of the previous row.
277
- * Up/down clamp at viewport edges (no scroll-to-extend yet). Drops to
278
- * char mode. No-op outside alt-screen or without an active selection.
279
- */
280
- moveSelectionFocus(move: FocusMove): void;
281
- /** Whether there is an active text selection. */
282
- hasTextSelection(): boolean;
283
- /**
284
- * Subscribe to selection state changes. Fires whenever the selection
285
- * is started, updated, cleared, or copied. Returns an unsubscribe fn.
286
- */
287
- subscribeToSelectionChange(cb: () => void): () => void;
288
- private notifySelectionChange;
289
- private notifySelectionFinish;
290
- /**
291
- * Hit-test the rendered DOM tree at (col, row) and bubble a ClickEvent
292
- * from the deepest hit node up through ancestors with onClick handlers.
293
- * Returns true if a DOM handler consumed the click. Gated on
294
- * altScreenActive — clicks only make sense with a fixed viewport where
295
- * nodeCache rects map 1:1 to terminal cells (no scrollback offset).
296
- */
297
- dispatchClick(col: number, row: number): boolean;
298
- dispatchHover(col: number, row: number): void;
299
- dispatchKeyboardEvent(parsedKey: ParsedKey): void;
300
- /**
301
- * Look up the URL at (col, row) in the current front frame. Checks for
302
- * an OSC 8 hyperlink first, then falls back to scanning the row for a
303
- * plain-text URL (mouse tracking intercepts the terminal's native
304
- * Cmd+Click URL detection, so we replicate it). This is a pure lookup
305
- * with no side effects — call it synchronously at click time so the
306
- * result reflects the screen the user actually clicked on, then defer
307
- * the browser-open action via a timer.
308
- */
309
- getHyperlinkAt(col: number, row: number): string | undefined;
310
- /**
311
- * Optional callback fired when clicking an OSC 8 hyperlink in fullscreen
312
- * mode. Set by FullscreenLayout via useLayoutEffect.
313
- */
314
- onHyperlinkClick: ((url: string) => void) | undefined;
315
- /**
316
- * Stable prototype wrapper for onHyperlinkClick. Passed to <App> as
317
- * onOpenHyperlink so the prop is a bound method (autoBind'd) that reads
318
- * the mutable field at call time — not the undefined-at-render value.
319
- */
320
- openHyperlink(url: string): void;
321
- /**
322
- * Handle a double- or triple-click at (col, row): select the word or
323
- * line under the cursor by reading the current screen buffer. Called on
324
- * PRESS (not release) so the highlight appears immediately and drag can
325
- * extend the selection word-by-word / line-by-line. Falls back to
326
- * char-mode startSelection if the click lands on a noSelect cell.
327
- */
328
- handleMultiClick(col: number, row: number, count: 2 | 3): void;
329
- /**
330
- * Handle a drag-motion at (col, row). In char mode updates focus to the
331
- * exact cell. In word/line mode snaps to word/line boundaries so the
332
- * selection extends by word/line like native macOS. Gated on
333
- * altScreenActive for the same reason as dispatchClick.
334
- */
335
- handleSelectionDrag(col: number, row: number): void;
336
- private stdinListeners;
337
- private wasRawMode;
338
- suspendStdin(): void;
339
- resumeStdin(): void;
340
- private writeRaw;
341
- private setCursorDeclaration;
342
- render(node: ReactNode): void;
343
- unmount(error?: Error | number | null): void;
344
- waitUntilExit(): Promise<void>;
345
- resetLineCount(): void;
346
- /**
347
- * Replace char/hyperlink pools with fresh instances to prevent unbounded
348
- * growth during long sessions. Migrates the front frame's screen IDs into
349
- * the new pools so diffing remains correct. The back frame doesn't need
350
- * migration — resetScreen zeros it before any reads.
351
- *
352
- * Call between conversation turns or periodically.
353
- */
354
- resetPools(): void;
355
- patchConsole(): () => void;
356
- /**
357
- * Intercept process.stderr.write so stray writes (config.ts, hooks.ts,
358
- * third-party deps) don't corrupt the alt-screen buffer. patchConsole only
359
- * hooks console.* methods — direct stderr writes bypass it, land at the
360
- * parked cursor, scroll the alt-screen, and desync frontFrame from the
361
- * physical terminal. Next diff writes only changed-in-React cells at
362
- * absolute coords → interleaved garbage.
363
- *
364
- * Swallows the write (routes text to the debug log) and, in alt-screen,
365
- * forces a full-damage repaint as a defensive recovery. Not patching
366
- * process.stdout — Ink itself writes there.
367
- */
368
- private patchStderr;
369
- }
370
- /**
371
- * Discard pending stdin bytes so in-flight escape sequences (mouse tracking
372
- * reports, bracketed-paste markers) don't leak to the shell after exit.
373
- *
374
- * Two layers of trickiness:
375
- *
376
- * 1. setRawMode is termios, not fcntl — the stdin fd stays blocking, so
377
- * readSync on it would hang forever. Node doesn't expose fcntl, so we
378
- * open /dev/tty fresh with O_NONBLOCK (all fds to the controlling
379
- * terminal share one line-discipline input queue).
380
- *
381
- * 2. By the time forceExit calls this, detachForShutdown has already put
382
- * the TTY back in cooked (canonical) mode. Canonical mode line-buffers
383
- * input until newline, so O_NONBLOCK reads return EAGAIN even when
384
- * mouse bytes are sitting in the buffer. We briefly re-enter raw mode
385
- * so reads return any available bytes, then restore cooked mode.
386
- *
387
- * Safe to call multiple times. Call as LATE as possible in the exit path:
388
- * DISABLE_MOUSE_TRACKING has terminal round-trip latency, so events can
389
- * arrive for a few ms after it's written.
390
- */
391
- export declare function drainStdin(stdin?: NodeJS.ReadStream): void;
@@ -1,3 +0,0 @@
1
- import type Ink from './ink.js';
2
- declare const instances: Map<NodeJS.WriteStream, Ink>;
3
- export default instances;
@@ -1,2 +0,0 @@
1
- import type { LayoutNode } from './node.js';
2
- export declare function createLayoutNode(): LayoutNode;
@@ -1,30 +0,0 @@
1
- export type Point = {
2
- x: number;
3
- y: number;
4
- };
5
- export type Size = {
6
- width: number;
7
- height: number;
8
- };
9
- export type Rectangle = Point & Size;
10
- /** Edge insets (padding, margin, border) */
11
- export type Edges = {
12
- top: number;
13
- right: number;
14
- bottom: number;
15
- left: number;
16
- };
17
- /** Create uniform edges */
18
- export declare function edges(all: number): Edges;
19
- export declare function edges(vertical: number, horizontal: number): Edges;
20
- export declare function edges(top: number, right: number, bottom: number, left: number): Edges;
21
- /** Add two edge values */
22
- export declare function addEdges(a: Edges, b: Edges): Edges;
23
- /** Zero edges constant */
24
- export declare const ZERO_EDGES: Edges;
25
- /** Convert partial edges to full edges with defaults */
26
- export declare function resolveEdges(partial?: Partial<Edges>): Edges;
27
- export declare function unionRect(a: Rectangle, b: Rectangle): Rectangle;
28
- export declare function clampRect(rect: Rectangle, size: Size): Rectangle;
29
- export declare function withinBounds(size: Size, point: Point): boolean;
30
- export declare function clamp(value: number, min?: number, max?: number): number;
@@ -1,125 +0,0 @@
1
- export declare const LayoutEdge: {
2
- readonly All: "all";
3
- readonly Horizontal: "horizontal";
4
- readonly Vertical: "vertical";
5
- readonly Left: "left";
6
- readonly Right: "right";
7
- readonly Top: "top";
8
- readonly Bottom: "bottom";
9
- readonly Start: "start";
10
- readonly End: "end";
11
- };
12
- export type LayoutEdge = (typeof LayoutEdge)[keyof typeof LayoutEdge];
13
- export declare const LayoutGutter: {
14
- readonly All: "all";
15
- readonly Column: "column";
16
- readonly Row: "row";
17
- };
18
- export type LayoutGutter = (typeof LayoutGutter)[keyof typeof LayoutGutter];
19
- export declare const LayoutDisplay: {
20
- readonly Flex: "flex";
21
- readonly None: "none";
22
- };
23
- export type LayoutDisplay = (typeof LayoutDisplay)[keyof typeof LayoutDisplay];
24
- export declare const LayoutFlexDirection: {
25
- readonly Row: "row";
26
- readonly RowReverse: "row-reverse";
27
- readonly Column: "column";
28
- readonly ColumnReverse: "column-reverse";
29
- };
30
- export type LayoutFlexDirection = (typeof LayoutFlexDirection)[keyof typeof LayoutFlexDirection];
31
- export declare const LayoutAlign: {
32
- readonly Auto: "auto";
33
- readonly Stretch: "stretch";
34
- readonly FlexStart: "flex-start";
35
- readonly Center: "center";
36
- readonly FlexEnd: "flex-end";
37
- };
38
- export type LayoutAlign = (typeof LayoutAlign)[keyof typeof LayoutAlign];
39
- export declare const LayoutJustify: {
40
- readonly FlexStart: "flex-start";
41
- readonly Center: "center";
42
- readonly FlexEnd: "flex-end";
43
- readonly SpaceBetween: "space-between";
44
- readonly SpaceAround: "space-around";
45
- readonly SpaceEvenly: "space-evenly";
46
- };
47
- export type LayoutJustify = (typeof LayoutJustify)[keyof typeof LayoutJustify];
48
- export declare const LayoutWrap: {
49
- readonly NoWrap: "nowrap";
50
- readonly Wrap: "wrap";
51
- readonly WrapReverse: "wrap-reverse";
52
- };
53
- export type LayoutWrap = (typeof LayoutWrap)[keyof typeof LayoutWrap];
54
- export declare const LayoutPositionType: {
55
- readonly Relative: "relative";
56
- readonly Absolute: "absolute";
57
- };
58
- export type LayoutPositionType = (typeof LayoutPositionType)[keyof typeof LayoutPositionType];
59
- export declare const LayoutOverflow: {
60
- readonly Visible: "visible";
61
- readonly Hidden: "hidden";
62
- readonly Scroll: "scroll";
63
- };
64
- export type LayoutOverflow = (typeof LayoutOverflow)[keyof typeof LayoutOverflow];
65
- export type LayoutMeasureFunc = (width: number, widthMode: LayoutMeasureMode) => {
66
- width: number;
67
- height: number;
68
- };
69
- export declare const LayoutMeasureMode: {
70
- readonly Undefined: "undefined";
71
- readonly Exactly: "exactly";
72
- readonly AtMost: "at-most";
73
- };
74
- export type LayoutMeasureMode = (typeof LayoutMeasureMode)[keyof typeof LayoutMeasureMode];
75
- export type LayoutNode = {
76
- insertChild(child: LayoutNode, index: number): void;
77
- removeChild(child: LayoutNode): void;
78
- getChildCount(): number;
79
- getParent(): LayoutNode | null;
80
- calculateLayout(width?: number, height?: number): void;
81
- setMeasureFunc(fn: LayoutMeasureFunc): void;
82
- unsetMeasureFunc(): void;
83
- markDirty(): void;
84
- getComputedLeft(): number;
85
- getComputedTop(): number;
86
- getComputedWidth(): number;
87
- getComputedHeight(): number;
88
- getComputedBorder(edge: LayoutEdge): number;
89
- getComputedPadding(edge: LayoutEdge): number;
90
- setWidth(value: number): void;
91
- setWidthPercent(value: number): void;
92
- setWidthAuto(): void;
93
- setHeight(value: number): void;
94
- setHeightPercent(value: number): void;
95
- setHeightAuto(): void;
96
- setMinWidth(value: number): void;
97
- setMinWidthPercent(value: number): void;
98
- setMinHeight(value: number): void;
99
- setMinHeightPercent(value: number): void;
100
- setMaxWidth(value: number): void;
101
- setMaxWidthPercent(value: number): void;
102
- setMaxHeight(value: number): void;
103
- setMaxHeightPercent(value: number): void;
104
- setFlexDirection(dir: LayoutFlexDirection): void;
105
- setFlexGrow(value: number): void;
106
- setFlexShrink(value: number): void;
107
- setFlexBasis(value: number): void;
108
- setFlexBasisPercent(value: number): void;
109
- setFlexWrap(wrap: LayoutWrap): void;
110
- setAlignItems(align: LayoutAlign): void;
111
- setAlignSelf(align: LayoutAlign): void;
112
- setJustifyContent(justify: LayoutJustify): void;
113
- setDisplay(display: LayoutDisplay): void;
114
- getDisplay(): LayoutDisplay;
115
- setPositionType(type: LayoutPositionType): void;
116
- setPosition(edge: LayoutEdge, value: number): void;
117
- setPositionPercent(edge: LayoutEdge, value: number): void;
118
- setOverflow(overflow: LayoutOverflow): void;
119
- setMargin(edge: LayoutEdge, value: number): void;
120
- setPadding(edge: LayoutEdge, value: number): void;
121
- setBorder(edge: LayoutEdge, value: number): void;
122
- setGap(gutter: LayoutGutter, value: number): void;
123
- free(): void;
124
- freeRecursive(): void;
125
- };
@@ -1,56 +0,0 @@
1
- import { type Node as YogaNode } from 'src/native-ts/yoga-layout/index.js';
2
- import { type LayoutAlign, LayoutDisplay, type LayoutEdge, type LayoutFlexDirection, type LayoutGutter, type LayoutJustify, type LayoutMeasureFunc, type LayoutNode, type LayoutOverflow, type LayoutPositionType, type LayoutWrap } from './node.js';
3
- export declare class YogaLayoutNode implements LayoutNode {
4
- readonly yoga: YogaNode;
5
- constructor(yoga: YogaNode);
6
- insertChild(child: LayoutNode, index: number): void;
7
- removeChild(child: LayoutNode): void;
8
- getChildCount(): number;
9
- getParent(): LayoutNode | null;
10
- calculateLayout(width?: number, _height?: number): void;
11
- setMeasureFunc(fn: LayoutMeasureFunc): void;
12
- unsetMeasureFunc(): void;
13
- markDirty(): void;
14
- getComputedLeft(): number;
15
- getComputedTop(): number;
16
- getComputedWidth(): number;
17
- getComputedHeight(): number;
18
- getComputedBorder(edge: LayoutEdge): number;
19
- getComputedPadding(edge: LayoutEdge): number;
20
- setWidth(value: number): void;
21
- setWidthPercent(value: number): void;
22
- setWidthAuto(): void;
23
- setHeight(value: number): void;
24
- setHeightPercent(value: number): void;
25
- setHeightAuto(): void;
26
- setMinWidth(value: number): void;
27
- setMinWidthPercent(value: number): void;
28
- setMinHeight(value: number): void;
29
- setMinHeightPercent(value: number): void;
30
- setMaxWidth(value: number): void;
31
- setMaxWidthPercent(value: number): void;
32
- setMaxHeight(value: number): void;
33
- setMaxHeightPercent(value: number): void;
34
- setFlexDirection(dir: LayoutFlexDirection): void;
35
- setFlexGrow(value: number): void;
36
- setFlexShrink(value: number): void;
37
- setFlexBasis(value: number): void;
38
- setFlexBasisPercent(value: number): void;
39
- setFlexWrap(wrap: LayoutWrap): void;
40
- setAlignItems(align: LayoutAlign): void;
41
- setAlignSelf(align: LayoutAlign): void;
42
- setJustifyContent(justify: LayoutJustify): void;
43
- setDisplay(display: LayoutDisplay): void;
44
- getDisplay(): LayoutDisplay;
45
- setPositionType(type: LayoutPositionType): void;
46
- setPosition(edge: LayoutEdge, value: number): void;
47
- setPositionPercent(edge: LayoutEdge, value: number): void;
48
- setOverflow(overflow: LayoutOverflow): void;
49
- setMargin(edge: LayoutEdge, value: number): void;
50
- setPadding(edge: LayoutEdge, value: number): void;
51
- setBorder(edge: LayoutEdge, value: number): void;
52
- setGap(gutter: LayoutGutter, value: number): void;
53
- free(): void;
54
- freeRecursive(): void;
55
- }
56
- export declare function createYogaLayoutNode(): LayoutNode;
@@ -1 +0,0 @@
1
- export declare function lineWidth(line: string): number;