@dxos/plugin-native 0.8.4-main.5acf9ea → 0.8.4-main.5ea62a8
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/dist/lib/browser/index.mjs +15 -2
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/ollama-7VZCJLY5.mjs +87 -0
- package/dist/lib/browser/ollama-7VZCJLY5.mjs.map +7 -0
- package/dist/lib/browser/{updater-KSM3TUHI.mjs → updater-MCAQYHED.mjs} +3 -3
- package/dist/lib/browser/{updater-KSM3TUHI.mjs.map → updater-MCAQYHED.mjs.map} +3 -3
- package/dist/lib/browser/window-5EBHZJJ4.mjs +34 -0
- package/dist/lib/browser/window-5EBHZJJ4.mjs.map +7 -0
- package/dist/types/src/NativePlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +3 -1
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/ollama.d.ts +4 -0
- package/dist/types/src/capabilities/ollama.d.ts.map +1 -0
- package/dist/types/src/capabilities/updater.d.ts +1 -1
- package/dist/types/src/capabilities/updater.d.ts.map +1 -1
- package/dist/types/src/capabilities/window.d.ts +4 -0
- package/dist/types/src/capabilities/window.d.ts.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +17 -12
- package/src/NativePlugin.tsx +13 -2
- package/src/capabilities/index.ts +2 -0
- package/src/capabilities/ollama.ts +79 -0
- package/src/capabilities/updater.ts +3 -3
- package/src/capabilities/window.ts +49 -0
|
@@ -4,11 +4,14 @@ import {
|
|
|
4
4
|
} from "./chunk-E2JDGVJI.mjs";
|
|
5
5
|
|
|
6
6
|
// src/NativePlugin.tsx
|
|
7
|
-
import {
|
|
7
|
+
import { Capabilities, Events, contributes, defineModule, definePlugin } from "@dxos/app-framework";
|
|
8
|
+
import { AssistantEvents } from "@dxos/plugin-assistant";
|
|
8
9
|
|
|
9
10
|
// src/capabilities/index.ts
|
|
10
11
|
import { lazy } from "@dxos/app-framework";
|
|
11
|
-
var
|
|
12
|
+
var Ollama = lazy(() => import("./ollama-7VZCJLY5.mjs"));
|
|
13
|
+
var Updater = lazy(() => import("./updater-MCAQYHED.mjs"));
|
|
14
|
+
var Window = lazy(() => import("./window-5EBHZJJ4.mjs"));
|
|
12
15
|
|
|
13
16
|
// src/translations.ts
|
|
14
17
|
var translations = [
|
|
@@ -35,6 +38,16 @@ var NativePlugin = () => definePlugin(meta, [
|
|
|
35
38
|
id: `${meta.id}/module/updater`,
|
|
36
39
|
activatesOn: Events.DispatcherReady,
|
|
37
40
|
activate: Updater
|
|
41
|
+
}),
|
|
42
|
+
defineModule({
|
|
43
|
+
id: `${meta.id}/module/window`,
|
|
44
|
+
activatesOn: Events.DispatcherReady,
|
|
45
|
+
activate: Window
|
|
46
|
+
}),
|
|
47
|
+
defineModule({
|
|
48
|
+
id: `${meta.id}/module/ollama`,
|
|
49
|
+
activatesOn: AssistantEvents.SetupAiServiceProviders,
|
|
50
|
+
activate: Ollama
|
|
38
51
|
})
|
|
39
52
|
]);
|
|
40
53
|
export {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/NativePlugin.tsx", "../../../src/capabilities/index.ts", "../../../src/translations.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport {
|
|
5
|
-
"mappings": ";;;;;;AAIA,SAASA,cAAcC,QAAQC,cAAcC,
|
|
6
|
-
"names": ["
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Capabilities, Events, contributes, defineModule, definePlugin } from '@dxos/app-framework';\nimport { AssistantEvents } from '@dxos/plugin-assistant';\n\nimport { Ollama, Updater, Window } from './capabilities';\nimport { meta } from './meta';\nimport { translations } from './translations';\n\nexport const NativePlugin = () =>\n definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, translations),\n }),\n defineModule({\n id: `${meta.id}/module/updater`,\n activatesOn: Events.DispatcherReady,\n activate: Updater,\n }),\n defineModule({\n id: `${meta.id}/module/window`,\n activatesOn: Events.DispatcherReady,\n activate: Window,\n }),\n defineModule({\n id: `${meta.id}/module/ollama`,\n activatesOn: AssistantEvents.SetupAiServiceProviders,\n activate: Ollama,\n }),\n ]);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { lazy } from '@dxos/app-framework';\n\nexport const Ollama = lazy(() => import('./ollama'));\nexport const Updater = lazy(() => import('./updater'));\nexport const Window = lazy(() => import('./window'));\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Resource } from '@dxos/react-ui';\n\nimport { meta } from './meta';\n\nexport const translations = [\n {\n 'en-US': {\n [meta.id]: {\n 'update ready label': 'Ready to update',\n 'update ready description': 'A new version of Composer is available.',\n 'update label': 'Update',\n 'update alt': 'Relaunch the app to update',\n },\n },\n },\n] as const satisfies Resource[];\n"],
|
|
5
|
+
"mappings": ";;;;;;AAIA,SAASA,cAAcC,QAAQC,aAAaC,cAAcC,oBAAoB;AAC9E,SAASC,uBAAuB;;;ACDhC,SAASC,YAAY;AAEd,IAAMC,SAASC,KAAK,MAAM,OAAO,uBAAA,CAAA;AACjC,IAAMC,UAAUD,KAAK,MAAM,OAAO,wBAAA,CAAA;AAClC,IAAME,SAASF,KAAK,MAAM,OAAO,uBAAA,CAAA;;;ACAjC,IAAMG,eAAe;EAC1B;IACE,SAAS;MACP,CAACC,KAAKC,EAAE,GAAG;QACT,sBAAsB;QACtB,4BAA4B;QAC5B,gBAAgB;QAChB,cAAc;MAChB;IACF;EACF;;;;AFPK,IAAMC,eAAe,MAC1BC,aAAaC,MAAM;EACjBC,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOC;IACpBC,UAAU,MAAMC,YAAYC,aAAaC,cAAcC,YAAAA;EACzD,CAAA;EACAT,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOO;IACpBL,UAAUM;EACZ,CAAA;EACAX,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOO;IACpBL,UAAUO;EACZ,CAAA;EACAZ,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaW,gBAAgBC;IAC7BT,UAAUU;EACZ,CAAA;CACD;",
|
|
6
|
+
"names": ["Capabilities", "Events", "contributes", "defineModule", "definePlugin", "AssistantEvents", "lazy", "Ollama", "lazy", "Updater", "Window", "translations", "meta", "id", "NativePlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "Events", "SetupTranslations", "activate", "contributes", "Capabilities", "Translations", "translations", "DispatcherReady", "Updater", "Window", "AssistantEvents", "SetupAiServiceProviders", "Ollama"]
|
|
7
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"inputs":{"src/meta.ts":{"bytes":914,"imports":[],"format":"esm"},"src/capabilities/updater.ts":{"bytes":11521,"imports":[{"path":"@tauri-apps/plugin-os","kind":"import-statement","external":true},{"path":"@tauri-apps/plugin-process","kind":"import-statement","external":true},{"path":"@tauri-apps/plugin-updater","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"src/capabilities/index.ts":{"bytes":
|
|
1
|
+
{"inputs":{"src/meta.ts":{"bytes":914,"imports":[],"format":"esm"},"src/capabilities/ollama.ts":{"bytes":10053,"imports":[{"path":"@effect/platform","kind":"import-statement","external":true},{"path":"@tauri-apps/plugin-shell","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/ai","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/plugin-assistant","kind":"import-statement","external":true}],"format":"esm"},"src/capabilities/updater.ts":{"bytes":11521,"imports":[{"path":"@tauri-apps/plugin-os","kind":"import-statement","external":true},{"path":"@tauri-apps/plugin-process","kind":"import-statement","external":true},{"path":"@tauri-apps/plugin-updater","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"src/capabilities/window.ts":{"bytes":5689,"imports":[{"path":"@tauri-apps/api/window","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"format":"esm"},"src/capabilities/index.ts":{"bytes":1148,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/capabilities/ollama.ts","kind":"dynamic-import","original":"./ollama"},{"path":"src/capabilities/updater.ts","kind":"dynamic-import","original":"./updater"},{"path":"src/capabilities/window.ts","kind":"dynamic-import","original":"./window"}],"format":"esm"},"src/translations.ts":{"bytes":1625,"imports":[{"path":"src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"src/NativePlugin.tsx":{"bytes":4037,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-assistant","kind":"import-statement","external":true},{"path":"src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/translations.ts","kind":"import-statement","original":"./translations"}],"format":"esm"},"src/index.ts":{"bytes":549,"imports":[{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/NativePlugin.tsx","kind":"import-statement","original":"./NativePlugin"}],"format":"esm"}},"outputs":{"dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3147},"dist/lib/browser/index.mjs":{"imports":[{"path":"dist/lib/browser/chunk-E2JDGVJI.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-assistant","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"dist/lib/browser/ollama-7VZCJLY5.mjs","kind":"dynamic-import"},{"path":"dist/lib/browser/updater-MCAQYHED.mjs","kind":"dynamic-import"},{"path":"dist/lib/browser/window-5EBHZJJ4.mjs","kind":"dynamic-import"}],"exports":["NATIVE_PLUGIN","NativePlugin","meta"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":0},"src/NativePlugin.tsx":{"bytesInOutput":771},"src/capabilities/index.ts":{"bytesInOutput":220},"src/translations.ts":{"bytesInOutput":293}},"bytes":1539},"dist/lib/browser/ollama-7VZCJLY5.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5088},"dist/lib/browser/ollama-7VZCJLY5.mjs":{"imports":[{"path":"@effect/platform","kind":"import-statement","external":true},{"path":"@tauri-apps/plugin-shell","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/ai","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/plugin-assistant","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/ollama.ts","inputs":{"src/capabilities/ollama.ts":{"bytesInOutput":2669}},"bytes":2784},"dist/lib/browser/updater-MCAQYHED.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5370},"dist/lib/browser/updater-MCAQYHED.mjs":{"imports":[{"path":"dist/lib/browser/chunk-E2JDGVJI.mjs","kind":"import-statement"},{"path":"@tauri-apps/plugin-os","kind":"import-statement","external":true},{"path":"@tauri-apps/plugin-process","kind":"import-statement","external":true},{"path":"@tauri-apps/plugin-updater","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/updater.ts","inputs":{"src/capabilities/updater.ts":{"bytesInOutput":3402}},"bytes":3577},"dist/lib/browser/chunk-E2JDGVJI.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":454},"dist/lib/browser/chunk-E2JDGVJI.mjs":{"imports":[],"exports":["NATIVE_PLUGIN","meta"],"inputs":{"src/meta.ts":{"bytesInOutput":100}},"bytes":196},"dist/lib/browser/window-5EBHZJJ4.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2974},"dist/lib/browser/window-5EBHZJJ4.mjs":{"imports":[{"path":"@tauri-apps/api/window","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/window.ts","inputs":{"src/capabilities/window.ts":{"bytesInOutput":1212}},"bytes":1327}}}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
// src/capabilities/ollama.ts
|
|
2
|
+
import { FetchHttpClient, HttpClient } from "@effect/platform";
|
|
3
|
+
import { Command } from "@tauri-apps/plugin-shell";
|
|
4
|
+
import { Context, Effect, Layer, ManagedRuntime } from "effect";
|
|
5
|
+
import { AiServiceRouter } from "@dxos/ai";
|
|
6
|
+
import { contributes } from "@dxos/app-framework";
|
|
7
|
+
import { log } from "@dxos/log";
|
|
8
|
+
import { AssistantCapabilities } from "@dxos/plugin-assistant";
|
|
9
|
+
function _define_property(obj, key, value) {
|
|
10
|
+
if (key in obj) {
|
|
11
|
+
Object.defineProperty(obj, key, {
|
|
12
|
+
value,
|
|
13
|
+
enumerable: true,
|
|
14
|
+
configurable: true,
|
|
15
|
+
writable: true
|
|
16
|
+
});
|
|
17
|
+
} else {
|
|
18
|
+
obj[key] = value;
|
|
19
|
+
}
|
|
20
|
+
return obj;
|
|
21
|
+
}
|
|
22
|
+
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-native/src/capabilities/ollama.ts";
|
|
23
|
+
var OLLAMA_HOST = "http://localhost:21434";
|
|
24
|
+
var ollama_default = (_context) => {
|
|
25
|
+
const runtime = ManagedRuntime.make(OllamaSidecar.layerLive);
|
|
26
|
+
const sidecarLayer = Layer.effectContext(runtime.runtimeEffect.pipe(Effect.map((rt) => rt.context.pipe(Context.pick(OllamaSidecar)))));
|
|
27
|
+
return contributes(AssistantCapabilities.AiModelResolver, OllamaSidecarModelResolver.pipe(Layer.provide(sidecarLayer)), async () => {
|
|
28
|
+
await runtime.dispose();
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
var _Context_Tag;
|
|
32
|
+
var OllamaSidecar = class extends (_Context_Tag = Context.Tag("@dxos/plugin-native/OllamaSidecar")()) {
|
|
33
|
+
};
|
|
34
|
+
_define_property(OllamaSidecar, "layerLive", Layer.scoped(OllamaSidecar, Effect.gen(function* () {
|
|
35
|
+
const command = Command.sidecar("sidecar/ollama", [
|
|
36
|
+
"serve"
|
|
37
|
+
], {
|
|
38
|
+
env: {
|
|
39
|
+
OLLAMA_HOST,
|
|
40
|
+
OLLAMA_ORIGINS: "*"
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
command.stdout.on("data", (data) => console.log("[ollama]", data.toString()));
|
|
44
|
+
command.stderr.on("data", (data) => console.error("[ollama]", data.toString()));
|
|
45
|
+
command.on("close", (code) => log.info("Ollama process exited", {
|
|
46
|
+
code
|
|
47
|
+
}, {
|
|
48
|
+
F: __dxlog_file,
|
|
49
|
+
L: 53,
|
|
50
|
+
S: this,
|
|
51
|
+
C: (f, a) => f(...a)
|
|
52
|
+
}));
|
|
53
|
+
command.on("error", (error) => log.error("Ollama error", {
|
|
54
|
+
error
|
|
55
|
+
}, {
|
|
56
|
+
F: __dxlog_file,
|
|
57
|
+
L: 54,
|
|
58
|
+
S: this,
|
|
59
|
+
C: (f, a) => f(...a)
|
|
60
|
+
}));
|
|
61
|
+
const child = yield* Effect.promise(() => command.spawn());
|
|
62
|
+
yield* Effect.addFinalizer(Effect.fn(function* () {
|
|
63
|
+
yield* Effect.promise(() => child.kill());
|
|
64
|
+
}));
|
|
65
|
+
log.info("Running ollama", {
|
|
66
|
+
pid: child.pid
|
|
67
|
+
}, {
|
|
68
|
+
F: __dxlog_file,
|
|
69
|
+
L: 61,
|
|
70
|
+
S: this,
|
|
71
|
+
C: (f, a) => f(...a)
|
|
72
|
+
});
|
|
73
|
+
return {
|
|
74
|
+
endpoint: OLLAMA_HOST
|
|
75
|
+
};
|
|
76
|
+
})));
|
|
77
|
+
var OllamaSidecarModelResolver = Layer.unwrapEffect(Effect.gen(function* () {
|
|
78
|
+
const { endpoint } = yield* OllamaSidecar;
|
|
79
|
+
return AiServiceRouter.OllamaResolver({
|
|
80
|
+
host: endpoint,
|
|
81
|
+
transformClient: HttpClient.withTracerPropagation(false)
|
|
82
|
+
});
|
|
83
|
+
})).pipe(Layer.provide(FetchHttpClient.layer));
|
|
84
|
+
export {
|
|
85
|
+
ollama_default as default
|
|
86
|
+
};
|
|
87
|
+
//# sourceMappingURL=ollama-7VZCJLY5.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/ollama.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { FetchHttpClient, HttpClient } from '@effect/platform';\nimport { Command } from '@tauri-apps/plugin-shell';\nimport { Context, Effect, Layer, ManagedRuntime } from 'effect';\n\nimport { AiServiceRouter } from '@dxos/ai';\nimport { type Capability, type PluginContext, contributes } from '@dxos/app-framework';\nimport { log } from '@dxos/log';\nimport { AssistantCapabilities } from '@dxos/plugin-assistant';\n\n// Running ollama on non-standard port.\nconst OLLAMA_HOST = 'http://localhost:21434';\n\nexport default (_context: PluginContext): Capability<any> => {\n const runtime = ManagedRuntime.make(OllamaSidecar.layerLive);\n\n // Layer for the sidecar but the lifecycle is managed by the runtime.\n const sidecarLayer = Layer.effectContext(\n runtime.runtimeEffect.pipe(Effect.map((rt) => rt.context.pipe(Context.pick(OllamaSidecar)))),\n );\n\n return contributes(\n AssistantCapabilities.AiModelResolver,\n OllamaSidecarModelResolver.pipe(Layer.provide(sidecarLayer)),\n async () => {\n await runtime.dispose();\n },\n );\n};\n\nclass OllamaSidecar extends Context.Tag('@dxos/plugin-native/OllamaSidecar')<\n OllamaSidecar,\n {\n endpoint: string;\n }\n>() {\n static layerLive = Layer.scoped(\n OllamaSidecar,\n Effect.gen(function* () {\n const command = Command.sidecar('sidecar/ollama', ['serve'], {\n env: {\n OLLAMA_HOST,\n OLLAMA_ORIGINS: '*', // CORS\n },\n });\n\n // NOTE: Keeping those as console.log for consistent formatting.\n command.stdout.on('data', (data) => console.log('[ollama]', data.toString()));\n command.stderr.on('data', (data) => console.error('[ollama]', data.toString()));\n command.on('close', (code) => log.info('Ollama process exited', { code }));\n command.on('error', (error) => log.error('Ollama error', { error }));\n const child = yield* Effect.promise(() => command.spawn());\n yield* Effect.addFinalizer(\n Effect.fn(function* () {\n yield* Effect.promise(() => child.kill());\n }),\n );\n log.info('Running ollama', { pid: child.pid });\n\n return {\n endpoint: OLLAMA_HOST,\n };\n }),\n );\n}\n\nconst OllamaSidecarModelResolver: Layer.Layer<AiServiceRouter.AiModelResolver, never, OllamaSidecar> =\n Layer.unwrapEffect(\n Effect.gen(function* () {\n const { endpoint } = yield* OllamaSidecar;\n return AiServiceRouter.OllamaResolver({\n host: endpoint,\n transformClient: HttpClient.withTracerPropagation(false),\n });\n }),\n ).pipe(Layer.provide(FetchHttpClient.layer));\n"],
|
|
5
|
+
"mappings": ";AAIA,SAASA,iBAAiBC,kBAAkB;AAC5C,SAASC,eAAe;AACxB,SAASC,SAASC,QAAQC,OAAOC,sBAAsB;AAEvD,SAASC,uBAAuB;AAChC,SAA8CC,mBAAmB;AACjE,SAASC,WAAW;AACpB,SAASC,6BAA6B;;;;;;;;;;;;;;;AAGtC,IAAMC,cAAc;AAEpB,IAAA,iBAAe,CAACC,aAAAA;AACd,QAAMC,UAAUP,eAAeQ,KAAKC,cAAcC,SAAS;AAG3D,QAAMC,eAAeZ,MAAMa,cACzBL,QAAQM,cAAcC,KAAKhB,OAAOiB,IAAI,CAACC,OAAOA,GAAGC,QAAQH,KAAKjB,QAAQqB,KAAKT,aAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AAG7E,SAAOP,YACLE,sBAAsBe,iBACtBC,2BAA2BN,KAAKf,MAAMsB,QAAQV,YAAAA,CAAAA,GAC9C,YAAA;AACE,UAAMJ,QAAQe,QAAO;EACvB,CAAA;AAEJ;IAE4BzB;AAA5B,IAAMY,gBAAN,eAA4BZ,eAAAA,QAAQ0B,IAAI,mCAAA,EAAA,GAKtC;AA6BF;AA5BE,iBANId,eAMGC,aAAYX,MAAMyB,OACvBf,eACAX,OAAO2B,IAAI,aAAA;AACT,QAAMC,UAAU9B,QAAQ+B,QAAQ,kBAAkB;IAAC;KAAU;IAC3DC,KAAK;MACHvB;MACAwB,gBAAgB;IAClB;EACF,CAAA;AAGAH,UAAQI,OAAOC,GAAG,QAAQ,CAACC,SAASC,QAAQ9B,IAAI,YAAY6B,KAAKE,SAAQ,CAAA,CAAA;AACzER,UAAQS,OAAOJ,GAAG,QAAQ,CAACC,SAASC,QAAQG,MAAM,YAAYJ,KAAKE,SAAQ,CAAA,CAAA;AAC3ER,UAAQK,GAAG,SAAS,CAACM,SAASlC,IAAImC,KAAK,yBAAyB;IAAED;EAAK,GAAA;;;;;;AACvEX,UAAQK,GAAG,SAAS,CAACK,UAAUjC,IAAIiC,MAAM,gBAAgB;IAAEA;EAAM,GAAA;;;;;;AACjE,QAAMG,QAAQ,OAAOzC,OAAO0C,QAAQ,MAAMd,QAAQe,MAAK,CAAA;AACvD,SAAO3C,OAAO4C,aACZ5C,OAAO6C,GAAG,aAAA;AACR,WAAO7C,OAAO0C,QAAQ,MAAMD,MAAMK,KAAI,CAAA;EACxC,CAAA,CAAA;AAEFzC,MAAImC,KAAK,kBAAkB;IAAEO,KAAKN,MAAMM;EAAI,GAAA;;;;;;AAE5C,SAAO;IACLC,UAAUzC;EACZ;AACF,CAAA,CAAA,CAAA;AAIJ,IAAMe,6BACJrB,MAAMgD,aACJjD,OAAO2B,IAAI,aAAA;AACT,QAAM,EAAEqB,SAAQ,IAAK,OAAOrC;AAC5B,SAAOR,gBAAgB+C,eAAe;IACpCC,MAAMH;IACNI,iBAAiBvD,WAAWwD,sBAAsB,KAAA;EACpD,CAAA;AACF,CAAA,CAAA,EACArC,KAAKf,MAAMsB,QAAQ3B,gBAAgB0D,KAAK,CAAA;",
|
|
6
|
+
"names": ["FetchHttpClient", "HttpClient", "Command", "Context", "Effect", "Layer", "ManagedRuntime", "AiServiceRouter", "contributes", "log", "AssistantCapabilities", "OLLAMA_HOST", "_context", "runtime", "make", "OllamaSidecar", "layerLive", "sidecarLayer", "effectContext", "runtimeEffect", "pipe", "map", "rt", "context", "pick", "AiModelResolver", "OllamaSidecarModelResolver", "provide", "dispose", "Tag", "scoped", "gen", "command", "sidecar", "env", "OLLAMA_ORIGINS", "stdout", "on", "data", "console", "toString", "stderr", "error", "code", "info", "child", "promise", "spawn", "addFinalizer", "fn", "kill", "pid", "endpoint", "unwrapEffect", "OllamaResolver", "host", "transformClient", "withTracerPropagation", "layer"]
|
|
7
|
+
}
|
|
@@ -6,8 +6,8 @@ import {
|
|
|
6
6
|
import { type } from "@tauri-apps/plugin-os";
|
|
7
7
|
import { relaunch } from "@tauri-apps/plugin-process";
|
|
8
8
|
import { check } from "@tauri-apps/plugin-updater";
|
|
9
|
-
import { Duration, Effect, Fiber, Match,
|
|
10
|
-
import { Capabilities, contributes, createIntent
|
|
9
|
+
import { Duration, Effect, Fiber, Match, Schedule, pipe } from "effect";
|
|
10
|
+
import { Capabilities, LayoutAction, contributes, createIntent } from "@dxos/app-framework";
|
|
11
11
|
import { log } from "@dxos/log";
|
|
12
12
|
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-native/src/capabilities/updater.ts";
|
|
13
13
|
var SUPPORTS_OTA = [
|
|
@@ -130,4 +130,4 @@ var updater_default = (context) => {
|
|
|
130
130
|
export {
|
|
131
131
|
updater_default as default
|
|
132
132
|
};
|
|
133
|
-
//# sourceMappingURL=updater-
|
|
133
|
+
//# sourceMappingURL=updater-MCAQYHED.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/capabilities/updater.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 {
|
|
5
|
-
"mappings": ";;;;;AAIA,SAASA,YAAY;AACrB,SAASC,gBAAgB;AACzB,
|
|
6
|
-
"names": ["type", "relaunch", "check", "Duration", "Effect", "Fiber", "Match", "
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type } from '@tauri-apps/plugin-os';\nimport { relaunch } from '@tauri-apps/plugin-process';\nimport { type DownloadEvent, check } from '@tauri-apps/plugin-updater';\nimport { Duration, Effect, Fiber, Match, Schedule, pipe } from 'effect';\n\nimport { Capabilities, LayoutAction, type PluginContext, contributes, createIntent } from '@dxos/app-framework';\nimport { log } from '@dxos/log';\n\nimport { NATIVE_PLUGIN } from '../meta';\n\nconst SUPPORTS_OTA = ['linux', 'macos', 'windows'];\n\nexport default (context: PluginContext) => {\n const platform = type();\n if (!SUPPORTS_OTA.includes(platform)) {\n return contributes(Capabilities.Null, null);\n }\n\n const { dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n\n // https://tauri.app/plugin/updater/#checking-for-updates\n const action = Effect.gen(function* () {\n log.info('checking for updates');\n const update = yield* Effect.tryPromise(() => check());\n log.info('checked for updates', { version: update?.version, currentVersion: update?.currentVersion });\n if (update) {\n log.info('update available', update);\n let downloaded = 0;\n let contentLength = 0;\n\n const handleDownload = Match.type<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.info('download progress', { downloaded, contentLength });\n }),\n Match.when({ event: 'Finished' }, () => {\n log.info('download completed');\n }),\n Match.exhaustive,\n );\n\n yield* Effect.tryPromise(() => update.downloadAndInstall(handleDownload));\n\n yield* dispatch(\n createIntent(LayoutAction.AddToast, {\n part: 'toast',\n subject: {\n id: `${NATIVE_PLUGIN}/update-ready`,\n title: ['update ready label', { ns: NATIVE_PLUGIN }],\n description: ['update ready description', { ns: NATIVE_PLUGIN }],\n duration: Infinity,\n actionLabel: ['update label', { ns: NATIVE_PLUGIN }],\n actionAlt: ['update alt', { ns: NATIVE_PLUGIN }],\n onAction: () => relaunch(),\n },\n }),\n );\n }\n });\n\n const fiber = pipe(\n // prettier-ignore\n action,\n Effect.repeat(Schedule.fixed(Duration.hours(1))),\n Effect.runFork,\n );\n\n return contributes(Capabilities.Null, null, () => {\n Effect.runSync(Fiber.interrupt(fiber));\n });\n};\n"],
|
|
5
|
+
"mappings": ";;;;;AAIA,SAASA,YAAY;AACrB,SAASC,gBAAgB;AACzB,SAA6BC,aAAa;AAC1C,SAASC,UAAUC,QAAQC,OAAOC,OAAOC,UAAUC,YAAY;AAE/D,SAASC,cAAcC,cAAkCC,aAAaC,oBAAoB;AAC1F,SAASC,WAAW;;AAIpB,IAAMC,eAAe;EAAC;EAAS;EAAS;;AAExC,IAAA,kBAAe,CAACC,YAAAA;AACd,QAAMC,WAAWC,KAAAA;AACjB,MAAI,CAACH,aAAaI,SAASF,QAAAA,GAAW;AACpC,WAAOG,YAAYC,aAAaC,MAAM,IAAA;EACxC;AAEA,QAAM,EAAEC,SAAQ,IAAKP,QAAQQ,cAAcH,aAAaI,gBAAgB;AAGxE,QAAMC,SAASC,OAAOC,IAAI,aAAA;AACxBC,QAAIC,KAAK,wBAAA,QAAA;;;;;;AACT,UAAMC,SAAS,OAAOJ,OAAOK,WAAW,MAAMC,MAAAA,CAAAA;AAC9CJ,QAAIC,KAAK,uBAAuB;MAAEI,SAASH,QAAQG;MAASC,gBAAgBJ,QAAQI;IAAe,GAAA;;;;;;AACnG,QAAIJ,QAAQ;AACVF,UAAIC,KAAK,oBAAoBC,QAAAA;;;;;;AAC7B,UAAIK,aAAa;AACjB,UAAIC,gBAAgB;AAEpB,YAAMC,iBAAiBC,MAAMrB,KAAI,EAAkBsB,KACjDD,MAAME,KAAK;QAAEC,OAAO;MAAU,GAAG,CAACA,UAAAA;AAChCL,wBAAgBK,MAAMC,KAAKN,iBAAiB;AAC5CR,YAAIC,KAAK,oBAAoB;UAAEO;QAAc,GAAA;;;;;;MAC/C,CAAA,GACAE,MAAME,KAAK;QAAEC,OAAO;MAAW,GAAG,CAACA,UAAAA;AACjCN,sBAAcM,MAAMC,KAAKC;AACzBf,YAAIC,KAAK,qBAAqB;UAAEM;UAAYC;QAAc,GAAA;;;;;;MAC5D,CAAA,GACAE,MAAME,KAAK;QAAEC,OAAO;MAAW,GAAG,MAAA;AAChCb,YAAIC,KAAK,sBAAA,QAAA;;;;;;MACX,CAAA,GACAS,MAAMM,UAAU;AAGlB,aAAOlB,OAAOK,WAAW,MAAMD,OAAOe,mBAAmBR,cAAAA,CAAAA;AAEzD,aAAOf,SACLwB,aAAaC,aAAaC,UAAU;QAClCC,MAAM;QACNC,SAAS;UACPC,IAAI,GAAGC,aAAAA;UACPC,OAAO;YAAC;YAAsB;cAAEC,IAAIF;YAAc;;UAClDG,aAAa;YAAC;YAA4B;cAAED,IAAIF;YAAc;;UAC9DI,UAAUC;UACVC,aAAa;YAAC;YAAgB;cAAEJ,IAAIF;YAAc;;UAClDO,WAAW;YAAC;YAAc;cAAEL,IAAIF;YAAc;;UAC9CQ,UAAU,MAAMC,SAAAA;QAClB;MACF,CAAA,CAAA;IAEJ;EACF,CAAA;AAEA,QAAMC,QAAQvB;;IAEZd;IACAC,OAAOqC,OAAOC,SAASC,MAAMC,SAASC,MAAM,CAAA,CAAA,CAAA;IAC5CzC,OAAO0C;EAAO;AAGhB,SAAOjD,YAAYC,aAAaC,MAAM,MAAM,MAAA;AAC1CK,WAAO2C,QAAQC,MAAMC,UAAUT,KAAAA,CAAAA;EACjC,CAAA;AACF;",
|
|
6
|
+
"names": ["type", "relaunch", "check", "Duration", "Effect", "Fiber", "Match", "Schedule", "pipe", "Capabilities", "LayoutAction", "contributes", "createIntent", "log", "SUPPORTS_OTA", "context", "platform", "type", "includes", "contributes", "Capabilities", "Null", "dispatch", "getCapability", "IntentDispatcher", "action", "Effect", "gen", "log", "info", "update", "tryPromise", "check", "version", "currentVersion", "downloaded", "contentLength", "handleDownload", "Match", "pipe", "when", "event", "data", "chunkLength", "exhaustive", "downloadAndInstall", "createIntent", "LayoutAction", "AddToast", "part", "subject", "id", "NATIVE_PLUGIN", "title", "ns", "description", "duration", "Infinity", "actionLabel", "actionAlt", "onAction", "relaunch", "fiber", "repeat", "Schedule", "fixed", "Duration", "hours", "runFork", "runSync", "Fiber", "interrupt"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
// src/capabilities/window.ts
|
|
2
|
+
import { LogicalPosition, LogicalSize, getCurrentWindow } from "@tauri-apps/api/window";
|
|
3
|
+
import { Capabilities, contributes } from "@dxos/app-framework";
|
|
4
|
+
var window_default = (_context) => {
|
|
5
|
+
return contributes(Capabilities.Null, null, () => {
|
|
6
|
+
const appWindow = getCurrentWindow();
|
|
7
|
+
async function saveWindowState() {
|
|
8
|
+
const size = await appWindow.innerSize();
|
|
9
|
+
const position = await appWindow.innerPosition();
|
|
10
|
+
localStorage.setItem("windowState", JSON.stringify({
|
|
11
|
+
width: size.width,
|
|
12
|
+
height: size.height,
|
|
13
|
+
x: position.x,
|
|
14
|
+
y: position.y
|
|
15
|
+
}));
|
|
16
|
+
}
|
|
17
|
+
async function restoreWindowState() {
|
|
18
|
+
const savedState = localStorage.getItem("windowState");
|
|
19
|
+
if (savedState) {
|
|
20
|
+
const state = JSON.parse(savedState);
|
|
21
|
+
await appWindow.setSize(new LogicalSize(state.width, state.height));
|
|
22
|
+
await appWindow.setPosition(new LogicalPosition(state.x, state.y));
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
void appWindow.listen("tauri://resize", saveWindowState);
|
|
26
|
+
void appWindow.listen("tauri://move", saveWindowState);
|
|
27
|
+
document.addEventListener("DOMContentLoaded", restoreWindowState);
|
|
28
|
+
window.addEventListener("beforeunload", saveWindowState);
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
export {
|
|
32
|
+
window_default as default
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=window-5EBHZJJ4.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/window.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { LogicalPosition, LogicalSize, getCurrentWindow } from '@tauri-apps/api/window';\n\nimport { Capabilities, type PluginContext, contributes } from '@dxos/app-framework';\n\nexport default (_context: PluginContext) => {\n return contributes(Capabilities.Null, null, () => {\n const appWindow = getCurrentWindow();\n\n // Save window state to localStorage.\n async function saveWindowState() {\n const size = await appWindow.innerSize();\n const position = await appWindow.innerPosition();\n localStorage.setItem(\n 'windowState',\n JSON.stringify({\n width: size.width,\n height: size.height,\n x: position.x,\n y: position.y,\n }),\n );\n }\n\n // Restore window state from localStorage.\n async function restoreWindowState() {\n const savedState = localStorage.getItem('windowState');\n if (savedState) {\n const state = JSON.parse(savedState);\n\n await appWindow.setSize(new LogicalSize(state.width, state.height));\n await appWindow.setPosition(new LogicalPosition(state.x, state.y));\n }\n }\n\n // Listen for window events and save state.\n void appWindow.listen('tauri://resize', saveWindowState);\n void appWindow.listen('tauri://move', saveWindowState);\n\n // Restore state when app loads.\n document.addEventListener('DOMContentLoaded', restoreWindowState);\n\n // Save state before closing.\n window.addEventListener('beforeunload', saveWindowState);\n });\n};\n"],
|
|
5
|
+
"mappings": ";AAIA,SAASA,iBAAiBC,aAAaC,wBAAwB;AAE/D,SAASC,cAAkCC,mBAAmB;AAE9D,IAAA,iBAAe,CAACC,aAAAA;AACd,SAAOC,YAAYC,aAAaC,MAAM,MAAM,MAAA;AAC1C,UAAMC,YAAYC,iBAAAA;AAGlB,mBAAeC,kBAAAA;AACb,YAAMC,OAAO,MAAMH,UAAUI,UAAS;AACtC,YAAMC,WAAW,MAAML,UAAUM,cAAa;AAC9CC,mBAAaC,QACX,eACAC,KAAKC,UAAU;QACbC,OAAOR,KAAKQ;QACZC,QAAQT,KAAKS;QACbC,GAAGR,SAASQ;QACZC,GAAGT,SAASS;MACd,CAAA,CAAA;IAEJ;AAGA,mBAAeC,qBAAAA;AACb,YAAMC,aAAaT,aAAaU,QAAQ,aAAA;AACxC,UAAID,YAAY;AACd,cAAME,QAAQT,KAAKU,MAAMH,UAAAA;AAEzB,cAAMhB,UAAUoB,QAAQ,IAAIC,YAAYH,MAAMP,OAAOO,MAAMN,MAAM,CAAA;AACjE,cAAMZ,UAAUsB,YAAY,IAAIC,gBAAgBL,MAAML,GAAGK,MAAMJ,CAAC,CAAA;MAClE;IACF;AAGA,SAAKd,UAAUwB,OAAO,kBAAkBtB,eAAAA;AACxC,SAAKF,UAAUwB,OAAO,gBAAgBtB,eAAAA;AAGtCuB,aAASC,iBAAiB,oBAAoBX,kBAAAA;AAG9CY,WAAOD,iBAAiB,gBAAgBxB,eAAAA;EAC1C,CAAA;AACF;",
|
|
6
|
+
"names": ["LogicalPosition", "LogicalSize", "getCurrentWindow", "Capabilities", "contributes", "_context", "contributes", "Capabilities", "Null", "appWindow", "getCurrentWindow", "saveWindowState", "size", "innerSize", "position", "innerPosition", "localStorage", "setItem", "JSON", "stringify", "width", "height", "x", "y", "restoreWindowState", "savedState", "getItem", "state", "parse", "setSize", "LogicalSize", "setPosition", "LogicalPosition", "listen", "document", "addEventListener", "window"]
|
|
7
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NativePlugin.d.ts","sourceRoot":"","sources":["../../../src/NativePlugin.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"NativePlugin.d.ts","sourceRoot":"","sources":["../../../src/NativePlugin.tsx"],"names":[],"mappings":"AAWA,eAAO,MAAM,YAAY,4CAsBrB,CAAC"}
|
|
@@ -1,2 +1,4 @@
|
|
|
1
|
-
export declare const
|
|
1
|
+
export declare const Ollama: (props?: import("@dxos/app-framework").PluginContext | undefined) => Promise<() => Promise<import("@dxos/app-framework").Capability<any> | import("@dxos/app-framework").AnyCapability[]>>;
|
|
2
|
+
export declare const Updater: (props?: import("@dxos/app-framework").PluginContext | undefined) => Promise<() => Promise<import("@dxos/app-framework").Capability<import("@dxos/app-framework").InterfaceDef<null>> | import("@dxos/app-framework").AnyCapability[]>>;
|
|
3
|
+
export declare const Window: (props?: import("@dxos/app-framework").PluginContext | undefined) => Promise<() => Promise<import("@dxos/app-framework").Capability<import("@dxos/app-framework").InterfaceDef<null>> | import("@dxos/app-framework").AnyCapability[]>>;
|
|
2
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,MAAM,4LAAiC,CAAC;AACrD,eAAO,MAAM,OAAO,yOAAkC,CAAC;AACvD,eAAO,MAAM,MAAM,yOAAiC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ollama.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/ollama.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,aAAa,EAAe,MAAM,qBAAqB,CAAC;yBAOvE,UAAU,aAAa,KAAG,UAAU,CAAC,GAAG,CAAC;AAAzD,wBAeE"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { type PluginContext } from '@dxos/app-framework';
|
|
2
|
-
declare const _default: (context: PluginContext) => import("@dxos/app-framework").Capability<null
|
|
2
|
+
declare const _default: (context: PluginContext) => import("@dxos/app-framework").Capability<import("@dxos/app-framework").InterfaceDef<null>>;
|
|
3
3
|
export default _default;
|
|
4
4
|
//# sourceMappingURL=updater.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updater.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/updater.ts"],"names":[],"mappings":"AASA,OAAO,
|
|
1
|
+
{"version":3,"file":"updater.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/updater.ts"],"names":[],"mappings":"AASA,OAAO,EAA8B,KAAK,aAAa,EAA6B,MAAM,qBAAqB,CAAC;yBAOhG,SAAS,aAAa;AAAtC,wBA8DE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"window.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/window.ts"],"names":[],"mappings":"AAMA,OAAO,EAAgB,KAAK,aAAa,EAAe,MAAM,qBAAqB,CAAC;yBAEpE,UAAU,aAAa;AAAvC,wBAwCE"}
|