total-recall-brain 3.45.0 → 3.46.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 (362) hide show
  1. package/bin/total-recall.mjs +4 -2
  2. package/frontend/dist/assets/index-BRYE1jmv.css +1 -0
  3. package/frontend/dist/assets/index-D1goIPjC.js +5598 -0
  4. package/frontend/dist/index.html +2 -2
  5. package/frontend/dist/sw.js +5 -4
  6. package/frontend/src/App.tsx +183 -236
  7. package/frontend/src/api/auth-inventory.ts +62 -0
  8. package/frontend/src/api/memory.ts +13 -8
  9. package/frontend/src/api/plugin-credentials.ts +23 -0
  10. package/frontend/src/api/plugins.ts +37 -53
  11. package/frontend/src/api/workspace-drawers.ts +97 -0
  12. package/frontend/src/components/BrainSelector.tsx +9 -3
  13. package/frontend/src/components/plugins/PluginPanel.tsx +83 -42
  14. package/frontend/src/components/plugins/PluginSettings.tsx +10 -20
  15. package/frontend/src/components/plugins/PluginWorkspace.tsx +367 -0
  16. package/frontend/src/components/plugins/ScopedPluginCommands.tsx +142 -0
  17. package/frontend/src/components/plugins/plugin-frame.ts +44 -33
  18. package/frontend/src/components/plugins/scoped-plugin-operations.ts +28 -0
  19. package/frontend/src/components/workspace/DrawerChat.tsx +110 -0
  20. package/frontend/src/components/workspace/DrawerLayout.tsx +196 -0
  21. package/frontend/src/components/workspace/DrawerMarkup.tsx +49 -0
  22. package/frontend/src/components/workspace/PluginChunkLibrary.tsx +92 -0
  23. package/frontend/src/components/workspace/PluginHome.tsx +76 -0
  24. package/frontend/src/components/workspace/WorkspaceDrawers.tsx +96 -0
  25. package/frontend/src/components/workspace/WorkspacePage.tsx +95 -0
  26. package/frontend/src/components/workspace/usePluginDesign.ts +38 -0
  27. package/frontend/src/index.css +409 -136
  28. package/frontend/src/pages/HelpPage.tsx +15 -46
  29. package/frontend/src/pages/MemoryPage.tsx +19 -36
  30. package/frontend/src/pages/SettingsPage.tsx +1 -1
  31. package/metadata.plugin.schema.json +53 -227
  32. package/package.json +1 -1
  33. package/scaffold/.agent/skills/plugin/SKILL.md +13 -11
  34. package/scaffold/.agent/skills/plugin/evals/README.md +14 -21
  35. package/scaffold/.agent/skills/plugin/evals/cases/01-fabricated-seed.mjs +15 -18
  36. package/scaffold/.agent/skills/plugin/evals/cases/02-reassuring-default.mjs +19 -24
  37. package/scaffold/.agent/skills/plugin/evals/cases/03-declared-template.mjs +12 -20
  38. package/scaffold/.agent/skills/plugin/evals/cases/04-home-collects-credential.mjs +35 -0
  39. package/scaffold/.agent/skills/plugin/evals/cases/05-host-leak-in-scaffold.mjs +8 -28
  40. package/scaffold/.agent/skills/plugin/evals/cases/06-correct-plugin.mjs +85 -47
  41. package/scaffold/.agent/skills/plugin/evals/run.mjs +17 -18
  42. package/scaffold/.agent/skills/plugin/prompts/05-credentials.md +4 -4
  43. package/scaffold/.agent/skills/plugin/prompts/07-scaffold.md +2 -2
  44. package/scaffold/.agent/skills/plugin/prompts/08-verify.md +4 -4
  45. package/scaffold/.agent/skills/plugin/references/anti-patterns.md +2 -2
  46. package/scaffold/.agent/skills/plugin/references/generative-home.md +38 -0
  47. package/scaffold/.agent/skills/plugin/references/scaffold.md +5 -5
  48. package/scaffold/.agent/skills/plugin/references/surfaces.md +13 -4
  49. package/scaffold/.agent/skills/plugin/scripts/record.mjs +75 -153
  50. package/scaffold/.agent/skills/plugin/subagents/plugin-reviewer.md +4 -4
  51. package/scaffold/.agent/skills/total-recall/plugins/auth/DESIGN.md +76 -0
  52. package/scaffold/.agent/skills/total-recall/plugins/auth/README.md +3 -1
  53. package/scaffold/.agent/skills/total-recall/plugins/auth/cli.mjs +20 -15
  54. package/scaffold/.agent/skills/total-recall/plugins/auth/package-lock.json +6 -6
  55. package/scaffold/.agent/skills/total-recall/plugins/auth/package.json +2 -1
  56. package/scaffold/.agent/skills/total-recall/plugins/auth/plugin.json +13 -51
  57. package/scaffold/.agent/skills/total-recall/plugins/auth/ui/chunks/access-overview.md +17 -0
  58. package/scaffold/.agent/skills/total-recall/plugins/auth/ui/chunks/agent-login.md +20 -0
  59. package/scaffold/.agent/skills/total-recall/plugins/auth/ui/chunks/baseline-audit.md +22 -0
  60. package/scaffold/.agent/skills/total-recall/plugins/auth/ui/chunks/credential-repository-binding.md +17 -0
  61. package/scaffold/.agent/skills/total-recall/plugins/auth/ui/chunks/credential-store-maintenance.md +17 -0
  62. package/scaffold/.agent/skills/total-recall/plugins/auth/ui/chunks/dashboard-password.md +18 -0
  63. package/scaffold/.agent/skills/total-recall/plugins/auth/ui/chunks/dashboard-sessions.md +18 -0
  64. package/scaffold/.agent/skills/total-recall/plugins/auth/ui/chunks/endpoint-probe.md +23 -0
  65. package/scaffold/.agent/skills/total-recall/plugins/auth/ui/chunks/google-sign-in.md +21 -0
  66. package/scaffold/.agent/skills/total-recall/plugins/auth/ui/chunks/mesh-machines.md +16 -0
  67. package/scaffold/.agent/skills/total-recall/plugins/auth/ui/chunks/passkey-enrollment.md +21 -0
  68. package/scaffold/.agent/skills/total-recall/plugins/auth/ui/chunks/registered-brains.md +16 -0
  69. package/scaffold/.agent/skills/total-recall/plugins/auth/ui/chunks/scoped-access-keys.md +17 -0
  70. package/scaffold/.agent/skills/total-recall/plugins/auth/ui/chunks/secret-inventory.md +25 -0
  71. package/scaffold/.agent/skills/total-recall/plugins/auth/ui/chunks/signing-key-rotation.md +22 -0
  72. package/scaffold/.agent/skills/total-recall/plugins/auth/ui/home.js +375 -0
  73. package/scaffold/.agent/skills/total-recall/plugins/automations/{ui/DESIGN.md → DESIGN.md} +32 -21
  74. package/scaffold/.agent/skills/total-recall/plugins/automations/adapters.mjs +17 -1
  75. package/scaffold/.agent/skills/total-recall/plugins/automations/cli.mjs +10 -1
  76. package/scaffold/.agent/skills/total-recall/plugins/automations/package-lock.json +6 -6
  77. package/scaffold/.agent/skills/total-recall/plugins/automations/package.json +4 -3
  78. package/scaffold/.agent/skills/total-recall/plugins/automations/plugin.json +11 -27
  79. package/scaffold/.agent/skills/total-recall/plugins/automations/ui/automations.js +2 -2
  80. package/scaffold/.agent/skills/total-recall/plugins/automations/ui/chunks/control-ledger.md +42 -0
  81. package/scaffold/.agent/skills/total-recall/plugins/automations/ui/chunks/local-inventory-triage.md +17 -0
  82. package/scaffold/.agent/skills/total-recall/plugins/automations/ui/chunks/pending-control.md +39 -0
  83. package/scaffold/.agent/skills/total-recall/plugins/automations/ui/chunks/run-evidence.md +41 -0
  84. package/scaffold/.agent/skills/total-recall/plugins/automations/ui/chunks/schedule-vs-run-evidence.md +17 -0
  85. package/scaffold/.agent/skills/total-recall/plugins/automations/ui/chunks/source-coverage.md +41 -0
  86. package/scaffold/.agent/skills/total-recall/plugins/automations/ui/{card.js → home.js} +32 -27
  87. package/scaffold/.agent/skills/total-recall/plugins/code-quality/DESIGN.md +53 -0
  88. package/scaffold/.agent/skills/total-recall/plugins/code-quality/cli.mjs +23 -0
  89. package/scaffold/.agent/skills/total-recall/plugins/code-quality/commands/run-core.mjs +4 -2
  90. package/scaffold/.agent/skills/total-recall/plugins/code-quality/core/check.mjs +4 -2
  91. package/scaffold/.agent/skills/total-recall/plugins/code-quality/package-lock.json +6 -6
  92. package/scaffold/.agent/skills/total-recall/plugins/code-quality/package.json +2 -1
  93. package/scaffold/.agent/skills/total-recall/plugins/code-quality/plugin.json +40 -40
  94. package/scaffold/.agent/skills/total-recall/plugins/code-quality/ui/chunks/config.md +15 -0
  95. package/scaffold/.agent/skills/total-recall/plugins/code-quality/ui/chunks/detect.md +15 -0
  96. package/scaffold/.agent/skills/total-recall/plugins/code-quality/ui/chunks/gate.md +15 -0
  97. package/scaffold/.agent/skills/total-recall/plugins/code-quality/ui/chunks/init.md +15 -0
  98. package/scaffold/.agent/skills/total-recall/plugins/code-quality/ui/chunks/report.md +17 -0
  99. package/scaffold/.agent/skills/total-recall/plugins/code-quality/ui/chunks/run.md +17 -0
  100. package/scaffold/.agent/skills/total-recall/plugins/code-quality/ui/chunks/snapshot.md +15 -0
  101. package/scaffold/.agent/skills/total-recall/plugins/code-quality/ui/code-quality-report.mjs +55 -23
  102. package/scaffold/.agent/skills/total-recall/plugins/code-quality/ui/home.mjs +214 -0
  103. package/scaffold/.agent/skills/total-recall/plugins/composable-cli/DESIGN.md +146 -0
  104. package/scaffold/.agent/skills/total-recall/plugins/composable-cli/package-lock.json +6 -6
  105. package/scaffold/.agent/skills/total-recall/plugins/composable-cli/package.json +2 -1
  106. package/scaffold/.agent/skills/total-recall/plugins/composable-cli/plugin.json +51 -34
  107. package/scaffold/.agent/skills/total-recall/plugins/composable-cli/src/command.mjs +1 -1
  108. package/scaffold/.agent/skills/total-recall/plugins/composable-cli/ui/chunks/create.md +35 -0
  109. package/scaffold/.agent/skills/total-recall/plugins/composable-cli/ui/chunks/history.md +35 -0
  110. package/scaffold/.agent/skills/total-recall/plugins/composable-cli/ui/chunks/library.md +49 -0
  111. package/scaffold/.agent/skills/total-recall/plugins/composable-cli/ui/chunks/list.md +42 -0
  112. package/scaffold/.agent/skills/total-recall/plugins/composable-cli/ui/chunks/promote.md +40 -0
  113. package/scaffold/.agent/skills/total-recall/plugins/composable-cli/ui/chunks/read.md +25 -0
  114. package/scaffold/.agent/skills/total-recall/plugins/composable-cli/ui/chunks/remove.md +26 -0
  115. package/scaffold/.agent/skills/total-recall/plugins/composable-cli/ui/chunks/rollback.md +26 -0
  116. package/scaffold/.agent/skills/total-recall/plugins/composable-cli/ui/chunks/show.md +53 -0
  117. package/scaffold/.agent/skills/total-recall/plugins/composable-cli/ui/chunks/status.md +40 -0
  118. package/scaffold/.agent/skills/total-recall/plugins/composable-cli/ui/chunks/test-path.md +38 -0
  119. package/scaffold/.agent/skills/total-recall/plugins/composable-cli/ui/chunks/test.md +46 -0
  120. package/scaffold/.agent/skills/total-recall/plugins/composable-cli/ui/chunks/update.md +32 -0
  121. package/scaffold/.agent/skills/total-recall/plugins/composable-cli/ui/home.js +533 -0
  122. package/scaffold/.agent/skills/total-recall/plugins/embeddings/DESIGN.md +110 -0
  123. package/scaffold/.agent/skills/total-recall/plugins/embeddings/package-lock.json +6 -6
  124. package/scaffold/.agent/skills/total-recall/plugins/embeddings/package.json +2 -1
  125. package/scaffold/.agent/skills/total-recall/plugins/embeddings/plugin.json +13 -10
  126. package/scaffold/.agent/skills/total-recall/plugins/embeddings/ui/chunks/benchmark.md +49 -0
  127. package/scaffold/.agent/skills/total-recall/plugins/embeddings/ui/chunks/coverage.md +53 -0
  128. package/scaffold/.agent/skills/total-recall/plugins/embeddings/ui/chunks/models.md +43 -0
  129. package/scaffold/.agent/skills/total-recall/plugins/embeddings/ui/chunks/pull.md +41 -0
  130. package/scaffold/.agent/skills/total-recall/plugins/embeddings/ui/chunks/status.md +59 -0
  131. package/scaffold/.agent/skills/total-recall/plugins/embeddings/ui/home.js +353 -0
  132. package/scaffold/.agent/skills/total-recall/plugins/git/DESIGN.md +31 -0
  133. package/scaffold/.agent/skills/total-recall/plugins/git/README.md +25 -1
  134. package/scaffold/.agent/skills/total-recall/plugins/git/cli.mjs +5 -1
  135. package/scaffold/.agent/skills/total-recall/plugins/git/package-lock.json +6 -6
  136. package/scaffold/.agent/skills/total-recall/plugins/git/package.json +2 -1
  137. package/scaffold/.agent/skills/total-recall/plugins/git/plugin.json +17 -27
  138. package/scaffold/.agent/skills/total-recall/plugins/git/src/ops/commit-memory.mjs +30 -6
  139. package/scaffold/.agent/skills/total-recall/plugins/git/src/ops/fleet.mjs +24 -6
  140. package/scaffold/.agent/skills/total-recall/plugins/git/src/ops/secret-firewall.mjs +33 -7
  141. package/scaffold/.agent/skills/total-recall/plugins/git/src/ops/undo.mjs +29 -5
  142. package/scaffold/.agent/skills/total-recall/plugins/git/src/ops/unmerged.mjs +182 -0
  143. package/scaffold/.agent/skills/total-recall/plugins/git/ui/chunks/change-comparison.md +27 -0
  144. package/scaffold/.agent/skills/total-recall/plugins/git/ui/chunks/commit-identity.md +22 -0
  145. package/scaffold/.agent/skills/total-recall/plugins/git/ui/chunks/create-worktree.md +25 -0
  146. package/scaffold/.agent/skills/total-recall/plugins/git/ui/chunks/registered-worktrees.md +22 -0
  147. package/scaffold/.agent/skills/total-recall/plugins/git/ui/chunks/remove-worktree.md +23 -0
  148. package/scaffold/.agent/skills/total-recall/plugins/git/ui/chunks/repository-ledger.md +25 -0
  149. package/scaffold/.agent/skills/total-recall/plugins/git/ui/chunks/unmerged-work.md +22 -0
  150. package/scaffold/.agent/skills/total-recall/plugins/git/ui/chunks/upstream-divergence.md +17 -0
  151. package/scaffold/.agent/skills/total-recall/plugins/git/ui/chunks/worktree-conflict-triage.md +17 -0
  152. package/scaffold/.agent/skills/total-recall/plugins/git/ui/chunks/worktree-terminal.md +22 -0
  153. package/scaffold/.agent/skills/total-recall/plugins/git/ui/home.js +273 -0
  154. package/scaffold/.agent/skills/total-recall/plugins/mesh/DESIGN.md +35 -0
  155. package/scaffold/.agent/skills/total-recall/plugins/mesh/README.md +4 -5
  156. package/scaffold/.agent/skills/total-recall/plugins/mesh/cli.mjs +9 -3
  157. package/scaffold/.agent/skills/total-recall/plugins/mesh/package-lock.json +6 -6
  158. package/scaffold/.agent/skills/total-recall/plugins/mesh/package.json +2 -1
  159. package/scaffold/.agent/skills/total-recall/plugins/mesh/plugin.json +37 -39
  160. package/scaffold/.agent/skills/total-recall/plugins/mesh/src/cli/mesh.mjs +5 -3
  161. package/scaffold/.agent/skills/total-recall/plugins/mesh/ui/chunks/active-device-dispatch.md +22 -0
  162. package/scaffold/.agent/skills/total-recall/plugins/mesh/ui/chunks/control-probe.md +25 -0
  163. package/scaffold/.agent/skills/total-recall/plugins/mesh/ui/chunks/control-server.md +22 -0
  164. package/scaffold/.agent/skills/total-recall/plugins/mesh/ui/chunks/credential-readiness.md +23 -0
  165. package/scaffold/.agent/skills/total-recall/plugins/mesh/ui/chunks/elected-leader.md +22 -0
  166. package/scaffold/.agent/skills/total-recall/plugins/mesh/ui/chunks/enrollment-key.md +22 -0
  167. package/scaffold/.agent/skills/total-recall/plugins/mesh/ui/chunks/file-receipt.md +25 -0
  168. package/scaffold/.agent/skills/total-recall/plugins/mesh/ui/chunks/fleet-execution.md +23 -0
  169. package/scaffold/.agent/skills/total-recall/plugins/mesh/ui/chunks/fleet-presence.md +23 -0
  170. package/scaffold/.agent/skills/total-recall/plugins/mesh/ui/chunks/interactive-ssh.md +22 -0
  171. package/scaffold/.agent/skills/total-recall/plugins/mesh/ui/chunks/local-enrollment.md +23 -0
  172. package/scaffold/.agent/skills/total-recall/plugins/mesh/ui/chunks/mesh-policy.md +23 -0
  173. package/scaffold/.agent/skills/total-recall/plugins/mesh/ui/chunks/network-atlas.md +25 -0
  174. package/scaffold/.agent/skills/total-recall/plugins/mesh/ui/chunks/node-roster.md +26 -0
  175. package/scaffold/.agent/skills/total-recall/plugins/mesh/ui/chunks/node-selection-proof.md +17 -0
  176. package/scaffold/.agent/skills/total-recall/plugins/mesh/ui/chunks/owner-observations.md +23 -0
  177. package/scaffold/.agent/skills/total-recall/plugins/mesh/ui/chunks/peer-path.md +23 -0
  178. package/scaffold/.agent/skills/total-recall/plugins/mesh/ui/chunks/pinned-leader.md +24 -0
  179. package/scaffold/.agent/skills/total-recall/plugins/mesh/ui/chunks/reachability-evidence-ladder.md +17 -0
  180. package/scaffold/.agent/skills/total-recall/plugins/mesh/ui/chunks/recorded-login.md +23 -0
  181. package/scaffold/.agent/skills/total-recall/plugins/mesh/ui/chunks/remote-execution.md +22 -0
  182. package/scaffold/.agent/skills/total-recall/plugins/mesh/ui/chunks/secret-grants.md +26 -0
  183. package/scaffold/.agent/skills/total-recall/plugins/mesh/ui/{card.js → home.js} +93 -22
  184. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/DESIGN.md +86 -0
  185. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/README.md +19 -0
  186. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/cli.mjs +5 -1
  187. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/package-lock.json +6 -6
  188. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/package.json +2 -1
  189. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/plugin.json +43 -22
  190. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/chat.mjs +80 -0
  191. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/ui/chunks/adapter-docs-freshness.md +16 -0
  192. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/ui/chunks/chat-handoff.md +26 -0
  193. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/ui/chunks/fleet-maintenance.md +21 -0
  194. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/ui/chunks/harness-inventory.md +21 -0
  195. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/ui/chunks/included-access.md +18 -0
  196. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/ui/chunks/included-usage-verification.md +15 -0
  197. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/ui/chunks/independent-review.md +17 -0
  198. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/ui/chunks/managed-execution.md +20 -0
  199. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/ui/chunks/official-documentation.md +18 -0
  200. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/ui/chunks/quota-recovery.md +21 -0
  201. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/ui/chunks/review-routing-decision.md +16 -0
  202. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/ui/chunks/route-work.md +18 -0
  203. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/ui/chunks/routing-evidence.md +18 -0
  204. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/ui/chunks/run-ledger.md +18 -0
  205. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/ui/home.js +198 -0
  206. package/scaffold/.agent/skills/total-recall/plugins/openwiki/DESIGN.md +75 -0
  207. package/scaffold/.agent/skills/total-recall/plugins/openwiki/README.md +2 -0
  208. package/scaffold/.agent/skills/total-recall/plugins/openwiki/cli.mjs +17 -14
  209. package/scaffold/.agent/skills/total-recall/plugins/openwiki/package-lock.json +6 -6
  210. package/scaffold/.agent/skills/total-recall/plugins/openwiki/package.json +2 -1
  211. package/scaffold/.agent/skills/total-recall/plugins/openwiki/plugin.json +10 -44
  212. package/scaffold/.agent/skills/total-recall/plugins/openwiki/src/generate.mjs +5 -4
  213. package/scaffold/.agent/skills/total-recall/plugins/openwiki/src/graph.mjs +3 -4
  214. package/scaffold/.agent/skills/total-recall/plugins/openwiki/src/ingest.mjs +23 -18
  215. package/scaffold/.agent/skills/total-recall/plugins/openwiki/src/mesh-vaults.mjs +8 -3
  216. package/scaffold/.agent/skills/total-recall/plugins/openwiki/src/refresh.mjs +6 -3
  217. package/scaffold/.agent/skills/total-recall/plugins/openwiki/src/search.mjs +3 -5
  218. package/scaffold/.agent/skills/total-recall/plugins/openwiki/src/token.mjs +21 -47
  219. package/scaffold/.agent/skills/total-recall/plugins/openwiki/src/upstream-watcher.mjs +17 -6
  220. package/scaffold/.agent/skills/total-recall/plugins/openwiki/ui/chunks/auto-refresh.md +18 -0
  221. package/scaffold/.agent/skills/total-recall/plugins/openwiki/ui/chunks/bootstrap-pages.md +18 -0
  222. package/scaffold/.agent/skills/total-recall/plugins/openwiki/ui/chunks/generate-wiki.md +21 -0
  223. package/scaffold/.agent/skills/total-recall/plugins/openwiki/ui/chunks/generator-settings.md +18 -0
  224. package/scaffold/.agent/skills/total-recall/plugins/openwiki/ui/chunks/host-probe.md +18 -0
  225. package/scaffold/.agent/skills/total-recall/plugins/openwiki/ui/chunks/ingest-preview.md +18 -0
  226. package/scaffold/.agent/skills/total-recall/plugins/openwiki/ui/chunks/link-hygiene.md +21 -0
  227. package/scaffold/.agent/skills/total-recall/plugins/openwiki/ui/chunks/link-topology.md +19 -0
  228. package/scaffold/.agent/skills/total-recall/plugins/openwiki/ui/chunks/passage-search.md +19 -0
  229. package/scaffold/.agent/skills/total-recall/plugins/openwiki/ui/chunks/propagation-plan.md +18 -0
  230. package/scaffold/.agent/skills/total-recall/plugins/openwiki/ui/chunks/provider-credentials.md +18 -0
  231. package/scaffold/.agent/skills/total-recall/plugins/openwiki/ui/chunks/refresh-report.md +18 -0
  232. package/scaffold/.agent/skills/total-recall/plugins/openwiki/ui/chunks/task-evidence.md +22 -0
  233. package/scaffold/.agent/skills/total-recall/plugins/openwiki/ui/chunks/upstream-record.md +18 -0
  234. package/scaffold/.agent/skills/total-recall/plugins/openwiki/ui/chunks/watch-upstream.md +18 -0
  235. package/scaffold/.agent/skills/total-recall/plugins/openwiki/ui/chunks/wiki-atlas.md +19 -0
  236. package/scaffold/.agent/skills/total-recall/plugins/openwiki/ui/panel.js +261 -513
  237. package/scaffold/.agent/skills/total-recall/plugins/security/DESIGN.md +84 -0
  238. package/scaffold/.agent/skills/total-recall/plugins/security/README.md +4 -2
  239. package/scaffold/.agent/skills/total-recall/plugins/security/cli.mjs +7 -19
  240. package/scaffold/.agent/skills/total-recall/plugins/security/package-lock.json +6 -6
  241. package/scaffold/.agent/skills/total-recall/plugins/security/package.json +2 -3
  242. package/scaffold/.agent/skills/total-recall/plugins/security/plugin.json +19 -52
  243. package/scaffold/.agent/skills/total-recall/plugins/security/ui/chunks/device-evidence.md +21 -0
  244. package/scaffold/.agent/skills/total-recall/plugins/security/ui/chunks/evidence-desk.md +18 -0
  245. package/scaffold/.agent/skills/total-recall/plugins/security/ui/chunks/guided-device-review.md +17 -0
  246. package/scaffold/.agent/skills/total-recall/plugins/security/ui/chunks/host-and-network.md +21 -0
  247. package/scaffold/.agent/skills/total-recall/plugins/security/ui/chunks/https-headers.md +17 -0
  248. package/scaffold/.agent/skills/total-recall/plugins/security/ui/chunks/mesh-coverage.md +18 -0
  249. package/scaffold/.agent/skills/total-recall/plugins/security/ui/chunks/private-security-tools.md +16 -0
  250. package/scaffold/.agent/skills/total-recall/plugins/security/ui/chunks/single-origin-header-check.md +17 -0
  251. package/scaffold/.agent/skills/total-recall/plugins/security/ui/chunks/source-review.md +21 -0
  252. package/scaffold/.agent/skills/total-recall/plugins/security/ui/chunks/ssh-permission-plan.md +17 -0
  253. package/scaffold/.agent/skills/total-recall/plugins/security/ui/home.js +283 -0
  254. package/scaffold/.agent/skills/total-recall/plugins/ssss/DESIGN.md +93 -0
  255. package/scaffold/.agent/skills/total-recall/plugins/ssss/package-lock.json +2 -2
  256. package/scaffold/.agent/skills/total-recall/plugins/ssss/package.json +2 -1
  257. package/scaffold/.agent/skills/total-recall/plugins/ssss/plugin.json +5 -3
  258. package/scaffold/.agent/skills/total-recall/plugins/ssss/ui/chunks/conformance.md +26 -0
  259. package/scaffold/.agent/skills/total-recall/plugins/ssss/ui/chunks/registry.md +37 -0
  260. package/scaffold/.agent/skills/total-recall/plugins/ssss/ui/chunks/repair.md +42 -0
  261. package/scaffold/.agent/skills/total-recall/plugins/ssss/ui/chunks/scaffold.md +33 -0
  262. package/scaffold/.agent/skills/total-recall/plugins/ssss/ui/chunks/status.md +43 -0
  263. package/scaffold/.agent/skills/total-recall/plugins/ssss/ui/chunks/validate.md +34 -0
  264. package/scaffold/.agent/skills/total-recall/plugins/ssss/ui/chunks/validation-diagnostics.md +17 -0
  265. package/scaffold/.agent/skills/total-recall/plugins/ssss/ui/chunks/workspace-registry-preflight.md +17 -0
  266. package/scaffold/.agent/skills/total-recall/plugins/ssss/ui/home.js +348 -0
  267. package/scaffold/.agent/skills/total-recall/references/operations.md +2 -0
  268. package/src/cli/api.mjs +3 -3
  269. package/src/cli/brief.mjs +3 -0
  270. package/src/cli/config.mjs +16 -0
  271. package/src/cli/connect.mjs +2 -7
  272. package/src/cli/plugin/chunks.mjs +145 -0
  273. package/src/cli/plugin/create.mjs +24 -52
  274. package/src/cli/plugin/index.mjs +20 -9
  275. package/src/cli/setup.mjs +2 -9
  276. package/src/cli/start.mjs +1 -0
  277. package/src/cli/startup.mjs +18 -0
  278. package/src/core/app-deploy/design-tokens.mjs +14 -9
  279. package/src/core/app-deploy/ui-elements.mjs +1 -1
  280. package/src/core/brain-registry.mjs +5 -0
  281. package/src/core/brain-updates.mjs +5 -1
  282. package/src/core/daemon-control.mjs +5 -1
  283. package/src/core/dashboard-bundle.mjs +261 -0
  284. package/src/core/ensure-dependencies.mjs +19 -15
  285. package/src/core/memory-brain.mjs +30 -8
  286. package/src/core/plugin-activation.mjs +63 -20
  287. package/src/core/plugin-contracts/{card.mjs → manifest.mjs} +23 -57
  288. package/src/core/plugin-contracts/startup-check.mjs +49 -0
  289. package/src/core/plugin-contracts/ui.mjs +9 -3
  290. package/src/core/plugin-distribution.mjs +6 -6
  291. package/src/core/plugin-lifecycle.mjs +58 -0
  292. package/src/core/plugin-loader.mjs +9 -5
  293. package/src/core/plugin-runner.mjs +21 -10
  294. package/src/core/plugin-startup-checks.mjs +44 -0
  295. package/src/core/plugin-state.mjs +19 -5
  296. package/src/core/plugin-store.mjs +30 -11
  297. package/src/core/project-id.mjs +15 -5
  298. package/src/core/required-plugins.mjs +31 -6
  299. package/src/core/schema.mjs +2 -0
  300. package/src/core/ssss-operation-service.mjs +1 -0
  301. package/src/core/startup-health.mjs +28 -3
  302. package/src/core/testing/plugin-fixture.mjs +22 -21
  303. package/src/core/throttled-fetch.mjs +25 -18
  304. package/src/core/ui-chunk-choice.mjs +77 -0
  305. package/src/core/ui-chunk.registry.json +23 -0
  306. package/src/core/ui-chunks.mjs +434 -0
  307. package/src/core/vault-cache.mjs +58 -59
  308. package/src/core/workspace-compositions.mjs +151 -0
  309. package/src/core/workspace-drawers.mjs +79 -0
  310. package/src/server/api.mjs +4 -27
  311. package/src/server/index.mjs +28 -21
  312. package/src/server/memory-events.mjs +31 -0
  313. package/src/server/plugin-brain-targets.mjs +89 -0
  314. package/src/server/rest.mjs +2 -0
  315. package/src/server/route-inventory.mjs +3 -2
  316. package/src/server/route-manifest.json +52 -4
  317. package/src/server/routes/_shared.mjs +7 -14
  318. package/src/server/routes/brains.mjs +29 -44
  319. package/src/server/routes/dashboard.mjs +26 -0
  320. package/src/server/routes/plugins.mjs +154 -45
  321. package/src/server/routes/ui-chunks.mjs +192 -0
  322. package/frontend/dist/assets/index-DACh1dhx.js +0 -5613
  323. package/frontend/dist/assets/index-DtwsDyFM.css +0 -1
  324. package/frontend/src/components/plugins/card/CardEngine.tsx +0 -108
  325. package/frontend/src/components/plugins/card/CardScenes.tsx +0 -103
  326. package/frontend/src/components/plugins/card/ExecutionPicker.tsx +0 -64
  327. package/frontend/src/components/plugins/card/args.ts +0 -28
  328. package/frontend/src/components/plugins/card/card.css +0 -32
  329. package/frontend/src/components/plugins/card/cli-line.ts +0 -13
  330. package/frontend/src/components/plugins/card/contract.ts +0 -91
  331. package/frontend/src/components/plugins/card/format.ts +0 -49
  332. package/frontend/src/components/plugins/card/runner-context.ts +0 -11
  333. package/frontend/src/components/plugins/card/runner.tsx +0 -43
  334. package/frontend/src/components/plugins/card/theme.ts +0 -35
  335. package/frontend/src/components/plugins/card/use-source.ts +0 -22
  336. package/frontend/src/components/plugins/card/widgets.tsx +0 -94
  337. package/frontend/src/components/plugins/workspace/WorkspaceHost.tsx +0 -23
  338. package/frontend/src/pages/PluginsPage.tsx +0 -1719
  339. package/scaffold/.agent/skills/plugin/evals/cases/04-card-collects-credential.mjs +0 -47
  340. package/scaffold/.agent/skills/plugin/prompts/06-card.md +0 -46
  341. package/scaffold/.agent/skills/plugin/references/card.md +0 -90
  342. package/scaffold/.agent/skills/plugin/subagents/card-designer.md +0 -60
  343. package/scaffold/.agent/skills/total-recall/plugins/auth/ui/DESIGN.md +0 -67
  344. package/scaffold/.agent/skills/total-recall/plugins/auth/ui/card.js +0 -1179
  345. package/scaffold/.agent/skills/total-recall/plugins/code-quality/ui/DESIGN.md +0 -32
  346. package/scaffold/.agent/skills/total-recall/plugins/code-quality/ui/card.js +0 -588
  347. package/scaffold/.agent/skills/total-recall/plugins/composable-cli/ui/card.js +0 -575
  348. package/scaffold/.agent/skills/total-recall/plugins/embeddings/ui/DESIGN.md +0 -32
  349. package/scaffold/.agent/skills/total-recall/plugins/embeddings/ui/card.js +0 -482
  350. package/scaffold/.agent/skills/total-recall/plugins/git/ui/DESIGN.md +0 -100
  351. package/scaffold/.agent/skills/total-recall/plugins/git/ui/card.js +0 -637
  352. package/scaffold/.agent/skills/total-recall/plugins/mesh/ui/DESIGN.md +0 -217
  353. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/ui/DESIGN.md +0 -32
  354. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/ui/card.js +0 -1276
  355. package/scaffold/.agent/skills/total-recall/plugins/openwiki/ui/DESIGN.md +0 -45
  356. package/scaffold/.agent/skills/total-recall/plugins/openwiki/ui/card.js +0 -1401
  357. package/scaffold/.agent/skills/total-recall/plugins/security/scripts/build-ui.mjs +0 -4
  358. package/scaffold/.agent/skills/total-recall/plugins/security/ui/DESIGN.md +0 -41
  359. package/scaffold/.agent/skills/total-recall/plugins/security/ui/card.js +0 -396
  360. package/scaffold/.agent/skills/total-recall/plugins/security/ui/panel.js +0 -98
  361. package/scaffold/.agent/skills/total-recall/plugins/ssss/ui/DESIGN.md +0 -15
  362. package/scaffold/.agent/skills/total-recall/plugins/ssss/ui/card.js +0 -182
