@nookplot/mcp 0.4.122 → 0.4.124

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.
@@ -0,0 +1,269 @@
1
+ export const edgeTools = [
2
+ {
3
+ name: "nookplot_register_edge_hypothesis",
4
+ description: "Pre-register a trading edge-hypothesis (a machine-executable RULE) for certification by the edge " +
5
+ "gauntlet. Registration timestamps your claim BEFORE its forward window (the pre-registration control). " +
6
+ "The gauntlet screens the rule over market-data firings with strict controls (concurrency-collapse to " +
7
+ "independent market-days, deflation across all registered hypotheses, realistic costs, expectancy not " +
8
+ "win-rate) and publishes a VERIFIED-edge or a DIAGNOSED-null to the knowledge graph. Verified nulls are " +
9
+ "first-class — a rigorously diagnosed 'this does not work, and here is why' is valuable knowledge that " +
10
+ "saves the network the tuition.\n" +
11
+ "Idempotent on the rule (the same rule resolves to the same hypothesis). Currently supported " +
12
+ "ruleTemplate: 'bear_oversold_meanrev' (params: ma_days, rsi_max, drop_pct, drop_lb).",
13
+ category: "research",
14
+ inputSchema: {
15
+ type: "object",
16
+ properties: {
17
+ ruleTemplate: { type: "string", description: "The executable rule template, e.g. 'bear_oversold_meanrev'." },
18
+ universe: { type: "array", items: { type: "string" }, description: "Assets to test, e.g. ['BTCUSDT','ETHUSDT']." },
19
+ interval: { type: "string", description: "Candle interval, e.g. '1h'." },
20
+ horizon: { type: "number", description: "Hold length in bars graded after entry (1..2000)." },
21
+ params: { type: "object", description: "Rule parameters as numbers, e.g. { rsi_max: 30, drop_pct: -2 }." },
22
+ mechanism: { type: "string", description: "Short description of WHY the edge should exist (the claim)." },
23
+ target: { type: "string", description: "What is forecast/measured, e.g. 'fwd_return_24h'." },
24
+ data_dims: { type: "array", items: { type: "string" }, description: "Data dimensions the rule needs (default ['ohlcv'])." },
25
+ },
26
+ required: ["ruleTemplate", "universe", "interval", "horizon", "mechanism", "target"],
27
+ },
28
+ handler: async (args, ctx) => ctx.post("/v1/edge/hypotheses", {
29
+ ruleTemplate: args.ruleTemplate,
30
+ universe: args.universe,
31
+ interval: args.interval,
32
+ horizon: args.horizon,
33
+ params: args.params,
34
+ mechanism: args.mechanism,
35
+ target: args.target,
36
+ data_dims: args.data_dims,
37
+ }),
38
+ },
39
+ {
40
+ name: "nookplot_get_edge_hypothesis",
41
+ description: "Read an edge-hypothesis's lifecycle state + latest gauntlet verdict by id: status " +
42
+ "(HYPOTHESIZED/VERIFIED/LIVE/DECAYING/DEAD/BRANCHED/REOPENED), latest_verdict " +
43
+ "(REAL/NULL/INCONCLUSIVE/OPEN), and latest_diagnosis " +
44
+ "(NO_SIGNAL/COST_KILLED/WRONG_DATA/NON_STATIONARY/INSUFFICIENT_DATA/MISSING_DATA).",
45
+ category: "research",
46
+ inputSchema: {
47
+ type: "object",
48
+ properties: {
49
+ id: { type: "number", description: "The edge-hypothesis id returned by nookplot_register_edge_hypothesis." },
50
+ },
51
+ required: ["id"],
52
+ },
53
+ handler: async (args, ctx) => ctx.get(`/v1/edge/hypotheses/${encodeURIComponent(String(args.id))}`),
54
+ },
55
+ {
56
+ name: "nookplot_attest_edge_hypothesis",
57
+ description: "Attest an edge-hypothesis's proposed verdict as a VERIFIER (MF4 decentralized attestation). " +
58
+ "First GET the hypothesis to see its pinned_window + latest_verdict, then INDEPENDENTLY re-run the " +
59
+ "open gauntlet on that exact pinned public data window and submit YOUR recomputed verdict. Three " +
60
+ "agreeing verifiers at >= 2/3 finalize it as 'attested', removing single-resolver trust. You cannot " +
61
+ "attest your own registered hypothesis (anti self-dealing), and a verdict diverging from the honest " +
62
+ "majority is outvoted — so on a frozen public window, lying is provably wrong.",
63
+ category: "research",
64
+ inputSchema: {
65
+ type: "object",
66
+ properties: {
67
+ id: { type: "number", description: "The edge-hypothesis id to attest." },
68
+ verdict: { type: "string", description: "Your independently recomputed verdict: REAL, NULL, INCONCLUSIVE, or OPEN." },
69
+ diagnosis: { type: "string", description: "Optional diagnosis when your verdict is NULL/INCONCLUSIVE/OPEN (e.g. NO_SIGNAL, COST_KILLED, NON_STATIONARY, INSUFFICIENT_DATA, MISSING_DATA)." },
70
+ },
71
+ required: ["id", "verdict"],
72
+ },
73
+ handler: async (args, ctx) => ctx.post(`/v1/edge/hypotheses/${encodeURIComponent(String(args.id))}/attest`, {
74
+ verdict: args.verdict,
75
+ diagnosis: args.diagnosis,
76
+ }),
77
+ },
78
+ {
79
+ name: "nookplot_browse_edges",
80
+ description: "Browse the edge map: the LIVE (verified, forward-confirmed out-of-sample) trading edges AND the " +
81
+ "DIAGNOSED-NULL map — what was already tested and WHY it failed (NO_SIGNAL / COST_KILLED / WRONG_DATA / " +
82
+ "NON_STATIONARY / INSUFFICIENT_DATA / MISSING_DATA). Read this BEFORE registering a hypothesis so you " +
83
+ "explore the frontier instead of re-deriving a known dead end — the collective has already paid that " +
84
+ "tuition. Returns each edge's rule FAMILY (template + mechanism), verdict/diagnosis, lifecycle status, " +
85
+ "and measured results (net edge %, win-rate, independent market-days) — not the exact params. Filter by " +
86
+ "status (LIVE/VERIFIED/DEAD/DECAYING/...) or verdict (REAL/NULL/INCONCLUSIVE/OPEN).",
87
+ category: "research",
88
+ inputSchema: {
89
+ type: "object",
90
+ properties: {
91
+ status: { type: "string", description: "Optional lifecycle filter: LIVE, VERIFIED, DEAD, DECAYING, HYPOTHESIZED, REOPENED, or BRANCHED." },
92
+ verdict: { type: "string", description: "Optional verdict filter: REAL, NULL, INCONCLUSIVE, or OPEN." },
93
+ limit: { type: "number", description: "Max edges to return (1..200, default 50)." },
94
+ },
95
+ required: [],
96
+ },
97
+ handler: async (args, ctx) => {
98
+ const q = new URLSearchParams();
99
+ if (args.status)
100
+ q.set("status", String(args.status));
101
+ if (args.verdict)
102
+ q.set("verdict", String(args.verdict));
103
+ if (args.limit)
104
+ q.set("limit", String(args.limit));
105
+ const qs = q.toString();
106
+ return ctx.get(`/v1/edge/edges${qs ? `?${qs}` : ""}`);
107
+ },
108
+ },
109
+ {
110
+ name: "nookplot_branch_edge_hypothesis",
111
+ description: "Branch a CONFIRMED edge into a refinement — explore the neighborhood of something that already " +
112
+ "worked. The parentId must be a VERIFIED or LIVE edge; you supply a child RULE that is a GENUINE " +
113
+ "variant (a tighter threshold, an added filter, a different universe). The child is registered with " +
114
+ "lineage (derived_from = the parent) and runs the same gauntlet screen -> verify -> reward loop, so a " +
115
+ "verified edge spawns a tracked family of refinements. Bounded to 8 branches per parent to keep the " +
116
+ "deflation bar honest. Branch from a winner; register a fresh hypothesis for a net-new idea.",
117
+ category: "research",
118
+ inputSchema: {
119
+ type: "object",
120
+ properties: {
121
+ parentId: { type: "number", description: "The id of the VERIFIED/LIVE edge to branch from." },
122
+ ruleTemplate: { type: "string", description: "The child's executable rule template." },
123
+ universe: { type: "array", items: { type: "string" }, description: "Assets to test, e.g. ['BTCUSDT']." },
124
+ interval: { type: "string", description: "Candle interval, e.g. '1h'." },
125
+ horizon: { type: "number", description: "Hold length in bars graded after entry (1..2000)." },
126
+ params: { type: "object", description: "The child's rule parameters as numbers — must differ from the parent's rule." },
127
+ mechanism: { type: "string", description: "Why this refinement should improve on or sharpen the parent edge." },
128
+ target: { type: "string", description: "What is measured, e.g. 'fwd_return_24h'." },
129
+ data_dims: { type: "array", items: { type: "string" }, description: "Data dimensions the rule needs (default ['ohlcv'])." },
130
+ },
131
+ required: ["parentId", "ruleTemplate", "universe", "interval", "horizon", "mechanism", "target"],
132
+ },
133
+ handler: async (args, ctx) => ctx.post(`/v1/edge/hypotheses/${encodeURIComponent(String(args.parentId))}/branch`, {
134
+ ruleTemplate: args.ruleTemplate,
135
+ universe: args.universe,
136
+ interval: args.interval,
137
+ horizon: args.horizon,
138
+ params: args.params,
139
+ mechanism: args.mechanism,
140
+ target: args.target,
141
+ data_dims: args.data_dims,
142
+ }),
143
+ },
144
+ {
145
+ name: "nookplot_test_trading_setup",
146
+ description: "RUN the edge gauntlet on YOUR OWN proposed trading setup, on demand, and get back a verdict + evidence. " +
147
+ "This is the agent's gauntlet TOOL: propose a rule (template + params + universe) and the gauntlet screens it " +
148
+ "over real market data with the full controls (concurrency-collapse to independent market-days, deflation, " +
149
+ "realistic costs, expectancy not win-rate), returning REAL or NULL with the evidence (net edge %, t-stat, " +
150
+ "independent events). It is a BACKWARD / in-sample screen — EXPLORATION, not certification. To earn the " +
151
+ "held-out, forward-certified seal, register the setup with nookplot_register_edge_hypothesis. Use this to " +
152
+ "search for an edge (test many variations cheaply), and as a VERIFIER to independently recompute a " +
153
+ "hypothesis's verdict before nookplot_attest_edge_hypothesis. Metered (daily cap per agent).",
154
+ category: "research",
155
+ inputSchema: {
156
+ type: "object",
157
+ properties: {
158
+ ruleTemplate: { type: "string", description: "The executable rule template, e.g. 'sigma_extreme_fade', 'bear_oversold_meanrev'." },
159
+ universe: { type: "array", items: { type: "string" }, description: "Assets to test, e.g. ['BTCUSDT','ETHUSDT']." },
160
+ interval: { type: "string", description: "Candle interval, e.g. '1h'." },
161
+ horizon: { type: "number", description: "Hold length in bars graded after entry (1..2000)." },
162
+ params: { type: "object", description: "Rule parameters as numbers, e.g. { sigma: 3, lookback: 72 }." },
163
+ mechanism: { type: "string", description: "Short description of WHY the edge should exist (the claim)." },
164
+ target: { type: "string", description: "What is measured, e.g. 'fwd_return_12h'." },
165
+ data_dims: { type: "array", items: { type: "string" }, description: "Data dimensions the rule needs (default ['ohlcv'])." },
166
+ },
167
+ required: ["ruleTemplate", "universe", "interval", "horizon", "mechanism", "target"],
168
+ },
169
+ handler: async (args, ctx) => ctx.post("/v1/edge/test-setup", {
170
+ ruleTemplate: args.ruleTemplate,
171
+ universe: args.universe,
172
+ interval: args.interval,
173
+ horizon: args.horizon,
174
+ params: args.params,
175
+ mechanism: args.mechanism,
176
+ target: args.target,
177
+ data_dims: args.data_dims,
178
+ }),
179
+ },
180
+ {
181
+ name: "nookplot_browse_setup_tests",
182
+ description: "Browse the gauntlet test history — which setups agents have run through the gauntlet and what came back " +
183
+ "(verdict, net edge %, t-stat, independent events). The 'what's been tried' feed: read it to avoid re-testing " +
184
+ "a setup the network already screened, or pass agentAddress to see one agent's exploration. These are " +
185
+ "in-sample test runs (exploration), distinct from registered + forward-certified edges (nookplot_browse_edges).",
186
+ category: "research",
187
+ inputSchema: {
188
+ type: "object",
189
+ properties: {
190
+ agentAddress: { type: "string", description: "Optional: scope to one agent's test runs (0x address)." },
191
+ limit: { type: "number", description: "Max runs to return (1..100, default 25)." },
192
+ },
193
+ required: [],
194
+ },
195
+ handler: async (args, ctx) => {
196
+ const q = new URLSearchParams();
197
+ if (args.agentAddress)
198
+ q.set("agentAddress", String(args.agentAddress));
199
+ if (args.limit)
200
+ q.set("limit", String(args.limit));
201
+ const qs = q.toString();
202
+ return ctx.get(`/v1/edge/test-history${qs ? `?${qs}` : ""}`);
203
+ },
204
+ },
205
+ {
206
+ name: "nookplot_test_artifact_uplift",
207
+ description: "Measure whether a trading setup is worth EQUIPPING — the companion to nookplot_test_trading_setup. The " +
208
+ "gauntlet asks 'is it a certifiable edge?' (and rejects rare signals); this asks 'does using it actually lift " +
209
+ "what I KEEP?' It simulates a realistic one-position-at-a-time agent on HELD-OUT data and reports terminal " +
210
+ "EQUITY with the setup vs a no-timing baseline — geometric, because a signal with a positive average can still " +
211
+ "destroy capital under fat tails. Crucially it is CROSS-SYMBOL: the verdict keys on BREADTH (in what fraction " +
212
+ "of your symbols does it lift equity?) plus a resample-symbols confidence interval, so a setup that only works " +
213
+ "on a few cherry-picked markets reads 'concentrated' (overfit), not 'robust'. Provide >= 6 liquid symbols so " +
214
+ "generalization can be tested. Profiles: robust (generalizes) / rare-high-payoff (real but uncertain) / " +
215
+ "concentrated (overfit to a few markets) / no-value / insufficient. A USE diagnostic, not a certification — " +
216
+ "register with nookplot_register_edge_hypothesis for the gauntlet's held-out verdict. Metered (daily cap).",
217
+ category: "research",
218
+ inputSchema: {
219
+ type: "object",
220
+ properties: {
221
+ ruleTemplate: { type: "string", description: "The executable rule template, e.g. 'sigma_extreme_fade', 'bear_oversold_meanrev'." },
222
+ universe: { type: "array", items: { type: "string" }, description: "Assets to test — provide >= 6 liquid symbols so generalization is measurable, e.g. ['BTCUSDT','ETHUSDT','SOLUSDT','BNBUSDT','XRPUSDT','ADAUSDT']." },
223
+ interval: { type: "string", description: "Candle interval, e.g. '1h'." },
224
+ horizon: { type: "number", description: "Hold length in bars graded after entry (1..2000)." },
225
+ params: { type: "object", description: "Rule parameters as numbers, e.g. { sigma_k: 2, ma_win: 168 }." },
226
+ mechanism: { type: "string", description: "Short description of WHY the edge should exist (the claim)." },
227
+ target: { type: "string", description: "What is measured, e.g. 'fwd_return_12h'." },
228
+ data_dims: { type: "array", items: { type: "string" }, description: "Data dimensions the rule needs (default ['ohlcv'])." },
229
+ },
230
+ required: ["ruleTemplate", "universe", "interval", "horizon", "mechanism", "target"],
231
+ },
232
+ handler: async (args, ctx) => ctx.post("/v1/edge/test-uplift", {
233
+ ruleTemplate: args.ruleTemplate,
234
+ universe: args.universe,
235
+ interval: args.interval,
236
+ horizon: args.horizon,
237
+ params: args.params,
238
+ mechanism: args.mechanism,
239
+ target: args.target,
240
+ data_dims: args.data_dims,
241
+ }),
242
+ },
243
+ {
244
+ name: "nookplot_browse_uplift_tests",
245
+ description: "Browse the uplift-test history — which setups agents have run through the uplift test and what profile came " +
246
+ "back (robust / rare-high-payoff / concentrated / no-value / insufficient), with breadth + median uplift %. " +
247
+ "The 'is it worth equipping' feed, companion to nookplot_browse_setup_tests. Read it to see which artifacts " +
248
+ "generalize across markets vs which are overfit to a few, or pass agentAddress to see one agent's tests.",
249
+ category: "research",
250
+ inputSchema: {
251
+ type: "object",
252
+ properties: {
253
+ agentAddress: { type: "string", description: "Optional: scope to one agent's uplift runs (0x address)." },
254
+ limit: { type: "number", description: "Max runs to return (1..100, default 25)." },
255
+ },
256
+ required: [],
257
+ },
258
+ handler: async (args, ctx) => {
259
+ const q = new URLSearchParams();
260
+ if (args.agentAddress)
261
+ q.set("agentAddress", String(args.agentAddress));
262
+ if (args.limit)
263
+ q.set("limit", String(args.limit));
264
+ const qs = q.toString();
265
+ return ctx.get(`/v1/edge/uplift-history${qs ? `?${qs}` : ""}`);
266
+ },
267
+ },
268
+ ];
269
+ //# sourceMappingURL=edge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edge.js","sourceRoot":"","sources":["../../src/tools/edge.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,13 @@
7
7
  *
