trellis 2.1.7 → 3.0.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 (346) hide show
  1. package/README.md +65 -706
  2. package/dist/cli/index.d.ts +16 -0
  3. package/dist/cli/index.d.ts.map +1 -0
  4. package/dist/cli/index.js +3188 -232
  5. package/dist/client/config.d.ts +56 -0
  6. package/dist/client/config.d.ts.map +1 -0
  7. package/dist/client/index.d.ts +15 -0
  8. package/dist/client/index.d.ts.map +1 -0
  9. package/dist/client/index.js +32 -0
  10. package/dist/client/sdk.d.ts +152 -0
  11. package/dist/client/sdk.d.ts.map +1 -0
  12. package/dist/config-8hczw0rs.js +20 -0
  13. package/dist/context/heat-map-manager.d.ts +100 -0
  14. package/dist/context/heat-map-manager.d.ts.map +1 -0
  15. package/dist/context/manager.d.ts +16 -0
  16. package/dist/context/manager.d.ts.map +1 -0
  17. package/dist/context/types.d.ts +20 -0
  18. package/dist/context/types.d.ts.map +1 -0
  19. package/dist/core/agents/harness.d.ts +58 -0
  20. package/dist/core/agents/harness.d.ts.map +1 -0
  21. package/dist/core/agents/index.d.ts +8 -0
  22. package/dist/core/agents/index.d.ts.map +1 -0
  23. package/dist/core/agents/types.d.ts +79 -0
  24. package/dist/core/agents/types.d.ts.map +1 -0
  25. package/dist/core/computation/expr-evaluator.d.ts +52 -0
  26. package/dist/core/computation/expr-evaluator.d.ts.map +1 -0
  27. package/dist/core/index.d.ts +25 -0
  28. package/dist/core/index.d.ts.map +1 -0
  29. package/dist/core/index.js +105 -11
  30. package/dist/core/kernel/logic-middleware.d.ts +19 -0
  31. package/dist/core/kernel/logic-middleware.d.ts.map +1 -0
  32. package/dist/core/kernel/middleware.d.ts +28 -0
  33. package/dist/core/kernel/middleware.d.ts.map +1 -0
  34. package/dist/core/kernel/schema-middleware.d.ts +15 -0
  35. package/dist/core/kernel/schema-middleware.d.ts.map +1 -0
  36. package/dist/core/kernel/security-middleware.d.ts +24 -0
  37. package/dist/core/kernel/security-middleware.d.ts.map +1 -0
  38. package/dist/core/kernel/sync-provider.d.ts +59 -0
  39. package/dist/core/kernel/sync-provider.d.ts.map +1 -0
  40. package/dist/core/kernel/trellis-kernel.d.ts +217 -0
  41. package/dist/core/kernel/trellis-kernel.d.ts.map +1 -0
  42. package/dist/core/ontology/builtins.d.ts +16 -0
  43. package/dist/core/ontology/builtins.d.ts.map +1 -0
  44. package/dist/core/ontology/core-ontology.d.ts +20 -0
  45. package/dist/core/ontology/core-ontology.d.ts.map +1 -0
  46. package/dist/core/ontology/index.d.ts +12 -0
  47. package/dist/core/ontology/index.d.ts.map +1 -0
  48. package/dist/core/ontology/registry.d.ts +70 -0
  49. package/dist/core/ontology/registry.d.ts.map +1 -0
  50. package/dist/core/ontology/types.d.ts +201 -0
  51. package/dist/core/ontology/types.d.ts.map +1 -0
  52. package/dist/core/ontology/validator.d.ts +34 -0
  53. package/dist/core/ontology/validator.d.ts.map +1 -0
  54. package/dist/core/persist/backend.d.ts +62 -0
  55. package/dist/core/persist/backend.d.ts.map +1 -0
  56. package/dist/core/persist/better-sqlite-backend.d.ts +33 -0
  57. package/dist/core/persist/better-sqlite-backend.d.ts.map +1 -0
  58. package/dist/core/persist/sqlite-backend.d.ts +43 -0
  59. package/dist/core/persist/sqlite-backend.d.ts.map +1 -0
  60. package/dist/core/plugins/index.d.ts +8 -0
  61. package/dist/core/plugins/index.d.ts.map +1 -0
  62. package/dist/core/plugins/registry.d.ts +69 -0
  63. package/dist/core/plugins/registry.d.ts.map +1 -0
  64. package/dist/core/plugins/types.d.ts +87 -0
  65. package/dist/core/plugins/types.d.ts.map +1 -0
  66. package/dist/core/query/datalog.d.ts +52 -0
  67. package/dist/core/query/datalog.d.ts.map +1 -0
  68. package/dist/core/query/engine.d.ts +42 -0
  69. package/dist/core/query/engine.d.ts.map +1 -0
  70. package/dist/core/query/index.d.ts +12 -0
  71. package/dist/core/query/index.d.ts.map +1 -0
  72. package/dist/core/query/parser.d.ts +37 -0
  73. package/dist/core/query/parser.d.ts.map +1 -0
  74. package/dist/core/query/types.d.ts +135 -0
  75. package/dist/core/query/types.d.ts.map +1 -0
  76. package/dist/core/store/eav-store.d.ts +111 -0
  77. package/dist/core/store/eav-store.d.ts.map +1 -0
  78. package/dist/db/index.d.ts +18 -0
  79. package/dist/db/index.d.ts.map +1 -0
  80. package/dist/db/index.js +85 -0
  81. package/dist/db/inspector.js +28 -0
  82. package/dist/db/trellis.css +1 -0
  83. package/dist/decisions/auto-capture.d.ts +31 -0
  84. package/dist/decisions/auto-capture.d.ts.map +1 -0
  85. package/dist/decisions/hooks.d.ts +48 -0
  86. package/dist/decisions/hooks.d.ts.map +1 -0
  87. package/dist/decisions/index.d.ts +36 -0
  88. package/dist/decisions/index.d.ts.map +1 -0
  89. package/dist/decisions/types.d.ts +73 -0
  90. package/dist/decisions/types.d.ts.map +1 -0
  91. package/dist/deploy-999q207z.js +10 -0
  92. package/dist/embeddings/auto-embed.d.ts +52 -0
  93. package/dist/embeddings/auto-embed.d.ts.map +1 -0
  94. package/dist/embeddings/chunker.d.ts +73 -0
  95. package/dist/embeddings/chunker.d.ts.map +1 -0
  96. package/dist/embeddings/index.d.ts +18 -0
  97. package/dist/embeddings/index.d.ts.map +1 -0
  98. package/dist/embeddings/model.d.ts +30 -0
  99. package/dist/embeddings/model.d.ts.map +1 -0
  100. package/dist/embeddings/search.d.ts +87 -0
  101. package/dist/embeddings/search.d.ts.map +1 -0
  102. package/dist/embeddings/store.d.ts +66 -0
  103. package/dist/embeddings/store.d.ts.map +1 -0
  104. package/dist/embeddings/types.d.ts +54 -0
  105. package/dist/embeddings/types.d.ts.map +1 -0
  106. package/dist/engine-y0724kjq.js +8 -0
  107. package/dist/engine.d.ts +218 -0
  108. package/dist/engine.d.ts.map +1 -0
  109. package/dist/evals/types.d.ts +29 -0
  110. package/dist/evals/types.d.ts.map +1 -0
  111. package/dist/garden/cluster.d.ts +57 -0
  112. package/dist/garden/cluster.d.ts.map +1 -0
  113. package/dist/garden/garden.d.ts +104 -0
  114. package/dist/garden/garden.d.ts.map +1 -0
  115. package/dist/garden/index.d.ts +15 -0
  116. package/dist/garden/index.d.ts.map +1 -0
  117. package/dist/git/git-exporter.d.ts +37 -0
  118. package/dist/git/git-exporter.d.ts.map +1 -0
  119. package/dist/git/git-importer.d.ts +36 -0
  120. package/dist/git/git-importer.d.ts.map +1 -0
  121. package/dist/git/git-reader.d.ts +63 -0
  122. package/dist/git/git-reader.d.ts.map +1 -0
  123. package/dist/git/index.d.ts +10 -0
  124. package/dist/git/index.d.ts.map +1 -0
  125. package/dist/identity/governance.d.ts +54 -0
  126. package/dist/identity/governance.d.ts.map +1 -0
  127. package/dist/identity/identity.d.ts +63 -0
  128. package/dist/identity/identity.d.ts.map +1 -0
  129. package/dist/identity/index.d.ts +10 -0
  130. package/dist/identity/index.d.ts.map +1 -0
  131. package/dist/identity/signing-middleware.d.ts +38 -0
  132. package/dist/identity/signing-middleware.d.ts.map +1 -0
  133. package/dist/import-s2b8e0ft.js +11 -0
  134. package/dist/{index-3ejh8k6v.js → index-0q7wbasy.js} +18 -4
  135. package/dist/index-0zk3fx2s.js +1004 -0
  136. package/dist/index-2r4jxwnb.js +32 -0
  137. package/dist/index-6n5dcebj.js +847 -0
  138. package/dist/index-7e27kvvj.js +292 -0
  139. package/dist/index-bmyt7k8n.js +90 -0
  140. package/dist/index-c9h37r6h.js +1 -0
  141. package/dist/{index-k5kf7sd0.js → index-hmdbnd4n.js} +1 -1
  142. package/dist/index-k5b0xskw.js +1 -0
  143. package/dist/index-n9f2qyh5.js +495 -0
  144. package/dist/{index-22jx9qsz.js → index-q31hfjja.js} +861 -51
  145. package/dist/index-skhn0agf.js +155 -0
  146. package/dist/{index-5m0g9r0y.js → index-w7ng765c.js} +4 -497
  147. package/dist/index-wt8rz4gn.js +132 -0
  148. package/dist/index-xzym9w0m.js +43 -0
  149. package/dist/index-y3d71wzd.js +77 -0
  150. package/dist/index-y6a4kj0p.js +43 -0
  151. package/dist/index-yhwjgfvj.js +342 -0
  152. package/dist/index-yp88he8n.js +316 -0
  153. package/dist/index.d.ts +25 -0
  154. package/dist/index.d.ts.map +1 -0
  155. package/dist/index.js +21 -9
  156. package/dist/links/index.d.ts +16 -0
  157. package/dist/links/index.d.ts.map +1 -0
  158. package/dist/links/lifecycle.d.ts +112 -0
  159. package/dist/links/lifecycle.d.ts.map +1 -0
  160. package/dist/links/parser.d.ts +56 -0
  161. package/dist/links/parser.d.ts.map +1 -0
  162. package/dist/links/ref-index.d.ts +55 -0
  163. package/dist/links/ref-index.d.ts.map +1 -0
  164. package/dist/links/resolver.d.ts +90 -0
  165. package/dist/links/resolver.d.ts.map +1 -0
  166. package/dist/links/types.d.ts +70 -0
  167. package/dist/links/types.d.ts.map +1 -0
  168. package/dist/llm/provider.d.ts +11 -0
  169. package/dist/llm/provider.d.ts.map +1 -0
  170. package/dist/llm/types.d.ts +74 -0
  171. package/dist/llm/types.d.ts.map +1 -0
  172. package/dist/mcp/docs.d.ts +18 -0
  173. package/dist/mcp/docs.d.ts.map +1 -0
  174. package/dist/mcp/index.d.ts +15 -0
  175. package/dist/mcp/index.d.ts.map +1 -0
  176. package/dist/mcp/server.d.ts +26 -0
  177. package/dist/mcp/server.d.ts.map +1 -0
  178. package/dist/orchestration/types.d.ts +22 -0
  179. package/dist/orchestration/types.d.ts.map +1 -0
  180. package/dist/plugins/agent-memory/graph-context-manager.d.ts +75 -0
  181. package/dist/plugins/agent-memory/graph-context-manager.d.ts.map +1 -0
  182. package/dist/plugins/agent-memory/index.d.ts +30 -0
  183. package/dist/plugins/agent-memory/index.d.ts.map +1 -0
  184. package/dist/plugins/agent-memory/ontology.d.ts +13 -0
  185. package/dist/plugins/agent-memory/ontology.d.ts.map +1 -0
  186. package/dist/plugins/agent-memory/plugin.d.ts +17 -0
  187. package/dist/plugins/agent-memory/plugin.d.ts.map +1 -0
  188. package/dist/plugins/brand/cache.d.ts +18 -0
  189. package/dist/plugins/brand/cache.d.ts.map +1 -0
  190. package/dist/plugins/brand/catalog-generator.d.ts +89 -0
  191. package/dist/plugins/brand/catalog-generator.d.ts.map +1 -0
  192. package/dist/plugins/brand/constraints.d.ts +55 -0
  193. package/dist/plugins/brand/constraints.d.ts.map +1 -0
  194. package/dist/plugins/brand/index.d.ts +44 -0
  195. package/dist/plugins/brand/index.d.ts.map +1 -0
  196. package/dist/plugins/brand/mcp-tools.d.ts +101 -0
  197. package/dist/plugins/brand/mcp-tools.d.ts.map +1 -0
  198. package/dist/plugins/brand/ontology.d.ts +13 -0
  199. package/dist/plugins/brand/ontology.d.ts.map +1 -0
  200. package/dist/plugins/brand/plugin.d.ts +21 -0
  201. package/dist/plugins/brand/plugin.d.ts.map +1 -0
  202. package/dist/plugins/brand/voice-tone.d.ts +24 -0
  203. package/dist/plugins/brand/voice-tone.d.ts.map +1 -0
  204. package/dist/plugins/idea-garden/api.d.ts +26 -0
  205. package/dist/plugins/idea-garden/api.d.ts.map +1 -0
  206. package/dist/plugins/idea-garden/index.d.ts +12 -0
  207. package/dist/plugins/idea-garden/index.d.ts.map +1 -0
  208. package/dist/plugins/idea-garden/plugin.d.ts +16 -0
  209. package/dist/plugins/idea-garden/plugin.d.ts.map +1 -0
  210. package/dist/plugins/idea-garden/types.d.ts +22 -0
  211. package/dist/plugins/idea-garden/types.d.ts.map +1 -0
  212. package/dist/plugins/plan-approval/index.d.ts +36 -0
  213. package/dist/plugins/plan-approval/index.d.ts.map +1 -0
  214. package/dist/plugins/plan-approval/ontology.d.ts +11 -0
  215. package/dist/plugins/plan-approval/ontology.d.ts.map +1 -0
  216. package/dist/plugins/plan-approval/plan-manager.d.ts +104 -0
  217. package/dist/plugins/plan-approval/plan-manager.d.ts.map +1 -0
  218. package/dist/plugins/plan-approval/plugin.d.ts +110 -0
  219. package/dist/plugins/plan-approval/plugin.d.ts.map +1 -0
  220. package/dist/plugins/proactive-watcher/index.d.ts +28 -0
  221. package/dist/plugins/proactive-watcher/index.d.ts.map +1 -0
  222. package/dist/plugins/proactive-watcher/ontology.d.ts +8 -0
  223. package/dist/plugins/proactive-watcher/ontology.d.ts.map +1 -0
  224. package/dist/plugins/proactive-watcher/plugin.d.ts +20 -0
  225. package/dist/plugins/proactive-watcher/plugin.d.ts.map +1 -0
  226. package/dist/plugins/proactive-watcher/watcher-manager.d.ts +36 -0
  227. package/dist/plugins/proactive-watcher/watcher-manager.d.ts.map +1 -0
  228. package/dist/plugins/sprite-tools/checkpoint-middleware.d.ts +43 -0
  229. package/dist/plugins/sprite-tools/checkpoint-middleware.d.ts.map +1 -0
  230. package/dist/plugins/sprite-tools/index.d.ts +40 -0
  231. package/dist/plugins/sprite-tools/index.d.ts.map +1 -0
  232. package/dist/plugins/sprite-tools/plugin.d.ts +69 -0
  233. package/dist/plugins/sprite-tools/plugin.d.ts.map +1 -0
  234. package/dist/react/index.js +189 -0
  235. package/dist/scaffold/index.d.ts +13 -0
  236. package/dist/scaffold/index.d.ts.map +1 -0
  237. package/dist/scaffold/infer.d.ts +42 -0
  238. package/dist/scaffold/infer.d.ts.map +1 -0
  239. package/dist/scaffold/profile.d.ts +51 -0
  240. package/dist/scaffold/profile.d.ts.map +1 -0
  241. package/dist/scaffold/seed.d.ts +27 -0
  242. package/dist/scaffold/seed.d.ts.map +1 -0
  243. package/dist/scaffold/write.d.ts +53 -0
  244. package/dist/scaffold/write.d.ts.map +1 -0
  245. package/dist/sdk-snn5gad3.js +15 -0
  246. package/dist/semantic/csharp-parser.d.ts +12 -0
  247. package/dist/semantic/csharp-parser.d.ts.map +1 -0
  248. package/dist/semantic/go-parser.d.ts +12 -0
  249. package/dist/semantic/go-parser.d.ts.map +1 -0
  250. package/dist/semantic/index.d.ts +22 -0
  251. package/dist/semantic/index.d.ts.map +1 -0
  252. package/dist/semantic/java-parser.d.ts +12 -0
  253. package/dist/semantic/java-parser.d.ts.map +1 -0
  254. package/dist/semantic/python-parser.d.ts +12 -0
  255. package/dist/semantic/python-parser.d.ts.map +1 -0
  256. package/dist/semantic/ruby-parser.d.ts +12 -0
  257. package/dist/semantic/ruby-parser.d.ts.map +1 -0
  258. package/dist/semantic/rust-parser.d.ts +12 -0
  259. package/dist/semantic/rust-parser.d.ts.map +1 -0
  260. package/dist/semantic/semantic-merge.d.ts +20 -0
  261. package/dist/semantic/semantic-merge.d.ts.map +1 -0
  262. package/dist/semantic/ts-parser.d.ts +13 -0
  263. package/dist/semantic/ts-parser.d.ts.map +1 -0
  264. package/dist/semantic/types.d.ts +130 -0
  265. package/dist/semantic/types.d.ts.map +1 -0
  266. package/dist/server/auth.d.ts +72 -0
  267. package/dist/server/auth.d.ts.map +1 -0
  268. package/dist/server/deploy.d.ts +44 -0
  269. package/dist/server/deploy.d.ts.map +1 -0
  270. package/dist/server/import.d.ts +40 -0
  271. package/dist/server/import.d.ts.map +1 -0
  272. package/dist/server/index.d.ts +26 -0
  273. package/dist/server/index.d.ts.map +1 -0
  274. package/dist/server/index.js +90 -0
  275. package/dist/server/permissions.d.ts +84 -0
  276. package/dist/server/permissions.d.ts.map +1 -0
  277. package/dist/server/realtime.d.ts +78 -0
  278. package/dist/server/realtime.d.ts.map +1 -0
  279. package/dist/server/server.d.ts +43 -0
  280. package/dist/server/server.d.ts.map +1 -0
  281. package/dist/server/sprites.d.ts +26 -0
  282. package/dist/server/sprites.d.ts.map +1 -0
  283. package/dist/server/tenancy.d.ts +53 -0
  284. package/dist/server/tenancy.d.ts.map +1 -0
  285. package/dist/server/vm-config.d.ts +60 -0
  286. package/dist/server/vm-config.d.ts.map +1 -0
  287. package/dist/server-mrctdwzr.js +11 -0
  288. package/dist/sprites-vc4qbrp1.js +16 -0
  289. package/dist/streaming/types.d.ts +43 -0
  290. package/dist/streaming/types.d.ts.map +1 -0
  291. package/dist/sync/http-transport.d.ts +47 -0
  292. package/dist/sync/http-transport.d.ts.map +1 -0
  293. package/dist/sync/index.d.ts +22 -0
  294. package/dist/sync/index.d.ts.map +1 -0
  295. package/dist/sync/memory-transport.d.ts +27 -0
  296. package/dist/sync/memory-transport.d.ts.map +1 -0
  297. package/dist/sync/multi-repo.d.ts +82 -0
  298. package/dist/sync/multi-repo.d.ts.map +1 -0
  299. package/dist/sync/reconciler.d.ts +48 -0
  300. package/dist/sync/reconciler.d.ts.map +1 -0
  301. package/dist/sync/sync-engine.d.ts +65 -0
  302. package/dist/sync/sync-engine.d.ts.map +1 -0
  303. package/dist/sync/types.d.ts +71 -0
  304. package/dist/sync/types.d.ts.map +1 -0
  305. package/dist/sync/ws-transport.d.ts +41 -0
  306. package/dist/sync/ws-transport.d.ts.map +1 -0
  307. package/dist/tenancy-7d1g4ayp.js +13 -0
  308. package/dist/ui/client.html +460 -664
  309. package/dist/ui/server.d.ts +42 -0
  310. package/dist/ui/server.d.ts.map +1 -0
  311. package/dist/vcs/blob-store.d.ts +49 -0
  312. package/dist/vcs/blob-store.d.ts.map +1 -0
  313. package/dist/vcs/branch.d.ts +35 -0
  314. package/dist/vcs/branch.d.ts.map +1 -0
  315. package/dist/vcs/checkpoint.d.ts +24 -0
  316. package/dist/vcs/checkpoint.d.ts.map +1 -0
  317. package/dist/vcs/decompose.d.ts +19 -0
  318. package/dist/vcs/decompose.d.ts.map +1 -0
  319. package/dist/vcs/diff.d.ts +65 -0
  320. package/dist/vcs/diff.d.ts.map +1 -0
  321. package/dist/vcs/engine-context.d.ts +21 -0
  322. package/dist/vcs/engine-context.d.ts.map +1 -0
  323. package/dist/vcs/index.d.ts +23 -0
  324. package/dist/vcs/index.d.ts.map +1 -0
  325. package/dist/vcs/index.js +2 -2
  326. package/dist/vcs/issue.d.ts +159 -0
  327. package/dist/vcs/issue.d.ts.map +1 -0
  328. package/dist/vcs/merge.d.ts +55 -0
  329. package/dist/vcs/merge.d.ts.map +1 -0
  330. package/dist/vcs/milestone.d.ts +30 -0
  331. package/dist/vcs/milestone.d.ts.map +1 -0
  332. package/dist/vcs/ops.d.ts +27 -0
  333. package/dist/vcs/ops.d.ts.map +1 -0
  334. package/dist/vcs/types.d.ts +95 -0
  335. package/dist/vcs/types.d.ts.map +1 -0
  336. package/dist/vcs/vcs-middleware.d.ts +14 -0
  337. package/dist/vcs/vcs-middleware.d.ts.map +1 -0
  338. package/dist/vm-config-6xhsj6b3.js +22 -0
  339. package/dist/watcher/fs-watcher.d.ts +51 -0
  340. package/dist/watcher/fs-watcher.d.ts.map +1 -0
  341. package/dist/watcher/index.d.ts +9 -0
  342. package/dist/watcher/index.d.ts.map +1 -0
  343. package/dist/watcher/ingestion.d.ts +28 -0
  344. package/dist/watcher/ingestion.d.ts.map +1 -0
  345. package/package.json +57 -7
  346. package/dist/index-hybgxe40.js +0 -1174
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Datalog Evaluator — Rule-based recursive queries.
3
+ *
4
+ * Provides transitive closure, reachability, and other recursive
5
+ * graph queries via Datalog-style rules evaluated over the EAV store.
6
+ *
7
+ * Built-in rules:
8
+ * - `reachable(?src, ?tgt)` via a named link attribute
9
+ * - `ancestor(?x, ?y)` (generic transitive closure over any link)
10
+ *
11
+ * Custom rules can be registered via `addRule()`.
12
+ *
13
+ * @module trellis/core/query
14
+ */
15
+ import type { EAVStore } from '../store/eav-store.js';
16
+ import type { DatalogRule } from './types.js';
17
+ import { QueryEngine } from './engine.js';
18
+ /**
19
+ * Creates a transitive closure rule over a specific link attribute.
20
+ *
21
+ * `reachable(?x, ?y) :- (x attr y)`
22
+ * `reachable(?x, ?y) :- (x attr ?z), reachable(?z, ?y)`
23
+ */
24
+ export declare function transitiveClosureRules(ruleName: string, linkAttribute: string): DatalogRule[];
25
+ /**
26
+ * Creates a reverse reachability rule (follows links backwards).
27
+ */
28
+ export declare function reverseReachabilityRules(ruleName: string, linkAttribute: string): DatalogRule[];
29
+ /**
30
+ * Creates a "sibling" rule — entities that share a common parent via a link attribute.
31
+ *
32
+ * `sibling(?a, ?b) :- (?a attr ?parent), (?b attr ?parent)`
33
+ * FILTER ?a != ?b
34
+ */
35
+ export declare function siblingRules(ruleName: string, linkAttribute: string): DatalogRule[];
36
+ export declare class DatalogRuntime {
37
+ private engine;
38
+ constructor(store: EAVStore);
39
+ /** Register a Datalog rule (or multiple). */
40
+ addRule(rule: DatalogRule): void;
41
+ addRules(rules: DatalogRule[]): void;
42
+ removeRule(name: string): void;
43
+ /** Register built-in transitive closure for a link attribute. */
44
+ registerTransitiveClosure(ruleName: string, linkAttribute: string): void;
45
+ /** Register built-in reverse reachability for a link attribute. */
46
+ registerReverseReachability(ruleName: string, linkAttribute: string): void;
47
+ /** Register built-in sibling rule for a link attribute. */
48
+ registerSiblings(ruleName: string, linkAttribute: string): void;
49
+ /** Get the underlying QueryEngine for direct query execution. */
50
+ getEngine(): QueryEngine;
51
+ }
52
+ //# sourceMappingURL=datalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datalog.d.ts","sourceRoot":"","sources":["../../../src/core/query/datalog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAM1C;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,WAAW,EAAE,CAoC7F;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,WAAW,EAAE,CAkC/F;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,WAAW,EAAE,CA6BnF;AAMD,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAc;gBAEhB,KAAK,EAAE,QAAQ;IAI3B,6CAA6C;IAC7C,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAIhC,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,IAAI;IAIpC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI9B,iEAAiE;IACjE,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;IAIxE,mEAAmE;IACnE,2BAA2B,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;IAI1E,2DAA2D;IAC3D,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;IAI/D,iEAAiE;IACjE,SAAS,IAAI,WAAW;CAGzB"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * EQL-S Query Engine — Pattern-matching evaluator over the EAV store.
3
+ *
4
+ * Evaluates queries by matching fact/link patterns against the store,
5
+ * binding variables, applying filters, and computing aggregates.
6
+ *
7
+ * @module trellis/core/query
8
+ */
9
+ import type { EAVStore, Atom } from '../store/eav-store.js';
10
+ import type { Query, DatalogRule } from './types.js';
11
+ export interface QueryResult {
12
+ bindings: Record<string, Atom>[];
13
+ executionTime: number;
14
+ count: number;
15
+ }
16
+ export declare class QueryEngine {
17
+ private store;
18
+ private rules;
19
+ private maxRuleDepth;
20
+ constructor(store: EAVStore);
21
+ /** Register a Datalog rule. Multiple rules with the same name = union. */
22
+ addRule(rule: DatalogRule): void;
23
+ removeRule(name: string): void;
24
+ /** Execute a query against the store. */
25
+ execute(query: Query): QueryResult;
26
+ private _evaluatePatterns;
27
+ private _evaluatePattern;
28
+ private _evalFactPattern;
29
+ private _evalLinkPattern;
30
+ private _evalNotPattern;
31
+ private _evalOrPattern;
32
+ private _evalRuleApplication;
33
+ private _evalFilter;
34
+ private _aggregate;
35
+ private _computeAggregate;
36
+ private _order;
37
+ private _project;
38
+ private _resolve;
39
+ private _bind;
40
+ private _dedup;
41
+ }
42
+ //# sourceMappingURL=engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../src/core/query/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAc,IAAI,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,KAAK,EACV,KAAK,EAaL,WAAW,EACZ,MAAM,YAAY,CAAC;AAOpB,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACf;AAMD,qBAAa,WAAW;IAIV,OAAO,CAAC,KAAK;IAHzB,OAAO,CAAC,KAAK,CAAyC;IACtD,OAAO,CAAC,YAAY,CAAM;gBAEN,KAAK,EAAE,QAAQ;IAEnC,0EAA0E;IAC1E,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAMhC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI9B,yCAAyC;IACzC,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,WAAW;IAuClC,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,gBAAgB;IAexB,OAAO,CAAC,gBAAgB;IAwCxB,OAAO,CAAC,gBAAgB;IAuCxB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,oBAAoB;IAsD5B,OAAO,CAAC,WAAW;IAmCnB,OAAO,CAAC,UAAU;IA+BlB,OAAO,CAAC,iBAAiB;IAqCzB,OAAO,CAAC,MAAM;IAmBd,OAAO,CAAC,QAAQ;IAsBhB,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,KAAK;IAQb,OAAO,CAAC,MAAM;CAYf"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * EQL-S Query Module — Public API Surface
3
+ *
4
+ * @module trellis/core/query
5
+ */
6
+ export type { Variable, Literal, Term, FactPattern, LinkPattern, NotPattern, OrPattern, RuleApplication, Pattern, FilterOp, Filter, AggregateOp, Aggregate, OrderBy, Query, Bindings, DatalogRule, } from './types.js';
7
+ export { isVariable, isLiteral, variable, literal } from './types.js';
8
+ export { QueryEngine } from './engine.js';
9
+ export type { QueryResult } from './engine.js';
10
+ export { parseQuery, parseRule, parseSimple } from './parser.js';
11
+ export { DatalogRuntime, transitiveClosureRules, reverseReachabilityRules, siblingRules, } from './datalog.js';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/query/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,YAAY,EACV,QAAQ,EAAE,OAAO,EAAE,IAAI,EACvB,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EACzE,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,SAAS,EACtB,OAAO,EACP,KAAK,EACL,QAAQ,EACR,WAAW,GACZ,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAGtE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAGjE,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,wBAAwB,EACxB,YAAY,GACb,MAAM,cAAc,CAAC"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * EQL-S Query Parser — Parses a simple DSL into Query AST.
3
+ *
4
+ * Syntax overview:
5
+ * SELECT ?e ?name
6
+ * WHERE {
7
+ * [?e "type" "Project"]
8
+ * [?e "name" ?name]
9
+ * (?e "memberOf" ?org)
10
+ * }
11
+ * FILTER ?name != "archived"
12
+ * ORDER BY ?name ASC
13
+ * LIMIT 10
14
+ * OFFSET 5
15
+ *
16
+ * Fact patterns: [entity attr value]
17
+ * Link patterns: (source attr target)
18
+ * Not patterns: NOT [entity attr value]
19
+ * Or patterns: OR { branch1 } { branch2 }
20
+ * Rule calls: ruleName(?x, ?y)
21
+ *
22
+ * Variables start with `?`. Strings are double-quoted.
23
+ * Numbers are bare. Booleans: true/false.
24
+ *
25
+ * @module trellis/core/query
26
+ */
27
+ import type { Query, DatalogRule } from './types.js';
28
+ export declare function parseQuery(input: string): Query;
29
+ export declare function parseRule(input: string): DatalogRule;
30
+ /**
31
+ * Shorthand: parse a simple "find entities where" query.
32
+ *
33
+ * Example: `find ?e where type = "Project"`
34
+ * Becomes: SELECT ?e WHERE { [?e "type" "Project"] }
35
+ */
36
+ export declare function parseSimple(input: string): Query;
37
+ //# sourceMappingURL=parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/core/query/parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EACV,KAAK,EAEC,WAAW,EAClB,MAAM,YAAY,CAAC;AAoYpB,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAG/C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAGpD;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CA6ChD"}
@@ -0,0 +1,135 @@
1
+ /**
2
+ * EQL-S Query Types — Entity Query Language (Structured)
3
+ *
4
+ * Defines the AST for structured queries over the EAV store.
5
+ * Queries are composed of patterns (fact/link clauses) that bind
6
+ * variables, plus optional filters, aggregations, and projections.
7
+ *
8
+ * @module trellis/core/query
9
+ */
10
+ import type { Atom } from '../store/eav-store.js';
11
+ /**
12
+ * A query variable, prefixed with `?` in the DSL.
13
+ * e.g. `?e`, `?name`, `?type`
14
+ */
15
+ export interface Variable {
16
+ kind: 'variable';
17
+ name: string;
18
+ }
19
+ /**
20
+ * A literal constant value.
21
+ */
22
+ export interface Literal {
23
+ kind: 'literal';
24
+ value: Atom;
25
+ }
26
+ /**
27
+ * A term is either a variable or a literal.
28
+ */
29
+ export type Term = Variable | Literal;
30
+ /**
31
+ * A fact pattern matches triples (e, a, v) in the EAV store.
32
+ *
33
+ * Example DSL: `[?e "type" "Project"]` or `[?e ?attr ?val]`
34
+ */
35
+ export interface FactPattern {
36
+ kind: 'fact';
37
+ entity: Term;
38
+ attribute: Term;
39
+ value: Term;
40
+ }
41
+ /**
42
+ * A link pattern matches links (e1, a, e2) in the graph.
43
+ *
44
+ * Example DSL: `(?src "memberOf" ?tgt)`
45
+ */
46
+ export interface LinkPattern {
47
+ kind: 'link';
48
+ source: Term;
49
+ attribute: Term;
50
+ target: Term;
51
+ }
52
+ /**
53
+ * A negation pattern — succeeds when the inner pattern has NO matches.
54
+ */
55
+ export interface NotPattern {
56
+ kind: 'not';
57
+ pattern: Pattern;
58
+ }
59
+ /**
60
+ * An or-pattern — succeeds when ANY branch matches.
61
+ */
62
+ export interface OrPattern {
63
+ kind: 'or';
64
+ branches: Pattern[][];
65
+ }
66
+ /**
67
+ * A rule application — invoke a named Datalog rule.
68
+ */
69
+ export interface RuleApplication {
70
+ kind: 'rule';
71
+ name: string;
72
+ args: Term[];
73
+ }
74
+ export type Pattern = FactPattern | LinkPattern | NotPattern | OrPattern | RuleApplication;
75
+ export type FilterOp = '=' | '!=' | '<' | '<=' | '>' | '>=' | 'contains' | 'startsWith' | 'endsWith' | 'matches';
76
+ export interface Filter {
77
+ kind: 'filter';
78
+ left: Term;
79
+ op: FilterOp;
80
+ right: Term;
81
+ }
82
+ export type AggregateOp = 'count' | 'sum' | 'avg' | 'min' | 'max' | 'collect';
83
+ export interface Aggregate {
84
+ op: AggregateOp;
85
+ /** Variable to aggregate over. */
86
+ variable: string;
87
+ /** Output variable name. */
88
+ as: string;
89
+ }
90
+ export interface OrderBy {
91
+ variable: string;
92
+ direction: 'asc' | 'desc';
93
+ }
94
+ /**
95
+ * A complete EQL-S query.
96
+ */
97
+ export interface Query {
98
+ /** Variables to project in the result. Empty = return all bound variables. */
99
+ select: string[];
100
+ /** Pattern clauses that must all match (conjunction). */
101
+ where: Pattern[];
102
+ /** Post-match filters. */
103
+ filters: Filter[];
104
+ /** Aggregation functions. */
105
+ aggregates: Aggregate[];
106
+ /** Ordering. */
107
+ orderBy: OrderBy[];
108
+ /** Maximum number of results (0 = unlimited). */
109
+ limit: number;
110
+ /** Number of results to skip. */
111
+ offset: number;
112
+ }
113
+ /**
114
+ * A single set of variable bindings.
115
+ */
116
+ export type Bindings = Map<string, Atom>;
117
+ /**
118
+ * A Datalog rule: `head :- body`.
119
+ *
120
+ * Example: `ancestor(?x, ?z) :- [?x "parent" ?y], ancestor(?y, ?z)`
121
+ */
122
+ export interface DatalogRule {
123
+ name: string;
124
+ /** Parameter variable names for the head. */
125
+ params: string[];
126
+ /** Body patterns (conjunction). */
127
+ body: Pattern[];
128
+ /** Body filters. */
129
+ filters: Filter[];
130
+ }
131
+ export declare function isVariable(t: Term): t is Variable;
132
+ export declare function isLiteral(t: Term): t is Literal;
133
+ export declare function variable(name: string): Variable;
134
+ export declare function literal(value: Atom): Literal;
135
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/query/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,111 @@
1
+ /**
2
+ * EAV-based Datalog Engine with Path-Aware Ingestor
3
+ *
4
+ * Core types and fact storage for schema-agnostic data processing.
5
+ * Inlined from trellis-core for single-package publish.
6
+ *
7
+ * @module trellis/core
8
+ */
9
+ export type Atom = string | number | boolean | Date | EntityRef;
10
+ export type EntityRef = string;
11
+ export interface Fact {
12
+ e: string;
13
+ a: string;
14
+ v: Atom;
15
+ }
16
+ export interface Link {
17
+ e1: string;
18
+ a: string;
19
+ e2: string;
20
+ }
21
+ export interface CatalogEntry {
22
+ attribute: string;
23
+ type: 'string' | 'number' | 'boolean' | 'date' | 'mixed';
24
+ cardinality: 'one' | 'many';
25
+ distinctCount: number;
26
+ examples: Atom[];
27
+ min?: number;
28
+ max?: number;
29
+ }
30
+ export interface QueryTraceEntry {
31
+ goal: string;
32
+ bindingsCount: number;
33
+ durationMs: number;
34
+ }
35
+ export interface QueryResult {
36
+ bindings: Record<string, Atom>[];
37
+ executionTime: number;
38
+ plan?: string;
39
+ trace?: QueryTraceEntry[];
40
+ }
41
+ /**
42
+ * Path-aware JSON flattener
43
+ * Converts nested JSON into attribute-value pairs with dot notation
44
+ */
45
+ export declare function flatten(obj: any, base?: string): Generator<[string, any]>;
46
+ /**
47
+ * Convert JSON entity to EAV facts
48
+ */
49
+ export declare function jsonEntityFacts(entityId: string, root: any, type: string): Fact[];
50
+ /**
51
+ * In-memory EAV triple store
52
+ */
53
+ export declare class EAVStore {
54
+ private facts;
55
+ private links;
56
+ private catalog;
57
+ private eavIndex;
58
+ private aevIndex;
59
+ private aveIndex;
60
+ private linkIndex;
61
+ private linkReverseIndex;
62
+ private linkAttrIndex;
63
+ private distinct;
64
+ addFacts(facts: Fact[]): void;
65
+ /**
66
+ * Check if a fact already exists in the store.
67
+ */
68
+ private hasFact;
69
+ addLinks(links: Link[]): void;
70
+ deleteFacts(factsToDelete: Fact[]): void;
71
+ deleteLinks(linksToDelete: Link[]): void;
72
+ private updateIndexes;
73
+ private updateLinkIndexes;
74
+ private valueKey;
75
+ private updateCatalog;
76
+ private inferType;
77
+ getFactsByEntity(entity: string): Fact[];
78
+ getFactsByAttribute(attribute: string): Fact[];
79
+ getFactsByValue(attribute: string, value: Atom): Fact[];
80
+ getCatalog(): CatalogEntry[];
81
+ getCatalogEntry(attribute: string): CatalogEntry | undefined;
82
+ getAllFacts(): Fact[];
83
+ getAllLinks(): Link[];
84
+ getLinksByEntity(entity: string): Link[];
85
+ getLinksByAttribute(attribute: string): Link[];
86
+ getLinksByEntityAndAttribute(entity: string, attribute: string): Link[];
87
+ getStats(): {
88
+ totalFacts: number;
89
+ totalLinks: number;
90
+ uniqueEntities: number;
91
+ uniqueAttributes: number;
92
+ catalogEntries: number;
93
+ };
94
+ /**
95
+ * Creates a serializable snapshot of the current store state.
96
+ */
97
+ snapshot(): {
98
+ facts: Fact[];
99
+ links: Link[];
100
+ catalog: CatalogEntry[];
101
+ };
102
+ /**
103
+ * Restores the store state from a snapshot and rebuilds all indexes.
104
+ */
105
+ restore(snapshot: {
106
+ facts: Fact[];
107
+ links: Link[];
108
+ catalog: CatalogEntry[];
109
+ }): void;
110
+ }
111
+ //# sourceMappingURL=eav-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eav-store.d.ts","sourceRoot":"","sources":["../../../src/core/store/eav-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Trellis DB — Deprecated Compatibility Shim
3
+ *
4
+ * ⚠️ `trellis/db` is deprecated. Use `trellis/server` and `trellis/client` instead.
5
+ *
6
+ * import { startServer } from 'trellis/server';
7
+ * import { TrellisClient } from 'trellis/client';
8
+ *
9
+ * This module re-exports everything from both for backward compatibility.
10
+ *
11
+ * @deprecated Use `trellis/server` and `trellis/client` instead.
12
+ * @module trellis/db
13
+ */
14
+ export { TrellisDb, TrellisClient, FetchError, readConfig, writeConfig, updateConfig, hasConfig, configPath, defaultLocalConfig, CONFIG_FILE, } from '../client/index.js';
15
+ export type { EntityData, ListResult, QueryResult, UploadResult, AuthResult, Subscription, SubscriptionCallback, TrellisDbLocalOptions, TrellisDbRemoteOptions, TrellisDbOptions, TrellisDbConfig, DbMode, } from '../client/index.js';
16
+ export { startServer, resolveAuth, signJwt, verifyJwt, buildOAuthUrl, exchangeOAuthCode, GOOGLE_PROVIDER, GITHUB_PROVIDER, ANONYMOUS, PermissionRegistry, PermissionError, PUBLIC_READ, FULLY_PUBLIC, OWNER_ONLY, ADMIN_ONLY, TenantPool, DEFAULT_TENANT, SubscriptionManager, importFile, importRecords, deploy, } from '../server/index.js';
17
+ export type { ServerConfig, AuthContext, AuthConfig, OAuthProvider, PermissionRule, PermissionsDef, CrudOp, RealtimeSubscription, WsClient, ImportOptions, ImportResult, DeployOptions, DeployResult, } from '../server/index.js';
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/db/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EACL,SAAS,EACT,aAAa,EACb,UAAU,EACV,UAAU,EACV,WAAW,EACX,YAAY,EACZ,SAAS,EACT,UAAU,EACV,kBAAkB,EAClB,WAAW,GACZ,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,UAAU,EACV,UAAU,EACV,WAAW,EACX,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,gBAAgB,EAChB,eAAe,EACf,MAAM,GACP,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,WAAW,EACX,WAAW,EACX,OAAO,EACP,SAAS,EACT,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,SAAS,EACT,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,YAAY,EACZ,UAAU,EACV,UAAU,EACV,UAAU,EACV,cAAc,EACd,mBAAmB,EACnB,UAAU,EACV,aAAa,EACb,MAAM,GACP,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,YAAY,EACZ,WAAW,EACX,UAAU,EACV,aAAa,EACb,cAAc,EACd,cAAc,EACd,MAAM,EACN,oBAAoB,EACpB,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,aAAa,EACb,YAAY,GACb,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,85 @@
1
+ // @bun
2
+ import"../index-c9h37r6h.js";
3
+ import {
4
+ importFile,
5
+ importRecords
6
+ } from "../index-skhn0agf.js";
7
+ import {
8
+ deploy
9
+ } from "../index-wt8rz4gn.js";
10
+ import"../index-bmyt7k8n.js";
11
+ import"../index-y6a4kj0p.js";
12
+ import {
13
+ ADMIN_ONLY,
14
+ ANONYMOUS,
15
+ FULLY_PUBLIC,
16
+ GITHUB_PROVIDER,
17
+ GOOGLE_PROVIDER,
18
+ OWNER_ONLY,
19
+ PUBLIC_READ,
20
+ PermissionError,
21
+ PermissionRegistry,
22
+ SubscriptionManager,
23
+ buildOAuthUrl,
24
+ exchangeOAuthCode,
25
+ resolveAuth,
26
+ signJwt,
27
+ startServer,
28
+ verifyJwt
29
+ } from "../index-6n5dcebj.js";
30
+ import"../index-n9f2qyh5.js";
31
+ import"../index-k5b0xskw.js";
32
+ import {
33
+ FetchError,
34
+ TrellisDb
35
+ } from "../index-7e27kvvj.js";
36
+ import {
37
+ CONFIG_FILE,
38
+ configPath,
39
+ defaultLocalConfig,
40
+ hasConfig,
41
+ readConfig,
42
+ updateConfig,
43
+ writeConfig
44
+ } from "../index-xzym9w0m.js";
45
+ import {
46
+ DEFAULT_TENANT,
47
+ TenantPool
48
+ } from "../index-y3d71wzd.js";
49
+ import"../index-0zk3fx2s.js";
50
+ import"../index-yhwjgfvj.js";
51
+ import"../index-yp88he8n.js";
52
+ import"../index-a76rekgs.js";
53
+ export {
54
+ writeConfig,
55
+ verifyJwt,
56
+ updateConfig,
57
+ startServer,
58
+ signJwt,
59
+ resolveAuth,
60
+ readConfig,
61
+ importRecords,
62
+ importFile,
63
+ hasConfig,
64
+ exchangeOAuthCode,
65
+ deploy,
66
+ defaultLocalConfig,
67
+ configPath,
68
+ buildOAuthUrl,
69
+ TrellisDb,
70
+ TrellisDb as TrellisClient,
71
+ TenantPool,
72
+ SubscriptionManager,
73
+ PermissionRegistry,
74
+ PermissionError,
75
+ PUBLIC_READ,
76
+ OWNER_ONLY,
77
+ GOOGLE_PROVIDER,
78
+ GITHUB_PROVIDER,
79
+ FetchError,
80
+ FULLY_PUBLIC,
81
+ DEFAULT_TENANT,
82
+ CONFIG_FILE,
83
+ ANONYMOUS,
84
+ ADMIN_ONLY
85
+ };