trellis 3.1.35 → 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 (287) hide show
  1. package/CHANGELOG.md +23 -5
  2. package/README.md +63 -156
  3. package/bin/trellis.mjs +2 -75
  4. package/dist/{better-sqlite-backend-ahx5p0br.js → better-sqlite-backend-2P4F6AOJ.js} +91 -29
  5. package/dist/boot-middleware-MHLHFCUC.js +9 -0
  6. package/dist/browser/index.d.ts +18 -0
  7. package/dist/browser/index.d.ts.map +1 -0
  8. package/dist/browser/index.js +95 -0
  9. package/dist/{index-53f3b8p8.js → chunk-2W3MHTMG.js} +552 -213
  10. package/dist/chunk-44FFQKQX.js +142 -0
  11. package/dist/chunk-4HYPLFJD.js +150 -0
  12. package/dist/chunk-4XIVMVHC.js +361 -0
  13. package/dist/{index-yp88he8n.js → chunk-6CTA6MCE.js} +88 -64
  14. package/dist/chunk-6GEZ6DN5.js +394 -0
  15. package/dist/chunk-7ZFRVCUE.js +211 -0
  16. package/dist/chunk-CAG4FULI.js +121 -0
  17. package/dist/chunk-FF36CQHZ.js +61 -0
  18. package/dist/{index-h32txmxe.js → chunk-FKQO5A3H.js} +6 -13
  19. package/dist/{index-nq520y6k.js → chunk-FWRS4CSC.js} +46 -32
  20. package/dist/chunk-GFZCJ4EH.js +108 -0
  21. package/dist/chunk-GLM4HGN4.js +55 -0
  22. package/dist/{index-4cdr7x2x.js → chunk-GU374KWZ.js} +182 -111
  23. package/dist/chunk-H6JB3PZ3.js +45 -0
  24. package/dist/chunk-IZX2PLIB.js +1240 -0
  25. package/dist/chunk-J2TXUFCZ.js +289 -0
  26. package/dist/chunk-J3WYZO3Q.js +211 -0
  27. package/dist/{index-xzym9w0m.js → chunk-JA7AIHRK.js} +12 -7
  28. package/dist/chunk-JHHEXEDM.js +162 -0
  29. package/dist/chunk-JUEMDWLU.js +233 -0
  30. package/dist/chunk-KFQGP6VL.js +33 -0
  31. package/dist/chunk-KIJITUZB.js +419 -0
  32. package/dist/{index-4wxa8xz4.js → chunk-KQ4A2D2P.js} +162 -23
  33. package/dist/chunk-KSU2GW22.js +958 -0
  34. package/dist/{index-rv1p47gp.js → chunk-L5N5PR2S.js} +3015 -2480
  35. package/dist/{index-h9e2efx4.js → chunk-LNUIGRDZ.js} +71 -55
  36. package/dist/{index-skhn0agf.js → chunk-MLC5BUYO.js} +19 -20
  37. package/dist/chunk-MPXUVGT3.js +104 -0
  38. package/dist/chunk-N6MYZT4O.js +68 -0
  39. package/dist/chunk-O2AV5WMN.js +48 -0
  40. package/dist/chunk-PZ4XYZ4J.js +143 -0
  41. package/dist/chunk-QB5ISE47.js +419 -0
  42. package/dist/chunk-RSWUFTO2.js +857 -0
  43. package/dist/chunk-S3XLFZ27.js +1095 -0
  44. package/dist/{index-w5wccer3.js → chunk-S6GBJ2ZB.js} +28 -12
  45. package/dist/{index-7pjz3tsy.js → chunk-SGMDTWJJ.js} +57 -15
  46. package/dist/chunk-SPSPV5BC.js +390 -0
  47. package/dist/chunk-TCKXSOBP.js +123 -0
  48. package/dist/chunk-UBGUDMUV.js +59 -0
  49. package/dist/{index-wt8rz4gn.js → chunk-UQISRW6T.js} +97 -26
  50. package/dist/chunk-USEINYUL.js +12 -0
  51. package/dist/{index-bmyt7k8n.js → chunk-UZRUP7QW.js} +12 -4
  52. package/dist/{index-xhcp6xrn.js → chunk-VBYUTRXX.js} +695 -514
  53. package/dist/{index-vkpkfwhq.js → chunk-VDAKEOML.js} +234 -194
  54. package/dist/chunk-WXSWA3MV.js +0 -0
  55. package/dist/{index-n9f2qyh5.js → chunk-X5FLTRUB.js} +55 -33
  56. package/dist/{index-h7zxhhhh.js → chunk-XMQ7G77X.js} +46 -38
  57. package/dist/{index-w7ng765c.js → chunk-YCM7ZYEZ.js} +102 -49
  58. package/dist/cli/deploy-cli.d.ts +18 -0
  59. package/dist/cli/deploy-cli.d.ts.map +1 -0
  60. package/dist/cli/errors.d.ts +6 -0
  61. package/dist/cli/errors.d.ts.map +1 -0
  62. package/dist/cli/examples.d.ts +23 -0
  63. package/dist/cli/examples.d.ts.map +1 -0
  64. package/dist/cli/index.d.ts +1 -1
  65. package/dist/cli/index.d.ts.map +1 -1
  66. package/dist/cli/index.js +2426 -6225
  67. package/dist/client/index.browser.d.ts +29 -0
  68. package/dist/client/index.browser.d.ts.map +1 -0
  69. package/dist/client/index.browser.js +64 -0
  70. package/dist/client/index.d.ts +6 -1
  71. package/dist/client/index.d.ts.map +1 -1
  72. package/dist/client/index.js +41 -21
  73. package/dist/client/live.d.ts +67 -0
  74. package/dist/client/live.d.ts.map +1 -0
  75. package/dist/client/reactive.d.ts +31 -0
  76. package/dist/client/reactive.d.ts.map +1 -0
  77. package/dist/client/sdk.browser.d.ts +104 -0
  78. package/dist/client/sdk.browser.d.ts.map +1 -0
  79. package/dist/client/sdk.browser.js +9 -0
  80. package/dist/client/sdk.d.ts +26 -2
  81. package/dist/client/sdk.d.ts.map +1 -1
  82. package/dist/client/sdk.js +9 -0
  83. package/dist/client/vcs-client.d.ts +129 -0
  84. package/dist/client/vcs-client.d.ts.map +1 -0
  85. package/dist/cms/index.js +171 -163
  86. package/dist/{config-8hczw0rs.js → config-PFTP67TR.js} +8 -9
  87. package/dist/core/computation/index.d.ts +5 -0
  88. package/dist/core/computation/index.d.ts.map +1 -0
  89. package/dist/core/computation/rollup.d.ts +18 -0
  90. package/dist/core/computation/rollup.d.ts.map +1 -0
  91. package/dist/core/index.d.ts +5 -0
  92. package/dist/core/index.d.ts.map +1 -1
  93. package/dist/core/index.js +171 -104
  94. package/dist/core/kernel/boot-middleware.d.ts +10 -0
  95. package/dist/core/kernel/boot-middleware.d.ts.map +1 -0
  96. package/dist/core/kernel/logic-middleware.d.ts +7 -1
  97. package/dist/core/kernel/logic-middleware.d.ts.map +1 -1
  98. package/dist/core/kernel/trellis-kernel.d.ts.map +1 -1
  99. package/dist/core/ontology/types.d.ts +5 -0
  100. package/dist/core/ontology/types.d.ts.map +1 -1
  101. package/dist/core/persist/better-sqlite-backend.d.ts +9 -2
  102. package/dist/core/persist/better-sqlite-backend.d.ts.map +1 -1
  103. package/dist/core/persist/factory.d.ts +6 -7
  104. package/dist/core/persist/factory.d.ts.map +1 -1
  105. package/dist/core/persist/factory.js +2 -3
  106. package/dist/core/persist/sqljs-backend.js +2 -3
  107. package/dist/db/index.d.ts +4 -1
  108. package/dist/db/index.d.ts.map +1 -1
  109. package/dist/db/index.js +67 -54
  110. package/dist/db/inspector.js +11 -19
  111. package/dist/db/trellis.css +1 -1
  112. package/dist/decisions/index.js +9 -10
  113. package/dist/deploy-LQ7GUGJ5.js +9 -0
  114. package/dist/deploy-YNVG5E4E.js +9 -0
  115. package/dist/deploy-cli-24BCHAXY.js +67 -0
  116. package/dist/deploy-cli-C35HTITO.js +67 -0
  117. package/dist/embeddings/auto-embed.d.ts +2 -2
  118. package/dist/embeddings/auto-embed.d.ts.map +1 -1
  119. package/dist/embeddings/index.js +20 -22
  120. package/dist/embeddings/search.d.ts +2 -1
  121. package/dist/embeddings/search.d.ts.map +1 -1
  122. package/dist/embeddings/store.d.ts +25 -4
  123. package/dist/embeddings/store.d.ts.map +1 -1
  124. package/dist/engine.d.ts +59 -19
  125. package/dist/engine.d.ts.map +1 -1
  126. package/dist/import-UZEKXU3B.js +10 -0
  127. package/dist/index.js +102 -93
  128. package/dist/launch-explorer-HZ4ZJA4X.js +95 -0
  129. package/dist/links/index.js +24 -26
  130. package/dist/mcp/server.d.ts.map +1 -1
  131. package/dist/plugins/agent-memory/index.js +316 -0
  132. package/dist/plugins/idea-garden/index.js +165 -0
  133. package/dist/plugins/plan-approval/index.js +579 -0
  134. package/dist/plugins/proactive-watcher/index.js +194 -0
  135. package/dist/{index-2r4jxwnb.js → query-XYLTJYSA.js} +14 -15
  136. package/dist/react/index.js +39 -70
  137. package/dist/react/realtime.js +11 -0
  138. package/dist/react/schema-hooks.js +87 -0
  139. package/dist/realtime/broadcast-channel-transport.d.ts +43 -0
  140. package/dist/realtime/broadcast-channel-transport.d.ts.map +1 -0
  141. package/dist/realtime/durable-object-relay-transport.d.ts +96 -0
  142. package/dist/realtime/durable-object-relay-transport.d.ts.map +1 -0
  143. package/dist/realtime/index.d.ts +44 -0
  144. package/dist/realtime/index.d.ts.map +1 -0
  145. package/dist/realtime/index.js +40 -0
  146. package/dist/realtime/memory-hub.d.ts +32 -0
  147. package/dist/realtime/memory-hub.d.ts.map +1 -0
  148. package/dist/realtime/persistent-channel.d.ts +105 -0
  149. package/dist/realtime/persistent-channel.d.ts.map +1 -0
  150. package/dist/realtime/presence.d.ts +73 -0
  151. package/dist/realtime/presence.d.ts.map +1 -0
  152. package/dist/realtime/relay-persistence.d.ts +37 -0
  153. package/dist/realtime/relay-persistence.d.ts.map +1 -0
  154. package/dist/realtime/relay-persistence.js +107 -0
  155. package/dist/realtime/relay-server.d.ts +103 -0
  156. package/dist/realtime/relay-server.d.ts.map +1 -0
  157. package/dist/realtime/room.d.ts +98 -0
  158. package/dist/realtime/room.d.ts.map +1 -0
  159. package/dist/realtime/text.d.ts +73 -0
  160. package/dist/realtime/text.d.ts.map +1 -0
  161. package/dist/realtime/types.d.ts +89 -0
  162. package/dist/realtime/types.d.ts.map +1 -0
  163. package/dist/realtime/websocket-relay-transport.d.ts +28 -0
  164. package/dist/realtime/websocket-relay-transport.d.ts.map +1 -0
  165. package/dist/realtime.bundle.js +1100 -0
  166. package/dist/{remote-manager-xvbg4230.js → remote-manager-ODE3T2KR.js} +25 -15
  167. package/dist/scaffold/seed.d.ts.map +1 -1
  168. package/dist/scaffold/write.d.ts +1 -1
  169. package/dist/scaffold/write.d.ts.map +1 -1
  170. package/dist/schema/define.d.ts +137 -0
  171. package/dist/schema/define.d.ts.map +1 -0
  172. package/dist/schema/entity-projection.d.ts +34 -0
  173. package/dist/schema/entity-projection.d.ts.map +1 -0
  174. package/dist/schema/eql.d.ts +46 -0
  175. package/dist/schema/eql.d.ts.map +1 -0
  176. package/dist/schema/index.d.ts +21 -0
  177. package/dist/schema/index.d.ts.map +1 -0
  178. package/dist/schema/index.js +46 -0
  179. package/dist/schema/kernel-resolve.d.ts +21 -0
  180. package/dist/schema/kernel-resolve.d.ts.map +1 -0
  181. package/dist/schema/mutations.d.ts +20 -0
  182. package/dist/schema/mutations.d.ts.map +1 -0
  183. package/dist/schema/resolve.d.ts +21 -0
  184. package/dist/schema/resolve.d.ts.map +1 -0
  185. package/dist/server/deploy-meta.d.ts +25 -0
  186. package/dist/server/deploy-meta.d.ts.map +1 -0
  187. package/dist/server/deploy.d.ts +7 -2
  188. package/dist/server/deploy.d.ts.map +1 -1
  189. package/dist/server/index.d.ts +7 -2
  190. package/dist/server/index.d.ts.map +1 -1
  191. package/dist/server/index.js +100 -58
  192. package/dist/server/node-adapter.js +5 -104
  193. package/dist/server/realtime.d.ts +14 -3
  194. package/dist/server/realtime.d.ts.map +1 -1
  195. package/dist/server/server.d.ts +8 -16
  196. package/dist/server/server.d.ts.map +1 -1
  197. package/dist/server/sprites.d.ts +18 -1
  198. package/dist/server/sprites.d.ts.map +1 -1
  199. package/dist/server/tenancy.d.ts +4 -0
  200. package/dist/server/tenancy.d.ts.map +1 -1
  201. package/dist/server/usage-meter.d.ts +53 -0
  202. package/dist/server/usage-meter.d.ts.map +1 -0
  203. package/dist/server-MB3OPSPI.js +18 -0
  204. package/dist/server-ZVWGLLRF.js +18 -0
  205. package/dist/sprites-KQGTGM6W.js +27 -0
  206. package/dist/{sprites-vc4qbrp1.js → sprites-RU3E4XQN.js} +6 -7
  207. package/dist/svelte/index.d.ts +17 -0
  208. package/dist/svelte/index.d.ts.map +1 -0
  209. package/dist/svelte/index.js +51 -0
  210. package/dist/svelte/schema-hooks.d.ts +45 -0
  211. package/dist/svelte/schema-hooks.d.ts.map +1 -0
  212. package/dist/svelte/schema-hooks.js +71 -0
  213. package/dist/svelte/stores.d.ts +78 -0
  214. package/dist/svelte/stores.d.ts.map +1 -0
  215. package/dist/sync/http-transport.d.ts +3 -3
  216. package/dist/sync/http-transport.d.ts.map +1 -1
  217. package/dist/sync/index.d.ts +15 -1
  218. package/dist/sync/index.d.ts.map +1 -1
  219. package/dist/sync/index.js +617 -0
  220. package/dist/sync/memory-room.d.ts +37 -0
  221. package/dist/sync/memory-room.d.ts.map +1 -0
  222. package/dist/sync/memory-transport.d.ts +3 -3
  223. package/dist/sync/memory-transport.d.ts.map +1 -1
  224. package/dist/sync/partykit-room.d.ts +40 -0
  225. package/dist/sync/partykit-room.d.ts.map +1 -0
  226. package/dist/sync/partykit-transport.d.ts +84 -0
  227. package/dist/sync/partykit-transport.d.ts.map +1 -0
  228. package/dist/sync/room-core.d.ts +53 -0
  229. package/dist/sync/room-core.d.ts.map +1 -0
  230. package/dist/sync/sync-engine.d.ts +40 -2
  231. package/dist/sync/sync-engine.d.ts.map +1 -1
  232. package/dist/sync/sync-room-server.d.ts +39 -0
  233. package/dist/sync/sync-room-server.d.ts.map +1 -0
  234. package/dist/sync/types.d.ts +70 -3
  235. package/dist/sync/types.d.ts.map +1 -1
  236. package/dist/sync/vcs-sync-peer.d.ts +63 -0
  237. package/dist/sync/vcs-sync-peer.d.ts.map +1 -0
  238. package/dist/sync/ws-transport.d.ts +2 -2
  239. package/dist/sync/ws-transport.d.ts.map +1 -1
  240. package/dist/tenancy-NBLLGCNJ.js +14 -0
  241. package/dist/tenancy-POMWQP6M.js +16 -0
  242. package/dist/ui/client.html +355 -67
  243. package/dist/ui/launch-explorer.d.ts +22 -0
  244. package/dist/ui/launch-explorer.d.ts.map +1 -0
  245. package/dist/ui/server.d.ts +1 -1
  246. package/dist/ui/server.d.ts.map +1 -1
  247. package/dist/vcs/blob-store.d.ts.map +1 -1
  248. package/dist/vcs/idb-op-log.d.ts +67 -0
  249. package/dist/vcs/idb-op-log.d.ts.map +1 -0
  250. package/dist/vcs/index.d.ts +1 -0
  251. package/dist/vcs/index.d.ts.map +1 -1
  252. package/dist/vcs/index.js +81 -72
  253. package/dist/vcs/issue.d.ts +22 -5
  254. package/dist/vcs/issue.d.ts.map +1 -1
  255. package/dist/vcs/lane-materialize.d.ts +5 -0
  256. package/dist/vcs/lane-materialize.d.ts.map +1 -1
  257. package/dist/vcs/op-log.d.ts +28 -2
  258. package/dist/vcs/op-log.d.ts.map +1 -1
  259. package/dist/vcs/ops.d.ts +10 -0
  260. package/dist/vcs/ops.d.ts.map +1 -1
  261. package/dist/vcs/types.d.ts +2 -0
  262. package/dist/vcs/types.d.ts.map +1 -1
  263. package/dist/{vm-config-6xhsj6b3.js → vm-config-JI4OXKDQ.js} +9 -10
  264. package/dist/vue/hooks.d.ts +64 -0
  265. package/dist/vue/hooks.d.ts.map +1 -0
  266. package/dist/vue/index.d.ts +19 -0
  267. package/dist/vue/index.d.ts.map +1 -0
  268. package/dist/vue/index.js +59 -0
  269. package/dist/vue/schema-hooks.d.ts +41 -0
  270. package/dist/vue/schema-hooks.d.ts.map +1 -0
  271. package/dist/vue/schema-hooks.js +64 -0
  272. package/package.json +130 -17
  273. package/dist/deploy-999q207z.js +0 -10
  274. package/dist/engine-y0724kjq.js +0 -8
  275. package/dist/import-s2b8e0ft.js +0 -11
  276. package/dist/index-a76rekgs.js +0 -67
  277. package/dist/index-c9h37r6h.js +0 -1
  278. package/dist/index-hr9qvv77.js +0 -860
  279. package/dist/index-k5b0xskw.js +0 -1
  280. package/dist/index-nzb3am4f.js +0 -80
  281. package/dist/index-wncptktd.js +0 -292
  282. package/dist/index-y6a4kj0p.js +0 -43
  283. package/dist/index-yhwjgfvj.js +0 -342
  284. package/dist/sdk-bepky0xs.js +0 -16
  285. package/dist/server-szdjx0nt.js +0 -13
  286. package/dist/sqlite-backend-0vsmc6qj.js +0 -8
  287. package/dist/tenancy-pjm32b4v.js +0 -14
