@astralyn/pi 1.0.5 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +79 -0
- package/dist/bundle/chunks/anthropic-messages-NVP5OPIM.js +6 -0
- package/dist/bundle/chunks/anthropic.js +1 -1
- package/dist/bundle/chunks/{azure-openai-responses-LDW4FGAQ.js → azure-openai-responses-IBTOZ5MH.js} +1 -1
- package/dist/bundle/chunks/bedrock-converse-stream.js +2 -2
- package/dist/bundle/chunks/chunk-4XZYHGVN.js +11 -0
- package/dist/bundle/chunks/{chunk-GIG5IHES.js → chunk-5KJH3GGH.js} +1 -1
- package/dist/bundle/chunks/chunk-6VYRLG5F.js +2 -0
- package/dist/bundle/chunks/{chunk-UCXU7KLO.js → chunk-7HJ6CHUB.js} +1 -1
- package/dist/bundle/chunks/chunk-7UBIBLPN.js +2 -0
- package/dist/bundle/chunks/{chunk-IE3Z7ESB.js → chunk-A5HU4TE6.js} +418 -362
- package/dist/bundle/chunks/{chunk-HDHRZ7GT.js → chunk-B2UOWO4A.js} +1 -1
- package/dist/bundle/chunks/chunk-J75WV3FL.js +2 -0
- package/dist/bundle/chunks/{chunk-A6ALEEY5.js → chunk-LHSPN2IO.js} +1 -1
- package/dist/bundle/chunks/chunk-Q74S7ILH.js +2 -0
- package/dist/bundle/chunks/chunk-QDDSFJ35.js +2 -0
- package/dist/bundle/chunks/{chunk-IFELM7MW.js → chunk-UQECUCUH.js} +1 -1
- package/dist/bundle/chunks/cloudflare-workers-ai-system-one-HGOVFZDC.js +2 -0
- package/dist/bundle/chunks/codemode-worker.js +18 -10
- package/dist/bundle/chunks/github-copilot.js +1 -1
- package/dist/bundle/chunks/{google-generative-ai-S5A5IBU4.js → google-generative-ai-M44TSMAN.js} +1 -1
- package/dist/bundle/chunks/{google-vertex-UBRQFDB4.js → google-vertex-3C4OWLFX.js} +1 -1
- package/dist/bundle/chunks/image-resize-worker.js +1 -1
- package/dist/bundle/chunks/{llama-cpp-classify-R7DQLTQN.js → llama-cpp-classify-H3IZDR5O.js} +2 -2
- package/dist/bundle/chunks/mistral-conversations-I5PL4VCZ.js +5 -0
- package/dist/bundle/chunks/openai-chatgpt.js +1 -1
- package/dist/bundle/chunks/openai-codex-responses-O5EUDL54.js +10 -0
- package/dist/bundle/chunks/openai-codex.js +1 -1
- package/dist/bundle/chunks/{openai-completions-H4VMO7AU.js → openai-completions-X3SSG5BQ.js} +1 -1
- package/dist/bundle/chunks/openai-decisions-TVCDIPZX.js +5 -0
- package/dist/bundle/chunks/{openai-responses-G4PGNM2H.js → openai-responses-NYPNKVDV.js} +1 -1
- package/dist/bundle/chunks/{openrouter-images-YP3YVB54.js → openrouter-images-TDLJV5N4.js} +1 -1
- package/dist/bundle/chunks/{pi-messages-HZZ7GEEW.js → pi-messages-ZXNERWJG.js} +1 -1
- package/dist/bundle/chunks/typesafe-system-one-LWPJYTJP.js +2 -0
- package/dist/bundle/chunks/{virtual-modules-46MSJGKO.js → virtual-modules-OZTPKGU7.js} +1 -1
- package/dist/bundle/cli.js +1 -1
- package/dist/bundle/index.js +1 -1
- package/dist/bundle/rpc-entry.js +1 -1
- package/dist/cli/args.d.ts +1 -1
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +13 -1
- package/dist/cli/args.js.map +1 -1
- package/dist/core/agent-session.d.ts +26 -7
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +190 -183
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/auth-storage.d.ts.map +1 -1
- package/dist/core/auth-storage.js +20 -13
- package/dist/core/auth-storage.js.map +1 -1
- package/dist/core/bash-executor.d.ts.map +1 -1
- package/dist/core/bash-executor.js +40 -45
- package/dist/core/bash-executor.js.map +1 -1
- package/dist/core/bug-report.d.ts +9 -1
- package/dist/core/bug-report.d.ts.map +1 -1
- package/dist/core/compaction/utils.d.ts +6 -0
- package/dist/core/compaction/utils.d.ts.map +1 -1
- package/dist/core/compaction/utils.js +7 -8
- package/dist/core/compaction/utils.js.map +1 -1
- package/dist/core/context-snapshot.d.ts +4 -1
- package/dist/core/context-snapshot.d.ts.map +1 -1
- package/dist/core/context-snapshot.js +45 -0
- package/dist/core/context-snapshot.js.map +1 -1
- package/dist/core/export-html/tool-renderer.d.ts.map +1 -1
- package/dist/core/export-html/tool-renderer.js +2 -0
- package/dist/core/export-html/tool-renderer.js.map +1 -1
- package/dist/core/extensions/index.d.ts +1 -1
- package/dist/core/extensions/index.d.ts.map +1 -1
- package/dist/core/extensions/index.js.map +1 -1
- package/dist/core/extensions/runner.d.ts +4 -2
- package/dist/core/extensions/runner.d.ts.map +1 -1
- package/dist/core/extensions/runner.js +2 -3
- package/dist/core/extensions/runner.js.map +1 -1
- package/dist/core/extensions/types.d.ts +42 -7
- package/dist/core/extensions/types.d.ts.map +1 -1
- package/dist/core/extensions/types.js.map +1 -1
- package/dist/core/key-id-schema.d.ts +6 -0
- package/dist/core/key-id-schema.d.ts.map +1 -0
- package/dist/core/key-id-schema.js +16 -0
- package/dist/core/key-id-schema.js.map +1 -0
- package/dist/core/keybinding-registry.d.ts +4 -3
- package/dist/core/keybinding-registry.d.ts.map +1 -1
- package/dist/core/keybinding-registry.js +4 -3
- package/dist/core/keybinding-registry.js.map +1 -1
- package/dist/core/keybindings-schema.d.ts +4 -0
- package/dist/core/keybindings-schema.d.ts.map +1 -0
- package/dist/core/keybindings-schema.js +16 -0
- package/dist/core/keybindings-schema.js.map +1 -0
- package/dist/core/keybindings.d.ts +258 -81
- package/dist/core/keybindings.d.ts.map +1 -1
- package/dist/core/keybindings.js +27 -24
- package/dist/core/keybindings.js.map +1 -1
- package/dist/core/model-config.d.ts +713 -180
- package/dist/core/model-config.d.ts.map +1 -1
- package/dist/core/model-config.js +18 -179
- package/dist/core/model-config.js.map +1 -1
- package/dist/core/model-runtime.d.ts.map +1 -1
- package/dist/core/model-runtime.js +13 -7
- package/dist/core/model-runtime.js.map +1 -1
- package/dist/core/nested-tool-calls.d.ts +1 -0
- package/dist/core/nested-tool-calls.d.ts.map +1 -1
- package/dist/core/nested-tool-calls.js +1 -0
- package/dist/core/nested-tool-calls.js.map +1 -1
- package/dist/core/package-manager.d.ts.map +1 -1
- package/dist/core/package-manager.js +3 -3
- package/dist/core/package-manager.js.map +1 -1
- package/dist/core/project-trust.d.ts.map +1 -1
- package/dist/core/project-trust.js +2 -1
- package/dist/core/project-trust.js.map +1 -1
- package/dist/core/remote-catalog-provider.d.ts +12 -1
- package/dist/core/remote-catalog-provider.d.ts.map +1 -1
- package/dist/core/remote-catalog-provider.js +82 -24
- package/dist/core/remote-catalog-provider.js.map +1 -1
- package/dist/core/resource-loader.d.ts.map +1 -1
- package/dist/core/resource-loader.js +7 -2
- package/dist/core/resource-loader.js.map +1 -1
- package/dist/core/sdk.d.ts +4 -0
- package/dist/core/sdk.d.ts.map +1 -1
- package/dist/core/sdk.js +17 -5
- package/dist/core/sdk.js.map +1 -1
- package/dist/core/settings-defaults.d.ts +65 -0
- package/dist/core/settings-defaults.d.ts.map +1 -0
- package/dist/core/settings-defaults.js +66 -0
- package/dist/core/settings-defaults.js.map +1 -0
- package/dist/core/settings-manager.d.ts +15 -147
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +85 -57
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/settings-schema.d.ts +231 -0
- package/dist/core/settings-schema.d.ts.map +1 -0
- package/dist/core/settings-schema.js +294 -0
- package/dist/core/settings-schema.js.map +1 -0
- package/dist/core/tasks/session.d.ts +9 -0
- package/dist/core/tasks/session.d.ts.map +1 -1
- package/dist/core/tasks/session.js +21 -0
- package/dist/core/tasks/session.js.map +1 -1
- package/dist/core/tools/render-utils.d.ts +18 -0
- package/dist/core/tools/render-utils.d.ts.map +1 -1
- package/dist/core/tools/render-utils.js +46 -0
- package/dist/core/tools/render-utils.js.map +1 -1
- package/dist/core/tools/renderers/bash.d.ts.map +1 -1
- package/dist/core/tools/renderers/bash.js +21 -45
- package/dist/core/tools/renderers/bash.js.map +1 -1
- package/dist/core/tools/renderers/edit.js +1 -1
- package/dist/core/tools/renderers/edit.js.map +1 -1
- package/dist/extensions/btw/keybindings.d.ts +2 -2
- package/dist/extensions/btw/keybindings.d.ts.map +1 -1
- package/dist/extensions/btw/keybindings.js.map +1 -1
- package/dist/extensions/codemode/execute.d.ts.map +1 -1
- package/dist/extensions/codemode/execute.js +115 -40
- package/dist/extensions/codemode/execute.js.map +1 -1
- package/dist/extensions/codemode/index.d.ts.map +1 -1
- package/dist/extensions/codemode/index.js +3 -7
- package/dist/extensions/codemode/index.js.map +1 -1
- package/dist/extensions/codemode/renderer.d.ts +2 -2
- package/dist/extensions/codemode/renderer.d.ts.map +1 -1
- package/dist/extensions/codemode/renderer.js +9 -3
- package/dist/extensions/codemode/renderer.js.map +1 -1
- package/dist/extensions/codemode/tool.d.ts +6 -12
- package/dist/extensions/codemode/tool.d.ts.map +1 -1
- package/dist/extensions/codemode/tool.js +46 -34
- package/dist/extensions/codemode/tool.js.map +1 -1
- package/dist/extensions/index.js +2 -2
- package/dist/extensions/index.js.map +1 -1
- package/dist/extensions/list-keybindings.d.ts +2 -2
- package/dist/extensions/list-keybindings.d.ts.map +1 -1
- package/dist/extensions/list-keybindings.js.map +1 -1
- package/dist/extensions/llama/provider.d.ts.map +1 -1
- package/dist/extensions/llama/provider.js +34 -11
- package/dist/extensions/llama/provider.js.map +1 -1
- package/dist/extensions/mcp/cli.js +22 -31
- package/dist/extensions/mcp/cli.js.map +1 -1
- package/dist/extensions/mcp/index.d.ts.map +1 -1
- package/dist/extensions/mcp/index.js +187 -95
- package/dist/extensions/mcp/index.js.map +1 -1
- package/dist/extensions/mcp/oauth.d.ts +5 -3
- package/dist/extensions/mcp/oauth.d.ts.map +1 -1
- package/dist/extensions/mcp/oauth.js +36 -10
- package/dist/extensions/mcp/oauth.js.map +1 -1
- package/dist/extensions/mcp/resources.d.ts +0 -6
- package/dist/extensions/mcp/resources.d.ts.map +1 -1
- package/dist/extensions/mcp/resources.js +1 -1
- package/dist/extensions/mcp/resources.js.map +1 -1
- package/dist/extensions/mcp/runtime.d.ts +3 -6
- package/dist/extensions/mcp/runtime.d.ts.map +1 -1
- package/dist/extensions/mcp/runtime.js +4 -39
- package/dist/extensions/mcp/runtime.js.map +1 -1
- package/dist/extensions/mcp/tools.d.ts +2 -3
- package/dist/extensions/mcp/tools.d.ts.map +1 -1
- package/dist/extensions/mcp/tools.js +62 -6
- package/dist/extensions/mcp/tools.js.map +1 -1
- package/dist/extensions/mcp/ui.d.ts +3 -3
- package/dist/extensions/mcp/ui.d.ts.map +1 -1
- package/dist/extensions/mcp/ui.js +10 -2
- package/dist/extensions/mcp/ui.js.map +1 -1
- package/dist/extensions/provider/keybindings.d.ts +2 -2
- package/dist/extensions/provider/keybindings.d.ts.map +1 -1
- package/dist/extensions/provider/keybindings.js.map +1 -1
- package/dist/extensions/search/code-search.d.ts +27 -0
- package/dist/extensions/search/code-search.d.ts.map +1 -0
- package/dist/extensions/search/code-search.js +120 -0
- package/dist/extensions/search/code-search.js.map +1 -0
- package/dist/extensions/search/command.d.ts +5 -0
- package/dist/extensions/search/command.d.ts.map +1 -0
- package/dist/extensions/search/command.js +69 -0
- package/dist/extensions/search/command.js.map +1 -0
- package/dist/extensions/search/credential.d.ts +25 -0
- package/dist/extensions/search/credential.d.ts.map +1 -0
- package/dist/extensions/search/credential.js +117 -0
- package/dist/extensions/search/credential.js.map +1 -0
- package/dist/extensions/search/devin.d.ts +34 -0
- package/dist/extensions/search/devin.d.ts.map +1 -0
- package/dist/extensions/search/devin.js +210 -0
- package/dist/extensions/search/devin.js.map +1 -0
- package/dist/extensions/search/index.d.ts +5 -0
- package/dist/extensions/search/index.d.ts.map +1 -0
- package/dist/extensions/search/index.js +113 -0
- package/dist/extensions/search/index.js.map +1 -0
- package/dist/extensions/search/panel.d.ts +53 -0
- package/dist/extensions/search/panel.d.ts.map +1 -0
- package/dist/extensions/search/panel.js +157 -0
- package/dist/extensions/search/panel.js.map +1 -0
- package/dist/extensions/search/prompt.d.ts +14 -0
- package/dist/extensions/search/prompt.d.ts.map +1 -0
- package/dist/extensions/search/prompt.js +221 -0
- package/dist/extensions/search/prompt.js.map +1 -0
- package/dist/extensions/search/render.d.ts +28 -0
- package/dist/extensions/search/render.d.ts.map +1 -0
- package/dist/extensions/search/render.js +86 -0
- package/dist/extensions/search/render.js.map +1 -0
- package/dist/extensions/search/workspace.d.ts +39 -0
- package/dist/extensions/search/workspace.d.ts.map +1 -0
- package/dist/extensions/search/workspace.js +363 -0
- package/dist/extensions/search/workspace.js.map +1 -0
- package/dist/extensions/tool-search/index.d.ts.map +1 -1
- package/dist/extensions/tool-search/index.js +1 -6
- package/dist/extensions/tool-search/index.js.map +1 -1
- package/dist/extensions/tool-search/tool.d.ts +0 -2
- package/dist/extensions/tool-search/tool.d.ts.map +1 -1
- package/dist/extensions/tool-search/tool.js +2 -4
- package/dist/extensions/tool-search/tool.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.js +3 -3
- package/dist/main.js.map +1 -1
- package/dist/modes/interactive/components/bash-execution.d.ts +5 -1
- package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -1
- package/dist/modes/interactive/components/bash-execution.js +14 -14
- package/dist/modes/interactive/components/bash-execution.js.map +1 -1
- package/dist/modes/interactive/components/branch-summary-message.d.ts +2 -1
- package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/branch-summary-message.js +5 -2
- package/dist/modes/interactive/components/branch-summary-message.js.map +1 -1
- package/dist/modes/interactive/components/compaction-summary-message.d.ts +2 -1
- package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/compaction-summary-message.js +5 -2
- package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -1
- package/dist/modes/interactive/components/custom-entry.d.ts +3 -1
- package/dist/modes/interactive/components/custom-entry.d.ts.map +1 -1
- package/dist/modes/interactive/components/custom-entry.js +7 -2
- package/dist/modes/interactive/components/custom-entry.js.map +1 -1
- package/dist/modes/interactive/components/custom-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/custom-message.js +1 -0
- package/dist/modes/interactive/components/custom-message.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector.js +4 -3
- package/dist/modes/interactive/components/settings-selector.js.map +1 -1
- package/dist/modes/interactive/components/skill-invocation-message.d.ts +2 -1
- package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/skill-invocation-message.js +5 -2
- package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -1
- package/dist/modes/interactive/components/status-indicator.d.ts +1 -1
- package/dist/modes/interactive/components/status-indicator.d.ts.map +1 -1
- package/dist/modes/interactive/components/status-indicator.js +2 -2
- package/dist/modes/interactive/components/status-indicator.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +2 -0
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +63 -64
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/program-status-reporter.d.ts +34 -0
- package/dist/modes/interactive/program-status-reporter.d.ts.map +1 -0
- package/dist/modes/interactive/program-status-reporter.js +107 -0
- package/dist/modes/interactive/program-status-reporter.js.map +1 -0
- package/dist/modes/interactive/tasks/host-hooks.d.ts +14 -0
- package/dist/modes/interactive/tasks/host-hooks.d.ts.map +1 -0
- package/dist/modes/interactive/tasks/host-hooks.js +31 -0
- package/dist/modes/interactive/tasks/host-hooks.js.map +1 -0
- package/dist/modes/interactive/theme/dark.json +1 -1
- package/dist/modes/interactive/theme/light.json +1 -1
- package/dist/modes/interactive/theme/theme-schema.d.ts +28 -0
- package/dist/modes/interactive/theme/theme-schema.d.ts.map +1 -0
- package/dist/modes/interactive/theme/theme-schema.js +105 -0
- package/dist/modes/interactive/theme/theme-schema.js.map +1 -0
- package/dist/modes/interactive/theme/theme-tokens.d.ts +257 -0
- package/dist/modes/interactive/theme/theme-tokens.d.ts.map +1 -0
- package/dist/modes/interactive/theme/theme-tokens.js +94 -0
- package/dist/modes/interactive/theme/theme-tokens.js.map +1 -0
- package/dist/modes/interactive/theme/theme.d.ts +13 -16
- package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme.js +23 -31
- package/dist/modes/interactive/theme/theme.js.map +1 -1
- package/dist/modes/interactive/tool-view/tool-execution.d.ts +5 -0
- package/dist/modes/interactive/tool-view/tool-execution.d.ts.map +1 -1
- package/dist/modes/interactive/tool-view/tool-execution.js +7 -0
- package/dist/modes/interactive/tool-view/tool-execution.js.map +1 -1
- package/dist/modes/print-mode.d.ts.map +1 -1
- package/dist/modes/print-mode.js +4 -0
- package/dist/modes/print-mode.js.map +1 -1
- package/dist/package-manager-cli.d.ts.map +1 -1
- package/dist/package-manager-cli.js +24 -0
- package/dist/package-manager-cli.js.map +1 -1
- package/dist/utils/ansi.d.ts +8 -0
- package/dist/utils/ansi.d.ts.map +1 -1
- package/dist/utils/ansi.js +30 -11
- package/dist/utils/ansi.js.map +1 -1
- package/dist/utils/clipboard.d.ts.map +1 -1
- package/dist/utils/clipboard.js +18 -12
- package/dist/utils/clipboard.js.map +1 -1
- package/dist/utils/image-resize-core.d.ts +12 -0
- package/dist/utils/image-resize-core.d.ts.map +1 -1
- package/dist/utils/image-resize-core.js +5 -0
- package/dist/utils/image-resize-core.js.map +1 -1
- package/dist/utils/image-resize-worker.js +3 -2
- package/dist/utils/image-resize-worker.js.map +1 -1
- package/dist/utils/image-resize.d.ts.map +1 -1
- package/dist/utils/image-resize.js +9 -10
- package/dist/utils/image-resize.js.map +1 -1
- package/docs/bundled/README.md +1 -1
- package/docs/bundled/extensions/provider.md +1 -1
- package/docs/bundled/extensions/question.md +1 -1
- package/docs/bundled/extensions/search.md +51 -0
- package/docs/bundled/extensions/statusline.md +15 -41
- package/docs/codemode.md +24 -4
- package/docs/compaction.md +2 -2
- package/docs/docs.json +0 -4
- package/docs/environment-variables.md +3 -1
- package/docs/extensions.md +15 -5
- package/docs/json.md +2 -2
- package/docs/keybindings.md +1 -0
- package/docs/llama-cpp.md +8 -1
- package/docs/mcp.md +1 -1
- package/docs/models.md +5 -1
- package/docs/providers.md +33 -0
- package/docs/rpc.md +6 -3
- package/docs/session-format.md +1 -0
- package/docs/settings.md +5 -5
- package/docs/terminal-setup.md +14 -0
- package/docs/themes.md +4 -2
- package/docs/tui.md +1 -1
- package/docs/usage.md +7 -3
- 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/dynamic-resources/dynamic.json +1 -1
- package/examples/extensions/gondolin/package-lock.json +2 -2
- package/examples/extensions/gondolin/package.json +1 -1
- package/examples/extensions/overlay-test.ts +2 -2
- package/examples/extensions/plan-mode/index.ts +6 -2
- package/examples/extensions/sandbox/package-lock.json +2 -2
- package/examples/extensions/sandbox/package.json +1 -1
- package/examples/extensions/with-deps/package-lock.json +2 -2
- package/examples/extensions/with-deps/package.json +1 -1
- package/npm-shrinkwrap.json +54 -102
- package/package.json +10 -20
- package/schemas/keybindings.schema.json +453 -0
- package/schemas/models.schema.json +1157 -0
- package/schemas/settings.schema.json +782 -0
- package/schemas/theme.schema.json +365 -0
- package/dist/bundle/chunks/anthropic-messages-YIOJIMVL.js +0 -6
- package/dist/bundle/chunks/chunk-57XI7YJH.js +0 -2
- package/dist/bundle/chunks/chunk-JI4WGISU.js +0 -2
- package/dist/bundle/chunks/chunk-TCQ4HHQD.js +0 -2
- package/dist/bundle/chunks/chunk-TXJO4AJ7.js +0 -11
- package/dist/bundle/chunks/cloudflare-workers-ai-system-one-OWU5SM6J.js +0 -2
- package/dist/bundle/chunks/mistral-conversations-A2N5FSOV.js +0 -5
- package/dist/bundle/chunks/openai-codex-responses-Q6JHCWLE.js +0 -10
- package/dist/bundle/chunks/typesafe-system-one-KYKKNU3E.js +0 -2
- package/dist/extensions/web-search/auth.d.ts +0 -12
- package/dist/extensions/web-search/auth.d.ts.map +0 -1
- package/dist/extensions/web-search/auth.js +0 -90
- package/dist/extensions/web-search/auth.js.map +0 -1
- package/dist/extensions/web-search/constants.d.ts +0 -13
- package/dist/extensions/web-search/constants.d.ts.map +0 -1
- package/dist/extensions/web-search/constants.js +0 -26
- package/dist/extensions/web-search/constants.js.map +0 -1
- package/dist/extensions/web-search/execute.d.ts +0 -9
- package/dist/extensions/web-search/execute.d.ts.map +0 -1
- package/dist/extensions/web-search/execute.js +0 -96
- package/dist/extensions/web-search/execute.js.map +0 -1
- package/dist/extensions/web-search/format.d.ts +0 -21
- package/dist/extensions/web-search/format.d.ts.map +0 -1
- package/dist/extensions/web-search/format.js +0 -117
- package/dist/extensions/web-search/format.js.map +0 -1
- package/dist/extensions/web-search/index.d.ts +0 -6
- package/dist/extensions/web-search/index.d.ts.map +0 -1
- package/dist/extensions/web-search/index.js +0 -50
- package/dist/extensions/web-search/index.js.map +0 -1
- package/dist/extensions/web-search/providers/deepseek.d.ts +0 -13
- package/dist/extensions/web-search/providers/deepseek.d.ts.map +0 -1
- package/dist/extensions/web-search/providers/deepseek.js +0 -110
- package/dist/extensions/web-search/providers/deepseek.js.map +0 -1
- package/dist/extensions/web-search/providers/http.d.ts +0 -4
- package/dist/extensions/web-search/providers/http.d.ts.map +0 -1
- package/dist/extensions/web-search/providers/http.js +0 -42
- package/dist/extensions/web-search/providers/http.js.map +0 -1
- package/dist/extensions/web-search/providers/minimax.d.ts +0 -12
- package/dist/extensions/web-search/providers/minimax.d.ts.map +0 -1
- package/dist/extensions/web-search/providers/minimax.js +0 -61
- package/dist/extensions/web-search/providers/minimax.js.map +0 -1
- package/dist/extensions/web-search/render.d.ts +0 -15
- package/dist/extensions/web-search/render.d.ts.map +0 -1
- package/dist/extensions/web-search/render.js +0 -142
- package/dist/extensions/web-search/render.js.map +0 -1
- package/dist/extensions/web-search/results.d.ts +0 -35
- package/dist/extensions/web-search/results.d.ts.map +0 -1
- package/dist/extensions/web-search/results.js +0 -167
- package/dist/extensions/web-search/results.js.map +0 -1
- package/dist/extensions/web-search/schema.d.ts +0 -10
- package/dist/extensions/web-search/schema.d.ts.map +0 -1
- package/dist/extensions/web-search/schema.js +0 -36
- package/dist/extensions/web-search/schema.js.map +0 -1
- package/dist/extensions/web-search/types.d.ts +0 -51
- package/dist/extensions/web-search/types.d.ts.map +0 -1
- package/dist/extensions/web-search/types.js +0 -5
- package/dist/extensions/web-search/types.js.map +0 -1
- package/dist/modes/interactive/theme/theme-json.d.ts +0 -85
- package/dist/modes/interactive/theme/theme-json.d.ts.map +0 -1
- package/dist/modes/interactive/theme/theme-json.js +0 -132
- package/dist/modes/interactive/theme/theme-json.js.map +0 -1
- package/dist/modes/interactive/theme/theme-schema.json +0 -361
- package/docs/bundled/extensions/web-search.md +0 -46
- package/examples/plugins/pi-example-plugin/README.md +0 -38
- package/examples/plugins/pi-example-plugin/package.json +0 -10
- package/examples/plugins/pi-example-plugin/src/contract.ts +0 -13
- package/examples/plugins/pi-example-plugin/src/session.ts +0 -24
- package/examples/plugins/pi-example-plugin/src/tui.ts +0 -31
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { DEFAULT_MAX_AGENT_RETRY_DELAY_MS } from "@earendil-works/pi-ai";
|
|
2
1
|
import { randomUUID } from "crypto";
|
|
3
2
|
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
|
|
4
3
|
import { dirname, join } from "path";
|
|
@@ -8,12 +7,13 @@ import { normalizePath, resolvePath } from "../utils/paths.js";
|
|
|
8
7
|
import { stripBom } from "../utils/text.js";
|
|
9
8
|
import { clampTriggerPercent, DEFAULT_TRIGGER_PERCENT, triggerPercentBudget } from "./compaction/settings.js";
|
|
10
9
|
import { DEFAULT_HTTP_IDLE_TIMEOUT_MS, parseHttpIdleTimeoutMs } from "./http-dispatcher.js";
|
|
11
|
-
|
|
12
|
-
reserveTokens: 16384,
|
|
13
|
-
keepRecentTokens: 20000,
|
|
14
|
-
};
|
|
10
|
+
import { SETTINGS_DEFAULTS } from "./settings-defaults.js";
|
|
15
11
|
/** Cache-warming profile. "idle" also warms between agent runs. */
|
|
16
12
|
export const CACHE_WARMING_MODES = ["off", "streaming", "idle"];
|
|
13
|
+
const DEFAULT_COMPACTION_TOKEN_SETTINGS = {
|
|
14
|
+
reserveTokens: SETTINGS_DEFAULTS.compaction.reserveTokens,
|
|
15
|
+
keepRecentTokens: SETTINGS_DEFAULTS.compaction.keepRecentTokens,
|
|
16
|
+
};
|
|
17
17
|
function isMergeableObject(value) {
|
|
18
18
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
19
19
|
}
|
|
@@ -34,9 +34,44 @@ function deepMergeObjects(base, overrides) {
|
|
|
34
34
|
}
|
|
35
35
|
/** Tools enabled at startup when `defaultTools` does not change them. */
|
|
36
36
|
export const DEFAULT_TOOL_NAMES = ["read", "bash", "edit", "write"];
|
|
37
|
-
|
|
37
|
+
/** Whether a tool selection entry is a `+name` or `-name` modifier. */
|
|
38
|
+
export function isToolModifier(entry) {
|
|
38
39
|
return typeof entry === "string" && (entry.startsWith("+") || entry.startsWith("-"));
|
|
39
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* Validate a tool list from `--tools` or the SDK `tools` option. It is either an allowlist of plain
|
|
43
|
+
* names and patterns or a list of only `+name`/`-name` entries with exact names. Returns the
|
|
44
|
+
* problem, or undefined when the list is valid.
|
|
45
|
+
*/
|
|
46
|
+
export function getToolListError(entries) {
|
|
47
|
+
const modifiers = entries.filter(isToolModifier);
|
|
48
|
+
if (modifiers.length === 0)
|
|
49
|
+
return undefined;
|
|
50
|
+
if (modifiers.length < entries.length)
|
|
51
|
+
return "tool names cannot be mixed with +name or -name entries";
|
|
52
|
+
const pattern = modifiers.find((entry) => entry.includes("*"));
|
|
53
|
+
if (pattern)
|
|
54
|
+
return `+name and -name entries take exact tool names, not patterns: ${pattern}`;
|
|
55
|
+
return undefined;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Apply the `+name` and `-name` entries of `entries` to `base` in order: `+name` adds a tool and
|
|
59
|
+
* `-name` removes one. Other entries are ignored.
|
|
60
|
+
*/
|
|
61
|
+
export function applyToolModifiers(base, entries) {
|
|
62
|
+
const tools = [...base];
|
|
63
|
+
for (const entry of entries) {
|
|
64
|
+
if (!isToolModifier(entry))
|
|
65
|
+
continue;
|
|
66
|
+
const name = entry.slice(1);
|
|
67
|
+
const index = tools.indexOf(name);
|
|
68
|
+
if (entry.startsWith("+") && index === -1 && name)
|
|
69
|
+
tools.push(name);
|
|
70
|
+
else if (entry.startsWith("-") && index !== -1)
|
|
71
|
+
tools.splice(index, 1);
|
|
72
|
+
}
|
|
73
|
+
return tools;
|
|
74
|
+
}
|
|
40
75
|
/**
|
|
41
76
|
* Merge `defaultTools` of two settings layers. A list with plain tool names replaces the inherited
|
|
42
77
|
* one; a list of only `+name`/`-name` entries is appended, so it modifies the inherited selection.
|
|
@@ -55,18 +90,7 @@ function mergeDefaultTools(base, overrides) {
|
|
|
55
90
|
*/
|
|
56
91
|
function resolveDefaultTools(entries) {
|
|
57
92
|
const plain = entries.filter((entry) => !isToolModifier(entry));
|
|
58
|
-
|
|
59
|
-
for (const entry of entries) {
|
|
60
|
-
if (!isToolModifier(entry))
|
|
61
|
-
continue;
|
|
62
|
-
const name = entry.slice(1);
|
|
63
|
-
const index = tools.indexOf(name);
|
|
64
|
-
if (entry.startsWith("+") && index === -1 && name)
|
|
65
|
-
tools.push(name);
|
|
66
|
-
else if (entry.startsWith("-") && index !== -1)
|
|
67
|
-
tools.splice(index, 1);
|
|
68
|
-
}
|
|
69
|
-
return tools;
|
|
93
|
+
return applyToolModifiers(plain.length > 0 || entries.length === 0 ? plain : DEFAULT_TOOL_NAMES, entries);
|
|
70
94
|
}
|
|
71
95
|
/** Deep merge settings: project/overrides take precedence, nested objects merge recursively */
|
|
72
96
|
function deepMergeSettings(base, overrides) {
|
|
@@ -550,7 +574,7 @@ export class SettingsManager {
|
|
|
550
574
|
this.save();
|
|
551
575
|
}
|
|
552
576
|
getSteeringMode() {
|
|
553
|
-
return this.settings.steeringMode ||
|
|
577
|
+
return this.settings.steeringMode || SETTINGS_DEFAULTS.steeringMode;
|
|
554
578
|
}
|
|
555
579
|
setSteeringMode(mode) {
|
|
556
580
|
this.globalSettings.steeringMode = mode;
|
|
@@ -558,7 +582,7 @@ export class SettingsManager {
|
|
|
558
582
|
this.save();
|
|
559
583
|
}
|
|
560
584
|
getFollowUpMode() {
|
|
561
|
-
return this.settings.followUpMode ||
|
|
585
|
+
return this.settings.followUpMode || SETTINGS_DEFAULTS.followUpMode;
|
|
562
586
|
}
|
|
563
587
|
setFollowUpMode(mode) {
|
|
564
588
|
this.globalSettings.followUpMode = mode;
|
|
@@ -613,7 +637,7 @@ export class SettingsManager {
|
|
|
613
637
|
this.save();
|
|
614
638
|
}
|
|
615
639
|
getTransport() {
|
|
616
|
-
return this.settings.transport ??
|
|
640
|
+
return this.settings.transport ?? SETTINGS_DEFAULTS.transport;
|
|
617
641
|
}
|
|
618
642
|
setTransport(transport) {
|
|
619
643
|
this.globalSettings.transport = transport;
|
|
@@ -621,7 +645,7 @@ export class SettingsManager {
|
|
|
621
645
|
this.save();
|
|
622
646
|
}
|
|
623
647
|
getCompactionEnabled() {
|
|
624
|
-
return this.settings.compaction?.enabled ??
|
|
648
|
+
return this.settings.compaction?.enabled ?? SETTINGS_DEFAULTS.compaction.enabled;
|
|
625
649
|
}
|
|
626
650
|
setCompactionEnabled(enabled) {
|
|
627
651
|
if (!this.globalSettings.compaction) {
|
|
@@ -685,15 +709,15 @@ export class SettingsManager {
|
|
|
685
709
|
}
|
|
686
710
|
getBranchSummarySettings() {
|
|
687
711
|
return {
|
|
688
|
-
reserveTokens: this.settings.branchSummary?.reserveTokens ??
|
|
689
|
-
skipPrompt: this.settings.branchSummary?.skipPrompt ??
|
|
712
|
+
reserveTokens: this.settings.branchSummary?.reserveTokens ?? SETTINGS_DEFAULTS.branchSummary.reserveTokens,
|
|
713
|
+
skipPrompt: this.settings.branchSummary?.skipPrompt ?? SETTINGS_DEFAULTS.branchSummary.skipPrompt,
|
|
690
714
|
};
|
|
691
715
|
}
|
|
692
716
|
getBranchSummarySkipPrompt() {
|
|
693
|
-
return this.settings.branchSummary?.skipPrompt ??
|
|
717
|
+
return this.settings.branchSummary?.skipPrompt ?? SETTINGS_DEFAULTS.branchSummary.skipPrompt;
|
|
694
718
|
}
|
|
695
719
|
getRetryEnabled() {
|
|
696
|
-
return this.settings.retry?.enabled ??
|
|
720
|
+
return this.settings.retry?.enabled ?? SETTINGS_DEFAULTS.retry.enabled;
|
|
697
721
|
}
|
|
698
722
|
setRetryEnabled(enabled) {
|
|
699
723
|
if (!this.globalSettings.retry) {
|
|
@@ -706,9 +730,9 @@ export class SettingsManager {
|
|
|
706
730
|
getRetrySettings() {
|
|
707
731
|
return {
|
|
708
732
|
enabled: this.getRetryEnabled(),
|
|
709
|
-
maxRetries: this.settings.retry?.maxRetries ??
|
|
710
|
-
baseDelayMs: this.settings.retry?.baseDelayMs ??
|
|
711
|
-
maxAgentDelayMs: this.settings.retry?.maxAgentDelayMs ??
|
|
733
|
+
maxRetries: this.settings.retry?.maxRetries ?? SETTINGS_DEFAULTS.retry.maxRetries,
|
|
734
|
+
baseDelayMs: this.settings.retry?.baseDelayMs ?? SETTINGS_DEFAULTS.retry.baseDelayMs,
|
|
735
|
+
maxAgentDelayMs: this.settings.retry?.maxAgentDelayMs ?? SETTINGS_DEFAULTS.retry.maxAgentDelayMs,
|
|
712
736
|
};
|
|
713
737
|
}
|
|
714
738
|
getHttpIdleTimeoutMs() {
|
|
@@ -725,7 +749,7 @@ export class SettingsManager {
|
|
|
725
749
|
/** Read from global settings only because warming costs money. */
|
|
726
750
|
getCacheWarmingMode() {
|
|
727
751
|
const mode = this.globalSettings.cacheWarming;
|
|
728
|
-
return mode !== undefined && CACHE_WARMING_MODES.includes(mode) ? mode :
|
|
752
|
+
return mode !== undefined && CACHE_WARMING_MODES.includes(mode) ? mode : SETTINGS_DEFAULTS.cacheWarming;
|
|
729
753
|
}
|
|
730
754
|
setCacheWarmingMode(mode) {
|
|
731
755
|
this.globalSettings.cacheWarming = mode;
|
|
@@ -736,17 +760,17 @@ export class SettingsManager {
|
|
|
736
760
|
return {
|
|
737
761
|
timeoutMs: this.settings.retry?.provider?.timeoutMs,
|
|
738
762
|
maxRetries: this.settings.retry?.provider?.maxRetries,
|
|
739
|
-
maxRetryDelayMs: this.settings.retry?.provider?.maxRetryDelayMs ??
|
|
763
|
+
maxRetryDelayMs: this.settings.retry?.provider?.maxRetryDelayMs ?? SETTINGS_DEFAULTS.retry.provider.maxRetryDelayMs,
|
|
740
764
|
};
|
|
741
765
|
}
|
|
742
766
|
getWebSocketConnectTimeoutMs() {
|
|
743
767
|
return parseTimeoutSetting(this.settings.websocketConnectTimeoutMs, "websocketConnectTimeoutMs");
|
|
744
768
|
}
|
|
745
769
|
getHideThinkingBlock() {
|
|
746
|
-
return this.settings.hideThinkingBlock ??
|
|
770
|
+
return this.settings.hideThinkingBlock ?? SETTINGS_DEFAULTS.hideThinkingBlock;
|
|
747
771
|
}
|
|
748
772
|
getShowCacheMissNotices() {
|
|
749
|
-
return this.settings.showCacheMissNotices ??
|
|
773
|
+
return this.settings.showCacheMissNotices ?? SETTINGS_DEFAULTS.showCacheMissNotices;
|
|
750
774
|
}
|
|
751
775
|
getExternalEditorCommand() {
|
|
752
776
|
const configuredEditor = this.settings.externalEditor;
|
|
@@ -780,7 +804,7 @@ export class SettingsManager {
|
|
|
780
804
|
}
|
|
781
805
|
getQuietStartup() {
|
|
782
806
|
const value = this.settings.quietStartup;
|
|
783
|
-
return value === true || value === "header" ? value :
|
|
807
|
+
return value === true || value === "header" ? value : SETTINGS_DEFAULTS.quietStartup;
|
|
784
808
|
}
|
|
785
809
|
setQuietStartup(quiet) {
|
|
786
810
|
this.globalSettings.quietStartup = quiet;
|
|
@@ -789,7 +813,7 @@ export class SettingsManager {
|
|
|
789
813
|
}
|
|
790
814
|
getDefaultProjectTrust() {
|
|
791
815
|
const value = this.globalSettings.defaultProjectTrust;
|
|
792
|
-
return value === "always" || value === "never" ? value :
|
|
816
|
+
return value === "always" || value === "never" ? value : SETTINGS_DEFAULTS.defaultProjectTrust;
|
|
793
817
|
}
|
|
794
818
|
setDefaultProjectTrust(defaultProjectTrust) {
|
|
795
819
|
this.globalSettings.defaultProjectTrust = defaultProjectTrust;
|
|
@@ -813,7 +837,7 @@ export class SettingsManager {
|
|
|
813
837
|
this.save();
|
|
814
838
|
}
|
|
815
839
|
getCollapseChangelog() {
|
|
816
|
-
return this.settings.collapseChangelog ??
|
|
840
|
+
return this.settings.collapseChangelog ?? SETTINGS_DEFAULTS.collapseChangelog;
|
|
817
841
|
}
|
|
818
842
|
setCollapseChangelog(collapse) {
|
|
819
843
|
this.globalSettings.collapseChangelog = collapse;
|
|
@@ -821,7 +845,7 @@ export class SettingsManager {
|
|
|
821
845
|
this.save();
|
|
822
846
|
}
|
|
823
847
|
getEnableInstallTelemetry() {
|
|
824
|
-
return this.settings.enableInstallTelemetry ??
|
|
848
|
+
return this.settings.enableInstallTelemetry ?? SETTINGS_DEFAULTS.enableInstallTelemetry;
|
|
825
849
|
}
|
|
826
850
|
setEnableInstallTelemetry(enabled) {
|
|
827
851
|
this.globalSettings.enableInstallTelemetry = enabled;
|
|
@@ -829,7 +853,7 @@ export class SettingsManager {
|
|
|
829
853
|
this.save();
|
|
830
854
|
}
|
|
831
855
|
getEnableAnalytics() {
|
|
832
|
-
return this.settings.enableAnalytics ??
|
|
856
|
+
return this.settings.enableAnalytics ?? SETTINGS_DEFAULTS.enableAnalytics;
|
|
833
857
|
}
|
|
834
858
|
getTrackingId() {
|
|
835
859
|
return this.settings.trackingId;
|
|
@@ -923,7 +947,7 @@ export class SettingsManager {
|
|
|
923
947
|
});
|
|
924
948
|
}
|
|
925
949
|
getEnableSkillCommands() {
|
|
926
|
-
return this.settings.enableSkillCommands ??
|
|
950
|
+
return this.settings.enableSkillCommands ?? SETTINGS_DEFAULTS.enableSkillCommands;
|
|
927
951
|
}
|
|
928
952
|
setEnableSkillCommands(enabled) {
|
|
929
953
|
this.globalSettings.enableSkillCommands = enabled;
|
|
@@ -943,7 +967,7 @@ export class SettingsManager {
|
|
|
943
967
|
};
|
|
944
968
|
}
|
|
945
969
|
getShowImages() {
|
|
946
|
-
return this.settings.terminal?.showImages ??
|
|
970
|
+
return this.settings.terminal?.showImages ?? SETTINGS_DEFAULTS.terminal.showImages;
|
|
947
971
|
}
|
|
948
972
|
setShowImages(show) {
|
|
949
973
|
if (!this.globalSettings.terminal) {
|
|
@@ -956,7 +980,7 @@ export class SettingsManager {
|
|
|
956
980
|
getImageWidthCells() {
|
|
957
981
|
const width = this.settings.terminal?.imageWidthCells;
|
|
958
982
|
if (typeof width !== "number" || !Number.isFinite(width)) {
|
|
959
|
-
return
|
|
983
|
+
return SETTINGS_DEFAULTS.terminal.imageWidthCells;
|
|
960
984
|
}
|
|
961
985
|
return Math.max(1, Math.floor(width));
|
|
962
986
|
}
|
|
@@ -973,7 +997,9 @@ export class SettingsManager {
|
|
|
973
997
|
if (this.settings.terminal?.clearOnShrink !== undefined) {
|
|
974
998
|
return this.settings.terminal.clearOnShrink;
|
|
975
999
|
}
|
|
976
|
-
|
|
1000
|
+
if (process.env.PI_CLEAR_ON_SHRINK === "1")
|
|
1001
|
+
return true;
|
|
1002
|
+
return SETTINGS_DEFAULTS.terminal.clearOnShrink;
|
|
977
1003
|
}
|
|
978
1004
|
setClearOnShrink(enabled) {
|
|
979
1005
|
if (!this.globalSettings.terminal) {
|
|
@@ -984,7 +1010,7 @@ export class SettingsManager {
|
|
|
984
1010
|
this.save();
|
|
985
1011
|
}
|
|
986
1012
|
getShowTerminalProgress() {
|
|
987
|
-
return this.settings.terminal?.showTerminalProgress ??
|
|
1013
|
+
return this.settings.terminal?.showTerminalProgress ?? SETTINGS_DEFAULTS.terminal.showTerminalProgress;
|
|
988
1014
|
}
|
|
989
1015
|
setShowTerminalProgress(enabled) {
|
|
990
1016
|
if (!this.globalSettings.terminal) {
|
|
@@ -995,7 +1021,7 @@ export class SettingsManager {
|
|
|
995
1021
|
this.save();
|
|
996
1022
|
}
|
|
997
1023
|
getTuiMode() {
|
|
998
|
-
return this.settings.tuiMode === "regular" ? "regular" :
|
|
1024
|
+
return this.settings.tuiMode === "regular" ? "regular" : SETTINGS_DEFAULTS.tuiMode;
|
|
999
1025
|
}
|
|
1000
1026
|
setTuiMode(mode) {
|
|
1001
1027
|
this.globalSettings.tuiMode = mode;
|
|
@@ -1003,7 +1029,9 @@ export class SettingsManager {
|
|
|
1003
1029
|
this.save();
|
|
1004
1030
|
}
|
|
1005
1031
|
getFullscreenExitOutput() {
|
|
1006
|
-
return this.settings.fullscreenExitOutput === "resume-hint"
|
|
1032
|
+
return this.settings.fullscreenExitOutput === "resume-hint"
|
|
1033
|
+
? "resume-hint"
|
|
1034
|
+
: SETTINGS_DEFAULTS.fullscreenExitOutput;
|
|
1007
1035
|
}
|
|
1008
1036
|
setFullscreenExitOutput(output) {
|
|
1009
1037
|
this.globalSettings.fullscreenExitOutput = output;
|
|
@@ -1012,7 +1040,7 @@ export class SettingsManager {
|
|
|
1012
1040
|
}
|
|
1013
1041
|
getFullscreenScrollbar() {
|
|
1014
1042
|
const mode = this.settings.fullscreenScrollbar;
|
|
1015
|
-
return mode === "always" || mode === "hidden" ? mode :
|
|
1043
|
+
return mode === "always" || mode === "hidden" ? mode : SETTINGS_DEFAULTS.fullscreenScrollbar;
|
|
1016
1044
|
}
|
|
1017
1045
|
setFullscreenScrollbar(mode) {
|
|
1018
1046
|
this.globalSettings.fullscreenScrollbar = mode;
|
|
@@ -1020,7 +1048,7 @@ export class SettingsManager {
|
|
|
1020
1048
|
this.save();
|
|
1021
1049
|
}
|
|
1022
1050
|
getFullscreenCopyOnSelect() {
|
|
1023
|
-
return this.settings.fullscreenCopyOnSelect ??
|
|
1051
|
+
return this.settings.fullscreenCopyOnSelect ?? SETTINGS_DEFAULTS.fullscreenCopyOnSelect;
|
|
1024
1052
|
}
|
|
1025
1053
|
setFullscreenCopyOnSelect(enabled) {
|
|
1026
1054
|
this.globalSettings.fullscreenCopyOnSelect = enabled;
|
|
@@ -1031,7 +1059,7 @@ export class SettingsManager {
|
|
|
1031
1059
|
const lines = this.settings.fullscreenWheelScrollLines;
|
|
1032
1060
|
return typeof lines === "number" && Number.isFinite(lines)
|
|
1033
1061
|
? Math.max(1, Math.min(100, Math.floor(lines)))
|
|
1034
|
-
:
|
|
1062
|
+
: SETTINGS_DEFAULTS.fullscreenWheelScrollLines;
|
|
1035
1063
|
}
|
|
1036
1064
|
setFullscreenWheelScrollLines(lines) {
|
|
1037
1065
|
this.globalSettings.fullscreenWheelScrollLines =
|
|
@@ -1040,7 +1068,7 @@ export class SettingsManager {
|
|
|
1040
1068
|
this.save();
|
|
1041
1069
|
}
|
|
1042
1070
|
getImageAutoResize() {
|
|
1043
|
-
return this.settings.images?.autoResize ??
|
|
1071
|
+
return this.settings.images?.autoResize ?? SETTINGS_DEFAULTS.images.autoResize;
|
|
1044
1072
|
}
|
|
1045
1073
|
setImageAutoResize(enabled) {
|
|
1046
1074
|
if (!this.globalSettings.images) {
|
|
@@ -1051,7 +1079,7 @@ export class SettingsManager {
|
|
|
1051
1079
|
this.save();
|
|
1052
1080
|
}
|
|
1053
1081
|
getBlockImages() {
|
|
1054
|
-
return this.settings.images?.blockImages ??
|
|
1082
|
+
return this.settings.images?.blockImages ?? SETTINGS_DEFAULTS.images.blockImages;
|
|
1055
1083
|
}
|
|
1056
1084
|
setBlockImages(blocked) {
|
|
1057
1085
|
if (!this.globalSettings.images) {
|
|
@@ -1077,7 +1105,7 @@ export class SettingsManager {
|
|
|
1077
1105
|
this.save();
|
|
1078
1106
|
}
|
|
1079
1107
|
getDoubleEscapeAction() {
|
|
1080
|
-
return this.settings.doubleEscapeAction ??
|
|
1108
|
+
return this.settings.doubleEscapeAction ?? SETTINGS_DEFAULTS.doubleEscapeAction;
|
|
1081
1109
|
}
|
|
1082
1110
|
setDoubleEscapeAction(action) {
|
|
1083
1111
|
this.globalSettings.doubleEscapeAction = action;
|
|
@@ -1087,7 +1115,7 @@ export class SettingsManager {
|
|
|
1087
1115
|
getTreeFilterMode() {
|
|
1088
1116
|
const mode = this.settings.treeFilterMode;
|
|
1089
1117
|
const valid = ["default", "no-tools", "user-only", "labeled-only", "all"];
|
|
1090
|
-
return mode && valid.includes(mode) ? mode :
|
|
1118
|
+
return mode && valid.includes(mode) ? mode : SETTINGS_DEFAULTS.treeFilterMode;
|
|
1091
1119
|
}
|
|
1092
1120
|
setTreeFilterMode(mode) {
|
|
1093
1121
|
this.globalSettings.treeFilterMode = mode;
|
|
@@ -1103,7 +1131,7 @@ export class SettingsManager {
|
|
|
1103
1131
|
this.save();
|
|
1104
1132
|
}
|
|
1105
1133
|
getEditorPaddingX() {
|
|
1106
|
-
return this.settings.editorPaddingX ??
|
|
1134
|
+
return this.settings.editorPaddingX ?? SETTINGS_DEFAULTS.editorPaddingX;
|
|
1107
1135
|
}
|
|
1108
1136
|
setEditorPaddingX(padding) {
|
|
1109
1137
|
this.globalSettings.editorPaddingX = Math.max(0, Math.min(3, Math.floor(padding)));
|
|
@@ -1111,7 +1139,7 @@ export class SettingsManager {
|
|
|
1111
1139
|
this.save();
|
|
1112
1140
|
}
|
|
1113
1141
|
getOutputPad() {
|
|
1114
|
-
return this.settings.outputPad === 0 ? 0 :
|
|
1142
|
+
return this.settings.outputPad === 0 ? 0 : SETTINGS_DEFAULTS.outputPad;
|
|
1115
1143
|
}
|
|
1116
1144
|
setOutputPad(padding) {
|
|
1117
1145
|
this.globalSettings.outputPad = padding;
|
|
@@ -1119,7 +1147,7 @@ export class SettingsManager {
|
|
|
1119
1147
|
this.save();
|
|
1120
1148
|
}
|
|
1121
1149
|
getAutocompleteMaxVisible() {
|
|
1122
|
-
return this.settings.autocompleteMaxVisible ??
|
|
1150
|
+
return this.settings.autocompleteMaxVisible ?? SETTINGS_DEFAULTS.autocompleteMaxVisible;
|
|
1123
1151
|
}
|
|
1124
1152
|
setAutocompleteMaxVisible(maxVisible) {
|
|
1125
1153
|
this.globalSettings.autocompleteMaxVisible = Math.max(3, Math.min(20, Math.floor(maxVisible)));
|
|
@@ -1127,11 +1155,11 @@ export class SettingsManager {
|
|
|
1127
1155
|
this.save();
|
|
1128
1156
|
}
|
|
1129
1157
|
getCodeBlockIndent() {
|
|
1130
|
-
return this.settings.markdown?.codeBlockIndent ??
|
|
1158
|
+
return this.settings.markdown?.codeBlockIndent ?? SETTINGS_DEFAULTS.markdown.codeBlockIndent;
|
|
1131
1159
|
}
|
|
1132
1160
|
getMermaidRenderingMode() {
|
|
1133
1161
|
const mode = this.settings.markdown?.mermaid;
|
|
1134
|
-
return mode === "off" || mode === "final" ? mode :
|
|
1162
|
+
return mode === "off" || mode === "final" ? mode : SETTINGS_DEFAULTS.markdown.mermaid;
|
|
1135
1163
|
}
|
|
1136
1164
|
setMermaidRenderingMode(mode) {
|
|
1137
1165
|
this.globalSettings.markdown ??= {};
|