@dxos/plugin-native 0.8.4-main.3fbcb4aa9b → 0.8.4-main.4668b7de9b

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 (82) 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 +22 -4
  5. package/dist/lib/neutral/NativePlugin.mjs.map +4 -4
  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 +9 -3
  9. package/dist/lib/neutral/capabilities/index.mjs.map +3 -3
  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 +2 -1
  17. package/dist/lib/neutral/meta.json +1 -1
  18. package/dist/lib/neutral/meta.mjs +2 -1
  19. package/dist/lib/neutral/{ollama-CYD5M6XB.mjs → ollama-BHWFTROM.mjs} +3 -1
  20. package/dist/lib/neutral/{ollama-CYD5M6XB.mjs.map → ollama-BHWFTROM.mjs.map} +1 -1
  21. package/dist/lib/neutral/plugin.mjs +2 -1
  22. package/dist/lib/neutral/plugin.mjs.map +1 -1
  23. package/dist/lib/neutral/react-surface-ETNGHN4X.mjs +27 -0
  24. package/dist/lib/neutral/react-surface-ETNGHN4X.mjs.map +7 -0
  25. package/dist/lib/neutral/settings-HF6TQNU4.mjs +28 -0
  26. package/dist/lib/neutral/settings-HF6TQNU4.mjs.map +7 -0
  27. package/dist/lib/neutral/{spotlight-listener-TRCJXLOQ.mjs → spotlight-listener-K7S6LGL3.mjs} +3 -1
  28. package/dist/lib/neutral/{spotlight-listener-TRCJXLOQ.mjs.map → spotlight-listener-K7S6LGL3.mjs.map} +1 -1
  29. package/dist/lib/neutral/translations.mjs +18 -1
  30. package/dist/lib/neutral/translations.mjs.map +2 -2
  31. package/dist/lib/neutral/types/index.mjs +31 -0
  32. package/dist/lib/neutral/types/index.mjs.map +7 -0
  33. package/dist/lib/neutral/updater-JEBXWSSK.mjs +244 -0
  34. package/dist/lib/neutral/updater-JEBXWSSK.mjs.map +7 -0
  35. package/dist/types/src/NativePlugin.d.ts.map +1 -1
  36. package/dist/types/src/capabilities/index.d.ts +3 -1
  37. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  38. package/dist/types/src/capabilities/react-surface.d.ts +5 -0
  39. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
  40. package/dist/types/src/capabilities/settings.d.ts +7 -0
  41. package/dist/types/src/capabilities/settings.d.ts.map +1 -0
  42. package/dist/types/src/capabilities/updater.d.ts +2 -1
  43. package/dist/types/src/capabilities/updater.d.ts.map +1 -1
  44. package/dist/types/src/components/NativeSettings/NativeSettings.d.ts +6 -0
  45. package/dist/types/src/components/NativeSettings/NativeSettings.d.ts.map +1 -0
  46. package/dist/types/src/components/NativeSettings/index.d.ts +2 -0
  47. package/dist/types/src/components/NativeSettings/index.d.ts.map +1 -0
  48. package/dist/types/src/components/index.d.ts +3 -0
  49. package/dist/types/src/components/index.d.ts.map +1 -0
  50. package/dist/types/src/meta.d.ts +1 -1
  51. package/dist/types/src/meta.d.ts.map +1 -1
  52. package/dist/types/src/translations.d.ts +15 -0
  53. package/dist/types/src/translations.d.ts.map +1 -1
  54. package/dist/types/src/types/NativeCapabilities.d.ts +5 -0
  55. package/dist/types/src/types/NativeCapabilities.d.ts.map +1 -0
  56. package/dist/types/src/types/Settings.d.ts +5 -0
  57. package/dist/types/src/types/Settings.d.ts.map +1 -0
  58. package/dist/types/src/types/Update.d.ts +30 -0
  59. package/dist/types/src/types/Update.d.ts.map +1 -0
  60. package/dist/types/src/types/index.d.ts +4 -0
  61. package/dist/types/src/types/index.d.ts.map +1 -0
  62. package/dist/types/tsconfig.tsbuildinfo +1 -1
  63. package/package.json +40 -22
  64. package/src/NativePlugin.tsx +11 -3
  65. package/src/capabilities/index.ts +2 -0
  66. package/src/capabilities/react-surface.tsx +29 -0
  67. package/src/capabilities/settings.ts +31 -0
  68. package/src/capabilities/updater.ts +136 -71
  69. package/src/components/NativeSettings/NativeSettings.tsx +132 -0
  70. package/src/components/NativeSettings/index.ts +5 -0
  71. package/src/components/index.ts +7 -0
  72. package/src/meta.ts +23 -7
  73. package/src/translations.ts +15 -0
  74. package/src/types/NativeCapabilities.ts +16 -0
  75. package/src/types/Settings.ts +11 -0
  76. package/src/types/Update.ts +24 -0
  77. package/src/types/index.ts +7 -0
  78. package/src/vite-env.d.ts +10 -0
  79. package/dist/lib/neutral/chunk-254JXXJC.mjs +0 -18
  80. package/dist/lib/neutral/chunk-254JXXJC.mjs.map +0 -7
  81. package/dist/lib/neutral/updater-ZAJJC24D.mjs +0 -141
  82. package/dist/lib/neutral/updater-ZAJJC24D.mjs.map +0 -7
