@dxos/plugin-native 0.8.4-main.fcc0d83b33 → 0.8.4-staging.60fe92afc8

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 (92) hide show
  1. package/LICENSE +102 -5
  2. package/PLUGIN.mdl +284 -0
  3. package/README.md +1 -1
  4. package/dist/lib/neutral/NativePlugin.mjs +46 -0
  5. package/dist/lib/neutral/NativePlugin.mjs.map +7 -0
  6. package/dist/lib/neutral/NativeSettings-CLYG5TJH.mjs +113 -0
  7. package/dist/lib/neutral/NativeSettings-CLYG5TJH.mjs.map +7 -0
  8. package/dist/lib/neutral/capabilities/index.mjs +17 -0
  9. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  10. package/dist/lib/neutral/chunk-75E24KAJ.mjs +34 -0
  11. package/dist/lib/neutral/chunk-75E24KAJ.mjs.map +7 -0
  12. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
  13. package/dist/lib/neutral/chunk-J5LGTIGS.mjs.map +7 -0
  14. package/dist/lib/neutral/components/index.mjs +9 -0
  15. package/dist/lib/neutral/components/index.mjs.map +7 -0
  16. package/dist/lib/neutral/index.mjs +8 -0
  17. package/dist/lib/neutral/index.mjs.map +7 -0
  18. package/dist/lib/neutral/meta.json +1 -0
  19. package/dist/lib/neutral/meta.mjs +8 -0
  20. package/dist/lib/neutral/meta.mjs.map +7 -0
  21. package/dist/lib/neutral/ollama-BHWFTROM.mjs +62 -0
  22. package/dist/lib/neutral/ollama-BHWFTROM.mjs.map +7 -0
  23. package/dist/lib/neutral/plugin.mjs +12 -0
  24. package/dist/lib/neutral/plugin.mjs.map +7 -0
  25. package/dist/lib/neutral/react-surface-ETNGHN4X.mjs +27 -0
  26. package/dist/lib/neutral/react-surface-ETNGHN4X.mjs.map +7 -0
  27. package/dist/lib/neutral/settings-HF6TQNU4.mjs +28 -0
  28. package/dist/lib/neutral/settings-HF6TQNU4.mjs.map +7 -0
  29. package/dist/lib/neutral/spotlight-listener-K7S6LGL3.mjs +48 -0
  30. package/dist/lib/neutral/spotlight-listener-K7S6LGL3.mjs.map +7 -0
  31. package/dist/lib/neutral/translations.mjs +35 -0
  32. package/dist/lib/neutral/translations.mjs.map +7 -0
  33. package/dist/lib/neutral/types/index.mjs +31 -0
  34. package/dist/lib/neutral/types/index.mjs.map +7 -0
  35. package/dist/lib/neutral/updater-JEBXWSSK.mjs +244 -0
  36. package/dist/lib/neutral/updater-JEBXWSSK.mjs.map +7 -0
  37. package/dist/types/src/NativePlugin.d.ts +1 -0
  38. package/dist/types/src/NativePlugin.d.ts.map +1 -1
  39. package/dist/types/src/capabilities/index.d.ts +3 -1
  40. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  41. package/dist/types/src/capabilities/react-surface.d.ts +5 -0
  42. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
  43. package/dist/types/src/capabilities/settings.d.ts +7 -0
  44. package/dist/types/src/capabilities/settings.d.ts.map +1 -0
  45. package/dist/types/src/capabilities/updater.d.ts +2 -1
  46. package/dist/types/src/capabilities/updater.d.ts.map +1 -1
  47. package/dist/types/src/components/NativeSettings/NativeSettings.d.ts +6 -0
  48. package/dist/types/src/components/NativeSettings/NativeSettings.d.ts.map +1 -0
  49. package/dist/types/src/components/NativeSettings/index.d.ts +2 -0
  50. package/dist/types/src/components/NativeSettings/index.d.ts.map +1 -0
  51. package/dist/types/src/components/index.d.ts +3 -0
  52. package/dist/types/src/components/index.d.ts.map +1 -0
  53. package/dist/types/src/index.d.ts +0 -1
  54. package/dist/types/src/index.d.ts.map +1 -1
  55. package/dist/types/src/meta.d.ts +1 -1
  56. package/dist/types/src/meta.d.ts.map +1 -1
  57. package/dist/types/src/plugin.d.ts +3 -0
  58. package/dist/types/src/plugin.d.ts.map +1 -0
  59. package/dist/types/src/translations.d.ts +15 -0
  60. package/dist/types/src/translations.d.ts.map +1 -1
  61. package/dist/types/src/types/NativeCapabilities.d.ts +5 -0
  62. package/dist/types/src/types/NativeCapabilities.d.ts.map +1 -0
  63. package/dist/types/src/types/Settings.d.ts +5 -0
  64. package/dist/types/src/types/Settings.d.ts.map +1 -0
  65. package/dist/types/src/types/Update.d.ts +30 -0
  66. package/dist/types/src/types/Update.d.ts.map +1 -0
  67. package/dist/types/src/types/index.d.ts +4 -0
  68. package/dist/types/src/types/index.d.ts.map +1 -0
  69. package/dist/types/tsconfig.tsbuildinfo +1 -1
  70. package/package.json +69 -29
  71. package/src/NativePlugin.tsx +14 -4
  72. package/src/capabilities/index.ts +2 -0
  73. package/src/capabilities/react-surface.tsx +29 -0
  74. package/src/capabilities/settings.ts +31 -0
  75. package/src/capabilities/updater.ts +136 -71
  76. package/src/components/NativeSettings/NativeSettings.tsx +132 -0
  77. package/src/components/NativeSettings/index.ts +5 -0
  78. package/src/components/index.ts +7 -0
  79. package/src/index.ts +0 -1
  80. package/src/meta.ts +24 -7
  81. package/src/plugin.ts +9 -0
  82. package/src/translations.ts +15 -0
  83. package/src/types/NativeCapabilities.ts +16 -0
  84. package/src/types/Settings.ts +11 -0
  85. package/src/types/Update.ts +24 -0
  86. package/src/types/index.ts +7 -0
  87. package/src/vite-env.d.ts +10 -0
  88. package/dist/lib/browser/index.mjs +0 -38
  89. package/dist/lib/browser/index.mjs.map +0 -7
  90. package/dist/lib/browser/meta.json +0 -1
  91. package/dist/lib/browser/translations.mjs +0 -18
  92. package/dist/lib/browser/translations.mjs.map +0 -7
