@cjhyy/code-shell 0.1.0-alpha.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/CHANGELOG.md +109 -0
- package/LICENSE +21 -0
- package/README.md +177 -0
- package/dist/agent/coordinator.d.ts +49 -0
- package/dist/anthropic-NENYS535.js +9 -0
- package/dist/anthropic-XMTTVNSH.cjs +9 -0
- package/dist/arena/arena.d.ts +43 -0
- package/dist/arena/context/context-tools.d.ts +16 -0
- package/dist/arena/detect-mode.d.ts +20 -0
- package/dist/arena/digest-builder.d.ts +25 -0
- package/dist/arena/index.cjs +103 -0
- package/dist/arena/index.d.ts +29 -0
- package/dist/arena/index.js +103 -0
- package/dist/arena/iterate/convergence.d.ts +25 -0
- package/dist/arena/iterate/formats/index.d.ts +22 -0
- package/dist/arena/iterate/index.d.ts +11 -0
- package/dist/arena/iterate/iterative-arena.d.ts +23 -0
- package/dist/arena/iterate/parse.d.ts +42 -0
- package/dist/arena/iterate/phases/argue.d.ts +22 -0
- package/dist/arena/iterate/phases/revise.d.ts +16 -0
- package/dist/arena/iterate/phases/tournament.d.ts +34 -0
- package/dist/arena/iterate/tools/web-tools.d.ts +13 -0
- package/dist/arena/iterate/types.d.ts +152 -0
- package/dist/arena/ledger.d.ts +47 -0
- package/dist/arena/lenses/architecture.d.ts +5 -0
- package/dist/arena/lenses/engineering.d.ts +5 -0
- package/dist/arena/lenses/general.d.ts +5 -0
- package/dist/arena/lenses/index.d.ts +16 -0
- package/dist/arena/lenses/product.d.ts +5 -0
- package/dist/arena/model-presets.d.ts +14 -0
- package/dist/arena/phases/adjudication.d.ts +24 -0
- package/dist/arena/phases/build-consensus.d.ts +29 -0
- package/dist/arena/phases/claim-registry.d.ts +26 -0
- package/dist/arena/phases/cross-review.d.ts +45 -0
- package/dist/arena/phases/debate-rounds.d.ts +27 -0
- package/dist/arena/phases/participant-research.d.ts +38 -0
- package/dist/arena/phases/planning-detail-expansion.d.ts +38 -0
- package/dist/arena/planner.d.ts +27 -0
- package/dist/arena/providers/docs.d.ts +6 -0
- package/dist/arena/providers/git.d.ts +8 -0
- package/dist/arena/providers/index.d.ts +16 -0
- package/dist/arena/providers/none.d.ts +7 -0
- package/dist/arena/providers/repo.d.ts +6 -0
- package/dist/arena/render/session.d.ts +17 -0
- package/dist/arena/render/terminal.d.ts +33 -0
- package/dist/arena/strategies/discussion.d.ts +25 -0
- package/dist/arena/strategies/index.d.ts +15 -0
- package/dist/arena/strategies/language-wrapper.d.ts +17 -0
- package/dist/arena/strategies/lens-wrapper.d.ts +16 -0
- package/dist/arena/strategies/planning.d.ts +30 -0
- package/dist/arena/strategies/review.d.ts +26 -0
- package/dist/arena/strategies/utils.d.ts +34 -0
- package/dist/arena/tools/selector.d.ts +17 -0
- package/dist/arena/transitions.d.ts +48 -0
- package/dist/arena/types.d.ts +499 -0
- package/dist/arena-46QQ6BZQ.js +261 -0
- package/dist/arena-HZZZ2GJH.cjs +261 -0
- package/dist/bootstrap/setup.d.ts +14 -0
- package/dist/bootstrap/state.d.ts +160 -0
- package/dist/bridge-4ZRXVWBN.js +98 -0
- package/dist/bridge-W476QDFH.cjs +98 -0
- package/dist/chunk-3EAEC566.cjs +136 -0
- package/dist/chunk-3EUDE77E.cjs +1252 -0
- package/dist/chunk-3QR52LL5.cjs +105 -0
- package/dist/chunk-4PKZPFCD.js +136 -0
- package/dist/chunk-4RRUP4MM.js +86 -0
- package/dist/chunk-4SFPFHMG.js +132 -0
- package/dist/chunk-5LHVI777.cjs +246 -0
- package/dist/chunk-6JOOLG6F.js +104 -0
- package/dist/chunk-6ZIROYXX.js +207 -0
- package/dist/chunk-7RMAR2Y3.js +6511 -0
- package/dist/chunk-BE6IPRDM.js +224 -0
- package/dist/chunk-BHGIJ2DJ.js +41 -0
- package/dist/chunk-BMH65OVB.cjs +224 -0
- package/dist/chunk-C7JBCO5V.js +80 -0
- package/dist/chunk-CSO5EOEP.cjs +132 -0
- package/dist/chunk-DI7RDLOS.js +47 -0
- package/dist/chunk-DICG4AB7.cjs +73 -0
- package/dist/chunk-EL2RL5DG.cjs +101 -0
- package/dist/chunk-FGZGCFJX.cjs +207 -0
- package/dist/chunk-FUOKLKR2.js +101 -0
- package/dist/chunk-FVP7XJGS.cjs +4577 -0
- package/dist/chunk-HD7MT5XU.cjs +86 -0
- package/dist/chunk-IJSHQGMP.cjs +45 -0
- package/dist/chunk-IMMTBZ33.cjs +63 -0
- package/dist/chunk-J5XW6UYL.js +291 -0
- package/dist/chunk-JT2WSQSR.cjs +335 -0
- package/dist/chunk-KO2FPF7G.js +93 -0
- package/dist/chunk-LRAY5IYC.cjs +291 -0
- package/dist/chunk-NG73UR3L.cjs +285 -0
- package/dist/chunk-NZ4DQ72D.cjs +664 -0
- package/dist/chunk-O6F2EF2Z.js +73 -0
- package/dist/chunk-OG4MIQJ6.js +335 -0
- package/dist/chunk-QHDYFC5U.cjs +6511 -0
- package/dist/chunk-R32DJSJE.cjs +41 -0
- package/dist/chunk-S74VVJBF.js +285 -0
- package/dist/chunk-SK62UVS6.js +105 -0
- package/dist/chunk-SQZHPD3S.js +4577 -0
- package/dist/chunk-UK2SU23S.cjs +93 -0
- package/dist/chunk-VKGNCYRL.js +258 -0
- package/dist/chunk-WFQF3RT4.cjs +104 -0
- package/dist/chunk-WHRTARDJ.cjs +258 -0
- package/dist/chunk-WRZJUQ5Z.js +664 -0
- package/dist/chunk-X4HAERTQ.js +63 -0
- package/dist/chunk-XHC2JMEC.cjs +80 -0
- package/dist/chunk-YZ25SSWJ.js +222 -0
- package/dist/chunk-ZJV3YSY3.cjs +222 -0
- package/dist/chunk-ZRSSGYA5.js +246 -0
- package/dist/chunk-ZXYDDJEJ.js +1252 -0
- package/dist/cli/commands/arena.d.ts +29 -0
- package/dist/cli/commands/builtin/advanced-commands.d.ts +5 -0
- package/dist/cli/commands/builtin/core-commands.d.ts +5 -0
- package/dist/cli/commands/builtin/extra-commands.d.ts +6 -0
- package/dist/cli/commands/builtin/git-commands.d.ts +5 -0
- package/dist/cli/commands/builtin/more-commands.d.ts +7 -0
- package/dist/cli/commands/builtin/permissions-command.d.ts +5 -0
- package/dist/cli/commands/builtin/utility-commands.d.ts +5 -0
- package/dist/cli/commands/registry.d.ts +64 -0
- package/dist/cli/commands/repl.d.ts +21 -0
- package/dist/cli/commands/run.d.ts +21 -0
- package/dist/cli/commands/runs.d.ts +14 -0
- package/dist/cli/cost-tracker.d.ts +57 -0
- package/dist/cli/exit.d.ts +12 -0
- package/dist/cli/input/ndjson-reader.d.ts +31 -0
- package/dist/cli/input-compiler.d.ts +5 -0
- package/dist/cli/main.cjs +19674 -0
- package/dist/cli/main.d.ts +5 -0
- package/dist/cli/main.js +19674 -0
- package/dist/cli/onboarding.d.ts +26 -0
- package/dist/cli/output/renderer.d.ts +28 -0
- package/dist/cli/output/terminal-ui.d.ts +50 -0
- package/dist/cli/updater.d.ts +10 -0
- package/dist/compaction-44I55TLI.cjs +32 -0
- package/dist/compaction-CCHWA4G6.js +32 -0
- package/dist/context/compaction.d.ts +83 -0
- package/dist/context/manager.d.ts +99 -0
- package/dist/context/token-counter.d.ts +27 -0
- package/dist/coordinator-5HY7ALO2.js +7 -0
- package/dist/coordinator-INDLPVMF.cjs +7 -0
- package/dist/cost-tracker-IWYAUPXH.js +9 -0
- package/dist/cost-tracker-JXTJQQWE.cjs +9 -0
- package/dist/cron/scheduler.d.ts +34 -0
- package/dist/devtools-KIY3LWQJ.js +6 -0
- package/dist/devtools-LRP47DDV.cjs +6 -0
- package/dist/engine/cost-store.d.ts +22 -0
- package/dist/engine/engine.d.ts +101 -0
- package/dist/engine/model-facade.d.ts +24 -0
- package/dist/engine/query.d.ts +50 -0
- package/dist/engine/streaming-tool-queue.d.ts +34 -0
- package/dist/engine/token-budget.d.ts +22 -0
- package/dist/engine/tool-summary.d.ts +13 -0
- package/dist/engine/turn-loop.d.ts +62 -0
- package/dist/engine/turn-state.d.ts +14 -0
- package/dist/exceptions.d.ts +44 -0
- package/dist/file-history-HZWO2WQ5.js +7 -0
- package/dist/file-history-UQQILIY7.cjs +7 -0
- package/dist/git/utils.d.ts +35 -0
- package/dist/git/worktree.d.ts +36 -0
- package/dist/hooks/events.d.ts +35 -0
- package/dist/hooks/registry.d.ts +15 -0
- package/dist/index.cjs +336 -0
- package/dist/index.d.ts +64 -0
- package/dist/index.js +336 -0
- package/dist/ink/Ansi.d.ts +10 -0
- package/dist/ink/bidi.d.ts +15 -0
- package/dist/ink/clearTerminal.d.ts +13 -0
- package/dist/ink/colorize.d.ts +16 -0
- package/dist/ink/components/AlternateScreen.d.ts +21 -0
- package/dist/ink/components/App.d.ts +70 -0
- package/dist/ink/components/AppContext.d.ts +11 -0
- package/dist/ink/components/Box.d.ts +49 -0
- package/dist/ink/components/Button.d.ts +36 -0
- package/dist/ink/components/ClockContext.d.ts +9 -0
- package/dist/ink/components/CursorDeclarationContext.d.ts +22 -0
- package/dist/ink/components/ErrorOverview.d.ts +5 -0
- package/dist/ink/components/Link.d.ts +7 -0
- package/dist/ink/components/Newline.d.ts +12 -0
- package/dist/ink/components/NoSelect.d.ts +19 -0
- package/dist/ink/components/RawAnsi.d.ts +16 -0
- package/dist/ink/components/ScrollBox.d.ts +78 -0
- package/dist/ink/components/Spacer.d.ts +5 -0
- package/dist/ink/components/StdinContext.d.ts +27 -0
- package/dist/ink/components/TerminalFocusContext.d.ts +10 -0
- package/dist/ink/components/TerminalSizeContext.d.ts +5 -0
- package/dist/ink/components/Text.d.ts +55 -0
- package/dist/ink/constants.d.ts +1 -0
- package/dist/ink/cursor.d.ts +8 -0
- package/dist/ink/devtools.d.ts +5 -0
- package/dist/ink/dom.d.ts +76 -0
- package/dist/ink/events/click-event.d.ts +31 -0
- package/dist/ink/events/dispatcher.d.ts +40 -0
- package/dist/ink/events/emitter.d.ts +5 -0
- package/dist/ink/events/event-handlers.d.ts +46 -0
- package/dist/ink/events/event.d.ts +5 -0
- package/dist/ink/events/focus-event.d.ts +13 -0
- package/dist/ink/events/input-event.d.ts +30 -0
- package/dist/ink/events/keyboard-event.d.ts +19 -0
- package/dist/ink/events/paste-event.d.ts +8 -0
- package/dist/ink/events/resize-event.d.ts +9 -0
- package/dist/ink/events/terminal-event.d.ts +54 -0
- package/dist/ink/events/terminal-focus-event.d.ts +13 -0
- package/dist/ink/focus.d.ts +43 -0
- package/dist/ink/frame.d.ts +94 -0
- package/dist/ink/get-max-width.d.ts +17 -0
- package/dist/ink/hit-test.d.ts +33 -0
- package/dist/ink/hooks/use-animation-frame.d.ts +26 -0
- package/dist/ink/hooks/use-app.d.ts +5 -0
- package/dist/ink/hooks/use-declared-cursor.d.ts +26 -0
- package/dist/ink/hooks/use-input.d.ts +37 -0
- package/dist/ink/hooks/use-interval.d.ts +18 -0
- package/dist/ink/hooks/use-search-highlight.d.ts +30 -0
- package/dist/ink/hooks/use-selection.d.ts +39 -0
- package/dist/ink/hooks/use-stdin.d.ts +5 -0
- package/dist/ink/hooks/use-tab-status.d.ts +13 -0
- package/dist/ink/hooks/use-terminal-focus.d.ts +10 -0
- package/dist/ink/hooks/use-terminal-title.d.ts +12 -0
- package/dist/ink/hooks/use-terminal-viewport.d.ts +29 -0
- package/dist/ink/index.d.ts +20 -0
- package/dist/ink/ink.d.ts +369 -0
- package/dist/ink/instances.d.ts +3 -0
- package/dist/ink/layout/engine.d.ts +2 -0
- package/dist/ink/layout/geometry.d.ts +30 -0
- package/dist/ink/layout/node.d.ts +125 -0
- package/dist/ink/layout/yoga.d.ts +56 -0
- package/dist/ink/line-width-cache.d.ts +1 -0
- package/dist/ink/log-update.d.ts +17 -0
- package/dist/ink/measure-element.d.ts +16 -0
- package/dist/ink/measure-text.d.ts +6 -0
- package/dist/ink/node-cache.d.ts +20 -0
- package/dist/ink/optimizer.d.ts +15 -0
- package/dist/ink/output.d.ts +119 -0
- package/dist/ink/parse-keypress.d.ts +111 -0
- package/dist/ink/reconciler.d.ts +11 -0
- package/dist/ink/render-border.d.ts +24 -0
- package/dist/ink/render-node-to-output.d.ts +45 -0
- package/dist/ink/render-to-screen.d.ts +46 -0
- package/dist/ink/renderer.d.ts +14 -0
- package/dist/ink/root.d.ts +74 -0
- package/dist/ink/screen.d.ts +269 -0
- package/dist/ink/searchHighlight.d.ts +20 -0
- package/dist/ink/selection.d.ts +229 -0
- package/dist/ink/squash-text-nodes.d.ts +22 -0
- package/dist/ink/stringWidth.d.ts +1 -0
- package/dist/ink/styles.d.ts +306 -0
- package/dist/ink/supports-hyperlinks.d.ts +13 -0
- package/dist/ink/tabstops.d.ts +1 -0
- package/dist/ink/terminal-focus-state.d.ts +6 -0
- package/dist/ink/terminal-querier.d.ts +129 -0
- package/dist/ink/terminal.d.ts +46 -0
- package/dist/ink/termio/ansi.d.ts +65 -0
- package/dist/ink/termio/csi.d.ts +165 -0
- package/dist/ink/termio/dec.d.ts +37 -0
- package/dist/ink/termio/esc.d.ts +12 -0
- package/dist/ink/termio/osc.d.ts +173 -0
- package/dist/ink/termio/parser.d.ts +35 -0
- package/dist/ink/termio/sgr.d.ts +8 -0
- package/dist/ink/termio/tokenize.d.ts +45 -0
- package/dist/ink/termio/types.d.ts +190 -0
- package/dist/ink/termio.d.ts +24 -0
- package/dist/ink/useTerminalNotification.d.ts +28 -0
- package/dist/ink/warn.d.ts +1 -0
- package/dist/ink/widest-line.d.ts +1 -0
- package/dist/ink/wrap-text.d.ts +2 -0
- package/dist/ink/wrapAnsi.d.ts +7 -0
- package/dist/llm/client-base.d.ts +22 -0
- package/dist/llm/client-factory.d.ts +10 -0
- package/dist/llm/model-pool.d.ts +60 -0
- package/dist/llm/providers/anthropic.d.ts +19 -0
- package/dist/llm/providers/openai.d.ts +19 -0
- package/dist/llm/types.d.ts +21 -0
- package/dist/loader-DXFSUB4R.cjs +91 -0
- package/dist/loader-J5UID6CV.js +91 -0
- package/dist/logging/logger.d.ts +19 -0
- package/dist/lsp/client.d.ts +41 -0
- package/dist/lsp/manager.d.ts +40 -0
- package/dist/lsp/servers.d.ts +16 -0
- package/dist/manager-ETWDOCHN.cjs +9 -0
- package/dist/manager-HGMQNEJB.cjs +11 -0
- package/dist/manager-HUAQOORS.js +9 -0
- package/dist/manager-VJIZ2CQC.js +11 -0
- package/dist/mcp-manager-G4G2QASE.cjs +8 -0
- package/dist/mcp-manager-OKXHHWYR.js +8 -0
- package/dist/memory-AP747G5H.js +7 -0
- package/dist/memory-BH3BYUN5.cjs +7 -0
- package/dist/native-ts/yoga-layout/enums.d.ts +117 -0
- package/dist/native-ts/yoga-layout/index.d.ts +270 -0
- package/dist/onboarding-6WEPV7C2.js +11 -0
- package/dist/onboarding-QM5DY2TU.cjs +11 -0
- package/dist/openai-5HQGBL4L.js +9 -0
- package/dist/openai-656VWUQW.cjs +9 -0
- package/dist/plugins/loader.d.ts +72 -0
- package/dist/plugins/types.d.ts +4 -0
- package/dist/preset/index.d.ts +60 -0
- package/dist/product/define.d.ts +60 -0
- package/dist/product/index.cjs +23 -0
- package/dist/product/index.d.ts +5 -0
- package/dist/product/index.js +23 -0
- package/dist/product/types.d.ts +116 -0
- package/dist/prompt/composer.d.ts +42 -0
- package/dist/prompt/instruction-scanner.d.ts +54 -0
- package/dist/prompt/section-cache.d.ts +15 -0
- package/dist/prompt/section-loader.d.ts +26 -0
- package/dist/protocol/client.d.ts +64 -0
- package/dist/protocol/index.d.ts +4 -0
- package/dist/protocol/server.d.ts +49 -0
- package/dist/protocol/transport.d.ts +36 -0
- package/dist/protocol/types.d.ts +150 -0
- package/dist/react-compiler-runtime-shim.d.ts +1 -0
- package/dist/remote/bridge.d.ts +37 -0
- package/dist/run/ArtifactTracker.d.ts +38 -0
- package/dist/run/CheckpointWriter.d.ts +53 -0
- package/dist/run/EngineRunner.d.ts +70 -0
- package/dist/run/Evaluator.d.ts +56 -0
- package/dist/run/FileRunStore.d.ts +39 -0
- package/dist/run/Heartbeat.d.ts +54 -0
- package/dist/run/RunApprovalBackend.d.ts +53 -0
- package/dist/run/RunLock.d.ts +40 -0
- package/dist/run/RunManager.d.ts +76 -0
- package/dist/run/RunQueue.d.ts +27 -0
- package/dist/run/RunStore.d.ts +25 -0
- package/dist/run/factory.d.ts +57 -0
- package/dist/run/index.cjs +50 -0
- package/dist/run/index.d.ts +17 -0
- package/dist/run/index.js +50 -0
- package/dist/run/types.d.ts +136 -0
- package/dist/services/analytics.d.ts +29 -0
- package/dist/services/auto-dream.d.ts +35 -0
- package/dist/services/compact.d.ts +56 -0
- package/dist/services/diagnostics.d.ts +41 -0
- package/dist/services/extract-memories.d.ts +27 -0
- package/dist/services/index.d.ts +11 -0
- package/dist/services/notifier.d.ts +25 -0
- package/dist/services/oauth.d.ts +27 -0
- package/dist/services/session-memory.d.ts +37 -0
- package/dist/session/file-history.d.ts +41 -0
- package/dist/session/memory.d.ts +45 -0
- package/dist/session/session-manager.d.ts +23 -0
- package/dist/session/transcript.d.ts +39 -0
- package/dist/session-manager-JIIBCFTC.js +8 -0
- package/dist/session-manager-UQKB564H.cjs +8 -0
- package/dist/settings/manager.d.ts +27 -0
- package/dist/settings/schema.d.ts +676 -0
- package/dist/skills/index.d.ts +7 -0
- package/dist/skills/matcher.d.ts +21 -0
- package/dist/skills/scanner.d.ts +30 -0
- package/dist/skills-63RBYQRX.js +13 -0
- package/dist/skills-V3BPLW3D.cjs +13 -0
- package/dist/token-counter-CHAXW5O7.cjs +13 -0
- package/dist/token-counter-DSOZGZ5Q.js +13 -0
- package/dist/tool-summary-5P2GKRA4.cjs +31 -0
- package/dist/tool-summary-J2ICNMWP.js +31 -0
- package/dist/tool-system/builtin/agent.d.ts +35 -0
- package/dist/tool-system/builtin/arena.d.ts +18 -0
- package/dist/tool-system/builtin/ask-user.d.ts +12 -0
- package/dist/tool-system/builtin/bash.d.ts +6 -0
- package/dist/tool-system/builtin/brief.d.ts +6 -0
- package/dist/tool-system/builtin/config.d.ts +6 -0
- package/dist/tool-system/builtin/cron.d.ts +10 -0
- package/dist/tool-system/builtin/edit.d.ts +6 -0
- package/dist/tool-system/builtin/file-cache.d.ts +11 -0
- package/dist/tool-system/builtin/glob.d.ts +6 -0
- package/dist/tool-system/builtin/grep.d.ts +6 -0
- package/dist/tool-system/builtin/index.d.ts +10 -0
- package/dist/tool-system/builtin/lsp.d.ts +6 -0
- package/dist/tool-system/builtin/mcp-tools.d.ts +10 -0
- package/dist/tool-system/builtin/notebook-edit.d.ts +6 -0
- package/dist/tool-system/builtin/plan.d.ts +18 -0
- package/dist/tool-system/builtin/powershell.d.ts +6 -0
- package/dist/tool-system/builtin/read.d.ts +6 -0
- package/dist/tool-system/builtin/remote-trigger.d.ts +6 -0
- package/dist/tool-system/builtin/repl.d.ts +6 -0
- package/dist/tool-system/builtin/send-message.d.ts +6 -0
- package/dist/tool-system/builtin/skill.d.ts +6 -0
- package/dist/tool-system/builtin/sleep.d.ts +6 -0
- package/dist/tool-system/builtin/task.d.ts +51 -0
- package/dist/tool-system/builtin/tool-search.d.ts +12 -0
- package/dist/tool-system/builtin/web-fetch.d.ts +6 -0
- package/dist/tool-system/builtin/web-search.d.ts +6 -0
- package/dist/tool-system/builtin/worktree.d.ts +10 -0
- package/dist/tool-system/builtin/write.d.ts +6 -0
- package/dist/tool-system/executor.d.ts +25 -0
- package/dist/tool-system/mcp-manager.d.ts +50 -0
- package/dist/tool-system/permission.d.ts +69 -0
- package/dist/tool-system/registry.d.ts +24 -0
- package/dist/tool-system/validation.d.ts +5 -0
- package/dist/types.d.ts +260 -0
- package/dist/ui/App.d.ts +14 -0
- package/dist/ui/components/AgentBlock.d.ts +32 -0
- package/dist/ui/components/BabyHand.d.ts +1 -0
- package/dist/ui/components/Banner.d.ts +8 -0
- package/dist/ui/components/CodeBlock.d.ts +7 -0
- package/dist/ui/components/CommandInput.d.ts +13 -0
- package/dist/ui/components/ContextUsageBar.d.ts +7 -0
- package/dist/ui/components/DiffView.d.ts +6 -0
- package/dist/ui/components/DogLogo.d.ts +1 -0
- package/dist/ui/components/FullscreenLayout.d.ts +51 -0
- package/dist/ui/components/KunHead.d.ts +1 -0
- package/dist/ui/components/KunLogo.d.ts +1 -0
- package/dist/ui/components/MessageContent.d.ts +22 -0
- package/dist/ui/components/PermissionDialog.d.ts +8 -0
- package/dist/ui/components/PermissionPrompt.d.ts +8 -0
- package/dist/ui/components/ScrollView.d.ts +34 -0
- package/dist/ui/components/Spinner.d.ts +8 -0
- package/dist/ui/components/SpinnerWithVerb.d.ts +13 -0
- package/dist/ui/components/StatusLine.d.ts +22 -0
- package/dist/ui/components/StructuredDiff.d.ts +8 -0
- package/dist/ui/components/TaskList.d.ts +6 -0
- package/dist/ui/components/TextInput.d.ts +9 -0
- package/dist/ui/components/ThemedBox.d.ts +19 -0
- package/dist/ui/components/ThemedText.d.ts +26 -0
- package/dist/ui/components/ToolCall.d.ts +21 -0
- package/dist/ui/components/VirtualMessageList.d.ts +24 -0
- package/dist/ui/hooks/useCostSummary.d.ts +1 -0
- package/dist/ui/index.d.ts +12 -0
- package/dist/ui/input-history.d.ts +61 -0
- package/dist/ui/store.d.ts +82 -0
- package/dist/ui/terminal-renderer.d.ts +45 -0
- package/dist/ui/theme.d.ts +36 -0
- package/dist/ui/vim-mode.d.ts +25 -0
- package/dist/updater-AVD4LKTQ.js +183 -0
- package/dist/updater-URVNPDPW.cjs +183 -0
- package/dist/utils/debug.d.ts +57 -0
- package/dist/utils/earlyInput.d.ts +43 -0
- package/dist/utils/env.d.ts +24 -0
- package/dist/utils/envUtils.d.ts +51 -0
- package/dist/utils/execFileNoThrow.d.ts +39 -0
- package/dist/utils/format.d.ts +44 -0
- package/dist/utils/fullscreen.d.ts +47 -0
- package/dist/utils/intl.d.ts +22 -0
- package/dist/utils/lockfile.d.ts +15 -0
- package/dist/utils/log.d.ts +56 -0
- package/dist/utils/semver.d.ts +5 -0
- package/dist/utils/sliceAnsi.d.ts +12 -0
- package/dist/utils/systemTheme.d.ts +40 -0
- package/dist/utils/theme.d.ts +91 -0
- package/dist/utils/toolDisplay.d.ts +31 -0
- package/dist/utils/truncate.d.ts +40 -0
- package/dist/voice/index.d.ts +35 -0
- package/dist/voice-KTZ7PAGO.js +80 -0
- package/dist/voice-KZE25GKB.cjs +80 -0
- package/package.json +130 -0
package/dist/index.js
ADDED
|
@@ -0,0 +1,336 @@
|
|
|
1
|
+
import {
|
|
2
|
+
defineProduct
|
|
3
|
+
} from "./chunk-6JOOLG6F.js";
|
|
4
|
+
import {
|
|
5
|
+
createRunManager
|
|
6
|
+
} from "./chunk-BHGIJ2DJ.js";
|
|
7
|
+
import {
|
|
8
|
+
ArtifactTracker,
|
|
9
|
+
AutoApprovalBackend,
|
|
10
|
+
BUILTIN_AGENT_PRESETS,
|
|
11
|
+
BUILTIN_TOOLS,
|
|
12
|
+
CheckpointWriter,
|
|
13
|
+
CompositeEvaluator,
|
|
14
|
+
ContextManager,
|
|
15
|
+
DEFAULT_AGENT_PRESET,
|
|
16
|
+
DEFAULT_CLI_PRESET,
|
|
17
|
+
Engine,
|
|
18
|
+
EngineRunner,
|
|
19
|
+
FileRunStore,
|
|
20
|
+
HeadlessApprovalBackend,
|
|
21
|
+
Heartbeat,
|
|
22
|
+
HookRegistry,
|
|
23
|
+
NoopEvaluator,
|
|
24
|
+
PermissionClassifier,
|
|
25
|
+
PromptComposer,
|
|
26
|
+
RunApprovalBackend,
|
|
27
|
+
RunLock,
|
|
28
|
+
RunManager,
|
|
29
|
+
RunQueue,
|
|
30
|
+
SectionCache,
|
|
31
|
+
ToolExecutor,
|
|
32
|
+
ToolRegistry,
|
|
33
|
+
VALID_TRANSITIONS,
|
|
34
|
+
availableSections,
|
|
35
|
+
buildPresetSystemPrompt,
|
|
36
|
+
combineInstructions,
|
|
37
|
+
createRunAskUserFn,
|
|
38
|
+
listPresetNames,
|
|
39
|
+
loadSection,
|
|
40
|
+
loadSections,
|
|
41
|
+
registerPreset,
|
|
42
|
+
registerSection,
|
|
43
|
+
resolveAgentPreset,
|
|
44
|
+
resolveBuiltinToolNames,
|
|
45
|
+
scanInstructions,
|
|
46
|
+
taskManager
|
|
47
|
+
} from "./chunk-7RMAR2Y3.js";
|
|
48
|
+
import {
|
|
49
|
+
FileHistory
|
|
50
|
+
} from "./chunk-SK62UVS6.js";
|
|
51
|
+
import {
|
|
52
|
+
ModelPool
|
|
53
|
+
} from "./chunk-KO2FPF7G.js";
|
|
54
|
+
import {
|
|
55
|
+
SettingsManager,
|
|
56
|
+
SettingsSchema,
|
|
57
|
+
init_manager,
|
|
58
|
+
init_schema,
|
|
59
|
+
validateSettings
|
|
60
|
+
} from "./chunk-6ZIROYXX.js";
|
|
61
|
+
import "./chunk-OG4MIQJ6.js";
|
|
62
|
+
import {
|
|
63
|
+
MCPManager
|
|
64
|
+
} from "./chunk-BE6IPRDM.js";
|
|
65
|
+
import {
|
|
66
|
+
applySummaryCompaction,
|
|
67
|
+
buildSummarizationPrompt,
|
|
68
|
+
estimateTokens,
|
|
69
|
+
init_compaction,
|
|
70
|
+
microcompact,
|
|
71
|
+
truncateToolResult,
|
|
72
|
+
windowCompact
|
|
73
|
+
} from "./chunk-J5XW6UYL.js";
|
|
74
|
+
import "./chunk-4RRUP4MM.js";
|
|
75
|
+
import {
|
|
76
|
+
MemoryManager
|
|
77
|
+
} from "./chunk-4PKZPFCD.js";
|
|
78
|
+
import {
|
|
79
|
+
buildSkillListing,
|
|
80
|
+
matchSkillsByInput,
|
|
81
|
+
matchSkillsByTool,
|
|
82
|
+
scanSkills
|
|
83
|
+
} from "./chunk-4SFPFHMG.js";
|
|
84
|
+
import {
|
|
85
|
+
SessionManager,
|
|
86
|
+
Transcript
|
|
87
|
+
} from "./chunk-S74VVJBF.js";
|
|
88
|
+
import {
|
|
89
|
+
IterativeArena,
|
|
90
|
+
codeFormat,
|
|
91
|
+
defaultConvergence,
|
|
92
|
+
diffRatio,
|
|
93
|
+
documentFormat,
|
|
94
|
+
getFormat
|
|
95
|
+
} from "./chunk-ZXYDDJEJ.js";
|
|
96
|
+
import {
|
|
97
|
+
Arena,
|
|
98
|
+
ArenaLedger,
|
|
99
|
+
DiscussionStrategy,
|
|
100
|
+
MODEL_PRESETS,
|
|
101
|
+
PlanningStrategy,
|
|
102
|
+
ReviewStrategy,
|
|
103
|
+
applyReviewResult,
|
|
104
|
+
buildDigest,
|
|
105
|
+
collectEvidence,
|
|
106
|
+
createLLMClient,
|
|
107
|
+
formatDigest,
|
|
108
|
+
getMaxOutputTokens,
|
|
109
|
+
getStrategy,
|
|
110
|
+
getStrategyForPlan,
|
|
111
|
+
hasTools,
|
|
112
|
+
isTerminal,
|
|
113
|
+
markUnderReview,
|
|
114
|
+
markUnresolved,
|
|
115
|
+
planArena,
|
|
116
|
+
registerClaims,
|
|
117
|
+
registerProvider,
|
|
118
|
+
resolveClaimStatus,
|
|
119
|
+
selectClaimsForReview,
|
|
120
|
+
selectTools,
|
|
121
|
+
transitionClaim,
|
|
122
|
+
validTransitions
|
|
123
|
+
} from "./chunk-SQZHPD3S.js";
|
|
124
|
+
import {
|
|
125
|
+
logger
|
|
126
|
+
} from "./chunk-X4HAERTQ.js";
|
|
127
|
+
import {
|
|
128
|
+
AnthropicClient
|
|
129
|
+
} from "./chunk-YZ25SSWJ.js";
|
|
130
|
+
import {
|
|
131
|
+
OpenAIClient
|
|
132
|
+
} from "./chunk-VKGNCYRL.js";
|
|
133
|
+
import {
|
|
134
|
+
LLMClientBase
|
|
135
|
+
} from "./chunk-O6F2EF2Z.js";
|
|
136
|
+
import {
|
|
137
|
+
ConfigError,
|
|
138
|
+
ContextLimitError,
|
|
139
|
+
FrameworkError,
|
|
140
|
+
LLMError,
|
|
141
|
+
LLMRateLimitError,
|
|
142
|
+
PermissionDeniedError,
|
|
143
|
+
SessionError,
|
|
144
|
+
ToolError,
|
|
145
|
+
ToolExecutionError,
|
|
146
|
+
ToolNotFoundError,
|
|
147
|
+
ToolTimeoutError,
|
|
148
|
+
TranscriptError
|
|
149
|
+
} from "./chunk-FUOKLKR2.js";
|
|
150
|
+
import "./chunk-C7JBCO5V.js";
|
|
151
|
+
import {
|
|
152
|
+
init_esm_shims
|
|
153
|
+
} from "./chunk-DI7RDLOS.js";
|
|
154
|
+
|
|
155
|
+
// src/index.ts
|
|
156
|
+
init_esm_shims();
|
|
157
|
+
init_compaction();
|
|
158
|
+
|
|
159
|
+
// src/arena/detect-mode.ts
|
|
160
|
+
init_esm_shims();
|
|
161
|
+
var MODE_SIGNALS = {
|
|
162
|
+
review: [
|
|
163
|
+
{ patterns: [/\breview\b/i, /\baudit\b/i, /\binspect\b/i, /\bcheck\b/i], weight: 2 },
|
|
164
|
+
{ patterns: [/\bcode\s*quality\b/i, /\bbug\b/i, /\bvulnerab/i, /\bsecur/i] },
|
|
165
|
+
{ patterns: [/\bpr\b/i, /\bpull\s*request\b/i, /\bdiff\b/i, /\bchanges?\b/i] },
|
|
166
|
+
{ patterns: [/\brefactor/i, /\bclean\s*up\b/i, /\bimprove\b/i] }
|
|
167
|
+
],
|
|
168
|
+
discussion: [
|
|
169
|
+
{ patterns: [/\bdiscuss\b/i, /\bdebate\b/i, /\bcompare\b/i], weight: 2 },
|
|
170
|
+
{ patterns: [/\bpros?\s*(and|&|\/)\s*cons?\b/i, /\btrade\s*-?\s*offs?\b/i] },
|
|
171
|
+
{ patterns: [/\bshould\s+we\b/i, /\bwhich\s+(is|approach|way)\b/i, /\bvs\.?\b/i] },
|
|
172
|
+
{ patterns: [/\bopinion\b/i, /\bthoughts?\b/i, /\badvice\b/i] }
|
|
173
|
+
],
|
|
174
|
+
planning: [
|
|
175
|
+
{ patterns: [/\bplan\b/i, /\bplanning\b/i, /\broadmap\b/i, /\bstrategy\b/i], weight: 2 },
|
|
176
|
+
{ patterns: [/\barchitect/i, /\bdesign\b/i, /\bproposal\b/i] },
|
|
177
|
+
{ patterns: [/\bimplement(ation)?\s+(plan|strategy|approach)\b/i], weight: 2 },
|
|
178
|
+
{ patterns: [/\bphase\b/i, /\bmilestone\b/i, /\btimeline\b/i, /\bprioritiz/i] },
|
|
179
|
+
{ patterns: [/\bbuild\b/i, /\bcreate\b/i, /\bsetup\b/i, /\bbootstrap\b/i] }
|
|
180
|
+
]
|
|
181
|
+
};
|
|
182
|
+
var HIGH_CONFIDENCE_THRESHOLD = 3;
|
|
183
|
+
var MIN_LEAD = 2;
|
|
184
|
+
function detectArenaMode(topic) {
|
|
185
|
+
const scores = { review: 0, discussion: 0, planning: 0 };
|
|
186
|
+
for (const [mode, signals] of Object.entries(MODE_SIGNALS)) {
|
|
187
|
+
for (const signal of signals) {
|
|
188
|
+
const weight = signal.weight ?? 1;
|
|
189
|
+
for (const pattern of signal.patterns) {
|
|
190
|
+
if (pattern.test(topic)) {
|
|
191
|
+
scores[mode] += weight;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
const ranked = Object.entries(scores).sort((a, b) => b[1] - a[1]);
|
|
197
|
+
const [bestMode, bestScore] = ranked[0];
|
|
198
|
+
const [, runnerUpScore] = ranked[1];
|
|
199
|
+
const lead = bestScore - runnerUpScore;
|
|
200
|
+
if (bestScore >= HIGH_CONFIDENCE_THRESHOLD && lead >= MIN_LEAD) {
|
|
201
|
+
return {
|
|
202
|
+
mode: bestMode,
|
|
203
|
+
confidence: "high",
|
|
204
|
+
reason: `Topic strongly matches "${bestMode}" (score: ${bestScore}, lead: +${lead})`
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
if (bestScore > 0 && lead > 0) {
|
|
208
|
+
return {
|
|
209
|
+
mode: bestMode,
|
|
210
|
+
confidence: "low",
|
|
211
|
+
reason: `Topic weakly matches "${bestMode}" (score: ${bestScore}, lead: +${lead})`
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
return {
|
|
215
|
+
mode: "review",
|
|
216
|
+
confidence: "low",
|
|
217
|
+
reason: "No strong mode signal detected, defaulting to review"
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
// src/index.ts
|
|
222
|
+
init_manager();
|
|
223
|
+
init_schema();
|
|
224
|
+
var VERSION = "0.1.0";
|
|
225
|
+
export {
|
|
226
|
+
AnthropicClient,
|
|
227
|
+
Arena,
|
|
228
|
+
ArenaLedger,
|
|
229
|
+
ArtifactTracker,
|
|
230
|
+
AutoApprovalBackend,
|
|
231
|
+
BUILTIN_AGENT_PRESETS,
|
|
232
|
+
BUILTIN_TOOLS,
|
|
233
|
+
CheckpointWriter,
|
|
234
|
+
CompositeEvaluator,
|
|
235
|
+
ConfigError,
|
|
236
|
+
ContextLimitError,
|
|
237
|
+
ContextManager,
|
|
238
|
+
DEFAULT_AGENT_PRESET,
|
|
239
|
+
DEFAULT_CLI_PRESET,
|
|
240
|
+
DiscussionStrategy,
|
|
241
|
+
Engine,
|
|
242
|
+
EngineRunner,
|
|
243
|
+
FileHistory,
|
|
244
|
+
FileRunStore,
|
|
245
|
+
FrameworkError,
|
|
246
|
+
HeadlessApprovalBackend,
|
|
247
|
+
Heartbeat,
|
|
248
|
+
HookRegistry,
|
|
249
|
+
IterativeArena,
|
|
250
|
+
LLMClientBase,
|
|
251
|
+
LLMError,
|
|
252
|
+
LLMRateLimitError,
|
|
253
|
+
MCPManager,
|
|
254
|
+
MODEL_PRESETS,
|
|
255
|
+
MemoryManager,
|
|
256
|
+
ModelPool,
|
|
257
|
+
NoopEvaluator,
|
|
258
|
+
OpenAIClient,
|
|
259
|
+
PermissionClassifier,
|
|
260
|
+
PermissionDeniedError,
|
|
261
|
+
PlanningStrategy,
|
|
262
|
+
PromptComposer,
|
|
263
|
+
ReviewStrategy,
|
|
264
|
+
RunApprovalBackend,
|
|
265
|
+
RunLock,
|
|
266
|
+
RunManager,
|
|
267
|
+
RunQueue,
|
|
268
|
+
SectionCache,
|
|
269
|
+
SessionError,
|
|
270
|
+
SessionManager,
|
|
271
|
+
SettingsManager,
|
|
272
|
+
SettingsSchema,
|
|
273
|
+
ToolError,
|
|
274
|
+
ToolExecutionError,
|
|
275
|
+
ToolExecutor,
|
|
276
|
+
ToolNotFoundError,
|
|
277
|
+
ToolRegistry,
|
|
278
|
+
ToolTimeoutError,
|
|
279
|
+
Transcript,
|
|
280
|
+
TranscriptError,
|
|
281
|
+
VALID_TRANSITIONS,
|
|
282
|
+
VERSION,
|
|
283
|
+
applyReviewResult,
|
|
284
|
+
applySummaryCompaction,
|
|
285
|
+
availableSections,
|
|
286
|
+
buildDigest,
|
|
287
|
+
buildPresetSystemPrompt,
|
|
288
|
+
buildSkillListing,
|
|
289
|
+
buildSummarizationPrompt,
|
|
290
|
+
collectEvidence,
|
|
291
|
+
combineInstructions,
|
|
292
|
+
createLLMClient,
|
|
293
|
+
createRunAskUserFn,
|
|
294
|
+
createRunManager,
|
|
295
|
+
defaultConvergence as defaultIterateConvergence,
|
|
296
|
+
defineProduct,
|
|
297
|
+
detectArenaMode,
|
|
298
|
+
estimateTokens,
|
|
299
|
+
formatDigest,
|
|
300
|
+
getFormat as getIterateFormat,
|
|
301
|
+
getMaxOutputTokens,
|
|
302
|
+
getStrategy,
|
|
303
|
+
getStrategyForPlan,
|
|
304
|
+
hasTools,
|
|
305
|
+
isTerminal,
|
|
306
|
+
codeFormat as iterateCodeFormat,
|
|
307
|
+
diffRatio as iterateDiffRatio,
|
|
308
|
+
documentFormat as iterateDocumentFormat,
|
|
309
|
+
listPresetNames,
|
|
310
|
+
loadSection,
|
|
311
|
+
loadSections,
|
|
312
|
+
logger,
|
|
313
|
+
markUnderReview,
|
|
314
|
+
markUnresolved,
|
|
315
|
+
matchSkillsByInput,
|
|
316
|
+
matchSkillsByTool,
|
|
317
|
+
microcompact,
|
|
318
|
+
planArena,
|
|
319
|
+
registerClaims,
|
|
320
|
+
registerPreset,
|
|
321
|
+
registerProvider,
|
|
322
|
+
registerSection,
|
|
323
|
+
resolveAgentPreset,
|
|
324
|
+
resolveBuiltinToolNames,
|
|
325
|
+
resolveClaimStatus,
|
|
326
|
+
scanInstructions,
|
|
327
|
+
scanSkills,
|
|
328
|
+
selectClaimsForReview,
|
|
329
|
+
selectTools,
|
|
330
|
+
taskManager,
|
|
331
|
+
transitionClaim,
|
|
332
|
+
truncateToolResult,
|
|
333
|
+
validTransitions,
|
|
334
|
+
validateSettings,
|
|
335
|
+
windowCompact
|
|
336
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Component that parses ANSI escape codes and renders them using Text components.
|
|
4
|
+
*
|
|
5
|
+
* Use this as an escape hatch when you have pre-formatted ANSI strings from
|
|
6
|
+
* external tools (like cli-highlight) that need to be rendered in Ink.
|
|
7
|
+
*
|
|
8
|
+
* Memoized to prevent re-renders when parent changes but children string is the same.
|
|
9
|
+
*/
|
|
10
|
+
export declare const Ansi: React.NamedExoticComponent<object>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
type ClusteredChar = {
|
|
2
|
+
value: string;
|
|
3
|
+
width: number;
|
|
4
|
+
styleId: number;
|
|
5
|
+
hyperlink: string | undefined;
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* Reorder an array of ClusteredChars from logical order to visual order
|
|
9
|
+
* using the Unicode Bidi Algorithm. Active on terminals that lack native
|
|
10
|
+
* bidi support (Windows Terminal, conhost, WSL).
|
|
11
|
+
*
|
|
12
|
+
* Returns the same array on bidi-capable terminals (no-op).
|
|
13
|
+
*/
|
|
14
|
+
export declare function reorderBidi(characters: ClusteredChar[]): ClusteredChar[];
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cross-platform terminal clearing with scrollback support.
|
|
3
|
+
* Detects modern terminals that support ESC[3J for clearing scrollback.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Returns the ANSI escape sequence to clear the terminal including scrollback.
|
|
7
|
+
* Automatically detects terminal capabilities.
|
|
8
|
+
*/
|
|
9
|
+
export declare function getClearTerminalSequence(): string;
|
|
10
|
+
/**
|
|
11
|
+
* Clears the terminal screen. On supported terminals, also clears scrollback.
|
|
12
|
+
*/
|
|
13
|
+
export declare const clearTerminal: string;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Color, TextStyles } from './styles.js';
|
|
2
|
+
export declare const CHALK_BOOSTED_FOR_XTERMJS: boolean;
|
|
3
|
+
export declare const CHALK_CLAMPED_FOR_TMUX: boolean;
|
|
4
|
+
export type ColorType = 'foreground' | 'background';
|
|
5
|
+
export declare const colorize: (str: string, color: string | undefined, type: ColorType) => string;
|
|
6
|
+
/**
|
|
7
|
+
* Apply TextStyles to a string using chalk.
|
|
8
|
+
* This is the inverse of parsing ANSI codes - we generate them from structured styles.
|
|
9
|
+
* Theme resolution happens at component layer, not here.
|
|
10
|
+
*/
|
|
11
|
+
export declare function applyTextStyles(text: string, styles: TextStyles): string;
|
|
12
|
+
/**
|
|
13
|
+
* Apply a raw color value to text.
|
|
14
|
+
* Theme resolution should happen at component layer, not here.
|
|
15
|
+
*/
|
|
16
|
+
export declare function applyColor(text: string, color: Color | undefined): string;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Run children in the terminal's alternate screen buffer, constrained to
|
|
3
|
+
* the viewport height. While mounted:
|
|
4
|
+
*
|
|
5
|
+
* - Enters the alt screen (DEC 1049), clears it, homes the cursor
|
|
6
|
+
* - Constrains its own height to the terminal row count, so overflow must
|
|
7
|
+
* be handled via `overflow: scroll` / flexbox (no native scrollback)
|
|
8
|
+
* - Optionally enables SGR mouse tracking (wheel + click/drag) — events
|
|
9
|
+
* surface as `ParsedKey` (wheel) and update the Ink instance's
|
|
10
|
+
* selection state (click/drag)
|
|
11
|
+
*
|
|
12
|
+
* On unmount, disables mouse tracking and exits the alt screen, restoring
|
|
13
|
+
* the main screen's content. Safe for use in ctrl-o transcript overlays
|
|
14
|
+
* and similar temporary fullscreen views — the main screen is preserved.
|
|
15
|
+
*
|
|
16
|
+
* Notifies the Ink instance via `setAltScreenActive()` so the renderer
|
|
17
|
+
* keeps the cursor inside the viewport (preventing the cursor-restore LF
|
|
18
|
+
* from scrolling content) and so signal-exit cleanup can exit the alt
|
|
19
|
+
* screen if the component's own unmount doesn't run.
|
|
20
|
+
*/
|
|
21
|
+
export declare function AlternateScreen(t0: any): any;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { PureComponent, type ReactNode } from 'react';
|
|
2
|
+
import { EventEmitter } from '../events/emitter.js';
|
|
3
|
+
import { type ParsedKey, type ParsedMouse } from '../parse-keypress.js';
|
|
4
|
+
import { type SelectionState } from '../selection.js';
|
|
5
|
+
import { TerminalQuerier } from '../terminal-querier.js';
|
|
6
|
+
import { type CursorDeclarationSetter } from './CursorDeclarationContext.js';
|
|
7
|
+
type Props = {
|
|
8
|
+
readonly children: ReactNode;
|
|
9
|
+
readonly stdin: NodeJS.ReadStream;
|
|
10
|
+
readonly stdout: NodeJS.WriteStream;
|
|
11
|
+
readonly stderr: NodeJS.WriteStream;
|
|
12
|
+
readonly exitOnCtrlC: boolean;
|
|
13
|
+
readonly onExit: (error?: Error) => void;
|
|
14
|
+
readonly terminalColumns: number;
|
|
15
|
+
readonly terminalRows: number;
|
|
16
|
+
readonly selection: SelectionState;
|
|
17
|
+
readonly onSelectionChange: () => void;
|
|
18
|
+
readonly onClickAt: (col: number, row: number) => boolean;
|
|
19
|
+
readonly onHoverAt: (col: number, row: number) => void;
|
|
20
|
+
readonly getHyperlinkAt: (col: number, row: number) => string | undefined;
|
|
21
|
+
readonly onOpenHyperlink: (url: string) => void;
|
|
22
|
+
readonly onMultiClick: (col: number, row: number, count: 2 | 3) => void;
|
|
23
|
+
readonly onSelectionDrag: (col: number, row: number) => void;
|
|
24
|
+
readonly onStdinResume?: () => void;
|
|
25
|
+
readonly onCursorDeclaration?: CursorDeclarationSetter;
|
|
26
|
+
readonly dispatchKeyboardEvent: (parsedKey: ParsedKey) => void;
|
|
27
|
+
};
|
|
28
|
+
type State = {
|
|
29
|
+
readonly error?: Error;
|
|
30
|
+
};
|
|
31
|
+
export default class App extends PureComponent<Props, State> {
|
|
32
|
+
static displayName: string;
|
|
33
|
+
static getDerivedStateFromError(error: Error): {
|
|
34
|
+
error: Error;
|
|
35
|
+
};
|
|
36
|
+
state: {
|
|
37
|
+
error: undefined;
|
|
38
|
+
};
|
|
39
|
+
rawModeEnabledCount: number;
|
|
40
|
+
internal_eventEmitter: EventEmitter;
|
|
41
|
+
keyParseState: import("../parse-keypress.js").KeyParseState;
|
|
42
|
+
incompleteEscapeTimer: NodeJS.Timeout | null;
|
|
43
|
+
readonly NORMAL_TIMEOUT = 50;
|
|
44
|
+
readonly PASTE_TIMEOUT = 500;
|
|
45
|
+
querier: TerminalQuerier;
|
|
46
|
+
lastClickTime: number;
|
|
47
|
+
lastClickCol: number;
|
|
48
|
+
lastClickRow: number;
|
|
49
|
+
clickCount: number;
|
|
50
|
+
pendingHyperlinkTimer: ReturnType<typeof setTimeout> | null;
|
|
51
|
+
lastHoverCol: number;
|
|
52
|
+
lastHoverRow: number;
|
|
53
|
+
lastStdinTime: number;
|
|
54
|
+
isRawModeSupported(): boolean;
|
|
55
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
56
|
+
componentDidMount(): void;
|
|
57
|
+
componentWillUnmount(): void;
|
|
58
|
+
componentDidCatch(error: Error): void;
|
|
59
|
+
handleSetRawMode: (isEnabled: boolean) => void;
|
|
60
|
+
flushIncomplete: () => void;
|
|
61
|
+
processInput: (input: string | Buffer | null) => void;
|
|
62
|
+
handleReadable: () => void;
|
|
63
|
+
handleInput: (input: string | undefined) => void;
|
|
64
|
+
handleExit: (error?: Error) => void;
|
|
65
|
+
handleTerminalFocus: (isFocused: boolean) => void;
|
|
66
|
+
handleSuspend: () => void;
|
|
67
|
+
}
|
|
68
|
+
/** Exported for testing. Mutates app.props.selection and click/hover state. */
|
|
69
|
+
export declare function handleMouseEvent(app: App, m: ParsedMouse): void;
|
|
70
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export type Props = {
|
|
2
|
+
/**
|
|
3
|
+
* Exit (unmount) the whole Ink app.
|
|
4
|
+
*/
|
|
5
|
+
readonly exit: (error?: Error) => void;
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* `AppContext` is a React context, which exposes a method to manually exit the app (unmount).
|
|
9
|
+
*/
|
|
10
|
+
declare const AppContext: import("react").Context<Props>;
|
|
11
|
+
export default AppContext;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import '../global.d.ts';
|
|
2
|
+
import { type Ref } from 'react';
|
|
3
|
+
import type { Except } from 'type-fest';
|
|
4
|
+
import type { DOMElement } from '../dom.js';
|
|
5
|
+
import type { ClickEvent } from '../events/click-event.js';
|
|
6
|
+
import type { FocusEvent } from '../events/focus-event.js';
|
|
7
|
+
import type { KeyboardEvent } from '../events/keyboard-event.js';
|
|
8
|
+
import type { Styles } from '../styles.js';
|
|
9
|
+
export type Props = Except<Styles, 'textWrap'> & {
|
|
10
|
+
ref?: Ref<DOMElement>;
|
|
11
|
+
/**
|
|
12
|
+
* Tab order index. Nodes with `tabIndex >= 0` participate in
|
|
13
|
+
* Tab/Shift+Tab cycling; `-1` means programmatically focusable only.
|
|
14
|
+
*/
|
|
15
|
+
tabIndex?: number;
|
|
16
|
+
/**
|
|
17
|
+
* Focus this element when it mounts. Like the HTML `autofocus`
|
|
18
|
+
* attribute — the FocusManager calls `focus(node)` during the
|
|
19
|
+
* reconciler's `commitMount` phase.
|
|
20
|
+
*/
|
|
21
|
+
autoFocus?: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Fired on left-button click (press + release without drag). Only works
|
|
24
|
+
* inside `<AlternateScreen>` where mouse tracking is enabled — no-op
|
|
25
|
+
* otherwise. The event bubbles from the deepest hit Box up through
|
|
26
|
+
* ancestors; call `event.stopImmediatePropagation()` to stop bubbling.
|
|
27
|
+
*/
|
|
28
|
+
onClick?: (event: ClickEvent) => void;
|
|
29
|
+
onFocus?: (event: FocusEvent) => void;
|
|
30
|
+
onFocusCapture?: (event: FocusEvent) => void;
|
|
31
|
+
onBlur?: (event: FocusEvent) => void;
|
|
32
|
+
onBlurCapture?: (event: FocusEvent) => void;
|
|
33
|
+
onKeyDown?: (event: KeyboardEvent) => void;
|
|
34
|
+
onKeyDownCapture?: (event: KeyboardEvent) => void;
|
|
35
|
+
/**
|
|
36
|
+
* Fired when the mouse moves into this Box's rendered rect. Like DOM
|
|
37
|
+
* `mouseenter`, does NOT bubble — moving between children does not
|
|
38
|
+
* re-fire on the parent. Only works inside `<AlternateScreen>` where
|
|
39
|
+
* mode-1003 mouse tracking is enabled.
|
|
40
|
+
*/
|
|
41
|
+
onMouseEnter?: () => void;
|
|
42
|
+
/** Fired when the mouse moves out of this Box's rendered rect. */
|
|
43
|
+
onMouseLeave?: () => void;
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* `<Box>` is an essential Ink component to build your layout. It's like `<div style="display: flex">` in the browser.
|
|
47
|
+
*/
|
|
48
|
+
declare function Box(t0: any): any;
|
|
49
|
+
export default Box;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import React, { type Ref } from 'react';
|
|
2
|
+
import type { Except } from 'type-fest';
|
|
3
|
+
import type { DOMElement } from '../dom.js';
|
|
4
|
+
import type { Styles } from '../styles.js';
|
|
5
|
+
type ButtonState = {
|
|
6
|
+
focused: boolean;
|
|
7
|
+
hovered: boolean;
|
|
8
|
+
active: boolean;
|
|
9
|
+
};
|
|
10
|
+
export type Props = Except<Styles, 'textWrap'> & {
|
|
11
|
+
ref?: Ref<DOMElement>;
|
|
12
|
+
/**
|
|
13
|
+
* Called when the button is activated via Enter, Space, or click.
|
|
14
|
+
*/
|
|
15
|
+
onAction: () => void;
|
|
16
|
+
/**
|
|
17
|
+
* Tab order index. Defaults to 0 (in tab order).
|
|
18
|
+
* Set to -1 for programmatically focusable only.
|
|
19
|
+
*/
|
|
20
|
+
tabIndex?: number;
|
|
21
|
+
/**
|
|
22
|
+
* Focus this button when it mounts.
|
|
23
|
+
*/
|
|
24
|
+
autoFocus?: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Render prop receiving the interactive state. Use this to
|
|
27
|
+
* style children based on focus/hover/active — Button itself
|
|
28
|
+
* is intentionally unstyled.
|
|
29
|
+
*
|
|
30
|
+
* If not provided, children render as-is (no state-dependent styling).
|
|
31
|
+
*/
|
|
32
|
+
children: ((state: ButtonState) => React.ReactNode) | React.ReactNode;
|
|
33
|
+
};
|
|
34
|
+
declare function Button(t0: any): any;
|
|
35
|
+
export default Button;
|
|
36
|
+
export type { ButtonState };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export type Clock = {
|
|
3
|
+
subscribe: (onChange: () => void, keepAlive: boolean) => () => void;
|
|
4
|
+
now: () => number;
|
|
5
|
+
setTickInterval: (ms: number) => void;
|
|
6
|
+
};
|
|
7
|
+
export declare function createClock(tickIntervalMs: number): Clock;
|
|
8
|
+
export declare const ClockContext: React.Context<Clock | null>;
|
|
9
|
+
export declare function ClockProvider(t0: any): any;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { DOMElement } from '../dom.js';
|
|
2
|
+
export type CursorDeclaration = {
|
|
3
|
+
/** Display column (terminal cell width) within the declared node */
|
|
4
|
+
readonly relativeX: number;
|
|
5
|
+
/** Line number within the declared node */
|
|
6
|
+
readonly relativeY: number;
|
|
7
|
+
/** The ink-box DOMElement whose yoga layout provides the absolute origin */
|
|
8
|
+
readonly node: DOMElement;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Setter for the declared cursor position.
|
|
12
|
+
*
|
|
13
|
+
* The optional second argument makes `null` a conditional clear: the
|
|
14
|
+
* declaration is only cleared if the currently-declared node matches
|
|
15
|
+
* `clearIfNode`. This makes the hook safe for sibling components
|
|
16
|
+
* (e.g. list items) that transfer focus among themselves — without the
|
|
17
|
+
* node check, a newly-unfocused item's clear could clobber a
|
|
18
|
+
* newly-focused sibling's set depending on layout-effect order.
|
|
19
|
+
*/
|
|
20
|
+
export type CursorDeclarationSetter = (declaration: CursorDeclaration | null, clearIfNode?: DOMElement | null) => void;
|
|
21
|
+
declare const CursorDeclarationContext: import("react").Context<CursorDeclarationSetter>;
|
|
22
|
+
export default CursorDeclarationContext;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export type Props = {
|
|
2
|
+
/**
|
|
3
|
+
* Number of newlines to insert.
|
|
4
|
+
*
|
|
5
|
+
* @default 1
|
|
6
|
+
*/
|
|
7
|
+
readonly count?: number;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Adds one or more newline (\n) characters. Must be used within <Text> components.
|
|
11
|
+
*/
|
|
12
|
+
export default function Newline(t0: any): any;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Marks its contents as non-selectable in fullscreen text selection.
|
|
3
|
+
* Cells inside this box are skipped by both the selection highlight and
|
|
4
|
+
* the copied text — the gutter stays visually unchanged while the user
|
|
5
|
+
* drags, making it clear what will be copied.
|
|
6
|
+
*
|
|
7
|
+
* Use to fence off gutters (line numbers, diff +/- sigils, list bullets)
|
|
8
|
+
* so click-drag over rendered code yields clean pasteable content:
|
|
9
|
+
*
|
|
10
|
+
* <Box flexDirection="row">
|
|
11
|
+
* <NoSelect fromLeftEdge><Text dimColor> 42 +</Text></NoSelect>
|
|
12
|
+
* <Text>const x = 1</Text>
|
|
13
|
+
* </Box>
|
|
14
|
+
*
|
|
15
|
+
* Only affects alt-screen text selection (<AlternateScreen> with mouse
|
|
16
|
+
* tracking). No-op in the main-screen scrollback render where the
|
|
17
|
+
* terminal's native selection is used instead.
|
|
18
|
+
*/
|
|
19
|
+
export declare function NoSelect(t0: any): any;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bypass the <Ansi> → React tree → Yoga → squash → re-serialize roundtrip for
|
|
3
|
+
* content that is already terminal-ready.
|
|
4
|
+
*
|
|
5
|
+
* Use this when an external renderer (e.g. the ColorDiff NAPI module) has
|
|
6
|
+
* already produced ANSI-escaped, width-wrapped output. A normal <Ansi> mount
|
|
7
|
+
* reparses that output into one React <Text> per style span, lays out each
|
|
8
|
+
* span as a Yoga flex child, then walks the tree to re-emit the same escape
|
|
9
|
+
* codes it was given. For a long transcript full of syntax-highlighted diffs
|
|
10
|
+
* that roundtrip is the dominant cost of the render.
|
|
11
|
+
*
|
|
12
|
+
* This component emits a single Yoga leaf with a constant-time measure func
|
|
13
|
+
* (width × lines.length) and hands the joined string straight to output.write(),
|
|
14
|
+
* which already splits on '\n' and parses ANSI into the screen buffer.
|
|
15
|
+
*/
|
|
16
|
+
export declare function RawAnsi(t0: any): any;
|