deck-plugin-sdk 0.19.0 → 0.22.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "deck-plugin-sdk",
3
- "version": "0.19.0",
3
+ "version": "0.22.0",
4
4
  "description": "Build a plugin for Deck, outside the Deck repository.",
5
5
  "type": "module",
6
6
  "license": "MIT",
package/shim/bridge.js CHANGED
@@ -9,9 +9,9 @@ const b = () => {
9
9
  return x;
10
10
  };
11
11
 
12
- export const askAssistant = (...a) => b().askAssistant(...a);
13
- export const calendarCached = (...a) => b().calendarCached(...a);
14
- export const calendarRefresh = (...a) => b().calendarRefresh(...a);
12
+ export const backupExport = (...a) => b().backupExport(...a);
13
+ export const backupInspect = (...a) => b().backupInspect(...a);
14
+ export const backupRestore = (...a) => b().backupRestore(...a);
15
15
  export const claudeMcpEntry = (...a) => b().claudeMcpEntry(...a);
16
16
  export const claudeMcpStatus = (...a) => b().claudeMcpStatus(...a);
17
17
  export const claudePlanLimits = (...a) => b().claudePlanLimits(...a);
@@ -34,6 +34,9 @@ export const fsCopy = (...a) => b().fsCopy(...a);
34
34
  export const fsCreateDir = (...a) => b().fsCreateDir(...a);
35
35
  export const fsCreateFile = (...a) => b().fsCreateFile(...a);
36
36
  export const fsDelete = (...a) => b().fsDelete(...a);
37
+ export const fsFiles = (...a) => b().fsFiles(...a);
38
+ export const fsFind = (...a) => b().fsFind(...a);
39
+ export const fsHash = (...a) => b().fsHash(...a);
37
40
  export const fsHomeDir = (...a) => b().fsHomeDir(...a);
38
41
  export const fsList = (...a) => b().fsList(...a);
39
42
  export const fsMove = (...a) => b().fsMove(...a);
@@ -46,6 +49,8 @@ export const fsReveal = (...a) => b().fsReveal(...a);
46
49
  export const fsSaveUnique = (...a) => b().fsSaveUnique(...a);
47
50
  export const fsSearch = (...a) => b().fsSearch(...a);
48
51
  export const fsSize = (...a) => b().fsSize(...a);
52
+ export const fsThumbnail = (...a) => b().fsThumbnail(...a);
53
+ export const fsTrash = (...a) => b().fsTrash(...a);
49
54
  export const fsWrite = (...a) => b().fsWrite(...a);
50
55
  export const fsWriteBytes = (...a) => b().fsWriteBytes(...a);
51
56
  export const getAutostart = (...a) => b().getAutostart(...a);
@@ -132,14 +137,11 @@ export const installClaudeMcp = (...a) => b().installClaudeMcp(...a);
132
137
  export const installFromRegistry = (...a) => b().installFromRegistry(...a);
133
138
  export const installPlugin = (...a) => b().installPlugin(...a);
134
139
  export const isFullscreen = (...a) => b().isFullscreen(...a);
135
- export const jiraCached = (...a) => b().jiraCached(...a);
136
- export const jiraRefresh = (...a) => b().jiraRefresh(...a);
137
140
  export const languagesDir = (...a) => b().languagesDir(...a);
138
141
  export const launchFiles = (...a) => b().launchFiles(...a);
139
142
  export const listApps = (...a) => b().listApps(...a);
140
143
  export const listInstalled = (...a) => b().listInstalled(...a);
141
- export const mailCached = (...a) => b().mailCached(...a);
142
- export const mailRefresh = (...a) => b().mailRefresh(...a);
144
+ export const mediaMeta = (...a) => b().mediaMeta(...a);
143
145
  export const mediaSetNowPlaying = (...a) => b().mediaSetNowPlaying(...a);
144
146
  export const mediaSetPlayback = (...a) => b().mediaSetPlayback(...a);
145
147
  export const memUsage = (...a) => b().memUsage(...a);
@@ -174,28 +176,27 @@ export const readTermLayout = (...a) => b().readTermLayout(...a);
174
176
  export const readTrackMeta = (...a) => b().readTrackMeta(...a);
175
177
  export const removeClaudeHooks = (...a) => b().removeClaudeHooks(...a);
176
178
  export const removeClaudeMcp = (...a) => b().removeClaudeMcp(...a);
