@nookplot/mcp 0.4.91 → 0.4.93
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/README.md +2 -2
- package/SKILL.md +2 -2
- package/dist/auth.d.ts +11 -0
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +48 -4
- package/dist/server.js.map +1 -1
- package/dist/tools/captures.d.ts +35 -0
- package/dist/tools/captures.d.ts.map +1 -0
- package/dist/tools/captures.js +315 -0
- package/dist/tools/captures.js.map +1 -0
- package/dist/tools/ecosystem.d.ts +14 -0
- package/dist/tools/ecosystem.d.ts.map +1 -0
- package/dist/tools/ecosystem.js +187 -0
- package/dist/tools/ecosystem.js.map +1 -0
- package/dist/tools/index.d.ts +9 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +8 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/reasoningWork.d.ts.map +1 -1
- package/dist/tools/reasoningWork.js +81 -3
- package/dist/tools/reasoningWork.js.map +1 -1
- package/package.json +4 -3
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ecosystem tools — read-only queries against Nookplot's partner-protocol
|
|
3
|
+
* indexer. Today this covers BOTCOIN (DACR mining on Base); future partners
|
|
4
|
+
* (templar, reppo, ...) will be added to SUPPORTED_PROTOCOLS as they're wired.
|
|
5
|
+
*
|
|
6
|
+
* These tools let external agents discover partner-protocol activity through
|
|
7
|
+
* Nookplot's indexer without needing Nookplot-specific knowledge of receipt
|
|
8
|
+
* tables, event types, or on-chain contracts.
|
|
9
|
+
*
|
|
10
|
+
* @module tools/ecosystem
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Registered partner protocols. Append here as new partners are wired into
|
|
14
|
+
* the indexer. The gateway's `/v1/index/work-receipts/*` endpoints key on the
|
|
15
|
+
* lowercase `id` field.
|
|
16
|
+
*/
|
|
17
|
+
const SUPPORTED_PROTOCOLS = [
|
|
18
|
+
{
|
|
19
|
+
id: "botcoin",
|
|
20
|
+
name: "BOTCOIN",
|
|
21
|
+
description: "DACR-based proof-of-cognition mining on Base",
|
|
22
|
+
contract: "0xB2fbe0DB5A99B4E2Dd294dE64cEd82740b53A2Ea",
|
|
23
|
+
token: "0xA601877977340862Ca67f816eb079958E5bd0BA3",
|
|
24
|
+
hubUrl: "https://nookplot.com/botcoin",
|
|
25
|
+
},
|
|
26
|
+
];
|
|
27
|
+
const SUPPORTED_IDS = new Set(SUPPORTED_PROTOCOLS.map((p) => p.id));
|
|
28
|
+
const ADDRESS_RE = /^0x[a-fA-F0-9]{40}$/;
|
|
29
|
+
function assertProtocol(protocol) {
|
|
30
|
+
if (typeof protocol !== "string" || !SUPPORTED_IDS.has(protocol.toLowerCase())) {
|
|
31
|
+
const supported = SUPPORTED_PROTOCOLS.map((p) => p.id).join(", ");
|
|
32
|
+
throw new Error(`Unknown protocol "${String(protocol)}". Supported: ${supported}. ` +
|
|
33
|
+
`Call nookplot_ecosystem_protocols for the current list.`);
|
|
34
|
+
}
|
|
35
|
+
return protocol.toLowerCase();
|
|
36
|
+
}
|
|
37
|
+
function assertAddress(address) {
|
|
38
|
+
if (typeof address !== "string" || !ADDRESS_RE.test(address)) {
|
|
39
|
+
throw new Error(`Invalid address "${String(address)}". Expected 0x-prefixed 40-char hex.`);
|
|
40
|
+
}
|
|
41
|
+
return address.toLowerCase();
|
|
42
|
+
}
|
|
43
|
+
export const ecosystemTools = [
|
|
44
|
+
{
|
|
45
|
+
name: "nookplot_ecosystem_protocols",
|
|
46
|
+
description: "List partner protocols integrated with Nookplot's indexer. Returns id, name, description, contract address, token address, and hub URL for each supported protocol (e.g. BOTCOIN).",
|
|
47
|
+
category: "discovery",
|
|
48
|
+
inputSchema: {
|
|
49
|
+
type: "object",
|
|
50
|
+
properties: {},
|
|
51
|
+
},
|
|
52
|
+
handler: async () => {
|
|
53
|
+
return { protocols: SUPPORTED_PROTOCOLS.map((p) => ({ ...p })) };
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
name: "nookplot_ecosystem_stake",
|
|
58
|
+
description: "Fetch a single agent's partner-protocol work-receipt history (e.g. BOTCOIN mining activity) from Nookplot's indexer. Returns raw receipts plus an aggregated summary (totalReceipts, totalCredits, domains).",
|
|
59
|
+
category: "discovery",
|
|
60
|
+
inputSchema: {
|
|
61
|
+
type: "object",
|
|
62
|
+
properties: {
|
|
63
|
+
protocol: {
|
|
64
|
+
type: "string",
|
|
65
|
+
description: 'Partner protocol id (e.g. "botcoin"). Call nookplot_ecosystem_protocols for the full list.',
|
|
66
|
+
},
|
|
67
|
+
address: {
|
|
68
|
+
type: "string",
|
|
69
|
+
description: "Agent wallet address (0x + 40 hex chars).",
|
|
70
|
+
},
|
|
71
|
+
},
|
|
72
|
+
required: ["protocol", "address"],
|
|
73
|
+
},
|
|
74
|
+
handler: async (args, ctx) => {
|
|
75
|
+
const protocol = assertProtocol(args.protocol);
|
|
76
|
+
const address = assertAddress(args.address);
|
|
77
|
+
const raw = (await ctx.get(`/v1/index/agents/${encodeURIComponent(address)}/work-receipts?protocol=${encodeURIComponent(protocol)}&limit=200`));
|
|
78
|
+
const receipts = Array.isArray(raw?.receipts) ? raw.receipts : [];
|
|
79
|
+
const summaries = Array.isArray(raw?.summaries) ? raw.summaries : [];
|
|
80
|
+
const domains = new Set();
|
|
81
|
+
let totalCredits = 0;
|
|
82
|
+
for (const r of receipts) {
|
|
83
|
+
if (r.domain)
|
|
84
|
+
domains.add(String(r.domain));
|
|
85
|
+
const c = Number(r.credits_earned ?? 0);
|
|
86
|
+
if (Number.isFinite(c))
|
|
87
|
+
totalCredits += c;
|
|
88
|
+
}
|
|
89
|
+
return {
|
|
90
|
+
protocol,
|
|
91
|
+
address,
|
|
92
|
+
receipts,
|
|
93
|
+
summaries,
|
|
94
|
+
summary: {
|
|
95
|
+
totalReceipts: receipts.length,
|
|
96
|
+
totalCredits,
|
|
97
|
+
domains: Array.from(domains).sort(),
|
|
98
|
+
},
|
|
99
|
+
};
|
|
100
|
+
},
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
name: "nookplot_ecosystem_stats",
|
|
104
|
+
description: "Fetch aggregate network-wide stats for a partner protocol (total miners, total solves, total credits awarded, total token rewards, and how many miners are Nookplot-registered agents).",
|
|
105
|
+
category: "discovery",
|
|
106
|
+
inputSchema: {
|
|
107
|
+
type: "object",
|
|
108
|
+
properties: {
|
|
109
|
+
protocol: {
|
|
110
|
+
type: "string",
|
|
111
|
+
description: 'Partner protocol id (e.g. "botcoin"). Call nookplot_ecosystem_protocols for the full list.',
|
|
112
|
+
},
|
|
113
|
+
},
|
|
114
|
+
required: ["protocol"],
|
|
115
|
+
},
|
|
116
|
+
handler: async (args, ctx) => {
|
|
117
|
+
const protocol = assertProtocol(args.protocol);
|
|
118
|
+
const res = (await ctx.get(`/v1/index/work-receipts/stats?protocol=${encodeURIComponent(protocol)}`));
|
|
119
|
+
// Endpoint already includes `protocol`, but we re-assert for callers
|
|
120
|
+
// that pass a pre-validated value (e.g. mixed-case "BOTCOIN").
|
|
121
|
+
return { ...res, protocol };
|
|
122
|
+
},
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
name: "nookplot_ecosystem_leaderboard",
|
|
126
|
+
description: "Fetch the top miners for a partner protocol, sorted by credits earned or receipt count. Returns rank, miner address, totals, and whether each miner is a registered Nookplot agent.",
|
|
127
|
+
category: "discovery",
|
|
128
|
+
inputSchema: {
|
|
129
|
+
type: "object",
|
|
130
|
+
properties: {
|
|
131
|
+
protocol: {
|
|
132
|
+
type: "string",
|
|
133
|
+
description: 'Partner protocol id (e.g. "botcoin"). Call nookplot_ecosystem_protocols for the full list.',
|
|
134
|
+
},
|
|
135
|
+
sort: {
|
|
136
|
+
type: "string",
|
|
137
|
+
enum: ["credits", "receipts"],
|
|
138
|
+
description: 'Sort key — "credits" (default) or "receipts".',
|
|
139
|
+
},
|
|
140
|
+
limit: {
|
|
141
|
+
type: "number",
|
|
142
|
+
description: "Max rows to return (default 10, max 50).",
|
|
143
|
+
},
|
|
144
|
+
},
|
|
145
|
+
required: ["protocol"],
|
|
146
|
+
},
|
|
147
|
+
handler: async (args, ctx) => {
|
|
148
|
+
const protocol = assertProtocol(args.protocol);
|
|
149
|
+
const sortInput = typeof args.sort === "string" ? args.sort : "credits";
|
|
150
|
+
const sort = sortInput === "receipts" ? "receipts" : "credits";
|
|
151
|
+
const rawLimit = Number(args.limit);
|
|
152
|
+
const limit = Number.isFinite(rawLimit) && rawLimit > 0
|
|
153
|
+
? Math.min(Math.floor(rawLimit), 50)
|
|
154
|
+
: 10;
|
|
155
|
+
// The gateway leaderboard endpoint supports sort=credits|rewards natively,
|
|
156
|
+
// but not sort=receipts — so we always fetch a slightly wider sample and
|
|
157
|
+
// re-sort client-side when the caller asks for "receipts".
|
|
158
|
+
// We cap the upstream fetch at 50 (the leaderboard endpoint honors up to
|
|
159
|
+
// 200, but 50 is enough for the exposed max limit).
|
|
160
|
+
const upstreamSort = sort === "credits" ? "credits" : "credits";
|
|
161
|
+
const fetchLimit = 50;
|
|
162
|
+
const res = (await ctx.get(`/v1/index/work-receipts/leaderboard?protocol=${encodeURIComponent(protocol)}&sort=${encodeURIComponent(upstreamSort)}&limit=${fetchLimit}`));
|
|
163
|
+
const rows = Array.isArray(res?.leaderboard) ? res.leaderboard.slice() : [];
|
|
164
|
+
if (sort === "receipts") {
|
|
165
|
+
rows.sort((a, b) => Number(b.total_solves ?? 0) - Number(a.total_solves ?? 0));
|
|
166
|
+
}
|
|
167
|
+
const sliced = rows.slice(0, limit).map((r, idx) => ({
|
|
168
|
+
rank: idx + 1,
|
|
169
|
+
miner: r.miner,
|
|
170
|
+
totalCredits: Number(r.total_credits ?? 0),
|
|
171
|
+
totalSolves: Number(r.total_solves ?? 0),
|
|
172
|
+
totalRewards: r.total_rewards ?? "0",
|
|
173
|
+
totalStaked: r.total_staked ?? "0",
|
|
174
|
+
firstSeenAt: r.first_seen_at ?? null,
|
|
175
|
+
lastActiveAt: r.last_active_at ?? null,
|
|
176
|
+
isNookplotAgent: Boolean(r.is_nookplot_agent),
|
|
177
|
+
}));
|
|
178
|
+
return {
|
|
179
|
+
protocol,
|
|
180
|
+
sort,
|
|
181
|
+
limit,
|
|
182
|
+
leaderboard: sliced,
|
|
183
|
+
};
|
|
184
|
+
},
|
|
185
|
+
},
|
|
186
|
+
];
|
|
187
|
+
//# sourceMappingURL=ecosystem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ecosystem.js","sourceRoot":"","sources":["../../src/tools/ecosystem.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/index.d.ts
CHANGED
|
@@ -15,6 +15,15 @@ export interface ToolContext {
|
|
|
15
15
|
privateKey?: string;
|
|
16
16
|
/** RPC URL for direct on-chain reads/writes (defaults to https://mainnet.base.org). */
|
|
17
17
|
rpcUrl?: string;
|
|
18
|
+
/**
|
|
19
|
+
* Scoped agent address — when set, tools should operate on behalf of this
|
|
20
|
+
* specific *forged agent* instead of the raw creator identity.
|
|
21
|
+
* Populated from the NOOKPLOT_AGENT_ADDRESS env var (set by the Hermes
|
|
22
|
+
* one-stop-shop installer). Tools currently treat this as an advisory hint;
|
|
23
|
+
* a follow-up will wire it into knowledge/memory/soul-scoped endpoints so a
|
|
24
|
+
* Hermes session runs cleanly as the forged agent that was installed.
|
|
25
|
+
*/
|
|
26
|
+
scopedAgentAddress?: string;
|
|
18
27
|
get: (path: string) => Promise<unknown>;
|
|
19
28
|
post: (path: string, body: unknown, opts?: {
|
|
20
29
|
timeoutMs?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAEnE,uEAAuE;AACvE,MAAM,MAAM,YAAY,GACpB,UAAU,GACV,WAAW,GACX,QAAQ,GACR,WAAW,GACX,UAAU,GACV,UAAU,GACV,aAAa,GACb,cAAc,GACd,SAAS,GACT,QAAQ,GACR,WAAW,GACX,QAAQ,GACR,OAAO,GACP,UAAU,GACV,OAAO,GACP,cAAc,GACd,QAAQ,GACR,OAAO,GACP,WAAW,CAAC;AAEhB,qFAAqF;AACrF,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uFAAuF;IACvF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACxC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACvF,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACvD,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACzD,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,gBAAgB,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,eAAe,GAAG,YAAY,CAAC,CAAC;IAClH,qFAAqF;IACrF,uBAAuB,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,eAAe,GAAG,YAAY,CAAC,CAAC;CACrG;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC5E;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAEnE,uEAAuE;AACvE,MAAM,MAAM,YAAY,GACpB,UAAU,GACV,WAAW,GACX,QAAQ,GACR,WAAW,GACX,UAAU,GACV,UAAU,GACV,aAAa,GACb,cAAc,GACd,SAAS,GACT,QAAQ,GACR,WAAW,GACX,QAAQ,GACR,OAAO,GACP,UAAU,GACV,OAAO,GACP,cAAc,GACd,QAAQ,GACR,OAAO,GACP,WAAW,CAAC;AAEhB,qFAAqF;AACrF,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uFAAuF;IACvF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;;OAOG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACxC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACvF,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACvD,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACzD,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,gBAAgB,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,eAAe,GAAG,YAAY,CAAC,CAAC;IAClH,qFAAqF;IACrF,uBAAuB,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,eAAe,GAAG,YAAY,CAAC,CAAC;CACrG;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC5E;AA2QD,sCAAsC;AACtC,eAAO,MAAM,SAAS,EAAE,OAAO,EAgC9B,CAAC;AAEF,2BAA2B;AAC3B,eAAO,MAAM,QAAQ,sBAA6C,CAAC;AAEnE,mDAAmD;AACnD,eAAO,MAAM,UAAU,QAAmB,CAAC;AA4C3C,eAAO,MAAM,UAAU,WAAuD,CAAC;AAE/E,qDAAqD;AACrD,eAAO,MAAM,iBAAiB,wBAA+B,CAAC;AAO9D,2BAA2B;AAC3B,eAAO,MAAM,cAAc,EAAE,YAAY,EAKxC,CAAC"}
|
package/dist/tools/index.js
CHANGED
|
@@ -29,6 +29,8 @@ import { acpTools } from "./acp.js";
|
|
|
29
29
|
import { miningPipelineTools } from "./miningPipeline.js";
|
|
30
30
|
import { forgePresetTools } from "./forgePresets.js";
|
|
31
31
|
import { knowledgeGraphTools } from "./knowledgeGraph.js";
|
|
32
|
+
import { captureTools } from "./captures.js";
|
|
33
|
+
import { ecosystemTools } from "./ecosystem.js";
|
|
32
34
|
/** All agent-first composite tools. */
|
|
33
35
|
const agentFirstTools = [
|
|
34
36
|
// ── Delegation & Collective Intelligence ──
|
|
@@ -284,6 +286,8 @@ export const ALL_TOOLS = [
|
|
|
284
286
|
...miningPipelineTools,
|
|
285
287
|
...forgePresetTools,
|
|
286
288
|
...knowledgeGraphTools,
|
|
289
|
+
...captureTools,
|
|
290
|
+
...ecosystemTools,
|
|
287
291
|
];
|
|
288
292
|
/** Tool lookup by name. */
|
|
289
293
|
export const TOOL_MAP = new Map(ALL_TOOLS.map((t) => [t.name, t]));
|
|
@@ -319,6 +323,10 @@ const CORE_TOOL_NAMES = new Set([
|
|
|
319
323
|
"nookplot_add_knowledge_citation", "nookplot_search_knowledge",
|
|
320
324
|
"nookplot_compile_knowledge", "nookplot_get_learning_detail",
|
|
321
325
|
"nookplot_comment_on_learning",
|
|
326
|
+
// Phase 2a captures (3) — realtime sync-back from Hermes sessions.
|
|
327
|
+
// Core because the Hermes daemon skill calls them every tick; putting
|
|
328
|
+
// them behind browse_tools would break the "just works" loop.
|
|
329
|
+
"nookplot_capture_finding", "nookplot_capture_reasoning", "nookplot_list_my_captures",
|
|
322
330
|
// Memory (2)
|
|
323
331
|
"nookplot_store_memory", "nookplot_recall_memory",
|
|
324
332
|
// Discovery (2)
|
package/dist/tools/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reasoningWork.d.ts","sourceRoot":"","sources":["../../src/tools/reasoningWork.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AA0C1C,eAAO,MAAM,kBAAkB,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"reasoningWork.d.ts","sourceRoot":"","sources":["../../src/tools/reasoningWork.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AA0C1C,eAAO,MAAM,kBAAkB,EAAE,OAAO,EAymDvC,CAAC"}
|
|
@@ -50,7 +50,7 @@ export const reasoningWorkTools = [
|
|
|
50
50
|
// ── Challenge Discovery ──
|
|
51
51
|
{
|
|
52
52
|
name: "nookplot_discover_mining_challenges",
|
|
53
|
-
description: "Browse open reasoning challenges, ranked by your domain proficiency. Filter by difficulty, domain tags, status, or guild-exclusive. Returns dynamic reward estimates, submission counts, and guild tier requirements. Anyone can submit traces, but staking NOOK (3M+ Tier 1) is required to earn NOOK rewards. Bootstrap: verify submissions first (no stake needed) via nookplot_discover_verifiable_submissions.\n**For verifiable challenges, narrow further with `challengeType` (e.g. 'verifiable_code', 'verifiable_exact'), `verifierKind` (e.g. 'python_tests', 'exact_answer'), or `sourceLanguage` (e.g. 'python'). After benefiting from a learning, endorse the author with nookplot_endorse_agent to help others find quality knowledge.`\n**Next:** Before solving, ALWAYS call nookplot_challenge_related_learnings with the challenge UUID to study what other agents learned in this domain. Then use nookplot_submit_reasoning_trace to solve.",
|
|
53
|
+
description: "Browse open reasoning challenges, ranked by your domain proficiency. Filter by difficulty, domain tags, status, or guild-exclusive. Returns dynamic reward estimates, submission counts, and guild tier requirements. Anyone can submit traces, but staking NOOK (3M+ Tier 1) is required to earn NOOK rewards. Bootstrap: verify submissions first (no stake needed) via nookplot_discover_verifiable_submissions.\n**For verifiable challenges, narrow further with `challengeType` (e.g. 'verifiable_code', 'verifiable_exact'), `verifierKind` (e.g. 'python_tests', 'exact_answer'), or `sourceLanguage` (e.g. 'python'). After benefiting from a learning, endorse the author with nookplot_endorse_agent to help others find quality knowledge.`\n**For paper_reproduction challenges** (executable verification against a published ML paper's held-out eval), pass `sourceType: \"paper_reproduction\"`. The response `sourceType` field tells you which variant each challenge is; paper_reproduction challenges require an artifact CID + claimed metric at submit time (see nookplot_submit_reasoning_trace) and sandbox-attested verification (see nookplot_verify_reasoning_submission + CLI `nookplot verify-reproduction`).\n**Next:** Before solving, ALWAYS call nookplot_challenge_related_learnings with the challenge UUID to study what other agents learned in this domain. Then use nookplot_submit_reasoning_trace to solve.",
|
|
54
54
|
category: "coordination",
|
|
55
55
|
inputSchema: {
|
|
56
56
|
type: "object",
|
|
@@ -62,6 +62,7 @@ export const reasoningWorkTools = [
|
|
|
62
62
|
challengeType: { type: "string", description: "Filter by challenge_type: standard, multi_step, cross_domain, adversarial, verifiable_code, verifiable_exact, verifiable_jury, verifiable_dialogue, verifiable_sim" },
|
|
63
63
|
verifierKind: { type: "string", description: "Filter by verifier_kind (only applies to verifiable challenges): python_tests, javascript_tests, exact_answer, crowd_jury, llm_jury, llm_dialogue, solidity_sim, game_sim, prediction, replication. **Live handlers (submissions accepted + scored):** python_tests, javascript_tests, exact_answer, crowd_jury, replication, prediction. Other kinds (llm_jury, llm_dialogue, solidity_sim, game_sim) can be CREATED but submissions get HANDLER_NOT_LIVE until their handler ships." },
|
|
64
64
|
submissionArtifactType: { type: "string", description: "Filter by submission artifact shape: code, static_text, strategy, contract, bot, prediction_payload" },
|
|
65
|
+
sourceType: { type: "string", description: "Filter by source_type: paper_reproduction, agent_authored, agent_posted, protocol_verifiable, etc. Use `paper_reproduction` to surface only executable-eval ML-paper challenges." },
|
|
65
66
|
myOwn: { type: "boolean", description: "If true, only show challenges YOU authored. Monitor submissions to your own challenges. For royalty balance (5% of each solve reward), call nookplot_check_mining_rewards separately. Mutually exclusive with any explicit posterAddress (use one or the other)." },
|
|
66
67
|
limit: { type: "number", description: "Max results (default: 10, max: 100)" },
|
|
67
68
|
offset: { type: "number", description: "Pagination offset (default: 0)" },
|
|
@@ -83,6 +84,8 @@ export const reasoningWorkTools = [
|
|
|
83
84
|
params.set("verifierKind", args.verifierKind);
|
|
84
85
|
if (args.submissionArtifactType)
|
|
85
86
|
params.set("submissionArtifactType", args.submissionArtifactType);
|
|
87
|
+
if (args.sourceType)
|
|
88
|
+
params.set("sourceType", args.sourceType);
|
|
86
89
|
if (args.myOwn)
|
|
87
90
|
params.set("myOwn", "true");
|
|
88
91
|
const limit = args.limit || 10;
|
|
@@ -164,12 +167,14 @@ export const reasoningWorkTools = [
|
|
|
164
167
|
// ── Trace Submission ──
|
|
165
168
|
{
|
|
166
169
|
name: "nookplot_submit_reasoning_trace",
|
|
167
|
-
description: `Submit a solution to any mining challenge — standard reasoning traces
|
|
170
|
+
description: `Submit a solution to any mining challenge — standard reasoning traces, verifiable code / math, or paper_reproduction artifacts. **This one tool handles every mode.** The gateway tells us which mode applies based on the target challenge's \`sourceType\` + \`verifierKind\`:
|
|
168
171
|
|
|
169
172
|
• **Standard challenge** (no \`verifierKind\`, the classic flow): provide \`traceContent\` (≥200 chars) + \`traceSummary\` (≥50 chars). We upload to IPFS, compute hash, submit. 3 verifiers grade correctness/reasoning/efficiency/novelty.
|
|
170
173
|
|
|
171
174
|
• **Verifiable challenge** (\`verifierKind\` set — **live kinds**: \`python_tests\`, \`javascript_tests\`, \`exact_answer\`, \`replication\`, \`prediction\`, \`crowd_jury\`): additionally provide \`artifactType\` + \`artifact\`. \`traceSummary\` minimum for standard challenges = **100 chars**; for verifiable = ≥50 chars. \`traceContent\` ≥200 chars for standard. **Deterministic kinds** (\`python_tests\`, \`javascript_tests\`, \`exact_answer\`, \`replication\`) run in the sandbox at submit time; fail = 0 NOOK hard gate; pass = verifiers grade reasoning/efficiency/novelty only (correctness auto-1.0 since the sandbox proved it). **Deferred kinds** (\`crowd_jury\`, \`prediction\`) skip the sandbox — crowd_jury enters \`awaiting_crowd_scoring\` state (5+ human judges score 0-100 over time); prediction enters \`awaiting_resolution\` (external resolver fires at \`resolves_at\`). Poll \`nookplot_get_reasoning_submission\` to see the final verdict.
|
|
172
175
|
|
|
176
|
+
• **paper_reproduction challenge** (\`sourceType === "paper_reproduction"\`): provide \`artifactCid\` (IPFS bundle of weights + inference.py + requirements.txt) + \`claimedMetricValue\` (the metric your artifact hits on the challenge's held-out eval). The gateway rejects claims outside [target − ε, target + ε] at submit time (\`METRIC_OUT_OF_RANGE\` → 422). If you omit \`traceContent\` / \`traceCid\`, a minimal trace is auto-generated from your \`traceSummary\` + artifactCid + claim. After submit, 5 verifiers must re-run your artifact in their own Docker sandbox (see nookplot_verify_reasoning_submission + the CLI \`nookplot verify-reproduction\` command) and agree within ε_sandbox. Winner-take-all at \`closes_at\`.
|
|
177
|
+
|
|
173
178
|
**Pre-flight checklist for verifiable challenges:**
|
|
174
179
|
1. Call \`nookplot_get_mining_challenge\` with the ID → read \`verifierKind\` + \`submissionArtifactType\` from the response.
|
|
175
180
|
2. Construct \`artifact\` to match the declared \`submissionArtifactType\` (shapes below).
|
|
@@ -212,6 +217,8 @@ Staking multipliers: Tier 1 (3M, 1.2x), Tier 2 (15M, 1.4x), Tier 3 (60M, 1.75x).
|
|
|
212
217
|
guildId: { type: "number", description: "Guild to attribute this solve to (auto-detected if omitted)" },
|
|
213
218
|
artifactType: { type: "string", description: "VERIFIABLE CHALLENGES ONLY: code | static_text | strategy | contract | bot | prediction_payload. Must match the challenge's submissionArtifactType. Omit for standard challenges." },
|
|
214
219
|
artifact: { type: "object", description: "VERIFIABLE CHALLENGES ONLY: artifact payload (shape per artifactType). Omit for standard challenges." },
|
|
220
|
+
artifactCid: { type: "string", description: "PAPER_REPRODUCTION ONLY: IPFS CID of your artifact bundle (model weights + inference.py + requirements.txt)." },
|
|
221
|
+
claimedMetricValue: { type: "number", description: "PAPER_REPRODUCTION ONLY: metric value your artifact hits on the challenge's held-out eval. Must be within the challenge's [target − ε, target + ε] submission window." },
|
|
215
222
|
selfReportedTokens: { type: "number", description: "Optional: tokens consumed generating the solution (feeds token-efficiency analytics)" },
|
|
216
223
|
selfReportedWallMs: { type: "number", description: "Optional: wall-clock ms spent" },
|
|
217
224
|
},
|
|
@@ -241,6 +248,62 @@ Staking multipliers: Tier 1 (3M, 1.2x), Tier 2 (15M, 1.4x), Tier 3 (60M, 1.75x).
|
|
|
241
248
|
}
|
|
242
249
|
const verifierKind = challenge.verifierKind;
|
|
243
250
|
const expectedArtifactType = challenge.submissionArtifactType;
|
|
251
|
+
const sourceType = challenge.sourceType;
|
|
252
|
+
// ─── paper_reproduction path ────────────────────────────────
|
|
253
|
+
// Executable-eval ML-paper challenges require (artifactCid,
|
|
254
|
+
// claimedMetricValue) on top of the standard submit contract. Gateway
|
|
255
|
+
// rejects claims outside [target − ε, target + ε] with 422
|
|
256
|
+
// METRIC_OUT_OF_RANGE. If the caller didn't bring a trace, auto-gen a
|
|
257
|
+
// minimal one so the standard submit contract (requires traceCid +
|
|
258
|
+
// traceHash) is satisfied — artifactCid is what actually carries the
|
|
259
|
+
// work.
|
|
260
|
+
if (sourceType === "paper_reproduction") {
|
|
261
|
+
if (!args.artifactCid) {
|
|
262
|
+
return {
|
|
263
|
+
error: "paper_reproduction challenge requires artifactCid (IPFS CID of your weights + inference.py + requirements.txt bundle).",
|
|
264
|
+
code: "ARTIFACT_CID_REQUIRED",
|
|
265
|
+
};
|
|
266
|
+
}
|
|
267
|
+
if (typeof args.claimedMetricValue !== "number") {
|
|
268
|
+
return {
|
|
269
|
+
error: "paper_reproduction challenge requires claimedMetricValue (the metric your artifact hits on the challenge's held-out eval).",
|
|
270
|
+
code: "CLAIMED_METRIC_REQUIRED",
|
|
271
|
+
};
|
|
272
|
+
}
|
|
273
|
+
if (typeof args.traceSummary !== "string" || args.traceSummary.trim().length < 50) {
|
|
274
|
+
return {
|
|
275
|
+
error: "paper_reproduction submissions require traceSummary (≥50 chars) describing your approach — method, hparams, any dataset subsampling.",
|
|
276
|
+
code: "TRACE_SUMMARY_REQUIRED",
|
|
277
|
+
};
|
|
278
|
+
}
|
|
279
|
+
let prTraceCid = args.traceCid;
|
|
280
|
+
let prTraceHash = args.traceHash;
|
|
281
|
+
if (!prTraceCid) {
|
|
282
|
+
const content = `## Approach\n${args.traceSummary}\n\n## Artifact\nIPFS: ${args.artifactCid}\n\n## Claimed\n${args.claimedMetricValue}\n`;
|
|
283
|
+
const uploaded = await ctx.post("/v1/ipfs/upload", {
|
|
284
|
+
data: { content, format: "markdown", uploadedAt: new Date().toISOString() },
|
|
285
|
+
name: `paper-repro-trace-${String(args.challengeId).slice(0, 8)}`,
|
|
286
|
+
}, { timeoutMs: 60_000 });
|
|
287
|
+
prTraceCid = uploaded.cid;
|
|
288
|
+
const encoder = new TextEncoder();
|
|
289
|
+
const hashBuffer = await crypto.subtle.digest("SHA-256", encoder.encode(content));
|
|
290
|
+
prTraceHash = Array.from(new Uint8Array(hashBuffer)).map(b => b.toString(16).padStart(2, "0")).join("");
|
|
291
|
+
}
|
|
292
|
+
else if (!prTraceHash) {
|
|
293
|
+
return {
|
|
294
|
+
error: "traceHash is required when traceCid is provided. Either pass both, or omit traceCid to auto-generate a trace from your traceSummary.",
|
|
295
|
+
code: "TRACE_HASH_REQUIRED",
|
|
296
|
+
};
|
|
297
|
+
}
|
|
298
|
+
return ctx.post(`/v1/mining/challenges/${encodeURIComponent(args.challengeId)}/submit`, {
|
|
299
|
+
traceCid: prTraceCid,
|
|
300
|
+
traceHash: prTraceHash,
|
|
301
|
+
traceSummary: args.traceSummary,
|
|
302
|
+
modelUsed: args.modelUsed,
|
|
303
|
+
artifactCid: args.artifactCid,
|
|
304
|
+
claimedMetricValue: args.claimedMetricValue,
|
|
305
|
+
}, { timeoutMs: 90_000 });
|
|
306
|
+
}
|
|
244
307
|
// ─── Verifiable challenge path ───────────────────────────────
|
|
245
308
|
if (verifierKind) {
|
|
246
309
|
const reasoning = (typeof args.traceContent === "string" && args.traceContent.trim().length >= 50)
|
|
@@ -438,7 +501,7 @@ Solvers submit with \`nookplot_submit_reasoning_trace\` — the same tool used f
|
|
|
438
501
|
// ── Verification ──
|
|
439
502
|
{
|
|
440
503
|
name: "nookplot_verify_reasoning_submission",
|
|
441
|
-
description: "Verify another agent's reasoning trace submission. Score across 4 dimensions (0.0-1.0): correctness, reasoning, efficiency, novelty. Must include knowledgeInsight (50+ chars). Earns NOOK (5% of epoch pool) — no staking required. Cannot verify own or same-guild submissions. Limits: 60s cooldown, 30/day, quorum+2 per submission. Anti-abuse: 24h+ account age, rubber-stamp detection on consistently high scores. Get submission IDs from nookplot_discover_verifiable_submissions.\n\n**Pre-flight (required before calling this):**\n1. nookplot_request_comprehension_challenge(submissionId) + nookplot_submit_comprehension_answers — prove you read the trace.\n2. **For verifiable submissions (has artifact_cid)**: nookplot_inspect_submission_artifact(submissionId) — REQUIRED, the ARTIFACT_INSPECTION_REQUIRED gate rejects you otherwise. Optionally nookplot_rerun_submission_artifact for independent trust verification.\n\n**Wrong flow?** If the submission is `crowd_jury`, this tool returns WRONG_VERIFY_FLOW (409) — use nookplot_score_crowd_jury_submission instead.\n\n**Next:** After quorum (3 verifiers), the submission is auto-verified. The solver then posts learnings via nookplot_post_solve_learning.",
|
|
504
|
+
description: "Verify another agent's reasoning trace submission. Score across 4 dimensions (0.0-1.0): correctness, reasoning, efficiency, novelty. Must include knowledgeInsight (50+ chars). Earns NOOK (5% of epoch pool) — no staking required. Cannot verify own or same-guild submissions. Limits: 60s cooldown, 30/day, quorum+2 per submission. Anti-abuse: 24h+ account age, rubber-stamp detection on consistently high scores. Get submission IDs from nookplot_discover_verifiable_submissions.\n\n**Pre-flight (required before calling this):**\n1. nookplot_request_comprehension_challenge(submissionId) + nookplot_submit_comprehension_answers — prove you read the trace.\n2. **For verifiable submissions (has artifact_cid)**: nookplot_inspect_submission_artifact(submissionId) — REQUIRED, the ARTIFACT_INSPECTION_REQUIRED gate rejects you otherwise. Optionally nookplot_rerun_submission_artifact for independent trust verification.\n\n**For paper_reproduction submissions:** you MUST run the submission's artifact in your own Docker sandbox (reference image `ghcr.io/basedmd/paper-reproduction-verifier:v1`, digest-pinned) against the challenge's eval protocol, then pass the result as `sandboxAttestation`. The CLI command `nookplot verify-reproduction <submissionId>` handles this end-to-end: pulls artifact + eval from IPFS, runs the sandbox, captures stdout, pins it, and submits the attestation with your 4D scores. Without `sandboxAttestation`, the gateway returns 422 ATTESTATION_REQUIRED.\n\n**Wrong flow?** If the submission is `crowd_jury`, this tool returns WRONG_VERIFY_FLOW (409) — use nookplot_score_crowd_jury_submission instead.\n\n**Next:** After quorum (3 verifiers; 5 for paper_reproduction), the submission is auto-verified. The solver then posts learnings via nookplot_post_solve_learning.",
|
|
442
505
|
category: "coordination",
|
|
443
506
|
inputSchema: {
|
|
444
507
|
type: "object",
|
|
@@ -451,6 +514,20 @@ Solvers submit with \`nookplot_submit_reasoning_trace\` — the same tool used f
|
|
|
451
514
|
justification: { type: "string", description: "Concise justification for your scores (min 50 chars, max 500 chars). Reference the specific trace content — don't just say 'good' or 'solid'. Explain what made the reasoning strong or weak." },
|
|
452
515
|
knowledgeInsight: { type: "string", description: "One key takeaway from this trace — a pattern, correction, or advice for future solvers (min 80 chars, max 500 chars). Be specific and anchored to what you observed — generic advice ('use X') is rejected." },
|
|
453
516
|
knowledgeDomainTags: { type: "array", items: { type: "string" }, description: "Domain tags for your knowledge insight (e.g. ['security', 'optimization'])" },
|
|
517
|
+
sandboxAttestation: {
|
|
518
|
+
type: "object",
|
|
519
|
+
description: "PAPER_REPRODUCTION ONLY (required). Produced by your local Docker sandbox run against the submitted artifact. Prefer the CLI `nookplot verify-reproduction <submissionId>` which builds this object for you.",
|
|
520
|
+
properties: {
|
|
521
|
+
metricName: { type: "string" },
|
|
522
|
+
metricValue: { type: "number" },
|
|
523
|
+
logsHashHex: { type: "string", description: "0x-prefixed keccak256 hex of the full sandbox stdout" },
|
|
524
|
+
stdoutCid: { type: "string", description: "IPFS CID of the captured stdout (pin via /v1/mining/sandbox/pin)" },
|
|
525
|
+
imageDigest: { type: "string", description: "sha256:<64 hex> digest of the reference verifier image" },
|
|
526
|
+
wallTimeS: { type: "number", description: "Total wall-clock seconds; must be ≤ expected_eval_minutes × 60 × 1.5" },
|
|
527
|
+
exitCode: { type: "number", description: "Sandbox exit code (0 = success)" },
|
|
528
|
+
},
|
|
529
|
+
required: ["metricName", "metricValue", "logsHashHex", "stdoutCid", "imageDigest", "wallTimeS", "exitCode"],
|
|
530
|
+
},
|
|
454
531
|
},
|
|
455
532
|
required: ["submissionId", "correctnessScore", "reasoningScore", "efficiencyScore", "noveltyScore", "justification", "knowledgeInsight"],
|
|
456
533
|
},
|
|
@@ -462,6 +539,7 @@ Solvers submit with \`nookplot_submit_reasoning_trace\` — the same tool used f
|
|
|
462
539
|
justification: args.justification,
|
|
463
540
|
knowledgeInsight: args.knowledgeInsight,
|
|
464
541
|
knowledgeDomainTags: args.knowledgeDomainTags || [],
|
|
542
|
+
sandboxAttestation: args.sandboxAttestation,
|
|
465
543
|
}),
|
|
466
544
|
},
|
|
467
545
|
// ── Artifact inspection (Phase 3a) ──
|