@dopame/acde-linux-x64 0.0.0-stage → 0.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +8 -0
- package/bin/acde +66 -0
- package/bin/acde.cmd +45 -0
- package/bin/acdebin-dbg +4 -0
- package/bin/app/brand/art.mjs +53 -0
- package/bin/app/brand/brand.css +39 -0
- package/bin/app/brand/lockup.mjs +17 -0
- package/bin/app/brand/mark.mjs +124 -0
- package/bin/app/dist/broker.js +1 -0
- package/bin/app/dist/web.js +1 -0
- package/bin/app/greet/index.html +177 -0
- package/bin/app/greet/package.json +16 -0
- package/bin/app/package.json +35 -0
- package/lib/acde/LICENSE +8 -0
- package/lib/acde/dist/chunk-0n69bv5q.js +1 -0
- package/lib/acde/dist/chunk-1cw92x19.js +1 -0
- package/lib/acde/dist/chunk-458e14zb.js +1 -0
- package/lib/acde/dist/chunk-88mxgp54.js +1 -0
- package/lib/acde/dist/chunk-8dv09ven.js +1 -0
- package/lib/acde/dist/chunk-8fxsj5h6.js +1 -0
- package/lib/acde/dist/chunk-8pf3kk8v.js +1 -0
- package/lib/acde/dist/chunk-8r65bz1e.js +1 -0
- package/lib/acde/dist/chunk-9hpnkmxn.js +1 -0
- package/lib/acde/dist/chunk-a7w41xr9.js +1 -0
- package/lib/acde/dist/chunk-db7qqt8a.js +1 -0
- package/lib/acde/dist/chunk-e3rzr5fj.js +1 -0
- package/lib/acde/dist/chunk-ehms6xjp.js +1 -0
- package/lib/acde/dist/chunk-ggykhab6.js +1 -0
- package/lib/acde/dist/chunk-gt70e8h2.js +1 -0
- package/lib/acde/dist/chunk-hcf0xd5c.js +1 -0
- package/lib/acde/dist/chunk-hdrvz9sa.js +1 -0
- package/lib/acde/dist/chunk-jjq2mn94.js +1 -0
- package/lib/acde/dist/chunk-k8f4m94e.js +7 -0
- package/lib/acde/dist/chunk-mtgy1bm0.js +1 -0
- package/lib/acde/dist/chunk-mtw6p7kv.js +1 -0
- package/lib/acde/dist/chunk-nwkq7cpp.js +1 -0
- package/lib/acde/dist/chunk-nyr54266.js +1 -0
- package/lib/acde/dist/chunk-p0h5kspx.js +1 -0
- package/lib/acde/dist/chunk-pdj3h86e.js +1 -0
- package/lib/acde/dist/chunk-q9dbzac5.js +1 -0
- package/lib/acde/dist/chunk-qrhbrjzk.js +1 -0
- package/lib/acde/dist/chunk-s8p0y5ap.js +1 -0
- package/lib/acde/dist/chunk-t0xqxe00.js +1 -0
- package/lib/acde/dist/chunk-tgn5c2mw.js +1 -0
- package/lib/acde/dist/chunk-wmj6zwvn.js +1 -0
- package/lib/acde/dist/chunk-wnk81fkc.js +1 -0
- package/lib/acde/dist/chunk-x208z38w.js +1 -0
- package/lib/acde/dist/chunk-xq76vbg6.js +1 -0
- package/lib/acde/dist/chunk-xr9gh5x2.js +1 -0
- package/lib/acde/dist/chunk-yytnhz6e.js +1 -0
- package/lib/acde/dist/chunk-z0ts25s1.js +1 -0
- package/lib/acde/dist/chunk-zdyw1ckt.js +1 -0
- package/lib/acde/dist/cli.js +1 -0
- package/lib/acde/dist/driver/index.js +1 -0
- package/lib/acde/dist/e2e/index.js +1 -0
- package/lib/acde/dist/types/configs.d.ts +1 -0
- package/lib/acde/dist/types/driver/acde.d.ts +106 -0
- package/lib/acde/dist/types/driver/clock.d.ts +32 -0
- package/lib/acde/dist/types/driver/expect.d.ts +60 -0
- package/lib/acde/dist/types/driver/format.d.ts +16 -0
- package/lib/acde/dist/types/driver/index.d.ts +13 -0
- package/lib/acde/dist/types/driver/input.d.ts +75 -0
- package/lib/acde/dist/types/driver/locator.d.ts +151 -0
- package/lib/acde/dist/types/driver/logs.d.ts +26 -0
- package/lib/acde/dist/types/driver/png.d.ts +31 -0
- package/lib/acde/dist/types/driver/poll.d.ts +4 -0
- package/lib/acde/dist/types/driver/screenshot.d.ts +37 -0
- package/lib/acde/dist/types/driver/trace.d.ts +26 -0
- package/lib/acde/dist/types/driver/types.d.ts +213 -0
- package/lib/acde/dist/types/driver/video.d.ts +14 -0
- package/lib/acde/dist/types/driver/window.d.ts +77 -0
- package/lib/acde/dist/types/e2e/index.d.ts +78 -0
- package/lib/acde/dist/types/e2e/settings.d.ts +39 -0
- package/lib/acde/dist/types/ipc.d.ts +24 -0
- package/lib/acde/dist/types/paths.d.ts +5 -0
- package/lib/acde/dist/types/pm.d.ts +20 -0
- package/lib/acde/dist/types/runtime.d.ts +49 -0
- package/lib/acde/dist/types/sessions.d.ts +80 -0
- package/lib/acde/dist/types/sockets.d.ts +4 -0
- package/lib/acde/launcher.d.mts +25 -0
- package/lib/acde/launcher.mjs +1 -0
- package/lib/acde/package.json +31 -0
- package/lib/acde/skills/acde/SKILL.md +114 -0
- package/lib/acde/skills/acde/references/guide/agents.md +50 -0
- package/lib/acde/skills/acde/references/guide/assets.md +40 -0
- package/lib/acde/skills/acde/references/guide/backend.md +94 -0
- package/lib/acde/skills/acde/references/guide/capabilities.md +157 -0
- package/lib/acde/skills/acde/references/guide/config.md +73 -0
- package/lib/acde/skills/acde/references/guide/desktop.md +165 -0
- package/lib/acde/skills/acde/references/guide/dev.md +66 -0
- package/lib/acde/skills/acde/references/guide/doctor.md +144 -0
- package/lib/acde/skills/acde/references/guide/files.md +181 -0
- package/lib/acde/skills/acde/references/guide/frameworks.md +74 -0
- package/lib/acde/skills/acde/references/guide/install.md +34 -0
- package/lib/acde/skills/acde/references/guide/mcp.md +64 -0
- package/lib/acde/skills/acde/references/guide/open.md +107 -0
- package/lib/acde/skills/acde/references/guide/services.md +147 -0
- package/lib/acde/skills/acde/references/guide/testing.md +378 -0
- package/lib/acde/skills/acde/references/guide/tools.md +291 -0
- package/lib/acde/skills/acde/references/guide/window.md +167 -0
- package/lib/acde/skills/acde/references/reference/cli.md +221 -0
- package/lib/acde/skills/acde/references/reference/config.md +51 -0
- package/lib/acde/skills/acde/references/reference/env.md +44 -0
- package/lib/acde/skills/acde/references/reference/manifest.md +92 -0
- package/lib/acde/skills/acde/references/reference/modules.md +586 -0
- package/lib/acde/skills/acde/references/reference/platforms.md +23 -0
- package/lib/acde/skills/acde/references/reference/service.md +47 -0
- package/lib/acde/skills/acde/references/reference/testing.md +265 -0
- package/lib/acde/skills/acde/references/reference/web.md +94 -0
- package/lib/acde/skills/acde/references/start/first-app.md +87 -0
- package/lib/acde/skills/acde/references/start/install.md +232 -0
- package/lib/acde/skills/acde/references/start/project.md +77 -0
- package/lib/acde/templates/app/acde.config.jsonc +27 -0
- package/lib/acde/templates/app/gitignore +2 -0
- package/lib/acde/templates/app/index.html +22 -0
- package/lib/acde/templates/app/package.json +5 -0
- package/lib/acde/templates/app/src/i18n.js +26 -0
- package/lib/acde/templates/app/src/locales/en.js +4 -0
- package/lib/acde/templates/app/src/locales/zh.js +4 -0
- package/lib/acde/templates/app/src/main.js +5 -0
- package/lib/acde/templates/backend/server.ts +7 -0
- package/lib/acde/templates/backend/src/main.js +6 -0
- package/lib/acde/templates/desktop/acde.config.jsonc +17 -0
- package/lib/acde/templates/desktop/gitignore +2 -0
- package/lib/acde/templates/desktop/index.html +19 -0
- package/lib/acde/templates/desktop/package.json +5 -0
- package/lib/acde/templates/desktop/src/desktop.js +16 -0
- package/lib/acde/templates/desktop/src/i18n.js +26 -0
- package/lib/acde/templates/desktop/src/locales/en.js +4 -0
- package/lib/acde/templates/desktop/src/locales/zh.js +4 -0
- package/lib/acde/templates/framework/acde.config.jsonc +26 -0
- package/lib/acde-api/LICENSE +5 -0
- package/lib/acde-api/config.schema.json +563 -0
- package/lib/acde-api/package.json +51 -0
- package/lib/acde-api/src/app.d.ts +36 -0
- package/lib/acde-api/src/frame.d.ts +15 -0
- package/lib/acde-api/src/frame.js +1 -0
- package/lib/acde-api/src/index.d.ts +11 -0
- package/lib/acde-api/src/index.js +1 -0
- package/lib/acde-api/src/modules/app-modules.d.ts +81 -0
- package/lib/acde-api/src/modules/modules.d.ts +113 -0
- package/lib/acde-api/src/modules/shell-modules.d.ts +32 -0
- package/lib/acde-api/src/runtime/level.d.ts +1 -0
- package/lib/acde-api/src/runtime/level.js +1 -0
- package/lib/acde-api/src/runtime/load.d.ts +8 -0
- package/lib/acde-api/src/runtime/load.js +1 -0
- package/lib/acde-api/src/runtime/places.d.ts +3 -0
- package/lib/acde-api/src/runtime/places.js +1 -0
- package/lib/acde-api/src/runtime/platforms.d.ts +5 -0
- package/lib/acde-api/src/runtime/platforms.js +1 -0
- package/lib/acde-api/src/shell.d.ts +14 -0
- package/lib/acde-api/src/types/capabilities.d.ts +34 -0
- package/lib/acde-api/src/types/config.d.ts +55 -0
- package/lib/acde-api/src/types/events.d.ts +151 -0
- package/lib/acde-api/src/types/manifest.d.ts +83 -0
- package/lib/acde-api/src/types/office.d.ts +118 -0
- package/lib/acde-api/src/types/page.d.ts +1090 -0
- package/lib/acde-api/src/types/permissions.d.ts +50 -0
- package/lib/acde-api/src/types/service.d.ts +35 -0
- package/lib/acde-api/src/validate.d.ts +64 -0
- package/lib/acde-api/src/validate.js +1 -0
- package/lib/acde-api/src/vite.d.ts +3 -0
- package/lib/acde-api/src/vite.js +9 -0
- package/package.json +11 -4
- package/README.md +0 -3
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
declare module 'acde:fs' {
|
|
2
|
+
const fs: import('../types/page').AcdeFs
|
|
3
|
+
export { fs, fs as default }
|
|
4
|
+
}
|
|
5
|
+
declare module 'acde:office' {
|
|
6
|
+
const office: import('../types/page').AcdeOffice
|
|
7
|
+
export { office, office as default }
|
|
8
|
+
}
|
|
9
|
+
declare module 'acde:terminal' {
|
|
10
|
+
const terminal: import('../types/page').AcdeTerminals
|
|
11
|
+
export { terminal, terminal as default }
|
|
12
|
+
}
|
|
13
|
+
declare module 'acde:power' {
|
|
14
|
+
const power: import('../types/page').AcdePower
|
|
15
|
+
export { power, power as default }
|
|
16
|
+
}
|
|
17
|
+
declare module 'acde:input' {
|
|
18
|
+
const input: import('../types/page').AcdeInput
|
|
19
|
+
export { input, input as default }
|
|
20
|
+
}
|
|
21
|
+
declare module 'acde:display' {
|
|
22
|
+
const display: import('../types/page').AcdeDisplay
|
|
23
|
+
export { display, display as default }
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
declare module 'acde:devices' {
|
|
27
|
+
const devices: import('../types/page').AcdeDevices
|
|
28
|
+
export { devices, devices as default }
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
declare module 'acde:audio' {
|
|
32
|
+
const audio: import('../types/page').AcdeAudio
|
|
33
|
+
export { audio, audio as default }
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
declare module 'acde:bluetooth' {
|
|
37
|
+
const bluetooth: import('../types/page').AcdeBluetooth
|
|
38
|
+
export { bluetooth, bluetooth as default }
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
declare module 'acde:system' {
|
|
42
|
+
const system: import('../types/page').AcdeSystem
|
|
43
|
+
export { system, system as default }
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
declare module 'acde:network' {
|
|
47
|
+
const network: import('../types/page').AcdeNetwork
|
|
48
|
+
export { network, network as default }
|
|
49
|
+
}
|
|
50
|
+
declare module 'acde:launch' {
|
|
51
|
+
const launch: import('../types/page').AcdeLaunch
|
|
52
|
+
export { launch, launch as default }
|
|
53
|
+
}
|
|
54
|
+
declare module 'acde:apps' {
|
|
55
|
+
const apps: import('../types/page').AcdeAppList
|
|
56
|
+
export { apps, apps as default }
|
|
57
|
+
}
|
|
58
|
+
declare module 'acde:open' {
|
|
59
|
+
const open: import('../types/page').AcdeOpen
|
|
60
|
+
export { open, open as default }
|
|
61
|
+
}
|
|
62
|
+
declare module 'acde:openPath' {
|
|
63
|
+
const openPath: import('../types/page').AcdeOpenFiles['openPath']
|
|
64
|
+
export { openPath, openPath as default }
|
|
65
|
+
}
|
|
66
|
+
declare module 'acde:handlers' {
|
|
67
|
+
const handlers: import('../types/page').AcdeOpenFiles['handlers']
|
|
68
|
+
export { handlers, handlers as default }
|
|
69
|
+
}
|
|
70
|
+
declare module 'acde:window' {
|
|
71
|
+
const self: import('../types/page').AcdeWindow
|
|
72
|
+
export { self as window, self as default }
|
|
73
|
+
}
|
|
74
|
+
declare module 'acde:capabilities' {
|
|
75
|
+
const capabilities: import('../types/capabilities').AcdeCapabilities
|
|
76
|
+
export { capabilities, capabilities as default }
|
|
77
|
+
}
|
|
78
|
+
declare module 'acde:*' {
|
|
79
|
+
const service: unknown
|
|
80
|
+
export default service
|
|
81
|
+
}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
declare module 'acde:fs' {
|
|
2
|
+
const fs: import('@dopame/acde-api').AcdeModules['fs']
|
|
3
|
+
export { fs, fs as default }
|
|
4
|
+
}
|
|
5
|
+
declare module 'acde:office' {
|
|
6
|
+
const office: import('@dopame/acde-api').AcdeModules['office']
|
|
7
|
+
export { office, office as default }
|
|
8
|
+
}
|
|
9
|
+
declare module 'acde:terminal' {
|
|
10
|
+
const terminal: import('@dopame/acde-api').AcdeModules['terminal']
|
|
11
|
+
export { terminal, terminal as default }
|
|
12
|
+
}
|
|
13
|
+
declare module 'acde:power' {
|
|
14
|
+
const power: import('@dopame/acde-api').AcdeModules['power']
|
|
15
|
+
export { power, power as default }
|
|
16
|
+
}
|
|
17
|
+
declare module 'acde:input' {
|
|
18
|
+
const input: import('@dopame/acde-api').AcdeModules['input']
|
|
19
|
+
export { input, input as default }
|
|
20
|
+
}
|
|
21
|
+
declare module 'acde:display' {
|
|
22
|
+
const display: import('@dopame/acde-api').AcdeModules['display']
|
|
23
|
+
export { display, display as default }
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
declare module 'acde:devices' {
|
|
27
|
+
const devices: import('@dopame/acde-api').AcdeModules['devices']
|
|
28
|
+
export { devices, devices as default }
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
declare module 'acde:audio' {
|
|
32
|
+
const audio: import('@dopame/acde-api').AcdeModules['audio']
|
|
33
|
+
export { audio, audio as default }
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
declare module 'acde:bluetooth' {
|
|
37
|
+
const bluetooth: import('@dopame/acde-api').AcdeModules['bluetooth']
|
|
38
|
+
export { bluetooth, bluetooth as default }
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
declare module 'acde:system' {
|
|
42
|
+
const system: import('@dopame/acde-api').AcdeModules['system']
|
|
43
|
+
export { system, system as default }
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
declare module 'acde:network' {
|
|
47
|
+
const network: import('@dopame/acde-api').AcdeModules['network']
|
|
48
|
+
export { network, network as default }
|
|
49
|
+
}
|
|
50
|
+
declare module 'acde:windows' {
|
|
51
|
+
const windows: import('@dopame/acde-api').AcdeModules['windows']
|
|
52
|
+
export { windows, windows as default }
|
|
53
|
+
}
|
|
54
|
+
declare module 'acde:launch' {
|
|
55
|
+
const launch: import('@dopame/acde-api').AcdeModules['launch']
|
|
56
|
+
export { launch, launch as default }
|
|
57
|
+
}
|
|
58
|
+
declare module 'acde:packages' {
|
|
59
|
+
const packages: import('@dopame/acde-api').AcdeModules['packages']
|
|
60
|
+
export { packages, packages as default }
|
|
61
|
+
}
|
|
62
|
+
declare module 'acde:apps' {
|
|
63
|
+
const apps: import('@dopame/acde-api').AcdeModules['apps']
|
|
64
|
+
export { apps, apps as default }
|
|
65
|
+
}
|
|
66
|
+
declare module 'acde:desktop' {
|
|
67
|
+
const desktop: import('@dopame/acde-api').AcdeModules['desktop']
|
|
68
|
+
export { desktop, desktop as default }
|
|
69
|
+
}
|
|
70
|
+
declare module 'acde:desktops' {
|
|
71
|
+
const desktops: import('@dopame/acde-api').AcdeModules['desktops']
|
|
72
|
+
export { desktops, desktops as default }
|
|
73
|
+
}
|
|
74
|
+
declare module 'acde:session' {
|
|
75
|
+
const session: import('@dopame/acde-api').AcdeModules['session']
|
|
76
|
+
export { session, session as default }
|
|
77
|
+
}
|
|
78
|
+
declare module 'acde:inspect' {
|
|
79
|
+
const inspect: import('@dopame/acde-api').AcdeModules['inspect']
|
|
80
|
+
export { inspect, inspect as default }
|
|
81
|
+
}
|
|
82
|
+
declare module 'acde:open' {
|
|
83
|
+
const open: import('@dopame/acde-api').AcdeModules['open']
|
|
84
|
+
export { open, open as default }
|
|
85
|
+
}
|
|
86
|
+
declare module 'acde:openPath' {
|
|
87
|
+
const openPath: import('@dopame/acde-api').AcdeModules['openPath']
|
|
88
|
+
export { openPath, openPath as default }
|
|
89
|
+
}
|
|
90
|
+
declare module 'acde:handlers' {
|
|
91
|
+
const handlers: import('@dopame/acde-api').AcdeModules['handlers']
|
|
92
|
+
export { handlers, handlers as default }
|
|
93
|
+
}
|
|
94
|
+
declare module 'acde:permissions' {
|
|
95
|
+
const permissions: import('@dopame/acde-api').AcdeModules['permissions']
|
|
96
|
+
export { permissions, permissions as default }
|
|
97
|
+
}
|
|
98
|
+
declare module 'acde:setDefault' {
|
|
99
|
+
const setDefault: import('@dopame/acde-api').AcdeModules['setDefault']
|
|
100
|
+
export { setDefault, setDefault as default }
|
|
101
|
+
}
|
|
102
|
+
declare module 'acde:window' {
|
|
103
|
+
const self: import('@dopame/acde-api').AcdeModules['window']
|
|
104
|
+
export { self as window, self as default }
|
|
105
|
+
}
|
|
106
|
+
declare module 'acde:capabilities' {
|
|
107
|
+
const capabilities: import('@dopame/acde-api').AcdeModules['capabilities']
|
|
108
|
+
export { capabilities, capabilities as default }
|
|
109
|
+
}
|
|
110
|
+
declare module 'acde:*' {
|
|
111
|
+
const service: unknown
|
|
112
|
+
export default service
|
|
113
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
declare module 'acde:windows' {
|
|
2
|
+
const windows: import('../types/page').AcdeWindows
|
|
3
|
+
export { windows, windows as default }
|
|
4
|
+
}
|
|
5
|
+
declare module 'acde:packages' {
|
|
6
|
+
const packages: import('../types/page').AcdePackages
|
|
7
|
+
export { packages, packages as default }
|
|
8
|
+
}
|
|
9
|
+
declare module 'acde:session' {
|
|
10
|
+
const session: import('../types/page').AcdeSession
|
|
11
|
+
export { session, session as default }
|
|
12
|
+
}
|
|
13
|
+
declare module 'acde:desktops' {
|
|
14
|
+
const desktops: import('../types/page').AcdeDesktops
|
|
15
|
+
export { desktops, desktops as default }
|
|
16
|
+
}
|
|
17
|
+
declare module 'acde:inspect' {
|
|
18
|
+
const inspect: import('../types/page').AcdeInspect
|
|
19
|
+
export { inspect, inspect as default }
|
|
20
|
+
}
|
|
21
|
+
declare module 'acde:desktop' {
|
|
22
|
+
const desktop: import('../types/page').AcdeDesktop
|
|
23
|
+
export { desktop, desktop as default }
|
|
24
|
+
}
|
|
25
|
+
declare module 'acde:permissions' {
|
|
26
|
+
const permissions: import('../types/permissions').AcdePermissions
|
|
27
|
+
export { permissions, permissions as default }
|
|
28
|
+
}
|
|
29
|
+
declare module 'acde:setDefault' {
|
|
30
|
+
const setDefault: import('../types/page').AcdeOpenFiles['setDefault']
|
|
31
|
+
export { setDefault, setDefault as default }
|
|
32
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const API_LEVEL: 1
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const o=1;export{o as API_LEVEL};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { AcdePage } from '../types/page'
|
|
2
|
+
|
|
3
|
+
export type AcdeModules = {
|
|
4
|
+
readonly [K in keyof AcdePage as string extends K ? never : number extends K ? never : K]-?: NonNullable<AcdePage[K]>
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export function load<K extends keyof AcdeModules>(name: K): Promise<AcdeModules[K] | null>
|
|
8
|
+
export function load(name: string): Promise<unknown>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function i(e){return import(`acde:${e}`).then(n=>n.default??null,()=>null)}export{i as load};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=Object.freeze(["desktop","documents","downloads","music","pictures","videos"]);export{e as SHARED_PLACES};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Platform, PlatformSupport, RunningMode } from '../types/capabilities'
|
|
2
|
+
|
|
3
|
+
export declare const RUNNING_MODES: readonly RunningMode[]
|
|
4
|
+
export declare const PLATFORM_SUPPORT: Readonly<Record<Platform, Partial<Readonly<Record<RunningMode, PlatformSupport>>>>>
|
|
5
|
+
export declare function platformSupport(platform: string, mode: RunningMode): PlatformSupport | null
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const n=["slots"],t=["network","system","bluetooth","audio","devices","power","input","display","idleDetection","office","camera","microphone",...n],e=["network","system","bluetooth","audio","devices","power","input","display","idleDetection","office",...n],o={backdrop:"full"},i=["session","desktop","standalone"],p={linux:{session:{unsupported:[],window:o},desktop:{unsupported:n,window:o},standalone:{unsupported:n,window:o}},win32:{desktop:{unsupported:t,window:o},standalone:{unsupported:[...t,"notifications"],window:o}},darwin:{desktop:{unsupported:e,window:o},standalone:{unsupported:e,window:o}}};function u(s,d){return p[s]?.[d]??null}export{p as PLATFORM_SUPPORT,i as RUNNING_MODES,u as platformSupport};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/// <reference path="./modules/app-modules.d.ts" />
|
|
2
|
+
/// <reference path="./modules/shell-modules.d.ts" />
|
|
3
|
+
import type * as Page from './types/page'
|
|
4
|
+
import type { AppModules } from './app'
|
|
5
|
+
|
|
6
|
+
export type * from './app'
|
|
7
|
+
export { API_LEVEL } from './runtime/level'
|
|
8
|
+
export { PLATFORM_SUPPORT, RUNNING_MODES, platformSupport } from './runtime/platforms'
|
|
9
|
+
export { SHARED_PLACES, type PlaceCapability, type SharedPlace } from './runtime/places'
|
|
10
|
+
|
|
11
|
+
export interface ShellModules extends AppModules, Page.ShellModuleTypes {}
|
|
12
|
+
|
|
13
|
+
export function load<K extends keyof ShellModules>(name: K): Promise<ShellModules[K] | null>
|
|
14
|
+
export function load(name: string): Promise<unknown>
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export type Platform = 'linux' | 'win32' | 'darwin'
|
|
2
|
+
|
|
3
|
+
export type RunningMode = 'session' | 'desktop' | 'standalone'
|
|
4
|
+
|
|
5
|
+
export type FeatureSupport = 'full' | 'approximated' | 'unsupported'
|
|
6
|
+
|
|
7
|
+
export interface WindowFeatures {
|
|
8
|
+
readonly backdrop: FeatureSupport
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export interface PlatformSupport {
|
|
12
|
+
readonly unsupported: readonly string[]
|
|
13
|
+
readonly window: WindowFeatures
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export type CapabilityState = 'available' | 'not-asked' | 'asking' | 'denied' | 'not-declared' | 'unsupported' | 'service-not-running' | 'shell-only'
|
|
17
|
+
|
|
18
|
+
export interface CapabilityStatus {
|
|
19
|
+
readonly name: string
|
|
20
|
+
readonly kind: 'system' | 'service'
|
|
21
|
+
readonly state: CapabilityState
|
|
22
|
+
readonly reason: string
|
|
23
|
+
readonly optional: boolean
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export interface AcdeCapabilities {
|
|
27
|
+
readonly level: number
|
|
28
|
+
readonly platform: Platform
|
|
29
|
+
readonly mode: RunningMode
|
|
30
|
+
readonly window: WindowFeatures
|
|
31
|
+
get(name: string): CapabilityStatus
|
|
32
|
+
list(): CapabilityStatus[]
|
|
33
|
+
request(name: string): Promise<CapabilityStatus>
|
|
34
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type { Capabilities, IconName, ShellModule } from './manifest'
|
|
2
|
+
|
|
3
|
+
export type AcdeConfig = AppConfig | DesktopConfig
|
|
4
|
+
|
|
5
|
+
export interface ConfigCommon {
|
|
6
|
+
readonly $schema?: string
|
|
7
|
+
readonly name?: string
|
|
8
|
+
readonly version?: string
|
|
9
|
+
readonly apiLevel?: number
|
|
10
|
+
readonly public?: string
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export interface WindowAppConfig {
|
|
14
|
+
readonly id?: string
|
|
15
|
+
readonly label?: string
|
|
16
|
+
readonly icon?: IconName | (string & {})
|
|
17
|
+
readonly entry?: string
|
|
18
|
+
readonly capabilities?: Capabilities
|
|
19
|
+
readonly optional?: readonly string[]
|
|
20
|
+
readonly services?: readonly string[]
|
|
21
|
+
readonly heapMb?: number
|
|
22
|
+
readonly size?: readonly [number, number]
|
|
23
|
+
readonly multiple?: boolean
|
|
24
|
+
readonly frame?: boolean
|
|
25
|
+
readonly mimeTypes?: readonly string[]
|
|
26
|
+
readonly backend?: false | BackendConfig
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export interface BackendConfig {
|
|
30
|
+
readonly entry?: string
|
|
31
|
+
readonly port?: number
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export interface ServiceConfig {
|
|
35
|
+
readonly module: string
|
|
36
|
+
readonly modules?: readonly ShellModule[]
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export type Framework = 'auto' | 'none' | 'next' | 'nuxt' | 'sveltekit' | 'astro' | 'react-router' | 'remix' | 'angular' | 'vite' | 'cra' | 'script'
|
|
40
|
+
|
|
41
|
+
export interface AppConfig extends ConfigCommon, WindowAppConfig {
|
|
42
|
+
readonly type: 'app'
|
|
43
|
+
readonly framework?: Framework
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export interface DesktopConfig extends ConfigCommon {
|
|
47
|
+
readonly type: 'desktop'
|
|
48
|
+
readonly id?: string
|
|
49
|
+
readonly label?: string
|
|
50
|
+
readonly description?: string
|
|
51
|
+
readonly entry?: string
|
|
52
|
+
readonly heapMb?: number
|
|
53
|
+
readonly services?: Readonly<Record<string, string | ServiceConfig>>
|
|
54
|
+
readonly apps?: readonly (WindowAppConfig & { readonly id: string; readonly entry: string })[]
|
|
55
|
+
}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import type { DesktopApp, WindowState } from './page'
|
|
2
|
+
|
|
3
|
+
interface WindowsEventOf<T extends string> {
|
|
4
|
+
readonly type: T
|
|
5
|
+
readonly window: number
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export interface WindowOpenEvent extends WindowsEventOf<'windowopen'> {
|
|
9
|
+
readonly appId?: string | null
|
|
10
|
+
readonly title?: string | null
|
|
11
|
+
readonly web?: true
|
|
12
|
+
readonly icon?: string
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export interface WindowTitleEvent extends WindowsEventOf<'windowtitle'> {
|
|
16
|
+
readonly appId?: string | null
|
|
17
|
+
readonly title?: string | null
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export interface WindowsStateEvent extends WindowsEventOf<'windowstate'> {
|
|
21
|
+
readonly state: WindowState
|
|
22
|
+
readonly previous: WindowState
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export interface WindowMinSizeEvent extends WindowsEventOf<'windowminsize'> {
|
|
26
|
+
readonly width: number
|
|
27
|
+
readonly height: number
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export interface WindowParentEvent extends WindowsEventOf<'windowparent'> {
|
|
31
|
+
readonly parent?: number
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export interface WindowMenuItem {
|
|
35
|
+
readonly id: string
|
|
36
|
+
readonly label: string
|
|
37
|
+
readonly shortcut?: string
|
|
38
|
+
readonly checked?: boolean
|
|
39
|
+
readonly disabled?: boolean
|
|
40
|
+
readonly action: boolean
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export interface WindowMenu {
|
|
44
|
+
readonly id: string
|
|
45
|
+
readonly label: string
|
|
46
|
+
readonly items: readonly ({ readonly type: 'separator' } | WindowMenuItem)[]
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export interface WindowMenusEvent extends WindowsEventOf<'windowmenus'> {
|
|
50
|
+
readonly menus: readonly WindowMenu[]
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export interface WindowCrashEvent extends WindowsEventOf<'windowcrash'> {
|
|
54
|
+
readonly reason: string
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export interface WindowsEventMap {
|
|
58
|
+
readonly open: WindowOpenEvent
|
|
59
|
+
readonly close: WindowsEventOf<'windowclose'>
|
|
60
|
+
readonly title: WindowTitleEvent
|
|
61
|
+
readonly state: WindowsStateEvent
|
|
62
|
+
readonly activate: WindowsEventOf<'windowactivate'>
|
|
63
|
+
readonly minsize: WindowMinSizeEvent
|
|
64
|
+
readonly parent: WindowParentEvent
|
|
65
|
+
readonly menus: WindowMenusEvent
|
|
66
|
+
readonly crash: WindowCrashEvent
|
|
67
|
+
readonly hang: WindowsEventOf<'windowhang'>
|
|
68
|
+
readonly responsive: WindowsEventOf<'windowresponsive'>
|
|
69
|
+
readonly attention: WindowsEventOf<'windowattention'>
|
|
70
|
+
readonly ready: WindowsEventOf<'windowready'>
|
|
71
|
+
readonly show: WindowsEventOf<'windowshow'>
|
|
72
|
+
readonly animated: WindowsEventOf<'windowanimated'>
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export type WindowsEventType = keyof WindowsEventMap
|
|
76
|
+
|
|
77
|
+
export type WindowsEvent = WindowsEventMap[WindowsEventType]
|
|
78
|
+
|
|
79
|
+
export interface WindowsEvents {
|
|
80
|
+
on<K extends WindowsEventType>(type: K, handler: (event: WindowsEventMap[K]) => void): () => boolean
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export interface AppsChangedEvent {
|
|
84
|
+
readonly type: 'appschanged'
|
|
85
|
+
readonly apps: readonly DesktopApp[]
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
export interface NotificationEvent {
|
|
89
|
+
readonly type: 'notification'
|
|
90
|
+
readonly window: number
|
|
91
|
+
readonly app: string | null
|
|
92
|
+
readonly label: string | null
|
|
93
|
+
readonly title: string
|
|
94
|
+
readonly body: string
|
|
95
|
+
readonly icon: string
|
|
96
|
+
readonly tag: string
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
export interface DownloadEvent {
|
|
100
|
+
readonly type: 'download'
|
|
101
|
+
readonly window: number
|
|
102
|
+
readonly app: string | null
|
|
103
|
+
readonly path: string
|
|
104
|
+
readonly name: string
|
|
105
|
+
readonly size: number
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
export type ScreenshotEvent =
|
|
109
|
+
| { readonly type: 'screenshot'; readonly path: string; readonly width: number; readonly height: number }
|
|
110
|
+
| { readonly type: 'screenshot'; readonly path: string; readonly error: string }
|
|
111
|
+
|
|
112
|
+
export type ShortcutScope = 'session' | 'desktop' | 'app'
|
|
113
|
+
|
|
114
|
+
export interface ShortcutEvent {
|
|
115
|
+
readonly type: 'shortcut'
|
|
116
|
+
readonly window: number
|
|
117
|
+
readonly key: string
|
|
118
|
+
readonly title: ShortcutScope
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
export type ScreenEdge = 'top' | 'right' | 'bottom' | 'left'
|
|
122
|
+
|
|
123
|
+
export interface ScreenEdgeEvent {
|
|
124
|
+
readonly type: 'screenedge'
|
|
125
|
+
readonly edge: ScreenEdge
|
|
126
|
+
readonly entered: boolean
|
|
127
|
+
readonly output: string
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
export interface DesktopEventMap {
|
|
131
|
+
readonly download: DownloadEvent
|
|
132
|
+
readonly edge: ScreenEdgeEvent
|
|
133
|
+
readonly notification: NotificationEvent
|
|
134
|
+
readonly screenshot: ScreenshotEvent
|
|
135
|
+
readonly shortcut: ShortcutEvent
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
export type TerminalEvent =
|
|
139
|
+
| { readonly type: 'output'; readonly data: string }
|
|
140
|
+
| { readonly type: 'cwd'; readonly path: string }
|
|
141
|
+
| { readonly type: 'exit'; readonly code: number | null; readonly signal: number | null }
|
|
142
|
+
|
|
143
|
+
export interface WindowGrabEvent {
|
|
144
|
+
readonly kind: 'pointer' | 'keyboard'
|
|
145
|
+
readonly granted: boolean
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
export interface WindowGrabLostEvent {
|
|
149
|
+
readonly kind: 'lost'
|
|
150
|
+
readonly reason: 'esc' | 'other_window' | 'focus_lost' | 'denied'
|
|
151
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import type { SharedPlace } from '../runtime/places'
|
|
2
|
+
import type { IconName, ShellModule } from '../validate'
|
|
3
|
+
|
|
4
|
+
export type { IconName, ShellModule }
|
|
5
|
+
|
|
6
|
+
export interface PackageManifest {
|
|
7
|
+
readonly apiLevel?: number
|
|
8
|
+
readonly desktops?: readonly DesktopManifest[]
|
|
9
|
+
readonly apps?: readonly AppManifest[]
|
|
10
|
+
readonly assets?: Readonly<Record<string, readonly string[]>>
|
|
11
|
+
readonly services?: readonly ServiceManifest[]
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export interface DesktopManifest {
|
|
15
|
+
readonly id: string
|
|
16
|
+
readonly name: string
|
|
17
|
+
readonly description?: string
|
|
18
|
+
readonly entry: string
|
|
19
|
+
readonly services?: readonly (string | DesktopService)[]
|
|
20
|
+
readonly heapMb?: number
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export interface DesktopService {
|
|
24
|
+
readonly name: string
|
|
25
|
+
readonly modules?: readonly ShellModule[]
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export interface AppManifest {
|
|
29
|
+
readonly id: string
|
|
30
|
+
readonly label: string
|
|
31
|
+
readonly icon: IconName | (string & {})
|
|
32
|
+
readonly entry: string
|
|
33
|
+
readonly capabilities?: Capabilities
|
|
34
|
+
readonly heapMb?: number
|
|
35
|
+
readonly size?: readonly [number, number]
|
|
36
|
+
readonly multiple?: boolean
|
|
37
|
+
readonly frame?: boolean
|
|
38
|
+
readonly mimeTypes?: readonly string[]
|
|
39
|
+
readonly schemes?: readonly string[]
|
|
40
|
+
readonly requests?: readonly string[]
|
|
41
|
+
readonly backend?: AppBackend
|
|
42
|
+
readonly optional?: readonly string[]
|
|
43
|
+
readonly services?: readonly string[]
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export interface AppBackend {
|
|
47
|
+
readonly entry: string
|
|
48
|
+
readonly port?: number
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export interface Capabilities {
|
|
52
|
+
readonly fs?: boolean | { readonly roots: readonly SharedPlace[] }
|
|
53
|
+
readonly terminal?: boolean
|
|
54
|
+
readonly network?: boolean
|
|
55
|
+
readonly system?: boolean
|
|
56
|
+
readonly bluetooth?: boolean
|
|
57
|
+
readonly audio?: boolean
|
|
58
|
+
readonly devices?: boolean
|
|
59
|
+
readonly power?: boolean
|
|
60
|
+
readonly input?: boolean
|
|
61
|
+
readonly display?: boolean
|
|
62
|
+
readonly idleDetection?: boolean
|
|
63
|
+
readonly office?: boolean
|
|
64
|
+
readonly launch?: boolean
|
|
65
|
+
readonly slots?: boolean
|
|
66
|
+
readonly open?: boolean | readonly string[]
|
|
67
|
+
readonly openFiles?: boolean
|
|
68
|
+
readonly windows?: boolean
|
|
69
|
+
readonly packages?: boolean
|
|
70
|
+
readonly session?: boolean
|
|
71
|
+
readonly desktops?: boolean
|
|
72
|
+
readonly inspect?: boolean
|
|
73
|
+
readonly desktop?: boolean
|
|
74
|
+
readonly setDefault?: boolean
|
|
75
|
+
readonly camera?: boolean
|
|
76
|
+
readonly microphone?: boolean
|
|
77
|
+
readonly [service: string]: unknown
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
export interface ServiceManifest {
|
|
81
|
+
readonly name: string
|
|
82
|
+
readonly module: string
|
|
83
|
+
}
|