@@ -1,575 +0,0 @@
1
- /**
2
- * Pipe Dream — Composable CLI Pipeline Forge Console
3
- *
4
- * Bespoke operator interface for dynamic agent command composition.
5
- * Displays real-time command matrix, risk classifications, argument schema,
6
- * and version snapshot controls with zero template wrappers or terminal dumps.
7
- */
8
-
9
- const DASH = '\u2014';
10
-
11
- function escapeHtml(str) {
12
- if (str === null || str === undefined) return '';
13
- return String(str).replace(/[&<>"']/g, c => ({
14
- '&': '&amp;',
15
- '<': '&lt;',
16
- '>': '&gt;',
17
- '"': '&quot;',
18
- "'": '&#39;'
19
- }[c]));
20
- }
21
-
22
- export class PipelineComposerCard extends HTMLElement {
23
- constructor() {
24
- super();
25
- this.commands = [];
26
- this.selectedCommand = null;
27
- this.commandDetail = null;
28
- this.executing = false;
29
- this.activeScope = 'all';
30
- this.screens = [{ id: 'forge', label: 'Command Forge' }];
31
- this.screen = 'forge';
32
- }
33
-
34
- connectedCallback() {
35
- if (!this.shadowRoot) {
36
- this.attachShadow({ mode: 'open' });
37
- }
38
- this.render();
39
- this.refreshCommands();
40
- }
41
-
42
- async refreshCommands() {
43
- if (!this.host) return;
44
- try {
45
- const res = await this.host.run('library', ['--json']);
46
- let parsed = [];
47
- if (Array.isArray(res)) {
48
- parsed = res;
49
- } else if (res && typeof res === 'object' && Array.isArray(res.commands)) {
50
- parsed = res.commands;
51
- } else if (typeof res === 'string' && res.trim().startsWith('[')) {
52
- parsed = JSON.parse(res);
53
- } else {
54
- // Fallback to list
55
- const listRes = await this.host.run('list', ['--json']);
56
- if (Array.isArray(listRes)) parsed = listRes;
57
- else if (listRes && typeof listRes === 'object' && Array.isArray(listRes.commands)) parsed = listRes.commands;
58
- }
59
-
60
- this.commands = parsed;
61
- if (this.commands.length > 0 && !this.selectedCommand) {
62
- this.selectedCommand = this.commands[0].name;
63
- await this.inspectCommand(this.selectedCommand);
64
- } else {
65
- this.render();
66
- }
67
- } catch {
68
- this.commands = [];
69
- this.render();
70
- }
71
- }
72
-
73
- async inspectCommand(name) {
74
- this.selectedCommand = name;
75
- if (!this.host) return;
76
- try {
77
- const detail = await this.host.run('read', [name, '--json']);
78
- this.commandDetail = detail && typeof detail === 'object' ? detail : { name, code: String(detail || '') };
79
- } catch {
80
- this.commandDetail = null;
81
- }
82
- this.render();
83
- }
84
-
85
- async testCommand(name) {
86
- if (!this.host || this.executing) return;
87
- this.executing = true;
88
- this.render();
89
-
90
- try {
91
- const result = await this.host.run('test', [name, '--json']);
92
- if (this.commandDetail) {
93
- this.commandDetail.lastResult = result;
94
- }
95
- } catch (err) {
96
- if (this.commandDetail) {
97
- this.commandDetail.lastError = err instanceof Error ? err.message : 'Execution failed';
98
- }
99
- } finally {
100
- this.executing = false;
101
- this.render();
102
- }
103
- }
104
-
105
- setScopeFilter(scope) {
106
- this.activeScope = scope;
107
- this.render();
108
- }
109
-
110
- render() {
111
- const root = this.shadowRoot;
112
- if (!root) return;
113
-
114
- const filtered = this.commands.filter(c => {
115
- if (this.activeScope === 'project') return c.scope === 'project';
116
- if (this.activeScope === 'global') return c.scope === 'global';
117
- return true;
118
- });
119
-
120
- const activeCmd = this.commands.find(c => c.name === this.selectedCommand) || this.commands[0];
121
- const detail = this.commandDetail;
122
-
123
- root.innerHTML = `
124
- <style>
125
- :host {
126
- --face-bg: #09090b;
127
- --face-surface: #18181b;
128
- --face-line: #27272a;
129
- --face-text: #f4f4f5;
130
- --face-muted: #a1a1aa;
131
- --face-brand: #a855f7;
132
- --face-brand-hover: #c084fc;
133
- --face-accent: #22c55e;
134
- --face-ok: #22c55e;
135
- --face-warn: #eab308;
136
- --face-danger: #ef4444;
137
- --face-info: #38bdf8;
138
- --face-dark: #09090b;
139
-
140
- display: block;
141
- font-family: var(--font-sans, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);
142
- color: var(--text-primary, var(--face-text));
143
- background: var(--bg-secondary, var(--face-bg));
144
- border: 1px solid var(--border, var(--face-line));
145
- border-radius: 8px;
146
- padding: 16px;
147
- box-sizing: border-box;
148
- overflow: hidden;
149
- }
150
-
151
- @media (prefers-reduced-motion: reduce) {
152
- *, ::before, ::after {
153
- animation-duration: 0.01ms !important;
154
- animation-iteration-count: 1 !important;
155
- transition-duration: 0.01ms !important;
156
- }
157
- }
158
-
159
- /* Header Bar */
160
- .header {
161
- display: flex;
162
- align-items: center;
163
- justify-content: space-between;
164
- flex-wrap: wrap;
165
- gap: 12px;
166
- padding-bottom: 14px;
167
- border-bottom: 1px solid var(--border, var(--face-line));
168
- margin-bottom: 16px;
169
- }
170
-
171
- .brand-group {
172
- display: flex;
173
- align-items: center;
174
- gap: 10px;
175
- }
176
-
177
- .wordmark-badge {
178
- font-family: var(--font-mono, 'JetBrains Mono', monospace);
179
- font-size: 13px;
180
- font-weight: 800;
181
- letter-spacing: 0.05em;
182
- color: var(--card-accent, var(--face-brand));
183
- background: rgba(168, 85, 247, 0.12);
184
- padding: 6px 10px;
185
- border-radius: 6px;
186
- border: 1px solid rgba(168, 85, 247, 0.3);
187
- }
188
-
189
- .title-meta {
190
- display: flex;
191
- flex-direction: column;
192
- }
193
-
194
- .plugin-title {
195
- font-size: 14px;
196
- font-weight: 700;
197
- color: var(--text-primary, var(--face-text));
198
- margin: 0;
199
- }
200
-
201
- .plugin-subtitle {
202
- font-size: 11px;
203
- color: var(--text-secondary, var(--face-muted));
204
- margin: 0;
205
- }
206
-
207
- .inventory-chip {
208
- display: flex;
209
- align-items: center;
210
- gap: 6px;
211
- font-family: var(--font-mono, 'JetBrains Mono', monospace);
212
- font-size: 11px;
213
- font-weight: 700;
214
- color: var(--face-accent);
215
- background: rgba(34, 197, 94, 0.12);
216
- border: 1px solid rgba(34, 197, 94, 0.3);
217
- padding: 5px 12px;
218
- border-radius: 6px;
219
- text-transform: uppercase;
220
- }
221
-
222
- /* Main Workspace Split */
223
- .workspace-split {
224
- display: grid;
225
- grid-template-columns: minmax(220px, 1fr) minmax(320px, 1.6fr);
226
- gap: 14px;
227
- margin-bottom: 16px;
228
- }
229
-
230
- @media (max-width: 680px) {
231
- .workspace-split {
232
- grid-template-columns: 1fr;
233
- }
234
- }
235
-
236
- /* Command List Deck */
237
- .deck-column {
238
- display: flex;
239
- flex-direction: column;
240
- gap: 10px;
241
- }
242
-
243
- .scope-filters {
244
- display: flex;
245
- align-items: center;
246
- gap: 6px;
247
- }
248
-
249
- .btn-scope {
250
- min-height: 44px;
251
- min-width: 44px;
252
- padding: 6px 12px;
253
- font-family: var(--font-mono, 'JetBrains Mono', monospace);
254
- font-size: 11px;
255
- font-weight: 600;
256
- color: var(--text-secondary, var(--face-muted));
257
- background: transparent;
258
- border: 1px solid var(--border, var(--face-line));
259
- border-radius: 5px;
260
- cursor: pointer;
261
- }
262
-
263
- .btn-scope[data-active="true"] {
264
- color: var(--text-primary, var(--face-text));
265
- background: rgba(168, 85, 247, 0.15);
266
- border-color: var(--card-accent, var(--face-brand));
267
- }
268
-
269
- .command-list {
270
- display: flex;
271
- flex-direction: column;
272
- gap: 6px;
273
- max-height: 320px;
274
- overflow-y: auto;
275
- border: 1px solid var(--border, var(--face-line));
276
- border-radius: 6px;
277
- padding: 6px;
278
- background: rgba(24, 24, 27, 0.5);
279
- }
280
-
281
- .command-item {
282
- min-height: 44px;
283
- padding: 8px 10px;
284
- display: flex;
285
- align-items: center;
286
- justify-content: space-between;
287
- border: 1px solid transparent;
288
- border-radius: 5px;
289
- background: transparent;
290
- color: var(--text-primary, var(--face-text));
291
- cursor: pointer;
292
- text-align: left;
293
- width: 100%;
294
- box-sizing: border-box;
295
- transition: background 0.15s ease;
296
- }
297
-
298
- .command-item:hover {
299
- background: rgba(39, 39, 42, 0.5);
300
- }
301
-
302
- .command-item[data-selected="true"] {
303
- background: rgba(168, 85, 247, 0.18);
304
- border-color: var(--face-brand);
305
- }
306
-
307
- .cmd-name {
308
- font-family: var(--font-mono, 'JetBrains Mono', monospace);
309
- font-size: 12px;
310
- font-weight: 700;
311
- }
312
-
313
- .badges-group {
314
- display: flex;
315
- align-items: center;
316
- gap: 6px;
317
- }
318
-
319
- .risk-badge {
320
- font-family: var(--font-mono, 'JetBrains Mono', monospace);
321
- font-size: 9px;
322
- font-weight: 700;
323
- padding: 2px 6px;
324
- border-radius: 4px;
325
- text-transform: uppercase;
326
- }
327
-
328
- .risk-read {
329
- color: var(--face-ok);
330
- background: rgba(34, 197, 94, 0.15);
331
- }
332
-
333
- .risk-write {
334
- color: var(--face-warn);
335
- background: rgba(234, 179, 8, 0.15);
336
- }
337
-
338
- .risk-destructive {
339
- color: var(--face-danger);
340
- background: rgba(239, 68, 68, 0.15);
341
- }
342
-
343
- .risk-send {
344
- color: var(--face-info);
345
- background: rgba(56, 189, 248, 0.15);
346
- }
347
-
348
- .scope-tag {
349
- font-size: 9px;
350
- color: var(--text-secondary, var(--face-muted));
351
- border: 1px solid var(--border, var(--face-line));
352
- padding: 1px 4px;
353
- border-radius: 3px;
354
- }
355
-
356
- /* Inspector View */
357
- .inspector-panel {
358
- border: 1px solid var(--border, var(--face-line));
359
- border-radius: 6px;
360
- background: rgba(24, 24, 27, 0.5);
361
- padding: 14px;
362
- display: flex;
363
- flex-direction: column;
364
- gap: 12px;
365
- }
366
-
367
- .inspector-header {
368
- display: flex;
369
- align-items: center;
370
- justify-content: space-between;
371
- padding-bottom: 10px;
372
- border-bottom: 1px solid var(--border, var(--face-line));
373
- }
374
-
375
- .inspector-title {
376
- font-family: var(--font-mono, 'JetBrains Mono', monospace);
377
- font-size: 13px;
378
- font-weight: 700;
379
- color: var(--text-primary, var(--face-text));
380
- margin: 0;
381
- }
382
-
383
- .action-run {
384
- min-height: 44px;
385
- padding: 8px 16px;
386
- font-family: var(--font-sans, sans-serif);
387
- font-size: 12px;
388
- font-weight: 700;
389
- color: var(--face-dark);
390
- background: var(--face-brand);
391
- border: none;
392
- border-radius: 5px;
393
- cursor: pointer;
394
- display: flex;
395
- align-items: center;
396
- gap: 6px;
397
- transition: background 0.2s ease;
398
- }
399
-
400
- .action-run:hover {
401
- background: var(--face-brand-hover);
402
- }
403
-
404
- .action-run:disabled {
405
- opacity: 0.6;
406
- cursor: not-allowed;
407
- }
408
-
409
- .detail-meta-row {
410
- display: flex;
411
- flex-wrap: wrap;
412
- gap: 12px;
413
- font-size: 11px;
414
- color: var(--text-secondary, var(--face-muted));
415
- }
416
-
417
- .meta-entry {
418
- display: flex;
419
- align-items: center;
420
- gap: 4px;
421
- }
422
-
423
- .meta-entry strong {
424
- color: var(--text-primary, var(--face-text));
425
- }
426
-
427
- .code-preview-box {
428
- background: rgba(9, 9, 11, 0.8);
429
- border: 1px solid var(--border, var(--face-line));
430
- border-radius: 5px;
431
- padding: 10px;
432
- font-family: var(--font-mono, 'JetBrains Mono', monospace);
433
- font-size: 11px;
434
- line-height: 1.5;
435
- color: var(--text-primary, var(--face-text));
436
- max-height: 160px;
437
- overflow-y: auto;
438
- white-space: pre-wrap;
439
- word-break: break-all;
440
- }
441
-
442
- .result-container {
443
- padding: 8px 12px;
444
- border-radius: 5px;
445
- font-family: var(--font-mono, 'JetBrains Mono', monospace);
446
- font-size: 11px;
447
- }
448
-
449
- .result-success {
450
- background: rgba(34, 197, 94, 0.12);
451
- border: 1px solid rgba(34, 197, 94, 0.3);
452
- color: var(--face-ok);
453
- }
454
-
455
- .result-failure {
456
- background: rgba(239, 68, 68, 0.12);
457
- border: 1px solid rgba(239, 68, 68, 0.3);
458
- color: var(--face-danger);
459
- }
460
-
461
- .empty-command-box {
462
- padding: 32px 16px;
463
- text-align: center;
464
- font-size: 12px;
465
- color: var(--text-secondary, var(--face-muted));
466
- }
467
-
468
- /* Footer Telemetry */
469
- .footer-bar {
470
- display: flex;
471
- justify-content: space-between;
472
- align-items: center;
473
- padding-top: 12px;
474
- margin-top: 14px;
475
- border-top: 1px solid var(--border, var(--face-line));
476
- font-size: 10px;
477
- color: var(--text-secondary, var(--face-muted));
478
- }
479
- </style>
480
-
481
- <div class="header">
482
- <div class="brand-group">
483
- <div class="wordmark-badge">[PIPE//DREAM]</div>
484
- <div class="title-meta">
485
- <h3 class="plugin-title">Composable CLI Forge</h3>
486
- <p class="plugin-subtitle">Dynamic agent command composition and execution</p>
487
- </div>
488
- </div>
489
- <div class="inventory-chip">
490
- ${this.commands.length > 0 ? `${this.commands.length} Verbs Active` : 'No Commands'}
491
- </div>
492
- </div>
493
-
494
- <div class="workspace-split">
495
- <div class="deck-column">
496
- <div class="scope-filters">
497
- <button class="btn-scope" data-active="${this.activeScope === 'all'}" type="button" id="scope-all">All</button>
498
- <button class="btn-scope" data-active="${this.activeScope === 'project'}" type="button" id="scope-project">Project</button>
499
- <button class="btn-scope" data-active="${this.activeScope === 'global'}" type="button" id="scope-global">Global</button>
500
- </div>
501
-
502
- <div class="command-list">
503
- ${filtered.length > 0 ? filtered.map(c => `
504
- <button class="command-item" data-selected="${c.name === this.selectedCommand}" type="button" data-cmd="${escapeHtml(c.name)}">
505
- <span class="cmd-name">${escapeHtml(c.name)}</span>
506
- <div class="badges-group">
507
- <span class="risk-badge risk-${escapeHtml(c.risk || 'read')}">${escapeHtml(c.risk || 'read')}</span>
508
- <span class="scope-tag">${escapeHtml(c.scope || 'proj')}</span>
509
- </div>
510
- </button>
511
- `).join('') : `
512
- <div class="empty-command-box">No composed commands in this scope.</div>
513
- `}
514
- </div>
515
- </div>
516
-
517
- <div class="inspector-panel">
518
- ${activeCmd ? `
519
- <div class="inspector-header">
520
- <h4 class="inspector-title">${escapeHtml(activeCmd.name)}</h4>
521
- <button class="action-run" type="button" id="btn-test" ${this.executing ? 'disabled' : ''}>
522
- ${this.executing ? 'Executing...' : 'Test Verb'}
523
- </button>
524
- </div>
525
-
526
- <div class="detail-meta-row">
527
- <div class="meta-entry"><span>Scope:</span> <strong>${escapeHtml(activeCmd.scope || 'project')}</strong></div>
528
- <div class="meta-entry"><span>Risk:</span> <strong class="risk-badge risk-${escapeHtml(activeCmd.risk || 'read')}">${escapeHtml(activeCmd.risk || 'read')}</strong></div>
529
- <div class="meta-entry"><span>Updated:</span> <strong>${activeCmd.updated_at ? new Date(activeCmd.updated_at).toLocaleDateString() : DASH}</strong></div>
530
- </div>
531
-
532
- ${detail?.lastResult ? `
533
- <div class="result-container result-success">
534
- Return: ${escapeHtml(JSON.stringify(detail.lastResult))}
535
- </div>
536
- ` : detail?.lastError ? `
537
- <div class="result-container result-failure">
538
- Failure: ${escapeHtml(detail.lastError)}
539
- </div>
540
- ` : ''}
541
-
542
- <div class="code-preview-box">${escapeHtml(detail?.code || detail?.source || '// Select a composed verb to inspect implementation')}</div>
543
- ` : `
544
- <div class="empty-command-box">Select or create a composed command to inspect properties.</div>
545
- `}
546
- </div>
547
- </div>
548
-
549
- <div class="footer-bar">
550
- <span>Engine: Composable CLI v0.2.2</span>
551
- <span>Scope: ${this.activeScope.toUpperCase()}</span>
552
- </div>
553
- `;
554
-
555
- // Event listeners
556
- root.querySelector('#scope-all')?.addEventListener('click', () => this.setScopeFilter('all'));
557
- root.querySelector('#scope-project')?.addEventListener('click', () => this.setScopeFilter('project'));
558
- root.querySelector('#scope-global')?.addEventListener('click', () => this.setScopeFilter('global'));
559
-
560
- root.querySelectorAll('.command-item').forEach(btn => {
561
- btn.addEventListener('click', () => {
562
- const cmd = btn.getAttribute('data-cmd');
563
- if (cmd) this.inspectCommand(cmd);
564
- });
565
- });
566
-
567
- root.querySelector('#btn-test')?.addEventListener('click', () => {
568
- if (this.selectedCommand) this.testCommand(this.selectedCommand);
569
- });
570
- }
571
- }
572
-
573
- if (!customElements.get('tr-composable-cli-card')) {
574
- customElements.define('tr-composable-cli-card', PipelineComposerCard);
575
- }
@@ -1,32 +0,0 @@
1
- # DESIGN.md — Vector Space
2
-
3
- ```yaml
4
- tokens:
5
- brand-name: "Vector Space"
6
- wordmark: "[VECTOR//SPACE]"
7
- color-primary: "#06b6d4"
8
- color-background: "#07171d"
9
- color-surface: "#0e2a35"
10
- color-accent: "#22d3ee"
11
- color-ok: "#10b981"
12
- color-warn: "#f59e0b"
13
- color-danger: "#ef4444"
14
- color-text: "#ecfeff"
15
- color-muted: "#67e8f9"
16
- color-line: "#164e63"
17
- badge: "On-Device Vectors"
18
- font-mono: "'JetBrains Mono', 'Fira Code', monospace"
19
- border-radius: "8px"
20
- ```
21
-
22
- ## Brand & Typographic Wordmark
23
- - **Name**: Vector Space
24
- - **Wordmark Logo**: `[VECTOR//SPACE]` (custom vector typographic badge, no generic emojis)
25
- - **Palette**: Primary `#06b6d4`, Surface `#07171d`, Secondary Surface `#0e2a35`, Accent `#22d3ee`, Line `#164e63`, Text `#ecfeff`.
26
- - **States**: Verified On-Device `#10b981`, Warning `#f59e0b`, Danger `#ef4444`.
27
-
28
- ## Interface Architecture
29
- 1. **Header**: Custom vector wordmark, strict on-device invariant badge, active embedding model indicator.
30
- 2. **Semantic Coverage Gauge**: Circular SVG arc progress gauge displaying percentage of memory vault embedded on-device.
31
- 3. **Model Weight Deck**: Grid of local embedding models with vector dimensions, context window, and status.
32
- 4. **Latency & Benchmark Meter**: Real-time throughput counter measuring on-device vector projection speed.