snow-flow 1.1.85 → 1.1.88
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/CLAUDE.md +232 -10
- package/README.md +70 -9
- package/dist/cli.js +152 -18
- package/dist/cli.js.map +1 -1
- package/dist/intelligence/auto-resolution-engine.d.ts +74 -0
- package/dist/intelligence/auto-resolution-engine.d.ts.map +1 -0
- package/dist/intelligence/auto-resolution-engine.js +518 -0
- package/dist/intelligence/auto-resolution-engine.js.map +1 -0
- package/dist/intelligence/gap-analysis-engine.d.ts +103 -0
- package/dist/intelligence/gap-analysis-engine.d.ts.map +1 -0
- package/dist/intelligence/gap-analysis-engine.js +333 -0
- package/dist/intelligence/gap-analysis-engine.js.map +1 -0
- package/dist/intelligence/manual-instructions-generator.d.ts +88 -0
- package/dist/intelligence/manual-instructions-generator.d.ts.map +1 -0
- package/dist/intelligence/manual-instructions-generator.js +641 -0
- package/dist/intelligence/manual-instructions-generator.js.map +1 -0
- package/dist/intelligence/mcp-coverage-analyzer.d.ts +89 -0
- package/dist/intelligence/mcp-coverage-analyzer.d.ts.map +1 -0
- package/dist/intelligence/mcp-coverage-analyzer.js +556 -0
- package/dist/intelligence/mcp-coverage-analyzer.js.map +1 -0
- package/dist/intelligence/requirements-analyzer.d.ts +59 -0
- package/dist/intelligence/requirements-analyzer.d.ts.map +1 -0
- package/dist/intelligence/requirements-analyzer.js +978 -0
- package/dist/intelligence/requirements-analyzer.js.map +1 -0
- package/dist/queen/index.d.ts +1 -0
- package/dist/queen/index.d.ts.map +1 -1
- package/dist/queen/index.js +2 -1
- package/dist/queen/index.js.map +1 -1
- package/dist/queen/servicenow-queen.d.ts +12 -0
- package/dist/queen/servicenow-queen.d.ts.map +1 -1
- package/dist/queen/servicenow-queen.js +168 -9
- package/dist/queen/servicenow-queen.js.map +1 -1
- package/dist/utils/dependency-detector.d.ts +44 -0
- package/dist/utils/dependency-detector.d.ts.map +1 -0
- package/dist/utils/dependency-detector.js +208 -0
- package/dist/utils/dependency-detector.js.map +1 -0
- package/dist/utils/theme-manager.d.ts +54 -0
- package/dist/utils/theme-manager.d.ts.map +1 -0
- package/dist/utils/theme-manager.js +214 -0
- package/dist/utils/theme-manager.js.map +1 -0
- package/dist/version.d.ts +17 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +92 -1
- package/dist/version.js.map +1 -1
- package/package.json +1 -1
package/CLAUDE.md
CHANGED
|
@@ -22,7 +22,15 @@ const discovery = await snow_find_artifact({
|
|
|
22
22
|
type: "widget|flow|script|any"
|
|
23
23
|
});
|
|
24
24
|
|
|
25
|
-
// 3.
|
|
25
|
+
// 3. 🧠 NEW: INTELLIGENT GAP ANALYSIS (Beyond MCP Tools)
|
|
26
|
+
const gapAnalysis = await analyzeGaps("your objective", mcpTools, logger, {
|
|
27
|
+
autoPermissions: true,
|
|
28
|
+
environment: "development",
|
|
29
|
+
enableAutomation: true,
|
|
30
|
+
includeManualGuides: true
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
// 4. MANDATORY: Real ServiceNow deployment
|
|
26
34
|
const deployment = await snow_deploy({
|
|
27
35
|
type: "widget|flow|application",
|
|
28
36
|
config: { /* your config */ },
|
|
@@ -66,13 +74,19 @@ User Request → ALWAYS START HERE:
|
|
|
66
74
|
↓
|
|
67
75
|
NOT FOUND? → Continue to Step 3
|
|
68
76
|
↓
|
|
69
|
-
3.
|
|
77
|
+
3. 🧠 analyzeGaps() // NEW: Intelligent Gap Analysis
|
|
78
|
+
↓
|
|
79
|
+
DETECTS: All ServiceNow configs beyond MCP tools
|
|
80
|
+
AUTOMATES: System properties, navigation, auth configs
|
|
81
|
+
PROVIDES: Manual guides for complex setups
|
|
82
|
+
↓
|
|
83
|
+
4. snow_deploy() // Real deployment to ServiceNow
|
|
70
84
|
↓
|
|
71
|
-
SUCCESS? → Step
|
|
85
|
+
SUCCESS? → Step 5: Track in Update Set
|
|
72
86
|
↓
|
|
73
87
|
FAILURE? → Use fallback strategies (see below)
|
|
74
88
|
↓
|
|
75
|
-
|
|
89
|
+
5. snow_update_set_add_artifact() // Always track
|
|
76
90
|
↓
|
|
77
91
|
DONE! ✅
|
|
78
92
|
```
|
|
@@ -139,10 +153,11 @@ snow-flow swarm "deploy mobile-responsive widget with accessibility features"
|
|
|
139
153
|
**What happens internally in every swarm:**
|
|
140
154
|
1. ✅ **Pre-flight auth check** with `snow_validate_live_connection()`
|
|
141
155
|
2. ✅ **Smart discovery** with `snow_comprehensive_search()`
|
|
142
|
-
3.
|
|
143
|
-
4. ✅ **
|
|
144
|
-
5. ✅ **
|
|
145
|
-
6. ✅ **
|
|
156
|
+
3. 🧠 **NEW: Intelligent Gap Analysis** - detects ALL required ServiceNow configurations
|
|
157
|
+
4. ✅ **Multi-agent coordination** with shared MCP context
|
|
158
|
+
5. ✅ **Real deployment** with `snow_deploy()`
|
|
159
|
+
6. ✅ **Automatic tracking** with `snow_update_set_add_artifact()`
|
|
160
|
+
7. ✅ **Live testing** with `snow_test_flow_with_mock()` or `snow_widget_test()`
|
|
146
161
|
|
|
147
162
|
### Swarm MCP Integration Features
|
|
148
163
|
|
|
@@ -192,7 +207,47 @@ if (discovery.found.length > 0) {
|
|
|
192
207
|
}
|
|
193
208
|
```
|
|
194
209
|
|
|
195
|
-
### **STEP 3:
|
|
210
|
+
### **STEP 3: 🧠 Intelligent Gap Analysis (NEW!)**
|
|
211
|
+
|
|
212
|
+
```javascript
|
|
213
|
+
// NEW: Automatically detects ALL ServiceNow configurations needed beyond MCP tools
|
|
214
|
+
const gapAnalysis = await analyzeGaps("create incident management with LDAP auth", mcpTools, logger, {
|
|
215
|
+
autoPermissions: true, // Automatic configuration when possible
|
|
216
|
+
environment: "development", // Environment-specific guidance
|
|
217
|
+
enableAutomation: true, // Attempt automatic resolution
|
|
218
|
+
includeManualGuides: true, // Generate manual instructions
|
|
219
|
+
riskTolerance: "medium" // Risk assessment level
|
|
220
|
+
});
|
|
221
|
+
|
|
222
|
+
console.log(`📊 Gap Analysis Results:`);
|
|
223
|
+
console.log(` • Total Requirements: ${gapAnalysis.totalRequirements}`);
|
|
224
|
+
console.log(` • MCP Coverage: ${gapAnalysis.mcpCoverage.coveragePercentage}%`);
|
|
225
|
+
console.log(` • Auto-Resolved: ${gapAnalysis.summary.successfulAutomation} configs`);
|
|
226
|
+
console.log(` • Manual Setup: ${gapAnalysis.summary.requiresManualWork} items`);
|
|
227
|
+
|
|
228
|
+
// Display automatic configurations
|
|
229
|
+
if (gapAnalysis.summary.successfulAutomation > 0) {
|
|
230
|
+
console.log('\n✅ Automatically Configured:');
|
|
231
|
+
gapAnalysis.nextSteps.automated.forEach(step => console.log(` • ${step}`));
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
// Display manual setup requirements
|
|
235
|
+
if (gapAnalysis.summary.requiresManualWork > 0) {
|
|
236
|
+
console.log('\n📋 Manual Configuration Required:');
|
|
237
|
+
gapAnalysis.nextSteps.manual.forEach(step => console.log(` • ${step}`));
|
|
238
|
+
|
|
239
|
+
// Detailed manual guides available
|
|
240
|
+
if (gapAnalysis.manualGuides) {
|
|
241
|
+
console.log('\n📚 Detailed step-by-step guides:');
|
|
242
|
+
gapAnalysis.manualGuides.guides.forEach(guide => {
|
|
243
|
+
console.log(` 📖 ${guide.title} - ${guide.totalEstimatedTime}`);
|
|
244
|
+
console.log(` Risk: ${guide.riskLevel} | Roles: ${guide.requiredRoles.join(', ')}`);
|
|
245
|
+
});
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
### **STEP 4: Real ServiceNow Deployment**
|
|
196
251
|
|
|
197
252
|
```javascript
|
|
198
253
|
// Deploy directly to ServiceNow - NO local files!
|
|
@@ -211,7 +266,7 @@ const deployment = await snow_deploy({
|
|
|
211
266
|
});
|
|
212
267
|
```
|
|
213
268
|
|
|
214
|
-
### **STEP
|
|
269
|
+
### **STEP 5: Automatic Update Set Tracking**
|
|
215
270
|
|
|
216
271
|
```javascript
|
|
217
272
|
// Every deployment is automatically tracked
|
|
@@ -225,6 +280,173 @@ console.log(`✅ Widget deployed: ${deployment.result.sys_id}`);
|
|
|
225
280
|
console.log(`📋 Tracked in Update Set: ${deployment.update_set_id}`);
|
|
226
281
|
```
|
|
227
282
|
|
|
283
|
+
## 🧠 Intelligent Gap Analysis Engine (Revolutionary New Feature!)
|
|
284
|
+
|
|
285
|
+
**The breakthrough solution for handling ALL ServiceNow configurations beyond MCP tools!**
|
|
286
|
+
|
|
287
|
+
### What It Does
|
|
288
|
+
|
|
289
|
+
The Gap Analysis Engine automatically detects **60+ types of ServiceNow configurations** that your objective requires but that fall outside the scope of standard MCP tools:
|
|
290
|
+
|
|
291
|
+
**🔐 Authentication & Security:**
|
|
292
|
+
- LDAP, SAML, OAuth provider configurations
|
|
293
|
+
- SSO setup, MFA configurations
|
|
294
|
+
- ACL rules, data policies, user roles
|
|
295
|
+
|
|
296
|
+
**🗄️ Database & Performance:**
|
|
297
|
+
- Database indexes, views, partitioning
|
|
298
|
+
- Performance analytics, monitoring configs
|
|
299
|
+
- System properties, cache settings
|
|
300
|
+
|
|
301
|
+
**🧭 Navigation & UI:**
|
|
302
|
+
- Application menus, navigation modules
|
|
303
|
+
- Form layouts, sections, list configurations
|
|
304
|
+
- UI actions, policies, client scripts
|
|
305
|
+
|
|
306
|
+
**📧 Communication & Integration:**
|
|
307
|
+
- Email templates, notification rules
|
|
308
|
+
- Web services, SOAP messages, import sets
|
|
309
|
+
- Transform maps, integration endpoints
|
|
310
|
+
|
|
311
|
+
**🔄 Workflow & Automation:**
|
|
312
|
+
- Workflow activities, transitions
|
|
313
|
+
- SLA definitions, escalation rules
|
|
314
|
+
- Scheduled jobs, event rules
|
|
315
|
+
|
|
316
|
+
### How It Works
|
|
317
|
+
|
|
318
|
+
```javascript
|
|
319
|
+
// The engine analyzes your objective and automatically:
|
|
320
|
+
|
|
321
|
+
1. 🎯 REQUIREMENTS ANALYSIS
|
|
322
|
+
- Parses natural language objective
|
|
323
|
+
- Identifies ALL required ServiceNow configurations
|
|
324
|
+
- Maps dependencies and relationships
|
|
325
|
+
|
|
326
|
+
2. 📊 MCP COVERAGE ANALYSIS
|
|
327
|
+
- Checks what current MCP tools can handle
|
|
328
|
+
- Identifies gaps requiring manual setup
|
|
329
|
+
- Calculates automation potential
|
|
330
|
+
|
|
331
|
+
3. 🤖 AUTO-RESOLUTION ENGINE
|
|
332
|
+
- Attempts automatic configuration via ServiceNow APIs
|
|
333
|
+
- Handles system properties, navigation, basic auth
|
|
334
|
+
- Respects risk levels and permission requirements
|
|
335
|
+
|
|
336
|
+
4. 📚 MANUAL INSTRUCTIONS GENERATOR
|
|
337
|
+
- Creates detailed step-by-step guides
|
|
338
|
+
- Environment-specific instructions (dev/test/prod)
|
|
339
|
+
- Role requirements, warnings, verification steps
|
|
340
|
+
```
|
|
341
|
+
|
|
342
|
+
### Example Output
|
|
343
|
+
|
|
344
|
+
```bash
|
|
345
|
+
snow-flow queen "create incident management with LDAP authentication"
|
|
346
|
+
|
|
347
|
+
🧠 Step 4: Running Intelligent Gap Analysis...
|
|
348
|
+
📊 Gap Analysis Complete:
|
|
349
|
+
• Total Requirements: 12
|
|
350
|
+
• MCP Coverage: 67%
|
|
351
|
+
• Automated: 6 configurations
|
|
352
|
+
• Manual Work: 4 items
|
|
353
|
+
|
|
354
|
+
✅ Automatically Configured:
|
|
355
|
+
• System property created: glide.ui.incident_management
|
|
356
|
+
• Navigation module: Incident Management added to Service Desk
|
|
357
|
+
• Email template: incident_notification configured
|
|
358
|
+
• Database index: incident.priority_state for performance
|
|
359
|
+
• Form layout: incident form sections optimized
|
|
360
|
+
• UI action: "Escalate Priority" button added
|
|
361
|
+
|
|
362
|
+
📋 Manual Configuration Required:
|
|
363
|
+
• LDAP authentication setup (high-risk operation)
|
|
364
|
+
• SSO configuration with Active Directory
|
|
365
|
+
• Custom ACL rules for incident priority restrictions
|
|
366
|
+
• Email server configuration for notifications
|
|
367
|
+
|
|
368
|
+
📚 Detailed Manual Guides Available:
|
|
369
|
+
📖 Configure LDAP Authentication - 25 minutes
|
|
370
|
+
Risk: high | Roles: security_admin, admin
|
|
371
|
+
📖 Setup SSO with Active Directory - 45 minutes
|
|
372
|
+
Risk: high | Roles: security_admin
|
|
373
|
+
📖 Create Custom ACL Rules - 15 minutes
|
|
374
|
+
Risk: medium | Roles: admin
|
|
375
|
+
📖 Configure Email Server - 20 minutes
|
|
376
|
+
Risk: low | Roles: email_admin
|
|
377
|
+
|
|
378
|
+
💡 Recommendations:
|
|
379
|
+
• Test LDAP configuration in development environment first
|
|
380
|
+
• Coordinate with security team for SSO setup
|
|
381
|
+
• Review ACL rules with business stakeholders
|
|
382
|
+
```
|
|
383
|
+
|
|
384
|
+
### Advanced Usage
|
|
385
|
+
|
|
386
|
+
```javascript
|
|
387
|
+
// Direct access to Gap Analysis Engine
|
|
388
|
+
import { analyzeGaps, quickAnalyze } from './intelligence/gap-analysis-engine';
|
|
389
|
+
|
|
390
|
+
// Quick analysis without resolution (planning mode)
|
|
391
|
+
const quickResult = quickAnalyze("create mobile app with push notifications");
|
|
392
|
+
console.log(`Complexity: ${quickResult.estimatedComplexity}`);
|
|
393
|
+
console.log(`Requirements: ${quickResult.requirements.length}`);
|
|
394
|
+
|
|
395
|
+
// Full analysis with automatic resolution
|
|
396
|
+
const fullResult = await analyzeGaps("objective", mcpTools, logger, {
|
|
397
|
+
autoPermissions: false, // Prompt before high-risk operations
|
|
398
|
+
environment: "production", // Production-specific guidance
|
|
399
|
+
enableAutomation: true, // Attempt automatic fixes
|
|
400
|
+
includeManualGuides: true, // Generate detailed guides
|
|
401
|
+
riskTolerance: "low" // Conservative approach
|
|
402
|
+
});
|
|
403
|
+
|
|
404
|
+
// Access manual guides for specific configurations
|
|
405
|
+
if (fullResult.manualGuides) {
|
|
406
|
+
fullResult.manualGuides.guides.forEach(guide => {
|
|
407
|
+
console.log(`\n📖 ${guide.title}`);
|
|
408
|
+
console.log(`⏱️ Estimated time: ${guide.totalEstimatedTime}`);
|
|
409
|
+
console.log(`🛡️ Risk level: ${guide.riskLevel}`);
|
|
410
|
+
console.log(`👥 Required roles: ${guide.requiredRoles.join(', ')}`);
|
|
411
|
+
|
|
412
|
+
guide.instructions.forEach((instruction, index) => {
|
|
413
|
+
console.log(`\n${index + 1}. ${instruction.title}`);
|
|
414
|
+
console.log(` ${instruction.description}`);
|
|
415
|
+
if (instruction.warnings) {
|
|
416
|
+
instruction.warnings.forEach(warning => {
|
|
417
|
+
console.log(` ⚠️ ${warning}`);
|
|
418
|
+
});
|
|
419
|
+
}
|
|
420
|
+
});
|
|
421
|
+
});
|
|
422
|
+
}
|
|
423
|
+
```
|
|
424
|
+
|
|
425
|
+
### Queen Agent Integration
|
|
426
|
+
|
|
427
|
+
The Gap Analysis Engine is **automatically integrated** into the Queen Agent workflow:
|
|
428
|
+
|
|
429
|
+
```bash
|
|
430
|
+
# Every Queen Agent execution now includes:
|
|
431
|
+
snow-flow queen "create ITSM solution with approval workflows"
|
|
432
|
+
|
|
433
|
+
# Workflow: Auth → Discovery → 🧠 Gap Analysis → MCP Tools → Deployment
|
|
434
|
+
```
|
|
435
|
+
|
|
436
|
+
**No additional configuration needed!** The engine runs automatically and provides:
|
|
437
|
+
- ✅ **Automatic configuration** of detectable items
|
|
438
|
+
- 📋 **Detailed manual guides** for complex setups
|
|
439
|
+
- 💡 **Strategic recommendations** for optimal implementation
|
|
440
|
+
- 🛡️ **Risk assessment** and safety warnings
|
|
441
|
+
|
|
442
|
+
### Why This Is Revolutionary
|
|
443
|
+
|
|
444
|
+
**Before:** "Sorry, dat kunnen de MCP tools niet - je moet het handmatig doen"
|
|
445
|
+
|
|
446
|
+
**After:** "🧠 Ik heb 8 configurations automatisch ingesteld en hier zijn de gedetailleerde instructies voor de 3 items die handmatige setup vereisen, inclusief stappenplannen per rol en risico-assessment"
|
|
447
|
+
|
|
448
|
+
**This completely solves the original request: "alle mogelijke soorten handelingen die nodig zouden zijn om een objective te bereiken die vallen buiten de standaard mcps"**
|
|
449
|
+
|
|
228
450
|
## 🎯 MCP Tool Reference (Use These ALWAYS!)
|
|
229
451
|
|
|
230
452
|
### Core Deployment Tools
|
package/README.md
CHANGED
|
@@ -12,14 +12,27 @@
|
|
|
12
12
|
- 🎯 **Claude Code Integration**: All coordination happens through Claude Code interface
|
|
13
13
|
- 🚀 **One Command**: `snow-flow swarm "objective"` - everything else is automatic
|
|
14
14
|
|
|
15
|
-
## ✨ What's New in v1.1.
|
|
16
|
-
|
|
17
|
-
###
|
|
18
|
-
- **
|
|
19
|
-
- **
|
|
20
|
-
- **
|
|
21
|
-
- **
|
|
22
|
-
- **Agent
|
|
15
|
+
## ✨ What's New in v1.1.88 - Intelligent Gap Analysis Revolution
|
|
16
|
+
|
|
17
|
+
### 🧠 REVOLUTIONARY: Intelligent Gap Analysis Engine
|
|
18
|
+
- **Beyond MCP Tools**: Automatically detects ALL ServiceNow configurations needed beyond standard MCP tools
|
|
19
|
+
- **60+ Configuration Types**: System properties, LDAP/SAML auth, database indexes, navigation, forms, ACLs, and more
|
|
20
|
+
- **Auto-Resolution Engine**: Attempts automatic configuration via ServiceNow APIs for safe operations
|
|
21
|
+
- **Manual Instructions Generator**: Creates detailed step-by-step guides with role requirements and risk assessment
|
|
22
|
+
- **Queen Agent Integration**: Built into every Queen Agent execution - no additional commands needed
|
|
23
|
+
|
|
24
|
+
### 🎯 Complete ServiceNow Configuration Coverage
|
|
25
|
+
- **🔐 Authentication**: LDAP, SAML, OAuth providers, SSO, MFA configurations
|
|
26
|
+
- **🗄️ Database**: Indexes, views, partitioning, performance analytics, system properties
|
|
27
|
+
- **🧭 Navigation**: Application menus, modules, form layouts, UI actions, policies
|
|
28
|
+
- **📧 Integration**: Email templates, web services, import sets, transform maps
|
|
29
|
+
- **🔄 Workflow**: Activities, transitions, SLA definitions, escalation rules
|
|
30
|
+
|
|
31
|
+
### 🤖 Intelligent Automation
|
|
32
|
+
- **Requirements Analysis**: AI-powered parsing of objectives to identify all needed configurations
|
|
33
|
+
- **MCP Coverage Analysis**: Maps what current tools can handle vs manual setup requirements
|
|
34
|
+
- **Risk Assessment**: Evaluates complexity and safety of each configuration
|
|
35
|
+
- **Environment Awareness**: Provides dev/test/prod specific guidance and warnings
|
|
23
36
|
|
|
24
37
|
### 🔧 Agent-Based MCP Integration
|
|
25
38
|
- **Memory-Aware MCPs**: All 11 MCP servers now integrate with agent coordination
|
|
@@ -126,8 +139,53 @@ SNOW_PASSWORD=admin_password
|
|
|
126
139
|
# Authenticate with ServiceNow
|
|
127
140
|
snow-flow auth login
|
|
128
141
|
|
|
129
|
-
# 🎉 Experience the hive-mind intelligence!
|
|
142
|
+
# 🎉 Experience the hive-mind intelligence with Gap Analysis!
|
|
130
143
|
snow-flow swarm "Create incident management dashboard with real-time charts"
|
|
144
|
+
|
|
145
|
+
# 🧠 NEW: Advanced example showing Gap Analysis Engine
|
|
146
|
+
snow-flow queen "create ITSM solution with LDAP authentication and custom approval workflows"
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
### 🧠 What You'll See with Gap Analysis Engine
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
snow-flow queen "create incident management with LDAP authentication"
|
|
153
|
+
|
|
154
|
+
🧠 Step 4: Running Intelligent Gap Analysis...
|
|
155
|
+
📊 Gap Analysis Complete:
|
|
156
|
+
• Total Requirements: 12
|
|
157
|
+
• MCP Coverage: 67%
|
|
158
|
+
• Automated: 6 configurations
|
|
159
|
+
• Manual Work: 4 items
|
|
160
|
+
|
|
161
|
+
✅ Automatically Configured:
|
|
162
|
+
• System property: glide.ui.incident_management created
|
|
163
|
+
• Navigation module: Incident Management added to Service Desk
|
|
164
|
+
• Email template: incident_notification configured
|
|
165
|
+
• Database index: incident.priority_state for performance
|
|
166
|
+
• Form layout: incident form sections optimized
|
|
167
|
+
• UI action: "Escalate Priority" button added
|
|
168
|
+
|
|
169
|
+
📋 Manual Configuration Required:
|
|
170
|
+
• LDAP authentication setup (high-risk operation)
|
|
171
|
+
• SSO configuration with Active Directory
|
|
172
|
+
• Custom ACL rules for incident priority restrictions
|
|
173
|
+
• Email server configuration for notifications
|
|
174
|
+
|
|
175
|
+
📚 Detailed Manual Guides Available:
|
|
176
|
+
📖 Configure LDAP Authentication - 25 minutes
|
|
177
|
+
Risk: high | Roles: security_admin, admin
|
|
178
|
+
📖 Setup SSO with Active Directory - 45 minutes
|
|
179
|
+
Risk: high | Roles: security_admin
|
|
180
|
+
📖 Create Custom ACL Rules - 15 minutes
|
|
181
|
+
Risk: medium | Roles: admin
|
|
182
|
+
📖 Configure Email Server - 20 minutes
|
|
183
|
+
Risk: low | Roles: email_admin
|
|
184
|
+
|
|
185
|
+
💡 Recommendations:
|
|
186
|
+
• Test LDAP configuration in development environment first
|
|
187
|
+
• Coordinate with security team for SSO setup
|
|
188
|
+
• Review ACL rules with business stakeholders
|
|
131
189
|
```
|
|
132
190
|
|
|
133
191
|
## 🎯 Core Commands
|
|
@@ -149,6 +207,9 @@ snow-flow memory export <file>
|
|
|
149
207
|
```
|
|
150
208
|
|
|
151
209
|
### 🚀 Intelligent Features (Enabled by Default)
|
|
210
|
+
- **🧠 Gap Analysis Engine**: Automatically detects ALL ServiceNow configurations beyond MCP tools
|
|
211
|
+
- **🤖 Auto-Resolution**: Attempts automatic configuration of system properties, navigation, auth
|
|
212
|
+
- **📚 Manual Guides**: Generates detailed step-by-step instructions for complex setups
|
|
152
213
|
- **Smart Discovery**: Automatically discovers and reuses existing artifacts
|
|
153
214
|
- **Live Testing**: Real-time testing during development on your ServiceNow instance
|
|
154
215
|
- **Auto Deploy**: Automatic deployment when ready (safe with update sets)
|
package/dist/cli.js
CHANGED
|
@@ -407,6 +407,23 @@ You are the Queen Agent, master coordinator of the Snow-Flow hive-mind. Your mis
|
|
|
407
407
|
- **ServiceNow Artifacts**: ${taskAnalysis.serviceNowArtifacts.join(', ')}
|
|
408
408
|
- **Recommended Team**: ${getTeamRecommendation(taskAnalysis.taskType)}
|
|
409
409
|
|
|
410
|
+
## 📊 Table Discovery Intelligence
|
|
411
|
+
|
|
412
|
+
The Queen Agent will automatically discover and validate table schemas based on the objective. This ensures agents use correct field names and table structures.
|
|
413
|
+
|
|
414
|
+
**Table Detection Examples:**
|
|
415
|
+
- "create widget for incident records" → Discovers: incident, sys_user, sys_user_group
|
|
416
|
+
- "build approval flow for u_equipment_request" → Discovers: u_equipment_request, sys_user, sysapproval_approver
|
|
417
|
+
- "portal showing catalog items" → Discovers: sc_cat_item, sc_category, sc_request
|
|
418
|
+
- "dashboard with CMDB assets" → Discovers: cmdb_ci, cmdb_rel_ci, sys_user
|
|
419
|
+
- "report on problem tickets" → Discovers: problem, incident, sys_user
|
|
420
|
+
|
|
421
|
+
**Discovery Process:**
|
|
422
|
+
1. Extracts table names from objective (standard tables, u_ custom tables, explicit mentions)
|
|
423
|
+
2. Discovers actual table schemas with field names, types, and relationships
|
|
424
|
+
3. Stores schemas in memory for all agents to use
|
|
425
|
+
4. Agents MUST use exact field names from schemas (e.g., 'short_description' not 'desc')
|
|
426
|
+
|
|
410
427
|
## 👑 Your Queen Agent Responsibilities
|
|
411
428
|
|
|
412
429
|
### 1. CRITICAL: Initialize Memory FIRST (Before Everything!)
|
|
@@ -485,33 +502,87 @@ await mcp__claude-flow__memory_usage({
|
|
|
485
502
|
namespace: "swarm_${sessionId}"
|
|
486
503
|
});
|
|
487
504
|
|
|
488
|
-
// Step 2.4:
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
505
|
+
// Step 2.4: Discover tables mentioned in objective
|
|
506
|
+
// Extract potential table names from the objective
|
|
507
|
+
const tablePatterns = [
|
|
508
|
+
/\b(incident|problem|change_request|sc_request|sc_req_item|task|cmdb_ci|sys_user|sys_user_group)\b/gi,
|
|
509
|
+
/\b(u_\w+)\b/g, // Custom tables starting with u_
|
|
510
|
+
/\b(\w+_table)\b/gi, // Tables ending with _table
|
|
511
|
+
/\bfrom\s+(\w+)\b/gi, // SQL-like "from table_name"
|
|
512
|
+
/\btable[:\s]+(\w+)\b/gi, // "table: xyz" or "table xyz"
|
|
513
|
+
/\b(\w+)\s+records?\b/gi, // "xyz records"
|
|
514
|
+
];
|
|
515
|
+
|
|
516
|
+
const detectedTables = new Set();
|
|
517
|
+
// Always include common tables for context
|
|
518
|
+
['incident', 'sc_request', 'sys_user'].forEach(t => detectedTables.add(t));
|
|
519
|
+
|
|
520
|
+
// Search for tables in objective
|
|
521
|
+
for (const pattern of tablePatterns) {
|
|
522
|
+
const matches = "${objective}".matchAll(pattern);
|
|
523
|
+
for (const match of matches) {
|
|
524
|
+
if (match[1]) {
|
|
525
|
+
detectedTables.add(match[1].toLowerCase());
|
|
526
|
+
}
|
|
527
|
+
}
|
|
528
|
+
}
|
|
493
529
|
|
|
494
|
-
for
|
|
530
|
+
// Also check for common data needs based on objective type
|
|
531
|
+
if ("${objective}".toLowerCase().includes('catalog')) {
|
|
532
|
+
detectedTables.add('sc_cat_item');
|
|
533
|
+
detectedTables.add('sc_category');
|
|
534
|
+
}
|
|
535
|
+
if ("${objective}".toLowerCase().includes('user')) {
|
|
536
|
+
detectedTables.add('sys_user');
|
|
537
|
+
detectedTables.add('sys_user_group');
|
|
538
|
+
}
|
|
539
|
+
if ("${objective}".toLowerCase().includes('cmdb') || "${objective}".toLowerCase().includes('asset')) {
|
|
540
|
+
detectedTables.add('cmdb_ci');
|
|
541
|
+
}
|
|
542
|
+
if ("${objective}".toLowerCase().includes('knowledge')) {
|
|
543
|
+
detectedTables.add('kb_knowledge');
|
|
544
|
+
}
|
|
545
|
+
|
|
546
|
+
console.log(\`🔍 Detected tables to discover: \${Array.from(detectedTables).join(', ')}\`);
|
|
547
|
+
|
|
548
|
+
// Discover schemas for all detected tables
|
|
549
|
+
const tableSchemas = {};
|
|
550
|
+
for (const tableName of detectedTables) {
|
|
495
551
|
try {
|
|
496
552
|
const schema = await mcp__servicenow-platform-development__snow_table_schema_discovery({
|
|
497
|
-
tableName:
|
|
553
|
+
tableName: tableName,
|
|
498
554
|
includeRelated: true,
|
|
499
|
-
includeIndexes: false
|
|
555
|
+
includeIndexes: false,
|
|
556
|
+
maxDepth: 1 // Don't go too deep to avoid timeout
|
|
500
557
|
});
|
|
501
|
-
|
|
558
|
+
|
|
559
|
+
if (schema && schema.fields) {
|
|
560
|
+
tableSchemas[tableName] = {
|
|
561
|
+
name: tableName,
|
|
562
|
+
label: schema.label || tableName,
|
|
563
|
+
fields: schema.fields,
|
|
564
|
+
field_count: schema.fields.length,
|
|
565
|
+
key_fields: schema.fields.filter(f => f.primary || f.reference).map(f => f.name)
|
|
566
|
+
};
|
|
567
|
+
console.log(\`✅ Discovered table '\${tableName}' with \${schema.fields.length} fields\`);
|
|
568
|
+
}
|
|
502
569
|
} catch (e) {
|
|
503
|
-
|
|
570
|
+
console.log(\`⚠️ Table '\${tableName}' not found or inaccessible\`);
|
|
504
571
|
}
|
|
505
572
|
}
|
|
506
573
|
|
|
507
|
-
// Store table schemas in memory
|
|
574
|
+
// Store discovered table schemas in memory
|
|
508
575
|
await mcp__claude-flow__memory_usage({
|
|
509
576
|
action: "store",
|
|
510
577
|
key: "table_schemas_${sessionId}",
|
|
511
|
-
value: JSON.stringify(
|
|
578
|
+
value: JSON.stringify({
|
|
579
|
+
discovered_at: new Date().toISOString(),
|
|
580
|
+
objective: "${objective}",
|
|
581
|
+
tables: tableSchemas,
|
|
582
|
+
table_names: Object.keys(tableSchemas)
|
|
583
|
+
}),
|
|
512
584
|
namespace: "swarm_${sessionId}"
|
|
513
585
|
});
|
|
514
|
-
` : '// No table discovery needed for this task type'}
|
|
515
586
|
\`\`\`
|
|
516
587
|
|
|
517
588
|
### 3. Create Master Task List
|
|
@@ -570,7 +641,13 @@ Task("${taskAnalysis.primaryAgent}", \`
|
|
|
570
641
|
- mcp__claude-flow__memory_usage({action: "retrieve", key: "existing_artifacts_${sessionId}", namespace: "swarm_${sessionId}"})
|
|
571
642
|
- mcp__claude-flow__memory_usage({action: "retrieve", key: "update_set_${sessionId}", namespace: "swarm_${sessionId}"})
|
|
572
643
|
- mcp__claude-flow__memory_usage({action: "retrieve", key: "table_schemas_${sessionId}", namespace: "swarm_${sessionId}"})
|
|
573
|
-
|
|
644
|
+
|
|
645
|
+
2. 🔍 CRITICAL: Use discovered table schemas:
|
|
646
|
+
- The table_schemas contain actual field names, types, and relationships
|
|
647
|
+
- ALWAYS use the exact field names from the schema (e.g., 'short_description' not 'description')
|
|
648
|
+
- Check key_fields for primary keys and references
|
|
649
|
+
- If you need a table that wasn't discovered, use snow_table_schema_discovery first
|
|
650
|
+
|
|
574
651
|
3. Check existing_artifacts to avoid duplication - reuse or extend existing ones
|
|
575
652
|
4. ALL deployments MUST use the Update Set stored in memory
|
|
576
653
|
5. Begin implementing the core ${taskAnalysis.taskType} requirements
|
|
@@ -580,6 +657,7 @@ Task("${taskAnalysis.primaryAgent}", \`
|
|
|
580
657
|
|
|
581
658
|
🔐 AUTHENTICATION: Already validated by Queen. Use MCP tools directly.
|
|
582
659
|
📦 UPDATE SET: Use the one from memory - DO NOT create a new one!
|
|
660
|
+
📊 TABLES: Use exact field names from discovered schemas!
|
|
583
661
|
\`);
|
|
584
662
|
\`\`\`
|
|
585
663
|
|
|
@@ -601,15 +679,22 @@ Task("${agent}", \`
|
|
|
601
679
|
- mcp__claude-flow__memory_usage({action: "retrieve", key: "existing_artifacts_${sessionId}", namespace: "swarm_${sessionId}"})
|
|
602
680
|
- mcp__claude-flow__memory_usage({action: "retrieve", key: "update_set_${sessionId}", namespace: "swarm_${sessionId}"})
|
|
603
681
|
- mcp__claude-flow__memory_usage({action: "retrieve", key: "table_schemas_${sessionId}", namespace: "swarm_${sessionId}"})
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
682
|
+
|
|
683
|
+
2. 🔍 CRITICAL: Use discovered table schemas:
|
|
684
|
+
- The table_schemas contain actual field names, types, and relationships
|
|
685
|
+
- ALWAYS use the exact field names from the schema (e.g., 'short_description' not 'description')
|
|
686
|
+
- Check key_fields for primary keys and references
|
|
687
|
+
- If you need a table that wasn't discovered, use snow_table_schema_discovery first
|
|
688
|
+
|
|
689
|
+
3. Monitor primary agent's progress: mcp__claude-flow__memory_search({pattern: "agent_${taskAnalysis.primaryAgent}_*", namespace: "agents_${sessionId}"})
|
|
690
|
+
4. Wait for primary agent to establish base structure before major changes
|
|
691
|
+
5. Enhance/support with your ${agent} expertise
|
|
608
692
|
6. Store your progress: mcp__claude-flow__memory_usage({action: "store", key: "agent_${agent}_progress", value: "...", namespace: "agents_${sessionId}"})
|
|
609
693
|
7. Update relevant TodoWrite items
|
|
610
694
|
|
|
611
695
|
🔐 AUTHENTICATION: Already validated by Queen. Use MCP tools directly.
|
|
612
696
|
📦 UPDATE SET: Use the one from memory - DO NOT create a new one!
|
|
697
|
+
📊 TABLES: Use exact field names from discovered schemas!
|
|
613
698
|
|
|
614
699
|
🔐 AUTHENTICATION REQUIREMENTS:
|
|
615
700
|
- ALWAYS use MCP tools first - inherit auth status from primary agent
|
|
@@ -678,6 +763,55 @@ snow_orchestrate_development({
|
|
|
678
763
|
progress_monitoring: ${options.progressMonitoring}
|
|
679
764
|
});
|
|
680
765
|
\`\`\`
|
|
766
|
+
|
|
767
|
+
## 🧠 REVOLUTIONARY: Intelligent Gap Analysis Engine (v1.1.88)
|
|
768
|
+
**AUTOMATIC BEYOND-MCP CONFIGURATION DETECTION**
|
|
769
|
+
|
|
770
|
+
The Queen Agent now includes the revolutionary **Intelligent Gap Analysis Engine** that automatically detects and resolves ALL ServiceNow configurations needed beyond standard MCP tools.
|
|
771
|
+
|
|
772
|
+
**What Gap Analysis Does:**
|
|
773
|
+
- **🔍 Analyzes Requirements**: AI-powered parsing of objectives to identify 60+ types of ServiceNow configurations
|
|
774
|
+
- **📊 MCP Coverage Analysis**: Maps what current MCP tools can handle vs manual setup requirements
|
|
775
|
+
- **🤖 Auto-Resolution Engine**: Attempts automatic configuration via ServiceNow APIs for safe operations
|
|
776
|
+
- **📚 Manual Guide Generation**: Creates detailed step-by-step guides with role requirements and risk assessment
|
|
777
|
+
- **🛡️ Risk Assessment**: Evaluates complexity and safety of each configuration
|
|
778
|
+
- **🌍 Environment Awareness**: Provides dev/test/prod specific guidance and warnings
|
|
779
|
+
|
|
780
|
+
**60+ Configuration Types Covered:**
|
|
781
|
+
- **🔐 Authentication**: LDAP, SAML, OAuth providers, SSO, MFA configurations
|
|
782
|
+
- **🗄️ Database**: Indexes, views, partitioning, performance analytics, system properties
|
|
783
|
+
- **🧭 Navigation**: Application menus, modules, form layouts, UI actions, policies
|
|
784
|
+
- **📧 Integration**: Email templates, web services, import sets, transform maps
|
|
785
|
+
- **🔄 Workflow**: Activities, transitions, SLA definitions, escalation rules
|
|
786
|
+
- **🛡️ Security**: ACL rules, data policies, audit rules, compliance configurations
|
|
787
|
+
- **📊 Reporting**: Custom reports, dashboards, KPIs, performance analytics
|
|
788
|
+
|
|
789
|
+
**Example Output:**
|
|
790
|
+
\`\`\`
|
|
791
|
+
🧠 Step 4: Running Intelligent Gap Analysis...
|
|
792
|
+
📊 Gap Analysis Complete:
|
|
793
|
+
• Total Requirements: 12
|
|
794
|
+
• MCP Coverage: 67%
|
|
795
|
+
• Automated: 6 configurations
|
|
796
|
+
• Manual Work: 4 items
|
|
797
|
+
|
|
798
|
+
✅ Automatically Configured:
|
|
799
|
+
• System property: glide.ui.incident_management created
|
|
800
|
+
• Navigation module: Incident Management added to Service Desk
|
|
801
|
+
• Email template: incident_notification configured
|
|
802
|
+
• Database index: incident.priority_state for performance
|
|
803
|
+
|
|
804
|
+
📋 Manual Configuration Required:
|
|
805
|
+
• LDAP authentication setup (high-risk operation)
|
|
806
|
+
• SSO configuration with Active Directory
|
|
807
|
+
|
|
808
|
+
📚 Detailed Manual Guides Available:
|
|
809
|
+
📖 Configure LDAP Authentication - 25 minutes
|
|
810
|
+
Risk: high | Roles: security_admin, admin
|
|
811
|
+
\`\`\`
|
|
812
|
+
|
|
813
|
+
**The Gap Analysis Engine automatically runs as part of Queen Agent execution - no additional commands needed!**
|
|
814
|
+
|
|
681
815
|
` : ''}
|
|
682
816
|
|
|
683
817
|
#### ServiceNow MCP Tools (ALWAYS TRY THESE FIRST!)
|