@ashx-j/lunr 0.2.11 → 0.2.13
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 +13 -0
- package/README.md +211 -236
- package/dist/builtin-extensions/ashxj-tui.d.ts +3 -0
- package/dist/builtin-extensions/ashxj-tui.d.ts.map +1 -1
- package/dist/builtin-extensions/ashxj-tui.js +28 -11
- package/dist/builtin-extensions/ashxj-tui.js.map +1 -1
- package/dist/builtin-extensions/index.d.ts.map +1 -1
- package/dist/builtin-extensions/index.js +0 -2
- package/dist/builtin-extensions/index.js.map +1 -1
- package/dist/builtin-extensions/lunr-cron.d.ts +1 -1
- package/dist/builtin-extensions/lunr-cron.d.ts.map +1 -1
- package/dist/builtin-extensions/lunr-cron.js +1 -1
- package/dist/builtin-extensions/lunr-cron.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/extension/chain-validation.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/extension/chain-validation.js +3 -3
- package/dist/builtin-extensions/pi-subagents/src/extension/chain-validation.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/extension/doctor.d.ts +0 -2
- package/dist/builtin-extensions/pi-subagents/src/extension/doctor.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/extension/doctor.js +1 -23
- package/dist/builtin-extensions/pi-subagents/src/extension/doctor.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/extension/fanout-child.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/extension/fanout-child.js +6 -7
- package/dist/builtin-extensions/pi-subagents/src/extension/fanout-child.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/extension/index.d.ts +1 -1
- package/dist/builtin-extensions/pi-subagents/src/extension/index.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/extension/index.js +7 -14
- package/dist/builtin-extensions/pi-subagents/src/extension/index.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/extension/schemas.d.ts +12 -9
- package/dist/builtin-extensions/pi-subagents/src/extension/schemas.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/extension/schemas.js +38 -34
- package/dist/builtin-extensions/pi-subagents/src/extension/schemas.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/extension/tool-description.d.ts +3 -3
- package/dist/builtin-extensions/pi-subagents/src/extension/tool-description.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/extension/tool-description.js +32 -47
- package/dist/builtin-extensions/pi-subagents/src/extension/tool-description.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/intercom/intercom-bridge.d.ts +2 -2
- package/dist/builtin-extensions/pi-subagents/src/intercom/intercom-bridge.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/intercom/intercom-bridge.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/async-execution.d.ts +7 -10
- 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 +90 -109
- 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 +3 -2
- 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 +37 -50
- package/dist/builtin-extensions/pi-subagents/src/runs/background/async-resume.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 +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/run-status.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/scheduled-runs.d.ts +4 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/scheduled-runs.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/scheduled-runs.js +5 -5
- package/dist/builtin-extensions/pi-subagents/src/runs/background/scheduled-runs.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 +31 -13
- 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-clarify.d.ts +2 -2
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-clarify.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-clarify.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-execution.d.ts +4 -3
- 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 +48 -20
- 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 +2 -2
- 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 +90 -64
- 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 +6 -8
- 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 +262 -161
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/subagent-executor.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/acceptance.d.ts +2 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/acceptance.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/acceptance.js +24 -33
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/acceptance.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/child-tools.d.ts +25 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/child-tools.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/child-tools.js +51 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/child-tools.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/dynamic-fanout.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/dynamic-fanout.js +20 -3
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/dynamic-fanout.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/parallel-utils.d.ts +4 -1
- 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/runs/shared/pi-args.d.ts +5 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/pi-args.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/pi-args.js +9 -3
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/pi-args.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/subagent-prompt-runtime.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/subagent-prompt-runtime.js +2 -2
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/subagent-prompt-runtime.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/task-intent.d.ts +2 -2
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/task-intent.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/task-intent.js +20 -17
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/task-intent.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/shared/child-spec.d.ts +70 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/child-spec.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/child-spec.js +153 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/child-spec.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/settings.d.ts +13 -8
- package/dist/builtin-extensions/pi-subagents/src/shared/settings.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/shared/settings.js +20 -51
- package/dist/builtin-extensions/pi-subagents/src/shared/settings.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/shared/types.d.ts +80 -20
- package/dist/builtin-extensions/pi-subagents/src/shared/types.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/shared/types.js +10 -2
- package/dist/builtin-extensions/pi-subagents/src/shared/types.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/slash/prompt-workflows.d.ts +2 -2
- package/dist/builtin-extensions/pi-subagents/src/slash/prompt-workflows.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/slash/prompt-workflows.js +20 -32
- package/dist/builtin-extensions/pi-subagents/src/slash/prompt-workflows.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/slash/slash-commands.d.ts +2 -1
- package/dist/builtin-extensions/pi-subagents/src/slash/slash-commands.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/slash/slash-commands.js +23 -449
- package/dist/builtin-extensions/pi-subagents/src/slash/slash-commands.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/tui/render.d.ts +2 -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 +13 -11
- package/dist/builtin-extensions/pi-subagents/src/tui/render.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/watchdog/runtime.d.ts +2 -1
- package/dist/builtin-extensions/pi-subagents/src/watchdog/runtime.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/watchdog/runtime.js +18 -17
- package/dist/builtin-extensions/pi-subagents/src/watchdog/runtime.js.map +1 -1
- package/dist/builtin-extensions/simple-pi-memory.d.ts +2 -2
- package/dist/builtin-extensions/simple-pi-memory.d.ts.map +1 -1
- package/dist/builtin-extensions/simple-pi-memory.js +41 -17
- package/dist/builtin-extensions/simple-pi-memory.js.map +1 -1
- package/dist/catalog/models.json +1 -1
- package/dist/catalog/providers/amazon-bedrock.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/cloudflare-workers-ai.json +1 -1
- package/dist/catalog/providers/fireworks.json +1 -1
- package/dist/catalog/providers/github-copilot.json +1 -1
- package/dist/catalog/providers/huggingface.json +1 -1
- package/dist/catalog/providers/minimax-cn.json +1 -1
- package/dist/catalog/providers/minimax.json +1 -1
- package/dist/catalog/providers/mistral.json +1 -1
- package/dist/catalog/providers/nvidia.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/qwen-cloud-cn.json +1 -1
- package/dist/catalog/providers/qwen-cloud.json +1 -1
- package/dist/catalog/providers/qwen-token-plan-cn.json +1 -1
- package/dist/catalog/providers/qwen-token-plan.json +1 -1
- package/dist/catalog/providers/together.json +1 -1
- package/dist/catalog/providers/vercel-ai-gateway.json +1 -1
- package/dist/catalog/providers/zai-coding-cn.json +1 -1
- package/dist/catalog/providers/zai.json +1 -1
- package/dist/catalog/publication.json +3 -3
- package/dist/core/agent-session.d.ts +7 -1
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +34 -4
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/context-breakdown.d.ts +3 -1
- package/dist/core/context-breakdown.d.ts.map +1 -1
- package/dist/core/context-breakdown.js +5 -2
- package/dist/core/context-breakdown.js.map +1 -1
- package/dist/core/customize.d.ts +2 -0
- package/dist/core/customize.d.ts.map +1 -1
- package/dist/core/customize.js +6 -0
- package/dist/core/customize.js.map +1 -1
- package/dist/core/memory-cap.d.ts +4 -8
- package/dist/core/memory-cap.d.ts.map +1 -1
- package/dist/core/memory-cap.js +8 -8
- package/dist/core/memory-cap.js.map +1 -1
- package/dist/core/permissions.d.ts +2 -0
- package/dist/core/permissions.d.ts.map +1 -1
- package/dist/core/permissions.js +30 -14
- package/dist/core/permissions.js.map +1 -1
- package/dist/core/plan-mode.d.ts.map +1 -1
- package/dist/core/plan-mode.js +1 -9
- package/dist/core/plan-mode.js.map +1 -1
- package/dist/core/rollback.d.ts.map +1 -1
- package/dist/core/rollback.js +1 -1
- package/dist/core/rollback.js.map +1 -1
- package/dist/core/settings-manager.d.ts +16 -5
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +37 -10
- 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 -5
- package/dist/core/slash-commands.js.map +1 -1
- package/dist/core/subagent-permission-inherit.d.ts +34 -22
- package/dist/core/subagent-permission-inherit.d.ts.map +1 -1
- package/dist/core/subagent-permission-inherit.js +37 -80
- package/dist/core/subagent-permission-inherit.js.map +1 -1
- package/dist/core/swarm.d.ts.map +1 -1
- package/dist/core/swarm.js +13 -7
- package/dist/core/swarm.js.map +1 -1
- package/dist/core/system-prompt.d.ts +6 -4
- package/dist/core/system-prompt.d.ts.map +1 -1
- package/dist/core/system-prompt.js +38 -48
- package/dist/core/system-prompt.js.map +1 -1
- package/dist/core/usage-adapters/openai-codex.d.ts +1 -1
- package/dist/core/usage-adapters/openai-codex.d.ts.map +1 -1
- package/dist/core/usage-adapters/openai-codex.js +22 -17
- package/dist/core/usage-adapters/openai-codex.js.map +1 -1
- package/dist/core/usage-service.d.ts +10 -1
- package/dist/core/usage-service.d.ts.map +1 -1
- package/dist/core/usage-service.js +17 -6
- package/dist/core/usage-service.js.map +1 -1
- package/dist/gateway/agent-bridge.d.ts.map +1 -1
- package/dist/gateway/agent-bridge.js +1 -4
- package/dist/gateway/agent-bridge.js.map +1 -1
- package/dist/gateway/cron.d.ts.map +1 -1
- package/dist/gateway/cron.js +1 -4
- package/dist/gateway/cron.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +0 -5
- 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 +21 -0
- package/dist/migrations.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector.d.ts +7 -4
- package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector.js +122 -162
- package/dist/modes/interactive/components/settings-selector.js.map +1 -1
- package/dist/modes/interactive/components/usage-view.d.ts +1 -1
- package/dist/modes/interactive/components/usage-view.d.ts.map +1 -1
- package/dist/modes/interactive/components/usage-view.js +7 -4
- package/dist/modes/interactive/components/usage-view.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +1 -2
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +55 -96
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/skill-tag-autocomplete.d.ts +13 -0
- package/dist/modes/interactive/skill-tag-autocomplete.d.ts.map +1 -0
- package/dist/modes/interactive/skill-tag-autocomplete.js +72 -0
- package/dist/modes/interactive/skill-tag-autocomplete.js.map +1 -0
- package/docs/compaction.md +23 -23
- package/docs/containerization.md +24 -24
- package/docs/custom-provider.md +18 -18
- package/docs/development.md +16 -15
- package/docs/docs.json +6 -2
- package/docs/extensions.md +82 -80
- package/docs/features.md +102 -0
- package/docs/index.md +25 -19
- package/docs/json.md +7 -7
- package/docs/keybindings.md +4 -4
- package/docs/models.md +2 -2
- package/docs/packages.md +38 -42
- package/docs/prompt-templates.md +4 -4
- package/docs/providers.md +22 -10
- package/docs/quickstart.md +81 -46
- package/docs/rpc.md +7 -13
- package/docs/sdk.md +43 -41
- package/docs/security.md +18 -18
- package/docs/session-format.md +9 -9
- package/docs/sessions.md +13 -12
- package/docs/settings.md +63 -24
- package/docs/shell-aliases.md +2 -2
- package/docs/skills.md +21 -11
- package/docs/terminal-setup.md +5 -5
- package/docs/termux.md +7 -7
- package/docs/themes.md +12 -14
- package/docs/tmux.md +4 -4
- package/docs/tui.md +23 -23
- package/docs/usage.md +112 -87
- package/docs/windows.md +10 -2
- package/examples/README.md +3 -1
- package/examples/extensions/README.md +6 -6
- 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/doom-overlay/README.md +2 -2
- package/examples/extensions/gondolin/package-lock.json +2 -2
- package/examples/extensions/gondolin/package.json +1 -1
- package/examples/extensions/plan-mode/README.md +3 -1
- package/examples/extensions/sandbox/package-lock.json +2 -2
- package/examples/extensions/sandbox/package.json +1 -1
- package/examples/extensions/subagent/README.md +13 -11
- package/examples/extensions/todo.ts +2 -1
- package/examples/extensions/with-deps/package-lock.json +2 -2
- package/examples/extensions/with-deps/package.json +1 -1
- package/examples/sdk/README.md +9 -5
- package/package.json +6 -7
- package/dist/builtin-extensions/lunr-behavior.d.ts +0 -44
- package/dist/builtin-extensions/lunr-behavior.d.ts.map +0 -1
- package/dist/builtin-extensions/lunr-behavior.js +0 -213
- package/dist/builtin-extensions/lunr-behavior.js.map +0 -1
- package/dist/builtin-extensions/pi-subagents/agents/context-builder.md +0 -46
- package/dist/builtin-extensions/pi-subagents/agents/deep-researcher.md +0 -36
- package/dist/builtin-extensions/pi-subagents/agents/delegate.md +0 -12
- package/dist/builtin-extensions/pi-subagents/agents/oracle.md +0 -73
- package/dist/builtin-extensions/pi-subagents/agents/planner.md +0 -55
- package/dist/builtin-extensions/pi-subagents/agents/research-writer.md +0 -37
- package/dist/builtin-extensions/pi-subagents/agents/researcher.md +0 -52
- package/dist/builtin-extensions/pi-subagents/agents/reviewer.md +0 -79
- package/dist/builtin-extensions/pi-subagents/agents/scout.md +0 -50
- package/dist/builtin-extensions/pi-subagents/agents/worker.md +0 -55
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-management.d.ts +0 -20
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-management.d.ts.map +0 -1
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-management.js +0 -1273
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-management.js.map +0 -1
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-memory.d.ts +0 -49
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-memory.d.ts.map +0 -1
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-memory.js +0 -252
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-memory.js.map +0 -1
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-scope.d.ts +0 -3
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-scope.d.ts.map +0 -1
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-scope.js +0 -6
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-scope.js.map +0 -1
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-selection.d.ts +0 -3
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-selection.d.ts.map +0 -1
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-selection.js +0 -23
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-selection.js.map +0 -1
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-serializer.d.ts +0 -8
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-serializer.d.ts.map +0 -1
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-serializer.js +0 -143
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-serializer.js.map +0 -1
- package/dist/builtin-extensions/pi-subagents/src/agents/agents.d.ts +0 -176
- package/dist/builtin-extensions/pi-subagents/src/agents/agents.d.ts.map +0 -1
- package/dist/builtin-extensions/pi-subagents/src/agents/agents.js +0 -1326
- package/dist/builtin-extensions/pi-subagents/src/agents/agents.js.map +0 -1
- package/dist/builtin-extensions/pi-subagents/src/agents/chain-serializer.d.ts +0 -7
- package/dist/builtin-extensions/pi-subagents/src/agents/chain-serializer.d.ts.map +0 -1
- package/dist/builtin-extensions/pi-subagents/src/agents/chain-serializer.js +0 -307
- package/dist/builtin-extensions/pi-subagents/src/agents/chain-serializer.js.map +0 -1
- package/dist/builtin-extensions/pi-subagents/src/agents/identity.d.ts +0 -8
- package/dist/builtin-extensions/pi-subagents/src/agents/identity.d.ts.map +0 -1
- package/dist/builtin-extensions/pi-subagents/src/agents/identity.js +0 -30
- package/dist/builtin-extensions/pi-subagents/src/agents/identity.js.map +0 -1
- package/dist/builtin-extensions/pi-subagents/src/agents/proactive-skills.d.ts +0 -35
- package/dist/builtin-extensions/pi-subagents/src/agents/proactive-skills.d.ts.map +0 -1
- package/dist/builtin-extensions/pi-subagents/src/agents/proactive-skills.js +0 -151
- package/dist/builtin-extensions/pi-subagents/src/agents/proactive-skills.js.map +0 -1
- package/dist/builtin-extensions/pi-subagents/src/profiles/profiles.d.ts +0 -131
- package/dist/builtin-extensions/pi-subagents/src/profiles/profiles.d.ts.map +0 -1
- package/dist/builtin-extensions/pi-subagents/src/profiles/profiles.js +0 -491
- package/dist/builtin-extensions/pi-subagents/src/profiles/profiles.js.map +0 -1
- package/dist/core/behavior-preset.d.ts +0 -60
- package/dist/core/behavior-preset.d.ts.map +0 -1
- package/dist/core/behavior-preset.js +0 -257
- package/dist/core/behavior-preset.js.map +0 -1
package/docs/tmux.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# tmux Setup
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
lunR works inside tmux, but tmux strips modifier information from certain keys by default. Without configuration, `Shift+Enter` and `Ctrl+Enter` are usually indistinguishable from plain `Enter`.
|
|
4
4
|
|
|
5
5
|
## Recommended Configuration
|
|
6
6
|
|
|
@@ -18,7 +18,7 @@ tmux kill-server
|
|
|
18
18
|
tmux
|
|
19
19
|
```
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
lunR requests extended key reporting automatically when Kitty keyboard protocol is not available. With `extended-keys-format csi-u`, tmux forwards modified keys in CSI-u format, which is the most reliable configuration. The `extended-keys-format` option requires tmux 3.5 or later.
|
|
22
22
|
|
|
23
23
|
## Why `csi-u` Is Recommended
|
|
24
24
|
|
|
@@ -40,7 +40,7 @@ With `extended-keys-format csi-u`, the same keys are forwarded as:
|
|
|
40
40
|
- `Ctrl+D` → `\x1b[100;5u`
|
|
41
41
|
- `Ctrl+Enter` → `\x1b[13;5u`
|
|
42
42
|
|
|
43
|
-
|
|
43
|
+
lunR supports both formats, but `csi-u` is the recommended tmux setup.
|
|
44
44
|
|
|
45
45
|
## What This Fixes
|
|
46
46
|
|
|
@@ -60,4 +60,4 @@ This affects the default keybindings (`Enter` to submit, `Shift+Enter` for newli
|
|
|
60
60
|
- tmux 3.5 or later for `extended-keys-format csi-u` (run `tmux -V` to check)
|
|
61
61
|
- A terminal emulator that supports extended keys (Ghostty, Kitty, iTerm2, WezTerm, Windows Terminal)
|
|
62
62
|
|
|
63
|
-
With tmux 3.2 through 3.4, omit `extended-keys-format csi-u`;
|
|
63
|
+
With tmux 3.2 through 3.4, omit `extended-keys-format csi-u`; lunR still supports tmux's default xterm `modifyOtherKeys` format.
|
package/docs/tui.md
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
>
|
|
1
|
+
> lunR can create TUI components. Ask it to build one for your use case.
|
|
2
2
|
|
|
3
3
|
# TUI Components
|
|
4
4
|
|
|
5
5
|
Extensions and custom tools can render custom TUI components for interactive user interfaces. This page covers the component system and available building blocks.
|
|
6
6
|
|
|
7
|
-
**Source:** [`@
|
|
7
|
+
**Source:** [`@ashx-j/lunr-tui`](https://github.com/ashx-j/lunR/tree/master/packages/tui)
|
|
8
8
|
|
|
9
9
|
## Component Interface
|
|
10
10
|
|
|
@@ -33,7 +33,7 @@ The TUI appends a full SGR reset and OSC 8 reset at the end of each rendered lin
|
|
|
33
33
|
Components that display a text cursor and need IME (Input Method Editor) support should implement the `Focusable` interface:
|
|
34
34
|
|
|
35
35
|
```typescript
|
|
36
|
-
import { CURSOR_MARKER, type Component, type Focusable } from "@
|
|
36
|
+
import { CURSOR_MARKER, type Component, type Focusable } from "@ashx-j/lunr-tui";
|
|
37
37
|
|
|
38
38
|
class MyInput implements Component, Focusable {
|
|
39
39
|
focused: boolean = false; // Set by TUI when focus changes
|
|
@@ -59,7 +59,7 @@ The cursor remains hidden by default. This keeps the fake cursor rendering, whil
|
|
|
59
59
|
When a container component (dialog, selector, etc.) contains an `Input` or `Editor` child, the container must implement `Focusable` and propagate the focus state to the child. Otherwise, the hardware cursor won't be positioned correctly for IME input.
|
|
60
60
|
|
|
61
61
|
```typescript
|
|
62
|
-
import { Container, type Focusable, Input } from "@
|
|
62
|
+
import { Container, type Focusable, Input } from "@ashx-j/lunr-tui";
|
|
63
63
|
|
|
64
64
|
class SearchDialog extends Container implements Focusable {
|
|
65
65
|
private searchInput: Input;
|
|
@@ -188,10 +188,10 @@ See [overlay-qa-tests.ts](../examples/extensions/overlay-qa-tests.ts) for compre
|
|
|
188
188
|
|
|
189
189
|
## Built-in Components
|
|
190
190
|
|
|
191
|
-
Import from `@
|
|
191
|
+
Import from `@ashx-j/lunr-tui`:
|
|
192
192
|
|
|
193
193
|
```typescript
|
|
194
|
-
import { Text, Box, Container, Spacer, Markdown } from "@
|
|
194
|
+
import { Text, Box, Container, Spacer, Markdown } from "@ashx-j/lunr-tui";
|
|
195
195
|
```
|
|
196
196
|
|
|
197
197
|
### Text
|
|
@@ -273,7 +273,7 @@ const image = new Image(
|
|
|
273
273
|
Use `matchesKey()` for key detection:
|
|
274
274
|
|
|
275
275
|
```typescript
|
|
276
|
-
import { matchesKey, Key } from "@
|
|
276
|
+
import { matchesKey, Key } from "@ashx-j/lunr-tui";
|
|
277
277
|
|
|
278
278
|
handleInput(data: string) {
|
|
279
279
|
if (matchesKey(data, Key.up)) {
|
|
@@ -299,7 +299,7 @@ handleInput(data: string) {
|
|
|
299
299
|
**Critical:** Each line from `render()` must not exceed the `width` parameter.
|
|
300
300
|
|
|
301
301
|
```typescript
|
|
302
|
-
import { visibleWidth, truncateToWidth } from "@
|
|
302
|
+
import { visibleWidth, truncateToWidth } from "@ashx-j/lunr-tui";
|
|
303
303
|
|
|
304
304
|
render(width: number): string[] {
|
|
305
305
|
// Truncate long lines
|
|
@@ -320,7 +320,7 @@ Example: Interactive selector
|
|
|
320
320
|
import {
|
|
321
321
|
matchesKey, Key,
|
|
322
322
|
truncateToWidth, visibleWidth
|
|
323
|
-
} from "@
|
|
323
|
+
} from "@ashx-j/lunr-tui";
|
|
324
324
|
|
|
325
325
|
class MySelector {
|
|
326
326
|
private items: string[];
|
|
@@ -434,8 +434,8 @@ renderResult(result, options, theme, context) {
|
|
|
434
434
|
**For Markdown**, use `getMarkdownTheme()`:
|
|
435
435
|
|
|
436
436
|
```typescript
|
|
437
|
-
import { getMarkdownTheme } from "@
|
|
438
|
-
import { Markdown } from "@
|
|
437
|
+
import { getMarkdownTheme } from "@ashx-j/lunr";
|
|
438
|
+
import { Markdown } from "@ashx-j/lunr-tui";
|
|
439
439
|
|
|
440
440
|
renderResult(result, options, theme, context) {
|
|
441
441
|
const mdTheme = getMarkdownTheme();
|
|
@@ -596,12 +596,12 @@ These patterns cover the most common UI needs in extensions. **Copy these patter
|
|
|
596
596
|
|
|
597
597
|
### Pattern 1: Selection Dialog (SelectList)
|
|
598
598
|
|
|
599
|
-
For letting users pick from a list of options. Use `SelectList` from `@
|
|
599
|
+
For letting users pick from a list of options. Use `SelectList` from `@ashx-j/lunr-tui` with `DynamicBorder` for framing.
|
|
600
600
|
|
|
601
601
|
```typescript
|
|
602
|
-
import type { ExtensionAPI } from "@
|
|
603
|
-
import { DynamicBorder } from "@
|
|
604
|
-
import { Container, type SelectItem, SelectList, Text } from "@
|
|
602
|
+
import type { ExtensionAPI } from "@ashx-j/lunr";
|
|
603
|
+
import { DynamicBorder } from "@ashx-j/lunr";
|
|
604
|
+
import { Container, type SelectItem, SelectList, Text } from "@ashx-j/lunr-tui";
|
|
605
605
|
|
|
606
606
|
pi.registerCommand("pick", {
|
|
607
607
|
handler: async (_args, ctx) => {
|
|
@@ -659,7 +659,7 @@ pi.registerCommand("pick", {
|
|
|
659
659
|
For operations that take time and should be cancellable. `BorderedLoader` shows a spinner and handles escape to cancel.
|
|
660
660
|
|
|
661
661
|
```typescript
|
|
662
|
-
import { BorderedLoader } from "@
|
|
662
|
+
import { BorderedLoader } from "@ashx-j/lunr";
|
|
663
663
|
|
|
664
664
|
pi.registerCommand("fetch", {
|
|
665
665
|
handler: async (_args, ctx) => {
|
|
@@ -688,11 +688,11 @@ pi.registerCommand("fetch", {
|
|
|
688
688
|
|
|
689
689
|
### Pattern 3: Settings/Toggles (SettingsList)
|
|
690
690
|
|
|
691
|
-
For toggling multiple settings. Use `SettingsList` from `@
|
|
691
|
+
For toggling multiple settings. Use `SettingsList` from `@ashx-j/lunr-tui` with `getSettingsListTheme()`.
|
|
692
692
|
|
|
693
693
|
```typescript
|
|
694
|
-
import { getSettingsListTheme } from "@
|
|
695
|
-
import { Container, type SettingItem, SettingsList, Text } from "@
|
|
694
|
+
import { getSettingsListTheme } from "@ashx-j/lunr";
|
|
695
|
+
import { Container, type SettingItem, SettingsList, Text } from "@ashx-j/lunr-tui";
|
|
696
696
|
|
|
697
697
|
pi.registerCommand("settings", {
|
|
698
698
|
handler: async (_args, ctx) => {
|
|
@@ -746,7 +746,7 @@ ctx.ui.setStatus("my-ext", undefined);
|
|
|
746
746
|
|
|
747
747
|
### Pattern 4b: Working Indicator Customization
|
|
748
748
|
|
|
749
|
-
Customize the inline working indicator shown while
|
|
749
|
+
Customize the inline working indicator shown while lunR is streaming a response.
|
|
750
750
|
|
|
751
751
|
```typescript
|
|
752
752
|
// Static indicator
|
|
@@ -766,7 +766,7 @@ ctx.ui.setWorkingIndicator({
|
|
|
766
766
|
// Hide the indicator entirely
|
|
767
767
|
ctx.ui.setWorkingIndicator({ frames: [] });
|
|
768
768
|
|
|
769
|
-
// Restore
|
|
769
|
+
// Restore lunR's default spinner
|
|
770
770
|
ctx.ui.setWorkingIndicator();
|
|
771
771
|
```
|
|
772
772
|
|
|
@@ -831,8 +831,8 @@ Token stats available via `ctx.sessionManager.getBranch()` and `ctx.model`.
|
|
|
831
831
|
Replace the main input editor with a custom implementation. Useful for modal editing (vim), different keybindings (emacs), or specialized input handling.
|
|
832
832
|
|
|
833
833
|
```typescript
|
|
834
|
-
import { CustomEditor, type ExtensionAPI } from "@
|
|
835
|
-
import { matchesKey, truncateToWidth } from "@
|
|
834
|
+
import { CustomEditor, type ExtensionAPI } from "@ashx-j/lunr";
|
|
835
|
+
import { matchesKey, truncateToWidth } from "@ashx-j/lunr-tui";
|
|
836
836
|
|
|
837
837
|
type Mode = "normal" | "insert";
|
|
838
838
|
|
package/docs/usage.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# Using
|
|
1
|
+
# Using lunR
|
|
2
2
|
|
|
3
|
-
This page collects day-to-day usage details that do not fit on the quickstart page.
|
|
3
|
+
This page collects day-to-day usage details that do not fit on the quickstart page. Built-in MCP, subagents, gateway, cron, plan, and related workflows are covered in [Built-in features](features.md).
|
|
4
4
|
|
|
5
5
|
## Interactive Mode
|
|
6
6
|
|
|
@@ -11,9 +11,9 @@ The interface has four main areas:
|
|
|
11
11
|
- **Startup header** - shortcuts, loaded context files, prompt templates, skills, and extensions
|
|
12
12
|
- **Messages** - user messages, assistant responses, tool calls, tool results, notifications, errors, and extension UI
|
|
13
13
|
- **Editor** - where you type; border color indicates the current thinking level
|
|
14
|
-
- **Footer** - working directory, session name, token/cache usage, cost, context usage, and current model
|
|
14
|
+
- **Footer** - working directory, git branch, session name, token/cache usage, cost, context usage, plan bar, and current model
|
|
15
15
|
|
|
16
|
-
The editor can be replaced temporarily by built-in UI such as `/settings` or by custom extension UI.
|
|
16
|
+
The editor can be replaced temporarily by built-in UI such as `/settings` or by custom extension UI. Click a thinking or tool card to expand or collapse that item. Smooth streaming (`smoothStreaming`, default off) is interactive TUI only.
|
|
17
17
|
|
|
18
18
|
### Editor Features
|
|
19
19
|
|
|
@@ -23,42 +23,60 @@ 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 |
|
|
26
|
+
| Images | Paste with Ctrl+V, Alt+V on Windows, or drag into the terminal. Images insert `[image_n]` chips, not a temp path. |
|
|
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 |
|
|
30
30
|
|
|
31
|
-
See [Keybindings](keybindings.md) for all shortcuts and customization.
|
|
31
|
+
See [Keybindings](keybindings.md) for all shortcuts and customization. Shift+Tab cycles permission mode (`manual` → `yolo` → `plan` → `auto`). Ctrl+O cycles `/tree` filters; it does not expand tool cards. `app.tools.expand` is unbound.
|
|
32
32
|
|
|
33
33
|
## Slash Commands
|
|
34
34
|
|
|
35
35
|
Type `/` in the editor to open command completion. Extensions can register custom commands, skills are available as `/skill:name`, and prompt templates expand via `/templatename`.
|
|
36
36
|
|
|
37
|
+
Built-in commands (from `slash-commands.ts`):
|
|
38
|
+
|
|
37
39
|
| Command | Description |
|
|
38
40
|
|---------|-------------|
|
|
39
|
-
| `/
|
|
40
|
-
| `/model` |
|
|
41
|
-
| `/
|
|
42
|
-
| `/plan` | Switch to plan permission mode, or `/plan <task>` to plan a task |
|
|
41
|
+
| `/settings` | Open settings menu |
|
|
42
|
+
| `/model` | Select model (stored-cred providers) |
|
|
43
|
+
| `/refresh` | Refresh model lists for all providers |
|
|
43
44
|
| `/scoped-models` | Enable/disable models for Ctrl+P cycling |
|
|
44
|
-
| `/
|
|
45
|
-
| `/
|
|
46
|
-
| `/
|
|
47
|
-
| `/
|
|
48
|
-
| `/
|
|
49
|
-
| `/
|
|
45
|
+
| `/export` | Export session (HTML default, or `.html`/`.jsonl` path) |
|
|
46
|
+
| `/import` | Import and resume a session from a JSONL file |
|
|
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
|
+
| `/copy` | Copy last agent message to clipboard |
|
|
49
|
+
| `/name`, `/title` | Set session display name |
|
|
50
|
+
| `/session` | Show session info and stats |
|
|
51
|
+
| `/usage` | This-session token totals, context, and every stored subscription plan (no `/token-usage`) |
|
|
52
|
+
| `/fast [on\|off\|status]` | Toggle Fast mode for OpenAI Codex subscriptions only |
|
|
53
|
+
| `/context` | Estimated context-window breakdown |
|
|
54
|
+
| `/plan` | Switch to plan permission mode, or `/plan <task>` to plan a task |
|
|
55
|
+
| `/mode` | Set permission mode: `manual`, `yolo`, `plan`, or `auto` |
|
|
56
|
+
| `/manual`, `/yolo`, `/auto` | Activate that permission mode |
|
|
57
|
+
| `/processes` | View and manage background processes started this session |
|
|
58
|
+
| `/rollback` | Undo the last turn's file changes and rewind the conversation |
|
|
59
|
+
| `/hotkeys` | Show all keyboard shortcuts |
|
|
60
|
+
| `/fork` | Create a new fork from a previous user message |
|
|
61
|
+
| `/clone` | Duplicate the current session at the current position |
|
|
62
|
+
| `/tree` | Navigate session tree (`ctrl+o` cycles filters) |
|
|
63
|
+
| `/undo` | Rewind the last turn (same session; `/redo` restores) |
|
|
64
|
+
| `/edit` | Rewind the last turn and put its text in the chat box |
|
|
65
|
+
| `/redo` | Restore a turn undone with `/undo` |
|
|
50
66
|
| `/trust` | Save project trust decision for future sessions |
|
|
51
|
-
| `/
|
|
52
|
-
| `/
|
|
53
|
-
| `/
|
|
54
|
-
| `/
|
|
55
|
-
| `/
|
|
56
|
-
| `/
|
|
57
|
-
| `/
|
|
67
|
+
| `/login`, `/auth` | Configure provider authentication |
|
|
68
|
+
| `/logout`, `/deauth` | Remove provider authentication |
|
|
69
|
+
| `/new` | Start a new session |
|
|
70
|
+
| `/init` | Generate a starter AGENTS.md for this project |
|
|
71
|
+
| `/swarm` | Orchestrate parallel subagents for a complex task |
|
|
72
|
+
| `/compact` | Manually compact the session context |
|
|
73
|
+
| `/resume`, `/sessions` | Browse and resume sessions |
|
|
58
74
|
| `/reload` | Reload keybindings, extensions, skills, prompts, themes, and context files |
|
|
59
|
-
| `/
|
|
60
|
-
|
|
61
|
-
|
|
75
|
+
| `/quit`, `/exit` | Quit lunR |
|
|
76
|
+
|
|
77
|
+
There is no `/changelog` command.
|
|
78
|
+
|
|
79
|
+
Notable extension-registered commands (always available unless you disable those built-ins): `/thinking`, `/effort`, `/reasoning`, `/cron`, `/goal`, `/mcp`, `/mcp-auth`, `/lsp`, `/lsp-restart`, `/websearch`. See [Built-in features](features.md).
|
|
62
80
|
|
|
63
81
|
## Message Queue
|
|
64
82
|
|
|
@@ -69,21 +87,22 @@ You can submit messages while the agent is still working:
|
|
|
69
87
|
- **Escape** aborts and restores queued messages to the editor.
|
|
70
88
|
- **Alt+Up** retrieves queued messages back to the editor.
|
|
71
89
|
|
|
72
|
-
On Windows Terminal, Alt+Enter is fullscreen by default. Remap it as described in [Terminal setup](terminal-setup.md) if you want
|
|
90
|
+
On Windows Terminal, Alt+Enter is fullscreen by default. Remap it as described in [Terminal setup](terminal-setup.md) if you want lunR to receive the shortcut.
|
|
73
91
|
|
|
74
92
|
Configure delivery in [Settings](settings.md) with `steeringMode` and `followUpMode`.
|
|
75
93
|
|
|
76
94
|
## Sessions
|
|
77
95
|
|
|
78
|
-
Sessions are saved automatically to `~/.
|
|
96
|
+
Sessions are saved automatically to `~/.lunr/agent/sessions/`, organized by working directory.
|
|
79
97
|
|
|
80
98
|
```bash
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
99
|
+
lunr -c # Continue most recent session
|
|
100
|
+
lunr -r # Browse and select a session
|
|
101
|
+
lunr --no-session # Ephemeral mode; do not save
|
|
102
|
+
lunr --name "my task" # Set session display name at startup
|
|
103
|
+
lunr --session <path|id> # Use a specific session file or session ID
|
|
104
|
+
lunr --session-id <id> # Exact project session ID, created if missing
|
|
105
|
+
lunr --fork <path|id> # Fork a session into a new session file
|
|
87
106
|
```
|
|
88
107
|
|
|
89
108
|
Useful session commands:
|
|
@@ -93,14 +112,15 @@ Useful session commands:
|
|
|
93
112
|
- `/fork` creates a new session from an earlier user message.
|
|
94
113
|
- `/clone` duplicates the current active branch into a new session file.
|
|
95
114
|
- `/compact` summarizes older messages to free context.
|
|
115
|
+
- `/undo` / `/edit` / `/redo` stay in the same session. `/rollback` forks and restores files.
|
|
96
116
|
|
|
97
117
|
See [Sessions](sessions.md) and [Compaction](compaction.md) for details.
|
|
98
118
|
|
|
99
119
|
## Context Files
|
|
100
120
|
|
|
101
|
-
|
|
121
|
+
lunR loads `AGENTS.md` or `CLAUDE.md` at startup from:
|
|
102
122
|
|
|
103
|
-
- `~/.
|
|
123
|
+
- `~/.lunr/agent/AGENTS.md` for global instructions
|
|
104
124
|
- parent directories, walking up from the current working directory
|
|
105
125
|
- the current directory
|
|
106
126
|
|
|
@@ -110,59 +130,58 @@ Use context files for project conventions, commands, safety rules, and preferenc
|
|
|
110
130
|
|
|
111
131
|
Replace the default system prompt with:
|
|
112
132
|
|
|
113
|
-
- `.
|
|
114
|
-
- `~/.
|
|
133
|
+
- `.lunr/SYSTEM.md` for a project
|
|
134
|
+
- `~/.lunr/agent/SYSTEM.md` globally
|
|
115
135
|
|
|
116
136
|
Append to the default prompt without replacing it with `APPEND_SYSTEM.md` in either location.
|
|
117
137
|
|
|
118
138
|
### Project Trust
|
|
119
139
|
|
|
120
|
-
On interactive startup,
|
|
140
|
+
On interactive startup, lunR asks before trusting a project folder that contains project-local settings, resources, or project `.agents/skills` and has no saved decision for the folder or a parent folder in `~/.lunr/agent/trust.json`. Trusting a project allows lunR to load `.lunr/settings.json` and `.lunr` resources, install missing project packages, and execute project extensions.
|
|
121
141
|
|
|
122
|
-
Before the trust decision,
|
|
142
|
+
Before the trust decision, lunR loads only context files, user/global extensions, and CLI `-e` extensions so they can handle the `project_trust` event. Project-local extensions, project package-managed extensions, and project settings are loaded only after the project is trusted. This split also applies when switching to a session from a different cwd whose trust has not been resolved in the current process.
|
|
123
143
|
|
|
124
144
|
Non-interactive modes (`-p`, `--mode json`, and `--mode rpc`) do not show a trust prompt. Without an applicable saved trust decision, they use `defaultProjectTrust` from global settings: `ask` (default) and `never` ignore those project resources, while `always` trusts them. Pass `--approve`/`-a` or `--no-approve`/`-na` to override project trust for one run.
|
|
125
145
|
|
|
126
|
-
If no extension or saved decision applies, `defaultProjectTrust` controls the fallback behavior. Set it to `"ask"`, `"always"`, or `"never"` in `~/.
|
|
127
|
-
|
|
128
|
-
`pi config` and package commands use the same project trust flow, except `pi update` never prompts. Pass `--approve` to trust project-local settings for one command or `--no-approve` to ignore them.
|
|
146
|
+
If no extension or saved decision applies, `defaultProjectTrust` controls the fallback behavior. Set it to `"ask"`, `"always"`, or `"never"` in `~/.lunr/agent/settings.json`, or change it with `/settings`.
|
|
129
147
|
|
|
130
|
-
|
|
148
|
+
`lunr config` and package commands use the same project trust flow. Pass `--approve` to trust project-local settings for one command or `--no-approve` to ignore them. `lunr update` never prompts; it only reinstalls the global CLI.
|
|
131
149
|
|
|
150
|
+
Use `/trust` in interactive mode to save a project trust decision for future sessions, including trust for the immediate parent folder. It writes `~/.lunr/agent/trust.json` only; the current session is not reloaded, so restart lunR for changes to take effect.
|
|
132
151
|
|
|
133
152
|
## Exporting and Sharing Sessions
|
|
134
153
|
|
|
135
154
|
Use `/export [file]` to write a session to HTML.
|
|
136
155
|
|
|
137
|
-
Use `/share` to upload a private GitHub gist
|
|
138
|
-
|
|
139
|
-
If you use pi for open source work and want to publish sessions for model, prompt, tool, and evaluation research, see [`badlogic/pi-share-hf`](https://github.com/badlogic/pi-share-hf). It publishes sessions to Hugging Face datasets.
|
|
156
|
+
Use `/share` to upload a private GitHub gist. The HTML viewer URL still defaults to https://pi.dev/session/ — that is an intentional leftover, not a lunR-hosted viewer. Set `PI_SHARE_VIEWER_URL` to point elsewhere.
|
|
140
157
|
|
|
141
158
|
## CLI Reference
|
|
142
159
|
|
|
143
160
|
```bash
|
|
144
|
-
|
|
161
|
+
lunr [options] [@files...] [messages...]
|
|
145
162
|
```
|
|
146
163
|
|
|
147
|
-
### Package Commands
|
|
164
|
+
### Product and Package Commands
|
|
148
165
|
|
|
149
166
|
```bash
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
167
|
+
lunr setup # First-run / reconfigure optional features
|
|
168
|
+
lunr features [list|enable|disable]
|
|
169
|
+
lunr gateway […] # Chat gateway (requires chat-platforms)
|
|
170
|
+
lunr uninstall [--purge] # Remove this lunR install (keeps ~/.lunr/agent unless --purge)
|
|
171
|
+
lunr uninstall <source> [-l] # Remove an extension package (alias for remove)
|
|
172
|
+
lunr install <source> [-l] # Install package, -l for project-local
|
|
173
|
+
lunr remove <source> [-l] # Remove package
|
|
174
|
+
lunr list # List installed packages
|
|
175
|
+
lunr config # Enable/disable package resources
|
|
176
|
+
lunr update # Reinstall global @ashx-j/lunr only
|
|
177
|
+
lunr update --self # Same as lunr update
|
|
161
178
|
```
|
|
162
179
|
|
|
163
|
-
|
|
180
|
+
`lunr update` does not take `--models`, `--all`, `--force`, or `--extensions`. Refresh catalogs with `/refresh`. Workspace `npx lunr` from this repo refuses to self-update.
|
|
181
|
+
|
|
182
|
+
To uninstall lunR itself, see [Quickstart](quickstart.md#uninstall). `lunr config` and project package commands accept `--approve`/`--no-approve` to trust or ignore project-local settings for one command.
|
|
164
183
|
|
|
165
|
-
See [
|
|
184
|
+
See [Packages](packages.md) for package sources and security notes.
|
|
166
185
|
|
|
167
186
|
### Modes
|
|
168
187
|
|
|
@@ -174,10 +193,10 @@ See [Pi Packages](packages.md) for package sources and security notes.
|
|
|
174
193
|
| `--mode rpc` | RPC mode over stdin/stdout; see [RPC mode](rpc.md) |
|
|
175
194
|
| `--export <in> [out]` | Export a session to HTML |
|
|
176
195
|
|
|
177
|
-
In print mode,
|
|
196
|
+
In print mode, lunR also reads piped stdin and merges it into the initial prompt:
|
|
178
197
|
|
|
179
198
|
```bash
|
|
180
|
-
cat README.md |
|
|
199
|
+
cat README.md | lunr -p "Summarize this text"
|
|
181
200
|
```
|
|
182
201
|
|
|
183
202
|
### Model Options
|
|
@@ -198,6 +217,7 @@ cat README.md | pi -p "Summarize this text"
|
|
|
198
217
|
| `-c`, `--continue` | Continue the most recent session |
|
|
199
218
|
| `-r`, `--resume` | Browse and select a session |
|
|
200
219
|
| `--session <path\|id>` | Use a specific session file or partial UUID |
|
|
220
|
+
| `--session-id <id>` | Use exact project session ID, creating it if missing |
|
|
201
221
|
| `--fork <path\|id>` | Fork a session file or partial UUID into a new session |
|
|
202
222
|
| `--session-dir <dir>` | Custom session storage directory |
|
|
203
223
|
| `--no-session` | Ephemeral mode; do not save |
|
|
@@ -212,7 +232,7 @@ cat README.md | pi -p "Summarize this text"
|
|
|
212
232
|
| `--no-builtin-tools`, `-nbt` | Disable built-in tools but keep extension/custom tools enabled |
|
|
213
233
|
| `--no-tools`, `-nt` | Disable all tools |
|
|
214
234
|
|
|
215
|
-
Built-in tools: `read`, `bash`, `edit`, `write`, `grep`, `find`, `ls`.
|
|
235
|
+
Built-in tools: `read`, `bash`, `edit`, `write`, `grep`, `find`, `ls`. Default on: `read`, `bash`, `edit`, `write`. `grep`/`find`/`ls` start off.
|
|
216
236
|
|
|
217
237
|
### Resource Options
|
|
218
238
|
|
|
@@ -231,7 +251,7 @@ Built-in tools: `read`, `bash`, `edit`, `write`, `grep`, `find`, `ls`.
|
|
|
231
251
|
Combine `--no-*` with explicit flags to load exactly what you need, ignoring settings. Example:
|
|
232
252
|
|
|
233
253
|
```bash
|
|
234
|
-
|
|
254
|
+
lunr --no-extensions -e ./my-extension.ts
|
|
235
255
|
```
|
|
236
256
|
|
|
237
257
|
### Other Options
|
|
@@ -243,6 +263,7 @@ pi --no-extensions -e ./my-extension.ts
|
|
|
243
263
|
| `--verbose` | Force verbose startup |
|
|
244
264
|
| `-a`, `--approve` | Trust project-local files for this run |
|
|
245
265
|
| `-na`, `--no-approve` | Ignore project-local files for this run |
|
|
266
|
+
| `--offline` | Disable startup network operations (same as `PI_OFFLINE=1`) |
|
|
246
267
|
| `-h`, `--help` | Show help |
|
|
247
268
|
| `-v`, `--version` | Show version |
|
|
248
269
|
|
|
@@ -251,62 +272,66 @@ pi --no-extensions -e ./my-extension.ts
|
|
|
251
272
|
Prefix files with `@` to include them in the message:
|
|
252
273
|
|
|
253
274
|
```bash
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
275
|
+
lunr @prompt.md "Answer this"
|
|
276
|
+
lunr -p @screenshot.png "What's in this image?"
|
|
277
|
+
lunr @code.ts @test.ts "Review these files"
|
|
257
278
|
```
|
|
258
279
|
|
|
259
280
|
### Examples
|
|
260
281
|
|
|
261
282
|
```bash
|
|
262
283
|
# Interactive with initial prompt
|
|
263
|
-
|
|
284
|
+
lunr "List all .ts files in src/"
|
|
264
285
|
|
|
265
286
|
# Non-interactive
|
|
266
|
-
|
|
287
|
+
lunr -p "Summarize this codebase"
|
|
267
288
|
|
|
268
289
|
# Non-interactive with piped stdin
|
|
269
|
-
cat README.md |
|
|
290
|
+
cat README.md | lunr -p "Summarize this text"
|
|
270
291
|
|
|
271
292
|
# Named one-shot session
|
|
272
|
-
|
|
293
|
+
lunr --name "release audit" -p "Audit this repository"
|
|
273
294
|
|
|
274
295
|
# Different model
|
|
275
|
-
|
|
296
|
+
lunr --provider openai --model gpt-4o "Help me refactor"
|
|
276
297
|
|
|
277
298
|
# Model with provider prefix
|
|
278
|
-
|
|
299
|
+
lunr --model openai/gpt-4o "Help me refactor"
|
|
279
300
|
|
|
280
301
|
# Model with thinking level shorthand
|
|
281
|
-
|
|
302
|
+
lunr --model sonnet:high "Solve this complex problem"
|
|
282
303
|
|
|
283
304
|
# Limit model cycling
|
|
284
|
-
|
|
305
|
+
lunr --models "claude-*,gpt-4o"
|
|
285
306
|
|
|
286
307
|
# Read-only mode
|
|
287
|
-
|
|
308
|
+
lunr --tools read,grep,find,ls -p "Review the code"
|
|
288
309
|
|
|
289
310
|
# Disable one extension or built-in tool while keeping the rest available
|
|
290
|
-
|
|
311
|
+
lunr --exclude-tools ask_question
|
|
312
|
+
|
|
313
|
+
# Offline (no startup network)
|
|
314
|
+
lunr --offline
|
|
291
315
|
```
|
|
292
316
|
|
|
293
317
|
### Environment Variables
|
|
294
318
|
|
|
319
|
+
These names stay `PI_*`. Do not invent `LUNR_*` replacements for them.
|
|
320
|
+
|
|
295
321
|
| Variable | Description |
|
|
296
322
|
|----------|-------------|
|
|
297
|
-
| `PI_CODING_AGENT_DIR` | Override config directory; default is `~/.
|
|
323
|
+
| `PI_CODING_AGENT_DIR` | Override config directory; default is `~/.lunr/agent` |
|
|
298
324
|
| `PI_CODING_AGENT_SESSION_DIR` | Override session storage directory; overridden by `--session-dir` |
|
|
299
325
|
| `PI_PACKAGE_DIR` | Override package directory, useful for Nix/Guix store paths |
|
|
300
|
-
| `PI_OFFLINE` | Disable startup network operations, including
|
|
301
|
-
| `
|
|
302
|
-
| `PI_TELEMETRY` | Override install/update telemetry and provider attribution headers: `1`/`true`/`yes` or `0`/`false`/`no`. This does not disable update checks |
|
|
326
|
+
| `PI_OFFLINE` | Disable startup network operations, including the npm update check and package update checks |
|
|
327
|
+
| `PI_SHARE_VIEWER_URL` | Base URL for `/share` HTML viewer (default: `https://pi.dev/session/`) |
|
|
303
328
|
| `PI_CACHE_RETENTION` | Set to `long` for extended prompt cache where supported |
|
|
304
329
|
| `VISUAL`, `EDITOR` | Fallback external editor for Ctrl+G when `externalEditor` is unset; defaults to Notepad on Windows and `nano` elsewhere |
|
|
305
330
|
|
|
306
|
-
|
|
331
|
+
`PI_SKIP_VERSION_CHECK` and `PI_TELEMETRY` are not used by lunR. Gateway bot tokens optionally use `LUNR_TELEGRAM_BOT_TOKEN` / `LUNR_DISCORD_BOT_TOKEN`.
|
|
307
332
|
|
|
308
|
-
|
|
333
|
+
## Design Principles
|
|
309
334
|
|
|
310
|
-
|
|
335
|
+
lunR keeps the core small and still ships the workflows most coding agents expect: MCP, subagents, permission modes, plan + `present_plan`, todos, `/processes`, cron, gateway, web search, LSP, agent memory, goals, intercom, skill-creator, and model tiers. Everything else stays in extensions, skills, prompt templates, and packages.
|
|
311
336
|
|
|
312
|
-
|
|
337
|
+
See [Built-in features](features.md) and the [README philosophy](../README.md#philosophy).
|
package/docs/windows.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# Windows Setup
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
lunR requires a bash shell on Windows. Checked locations (in order):
|
|
4
4
|
|
|
5
|
-
1. Custom path from `~/.
|
|
5
|
+
1. Custom path from `~/.lunr/agent/settings.json`
|
|
6
6
|
2. Git Bash (`C:\Program Files\Git\bin\bash.exe`)
|
|
7
7
|
3. `bash.exe` on PATH (Cygwin, MSYS2, WSL)
|
|
8
8
|
|
|
@@ -15,3 +15,11 @@ For most users, [Git for Windows](https://git-scm.com/download/win) is sufficien
|
|
|
15
15
|
"shellPath": "C:\\cygwin64\\bin\\bash.exe"
|
|
16
16
|
}
|
|
17
17
|
```
|
|
18
|
+
|
|
19
|
+
## Image paste
|
|
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 may eat Alt+V (View mnemonic); forward it with `sendSequence` `\u001b[118;3u`.
|
|
22
|
+
|
|
23
|
+
## LSP
|
|
24
|
+
|
|
25
|
+
Language servers spawned through npm `.cmd` shims need a real process start on Windows. If an LSP never starts, tools silently fall back to tree-sitter. Check `/lsp` if language features look missing.
|
package/examples/README.md
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
# Examples
|
|
2
2
|
|
|
3
|
-
Example code for
|
|
3
|
+
Example code for the lunR SDK (`@ashx-j/lunr`) and extensions.
|
|
4
|
+
|
|
5
|
+
After a global install, these files live under `node_modules/@ashx-j/lunr/examples` (or `npm root -g` then `@ashx-j/lunr/examples`). From this repo they are `packages/coding-agent/examples/`. Sample extensions such as `plan-mode`, `todo.ts`, and `subagent/` demonstrate the Extension API; they are not the product implementation.
|
|
4
6
|
|
|
5
7
|
## Directories
|
|
6
8
|
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
# Extension Examples
|
|
2
2
|
|
|
3
|
-
Example extensions for
|
|
3
|
+
Example extensions for lunR. These are Extension API samples, not the product implementation of plan mode, todos, or subagents (those are built-ins; see [docs/features.md](../../docs/features.md)).
|
|
4
4
|
|
|
5
5
|
## Usage
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
8
|
# Load an extension with --extension flag
|
|
9
|
-
|
|
9
|
+
lunr --extension examples/extensions/permission-gate.ts
|
|
10
10
|
|
|
11
11
|
# Or copy to extensions directory for auto-discovery
|
|
12
|
-
cp permission-gate.ts ~/.
|
|
12
|
+
cp permission-gate.ts ~/.lunr/agent/extensions/
|
|
13
13
|
```
|
|
14
14
|
|
|
15
15
|
## Examples
|
|
@@ -100,7 +100,7 @@ cp permission-gate.ts ~/.pi/agent/extensions/
|
|
|
100
100
|
|
|
101
101
|
| Extension | Description |
|
|
102
102
|
|-----------|-------------|
|
|
103
|
-
| `mac-system-theme.ts` | Syncs
|
|
103
|
+
| `mac-system-theme.ts` | Syncs lunR theme with macOS dark/light mode |
|
|
104
104
|
|
|
105
105
|
### Resources
|
|
106
106
|
|
|
@@ -142,7 +142,7 @@ cp permission-gate.ts ~/.pi/agent/extensions/
|
|
|
142
142
|
See [docs/extensions.md](../../docs/extensions.md) for full documentation.
|
|
143
143
|
|
|
144
144
|
```typescript
|
|
145
|
-
import type { ExtensionAPI } from "@
|
|
145
|
+
import type { ExtensionAPI } from "@ashx-j/lunr";
|
|
146
146
|
import { Type } from "typebox";
|
|
147
147
|
|
|
148
148
|
export default function (pi: ExtensionAPI) {
|
|
@@ -184,7 +184,7 @@ export default function (pi: ExtensionAPI) {
|
|
|
184
184
|
|
|
185
185
|
**Use StringEnum for string parameters** (required for Google API compatibility):
|
|
186
186
|
```typescript
|
|
187
|
-
import { StringEnum } from "@
|
|
187
|
+
import { StringEnum } from "@ashx-j/lunr-ai";
|
|
188
188
|
|
|
189
189
|
// Good
|
|
190
190
|
action: StringEnum(["list", "add"] as const)
|