snow-flow 8.30.31 → 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/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, modify, and redistribute
938
- - ✅ Can be used commercially
939
- - ✅ Full source code access
940
- - ⚠️ Cannot provide Snow-Flow as a managed service to third parties
941
- - ⚠️ Cannot remove or obscure licensing/copyright notices
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
 
@@ -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;AAyHpC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,QAqJpD"}
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
  *
@@ -228,10 +449,11 @@ function registerAuthCommands(program) {
228
449
  prompts.log.message('');
229
450
  // Fix binary permissions before calling snow-code (critical for containers/codespaces)
230
451
  fixSnowCodeBinaryPermissions();
231
- // Call SnowCode auth login - it handles everything now!
232
- // SnowCode will handle enterprise setup during its auth flow
452
+ // Call SnowCode auth login for LLM providers and ServiceNow OAuth
233
453
  (0, child_process_1.execSync)(`${snowcodeCommand} auth login`, { stdio: 'inherit' });
234
- // After successful auth, update MCP server config with ServiceNow credentials
454
+ // After successful auth, prompt for enterprise license if applicable
455
+ await enterpriseLicenseFlow();
456
+ // Update MCP server config with ServiceNow credentials
235
457
  await updateMCPServerConfig();
236
458
  }
237
459
  catch (error) {
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiYA,oDAuJC;AAvhBD,wDAA0C;AAC1C,iDAAyC;AACzC,gDAAwB;AACxB,2DAA6B;AAC7B,4CAAoB;AACpB,kDAA4C;AAC5C,2BAA2C;AAC3C,qEAIsC;AACtC,+DAAsE;AAEtE,MAAM,UAAU,GAAG,IAAI,kBAAM,CAAC,MAAM,CAAC,CAAC;AAEtC,iFAAiF;AACjF,SAAS,4BAA4B;IACnC,IAAI,CAAC;QACH,MAAM,SAAS,GAAG;YAChB,wBAAwB;YACxB,sBAAsB;YACtB,uBAAuB;YACvB,qBAAqB;YACrB,uBAAuB;SACxB,CAAC;QAEF,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAC3B,yCAAyC;YACzC,MAAM,KAAK,GAAG;gBACZ,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,CAAC;gBACrF,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,CAAC;gBACpG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,CAAC;aAC9F,CAAC;YAEF,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;gBACzB,IAAI,IAAA,eAAU,EAAC,UAAU,CAAC,EAAE,CAAC;oBAC3B,IAAI,CAAC;wBACH,IAAA,cAAS,EAAC,UAAU,EAAE,KAAK,CAAC,CAAC;wBAC7B,UAAU,CAAC,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;oBACxD,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,mCAAmC;oBACrC,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,+CAA+C;IACjD,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,qBAAqB;IAClC,IAAI,CAAC;QACH,8BAA8B;QAC9B,MAAM,iBAAiB,GAAG,MAAM,IAAA,8CAAyB,GAAE,CAAC;QAE5D,IAAI,iBAAiB,EAAE,CAAC;YACtB,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC;gBACxC,OAAO,EAAE,2DAA2D;gBACpE,YAAY,EAAE,KAAK;aACpB,CAAC,CAAC;YAEH,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBAClD,UAAU,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;gBAC3E,OAAO;YACT,CAAC;QACH,CAAC;QAED,qCAAqC;QACrC,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC;YAC1C,OAAO,EAAE,6CAA6C;YACtD,YAAY,EAAE,KAAK;SACpB,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACtD,UAAU,CAAC,KAAK,CAAC,gEAAgE,CAAC,CAAC;YACnF,OAAO;QACT,CAAC;QAED,yBAAyB;QACzB,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;YACpC,OAAO,EAAE,oCAAoC;YAC7C,WAAW,EAAE,sBAAsB;YACnC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;gBAClB,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACxC,OAAO,yBAAyB,CAAC;gBACnC,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;oBACpE,OAAO,mDAAmD,CAAC;gBAC7D,CAAC;gBACD,OAAO,SAAS,CAAC;YACnB,CAAC;SACF,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACjC,UAAU,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,8CAA8C;QAC9C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QAErD,6CAA6C;QAC7C,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,UAAU,CAAC;QAE1C,IAAI,UAAuF,CAAC;QAE5F,IAAI,CAAC;YACH,UAAU,GAAG,MAAM,IAAA,6BAAkB,EAAC,UAAU,CAAC,CAAC;YAElD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,8BAA8B,UAAU,CAAC,KAAK,IAAI,eAAe,EAAE,CAAC,CAAC;gBACvF,UAAU,CAAC,KAAK,CAAC,8BAA8B,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;gBAEnE,+BAA+B;gBAC/B,IAAI,kBAAkB,EAAE,CAAC;oBACvB,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,kBAAkB,CAAC;gBACpD,CAAC;qBAAM,CAAC;oBACN,OAAO,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;gBACtC,CAAC;gBAED,OAAO;YACT,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC;YACxD,UAAU,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;YAE7D,0BAA0B;YAC1B,IAAI,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1D,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,kCAAkC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvF,CAAC;QACH,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,+BAA+B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAClE,UAAU,CAAC,KAAK,CAAC,6BAA6B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAE/D,+BAA+B;YAC/B,IAAI,kBAAkB,EAAE,CAAC;gBACvB,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,kBAAkB,CAAC;YACpD,CAAC;iBAAM,CAAC;gBACN,OAAO,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;YACtC,CAAC;YAED,OAAO;QACT,CAAC;QAED,4BAA4B;QAC5B,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC;YAC1C,OAAO,EAAE,uDAAuD;YAChE,OAAO,EAAE;gBACP;oBACE,KAAK,EAAE,QAAQ;oBACf,KAAK,EAAE,iEAAiE;oBACxE,IAAI,EAAE,yCAAyC;iBAChD;gBACD;oBACE,KAAK,EAAE,OAAO;oBACd,KAAK,EAAE,gDAAgD;oBACvD,IAAI,EAAE,0CAA0C;iBACjD;gBACD;oBACE,KAAK,EAAE,MAAM;oBACb,KAAK,EAAE,gCAAgC;iBACxC;aACF;YACD,YAAY,EAAE,QAAQ;SACvB,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YACrC,UAAU,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAE/D,+BAA+B;YAC/B,IAAI,kBAAkB,EAAE,CAAC;gBACvB,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,kBAAkB,CAAC;YACpD,CAAC;iBAAM,CAAC;gBACN,OAAO,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;YACtC,CAAC;YAED,OAAO;QACT,CAAC;QAED,MAAM,gBAAgB,GAAwB;YAC5C,UAAU;YACV,SAAS,EAAE,UAAU,CAAC,SAAS;SAChC,CAAC;QAEF,wCAAwC;QACxC,IAAI,cAAc,KAAK,OAAO,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;YAErD,mBAAmB;YACnB,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC;gBAC1C,OAAO,EAAE,6BAA6B;gBACtC,YAAY,EAAE,KAAK;aACpB,CAAC,CAAC;YAEH,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,aAAa,EAAE,CAAC;gBACtD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;oBAClC,OAAO,EAAE,YAAY;oBACrB,WAAW,EAAE,+BAA+B;oBAC5C,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,0BAA0B,CAAC;iBAC7F,CAAC,CAAC;gBAEH,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;oBACnC,OAAO,EAAE,aAAa;oBACtB,WAAW,EAAE,kBAAkB;iBAChC,CAAC,CAAC;gBAEH,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC;oBAC1C,OAAO,EAAE,iBAAiB;iBAC3B,CAAC,CAAC;gBAEH,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;oBACnG,gBAAgB,CAAC,WAAW,GAAG;wBAC7B,GAAG,gBAAgB,CAAC,WAAW;wBAC/B,IAAI,EAAE;4BACJ,IAAI,EAAE,QAAQ;4BACd,KAAK,EAAE,SAAS;4BAChB,QAAQ,EAAE,YAAY;yBACvB;qBACF,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,2BAA2B;YAC3B,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC;gBAC3C,OAAO,EAAE,qCAAqC;gBAC9C,YAAY,EAAE,KAAK;aACpB,CAAC,CAAC;YAEH,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,cAAc,EAAE,CAAC;gBACxD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;oBAClC,OAAO,EAAE,4BAA4B;oBACrC,WAAW,EAAE,WAAW;iBACzB,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC;oBACtC,OAAO,EAAE,mBAAmB;iBAC7B,CAAC,CAAC;gBAEH,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC/D,gBAAgB,CAAC,WAAW,GAAG;wBAC7B,GAAG,gBAAgB,CAAC,WAAW;wBAC/B,KAAK,EAAE;4BACL,YAAY,EAAE,QAAQ;4BACtB,GAAG,EAAE,QAAQ;yBACd;qBACF,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,yBAAyB;YACzB,MAAM,mBAAmB,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC;gBAChD,OAAO,EAAE,mCAAmC;gBAC5C,YAAY,EAAE,KAAK;aACpB,CAAC,CAAC;YAEH,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,mBAAmB,EAAE,CAAC;gBAClE,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;oBACxC,OAAO,EAAE,kBAAkB;oBAC3B,WAAW,EAAE,+BAA+B;oBAC5C,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,0BAA0B,CAAC;iBAC7F,CAAC,CAAC;gBAEH,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;oBACzC,OAAO,EAAE,mBAAmB;oBAC5B,WAAW,EAAE,kBAAkB;iBAChC,CAAC,CAAC;gBAEH,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC;oBAChD,OAAO,EAAE,uBAAuB;iBACjC,CAAC,CAAC;gBAEH,IACE,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;oBACjC,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;oBAClC,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EACrC,CAAC;oBACD,gBAAgB,CAAC,WAAW,GAAG;wBAC7B,GAAG,gBAAgB,CAAC,WAAW;wBAC/B,UAAU,EAAE;4BACV,IAAI,EAAE,cAAc;4BACpB,KAAK,EAAE,eAAe;4BACtB,QAAQ,EAAE,kBAAkB;yBAC7B;qBACF,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,+CAA+C;QAC/C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;QAEzD,MAAM,IAAA,2CAAsB,EAAC,gBAAgB,CAAC,CAAC;QAE/C,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;QAEvE,UAAU,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,oCAAoC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACvE,UAAU,CAAC,KAAK,CAAC,mCAAmC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACvE,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,qBAAqB;IAClC,IAAI,CAAC;QACH,0BAA0B;QAC1B,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;QAEtF,4BAA4B;QAC5B,IAAI,CAAC;YACH,MAAM,kBAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,UAAU,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;YAC7E,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,kBAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;QAElE,wCAAwC;QACxC,MAAM,eAAe,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;QAC/C,IAAI,CAAC,eAAe,IAAI,eAAe,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;YACpE,UAAU,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;YACvE,OAAO;QACT,CAAC;QAED,0DAA0D;QAC1D,MAAM,cAAc,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC;QAC7D,IAAI,CAAC;YACH,MAAM,kBAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YAEhC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,kBAAE,CAAC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;YAE1E,iFAAiF;YACjF,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;YAEpE,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,EAAE,CAAC;gBAC3E,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,CAAC;gBAE5D,wEAAwE;gBACxE,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC;gBAExE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;oBACpB,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;gBACtB,CAAC;gBAED,+CAA+C;gBAC/C,MAAM,CAAC,MAAM,CAAC,CAAC,yBAAyB,CAAC,GAAG,eAAe,CAAC,QAAQ,CAAC;gBACrE,MAAM,CAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,GAAG,eAAe,CAAC,QAAQ,CAAC;gBAClE,MAAM,CAAC,MAAM,CAAC,CAAC,0BAA0B,CAAC,GAAG,eAAe,CAAC,YAAY,CAAC;gBAE1E,MAAM,kBAAE,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;gBAEjF,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,yDAAyD,CAAC,CAAC;gBAC/E,UAAU,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;YAC5D,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;YAClF,CAAC;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC1B,UAAU,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;gBACpF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;gBAChE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,KAAK,CAAC,uCAAuC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,UAAU,CAAC,IAAI,CAAC,uCAAuC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACxE,qCAAqC;IACvC,CAAC;AACH,CAAC;AAED,SAAgB,oBAAoB,CAAC,OAAgB;IACnD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,iDAAiD,CAAC,CAAC;IAEpG,uCAAuC;IACvC,IAAI;SACD,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,yCAAyC,CAAC;SACtD,MAAM,CAAC,2BAA2B,EAAE,iEAAiE,CAAC;SACtG,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,MAAM,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,GAAG,wDAAa,4BAA4B,GAAC,CAAC;QAE/F,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAEzC,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,oCAAoC;YACpC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;YACvD,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAEzD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;oBAC1B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;oBACjD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;oBAC/C,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;wBACxB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,KAAK,CAAC,aAAa,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;oBACtF,CAAC;oBACD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC1B,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;aAAM,CAAC;YACN,qBAAqB;YACrB,MAAM,SAAS,GAAG,MAAM,oBAAoB,EAAE,CAAC;YAE/C,KAAK,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC3D,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;gBAE/C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtB,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;wBAC1B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;wBACjD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;wBAC/C,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oBAC1B,CAAC,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,2DAA2D,CAAC,CAAC;QACjF,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,qDAAqD,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEL,+BAA+B;IAC/B,IAAI;SACD,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,4EAA4E,CAAC;SACzF,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,IAAI,CAAC;YACH,iCAAiC;YACjC,IAAI,CAAC;gBACH,IAAA,wBAAQ,EAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YACnD,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;gBAC/C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;gBACzD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;gBACnE,OAAO;YACT,CAAC;YAED,oEAAoE;YACpE,MAAM,aAAa,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;YAC/G,IAAI,eAAe,GAAG,WAAW,CAAC,CAAC,qBAAqB;YAExD,IAAI,CAAC;gBACH,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;gBACzB,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;oBACjC,eAAe,GAAG,aAAa,CAAC;oBAChC,UAAU,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;gBACxD,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,UAAU,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;YACzD,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;YAC1E,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAExB,uFAAuF;YACvF,4BAA4B,EAAE,CAAC;YAE/B,kEAAkE;YAClE,IAAA,wBAAQ,EAAC,GAAG,eAAe,aAAa,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YAEhE,qEAAqE;YACrE,MAAM,qBAAqB,EAAE,CAAC;YAE9B,uDAAuD;YACvD,MAAM,qBAAqB,EAAE,CAAC;QAChC,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,uDAAuD;YACvD,oCAAoC;YACpC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAExB,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;gBAChD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;YACpE,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;gBAEtE,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;oBACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;gBACjD,CAAC;gBAED,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACxB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;gBAC7C,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,6DAA6D,CAAC,CAAC;gBACnF,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC;gBAClE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,6DAA6D,CAAC,CAAC;gBACnF,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,6CAA6C,CAAC,CAAC;YACrE,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,mBAAmB;IACnB,IAAI;SACD,OAAO,CAAC,MAAM,CAAC;SACf,KAAK,CAAC,IAAI,CAAC;SACX,WAAW,CAAC,4CAA4C,CAAC;SACzD,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,IAAI,CAAC;YACH,4BAA4B,EAAE,CAAC;YAC/B,IAAA,wBAAQ,EAAC,qBAAqB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;QAChF,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,SAAS;IACT,IAAI;SACD,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,mDAAmD,CAAC;SAChE,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,IAAI,CAAC;YACH,4BAA4B,EAAE,CAAC;YAC/B,IAAA,wBAAQ,EAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;QAChF,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * SnowCode Configuration Management
3
+ * Manages ~/.snowcode/config.json for MCP server configuration
4
+ */
5
+ /**
6
+ * SnowCode MCP Server Configuration
7
+ * Format matches OpenCode/SnowCode MCP server configuration
8
+ */
9
+ export interface SnowCodeMcpServer {
10
+ command: string;
11
+ args: string[];
12
+ env?: Record<string, string>;
13
+ }
14
+ export interface SnowCodeConfig {
15
+ mcpServers?: Record<string, SnowCodeMcpServer>;
16
+ servers?: Record<string, SnowCodeMcpServer>;
17
+ }
18
+ /**
19
+ * Enterprise MCP server configuration options
20
+ */
21
+ export interface EnterpriseMcpConfig {
22
+ licenseKey: string;
23
+ serverUrl?: string;
24
+ credentials?: {
25
+ jira?: {
26
+ host: string;
27
+ email: string;
28
+ apiToken: string;
29
+ };
30
+ azure?: {
31
+ organization: string;
32
+ pat: string;
33
+ };
34
+ confluence?: {
35
+ host: string;
36
+ email: string;
37
+ apiToken: string;
38
+ };
39
+ };
40
+ }
41
+ /**
42
+ * Get the SnowCode config file path
43
+ */
44
+ export declare function getSnowCodeConfigPath(): string;
45
+ /**
46
+ * Check if SnowCode config file exists
47
+ */
48
+ export declare function snowCodeConfigExists(): boolean;
49
+ /**
50
+ * Read SnowCode configuration file
51
+ * @returns SnowCode configuration or empty object if file doesn't exist
52
+ */
53
+ export declare function readSnowCodeConfig(): Promise<SnowCodeConfig>;
54
+ /**
55
+ * Write SnowCode configuration file
56
+ * @param config - Configuration to write
57
+ */
58
+ export declare function writeSnowCodeConfig(config: SnowCodeConfig): Promise<void>;
59
+ /**
60
+ * Add or update enterprise MCP server in SnowCode config
61
+ * @param config - Enterprise MCP server configuration
62
+ */
63
+ export declare function addEnterpriseMcpServer(config: EnterpriseMcpConfig): Promise<void>;
64
+ /**
65
+ * Remove enterprise MCP server from SnowCode config
66
+ */
67
+ export declare function removeEnterpriseMcpServer(): Promise<void>;
68
+ /**
69
+ * Check if enterprise MCP server is configured in SnowCode config
70
+ */
71
+ export declare function isEnterpriseMcpConfigured(): Promise<boolean>;
72
+ /**
73
+ * Get enterprise MCP server configuration from SnowCode config
74
+ */
75
+ export declare function getEnterpriseMcpConfig(): Promise<SnowCodeMcpServer | null>;
76
+ //# sourceMappingURL=snowcode-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snowcode-config.d.ts","sourceRoot":"","sources":["../../src/config/snowcode-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAE/C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;CAC7C;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE;QACZ,IAAI,CAAC,EAAE;YACL,IAAI,EAAE,MAAM,CAAC;YACb,KAAK,EAAE,MAAM,CAAC;YACd,QAAQ,EAAE,MAAM,CAAC;SAClB,CAAC;QACF,KAAK,CAAC,EAAE;YACN,YAAY,EAAE,MAAM,CAAC;YACrB,GAAG,EAAE,MAAM,CAAC;SACb,CAAC;QACF,UAAU,CAAC,EAAE;YACX,IAAI,EAAE,MAAM,CAAC;YACb,KAAK,EAAE,MAAM,CAAC;YACd,QAAQ,EAAE,MAAM,CAAC;SAClB,CAAC;KACH,CAAC;CACH;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAE9C;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,cAAc,CAAC,CAkBlE;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAkB/E;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4DvF;AAED;;GAEG;AACH,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC,CA2B/D;AAED;;GAEG;AACH,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,OAAO,CAAC,CAWlE;AA8DD;;GAEG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAoBhF"}
@@ -0,0 +1,225 @@
1
+ "use strict";
2
+ /**
3
+ * SnowCode Configuration Management
4
+ * Manages ~/.snowcode/config.json for MCP server configuration
5
+ */
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.getSnowCodeConfigPath = getSnowCodeConfigPath;
11
+ exports.snowCodeConfigExists = snowCodeConfigExists;
12
+ exports.readSnowCodeConfig = readSnowCodeConfig;
13
+ exports.writeSnowCodeConfig = writeSnowCodeConfig;
14
+ exports.addEnterpriseMcpServer = addEnterpriseMcpServer;
15
+ exports.removeEnterpriseMcpServer = removeEnterpriseMcpServer;
16
+ exports.isEnterpriseMcpConfigured = isEnterpriseMcpConfigured;
17
+ exports.getEnterpriseMcpConfig = getEnterpriseMcpConfig;
18
+ const path_1 = __importDefault(require("path"));
19
+ const os_1 = __importDefault(require("os"));
20
+ const promises_1 = __importDefault(require("fs/promises"));
21
+ const fs_1 = require("fs");
22
+ const logger_js_1 = require("../utils/logger.js");
23
+ const logger = new logger_js_1.Logger('snowcode-config');
24
+ /**
25
+ * Get the SnowCode config file path
26
+ */
27
+ function getSnowCodeConfigPath() {
28
+ return path_1.default.join(os_1.default.homedir(), '.snowcode', 'config.json');
29
+ }
30
+ /**
31
+ * Check if SnowCode config file exists
32
+ */
33
+ function snowCodeConfigExists() {
34
+ return (0, fs_1.existsSync)(getSnowCodeConfigPath());
35
+ }
36
+ /**
37
+ * Read SnowCode configuration file
38
+ * @returns SnowCode configuration or empty object if file doesn't exist
39
+ */
40
+ async function readSnowCodeConfig() {
41
+ const configPath = getSnowCodeConfigPath();
42
+ try {
43
+ if (!(0, fs_1.existsSync)(configPath)) {
44
+ logger.debug('SnowCode config file does not exist yet');
45
+ return {};
46
+ }
47
+ const content = await promises_1.default.readFile(configPath, 'utf-8');
48
+ const config = JSON.parse(content);
49
+ logger.debug('Successfully read SnowCode config');
50
+ return config;
51
+ }
52
+ catch (error) {
53
+ logger.error(`Failed to read SnowCode config: ${error.message}`);
54
+ return {};
55
+ }
56
+ }
57
+ /**
58
+ * Write SnowCode configuration file
59
+ * @param config - Configuration to write
60
+ */
61
+ async function writeSnowCodeConfig(config) {
62
+ const configPath = getSnowCodeConfigPath();
63
+ const configDir = path_1.default.dirname(configPath);
64
+ try {
65
+ // Ensure .snowcode directory exists
66
+ if (!(0, fs_1.existsSync)(configDir)) {
67
+ await promises_1.default.mkdir(configDir, { recursive: true });
68
+ logger.debug('Created .snowcode directory');
69
+ }
70
+ // Write configuration file
71
+ await promises_1.default.writeFile(configPath, JSON.stringify(config, null, 2), 'utf-8');
72
+ logger.info('Successfully wrote SnowCode config');
73
+ }
74
+ catch (error) {
75
+ logger.error(`Failed to write SnowCode config: ${error.message}`);
76
+ throw error;
77
+ }
78
+ }
79
+ /**
80
+ * Add or update enterprise MCP server in SnowCode config
81
+ * @param config - Enterprise MCP server configuration
82
+ */
83
+ async function addEnterpriseMcpServer(config) {
84
+ try {
85
+ const snowCodeConfig = await readSnowCodeConfig();
86
+ // Determine which key to use (mcpServers is preferred, fallback to servers)
87
+ const serversKey = snowCodeConfig.mcpServers !== undefined ? 'mcpServers' : 'servers';
88
+ if (!snowCodeConfig[serversKey]) {
89
+ snowCodeConfig[serversKey] = {};
90
+ }
91
+ // Get the path to the enterprise proxy entry point
92
+ // This needs to be the compiled dist file
93
+ const enterpriseProxyPath = getEnterpriseProxyPath();
94
+ // Build environment variables
95
+ const env = {
96
+ SNOW_LICENSE_KEY: config.licenseKey,
97
+ };
98
+ // Add server URL if provided
99
+ if (config.serverUrl) {
100
+ env.SNOW_ENTERPRISE_URL = config.serverUrl;
101
+ }
102
+ // Add credentials if provided (local mode)
103
+ if (config.credentials) {
104
+ if (config.credentials.jira) {
105
+ env.JIRA_HOST = config.credentials.jira.host;
106
+ env.JIRA_EMAIL = config.credentials.jira.email;
107
+ env.JIRA_API_TOKEN = config.credentials.jira.apiToken;
108
+ }
109
+ if (config.credentials.azure) {
110
+ env.AZURE_DEVOPS_ORG = config.credentials.azure.organization;
111
+ env.AZURE_DEVOPS_PAT = config.credentials.azure.pat;
112
+ }
113
+ if (config.credentials.confluence) {
114
+ env.CONFLUENCE_HOST = config.credentials.confluence.host;
115
+ env.CONFLUENCE_EMAIL = config.credentials.confluence.email;
116
+ env.CONFLUENCE_API_TOKEN = config.credentials.confluence.apiToken;
117
+ }
118
+ }
119
+ // Add or update enterprise MCP server
120
+ snowCodeConfig[serversKey]['snow-flow-enterprise'] = {
121
+ command: 'node',
122
+ args: [enterpriseProxyPath],
123
+ env,
124
+ };
125
+ // Write updated configuration
126
+ await writeSnowCodeConfig(snowCodeConfig);
127
+ logger.info('Successfully added enterprise MCP server to SnowCode config');
128
+ }
129
+ catch (error) {
130
+ logger.error(`Failed to add enterprise MCP server: ${error.message}`);
131
+ throw error;
132
+ }
133
+ }
134
+ /**
135
+ * Remove enterprise MCP server from SnowCode config
136
+ */
137
+ async function removeEnterpriseMcpServer() {
138
+ try {
139
+ const snowCodeConfig = await readSnowCodeConfig();
140
+ // Check both possible keys
141
+ let removed = false;
142
+ if (snowCodeConfig.mcpServers?.['snow-flow-enterprise']) {
143
+ delete snowCodeConfig.mcpServers['snow-flow-enterprise'];
144
+ removed = true;
145
+ }
146
+ if (snowCodeConfig.servers?.['snow-flow-enterprise']) {
147
+ delete snowCodeConfig.servers['snow-flow-enterprise'];
148
+ removed = true;
149
+ }
150
+ if (removed) {
151
+ await writeSnowCodeConfig(snowCodeConfig);
152
+ logger.info('Successfully removed enterprise MCP server from SnowCode config');
153
+ }
154
+ else {
155
+ logger.debug('Enterprise MCP server not found in config');
156
+ }
157
+ }
158
+ catch (error) {
159
+ logger.error(`Failed to remove enterprise MCP server: ${error.message}`);
160
+ throw error;
161
+ }
162
+ }
163
+ /**
164
+ * Check if enterprise MCP server is configured in SnowCode config
165
+ */
166
+ async function isEnterpriseMcpConfigured() {
167
+ try {
168
+ const snowCodeConfig = await readSnowCodeConfig();
169
+ return !!(snowCodeConfig.mcpServers?.['snow-flow-enterprise'] ||
170
+ snowCodeConfig.servers?.['snow-flow-enterprise']);
171
+ }
172
+ catch (error) {
173
+ return false;
174
+ }
175
+ }
176
+ /**
177
+ * Get the path to the enterprise proxy entry point
178
+ * Tries to find the compiled dist file, falls back to source if in development
179
+ */
180
+ function getEnterpriseProxyPath() {
181
+ // First try to find in node_modules (installed package)
182
+ const nodeModulesPath = path_1.default.join(process.cwd(), 'node_modules', 'snow-flow', 'dist', 'mcp', 'enterprise-proxy', 'index.js');
183
+ if ((0, fs_1.existsSync)(nodeModulesPath)) {
184
+ logger.debug('Using enterprise proxy from node_modules');
185
+ return nodeModulesPath;
186
+ }
187
+ // Try global installation
188
+ const globalNodeModulesPath = path_1.default.join(os_1.default.homedir(), '.npm', 'lib', 'node_modules', 'snow-flow', 'dist', 'mcp', 'enterprise-proxy', 'index.js');
189
+ if ((0, fs_1.existsSync)(globalNodeModulesPath)) {
190
+ logger.debug('Using enterprise proxy from global installation');
191
+ return globalNodeModulesPath;
192
+ }
193
+ // Fallback to development path (when running from source)
194
+ const devPath = path_1.default.join(__dirname, '..', '..', 'dist', 'mcp', 'enterprise-proxy', 'index.js');
195
+ if ((0, fs_1.existsSync)(devPath)) {
196
+ logger.debug('Using enterprise proxy from development build');
197
+ return devPath;
198
+ }
199
+ // Last resort - relative to current file location
200
+ logger.warn('Enterprise proxy not found in standard locations, using relative path');
201
+ return path_1.default.join(__dirname, '..', '..', 'dist', 'mcp', 'enterprise-proxy', 'index.js');
202
+ }
203
+ /**
204
+ * Get enterprise MCP server configuration from SnowCode config
205
+ */
206
+ async function getEnterpriseMcpConfig() {
207
+ try {
208
+ const snowCodeConfig = await readSnowCodeConfig();
209
+ const server = snowCodeConfig.mcpServers?.['snow-flow-enterprise'] ||
210
+ snowCodeConfig.servers?.['snow-flow-enterprise'] ||
211
+ null;
212
+ if (server) {
213
+ logger.debug('Found enterprise MCP server configuration');
214
+ }
215
+ else {
216
+ logger.debug('Enterprise MCP server not configured');
217
+ }
218
+ return server;
219
+ }
220
+ catch (error) {
221
+ logger.error(`Failed to get enterprise MCP config: ${error.message}`);
222
+ return null;
223
+ }
224
+ }
225
+ //# sourceMappingURL=snowcode-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snowcode-config.js","sourceRoot":"","sources":["../../src/config/snowcode-config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Enterprise Credentials Gathering
3
+ * Reads credentials from environment variables based on tool name
4
+ */
5
+ import { EnterpriseCredentials } from './types.js';
6
+ /**
7
+ * Gather credentials from environment variables based on tool name
8
+ * @param toolName - Name of the tool being called (e.g., snow_jira_create_issue)
9
+ * @returns Credentials object with only relevant credentials populated
10
+ */
11
+ export declare function gatherCredentials(toolName: string): Partial<EnterpriseCredentials>;
12
+ /**
13
+ * Check if all required credentials are available for a tool
14
+ * @param toolName - Name of the tool
15
+ * @returns true if credentials are available, false otherwise
16
+ */
17
+ export declare function hasRequiredCredentials(toolName: string): boolean;
18
+ /**
19
+ * Get list of missing credential environment variables for a tool
20
+ * @param toolName - Name of the tool
21
+ * @returns Array of missing environment variable names
22
+ */
23
+ export declare function getMissingCredentials(toolName: string): string[];
24
+ //# sourceMappingURL=credentials.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../../src/mcp/enterprise-proxy/credentials.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAEnD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAoClF;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAgBhE;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAqBhE"}
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ /**
3
+ * Enterprise Credentials Gathering
4
+ * Reads credentials from environment variables based on tool name
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.gatherCredentials = gatherCredentials;
8
+ exports.hasRequiredCredentials = hasRequiredCredentials;
9
+ exports.getMissingCredentials = getMissingCredentials;
10
+ /**
11
+ * Gather credentials from environment variables based on tool name
12
+ * @param toolName - Name of the tool being called (e.g., snow_jira_create_issue)
13
+ * @returns Credentials object with only relevant credentials populated
14
+ */
15
+ function gatherCredentials(toolName) {
16
+ const credentials = {};
17
+ // Jira tools (snow_jira_*)
18
+ if (toolName.startsWith('snow_jira_')) {
19
+ if (process.env.JIRA_HOST && process.env.JIRA_EMAIL && process.env.JIRA_API_TOKEN) {
20
+ credentials.jira = {
21
+ host: process.env.JIRA_HOST,
22
+ email: process.env.JIRA_EMAIL,
23
+ apiToken: process.env.JIRA_API_TOKEN,
24
+ };
25
+ }
26
+ }
27
+ // Azure DevOps tools (snow_azure_*)
28
+ if (toolName.startsWith('snow_azure_')) {
29
+ if (process.env.AZURE_DEVOPS_ORG && process.env.AZURE_DEVOPS_PAT) {
30
+ credentials.azure = {
31
+ organization: process.env.AZURE_DEVOPS_ORG,
32
+ pat: process.env.AZURE_DEVOPS_PAT,
33
+ };
34
+ }
35
+ }
36
+ // Confluence tools (snow_confluence_*)
37
+ if (toolName.startsWith('snow_confluence_')) {
38
+ if (process.env.CONFLUENCE_HOST && process.env.CONFLUENCE_EMAIL && process.env.CONFLUENCE_API_TOKEN) {
39
+ credentials.confluence = {
40
+ host: process.env.CONFLUENCE_HOST,
41
+ email: process.env.CONFLUENCE_EMAIL,
42
+ apiToken: process.env.CONFLUENCE_API_TOKEN,
43
+ };
44
+ }
45
+ }
46
+ return credentials;
47
+ }
48
+ /**
49
+ * Check if all required credentials are available for a tool
50
+ * @param toolName - Name of the tool
51
+ * @returns true if credentials are available, false otherwise
52
+ */
53
+ function hasRequiredCredentials(toolName) {
54
+ const credentials = gatherCredentials(toolName);
55
+ if (toolName.startsWith('snow_jira_')) {
56
+ return !!credentials.jira;
57
+ }
58
+ if (toolName.startsWith('snow_azure_')) {
59
+ return !!credentials.azure;
60
+ }
61
+ if (toolName.startsWith('snow_confluence_')) {
62
+ return !!credentials.confluence;
63
+ }
64
+ return false;
65
+ }
66
+ /**
67
+ * Get list of missing credential environment variables for a tool
68
+ * @param toolName - Name of the tool
69
+ * @returns Array of missing environment variable names
70
+ */
71
+ function getMissingCredentials(toolName) {
72
+ const missing = [];
73
+ if (toolName.startsWith('snow_jira_')) {
74
+ if (!process.env.JIRA_HOST)
75
+ missing.push('JIRA_HOST');
76
+ if (!process.env.JIRA_EMAIL)
77
+ missing.push('JIRA_EMAIL');
78
+ if (!process.env.JIRA_API_TOKEN)
79
+ missing.push('JIRA_API_TOKEN');
80
+ }
81
+ if (toolName.startsWith('snow_azure_')) {
82
+ if (!process.env.AZURE_DEVOPS_ORG)
83
+ missing.push('AZURE_DEVOPS_ORG');
84
+ if (!process.env.AZURE_DEVOPS_PAT)
85
+ missing.push('AZURE_DEVOPS_PAT');
86
+ }
87
+ if (toolName.startsWith('snow_confluence_')) {
88
+ if (!process.env.CONFLUENCE_HOST)
89
+ missing.push('CONFLUENCE_HOST');
90
+ if (!process.env.CONFLUENCE_EMAIL)
91
+ missing.push('CONFLUENCE_EMAIL');
92
+ if (!process.env.CONFLUENCE_API_TOKEN)
93
+ missing.push('CONFLUENCE_API_TOKEN');
94
+ }
95
+ return missing;
96
+ }
97
+ //# sourceMappingURL=credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../../src/mcp/enterprise-proxy/credentials.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Snow-Flow Enterprise MCP Proxy
4
+ * Bridges SnowCode CLI (stdio MCP) with Enterprise License Server (HTTPS REST)
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mcp/enterprise-proxy/index.ts"],"names":[],"mappings":";AACA;;;GAGG"}
@@ -0,0 +1,110 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ /**
4
+ * Snow-Flow Enterprise MCP Proxy
5
+ * Bridges SnowCode CLI (stdio MCP) with Enterprise License Server (HTTPS REST)
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ const index_js_1 = require("@modelcontextprotocol/sdk/server/index.js");
9
+ const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
10
+ const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
11
+ const proxy_js_1 = require("./proxy.js");
12
+ const VERSION = process.env.SNOW_FLOW_VERSION || '8.30.31';
13
+ /**
14
+ * Create MCP Server
15
+ */
16
+ const server = new index_js_1.Server({
17
+ name: 'snow-flow-enterprise-proxy',
18
+ version: VERSION,
19
+ }, {
20
+ capabilities: {
21
+ tools: {},
22
+ },
23
+ });
24
+ /**
25
+ * Handle tools/list request
26
+ * Returns list of available enterprise tools from license server
27
+ */
28
+ server.setRequestHandler(types_js_1.ListToolsRequestSchema, async () => {
29
+ try {
30
+ const tools = await (0, proxy_js_1.listEnterpriseTools)();
31
+ return {
32
+ tools: tools.map((tool) => ({
33
+ name: tool.name,
34
+ description: tool.description || `Enterprise tool: ${tool.name}`,
35
+ inputSchema: tool.inputSchema,
36
+ })),
37
+ };
38
+ }
39
+ catch (error) {
40
+ // Return empty list on error (allows MCP server to start even if enterprise server is down)
41
+ console.error(`[Enterprise Proxy] Failed to list tools: ${error instanceof Error ? error.message : String(error)}`);
42
+ return { tools: [] };
43
+ }
44
+ });
45
+ /**
46
+ * Handle tools/call request
47
+ * Proxies tool call to enterprise license server via HTTPS
48
+ */
49
+ server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
50
+ const { name, arguments: args } = request.params;
51
+ try {
52
+ const result = await (0, proxy_js_1.proxyToolCall)(name, args || {});
53
+ // Format result as MCP response
54
+ return {
55
+ content: [
56
+ {
57
+ type: 'text',
58
+ text: typeof result === 'string' ? result : JSON.stringify(result, null, 2),
59
+ },
60
+ ],
61
+ isError: false,
62
+ };
63
+ }
64
+ catch (error) {
65
+ // Return error as MCP response
66
+ const errorMessage = error instanceof Error ? error.message : String(error);
67
+ return {
68
+ content: [
69
+ {
70
+ type: 'text',
71
+ text: `❌ Enterprise tool error: ${errorMessage}`,
72
+ },
73
+ ],
74
+ isError: true,
75
+ };
76
+ }
77
+ });
78
+ /**
79
+ * Start MCP Server with stdio transport
80
+ */
81
+ async function main() {
82
+ try {
83
+ const transport = new stdio_js_1.StdioServerTransport();
84
+ await server.connect(transport);
85
+ // Log to stderr (stdout is reserved for MCP protocol)
86
+ console.error('[Enterprise Proxy] Snow-Flow Enterprise MCP Proxy started');
87
+ console.error(`[Enterprise Proxy] Version: ${VERSION}`);
88
+ console.error(`[Enterprise Proxy] Enterprise URL: ${process.env.SNOW_ENTERPRISE_URL || 'https://license-server.run.app'}`);
89
+ console.error(`[Enterprise Proxy] License Key: ${process.env.SNOW_LICENSE_KEY ? '✓ Configured' : '✗ Not configured'}`);
90
+ }
91
+ catch (error) {
92
+ console.error('[Enterprise Proxy] Fatal error:', error instanceof Error ? error.message : String(error));
93
+ process.exit(1);
94
+ }
95
+ }
96
+ // Handle process signals
97
+ process.on('SIGINT', () => {
98
+ console.error('[Enterprise Proxy] Received SIGINT, shutting down...');
99
+ process.exit(0);
100
+ });
101
+ process.on('SIGTERM', () => {
102
+ console.error('[Enterprise Proxy] Received SIGTERM, shutting down...');
103
+ process.exit(0);
104
+ });
105
+ // Start server
106
+ main().catch((error) => {
107
+ console.error('[Enterprise Proxy] Startup failed:', error instanceof Error ? error.message : String(error));
108
+ process.exit(1);
109
+ });
110
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp/enterprise-proxy/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Enterprise MCP Proxy
3
+ * Handles HTTPS communication with enterprise license server
4
+ */
5
+ import { EnterpriseTool } from './types.js';
6
+ /**
7
+ * List available enterprise tools from license server
8
+ * @returns Array of enterprise tools
9
+ */
10
+ export declare function listEnterpriseTools(): Promise<EnterpriseTool[]>;
11
+ /**
12
+ * Execute an enterprise tool via the license server
13
+ * @param toolName - Name of the tool to execute
14
+ * @param args - Arguments for the tool
15
+ * @returns Tool execution result
16
+ */
17
+ export declare function proxyToolCall(toolName: string, args: Record<string, any>): Promise<any>;
18
+ /**
19
+ * Validate license key with enterprise server
20
+ * @param licenseKey - License key to validate
21
+ * @returns Validation response
22
+ */
23
+ export declare function validateLicenseKey(licenseKey: string): Promise<{
24
+ valid: boolean;
25
+ error?: string;
26
+ features?: string[];
27
+ serverUrl?: string;
28
+ }>;
29
+ //# sourceMappingURL=proxy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../../src/mcp/enterprise-proxy/proxy.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAIL,cAAc,EACf,MAAM,YAAY,CAAC;AAgBpB;;;GAGG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CA0CrE;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACxB,OAAO,CAAC,GAAG,CAAC,CA+Fd;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;IACT,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC,CAkCD"}
@@ -0,0 +1,171 @@
1
+ "use strict";
2
+ /**
3
+ * Enterprise MCP Proxy
4
+ * Handles HTTPS communication with enterprise license server
5
+ */
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.listEnterpriseTools = listEnterpriseTools;
11
+ exports.proxyToolCall = proxyToolCall;
12
+ exports.validateLicenseKey = validateLicenseKey;
13
+ const axios_1 = __importDefault(require("axios"));
14
+ const node_machine_id_1 = require("node-machine-id");
15
+ const credentials_js_1 = require("./credentials.js");
16
+ // Configuration from environment variables
17
+ const ENTERPRISE_URL = process.env.SNOW_ENTERPRISE_URL || 'https://license-server.run.app';
18
+ const LICENSE_KEY = process.env.SNOW_LICENSE_KEY;
19
+ const VERSION = process.env.SNOW_FLOW_VERSION || '8.30.31';
20
+ // Generate unique machine ID for tracking
21
+ let INSTANCE_ID;
22
+ try {
23
+ INSTANCE_ID = (0, node_machine_id_1.machineIdSync)();
24
+ }
25
+ catch {
26
+ // Fallback if machine ID generation fails
27
+ INSTANCE_ID = `fallback-${Date.now()}-${Math.random().toString(36).substring(7)}`;
28
+ }
29
+ /**
30
+ * List available enterprise tools from license server
31
+ * @returns Array of enterprise tools
32
+ */
33
+ async function listEnterpriseTools() {
34
+ if (!LICENSE_KEY) {
35
+ throw new Error('SNOW_LICENSE_KEY not configured. Run: snow-flow auth login');
36
+ }
37
+ try {
38
+ const response = await axios_1.default.get(`${ENTERPRISE_URL}/mcp/tools/list`, {
39
+ headers: {
40
+ Authorization: `Bearer ${LICENSE_KEY}`,
41
+ 'X-Instance-ID': INSTANCE_ID,
42
+ 'X-Snow-Flow-Version': VERSION,
43
+ },
44
+ timeout: 10000, // 10 seconds for listing
45
+ });
46
+ return response.data.tools || [];
47
+ }
48
+ catch (error) {
49
+ if (axios_1.default.isAxiosError(error)) {
50
+ const axiosError = error;
51
+ if (axiosError.response?.status === 401) {
52
+ throw new Error('License key invalid or expired. Run: snow-flow auth login');
53
+ }
54
+ if (axiosError.response?.status === 403) {
55
+ throw new Error('Access denied. Please check your enterprise license.');
56
+ }
57
+ if (axiosError.code === 'ECONNREFUSED') {
58
+ throw new Error(`Cannot connect to enterprise server at ${ENTERPRISE_URL}`);
59
+ }
60
+ }
61
+ throw new Error(`Failed to list enterprise tools: ${error instanceof Error ? error.message : String(error)}`);
62
+ }
63
+ }
64
+ /**
65
+ * Execute an enterprise tool via the license server
66
+ * @param toolName - Name of the tool to execute
67
+ * @param args - Arguments for the tool
68
+ * @returns Tool execution result
69
+ */
70
+ async function proxyToolCall(toolName, args) {
71
+ if (!LICENSE_KEY) {
72
+ throw new Error('SNOW_LICENSE_KEY not configured. Run: snow-flow auth login');
73
+ }
74
+ // Gather credentials from environment
75
+ const credentials = (0, credentials_js_1.gatherCredentials)(toolName);
76
+ // Check for missing credentials (warn but don't fail - server might have them)
77
+ const missing = (0, credentials_js_1.getMissingCredentials)(toolName);
78
+ if (missing.length > 0) {
79
+ console.error(`Warning: Missing local credentials: ${missing.join(', ')}. Using server-side credentials if available.`);
80
+ }
81
+ // Prepare request
82
+ const request = {
83
+ tool: toolName,
84
+ arguments: args,
85
+ credentials: Object.keys(credentials).length > 0 ? credentials : undefined,
86
+ };
87
+ try {
88
+ const response = await axios_1.default.post(`${ENTERPRISE_URL}/mcp/tools/call`, request, {
89
+ headers: {
90
+ Authorization: `Bearer ${LICENSE_KEY}`,
91
+ 'Content-Type': 'application/json',
92
+ 'X-Instance-ID': INSTANCE_ID,
93
+ 'X-Snow-Flow-Version': VERSION,
94
+ },
95
+ timeout: 120000, // 2 minutes for tool execution
96
+ });
97
+ if (!response.data.success) {
98
+ throw new Error(response.data.error || 'Tool execution failed');
99
+ }
100
+ return response.data.result;
101
+ }
102
+ catch (error) {
103
+ if (axios_1.default.isAxiosError(error)) {
104
+ const axiosError = error;
105
+ // Handle specific HTTP errors
106
+ if (axiosError.response?.status === 401) {
107
+ throw new Error('License key invalid or expired. Run: snow-flow auth login');
108
+ }
109
+ if (axiosError.response?.status === 403) {
110
+ throw new Error('Access denied. Please check your enterprise license.');
111
+ }
112
+ if (axiosError.response?.status === 429) {
113
+ const retryAfter = axiosError.response.headers['retry-after'] || '300';
114
+ throw new Error(`Rate limit exceeded. Try again in ${retryAfter} seconds.`);
115
+ }
116
+ if (axiosError.response?.status === 404) {
117
+ throw new Error(`Tool '${toolName}' not found in enterprise catalog.`);
118
+ }
119
+ if (axiosError.response?.data) {
120
+ const errorData = axiosError.response.data;
121
+ if (errorData.error) {
122
+ throw new Error(`Enterprise server error: ${errorData.error}`);
123
+ }
124
+ }
125
+ if (axiosError.code === 'ECONNREFUSED') {
126
+ throw new Error(`Cannot connect to enterprise server at ${ENTERPRISE_URL}`);
127
+ }
128
+ if (axiosError.code === 'ETIMEDOUT') {
129
+ throw new Error('Request to enterprise server timed out. Tool execution may still be in progress.');
130
+ }
131
+ }
132
+ throw new Error(`Tool execution failed: ${error instanceof Error ? error.message : String(error)}`);
133
+ }
134
+ }
135
+ /**
136
+ * Validate license key with enterprise server
137
+ * @param licenseKey - License key to validate
138
+ * @returns Validation response
139
+ */
140
+ async function validateLicenseKey(licenseKey) {
141
+ try {
142
+ const response = await axios_1.default.post(`${ENTERPRISE_URL}/api/license/validate`, {}, {
143
+ headers: {
144
+ Authorization: `Bearer ${licenseKey}`,
145
+ 'Content-Type': 'application/json',
146
+ },
147
+ timeout: 10000,
148
+ });
149
+ return {
150
+ valid: true,
151
+ features: response.data.features || [],
152
+ serverUrl: ENTERPRISE_URL,
153
+ };
154
+ }
155
+ catch (error) {
156
+ if (axios_1.default.isAxiosError(error)) {
157
+ const axiosError = error;
158
+ if (axiosError.response?.status === 401) {
159
+ return { valid: false, error: 'Invalid license key' };
160
+ }
161
+ if (axiosError.response?.status === 403) {
162
+ return { valid: false, error: 'License key expired or inactive' };
163
+ }
164
+ }
165
+ return {
166
+ valid: false,
167
+ error: error instanceof Error ? error.message : 'Validation failed',
168
+ };
169
+ }
170
+ }
171
+ //# sourceMappingURL=proxy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../../src/mcp/enterprise-proxy/proxy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Enterprise MCP Proxy Types
3
+ */
4
+ export interface EnterpriseCredentials {
5
+ jira?: {
6
+ host: string;
7
+ email: string;
8
+ apiToken: string;
9
+ };
10
+ azure?: {
11
+ organization: string;
12
+ pat: string;
13
+ };
14
+ confluence?: {
15
+ host: string;
16
+ email: string;
17
+ apiToken: string;
18
+ };
19
+ }
20
+ export interface EnterpriseProxyConfig {
21
+ enterpriseUrl: string;
22
+ licenseKey: string;
23
+ credentials?: EnterpriseCredentials;
24
+ instanceId?: string;
25
+ version?: string;
26
+ }
27
+ export interface EnterpriseToolCallRequest {
28
+ tool: string;
29
+ arguments: Record<string, any>;
30
+ credentials?: Partial<EnterpriseCredentials>;
31
+ }
32
+ export interface EnterpriseToolCallResponse {
33
+ success: boolean;
34
+ tool: string;
35
+ result?: any;
36
+ error?: string;
37
+ usage?: {
38
+ duration_ms: number;
39
+ timestamp: string;
40
+ };
41
+ }
42
+ export interface EnterpriseTool {
43
+ name: string;
44
+ description?: string;
45
+ inputSchema: {
46
+ type: 'object';
47
+ properties: Record<string, any>;
48
+ required?: string[];
49
+ };
50
+ }
51
+ export interface EnterpriseToolListResponse {
52
+ tools: EnterpriseTool[];
53
+ }
54
+ export interface LicenseValidationResponse {
55
+ valid: boolean;
56
+ error?: string;
57
+ features?: string[];
58
+ serverUrl?: string;
59
+ customer?: {
60
+ id: string;
61
+ name: string;
62
+ status: string;
63
+ };
64
+ }
65
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/mcp/enterprise-proxy/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,KAAK,CAAC,EAAE;QACN,YAAY,EAAE,MAAM,CAAC;QACrB,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,UAAU,CAAC,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED,MAAM,WAAW,qBAAqB;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,WAAW,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;CAC9C;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE;QACN,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAChC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH;AAED,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,cAAc,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE;QACT,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ /**
3
+ * Enterprise MCP Proxy Types
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/mcp/enterprise-proxy/types.ts"],"names":[],"mappings":";AAAA;;GAEG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "snow-flow",
3
- "version": "8.30.31",
3
+ "version": "8.30.32",
4
4
  "description": "ServiceNow development with SnowCode - 75+ LLM providers (Claude, GPT, Gemini, Llama, Mistral, DeepSeek, Groq, Ollama) • 393 Optimized Tools • 2 MCP Servers • Multi-agent orchestration • Use ANY AI coding assistant (ML tools moved to Enterprise)",
5
5
  "main": "dist/index.js",
6
6
  "type": "commonjs",
@@ -512,6 +512,7 @@
512
512
  "gradient-string": "^3.0.0",
513
513
  "inquirer": "^8.2.7",
514
514
  "neo4j-driver": "6.0.0",
515
+ "node-machine-id": "^1.1.12",
515
516
  "ora": "^5.4.1",
516
517
  "uuid": "13.0.0",
517
518
  "winston": "3.18.3",
@@ -543,7 +544,7 @@
543
544
  "typescript": "5.9.3"
544
545
  },
545
546
  "peerDependencies": {
546
- "@groeimetai/snow-code": "^0.18.24"
547
+ "@groeimetai/snow-code": "^0.18.27"
547
548
  },
548
549
  "peerDependenciesMeta": {
549
550
  "@groeimetai/snow-code": {