179
+ export const removeLanguage = (...a) => b().removeLanguage(...a);
177
180
  export const restartApp = (...a) => b().restartApp(...a);
178
181
  export const revealInFolder = (...a) => b().revealInFolder(...a);
179
182
  export const runScriptNow = (...a) => b().runScriptNow(...a);
180
183
  export const sessionList = (...a) => b().sessionList(...a);
181
184
  export const setAutostart = (...a) => b().setAutostart(...a);
185
+ export const setDebugTargets = (...a) => b().setDebugTargets(...a);
182
186
  export const setVaultRoot = (...a) => b().setVaultRoot(...a);
183
187
  export const setWallpaper = (...a) => b().setWallpaper(...a);
184
- export const setupChecks = (...a) => b().setupChecks(...a);
185
- export const slackCached = (...a) => b().slackCached(...a);
186
- export const slackRefresh = (...a) => b().slackRefresh(...a);
187
- export const speakWithVoice = (...a) => b().speakWithVoice(...a);
188
188
  export const sshTunnelClose = (...a) => b().sshTunnelClose(...a);
189
189
  export const sshTunnelList = (...a) => b().sshTunnelList(...a);
190
190
  export const sshTunnelOpen = (...a) => b().sshTunnelOpen(...a);
191
+ export const startupMarks = (...a) => b().startupMarks(...a);
191
192
  export const startupRead = (...a) => b().startupRead(...a);
192
193
  export const startupWrite = (...a) => b().startupWrite(...a);
193
- export const stopSpeaking = (...a) => b().stopSpeaking(...a);
194
194
  export const toggleFullscreen = (...a) => b().toggleFullscreen(...a);
195
195
  export const vaultDataRead = (...a) => b().vaultDataRead(...a);
196
196
  export const vaultDataWrite = (...a) => b().vaultDataWrite(...a);
197
197
  export const vaultRelativize = (...a) => b().vaultRelativize(...a);
198
198
  export const vaultResolve = (...a) => b().vaultResolve(...a);
199
+ export const vpsRunsPull = (...a) => b().vpsRunsPull(...a);
199
200
  export const watchFiles = (...a) => b().watchFiles(...a);
200
201
  export const writeDownloads = (...a) => b().writeDownloads(...a);
201
202
  export const writeLibrary = (...a) => b().writeLibrary(...a);
@@ -19,4 +19,4 @@ export interface ConfirmState {
19
19
  export declare function ConfirmDialog({ state, onClose }: {
20
20
  state: ConfirmState | null;
21
21
  onClose: () => void;
22
- }): import("react").JSX.Element;
22
+ }): import("react").ReactPortal;
@@ -1,4 +1,5 @@
1
1
  // GENERATED by sdk/gen-types.mjs from Deck's source — do not edit.
2
+ import { type DebugTarget } from "./debugtargets";
2
3
  import type { AccentColor, BgPreset, Density, TermTheme } from "./theme";
3
4
  /** Open a URL in the default browser. */
4
5
  export declare const openExternal: (url: string) => Promise<void>;
