trellis 3.2.0 → 3.2.2
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/CHANGELOG.md +7 -0
- package/README.md +61 -171
- package/dist/browser/index.d.ts +18 -0
- package/dist/browser/index.d.ts.map +1 -0
- package/dist/browser/index.js +95 -0
- package/dist/{chunk-3ETIIPPB.js → chunk-2W3MHTMG.js} +190 -27
- package/dist/{chunk-MBNBTJCR.js → chunk-6GEZ6DN5.js} +2 -2
- package/dist/chunk-7ZFRVCUE.js +211 -0
- package/dist/chunk-CAG4FULI.js +121 -0
- package/dist/{chunk-GD5QJXSS.js → chunk-FWRS4CSC.js} +2 -2
- package/dist/{chunk-36VSSTL7.js → chunk-GU374KWZ.js} +1 -1
- package/dist/{chunk-3GDRZTAW.js → chunk-H6JB3PZ3.js} +1 -1
- package/dist/{chunk-ZHVI7BQN.js → chunk-IZX2PLIB.js} +191 -28
- package/dist/chunk-J2TXUFCZ.js +289 -0
- package/dist/{chunk-BJ7EZ7FP.js → chunk-JHHEXEDM.js} +17 -0
- package/dist/{chunk-X762XWVC.js → chunk-KIJITUZB.js} +1 -1
- package/dist/{chunk-7WQGTFVJ.js → chunk-L5N5PR2S.js} +130 -75
- package/dist/{chunk-BXSTJVE3.js → chunk-N6MYZT4O.js} +2 -1
- package/dist/{chunk-KKDRMIV6.js → chunk-QB5ISE47.js} +1 -1
- package/dist/{chunk-HO4TURXW.js → chunk-S3XLFZ27.js} +28 -11
- package/dist/{chunk-BQBUVMRN.js → chunk-S6GBJ2ZB.js} +25 -14
- package/dist/{chunk-IUWVEEOX.js → chunk-SGMDTWJJ.js} +4 -0
- package/dist/{chunk-FZVCXDYW.js → chunk-UQISRW6T.js} +65 -12
- package/dist/{chunk-B3ZIFA2O.js → chunk-VBYUTRXX.js} +1 -1
- package/dist/cli/deploy-cli.d.ts +18 -0
- package/dist/cli/deploy-cli.d.ts.map +1 -0
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +153 -100
- package/dist/client/index.browser.d.ts +29 -0
- package/dist/client/index.browser.d.ts.map +1 -0
- package/dist/client/index.browser.js +64 -0
- package/dist/client/index.js +10 -10
- package/dist/client/sdk.browser.d.ts +104 -0
- package/dist/client/sdk.browser.d.ts.map +1 -0
- package/dist/{sdk-LZ7W3EEY.js → client/sdk.browser.js} +2 -2
- package/dist/client/sdk.js +1 -1
- package/dist/core/index.js +6 -6
- package/dist/db/index.js +18 -18
- package/dist/db/inspector.js +6 -6
- package/dist/db/trellis.css +1 -1
- package/dist/decisions/index.js +2 -2
- package/dist/deploy-LQ7GUGJ5.js +9 -0
- package/dist/{deploy-66EC752W.js → deploy-YNVG5E4E.js} +1 -1
- package/dist/deploy-cli-24BCHAXY.js +67 -0
- package/dist/deploy-cli-C35HTITO.js +67 -0
- package/dist/embeddings/auto-embed.d.ts.map +1 -1
- package/dist/embeddings/index.js +1 -1
- package/dist/embeddings/store.d.ts.map +1 -1
- package/dist/engine.d.ts +27 -7
- package/dist/engine.d.ts.map +1 -1
- package/dist/index.js +6 -6
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/react/index.js +2 -2
- package/dist/react/schema-hooks.js +7 -7
- package/dist/{remote-manager-SG545WNY.js → remote-manager-ODE3T2KR.js} +5 -5
- package/dist/scaffold/seed.d.ts.map +1 -1
- package/dist/scaffold/write.d.ts +1 -1
- package/dist/scaffold/write.d.ts.map +1 -1
- package/dist/schema/index.js +4 -3
- package/dist/server/deploy-meta.d.ts +25 -0
- package/dist/server/deploy-meta.d.ts.map +1 -0
- package/dist/server/deploy.d.ts +7 -2
- package/dist/server/deploy.d.ts.map +1 -1
- package/dist/server/index.d.ts +5 -2
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +52 -18
- package/dist/server/realtime.d.ts +4 -1
- package/dist/server/realtime.d.ts.map +1 -1
- package/dist/server/server.d.ts +1 -0
- package/dist/server/server.d.ts.map +1 -1
- package/dist/server/sprites.d.ts +18 -1
- package/dist/server/sprites.d.ts.map +1 -1
- package/dist/server/tenancy.d.ts +4 -0
- package/dist/server/tenancy.d.ts.map +1 -1
- package/dist/server/usage-meter.d.ts +53 -0
- package/dist/server/usage-meter.d.ts.map +1 -0
- package/dist/{server-IGBIIJSF.js → server-MB3OPSPI.js} +6 -1
- package/dist/{server-BOH7M4TT.js → server-ZVWGLLRF.js} +7 -2
- package/dist/sprites-KQGTGM6W.js +27 -0
- package/dist/{tenancy-S676GLID.js → tenancy-NBLLGCNJ.js} +1 -1
- package/dist/{tenancy-OP34NFFS.js → tenancy-POMWQP6M.js} +5 -3
- package/dist/vcs/index.js +3 -3
- package/dist/vcs/types.d.ts +2 -0
- package/dist/vcs/types.d.ts.map +1 -1
- package/package.json +17 -6
- package/dist/better-sqlite-backend-PII64VE6.js +0 -159
- package/dist/better-sqlite-backend-VUBVQ7SN.js +0 -209
- package/dist/better-sqlite-backend-Y3AQN65E.js +0 -159
- package/dist/better-sqlite-backend-Y3M7DXOX.js +0 -159
- package/dist/boot-middleware-FJDGVUM4.js +0 -9
- package/dist/boot-middleware-MLJUTLUM.js +0 -9
- package/dist/boot-middleware-ZZPDZNYR.js +0 -9
- package/dist/chunk-276LKLZR.js +0 -359
- package/dist/chunk-2CX5UCRV.js +0 -111
- package/dist/chunk-2ESYSVXG.js +0 -48
- package/dist/chunk-2I5JU73Y.js +0 -340
- package/dist/chunk-2UNSRRNB.js +0 -171
- package/dist/chunk-335UEHQR.js +0 -907
- package/dist/chunk-4CF2L46N.js +0 -29
- package/dist/chunk-5CINODKT.js +0 -41
- package/dist/chunk-5ESGWJ5L.js +0 -45
- package/dist/chunk-5FGLQGMF.js +0 -1676
- package/dist/chunk-5IQZFITY.js +0 -357
- package/dist/chunk-5JWFAQDW.js +0 -150
- package/dist/chunk-62UHTVU3.js +0 -141
- package/dist/chunk-66UJQT2I.js +0 -35
- package/dist/chunk-6RNNVOAS.js +0 -355
- package/dist/chunk-6X23PZ6H.js +0 -969
- package/dist/chunk-7C7LL6MB.js +0 -315
- package/dist/chunk-7F4HM3JG.js +0 -394
- package/dist/chunk-7KJ7T4D3.js +0 -910
- package/dist/chunk-7QQQNUB5.js +0 -92
- package/dist/chunk-7QWJBS72.js +0 -946
- package/dist/chunk-7R36OZK3.js +0 -957
- package/dist/chunk-7UPKCOHE.js +0 -946
- package/dist/chunk-A3BONW34.js +0 -35
- package/dist/chunk-AHMDVHBL.js +0 -141
- package/dist/chunk-AW6A4OZY.js +0 -171
- package/dist/chunk-BJ5EKCJ5.js +0 -458
- package/dist/chunk-BRGYDO7D.js +0 -223
- package/dist/chunk-C5KPSEDN.js +0 -359
- package/dist/chunk-CCTNYTUC.js +0 -940
- package/dist/chunk-CYQ2OVD2.js +0 -35
- package/dist/chunk-DDAK7YOE.js +0 -299
- package/dist/chunk-DRILKBY6.js +0 -965
- package/dist/chunk-DXE24HNN.js +0 -45
- package/dist/chunk-E7ICUNW7.js +0 -945
- package/dist/chunk-EAL2PUOE.js +0 -10022
- package/dist/chunk-ELT7MLZB.js +0 -109
- package/dist/chunk-EWEIRF6G.js +0 -171
- package/dist/chunk-F5VDGQJC.js +0 -120
- package/dist/chunk-FCPL3IEQ.js +0 -98
- package/dist/chunk-FDPKYSV7.js +0 -96
- package/dist/chunk-FES3TC24.js +0 -171
- package/dist/chunk-FOWKR5TW.js +0 -129
- package/dist/chunk-G3XIHPSQ.js +0 -361
- package/dist/chunk-GKJLYLVU.js +0 -359
- package/dist/chunk-GNXHXNVQ.js +0 -113
- package/dist/chunk-GSR6ILTM.js +0 -277
- package/dist/chunk-GWRIMRSX.js +0 -45
- package/dist/chunk-H72UW2HJ.js +0 -45
- package/dist/chunk-HGI74PXB.js +0 -7417
- package/dist/chunk-HGRA37LO.js +0 -145
- package/dist/chunk-HXSRQO3L.js +0 -145
- package/dist/chunk-IG2X2BVO.js +0 -373
- package/dist/chunk-IIJVDD54.js +0 -373
- package/dist/chunk-IX4BBOIT.js +0 -394
- package/dist/chunk-IXU4RMQM.js +0 -349
- package/dist/chunk-J6OUIION.js +0 -857
- package/dist/chunk-K46RNFDE.js +0 -171
- package/dist/chunk-KAGU2XMY.js +0 -359
- package/dist/chunk-KCVYJNVX.js +0 -394
- package/dist/chunk-KYLIQ3YI.js +0 -399
- package/dist/chunk-KZYJJIRN.js +0 -946
- package/dist/chunk-LFOX744K.js +0 -96
- package/dist/chunk-LHOVJEWR.js +0 -7403
- package/dist/chunk-LOPXTPF3.js +0 -120
- package/dist/chunk-LZR3VIFU.js +0 -907
- package/dist/chunk-MCKGQKYU.js +0 -15
- package/dist/chunk-MU6EOS6F.js +0 -0
- package/dist/chunk-MWRQ2TXT.js +0 -357
- package/dist/chunk-NO73OK2I.js +0 -102
- package/dist/chunk-NPE2YJHK.js +0 -394
- package/dist/chunk-NSDXU6QX.js +0 -2213
- package/dist/chunk-NXIRDSZ6.js +0 -145
- package/dist/chunk-NZWFNHCS.js +0 -407
- package/dist/chunk-OB4CMMX6.js +0 -260
- package/dist/chunk-OBKU74FU.js +0 -7411
- package/dist/chunk-OQNDWRDE.js +0 -145
- package/dist/chunk-OVWAJMB6.js +0 -394
- package/dist/chunk-PDHLBTTD.js +0 -45
- package/dist/chunk-PEQNRKLG.js +0 -210
- package/dist/chunk-QERIS7QY.js +0 -7403
- package/dist/chunk-QHA2DM3C.js +0 -373
- package/dist/chunk-QLM4HSYC.js +0 -45
- package/dist/chunk-S2OT3TQJ.js +0 -283
- package/dist/chunk-S5PHSN5K.js +0 -907
- package/dist/chunk-SIAA4J6H.js +0 -21
- package/dist/chunk-SQBNLUIA.js +0 -171
- package/dist/chunk-STLN6A6B.js +0 -355
- package/dist/chunk-U7HV7GU2.js +0 -17
- package/dist/chunk-UGZHOGRA.js +0 -39
- package/dist/chunk-UICF66FS.js +0 -359
- package/dist/chunk-UK3EQREE.js +0 -1078
- package/dist/chunk-UPKPURVY.js +0 -394
- package/dist/chunk-URC74VCN.js +0 -959
- package/dist/chunk-V3G7Q3QQ.js +0 -102
- package/dist/chunk-VUJ6SA55.js +0 -303
- package/dist/chunk-VUJQLIML.js +0 -141
- package/dist/chunk-VWKLKLYB.js +0 -267
- package/dist/chunk-VYC3RZMK.js +0 -277
- package/dist/chunk-WMERMSWI.js +0 -154
- package/dist/chunk-WMR777PO.js +0 -2213
- package/dist/chunk-X46IECAC.js +0 -517
- package/dist/chunk-XEN3OEYY.js +0 -2234
- package/dist/chunk-XZQ66K7A.js +0 -124
- package/dist/chunk-YY3GF7DH.js +0 -7411
- package/dist/chunk-ZE5R3H4C.js +0 -907
- package/dist/chunk-ZMN5LUB7.js +0 -7411
- package/dist/chunk-ZUV4MD5U.js +0 -94
- package/dist/config-KMY6RRK3.js +0 -19
- package/dist/config-VDMK2DUJ.js +0 -19
- package/dist/deploy-SO7AFK6L.js +0 -9
- package/dist/engine-7GXBM4IT.js +0 -7
- package/dist/engine-NSR6BIF7.js +0 -7
- package/dist/factory-2P64OC7M.js +0 -34
- package/dist/factory-YP4ZZK5K.js +0 -34
- package/dist/import-AJLYHFIA.js +0 -10
- package/dist/launch-explorer-AI6L2AWJ.js +0 -91
- package/dist/query-GJL3CVGN.js +0 -31
- package/dist/query-MBJSK3EB.js +0 -31
- package/dist/query-TJHEVSKL.js +0 -31
- package/dist/query-WUIKOHPE.js +0 -524
- package/dist/remote-manager-BLJZ6KF6.js +0 -224
- package/dist/remote-manager-BPYE46SI.js +0 -223
- package/dist/remote-manager-FMESEAFA.js +0 -224
- package/dist/remote-manager-K2WZ5RHY.js +0 -223
- package/dist/remote-manager-SG5PQKCH.js +0 -224
- package/dist/remote-manager-WGP6MIQZ.js +0 -224
- package/dist/sdk-3KBB3E6V.js +0 -16
- package/dist/sdk-4ZQO6UTU.js +0 -16
- package/dist/sdk-6JA6GV3G.js +0 -16
- package/dist/sdk-6VTP5UTZ.js +0 -16
- package/dist/sdk-7VS6TYCD.js +0 -16
- package/dist/sdk-HQ3FTLRT.js +0 -16
- package/dist/sdk-HZ7NU3XE.js +0 -15
- package/dist/sdk-KBQE2OXT.js +0 -16
- package/dist/sdk-MSCDZ7JU.js +0 -15
- package/dist/sdk-WNZOGO3S.js +0 -15
- package/dist/sdk-YLV33ZCW.js +0 -9
- package/dist/sdk-ZSUD2LLJ.js +0 -16
- package/dist/server-AFXFFBWA.js +0 -11
- package/dist/server-AGHC4VUL.js +0 -11
- package/dist/server-DBUY2KY5.js +0 -11
- package/dist/server-GWBQJPRG.js +0 -11
- package/dist/server-JZZFULVU.js +0 -11
- package/dist/server-L5XAF4M5.js +0 -11
- package/dist/server-NYFUHANA.js +0 -12
- package/dist/server-OABUB2LO.js +0 -12
- package/dist/server-P2CKZWWV.js +0 -12
- package/dist/sprites-XVSMQLSI.js +0 -15
- package/dist/sql-wasm-FORCZFHZ.js +0 -2148
- package/dist/sql-wasm-JZH76RLO.js +0 -2148
- package/dist/sqljs-backend-CJQOIQYE.js +0 -266
- package/dist/sqljs-backend-KWXBUDUO.js +0 -266
- package/dist/state-demo.bundle.js +0 -1033
- package/dist/tenancy-CBWYEVUB.js +0 -11
- package/dist/tenancy-FO6WVYFN.js +0 -13
- package/dist/tenancy-FWDBESMX.js +0 -14
- package/dist/tenancy-HGPIS5QA.js +0 -13
- package/dist/tenancy-HXFALA37.js +0 -14
- package/dist/tenancy-V7ARWNNV.js +0 -14
- package/dist/tenancy-ZDN4GXK5.js +0 -13
- package/dist/tenancy-ZT5VMY7B.js +0 -14
- package/dist/vm-config-YZRJ3KUB.js +0 -21
- /package/dist/{chunk-2BRTCEHB.js → chunk-PZ4XYZ4J.js} +0 -0
- /package/dist/{chunk-EO3J7GRP.js → chunk-WXSWA3MV.js} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
Notable changes by release date and version. See [trellis.computer/changelog](https://trellis.computer/changelog) for the public site copy.
|
|
4
4
|
|
|
5
|
+
## trellis [3.2.2] — 2026-06-10
|
|
6
|
+
|
|
7
|
+
- **`trellis db serve` on Node:** preloads the default tenant with sql.js / better-sqlite3 before accepting traffic — fixes `create-trellis` scaffolds and any `npx trellis db serve` flow that hit `SqliteKernelBackend requires the Bun runtime`.
|
|
8
|
+
- **`TenantPool.get()` on Node:** fails fast with a preload hint instead of attempting `bun:sqlite`.
|
|
9
|
+
- **`TRELLIS_BACKEND`:** `sqljs` or `better-sqlite` env override for `db serve` and custom hosts (`resolvePoolBackendFromEnv`).
|
|
10
|
+
- **Gitignore:** `.trellis-db/`, `.trellis-db.json`, `.trellis-deploy/` at repo root.
|
|
11
|
+
|
|
5
12
|
## trellis [3.2.0] — 2026-06-08
|
|
6
13
|
|
|
7
14
|
- **Typed realtime SDK:** `trellis/schema` — `defineType`, `entityQuery`, `WhereFilter` operators, nested `InferResolvedType`, server `hydrateAndResolve` on subscription push.
|
package/README.md
CHANGED
|
@@ -1,209 +1,99 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
>
|
|
11
|
-
|
|
12
|
-
| Use Case | How |
|
|
13
|
-
| :----------------------------- | :-------------------------------------------------------------------------------------------------------- |
|
|
14
|
-
| **Agentic State Engine** | Tool registry + decision traces + branching — agents operate on state they can fork, audit, and roll back |
|
|
15
|
-
| **Building Agents End-to-End** | Unified LLM abstraction + context management + RAG + orchestration |
|
|
16
|
-
| **Autonomous Code Editing** | Semantic patching + AST-aware tools + causal history |
|
|
17
|
-
| **Auditable Reasoning** | Immutable op log + decision traces + precedent search |
|
|
1
|
+
<div align="center">
|
|
2
|
+
<img src="./logo.svg" alt="Trellis" width="88" height="88" />
|
|
3
|
+
<h1>Trellis</h1>
|
|
4
|
+
<p><strong>The Agentic Framework</strong> — a local-first, event-sourced graph engine for code, agents, and decisions.</p>
|
|
5
|
+
<p>
|
|
6
|
+
<a href="https://trellis.computer">Docs</a> ·
|
|
7
|
+
<a href="https://studio.trellis.computer">Studio</a> ·
|
|
8
|
+
<a href="https://github.com/trentbrew/trellis">GitHub</a>
|
|
9
|
+
</p>
|
|
10
|
+
</div>
|
|
18
11
|
|
|
19
12
|
---
|
|
20
13
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
Most agent frameworks focus on the _reasoning engine_ (the LLM) but treat _state_ as an afterthought. Trellis reverses this. It is the **System of Record for Decisions**, providing agents with a persistent, queryable, and auditable memory that compounds over time.
|
|
14
|
+
Most agent frameworks pour everything into the reasoning engine and treat state as an afterthought. Trellis inverts that. It is the **system of record for decisions**: a persistent, queryable, auditable memory where every thought, tool call, and file change is an immutable operation in a causal graph. It runs fully offline — servers may relay, accelerate, or back up, but never own your state.
|
|
24
15
|
|
|
25
|
-
**
|
|
16
|
+
- **Durable memory** — every op is content-addressed and never rewritten or deleted.
|
|
17
|
+
- **Explainable by default** — decision traces record not just *what* happened, but *why*.
|
|
18
|
+
- **Safe to explore** — branch state to try multiple paths, then merge or discard.
|
|
19
|
+
- **Realtime** — one write updates current state, durable history, and every live subscriber.
|
|
26
20
|
|
|
27
|
-
|
|
28
|
-
- **Explainability by Default**: Decision traces don't just store _what_ happened, but _why_
|
|
29
|
-
- **Safe Exploration**: Agents can "fork" state to explore multiple paths
|
|
30
|
-
|
|
31
|
-
---
|
|
32
|
-
|
|
33
|
-
## Quick Start
|
|
21
|
+
## Install
|
|
34
22
|
|
|
35
23
|
```bash
|
|
36
|
-
# 1. Install
|
|
37
24
|
npm install -g trellis
|
|
38
|
-
|
|
39
|
-
# 2. Initialize a repository
|
|
40
|
-
mkdir my-project && cd my-project
|
|
41
|
-
trellis init
|
|
42
|
-
|
|
43
|
-
# The init command now offers two paths:
|
|
44
|
-
# ⚡ Minimal Setup: One-shot setup with auto-detected defaults
|
|
45
|
-
# 🔧 Custom Guided Setup: Full control over framework, IDEs, and features
|
|
46
|
-
|
|
47
|
-
# 3. Create content (tracked automatically)
|
|
48
|
-
echo "# My Project" > README.md
|
|
49
|
-
|
|
50
|
-
# 4. Add structured entities
|
|
51
|
-
trellis issue create -t "Bootstrap Visualization"
|
|
52
|
-
trellis milestone create -m "Initial Release"
|
|
53
|
-
|
|
54
|
-
# 5. Launch the live graph explorer (SvelteKit + realtime sidecar)
|
|
55
|
-
trellis ui
|
|
56
|
-
# Legacy VCS-only visualizer: trellis ui --legacy --port 3333
|
|
57
|
-
|
|
58
|
-
# 6. Create coding session with trellis harness
|
|
59
|
-
trellis code
|
|
60
25
|
```
|
|
61
26
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
**Next steps (VCS):**
|
|
65
|
-
|
|
66
|
-
- `trellis status` — Check repository status
|
|
67
|
-
- `trellis log` — View recent history
|
|
68
|
-
- `trellis branch` — List or create branches
|
|
69
|
-
- `trellis milestone` — Create narrative checkpoints
|
|
70
|
-
- `trellis garden` — Discover abandoned work
|
|
71
|
-
- `trellis issue` — Create and track issues
|
|
72
|
-
|
|
73
|
-
**Semantic Substrate (Live local services):**
|
|
74
|
-
|
|
75
|
-
- `trellis web` — Launch local web client / graph visualizer
|
|
76
|
-
- `trellis query` — Run EQL-S semantic queries against your code graph
|
|
77
|
-
- Agent Rules — Active for your IDE. Agents will auto-detect the graph.
|
|
78
|
-
|
|
79
|
-

|
|
80
|
-
|
|
81
|
-
See the [CLI guide](https://trellis.computer/docs/cli) for complete documentation.
|
|
82
|
-
|
|
83
|
-
### Typed SDK + realtime (React, Vue, Svelte)
|
|
84
|
-
|
|
85
|
-
Reference apps and stable entrypoints: [docs/sdk-typed-realtime.md](./docs/sdk-typed-realtime.md).
|
|
27
|
+
## Quick start
|
|
86
28
|
|
|
87
29
|
```bash
|
|
88
|
-
|
|
89
|
-
|
|
30
|
+
mkdir my-project && cd my-project
|
|
31
|
+
trellis init # guided or one-shot setup
|
|
32
|
+
trellis ui # live graph explorer
|
|
33
|
+
trellis code # start an agent coding session
|
|
90
34
|
```
|
|
91
35
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
## CMS Client SDK
|
|
36
|
+
Track work as graph-native entities instead of text commits:
|
|
95
37
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
url: 'http://localhost:4096',
|
|
103
|
-
directory: '/path/to/project',
|
|
104
|
-
});
|
|
38
|
+
```bash
|
|
39
|
+
trellis issue create -t "Bootstrap viz"
|
|
40
|
+
trellis milestone create -m "Initial release"
|
|
41
|
+
trellis garden # discover & revive abandoned work
|
|
42
|
+
trellis query 'find ?e where type = "Task"'
|
|
43
|
+
```
|
|
105
44
|
|
|
106
|
-
|
|
107
|
-
status: 'all',
|
|
108
|
-
expand: ['author'],
|
|
109
|
-
});
|
|
45
|
+
## Build a realtime app
|
|
110
46
|
|
|
111
|
-
|
|
112
|
-
(entries) => {
|
|
113
|
-
console.log(entries);
|
|
114
|
-
},
|
|
115
|
-
{
|
|
116
|
-
status: 'published',
|
|
117
|
-
onError: console.error,
|
|
118
|
-
},
|
|
119
|
-
);
|
|
47
|
+
Scaffold a typed, live-graph app — React, Vue, or Svelte — backed by Trellis:
|
|
120
48
|
|
|
121
|
-
|
|
49
|
+
```bash
|
|
50
|
+
npm create trellis@latest
|
|
122
51
|
```
|
|
123
52
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
- **References**: `expand` resolves reference ids from facts and graph links into nested entries.
|
|
128
|
-
- **Scaffolds**: `scaffoldConsumer({ collection, framework, directory })` generates starter consumer code for vanilla, React, Solid, or Vue.
|
|
129
|
-
|
|
130
|
-
---
|
|
131
|
-
|
|
132
|
-
## What is Trellis?
|
|
53
|
+
```ts
|
|
54
|
+
import { defineType } from 'trellis/schema';
|
|
55
|
+
import { z } from 'zod';
|
|
133
56
|
|
|
134
|
-
|
|
57
|
+
export const Task = defineType('Task', { title: z.string(), done: z.boolean() });
|
|
58
|
+
```
|
|
135
59
|
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
previousHash?: string; // Causal chain link
|
|
143
|
-
vcs: VcsPayload; // Op-specific data
|
|
144
|
-
signature?: string; // Ed25519 signature
|
|
145
|
-
}
|
|
60
|
+
```svelte
|
|
61
|
+
<script>
|
|
62
|
+
import { entitiesStore, mutations } from 'trellis/svelte/typed';
|
|
63
|
+
const tasks = entitiesStore(client, Task); // re-renders live, across every client
|
|
64
|
+
const task = mutations(client, Task);
|
|
65
|
+
</script>
|
|
146
66
|
```
|
|
147
67
|
|
|
148
|
-
|
|
68
|
+
A single mutation produces current state, durable history, and a realtime push to every subscriber — the same write path.
|
|
149
69
|
|
|
150
|
-
|
|
70
|
+
## API surface
|
|
151
71
|
|
|
152
|
-
|
|
153
|
-
| :-------------------- | :--------------------------------------- |
|
|
154
|
-
| `trellis` npm package | Core platform APIs via subpaths |
|
|
155
|
-
| `trellis` CLI | Repository management and automation |
|
|
156
|
-
| VS Code extension | Visual timeline and knowledge navigation |
|
|
72
|
+
The `trellis` package exposes focused subpaths:
|
|
157
73
|
|
|
158
|
-
|
|
74
|
+
| Import | Purpose |
|
|
75
|
+
| --- | --- |
|
|
76
|
+
| `trellis/client` | Local + remote client SDK |
|
|
77
|
+
| `trellis/schema` | `defineType`, typed entities, EQL-S queries |
|
|
78
|
+
| `trellis/{react,vue,svelte}/typed` | Live, schema-typed reads + mutations |
|
|
79
|
+
| `trellis/realtime` | Presence, chat, CRDT text |
|
|
80
|
+
| `trellis/cms` | Read content collections over HTTP |
|
|
81
|
+
| `trellis/server` | HTTP + WebSocket DB server |
|
|
159
82
|
|
|
160
83
|
## Documentation
|
|
161
84
|
|
|
162
|
-
- **[
|
|
163
|
-
- **[The Story](./docs/THE-STORY.md)** —
|
|
164
|
-
- **[
|
|
165
|
-
- **[Architecture](./docs/ARCHITECTURE.md)** — Current package layout and target runtime shape
|
|
166
|
-
- **[Five Pillars](./docs/PILLARS.md)** — Core architectural principles
|
|
167
|
-
- **[Design spec](./docs/DESIGN.md)** — Full architecture specification
|
|
168
|
-
- **[Roadmap](./docs/ROADMAP.md)** — Active Trellis issue and milestone sequence
|
|
169
|
-
- **[Agents guide](./docs/AGENTS.md)** — Building agents on Trellis
|
|
170
|
-
- **[Full documentation](https://trellis.computer)** — Published docs site
|
|
171
|
-
- **[CLI reference](./docs/README-ARCHIVED.md#cli-overview)** — Command details (archived)
|
|
172
|
-
- **[API modules](./docs/README-ARCHIVED.md#module--subpath-guide)** — Subpath imports (archived)
|
|
173
|
-
|
|
174
|
-
---
|
|
85
|
+
- **[trellis.computer](https://trellis.computer)** — full documentation
|
|
86
|
+
- **[The Story](./docs/THE-STORY.md)** — why Trellis exists
|
|
87
|
+
- **[Architecture](./docs/ARCHITECTURE.md)** · **[Design spec](./docs/DESIGN.md)** · **[Roadmap](./docs/ROADMAP.md)**
|
|
175
88
|
|
|
176
|
-
##
|
|
89
|
+
## Develop
|
|
177
90
|
|
|
178
91
|
```bash
|
|
179
|
-
#
|
|
180
|
-
# Requires Bun ≥ 1.0
|
|
181
|
-
|
|
182
|
-
# Install dependencies
|
|
183
|
-
bun install
|
|
184
|
-
|
|
185
|
-
# Run tests
|
|
92
|
+
bun install # requires Bun ≥ 1.0
|
|
186
93
|
bun test
|
|
187
|
-
|
|
188
|
-
# Build for npm
|
|
189
94
|
bun run build
|
|
190
95
|
```
|
|
191
96
|
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
## Status
|
|
195
|
-
|
|
196
|
-
| Phase | Deliverable | Status |
|
|
197
|
-
| :---- | :------------------------- | :----- |
|
|
198
|
-
| P0 | Causal stream + CLI | ✅ |
|
|
199
|
-
| P0.5 | VS Code extension | ✅ |
|
|
200
|
-
| P1 | Git import bridge | ✅ |
|
|
201
|
-
| P2 | Branches, milestones | ✅ |
|
|
202
|
-
| P2.5 | Blob store, modularization | ✅ |
|
|
203
|
-
| P3 | File-level diff + merge | ✅ |
|
|
204
|
-
| P4 | Identity + governance | ✅ |
|
|
205
|
-
| P5 | Idea Garden | ✅ |
|
|
206
|
-
|
|
207
|
-
---
|
|
97
|
+
## License
|
|
208
98
|
|
|
209
|
-
|
|
99
|
+
[AGPL-3.0-or-later](./LICENSE) © Turtle Labs LLC
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Trellis Browser — remote DB, schema, realtime, and live-read primitives.
|
|
3
|
+
*
|
|
4
|
+
* Import from `trellis/browser` in browser applications to avoid Node/server
|
|
5
|
+
* modules such as filesystem config, embedded tenancy, or local SQLite.
|
|
6
|
+
*
|
|
7
|
+
* @module trellis/browser
|
|
8
|
+
*/
|
|
9
|
+
export { TrellisDb, FetchError } from '../client/sdk.browser.js';
|
|
10
|
+
export type { AuthResult, EntityData, ListResult, QueryResult, Subscription, SubscriptionCallback, TrellisDbLocalOptions, TrellisDbOptions, TrellisDbRemoteOptions, UploadResult, } from '../client/sdk.browser.js';
|
|
11
|
+
export { Signal, BatchSignal } from '../client/reactive.js';
|
|
12
|
+
export { liveQuery, liveEntities, liveEntity } from '../client/live.js';
|
|
13
|
+
export type { LiveEntitiesOptions, LiveEntityOptions, LiveResource, ReadState, } from '../client/live.js';
|
|
14
|
+
export { defineType, rel, rollup, formula, entitiesQuery, entityQuery, escapeValue, formatEqlLiteral, isWhereFilter, whereCondition, entityMutations, resolveRelations, inverseForeignKey, bindingEntityId, bindingToEntity, entityRecordToPlain, hydrateBindings, isSparseBinding, } from '../schema/index.js';
|
|
15
|
+
export type { AnyType, ComputedField, ComputedMap, DefineTypeOptions, EntityMutations, InferEntitiesRead, InferEntityRead, InferResolvedType, InferType, Ref, Relation, RelationMap, RelTarget, ResolveSpec, ResolveSpecFor, TrellisType, WhereFilter, WhereInput, WhereOp, WhereValue, } from '../schema/index.js';
|
|
16
|
+
export { RealtimeRoom, MemoryHub, MemoryRealtimeTransport, BroadcastChannelTransport, WebSocketRelayTransport, DurableObjectRelayTransport, joinPresence, createPresenceTransport, PersistentChannel, localStorageChannelStore, DEFAULT_MAX_RECORDS, RealtimeText, REALTIME_PROTOCOL, } from '../realtime/index.js';
|
|
17
|
+
export type { BroadcastChannelTransportOptions, BroadcastEvent, ChannelRecord, ChannelStore, DurableObjectRelayReconnect, DurableObjectRelayTransportOptions, PersistentChannelOptions, PresenceOptions, PresencePeer, PresenceState, RealtimeMessage, RealtimeRoomOptions, RealtimeTransport, RealtimeTextOptions, TextNode, TextOp, WebSocketRelayTransportOptions, } from '../realtime/index.js';
|
|
18
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/browser/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACjE,YAAY,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,YAAY,GACb,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACxE,YAAY,EACV,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EACZ,SAAS,GACV,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,UAAU,EACV,GAAG,EACH,MAAM,EACN,OAAO,EACP,aAAa,EACb,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,OAAO,EACP,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,SAAS,EACT,GAAG,EACH,QAAQ,EACR,WAAW,EACX,SAAS,EACT,WAAW,EACX,cAAc,EACd,WAAW,EACX,WAAW,EACX,UAAU,EACV,OAAO,EACP,UAAU,GACX,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,YAAY,EACZ,SAAS,EACT,uBAAuB,EACvB,yBAAyB,EACzB,uBAAuB,EACvB,2BAA2B,EAC3B,YAAY,EACZ,uBAAuB,EACvB,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,gCAAgC,EAChC,cAAc,EACd,aAAa,EACb,YAAY,EACZ,2BAA2B,EAC3B,kCAAkC,EAClC,wBAAwB,EACxB,eAAe,EACf,YAAY,EACZ,aAAa,EACb,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,QAAQ,EACR,MAAM,EACN,8BAA8B,GAC/B,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import {
|
|
2
|
+
liveEntities,
|
|
3
|
+
liveEntity,
|
|
4
|
+
liveQuery
|
|
5
|
+
} from "../chunk-J3WYZO3Q.js";
|
|
6
|
+
import "../chunk-WXSWA3MV.js";
|
|
7
|
+
import {
|
|
8
|
+
entityMutations
|
|
9
|
+
} from "../chunk-USEINYUL.js";
|
|
10
|
+
import {
|
|
11
|
+
defineType,
|
|
12
|
+
formula,
|
|
13
|
+
rel,
|
|
14
|
+
rollup
|
|
15
|
+
} from "../chunk-44FFQKQX.js";
|
|
16
|
+
import {
|
|
17
|
+
bindingEntityId,
|
|
18
|
+
bindingToEntity,
|
|
19
|
+
entitiesQuery,
|
|
20
|
+
entityQuery,
|
|
21
|
+
entityRecordToPlain,
|
|
22
|
+
escapeValue,
|
|
23
|
+
formatEqlLiteral,
|
|
24
|
+
hydrateBindings,
|
|
25
|
+
inverseForeignKey,
|
|
26
|
+
isSparseBinding,
|
|
27
|
+
isWhereFilter,
|
|
28
|
+
resolveRelations,
|
|
29
|
+
whereCondition
|
|
30
|
+
} from "../chunk-JUEMDWLU.js";
|
|
31
|
+
import {
|
|
32
|
+
FetchError,
|
|
33
|
+
TrellisDb
|
|
34
|
+
} from "../chunk-J2TXUFCZ.js";
|
|
35
|
+
import {
|
|
36
|
+
BroadcastChannelTransport,
|
|
37
|
+
DEFAULT_MAX_RECORDS,
|
|
38
|
+
DurableObjectRelayTransport,
|
|
39
|
+
MemoryHub,
|
|
40
|
+
MemoryRealtimeTransport,
|
|
41
|
+
PersistentChannel,
|
|
42
|
+
REALTIME_PROTOCOL,
|
|
43
|
+
RealtimeRoom,
|
|
44
|
+
RealtimeText,
|
|
45
|
+
WebSocketRelayTransport,
|
|
46
|
+
createPresenceTransport,
|
|
47
|
+
joinPresence,
|
|
48
|
+
localStorageChannelStore
|
|
49
|
+
} from "../chunk-KSU2GW22.js";
|
|
50
|
+
import "../chunk-GFZCJ4EH.js";
|
|
51
|
+
import {
|
|
52
|
+
BatchSignal,
|
|
53
|
+
Signal
|
|
54
|
+
} from "../chunk-UBGUDMUV.js";
|
|
55
|
+
import "../chunk-KFQGP6VL.js";
|
|
56
|
+
export {
|
|
57
|
+
BatchSignal,
|
|
58
|
+
BroadcastChannelTransport,
|
|
59
|
+
DEFAULT_MAX_RECORDS,
|
|
60
|
+
DurableObjectRelayTransport,
|
|
61
|
+
FetchError,
|
|
62
|
+
MemoryHub,
|
|
63
|
+
MemoryRealtimeTransport,
|
|
64
|
+
PersistentChannel,
|
|
65
|
+
REALTIME_PROTOCOL,
|
|
66
|
+
RealtimeRoom,
|
|
67
|
+
RealtimeText,
|
|
68
|
+
Signal,
|
|
69
|
+
TrellisDb,
|
|
70
|
+
WebSocketRelayTransport,
|
|
71
|
+
bindingEntityId,
|
|
72
|
+
bindingToEntity,
|
|
73
|
+
createPresenceTransport,
|
|
74
|
+
defineType,
|
|
75
|
+
entitiesQuery,
|
|
76
|
+
entityMutations,
|
|
77
|
+
entityQuery,
|
|
78
|
+
entityRecordToPlain,
|
|
79
|
+
escapeValue,
|
|
80
|
+
formatEqlLiteral,
|
|
81
|
+
formula,
|
|
82
|
+
hydrateBindings,
|
|
83
|
+
inverseForeignKey,
|
|
84
|
+
isSparseBinding,
|
|
85
|
+
isWhereFilter,
|
|
86
|
+
joinPresence,
|
|
87
|
+
liveEntities,
|
|
88
|
+
liveEntity,
|
|
89
|
+
liveQuery,
|
|
90
|
+
localStorageChannelStore,
|
|
91
|
+
rel,
|
|
92
|
+
resolveRelations,
|
|
93
|
+
rollup,
|
|
94
|
+
whereCondition
|
|
95
|
+
};
|