trellis 2.1.7 → 2.1.9

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 (240) hide show
  1. package/README.md +100 -10
  2. package/dist/cli/index.d.ts +14 -0
  3. package/dist/cli/index.d.ts.map +1 -0
  4. package/dist/cli/index.js +199 -9
  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/core/agents/harness.d.ts +49 -0
  14. package/dist/core/agents/harness.d.ts.map +1 -0
  15. package/dist/core/agents/index.d.ts +8 -0
  16. package/dist/core/agents/index.d.ts.map +1 -0
  17. package/dist/core/agents/types.d.ts +63 -0
  18. package/dist/core/agents/types.d.ts.map +1 -0
  19. package/dist/core/index.d.ts +25 -0
  20. package/dist/core/index.d.ts.map +1 -0
  21. package/dist/core/index.js +15 -9
  22. package/dist/core/kernel/middleware.d.ts +28 -0
  23. package/dist/core/kernel/middleware.d.ts.map +1 -0
  24. package/dist/core/kernel/trellis-kernel.d.ts +162 -0
  25. package/dist/core/kernel/trellis-kernel.d.ts.map +1 -0
  26. package/dist/core/ontology/builtins.d.ts +16 -0
  27. package/dist/core/ontology/builtins.d.ts.map +1 -0
  28. package/dist/core/ontology/index.d.ts +10 -0
  29. package/dist/core/ontology/index.d.ts.map +1 -0
  30. package/dist/core/ontology/registry.d.ts +70 -0
  31. package/dist/core/ontology/registry.d.ts.map +1 -0
  32. package/dist/core/ontology/types.d.ts +97 -0
  33. package/dist/core/ontology/types.d.ts.map +1 -0
  34. package/dist/core/ontology/validator.d.ts +34 -0
  35. package/dist/core/ontology/validator.d.ts.map +1 -0
  36. package/dist/core/persist/backend.d.ts +60 -0
  37. package/dist/core/persist/backend.d.ts.map +1 -0
  38. package/dist/core/persist/sqlite-backend.d.ts +41 -0
  39. package/dist/core/persist/sqlite-backend.d.ts.map +1 -0
  40. package/dist/core/plugins/index.d.ts +8 -0
  41. package/dist/core/plugins/index.d.ts.map +1 -0
  42. package/dist/core/plugins/registry.d.ts +69 -0
  43. package/dist/core/plugins/registry.d.ts.map +1 -0
  44. package/dist/core/plugins/types.d.ts +87 -0
  45. package/dist/core/plugins/types.d.ts.map +1 -0
  46. package/dist/core/query/datalog.d.ts +52 -0
  47. package/dist/core/query/datalog.d.ts.map +1 -0
  48. package/dist/core/query/engine.d.ts +42 -0
  49. package/dist/core/query/engine.d.ts.map +1 -0
  50. package/dist/core/query/index.d.ts +12 -0
  51. package/dist/core/query/index.d.ts.map +1 -0
  52. package/dist/core/query/parser.d.ts +37 -0
  53. package/dist/core/query/parser.d.ts.map +1 -0
  54. package/dist/core/query/types.d.ts +135 -0
  55. package/dist/core/query/types.d.ts.map +1 -0
  56. package/dist/core/store/eav-store.d.ts +107 -0
  57. package/dist/core/store/eav-store.d.ts.map +1 -0
  58. package/dist/db/index.d.ts +18 -0
  59. package/dist/db/index.d.ts.map +1 -0
  60. package/dist/db/index.js +83 -0
  61. package/dist/db/inspector.js +28 -0
  62. package/dist/db/trellis.css +1 -0
  63. package/dist/decisions/auto-capture.d.ts +31 -0
  64. package/dist/decisions/auto-capture.d.ts.map +1 -0
  65. package/dist/decisions/hooks.d.ts +48 -0
  66. package/dist/decisions/hooks.d.ts.map +1 -0
  67. package/dist/decisions/index.d.ts +36 -0
  68. package/dist/decisions/index.d.ts.map +1 -0
  69. package/dist/decisions/types.d.ts +73 -0
  70. package/dist/decisions/types.d.ts.map +1 -0
  71. package/dist/deploy-99j5dc9c.js +9 -0
  72. package/dist/embeddings/auto-embed.d.ts +52 -0
  73. package/dist/embeddings/auto-embed.d.ts.map +1 -0
  74. package/dist/embeddings/chunker.d.ts +73 -0
  75. package/dist/embeddings/chunker.d.ts.map +1 -0
  76. package/dist/embeddings/index.d.ts +18 -0
  77. package/dist/embeddings/index.d.ts.map +1 -0
  78. package/dist/embeddings/model.d.ts +30 -0
  79. package/dist/embeddings/model.d.ts.map +1 -0
  80. package/dist/embeddings/search.d.ts +87 -0
  81. package/dist/embeddings/search.d.ts.map +1 -0
  82. package/dist/embeddings/store.d.ts +66 -0
  83. package/dist/embeddings/store.d.ts.map +1 -0
  84. package/dist/embeddings/types.d.ts +54 -0
  85. package/dist/embeddings/types.d.ts.map +1 -0
  86. package/dist/engine-y0724kjq.js +8 -0
  87. package/dist/engine.d.ts +216 -0
  88. package/dist/engine.d.ts.map +1 -0
  89. package/dist/garden/cluster.d.ts +57 -0
  90. package/dist/garden/cluster.d.ts.map +1 -0
  91. package/dist/garden/garden.d.ts +104 -0
  92. package/dist/garden/garden.d.ts.map +1 -0
  93. package/dist/garden/index.d.ts +15 -0
  94. package/dist/garden/index.d.ts.map +1 -0
  95. package/dist/git/git-exporter.d.ts +37 -0
  96. package/dist/git/git-exporter.d.ts.map +1 -0
  97. package/dist/git/git-importer.d.ts +36 -0
  98. package/dist/git/git-importer.d.ts.map +1 -0
  99. package/dist/git/git-reader.d.ts +63 -0
  100. package/dist/git/git-reader.d.ts.map +1 -0
  101. package/dist/git/index.d.ts +10 -0
  102. package/dist/git/index.d.ts.map +1 -0
  103. package/dist/identity/governance.d.ts +54 -0
  104. package/dist/identity/governance.d.ts.map +1 -0
  105. package/dist/identity/identity.d.ts +63 -0
  106. package/dist/identity/identity.d.ts.map +1 -0
  107. package/dist/identity/index.d.ts +10 -0
  108. package/dist/identity/index.d.ts.map +1 -0
  109. package/dist/identity/signing-middleware.d.ts +38 -0
  110. package/dist/identity/signing-middleware.d.ts.map +1 -0
  111. package/dist/import-fyg5sgq4.js +11 -0
  112. package/dist/{index-5m0g9r0y.js → index-04sq3h27.js} +1 -496
  113. package/dist/index-2r4jxwnb.js +32 -0
  114. package/dist/index-4beszbgg.js +292 -0
  115. package/dist/index-5bhe57y9.js +326 -0
  116. package/dist/index-5p6zgspx.js +77 -0
  117. package/dist/index-7t92ej34.js +544 -0
  118. package/dist/index-8fjwnztt.js +155 -0
  119. package/dist/{index-22jx9qsz.js → index-czecrvvn.js} +4 -4
  120. package/dist/index-hgd30epa.js +149 -0
  121. package/dist/index-k5b0xskw.js +1 -0
  122. package/dist/index-kbnht9p8.js +1 -0
  123. package/dist/index-n9f2qyh5.js +495 -0
  124. package/dist/index-xr7rx360.js +814 -0
  125. package/dist/index-xzym9w0m.js +43 -0
  126. package/dist/index-yp88he8n.js +316 -0
  127. package/dist/index.d.ts +23 -0
  128. package/dist/index.d.ts.map +1 -0
  129. package/dist/index.js +9 -7
  130. package/dist/links/index.d.ts +16 -0
  131. package/dist/links/index.d.ts.map +1 -0
  132. package/dist/links/lifecycle.d.ts +112 -0
  133. package/dist/links/lifecycle.d.ts.map +1 -0
  134. package/dist/links/parser.d.ts +56 -0
  135. package/dist/links/parser.d.ts.map +1 -0
  136. package/dist/links/ref-index.d.ts +55 -0
  137. package/dist/links/ref-index.d.ts.map +1 -0
  138. package/dist/links/resolver.d.ts +90 -0
  139. package/dist/links/resolver.d.ts.map +1 -0
  140. package/dist/links/types.d.ts +70 -0
  141. package/dist/links/types.d.ts.map +1 -0
  142. package/dist/mcp/docs.d.ts +18 -0
  143. package/dist/mcp/docs.d.ts.map +1 -0
  144. package/dist/mcp/index.d.ts +9 -0
  145. package/dist/mcp/index.d.ts.map +1 -0
  146. package/dist/mcp/server.d.ts +26 -0
  147. package/dist/mcp/server.d.ts.map +1 -0
  148. package/dist/react/index.js +189 -0
  149. package/dist/sdk-sj8rp0m7.js +15 -0
  150. package/dist/semantic/csharp-parser.d.ts +12 -0
  151. package/dist/semantic/csharp-parser.d.ts.map +1 -0
  152. package/dist/semantic/go-parser.d.ts +12 -0
  153. package/dist/semantic/go-parser.d.ts.map +1 -0
  154. package/dist/semantic/index.d.ts +22 -0
  155. package/dist/semantic/index.d.ts.map +1 -0
  156. package/dist/semantic/java-parser.d.ts +12 -0
  157. package/dist/semantic/java-parser.d.ts.map +1 -0
  158. package/dist/semantic/python-parser.d.ts +12 -0
  159. package/dist/semantic/python-parser.d.ts.map +1 -0
  160. package/dist/semantic/ruby-parser.d.ts +12 -0
  161. package/dist/semantic/ruby-parser.d.ts.map +1 -0
  162. package/dist/semantic/rust-parser.d.ts +12 -0
  163. package/dist/semantic/rust-parser.d.ts.map +1 -0
  164. package/dist/semantic/semantic-merge.d.ts +20 -0
  165. package/dist/semantic/semantic-merge.d.ts.map +1 -0
  166. package/dist/semantic/ts-parser.d.ts +13 -0
  167. package/dist/semantic/ts-parser.d.ts.map +1 -0
  168. package/dist/semantic/types.d.ts +130 -0
  169. package/dist/semantic/types.d.ts.map +1 -0
  170. package/dist/server/auth.d.ts +72 -0
  171. package/dist/server/auth.d.ts.map +1 -0
  172. package/dist/server/deploy.d.ts +44 -0
  173. package/dist/server/deploy.d.ts.map +1 -0
  174. package/dist/server/import.d.ts +40 -0
  175. package/dist/server/import.d.ts.map +1 -0
  176. package/dist/server/index.d.ts +24 -0
  177. package/dist/server/index.d.ts.map +1 -0
  178. package/dist/server/index.js +60 -0
  179. package/dist/server/permissions.d.ts +84 -0
  180. package/dist/server/permissions.d.ts.map +1 -0
  181. package/dist/server/realtime.d.ts +78 -0
  182. package/dist/server/realtime.d.ts.map +1 -0
  183. package/dist/server/server.d.ts +43 -0
  184. package/dist/server/server.d.ts.map +1 -0
  185. package/dist/server/tenancy.d.ts +53 -0
  186. package/dist/server/tenancy.d.ts.map +1 -0
  187. package/dist/server-3vkpnpbz.js +11 -0
  188. package/dist/sync/http-transport.d.ts +47 -0
  189. package/dist/sync/http-transport.d.ts.map +1 -0
  190. package/dist/sync/index.d.ts +22 -0
  191. package/dist/sync/index.d.ts.map +1 -0
  192. package/dist/sync/memory-transport.d.ts +27 -0
  193. package/dist/sync/memory-transport.d.ts.map +1 -0
  194. package/dist/sync/multi-repo.d.ts +82 -0
  195. package/dist/sync/multi-repo.d.ts.map +1 -0
  196. package/dist/sync/reconciler.d.ts +48 -0
  197. package/dist/sync/reconciler.d.ts.map +1 -0
  198. package/dist/sync/sync-engine.d.ts +65 -0
  199. package/dist/sync/sync-engine.d.ts.map +1 -0
  200. package/dist/sync/types.d.ts +71 -0
  201. package/dist/sync/types.d.ts.map +1 -0
  202. package/dist/sync/ws-transport.d.ts +41 -0
  203. package/dist/sync/ws-transport.d.ts.map +1 -0
  204. package/dist/tenancy-tjr7kk2v.js +13 -0
  205. package/dist/ui/server.d.ts +38 -0
  206. package/dist/ui/server.d.ts.map +1 -0
  207. package/dist/vcs/blob-store.d.ts +49 -0
  208. package/dist/vcs/blob-store.d.ts.map +1 -0
  209. package/dist/vcs/branch.d.ts +35 -0
  210. package/dist/vcs/branch.d.ts.map +1 -0
  211. package/dist/vcs/checkpoint.d.ts +24 -0
  212. package/dist/vcs/checkpoint.d.ts.map +1 -0
  213. package/dist/vcs/decompose.d.ts +19 -0
  214. package/dist/vcs/decompose.d.ts.map +1 -0
  215. package/dist/vcs/diff.d.ts +65 -0
  216. package/dist/vcs/diff.d.ts.map +1 -0
  217. package/dist/vcs/engine-context.d.ts +21 -0
  218. package/dist/vcs/engine-context.d.ts.map +1 -0
  219. package/dist/vcs/index.d.ts +23 -0
  220. package/dist/vcs/index.d.ts.map +1 -0
  221. package/dist/vcs/issue.d.ts +159 -0
  222. package/dist/vcs/issue.d.ts.map +1 -0
  223. package/dist/vcs/merge.d.ts +55 -0
  224. package/dist/vcs/merge.d.ts.map +1 -0
  225. package/dist/vcs/milestone.d.ts +30 -0
  226. package/dist/vcs/milestone.d.ts.map +1 -0
  227. package/dist/vcs/ops.d.ts +27 -0
  228. package/dist/vcs/ops.d.ts.map +1 -0
  229. package/dist/vcs/types.d.ts +94 -0
  230. package/dist/vcs/types.d.ts.map +1 -0
  231. package/dist/vcs/vcs-middleware.d.ts +14 -0
  232. package/dist/vcs/vcs-middleware.d.ts.map +1 -0
  233. package/dist/watcher/fs-watcher.d.ts +51 -0
  234. package/dist/watcher/fs-watcher.d.ts.map +1 -0
  235. package/dist/watcher/index.d.ts +9 -0
  236. package/dist/watcher/index.d.ts.map +1 -0
  237. package/dist/watcher/ingestion.d.ts +28 -0
  238. package/dist/watcher/ingestion.d.ts.map +1 -0
  239. package/package.json +44 -4
  240. package/dist/index-hybgxe40.js +0 -1174
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../src/client/sdk.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ // @bun
2
+ import {
3
+ CONFIG_FILE,
4
+ configPath,
5
+ defaultLocalConfig,
6
+ hasConfig,
7
+ readConfig,
8
+ updateConfig,
9
+ writeConfig
10
+ } from "./index-xzym9w0m.js";
11
+ import"./index-a76rekgs.js";
12
+ export {
13
+ writeConfig,
14
+ updateConfig,
15
+ readConfig,
16
+ hasConfig,
17
+ defaultLocalConfig,
18
+ configPath,
19
+ CONFIG_FILE
20
+ };
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Agent Harness — Runtime for managing agent definitions, runs, and decisions.
3
+ *
4
+ * Loads agent definitions from the graph (TrellisKernel), manages tool
5
+ * registrations, executes runs, and records decision traces as kernel entities.
6
+ *
7
+ * @module trellis/core/agents
8
+ */
9
+ import type { TrellisKernel } from '../kernel/trellis-kernel.js';
10
+ import type { AgentDef, ToolDef, ToolHandler, ToolResult, AgentRun, DecisionTrace, AgentHarnessConfig } from './types.js';
11
+ export declare class AgentHarness {
12
+ private kernel;
13
+ private toolHandlers;
14
+ private config;
15
+ private runCounter;
16
+ constructor(kernel: TrellisKernel, config?: AgentHarnessConfig);
17
+ createAgent(def: Omit<AgentDef, 'id' | 'capabilities' | 'tools'> & {
18
+ id?: string;
19
+ capabilities?: string[];
20
+ tools?: string[];
21
+ }): Promise<AgentDef>;
22
+ getAgent(id: string): AgentDef | null;
23
+ listAgents(status?: AgentDef['status']): AgentDef[];
24
+ registerTool(def: Omit<ToolDef, 'id'> & {
25
+ id?: string;
26
+ }, handler: ToolHandler): Promise<string>;
27
+ getToolHandler(toolId: string): ToolHandler | undefined;
28
+ listTools(): ToolDef[];
29
+ startRun(agentId: string, input?: string): Promise<string>;
30
+ completeRun(runId: string, output?: string, tokenCount?: number): Promise<void>;
31
+ failRun(runId: string, error: string): Promise<void>;
32
+ getRun(runId: string): AgentRun | null;
33
+ listRuns(agentId?: string): AgentRun[];
34
+ recordDecision(runId: string, toolName: string, input?: Record<string, unknown>, output?: string, opts?: {
35
+ rationale?: string;
36
+ alternatives?: string[];
37
+ relatedEntities?: string[];
38
+ }): Promise<string>;
39
+ /**
40
+ * Invoke a registered tool within a run, auto-recording a decision trace.
41
+ */
42
+ invokeTool(runId: string, toolId: string, input: Record<string, unknown>, opts?: {
43
+ rationale?: string;
44
+ relatedEntities?: string[];
45
+ }): Promise<ToolResult>;
46
+ getDecisionChain(entityId: string): DecisionTrace[];
47
+ private _buildDecisionTrace;
48
+ }
49
+ //# sourceMappingURL=harness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harness.d.ts","sourceRoot":"","sources":["../../../src/core/agents/harness.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EACV,QAAQ,EACR,OAAO,EACP,WAAW,EACX,UAAU,EACV,QAAQ,EACR,aAAa,EAEb,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAMpB,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,YAAY,CAAuC;IAC3D,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,UAAU,CAAa;gBAEnB,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,kBAAkB;IAaxD,WAAW,CACf,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,GAAG,cAAc,GAAG,OAAO,CAAC,GAAG;QACrD,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;KAClB,GACA,OAAO,CAAC,QAAQ,CAAC;IA4BpB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IA6BrC,UAAU,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,QAAQ,EAAE;IAc7C,YAAY,CAChB,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG;QAAE,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,EAC1C,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,CAAC;IAiBlB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAIvD,SAAS,IAAI,OAAO,EAAE;IAkBhB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAgB1D,WAAW,CACf,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC;IAUV,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ1D,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IAgCtC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,EAAE;IAgBhC,cAAc,CAClB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,CAAC,EAAE,MAAM,EACf,IAAI,CAAC,EAAE;QACL,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;KAC5B,GACA,OAAO,CAAC,MAAM,CAAC;IA8BlB;;OAEG;IACG,UAAU,CACd,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GACxD,OAAO,CAAC,UAAU,CAAC;IAyBtB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,EAAE;IAanD,OAAO,CAAC,mBAAmB;CA4C5B"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Agent System — Public API Surface
3
+ *
4
+ * @module trellis/core/agents
5
+ */
6
+ export { AgentHarness } from './harness.js';
7
+ export type { AgentDef, ToolDef, ToolHandler, ToolResult, AgentRun, DecisionTrace, RunStatus, AgentHarnessConfig, } from './types.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/agents/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,YAAY,EACV,QAAQ,EACR,OAAO,EACP,WAAW,EACX,UAAU,EACV,QAAQ,EACR,aAAa,EACb,SAAS,EACT,kBAAkB,GACnB,MAAM,YAAY,CAAC"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Agent System Types
3
+ *
4
+ * Types for the generic agent harness that loads agent definitions
5
+ * from the graph, manages runs, and records decision traces.
6
+ *
7
+ * @module trellis/core/agents
8
+ */
9
+ export interface AgentDef {
10
+ id: string;
11
+ name: string;
12
+ description?: string;
13
+ model?: string;
14
+ provider?: string;
15
+ systemPrompt?: string;
16
+ status: 'active' | 'inactive' | 'deprecated';
17
+ capabilities: string[];
18
+ tools: string[];
19
+ }
20
+ export interface ToolDef {
21
+ id: string;
22
+ name: string;
23
+ description?: string;
24
+ schema?: string;
25
+ endpoint?: string;
26
+ }
27
+ export type ToolHandler = (input: Record<string, unknown>) => Promise<ToolResult>;
28
+ export interface ToolResult {
29
+ success: boolean;
30
+ output: unknown;
31
+ error?: string;
32
+ }
33
+ export type RunStatus = 'running' | 'completed' | 'failed' | 'cancelled';
34
+ export interface AgentRun {
35
+ id: string;
36
+ agentId: string;
37
+ startedAt: string;
38
+ completedAt?: string;
39
+ status: RunStatus;
40
+ input?: string;
41
+ output?: string;
42
+ tokenCount?: number;
43
+ decisions: DecisionTrace[];
44
+ }
45
+ export interface DecisionTrace {
46
+ id: string;
47
+ runId: string;
48
+ agentId: string;
49
+ toolName: string;
50
+ input?: Record<string, unknown>;
51
+ output?: string;
52
+ rationale?: string;
53
+ alternatives?: string[];
54
+ timestamp: string;
55
+ relatedEntities?: string[];
56
+ }
57
+ export interface AgentHarnessConfig {
58
+ /** Whether to auto-record decision traces on tool invocations. */
59
+ recordDecisions?: boolean;
60
+ /** Maximum decisions per run before auto-stopping. */
61
+ maxDecisionsPerRun?: number;
62
+ }
63
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/agents/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,QAAQ,GAAG,UAAU,GAAG,YAAY,CAAC;IAC7C,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAMD,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;AAElF,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAMD,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;AAEzE,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,aAAa,EAAE,CAAC;CAC5B;AAMD,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAMD,MAAM,WAAW,kBAAkB;IACjC,kEAAkE;IAClE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,sDAAsD;IACtD,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * TrellisVCS Core — EAV Store, Kernel, Persistence, Middleware
3
+ *
4
+ * Inlined from trellis-core for single-package publish.
5
+ * Consumers: `import { EAVStore, Fact, TrellisKernel } from 'trellis/core'`
6
+ *
7
+ * @module trellis/core
8
+ */
9
+ export { EAVStore, flatten, jsonEntityFacts } from './store/eav-store.js';
10
+ export type { Atom, EntityRef, Fact, Link, CatalogEntry, QueryTraceEntry, QueryResult, } from './store/eav-store.js';
11
+ export type { KernelOp, KernelOpKind, KernelBackend, } from './persist/backend.js';
12
+ export type { KernelMiddleware, MiddlewareContext, OpMiddlewareNext, } from './kernel/middleware.js';
13
+ export { SqliteKernelBackend } from './persist/sqlite-backend.js';
14
+ export { QueryEngine, parseQuery, parseRule, parseSimple, DatalogRuntime, } from './query/index.js';
15
+ export type { Query, Pattern, FactPattern, LinkPattern, Term, Variable, Literal, Filter, FilterOp, Aggregate, OrderBy, Bindings, DatalogRule, } from './query/index.js';
16
+ export { OntologyRegistry, validateEntity, validateStore, createValidationMiddleware, } from './ontology/index.js';
17
+ export { projectOntology, teamOntology, agentOntology, builtinOntologies, } from './ontology/index.js';
18
+ export type { AttrType, AttributeDef, RelationDef, EntityDef, OntologySchema, ValidationError, ValidationResult, } from './ontology/index.js';
19
+ export { AgentHarness } from './agents/index.js';
20
+ export type { AgentDef, ToolDef, ToolHandler, ToolResult, AgentRun, DecisionTrace, RunStatus, AgentHarnessConfig, } from './agents/index.js';
21
+ export { PluginRegistry, EventBus } from './plugins/index.js';
22
+ export type { PluginDef, PluginContext, PluginManifest, EventCallback, EventHandler, WellKnownEvent, WorkspaceConfig, } from './plugins/index.js';
23
+ export { TrellisKernel } from './kernel/trellis-kernel.js';
24
+ export type { KernelConfig, MutateResult, EntityRecord, } from './kernel/trellis-kernel.js';
25
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE1E,YAAY,EACV,IAAI,EACJ,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,YAAY,EACZ,eAAe,EACf,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAG9B,YAAY,EACV,QAAQ,EACR,YAAY,EACZ,aAAa,GACd,MAAM,sBAAsB,CAAC;AAG9B,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAGlE,OAAO,EACL,WAAW,EACX,UAAU,EACV,SAAS,EACT,WAAW,EACX,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,KAAK,EACL,OAAO,EACP,WAAW,EACX,WAAW,EACX,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,MAAM,EACN,QAAQ,EACR,SAAS,EACT,OAAO,EACP,QAAQ,EACR,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,eAAe,EACf,YAAY,EACZ,aAAa,EACb,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,SAAS,EACT,cAAc,EACd,eAAe,EACf,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EACV,QAAQ,EACR,OAAO,EACP,WAAW,EACX,UAAU,EACV,QAAQ,EACR,aAAa,EACb,SAAS,EACT,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9D,YAAY,EACV,SAAS,EACT,aAAa,EACb,cAAc,EACd,aAAa,EACb,YAAY,EACZ,cAAc,EACd,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,YAAY,GACb,MAAM,4BAA4B,CAAC"}
@@ -1,27 +1,33 @@
1
1
  // @bun
