@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
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Container, getCapabilities, getKeybindings, Input, SelectList, SettingsList, Spacer, Text, } from "@ashx-j/lunr-tui";
|
|
2
|
-
import { detectBehaviorPreset, readBehaviorFile } from "../../../core/behavior-preset.js";
|
|
3
2
|
import { getCustomizeBridge } from "../../../core/customize.js";
|
|
4
3
|
import { formatHttpIdleTimeoutMs, HTTP_IDLE_TIMEOUT_CHOICES } from "../../../core/http-dispatcher.js";
|
|
5
4
|
import { MEMORY_CHAR_CAP_DEFAULT, MEMORY_CHAR_CAP_MAX, MEMORY_CHAR_CAP_MIN } from "../../../core/memory-cap.js";
|
|
5
|
+
import { SKILL_TAG_CHARACTERS, } from "../../../core/settings-manager.js";
|
|
6
6
|
import { getSelectListTheme, getSettingsListTheme, parseAutoThemeSetting, theme, } from "../theme/theme.js";
|
|
7
7
|
import { DynamicBorder } from "./dynamic-border.js";
|
|
8
8
|
import { keyDisplayText } from "./keybinding-hints.js";
|
|
@@ -29,17 +29,17 @@ const MODEL_TIER_ROWS = [
|
|
|
29
29
|
{
|
|
30
30
|
tier: "light",
|
|
31
31
|
label: "Light tier model",
|
|
32
|
-
description: "
|
|
32
|
+
description: "Fast, low-cost model for simple subagent tasks",
|
|
33
33
|
},
|
|
34
34
|
{
|
|
35
35
|
tier: "standard",
|
|
36
36
|
label: "Standard tier model",
|
|
37
|
-
description: "
|
|
37
|
+
description: "Balanced model for everyday coding tasks",
|
|
38
38
|
},
|
|
39
39
|
{
|
|
40
40
|
tier: "heavy",
|
|
41
41
|
label: "Heavy tier model",
|
|
42
|
-
description: "
|
|
42
|
+
description: "Strong model for complex reasoning and debugging",
|
|
43
43
|
},
|
|
44
44
|
];
|
|
45
45
|
/**
|
|
@@ -65,7 +65,7 @@ class ModelTiersSubmenu extends Container {
|
|
|
65
65
|
{
|
|
66
66
|
id: "enabled",
|
|
67
67
|
label: "Enable model tiers",
|
|
68
|
-
description: "Route
|
|
68
|
+
description: "Route subagent work by model tier",
|
|
69
69
|
currentValue: this.state.enabled ? "on" : "off",
|
|
70
70
|
values: ["on", "off"],
|
|
71
71
|
},
|
|
@@ -84,11 +84,15 @@ class ModelTiersSubmenu extends Container {
|
|
|
84
84
|
{
|
|
85
85
|
id: `${tier}-thinking`,
|
|
86
86
|
label: `${row.label.replace(" model", "")} thinking`,
|
|
87
|
-
description: "Reasoning
|
|
87
|
+
description: "Reasoning level for this tier",
|
|
88
88
|
currentValue: this.state[tKey] ?? "inherit",
|
|
89
89
|
disabled: () => !this.state.enabled,
|
|
90
|
-
submenu: (_currentValue, done) => new SelectSubmenu(`${row.label} thinking`, "
|
|
91
|
-
{
|
|
90
|
+
submenu: (_currentValue, done) => new SelectSubmenu(`${row.label} thinking`, "Inherit uses the parent session's reasoning level", [
|
|
91
|
+
{
|
|
92
|
+
value: "inherit",
|
|
93
|
+
label: "inherit",
|
|
94
|
+
description: "Use the parent session's reasoning level",
|
|
95
|
+
},
|
|
92
96
|
...callbacks.getTierThinkingLevels(tier).map((level) => ({
|
|
93
97
|
value: level,
|
|
94
98
|
label: level,
|
|
@@ -135,7 +139,7 @@ class MemoryCharCapSubmenu extends Container {
|
|
|
135
139
|
super();
|
|
136
140
|
this.addChild(new Text(theme.bold(theme.fg("accent", "Memory Character Cap")), 0, 0));
|
|
137
141
|
this.addChild(new Spacer(1));
|
|
138
|
-
this.addChild(new Text(theme.fg("muted", `
|
|
142
|
+
this.addChild(new Text(theme.fg("muted", `Maximum agent memory size (${MEMORY_CHAR_CAP_MIN} to ${MEMORY_CHAR_CAP_MAX} characters, default ${MEMORY_CHAR_CAP_DEFAULT})`), 0, 0));
|
|
139
143
|
this.addChild(new Spacer(1));
|
|
140
144
|
this.input = new Input();
|
|
141
145
|
this.input.setValue(currentValue);
|
|
@@ -158,71 +162,6 @@ class MemoryCharCapSubmenu extends Container {
|
|
|
158
162
|
}
|
|
159
163
|
}
|
|
160
164
|
const SEARCH_CURATOR_VALUES = ["off", "on", "auto-summary"];
|
|
161
|
-
const BEHAVIOR_PRESET_ITEMS = [
|
|
162
|
-
{
|
|
163
|
-
value: "default",
|
|
164
|
-
label: "default",
|
|
165
|
-
description: "Empty built-in. Selecting this writes a blank behavior.md.",
|
|
166
|
-
},
|
|
167
|
-
{
|
|
168
|
-
value: "humanizer",
|
|
169
|
-
label: "humanizer",
|
|
170
|
-
description: "Write like a person. Strip AI tells. Skips the character cap.",
|
|
171
|
-
},
|
|
172
|
-
{
|
|
173
|
-
value: "concise",
|
|
174
|
-
label: "concise",
|
|
175
|
-
description: "Fragments, tables, numbered next steps last. Skips the character cap.",
|
|
176
|
-
},
|
|
177
|
-
{
|
|
178
|
-
value: "custom",
|
|
179
|
-
label: "custom",
|
|
180
|
-
description: "Keep the current behavior.md. Edit the file or use the behavior tools.",
|
|
181
|
-
},
|
|
182
|
-
];
|
|
183
|
-
/**
|
|
184
|
-
* Built-in vs custom behavior.md picker.
|
|
185
|
-
* Selecting a built-in while the file no longer matches a template asks before overwrite.
|
|
186
|
-
* Custom never writes. No in-app editor; the file is the source of truth.
|
|
187
|
-
*/
|
|
188
|
-
class BehaviorPresetSubmenu extends Container {
|
|
189
|
-
inner;
|
|
190
|
-
constructor(currentValue, done) {
|
|
191
|
-
super();
|
|
192
|
-
this.inner = this.buildList(currentValue, done);
|
|
193
|
-
this.addChild(this.inner);
|
|
194
|
-
}
|
|
195
|
-
buildList(currentValue, done) {
|
|
196
|
-
return new SelectSubmenu("Behavior preset", "Built-in options replace ~/.lunr/agent/behavior.md. Custom keeps the file. Cap skipped for built-ins.", BEHAVIOR_PRESET_ITEMS, currentValue, (value) => {
|
|
197
|
-
if (value === currentValue) {
|
|
198
|
-
done();
|
|
199
|
-
return;
|
|
200
|
-
}
|
|
201
|
-
if (value !== "custom" && detectBehaviorPreset(readBehaviorFile()) === "custom") {
|
|
202
|
-
this.showOverwriteConfirm(value, done);
|
|
203
|
-
return;
|
|
204
|
-
}
|
|
205
|
-
done(value);
|
|
206
|
-
}, () => done());
|
|
207
|
-
}
|
|
208
|
-
showOverwriteConfirm(preset, done) {
|
|
209
|
-
this.clear();
|
|
210
|
-
this.inner = new SelectSubmenu("Overwrite behavior.md", `Replace the custom behavior file with the ${preset} preset? This cannot be undone from settings.`, [
|
|
211
|
-
{ value: "cancel", label: "Cancel" },
|
|
212
|
-
{ value: "overwrite", label: `Overwrite with ${preset}` },
|
|
213
|
-
], "cancel", (value) => {
|
|
214
|
-
if (value === "overwrite") {
|
|
215
|
-
done(preset);
|
|
216
|
-
return;
|
|
217
|
-
}
|
|
218
|
-
done();
|
|
219
|
-
}, () => done());
|
|
220
|
-
this.addChild(this.inner);
|
|
221
|
-
}
|
|
222
|
-
handleInput(data) {
|
|
223
|
-
this.inner.handleInput?.(data);
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
165
|
// lunr: Customize submenu — toggles for the lunR TUI customize settings.
|
|
227
166
|
class CustomizeSubmenu extends Container {
|
|
228
167
|
settingsList;
|
|
@@ -235,77 +174,84 @@ class CustomizeSubmenu extends Container {
|
|
|
235
174
|
{
|
|
236
175
|
id: "gutter-rail",
|
|
237
176
|
label: "Gutter rail",
|
|
238
|
-
description: "
|
|
177
|
+
description: "Turn boundary rail",
|
|
239
178
|
currentValue: (bridge?.getGutterRail() ?? true) ? "on" : "off",
|
|
240
179
|
values: ["on", "off"],
|
|
241
180
|
},
|
|
242
181
|
{
|
|
243
182
|
id: "prompt-symbol",
|
|
244
183
|
label: "Prompt symbol",
|
|
245
|
-
description: "
|
|
184
|
+
description: "Moon prompt glyph",
|
|
246
185
|
currentValue: (bridge?.getPromptSymbol() ?? true) ? "on" : "off",
|
|
247
186
|
values: ["on", "off"],
|
|
248
187
|
},
|
|
249
188
|
{
|
|
250
189
|
id: "footer-mcp",
|
|
251
190
|
label: "Footer: MCP status",
|
|
252
|
-
description: "
|
|
191
|
+
description: "MCP server status",
|
|
253
192
|
currentValue: (bridge?.getFooterMcp() ?? true) ? "on" : "off",
|
|
254
193
|
values: ["on", "off"],
|
|
255
194
|
},
|
|
256
195
|
{
|
|
257
196
|
id: "footer-lsp",
|
|
258
197
|
label: "Footer: LSP status",
|
|
259
|
-
description: "
|
|
198
|
+
description: "Language server status",
|
|
260
199
|
currentValue: (bridge?.getFooterLsp() ?? false) ? "on" : "off",
|
|
261
200
|
values: ["on", "off"],
|
|
262
201
|
},
|
|
263
202
|
{
|
|
264
203
|
id: "footer-context",
|
|
265
204
|
label: "Footer: context meter",
|
|
266
|
-
description: "
|
|
205
|
+
description: "Context usage",
|
|
267
206
|
currentValue: (bridge?.getFooterContext() ?? true) ? "on" : "off",
|
|
268
207
|
values: ["on", "off"],
|
|
269
208
|
},
|
|
270
209
|
{
|
|
271
210
|
id: "footer-tokens",
|
|
272
211
|
label: "Footer: token counter",
|
|
273
|
-
description: "
|
|
212
|
+
description: "Input and output token counts",
|
|
274
213
|
currentValue: (bridge?.getFooterTokens() ?? true) ? "on" : "off",
|
|
275
214
|
values: ["on", "off"],
|
|
276
215
|
},
|
|
216
|
+
{
|
|
217
|
+
id: "footer-cache-hit-rate",
|
|
218
|
+
label: "Footer: cache hit rate",
|
|
219
|
+
description: "Latest prompt cache hit rate",
|
|
220
|
+
currentValue: (bridge?.getFooterCacheHitRate() ?? true) ? "on" : "off",
|
|
221
|
+
values: ["on", "off"],
|
|
222
|
+
},
|
|
277
223
|
{
|
|
278
224
|
id: "footer-tps",
|
|
279
225
|
label: "Footer: TPS counter",
|
|
280
|
-
description: "
|
|
226
|
+
description: "Token generation speed",
|
|
281
227
|
currentValue: (bridge?.getFooterTps() ?? true) ? "on" : "off",
|
|
282
228
|
values: ["on", "off"],
|
|
283
229
|
},
|
|
284
230
|
{
|
|
285
231
|
id: "footer-statuses",
|
|
286
232
|
label: "Footer: feature statuses",
|
|
287
|
-
description: "
|
|
233
|
+
description: "Active plan, goal, and swarm status",
|
|
288
234
|
currentValue: (bridge?.getFooterStatuses() ?? true) ? "on" : "off",
|
|
289
235
|
values: ["on", "off"],
|
|
290
236
|
},
|
|
291
237
|
{
|
|
292
238
|
id: "footer-git",
|
|
293
239
|
label: "Footer: git branch",
|
|
294
|
-
description: "
|
|
240
|
+
description: "Git branch and line changes",
|
|
295
241
|
currentValue: (bridge?.getFooterGit() ?? true) ? "on" : "off",
|
|
296
242
|
values: ["on", "off"],
|
|
297
243
|
},
|
|
298
244
|
{
|
|
299
245
|
id: "footer-plan",
|
|
300
246
|
label: "Footer: plan usage",
|
|
301
|
-
description: "
|
|
247
|
+
description: "Subscription usage percentage",
|
|
302
248
|
currentValue: (bridge?.getFooterPlan() ?? true) ? "on" : "off",
|
|
303
249
|
values: ["on", "off"],
|
|
304
250
|
},
|
|
305
251
|
{
|
|
306
252
|
id: "footer-plan-bar",
|
|
307
253
|
label: "Footer: plan bar",
|
|
308
|
-
description: "
|
|
254
|
+
description: "Bar beside the subscription usage percentage",
|
|
309
255
|
currentValue: (bridge?.getFooterPlanBar() ?? true) ? "on" : "off",
|
|
310
256
|
values: ["on", "off"],
|
|
311
257
|
},
|
|
@@ -330,6 +276,9 @@ class CustomizeSubmenu extends Container {
|
|
|
330
276
|
case "footer-tokens":
|
|
331
277
|
callbacks.onFooterTokensChange(newValue === "on");
|
|
332
278
|
break;
|
|
279
|
+
case "footer-cache-hit-rate":
|
|
280
|
+
callbacks.onFooterCacheHitRateChange(newValue === "on");
|
|
281
|
+
break;
|
|
333
282
|
case "footer-tps":
|
|
334
283
|
callbacks.onFooterTpsChange(newValue === "on");
|
|
335
284
|
break;
|
|
@@ -364,8 +313,7 @@ class RollbackSubmenu extends Container {
|
|
|
364
313
|
{
|
|
365
314
|
id: "rollback-enabled",
|
|
366
315
|
label: "Rollback enabled",
|
|
367
|
-
description:
|
|
368
|
-
(sessionForceEnabled ? " (forced on by auto mode)" : ""),
|
|
316
|
+
description: `Save file snapshots for /rollback${sessionForceEnabled ? ". Always on in Auto mode" : ""}`,
|
|
369
317
|
currentValue: this.enabled ? "on" : "off",
|
|
370
318
|
values: ["on", "off"],
|
|
371
319
|
disabled: () => sessionForceEnabled,
|
|
@@ -373,7 +321,7 @@ class RollbackSubmenu extends Container {
|
|
|
373
321
|
{
|
|
374
322
|
id: "rollback-turns",
|
|
375
323
|
label: "Rollback turns",
|
|
376
|
-
description:
|
|
324
|
+
description: "Number of turns kept for rollback",
|
|
377
325
|
currentValue: String(config.rollbackTurns),
|
|
378
326
|
disabled: () => !this.enabled,
|
|
379
327
|
submenu: (currentValue, submenuDone) => new RollbackTurnsSubmenu(currentValue, submenuDone),
|
|
@@ -381,24 +329,24 @@ class RollbackSubmenu extends Container {
|
|
|
381
329
|
{
|
|
382
330
|
id: "rollback-capture",
|
|
383
331
|
label: "Capture mode",
|
|
384
|
-
description: "How snapshots are
|
|
332
|
+
description: "How rollback snapshots are stored",
|
|
385
333
|
currentValue: config.rollbackCapture,
|
|
386
334
|
disabled: () => !this.enabled,
|
|
387
|
-
submenu: (currentValue, submenuDone) => new SelectSubmenu("Rollback Capture Mode", "
|
|
335
|
+
submenu: (currentValue, submenuDone) => new SelectSubmenu("Rollback Capture Mode", "Snapshot storage method", [
|
|
388
336
|
{
|
|
389
337
|
value: "copies",
|
|
390
338
|
label: "copies",
|
|
391
|
-
description: "
|
|
339
|
+
description: "File copies for tool edits and created files",
|
|
392
340
|
},
|
|
393
341
|
{
|
|
394
342
|
value: "hybrid",
|
|
395
343
|
label: "hybrid",
|
|
396
|
-
description: "
|
|
344
|
+
description: "Track files created outside tools with tree scope",
|
|
397
345
|
},
|
|
398
346
|
{
|
|
399
347
|
value: "shadow-git",
|
|
400
348
|
label: "shadow-git",
|
|
401
|
-
description: "
|
|
349
|
+
description: "Reserved mode; currently falls back to copies",
|
|
402
350
|
},
|
|
403
351
|
], currentValue, (value) => {
|
|
404
352
|
callbacks.onRollbackCaptureChange(value);
|
|
@@ -408,15 +356,15 @@ class RollbackSubmenu extends Container {
|
|
|
408
356
|
{
|
|
409
357
|
id: "rollback-scope",
|
|
410
358
|
label: "Rollback scope",
|
|
411
|
-
description: "
|
|
359
|
+
description: "Which file changes rollback tracks",
|
|
412
360
|
currentValue: config.rollbackScope,
|
|
413
361
|
disabled: () => !this.enabled,
|
|
414
|
-
submenu: (currentValue, submenuDone) => new SelectSubmenu("Rollback Scope", "
|
|
415
|
-
{ value: "tools", label: "tools", description: "
|
|
362
|
+
submenu: (currentValue, submenuDone) => new SelectSubmenu("Rollback Scope", "File changes included in snapshots", [
|
|
363
|
+
{ value: "tools", label: "tools", description: "Changes made by edit and write tools" },
|
|
416
364
|
{
|
|
417
365
|
value: "tree",
|
|
418
366
|
label: "tree",
|
|
419
|
-
description: "
|
|
367
|
+
description: "Tool and shell changes across the repository",
|
|
420
368
|
},
|
|
421
369
|
], currentValue, (value) => {
|
|
422
370
|
callbacks.onRollbackScopeChange(value);
|
|
@@ -448,7 +396,7 @@ class RollbackTurnsSubmenu extends Container {
|
|
|
448
396
|
super();
|
|
449
397
|
this.addChild(new Text(theme.bold(theme.fg("accent", "Rollback Turns")), 0, 0));
|
|
450
398
|
this.addChild(new Spacer(1));
|
|
451
|
-
this.addChild(new Text(theme.fg("muted", "
|
|
399
|
+
this.addChild(new Text(theme.fg("muted", "Number of turns kept for rollback (1 to 20, default 2)"), 0, 0));
|
|
452
400
|
this.addChild(new Spacer(1));
|
|
453
401
|
this.input = new Input();
|
|
454
402
|
this.input.setValue(currentValue);
|
|
@@ -519,8 +467,8 @@ class SubscriptionActionSubmenu extends Container {
|
|
|
519
467
|
id: "set-active",
|
|
520
468
|
label: "Set active",
|
|
521
469
|
description: subs.autoManage()
|
|
522
|
-
? "
|
|
523
|
-
: "Use this key for new requests
|
|
470
|
+
? "Turn off automatic key rotation to switch keys"
|
|
471
|
+
: "Use this key for new requests",
|
|
524
472
|
currentValue: row.active ? "already active" : "activate",
|
|
525
473
|
values: ["activate"],
|
|
526
474
|
disabled: () => subs.autoManage() || row.active,
|
|
@@ -528,7 +476,7 @@ class SubscriptionActionSubmenu extends Container {
|
|
|
528
476
|
{
|
|
529
477
|
id: "rename",
|
|
530
478
|
label: "Rename",
|
|
531
|
-
description: "
|
|
479
|
+
description: "Change the key's display name",
|
|
532
480
|
currentValue: row.name,
|
|
533
481
|
submenu: (currentValue, renameDone) => new SubscriptionRenameSubmenu(currentValue, (name) => {
|
|
534
482
|
if (name === undefined) {
|
|
@@ -547,7 +495,7 @@ class SubscriptionActionSubmenu extends Container {
|
|
|
547
495
|
label: "Clear exhausted flag",
|
|
548
496
|
description: row.exhaustedUntil !== undefined
|
|
549
497
|
? `Marked exhausted until ${formatSubscriptionExhaustedUntil(row.exhaustedUntil)}.`
|
|
550
|
-
: "
|
|
498
|
+
: "Unavailable until the key is marked exhausted",
|
|
551
499
|
currentValue: "clear",
|
|
552
500
|
values: ["clear"],
|
|
553
501
|
disabled: () => row.exhaustedUntil === undefined,
|
|
@@ -555,9 +503,9 @@ class SubscriptionActionSubmenu extends Container {
|
|
|
555
503
|
{
|
|
556
504
|
id: "remove",
|
|
557
505
|
label: "Remove",
|
|
558
|
-
description: "Delete this
|
|
506
|
+
description: "Delete this stored key",
|
|
559
507
|
currentValue: "remove…",
|
|
560
|
-
submenu: (_currentValue, confirmDone) => new SelectSubmenu("Remove Subscription", `
|
|
508
|
+
submenu: (_currentValue, confirmDone) => new SelectSubmenu("Remove Subscription", `Delete "${row.name}" from ${row.providerName}? The last key also logs out the provider.`, [
|
|
561
509
|
{ value: "cancel", label: "Cancel" },
|
|
562
510
|
{ value: "remove", label: "Remove key" },
|
|
563
511
|
], "cancel", (value) => {
|
|
@@ -707,7 +655,7 @@ function singleModeThemeItems(availableThemes) {
|
|
|
707
655
|
{
|
|
708
656
|
value: AUTOMATIC_THEME_VALUE,
|
|
709
657
|
label: "Automatic",
|
|
710
|
-
description: "
|
|
658
|
+
description: "Follow the terminal's light or dark appearance",
|
|
711
659
|
},
|
|
712
660
|
...themeItems(availableThemes),
|
|
713
661
|
];
|
|
@@ -769,7 +717,7 @@ class ThemeSubmenu extends Container {
|
|
|
769
717
|
}
|
|
770
718
|
showSingleMenu() {
|
|
771
719
|
this.mode = "single";
|
|
772
|
-
const menu = new SelectSubmenu("Theme", "
|
|
720
|
+
const menu = new SelectSubmenu("Theme", "Choose a theme or follow terminal appearance", singleModeThemeItems(this.availableThemes), this.singleTheme, (value) => {
|
|
773
721
|
if (value === AUTOMATIC_THEME_VALUE) {
|
|
774
722
|
this.mode = "automatic";
|
|
775
723
|
this.callbacks.onThemePreview?.(this.getThemeSetting());
|
|
@@ -788,16 +736,16 @@ class ThemeSubmenu extends Container {
|
|
|
788
736
|
const content = new Container();
|
|
789
737
|
content.addChild(new Text(theme.bold(theme.fg("accent", "Automatic Theme")), 0, 0));
|
|
790
738
|
content.addChild(new Spacer(1));
|
|
791
|
-
content.addChild(new Text(theme.fg("muted", "
|
|
739
|
+
content.addChild(new Text(theme.fg("muted", "Use different themes for light and dark terminals."), 0, 0));
|
|
792
740
|
content.addChild(new Text(theme.fg("muted", "Light/dark detection requires terminal support."), 0, 0));
|
|
793
741
|
content.addChild(new Spacer(1));
|
|
794
742
|
const items = [
|
|
795
743
|
{
|
|
796
744
|
id: "light-theme",
|
|
797
745
|
label: "Light theme",
|
|
798
|
-
description: "Theme
|
|
746
|
+
description: "Theme for light terminals",
|
|
799
747
|
currentValue: this.lightTheme,
|
|
800
|
-
submenu: (currentValue, done) => this.createThemeSelect("Light Theme", "
|
|
748
|
+
submenu: (currentValue, done) => this.createThemeSelect("Light Theme", "Theme for light terminals", currentValue, done, (value) => {
|
|
801
749
|
this.lightTheme = value;
|
|
802
750
|
this.callbacks.onThemePreview?.(this.getThemeSetting());
|
|
803
751
|
done(value);
|
|
@@ -806,9 +754,9 @@ class ThemeSubmenu extends Container {
|
|
|
806
754
|
{
|
|
807
755
|
id: "dark-theme",
|
|
808
756
|
label: "Dark theme",
|
|
809
|
-
description: "Theme
|
|
757
|
+
description: "Theme for dark terminals",
|
|
810
758
|
currentValue: this.darkTheme,
|
|
811
|
-
submenu: (currentValue, done) => this.createThemeSelect("Dark Theme", "
|
|
759
|
+
submenu: (currentValue, done) => this.createThemeSelect("Dark Theme", "Theme for dark terminals", currentValue, done, (value) => {
|
|
812
760
|
this.darkTheme = value;
|
|
813
761
|
this.callbacks.onThemePreview?.(this.getThemeSetting());
|
|
814
762
|
done(value);
|
|
@@ -817,14 +765,14 @@ class ThemeSubmenu extends Container {
|
|
|
817
765
|
{
|
|
818
766
|
id: "apply",
|
|
819
767
|
label: "Apply",
|
|
820
|
-
description: "Save
|
|
768
|
+
description: "Save theme settings",
|
|
821
769
|
currentValue: "save and go back",
|
|
822
770
|
values: ["save and go back"],
|
|
823
771
|
},
|
|
824
772
|
{
|
|
825
773
|
id: "single-mode",
|
|
826
774
|
label: "Change mode",
|
|
827
|
-
description: "
|
|
775
|
+
description: "Use one theme for all terminal appearances",
|
|
828
776
|
currentValue: "switch to single theme",
|
|
829
777
|
values: ["switch to single theme"],
|
|
830
778
|
},
|
|
@@ -882,42 +830,42 @@ export class SettingsSelectorComponent extends Container {
|
|
|
882
830
|
{
|
|
883
831
|
id: "autocompact",
|
|
884
832
|
label: "Auto-compact",
|
|
885
|
-
description: "
|
|
833
|
+
description: "Compact context before it reaches the model limit",
|
|
886
834
|
currentValue: config.autoCompact ? "true" : "false",
|
|
887
835
|
values: ["true", "false"],
|
|
888
836
|
},
|
|
889
837
|
{
|
|
890
838
|
id: "steering-mode",
|
|
891
839
|
label: "Steering mode",
|
|
892
|
-
description: "
|
|
840
|
+
description: "How new messages interrupt a streaming response",
|
|
893
841
|
currentValue: config.steeringMode,
|
|
894
842
|
values: ["one-at-a-time", "all"],
|
|
895
843
|
},
|
|
896
844
|
{
|
|
897
845
|
id: "follow-up-mode",
|
|
898
846
|
label: "Follow-up mode",
|
|
899
|
-
description:
|
|
847
|
+
description: `How ${followUpKey} messages run after the current response`,
|
|
900
848
|
currentValue: config.followUpMode,
|
|
901
849
|
values: ["one-at-a-time", "all"],
|
|
902
850
|
},
|
|
903
851
|
{
|
|
904
852
|
id: "transport",
|
|
905
853
|
label: "Transport",
|
|
906
|
-
description: "
|
|
854
|
+
description: "Connection method for supported providers",
|
|
907
855
|
currentValue: config.transport,
|
|
908
856
|
values: ["sse", "websocket", "websocket-cached", "auto"],
|
|
909
857
|
},
|
|
910
858
|
{
|
|
911
859
|
id: "http-idle-timeout",
|
|
912
860
|
label: "HTTP idle timeout",
|
|
913
|
-
description: "
|
|
861
|
+
description: "Time before an inactive HTTP request times out",
|
|
914
862
|
currentValue: formatHttpIdleTimeoutMs(config.httpIdleTimeoutMs),
|
|
915
863
|
values: HTTP_IDLE_TIMEOUT_CHOICES.map((choice) => choice.label),
|
|
916
864
|
},
|
|
917
865
|
{
|
|
918
866
|
id: "hide-thinking",
|
|
919
867
|
label: "Hide thinking",
|
|
920
|
-
description: "
|
|
868
|
+
description: "Thinking block visibility",
|
|
921
869
|
currentValue: config.hideThinkingBlock ? "true" : "false",
|
|
922
870
|
values: ["true", "false"],
|
|
923
871
|
},
|
|
@@ -926,7 +874,7 @@ export class SettingsSelectorComponent extends Container {
|
|
|
926
874
|
// "✻ Thought for Xs" + first sentence. Disabled when thinking is hidden.
|
|
927
875
|
id: "thinking-collapse",
|
|
928
876
|
label: "Collapse thinking",
|
|
929
|
-
description: "
|
|
877
|
+
description: "Short summaries for completed thinking",
|
|
930
878
|
currentValue: config.thinkingCollapse ? "true" : "false",
|
|
931
879
|
values: ["true", "false"],
|
|
932
880
|
disabled: () => config.hideThinkingBlock,
|
|
@@ -934,7 +882,7 @@ export class SettingsSelectorComponent extends Container {
|
|
|
934
882
|
{
|
|
935
883
|
id: "cache-miss-notices",
|
|
936
884
|
label: "Cache miss notices",
|
|
937
|
-
description: "
|
|
885
|
+
description: "Prompt cache miss notices in the transcript",
|
|
938
886
|
currentValue: config.showCacheMissNotices ? "true" : "false",
|
|
939
887
|
values: ["true", "false"],
|
|
940
888
|
},
|
|
@@ -943,88 +891,88 @@ export class SettingsSelectorComponent extends Container {
|
|
|
943
891
|
// applies; the row displays "short" as the implicit default.
|
|
944
892
|
id: "cache-retention",
|
|
945
893
|
label: "Cache retention",
|
|
946
|
-
description: "Prompt
|
|
894
|
+
description: "Prompt cache lifetime",
|
|
947
895
|
currentValue: config.cacheRetention,
|
|
948
896
|
values: ["short", "long", "none"],
|
|
949
897
|
},
|
|
950
898
|
{
|
|
951
899
|
id: "quiet-startup",
|
|
952
900
|
label: "Quiet startup",
|
|
953
|
-
description: "
|
|
901
|
+
description: "Startup log visibility",
|
|
954
902
|
currentValue: config.quietStartup ? "true" : "false",
|
|
955
903
|
values: ["true", "false"],
|
|
956
904
|
},
|
|
957
905
|
{
|
|
958
906
|
id: "smooth-streaming",
|
|
959
907
|
label: "Smooth streaming",
|
|
960
|
-
description: "
|
|
908
|
+
description: "Typewriter-style response streaming",
|
|
961
909
|
currentValue: config.smoothStreaming ? "true" : "false",
|
|
962
910
|
values: ["true", "false"],
|
|
963
911
|
},
|
|
912
|
+
{
|
|
913
|
+
id: "agent-memory",
|
|
914
|
+
label: "Agent memory",
|
|
915
|
+
description: "Durable facts the agent can manage",
|
|
916
|
+
currentValue: config.memoryEnabled ? "on" : "off",
|
|
917
|
+
values: ["on", "off"],
|
|
918
|
+
},
|
|
964
919
|
{
|
|
965
920
|
id: "memory-char-cap",
|
|
966
921
|
label: "Memory character cap",
|
|
967
|
-
description:
|
|
922
|
+
description: "Maximum agent memory size",
|
|
968
923
|
currentValue: String(config.memoryCharCap),
|
|
969
924
|
submenu: (currentValue, submenuDone) => new MemoryCharCapSubmenu(currentValue, submenuDone),
|
|
970
925
|
},
|
|
971
|
-
{
|
|
972
|
-
id: "behavior-preset",
|
|
973
|
-
label: "Behavior preset",
|
|
974
|
-
description: "Built-in options replace ~/.lunr/agent/behavior.md (default / humanizer / concise). Custom keeps the file. Built-ins skip the character cap.",
|
|
975
|
-
currentValue: config.behaviorPreset,
|
|
976
|
-
submenu: (currentValue, submenuDone) => new BehaviorPresetSubmenu(currentValue, submenuDone),
|
|
977
|
-
},
|
|
978
926
|
{
|
|
979
927
|
id: "search-curator",
|
|
980
928
|
label: "Search curator",
|
|
981
929
|
description: curatorAvailable
|
|
982
|
-
? "
|
|
983
|
-
: "
|
|
930
|
+
? "Web search review and summary mode"
|
|
931
|
+
: "Unavailable because web access is not loaded",
|
|
984
932
|
currentValue: config.searchCurator ?? "unavailable",
|
|
985
933
|
values: curatorAvailable ? SEARCH_CURATOR_VALUES : undefined,
|
|
986
934
|
},
|
|
987
935
|
{
|
|
988
936
|
id: "session-retention-days",
|
|
989
937
|
label: "Session retention",
|
|
990
|
-
description: "
|
|
938
|
+
description: "How long session files are kept",
|
|
991
939
|
currentValue: String(config.sessionRetentionDays),
|
|
992
940
|
values: ["0", "7", "14", "30", "60", "90", "365"],
|
|
993
941
|
},
|
|
994
942
|
{
|
|
995
943
|
id: "default-project-trust",
|
|
996
944
|
label: "Default project trust",
|
|
997
|
-
description: "
|
|
945
|
+
description: "Trust choice when a project has no saved decision",
|
|
998
946
|
currentValue: DEFAULT_PROJECT_TRUST_LABELS[config.defaultProjectTrust],
|
|
999
947
|
values: Object.values(DEFAULT_PROJECT_TRUST_LABELS),
|
|
1000
948
|
},
|
|
1001
949
|
{
|
|
1002
950
|
id: "default-permission-mode",
|
|
1003
951
|
label: "Default permission mode",
|
|
1004
|
-
description: "
|
|
952
|
+
description: "Starting permission mode for new sessions",
|
|
1005
953
|
currentValue: config.defaultPermissionMode,
|
|
1006
954
|
values: ["manual", "yolo", "plan", "auto"],
|
|
1007
955
|
},
|
|
1008
956
|
{
|
|
1009
957
|
id: "double-escape-action",
|
|
1010
958
|
label: "Double-escape action",
|
|
1011
|
-
description: "Action
|
|
959
|
+
description: "Action for double Escape in an empty editor",
|
|
1012
960
|
currentValue: config.doubleEscapeAction,
|
|
1013
961
|
values: ["tree", "fork", "none"],
|
|
1014
962
|
},
|
|
1015
963
|
{
|
|
1016
964
|
id: "tree-filter-mode",
|
|
1017
965
|
label: "Tree filter mode",
|
|
1018
|
-
description: "Default
|
|
966
|
+
description: "Default /tree filter",
|
|
1019
967
|
currentValue: config.treeFilterMode,
|
|
1020
968
|
values: ["default", "no-tools", "user-only", "labeled-only", "all"],
|
|
1021
969
|
},
|
|
1022
970
|
{
|
|
1023
971
|
id: "thinking",
|
|
1024
972
|
label: "Thinking level",
|
|
1025
|
-
description: "Reasoning
|
|
973
|
+
description: "Reasoning level for supported models",
|
|
1026
974
|
currentValue: config.thinkingLevel,
|
|
1027
|
-
submenu: (currentValue, done) => new SelectSubmenu("Thinking Level", "
|
|
975
|
+
submenu: (currentValue, done) => new SelectSubmenu("Thinking Level", "Reasoning level for supported models", config.availableThinkingLevels.map((level) => ({
|
|
1028
976
|
value: level,
|
|
1029
977
|
label: level,
|
|
1030
978
|
description: THINKING_DESCRIPTIONS[level],
|
|
@@ -1036,21 +984,21 @@ export class SettingsSelectorComponent extends Container {
|
|
|
1036
984
|
{
|
|
1037
985
|
id: "theme",
|
|
1038
986
|
label: "Theme",
|
|
1039
|
-
description: "
|
|
987
|
+
description: "Interface color theme",
|
|
1040
988
|
currentValue: config.currentTheme,
|
|
1041
989
|
submenu: (currentValue, done) => new ThemeSubmenu(currentValue, config.terminalTheme, config.availableThemes, callbacks, done),
|
|
1042
990
|
},
|
|
1043
991
|
{
|
|
1044
992
|
id: "model-tiers",
|
|
1045
993
|
label: "Model tiers",
|
|
1046
|
-
description: "
|
|
994
|
+
description: "Subagent model routing",
|
|
1047
995
|
currentValue: config.modelTiers.enabled ? "on" : "off",
|
|
1048
996
|
submenu: (currentValue, done) => new ModelTiersSubmenu(currentValue, config.modelTiers, callbacks, done),
|
|
1049
997
|
},
|
|
1050
998
|
{
|
|
1051
999
|
id: "plan-usage-window",
|
|
1052
1000
|
label: "Plan usage window",
|
|
1053
|
-
description: "
|
|
1001
|
+
description: "Subscription usage period shown in the footer",
|
|
1054
1002
|
currentValue: config.planUsageWindow,
|
|
1055
1003
|
values: ["5h", "weekly"],
|
|
1056
1004
|
},
|
|
@@ -1058,7 +1006,7 @@ export class SettingsSelectorComponent extends Container {
|
|
|
1058
1006
|
{
|
|
1059
1007
|
id: "customize",
|
|
1060
1008
|
label: "Customize",
|
|
1061
|
-
description: "
|
|
1009
|
+
description: "Interface and footer options",
|
|
1062
1010
|
currentValue: "configure",
|
|
1063
1011
|
submenu: (_currentValue, done) => new CustomizeSubmenu(config, callbacks, done),
|
|
1064
1012
|
},
|
|
@@ -1066,7 +1014,7 @@ export class SettingsSelectorComponent extends Container {
|
|
|
1066
1014
|
{
|
|
1067
1015
|
id: "rollback",
|
|
1068
1016
|
label: "Rollback",
|
|
1069
|
-
description: "
|
|
1017
|
+
description: "Rollback behavior options",
|
|
1070
1018
|
currentValue: config.rollbackEnabled ? "on" : "off",
|
|
1071
1019
|
submenu: (currentValue, done) => new RollbackSubmenu(currentValue, config, callbacks, callbacks.isRollbackSessionForceEnabled(), done),
|
|
1072
1020
|
},
|
|
@@ -1074,7 +1022,7 @@ export class SettingsSelectorComponent extends Container {
|
|
|
1074
1022
|
{
|
|
1075
1023
|
id: "auto-manage-subscriptions",
|
|
1076
1024
|
label: "Auto-manage subscriptions",
|
|
1077
|
-
description: "
|
|
1025
|
+
description: "Automatic API key rotation after usage limits",
|
|
1078
1026
|
currentValue: config.autoManageSubscriptions ? "on" : "off",
|
|
1079
1027
|
values: ["on", "off"],
|
|
1080
1028
|
},
|
|
@@ -1085,7 +1033,7 @@ export class SettingsSelectorComponent extends Container {
|
|
|
1085
1033
|
items.push({
|
|
1086
1034
|
id: "subscriptions",
|
|
1087
1035
|
label: "Subscriptions",
|
|
1088
|
-
description: "
|
|
1036
|
+
description: "Saved API key management",
|
|
1089
1037
|
currentValue: config.subscriptionCount === 0
|
|
1090
1038
|
? "none"
|
|
1091
1039
|
: `${config.subscriptionCount} key${config.subscriptionCount === 1 ? "" : "s"}`,
|
|
@@ -1098,14 +1046,14 @@ export class SettingsSelectorComponent extends Container {
|
|
|
1098
1046
|
items.splice(1, 0, {
|
|
1099
1047
|
id: "show-images",
|
|
1100
1048
|
label: "Show images",
|
|
1101
|
-
description: "
|
|
1049
|
+
description: "Inline terminal image rendering",
|
|
1102
1050
|
currentValue: config.showImages ? "true" : "false",
|
|
1103
1051
|
values: ["true", "false"],
|
|
1104
1052
|
});
|
|
1105
1053
|
items.splice(2, 0, {
|
|
1106
1054
|
id: "image-width-cells",
|
|
1107
1055
|
label: "Image width",
|
|
1108
|
-
description: "
|
|
1056
|
+
description: "Inline image width in terminal cells",
|
|
1109
1057
|
currentValue: String(config.imageWidthCells),
|
|
1110
1058
|
values: ["60", "80", "120"],
|
|
1111
1059
|
});
|
|
@@ -1114,7 +1062,7 @@ export class SettingsSelectorComponent extends Container {
|
|
|
1114
1062
|
items.splice(supportsImages ? 3 : 1, 0, {
|
|
1115
1063
|
id: "auto-resize-images",
|
|
1116
1064
|
label: "Auto-resize images",
|
|
1117
|
-
description: "
|
|
1065
|
+
description: "Limit images to 2000 x 2000 pixels",
|
|
1118
1066
|
currentValue: config.autoResizeImages ? "true" : "false",
|
|
1119
1067
|
values: ["true", "false"],
|
|
1120
1068
|
});
|
|
@@ -1123,7 +1071,7 @@ export class SettingsSelectorComponent extends Container {
|
|
|
1123
1071
|
items.splice(autoResizeIndex + 1, 0, {
|
|
1124
1072
|
id: "block-images",
|
|
1125
1073
|
label: "Block images",
|
|
1126
|
-
description: "Prevent images from
|
|
1074
|
+
description: "Prevent images from reaching model providers",
|
|
1127
1075
|
currentValue: config.blockImages ? "true" : "false",
|
|
1128
1076
|
values: ["true", "false"],
|
|
1129
1077
|
});
|
|
@@ -1132,16 +1080,25 @@ export class SettingsSelectorComponent extends Container {
|
|
|
1132
1080
|
items.splice(blockImagesIndex + 1, 0, {
|
|
1133
1081
|
id: "skill-commands",
|
|
1134
1082
|
label: "Skill commands",
|
|
1135
|
-
description: "
|
|
1083
|
+
description: "Skills as /skill:name commands",
|
|
1136
1084
|
currentValue: config.enableSkillCommands ? "true" : "false",
|
|
1137
1085
|
values: ["true", "false"],
|
|
1138
1086
|
});
|
|
1139
|
-
//
|
|
1087
|
+
// Skill tag character (insert after skill-commands)
|
|
1140
1088
|
const skillCommandsIndex = items.findIndex((item) => item.id === "skill-commands");
|
|
1141
1089
|
items.splice(skillCommandsIndex + 1, 0, {
|
|
1090
|
+
id: "skill-tag-character",
|
|
1091
|
+
label: "Skill tag",
|
|
1092
|
+
description: "After a space, this character lists skills to tag in the message",
|
|
1093
|
+
currentValue: config.skillTagCharacter,
|
|
1094
|
+
values: [...SKILL_TAG_CHARACTERS],
|
|
1095
|
+
});
|
|
1096
|
+
// Hardware cursor toggle (insert after skill-tag-character)
|
|
1097
|
+
const skillTagIndex = items.findIndex((item) => item.id === "skill-tag-character");
|
|
1098
|
+
items.splice(skillTagIndex + 1, 0, {
|
|
1142
1099
|
id: "show-hardware-cursor",
|
|
1143
1100
|
label: "Show hardware cursor",
|
|
1144
|
-
description: "
|
|
1101
|
+
description: "Terminal cursor for input method editors",
|
|
1145
1102
|
currentValue: config.showHardwareCursor ? "true" : "false",
|
|
1146
1103
|
values: ["true", "false"],
|
|
1147
1104
|
});
|
|
@@ -1150,7 +1107,7 @@ export class SettingsSelectorComponent extends Container {
|
|
|
1150
1107
|
items.splice(hardwareCursorIndex + 1, 0, {
|
|
1151
1108
|
id: "editor-padding",
|
|
1152
1109
|
label: "Editor padding",
|
|
1153
|
-
description: "Horizontal
|
|
1110
|
+
description: "Horizontal editor padding",
|
|
1154
1111
|
currentValue: String(config.editorPaddingX),
|
|
1155
1112
|
values: ["0", "1", "2", "3"],
|
|
1156
1113
|
});
|
|
@@ -1159,7 +1116,7 @@ export class SettingsSelectorComponent extends Container {
|
|
|
1159
1116
|
items.splice(editorPaddingIndex + 1, 0, {
|
|
1160
1117
|
id: "output-padding",
|
|
1161
1118
|
label: "Output padding",
|
|
1162
|
-
description: "Horizontal padding
|
|
1119
|
+
description: "Horizontal message padding",
|
|
1163
1120
|
currentValue: String(config.outputPad),
|
|
1164
1121
|
values: ["0", "1"],
|
|
1165
1122
|
});
|
|
@@ -1168,7 +1125,7 @@ export class SettingsSelectorComponent extends Container {
|
|
|
1168
1125
|
items.splice(outputPaddingIndex + 1, 0, {
|
|
1169
1126
|
id: "autocomplete-max-visible",
|
|
1170
1127
|
label: "Autocomplete max items",
|
|
1171
|
-
description: "
|
|
1128
|
+
description: "Visible autocomplete items",
|
|
1172
1129
|
currentValue: String(config.autocompleteMaxVisible),
|
|
1173
1130
|
values: ["3", "5", "7", "10", "15", "20"],
|
|
1174
1131
|
});
|
|
@@ -1177,7 +1134,7 @@ export class SettingsSelectorComponent extends Container {
|
|
|
1177
1134
|
items.splice(autocompleteIndex + 1, 0, {
|
|
1178
1135
|
id: "clear-on-shrink",
|
|
1179
1136
|
label: "Clear on shrink",
|
|
1180
|
-
description: "Clear
|
|
1137
|
+
description: "Clear leftover terminal rows when content shrinks",
|
|
1181
1138
|
currentValue: config.clearOnShrink ? "true" : "false",
|
|
1182
1139
|
values: ["true", "false"],
|
|
1183
1140
|
});
|
|
@@ -1186,7 +1143,7 @@ export class SettingsSelectorComponent extends Container {
|
|
|
1186
1143
|
items.splice(clearOnShrinkIndex + 1, 0, {
|
|
1187
1144
|
id: "terminal-progress",
|
|
1188
1145
|
label: "Terminal progress",
|
|
1189
|
-
description: "
|
|
1146
|
+
description: "Progress in supported terminal tabs",
|
|
1190
1147
|
currentValue: config.showTerminalProgress ? "true" : "false",
|
|
1191
1148
|
values: ["true", "false"],
|
|
1192
1149
|
});
|
|
@@ -1212,6 +1169,9 @@ export class SettingsSelectorComponent extends Container {
|
|
|
1212
1169
|
case "skill-commands":
|
|
1213
1170
|
callbacks.onEnableSkillCommandsChange(newValue === "true");
|
|
1214
1171
|
break;
|
|
1172
|
+
case "skill-tag-character":
|
|
1173
|
+
callbacks.onSkillTagCharacterChange(newValue);
|
|
1174
|
+
break;
|
|
1215
1175
|
case "steering-mode":
|
|
1216
1176
|
callbacks.onSteeringModeChange(newValue);
|
|
1217
1177
|
break;
|
|
@@ -1252,8 +1212,8 @@ export class SettingsSelectorComponent extends Container {
|
|
|
1252
1212
|
case "memory-char-cap":
|
|
1253
1213
|
callbacks.onMemoryCharCapChange(parseInt(newValue, 10));
|
|
1254
1214
|
break;
|
|
1255
|
-
case "
|
|
1256
|
-
callbacks.
|
|
1215
|
+
case "agent-memory":
|
|
1216
|
+
callbacks.onMemoryEnabledChange(newValue === "on");
|
|
1257
1217
|
break;
|
|
1258
1218
|
case "search-curator":
|
|
1259
1219
|
callbacks.onSearchCuratorChange(newValue);
|