deck-plugin-sdk 1.10.2 → 1.10.3

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": "1.10.2",
3
+ "version": "1.10.3",
4
4
  "description": "Build a plugin for Deck, outside the Deck repository.",
5
5
  "type": "module",
6
6
  "license": "MIT",
package/permissions.json CHANGED
@@ -1,231 +1,241 @@
1
- {
2
- "generated": "by sdk/gen-permissions.mjs from src/core/permissions.ts; do not edit",
3
- "permissions": {
4
- "files": "Read and change files anywhere on this PC",
5
- "processes": "Run programs and commands",
6
- "git": "Read and change git repositories, and push",
7
- "network": "Connect to servers: web requests, SSH, databases and other Decks",
8
- "terminals": "Use your terminals and the AI agents running in them",
9
- "browser": "Control Deck's browser and the pages open in it",
10
- "secrets": "Use your saved passwords, your Google account and sudo passwords",
11
- "system": "Change this PC's apps, startup programs, wallpaper and running processes",
12
- "deck": "Change Deck itself: its settings, backups, plugins and languages"
13
- },
14
- "bridge": {
15
- "adblockConfig": "browser",
16
- "adblockInfo": "browser",
17
- "adblockRebuild": "browser",
18
- "adblockUpdate": "browser",
19
- "agentClis": "terminals",
20
- "agentMcpStatus": "terminals",
21
- "agentStop": "terminals",
22
- "askSudoPassword": "secrets",
23
- "backupExport": "deck",
24
- "backupInspect": "deck",
25
- "backupRestore": "deck",
26
- "bookmarksBarMode": "browser",
27
- "browserAgentAnswer": "browser",
28
- "browserAgentConfig": "browser",
29
- "browserAgentFillAnswer": "browser",
30
- "browserBounds": "browser",
31
- "browserCapture": "browser",
32
- "browserCdp": "browser",
33
- "browserClear": "browser",
34
- "browserClose": "browser",
35
- "browserCut": "browser",
36
- "browserDefaultRegister": "browser",
37
- "browserDefaultStatus": "browser",
38
- "browserDevtools": "browser",
39
- "browserDownload": "browser",
40
- "browserFind": "browser",
41
- "browserHistoryCount": "browser",
42
- "browserHistoryForgetRange": "browser",
43
- "browserHistoryForgetUrl": "browser",
44
- "browserHistoryList": "browser",
45
- "browserHistoryRecent": "browser",
46
- "browserHistorySuggest": "browser",
47
- "browserHistoryVisit": "browser",
48
- "browserMute": "browser",
49
- "browserNav": "browser",
50
- "browserNotificationClicked": "browser",
51
- "browserOpen": "browser",
52
- "browserOpenAppLink": "browser",
53
- "browserPermissionAnswer": "browser",
54
- "browserPermissions": "browser",
55
- "browserPermissionSet": "browser",
56
- "browserPrint": "browser",
57
- "browserPrivacy": "browser",
58
- "browserReloadHung": "browser",
59
- "browserSetKeys": "browser",
60
- "browserSite": "browser",
61
- "browserSiteAnswer": "browser",
62
- "browserSiteClear": "browser",
63
- "browserSleep": "browser",
64
- "browserWindowFullscreen": "browser",
65
- "browserZoom": "browser",
66
- "claudePlanLimits": "terminals",
67
- "claudeUsage": "terminals",
68
- "clearWallpaper": "system",
69
- "convertFileSrc": "files",
70
- "dbConnect": "network",
71
- "dbDisconnect": "network",
72
- "dbQuery": "network",
73
- "dbSchema": "network",
74
- "deleteIconPack": "deck",
75
- "exec": "processes",
76
- "extensionInstallFolder": "browser",
77
- "extensionInstallStore": "browser",
78
- "extensionPopup": "browser",
79
- "extensionPopupClose": "browser",
80
- "extensionReload": "browser",
81
- "extensionRemove": "browser",
82
- "extensionSetEnabled": "browser",
83
- "extensionsList": "browser",
84
- "fsCopy": "files",
85
- "fsCreateDir": "files",
86
- "fsCreateFile": "files",
87
- "fsDelete": "files",
88
- "fsDrives": "files",
89
- "fsFiles": "files",
90
- "fsFind": "files",
91
- "fsHash": "files",
92
- "fsList": "files",
93
- "fsMove": "files",
94
- "fsOpen": "files",
95
- "fsRead": "files",
96
- "fsReadBytes": "files",
97
- "fsRename": "files",
98
- "fsReplace": "files",
99
- "fsReveal": "files",
100
- "fsSaveUnique": "files",
101
- "fsSearch": "files",
102
- "fsSize": "files",
103
- "fsThumbnail": "files",
104
- "fsTrash": "files",
105
- "fsWrite": "files",
106
- "fsWriteBytes": "files",
107
- "ghPrLineComment": "network",
108
- "ghPrThreads": "network",
109
- "ghRun": "processes",
110
- "ghThreadReply": "network",
111
- "ghThreadResolve": "network",
112
- "gitAiCommitMsg": "git",
113
- "gitBlameLine": "git",
114
- "gitCheckout": "git",
115
- "gitCheckoutDetach": "git",
116
- "gitCheckoutNew": "git",
117
- "gitCheckoutTrack": "git",
118
- "gitCommitFiles": "git",
119
- "gitDiscard": "git",
120
- "gitFileBytes": "git",
121
- "gitFileDiff": "git",
122
- "gitInfo": "git",
123
- "gitLogGraph": "git",
124
- "gitPoll": "git",
125
- "gitRangeFiles": "git",
126
- "gitRefs": "git",
127
- "gitRepos": "git",
128
- "gitRun": "git",
129
- "gitStatus": "git",
130
- "glabApi": "network",
131
- "glabRun": "processes",
132
- "googleAccount": "secrets",
133
- "googleSignIn": "secrets",
134
- "googleSignOut": "secrets",
135
- "googleToken": "secrets",
136
- "httpCancel": "network",
137
- "httpSend": "network",
138
- "httpSendAs": "network",
139
- "httpSendReply": "network",
140
- "importIconPack": "deck",
141
- "installAgentHooks": "terminals",
142
- "installAgentMcp": "terminals",
143
- "installAgentSkills": "terminals",
144
- "installFromRegistry": "deck",
145
- "launchFiles": "files",
146
- "listApps": "system",
147
- "listInstalled": "system",
148
- "logLatest": "deck",
149
- "mediaMeta": "files",
150
- "memKill": "system",
151
- "openFile": "files",
152
- "openTestDeck": "deck",
153
- "procKill": "processes",
154
- "procStream": "processes",
155
- "procWrite": "processes",
156
- "readIconPackTheme": "deck",
157
- "readTermLayout": "terminals",
158
- "readTrackMeta": "files",
159
- "remoteHome": "network",
160
- "remoteStat": "network",
161
- "remoteSudoPassword": "secrets",
162
- "removeLanguage": "deck",
163
- "restartApp": "deck",
164
- "runScriptNow": "processes",
165
- "sessionList": "terminals",
166
- "setAutostart": "system",
167
- "setDebugTargets": "processes",
168
- "setWallpaper": "system",
169
- "sshHosts": "network",
170
- "sshTunnelClose": "network",
171
- "sshTunnelOpen": "network",
172
- "vaultChangePassword": "secrets",
173
- "vaultConfig": "secrets",
174
- "vaultCreate": "secrets",
175
- "vaultDelete": "secrets",
176
- "vaultExport": "secrets",
177
- "vaultFill": "secrets",
178
- "vaultFillNew": "secrets",
179
- "vaultGenerate": "secrets",
180
- "vaultImport": "secrets",
181
- "vaultList": "secrets",
182
- "vaultLock": "secrets",
183
- "vaultMatches": "secrets",
184
- "vaultNeverList": "secrets",
185
- "vaultNeverRemove": "secrets",
186
- "vaultOfferAnswer": "secrets",
187
- "vaultSave": "secrets",
188
- "vaultSecret": "secrets",
189
- "vaultStatus": "secrets",
190
- "vaultTotp": "secrets",
191
- "vaultUnlock": "secrets",
192
- "vpsRunsPull": "network",
193
- "watchFiles": "files"
194
- },
195
- "modules": {
196
- "terminals": "terminals",
197
- "p2p": "network"
198
- },
199
- "free": [
200
- "DEFAULT_SETTINGS",
201
- "FOOTER_ITEMS",
202
- "configDelete",
203
- "configRead",
204
- "configWrite",
205
- "dataDir",
206
- "deckReady",
207
- "dirsDownload",
208
- "footerOrder",
209
- "fsHomeDir",
210
- "getAutostart",
211
- "isFullscreen",
212
- "languagesDir",
213
- "launchUrls",
214
- "mediaSetNowPlaying",
215
- "mediaSetPlayback",
216
- "memUsage",
217
- "notifyOs",
218
- "openExternal",
219
- "pickAnyFile",
220
- "pickExe",
221
- "pickFile",
222
- "pickFolder",
223
- "pickImage",
224
- "pickSavePath",
225
- "pickScript",
226
- "pluginsDir",
227
- "revealInFolder",
228
- "startupMarks",
229
- "toggleFullscreen"
230
- ]
231
- }
1
+ {
2
+ "generated": "by sdk/gen-permissions.mjs from src/core/permissions.ts; do not edit",
3
+ "permissions": {
4
+ "files": "Read and change files anywhere on this PC",
5
+ "processes": "Run programs and commands",
6
+ "git": "Read and change git repositories, and push",
7
+ "network": "Connect to servers: web requests, SSH, databases and other Decks",
8
+ "terminals": "Use your terminals and the AI agents running in them",
9
+ "browser": "Control Deck's browser and the pages open in it",
10
+ "secrets": "Use your saved passwords, your Google account and sudo passwords",
11
+ "system": "Change this PC's apps, startup programs, wallpaper, sound and running processes, and take shortcuts in every app",
12
+ "deck": "Change Deck itself: its settings, backups, plugins and languages"
13
+ },
14
+ "bridge": {
15
+ "adblockConfig": "browser",
16
+ "adblockInfo": "browser",
17
+ "adblockRebuild": "browser",
18
+ "adblockUpdate": "browser",
19
+ "agentClis": "terminals",
20
+ "agentMcpStatus": "terminals",
21
+ "agentStop": "terminals",
22
+ "askSudoPassword": "secrets",
23
+ "audioDevices": "system",
24
+ "audioIcon": "system",
25
+ "audioPeak": "system",
26
+ "audioSessions": "system",
27
+ "audioSessionSet": "system",
28
+ "audioSetDefault": "system",
29
+ "audioSetMute": "system",
30
+ "audioSetVolume": "system",
31
+ "backupExport": "deck",
32
+ "backupInspect": "deck",
33
+ "backupRestore": "deck",
34
+ "bookmarksBarMode": "browser",
35
+ "browserAgentAnswer": "browser",
36
+ "browserAgentConfig": "browser",
37
+ "browserAgentFillAnswer": "browser",
38
+ "browserBounds": "browser",
39
+ "browserCapture": "browser",
40
+ "browserCdp": "browser",
41
+ "browserClear": "browser",
42
+ "browserClose": "browser",
43
+ "browserCut": "browser",
44
+ "browserDefaultRegister": "browser",
45
+ "browserDefaultStatus": "browser",
46
+ "browserDevtools": "browser",
47
+ "browserDownload": "browser",
48
+ "browserFind": "browser",
49
+ "browserHistoryCount": "browser",
50
+ "browserHistoryForgetRange": "browser",
51
+ "browserHistoryForgetUrl": "browser",
52
+ "browserHistoryList": "browser",
53
+ "browserHistoryRecent": "browser",
54
+ "browserHistorySuggest": "browser",
55
+ "browserHistoryVisit": "browser",
56
+ "browserMute": "browser",
57
+ "browserNav": "browser",
58
+ "browserNotificationClicked": "browser",
59
+ "browserOpen": "browser",
60
+ "browserOpenAppLink": "browser",
61
+ "browserPermissionAnswer": "browser",
62
+ "browserPermissions": "browser",
63
+ "browserPermissionSet": "browser",
64
+ "browserPrint": "browser",
65
+ "browserPrivacy": "browser",
66
+ "browserReloadHung": "browser",
67
+ "browserSetKeys": "browser",
68
+ "browserSite": "browser",
69
+ "browserSiteAnswer": "browser",
70
+ "browserSiteClear": "browser",
71
+ "browserSleep": "browser",
72
+ "browserWindowFullscreen": "browser",
73
+ "browserZoom": "browser",
74
+ "claudePlanLimits": "terminals",
75
+ "claudeUsage": "terminals",
76
+ "clearWallpaper": "system",
77
+ "convertFileSrc": "files",
78
+ "dbConnect": "network",
79
+ "dbDisconnect": "network",
80
+ "dbQuery": "network",
81
+ "dbSchema": "network",
82
+ "deleteIconPack": "deck",
83
+ "exec": "processes",
84
+ "extensionInstallFolder": "browser",
85
+ "extensionInstallStore": "browser",
86
+ "extensionPopup": "browser",
87
+ "extensionPopupClose": "browser",
88
+ "extensionReload": "browser",
89
+ "extensionRemove": "browser",
90
+ "extensionSetEnabled": "browser",
91
+ "extensionsList": "browser",
92
+ "fsCopy": "files",
93
+ "fsCreateDir": "files",
94
+ "fsCreateFile": "files",
95
+ "fsDelete": "files",
96
+ "fsDrives": "files",
97
+ "fsFiles": "files",
98
+ "fsFind": "files",
99
+ "fsHash": "files",
100
+ "fsList": "files",
101
+ "fsMove": "files",
102
+ "fsOpen": "files",
103
+ "fsRead": "files",
104
+ "fsReadBytes": "files",
105
+ "fsRename": "files",
106
+ "fsReplace": "files",
107
+ "fsReveal": "files",
108
+ "fsSaveUnique": "files",
109
+ "fsSearch": "files",
110
+ "fsSize": "files",
111
+ "fsThumbnail": "files",
112
+ "fsTrash": "files",
113
+ "fsWrite": "files",
114
+ "fsWriteBytes": "files",
115
+ "ghPrLineComment": "network",
116
+ "ghPrThreads": "network",
117
+ "ghRun": "processes",
118
+ "ghThreadReply": "network",
119
+ "ghThreadResolve": "network",
120
+ "gitAiCommitMsg": "git",
121
+ "gitBlameLine": "git",
122
+ "gitCheckout": "git",
123
+ "gitCheckoutDetach": "git",
124
+ "gitCheckoutNew": "git",
125
+ "gitCheckoutTrack": "git",
126
+ "gitCommitFiles": "git",
127
+ "gitDiscard": "git",
128
+ "gitFileBytes": "git",
129
+ "gitFileDiff": "git",
130
+ "gitInfo": "git",
131
+ "gitLogGraph": "git",
132
+ "gitPoll": "git",
133
+ "gitRangeFiles": "git",
134
+ "gitRefs": "git",
135
+ "gitRepos": "git",
136
+ "gitRun": "git",
137
+ "gitStatus": "git",
138
+ "glabApi": "network",
139
+ "glabRun": "processes",
140
+ "googleAccount": "secrets",
141
+ "googleSignIn": "secrets",
142
+ "googleSignOut": "secrets",
143
+ "googleToken": "secrets",
144
+ "httpCancel": "network",
145
+ "httpSend": "network",
146
+ "httpSendAs": "network",
147
+ "httpSendReply": "network",
148
+ "importIconPack": "deck",
149
+ "installAgentHooks": "terminals",
150
+ "installAgentMcp": "terminals",
151
+ "installAgentSkills": "terminals",
152
+ "installFromRegistry": "deck",
153
+ "launchFiles": "files",
154
+ "listApps": "system",
155
+ "listInstalled": "system",
156
+ "logLatest": "deck",
157
+ "mediaMeta": "files",
158
+ "memKill": "system",
159
+ "openFile": "files",
160
+ "openTestDeck": "deck",
161
+ "procKill": "processes",
162
+ "procStream": "processes",
163
+ "procWrite": "processes",
164
+ "readIconPackTheme": "deck",
165
+ "readTermLayout": "terminals",
166
+ "readTrackMeta": "files",
167
+ "remoteHome": "network",
168
+ "remoteStat": "network",
169
+ "remoteSudoPassword": "secrets",
170
+ "removeLanguage": "deck",
171
+ "restartApp": "deck",
172
+ "runScriptNow": "processes",
173
+ "sessionList": "terminals",
174
+ "setAutostart": "system",
175
+ "setDebugTargets": "processes",
176
+ "setWallpaper": "system",
177
+ "shortcutClear": "system",
178
+ "shortcutSet": "system",
179
+ "sshHosts": "network",
180
+ "sshTunnelClose": "network",
181
+ "sshTunnelOpen": "network",
182
+ "vaultChangePassword": "secrets",
183
+ "vaultConfig": "secrets",
184
+ "vaultCreate": "secrets",
185
+ "vaultDelete": "secrets",
186
+ "vaultExport": "secrets",
187
+ "vaultFill": "secrets",
188
+ "vaultFillNew": "secrets",
189
+ "vaultGenerate": "secrets",
190
+ "vaultImport": "secrets",
191
+ "vaultList": "secrets",
192
+ "vaultLock": "secrets",
193
+ "vaultMatches": "secrets",
194
+ "vaultNeverList": "secrets",
195
+ "vaultNeverRemove": "secrets",
196
+ "vaultOfferAnswer": "secrets",
197
+ "vaultSave": "secrets",
198
+ "vaultSecret": "secrets",
199
+ "vaultStatus": "secrets",
200
+ "vaultTotp": "secrets",
201
+ "vaultUnlock": "secrets",
202
+ "vpsRunsPull": "network",
203
+ "watchFiles": "files"
204
+ },
205
+ "modules": {
206
+ "terminals": "terminals",
207
+ "p2p": "network"
208
+ },
209
+ "free": [
210
+ "DEFAULT_SETTINGS",
211
+ "FOOTER_ITEMS",
212
+ "configDelete",
213
+ "configRead",
214
+ "configWrite",
215
+ "dataDir",
216
+ "deckReady",
217
+ "dirsDownload",
218
+ "footerOrder",
219
+ "fsHomeDir",
220
+ "getAutostart",
221
+ "isFullscreen",
222
+ "languagesDir",
223
+ "launchUrls",
224
+ "mediaSetNowPlaying",
225
+ "mediaSetPlayback",
226
+ "memUsage",
227
+ "notifyOs",
228
+ "openExternal",
229
+ "pickAnyFile",
230
+ "pickExe",
231
+ "pickFile",
232
+ "pickFolder",
233
+ "pickImage",
234
+ "pickSavePath",
235
+ "pickScript",
236
+ "pluginsDir",
237
+ "revealInFolder",
238
+ "startupMarks",
239
+ "toggleFullscreen"
240
+ ]
241
+ }
package/shim/bridge.js CHANGED
@@ -1,232 +1,242 @@
1
- // GENERATED by sdk/gen-shim.mjs — do not edit.
2
- //
3
- // Deck's bridge. Everything resolves at USE time, never at import time: a plugin module is
4
- // evaluated during loadPlugins, and a reference copied out then would capture a half-built
5
- // object. Functions forward their arguments; plain values are proxied.
6
- import { pluginId, scoped } from "./scope.js";
7
- // The plugin's own view (Deck 1.8+), which refuses what its permissions do not cover; an older
8
- // Deck has only the whole bridge.
9
- const b = () => {
10
- const x = window.__deck?.forPlugin?.(pluginId)?.bridge ?? window.__deck?.bridge;
11
- if (!x) throw new Error("window.__deck.bridge is missing — this plugin only runs inside Deck");
12
- return x;
13
- };
14
-
15
- export const adblockConfig = (...a) => b().adblockConfig(...a);
16
- export const adblockInfo = (...a) => b().adblockInfo(...a);
17
- export const adblockRebuild = (...a) => b().adblockRebuild(...a);
18
- export const adblockUpdate = (...a) => b().adblockUpdate(...a);
19
- export const agentClis = (...a) => b().agentClis(...a);
20
- export const agentMcpStatus = (...a) => b().agentMcpStatus(...a);
21
- export const agentStop = (...a) => b().agentStop(...a);
22
- export const askSudoPassword = (...a) => b().askSudoPassword(...a);
23
- export const backupExport = (...a) => b().backupExport(...a);
24
- export const backupInspect = (...a) => b().backupInspect(...a);
25
- export const backupRestore = (...a) => b().backupRestore(...a);
26
- export const bookmarksBarMode = (...a) => b().bookmarksBarMode(...a);
27
- export const browserAgentAnswer = (...a) => b().browserAgentAnswer(...a);
28
- export const browserAgentConfig = (...a) => b().browserAgentConfig(...a);
29
- export const browserAgentFillAnswer = (...a) => b().browserAgentFillAnswer(...a);
30
- export const browserBounds = (...a) => b().browserBounds(...a);
31
- export const browserCapture = (...a) => b().browserCapture(...a);
32
- export const browserCdp = (...a) => b().browserCdp(...a);
33
- export const browserClear = (...a) => b().browserClear(...a);
34
- export const browserClose = (...a) => b().browserClose(...a);
35
- export const browserCut = (...a) => b().browserCut(...a);
36
- export const browserDefaultRegister = (...a) => b().browserDefaultRegister(...a);
37
- export const browserDefaultStatus = (...a) => b().browserDefaultStatus(...a);
38
- export const browserDevtools = (...a) => b().browserDevtools(...a);
39
- export const browserDownload = (...a) => b().browserDownload(...a);
40
- export const browserFind = (...a) => b().browserFind(...a);
41
- export const browserHistoryCount = (...a) => b().browserHistoryCount(...a);
42
- export const browserHistoryForgetRange = (...a) => b().browserHistoryForgetRange(...a);
43
- export const browserHistoryForgetUrl = (...a) => b().browserHistoryForgetUrl(...a);
44
- export const browserHistoryList = (...a) => b().browserHistoryList(...a);
45
- export const browserHistoryRecent = (...a) => b().browserHistoryRecent(...a);
46
- export const browserHistorySuggest = (...a) => b().browserHistorySuggest(...a);
47
- export const browserHistoryVisit = (...a) => b().browserHistoryVisit(...a);
48
- export const browserMute = (...a) => b().browserMute(...a);
49
- export const browserNav = (...a) => b().browserNav(...a);
50
- export const browserNotificationClicked = (...a) => b().browserNotificationClicked(...a);
51
- export const browserOpen = (...a) => b().browserOpen(...a);
52
- export const browserOpenAppLink = (...a) => b().browserOpenAppLink(...a);
53
- export const browserPermissionAnswer = (...a) => b().browserPermissionAnswer(...a);
54
- export const browserPermissionSet = (...a) => b().browserPermissionSet(...a);
55
- export const browserPermissions = (...a) => b().browserPermissions(...a);
56
- export const browserPrint = (...a) => b().browserPrint(...a);
57
- export const browserPrivacy = (...a) => b().browserPrivacy(...a);
58
- export const browserReloadHung = (...a) => b().browserReloadHung(...a);
59
- export const browserSetKeys = (...a) => b().browserSetKeys(...a);
60
- export const browserSite = (...a) => b().browserSite(...a);
61
- export const browserSiteAnswer = (...a) => b().browserSiteAnswer(...a);
62
- export const browserSiteClear = (...a) => b().browserSiteClear(...a);
63
- export const browserSleep = (...a) => b().browserSleep(...a);
64
- export const browserWindowFullscreen = (...a) => b().browserWindowFullscreen(...a);
65
- export const browserZoom = (...a) => b().browserZoom(...a);
66
- export const claudePlanLimits = (...a) => b().claudePlanLimits(...a);
67
- export const claudeUsage = (...a) => b().claudeUsage(...a);
68
- export const clearWallpaper = (...a) => b().clearWallpaper(...a);
69
- export const configDelete = (name, ...a) => b().configDelete(scoped(name), ...a);
70
- export const configRead = (name, ...a) => b().configRead(scoped(name), ...a);
71
- export const configWrite = (name, ...a) => b().configWrite(scoped(name), ...a);
72
- export const convertFileSrc = (...a) => b().convertFileSrc(...a);
73
- export const dataDir = () => b().dataDir(pluginId);
74
- export const dbConnect = (...a) => b().dbConnect(...a);
75
- export const dbDisconnect = (...a) => b().dbDisconnect(...a);
76
- export const dbQuery = (...a) => b().dbQuery(...a);
77
- export const dbSchema = (...a) => b().dbSchema(...a);
78
- export const deckReady = (...a) => b().deckReady(...a);
79
- export const deleteIconPack = (...a) => b().deleteIconPack(...a);
80
- export const dirsDownload = (...a) => b().dirsDownload(...a);
81
- export const exec = (...a) => b().exec(...a);
82
- export const extensionInstallFolder = (...a) => b().extensionInstallFolder(...a);
83
- export const extensionInstallStore = (...a) => b().extensionInstallStore(...a);
84
- export const extensionPopup = (...a) => b().extensionPopup(...a);
85
- export const extensionPopupClose = (...a) => b().extensionPopupClose(...a);
86
- export const extensionReload = (...a) => b().extensionReload(...a);
87
- export const extensionRemove = (...a) => b().extensionRemove(...a);
88
- export const extensionSetEnabled = (...a) => b().extensionSetEnabled(...a);
89
- export const extensionsList = (...a) => b().extensionsList(...a);
90
- export const footerOrder = (...a) => b().footerOrder(...a);
91
- export const fsCopy = (...a) => b().fsCopy(...a);
92
- export const fsCreateDir = (...a) => b().fsCreateDir(...a);
93
- export const fsCreateFile = (...a) => b().fsCreateFile(...a);
94
- export const fsDelete = (...a) => b().fsDelete(...a);
95
- export const fsDrives = (...a) => b().fsDrives(...a);
96
- export const fsFiles = (...a) => b().fsFiles(...a);
97
- export const fsFind = (...a) => b().fsFind(...a);
98
- export const fsHash = (...a) => b().fsHash(...a);
99
- export const fsHomeDir = (...a) => b().fsHomeDir(...a);
100
- export const fsList = (...a) => b().fsList(...a);
101
- export const fsMove = (...a) => b().fsMove(...a);
102
- export const fsOpen = (...a) => b().fsOpen(...a);
103
- export const fsRead = (...a) => b().fsRead(...a);
104
- export const fsReadBytes = (...a) => b().fsReadBytes(...a);
105
- export const fsRename = (...a) => b().fsRename(...a);
106
- export const fsReplace = (...a) => b().fsReplace(...a);
107
- export const fsReveal = (...a) => b().fsReveal(...a);
108
- export const fsSaveUnique = (...a) => b().fsSaveUnique(...a);
109
- export const fsSearch = (...a) => b().fsSearch(...a);
110
- export const fsSize = (...a) => b().fsSize(...a);
111
- export const fsThumbnail = (...a) => b().fsThumbnail(...a);
112
- export const fsTrash = (...a) => b().fsTrash(...a);
113
- export const fsWrite = (...a) => b().fsWrite(...a);
114
- export const fsWriteBytes = (...a) => b().fsWriteBytes(...a);
115
- export const getAutostart = (...a) => b().getAutostart(...a);
116
- export const ghPrLineComment = (...a) => b().ghPrLineComment(...a);
117
- export const ghPrThreads = (...a) => b().ghPrThreads(...a);
118
- export const ghRun = (...a) => b().ghRun(...a);
119
- export const ghThreadReply = (...a) => b().ghThreadReply(...a);
120
- export const ghThreadResolve = (...a) => b().ghThreadResolve(...a);
121
- export const gitAiCommitMsg = (...a) => b().gitAiCommitMsg(...a);
122
- export const gitBlameLine = (...a) => b().gitBlameLine(...a);
123
- export const gitCheckout = (...a) => b().gitCheckout(...a);
124
- export const gitCheckoutDetach = (...a) => b().gitCheckoutDetach(...a);
125
- export const gitCheckoutNew = (...a) => b().gitCheckoutNew(...a);
126
- export const gitCheckoutTrack = (...a) => b().gitCheckoutTrack(...a);
127
- export const gitCommitFiles = (...a) => b().gitCommitFiles(...a);
128
- export const gitDiscard = (...a) => b().gitDiscard(...a);
129
- export const gitFileBytes = (...a) => b().gitFileBytes(...a);
130
- export const gitFileDiff = (...a) => b().gitFileDiff(...a);
131
- export const gitInfo = (...a) => b().gitInfo(...a);
132
- export const gitLogGraph = (...a) => b().gitLogGraph(...a);
133
- export const gitPoll = (...a) => b().gitPoll(...a);
134
- export const gitRangeFiles = (...a) => b().gitRangeFiles(...a);
135
- export const gitRefs = (...a) => b().gitRefs(...a);
136
- export const gitRepos = (...a) => b().gitRepos(...a);
137
- export const gitRun = (...a) => b().gitRun(...a);
138
- export const gitStatus = (...a) => b().gitStatus(...a);
139
- export const glabApi = (...a) => b().glabApi(...a);
140
- export const glabRun = (...a) => b().glabRun(...a);
141
- export const googleAccount = (...a) => b().googleAccount(...a);
142
- export const googleSignIn = (...a) => b().googleSignIn(...a);
143
- export const googleSignOut = (...a) => b().googleSignOut(...a);
144
- export const googleToken = (...a) => b().googleToken(...a);
145
- export const httpCancel = (...a) => b().httpCancel(...a);
146
- export const httpSend = (...a) => b().httpSend(...a);
147
- export const httpSendAs = (...a) => b().httpSendAs(...a);
148
- export const httpSendReply = (...a) => b().httpSendReply(...a);
149
- export const importIconPack = (...a) => b().importIconPack(...a);
150
- export const installAgentHooks = (...a) => b().installAgentHooks(...a);
151
- export const installAgentMcp = (...a) => b().installAgentMcp(...a);
152
- export const installAgentSkills = (...a) => b().installAgentSkills(...a);
153
- export const installFromRegistry = (...a) => b().installFromRegistry(...a);
154
- export const isFullscreen = (...a) => b().isFullscreen(...a);
155
- export const languagesDir = (...a) => b().languagesDir(...a);
156
- export const launchFiles = (...a) => b().launchFiles(...a);
157
- export const launchUrls = (...a) => b().launchUrls(...a);
158
- export const listApps = (...a) => b().listApps(...a);
159
- export const listInstalled = (...a) => b().listInstalled(...a);
160
- export const logLatest = (...a) => b().logLatest(...a);
161
- export const mediaMeta = (...a) => b().mediaMeta(...a);
162
- export const mediaSetNowPlaying = (...a) => b().mediaSetNowPlaying(...a);
163
- export const mediaSetPlayback = (...a) => b().mediaSetPlayback(...a);
164
- export const memKill = (...a) => b().memKill(...a);
165
- export const memUsage = (...a) => b().memUsage(...a);
166
- export const notifyOs = (...a) => b().notifyOs(...a);
167
- export const openExternal = (...a) => b().openExternal(...a);
168
- export const openFile = (...a) => b().openFile(...a);
169
- export const openTestDeck = (...a) => b().openTestDeck(...a);
170
- export const pickAnyFile = (...a) => b().pickAnyFile(...a);
171
- export const pickExe = (...a) => b().pickExe(...a);
172
- export const pickFile = (...a) => b().pickFile(...a);
173
- export const pickFolder = (...a) => b().pickFolder(...a);
174
- export const pickImage = (...a) => b().pickImage(...a);
175
- export const pickSavePath = (...a) => b().pickSavePath(...a);
176
- export const pickScript = (...a) => b().pickScript(...a);
177
- export const pluginsDir = (...a) => b().pluginsDir(...a);
178
- export const procKill = (...a) => b().procKill(...a);
179
- export const procStream = (...a) => b().procStream(...a);
180
- export const procWrite = (...a) => b().procWrite(...a);
181
- export const readIconPackTheme = (...a) => b().readIconPackTheme(...a);
182
- export const readTermLayout = (...a) => b().readTermLayout(...a);
183
- export const readTrackMeta = (...a) => b().readTrackMeta(...a);
184
- export const remoteHome = (...a) => b().remoteHome(...a);
185
- export const remoteStat = (...a) => b().remoteStat(...a);
186
- export const remoteSudoPassword = (...a) => b().remoteSudoPassword(...a);
187
- export const removeLanguage = (...a) => b().removeLanguage(...a);
188
- export const restartApp = (...a) => b().restartApp(...a);
189
- export const revealInFolder = (...a) => b().revealInFolder(...a);
190
- export const runScriptNow = (...a) => b().runScriptNow(...a);
191
- export const sessionList = (...a) => b().sessionList(...a);
192
- export const setAutostart = (...a) => b().setAutostart(...a);
193
- export const setDebugTargets = (...a) => b().setDebugTargets(...a);
194
- export const setWallpaper = (...a) => b().setWallpaper(...a);
195
- export const sshHosts = (...a) => b().sshHosts(...a);
196
- export const sshTunnelClose = (...a) => b().sshTunnelClose(...a);
197
- export const sshTunnelOpen = (...a) => b().sshTunnelOpen(...a);
198
- export const startupMarks = (...a) => b().startupMarks(...a);
199
- export const toggleFullscreen = (...a) => b().toggleFullscreen(...a);
200
- export const vaultChangePassword = (...a) => b().vaultChangePassword(...a);
201
- export const vaultConfig = (...a) => b().vaultConfig(...a);
202
- export const vaultCreate = (...a) => b().vaultCreate(...a);
203
- export const vaultDelete = (...a) => b().vaultDelete(...a);
204
- export const vaultExport = (...a) => b().vaultExport(...a);
205
- export const vaultFill = (...a) => b().vaultFill(...a);
206
- export const vaultFillNew = (...a) => b().vaultFillNew(...a);
207
- export const vaultGenerate = (...a) => b().vaultGenerate(...a);
208
- export const vaultImport = (...a) => b().vaultImport(...a);
209
- export const vaultList = (...a) => b().vaultList(...a);
210
- export const vaultLock = (...a) => b().vaultLock(...a);
211
- export const vaultMatches = (...a) => b().vaultMatches(...a);
212
- export const vaultNeverList = (...a) => b().vaultNeverList(...a);
213
- export const vaultNeverRemove = (...a) => b().vaultNeverRemove(...a);
214
- export const vaultOfferAnswer = (...a) => b().vaultOfferAnswer(...a);
215
- export const vaultSave = (...a) => b().vaultSave(...a);
216
- export const vaultSecret = (...a) => b().vaultSecret(...a);
217
- export const vaultStatus = (...a) => b().vaultStatus(...a);
218
- export const vaultTotp = (...a) => b().vaultTotp(...a);
219
- export const vaultUnlock = (...a) => b().vaultUnlock(...a);
220
- export const vpsRunsPull = (...a) => b().vpsRunsPull(...a);
221
- export const watchFiles = (...a) => b().watchFiles(...a);
222
-
223
- export const DEFAULT_SETTINGS = new Proxy({}, {
224
- get: (_t, k) => b().DEFAULT_SETTINGS[k],
225
- ownKeys: () => Reflect.ownKeys(b().DEFAULT_SETTINGS),
226
- getOwnPropertyDescriptor: (_t, k) => ({ ...Object.getOwnPropertyDescriptor(b().DEFAULT_SETTINGS, k), configurable: true }),
227
- });
228
- export const FOOTER_ITEMS = new Proxy({}, {
229
- get: (_t, k) => b().FOOTER_ITEMS[k],
230
- ownKeys: () => Reflect.ownKeys(b().FOOTER_ITEMS),
231
- getOwnPropertyDescriptor: (_t, k) => ({ ...Object.getOwnPropertyDescriptor(b().FOOTER_ITEMS, k), configurable: true }),
232
- });
1
+ // GENERATED by sdk/gen-shim.mjs — do not edit.
2
+ //
3
+ // Deck's bridge. Everything resolves at USE time, never at import time: a plugin module is
4
+ // evaluated during loadPlugins, and a reference copied out then would capture a half-built
5
+ // object. Functions forward their arguments; plain values are proxied.
6
+ import { pluginId, scoped } from "./scope.js";
7
+ // The plugin's own view (Deck 1.8+), which refuses what its permissions do not cover; an older
8
+ // Deck has only the whole bridge.
9
+ const b = () => {
10
+ const x = window.__deck?.forPlugin?.(pluginId)?.bridge ?? window.__deck?.bridge;
11
+ if (!x) throw new Error("window.__deck.bridge is missing — this plugin only runs inside Deck");
12
+ return x;
13
+ };
14
+
15
+ export const adblockConfig = (...a) => b().adblockConfig(...a);
16
+ export const adblockInfo = (...a) => b().adblockInfo(...a);
17
+ export const adblockRebuild = (...a) => b().adblockRebuild(...a);
18
+ export const adblockUpdate = (...a) => b().adblockUpdate(...a);
19
+ export const agentClis = (...a) => b().agentClis(...a);
20
+ export const agentMcpStatus = (...a) => b().agentMcpStatus(...a);
21
+ export const agentStop = (...a) => b().agentStop(...a);
22
+ export const askSudoPassword = (...a) => b().askSudoPassword(...a);
23
+ export const audioDevices = (...a) => b().audioDevices(...a);
24
+ export const audioIcon = (...a) => b().audioIcon(...a);
25
+ export const audioPeak = (...a) => b().audioPeak(...a);
26
+ export const audioSessionSet = (...a) => b().audioSessionSet(...a);
27
+ export const audioSessions = (...a) => b().audioSessions(...a);
28
+ export const audioSetDefault = (...a) => b().audioSetDefault(...a);
29
+ export const audioSetMute = (...a) => b().audioSetMute(...a);
30
+ export const audioSetVolume = (...a) => b().audioSetVolume(...a);
31
+ export const backupExport = (...a) => b().backupExport(...a);
32
+ export const backupInspect = (...a) => b().backupInspect(...a);
33
+ export const backupRestore = (...a) => b().backupRestore(...a);
34
+ export const bookmarksBarMode = (...a) => b().bookmarksBarMode(...a);
35
+ export const browserAgentAnswer = (...a) => b().browserAgentAnswer(...a);
36
+ export const browserAgentConfig = (...a) => b().browserAgentConfig(...a);
37
+ export const browserAgentFillAnswer = (...a) => b().browserAgentFillAnswer(...a);
38
+ export const browserBounds = (...a) => b().browserBounds(...a);
39
+ export const browserCapture = (...a) => b().browserCapture(...a);
40
+ export const browserCdp = (...a) => b().browserCdp(...a);
41
+ export const browserClear = (...a) => b().browserClear(...a);
42
+ export const browserClose = (...a) => b().browserClose(...a);
43
+ export const browserCut = (...a) => b().browserCut(...a);
44
+ export const browserDefaultRegister = (...a) => b().browserDefaultRegister(...a);
45
+ export const browserDefaultStatus = (...a) => b().browserDefaultStatus(...a);
46
+ export const browserDevtools = (...a) => b().browserDevtools(...a);
47
+ export const browserDownload = (...a) => b().browserDownload(...a);
48
+ export const browserFind = (...a) => b().browserFind(...a);
49
+ export const browserHistoryCount = (...a) => b().browserHistoryCount(...a);
50
+ export const browserHistoryForgetRange = (...a) => b().browserHistoryForgetRange(...a);
51
+ export const browserHistoryForgetUrl = (...a) => b().browserHistoryForgetUrl(...a);
52
+ export const browserHistoryList = (...a) => b().browserHistoryList(...a);
53
+ export const browserHistoryRecent = (...a) => b().browserHistoryRecent(...a);
54
+ export const browserHistorySuggest = (...a) => b().browserHistorySuggest(...a);
55
+ export const browserHistoryVisit = (...a) => b().browserHistoryVisit(...a);
56
+ export const browserMute = (...a) => b().browserMute(...a);
57
+ export const browserNav = (...a) => b().browserNav(...a);
58
+ export const browserNotificationClicked = (...a) => b().browserNotificationClicked(...a);
59
+ export const browserOpen = (...a) => b().browserOpen(...a);
60
+ export const browserOpenAppLink = (...a) => b().browserOpenAppLink(...a);
61
+ export const browserPermissionAnswer = (...a) => b().browserPermissionAnswer(...a);
62
+ export const browserPermissionSet = (...a) => b().browserPermissionSet(...a);
63
+ export const browserPermissions = (...a) => b().browserPermissions(...a);
64
+ export const browserPrint = (...a) => b().browserPrint(...a);
65
+ export const browserPrivacy = (...a) => b().browserPrivacy(...a);
66
+ export const browserReloadHung = (...a) => b().browserReloadHung(...a);
67
+ export const browserSetKeys = (...a) => b().browserSetKeys(...a);
68
+ export const browserSite = (...a) => b().browserSite(...a);
69
+ export const browserSiteAnswer = (...a) => b().browserSiteAnswer(...a);
70
+ export const browserSiteClear = (...a) => b().browserSiteClear(...a);
71
+ export const browserSleep = (...a) => b().browserSleep(...a);
72
+ export const browserWindowFullscreen = (...a) => b().browserWindowFullscreen(...a);
73
+ export const browserZoom = (...a) => b().browserZoom(...a);
74
+ export const claudePlanLimits = (...a) => b().claudePlanLimits(...a);
75
+ export const claudeUsage = (...a) => b().claudeUsage(...a);
76
+ export const clearWallpaper = (...a) => b().clearWallpaper(...a);
77
+ export const configDelete = (name, ...a) => b().configDelete(scoped(name), ...a);
78
+ export const configRead = (name, ...a) => b().configRead(scoped(name), ...a);
79
+ export const configWrite = (name, ...a) => b().configWrite(scoped(name), ...a);
80
+ export const convertFileSrc = (...a) => b().convertFileSrc(...a);
81
+ export const dataDir = () => b().dataDir(pluginId);
82
+ export const dbConnect = (...a) => b().dbConnect(...a);
83
+ export const dbDisconnect = (...a) => b().dbDisconnect(...a);
84
+ export const dbQuery = (...a) => b().dbQuery(...a);
85
+ export const dbSchema = (...a) => b().dbSchema(...a);
86
+ export const deckReady = (...a) => b().deckReady(...a);
87
+ export const deleteIconPack = (...a) => b().deleteIconPack(...a);
88
+ export const dirsDownload = (...a) => b().dirsDownload(...a);
89
+ export const exec = (...a) => b().exec(...a);
90
+ export const extensionInstallFolder = (...a) => b().extensionInstallFolder(...a);
91
+ export const extensionInstallStore = (...a) => b().extensionInstallStore(...a);
92
+ export const extensionPopup = (...a) => b().extensionPopup(...a);
93
+ export const extensionPopupClose = (...a) => b().extensionPopupClose(...a);
94
+ export const extensionReload = (...a) => b().extensionReload(...a);
95
+ export const extensionRemove = (...a) => b().extensionRemove(...a);
96
+ export const extensionSetEnabled = (...a) => b().extensionSetEnabled(...a);
97
+ export const extensionsList = (...a) => b().extensionsList(...a);
98
+ export const footerOrder = (...a) => b().footerOrder(...a);
99
+ export const fsCopy = (...a) => b().fsCopy(...a);
100
+ export const fsCreateDir = (...a) => b().fsCreateDir(...a);
101
+ export const fsCreateFile = (...a) => b().fsCreateFile(...a);
102
+ export const fsDelete = (...a) => b().fsDelete(...a);
103
+ export const fsDrives = (...a) => b().fsDrives(...a);
104
+ export const fsFiles = (...a) => b().fsFiles(...a);
105
+ export const fsFind = (...a) => b().fsFind(...a);
106
+ export const fsHash = (...a) => b().fsHash(...a);
107
+ export const fsHomeDir = (...a) => b().fsHomeDir(...a);
108
+ export const fsList = (...a) => b().fsList(...a);
109
+ export const fsMove = (...a) => b().fsMove(...a);
110
+ export const fsOpen = (...a) => b().fsOpen(...a);
111
+ export const fsRead = (...a) => b().fsRead(...a);
112
+ export const fsReadBytes = (...a) => b().fsReadBytes(...a);
113
+ export const fsRename = (...a) => b().fsRename(...a);
114
+ export const fsReplace = (...a) => b().fsReplace(...a);
115
+ export const fsReveal = (...a) => b().fsReveal(...a);
116
+ export const fsSaveUnique = (...a) => b().fsSaveUnique(...a);
117
+ export const fsSearch = (...a) => b().fsSearch(...a);
118
+ export const fsSize = (...a) => b().fsSize(...a);
119
+ export const fsThumbnail = (...a) => b().fsThumbnail(...a);
120
+ export const fsTrash = (...a) => b().fsTrash(...a);
121
+ export const fsWrite = (...a) => b().fsWrite(...a);
122
+ export const fsWriteBytes = (...a) => b().fsWriteBytes(...a);
123
+ export const getAutostart = (...a) => b().getAutostart(...a);
124
+ export const ghPrLineComment = (...a) => b().ghPrLineComment(...a);
125
+ export const ghPrThreads = (...a) => b().ghPrThreads(...a);
126
+ export const ghRun = (...a) => b().ghRun(...a);
127
+ export const ghThreadReply = (...a) => b().ghThreadReply(...a);
128
+ export const ghThreadResolve = (...a) => b().ghThreadResolve(...a);
129
+ export const gitAiCommitMsg = (...a) => b().gitAiCommitMsg(...a);
130
+ export const gitBlameLine = (...a) => b().gitBlameLine(...a);
131
+ export const gitCheckout = (...a) => b().gitCheckout(...a);
132
+ export const gitCheckoutDetach = (...a) => b().gitCheckoutDetach(...a);
133
+ export const gitCheckoutNew = (...a) => b().gitCheckoutNew(...a);
134
+ export const gitCheckoutTrack = (...a) => b().gitCheckoutTrack(...a);
135
+ export const gitCommitFiles = (...a) => b().gitCommitFiles(...a);
136
+ export const gitDiscard = (...a) => b().gitDiscard(...a);
137
+ export const gitFileBytes = (...a) => b().gitFileBytes(...a);
138
+ export const gitFileDiff = (...a) => b().gitFileDiff(...a);
139
+ export const gitInfo = (...a) => b().gitInfo(...a);
140
+ export const gitLogGraph = (...a) => b().gitLogGraph(...a);
141
+ export const gitPoll = (...a) => b().gitPoll(...a);
142
+ export const gitRangeFiles = (...a) => b().gitRangeFiles(...a);
143
+ export const gitRefs = (...a) => b().gitRefs(...a);
144
+ export const gitRepos = (...a) => b().gitRepos(...a);
145
+ export const gitRun = (...a) => b().gitRun(...a);
146
+ export const gitStatus = (...a) => b().gitStatus(...a);
147
+ export const glabApi = (...a) => b().glabApi(...a);
148
+ export const glabRun = (...a) => b().glabRun(...a);
149
+ export const googleAccount = (...a) => b().googleAccount(...a);
150
+ export const googleSignIn = (...a) => b().googleSignIn(...a);
151
+ export const googleSignOut = (...a) => b().googleSignOut(...a);
152
+ export const googleToken = (...a) => b().googleToken(...a);
153
+ export const httpCancel = (...a) => b().httpCancel(...a);
154
+ export const httpSend = (...a) => b().httpSend(...a);
155
+ export const httpSendAs = (...a) => b().httpSendAs(...a);
156
+ export const httpSendReply = (...a) => b().httpSendReply(...a);
157
+ export const importIconPack = (...a) => b().importIconPack(...a);
158
+ export const installAgentHooks = (...a) => b().installAgentHooks(...a);
159
+ export const installAgentMcp = (...a) => b().installAgentMcp(...a);
160
+ export const installAgentSkills = (...a) => b().installAgentSkills(...a);
161
+ export const installFromRegistry = (...a) => b().installFromRegistry(...a);
162
+ export const isFullscreen = (...a) => b().isFullscreen(...a);
163
+ export const languagesDir = (...a) => b().languagesDir(...a);
164
+ export const launchFiles = (...a) => b().launchFiles(...a);
165
+ export const launchUrls = (...a) => b().launchUrls(...a);
166
+ export const listApps = (...a) => b().listApps(...a);
167
+ export const listInstalled = (...a) => b().listInstalled(...a);
168
+ export const logLatest = (...a) => b().logLatest(...a);
169
+ export const mediaMeta = (...a) => b().mediaMeta(...a);
170
+ export const mediaSetNowPlaying = (...a) => b().mediaSetNowPlaying(...a);
171
+ export const mediaSetPlayback = (...a) => b().mediaSetPlayback(...a);
172
+ export const memKill = (...a) => b().memKill(...a);
173
+ export const memUsage = (...a) => b().memUsage(...a);
174
+ export const notifyOs = (...a) => b().notifyOs(...a);
175
+ export const openExternal = (...a) => b().openExternal(...a);
176
+ export const openFile = (...a) => b().openFile(...a);
177
+ export const openTestDeck = (...a) => b().openTestDeck(...a);
178
+ export const pickAnyFile = (...a) => b().pickAnyFile(...a);
179
+ export const pickExe = (...a) => b().pickExe(...a);
180
+ export const pickFile = (...a) => b().pickFile(...a);
181
+ export const pickFolder = (...a) => b().pickFolder(...a);
182
+ export const pickImage = (...a) => b().pickImage(...a);
183
+ export const pickSavePath = (...a) => b().pickSavePath(...a);
184
+ export const pickScript = (...a) => b().pickScript(...a);
185
+ export const pluginsDir = (...a) => b().pluginsDir(...a);
186
+ export const procKill = (...a) => b().procKill(...a);
187
+ export const procStream = (...a) => b().procStream(...a);
188
+ export const procWrite = (...a) => b().procWrite(...a);
189
+ export const readIconPackTheme = (...a) => b().readIconPackTheme(...a);
190
+ export const readTermLayout = (...a) => b().readTermLayout(...a);
191
+ export const readTrackMeta = (...a) => b().readTrackMeta(...a);
192
+ export const remoteHome = (...a) => b().remoteHome(...a);
193
+ export const remoteStat = (...a) => b().remoteStat(...a);
194
+ export const remoteSudoPassword = (...a) => b().remoteSudoPassword(...a);
195
+ export const removeLanguage = (...a) => b().removeLanguage(...a);
196
+ export const restartApp = (...a) => b().restartApp(...a);
197
+ export const revealInFolder = (...a) => b().revealInFolder(...a);
198
+ export const runScriptNow = (...a) => b().runScriptNow(...a);
199
+ export const sessionList = (...a) => b().sessionList(...a);
200
+ export const setAutostart = (...a) => b().setAutostart(...a);
201
+ export const setDebugTargets = (...a) => b().setDebugTargets(...a);
202
+ export const setWallpaper = (...a) => b().setWallpaper(...a);
203
+ export const shortcutClear = (...a) => b().shortcutClear(...a);
204
+ export const shortcutSet = (...a) => b().shortcutSet(...a);
205
+ export const sshHosts = (...a) => b().sshHosts(...a);
206
+ export const sshTunnelClose = (...a) => b().sshTunnelClose(...a);
207
+ export const sshTunnelOpen = (...a) => b().sshTunnelOpen(...a);
208
+ export const startupMarks = (...a) => b().startupMarks(...a);
209
+ export const toggleFullscreen = (...a) => b().toggleFullscreen(...a);
210
+ export const vaultChangePassword = (...a) => b().vaultChangePassword(...a);
211
+ export const vaultConfig = (...a) => b().vaultConfig(...a);
212
+ export const vaultCreate = (...a) => b().vaultCreate(...a);
213
+ export const vaultDelete = (...a) => b().vaultDelete(...a);
214
+ export const vaultExport = (...a) => b().vaultExport(...a);
215
+ export const vaultFill = (...a) => b().vaultFill(...a);
216
+ export const vaultFillNew = (...a) => b().vaultFillNew(...a);
217
+ export const vaultGenerate = (...a) => b().vaultGenerate(...a);
218
+ export const vaultImport = (...a) => b().vaultImport(...a);
219
+ export const vaultList = (...a) => b().vaultList(...a);
220
+ export const vaultLock = (...a) => b().vaultLock(...a);
221
+ export const vaultMatches = (...a) => b().vaultMatches(...a);
222
+ export const vaultNeverList = (...a) => b().vaultNeverList(...a);
223
+ export const vaultNeverRemove = (...a) => b().vaultNeverRemove(...a);
224
+ export const vaultOfferAnswer = (...a) => b().vaultOfferAnswer(...a);
225
+ export const vaultSave = (...a) => b().vaultSave(...a);
226
+ export const vaultSecret = (...a) => b().vaultSecret(...a);
227
+ export const vaultStatus = (...a) => b().vaultStatus(...a);
228
+ export const vaultTotp = (...a) => b().vaultTotp(...a);
229
+ export const vaultUnlock = (...a) => b().vaultUnlock(...a);
230
+ export const vpsRunsPull = (...a) => b().vpsRunsPull(...a);
231
+ export const watchFiles = (...a) => b().watchFiles(...a);
232
+
233
+ export const DEFAULT_SETTINGS = new Proxy({}, {
234
+ get: (_t, k) => b().DEFAULT_SETTINGS[k],
235
+ ownKeys: () => Reflect.ownKeys(b().DEFAULT_SETTINGS),
236
+ getOwnPropertyDescriptor: (_t, k) => ({ ...Object.getOwnPropertyDescriptor(b().DEFAULT_SETTINGS, k), configurable: true }),
237
+ });
238
+ export const FOOTER_ITEMS = new Proxy({}, {
239
+ get: (_t, k) => b().FOOTER_ITEMS[k],
240
+ ownKeys: () => Reflect.ownKeys(b().FOOTER_ITEMS),
241
+ getOwnPropertyDescriptor: (_t, k) => ({ ...Object.getOwnPropertyDescriptor(b().FOOTER_ITEMS, k), configurable: true }),
242
+ });
package/shim/p2p.js CHANGED
@@ -1,16 +1,16 @@
1
- // GENERATED by sdk/gen-shim.mjs — do not edit.
2
- //
3
- // Deck's live connections to other Decks. Resolved at USE time like the bridge: a plugin module is evaluated
4
- // during loadPlugins, and a reference copied out at import time would capture a half-built
5
- // object. One transport for every plugin, so a fix to it reaches all of them.
6
- import { pluginId } from "./scope.js";
7
- const t = () => {
8
- const x = window.__deck?.forPlugin?.(pluginId)?.p2p ?? window.__deck?.p2p;
9
- if (!x) throw new Error("window.__deck.p2p is missing — this plugin only runs inside Deck");
10
- return x;
11
- };
12
-
13
- export const cleanCode = (...a) => t().cleanCode(...a);
14
- export const newCode = (...a) => t().newCode(...a);
15
- export const selfId = (...a) => t().selfId(...a);
16
- export const share = (...a) => t().share(...a);
1
+ // GENERATED by sdk/gen-shim.mjs — do not edit.
2
+ //
3
+ // Deck's live connections to other Decks. Resolved at USE time like the bridge: a plugin module is evaluated
4
+ // during loadPlugins, and a reference copied out at import time would capture a half-built
5
+ // object. One transport for every plugin, so a fix to it reaches all of them.
6
+ import { pluginId } from "./scope.js";
7
+ const t = () => {
8
+ const x = window.__deck?.forPlugin?.(pluginId)?.p2p ?? window.__deck?.p2p;
9
+ if (!x) throw new Error("window.__deck.p2p is missing — this plugin only runs inside Deck");
10
+ return x;
11
+ };
12
+
13
+ export const cleanCode = (...a) => t().cleanCode(...a);
14
+ export const newCode = (...a) => t().newCode(...a);
15
+ export const selfId = (...a) => t().selfId(...a);
16
+ export const share = (...a) => t().share(...a);
@@ -5,6 +5,6 @@
5
5
  "icon": "Sparkles",
