@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/features.md
ADDED
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
# Built-in features
|
|
2
|
+
|
|
3
|
+
lunR ships these workflows as baked-in extensions. You do not need a third-party package for MCP, subagents, plan mode, or todos.
|
|
4
|
+
|
|
5
|
+
Sample code under `examples/extensions/plan-mode`, `examples/extensions/todo.ts`, and `examples/extensions/subagent/` is **Extension API sample code**, not the product implementation.
|
|
6
|
+
|
|
7
|
+
## Permissions and plan mode
|
|
8
|
+
|
|
9
|
+
Permission modes: `manual | yolo | plan | auto`. Shift+Tab (`app.mode.cycle`) cycles that order. Thinking cycle is unbound; use `/thinking`, `/effort`, or `/reasoning`.
|
|
10
|
+
|
|
11
|
+
- **manual** — approve every tool
|
|
12
|
+
- **yolo** — auto-approve tools; **does not** bypass the swarm gate
|
|
13
|
+
- **plan** — read-oriented planning; the model calls `present_plan` with a summary; you approve or decline in a dock
|
|
14
|
+
- **auto** — fully autonomous
|
|
15
|
+
|
|
16
|
+
`/plan` enters plan mode. `/plan <task>` enters plan mode and sends the task. If you are already in plan, `/plan <task>` restores the previous mode and sends. Default startup mode is `defaultPermissionMode` in settings (`manual`).
|
|
17
|
+
|
|
18
|
+
`present_plan` is only available in plan mode. After approval, interactive lunR leaves plan mode before the tool result resolves.
|
|
19
|
+
|
|
20
|
+
## Subagents and swarm
|
|
21
|
+
|
|
22
|
+
Advertised subagents always start **fresh** (no forked parent context). Default parallel concurrency / max tasks / global run cap are unlimited; an explicit `concurrency` is still honored.
|
|
23
|
+
|
|
24
|
+
A **swarm** is 3+ parallel subagents in one `tasks`/`chain.parallel` call, or 3+ same-turn SINGLE `subagent` calls. Swarms are gated in **manual and yolo**. Sequential work stays `chain`.
|
|
25
|
+
|
|
26
|
+
- `/swarm <task>` — orchestrate parallel subagents
|
|
27
|
+
|
|
28
|
+
`/goal` sets a session goal and **forces session auto** permission mode.
|
|
29
|
+
|
|
30
|
+
## Todos, memory, and global instructions
|
|
31
|
+
|
|
32
|
+
- **Todos** — lunr-todos is a full-replace list. Completed todos prune on the next user turn (no leftover `✓ N done` footer).
|
|
33
|
+
- **Agent memory** — durable established facts and stable preferences in `~/.lunr/simple-memory/memory.md`. `/settings` → Agent memory controls injection and the `memory_add`, `memory_remove`, and `memory_load` tools without deleting stored facts. `memoryCharCap` defaults to 5000. Behavior instructions, transient task state, transcripts, guesses, and secrets do not belong in memory.
|
|
34
|
+
- **Global instructions** — create `~/.lunr/agent/AGENTS.md` yourself when you want global behavior or instructions. lunR injects it through the normal context loader; `/reload` picks up changes. The model cannot modify this user-managed file. The retired `behavior.md` file and behavior presets are no longer loaded.
|
|
35
|
+
|
|
36
|
+
## Cron
|
|
37
|
+
|
|
38
|
+
`/cron list | create <schedule> <prompt> | pause|resume|run|remove <id-or-name> | status`
|
|
39
|
+
|
|
40
|
+
Jobs persist in `~/.lunr/agent/cron/` (`jobs.json`). Interactive TUI cron runs in the live session. `lunr gateway` runs the same scheduler with a fresh headless session. TUI cron uses the same deliver allowlist as the gateway.
|
|
41
|
+
|
|
42
|
+
`cronFallbackModels` in settings is a hand-edited list of `provider/modelId` entries tried in order when a gateway cron fire fails.
|
|
43
|
+
|
|
44
|
+
Schedule examples: `every 30m`, `every 2h`, `every 1d`, a duration one-shot (`30m`), an ISO timestamp, or a 5-field cron expression.
|
|
45
|
+
|
|
46
|
+
## Gateway (Telegram / Discord)
|
|
47
|
+
|
|
48
|
+
Enable the chat-platforms feature, then run the daemon:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
lunr setup
|
|
52
|
+
lunr features enable chat-platforms
|
|
53
|
+
lunr gateway
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Config: `~/.lunr/agent/gateway.json` (chmod 0600; may hold bot tokens). Secrets do not go in `install-features.json`.
|
|
57
|
+
|
|
58
|
+
Token resolution: `LUNR_<PLATFORM>_BOT_TOKEN` env → `<PLATFORM>_BOT_TOKEN` env → file token.
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
lunr gateway # run the daemon
|
|
62
|
+
lunr gateway pair approve <platform> <code>
|
|
63
|
+
lunr gateway pair list
|
|
64
|
+
lunr gateway status
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
- Telegram: long-poll bot. Talk to @BotFather, put the token in `gateway.json` or `LUNR_TELEGRAM_BOT_TOKEN`, set `telegram.enabled = true`.
|
|
68
|
+
- Discord: mention-gated by default (`requireMention: true`). Enable the Message Content intent. No GuildMembers intent. Put the token in `gateway.json` or `LUNR_DISCORD_BOT_TOKEN`.
|
|
69
|
+
- Authz is fail-closed. Unauthorized DMs pair (`unauthorizedDmBehavior: "pair"`) unless you set `ignore`.
|
|
70
|
+
- Gateway `/new` while a session is busy aborts the live turn and drops the queue.
|
|
71
|
+
|
|
72
|
+
Without runnable adapters (enabled platform + resolvable token), `lunr gateway` prints setup instructions and exits 1.
|
|
73
|
+
|
|
74
|
+
## MCP, LSP, web search
|
|
75
|
+
|
|
76
|
+
- **MCP** — `/mcp`, `/mcp-auth`. Footer MCP segment is on by default (`footerMcp`).
|
|
77
|
+
- **LSP** — `/lsp`, `/lsp-restart`, `/lsp-config`. Footer LSP segment is off by default (`footerLsp`). On Windows, npm `.cmd` shims need a real LSP start (`shell: true`); if the server never starts, tools silently fall back to tree-sitter. Check `/lsp` if language features look missing.
|
|
78
|
+
- **Web search** — `/websearch` (and related search commands). Interactive TUI attaches web-access after first paint; print/RPC/gateway load it before the first turn.
|
|
79
|
+
|
|
80
|
+
## Thinking, usage, streaming, UI
|
|
81
|
+
|
|
82
|
+
- `/thinking`, `/effort`, and `/reasoning` are full-parity aliases. `/thinking` only offers levels the session model supports (`getSupportedThinkingLevels`). `xhigh` and `max` are opt-in.
|
|
83
|
+
- `/usage` is **this-session** context plus every stored-credential subscription plan. The current provider is included for env-only auth. There is no `/token-usage`.
|
|
84
|
+
- `/fast [on|off|status]` controls `service_tier: "fast"` for OpenAI Codex subscriptions only. It persists across new sessions, gateway turns, and subagents. Paid `openai` API models do not use it.
|
|
85
|
+
- Footer plan bar prefers a 5h window and falls back to weekly (`planUsageWindow`). Customize → Footer: plan usage hides the whole segment; Footer: plan bar hides only the █░ fill and keeps the percent.
|
|
86
|
+
- Click a ✻ Thought or tool card to expand/collapse that item. `app.tools.expand` is unbound. `/tree` still uses `ctrl+o` for filters.
|
|
87
|
+
- Smooth streaming (`smoothStreaming`, default off) is **interactive TUI only** (grapheme reveal at ~30 FPS). Print, RPC, and gateway stay unsmoothed.
|
|
88
|
+
- Image paste inserts `[image_n]` chips. On Windows, paste is **Alt+V** (Ctrl+V is the terminal’s). VS Code may eat Alt+V; forward it with `sendSequence` `\u001b[118;3u`.
|
|
89
|
+
- Model tiers: `/settings` Enable model tiers. Per-tier thinking; unset = parent session.
|
|
90
|
+
|
|
91
|
+
## Updates, catalogs, local models
|
|
92
|
+
|
|
93
|
+
- `lunr update` / `lunr update --self` reinstalls global `@ashx-j/lunr` only. Workspace `npx lunr` is not a published install and will not self-update.
|
|
94
|
+
- Catalog refresh is `/refresh`. First paint is cache-only. `/model` lists stored-cred providers only.
|
|
95
|
+
- **xAI SuperGrok:** `/login xai` can import `~/.grok/auth.json` from the Grok CLI. `/logout xai` does not delete that file.
|
|
96
|
+
- **Ollama / LM Studio:** `/login` and select the local provider (localhost probe).
|
|
97
|
+
- **OpenCode Zen:** `/login opencode` then `/refresh`. Do not add a second Zen provider.
|
|
98
|
+
|
|
99
|
+
## Intercom and skill-creator
|
|
100
|
+
|
|
101
|
+
- **Intercom** — `/intercom` for the built-in intercom broker.
|
|
102
|
+
- **Skill-creator** — `/skill:skill-creator` (model invocation disabled by default). Global skills go in `~/.lunr/agent/skills/<name>/`; project skills in `.lunr/skills/<name>/` (requires trust).
|
package/docs/index.md
CHANGED
|
@@ -1,48 +1,54 @@
|
|
|
1
|
-
#
|
|
1
|
+
# lunR Documentation
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
lunR is a terminal coding agent derived from pi. It stays small at the core while shipping MCP, subagents, permissions, plan mode, todos, cron, and a Telegram/Discord gateway — and it still extends through TypeScript extensions, skills, prompt templates, themes, and packages.
|
|
4
4
|
|
|
5
5
|
## Quick start
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Requires **Node.js ≥ 22.19**.
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
|
-
npm
|
|
10
|
+
npm i -g @ashx-j/lunr
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
-
`--ignore-scripts`
|
|
13
|
+
`--ignore-scripts` is optional; lunR does not require install scripts for a normal npm install.
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
There is no pi.dev curl installer. Then run it in a project directory:
|
|
16
16
|
|
|
17
17
|
```bash
|
|
18
|
-
|
|
18
|
+
lunr
|
|
19
19
|
```
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
Authenticate with `/login` for subscription providers, or set an API key such as `ANTHROPIC_API_KEY` before starting lunR.
|
|
22
|
+
|
|
23
|
+
Optional features (chat gateway):
|
|
22
24
|
|
|
23
25
|
```bash
|
|
24
|
-
|
|
26
|
+
lunr setup
|
|
27
|
+
lunr features list
|
|
28
|
+
lunr features enable chat-platforms
|
|
25
29
|
```
|
|
26
30
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
Then run it in a project directory:
|
|
31
|
+
To uninstall the CLI:
|
|
30
32
|
|
|
31
33
|
```bash
|
|
32
|
-
|
|
34
|
+
lunr uninstall # keeps ~/.lunr/agent
|
|
35
|
+
lunr uninstall --purge # also wipes ~/.lunr/agent
|
|
33
36
|
```
|
|
34
37
|
|
|
35
|
-
|
|
38
|
+
`lunr uninstall <source>` removes an extension package (alias for `lunr remove`). `npm uninstall -g @ashx-j/lunr` also leaves `~/.lunr/agent` in place.
|
|
39
|
+
|
|
40
|
+
Config: `~/.lunr/agent` globally, project `.lunr/`. Override with `PI_CODING_AGENT_DIR`. Never use `~/.pi/` as the lunR home.
|
|
36
41
|
|
|
37
42
|
For the full first-run flow, see [Quickstart](quickstart.md).
|
|
38
43
|
|
|
39
44
|
## Start here
|
|
40
45
|
|
|
41
46
|
- [Quickstart](quickstart.md) - install, authenticate, and run a first session.
|
|
42
|
-
- [Using
|
|
47
|
+
- [Using lunR](usage.md) - interactive mode, slash commands, context files, and CLI reference.
|
|
48
|
+
- [Built-in features](features.md) - gateway, cron, MCP, LSP, subagents, plan, todos, and more.
|
|
43
49
|
- [Providers](providers.md) - subscription and API-key setup for built-in providers.
|
|
44
50
|
- [Security](security.md) - project trust, sandbox boundaries, and vulnerability reporting.
|
|
45
|
-
- [Containerization](containerization.md) - sandbox
|
|
51
|
+
- [Containerization](containerization.md) - sandbox lunR with Gondolin, Docker, or OpenShell.
|
|
46
52
|
- [Settings](settings.md) - global and project settings.
|
|
47
53
|
- [Keybindings](keybindings.md) - default shortcuts and custom keybindings.
|
|
48
54
|
- [Sessions](sessions.md) - session management, branching, and tree navigation.
|
|
@@ -53,14 +59,14 @@ For the full first-run flow, see [Quickstart](quickstart.md).
|
|
|
53
59
|
- [Extensions](extensions.md) - TypeScript modules for tools, commands, events, and custom UI.
|
|
54
60
|
- [Skills](skills.md) - Agent Skills for reusable on-demand capabilities.
|
|
55
61
|
- [Prompt templates](prompt-templates.md) - reusable prompts that expand from slash commands.
|
|
56
|
-
- [Themes](themes.md) - built-in and custom terminal themes.
|
|
57
|
-
- [
|
|
62
|
+
- [Themes](themes.md) - built-in `moon` theme and custom terminal themes.
|
|
63
|
+
- [Packages](packages.md) - bundle and share extensions, skills, prompts, and themes.
|
|
58
64
|
- [Custom models](models.md) - add model entries for supported provider APIs.
|
|
59
65
|
- [Custom providers](custom-provider.md) - implement custom APIs and OAuth flows.
|
|
60
66
|
|
|
61
67
|
## Programmatic usage
|
|
62
68
|
|
|
63
|
-
- [SDK](sdk.md) - embed
|
|
69
|
+
- [SDK](sdk.md) - embed lunR in Node.js applications (`npm install @ashx-j/lunr`).
|
|
64
70
|
- [RPC mode](rpc.md) - integrate over stdin/stdout JSONL.
|
|
65
71
|
- [JSON event stream mode](json.md) - print mode with structured events.
|
|
66
72
|
- [TUI components](tui.md) - build custom terminal UI for extensions.
|
package/docs/json.md
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
# JSON Event Stream Mode
|
|
2
2
|
|
|
3
3
|
```bash
|
|
4
|
-
|
|
4
|
+
lunr --mode json "Your prompt"
|
|
5
5
|
```
|
|
6
6
|
|
|
7
|
-
Outputs all session events as JSON lines to stdout. Useful for integrating
|
|
7
|
+
Outputs all session events as JSON lines to stdout. Useful for integrating lunR into other tools or custom UIs.
|
|
8
8
|
|
|
9
9
|
## Event Types
|
|
10
10
|
|
|
11
|
-
Events are defined in [`AgentSessionEvent`](https://github.com/
|
|
11
|
+
Events are defined in [`AgentSessionEvent`](https://github.com/ashx-j/lunR/blob/master/packages/coding-agent/src/core/agent-session.ts#L102):
|
|
12
12
|
|
|
13
13
|
```typescript
|
|
14
14
|
type AgentSessionEvent =
|
|
@@ -22,7 +22,7 @@ type AgentSessionEvent =
|
|
|
22
22
|
|
|
23
23
|
`queue_update` emits the full pending steering and follow-up queues whenever they change. `compaction_start` and `compaction_end` cover both manual and automatic compaction.
|
|
24
24
|
|
|
25
|
-
Base events from [`AgentEvent`](https://github.com/
|
|
25
|
+
Base events from [`AgentEvent`](https://github.com/ashx-j/lunR/blob/master/packages/agent/src/types.ts#L179):
|
|
26
26
|
|
|
27
27
|
```typescript
|
|
28
28
|
type AgentEvent =
|
|
@@ -44,12 +44,12 @@ type AgentEvent =
|
|
|
44
44
|
|
|
45
45
|
## Message Types
|
|
46
46
|
|
|
47
|
-
Base messages from [`packages/ai/src/types.ts`](https://github.com/
|
|
47
|
+
Base messages from [`packages/ai/src/types.ts`](https://github.com/ashx-j/lunR/blob/master/packages/ai/src/types.ts#L134):
|
|
48
48
|
- `UserMessage` (line 134)
|
|
49
49
|
- `AssistantMessage` (line 140)
|
|
50
50
|
- `ToolResultMessage` (line 152)
|
|
51
51
|
|
|
52
|
-
Extended messages from [`packages/coding-agent/src/core/messages.ts`](https://github.com/
|
|
52
|
+
Extended messages from [`packages/coding-agent/src/core/messages.ts`](https://github.com/ashx-j/lunR/blob/master/packages/coding-agent/src/core/messages.ts#L29):
|
|
53
53
|
- `BashExecutionMessage` (line 29)
|
|
54
54
|
- `CustomMessage` (line 46)
|
|
55
55
|
- `BranchSummaryMessage` (line 55)
|
|
@@ -78,5 +78,5 @@ Followed by events as they occur:
|
|
|
78
78
|
## Example
|
|
79
79
|
|
|
80
80
|
```bash
|
|
81
|
-
|
|
81
|
+
lunr --mode json "List files" 2>/dev/null | jq -c 'select(.type == "message_end")'
|
|
82
82
|
```
|
package/docs/keybindings.md
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
# Keybindings
|
|
2
2
|
|
|
3
|
-
All keyboard shortcuts can be customized via `~/.
|
|
3
|
+
All keyboard shortcuts can be customized via `~/.lunr/agent/keybindings.json`. Each action can be bound to one or more keys.
|
|
4
4
|
|
|
5
|
-
The config file uses the same namespaced keybinding ids that
|
|
5
|
+
The config file uses the same namespaced keybinding ids that lunR uses internally and that extension authors use in `keyHint()` and injected `keybindings` managers.
|
|
6
6
|
|
|
7
7
|
Older configs using pre-namespaced ids such as `cursorUp` or `expandTools` are migrated automatically to the namespaced ids on startup.
|
|
8
8
|
|
|
9
|
-
After editing `keybindings.json`, run `/reload` in
|
|
9
|
+
After editing `keybindings.json`, run `/reload` in lunR to apply the changes without restarting the session.
|
|
10
10
|
|
|
11
11
|
## Key Format
|
|
12
12
|
|
|
@@ -158,7 +158,7 @@ Used inside the scoped models selector (opened via `/scoped-models`).
|
|
|
158
158
|
|
|
159
159
|
## Custom Configuration
|
|
160
160
|
|
|
161
|
-
Create `~/.
|
|
161
|
+
Create `~/.lunr/agent/keybindings.json`:
|
|
162
162
|
|
|
163
163
|
```json
|
|
164
164
|
{
|
package/docs/models.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Custom Models
|
|
2
2
|
|
|
3
|
-
Add custom providers and models (Ollama, vLLM, LM Studio, proxies) via `~/.
|
|
3
|
+
Add custom providers and models (Ollama, vLLM, LM Studio, proxies) via `~/.lunr/agent/models.json`.
|
|
4
4
|
|
|
5
5
|
## Table of Contents
|
|
6
6
|
|
|
@@ -369,7 +369,7 @@ Behavior notes:
|
|
|
369
369
|
|
|
370
370
|
For providers or proxies using `api: "anthropic-messages"`, use `compat` to control Anthropic-specific request compatibility.
|
|
371
371
|
|
|
372
|
-
By default pi sends per-tool `eager_input_streaming: true`. If a proxy or Anthropic-compatible backend rejects that field, set `supportsEagerToolInputStreaming` to `false`.
|
|
372
|
+
By default pi sends per-tool `eager_input_streaming: true`. If a proxy or Anthropic-compatible backend rejects that field, set `supportsEagerToolInputStreaming` to `false`. lunR will omit `tools[].eager_input_streaming` and send the legacy `fine-grained-tool-streaming-2025-05-14` beta header for tool-enabled requests instead.
|
|
373
373
|
|
|
374
374
|
Some Anthropic models require adaptive thinking (`thinking.type: "adaptive"` plus `output_config.effort`) instead of the legacy budget-based thinking payload. Built-in models set this automatically. For custom providers or aliases that route to those models, set `forceAdaptiveThinking` to `true`.
|
|
375
375
|
|
package/docs/packages.md
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
>
|
|
1
|
+
> lunR can help you create packages. Ask it to bundle your extensions, skills, prompt templates, or themes.
|
|
2
2
|
|
|
3
|
-
#
|
|
3
|
+
# Packages
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
lunR packages bundle extensions, skills, prompt templates, and themes so you can share them through npm or git. A package can declare resources in `package.json` under the `pi` key (keep that key), or use conventional directories.
|
|
6
6
|
|
|
7
7
|
## Table of Contents
|
|
8
8
|
|
|
9
9
|
- [Install and Manage](#install-and-manage)
|
|
10
10
|
- [Package Sources](#package-sources)
|
|
11
|
-
- [Creating a
|
|
11
|
+
- [Creating a Package](#creating-a-package)
|
|
12
12
|
- [Package Structure](#package-structure)
|
|
13
13
|
- [Dependencies](#dependencies)
|
|
14
14
|
- [Package Filtering](#package-filtering)
|
|
@@ -17,41 +17,38 @@ Pi packages bundle extensions, skills, prompt templates, and themes so you can s
|
|
|
17
17
|
|
|
18
18
|
## Install and Manage
|
|
19
19
|
|
|
20
|
-
> **Security:**
|
|
20
|
+
> **Security:** Packages run with full system access. Extensions execute arbitrary code, and skills can instruct the model to perform any action including running executables. Review source code before installing third-party packages.
|
|
21
21
|
|
|
22
22
|
```bash
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
pi update --models # refresh model catalogs only
|
|
35
|
-
pi update --self # update pi only
|
|
36
|
-
pi update --self --force # reinstall pi even if current
|
|
37
|
-
pi update npm:@foo/bar # update one package
|
|
38
|
-
pi update --extension npm:@foo/bar
|
|
23
|
+
lunr install npm:@foo/bar@1.0.0
|
|
24
|
+
lunr install git:github.com/user/repo@v1
|
|
25
|
+
lunr install https://github.com/user/repo # raw URLs work too
|
|
26
|
+
lunr install /absolute/path/to/package
|
|
27
|
+
lunr install ./relative/path/to/package
|
|
28
|
+
|
|
29
|
+
lunr remove npm:@foo/bar
|
|
30
|
+
lunr uninstall npm:@foo/bar # alias for remove (requires a source)
|
|
31
|
+
lunr list # show installed packages from settings
|
|
32
|
+
lunr update # reinstall global @ashx-j/lunr only
|
|
33
|
+
lunr update --self # same as lunr update
|
|
39
34
|
```
|
|
40
35
|
|
|
41
|
-
|
|
36
|
+
`lunr update` does not take `--models`, `--all`, `--force`, or `--extensions`. Refresh catalogs with `/refresh`. Reinstall a git package at a new ref with `lunr install git:host/user/repo@new-ref`.
|
|
42
37
|
|
|
43
|
-
|
|
38
|
+
These commands manage packages. `lunr update` reinstalls the published global CLI. To uninstall lunR itself, see [Quickstart](quickstart.md#uninstall). `lunr uninstall` with no source removes the CLI; `lunr uninstall <source>` removes a package.
|
|
39
|
+
|
|
40
|
+
By default, `install` and `remove` write to user settings (`~/.lunr/agent/settings.json`). Use `-l` to write to project settings (`.lunr/settings.json`) instead. Project settings can be shared with your team, and lunR installs any missing packages automatically on startup after the project is trusted.
|
|
44
41
|
|
|
45
42
|
To try a package without installing it, use `--extension` or `-e`. This installs to a temporary directory for the current run only:
|
|
46
43
|
|
|
47
44
|
```bash
|
|
48
|
-
|
|
49
|
-
|
|
45
|
+
lunr -e npm:@foo/bar
|
|
46
|
+
lunr -e git:github.com/user/repo
|
|
50
47
|
```
|
|
51
48
|
|
|
52
49
|
## Package Sources
|
|
53
50
|
|
|
54
|
-
|
|
51
|
+
lunR accepts three source types in settings and `lunr install`.
|
|
55
52
|
|
|
56
53
|
### npm
|
|
57
54
|
|
|
@@ -60,9 +57,9 @@ npm:@scope/pkg@1.2.3
|
|
|
60
57
|
npm:pkg
|
|
61
58
|
```
|
|
62
59
|
|
|
63
|
-
- Versioned specs are pinned
|
|
64
|
-
- User installs go under `~/.
|
|
65
|
-
- Project installs go under `.
|
|
60
|
+
- Versioned specs are pinned. `lunr update` does not refresh packages; reinstall with a new spec to move a pin.
|
|
61
|
+
- User installs go under `~/.lunr/agent/npm/`.
|
|
62
|
+
- Project installs go under `.lunr/npm/`.
|
|
66
63
|
- Set `npmCommand` in `settings.json` to pin npm package lookup and install operations to a specific wrapper command such as `mise` or `asdf`.
|
|
67
64
|
|
|
68
65
|
Example:
|
|
@@ -87,21 +84,20 @@ ssh://git@github.com/user/repo@v1
|
|
|
87
84
|
- HTTPS and SSH URLs are both supported.
|
|
88
85
|
- SSH URLs use your configured SSH keys automatically (respects `~/.ssh/config`).
|
|
89
86
|
- For non-interactive runs (for example CI), you can set `GIT_TERMINAL_PROMPT=0` to disable credential prompts and set `GIT_SSH_COMMAND` (for example `ssh -o BatchMode=yes -o ConnectTimeout=5`) to fail fast.
|
|
90
|
-
- Refs are pinned tags or commits. `
|
|
91
|
-
-
|
|
92
|
-
-
|
|
93
|
-
- When reconciliation changes the checkout, pi resets and cleans the clone, then runs `npm install` if `package.json` exists.
|
|
87
|
+
- Refs are pinned tags or commits. `lunr update` does not refresh packages. Use `lunr install git:host/user/repo@new-ref` to move an existing package to a new pinned ref.
|
|
88
|
+
- Cloned to `~/.lunr/agent/git/<host>/<path>` (global) or `.lunr/git/<host>/<path>` (project).
|
|
89
|
+
- When the checkout changes, lunR resets and cleans the clone, then runs `npm install` if `package.json` exists.
|
|
94
90
|
|
|
95
91
|
**SSH examples:**
|
|
96
92
|
```bash
|
|
97
93
|
# git@host:path shorthand (requires git: prefix)
|
|
98
|
-
|
|
94
|
+
lunr install git:git@github.com:user/repo
|
|
99
95
|
|
|
100
96
|
# ssh:// protocol format
|
|
101
|
-
|
|
97
|
+
lunr install ssh://git@github.com/user/repo
|
|
102
98
|
|
|
103
99
|
# With version ref
|
|
104
|
-
|
|
100
|
+
lunr install git:git@github.com:user/repo@v1.0.0
|
|
105
101
|
```
|
|
106
102
|
|
|
107
103
|
### Local Paths
|
|
@@ -111,9 +107,9 @@ pi install git:git@github.com:user/repo@v1.0.0
|
|
|
111
107
|
./relative/path/to/package
|
|
112
108
|
```
|
|
113
109
|
|
|
114
|
-
Local paths point to files or directories on disk and are added to settings without copying. Relative paths are resolved against the settings file they appear in. If the path is a file, it loads as a single extension. If it is a directory,
|
|
110
|
+
Local paths point to files or directories on disk and are added to settings without copying. Relative paths are resolved against the settings file they appear in. If the path is a file, it loads as a single extension. If it is a directory, lunR loads resources using package rules.
|
|
115
111
|
|
|
116
|
-
## Creating a
|
|
112
|
+
## Creating a Package
|
|
117
113
|
|
|
118
114
|
Add a `pi` manifest to `package.json` or use conventional directories. Include the `pi-package` keyword for discoverability.
|
|
119
115
|
|
|
@@ -166,11 +162,11 @@ If no `pi` manifest is present, pi auto-discovers resources from these directori
|
|
|
166
162
|
|
|
167
163
|
## Dependencies
|
|
168
164
|
|
|
169
|
-
Third party runtime dependencies belong in `dependencies` in `package.json`. Dependencies that do not register extensions, skills, prompt templates, or themes also belong in `dependencies`. When
|
|
165
|
+
Third party runtime dependencies belong in `dependencies` in `package.json`. Dependencies that do not register extensions, skills, prompt templates, or themes also belong in `dependencies`. When lunr installs a package from npm or git, it runs `npm install`, so those dependencies are installed automatically.
|
|
170
166
|
|
|
171
|
-
|
|
167
|
+
lunR bundles core packages for extensions and skills. If you import any of these, list them in `peerDependencies` with a `"*"` range and do not bundle them: `@ashx-j/lunr-ai`, `@ashx-j/lunr-agent`, `@ashx-j/lunr`, `@ashx-j/lunr-tui`, `typebox`.
|
|
172
168
|
|
|
173
|
-
Other
|
|
169
|
+
Other packages must be bundled in your tarball. Add them to `dependencies` and `bundledDependencies`, then reference their resources through `node_modules/` paths. lunR loads packages with separate module roots, so separate installs do not collide or share modules.
|
|
174
170
|
|
|
175
171
|
Example:
|
|
176
172
|
|
|
@@ -217,7 +213,7 @@ Filter what a package loads using the object form in settings:
|
|
|
217
213
|
|
|
218
214
|
## Enable and Disable Resources
|
|
219
215
|
|
|
220
|
-
Use `
|
|
216
|
+
Use `lunr config` to enable or disable extensions, skills, prompt templates, and themes from installed packages and local directories. `lunr config` starts in global settings (`~/.lunr/agent/settings.json`); press Tab to switch between global and project-local modes. Use `lunr config -l` to start in project overrides (`.lunr/settings.json`) with inherited global resources dimmed.
|
|
221
217
|
|
|
222
218
|
## Scope and Deduplication
|
|
223
219
|
|
package/docs/prompt-templates.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
>
|
|
1
|
+
> lunR can create prompt templates. Ask it to build one for your workflow.
|
|
2
2
|
|
|
3
3
|
# Prompt Templates
|
|
4
4
|
|
|
@@ -6,10 +6,10 @@ Prompt templates are Markdown snippets that expand into full prompts. Type `/nam
|
|
|
6
6
|
|
|
7
7
|
## Locations
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
lunR loads prompt templates from:
|
|
10
10
|
|
|
11
|
-
- Global: `~/.
|
|
12
|
-
- Project: `.
|
|
11
|
+
- Global: `~/.lunr/agent/prompts/*.md`
|
|
12
|
+
- Project: `.lunr/prompts/*.md` (only after the project is trusted)
|
|
13
13
|
- Packages: `prompts/` directories or `pi.prompts` entries in `package.json`
|
|
14
14
|
- Settings: `prompts` array with files or directories
|
|
15
15
|
- CLI: `--prompt-template <path>` (repeatable)
|
package/docs/providers.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Providers
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
lunR supports subscription-based providers via OAuth and API-key providers via environment variables or the auth file. Built-in catalogs ship with lunR. First paint is cache-only. `/model` lists stored-credential providers only. Run `/refresh` to pull newer catalogs; configured providers cache shards in `~/.lunr/agent/models-store.json` for offline use.
|
|
4
4
|
|
|
5
5
|
## Table of Contents
|
|
6
6
|
|
|
@@ -21,7 +21,7 @@ Use `/login` in interactive mode, then select a provider:
|
|
|
21
21
|
- xAI (Grok/X subscription)
|
|
22
22
|
- Radius
|
|
23
23
|
|
|
24
|
-
Use `/logout` to clear credentials. Tokens are stored in `~/.
|
|
24
|
+
Use `/logout` to clear credentials. Tokens are stored in `~/.lunr/agent/auth.json` and auto-refresh when expired.
|
|
25
25
|
|
|
26
26
|
### OpenAI Codex
|
|
27
27
|
|
|
@@ -40,12 +40,24 @@ Anthropic subscription auth is active for Claude Pro/Max accounts. Third-party h
|
|
|
40
40
|
### xAI (Grok/X subscription)
|
|
41
41
|
|
|
42
42
|
- Run `/login xai`, then select **Use a subscription**
|
|
43
|
+
- `/login xai` can import the Grok CLI session from `~/.grok/auth.json` when lunR's own token is expired or after `invalid_grant`
|
|
44
|
+
- `/logout xai` does **not** delete `~/.grok/auth.json`
|
|
43
45
|
- `XAI_API_KEY` remains available through **Use an API key**
|
|
44
46
|
|
|
45
47
|
### Radius
|
|
46
48
|
|
|
47
49
|
Radius is a dynamic `pi-messages` gateway. `/login radius` stores OAuth tokens in `auth.json`; the gateway catalog is refreshed independently and cached in `models-store.json`. Custom Radius gateways can be declared in `models.json` with `"oauth": "radius"` and a gateway `baseUrl`.
|
|
48
50
|
|
|
51
|
+
### Local Ollama and LM Studio
|
|
52
|
+
|
|
53
|
+
`/login` includes local servers. Selecting Ollama or LM Studio probes localhost (3s timeout) and stores a dummy credential so the models appear in `/model`. If the server is offline, the model list refreshes empty and the provider becomes unavailable.
|
|
54
|
+
|
|
55
|
+
You can still add custom local entries in `~/.lunr/agent/models.json`; see [Custom Models](models.md).
|
|
56
|
+
|
|
57
|
+
### OpenCode Zen
|
|
58
|
+
|
|
59
|
+
`/login opencode` (or `OPENCODE_API_KEY`) then `/refresh`. Free rows rotate from live `/v1/models` intersected with models.dev. There is no second Zen provider.
|
|
60
|
+
|
|
49
61
|
## API Keys
|
|
50
62
|
|
|
51
63
|
### Environment Variables or Auth File
|
|
@@ -54,7 +66,7 @@ Use `/login` in interactive mode and select a provider to store an API key in `a
|
|
|
54
66
|
|
|
55
67
|
```bash
|
|
56
68
|
export ANTHROPIC_API_KEY=sk-ant-...
|
|
57
|
-
|
|
69
|
+
lunr
|
|
58
70
|
```
|
|
59
71
|
|
|
60
72
|
| Provider | Environment Variable | `auth.json` key |
|
|
@@ -95,11 +107,11 @@ pi
|
|
|
95
107
|
|
|
96
108
|
OpenCode Zen free models still require `/login opencode` (or `OPENCODE_API_KEY`). The free set rotates; `/refresh` after login pulls the official catalog shard.
|
|
97
109
|
|
|
98
|
-
Reference for environment variables and `auth.json` keys: [`const envMap`](https://github.com/
|
|
110
|
+
Reference for environment variables and `auth.json` keys: [`const envMap`](https://github.com/ashx-j/lunR/blob/master/packages/ai/src/env-api-keys.ts) in [`packages/ai/src/env-api-keys.ts`](https://github.com/ashx-j/lunR/blob/master/packages/ai/src/env-api-keys.ts).
|
|
99
111
|
|
|
100
112
|
#### Auth File
|
|
101
113
|
|
|
102
|
-
Store credentials in `~/.
|
|
114
|
+
Store credentials in `~/.lunr/agent/auth.json`:
|
|
103
115
|
|
|
104
116
|
```json
|
|
105
117
|
{
|
|
@@ -209,14 +221,14 @@ export AWS_REGION=us-west-2
|
|
|
209
221
|
Also supports ECS task roles (`AWS_CONTAINER_CREDENTIALS_*`) and IRSA (`AWS_WEB_IDENTITY_TOKEN_FILE`).
|
|
210
222
|
|
|
211
223
|
```bash
|
|
212
|
-
|
|
224
|
+
lunr --provider amazon-bedrock --model us.anthropic.claude-sonnet-4-20250514-v1:0
|
|
213
225
|
```
|
|
214
226
|
|
|
215
227
|
Prompt caching is enabled automatically for Claude models whose ID contains a recognizable model name (base models and system-defined inference profiles). For application inference profiles (whose ARNs don't contain the model name), set `AWS_BEDROCK_FORCE_CACHE=1` to enable cache points:
|
|
216
228
|
|
|
217
229
|
```bash
|
|
218
230
|
export AWS_BEDROCK_FORCE_CACHE=1
|
|
219
|
-
|
|
231
|
+
lunr --provider amazon-bedrock --model arn:aws:bedrock:us-east-1:123456789012:application-inference-profile/abc123
|
|
220
232
|
```
|
|
221
233
|
|
|
222
234
|
If you are connecting to a Bedrock API proxy, the following environment variables can be used:
|
|
@@ -240,7 +252,7 @@ export AWS_BEDROCK_FORCE_HTTP1=1
|
|
|
240
252
|
export CLOUDFLARE_API_KEY=... # or use /login
|
|
241
253
|
export CLOUDFLARE_ACCOUNT_ID=...
|
|
242
254
|
export CLOUDFLARE_GATEWAY_ID=... # create at dash.cloudflare.com → AI → AI Gateway
|
|
243
|
-
|
|
255
|
+
lunr --provider cloudflare-ai-gateway --model "claude-sonnet-4-5"
|
|
244
256
|
```
|
|
245
257
|
|
|
246
258
|
Routes to OpenAI, Anthropic, and Workers AI through Cloudflare AI Gateway. Workers AI uses the Unified API (`/compat`) and prefixed model IDs (`workers-ai/@cf/...`). OpenAI uses the OpenAI passthrough route (`/openai`) with native OpenAI model IDs such as `gpt-5.1`. Anthropic uses the Anthropic passthrough route (`/anthropic`) with native Anthropic model IDs such as `claude-sonnet-4-5`.
|
|
@@ -263,10 +275,10 @@ For normal pi usage, prefer unified billing or stored BYOK. Inline BYOK requires
|
|
|
263
275
|
```bash
|
|
264
276
|
export CLOUDFLARE_API_KEY=... # or use /login
|
|
265
277
|
export CLOUDFLARE_ACCOUNT_ID=...
|
|
266
|
-
|
|
278
|
+
lunr --provider cloudflare-workers-ai --model "@cf/moonshotai/kimi-k2.6"
|
|
267
279
|
```
|
|
268
280
|
|
|
269
|
-
|
|
281
|
+
lunR automatically sets `x-session-affinity` for [prefix caching](https://developers.cloudflare.com/workers-ai/features/prompt-caching/) discounts.
|
|
270
282
|
|
|
271
283
|
### Google Vertex AI
|
|
272
284
|
|