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.
- package/bin/total-recall.mjs +4 -2
- package/frontend/dist/assets/index-BRYE1jmv.css +1 -0
- package/frontend/dist/assets/index-D1goIPjC.js +5598 -0
- package/frontend/dist/index.html +2 -2
- package/frontend/dist/sw.js +5 -4
- package/frontend/src/App.tsx +183 -236
- package/frontend/src/api/auth-inventory.ts +62 -0
- package/frontend/src/api/memory.ts +13 -8
- package/frontend/src/api/plugin-credentials.ts +23 -0
- package/frontend/src/api/plugins.ts +37 -53
- package/frontend/src/api/workspace-drawers.ts +97 -0
- package/frontend/src/components/BrainSelector.tsx +9 -3
- package/frontend/src/components/plugins/PluginPanel.tsx +83 -42
- package/frontend/src/components/plugins/PluginSettings.tsx +10 -20
- package/frontend/src/components/plugins/PluginWorkspace.tsx +367 -0
- package/frontend/src/components/plugins/ScopedPluginCommands.tsx +142 -0
- package/frontend/src/components/plugins/plugin-frame.ts +44 -33
- package/frontend/src/components/plugins/scoped-plugin-operations.ts +28 -0
- package/frontend/src/components/workspace/DrawerChat.tsx +110 -0
- package/frontend/src/components/workspace/DrawerLayout.tsx +196 -0
- package/frontend/src/components/workspace/DrawerMarkup.tsx +49 -0
- package/frontend/src/components/workspace/PluginChunkLibrary.tsx +92 -0
- package/frontend/src/components/workspace/PluginHome.tsx +76 -0
- package/frontend/src/components/workspace/WorkspaceDrawers.tsx +96 -0
- package/frontend/src/components/workspace/WorkspacePage.tsx +95 -0
- package/frontend/src/components/workspace/usePluginDesign.ts +38 -0
- package/frontend/src/index.css +409 -136
- package/frontend/src/pages/HelpPage.tsx +15 -46
- package/frontend/src/pages/MemoryPage.tsx +19 -36
- package/frontend/src/pages/SettingsPage.tsx +1 -1
- package/metadata.plugin.schema.json +53 -227
- package/package.json +1 -1
- package/scaffold/.agent/skills/plugin/SKILL.md +13 -11
- package/scaffold/.agent/skills/plugin/evals/README.md +14 -21
- package/scaffold/.agent/skills/plugin/evals/cases/01-fabricated-seed.mjs +15 -18
- package/scaffold/.agent/skills/plugin/evals/cases/02-reassuring-default.mjs +19 -24
- package/scaffold/.agent/skills/plugin/evals/cases/03-declared-template.mjs +12 -20
- package/scaffold/.agent/skills/plugin/evals/cases/04-home-collects-credential.mjs +35 -0
- package/scaffold/.agent/skills/plugin/evals/cases/05-host-leak-in-scaffold.mjs +8 -28
- package/scaffold/.agent/skills/plugin/evals/cases/06-correct-plugin.mjs +85 -47
- package/scaffold/.agent/skills/plugin/evals/run.mjs +17 -18
- package/scaffold/.agent/skills/plugin/prompts/05-credentials.md +4 -4
- package/scaffold/.agent/skills/plugin/prompts/07-scaffold.md +2 -2
- package/scaffold/.agent/skills/plugin/prompts/08-verify.md +4 -4
- package/scaffold/.agent/skills/plugin/references/anti-patterns.md +2 -2
- package/scaffold/.agent/skills/plugin/references/generative-home.md +38 -0
- package/scaffold/.agent/skills/plugin/references/scaffold.md +5 -5
- package/scaffold/.agent/skills/plugin/references/surfaces.md +13 -4
- package/scaffold/.agent/skills/plugin/scripts/record.mjs +75 -153
- package/scaffold/.agent/skills/plugin/subagents/plugin-reviewer.md +4 -4
- package/scaffold/.agent/skills/total-recall/plugins/auth/DESIGN.md +76 -0
- package/scaffold/.agent/skills/total-recall/plugins/auth/README.md +3 -1
- package/scaffold/.agent/skills/total-recall/plugins/auth/cli.mjs +20 -15
- package/scaffold/.agent/skills/total-recall/plugins/auth/package-lock.json +6 -6
- package/scaffold/.agent/skills/total-recall/plugins/auth/package.json +2 -1
- package/scaffold/.agent/skills/total-recall/plugins/auth/plugin.json +13 -51
- package/scaffold/.agent/skills/total-recall/plugins/auth/ui/chunks/access-overview.md +17 -0
- package/scaffold/.agent/skills/total-recall/plugins/auth/ui/chunks/agent-login.md +20 -0
- package/scaffold/.agent/skills/total-recall/plugins/auth/ui/chunks/baseline-audit.md +22 -0
- package/scaffold/.agent/skills/total-recall/plugins/auth/ui/chunks/credential-repository-binding.md +17 -0
- package/scaffold/.agent/skills/total-recall/plugins/auth/ui/chunks/credential-store-maintenance.md +17 -0
- package/scaffold/.agent/skills/total-recall/plugins/auth/ui/chunks/dashboard-password.md +18 -0
- package/scaffold/.agent/skills/total-recall/plugins/auth/ui/chunks/dashboard-sessions.md +18 -0
- package/scaffold/.agent/skills/total-recall/plugins/auth/ui/chunks/endpoint-probe.md +23 -0
- package/scaffold/.agent/skills/total-recall/plugins/auth/ui/chunks/google-sign-in.md +21 -0
- package/scaffold/.agent/skills/total-recall/plugins/auth/ui/chunks/mesh-machines.md +16 -0
- package/scaffold/.agent/skills/total-recall/plugins/auth/ui/chunks/passkey-enrollment.md +21 -0
- package/scaffold/.agent/skills/total-recall/plugins/auth/ui/chunks/registered-brains.md +16 -0
- package/scaffold/.agent/skills/total-recall/plugins/auth/ui/chunks/scoped-access-keys.md +17 -0
- package/scaffold/.agent/skills/total-recall/plugins/auth/ui/chunks/secret-inventory.md +25 -0
- package/scaffold/.agent/skills/total-recall/plugins/auth/ui/chunks/signing-key-rotation.md +22 -0
- package/scaffold/.agent/skills/total-recall/plugins/auth/ui/home.js +375 -0
- package/scaffold/.agent/skills/total-recall/plugins/automations/{ui/DESIGN.md → DESIGN.md} +32 -21
- package/scaffold/.agent/skills/total-recall/plugins/automations/adapters.mjs +17 -1
- package/scaffold/.agent/skills/total-recall/plugins/automations/cli.mjs +10 -1
- package/scaffold/.agent/skills/total-recall/plugins/automations/package-lock.json +6 -6
- package/scaffold/.agent/skills/total-recall/plugins/automations/package.json +4 -3
- package/scaffold/.agent/skills/total-recall/plugins/automations/plugin.json +11 -27
- package/scaffold/.agent/skills/total-recall/plugins/automations/ui/automations.js +2 -2
- package/scaffold/.agent/skills/total-recall/plugins/automations/ui/chunks/control-ledger.md +42 -0
- package/scaffold/.agent/skills/total-recall/plugins/automations/ui/chunks/local-inventory-triage.md +17 -0
- package/scaffold/.agent/skills/total-recall/plugins/automations/ui/chunks/pending-control.md +39 -0
- package/scaffold/.agent/skills/total-recall/plugins/automations/ui/chunks/run-evidence.md +41 -0
- package/scaffold/.agent/skills/total-recall/plugins/automations/ui/chunks/schedule-vs-run-evidence.md +17 -0
- package/scaffold/.agent/skills/total-recall/plugins/automations/ui/chunks/source-coverage.md +41 -0
- package/scaffold/.agent/skills/total-recall/plugins/automations/ui/{card.js → home.js} +32 -27
- package/scaffold/.agent/skills/total-recall/plugins/code-quality/DESIGN.md +53 -0
- package/scaffold/.agent/skills/total-recall/plugins/code-quality/cli.mjs +23 -0
- package/scaffold/.agent/skills/total-recall/plugins/code-quality/commands/run-core.mjs +4 -2
- package/scaffold/.agent/skills/total-recall/plugins/code-quality/core/check.mjs +4 -2
- package/scaffold/.agent/skills/total-recall/plugins/code-quality/package-lock.json +6 -6
- package/scaffold/.agent/skills/total-recall/plugins/code-quality/package.json +2 -1
- package/scaffold/.agent/skills/total-recall/plugins/code-quality/plugin.json +40 -40
- package/scaffold/.agent/skills/total-recall/plugins/code-quality/ui/chunks/config.md +15 -0
- package/scaffold/.agent/skills/total-recall/plugins/code-quality/ui/chunks/detect.md +15 -0
- package/scaffold/.agent/skills/total-recall/plugins/code-quality/ui/chunks/gate.md +15 -0
- package/scaffold/.agent/skills/total-recall/plugins/code-quality/ui/chunks/init.md +15 -0
- package/scaffold/.agent/skills/total-recall/plugins/code-quality/ui/chunks/report.md +17 -0
- package/scaffold/.agent/skills/total-recall/plugins/code-quality/ui/chunks/run.md +17 -0
- package/scaffold/.agent/skills/total-recall/plugins/code-quality/ui/chunks/snapshot.md +15 -0
- package/scaffold/.agent/skills/total-recall/plugins/code-quality/ui/code-quality-report.mjs +55 -23
- package/scaffold/.agent/skills/total-recall/plugins/code-quality/ui/home.mjs +214 -0
- package/scaffold/.agent/skills/total-recall/plugins/composable-cli/DESIGN.md +146 -0
- package/scaffold/.agent/skills/total-recall/plugins/composable-cli/package-lock.json +6 -6
- package/scaffold/.agent/skills/total-recall/plugins/composable-cli/package.json +2 -1
- package/scaffold/.agent/skills/total-recall/plugins/composable-cli/plugin.json +51 -34
- package/scaffold/.agent/skills/total-recall/plugins/composable-cli/src/command.mjs +1 -1
- package/scaffold/.agent/skills/total-recall/plugins/composable-cli/ui/chunks/create.md +35 -0
- package/scaffold/.agent/skills/total-recall/plugins/composable-cli/ui/chunks/history.md +35 -0
- package/scaffold/.agent/skills/total-recall/plugins/composable-cli/ui/chunks/library.md +49 -0
- package/scaffold/.agent/skills/total-recall/plugins/composable-cli/ui/chunks/list.md +42 -0
- package/scaffold/.agent/skills/total-recall/plugins/composable-cli/ui/chunks/promote.md +40 -0
- package/scaffold/.agent/skills/total-recall/plugins/composable-cli/ui/chunks/read.md +25 -0
- package/scaffold/.agent/skills/total-recall/plugins/composable-cli/ui/chunks/remove.md +26 -0
- package/scaffold/.agent/skills/total-recall/plugins/composable-cli/ui/chunks/rollback.md +26 -0
- package/scaffold/.agent/skills/total-recall/plugins/composable-cli/ui/chunks/show.md +53 -0
- package/scaffold/.agent/skills/total-recall/plugins/composable-cli/ui/chunks/status.md +40 -0
- package/scaffold/.agent/skills/total-recall/plugins/composable-cli/ui/chunks/test-path.md +38 -0
- package/scaffold/.agent/skills/total-recall/plugins/composable-cli/ui/chunks/test.md +46 -0
- package/scaffold/.agent/skills/total-recall/plugins/composable-cli/ui/chunks/update.md +32 -0
- package/scaffold/.agent/skills/total-recall/plugins/composable-cli/ui/home.js +533 -0
- package/scaffold/.agent/skills/total-recall/plugins/embeddings/DESIGN.md +110 -0
- package/scaffold/.agent/skills/total-recall/plugins/embeddings/package-lock.json +6 -6
- package/scaffold/.agent/skills/total-recall/plugins/embeddings/package.json +2 -1
- package/scaffold/.agent/skills/total-recall/plugins/embeddings/plugin.json +13 -10
- package/scaffold/.agent/skills/total-recall/plugins/embeddings/ui/chunks/benchmark.md +49 -0
- package/scaffold/.agent/skills/total-recall/plugins/embeddings/ui/chunks/coverage.md +53 -0
- package/scaffold/.agent/skills/total-recall/plugins/embeddings/ui/chunks/models.md +43 -0
- package/scaffold/.agent/skills/total-recall/plugins/embeddings/ui/chunks/pull.md +41 -0
- package/scaffold/.agent/skills/total-recall/plugins/embeddings/ui/chunks/status.md +59 -0
- package/scaffold/.agent/skills/total-recall/plugins/embeddings/ui/home.js +353 -0
- package/scaffold/.agent/skills/total-recall/plugins/git/DESIGN.md +31 -0
- package/scaffold/.agent/skills/total-recall/plugins/git/README.md +25 -1
- package/scaffold/.agent/skills/total-recall/plugins/git/cli.mjs +5 -1
- package/scaffold/.agent/skills/total-recall/plugins/git/package-lock.json +6 -6
- package/scaffold/.agent/skills/total-recall/plugins/git/package.json +2 -1
- package/scaffold/.agent/skills/total-recall/plugins/git/plugin.json +17 -27
- package/scaffold/.agent/skills/total-recall/plugins/git/src/ops/commit-memory.mjs +30 -6
- package/scaffold/.agent/skills/total-recall/plugins/git/src/ops/fleet.mjs +24 -6
- package/scaffold/.agent/skills/total-recall/plugins/git/src/ops/secret-firewall.mjs +33 -7
- package/scaffold/.agent/skills/total-recall/plugins/git/src/ops/undo.mjs +29 -5
- package/scaffold/.agent/skills/total-recall/plugins/git/src/ops/unmerged.mjs +182 -0
- package/scaffold/.agent/skills/total-recall/plugins/git/ui/chunks/change-comparison.md +27 -0
- package/scaffold/.agent/skills/total-recall/plugins/git/ui/chunks/commit-identity.md +22 -0
- package/scaffold/.agent/skills/total-recall/plugins/git/ui/chunks/create-worktree.md +25 -0
- package/scaffold/.agent/skills/total-recall/plugins/git/ui/chunks/registered-worktrees.md +22 -0
- package/scaffold/.agent/skills/total-recall/plugins/git/ui/chunks/remove-worktree.md +23 -0
- package/scaffold/.agent/skills/total-recall/plugins/git/ui/chunks/repository-ledger.md +25 -0
- package/scaffold/.agent/skills/total-recall/plugins/git/ui/chunks/unmerged-work.md +22 -0
- package/scaffold/.agent/skills/total-recall/plugins/git/ui/chunks/upstream-divergence.md +17 -0
- package/scaffold/.agent/skills/total-recall/plugins/git/ui/chunks/worktree-conflict-triage.md +17 -0
- package/scaffold/.agent/skills/total-recall/plugins/git/ui/chunks/worktree-terminal.md +22 -0
- package/scaffold/.agent/skills/total-recall/plugins/git/ui/home.js +273 -0
- package/scaffold/.agent/skills/total-recall/plugins/mesh/DESIGN.md +35 -0
- package/scaffold/.agent/skills/total-recall/plugins/mesh/README.md +4 -5
- package/scaffold/.agent/skills/total-recall/plugins/mesh/cli.mjs +9 -3
- package/scaffold/.agent/skills/total-recall/plugins/mesh/package-lock.json +6 -6
- package/scaffold/.agent/skills/total-recall/plugins/mesh/package.json +2 -1
- package/scaffold/.agent/skills/total-recall/plugins/mesh/plugin.json +37 -39
- package/scaffold/.agent/skills/total-recall/plugins/mesh/src/cli/mesh.mjs +5 -3
- package/scaffold/.agent/skills/total-recall/plugins/mesh/ui/chunks/active-device-dispatch.md +22 -0
- package/scaffold/.agent/skills/total-recall/plugins/mesh/ui/chunks/control-probe.md +25 -0
- package/scaffold/.agent/skills/total-recall/plugins/mesh/ui/chunks/control-server.md +22 -0
- package/scaffold/.agent/skills/total-recall/plugins/mesh/ui/chunks/credential-readiness.md +23 -0
- package/scaffold/.agent/skills/total-recall/plugins/mesh/ui/chunks/elected-leader.md +22 -0
- package/scaffold/.agent/skills/total-recall/plugins/mesh/ui/chunks/enrollment-key.md +22 -0
- package/scaffold/.agent/skills/total-recall/plugins/mesh/ui/chunks/file-receipt.md +25 -0
- package/scaffold/.agent/skills/total-recall/plugins/mesh/ui/chunks/fleet-execution.md +23 -0
- package/scaffold/.agent/skills/total-recall/plugins/mesh/ui/chunks/fleet-presence.md +23 -0
- package/scaffold/.agent/skills/total-recall/plugins/mesh/ui/chunks/interactive-ssh.md +22 -0
- package/scaffold/.agent/skills/total-recall/plugins/mesh/ui/chunks/local-enrollment.md +23 -0
- package/scaffold/.agent/skills/total-recall/plugins/mesh/ui/chunks/mesh-policy.md +23 -0
- package/scaffold/.agent/skills/total-recall/plugins/mesh/ui/chunks/network-atlas.md +25 -0
- package/scaffold/.agent/skills/total-recall/plugins/mesh/ui/chunks/node-roster.md +26 -0
- package/scaffold/.agent/skills/total-recall/plugins/mesh/ui/chunks/node-selection-proof.md +17 -0
- package/scaffold/.agent/skills/total-recall/plugins/mesh/ui/chunks/owner-observations.md +23 -0
- package/scaffold/.agent/skills/total-recall/plugins/mesh/ui/chunks/peer-path.md +23 -0
- package/scaffold/.agent/skills/total-recall/plugins/mesh/ui/chunks/pinned-leader.md +24 -0
- package/scaffold/.agent/skills/total-recall/plugins/mesh/ui/chunks/reachability-evidence-ladder.md +17 -0
- package/scaffold/.agent/skills/total-recall/plugins/mesh/ui/chunks/recorded-login.md +23 -0
- package/scaffold/.agent/skills/total-recall/plugins/mesh/ui/chunks/remote-execution.md +22 -0
- package/scaffold/.agent/skills/total-recall/plugins/mesh/ui/chunks/secret-grants.md +26 -0
- package/scaffold/.agent/skills/total-recall/plugins/mesh/ui/{card.js → home.js} +93 -22
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/DESIGN.md +86 -0
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/README.md +19 -0
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/cli.mjs +5 -1
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/package-lock.json +6 -6
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/package.json +2 -1
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/plugin.json +43 -22
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/chat.mjs +80 -0
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/ui/chunks/adapter-docs-freshness.md +16 -0
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/ui/chunks/chat-handoff.md +26 -0
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/ui/chunks/fleet-maintenance.md +21 -0
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/ui/chunks/harness-inventory.md +21 -0
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/ui/chunks/included-access.md +18 -0
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/ui/chunks/included-usage-verification.md +15 -0
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/ui/chunks/independent-review.md +17 -0
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/ui/chunks/managed-execution.md +20 -0
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/ui/chunks/official-documentation.md +18 -0
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/ui/chunks/quota-recovery.md +21 -0
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/ui/chunks/review-routing-decision.md +16 -0
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/ui/chunks/route-work.md +18 -0
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/ui/chunks/routing-evidence.md +18 -0
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/ui/chunks/run-ledger.md +18 -0
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/ui/home.js +198 -0
- package/scaffold/.agent/skills/total-recall/plugins/openwiki/DESIGN.md +75 -0
- package/scaffold/.agent/skills/total-recall/plugins/openwiki/README.md +2 -0
- package/scaffold/.agent/skills/total-recall/plugins/openwiki/cli.mjs +17 -14
- package/scaffold/.agent/skills/total-recall/plugins/openwiki/package-lock.json +6 -6
- package/scaffold/.agent/skills/total-recall/plugins/openwiki/package.json +2 -1
- package/scaffold/.agent/skills/total-recall/plugins/openwiki/plugin.json +10 -44
- package/scaffold/.agent/skills/total-recall/plugins/openwiki/src/generate.mjs +5 -4
- package/scaffold/.agent/skills/total-recall/plugins/openwiki/src/graph.mjs +3 -4
- package/scaffold/.agent/skills/total-recall/plugins/openwiki/src/ingest.mjs +23 -18
- package/scaffold/.agent/skills/total-recall/plugins/openwiki/src/mesh-vaults.mjs +8 -3
- package/scaffold/.agent/skills/total-recall/plugins/openwiki/src/refresh.mjs +6 -3
- package/scaffold/.agent/skills/total-recall/plugins/openwiki/src/search.mjs +3 -5
- package/scaffold/.agent/skills/total-recall/plugins/openwiki/src/token.mjs +21 -47
- package/scaffold/.agent/skills/total-recall/plugins/openwiki/src/upstream-watcher.mjs +17 -6
- package/scaffold/.agent/skills/total-recall/plugins/openwiki/ui/chunks/auto-refresh.md +18 -0
- package/scaffold/.agent/skills/total-recall/plugins/openwiki/ui/chunks/bootstrap-pages.md +18 -0
- package/scaffold/.agent/skills/total-recall/plugins/openwiki/ui/chunks/generate-wiki.md +21 -0
- package/scaffold/.agent/skills/total-recall/plugins/openwiki/ui/chunks/generator-settings.md +18 -0
- package/scaffold/.agent/skills/total-recall/plugins/openwiki/ui/chunks/host-probe.md +18 -0
- package/scaffold/.agent/skills/total-recall/plugins/openwiki/ui/chunks/ingest-preview.md +18 -0
- package/scaffold/.agent/skills/total-recall/plugins/openwiki/ui/chunks/link-hygiene.md +21 -0
- package/scaffold/.agent/skills/total-recall/plugins/openwiki/ui/chunks/link-topology.md +19 -0
- package/scaffold/.agent/skills/total-recall/plugins/openwiki/ui/chunks/passage-search.md +19 -0
- package/scaffold/.agent/skills/total-recall/plugins/openwiki/ui/chunks/propagation-plan.md +18 -0
- package/scaffold/.agent/skills/total-recall/plugins/openwiki/ui/chunks/provider-credentials.md +18 -0
- package/scaffold/.agent/skills/total-recall/plugins/openwiki/ui/chunks/refresh-report.md +18 -0
- package/scaffold/.agent/skills/total-recall/plugins/openwiki/ui/chunks/task-evidence.md +22 -0
- package/scaffold/.agent/skills/total-recall/plugins/openwiki/ui/chunks/upstream-record.md +18 -0
- package/scaffold/.agent/skills/total-recall/plugins/openwiki/ui/chunks/watch-upstream.md +18 -0
- package/scaffold/.agent/skills/total-recall/plugins/openwiki/ui/chunks/wiki-atlas.md +19 -0
- package/scaffold/.agent/skills/total-recall/plugins/openwiki/ui/panel.js +261 -513
- package/scaffold/.agent/skills/total-recall/plugins/security/DESIGN.md +84 -0
- package/scaffold/.agent/skills/total-recall/plugins/security/README.md +4 -2
- package/scaffold/.agent/skills/total-recall/plugins/security/cli.mjs +7 -19
- package/scaffold/.agent/skills/total-recall/plugins/security/package-lock.json +6 -6
- package/scaffold/.agent/skills/total-recall/plugins/security/package.json +2 -3
- package/scaffold/.agent/skills/total-recall/plugins/security/plugin.json +19 -52
- package/scaffold/.agent/skills/total-recall/plugins/security/ui/chunks/device-evidence.md +21 -0
- package/scaffold/.agent/skills/total-recall/plugins/security/ui/chunks/evidence-desk.md +18 -0
- package/scaffold/.agent/skills/total-recall/plugins/security/ui/chunks/guided-device-review.md +17 -0
- package/scaffold/.agent/skills/total-recall/plugins/security/ui/chunks/host-and-network.md +21 -0
- package/scaffold/.agent/skills/total-recall/plugins/security/ui/chunks/https-headers.md +17 -0
- package/scaffold/.agent/skills/total-recall/plugins/security/ui/chunks/mesh-coverage.md +18 -0
- package/scaffold/.agent/skills/total-recall/plugins/security/ui/chunks/private-security-tools.md +16 -0
- package/scaffold/.agent/skills/total-recall/plugins/security/ui/chunks/single-origin-header-check.md +17 -0
- package/scaffold/.agent/skills/total-recall/plugins/security/ui/chunks/source-review.md +21 -0
- package/scaffold/.agent/skills/total-recall/plugins/security/ui/chunks/ssh-permission-plan.md +17 -0
- package/scaffold/.agent/skills/total-recall/plugins/security/ui/home.js +283 -0
- package/scaffold/.agent/skills/total-recall/plugins/ssss/DESIGN.md +93 -0
- package/scaffold/.agent/skills/total-recall/plugins/ssss/package-lock.json +2 -2
- package/scaffold/.agent/skills/total-recall/plugins/ssss/package.json +2 -1
- package/scaffold/.agent/skills/total-recall/plugins/ssss/plugin.json +5 -3
- package/scaffold/.agent/skills/total-recall/plugins/ssss/ui/chunks/conformance.md +26 -0
- package/scaffold/.agent/skills/total-recall/plugins/ssss/ui/chunks/registry.md +37 -0
- package/scaffold/.agent/skills/total-recall/plugins/ssss/ui/chunks/repair.md +42 -0
- package/scaffold/.agent/skills/total-recall/plugins/ssss/ui/chunks/scaffold.md +33 -0
- package/scaffold/.agent/skills/total-recall/plugins/ssss/ui/chunks/status.md +43 -0
- package/scaffold/.agent/skills/total-recall/plugins/ssss/ui/chunks/validate.md +34 -0
- package/scaffold/.agent/skills/total-recall/plugins/ssss/ui/chunks/validation-diagnostics.md +17 -0
- package/scaffold/.agent/skills/total-recall/plugins/ssss/ui/chunks/workspace-registry-preflight.md +17 -0
- package/scaffold/.agent/skills/total-recall/plugins/ssss/ui/home.js +348 -0
- package/scaffold/.agent/skills/total-recall/references/operations.md +2 -0
- package/src/cli/api.mjs +3 -3
- package/src/cli/brief.mjs +3 -0
- package/src/cli/config.mjs +16 -0
- package/src/cli/connect.mjs +2 -7
- package/src/cli/plugin/chunks.mjs +145 -0
- package/src/cli/plugin/create.mjs +24 -52
- package/src/cli/plugin/index.mjs +20 -9
- package/src/cli/setup.mjs +2 -9
- package/src/cli/start.mjs +1 -0
- package/src/cli/startup.mjs +18 -0
- package/src/core/app-deploy/design-tokens.mjs +14 -9
- package/src/core/app-deploy/ui-elements.mjs +1 -1
- package/src/core/brain-registry.mjs +5 -0
- package/src/core/brain-updates.mjs +5 -1
- package/src/core/daemon-control.mjs +5 -1
- package/src/core/dashboard-bundle.mjs +261 -0
- package/src/core/ensure-dependencies.mjs +19 -15
- package/src/core/memory-brain.mjs +30 -8
- package/src/core/plugin-activation.mjs +63 -20
- package/src/core/plugin-contracts/{card.mjs → manifest.mjs} +23 -57
- package/src/core/plugin-contracts/startup-check.mjs +49 -0
- package/src/core/plugin-contracts/ui.mjs +9 -3
- package/src/core/plugin-distribution.mjs +6 -6
- package/src/core/plugin-lifecycle.mjs +58 -0
- package/src/core/plugin-loader.mjs +9 -5
- package/src/core/plugin-runner.mjs +21 -10
- package/src/core/plugin-startup-checks.mjs +44 -0
- package/src/core/plugin-state.mjs +19 -5
- package/src/core/plugin-store.mjs +30 -11
- package/src/core/project-id.mjs +15 -5
- package/src/core/required-plugins.mjs +31 -6
- package/src/core/schema.mjs +2 -0
- package/src/core/ssss-operation-service.mjs +1 -0
- package/src/core/startup-health.mjs +28 -3
- package/src/core/testing/plugin-fixture.mjs +22 -21
- package/src/core/throttled-fetch.mjs +25 -18
- package/src/core/ui-chunk-choice.mjs +77 -0
- package/src/core/ui-chunk.registry.json +23 -0
- package/src/core/ui-chunks.mjs +434 -0
- package/src/core/vault-cache.mjs +58 -59
- package/src/core/workspace-compositions.mjs +151 -0
- package/src/core/workspace-drawers.mjs +79 -0
- package/src/server/api.mjs +4 -27
- package/src/server/index.mjs +28 -21
- package/src/server/memory-events.mjs +31 -0
- package/src/server/plugin-brain-targets.mjs +89 -0
- package/src/server/rest.mjs +2 -0
- package/src/server/route-inventory.mjs +3 -2
- package/src/server/route-manifest.json +52 -4
- package/src/server/routes/_shared.mjs +7 -14
- package/src/server/routes/brains.mjs +29 -44
- package/src/server/routes/dashboard.mjs +26 -0
- package/src/server/routes/plugins.mjs +154 -45
- package/src/server/routes/ui-chunks.mjs +192 -0
- package/frontend/dist/assets/index-DACh1dhx.js +0 -5613
- package/frontend/dist/assets/index-DtwsDyFM.css +0 -1
- package/frontend/src/components/plugins/card/CardEngine.tsx +0 -108
- package/frontend/src/components/plugins/card/CardScenes.tsx +0 -103
- package/frontend/src/components/plugins/card/ExecutionPicker.tsx +0 -64
- package/frontend/src/components/plugins/card/args.ts +0 -28
- package/frontend/src/components/plugins/card/card.css +0 -32
- package/frontend/src/components/plugins/card/cli-line.ts +0 -13
- package/frontend/src/components/plugins/card/contract.ts +0 -91
- package/frontend/src/components/plugins/card/format.ts +0 -49
- package/frontend/src/components/plugins/card/runner-context.ts +0 -11
- package/frontend/src/components/plugins/card/runner.tsx +0 -43
- package/frontend/src/components/plugins/card/theme.ts +0 -35
- package/frontend/src/components/plugins/card/use-source.ts +0 -22
- package/frontend/src/components/plugins/card/widgets.tsx +0 -94
- package/frontend/src/components/plugins/workspace/WorkspaceHost.tsx +0 -23
- package/frontend/src/pages/PluginsPage.tsx +0 -1719
- package/scaffold/.agent/skills/plugin/evals/cases/04-card-collects-credential.mjs +0 -47
- package/scaffold/.agent/skills/plugin/prompts/06-card.md +0 -46
- package/scaffold/.agent/skills/plugin/references/card.md +0 -90
- package/scaffold/.agent/skills/plugin/subagents/card-designer.md +0 -60
- package/scaffold/.agent/skills/total-recall/plugins/auth/ui/DESIGN.md +0 -67
- package/scaffold/.agent/skills/total-recall/plugins/auth/ui/card.js +0 -1179
- package/scaffold/.agent/skills/total-recall/plugins/code-quality/ui/DESIGN.md +0 -32
- package/scaffold/.agent/skills/total-recall/plugins/code-quality/ui/card.js +0 -588
- package/scaffold/.agent/skills/total-recall/plugins/composable-cli/ui/card.js +0 -575
- package/scaffold/.agent/skills/total-recall/plugins/embeddings/ui/DESIGN.md +0 -32
- package/scaffold/.agent/skills/total-recall/plugins/embeddings/ui/card.js +0 -482
- package/scaffold/.agent/skills/total-recall/plugins/git/ui/DESIGN.md +0 -100
- package/scaffold/.agent/skills/total-recall/plugins/git/ui/card.js +0 -637
- package/scaffold/.agent/skills/total-recall/plugins/mesh/ui/DESIGN.md +0 -217
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/ui/DESIGN.md +0 -32
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/ui/card.js +0 -1276
- package/scaffold/.agent/skills/total-recall/plugins/openwiki/ui/DESIGN.md +0 -45
- package/scaffold/.agent/skills/total-recall/plugins/openwiki/ui/card.js +0 -1401
- package/scaffold/.agent/skills/total-recall/plugins/security/scripts/build-ui.mjs +0 -4
- package/scaffold/.agent/skills/total-recall/plugins/security/ui/DESIGN.md +0 -41
- package/scaffold/.agent/skills/total-recall/plugins/security/ui/card.js +0 -396
- package/scaffold/.agent/skills/total-recall/plugins/security/ui/panel.js +0 -98
- package/scaffold/.agent/skills/total-recall/plugins/ssss/ui/DESIGN.md +0 -15
- package/scaffold/.agent/skills/total-recall/plugins/ssss/ui/card.js +0 -182
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: ui-chunk:chunk
|
|
3
|
+
title: Mesh credential readiness
|
|
4
|
+
description: Check whether Auth has the shared mesh credential, and use Auth to manage its value.
|
|
5
|
+
timestamp: "2026-11-08T09:10:00Z"
|
|
6
|
+
plugin: mesh
|
|
7
|
+
id: credential-readiness
|
|
8
|
+
intents: [is mesh key configured, check mesh token status, save shared mesh credential, refresh Headscale auth]
|
|
9
|
+
surfaces: [page, right]
|
|
10
|
+
operations: [token-status, token]
|
|
11
|
+
data: ["token-status:/present", "token:/present"]
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
<style>
|
|
15
|
+
.mesh-auth { padding:var(--spacing-md); background:var(--color-surface); border-radius:var(--radius-md); }
|
|
16
|
+
.mesh-auth h2 { margin:.25em 0; }
|
|
17
|
+
.mesh-auth small { color:var(--color-accent); font-weight:600; }
|
|
18
|
+
</style>
|
|
19
|
+
<section class="mesh-auth">
|
|
20
|
+
<small>Total Recall Auth</small>
|
|
21
|
+
<h2>Read credential presence</h2>
|
|
22
|
+
<p>Mesh Home reports whether the shared credential is saved. Check control verification separately. Use the credential setup panel to manage the value through Auth.</p>
|
|
23
|
+
</section>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: ui-chunk:chunk
|
|
3
|
+
title: Elected mesh leader
|
|
4
|
+
description: Inspect the election strategy, leader server port, and this machine's leader role.
|
|
5
|
+
timestamp: "2026-11-08T09:10:00Z"
|
|
6
|
+
plugin: mesh
|
|
7
|
+
id: elected-leader
|
|
8
|
+
intents: [who is mesh leader, mesh leader election, leader port, is this machine leader]
|
|
9
|
+
surfaces: [page, right]
|
|
10
|
+
operations: [leader]
|
|
11
|
+
data: ["leader:/leader/strategy", "leader:/leader/port", "leader:/is_current_node_leader"]
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
<style>
|
|
15
|
+
.mesh-leader { padding:var(--spacing-md); background:var(--color-surface); border-radius:var(--radius-md); }
|
|
16
|
+
.mesh-leader h2 { margin-top:0; }
|
|
17
|
+
.mesh-leader p { color:var(--color-muted); margin-bottom:0; }
|
|
18
|
+
</style>
|
|
19
|
+
<section class="mesh-leader">
|
|
20
|
+
<h2>Read the election</h2>
|
|
21
|
+
<p>See how the leader was selected, which server port was reported, and whether this machine leads the fleet.</p>
|
|
22
|
+
</section>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: ui-chunk:chunk
|
|
3
|
+
title: Mesh enrollment key handoff
|
|
4
|
+
description: Issue an enrollment credential in an interactive terminal for the intended new machine.
|
|
5
|
+
timestamp: "2026-11-08T09:10:00Z"
|
|
6
|
+
plugin: mesh
|
|
7
|
+
id: enrollment-key
|
|
8
|
+
intents: [create mesh enrollment key, add a device to private mesh, issue preauth key, terminal enrollment credential]
|
|
9
|
+
surfaces: [page]
|
|
10
|
+
operations: [preauthkey]
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
<style>
|
|
14
|
+
.mesh-key { padding:var(--spacing-md); border:1px dashed var(--color-border); background:var(--color-surface); }
|
|
15
|
+
.mesh-key h2 { margin-top:0; }
|
|
16
|
+
.mesh-key code { color:var(--color-accent); overflow-wrap:anywhere; }
|
|
17
|
+
</style>
|
|
18
|
+
<section class="mesh-key">
|
|
19
|
+
<h2>Issue the key in a terminal</h2>
|
|
20
|
+
<p>Run <code>total-recall mesh preauthkey</code> in the interactive terminal and pass the credential directly to the intended machine.</p>
|
|
21
|
+
<p>Choose reusable or ephemeral enrollment only when it matches that machine’s role.</p>
|
|
22
|
+
</section>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: ui-chunk:chunk
|
|
3
|
+
title: Verified mesh file transfer
|
|
4
|
+
description: Send one bounded file and verify the destination byte count and SHA-256.
|
|
5
|
+
timestamp: "2026-11-08T09:10:00Z"
|
|
6
|
+
plugin: mesh
|
|
7
|
+
id: file-receipt
|
|
8
|
+
intents: [copy file to mesh peer, verify mesh file transfer, check destination checksum, send file through mesh]
|
|
9
|
+
surfaces: [page]
|
|
10
|
+
operations: [file]
|
|
11
|
+
data: ["file:/ok", "file:/bytes", "file:/sha256"]
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
<style>
|
|
15
|
+
.mesh-receipt { padding:var(--spacing-md); background:var(--color-surface); border:1px solid var(--color-border); }
|
|
16
|
+
.mesh-receipt h2 { margin-top:0; }
|
|
17
|
+
.mesh-receipt li::marker { color:var(--color-ok); }
|
|
18
|
+
</style>
|
|
19
|
+
<section class="mesh-receipt">
|
|
20
|
+
<h2>Read a transfer receipt</h2>
|
|
21
|
+
<ol>
|
|
22
|
+
<li>Choose a peer, source file, and destination explicitly.</li>
|
|
23
|
+
<li>Read the destination byte count and SHA-256 after the transfer.</li>
|
|
24
|
+
</ol>
|
|
25
|
+
</section>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: ui-chunk:chunk
|
|
3
|
+
title: Fleet execution and capabilities
|
|
4
|
+
description: Verify which configured nodes can run a probe and which runtimes or harnesses they expose.
|
|
5
|
+
timestamp: "2026-11-08T09:10:00Z"
|
|
6
|
+
plugin: mesh
|
|
7
|
+
id: fleet-execution
|
|
8
|
+
intents: [verify mesh execution, find node with Docker, check available harnesses, diagnose fleet compute capability]
|
|
9
|
+
surfaces: [page]
|
|
10
|
+
operations: [doctor]
|
|
11
|
+
data: ["doctor:/0/reachable", "doctor:/0/runtimes", "doctor:/0/harnesses"]
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
<style>
|
|
15
|
+
.mesh-execution { padding:var(--spacing-md); border-inline-start:3px solid var(--color-ok); background:var(--color-surface); }
|
|
16
|
+
.mesh-execution h2 { margin-top:0; }
|
|
17
|
+
.mesh-execution em { color:var(--color-muted); }
|
|
18
|
+
</style>
|
|
19
|
+
<section class="mesh-execution">
|
|
20
|
+
<h2>Verify where work can run</h2>
|
|
21
|
+
<p>Request the execution probe before using the Placement matrix. An answering node can report the runtimes and harnesses it found.</p>
|
|
22
|
+
<p><em>A failed probe leaves that node’s capabilities unknown.</em></p>
|
|
23
|
+
</section>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: ui-chunk:chunk
|
|
3
|
+
title: Fresh mesh presence
|
|
4
|
+
description: Observe recent activity evidence from reachable peers and check when the fleet observation was made.
|
|
5
|
+
timestamp: "2026-11-08T09:10:00Z"
|
|
6
|
+
plugin: mesh
|
|
7
|
+
id: fleet-presence
|
|
8
|
+
intents: [check fleet presence, find active mesh device, see idle evidence, last peer activity]
|
|
9
|
+
surfaces: [page, right, bottom]
|
|
10
|
+
operations: [presence]
|
|
11
|
+
data: ["presence:/success", "presence:/timestamp", "presence:/peers/0/state"]
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
<style>
|
|
15
|
+
.mesh-presence { padding:var(--spacing-md); background:var(--color-surface); border-block-end:1px solid var(--color-border); }
|
|
16
|
+
.mesh-presence h2 { margin-top:0; }
|
|
17
|
+
.mesh-presence em { color:var(--color-muted); }
|
|
18
|
+
</style>
|
|
19
|
+
<section class="mesh-presence">
|
|
20
|
+
<h2>Read current device activity</h2>
|
|
21
|
+
<p>Check whether the peer answered with a fresh activity observation. Use the observation time to distinguish fresh presence from an earlier record.</p>
|
|
22
|
+
<p><em>Unavailable presence remains unknown.</em></p>
|
|
23
|
+
</section>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: ui-chunk:chunk
|
|
3
|
+
title: Interactive mesh SSH
|
|
4
|
+
description: Open a terminal session to a peer using its recorded login and authenticated mesh access.
|
|
5
|
+
timestamp: "2026-11-08T09:10:00Z"
|
|
6
|
+
plugin: mesh
|
|
7
|
+
id: interactive-ssh
|
|
8
|
+
intents: [SSH to mesh node, open peer terminal, interactive remote shell, log into fleet machine]
|
|
9
|
+
surfaces: [page, bottom]
|
|
10
|
+
operations: [ssh]
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
<style>
|
|
14
|
+
.mesh-shell { padding:var(--spacing-md); background:var(--color-surface); }
|
|
15
|
+
.mesh-shell h2 { margin-top:0; }
|
|
16
|
+
.mesh-shell code { display:block; overflow-wrap:anywhere; padding:.55em; background:var(--color-background); color:var(--color-accent); }
|
|
17
|
+
</style>
|
|
18
|
+
<section class="mesh-shell">
|
|
19
|
+
<h2>Continue in a terminal</h2>
|
|
20
|
+
<p>Use the peer’s recorded access to open an interactive session.</p>
|
|
21
|
+
<code>total-recall mesh ssh <peer></code>
|
|
22
|
+
</section>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: ui-chunk:chunk
|
|
3
|
+
title: This machine's mesh enrollment
|
|
4
|
+
description: Inspect local enrollment and backend state and determine whether unattended enrollment is enabled.
|
|
5
|
+
timestamp: "2026-11-08T09:10:00Z"
|
|
6
|
+
plugin: mesh
|
|
7
|
+
id: local-enrollment
|
|
8
|
+
intents: [check mesh enrollment, join private mesh, re-enroll local machine, inspect mesh backend]
|
|
9
|
+
surfaces: [page, right]
|
|
10
|
+
operations: [enroll]
|
|
11
|
+
data: ["enroll:/state", "enroll:/backend_state", "enroll:/auto_enroll_enabled"]
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
<style>
|
|
15
|
+
.mesh-join { padding:var(--spacing-md); background:var(--color-surface); border-inline-start:3px solid var(--color-warn); }
|
|
16
|
+
.mesh-join h2 { margin-top:0; }
|
|
17
|
+
.mesh-join small { color:var(--color-muted); }
|
|
18
|
+
</style>
|
|
19
|
+
<section class="mesh-join">
|
|
20
|
+
<h2>Check how this machine joined</h2>
|
|
21
|
+
<p>Read <code>enroll --status</code> for the local enrollment state, backend state, and unattended enrollment setting.</p>
|
|
22
|
+
<small>Re-enrollment can interrupt this machine’s connection. Confirm the target before changing it.</small>
|
|
23
|
+
</section>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: ui-chunk:chunk
|
|
3
|
+
title: Mesh access policy
|
|
4
|
+
description: Inspect whether the control server has a policy and when its current policy was recorded.
|
|
5
|
+
timestamp: "2026-11-08T09:10:00Z"
|
|
6
|
+
plugin: mesh
|
|
7
|
+
id: mesh-policy
|
|
8
|
+
intents: [inspect mesh policy, audit network ACL, review SSH grants, change mesh trust policy]
|
|
9
|
+
surfaces: [page]
|
|
10
|
+
operations: [policy]
|
|
11
|
+
data: ["policy:/configured", "policy:/updatedAt"]
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
<style>
|
|
15
|
+
.mesh-policy { padding:var(--spacing-md); border-block:1px solid var(--color-border); background:var(--color-surface); }
|
|
16
|
+
.mesh-policy h2 { margin-top:0; }
|
|
17
|
+
.mesh-policy code { color:var(--color-warn); }
|
|
18
|
+
</style>
|
|
19
|
+
<section class="mesh-policy">
|
|
20
|
+
<h2>Review the trust boundary</h2>
|
|
21
|
+
<p>Read the control server policy with <code>policy get</code>. Review who can reach each destination before replacing a policy.</p>
|
|
22
|
+
<p>The Boundary view presents policy and secret grants as separate observations.</p>
|
|
23
|
+
</section>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: ui-chunk:chunk
|
|
3
|
+
title: Mesh network atlas
|
|
4
|
+
description: Read current network, control API, and enrollment observations for the private fleet.
|
|
5
|
+
timestamp: "2026-11-08T09:10:00Z"
|
|
6
|
+
plugin: mesh
|
|
7
|
+
id: network-atlas
|
|
8
|
+
intents: [mesh overview, fleet connectivity, check mesh network, control server verified, inspect enrolled machines]
|
|
9
|
+
surfaces: [page, right]
|
|
10
|
+
panel: network
|
|
11
|
+
operations: [status]
|
|
12
|
+
data: ["status:/state", "status:/control/verified", "status:/enrollment/state", "status:/observed_at"]
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
<style>
|
|
16
|
+
.mesh-atlas { color:var(--color-text); background:var(--color-surface); padding:var(--spacing-md); border-inline-start:3px solid var(--color-accent); }
|
|
17
|
+
.mesh-atlas h2 { margin:.3em 0; font:600 clamp(1.6rem,5vw,2.3rem) var(--typography-heading-font-family,Georgia,serif); }
|
|
18
|
+
.mesh-atlas p { margin:0; }
|
|
19
|
+
.mesh-atlas small { letter-spacing:.12em; text-transform:uppercase; color:var(--color-accent); }
|
|
20
|
+
</style>
|
|
21
|
+
<header class="mesh-atlas">
|
|
22
|
+
<small>Mesh field atlas</small>
|
|
23
|
+
<h2>Read the fleet</h2>
|
|
24
|
+
<p>Open a machine to inspect membership, path, recorded login, and execution separately.</p>
|
|
25
|
+
</header>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: ui-chunk:chunk
|
|
3
|
+
title: Mesh node roster
|
|
4
|
+
description: Inspect current fleet observations and distinguish members from recorded-only nodes.
|
|
5
|
+
timestamp: "2026-11-08T09:10:00Z"
|
|
6
|
+
plugin: mesh
|
|
7
|
+
id: node-roster
|
|
8
|
+
intents: [list mesh nodes, show enrolled peers, which machines are online, recorded mesh node]
|
|
9
|
+
surfaces: [page, right]
|
|
10
|
+
operations: [nodes]
|
|
11
|
+
data: ["nodes:/nodes/0/network_state", "nodes:/nodes/0/access_state", "nodes:/nodes/0/vault_only"]
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
<style>
|
|
15
|
+
.mesh-roster { padding:var(--spacing-md); border-block:1px solid var(--color-border); background:var(--color-surface); }
|
|
16
|
+
.mesh-roster h2 { margin:0 0 .5rem; }
|
|
17
|
+
.mesh-roster dt { color:var(--color-accent); font-weight:600; }
|
|
18
|
+
.mesh-roster dd { margin:0 0 .6rem; }
|
|
19
|
+
</style>
|
|
20
|
+
<section class="mesh-roster">
|
|
21
|
+
<h2>Compare node records</h2>
|
|
22
|
+
<dl>
|
|
23
|
+
<dt>Membership</dt><dd>Read current network state for enrolled machines.</dd>
|
|
24
|
+
<dt>Recorded only</dt><dd>Keep an earlier record separate from current membership and liveness.</dd>
|
|
25
|
+
</dl>
|
|
26
|
+
</section>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: ui-chunk:chunk
|
|
3
|
+
plugin: mesh
|
|
4
|
+
id: node-selection-proof
|
|
5
|
+
title: Choose a mesh node with verified capabilities
|
|
6
|
+
description: Use current reachability and installed harness observations to narrow the list of candidate execution nodes.
|
|
7
|
+
timestamp: "2026-11-08T23:12:00Z"
|
|
8
|
+
intents: [choose a mesh node for work, check which peer has a harness, verify a node can run the required runtime]
|
|
9
|
+
surfaces: [page]
|
|
10
|
+
panel: network
|
|
11
|
+
operations: [nodes, doctor]
|
|
12
|
+
data: ["doctor:/0/reachable", "doctor:/0/runtimes", "doctor:/0/harnesses"]
|
|
13
|
+
---
|
|
14
|
+
<section>
|
|
15
|
+
<h2>Check a node against the work it needs to run</h2>
|
|
16
|
+
<p>Start with the enrolled roster, then inspect the fleet execution probe. Filter to reachable nodes with the required runtime and harness. Recheck the selected peer before dispatch.</p>
|
|
17
|
+
</section>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: ui-chunk:chunk
|
|
3
|
+
title: Mesh owner observations
|
|
4
|
+
description: Read the selected fleet view and inspect its source evidence and observation time.
|
|
5
|
+
timestamp: "2026-11-08T09:10:00Z"
|
|
6
|
+
plugin: mesh
|
|
7
|
+
id: owner-observations
|
|
8
|
+
intents: [read mesh view, mesh flows evidence, placement source observations, inspect boundary sources]
|
|
9
|
+
surfaces: [page, right]
|
|
10
|
+
operations: [view]
|
|
11
|
+
data: ["view:/screen", "view:/observed_at", "view:/sources/status/ok"]
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
<style>
|
|
15
|
+
.mesh-sources { padding:var(--spacing-md); background:var(--color-surface); }
|
|
16
|
+
.mesh-sources h2 { margin-top:0; }
|
|
17
|
+
.mesh-sources small { color:var(--color-muted); }
|
|
18
|
+
</style>
|
|
19
|
+
<section class="mesh-sources">
|
|
20
|
+
<h2>Trace a fleet observation</h2>
|
|
21
|
+
<p>Select Machines, Flows, Placement, Boundary, or Join. Each view reports when its owner commands ran and whether each source answered.</p>
|
|
22
|
+
<small>A source can fail while the other observations remain available.</small>
|
|
23
|
+
</section>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: ui-chunk:chunk
|
|
3
|
+
title: Mesh peer path and latency
|
|
4
|
+
description: Probe a named peer and report whether its network path answered, with timing when available.
|
|
5
|
+
timestamp: "2026-11-08T09:10:00Z"
|
|
6
|
+
plugin: mesh
|
|
7
|
+
id: peer-path
|
|
8
|
+
intents: [ping mesh peer, check node path, measure mesh latency, test reachability]
|
|
9
|
+
surfaces: [page, right]
|
|
10
|
+
operations: [ping]
|
|
11
|
+
data: ["ping:/reachable", "ping:/latency_ms"]
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
<style>
|
|
15
|
+
.mesh-path { padding:var(--spacing-md); border:1px dashed var(--color-border); background:var(--color-surface); }
|
|
16
|
+
.mesh-path h2 { margin-top:0; }
|
|
17
|
+
.mesh-path strong { color:var(--color-accent); }
|
|
18
|
+
</style>
|
|
19
|
+
<section class="mesh-path">
|
|
20
|
+
<h2>Check the path to a peer</h2>
|
|
21
|
+
<p>Ping a named machine. A response proves the path from this machine at the time of the test.</p>
|
|
22
|
+
<p><strong>Round-trip time</strong> appears when the probe can measure it.</p>
|
|
23
|
+
</section>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: ui-chunk:chunk
|
|
3
|
+
title: Pin the mesh leader
|
|
4
|
+
description: Record an explicit mesh address and optional server port as the leader pin.
|
|
5
|
+
timestamp: "2026-11-08T09:10:00Z"
|
|
6
|
+
plugin: mesh
|
|
7
|
+
id: pinned-leader
|
|
8
|
+
intents: [pin mesh leader, choose leadership address, set leader server port]
|
|
9
|
+
surfaces: [page]
|
|
10
|
+
operations: [leader-pin]
|
|
11
|
+
data: ["leader-pin:/ok", "leader-pin:/leaderPort"]
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
<style>
|
|
15
|
+
.mesh-pin { padding:var(--spacing-md); border-inline-start:3px solid var(--color-warn); background:var(--color-surface); }
|
|
16
|
+
.mesh-pin h2 { margin-top:0; }
|
|
17
|
+
</style>
|
|
18
|
+
<section class="mesh-pin">
|
|
19
|
+
<h2>Change the leader pin</h2>
|
|
20
|
+
<ol>
|
|
21
|
+
<li>Select the intended mesh address and optional server port.</li>
|
|
22
|
+
<li>Check the write result, then read the elected leader separately.</li>
|
|
23
|
+
</ol>
|
|
24
|
+
</section>
|
package/scaffold/.agent/skills/total-recall/plugins/mesh/ui/chunks/reachability-evidence-ladder.md
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: ui-chunk:chunk
|
|
3
|
+
plugin: mesh
|
|
4
|
+
id: reachability-evidence-ladder
|
|
5
|
+
title: Trace where a mesh operation failed
|
|
6
|
+
description: Compare control verification, peer latency and recorded login evidence to distinguish control, network and access failures.
|
|
7
|
+
timestamp: "2026-11-08T23:12:00Z"
|
|
8
|
+
intents: [diagnose why mesh execution failed, separate mesh control and login failure, compare peer reachability with SSH access]
|
|
9
|
+
surfaces: [page, right]
|
|
10
|
+
panel: network
|
|
11
|
+
operations: [probe, ping, access, doctor]
|
|
12
|
+
data: ["probe:/control/verified", "ping:/reachable", "ping:/latency_ms", "access:/complete", "doctor:/0/reachable"]
|
|
13
|
+
---
|
|
14
|
+
<section>
|
|
15
|
+
<h2>Follow the mesh evidence ladder</h2>
|
|
16
|
+
<ol><li>Verify the controller independently.</li><li>Probe the named peer from this machine.</li><li>Review the recorded login and the execution probe before dispatching work.</li></ol>
|
|
17
|
+
</section>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: ui-chunk:chunk
|
|
3
|
+
title: Recorded mesh login
|
|
4
|
+
description: Inspect whether the selected node has a complete login record and when it was verified.
|
|
5
|
+
timestamp: "2026-11-08T09:10:00Z"
|
|
6
|
+
plugin: mesh
|
|
7
|
+
id: recorded-login
|
|
8
|
+
intents: [inspect mesh login, record node access, verify recorded SSH account, discover working login]
|
|
9
|
+
surfaces: [page]
|
|
10
|
+
operations: [access]
|
|
11
|
+
data: ["access:/complete", "access:/verified_at"]
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
<style>
|
|
15
|
+
.mesh-login { padding:var(--spacing-md); background:var(--color-surface); border-radius:var(--radius-md); }
|
|
16
|
+
.mesh-login h2 { margin-top:0; }
|
|
17
|
+
.mesh-login b { color:var(--color-accent); }
|
|
18
|
+
</style>
|
|
19
|
+
<section class="mesh-login">
|
|
20
|
+
<h2>Review how the fleet reaches a node</h2>
|
|
21
|
+
<p>Inspect the resolved access record for the selected machine. A complete record gives the fleet a login target.</p>
|
|
22
|
+
<p>Compare the <b>recorded verification time</b> with a new execution probe.</p>
|
|
23
|
+
</section>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: ui-chunk:chunk
|
|
3
|
+
title: Remote mesh execution result
|
|
4
|
+
description: Run an explicit command on an enrolled peer and read its actual exit result.
|
|
5
|
+
timestamp: "2026-11-08T09:10:00Z"
|
|
6
|
+
plugin: mesh
|
|
7
|
+
id: remote-execution
|
|
8
|
+
intents: [execute mesh command, run command on peer, check remote exit code, remote shell command result]
|
|
9
|
+
surfaces: [page]
|
|
10
|
+
operations: [exec]
|
|
11
|
+
data: ["exec:/success", "exec:/exitCode"]
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
<style>
|
|
15
|
+
.mesh-run { padding:var(--spacing-md); background:var(--color-surface); border-block-end:1px solid var(--color-border); }
|
|
16
|
+
.mesh-run h2 { margin-top:0; }
|
|
17
|
+
.mesh-run strong { color:var(--color-accent); }
|
|
18
|
+
</style>
|
|
19
|
+
<section class="mesh-run">
|
|
20
|
+
<h2>Read the command result</h2>
|
|
21
|
+
<p>Choose the peer and command explicitly. The <strong>exit code</strong> comes from the remote execution. Check it before treating a successful connection as a successful command.</p>
|
|
22
|
+
</section>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: ui-chunk:chunk
|
|
3
|
+
title: Mesh secret grants
|
|
4
|
+
description: Review the selected node, user, or tag scope and verify the outcome of an explicit grant change.
|
|
5
|
+
timestamp: "2026-11-08T09:10:00Z"
|
|
6
|
+
plugin: mesh
|
|
7
|
+
id: secret-grants
|
|
8
|
+
intents: [list mesh secret grants, revoke mesh credential access, allow named keys on node, review Auth trust boundary]
|
|
9
|
+
surfaces: [page]
|
|
10
|
+
operations: [grants]
|
|
11
|
+
data: ["grants:/ok"]
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
<style>
|
|
15
|
+
.mesh-grants { padding:var(--spacing-md); border-inline-start:3px solid var(--color-warn); background:var(--color-surface); }
|
|
16
|
+
.mesh-grants h2 { margin-top:0; }
|
|
17
|
+
.mesh-grants dt { color:var(--color-accent); }
|
|
18
|
+
.mesh-grants dd { margin:0 0 .45em; }
|
|
19
|
+
</style>
|
|
20
|
+
<section class="mesh-grants">
|
|
21
|
+
<h2>Review machine access to secrets</h2>
|
|
22
|
+
<dl>
|
|
23
|
+
<dt>Inspect</dt><dd>Read the grant inventory in Boundary.</dd>
|
|
24
|
+
<dt>Change</dt><dd>Select a node, tag, or user and confirm the permitted key names before adding or removing a grant.</dd>
|
|
25
|
+
</dl>
|
|
26
|
+
</section>
|