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.
Files changed (258) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +61 -171
  3. package/dist/browser/index.d.ts +18 -0
  4. package/dist/browser/index.d.ts.map +1 -0
  5. package/dist/browser/index.js +95 -0
  6. package/dist/{chunk-3ETIIPPB.js → chunk-2W3MHTMG.js} +190 -27
  7. package/dist/{chunk-MBNBTJCR.js → chunk-6GEZ6DN5.js} +2 -2
  8. package/dist/chunk-7ZFRVCUE.js +211 -0
  9. package/dist/chunk-CAG4FULI.js +121 -0
  10. package/dist/{chunk-GD5QJXSS.js → chunk-FWRS4CSC.js} +2 -2
  11. package/dist/{chunk-36VSSTL7.js → chunk-GU374KWZ.js} +1 -1
  12. package/dist/{chunk-3GDRZTAW.js → chunk-H6JB3PZ3.js} +1 -1
  13. package/dist/{chunk-ZHVI7BQN.js → chunk-IZX2PLIB.js} +191 -28
  14. package/dist/chunk-J2TXUFCZ.js +289 -0
  15. package/dist/{chunk-BJ7EZ7FP.js → chunk-JHHEXEDM.js} +17 -0
  16. package/dist/{chunk-X762XWVC.js → chunk-KIJITUZB.js} +1 -1
  17. package/dist/{chunk-7WQGTFVJ.js → chunk-L5N5PR2S.js} +130 -75
  18. package/dist/{chunk-BXSTJVE3.js → chunk-N6MYZT4O.js} +2 -1
  19. package/dist/{chunk-KKDRMIV6.js → chunk-QB5ISE47.js} +1 -1
  20. package/dist/{chunk-HO4TURXW.js → chunk-S3XLFZ27.js} +28 -11
  21. package/dist/{chunk-BQBUVMRN.js → chunk-S6GBJ2ZB.js} +25 -14
  22. package/dist/{chunk-IUWVEEOX.js → chunk-SGMDTWJJ.js} +4 -0
  23. package/dist/{chunk-FZVCXDYW.js → chunk-UQISRW6T.js} +65 -12
  24. package/dist/{chunk-B3ZIFA2O.js → chunk-VBYUTRXX.js} +1 -1
  25. package/dist/cli/deploy-cli.d.ts +18 -0
  26. package/dist/cli/deploy-cli.d.ts.map +1 -0
  27. package/dist/cli/index.d.ts +1 -1
  28. package/dist/cli/index.d.ts.map +1 -1
  29. package/dist/cli/index.js +153 -100
  30. package/dist/client/index.browser.d.ts +29 -0
  31. package/dist/client/index.browser.d.ts.map +1 -0
  32. package/dist/client/index.browser.js +64 -0
  33. package/dist/client/index.js +10 -10
  34. package/dist/client/sdk.browser.d.ts +104 -0
  35. package/dist/client/sdk.browser.d.ts.map +1 -0
  36. package/dist/{sdk-LZ7W3EEY.js → client/sdk.browser.js} +2 -2
  37. package/dist/client/sdk.js +1 -1
  38. package/dist/core/index.js +6 -6
  39. package/dist/db/index.js +18 -18
  40. package/dist/db/inspector.js +6 -6
  41. package/dist/db/trellis.css +1 -1
  42. package/dist/decisions/index.js +2 -2
  43. package/dist/deploy-LQ7GUGJ5.js +9 -0
  44. package/dist/{deploy-66EC752W.js → deploy-YNVG5E4E.js} +1 -1
  45. package/dist/deploy-cli-24BCHAXY.js +67 -0
  46. package/dist/deploy-cli-C35HTITO.js +67 -0
  47. package/dist/embeddings/auto-embed.d.ts.map +1 -1
  48. package/dist/embeddings/index.js +1 -1
  49. package/dist/embeddings/store.d.ts.map +1 -1
  50. package/dist/engine.d.ts +27 -7
  51. package/dist/engine.d.ts.map +1 -1
  52. package/dist/index.js +6 -6
  53. package/dist/mcp/server.d.ts.map +1 -1
  54. package/dist/react/index.js +2 -2
  55. package/dist/react/schema-hooks.js +7 -7
  56. package/dist/{remote-manager-SG545WNY.js → remote-manager-ODE3T2KR.js} +5 -5
  57. package/dist/scaffold/seed.d.ts.map +1 -1
  58. package/dist/scaffold/write.d.ts +1 -1
  59. package/dist/scaffold/write.d.ts.map +1 -1
  60. package/dist/schema/index.js +4 -3
  61. package/dist/server/deploy-meta.d.ts +25 -0
  62. package/dist/server/deploy-meta.d.ts.map +1 -0
  63. package/dist/server/deploy.d.ts +7 -2
  64. package/dist/server/deploy.d.ts.map +1 -1
  65. package/dist/server/index.d.ts +5 -2
  66. package/dist/server/index.d.ts.map +1 -1
  67. package/dist/server/index.js +52 -18
  68. package/dist/server/realtime.d.ts +4 -1
  69. package/dist/server/realtime.d.ts.map +1 -1
  70. package/dist/server/server.d.ts +1 -0
  71. package/dist/server/server.d.ts.map +1 -1
  72. package/dist/server/sprites.d.ts +18 -1
  73. package/dist/server/sprites.d.ts.map +1 -1
  74. package/dist/server/tenancy.d.ts +4 -0
  75. package/dist/server/tenancy.d.ts.map +1 -1
  76. package/dist/server/usage-meter.d.ts +53 -0
  77. package/dist/server/usage-meter.d.ts.map +1 -0
  78. package/dist/{server-IGBIIJSF.js → server-MB3OPSPI.js} +6 -1
  79. package/dist/{server-BOH7M4TT.js → server-ZVWGLLRF.js} +7 -2
  80. package/dist/sprites-KQGTGM6W.js +27 -0
  81. package/dist/{tenancy-S676GLID.js → tenancy-NBLLGCNJ.js} +1 -1
  82. package/dist/{tenancy-OP34NFFS.js → tenancy-POMWQP6M.js} +5 -3
  83. package/dist/vcs/index.js +3 -3
  84. package/dist/vcs/types.d.ts +2 -0
  85. package/dist/vcs/types.d.ts.map +1 -1
  86. package/package.json +17 -6
  87. package/dist/better-sqlite-backend-PII64VE6.js +0 -159
  88. package/dist/better-sqlite-backend-VUBVQ7SN.js +0 -209
  89. package/dist/better-sqlite-backend-Y3AQN65E.js +0 -159
  90. package/dist/better-sqlite-backend-Y3M7DXOX.js +0 -159
  91. package/dist/boot-middleware-FJDGVUM4.js +0 -9
  92. package/dist/boot-middleware-MLJUTLUM.js +0 -9
  93. package/dist/boot-middleware-ZZPDZNYR.js +0 -9
  94. package/dist/chunk-276LKLZR.js +0 -359
  95. package/dist/chunk-2CX5UCRV.js +0 -111
  96. package/dist/chunk-2ESYSVXG.js +0 -48
  97. package/dist/chunk-2I5JU73Y.js +0 -340
  98. package/dist/chunk-2UNSRRNB.js +0 -171
  99. package/dist/chunk-335UEHQR.js +0 -907
  100. package/dist/chunk-4CF2L46N.js +0 -29
  101. package/dist/chunk-5CINODKT.js +0 -41
  102. package/dist/chunk-5ESGWJ5L.js +0 -45
  103. package/dist/chunk-5FGLQGMF.js +0 -1676
  104. package/dist/chunk-5IQZFITY.js +0 -357
  105. package/dist/chunk-5JWFAQDW.js +0 -150
  106. package/dist/chunk-62UHTVU3.js +0 -141
  107. package/dist/chunk-66UJQT2I.js +0 -35
  108. package/dist/chunk-6RNNVOAS.js +0 -355
  109. package/dist/chunk-6X23PZ6H.js +0 -969
  110. package/dist/chunk-7C7LL6MB.js +0 -315
  111. package/dist/chunk-7F4HM3JG.js +0 -394
  112. package/dist/chunk-7KJ7T4D3.js +0 -910
  113. package/dist/chunk-7QQQNUB5.js +0 -92
  114. package/dist/chunk-7QWJBS72.js +0 -946
  115. package/dist/chunk-7R36OZK3.js +0 -957
  116. package/dist/chunk-7UPKCOHE.js +0 -946
  117. package/dist/chunk-A3BONW34.js +0 -35
  118. package/dist/chunk-AHMDVHBL.js +0 -141
  119. package/dist/chunk-AW6A4OZY.js +0 -171
  120. package/dist/chunk-BJ5EKCJ5.js +0 -458
  121. package/dist/chunk-BRGYDO7D.js +0 -223
  122. package/dist/chunk-C5KPSEDN.js +0 -359
  123. package/dist/chunk-CCTNYTUC.js +0 -940
  124. package/dist/chunk-CYQ2OVD2.js +0 -35
  125. package/dist/chunk-DDAK7YOE.js +0 -299
  126. package/dist/chunk-DRILKBY6.js +0 -965
  127. package/dist/chunk-DXE24HNN.js +0 -45
  128. package/dist/chunk-E7ICUNW7.js +0 -945
  129. package/dist/chunk-EAL2PUOE.js +0 -10022
  130. package/dist/chunk-ELT7MLZB.js +0 -109
  131. package/dist/chunk-EWEIRF6G.js +0 -171
  132. package/dist/chunk-F5VDGQJC.js +0 -120
  133. package/dist/chunk-FCPL3IEQ.js +0 -98
  134. package/dist/chunk-FDPKYSV7.js +0 -96
  135. package/dist/chunk-FES3TC24.js +0 -171
  136. package/dist/chunk-FOWKR5TW.js +0 -129
  137. package/dist/chunk-G3XIHPSQ.js +0 -361
  138. package/dist/chunk-GKJLYLVU.js +0 -359
  139. package/dist/chunk-GNXHXNVQ.js +0 -113
  140. package/dist/chunk-GSR6ILTM.js +0 -277
  141. package/dist/chunk-GWRIMRSX.js +0 -45
  142. package/dist/chunk-H72UW2HJ.js +0 -45
  143. package/dist/chunk-HGI74PXB.js +0 -7417
  144. package/dist/chunk-HGRA37LO.js +0 -145
  145. package/dist/chunk-HXSRQO3L.js +0 -145
  146. package/dist/chunk-IG2X2BVO.js +0 -373
  147. package/dist/chunk-IIJVDD54.js +0 -373
  148. package/dist/chunk-IX4BBOIT.js +0 -394
  149. package/dist/chunk-IXU4RMQM.js +0 -349
  150. package/dist/chunk-J6OUIION.js +0 -857
  151. package/dist/chunk-K46RNFDE.js +0 -171
  152. package/dist/chunk-KAGU2XMY.js +0 -359
  153. package/dist/chunk-KCVYJNVX.js +0 -394
  154. package/dist/chunk-KYLIQ3YI.js +0 -399
  155. package/dist/chunk-KZYJJIRN.js +0 -946
  156. package/dist/chunk-LFOX744K.js +0 -96
  157. package/dist/chunk-LHOVJEWR.js +0 -7403
  158. package/dist/chunk-LOPXTPF3.js +0 -120
  159. package/dist/chunk-LZR3VIFU.js +0 -907
  160. package/dist/chunk-MCKGQKYU.js +0 -15
  161. package/dist/chunk-MU6EOS6F.js +0 -0
  162. package/dist/chunk-MWRQ2TXT.js +0 -357
  163. package/dist/chunk-NO73OK2I.js +0 -102
  164. package/dist/chunk-NPE2YJHK.js +0 -394
  165. package/dist/chunk-NSDXU6QX.js +0 -2213
  166. package/dist/chunk-NXIRDSZ6.js +0 -145
  167. package/dist/chunk-NZWFNHCS.js +0 -407
  168. package/dist/chunk-OB4CMMX6.js +0 -260
  169. package/dist/chunk-OBKU74FU.js +0 -7411
  170. package/dist/chunk-OQNDWRDE.js +0 -145
  171. package/dist/chunk-OVWAJMB6.js +0 -394
  172. package/dist/chunk-PDHLBTTD.js +0 -45
  173. package/dist/chunk-PEQNRKLG.js +0 -210
  174. package/dist/chunk-QERIS7QY.js +0 -7403
  175. package/dist/chunk-QHA2DM3C.js +0 -373
  176. package/dist/chunk-QLM4HSYC.js +0 -45
  177. package/dist/chunk-S2OT3TQJ.js +0 -283
  178. package/dist/chunk-S5PHSN5K.js +0 -907
  179. package/dist/chunk-SIAA4J6H.js +0 -21
  180. package/dist/chunk-SQBNLUIA.js +0 -171
  181. package/dist/chunk-STLN6A6B.js +0 -355
  182. package/dist/chunk-U7HV7GU2.js +0 -17
  183. package/dist/chunk-UGZHOGRA.js +0 -39
  184. package/dist/chunk-UICF66FS.js +0 -359
  185. package/dist/chunk-UK3EQREE.js +0 -1078
  186. package/dist/chunk-UPKPURVY.js +0 -394
  187. package/dist/chunk-URC74VCN.js +0 -959
  188. package/dist/chunk-V3G7Q3QQ.js +0 -102
  189. package/dist/chunk-VUJ6SA55.js +0 -303
  190. package/dist/chunk-VUJQLIML.js +0 -141
  191. package/dist/chunk-VWKLKLYB.js +0 -267
  192. package/dist/chunk-VYC3RZMK.js +0 -277
  193. package/dist/chunk-WMERMSWI.js +0 -154
  194. package/dist/chunk-WMR777PO.js +0 -2213
  195. package/dist/chunk-X46IECAC.js +0 -517
  196. package/dist/chunk-XEN3OEYY.js +0 -2234
  197. package/dist/chunk-XZQ66K7A.js +0 -124
  198. package/dist/chunk-YY3GF7DH.js +0 -7411
  199. package/dist/chunk-ZE5R3H4C.js +0 -907
  200. package/dist/chunk-ZMN5LUB7.js +0 -7411
  201. package/dist/chunk-ZUV4MD5U.js +0 -94
  202. package/dist/config-KMY6RRK3.js +0 -19
  203. package/dist/config-VDMK2DUJ.js +0 -19
  204. package/dist/deploy-SO7AFK6L.js +0 -9
  205. package/dist/engine-7GXBM4IT.js +0 -7
  206. package/dist/engine-NSR6BIF7.js +0 -7
  207. package/dist/factory-2P64OC7M.js +0 -34
  208. package/dist/factory-YP4ZZK5K.js +0 -34
  209. package/dist/import-AJLYHFIA.js +0 -10
  210. package/dist/launch-explorer-AI6L2AWJ.js +0 -91
  211. package/dist/query-GJL3CVGN.js +0 -31
  212. package/dist/query-MBJSK3EB.js +0 -31
  213. package/dist/query-TJHEVSKL.js +0 -31
  214. package/dist/query-WUIKOHPE.js +0 -524
  215. package/dist/remote-manager-BLJZ6KF6.js +0 -224
  216. package/dist/remote-manager-BPYE46SI.js +0 -223
  217. package/dist/remote-manager-FMESEAFA.js +0 -224
  218. package/dist/remote-manager-K2WZ5RHY.js +0 -223
  219. package/dist/remote-manager-SG5PQKCH.js +0 -224
  220. package/dist/remote-manager-WGP6MIQZ.js +0 -224
  221. package/dist/sdk-3KBB3E6V.js +0 -16
  222. package/dist/sdk-4ZQO6UTU.js +0 -16
  223. package/dist/sdk-6JA6GV3G.js +0 -16
  224. package/dist/sdk-6VTP5UTZ.js +0 -16
  225. package/dist/sdk-7VS6TYCD.js +0 -16
  226. package/dist/sdk-HQ3FTLRT.js +0 -16
  227. package/dist/sdk-HZ7NU3XE.js +0 -15
  228. package/dist/sdk-KBQE2OXT.js +0 -16
  229. package/dist/sdk-MSCDZ7JU.js +0 -15
  230. package/dist/sdk-WNZOGO3S.js +0 -15
  231. package/dist/sdk-YLV33ZCW.js +0 -9
  232. package/dist/sdk-ZSUD2LLJ.js +0 -16
  233. package/dist/server-AFXFFBWA.js +0 -11
  234. package/dist/server-AGHC4VUL.js +0 -11
  235. package/dist/server-DBUY2KY5.js +0 -11
  236. package/dist/server-GWBQJPRG.js +0 -11
  237. package/dist/server-JZZFULVU.js +0 -11
  238. package/dist/server-L5XAF4M5.js +0 -11
  239. package/dist/server-NYFUHANA.js +0 -12
  240. package/dist/server-OABUB2LO.js +0 -12
  241. package/dist/server-P2CKZWWV.js +0 -12
  242. package/dist/sprites-XVSMQLSI.js +0 -15
  243. package/dist/sql-wasm-FORCZFHZ.js +0 -2148
  244. package/dist/sql-wasm-JZH76RLO.js +0 -2148
  245. package/dist/sqljs-backend-CJQOIQYE.js +0 -266
  246. package/dist/sqljs-backend-KWXBUDUO.js +0 -266
  247. package/dist/state-demo.bundle.js +0 -1033
  248. package/dist/tenancy-CBWYEVUB.js +0 -11
  249. package/dist/tenancy-FO6WVYFN.js +0 -13
  250. package/dist/tenancy-FWDBESMX.js +0 -14
  251. package/dist/tenancy-HGPIS5QA.js +0 -13
  252. package/dist/tenancy-HXFALA37.js +0 -14
  253. package/dist/tenancy-V7ARWNNV.js +0 -14
  254. package/dist/tenancy-ZDN4GXK5.js +0 -13
  255. package/dist/tenancy-ZT5VMY7B.js +0 -14
  256. package/dist/vm-config-YZRJ3KUB.js +0 -21
  257. /package/dist/{chunk-2BRTCEHB.js → chunk-PZ4XYZ4J.js} +0 -0
  258. /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
