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

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/google/gemini-3.1-flash-lite`.
14
+ `gmi/openai/gpt-5.6-sol`.
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { n as GMI_DEFAULT_MODEL_REF } from "./models-B9neh8ZK.js";
1
+ import { r as openclaw_plugin_default } from "./models-BndslMVk.js";
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,23 +10,15 @@ 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,
13
14
  provider: {
14
15
  label: "GMI Cloud",
15
16
  docsPath: "/providers/gmi",
16
17
  aliases: ["gmi-cloud", "gmicloud"],
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,
18
+ manifestAuth: {
27
19
  noteTitle: "GMI Cloud",
28
20
  noteMessage: "Manage API keys at https://www.gmicloud.ai/"
29
- }],
21
+ },
30
22
  catalog: {
31
23
  buildProvider: buildGmiProvider,
32
24
  buildStaticProvider: buildGmiProvider,
@@ -0,0 +1,197 @@
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 };
package/dist/models.js CHANGED
@@ -1,2 +1,2 @@
1
- import { i as buildGmiModelDefinition, n as GMI_DEFAULT_MODEL_REF, r as GMI_MODEL_CATALOG, t as GMI_BASE_URL } from "./models-B9neh8ZK.js";
2
- export { GMI_BASE_URL, GMI_DEFAULT_MODEL_REF, GMI_MODEL_CATALOG, buildGmiModelDefinition };
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,10 +1,10 @@
1
- import { i as buildGmiModelDefinition, r as GMI_MODEL_CATALOG, t as GMI_BASE_URL } from "./models-B9neh8ZK.js";
1
+ import { n as GMI_MODEL_CATALOG, t as GMI_BASE_URL } from "./models-BndslMVk.js";
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: GMI_MODEL_CATALOG.map(buildGmiModelDefinition)
7
+ models: structuredClone(GMI_MODEL_CATALOG)
8
8
  };
9
9
  }
10
10
  //#endregion
@@ -73,89 +73,124 @@
73
73
  "gmi": {
74
74
  "baseUrl": "https://api.gmi-serving.com/v1",
75
75
  "api": "openai-completions",
76
+ "defaultModel": "openai/gpt-5.6-sol",
76
77
  "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
+ },
77
92
  {
78
93
  "id": "zai-org/GLM-5.1-FP8",
79
94
  "name": "GLM-5.1 FP8",
95
+ "status": "deprecated",
96
+ "replacedBy": "zai-org/GLM-5.2-FP8",
80
97
  "reasoning": true,
81
98
  "input": ["text"],
82
99
  "contextWindow": 202752,
83
100
  "maxTokens": 65536,
84
101
  "cost": {
85
- "input": 0,
86
- "output": 0,
87
- "cacheRead": 0,
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,
88
119
  "cacheWrite": 0
89
120
  }
90
121
  },
91
122
  {
92
123
  "id": "deepseek-ai/DeepSeek-V3.2",
93
124
  "name": "DeepSeek V3.2",
125
+ "status": "deprecated",
126
+ "replacedBy": "deepseek-ai/DeepSeek-V4-Pro",
94
127
  "reasoning": false,
95
128
  "input": ["text"],
96
129
  "contextWindow": 163840,
97
130
  "maxTokens": 65536,
98
131
  "cost": {
99
- "input": 0,
100
- "output": 0,
101
- "cacheRead": 0,
132
+ "input": 0.29,
133
+ "output": 0.43,
134
+ "cacheRead": 0.03,
102
135
  "cacheWrite": 0
103
136
  }
104
137
  },
105
138
  {
106
- "id": "moonshotai/Kimi-K2.5",
107
- "name": "Kimi K2.5",
139
+ "id": "google/gemini-3.5-flash-lite",
140
+ "name": "Gemini 3.5 Flash Lite",
108
141
  "reasoning": true,
109
142
  "input": ["text", "image"],
110
- "contextWindow": 262144,
143
+ "contextWindow": 1048576,
111
144
  "maxTokens": 65536,
112
145
  "cost": {
113
- "input": 0,
114
- "output": 0,
115
- "cacheRead": 0,
146
+ "input": 0.3,
147
+ "output": 2.5,
148
+ "cacheRead": 0.03,
116
149
  "cacheWrite": 0
117
150
  }
118
151
  },
119
152
  {
120
- "id": "google/gemini-3.1-flash-lite",
121
- "name": "Gemini 3.1 Flash Lite",
122
- "reasoning": false,
153
+ "id": "anthropic/claude-sonnet-5",
154
+ "name": "Claude Sonnet 5",
155
+ "reasoning": true,
123
156
  "input": ["text", "image"],
124
- "contextWindow": 1048576,
125
- "maxTokens": 65536,
157
+ "contextWindow": 409600,
158
+ "maxTokens": 128000,
126
159
  "cost": {
127
- "input": 0,
128
- "output": 0,
129
- "cacheRead": 0,
160
+ "input": 2,
161
+ "output": 10,
162
+ "cacheRead": 0.2,
130
163
  "cacheWrite": 0
131
164
  }
132
165
  },
133
166
  {
134
167
  "id": "anthropic/claude-sonnet-4.6",
135
168
  "name": "Claude Sonnet 4.6",
136
- "reasoning": false,
169
+ "status": "deprecated",
170
+ "replacedBy": "anthropic/claude-sonnet-5",
171
+ "reasoning": true,
137
172
  "input": ["text", "image"],
138
- "contextWindow": 200000,
173
+ "contextWindow": 409600,
139
174
  "maxTokens": 64000,
140
175
  "cost": {
141
- "input": 0,
142
- "output": 0,
143
- "cacheRead": 0,
176
+ "input": 3,
177
+ "output": 15,
178
+ "cacheRead": 0.3,
144
179
  "cacheWrite": 0
145
180
  }
146
181
  },
147
182
  {
148
- "id": "openai/gpt-5.4",
149
- "name": "GPT-5.4",
183
+ "id": "openai/gpt-5.6-sol",
184
+ "name": "GPT-5.6 Sol",
150
185
  "reasoning": true,
151
186
  "input": ["text", "image"],
152
- "contextWindow": 400000,
187
+ "contextWindow": 1050000,
153
188
  "maxTokens": 128000,
154
189
  "cost": {
155
- "input": 0,
156
- "output": 0,
157
- "cacheRead": 0,
158
- "cacheWrite": 0
190
+ "input": 5,
191
+ "output": 30,
192
+ "cacheRead": 0.5,
193
+ "cacheWrite": 6.25
159
194
  }
160
195
  }
161
196
  ]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/gmi-provider",
3
- "version": "2026.7.2-beta.4",
3
+ "version": "2026.7.2-beta.5",
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.4"
21
+ "pluginApi": ">=2026.7.2-beta.5"
22
22
  },
23
23
  "build": {
24
- "openclawVersion": "2026.7.2-beta.4",
24
+ "openclawVersion": "2026.7.2-beta.5",
25
25
  "bundledDist": false
26
26
  },
27
27
  "release": {
@@ -35,11 +35,10 @@
35
35
  "files": [
36
36
  "dist/**",
37
37
  "openclaw.plugin.json",
38
- "npm-shrinkwrap.json",
39
38
  "README.md"
40
39
  ],
41
40
  "peerDependencies": {
42
- "openclaw": ">=2026.7.2-beta.4"
41
+ "openclaw": ">=2026.7.2-beta.5"
43
42
  },
44
43
  "peerDependenciesMeta": {
45
44
  "openclaw": {
@@ -1,114 +0,0 @@
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
- "discovery": { "gmi": "refreshable" }
102
- }.providers.gmi
103
- });
104
- const GMI_BASE_URL = GMI_MANIFEST_PROVIDER.baseUrl;
105
- const GMI_MODEL_CATALOG = GMI_MANIFEST_PROVIDER.models;
106
- const GMI_DEFAULT_MODEL_REF = "gmi/google/gemini-3.1-flash-lite";
107
- function buildGmiModelDefinition(model) {
108
- return {
109
- ...model,
110
- api: "openai-completions"
111
- };
112
- }
113
- //#endregion
114
- export { buildGmiModelDefinition as i, GMI_DEFAULT_MODEL_REF as n, GMI_MODEL_CATALOG as r, GMI_BASE_URL as t };
@@ -1,12 +0,0 @@
1
- {
2
- "name": "@openclaw/gmi-provider",
3
- "version": "2026.7.2-beta.4",
4
- "lockfileVersion": 3,
5
- "requires": true,
6
- "packages": {
7
- "": {
8
- "name": "@openclaw/gmi-provider",
9
- "version": "2026.7.2-beta.4"
10
- }
11
- }
12
- }