6
6
  "color": "#a78bfa",
7
7
  "version": "0.1.0",
8
- "minDeck": "1.10.2",
8
+ "minDeck": "1.10.3",
9
9
  "permissions": []
10
10
  }
@@ -429,6 +429,10 @@ export interface Settings {
429
429
  /** Sleeping tabs: a browser tab out of sight this many minutes stops running until it is shown. */
430
430
  browserSleep: boolean;
431
431
  browserSleepAfter: number;
432
+ /** Sites whose tabs are never put to sleep (a chat, a call), by host; a host covers its subdomains. */
433
+ browserNeverSleep: string[];
434
+ /** Tabs of a site allowed to send notifications are never put to sleep (unset: on). */
435
+ browserNotifyAwake: boolean;
432
436
  /**
433
437
  * A page stays live under Deck's menus and cards, which are cut out of its window (unset: on).
434
438
  * Off, a covered page is a blurred picture of itself, for a machine where the cut does not show.
@@ -473,6 +477,7 @@ export interface MemServer {
473
477
  id: string;
474
478
  label: string;
475
479
  mem: number;
480
+ cpu: number;
476
481
  pid: number;
477
482
  }
478
483
  /** One process behind the figures, largest first. Only filled when memUsage(true) asks. */
@@ -481,8 +486,10 @@ export interface MemProc {
481
486
  name: string;
482
487
  cmd: string;
483
488
  mem: number;
484
- group: "deck" | "server" | "browser" | "agent" | "pane-agent" | "pane";
485
- /** The language server's session id, or the terminal pane's id. */
489
+ /** Its share of all cores since the reading before. */
490
+ cpu: number;
491
+ group: "deck" | "server" | "browser" | "agent" | "run" | "pane-agent" | "pane";
492
+ /** The language server's session id, the run's id, or the terminal pane's id. */
486
493
  owner: string;
487
494
  /** An agent, or a process in a terminal pane that is not its shell: memKill may stop it. */
488
495
  killable: boolean;
@@ -491,9 +498,16 @@ export interface MemUsage {
491
498
  deck: number;
492
499
  agents: number;
493
500
  agent_count: number;
494
- /** Percent of all cores. -1 on the first reading, before there is anything to difference. */
501
+ /** Percent of all cores, everything below together. -1 on the first reading, before there is anything to difference. */
495
502
  cpu: number;
503
+ /** The same split as the memory: the app and WebView2, language servers, the browser's pages,
504
+ * programs tools ran, every agent (Deck's and those in panes), and the terminal panes. */
505
+ cpu_core: number;
506
+ cpu_servers: number;
507
+ cpu_browser: number;
508
+ cpu_runs: number;
496
509
  cpu_agents: number;
510
+ cpu_panes: number;
497
511
  /** Deck minus its language servers and the browser. Part of `deck`. */
498
512
  core: number;
499
513
  /** The browser's pages (its own WebView2 profile). Also part of `deck`. */
@@ -505,6 +519,9 @@ export interface MemUsage {
505
519
  }[];
506
520
  /** Running language servers, largest first. Also part of `deck`. */
507
521
  servers: MemServer[];
522
+ /** Programs a tool ran through Deck (a Flutter app, a dev server, kubectl). NOT part of `deck`. */
523
+ runs: number;
524
+ run_count: number;
508
525
  /** Terminal panes. NOT part of `deck` — informational only. */
509
526
  panes: number;
510
527
  pane_count: number;
@@ -519,6 +536,43 @@ export declare const memUsage: (detail?: boolean) => Promise<MemUsage>;
519
536
  export declare const memKill: (pid: number) => Promise<boolean>;
520
537
  /** Stop the claude or codex running in a terminal pane, as memKill does. */
521
538
  export declare const agentStop: (pane: string) => Promise<boolean>;
539
+ /** An output ("out") or input ("in") device. `volume` is 0 to 1. */
540
+ export interface AudioDevice {
541
+ id: string;
542
+ name: string;
543
+ flow: "out" | "in";
544
+ /** The default for apps, and for calls. */
545
+ default: boolean;
546
+ default_comms: boolean;
547
+ volume: number;
548
+ muted: boolean;
549
+ }
550
+ /** An app with sound on the default output: its own volume (0 to 1) within the device's, and how loud it plays now. */
551
+ export interface AudioSession {
552
+ pid: number;
553
+ name: string;
554
+ volume: number;
555
+ muted: boolean;
556
+ peak: number;
557
+ }
558
+ /** Every active output and input device. Cheap enough to poll. */
559
+ export declare const audioDevices: () => Promise<AudioDevice[]>;
560
+ export declare const audioSetVolume: (id: string, level: number) => Promise<void>;
561
+ export declare const audioSetMute: (id: string, muted: boolean) => Promise<void>;
562
+ /** Make a device the default for everything: apps and calls. */
563
+ export declare const audioSetDefault: (id: string) => Promise<void>;
564
+ /** How loud a device is playing or hearing right now, 0 to 1. */
565
+ export declare const audioPeak: (id: string) => Promise<number>;
566
+ /** The apps with sound on the default output; a program with several processes comes once per process. */
567
+ export declare const audioSessions: () => Promise<AudioSession[]>;
568
+ /** The icon of the program behind a session (its `pid`), as PNG bytes of `size` px. */
569
+ export declare const audioIcon: (pid: number, size: number) => Promise<Uint8Array<ArrayBuffer>>;
570
+ /** One app's volume and mute, by its process id. */
571
+ export declare const audioSessionSet: (pid: number, level?: number, muted?: boolean) => Promise<void>;
572
+ /** Hold a system-wide shortcut ("ctrl+shift+m") under `id`, heard in every app as a `global-shortcut` event `{ id, chord }`. Refused when another app holds the chord. */
573
+ export declare const shortcutSet: (id: string, chord: string) => Promise<void>;
574
+ /** Free the shortcut `id` holds. */
575
+ export declare const shortcutClear: (id: string) => Promise<void>;
522
576
  export declare const listApps: () => Promise<AppProc[]>;
523
577
  export declare const listInstalled: () => Promise<AppProc[]>;
524
578
  export declare const runScriptNow: (command: string, args: string[], id?: string, name?: string) => Promise<void>;
@@ -162,6 +162,7 @@ export declare function registerStar(pane: string, run: () => void): () => void;
162
162
  export declare function registerVaultKey(pane: string, run: () => void): () => void;
163
163
  /** The pane's address bar registers how to focus it, for Ctrl+L. */
164
164
  export declare function registerAddressBar(pane: string, focus: () => void): () => void;
165
+ export declare function registerBrowserControls(pane: string, holds: () => boolean): () => void;
165
166
  /** Tell Rust which chords to take from a page. Called when a browser pane mounts and whenever a
166
167
  * binding changes. */
167
168
  export declare function syncBrowserKeys(): void;
@@ -233,5 +234,15 @@ export declare const pageBox: (pane: string) => DOMRect | null;
233
234
  export declare const paneWindow: (pane: string) => Window;
234
235
  /** Close the pane's webview to give back its memory, keeping the tab and its address. */
235
236
  export declare function discardBrowserPane(pane: string): Promise<void>;
237
+ /** Is this page's site one never to put to sleep (Browser settings)? "slack.com" covers
238
+ * app.slack.com too. */
239
+ export declare function neverSleeps(url: string, list?: string[]): boolean;
240
+ /** The sites open in browser tabs right now (not private ones), each once: host, a page title and
241
+ * its icon. For picking a site rather than typing it. */
242
+ export declare function openSites(): {
243
+ host: string;
244
+ title: string;
245
+ favicon: string;
246
+ }[];
236
247
  export declare function picturePages(on: boolean): void;
237
248
  export declare function trackBrowser(pane: string, el: HTMLElement, url: string): () => void;
@@ -45,6 +45,8 @@ export interface LayoutTab {
45
45
  hidden?: boolean;
46
46
  /** The tab group it is in (LayoutWorkspace.groups); a group's tabs sit together in one zone. */
47
47
  group?: string;
48
+ /** A colour of its own, an index into GROUP_COLORS: a faint tint behind the tab. */
49
+ color?: number;
48
50
  /**
49
51
  * Torn off into a window of its own (core/floatwin.ts): the window's id. Such a tab is in no
50
52
  * zone, though it keeps its x/y to go back to. A restart reopens the window (Layout.floats has