latticesql 4.2.2 → 4.2.4
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/README.md +2 -0
- package/dist/cli.js +357 -36
- package/dist/desktop-entry.js +76390 -0
- package/dist/index.cjs +378 -53
- package/dist/index.d.cts +76 -1
- package/dist/index.d.ts +76 -1
- package/dist/index.js +358 -35
- package/docs/desktop.md +75 -0
- package/package.json +6 -1
package/docs/desktop.md
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# Lattice Desktop app
|
|
2
|
+
|
|
3
|
+
A downloadable, double-click desktop build of the Lattice GUI — no terminal, no
|
|
4
|
+
`npm install`. It runs the **exact same** GUI server as `lattice gui`, served into
|
|
5
|
+
a native window, so there is only one GUI to maintain.
|
|
6
|
+
|
|
7
|
+
## Install
|
|
8
|
+
|
|
9
|
+
Download the installer for your OS from **[latticesql.com/install](https://latticesql.com/install)**:
|
|
10
|
+
|
|
11
|
+
- **macOS** — `Lattice.dmg` (Apple silicon + Intel)
|
|
12
|
+
- **Windows** — `Lattice.msi`
|
|
13
|
+
|
|
14
|
+
The CLI path keeps working unchanged: `npm i -g latticesql && lattice gui`.
|
|
15
|
+
|
|
16
|
+
> **Unsigned builds (current):** the v1 installers are not yet code-signed, so the
|
|
17
|
+
> first launch shows an "unidentified developer" (macOS Gatekeeper) or "unknown
|
|
18
|
+
> publisher" (Windows SmartScreen) prompt. Choose **Open anyway** / **Run anyway**.
|
|
19
|
+
> Signed builds remove this step.
|
|
20
|
+
|
|
21
|
+
## How it works
|
|
22
|
+
|
|
23
|
+
The desktop app is built with [`deno desktop`](https://docs.deno.com/runtime/desktop/).
|
|
24
|
+
It boots the standard `startGuiServer()` on a local port and points a native
|
|
25
|
+
webview window at it — the webview talks to the local server exactly like a
|
|
26
|
+
browser tab.
|
|
27
|
+
|
|
28
|
+
- **Same version as the web GUI.** The app and its installer report the same
|
|
29
|
+
`latticesql` version the web GUI shows (one build constant; `deno.json`'s
|
|
30
|
+
version is kept in lockstep with `package.json` by `scripts/sync-desktop-version.mjs`).
|
|
31
|
+
- **SQLite without native addons.** `better-sqlite3` is a native N-API addon that
|
|
32
|
+
cannot load under Deno, so the desktop build uses [`DenoSqliteAdapter`](../src/db/sqlite-deno.ts),
|
|
33
|
+
a drop-in adapter over the runtime's built-in `node:sqlite` `DatabaseSync`. The
|
|
34
|
+
npm/Node distribution is unchanged and still uses `better-sqlite3`.
|
|
35
|
+
- **External links open in your browser.** A webview has no tabs/popups, so the
|
|
36
|
+
desktop shell routes `target="_blank"` links and `window.open()` to the system
|
|
37
|
+
default browser. "Connect with Claude" opens the provider page in your browser
|
|
38
|
+
while keeping the auth session local to the app.
|
|
39
|
+
- **Upgrade-on-run.** On launch the app checks the release channel via
|
|
40
|
+
`Deno.autoUpdate()` and the `latest.json` manifest published with each release.
|
|
41
|
+
- **Upgrade-on-install.** The download page always links the latest release, so a
|
|
42
|
+
fresh install is always current.
|
|
43
|
+
|
|
44
|
+
## Build from source
|
|
45
|
+
|
|
46
|
+
Requires a Deno **canary** build (`deno desktop` is canary-only for now):
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
deno upgrade canary
|
|
50
|
+
npm ci
|
|
51
|
+
|
|
52
|
+
# macOS .dmg → dist-desktop/Lattice.dmg
|
|
53
|
+
npm run desktop:build:mac
|
|
54
|
+
|
|
55
|
+
# Windows .msi → dist-desktop/Lattice.msi
|
|
56
|
+
npm run desktop:build:win
|
|
57
|
+
|
|
58
|
+
# Run the windowed app directly during development
|
|
59
|
+
npm run desktop:dev
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
The app identity (name, bundle id, per-platform icons, update base URL) lives in
|
|
63
|
+
[`deno.json`](../deno.json) under the `desktop` key.
|
|
64
|
+
|
|
65
|
+
Releases are cut by the `Desktop Release` workflow on a `v*` tag: it builds both
|
|
66
|
+
OSes, generates `latest.json`, and uploads the installers + manifest to the
|
|
67
|
+
GitHub Release.
|
|
68
|
+
|
|
69
|
+
## Limitations
|
|
70
|
+
|
|
71
|
+
- **Image processing (`sharp`) and `sqlite-vec` acceleration are unavailable** in
|
|
72
|
+
the desktop build — both are native addons that do not load under Deno. Vector
|
|
73
|
+
search falls back to an in-process scan; image-dependent features are disabled.
|
|
74
|
+
Use the npm/Node build if you need them.
|
|
75
|
+
- The build is large (it embeds its runtime + dependencies) and currently unsigned.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "latticesql",
|
|
3
|
-
"version": "4.2.
|
|
3
|
+
"version": "4.2.4",
|
|
4
4
|
"description": "Persistent structured memory for AI agent systems — pluggable SQLite or Postgres backend, LLM context bridge",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -44,6 +44,11 @@
|
|
|
44
44
|
"test:coverage": "vitest run --coverage",
|
|
45
45
|
"test:e2e": "playwright test",
|
|
46
46
|
"docs": "typedoc --out docs-generated src/index.ts",
|
|
47
|
+
"desktop:version:check": "node scripts/sync-desktop-version.mjs --check",
|
|
48
|
+
"test:deno": "deno test --no-check -A tests/deno/",
|
|
49
|
+
"desktop:dev": "npm run build && node scripts/sync-desktop-version.mjs && deno desktop --no-check --allow-all desktop/main.ts",
|
|
50
|
+
"desktop:build:mac": "npm run build && node scripts/sync-desktop-version.mjs && deno desktop --no-check --allow-env --allow-read --allow-write --allow-net --allow-run --allow-sys --allow-ffi --output dist-desktop/Lattice.dmg desktop/main.ts",
|
|
51
|
+
"desktop:build:win": "npm run build && node scripts/sync-desktop-version.mjs && deno desktop --no-check --allow-env --allow-read --allow-write --allow-net --allow-run --allow-sys --allow-ffi --output dist-desktop/Lattice.msi desktop/main.ts",
|
|
47
52
|
"prepublishOnly": "npm run check:generic && npm run build && npm run typecheck && npm test"
|
|
48
53
|
},
|
|
49
54
|
"dependencies": {
|