@@ -14,6 +14,21 @@ export const translations = [
14
14
  'update-ready.description': 'A new version of Composer is available.',
15
15
  'update.label': 'Update',
16
16
  'update.alt': 'Relaunch the app to update',
17
+ 'settings.title': 'App',
18
+ 'settings.updates.label': 'Updates',
19
+ 'settings.updates.check.label': 'Check for updates',
20
+ 'settings.updates.checking.label': 'Checking…',
21
+ 'settings.updates.update-now.label': 'Update now',
22
+ 'settings.updates.downloading.label': 'Downloading…',
23
+ 'settings.updates.relaunch.label': 'Restart to install',
24
+ 'settings.updates.idle.message': 'Check now for a newer version of Composer.',
25
+ 'settings.updates.checking.message': 'Checking for updates…',
26
+ 'settings.updates.up-to-date.message': 'You are running the latest version of Composer. Checked {{checkedAt}}.',
27
+ 'settings.updates.available.message': 'Version {{version}} is available.',
28
+ 'settings.updates.downloading.message': 'Downloading… {{percent}}%',
29
+ 'settings.updates.ready.message': 'Update ready. Restart Composer to apply.',
30
+ 'settings.updates.failed.message': 'Update failed: {{error}}',
31
+ 'settings.updates.unsupported.message': 'Updates are not available on this platform.',
17
32
  },
18
33
  },
19
34
  },
