@owdproject/core 3.4.0 → 4.0.0-alpha.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.
Files changed (108) hide show
  1. package/README.md +112 -13
  2. package/dist/dom/index.d.mts +65 -0
  3. package/dist/dom/index.d.ts +65 -0
  4. package/dist/dom/index.mjs +224 -0
  5. package/dist/events/index.d.mts +70 -0
  6. package/dist/events/index.d.ts +70 -0
  7. package/dist/events/index.mjs +3 -0
  8. package/dist/index.d.mts +73 -0
  9. package/dist/index.d.ts +73 -0
  10. package/dist/index.mjs +115 -0
  11. package/dist/layout/index.d.mts +41 -0
  12. package/dist/layout/index.d.ts +41 -0
  13. package/dist/layout/index.mjs +64 -0
  14. package/dist/machines/index.d.mts +31 -0
  15. package/dist/machines/index.d.ts +31 -0
  16. package/dist/machines/index.mjs +2 -0
  17. package/dist/managers/index.d.mts +117 -0
  18. package/dist/managers/index.d.ts +117 -0
  19. package/dist/managers/index.mjs +6 -0
  20. package/dist/session/index.d.mts +57 -0
  21. package/dist/session/index.d.ts +57 -0
  22. package/dist/session/index.mjs +65 -0
  23. package/dist/shared/core.B0B0KfVK.mjs +865 -0
  24. package/dist/shared/core.B1XxB289.mjs +239 -0
  25. package/dist/shared/core.B3mp7ztE.mjs +237 -0
  26. package/dist/shared/core.BOvFdEVQ.d.ts +114 -0
  27. package/dist/shared/core.CsDFgGnX.mjs +40 -0
  28. package/dist/shared/core.Di1eFcr_.d.mts +114 -0
  29. package/dist/shared/core.Pd_Ogt4g.mjs +101 -0
  30. package/dist/shared/core.b3Xldzyu.mjs +29 -0
  31. package/dist/types/index.d.mts +266 -0
  32. package/dist/types/index.d.ts +266 -0
  33. package/dist/types/index.mjs +1 -0
  34. package/package.json +56 -112
  35. package/CHANGELOG.md +0 -98
  36. package/DESKTOP_KERNEL.md +0 -232
  37. package/MIGRATION_3.3.2.md +0 -23
  38. package/MIGRATION_3.4.md +0 -126
  39. package/PLAYGROUND.md +0 -91
  40. package/dist/module.d.mts +0 -13
  41. package/dist/module.json +0 -9
  42. package/dist/module.mjs +0 -254
  43. package/dist/types.d.mts +0 -7
  44. package/index.ts +0 -8
  45. package/kit/authoring.ts +0 -340
  46. package/kit/defineDesktopApp.ts +0 -56
  47. package/module.ts +0 -203
  48. package/runtime/components/Application/DesktopCoreApplicationRender.vue +0 -20
  49. package/runtime/components/Application/DesktopCoreApplicationWindowsRender.vue +0 -38
  50. package/runtime/components/background/DesktopCoreBackground.vue +0 -16
  51. package/runtime/components/core/DesktopCore.vue +0 -43
  52. package/runtime/components/time/DesktopCoreTime.vue +0 -56
  53. package/runtime/components/window/DesktopCoreWindow.vue +0 -215
  54. package/runtime/components/window/DesktopCoreWindowContent.vue +0 -28
  55. package/runtime/components/window/DesktopCoreWindowNav.vue +0 -66
  56. package/runtime/components/window/DesktopCoreWindowSnapHintsBase.vue +0 -74
  57. package/runtime/components/workspace/DesktopCoreWorkspaceEdgeHintsBase.vue +0 -84
  58. package/runtime/composables/useApplicationEntries.ts +0 -51
  59. package/runtime/composables/useApplicationManager.ts +0 -285
  60. package/runtime/composables/useBlockNonInputContextMenu.ts +0 -30
  61. package/runtime/composables/useDesktopConfig.ts +0 -8
  62. package/runtime/composables/useDesktopDialogs.ts +0 -16
  63. package/runtime/composables/useDesktopExtension.ts +0 -8
  64. package/runtime/composables/useDesktopManager.ts +0 -51
  65. package/runtime/composables/useDesktopManifest.ts +0 -17
  66. package/runtime/composables/useDesktopSession.ts +0 -27
  67. package/runtime/composables/useDesktopShellIdentity.ts +0 -99
  68. package/runtime/composables/useDesktopShellOptions.ts +0 -36
  69. package/runtime/composables/useDesktopShellReady.ts +0 -7
  70. package/runtime/composables/useDesktopWorkArea.ts +0 -93
  71. package/runtime/composables/useTerminalManager.ts +0 -159
  72. package/runtime/composables/useToggleWindowMaximize.ts +0 -35
  73. package/runtime/composables/useWindowDragHandlers.ts +0 -47
  74. package/runtime/composables/useWindowSnapDrop.ts +0 -112
  75. package/runtime/composables/useWorkspaceEdgeDrop.ts +0 -176
  76. package/runtime/composables/useWorkspaceManager.ts +0 -67
  77. package/runtime/composables/useWorkspaceOverviewCapture.ts +0 -92
  78. package/runtime/composables/useWorkspaceOverviewLiveScale.ts +0 -151
  79. package/runtime/constants/desktopShellKeys.ts +0 -12
  80. package/runtime/constants/shellLayout.ts +0 -5
  81. package/runtime/dialogs/desktopDialogProvider.ts +0 -73
  82. package/runtime/internal/controllers/ApplicationController.ts +0 -351
  83. package/runtime/internal/controllers/WindowController.ts +0 -547
  84. package/runtime/plugins/01.desktop-shell-init.client.ts +0 -28
  85. package/runtime/plugins/02.desktop-register-desktop-apps.client.ts +0 -13
  86. package/runtime/plugins/resize.client.ts +0 -6
  87. package/runtime/stores/storeApplicationMeta.ts +0 -60
  88. package/runtime/stores/storeApplicationWindows.ts +0 -21
  89. package/runtime/stores/storeDesktop.ts +0 -71
  90. package/runtime/stores/storeDesktopDefaultApps.ts +0 -54
  91. package/runtime/stores/storeDesktopVolume.ts +0 -19
  92. package/runtime/stores/storeDesktopWindow.ts +0 -38
  93. package/runtime/stores/storeDesktopWorkspace.ts +0 -105
  94. package/runtime/stores/storeIds.ts +0 -35
  95. package/runtime/types/desktopMenu.ts +0 -10
  96. package/runtime/utils/initDesktopShell.ts +0 -80
  97. package/runtime/utils/migratePersistedStoreIds.ts +0 -57
  98. package/runtime/utils/utilApp.ts +0 -25
  99. package/runtime/utils/utilCaptureElementToCanvas.ts +0 -21
  100. package/runtime/utils/utilCommon.ts +0 -26
  101. package/runtime/utils/utilDebug.ts +0 -30
  102. package/runtime/utils/utilDetectSnapZone.ts +0 -57
  103. package/runtime/utils/utilTerminal.ts +0 -6
  104. package/runtime/utils/utilWindowControllerAdapter.ts +0 -15
  105. package/runtime/utils/utilWindowLayout.ts +0 -82
  106. package/runtime/utils/utilWindowMaximizeLayout.ts +0 -44
  107. package/runtime/utils/utilWorkspaceWindows.ts +0 -33
  108. package/types/index.d.ts +0 -531
