@ashx-j/lunr 0.2.13 → 0.2.14
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 +10 -1
- package/README.md +6 -3
- package/dist/builtin-extensions/ashxj-tui.d.ts +16 -1
- package/dist/builtin-extensions/ashxj-tui.d.ts.map +1 -1
- package/dist/builtin-extensions/ashxj-tui.js +44 -20
- package/dist/builtin-extensions/ashxj-tui.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/extension/index.d.ts +2 -0
- package/dist/builtin-extensions/pi-subagents/src/extension/index.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/extension/index.js +27 -22
- package/dist/builtin-extensions/pi-subagents/src/extension/index.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/async-execution.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/async-execution.js +5 -2
- package/dist/builtin-extensions/pi-subagents/src/runs/background/async-execution.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/async-resume.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/async-resume.js +12 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/async-resume.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/async-status.d.ts +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/async-status.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/async-status.js +3 -2
- package/dist/builtin-extensions/pi-subagents/src/runs/background/async-status.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/chain-append.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/chain-append.js +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/chain-append.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/chain-root-attachment.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/chain-root-attachment.js +3 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/chain-root-attachment.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/fleet-view.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/fleet-view.js +3 -3
- package/dist/builtin-extensions/pi-subagents/src/runs/background/fleet-view.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/run-status.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/run-status.js +2 -2
- package/dist/builtin-extensions/pi-subagents/src/runs/background/run-status.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/subagent-runner.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/subagent-runner.js +3 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/subagent-runner.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-execution.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-execution.js +7 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-execution.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/execution.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/execution.js +2 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/execution.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/subagent-executor.d.ts +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/subagent-executor.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/subagent-executor.js +19 -3
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/subagent-executor.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/model-fallback.d.ts +10 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/model-fallback.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/model-fallback.js +19 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/model-fallback.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/parallel-utils.d.ts +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/parallel-utils.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/parallel-utils.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/shared/child-spec.d.ts +2 -1
- package/dist/builtin-extensions/pi-subagents/src/shared/child-spec.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/shared/child-spec.js +17 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/child-spec.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/shared/formatters.d.ts +3 -1
- package/dist/builtin-extensions/pi-subagents/src/shared/formatters.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/shared/formatters.js +14 -3
- package/dist/builtin-extensions/pi-subagents/src/shared/formatters.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/shared/types.d.ts +14 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/types.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/shared/types.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/tui/fleet.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/tui/fleet.js +2 -2
- package/dist/builtin-extensions/pi-subagents/src/tui/fleet.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/tui/render.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/tui/render.js +12 -10
- package/dist/builtin-extensions/pi-subagents/src/tui/render.js.map +1 -1
- package/dist/catalog/models.json +1 -1
- package/dist/catalog/providers/amazon-bedrock.json +1 -1
- package/dist/catalog/providers/anthropic.json +1 -1
- package/dist/catalog/providers/azure-openai-responses.json +1 -1
- package/dist/catalog/providers/cloudflare-ai-gateway.json +1 -1
- package/dist/catalog/providers/fireworks.json +1 -1
- package/dist/catalog/providers/github-copilot.json +1 -1
- package/dist/catalog/providers/google-vertex.json +1 -1
- package/dist/catalog/providers/google.json +1 -1
- package/dist/catalog/providers/groq.json +1 -1
- package/dist/catalog/providers/huggingface.json +1 -1
- package/dist/catalog/providers/nvidia.json +1 -1
- package/dist/catalog/providers/openai-codex.json +1 -1
- package/dist/catalog/providers/openai.json +1 -1
- package/dist/catalog/providers/opencode-go.json +1 -1
- package/dist/catalog/providers/opencode.json +1 -1
- package/dist/catalog/providers/openrouter.json +1 -1
- package/dist/catalog/providers/vercel-ai-gateway.json +1 -1
- package/dist/catalog/publication.json +131 -3
- package/dist/cli/list-models.d.ts.map +1 -1
- package/dist/cli/list-models.js +1 -0
- package/dist/cli/list-models.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +52 -27
- package/dist/cli.js.map +1 -1
- package/dist/core/catalog-cache-scope.d.ts +3 -0
- package/dist/core/catalog-cache-scope.d.ts.map +1 -0
- package/dist/core/catalog-cache-scope.js +12 -0
- package/dist/core/catalog-cache-scope.js.map +1 -0
- package/dist/core/catalog-merge.d.ts +2 -0
- package/dist/core/catalog-merge.d.ts.map +1 -1
- package/dist/core/catalog-merge.js +29 -2
- package/dist/core/catalog-merge.js.map +1 -1
- package/dist/core/catalog-refresh-polling.d.ts +8 -0
- package/dist/core/catalog-refresh-polling.d.ts.map +1 -0
- package/dist/core/catalog-refresh-polling.js +30 -0
- package/dist/core/catalog-refresh-polling.js.map +1 -0
- package/dist/core/codex-catalog.d.ts +3 -0
- package/dist/core/codex-catalog.d.ts.map +1 -0
- package/dist/core/codex-catalog.js +15 -0
- package/dist/core/codex-catalog.js.map +1 -0
- package/dist/core/customize.d.ts +2 -4
- package/dist/core/customize.d.ts.map +1 -1
- package/dist/core/customize.js +2 -8
- package/dist/core/customize.js.map +1 -1
- package/dist/core/footer-data-provider.d.ts +3 -4
- package/dist/core/footer-data-provider.d.ts.map +1 -1
- package/dist/core/footer-data-provider.js +54 -82
- package/dist/core/footer-data-provider.js.map +1 -1
- package/dist/core/live-catalog.d.ts +5 -2
- package/dist/core/live-catalog.d.ts.map +1 -1
- package/dist/core/live-catalog.js +108 -27
- package/dist/core/live-catalog.js.map +1 -1
- package/dist/core/model-runtime.d.ts +8 -0
- package/dist/core/model-runtime.d.ts.map +1 -1
- package/dist/core/model-runtime.js +64 -12
- package/dist/core/model-runtime.js.map +1 -1
- package/dist/core/official-catalog.d.ts +4 -0
- package/dist/core/official-catalog.d.ts.map +1 -1
- package/dist/core/official-catalog.js +86 -21
- package/dist/core/official-catalog.js.map +1 -1
- package/dist/core/settings-manager.d.ts +0 -6
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +0 -17
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/slash-commands.d.ts.map +1 -1
- package/dist/core/slash-commands.js +1 -0
- package/dist/core/slash-commands.js.map +1 -1
- package/dist/main.d.ts +2 -0
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +106 -50
- package/dist/main.js.map +1 -1
- package/dist/migrations.d.ts +2 -0
- package/dist/migrations.d.ts.map +1 -1
- package/dist/migrations.js +14 -4
- package/dist/migrations.js.map +1 -1
- package/dist/modes/interactive/components/assistant-message.d.ts +1 -3
- package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/assistant-message.js +4 -32
- package/dist/modes/interactive/components/assistant-message.js.map +1 -1
- package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -1
- package/dist/modes/interactive/components/custom-editor.js +2 -1
- package/dist/modes/interactive/components/custom-editor.js.map +1 -1
- package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/model-selector.js +4 -1
- package/dist/modes/interactive/components/model-selector.js.map +1 -1
- package/dist/modes/interactive/components/plan-message.d.ts +1 -3
- package/dist/modes/interactive/components/plan-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/plan-message.js +1 -16
- package/dist/modes/interactive/components/plan-message.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector.d.ts +0 -4
- package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector.js +10 -30
- package/dist/modes/interactive/components/settings-selector.js.map +1 -1
- package/dist/modes/interactive/components/user-message.d.ts +1 -3
- package/dist/modes/interactive/components/user-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/user-message.js +2 -19
- package/dist/modes/interactive/components/user-message.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +12 -1
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +137 -127
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/theme/moon.json +0 -1
- package/dist/modes/interactive/theme/theme-schema.json +3 -3
- package/dist/modes/interactive/theme/theme.d.ts +1 -1
- package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme.js +95 -90
- package/dist/modes/interactive/theme/theme.js.map +1 -1
- package/dist/startup/interactive-view.d.ts +55 -0
- package/dist/startup/interactive-view.d.ts.map +1 -0
- package/dist/startup/interactive-view.js +332 -0
- package/dist/startup/interactive-view.js.map +1 -0
- package/dist/startup/launch-routing.d.ts +8 -0
- package/dist/startup/launch-routing.d.ts.map +1 -0
- package/dist/startup/launch-routing.js +29 -0
- package/dist/startup/launch-routing.js.map +1 -0
- package/dist/startup/startup-milestones.d.ts +4 -0
- package/dist/startup/startup-milestones.d.ts.map +1 -0
- package/dist/startup/startup-milestones.js +14 -0
- package/dist/startup/startup-milestones.js.map +1 -0
- package/dist/utils/syntax-highlight.d.ts.map +1 -1
- package/dist/utils/syntax-highlight.js +10 -4
- package/dist/utils/syntax-highlight.js.map +1 -1
- package/docs/features.md +2 -2
- package/docs/interactive-startup.md +58 -0
- package/docs/keybindings.md +1 -1
- package/docs/model-catalog.md +29 -0
- package/docs/quickstart.md +1 -1
- package/docs/settings.md +1 -3
- package/docs/terminal-setup.md +2 -2
- package/docs/usage.md +2 -1
- package/docs/windows.md +1 -1
- package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
- package/examples/extensions/custom-provider-anthropic/package.json +1 -1
- package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
- package/examples/extensions/gondolin/package-lock.json +2 -2
- package/examples/extensions/gondolin/package.json +1 -1
- package/examples/extensions/sandbox/package-lock.json +2 -2
- package/examples/extensions/sandbox/package.json +1 -1
- package/examples/extensions/with-deps/package-lock.json +2 -2
- package/examples/extensions/with-deps/package.json +1 -1
- package/package.json +16 -16
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# Interactive startup plan
|
|
2
|
+
|
|
3
|
+
Paint the normal lunR interface before importing the agent runtime. Models,
|
|
4
|
+
resources, session restoration, extensions, and maintenance may take longer;
|
|
5
|
+
they must not determine when the user first sees the chatbox.
|
|
6
|
+
|
|
7
|
+
PR #41 starts a generic editor with a separate startup message, then changes the
|
|
8
|
+
layout and editor after hydration. Its first-frame marker also accepts terminal
|
|
9
|
+
setup writes. Keep its useful early routing and startup-dialog work, but replace
|
|
10
|
+
the temporary presentation and measure actual rendered content.
|
|
11
|
+
|
|
12
|
+
1. Start a persistent view using the existing themed ChatboxEditor,
|
|
13
|
+
BootScreenComponent, and stats renderer. Read only local display preferences.
|
|
14
|
+
Reuse the terminal and editor when InteractiveMode attaches. Unknown runtime
|
|
15
|
+
data fills in later; no second startup screen or editor reset.
|
|
16
|
+
2. Begin runtime imports after a complete TUI frame has been written. Keep
|
|
17
|
+
session selection and trust dialogs on that terminal. Preserve drafts,
|
|
18
|
+
cursor position, and pasted images while initialization proceeds.
|
|
19
|
+
3. Hold submissions until session and extension initialization completes, then
|
|
20
|
+
dispatch through the normal command/message handler. Keep failures visible
|
|
21
|
+
and allow exit while loading. Defer session retention and other maintenance.
|
|
22
|
+
4. Verify real frame content without a runtime, editor identity across binding,
|
|
23
|
+
delayed/failing initialization, command routing, and noninteractive launches.
|
|
24
|
+
Benchmark first content frame separately from runtime and feature readiness,
|
|
25
|
+
using isolated settings and both cold and warm compile caches.
|
|
26
|
+
|
|
27
|
+
This PR targets startup only. The permission, rollback, orchestrator, and release
|
|
28
|
+
changes in #41 remain separate. Custom extension themes/editors become available
|
|
29
|
+
when their resources load; the builtin moon interface is available immediately.
|
|
30
|
+
|
|
31
|
+
## Validation
|
|
32
|
+
|
|
33
|
+
The Node CLI keeps one terminal and one moon editor through attachment. Enter
|
|
34
|
+
during loading holds the current draft. Edits continue to change that draft;
|
|
35
|
+
Escape cancels the pending submission. Commands run through the normal handler
|
|
36
|
+
after features are ready. A failed feature load preserves the draft and reports
|
|
37
|
+
the error instead of submitting it.
|
|
38
|
+
|
|
39
|
+
The shipped moon theme avoids loading the schema compiler and highlighter before
|
|
40
|
+
paint. Custom theme validation and syntax highlighting use the same implementations
|
|
41
|
+
on first use. Footer git discovery and diffs run asynchronously.
|
|
42
|
+
|
|
43
|
+
After the offline builds, run:
|
|
44
|
+
|
|
45
|
+
```sh
|
|
46
|
+
node scripts/check-interactive-first-paint.mjs
|
|
47
|
+
node scripts/profile-coding-agent-node.mjs --mode tui --skip-build --isolated-agent-dir --runs 3
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
The first command exercises the built CLI with runtime loading stalled or failed.
|
|
51
|
+
It verifies the real chatbox appears before hydration, accepts edits while
|
|
52
|
+
waiting, and restores the terminal on exit. The Vitest integration also checks
|
|
53
|
+
editor identity, cursor position, images, dialogs, and delayed command dispatch.
|
|
54
|
+
|
|
55
|
+
On Windows with Node 24.15.0 and moon, three fresh compile-cache runs wrote the
|
|
56
|
+
first complete frame in 94.8–95.3ms. Three warm runs measured 96.6–99.1ms. Feature
|
|
57
|
+
readiness came at 2.01–2.43s. Milestones include Node entry-module loading.
|
|
58
|
+
Terminal compositor latency and compiled Bun binaries were not measured.
|
package/docs/keybindings.md
CHANGED
|
@@ -87,7 +87,7 @@ Modifier combinations: `ctrl+shift+x`, `alt+ctrl+x`, `ctrl+shift+alt+x`, `ctrl+1
|
|
|
87
87
|
| `app.exit` | `ctrl+d` | Exit (when editor empty) |
|
|
88
88
|
| `app.suspend` | `ctrl+z` (none on Windows) | Suspend to background |
|
|
89
89
|
| `app.editor.external` | `ctrl+g` | Open in external editor (`externalEditor`, `$VISUAL`, `$EDITOR`, Notepad on Windows, or `nano` elsewhere) |
|
|
90
|
-
| `app.clipboard.pasteImage` | `ctrl+v` (`alt+v` on Windows) | Paste image from clipboard |
|
|
90
|
+
| `app.clipboard.pasteImage` | `ctrl+v` (`alt+v` on Windows) | Paste image from clipboard; `/paste-image` needs no shortcut |
|
|
91
91
|
|
|
92
92
|
### Sessions
|
|
93
93
|
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Model catalog maintenance
|
|
2
|
+
|
|
3
|
+
Routine catalog updates use HTTP requests and deterministic TypeScript normalization, with no AI inference or agent runs.
|
|
4
|
+
|
|
5
|
+
## Discovery and precedence
|
|
6
|
+
|
|
7
|
+
The public generator combines models.dev, OpenRouter, Vercel, NVIDIA, OpenCode Zen/Go, and OpenAI's published Codex metadata. Codex model IDs come from that upstream document, not a handwritten list.
|
|
8
|
+
|
|
9
|
+
At runtime, supported providers also expose live discovery. Codex uses the authenticated account-specific `/codex/models` endpoint, including its client-version query and account header. The client version is resolved from official npm release metadata; only JSON metadata is fetched, never package code. If that lookup fails, discovery uses its last successful version or the bundled fallback.
|
|
10
|
+
|
|
11
|
+
Provider-supplied capability fields override older published metadata for the same model. Missing fields use existing exact-model metadata or conservative defaults; unknown prices are marked unavailable in the picker. Explicit `models.json` and extension model configuration are applied last. API-specific transport compatibility remains code-owned.
|
|
12
|
+
|
|
13
|
+
A successful Codex account list controls picker availability, including hidden models. Existing model records remain resolvable for saved sessions and explicit configuration. Codex context limits are route-specific: its default context is not necessarily the maximum advertised for the OpenAI API. Unknown reasoning levels are retained as metadata but are not offered or sent until lunR supports them. Server prompt templates are not imported.
|
|
14
|
+
|
|
15
|
+
## Refresh and recovery
|
|
16
|
+
|
|
17
|
+
Interactive startup uses cached or bundled data without catalog network requests. After prompt readiness, an idle poll checks for refreshes; successful automatic refreshes are limited to once an hour per runtime/account configuration, with a one-minute retry delay on failure. Active turns retain their model object, and shutdown cancels the poll. `/refresh` bypasses the freshness gate. The model picker and CLI model listing also request a freshness check; unresolved explicit CLI models get a discovery attempt.
|
|
18
|
+
|
|
19
|
+
Live caches are scoped to provider, endpoint, and credential/account identity using a digest. A response from an account changed during the request is discarded. Legacy unscoped public provider caches remain readable; unscoped Codex account caches do not. A failed request retains the last good data for the same scope.
|
|
20
|
+
|
|
21
|
+
## Publication
|
|
22
|
+
|
|
23
|
+
The hourly `publish-model-catalog.yml` workflow validates sources and publication contracts, then publishes data directly to the dedicated `model-catalog` branch. Application code still goes through normal review. Each publication has an immutable content-addressed snapshot, per-shard checksums, source fetch timestamps/status, and a manifest. Clients fetch the manifest and only the shards for providers with stored credentials; the old master-branch index remains a fallback during migration. Custom catalog mirrors retain the legacy index/shard format.
|
|
24
|
+
|
|
25
|
+
Source requests have bounded retries and a last-good cache. Invalid schemas and suspicious drops greater than 25% for a source/provider previously containing at least ten models reuse cached data and appear in the workflow summary/manifest. Other sources can still update. A first run without a valid source cache fails closed. The final bundle must contain at least 500 models and include Anthropic, OpenAI, Codex, and OpenRouter, with valid limits, inputs, and prices.
|
|
26
|
+
|
|
27
|
+
For an upstream outage, inspect the workflow summary and manifest source status; the timestamps describe when data was actually fetched. For a legitimate large removal caught by the guard, review the upstream change before invalidating that source's last-good Actions cache. New provider protocols or incompatible capability schemas still require adapter work; discovery cannot grant access an account does not have.
|
|
28
|
+
|
|
29
|
+
`npm run sync:model-catalog` regenerates the checked-in offline bundle. Normal release builds remain offline and copy that bundle into the CLI package. Deploying the runtime changes requires a new CLI release; the publication workflow becomes active after it lands on the default branch.
|
package/docs/quickstart.md
CHANGED
|
@@ -137,7 +137,7 @@ lunr @README.md "Summarize this"
|
|
|
137
137
|
lunr @src/app.ts @src/app.test.ts "Review these together"
|
|
138
138
|
```
|
|
139
139
|
|
|
140
|
-
Paste images with Ctrl+V
|
|
140
|
+
Paste images with Ctrl+V or Alt+V on Windows. VS Code owns those keys, so `/paste-image` pastes without a terminal shortcut. The editor inserts `[image_1]`, `[image_2]`, … chips instead of a temp path. Dragging images into supported terminals also works.
|
|
141
141
|
|
|
142
142
|
### Run shell commands
|
|
143
143
|
|
package/docs/settings.md
CHANGED
|
@@ -224,8 +224,6 @@ When multiple sources specify a session directory, precedence is `--session-dir`
|
|
|
224
224
|
|
|
225
225
|
| Setting | Type | Default | Description |
|
|
226
226
|
|---------|------|---------|-------------|
|
|
227
|
-
| `gutterRail` | boolean | `true` | Thin left rail around each turn |
|
|
228
|
-
| `promptSymbol` | boolean | `true` | Show the ☾ › prompt glyph on the editor's first line |
|
|
229
227
|
| `footerMcp` | boolean | `true` | Show MCP status in the footer |
|
|
230
228
|
| `footerLsp` | boolean | `false` | Show LSP status in the footer |
|
|
231
229
|
| `footerContext` | boolean | `true` | Show context-usage pct/window |
|
|
@@ -238,7 +236,7 @@ When multiple sources specify a session directory, precedence is `--session-dir`
|
|
|
238
236
|
| `footerPlanBar` | boolean | `true` | Show the █░ fill; off keeps the percent only |
|
|
239
237
|
| `planUsageWindow` | string | `"5h"` | Preferred plan window: `"5h"` or `"weekly"`. Missing 5h falls back to weekly |
|
|
240
238
|
|
|
241
|
-
Customize these from `/settings` → Customize
|
|
239
|
+
Customize these from `/settings` → Customize as well.
|
|
242
240
|
|
|
243
241
|
### Cron, rollback, subscriptions
|
|
244
242
|
|
package/docs/terminal-setup.md
CHANGED
|
@@ -97,7 +97,7 @@ Add to `keybindings.json`:
|
|
|
97
97
|
}
|
|
98
98
|
```
|
|
99
99
|
|
|
100
|
-
On Windows,
|
|
100
|
+
On Windows, VS Code owns `Ctrl+V` and uses `Alt+V` as the View menu mnemonic. Forward lunR's `Alt+V` image-paste binding explicitly:
|
|
101
101
|
|
|
102
102
|
```json
|
|
103
103
|
{
|
|
@@ -108,7 +108,7 @@ On Windows, lunR pastes clipboard images with `Alt+V` (`app.clipboard.pasteImage
|
|
|
108
108
|
}
|
|
109
109
|
```
|
|
110
110
|
|
|
111
|
-
A successful paste toasts `Pasted [image_1]` and inserts that chip in the editor. Submit keeps the label in the chat card and attaches the image to the model. `Clipboard contains no image
|
|
111
|
+
A successful paste toasts `Pasted [image_1]` and inserts that chip in the editor. If VS Code still owns the key, `/paste-image` invokes the same operation without depending on any terminal shortcut. Submit keeps the label in the chat card and attaches the image to the model. `Clipboard contains no image` means the command arrived but the OS clipboard had no image.
|
|
112
112
|
|
|
113
113
|
## Windows Terminal
|
|
114
114
|
|
package/docs/usage.md
CHANGED
|
@@ -23,7 +23,7 @@ The editor can be replaced temporarily by built-in UI such as `/settings` or by
|
|
|
23
23
|
| Path completion | Press Tab to complete paths |
|
|
24
24
|
| Multi-line input | Shift+Enter, or Ctrl+Enter on Windows Terminal |
|
|
25
25
|
| Copy response | Ctrl+X copies the last assistant message; in `/tree`, it copies the selected message |
|
|
26
|
-
| Images | Paste with Ctrl+V, Alt+V on Windows, or drag into the terminal. Images insert `[image_n]` chips
|
|
26
|
+
| Images | Paste with Ctrl+V, Alt+V on Windows, `/paste-image`, or drag into the terminal. VS Code must forward Alt+V. Images insert `[image_n]` chips. |
|
|
27
27
|
| Shell command | `!command` runs and sends output to the model |
|
|
28
28
|
| Hidden shell command | `!!command` runs without sending output to the model |
|
|
29
29
|
| External editor | Ctrl+G opens `externalEditor`, `$VISUAL`, `$EDITOR`, Notepad on Windows, or `nano` elsewhere |
|
|
@@ -46,6 +46,7 @@ Built-in commands (from `slash-commands.ts`):
|
|
|
46
46
|
| `/import` | Import and resume a session from a JSONL file |
|
|
47
47
|
| `/share` | Share session as a secret GitHub gist. HTML viewer still defaults to https://pi.dev/session/ (leftover, not lunR-hosted). Override with `PI_SHARE_VIEWER_URL`. |
|
|
48
48
|
| `/copy` | Copy last agent message to clipboard |
|
|
49
|
+
| `/paste-image` | Paste an image from the clipboard |
|
|
49
50
|
| `/name`, `/title` | Set session display name |
|
|
50
51
|
| `/session` | Show session info and stats |
|
|
51
52
|
| `/usage` | This-session token totals, context, and every stored subscription plan (no `/token-usage`) |
|
package/docs/windows.md
CHANGED
|
@@ -18,7 +18,7 @@ For most users, [Git for Windows](https://git-scm.com/download/win) is sufficien
|
|
|
18
18
|
|
|
19
19
|
## Image paste
|
|
20
20
|
|
|
21
|
-
Ctrl+V is the terminal's paste. lunR image paste is **Alt+V**. The editor inserts `[image_n]` chips, not a temp path. VS Code
|
|
21
|
+
Ctrl+V is the terminal's paste. lunR image paste is **Alt+V**. The editor inserts `[image_n]` chips, not a temp path. VS Code must forward Alt+V with `sendSequence` `\u001b[118;3u`; `/paste-image` works without a terminal shortcut.
|
|
22
22
|
|
|
23
23
|
## LSP
|
|
24
24
|
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-extension-custom-provider",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.14",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "pi-extension-custom-provider",
|
|
9
|
-
"version": "0.2.
|
|
9
|
+
"version": "0.2.14",
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"@anthropic-ai/sdk": "^0.52.0"
|
|
12
12
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-extension-gondolin",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.14",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "pi-extension-gondolin",
|
|
9
|
-
"version": "0.2.
|
|
9
|
+
"version": "0.2.14",
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"@earendil-works/gondolin": "0.12.0"
|
|
12
12
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-extension-sandbox",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.14",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "pi-extension-sandbox",
|
|
9
|
-
"version": "0.2.
|
|
9
|
+
"version": "0.2.14",
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"@anthropic-ai/sandbox-runtime": "^0.0.26"
|
|
12
12
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-extension-with-deps",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.14",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "pi-extension-with-deps",
|
|
9
|
-
"version": "0.2.
|
|
9
|
+
"version": "0.2.14",
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"ms": "^2.1.3"
|
|
12
12
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ashx-j/lunr",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.14",
|
|
4
4
|
"description": "lunR — terminal coding agent CLI with read, bash, edit, write tools and session management",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"piConfig": {
|
|
@@ -37,12 +37,12 @@
|
|
|
37
37
|
"shrinkwrap": "node ../../scripts/generate-coding-agent-shrinkwrap.mjs"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@ashx-j/lunr-agent": "^0.2.
|
|
41
|
-
"@ashx-j/lunr-ai": "^0.2.
|
|
42
|
-
"@ashx-j/lunr-tui": "^0.2.
|
|
43
|
-
"@modelcontextprotocol/ext-apps": "
|
|
40
|
+
"@ashx-j/lunr-agent": "^0.2.14",
|
|
41
|
+
"@ashx-j/lunr-ai": "^0.2.14",
|
|
42
|
+
"@ashx-j/lunr-tui": "^0.2.14",
|
|
43
|
+
"@modelcontextprotocol/ext-apps": "1.7.4",
|
|
44
44
|
"@modelcontextprotocol/sdk": "1.30.0",
|
|
45
|
-
"@mozilla/readability": "
|
|
45
|
+
"@mozilla/readability": "0.6.0",
|
|
46
46
|
"@silvia-odwyer/photon-node": "0.3.4",
|
|
47
47
|
"@sinclair/typebox": "npm:typebox@1.1.38",
|
|
48
48
|
"chalk": "5.6.2",
|
|
@@ -55,23 +55,23 @@
|
|
|
55
55
|
"hosted-git-info": "9.0.3",
|
|
56
56
|
"ignore": "7.0.5",
|
|
57
57
|
"jiti": "2.7.0",
|
|
58
|
-
"linkedom": "
|
|
58
|
+
"linkedom": "0.16.11",
|
|
59
59
|
"minimatch": "10.2.5",
|
|
60
|
-
"open": "
|
|
61
|
-
"p-limit": "
|
|
60
|
+
"open": "10.2.0",
|
|
61
|
+
"p-limit": "6.2.0",
|
|
62
62
|
"proper-lockfile": "4.1.2",
|
|
63
|
-
"recheck": "
|
|
63
|
+
"recheck": "4.5.0",
|
|
64
64
|
"semver": "7.8.0",
|
|
65
|
-
"tree-sitter-wasms": "
|
|
66
|
-
"turndown": "
|
|
65
|
+
"tree-sitter-wasms": "0.1.13",
|
|
66
|
+
"turndown": "7.2.4",
|
|
67
67
|
"typebox": "1.1.38",
|
|
68
68
|
"undici": "8.5.0",
|
|
69
69
|
"unicode-animations": "1.0.3",
|
|
70
|
-
"unpdf": "
|
|
71
|
-
"vscode-languageserver-protocol": "
|
|
72
|
-
"web-tree-sitter": "
|
|
70
|
+
"unpdf": "1.6.2",
|
|
71
|
+
"vscode-languageserver-protocol": "3.18.2",
|
|
72
|
+
"web-tree-sitter": "0.24.7",
|
|
73
73
|
"yaml": "2.9.0",
|
|
74
|
-
"zod": "
|
|
74
|
+
"zod": "4.4.3"
|
|
75
75
|
},
|
|
76
76
|
"overrides": {
|
|
77
77
|
"rimraf": "6.1.2",
|