2
2
  import {
3
- DatalogRuntime,
4
3
  OntologyRegistry,
5
4
  agentOntology,
6
5
  builtinOntologies,
7
6
  createValidationMiddleware,
8
- parseQuery,
9
- parseRule,
10
- parseSimple,
11
7
  projectOntology,
12
8
  teamOntology,
13
9
  validateEntity,
14
10
  validateStore
15
- } from "../index-5m0g9r0y.js";
11
+ } from "../index-04sq3h27.js";
12
+ import {
13
+ DatalogRuntime,
14
+ parseQuery,
15
+ parseRule,
16
+ parseSimple
17
+ } from "../index-n9f2qyh5.js";
16
18
  import {
17
- EAVStore,
18
- QueryEngine,
19
19
  SqliteKernelBackend,
20
- TrellisKernel,
20
+ TrellisKernel
21
+ } from "../index-7t92ej34.js";
22
+ import {
23
+ EAVStore,
21
24
  flatten,
22
25
  init_eav_store,
23
26
  jsonEntityFacts
24
- } from "../index-hybgxe40.js";
27
+ } from "../index-5bhe57y9.js";
28
+ import {
29
+ QueryEngine
30
+ } from "../index-yp88he8n.js";
25
31
  import"../index-a76rekgs.js";
