trellis 1.0.8 → 2.0.5

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 (107) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +533 -82
  3. package/bin/trellis.mjs +2 -0
  4. package/dist/cli/index.js +4718 -0
  5. package/dist/core/index.js +12 -0
  6. package/dist/decisions/index.js +19 -0
  7. package/dist/embeddings/index.js +43 -0
  8. package/dist/index-1j1anhmr.js +4038 -0
  9. package/dist/index-3s0eak0p.js +1556 -0
  10. package/dist/index-8pce39mh.js +272 -0
  11. package/dist/index-a76rekgs.js +67 -0
  12. package/dist/index-cy9k1g6v.js +684 -0
  13. package/dist/index-fd4e26s4.js +69 -0
  14. package/dist/{store/eav-store.js → index-gkvhzm9f.js} +4 -6
  15. package/dist/index-gnw8d7d6.js +51 -0
  16. package/dist/index-vkpkfwhq.js +817 -0
  17. package/dist/index.js +118 -2876
  18. package/dist/links/index.js +55 -0
  19. package/dist/transformers-m9je15kg.js +32491 -0
  20. package/dist/vcs/index.js +110 -0
  21. package/logo.png +0 -0
  22. package/logo.svg +9 -0
  23. package/package.json +79 -76
  24. package/src/cli/index.ts +2340 -0
  25. package/src/core/index.ts +35 -0
  26. package/src/core/kernel/middleware.ts +44 -0
  27. package/src/core/persist/backend.ts +64 -0
  28. package/src/core/store/eav-store.ts +467 -0
  29. package/src/decisions/auto-capture.ts +136 -0
  30. package/src/decisions/hooks.ts +163 -0
  31. package/src/decisions/index.ts +261 -0
  32. package/src/decisions/types.ts +103 -0
  33. package/src/embeddings/chunker.ts +327 -0
  34. package/src/embeddings/index.ts +41 -0
  35. package/src/embeddings/model.ts +95 -0
  36. package/src/embeddings/search.ts +305 -0
  37. package/src/embeddings/store.ts +313 -0
  38. package/src/embeddings/types.ts +85 -0
  39. package/src/engine.ts +1083 -0
  40. package/src/garden/cluster.ts +330 -0
  41. package/src/garden/garden.ts +306 -0
  42. package/src/garden/index.ts +29 -0
  43. package/src/git/git-exporter.ts +286 -0
  44. package/src/git/git-importer.ts +329 -0
  45. package/src/git/git-reader.ts +189 -0
  46. package/src/git/index.ts +22 -0
  47. package/src/identity/governance.ts +211 -0
  48. package/src/identity/identity.ts +224 -0
  49. package/src/identity/index.ts +30 -0
  50. package/src/identity/signing-middleware.ts +97 -0
  51. package/src/index.ts +20 -0
  52. package/src/links/index.ts +49 -0
  53. package/src/links/lifecycle.ts +400 -0
  54. package/src/links/parser.ts +484 -0
  55. package/src/links/ref-index.ts +186 -0
  56. package/src/links/resolver.ts +314 -0
  57. package/src/links/types.ts +108 -0
  58. package/src/mcp/index.ts +22 -0
  59. package/src/mcp/server.ts +1278 -0
  60. package/src/semantic/csharp-parser.ts +493 -0
  61. package/src/semantic/go-parser.ts +585 -0
  62. package/src/semantic/index.ts +34 -0
  63. package/src/semantic/java-parser.ts +456 -0
  64. package/src/semantic/python-parser.ts +659 -0
  65. package/src/semantic/ruby-parser.ts +446 -0
  66. package/src/semantic/rust-parser.ts +784 -0
  67. package/src/semantic/semantic-merge.ts +210 -0
  68. package/src/semantic/ts-parser.ts +681 -0
  69. package/src/semantic/types.ts +175 -0
  70. package/src/sync/index.ts +32 -0
  71. package/src/sync/memory-transport.ts +66 -0
  72. package/src/sync/reconciler.ts +237 -0
  73. package/src/sync/sync-engine.ts +258 -0
  74. package/src/sync/types.ts +104 -0
  75. package/src/vcs/blob-store.ts +124 -0
  76. package/src/vcs/branch.ts +150 -0
  77. package/src/vcs/checkpoint.ts +64 -0
  78. package/src/vcs/decompose.ts +469 -0
  79. package/src/vcs/diff.ts +409 -0
  80. package/src/vcs/engine-context.ts +26 -0
  81. package/src/vcs/index.ts +23 -0
  82. package/src/vcs/issue.ts +800 -0
  83. package/src/vcs/merge.ts +425 -0
  84. package/src/vcs/milestone.ts +124 -0
  85. package/src/vcs/ops.ts +59 -0
  86. package/src/vcs/types.ts +213 -0
  87. package/src/vcs/vcs-middleware.ts +81 -0
  88. package/src/watcher/fs-watcher.ts +217 -0
  89. package/src/watcher/index.ts +9 -0
  90. package/src/watcher/ingestion.ts +116 -0
  91. package/dist/ai/index.js +0 -688
  92. package/dist/cli/server.js +0 -3321
  93. package/dist/cli/tql.js +0 -5282
  94. package/dist/client/tql-client.js +0 -108
  95. package/dist/graph/index.js +0 -2248
  96. package/dist/kernel/logic-middleware.js +0 -179
  97. package/dist/kernel/middleware.js +0 -0
  98. package/dist/kernel/operations.js +0 -32
  99. package/dist/kernel/schema-middleware.js +0 -34
  100. package/dist/kernel/security-middleware.js +0 -53
  101. package/dist/kernel/trellis-kernel.js +0 -2239
  102. package/dist/kernel/workspace.js +0 -91
  103. package/dist/persist/backend.js +0 -0
  104. package/dist/persist/sqlite-backend.js +0 -123
  105. package/dist/query/index.js +0 -1643
  106. package/dist/server/index.js +0 -3309
  107. package/dist/workflows/index.js +0 -3160
