@openclaw/gmi-provider 2026.7.2-beta.5 → 2026.7.33

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/README.md CHANGED
@@ -11,4 +11,4 @@ openclaw gateway restart
11
11
  ```
12
12
 
13
13
  Configure a GMI Cloud API key, then select models with refs such as
14
- `gmi/openai/gpt-5.6-sol`.
14
+ `gmi/google/gemini-3.1-flash-lite`.
@@ -0,0 +1,113 @@
1
+ import { buildManifestModelProviderConfig } from "openclaw/plugin-sdk/provider-catalog-shared";
2
+ //#endregion
3
+ //#region extensions/gmi/models.ts
4
+ const GMI_MANIFEST_PROVIDER = buildManifestModelProviderConfig({
5
+ providerId: "gmi",
6
+ catalog: {
7
+ "aliases": {
8
+ "gmi-cloud": { "provider": "gmi" },
9
+ "gmicloud": { "provider": "gmi" }
10
+ },
11
+ "providers": { "gmi": {
12
+ "baseUrl": "https://api.gmi-serving.com/v1",
13
+ "api": "openai-completions",
14
+ "models": [
15
+ {
16
+ "id": "zai-org/GLM-5.1-FP8",
17
+ "name": "GLM-5.1 FP8",
18
+ "reasoning": true,
19
+ "input": ["text"],
20
+ "contextWindow": 202752,
21
+ "maxTokens": 65536,
22
+ "cost": {
23
+ "input": 0,
24
+ "output": 0,
25
+ "cacheRead": 0,
26
+ "cacheWrite": 0
27
+ }
28
+ },
29
+ {
30
+ "id": "deepseek-ai/DeepSeek-V3.2",
31
+ "name": "DeepSeek V3.2",
32
+ "reasoning": false,
33
+ "input": ["text"],
34
+ "contextWindow": 163840,
35
+ "maxTokens": 65536,
36
+ "cost": {
37
+ "input": 0,
38
+ "output": 0,
39
+ "cacheRead": 0,
40
+ "cacheWrite": 0
41
+ }
42
+ },
43
+ {
44
+ "id": "moonshotai/Kimi-K2.5",
45
+ "name": "Kimi K2.5",
46
+ "reasoning": true,
47
+ "input": ["text", "image"],
48
+ "contextWindow": 262144,
49
+ "maxTokens": 65536,
50
+ "cost": {
51
+ "input": 0,
52
+ "output": 0,
53
+ "cacheRead": 0,
54
+ "cacheWrite": 0
55
+ }
56
+ },
57
+ {
58
+ "id": "google/gemini-3.1-flash-lite",
59
+ "name": "Gemini 3.1 Flash Lite",
60
+ "reasoning": false,
61
+ "input": ["text", "image"],
62
+ "contextWindow": 1048576,
63
+ "maxTokens": 65536,
64
+ "cost": {
65
+ "input": 0,
66
+ "output": 0,
67
+ "cacheRead": 0,
68
+ "cacheWrite": 0
69
+ }
70
+ },
71
+ {
72
+ "id": "anthropic/claude-sonnet-4.6",
73
+ "name": "Claude Sonnet 4.6",
74
+ "reasoning": false,
75
+ "input": ["text", "image"],
76
+ "contextWindow": 2e5,
77
+ "maxTokens": 64e3,
78
+ "cost": {
79
+ "input": 0,
80
+ "output": 0,
81
+ "cacheRead": 0,
82
+ "cacheWrite": 0
83
+ }
84
+ },
85
+ {
86
+ "id": "openai/gpt-5.4",
87
+ "name": "GPT-5.4",
88
+ "reasoning": true,
89
+ "input": ["text", "image"],
90
+ "contextWindow": 4e5,
91
+ "maxTokens": 128e3,
92
+ "cost": {
93
+ "input": 0,
94
+ "output": 0,
95
+ "cacheRead": 0,
96
+ "cacheWrite": 0
97
+ }
98
+ }
99
+ ]
100
+ } }
101
+ }.providers.gmi
102
+ });
103
+ const GMI_BASE_URL = GMI_MANIFEST_PROVIDER.baseUrl;
104
+ const GMI_MODEL_CATALOG = GMI_MANIFEST_PROVIDER.models;
105
+ const GMI_DEFAULT_MODEL_REF = "gmi/google/gemini-3.1-flash-lite";
106
+ function buildGmiModelDefinition(model) {
107
+ return {
108
+ ...model,
109
+ api: "openai-completions"
110
+ };
111
+ }
112
+ //#endregion
113
+ export { buildGmiModelDefinition as i, GMI_DEFAULT_MODEL_REF as n, GMI_MODEL_CATALOG as r, GMI_BASE_URL as t };
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { r as openclaw_plugin_default } from "./models-BndslMVk.js";
1
+ import { n as GMI_DEFAULT_MODEL_REF } from "./.setup/models-CHdeYrhM.mjs";
2
2
  import { buildGmiProvider } from "./provider-catalog.js";
3
3
  import { readConfiguredProviderCatalogEntries } from "openclaw/plugin-sdk/provider-catalog-shared";
4
4
  import { defineSingleProviderPluginEntry } from "openclaw/plugin-sdk/provider-entry";
@@ -10,20 +10,27 @@ var gmi_default = defineSingleProviderPluginEntry({
10
10
  id: PROVIDER_ID,
11
11
  name: "GMI Cloud Provider",
12
12
  description: "GMI Cloud provider plugin",
13
- manifest: openclaw_plugin_default,
14
13
  provider: {
15
14
  label: "GMI Cloud",
16
15
  docsPath: "/providers/gmi",
17
16
  aliases: ["gmi-cloud", "gmicloud"],
18
- manifestAuth: {
17
+ envVars: ["GMI_API_KEY"],
18
+ auth: [{
19
+ methodId: "api-key",
20
+ label: "GMI Cloud API key",
21
+ hint: "OpenAI-compatible GMI Cloud endpoint",
22
+ optionKey: "gmiApiKey",
23
+ flagName: "--gmi-api-key",
24
+ envVar: "GMI_API_KEY",
25
+ promptMessage: "Enter GMI Cloud API key",
26
+ defaultModel: GMI_DEFAULT_MODEL_REF,
19
27
  noteTitle: "GMI Cloud",
20
28
  noteMessage: "Manage API keys at https://www.gmicloud.ai/"
21
- },
29
+ }],
22
30
  catalog: {
23
31
  buildProvider: buildGmiProvider,
24
32
  buildStaticProvider: buildGmiProvider,
25
- allowExplicitBaseUrl: true,
26
- liveModelDiscovery: true
33
+ allowExplicitBaseUrl: true
27
34
  },
28
35
  augmentModelCatalog: ({ config }) => readConfiguredProviderCatalogEntries({
29
36
  config,
package/dist/models.js CHANGED
@@ -1,2 +1,2 @@
1
- import { n as GMI_MODEL_CATALOG, t as GMI_BASE_URL } from "./models-BndslMVk.js";
2
- export { GMI_BASE_URL, GMI_MODEL_CATALOG };
1
+ import { i as buildGmiModelDefinition, n as GMI_DEFAULT_MODEL_REF, r as GMI_MODEL_CATALOG, t as GMI_BASE_URL } from "./.setup/models-CHdeYrhM.mjs";
2
+ export { GMI_BASE_URL, GMI_DEFAULT_MODEL_REF, GMI_MODEL_CATALOG, buildGmiModelDefinition };
@@ -1,10 +1,10 @@
1
- import { n as GMI_MODEL_CATALOG, t as GMI_BASE_URL } from "./models-BndslMVk.js";
1
+ import { i as buildGmiModelDefinition, r as GMI_MODEL_CATALOG, t as GMI_BASE_URL } from "./.setup/models-CHdeYrhM.mjs";
2
2
  //#region extensions/gmi/provider-catalog.ts
3
3
  function buildGmiProvider() {
4
4
  return {
5
5
  baseUrl: GMI_BASE_URL,
6
6
  api: "openai-completions",
7
- models: structuredClone(GMI_MODEL_CATALOG)
7
+ models: GMI_MODEL_CATALOG.map(buildGmiModelDefinition)
8
8
  };
9
9
  }
10
10
  //#endregion
@@ -73,131 +73,93 @@
73
73
  "gmi": {
74
74
  "baseUrl": "https://api.gmi-serving.com/v1",
75
75
  "api": "openai-completions",
76
- "defaultModel": "openai/gpt-5.6-sol",
77
76
  "models": [
78
- {
79
- "id": "zai-org/GLM-5.2-FP8",
80
- "name": "GLM-5.2 FP8",
81
- "reasoning": true,
82
- "input": ["text"],
83
- "contextWindow": 1048576,
84
- "maxTokens": 128000,
85
- "cost": {
86
- "input": 0.923,
87
- "output": 2.903,
88
- "cacheRead": 0.171,
89
- "cacheWrite": 0
90
- }
91
- },
92
77
  {
93
78
  "id": "zai-org/GLM-5.1-FP8",
94
79
  "name": "GLM-5.1 FP8",
95
- "status": "deprecated",
96
- "replacedBy": "zai-org/GLM-5.2-FP8",
97
80
  "reasoning": true,
98
81
  "input": ["text"],
99
82
  "contextWindow": 202752,
100
83
  "maxTokens": 65536,
101
84
  "cost": {
102
- "input": 0.979,
103
- "output": 3.08,
104
- "cacheRead": 0.182,
105
- "cacheWrite": 0
106
- }
107
- },
108
- {
109
- "id": "deepseek-ai/DeepSeek-V4-Pro",
110
- "name": "DeepSeek V4 Pro",
111
- "reasoning": true,
112
- "input": ["text"],
113
- "contextWindow": 1048576,
114
- "maxTokens": 384000,
115
- "cost": {
116
- "input": 0.678,
117
- "output": 1.357,
118
- "cacheRead": 0.056,
85
+ "input": 0,
86
+ "output": 0,
87
+ "cacheRead": 0,
119
88
  "cacheWrite": 0
120
89
  }
121
90
  },
122
91
  {
123
92
  "id": "deepseek-ai/DeepSeek-V3.2",
124
93
  "name": "DeepSeek V3.2",
125
- "status": "deprecated",
126
- "replacedBy": "deepseek-ai/DeepSeek-V4-Pro",
127
94
  "reasoning": false,
128
95
  "input": ["text"],
129
96
  "contextWindow": 163840,
130
97
  "maxTokens": 65536,
131
98
  "cost": {
132
- "input": 0.29,
133
- "output": 0.43,
134
- "cacheRead": 0.03,
99
+ "input": 0,
100
+ "output": 0,
101
+ "cacheRead": 0,
135
102
  "cacheWrite": 0
136
103
  }
137
104
  },
138
105
  {
139
- "id": "google/gemini-3.5-flash-lite",
140
- "name": "Gemini 3.5 Flash Lite",
106
+ "id": "moonshotai/Kimi-K2.5",
107
+ "name": "Kimi K2.5",
141
108
  "reasoning": true,
142
109
  "input": ["text", "image"],
143
- "contextWindow": 1048576,
110
+ "contextWindow": 262144,
144
111
  "maxTokens": 65536,
145
112
  "cost": {
146
- "input": 0.3,
147
- "output": 2.5,
148
- "cacheRead": 0.03,
113
+ "input": 0,
114
+ "output": 0,
115
+ "cacheRead": 0,
149
116
  "cacheWrite": 0
150
117
  }
151
118
  },
152
119
  {
153
- "id": "anthropic/claude-sonnet-5",
154
- "name": "Claude Sonnet 5",
155
- "reasoning": true,
120
+ "id": "google/gemini-3.1-flash-lite",
121
+ "name": "Gemini 3.1 Flash Lite",
122
+ "reasoning": false,
156
123
  "input": ["text", "image"],
157
- "contextWindow": 409600,
158
- "maxTokens": 128000,
124
+ "contextWindow": 1048576,
125
+ "maxTokens": 65536,
159
126
  "cost": {
160
- "input": 2,
161
- "output": 10,
162
- "cacheRead": 0.2,
127
+ "input": 0,
128
+ "output": 0,
129
+ "cacheRead": 0,
163
130
  "cacheWrite": 0
164
131
  }
165
132
  },
166
133
  {
167
134
  "id": "anthropic/claude-sonnet-4.6",
168
135
  "name": "Claude Sonnet 4.6",
169
- "status": "deprecated",
170
- "replacedBy": "anthropic/claude-sonnet-5",
171
- "reasoning": true,
136
+ "reasoning": false,
172
137
  "input": ["text", "image"],
173
- "contextWindow": 409600,
138
+ "contextWindow": 200000,
174
139
  "maxTokens": 64000,
175
140
  "cost": {
176
- "input": 3,
177
- "output": 15,
178
- "cacheRead": 0.3,
141
+ "input": 0,
142
+ "output": 0,
143
+ "cacheRead": 0,
179
144
  "cacheWrite": 0
180
145
  }
181
146
  },
182
147
  {
183
- "id": "openai/gpt-5.6-sol",
184
- "name": "GPT-5.6 Sol",
148
+ "id": "openai/gpt-5.4",
149
+ "name": "GPT-5.4",
185
150
  "reasoning": true,
186
151
  "input": ["text", "image"],
187
- "contextWindow": 1050000,
152
+ "contextWindow": 400000,
188
153
  "maxTokens": 128000,
189
154
  "cost": {
190
- "input": 5,
191
- "output": 30,
192
- "cacheRead": 0.5,
193
- "cacheWrite": 6.25
155
+ "input": 0,
156
+ "output": 0,
157
+ "cacheRead": 0,
158
+ "cacheWrite": 0
194
159
  }
195
160
  }
196
161
  ]
197
162
  }
198
- },
199
- "discovery": {
200
- "gmi": "refreshable"
201
163
  }
202
164
  }
203
165
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/gmi-provider",
3
- "version": "2026.7.2-beta.5",
3
+ "version": "2026.7.33",
4
4
  "description": "OpenClaw GMI Cloud provider plugin.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -18,10 +18,10 @@
18
18
  "minHostVersion": ">=2026.6.8"
19
19
  },
20
20
  "compat": {
21
- "pluginApi": ">=2026.7.2-beta.5"
21
+ "pluginApi": ">=2026.7.33"
22
22
  },
23
23
  "build": {
24
- "openclawVersion": "2026.7.2-beta.5",
24
+ "openclawVersion": "2026.7.33",
25
25
  "bundledDist": false
26
26
  },
27
27
  "release": {
@@ -38,7 +38,7 @@
38
38
  "README.md"
39
39
  ],
40
40
  "peerDependencies": {
41
- "openclaw": ">=2026.7.2-beta.5"
41
+ "openclaw": ">=2026.7.33"
42
42
  },
43
43
  "peerDependenciesMeta": {
44
44
  "openclaw": {
@@ -1,197 +0,0 @@
1
- import { buildManifestModelDefinition } from "openclaw/plugin-sdk/provider-catalog-shared";
2
- //#region extensions/gmi/openclaw.plugin.json
3
- var openclaw_plugin_default = {
4
- id: "gmi",
5
- name: "GMI Cloud",
6
- description: "OpenClaw GMI Cloud provider plugin.",
7
- activation: { "onStartup": false },
8
- enabledByDefault: true,
9
- providers: [
10
- "gmi",
11
- "gmi-cloud",
12
- "gmicloud"
13
- ],
14
- providerAuthAliases: {
15
- "gmi-cloud": "gmi",
16
- "gmicloud": "gmi"
17
- },
18
- providerEndpoints: [{
19
- "endpointClass": "gmi-native",
20
- "hosts": ["api.gmi-serving.com"]
21
- }],
22
- providerRequest: { "providers": {
23
- "gmi": { "family": "gmi" },
24
- "gmi-cloud": { "family": "gmi" },
25
- "gmicloud": { "family": "gmi" }
26
- } },
27
- setup: { "providers": [{
28
- "id": "gmi",
29
- "envVars": ["GMI_API_KEY"]
30
- }] },
31
- providerAuthChoices: [{
32
- "provider": "gmi",
33
- "method": "api-key",
34
- "choiceId": "gmi-api-key",
35
- "appGuidedSecret": true,
36
- "choiceLabel": "GMI Cloud API key",
37
- "choiceHint": "OpenAI-compatible GMI Cloud endpoint",
38
- "groupId": "gmi",
39
- "groupLabel": "GMI Cloud",
40
- "groupHint": "OpenAI-compatible GMI Cloud endpoint",
41
- "optionKey": "gmiApiKey",
42
- "cliFlag": "--gmi-api-key",
43
- "cliOption": "--gmi-api-key <key>",
44
- "cliDescription": "GMI Cloud API key"
45
- }],
46
- configSchema: {
47
- "type": "object",
48
- "additionalProperties": false,
49
- "properties": {}
50
- },
51
- modelCatalog: {
52
- "aliases": {
53
- "gmi-cloud": { "provider": "gmi" },
54
- "gmicloud": { "provider": "gmi" }
55
- },
56
- "providers": { "gmi": {
57
- "baseUrl": "https://api.gmi-serving.com/v1",
58
- "api": "openai-completions",
59
- "defaultModel": "openai/gpt-5.6-sol",
60
- "models": [
61
- {
62
- "id": "zai-org/GLM-5.2-FP8",
63
- "name": "GLM-5.2 FP8",
64
- "reasoning": true,
65
- "input": ["text"],
66
- "contextWindow": 1048576,
67
- "maxTokens": 128e3,
68
- "cost": {
69
- "input": .923,
70
- "output": 2.903,
71
- "cacheRead": .171,
72
- "cacheWrite": 0
73
- }
74
- },
75
- {
76
- "id": "zai-org/GLM-5.1-FP8",
77
- "name": "GLM-5.1 FP8",
78
- "status": "deprecated",
79
- "replacedBy": "zai-org/GLM-5.2-FP8",
80
- "reasoning": true,
81
- "input": ["text"],
82
- "contextWindow": 202752,
83
- "maxTokens": 65536,
84
- "cost": {
85
- "input": .979,
86
- "output": 3.08,
87
- "cacheRead": .182,
88
- "cacheWrite": 0
89
- }
90
- },
91
- {
92
- "id": "deepseek-ai/DeepSeek-V4-Pro",
93
- "name": "DeepSeek V4 Pro",
94
- "reasoning": true,
95
- "input": ["text"],
96
- "contextWindow": 1048576,
97
- "maxTokens": 384e3,
98
- "cost": {
99
- "input": .678,
100
- "output": 1.357,
101
- "cacheRead": .056,
102
- "cacheWrite": 0
103
- }
104
- },
105
- {
106
- "id": "deepseek-ai/DeepSeek-V3.2",
107
- "name": "DeepSeek V3.2",
108
- "status": "deprecated",
109
- "replacedBy": "deepseek-ai/DeepSeek-V4-Pro",
110
- "reasoning": false,
111
- "input": ["text"],
112
- "contextWindow": 163840,
113
- "maxTokens": 65536,
114
- "cost": {
115
- "input": .29,
116
- "output": .43,
117
- "cacheRead": .03,
118
- "cacheWrite": 0
119
- }
120
- },
121
- {
122
- "id": "google/gemini-3.5-flash-lite",
123
- "name": "Gemini 3.5 Flash Lite",
124
- "reasoning": true,
125
- "input": ["text", "image"],
126
- "contextWindow": 1048576,
127
- "maxTokens": 65536,
128
- "cost": {
129
- "input": .3,
130
- "output": 2.5,
131
- "cacheRead": .03,
132
- "cacheWrite": 0
133
- }
134
- },
135
- {
136
- "id": "anthropic/claude-sonnet-5",
137
- "name": "Claude Sonnet 5",
138
- "reasoning": true,
139
- "input": ["text", "image"],
140
- "contextWindow": 409600,
141
- "maxTokens": 128e3,
142
- "cost": {
143
- "input": 2,
144
- "output": 10,
145
- "cacheRead": .2,
146
- "cacheWrite": 0
147
- }
148
- },
149
- {
150
- "id": "anthropic/claude-sonnet-4.6",
151
- "name": "Claude Sonnet 4.6",
152
- "status": "deprecated",
153
- "replacedBy": "anthropic/claude-sonnet-5",
154
- "reasoning": true,
155
- "input": ["text", "image"],
156
- "contextWindow": 409600,
157
- "maxTokens": 64e3,
158
- "cost": {
159
- "input": 3,
160
- "output": 15,
161
- "cacheRead": .3,
162
- "cacheWrite": 0
163
- }
164
- },
165
- {
166
- "id": "openai/gpt-5.6-sol",
167
- "name": "GPT-5.6 Sol",
168
- "reasoning": true,
169
- "input": ["text", "image"],
170
- "contextWindow": 105e4,
171
- "maxTokens": 128e3,
172
- "cost": {
173
- "input": 5,
174
- "output": 30,
175
- "cacheRead": .5,
176
- "cacheWrite": 6.25
177
- }
178
- }
179
- ]
180
- } },
181
- "discovery": { "gmi": "refreshable" }
182
- }
183
- };
184
- //#endregion
185
- //#region extensions/gmi/models.ts
186
- const GMI_MANIFEST_CATALOG = openclaw_plugin_default.modelCatalog.providers.gmi;
187
- const GMI_BASE_URL = GMI_MANIFEST_CATALOG.baseUrl;
188
- const GMI_MODEL_CATALOG = GMI_MANIFEST_CATALOG.models.map(buildManifestModelDefinition({
189
- providerId: "gmi",
190
- catalog: GMI_MANIFEST_CATALOG,
191
- decorate: (model) => ({
192
- ...model,
193
- api: "openai-completions"
194
- })
195
- }));
196
- //#endregion
197
- export { GMI_MODEL_CATALOG as n, openclaw_plugin_default as r, GMI_BASE_URL as t };