@cjhyy/code-shell 0.3.0 → 0.5.0-rc.1
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 +75 -0
- package/dist/cli.js +2 -0
- package/dist/index.d.ts +1 -68
- package/dist/index.js +1 -1
- package/package.json +25 -73
- package/dist/agent/coordinator.d.ts +0 -49
- package/dist/anthropic-DJXVKFMJ.js +0 -1
- package/dist/arena/arena.d.ts +0 -43
- package/dist/arena/context/context-tools.d.ts +0 -16
- package/dist/arena/detect-mode.d.ts +0 -20
- package/dist/arena/digest-builder.d.ts +0 -25
- package/dist/arena/index.d.ts +0 -29
- package/dist/arena/index.js +0 -1
- package/dist/arena/iterate/convergence.d.ts +0 -25
- package/dist/arena/iterate/formats/index.d.ts +0 -22
- package/dist/arena/iterate/index.d.ts +0 -11
- package/dist/arena/iterate/iterative-arena.d.ts +0 -23
- package/dist/arena/iterate/parse.d.ts +0 -42
- package/dist/arena/iterate/phases/argue.d.ts +0 -22
- package/dist/arena/iterate/phases/revise.d.ts +0 -16
- package/dist/arena/iterate/phases/tournament.d.ts +0 -34
- package/dist/arena/iterate/tools/web-tools.d.ts +0 -13
- package/dist/arena/iterate/types.d.ts +0 -152
- package/dist/arena/ledger.d.ts +0 -47
- package/dist/arena/lenses/architecture.d.ts +0 -5
- package/dist/arena/lenses/engineering.d.ts +0 -5
- package/dist/arena/lenses/general.d.ts +0 -5
- package/dist/arena/lenses/index.d.ts +0 -16
- package/dist/arena/lenses/product.d.ts +0 -5
- package/dist/arena/model-presets.d.ts +0 -23
- package/dist/arena/phases/adjudication.d.ts +0 -24
- package/dist/arena/phases/build-consensus.d.ts +0 -29
- package/dist/arena/phases/claim-registry.d.ts +0 -26
- package/dist/arena/phases/cross-review.d.ts +0 -45
- package/dist/arena/phases/debate-rounds.d.ts +0 -27
- package/dist/arena/phases/participant-research.d.ts +0 -38
- package/dist/arena/phases/planning-detail-expansion.d.ts +0 -38
- package/dist/arena/planner.d.ts +0 -27
- package/dist/arena/providers/docs.d.ts +0 -6
- package/dist/arena/providers/git.d.ts +0 -8
- package/dist/arena/providers/index.d.ts +0 -32
- package/dist/arena/providers/none.d.ts +0 -7
- package/dist/arena/providers/repo.d.ts +0 -6
- package/dist/arena/render/session.d.ts +0 -17
- package/dist/arena/render/terminal.d.ts +0 -33
- package/dist/arena/strategies/discussion.d.ts +0 -25
- package/dist/arena/strategies/index.d.ts +0 -15
- package/dist/arena/strategies/language-wrapper.d.ts +0 -17
- package/dist/arena/strategies/lens-wrapper.d.ts +0 -16
- package/dist/arena/strategies/planning.d.ts +0 -30
- package/dist/arena/strategies/review.d.ts +0 -26
- package/dist/arena/strategies/utils.d.ts +0 -39
- package/dist/arena/tools/selector.d.ts +0 -17
- package/dist/arena/transitions.d.ts +0 -48
- package/dist/arena/types.d.ts +0 -508
- package/dist/arena-MRBATZFD.js +0 -3
- package/dist/bootstrap/setup.d.ts +0 -14
- package/dist/bootstrap/state.d.ts +0 -160
- package/dist/bwrap-PVZMLHZR.js +0 -2
- package/dist/chunk-2OD6VR4N.js +0 -2
- package/dist/chunk-3QP5BQ3L.js +0 -1
- package/dist/chunk-5QIVXFCT.js +0 -1
- package/dist/chunk-AFMP73YP.js +0 -2
- package/dist/chunk-D3TVASD2.js +0 -4
- package/dist/chunk-DI26OUIU.js +0 -2
- package/dist/chunk-FU7AHZNN.js +0 -1
- package/dist/chunk-FZXY554D.js +0 -2
- package/dist/chunk-GGVAOPI7.js +0 -1
- package/dist/chunk-GKAQH2DG.js +0 -2
- package/dist/chunk-GYNO4R7R.js +0 -2
- package/dist/chunk-K4HILJ6G.js +0 -251
- package/dist/chunk-M7VU4YVY.js +0 -49
- package/dist/chunk-MLCTC53I.js +0 -1
- package/dist/chunk-O5HFCH2U.js +0 -1
- package/dist/chunk-OWBYLMDD.js +0 -1
- package/dist/chunk-P6JSTIFM.js +0 -1
- package/dist/chunk-QTWU7UNA.js +0 -5
- package/dist/chunk-SKIX2M5Z.js +0 -4
- package/dist/chunk-SNFAPSLA.js +0 -1
- package/dist/chunk-SV7H4FKT.js +0 -3
- package/dist/chunk-T222K6IV.js +0 -18
- package/dist/chunk-TKJA6W36.js +0 -3
- package/dist/chunk-WI6FSWGU.js +0 -1
- package/dist/chunk-WONQHE4P.js +0 -641
- package/dist/chunk-X2S7ASQ2.js +0 -1
- package/dist/chunk-Z5HKHAO7.js +0 -336
- package/dist/cli/commands/arena.d.ts +0 -29
- package/dist/cli/commands/builtin/advanced-commands.d.ts +0 -5
- package/dist/cli/commands/builtin/core-commands.d.ts +0 -5
- package/dist/cli/commands/builtin/export-md.d.ts +0 -19
- package/dist/cli/commands/builtin/extra-commands.d.ts +0 -6
- package/dist/cli/commands/builtin/git-commands.d.ts +0 -5
- package/dist/cli/commands/builtin/init/detect.d.ts +0 -25
- package/dist/cli/commands/builtin/init/index.d.ts +0 -19
- package/dist/cli/commands/builtin/more-commands.d.ts +0 -5
- package/dist/cli/commands/builtin/permissions-command.d.ts +0 -5
- package/dist/cli/commands/builtin/plugin-commands-registration.d.ts +0 -12
- package/dist/cli/commands/builtin/plugin-handler.d.ts +0 -6
- package/dist/cli/commands/builtin/utility-commands.d.ts +0 -5
- package/dist/cli/commands/registry.d.ts +0 -79
- package/dist/cli/commands/repl.d.ts +0 -21
- package/dist/cli/commands/run.d.ts +0 -21
- package/dist/cli/commands/runs.d.ts +0 -14
- package/dist/cli/cost-tracker.d.ts +0 -63
- package/dist/cli/exit.d.ts +0 -12
- package/dist/cli/input/ndjson-reader.d.ts +0 -31
- package/dist/cli/input-compiler.d.ts +0 -5
- package/dist/cli/main.d.ts +0 -5
- package/dist/cli/main.js +0 -415
- package/dist/cli/migrate-models.d.ts +0 -45
- package/dist/cli/onboarding.d.ts +0 -189
- package/dist/cli/output/renderer.d.ts +0 -28
- package/dist/cli/output/terminal-ui.d.ts +0 -50
- package/dist/cli/updater.d.ts +0 -65
- package/dist/client-base-GSFXPP2Y.js +0 -1
- package/dist/compaction-L3Y6NG4N.js +0 -1
- package/dist/context/compaction.d.ts +0 -116
- package/dist/context/manager.d.ts +0 -145
- package/dist/context/token-counter.d.ts +0 -27
- package/dist/context/tool-result-storage.d.ts +0 -96
- package/dist/cron/scheduler.d.ts +0 -34
- package/dist/data/openrouter-models.d.ts +0 -35
- package/dist/data/openrouter-sync.d.ts +0 -16
- package/dist/data/static-catalogs.d.ts +0 -25
- package/dist/devtools-FBX4HVVY.js +0 -1
- package/dist/engine/cost-store.d.ts +0 -22
- package/dist/engine/engine.d.ts +0 -236
- package/dist/engine/model-facade.d.ts +0 -24
- package/dist/engine/query.d.ts +0 -50
- package/dist/engine/streaming-tool-queue.d.ts +0 -34
- package/dist/engine/token-budget.d.ts +0 -22
- package/dist/engine/tool-summary.d.ts +0 -13
- package/dist/engine/turn-loop.d.ts +0 -122
- package/dist/engine/turn-state.d.ts +0 -20
- package/dist/exceptions.d.ts +0 -44
- package/dist/export-md-U72T7NW7.js +0 -22
- package/dist/file-history-7FQFEQOL.js +0 -1
- package/dist/git/utils.d.ts +0 -35
- package/dist/git/worktree.d.ts +0 -36
- package/dist/hooks/events.d.ts +0 -114
- package/dist/hooks/inject.d.ts +0 -19
- package/dist/hooks/registry.d.ts +0 -15
- package/dist/hooks/shell-runner.d.ts +0 -45
- package/dist/llm/api-key-sanitize.d.ts +0 -22
- package/dist/llm/capabilities/index.d.ts +0 -20
- package/dist/llm/capabilities/rules.d.ts +0 -26
- package/dist/llm/capabilities/types.d.ts +0 -108
- package/dist/llm/client-base.d.ts +0 -29
- package/dist/llm/client-factory.d.ts +0 -10
- package/dist/llm/model-cache.d.ts +0 -21
- package/dist/llm/model-fetcher.d.ts +0 -29
- package/dist/llm/model-pool.d.ts +0 -84
- package/dist/llm/provider-catalog.d.ts +0 -32
- package/dist/llm/provider-kinds.d.ts +0 -21
- package/dist/llm/providers/anthropic.d.ts +0 -19
- package/dist/llm/providers/openai.d.ts +0 -64
- package/dist/llm/retry.d.ts +0 -12
- package/dist/llm/stream-watchdog.d.ts +0 -42
- package/dist/llm/token-counter.d.ts +0 -17
- package/dist/llm/types.d.ts +0 -37
- package/dist/logging/logger.d.ts +0 -102
- package/dist/logging/session-recorder.d.ts +0 -90
- package/dist/lsp/client.d.ts +0 -41
- package/dist/lsp/manager.d.ts +0 -40
- package/dist/lsp/servers.d.ts +0 -16
- package/dist/manager-4XKLZHKE.js +0 -1
- package/dist/mcp-manager-3JGHEJO3.js +0 -1
- package/dist/memory-BNI4WEWL.js +0 -1
- package/dist/model-cache-HEDXI7UJ.js +0 -1
- package/dist/model-fetcher-X5W5EASG.js +0 -1
- package/dist/native-ts/yoga-layout/enums.d.ts +0 -117
- package/dist/native-ts/yoga-layout/index.d.ts +0 -270
- package/dist/off-7SDVMMXW.js +0 -1
- package/dist/openai-OQ6LLN5J.js +0 -1
- package/dist/openrouter-models-ZT4R2AE3.js +0 -1
- package/dist/openrouter-sync-ARMVWY7S.js +0 -1
- package/dist/plugin-handler-GJISMH5Q.js +0 -11
- package/dist/plugins/gitOps.d.ts +0 -23
- package/dist/plugins/installedPlugins.d.ts +0 -15
- package/dist/plugins/knownMarketplaces.d.ts +0 -10
- package/dist/plugins/loadPluginHooks.d.ts +0 -52
- package/dist/plugins/marketplaceManager.d.ts +0 -49
- package/dist/plugins/parseMarketplaceInput.d.ts +0 -16
- package/dist/plugins/pluginCommandHook.d.ts +0 -54
- package/dist/plugins/pluginCommandsLoader.d.ts +0 -25
- package/dist/plugins/pluginInstaller.d.ts +0 -36
- package/dist/plugins/schemas.d.ts +0 -9
- package/dist/plugins/types.d.ts +0 -75
- package/dist/plugins/varRewrite.d.ts +0 -42
- package/dist/preset/index.d.ts +0 -60
- package/dist/product/define.d.ts +0 -60
- package/dist/product/index.d.ts +0 -5
- package/dist/product/index.js +0 -1
- package/dist/product/types.d.ts +0 -111
- package/dist/prompt/composer.d.ts +0 -42
- package/dist/prompt/instruction-scanner.d.ts +0 -54
- package/dist/prompt/section-cache.d.ts +0 -15
- package/dist/prompt/section-loader.d.ts +0 -26
- package/dist/protocol/client.d.ts +0 -64
- package/dist/protocol/helpers.d.ts +0 -42
- package/dist/protocol/index.d.ts +0 -4
- package/dist/protocol/server.d.ts +0 -51
- package/dist/protocol/transport.d.ts +0 -36
- package/dist/protocol/types.d.ts +0 -192
- package/dist/react-compiler-runtime-shim.d.ts +0 -1
- package/dist/remote/bridge.d.ts +0 -37
- package/dist/render/Ansi.d.ts +0 -10
- package/dist/render/bidi.d.ts +0 -15
- package/dist/render/clearTerminal.d.ts +0 -19
- package/dist/render/colorize.d.ts +0 -16
- package/dist/render/components/AlternateScreen.d.ts +0 -21
- package/dist/render/components/App.d.ts +0 -71
- package/dist/render/components/AppContext.d.ts +0 -11
- package/dist/render/components/Box.d.ts +0 -49
- package/dist/render/components/Button.d.ts +0 -36
- package/dist/render/components/ClockContext.d.ts +0 -9
- package/dist/render/components/CursorDeclarationContext.d.ts +0 -22
- package/dist/render/components/ErrorOverview.d.ts +0 -5
- package/dist/render/components/Link.d.ts +0 -7
- package/dist/render/components/Newline.d.ts +0 -12
- package/dist/render/components/NoSelect.d.ts +0 -19
- package/dist/render/components/RawAnsi.d.ts +0 -16
- package/dist/render/components/ScrollBox.d.ts +0 -78
- package/dist/render/components/Spacer.d.ts +0 -5
- package/dist/render/components/Static.d.ts +0 -23
- package/dist/render/components/StdinContext.d.ts +0 -27
- package/dist/render/components/TerminalFocusContext.d.ts +0 -10
- package/dist/render/components/TerminalSizeContext.d.ts +0 -5
- package/dist/render/components/Text.d.ts +0 -55
- package/dist/render/constants.d.ts +0 -1
- package/dist/render/cursor.d.ts +0 -8
- package/dist/render/devtools.d.ts +0 -9
- package/dist/render/dom.d.ts +0 -77
- package/dist/render/events/click-event.d.ts +0 -31
- package/dist/render/events/dispatcher.d.ts +0 -40
- package/dist/render/events/emitter.d.ts +0 -5
- package/dist/render/events/event-handlers.d.ts +0 -46
- package/dist/render/events/event.d.ts +0 -5
- package/dist/render/events/focus-event.d.ts +0 -13
- package/dist/render/events/input-event.d.ts +0 -30
- package/dist/render/events/keyboard-event.d.ts +0 -19
- package/dist/render/events/paste-event.d.ts +0 -8
- package/dist/render/events/resize-event.d.ts +0 -9
- package/dist/render/events/terminal-event.d.ts +0 -54
- package/dist/render/events/terminal-focus-event.d.ts +0 -13
- package/dist/render/focus.d.ts +0 -43
- package/dist/render/frame.d.ts +0 -95
- package/dist/render/get-max-width.d.ts +0 -17
- package/dist/render/hit-test.d.ts +0 -33
- package/dist/render/hooks/use-animation-frame.d.ts +0 -26
- package/dist/render/hooks/use-app.d.ts +0 -5
- package/dist/render/hooks/use-declared-cursor.d.ts +0 -26
- package/dist/render/hooks/use-input.d.ts +0 -37
- package/dist/render/hooks/use-interval.d.ts +0 -18
- package/dist/render/hooks/use-search-highlight.d.ts +0 -30
- package/dist/render/hooks/use-selection.d.ts +0 -39
- package/dist/render/hooks/use-stdin.d.ts +0 -5
- package/dist/render/hooks/use-tab-status.d.ts +0 -13
- package/dist/render/hooks/use-terminal-focus.d.ts +0 -10
- package/dist/render/hooks/use-terminal-title.d.ts +0 -12
- package/dist/render/hooks/use-terminal-viewport.d.ts +0 -29
- package/dist/render/index.d.ts +0 -30
- package/dist/render/ink.d.ts +0 -391
- package/dist/render/instances.d.ts +0 -3
- package/dist/render/layout/engine.d.ts +0 -2
- package/dist/render/layout/geometry.d.ts +0 -30
- package/dist/render/layout/node.d.ts +0 -125
- package/dist/render/layout/yoga.d.ts +0 -56
- package/dist/render/line-width-cache.d.ts +0 -1
- package/dist/render/log-update.d.ts +0 -28
- package/dist/render/measure-element.d.ts +0 -16
- package/dist/render/measure-text.d.ts +0 -6
- package/dist/render/node-cache.d.ts +0 -20
- package/dist/render/optimizer.d.ts +0 -15
- package/dist/render/output.d.ts +0 -119
- package/dist/render/parse-keypress.d.ts +0 -111
- package/dist/render/reconciler.d.ts +0 -11
- package/dist/render/render-border.d.ts +0 -24
- package/dist/render/render-node-to-output.d.ts +0 -45
- package/dist/render/render-to-screen.d.ts +0 -46
- package/dist/render/renderer.d.ts +0 -14
- package/dist/render/root.d.ts +0 -74
- package/dist/render/screen.d.ts +0 -269
- package/dist/render/searchHighlight.d.ts +0 -20
- package/dist/render/selection.d.ts +0 -229
- package/dist/render/squash-text-nodes.d.ts +0 -22
- package/dist/render/stringWidth.d.ts +0 -1
- package/dist/render/styles.d.ts +0 -306
- package/dist/render/supports-hyperlinks.d.ts +0 -13
- package/dist/render/tabstops.d.ts +0 -1
- package/dist/render/terminal-focus-state.d.ts +0 -6
- package/dist/render/terminal-querier.d.ts +0 -129
- package/dist/render/terminal.d.ts +0 -46
- package/dist/render/termio/ansi.d.ts +0 -65
- package/dist/render/termio/csi.d.ts +0 -165
- package/dist/render/termio/dec.d.ts +0 -37
- package/dist/render/termio/esc.d.ts +0 -12
- package/dist/render/termio/osc.d.ts +0 -173
- package/dist/render/termio/parser.d.ts +0 -35
- package/dist/render/termio/sgr.d.ts +0 -8
- package/dist/render/termio/tokenize.d.ts +0 -45
- package/dist/render/termio/types.d.ts +0 -190
- package/dist/render/termio.d.ts +0 -24
- package/dist/render/useTerminalNotification.d.ts +0 -28
- package/dist/render/warn.d.ts +0 -1
- package/dist/render/widest-line.d.ts +0 -1
- package/dist/render/wrap-text.d.ts +0 -2
- package/dist/render/wrapAnsi.d.ts +0 -7
- package/dist/run/ArtifactTracker.d.ts +0 -38
- package/dist/run/CheckpointWriter.d.ts +0 -53
- package/dist/run/EngineRunner.d.ts +0 -72
- package/dist/run/Evaluator.d.ts +0 -56
- package/dist/run/FileRunStore.d.ts +0 -39
- package/dist/run/Heartbeat.d.ts +0 -54
- package/dist/run/RunApprovalBackend.d.ts +0 -53
- package/dist/run/RunLock.d.ts +0 -40
- package/dist/run/RunManager.d.ts +0 -82
- package/dist/run/RunQueue.d.ts +0 -27
- package/dist/run/RunStore.d.ts +0 -25
- package/dist/run/factory.d.ts +0 -63
- package/dist/run/index.d.ts +0 -17
- package/dist/run/index.js +0 -1
- package/dist/run/types.d.ts +0 -136
- package/dist/seatbelt-L54CNI2Y.js +0 -37
- package/dist/services/analytics.d.ts +0 -29
- package/dist/services/auto-dream.d.ts +0 -35
- package/dist/services/diagnostics.d.ts +0 -41
- package/dist/services/extract-memories.d.ts +0 -27
- package/dist/services/index.d.ts +0 -11
- package/dist/services/memory-orchestrator.d.ts +0 -39
- package/dist/services/notifier.d.ts +0 -25
- package/dist/services/oauth.d.ts +0 -27
- package/dist/services/session-memory.d.ts +0 -37
- package/dist/session/file-history.d.ts +0 -41
- package/dist/session/memory.d.ts +0 -65
- package/dist/session/session-manager.d.ts +0 -28
- package/dist/session/transcript.d.ts +0 -39
- package/dist/session-manager-AGWS5SMJ.js +0 -1
- package/dist/settings/manager.d.ts +0 -36
- package/dist/settings/schema.d.ts +0 -1123
- package/dist/skills/frontmatter.d.ts +0 -13
- package/dist/skills/index.d.ts +0 -7
- package/dist/skills/scanner.d.ts +0 -20
- package/dist/tool-summary-HJX6RHG4.js +0 -2
- package/dist/tool-system/builtin/agent-notifications.d.ts +0 -55
- package/dist/tool-system/builtin/agent-registry.d.ts +0 -67
- package/dist/tool-system/builtin/agent-transcript-translator.d.ts +0 -22
- package/dist/tool-system/builtin/agent.d.ts +0 -16
- package/dist/tool-system/builtin/apply-patch/applier.d.ts +0 -26
- package/dist/tool-system/builtin/apply-patch/index.d.ts +0 -19
- package/dist/tool-system/builtin/apply-patch/parser.d.ts +0 -17
- package/dist/tool-system/builtin/apply-patch/seek-sequence.d.ts +0 -18
- package/dist/tool-system/builtin/apply-patch/types.d.ts +0 -49
- package/dist/tool-system/builtin/arena.d.ts +0 -31
- package/dist/tool-system/builtin/ask-user.d.ts +0 -20
- package/dist/tool-system/builtin/bash.d.ts +0 -12
- package/dist/tool-system/builtin/brief.d.ts +0 -6
- package/dist/tool-system/builtin/config.d.ts +0 -6
- package/dist/tool-system/builtin/cron.d.ts +0 -10
- package/dist/tool-system/builtin/edit.d.ts +0 -6
- package/dist/tool-system/builtin/file-cache.d.ts +0 -11
- package/dist/tool-system/builtin/glob.d.ts +0 -6
- package/dist/tool-system/builtin/grep.d.ts +0 -6
- package/dist/tool-system/builtin/index.d.ts +0 -20
- package/dist/tool-system/builtin/lsp.d.ts +0 -6
- package/dist/tool-system/builtin/mcp-tools.d.ts +0 -10
- package/dist/tool-system/builtin/notebook-edit.d.ts +0 -6
- package/dist/tool-system/builtin/plan.d.ts +0 -18
- package/dist/tool-system/builtin/powershell.d.ts +0 -6
- package/dist/tool-system/builtin/read.d.ts +0 -6
- package/dist/tool-system/builtin/remote-trigger.d.ts +0 -6
- package/dist/tool-system/builtin/repl.d.ts +0 -6
- package/dist/tool-system/builtin/send-message.d.ts +0 -6
- package/dist/tool-system/builtin/skill-prompt.d.ts +0 -7
- package/dist/tool-system/builtin/skill.d.ts +0 -8
- package/dist/tool-system/builtin/sleep.d.ts +0 -6
- package/dist/tool-system/builtin/task.d.ts +0 -51
- package/dist/tool-system/builtin/tool-search.d.ts +0 -11
- package/dist/tool-system/builtin/web-fetch.d.ts +0 -6
- package/dist/tool-system/builtin/web-search.d.ts +0 -6
- package/dist/tool-system/builtin/worktree.d.ts +0 -10
- package/dist/tool-system/builtin/write.d.ts +0 -6
- package/dist/tool-system/context.d.ts +0 -133
- package/dist/tool-system/executor.d.ts +0 -49
- package/dist/tool-system/investigation-guard.d.ts +0 -46
- package/dist/tool-system/mcp-manager.d.ts +0 -50
- package/dist/tool-system/permission.d.ts +0 -104
- package/dist/tool-system/registry.d.ts +0 -32
- package/dist/tool-system/sandbox/bwrap.d.ts +0 -13
- package/dist/tool-system/sandbox/index.d.ts +0 -78
- package/dist/tool-system/sandbox/off.d.ts +0 -2
- package/dist/tool-system/sandbox/seatbelt.d.ts +0 -18
- package/dist/tool-system/task-guard.d.ts +0 -30
- package/dist/tool-system/validation.d.ts +0 -5
- package/dist/types.d.ts +0 -356
- package/dist/ui/App.d.ts +0 -14
- package/dist/ui/components/AgentBlock.d.ts +0 -35
- package/dist/ui/components/AgentDock.d.ts +0 -36
- package/dist/ui/components/AskUserPrompt.d.ts +0 -14
- package/dist/ui/components/BabyHand.d.ts +0 -1
- package/dist/ui/components/Banner.d.ts +0 -8
- package/dist/ui/components/CodeBlock.d.ts +0 -7
- package/dist/ui/components/CommandInput.d.ts +0 -24
- package/dist/ui/components/ContextUsageBar.d.ts +0 -7
- package/dist/ui/components/DiffLine.d.ts +0 -33
- package/dist/ui/components/DiffView.d.ts +0 -6
- package/dist/ui/components/DogLogo.d.ts +0 -1
- package/dist/ui/components/FullscreenLayout.d.ts +0 -51
- package/dist/ui/components/KunHead.d.ts +0 -1
- package/dist/ui/components/KunLogo.d.ts +0 -1
- package/dist/ui/components/MessageContent.d.ts +0 -26
- package/dist/ui/components/MessageRow.d.ts +0 -54
- package/dist/ui/components/ModelManager.d.ts +0 -68
- package/dist/ui/components/ModelSelector.d.ts +0 -10
- package/dist/ui/components/OnboardingPrompt.d.ts +0 -16
- package/dist/ui/components/PermissionDialog.d.ts +0 -8
- package/dist/ui/components/PermissionPrompt.d.ts +0 -11
- package/dist/ui/components/ProviderModelFlow.d.ts +0 -58
- package/dist/ui/components/ScrollView.d.ts +0 -34
- package/dist/ui/components/SessionPicker.d.ts +0 -16
- package/dist/ui/components/Spinner.d.ts +0 -8
- package/dist/ui/components/SpinnerWithVerb.d.ts +0 -19
- package/dist/ui/components/StatusLine.d.ts +0 -28
- package/dist/ui/components/StructuredDiff.d.ts +0 -8
- package/dist/ui/components/TaskList.d.ts +0 -6
- package/dist/ui/components/TextInput.d.ts +0 -17
- package/dist/ui/components/ThemedBox.d.ts +0 -19
- package/dist/ui/components/ThemedText.d.ts +0 -26
- package/dist/ui/components/ToolCall.d.ts +0 -28
- package/dist/ui/components/UpdateBanner.d.ts +0 -1
- package/dist/ui/components/VirtualMessageList.d.ts +0 -43
- package/dist/ui/components/WelcomeTips.d.ts +0 -5
- package/dist/ui/dev-seed.d.ts +0 -1
- package/dist/ui/fullscreen-mode.d.ts +0 -9
- package/dist/ui/hooks/useCostSummary.d.ts +0 -1
- package/dist/ui/hooks/useVirtualScroll.d.ts +0 -101
- package/dist/ui/index.d.ts +0 -12
- package/dist/ui/input-history.d.ts +0 -61
- package/dist/ui/onboarding-runner.d.ts +0 -2
- package/dist/ui/perf-probes.d.ts +0 -22
- package/dist/ui/query-guard.d.ts +0 -35
- package/dist/ui/slice-anchor.d.ts +0 -44
- package/dist/ui/store.d.ts +0 -108
- package/dist/ui/terminal-renderer.d.ts +0 -45
- package/dist/ui/theme.d.ts +0 -36
- package/dist/ui/vim-mode.d.ts +0 -25
- package/dist/updater-OCNU2K2Z.js +0 -1
- package/dist/utils/debug.d.ts +0 -41
- package/dist/utils/earlyInput.d.ts +0 -43
- package/dist/utils/env.d.ts +0 -24
- package/dist/utils/envUtils.d.ts +0 -51
- package/dist/utils/execFileNoThrow.d.ts +0 -39
- package/dist/utils/format.d.ts +0 -44
- package/dist/utils/fullscreen.d.ts +0 -47
- package/dist/utils/intl.d.ts +0 -22
- package/dist/utils/lockfile.d.ts +0 -15
- package/dist/utils/semver.d.ts +0 -6
- package/dist/utils/sliceAnsi.d.ts +0 -12
- package/dist/utils/systemTheme.d.ts +0 -40
- package/dist/utils/task-sanitizer.d.ts +0 -6
- package/dist/utils/theme.d.ts +0 -91
- package/dist/utils/toolDisplay.d.ts +0 -31
- package/dist/utils/truncate.d.ts +0 -40
- package/dist/voice/index.d.ts +0 -35
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Per-(provider, model) capability descriptor.
|
|
3
|
-
*
|
|
4
|
-
* Captures the subset of request-shape divergence we've actually observed
|
|
5
|
-
* cause HTTP 400s or behavior changes. Each rule in `rules.ts` produces
|
|
6
|
-
* one of these; clients spread it into the outgoing request.
|
|
7
|
-
*
|
|
8
|
-
* Sources for every field are documented next to the matching rule in
|
|
9
|
-
* `rules.ts` — vendor docs, not folklore.
|
|
10
|
-
*/
|
|
11
|
-
import type { ProviderKindName } from "../provider-kinds.js";
|
|
12
|
-
/** OpenAI-style reasoning effort levels — shared by several vendors. */
|
|
13
|
-
export type ReasoningEffort = "minimal" | "low" | "medium" | "high";
|
|
14
|
-
/** A binary thinking switch, like DeepSeek V4 and Z.AI GLM use. */
|
|
15
|
-
export type ThinkingSwitch = "enabled" | "disabled";
|
|
16
|
-
/**
|
|
17
|
-
* How the vendor exposes a "think harder / think less" knob (or none).
|
|
18
|
-
* Each kind has different field names and value shapes — we keep them
|
|
19
|
-
* separate so the engine can't accidentally cross-pollinate.
|
|
20
|
-
*/
|
|
21
|
-
export type ReasoningShape = {
|
|
22
|
-
kind: "none";
|
|
23
|
-
}
|
|
24
|
-
/** DeepSeek V4, Z.AI GLM-4.5+ — `{thinking: {type: "enabled"|"disabled"}}` at top level. */
|
|
25
|
-
| {
|
|
26
|
-
kind: "deepseek-thinking";
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* OpenAI o-series & gpt-5+ — `reasoning_effort: "minimal"|"low"|"medium"|"high"`.
|
|
30
|
-
* `disabledEffort` is the value we send when the caller asks for thinking
|
|
31
|
-
* "disabled" — defaults to `"minimal"` (OpenAI), but vendors with a
|
|
32
|
-
* narrower vocabulary override it (e.g. xAI Grok 4.3 has no `"minimal"`;
|
|
33
|
-
* Mistral Magistral only accepts `"high"` and `"none"`).
|
|
34
|
-
*/
|
|
35
|
-
| {
|
|
36
|
-
kind: "openai-effort";
|
|
37
|
-
disabledEffort?: ReasoningEffort | "none";
|
|
38
|
-
}
|
|
39
|
-
/** Anthropic Claude 4.x ≤ 4.5 — `{thinking: {type: "enabled", budget_tokens: N}}`. */
|
|
40
|
-
| {
|
|
41
|
-
kind: "anthropic-budget";
|
|
42
|
-
minBudgetTokens: number;
|
|
43
|
-
}
|
|
44
|
-
/** Anthropic Claude 4.6+ — no opt-in, thinking is adaptive. Sending `type: "enabled"` 400s. */
|
|
45
|
-
| {
|
|
46
|
-
kind: "anthropic-adaptive";
|
|
47
|
-
}
|
|
48
|
-
/** OpenRouter normalized — `{reasoning: {effort, max_tokens, exclude, enabled}}`. */
|
|
49
|
-
| {
|
|
50
|
-
kind: "openrouter-reasoning";
|
|
51
|
-
};
|
|
52
|
-
/**
|
|
53
|
-
* How prior `reasoning_content` (or `thinking` blocks) must be threaded
|
|
54
|
-
* back into the next request.
|
|
55
|
-
*/
|
|
56
|
-
export type EchoReasoning =
|
|
57
|
-
/** DeepSeek `deepseek-reasoner`: 400 if you echo it back at all. */
|
|
58
|
-
"never"
|
|
59
|
-
/** DeepSeek V4 + tools, Claude 4.x + tools: must echo or 400. */
|
|
60
|
-
| "when-tools"
|
|
61
|
-
/** Optional — echo if you have it, but absence is fine. */
|
|
62
|
-
| "optional";
|
|
63
|
-
/**
|
|
64
|
-
* Parallel-tool-call shape. OpenAI exposes `parallel_tool_calls: bool`.
|
|
65
|
-
* Anthropic exposes it inside `tool_choice.disable_parallel_tool_use`.
|
|
66
|
-
* Some endpoints don't support it at all.
|
|
67
|
-
*/
|
|
68
|
-
export type ParallelToolCallsShape = "openai-flag" | "anthropic-disable-flag" | "unsupported";
|
|
69
|
-
/**
|
|
70
|
-
* Streaming usage signal. OpenAI-compat needs `stream_options:
|
|
71
|
-
* {include_usage: true}`; Anthropic always emits usage in
|
|
72
|
-
* `message_delta`; some endpoints reject the field.
|
|
73
|
-
*/
|
|
74
|
-
export type StreamUsageShape = "include-usage-flag" | "auto" | "none";
|
|
75
|
-
export interface Capability {
|
|
76
|
-
/** Token-limit request field. */
|
|
77
|
-
tokenLimitField: "max_tokens" | "max_completion_tokens";
|
|
78
|
-
/**
|
|
79
|
-
* Request fields the model 400s on (or silently drops). We just don't
|
|
80
|
-
* send them. Names are in OpenAI-compat spelling; clients translate
|
|
81
|
-
* for native protocols.
|
|
82
|
-
*/
|
|
83
|
-
rejectedParams: ReadonlySet<"temperature" | "top_p" | "presence_penalty" | "frequency_penalty" | "logit_bias" | "logprobs" | "top_logprobs">;
|
|
84
|
-
/** How thinking is exposed (or not). */
|
|
85
|
-
reasoning: ReasoningShape;
|
|
86
|
-
/** Echo-back contract for prior reasoning. */
|
|
87
|
-
echoReasoning: EchoReasoning;
|
|
88
|
-
/** Parallel-tool-calls flag shape. */
|
|
89
|
-
parallelToolCalls: ParallelToolCallsShape;
|
|
90
|
-
/** Streaming usage reporting shape. */
|
|
91
|
-
streamUsage: StreamUsageShape;
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* Conservative default — used when no rule matches. Picks "send everything
|
|
95
|
-
* the vanilla OpenAI Chat Completions spec accepts," because that's what
|
|
96
|
-
* every OpenAI-compat endpoint at minimum understands.
|
|
97
|
-
*/
|
|
98
|
-
export declare const DEFAULT_CAPABILITY: Capability;
|
|
99
|
-
export interface CapabilityRule {
|
|
100
|
-
/** Which provider kind this rule applies to. */
|
|
101
|
-
kind: ProviderKindName;
|
|
102
|
-
/** Model-id matcher. First matching rule wins (per kind). */
|
|
103
|
-
match: RegExp;
|
|
104
|
-
/** Patch applied on top of DEFAULT_CAPABILITY. */
|
|
105
|
-
capability: Partial<Capability>;
|
|
106
|
-
/** Free-text reason — shown in logs, helps future-you. */
|
|
107
|
-
why: string;
|
|
108
|
-
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Abstract base class for all LLM provider clients.
|
|
3
|
-
*/
|
|
4
|
-
import type { LLMConfig, LLMResponse, TokenUsage } from "../types.js";
|
|
5
|
-
import type { CreateMessageOptions, LLMUsageTracker } from "./types.js";
|
|
6
|
-
export declare abstract class LLMClientBase {
|
|
7
|
-
protected readonly config: LLMConfig;
|
|
8
|
-
readonly provider: string;
|
|
9
|
-
readonly model: string;
|
|
10
|
-
readonly temperature: number;
|
|
11
|
-
readonly maxTokens: number;
|
|
12
|
-
readonly timeout: number;
|
|
13
|
-
readonly retryMaxAttempts: number;
|
|
14
|
-
readonly enableStreaming: boolean;
|
|
15
|
-
/**
|
|
16
|
-
* Process-wide hook fired on every LLM response. The CLI installs this in
|
|
17
|
-
* main.ts to feed the cost tracker; lives on the base class so every code
|
|
18
|
-
* path (REPL, run, arena, sub-agents) reports through one funnel without
|
|
19
|
-
* each call site needing to remember.
|
|
20
|
-
*/
|
|
21
|
-
static onUsage?: (model: string, usage: TokenUsage) => void;
|
|
22
|
-
protected usage: LLMUsageTracker;
|
|
23
|
-
constructor(config: LLMConfig);
|
|
24
|
-
protected abstract initClient(): void;
|
|
25
|
-
abstract createMessage(options: CreateMessageOptions): Promise<LLMResponse>;
|
|
26
|
-
protected recordUsage(usage: TokenUsage, options?: CreateMessageOptions): void;
|
|
27
|
-
getUsage(): LLMUsageTracker;
|
|
28
|
-
protected withRetry<T>(fn: () => Promise<T>, maxAttempts?: number): Promise<T>;
|
|
29
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* LLM provider factory with registry pattern.
|
|
3
|
-
*/
|
|
4
|
-
import type { LLMConfig } from "../types.js";
|
|
5
|
-
import type { LLMClientBase } from "./client-base.js";
|
|
6
|
-
type ProviderConstructor = new (config: LLMConfig) => LLMClientBase;
|
|
7
|
-
declare const PROVIDER_REGISTRY: Map<string, ProviderConstructor>;
|
|
8
|
-
export declare function registerProvider(name: string, cls: ProviderConstructor): void;
|
|
9
|
-
export declare function createLLMClient(config: LLMConfig): Promise<LLMClientBase>;
|
|
10
|
-
export { PROVIDER_REGISTRY };
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Cache file IO for per-provider model lists.
|
|
3
|
-
*
|
|
4
|
-
* One file per provider key under <cacheDir>/<providerKey>.json. TTL is
|
|
5
|
-
* 7 days. Callers decide whether to honor staleness — readCache just
|
|
6
|
-
* reads, isStale just checks. Malformed/missing files yield undefined.
|
|
7
|
-
*/
|
|
8
|
-
export interface CachedModel {
|
|
9
|
-
id: string;
|
|
10
|
-
contextLength: number;
|
|
11
|
-
maxOutputTokens: number;
|
|
12
|
-
}
|
|
13
|
-
export interface ModelCacheFile {
|
|
14
|
-
fetchedAt: string;
|
|
15
|
-
providerKey: string;
|
|
16
|
-
models: CachedModel[];
|
|
17
|
-
}
|
|
18
|
-
export declare function readCache(cacheDir: string, providerKey: string): ModelCacheFile | undefined;
|
|
19
|
-
export declare function writeCache(cacheDir: string, providerKey: string, models: CachedModel[]): ModelCacheFile;
|
|
20
|
-
export declare function isStale(file: ModelCacheFile, now?: number): boolean;
|
|
21
|
-
export declare function defaultCacheDir(): string;
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Fetch a provider's model list from its official /v1/models endpoint
|
|
3
|
-
* (or the local OpenRouter snapshot). Normalizes wildly different
|
|
4
|
-
* response shapes into a uniform `CachedModel[]`, applies the kind's
|
|
5
|
-
* chat-only filter, and writes to disk cache.
|
|
6
|
-
*
|
|
7
|
-
* Network failures don't throw — they return `{ models: [], error }`
|
|
8
|
-
* so the UI can prompt the user to refresh later or fall back to
|
|
9
|
-
* manual entry.
|
|
10
|
-
*/
|
|
11
|
-
import { type ProviderKindName } from "./provider-kinds.js";
|
|
12
|
-
import { type ModelCacheFile } from "./model-cache.js";
|
|
13
|
-
export interface FetcherProvider {
|
|
14
|
-
key: string;
|
|
15
|
-
kind: ProviderKindName;
|
|
16
|
-
baseUrl: string;
|
|
17
|
-
apiKey: string | undefined;
|
|
18
|
-
modelsPath?: string;
|
|
19
|
-
}
|
|
20
|
-
export interface FetchOptions {
|
|
21
|
-
cacheDir: string;
|
|
22
|
-
refresh?: boolean;
|
|
23
|
-
timeoutMs?: number;
|
|
24
|
-
}
|
|
25
|
-
export interface FetchResult extends ModelCacheFile {
|
|
26
|
-
error?: string;
|
|
27
|
-
fromCache?: boolean;
|
|
28
|
-
}
|
|
29
|
-
export declare function fetchModelList(provider: FetcherProvider, opts: FetchOptions): Promise<FetchResult>;
|
package/dist/llm/model-pool.d.ts
DELETED
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ModelPool — runtime model registry.
|
|
3
|
-
*
|
|
4
|
-
* Holds all available models loaded from settings. Provides:
|
|
5
|
-
* - `get(key?)` — retrieve a model config by key, or the active one
|
|
6
|
-
* - `switch(key)` — change the active model
|
|
7
|
-
* - `list()` — list all available models
|
|
8
|
-
* - `register(entry)` — add a model at runtime
|
|
9
|
-
*
|
|
10
|
-
* Consumers:
|
|
11
|
-
* - Engine/TurnLoop: `pool.get()` for the active model
|
|
12
|
-
* - Arena: `pool.get("sonnet")` to resolve participants by key
|
|
13
|
-
* - /model command: `pool.switch("haiku")` for hot-swap
|
|
14
|
-
*/
|
|
15
|
-
import type { LLMConfig } from "../types.js";
|
|
16
|
-
export interface ModelEntry {
|
|
17
|
-
/** Short alias: "claude", "sonnet", "haiku", "gpt", "deepseek" */
|
|
18
|
-
key: string;
|
|
19
|
-
/** Human-readable label. Auto-generated from model path if not provided. */
|
|
20
|
-
label?: string;
|
|
21
|
-
provider: string;
|
|
22
|
-
/** Full model path: "anthropic/claude-opus-4-6" */
|
|
23
|
-
model: string;
|
|
24
|
-
baseUrl?: string;
|
|
25
|
-
apiKey?: string;
|
|
26
|
-
maxOutputTokens?: number;
|
|
27
|
-
/** Per-model context window size. Falls back to config.maxContextTokens → 200_000. */
|
|
28
|
-
maxContextTokens?: number;
|
|
29
|
-
/** Optional reference into ProviderCatalog. When set, baseUrl/apiKey
|
|
30
|
-
* come from the catalog unless the entry overrides them. */
|
|
31
|
-
providerKey?: string;
|
|
32
|
-
/**
|
|
33
|
-
* Per-model thinking override. Wins over the provider-level setting
|
|
34
|
-
* (ProviderCatalog entry's `thinking`). Useful when models in the same
|
|
35
|
-
* provider need different defaults — e.g. DeepSeek V4 Pro off but
|
|
36
|
-
* V4 Flash on.
|
|
37
|
-
*/
|
|
38
|
-
thinking?: "enabled" | "disabled";
|
|
39
|
-
}
|
|
40
|
-
export declare class ModelPool {
|
|
41
|
-
private models;
|
|
42
|
-
private activeKey;
|
|
43
|
-
private providerCatalog;
|
|
44
|
-
private cacheDir;
|
|
45
|
-
setProviderCatalog(cat: import("./provider-catalog.js").ProviderCatalog): void;
|
|
46
|
-
setCacheDir(dir: string): void;
|
|
47
|
-
/**
|
|
48
|
-
* For each entry in the pool that lacks an explicit maxContextTokens
|
|
49
|
-
* but has a providerKey, look up the contextLength from the cached
|
|
50
|
-
* model list and patch it in.
|
|
51
|
-
*/
|
|
52
|
-
reloadCachedContextWindows(): void;
|
|
53
|
-
/**
|
|
54
|
-
* Build a pool from an array of model entries.
|
|
55
|
-
* The first entry (or the one matching `defaultKey`) becomes active.
|
|
56
|
-
*/
|
|
57
|
-
constructor(entries?: ModelEntry[], defaultKey?: string);
|
|
58
|
-
/** Register a model at runtime. */
|
|
59
|
-
register(entry: ModelEntry): void;
|
|
60
|
-
/** Fill in known defaults (e.g. context window for DeepSeek V4) when the entry doesn't specify them. */
|
|
61
|
-
private withBuiltinDefaults;
|
|
62
|
-
/** Switch the active model. Throws if key not found. */
|
|
63
|
-
switch(key: string): ModelEntry;
|
|
64
|
-
/** Get a model by key. No key = active model. Returns undefined if not found. */
|
|
65
|
-
get(key?: string): ModelEntry | undefined;
|
|
66
|
-
/** Get the active model key. */
|
|
67
|
-
getActiveKey(): string | undefined;
|
|
68
|
-
/** List all registered models. */
|
|
69
|
-
list(): ModelEntry[];
|
|
70
|
-
/** Number of registered models. */
|
|
71
|
-
get size(): number;
|
|
72
|
-
/** Check if a key exists. */
|
|
73
|
-
has(key: string): boolean;
|
|
74
|
-
/**
|
|
75
|
-
* Build an LLMConfig for a given model entry, merging with a base config
|
|
76
|
-
* (inherits apiKey, baseUrl, etc. from the base if not set on the entry).
|
|
77
|
-
*/
|
|
78
|
-
toLLMConfig(entry: ModelEntry, base?: Partial<LLMConfig>): LLMConfig;
|
|
79
|
-
/**
|
|
80
|
-
* Build an LLMConfig for the active model (or a specific key),
|
|
81
|
-
* merging with a base config.
|
|
82
|
-
*/
|
|
83
|
-
resolveLLMConfig(key?: string, base?: Partial<LLMConfig>): LLMConfig | undefined;
|
|
84
|
-
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* In-memory catalog of provider credentials. Mirrors settings.providers[]
|
|
3
|
-
* but offers a small API for add/update/remove that validates uniqueness
|
|
4
|
-
* and (for remove) refuses to delete a provider still referenced by a
|
|
5
|
-
* model entry. The caller persists changes back to settings.
|
|
6
|
-
*/
|
|
7
|
-
import type { ProviderKindName } from "./provider-kinds.js";
|
|
8
|
-
export interface ProviderConfig {
|
|
9
|
-
key: string;
|
|
10
|
-
label?: string;
|
|
11
|
-
kind: ProviderKindName;
|
|
12
|
-
baseUrl: string;
|
|
13
|
-
apiKey?: string;
|
|
14
|
-
protocol?: "openai-compat" | "anthropic-style";
|
|
15
|
-
modelsPath?: string;
|
|
16
|
-
/** Default DeepSeek V4 thinking-mode for this provider. See LLMConfig. */
|
|
17
|
-
thinking?: "enabled" | "disabled";
|
|
18
|
-
}
|
|
19
|
-
export declare class ProviderCatalog {
|
|
20
|
-
private byKey;
|
|
21
|
-
constructor(entries?: ProviderConfig[]);
|
|
22
|
-
list(): ProviderConfig[];
|
|
23
|
-
get(key: string): ProviderConfig | undefined;
|
|
24
|
-
has(key: string): boolean;
|
|
25
|
-
add(entry: ProviderConfig): void;
|
|
26
|
-
update(key: string, patch: Partial<ProviderConfig>): void;
|
|
27
|
-
remove(key: string, opts: {
|
|
28
|
-
referencedBy: string[];
|
|
29
|
-
}): void;
|
|
30
|
-
/** Compute an unused key for a new provider, given a desired base. */
|
|
31
|
-
deriveKey(base: string): string;
|
|
32
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Built-in provider kind metadata.
|
|
3
|
-
*
|
|
4
|
-
* Each kind defines how to talk to that provider family: where its
|
|
5
|
-
* model list lives, what auth header to send, which model IDs to keep
|
|
6
|
-
* (chat-completion only — embeddings / TTS / image generation are
|
|
7
|
-
* filtered out so they don't show up in the model picker).
|
|
8
|
-
*/
|
|
9
|
-
export type ProviderKindName = "openai" | "anthropic" | "deepseek" | "zai" | "xai" | "mistral" | "groq" | "google" | "openrouter" | "ollama" | "custom";
|
|
10
|
-
export type ProviderProtocol = "openai-compat" | "anthropic-style" | "gemini" | "ollama";
|
|
11
|
-
export interface ProviderKindMeta {
|
|
12
|
-
label: string;
|
|
13
|
-
defaultBaseUrl: string;
|
|
14
|
-
modelsPath: string;
|
|
15
|
-
protocol: ProviderProtocol;
|
|
16
|
-
authHeader: (apiKey: string) => Record<string, string>;
|
|
17
|
-
chatFilter: (id: string) => boolean;
|
|
18
|
-
authQuery?: (apiKey: string) => Record<string, string>;
|
|
19
|
-
}
|
|
20
|
-
export declare const PROVIDER_KINDS: Record<ProviderKindName, ProviderKindMeta>;
|
|
21
|
-
export declare function getKindMeta(kind: string): ProviderKindMeta;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Anthropic Claude provider using @anthropic-ai/sdk.
|
|
3
|
-
*/
|
|
4
|
-
import type { LLMConfig, LLMResponse } from "../../types.js";
|
|
5
|
-
import type { CreateMessageOptions } from "../types.js";
|
|
6
|
-
import { LLMClientBase } from "../client-base.js";
|
|
7
|
-
export declare class AnthropicClient extends LLMClientBase {
|
|
8
|
-
private _client;
|
|
9
|
-
constructor(config: LLMConfig);
|
|
10
|
-
protected initClient(): void;
|
|
11
|
-
private get client();
|
|
12
|
-
createMessage(options: CreateMessageOptions): Promise<LLMResponse>;
|
|
13
|
-
private nonStreamMessage;
|
|
14
|
-
private streamMessage;
|
|
15
|
-
private processResponse;
|
|
16
|
-
private buildMessages;
|
|
17
|
-
private convertTools;
|
|
18
|
-
private handleApiError;
|
|
19
|
-
}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* OpenAI GPT provider using openai SDK.
|
|
3
|
-
*
|
|
4
|
-
* Serves every OpenAI-compatible endpoint we support (OpenAI, DeepSeek,
|
|
5
|
-
* OpenRouter, Z.AI, xAI, Mistral, Groq, Gemini-OpenAI-compat, Ollama,
|
|
6
|
-
* custom). Per-(provider, model) request-shape divergence — token-limit
|
|
7
|
-
* field name, rejected sampling params, thinking knob, reasoning echo —
|
|
8
|
-
* is resolved through `capabilitiesFor()`, not hardcoded.
|
|
9
|
-
*/
|
|
10
|
-
import type { LLMConfig, LLMResponse } from "../../types.js";
|
|
11
|
-
import type { CreateMessageOptions } from "../types.js";
|
|
12
|
-
import { LLMClientBase } from "../client-base.js";
|
|
13
|
-
interface RunStreamOpts {
|
|
14
|
-
idleTimeoutMs?: number;
|
|
15
|
-
requestId?: string;
|
|
16
|
-
/**
|
|
17
|
-
* Per-chunk handler — invoked synchronously with the raw chunk for the
|
|
18
|
-
* provider to do its own parsing. Returns the text delta (or "") for
|
|
19
|
-
* the watchdog-side text accumulator used in tests.
|
|
20
|
-
*/
|
|
21
|
-
onChunk?: (chunk: any) => string;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Consume an async iterable of stream chunks with an idle watchdog.
|
|
25
|
-
* Returns the accumulated text — either from onChunk return values, or
|
|
26
|
-
* by extracting choices[0].delta.content from raw chunks (useful in tests
|
|
27
|
-
* that call runStreamWithWatchdog directly without an onChunk handler).
|
|
28
|
-
*
|
|
29
|
-
* The watchdog is active whenever opts.idleTimeoutMs is explicitly provided,
|
|
30
|
-
* or when STREAM_WATCHDOG_CONFIG.enabled is true. When active, each call to
|
|
31
|
-
* iterator.next() races against an idle deadline; if the deadline fires first
|
|
32
|
-
* the function rejects with StreamIdleTimeoutError.
|
|
33
|
-
*/
|
|
34
|
-
export declare function runStreamWithWatchdog<T = any>(stream: AsyncIterable<T>, opts?: RunStreamOpts): Promise<string>;
|
|
35
|
-
export declare class OpenAIClient extends LLMClientBase {
|
|
36
|
-
private _client;
|
|
37
|
-
private _forceMaxCompletionTokens;
|
|
38
|
-
constructor(config: LLMConfig);
|
|
39
|
-
protected initClient(): void;
|
|
40
|
-
private get client();
|
|
41
|
-
/**
|
|
42
|
-
* Resolve the capability descriptor for the current (provider kind, model)
|
|
43
|
-
* pair. Cached for the lifetime of the client — model never changes
|
|
44
|
-
* mid-client. `providerKind` defaults to "openai" because legacy LLMConfig
|
|
45
|
-
* paths (arena, env-derived) don't always populate it; for those, the
|
|
46
|
-
* built-in rules table treats them as plain OpenAI.
|
|
47
|
-
*/
|
|
48
|
-
private _capability;
|
|
49
|
-
private get capability();
|
|
50
|
-
createMessage(options: CreateMessageOptions): Promise<LLMResponse>;
|
|
51
|
-
/**
|
|
52
|
-
* Build the request body honoring the model's capability descriptor.
|
|
53
|
-
* Centralized so both streaming and non-streaming paths agree on the
|
|
54
|
-
* exact shape.
|
|
55
|
-
*/
|
|
56
|
-
private buildRequestBody;
|
|
57
|
-
private nonStreamMessage;
|
|
58
|
-
private streamMessage;
|
|
59
|
-
private processChoice;
|
|
60
|
-
private buildMessages;
|
|
61
|
-
private convertTools;
|
|
62
|
-
private handleApiError;
|
|
63
|
-
}
|
|
64
|
-
export {};
|
package/dist/llm/retry.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Retry classification — which errors trigger an automatic retry of the
|
|
3
|
-
* streaming LLM call?
|
|
4
|
-
*
|
|
5
|
-
* Stream-idle timeouts are retried — the upstream may have just recovered.
|
|
6
|
-
* User-initiated aborts (AbortError) are never retried — the user explicitly
|
|
7
|
-
* asked for the work to stop.
|
|
8
|
-
*
|
|
9
|
-
* Other transient errors (5xx, 429, ECONNRESET) are out of scope for this
|
|
10
|
-
* iteration; add them here as they become observed.
|
|
11
|
-
*/
|
|
12
|
-
export declare function isRetryable(err: unknown): boolean;
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Stream Idle Watchdog — guarantees an upper bound on the time a streaming
|
|
3
|
-
* LLM call can spend with no bytes arriving. Without this, a wedged HTTP/2
|
|
4
|
-
* connection can hang the session indefinitely; the SDK's request timeout
|
|
5
|
-
* only covers the initial fetch, not the streaming body.
|
|
6
|
-
*
|
|
7
|
-
* Disabled by default. Enabled via env CODESHELL_ENABLE_STREAM_WATCHDOG=1.
|
|
8
|
-
*/
|
|
9
|
-
export interface StreamWatchdogOptions {
|
|
10
|
-
/** Abort the stream when no chunks arrive within this window. */
|
|
11
|
-
idleTimeoutMs: number;
|
|
12
|
-
/** Called when the watchdog decides to abort. */
|
|
13
|
-
onTimeout: () => void;
|
|
14
|
-
/**
|
|
15
|
-
* Called at idleTimeoutMs/2 (or warningMs if provided). Logging only —
|
|
16
|
-
* the watchdog does not abort on warning. The argument is the configured
|
|
17
|
-
* warning threshold (NOT real-time elapsed) so callers can format the log
|
|
18
|
-
* without re-deriving it.
|
|
19
|
-
*/
|
|
20
|
-
onWarning?: (warnThresholdMs: number) => void;
|
|
21
|
-
/** Override the warning trigger; defaults to idleTimeoutMs / 2. */
|
|
22
|
-
warningMs?: number;
|
|
23
|
-
}
|
|
24
|
-
export interface StreamWatchdog {
|
|
25
|
-
/** Re-arm both timers — call after every chunk. */
|
|
26
|
-
reset(): void;
|
|
27
|
-
/** Clear all timers permanently — call in finally. */
|
|
28
|
-
dispose(): void;
|
|
29
|
-
}
|
|
30
|
-
export declare class StreamIdleTimeoutError extends Error {
|
|
31
|
-
idleMs: number;
|
|
32
|
-
requestId?: string | undefined;
|
|
33
|
-
readonly kind = "stream-idle-timeout";
|
|
34
|
-
constructor(idleMs: number, requestId?: string | undefined);
|
|
35
|
-
}
|
|
36
|
-
export declare function createStreamWatchdog(opts: StreamWatchdogOptions): StreamWatchdog;
|
|
37
|
-
/** Environment-driven defaults. Read once at import time is fine — these never change inside a process. */
|
|
38
|
-
export declare const STREAM_WATCHDOG_CONFIG: {
|
|
39
|
-
enabled: boolean;
|
|
40
|
-
idleTimeoutMs: number;
|
|
41
|
-
retries: number;
|
|
42
|
-
};
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Token counter — best-effort live token count for streaming output.
|
|
3
|
-
*
|
|
4
|
-
* Uses gpt-tokenizer's cl100k_base encoding. It's exact for GPT-4 family and
|
|
5
|
-
* close enough (within ~10%) for Claude/DeepSeek/Qwen for the purpose of a
|
|
6
|
-
* live counter in the UI. The authoritative number is still the provider's
|
|
7
|
-
* `usage` field, captured at end-of-stream.
|
|
8
|
-
*
|
|
9
|
-
* The encoder is lazy-initialized on first use so we don't pay the cost on
|
|
10
|
-
* startup for sessions that never stream.
|
|
11
|
-
*/
|
|
12
|
-
/**
|
|
13
|
-
* Count tokens in `text`. Synchronous. If the encoder isn't loaded yet,
|
|
14
|
-
* falls back to chars/4 — only happens for the very first stream chunk in a
|
|
15
|
-
* cold process.
|
|
16
|
-
*/
|
|
17
|
-
export declare function countTokens(text: string): number;
|
package/dist/llm/types.d.ts
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* LLM-specific internal types.
|
|
3
|
-
*/
|
|
4
|
-
import type { Message, ToolDefinition, LLMStreamChunk, TokenUsage } from "../types.js";
|
|
5
|
-
export interface CreateMessageOptions {
|
|
6
|
-
systemPrompt: string;
|
|
7
|
-
messages: Message[];
|
|
8
|
-
tools?: ToolDefinition[];
|
|
9
|
-
temperature?: number;
|
|
10
|
-
maxTokens?: number;
|
|
11
|
-
stream?: boolean;
|
|
12
|
-
onChunk?: (chunk: LLMStreamChunk) => void;
|
|
13
|
-
signal?: AbortSignal;
|
|
14
|
-
/**
|
|
15
|
-
* If false, this call's usage is excluded from the client's usage tracker
|
|
16
|
-
* and from the process-wide onUsage hook. Used for auxiliary sub-calls
|
|
17
|
-
* (tool-summary, future helper prompts) that should not appear in
|
|
18
|
-
* session_end.cost or skew turn/requestCount semantics.
|
|
19
|
-
* @default true
|
|
20
|
-
*/
|
|
21
|
-
recordUsage?: boolean;
|
|
22
|
-
/**
|
|
23
|
-
* DeepSeek V4 thinking-mode switch. "enabled" is the endpoint default;
|
|
24
|
-
* "disabled" turns reasoning off (faster, cheaper, no `reasoning_content`
|
|
25
|
-
* on the reply). Ignored by every provider except DeepSeek V4 — the OpenAI
|
|
26
|
-
* SDK forwards unknown top-level fields verbatim, so it's harmless on
|
|
27
|
-
* other compatible endpoints.
|
|
28
|
-
*/
|
|
29
|
-
thinking?: "enabled" | "disabled";
|
|
30
|
-
}
|
|
31
|
-
export interface LLMUsageTracker {
|
|
32
|
-
records: TokenUsage[];
|
|
33
|
-
totalPromptTokens: number;
|
|
34
|
-
totalCompletionTokens: number;
|
|
35
|
-
totalTokens: number;
|
|
36
|
-
requestCount: number;
|
|
37
|
-
}
|
package/dist/logging/logger.d.ts
DELETED
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Unified file logger for code-shell.
|
|
3
|
-
*
|
|
4
|
-
* Sinks (JSON Lines), routed by `cat`:
|
|
5
|
-
* ~/.code-shell/logs/ui-ink-YYYY-MM-DD.log
|
|
6
|
-
* — UI/ink chatter: stream events, ctx render, ink screen diffs.
|
|
7
|
-
* ~/.code-shell/logs/engine-YYYY-MM-DD.log
|
|
8
|
-
* — everything else: engine, llm, tool, context, mcp, sandbox, ...
|
|
9
|
-
*
|
|
10
|
-
* Routing is by entry `cat`: cat ∈ {ui, ink, render, stream} → ui-ink bucket;
|
|
11
|
-
* anything else → engine bucket. Run scripts/logs.sh to query both at once
|
|
12
|
-
* (merge sorted by timestamp, filter by sid, etc).
|
|
13
|
-
*
|
|
14
|
-
* Level defaults:
|
|
15
|
-
* - Local dev (CODE_SHELL_DEV=1, or running from src/, or --debug) → "debug"
|
|
16
|
-
* - Otherwise → "info"
|
|
17
|
-
* - CODE_SHELL_LOG_LEVEL overrides everything.
|
|
18
|
-
*
|
|
19
|
-
* Category filter (--debug=mcp,api or CODE_SHELL_DEBUG=mcp,api):
|
|
20
|
-
* When set, only debug logs whose `cat` matches are written.
|
|
21
|
-
*
|
|
22
|
-
* Disable entirely: CODE_SHELL_LOG=0
|
|
23
|
-
*/
|
|
24
|
-
export type LogLevel = "debug" | "info" | "warn" | "error";
|
|
25
|
-
export declare function setCurrentSid(sid: string): void;
|
|
26
|
-
export declare function getCurrentSid(): string;
|
|
27
|
-
/**
|
|
28
|
-
* Run `fn` inside an ALS scope tagged with `sid`. All log lines emitted
|
|
29
|
-
* synchronously or via `await` inside `fn` resolve `getCurrentSid()` to
|
|
30
|
-
* this `sid` — concurrent Engine.run invocations no longer race on a
|
|
31
|
-
* module global.
|
|
32
|
-
*/
|
|
33
|
-
export declare function runWithSid<T>(sid: string, fn: () => T | Promise<T>): T | Promise<T>;
|
|
34
|
-
/**
|
|
35
|
-
* Bind `sid` to the *current* async context without needing a callback.
|
|
36
|
-
* The binding lasts until the current async stack unwinds; concurrent
|
|
37
|
-
* sibling async chains keep their own bindings. Engine.run uses this so
|
|
38
|
-
* we don't have to indent the entire (long) method body into a callback.
|
|
39
|
-
*/
|
|
40
|
-
export declare function enterSid(sid: string): void;
|
|
41
|
-
export declare function getInMemoryErrors(): ReadonlyArray<{
|
|
42
|
-
msg: string;
|
|
43
|
-
t: string;
|
|
44
|
-
data?: unknown;
|
|
45
|
-
}>;
|
|
46
|
-
export type ErrorLogSink = {
|
|
47
|
-
logError: (error: Error) => void;
|
|
48
|
-
logMCPError: (serverName: string, error: unknown) => void;
|
|
49
|
-
logMCPDebug: (serverName: string, message: string) => void;
|
|
50
|
-
getErrorsPath: () => string;
|
|
51
|
-
getMCPLogsPath: (serverName: string) => string;
|
|
52
|
-
};
|
|
53
|
-
export declare function attachErrorLogSink(sink: ErrorLogSink): void;
|
|
54
|
-
export interface LogContext {
|
|
55
|
-
cat?: string;
|
|
56
|
-
sid?: string;
|
|
57
|
-
[key: string]: unknown;
|
|
58
|
-
}
|
|
59
|
-
declare class Logger {
|
|
60
|
-
private readonly context;
|
|
61
|
-
private readonly enabled;
|
|
62
|
-
private readonly minLevel;
|
|
63
|
-
private readonly categoryFilter;
|
|
64
|
-
private readonly stderrEcho;
|
|
65
|
-
private dirReady;
|
|
66
|
-
constructor(context?: LogContext);
|
|
67
|
-
child(extra: LogContext): Logger;
|
|
68
|
-
/**
|
|
69
|
-
* Set the session id stamped on every subsequent log entry written by
|
|
70
|
-
* any logger in the process. Called by Engine once a run's
|
|
71
|
-
* authoritative session id is known.
|
|
72
|
-
*/
|
|
73
|
-
setSid(sid: string): void;
|
|
74
|
-
getSid(): string;
|
|
75
|
-
debug(msg: string, data?: Record<string, unknown>): void;
|
|
76
|
-
info(msg: string, data?: Record<string, unknown>): void;
|
|
77
|
-
warn(msg: string, data?: Record<string, unknown>): void;
|
|
78
|
-
error(msgOrErr: string | Error | unknown, data?: Record<string, unknown> | Error): void;
|
|
79
|
-
private recordError;
|
|
80
|
-
private write;
|
|
81
|
-
getMinLevel(): LogLevel;
|
|
82
|
-
isCategoryActive(cat: string): boolean;
|
|
83
|
-
/**
|
|
84
|
-
* Open a span: writes a `<name>.begin` debug entry now and returns a handle
|
|
85
|
-
* whose `end()` writes `<name>.end` with `duration_ms` populated. Use for
|
|
86
|
-
* any "I want begin → end + how long" pattern (tool exec, LLM request,
|
|
87
|
-
* permission ask, etc.) so the begin/end pair is grouped under one cat
|
|
88
|
-
* and the duration is computed once instead of by hand from timestamps.
|
|
89
|
-
*/
|
|
90
|
-
span(name: string, data?: Record<string, unknown>): LogSpan;
|
|
91
|
-
}
|
|
92
|
-
export interface LogSpan {
|
|
93
|
-
end(extra?: Record<string, unknown>): void;
|
|
94
|
-
fail(err: unknown, extra?: Record<string, unknown>): void;
|
|
95
|
-
}
|
|
96
|
-
export declare const logger: Logger;
|
|
97
|
-
export declare function getLogsDir(): string;
|
|
98
|
-
export declare function getRecentLogs(n?: number): string[];
|
|
99
|
-
export declare function rotateLogs(): void;
|
|
100
|
-
/** @internal — for tests */
|
|
101
|
-
export declare function _resetLoggerStateForTesting(): void;
|
|
102
|
-
export {};
|