@@ -0,0 +1,244 @@
1
+ import "./chunk-J5LGTIGS.mjs";
2
+
3
+ // src/capabilities/updater.ts
4
+ import { Atom } from "@effect-atom/atom-react";
5
+ import { type } from "@tauri-apps/plugin-os";
6
+ import { relaunch } from "@tauri-apps/plugin-process";
7
+ import * as Updater from "@tauri-apps/plugin-updater";
8
+ import * as Duration from "effect/Duration";
9
+ import * as Effect from "effect/Effect";
10
+ import * as Fiber from "effect/Fiber";
11
+ import * as Match from "effect/Match";
12
+ import * as Schedule from "effect/Schedule";
13
+ import { Capabilities, Capability } from "@dxos/app-framework";
14
+ import { LayoutOperation } from "@dxos/app-toolkit";
15
+ import { log } from "@dxos/log";
16
+ import { meta } from "#meta";
17
+ import { NativeCapabilities } from "#types";
18
+
19
+ // src/constants.ts
20
+ var TAURI_LOCALHOST_PORT = "26777";
21
+
22
+ // src/capabilities/updater.ts
23
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-native/src/capabilities/updater.ts";
24
+ var SUPPORTS_OTA = [
25
+ "linux",
26
+ "macos",
27
+ "windows"
28
+ ];
29
+ var safeCheck = async () => {
30
+ try {
31
+ return {
32
+ ok: true,
33
+ update: await Updater.check()
34
+ };
35
+ } catch (error) {
36
+ log.error("failed to check for updates", {
37
+ error
38
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 31, S: void 0 });
39
+ return {
40
+ ok: false,
41
+ error: formatError(error)
42
+ };
43
+ }
44
+ };
45
+ var safeDownloadAndInstall = async (update, onEvent) => {
46
+ try {
47
+ await update.downloadAndInstall(onEvent);
48
+ return {
49
+ ok: true
50
+ };
51
+ } catch (error) {
52
+ log.error("failed to download and install update", {
53
+ error
54
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 47, S: void 0 });
55
+ return {
56
+ ok: false,
57
+ error: formatError(error)
58
+ };
59
+ }
60
+ };
61
+ var formatError = (error) => {
62
+ if (typeof error === "string") {
63
+ return error;
64
+ }
65
+ if (error instanceof Error) {
66
+ return error.message;
67
+ }
68
+ return String(error);
69
+ };
70
+ var updater_default = Capability.makeModule(Effect.fnUntraced(function* () {
71
+ const platform = type();
72
+ const isDevServer = window.location.port !== TAURI_LOCALHOST_PORT;
73
+ const enabled = SUPPORTS_OTA.includes(platform) && !isDevServer;
74
+ const registry = yield* Capability.get(Capabilities.AtomRegistry);
75
+ const { invoke } = yield* Capability.get(Capabilities.OperationInvoker);
76
+ const statusAtom = Atom.make(enabled ? {
77
+ kind: "idle"
78
+ } : {
79
+ kind: "unsupported"
80
+ }).pipe(Atom.keepAlive);
81
+ let pendingUpdate = null;
82
+ const doCheck = async () => {
83
+ registry.set(statusAtom, {
84
+ kind: "checking"
85
+ });
86
+ log.info("checking for updates", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 84, S: this });
87
+ const result = await safeCheck();
88
+ if (!result.ok) {
89
+ pendingUpdate = null;
90
+ registry.set(statusAtom, {
91
+ kind: "failed",
92
+ error: result.error
93
+ });
94
+ return null;
95
+ }
96
+ const update = result.update;
97
+ if (!update?.available) {
98
+ pendingUpdate = null;
99
+ registry.set(statusAtom, {
100
+ kind: "up-to-date",
101
+ checkedAt: Date.now()
102
+ });
103
+ return null;
104
+ }
105
+ log.info("update available", {
106
+ version: update.version
107
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 103, S: this });
108
+ pendingUpdate = update;
109
+ registry.set(statusAtom, {
110
+ kind: "available",
111
+ version: update.version
112
+ });
113
+ return update;
114
+ };
115
+ const doInstall = async () => {
116
+ const update = pendingUpdate;
117
+ if (!update) {
118
+ return false;
119
+ }
120
+ let downloaded = 0;
121
+ let contentLength = 0;
122
+ registry.set(statusAtom, {
123
+ kind: "downloading",
124
+ downloaded: 0,
125
+ contentLength: 0
126
+ });
127
+ const onEvent = Match.type().pipe(Match.when({
128
+ event: "Started"
129
+ }, (event) => {
130
+ contentLength = event.data.contentLength ?? 0;
131
+ registry.set(statusAtom, {
132
+ kind: "downloading",
133
+ downloaded,
134
+ contentLength
135
+ });
136
+ }), Match.when({
137
+ event: "Progress"
138
+ }, (event) => {
139
+ downloaded += event.data.chunkLength;
140
+ registry.set(statusAtom, {
141
+ kind: "downloading",
142
+ downloaded,
143
+ contentLength
144
+ });
145
+ }), Match.when({
146
+ event: "Finished"
147
+ }, () => {
148
+ log.info("download completed", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 147, S: this });
149
+ }), Match.exhaustive);
150
+ const result = await safeDownloadAndInstall(update, onEvent);
151
+ if (result.ok) {
152
+ registry.set(statusAtom, {
153
+ kind: "ready"
154
+ });
155
+ return true;
156
+ }
157
+ registry.set(statusAtom, {
158
+ kind: "failed",
159
+ error: result.error
160
+ });
161
+ return false;
162
+ };
163
+ const manager = {
164
+ status: statusAtom,
165
+ check: async () => {
166
+ if (!enabled) {
167
+ return;
168
+ }
169
+ await doCheck();
170
+ },
171
+ install: async () => {
172
+ if (!enabled) {
173
+ return;
174
+ }
175
+ await doInstall();
176
+ },
177
+ relaunch: async () => {
178
+ await relaunch();
179
+ }
180
+ };
181
+ const managerContribution = Capability.contributes(NativeCapabilities.UpdateManager, manager);
182
+ if (!enabled) {
183
+ log.info("updater disabled", {
184
+ platform,
185
+ port: window.location.port
186
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 182, S: this });
187
+ return [
188
+ managerContribution
189
+ ];
190
+ }
191
+ const backgroundAction = Effect.gen(function* () {
192
+ const update = yield* Effect.promise(() => doCheck());
193
+ if (!update) {
194
+ return true;
195
+ }
196
+ const ok = yield* Effect.promise(() => doInstall());
197
+ if (!ok) {
198
+ return true;
199
+ }
200
+ yield* invoke(LayoutOperation.AddToast, {
201
+ id: `${meta.id}.update-ready`,
202
+ title: [
203
+ "update-ready.label",
204
+ {
205
+ ns: meta.id
206
+ }
207
+ ],
208
+ description: [
209
+ "update-ready.description",
210
+ {
211
+ ns: meta.id
212
+ }
213
+ ],
214
+ duration: Infinity,
215
+ actionLabel: [
216
+ "update.label",
217
+ {
218
+ ns: meta.id
219
+ }
220
+ ],
221
+ actionAlt: [
222
+ "update.alt",
223
+ {
224
+ ns: meta.id
225
+ }
226
+ ],
227
+ onAction: () => relaunch()
228
+ });
229
+ return false;
230
+ });
231
+ const schedule = Schedule.fixed(Duration.hours(1)).pipe(Schedule.whileInput((keepChecking) => keepChecking));
232
+ const fiber = yield* backgroundAction.pipe(Effect.repeat(schedule), Effect.forkDaemon);
233
+ log.info("updater module initialized, update check scheduled", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 234, S: this });
234
+ return [
235
+ managerContribution,
236
+ // Return the interruption effect directly; Fiber.interrupt is async and would throw
237
+ // AsyncFiberException if wrapped in Effect.runSync.
238
+ Capability.contributes(Capabilities.Null, null, () => Fiber.interrupt(fiber))
239
+ ];
240
+ }));
241
+ export {
242
+ updater_default as default
243
+ };
244
+ //# sourceMappingURL=updater-JEBXWSSK.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/updater.ts", "../../../src/constants.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Atom } from '@effect-atom/atom-react';\nimport { type } from '@tauri-apps/plugin-os';\nimport { relaunch } from '@tauri-apps/plugin-process';\nimport * as Updater from '@tauri-apps/plugin-updater';\nimport * as Duration from 'effect/Duration';\nimport * as Effect from 'effect/Effect';\nimport * as Fiber from 'effect/Fiber';\nimport * as Match from 'effect/Match';\nimport * as Schedule from 'effect/Schedule';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { LayoutOperation } from '@dxos/app-toolkit';\nimport { log } from '@dxos/log';\n\nimport { meta } from '#meta';\nimport { NativeCapabilities, type Update } from '#types';\n\nimport { TAURI_LOCALHOST_PORT } from '../constants';\n\nconst SUPPORTS_OTA = ['linux', 'macos', 'windows'];\n\n/** Safe wrapper around Updater.check(). Distinguishes \"no update\" (ok with null update) from a thrown error. */\nconst safeCheck = async (): Promise<{ ok: true; update: Updater.Update | null } | { ok: false; error: string }> => {\n try {\n return { ok: true, update: await Updater.check() };\n } catch (error) {\n log.error('failed to check for updates', { error });\n return { ok: false, error: formatError(error) };\n }\n};\n\n/** Safe wrapper around update.downloadAndInstall(). */\nconst safeDownloadAndInstall = async (\n update: Updater.Update,\n onEvent: (event: Updater.DownloadEvent) => void,\n): Promise<{ ok: true } | { ok: false; error: string }> => {\n try {\n await update.downloadAndInstall(onEvent);\n return { ok: true };\n } catch (error) {\n log.error('failed to download and install update', { error });\n return { ok: false, error: formatError(error) };\n }\n};\n\n/** Extract a user-readable error string from whatever the Tauri updater threw. */\nconst formatError = (error: unknown): string => {\n if (typeof error === 'string') {\n return error;\n }\n if (error instanceof Error) {\n return error.message;\n }\n return String(error);\n};\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n const platform = type();\n const isDevServer = window.location.port !== TAURI_LOCALHOST_PORT;\n const enabled = SUPPORTS_OTA.includes(platform) && !isDevServer;\n\n const registry = yield* Capability.get(Capabilities.AtomRegistry);\n const { invoke } = yield* Capability.get(Capabilities.OperationInvoker);\n\n const statusAtom = Atom.make<Update.Status>(enabled ? { kind: 'idle' } : { kind: 'unsupported' }).pipe(\n Atom.keepAlive,\n );\n\n // Updater.Update is a class with instance methods (downloadAndInstall) and can't live in an\n // atom value; cache it here between check and install.\n let pendingUpdate: Updater.Update | null = null;\n\n // Core: check for an update and update the status atom. Returns the update if available.\n const doCheck = async (): Promise<Updater.Update | null> => {\n registry.set(statusAtom, { kind: 'checking' });\n log.info('checking for updates');\n const result = await safeCheck();\n if (!result.ok) {\n pendingUpdate = null;\n registry.set(statusAtom, { kind: 'failed', error: result.error });\n return null;\n }\n const update = result.update;\n if (!update?.available) {\n pendingUpdate = null;\n registry.set(statusAtom, { kind: 'up-to-date', checkedAt: Date.now() });\n return null;\n }\n log.info('update available', { version: update.version });\n pendingUpdate = update;\n registry.set(statusAtom, { kind: 'available', version: update.version });\n return update;\n };\n\n // Core: download + install the cached pending update, streaming progress to the status atom.\n const doInstall = async (): Promise<boolean> => {\n const update = pendingUpdate;\n if (!update) {\n return false;\n }\n let downloaded = 0;\n let contentLength = 0;\n registry.set(statusAtom, { kind: 'downloading', downloaded: 0, contentLength: 0 });\n const onEvent = Match.type<Updater.DownloadEvent>().pipe(\n Match.when({ event: 'Started' }, (event) => {\n contentLength = event.data.contentLength ?? 0;\n registry.set(statusAtom, { kind: 'downloading', downloaded, contentLength });\n }),\n Match.when({ event: 'Progress' }, (event) => {\n downloaded += event.data.chunkLength;\n registry.set(statusAtom, { kind: 'downloading', downloaded, contentLength });\n }),\n Match.when({ event: 'Finished' }, () => {\n log.info('download completed');\n }),\n Match.exhaustive,\n );\n const result = await safeDownloadAndInstall(update, onEvent);\n if (result.ok) {\n registry.set(statusAtom, { kind: 'ready' });\n return true;\n }\n registry.set(statusAtom, { kind: 'failed', error: result.error });\n return false;\n };\n\n const manager: Update.Manager = {\n status: statusAtom,\n check: async () => {\n if (!enabled) {\n return;\n }\n await doCheck();\n },\n install: async () => {\n if (!enabled) {\n return;\n }\n await doInstall();\n },\n relaunch: async () => {\n await relaunch();\n },\n };\n\n const managerContribution = Capability.contributes(NativeCapabilities.UpdateManager, manager);\n\n if (!enabled) {\n log.info('updater disabled', { platform, port: window.location.port });\n return [managerContribution];\n }\n\n // Background flow: periodic check + auto-install + toast when ready.\n // The toast is the entry point for users who weren't watching the settings panel.\n const backgroundAction = Effect.gen(function* () {\n const update = yield* Effect.promise(() => doCheck());\n if (!update) {\n return true;\n }\n const ok = yield* Effect.promise(() => doInstall());\n if (!ok) {\n return true;\n }\n yield* invoke(LayoutOperation.AddToast, {\n id: `${meta.id}.update-ready`,\n title: ['update-ready.label', { ns: meta.id }],\n description: ['update-ready.description', { ns: meta.id }],\n duration: Infinity,\n actionLabel: ['update.label', { ns: meta.id }],\n actionAlt: ['update.alt', { ns: meta.id }],\n onAction: () => relaunch(),\n });\n return false;\n });\n\n const schedule = Schedule.fixed(Duration.hours(1)).pipe(\n Schedule.whileInput((keepChecking: boolean) => keepChecking),\n );\n const fiber = yield* backgroundAction.pipe(Effect.repeat(schedule), Effect.forkDaemon);\n log.info('updater module initialized, update check scheduled');\n\n return [\n managerContribution,\n // Return the interruption effect directly; Fiber.interrupt is async and would throw\n // AsyncFiberException if wrapped in Effect.runSync.\n Capability.contributes(Capabilities.Null, null, () => Fiber.interrupt(fiber)),\n ];\n }),\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\n/// Stable port for the Tauri localhost asset server in production builds.\n/// Must match LOCALHOST_PORT in src-tauri/src/lib.rs.\nexport const TAURI_LOCALHOST_PORT = '26777';\n"],
5
+ "mappings": "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",
6
+ "names": ["Atom", "type", "relaunch", "Updater", "Duration", "Effect", "Fiber", "Match", "Schedule", "Capabilities", "Capability", "LayoutOperation", "log", "meta", "NativeCapabilities", "TAURI_LOCALHOST_PORT", "SUPPORTS_OTA", "update", "log", "error", "onEvent", "ok", "String", "Capability", "isDevServer", "window", "TAURI_LOCALHOST_PORT", "enabled", "registry", "get", "Capabilities", "statusAtom", "make", "kind", "pipe", "info", "result", "pendingUpdate", "set", "checkedAt", "version", "downloaded", "contentLength", "Match", "event", "safeDownloadAndInstall", "manager", "check", "install", "relaunch", "platform", "port", "managerContribution", "invoke", "title", "description", "duration", "actionLabel", "actionAlt", "onAction", "schedule"]
7
+ }
@@ -1,3 +1,4 @@
1
1
  import { Plugin } from '@dxos/app-framework';
