deck-plugin-sdk 0.18.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 +1 -1
- package/shim/bridge.js +16 -12
- package/types/components/ConfirmDialog.d.ts +1 -1
- package/types/core/bridge.d.ts +100 -79
- package/types/core/debugtargets.d.ts +38 -0
- package/types/core/editorsettings.d.ts +4 -0
- package/types/core/monaco.d.ts +2 -0
- package/types/core/settingsstore.d.ts +0 -3
- package/types/core/terminals.d.ts +3 -1
package/package.json
CHANGED
package/shim/bridge.js
CHANGED
|
@@ -9,9 +9,9 @@ const b = () => {
|
|
|
9
9
|
return x;
|
|
10
10
|
};
|
|
11
11
|
|
|
12
|
-
export const
|
|
13
|
-
export const
|
|
14
|
-
export const
|
|
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);
|
|
@@ -86,6 +91,7 @@ export const gitMerge = (...a) => b().gitMerge(...a);
|
|
|
86
91
|
export const gitMergeAs = (...a) => b().gitMergeAs(...a);
|
|
87
92
|
export const gitMergeBase = (...a) => b().gitMergeBase(...a);
|
|
88
93
|
export const gitPendingOp = (...a) => b().gitPendingOp(...a);
|
|
94
|
+
export const gitPoll = (...a) => b().gitPoll(...a);
|
|
89
95
|
export const gitPull = (...a) => b().gitPull(...a);
|
|
90
96
|
export const gitPullRebase = (...a) => b().gitPullRebase(...a);
|
|
91
97
|
export const gitPush = (...a) => b().gitPush(...a);
|
|
@@ -116,6 +122,8 @@ export const gitTagDeleteRemote = (...a) => b().gitTagDeleteRemote(...a);
|
|
|
116
122
|
export const gitTagPush = (...a) => b().gitTagPush(...a);
|
|
117
123
|
export const gitUndoCommit = (...a) => b().gitUndoCommit(...a);
|
|
118
124
|
export const gitUnstage = (...a) => b().gitUnstage(...a);
|
|
125
|
+
export const glabApi = (...a) => b().glabApi(...a);
|
|
126
|
+
export const glabRun = (...a) => b().glabRun(...a);
|
|
119
127
|
export const googleAccount = (...a) => b().googleAccount(...a);
|
|
120
128
|
export const googleSignIn = (...a) => b().googleSignIn(...a);
|
|
121
129
|
export const googleSignOut = (...a) => b().googleSignOut(...a);
|
|
@@ -129,14 +137,11 @@ export const installClaudeMcp = (...a) => b().installClaudeMcp(...a);
|
|
|
129
137
|
export const installFromRegistry = (...a) => b().installFromRegistry(...a);
|
|
130
138
|
export const installPlugin = (...a) => b().installPlugin(...a);
|
|
131
139
|
export const isFullscreen = (...a) => b().isFullscreen(...a);
|
|
132
|
-
export const jiraCached = (...a) => b().jiraCached(...a);
|
|
133
|
-
export const jiraRefresh = (...a) => b().jiraRefresh(...a);
|
|
134
140
|
export const languagesDir = (...a) => b().languagesDir(...a);
|
|
135
141
|
export const launchFiles = (...a) => b().launchFiles(...a);
|
|
136
142
|
export const listApps = (...a) => b().listApps(...a);
|
|
137
143
|
export const listInstalled = (...a) => b().listInstalled(...a);
|
|
138
|
-
export const
|
|
139
|
-
export const mailRefresh = (...a) => b().mailRefresh(...a);
|
|
144
|
+
export const mediaMeta = (...a) => b().mediaMeta(...a);
|
|
140
145
|
export const mediaSetNowPlaying = (...a) => b().mediaSetNowPlaying(...a);
|
|
141
146
|
export const mediaSetPlayback = (...a) => b().mediaSetPlayback(...a);
|
|
142
147
|
export const memUsage = (...a) => b().memUsage(...a);
|
|
@@ -171,28 +176,27 @@ export const readTermLayout = (...a) => b().readTermLayout(...a);
|
|
|
171
176
|
export const readTrackMeta = (...a) => b().readTrackMeta(...a);
|
|
172
177
|
export const removeClaudeHooks = (...a) => b().removeClaudeHooks(...a);
|
|
173
178
|
export const removeClaudeMcp = (...a) => b().removeClaudeMcp(...a);
|
|
179
|
+
export const removeLanguage = (...a) => b().removeLanguage(...a);
|
|
174
180
|
export const restartApp = (...a) => b().restartApp(...a);
|
|
175
181
|
export const revealInFolder = (...a) => b().revealInFolder(...a);
|
|
176
182
|
export const runScriptNow = (...a) => b().runScriptNow(...a);
|
|
177
183
|
export const sessionList = (...a) => b().sessionList(...a);
|
|
178
184
|
export const setAutostart = (...a) => b().setAutostart(...a);
|
|
185
|
+
export const setDebugTargets = (...a) => b().setDebugTargets(...a);
|
|
179
186
|
export const setVaultRoot = (...a) => b().setVaultRoot(...a);
|
|
180
187
|
export const setWallpaper = (...a) => b().setWallpaper(...a);
|
|
181
|
-
export const setupChecks = (...a) => b().setupChecks(...a);
|
|
182
|
-
export const slackCached = (...a) => b().slackCached(...a);
|
|
183
|
-
export const slackRefresh = (...a) => b().slackRefresh(...a);
|
|
184
|
-
export const speakWithVoice = (...a) => b().speakWithVoice(...a);
|
|
185
188
|
export const sshTunnelClose = (...a) => b().sshTunnelClose(...a);
|
|
186
189
|
export const sshTunnelList = (...a) => b().sshTunnelList(...a);
|
|
187
190
|
export const sshTunnelOpen = (...a) => b().sshTunnelOpen(...a);
|
|
191
|
+
export const startupMarks = (...a) => b().startupMarks(...a);
|
|
188
192
|
export const startupRead = (...a) => b().startupRead(...a);
|
|
189
193
|
export const startupWrite = (...a) => b().startupWrite(...a);
|
|
190
|
-
export const stopSpeaking = (...a) => b().stopSpeaking(...a);
|
|
191
194
|
export const toggleFullscreen = (...a) => b().toggleFullscreen(...a);
|
|
192
195
|
export const vaultDataRead = (...a) => b().vaultDataRead(...a);
|
|
193
196
|
export const vaultDataWrite = (...a) => b().vaultDataWrite(...a);
|
|
194
197
|
export const vaultRelativize = (...a) => b().vaultRelativize(...a);
|
|
195
198
|
export const vaultResolve = (...a) => b().vaultResolve(...a);
|
|
199
|
+
export const vpsRunsPull = (...a) => b().vpsRunsPull(...a);
|
|
196
200
|
export const watchFiles = (...a) => b().watchFiles(...a);
|
|
197
201
|
export const writeDownloads = (...a) => b().writeDownloads(...a);
|
|
198
202
|
export const writeLibrary = (...a) => b().writeLibrary(...a);
|
package/types/core/bridge.d.ts
CHANGED
|
@@ -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>;
|
|
@@ -8,6 +9,8 @@ export interface AppProc {
|
|
|
8
9
|
path: string;
|
|
9
10
|
}
|
|
10
11
|
export declare const configRead: (name: string) => Promise<string>;
|
|
12
|
+
/** Raw bytes rather than a JSON argument: a 13.8MB pinboard parsed as JSON on Deck's UI thread
|
|
13
|
+
* held every other command up for 200ms per save (see config_write in config.rs). */
|
|
11
14
|
export declare const configWrite: (name: string, json: string) => Promise<void>;
|
|
12
15
|
export declare const getVaultRoot: () => Promise<string>;
|
|
13
16
|
export declare const setVaultRoot: (path: string) => Promise<void>;
|
|
@@ -54,12 +57,6 @@ export interface Settings {
|
|
|
54
57
|
wallpaperDim: number;
|
|
55
58
|
wallpaperBlur: number;
|
|
56
59
|
wallpaperPanel: number;
|
|
57
|
-
/** Atlassian site host, for building a browse link when a cached ticket has no URL. */
|
|
58
|
-
jiraSite: string;
|
|
59
|
-
assistantVoice: string;
|
|
60
|
-
/** Silence spoken replies without losing the chosen voice. Toggled from the Ask console. */
|
|
61
|
-
assistantMuted: boolean;
|
|
62
|
-
userName: string;
|
|
63
60
|
footerItems: Record<FooterItem, boolean>;
|
|
64
61
|
footerOrder: FooterItem[];
|
|
65
62
|
footerVisible: boolean;
|
|
@@ -79,13 +76,6 @@ export interface Settings {
|
|
|
79
76
|
httpMcpRevealSecrets: boolean;
|
|
80
77
|
}
|
|
81
78
|
export declare const DEFAULT_SETTINGS: Settings;
|
|
82
|
-
/** Stop anything being spoken right now. */
|
|
83
|
-
export declare function stopSpeaking(): void;
|
|
84
|
-
export declare function speakWithVoice(text: string, opts?: {
|
|
85
|
-
rate?: number;
|
|
86
|
-
onend?: () => void;
|
|
87
|
-
onerror?: () => void;
|
|
88
|
-
}): SpeechSynthesisUtterance | null;
|
|
89
79
|
export declare const setAutostart: (on: boolean) => Promise<void>;
|
|
90
80
|
export declare const getAutostart: () => Promise<boolean>;
|
|
91
81
|
export declare const toggleFullscreen: () => Promise<boolean>;
|
|
@@ -99,6 +89,16 @@ export interface MemServer {
|
|
|
99
89
|
mem: number;
|
|
100
90
|
pid: number;
|
|
101
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
|
+
}
|
|
102
102
|
export interface MemUsage {
|
|
103
103
|
deck: number;
|
|
104
104
|
agents: number;
|
|
@@ -116,8 +116,10 @@ export interface MemUsage {
|
|
|
116
116
|
/** claude running inside a pane. Also not part of `deck`. */
|
|
117
117
|
pane_agents: number;
|
|
118
118
|
pane_agent_count: number;
|
|
119
|
+
procs: MemProc[];
|
|
119
120
|
}
|
|
120
|
-
|
|
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>;
|
|
121
123
|
export declare const listApps: () => Promise<AppProc[]>;
|
|
122
124
|
export declare const listInstalled: () => Promise<AppProc[]>;
|
|
123
125
|
export declare const closeApp: (target: string) => Promise<string>;
|
|
@@ -142,12 +144,6 @@ export declare const notesRead: (scope: string, name: string) => Promise<string>
|
|
|
142
144
|
export declare const notesWrite: (scope: string, name: string, text: string) => Promise<void>;
|
|
143
145
|
export declare const notesDelete: (scope: string, name: string) => Promise<void>;
|
|
144
146
|
export declare const notesRename: (scope: string, from: string, to: string) => Promise<void>;
|
|
145
|
-
export interface SetupCheck {
|
|
146
|
-
id: string;
|
|
147
|
-
ok: boolean;
|
|
148
|
-
detail: string;
|
|
149
|
-
}
|
|
150
|
-
export declare const setupChecks: () => Promise<SetupCheck[]>;
|
|
151
147
|
/** One header, one value. A list rather than a map: order matters, and repeats are legal. */
|
|
152
148
|
export type HttpHeader = [string, string];
|
|
153
149
|
export interface HttpSendRequest {
|
|
@@ -249,40 +245,6 @@ export interface MusicSuggestions {
|
|
|
249
245
|
export declare const readMusicSuggestions: () => Promise<MusicSuggestions | null>;
|
|
250
246
|
export declare const readMusicTaste: () => Promise<string>;
|
|
251
247
|
export declare const writeMusicTaste: (text: string) => Promise<void>;
|
|
252
|
-
export interface JiraItem {
|
|
253
|
-
key: string;
|
|
254
|
-
status: string;
|
|
255
|
-
title: string;
|
|
256
|
-
url?: string;
|
|
257
|
-
/** One sentence on what the ticket asks for — what the rail shows and a drag carries. */
|
|
258
|
-
summary?: string;
|
|
259
|
-
/** The full description as markdown, for the detail drawer. */
|
|
260
|
-
description?: string;
|
|
261
|
-
assignee?: string;
|
|
262
|
-
priority?: string;
|
|
263
|
-
}
|
|
264
|
-
export interface TicketCache {
|
|
265
|
-
tickets: JiraItem[];
|
|
266
|
-
fetched: number;
|
|
267
|
-
}
|
|
268
|
-
export declare const jiraCached: () => Promise<TicketCache | null>;
|
|
269
|
-
export declare const jiraRefresh: () => Promise<TicketCache | null>;
|
|
270
|
-
export interface CalItem {
|
|
271
|
-
/** Start as 24-hour HH:MM, or "" for an all-day event. */
|
|
272
|
-
time: string;
|
|
273
|
-
end?: string;
|
|
274
|
-
title: string;
|
|
275
|
-
/** Video-call join URL, when the event has one. */
|
|
276
|
-
link?: string;
|
|
277
|
-
location?: string;
|
|
278
|
-
attendees?: number;
|
|
279
|
-
}
|
|
280
|
-
export interface CalendarCache {
|
|
281
|
-
events: CalItem[];
|
|
282
|
-
fetched: number;
|
|
283
|
-
}
|
|
284
|
-
export declare const calendarCached: () => Promise<CalendarCache | null>;
|
|
285
|
-
export declare const calendarRefresh: () => Promise<CalendarCache | null>;
|
|
286
248
|
/** Start a sign-in. Returns the consent URL to open in the browser. */
|
|
287
249
|
export declare const googleSignIn: () => Promise<string>;
|
|
288
250
|
/** A valid access token, refreshed if needed. Rejects when not connected. */
|
|
@@ -295,28 +257,6 @@ export interface GoogleAccount {
|
|
|
295
257
|
}
|
|
296
258
|
export declare const googleAccount: () => Promise<GoogleAccount | null>;
|
|
297
259
|
export declare const googleSignOut: () => Promise<void>;
|
|
298
|
-
export interface FeedItem {
|
|
299
|
-
from: string;
|
|
300
|
-
/** Slack: the channel, or "DM". Mail has none. */
|
|
301
|
-
where?: string;
|
|
302
|
-
/** Slack's message body. */
|
|
303
|
-
text?: string;
|
|
304
|
-
/** Mail's subject and one-line gloss. */
|
|
305
|
-
subject?: string;
|
|
306
|
-
snippet?: string;
|
|
307
|
-
url?: string;
|
|
308
|
-
when?: string;
|
|
309
|
-
/** Slack only: "dm" or "mention". */
|
|
310
|
-
kind?: string;
|
|
311
|
-
}
|
|
312
|
-
export interface FeedCache {
|
|
313
|
-
items: FeedItem[];
|
|
314
|
-
fetched: number;
|
|
315
|
-
}
|
|
316
|
-
export declare const slackCached: () => Promise<FeedCache | null>;
|
|
317
|
-
export declare const slackRefresh: () => Promise<FeedCache | null>;
|
|
318
|
-
export declare const mailCached: () => Promise<FeedCache | null>;
|
|
319
|
-
export declare const mailRefresh: () => Promise<FeedCache | null>;
|
|
320
260
|
export interface UsageBucket {
|
|
321
261
|
tokens: number;
|
|
322
262
|
cost: number;
|
|
@@ -359,7 +299,6 @@ export interface AgentSession {
|
|
|
359
299
|
title: string;
|
|
360
300
|
}
|
|
361
301
|
export declare const sessionList: () => Promise<AgentSession[]>;
|
|
362
|
-
export declare const askAssistant: (message: string, sessionId: string, resume: boolean, userName: string, jiraSite: string) => Promise<string>;
|
|
363
302
|
export interface ScriptJob {
|
|
364
303
|
id: string;
|
|
365
304
|
name: string;
|
|
@@ -420,6 +359,8 @@ export declare const fsList: (dir: string) => Promise<FsEntry[]>;
|
|
|
420
359
|
export declare const pluginsDir: () => Promise<string>;
|
|
421
360
|
/** `%APPDATA%\Deck\languages` (Deck-Dev in a debug build), created on first call. */
|
|
422
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>;
|
|
423
364
|
export declare const fsRead: (path: string) => Promise<string>;
|
|
424
365
|
/** Raw bytes, for a file that is not text — fsRead decodes as UTF-8 and would corrupt it. */
|
|
425
366
|
export declare const fsReadBytes: (path: string) => Promise<Uint8Array<ArrayBuffer>>;
|
|
@@ -448,6 +389,30 @@ export declare const vaultDataRead: (name: string) => Promise<string>;
|
|
|
448
389
|
export declare const vaultDataWrite: (name: string, text: string) => Promise<void>;
|
|
449
390
|
/** Relaunch Deck — the same binary, so a dev instance stays dev. Used by the plugin toggle. */
|
|
450
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>;
|
|
451
416
|
/** Copy a plugin folder into the plugins directory. Returns its id. Validates before writing. */
|
|
452
417
|
export declare const installPlugin: (src: string) => Promise<string>;
|
|
453
418
|
/** One file of a plugin, as the registry describes it. */
|
|
@@ -503,6 +468,8 @@ export declare const procKill: (id: string) => Promise<void>;
|
|
|
503
468
|
export declare const fsCreateDir: (dir: string, name: string) => Promise<string>;
|
|
504
469
|
export declare const fsRename: (path: string, newName: string) => Promise<string>;
|
|
505
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>;
|
|
506
473
|
export declare const fsCopy: (src: string, dstDir: string) => Promise<string>;
|
|
507
474
|
export declare const fsReveal: (path: string) => Promise<void>;
|
|
508
475
|
export declare const installClaudeHooks: () => Promise<void>;
|
|
@@ -544,6 +511,11 @@ export interface GitInfo {
|
|
|
544
511
|
behind: number;
|
|
545
512
|
}
|
|
546
513
|
export declare const gitInfo: (dir: string) => Promise<GitInfo>;
|
|
514
|
+
/** gitStatus and gitInfo in one `git status -b`: what the editor's poll asks for every 3s. */
|
|
515
|
+
export declare const gitPoll: (dir: string) => Promise<{
|
|
516
|
+
rows: GitStatusRow[];
|
|
517
|
+
info: GitInfo;
|
|
518
|
+
}>;
|
|
547
519
|
export declare const gitCommit: (dir: string, message: string) => Promise<string>;
|
|
548
520
|
export declare const gitPush: (dir: string) => Promise<string>;
|
|
549
521
|
export declare const gitPull: (dir: string) => Promise<string>;
|
|
@@ -572,11 +544,13 @@ export interface GraphCommit {
|
|
|
572
544
|
refs: string[];
|
|
573
545
|
}
|
|
574
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. */
|
|
575
548
|
export interface CommitFile {
|
|
576
549
|
rel: string;
|
|
577
550
|
letter: string;
|
|
578
551
|
adds: number;
|
|
579
552
|
dels: number;
|
|
553
|
+
old?: string;
|
|
580
554
|
}
|
|
581
555
|
export declare const gitCommitFiles: (dir: string, hash: string) => Promise<CommitFile[]>;
|
|
582
556
|
export declare const gitShowFile: (dir: string, rev: string, rel: string) => Promise<string>;
|
|
@@ -632,11 +606,18 @@ export declare const ghPrThreads: (dir: string, number: number) => Promise<strin
|
|
|
632
606
|
export declare const ghPrLineComment: (dir: string, number: number, commit: string, path: string, line: number, side: "LEFT" | "RIGHT", body: string) => Promise<string>;
|
|
633
607
|
export declare const ghThreadReply: (dir: string, thread: string, body: string) => Promise<string>;
|
|
634
608
|
export declare const ghThreadResolve: (dir: string, thread: string, resolve: boolean) => Promise<string>;
|
|
609
|
+
/** The GitLab CLI, `glab mr …` only. Rejects with "glab-missing" when glab is not installed. */
|
|
610
|
+
export declare const glabRun: (dir: string, args: string[]) => Promise<string>;
|
|
611
|
+
/**
|
|
612
|
+
* One GitLab REST request about this repo's merge requests (`projects/:id/merge_requests…` or
|
|
613
|
+
* `user`). `fields` go as strings; `json` values must be objects or arrays.
|
|
614
|
+
*/
|
|
615
|
+
export declare const glabApi: (dir: string, method: "GET" | "POST" | "PUT", path: string, fields?: [string, string][], json?: Record<string, object>) => Promise<string>;
|
|
635
616
|
/** The files that differ between two revisions. */
|
|
636
617
|
export declare const gitRangeFiles: (dir: string, from: string, to: string) => Promise<CommitFile[]>;
|
|
637
618
|
export declare const gitMergeBase: (dir: string, a: string, b: string) => Promise<string>;
|
|
638
|
-
/** Fetch pull request N's head from `remote`, so its commits can be diffed here. */
|
|
639
|
-
export declare const gitFetchPr: (dir: string, remote: string, number: number, base: string) => Promise<string>;
|
|
619
|
+
/** Fetch pull request N's head from `remote`, so its commits can be diffed here. `gitlab`: a merge request's. */
|
|
620
|
+
export declare const gitFetchPr: (dir: string, remote: string, number: number, base: string, gitlab?: boolean) => Promise<string>;
|
|
640
621
|
export declare const gitBranchRename: (dir: string, from: string, to: string) => Promise<string>;
|
|
641
622
|
export declare const gitPendingOp: (dir: string) => Promise<string>;
|
|
642
623
|
export declare const gitAbortOp: (dir: string, op: string) => Promise<string>;
|
|
@@ -671,6 +652,38 @@ export interface SearchOpts {
|
|
|
671
652
|
includes: string;
|
|
672
653
|
excludes: string;
|
|
673
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>>;
|
|
674
687
|
export declare const fsSearch: (dir: string, query: string, o: SearchOpts) => Promise<SearchHit[]>;
|
|
675
688
|
export declare const fsReplace: (dir: string, query: string, replacement: string, o: SearchOpts, files?: string[], line?: number) => Promise<number>;
|
|
676
689
|
export interface DbQueryResult {
|
|
@@ -712,3 +725,11 @@ export declare const dbSchema: (handle: number) => Promise<DbSchema>;
|
|
|
712
725
|
export declare const sshTunnelOpen: (host: string, remote: string) => Promise<[number, number]>;
|
|
713
726
|
export declare const sshTunnelClose: (id: number) => Promise<void>;
|
|
714
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;
|
package/types/core/monaco.d.ts
CHANGED
|
@@ -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
|
|
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;
|