agent-trellis 0.8.0 → 0.9.0

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 (251) hide show
  1. package/README.md +45 -206
  2. package/dist/adapters/zcode.d.ts +21 -0
  3. package/dist/adapters/zcode.js +234 -0
  4. package/dist/cli.js +119 -10
  5. package/dist/commands/doctor.js +2 -0
  6. package/dist/commands/init.d.ts +1 -1
  7. package/dist/commands/init.js +4 -1
  8. package/dist/commands/mcp.d.ts +56 -14
  9. package/dist/commands/mcp.js +105 -28
  10. package/dist/commands/mcpGateway.js +2 -1
  11. package/dist/commands/mcpImport.d.ts +21 -2
  12. package/dist/commands/mcpImport.js +30 -7
  13. package/dist/commands/memory.d.ts +13 -1
  14. package/dist/commands/memory.js +15 -0
  15. package/dist/commands/migrate.js +4 -1
  16. package/dist/commands/onboard.js +15 -4
  17. package/dist/commands/remoteSkill.d.ts +90 -0
  18. package/dist/commands/remoteSkill.js +392 -0
  19. package/dist/commands/rollback.js +55 -1
  20. package/dist/commands/secretsAudit.js +4 -1
  21. package/dist/commands/skill.d.ts +37 -6
  22. package/dist/commands/skill.js +73 -15
  23. package/dist/commands/sync.js +3 -1
  24. package/dist/core/adapter.d.ts +11 -1
  25. package/dist/core/canonical.d.ts +17 -1
  26. package/dist/core/canonical.js +54 -0
  27. package/dist/core/types.d.ts +1 -1
  28. package/dist/core/types.js +1 -0
  29. package/dist/lib/agentBridge.d.ts +169 -0
  30. package/dist/lib/agentBridge.js +367 -0
  31. package/dist/lib/agentBridgeProvider.d.ts +14 -0
  32. package/dist/lib/agentBridgeProvider.js +95 -0
  33. package/dist/lib/backup.d.ts +42 -0
  34. package/dist/lib/backup.js +36 -3
  35. package/dist/lib/chatAgents.d.ts +42 -0
  36. package/dist/lib/chatAgents.js +59 -0
  37. package/dist/lib/dirDigest.d.ts +11 -0
  38. package/dist/lib/dirDigest.js +52 -0
  39. package/dist/lib/envVarNames.d.ts +3 -0
  40. package/dist/lib/envVarNames.js +19 -0
  41. package/dist/lib/installAgent.d.ts +1 -1
  42. package/dist/lib/installAgent.js +1 -1
  43. package/dist/lib/mcpMigrateRead.d.ts +1 -0
  44. package/dist/lib/mcpMigrateRead.js +19 -1
  45. package/dist/lib/realHomeSnapshot.js +5 -0
  46. package/dist/lib/remoteSkillLock.d.ts +26 -0
  47. package/dist/lib/remoteSkillLock.js +88 -0
  48. package/dist/lib/remoteSkillSource.d.ts +45 -0
  49. package/dist/lib/remoteSkillSource.js +206 -0
  50. package/dist/lib/runtimeControlProvider.js +2 -0
  51. package/dist/lib/taskStore.js +1 -1
  52. package/dist/lib/terminalPicker.js +33 -6
  53. package/dist/lib/zcodeOwnership.d.ts +17 -0
  54. package/dist/lib/zcodeOwnership.js +37 -0
  55. package/dist/pi-bridge/bundle.js +2 -1
  56. package/dist/probes/codex.d.ts +7 -0
  57. package/dist/probes/codex.js +37 -5
  58. package/dist/probes/zcode.d.ts +32 -0
  59. package/dist/probes/zcode.js +140 -0
  60. package/docs/architecture.md +9 -5
  61. package/docs/assets/brand-v3/trellis-mark-v3-a.png +0 -0
  62. package/docs/assets/brand-v3/trellis-mark-v3-a.svg +10 -0
  63. package/docs/assets/poster-series-v3/README.md +60 -0
  64. package/docs/assets/poster-series-v3/agent-trellis-poster-v3-horizontal-en.png +0 -0
  65. package/docs/assets/poster-series-v3/agent-trellis-poster-v3-horizontal-en.svg +51 -0
  66. package/docs/assets/poster-series-v3/agent-trellis-poster-v3-horizontal-zh.png +0 -0
  67. package/docs/assets/poster-series-v3/agent-trellis-poster-v3-horizontal-zh.svg +51 -0
  68. package/docs/assets/poster-series-v3/agent-trellis-poster-v3-memory-en.png +0 -0
  69. package/docs/assets/poster-series-v3/agent-trellis-poster-v3-memory-en.svg +48 -0
  70. package/docs/assets/poster-series-v3/agent-trellis-poster-v3-memory-zh.png +0 -0
  71. package/docs/assets/poster-series-v3/agent-trellis-poster-v3-memory-zh.svg +48 -0
  72. package/docs/assets/poster-series-v3/agent-trellis-poster-v3-migrate-en.png +0 -0
  73. package/docs/assets/poster-series-v3/agent-trellis-poster-v3-migrate-en.svg +56 -0
  74. package/docs/assets/poster-series-v3/agent-trellis-poster-v3-migrate-zh.png +0 -0
  75. package/docs/assets/poster-series-v3/agent-trellis-poster-v3-migrate-zh.svg +56 -0
  76. package/docs/assets/poster-series-v3/agent-trellis-poster-v3-switch-en.png +0 -0
  77. package/docs/assets/poster-series-v3/agent-trellis-poster-v3-switch-en.svg +47 -0
  78. package/docs/assets/poster-series-v3/agent-trellis-poster-v3-switch-zh.png +0 -0
  79. package/docs/assets/poster-series-v3/agent-trellis-poster-v3-switch-zh.svg +47 -0
  80. package/docs/assets/poster-series-v3/agent-trellis-poster-v3-unified-en.png +0 -0
  81. package/docs/assets/poster-series-v3/agent-trellis-poster-v3-unified-en.svg +51 -0
  82. package/docs/assets/poster-series-v3/agent-trellis-poster-v3-unified-zh.png +0 -0
  83. package/docs/assets/poster-series-v3/agent-trellis-poster-v3-unified-zh.svg +51 -0
  84. package/docs/getting-started.md +244 -14
  85. package/docs/overview.md +6 -3
  86. package/docs/overview.zh-CN.md +5 -3
  87. package/docs/roadmap.md +2 -1
  88. package/docs/video/README.md +76 -0
  89. package/docs/video/build/audio/01-opening.aiff +0 -0
  90. package/docs/video/build/audio/01-opening.mp3 +0 -0
  91. package/docs/video/build/audio/02-pain.aiff +0 -0
  92. package/docs/video/build/audio/02-pain.mp3 +0 -0
  93. package/docs/video/build/audio/03-solution.aiff +0 -0
  94. package/docs/video/build/audio/03-solution.mp3 +0 -0
  95. package/docs/video/build/audio/04-install.aiff +0 -0
  96. package/docs/video/build/audio/04-install.mp3 +0 -0
  97. package/docs/video/build/audio/04-setup.mp3 +0 -0
  98. package/docs/video/build/audio/05-dryrun.mp3 +0 -0
  99. package/docs/video/build/audio/05-init.aiff +0 -0
  100. package/docs/video/build/audio/05-init.mp3 +0 -0
  101. package/docs/video/build/audio/05-interactive.mp3 +0 -0
  102. package/docs/video/build/audio/06-dryrun.aiff +0 -0
  103. package/docs/video/build/audio/06-dryrun.mp3 +0 -0
  104. package/docs/video/build/audio/06-onboard.mp3 +0 -0
  105. package/docs/video/build/audio/06-run.mp3 +0 -0
  106. package/docs/video/build/audio/07-onboard.aiff +0 -0
  107. package/docs/video/build/audio/07-onboard.mp3 +0 -0
  108. package/docs/video/build/audio/07-verify.mp3 +0 -0
  109. package/docs/video/build/audio/08-closing.mp3 +0 -0
  110. package/docs/video/build/audio/08-doctor.aiff +0 -0
  111. package/docs/video/build/audio/08-doctor.mp3 +0 -0
  112. package/docs/video/build/audio/09-rollback.aiff +0 -0
  113. package/docs/video/build/audio/09-rollback.mp3 +0 -0
  114. package/docs/video/build/audio/10-principles.aiff +0 -0
  115. package/docs/video/build/audio/10-principles.mp3 +0 -0
  116. package/docs/video/build/audio/11-closing.aiff +0 -0
  117. package/docs/video/build/audio/11-closing.mp3 +0 -0
  118. package/docs/video/build/frames/01-opening-0.png +0 -0
  119. package/docs/video/build/frames/02-pain-1.png +0 -0
  120. package/docs/video/build/frames/02-pain-2.png +0 -0
  121. package/docs/video/build/frames/03-solution-3.png +0 -0
  122. package/docs/video/build/frames/04-install-4.png +0 -0
  123. package/docs/video/build/frames/04-setup-4.png +0 -0
  124. package/docs/video/build/frames/04-setup-5.png +0 -0
  125. package/docs/video/build/frames/05-dryrun-6.png +0 -0
  126. package/docs/video/build/frames/05-init-5.png +0 -0
  127. package/docs/video/build/frames/05-interactive-5.png +0 -0
  128. package/docs/video/build/frames/05-interactive-6.png +0 -0
  129. package/docs/video/build/frames/06-dryrun-6.png +0 -0
  130. package/docs/video/build/frames/06-dryrun-7.png +0 -0
  131. package/docs/video/build/frames/06-onboard-7.png +0 -0
  132. package/docs/video/build/frames/06-onboard-8.png +0 -0
  133. package/docs/video/build/frames/06-run-7.png +0 -0
  134. package/docs/video/build/frames/06-run-8.png +0 -0
  135. package/docs/video/build/frames/07-onboard-10.png +0 -0
  136. package/docs/video/build/frames/07-onboard-7.png +0 -0
  137. package/docs/video/build/frames/07-onboard-8.png +0 -0
  138. package/docs/video/build/frames/07-onboard-9.png +0 -0
  139. package/docs/video/build/frames/07-verify-10.png +0 -0
  140. package/docs/video/build/frames/07-verify-8.png +0 -0
  141. package/docs/video/build/frames/07-verify-9.png +0 -0
  142. package/docs/video/build/frames/08-closing-10.png +0 -0
  143. package/docs/video/build/frames/08-closing-11.png +0 -0
  144. package/docs/video/build/frames/08-doctor-11.png +0 -0
  145. package/docs/video/build/frames/08-doctor-9.png +0 -0
  146. package/docs/video/build/frames/09-rollback-10.png +0 -0
  147. package/docs/video/build/frames/09-rollback-12.png +0 -0
  148. package/docs/video/build/frames/10-principles-11.png +0 -0
  149. package/docs/video/build/frames/10-principles-13.png +0 -0
  150. package/docs/video/build/frames/11-closing-12.png +0 -0
  151. package/docs/video/build/frames/11-closing-14.png +0 -0
  152. package/docs/video/build/segments/01-opening.mp4 +0 -0
  153. package/docs/video/build/segments/01-opening.txt +3 -0
  154. package/docs/video/build/segments/02-pain.mp4 +0 -0
  155. package/docs/video/build/segments/02-pain.txt +5 -0
  156. package/docs/video/build/segments/03-solution.mp4 +0 -0
  157. package/docs/video/build/segments/03-solution.txt +3 -0
  158. package/docs/video/build/segments/04-install.mp4 +0 -0
  159. package/docs/video/build/segments/04-install.txt +3 -0
  160. package/docs/video/build/segments/04-setup.mp4 +0 -0
  161. package/docs/video/build/segments/04-setup.txt +3 -0
  162. package/docs/video/build/segments/05-dryrun.mp4 +0 -0
  163. package/docs/video/build/segments/05-dryrun.txt +3 -0
  164. package/docs/video/build/segments/05-init.mp4 +0 -0
  165. package/docs/video/build/segments/05-init.txt +3 -0
  166. package/docs/video/build/segments/05-interactive.mp4 +0 -0
  167. package/docs/video/build/segments/05-interactive.txt +5 -0
  168. package/docs/video/build/segments/06-dryrun.mp4 +0 -0
  169. package/docs/video/build/segments/06-dryrun.txt +3 -0
  170. package/docs/video/build/segments/06-onboard.mp4 +0 -0
  171. package/docs/video/build/segments/06-onboard.txt +5 -0
  172. package/docs/video/build/segments/06-run.mp4 +0 -0
  173. package/docs/video/build/segments/06-run.txt +3 -0
  174. package/docs/video/build/segments/07-onboard.mp4 +0 -0
  175. package/docs/video/build/segments/07-onboard.txt +5 -0
  176. package/docs/video/build/segments/07-verify.mp4 +0 -0
  177. package/docs/video/build/segments/07-verify.txt +5 -0
  178. package/docs/video/build/segments/08-closing.mp4 +0 -0
  179. package/docs/video/build/segments/08-closing.txt +3 -0
  180. package/docs/video/build/segments/08-doctor.mp4 +0 -0
  181. package/docs/video/build/segments/08-doctor.txt +3 -0
  182. package/docs/video/build/segments/09-rollback.mp4 +0 -0
  183. package/docs/video/build/segments/09-rollback.txt +3 -0
  184. package/docs/video/build/segments/10-principles.mp4 +0 -0
  185. package/docs/video/build/segments/10-principles.txt +3 -0
  186. package/docs/video/build/segments/11-closing.mp4 +0 -0
  187. package/docs/video/build/segments/11-closing.txt +3 -0
  188. package/docs/video/build/segments/final.txt +8 -0
  189. package/docs/video/build-ai/audio/01-hook.mp3 +0 -0
  190. package/docs/video/build-ai/audio/02-pain.mp3 +0 -0
  191. package/docs/video/build-ai/audio/03-solution.mp3 +0 -0
  192. package/docs/video/build-ai/audio/04-how.mp3 +0 -0
  193. package/docs/video/build-ai/audio/05-safe.mp3 +0 -0
  194. package/docs/video/build-ai/audio/06-closing.mp3 +0 -0
  195. package/docs/video/build-ai/clips/01-hook.mp4 +0 -0
  196. package/docs/video/build-ai/clips/02-pain.mp4 +0 -0
  197. package/docs/video/build-ai/clips/03-solution.mp4 +0 -0
  198. package/docs/video/build-ai/clips/04-how.mp4 +0 -0
  199. package/docs/video/build-ai/clips/05-safe.mp4 +0 -0
  200. package/docs/video/build-ai/clips/06-closing.mp4 +0 -0
  201. package/docs/video/build-ai/first-frame-02-pain.png +0 -0
  202. package/docs/video/build-ai/first-frame-03-solution.png +0 -0
  203. package/docs/video/build-ai/first-frame-04-how.png +0 -0
  204. package/docs/video/build-ai/first-frame-05-safe.png +0 -0
  205. package/docs/video/build-ai/segments/01-hook.caption.txt +2 -0
  206. package/docs/video/build-ai/segments/01-hook.mp4 +0 -0
  207. package/docs/video/build-ai/segments/02-pain.mp4 +0 -0
  208. package/docs/video/build-ai/segments/03-solution.mp4 +0 -0
  209. package/docs/video/build-ai/segments/04-how.mp4 +0 -0
  210. package/docs/video/build-ai/segments/05-safe.mp4 +0 -0
  211. package/docs/video/build-ai/segments/06-closing.mp4 +0 -0
  212. package/docs/video/build-ai/segments/cap-01-hook.png +0 -0
  213. package/docs/video/build-ai/segments/cap-02-pain.png +0 -0
  214. package/docs/video/build-ai/segments/cap-03-solution.png +0 -0
  215. package/docs/video/build-ai/segments/cap-04-how.png +0 -0
  216. package/docs/video/build-ai/segments/cap-05-safe.png +0 -0
  217. package/docs/video/build-ai/segments/cap-06-closing.png +0 -0
  218. package/docs/video/build-ai/segments/final.txt +6 -0
  219. package/docs/video/build-posters/audio/01-hook.mp3 +0 -0
  220. package/docs/video/build-posters/audio/02-pain.mp3 +0 -0
  221. package/docs/video/build-posters/audio/03-solution.mp3 +0 -0
  222. package/docs/video/build-posters/audio/04-how.mp3 +0 -0
  223. package/docs/video/build-posters/audio/05-safe.mp3 +0 -0
  224. package/docs/video/build-posters/audio/06-closing.mp3 +0 -0
  225. package/docs/video/build-posters/cap-01-hook.png +0 -0
  226. package/docs/video/build-posters/cap-02-pain.png +0 -0
  227. package/docs/video/build-posters/cap-03-solution.png +0 -0
  228. package/docs/video/build-posters/cap-04-how.png +0 -0
  229. package/docs/video/build-posters/cap-05-safe.png +0 -0
  230. package/docs/video/build-posters/cap-06-closing.png +0 -0
  231. package/docs/video/build-posters/card-01-hook.png +0 -0
  232. package/docs/video/build-posters/card-06-closing.png +0 -0
  233. package/docs/video/build-posters/segments/01-hook.mp4 +0 -0
  234. package/docs/video/build-posters/segments/02-pain.mp4 +0 -0
  235. package/docs/video/build-posters/segments/03-solution.mp4 +0 -0
  236. package/docs/video/build-posters/segments/04-how.mp4 +0 -0
  237. package/docs/video/build-posters/segments/05-safe.mp4 +0 -0
  238. package/docs/video/build-posters/segments/06-closing.mp4 +0 -0
  239. package/docs/video/build-posters/segments/final.txt +6 -0
  240. package/docs/video/generate-video-ai.mjs +334 -0
  241. package/docs/video/generate-video-posters.mjs +204 -0
  242. package/docs/video/generate-video.mjs +426 -0
  243. package/docs/video/outline.zh-CN.md +102 -0
  244. package/docs/video/trellis-demo-video-ai.mp4 +0 -0
  245. package/docs/video/trellis-demo-video.mp4 +0 -0
  246. package/docs/video/voiceover.zh-CN.md +49 -0
  247. package/package.json +5 -2
  248. package/schema/servers.example.yaml +1 -1
  249. package/docs/assets/agent-trellis-architecture-horizontal.svg +0 -80
  250. package/docs/assets/agent-trellis-architecture-vertical.svg +0 -82
  251. package/docs/assets/trellis-mark.svg +0 -12