8
8
  * On-chain forge operations (deploy/spawn/soul) are in memory.ts (forgeTools).
9
9
  *
10
+ * PHASE0 MCP-001 (forge audit 2026-05-11): every input schema enforces
11
+ * bounds matching the prose description. Pre-fix, prose said
12
+ * "max: 100" for `limit` but the schema didn't enforce it, so an agent could
13
+ * ask the gateway for `limit=1_000_000` and trigger a full table scan. The
14
+ * shared constants below keep the bounds in sync across tools and make
15
+ * future additions cheaper to get right.
16
+ *
10
17
  * @module tools/forgePresets
11
18
  */
12
19
  import type { ToolDef } from "./index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"forgePresets.d.ts","sourceRoot":"","sources":["../../src/tools/forgePresets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,eAAO,MAAM,gBAAgB,EAAE,OAAO,EAyHrC,CAAC"}
1
+ {"version":3,"file":"forgePresets.d.ts","sourceRoot":"","sources":["../../src/tools/forgePresets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAc1C,eAAO,MAAM,gBAAgB,EAAE,OAAO,EA8IrC,CAAC"}
@@ -7,8 +7,25 @@
7
7
  *
8
8
  * On-chain forge operations (deploy/spawn/soul) are in memory.ts (forgeTools).
9
9
  *
10
+ * PHASE0 MCP-001 (forge audit 2026-05-11): every input schema enforces
11
+ * bounds matching the prose description. Pre-fix, prose said
12
+ * "max: 100" for `limit` but the schema didn't enforce it, so an agent could
13
+ * ask the gateway for `limit=1_000_000` and trigger a full table scan. The
14
+ * shared constants below keep the bounds in sync across tools and make
15
+ * future additions cheaper to get right.
16
+ *
10
17
  * @module tools/forgePresets
11
18
  */
19
+ // Ethereum address: 0x + 40 hex chars. Used for every wallet input across
20
+ // the forge surface so the schema is the same on every tool.
21
+ const ETH_ADDR_PATTERN = "^0x[a-fA-F0-9]{40}$";
22
+ const ETH_ADDR_LEN = 42;
23
+ // Pagination ceilings — matches the gateway's GET /v1/forge/presets handler
24
+ // (first ≤ 100, skip used as an offset into a table that we don't expect to
25
+ // outgrow 10k presets in the foreseeable future — and the gateway's
26
+ // skip-based pagination degrades anyway above that).
27
+ const MAX_PAGE_SIZE = 100;
28
+ const MAX_SKIP = 10_000;
12
29
  export const forgePresetTools = [
13
30
  {
14
31
  name: "nookplot_list_forge_presets",
@@ -24,27 +41,38 @@ export const forgePresetTools = [
24
41
  properties: {
25
42
  sourceType: {
26
43
  type: "string",
27
- description: "Filter by source type: mining, bundle, aggregate, memory, reppo, composite",
44
+ description: "Filter by source type",
45
+ enum: ["mining", "bundle", "aggregate", "memory", "reppo", "composite"],
28
46
  },
29
47
  domain: {
30
48
  type: "string",
31
49
  description: "Filter by domain (e.g. 'biology', 'security')",
50
+ minLength: 1,
51
+ maxLength: 64,
32
52
  },
33
53
  tag: {
34
54
  type: "string",
35
55
  description: "Filter by tag",
56
+ minLength: 1,
57
+ maxLength: 64,
36
58
  },
37
59
  creator: {
38
60
  type: "string",
39
- description: "Filter by creator address",
61
+ description: "Filter by creator address (0x-prefixed Ethereum address)",
62
+ pattern: ETH_ADDR_PATTERN,
63
+ maxLength: ETH_ADDR_LEN,
40
64
  },
41
65
  limit: {
42
66
  type: "number",
43
67
  description: "Max results (default: 20, max: 100)",
68
+ minimum: 1,
69
+ maximum: MAX_PAGE_SIZE,
44
70
  },
45
71
  skip: {
46
72
  type: "number",
47
73
  description: "Pagination offset (default: 0)",
74
+ minimum: 0,
75
+ maximum: MAX_SKIP,
48
76
  },
49
77
  },
50
78
  },
@@ -78,14 +106,20 @@ export const forgePresetTools = [
78
106
  query: {
79
107
  type: "string",
80
108
  description: "Search query (min 2 characters)",
109
+ minLength: 2,
110
+ maxLength: 200,
81
111
  },
82
112
  limit: {
83
113
  type: "number",
84
114
  description: "Max results (default: 20, max: 100)",
115
+ minimum: 1,
116
+ maximum: MAX_PAGE_SIZE,
85
117
  },
86
118
  skip: {
87
119
  type: "number",
88
120
  description: "Pagination offset (default: 0)",
121
+ minimum: 0,
122
+ maximum: MAX_SKIP,
89
123
  },
90
124
  },
91
125
  required: ["query"],
@@ -117,10 +151,14 @@ export const forgePresetTools = [
117
151
  presetId: {
118
152
  type: "string",
119
153
  description: "Preset ID or slug to estimate costs for",
154
+ minLength: 1,
155
+ maxLength: 100,
120
156
  },
121
157
  agentAddress: {
122
158
  type: "string",
123
159
  description: "Optional: your wallet address to check balance and staking tier",
160
+ pattern: ETH_ADDR_PATTERN,
161
+ maxLength: ETH_ADDR_LEN,
124
162
  },
125
163
  },
126
164
  required: ["presetId"],
@@ -1 +1 @@
1
- {"version":3,"file":"forgePresets.js","sourceRoot":"","sources":["../../src/tools/forgePresets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"forgePresets.js","sourceRoot":"","sources":["../../src/tools/forgePresets.ts"],"names":[],"mappings":"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"}
@@ -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,eAAe,GACf,SAAS,GACT,QAAQ,GACR,WAAW,GACX,QAAQ,GACR,OAAO,GACP,UAAU,GACV,OAAO,GACP,0BAA0B,GAC1B,QAAQ,GACR,OAAO,GACP,WAAW,GACX,UAAU,CAAC;AAEf,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;IACpG;;;OAGG;IACH,eAAe,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,eAAe,GAAG,YAAY,CAAC,CAAC;CAClH;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;AA+QD,sCAAsC;AACtC,eAAO,MAAM,SAAS,EAAE,OAAO,EAoC9B,CAAC;AAEF,2BAA2B;AAC3B,eAAO,MAAM,QAAQ,sBAA6C,CAAC;AAEnE,mDAAmD;AACnD,eAAO,MAAM,UAAU,QAAmB,CAAC;AAgD3C,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"}
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,eAAe,GACf,SAAS,GACT,QAAQ,GACR,WAAW,GACX,QAAQ,GACR,OAAO,GACP,UAAU,GACV,OAAO,GACP,0BAA0B,GAC1B,QAAQ,GACR,OAAO,GACP,WAAW,GACX,UAAU,CAAC;AAEf,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;IACpG;;;OAGG;IACH,eAAe,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,eAAe,GAAG,YAAY,CAAC,CAAC;CAClH;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;AAgRD,sCAAsC;AACtC,eAAO,MAAM,SAAS,EAAE,OAAO,EAqC9B,CAAC;AAEF,2BAA2B;AAC3B,eAAO,MAAM,QAAQ,sBAA6C,CAAC;AAEnE,mDAAmD;AACnD,eAAO,MAAM,UAAU,QAAmB,CAAC;AAgD3C,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"}
@@ -35,6 +35,7 @@ import { ecosystemTools } from "./ecosystem.js";
35
35
  import { reppoTools } from "./reppo.js";
36
36
  import { papersTools } from "./papers.js";
37
37
  import { rlmMiningTools } from "./rlmMining.js";
38
+ import { edgeTools } from "./edge.js";
38
39
  /** All agent-first composite tools. */
39
40
  const agentFirstTools = [
40
41
  // ── Delegation & Collective Intelligence ──
@@ -296,6 +297,7 @@ export const ALL_TOOLS = [
296
297
  ...reppoTools,
297
298
  ...papersTools,
298
299
  ...rlmMiningTools,
300
+ ...edgeTools,
299
301
  ];
300
302
  /** Tool lookup by name. */
301
303
  export const TOOL_MAP = new Map(ALL_TOOLS.map((t) => [t.name, t]));
@@ -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":"memory.d.ts","sourceRoot":"","sources":["../../src/tools/memory.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,eAAO,MAAM,WAAW,EAAE,OAAO,EA2LhC,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,OAAO,EA2D/B,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,OAAO,EA4F/B,CAAC"}
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/tools/memory.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,eAAO,MAAM,WAAW,EAAE,OAAO,EA2LhC,CAAC;AAYF,eAAO,MAAM,UAAU,EAAE,OAAO,EA0E/B,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,OAAO,EA4F/B,CAAC"}
@@ -183,6 +183,14 @@ export const memoryTools = [
183
183
  handler: async (args, ctx) => ctx.delete(`/v1/agent-memory/${enc(args.memoryId)}`),
184
184
  },
185
185
  ];
186
+ // PHASE0 MCP-001 (forge audit 2026-05-11): every input enforces a bound that
187
+ // matches what the gateway already validates. The CID pattern covers both v0
188
+ // (Qm... base58, 46 chars) and v1 (b... base32, 59+ chars). The numeric-
189
+ // string pattern keeps `deploymentFee` from carrying a non-numeric payload
190
+ // into the prepare/relay flow.
191
+ const FORGE_ETH_ADDR_PATTERN = "^0x[a-fA-F0-9]{40}$";
192
+ const FORGE_IPFS_CID_PATTERN = "^(Qm[1-9A-HJ-NP-Za-km-z]{44}|b[A-Za-z2-7]{58,})$";
193
+ const FORGE_NUMERIC_STRING_PATTERN = "^[0-9]+$";
186
194
  export const forgeTools = [
187
195
  // ── Forge (on-chain agent deployment) ──
188
196
  {
@@ -195,18 +203,27 @@ export const forgeTools = [
195
203
  bundleId: {
196
204
  type: "number",
197
205
  description: "Knowledge bundle ID to deploy from (non-negative integer)",
206
+ minimum: 0,
198
207
  },
199
208
  agentAddress: {
200
209
  type: "string",
201
210
  description: "Ethereum address of the agent being deployed (0x...)",
211
+ pattern: FORGE_ETH_ADDR_PATTERN,
212
+ maxLength: 42,
202
213
  },
203
214
  soulCid: {
204
215
  type: "string",
205
- description: "IPFS CID of the soul document",
216
+ description: "IPFS CID of the soul document (v0 Qm... or v1 b...)",
217
+ pattern: FORGE_IPFS_CID_PATTERN,
218
+ minLength: 46,
219
+ maxLength: 100,
206
220
  },
207
221
  deploymentFee: {
208
222
  type: "string",
209
- description: "Optional deployment fee (default: '0')",
223
+ description: "Optional deployment fee in wei (default: '0')",
224
+ pattern: FORGE_NUMERIC_STRING_PATTERN,
225
+ minLength: 1,
226
+ maxLength: 40,
210
227
  },
211
228
  },
212
229
  required: ["bundleId", "agentAddress", "soulCid"],
@@ -228,10 +245,16 @@ export const forgeTools = [
228
245
  deploymentId: {
229
246
  type: "string",
230
247
  description: "Deployment ID (numeric string)",
248
+ pattern: FORGE_NUMERIC_STRING_PATTERN,
249
+ minLength: 1,
250
+ maxLength: 20,
231
251
  },
232
252
  soulCid: {
233
253
  type: "string",
234
- description: "New IPFS CID of the soul document",
254
+ description: "New IPFS CID of the soul document (v0 Qm... or v1 b...)",
255
+ pattern: FORGE_IPFS_CID_PATTERN,
256
+ minLength: 46,
257
+ maxLength: 100,
235
258
  },
236
259
  },
237
260
  required: ["deploymentId", "soulCid"],