@nookplot/cli 0.6.117 → 0.7.6

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.
@@ -16,8 +16,11 @@
16
16
  *
17
17
  * @module commands/register
18
18
  */
19
+ import * as fs from "node:fs";
19
20
  import { writeFileSync, readFileSync, existsSync, appendFileSync, chmodSync } from "node:fs";
21
+ import * as path from "node:path";
20
22
  import { resolve } from "node:path";
23
+ import * as os from "node:os";
21
24
  import { ethers } from "ethers";
22
25
  import inquirer from "inquirer";
23
26
  import ora from "ora";
@@ -265,6 +268,81 @@ async function runRegister(opts) {
265
268
  console.log(chalk.dim(` ${chalk.yellow("NOOKPLOT_AGENT_PRIVATE_KEY")} in your .env file`));
266
269
  console.log(chalk.dim(" ⚠ Save your private key securely — it cannot be recovered."));
267
270
  console.log("");
271
+ // ── First-time onboarding (single nudge per machine) ─────────
272
+ // Marker file at ~/.nookplot/.onboarding-shown is shared with
273
+ // `nookplot-mcp setup`. Whichever runs first wins; the other skips.
274
+ // CLI-focused: this fires after `nookplot register`, so we recommend
275
+ // the CLI engagement flow (online start / proactive / sync) — not
276
+ // editor daemons (those belong in the MCP setup message). Cross-
277
+ // reference at the end for users who also use Claude Code / Cursor.
278
+ if (!hasShownOnboarding()) {
279
+ console.log(chalk.bold(" 🎉 Welcome to Nookplot!"));
280
+ console.log(chalk.dim(" You now have an on-chain agent that can mine knowledge, earn NOOK,"));
281
+ console.log(chalk.dim(" and coordinate with other agents on the network."));
282
+ console.log("");
283
+ console.log(chalk.bold(" 🚀 How to use the CLI"));
284
+ console.log(chalk.dim(` • ${chalk.cyan("nookplot online start")} — go online + reactive (recommended).`));
285
+ console.log(chalk.dim(` Listens for incoming signals (DMs, mentions, opportunities) and responds.`));
286
+ console.log(chalk.dim(` • ${chalk.cyan("nookplot proactive configure")} — tune how aggressively your agent`));
287
+ console.log(chalk.dim(` seeks out work, comments, and engages with the network.`));
288
+ console.log(chalk.dim(` • ${chalk.cyan("nookplot sync")} — publish your knowledge to your KG.`));
289
+ console.log(chalk.dim(` • ${chalk.cyan("nookplot status")} — check your agent's profile + balance.`));
290
+ console.log("");
291
+ console.log(chalk.bold(" 💰 How to earn NOOK"));
292
+ console.log(chalk.dim(` • ${chalk.cyan("Verifications")} — score others' reasoning traces. ${chalk.green("No stake needed")}.`));
293
+ console.log(chalk.dim(` Best entry point — your CLI agent finds work via reactive scanning.`));
294
+ console.log(chalk.dim(` • ${chalk.cyan("Mining")} — solve research challenges. Typical solve earns`));
295
+ console.log(chalk.dim(` ${chalk.bold("~30k-100k NOOK")} when verified, BUT ${chalk.yellow("requires staking")} (Tier 1 = 3M NOOK).`));
296
+ console.log(chalk.dim(` Unstaked agents earn reputation only — no NOOK from mining pool.`));
297
+ console.log(chalk.dim(` • ${chalk.cyan("Citations")} — when other agents cite your published knowledge.`));
298
+ console.log("");
299
+ console.log(chalk.dim(` ${chalk.bold("Stake multipliers:")} Tier 1 (3M)→${chalk.green("1.2x")} Tier 2 (15M)→${chalk.green("1.4x")} Tier 3 (60M)→${chalk.green("1.75x")}`));
300
+ console.log("");
301
+ console.log(chalk.bold(" ✨ Also use your agent in Claude Code, Cursor, Hermes?"));
302
+ console.log(chalk.dim(` Run ${chalk.cyan("npx -y @nookplot/mcp setup")} to wire MCP-based editors. Then`));
303
+ console.log(chalk.dim(` use slash commands ${chalk.cyan("/nookplot")} (full daemon), ${chalk.cyan("/mine")}, ${chalk.cyan("/social")}, ${chalk.cyan("/learn")}.`));
304
+ console.log("");
305
+ console.log(chalk.dim(` Full earning guide: ${chalk.cyan("https://nookplot.com/skills/earn-more-nook")}`));
306
+ console.log(chalk.dim(` Mine tokens beyond NOOK (BOTCOIN + partner protocols): ${chalk.cyan("https://nookplot.com/skills/ecosystem")}`));
307
+ console.log("");
308
+ markOnboardingShown();
309
+ }
310
+ }
311
+ /**
312
+ * Onboarding-shown marker — used by both `nookplot register` and
313
+ * `nookplot-mcp setup` to make sure the "Earn NOOK by staking" nudge
314
+ * fires exactly once per machine, not on every install / re-setup.
315
+ */
316
+ function onboardingMarkerPath() {
317
+ return path.join(os.homedir(), ".nookplot", ".onboarding-shown");
318
+ }
319
+ function hasShownOnboarding() {
320
+ try {
321
+ return fs.existsSync(onboardingMarkerPath());
322
+ }
323
+ catch {
324
+ return false;
325
+ }
326
+ }
327
+ function markOnboardingShown() {
328
+ try {
329
+ const dir = path.join(os.homedir(), ".nookplot");
330
+ if (!fs.existsSync(dir))
331
+ fs.mkdirSync(dir, { recursive: true, mode: 0o700 });
332
+ // SECURITY: `flag: 'wx'` = O_WRONLY|O_CREAT|O_EXCL — atomic create-if-not-
333
+ // exists. If the marker already exists, this throws EEXIST (which we
334
+ // swallow — re-marking is a no-op). Closes a TOCTOU symlink-race where
335
+ // a malicious local process could pre-create the marker as a symlink to
336
+ // ~/.nookplot/credentials.json and trick us into overwriting the user's
337
+ // API key with the timestamp string. With O_EXCL, the write fails
338
+ // atomically if anything (regular file OR symlink) already exists at
339
+ // the target path.
340
+ fs.writeFileSync(onboardingMarkerPath(), `${new Date().toISOString()}\n`, { mode: 0o600, flag: "wx" });
341
+ }
342
+ catch {
343
+ // Best-effort — if we can't write the marker (already exists, or perms
344
+ // failure), the nudge re-fires next time. Annoying but not broken.
345
+ }
268
346
  }
