total-recall-brain 3.41.2 → 3.41.3
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 +9 -3
- package/frontend/dist/assets/{index-BG9NkVUy.css → index-BIQmqDKP.css} +1 -1
- package/frontend/dist/assets/{index-BtuiZqwP.js → index-DFenQQEQ.js} +74 -79
- package/frontend/dist/index.html +2 -2
- package/frontend/dist/sw.js +8 -5
- package/frontend/src/api/auth.ts +0 -3
- package/frontend/src/components/plugins/PluginPanel.tsx +7 -3
- package/frontend/src/components/plugins/card/CardEngine.tsx +1 -1
- package/frontend/src/pages/LoginPage.tsx +1 -41
- package/frontend/src/pages/PluginsPage.tsx +14 -7
- package/package.json +2 -2
- package/scaffold/.agent/skills/plugin/scripts/record.mjs +6 -3
- package/scaffold/.agent/skills/total-recall/plugins/auth/cli.mjs +197 -31
- package/scaffold/.agent/skills/total-recall/plugins/auth/package-lock.json +4 -4
- package/scaffold/.agent/skills/total-recall/plugins/auth/package.json +1 -1
- package/scaffold/.agent/skills/total-recall/plugins/auth/plugin.json +8 -1
- package/scaffold/.agent/skills/total-recall/plugins/auth/ui/DESIGN.md +56 -8
- package/scaffold/.agent/skills/total-recall/plugins/auth/ui/card.js +1068 -204
- package/scaffold/.agent/skills/total-recall/plugins/auth/ui/panel.js +4 -2
- package/scaffold/.agent/skills/total-recall/plugins/cli-agents/ui/DESIGN.md +32 -0
- package/scaffold/.agent/skills/total-recall/plugins/cli-agents/ui/card.js +436 -274
- package/scaffold/.agent/skills/total-recall/plugins/code-quality/package-lock.json +4 -4
- package/scaffold/.agent/skills/total-recall/plugins/code-quality/package.json +1 -1
- package/scaffold/.agent/skills/total-recall/plugins/code-quality/ui/DESIGN.md +16 -2
- package/scaffold/.agent/skills/total-recall/plugins/code-quality/ui/card.js +461 -242
- package/scaffold/.agent/skills/total-recall/plugins/composable-cli/package-lock.json +4 -4
- package/scaffold/.agent/skills/total-recall/plugins/composable-cli/package.json +1 -1
- package/scaffold/.agent/skills/total-recall/plugins/composable-cli/plugin.json +1 -7
- package/scaffold/.agent/skills/total-recall/plugins/composable-cli/ui/DESIGN.md +17 -2
- package/scaffold/.agent/skills/total-recall/plugins/composable-cli/ui/card.js +426 -300
- package/scaffold/.agent/skills/total-recall/plugins/embeddings/package-lock.json +4 -4
- package/scaffold/.agent/skills/total-recall/plugins/embeddings/ui/DESIGN.md +32 -0
- package/scaffold/.agent/skills/total-recall/plugins/embeddings/ui/card.js +350 -283
- package/scaffold/.agent/skills/total-recall/plugins/git-sentinel/package-lock.json +4 -4
- package/scaffold/.agent/skills/total-recall/plugins/git-sentinel/ui/card.js +31 -19
- package/scaffold/.agent/skills/total-recall/plugins/mesh/package-lock.json +4 -4
- package/scaffold/.agent/skills/total-recall/plugins/openwiki/package-lock.json +4 -4
- package/scaffold/.agent/skills/total-recall/plugins/openwiki/ui/DESIGN.md +16 -2
- package/scaffold/.agent/skills/total-recall/plugins/openwiki/ui/card.js +380 -298
- package/scaffold/.agent/skills/total-recall/plugins/security/cli.mjs +7 -1
- package/scaffold/.agent/skills/total-recall/plugins/security/package-lock.json +6 -6
- package/scaffold/.agent/skills/total-recall/plugins/security/package.json +1 -1
- package/scaffold/.agent/skills/total-recall/plugins/security/plugin.json +1 -1
- package/scaffold/.agent/skills/total-recall/plugins/security/src/scanner.mjs +17 -3
- package/scaffold/.agent/skills/total-recall/plugins/security/ui/DESIGN.md +38 -15
- package/scaffold/.agent/skills/total-recall/plugins/security/ui/card.js +60 -34
- package/src/cli/command.mjs +23 -18
- package/src/cli/daemon.mjs +23 -1
- package/src/cli/plugin/copies.mjs +8 -5
- package/src/cli/plugin/index.mjs +25 -2
- package/src/cli/rebuild.mjs +22 -0
- package/src/cli/reset-password.mjs +3 -2
- package/src/cli/skill.mjs +8 -2
- package/src/cli/status.mjs +25 -7
- package/src/core/automatic-brain-updates.mjs +9 -3
- package/src/core/brain-updates.mjs +63 -5
- package/src/core/global-brain-updates.mjs +21 -1
- package/src/core/mesh-brain-updates.mjs +5 -2
- package/src/core/meta-harness.mjs +16 -41
- package/src/core/plugin-runner.mjs +6 -1
- package/src/core/plugin-store.mjs +67 -1
- package/src/core/plugin-updates.mjs +1 -1
- package/src/core/portable-skills-maintenance.mjs +19 -0
- package/src/core/required-plugins.mjs +7 -0
- package/src/core/skills-registry.mjs +33 -3
- package/src/server/auth.mjs +41 -1
- package/src/server/memory-app.mjs +2 -1
- package/src/server/routes/auth.mjs +25 -1
- package/src/server/routes/plugins.mjs +17 -4
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
},
|
|
19
19
|
"devDependencies": {
|
|
20
20
|
"supertest": "^7.3.1",
|
|
21
|
-
"total-recall-brain": "3.41.
|
|
21
|
+
"total-recall-brain": "3.41.2",
|
|
22
22
|
"vitest": "^4.1.12"
|
|
23
23
|
}
|
|
24
24
|
},
|
|
@@ -3733,9 +3733,9 @@
|
|
|
3733
3733
|
}
|
|
3734
3734
|
},
|
|
3735
3735
|
"node_modules/total-recall-brain": {
|
|
3736
|
-
"version": "3.41.
|
|
3737
|
-
"resolved": "https://registry.npmjs.org/total-recall-brain/-/total-recall-brain-3.41.
|
|
3738
|
-
"integrity": "sha512-
|
|
3736
|
+
"version": "3.41.2",
|
|
3737
|
+
"resolved": "https://registry.npmjs.org/total-recall-brain/-/total-recall-brain-3.41.2.tgz",
|
|
3738
|
+
"integrity": "sha512-bwJFAFAyvk9ysf+5zhBzMxrKus1Hj1AygUWdBNt+vQbM2sfSEf6701sa30KwfGyU8+cMuN6YNT5Mn63mFZIi/w==",
|
|
3739
3739
|
"dev": true,
|
|
3740
3740
|
"license": "MIT",
|
|
3741
3741
|
"workspaces": [
|
|
@@ -2,7 +2,7 @@
|
|
|
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.2.
|
|
5
|
+
"version": "1.2.4",
|
|
6
6
|
"description": "Hardware WebAuthn biometric FIDO2 passkeys, OAuth session security, and access control.",
|
|
7
7
|
"author": "Total Recall contributors",
|
|
8
8
|
"license": "MIT",
|
|
@@ -154,6 +154,13 @@
|
|
|
154
154
|
"tag": "tr-auth-card",
|
|
155
155
|
"module": "ui/card.js",
|
|
156
156
|
"description": "Gatepass Card Face"
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
"id": "panel",
|
|
160
|
+
"kind": "panel",
|
|
161
|
+
"tag": "tr-auth-panel",
|
|
162
|
+
"module": "ui/panel.js",
|
|
163
|
+
"description": "Gatepass Auth & Credentials Management Panel"
|
|
157
164
|
}
|
|
158
165
|
]
|
|
159
166
|
},
|
|
@@ -3,17 +3,65 @@
|
|
|
3
3
|
```yaml
|
|
4
4
|
tokens:
|
|
5
5
|
brand-name: "Auth & Secrets"
|
|
6
|
-
wordmark: "
|
|
6
|
+
wordmark: "AUTH & SECRETS"
|
|
7
7
|
color-primary: "#10b981"
|
|
8
8
|
color-background: "#064e3b"
|
|
9
9
|
color-accent: "#34d399"
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
color-ok: "#059669"
|
|
11
|
+
color-warn: "#d97706"
|
|
12
|
+
color-danger: "#dc2626"
|
|
13
|
+
font-body: "Outfit, system-ui, sans-serif"
|
|
14
|
+
font-mono: "'JetBrains Mono', ui-monospace, monospace"
|
|
13
15
|
border-radius: "8px"
|
|
16
|
+
density: "compact"
|
|
17
|
+
motion: "120ms ease-out"
|
|
14
18
|
```
|
|
15
19
|
|
|
16
|
-
##
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
+
## Who this card is for
|
|
21
|
+
|
|
22
|
+
The operator and autonomous agents managing access control, cryptographic secrets, and identities across the mesh.
|
|
23
|
+
|
|
24
|
+
The operator opens this card during active administration: verifying biometric passkeys, checking Google OAuth token freshness, auditing 90-day secret rotation schedules, or inspecting active session integrity.
|
|
25
|
+
|
|
26
|
+
## The four tasks, in the order the card presents them
|
|
27
|
+
|
|
28
|
+
| Screen | Task Frequency | Operational Rationale |
|
|
29
|
+
| :--- | :--- | :--- |
|
|
30
|
+
| **Passkeys** | Daily / Routine | Biometric hardware authentication via WebAuthn FIDO2. The operator checks registered authenticators and manages credential devices. |
|
|
31
|
+
| **Google OAuth** | Frequent | Identity bridge accounts. The operator monitors token expiration, executes manual refreshes, and reviews account scopes. |
|
|
32
|
+
| **Secrets** | Continuous | Cryptographic credential vault. The operator audits key freshness, tracks rotation deadlines, and checks provider bindings. |
|
|
33
|
+
| **Audit & Sessions** | Incident / Review | Security baseline verification. The operator inspects live access sessions and reviews policy findings. |
|
|
34
|
+
|
|
35
|
+
Screen ordering follows task frequency and operational urgency rather than arbitrary command taxonomy.
|
|
36
|
+
|
|
37
|
+
## The core tasks
|
|
38
|
+
|
|
39
|
+
1. **Verify security posture instantly** — confirm that the secrets store is sealed, zero rotation schedules are overdue, and the security audit baseline passes.
|
|
40
|
+
2. **Manage biometric hardware passkeys** — inspect registered platform authenticators (Face ID, Touch ID, Windows Hello) and security keys (YubiKey), register new authenticators, and safely revoke decommissioned hardware.
|
|
41
|
+
3. **Supervise OAuth tokens** — verify Google OAuth connection status, monitor token lifetime, refresh expiring credentials, and safely disconnect accounts.
|
|
42
|
+
4. **Audit secret hygiene** — review key expiration dates, inspect multi-repo bindings, verify remote deployment targets, and trigger rotation workflows without exposing secret values to the DOM.
|
|
43
|
+
|
|
44
|
+
## What must be visible without a single click
|
|
45
|
+
|
|
46
|
+
- **Security Verdict Line:** A clear verdict ("Secure" or the count of active warnings) and timestamp of the latest verification.
|
|
47
|
+
- **Passkey Count:** Total active hardware authenticators registered on the system.
|
|
48
|
+
- **OAuth Status:** Connected accounts and token health status.
|
|
49
|
+
- **Secrets Store Telemetry:** Total stored keys and count of overdue rotations.
|
|
50
|
+
- **Baseline Audit State:** System security verification status (Passed or Flagged).
|
|
51
|
+
|
|
52
|
+
## Why the layout is this layout
|
|
53
|
+
|
|
54
|
+
The card face provides a wide, responsive workspace rather than a narrow column.
|
|
55
|
+
|
|
56
|
+
- **Security Verdict at the Top:** The operator requires an immediate assessment. A prominent verdict line answers whether the authentication system is healthy before secondary details appear.
|
|
57
|
+
- **Horizontal Task Navigation:** Four dedicated domain screens (Passkeys, Google OAuth, Secrets, Audit & Sessions) organize operations by user intent rather than raw CLI syntax.
|
|
58
|
+
- **Zero Raw Secrets in DOM:** Secret values are never rendered, logged, or accepted via input fields. The interface exposes only key names, providers, fingerprints, creation timestamps, and rotation schedules.
|
|
59
|
+
- **Safe Revocation Guards:** Destructive actions such as credential revocation require explicit confirmation and display prominent warning styling. Deleting the final authentication method is blocked to prevent accidental administrative lockout.
|
|
60
|
+
- **Real Telemetry Only:** All figures render em dashes (`—`) until returned by the host. Zero mock responses, zero seeded numbers, and zero reassuring default strings appear in error branches.
|
|
61
|
+
|
|
62
|
+
## Responsive presentation and accessibility
|
|
63
|
+
|
|
64
|
+
- **Breakpoints:** Verified across mobile (360 CSS px), tablet (768 CSS px), and desktop (1280 CSS px) viewports.
|
|
65
|
+
- **Host Theme Adaptation:** Injected dark-dashboard variables (`--text-primary`, `--text-secondary`, `--bg-primary`, `--bg-secondary`, `--border`, `--accent`) govern surfaces and typography.
|
|
66
|
+
- **Touch Targets:** All interactive controls declare a minimum height of 44 px.
|
|
67
|
+
- **Reduced Motion:** All transitions and indicators respect `prefers-reduced-motion` settings.
|