@oh-my-pi/pi-coding-agent 17.0.8 → 17.1.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 +87 -1
- package/README.md +1 -1
- package/dist/cli.js +5495 -5021
- 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/__tests__/model-registry.test.d.ts +1 -0
- package/dist/types/config/model-registry.d.ts +30 -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 +350 -50
- 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 +1 -0
- package/dist/types/extensibility/legacy-pi-tui-shim.d.ts +10 -0
- package/dist/types/extensibility/plugins/legacy-pi-compat.d.ts +14 -1
- package/dist/types/internal-urls/registry-helpers.d.ts +11 -0
- package/dist/types/live/controller.d.ts +40 -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 +48 -0
- package/dist/types/live/visualizer.d.ts +33 -0
- package/dist/types/lsp/client.d.ts +18 -1
- package/dist/types/mcp/config-writer.test.d.ts +1 -0
- package/dist/types/mcp/manager.d.ts +6 -2
- package/dist/types/mcp/oauth-discovery.d.ts +2 -0
- package/dist/types/mcp/render.d.ts +2 -2
- package/dist/types/mcp/smithery-auth.d.ts +1 -1
- package/dist/types/mcp/smithery-auth.test.d.ts +1 -0
- package/dist/types/mcp/tool-bridge.d.ts +7 -3
- package/dist/types/mcp/types.d.ts +6 -0
- package/dist/types/memory-backend/tool-names.d.ts +2 -0
- package/dist/types/modes/components/login-dialog.d.ts +2 -2
- package/dist/types/modes/components/oauth-selector.d.ts +8 -0
- package/dist/types/modes/components/plan-review-overlay.d.ts +26 -0
- package/dist/types/modes/components/settings-defs.d.ts +8 -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/mcp-command-controller.d.ts +3 -0
- package/dist/types/modes/interactive-mode.d.ts +5 -0
- package/dist/types/modes/rpc/rpc-client.d.ts +10 -1
- package/dist/types/modes/rpc/rpc-frame.d.ts +16 -0
- package/dist/types/modes/rpc/rpc-messages.d.ts +26 -0
- package/dist/types/modes/rpc/rpc-types.d.ts +40 -0
- package/dist/types/modes/setup-wizard/scenes/sign-in.d.ts +1 -1
- package/dist/types/modes/setup-wizard/scenes/types.d.ts +9 -1
- package/dist/types/modes/setup-wizard/scenes/web-search.d.ts +1 -1
- package/dist/types/modes/theme/theme.d.ts +1 -1
- package/dist/types/modes/types.d.ts +3 -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 +314 -0
- package/dist/types/session/agent-session.d.ts +120 -750
- package/dist/types/session/async-job-delivery.d.ts +28 -0
- 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 +49 -0
- package/dist/types/session/irc-bridge.d.ts +46 -0
- package/dist/types/session/messages.d.ts +22 -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-loader.d.ts +6 -4
- 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 +143 -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/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/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/task/types.d.ts +14 -0
- package/dist/types/tools/approval.d.ts +1 -0
- package/dist/types/tools/browser/launch.d.ts +5 -0
- package/dist/types/tools/hub/jobs.d.ts +1 -1
- 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 +8 -0
- package/dist/types/tools/path-utils.d.ts +8 -0
- package/dist/types/tools/report-tool-issue.d.ts +24 -9
- 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 +14 -0
- 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/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/providers/firecrawl.d.ts +9 -0
- package/dist/types/web/search/types.d.ts +95 -1
- package/package.json +13 -12
- package/scripts/generate-share-viewer.ts +4 -6
- package/scripts/legacy-pi-virtual-module.ts +1 -1
- 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 +2 -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/grievances-cli.ts +2 -2
- package/src/cli/usage-cli.ts +11 -2
- package/src/collab/host.ts +3 -2
- package/src/commands/bench.ts +18 -4
- package/src/commands/launch.ts +4 -0
- package/src/config/__tests__/model-registry.test.ts +147 -0
- package/src/config/model-registry.ts +50 -2
- package/src/config/model-resolver.ts +0 -1
- 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 +250 -54
- package/src/config/settings.ts +81 -2
- package/src/dap/client.ts +37 -4
- package/src/edit/index.ts +49 -12
- package/src/eval/py/executor.ts +103 -33
- package/src/exec/bash-executor.ts +89 -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/legacy-pi-coding-agent-shim.ts +1 -0
- package/src/extensibility/legacy-pi-tui-shim.ts +10 -0
- package/src/extensibility/plugins/legacy-pi-compat.ts +870 -311
- 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/registry-helpers.ts +40 -0
- 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/audio-worklet.txt +59 -0
- package/src/live/browser-runtime.txt +221 -0
- package/src/live/controller.ts +464 -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 +490 -0
- package/src/live/visualizer.ts +234 -0
- package/src/lsp/client.ts +52 -9
- package/src/lsp/clients/biome-client.ts +3 -4
- package/src/lsp/index.ts +44 -11
- package/src/main.ts +9 -1
- package/src/mcp/config-writer.test.ts +43 -0
- package/src/mcp/config-writer.ts +109 -82
- package/src/mcp/manager.ts +39 -8
- package/src/mcp/oauth-discovery.ts +10 -2
- package/src/mcp/render.ts +94 -35
- package/src/mcp/smithery-auth.test.ts +29 -0
- package/src/mcp/smithery-auth.ts +3 -2
- package/src/mcp/tool-bridge.ts +107 -11
- package/src/mcp/types.ts +7 -0
- 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 +27 -10
- package/src/modes/components/login-dialog.ts +14 -4
- package/src/modes/components/oauth-selector.ts +24 -7
- package/src/modes/components/plan-review-overlay.ts +350 -35
- package/src/modes/components/settings-defs.ts +28 -3
- package/src/modes/components/settings-selector.ts +178 -6
- 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.test.ts +63 -2
- package/src/modes/components/tool-execution.ts +11 -2
- package/src/modes/controllers/command-controller.ts +70 -22
- 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/live-command-controller.ts +178 -0
- package/src/modes/controllers/mcp-command-controller.ts +80 -41
- package/src/modes/controllers/omfg-controller.ts +44 -40
- package/src/modes/controllers/selector-controller.ts +18 -10
- package/src/modes/controllers/session-focus-controller.ts +6 -1
- package/src/modes/interactive-mode.ts +160 -38
- package/src/modes/rpc/rpc-client.ts +94 -3
- package/src/modes/rpc/rpc-frame.ts +164 -4
- package/src/modes/rpc/rpc-messages.ts +127 -0
- package/src/modes/rpc/rpc-mode.ts +79 -7
- package/src/modes/rpc/rpc-types.ts +34 -2
- package/src/modes/runtime-init.ts +2 -0
- package/src/modes/setup-wizard/scenes/model.ts +5 -7
- package/src/modes/setup-wizard/scenes/providers.ts +3 -2
- package/src/modes/setup-wizard/scenes/sign-in.ts +8 -2
- package/src/modes/setup-wizard/scenes/theme.ts +13 -3
- package/src/modes/setup-wizard/scenes/types.ts +9 -1
- package/src/modes/setup-wizard/scenes/web-search.ts +23 -10
- package/src/modes/setup-wizard/wizard-overlay.ts +1 -1
- package/src/modes/theme/theme.ts +1 -1
- package/src/modes/types.ts +3 -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/goals/guided-goal-system.md +24 -3
- 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/task.md +12 -2
- 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 +255 -139
- 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 +334 -0
- package/src/session/agent-session.ts +1910 -12213
- package/src/session/artifacts.ts +6 -5
- package/src/session/async-job-delivery.ts +74 -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 +212 -0
- package/src/session/indexed-session-storage.ts +9 -2
- package/src/session/irc-bridge.ts +203 -0
- package/src/session/messages.ts +263 -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.test.ts +224 -1
- package/src/session/session-context.ts +47 -5
- 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 +10 -51
- 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 +943 -0
- package/src/session/session-workspace.ts +53 -0
- package/src/session/stream-guards.ts +417 -0
- 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 +92 -11
- package/src/slash-commands/helpers/usage-report.ts +25 -4
- package/src/system-prompt.ts +41 -17
- package/src/task/executor.ts +288 -70
- package/src/task/index.ts +148 -111
- package/src/task/output-manager.ts +25 -3
- package/src/task/persisted-revive.ts +4 -3
- package/src/task/structured-subagent.ts +4 -1
- package/src/task/types.ts +16 -0
- package/src/tools/approval.ts +55 -10
- package/src/tools/bash-interactive.ts +26 -0
- 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/hub/index.ts +1 -1
- package/src/tools/hub/jobs.ts +67 -8
- package/src/tools/image-gen.ts +20 -28
- package/src/tools/image-providers.ts +50 -0
- package/src/tools/index.ts +12 -0
- package/src/tools/path-utils.ts +49 -2
- package/src/tools/read.ts +156 -88
- package/src/tools/renderers.ts +7 -1
- package/src/tools/report-tool-issue.ts +79 -28
- 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 +67 -3
- package/src/tts/streaming-player.ts +62 -4
- package/src/tts/vocalizer.ts +18 -1
- package/src/utils/jj.ts +125 -4
- package/src/utils/lang-from-path.ts +7 -0
- package/src/utils/title-generator.ts +137 -1
- 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/firecrawl.ts +46 -13
- package/src/web/search/providers/xai.ts +7 -1
- package/src/web/search/types.ts +8 -1
|
@@ -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
|
*
|
|
@@ -62,6 +63,8 @@ interface UiNumber extends UiBase {
|
|
|
62
63
|
options?: ReadonlyArray<SubmenuOption>;
|
|
63
64
|
}
|
|
64
65
|
interface UiString extends UiBase {
|
|
66
|
+
/** Mask the value in both the settings row and text editor. */
|
|
67
|
+
secret?: boolean;
|
|
65
68
|
/**
|
|
66
69
|
* Submenu options.
|
|
67
70
|
* - Array → submenu with these choices.
|
|
@@ -70,9 +73,17 @@ interface UiString extends UiBase {
|
|
|
70
73
|
*/
|
|
71
74
|
options?: ReadonlyArray<SubmenuOption> | "runtime";
|
|
72
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
|
+
}
|
|
73
82
|
/** Wide ui shape exposed to consumers that walk the schema generically. */
|
|
74
83
|
export type AnyUiMetadata = UiBase & {
|
|
75
84
|
options?: ReadonlyArray<SubmenuOption> | "runtime";
|
|
85
|
+
secret?: boolean;
|
|
86
|
+
ordered?: boolean;
|
|
76
87
|
};
|
|
77
88
|
interface BooleanDef {
|
|
78
89
|
type: "boolean";
|
|
@@ -98,7 +109,7 @@ interface EnumDef<T extends readonly string[]> {
|
|
|
98
109
|
interface ArrayDef<T> {
|
|
99
110
|
type: "array";
|
|
100
111
|
default: T[];
|
|
101
|
-
ui?:
|
|
112
|
+
ui?: UiArray;
|
|
102
113
|
}
|
|
103
114
|
interface RecordDef<T> {
|
|
104
115
|
type: "record";
|
|
@@ -816,6 +827,16 @@ export declare const SETTINGS_SCHEMA: {
|
|
|
816
827
|
readonly description: "Render Mermaid fenced code blocks as ASCII diagrams";
|
|
817
828
|
};
|
|
818
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
|
+
};
|
|
819
840
|
readonly "tui.hyperlinks": {
|
|
820
841
|
readonly type: "enum";
|
|
821
842
|
readonly values: readonly ["off", "auto", "always"];
|
|
@@ -1077,6 +1098,16 @@ export declare const SETTINGS_SCHEMA: {
|
|
|
1077
1098
|
readonly description: "Render the workspace directory tree in the system prompt. WARNING: This can bust prompt caching across sessions when files are modified.";
|
|
1078
1099
|
};
|
|
1079
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
|
+
};
|
|
1080
1111
|
readonly personality: {
|
|
1081
1112
|
readonly type: "enum";
|
|
1082
1113
|
readonly values: readonly ["default", "friendly", "pragmatic", "none"];
|
|
@@ -1438,6 +1469,73 @@ export declare const SETTINGS_SCHEMA: {
|
|
|
1438
1469
|
readonly description: "Allow retry recovery to switch to configured fallback models";
|
|
1439
1470
|
};
|
|
1440
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
|
+
};
|
|
1441
1539
|
readonly "retry.fallbackChains": {
|
|
1442
1540
|
readonly type: "record";
|
|
1443
1541
|
readonly default: Record<string, string[]>;
|
|
@@ -1747,6 +1845,17 @@ export declare const SETTINGS_SCHEMA: {
|
|
|
1747
1845
|
readonly description: "Notify when the agent finishes a turn";
|
|
1748
1846
|
};
|
|
1749
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
|
+
};
|
|
1750
1859
|
readonly "ask.timeout": {
|
|
1751
1860
|
readonly type: "number";
|
|
1752
1861
|
readonly default: 0;
|
|
@@ -2839,6 +2948,14 @@ export declare const SETTINGS_SCHEMA: {
|
|
|
2839
2948
|
readonly "hindsight.apiToken": {
|
|
2840
2949
|
readonly type: "string";
|
|
2841
2950
|
readonly default: undefined;
|
|
2951
|
+
readonly ui: {
|
|
2952
|
+
readonly tab: "memory";
|
|
2953
|
+
readonly group: "Hindsight";
|
|
2954
|
+
readonly label: "Hindsight API Token";
|
|
2955
|
+
readonly description: "Bearer token for authenticated Hindsight servers";
|
|
2956
|
+
readonly condition: "hindsightActive";
|
|
2957
|
+
readonly secret: true;
|
|
2958
|
+
};
|
|
2842
2959
|
};
|
|
2843
2960
|
readonly "hindsight.bankId": {
|
|
2844
2961
|
readonly type: "string";
|
|
@@ -3234,6 +3351,16 @@ export declare const SETTINGS_SCHEMA: {
|
|
|
3234
3351
|
}];
|
|
3235
3352
|
};
|
|
3236
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
|
+
};
|
|
3237
3364
|
readonly "read.summarize.enabled": {
|
|
3238
3365
|
readonly type: "boolean";
|
|
3239
3366
|
readonly default: true;
|
|
@@ -3394,6 +3521,16 @@ export declare const SETTINGS_SCHEMA: {
|
|
|
3394
3521
|
readonly description: "Automatically background long-running bash commands and deliver the result later";
|
|
3395
3522
|
};
|
|
3396
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
|
+
};
|
|
3397
3534
|
readonly "bashInterceptor.enabled": {
|
|
3398
3535
|
readonly type: "boolean";
|
|
3399
3536
|
readonly default: false;
|
|
@@ -3408,6 +3545,27 @@ export declare const SETTINGS_SCHEMA: {
|
|
|
3408
3545
|
readonly type: "array";
|
|
3409
3546
|
readonly default: BashInterceptorRule[];
|
|
3410
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
|
+
};
|
|
3411
3569
|
readonly "shellMinimizer.enabled": {
|
|
3412
3570
|
readonly type: "boolean";
|
|
3413
3571
|
readonly default: true;
|
|
@@ -4040,6 +4198,40 @@ export declare const SETTINGS_SCHEMA: {
|
|
|
4040
4198
|
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.";
|
|
4041
4199
|
};
|
|
4042
4200
|
};
|
|
4201
|
+
readonly "tools.xdevDocs": {
|
|
4202
|
+
readonly type: "enum";
|
|
4203
|
+
readonly values: readonly ["inline", "builtins", "catalog"];
|
|
4204
|
+
readonly default: "builtins";
|
|
4205
|
+
readonly ui: {
|
|
4206
|
+
readonly tab: "tools";
|
|
4207
|
+
readonly group: "Discovery & MCP";
|
|
4208
|
+
readonly label: "xd:// Prompt Docs";
|
|
4209
|
+
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.";
|
|
4210
|
+
readonly options: readonly [{
|
|
4211
|
+
readonly value: "inline";
|
|
4212
|
+
readonly label: "All Devices";
|
|
4213
|
+
readonly description: "Inline docs and schemas for every mounted device.";
|
|
4214
|
+
}, {
|
|
4215
|
+
readonly value: "builtins";
|
|
4216
|
+
readonly label: "Built-ins Only";
|
|
4217
|
+
readonly description: "Inline built-in docs; fetch MCP and extension docs on demand.";
|
|
4218
|
+
}, {
|
|
4219
|
+
readonly value: "catalog";
|
|
4220
|
+
readonly label: "Catalog Only";
|
|
4221
|
+
readonly description: "List every device; fetch all docs on demand.";
|
|
4222
|
+
}];
|
|
4223
|
+
};
|
|
4224
|
+
};
|
|
4225
|
+
readonly "tools.xdevInlineDevices": {
|
|
4226
|
+
readonly type: "array";
|
|
4227
|
+
readonly default: string[];
|
|
4228
|
+
readonly ui: {
|
|
4229
|
+
readonly tab: "tools";
|
|
4230
|
+
readonly group: "Discovery & MCP";
|
|
4231
|
+
readonly label: "xd:// Inline Devices";
|
|
4232
|
+
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.";
|
|
4233
|
+
};
|
|
4234
|
+
};
|
|
4043
4235
|
readonly "mcp.enableProjectConfig": {
|
|
4044
4236
|
readonly type: "boolean";
|
|
4045
4237
|
readonly default: true;
|
|
@@ -4050,6 +4242,16 @@ export declare const SETTINGS_SCHEMA: {
|
|
|
4050
4242
|
readonly description: "Load .mcp.json/mcp.json from project root";
|
|
4051
4243
|
};
|
|
4052
4244
|
};
|
|
4245
|
+
readonly "mcp.renderMarkdownResults": {
|
|
4246
|
+
readonly type: "boolean";
|
|
4247
|
+
readonly default: true;
|
|
4248
|
+
readonly ui: {
|
|
4249
|
+
readonly tab: "tools";
|
|
4250
|
+
readonly group: "Discovery & MCP";
|
|
4251
|
+
readonly label: "MCP Markdown Results";
|
|
4252
|
+
readonly description: "Render non-JSON MCP text results as Markdown in the transcript";
|
|
4253
|
+
};
|
|
4254
|
+
};
|
|
4053
4255
|
readonly "mcp.notifications": {
|
|
4054
4256
|
readonly type: "boolean";
|
|
4055
4257
|
readonly default: false;
|
|
@@ -4183,6 +4385,16 @@ export declare const SETTINGS_SCHEMA: {
|
|
|
4183
4385
|
}];
|
|
4184
4386
|
};
|
|
4185
4387
|
};
|
|
4388
|
+
readonly "task.isolation.apply": {
|
|
4389
|
+
readonly type: "boolean";
|
|
4390
|
+
readonly default: true;
|
|
4391
|
+
readonly ui: {
|
|
4392
|
+
readonly tab: "tasks";
|
|
4393
|
+
readonly group: "Isolation";
|
|
4394
|
+
readonly label: "Apply Isolated Changes";
|
|
4395
|
+
readonly description: "Automatically apply successful isolated task changes to the parent checkout; disable to retain patch or branch artifacts";
|
|
4396
|
+
};
|
|
4397
|
+
};
|
|
4186
4398
|
readonly "task.isolation.merge": {
|
|
4187
4399
|
readonly type: "enum";
|
|
4188
4400
|
readonly values: readonly ["patch", "branch"];
|
|
@@ -4264,7 +4476,7 @@ export declare const SETTINGS_SCHEMA: {
|
|
|
4264
4476
|
readonly tab: "tasks";
|
|
4265
4477
|
readonly group: "Subagents";
|
|
4266
4478
|
readonly label: "Batch Task Calls";
|
|
4267
|
-
readonly description: "Switch the task tool to its batch shape: one call carries {
|
|
4479
|
+
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.";
|
|
4268
4480
|
};
|
|
4269
4481
|
};
|
|
4270
4482
|
readonly "task.maxConcurrency": {
|
|
@@ -4575,7 +4787,7 @@ export declare const SETTINGS_SCHEMA: {
|
|
|
4575
4787
|
readonly tab: "providers";
|
|
4576
4788
|
readonly group: "Privacy";
|
|
4577
4789
|
readonly label: "Hide Secrets";
|
|
4578
|
-
readonly description: "Obfuscate secrets before sending to AI providers";
|
|
4790
|
+
readonly description: "Obfuscate configured secrets and redact credential-shaped tokens before sending to AI providers";
|
|
4579
4791
|
};
|
|
4580
4792
|
};
|
|
4581
4793
|
readonly "providers.ollama-cloud.maxConcurrency": {
|
|
@@ -4588,112 +4800,108 @@ export declare const SETTINGS_SCHEMA: {
|
|
|
4588
4800
|
readonly description: "Maximum concurrent Ollama Cloud subagent runs per process; 0 disables the provider-specific limit";
|
|
4589
4801
|
};
|
|
4590
4802
|
};
|
|
4591
|
-
readonly "providers.
|
|
4592
|
-
readonly type: "
|
|
4593
|
-
readonly
|
|
4594
|
-
readonly default: "auto";
|
|
4803
|
+
readonly "providers.webSearchOrder": {
|
|
4804
|
+
readonly type: "array";
|
|
4805
|
+
readonly default: SearchProviderId[];
|
|
4595
4806
|
readonly ui: {
|
|
4596
4807
|
readonly tab: "providers";
|
|
4597
4808
|
readonly group: "Services";
|
|
4598
|
-
readonly label: "Web Search Provider";
|
|
4599
|
-
readonly description: "
|
|
4600
|
-
readonly options:
|
|
4601
|
-
readonly value: "auto";
|
|
4602
|
-
readonly label: "Auto";
|
|
4603
|
-
readonly description: "Automatically uses the first configured web-search provider";
|
|
4604
|
-
}, {
|
|
4809
|
+
readonly label: "Web Search Provider Order";
|
|
4810
|
+
readonly description: "Prioritized providers for the web_search tool; unlisted providers retain their default order afterward";
|
|
4811
|
+
readonly options: ({
|
|
4605
4812
|
readonly value: "perplexity";
|
|
4606
4813
|
readonly label: "Perplexity";
|
|
4607
4814
|
readonly description: "Uses auth when configured; explicit selection falls back to anonymous search";
|
|
4608
|
-
}
|
|
4815
|
+
} | {
|
|
4609
4816
|
readonly value: "gemini";
|
|
4610
4817
|
readonly label: "Gemini";
|
|
4611
4818
|
readonly description: "Google Search grounding via Gemini (uses google-gemini-cli or google-antigravity OAuth)";
|
|
4612
|
-
}
|
|
4819
|
+
} | {
|
|
4613
4820
|
readonly value: "anthropic";
|
|
4614
4821
|
readonly label: "Anthropic";
|
|
4615
4822
|
readonly description: "Claude's native web_search tool (uses Anthropic OAuth or ANTHROPIC_API_KEY)";
|
|
4616
|
-
}
|
|
4823
|
+
} | {
|
|
4617
4824
|
readonly value: "codex";
|
|
4618
4825
|
readonly label: "OpenAI";
|
|
4619
4826
|
readonly description: "OpenAI's native web_search (uses ChatGPT OAuth via /login openai-codex)";
|
|
4620
|
-
}
|
|
4827
|
+
} | {
|
|
4621
4828
|
readonly value: "xai";
|
|
4622
4829
|
readonly label: "xAI";
|
|
4623
4830
|
readonly description: "Grok web search via xAI Responses API (requires XAI_API_KEY)";
|
|
4624
|
-
}
|
|
4831
|
+
} | {
|
|
4625
4832
|
readonly value: "zai";
|
|
4626
4833
|
readonly label: "Z.AI";
|
|
4627
4834
|
readonly description: "Calls Z.AI webSearchPrime MCP";
|
|
4628
|
-
}
|
|
4835
|
+
} | {
|
|
4629
4836
|
readonly value: "exa";
|
|
4630
4837
|
readonly label: "Exa";
|
|
4631
4838
|
readonly description: "Uses Exa API when EXA_API_KEY is set; falls back to Exa MCP";
|
|
4632
|
-
}
|
|
4839
|
+
} | {
|
|
4633
4840
|
readonly value: "tinyfish";
|
|
4634
4841
|
readonly label: "TinyFish";
|
|
4635
4842
|
readonly description: "Requires TINYFISH_API_KEY";
|
|
4636
|
-
}
|
|
4843
|
+
} | {
|
|
4637
4844
|
readonly value: "jina";
|
|
4638
4845
|
readonly label: "Jina";
|
|
4639
4846
|
readonly description: "Requires JINA_API_KEY";
|
|
4640
|
-
}
|
|
4847
|
+
} | {
|
|
4641
4848
|
readonly value: "kagi";
|
|
4642
4849
|
readonly label: "Kagi";
|
|
4643
4850
|
readonly description: "Requires KAGI_API_KEY and Kagi Search API beta access";
|
|
4644
|
-
}
|
|
4851
|
+
} | {
|
|
4645
4852
|
readonly value: "tavily";
|
|
4646
4853
|
readonly label: "Tavily";
|
|
4647
4854
|
readonly description: "Requires TAVILY_API_KEY";
|
|
4648
|
-
}
|
|
4855
|
+
} | {
|
|
4649
4856
|
readonly value: "firecrawl";
|
|
4650
4857
|
readonly label: "Firecrawl";
|
|
4651
|
-
readonly description: "
|
|
4652
|
-
}
|
|
4858
|
+
readonly description: "Uses Firecrawl API when FIRECRAWL_API_KEY is set; falls back to keyless mode";
|
|
4859
|
+
} | {
|
|
4653
4860
|
readonly value: "brave";
|
|
4654
4861
|
readonly label: "Brave";
|
|
4655
4862
|
readonly description: "Requires BRAVE_API_KEY";
|
|
4656
|
-
}
|
|
4863
|
+
} | {
|
|
4657
4864
|
readonly value: "kimi";
|
|
4658
4865
|
readonly label: "Kimi";
|
|
4659
4866
|
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)";
|
|
4660
|
-
}
|
|
4867
|
+
} | {
|
|
4661
4868
|
readonly value: "parallel";
|
|
4662
4869
|
readonly label: "Parallel";
|
|
4663
4870
|
readonly description: "Requires PARALLEL_API_KEY";
|
|
4664
|
-
}
|
|
4871
|
+
} | {
|
|
4665
4872
|
readonly value: "synthetic";
|
|
4666
4873
|
readonly label: "Synthetic";
|
|
4667
4874
|
readonly description: "Requires SYNTHETIC_API_KEY";
|
|
4668
|
-
}
|
|
4875
|
+
} | {
|
|
4669
4876
|
readonly value: "searxng";
|
|
4670
4877
|
readonly label: "SearXNG";
|
|
4671
4878
|
readonly description: "Requires SEARXNG_ENDPOINT or searxng.endpoint";
|
|
4672
|
-
}
|
|
4879
|
+
} | {
|
|
4673
4880
|
readonly value: "startpage";
|
|
4674
4881
|
readonly label: "Startpage";
|
|
4675
4882
|
readonly description: "Credential-free scrape of Startpage (Google-backed) results; may be bot-challenged";
|
|
4676
|
-
}
|
|
4883
|
+
} | {
|
|
4677
4884
|
readonly value: "duckduckgo";
|
|
4678
4885
|
readonly label: "DuckDuckGo";
|
|
4679
4886
|
readonly description: "Credential-free best-effort fallback; may be bot-challenged on datacenter/shared-egress IPs";
|
|
4680
|
-
}
|
|
4887
|
+
} | {
|
|
4681
4888
|
readonly value: "ecosia";
|
|
4682
4889
|
readonly label: "Ecosia";
|
|
4683
4890
|
readonly description: "Credential-free browser-backed scrape of Ecosia (Google-backed) results";
|
|
4684
|
-
}
|
|
4891
|
+
} | {
|
|
4685
4892
|
readonly value: "google";
|
|
4686
4893
|
readonly label: "Google";
|
|
4687
4894
|
readonly description: "Credential-free browser-backed fallback; slower and may be bot-challenged";
|
|
4688
|
-
}
|
|
4895
|
+
} | {
|
|
4689
4896
|
readonly value: "mojeek";
|
|
4690
4897
|
readonly label: "Mojeek";
|
|
4691
4898
|
readonly description: "Credential-free browser-backed scrape of Mojeek's independent index";
|
|
4692
|
-
}
|
|
4899
|
+
} | {
|
|
4693
4900
|
readonly value: "public";
|
|
4694
4901
|
readonly label: "Public Web";
|
|
4695
4902
|
readonly description: "Queries every credential-free engine in parallel and consolidates deduplicated results";
|
|
4696
|
-
}];
|
|
4903
|
+
})[];
|
|
4904
|
+
readonly ordered: true;
|
|
4697
4905
|
};
|
|
4698
4906
|
};
|
|
4699
4907
|
readonly "providers.webSearchExclude": {
|
|
@@ -4704,6 +4912,99 @@ export declare const SETTINGS_SCHEMA: {
|
|
|
4704
4912
|
readonly group: "Services";
|
|
4705
4913
|
readonly label: "Excluded Web Search Providers";
|
|
4706
4914
|
readonly description: "Providers that web_search should never use, even as fallbacks";
|
|
4915
|
+
readonly options: ({
|
|
4916
|
+
readonly value: "perplexity";
|
|
4917
|
+
readonly label: "Perplexity";
|
|
4918
|
+
readonly description: "Uses auth when configured; explicit selection falls back to anonymous search";
|
|
4919
|
+
} | {
|
|
4920
|
+
readonly value: "gemini";
|
|
4921
|
+
readonly label: "Gemini";
|
|
4922
|
+
readonly description: "Google Search grounding via Gemini (uses google-gemini-cli or google-antigravity OAuth)";
|
|
4923
|
+
} | {
|
|
4924
|
+
readonly value: "anthropic";
|
|
4925
|
+
readonly label: "Anthropic";
|
|
4926
|
+
readonly description: "Claude's native web_search tool (uses Anthropic OAuth or ANTHROPIC_API_KEY)";
|
|
4927
|
+
} | {
|
|
4928
|
+
readonly value: "codex";
|
|
4929
|
+
readonly label: "OpenAI";
|
|
4930
|
+
readonly description: "OpenAI's native web_search (uses ChatGPT OAuth via /login openai-codex)";
|
|
4931
|
+
} | {
|
|
4932
|
+
readonly value: "xai";
|
|
4933
|
+
readonly label: "xAI";
|
|
4934
|
+
readonly description: "Grok web search via xAI Responses API (requires XAI_API_KEY)";
|
|
4935
|
+
} | {
|
|
4936
|
+
readonly value: "zai";
|
|
4937
|
+
readonly label: "Z.AI";
|
|
4938
|
+
readonly description: "Calls Z.AI webSearchPrime MCP";
|
|
4939
|
+
} | {
|
|
4940
|
+
readonly value: "exa";
|
|
4941
|
+
readonly label: "Exa";
|
|
4942
|
+
readonly description: "Uses Exa API when EXA_API_KEY is set; falls back to Exa MCP";
|
|
4943
|
+
} | {
|
|
4944
|
+
readonly value: "tinyfish";
|
|
4945
|
+
readonly label: "TinyFish";
|
|
4946
|
+
readonly description: "Requires TINYFISH_API_KEY";
|
|
4947
|
+
} | {
|
|
4948
|
+
readonly value: "jina";
|
|
4949
|
+
readonly label: "Jina";
|
|
4950
|
+
readonly description: "Requires JINA_API_KEY";
|
|
4951
|
+
} | {
|
|
4952
|
+
readonly value: "kagi";
|
|
4953
|
+
readonly label: "Kagi";
|
|
4954
|
+
readonly description: "Requires KAGI_API_KEY and Kagi Search API beta access";
|
|
4955
|
+
} | {
|
|
4956
|
+
readonly value: "tavily";
|
|
4957
|
+
readonly label: "Tavily";
|
|
4958
|
+
readonly description: "Requires TAVILY_API_KEY";
|
|
4959
|
+
} | {
|
|
4960
|
+
readonly value: "firecrawl";
|
|
4961
|
+
readonly label: "Firecrawl";
|
|
4962
|
+
readonly description: "Uses Firecrawl API when FIRECRAWL_API_KEY is set; falls back to keyless mode";
|
|
4963
|
+
} | {
|
|
4964
|
+
readonly value: "brave";
|
|
4965
|
+
readonly label: "Brave";
|
|
4966
|
+
readonly description: "Requires BRAVE_API_KEY";
|
|
4967
|
+
} | {
|
|
4968
|
+
readonly value: "kimi";
|
|
4969
|
+
readonly label: "Kimi";
|
|
4970
|
+
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)";
|
|
4971
|
+
} | {
|
|
4972
|
+
readonly value: "parallel";
|
|
4973
|
+
readonly label: "Parallel";
|
|
4974
|
+
readonly description: "Requires PARALLEL_API_KEY";
|
|
4975
|
+
} | {
|
|
4976
|
+
readonly value: "synthetic";
|
|
4977
|
+
readonly label: "Synthetic";
|
|
4978
|
+
readonly description: "Requires SYNTHETIC_API_KEY";
|
|
4979
|
+
} | {
|
|
4980
|
+
readonly value: "searxng";
|
|
4981
|
+
readonly label: "SearXNG";
|
|
4982
|
+
readonly description: "Requires SEARXNG_ENDPOINT or searxng.endpoint";
|
|
4983
|
+
} | {
|
|
4984
|
+
readonly value: "startpage";
|
|
4985
|
+
readonly label: "Startpage";
|
|
4986
|
+
readonly description: "Credential-free scrape of Startpage (Google-backed) results; may be bot-challenged";
|
|
4987
|
+
} | {
|
|
4988
|
+
readonly value: "duckduckgo";
|
|
4989
|
+
readonly label: "DuckDuckGo";
|
|
4990
|
+
readonly description: "Credential-free best-effort fallback; may be bot-challenged on datacenter/shared-egress IPs";
|
|
4991
|
+
} | {
|
|
4992
|
+
readonly value: "ecosia";
|
|
4993
|
+
readonly label: "Ecosia";
|
|
4994
|
+
readonly description: "Credential-free browser-backed scrape of Ecosia (Google-backed) results";
|
|
4995
|
+
} | {
|
|
4996
|
+
readonly value: "google";
|
|
4997
|
+
readonly label: "Google";
|
|
4998
|
+
readonly description: "Credential-free browser-backed fallback; slower and may be bot-challenged";
|
|
4999
|
+
} | {
|
|
5000
|
+
readonly value: "mojeek";
|
|
5001
|
+
readonly label: "Mojeek";
|
|
5002
|
+
readonly description: "Credential-free browser-backed scrape of Mojeek's independent index";
|
|
5003
|
+
} | {
|
|
5004
|
+
readonly value: "public";
|
|
5005
|
+
readonly label: "Public Web";
|
|
5006
|
+
readonly description: "Queries every credential-free engine in parallel and consolidates deduplicated results";
|
|
5007
|
+
})[];
|
|
4707
5008
|
};
|
|
4708
5009
|
};
|
|
4709
5010
|
readonly "providers.webSearchGeminiModel": {
|
|
@@ -4740,20 +5041,15 @@ export declare const SETTINGS_SCHEMA: {
|
|
|
4740
5041
|
}];
|
|
4741
5042
|
};
|
|
4742
5043
|
};
|
|
4743
|
-
readonly "providers.
|
|
4744
|
-
readonly type: "
|
|
4745
|
-
readonly
|
|
4746
|
-
readonly default: "auto";
|
|
5044
|
+
readonly "providers.imageOrder": {
|
|
5045
|
+
readonly type: "array";
|
|
5046
|
+
readonly default: ImageProvider[];
|
|
4747
5047
|
readonly ui: {
|
|
4748
5048
|
readonly tab: "providers";
|
|
4749
5049
|
readonly group: "Services";
|
|
4750
|
-
readonly label: "Image Provider";
|
|
4751
|
-
readonly description: "
|
|
5050
|
+
readonly label: "Image Provider Order";
|
|
5051
|
+
readonly description: "Prioritized providers for image generation; unlisted providers follow the active session provider and the built-in order";
|
|
4752
5052
|
readonly options: readonly [{
|
|
4753
|
-
readonly value: "auto";
|
|
4754
|
-
readonly label: "Auto";
|
|
4755
|
-
readonly description: "Priority: per-request provider > configured provider > active session provider > GPT model image tool > Codex subscription > Antigravity > xAI > OpenRouter > Gemini";
|
|
4756
|
-
}, {
|
|
4757
5053
|
readonly value: "openai";
|
|
4758
5054
|
readonly label: "OpenAI";
|
|
4759
5055
|
readonly description: "OPENAI_API_KEY (gpt-image-2) or active GPT model; falls back to a connected Codex subscription";
|
|
@@ -4778,6 +5074,7 @@ export declare const SETTINGS_SCHEMA: {
|
|
|
4778
5074
|
readonly label: "OpenRouter";
|
|
4779
5075
|
readonly description: "Requires OPENROUTER_API_KEY";
|
|
4780
5076
|
}];
|
|
5077
|
+
readonly ordered: true;
|
|
4781
5078
|
};
|
|
4782
5079
|
};
|
|
4783
5080
|
readonly "providers.fireworksTier": {
|
|
@@ -5486,12 +5783,12 @@ export declare const SETTINGS_SCHEMA: {
|
|
|
5486
5783
|
};
|
|
5487
5784
|
readonly "dev.autoqa": {
|
|
5488
5785
|
readonly type: "boolean";
|
|
5489
|
-
readonly default:
|
|
5786
|
+
readonly default: true;
|
|
5490
5787
|
readonly ui: {
|
|
5491
5788
|
readonly tab: "tools";
|
|
5492
5789
|
readonly group: "Developer";
|
|
5493
5790
|
readonly label: "Auto QA";
|
|
5494
|
-
readonly description: "
|
|
5791
|
+
readonly description: "Automated tool issue reporting (xd://report_issue). On by default; the first report asks for consent, and denying it disables reporting until re-enabled explicitly";
|
|
5495
5792
|
};
|
|
5496
5793
|
};
|
|
5497
5794
|
readonly "dev.autoqaPush.endpoint": {
|
|
@@ -5657,6 +5954,9 @@ export interface RetrySettings {
|
|
|
5657
5954
|
baseDelayMs: number;
|
|
5658
5955
|
maxDelayMs: number;
|
|
5659
5956
|
modelFallback: boolean;
|
|
5957
|
+
usageAwareFallback: boolean;
|
|
5958
|
+
usageReservePct: number;
|
|
5959
|
+
usageReservePolicy: "confirm" | "auto" | "fail-closed";
|
|
5660
5960
|
}
|
|
5661
5961
|
export interface MemoriesSettings {
|
|
5662
5962
|
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 {};
|