snow-flow 8.30.30 → 8.30.32
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/.mcp.json.template +12 -9
- package/README.md +48 -5
- package/dist/cli/auth.d.ts.map +1 -1
- package/dist/cli/auth.js +235 -9
- package/dist/cli/auth.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +4 -6
- package/dist/cli.js.map +1 -1
- package/dist/config/snowcode-config.d.ts +76 -0
- package/dist/config/snowcode-config.d.ts.map +1 -0
- package/dist/config/snowcode-config.js +225 -0
- package/dist/config/snowcode-config.js.map +1 -0
- package/dist/mcp/enterprise-proxy/credentials.d.ts +24 -0
- package/dist/mcp/enterprise-proxy/credentials.d.ts.map +1 -0
- package/dist/mcp/enterprise-proxy/credentials.js +97 -0
- package/dist/mcp/enterprise-proxy/credentials.js.map +1 -0
- package/dist/mcp/enterprise-proxy/index.d.ts +7 -0
- package/dist/mcp/enterprise-proxy/index.d.ts.map +1 -0
- package/dist/mcp/enterprise-proxy/index.js +110 -0
- package/dist/mcp/enterprise-proxy/index.js.map +1 -0
- package/dist/mcp/enterprise-proxy/proxy.d.ts +29 -0
- package/dist/mcp/enterprise-proxy/proxy.d.ts.map +1 -0
- package/dist/mcp/enterprise-proxy/proxy.js +171 -0
- package/dist/mcp/enterprise-proxy/proxy.js.map +1 -0
- package/dist/mcp/enterprise-proxy/types.d.ts +65 -0
- package/dist/mcp/enterprise-proxy/types.d.ts.map +1 -0
- package/dist/mcp/enterprise-proxy/types.js +6 -0
- package/dist/mcp/enterprise-proxy/types.js.map +1 -0
- package/package.json +3 -2
- package/scripts/update-mcp-config.js +13 -9
package/.mcp.json.template
CHANGED
|
@@ -1,22 +1,25 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
2
|
+
"$schema": "https://opencode.ai/mcp.json",
|
|
3
|
+
"mcpServers": {
|
|
3
4
|
"servicenow-unified": {
|
|
4
|
-
"
|
|
5
|
-
"
|
|
5
|
+
"type": "local",
|
|
6
|
+
"command": ["node", "{{PROJECT_ROOT}}/dist/mcp/servicenow-mcp-unified/index.js"],
|
|
6
7
|
"description": "Unified ServiceNow MCP Server - ALL 235+ ServiceNow tools in ONE server including: deployment, operations, automation, platform dev, integrations, properties, update sets, dev assistant, security, reporting, ML, knowledge, catalog, change management, virtual agent, PA, flows, workspaces, mobile, UI Builder, CMDB, events, HR, CSM, DevOps, advanced features, and local development",
|
|
7
|
-
"
|
|
8
|
+
"environment": {
|
|
8
9
|
"SERVICENOW_INSTANCE_URL": "{{SNOW_INSTANCE}}",
|
|
9
10
|
"SERVICENOW_CLIENT_ID": "{{SNOW_CLIENT_ID}}",
|
|
10
11
|
"SERVICENOW_CLIENT_SECRET": "{{SNOW_CLIENT_SECRET}}"
|
|
11
|
-
}
|
|
12
|
+
},
|
|
13
|
+
"enabled": true
|
|
12
14
|
},
|
|
13
15
|
"snow-flow-orchestration": {
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
+
"type": "local",
|
|
17
|
+
"command": ["node", "{{PROJECT_ROOT}}/dist/mcp/snow-flow-mcp.js"],
|
|
16
18
|
"description": "Snow-Flow orchestration - swarm coordination, agent spawning, task orchestration, neural training (TensorFlow.js), memory management, performance tracking",
|
|
17
|
-
"
|
|
19
|
+
"environment": {
|
|
18
20
|
"SNOW_FLOW_ENV": "{{SNOW_FLOW_ENV}}"
|
|
19
|
-
}
|
|
21
|
+
},
|
|
22
|
+
"enabled": true
|
|
20
23
|
}
|
|
21
24
|
}
|
|
22
25
|
}
|
package/README.md
CHANGED
|
@@ -452,6 +452,42 @@ snow-flow swarm "create PI solution to predict best assignment group for new inc
|
|
|
452
452
|
|
|
453
453
|
---
|
|
454
454
|
|
|
455
|
+
## 🆚 Snow-Flow vs ServiceNow Build Agent
|
|
456
|
+
|
|
457
|
+
See how Snow-Flow's open, flexible approach compares to ServiceNow's proprietary AI solution:
|
|
458
|
+
|
|
459
|
+
| Feature | Snow-Flow / SnowCode | ServiceNow Build Agent |
|
|
460
|
+
|---------|---------------------|------------------------|
|
|
461
|
+
| **Pricing Model** | Open source + paid enterprise tiers | Proprietary, part of ServiceNow Pro Plus |
|
|
462
|
+
| **Base Cost** | €0 (open source) or €99/dev/month (enterprise) | €100-200/user/month + implementation fees (€150k-€4.5M) |
|
|
463
|
+
| **LLM Choice** | **Any LLM** (Claude, GPT-4, Gemini, Llama, Mistral, DeepSeek, local models) | NowLLM + optional Azure OpenAI |
|
|
464
|
+
| **Development Environment** | **Local + native IDEs** (VS Code, Cursor, Windsurf, terminal) | ServiceNow Studio only (browser-based) |
|
|
465
|
+
| **MCP Tools** | **437 tools** (393 open source + 44 enterprise) | N/A (proprietary API, no MCP) |
|
|
466
|
+
| **Target Users** | Professional developers + technical users | Citizen developers + process owners |
|
|
467
|
+
| **Enterprise Integrations** | **Jira, Azure DevOps, Confluence**, Process Mining, ML tools | ServiceNow ecosystem only |
|
|
468
|
+
| **ML Capabilities** | **TensorFlow.js neural networks** (local training) + Predictive Intelligence integration | RAG-based AI only |
|
|
469
|
+
| **Update Set Management** | **Automated tracking** with intelligent change detection | Manual/limited automated tracking |
|
|
470
|
+
| **ES5 Validation** | **Real-time Rhino checks** (prevents ES6+ syntax errors) | No specific ES5 support |
|
|
471
|
+
| **Open Source** | **Yes** (Elastic-2.0 license) | No (proprietary) |
|
|
472
|
+
| **White-label** | **Yes** (Enterprise tier) | No |
|
|
473
|
+
| **Multi-agent Orchestration** | **Yes** (Queen Agent + 6 specialized agents) | Limited agentic capabilities |
|
|
474
|
+
| **Seat-based Licensing** | **Developer + Stakeholder** roles with granular permissions | Per-user licensing only |
|
|
475
|
+
| **Deployment Options** | **Self-hosted** (local) or **Managed SaaS** (Cloud Run) | ServiceNow Cloud only |
|
|
476
|
+
| **Local Development** | **Yes** (pull artifacts to local files, edit with native tools) | No (browser-only) |
|
|
477
|
+
| **API Integration** | **REST, MCP, stdio** - works with any AI assistant | Proprietary ServiceNow APIs |
|
|
478
|
+
| **Process Mining** | **Included** (enterprise tier) - $100k+/year value | Separate expensive add-on |
|
|
479
|
+
| **Stakeholder Access** | **Free with developer seats** - read-only analytics & dashboards | Full developer license required for all users |
|
|
480
|
+
|
|
481
|
+
### Why Choose Snow-Flow?
|
|
482
|
+
|
|
483
|
+
- **Vendor Independence**: Not locked into ServiceNow's AI ecosystem - use any LLM provider
|
|
484
|
+
- **Cost Efficiency**: Free open-source option + affordable enterprise pricing (10-20x cheaper than ServiceNow)
|
|
485
|
+
- **Developer Experience**: Work in your preferred IDE with local development workflows
|
|
486
|
+
- **Enterprise Grade**: 437 tools, seat management, integrations, 99.9% SLA on managed infrastructure
|
|
487
|
+
- **Future-Proof**: Open standards (MCP), portable integrations, no vendor lock-in
|
|
488
|
+
|
|
489
|
+
---
|
|
490
|
+
|
|
455
491
|
## 📋 Examples
|
|
456
492
|
|
|
457
493
|
### Widget Development
|
|
@@ -934,11 +970,18 @@ snow-flow init
|
|
|
934
970
|
**Core Framework:** Elastic License 2.0 - see [LICENSE](LICENSE) file for details.
|
|
935
971
|
|
|
936
972
|
**What this means:**
|
|
937
|
-
- ✅ Free to use
|
|
938
|
-
- ✅
|
|
939
|
-
- ✅
|
|
940
|
-
-
|
|
941
|
-
- ⚠️ Cannot
|
|
973
|
+
- ✅ **Free to use internally**: Companies can use Snow-Flow for their own ServiceNow development
|
|
974
|
+
- ✅ **Commercial use allowed**: Use for commercial projects, consulting, client work
|
|
975
|
+
- ✅ **Modify and redistribute**: Fork, modify, and share the source code
|
|
976
|
+
- ✅ **Full source code access**: Complete transparency, no hidden code
|
|
977
|
+
- ⚠️ **Cannot resell as SaaS**: You cannot offer "Snow-Flow-as-a-Service" to compete with our managed platform
|
|
978
|
+
- ⚠️ **Keep attribution**: Cannot remove licensing/copyright notices
|
|
979
|
+
|
|
980
|
+
**Examples:**
|
|
981
|
+
- ✅ **OK**: Accenture uses Snow-Flow internally for ServiceNow projects
|
|
982
|
+
- ✅ **OK**: Consultant shares Snow-Flow with client who self-hosts it
|
|
983
|
+
- ✅ **OK**: Fork Snow-Flow and create custom version for your organization
|
|
984
|
+
- ❌ **NOT OK**: Launch "MyCompany Snow-Flow Hosting" as a paid SaaS product
|
|
942
985
|
|
|
943
986
|
**Trademark:** "Snow-Flow" name and logo are protected trademarks - see [TRADEMARK.md](./TRADEMARK.md).
|
|
944
987
|
|
package/dist/cli/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/cli/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/cli/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiYpC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,QAuJpD"}
|
package/dist/cli/auth.js
CHANGED
|
@@ -44,6 +44,8 @@ const promises_1 = __importDefault(require("fs/promises"));
|
|
|
44
44
|
const os_1 = __importDefault(require("os"));
|
|
45
45
|
const logger_js_1 = require("../utils/logger.js");
|
|
46
46
|
const fs_1 = require("fs");
|
|
47
|
+
const snowcode_config_js_1 = require("../config/snowcode-config.js");
|
|
48
|
+
const proxy_js_1 = require("../mcp/enterprise-proxy/proxy.js");
|
|
47
49
|
const authLogger = new logger_js_1.Logger('auth');
|
|
48
50
|
// Helper function to fix binary permissions (critical for containers/codespaces)
|
|
49
51
|
function fixSnowCodeBinaryPermissions() {
|
|
@@ -79,6 +81,225 @@ function fixSnowCodeBinaryPermissions() {
|
|
|
79
81
|
// Silently continue if permission fixing fails
|
|
80
82
|
}
|
|
81
83
|
}
|
|
84
|
+
/**
|
|
85
|
+
* Enterprise License Flow
|
|
86
|
+
* Prompts user for enterprise license and configures enterprise MCP server
|
|
87
|
+
*/
|
|
88
|
+
async function enterpriseLicenseFlow() {
|
|
89
|
+
try {
|
|
90
|
+
// Check if already configured
|
|
91
|
+
const alreadyConfigured = await (0, snowcode_config_js_1.isEnterpriseMcpConfigured)();
|
|
92
|
+
if (alreadyConfigured) {
|
|
93
|
+
const reconfigure = await prompts.confirm({
|
|
94
|
+
message: 'Enterprise MCP server is already configured. Reconfigure?',
|
|
95
|
+
initialValue: false,
|
|
96
|
+
});
|
|
97
|
+
if (prompts.isCancel(reconfigure) || !reconfigure) {
|
|
98
|
+
authLogger.debug('Skipping enterprise configuration (already configured)');
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
// Ask if user has enterprise license
|
|
103
|
+
const hasEnterprise = await prompts.confirm({
|
|
104
|
+
message: 'Do you have a Snow-Flow Enterprise license?',
|
|
105
|
+
initialValue: false,
|
|
106
|
+
});
|
|
107
|
+
if (prompts.isCancel(hasEnterprise) || !hasEnterprise) {
|
|
108
|
+
authLogger.debug('Skipping enterprise configuration (user does not have license)');
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
// Prompt for license key
|
|
112
|
+
const licenseKey = await prompts.text({
|
|
113
|
+
message: 'Enter your Enterprise License Key:',
|
|
114
|
+
placeholder: 'SNOW-ENT-CUST-ABC123',
|
|
115
|
+
validate: (value) => {
|
|
116
|
+
if (!value || value.trim().length === 0) {
|
|
117
|
+
return 'License key is required';
|
|
118
|
+
}
|
|
119
|
+
if (!value.startsWith('SNOW-ENT-') && !value.startsWith('SNOW-SI-')) {
|
|
120
|
+
return 'License key must start with SNOW-ENT- or SNOW-SI-';
|
|
121
|
+
}
|
|
122
|
+
return undefined;
|
|
123
|
+
},
|
|
124
|
+
});
|
|
125
|
+
if (prompts.isCancel(licenseKey)) {
|
|
126
|
+
authLogger.debug('Enterprise configuration cancelled by user');
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
// Validate license key with enterprise server
|
|
130
|
+
prompts.log.step('Validating enterprise license...');
|
|
131
|
+
// Set license key temporarily for validation
|
|
132
|
+
const originalLicenseKey = process.env.SNOW_LICENSE_KEY;
|
|
133
|
+
process.env.SNOW_LICENSE_KEY = licenseKey;
|
|
134
|
+
let validation;
|
|
135
|
+
try {
|
|
136
|
+
validation = await (0, proxy_js_1.validateLicenseKey)(licenseKey);
|
|
137
|
+
if (!validation.valid) {
|
|
138
|
+
prompts.log.error(`License validation failed: ${validation.error || 'Unknown error'}`);
|
|
139
|
+
authLogger.error(`License validation failed: ${validation.error}`);
|
|
140
|
+
// Restore original license key
|
|
141
|
+
if (originalLicenseKey) {
|
|
142
|
+
process.env.SNOW_LICENSE_KEY = originalLicenseKey;
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
delete process.env.SNOW_LICENSE_KEY;
|
|
146
|
+
}
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
prompts.log.success('✅ License validated successfully');
|
|
150
|
+
authLogger.info('Enterprise license validated successfully');
|
|
151
|
+
// Show available features
|
|
152
|
+
if (validation.features && validation.features.length > 0) {
|
|
153
|
+
prompts.log.info(`Available enterprise features: ${validation.features.join(', ')}`);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
catch (error) {
|
|
157
|
+
prompts.log.error(`Failed to validate license: ${error.message}`);
|
|
158
|
+
authLogger.error(`License validation error: ${error.message}`);
|
|
159
|
+
// Restore original license key
|
|
160
|
+
if (originalLicenseKey) {
|
|
161
|
+
process.env.SNOW_LICENSE_KEY = originalLicenseKey;
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
delete process.env.SNOW_LICENSE_KEY;
|
|
165
|
+
}
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
168
|
+
// Ask about credential mode
|
|
169
|
+
const credentialMode = await prompts.select({
|
|
170
|
+
message: 'How would you like to provide enterprise credentials?',
|
|
171
|
+
options: [
|
|
172
|
+
{
|
|
173
|
+
value: 'server',
|
|
174
|
+
label: 'Server-side (credentials stored encrypted on enterprise server)',
|
|
175
|
+
hint: 'Most secure, requires SSO configuration',
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
value: 'local',
|
|
179
|
+
label: 'Local (credentials from environment variables)',
|
|
180
|
+
hint: 'Simple setup, credentials stored locally',
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
value: 'skip',
|
|
184
|
+
label: 'Skip for now (configure later)',
|
|
185
|
+
},
|
|
186
|
+
],
|
|
187
|
+
initialValue: 'server',
|
|
188
|
+
});
|
|
189
|
+
if (prompts.isCancel(credentialMode)) {
|
|
190
|
+
authLogger.debug('Enterprise configuration cancelled by user');
|
|
191
|
+
// Restore original license key
|
|
192
|
+
if (originalLicenseKey) {
|
|
193
|
+
process.env.SNOW_LICENSE_KEY = originalLicenseKey;
|
|
194
|
+
}
|
|
195
|
+
else {
|
|
196
|
+
delete process.env.SNOW_LICENSE_KEY;
|
|
197
|
+
}
|
|
198
|
+
return;
|
|
199
|
+
}
|
|
200
|
+
const enterpriseConfig = {
|
|
201
|
+
licenseKey,
|
|
202
|
+
serverUrl: validation.serverUrl,
|
|
203
|
+
};
|
|
204
|
+
// If local mode, prompt for credentials
|
|
205
|
+
if (credentialMode === 'local') {
|
|
206
|
+
prompts.log.step('Configuring local credentials...');
|
|
207
|
+
// Jira credentials
|
|
208
|
+
const configureJira = await prompts.confirm({
|
|
209
|
+
message: 'Configure Jira integration?',
|
|
210
|
+
initialValue: false,
|
|
211
|
+
});
|
|
212
|
+
if (!prompts.isCancel(configureJira) && configureJira) {
|
|
213
|
+
const jiraHost = await prompts.text({
|
|
214
|
+
message: 'Jira Host:',
|
|
215
|
+
placeholder: 'https://company.atlassian.net',
|
|
216
|
+
validate: (value) => (value.startsWith('https://') ? undefined : 'Must start with https://'),
|
|
217
|
+
});
|
|
218
|
+
const jiraEmail = await prompts.text({
|
|
219
|
+
message: 'Jira Email:',
|
|
220
|
+
placeholder: 'user@company.com',
|
|
221
|
+
});
|
|
222
|
+
const jiraApiToken = await prompts.password({
|
|
223
|
+
message: 'Jira API Token:',
|
|
224
|
+
});
|
|
225
|
+
if (!prompts.isCancel(jiraHost) && !prompts.isCancel(jiraEmail) && !prompts.isCancel(jiraApiToken)) {
|
|
226
|
+
enterpriseConfig.credentials = {
|
|
227
|
+
...enterpriseConfig.credentials,
|
|
228
|
+
jira: {
|
|
229
|
+
host: jiraHost,
|
|
230
|
+
email: jiraEmail,
|
|
231
|
+
apiToken: jiraApiToken,
|
|
232
|
+
},
|
|
233
|
+
};
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
// Azure DevOps credentials
|
|
237
|
+
const configureAzure = await prompts.confirm({
|
|
238
|
+
message: 'Configure Azure DevOps integration?',
|
|
239
|
+
initialValue: false,
|
|
240
|
+
});
|
|
241
|
+
if (!prompts.isCancel(configureAzure) && configureAzure) {
|
|
242
|
+
const azureOrg = await prompts.text({
|
|
243
|
+
message: 'Azure DevOps Organization:',
|
|
244
|
+
placeholder: 'mycompany',
|
|
245
|
+
});
|
|
246
|
+
const azurePat = await prompts.password({
|
|
247
|
+
message: 'Azure DevOps PAT:',
|
|
248
|
+
});
|
|
249
|
+
if (!prompts.isCancel(azureOrg) && !prompts.isCancel(azurePat)) {
|
|
250
|
+
enterpriseConfig.credentials = {
|
|
251
|
+
...enterpriseConfig.credentials,
|
|
252
|
+
azure: {
|
|
253
|
+
organization: azureOrg,
|
|
254
|
+
pat: azurePat,
|
|
255
|
+
},
|
|
256
|
+
};
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
// Confluence credentials
|
|
260
|
+
const configureConfluence = await prompts.confirm({
|
|
261
|
+
message: 'Configure Confluence integration?',
|
|
262
|
+
initialValue: false,
|
|
263
|
+
});
|
|
264
|
+
if (!prompts.isCancel(configureConfluence) && configureConfluence) {
|
|
265
|
+
const confluenceHost = await prompts.text({
|
|
266
|
+
message: 'Confluence Host:',
|
|
267
|
+
placeholder: 'https://company.atlassian.net',
|
|
268
|
+
validate: (value) => (value.startsWith('https://') ? undefined : 'Must start with https://'),
|
|
269
|
+
});
|
|
270
|
+
const confluenceEmail = await prompts.text({
|
|
271
|
+
message: 'Confluence Email:',
|
|
272
|
+
placeholder: 'user@company.com',
|
|
273
|
+
});
|
|
274
|
+
const confluenceApiToken = await prompts.password({
|
|
275
|
+
message: 'Confluence API Token:',
|
|
276
|
+
});
|
|
277
|
+
if (!prompts.isCancel(confluenceHost) &&
|
|
278
|
+
!prompts.isCancel(confluenceEmail) &&
|
|
279
|
+
!prompts.isCancel(confluenceApiToken)) {
|
|
280
|
+
enterpriseConfig.credentials = {
|
|
281
|
+
...enterpriseConfig.credentials,
|
|
282
|
+
confluence: {
|
|
283
|
+
host: confluenceHost,
|
|
284
|
+
email: confluenceEmail,
|
|
285
|
+
apiToken: confluenceApiToken,
|
|
286
|
+
},
|
|
287
|
+
};
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
// Add enterprise MCP server to SnowCode config
|
|
292
|
+
prompts.log.step('Configuring enterprise MCP server...');
|
|
293
|
+
await (0, snowcode_config_js_1.addEnterpriseMcpServer)(enterpriseConfig);
|
|
294
|
+
prompts.log.success('✅ Enterprise MCP server configured');
|
|
295
|
+
prompts.log.info('Enterprise tools are now available in SnowCode CLI');
|
|
296
|
+
authLogger.info('Enterprise MCP server configuration completed');
|
|
297
|
+
}
|
|
298
|
+
catch (error) {
|
|
299
|
+
prompts.log.error(`Enterprise configuration failed: ${error.message}`);
|
|
300
|
+
authLogger.error(`Enterprise configuration error: ${error.message}`);
|
|
301
|
+
}
|
|
302
|
+
}
|
|
82
303
|
/**
|
|
83
304
|
* Update PROJECT-LEVEL MCP server config with ServiceNow credentials from auth.json
|
|
84
305
|
*
|
|
@@ -109,15 +330,19 @@ async function updateMCPServerConfig() {
|
|
|
109
330
|
try {
|
|
110
331
|
await promises_1.default.access(projectMcpPath);
|
|
111
332
|
const projectMcp = JSON.parse(await promises_1.default.readFile(projectMcpPath, 'utf-8'));
|
|
112
|
-
// Support both .mcpServers and .servers key formats
|
|
333
|
+
// Support both .mcpServers and .servers key formats (OpenCode vs Claude Desktop)
|
|
113
334
|
const serversKey = projectMcp.mcpServers ? 'mcpServers' : 'servers';
|
|
114
335
|
if (projectMcp[serversKey] && projectMcp[serversKey]['servicenow-unified']) {
|
|
115
|
-
|
|
116
|
-
|
|
336
|
+
const server = projectMcp[serversKey]['servicenow-unified'];
|
|
337
|
+
// Support both "environment" (OpenCode) and "env" (Claude Desktop) keys
|
|
338
|
+
const envKey = server.environment !== undefined ? 'environment' : 'env';
|
|
339
|
+
if (!server[envKey]) {
|
|
340
|
+
server[envKey] = {};
|
|
117
341
|
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
342
|
+
// Update credentials in the environment object
|
|
343
|
+
server[envKey]['SERVICENOW_INSTANCE_URL'] = servicenowCreds.instance;
|
|
344
|
+
server[envKey]['SERVICENOW_CLIENT_ID'] = servicenowCreds.clientId;
|
|
345
|
+
server[envKey]['SERVICENOW_CLIENT_SECRET'] = servicenowCreds.clientSecret;
|
|
121
346
|
await promises_1.default.writeFile(projectMcpPath, JSON.stringify(projectMcp, null, 2), 'utf-8');
|
|
122
347
|
prompts.log.success('✅ Updated project .mcp.json with ServiceNow credentials');
|
|
123
348
|
authLogger.info('Project .mcp.json updated successfully');
|
|
@@ -224,10 +449,11 @@ function registerAuthCommands(program) {
|
|
|
224
449
|
prompts.log.message('');
|
|
225
450
|
// Fix binary permissions before calling snow-code (critical for containers/codespaces)
|
|
226
451
|
fixSnowCodeBinaryPermissions();
|
|
227
|
-
// Call SnowCode auth login
|
|
228
|
-
// SnowCode will handle enterprise setup during its auth flow
|
|
452
|
+
// Call SnowCode auth login for LLM providers and ServiceNow OAuth
|
|
229
453
|
(0, child_process_1.execSync)(`${snowcodeCommand} auth login`, { stdio: 'inherit' });
|
|
230
|
-
// After successful auth,
|
|
454
|
+
// After successful auth, prompt for enterprise license if applicable
|
|
455
|
+
await enterpriseLicenseFlow();
|
|
456
|
+
// Update MCP server config with ServiceNow credentials
|
|
231
457
|
await updateMCPServerConfig();
|
|
232
458
|
}
|
|
233
459
|
catch (error) {
|
package/dist/cli/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/cli/auth.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/cli/auth.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;GAEG;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;GAEG;AAi9GH,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,KAAK,GAAE,OAAe,GACrB,OAAO,CAAC,IAAI,CAAC,CA+Sf"}
|
package/dist/cli.js
CHANGED
|
@@ -3057,9 +3057,8 @@ async function createMCPConfig(targetDir, force = false) {
|
|
|
3057
3057
|
// Parse to ensure it's valid JSON
|
|
3058
3058
|
const mcpConfig = JSON.parse(mcpConfigContent);
|
|
3059
3059
|
// Keep the standard MCP structure that Claude Code expects
|
|
3060
|
-
|
|
3061
|
-
|
|
3062
|
-
};
|
|
3060
|
+
// Use the OpenCode MCP structure directly from template (mcpServers key)
|
|
3061
|
+
const finalConfig = mcpConfig;
|
|
3063
3062
|
// Create .mcp.json in project root for Claude Code discovery
|
|
3064
3063
|
const mcpConfigPath = (0, path_1.join)(targetDir, '.mcp.json');
|
|
3065
3064
|
try {
|
|
@@ -3427,9 +3426,8 @@ async function setupMCPConfig(targetDir, instanceUrl, clientId, clientSecret, fo
|
|
|
3427
3426
|
// Parse to ensure it's valid JSON
|
|
3428
3427
|
const mcpConfig = JSON.parse(mcpConfigContent);
|
|
3429
3428
|
// Keep the standard MCP structure that Claude Code expects
|
|
3430
|
-
|
|
3431
|
-
|
|
3432
|
-
};
|
|
3429
|
+
// Use the OpenCode MCP structure directly from template (mcpServers key)
|
|
3430
|
+
const finalConfig = mcpConfig;
|
|
3433
3431
|
// Create .mcp.json in project root for Claude Code discovery
|
|
3434
3432
|
const mcpConfigPath = (0, path_1.join)(targetDir, '.mcp.json');
|
|
3435
3433
|
try {
|