@oh-my-pi/pi-coding-agent 17.0.9 → 17.1.1
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 +78 -0
- package/README.md +1 -1
- package/dist/cli.js +4685 -4614
- package/dist/types/async/job-manager.d.ts +37 -1
- package/dist/types/cli/args.d.ts +2 -0
- package/dist/types/cli/bench-cli.d.ts +41 -0
- package/dist/types/commands/bench.d.ts +15 -3
- package/dist/types/commands/launch.d.ts +4 -0
- package/dist/types/config/model-registry.d.ts +3 -1
- package/dist/types/config/models-config-schema.d.ts +18 -6
- package/dist/types/config/models-config.d.ts +14 -5
- package/dist/types/config/provider-globals.d.ts +2 -2
- package/dist/types/config/service-tier.d.ts +5 -1
- package/dist/types/config/settings-schema.d.ts +374 -47
- package/dist/types/config/settings.d.ts +7 -0
- package/dist/types/dap/client.d.ts +20 -0
- package/dist/types/exec/bash-executor.d.ts +38 -0
- package/dist/types/exec/direnv.d.ts +33 -0
- package/dist/types/export/html/args.d.ts +15 -0
- package/dist/types/export/html/index.d.ts +11 -26
- package/dist/types/export/html/web-palette.d.ts +55 -116
- package/dist/types/extensibility/extensions/loader.d.ts +3 -0
- package/dist/types/extensibility/extensions/types.d.ts +17 -2
- package/dist/types/extensibility/legacy-pi-coding-agent-shim.d.ts +3 -0
- package/dist/types/extensibility/plugins/legacy-pi-compat.d.ts +13 -0
- package/dist/types/live/attestation.d.ts +2 -0
- package/dist/types/live/controller.d.ts +48 -0
- package/dist/types/live/protocol.d.ts +85 -0
- package/dist/types/live/protocol.test.d.ts +1 -0
- package/dist/types/live/transport.d.ts +35 -0
- package/dist/types/live/visualizer.d.ts +30 -0
- package/dist/types/lsp/client.d.ts +16 -1
- package/dist/types/mcp/config-writer.test.d.ts +1 -0
- package/dist/types/mcp/oauth-discovery.d.ts +2 -0
- package/dist/types/mcp/smithery-auth.d.ts +1 -1
- package/dist/types/mcp/smithery-auth.test.d.ts +1 -0
- package/dist/types/memory-backend/tool-names.d.ts +2 -0
- package/dist/types/modes/components/assistant-message.d.ts +1 -0
- package/dist/types/modes/components/custom-message.d.ts +1 -1
- package/dist/types/modes/components/login-dialog.d.ts +2 -2
- package/dist/types/modes/components/message-frame.d.ts +8 -4
- package/dist/types/modes/components/plan-review-overlay.d.ts +26 -0
- package/dist/types/modes/components/session-account-selector.d.ts +11 -0
- package/dist/types/modes/components/settings-defs.d.ts +7 -1
- package/dist/types/modes/components/status-line/component.jj-cache.test.d.ts +1 -0
- package/dist/types/modes/components/tool-execution.d.ts +9 -1
- package/dist/types/modes/controllers/command-controller.d.ts +1 -1
- package/dist/types/modes/controllers/event-controller.d.ts +6 -1
- package/dist/types/modes/controllers/live-command-controller.d.ts +14 -0
- package/dist/types/modes/controllers/selector-controller.d.ts +1 -0
- package/dist/types/modes/interactive-mode.d.ts +6 -0
- package/dist/types/modes/theme/theme.d.ts +1 -1
- package/dist/types/modes/types.d.ts +4 -1
- package/dist/types/modes/utils/context-usage.d.ts +12 -2
- package/dist/types/plan-mode/plan-files.d.ts +10 -0
- package/dist/types/registry/agent-lifecycle.d.ts +21 -9
- package/dist/types/registry/agent-registry.d.ts +11 -4
- package/dist/types/sdk.d.ts +15 -1
- package/dist/types/secrets/index.d.ts +15 -2
- package/dist/types/secrets/obfuscator.d.ts +113 -15
- package/dist/types/session/acp-permission-gate.d.ts +19 -0
- package/dist/types/session/agent-session-events.d.ts +84 -0
- package/dist/types/session/agent-session-types.d.ts +321 -0
- package/dist/types/session/agent-session.d.ts +135 -753
- package/dist/types/session/async-job-delivery.d.ts +28 -0
- package/dist/types/session/auth-storage.d.ts +1 -1
- package/dist/types/session/bash-runner.d.ts +75 -0
- package/dist/types/session/blob-store.d.ts +11 -1
- package/dist/types/session/blob-store.test.d.ts +1 -0
- package/dist/types/session/checkpoint-entries.d.ts +28 -0
- package/dist/types/session/eval-runner.d.ts +51 -0
- package/dist/types/session/irc-bridge.d.ts +46 -0
- package/dist/types/session/messages.d.ts +24 -0
- package/dist/types/session/model-controls.d.ts +180 -0
- package/dist/types/session/prewalk.d.ts +46 -0
- package/dist/types/session/queued-messages.d.ts +22 -0
- package/dist/types/session/redis-session-storage.d.ts +1 -0
- package/dist/types/session/retry-fallback-chains.d.ts +74 -0
- package/dist/types/session/role-models.d.ts +15 -0
- package/dist/types/session/session-advisors.d.ts +228 -0
- package/dist/types/session/session-entries.d.ts +8 -0
- package/dist/types/session/session-handoff.d.ts +70 -0
- package/dist/types/session/session-history-format.d.ts +6 -1
- package/dist/types/session/session-maintenance.d.ts +246 -0
- package/dist/types/session/session-manager.d.ts +41 -0
- package/dist/types/session/session-memory.d.ts +56 -0
- package/dist/types/session/session-provider-boundary.d.ts +62 -0
- package/dist/types/session/session-stats.d.ts +48 -0
- package/dist/types/session/session-tools.d.ts +158 -0
- package/dist/types/session/session-workspace.d.ts +32 -0
- package/dist/types/session/stream-guards.d.ts +44 -0
- package/dist/types/session/streaming-output.d.ts +8 -0
- package/dist/types/session/todo-tracker.d.ts +56 -0
- package/dist/types/session/ttsr-coordinator.d.ts +51 -0
- package/dist/types/session/turn-recovery.d.ts +225 -0
- package/dist/types/slash-commands/helpers/session-pin.d.ts +9 -0
- package/dist/types/stt/index.d.ts +0 -2
- package/dist/types/stt/stt-controller.d.ts +7 -0
- package/dist/types/system-prompt.d.ts +2 -0
- package/dist/types/task/executor.d.ts +4 -1
- package/dist/types/task/output-manager.d.ts +3 -1
- package/dist/types/tiny/title-client.d.ts +10 -0
- package/dist/types/tools/approval.d.ts +1 -0
- package/dist/types/tools/browser/launch.d.ts +5 -0
- package/dist/types/tools/builtin-names.d.ts +1 -1
- package/dist/types/tools/computer/protocol.d.ts +43 -0
- package/dist/types/tools/computer/supervisor.d.ts +32 -0
- package/dist/types/tools/computer/worker-entry.d.ts +1 -0
- package/dist/types/tools/computer/worker.d.ts +15 -0
- package/dist/types/tools/computer-renderer.d.ts +22 -0
- package/dist/types/tools/computer.d.ts +71 -0
- package/dist/types/tools/context.d.ts +2 -0
- package/dist/types/tools/default-renderer.d.ts +21 -0
- package/dist/types/tools/image-gen.d.ts +4 -4
- package/dist/types/tools/image-providers.d.ts +38 -0
- package/dist/types/tools/index.d.ts +7 -0
- package/dist/types/tools/path-utils.d.ts +8 -0
- package/dist/types/tools/todo.d.ts +10 -4
- package/dist/types/tools/xdev.d.ts +5 -1
- package/dist/types/tts/streaming-player.d.ts +10 -29
- package/dist/types/tts/vocalizer.d.ts +5 -0
- package/dist/types/utils/jj.d.ts +29 -0
- package/dist/types/utils/lang-from-path.d.ts +1 -0
- package/dist/types/utils/title-generator.d.ts +30 -0
- package/dist/types/utils/tools-manager.d.ts +1 -2
- package/dist/types/vibe/runtime.d.ts +36 -8
- package/dist/types/web/search/index.d.ts +1 -1
- package/dist/types/web/search/provider.d.ts +15 -5
- package/dist/types/web/search/types.d.ts +94 -0
- package/package.json +12 -12
- package/scripts/generate-share-viewer.ts +4 -6
- package/src/advisor/__tests__/advisor.test.ts +643 -0
- package/src/advisor/runtime.ts +144 -43
- package/src/async/job-manager.ts +90 -2
- package/src/cli/args.ts +3 -0
- package/src/cli/auth-gateway-cli.ts +18 -3
- package/src/cli/bench-cli.ts +395 -29
- package/src/cli/flag-tables.ts +3 -0
- package/src/cli/gc-cli.ts +2 -2
- package/src/cli/setup-cli.ts +2 -14
- package/src/cli/usage-cli.ts +10 -1
- package/src/cli.ts +8 -0
- package/src/collab/host.ts +3 -2
- package/src/commands/bench.ts +18 -4
- package/src/commands/launch.ts +4 -0
- package/src/config/model-registry.ts +16 -2
- package/src/config/models-config-schema.ts +15 -4
- package/src/config/provider-globals.ts +9 -9
- package/src/config/service-tier.ts +26 -1
- package/src/config/settings-schema.ts +270 -51
- package/src/config/settings.ts +81 -2
- package/src/dap/client.ts +37 -4
- package/src/edit/index.ts +49 -12
- package/src/eval/executor-base.ts +1 -0
- package/src/eval/js/executor.ts +2 -0
- package/src/eval/py/executor.ts +103 -33
- package/src/exec/bash-executor.ts +90 -6
- package/src/exec/direnv.ts +145 -0
- package/src/export/html/args.ts +20 -0
- package/src/export/html/index.ts +45 -47
- package/src/export/html/template.css +19 -1
- package/src/export/html/template.html +6 -0
- package/src/export/html/template.js +21 -0
- package/src/export/html/tool-views.generated.js +31 -31
- package/src/export/html/web-palette.ts +116 -132
- package/src/export/share.ts +249 -49
- package/src/extensibility/extensions/loader.ts +29 -1
- package/src/extensibility/extensions/runner.ts +6 -0
- package/src/extensibility/extensions/types.ts +33 -2
- package/src/extensibility/extensions/wrapper.ts +68 -12
- package/src/extensibility/legacy-pi-coding-agent-shim.ts +7 -1
- package/src/extensibility/plugins/legacy-pi-compat.ts +19 -1
- package/src/hindsight/state.ts +64 -6
- package/src/internal-urls/local-protocol.ts +2 -1
- package/src/internal-urls/memory-protocol.ts +2 -2
- package/src/internal-urls/skill-protocol.ts +2 -2
- package/src/internal-urls/ssh-protocol.ts +2 -1
- package/src/internal-urls/vault-protocol.ts +2 -1
- package/src/live/attestation.ts +91 -0
- package/src/live/controller.ts +517 -0
- package/src/live/prompts/agent-final-message.md +3 -0
- package/src/live/prompts/live-instructions.md +23 -0
- package/src/live/protocol.test.ts +140 -0
- package/src/live/protocol.ts +233 -0
- package/src/live/transport.ts +422 -0
- package/src/live/visualizer.ts +214 -0
- package/src/lsp/client.ts +29 -9
- package/src/lsp/index.ts +19 -4
- package/src/main.ts +8 -1
- package/src/mcp/config-writer.test.ts +43 -0
- package/src/mcp/config-writer.ts +109 -82
- package/src/mcp/oauth-discovery.ts +10 -2
- package/src/mcp/smithery-auth.test.ts +29 -0
- package/src/mcp/smithery-auth.ts +3 -2
- package/src/memories/index.ts +40 -20
- package/src/memory-backend/tool-names.ts +2 -0
- package/src/mnemopi/backend.ts +24 -7
- package/src/modes/acp/acp-agent.ts +56 -10
- package/src/modes/acp/acp-event-mapper.ts +8 -1
- package/src/modes/components/agent-hub.ts +1 -1
- package/src/modes/components/assistant-message.ts +7 -2
- package/src/modes/components/custom-message.ts +4 -1
- package/src/modes/components/login-dialog.ts +14 -4
- package/src/modes/components/message-frame.ts +14 -8
- package/src/modes/components/plan-review-overlay.ts +350 -35
- package/src/modes/components/session-account-selector.ts +62 -0
- package/src/modes/components/settings-defs.ts +23 -1
- package/src/modes/components/settings-selector.ts +169 -1
- package/src/modes/components/status-line/component.jj-cache.test.ts +229 -0
- package/src/modes/components/status-line/component.ts +123 -2
- package/src/modes/components/tool-execution.ts +28 -112
- package/src/modes/controllers/command-controller.ts +56 -15
- package/src/modes/controllers/event-controller.ts +111 -16
- package/src/modes/controllers/extension-ui-controller.test.ts +1 -0
- package/src/modes/controllers/extension-ui-controller.ts +20 -4
- package/src/modes/controllers/input-controller.ts +47 -39
- package/src/modes/controllers/live-command-controller.ts +255 -0
- package/src/modes/controllers/mcp-command-controller.ts +10 -1
- package/src/modes/controllers/omfg-controller.ts +44 -40
- package/src/modes/controllers/selector-controller.ts +80 -10
- package/src/modes/controllers/session-focus-controller.ts +6 -1
- package/src/modes/interactive-mode.ts +176 -38
- package/src/modes/runtime-init.ts +2 -0
- package/src/modes/setup-wizard/scenes/web-search.ts +17 -9
- package/src/modes/theme/theme.ts +1 -1
- package/src/modes/types.ts +4 -1
- package/src/modes/utils/context-usage.ts +23 -7
- package/src/modes/utils/ui-helpers.ts +10 -5
- package/src/plan-mode/plan-files.ts +40 -0
- package/src/prompts/bench/cache-prefix-chunk.md +1 -0
- package/src/prompts/bench/cache-prefix.md +3 -0
- package/src/prompts/bench/cache-suffix.md +1 -0
- package/src/prompts/system/computer-safety.md +14 -0
- package/src/prompts/system/custom-system-prompt.md +1 -1
- package/src/prompts/system/project-prompt.md +8 -1
- package/src/prompts/system/subagent-async-pending.md +6 -0
- package/src/prompts/system/system-prompt.md +1 -1
- package/src/prompts/system/workflow-notice.md +48 -40
- package/src/prompts/system/xdev-mount-notice.md +4 -0
- package/src/prompts/tools/computer.md +26 -0
- package/src/prompts/tools/todo.md +3 -1
- package/src/registry/agent-lifecycle.ts +116 -46
- package/src/registry/agent-registry.ts +35 -8
- package/src/registry/persisted-agents.ts +26 -2
- package/src/sdk.ts +215 -136
- package/src/secrets/index.ts +127 -4
- package/src/secrets/obfuscator.ts +2328 -105
- package/src/session/acp-permission-gate.ts +165 -0
- package/src/session/agent-session-error-log.test.ts +1 -1
- package/src/session/agent-session-events.ts +66 -0
- package/src/session/agent-session-types.ts +343 -0
- package/src/session/agent-session.ts +1940 -12218
- package/src/session/artifacts.ts +6 -5
- package/src/session/async-job-delivery.ts +74 -0
- package/src/session/auth-storage.ts +1 -0
- package/src/session/bash-runner.ts +326 -0
- package/src/session/blob-store.test.ts +56 -0
- package/src/session/blob-store.ts +18 -2
- package/src/session/checkpoint-entries.ts +81 -0
- package/src/session/eval-runner.ts +217 -0
- package/src/session/indexed-session-storage.ts +9 -2
- package/src/session/irc-bridge.ts +203 -0
- package/src/session/messages.ts +266 -1
- package/src/session/model-controls.ts +714 -0
- package/src/session/prewalk.ts +252 -0
- package/src/session/queued-messages.ts +93 -0
- package/src/session/redis-session-storage.ts +51 -11
- package/src/session/retry-fallback-chains.ts +455 -0
- package/src/session/role-models.ts +85 -0
- package/src/session/session-advisors.ts +1679 -0
- package/src/session/session-context.ts +6 -3
- package/src/session/session-entries.ts +8 -0
- package/src/session/session-handoff.ts +308 -0
- package/src/session/session-history-format.ts +20 -9
- package/src/session/session-loader.ts +0 -46
- package/src/session/session-maintenance.ts +2983 -0
- package/src/session/session-manager.ts +390 -30
- package/src/session/session-memory.ts +222 -0
- package/src/session/session-provider-boundary.ts +307 -0
- package/src/session/session-stats.ts +293 -0
- package/src/session/session-tools.ts +980 -0
- package/src/session/session-workspace.ts +53 -0
- package/src/session/stream-guards.ts +417 -0
- package/src/session/streaming-output.ts +52 -5
- package/src/session/todo-tracker.ts +380 -0
- package/src/session/ttsr-coordinator.ts +496 -0
- package/src/session/turn-recovery.ts +1629 -0
- package/src/slash-commands/builtin-registry.ts +257 -20
- package/src/slash-commands/helpers/session-pin.ts +44 -0
- package/src/slash-commands/helpers/usage-report.ts +22 -3
- package/src/stt/downloader.ts +0 -2
- package/src/stt/index.ts +0 -2
- package/src/stt/stt-controller.ts +57 -146
- package/src/system-prompt.ts +45 -17
- package/src/task/executor.ts +285 -70
- package/src/task/index.ts +98 -105
- package/src/task/output-manager.ts +25 -3
- package/src/task/persisted-revive.ts +4 -3
- package/src/task/structured-subagent.ts +1 -0
- package/src/tiny/title-client.ts +22 -0
- package/src/tools/approval.ts +55 -10
- package/src/tools/bash-interactive.ts +116 -86
- package/src/tools/bash-skill-urls.ts +28 -2
- package/src/tools/bash.ts +339 -123
- package/src/tools/browser/launch.ts +9 -1
- package/src/tools/browser/tab-supervisor.ts +8 -5
- package/src/tools/browser.ts +94 -47
- package/src/tools/builtin-names.ts +1 -0
- package/src/tools/computer/protocol.ts +28 -0
- package/src/tools/computer/supervisor.ts +258 -0
- package/src/tools/computer/worker-entry.ts +25 -0
- package/src/tools/computer/worker.ts +135 -0
- package/src/tools/computer-renderer.ts +108 -0
- package/src/tools/computer.ts +433 -0
- package/src/tools/context.ts +2 -0
- package/src/tools/default-renderer.ts +139 -0
- package/src/tools/essential-tools.ts +1 -0
- package/src/tools/image-gen.ts +20 -28
- package/src/tools/image-providers.ts +50 -0
- package/src/tools/index.ts +14 -0
- package/src/tools/path-utils.ts +49 -2
- package/src/tools/read.ts +156 -88
- package/src/tools/renderers.ts +9 -1
- package/src/tools/todo.ts +101 -11
- package/src/tools/vibe.ts +1 -2
- package/src/tools/write.ts +51 -1
- package/src/tools/xdev.ts +121 -29
- package/src/tts/streaming-player.ts +82 -283
- package/src/tts/vocalizer.ts +18 -1
- package/src/utils/clipboard.ts +1 -30
- package/src/utils/jj.ts +125 -4
- package/src/utils/lang-from-path.ts +7 -0
- package/src/utils/mac-file-urls.applescript +37 -0
- package/src/utils/title-generator.ts +137 -1
- package/src/utils/tool-choice.ts +14 -0
- package/src/utils/tools-manager.ts +1 -19
- package/src/vibe/runtime.ts +852 -72
- package/src/web/search/index.ts +3 -6
- package/src/web/search/provider.ts +31 -16
- package/src/web/search/providers/xai.ts +7 -1
- package/src/web/search/types.ts +3 -0
- package/dist/types/stt/recorder.d.ts +0 -30
- package/dist/types/stt/transcriber.d.ts +0 -14
- package/dist/types/stt/wav.d.ts +0 -29
- package/dist/types/tts/player.d.ts +0 -32
- package/src/stt/recorder.ts +0 -551
- package/src/stt/transcriber.ts +0 -60
- package/src/stt/wav.ts +0 -173
- package/src/tts/player.ts +0 -137
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type ImageProvider } from "../tools/image-providers.js";
|
|
1
2
|
import { type SearchProviderId } from "../web/search/types.js";
|
|
2
3
|
/** Unified settings schema - single source of truth for all settings.
|
|
3
4
|
*
|
|
@@ -72,10 +73,17 @@ interface UiString extends UiBase {
|
|
|
72
73
|
*/
|
|
73
74
|
options?: ReadonlyArray<SubmenuOption> | "runtime";
|
|
74
75
|
}
|
|
76
|
+
interface UiArray extends UiBase {
|
|
77
|
+
/** Membership choices. Without options, an array setting has no UI representation (config-file only). */
|
|
78
|
+
options?: ReadonlyArray<SubmenuOption>;
|
|
79
|
+
/** Selection order is meaningful; the editor renders positions and supports reordering. */
|
|
80
|
+
ordered?: boolean;
|
|
81
|
+
}
|
|
75
82
|
/** Wide ui shape exposed to consumers that walk the schema generically. */
|
|
76
83
|
export type AnyUiMetadata = UiBase & {
|
|
77
84
|
options?: ReadonlyArray<SubmenuOption> | "runtime";
|
|
78
85
|
secret?: boolean;
|
|
86
|
+
ordered?: boolean;
|
|
79
87
|
};
|
|
80
88
|
interface BooleanDef {
|
|
81
89
|
type: "boolean";
|
|
@@ -101,7 +109,7 @@ interface EnumDef<T extends readonly string[]> {
|
|
|
101
109
|
interface ArrayDef<T> {
|
|
102
110
|
type: "array";
|
|
103
111
|
default: T[];
|
|
104
|
-
ui?:
|
|
112
|
+
ui?: UiArray;
|
|
105
113
|
}
|
|
106
114
|
interface RecordDef<T> {
|
|
107
115
|
type: "record";
|
|
@@ -819,6 +827,16 @@ export declare const SETTINGS_SCHEMA: {
|
|
|
819
827
|
readonly description: "Render Mermaid fenced code blocks as ASCII diagrams";
|
|
820
828
|
};
|
|
821
829
|
};
|
|
830
|
+
readonly "tui.titleState": {
|
|
831
|
+
readonly type: "boolean";
|
|
832
|
+
readonly default: true;
|
|
833
|
+
readonly ui: {
|
|
834
|
+
readonly tab: "appearance";
|
|
835
|
+
readonly group: "Display";
|
|
836
|
+
readonly label: "Terminal Title Run State";
|
|
837
|
+
readonly description: "Show the agent run state in the terminal title's separator — an animated spinner while working, '>' when it's your turn, '!' when the agent is waiting on you";
|
|
838
|
+
};
|
|
839
|
+
};
|
|
822
840
|
readonly "tui.hyperlinks": {
|
|
823
841
|
readonly type: "enum";
|
|
824
842
|
readonly values: readonly ["off", "auto", "always"];
|
|
@@ -1080,6 +1098,16 @@ export declare const SETTINGS_SCHEMA: {
|
|
|
1080
1098
|
readonly description: "Render the workspace directory tree in the system prompt. WARNING: This can bust prompt caching across sessions when files are modified.";
|
|
1081
1099
|
};
|
|
1082
1100
|
};
|
|
1101
|
+
readonly "workspace.additionalDirectories": {
|
|
1102
|
+
readonly type: "array";
|
|
1103
|
+
readonly default: string[];
|
|
1104
|
+
readonly ui: {
|
|
1105
|
+
readonly tab: "context";
|
|
1106
|
+
readonly group: "General";
|
|
1107
|
+
readonly label: "Additional Workspace Dirs";
|
|
1108
|
+
readonly description: "Extra workspace directories added to every session as additional roots (multi-root workspace). Managed live via /add-dir and /remove-dir. Paths resolve relative to cwd; absolute paths recommended. The agent is told these roots exist and can read/grep/glob them.";
|
|
1109
|
+
};
|
|
1110
|
+
};
|
|
1083
1111
|
readonly personality: {
|
|
1084
1112
|
readonly type: "enum";
|
|
1085
1113
|
readonly values: readonly ["default", "friendly", "pragmatic", "none"];
|
|
@@ -1441,6 +1469,73 @@ export declare const SETTINGS_SCHEMA: {
|
|
|
1441
1469
|
readonly description: "Allow retry recovery to switch to configured fallback models";
|
|
1442
1470
|
};
|
|
1443
1471
|
};
|
|
1472
|
+
readonly "retry.usageAwareFallback": {
|
|
1473
|
+
readonly type: "boolean";
|
|
1474
|
+
readonly default: false;
|
|
1475
|
+
readonly ui: {
|
|
1476
|
+
readonly tab: "model";
|
|
1477
|
+
readonly group: "Retry & Fallback";
|
|
1478
|
+
readonly label: "Usage-Aware Fallback";
|
|
1479
|
+
readonly description: "Use reliable coding-plan quota reports to prefer same-provider accounts, then configured fallback models, before a hard usage limit. Ordinary configured API keys are excluded.";
|
|
1480
|
+
};
|
|
1481
|
+
};
|
|
1482
|
+
readonly "retry.usageReservePct": {
|
|
1483
|
+
readonly type: "number";
|
|
1484
|
+
readonly default: 10;
|
|
1485
|
+
readonly ui: {
|
|
1486
|
+
readonly tab: "model";
|
|
1487
|
+
readonly group: "Retry & Fallback";
|
|
1488
|
+
readonly label: "Reserve Margin";
|
|
1489
|
+
readonly description: "Treat a coding-plan model as near its limit below this remaining percentage. Unknown or unmapped usage keeps the primary model.";
|
|
1490
|
+
readonly condition: "usageAwareFallbackEnabled";
|
|
1491
|
+
readonly options: readonly [{
|
|
1492
|
+
readonly value: "5";
|
|
1493
|
+
readonly label: "5%";
|
|
1494
|
+
readonly description: "Act only when nearly exhausted";
|
|
1495
|
+
}, {
|
|
1496
|
+
readonly value: "10";
|
|
1497
|
+
readonly label: "10%";
|
|
1498
|
+
readonly description: "Balanced safety margin";
|
|
1499
|
+
}, {
|
|
1500
|
+
readonly value: "15";
|
|
1501
|
+
readonly label: "15%";
|
|
1502
|
+
readonly description: "Conservative";
|
|
1503
|
+
}, {
|
|
1504
|
+
readonly value: "20";
|
|
1505
|
+
readonly label: "20%";
|
|
1506
|
+
readonly description: "Early protection";
|
|
1507
|
+
}, {
|
|
1508
|
+
readonly value: "25";
|
|
1509
|
+
readonly label: "25%";
|
|
1510
|
+
readonly description: "Very conservative";
|
|
1511
|
+
}];
|
|
1512
|
+
};
|
|
1513
|
+
};
|
|
1514
|
+
readonly "retry.usageReservePolicy": {
|
|
1515
|
+
readonly type: "enum";
|
|
1516
|
+
readonly values: readonly ["confirm", "auto", "fail-closed"];
|
|
1517
|
+
readonly default: "confirm";
|
|
1518
|
+
readonly ui: {
|
|
1519
|
+
readonly tab: "model";
|
|
1520
|
+
readonly group: "Retry & Fallback";
|
|
1521
|
+
readonly label: "Reserve Policy";
|
|
1522
|
+
readonly description: "What to do when every same-provider coding-plan account is inside the reserve margin.";
|
|
1523
|
+
readonly condition: "usageAwareFallbackEnabled";
|
|
1524
|
+
readonly options: readonly [{
|
|
1525
|
+
readonly value: "confirm";
|
|
1526
|
+
readonly label: "Confirm interactively";
|
|
1527
|
+
readonly description: "Keep interactive sessions on the primary until confirmed; background agents auto-fallback";
|
|
1528
|
+
}, {
|
|
1529
|
+
readonly value: "auto";
|
|
1530
|
+
readonly label: "Auto-fallback";
|
|
1531
|
+
readonly description: "Always select the next eligible configured fallback";
|
|
1532
|
+
}, {
|
|
1533
|
+
readonly value: "fail-closed";
|
|
1534
|
+
readonly label: "Fail closed";
|
|
1535
|
+
readonly description: "Do not spend reserve quota or select a fallback";
|
|
1536
|
+
}];
|
|
1537
|
+
};
|
|
1538
|
+
};
|
|
1444
1539
|
readonly "retry.fallbackChains": {
|
|
1445
1540
|
readonly type: "record";
|
|
1446
1541
|
readonly default: Record<string, string[]>;
|
|
@@ -1750,6 +1845,17 @@ export declare const SETTINGS_SCHEMA: {
|
|
|
1750
1845
|
readonly description: "Notify when the agent finishes a turn";
|
|
1751
1846
|
};
|
|
1752
1847
|
};
|
|
1848
|
+
readonly "error.notify": {
|
|
1849
|
+
readonly type: "enum";
|
|
1850
|
+
readonly values: readonly ["on", "off"];
|
|
1851
|
+
readonly default: "off";
|
|
1852
|
+
readonly ui: {
|
|
1853
|
+
readonly tab: "interaction";
|
|
1854
|
+
readonly group: "Notifications";
|
|
1855
|
+
readonly label: "Error Notification";
|
|
1856
|
+
readonly description: "Notify when the agent stops with an error";
|
|
1857
|
+
};
|
|
1858
|
+
};
|
|
1753
1859
|
readonly "ask.timeout": {
|
|
1754
1860
|
readonly type: "number";
|
|
1755
1861
|
readonly default: 0;
|
|
@@ -3245,6 +3351,16 @@ export declare const SETTINGS_SCHEMA: {
|
|
|
3245
3351
|
}];
|
|
3246
3352
|
};
|
|
3247
3353
|
};
|
|
3354
|
+
readonly "read.renderMarkdown": {
|
|
3355
|
+
readonly type: "boolean";
|
|
3356
|
+
readonly default: false;
|
|
3357
|
+
readonly ui: {
|
|
3358
|
+
readonly tab: "files";
|
|
3359
|
+
readonly group: "Reading";
|
|
3360
|
+
readonly label: "Markdown Previews";
|
|
3361
|
+
readonly description: "Render Markdown read results as formatted terminal Markdown previews instead of raw source";
|
|
3362
|
+
};
|
|
3363
|
+
};
|
|
3248
3364
|
readonly "read.summarize.enabled": {
|
|
3249
3365
|
readonly type: "boolean";
|
|
3250
3366
|
readonly default: true;
|
|
@@ -3405,6 +3521,16 @@ export declare const SETTINGS_SCHEMA: {
|
|
|
3405
3521
|
readonly description: "Automatically background long-running bash commands and deliver the result later";
|
|
3406
3522
|
};
|
|
3407
3523
|
};
|
|
3524
|
+
readonly "bash.patterns": {
|
|
3525
|
+
readonly type: "array";
|
|
3526
|
+
readonly default: readonly [];
|
|
3527
|
+
readonly ui: {
|
|
3528
|
+
readonly tab: "shell";
|
|
3529
|
+
readonly group: "Bash";
|
|
3530
|
+
readonly label: "Bash Approval Patterns";
|
|
3531
|
+
readonly description: "Ordered bash command approval rules. Each item has match and approval fields; only '*' wildcards are supported.";
|
|
3532
|
+
};
|
|
3533
|
+
};
|
|
3408
3534
|
readonly "bashInterceptor.enabled": {
|
|
3409
3535
|
readonly type: "boolean";
|
|
3410
3536
|
readonly default: false;
|
|
@@ -3419,6 +3545,27 @@ export declare const SETTINGS_SCHEMA: {
|
|
|
3419
3545
|
readonly type: "array";
|
|
3420
3546
|
readonly default: BashInterceptorRule[];
|
|
3421
3547
|
};
|
|
3548
|
+
readonly "bash.direnv": {
|
|
3549
|
+
readonly type: "enum";
|
|
3550
|
+
readonly values: readonly ["auto", "off"];
|
|
3551
|
+
readonly default: "auto";
|
|
3552
|
+
readonly ui: {
|
|
3553
|
+
readonly tab: "shell";
|
|
3554
|
+
readonly group: "Bash";
|
|
3555
|
+
readonly label: "direnv Auto-Load";
|
|
3556
|
+
readonly description: "Auto-load a repo's direnv/devenv `.envrc` into the bash session so devenv tools and env vars are present without manual `direnv exec`. Honors direnv's allow list: an `.envrc` you haven't `direnv allow`ed is never executed";
|
|
3557
|
+
};
|
|
3558
|
+
};
|
|
3559
|
+
readonly "bash.direnvLoadTimeoutMs": {
|
|
3560
|
+
readonly type: "number";
|
|
3561
|
+
readonly default: 30000;
|
|
3562
|
+
readonly ui: {
|
|
3563
|
+
readonly tab: "shell";
|
|
3564
|
+
readonly group: "Bash";
|
|
3565
|
+
readonly label: "direnv Load Timeout (ms)";
|
|
3566
|
+
readonly description: "Max wait for the first `direnv export` (a cold devenv shell can be slow); on timeout the session runs without the direnv env";
|
|
3567
|
+
};
|
|
3568
|
+
};
|
|
3422
3569
|
readonly "shellMinimizer.enabled": {
|
|
3423
3570
|
readonly type: "boolean";
|
|
3424
3571
|
readonly default: true;
|
|
@@ -3787,6 +3934,64 @@ export declare const SETTINGS_SCHEMA: {
|
|
|
3787
3934
|
readonly description: "Enable the inspect_image tool, delegating image understanding to a vision-capable model";
|
|
3788
3935
|
};
|
|
3789
3936
|
};
|
|
3937
|
+
readonly "computer.enabled": {
|
|
3938
|
+
readonly type: "boolean";
|
|
3939
|
+
readonly default: false;
|
|
3940
|
+
readonly ui: {
|
|
3941
|
+
readonly tab: "tools";
|
|
3942
|
+
readonly group: "Available Tools";
|
|
3943
|
+
readonly label: "Computer";
|
|
3944
|
+
readonly description: "Enable native host-desktop screenshots and input for OpenAI computer use";
|
|
3945
|
+
};
|
|
3946
|
+
};
|
|
3947
|
+
readonly "computer.backend": {
|
|
3948
|
+
readonly type: "enum";
|
|
3949
|
+
readonly values: readonly ["auto", "native"];
|
|
3950
|
+
readonly default: "auto";
|
|
3951
|
+
readonly ui: {
|
|
3952
|
+
readonly tab: "tools";
|
|
3953
|
+
readonly group: "Computer";
|
|
3954
|
+
readonly label: "Computer Backend";
|
|
3955
|
+
readonly description: "Select automatic or explicit platform-native desktop capture and input";
|
|
3956
|
+
readonly options: readonly [{
|
|
3957
|
+
readonly value: "auto";
|
|
3958
|
+
readonly label: "Auto";
|
|
3959
|
+
}, {
|
|
3960
|
+
readonly value: "native";
|
|
3961
|
+
readonly label: "Native";
|
|
3962
|
+
}];
|
|
3963
|
+
};
|
|
3964
|
+
};
|
|
3965
|
+
readonly "computer.display": {
|
|
3966
|
+
readonly type: "string";
|
|
3967
|
+
readonly default: "all";
|
|
3968
|
+
readonly ui: {
|
|
3969
|
+
readonly tab: "tools";
|
|
3970
|
+
readonly group: "Computer";
|
|
3971
|
+
readonly label: "Computer Display";
|
|
3972
|
+
readonly description: "Composite all displays or select a native display id";
|
|
3973
|
+
};
|
|
3974
|
+
};
|
|
3975
|
+
readonly "computer.maxWidth": {
|
|
3976
|
+
readonly type: "number";
|
|
3977
|
+
readonly default: 1920;
|
|
3978
|
+
readonly ui: {
|
|
3979
|
+
readonly tab: "tools";
|
|
3980
|
+
readonly group: "Computer";
|
|
3981
|
+
readonly label: "Computer Screenshot Width";
|
|
3982
|
+
readonly description: "Maximum composite screenshot width in pixels";
|
|
3983
|
+
};
|
|
3984
|
+
};
|
|
3985
|
+
readonly "computer.maxHeight": {
|
|
3986
|
+
readonly type: "number";
|
|
3987
|
+
readonly default: 1200;
|
|
3988
|
+
readonly ui: {
|
|
3989
|
+
readonly tab: "tools";
|
|
3990
|
+
readonly group: "Computer";
|
|
3991
|
+
readonly label: "Computer Screenshot Height";
|
|
3992
|
+
readonly description: "Maximum composite screenshot height in pixels";
|
|
3993
|
+
};
|
|
3994
|
+
};
|
|
3790
3995
|
readonly "checkpoint.enabled": {
|
|
3791
3996
|
readonly type: "boolean";
|
|
3792
3997
|
readonly default: false;
|
|
@@ -4051,6 +4256,40 @@ export declare const SETTINGS_SCHEMA: {
|
|
|
4051
4256
|
readonly description: "Mount rarely-used (discoverable) tools under xd:// device URLs driven via read/write instead of shipping their schemas on every request. Disable to expose every enabled tool top-level.";
|
|
4052
4257
|
};
|
|
4053
4258
|
};
|
|
4259
|
+
readonly "tools.xdevDocs": {
|
|
4260
|
+
readonly type: "enum";
|
|
4261
|
+
readonly values: readonly ["inline", "builtins", "catalog"];
|
|
4262
|
+
readonly default: "builtins";
|
|
4263
|
+
readonly ui: {
|
|
4264
|
+
readonly tab: "tools";
|
|
4265
|
+
readonly group: "Discovery & MCP";
|
|
4266
|
+
readonly label: "xd:// Prompt Docs";
|
|
4267
|
+
readonly description: "Choose which mounted-device docs and schemas are inlined in the system prompt. Built-ins keeps core tools inline while MCP and extension tools stay on-demand.";
|
|
4268
|
+
readonly options: readonly [{
|
|
4269
|
+
readonly value: "inline";
|
|
4270
|
+
readonly label: "All Devices";
|
|
4271
|
+
readonly description: "Inline docs and schemas for every mounted device.";
|
|
4272
|
+
}, {
|
|
4273
|
+
readonly value: "builtins";
|
|
4274
|
+
readonly label: "Built-ins Only";
|
|
4275
|
+
readonly description: "Inline built-in docs; fetch MCP and extension docs on demand.";
|
|
4276
|
+
}, {
|
|
4277
|
+
readonly value: "catalog";
|
|
4278
|
+
readonly label: "Catalog Only";
|
|
4279
|
+
readonly description: "List every device; fetch all docs on demand.";
|
|
4280
|
+
}];
|
|
4281
|
+
};
|
|
4282
|
+
};
|
|
4283
|
+
readonly "tools.xdevInlineDevices": {
|
|
4284
|
+
readonly type: "array";
|
|
4285
|
+
readonly default: string[];
|
|
4286
|
+
readonly ui: {
|
|
4287
|
+
readonly tab: "tools";
|
|
4288
|
+
readonly group: "Discovery & MCP";
|
|
4289
|
+
readonly label: "xd:// Inline Devices";
|
|
4290
|
+
readonly description: "When xd:// Prompt Docs is Built-ins Only, inline dynamic devices whose names match these glob patterns (for example mcp__context_mode_*). Catalog Only ignores this setting.";
|
|
4291
|
+
};
|
|
4292
|
+
};
|
|
4054
4293
|
readonly "mcp.enableProjectConfig": {
|
|
4055
4294
|
readonly type: "boolean";
|
|
4056
4295
|
readonly default: true;
|
|
@@ -4295,7 +4534,7 @@ export declare const SETTINGS_SCHEMA: {
|
|
|
4295
4534
|
readonly tab: "tasks";
|
|
4296
4535
|
readonly group: "Subagents";
|
|
4297
4536
|
readonly label: "Batch Task Calls";
|
|
4298
|
-
readonly description: "Switch the task tool to its batch shape: one call carries {
|
|
4537
|
+
readonly description: "Switch the task tool to its batch shape: one call carries { context, tasks[] } — one subagent per item, with an optional per-item agent (defaulting to the session spawn-policy agent), per-item isolation, and a required shared context prepended to every assignment. With async.enabled=true, each spawn runs as an independent background agent with the normal idle/parked lifecycle; otherwise the call blocks for merged results. Disable to restore the flat single-spawn schema.";
|
|
4299
4538
|
};
|
|
4300
4539
|
};
|
|
4301
4540
|
readonly "task.maxConcurrency": {
|
|
@@ -4606,7 +4845,7 @@ export declare const SETTINGS_SCHEMA: {
|
|
|
4606
4845
|
readonly tab: "providers";
|
|
4607
4846
|
readonly group: "Privacy";
|
|
4608
4847
|
readonly label: "Hide Secrets";
|
|
4609
|
-
readonly description: "Obfuscate secrets before sending to AI providers";
|
|
4848
|
+
readonly description: "Obfuscate configured secrets and redact credential-shaped tokens before sending to AI providers";
|
|
4610
4849
|
};
|
|
4611
4850
|
};
|
|
4612
4851
|
readonly "providers.ollama-cloud.maxConcurrency": {
|
|
@@ -4619,112 +4858,108 @@ export declare const SETTINGS_SCHEMA: {
|
|
|
4619
4858
|
readonly description: "Maximum concurrent Ollama Cloud subagent runs per process; 0 disables the provider-specific limit";
|
|
4620
4859
|
};
|
|
4621
4860
|
};
|
|
4622
|
-
readonly "providers.
|
|
4623
|
-
readonly type: "
|
|
4624
|
-
readonly
|
|
4625
|
-
readonly default: "auto";
|
|
4861
|
+
readonly "providers.webSearchOrder": {
|
|
4862
|
+
readonly type: "array";
|
|
4863
|
+
readonly default: SearchProviderId[];
|
|
4626
4864
|
readonly ui: {
|
|
4627
4865
|
readonly tab: "providers";
|
|
4628
4866
|
readonly group: "Services";
|
|
4629
|
-
readonly label: "Web Search Provider";
|
|
4630
|
-
readonly description: "
|
|
4631
|
-
readonly options:
|
|
4632
|
-
readonly value: "auto";
|
|
4633
|
-
readonly label: "Auto";
|
|
4634
|
-
readonly description: "Automatically uses the first configured web-search provider";
|
|
4635
|
-
}, {
|
|
4867
|
+
readonly label: "Web Search Provider Order";
|
|
4868
|
+
readonly description: "Prioritized providers for the web_search tool; unlisted providers retain their default order afterward";
|
|
4869
|
+
readonly options: ({
|
|
4636
4870
|
readonly value: "perplexity";
|
|
4637
4871
|
readonly label: "Perplexity";
|
|
4638
4872
|
readonly description: "Uses auth when configured; explicit selection falls back to anonymous search";
|
|
4639
|
-
}
|
|
4873
|
+
} | {
|
|
4640
4874
|
readonly value: "gemini";
|
|
4641
4875
|
readonly label: "Gemini";
|
|
4642
4876
|
readonly description: "Google Search grounding via Gemini (uses google-gemini-cli or google-antigravity OAuth)";
|
|
4643
|
-
}
|
|
4877
|
+
} | {
|
|
4644
4878
|
readonly value: "anthropic";
|
|
4645
4879
|
readonly label: "Anthropic";
|
|
4646
4880
|
readonly description: "Claude's native web_search tool (uses Anthropic OAuth or ANTHROPIC_API_KEY)";
|
|
4647
|
-
}
|
|
4881
|
+
} | {
|
|
4648
4882
|
readonly value: "codex";
|
|
4649
4883
|
readonly label: "OpenAI";
|
|
4650
4884
|
readonly description: "OpenAI's native web_search (uses ChatGPT OAuth via /login openai-codex)";
|
|
4651
|
-
}
|
|
4885
|
+
} | {
|
|
4652
4886
|
readonly value: "xai";
|
|
4653
4887
|
readonly label: "xAI";
|
|
4654
4888
|
readonly description: "Grok web search via xAI Responses API (requires XAI_API_KEY)";
|
|
4655
|
-
}
|
|
4889
|
+
} | {
|
|
4656
4890
|
readonly value: "zai";
|
|
4657
4891
|
readonly label: "Z.AI";
|
|
4658
4892
|
readonly description: "Calls Z.AI webSearchPrime MCP";
|
|
4659
|
-
}
|
|
4893
|
+
} | {
|
|
4660
4894
|
readonly value: "exa";
|
|
4661
4895
|
readonly label: "Exa";
|
|
4662
4896
|
readonly description: "Uses Exa API when EXA_API_KEY is set; falls back to Exa MCP";
|
|
4663
|
-
}
|
|
4897
|
+
} | {
|
|
4664
4898
|
readonly value: "tinyfish";
|
|
4665
4899
|
readonly label: "TinyFish";
|
|
4666
4900
|
readonly description: "Requires TINYFISH_API_KEY";
|
|
4667
|
-
}
|
|
4901
|
+
} | {
|
|
4668
4902
|
readonly value: "jina";
|
|
4669
4903
|
readonly label: "Jina";
|
|
4670
4904
|
readonly description: "Requires JINA_API_KEY";
|
|
4671
|
-
}
|
|
4905
|
+
} | {
|
|
4672
4906
|
readonly value: "kagi";
|
|
4673
4907
|
readonly label: "Kagi";
|
|
4674
4908
|
readonly description: "Requires KAGI_API_KEY and Kagi Search API beta access";
|
|
4675
|
-
}
|
|
4909
|
+
} | {
|
|
4676
4910
|
readonly value: "tavily";
|
|
4677
4911
|
readonly label: "Tavily";
|
|
4678
4912
|
readonly description: "Requires TAVILY_API_KEY";
|
|
4679
|
-
}
|
|
4913
|
+
} | {
|
|
4680
4914
|
readonly value: "firecrawl";
|
|
4681
4915
|
readonly label: "Firecrawl";
|
|
4682
4916
|
readonly description: "Uses Firecrawl API when FIRECRAWL_API_KEY is set; falls back to keyless mode";
|
|
4683
|
-
}
|
|
4917
|
+
} | {
|
|
4684
4918
|
readonly value: "brave";
|
|
4685
4919
|
readonly label: "Brave";
|
|
4686
4920
|
readonly description: "Requires BRAVE_API_KEY";
|
|
4687
|
-
}
|
|
4921
|
+
} | {
|
|
4688
4922
|
readonly value: "kimi";
|
|
4689
4923
|
readonly label: "Kimi";
|
|
4690
4924
|
readonly description: "Kimi Code search (requires a Kimi Code Console key via KIMI_SEARCH_API_KEY/MOONSHOT_SEARCH_API_KEY or /login kimi-code; not MOONSHOT_API_KEY)";
|
|
4691
|
-
}
|
|
4925
|
+
} | {
|
|
4692
4926
|
readonly value: "parallel";
|
|
4693
4927
|
readonly label: "Parallel";
|
|
4694
4928
|
readonly description: "Requires PARALLEL_API_KEY";
|
|
4695
|
-
}
|
|
4929
|
+
} | {
|
|
4696
4930
|
readonly value: "synthetic";
|
|
4697
4931
|
readonly label: "Synthetic";
|
|
4698
4932
|
readonly description: "Requires SYNTHETIC_API_KEY";
|
|
4699
|
-
}
|
|
4933
|
+
} | {
|
|
4700
4934
|
readonly value: "searxng";
|
|
4701
4935
|
readonly label: "SearXNG";
|
|
4702
4936
|
readonly description: "Requires SEARXNG_ENDPOINT or searxng.endpoint";
|
|
4703
|
-
}
|
|
4937
|
+
} | {
|
|
4704
4938
|
readonly value: "startpage";
|
|
4705
4939
|
readonly label: "Startpage";
|
|
4706
4940
|
readonly description: "Credential-free scrape of Startpage (Google-backed) results; may be bot-challenged";
|
|
4707
|
-
}
|
|
4941
|
+
} | {
|
|
4708
4942
|
readonly value: "duckduckgo";
|
|
4709
4943
|
readonly label: "DuckDuckGo";
|
|
4710
4944
|
readonly description: "Credential-free best-effort fallback; may be bot-challenged on datacenter/shared-egress IPs";
|
|
4711
|
-
}
|
|
4945
|
+
} | {
|
|
4712
4946
|
readonly value: "ecosia";
|
|
4713
4947
|
readonly label: "Ecosia";
|
|
4714
4948
|
readonly description: "Credential-free browser-backed scrape of Ecosia (Google-backed) results";
|
|
4715
|
-
}
|
|
4949
|
+
} | {
|
|
4716
4950
|
readonly value: "google";
|
|
4717
4951
|
readonly label: "Google";
|
|
4718
4952
|
readonly description: "Credential-free browser-backed fallback; slower and may be bot-challenged";
|
|
4719
|
-
}
|
|
4953
|
+
} | {
|
|
4720
4954
|
readonly value: "mojeek";
|
|
4721
4955
|
readonly label: "Mojeek";
|
|
4722
4956
|
readonly description: "Credential-free browser-backed scrape of Mojeek's independent index";
|
|
4723
|
-
}
|
|
4957
|
+
} | {
|
|
4724
4958
|
readonly value: "public";
|
|
4725
4959
|
readonly label: "Public Web";
|
|
4726
4960
|
readonly description: "Queries every credential-free engine in parallel and consolidates deduplicated results";
|
|
4727
|
-
}];
|
|
4961
|
+
})[];
|
|
4962
|
+
readonly ordered: true;
|
|
4728
4963
|
};
|
|
4729
4964
|
};
|
|
4730
4965
|
readonly "providers.webSearchExclude": {
|
|
@@ -4735,6 +4970,99 @@ export declare const SETTINGS_SCHEMA: {
|
|
|
4735
4970
|
readonly group: "Services";
|
|
4736
4971
|
readonly label: "Excluded Web Search Providers";
|
|
4737
4972
|
readonly description: "Providers that web_search should never use, even as fallbacks";
|
|
4973
|
+
readonly options: ({
|
|
4974
|
+
readonly value: "perplexity";
|
|
4975
|
+
readonly label: "Perplexity";
|
|
4976
|
+
readonly description: "Uses auth when configured; explicit selection falls back to anonymous search";
|
|
4977
|
+
} | {
|
|
4978
|
+
readonly value: "gemini";
|
|
4979
|
+
readonly label: "Gemini";
|
|
4980
|
+
readonly description: "Google Search grounding via Gemini (uses google-gemini-cli or google-antigravity OAuth)";
|
|
4981
|
+
} | {
|
|
4982
|
+
readonly value: "anthropic";
|
|
4983
|
+
readonly label: "Anthropic";
|
|
4984
|
+
readonly description: "Claude's native web_search tool (uses Anthropic OAuth or ANTHROPIC_API_KEY)";
|
|
4985
|
+
} | {
|
|
4986
|
+
readonly value: "codex";
|
|
4987
|
+
readonly label: "OpenAI";
|
|
4988
|
+
readonly description: "OpenAI's native web_search (uses ChatGPT OAuth via /login openai-codex)";
|
|
4989
|
+
} | {
|
|
4990
|
+
readonly value: "xai";
|
|
4991
|
+
readonly label: "xAI";
|
|
4992
|
+
readonly description: "Grok web search via xAI Responses API (requires XAI_API_KEY)";
|
|
4993
|
+
} | {
|
|
4994
|
+
readonly value: "zai";
|
|
4995
|
+
readonly label: "Z.AI";
|
|
4996
|
+
readonly description: "Calls Z.AI webSearchPrime MCP";
|
|
4997
|
+
} | {
|
|
4998
|
+
readonly value: "exa";
|
|
4999
|
+
readonly label: "Exa";
|
|
5000
|
+
readonly description: "Uses Exa API when EXA_API_KEY is set; falls back to Exa MCP";
|
|
5001
|
+
} | {
|
|
5002
|
+
readonly value: "tinyfish";
|
|
5003
|
+
readonly label: "TinyFish";
|
|
5004
|
+
readonly description: "Requires TINYFISH_API_KEY";
|
|
5005
|
+
} | {
|
|
5006
|
+
readonly value: "jina";
|
|
5007
|
+
readonly label: "Jina";
|
|
5008
|
+
readonly description: "Requires JINA_API_KEY";
|
|
5009
|
+
} | {
|
|
5010
|
+
readonly value: "kagi";
|
|
5011
|
+
readonly label: "Kagi";
|
|
5012
|
+
readonly description: "Requires KAGI_API_KEY and Kagi Search API beta access";
|
|
5013
|
+
} | {
|
|
5014
|
+
readonly value: "tavily";
|
|
5015
|
+
readonly label: "Tavily";
|
|
5016
|
+
readonly description: "Requires TAVILY_API_KEY";
|
|
5017
|
+
} | {
|
|
5018
|
+
readonly value: "firecrawl";
|
|
5019
|
+
readonly label: "Firecrawl";
|
|
5020
|
+
readonly description: "Uses Firecrawl API when FIRECRAWL_API_KEY is set; falls back to keyless mode";
|
|
5021
|
+
} | {
|
|
5022
|
+
readonly value: "brave";
|
|
5023
|
+
readonly label: "Brave";
|
|
5024
|
+
readonly description: "Requires BRAVE_API_KEY";
|
|
5025
|
+
} | {
|
|
5026
|
+
readonly value: "kimi";
|
|
5027
|
+
readonly label: "Kimi";
|
|
5028
|
+
readonly description: "Kimi Code search (requires a Kimi Code Console key via KIMI_SEARCH_API_KEY/MOONSHOT_SEARCH_API_KEY or /login kimi-code; not MOONSHOT_API_KEY)";
|
|
5029
|
+
} | {
|
|
5030
|
+
readonly value: "parallel";
|
|
5031
|
+
readonly label: "Parallel";
|
|
5032
|
+
readonly description: "Requires PARALLEL_API_KEY";
|
|
5033
|
+
} | {
|
|
5034
|
+
readonly value: "synthetic";
|
|
5035
|
+
readonly label: "Synthetic";
|
|
5036
|
+
readonly description: "Requires SYNTHETIC_API_KEY";
|
|
5037
|
+
} | {
|
|
5038
|
+
readonly value: "searxng";
|
|
5039
|
+
readonly label: "SearXNG";
|
|
5040
|
+
readonly description: "Requires SEARXNG_ENDPOINT or searxng.endpoint";
|
|
5041
|
+
} | {
|
|
5042
|
+
readonly value: "startpage";
|
|
5043
|
+
readonly label: "Startpage";
|
|
5044
|
+
readonly description: "Credential-free scrape of Startpage (Google-backed) results; may be bot-challenged";
|
|
5045
|
+
} | {
|
|
5046
|
+
readonly value: "duckduckgo";
|
|
5047
|
+
readonly label: "DuckDuckGo";
|
|
5048
|
+
readonly description: "Credential-free best-effort fallback; may be bot-challenged on datacenter/shared-egress IPs";
|
|
5049
|
+
} | {
|
|
5050
|
+
readonly value: "ecosia";
|
|
5051
|
+
readonly label: "Ecosia";
|
|
5052
|
+
readonly description: "Credential-free browser-backed scrape of Ecosia (Google-backed) results";
|
|
5053
|
+
} | {
|
|
5054
|
+
readonly value: "google";
|
|
5055
|
+
readonly label: "Google";
|
|
5056
|
+
readonly description: "Credential-free browser-backed fallback; slower and may be bot-challenged";
|
|
5057
|
+
} | {
|
|
5058
|
+
readonly value: "mojeek";
|
|
5059
|
+
readonly label: "Mojeek";
|
|
5060
|
+
readonly description: "Credential-free browser-backed scrape of Mojeek's independent index";
|
|
5061
|
+
} | {
|
|
5062
|
+
readonly value: "public";
|
|
5063
|
+
readonly label: "Public Web";
|
|
5064
|
+
readonly description: "Queries every credential-free engine in parallel and consolidates deduplicated results";
|
|
5065
|
+
})[];
|
|
4738
5066
|
};
|
|
4739
5067
|
};
|
|
4740
5068
|
readonly "providers.webSearchGeminiModel": {
|
|
@@ -4771,20 +5099,15 @@ export declare const SETTINGS_SCHEMA: {
|
|
|
4771
5099
|
}];
|
|
4772
5100
|
};
|
|
4773
5101
|
};
|
|
4774
|
-
readonly "providers.
|
|
4775
|
-
readonly type: "
|
|
4776
|
-
readonly
|
|
4777
|
-
readonly default: "auto";
|
|
5102
|
+
readonly "providers.imageOrder": {
|
|
5103
|
+
readonly type: "array";
|
|
5104
|
+
readonly default: ImageProvider[];
|
|
4778
5105
|
readonly ui: {
|
|
4779
5106
|
readonly tab: "providers";
|
|
4780
5107
|
readonly group: "Services";
|
|
4781
|
-
readonly label: "Image Provider";
|
|
4782
|
-
readonly description: "
|
|
5108
|
+
readonly label: "Image Provider Order";
|
|
5109
|
+
readonly description: "Prioritized providers for image generation; unlisted providers follow the active session provider and the built-in order";
|
|
4783
5110
|
readonly options: readonly [{
|
|
4784
|
-
readonly value: "auto";
|
|
4785
|
-
readonly label: "Auto";
|
|
4786
|
-
readonly description: "Priority: per-request provider > configured provider > active session provider > GPT model image tool > Codex subscription > Antigravity > xAI > OpenRouter > Gemini";
|
|
4787
|
-
}, {
|
|
4788
5111
|
readonly value: "openai";
|
|
4789
5112
|
readonly label: "OpenAI";
|
|
4790
5113
|
readonly description: "OPENAI_API_KEY (gpt-image-2) or active GPT model; falls back to a connected Codex subscription";
|
|
@@ -4809,6 +5132,7 @@ export declare const SETTINGS_SCHEMA: {
|
|
|
4809
5132
|
readonly label: "OpenRouter";
|
|
4810
5133
|
readonly description: "Requires OPENROUTER_API_KEY";
|
|
4811
5134
|
}];
|
|
5135
|
+
readonly ordered: true;
|
|
4812
5136
|
};
|
|
4813
5137
|
};
|
|
4814
5138
|
readonly "providers.fireworksTier": {
|
|
@@ -5688,6 +6012,9 @@ export interface RetrySettings {
|
|
|
5688
6012
|
baseDelayMs: number;
|
|
5689
6013
|
maxDelayMs: number;
|
|
5690
6014
|
modelFallback: boolean;
|
|
6015
|
+
usageAwareFallback: boolean;
|
|
6016
|
+
usageReservePct: number;
|
|
6017
|
+
usageReservePolicy: "confirm" | "auto" | "fail-closed";
|
|
5691
6018
|
}
|
|
5692
6019
|
export interface MemoriesSettings {
|
|
5693
6020
|
enabled: boolean;
|
|
@@ -88,6 +88,13 @@ export declare class Settings {
|
|
|
88
88
|
* Clear a runtime override.
|
|
89
89
|
*/
|
|
90
90
|
clearOverride(path: SettingPath): void;
|
|
91
|
+
/**
|
|
92
|
+
* Drop pending debounced saves and refuse any further background writes.
|
|
93
|
+
* Used when an instance is being discarded (test teardown): an armed timer
|
|
94
|
+
* or a chained in-flight save on a dropped instance would otherwise fire
|
|
95
|
+
* later and race the successor's file locks.
|
|
96
|
+
*/
|
|
97
|
+
cancelPendingSaves(): void;
|
|
91
98
|
/**
|
|
92
99
|
* Flush any pending saves to disk.
|
|
93
100
|
* Call before exit to ensure all changes are persisted.
|
|
@@ -72,4 +72,24 @@ export declare function waitForTcpServerListening(proc: {
|
|
|
72
72
|
stdout: ReadableStream<Uint8Array>;
|
|
73
73
|
exitCode: number | null;
|
|
74
74
|
}, port: number, timeoutMs: number): Promise<void>;
|
|
75
|
+
interface SocketTransport {
|
|
76
|
+
readable: ReadableStream<Uint8Array>;
|
|
77
|
+
writeSink: DapWriteSink;
|
|
78
|
+
socket: {
|
|
79
|
+
end(): void;
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Connect to a unix domain socket and return DAP transport streams.
|
|
84
|
+
*
|
|
85
|
+
* Rejects (rather than hanging) when the connect fails — a stat-ready but dead
|
|
86
|
+
* socket returns ECONNREFUSED, a socket removed between the readiness stat and
|
|
87
|
+
* the connect returns ENOENT, a permission mismatch returns EACCES — and when
|
|
88
|
+
* neither `open` nor an error arrives within `timeoutMs` (e.g. a TOCTOU stall).
|
|
89
|
+
* `#spawnSocketUnix`'s catch then kills the detached adapter instead of leaking
|
|
90
|
+
* it. Exported so tests can drive the reject path deterministically.
|
|
91
|
+
*/
|
|
92
|
+
export declare function connectSocket(options: {
|
|
93
|
+
unix: string;
|
|
94
|
+
}, timeoutMs: number): Promise<SocketTransport>;
|
|
75
95
|
export {};
|