dsh-coding-sidebar 1.0.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/LICENSE +21 -0
- package/README.md +524 -0
- package/cordis.patch.yml +49 -0
- package/lib/client-editor.js +48229 -0
- package/lib/client-mermaid.js +200745 -0
- package/lib/client-registry.js +21867 -0
- package/lib/client-terminal.js +9361 -0
- package/lib/client.js +21867 -0
- package/lib/index.js +4556 -0
- package/lib/invariant.js +22 -0
- package/lib/types/agent-opens.d.ts +65 -0
- package/lib/types/agent-pty.d.ts +226 -0
- package/lib/types/browser-probe.d.ts +15 -0
- package/lib/types/bundle-route.d.ts +12 -0
- package/lib/types/client/BrowserView.d.ts +39 -0
- package/lib/types/client/DiffTab.d.ts +6 -0
- package/lib/types/client/DiffView.d.ts +51 -0
- package/lib/types/client/EditorHost.d.ts +13 -0
- package/lib/types/client/FileTree.d.ts +38 -0
- package/lib/types/client/FreeWindow.d.ts +29 -0
- package/lib/types/client/GitView.d.ts +10 -0
- package/lib/types/client/MarkdownHtml.d.ts +32 -0
- package/lib/types/client/OrphanedTab.d.ts +11 -0
- package/lib/types/client/PdfView.d.ts +6 -0
- package/lib/types/client/RenderBoundary.d.ts +32 -0
- package/lib/types/client/SandboxStatusBar.d.ts +10 -0
- package/lib/types/client/SideCardSection.d.ts +74 -0
- package/lib/types/client/SideChatView.d.ts +16 -0
- package/lib/types/client/Sidebar.d.ts +6 -0
- package/lib/types/client/SubagentView.d.ts +16 -0
- package/lib/types/client/TabBar.d.ts +54 -0
- package/lib/types/client/TerminalView.d.ts +24 -0
- package/lib/types/client/TextEditor.d.ts +10 -0
- package/lib/types/client/TreePanel.d.ts +24 -0
- package/lib/types/client/UploadOverlay.d.ts +20 -0
- package/lib/types/client/add-plugin-modal.d.ts +15 -0
- package/lib/types/client/api.d.ts +275 -0
- package/lib/types/client/binary-download.d.ts +12 -0
- package/lib/types/client/breakpoints.d.ts +17 -0
- package/lib/types/client/browser.d.ts +60 -0
- package/lib/types/client/builtins/index.d.ts +18 -0
- package/lib/types/client/builtins/tabs.d.ts +11 -0
- package/lib/types/client/builtins/viewers.d.ts +3 -0
- package/lib/types/client/chunk-loader.d.ts +131 -0
- package/lib/types/client/chunks/editor.d.ts +9 -0
- package/lib/types/client/chunks/mermaid.d.ts +10 -0
- package/lib/types/client/chunks/terminal.d.ts +9 -0
- package/lib/types/client/cm-themes.d.ts +24 -0
- package/lib/types/client/conversation-draft.d.ts +14 -0
- package/lib/types/client/desktop-env.d.ts +35 -0
- package/lib/types/client/editor-load.d.ts +66 -0
- package/lib/types/client/frame-batcher.d.ts +24 -0
- package/lib/types/client/icons.d.ts +59 -0
- package/lib/types/client/image-types.d.ts +3 -0
- package/lib/types/client/ime-guard.d.ts +36 -0
- package/lib/types/client/index.d.ts +25 -0
- package/lib/types/client/intercept.d.ts +46 -0
- package/lib/types/client/lang.d.ts +14 -0
- package/lib/types/client/layout-push.d.ts +15 -0
- package/lib/types/client/lazy-chunk.d.ts +25 -0
- package/lib/types/client/link-intercept.d.ts +42 -0
- package/lib/types/client/locales-ar.d.ts +18 -0
- package/lib/types/client/locales-de.d.ts +4 -0
- package/lib/types/client/locales-fr.d.ts +10 -0
- package/lib/types/client/locales-hi.d.ts +17 -0
- package/lib/types/client/locales-id.d.ts +15 -0
- package/lib/types/client/locales-it.d.ts +8 -0
- package/lib/types/client/locales-ja.d.ts +17 -0
- package/lib/types/client/locales-ko.d.ts +9 -0
- package/lib/types/client/locales-nl.d.ts +16 -0
- package/lib/types/client/locales-pl.d.ts +19 -0
- package/lib/types/client/locales-pt.d.ts +1 -0
- package/lib/types/client/locales-ru.d.ts +13 -0
- package/lib/types/client/locales-sv.d.ts +1 -0
- package/lib/types/client/locales-th.d.ts +17 -0
- package/lib/types/client/locales-tr.d.ts +17 -0
- package/lib/types/client/locales-vi.d.ts +17 -0
- package/lib/types/client/locales-zh-HK.d.ts +32 -0
- package/lib/types/client/locales-zh-MO.d.ts +32 -0
- package/lib/types/client/locales-zh-TW.d.ts +32 -0
- package/lib/types/client/locales.d.ts +452 -0
- package/lib/types/client/markdown-html.d.ts +96 -0
- package/lib/types/client/markdown-images.d.ts +45 -0
- package/lib/types/client/markdown-labels.d.ts +38 -0
- package/lib/types/client/md-toc.d.ts +4 -0
- package/lib/types/client/mermaid-blocks.d.ts +47 -0
- package/lib/types/client/mermaid-sanitize.d.ts +2 -0
- package/lib/types/client/mermaid.d.ts +12 -0
- package/lib/types/client/open-when-sized.d.ts +20 -0
- package/lib/types/client/open-with-settings.d.ts +4 -0
- package/lib/types/client/open-with.d.ts +87 -0
- package/lib/types/client/openpath-intercept.d.ts +85 -0
- package/lib/types/client/paths.d.ts +43 -0
- package/lib/types/client/pdf-types.d.ts +2 -0
- package/lib/types/client/pinned.d.ts +86 -0
- package/lib/types/client/plugin-settings.d.ts +8 -0
- package/lib/types/client/plugins-shared.d.ts +27 -0
- package/lib/types/client/plugins-tabs.d.ts +3 -0
- package/lib/types/client/plugins-viewers.d.ts +3 -0
- package/lib/types/client/prefs.d.ts +41 -0
- package/lib/types/client/produced-files.d.ts +29 -0
- package/lib/types/client/selection-payload.d.ts +27 -0
- package/lib/types/client/service.d.ts +439 -0
- package/lib/types/client/settings-nav-icon.d.ts +19 -0
- package/lib/types/client/shell-presets.d.ts +48 -0
- package/lib/types/client/sidechat-transcript.d.ts +103 -0
- package/lib/types/client/split-pane.d.ts +36 -0
- package/lib/types/client/state.d.ts +432 -0
- package/lib/types/client/subagent-detect.d.ts +54 -0
- package/lib/types/client/subagent-jobs.d.ts +63 -0
- package/lib/types/client/tab-content-memo.d.ts +40 -0
- package/lib/types/client/terminal-font.d.ts +78 -0
- package/lib/types/client/terminal-links.d.ts +119 -0
- package/lib/types/client/theme.d.ts +45 -0
- package/lib/types/client/titlebar-strip.d.ts +23 -0
- package/lib/types/client/upload.d.ts +69 -0
- package/lib/types/client/wco.d.ts +47 -0
- package/lib/types/config.d.ts +64 -0
- package/lib/types/context-types.d.ts +605 -0
- package/lib/types/fs-operations.d.ts +28 -0
- package/lib/types/fs-search.d.ts +24 -0
- package/lib/types/fs-tree.d.ts +51 -0
- package/lib/types/git.d.ts +124 -0
- package/lib/types/html-route.d.ts +59 -0
- package/lib/types/index.d.ts +47 -0
- package/lib/types/invariant.d.ts +15 -0
- package/lib/types/jobs-routes.d.ts +45 -0
- package/lib/types/open-external.d.ts +24 -0
- package/lib/types/path-security.d.ts +20 -0
- package/lib/types/prefs-shared.d.ts +236 -0
- package/lib/types/pty-deps.d.ts +78 -0
- package/lib/types/pty-manager.d.ts +168 -0
- package/lib/types/sidechat-core.d.ts +172 -0
- package/lib/types/sidechat-routes.d.ts +30 -0
- package/lib/types/subagent-activity.d.ts +44 -0
- package/lib/types/subagent-live-route.d.ts +44 -0
- package/lib/types/tools.d.ts +34 -0
- package/lib/types/trust-fence.d.ts +24 -0
- package/lib/types/wire.d.ts +38 -0
- package/package.json +172 -0
- package/scripts/install.ps1 +306 -0
- package/scripts/install.sh +287 -0
- package/src/agent-opens.ts +265 -0
- package/src/agent-pty.ts +527 -0
- package/src/browser-probe.ts +26 -0
- package/src/bundle-route.ts +129 -0
- package/src/client/BrowserView.tsx +289 -0
- package/src/client/DiffTab.tsx +114 -0
- package/src/client/DiffView.tsx +305 -0
- package/src/client/EditorHost.tsx +558 -0
- package/src/client/FileTree.tsx +669 -0
- package/src/client/FreeWindow.tsx +337 -0
- package/src/client/GitView.tsx +717 -0
- package/src/client/MarkdownHtml.tsx +296 -0
- package/src/client/OrphanedTab.tsx +27 -0
- package/src/client/PdfView.tsx +110 -0
- package/src/client/RenderBoundary.tsx +49 -0
- package/src/client/SandboxStatusBar.tsx +60 -0
- package/src/client/SideCardSection.module.css +960 -0
- package/src/client/SideCardSection.tsx +1163 -0
- package/src/client/SideChatView.module.css +437 -0
- package/src/client/SideChatView.tsx +645 -0
- package/src/client/Sidebar.tsx +1370 -0
- package/src/client/SubagentView.module.css +547 -0
- package/src/client/SubagentView.tsx +883 -0
- package/src/client/TabBar.tsx +365 -0
- package/src/client/TerminalView.tsx +424 -0
- package/src/client/TextEditor.tsx +468 -0
- package/src/client/TreePanel.tsx +275 -0
- package/src/client/UploadOverlay.tsx +62 -0
- package/src/client/add-plugin-modal.tsx +199 -0
- package/src/client/api.ts +357 -0
- package/src/client/binary-download.tsx +23 -0
- package/src/client/breakpoints.ts +61 -0
- package/src/client/browser.ts +167 -0
- package/src/client/builtins/index.ts +37 -0
- package/src/client/builtins/tabs.tsx +340 -0
- package/src/client/builtins/viewers.tsx +125 -0
- package/src/client/chunk-loader.ts +358 -0
- package/src/client/chunks/editor.tsx +9 -0
- package/src/client/chunks/mermaid.tsx +10 -0
- package/src/client/chunks/terminal.tsx +9 -0
- package/src/client/cm-themes.ts +129 -0
- package/src/client/conversation-draft.ts +29 -0
- package/src/client/css-modules.d.ts +5 -0
- package/src/client/desktop-env.ts +72 -0
- package/src/client/editor-load.ts +92 -0
- package/src/client/frame-batcher.ts +56 -0
- package/src/client/icons.tsx +152 -0
- package/src/client/image-types.ts +8 -0
- package/src/client/ime-guard.ts +47 -0
- package/src/client/index.tsx +427 -0
- package/src/client/intercept.tsx +188 -0
- package/src/client/lang.ts +225 -0
- package/src/client/layout-push.ts +24 -0
- package/src/client/layout.css +90 -0
- package/src/client/lazy-chunk.tsx +89 -0
- package/src/client/link-intercept.ts +73 -0
- package/src/client/locales-ar.ts +368 -0
- package/src/client/locales-de.ts +353 -0
- package/src/client/locales-fr.ts +360 -0
- package/src/client/locales-hi.ts +367 -0
- package/src/client/locales-id.ts +365 -0
- package/src/client/locales-it.ts +358 -0
- package/src/client/locales-ja.ts +367 -0
- package/src/client/locales-ko.ts +359 -0
- package/src/client/locales-nl.ts +365 -0
- package/src/client/locales-pl.ts +369 -0
- package/src/client/locales-pt.ts +350 -0
- package/src/client/locales-ru.ts +365 -0
- package/src/client/locales-sv.ts +350 -0
- package/src/client/locales-th.ts +367 -0
- package/src/client/locales-tr.ts +367 -0
- package/src/client/locales-vi.ts +367 -0
- package/src/client/locales-zh-HK.ts +382 -0
- package/src/client/locales-zh-MO.ts +382 -0
- package/src/client/locales-zh-TW.ts +382 -0
- package/src/client/locales.ts +894 -0
- package/src/client/markdown-html.ts +331 -0
- package/src/client/markdown-images.ts +137 -0
- package/src/client/markdown-labels.tsx +52 -0
- package/src/client/md-toc.tsx +127 -0
- package/src/client/mermaid-blocks.ts +110 -0
- package/src/client/mermaid-sanitize.ts +93 -0
- package/src/client/mermaid.tsx +406 -0
- package/src/client/open-when-sized.ts +43 -0
- package/src/client/open-with-settings.tsx +135 -0
- package/src/client/open-with.ts +221 -0
- package/src/client/openpath-intercept.ts +143 -0
- package/src/client/paths.ts +63 -0
- package/src/client/pdf-types.ts +4 -0
- package/src/client/pinned.ts +183 -0
- package/src/client/plugin-settings.ts +43 -0
- package/src/client/plugins-shared.ts +29 -0
- package/src/client/plugins-tabs.ts +96 -0
- package/src/client/plugins-viewers.ts +30 -0
- package/src/client/prefs.ts +210 -0
- package/src/client/produced-files.ts +120 -0
- package/src/client/selection-payload.ts +86 -0
- package/src/client/service.ts +859 -0
- package/src/client/settings-nav-icon.ts +45 -0
- package/src/client/shell-presets.ts +83 -0
- package/src/client/sidebar.module.css +2788 -0
- package/src/client/sidechat-transcript.ts +321 -0
- package/src/client/split-pane.tsx +331 -0
- package/src/client/state.ts +1497 -0
- package/src/client/subagent-detect.ts +137 -0
- package/src/client/subagent-jobs.ts +161 -0
- package/src/client/tab-content-memo.ts +55 -0
- package/src/client/terminal-font.ts +224 -0
- package/src/client/terminal-links.ts +194 -0
- package/src/client/theme.ts +110 -0
- package/src/client/titlebar-strip.ts +37 -0
- package/src/client/upload.ts +187 -0
- package/src/client/wco.ts +120 -0
- package/src/config.ts +154 -0
- package/src/context-types.ts +611 -0
- package/src/fs-operations.ts +95 -0
- package/src/fs-search.ts +113 -0
- package/src/fs-tree.ts +158 -0
- package/src/git.ts +446 -0
- package/src/html-route.ts +106 -0
- package/src/index.ts +1291 -0
- package/src/invariant.ts +32 -0
- package/src/jobs-routes.ts +257 -0
- package/src/open-external.ts +90 -0
- package/src/path-security.ts +75 -0
- package/src/prefs-shared.ts +280 -0
- package/src/pty-deps.ts +240 -0
- package/src/pty-manager.ts +376 -0
- package/src/sidechat-core.ts +468 -0
- package/src/sidechat-routes.ts +344 -0
- package/src/subagent-activity.ts +91 -0
- package/src/subagent-live-route.ts +93 -0
- package/src/tools.ts +482 -0
- package/src/trust-fence.ts +84 -0
- package/src/wire.ts +100 -0
package/src/config.ts
ADDED
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Serializable configuration and defaults for the sidebar host half. Loader
|
|
3
|
+
* schema validation normally fills defaults; {@link resolveSidebarConfig}
|
|
4
|
+
* applies the same defaults for direct callers that bypass the Loader.
|
|
5
|
+
* @module dsh-coding-sidebar/config
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import z from 'schemastery'
|
|
9
|
+
import {
|
|
10
|
+
SIDEBAR_PREFS_DEFAULTS,
|
|
11
|
+
SIDEBAR_PREFS_NS,
|
|
12
|
+
TERMINAL_FONT_SIZE_DEFAULT,
|
|
13
|
+
TERMINAL_FONT_SIZE_MAX,
|
|
14
|
+
TERMINAL_FONT_SIZE_MIN,
|
|
15
|
+
TITLE_BAR_STRIP_DEFAULT,
|
|
16
|
+
TITLE_BAR_STRIP_MAX,
|
|
17
|
+
TITLE_BAR_STRIP_MIN,
|
|
18
|
+
WIDTH_PERCENT_DEFAULT,
|
|
19
|
+
WIDTH_PERCENT_MAX,
|
|
20
|
+
WIDTH_PERCENT_MIN,
|
|
21
|
+
type SidebarPrefs,
|
|
22
|
+
} from './prefs-shared.ts'
|
|
23
|
+
|
|
24
|
+
export {
|
|
25
|
+
SIDEBAR_PREFS_DEFAULTS,
|
|
26
|
+
SIDEBAR_PREFS_NS,
|
|
27
|
+
TERMINAL_FONT_SIZE_DEFAULT,
|
|
28
|
+
TERMINAL_FONT_SIZE_MAX,
|
|
29
|
+
TERMINAL_FONT_SIZE_MIN,
|
|
30
|
+
TITLE_BAR_STRIP_DEFAULT,
|
|
31
|
+
TITLE_BAR_STRIP_MAX,
|
|
32
|
+
TITLE_BAR_STRIP_MIN,
|
|
33
|
+
WIDTH_PERCENT_DEFAULT,
|
|
34
|
+
WIDTH_PERCENT_MAX,
|
|
35
|
+
WIDTH_PERCENT_MIN,
|
|
36
|
+
type SidebarPrefs,
|
|
37
|
+
} from './prefs-shared.ts'
|
|
38
|
+
|
|
39
|
+
/** Tunable sidebar host limits (every field optional; defaults fill in). */
|
|
40
|
+
export interface SidebarConfig {
|
|
41
|
+
/** Read cap of one text file (bytes); larger files return truncated. */
|
|
42
|
+
readLimit?: number
|
|
43
|
+
/** Media route cap (bytes); larger binaries are refused. */
|
|
44
|
+
mediaLimit?: number
|
|
45
|
+
/** Upload route cap (bytes); larger files are refused without touching disk. */
|
|
46
|
+
uploadLimit?: number
|
|
47
|
+
/** Explorer row bound of one level. */
|
|
48
|
+
listLimit?: number
|
|
49
|
+
/** Terminals per session. */
|
|
50
|
+
terminalsPerSession?: number
|
|
51
|
+
/** How long a disconnected terminal process survives awaiting a reconnect. */
|
|
52
|
+
reconnectGraceMs?: number
|
|
53
|
+
/**
|
|
54
|
+
* Terminal shell (absolute path or bare executable name) for BOTH the UI
|
|
55
|
+
* terminal tabs and the model-facing `terminal_*` tools. Empty = auto:
|
|
56
|
+
* POSIX follows `$SHELL` then the account login shell; Windows follows
|
|
57
|
+
* `DSH_SIDEBAR_SHELL`, then probes for `pwsh.exe`, then falls back to the
|
|
58
|
+
* inbox `powershell.exe` (5.1). Set it from `cordis.patch.yml` / profile
|
|
59
|
+
* plugin config, e.g. `config: { shell: /bin/zsh }`.
|
|
60
|
+
*/
|
|
61
|
+
shell?: string
|
|
62
|
+
/**
|
|
63
|
+
* Optional arguments passed to the shell executable. When non-empty these
|
|
64
|
+
* REPLACE the automatic platform defaults (POSIX `-l` / Windows none), so
|
|
65
|
+
* the deployment has full control over how the shell starts. When omitted
|
|
66
|
+
* the existing default behavior is kept.
|
|
67
|
+
*/
|
|
68
|
+
shellArgs?: string[]
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/** Schemastery schema for the plugin configuration. */
|
|
72
|
+
export const Config: z<SidebarConfig> = z.object({
|
|
73
|
+
readLimit: z.number().step(1).min(1).default(512 * 1024),
|
|
74
|
+
mediaLimit: z.number().step(1).min(1).default(20 * 1024 * 1024),
|
|
75
|
+
uploadLimit: z.number().step(1).min(1).default(128 * 1024 * 1024),
|
|
76
|
+
listLimit: z.number().step(1).min(1).default(1000),
|
|
77
|
+
terminalsPerSession: z.number().step(1).min(1).default(3),
|
|
78
|
+
reconnectGraceMs: z.number().step(1).min(0).default(30_000),
|
|
79
|
+
shell: z.string().default(''),
|
|
80
|
+
shellArgs: z.array(z.string()).default([]),
|
|
81
|
+
})
|
|
82
|
+
|
|
83
|
+
/** Fully defaulted sidebar host settings. */
|
|
84
|
+
export interface ResolvedSidebarConfig {
|
|
85
|
+
readLimit: number
|
|
86
|
+
mediaLimit: number
|
|
87
|
+
uploadLimit: number
|
|
88
|
+
listLimit: number
|
|
89
|
+
terminalsPerSession: number
|
|
90
|
+
reconnectGraceMs: number
|
|
91
|
+
/** The configured terminal shell; empty means the host auto-resolves it. */
|
|
92
|
+
shell: string
|
|
93
|
+
/** Explicit shell arguments; empty means use the platform defaults. */
|
|
94
|
+
shellArgs: string[]
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Apply direct-call defaults after Loader schema validation has normally run.
|
|
99
|
+
*
|
|
100
|
+
* @param config - Deployment-provided sidebar host settings.
|
|
101
|
+
* @returns Complete settings consumed by the host half.
|
|
102
|
+
*/
|
|
103
|
+
export function resolveSidebarConfig(config: SidebarConfig | undefined): ResolvedSidebarConfig {
|
|
104
|
+
return {
|
|
105
|
+
readLimit: config?.readLimit ?? 512 * 1024,
|
|
106
|
+
mediaLimit: config?.mediaLimit ?? 20 * 1024 * 1024,
|
|
107
|
+
uploadLimit: config?.uploadLimit ?? 128 * 1024 * 1024,
|
|
108
|
+
listLimit: config?.listLimit ?? 1000,
|
|
109
|
+
terminalsPerSession: config?.terminalsPerSession ?? 3,
|
|
110
|
+
reconnectGraceMs: config?.reconnectGraceMs ?? 30_000,
|
|
111
|
+
shell: config?.shell?.trim() ?? '',
|
|
112
|
+
shellArgs: config?.shellArgs ?? [],
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
// ── User-facing "Side card" preferences ─────────────────────────────────────
|
|
117
|
+
|
|
118
|
+
/** Schemastery schema for the user-facing preferences (validated by the settings service). */
|
|
119
|
+
export const PrefsSchema: z<SidebarPrefs> = z.object({
|
|
120
|
+
openByDefault: z.boolean().default(false),
|
|
121
|
+
defaultWidthPercent: z.number().step(1).min(WIDTH_PERCENT_MIN).max(WIDTH_PERCENT_MAX).default(WIDTH_PERCENT_DEFAULT),
|
|
122
|
+
autoOpenSubagent: z.boolean().default(true),
|
|
123
|
+
autoOpenJobs: z.boolean().default(true),
|
|
124
|
+
agentTerminalTools: z.boolean().default(false),
|
|
125
|
+
agentOpenTools: z.boolean().default(false),
|
|
126
|
+
terminalFontFamily: z.string().default(''),
|
|
127
|
+
terminalFontSize: z.number().step(1).min(TERMINAL_FONT_SIZE_MIN).max(TERMINAL_FONT_SIZE_MAX).default(TERMINAL_FONT_SIZE_DEFAULT),
|
|
128
|
+
interceptOpenPath: z.boolean().default(true),
|
|
129
|
+
editorExplorer: z.boolean().default(false),
|
|
130
|
+
terminalShell: z.string().default(''),
|
|
131
|
+
terminalShellArgs: z.string().default(''),
|
|
132
|
+
titleBarScheme: z.union([z.const('auto'), z.const('web'), z.const('preset'), z.const('custom')]),
|
|
133
|
+
titleBarPresetId: z.string(),
|
|
134
|
+
customCss: z.string(),
|
|
135
|
+
titleBarCompat: z.boolean().default(false),
|
|
136
|
+
titleBarStripPx: z.number().step(1).min(TITLE_BAR_STRIP_MIN).max(TITLE_BAR_STRIP_MAX).default(TITLE_BAR_STRIP_DEFAULT),
|
|
137
|
+
htmlViewerNoSandbox: z.boolean().default(false),
|
|
138
|
+
htmlViewerDefaultUnsafe: z.boolean().default(false),
|
|
139
|
+
browserNoSandbox: z.boolean().default(false),
|
|
140
|
+
browserInterceptLinks: z.boolean().default(true),
|
|
141
|
+
browserInterceptHttp: z.boolean().default(true),
|
|
142
|
+
browserInterceptHttps: z.boolean().default(false),
|
|
143
|
+
browserAllowedLoopback: z.string().default(''),
|
|
144
|
+
// Per-feature enable switches are OPEN maps (any tab/viewer id, built-in or
|
|
145
|
+
// external): an absent key means enabled, so old documents resolve to {}
|
|
146
|
+
// (everything on) with no migration. Non-boolean values fail validation.
|
|
147
|
+
tabsEnabled: z.dict(z.boolean()).default({}),
|
|
148
|
+
viewersEnabled: z.dict(z.boolean()).default({}),
|
|
149
|
+
// Plugin-owned settings blobs (v0.12.0+) are an OPEN nested map: any
|
|
150
|
+
// descriptor id may carry any JSON-serializable values. This is the
|
|
151
|
+
// "settings seam" opening — without it the seam would drop third-party
|
|
152
|
+
// keys as unknown schema fields.
|
|
153
|
+
pluginSettings: z.dict(z.dict(z.any())).default({}),
|
|
154
|
+
})
|