@@ -0,0 +1,16 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ // @import-as-namespace
6
+
7
+ import type { Atom } from '@effect-atom/atom-react';
8
+
9
+ import { Capability } from '@dxos/app-framework';
10
+
11
+ import { meta } from '#meta';
12
+
13
+ // Inline imports to avoid `Settings` / `Update` namespace aliases colliding with the
14
+ // capability constants exported below.
15
+ export const Settings = Capability.make<Atom.Writable<import('./Settings').Settings>>(`${meta.id}.capability.settings`);
16
+ export const UpdateManager = Capability.make<import('./Update').Manager>(`${meta.id}.capability.update-manager`);
@@ -0,0 +1,11 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ // @import-as-namespace
6
+
7
+ import * as Schema from 'effect/Schema';
8
+
9
+ export const Settings = Schema.mutable(Schema.Struct({}));
10
+
11
+ export interface Settings extends Schema.Schema.Type<typeof Settings> {}
@@ -0,0 +1,24 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { type Atom } from '@effect-atom/atom-react';
6
+
7
+ // @import-as-namespace
8
+
9
+ export type Status =
10
+ | { kind: 'unsupported' }
11
+ | { kind: 'idle' }
12
+ | { kind: 'checking' }
13
+ | { kind: 'up-to-date'; checkedAt: number }
14
+ | { kind: 'available'; version: string }
15
+ | { kind: 'downloading'; downloaded: number; contentLength: number }
16
+ | { kind: 'ready' }
17
+ | { kind: 'failed'; error: string };
18
+
19
+ export type Manager = {
20
+ status: Atom.Writable<Status>;
21
+ check: () => Promise<void>;
22
+ install: () => Promise<void>;
23
+ relaunch: () => Promise<void>;
24
+ };
@@ -0,0 +1,7 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ export * as NativeCapabilities from './NativeCapabilities';
6
+ export * as Settings from './Settings';
7
+ export * as Update from './Update';
@@ -0,0 +1,10 @@
1
+ /// <reference types="vite/client" />
2
+
3
+ //
4
+ // Copyright 2026 DXOS.org
5
+ //
6
+
7
+ declare module '*.mdl?raw' {
8
+ const content: string;
9
+ export default content;
10
+ }
@@ -1,18 +0,0 @@
1
- // src/meta.ts
2
- import { trim } from "@dxos/util";
3
- var meta = {
4
- id: "org.dxos.plugin.native",
5
- name: "Native",
6
- description: trim`
7
- Native platform integration providing desktop-specific features and system-level capabilities.
8
- Access native file dialogs, notifications, and OS integrations.
9
- `,
10
- tags: [
11
- "system"
12
- ]
13
- };
14
-
15
- export {
16
- meta
17
- };
18
- //# sourceMappingURL=chunk-254JXXJC.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/meta.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Plugin } from '@dxos/app-framework';\nimport { trim } from '@dxos/util';\n\nexport const meta: Plugin.Meta = {\n id: 'org.dxos.plugin.native',\n name: 'Native',\n description: trim`\n Native platform integration providing desktop-specific features and system-level capabilities.\n Access native file dialogs, notifications, and OS integrations.\n `,\n tags: ['system'],\n};\n"],
5
- "mappings": ";AAKA,SAASA,YAAY;AAEd,IAAMC,OAAoB;EAC/BC,IAAI;EACJC,MAAM;EACNC,aAAaJ;;;;EAIbK,MAAM;IAAC;;AACT;",
6
- "names": ["trim", "meta", "id", "name", "description", "tags"]
7
- }
@@ -1,141 +0,0 @@
1
- // src/capabilities/updater.ts
2
- import { type } from "@tauri-apps/plugin-os";
3
- import { relaunch } from "@tauri-apps/plugin-process";
4
- import * as Updater from "@tauri-apps/plugin-updater";
5
- import * as Duration from "effect/Duration";
6
- import * as Effect from "effect/Effect";
7
- import * as Fiber from "effect/Fiber";
8
- import * as Match from "effect/Match";
9
- import * as Schedule from "effect/Schedule";
10
- import { Capabilities, Capability } from "@dxos/app-framework";
11
- import { LayoutOperation } from "@dxos/app-toolkit";
12
- import { log } from "@dxos/log";
13
- import { meta } from "#meta";
14
-
15
- // src/constants.ts
16
- var TAURI_LOCALHOST_PORT = "26777";
17
-
18
- // src/capabilities/updater.ts
19
- var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-native/src/capabilities/updater.ts";
20
- var SUPPORTS_OTA = [
21
- "linux",
22
- "macos",
23
- "windows"
24
- ];
25
- var check2 = async () => {
26
- try {
27
- return await Updater.check();
28
- } catch (error) {
29
- log.error("failed to check for updates", {
30
- error
31
- }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 28, S: void 0 });
32
- return null;
33
- }
34
- };
35
- var downloadAndInstall = async (update, handleDownload) => {
36
- try {
37
- await update.downloadAndInstall(handleDownload);
38
- return true;
39
- } catch (error) {
40
- log.error("failed to download and install update", {
41
- error
42
- }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 41, S: void 0 });
43
- return false;
44
- }
45
- };
46
- var updater_default = Capability.makeModule(Effect.fnUntraced(function* () {
47
- const platform = type();
48
- const isDevServer = window.location.port !== TAURI_LOCALHOST_PORT;
49
- if (!SUPPORTS_OTA.includes(platform) || isDevServer) {
50
- log.info("skipping updater", {
51
- platform,
52
- port: window.location.port
53
- }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 52, S: this });
54
- return;
55
- }
56
- const { invoke } = yield* Capability.get(Capabilities.OperationInvoker);
57
- const action = Effect.gen(function* () {
58
- log.info("checking for updates", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 62, S: this });
59
- const update = yield* Effect.promise(() => check2());
60
- if (!update) {
61
- log.info("no update available", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 65, S: this });
62
- return true;
63
- }
64
- log.info("update check complete", {
65
- available: update.available,
66
- currentVersion: update.currentVersion,
67
- version: update.version,
68
- date: update.date,
69
- body: update.body
70
- }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 68, S: this });
71
- if (update.available) {
72
- log.info("update available, starting download", {
73
- version: update.version
74
- }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 76, S: this });
75
- let downloaded = 0;
76
- let contentLength = 0;
77
- const handleDownload = Match.type().pipe(Match.when({
78
- event: "Started"
79
- }, (event) => {
80
- contentLength = event.data.contentLength ?? 0;
81
- log.info("download started", {
82
- contentLength
83
- }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 85, S: this });
84
- }), Match.when({
85
- event: "Progress"
86
- }, (event) => {
87
- downloaded += event.data.chunkLength;
88
- log.verbose("download progress", {
89
- downloaded,
90
- contentLength
91
- }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 92, S: this });
92
- }), Match.when({
93
- event: "Finished"
94
- }, () => {
95
- log.info("download completed", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 99, S: this });
96
- }), Match.exhaustive);
97
- const downloadSuccess = yield* Effect.promise(() => downloadAndInstall(update, handleDownload));
98
- if (downloadSuccess) {
99
- yield* invoke(LayoutOperation.AddToast, {
100
- id: `${meta.id}.update-ready`,
101
- title: [
102
- "update-ready.label",
103
- {
104
- ns: meta.id
105
- }
106
- ],
107
- description: [
108
- "update-ready.description",
109
- {
110
- ns: meta.id
111
- }
112
- ],
113
- duration: Infinity,
114
- actionLabel: [
115
- "update.label",
116
- {
117
- ns: meta.id
118
- }
119
- ],
120
- actionAlt: [
121
- "update.alt",
122
- {
123
- ns: meta.id
124
- }
125
- ],
126
- onAction: () => relaunch()
127
- });
128
- return false;
129
- }
130
- }
131
- return true;
132
- });
133
- const schedule = Schedule.fixed(Duration.hours(1)).pipe(Schedule.whileInput((keepChecking) => keepChecking));
134
- const fiber = yield* action.pipe(Effect.repeat(schedule), Effect.forkDaemon);
135
- log.info("updater module initialized, update check scheduled", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 140, S: this });
136
- return Capability.contributes(Capabilities.Null, null, () => Effect.sync(() => Effect.runSync(Fiber.interrupt(fiber))));
137
- }));
138
- export {
139
- updater_default as default
140
- };
141
- //# sourceMappingURL=updater-ZAJJC24D.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/updater.ts", "../../../src/constants.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\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';\n\nimport { TAURI_LOCALHOST_PORT } from '../constants';\n\nconst SUPPORTS_OTA = ['linux', 'macos', 'windows'];\n\n/**\n * Safely check for updates with error logging.\n */\nconst check = async (): Promise<Updater.Update | null> => {\n try {\n return await Updater.check();\n } catch (error) {\n log.error('failed to check for updates', { error });\n return null;\n }\n};\n\n/**\n * Safely download and install update with error logging.\n */\nconst downloadAndInstall = async (\n update: Updater.Update,\n handleDownload: (event: Updater.DownloadEvent) => void,\n): Promise<boolean> => {\n try {\n await update.downloadAndInstall(handleDownload);\n return true;\n } catch (error) {\n log.error('failed to download and install update', { error });\n return false;\n }\n};\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n // Skip updates if not supported or in dev mode.\n const platform = type();\n const isDevServer = window.location.port !== TAURI_LOCALHOST_PORT;\n if (!SUPPORTS_OTA.includes(platform) || isDevServer) {\n log.info('skipping updater', { platform, port: window.location.port });\n return;\n }\n\n const { invoke } = yield* Capability.get(Capabilities.OperationInvoker);\n\n // https://tauri.app/plugin/updater/#checking-for-updates\n // Returns true to keep checking, false to stop.\n const action = Effect.gen(function* () {\n log.info('checking for updates');\n const update = yield* Effect.promise(() => check());\n if (!update) {\n log.info('no update available');\n return true;\n }\n log.info('update check complete', {\n available: update.available,\n currentVersion: update.currentVersion,\n version: update.version,\n date: update.date,\n body: update.body,\n });\n if (update.available) {\n log.info('update available, starting download', { version: update.version });\n let downloaded = 0;\n let contentLength = 0;\n\n const handleDownload = Match.type<Updater.DownloadEvent>().pipe(\n Match.when({ event: 'Started' }, (event) => {\n contentLength = event.data.contentLength ?? 0;\n log.info('download started', { contentLength });\n }),\n Match.when({ event: 'Progress' }, (event) => {\n downloaded += event.data.chunkLength;\n log.verbose('download progress', { downloaded, contentLength });\n }),\n Match.when({ event: 'Finished' }, () => {\n log.info('download completed');\n }),\n Match.exhaustive,\n );\n\n const downloadSuccess = yield* Effect.promise(() => downloadAndInstall(update, handleDownload));\n\n if (downloadSuccess) {\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 return true;\n });\n\n // Run immediately on startup, then repeat every hour. Stop once an update is found.\n const schedule = Schedule.fixed(Duration.hours(1)).pipe(\n Schedule.whileInput((keepChecking: boolean) => keepChecking),\n );\n const fiber = yield* action.pipe(Effect.repeat(schedule), Effect.forkDaemon);\n log.info('updater module initialized, update check scheduled');\n\n return Capability.contributes(Capabilities.Null, null, () =>\n Effect.sync(() => Effect.runSync(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": ["type", "relaunch", "Updater", "Duration", "Effect", "Fiber", "Match", "Schedule", "Capabilities", "Capability", "LayoutOperation", "log", "meta", "TAURI_LOCALHOST_PORT", "SUPPORTS_OTA", "check", "Updater", "log", "error", "downloadAndInstall", "handleDownload", "platform", "type", "includes", "port", "Effect", "promise", "update", "info", "currentVersion", "version", "date", "body", "available", "downloaded", "contentLength", "event", "Match", "verbose", "downloadSuccess", "LayoutOperation", "AddToast", "id", "title", "description", "duration", "actionLabel", "actionAlt", "onAction", "Capability", "contributes", "Capabilities"]
7
- }