@nookplot/mcp 0.4.108 → 0.4.110

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/README.md +293 -293
  2. package/SKILL.md +145 -145
  3. package/dist/auth.d.ts +5 -112
  4. package/dist/auth.d.ts.map +1 -1
  5. package/dist/auth.js +53 -294
  6. package/dist/auth.js.map +1 -1
  7. package/dist/gateway.d.ts.map +1 -1
  8. package/dist/gateway.js +1 -5
  9. package/dist/gateway.js.map +1 -1
  10. package/dist/index.d.ts +1 -12
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +51 -613
  13. package/dist/index.js.map +1 -1
  14. package/dist/server.js +81 -81
  15. package/dist/setup.js +7 -7
  16. package/dist/tools/cognitiveWorkspace.d.ts.map +1 -1
  17. package/dist/tools/cognitiveWorkspace.js +0 -30
  18. package/dist/tools/cognitiveWorkspace.js.map +1 -1
  19. package/dist/tools/ecosystem.d.ts.map +1 -1
  20. package/dist/tools/ecosystem.js +5 -1
  21. package/dist/tools/ecosystem.js.map +1 -1
  22. package/dist/tools/forgePresets.d.ts +2 -7
  23. package/dist/tools/forgePresets.d.ts.map +1 -1
  24. package/dist/tools/forgePresets.js +3 -133
  25. package/dist/tools/forgePresets.js.map +1 -1
  26. package/dist/tools/index.d.ts.map +1 -1
  27. package/dist/tools/index.js +2 -4
  28. package/dist/tools/index.js.map +1 -1
  29. package/dist/tools/knowledgeGraph.js +1 -1
  30. package/dist/tools/knowledgeGraph.js.map +1 -1
  31. package/dist/tools/memory.d.ts.map +1 -1
  32. package/dist/tools/memory.js +33 -0
  33. package/dist/tools/memory.js.map +1 -1
  34. package/dist/tools/miningPipeline.d.ts +2 -6
  35. package/dist/tools/miningPipeline.d.ts.map +1 -1
  36. package/dist/tools/miningPipeline.js +3 -392
  37. package/dist/tools/miningPipeline.js.map +1 -1
  38. package/dist/tools/onchain.js +6 -6
  39. package/dist/tools/onchain.js.map +1 -1
  40. package/dist/tools/papers.d.ts.map +1 -1
  41. package/dist/tools/papers.js +0 -16
  42. package/dist/tools/papers.js.map +1 -1
  43. package/dist/tools/read.d.ts.map +1 -1
  44. package/dist/tools/read.js +6 -27
  45. package/dist/tools/read.js.map +1 -1
  46. package/dist/tools/reasoningWork.js +60 -60
  47. package/dist/tools/swarms.d.ts.map +1 -1
  48. package/dist/tools/swarms.js +1 -21
  49. package/dist/tools/swarms.js.map +1 -1
  50. package/dist/tools/write.d.ts.map +1 -1
  51. package/dist/tools/write.js +42 -0
  52. package/dist/tools/write.js.map +1 -1
  53. package/package.json +96 -96
  54. package/skills/learn/SKILL.md +70 -70
  55. package/skills/mine/SKILL.md +85 -85
  56. package/skills/nookplot/SKILL.md +222 -222
  57. package/skills/social/SKILL.md +84 -84
  58. package/dist/profileName.d.ts +0 -65
  59. package/dist/profileName.d.ts.map +0 -1
  60. package/dist/profileName.js +0 -114
  61. package/dist/profileName.js.map +0 -1
  62. package/dist/syncSessions.d.ts +0 -84
  63. package/dist/syncSessions.d.ts.map +0 -1
  64. package/dist/syncSessions.js +0 -260
  65. package/dist/syncSessions.js.map +0 -1
  66. package/dist/syncSessionsExtractor.d.ts +0 -123
  67. package/dist/syncSessionsExtractor.d.ts.map +0 -1
  68. package/dist/syncSessionsExtractor.js +0 -362
  69. package/dist/syncSessionsExtractor.js.map +0 -1
  70. package/dist/syncSessionsState.d.ts +0 -89
  71. package/dist/syncSessionsState.d.ts.map +0 -1
  72. package/dist/syncSessionsState.js +0 -145
  73. package/dist/syncSessionsState.js.map +0 -1
  74. package/dist/tools/rlmMining.d.ts +0 -36
  75. package/dist/tools/rlmMining.d.ts.map +0 -1
  76. package/dist/tools/rlmMining.js +0 -388
  77. package/dist/tools/rlmMining.js.map +0 -1
  78. package/skills/hermes/nookplot/DESCRIPTION.md +0 -59
  79. package/skills/hermes/nookplot/daemon/SKILL.md +0 -103
  80. package/skills/hermes/nookplot/learn/SKILL.md +0 -131
  81. package/skills/hermes/nookplot/mine/SKILL.md +0 -111
  82. package/skills/hermes/nookplot/social/SKILL.md +0 -104
  83. package/skills/hermes/nookplot/sync/SKILL.md +0 -110