@@ -1,80 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1600 900" role="img" aria-labelledby="title desc">
2
- <title id="title">Agent Trellis — Unified Code Agent Runtime</title>
3
- <desc id="desc">A horizontal architecture diagram showing Code Agents running on top of Agent Trellis Runtime, which manages Skills, MCP, Memory, and Instructions.</desc>
4
- <defs>
5
- <linearGradient id="bg" x1="0" y1="0" x2="1" y2="1">
6
- <stop offset="0" stop-color="#0b1118"/>
7
- <stop offset="1" stop-color="#111c24"/>
8
- </linearGradient>
9
- <linearGradient id="base" x1="0" y1="0" x2="0" y2="1">
10
- <stop offset="0" stop-color="#273742"/>
11
- <stop offset="1" stop-color="#17232c"/>
12
- </linearGradient>
13
- <filter id="shadow" x="-20%" y="-20%" width="140%" height="160%">
14
- <feDropShadow dx="0" dy="18" stdDeviation="16" flood-color="#000" flood-opacity=".35"/>
15
- </filter>
16
- <marker id="arrow" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse">
17
- <path d="M 0 0 L 10 5 L 0 10 z" fill="#a9efd2"/>
18
- </marker>
19
- <style>
20
- .sans { font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
21
- .mono { font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace; }
22
- .title { fill: #f5efe3; font-size: 42px; font-weight: 720; letter-spacing: -.8px; }
23
- .subtitle { fill: #a9efd2; font-size: 18px; font-weight: 620; letter-spacing: 2px; }
24
- .label { fill: #f5efe3; font-size: 19px; font-weight: 680; }
25
- .small { fill: #9aaab4; font-size: 14px; }
26
- .tiny { fill: #7f919d; font-size: 12px; }
27
- </style>
28
- </defs>
29
-
30
- <rect width="1600" height="900" fill="url(#bg)"/>
31
- <path d="M0 120H1600M0 780H1600M120 0V900M1480 0V900" stroke="#24333d" stroke-width="1" opacity=".55"/>
32
-
33
- <g class="sans">
34
- <text x="100" y="94" class="title">Agent Trellis</text>
35
- <text x="102" y="127" class="subtitle">UNIFIED CODE AGENT RUNTIME</text>
36
- <text x="1500" y="96" text-anchor="end" class="small">one runtime · many coding agents</text>
37
-
38
- <!-- Agent layer -->
39
- <text x="800" y="190" text-anchor="middle" class="small" letter-spacing="2">CODE AGENTS</text>
40
- <g filter="url(#shadow)">
41
- <rect x="110" y="224" width="240" height="112" rx="16" fill="#17242c" stroke="#a9efd2" stroke-width="2"/>
42
- <rect x="380" y="224" width="240" height="112" rx="16" fill="#17242c" stroke="#a9efd2" stroke-width="2"/>
43
- <rect x="650" y="224" width="300" height="112" rx="16" fill="#17242c" stroke="#f2b35b" stroke-width="3"/>
44
- <rect x="980" y="224" width="240" height="112" rx="16" fill="#17242c" stroke="#a9efd2" stroke-width="2"/>
45
- <rect x="1250" y="224" width="240" height="112" rx="16" fill="#17242c" stroke="#a9efd2" stroke-width="2"/>
46
- </g>
47
- <text x="230" y="274" text-anchor="middle" class="label">Claude Code</text>
48
- <text x="230" y="303" text-anchor="middle" class="tiny">native adapter</text>
49
- <text x="500" y="274" text-anchor="middle" class="label">Codex</text>
50
- <text x="500" y="303" text-anchor="middle" class="tiny">native adapter</text>
51
- <text x="800" y="274" text-anchor="middle" class="label">Kimi Code</text>
52
- <text x="800" y="303" text-anchor="middle" class="tiny">Runtime-first</text>
53
- <text x="1100" y="274" text-anchor="middle" class="label">Kiro</text>
54
- <text x="1100" y="303" text-anchor="middle" class="tiny">native adapter</text>
55
- <text x="1370" y="274" text-anchor="middle" class="label">pi</text>
56
- <text x="1370" y="303" text-anchor="middle" class="tiny">bridge adapter</text>
57
-
58
- <path d="M230 338V405M500 338V405M800 338V405M1100 338V405M1370 338V405" stroke="#a9efd2" stroke-width="2" marker-end="url(#arrow)"/>
59
-
60
- <!-- Runtime foundation -->
61
- <g filter="url(#shadow)">
62
- <rect x="140" y="420" width="1320" height="220" rx="24" fill="url(#base)" stroke="#f2b35b" stroke-width="2"/>
63
- <rect x="165" y="445" width="1270" height="68" rx="14" fill="#0e1820" stroke="#41515b"/>
64
- <rect x="165" y="528" width="1270" height="68" rx="14" fill="#0e1820" stroke="#41515b"/>
65
- </g>
66
- <text x="800" y="475" text-anchor="middle" class="label" font-size="24">Agent Trellis Runtime</text>
67
- <text x="800" y="501" text-anchor="middle" class="tiny">canonical source · policy · providers · adapters</text>
68
- <text x="325" y="570" text-anchor="middle" class="label">Skills</text>
69
- <text x="625" y="570" text-anchor="middle" class="label">MCP</text>
70
- <text x="925" y="570" text-anchor="middle" class="label">Memory</text>
71
- <text x="1225" y="570" text-anchor="middle" class="label">Instructions</text>
72
- <path d="M325 540v-20M625 540v-20M925 540v-20M1225 540v-20" stroke="#f2b35b" stroke-width="3"/>
73
-
74
- <!-- Canonical source -->
75
- <path d="M800 640V700" stroke="#f2b35b" stroke-width="3" marker-end="url(#arrow)"/>
76
- <rect x="400" y="714" width="800" height="86" rx="18" fill="#101a22" stroke="#53636c"/>
77
- <text x="800" y="750" text-anchor="middle" class="label">Canonical Source</text>
78
- <text x="800" y="777" text-anchor="middle" class="mono small">~/.trellis · one source of truth</text>
79
- </g>
80
- </svg>
@@ -1,82 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1080 1440" role="img" aria-labelledby="title desc">
2
- <title id="title">Agent Trellis — Unified Code Agent Runtime</title>
3
- <desc id="desc">A vertical architecture diagram showing one canonical source and Runtime foundation supporting multiple Code Agents through Skills, MCP, Memory, and Instructions.</desc>
4
- <defs>
5
- <linearGradient id="bg" x1="0" y1="0" x2="1" y2="1">
6
- <stop offset="0" stop-color="#0b1118"/>
7
- <stop offset="1" stop-color="#111c24"/>
8
- </linearGradient>
9
- <linearGradient id="base" x1="0" y1="0" x2="0" y2="1">
10
- <stop offset="0" stop-color="#293943"/>
11
- <stop offset="1" stop-color="#17232c"/>
12
- </linearGradient>
13
- <filter id="shadow" x="-20%" y="-20%" width="140%" height="160%">
14
- <feDropShadow dx="0" dy="16" stdDeviation="14" flood-color="#000" flood-opacity=".35"/>
15
- </filter>
16
- <style>
17
- .sans { font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
18
- .mono { font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace; }
19
- .title { fill: #f5efe3; font-size: 54px; font-weight: 750; letter-spacing: -1px; }
20
- .sub { fill: #a9efd2; font-size: 22px; font-weight: 650; letter-spacing: 1px; }
21
- .label { fill: #f5efe3; font-size: 25px; font-weight: 700; }
22
- .small { fill: #a4b2ba; font-size: 17px; }
23
- .tiny { fill: #7f919d; font-size: 14px; }
24
- </style>
25
- </defs>
26
- <rect width="1080" height="1440" fill="url(#bg)"/>
27
- <path d="M0 230H1080M0 1240H1080" stroke="#263640" stroke-width="1"/>
28
-
29
- <g class="sans">
30
- <text x="80" y="118" class="title">Agent Trellis</text>
31
- <text x="82" y="158" class="sub">UNIFIED CODE AGENT RUNTIME</text>
32
- <text x="80" y="208" class="small">一套 Runtime,统一托管 Code Agent 的运行能力</text>
33
-
34
- <g transform="translate(80 274)">
35
- <rect width="920" height="180" rx="22" fill="#101a22" stroke="#374852"/>
36
- <text x="42" y="50" class="small">解决三个问题</text>
37
- <text x="42" y="93" class="label">多 Agent,配置分散</text>
38
- <text x="42" y="130" class="label">MCP 重复,难以管理</text>
39
- <text x="42" y="167" class="label">Memory 与上下文割裂</text>
40
- <circle cx="850" cy="52" r="9" fill="#f2b35b"/>
41
- <circle cx="850" cy="90" r="9" fill="#a9efd2"/>
42
- <circle cx="850" cy="128" r="9" fill="#f2b35b"/>
43
- </g>
44
-
45
- <path d="M540 476V530" stroke="#a9efd2" stroke-width="3"/>
46
- <text x="540" y="520" text-anchor="middle" class="tiny">统一托管</text>
47
-
48
- <g filter="url(#shadow)">
49
- <rect x="80" y="548" width="920" height="300" rx="26" fill="url(#base)" stroke="#f2b35b" stroke-width="2"/>
50
- <rect x="110" y="580" width="860" height="72" rx="16" fill="#0e1820" stroke="#53636c"/>
51
- <rect x="110" y="668" width="860" height="72" rx="16" fill="#0e1820" stroke="#53636c"/>
52
- <rect x="110" y="756" width="860" height="58" rx="14" fill="#0e1820" stroke="#53636c"/>
53
- </g>
54
- <text x="540" y="618" text-anchor="middle" class="label">Agent Trellis Runtime</text>
55
- <text x="540" y="642" text-anchor="middle" class="tiny">canonical source · policy · adapters · providers</text>
56
- <text x="270" y="713" text-anchor="middle" class="label">Skills</text>
57
- <text x="540" y="713" text-anchor="middle" class="label">MCP</text>
58
- <text x="810" y="713" text-anchor="middle" class="label">Memory</text>
59
- <text x="540" y="791" text-anchor="middle" class="label">Instructions</text>
60
-
61
- <path d="M540 848V904" stroke="#f2b35b" stroke-width="3"/>
62
- <rect x="180" y="920" width="720" height="76" rx="18" fill="#101a22" stroke="#53636c"/>
63
- <text x="540" y="953" text-anchor="middle" class="label">Canonical Source</text>
64
- <text x="540" y="980" text-anchor="middle" class="mono small">~/.trellis</text>
65
-
66
- <path d="M540 996V1052" stroke="#a9efd2" stroke-width="3"/>
67
- <text x="540" y="1038" text-anchor="middle" class="tiny">运行在其上的 Code Agents</text>
68
- <g filter="url(#shadow)">
69
- <rect x="80" y="1070" width="280" height="80" rx="16" fill="#17242c" stroke="#a9efd2" stroke-width="2"/>
70
- <rect x="400" y="1070" width="280" height="80" rx="16" fill="#17242c" stroke="#f2b35b" stroke-width="2"/>
71
- <rect x="720" y="1070" width="280" height="80" rx="16" fill="#17242c" stroke="#a9efd2" stroke-width="2"/>
72
- <rect x="240" y="1170" width="280" height="80" rx="16" fill="#17242c" stroke="#a9efd2" stroke-width="2"/>
73
- <rect x="560" y="1170" width="280" height="80" rx="16" fill="#17242c" stroke="#a9efd2" stroke-width="2"/>
74
- </g>
75
- <text x="220" y="1120" text-anchor="middle" class="label">Claude Code</text>
76
- <text x="540" y="1120" text-anchor="middle" class="label">Codex</text>
77
- <text x="860" y="1120" text-anchor="middle" class="label">Kimi Code</text>
78
- <text x="380" y="1220" text-anchor="middle" class="label">Kiro</text>
79
- <text x="700" y="1220" text-anchor="middle" class="label">pi</text>
80
- <text x="540" y="1340" text-anchor="middle" class="mono small">one source · one runtime · many agents</text>
81
- </g>
82
- </svg>
@@ -1,12 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 96 96" role="img" aria-labelledby="title desc">
2
- <title id="title">Trellis</title>
3
- <desc id="desc">A four-node runtime mark around a central control plane.</desc>
4
- <rect width="96" height="96" rx="24" fill="#0b1219"/>
5
- <path d="M48 20v56M20 48h56M28 28l40 40M68 28 28 68" stroke="#31404a" stroke-width="3" stroke-linecap="round"/>
6
- <rect x="35" y="35" width="26" height="26" rx="7" transform="rotate(45 48 48)" fill="#101c24" stroke="#f2b35b" stroke-width="3"/>
7
- <circle cx="48" cy="48" r="6" fill="#a9efd2"/>
8
- <circle cx="20" cy="48" r="6" fill="#f2b35b"/>
9
- <circle cx="76" cy="48" r="6" fill="#f2b35b"/>
10
- <circle cx="48" cy="20" r="6" fill="#a9efd2"/>
11
- <circle cx="48" cy="76" r="6" fill="#a9efd2"/>
12
- </svg>