@teith/openclaw-runware-provider 0.2.2 → 0.2.4
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/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -2
- package/dist/index.js.map +1 -1
- package/dist/provider-discovery.d.ts +42 -0
- package/dist/provider-discovery.d.ts.map +1 -0
- package/dist/provider-discovery.js +81 -0
- package/dist/provider-discovery.js.map +1 -0
- package/openclaw.plugin.json +4 -0
- package/package.json +1 -1
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAGV,WAAW,EAEZ,MAAM,mBAAmB,CAAC;AA0E3B,QAAA,MAAM,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAGV,WAAW,EAEZ,MAAM,mBAAmB,CAAC;AA0E3B,QAAA,MAAM,KAAK,EAAE,WAwDZ,CAAC;AAEF,eAAe,KAAK,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -70,6 +70,8 @@ const entry = {
|
|
|
70
70
|
name: PROVIDER_LABEL,
|
|
71
71
|
description: "Runware — unified OpenAI-compatible access to Claude, GPT, Gemini, Qwen, GLM, MiniMax, Kimi, and Gemma.",
|
|
72
72
|
register(api) {
|
|
73
|
+
// eslint-disable-next-line no-console
|
|
74
|
+
console.error("[runware-plugin] register called, api keys:", Object.keys(api ?? {}));
|
|
73
75
|
api.registerProvider({
|
|
74
76
|
id: PROVIDER_ID,
|
|
75
77
|
label: PROVIDER_LABEL,
|
|
@@ -79,25 +81,43 @@ const entry = {
|
|
|
79
81
|
catalog: {
|
|
80
82
|
order: "simple",
|
|
81
83
|
run: async (ctx) => {
|
|
84
|
+
// eslint-disable-next-line no-console
|
|
85
|
+
console.error("[runware-plugin] catalog.run called, ctx keys:", Object.keys(ctx ?? {}));
|
|
82
86
|
const apiKey = resolveApiKey(ctx);
|
|
87
|
+
// eslint-disable-next-line no-console
|
|
88
|
+
console.error("[runware-plugin] catalog.run apiKey:", apiKey ? "yes" : "no");
|
|
83
89
|
if (!apiKey)
|
|
84
90
|
return null;
|
|
85
91
|
const baseUrl = getBaseUrl(ctx.env);
|
|
86
|
-
|
|
92
|
+
const provider = await buildProvider(apiKey, baseUrl);
|
|
93
|
+
// eslint-disable-next-line no-console
|
|
94
|
+
console.error("[runware-plugin] catalog.run returning provider with", provider.models.length, "models");
|
|
95
|
+
return { provider };
|
|
87
96
|
},
|
|
88
97
|
},
|
|
89
98
|
});
|
|
99
|
+
// eslint-disable-next-line no-console
|
|
100
|
+
console.error("[runware-plugin] registerProvider DONE");
|
|
90
101
|
api.registerModelCatalogProvider({
|
|
91
102
|
provider: PROVIDER_ID,
|
|
92
103
|
kinds: ["text"],
|
|
93
104
|
liveCatalog: async (ctx) => {
|
|
105
|
+
// eslint-disable-next-line no-console
|
|
106
|
+
console.error("[runware-plugin] liveCatalog called, ctx keys:", Object.keys(ctx ?? {}));
|
|
94
107
|
const apiKey = resolveApiKey(ctx);
|
|
108
|
+
// eslint-disable-next-line no-console
|
|
109
|
+
console.error("[runware-plugin] liveCatalog apiKey:", apiKey ? "yes" : "no");
|
|
95
110
|
if (!apiKey)
|
|
96
111
|
return null;
|
|
97
112
|
const baseUrl = getBaseUrl(ctx.env);
|
|
98
|
-
|
|
113
|
+
const rows = await buildCatalogRows(apiKey, baseUrl);
|
|
114
|
+
// eslint-disable-next-line no-console
|
|
115
|
+
console.error("[runware-plugin] liveCatalog returning", rows.length, "rows");
|
|
116
|
+
return rows;
|
|
99
117
|
},
|
|
100
118
|
});
|
|
119
|
+
// eslint-disable-next-line no-console
|
|
120
|
+
console.error("[runware-plugin] registerModelCatalogProvider DONE");
|
|
101
121
|
},
|
|
102
122
|
};
|
|
103
123
|
export default entry;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
interface DiscoveryEnv {
|
|
2
|
+
env?: Record<string, string | undefined>;
|
|
3
|
+
}
|
|
4
|
+
declare function buildProvider(ctx: DiscoveryEnv): Promise<{
|
|
5
|
+
provider: {
|
|
6
|
+
baseUrl: string;
|
|
7
|
+
apiKey: string;
|
|
8
|
+
api: "openai-completions";
|
|
9
|
+
timeoutSeconds: number;
|
|
10
|
+
models: {
|
|
11
|
+
id: string;
|
|
12
|
+
name: string;
|
|
13
|
+
reasoning: boolean;
|
|
14
|
+
input: readonly ["text"];
|
|
15
|
+
contextWindow: number;
|
|
16
|
+
maxTokens: number;
|
|
17
|
+
cost: {
|
|
18
|
+
input: number;
|
|
19
|
+
output: number;
|
|
20
|
+
cacheRead: number;
|
|
21
|
+
cacheWrite: number;
|
|
22
|
+
};
|
|
23
|
+
params: {
|
|
24
|
+
readonly extra_body: {
|
|
25
|
+
readonly reasoning_effort: "high";
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
}[];
|
|
29
|
+
};
|
|
30
|
+
}>;
|
|
31
|
+
declare const runwareProviderDiscovery: {
|
|
32
|
+
id: string;
|
|
33
|
+
label: string;
|
|
34
|
+
docsPath: string;
|
|
35
|
+
auth: never[];
|
|
36
|
+
staticCatalog: {
|
|
37
|
+
order: "simple";
|
|
38
|
+
run: typeof buildProvider;
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
export default runwareProviderDiscovery;
|
|
42
|
+
//# sourceMappingURL=provider-discovery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider-discovery.d.ts","sourceRoot":"","sources":["../src/provider-discovery.ts"],"names":[],"mappings":"AAcA,UAAU,YAAY;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CAC1C;AAuBD,iBAAe,aAAa,CAAC,GAAG,EAAE,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;GAuC7C;AAED,QAAA,MAAM,wBAAwB;;;;;;;;;CAS7B,CAAC;AAEF,eAAe,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { fetchModelIds } from "./catalog.js";
|
|
2
|
+
const PROVIDER_ID = "runware";
|
|
3
|
+
const PROVIDER_LABEL = "Runware";
|
|
4
|
+
const DEFAULT_BASE_URL = "https://api.runware.ai/v1";
|
|
5
|
+
const API_KEY_ENV_VAR = "RUNWARE_API_KEY";
|
|
6
|
+
const BASE_URL_ENV_VAR = "RUNWARE_BASE_URL";
|
|
7
|
+
const REQUEST_TIMEOUT_SECONDS = 600;
|
|
8
|
+
const MODEL_CONTEXT_WINDOW = 200_000;
|
|
9
|
+
const MODEL_MAX_TOKENS = 32_768;
|
|
10
|
+
const MODEL_PARAMS = { extra_body: { reasoning_effort: "high" } };
|
|
11
|
+
const ZERO_COST = { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 };
|
|
12
|
+
function getBaseUrl(env) {
|
|
13
|
+
const raw = env?.[BASE_URL_ENV_VAR] ?? process.env[BASE_URL_ENV_VAR];
|
|
14
|
+
const override = typeof raw === "string" ? raw.trim() : "";
|
|
15
|
+
return override.length > 0 ? override : DEFAULT_BASE_URL;
|
|
16
|
+
}
|
|
17
|
+
function getApiKey(env) {
|
|
18
|
+
const raw = env?.[API_KEY_ENV_VAR] ?? process.env[API_KEY_ENV_VAR];
|
|
19
|
+
return typeof raw === "string" && raw.length > 0 ? raw : undefined;
|
|
20
|
+
}
|
|
21
|
+
function humanizeModelId(id) {
|
|
22
|
+
return id
|
|
23
|
+
.replace(/[-_:@]/g, " ")
|
|
24
|
+
.replace(/\bfp8\b/gi, "FP8")
|
|
25
|
+
.trim()
|
|
26
|
+
.split(/\s+/)
|
|
27
|
+
.map((w) => (w.length > 0 ? w[0].toUpperCase() + w.slice(1) : w))
|
|
28
|
+
.join(" ");
|
|
29
|
+
}
|
|
30
|
+
async function buildProvider(ctx) {
|
|
31
|
+
// eslint-disable-next-line no-console
|
|
32
|
+
console.error("[runware-plugin] staticCatalog.run called, ctx keys:", Object.keys(ctx ?? {}));
|
|
33
|
+
const apiKey = getApiKey(ctx.env);
|
|
34
|
+
// eslint-disable-next-line no-console
|
|
35
|
+
console.error("[runware-plugin] staticCatalog apiKey:", apiKey ? "yes" : "no");
|
|
36
|
+
if (!apiKey) {
|
|
37
|
+
return {
|
|
38
|
+
provider: {
|
|
39
|
+
baseUrl: DEFAULT_BASE_URL,
|
|
40
|
+
apiKey: "",
|
|
41
|
+
api: "openai-completions",
|
|
42
|
+
timeoutSeconds: REQUEST_TIMEOUT_SECONDS,
|
|
43
|
+
models: [],
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
const baseUrl = getBaseUrl(ctx.env);
|
|
48
|
+
const ids = await fetchModelIds(baseUrl, apiKey);
|
|
49
|
+
// eslint-disable-next-line no-console
|
|
50
|
+
console.error("[runware-plugin] staticCatalog fetched", ids.length, "models");
|
|
51
|
+
return {
|
|
52
|
+
provider: {
|
|
53
|
+
baseUrl,
|
|
54
|
+
apiKey,
|
|
55
|
+
api: "openai-completions",
|
|
56
|
+
timeoutSeconds: REQUEST_TIMEOUT_SECONDS,
|
|
57
|
+
models: ids.map((id) => ({
|
|
58
|
+
id,
|
|
59
|
+
name: humanizeModelId(id),
|
|
60
|
+
reasoning: true,
|
|
61
|
+
input: ["text"],
|
|
62
|
+
contextWindow: MODEL_CONTEXT_WINDOW,
|
|
63
|
+
maxTokens: MODEL_MAX_TOKENS,
|
|
64
|
+
cost: ZERO_COST,
|
|
65
|
+
params: MODEL_PARAMS,
|
|
66
|
+
})),
|
|
67
|
+
},
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
const runwareProviderDiscovery = {
|
|
71
|
+
id: PROVIDER_ID,
|
|
72
|
+
label: PROVIDER_LABEL,
|
|
73
|
+
docsPath: "https://docs.runware.ai",
|
|
74
|
+
auth: [],
|
|
75
|
+
staticCatalog: {
|
|
76
|
+
order: "simple",
|
|
77
|
+
run: buildProvider,
|
|
78
|
+
},
|
|
79
|
+
};
|
|
80
|
+
export default runwareProviderDiscovery;
|
|
81
|
+
//# sourceMappingURL=provider-discovery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider-discovery.js","sourceRoot":"","sources":["../src/provider-discovery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,WAAW,GAAG,SAAS,CAAC;AAC9B,MAAM,cAAc,GAAG,SAAS,CAAC;AACjC,MAAM,gBAAgB,GAAG,2BAA2B,CAAC;AACrD,MAAM,eAAe,GAAG,iBAAiB,CAAC;AAC1C,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AAC5C,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAEpC,MAAM,oBAAoB,GAAG,OAAO,CAAC;AACrC,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAChC,MAAM,YAAY,GAAG,EAAE,UAAU,EAAE,EAAE,gBAAgB,EAAE,MAAM,EAAE,EAAW,CAAC;AAC3E,MAAM,SAAS,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;AAMvE,SAAS,UAAU,CAAC,GAAwC;IAC1D,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACrE,MAAM,QAAQ,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3D,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC;AAC3D,CAAC;AAED,SAAS,SAAS,CAAC,GAAwC;IACzD,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,eAAe,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACnE,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;AACrE,CAAC;AAED,SAAS,eAAe,CAAC,EAAU;IACjC,OAAO,EAAE;SACN,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;SACvB,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC;SAC3B,IAAI,EAAE;SACN,KAAK,CAAC,KAAK,CAAC;SACZ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACjE,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,GAAiB;IAC5C,sCAAsC;IACtC,OAAO,CAAC,KAAK,CAAC,sDAAsD,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;IAC9F,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClC,sCAAsC;IACtC,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC/E,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO;YACL,QAAQ,EAAE;gBACR,OAAO,EAAE,gBAAgB;gBACzB,MAAM,EAAE,EAAE;gBACV,GAAG,EAAE,oBAA6B;gBAClC,cAAc,EAAE,uBAAuB;gBACvC,MAAM,EAAE,EAAE;aACX;SACF,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACjD,sCAAsC;IACtC,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC9E,OAAO;QACL,QAAQ,EAAE;YACR,OAAO;YACP,MAAM;YACN,GAAG,EAAE,oBAA6B;YAClC,cAAc,EAAE,uBAAuB;YACvC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBACvB,EAAE;gBACF,IAAI,EAAE,eAAe,CAAC,EAAE,CAAC;gBACzB,SAAS,EAAE,IAAI;gBACf,KAAK,EAAE,CAAC,MAAM,CAAU;gBACxB,aAAa,EAAE,oBAAoB;gBACnC,SAAS,EAAE,gBAAgB;gBAC3B,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,YAAY;aACrB,CAAC,CAAC;SACJ;KACF,CAAC;AACJ,CAAC;AAED,MAAM,wBAAwB,GAAG;IAC/B,EAAE,EAAE,WAAW;IACf,KAAK,EAAE,cAAc;IACrB,QAAQ,EAAE,yBAAyB;IACnC,IAAI,EAAE,EAAE;IACR,aAAa,EAAE;QACb,KAAK,EAAE,QAAiB;QACxB,GAAG,EAAE,aAAa;KACnB;CACF,CAAC;AAEF,eAAe,wBAAwB,CAAC"}
|
package/openclaw.plugin.json
CHANGED
|
@@ -12,6 +12,10 @@
|
|
|
12
12
|
"activation": { "onStartup": true },
|
|
13
13
|
"enabledByDefault": true,
|
|
14
14
|
"providers": ["runware"],
|
|
15
|
+
"providerCatalogEntry": "./dist/provider-discovery.js",
|
|
16
|
+
"modelCatalog": {
|
|
17
|
+
"discovery": { "runware": "static" }
|
|
18
|
+
},
|
|
15
19
|
"providerAuthEnvVars": {
|
|
16
20
|
"runware": ["RUNWARE_API_KEY"]
|
|
17
21
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teith/openclaw-runware-provider",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.4",
|
|
4
4
|
"description": "OpenClaw provider plugin for Runware — unified OpenAI-compatible access to Claude, GPT, Gemini, Qwen, GLM, MiniMax, Kimi, and Gemma.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|