total-recall-brain 3.40.3 → 3.40.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/package.json +1 -1
  2. package/scaffold/.agent/skills/total-recall/plugins/auth/README.md +2 -0
  3. package/scaffold/.agent/skills/total-recall/plugins/auth/cli.mjs +26 -0
  4. package/scaffold/.agent/skills/total-recall/plugins/auth/package-lock.json +111 -7
  5. package/scaffold/.agent/skills/total-recall/plugins/auth/package.json +1 -1
  6. package/scaffold/.agent/skills/total-recall/plugins/auth/plugin.json +5 -0
  7. package/scaffold/.agent/skills/total-recall/plugins/auth/src/agent-login.mjs +127 -0
  8. package/scaffold/.agent/skills/total-recall/plugins/auth/src/provider-api-rotation.mjs +140 -0
  9. package/scaffold/.agent/skills/total-recall/plugins/auth/src/provider-catalog.mjs +31 -0
  10. package/scaffold/.agent/skills/total-recall/plugins/auth/src/provider-rotation-recipes.mjs +1 -1
  11. package/scaffold/.agent/skills/total-recall/plugins/auth/src/secrets-gateway.mjs +21 -1
  12. package/scaffold/.agent/skills/total-recall/plugins/auth/src/secrets-rotate.mjs +40 -1
  13. package/scaffold/.agent/skills/total-recall/plugins/auth/src/secrets-sync.mjs +9 -12
  14. package/scaffold/.agent/skills/total-recall/plugins/code-quality/package-lock.json +8 -7
  15. package/scaffold/.agent/skills/total-recall/plugins/code-quality/package.json +1 -1
  16. package/scaffold/.agent/skills/total-recall/plugins/code-quality/plugin.json +1 -1
  17. package/scaffold/.agent/skills/total-recall/plugins/composable-cli/package-lock.json +8 -7
  18. package/scaffold/.agent/skills/total-recall/plugins/composable-cli/package.json +1 -1
  19. package/scaffold/.agent/skills/total-recall/plugins/composable-cli/plugin.json +13 -13
  20. package/scaffold/.agent/skills/total-recall/plugins/composable-cli/ui/card.js +340 -164
  21. package/scaffold/.agent/skills/total-recall/plugins/embeddings/package-lock.json +6 -5
  22. package/scaffold/.agent/skills/total-recall/plugins/embeddings/package.json +8 -2
  23. package/scaffold/.agent/skills/total-recall/plugins/embeddings/ui/card.js +295 -178
  24. package/scaffold/.agent/skills/total-recall/plugins/git-sentinel/LICENSE +1 -1
  25. package/scaffold/.agent/skills/total-recall/plugins/git-sentinel/package-lock.json +8 -7
  26. package/scaffold/.agent/skills/total-recall/plugins/git-sentinel/package.json +1 -1
  27. package/scaffold/.agent/skills/total-recall/plugins/git-sentinel/plugin.json +1 -1
  28. package/scaffold/.agent/skills/total-recall/plugins/git-sentinel/ui/card.js +302 -168
  29. package/scaffold/.agent/skills/total-recall/plugins/mesh/package.json +9 -2
  30. package/scaffold/.agent/skills/total-recall/plugins/mesh/plugin.json +8 -5
  31. package/scaffold/.agent/skills/total-recall/plugins/mesh/ui/card.js +444 -27
  32. package/scaffold/.agent/skills/total-recall/plugins/openwiki/package-lock.json +124 -1404
  33. package/scaffold/.agent/skills/total-recall/plugins/openwiki/package.json +9 -2
  34. package/scaffold/.agent/skills/total-recall/plugins/openwiki/plugin.json +0 -2
  35. package/scaffold/.agent/skills/total-recall/plugins/openwiki/ui/card.js +313 -134
  36. package/scaffold/.agent/skills/total-recall/plugins/security/package-lock.json +8 -7
  37. package/scaffold/.agent/skills/total-recall/plugins/security/package.json +1 -1
  38. package/scaffold/.agent/skills/total-recall/plugins/security/plugin.json +1 -3
  39. package/scaffold/.agent/skills/total-recall/plugins/security/ui/card.js +287 -12
  40. package/src/core/brain-updates.mjs +4 -1
  41. package/scaffold/.agent/skills/total-recall/plugins/mesh/test-support/memory-root.mjs +0 -14
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "total-recall-brain",
3
- "version": "3.40.3",
3
+ "version": "3.40.5",
4
4
  "description": "The Vibe Coding Brain & Autonomous Software Factory: memory, rules, secrets, and 33 visual plugins automatically managed across all your devices.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,5 +1,7 @@
