latticesql 4.2.3 → 4.3.0
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 +78 -1
- package/dist/cli.js +6081 -892
- package/dist/desktop-entry.js +81507 -0
- package/dist/gui-assets/ort/ort-wasm-simd-threaded.asyncify.wasm +0 -0
- package/dist/gui-assets/ort/ort-wasm-simd-threaded.jsep.wasm +0 -0
- package/dist/gui-assets/ort/ort-wasm-simd-threaded.wasm +0 -0
- package/dist/gui-assets/transcriber.worker.mjs +46 -0
- package/dist/index.cjs +6409 -1133
- package/dist/index.d.cts +902 -3
- package/dist/index.d.ts +902 -3
- package/dist/index.js +6333 -1099
- package/docs/assistant.md +11 -7
- package/docs/bugs/2026-06-23-connectors-tab-out-of-scope.md +67 -0
- package/docs/bugs/2026-06-24-cloud-pooler-exhaustion.md +68 -0
- package/docs/bugs/2026-06-24-html-author-model-entitlement.md +77 -0
- package/docs/bugs/2026-06-25-chat-attached-files-not-connected.md +64 -0
- package/docs/connectors.md +166 -0
- package/docs/desktop.md +75 -0
- package/package.json +9 -2
- package/docs/examples/dashboard.html +0 -284
package/README.md
CHANGED
|
@@ -122,6 +122,7 @@ opt-in per table/call; absent the opt-in, behavior is byte-identical to 4.0.
|
|
|
122
122
|
- [Pluggable backends (v1.6+)](#pluggable-backends-v16)
|
|
123
123
|
- [Architecture](#architecture)
|
|
124
124
|
- [Examples](#examples)
|
|
125
|
+
- [Connectors (v4.3+)](#connectors-v43)
|
|
125
126
|
- [Staying up to date](#staying-up-to-date)
|
|
126
127
|
- [Auto-update](#auto-update-v11)
|
|
127
128
|
- [Telemetry](#telemetry)
|
|
@@ -138,6 +139,8 @@ npm install latticesql
|
|
|
138
139
|
|
|
139
140
|
Requires **Node.js 18+**. The default backend is SQLite (`better-sqlite3`) — no external database process needed.
|
|
140
141
|
|
|
142
|
+
> **Prefer a desktop app?** Download a native, double-click build of the GUI (no terminal) for macOS or Windows from [latticesql.com/install](https://latticesql.com/install) — it runs the same GUI server. See [docs/desktop.md](docs/desktop.md).
|
|
143
|
+
|
|
141
144
|
To use the Postgres backend (for Supabase, Neon, RDS, or any other Postgres-compatible database), install the optional dependency:
|
|
142
145
|
|
|
143
146
|
```bash
|
|
@@ -2217,7 +2220,10 @@ undoable. A Claude subscription can be connected instead via OAuth when the
|
|
|
2217
2220
|
|
|
2218
2221
|
Optional extras, each enabled by its own key/binary:
|
|
2219
2222
|
|
|
2220
|
-
- **Voice** —
|
|
2223
|
+
- **Voice** — the composer's 🎙 mic dictates on-device (in-browser WASM Whisper),
|
|
2224
|
+
no key or setup, and audio never leaves your machine. Keyed cloud transcription
|
|
2225
|
+
(OpenAI Whisper / ElevenLabs) stays available to API callers for backward
|
|
2226
|
+
compatibility.
|
|
2221
2227
|
- **File ingest** — reference a local file or paste text; it becomes a row in the
|
|
2222
2228
|
native `files` entity with extracted text + (with a Claude key) an
|
|
2223
2229
|
LLM-written description and links to related records. Documents (PDF, Word,
|
|
@@ -2852,6 +2858,77 @@ See Scarf's own [privacy documentation](https://docs.scarf.sh) for the upstream
|
|
|
2852
2858
|
|
|
2853
2859
|
---
|
|
2854
2860
|
|
|
2861
|
+
## Connectors (v4.3+)
|
|
2862
|
+
|
|
2863
|
+
Connectors sync data from external systems into Lattice as **connected data
|
|
2864
|
+
types** — tables whose rows are ingested from a source rather than authored
|
|
2865
|
+
locally. A connector talks to one external product directly using your own
|
|
2866
|
+
credentials. The built-in connector is **Jira**, which talks to Jira Cloud's
|
|
2867
|
+
REST + Agile APIs via [`jira.js`](https://github.com/MrRefactoring/jira.js) — no
|
|
2868
|
+
broker service, no extra API key.
|
|
2869
|
+
|
|
2870
|
+
`jira.js` is an **optional dependency** — install it only to use the connector:
|
|
2871
|
+
|
|
2872
|
+
```bash
|
|
2873
|
+
npm install jira.js
|
|
2874
|
+
```
|
|
2875
|
+
|
|
2876
|
+
Connect, sync, and disconnect programmatically:
|
|
2877
|
+
|
|
2878
|
+
```typescript
|
|
2879
|
+
import {
|
|
2880
|
+
JiraConnector,
|
|
2881
|
+
createConnector,
|
|
2882
|
+
syncConnector,
|
|
2883
|
+
syncIfStale,
|
|
2884
|
+
disconnectConnector,
|
|
2885
|
+
} from 'latticesql';
|
|
2886
|
+
|
|
2887
|
+
const connector = new JiraConnector();
|
|
2888
|
+
|
|
2889
|
+
// 1. Validate + store the member's Atlassian credentials (site + email + API token):
|
|
2890
|
+
const { connectionId, displayName } = await connector.connect({
|
|
2891
|
+
site: 'https://your-domain.atlassian.net',
|
|
2892
|
+
email: 'you@example.com',
|
|
2893
|
+
apiToken: process.env.JIRA_API_TOKEN!,
|
|
2894
|
+
});
|
|
2895
|
+
|
|
2896
|
+
// 2. Register + sync (defines the six jira_* connected tables and ingests):
|
|
2897
|
+
const connectorId = await createConnector(db, {
|
|
2898
|
+
connector: 'jira',
|
|
2899
|
+
toolkit: 'jira',
|
|
2900
|
+
displayName: displayName ?? 'jira',
|
|
2901
|
+
connectionRef: connectionId,
|
|
2902
|
+
connectedBy: 'user-123',
|
|
2903
|
+
});
|
|
2904
|
+
await syncConnector(db, connector, connectorId);
|
|
2905
|
+
|
|
2906
|
+
// 3. Keep fresh — no scheduler: re-sync on load if older than an hour.
|
|
2907
|
+
await syncIfStale(db, connector, connectorId);
|
|
2908
|
+
|
|
2909
|
+
// 4. Disconnect — soft-deletes the ingested rows + drops the stored credentials.
|
|
2910
|
+
await disconnectConnector(db, connector, connectorId);
|
|
2911
|
+
```
|
|
2912
|
+
|
|
2913
|
+
Connected tables (`jira_projects`, `jira_issues`, `jira_comments`, `jira_users`,
|
|
2914
|
+
`jira_boards`, `jira_sprints`) are full Lattice tables: queryable, full-text
|
|
2915
|
+
searchable, rendered to context, and linked on the graph (issue → project,
|
|
2916
|
+
comment → issue, …). Each row carries immutable lineage (`_source_connector_id`,
|
|
2917
|
+
`_source_model`); a re-sync upserts on the natural key and soft-deletes rows that
|
|
2918
|
+
vanished from the source.
|
|
2919
|
+
|
|
2920
|
+
On a cloud workspace, the owner calls `enableConnectorRls(db, connector, 'jira')`
|
|
2921
|
+
to scope connected rows per member (private by default, or shared per type).
|
|
2922
|
+
|
|
2923
|
+
In the **GUI**, all of this is point-and-click: open **Settings → Connectors**,
|
|
2924
|
+
enter your Jira site URL + email + API token, and connect / refresh / disconnect.
|
|
2925
|
+
Connected data types show a "Connected" badge in the Objects list.
|
|
2926
|
+
|
|
2927
|
+
See [docs/connectors.md](docs/connectors.md) for the full guide and the connector
|
|
2928
|
+
SPI (to add a new connector).
|
|
2929
|
+
|
|
2930
|
+
---
|
|
2931
|
+
|
|
2855
2932
|
## Contributing
|
|
2856
2933
|
|
|
2857
2934
|
See [CONTRIBUTING.md](./CONTRIBUTING.md) for dev setup, test commands, and contribution guidelines.
|