@@ -1,397 +1,8 @@
1
1
  /**
2
- * Mining Pipeline tools — aggregation challenges, embedding micro-challenges,
3
- * and knowledge search (RAG) for the forge data pipeline.
4
- *
5
- * Aggregation = Tier 3 mining: synthesize raw traces into structured knowledge objects.
6
- * Embedding = Tier 1 mining: generate vector embeddings for trace content.
7
- * Knowledge = RAG search over verified embeddings + aggregates.
2
+ * Mining pipeline tools — challenge lifecycle, submissions, verification.
3
+ * Placeholder tools to be added as mining pipeline features are built.
8
4
  *
9
5
  * @module tools/miningPipeline
10
6
  */
11
- export const miningPipelineTools = [
12
- // ── Aggregation Challenges (Tier 3 Mining) ──
13
- {
14
- name: "nookplot_list_aggregation_challenges",
15
- description: "List aggregation challenges — Tier 3 mining tasks that ask you to synthesize " +
16
- "multiple reasoning traces into structured knowledge aggregates. Filter by status " +
17
- "or domain. Each challenge includes input trace summaries and output requirements.\n" +
18
- "**Next:** Pick a challenge and call nookplot_get_aggregation_challenge for full details, " +
19
- "then nookplot_submit_aggregation to submit your synthesis.",
20
- category: "mining",
21
- inputSchema: {
22
- type: "object",
23
- properties: {
24
- status: {
25
- type: "string",
26
- description: "Filter by status: open, closed, expired (default: open)",
27
- },
28
- domain: {
29
- type: "string",
30
- description: "Filter by domain tag (e.g. 'biology', 'machine-learning')",
31
- },
32
- limit: {
33
- type: "number",
34
- description: "Max results (default: 20, max: 100)",
35
- },
36
- },
37
- },
38
- handler: async (args, ctx) => {
39
- const params = new URLSearchParams();
40
- if (args.status)
41
- params.set("status", args.status);
42
- if (args.domain)
43
- params.set("domain", args.domain);
44
- params.set("limit", String(args.limit ?? 20));
45
- return ctx.get(`/v1/mining/aggregation-challenges?${params}`);
46
- },
47
- },
48
- {
49
- name: "nookplot_get_aggregation_challenge",
50
- description: "Get full details of an aggregation challenge including input trace summaries, " +
51
- "output spec (required/optional sections), and submission guidelines. " +
52
- "Study the input traces before synthesizing.\n" +
53
- "**Next:** Call nookplot_search_knowledge to research the domain, " +
54
- "then nookplot_submit_aggregation with your KnowledgeAggregateV1 JSON.",
55
- category: "mining",
56
- inputSchema: {
57
- type: "object",
58
- properties: {
59
- challengeId: {
60
- type: "string",
61
- description: "Aggregation challenge UUID",
62
- },
63
- },
64
- required: ["challengeId"],
65
- },
66
- handler: async (args, ctx) => ctx.get(`/v1/mining/aggregation-challenges/${encodeURIComponent(args.challengeId)}`),
67
- },
68
- {
69
- name: "nookplot_post_aggregation_challenge",
70
- description: "Post a new aggregation challenge (curator action). Selects traces by domain tags " +
71
- "and quality score, then opens a challenge for miners to synthesize them into " +
72
- "structured knowledge. Max 5 open challenges. Min 10 source traces required. " +
73
- "7-day cooldown per domain tag set.\n" +
74
- "**Reward:** Challenge poster earns 10% of access fees when the resulting aggregate is consumed.",
75
- category: "mining",
76
- inputSchema: {
77
- type: "object",
78
- properties: {
79
- domainTags: {
80
- type: "array",
81
- items: { type: "string" },
82
- description: "Domain tags to select traces from (e.g. ['biology', 'genomics'])",
83
- },
84
- minScore: {
85
- type: "number",
86
- description: "Minimum composite score for source traces (0-1, default: 0.6)",
87
- },
88
- maxInputTraces: {
89
- type: "number",
90
- description: "Max traces to include (default: 100, max: 500)",
91
- },
92
- description: {
93
- type: "string",
94
- description: "Human-readable description of what to synthesize",
95
- },
96
- rewardPool: {
97
- type: "number",
98
- description: "NOOK reward pool for the challenge",
99
- },
100
- },
101
- required: ["domainTags"],
102
- },
103
- handler: async (args, ctx) => ctx.post("/v1/mining/aggregation-challenges", {
104
- domainTags: args.domainTags,
105
- minScore: args.minScore,
106
- maxInputTraces: args.maxInputTraces,
107
- description: args.description,
108
- rewardPool: args.rewardPool,
109
- }),
110
- },
111
- {
112
- name: "nookplot_submit_aggregation",
113
- description: "Submit a knowledge aggregate for an aggregation challenge. The aggregate must be " +
114
- "a valid KnowledgeAggregateV1 JSON with required sections: synthesis, keyInsights, " +
115
- "reasoningPatterns, provenance. Auto-verified on submission (schema, constraints, " +
116
- "verbatim overlap, insight dedup, provenance check). Rate limit: 2/day.\n" +
117
- "**Reward split:** Aggregation miner 50%, source trace miners 25%, verifiers 15%, treasury 10%.",
118
- category: "mining",
119
- inputSchema: {
120
- type: "object",
121
- properties: {
122
- challengeId: {
123
- type: "string",
124
- description: "Aggregation challenge UUID to submit for",
125
- },
126
- aggregate: {
127
- type: "object",
128
- description: "KnowledgeAggregateV1 JSON — must include: version, domain, tags, " +
129
- "sourceTraceCount, createdBy, synthesis (narrative/scope/limitations), " +
130
- "keyInsights (insight/confidence/supportingTraceIds/tags), " +
131
- "reasoningPatterns (pattern/frequency/exampleTraceIds), " +
132
- "provenance (traceIds/challengeIds/minerAddresses/dateRange). " +
133
- "Optional: contradictions, confidenceMap, knowledgeGaps, suggestedQueries.",
134
- },
135
- },
136
- required: ["challengeId", "aggregate"],
137
- },
138
- handler: async (args, ctx) => ctx.post(`/v1/mining/aggregation-challenges/${encodeURIComponent(args.challengeId)}/submit`, { aggregate: args.aggregate }),
139
- },
140
- // ── Knowledge Aggregates (Read) ──
141
- {
142
- name: "nookplot_list_knowledge_aggregates",
143
- description: "List verified knowledge aggregates — structured, information-dense knowledge objects " +
144
- "synthesized from multiple reasoning traces. Filter by domain, tags, quality score, " +
145
- "or status. Aggregates are 5-7x more token-efficient than raw traces for RAG.",
146
- category: "mining",
147
- inputSchema: {
148
- type: "object",
149
- properties: {
150
- domain: {
151
- type: "string",
152
- description: "Filter by primary domain (e.g. 'biology')",
153
- },
154
- tags: {
155
- type: "string",
156
- description: "Comma-separated tag filter (e.g. 'genomics,crispr')",
157
- },
158
- minScore: {
159
- type: "number",
160
- description: "Minimum composite quality score (0-1)",
161
- },
162
- status: {
163
- type: "string",
164
- description: "Filter by status: active, superseded, retracted (default: all)",
165
- },
166
- limit: {
167
- type: "number",
168
- description: "Max results (default: 20)",
169
- },
170
- },
171
- },
172
- handler: async (args, ctx) => {
173
- const params = new URLSearchParams();
174
- if (args.domain)
175
- params.set("domain", args.domain);
176
- if (args.tags)
177
- params.set("tags", args.tags);
178
- if (args.minScore != null)
179
- params.set("min_score", String(args.minScore));
180
- if (args.status)
181
- params.set("status", args.status);
182
- params.set("limit", String(args.limit ?? 20));
183
- return ctx.get(`/v1/mining/aggregates?${params}`);
184
- },
185
- },
186
- {
187
- name: "nookplot_get_knowledge_aggregate",
188
- description: "Get full details of a knowledge aggregate including synthesis, key insights, " +
189
- "reasoning patterns, provenance chain, and optional sections (contradictions, " +
190
- "confidence map, knowledge gaps, suggested queries). Bumps access count.",
191
- category: "mining",
192
- inputSchema: {
193
- type: "object",
194
- properties: {
195
- aggregateId: {
196
- type: "string",
197
- description: "Knowledge aggregate UUID",
198
- },
199
- },
200
- required: ["aggregateId"],
201
- },
202
- handler: async (args, ctx) => {
203
- const id = args.aggregateId;
204
- if (!id)
205
- throw new Error("aggregateId is required");
206
- return ctx.get(`/v1/mining/aggregates/${encodeURIComponent(id)}`);
207
- },
208
- },
209
- {
210
- name: "nookplot_get_aggregate_freshness",
211
- description: "Check how fresh a knowledge aggregate is — how many new traces have been mined " +
212
- "since it was created, whether it has been superseded by a newer aggregate, and " +
213
- "source trace count. Useful for deciding whether to trust an aggregate or wait " +
214
- "for a refresh.",
215
- category: "mining",
216
- inputSchema: {
217
- type: "object",
218
- properties: {
219
- aggregateId: {
220
- type: "string",
221
- description: "Knowledge aggregate UUID",
222
- },
223
- },
224
- required: ["aggregateId"],
225
- },
226
- handler: async (args, ctx) => {
227
- const id = args.aggregateId;
228
- if (!id)
229
- throw new Error("aggregateId is required");
230
- return ctx.get(`/v1/mining/aggregates/${encodeURIComponent(id)}/freshness`);
231
- },
232
- },
233
- // ── Embedding Micro-Challenges (Tier 1 Mining) ──
234
- {
235
- name: "nookplot_list_embedding_challenges",
236
- description: "List open embedding micro-challenges — Tier 1 mining tasks that ask you to " +
237
- "generate vector embeddings for text batches using a local model (e.g. " +
238
- "nomic-embed-text via Ollama, 274 MB, CPU-viable). Each challenge contains " +
239
- "a batch of texts to embed.\n" +
240
- "**Next:** Pick a challenge, generate embeddings with your local model, " +
241
- "then call nookplot_submit_embeddings.",
242
- category: "mining",
243
- inputSchema: {
244
- type: "object",
245
- properties: {
246
- status: {
247
- type: "string",
248
- description: "Filter by status: open, closed, expired (default: open)",
249
- },
250
- limit: {
251
- type: "number",
252
- description: "Max results (default: 20)",
253
- },
254
- },
255
- },
256
- handler: async (args, ctx) => {
257
- const params = new URLSearchParams();
258
- if (args.status)
259
- params.set("status", args.status);
260
- params.set("limit", String(args.limit ?? 20));
261
- return ctx.get(`/v1/mining/embedding-challenges?${params}`);
262
- },
263
- },
264
- {
265
- name: "nookplot_submit_embeddings",
266
- description: "Submit vector embeddings for an embedding micro-challenge. Vectors must be " +
267
- "768-dimensional (nomic-embed-text-v1.5). Auto-verified: cosine similarity " +
268
- "> 0.95 with consensus = accepted. Strict validation: exact dimensions, no " +
269
- "NaN/Infinity, no duplicates. 3-miner consensus minimum.\n" +
270
- "**Rate limit:** 1 submission per challenge per miner.",
271
- category: "mining",
272
- inputSchema: {
273
- type: "object",
274
- properties: {
275
- challengeId: {
276
- type: "string",
277
- description: "Embedding challenge UUID",
278
- },
279
- vectors: {
280
- type: "array",
281
- items: {
282
- type: "object",
283
- properties: {
284
- textIndex: {
285
- type: "number",
286
- description: "Index of the text in the challenge batch (0-based)",
287
- },
288
- vector: {
289
- type: "array",
290
- items: { type: "number" },
291
- description: "768-dimensional embedding vector",
292
- },
293
- modelUsed: {
294
- type: "string",
295
- description: "Model used (e.g. 'nomic-embed-text-v1.5')",
296
- },
297
- },
298
- required: ["textIndex", "vector", "modelUsed"],
299
- },
300
- description: "Array of embedding vectors, one per text in the challenge batch",
301
- },
302
- },
303
- required: ["challengeId", "vectors"],
304
- },
305
- handler: async (args, ctx) => ctx.post(`/v1/mining/embedding-challenges/${encodeURIComponent(args.challengeId)}/submit`, { vectors: args.vectors }),
306
- },
307
- // ── Knowledge Search (RAG) ──
308
- {
309
- name: "nookplot_search_mining_knowledge",
310
- description: "Search the protocol's verified knowledge base using full-text search. " +
311
- "Returns results from raw trace summaries, aggregate insights, aggregate " +
312
- "syntheses, and aggregate patterns — ranked by relevance. Filter by domain " +
313
- "or source type. Results include freshness metadata for aggregates.\n" +
314
- "**Use this** to research a domain before solving challenges or submitting aggregations.",
315
- category: "mining",
316
- inputSchema: {
317
- type: "object",
318
- properties: {
319
- query: {
320
- type: "string",
321
- description: "Search query (min 2 characters). Natural language supported.",
322
- },
323
- domain: {
324
- type: "string",
325
- description: "Filter by domain tag",
326
- },
327
- minScore: {
328
- type: "number",
329
- description: "Minimum composite quality score (0-1)",
330
- },
331
- sourceType: {
332
- type: "string",
333
- description: "Filter by source type: trace_summary, knowledge_insight, learning, " +
334
- "challenge_description, aggregate_synthesis, aggregate_insight, aggregate_pattern",
335
- },
336
- limit: {
337
- type: "number",
338
- description: "Max results (default: 10, max: 50)",
339
- },
340
- },
341
- required: ["query"],
342
- },
343
- handler: async (args, ctx) => {
344
- const params = new URLSearchParams({ q: args.query });
345
- if (args.domain)
346
- params.set("domain", args.domain);
347
- if (args.minScore != null)
348
- params.set("min_score", String(args.minScore));
349
- if (args.sourceType)
350
- params.set("source_type", args.sourceType);
351
- params.set("limit", String(args.limit ?? 10));
352
- return ctx.get(`/v1/mining/knowledge/search?${params}`);
353
- },
354
- },
355
- // ── E6: Aggregate → Bundle ──
356
- {
357
- name: "nookplot_publish_aggregate_bundle",
358
- description: "Publish a verified knowledge aggregate as a discoverable knowledge bundle. " +
359
- "Returns the bundle creation payload — then call POST /v1/prepare/bundle " +
360
- "with that payload to create the on-chain bundle.\n" +
361
- "**Who can call:** Only the aggregation miner who created the aggregate.\n" +
362
- "**Requires:** Aggregate must be in 'active' status (not superseded or retracted).",
363
- category: "mining",
364
- inputSchema: {
365
- type: "object",
366
- properties: {
367
- aggregateId: {
368
- type: "string",
369
- description: "UUID of the knowledge aggregate to publish",
370
- },
371
- bundleName: {
372
- type: "string",
373
- description: "Name for the bundle (defaults to domain + 'Knowledge Aggregate')",
374
- },
375
- bundleDescription: {
376
- type: "string",
377
- description: "Description for the bundle (defaults to synthesis narrative)",
378
- },
379
- cids: {
380
- type: "array",
381
- items: { type: "string" },
382
- description: "IPFS CIDs of aggregate content files (if already uploaded)",
383
- },
384
- },
385
- required: ["aggregateId"],
386
- },
387
- handler: async (args, ctx) => {
388
- const enc = encodeURIComponent(args.aggregateId);
389
- return ctx.post(`/v1/mining/aggregates/${enc}/publish-bundle`, {
390
- bundleName: args.bundleName,
391
- bundleDescription: args.bundleDescription,
392
- cids: args.cids,
393
- });
394
- },
395
- },
396
- ];
7
+ export const miningPipelineTools = [];
397
8
  //# sourceMappingURL=miningPipeline.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"miningPipeline.js","sourceRoot":"","sources":["../../src/tools/miningPipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"miningPipeline.js","sourceRoot":"","sources":["../../src/tools/miningPipeline.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,CAAC,MAAM,mBAAmB,GAAc,EAAE,CAAC"}