1
1
  # Auth plugin
2
2
 
3
+ Noninteractive agents use the existing host password carriers in this order: process environment, macOS Keychain, the private TR environment file, then the private `com.totalrecall.brain` LaunchAgent. The LaunchAgent must be an owned regular file at mode 0600 in an owned directory without group/other write permission. `TR_SECRETS_LAUNCH_AGENT` selects an explicit carrier; `TR_SECRETS_NO_HOST_CARRIER=1` disables it. Auth captures the password internally and never copies it into argv, logs or another machine. Missing carriers and decryption failures remain errors.
4
+
3
5
  Auth owns encrypted provider credentials, dashboard and collaboration passwords, purpose-bound session signing, passkey storage, and scoped API-key lifecycle. Core adapters require its manifest exports and have no credential implementation fallback.
4
6
 
5
7
  ## Operations
@@ -342,6 +342,31 @@ export async function run(argv = []) {
342
342
  else throw new Error('Use auth key list|issue <name> --scopes <csv> [--role role] [--expires date]|revoke <id>|usage [id]|roles|role-set <name> --scopes <csv>');
343
343
  console.log(JSON.stringify(result)); break;
344
344
  }
345
+ case 'agent': {
346
+ // Sign in an agent CLI that authenticates on its own terminal. The pty lives in
347
+ // scripts/agent-login-pty.py because Node has none and this plugin carries no pty library;
348
+ // this routes the plugin's own surface to it.
349
+ const { loginAgent, AGENT_LOGIN_PROFILES } = await import('./src/agent-login.mjs');
350
+ const [action = 'list', name] = rest;
351
+ const flag = (n) => { const at = rest.indexOf(n); return at < 0 ? undefined : rest[at + 1]; };
352
+ if (action === 'list') {
353
+ console.log(JSON.stringify(Object.keys(AGENT_LOGIN_PROFILES).map((id) => ({ id, ...AGENT_LOGIN_PROFILES[id] }))));
354
+ break;
355
+ }
356
+ if (action !== 'login') throw new Error('Use auth agent list | auth agent login <agent> [--code <code>] [--code-file <path>] [--url-file <path>]');
357
+ const result = await loginAgent({
358
+ agent: name,
359
+ code: flag('--code'),
360
+ codeFile: flag('--code-file'),
361
+ urlFile: flag('--url-file'),
362
+ onEvent: (event) => { if (!isJson && event.event === 'url') console.log('\nOpen this URL and approve it:\n' + event.url + '\n'); },
363
+ });
364
+ if (isJson) console.log(JSON.stringify(result));
365
+ else if (result.ok) console.log(result.alreadySignedIn ? `${name} is already signed in.` : `${name} signed in.`);
366
+ else console.log(`${name} is not signed in. ${result.error || result.reason || ''} ${result.hint || ''}`.trim());
367
+ if (!result.ok) process.exitCode = 2;
368
+ break;
369
+ }
345
370
  case 'google':
346
371
  await handleGoogle(rest, isJson);
347
372
  break;
@@ -370,6 +395,7 @@ export async function run(argv = []) {
370
395
  console.log(' key list|issue|revoke|usage|roles|role-set Scoped tokens and role policies');
371
396
  console.log(' secret Inspect and manage Total Recall secrets store keys');
372
397
  console.log(' password set --stdin [--force-reset] Set encrypted dashboard credential');
398
+ console.log(' agent list|login <agent> Sign in an agent CLI that authenticates on its own terminal');
373
399
  break;
374
400
  default:
375
401
  console.error(`Unknown subcommand: ${command}. Run 'total-recall auth --help' for guidance.`);