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,84 @@
|
|
|
1
|
+
---
|
|
2
|
+
version: alpha
|
|
3
|
+
name: Security evidence desk
|
|
4
|
+
description: A paper field notebook for measured and manual security evidence.
|
|
5
|
+
colors:
|
|
6
|
+
background: "#f4f0e6"
|
|
7
|
+
surface: "#fdfbf5"
|
|
8
|
+
text: "#22342d"
|
|
9
|
+
muted: "#4d6157"
|
|
10
|
+
border: "#aab6a8"
|
|
11
|
+
primary: "#31564b"
|
|
12
|
+
primary-soft: "#dce9dd"
|
|
13
|
+
notice: "#795117"
|
|
14
|
+
typography:
|
|
15
|
+
title:
|
|
16
|
+
fontFamily: "Georgia, serif"
|
|
17
|
+
fontSize: 36px
|
|
18
|
+
fontWeight: 600
|
|
19
|
+
lineHeight: 1.05
|
|
20
|
+
body:
|
|
21
|
+
fontFamily: "system-ui, sans-serif"
|
|
22
|
+
fontSize: 15px
|
|
23
|
+
fontWeight: 400
|
|
24
|
+
lineHeight: 1.55
|
|
25
|
+
label:
|
|
26
|
+
fontFamily: "system-ui, sans-serif"
|
|
27
|
+
fontSize: 12px
|
|
28
|
+
fontWeight: 700
|
|
29
|
+
letterSpacing: 0.06em
|
|
30
|
+
rounded:
|
|
31
|
+
sm: 4px
|
|
32
|
+
md: 8px
|
|
33
|
+
spacing:
|
|
34
|
+
sm: 8px
|
|
35
|
+
md: 16px
|
|
36
|
+
lg: 22px
|
|
37
|
+
xl: 28px
|
|
38
|
+
touch: 44px
|
|
39
|
+
components:
|
|
40
|
+
evidence-note:
|
|
41
|
+
backgroundColor: "{colors.surface}"
|
|
42
|
+
textColor: "{colors.text}"
|
|
43
|
+
typography: "{typography.body}"
|
|
44
|
+
padding: "{spacing.md}"
|
|
45
|
+
rounded: "{rounded.sm}"
|
|
46
|
+
section-marker:
|
|
47
|
+
textColor: "{colors.primary}"
|
|
48
|
+
typography: "{typography.label}"
|
|
49
|
+
padding: "{spacing.sm}"
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
# Security evidence desk
|
|
53
|
+
|
|
54
|
+
## Overview
|
|
55
|
+
|
|
56
|
+
The desk reads like an operator’s field notebook. It starts with the scope of a check and makes room for a clear result, partial coverage, and the next deliberate action.
|
|
57
|
+
|
|
58
|
+
## Colors
|
|
59
|
+
|
|
60
|
+
Use warm paper for the main surface and forest ink for headings, focus and separators. Keep secondary explanations muted with enough contrast to read beside evidence. Use notice ink for a review state with a visible label.
|
|
61
|
+
|
|
62
|
+
## Typography
|
|
63
|
+
|
|
64
|
+
Use the serif title for major sections and system sans for dense evidence. Give numbers and scope labels room to scan. Keep technical state labels readable without relying on color.
|
|
65
|
+
|
|
66
|
+
## Layout
|
|
67
|
+
|
|
68
|
+
Use one column on narrow screens. On wide screens place target controls on the left and the current evidence on the right. Long forms and permission repair belong in disclosed sections.
|
|
69
|
+
|
|
70
|
+
## Elevation & Depth
|
|
71
|
+
|
|
72
|
+
Use rules and background changes to distinguish regions. The evidence area is a single work surface with no floating layers.
|
|
73
|
+
|
|
74
|
+
## Shapes
|
|
75
|
+
|
|
76
|
+
Small radii keep fields and controls consistent. Aim for at least 44 pixels for action targets and a strong keyboard focus outline.
|
|
77
|
+
|
|
78
|
+
## Components
|
|
79
|
+
|
|
80
|
+
Use evidence notes for one selected scope and its measured limits. Use section markers for labels on local, mesh, device and website workflows.
|
|
81
|
+
|
|
82
|
+
## Do's and Don'ts
|
|
83
|
+
|
|
84
|
+
Write explicit status labels and identify what was observed. Keep measurement, manual review and unavailable state distinct. Use aggregate coverage in the browser and terminal entry points for private material. Start an assessment or repair after an explicit action.
|
|
@@ -24,7 +24,9 @@ Auth owns credentials. Machine audits need no security master key. For signing/e
|
|
|
24
24
|
|
|
25
25
|
Source scans report locations and rule IDs without matched secrets. Heuristic findings require source review; they are not proof of complete vulnerability coverage. Auth declarations alone do not establish runtime enforcement. Plugin audits never rewrite manifests to fabricate hardening.
|
|
26
26
|
|
|
27
|
-
Exit 0 means the requested operation completed within its stated semantics
|
|
27
|
+
Exit 0 means the requested operation completed within its stated semantics. Machine and fleet checks exit 1 for risks, review or incomplete coverage. `harden` without an apply flag returns a plan with zero applied changes. Network inspection is read-only.
|
|
28
|
+
|
|
29
|
+
The Security Home shows local capability metadata and gives you explicit controls for assessments. It displays coverage and finding counts, with raw reports available through the owner CLI. Envelope, credential and challenge operations use the terminal. The packaged SSSS blocks and [design tokens](DESIGN.md) support the workspace compositor.
|
|
28
30
|
|
|
29
31
|
See [the operational skill](skills/security/SKILL.md). Official platform contracts: [OpenSSH](https://man.openbsd.org/sshd_config), [Ubuntu firewall administration](https://ubuntu.com/server/docs/how-to/security/firewalls/), [Apple platform protection](https://support.apple.com/guide/security/protecting-against-malware-sec469d47bd8/web).
|
|
30
32
|
|
|
@@ -60,7 +62,7 @@ Mount the middleware after trusted session/proxy resolution and before applicati
|
|
|
60
62
|
|
|
61
63
|
`security plugins` reads the installed host registry and assesses source coverage and security declarations. [OWASP CSRF guidance](https://cheatsheetseries.owasp.org/cheatsheets/Cross-Site_Request_Forgery_Prevention_Cheat_Sheet.html), [Node HTTP](https://nodejs.org/api/http.html).
|
|
62
64
|
|
|
63
|
-
The [Security project tracker](docs/projects/in-progress/SECURITY_CARD/SECURITY_CARD_PROJECT_TRACKER.md) records scanner coverage, runtime enforcement and
|
|
65
|
+
The [Security project tracker](docs/projects/in-progress/SECURITY_CARD/SECURITY_CARD_PROJECT_TRACKER.md) records scanner coverage, runtime enforcement and Home acceptance separately.
|
|
64
66
|
|
|
65
67
|
## Using this from an agent
|
|
66
68
|
|
|
@@ -709,6 +709,10 @@ async function machineCommand(args) {
|
|
|
709
709
|
console.log(JSON.stringify(result, null, 2));
|
|
710
710
|
if (result.status !== 'passed' || remediation?.status === 'failed') process.exitCode = 1;
|
|
711
711
|
}
|
|
712
|
+
async function networkCommand(args) {
|
|
713
|
+
if (args.includes('--apply-permissions')) throw new Error('Network is read-only. Use machine --apply-permissions for an explicit repair');
|
|
714
|
+
return machineCommand([]);
|
|
715
|
+
}
|
|
712
716
|
function option(args, name) {
|
|
713
717
|
const at = args.indexOf(name);
|
|
714
718
|
if (at < 0) return undefined;
|
|
@@ -861,24 +865,8 @@ const IMPLEMENTED = {
|
|
|
861
865
|
const json = args.includes("--json");
|
|
862
866
|
const status = {
|
|
863
867
|
plugin: "security",
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
"machine",
|
|
867
|
-
"fleet",
|
|
868
|
-
"audit",
|
|
869
|
-
"scan",
|
|
870
|
-
"harden",
|
|
871
|
-
"plugins",
|
|
872
|
-
"secure-all",
|
|
873
|
-
"challenge",
|
|
874
|
-
"bot-mitigate",
|
|
875
|
-
"site-audit",
|
|
876
|
-
"site-shield",
|
|
877
|
-
"encrypt",
|
|
878
|
-
"decrypt",
|
|
879
|
-
"probe",
|
|
880
|
-
"token"
|
|
881
|
-
],
|
|
868
|
+
host_platform: process.platform,
|
|
869
|
+
active_suite: Object.keys(IMPLEMENTED).filter(name => name !== 'status'),
|
|
882
870
|
encryption_cipher: "AES-256-GCM (scrypt KDF)",
|
|
883
871
|
proof_of_work: "SHA-256 PoW challenge engine",
|
|
884
872
|
bot_mitigation: "Honeypot + velocity + token risk analyzer",
|
|
@@ -901,7 +889,7 @@ const IMPLEMENTED = {
|
|
|
901
889
|
platforms: async () => console.log(JSON.stringify(platformInventory(), null, 2)),
|
|
902
890
|
device: deviceCommand,
|
|
903
891
|
android: androidCommand,
|
|
904
|
-
network:
|
|
892
|
+
network: networkCommand,
|
|
905
893
|
fleet: fleetCommand,
|
|
906
894
|
audit: auditCommand,
|
|
907
895
|
scan: scanCommand,
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tr-plugin-security",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "tr-plugin-security",
|
|
9
|
-
"version": "0.
|
|
9
|
+
"version": "0.4.0",
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@gregiteen/ssss-cli": "0.14.5"
|
|
13
13
|
},
|
|
14
14
|
"devDependencies": {
|
|
15
15
|
"jsdom": "^26.1.0",
|
|
16
|
-
"total-recall-brain": "3.
|
|
16
|
+
"total-recall-brain": "3.45.0"
|
|
17
17
|
}
|
|
18
18
|
},
|
|
19
19
|
"node_modules/@alcalzone/ansi-tokenize": {
|
|
@@ -5698,9 +5698,9 @@
|
|
|
5698
5698
|
}
|
|
5699
5699
|
},
|
|
5700
5700
|
"node_modules/total-recall-brain": {
|
|
5701
|
-
"version": "3.
|
|
5702
|
-
"resolved": "https://registry.npmjs.org/total-recall-brain/-/total-recall-brain-3.
|
|
5703
|
-
"integrity": "sha512-
|
|
5701
|
+
"version": "3.45.0",
|
|
5702
|
+
"resolved": "https://registry.npmjs.org/total-recall-brain/-/total-recall-brain-3.45.0.tgz",
|
|
5703
|
+
"integrity": "sha512-HDYfROazZbsLHQsFPnlBcSpe1HL1QEi7JG8x/eNRUI06RxVQsZWl8LwBo2lTWjWRDrKmCy7BUmSXQDuWF3lrEw==",
|
|
5704
5704
|
"dev": true,
|
|
5705
5705
|
"license": "MIT",
|
|
5706
5706
|
"workspaces": [
|
|
@@ -1,23 +1,22 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tr-plugin-security",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Standalone security suite for Total Recall: static analysis, file and permission hardening schemes, AES-256-GCM encryption tools, and egress audit controls",
|
|
6
6
|
"scripts": {
|
|
7
7
|
"test": "node --test test/*.test.mjs",
|
|
8
|
-
"build:ui": "node scripts/build-ui.mjs",
|
|
9
8
|
"ssss": "ssss"
|
|
10
9
|
},
|
|
11
10
|
"license": "MIT",
|
|
12
11
|
"files": [
|
|
13
12
|
"cli.mjs",
|
|
14
13
|
"plugin.json",
|
|
14
|
+
"DESIGN.md",
|
|
15
15
|
"README.md",
|
|
16
16
|
"LICENSE",
|
|
17
17
|
"src/",
|
|
18
18
|
"!src/**/*.spec.mjs",
|
|
19
19
|
"skills/",
|
|
20
|
-
"scripts/",
|
|
21
20
|
"ui/"
|
|
22
21
|
],
|
|
23
22
|
"publishConfig": {
|
|
@@ -2,15 +2,14 @@
|
|
|
2
2
|
"$schema": "https://github.com/gregiteen/total-recall/blob/main/metadata.plugin.schema.json",
|
|
3
3
|
"id": "security",
|
|
4
4
|
"name": "Security Assessments",
|
|
5
|
-
"version": "0.
|
|
5
|
+
"version": "0.4.0",
|
|
6
6
|
"description": "Machine and device security assessments for macOS, Linux, Windows, Android, Chromebook, iPhone and iPad, with explicit measured and manual coverage.",
|
|
7
7
|
"license": "MIT",
|
|
8
8
|
"requires": [{ "id": "auth", "range": ">=1.2.1" }],
|
|
9
9
|
"branding": {
|
|
10
10
|
"name": "Security Assessments",
|
|
11
|
-
"color": "#
|
|
12
|
-
"badge": "
|
|
13
|
-
"font": "chivo-mono"
|
|
11
|
+
"color": "#31564b",
|
|
12
|
+
"badge": "Evidence desk"
|
|
14
13
|
},
|
|
15
14
|
"auth": {
|
|
16
15
|
"plugin": "auth",
|
|
@@ -20,29 +19,6 @@
|
|
|
20
19
|
],
|
|
21
20
|
"session_verification": true
|
|
22
21
|
},
|
|
23
|
-
"card_face": {
|
|
24
|
-
"headline": "Security & Hardening Suite",
|
|
25
|
-
"quick_actions": [
|
|
26
|
-
{
|
|
27
|
-
"subcommand": "machine",
|
|
28
|
-
"label": "THIS MACHINE"
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
"subcommand": "fleet",
|
|
32
|
-
"label": "MESH FLEET"
|
|
33
|
-
},
|
|
34
|
-
{
|
|
35
|
-
"subcommand": "plugins",
|
|
36
|
-
"label": "PLUGINS"
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
"subcommand": "harden",
|
|
40
|
-
"label": "HARDENING PLAN"
|
|
41
|
-
}
|
|
42
|
-
],
|
|
43
|
-
"touch_layout": "comfortable",
|
|
44
|
-
"interactive": true
|
|
45
|
-
},
|
|
46
22
|
"ssss_schemas": {
|
|
47
23
|
"categories": [
|
|
48
24
|
{
|
|
@@ -171,12 +147,14 @@
|
|
|
171
147
|
{
|
|
172
148
|
"name": "encrypt",
|
|
173
149
|
"description": "Perform AES-256-GCM authenticated envelope encryption",
|
|
174
|
-
"effect": "write"
|
|
150
|
+
"effect": "write",
|
|
151
|
+
"sensitive_output": true
|
|
175
152
|
},
|
|
176
153
|
{
|
|
177
154
|
"name": "decrypt",
|
|
178
155
|
"description": "Decrypt an AES-256-GCM envelope and display plaintext in an interactive terminal",
|
|
179
156
|
"effect": "read",
|
|
157
|
+
"sensitive_output": true,
|
|
180
158
|
"output": "text"
|
|
181
159
|
},
|
|
182
160
|
{
|
|
@@ -187,17 +165,20 @@
|
|
|
187
165
|
{
|
|
188
166
|
"name": "token",
|
|
189
167
|
"description": "Inspect or save the auth-managed security master key through stdin",
|
|
190
|
-
"effect": "write"
|
|
168
|
+
"effect": "write",
|
|
169
|
+
"sensitive_output": true
|
|
191
170
|
},
|
|
192
171
|
{
|
|
193
172
|
"name": "challenge",
|
|
194
173
|
"description": "Create, solve or verify authenticated proof-of-work challenges",
|
|
195
|
-
"effect": "write"
|
|
174
|
+
"effect": "write",
|
|
175
|
+
"sensitive_output": true
|
|
196
176
|
},
|
|
197
177
|
{
|
|
198
178
|
"name": "bot-mitigate",
|
|
199
179
|
"description": "Evaluate submission risk with optional provider challenge verification",
|
|
200
|
-
"effect": "read"
|
|
180
|
+
"effect": "read",
|
|
181
|
+
"sensitive_output": true
|
|
201
182
|
},
|
|
202
183
|
{
|
|
203
184
|
"name": "site-audit",
|
|
@@ -212,36 +193,22 @@
|
|
|
212
193
|
]
|
|
213
194
|
},
|
|
214
195
|
"ui": {
|
|
215
|
-
"
|
|
196
|
+
"home": "home",
|
|
197
|
+
"design_tokens": "DESIGN.md",
|
|
216
198
|
"elements": [
|
|
217
199
|
{
|
|
218
|
-
"id": "
|
|
200
|
+
"id": "home",
|
|
219
201
|
"kind": "panel",
|
|
220
|
-
"tag": "security-
|
|
221
|
-
"module": "ui/
|
|
222
|
-
"description": "
|
|
223
|
-
"events": [],
|
|
202
|
+
"tag": "tr-security-home",
|
|
203
|
+
"module": "ui/home.js",
|
|
204
|
+
"description": "Security evidence desk with local coverage and deliberate assessments",
|
|
224
205
|
"tokens": [
|
|
225
206
|
"color-text",
|
|
226
207
|
"color-surface",
|
|
227
208
|
"color-border",
|
|
228
209
|
"spacing-md",
|
|
229
210
|
"radius-md"
|
|
230
|
-
]
|
|
231
|
-
"optional_tokens": [],
|
|
232
|
-
"props": {
|
|
233
|
-
"view": {
|
|
234
|
-
"type": "object",
|
|
235
|
-
"description": "Printed by `total-recall security token status --json`: { present, secretKey }"
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
},
|
|
239
|
-
{
|
|
240
|
-
"id": "card",
|
|
241
|
-
"kind": "card",
|
|
242
|
-
"tag": "tr-security-card",
|
|
243
|
-
"module": "ui/card.js",
|
|
244
|
-
"description": "Fortress Card Face"
|
|
211
|
+
]
|
|
245
212
|
}
|
|
246
213
|
]
|
|
247
214
|
},
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: ui-chunk:chunk
|
|
3
|
+
plugin: security
|
|
4
|
+
id: device-evidence
|
|
5
|
+
title: Guided and measured device evidence
|
|
6
|
+
description: Separate user-attested review counts from limited authorized Android property readings.
|
|
7
|
+
timestamp: "2026-11-08T09:30:00Z"
|
|
8
|
+
intents: [review phone or tablet security, Chromebook or Windows device checklist, inspect authorized Android properties]
|
|
9
|
+
surfaces: [page, right]
|
|
10
|
+
operations: [device, android]
|
|
11
|
+
data: ["device:/verification", "device:/coverage/reviewed", "device:/coverage/total", "android:/status", "android:/coverage/observed", "android:/coverage/total"]
|
|
12
|
+
---
|
|
13
|
+
<section data-design-component="evidence-note" aria-label="Device evidence modes">
|
|
14
|
+
<p data-design-component="section-marker">Device scope</p>
|
|
15
|
+
<h2>Guided review and property reads</h2>
|
|
16
|
+
<ul>
|
|
17
|
+
<li>Guided review records fresh observations you made on the named device.</li>
|
|
18
|
+
<li>Android property checks use an existing authorized connection and cover a limited set of properties.</li>
|
|
19
|
+
</ul>
|
|
20
|
+
<p>Use an ordinary label and check outcomes for manual review. Keep PINs, tokens and recovery keys in their owning systems.</p>
|
|
21
|
+
</section>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: ui-chunk:chunk
|
|
3
|
+
plugin: security
|
|
4
|
+
id: evidence-desk
|
|
5
|
+
title: Security evidence desk
|
|
6
|
+
description: Local runtime platform, assessment modes and bundled Auth session ownership.
|
|
7
|
+
timestamp: "2026-11-08T09:30:00Z"
|
|
8
|
+
intents: [security home, local security tools, security assessment capabilities]
|
|
9
|
+
surfaces: [page]
|
|
10
|
+
panel: home
|
|
11
|
+
operations: [status, platforms]
|
|
12
|
+
data: ["status:/host_platform", "status:/auth_integration", "status:/device_coverage/platforms", "platforms:/platforms"]
|
|
13
|
+
---
|
|
14
|
+
<section data-design-component="evidence-note" aria-label="Security assessment scope">
|
|
15
|
+
<p data-design-component="section-marker">Scope first</p>
|
|
16
|
+
<h2>Security evidence desk</h2>
|
|
17
|
+
<p>Check the current runtime and available assessment modes. Start a machine, mesh, source or device review when you have chosen a target.</p>
|
|
18
|
+
</section>
|
package/scaffold/.agent/skills/total-recall/plugins/security/ui/chunks/guided-device-review.md
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: ui-chunk:chunk
|
|
3
|
+
plugin: security
|
|
4
|
+
id: guided-device-review
|
|
5
|
+
title: Record a guided device security review
|
|
6
|
+
description: Open a guided review for a supported platform and capture observed outcomes without disclosing device settings or private identifiers.
|
|
7
|
+
timestamp: "2026-11-08T23:12:00Z"
|
|
8
|
+
intents: [review iPhone security settings, record device security observations, start a guided device check]
|
|
9
|
+
surfaces: [page]
|
|
10
|
+
panel: home
|
|
11
|
+
operations: [device, platforms]
|
|
12
|
+
data: ["device:/verification", "device:/coverage/reviewed", "device:/coverage/total"]
|
|
13
|
+
---
|
|
14
|
+
<section>
|
|
15
|
+
<h2>Run a guided device review</h2>
|
|
16
|
+
<p>Open Device evidence in the Evidence desk, choose a platform and load the review with a short label. Record only what you observed, then evaluate the reviewed coverage.</p>
|
|
17
|
+
</section>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: ui-chunk:chunk
|
|
3
|
+
plugin: security
|
|
4
|
+
id: host-and-network
|
|
5
|
+
title: Host and network posture
|
|
6
|
+
description: Observed check states and coverage for the local runtime.
|
|
7
|
+
timestamp: "2026-11-08T09:30:00Z"
|
|
8
|
+
intents: [machine security posture, local network listeners, firewall and disk checks]
|
|
9
|
+
surfaces: [page, right]
|
|
10
|
+
operations: [machine, network]
|
|
11
|
+
data: ["machine:/status", "machine:/coverage/observed", "machine:/coverage/total", "machine:/remediation/changed", "network:/status", "network:/coverage/observed", "network:/coverage/total"]
|
|
12
|
+
---
|
|
13
|
+
<section data-design-component="evidence-note" aria-label="Host and network scope">
|
|
14
|
+
<p data-design-component="section-marker">Local runtime</p>
|
|
15
|
+
<h2>Host and network posture</h2>
|
|
16
|
+
<dl>
|
|
17
|
+
<dt>Machine</dt><dd>Inspect firewall, disk protection and effective SSH settings.</dd>
|
|
18
|
+
<dt>Network</dt><dd>Inspect the listeners visible to the current runtime. External reachability requires a separate measurement.</dd>
|
|
19
|
+
</dl>
|
|
20
|
+
<p>Read the observed count against the available checks before judging the result.</p>
|
|
21
|
+
</section>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: ui-chunk:chunk
|
|
3
|
+
plugin: security
|
|
4
|
+
id: https-headers
|
|
5
|
+
title: HTTPS response evidence
|
|
6
|
+
description: Observed response status, header coverage and middleware snippet installation state.
|
|
7
|
+
timestamp: "2026-11-08T09:30:00Z"
|
|
8
|
+
intents: [audit authorized website headers, verify HTTPS response status, review header middleware coverage]
|
|
9
|
+
surfaces: [page, right]
|
|
10
|
+
operations: [probe, site-audit, site-shield]
|
|
11
|
+
data: ["probe:/status", "probe:/ok", "probe:/latency_ms", "probe:/security_headers", "site-audit:/status", "site-audit:/grade", "site-audit:/score", "site-audit:/checks_count", "site-shield:/installed", "site-shield:/coverage"]
|
|
12
|
+
---
|
|
13
|
+
<section data-design-component="evidence-note" aria-label="HTTPS header evidence">
|
|
14
|
+
<p data-design-component="section-marker">Website scope</p>
|
|
15
|
+
<h2>Observe the HTTPS response</h2>
|
|
16
|
+
<p>For an authorized HTTPS URL, inspect the response and header presence. The site audit grades observed headers. Read the middleware snippet’s coverage before integrating and testing it in your application.</p>
|
|
17
|
+
</section>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: ui-chunk:chunk
|
|
3
|
+
plugin: security
|
|
4
|
+
id: mesh-coverage
|
|
5
|
+
title: Mesh assessment coverage
|
|
6
|
+
description: Selected and observed fleet targets with incomplete coverage identified explicitly.
|
|
7
|
+
timestamp: "2026-11-08T09:30:00Z"
|
|
8
|
+
intents: [fleet security audit, security assessment across mesh, find unobserved machines]
|
|
9
|
+
surfaces: [page, right]
|
|
10
|
+
operations: [fleet, secure-all]
|
|
11
|
+
data: ["fleet:/status", "fleet:/coverage/discovered", "fleet:/coverage/selected", "fleet:/coverage/observed", "secure-all:/status", "secure-all:/coverage/selected", "secure-all:/coverage/observed"]
|
|
12
|
+
---
|
|
13
|
+
<section data-design-component="evidence-note" aria-label="Mesh assessment coverage">
|
|
14
|
+
<p data-design-component="section-marker">Mesh scope</p>
|
|
15
|
+
<h2>Account for each target</h2>
|
|
16
|
+
<p>Compare the number of selected machines with the number that returned observations. An offline or unsupported peer keeps the assessment incomplete.</p>
|
|
17
|
+
<p>Use a discovered machine name to inspect a single authorized target. Fleet-wide assessment returns evidence for review.</p>
|
|
18
|
+
</section>
|
package/scaffold/.agent/skills/total-recall/plugins/security/ui/chunks/private-security-tools.md
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: ui-chunk:chunk
|
|
3
|
+
plugin: security
|
|
4
|
+
id: private-security-tools
|
|
5
|
+
title: Private security operations
|
|
6
|
+
description: Terminal workflows for encrypted envelopes, Auth-managed keys, proof challenges and token-bearing risk checks.
|
|
7
|
+
timestamp: "2026-11-08T09:30:00Z"
|
|
8
|
+
intents: [encrypt or decrypt securely, manage security key with Auth, verify proof challenge or bot risk]
|
|
9
|
+
surfaces: [page, right]
|
|
10
|
+
operations: [encrypt, decrypt, token, challenge, bot-mitigate]
|
|
11
|
+
---
|
|
12
|
+
<section data-design-component="evidence-note" aria-label="Private security operations">
|
|
13
|
+
<p data-design-component="section-marker">Terminal scope</p>
|
|
14
|
+
<h2>Use the owner CLI for private material</h2>
|
|
15
|
+
<p>Pass plaintext for envelope encryption through standard input and read decryption results in an interactive terminal. Use bundled Auth for key management. Run proof challenges and provider-token risk checks in the terminal.</p>
|
|
16
|
+
</section>
|
package/scaffold/.agent/skills/total-recall/plugins/security/ui/chunks/single-origin-header-check.md
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: ui-chunk:chunk
|
|
3
|
+
plugin: security
|
|
4
|
+
id: single-origin-header-check
|
|
5
|
+
title: Check HTTPS headers for one authorized URL
|
|
6
|
+
description: Check an authorized HTTPS response and distinguish reachable endpoints from responses missing expected headers.
|
|
7
|
+
timestamp: "2026-11-08T23:12:00Z"
|
|
8
|
+
intents: [check response headers for one authorized HTTPS URL, verify expected security headers, diagnose missing response headers]
|
|
9
|
+
surfaces: [page]
|
|
10
|
+
panel: home
|
|
11
|
+
operations: [probe]
|
|
12
|
+
data: ["probe:/status", "probe:/ok", "probe:/latency_ms", "probe:/security_headers"]
|
|
13
|
+
---
|
|
14
|
+
<section>
|
|
15
|
+
<h2>Inspect one response</h2>
|
|
16
|
+
<p>Open Website headers and enter the authorized HTTPS URL without credentials or a query. Read the HTTP result and the observed header coverage before deciding what to change.</p>
|
|
17
|
+
</section>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: ui-chunk:chunk
|
|
3
|
+
plugin: security
|
|
4
|
+
id: source-review
|
|
5
|
+
title: Source and plugin review
|
|
6
|
+
description: Count static findings, inspection scope and installed plugin coverage.
|
|
7
|
+
timestamp: "2026-11-08T09:30:00Z"
|
|
8
|
+
intents: [scan source for security findings, inspect installed plugin security, baseline security review]
|
|
9
|
+
surfaces: [page, right]
|
|
10
|
+
operations: [scan, audit, plugins]
|
|
11
|
+
data: ["scan:/total_findings", "scan:/critical", "scan:/high", "audit:/passed", "audit:/findings_count", "audit:/plugins_audited", "plugins:/status", "plugins:/total_plugins", "plugins:/total_findings"]
|
|
12
|
+
---
|
|
13
|
+
<section data-design-component="evidence-note" aria-label="Source review scope">
|
|
14
|
+
<p data-design-component="section-marker">Source scope</p>
|
|
15
|
+
<h2>Review findings by scope</h2>
|
|
16
|
+
<dl>
|
|
17
|
+
<dt>Source scan</dt><dd>Review high and critical findings in an authorized directory.</dd>
|
|
18
|
+
<dt>Plugin review</dt><dd>Compare findings and inspected packages across the installed registry.</dd>
|
|
19
|
+
<dt>Baseline audit</dt><dd>Read permission checks and source review together.</dd>
|
|
20
|
+
</dl>
|
|
21
|
+
</section>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: ui-chunk:chunk
|
|
3
|
+
plugin: security
|
|
4
|
+
id: ssh-permission-plan
|
|
5
|
+
title: SSH permission plan
|
|
6
|
+
description: Review the observed local hardening plan before deliberately applying verified repairs.
|
|
7
|
+
timestamp: "2026-11-08T09:30:00Z"
|
|
8
|
+
intents: [preview SSH hardening, repair local SSH file permissions, check applied permission changes]
|
|
9
|
+
surfaces: [page, right]
|
|
10
|
+
operations: [harden, machine]
|
|
11
|
+
data: ["harden:/status", "harden:/applied_count", "machine:/remediation/changed"]
|
|
12
|
+
---
|
|
13
|
+
<section data-design-component="evidence-note" aria-label="SSH permission plan">
|
|
14
|
+
<p data-design-component="section-marker">Local change</p>
|
|
15
|
+
<h2>Review, then repair</h2>
|
|
16
|
+
<p>The preview describes the observed state and reports zero applied changes. Confirm the separate repair action to change recognized local SSH file modes and verify the outcome.</p>
|
|
17
|
+
</section>
|