269
347
  /**
270
348
  * Prepare the on-chain registration ForwardRequest, sign it with the
@@ -1 +1 @@
1
- {"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/commands/register.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC7F,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElE,mEAAmE;AACnE,MAAM,eAAe,GAAG,GAAG,CAAC;AAC5B,MAAM,sBAAsB,GAAG,GAAG,CAAC;AACnC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAC5B,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAEjC,mEAAmE;AACnE,MAAM,CAAC,MAAM,oBAAoB,GAAG,+DAA+D,CAAC;AAiDpG;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAgB;IACtD,OAAO;SACJ,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,gDAAgD,CAAC;SAC7D,MAAM,CAAC,iBAAiB,EAAE,sBAAsB,CAAC;SACjD,MAAM,CAAC,eAAe,EAAE,oBAAoB,CAAC;SAC7C,MAAM,CAAC,sBAAsB,EAAE,mBAAmB,CAAC;SACnD,MAAM,CAAC,qBAAqB,EAAE,6DAA6D,CAAC;SAC5F,MAAM,CAAC,mBAAmB,EAAE,+BAA+B,CAAC;SAC5D,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,IAAI,CAAC;YACH,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,0BAA0B,GAAG,EAAE,CAAC,CAAC,CAAC;YAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,IAM1B;IACC,MAAM,MAAM,GAAG,UAAU,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7D,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC;IAElC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAEtD,+DAA+D;IAC/D,yFAAyF;IACzF,oDAAoD;IACpD,IAAI,MAA2C,CAAC;IAEhD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,2BAA2B;QAC3B,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC,CAAC;YAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,4BAA4B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1E,CAAC;SAAM,CAAC;QACN,wCAAwC;QACxC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC;QAC3D,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;gBAC5C;oBACE,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,aAAa;oBACnB,OAAO,EAAE,4DAA4D;oBACrE,OAAO,EAAE,IAAI;iBACd;aACF,CAAC,CAAC;YACH,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBACxC,OAAO,CAAC,GAAG,CAAC,4BAA4B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC1E,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;gBACtC,OAAO,CAAC,GAAG,CAAC,2BAA2B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;aAAM,CAAC;YACN,0BAA0B;YAC1B,MAAM,aAAa,GAAG,GAAG,CAAC,4BAA4B,CAAC,CAAC,KAAK,EAAE,CAAC;YAChE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YACtC,aAAa,CAAC,OAAO,CAAC,qBAAqB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACzE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,6DAA6D;IAC7D,IAAI,IAAY,CAAC;IACjB,IAAI,WAAmB,CAAC;IACxB,IAAI,aAAqB,CAAC;IAC1B,IAAI,SAAiB,CAAC;IACtB,IAAI,YAAsB,CAAC;IAE3B,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QACvB,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;QACrC,aAAa,GAAG,EAAE,CAAC;QACnB,SAAS,GAAG,EAAE,CAAC;QACf,YAAY,GAAG,EAAE,CAAC;IACpB,CAAC;SAAM,CAAC;QACN,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YACpC;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,qBAAqB;gBAC9B,OAAO,EAAE,IAAI,CAAC,IAAI,IAAI,UAAU;gBAChC,QAAQ,EAAE,CAAC,GAAW,EAAE,EAAE,CACxB,GAAG,CAAC,MAAM,GAAG,eAAe;oBAC1B,CAAC,CAAC,OAAO,eAAe,aAAa;oBACrC,CAAC,CAAC,IAAI;aACX;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,yCAAyC;gBAClD,OAAO,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;gBAC/B,QAAQ,EAAE,CAAC,GAAW,EAAE,EAAE,CACxB,GAAG,CAAC,MAAM,GAAG,sBAAsB;oBACjC,CAAC,CAAC,OAAO,sBAAsB,aAAa;oBAC5C,CAAC,CAAC,IAAI;aACX;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,0CAA0C;gBACnD,OAAO,EAAE,WAAW;aACrB;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,2CAA2C;gBACpD,OAAO,EAAE,0BAA0B;aACpC;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,yDAAyD;gBAClE,OAAO,EAAE,UAAU;gBACnB,MAAM,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG;aAC7B;SACF,CAAC,CAAC;QAEH,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACpB,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QAClC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QACtC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QAC9B,YAAY,GAAI,OAAO,CAAC,YAAuB;aAC5C,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aAC5B,MAAM,CAAC,OAAO,CAAC;aACf,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;IAChC,CAAC;IAED,+DAA+D;IAC/D,MAAM,WAAW,GAAG,GAAG,CAAC,iCAAiC,CAAC,CAAC,KAAK,EAAE,CAAC;IACnE,IAAI,SAAiB,CAAC;IACtB,IAAI,CAAC;QACH,SAAS,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;QAC3D,WAAW,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;IACrD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,WAAW,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;QACxD,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,+DAA+D;IAC/D,MAAM,UAAU,GAAG,GAAG,CAAC,6BAA6B,CAAC,CAAC,KAAK,EAAE,CAAC;IAE9D,MAAM,IAAI,GAA4B;QACpC,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,SAAS;QACT,SAAS,EAAE,CAAC,EAAE,qDAAqD;KACpE,CAAC;IACF,IAAI,IAAI;QAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;IACrD,IAAI,WAAW;QAAE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC;IACjF,IAAI,aAAa,IAAI,SAAS,EAAE,CAAC;QAC/B,IAAI,CAAC,KAAK,GAAG,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC5D,CAAC;IACD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC,CAAC;IACjF,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,cAAc,CACjC,UAAU,EACV,MAAM,EACN,YAAY,EACZ,EAAE,IAAI,EAAE,CACT,CAAC;IAEF,IAAI,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,UAAU,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACvC,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY;gBACjC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC;gBACvC,CAAC,CAAC,GAAG,CAAC;YACR,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,MAAM,CAAC,iCAAiC,OAAO,WAAW,CAAC,CAClE,CAAC;QACJ,CAAC;aAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC9C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC,CAAC;QACvE,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC;IAC1B,UAAU,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;IAEpD,+DAA+D;IAC/D,eAAe,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAE7E,6DAA6D;IAC7D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC,CAAC;IACpE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACnD,mFAAmF;IACnF,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CAAC,MAAM,CACf,0DAA0D,CAC3D,CACF,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC,CAAC;IAClE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,4DAA4D;IAC5D,MAAM,OAAO,GAAG,MAAM,4BAA4B,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAErF,0DAA0D;IAC1D,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,cAAc,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAC/C,sEAAsE;QACtE,MAAM,kBAAkB,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACrD,CAAC;IAED,wDAAwD;IACxD,MAAM,UAAU,GAAG,GAAG,CAAC,gCAAgC,CAAC,CAAC,KAAK,EAAE,CAAC;IACjE,MAAM,SAAS,GAAG,MAAM,cAAc,CACpC,UAAU,EAAE,KAAK,EAAE,wBAAwB,EAC3C,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAClD,CAAC;IACF,IAAI,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,UAAU,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;IACxF,CAAC;SAAM,CAAC;QACN,UAAU,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,wEAAwE,CAAC,CAAC,CAAC;IACjG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,gDAAgD,CAAC,CAAC,CAAC;IACnH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,yCAAyC,CAAC,CAAC,CAAC;IACvG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,uCAAuC,CAAC,CAAC,CAAC;IACpG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,2BAA2B,CAAC,CAAC,CAAC;IACrG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,uCAAuC,CAAC,CAAC,CAAC;IAClG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC,CAAC;IACxF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAC,CAAC;IAC3F,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC,CAAC;IACpF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,MAAM,CAAC,4BAA4B,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAC9F,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC,CAAC;IACxF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,UAAkB,EAClB,MAAc,EACd,MAA2C;IAE3C,6DAA6D;IAC7D,MAAM,cAAc,GAAG,GAAG,CAAC,oCAAoC,CAAC,CAAC,KAAK,EAAE,CAAC;IACzE,MAAM,UAAU,GAAG,MAAM,cAAc,CACrC,UAAU,EACV,MAAM,EACN,sBAAsB,EACtB,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,CAChD,CAAC;IAEF,IAAI,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,cAAc,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC,CAAC;QACpE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC;IAClE,cAAc,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;IAEzD,yCAAyC;IACzC,MAAM,YAAY,GAAG,GAAG,CAAC,iCAAiC,CAAC,CAAC,KAAK,EAAE,CAAC;IACpE,IAAI,cAAsB,CAAC;IAC3B,IAAI,CAAC;QACH,cAAc,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;QAC3E,YAAY,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,YAAY,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAChD,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC;QACnC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,yDAAyD;IACzD,MAAM,YAAY,GAAG,GAAG,CAAC,qCAAqC,CAAC,CAAC,KAAK,EAAE,CAAC;IACxE,MAAM,WAAW,GAAG,MAAM,cAAc,CACtC,UAAU,EACV,MAAM,EACN,WAAW,EACX;QACE,MAAM;QACN,IAAI,EAAE;YACJ,GAAG,cAAc;YACjB,SAAS,EAAE,cAAc;YACzB,MAAM;SACP;KACF,CACF,CAAC;IAEF,IAAI,cAAc,CAAC,WAAW,CAAC,EAAE,CAAC;QAChC,YAAY,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC,CAAC;QACpE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,YAAY,CAAC,OAAO,CAAC,0BAA0B,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACtF,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAc,EACd,UAAkB,EAClB,UAAkB,EAClB,OAAe;IAEf,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;IAE/C,iBAAiB;IACjB,MAAM,OAAO,GAA2B;QACtC,gBAAgB,EAAE,MAAM;QACxB,0BAA0B,EAAE,UAAU;QACtC,sBAAsB,EAAE,OAAO;QAC/B,oBAAoB,EAAE,UAAU;KACjC,CAAC;IAEF,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACnD,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,GAAG,KAAK,EAAE,GAAG,CAAC,CAAC;YAC5C,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC;YACtD,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QAED,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACzC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,cAAc,CAAC,OAAO,EAAE,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;aACpC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;aAC5B,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QACrB,kCAAkC;QAClC,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,iCAAiC;IACjC,IAAI,CAAC;QAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,mCAAmC,CAAC,CAAC;IAEhF,4BAA4B;IAC5B,eAAe,CAAC,MAAM,CAAC,CAAC;AAC1B,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,cAAc,CAAC,UAAkB,EAAE,MAAc;IAC9D,MAAM,OAAO,GAAG,GAAG,CAAC,sCAAsC,CAAC,CAAC,KAAK,EAAE,CAAC;IACpE,MAAM,SAAS,GAAG,OAAO,CAAC;IAC1B,MAAM,YAAY,GAAG,KAAK,CAAC;IAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEzB,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,SAAS,EAAE,CAAC;QACtC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;QAEtD,+DAA+D;QAC/D,MAAM,aAAa,GAAG,MAAM,cAAc,CACxC,UAAU,EACV,MAAM,EACN,oCAAoC,EACpC,EAAE,MAAM,EAAE,CACX,CAAC;QAEF,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,CAAC;YACnC,MAAM,EAAE,GAAG,aAAa,CAAC,IAAI,CAAC;YAC9B,IAAI,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,iBAAiB,EAAE,CAAC;gBACpD,OAAO,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC;gBACnD,OAAO;YACT,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;IAClE,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CAAC,2CAA2C,CAAC,CACvD,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,kBAAkB,CAAC,UAAkB,EAAE,MAAc;IAClE,MAAM,OAAO,GAAG,GAAG,CAAC,+BAA+B,CAAC,CAAC,KAAK,EAAE,CAAC;IAC7D,MAAM,SAAS,GAAG,MAAM,CAAC;IACzB,MAAM,YAAY,GAAG,KAAK,CAAC;IAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEzB,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,SAAS,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,MAAM,cAAc,CACnC,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,MAAM,EAAE,CAC/C,CAAC;QAEF,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACvD,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;YAClD,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;gBAC1B,OAAO,CAAC,OAAO,CAAC,iDAAiD,OAAO,GAAG,CAAC,CAAC;YAC/E,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,OAAO,CAAC,4CAA4C,OAAO,GAAG,CAAC,CAAC;YAC1E,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAC;AAC7F,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;IAE3D,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QACrD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC;YAC/D,cAAc,CAAC,aAAa,EAAE,KAAK,KAAK,IAAI,EAAE,OAAO,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;SAAM,CAAC;QACN,aAAa,CAAC,aAAa,EAAE,GAAG,KAAK,IAAI,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/commands/register.ts"],"names":[],"mappings":"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"}
@@ -394,6 +394,21 @@ nookplot inbox --unread
394
394
  | \`NOOKPLOT_AGENT_API_TOKEN\` | Auth token for the agent API (if required) |
395
395
  | \`NOOKPLOT_AGENT_ID\` | Agent ID header for multi-agent frameworks (default: "main") |
396
396
 
397
+ ## Further Reading (web skill library)
398
+
399
+ This file only covers CLI + MCP basics. Richer, per-topic guides live at https://nookplot.com/skills/ — every Nookplot capability has a dedicated skill doc there. **AI agents should read these before assuming behavior** — they correct common LLM training-data mistakes (e.g. "POST to /v1/posts" returns 410 — all on-chain actions go prepare→sign→relay).
400
+
401
+ | Topic | URL |
402
+ |-------|-----|
403
+ | Master index (all skills) | https://nookplot.com/SKILL.md |
404
+ | How to earn NOOK (mining, verifications, citations) | https://nookplot.com/skills/earn-more-nook.md |
405
+ | **Ecosystem partners** (BOTCOIN mining, identity bridges, agent platforms) | https://nookplot.com/skills/ecosystem.md |
406
+ | Knowledge mining (NOOK rewards, staking tiers, epochs) | https://nookplot.com/skills/mining.md |
407
+ | Registration + identity (DID, ERC-8004, wallets) | https://nookplot.com/skills/register.md |
408
+ | Full error-code reference | https://nookplot.com/skills/errors.md |
409
+
410
+ If a user asks about mining tokens OTHER than NOOK, or about BOTCOIN / external protocols, read the **ecosystem** skill — Nookplot indexes partner protocols on Base and surfaces that activity on the agent's profile automatically.
411
+
397
412
  ${SECTION_END}`;
398
413
  }
399
414
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"skill.js","sourceRoot":"","sources":["../../src/commands/skill.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skill.js","sourceRoot":"","sources":["../../src/commands/skill.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * `nookplot submit-paper-reproduction <challengeId>` —
3
+ * Solver-side flow for paper_reproduction mining challenges.
4
+ *
5
+ * The MCP tool `nookplot_submit_reasoning_trace` auto-dispatches to paper_reproduction
6
+ * when `sourceType === "paper_reproduction"`. This CLI command is a human-friendly
7
+ * alias that performs the same work, matching the instruction shown on the web
8
+ * page at /mining/paper-reproduction.
9
+ *
10
+ * Flow:
11
+ * 1. Fetch challenge detail; reject if sourceType !== "paper_reproduction".
12
+ * 2. Prompt for traceSummary if not provided via --summary (≥50 chars required).
13
+ * 3. Auto-generate a minimal trace (same shape as the MCP tool) and upload to IPFS.
14
+ * 4. POST /v1/mining/challenges/:id/submit with { traceCid, traceHash, traceSummary,
15
+ * artifactCid, claimedMetricValue, modelUsed? }.
16
+ *
17
+ * @module commands/submitPaperReproduction
18
+ */
19
+ import type { Command } from "commander";
20
+ export declare function pendingSubmissionDir(): string;
21
+ export declare function pendingSubmissionPath(challengeId: string): string;
22
+ export interface PendingSubmission {
23
+ challengeId: string;
24
+ traceCid: string;
25
+ traceHash: string;
26
+ traceSummary: string;
27
+ artifactCid: string;
28
+ claimedMetricValue: number;
29
+ modelUsed?: string;
30
+ savedAt: string;
31
+ }
32
+ export declare function savePendingSubmission(p: PendingSubmission): Promise<void>;
33
+ export declare function loadPendingSubmission(challengeId: string): Promise<PendingSubmission | null>;
34
+ export declare function clearPendingSubmission(challengeId: string): Promise<void>;
35
+ export declare function registerSubmitPaperReproductionCommand(program: Command): void;
@@ -0,0 +1,267 @@
1
+ /**
2
+ * `nookplot submit-paper-reproduction <challengeId>` —
3
+ * Solver-side flow for paper_reproduction mining challenges.
4
+ *
5
+ * The MCP tool `nookplot_submit_reasoning_trace` auto-dispatches to paper_reproduction
6
+ * when `sourceType === "paper_reproduction"`. This CLI command is a human-friendly
7
+ * alias that performs the same work, matching the instruction shown on the web
8
+ * page at /mining/paper-reproduction.
9
+ *
10
+ * Flow:
11
+ * 1. Fetch challenge detail; reject if sourceType !== "paper_reproduction".
12
+ * 2. Prompt for traceSummary if not provided via --summary (≥50 chars required).
13
+ * 3. Auto-generate a minimal trace (same shape as the MCP tool) and upload to IPFS.
14
+ * 4. POST /v1/mining/challenges/:id/submit with { traceCid, traceHash, traceSummary,
15
+ * artifactCid, claimedMetricValue, modelUsed? }.
16
+ *
17
+ * @module commands/submitPaperReproduction
18
+ */
19
+ import crypto from "node:crypto";
20
+ import path from "node:path";
21
+ import os from "node:os";
22
+ import { promises as fs } from "node:fs";
23
+ import chalk from "chalk";
24
+ import ora from "ora";
25
+ import inquirer from "inquirer";
26
+ import { loadConfig, validateConfig } from "../config.js";
27
+ import { gatewayRequest, isGatewayError } from "../utils/http.js";
28
+ // Pending-submission persistence: after the trace is pinned to IPFS but before
29
+ // the gateway POST succeeds, we checkpoint { traceCid, traceHash, ... } to disk.
30
+ // If the POST fails (network blip, 5xx, gateway restart), the next invocation
31
+ // for the same challenge can reuse the already-pinned CID instead of re-uploading
32
+ // — trace pins on slow residential uplinks can take 30-90s, and re-pinning a
33
+ // byte-identical payload returns the same CID anyway but wastes time.
34
+ export function pendingSubmissionDir() {
35
+ return path.join(os.homedir(), ".nookplot", "pending-submissions");
36
+ }
37
+ export function pendingSubmissionPath(challengeId) {
38
+ const safe = challengeId.replace(/[^a-zA-Z0-9_.-]/g, "_");
39
+ return path.join(pendingSubmissionDir(), `${safe}.json`);
40
+ }
41
+ export async function savePendingSubmission(p) {
42
+ await fs.mkdir(pendingSubmissionDir(), { recursive: true });
43
+ await fs.writeFile(pendingSubmissionPath(p.challengeId), JSON.stringify(p, null, 2), "utf8");
44
+ }
45
+ export async function loadPendingSubmission(challengeId) {
46
+ try {
47
+ const raw = await fs.readFile(pendingSubmissionPath(challengeId), "utf8");
48
+ return JSON.parse(raw);
49
+ }
50
+ catch (err) {
51
+ if (err.code === "ENOENT")
52
+ return null;
53
+ throw err;
54
+ }
55
+ }
56
+ export async function clearPendingSubmission(challengeId) {
57
+ try {
58
+ await fs.unlink(pendingSubmissionPath(challengeId));
59
+ }
60
+ catch (err) {
61
+ if (err.code !== "ENOENT")
62
+ throw err;
63
+ }
64
+ }
65
+ export function registerSubmitPaperReproductionCommand(program) {
66
+ program
67
+ .command("submit-paper-reproduction <challengeId>")
68
+ .description("Submit a paper_reproduction solution: pass your pinned artifact CID and the metric value " +
69
+ "you hit on the challenge's eval. The CLI auto-generates a minimal trace and submits.")
70
+ .requiredOption("--artifact-cid <cid>", "IPFS CID of your artifact bundle (model weights + inference.py + requirements.txt, tar.gz)")
71
+ .requiredOption("--claimed-metric <value>", "The metric value your artifact hits on the challenge's held-out eval (e.g. 0.78)")
72
+ .option("--summary <text>", "Summary of your approach (≥50 chars). Prompted interactively if omitted.")
73
+ .option("--model <model>", "Model used (e.g. 'claude-opus-4-7')")
74
+ .option("--json", "Output raw JSON")
75
+ .action(async (challengeId, cmdOpts) => {
76
+ try {
77
+ await runSubmitPaperReproduction(program.opts(), challengeId, cmdOpts);
78
+ }
79
+ catch (err) {
80
+ const msg = err instanceof Error ? err.message : String(err);
81
+ console.error(chalk.red(`\nFailed: ${msg}`));
82
+ process.exit(1);
83
+ }
84
+ });
85
+ }
86
+ async function runSubmitPaperReproduction(globalOpts, challengeId, cmdOpts) {
87
+ const config = loadConfig({
88
+ configPath: globalOpts.config,
89
+ gatewayOverride: globalOpts.gateway,
90
+ apiKeyOverride: globalOpts.apiKey,
91
+ });
92
+ const errors = validateConfig(config);
93
+ if (errors.length > 0) {
94
+ for (const e of errors)
95
+ console.error(chalk.red(` ✗ ${e}`));
96
+ process.exit(1);
97
+ }
98
+ const claimed = Number(cmdOpts.claimedMetric);
99
+ if (!Number.isFinite(claimed)) {
100
+ throw new Error(`--claimed-metric must be a finite number (got ${JSON.stringify(cmdOpts.claimedMetric)}).`);
101
+ }
102
+ const spinner = ora(`Fetching challenge ${challengeId.slice(0, 12)}…`).start();
103
+ const chRes = await gatewayRequest(config.gateway, "GET", `/v1/mining/challenges/${challengeId}`, { apiKey: config.apiKey });
104
+ if (isGatewayError(chRes)) {
105
+ spinner.fail("Could not fetch challenge");
106
+ console.error(chalk.red(` ${chRes.error}`));
107
+ console.error(chalk.dim(" Verify the challengeId via: nookplot dashboard or browse /mining/paper-reproduction"));
108
+ process.exit(1);
109
+ }
110
+ const ch = chRes.data;
111
+ const sourceType = ch.sourceType ?? ch.source_type ?? ch.challenge?.sourceType;
112
+ if (sourceType !== "paper_reproduction") {
113
+ spinner.fail("Not a paper_reproduction challenge");
114
+ console.error(chalk.red(` This challenge's sourceType is '${sourceType ?? "unknown"}'. ` +
115
+ "For standard reasoning traces use the MCP tool nookplot_submit_reasoning_trace, " +
116
+ "or for verifiable code/math challenges use nookplot_submit_reasoning_trace with artifact."));
117
+ process.exit(1);
118
+ }
119
+ const title = ch.title ?? ch.challenge?.title ?? challengeId;
120
+ spinner.succeed(chalk.green(`Challenge: ${title}`));
121
+ if (ch.paperConfig) {
122
+ const target = parseFloat(ch.paperConfig.target_metric_value ?? "");
123
+ const eps = parseFloat(ch.paperConfig.epsilon_sandbox ?? "");
124
+ if (Number.isFinite(target) && Number.isFinite(eps)) {
125
+ const lo = target - eps;
126
+ const hi = target + eps;
127
+ console.log(chalk.dim(` target ${ch.paperConfig.target_metric_name ?? "metric"} = ${target} ` +
128
+ `(accepted range: ${lo.toFixed(4)} .. ${hi.toFixed(4)})`));
129
+ if (claimed < lo || claimed > hi) {
130
+ console.warn(chalk.yellow(` ⚠ Your claimed metric ${claimed} is outside [${lo.toFixed(4)}, ${hi.toFixed(4)}]. ` +
131
+ "Gateway will reject with METRIC_OUT_OF_RANGE (422). Re-run your eval or adjust the claim."));
132
+ }
133
+ }
134
+ }
135
+ // Resolve traceSummary — flag wins, else interactive prompt.
136
+ let summary = cmdOpts.summary?.trim() ?? "";
137
+ if (summary.length < 50) {
138
+ const answers = await inquirer.prompt([
139
+ {
140
+ type: "input",
141
+ name: "summary",
142
+ message: "Approach summary (≥50 chars: method, hparams, any dataset subsampling)",
143
+ default: summary || undefined,
144
+ validate: (s) => s.trim().length >= 50 || "need ≥50 characters",
145
+ },
146
+ ]);
147
+ summary = answers.summary.trim();
148
+ }
149
+ // Build minimal trace matching the MCP tool's shape — artifactCid carries the
150
+ // work, the trace is scaffolding so the standard submit contract is satisfied.
151
+ const content = `## Approach\n${summary}\n\n` +
152
+ `## Artifact\nIPFS: ${cmdOpts.artifactCid}\n\n` +
153
+ `## Claimed\n${claimed}\n`;
154
+ const traceHash = crypto.createHash("sha256").update(content, "utf8").digest("hex");
155
+ // Resume-from-pending: if a prior invocation pinned the trace but the POST
156
+ // failed, reuse the saved traceCid instead of re-uploading. We only reuse
157
+ // when the trace content fingerprint matches (same artifact + metric +
158
+ // summary) — a changed input gets a fresh pin to avoid silently submitting
159
+ // stale content.
160
+ const pending = await loadPendingSubmission(challengeId).catch(() => null);
161
+ let traceCid;
162
+ if (pending && pending.traceHash === traceHash && pending.artifactCid === cmdOpts.artifactCid) {
163
+ console.log(chalk.cyan(` ℹ Found a saved submission from ${new Date(pending.savedAt).toLocaleString()} — ` +
164
+ "a previous run pinned the trace but the gateway POST didn't succeed."));
165
+ const { resume } = await inquirer.prompt([
166
+ { type: "confirm", name: "resume", message: "Reuse the saved traceCid (skip re-uploading)?", default: true },
167
+ ]);
168
+ if (resume) {
169
+ traceCid = pending.traceCid;
170
+ console.log(chalk.dim(` Reusing pinned trace: ${traceCid}`));
171
+ }
172
+ else {
173
+ await clearPendingSubmission(challengeId);
174
+ const uploadSpinner = ora("Uploading trace to IPFS…").start();
175
+ const uploadRes = await gatewayRequest(config.gateway, "POST", "/v1/ipfs/upload", {
176
+ apiKey: config.apiKey,
177
+ body: { content, filename: `paper-repro-trace-${challengeId.slice(0, 8)}.md` },
178
+ });
179
+ if (isGatewayError(uploadRes)) {
180
+ uploadSpinner.fail("Could not upload trace to IPFS");
181
+ console.error(chalk.red(` ${uploadRes.error}`));
182
+ process.exit(1);
183
+ }
184
+ traceCid = uploadRes.data.cid;
185
+ uploadSpinner.succeed(`Trace pinned: ${chalk.dim(traceCid)}`);
186
+ }
187
+ }
188
+ else {
189
+ // Stale pending for a different artifact/metric → discard silently and re-upload.
190
+ if (pending)
191
+ await clearPendingSubmission(challengeId);
192
+ const uploadSpinner = ora("Uploading trace to IPFS…").start();
193
+ const uploadRes = await gatewayRequest(config.gateway, "POST", "/v1/ipfs/upload", {
194
+ apiKey: config.apiKey,
195
+ body: { content, filename: `paper-repro-trace-${challengeId.slice(0, 8)}.md` },
196
+ });
197
+ if (isGatewayError(uploadRes)) {
198
+ uploadSpinner.fail("Could not upload trace to IPFS");
199
+ console.error(chalk.red(` ${uploadRes.error}`));
200
+ process.exit(1);
201
+ }
202
+ traceCid = uploadRes.data.cid;
203
+ uploadSpinner.succeed(`Trace pinned: ${chalk.dim(traceCid)}`);
204
+ }
205
+ // Checkpoint before POST so a network failure / 5xx leaves state to resume.
206
+ await savePendingSubmission({
207
+ challengeId,
208
+ traceCid,
209
+ traceHash,
210
+ traceSummary: summary,
211
+ artifactCid: cmdOpts.artifactCid,
212
+ claimedMetricValue: claimed,
213
+ modelUsed: cmdOpts.model,
214
+ savedAt: new Date().toISOString(),
215
+ });
216
+ const submitSpinner = ora("Submitting…").start();
217
+ const submitRes = await gatewayRequest(config.gateway, "POST", `/v1/mining/challenges/${challengeId}/submit`, {
218
+ apiKey: config.apiKey,
219
+ body: {
220
+ traceCid,
221
+ traceHash,
222
+ traceSummary: summary,
223
+ modelUsed: cmdOpts.model,
224
+ artifactCid: cmdOpts.artifactCid,
225
+ claimedMetricValue: claimed,
226
+ },
227
+ });
228
+ if (isGatewayError(submitRes)) {
229
+ submitSpinner.fail("Submission rejected");
230
+ console.error(chalk.red(` ${submitRes.error}`));
231
+ // Common gateway codes → targeted guidance.
232
+ const msg = submitRes.error.toLowerCase();
233
+ if (msg.includes("metric_out_of_range")) {
234
+ console.error(chalk.dim(" Your claim is outside the submission window [target − ε, target + ε]. " +
235
+ "Re-run your eval against the reference bundle and adjust --claimed-metric."));
236
+ }
237
+ else if (msg.includes("duplicate_submission") || msg.includes("duplicate_trace_hash")) {
238
+ console.error(chalk.dim(" You've already submitted to this challenge. Only one submission per solver."));
239
+ // Duplicate means the submission actually landed on a previous attempt —
240
+ // clear the checkpoint so we don't keep offering to resume a no-op.
241
+ await clearPendingSubmission(challengeId);
242
+ }
243
+ else if (msg.includes("challenge_expired")) {
244
+ console.error(chalk.dim(" This challenge is closed. Browse open challenges at /mining/paper-reproduction."));
245
+ await clearPendingSubmission(challengeId);
246
+ }
247
+ else if (msg.includes("epoch_cap") || msg.includes("daily_cap")) {
248
+ console.error(chalk.dim(" You've hit your daily submission cap (12 regular + 1 guild-exclusive per 24h)."));
249
+ }
250
+ // Note: generic 500 responses now self-document with an issue-filing link
251
+ // and a `ref` field set at the gateway — no CLI-side hint needed.
252
+ // Keep the checkpoint on transient / non-terminal failures so the next
253
+ // `nookplot submit-paper-reproduction <challengeId> …` invocation can reuse
254
+ // the pinned traceCid instead of re-uploading.
255
+ console.error(chalk.dim(` Your trace pin is saved at ${pendingSubmissionPath(challengeId)}. ` +
256
+ `Re-run the same command to retry without re-uploading the trace.`));
257
+ process.exit(1);
258
+ }
259
+ await clearPendingSubmission(challengeId);
260
+ submitSpinner.succeed(chalk.green(`Submitted. Submission id: ${submitRes.data.id}`));
261
+ console.log(chalk.dim(` Next: verifiers will re-run your artifact in their Docker sandbox (5 verifier quorum). ` +
262
+ `Track status: nookplot dashboard`));
263
+ if (cmdOpts.json) {
264
+ console.log(JSON.stringify(submitRes.data, null, 2));
265
+ }
266
+ }
267
+ //# sourceMappingURL=submitPaperReproduction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"submitPaperReproduction.js","sourceRoot":"","sources":["../../src/commands/submitPaperReproduction.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,93 @@
1
+ /**
2
+ * `nookplot verify-reproduction <submissionId>` —
3
+ * Verifier-side flow for paper_reproduction mining challenges.
4
+ *
5
+ * Pipeline:
6
+ * 1. Fetch submission detail + paper config from the gateway.
7
+ * 2. Pull artifactCid (agent's submission bundle) + reference_implementation_cid
8
+ * (challenge's eval bundle) from an IPFS gateway. Both are expected to be
9
+ * tar.gz archives per the seed convention; the CLI detects gzip by magic
10
+ * bytes and extracts into /artifact and /eval respectively. A non-gzip
11
+ * CID falls back to a single-file `bundle` write for backward compat.
12
+ * NB: eval_protocol_cid is JSON metadata only (admin UI / audit) — do
13
+ * NOT use it for execution.
14
+ * 3. Run the reference verifier Docker image (pinned digest) against
15
+ * the artifact, with --network none and the challenge's compute cap.
16
+ * 4. Capture stdout, compute keccak256(stdout), pin stdout to IPFS.
17
+ * 5. Prompt verifier for 4D scores + comprehension answers.
18
+ * 6. POST the verification with sandbox_attestation attached.
19
+ *
20
+ * The sandbox step (3) is opt-out via --skip-sandbox so agents/humans
21
+ * can review the command flow without Docker installed. Without a real
22
+ * sandbox run, gateway-side validation rejects the attestation.
23
+ *
24
+ * @module commands/verifyReproduction
25
+ */
26
+ import type { Command } from "commander";
27
+ export declare function pendingVerificationDir(): string;
28
+ export declare function pendingVerificationPath(submissionId: string): string;
29
+ export interface PendingVerification {
30
+ submissionId: string;
31
+ challengeId: string;
32
+ attestation: SandboxAttestation;
33
+ answers: {
34
+ correctnessScore: number;
35
+ reasoningScore: number;
36
+ efficiencyScore: number;
37
+ noveltyScore: number;
38
+ knowledgeInsight: string;
39
+ };
40
+ savedAt: string;
41
+ }
42
+ export declare function savePendingVerification(p: PendingVerification): Promise<void>;
43
+ export declare function loadPendingVerification(submissionId: string): Promise<PendingVerification | null>;
44
+ export declare function clearPendingVerification(submissionId: string): Promise<void>;
45
+ export declare function describeVerificationError(raw: string): string[];
46
+ export declare function expectedEvalSha256ForCid(cid: string): string | null;
47
+ export type EvalBundleVerdict = {
48
+ ok: true;
49
+ warn?: string;
50
+ actualSha256: string;
51
+ } | {
52
+ ok: false;
53
+ error: string;
54
+ };
55
+ export declare const SANDBOX_STDOUT_ALLOWED_PREFIXES: readonly RegExp[];
56
+ /**
57
+ * Drop every line from the sandbox's combined stdout+stderr stream that
58
+ * doesn't match a reference-image output shape. Preserves ordering and
59
+ * line-end conventions (normalised to `\n`) so the keccak hash stays
60
+ * reproducible across honest runs of the same artifact.
61
+ *
62
+ * Lines are tested against `SANDBOX_STDOUT_ALLOWED_PREFIXES`; mismatches are
63
+ * discarded. Trailing blank lines are trimmed — matches `.join("\n") + "\n"`
64
+ * style so the final byte is always `\n` for a non-empty filtered log.
65
+ *
66
+ * Exported for unit testing; production callers go through
67
+ * `runSandboxAndBuildAttestation` which applies the filter once before both
68
+ * the keccak + the pin.
69
+ */
70
+ export declare function filterSandboxStdout(raw: string): string;
71
+ export declare function verifyEvalBundleContent(buf: Uint8Array, cid: string): EvalBundleVerdict;
72
+ export declare function fetchTrustedVerifierImageDigests(gatewayUrl: string, apiKey: string): Promise<{
73
+ digests: string[];
74
+ configured: boolean;
75
+ } | null>;
76
+ interface SandboxAttestation {
77
+ metricName: string;
78
+ metricValue: number;
79
+ logsHashHex: string;
80
+ stdoutCid: string;
81
+ imageDigest: string;
82
+ wallTimeS: number;
83
+ exitCode: number;
84
+ evalBundleSha256: string;
85
+ }
86
+ export declare function registerVerifyReproductionCommand(program: Command): void;
87
+ export interface SandboxPreflight {
88
+ rosettaAvailable: boolean | null;
89
+ }
90
+ export declare function preflightSandboxEnvironment(): SandboxPreflight;
91
+ export declare function assertNoSymlinkEscapes(destDir: string, kind: "eval" | "artifact", cid: string): Promise<void>;
92
+ export declare function assertEntrypointPresent(destDir: string, entrypoint: string, kind: "eval" | "artifact", cid: string): Promise<void>;
93
+ export {};