package/CHANGELOG.md CHANGED
@@ -1,6 +1,24 @@
1
1
  # Changelog
2
2
 
3
- ## 3.1.32
3
+ Notable changes by release date and version. See [trellis.computer/changelog](https://trellis.computer/changelog) for the public site copy.
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
+
12
+ ## trellis [3.2.0] — 2026-06-08
13
+
14
+ - **Typed realtime SDK:** `trellis/schema` — `defineType`, `entityQuery`, `WhereFilter` operators, nested `InferResolvedType`, server `hydrateAndResolve` on subscription push.
15
+ - **Live client:** `liveEntities` / `liveEntity` in `trellis/client` with id-scoped subscriptions (`entityQuery`) instead of full-type scans.
16
+ - **Framework hooks:** `trellis/svelte/typed`, `trellis/vue/typed`, `trellis/react/typed` — typed `useEntities` / `useEntity` adapters.
17
+ - **Studio plugin exports:** `trellis/plugins/plan-approval`, `proactive-watcher`, `idea-garden`, `agent-memory` ship in `dist/` for npm consumers (Trellis Studio / opencode).
18
+ - **Ontology:** idempotent `registerType` — duplicate schema registration returns quietly (409 swallowed client-side).
19
+ - **Realtime:** explorer graph-nav + collections demos; collab presence session lifecycle hardening.
20
+
21
+ ## trellis [3.1.32] — 2026-05-29
4
22
 
5
23
  - **Agent Lanes (W1–W4):** `trellis lane` — isolated per-agent op journals under `.trellis/lanes/`, `create` / `enter` / `leave` / `status` / `diff` / `promote` / `drop`.
6
24
  - **`trellis lane promote`:** replay lane ops onto integration with `--dry-run`, `--explain`, and hard/soft/file conflict detection.
@@ -10,7 +28,7 @@
10
28
  - **`getBranchHeadOpHash`:** latest `headOpHash` fact wins (fixes stale head during promote).
11
29
  - **Op log lock:** configurable timeout via `TRELLIS_OPLOG_LOCK_MS`.
12
30
 
13
- ## 3.1.14
31
+ ## trellis [3.1.14] — 2026-05-22
14
32
 
15
33
  - CLI `trellis --version` now reports the real package version from `package.json` (was hardcoded `0.1.0`).
16
34
  - CLI `-p` / cwd resolution walks up to the nearest `.trellis` repo root (monorepo subfolders work without passing the root path).
@@ -18,7 +36,7 @@
18
36
  - `issue create` accepts `--description` as an alias for `--desc`.
19
37
  - `bin/trellis.mjs` launcher finds Homebrew Bun when Node's `PATH` is minimal (`npx trellis` / agent shells).
20
38
 
21
- ## 3.1.2
39
+ ## trellis [3.1.2] — 2026-05-12
22
40
 
23
41
  - Fixed `trellis/cms` collection reads for inferred collections whose normalized key differs from the stored entity type casing, such as `blogpost` reading `BlogPost` entities.
24
42
  - Added graph-link awareness to CMS entries so reference links such as `post --author--> author` appear in `fields` and can be expanded.
@@ -29,10 +47,10 @@
29
47
  - Added CMS client/scaffold tests and included them in the default test script.
30
48
  - Added `directory` support to CMS consumer scaffolds for multi-instance opencode routing.
31
49
 
32
- ## 3.1.1
50
+ ## trellis [3.1.1] — 2026-05-12
33
51
 
34
52
  - Published the first `trellis/cms` SDK package update after adding scaffold helpers.
35
53
 
36
- ## 3.1.0
54
+ ## trellis [3.1.0] — 2026-05-12
37
55
 
38
56
  - Added the `trellis/cms` subpath with `createCmsClient`, collection reads, entry reads, polling subscriptions, reference expansion, collection discovery, and consumer scaffold helpers for vanilla, React, Solid, and Vue.
package/README.md CHANGED
@@ -1,192 +1,99 @@
1
- # Trellis
2
-
3
- > **The Agentic Framework**
4
-
5
- | Use Case | How |
6
- | :----------------------------- | :-------------------------------------------------------------------------------------------------------- |
7
- | **Agentic State Engine** | Tool registry + decision traces + branching — agents operate on state they can fork, audit, and roll back |
8
- | **Building Agents End-to-End** | Unified LLM abstraction + context management + RAG + orchestration |
9
- | **Autonomous Code Editing** | Semantic patching + AST-aware tools + causal history |
10
- | **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>
11
11
 
12
12
  ---
13
13
 
14
- ## Why Trellis?
15
-
16
- 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.
17
15
 
18
- **[Read the story →](./docs/THE-STORY.md)**
19
-
20
- - **Durable Memory**: Every thought, tool call, and file change is an immutable operation in a causal graph
21
- - **Explainability by Default**: Decision traces don't just store _what_ happened, but _why_
22
- - **Safe Exploration**: Agents can "fork" state to explore multiple paths
23
-
24
- ---
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.
25
20
 
26
- ## Quick Start
21
+ ## Install
27
22
 
28
23
  ```bash
29
- # 1. Install
30
24
  npm install -g trellis
31
-
32
- # 2. Initialize a repository
33
- mkdir my-project && cd my-project
34
- trellis init
35
-
36
- # The init command now offers two paths:
37
- # ⚡ Minimal Setup: One-shot setup with auto-detected defaults
38
- # 🔧 Custom Guided Setup: Full control over framework, IDEs, and features
39
-
40
- # 3. Create content (tracked automatically)
41
- echo "# My Project" > README.md
42
-
43
- # 4. Add structured entities
44
- trellis issue create -t "Bootstrap Visualization"
45
- trellis milestone create -m "Initial Release"
46
-
47
- # 5. Launch the local web client to explore your semantic graph
48
- trellis web
49
-
50
- # 6. Create coding session with trellis harness
51
- trellis code
52
25
  ```
53
26
 
54
- After running `trellis init`, you'll see a progressive disclosure success screen:
55
-
56
- **Next steps (VCS):**
57
-
58
- - `trellis status` — Check repository status
59
- - `trellis log` — View recent history
60
- - `trellis branch` — List or create branches
61
- - `trellis milestone` — Create narrative checkpoints
62
- - `trellis garden` — Discover abandoned work
63
- - `trellis issue` — Create and track issues
64
-
65
- **Semantic Substrate (Live local services):**
66
-
67
- - `trellis web` — Launch local web client / graph visualizer
68
- - `trellis query` — Run EQL-S semantic queries against your code graph
69
- - Agent Rules — Active for your IDE. Agents will auto-detect the graph.
70
-
71
- ![Trellis Demo](./trellis-opencode.gif)
72
-
73
- See the [CLI guide](https://trellis.computer/docs/cli) for complete documentation.
74
-
75
- ---
76
-
77
- ## CMS Client SDK
27
+ ## Quick start
78
28
 
79
- Use `trellis/cms` from browser apps to read content from a Trellis-compatible HTTP server such as opencode at `http://localhost:4096`.
29
+ ```bash
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
34
+ ```
80
35
 
81
- ```typescript
82
- import { createCmsClient } from 'trellis/cms';
36
+ Track work as graph-native entities instead of text commits:
83
37
 
84
- const cms = createCmsClient({
85
- url: 'http://localhost:4096',
86
- directory: '/path/to/project',
87
- });
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
+ ```
88
44
 
89
- const posts = await cms.collection('blogpost').list({
90
- status: 'all',
91
- expand: ['author'],
92
- });
45
+ ## Build a realtime app
93
46
 
94
- const off = cms.collection('blogpost').subscribe(
95
- (entries) => {
96
- console.log(entries);
97
- },
98
- {
99
- status: 'published',
100
- onError: console.error,
101
- },
102
- );
47
+ Scaffold a typed, live-graph app — React, Vue, or Svelte — backed by Trellis:
103
48
 
104
- off();
49
+ ```bash
50
+ npm create trellis@latest
105
51
  ```
106
52
 
107
- - **Collections**: `cms.collections()` returns `TypeSchema` collections marked with `cms=true`.
108
- - **Schema**: `cms.collection('blogpost').schema()` returns field definitions including types, labels, requirements, formulas, and targets.
109
- - **Normalized keys**: `cms.collection('blogpost')` matches stored entity types like `BlogPost`.
110
- - **References**: `expand` resolves reference ids from facts and graph links into nested entries.
111
- - **Scaffolds**: `scaffoldConsumer({ collection, framework, directory })` generates starter consumer code for vanilla, React, Solid, or Vue.
53
+ ```ts
54
+ import { defineType } from 'trellis/schema';
55
+ import { z } from 'zod';
112
56
 
113
- ---
114
-
115
- ## What is Trellis?
116
-
117
- 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
+ ```
118
59
 
119
- ```typescript
120
- interface VcsOp {
121
- hash: string; // content-addressed
122
- kind: VcsOpKind; // e.g. 'vcs:fileModify'
123
- timestamp: string; // ISO 8601
124
- agentId: string; // Author identity
125
- previousHash?: string; // Causal chain link
126
- vcs: VcsPayload; // Op-specific data
127
- signature?: string; // Ed25519 signature
128
- }
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>
129
66
  ```
130
67
 
131
- 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.
132
69
 
133
- ### Platform Surfaces
70
+ ## API surface
134
71
 
135
- | Surface | Purpose |
136
- | :-------------------- | :--------------------------------------- |
137
- | `trellis` npm package | Core platform APIs via subpaths |
138
- | `trellis` CLI | Repository management and automation |
139
- | VS Code extension | Visual timeline and knowledge navigation |
72
+ The `trellis` package exposes focused subpaths:
140
73
 
141
- ---
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 |
142
82
 
143
83
  ## Documentation
144
84
 
145
- - **[Documentation hub](./docs/README.md)** — Canonical docs index for Trellis
146
- - **[The Story](./docs/THE-STORY.md)** — Why Trellis exists
147
- - **[Vision](./docs/VISION.md)** Local-first agentic OS framing
148
- - **[Architecture](./docs/ARCHITECTURE.md)** — Current package layout and target runtime shape
149
- - **[Five Pillars](./docs/PILLARS.md)** — Core architectural principles
150
- - **[Design spec](./docs/DESIGN.md)** — Full architecture specification
151
- - **[Roadmap](./docs/ROADMAP.md)** — Active Trellis issue and milestone sequence
152
- - **[Agents guide](./docs/AGENTS.md)** — Building agents on Trellis
153
- - **[Full documentation](https://trellis.computer)** — Published docs site
154
- - **[CLI reference](./docs/README-ARCHIVED.md#cli-overview)** — Command details (archived)
155
- - **[API modules](./docs/README-ARCHIVED.md#module--subpath-guide)** — Subpath imports (archived)
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)**
156
88
 
157
- ---
158
-
159
- ## Development
89
+ ## Develop
160
90
 
161
91
  ```bash
162
- # Prerequisites
163
- # Requires Bun ≥ 1.0
164
-
165
- # Install dependencies
166
- bun install
167
-
168
- # Run tests
92
+ bun install # requires Bun ≥ 1.0
169
93
  bun test
170
-
171
- # Build for npm
172
94
  bun run build
173
95
  ```
174
96
 
175
- ---
176
-
177
- ## Status
178
-
179
- | Phase | Deliverable | Status |
180
- | :---- | :------------------------- | :----- |
181
- | P0 | Causal stream + CLI | ✅ |
182
- | P0.5 | VS Code extension | ✅ |
183
- | P1 | Git import bridge | ✅ |
184
- | P2 | Branches, milestones | ✅ |
185
- | P2.5 | Blob store, modularization | ✅ |
186
- | P3 | File-level diff + merge | ✅ |
187
- | P4 | Identity + governance | ✅ |
188
- | P5 | Idea Garden | ✅ |
189
-
190
- ---
97
+ ## License
191
98
 
192
- _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
package/bin/trellis.mjs CHANGED
@@ -1,76 +1,3 @@
1
1
  #!/usr/bin/env node
2
- // Trellis CLI launcher.
3
- //
4
- // The bundled CLI in dist/ is built with `--target bun` and uses Bun-specific
5
- // APIs at runtime. This launcher works under either runtime:
6
- // - If invoked by bun, it imports the bundle directly.
7
- // - If invoked by node (the default for `npx trellis`), it re-execs the same
8
- // script under bun. If bun is missing, it prints actionable install hints.
9
-
10
- import { spawnSync } from 'node:child_process';
11
- import { fileURLToPath } from 'node:url';
12
- import { dirname, join, delimiter } from 'node:path';
13
- import { existsSync } from 'node:fs';
14
-
15
- const isWindows = process.platform === 'win32';
16
-
17
- if (process.versions?.bun) {
18
- await import('../dist/cli/index.js');
19
- } else {
20
- const bun =
21
- findOnPath('bun') ??
22
- findUserBun() ??
23
- (existsSync('/opt/homebrew/bin/bun') ? '/opt/homebrew/bin/bun' : null);
24
- if (!bun) {
25
- process.stderr.write(
26
- [
27
- '',
28
- 'Trellis requires Bun to run.',
29
- '',
30
- 'Install Bun:',
31
- ' macOS/Linux: curl -fsSL https://bun.sh/install | bash',
32
- ' Windows: powershell -c "irm bun.sh/install.ps1 | iex"',
33
- '',
34
- 'More info: https://bun.sh',
35
- '',
36
- ].join('\n'),
37
- );
38
- process.exit(1);
39
- }
40
-
41
- const here = fileURLToPath(import.meta.url);
42
- const result = spawnSync(bun, [here, ...process.argv.slice(2)], {
43
- stdio: 'inherit',
44
- env: process.env,
45
- });
46
- const code = result.status ?? 1;
47
- if (code !== 0 && result.error) {
48
- process.stderr.write(`${result.error.message}\n`);
49
- }
50
- process.exit(code);
51
- }
52
-
53
- function findOnPath(cmd) {
54
- const PATH = process.env.PATH || '';
55
- const exts = isWindows ? ['.exe', '.cmd', '.bat', ''] : [''];
56
- for (const dir of PATH.split(isWindows ? ';' : delimiter)) {
57
- if (!dir) continue;
58
- for (const ext of exts) {
59
- const p = join(dir, cmd + ext);
60
- if (existsSync(p)) return p;
61
- }
62
- }
63
- return null;
64
- }
65
-
66
- function findUserBun() {
67
- const home = process.env.HOME || process.env.USERPROFILE;
68
- if (!home) return null;
69
- const candidates = isWindows
70
- ? [join(home, '.bun', 'bin', 'bun.exe')]
71
- : [join(home, '.bun', 'bin', 'bun')];
72
- for (const p of candidates) {
73
- if (existsSync(p)) return p;
74
- }
75
- return null;
76
- }
2
+ // Trellis CLI launcher — runs under Node.js (>=20) or any WebContainer.
3
+ import '../dist/cli/index.js';
@@ -1,10 +1,8 @@
1
- // @bun
2
1
  import {
3
2
  __require
4
- } from "./index-a76rekgs.js";
3
+ } from "./chunk-KFQGP6VL.js";
5
4
 
6
5
  // src/core/persist/better-sqlite-backend.ts
7
- var __filename = "/Users/trentbrew/TURTLE/Projects/Packages/trellis-package/src/core/persist/better-sqlite-backend.ts";
8
6
  var SCHEMA_SQL = `
9
7
  CREATE TABLE IF NOT EXISTS ops (
10
8
  hash TEXT PRIMARY KEY,
@@ -33,8 +31,7 @@ CREATE INDEX IF NOT EXISTS idx_ops_agent ON ops(agent_id);
33
31
  CREATE INDEX IF NOT EXISTS idx_ops_previous ON ops(previous_hash);
34
32
  CREATE INDEX IF NOT EXISTS idx_snapshots_op ON snapshots(last_op_hash);
35
33
  `;
36
-
37
- class BetterSqliteKernelBackend {
34
+ var BetterSqliteKernelBackend = class {
38
35
  db;
39
36
  _stmts;
40
37
  _initialized = false;
@@ -45,28 +42,44 @@ class BetterSqliteKernelBackend {
45
42
  const Database = req("better-sqlite3");
46
43
  this.db = new Database(dbPath);
47
44
  } catch (e) {
48
- throw new Error(`Failed to initialize SQLite backend: ${e instanceof Error ? e.message : "Unknown error"}. ` + "Ensure better-sqlite3 is installed: npm install better-sqlite3");
45
+ throw new Error(
46
+ `Failed to initialize SQLite backend: ${e instanceof Error ? e.message : "Unknown error"}. Ensure better-sqlite3 is installed: npm install better-sqlite3`
47
+ );
49
48
  }
50
- this._stmts = this._prepareStatements();
51
49
  }
52
50
  _prepareStatements() {
53
51
  const db = this.db;
54
- return {
55
- insert: db.prepare("INSERT OR REPLACE INTO ops (hash, kind, timestamp, agent_id, previous_hash, payload) VALUES (?, ?, ?, ?, ?, ?)"),
52
+ this._stmts = {
53
+ insert: db.prepare(
54
+ "INSERT OR REPLACE INTO ops (hash, kind, timestamp, agent_id, previous_hash, payload) VALUES (?, ?, ?, ?, ?, ?)"
55
+ ),
56
56
  readAll: db.prepare("SELECT * FROM ops ORDER BY timestamp ASC"),
57
- readUntil: db.prepare("SELECT * FROM ops WHERE timestamp <= (SELECT timestamp FROM ops WHERE hash = ?) ORDER BY timestamp ASC"),
58
- readAfter: db.prepare("SELECT * FROM ops WHERE timestamp > (SELECT timestamp FROM ops WHERE hash = ?) ORDER BY timestamp ASC"),
57
+ readUntil: db.prepare(
58
+ "SELECT * FROM ops WHERE rowid <= (SELECT rowid FROM ops WHERE hash = ?) ORDER BY rowid ASC"
59
+ ),
60
+ readAfter: db.prepare(
61
+ "SELECT * FROM ops WHERE rowid > (SELECT rowid FROM ops WHERE hash = ?) ORDER BY rowid ASC"
62
+ ),
59
63
  getByHash: db.prepare("SELECT * FROM ops WHERE hash = ?"),
60
64
  getLast: db.prepare("SELECT * FROM ops ORDER BY timestamp DESC LIMIT 1"),
61
65
  count: db.prepare("SELECT COUNT(*) as count FROM ops"),
62
- saveSnapshot: db.prepare("INSERT INTO snapshots (last_op_hash, data, created_at) VALUES (?, ?, ?)"),
63
- loadLatestSnapshot: db.prepare("SELECT * FROM snapshots ORDER BY id DESC LIMIT 1")
66
+ saveSnapshot: db.prepare(
67
+ "INSERT INTO snapshots (last_op_hash, data, created_at) VALUES (?, ?, ?)"
68
+ ),
69
+ loadLatestSnapshot: db.prepare(
70
+ "SELECT * FROM snapshots ORDER BY id DESC LIMIT 1"
71
+ ),
72
+ putBlob: db.prepare(
73
+ "INSERT OR REPLACE INTO blobs (hash, content) VALUES (?, ?)"
74
+ ),
75
+ getBlob: db.prepare("SELECT content FROM blobs WHERE hash = ?"),
76
+ hasBlob: db.prepare("SELECT 1 FROM blobs WHERE hash = ?")
64
77
  };
65
78
  }
66
79
  init() {
67
- if (this._initialized)
68
- return;
80
+ if (this._initialized) return;
69
81
  this.db.exec(SCHEMA_SQL);
82
+ this._prepareStatements();
70
83
  this._initialized = true;
71
84
  }
72
85
  append(op) {
@@ -76,7 +89,19 @@ class BetterSqliteKernelBackend {
76
89
  deleteFacts: op.deleteFacts,
77
90
  deleteLinks: op.deleteLinks
78
91
  });
79
- this._stmts.insert.run(op.hash, op.kind, op.timestamp, op.agentId, op.previousHash ?? null, payload);
92
+ this._stmts.insert.run(
93
+ op.hash,
94
+ op.kind,
95
+ op.timestamp,
96
+ op.agentId,
97
+ op.previousHash ?? null,
98
+ payload
99
+ );
100
+ }
101
+ appendBatch(ops) {
102
+ for (const op of ops) {
103
+ this.append(op);
104
+ }
80
105
  }
81
106
  readAll() {
82
107
  const rows = this._stmts.readAll.all();
@@ -84,8 +109,7 @@ class BetterSqliteKernelBackend {
84
109
  }
85
110
  readUntil(opHash) {
86
111
  const row = this._stmts.getByHash.get(opHash);
87
- if (!row)
88
- return [];
112
+ if (!row) return [];
89
113
  const rows = this._stmts.readUntil.all(opHash);
90
114
  return rows.map(this._rowToOp);
91
115
  }
@@ -95,35 +119,73 @@ class BetterSqliteKernelBackend {
95
119
  }
96
120
  readAfter(opHash) {
97
121
  const row = this._stmts.getByHash.get(opHash);
98
- if (!row)
99
- return this.readAll();
122
+ if (!row) return this.readAll();
100
123
  const rows = this._stmts.readAfter.all(opHash);
101
124
  return rows.map(this._rowToOp);
102
125
  }
103
126
  getByHash(hash) {
127
+ return this.getOpByHash(hash);
128
+ }
129
+ getOpByHash(hash) {
104
130
  const row = this._stmts.getByHash.get(hash);
105
- return row ? this._rowToOp(row) : undefined;
131
+ return row ? this._rowToOp(row) : void 0;
106
132
  }
107
133
  getLastOp() {
108
134
  const row = this._stmts.getLast.get();
109
- return row ? this._rowToOp(row) : undefined;
135
+ return row ? this._rowToOp(row) : void 0;
110
136
  }
111
137
  getOpCount() {
112
138
  const row = this._stmts.count.get();
113
139
  return row?.count ?? 0;
114
140
  }
115
- saveSnapshot(hash, data) {
116
- this._stmts.saveSnapshot.run(hash, data, new Date().toISOString());
141
+ count() {
142
+ return this.getOpCount();
143
+ }
144
+ saveSnapshot(lastOpHash, data) {
145
+ this._stmts.saveSnapshot.run(
146
+ lastOpHash,
147
+ JSON.stringify(data),
148
+ (/* @__PURE__ */ new Date()).toISOString()
149
+ );
117
150
  }
118
151
  loadLatestSnapshot() {
119
152
  const row = this._stmts.loadLatestSnapshot.get();
120
- if (!row)
121
- return;
153
+ if (!row) return void 0;
122
154
  return {
123
155
  lastOpHash: row.last_op_hash,
124
- data: row.data
156
+ data: JSON.parse(row.data)
125
157
  };
126
158
  }
159
+ putBlob(hash, content) {
160
+ this._stmts.putBlob.run(hash, Buffer.from(content));
161
+ }
162
+ getBlob(hash) {
163
+ const row = this._stmts.getBlob.get(hash);
164
+ if (!row) return void 0;
165
+ return new Uint8Array(row.content);
166
+ }
167
+ hasBlob(hash) {
168
+ const row = this._stmts.hasBlob.get(hash);
169
+ return !!row;
170
+ }
171
+ findCommonAncestor(hashA, hashB) {
172
+ const ancestorsA = /* @__PURE__ */ new Set();
173
+ let cursor = hashA;
174
+ while (cursor) {
175
+ ancestorsA.add(cursor);
176
+ const op = this.getOpByHash(cursor);
177
+ cursor = op?.previousHash;
178
+ }
179
+ cursor = hashB;
180
+ while (cursor) {
181
+ if (ancestorsA.has(cursor)) {
182
+ return this.getOpByHash(cursor);
183
+ }
184
+ const op = this.getOpByHash(cursor);
185
+ cursor = op?.previousHash;
186
+ }
187
+ return void 0;
188
+ }
127
189
  close() {
128
190
  this.db?.close();
129
191
  }
@@ -134,14 +196,14 @@ class BetterSqliteKernelBackend {
134
196
  kind: row.kind,
135
197
  timestamp: row.timestamp,
136
198
  agentId: row.agent_id,
137
- previousHash: row.previous_hash ?? undefined,
199
+ previousHash: row.previous_hash ?? void 0,
138
200
  facts: payload.facts,
139
201
  links: payload.links,
140
202
  deleteFacts: payload.deleteFacts,
141
203
  deleteLinks: payload.deleteLinks
142
204
  };
143
205
  }
144
- }
206
+ };
145
207
  export {
146
208
  BetterSqliteKernelBackend
147
209
  };
@@ -0,0 +1,9 @@
1
+ import {
2
+ attachStandardMiddleware,
3
+ buildOntologyIndex
4
+ } from "./chunk-SPSPV5BC.js";
5
+ import "./chunk-KFQGP6VL.js";
6
+ export {
7
+ attachStandardMiddleware,
8
+ buildOntologyIndex
9
+ };
@@ -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"}