clawmoney 0.17.13 → 0.17.15
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.
|
@@ -3,19 +3,35 @@ import chalk from "chalk";
|
|
|
3
3
|
import { apiPost } from "../utils/api.js";
|
|
4
4
|
import { loadConfig } from "../utils/config.js";
|
|
5
5
|
import { setupCommand } from "./setup.js";
|
|
6
|
+
// Routing kept in sync with bnbot-api app/core/market_skill_routing.py.
|
|
7
|
+
// Data analyses, code generation, and code reviews are escrow because the
|
|
8
|
+
// caller usually wants to inspect the deliverable before releasing funds.
|
|
9
|
+
//
|
|
10
|
+
// Backend SkillCategory enum has more entries than this wizard shows. We
|
|
11
|
+
// intentionally HIDE the following because they offer no differentiated
|
|
12
|
+
// value in an agent marketplace today:
|
|
13
|
+
// - search/web — every provider can hit Tavily/Brave/SerpAPI
|
|
14
|
+
// direct at the same prices; nothing to
|
|
15
|
+
// arbitrage
|
|
16
|
+
// - transformation/translate — modern LLMs translate inline, no need to
|
|
17
|
+
// outsource the call
|
|
18
|
+
// - transformation/stt — whisper.cpp is free and local; whisper API
|
|
19
|
+
// is $0.006/min, almost no margin
|
|
20
|
+
// - generation/text — overlaps entirely with the Relay product
|
|
21
|
+
// (sell LLM capacity directly via subscription
|
|
22
|
+
// resale instead of per-call markup)
|
|
23
|
+
//
|
|
24
|
+
// Those backend enum values are still valid — high-end providers who really
|
|
25
|
+
// want to list them can use `clawmoney market register --category <value>`.
|
|
6
26
|
const CATEGORIES = [
|
|
7
27
|
{ value: "generation/image", routing: "instant", timeoutS: 120, suggestedPrice: 0.02, priceRange: [0.01, 0.50], defaultName: "gen-image", placeholderDesc: "Generate a 1024x1024 image from a text prompt" },
|
|
8
28
|
{ value: "generation/video", routing: "instant", timeoutS: 300, suggestedPrice: 0.10, priceRange: [0.05, 1.00], defaultName: "gen-video", placeholderDesc: "Generate a short AI video clip from a text prompt" },
|
|
9
|
-
{ value: "generation/video_long", routing: "escrow", timeoutS: null, suggestedPrice: 5.00, priceRange: [1.00, 50.00], defaultName: "gen-video-long", placeholderDesc: "Generate long-form narrated video (escrow)" },
|
|
10
|
-
{ value: "generation/text", routing: "instant", timeoutS: 120, suggestedPrice: 0.01, priceRange: [0.005, 0.20], defaultName: "gen-text", placeholderDesc: "Generate text from a prompt" },
|
|
11
29
|
{ value: "generation/audio", routing: "instant", timeoutS: 180, suggestedPrice: 0.05, priceRange: [0.02, 0.50], defaultName: "gen-audio", placeholderDesc: "Generate music or sound effects from a prompt" },
|
|
12
|
-
{ value: "transformation/translate", routing: "instant", timeoutS: 60, suggestedPrice: 0.01, priceRange: [0.005, 0.10], defaultName: "translate", placeholderDesc: "Translate text between languages" },
|
|
13
30
|
{ value: "transformation/tts", routing: "instant", timeoutS: 120, suggestedPrice: 0.02, priceRange: [0.01, 0.20], defaultName: "tts", placeholderDesc: "Convert text to natural-sounding speech" },
|
|
14
|
-
{ value: "
|
|
15
|
-
{ value: "
|
|
16
|
-
{ value: "
|
|
17
|
-
{ value: "coding/
|
|
18
|
-
{ value: "coding/review", routing: "instant", timeoutS: 180, suggestedPrice: 0.05, priceRange: [0.02, 0.50], defaultName: "code-review", placeholderDesc: "Review a diff or PR for bugs and style issues" },
|
|
31
|
+
{ value: "generation/video_long", routing: "escrow", timeoutS: null, suggestedPrice: 5.00, priceRange: [1.00, 50.00], defaultName: "gen-video-long", placeholderDesc: "Generate long-form narrated video (escrow)" },
|
|
32
|
+
{ value: "analysis/data", routing: "escrow", timeoutS: null, suggestedPrice: 0.50, priceRange: [0.10, 5.00], defaultName: "data-analysis", placeholderDesc: "Analyze a dataset and deliver a report" },
|
|
33
|
+
{ value: "coding/generation", routing: "escrow", timeoutS: null, suggestedPrice: 1.00, priceRange: [0.20, 10.00], defaultName: "code-gen", placeholderDesc: "Generate code or a small project from a spec" },
|
|
34
|
+
{ value: "coding/review", routing: "escrow", timeoutS: null, suggestedPrice: 0.50, priceRange: [0.10, 5.00], defaultName: "code-review", placeholderDesc: "Review a diff or PR for bugs and style issues" },
|
|
19
35
|
{ value: "other", routing: "auto", timeoutS: null, suggestedPrice: 0.02, priceRange: [0.01, 1.00], defaultName: "", placeholderDesc: "Describe what this skill does" },
|
|
20
36
|
];
|
|
21
37
|
const PRICE_THRESHOLD_FOR_ESCROW = 1.0; // mirrors backend constant
|