2
2
  export declare const NativePlugin: Plugin.PluginFactory<void>;
3
+ export default NativePlugin;
3
4
  //# sourceMappingURL=NativePlugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NativePlugin.d.ts","sourceRoot":"","sources":["../../../src/NativePlugin.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAoB,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAQ/D,eAAO,MAAM,YAAY,4BAkBxB,CAAC"}
1
+ {"version":3,"file":"NativePlugin.d.ts","sourceRoot":"","sources":["../../../src/NativePlugin.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAoB,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAW/D,eAAO,MAAM,YAAY,4BAuBxB,CAAC;eAEa,YAAY"}
@@ -1,5 +1,7 @@
1
1
  import { Capability } from '@dxos/app-framework';
2
+ export declare const NativeSettings: Capability.LazyCapability<void, [Capability.Capability<Capability.InterfaceDef<import("@effect-atom/atom/Atom").Writable<import("../types/Settings").Settings, import("../types/Settings").Settings>>>, Capability.Capability<Capability.InterfaceDef<import("@dxos/app-toolkit").AppCapabilities.Settings>>], Error>;
2
3
  export declare const Ollama: Capability.LazyCapability<[], import("./ollama").OllamaCapabilities, Error>;
4
+ export declare const ReactSurface: Capability.LazyCapability<void, Capability.Capability<Capability.InterfaceDef<import("@dxos/app-framework/Capabilities").ReactSurface>>, Error>;
3
5
  export declare const SpotlightListener: Capability.LazyCapability<void, Capability.Capability<Capability.InterfaceDef<null>>, Error>;
4
- export declare const Updater: Capability.LazyCapability<void, Capability.Capability<Capability.InterfaceDef<null>> | undefined, Error>;
6
+ export declare const Updater: Capability.LazyCapability<void, [Capability.Capability<Capability.InterfaceDef<import("../types/Update").Manager>>] | [Capability.Capability<Capability.InterfaceDef<import("../types/Update").Manager>>, Capability.Capability<Capability.InterfaceDef<null>>], Error>;
5
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,eAAO,MAAM,MAAM,6EAAsD,CAAC;AAC1E,eAAO,MAAM,iBAAiB,8FAA6E,CAAC;AAC5G,eAAO,MAAM,OAAO,0GAAwD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,eAAO,MAAM,cAAc,uTAAgE,CAAC;AAC5F,eAAO,MAAM,MAAM,6EAAsD,CAAC;AAC1E,eAAO,MAAM,YAAY,iJAAmE,CAAC;AAC7F,eAAO,MAAM,iBAAiB,8FAA6E,CAAC;AAC5G,eAAO,MAAM,OAAO,yQAAwD,CAAC"}
@@ -0,0 +1,5 @@
1
+ import * as Effect from 'effect/Effect';
2
+ import { Capabilities, Capability } from '@dxos/app-framework';
3
+ declare const _default: (props: void) => Effect.Effect<Capability.Capability<Capability.InterfaceDef<Capabilities.ReactSurface>>, never, never>;
4
+ export default _default;
5
+ //# sourceMappingURL=react-surface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react-surface.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/react-surface.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import * as Effect from 'effect/Effect';
2
+ import { Capability } from '@dxos/app-framework';
3
+ import { AppCapabilities } from '@dxos/app-toolkit';
4
+ import { Settings } from '#types';
5
+ declare const _default: (props: void) => Effect.Effect<[Capability.Capability<Capability.InterfaceDef<import("@effect-atom/atom/Atom").Writable<Settings.Settings, Settings.Settings>>>, Capability.Capability<Capability.InterfaceDef<AppCapabilities.Settings>>], never, never>;
6
+ export default _default;
7
+ //# sourceMappingURL=settings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/settings.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIpD,OAAO,EAAsB,QAAQ,EAAE,MAAM,QAAQ,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import * as Effect from 'effect/Effect';
2
2
  import { Capability } from '@dxos/app-framework';
3
- declare const _default: (props: void) => Effect.Effect<Capability.Capability<Capability.InterfaceDef<null>> | undefined, Error, Capability.Service>;
3
+ import { type Update } from '#types';
4
+ declare const _default: (props: void) => Effect.Effect<[Capability.Capability<Capability.InterfaceDef<Update.Manager>>] | [Capability.Capability<Capability.InterfaceDef<Update.Manager>>, Capability.Capability<Capability.InterfaceDef<null>>], Error, Capability.Service>;
4
5
  export default _default;
5
6
  //# sourceMappingURL=updater.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"updater.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/updater.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAKxC,OAAO,EAAgB,UAAU,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"updater.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/updater.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAKxC,OAAO,EAAgB,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAK/D,OAAO,EAAsB,KAAK,MAAM,EAAE,MAAM,QAAQ,CAAC"}
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import { type AppSurface } from '@dxos/app-toolkit/ui';
3
+ import { type Settings } from '#types';
4
+ export type NativeSettingsProps = AppSurface.SettingsArticleProps<Settings.Settings>;
5
+ export declare const NativeSettings: (_props: NativeSettingsProps) => React.JSX.Element;
6
+ //# sourceMappingURL=NativeSettings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NativeSettings.d.ts","sourceRoot":"","sources":["../../../../../src/components/NativeSettings/NativeSettings.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAmC,MAAM,OAAO,CAAC;AAGxD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAKvD,OAAO,EAAsB,KAAK,QAAQ,EAAe,MAAM,QAAQ,CAAC;AAExE,MAAM,MAAM,mBAAmB,GAAG,UAAU,CAAC,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAYrF,eAAO,MAAM,cAAc,WAAY,mBAAmB,sBAkCzD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { NativeSettings as default } from './NativeSettings';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/NativeSettings/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,IAAI,OAAO,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type ComponentType } from 'react';
2
+ export declare const NativeSettings: ComponentType<any>;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,aAAa,EAAQ,MAAM,OAAO,CAAC;AAEjD,eAAO,MAAM,cAAc,EAAE,aAAa,CAAC,GAAG,CAA0C,CAAC"}
@@ -1,3 +1,2 @@
1
1
  export * from './meta';
2
- export * from './NativePlugin';
3
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,QAAQ,CAAC"}
@@ -1,3 +1,3 @@
1
- import { type Plugin } from '@dxos/app-framework';
1
+ import { Plugin } from '@dxos/app-framework';
2
2
  export declare const meta: Plugin.Meta;
3
3
  //# sourceMappingURL=meta.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/meta.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAGlD,eAAO,MAAM,IAAI,EAAE,MAAM,CAAC,IAOzB,CAAC"}
1
+ {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/meta.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAK7C,eAAO,MAAM,IAAI,aAsBf,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Plugin } from '@dxos/app-framework';
2
+ export declare const NativePlugin: Plugin.PluginFactory<void>;
3
+ //# sourceMappingURL=plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/plugin.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAI7C,eAAO,MAAM,YAAY,4BAA6C,CAAC"}
@@ -5,6 +5,21 @@ export declare const translations: [{
5
5
  readonly 'update-ready.description': 'A new version of Composer is available.';
6
6
  readonly 'update.label': 'Update';
7
7
  readonly 'update.alt': 'Relaunch the app to update';
8
+ readonly 'settings.title': 'App';
9
+ readonly 'settings.updates.label': 'Updates';
10
+ readonly 'settings.updates.check.label': 'Check for updates';
11
+ readonly 'settings.updates.checking.label': 'Checking\u2026';
12
+ readonly 'settings.updates.update-now.label': 'Update now';
13
+ readonly 'settings.updates.downloading.label': 'Downloading\u2026';
14
+ readonly 'settings.updates.relaunch.label': 'Restart to install';
15
+ readonly 'settings.updates.idle.message': 'Check now for a newer version of Composer.';
16
+ readonly 'settings.updates.checking.message': 'Checking for updates\u2026';
17
+ readonly 'settings.updates.up-to-date.message': 'You are running the latest version of Composer. Checked {{checkedAt}}.';
18
+ readonly 'settings.updates.available.message': 'Version {{version}} is available.';
19
+ readonly 'settings.updates.downloading.message': 'Downloading\u2026 {{percent}}%';
20
+ readonly 'settings.updates.ready.message': 'Update ready. Restart Composer to apply.';
21
+ readonly 'settings.updates.failed.message': 'Update failed: {{error}}';
22
+ readonly 'settings.updates.unsupported.message': 'Updates are not available on this platform.';
8
23
  };
9
24
  };
10
25
  }];