@@ -56,12 +57,6 @@ export interface Settings {
56
57
  wallpaperDim: number;
57
58
  wallpaperBlur: number;
58
59
  wallpaperPanel: number;
59
- /** Atlassian site host, for building a browse link when a cached ticket has no URL. */
60
- jiraSite: string;
61
- assistantVoice: string;
62
- /** Silence spoken replies without losing the chosen voice. Toggled from the Ask console. */
63
- assistantMuted: boolean;
64
- userName: string;
65
60
  footerItems: Record<FooterItem, boolean>;
66
61
  footerOrder: FooterItem[];
67
62
  footerVisible: boolean;
@@ -81,13 +76,6 @@ export interface Settings {
81
76
  httpMcpRevealSecrets: boolean;
82
77
  }
83
78
  export declare const DEFAULT_SETTINGS: Settings;
84
- /** Stop anything being spoken right now. */
85
- export declare function stopSpeaking(): void;
86
- export declare function speakWithVoice(text: string, opts?: {
87
- rate?: number;
88
- onend?: () => void;
89
- onerror?: () => void;
90
- }): SpeechSynthesisUtterance | null;
91
79
  export declare const setAutostart: (on: boolean) => Promise<void>;
92
80
  export declare const getAutostart: () => Promise<boolean>;
93
81
  export declare const toggleFullscreen: () => Promise<boolean>;
@@ -101,6 +89,16 @@ export interface MemServer {
101
89
  mem: number;
102
90
  pid: number;
103
91
  }
92
+ /** One process behind the figures, largest first. Only filled when memUsage(true) asks. */
93
+ export interface MemProc {
94
+ pid: number;
95
+ name: string;
96
+ cmd: string;
97
+ mem: number;
98
+ group: "deck" | "server" | "agent" | "pane-agent" | "pane";
99
+ /** The language server's session id, or the terminal pane's id. */
100
+ owner: string;
101
+ }
104
102
  export interface MemUsage {
105
103
  deck: number;
106
104
  agents: number;
@@ -118,8 +116,10 @@ export interface MemUsage {
118
116
  /** claude running inside a pane. Also not part of `deck`. */
119
117
  pane_agents: number;
120
118
  pane_agent_count: number;
119
+ procs: MemProc[];
121
120
  }
122
- export declare const memUsage: () => Promise<MemUsage>;
121
+ /** `detail` also lists every process with its command line: for the open popover, not the poll. */
122
+ export declare const memUsage: (detail?: boolean) => Promise<MemUsage>;
123
123
  export declare const listApps: () => Promise<AppProc[]>;
124
124
  export declare const listInstalled: () => Promise<AppProc[]>;
125
125
  export declare const closeApp: (target: string) => Promise<string>;
@@ -144,12 +144,6 @@ export declare const notesRead: (scope: string, name: string) => Promise<string>
144
144
  export declare const notesWrite: (scope: string, name: string, text: string) => Promise<void>;
145
145
  export declare const notesDelete: (scope: string, name: string) => Promise<void>;
146
146
  export declare const notesRename: (scope: string, from: string, to: string) => Promise<void>;
147
- export interface SetupCheck {
148
- id: string;
149
- ok: boolean;
150
- detail: string;
151
- }
152
- export declare const setupChecks: () => Promise<SetupCheck[]>;
153
147
  /** One header, one value. A list rather than a map: order matters, and repeats are legal. */
154
148
  export type HttpHeader = [string, string];
155
149
  export interface HttpSendRequest {
@@ -251,40 +245,6 @@ export interface MusicSuggestions {
251
245
  export declare const readMusicSuggestions: () => Promise<MusicSuggestions | null>;
252
246
  export declare const readMusicTaste: () => Promise<string>;
253
247
  export declare const writeMusicTaste: (text: string) => Promise<void>;
254
- export interface JiraItem {
255
- key: string;
256
- status: string;
257
- title: string;
258
- url?: string;
259
- /** One sentence on what the ticket asks for — what the rail shows and a drag carries. */
260
- summary?: string;
261
- /** The full description as markdown, for the detail drawer. */
262
- description?: string;
263
- assignee?: string;
264
- priority?: string;
265
- }
266
- export interface TicketCache {
267
- tickets: JiraItem[];
268
- fetched: number;
269
- }
270
- export declare const jiraCached: () => Promise<TicketCache | null>;
271
- export declare const jiraRefresh: () => Promise<TicketCache | null>;
272
- export interface CalItem {
273
- /** Start as 24-hour HH:MM, or "" for an all-day event. */
274
- time: string;
275
- end?: string;
276
- title: string;
277
- /** Video-call join URL, when the event has one. */
278
- link?: string;
279
- location?: string;
280
- attendees?: number;
281
- }
282
- export interface CalendarCache {
283
- events: CalItem[];
284
- fetched: number;
285
- }
286
- export declare const calendarCached: () => Promise<CalendarCache | null>;
287
- export declare const calendarRefresh: () => Promise<CalendarCache | null>;
288
248
  /** Start a sign-in. Returns the consent URL to open in the browser. */
289
249
  export declare const googleSignIn: () => Promise<string>;
290
250
  /** A valid access token, refreshed if needed. Rejects when not connected. */
@@ -297,28 +257,6 @@ export interface GoogleAccount {
297
257
  }
298
258
  export declare const googleAccount: () => Promise<GoogleAccount | null>;
299
259
  export declare const googleSignOut: () => Promise<void>;
300
- export interface FeedItem {
301
- from: string;
302
- /** Slack: the channel, or "DM". Mail has none. */
303
- where?: string;
304
- /** Slack's message body. */
305
- text?: string;
306
- /** Mail's subject and one-line gloss. */
307
- subject?: string;
308
- snippet?: string;
309
- url?: string;
310
- when?: string;
311
- /** Slack only: "dm" or "mention". */
312
- kind?: string;
313
- }
314
- export interface FeedCache {
315
- items: FeedItem[];
316
- fetched: number;
317
- }
318
- export declare const slackCached: () => Promise<FeedCache | null>;
319
- export declare const slackRefresh: () => Promise<FeedCache | null>;
320
- export declare const mailCached: () => Promise<FeedCache | null>;
321
- export declare const mailRefresh: () => Promise<FeedCache | null>;
322
260
  export interface UsageBucket {
323
261
  tokens: number;
324
262
  cost: number;
@@ -361,7 +299,6 @@ export interface AgentSession {
361
299
  title: string;
362
300
  }
363
301
  export declare const sessionList: () => Promise<AgentSession[]>;
364
- export declare const askAssistant: (message: string, sessionId: string, resume: boolean, userName: string, jiraSite: string) => Promise<string>;
365
302
  export interface ScriptJob {
366
303
  id: string;
367
304
  name: string;
@@ -422,6 +359,8 @@ export declare const fsList: (dir: string) => Promise<FsEntry[]>;
422
359
  export declare const pluginsDir: () => Promise<string>;
423
360
  /** `%APPDATA%\Deck\languages` (Deck-Dev in a debug build), created on first call. */
424
361
  export declare const languagesDir: () => Promise<string>;
362
+ /** Delete a language definition's folder (by its folder name). The server and debugger it names stay installed. */
363
+ export declare const removeLanguage: (folder: string) => Promise<void>;
425
364
  export declare const fsRead: (path: string) => Promise<string>;
426
365
  /** Raw bytes, for a file that is not text — fsRead decodes as UTF-8 and would corrupt it. */
427
366
  export declare const fsReadBytes: (path: string) => Promise<Uint8Array<ArrayBuffer>>;
@@ -450,6 +389,30 @@ export declare const vaultDataRead: (name: string) => Promise<string>;
450
389
  export declare const vaultDataWrite: (name: string, text: string) => Promise<void>;
451
390
  /** Relaunch Deck — the same binary, so a dev instance stays dev. Used by the plugin toggle. */
452
391
  export declare const restartApp: () => Promise<void>;
392
+ /** Fetch the VPS's Script Runner run log over SSH into the local run-log-vps config (vpsjobs.rs). */
393
+ export declare const vpsRunsPull: () => Promise<void>;
394
+ /** What Rust saw of this launch, as Unix ms: process creation and the setup() span. Null until
395
+ * setup() has finished, which is before any page script runs. */
396
+ export interface StartupMarks {
397
+ process: number;
398
+ setupStart: number;
399
+ setupEnd: number;
400
+ }
401
+ export declare const startupMarks: () => Promise<StartupMarks | null>;
402
+ /** What a backup file holds: the Deck that wrote it, when, and how many of each thing. */
403
+ export interface BackupSummary {
404
+ deck: string;
405
+ created: string;
406
+ configs: number;
407
+ plugins: number;
408
+ languages: number;
409
+ notes: number;
410
+ }
411
+ /** Every config, plugin and language to one file, credentials left out (backup.rs). */
412
+ export declare const backupExport: (path: string) => Promise<BackupSummary>;
413
+ export declare const backupInspect: (path: string) => Promise<BackupSummary>;
414
+ /** Writes the backup over this machine's copies. Deck should restart afterwards. */
415
+ export declare const backupRestore: (path: string) => Promise<BackupSummary>;
453
416
  /** Copy a plugin folder into the plugins directory. Returns its id. Validates before writing. */
454
417
  export declare const installPlugin: (src: string) => Promise<string>;
455
418
  /** One file of a plugin, as the registry describes it. */
@@ -505,6 +468,8 @@ export declare const procKill: (id: string) => Promise<void>;
505
468
  export declare const fsCreateDir: (dir: string, name: string) => Promise<string>;
506
469
  export declare const fsRename: (path: string, newName: string) => Promise<string>;
507
470
  export declare const fsDelete: (path: string) => Promise<void>;
471
+ /** Move to the Recycle Bin, so it can be restored (fsDelete removes for good). */
472
+ export declare const fsTrash: (path: string) => Promise<void>;
508
473
  export declare const fsCopy: (src: string, dstDir: string) => Promise<string>;
509
474
  export declare const fsReveal: (path: string) => Promise<void>;
510
475
  export declare const installClaudeHooks: () => Promise<void>;
@@ -579,11 +544,13 @@ export interface GraphCommit {
579
544
  refs: string[];
580
545
  }
581
546
  export declare const gitLogGraph: (dir: string, skip: number, rel?: string, refs?: string[]) => Promise<GraphCommit[]>;
547
+ /** `old`: a rename's or copy's path before the commit, which its parent side is read from. */
582
548
  export interface CommitFile {
583
549
  rel: string;
584
550
  letter: string;
585
551
  adds: number;
586
552
  dels: number;
553
+ old?: string;
587
554
  }
588
555
  export declare const gitCommitFiles: (dir: string, hash: string) => Promise<CommitFile[]>;
589
556
  export declare const gitShowFile: (dir: string, rev: string, rel: string) => Promise<string>;
@@ -685,6 +652,38 @@ export interface SearchOpts {
685
652
  includes: string;
686
653
  excludes: string;
687
654
  }
655
+ /** Every file under `dir` (absolute paths), .gitignore respected — the editor's Ctrl+P. */
656
+ export declare const fsFiles: (dir: string) => Promise<string[]>;
657
+ /** One file `fsFind` found. `mtime` is milliseconds since the epoch. */
658
+ export interface FoundFile {
659
+ path: string;
660
+ size: number;
661
+ mtime: number;
662
+ }
663
+ /**
664
+ * Every file with one of `exts` (no dot) under `roots`, or under every fixed drive when roots is
665
+ * null, skipping folders named in `excludeDirs` at any depth and files under `minSize` bytes.
666
+ * A walk of whole drives takes on the order of a minute.
667
+ */
668
+ export declare const fsFind: (roots: string[] | null, exts: string[], excludeDirs: string[], minSize: number) => Promise<FoundFile[]>;
669
+ /** Windows' own thumbnail of a file (what Explorer shows), as PNG bytes fitting `size` x `size`.
670
+ * Rejects when Windows has none for it. */
671
+ /** What Windows knows about a photo or video (its Properties' Details tab). Absent fields are null. */
672
+ export interface MediaMeta {
673
+ /** Date taken or recorded, ms since the epoch. */
674
+ taken: number | null;
675
+ width: number | null;
676
+ height: number | null;
677
+ camera: string | null;
678
+ lat: number | null;
679
+ lon: number | null;
680
+ duration_ms: number | null;
681
+ }
682
+ /** The properties of each path, in order; one that cannot be read comes back all null. */
683
+ export declare const mediaMeta: (paths: string[]) => Promise<MediaMeta[]>;
684
+ /** SHA-256 of each file's contents, in order; null for one that cannot be read. */
685
+ export declare const fsHash: (paths: string[]) => Promise<(string | null)[]>;
686
+ export declare const fsThumbnail: (path: string, size: number) => Promise<Uint8Array<ArrayBuffer>>;
688
687
  export declare const fsSearch: (dir: string, query: string, o: SearchOpts) => Promise<SearchHit[]>;
689
688
  export declare const fsReplace: (dir: string, query: string, replacement: string, o: SearchOpts, files?: string[], line?: number) => Promise<number>;
690
689
  export interface DbQueryResult {
@@ -726,3 +725,11 @@ export declare const dbSchema: (handle: number) => Promise<DbSchema>;
726
725
  export declare const sshTunnelOpen: (host: string, remote: string) => Promise<[number, number]>;
727
726
  export declare const sshTunnelClose: (id: number) => Promise<void>;
728
727
  export declare const sshTunnelList: () => Promise<[number, number][]>;
728
+ /**
729
+ * Offer programs to the editor's debugger: a plugin that runs something debuggable (the Flutter
730
+ * plugin's runs) publishes them here, and the Run and Debug panel lists them to attach to. Pass
731
+ * the plugin's whole current list each time, under its own `source`; an empty list removes it.
732
+ * See core/debugtargets.ts.
733
+ */
734
+ export declare const setDebugTargets: (source: string, targets: DebugTarget[]) => void;
735
+ export type { DebugTarget } from "./debugtargets";
@@ -0,0 +1,38 @@
1
+ // GENERATED by sdk/gen-types.mjs from Deck's source — do not edit.
2
+ export interface DebugTarget {
3
+ /** Unique within its source. */
4
+ id: string;
5
+ /** What the panel shows: "Attach to netapp (Windows)". */
6
+ name: string;
7
+ /** The language whose debug adapter runs it (its language.json `debug` block). */
8
+ languageId: string;
9
+ request: "attach" | "launch";
10
+ /** The adapter's attach or launch arguments, e.g. `{ vmServiceUri }`. */
11
+ args: Record<string, unknown>;
12
+ /** Where the program's source is: the adapter's working directory. */
13
+ cwd: string;
14
+ /**
15
+ * The adapter to use when the language's definition names none (a language.json without a
16
+ * `debug` block). The publisher knows what it runs; Deck does not hardcode any language.
17
+ */
18
+ adapter?: {
19
+ strategy: string;
20
+ command?: string;
21
+ module?: string;
22
+ args?: string[];
23
+ };
24
+ }
25
+ /**
26
+ * A language's launch template with the editor's variables filled in, the names VS Code uses in
27
+ * launch.json: `${file}`, `${fileDirname}`, `${fileBasename}`, `${workspaceFolder}`. Every string
28
+ * in the template, at any depth; anything else is kept as it is. An unknown variable is left in
29
+ * place, so a typo shows in what the adapter is sent rather than silently becoming empty.
30
+ */
31
+ export declare function fillLaunch(template: unknown, vars: {
32
+ file: string;
33
+ workspaceFolder: string;
34
+ }): unknown;
35
+ /** Replace one source's targets (an empty list removes them). */
36
+ export declare function setTargets(source: string, targets: DebugTarget[]): void;
37
+ export declare const getTargets: () => DebugTarget[];
38
+ export declare const subscribeTargets: (fn: () => void) => () => void;
@@ -17,6 +17,8 @@ export interface EditorSettings {
17
17
  indentGuides: boolean;
18
18
  bracketPairColorization: boolean;
19
19
  stickyScroll: boolean;
20
+ /** Greyed-out types and parameter names the language server suggests, drawn inline. */
21
+ inlayHints: "all" | "types" | "parameters" | "off";
20
22
  /**
21
23
  * Markdown: float the formatting bar over the selection instead of pinning it above the note.
22
24
  *
@@ -61,5 +63,7 @@ export declare const GRAPH_FONT_SIZES: number[];
61
63
  export declare const DEFAULT_EDITOR_SETTINGS: EditorSettings;
62
64
  export declare function updateEditorSettings(patch: Partial<EditorSettings>): void;
63
65
  export declare function getEditorSettings(): EditorSettings;
66
+ /** For a store outside React that reacts to a setting (lsp.ts re-asks for inlay hints). */
67
+ export declare function subscribeEditorSettings(cb: () => void): () => void;
64
68
  export declare function useEditorSettings(): EditorSettings;
65
69
  export declare function monacoOptionsFrom(s: EditorSettings): MonacoNS.editor.IEditorOptions;
@@ -26,6 +26,8 @@ export declare function addSemanticColors(rules: TokenColor[]): void;
26
26
  * built-in one rather than silently losing to it.
27
27
  */
28
28
  export declare function registerExtension(ext: string, languageId: string): void;
29
+ /** Give up every extension a language claimed: its definition was removed. */
30
+ export declare function forgetExtensions(languageId: string): void;
29
31
  /**
30
32
  * Map a filename to a Monaco language id.
31
33
  *
@@ -13,7 +13,4 @@ export declare function publishSettings(s: Settings): void;
13
13
  export declare function saveSettings(next: Settings): void;
14
14
  /** Current settings for non-React callers (the palette's providers). */
15
15
  export declare const getSettings: () => Settings;
16
- /** The OS account name — the home directory's last segment. "" if it can't be read. */
17
- export declare function osAccountName(): Promise<string>;
18
- export declare function userName(): Promise<string>;
19
16
  export declare function useSettings(): Settings;
@@ -225,7 +225,9 @@ export declare function moveLeaf(root: LayoutNode, srcId: string, targetId: stri
225
225
  * caller wants to type into the pane it just made. Pair it with queueInput: the pane has no PTY
226
226
  * until it is attached to a sized element, so anything written before then is dropped.
227
227
  */
228
- export declare function openTabInWorkspace(wsId: string, title: string): string | null;
228
+ export declare function openTabInWorkspace(wsId: string, title: string, opts?: {
229
+ besideActive?: boolean;
230
+ }): string | null;
229
231
  export declare function applyDtCommand(op: string, args: Record<string, unknown>): string | void;
230
232
  interface Instance {
231
233
  term: Terminal;