@oh-my-pi/pi-coding-agent 15.5.15 → 15.7.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 +81 -0
- package/dist/types/capability/rule-buckets.d.ts +30 -0
- package/dist/types/capability/rule.d.ts +7 -0
- package/dist/types/cli/classify-install-target.d.ts +0 -10
- package/dist/types/cli/completion-gen.d.ts +80 -0
- package/dist/types/cli/initial-message.d.ts +1 -1
- package/dist/types/cli/tiny-models-cli.d.ts +9 -0
- package/dist/types/commands/complete.d.ts +6 -0
- package/dist/types/commands/completions.d.ts +13 -0
- package/dist/types/commands/setup.d.ts +10 -1
- package/dist/types/commands/tiny-models.d.ts +22 -0
- package/dist/types/commit/analysis/conventional.d.ts +1 -1
- package/dist/types/commit/analysis/summary.d.ts +1 -1
- package/dist/types/commit/changelog/generate.d.ts +1 -1
- package/dist/types/commit/changelog/index.d.ts +2 -2
- package/dist/types/commit/map-reduce/map-phase.d.ts +1 -1
- package/dist/types/commit/map-reduce/reduce-phase.d.ts +1 -1
- package/dist/types/config/model-id-affixes.d.ts +10 -0
- package/dist/types/config/settings-schema.d.ts +402 -17
- package/dist/types/discovery/builtin-defaults.d.ts +1 -0
- package/dist/types/discovery/builtin-rules/index.d.ts +7 -0
- package/dist/types/discovery/helpers.d.ts +1 -1
- package/dist/types/discovery/index.d.ts +1 -0
- package/dist/types/discovery/substitute-plugin-root.d.ts +0 -4
- package/dist/types/edit/hashline/block-resolver.d.ts +9 -0
- package/dist/types/edit/hashline/index.d.ts +1 -0
- package/dist/types/eval/js/shared/rewrite-imports.d.ts +16 -1
- package/dist/types/eval/py/kernel.d.ts +3 -0
- package/dist/types/eval/py/runtime.d.ts +11 -1
- package/dist/types/export/html/template.generated.d.ts +1 -1
- package/dist/types/internal-urls/agent-protocol.d.ts +2 -1
- package/dist/types/internal-urls/artifact-protocol.d.ts +2 -1
- package/dist/types/internal-urls/local-protocol.d.ts +2 -1
- package/dist/types/internal-urls/memory-protocol.d.ts +2 -1
- package/dist/types/internal-urls/omp-protocol.d.ts +2 -1
- package/dist/types/internal-urls/router.d.ts +8 -1
- package/dist/types/internal-urls/rule-protocol.d.ts +2 -1
- package/dist/types/internal-urls/skill-protocol.d.ts +2 -1
- package/dist/types/internal-urls/types.d.ts +26 -0
- package/dist/types/main.d.ts +1 -0
- package/dist/types/memory-backend/index.d.ts +1 -0
- package/dist/types/memory-backend/resolve.d.ts +2 -1
- package/dist/types/memory-backend/types.d.ts +7 -1
- package/dist/types/mnemosyne/backend.d.ts +4 -0
- package/dist/types/mnemosyne/config.d.ts +29 -0
- package/dist/types/mnemosyne/index.d.ts +3 -0
- package/dist/types/mnemosyne/state.d.ts +72 -0
- package/dist/types/modes/components/custom-editor.d.ts +2 -3
- package/dist/types/modes/components/hook-selector.d.ts +27 -0
- package/dist/types/modes/components/index.d.ts +2 -0
- package/dist/types/modes/components/segment-track.d.ts +22 -0
- package/dist/types/modes/components/status-line/context-thresholds.d.ts +6 -0
- package/dist/types/modes/components/tiny-title-download-progress.d.ts +11 -0
- package/dist/types/modes/components/welcome.d.ts +22 -0
- package/dist/types/modes/controllers/extension-ui-controller.d.ts +4 -1
- package/dist/types/modes/gradient-highlight.d.ts +23 -0
- package/dist/types/modes/interactive-mode.d.ts +7 -4
- package/dist/types/modes/internal-url-autocomplete.d.ts +43 -0
- package/dist/types/modes/orchestrate.d.ts +10 -0
- package/dist/types/modes/setup-wizard/index.d.ts +16 -0
- package/dist/types/modes/setup-wizard/scenes/glyph.d.ts +2 -0
- package/dist/types/modes/setup-wizard/scenes/outro.d.ts +2 -0
- package/dist/types/modes/setup-wizard/scenes/providers.d.ts +2 -0
- package/dist/types/modes/setup-wizard/scenes/sign-in.d.ts +19 -0
- package/dist/types/modes/setup-wizard/scenes/splash.d.ts +11 -0
- package/dist/types/modes/setup-wizard/scenes/theme.d.ts +2 -0
- package/dist/types/modes/setup-wizard/scenes/types.d.ts +43 -0
- package/dist/types/modes/setup-wizard/scenes/web-search.d.ts +19 -0
- package/dist/types/modes/setup-wizard/wizard-overlay.d.ts +14 -0
- package/dist/types/modes/theme/defaults/index.d.ts +8406 -8406
- package/dist/types/modes/theme/shimmer.d.ts +2 -0
- package/dist/types/modes/theme/theme.d.ts +11 -0
- package/dist/types/modes/types.d.ts +5 -1
- package/dist/types/modes/ultrathink.d.ts +3 -3
- package/dist/types/modes/utils/keybinding-matchers.d.ts +5 -0
- package/dist/types/sdk.d.ts +3 -0
- package/dist/types/session/agent-session.d.ts +33 -0
- package/dist/types/system-prompt.d.ts +2 -0
- package/dist/types/task/executor.d.ts +2 -0
- package/dist/types/task/render.d.ts +5 -1
- package/dist/types/tiny/device.d.ts +78 -0
- package/dist/types/tiny/dtype.d.ts +85 -0
- package/dist/types/tiny/models.d.ts +185 -0
- package/dist/types/tiny/text.d.ts +19 -0
- package/dist/types/tiny/title-client.d.ts +32 -0
- package/dist/types/tiny/title-protocol.d.ts +74 -0
- package/dist/types/tiny/worker.d.ts +2 -0
- package/dist/types/tools/bash.d.ts +3 -2
- package/dist/types/tools/eval.d.ts +1 -1
- package/dist/types/tools/index.d.ts +7 -4
- package/dist/types/tools/memory-edit.d.ts +40 -0
- package/dist/types/tools/{hindsight-recall.d.ts → memory-recall.d.ts} +6 -6
- package/dist/types/tools/{hindsight-reflect.d.ts → memory-reflect.d.ts} +6 -6
- package/dist/types/tools/memory-render.d.ts +60 -0
- package/dist/types/tools/{hindsight-retain.d.ts → memory-retain.d.ts} +6 -6
- package/dist/types/tools/todo-write.d.ts +8 -0
- package/dist/types/tools/tool-result.d.ts +2 -0
- package/dist/types/tui/code-cell.d.ts +2 -0
- package/dist/types/tui/output-block.d.ts +17 -0
- package/dist/types/utils/title-generator.d.ts +3 -0
- package/package.json +18 -14
- package/scripts/build-binary.ts +1 -0
- package/src/capability/rule-buckets.ts +64 -0
- package/src/capability/rule.ts +8 -0
- package/src/cli/completion-gen.ts +550 -0
- package/src/cli/setup-cli.ts +5 -3
- package/src/cli/tiny-models-cli.ts +127 -0
- package/src/cli-commands.ts +3 -0
- package/src/cli.ts +9 -15
- package/src/commands/complete.ts +66 -0
- package/src/commands/completions.ts +60 -0
- package/src/commands/setup.ts +29 -4
- package/src/commands/tiny-models.ts +36 -0
- package/src/config/model-equivalence.ts +43 -2
- package/src/config/model-id-affixes.ts +64 -0
- package/src/config/model-registry.ts +84 -10
- package/src/config/settings-schema.ts +275 -15
- package/src/discovery/builtin-defaults.ts +39 -0
- package/src/discovery/builtin-rules/index.ts +48 -0
- package/src/discovery/builtin-rules/rs-box-leak.md +48 -0
- package/src/discovery/builtin-rules/rs-future-prelude.md +23 -0
- package/src/discovery/builtin-rules/rs-lazylock.md +51 -0
- package/src/discovery/builtin-rules/rs-match-ergonomics.md +67 -0
- package/src/discovery/builtin-rules/rs-parking-lot.md +44 -0
- package/src/discovery/builtin-rules/rs-result-type.md +19 -0
- package/src/discovery/builtin-rules/ts-bare-catch.md +38 -0
- package/src/discovery/builtin-rules/ts-import-type.md +42 -0
- package/src/discovery/builtin-rules/ts-no-any.md +56 -0
- package/src/discovery/builtin-rules/ts-no-dynamic-import.md +39 -0
- package/src/discovery/builtin-rules/ts-no-return-type.md +45 -0
- package/src/discovery/builtin-rules/ts-no-tiny-functions.md +50 -0
- package/src/discovery/builtin-rules/ts-promise-with-resolvers.md +65 -0
- package/src/discovery/builtin-rules/ts-set-map.md +28 -0
- package/src/discovery/index.ts +1 -0
- package/src/edit/hashline/block-resolver.ts +14 -0
- package/src/edit/hashline/diff.ts +9 -8
- package/src/edit/hashline/execute.ts +2 -1
- package/src/edit/hashline/index.ts +1 -0
- package/src/eval/__tests__/shared-executors.test.ts +36 -0
- package/src/eval/js/shared/local-module-loader.ts +13 -1
- package/src/eval/js/shared/rewrite-imports.ts +31 -26
- package/src/eval/py/kernel.ts +37 -15
- package/src/eval/py/runtime.ts +57 -28
- package/src/export/html/template.generated.ts +1 -1
- package/src/export/html/template.js +0 -12
- package/src/export/ttsr.ts +2 -0
- package/src/internal-urls/agent-protocol.ts +18 -1
- package/src/internal-urls/artifact-protocol.ts +19 -1
- package/src/internal-urls/docs-index.generated.ts +8 -7
- package/src/internal-urls/local-protocol.ts +14 -1
- package/src/internal-urls/memory-protocol.ts +6 -1
- package/src/internal-urls/omp-protocol.ts +5 -1
- package/src/internal-urls/router.ts +20 -1
- package/src/internal-urls/rule-protocol.ts +8 -1
- package/src/internal-urls/skill-protocol.ts +8 -1
- package/src/internal-urls/types.ts +27 -0
- package/src/lsp/render.ts +1 -1
- package/src/main.ts +18 -1
- package/src/mcp/oauth-flow.ts +2 -2
- package/src/memory-backend/index.ts +1 -0
- package/src/memory-backend/resolve.ts +4 -1
- package/src/memory-backend/types.ts +8 -1
- package/src/mnemosyne/backend.ts +374 -0
- package/src/mnemosyne/config.ts +160 -0
- package/src/mnemosyne/index.ts +3 -0
- package/src/mnemosyne/state.ts +548 -0
- package/src/modes/acp/acp-agent.ts +11 -6
- package/src/modes/components/agent-dashboard.ts +4 -4
- package/src/modes/components/custom-editor.ts +3 -2
- package/src/modes/components/diff.ts +2 -2
- package/src/modes/components/extensions/extension-list.ts +3 -2
- package/src/modes/components/footer.ts +5 -6
- package/src/modes/components/history-search.ts +3 -3
- package/src/modes/components/hook-selector.ts +92 -8
- package/src/modes/components/index.ts +2 -0
- package/src/modes/components/mcp-add-wizard.ts +3 -3
- package/src/modes/components/model-selector.ts +5 -4
- package/src/modes/components/oauth-selector.ts +3 -3
- package/src/modes/components/segment-track.ts +52 -0
- package/src/modes/components/session-observer-overlay.ts +19 -13
- package/src/modes/components/session-selector.ts +3 -3
- package/src/modes/components/settings-defs.ts +7 -0
- package/src/modes/components/status-line/context-thresholds.ts +11 -0
- package/src/modes/components/status-line/segments.ts +2 -2
- package/src/modes/components/tiny-title-download-progress.ts +90 -0
- package/src/modes/components/tips.txt +13 -0
- package/src/modes/components/tool-execution.ts +72 -4
- package/src/modes/components/tree-selector.ts +3 -3
- package/src/modes/components/user-message-selector.ts +3 -3
- package/src/modes/components/welcome.ts +102 -43
- package/src/modes/controllers/command-controller.ts +16 -1
- package/src/modes/controllers/extension-ui-controller.ts +3 -1
- package/src/modes/controllers/input-controller.ts +69 -21
- package/src/modes/gradient-highlight.ts +70 -0
- package/src/modes/interactive-mode.ts +75 -114
- package/src/modes/internal-url-autocomplete.ts +143 -0
- package/src/modes/orchestrate.ts +36 -0
- package/src/modes/prompt-action-autocomplete.ts +12 -0
- package/src/modes/setup-wizard/index.ts +88 -0
- package/src/modes/setup-wizard/scenes/glyph.ts +96 -0
- package/src/modes/setup-wizard/scenes/outro.ts +35 -0
- package/src/modes/setup-wizard/scenes/providers.ts +69 -0
- package/src/modes/setup-wizard/scenes/sign-in.ts +193 -0
- package/src/modes/setup-wizard/scenes/splash.ts +201 -0
- package/src/modes/setup-wizard/scenes/theme.ts +299 -0
- package/src/modes/setup-wizard/scenes/types.ts +48 -0
- package/src/modes/setup-wizard/scenes/web-search.ts +128 -0
- package/src/modes/setup-wizard/wizard-overlay.ts +275 -0
- package/src/modes/theme/shimmer.ts +5 -0
- package/src/modes/theme/theme.ts +44 -20
- package/src/modes/types.ts +6 -1
- package/src/modes/ultrathink.ts +9 -53
- package/src/modes/utils/keybinding-matchers.ts +11 -0
- package/src/prompts/system/memory-consolidation-system.md +8 -0
- package/src/prompts/system/memory-extraction-system.md +26 -0
- package/src/prompts/{commands/orchestrate.md → system/orchestrate-notice.md} +6 -17
- package/src/prompts/system/system-prompt.md +2 -0
- package/src/prompts/system/tiny-title-system.md +8 -0
- package/src/prompts/tools/memory-edit.md +8 -0
- package/src/prompts/tools/read.md +4 -0
- package/src/prompts/tools/task.md +4 -7
- package/src/sdk.ts +13 -21
- package/src/session/agent-session.ts +128 -44
- package/src/slash-commands/builtin-registry.ts +18 -1
- package/src/system-prompt.ts +4 -0
- package/src/task/commands.ts +1 -5
- package/src/task/executor.ts +8 -0
- package/src/task/index.ts +2 -0
- package/src/task/render.ts +69 -26
- package/src/tiny/device.ts +117 -0
- package/src/tiny/dtype.ts +101 -0
- package/src/tiny/models.ts +218 -0
- package/src/tiny/text.ts +54 -0
- package/src/tiny/title-client.ts +395 -0
- package/src/tiny/title-protocol.ts +51 -0
- package/src/tiny/worker.ts +587 -0
- package/src/tools/bash.ts +74 -29
- package/src/tools/browser/tab-worker.ts +1 -1
- package/src/tools/eval.ts +9 -4
- package/src/tools/index.ts +17 -22
- package/src/tools/memory-edit.ts +59 -0
- package/src/tools/memory-recall.ts +100 -0
- package/src/tools/memory-reflect.ts +88 -0
- package/src/tools/memory-render.ts +185 -0
- package/src/tools/memory-retain.ts +91 -0
- package/src/tools/read.ts +1 -0
- package/src/tools/renderers.ts +4 -2
- package/src/tools/todo-write.ts +128 -29
- package/src/tools/tool-result.ts +8 -0
- package/src/tui/code-cell.ts +6 -1
- package/src/tui/output-block.ts +199 -38
- package/src/utils/title-generator.ts +115 -13
- package/dist/types/tools/recipe/index.d.ts +0 -46
- package/dist/types/tools/recipe/render.d.ts +0 -36
- package/dist/types/tools/recipe/runner.d.ts +0 -60
- package/dist/types/tools/recipe/runners/cargo.d.ts +0 -16
- package/dist/types/tools/recipe/runners/index.d.ts +0 -2
- package/dist/types/tools/recipe/runners/just.d.ts +0 -2
- package/dist/types/tools/recipe/runners/make.d.ts +0 -2
- package/dist/types/tools/recipe/runners/pkg.d.ts +0 -2
- package/dist/types/tools/recipe/runners/task.d.ts +0 -2
- package/src/prompts/tools/recipe.md +0 -16
- package/src/tools/hindsight-recall.ts +0 -69
- package/src/tools/hindsight-reflect.ts +0 -58
- package/src/tools/hindsight-retain.ts +0 -57
- package/src/tools/recipe/index.ts +0 -81
- package/src/tools/recipe/render.ts +0 -19
- package/src/tools/recipe/runner.ts +0 -219
- package/src/tools/recipe/runners/cargo.ts +0 -131
- package/src/tools/recipe/runners/index.ts +0 -8
- package/src/tools/recipe/runners/just.ts +0 -73
- package/src/tools/recipe/runners/make.ts +0 -101
- package/src/tools/recipe/runners/pkg.ts +0 -167
- package/src/tools/recipe/runners/task.ts +0 -72
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,87 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [15.7.0] - 2026-05-31
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- Added a `Web search` setup tab that lets users choose the preferred `providers.webSearch` provider during onboarding
|
|
10
|
+
- Added manual authorization-code/redirect URL prompts for OAuth providers that require non-callback login in the setup wizard
|
|
11
|
+
- Added an `omp completions <bash|zsh|fish>` command that prints a shell completion script generated from the live command/flag metadata, so completions never drift from the actual CLI. Subcommands, flags, and enum values complete statically; `--model`/`--smol`/`--slow`/`--plan` resolve against the bundled model catalog and `--resume` against on-disk sessions via a hidden `__complete` helper.
|
|
12
|
+
- Added a `/switch` slash command that opens the temporary model selector for the current session, mirroring the `alt+p` keybinding.
|
|
13
|
+
- Added `replace block N:` and `delete block N` operators to the `edit` tool: they resolve the syntactic block beginning on line N via tree-sitter (native `blockRangeAt`) and replace or delete its full line span, so a construct can be rewritten or removed without counting its closing line. Unresolvable blocks (unsupported language, blank/closing-delimiter line, or a parse error) are rejected with guidance to use an explicit `replace N..M:` / `delete N..M` range.
|
|
14
|
+
- Added an animated pending border for `bash` and `eval` execution blocks: while a command/cell is running, a single dark segment glides clockwise around the block's outer edge (top → right → bottom → left), replacing the previous static accent border. Motion is eased per edge (decelerating into each corner) and timed against a fixed lap duration mapped onto the live perimeter, so streaming a new output line or resizing the terminal nudges the segment proportionally instead of resetting its position. Driven by the existing spinner cadence and gated on the `display.shimmer` setting (no motion when `disabled`).
|
|
15
|
+
- Added `providers.tinyModelDevice` and `providers.tinyModelDtype` settings (Providers tab) controlling local tiny-model acceleration for session titles and Mnemosyne memory tasks. `providers.tinyModelDevice` selects the ONNX execution provider (`default` keeps the platform pick — DirectML on Windows, CUDA on Linux x64, CPU elsewhere); `providers.tinyModelDtype` selects quantization/precision (`default` keeps each model's shipped `q4`, e.g. `fp16` trades speed for fidelity). The `PI_TINY_DEVICE` / `PI_TINY_DTYPE` env vars override the matching setting. Also added `PI_TINY_DTYPE` as the env counterpart to `PI_TINY_DEVICE`; an unrecognized device/precision fails loudly at worker startup instead of silently loading a different one.
|
|
16
|
+
- Added a bundled set of default rules shipped with the agent (TypeScript/Rust convention rules registered as TTSR conditions). They load via the new lowest-priority `builtin-defaults` discovery provider, so any user/project/tool rule of the same name overrides the bundled copy. Disable the whole set with `ttsr.builtinRules: false`, or drop individual rules (bundled or your own) by name via `ttsr.disabledRules`.
|
|
17
|
+
|
|
18
|
+
### Changed
|
|
19
|
+
|
|
20
|
+
- Changed setup onboarding to a tabbed `Set up your providers` scene with dedicated `Sign in` and `Web search` panels
|
|
21
|
+
- Changed the glyph mode picker to preselect the currently configured symbol preset instead of always defaulting to Unicode and to show live glyph samples in the picker rows
|
|
22
|
+
- Changed OAuth sign-in flow in the setup wizard so users can authenticate multiple providers before leaving with Escape
|
|
23
|
+
- Changed the plan-approval model-tier slider and the `ctrl+p`/`alt+p` role-cycle status to share one status-line-style chip track: each tier renders in its own role color and the active tier is filled as a powerline chip with a luminance-matched label. The role-cycle status now shows only the chip track — the resolved model and thinking level already live on the status line — instead of the verbose `Switched to <role>: <model> (cycle: …)` line.
|
|
24
|
+
- Changed the in-flight `bash` tool-call preview to render as a full bordered block as soon as the call appears, instead of a one-line `Bash: $ …` status that only expanded into a block once the command produced its first output chunk. Silent commands (e.g. `sleep 30`) now show the framed command block — with the animated pending border — for their whole runtime.
|
|
25
|
+
- Changed local tiny-model inference to request a worker-safe accelerated ONNX execution provider where available (DirectML on Windows, CUDA on Linux x64), with CPU retry if acceleration cannot initialize. `PI_TINY_DEVICE=cpu` restores CPU-only behavior; `PI_TINY_DEVICE=metal` is accepted as a WebGPU alias but guarded back to CPU in the production macOS worker because WebGPU currently hard-crashes Bun on worker teardown.
|
|
26
|
+
|
|
27
|
+
### Fixed
|
|
28
|
+
|
|
29
|
+
- Used the native block resolver for hashline operations so `replace block` edits now derive block ranges from file-aware parsing
|
|
30
|
+
- Fixed OAuth login handling to cancel cleanly when users press Esc or Ctrl+C during authentication
|
|
31
|
+
- Fixed the `read` tool description advertising `inspect_image` ("for visual analysis, call `inspect_image`") even when the `inspect_image` tool was disabled, which left the model hunting for a tool absent from its function list. The image section is now gated on `inspect_image.enabled`: when disabled it instead states that reading an image path returns the decoded image inline.
|
|
32
|
+
- Fixed session-title generation latching onto literal text inside fenced code blocks — a pasted UI mockup containing "Welcome to Claude Code v2.1.158" titled the session "Setup Screen for Claude Code v2.1.158" instead of capturing the actual request. The first user message now has fenced code blocks stripped before titling (both the online `pi/smol` and local on-device model paths share the same preprocessing), with a fallback to the original message when stripping would leave too little to title from (e.g. a message that is essentially just a code block).
|
|
33
|
+
- Fixed slash-command autocomplete repaint requests so Windows Terminal sessions with unknown native viewport state keep updating the input box and candidate list. ([#1550](https://github.com/can1357/oh-my-pi/issues/1550))
|
|
34
|
+
- Fixed Python `eval` failing the whole session when the managed `~/.omp/python-env` interpreter exists on disk but no longer runs (e.g. a stale `uv`-managed Python that was removed or upgraded). Availability resolution now enumerates every candidate — active/project venv, the managed env, then the system interpreter — and probes each in priority order, falling through to the first that actually executes instead of failing fast on the first resolved path. The kernel spawns whichever interpreter the probe selected, so a working system Python takes over transparently.
|
|
35
|
+
|
|
36
|
+
### Removed
|
|
37
|
+
|
|
38
|
+
- Removed the `recipe` tool and its `recipe.enabled` setting. Task-runner targets (just/package.json/Cargo/make/Taskfile) are invoked directly through `bash`.
|
|
39
|
+
|
|
40
|
+
## [15.6.0] - 2026-05-30
|
|
41
|
+
### Added
|
|
42
|
+
|
|
43
|
+
- Added prompt-mode autocomplete for supported internal URL schemes (`skill://`, `rule://`, `agent://`, `artifact://`, `local://`, `memory://`, and `omp://`) so typing those tokens now suggests existing resources as completion candidates
|
|
44
|
+
- Added fuzzy matching and ranked suggestion ordering for internal URL completion, including rule and skill descriptions, with accepted completion replacing just the typed token and inserting the chosen URL followed by a space
|
|
45
|
+
- Changed internal URL completions now include nested `local://` path suggestions from the configured local workspace
|
|
46
|
+
- Added Mnemosyne memory inference model selection with an online mode or local transformers.js options (`qwen3-1.7b`, `gemma-3-1b`, `qwen2.5-1.5b`, `lfm2-1.2b`) so memory extraction and consolidation can run via the shared tiny-model worker
|
|
47
|
+
- Changed memory tiny-model handling to route local memory prompts through the same queueed tiny-model worker pipeline with bounded completion output
|
|
48
|
+
- Added a Providers → Tiny Model setting for session titles, defaulting to the online `pi/smol` path with five optional local CPU transformers.js models. A local model — and the one-time `@huggingface/transformers` runtime install in compiled binaries — is downloaded and loaded only when explicitly selected (or via `omp tiny-models download`); the default online path never spawns the title worker for inference. Selecting a local model adds a delayed `pi/smol` fallback so titles never block, plus in-chat download progress.
|
|
49
|
+
- Added a persistent live agent roster pinned below the editor (focus it with `Ctrl+S` or `Alt+Down`), including view-as switching into delegated agent sessions with human-readable delegate names and UI pinning to suppress idle reaping while viewed. The roster stays hidden until at least one delegated agent exists and releases focus back to the editor once the last one is gone.
|
|
50
|
+
- Recorded the originating session ID alongside each prompt in `history.db` (new `session_id` column, surfaced as `HistoryEntry.sessionId`), so recalled prompts can be traced back to the session they came from. Existing history databases gain the column automatically on next launch.
|
|
51
|
+
- Added compact inline TUI renderers for the `retain`, `recall`, and `reflect` memory tools. `retain` now shows one themed bullet line per stored item (truncated to width) under a status header with the stored/queued count, and `recall`/`reflect` collapse to a single query header (recall reports the match count and hides recalled memories until expanded) instead of dumping the raw JSON argument tree.
|
|
52
|
+
- Added a randomly picked tip beneath the welcome screen, sourced from an embedded `tips.txt` (one tip per line). The line is italicized with a purple `Tip:` label and a dimmed light-blue body, and the tip is chosen once per welcome instance so intro-animation and LSP re-renders don't shuffle it.
|
|
53
|
+
- Added a Mnemosyne-only `memory_edit` agent tool for updating, forgetting, or invalidating recalled memories by id, and added `/memory stats` plus `/memory diagnose` slash commands for backend maintenance visibility.
|
|
54
|
+
- Added an `orchestrate` magic keyword that mirrors `ultrathink`: dropping the standalone word in a message paints it with a cool teal→violet gradient in the editor and appends a hidden system notice that switches the model into the multi-phase, parallel-subagent orchestration contract. Matching is word-bounded and case-insensitive, so `orchestrated`/`orchestrating` never trigger it.
|
|
55
|
+
- Added a model-tier slider to the plan-approval prompt ("Plan mode - next step"). Left/right arrows move it from any list position to pick which configured role model (`cycleOrder`, e.g. `smol › default › slow`) executes the approved plan, with each tier colored by its role and the resolved model name shown beneath the track. The chosen tier is applied before dispatch and carries through the fresh/compacted execution session; the slider is hidden when fewer than two role models resolve.
|
|
56
|
+
|
|
57
|
+
### Changed
|
|
58
|
+
|
|
59
|
+
- Changed `irc` to treat the attached human as a first-class `User` peer, merging human prompts into `irc call User` with optional structured question payloads and adding `/dm <agent> <message>` for user-to-agent routing without switching views.
|
|
60
|
+
- Changed the `--resume` session picker (and the in-session resume selector) to also rank sessions by prompt-history matches from `history.db`, not just the session-list metadata. Because the session list only indexes the first 4KB of each file, this surfaces sessions by prompts typed deep into long conversations. Sessions matched by both signals lead, then metadata-only matches, then history-only matches — no metadata match is dropped.
|
|
61
|
+
- Changed the `task` tool's streaming call preview to list each dispatched agent's `id` and UI description as a tree instead of a bare `N agents` count, so the individual agents are visible while the tool-call arguments are still streaming. The collapsed view caps at 12 entries (`… N more agents`); the expanded view shows all.
|
|
62
|
+
- Changed Mnemosyne `recall` tool output to include memory ids for explicit recall results so agents can target `memory_edit`; auto-injected memory context and `reflect` remain id-free.
|
|
63
|
+
- Changed the system prompt to advertise `memory://root` only when the local memory backend is active.
|
|
64
|
+
- Changed `todo_write` result rendering to animate completed items in place: the checkbox flips checked first, then the strikethrough reveals across the task text.
|
|
65
|
+
|
|
66
|
+
### Removed
|
|
67
|
+
|
|
68
|
+
- Removed the standalone `ask`, `task`, and `yield` tools along with their obsolete prompts, docs, and tests; delegation now routes through persistent `delegate` agents plus IRC coordination.
|
|
69
|
+
- Removed the `/orchestrate` slash command; orchestration is now triggered by the `orchestrate` keyword (see Added) so the contract rides alongside the user's own prompt instead of replacing it.
|
|
70
|
+
- Removed the sticky Todos panel all-done drop/collapse animation; completed todo state now stays visible until the next explicit todo update changes it.
|
|
71
|
+
|
|
72
|
+
### Fixed
|
|
73
|
+
|
|
74
|
+
- Fixed Mnemosyne session shutdown to flush queued memory extractions before exit so the last turn’s facts are not lost
|
|
75
|
+
- Fixed a native crash (`malloc: pointer being freed was not allocated` / `NAPI FATAL ERROR`) when quitting after the local transformers.js title model had run. The tiny-title worker no longer calls `pipeline.dispose()` on shutdown — disposing the onnxruntime session freed native memory that Bun's worker/NAPI teardown then freed again. The worker is torn down immediately after, so the OS reclaims the model memory regardless.
|
|
76
|
+
- Fixed the tiny-title download progress bar flashing on every first message even when the local model was already downloaded. A cached model emits the same `download`/`progress` events as a real download, so the bar is now revealed only when in-flight progress events keep arriving past a short grace window — cache hits finish (or fall silent during onnxruntime init) before then and never show the bar.
|
|
77
|
+
- Fixed the Mnemosyne memory backend lifecycle so auto-retain counts the full session transcript, delegated agents inherit the parent Mnemosyne state, `/memory clear` removes scoped project-bank databases, session disposal closes Mnemosyne SQLite handles, session switches rekey/reset Mnemosyne tracking, and project bank names include an absolute-root hash with safe bank-name sanitization.
|
|
78
|
+
- Fixed the streaming edit preview showing no diff for single-line hashline edits. The preview-diff coalescing keyed only on the arg text, so the final (args-complete) pass — which computes an untrimmed diff — was skipped because the payload was byte-identical to the last streamed chunk whose trailing line had been trimmed. The dedup key now pairs the streaming state with a content hash.
|
|
79
|
+
- Fixed `Esc` in a delegated agent view returning to the main session instead of aborting the delegated agent's active turn.
|
|
80
|
+
- Fixed the subagent stats line to separate the cost with the theme dot separator (was a stray literal `.`) and to render context usage as `<pct>%/<window>` (e.g. `21.3%/272K`) matching the status line gauge, via a shared `formatContextUsage` helper now used by the footer, status-line segment, session observer overlay, and `task` renderer.
|
|
81
|
+
- Fixed the agent roster staying pinned under the editor when all delegated agents are idle or dormant; it now reappears when explicitly focused with `Alt+Down` / session observe.
|
|
82
|
+
- Fixed selector-style UI components to honor `tui.select.up` and `tui.select.down` keybindings instead of hard-coding raw Up/Down arrow bytes ([#1535](https://github.com/can1357/oh-my-pi/issues/1535)).
|
|
83
|
+
- Fixed the bash (and `recipe`) tool result footer not rendering for failed commands. A non-zero exit threw a `ToolError`, which dropped the result details, so the styled `⟨Wall … | Timeout …⟩` footer was replaced by the raw `Wall time: … seconds` / `Command exited with code N` lines. Non-zero exits now resolve as a non-throwing error result that keeps `wallTimeMs`/`timeoutSeconds`/`exitCode`, and the footer shows `⟨Wall … | Timeout … | Exit: N⟩` with the textual notices folded out of the output pane. Aborts, timeouts, and missing-exit-status still throw as before.
|
|
84
|
+
- Fixed selector-style UI components to honor `tui.select.up` and `tui.select.down` keybindings instead of hard-coding raw Up/Down arrow bytes ([#1535](https://github.com/can1357/oh-my-pi/issues/1535)).
|
|
85
|
+
|
|
5
86
|
## [15.5.15] - 2026-05-30
|
|
6
87
|
### Changed
|
|
7
88
|
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Rule bucketing
|
|
3
|
+
*
|
|
4
|
+
* Single funnel that every discovered rule passes through on its way into a
|
|
5
|
+
* session. It applies the user's disable levers, registers TTSR rules with the
|
|
6
|
+
* manager, and splits the rest into the always-apply and rulebook buckets.
|
|
7
|
+
*
|
|
8
|
+
* Bucket precedence (matches docs/rulebook-matching-pipeline.md §5):
|
|
9
|
+
* 1. TTSR — non-empty `condition` that `TtsrManager.addRule` accepts
|
|
10
|
+
* 2. always — `alwaysApply === true`
|
|
11
|
+
* 3. rulebook — has a `description`
|
|
12
|
+
*/
|
|
13
|
+
import type { TtsrManager } from "../export/ttsr";
|
|
14
|
+
import { type Rule } from "./rule";
|
|
15
|
+
export interface RuleBuckets {
|
|
16
|
+
rulebookRules: Rule[];
|
|
17
|
+
alwaysApplyRules: Rule[];
|
|
18
|
+
}
|
|
19
|
+
export interface BucketRulesOptions {
|
|
20
|
+
/** Rule names to drop entirely (bundled defaults and user rules alike). */
|
|
21
|
+
disabledRules?: readonly string[];
|
|
22
|
+
/** When false, drop every rule from the bundled `builtin-defaults` provider. */
|
|
23
|
+
builtinRules?: boolean;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Filter and bucket rules, registering TTSR rules on `ttsrManager` as a side
|
|
27
|
+
* effect. Disabled rules are dropped before any bucket assignment, so a
|
|
28
|
+
* disabled rule is neither matched as TTSR nor surfaced via `rule://`.
|
|
29
|
+
*/
|
|
30
|
+
export declare function bucketRules(rules: readonly Rule[], ttsrManager: TtsrManager, options?: BucketRulesOptions): RuleBuckets;
|
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
import type { SourceMeta } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* Provider id for the bundled default rules shipped with the agent.
|
|
4
|
+
* Lowest priority, so any user/project/tool rule of the same name overrides
|
|
5
|
+
* a bundled default. Also used to gate the whole bundled set via
|
|
6
|
+
* `ttsr.builtinRules`.
|
|
7
|
+
*/
|
|
8
|
+
export declare const BUILTIN_DEFAULTS_PROVIDER_ID = "builtin-defaults";
|
|
2
9
|
/**
|
|
3
10
|
* Parsed frontmatter from rule files.
|
|
4
11
|
*/
|
|
@@ -1,13 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Classify an install spec as a marketplace plugin reference or a plain npm package.
|
|
3
|
-
*
|
|
4
|
-
* Rules (applied in order):
|
|
5
|
-
* 1. Starts with `@` (scoped npm) -> always npm.
|
|
6
|
-
* 2. Contains `@` after the first character -> split on the LAST `@`.
|
|
7
|
-
* If the right-hand side is a known marketplace name, it's a marketplace ref.
|
|
8
|
-
* Otherwise it's an npm spec (e.g. `pkg@1.2.3`).
|
|
9
|
-
* 3. No `@` -> npm.
|
|
10
|
-
*/
|
|
11
1
|
export declare function classifyInstallTarget(spec: string, knownMarketplaces: Set<string>): {
|
|
12
2
|
type: "marketplace";
|
|
13
3
|
name: string;
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shell-completion generation (bash, zsh, fish).
|
|
3
|
+
*
|
|
4
|
+
* Single source of truth: the declarative `flags`/`args` descriptors carried by
|
|
5
|
+
* each `Command` subclass plus the registered subcommand table. {@link buildSpec}
|
|
6
|
+
* walks that metadata — the same data `renderCommandBody` renders for `--help` —
|
|
7
|
+
* and {@link generateCompletion} emits a self-contained completion script. Adding
|
|
8
|
+
* a flag to a command's static `flags` therefore propagates into completions with
|
|
9
|
+
* no edits here.
|
|
10
|
+
*
|
|
11
|
+
* Static candidates (enum `options`, the builtin tool list) are baked into the
|
|
12
|
+
* script. A small set of flags resolve dynamic candidates (the live model
|
|
13
|
+
* catalog and on-disk sessions) by calling back into `<bin> __complete <kind>`
|
|
14
|
+
* — see `commands/complete.ts`. The flag→source mapping below is the only manual
|
|
15
|
+
* knob and is keyed by flag name so it stays stable as flags are added.
|
|
16
|
+
*/
|
|
17
|
+
import type { CliConfig } from "@oh-my-pi/pi-utils/cli";
|
|
18
|
+
export type Shell = "bash" | "zsh" | "fish";
|
|
19
|
+
/** How a flag/positional value should be completed. */
|
|
20
|
+
export type ValueSource = {
|
|
21
|
+
kind: "flag";
|
|
22
|
+
} | {
|
|
23
|
+
kind: "value";
|
|
24
|
+
} | {
|
|
25
|
+
kind: "enum";
|
|
26
|
+
values: readonly string[];
|
|
27
|
+
} | {
|
|
28
|
+
kind: "list";
|
|
29
|
+
values: readonly string[];
|
|
30
|
+
} | {
|
|
31
|
+
kind: "models";
|
|
32
|
+
multiple: boolean;
|
|
33
|
+
} | {
|
|
34
|
+
kind: "sessions";
|
|
35
|
+
} | {
|
|
36
|
+
kind: "file";
|
|
37
|
+
} | {
|
|
38
|
+
kind: "dir";
|
|
39
|
+
};
|
|
40
|
+
export interface CompletionFlag {
|
|
41
|
+
/** Long name without the leading `--`. */
|
|
42
|
+
name: string;
|
|
43
|
+
/** Short character without the leading `-`. */
|
|
44
|
+
char?: string;
|
|
45
|
+
description: string;
|
|
46
|
+
value: ValueSource;
|
|
47
|
+
/** Flag may appear multiple times (oclif `multiple`). */
|
|
48
|
+
repeatable: boolean;
|
|
49
|
+
}
|
|
50
|
+
export interface CompletionArg {
|
|
51
|
+
name: string;
|
|
52
|
+
description: string;
|
|
53
|
+
value: ValueSource;
|
|
54
|
+
}
|
|
55
|
+
export interface CompletionCommand {
|
|
56
|
+
name: string;
|
|
57
|
+
aliases: readonly string[];
|
|
58
|
+
description: string;
|
|
59
|
+
flags: CompletionFlag[];
|
|
60
|
+
args: CompletionArg[];
|
|
61
|
+
}
|
|
62
|
+
export interface CompletionSpec {
|
|
63
|
+
bin: string;
|
|
64
|
+
/** Flags/args of the default (no-subcommand) command. */
|
|
65
|
+
root: {
|
|
66
|
+
flags: CompletionFlag[];
|
|
67
|
+
args: CompletionArg[];
|
|
68
|
+
};
|
|
69
|
+
commands: CompletionCommand[];
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Build a {@link CompletionSpec} from loaded command classes.
|
|
73
|
+
*
|
|
74
|
+
* @param rootName Entry name of the default command (its flags become top-level
|
|
75
|
+
* flags; it is excluded from the subcommand list).
|
|
76
|
+
* @param aliasMap Canonical-name → aliases (merged from the registration table
|
|
77
|
+
* and the command class's static `aliases`).
|
|
78
|
+
*/
|
|
79
|
+
export declare function buildSpec(config: CliConfig, rootName: string, aliasMap: Map<string, readonly string[]>): CompletionSpec;
|
|
80
|
+
export declare function generateCompletion(shell: Shell, spec: CompletionSpec): string;
|
|
@@ -14,4 +14,4 @@ export interface InitialMessageResult {
|
|
|
14
14
|
* Combine stdin content, @file text, and the first CLI message into a single
|
|
15
15
|
* initial prompt for non-interactive mode.
|
|
16
16
|
*/
|
|
17
|
-
export declare function buildInitialMessage({ parsed, fileText, fileImages, stdinContent }: InitialMessageInput): InitialMessageResult;
|
|
17
|
+
export declare function buildInitialMessage({ parsed, fileText, fileImages, stdinContent, }: InitialMessageInput): InitialMessageResult;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type TinyModelsAction = "download" | "list";
|
|
2
|
+
export interface TinyModelsCommandArgs {
|
|
3
|
+
action: TinyModelsAction;
|
|
4
|
+
model?: string;
|
|
5
|
+
flags: {
|
|
6
|
+
json?: boolean;
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
export declare function runTinyModelsCommand(command: TinyModelsCommandArgs): Promise<void>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Command } from "@oh-my-pi/pi-utils/cli";
|
|
2
|
+
export default class Completions extends Command {
|
|
3
|
+
static description: string;
|
|
4
|
+
static args: {
|
|
5
|
+
shell: import("@oh-my-pi/pi-utils/cli").ArgDescriptor & {
|
|
6
|
+
description: string;
|
|
7
|
+
required: true;
|
|
8
|
+
options: readonly ["bash", "zsh", "fish"];
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
static examples: string[];
|
|
12
|
+
run(): Promise<void>;
|
|
13
|
+
}
|
|
@@ -1,8 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Run onboarding setup or install dependencies for optional features.
|
|
3
3
|
*/
|
|
4
4
|
import { Command } from "@oh-my-pi/pi-utils/cli";
|
|
5
5
|
import { type SetupComponent } from "../cli/setup-cli";
|
|
6
|
+
import { runRootCommand } from "../main";
|
|
7
|
+
export interface OnboardingSetupDependencies {
|
|
8
|
+
runRoot?: typeof runRootCommand;
|
|
9
|
+
stdinIsTTY?: boolean;
|
|
10
|
+
stdoutIsTTY?: boolean;
|
|
11
|
+
writeStderr?: (text: string) => void;
|
|
12
|
+
exit?: (code: number) => never;
|
|
13
|
+
}
|
|
14
|
+
export declare function runOnboardingSetup(deps?: OnboardingSetupDependencies): Promise<void>;
|
|
6
15
|
export default class Setup extends Command {
|
|
7
16
|
static description: string;
|
|
8
17
|
static args: {
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Command } from "@oh-my-pi/pi-utils/cli";
|
|
2
|
+
import { type TinyModelsAction } from "../cli/tiny-models-cli";
|
|
3
|
+
export default class TinyModels extends Command {
|
|
4
|
+
static description: string;
|
|
5
|
+
static args: {
|
|
6
|
+
action: import("@oh-my-pi/pi-utils/cli").ArgDescriptor & {
|
|
7
|
+
description: string;
|
|
8
|
+
required: false;
|
|
9
|
+
options: TinyModelsAction[];
|
|
10
|
+
};
|
|
11
|
+
model: import("@oh-my-pi/pi-utils/cli").ArgDescriptor & {
|
|
12
|
+
description: string;
|
|
13
|
+
required: false;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
static flags: {
|
|
17
|
+
json: import("@oh-my-pi/pi-utils/cli").FlagDescriptor<"boolean"> & {
|
|
18
|
+
description: string;
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
run(): Promise<void>;
|
|
22
|
+
}
|
|
@@ -19,4 +19,4 @@ export interface ConventionalAnalysisInput {
|
|
|
19
19
|
/**
|
|
20
20
|
* Generate conventional analysis data from a diff and metadata.
|
|
21
21
|
*/
|
|
22
|
-
export declare function generateConventionalAnalysis({ model, apiKey, thinkingLevel, contextFiles, userContext, typesDescription, recentCommits, scopeCandidates, stat, diff }: ConventionalAnalysisInput): Promise<ConventionalAnalysis>;
|
|
22
|
+
export declare function generateConventionalAnalysis({ model, apiKey, thinkingLevel, contextFiles, userContext, typesDescription, recentCommits, scopeCandidates, stat, diff, }: ConventionalAnalysisInput): Promise<ConventionalAnalysis>;
|
|
@@ -15,5 +15,5 @@ export interface SummaryInput {
|
|
|
15
15
|
/**
|
|
16
16
|
* Generate a commit summary line for the conventional commit header.
|
|
17
17
|
*/
|
|
18
|
-
export declare function generateSummary({ model, apiKey, thinkingLevel, commitType, scope, details, stat, maxChars, userContext }: SummaryInput): Promise<CommitSummary>;
|
|
18
|
+
export declare function generateSummary({ model, apiKey, thinkingLevel, commitType, scope, details, stat, maxChars, userContext, }: SummaryInput): Promise<CommitSummary>;
|
|
19
19
|
export declare function stripTypePrefix(summary: string, commitType: string, scope: string | null): string;
|
|
@@ -27,4 +27,4 @@ export interface ChangelogPromptInput {
|
|
|
27
27
|
stat: string;
|
|
28
28
|
diff: string;
|
|
29
29
|
}
|
|
30
|
-
export declare function generateChangelogEntries({ model, apiKey, thinkingLevel, changelogPath, isPackageChangelog, existingEntries, stat, diff }: ChangelogPromptInput): Promise<ChangelogGenerationResult>;
|
|
30
|
+
export declare function generateChangelogEntries({ model, apiKey, thinkingLevel, changelogPath, isPackageChangelog, existingEntries, stat, diff, }: ChangelogPromptInput): Promise<ChangelogGenerationResult>;
|
|
@@ -23,8 +23,8 @@ export interface ChangelogProposalInput {
|
|
|
23
23
|
/**
|
|
24
24
|
* Update CHANGELOG.md entries for staged changes.
|
|
25
25
|
*/
|
|
26
|
-
export declare function runChangelogFlow({ cwd, model, apiKey, thinkingLevel, stagedFiles, dryRun, maxDiffChars, onProgress }: ChangelogFlowInput): Promise<string[]>;
|
|
26
|
+
export declare function runChangelogFlow({ cwd, model, apiKey, thinkingLevel, stagedFiles, dryRun, maxDiffChars, onProgress, }: ChangelogFlowInput): Promise<string[]>;
|
|
27
27
|
/**
|
|
28
28
|
* Apply changelog entries provided by the commit agent.
|
|
29
29
|
*/
|
|
30
|
-
export declare function applyChangelogProposals({ cwd, proposals, dryRun, onProgress }: ChangelogProposalInput): Promise<string[]>;
|
|
30
|
+
export declare function applyChangelogProposals({ cwd, proposals, dryRun, onProgress, }: ChangelogProposalInput): Promise<string[]>;
|
|
@@ -14,4 +14,4 @@ export interface MapPhaseInput {
|
|
|
14
14
|
retryBackoffMs?: number;
|
|
15
15
|
};
|
|
16
16
|
}
|
|
17
|
-
export declare function runMapPhase({ model, apiKey, thinkingLevel, files, config }: MapPhaseInput): Promise<FileObservation[]>;
|
|
17
|
+
export declare function runMapPhase({ model, apiKey, thinkingLevel, files, config, }: MapPhaseInput): Promise<FileObservation[]>;
|
|
@@ -10,4 +10,4 @@ export interface ReducePhaseInput {
|
|
|
10
10
|
scopeCandidates: string;
|
|
11
11
|
typesDescription?: string;
|
|
12
12
|
}
|
|
13
|
-
export declare function runReducePhase({ model, apiKey, thinkingLevel, observations, stat, scopeCandidates, typesDescription }: ReducePhaseInput): Promise<ConventionalAnalysis>;
|
|
13
|
+
export declare function runReducePhase({ model, apiKey, thinkingLevel, observations, stat, scopeCandidates, typesDescription, }: ReducePhaseInput): Promise<ConventionalAnalysis>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare function getModelLikeIdSegments(modelId: string): string[];
|
|
2
|
+
export declare function getLongestModelLikeIdSegment(modelId: string): string | undefined;
|
|
3
|
+
/**
|
|
4
|
+
* Strip reseller / wrapper tags that are injected as bracketed affixes around an
|
|
5
|
+
* upstream model id, e.g.
|
|
6
|
+
* "[Kiro] claude-opus-4-8" -> "claude-opus-4-8"
|
|
7
|
+
* "[gcli转] gemini-3.1-pro-preview [假流]" -> "gemini-3.1-pro-preview"
|
|
8
|
+
*/
|
|
9
|
+
export declare function getBracketStrippedModelIdCandidates(modelId: string): string[];
|
|
10
|
+
export declare function stripBracketedModelIdAffixes(modelId: string): string | undefined;
|