- title: Trellis
3
- description: The Agentic Framework — a local-first semantic graph OS for code, agents, and decisions.
4
- created: 2026-05-30
5
- updated: 2026-06-05
6
- ---
7
-
8
- # Trellis
9
-
10
- > **The Agentic Framework**
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
- ## Why Trellis?
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
- **[Read the story →](./docs/THE-STORY.md)**
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
- - **Durable Memory**: Every thought, tool call, and file change is an immutable operation in a causal graph
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
- After running `trellis init`, you'll see a progressive disclosure success screen:
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
- ![Trellis Demo](./trellis-opencode.gif)
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
- just graph-nav # typed live nav — examples/graph-nav
89
- just universal-presence # presence, chat, text — examples/universal-presence
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
- Use `trellis/cms` from browser apps to read content from a Trellis-compatible HTTP server such as opencode at `http://localhost:4096`.
97
-
98
- ```typescript
99
- import { createCmsClient } from 'trellis/cms';
100
-
101
- const cms = createCmsClient({
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
- const posts = await cms.collection('blogpost').list({
107
- status: 'all',
108
- expand: ['author'],
109
- });
45
+ ## Build a realtime app
110
46
 
111
- const off = cms.collection('blogpost').subscribe(
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
- off();
49
+ ```bash
50
+ npm create trellis@latest
122
51
  ```
123
52
 
124
- - **Collections**: `cms.collections()` returns `TypeSchema` collections marked with `cms=true`.
125
- - **Schema**: `cms.collection('blogpost').schema()` returns field definitions including types, labels, requirements, formulas, and targets.
126
- - **Normalized keys**: `cms.collection('blogpost')` matches stored entity types like `BlogPost`.
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
- Trellis is an **event-sourced causal graph engine** that unifies version control, knowledge management, and semantic analysis. Every action is an immutable operation in a causal stream:
57
+ export const Task = defineType('Task', { title: z.string(), done: z.boolean() });
58
+ ```
135
59
 
136
- ```typescript
137
- interface VcsOp {
138
- hash: string; // content-addressed
139
- kind: VcsOpKind; // e.g. 'vcs:fileModify'
140
- timestamp: string; // ISO 8601
141
- agentId: string; // Author identity
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
- Ops are written to `.trellis/ops.json` and **never rewritten or deleted**.
68
+ A single mutation produces current state, durable history, and a realtime push to every subscriber — the same write path.
149
69
 
150
- ### Platform Surfaces
70
+ ## API surface
151
71
 
152
- | Surface | Purpose |
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
- - **[Documentation hub](./docs/README.md)** — Canonical docs index for Trellis
163
- - **[The Story](./docs/THE-STORY.md)** — Why Trellis exists
164
- - **[Vision](./docs/VISION.md)** Local-first agentic OS framing
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
- ## Development
89
+ ## Develop
177
90
 
178
91
  ```bash
179
- # Prerequisites
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
- _For comprehensive documentation including detailed CLI commands, API examples, and subsystem guides, see [docs/README-ARCHIVED.md](./docs/README-ARCHIVED.md)._
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
+ };