@@ -0,0 +1,266 @@
1
+ /**
2
+ * @owdproject/core - Framework-Agnostic Types
3
+ */
4
+ type WindowLayout = 'normal' | 'maximize' | 'bottom-half' | 'left-half' | 'right-half' | 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
5
+ type SnapZoneHint = Exclude<WindowLayout, 'normal'>;
6
+ interface WindowBounds {
7
+ x: number;
8
+ y: number;
9
+ width: number;
10
+ height: number;
11
+ }
12
+ interface DesktopWorkareaRect {
13
+ x: number;
14
+ y: number;
15
+ width: number;
16
+ height: number;
17
+ }
18
+ type WindowSizeValue = number | string | undefined;
19
+ interface WindowSize {
20
+ width?: WindowSizeValue;
21
+ height?: WindowSizeValue;
22
+ minWidth?: WindowSizeValue;
23
+ minHeight?: WindowSizeValue;
24
+ maxWidth?: WindowSizeValue;
25
+ maxHeight?: WindowSizeValue;
26
+ }
27
+ interface WindowPosition {
28
+ x?: number;
29
+ y?: number;
30
+ z?: number;
31
+ }
32
+ interface SpatialPoint3D {
33
+ x: number;
34
+ y: number;
35
+ z: number;
36
+ }
37
+ interface SpatialEuler {
38
+ pitch: number;
39
+ yaw: number;
40
+ roll: number;
41
+ }
42
+ interface SpatialTransform {
43
+ position: SpatialPoint3D;
44
+ rotation?: SpatialEuler;
45
+ scale?: SpatialPoint3D;
46
+ distance?: number;
47
+ curveRadius?: number;
48
+ }
49
+ type SpatialLayoutMode = 'cylinder' | 'sphere' | 'carousel' | 'depth-stack';
50
+ interface WindowConfig {
51
+ title?: string;
52
+ category?: string;
53
+ icon?: string;
54
+ component?: any;
55
+ position?: WindowPosition;
56
+ size: WindowSize;
57
+ minimizable?: boolean;
58
+ maximized?: boolean;
59
+ maximizable?: boolean;
60
+ destroyable?: boolean;
61
+ draggable?: boolean;
62
+ resizable?: boolean;
63
+ spatial?: SpatialTransform;
64
+ overridable?: Partial<Record<'position' | 'size' | 'maximized' | 'draggable' | 'resizable' | 'destroyable' | 'minimizable', boolean>>;
65
+ }
66
+ interface WindowOverride {
67
+ title?: string;
68
+ windowTitle?: string;
69
+ icon?: string;
70
+ }
71
+ interface WindowState {
72
+ id: string;
73
+ createdAt: number;
74
+ category?: string;
75
+ workspace: string;
76
+ position?: WindowPosition;
77
+ size?: WindowSize;
78
+ spatial?: SpatialTransform;
79
+ focused: boolean;
80
+ dragging?: boolean;
81
+ resizing?: boolean;
82
+ active?: boolean;
83
+ minimizable?: boolean;
84
+ maximized?: boolean;
85
+ maximizable?: boolean;
86
+ destroyable?: boolean;
87
+ draggable?: boolean;
88
+ resizable?: boolean;
89
+ layout?: WindowLayout;
90
+ boundsBeforeLayout?: WindowBounds;
91
+ }
92
+ interface WindowStoredState {
93
+ model: string;
94
+ state: WindowState;
95
+ meta: any;
96
+ }
97
+ type ApplicationEntryVisibility = 'primary' | 'secondary' | 'hidden';
98
+ interface ApplicationEntry {
99
+ title?: string;
100
+ icon?: string;
101
+ category?: string;
102
+ visibility?: ApplicationEntryVisibility;
103
+ command: string | any;
104
+ }
105
+ type ApplicationPermission = string;
106
+ interface ApplicationConfigProvide {
107
+ name: string;
108
+ entry: string;
109
+ command?: string;
110
+ }
111
+ interface ApplicationConfig {
112
+ id: string;
113
+ title: string;
114
+ icon?: string;
115
+ category?: string;
116
+ version?: string;
117
+ description?: string;
118
+ provides?: ApplicationConfigProvide;
119
+ singleton?: boolean;
120
+ meta?: Record<string, any>;
121
+ permissions?: ApplicationPermission[];
122
+ windows?: {
123
+ [key: string]: WindowConfig;
124
+ };
125
+ entries: {
126
+ [key: string]: ApplicationEntry;
127
+ };
128
+ commands?: {
129
+ [key: string]: (app: any, args: any) => void;
130
+ };
131
+ terminal?: {
132
+ [commandName: string]: Omit<DesktopCommand, 'name' | 'applicationId'>;
133
+ };
134
+ onReady?(app: any): void | Promise<void>;
135
+ onLaunch?(app: any): void | Promise<void>;
136
+ onRestore?(app: any): void | Promise<void>;
137
+ onClose?(app: any): void | Promise<void>;
138
+ }
139
+ interface DesktopCommandArg {
140
+ name: string;
141
+ description?: string;
142
+ required?: boolean;
143
+ }
144
+ interface DesktopCommandOption {
145
+ flag: string;
146
+ description?: string;
147
+ }
148
+ interface DesktopCommand {
149
+ name: string;
150
+ applicationId: string;
151
+ description?: string;
152
+ usage?: string;
153
+ args?: DesktopCommandArg[];
154
+ options?: DesktopCommandOption[];
155
+ }
156
+ interface CommandOutput {
157
+ message: string;
158
+ isError?: boolean;
159
+ }
160
+ interface DesktopKernelEvent {
161
+ id: string;
162
+ timestamp: number;
163
+ channel: string;
164
+ source: string;
165
+ severity: 'info' | 'warn' | 'error';
166
+ payload?: any;
167
+ }
168
+ interface DesktopAppDefineContext {
169
+ id: string;
170
+ config: ApplicationConfig;
171
+ cancel?: boolean;
172
+ }
173
+ interface DesktopAppLaunchContext {
174
+ app: any;
175
+ entryKey?: string;
176
+ argument?: string;
177
+ cancel?: boolean;
178
+ }
179
+ interface DesktopAppSignalContext {
180
+ app: any;
181
+ signal?: 'SIGTERM' | 'SIGKILL' | 'SIGSTOP' | 'SIGCONT';
182
+ cancel?: boolean;
183
+ }
184
+ interface DesktopWindowOpenContext {
185
+ app: any;
186
+ model: string;
187
+ config: WindowConfig;
188
+ meta?: Record<string, any>;
189
+ cancel?: boolean;
190
+ }
191
+ interface DesktopWindowCloseContext {
192
+ window: any;
193
+ app: any;
194
+ cancel?: boolean;
195
+ }
196
+ interface DesktopCommandExecContext {
197
+ input: string;
198
+ commandName: string;
199
+ args: string[];
200
+ cancel?: boolean;
201
+ overrideOutput?: CommandOutput;
202
+ }
203
+ interface DesktopWorkspaceSwitchContext {
204
+ from: string;
205
+ to: string;
206
+ cancel?: boolean;
207
+ }
208
+ interface DesktopRuntimeHooks {
209
+ 'app:before-define': (ctx: DesktopAppDefineContext) => Promise<void> | void;
210
+ 'app:defined': (payload: {
211
+ app: any;
212
+ }) => Promise<void> | void;
213
+ 'app:before-launch': (ctx: DesktopAppLaunchContext) => Promise<void> | void;
214
+ 'app:launched': (payload: {
215
+ app: any;
216
+ pid: number | null;
217
+ }) => Promise<void> | void;
218
+ 'app:before-suspend': (ctx: DesktopAppSignalContext) => Promise<void> | void;
219
+ 'app:suspended': (payload: {
220
+ app: any;
221
+ }) => Promise<void> | void;
222
+ 'app:before-resume': (ctx: DesktopAppSignalContext) => Promise<void> | void;
223
+ 'app:resumed': (payload: {
224
+ app: any;
225
+ }) => Promise<void> | void;
226
+ 'app:before-terminate': (ctx: DesktopAppSignalContext) => Promise<void> | void;
227
+ 'app:terminated': (payload: {
228
+ id: string;
229
+ title: string;
230
+ pid: number | null;
231
+ }) => Promise<void> | void;
232
+ 'window:before-open': (ctx: DesktopWindowOpenContext) => Promise<void> | void;
233
+ 'window:opened': (payload: {
234
+ window: any;
235
+ app: any;
236
+ }) => Promise<void> | void;
237
+ 'window:focused': (payload: {
238
+ window: any;
239
+ previousWindow?: any;
240
+ }) => Promise<void> | void;
241
+ 'window:blurred': (payload: {
242
+ window: any;
243
+ }) => Promise<void> | void;
244
+ 'window:layout-change': (payload: {
245
+ window: any;
246
+ layout: WindowLayout;
247
+ }) => Promise<void> | void;
248
+ 'window:before-close': (ctx: DesktopWindowCloseContext) => Promise<void> | void;
249
+ 'window:closed': (payload: {
250
+ windowId: string;
251
+ app: any;
252
+ }) => Promise<void> | void;
253
+ 'command:before-exec': (ctx: DesktopCommandExecContext) => Promise<void> | void;
254
+ 'command:after-exec': (payload: {
255
+ input: string;
256
+ commandName: string;
257
+ output: CommandOutput | void;
258
+ }) => Promise<void> | void;
259
+ 'workspace:before-switch': (ctx: DesktopWorkspaceSwitchContext) => Promise<void> | void;
260
+ 'workspace:switched': (payload: {
261
+ from: string;
262
+ to: string;
263
+ }) => Promise<void> | void;
264
+ }
265
+
266
+ export type { ApplicationConfig, ApplicationConfigProvide, ApplicationEntry, ApplicationEntryVisibility, ApplicationPermission, CommandOutput, DesktopAppDefineContext, DesktopAppLaunchContext, DesktopAppSignalContext, DesktopCommand, DesktopCommandArg, DesktopCommandExecContext, DesktopCommandOption, DesktopKernelEvent, DesktopRuntimeHooks, DesktopWindowCloseContext, DesktopWindowOpenContext, DesktopWorkareaRect, DesktopWorkspaceSwitchContext, SnapZoneHint, SpatialEuler, SpatialLayoutMode, SpatialPoint3D, SpatialTransform, WindowBounds, WindowConfig, WindowLayout, WindowOverride, WindowPosition, WindowSize, WindowSizeValue, WindowState, WindowStoredState };
@@ -0,0 +1 @@
1
+
package/package.json CHANGED
@@ -1,142 +1,86 @@
1
1
  {
2
2
  "name": "@owdproject/core",
3
- "version": "3.4.0",
4
- "description": "Nuxt Desktop module for browser desktop experiences (windows, shell, apps)",
5
- "keywords": [
6
- "nuxt",
7
- "nuxt-module",
8
- "nuxt-desktop",
9
- "desktop",
10
- "web-desktop",
11
- "vue",
12
- "owd",
13
- "open-web-desktop"
14
- ],
3
+ "version": "4.0.0-alpha.3",
4
+ "description": "Headless desktop engine for the web: windows, applications, workspaces, commands, hooks, IPC, and pointer math",
15
5
  "homepage": "https://github.com/owdproject/core#readme",
16
- "bugs": {
17
- "url": "https://github.com/owdproject/core/issues"
18
- },
19
6
  "repository": {
20
7
  "type": "git",
21
8
  "url": "git+https://github.com/owdproject/core.git"
22
9
  },
23
- "license": "MIT",
24
10
  "author": {
25
- "name": "Open Web Desktop Team",
26
- "url": "https://github.com/owdproject"
11
+ "name": "Diego Villa (@dxlliv)",
12
+ "url": "https://github.com/dxlliv"
27
13
  },
14
+ "license": "MIT",
28
15
  "type": "module",
29
- "types": "types/index.d.ts",
16
+ "main": "./dist/index.mjs",
17
+ "module": "./dist/index.mjs",
18
+ "types": "./dist/index.d.ts",
30
19
  "files": [
31
20
  "dist",
32
- "kit",
33
- "runtime",
34
- "types",
35
- "index.ts",
36
- "module.ts",
37
- "package.json",
38
- "README.md",
39
- "DESKTOP_KERNEL.md",
40
- "CHANGELOG.md",
41
- "MIGRATION_3.3.2.md",
42
- "MIGRATION_3.4.md",
43
- "PLAYGROUND.md"
21
+ "README.md"
44
22
  ],
23
+ "publishConfig": {
24
+ "access": "public",
25
+ "tag": "alpha",
26
+ "registry": "https://registry.npmjs.org/"
27
+ },
45
28
  "exports": {
46
29
  ".": {
47
- "types": "./types/index.d.ts",
48
- "default": "./index.ts"
49
- },
50
- "./module": {
51
- "types": "./dist/types.d.mts",
52
- "development": "./module.ts",
53
- "import": "./module.ts",
54
- "default": "./module.ts"
55
- },
56
- "./nuxt": {
57
- "types": "./dist/types.d.mts",
58
- "development": "./module.ts",
59
- "import": "./module.ts",
60
- "default": "./module.ts"
61
- },
62
- "./package.json": "./package.json",
63
- "./kit/*": {
64
- "types": "./types/index.d.ts",
65
- "development": "./kit/*",
66
- "import": "./kit/*",
67
- "default": "./kit/*"
30
+ "types": "./dist/index.d.ts",
31
+ "import": "./dist/index.mjs",
32
+ "default": "./dist/index.mjs"
68
33
  },
69
- "./runtime/composables/*": {
70
- "types": "./runtime/composables/*",
71
- "development": "./runtime/composables/*",
72
- "import": "./runtime/composables/*",
73
- "default": "./runtime/composables/*"
34
+ "./machines": {
35
+ "types": "./dist/machines/index.d.ts",
36
+ "import": "./dist/machines/index.mjs",
37
+ "default": "./dist/machines/index.mjs"
74
38
  },
75
- "./runtime/constants/*": {
76
- "types": "./runtime/constants/*",
77
- "development": "./runtime/constants/*",
78
- "import": "./runtime/constants/*",
79
- "default": "./runtime/constants/*"
39
+ "./layout": {
40
+ "types": "./dist/layout/index.d.ts",
41
+ "import": "./dist/layout/index.mjs",
42
+ "default": "./dist/layout/index.mjs"
80
43
  },
81
- "./runtime/dialogs/*": {
82
- "types": "./runtime/dialogs/*",
83
- "development": "./runtime/dialogs/*",
84
- "import": "./runtime/dialogs/*",
85
- "default": "./runtime/dialogs/*"
44
+ "./managers": {
45
+ "types": "./dist/managers/index.d.ts",
46
+ "import": "./dist/managers/index.mjs",
47
+ "default": "./dist/managers/index.mjs"
86
48
  },
87
- "./runtime/utils/*": {
88
- "types": "./runtime/utils/*",
89
- "development": "./runtime/utils/*",
90
- "import": "./runtime/utils/*",
91
- "default": "./runtime/utils/*"
49
+ "./events": {
50
+ "types": "./dist/events/index.d.ts",
51
+ "import": "./dist/events/index.mjs",
52
+ "default": "./dist/events/index.mjs"
92
53
  },
93
- "./runtime/stores/*": {
94
- "types": "./runtime/stores/*",
95
- "development": "./runtime/stores/*",
96
- "import": "./runtime/stores/*",
97
- "default": "./runtime/stores/*"
54
+ "./session": {
55
+ "types": "./dist/session/index.d.ts",
56
+ "import": "./dist/session/index.mjs",
57
+ "default": "./dist/session/index.mjs"
98
58
  },
99
- "./runtime/components/*": {
100
- "types": "./runtime/components/*",
101
- "development": "./runtime/components/*",
102
- "import": "./runtime/components/*",
103
- "default": "./runtime/components/*"
59
+ "./dom": {
60
+ "types": "./dist/dom/index.d.ts",
61
+ "import": "./dist/dom/index.mjs",
62
+ "default": "./dist/dom/index.mjs"
104
63
  },
105
- "./runtime/types/*": {
106
- "types": "./runtime/types/*",
107
- "development": "./runtime/types/*",
108
- "import": "./runtime/types/*",
109
- "default": "./runtime/types/*"
64
+ "./types": {
65
+ "types": "./dist/types/index.d.ts",
66
+ "import": "./dist/types/index.mjs",
67
+ "default": "./dist/types/index.mjs"
110
68
  }
111
69
  },
112
70
  "dependencies": {
113
- "@nuxt/fonts": "^0.14.0",
114
- "@nuxt/icon": "^2.2.1",
115
- "@nuxt/kit": "^4.4.4",
116
- "@nuxtjs/i18n": "^10.3.0",
117
- "@pinia/nuxt": "^0.11.3",
118
- "@vueuse/components": "^14.3.0",
119
- "@vueuse/core": "^14.3.0",
120
- "@vueuse/nuxt": "^14.3.0",
121
- "defu": "^6.1.4",
122
- "mitt": "^3.0.1",
123
- "nanoid": "^5.1.11",
124
- "nuxt": "^4.4.4",
125
- "pinia": "^3.0.4",
126
- "sanitize.css": "^13.0.0",
127
- "sass": "^1.99.0",
128
- "vue-resizable": "^2.1.7"
71
+ "getopts": "^2.3.0",
72
+ "hookable": "^6.1.2",
73
+ "nanoid": "^6.0.2",
74
+ "shellwords": "^1.1.1",
75
+ "xstate": "^5.33.3"
129
76
  },
130
77
  "devDependencies": {
131
- "@nuxt/module-builder": "^1.0.2",
132
- "typescript": "~6.0.3"
78
+ "unbuild": "^3.6.1",
79
+ "typescript": "~6.0.3",
80
+ "@types/getopts": "^2.1.0"
133
81
  },
134
82
  "scripts": {
135
- "dev": "pnpm run dev:prepare",
136
- "dev:prepare": "nuxt-module-build build --stub",
137
- "build:module": "nuxt-module-build build",
138
- "test": "vitest run",
139
- "test:watch": "vitest",
140
- "test:coverage": "vitest run --coverage"
83
+ "build": "unbuild",
84
+ "prepack": "unbuild"
141
85
  }
142
- }
86
+ }
package/CHANGELOG.md DELETED
@@ -1,98 +0,0 @@
1
- ## 3.4.1 (2026-06-09)
2
-
3
- ### 🚀 Features
4
-
5
- - Pinia store ids use `desktop/*` and `desktop/application/*` instead of legacy `owd/desktop/*` and `owd/application/*`.
6
- - Automatic one-shot localStorage migration on first client boot when `@owdproject/module-persistence` is installed (legacy keys are copied then removed).
7
-
8
- ### 📚 Documentation
9
-
10
- - Document Pinia store id changes in `MIGRATION_3.4.md` and `DESKTOP_KERNEL.md`.
11
-
12
- ## 3.4.0 (2026-06-10)
13
-
14
- ### ⚠️ Breaking Changes
15
-
16
- - Core no longer installs PrimeVue or Tailwind. Use `@owdproject/kit-primevue` in themes; register Tailwind content via `registerTailwindPath` / `registerThemeTailwindPath` from the kit.
17
- - Headless explorer and ZenFS live in `@owdproject/module-fs`; optional PV explorer UI in `@owdproject/kit-primevue`.
18
- - Nuxt module `configKey` is `desktop` (was `owd`). App plugins should use `desktop-<slug>-register` (legacy `owd-<slug>-register` is rejected by validate).
19
-
20
- ### 🚀 Features
21
-
22
- - `validateModule` accepts `defineDesktopModule` / `defineDesktopTheme`; infrastructure playbook for `@owdproject/kit-primevue`.
23
- - Nx install executors resolve `desktop.config.ts` with `owd.config.ts` fallback.
24
-
25
- ### 📚 Documentation
26
-
27
- - Add `MIGRATION_3.4.md` (import paths, Tailwind contract, module naming).
28
- - Ship `DESKTOP_KERNEL.md` and migration guides in the npm package.
29
-
30
- ## 3.3.2 (2026-06-01)
31
-
32
- ### 🚀 Features
33
-
34
- - Add `defineDesktopModule`, `defineDesktopTheme`, `setDesktopExtensionConfig`, `installDesktopPackage` (core bootstrap), and `mergeDesktopExtensionConfig` for extension/theme authoring.
35
- - Add runtime composables: `useDesktopConfig`, `useDesktopExtension`, `hasDesktopModule`, `hasDesktopApp`, `hasDesktopExtension`.
36
- - Extension packages augment `DesktopConfig` via `types/desktop.d.ts` (`terminal`, `fs`, …) instead of hard-coding keys in core.
37
-
38
- ### 🩹 Fixes
39
-
40
- - Merge the full `desktop.config.ts` export into `runtimeConfig.public.desktop` (including `theme`, `apps`, `modules`, and extension namespaces).
41
- - Remove misleading “unknown desktop key” warnings for valid extension keys (`fs`, `terminal`, custom app namespaces); only warn keys that look like Nuxt options (`ssr`, `vite`, …).
42
- - `app-terminal` no longer overwrites `desktop.config` `terminal` with module defaults only; UI reads `public.desktop.terminal`.
43
-
44
- ### 📚 Documentation
45
-
46
- - Update `desktop-config` setup doc and `DESKTOP_KERNEL.md` for 3.3.2 merge and API (supersedes 3.3.0 `splitDesktopUserConfig` / allowlist description).
47
- - Add migration guide for themes, apps, and modules (`docs/content/6.setup/5.migrate-packages-3.3.2.md`, `MIGRATION_3.3.2.md`).
48
-
49
- ### 🔧 Internal
50
-
51
- - Remove `splitDesktopUserConfig` (was not a public export).
52
-
53
- ## 3.3.0 (2026-05-31)
54
-
55
- ### ⚠️ Breaking Changes
56
-
57
- - Rename kernel Vue components from `Core*` to `Desktop*` (e.g. `CoreDesktop` → `DesktopCore`, `CoreWindow` → `DesktopWindow`). Themes must update their templates.
58
- - Remove explorer from kernel: `DesktopExplorer*` components, `useDesktopExplorerStore`, and `explorer` slice in `useDesktopStore` moved to `@owdproject/kit-fs` (`useExplorerStore`, `KitFsExplorer*`).
59
- - `desktop.config.ts` is no longer spread onto `_nuxt.options`; only `runtimeConfig.public.desktop` / `appConfig.desktop` receive shell keys.
60
-
61
- ### 🚀 Features
62
-
63
- - Add `splitDesktopUserConfig` with allowlist warnings for misconfigured keys.
64
- - Shell config merge uses `defu` (UnJS) instead of custom `deepMerge` / `mergeDesktopShell`.
65
- - Add window manager contract tests and [`DESKTOP_KERNEL.md`](DESKTOP_KERNEL.md).
66
-
67
- ## 3.2.0 (2026-05-22)
68
-
69
- ### 🚀 Features
70
-
71
- - Workspace edge drop helpers moved to `@owdproject/kit-theme` (`useWorkspaceEdgeDrop`).
72
- - Desktop config and module playground validation aligned with Nuxt 4 module authoring.
73
-
74
- ## 3.1.4 (2025-05-22)
75
-
76
- ### 🚀 Features
77
-
78
- - Allow apps to have a menu ([4bfea74](https://github.com/owdproject/client/commit/4bfea74))
79
- - Add methods to better handle window changes ([54d1346](https://github.com/owdproject/client/commit/54d1346))
80
- - Check if owd.config.ts is available and valid ([4920302](https://github.com/owdproject/client/commit/4920302))
81
- - Add fit-parent to CoreWindow.vue ([59e068c](https://github.com/owdproject/client/commit/59e068c))
82
- - Add focus() to WindowController and set methods as public (deprecate actions) ([710f7be](https://github.com/owdproject/client/commit/710f7be))
83
- - Add owd global command ([f98c74c](https://github.com/owdproject/client/commit/f98c74c))
84
- - Add useClipboardFs.ts composable ([cf934f4](https://github.com/owdproject/client/commit/cf934f4))
85
- - Add window utils in ApplicationController.ts ([ffc97d0](https://github.com/owdproject/client/commit/ffc97d0))
86
- - Export most used functions from core ([6635af7](https://github.com/owdproject/client/commit/6635af7))
87
- - Merge owd.config.ts with nuxt.config.ts in module.ts ([069243c](https://github.com/owdproject/client/commit/069243c))
88
- - Implement basic owd.config.ts ([d052552](https://github.com/owdproject/client/commit/d052552))
89
- - Rewrite project ([cbbd45d](https://github.com/owdproject/client/commit/cbbd45d))
90
-
91
- ### 🩹 Fixes
92
-
93
- - Add key on CoreApplicationWindowsRender v-for ([d2e8e3c](https://github.com/owdproject/client/commit/d2e8e3c))
94
- - Check if entries property is set before normalizing in utilApp.ts ([6092c33](https://github.com/owdproject/client/commit/6092c33))
95
- - Add missing min-width ([aa0c1b5](https://github.com/owdproject/client/commit/aa0c1b5))
96
- - Minor improvements ([7f79208](https://github.com/owdproject/client/commit/7f79208))
97
- - Fix imports ([44740cd](https://github.com/owdproject/client/commit/44740cd))
98
- - Set window starting positionZ to 0 ([b99352e](https://github.com/owdproject/client/commit/b99352e))