@basilica/openclaw 0.5.0 → 0.6.0

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.
@@ -1,3 +1,3 @@
1
1
  import type { OpenClawPluginApi } from "openclaw-plugin-types";
2
- export declare function registerPromptContext(api: OpenClawPluginApi, config: Record<string, unknown>): void;
2
+ export declare function registerPromptContext(api: OpenClawPluginApi, _config: Record<string, unknown>): void;
3
3
  //# sourceMappingURL=prompt-context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-context.d.ts","sourceRoot":"","sources":["../../src/hooks/prompt-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAuC,MAAM,uBAAuB,CAAC;AAEpG,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CASnG"}
1
+ {"version":3,"file":"prompt-context.d.ts","sourceRoot":"","sources":["../../src/hooks/prompt-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAuC,MAAM,uBAAuB,CAAC;AA2CpG,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAMpG"}
@@ -1,10 +1,47 @@
1
- export function registerPromptContext(api, config) {
2
- const defaultProject = config.defaultProject;
1
+ const BASILICA_CONTEXT = `
2
+ ## Basilica Cloud Platform
3
+
4
+ You have access to the Basilica GPU cloud platform. Use it whenever the user asks to deploy code, run a service, rent GPUs, or perform any compute-intensive task.
5
+
6
+ ### Quick deploy (preferred approach)
7
+ Use \`basilica_deploy\` to deploy inline Python code. It packages the code, deploys it as a serverless container, and returns a live HTTPS URL.
8
+
9
+ Example -- deploy a FastAPI service:
10
+ \`\`\`
11
+ basilica_deploy({
12
+ source: "from fastapi import FastAPI\\nimport uvicorn\\n\\napp = FastAPI()\\n\\n@app.get('/')\\ndef root():\\n return {'status': 'running'}\\n\\nuvicorn.run(app, host='0.0.0.0', port=8000)",
13
+ pip_packages: ["fastapi", "uvicorn"]
14
+ })
15
+ \`\`\`
16
+ Returns: { instanceName: "<uuid>", url: "https://<uuid>.deployments.basilica.ai" }
17
+
18
+ ### When to use which tool
19
+ - **Deploy code/API/service** -> \`basilica_deploy\` (inline Python, auto-packages, returns URL)
20
+ - **Deploy pre-built Docker image** -> \`basilica_create_deployment\` (image, port, optional GPU)
21
+ - **Rent bare-metal GPU server** -> \`basilica_start_rental\` (SSH access, auto-falls back to secure cloud)
22
+ - **Check GPU pricing** -> \`basilica_list_gpu_prices\`
23
+ - **Check balance/billing** -> \`basilica_get_balance\`, \`basilica_usage_history\`
24
+ - **Manage existing** -> \`basilica_get_deployment\`, \`basilica_deployment_logs\`, \`basilica_scale_deployment\`, \`basilica_delete_deployment\`
25
+
26
+ ### Key details
27
+ - GPU categories: A100, H100, H200, B200, B300
28
+ - Deployments get a UUID as instanceName -- always use the returned name
29
+ - \`basilica_deploy\` defaults: python:3.11-slim, port 8000, 120s timeout
30
+ - For GPU workloads, pass image="pytorch/pytorch:2.1.0-cuda12.1-cudnn8-runtime" and set gpu_count
31
+ - Rentals try community cloud first, fall back to secure cloud automatically
32
+ - Use \`basilica_stop_rental\` to stop (works for both community and secure cloud)
33
+
34
+ ### Bittensor Ecosystem Data
35
+ - **Subnet data, metagraph, staking, validators** -> \`taostats_*\` tools (requires TAOSTATS_API_KEY)
36
+ - **TAO price and history** -> \`taostats_tao_price\`, \`taostats_tao_price_history\`, \`taostats_tao_price_ohlc\`
37
+ - **Subnet design knowledge base** -> \`chi_index\` (call first), \`chi_knowledge\`, \`chi_search\`
38
+ - **AI event predictions** -> \`numinous_*\` tools (requires NUMINOUS_API_KEY)
39
+ - **Market forecasting, volatility, options** -> \`synthdata_*\` tools (requires SYNTHDATA_API_KEY)
40
+ `.trim();
41
+ export function registerPromptContext(api, _config) {
3
42
  api.on("before_prompt_build", (_event) => {
4
- if (!defaultProject)
5
- return;
6
43
  return {
7
- prependSystemContext: `Basilica project context: ${defaultProject}`,
44
+ prependSystemContext: BASILICA_CONTEXT,
8
45
  };
9
46
  }, { priority: 10 });
10
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-context.js","sourceRoot":"","sources":["../../src/hooks/prompt-context.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,qBAAqB,CAAC,GAAsB,EAAE,MAA+B;IAC3F,MAAM,cAAc,GAAG,MAAM,CAAC,cAAoC,CAAC;IAEnE,GAAG,CAAC,EAAE,CAAC,qBAAqB,EAAE,CAAC,MAAwB,EAA4B,EAAE;QACnF,IAAI,CAAC,cAAc;YAAE,OAAO;QAC5B,OAAO;YACL,oBAAoB,EAAE,6BAA6B,cAAc,EAAE;SACpE,CAAC;IACJ,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"prompt-context.js","sourceRoot":"","sources":["../../src/hooks/prompt-context.ts"],"names":[],"mappings":"AAEA,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuCxB,CAAC,IAAI,EAAE,CAAC;AAET,MAAM,UAAU,qBAAqB,CAAC,GAAsB,EAAE,OAAgC;IAC5F,GAAG,CAAC,EAAE,CAAC,qBAAqB,EAAE,CAAC,MAAwB,EAAqB,EAAE;QAC5E,OAAO;YACL,oBAAoB,EAAE,gBAAgB;SACvC,CAAC;IACJ,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;AACvB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { OpenClawPluginApi } from "openclaw-plugin-types";
2
+ export declare function registerChiTools(api: OpenClawPluginApi): void;
3
+ //# sourceMappingURL=chi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chi.d.ts","sourceRoot":"","sources":["../../src/tools/chi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAK/D,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI,CAqD7D"}
@@ -0,0 +1,58 @@
1
+ import { ChiKnowledgeClient } from "@basilica/sdk";
2
+ const chiClient = new ChiKnowledgeClient();
3
+ export function registerChiTools(api) {
4
+ api.registerTool((_ctx) => ({
5
+ name: "chi_index",
6
+ label: "Chi Index",
7
+ description: "Get the Chi knowledge base index. Returns the full catalog of subnet design knowledge files with task routing. Call this first before chi_knowledge.",
8
+ parameters: { type: "object", properties: {} },
9
+ async execute() {
10
+ try {
11
+ const content = await chiClient.fetchFile("INDEX.yaml");
12
+ return { content };
13
+ }
14
+ catch (err) {
15
+ return { content: `Chi error: ${err instanceof Error ? err.message : String(err)}`, metadata: { error: true } };
16
+ }
17
+ },
18
+ }));
19
+ api.registerTool((_ctx) => ({
20
+ name: "chi_knowledge",
21
+ label: "Chi Knowledge",
22
+ description: "Fetch one or more knowledge files from the Chi subnet design knowledge base (max 10). Call chi_index first to see available files.",
23
+ parameters: {
24
+ type: "object",
25
+ properties: { files: { type: "array", items: { type: "string" }, description: "File names to fetch (max 10)" } },
26
+ required: ["files"],
27
+ },
28
+ async execute(_toolCallId, params) {
29
+ try {
30
+ const results = await chiClient.fetchMultiple(params.files);
31
+ return { content: JSON.stringify(results, null, 2) };
32
+ }
33
+ catch (err) {
34
+ return { content: `Chi error: ${err instanceof Error ? err.message : String(err)}`, metadata: { error: true } };
35
+ }
36
+ },
37
+ }));
38
+ api.registerTool((_ctx) => ({
39
+ name: "chi_search",
40
+ label: "Chi Search",
41
+ description: "Search the Chi knowledge base by keyword. Returns matching file names and relevant excerpts.",
42
+ parameters: {
43
+ type: "object",
44
+ properties: { query: { type: "string", description: "Search query" } },
45
+ required: ["query"],
46
+ },
47
+ async execute(_toolCallId, params) {
48
+ try {
49
+ const results = await chiClient.search(params.query);
50
+ return { content: JSON.stringify(results, null, 2) };
51
+ }
52
+ catch (err) {
53
+ return { content: `Chi error: ${err instanceof Error ? err.message : String(err)}`, metadata: { error: true } };
54
+ }
55
+ },
56
+ }));
57
+ }
58
+ //# sourceMappingURL=chi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chi.js","sourceRoot":"","sources":["../../src/tools/chi.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,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAS/D,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI,CAQlE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAa/D,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI,CAYlE"}
@@ -5,6 +5,10 @@ import { registerSecureCloudTools } from "./secure-cloud.js";
5
5
  import { registerBillingTools } from "./billing.js";
6
6
  import { registerAuthTools } from "./auth.js";
7
7
  import { registerDeployTool } from "./deploy.js";
8
+ import { registerTaoStatsTools } from "./taostats.js";
9
+ import { registerChiTools } from "./chi.js";
10
+ import { registerNuminousTools } from "./numinous.js";
11
+ import { registerSynthDataTools } from "./synthdata.js";
8
12
  export function registerBasilicaTools(api) {
9
13
  registerRentalTools(api);
10
14
  registerDeploymentTools(api);
@@ -13,5 +17,9 @@ export function registerBasilicaTools(api) {
13
17
  registerSecureCloudTools(api);
14
18
  registerBillingTools(api);
15
19
  registerAuthTools(api);
20
+ registerTaoStatsTools(api);
21
+ registerChiTools(api);
22
+ registerNuminousTools(api);
23
+ registerSynthDataTools(api);
16
24
  }
17
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,UAAU,qBAAqB,CAAC,GAAsB;IAC1D,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACzB,uBAAuB,CAAC,GAAG,CAAC,CAAC;IAC7B,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACxB,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACtB,wBAAwB,CAAC,GAAG,CAAC,CAAC;IAC9B,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAC1B,iBAAiB,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAExD,MAAM,UAAU,qBAAqB,CAAC,GAAsB;IAC1D,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACzB,uBAAuB,CAAC,GAAG,CAAC,CAAC;IAC7B,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACxB,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACtB,wBAAwB,CAAC,GAAG,CAAC,CAAC;IAC9B,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAC1B,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACvB,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAC3B,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACtB,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAC3B,sBAAsB,CAAC,GAAG,CAAC,CAAC;AAC9B,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { OpenClawPluginApi } from "openclaw-plugin-types";
2
+ export declare function registerNuminousTools(api: OpenClawPluginApi): void;
3
+ //# sourceMappingURL=numinous.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"numinous.d.ts","sourceRoot":"","sources":["../../src/tools/numinous.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAI/D,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI,CAqFlE"}
@@ -0,0 +1,81 @@
1
+ import { NuminousClient } from "@basilica/sdk";
2
+ export function registerNuminousTools(api) {
3
+ const apiKey = process.env.NUMINOUS_API_KEY;
4
+ function withClient(fn) {
5
+ if (!apiKey)
6
+ return Promise.resolve({ content: "Numinous API key not configured. Set NUMINOUS_API_KEY env var.", metadata: { error: true } });
7
+ const client = new NuminousClient(apiKey);
8
+ return fn(client)
9
+ .then((r) => ({ content: JSON.stringify(r, null, 2) }))
10
+ .catch((err) => ({ content: `Numinous error: ${err instanceof Error ? err.message : String(err)}`, metadata: { error: true } }));
11
+ }
12
+ api.registerTool((_ctx) => ({
13
+ name: "numinous_predict_query",
14
+ label: "Predict (NL)",
15
+ description: "Ask a natural language prediction question. Example: 'Will Bitcoin reach $120,000 by March 2026?'",
16
+ parameters: { type: "object", properties: { query: { type: "string", description: "Natural language prediction question" } }, required: ["query"] },
17
+ async execute(_id, p) { return withClient((c) => c.predictQuery(p.query)); },
18
+ }));
19
+ api.registerTool((_ctx) => ({
20
+ name: "numinous_predict",
21
+ label: "Predict (Structured)",
22
+ description: "Make a structured prediction with explicit event fields.",
23
+ parameters: {
24
+ type: "object",
25
+ properties: {
26
+ title: { type: "string" }, description: { type: "string" }, cutoff: { type: "string", description: "ISO datetime" },
27
+ topics: { type: "array", items: { type: "string" } }, forecaster_name: { type: "string" },
28
+ },
29
+ required: ["title", "description", "cutoff"],
30
+ },
31
+ async execute(_id, p) {
32
+ return withClient((c) => c.predict({
33
+ forecaster_name: p.forecaster_name ?? "pool_based_miner_forecaster",
34
+ title: p.title, description: p.description, cutoff: p.cutoff, topics: p.topics,
35
+ }));
36
+ },
37
+ }));
38
+ api.registerTool((_ctx) => ({
39
+ name: "numinous_create_job",
40
+ label: "Create Prediction Job",
41
+ description: "Create an async prediction job. Returns job ID to poll.",
42
+ parameters: {
43
+ type: "object",
44
+ properties: { query: { type: "string" }, title: { type: "string" }, description: { type: "string" }, cutoff: { type: "string" }, topics: { type: "array", items: { type: "string" } }, forecaster_name: { type: "string" } },
45
+ },
46
+ async execute(_id, p) { return withClient((c) => c.createPredictionJob(p)); },
47
+ }));
48
+ api.registerTool((_ctx) => ({
49
+ name: "numinous_get_job",
50
+ label: "Get Prediction Job",
51
+ description: "Get prediction job status and result by ID.",
52
+ parameters: { type: "object", properties: { prediction_id: { type: "string", description: "Job UUID" } }, required: ["prediction_id"] },
53
+ async execute(_id, p) { return withClient((c) => c.getPredictionJob(p.prediction_id)); },
54
+ }));
55
+ api.registerTool((_ctx) => ({
56
+ name: "numinous_predictions",
57
+ label: "Prediction History",
58
+ description: "Get historical predictions from a forecaster.",
59
+ parameters: {
60
+ type: "object",
61
+ properties: { forecaster_name: { type: "string" }, event_id: { type: "string" }, limit: { type: "number" }, offset: { type: "number" } },
62
+ required: ["forecaster_name"],
63
+ },
64
+ async execute(_id, p) { return withClient((c) => c.getPredictions(p)); },
65
+ }));
66
+ api.registerTool((_ctx) => ({
67
+ name: "numinous_leaderboard",
68
+ label: "Numinous Leaderboard",
69
+ description: "Get miner leaderboard ranked by prediction accuracy.",
70
+ parameters: { type: "object", properties: { limit: { type: "number" }, offset: { type: "number" } } },
71
+ async execute(_id, p) { return withClient((c) => c.getLeaderboard(p.limit, p.offset)); },
72
+ }));
73
+ api.registerTool((_ctx) => ({
74
+ name: "numinous_benchmark",
75
+ label: "Numinous Benchmark",
76
+ description: "Get baseline prediction benchmark data.",
77
+ parameters: { type: "object", properties: {} },
78
+ async execute() { return withClient((c) => c.getBenchmark()); },
79
+ }));
80
+ }
81
+ //# sourceMappingURL=numinous.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"numinous.js","sourceRoot":"","sources":["../../src/tools/numinous.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { OpenClawPluginApi } from "openclaw-plugin-types";
2
+ export declare function registerSynthDataTools(api: OpenClawPluginApi): void;
3
+ //# sourceMappingURL=synthdata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"synthdata.d.ts","sourceRoot":"","sources":["../../src/tools/synthdata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAsB/D,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI,CA0DnE"}
@@ -0,0 +1,75 @@
1
+ import { SynthDataClient } from "@basilica/sdk";
2
+ const SYNTHDATA_INFO = `SynthData Forecasting Plugin - Market prediction analytics.
3
+
4
+ Endpoints: prediction_percentiles, leaderboard_latest, volatility, option_pricing,
5
+ liquidation, lp_bounds, lp_probabilities, polymarket_up_down, polymarket_range, prediction_paths.
6
+
7
+ Common params: asset (BTC/ETH), horizon (1h/24h), extra_params for endpoint-specific fields.`;
8
+ function extractParams(args) {
9
+ const params = {};
10
+ if (args.asset)
11
+ params.asset = args.asset;
12
+ if (args.horizon)
13
+ params.horizon = args.horizon;
14
+ if (args.days)
15
+ params.days = args.days;
16
+ if (args.limit)
17
+ params.limit = args.limit;
18
+ const extra = args.extra_params;
19
+ if (extra)
20
+ Object.assign(params, extra);
21
+ return params;
22
+ }
23
+ export function registerSynthDataTools(api) {
24
+ const apiKey = process.env.SYNTHDATA_API_KEY;
25
+ function withClient(fn) {
26
+ if (!apiKey)
27
+ return Promise.resolve({ content: "SynthData API key not configured. Set SYNTHDATA_API_KEY env var.", metadata: { error: true } });
28
+ const client = new SynthDataClient(apiKey);
29
+ return fn(client)
30
+ .then((r) => ({ content: JSON.stringify(r, null, 2) }))
31
+ .catch((err) => ({ content: `SynthData error: ${err instanceof Error ? err.message : String(err)}`, metadata: { error: true } }));
32
+ }
33
+ const horizonProps = {
34
+ asset: { type: "string", description: "Asset (BTC, ETH)" },
35
+ horizon: { type: "string", description: "1h or 24h" },
36
+ extra_params: { type: "object", description: "Extra query parameters" },
37
+ };
38
+ api.registerTool((_ctx) => ({
39
+ name: "synthdata_info", label: "SynthData Info", description: "Describe SynthData endpoints and query patterns.",
40
+ parameters: { type: "object", properties: {} },
41
+ async execute() { return { content: SYNTHDATA_INFO }; },
42
+ }));
43
+ const simpleTools = [
44
+ { name: "synthdata_prediction_percentiles", label: "Prediction Percentiles", description: "Get price percentile forecasts at 5-min intervals.", fn: (c, p) => c.getPredictionPercentiles(p) },
45
+ { name: "synthdata_volatility", label: "Volatility", description: "Get volatility insights.", fn: (c, p) => c.getVolatility(p) },
46
+ { name: "synthdata_option_pricing", label: "Option Pricing", description: "Get theoretical option pricing.", fn: (c, p) => c.getOptionPricing(p) },
47
+ { name: "synthdata_liquidation", label: "Liquidation", description: "Get liquidation probabilities.", fn: (c, p) => c.getLiquidation(p) },
48
+ { name: "synthdata_lp_bounds", label: "LP Bounds", description: "Get LP range optimization bounds.", fn: (c, p) => c.getLpBounds(p) },
49
+ { name: "synthdata_lp_probabilities", label: "LP Probabilities", description: "Get LP price level probabilities.", fn: (c, p) => c.getLpProbabilities(p) },
50
+ { name: "synthdata_polymarket_range", label: "Polymarket Range", description: "Compare with Polymarket range markets.", fn: (c, p) => c.getPolymarketRange(p) },
51
+ ];
52
+ for (const t of simpleTools) {
53
+ api.registerTool((_ctx) => ({
54
+ name: t.name, label: t.label, description: t.description,
55
+ parameters: { type: "object", properties: horizonProps },
56
+ async execute(_id, params) { return withClient((c) => t.fn(c, extractParams(params))); },
57
+ }));
58
+ }
59
+ api.registerTool((_ctx) => ({
60
+ name: "synthdata_leaderboard_latest", label: "SynthData Leaderboard", description: "Get miner leaderboard.",
61
+ parameters: { type: "object", properties: { asset: { type: "string" }, days: { type: "number" }, limit: { type: "number" }, extra_params: { type: "object" } } },
62
+ async execute(_id, params) { return withClient((c) => c.getLeaderboardLatest(extractParams(params))); },
63
+ }));
64
+ api.registerTool((_ctx) => ({
65
+ name: "synthdata_polymarket_up_down", label: "Polymarket Up/Down", description: "Compare with Polymarket up/down markets.",
66
+ parameters: { type: "object", properties: { interval: { type: "string", description: "daily, hourly, or 15min" }, ...horizonProps }, required: ["interval"] },
67
+ async execute(_id, params) { return withClient((c) => c.getPolymarketUpDown(params.interval, extractParams(params))); },
68
+ }));
69
+ api.registerTool((_ctx) => ({
70
+ name: "synthdata_prediction_paths", label: "Prediction Paths", description: "Get full prediction paths (best/latest/historical).",
71
+ parameters: { type: "object", properties: { mode: { type: "string", description: "best, latest, or historical" }, extra_params: { type: "object" } }, required: ["mode"] },
72
+ async execute(_id, params) { return withClient((c) => c.getPredictionPaths(params.mode, extractParams(params))); },
73
+ }));
74
+ }
75
+ //# sourceMappingURL=synthdata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"synthdata.js","sourceRoot":"","sources":["../../src/tools/synthdata.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { OpenClawPluginApi } from "openclaw-plugin-types";
2
+ export declare function registerTaoStatsTools(api: OpenClawPluginApi): void;
3
+ //# sourceMappingURL=taostats.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taostats.d.ts","sourceRoot":"","sources":["../../src/tools/taostats.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG/D,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI,CAqDlE"}
@@ -0,0 +1,56 @@
1
+ import { TaoStatsClient } from "@basilica/sdk";
2
+ export function registerTaoStatsTools(api) {
3
+ const apiKey = process.env.TAOSTATS_API_KEY;
4
+ const toolDefs = [
5
+ { name: "taostats_subnets_list", label: "List Subnets", description: "List all Bittensor subnets with key metrics.", params: { limit: { type: "number" }, page: { type: "number" } }, run: (c, a) => c.getSubnets(a) },
6
+ { name: "taostats_subnets_identity", label: "Subnet Identity", description: "Get subnet identity: name, GitHub, tags.", params: { netuid: { type: "number", description: "Subnet netuid" } }, required: ["netuid"], run: (c, a) => c.getSubnetIdentity(a) },
7
+ { name: "taostats_subnets_pools", label: "Subnet Pools", description: "Get current subnet pool data (alpha token price).", params: { netuid: { type: "number" } }, run: (c, a) => c.getCurrentSubnetPools(a) },
8
+ { name: "taostats_subnets_pools_history", label: "Subnet Pools History", description: "Get historical subnet pool data.", params: { netuid: { type: "number" }, limit: { type: "number" }, page: { type: "number" } }, required: ["netuid"], run: (c, a) => c.getSubnetPoolsHistory(a) },
9
+ { name: "taostats_subnets_emission", label: "Subnet Emission", description: "Get emission data for a subnet.", params: { netuid: { type: "number" }, limit: { type: "number" } }, required: ["netuid"], run: (c, a) => c.getSubnetEmission(a) },
10
+ { name: "taostats_subnets_registration_cost", label: "Registration Cost", description: "Get neuron registration cost on a subnet.", params: { netuid: { type: "number" } }, required: ["netuid"], run: (c, a) => c.getCurrentSubnetRegistrationCost(a) },
11
+ { name: "taostats_subnets_owner", label: "Subnet Owner", description: "Get the owner coldkey of a subnet.", params: { netuid: { type: "number" } }, required: ["netuid"], run: (c, a) => c.getSubnetOwner(a) },
12
+ { name: "taostats_subnets_history", label: "Subnet History", description: "Get historical subnet hyperparameters.", params: { netuid: { type: "number" }, limit: { type: "number" }, page: { type: "number" } }, required: ["netuid"], run: (c, a) => c.getSubnetHistory(a) },
13
+ { name: "taostats_subnets_github_activity", label: "Subnet GitHub", description: "Get GitHub activity for a subnet.", params: { netuid: { type: "number" } }, required: ["netuid"], run: (c, a) => c.getSubnetGithubActivity(a) },
14
+ { name: "taostats_subnets_tao_flow", label: "TAO Flow", description: "Get TAO flow data for a subnet.", params: { netuid: { type: "number" }, limit: { type: "number" }, page: { type: "number" } }, required: ["netuid"], run: (c, a) => c.getSubnetTaoFlow(a) },
15
+ { name: "taostats_tao_price", label: "TAO Price", description: "Get the current TAO/USD price.", params: {}, run: (c) => c.getTaoPrice() },
16
+ { name: "taostats_tao_price_history", label: "TAO Price History", description: "Get historical TAO/USD prices.", params: { limit: { type: "number" }, page: { type: "number" } }, run: (c, a) => c.getTaoPriceHistory(a) },
17
+ { name: "taostats_tao_price_ohlc", label: "TAO OHLC", description: "Get TAO/USD OHLC candlestick data.", params: { limit: { type: "number" }, page: { type: "number" } }, run: (c, a) => c.getTaoPriceOHLC(a) },
18
+ { name: "taostats_metagraph_latest", label: "Metagraph Latest", description: "Get latest metagraph for a subnet.", params: { netuid: { type: "number" }, limit: { type: "number" }, page: { type: "number" } }, required: ["netuid"], run: (c, a) => c.getMetagraphLatest(a) },
19
+ { name: "taostats_metagraph_miner_weights", label: "Miner Weights", description: "Get validator-set weights for miners.", params: { netuid: { type: "number" }, uid: { type: "number" } }, required: ["netuid"], run: (c, a) => c.getLatestMinerWeight(a) },
20
+ { name: "taostats_metagraph_incentive_distribution", label: "Incentive Distribution", description: "Get miner incentive distribution.", params: { netuid: { type: "number" } }, required: ["netuid"], run: (c, a) => c.getMinerIncentiveDistribution(a) },
21
+ { name: "taostats_metagraph_neuron_registrations", label: "Neuron Registrations", description: "Get recent neuron registrations.", params: { netuid: { type: "number" }, limit: { type: "number" }, page: { type: "number" } }, required: ["netuid"], run: (c, a) => c.getNeuronRegistrations(a) },
22
+ { name: "taostats_metagraph_neuron_deregistrations", label: "Neuron Deregistrations", description: "Get recent neuron deregistrations.", params: { netuid: { type: "number" }, limit: { type: "number" }, page: { type: "number" } }, required: ["netuid"], run: (c, a) => c.getNeuronDeregistrations(a) },
23
+ { name: "taostats_metagraph_coldkey_distribution", label: "Coldkey Distribution", description: "Get neurons per coldkey on a subnet.", params: { netuid: { type: "number" } }, required: ["netuid"], run: (c, a) => c.getSubnetColdkeyDistribution(a) },
24
+ { name: "taostats_staking_balance", label: "Stake Balance", description: "Get dTAO stake balance.", params: { coldkey: { type: "string" }, hotkey: { type: "string" }, netuid: { type: "number" } }, run: (c, a) => c.getStakeBalance(a) },
25
+ { name: "taostats_staking_balance_sum", label: "Total Stake", description: "Get total stake in TAO for a coldkey.", params: { coldkey: { type: "string" } }, required: ["coldkey"], run: (c, a) => c.getStakeBalanceSumInTao(a) },
26
+ { name: "taostats_staking_slippage", label: "Slippage", description: "Calculate staking/unstaking slippage.", params: { netuid: { type: "number" }, tao: { type: "number" }, alpha: { type: "number" } }, required: ["netuid"], run: (c, a) => c.getSlippage(a) },
27
+ { name: "taostats_staking_delegation_events", label: "Delegation Events", description: "Get recent delegation events.", params: { coldkey: { type: "string" }, netuid: { type: "number" }, limit: { type: "number" }, page: { type: "number" } }, run: (c, a) => c.getDelegationEvents(a) },
28
+ { name: "taostats_chain_stats", label: "Chain Stats", description: "Get Bittensor chain statistics.", params: {}, run: (c) => c.getLatestStats() },
29
+ { name: "taostats_chain_blocks", label: "Recent Blocks", description: "Get recent chain blocks.", params: { limit: { type: "number" }, page: { type: "number" } }, run: (c, a) => c.getBlocks(a) },
30
+ { name: "taostats_chain_extrinsics", label: "Recent Extrinsics", description: "Get recent chain transactions.", params: { limit: { type: "number" }, page: { type: "number" } }, run: (c, a) => c.getExtrinsics(a) },
31
+ { name: "taostats_account_info", label: "Account Info", description: "Get account info for a Bittensor address.", params: { address: { type: "string" } }, required: ["address"], run: (c, a) => c.getAccount(a) },
32
+ { name: "taostats_account_transfers", label: "Account Transfers", description: "Get transfer history for an address.", params: { address: { type: "string" }, limit: { type: "number" }, page: { type: "number" } }, required: ["address"], run: (c, a) => c.getTransfers(a) },
33
+ { name: "taostats_validators_list", label: "Validators", description: "Get validators in a subnet.", params: { netuid: { type: "number" }, limit: { type: "number" }, page: { type: "number" } }, required: ["netuid"], run: (c, a) => c.getValidators(a) },
34
+ ];
35
+ for (const def of toolDefs) {
36
+ api.registerTool((_ctx) => ({
37
+ name: def.name,
38
+ label: def.label,
39
+ description: def.description,
40
+ parameters: { type: "object", properties: def.params, required: def.required },
41
+ async execute(_toolCallId, params) {
42
+ if (!apiKey)
43
+ return { content: "TaoStats API key not configured. Set TAOSTATS_API_KEY env var.", metadata: { error: true } };
44
+ try {
45
+ const client = new TaoStatsClient(apiKey);
46
+ const result = await def.run(client, params);
47
+ return { content: JSON.stringify(result, null, 2) };
48
+ }
49
+ catch (err) {
50
+ return { content: `TaoStats error: ${err instanceof Error ? err.message : String(err)}`, metadata: { error: true } };
51
+ }
52
+ },
53
+ }));
54
+ }
55
+ }
56
+ //# sourceMappingURL=taostats.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taostats.js","sourceRoot":"","sources":["../../src/tools/taostats.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@basilica/openclaw",
3
- "version": "0.5.0",
3
+ "version": "0.6.0",
4
4
  "type": "module",
5
5
  "description": "Basilica platform tools, hooks, skills, and gateway integration for OpenClaw",
6
6
  "main": "./dist/index.js",
@@ -28,7 +28,7 @@
28
28
  "clean": "rm -rf dist"
29
29
  },
30
30
  "dependencies": {
31
- "@basilica/sdk": "^0.5.0"
31
+ "@basilica/sdk": "^0.6.0"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@types/node": "^25.5.0",