snow-flow 2.0.2 ā 2.0.3
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/mcp-config.json ā .mcp.json} +13 -12
- package/.releaserc.json +47 -0
- package/README.md +6 -0
- package/package.json +1 -1
- package/.claude/claude-settings.json +0 -15
- package/.claude/commands/analysis/README.md +0 -9
- package/.claude/commands/automation/README.md +0 -9
- package/.claude/commands/github/README.md +0 -11
- package/.claude/commands/helpers/standard-checkpoint-hooks.sh +0 -179
- package/.claude/commands/hooks/README.md +0 -11
- package/.claude/commands/monitoring/README.md +0 -9
- package/.claude/commands/optimization/README.md +0 -9
- package/.claude/commands/training/README.md +0 -9
- package/.claude/commands/workflows/README.md +0 -9
- package/.claude/config.json +0 -36
- package/.claude/helpers/github-setup.sh +0 -28
- package/.claude/helpers/quick-start.sh +0 -19
- package/.claude/helpers/setup-mcp.sh +0 -18
- package/.claude/settings.json +0 -114
- package/.claude/settings.local.json +0 -33
- package/.claude-flow/metrics/agent-metrics.json +0 -1
- package/.claude-flow/metrics/performance.json +0 -9
- package/.claude-flow/metrics/system-metrics.json +0 -15986
- package/.claude-flow/metrics/task-metrics.json +0 -10
- package/.roo/README.md +0 -402
- package/.roo/mcp-list.txt +0 -257
- package/.roo/mcp.json +0 -32
- package/.roo/workflows/basic-tdd.json +0 -32
- package/.roomodes +0 -201
- package/CLAUDE.md +0 -393
- package/bin/snow-flow.js +0 -3
- package/dist/cli.js.bak +0 -2052
- package/dist/config/snow-flow-config.d.ts +0 -1492
- package/dist/config/snow-flow-config.js +0 -938
- package/scripts/create-env.js +0 -91
- package/scripts/postinstall.js +0 -30
- package/scripts/register-mcp-servers.js +0 -210
- package/scripts/reset-mcp-servers.js +0 -246
- package/scripts/setup-mcp.js +0 -106
- package/scripts/update-version.js +0 -31
- package/src/agents/README.md +0 -192
- package/src/agents/base-agent.ts +0 -251
- package/src/agents/coordinator.ts +0 -971
- package/src/agents/index.ts +0 -18
- package/src/agents/queen-403-handler.ts +0 -230
- package/src/agents/queen-agent.ts +0 -1399
- package/src/agents/script-writer-agent.ts +0 -769
- package/src/agents/security-agent.ts +0 -726
- package/src/agents/widget-creator-agent.ts +0 -568
- package/src/api/error-handling.ts +0 -1758
- package/src/api/natural-language-mapper.ts +0 -630
- package/src/api/performance-optimizer.ts +0 -891
- package/src/api/transaction-manager.ts +0 -754
- package/src/cli/deploy-artifact.ts +0 -304
- package/src/cli/snow-flow-cli-integration.ts +0 -434
- package/src/cli.ts +0 -4455
- package/src/cli.ts.bak +0 -5616
- package/src/compliance/advanced-compliance-system.ts +0 -1268
- package/src/compliance/index.ts +0 -19
- package/src/config/snow-flow-config.ts +0 -1019
- package/src/documentation/index.ts +0 -16
- package/src/documentation/self-documenting-system.ts +0 -1421
- package/src/dynamic-version.ts +0 -44
- package/src/healing/index.ts +0 -20
- package/src/healing/self-healing-system.ts +0 -1435
- package/src/health/README.md +0 -161
- package/src/health/system-health.ts +0 -995
- package/src/index.ts +0 -60
- package/src/intelligence/acl-analyzer.ts +0 -377
- package/src/intelligence/auto-resolution-engine.ts +0 -643
- package/src/intelligence/gap-analysis-engine.ts +0 -488
- package/src/intelligence/manual-instructions-generator.ts +0 -744
- package/src/intelligence/mcp-coverage-analyzer.ts +0 -708
- package/src/intelligence/multi-pass-requirements-analyzer.ts +0 -603
- package/src/intelligence/performance-recommendations-engine.ts +0 -1223
- package/src/intelligence/requirements-analyzer.ts +0 -1148
- package/src/intelligence/task-analyzer.ts +0 -628
- package/src/managers/scope-manager.ts +0 -555
- package/src/mcp/advanced/servicenow-advanced-features-mcp.ts +0 -16110
- package/src/mcp/base-mcp-server.ts +0 -660
- package/src/mcp/http-transport-wrapper.ts +0 -426
- package/src/mcp/service-discovery-client.ts +0 -312
- package/src/mcp/servicenow-automation-mcp-refactored.ts +0 -678
- package/src/mcp/servicenow-automation-mcp.ts +0 -838
- package/src/mcp/servicenow-deployment-mcp-refactored.ts +0 -1292
- package/src/mcp/servicenow-deployment-mcp.ts +0 -7244
- package/src/mcp/servicenow-graph-memory-mcp-refactored.ts +0 -721
- package/src/mcp/servicenow-graph-memory-mcp.ts +0 -832
- package/src/mcp/servicenow-integration-mcp-refactored.ts +0 -655
- package/src/mcp/servicenow-integration-mcp.ts +0 -819
- package/src/mcp/servicenow-intelligent-mcp-refactored.ts +0 -977
- package/src/mcp/servicenow-intelligent-mcp.ts +0 -4638
- package/src/mcp/servicenow-mcp-server.ts +0 -728
- package/src/mcp/servicenow-memory-mcp.ts +0 -474
- package/src/mcp/servicenow-operations-mcp-refactored.ts +0 -1995
- package/src/mcp/servicenow-operations-mcp.ts +0 -3384
- package/src/mcp/servicenow-platform-development-mcp-refactored.ts +0 -611
- package/src/mcp/servicenow-platform-development-mcp.ts +0 -970
- package/src/mcp/servicenow-progressive-indexer.ts +0 -370
- package/src/mcp/servicenow-reporting-analytics-mcp-refactored.ts +0 -695
- package/src/mcp/servicenow-reporting-analytics-mcp.ts +0 -1123
- package/src/mcp/servicenow-security-compliance-mcp-refactored.ts +0 -642
- package/src/mcp/servicenow-security-compliance-mcp.ts +0 -1157
- package/src/mcp/servicenow-update-set-mcp-refactored.ts +0 -751
- package/src/mcp/servicenow-update-set-mcp.ts +0 -811
- package/src/mcp/shared/agent-context-provider.ts +0 -365
- package/src/mcp/shared/base-mcp-server.ts +0 -2463
- package/src/mcp/shared/mcp-memory-manager.ts +0 -540
- package/src/mcp/shared/mcp-resource-manager.ts +0 -367
- package/src/mcp/snow-flow-mcp.ts +0 -911
- package/src/mcp/start-all-mcp-servers.ts +0 -102
- package/src/mcp/start-servicenow-mcp.ts +0 -67
- package/src/monitoring/enhanced-monitoring-system.ts +0 -1345
- package/src/monitoring/performance-tracker.ts +0 -777
- package/src/optimization/cost-optimization-engine.ts +0 -1125
- package/src/optimization/index.ts +0 -10
- package/src/queen/README.md +0 -403
- package/src/queen/agent-factory.ts +0 -574
- package/src/queen/index.ts +0 -94
- package/src/queen/mcp-execution-bridge.ts +0 -681
- package/src/queen/neural-learning.ts +0 -319
- package/src/queen/parallel-agent-engine.ts +0 -848
- package/src/queen/queen-memory-system.ts +0 -490
- package/src/queen/queen-memory.ts +0 -456
- package/src/queen/servicenow-queen.ts +0 -1029
- package/src/queen/types.ts +0 -87
- package/src/rollback/smart-rollback-system.ts +0 -866
- package/src/schemas/deployment.schema.json +0 -58
- package/src/schemas/flow.schema.json +0 -79
- package/src/schemas/widget.schema.json +0 -72
- package/src/snow-flow-system.ts +0 -541
- package/src/sparc/sparc-help.ts +0 -49
- package/src/sparc/team-sparc.ts +0 -88
- package/src/strategies/global-scope-strategy.ts +0 -736
- package/src/templates/base/application.template.json +0 -45
- package/src/templates/base/business_rule.template.json +0 -33
- package/src/templates/base/script_include.template.json +0 -18
- package/src/templates/base/table.template.json +0 -64
- package/src/templates/base/widget.template.json +0 -25
- package/src/templates/patterns/composite.incident-management.template.json +0 -140
- package/src/templates/patterns/widget.dashboard.template.json +0 -238
- package/src/templates/patterns/widget.datatable.template.json +0 -292
- package/src/testing/integration-test-suite.ts +0 -1276
- package/src/types/index.ts +0 -183
- package/src/types/neo4j-driver.d.ts +0 -23
- package/src/types/servicenow.types.ts +0 -307
- package/src/types/snow-flow.types.ts +0 -186
- package/src/types/todo.types.ts +0 -70
- package/src/utils/action-type-cache.ts +0 -286
- package/src/utils/agent-detector.ts +0 -573
- package/src/utils/artifact-tracker.ts +0 -379
- package/src/utils/dependency-detector.ts +0 -233
- package/src/utils/deployment-metadata-handler.ts +0 -518
- package/src/utils/error-recovery.ts +0 -680
- package/src/utils/logger.ts +0 -60
- package/src/utils/mcp-auth-middleware.ts +0 -262
- package/src/utils/mcp-config-manager.ts +0 -270
- package/src/utils/mcp-server-manager.ts +0 -446
- package/src/utils/mcp-tool-registry.ts +0 -298
- package/src/utils/migrate-snow-flow.ts +0 -98
- package/src/utils/oauth-html-templates.ts +0 -188
- package/src/utils/scope-utils.ts +0 -443
- package/src/utils/servicenow-client.ts +0 -3321
- package/src/utils/servicenow-id-generator.ts +0 -181
- package/src/utils/snow-memory-manager.ts +0 -605
- package/src/utils/snow-oauth.ts +0 -797
- package/src/utils/template-engine.ts +0 -463
- package/src/utils/theme-manager.ts +0 -295
- package/src/utils/unified-auth-store.ts +0 -222
- package/src/utils/update-set-importer.ts +0 -422
- package/src/utils/update-set-xml-packager.ts +0 -371
- package/src/utils/widget-template-generator.ts +0 -1744
- package/src/version.ts +0 -1950
package/src/agents/index.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ServiceNow Specialist Agents
|
|
3
|
-
* Export all agent implementations
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
export { BaseAgent, AgentConfig, AgentResult } from './base-agent';
|
|
7
|
-
export { WidgetCreatorAgent } from './widget-creator-agent';
|
|
8
|
-
// FlowBuilderAgent removed in v1.4.0
|
|
9
|
-
export { ScriptWriterAgent } from './script-writer-agent';
|
|
10
|
-
export { SecurityAgent } from './security-agent';
|
|
11
|
-
|
|
12
|
-
// Agent type mapping for factory
|
|
13
|
-
export const AGENT_CLASS_MAP = {
|
|
14
|
-
'widget-creator': () => import('./widget-creator-agent').then(m => m.WidgetCreatorAgent),
|
|
15
|
-
// 'flow-builder': removed in v1.4.0
|
|
16
|
-
'script-writer': () => import('./script-writer-agent').then(m => m.ScriptWriterAgent),
|
|
17
|
-
'security': () => import('./security-agent').then(m => m.SecurityAgent)
|
|
18
|
-
};
|
|
@@ -1,230 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Queen Agent 403 Error Handler
|
|
3
|
-
* Automatically analyzes and resolves ServiceNow permission issues using Gap Analysis Engine
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import { Logger } from '../utils/logger';
|
|
7
|
-
import { analyzeGaps } from '../intelligence/gap-analysis-engine';
|
|
8
|
-
// Remove unused import
|
|
9
|
-
|
|
10
|
-
export interface Permission403Context {
|
|
11
|
-
error: any;
|
|
12
|
-
operation: string;
|
|
13
|
-
tableName?: string;
|
|
14
|
-
artifactType?: string;
|
|
15
|
-
objective: string;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export class Queen403Handler {
|
|
19
|
-
private logger: Logger;
|
|
20
|
-
private mcpTools: any;
|
|
21
|
-
|
|
22
|
-
constructor(logger: Logger, mcpTools: any) {
|
|
23
|
-
this.logger = logger;
|
|
24
|
-
this.mcpTools = mcpTools;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* Handle 403 permission errors with intelligent _analysis and resolution
|
|
29
|
-
*/
|
|
30
|
-
async handle403Error(context: Permission403Context): Promise<{
|
|
31
|
-
resolved: boolean;
|
|
32
|
-
_analysis: any;
|
|
33
|
-
nextSteps: string[];
|
|
34
|
-
manualActions?: string[];
|
|
35
|
-
}> {
|
|
36
|
-
this.logger.info('šØ Queen Agent: 403 Permission Error detected - activating Gap Analysis');
|
|
37
|
-
|
|
38
|
-
// 1. Create specific objective for ACL analysis
|
|
39
|
-
const aclObjective = this.createACLObjective(context);
|
|
40
|
-
|
|
41
|
-
// 2. Run Gap Analysis specifically for permission issues
|
|
42
|
-
const gapAnalysis = await analyzeGaps(aclObjective, this.mcpTools, this.logger, {
|
|
43
|
-
autoPermissions: true,
|
|
44
|
-
environment: 'development',
|
|
45
|
-
enableAutomation: true,
|
|
46
|
-
includeManualGuides: true
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
// 3. Extract ACL-specific findings
|
|
50
|
-
const aclRequirements = gapAnalysis.requirements.filter(req =>
|
|
51
|
-
req.type === 'acl_rule' ||
|
|
52
|
-
req.type === 'user_role' ||
|
|
53
|
-
req.type === 'oauth_provider' ||
|
|
54
|
-
req.type === 'security_policy' ||
|
|
55
|
-
req.type === 'sys_property'
|
|
56
|
-
);
|
|
57
|
-
|
|
58
|
-
// 4. Check if any automatic fixes were applied
|
|
59
|
-
const autoFixed = gapAnalysis.automationResults.successful.filter(result =>
|
|
60
|
-
result.requirement.type === 'sys_property' &&
|
|
61
|
-
result.requirement.name?.includes('service_portal')
|
|
62
|
-
);
|
|
63
|
-
|
|
64
|
-
// 5. Prepare next steps based on analysis
|
|
65
|
-
const nextSteps = this.generateNextSteps(context, gapAnalysis, aclRequirements);
|
|
66
|
-
|
|
67
|
-
// 6. Log findings for Queen Agent decision making
|
|
68
|
-
this.logFindings(aclRequirements, gapAnalysis);
|
|
69
|
-
|
|
70
|
-
return {
|
|
71
|
-
resolved: autoFixed.length > 0,
|
|
72
|
-
_analysis: {
|
|
73
|
-
totalPermissionIssues: aclRequirements.length,
|
|
74
|
-
automaticallyFixed: autoFixed.length,
|
|
75
|
-
requiresManualWork: aclRequirements.filter(r => !r.automatable).length,
|
|
76
|
-
gapAnalysis: gapAnalysis
|
|
77
|
-
},
|
|
78
|
-
nextSteps,
|
|
79
|
-
manualActions: this.extractManualActions(gapAnalysis)
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
/**
|
|
84
|
-
* Create specific objective for ACL analysis
|
|
85
|
-
*/
|
|
86
|
-
private createACLObjective(context: Permission403Context): string {
|
|
87
|
-
const { tableName, artifactType, operation, objective } = context;
|
|
88
|
-
|
|
89
|
-
let aclObjective = `Fix 403 permission error for ${operation} on `;
|
|
90
|
-
|
|
91
|
-
if (tableName) {
|
|
92
|
-
aclObjective += `${tableName} table `;
|
|
93
|
-
} else if (artifactType) {
|
|
94
|
-
aclObjective += `${artifactType} `;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
aclObjective += `to complete: ${objective}`;
|
|
98
|
-
|
|
99
|
-
// Add specific context for sp_widget
|
|
100
|
-
if (tableName === 'sp_widget' || artifactType === 'widget') {
|
|
101
|
-
aclObjective += ' including Service Portal API access, OAuth scopes, and cross-scope permissions';
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
return aclObjective;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
/**
|
|
108
|
-
* Generate next steps based on analysis
|
|
109
|
-
*/
|
|
110
|
-
private generateNextSteps(
|
|
111
|
-
context: Permission403Context,
|
|
112
|
-
gapAnalysis: any,
|
|
113
|
-
aclRequirements: any[]
|
|
114
|
-
): string[] {
|
|
115
|
-
const steps: string[] = [];
|
|
116
|
-
|
|
117
|
-
// 1. If automatic fixes were applied, suggest retry
|
|
118
|
-
if (gapAnalysis.automationResults.successful.length > 0) {
|
|
119
|
-
steps.push('š Retry the deployment - automatic fixes have been applied');
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
// 2. For sp_widget specific issues
|
|
123
|
-
if (context.tableName === 'sp_widget') {
|
|
124
|
-
steps.push('š Try deployment with global scope: scope_preference: "global"');
|
|
125
|
-
steps.push('š Ensure active Update Set: snow_ensure_active_update_set()');
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
// 3. For OAuth issues
|
|
129
|
-
const oauthIssues = aclRequirements.filter(r => r.type === 'oauth_provider');
|
|
130
|
-
if (oauthIssues.length > 0) {
|
|
131
|
-
steps.push('š Check OAuth application settings in ServiceNow');
|
|
132
|
-
steps.push('š§ Re-authenticate: snow-flow auth login');
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
// 4. For role issues
|
|
136
|
-
const roleIssues = aclRequirements.filter(r => r.type === 'user_role');
|
|
137
|
-
if (roleIssues.length > 0) {
|
|
138
|
-
const missingRoles = roleIssues.map(r => r.name).join(', ');
|
|
139
|
-
steps.push(`š¤ Add missing roles: ${missingRoles}`);
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
// 5. For ACL rule issues
|
|
143
|
-
const aclRuleIssues = aclRequirements.filter(r => r.type === 'acl_rule');
|
|
144
|
-
if (aclRuleIssues.length > 0) {
|
|
145
|
-
steps.push('š”ļø Review ACL rules on the target table');
|
|
146
|
-
steps.push('š Check for custom ACLs blocking API access');
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
return steps;
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
/**
|
|
153
|
-
* Extract manual actions from gap analysis
|
|
154
|
-
*/
|
|
155
|
-
private extractManualActions(gapAnalysis: any): string[] {
|
|
156
|
-
const actions: string[] = [];
|
|
157
|
-
|
|
158
|
-
if (gapAnalysis.manualGuides && gapAnalysis.manualGuides.guides) {
|
|
159
|
-
gapAnalysis.manualGuides.guides.forEach((guide: any) => {
|
|
160
|
-
if (guide.category === 'security_permissions' ||
|
|
161
|
-
guide.title.includes('ACL') ||
|
|
162
|
-
guide.title.includes('Permission')) {
|
|
163
|
-
actions.push(`š ${guide.title} (${guide.totalEstimatedTime})`);
|
|
164
|
-
|
|
165
|
-
// Add first few steps as preview
|
|
166
|
-
if (guide.instructions && guide.instructions.length > 0) {
|
|
167
|
-
guide.instructions.slice(0, 2).forEach((instruction: any) => {
|
|
168
|
-
actions.push(` ⢠${instruction.title}`);
|
|
169
|
-
});
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
});
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
return actions;
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
/**
|
|
179
|
-
* Log findings for Queen Agent awareness
|
|
180
|
-
*/
|
|
181
|
-
private logFindings(aclRequirements: any[], gapAnalysis: any): void {
|
|
182
|
-
console.log('\nš§ Queen Agent Permission Analysis Results:');
|
|
183
|
-
console.log('ā'.repeat(50));
|
|
184
|
-
|
|
185
|
-
console.log(`\nš Permission Requirements Found: ${aclRequirements.length}`);
|
|
186
|
-
aclRequirements.forEach(req => {
|
|
187
|
-
const icon = req.automatable ? 'š¤' : 'š¤';
|
|
188
|
-
console.log(` ${icon} ${req.type}: ${req.name || req.description}`);
|
|
189
|
-
});
|
|
190
|
-
|
|
191
|
-
console.log(`\nā
Automatic Fixes Applied: ${gapAnalysis.automationResults.successful.length}`);
|
|
192
|
-
gapAnalysis.automationResults.successful.forEach((result: any) => {
|
|
193
|
-
console.log(` ⢠${result.requirement.name}: ${result.message}`);
|
|
194
|
-
});
|
|
195
|
-
|
|
196
|
-
console.log(`\nš Manual Actions Required: ${gapAnalysis.summary.requiresManualWork}`);
|
|
197
|
-
|
|
198
|
-
console.log('\nš” Recommendations:');
|
|
199
|
-
gapAnalysis.nextSteps.recommendations.forEach((rec: string) => {
|
|
200
|
-
console.log(` ⢠${rec}`);
|
|
201
|
-
});
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
/**
|
|
205
|
-
* Generate fallback deployment configuration
|
|
206
|
-
*/
|
|
207
|
-
generateFallbackConfig(context: Permission403Context): any {
|
|
208
|
-
const fallbackConfig: any = {
|
|
209
|
-
retry_with_global_scope: true,
|
|
210
|
-
force_update_set: true,
|
|
211
|
-
permission_escalation: 'request'
|
|
212
|
-
};
|
|
213
|
-
|
|
214
|
-
// For widget deployments
|
|
215
|
-
if (context.tableName === 'sp_widget' || context.artifactType === 'widget') {
|
|
216
|
-
fallbackConfig.alternative_deployment = {
|
|
217
|
-
method: 'manual_steps',
|
|
218
|
-
generate_script: true,
|
|
219
|
-
instructions: [
|
|
220
|
-
'1. Switch to Global application scope',
|
|
221
|
-
'2. Navigate to Service Portal > Widgets',
|
|
222
|
-
'3. Click New and paste the generated code',
|
|
223
|
-
'4. Ensure you have an active Update Set'
|
|
224
|
-
]
|
|
225
|
-
};
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
return fallbackConfig;
|
|
229
|
-
}
|
|
230
|
-
}
|