26
32
 
27
33
  // src/core/index.ts
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Kernel middleware types.
3
+ * Slim version inlined from trellis-core — only includes the types
4
+ * used by the VCS layer (op middleware). Query middleware types are
5
+ * omitted to avoid pulling in the full query engine dependency chain.
6
+ *
7
+ * @module trellis/core
8
+ */
9
+ import type { KernelOp } from '../persist/backend.js';
10
+ export type MiddlewareContext = {
11
+ agentId?: string;
12
+ [key: string]: unknown;
13
+ };
14
+ export type OpMiddlewareNext = (op: KernelOp, ctx: MiddlewareContext) => void | Promise<void>;
15
+ export interface KernelMiddleware {
16
+ name: string;
17
+ /**
18
+ * Hook into kernel operations (mutations).
19
+ * Can throw to block the operation (e.g. for security).
20
+ */
21
+ handleOp?: (op: KernelOp, ctx: MiddlewareContext, next: OpMiddlewareNext) => void | Promise<void>;
22
+ /**
23
+ * Hook into kernel queries.
24
+ * Typed loosely here to avoid importing the full query engine.
25
+ */
26
+ handleQuery?: (query: unknown, ctx: MiddlewareContext, next: (...args: any[]) => any) => any;
27
+ }
28
+ //# sourceMappingURL=middleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../src/core/kernel/middleware.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,CAC7B,EAAE,EAAE,QAAQ,EACZ,GAAG,EAAE,iBAAiB,KACnB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE1B,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,QAAQ,CAAC,EAAE,CACT,EAAE,EAAE,QAAQ,EACZ,GAAG,EAAE,iBAAiB,EACtB,IAAI,EAAE,gBAAgB,KACnB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1B;;;OAGG;IACH,WAAW,CAAC,EAAE,CACZ,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,iBAAiB,EACtB,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,KAC1B,GAAG,CAAC;CACV"}
@@ -0,0 +1,162 @@
1
+ /**
2
+ * TrellisKernel — Generic Graph Kernel
3
+ *
4
+ * The composition root for the Trellis semantic kernel. Orchestrates the
5
+ * EAV store, persistence backend, middleware chain, and snapshot lifecycle.
6
+ *
7
+ * The VCS engine (`TrellisVcsEngine`) sits on top of this generic kernel.
8
+ * Non-VCS consumers can use TrellisKernel directly for pure graph CRUD.
9
+ *
10
+ * @module trellis/core
11
+ */
12
+ import { EAVStore } from '../store/eav-store.js';
13
+ import type { Fact, Link, Atom } from '../store/eav-store.js';
14
+ import type { KernelOp, KernelOpKind, KernelBackend } from '../persist/backend.js';
15
+ import type { KernelMiddleware, MiddlewareContext } from './middleware.js';
16
+ import { QueryEngine } from '../query/engine.js';
17
+ import type { Query } from '../query/types.js';
18
+ import type { QueryResult } from '../query/engine.js';
19
+ export interface KernelConfig {
20
+ /** Persistence backend (SQLite or in-memory). */
21
+ backend: KernelBackend;
22
+ /** Agent ID for attributing operations. */
23
+ agentId: string;
24
+ /** Middleware chain applied to every mutation. */
25
+ middleware?: KernelMiddleware[];
26
+ /** Auto-snapshot after this many ops (0 = disabled). */
27
+ snapshotThreshold?: number;
28
+ }
29
+ export interface MutateResult {
30
+ op: KernelOp;
31
+ factsDelta: {
32
+ added: number;
33
+ deleted: number;
34
+ };
35
+ linksDelta: {
36
+ added: number;
37
+ deleted: number;
38
+ };
39
+ }
40
+ export interface EntityRecord {
41
+ id: string;
42
+ type: string;
43
+ facts: Fact[];
44
+ links: Link[];
45
+ }
46
+ export declare class TrellisKernel {
47
+ private store;
48
+ private backend;
49
+ private middleware;
50
+ private agentId;
51
+ private snapshotThreshold;
52
+ private opsSinceSnapshot;
53
+ private _booted;
54
+ constructor(config: KernelConfig);
55
+ /**
56
+ * Initialize the backend and replay persisted state.
57
+ * Loads latest snapshot if available, then replays ops after it.
58
+ */
59
+ boot(): {
60
+ opsReplayed: number;
61
+ fromSnapshot: boolean;
62
+ };
63
+ /**
64
+ * Close the backend connection.
65
+ */
66
+ close(): void;
67
+ isBooted(): boolean;
68
+ /**
69
+ * Apply a mutation to the graph. Creates an op, runs it through middleware,
70
+ * decomposes into EAV primitives, persists, and returns the result.
71
+ */
72
+ mutate(kind: KernelOpKind | string, payload: {
73
+ facts?: Fact[];
74
+ links?: Link[];
75
+ deleteFacts?: Fact[];
76
+ deleteLinks?: Link[];
77
+ meta?: Record<string, unknown>;
78
+ }, ctx?: Partial<MiddlewareContext>): Promise<MutateResult>;
79
+ /**
80
+ * Create a snapshot of the current store state.
81
+ */
82
+ checkpoint(): void;
83
+ /**
84
+ * Get the underlying EAV store for direct queries.
85
+ */
86
+ getStore(): EAVStore;
87
+ /**
88
+ * Get the persistence backend.
89
+ */
90
+ getBackend(): KernelBackend;
91
+ /**
92
+ * Get the agent ID.
93
+ */
94
+ getAgentId(): string;
95
+ /**
96
+ * Read all persisted ops.
97
+ */
98
+ readAllOps(): KernelOp[];
99
+ /**
100
+ * Get the last persisted op.
101
+ */
102
+ getLastOp(): KernelOp | undefined;
103
+ /**
104
+ * Create a QueryEngine bound to this kernel's store.
105
+ */
106
+ createQueryEngine(): QueryEngine;
107
+ /**
108
+ * Execute an EQL-S query, routing through middleware handleQuery hooks.
109
+ * If no middleware intercepts, the query runs directly against the store.
110
+ */
111
+ query(q: Query): Promise<QueryResult>;
112
+ /**
113
+ * Time-travel: reconstruct the store state at a specific op hash.
114
+ * Returns a new EAVStore with state replayed up to (and including) that op.
115
+ */
116
+ timeTravel(opHash: string): EAVStore;
117
+ /**
118
+ * Create a new entity with the given type and attributes.
119
+ * Returns the entity ID.
120
+ */
121
+ createEntity(entityId: string, type: string, attributes?: Record<string, Atom>, links?: Array<{
122
+ attribute: string;
123
+ targetEntityId: string;
124
+ }>): Promise<MutateResult>;
125
+ /**
126
+ * Get an entity by ID, returning all its facts and links.
127
+ */
128
+ getEntity(entityId: string): EntityRecord | null;
129
+ /**
130
+ * Update an entity's attributes. Deletes old values and adds new ones.
131
+ */
132
+ updateEntity(entityId: string, updates: Record<string, Atom>): Promise<MutateResult>;
133
+ /**
134
+ * Delete an entity and all its facts and links.
135
+ */
136
+ deleteEntity(entityId: string): Promise<MutateResult>;
137
+ /**
138
+ * List entities by type, with optional attribute filters.
139
+ */
140
+ listEntities(type?: string, filters?: Record<string, Atom>): EntityRecord[];
141
+ /**
142
+ * Add a link between two entities.
143
+ */
144
+ addLink(sourceId: string, attribute: string, targetId: string): Promise<MutateResult>;
145
+ /**
146
+ * Remove a link between two entities.
147
+ */
148
+ removeLink(sourceId: string, attribute: string, targetId: string): Promise<MutateResult>;
149
+ /**
150
+ * Add a fact to an entity.
151
+ */
152
+ addFact(entityId: string, attribute: string, value: Atom): Promise<MutateResult>;
153
+ /**
154
+ * Remove a fact from an entity.
155
+ */
156
+ removeFact(entityId: string, attribute: string, value: Atom): Promise<MutateResult>;
157
+ addMiddleware(mw: KernelMiddleware): void;
158
+ removeMiddleware(name: string): void;
159
+ private _runMiddleware;
160
+ private _replayOp;
161
+ }
162
+ //# sourceMappingURL=trellis-kernel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trellis-kernel.d.ts","sourceRoot":"","sources":["../../../src/core/kernel/trellis-kernel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Built-in Ontology Definitions
3
+ *
4
+ * Pre-defined ontologies for common domain models:
5
+ * - Project: software project management entities
6
+ * - Team: team/developer organizational entities
7
+ * - Agent: AI agent entities for the agent harness
8
+ *
9
+ * @module trellis/core/ontology
10
+ */
11
+ import type { OntologySchema } from './types.js';
12
+ export declare const projectOntology: OntologySchema;
13
+ export declare const teamOntology: OntologySchema;
14
+ export declare const agentOntology: OntologySchema;
15
+ export declare const builtinOntologies: OntologySchema[];
16
+ //# sourceMappingURL=builtins.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builtins.d.ts","sourceRoot":"","sources":["../../../src/core/ontology/builtins.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAMjD,eAAO,MAAM,eAAe,EAAE,cAwF7B,CAAC;AAMF,eAAO,MAAM,YAAY,EAAE,cAqD1B,CAAC;AAMF,eAAO,MAAM,aAAa,EAAE,cAmE3B,CAAC;AAMF,eAAO,MAAM,iBAAiB,EAAE,cAAc,EAI7C,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Ontology Module — Public API Surface
3
+ *
4
+ * @module trellis/core/ontology
5
+ */
6
+ export type { AttrType, AttributeDef, RelationDef, EntityDef, OntologySchema, ValidationError, ValidationResult, } from './types.js';
7
+ export { OntologyRegistry } from './registry.js';
8
+ export { projectOntology, teamOntology, agentOntology, builtinOntologies, } from './builtins.js';
9
+ export { validateEntity, validateStore, createValidationMiddleware, } from './validator.js';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/ontology/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,YAAY,EACV,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,SAAS,EACT,cAAc,EACd,eAAe,EACf,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGjD,OAAO,EACL,eAAe,EACf,YAAY,EACZ,aAAa,EACb,iBAAiB,GAClB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,cAAc,EACd,aAAa,EACb,0BAA0B,GAC3B,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Ontology Registry — Manages loaded ontology schemas.
3
+ *
4
+ * Provides registration, lookup, inheritance resolution, and
5
+ * entity-type-to-schema mapping.
6
+ *
7
+ * @module trellis/core/ontology
8
+ */
9
+ import type { OntologySchema, EntityDef, RelationDef, AttributeDef } from './types.js';
10
+ export declare class OntologyRegistry {
11
+ private schemas;
12
+ /** Resolved entity defs (with inherited attributes merged). */
13
+ private resolvedEntities;
14
+ /** Resolved relation defs. */
15
+ private resolvedRelations;
16
+ /**
17
+ * Register an ontology schema.
18
+ * Throws if an ontology with the same ID is already registered at the same version.
19
+ */
20
+ register(schema: OntologySchema): void;
21
+ /**
22
+ * Unregister an ontology by ID.
23
+ */
24
+ unregister(id: string): void;
25
+ /**
26
+ * Get a registered ontology schema by ID.
27
+ */
28
+ get(id: string): OntologySchema | undefined;
29
+ /**
30
+ * List all registered ontology schemas.
31
+ */
32
+ list(): OntologySchema[];
33
+ /**
34
+ * Get the resolved entity definition for an entity type name.
35
+ * Returns the entity def with inherited attributes merged in.
36
+ */
37
+ getEntityDef(typeName: string): EntityDef | undefined;
38
+ /**
39
+ * Get the ontology ID that defines a given entity type.
40
+ */
41
+ getEntityOntology(typeName: string): string | undefined;
42
+ /**
43
+ * List all known entity type names.
44
+ */
45
+ listEntityTypes(): string[];
46
+ /**
47
+ * Get all relation definitions involving a given entity type
48
+ * (either as source or target).
49
+ */
50
+ getRelationsForType(typeName: string): RelationDef[];
51
+ /**
52
+ * Get a specific relation definition by name.
53
+ */
54
+ getRelationDef(name: string): RelationDef | undefined;
55
+ /**
56
+ * List all known relation names.
57
+ */
58
+ listRelationNames(): string[];
59
+ /**
60
+ * Check if an entity type is known to any registered ontology.
61
+ */
62
+ hasEntityType(typeName: string): boolean;
63
+ /**
64
+ * Get the required attributes for an entity type.
65
+ */
66
+ getRequiredAttributes(typeName: string): AttributeDef[];
67
+ private _resolve;
68
+ private _resolveEntity;
69
+ }
70
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/core/ontology/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,SAAS,EACT,WAAW,EACX,YAAY,EACb,MAAM,YAAY,CAAC;AAMpB,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,OAAO,CAA0C;IACzD,+DAA+D;IAC/D,OAAO,CAAC,gBAAgB,CAAkE;IAC1F,8BAA8B;IAC9B,OAAO,CAAC,iBAAiB,CAAsE;IAE/F;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAWtC;;OAEG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAwB5B;;OAEG;IACH,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAI3C;;OAEG;IACH,IAAI,IAAI,cAAc,EAAE;IAIxB;;;OAGG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAIrD;;OAEG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIvD;;OAEG;IACH,eAAe,IAAI,MAAM,EAAE;IAI3B;;;OAGG;IACH,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,EAAE;IAepD;;OAEG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAKrD;;OAEG;IACH,iBAAiB,IAAI,MAAM,EAAE;IAI7B;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIxC;;OAEG;IACH,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,EAAE;IAUvD,OAAO,CAAC,QAAQ;IAkBhB,OAAO,CAAC,cAAc;CA+BvB"}
@@ -0,0 +1,97 @@
1
+ /**
2
+ * Ontology Type System — Declarative schemas for entity types, attributes,
3
+ * constraints, and relationships.
4
+ *
5
+ * Ontologies define the "shape" of entities in the graph. They are used for:
6
+ * - Schema validation (reject mutations that violate constraints)
7
+ * - Documentation (describe what entity types exist and their attributes)
8
+ * - Code generation and tooling (auto-complete, type checking)
9
+ *
10
+ * @module trellis/core/ontology
11
+ */
12
+ import type { Atom } from '../store/eav-store.js';
13
+ export type AttrType = 'string' | 'number' | 'boolean' | 'date' | 'ref' | 'any';
14
+ export interface AttributeDef {
15
+ /** Attribute name (fact key). */
16
+ name: string;
17
+ /** Expected value type. */
18
+ type: AttrType;
19
+ /** Human-readable description. */
20
+ description?: string;
21
+ /** Whether this attribute is required on entity creation. */
22
+ required?: boolean;
23
+ /** Whether only one value is allowed (default: true). */
24
+ unique?: boolean;
25
+ /** Default value if not provided. */
26
+ default?: Atom;
27
+ /** Allowed values (enum constraint). */
28
+ enum?: Atom[];
29
+ /** Regex pattern for string values. */
30
+ pattern?: string;
31
+ /** Minimum value (for numbers) or min length (for strings). */
32
+ min?: number;
33
+ /** Maximum value (for numbers) or max length (for strings). */
34
+ max?: number;
35
+ /** If type is 'ref', the target entity type(s) this can reference. */
36
+ refTypes?: string[];
37
+ }
38
+ export interface RelationDef {
39
+ /** Relation attribute name (link key). */
40
+ name: string;
41
+ /** Human-readable description. */
42
+ description?: string;
43
+ /** Source entity type(s) that can have this relation. */
44
+ sourceTypes: string[];
45
+ /** Target entity type(s) this relation can point to. */
46
+ targetTypes: string[];
47
+ /** Cardinality: 'one' = at most one target, 'many' = unlimited. */
48
+ cardinality?: 'one' | 'many';
49
+ /** Whether this relation is required. */
50
+ required?: boolean;
51
+ /** Inverse relation name (auto-created on the target). */
52
+ inverse?: string;
53
+ }
54
+ export interface EntityDef {
55
+ /** Entity type name (e.g. "Project", "User", "Agent"). */
56
+ name: string;
57
+ /** Human-readable description. */
58
+ description?: string;
59
+ /** Attribute definitions for this entity type. */
60
+ attributes: AttributeDef[];
61
+ /** Whether this entity type is abstract (cannot be instantiated directly). */
62
+ abstract?: boolean;
63
+ /** Parent entity type (for inheritance). */
64
+ extends?: string;
65
+ }
66
+ export interface OntologySchema {
67
+ /** Unique ontology identifier (e.g. "trellis:project", "trellis:team"). */
68
+ id: string;
69
+ /** Human-readable name. */
70
+ name: string;
71
+ /** Semantic version. */
72
+ version: string;
73
+ /** Human-readable description. */
74
+ description?: string;
75
+ /** Entity type definitions. */
76
+ entities: EntityDef[];
77
+ /** Relation definitions. */
78
+ relations: RelationDef[];
79
+ }
80
+ export interface ValidationError {
81
+ /** Entity ID that failed validation. */
82
+ entityId: string;
83
+ /** Entity type. */
84
+ entityType: string;
85
+ /** Which attribute or relation failed. */
86
+ field: string;
87
+ /** Error message. */
88
+ message: string;
89
+ /** Severity: 'error' = hard failure, 'warning' = advisory. */
90
+ severity: 'error' | 'warning';
91
+ }
92
+ export interface ValidationResult {
93
+ valid: boolean;
94
+ errors: ValidationError[];
95
+ warnings: ValidationError[];
96
+ }
97
+ //# sourceMappingURL=types.d.ts.map