@@ -1 +1 @@
1
- {"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/translations.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,YAAY;;;2CAIK,iBAAiB;iDACX,yCAAyC;qCACrD,QAAQ;mCACV,4BAA4B;;;EAInB,CAAC"}
1
+ {"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/translations.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,YAAY;;;2CAIK,iBAAiB;iDACX,yCAAyC;qCACrD,QAAQ;mCACV,4BAA4B;uCACxB,KAAK;+CACG,SAAS;qDACH,mBAAmB;wDAChB,gBAAW;0DACT,YAAY;2DACX,mBAAc;wDACjB,oBAAoB;sDACtB,4CAA4C;0DACxC,4BAAuB;4DACrB,wEAAwE;2DACzE,mCAAmC;6DACjC,gCAA2B;uDACjC,0CAA0C;wDACzC,0BAA0B;6DACrB,6CAA6C;;;EAI9D,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { Atom } from '@effect-atom/atom-react';
2
+ import { Capability } from '@dxos/app-framework';
3
+ export declare const Settings: Capability.InterfaceDef<Atom.Writable<import("./Settings").Settings, import("./Settings").Settings>>;
4
+ export declare const UpdateManager: Capability.InterfaceDef<import("./Update").Manager>;
5
+ //# sourceMappingURL=NativeCapabilities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NativeCapabilities.d.ts","sourceRoot":"","sources":["../../../../src/types/NativeCapabilities.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAEpD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAMjD,eAAO,MAAM,QAAQ,sGAAkG,CAAC;AACxH,eAAO,MAAM,aAAa,qDAAsF,CAAC"}
@@ -0,0 +1,5 @@
1
+ import * as Schema from 'effect/Schema';
2
+ export declare const Settings: Schema.mutable<Schema.Struct<{}>>;
3
+ export interface Settings extends Schema.Schema.Type<typeof Settings> {
4
+ }
5
+ //# sourceMappingURL=Settings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Settings.d.ts","sourceRoot":"","sources":["../../../../src/types/Settings.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,eAAO,MAAM,QAAQ,mCAAoC,CAAC;AAE1D,MAAM,WAAW,QAAS,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,QAAQ,CAAC;CAAG"}
@@ -0,0 +1,30 @@
1
+ import { type Atom } from '@effect-atom/atom-react';
2
+ export type Status = {
3
+ kind: 'unsupported';
4
+ } | {
5
+ kind: 'idle';
6
+ } | {
7
+ kind: 'checking';
8
+ } | {
9
+ kind: 'up-to-date';
10
+ checkedAt: number;
11
+ } | {
12
+ kind: 'available';
13
+ version: string;
14
+ } | {
15
+ kind: 'downloading';
16
+ downloaded: number;
17
+ contentLength: number;
18
+ } | {
19
+ kind: 'ready';
20
+ } | {
21
+ kind: 'failed';
22
+ error: string;
23
+ };
24
+ export type Manager = {
25
+ status: Atom.Writable<Status>;
26
+ check: () => Promise<void>;
27
+ install: () => Promise<void>;
28
+ relaunch: () => Promise<void>;
29
+ };
30
+ //# sourceMappingURL=Update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Update.d.ts","sourceRoot":"","sources":["../../../../src/types/Update.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAIpD,MAAM,MAAM,MAAM,GACd;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GACvB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACzC;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAClE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtC,MAAM,MAAM,OAAO,GAAG;IACpB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC9B,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * as NativeCapabilities from './NativeCapabilities';
2
+ export * as Settings from './Settings';
3
+ export * as Update from './Update';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/types/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,kBAAkB,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC"}