@@ -0,0 +1,69 @@
1
+ // @bun
2
+ // src/vcs/ops.ts
3
+ async function createVcsOp(kind, params) {
4
+ const opBase = {
5
+ kind,
6
+ timestamp: new Date().toISOString(),
7
+ agentId: params.agentId,
8
+ previousHash: params.previousHash,
9
+ vcs: params.vcs
10
+ };
11
+ const content = JSON.stringify(opBase);
12
+ const msgUint8 = new TextEncoder().encode(content);
13
+ const hashBuffer = await crypto.subtle.digest("SHA-256", msgUint8);
14
+ const hashArray = Array.from(new Uint8Array(hashBuffer));
15
+ const hashHex = hashArray.map((b) => b.toString(16).padStart(2, "0")).join("");
16
+ return {
17
+ ...opBase,
18
+ hash: `trellis:op:${hashHex}`
19
+ };
20
+ }
21
+ function isVcsOp(op) {
22
+ return op.vcs !== undefined || typeof op.kind === "string" && op.kind.startsWith("vcs:");
23
+ }
24
+ function isVcsOpKind(kind) {
25
+ return kind.startsWith("vcs:");
26
+ }
27
+
28
+ // src/vcs/types.ts
29
+ function fileEntityId(path) {
30
+ return `file:${path}`;
31
+ }
32
+ function dirEntityId(path) {
33
+ return `dir:${path}`;
34
+ }
35
+ function branchEntityId(name) {
36
+ return `branch:${name}`;
37
+ }
38
+ function milestoneEntityId(hash) {
39
+ return `milestone:${hash}`;
40
+ }
41
+ function checkpointEntityId(hash) {
42
+ return `checkpoint:${hash}`;
43
+ }
44
+ function issueEntityId(id) {
45
+ return id.startsWith("issue:") ? id : `issue:${id}`;
46
+ }
47
+ function criterionEntityId(issueId, index) {
48
+ const bare = issueId.replace(/^issue:/, "");
49
+ return `criterion:${bare}:ac-${index}`;
50
+ }
51
+ function decisionEntityId(id) {
52
+ return id.startsWith("decision:") ? id : `decision:${id}`;
53
+ }
54
+ var DEFAULT_CONFIG = {
55
+ ignorePatterns: [
56
+ "node_modules",
57
+ ".git",
58
+ ".trellis",
59
+ "dist",
60
+ "build",
61
+ ".DS_Store",
62
+ "*.log"
63
+ ],
64
+ debounceMs: 300,
65
+ defaultBranch: "main",
66
+ dbPath: ".trellis/trellis.db"
67
+ };
68
+
69
+ export { createVcsOp, isVcsOp, isVcsOpKind, fileEntityId, dirEntityId, branchEntityId, milestoneEntityId, checkpointEntityId, issueEntityId, criterionEntityId, decisionEntityId, DEFAULT_CONFIG };
@@ -1,4 +1,5 @@
1
- // src/store/eav-store.ts
1
+ // @bun
2
+ // src/core/store/eav-store.ts
2
3
  function* flatten(obj, base = "") {
3
4
  if (Array.isArray(obj)) {
4
5
  for (const v of obj) {
@@ -316,8 +317,5 @@ class EAVStore {
316
317
  }
317
318
  }
318
319
  }
319
- export {
320
- jsonEntityFacts,
321
- flatten,
322
- EAVStore
323
- };
320
+
321
+ export { flatten, jsonEntityFacts, EAVStore };
@@ -0,0 +1,51 @@
1
+ // @bun
2
+ import {
3
+ decompose
4
+ } from "./index-3s0eak0p.js";
5
+ import {
6
+ isVcsOp
7
+ } from "./index-fd4e26s4.js";
8
+ // src/vcs/vcs-middleware.ts
9
+ class VcsMiddleware {
10
+ name = "vcs";
11
+ async handleOp(op, ctx, next) {
12
+ if (!isVcsOp(op)) {
13
+ return next(op, ctx);
14
+ }
15
+ const vcsOp = op;
16
+ const decomposed = decompose(vcsOp);
17
+ if (decomposed.deleteFacts.length > 0) {
18
+ await next({
19
+ ...op,
20
+ kind: "deleteFacts",
21
+ facts: decomposed.deleteFacts,
22
+ links: undefined
23
+ }, ctx);
24
+ }
25
+ if (decomposed.deleteLinks.length > 0) {
26
+ await next({
27
+ ...op,
28
+ kind: "deleteLinks",
29
+ facts: undefined,
30
+ links: decomposed.deleteLinks
31
+ }, ctx);
32
+ }
33
+ if (decomposed.addFacts.length > 0) {
34
+ await next({
35
+ ...op,
36
+ kind: "addFacts",
37
+ facts: decomposed.addFacts,
38
+ links: undefined
39
+ }, ctx);
40
+ }
41
+ if (decomposed.addLinks.length > 0) {
42
+ await next({
43
+ ...op,
44
+ kind: "addLinks",
45
+ facts: undefined,
46
+ links: decomposed.addLinks
47
+ }, ctx);
48
+ }
49
+ }
50
+ }
51
+ export { VcsMiddleware };