auxilo-mcp 0.9.15 → 0.9.17

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/auxilo-cli.js CHANGED
@@ -22,6 +22,7 @@ const readline = require('readline');
22
22
  const { exec } = require('child_process');
23
23
  const installer = require('../lib/installer.js');
24
24
  const review = require('../lib/review.js');
25
+ const runnerAutoupdate = require('../lib/runner-autoupdate.js');
25
26
  const providers = require('../scripts/providers/index.js');
26
27
  const byoKeyProvider = require('../scripts/providers/byo-key.js');
27
28
 
@@ -186,6 +187,10 @@ const CONSENT_TEXT = `
186
187
  other agents unlock your learnings and are not guaranteed. Earnings
187
188
  accrue now. Withdrawals open soon, and auxilo.io/status shows where
188
189
  things stand.
190
+ • UPDATES itself once a day from npm. A newer version installs only after
191
+ its signature and checksum both pass, and if either fails you keep the
192
+ copy you have. Run auxilo setup --no-autoupdate to decline. auxilo
193
+ status shows the setting and the last check.
189
194
  You can stop any time with \`auxilo disable\` (local kill-switch) and review
190
195
  every run in ~/.auxilo/extract.log. Saying No installs the MCP server only.
191
196
  No session-end capture hook is written into any client config unless you say
@@ -291,6 +296,15 @@ async function cmdSetup(flags) {
291
296
  process.exit(1);
292
297
  }
293
298
 
299
+ // RUNNER-AUTO-UPDATE (0.9.16): `--no-autoupdate` persists the opt-out so
300
+ // every future hook-fired run skips the self-update network check, not
301
+ // just this invocation of `setup` (env AUXILO_RUNNER_AUTOUPDATE=0 is the
302
+ // other, per-run-only opt-out — see lib/runner-autoupdate.js).
303
+ if (flags['no-autoupdate']) {
304
+ installer.writeRunnerConfig(HOME, { autoupdate: false });
305
+ console.log(' ✓ Runner auto-update disabled (persisted to ~/.auxilo/runner-config.json)');
306
+ }
307
+
294
308
  const claudeCode = chosen.find((c) => c.id === 'claude-code');
295
309
  if (claudeCode) {
296
310
  // LW-18: SessionStart held-count notice ("N learnings held for your
@@ -539,7 +553,20 @@ async function cmdStatus() {
539
553
  const reg = c.mcp
540
554
  ? (c.registered ? 'MCP registered' : 'detected, MCP NOT registered')
541
555
  : 'poll-based source (no MCP config)';
542
- console.log(` ${c.name}: ${reg}`);
556
+ // MCP-SERVER-STALENESS (0.9.17): show the pin written into this client's
557
+ // config alongside the installed runner version, so a stale pin (or a
558
+ // pre-0.9.17 unpinned entry) is visible without opening the config file.
559
+ let pinNote = '';
560
+ if (c.mcp && c.registered) {
561
+ if (c.mcpPin === 'unpinned') {
562
+ pinNote = ' (pin: unpinned — run `npx auxilo setup` to pin)';
563
+ } else if (c.mcpPin) {
564
+ pinNote = c.mcpPinStale
565
+ ? ` (pin: v${c.mcpPin}, runner: v${s.runnerVersion} — STALE, run \`npx auxilo setup\`)`
566
+ : ` (pin: v${c.mcpPin})`;
567
+ }
568
+ }
569
+ console.log(` ${c.name}: ${reg}${pinNote}`);
543
570
  }
544
571
 
545
572
  console.log(`Auth: ${s.auth.credentialsFile
@@ -551,6 +578,13 @@ async function cmdStatus() {
551
578
  if (s.runnerInstalled) {
552
579
  const line = runnerSkewLine(installer.runnerVersionSkew(HOME));
553
580
  if (line) console.log(line);
581
+ // RUNNER-AUTO-UPDATE (0.9.16): one more line in the same section, no new
582
+ // heading — auto-update on/off/paused-by-env, last check time, and the
583
+ // last verification result (if any check has ever run).
584
+ const autoupdateLine = runnerAutoupdate.runnerAutoupdateStatusLine(
585
+ runnerAutoupdate.getRunnerAutoupdateStatus(HOME)
586
+ );
587
+ if (autoupdateLine) console.log(autoupdateLine);
554
588
  }
555
589
  console.log(extractionProviderLine(await providers.resolveProvider({})));
556
590
  // Lazy require: scripts/runner.js is a heavier module (sources, sensitivity
@@ -1435,10 +1469,12 @@ async function cmdProvider(flags) {
1435
1469
 
1436
1470
  function usage(command) {
1437
1471
  const blocks = {
1438
- setup: `Usage: auxilo setup [--re-auth] [--base-url <url>]
1472
+ setup: `Usage: auxilo setup [--re-auth] [--base-url <url>] [--no-autoupdate]
1439
1473
 
1440
1474
  Interactively detect clients, register Auxilo, sign in, install the optional
1441
- extraction runner and SessionEnd hook, and record the extraction choice.`,
1475
+ extraction runner and SessionEnd hook, and record the extraction choice.
1476
+ --no-autoupdate persists opt-out of the runner's self-update check (default:
1477
+ on — see AUXILO_RUNNER_AUTOUPDATE=0 for a per-run-only opt-out instead).`,
1442
1478
  init: `Usage: auxilo init [--scope <read|earnings-read|contribute>] [--label <name>]
1443
1479
  [--env-file <path>] [--save] [--json] [--no-browser]
1444
1480
  [--base-url <url>]