@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.
@@ -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,WAmCZ,CAAC;AAEF,eAAe,KAAK,CAAC"}
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
- return { provider: await buildProvider(apiKey, baseUrl) };
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
- return buildCatalogRows(apiKey, baseUrl);
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":"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"}
@@ -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.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",