total-recall-brain 3.44.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 +10 -6
- package/docs/ARCHITECTURE.md +10 -7
- package/docs/reference/cli-reference.md +13 -8
- 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 +185 -238
- 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 +7 -7
- 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/src/cli-secret.mjs +20 -1
- package/scaffold/.agent/skills/total-recall/plugins/auth/src/secrets-store.mjs +12 -1
- 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/BRICK.md +7 -0
- package/scaffold/.agent/skills/total-recall/plugins/automations/DESIGN.md +53 -0
- package/scaffold/.agent/skills/total-recall/plugins/automations/LICENSE +21 -0
- package/scaffold/.agent/skills/total-recall/plugins/automations/README.md +66 -0
- package/scaffold/.agent/skills/total-recall/plugins/automations/adapters.mjs +247 -0
- package/scaffold/.agent/skills/total-recall/plugins/automations/capability/index.mjs +16 -0
- package/scaffold/.agent/skills/total-recall/plugins/automations/cli.mjs +130 -0
- package/{src/core/plugin-cron.mjs → scaffold/.agent/skills/total-recall/plugins/automations/cron.mjs} +1 -3
- package/scaffold/.agent/skills/total-recall/plugins/automations/inventory.mjs +88 -0
- package/scaffold/.agent/skills/total-recall/plugins/automations/package-lock.json +7661 -0
- package/scaffold/.agent/skills/total-recall/plugins/automations/package.json +36 -0
- package/scaffold/.agent/skills/total-recall/plugins/automations/plugin.json +151 -0
- package/scaffold/.agent/skills/total-recall/plugins/automations/scheduler.mjs +246 -0
- package/scaffold/.agent/skills/total-recall/plugins/automations/ui/automations.js +2 -0
- 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/home.js +278 -0
- 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 +5 -3
- package/scaffold/.agent/skills/total-recall/plugins/code-quality/core/check.mjs +61 -7
- package/scaffold/.agent/skills/total-recall/plugins/code-quality/core/report-data.mjs +40 -14
- package/scaffold/.agent/skills/total-recall/plugins/code-quality/core/report.mjs +15 -40
- package/scaffold/.agent/skills/total-recall/plugins/code-quality/package-lock.json +7 -7
- 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 +7 -7
- 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 +7 -7
- 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 +136 -0
- package/scaffold/.agent/skills/total-recall/plugins/{git-sentinel → git}/cli.mjs +140 -24
- package/scaffold/.agent/skills/total-recall/plugins/{git-sentinel → git}/package-lock.json +9 -9
- package/scaffold/.agent/skills/total-recall/plugins/{git-sentinel → git}/package.json +4 -2
- package/scaffold/.agent/skills/total-recall/plugins/git/plugin.json +151 -0
- package/scaffold/.agent/skills/total-recall/plugins/git/src/lib/context.mjs +94 -0
- package/scaffold/.agent/skills/total-recall/plugins/git/src/lib/phase3-spec-support.mjs +50 -0
- package/scaffold/.agent/skills/total-recall/plugins/git/src/lib/runtime.mjs +40 -0
- package/scaffold/.agent/skills/total-recall/plugins/git/src/lib/spec-support.mjs +51 -0
- package/scaffold/.agent/skills/total-recall/plugins/git/src/ops/_support.mjs +195 -0
- package/scaffold/.agent/skills/total-recall/plugins/git/src/ops/auth.mjs +201 -0
- package/scaffold/.agent/skills/total-recall/plugins/git/src/ops/bisect.mjs +40 -0
- package/scaffold/.agent/skills/total-recall/plugins/git/src/ops/cli-meta.mjs +159 -0
- package/scaffold/.agent/skills/total-recall/plugins/git/src/ops/commit-memory.mjs +54 -0
- package/scaffold/.agent/skills/total-recall/plugins/git/src/ops/commit.mjs +46 -0
- package/scaffold/.agent/skills/total-recall/plugins/git/src/ops/fleet.mjs +174 -0
- package/scaffold/.agent/skills/total-recall/plugins/git/src/ops/force-push.mjs +58 -0
- package/scaffold/.agent/skills/total-recall/plugins/git/src/ops/group.mjs +119 -0
- package/scaffold/.agent/skills/total-recall/plugins/git/src/ops/handoff.mjs +59 -0
- package/scaffold/.agent/skills/total-recall/plugins/git/src/ops/message.mjs +22 -0
- package/scaffold/.agent/skills/total-recall/plugins/git/src/ops/resolve.mjs +60 -0
- package/scaffold/.agent/skills/total-recall/plugins/git/src/ops/rules.mjs +81 -0
- package/scaffold/.agent/skills/total-recall/plugins/git/src/ops/secret-firewall.mjs +92 -0
- package/scaffold/.agent/skills/total-recall/plugins/git/src/ops/undo.mjs +156 -0
- package/scaffold/.agent/skills/total-recall/plugins/git/src/ops/unmerged.mjs +182 -0
- package/scaffold/.agent/skills/total-recall/plugins/git/src/ops/why.mjs +16 -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 +7 -7
- 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 +44 -9
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/capability/BRICK.md +1 -1
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/capability/index.mjs +18 -6
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/cli.mjs +128 -24
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/package-lock.json +7 -7
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/package.json +3 -2
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/plugin.json +188 -34
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/skills/meta-harness/SKILL.md +17 -3
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/adoption.mjs +2 -2
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/alerts.mjs +3 -3
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/cascade.mjs +92 -18
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/chat.mjs +80 -0
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/control.mjs +145 -0
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/coordinator.mjs +42 -21
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/dispatch-request.mjs +4 -2
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/dispatch.mjs +33 -9
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/documentation.mjs +55 -11
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/executor.mjs +26 -4
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/gate-adapters/hermes.mjs +29 -1
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/gate-adapters/index.mjs +1 -1
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/included-usage.mjs +1 -1
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/jobs.mjs +84 -0
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/learner.mjs +3 -12
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/maintenance.mjs +17 -0
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/mcp-server.mjs +228 -0
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/process-manager.mjs +25 -2
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/reasoning.mjs +1 -1
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/remote-operation.mjs +5 -1
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/review.mjs +34 -3
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/reviews.mjs +25 -0
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/router.mjs +1 -1
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/session/claude.mjs +319 -0
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/session/codex.mjs +387 -0
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/session/result.mjs +67 -0
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/session/resume.mjs +373 -0
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/session/run.mjs +223 -0
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/session-jobs.mjs +72 -0
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/setup.mjs +6 -3
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/termination.mjs +16 -12
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/threads.mjs +32 -1
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/usage-queue.mjs +1 -1
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/verify-ssss.mjs +3 -3
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/worker.mjs +285 -40
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/worktree.mjs +76 -9
- 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 +64 -32
- package/scaffold/.agent/skills/total-recall/plugins/openwiki/package-lock.json +7 -7
- 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-diagnostics.mjs +44 -0
- package/scaffold/.agent/skills/total-recall/plugins/openwiki/src/refresh.mjs +123 -113
- 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 +7 -7
- 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 +3 -1
- package/src/cli/agent.mjs +1 -1
- package/src/cli/api.mjs +3 -3
- package/src/cli/brief.mjs +3 -0
- package/src/cli/command.mjs +41 -2
- package/src/cli/config.mjs +16 -0
- package/src/cli/connect.mjs +2 -7
- package/src/cli/dream.mjs +93 -69
- package/src/cli/harness.mjs +4 -4
- package/src/cli/help.mjs +1 -1
- package/src/cli/init.mjs +0 -25
- package/src/cli/lessons.mjs +51 -0
- package/src/cli/memory-plugin.mjs +1 -1
- package/src/cli/plugin/chunks.mjs +145 -0
- package/src/cli/plugin/copies.mjs +64 -14
- package/src/cli/plugin/create.mjs +30 -59
- package/src/cli/plugin/index.mjs +31 -16
- package/src/cli/plugin/install.mjs +10 -15
- package/src/cli/plugin/remove.mjs +1 -1
- package/src/cli/plugin/search.mjs +2 -2
- package/src/cli/preflight.mjs +19 -6
- package/src/cli/proposals.mjs +1 -1
- package/src/cli/recall.mjs +66 -23
- package/src/cli/remember.mjs +3 -14
- package/src/cli/server.mjs +18 -0
- package/src/cli/setup.mjs +2 -9
- package/src/cli/start.mjs +1 -0
- package/src/cli/startup.mjs +19 -0
- package/src/cli/task.mjs +9 -2
- package/src/cli/update.mjs +6 -2
- package/src/core/access-ledger.mjs +78 -0
- package/src/core/agent-manager.mjs +2 -2
- package/src/core/app-deploy/design-tokens.mjs +14 -9
- package/src/core/app-deploy/ui-elements.mjs +1 -1
- package/src/core/brain-locate.mjs +15 -0
- package/src/core/brain-registry.mjs +5 -0
- package/src/core/brain-updates.mjs +35 -11
- package/src/core/claude-hooks.mjs +3 -1
- package/src/core/cleanup-task.mjs +15 -0
- package/src/core/cli-commands.mjs +2 -0
- package/src/core/cli-maintenance.mjs +4 -1
- package/src/core/cli-semantic-index.mjs +23 -3
- package/src/core/context-compiler.mjs +20 -0
- package/src/core/daemon-control.mjs +5 -1
- package/src/core/daemon-loop.mjs +39 -62
- package/src/core/dashboard-bundle.mjs +261 -0
- package/src/core/default-plugins.mjs +1 -1
- package/src/core/dream.mjs +33 -105
- package/src/core/ensure-dependencies.mjs +152 -0
- package/src/core/fast-recall.mjs +2 -2
- package/src/core/field-evaluation.mjs +23 -0
- package/src/core/gate-mode.mjs +1 -1
- package/src/core/harness-hooks.mjs +14 -2
- package/src/core/lesson-hooks.mjs +74 -0
- package/src/core/lesson-memory.mjs +24 -0
- package/src/core/lesson-sessions.mjs +52 -0
- package/src/core/lessons.mjs +96 -0
- package/src/core/memory-brain.mjs +30 -8
- package/src/core/meta-harness.mjs +2 -2
- package/src/core/optimizer.mjs +66 -165
- package/src/core/plugin-activation.mjs +63 -20
- package/src/core/plugin-contracts/{card.mjs → manifest.mjs} +26 -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 +21 -8
- package/src/core/plugin-runner.mjs +21 -10
- package/src/core/plugin-runtime.mjs +40 -1
- package/src/core/plugin-startup-checks.mjs +44 -0
- package/src/core/plugin-state.mjs +19 -5
- package/src/core/plugin-store.mjs +64 -33
- package/src/core/post-mortem.mjs +52 -36
- package/src/core/preflight-gate.mjs +23 -2
- package/src/core/project-id.mjs +15 -5
- package/src/core/proposal-applier.mjs +31 -2
- package/src/core/repo-sync.mjs +4 -6
- package/src/core/required-plugins.mjs +57 -10
- package/src/core/rule-length.mjs +23 -0
- package/src/core/runtime.mjs +1 -1
- package/src/core/scheduler.mjs +35 -43
- package/src/core/schema.mjs +3 -2
- package/src/core/search.mjs +4 -3
- package/src/core/server-service.mjs +148 -0
- package/src/core/session-watcher.mjs +19 -1
- package/src/core/skill-gap.mjs +16 -0
- package/src/core/ssss-kernel-bridge.mjs +32 -4
- package/src/core/ssss-operation-service.mjs +1 -0
- package/src/core/startup-health.mjs +34 -4
- package/src/core/surface.mjs +65 -54
- package/src/core/task-executors.mjs +54 -106
- 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/validated-write.mjs +1 -0
- package/src/core/vault-cache.mjs +58 -59
- package/src/core/vector-field.mjs +134 -192
- 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/invoke-core-child.mjs +24 -0
- package/src/server/invoke-core-operations.mjs +102 -0
- 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 +47 -55
- package/src/server/routes/_shared.mjs +7 -14
- package/src/server/routes/brains.mjs +29 -62
- package/src/server/routes/context.mjs +0 -41
- package/src/server/routes/dashboard.mjs +26 -0
- package/src/server/routes/invoke.mjs +26 -1
- package/src/server/routes/plugins.mjs +154 -45
- package/src/server/routes/ssss.mjs +0 -169
- package/src/server/routes/system.mjs +0 -15
- package/src/server/routes/tasks.mjs +0 -26
- package/src/server/routes/ui-chunks.mjs +192 -0
- package/src/server/routes/vault.mjs +2 -23
- package/frontend/dist/assets/index-DD4qONvH.js +0 -5607
- 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-sentinel/README.md +0 -53
- package/scaffold/.agent/skills/total-recall/plugins/git-sentinel/plugin.json +0 -129
- package/scaffold/.agent/skills/total-recall/plugins/git-sentinel/ui/DESIGN.md +0 -100
- package/scaffold/.agent/skills/total-recall/plugins/git-sentinel/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
- package/src/core/append-log.mjs +0 -131
- package/src/core/plugin-tasks.mjs +0 -173
- package/templates/onboarding-interview.md +0 -82
- /package/scaffold/.agent/skills/total-recall/plugins/{git-sentinel → git}/LICENSE +0 -0
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
"$schema": "https://github.com/gregiteen/total-recall/blob/main/metadata.plugin.schema.json",
|
|
3
3
|
"id": "auth",
|
|
4
4
|
"name": "Auth & Secrets",
|
|
5
|
-
"version": "1.
|
|
6
|
-
"description": "
|
|
5
|
+
"version": "1.3.0",
|
|
6
|
+
"description": "Encrypted credentials, repository bindings, dashboard sign-in and access across brains and machines.",
|
|
7
7
|
"author": "Total Recall contributors",
|
|
8
8
|
"license": "MIT",
|
|
9
9
|
"use_cases": [
|
|
@@ -16,41 +16,6 @@
|
|
|
16
16
|
"badge": "FIDO2 Vault",
|
|
17
17
|
"font": "chivo-mono"
|
|
18
18
|
},
|
|
19
|
-
"card_face": {
|
|
20
|
-
"theme": "vibrant",
|
|
21
|
-
"headline": "Passkey & Google OAuth2 Authentication Engine",
|
|
22
|
-
"primary_color": "#6366f1",
|
|
23
|
-
"secondary_color": "#312e81",
|
|
24
|
-
"accent_color": "#818cf8",
|
|
25
|
-
"touch_layout": "comfortable",
|
|
26
|
-
"interactive": true,
|
|
27
|
-
"quick_actions": [
|
|
28
|
-
{
|
|
29
|
-
"subcommand": "status",
|
|
30
|
-
"label": "STATUS"
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
"subcommand": "audit",
|
|
34
|
-
"label": "AUDIT"
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
"subcommand": "passkey",
|
|
38
|
-
"label": "PASSKEY"
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
"subcommand": "google",
|
|
42
|
-
"label": "GOOGLE"
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
"subcommand": "rotate",
|
|
46
|
-
"label": "ROTATE"
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
"subcommand": "probe",
|
|
50
|
-
"label": "CHECK ENDPOINT"
|
|
51
|
-
}
|
|
52
|
-
]
|
|
53
|
-
},
|
|
54
19
|
"secrets": [
|
|
55
20
|
{
|
|
56
21
|
"key": "GOOGLE_CLIENT_ID",
|
|
@@ -132,12 +97,14 @@
|
|
|
132
97
|
{
|
|
133
98
|
"name": "agent",
|
|
134
99
|
"description": "Sign in an agent CLI that authenticates on its own terminal",
|
|
135
|
-
"effect": "destructive"
|
|
100
|
+
"effect": "destructive",
|
|
101
|
+
"sensitive_output": true
|
|
136
102
|
},
|
|
137
103
|
{
|
|
138
104
|
"name": "secret",
|
|
139
105
|
"description": "Manage and inspect auth secrets in the Total Recall store",
|
|
140
|
-
"effect": "write"
|
|
106
|
+
"effect": "write",
|
|
107
|
+
"sensitive_output": true
|
|
141
108
|
},
|
|
142
109
|
{
|
|
143
110
|
"name": "password",
|
|
@@ -153,21 +120,16 @@
|
|
|
153
120
|
]
|
|
154
121
|
},
|
|
155
122
|
"ui": {
|
|
156
|
-
"
|
|
123
|
+
"home": "home",
|
|
124
|
+
"design_tokens": "DESIGN.md",
|
|
157
125
|
"elements": [
|
|
158
126
|
{
|
|
159
|
-
"id": "
|
|
160
|
-
"kind": "card",
|
|
161
|
-
"tag": "tr-auth-card",
|
|
162
|
-
"module": "ui/card.js",
|
|
163
|
-
"description": "Gatepass Card Face"
|
|
164
|
-
},
|
|
165
|
-
{
|
|
166
|
-
"id": "panel",
|
|
127
|
+
"id": "home",
|
|
167
128
|
"kind": "panel",
|
|
168
|
-
"tag": "tr-auth-
|
|
169
|
-
"module": "ui/
|
|
170
|
-
"description": "
|
|
129
|
+
"tag": "tr-auth-home",
|
|
130
|
+
"module": "ui/home.js",
|
|
131
|
+
"description": "Credential inventory, brains, machines and sign-in checks",
|
|
132
|
+
"events": ["auth-inventory", "auth-credential-mutate"]
|
|
171
133
|
}
|
|
172
134
|
]
|
|
173
135
|
},
|
|
@@ -294,6 +294,8 @@ function printHelp() {
|
|
|
294
294
|
carriers Find shell profiles and /etc files that export the master
|
|
295
295
|
password to every process; --remove-ambient deletes them
|
|
296
296
|
once an owner-only carrier holds the same password.
|
|
297
|
+
scan --stdin Name the keys whose stored values occur in the text on stdin
|
|
298
|
+
(values are never printed; exit 1 when one occurs)
|
|
297
299
|
fingerprint Identify a credential without printing it: length, type
|
|
298
300
|
prefix, fingerprint and the store keys holding the same
|
|
299
301
|
value. --from-clipboard | --stdin; --expect-prefix <p>
|
|
@@ -773,7 +775,7 @@ export default async function secretCli(argv) {
|
|
|
773
775
|
}
|
|
774
776
|
const brainDir = secretsStoreDir();
|
|
775
777
|
|
|
776
|
-
if (opts.stdin && opts.command !== 'fingerprint') {
|
|
778
|
+
if (opts.stdin && opts.command !== 'fingerprint' && opts.command !== 'scan') {
|
|
777
779
|
if (!['set', 'rotate', 'rekey'].includes(opts.command)) {
|
|
778
780
|
console.error('❌ --stdin is only valid with `set`, `rotate`, `rekey`, or `fingerprint`');
|
|
779
781
|
await exitAfterFlush(1);
|
|
@@ -1292,6 +1294,23 @@ export default async function secretCli(argv) {
|
|
|
1292
1294
|
return;
|
|
1293
1295
|
}
|
|
1294
1296
|
|
|
1297
|
+
if (opts.command === 'scan') {
|
|
1298
|
+
// Name every store key whose value occurs in the text on stdin. Values never leave this
|
|
1299
|
+
// process: callers (the git plugin's secret firewall) get key names only. One call per scan.
|
|
1300
|
+
if (!opts.stdin) {
|
|
1301
|
+
console.error('Usage: total-recall auth secret scan --stdin [--json] (exit 1 when a stored value occurs)');
|
|
1302
|
+
await exitAfterFlush(2);
|
|
1303
|
+
}
|
|
1304
|
+
// Diffs and staged files are large; one value check is not, so scan alone gets 64 MB.
|
|
1305
|
+
const text = readAllStdinSync({ maxBytes: 64 * 1024 * 1024 }).toString();
|
|
1306
|
+
const { textContainsSecrets } = await import('./secrets-store.mjs');
|
|
1307
|
+
const result = await textContainsSecrets(brainDir, text);
|
|
1308
|
+
if (opts.json) console.log(JSON.stringify({ ok: !result.leak, leak: result.leak, keys: result.keys, scanned_bytes: Buffer.byteLength(text) }));
|
|
1309
|
+
else console.log(result.leak ? ` ❌ stored values found for: ${result.keys.join(', ')}` : ' ✅ no stored value found');
|
|
1310
|
+
if (result.leak) process.exitCode = 1;
|
|
1311
|
+
return;
|
|
1312
|
+
}
|
|
1313
|
+
|
|
1295
1314
|
if (opts.command === 'fingerprint') {
|
|
1296
1315
|
// Identify a credential without seeing it: which store keys hold the same
|
|
1297
1316
|
// value, its length and its non-secret type prefix. Lets an operator check
|
|
@@ -771,13 +771,24 @@ export function listUsageEvents(brainDir, { limit = 100, key_ref = null, days =
|
|
|
771
771
|
/**
|
|
772
772
|
* True if any secret value appears in text (for surface/openwiki conformance).
|
|
773
773
|
*/
|
|
774
|
+
export function isSettingValue(val) {
|
|
775
|
+
if (/^[a-z]+$/.test(val)) return true;
|
|
776
|
+
if (/^(?=.{4,253}$)([a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z]{2,63}$/i.test(val)) return true;
|
|
777
|
+
if (/^[^\s@:/]+@([a-z0-9-]+\.)+[a-z]{2,63}$/i.test(val)) return true;
|
|
778
|
+
if (/^https?:\/\/[^\s@/]+(\/[^\s@]*)?$/i.test(val)) return true;
|
|
779
|
+
return false;
|
|
780
|
+
}
|
|
781
|
+
|
|
774
782
|
export async function textContainsSecrets(brainDir, text) {
|
|
775
783
|
if (!text) return { leak: false, keys: [] };
|
|
776
784
|
const secrets = await loadSecrets(brainDir);
|
|
777
785
|
const leaked = [];
|
|
778
786
|
for (const [key, val] of Object.entries(secrets)) {
|
|
779
787
|
if (key === META_KEY) continue;
|
|
780
|
-
|
|
788
|
+
// Settings, not credentials: a single lowercase word (DEPLOY_ENV=production), a hostname
|
|
789
|
+
// (MAILCOW_HOST), an email address, or a URL without user info. Matching them would refuse
|
|
790
|
+
// ordinary text. A URL that carries user:password@ is still checked, as is every other value.
|
|
791
|
+
if (typeof val === 'string' && val.length >= 8 && !isSettingValue(val) && text.includes(val)) {
|
|
781
792
|
leaked.push(key);
|
|
782
793
|
}
|
|
783
794
|
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: ui-chunk:chunk
|
|
3
|
+
title: Credentials and access inventory
|
|
4
|
+
description: Browse the encrypted credential inventory, registered brains, and Mesh machines, then inspect dashboard sign-in and the host baseline.
|
|
5
|
+
timestamp: "2026-11-08T08:53:21Z"
|
|
6
|
+
plugin: auth
|
|
7
|
+
id: access-overview
|
|
8
|
+
intents: [find all stored secrets, inspect repository credential bindings, see registered brains, see mesh machines, check dashboard sign-in]
|
|
9
|
+
surfaces: [page]
|
|
10
|
+
panel: home
|
|
11
|
+
operations: [status]
|
|
12
|
+
data: ["status:/passkey/registered_count", "status:/google_oauth2/configured"]
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
<aside aria-label="Credential handling">
|
|
16
|
+
<p>Repository bindings show where each stored credential is available. Use the rotation column to find credentials that need review.</p>
|
|
17
|
+
</aside>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: ui-chunk:chunk
|
|
3
|
+
title: Agent sign-in
|
|
4
|
+
description: Check supported agent profiles and complete an approved terminal sign-in.
|
|
5
|
+
timestamp: "2026-11-08T08:53:21Z"
|
|
6
|
+
plugin: auth
|
|
7
|
+
id: agent-login
|
|
8
|
+
intents: [sign in Codex CLI, check agent sign-in profiles, approve terminal sign-in]
|
|
9
|
+
surfaces: [page, right]
|
|
10
|
+
operations: [agent]
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
<section style="border-block-start:1px solid var(--color-outline,#3f6350)">
|
|
14
|
+
<h2>Agent sign-in</h2>
|
|
15
|
+
<ol>
|
|
16
|
+
<li>Find the supported profiles with <code>total-recall auth agent list</code>.</li>
|
|
17
|
+
<li>Start the selected sign-in with <code>total-recall auth agent login <profile></code> in the owner terminal.</li>
|
|
18
|
+
<li>Complete browser approval in the browser session where you intend to sign in. Enter any approval code in the owner flow.</li>
|
|
19
|
+
</ol>
|
|
20
|
+
</section>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: ui-chunk:chunk
|
|
3
|
+
title: Security baseline
|
|
4
|
+
description: Review Auth checks for passkey file permissions, session signing, and Google credentials.
|
|
5
|
+
timestamp: "2026-11-08T08:53:21Z"
|
|
6
|
+
plugin: auth
|
|
7
|
+
id: baseline-audit
|
|
8
|
+
intents: [run auth audit, check sign-in security baseline, investigate authentication warnings]
|
|
9
|
+
surfaces: [page, right]
|
|
10
|
+
operations: [audit]
|
|
11
|
+
data: ["audit:/passed", "audit:/findings_count"]
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
<section style="border-block-start:1px solid var(--color-outline,#3f6350)">
|
|
15
|
+
<h2>Security baseline</h2>
|
|
16
|
+
<dl>
|
|
17
|
+
<dt><strong>Passkey storage</strong></dt><dd>Checks that Auth can read its active passkey state and that the document has private permissions.</dd>
|
|
18
|
+
<dt><strong>Session signing</strong></dt><dd>Checks that the dashboard signing credential is present and long enough.</dd>
|
|
19
|
+
<dt><strong>Google credentials</strong></dt><dd>Flags a configured client ID with a missing client secret.</dd>
|
|
20
|
+
</dl>
|
|
21
|
+
<p>Run the baseline in Auth Home or use <code>total-recall auth audit</code> to inspect individual findings.</p>
|
|
22
|
+
</section>
|
package/scaffold/.agent/skills/total-recall/plugins/auth/ui/chunks/credential-repository-binding.md
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: ui-chunk:chunk
|
|
3
|
+
plugin: auth
|
|
4
|
+
id: credential-repository-binding
|
|
5
|
+
title: Edit a credential's repository binding
|
|
6
|
+
description: Filter real encrypted credential records by their repository and edit, replace or clear a stored binding through Auth.
|
|
7
|
+
timestamp: '2026-11-08T23:23:00Z'
|
|
8
|
+
intents: [fix a credential repository binding, edit repository access for a key, see which credentials a repo uses]
|
|
9
|
+
surfaces: [page]
|
|
10
|
+
operations: [secret]
|
|
11
|
+
panel: home
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
<section data-design-component="access-overview">
|
|
15
|
+
<h2>Repository binding</h2>
|
|
16
|
+
<p>Filter the Secrets inventory by repository, select Edit for the credential, then choose one repository or clear the binding. Save details to apply the change.</p>
|
|
17
|
+
</section>
|
package/scaffold/.agent/skills/total-recall/plugins/auth/ui/chunks/credential-store-maintenance.md
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: ui-chunk:chunk
|
|
3
|
+
plugin: auth
|
|
4
|
+
id: credential-store-maintenance
|
|
5
|
+
title: Replace or remove a stored credential
|
|
6
|
+
description: Update a credential value in the encrypted Auth store or explicitly delete its stored record.
|
|
7
|
+
timestamp: '2026-11-08T23:23:00Z'
|
|
8
|
+
intents: [replace a stored credential value, delete an obsolete credential, remove a stored secret from this host]
|
|
9
|
+
surfaces: [page]
|
|
10
|
+
operations: [secret]
|
|
11
|
+
panel: home
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
<section data-design-component="access-overview">
|
|
15
|
+
<h2>Stored credential maintenance</h2>
|
|
16
|
+
<p>Use Edit and Replace value to save a new value. Use Delete and enter the credential name to remove it from the host store. Provider revocation is a separate Auth operation.</p>
|
|
17
|
+
</section>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: ui-chunk:chunk
|
|
3
|
+
title: Dashboard password
|
|
4
|
+
description: Inspect password configuration and follow the protected dashboard reset flow.
|
|
5
|
+
timestamp: "2026-11-08T08:53:21Z"
|
|
6
|
+
plugin: auth
|
|
7
|
+
id: dashboard-password
|
|
8
|
+
intents: [check dashboard password, force a password reset, change dashboard sign-in password]
|
|
9
|
+
surfaces: [page, right]
|
|
10
|
+
operations: [password]
|
|
11
|
+
data: ["password:/configured", "password:/forcePasswordReset"]
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
<section>
|
|
15
|
+
<h2>Dashboard password</h2>
|
|
16
|
+
<p>Use <code>total-recall auth password status --json</code> to see whether a password is configured and whether a reset is required.</p>
|
|
17
|
+
<p>Change the password in the signed-in dashboard flow or use <code>total-recall auth password set --stdin</code> in the owner terminal. Auth invalidates existing dashboard sessions after the change.</p>
|
|
18
|
+
</section>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: ui-chunk:chunk
|
|
3
|
+
title: Dashboard session signing
|
|
4
|
+
description: Check whether this host has a dashboard signing credential.
|
|
5
|
+
timestamp: "2026-11-08T08:53:21Z"
|
|
6
|
+
plugin: auth
|
|
7
|
+
id: dashboard-sessions
|
|
8
|
+
intents: [check dashboard session signing, inspect cookie security, diagnose missing session secret]
|
|
9
|
+
surfaces: [page, right]
|
|
10
|
+
operations: [session]
|
|
11
|
+
data: ["session:/session_secret_configured"]
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
<section>
|
|
15
|
+
<h2>Dashboard session signing</h2>
|
|
16
|
+
<p>Auth signs dashboard sessions and sets an HttpOnly cookie. Check whether signing is configured in Auth Home or with <code>total-recall auth session</code>.</p>
|
|
17
|
+
<p style="color:var(--color-muted,#b1c9ba)">This check reports signing setup. Review a specific sign-in in the browser session that performed it.</p>
|
|
18
|
+
</section>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: ui-chunk:chunk
|
|
3
|
+
title: Probe Auth endpoints
|
|
4
|
+
description: Check whether the configured host serves Auth discovery, status, and health.
|
|
5
|
+
timestamp: "2026-11-08T08:53:21Z"
|
|
6
|
+
plugin: auth
|
|
7
|
+
id: endpoint-probe
|
|
8
|
+
intents: [probe auth endpoints, diagnose dashboard connection, check auth route health]
|
|
9
|
+
surfaces: [page, right]
|
|
10
|
+
operations: [probe]
|
|
11
|
+
data: ["probe:/success"]
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
<section>
|
|
15
|
+
<h2>Probe Auth endpoints</h2>
|
|
16
|
+
<p>Run <code>total-recall auth probe</code> to check the configured host.</p>
|
|
17
|
+
<dl style="border-inline-start:2px solid var(--color-outline,#3f6350);padding-inline-start:1rem">
|
|
18
|
+
<dt><code>/auth/status</code></dt><dd>Dashboard Auth discovery</dd>
|
|
19
|
+
<dt><code>/auth/providers</code></dt><dd>Sign-in method discovery</dd>
|
|
20
|
+
<dt><code>/health</code></dt><dd>Host reachability</dd>
|
|
21
|
+
</dl>
|
|
22
|
+
<p>The probe reports HTTP status and latency. Verify the account sign-in separately in the browser.</p>
|
|
23
|
+
</section>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: ui-chunk:chunk
|
|
3
|
+
title: Google sign-in
|
|
4
|
+
description: Inspect local Google OAuth setup and use the browser-owned sign-in flow.
|
|
5
|
+
timestamp: "2026-11-08T08:53:21Z"
|
|
6
|
+
plugin: auth
|
|
7
|
+
id: google-sign-in
|
|
8
|
+
intents: [check Google OAuth setup, connect Google account, review Google sign-in]
|
|
9
|
+
surfaces: [page, right]
|
|
10
|
+
operations: [google]
|
|
11
|
+
data: ["google:/configured"]
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
<article>
|
|
15
|
+
<h2>Google sign-in</h2>
|
|
16
|
+
<p>Check the dashboard's client configuration and allowlist with <code>total-recall auth google status</code>. To connect, open the sign-in URL from <code>total-recall auth google connect</code> in your browser.</p>
|
|
17
|
+
<details>
|
|
18
|
+
<summary>Review a connected account</summary>
|
|
19
|
+
<p>Use <code>total-recall auth google accounts</code> to review account status. Refresh or disconnect the selected account through the same Auth command group.</p>
|
|
20
|
+
</details>
|
|
21
|
+
</article>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: ui-chunk:chunk
|
|
3
|
+
plugin: auth
|
|
4
|
+
id: mesh-machines
|
|
5
|
+
title: Mesh machines
|
|
6
|
+
description: Inspect the Mesh owner’s inventory with machine name, operating system, assigned role, and reported connectivity.
|
|
7
|
+
timestamp: '2026-11-08T23:10:00Z'
|
|
8
|
+
intents: [find all machines, list mesh machines, check device connectivity, see the current host]
|
|
9
|
+
surfaces: [page]
|
|
10
|
+
panel: home
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
<section data-design-component="access-overview">
|
|
14
|
+
<h2>Mesh machines</h2>
|
|
15
|
+
<p>Open Machines in the Auth console to distinguish online peers, offline peers, and machines registered in the vault.</p>
|
|
16
|
+
</section>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: ui-chunk:chunk
|
|
3
|
+
title: Passkey enrollment and review
|
|
4
|
+
description: Inspect registered authenticators and follow the Auth WebAuthn flow.
|
|
5
|
+
timestamp: "2026-11-08T08:53:21Z"
|
|
6
|
+
plugin: auth
|
|
7
|
+
id: passkey-enrollment
|
|
8
|
+
intents: [check passkeys, register an authenticator, remove a retired security key]
|
|
9
|
+
surfaces: [page, right]
|
|
10
|
+
operations: [passkey]
|
|
11
|
+
data: ["passkey:/count"]
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
<section>
|
|
15
|
+
<h2>Passkey enrollment and review</h2>
|
|
16
|
+
<ol>
|
|
17
|
+
<li>Check the registered count with <code>total-recall auth passkey status</code>.</li>
|
|
18
|
+
<li>Enroll through the dashboard's authenticated WebAuthn flow. Approve the request with a device or security key.</li>
|
|
19
|
+
<li>Use <code>total-recall auth passkey list</code> to identify a retired authenticator before removing it through Auth.</li>
|
|
20
|
+
</ol>
|
|
21
|
+
</section>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: ui-chunk:chunk
|
|
3
|
+
plugin: auth
|
|
4
|
+
id: registered-brains
|
|
5
|
+
title: Registered brains
|
|
6
|
+
description: Inspect the live brain registry with brain name, layer, memory node count, and availability.
|
|
7
|
+
timestamp: '2026-11-08T23:10:00Z'
|
|
8
|
+
intents: [show registered brains, find a project brain, inspect brain inventory, check which brains are present]
|
|
9
|
+
surfaces: [page]
|
|
10
|
+
panel: home
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
<section data-design-component="access-overview">
|
|
14
|
+
<h2>Registered brains</h2>
|
|
15
|
+
<p>Open Brains in the Auth console to see the dashboard’s registered brains and their current memory counts.</p>
|
|
16
|
+
</section>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: ui-chunk:chunk
|
|
3
|
+
title: Scoped access keys
|
|
4
|
+
description: Review access key scope and use the owner terminal for issue and revocation.
|
|
5
|
+
timestamp: "2026-11-08T08:53:21Z"
|
|
6
|
+
plugin: auth
|
|
7
|
+
id: scoped-access-keys
|
|
8
|
+
intents: [issue scoped access key, review PAT permissions, revoke a dashboard API key]
|
|
9
|
+
surfaces: [page, right]
|
|
10
|
+
operations: [key]
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
<section style="border-inline-start:3px solid var(--color-primary,#64e3a4);padding-inline-start:1rem">
|
|
14
|
+
<h2>Scoped access keys</h2>
|
|
15
|
+
<p>Review key IDs, scopes and expiry with <code>total-recall auth key list</code>. Check available roles with <code>total-recall auth key roles</code>.</p>
|
|
16
|
+
<p>Issue keys with only the scopes the client needs. The owner terminal displays the new value once. Revoke retired keys by ID after checking the client has moved to its replacement.</p>
|
|
17
|
+
</section>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: ui-chunk:chunk
|
|
3
|
+
title: Credential inventory
|
|
4
|
+
description: Review saved credential metadata, repository bindings, and rotation due dates. Open a credential to edit its metadata, replace the stored value or delete it.
|
|
5
|
+
timestamp: "2026-11-08T08:53:21Z"
|
|
6
|
+
plugin: auth
|
|
7
|
+
panel: home
|
|
8
|
+
id: secret-inventory
|
|
9
|
+
intents: [inspect credential inventory, check secret repository bindings, review rotation due dates]
|
|
10
|
+
surfaces: [page, right]
|
|
11
|
+
operations: [secret]
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
<section>
|
|
15
|
+
<h2>Credential inventory</h2>
|
|
16
|
+
<dl>
|
|
17
|
+
<dt><code>total-recall auth secret list --json</code></dt>
|
|
18
|
+
<dd>Read repository bindings, tags, provider and verification metadata.</dd>
|
|
19
|
+
<dt><code>total-recall auth secret catalog</code></dt>
|
|
20
|
+
<dd>Review the credentials known to the host.</dd>
|
|
21
|
+
<dt><code>total-recall auth secret rotation-due</code></dt>
|
|
22
|
+
<dd>Review due dates before selecting credentials to rotate.</dd>
|
|
23
|
+
</dl>
|
|
24
|
+
<p>Use Edit to save a label or repository binding, or replace the stored value. Use Delete and confirm the credential name to remove it from this host.</p>
|
|
25
|
+
</section>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: ui-chunk:chunk
|
|
3
|
+
title: Rotate a session signing key
|
|
4
|
+
description: Replace the signing credential for dashboard or collaboration sessions.
|
|
5
|
+
timestamp: "2026-11-08T08:53:21Z"
|
|
6
|
+
plugin: auth
|
|
7
|
+
id: signing-key-rotation
|
|
8
|
+
intents: [rotate session signing key, invalidate dashboard sessions, rotate collaboration signing]
|
|
9
|
+
surfaces: [page, right]
|
|
10
|
+
operations: [rotate]
|
|
11
|
+
data: ["rotate:/rotated"]
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
<section style="border-inline-start:3px solid var(--color-warning,#f4d18c);padding-inline-start:1rem">
|
|
15
|
+
<h2>Rotate a session signing key</h2>
|
|
16
|
+
<p>Rotation invalidates existing sessions for the selected purpose. Make sure you can sign back in before rotating.</p>
|
|
17
|
+
<ul>
|
|
18
|
+
<li><strong>Dashboard</strong> <code>total-recall auth rotate</code></li>
|
|
19
|
+
<li><strong>Collaboration</strong> <code>total-recall auth rotate --collaboration</code></li>
|
|
20
|
+
</ul>
|
|
21
|
+
<p>Run the selected command in the owner terminal.</p>
|
|
22
|
+
</section>
|