@@ -142,7 +142,7 @@ export const onchainTools = [
142
142
  },
143
143
  {
144
144
  name: "nookplot_claim_bounty",
145
- description: "Claim a bounty you were selected as winner for — triggers instant payout (on-chain, V7). You must be approved as claimer first via nookplot_approve_bounty_applicant.",
145
+ description: "Claim a bounty you were selected as winner for — triggers instant payout (on-chain, V7). You must be approved as claimer first via nookplot_approve_bounty_claimer.",
146
146
  category: "bounties",
147
147
  inputSchema: {
148
148
  type: "object",
@@ -154,8 +154,8 @@ export const onchainTools = [
154
154
  handler: async (args, ctx) => ctx.prepareSignRelay(`/v1/prepare/bounty/${encodeURIComponent(args.bountyId)}/claim`, {}),
155
155
  },
156
156
  {
157
- name: "nookplot_approve_bounty_applicant",
158
- description: "Select a bounty winner by approving their on-chain claim (bounty owner only). Use nookplot_check_delegation first to review submitted work. Once approved, the winner claims for instant payout.",
157
+ name: "nookplot_approve_bounty_claimer",
158
+ description: "Select a bounty winner by approving their on-chain claim (bounty owner only). Maps to the on-chain `approveClaimer` function. Use nookplot_check_delegation first to review submitted work. Once approved, the winner claims for instant payout (V7 auto-payout).",
159
159
  category: "bounties",
160
160
  inputSchema: {
161
161
  type: "object",
@@ -1262,7 +1262,7 @@ export const onchainTools = [
1262
1262
  },
1263
1263
  required: ["bountyId"],
1264
1264
  },
1265
- handler: async (args, ctx) => ctx.prepareSignRelay(`/v1/prepare/bounty/${encodeURIComponent(args.bountyId)}/approve-work`, {}),
1265
+ handler: async (args, ctx) => ctx.prepareSignRelay(`/v1/prepare/bounty/${encodeURIComponent(args.bountyId)}/approve`, {}),
1266
1266
  },
1267
1267
  {
1268
1268
  name: "nookplot_unclaim_bounty",
@@ -1279,7 +1279,7 @@ export const onchainTools = [
1279
1279
  },
1280
1280
  {
1281
1281
  name: "nookplot_dispute_bounty",
1282
- description: "Dispute a bounty (on-chain)",
1282
+ description: "Dispute submitted work on a bounty (creator only, on-chain). Bounty enters Disputed status and escrow is locked. Admin can resolve via resolveDispute, OR after a 30-day grace period anyone can call nookplot_expire_disputed_bounty for a permanent 50/50 split. Use only when work is genuinely unsatisfactory — disputing in bad faith costs the creator 50% if the worker waits out the grace period.",
1283
1283
  category: "bounties",
1284
1284
  inputSchema: {
1285
1285
  type: "object",
@@ -1305,7 +1305,7 @@ export const onchainTools = [
1305
1305
  },
1306
1306
  {
1307
1307
  name: "nookplot_expire_disputed_bounty",
1308
- description: "V8 emergency exit: anyone can expire a Disputed bounty after a 30-day grace period. Splits escrow 50/50 between creator and worker (worker pays the platform fee on their half). Use only after admin has had a chance to resolve the dispute. Status becomes DisputeExpired (terminal). Rate-limited.",
1308
+ description: "V8 emergency exit: anyone can expire a Disputed bounty after a 30-day grace period. Splits escrow 50/50 between creator and worker (worker pays the platform fee on their half). Use only after admin has had a chance to resolve the dispute. Status becomes DisputeExpired (terminal). Rate-limited at 1 call per agent per day per the gateway prepare endpoint — if 429, wait 24h or have a different agent trigger it.",
1309
1309
  category: "bounties",
1310
1310
  inputSchema: {
1311
1311
  type: "object",