snow-flow 1.1.0
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/.env.example +49 -0
- package/.mcp.json +106 -0
- package/.mcp.json.template +106 -0
- package/LICENSE +21 -0
- package/README.md +236 -0
- package/bin/snow-flow +4 -0
- package/bin/snow-flow.js +3 -0
- package/claude-flow +79 -0
- package/claude-flow.bat +18 -0
- package/claude-flow.config.json +20 -0
- package/claude-flow.ps1 +24 -0
- package/dist/agents/app-creator.agent.d.ts +55 -0
- package/dist/agents/app-creator.agent.d.ts.map +1 -0
- package/dist/agents/app-creator.agent.js +1292 -0
- package/dist/agents/app-creator.agent.js.map +1 -0
- package/dist/agents/base-snow-agent.d.ts +63 -0
- package/dist/agents/base-snow-agent.d.ts.map +1 -0
- package/dist/agents/base-snow-agent.js +296 -0
- package/dist/agents/base-snow-agent.js.map +1 -0
- package/dist/agents/script-generator.agent.d.ts +32 -0
- package/dist/agents/script-generator.agent.d.ts.map +1 -0
- package/dist/agents/script-generator.agent.js +772 -0
- package/dist/agents/script-generator.agent.js.map +1 -0
- package/dist/agents/ui-builder.agent.d.ts +50 -0
- package/dist/agents/ui-builder.agent.d.ts.map +1 -0
- package/dist/agents/ui-builder.agent.js +1539 -0
- package/dist/agents/ui-builder.agent.js.map +1 -0
- package/dist/agents/widget-builder.agent.d.ts +32 -0
- package/dist/agents/widget-builder.agent.d.ts.map +1 -0
- package/dist/agents/widget-builder.agent.js +439 -0
- package/dist/agents/widget-builder.agent.js.map +1 -0
- package/dist/agents/workflow-designer.agent.d.ts +31 -0
- package/dist/agents/workflow-designer.agent.d.ts.map +1 -0
- package/dist/agents/workflow-designer.agent.js +583 -0
- package/dist/agents/workflow-designer.agent.js.map +1 -0
- package/dist/api/error-handling.d.ts +214 -0
- package/dist/api/error-handling.d.ts.map +1 -0
- package/dist/api/error-handling.js +594 -0
- package/dist/api/error-handling.js.map +1 -0
- package/dist/api/flow-designer-api.d.ts +167 -0
- package/dist/api/flow-designer-api.d.ts.map +1 -0
- package/dist/api/flow-designer-api.js +555 -0
- package/dist/api/flow-designer-api.js.map +1 -0
- package/dist/api/natural-language-mapper.d.ts +126 -0
- package/dist/api/natural-language-mapper.d.ts.map +1 -0
- package/dist/api/natural-language-mapper.js +498 -0
- package/dist/api/natural-language-mapper.js.map +1 -0
- package/dist/api/performance-optimizer.d.ts +240 -0
- package/dist/api/performance-optimizer.d.ts.map +1 -0
- package/dist/api/performance-optimizer.js +701 -0
- package/dist/api/performance-optimizer.js.map +1 -0
- package/dist/api/transaction-manager.d.ts +189 -0
- package/dist/api/transaction-manager.d.ts.map +1 -0
- package/dist/api/transaction-manager.js +576 -0
- package/dist/api/transaction-manager.js.map +1 -0
- package/dist/cli/deploy-artifact.d.ts +7 -0
- package/dist/cli/deploy-artifact.d.ts.map +1 -0
- package/dist/cli/deploy-artifact.js +279 -0
- package/dist/cli/deploy-artifact.js.map +1 -0
- package/dist/cli.d.ts +6 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +2057 -0
- package/dist/cli.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +35 -0
- package/dist/index.js.map +1 -0
- package/dist/managers/scope-manager.d.ts +75 -0
- package/dist/managers/scope-manager.d.ts.map +1 -0
- package/dist/managers/scope-manager.js +448 -0
- package/dist/managers/scope-manager.js.map +1 -0
- package/dist/mcp/mcp-wrapper.d.ts +8 -0
- package/dist/mcp/mcp-wrapper.d.ts.map +1 -0
- package/dist/mcp/mcp-wrapper.js +77 -0
- package/dist/mcp/mcp-wrapper.js.map +1 -0
- package/dist/mcp/servicenow-automation-mcp.d.ts +8 -0
- package/dist/mcp/servicenow-automation-mcp.d.ts.map +1 -0
- package/dist/mcp/servicenow-automation-mcp.js +683 -0
- package/dist/mcp/servicenow-automation-mcp.js.map +1 -0
- package/dist/mcp/servicenow-deployment-mcp.d.ts +7 -0
- package/dist/mcp/servicenow-deployment-mcp.d.ts.map +1 -0
- package/dist/mcp/servicenow-deployment-mcp.js +972 -0
- package/dist/mcp/servicenow-deployment-mcp.js.map +1 -0
- package/dist/mcp/servicenow-flow-composer-mcp.d.ts +7 -0
- package/dist/mcp/servicenow-flow-composer-mcp.d.ts.map +1 -0
- package/dist/mcp/servicenow-flow-composer-mcp.js +1121 -0
- package/dist/mcp/servicenow-flow-composer-mcp.js.map +1 -0
- package/dist/mcp/servicenow-graph-memory-mcp.d.ts +7 -0
- package/dist/mcp/servicenow-graph-memory-mcp.d.ts.map +1 -0
- package/dist/mcp/servicenow-graph-memory-mcp.js +703 -0
- package/dist/mcp/servicenow-graph-memory-mcp.js.map +1 -0
- package/dist/mcp/servicenow-integration-mcp.d.ts +8 -0
- package/dist/mcp/servicenow-integration-mcp.d.ts.map +1 -0
- package/dist/mcp/servicenow-integration-mcp.js +689 -0
- package/dist/mcp/servicenow-integration-mcp.js.map +1 -0
- package/dist/mcp/servicenow-intelligent-mcp.d.ts +7 -0
- package/dist/mcp/servicenow-intelligent-mcp.d.ts.map +1 -0
- package/dist/mcp/servicenow-intelligent-mcp.js +1138 -0
- package/dist/mcp/servicenow-intelligent-mcp.js.map +1 -0
- package/dist/mcp/servicenow-mcp-server.d.ts +37 -0
- package/dist/mcp/servicenow-mcp-server.d.ts.map +1 -0
- package/dist/mcp/servicenow-mcp-server.js +648 -0
- package/dist/mcp/servicenow-mcp-server.js.map +1 -0
- package/dist/mcp/servicenow-operations-mcp.d.ts +15 -0
- package/dist/mcp/servicenow-operations-mcp.d.ts.map +1 -0
- package/dist/mcp/servicenow-operations-mcp.js +1287 -0
- package/dist/mcp/servicenow-operations-mcp.js.map +1 -0
- package/dist/mcp/servicenow-platform-development-mcp.d.ts +8 -0
- package/dist/mcp/servicenow-platform-development-mcp.d.ts.map +1 -0
- package/dist/mcp/servicenow-platform-development-mcp.js +557 -0
- package/dist/mcp/servicenow-platform-development-mcp.js.map +1 -0
- package/dist/mcp/servicenow-progressive-indexer.d.ts +79 -0
- package/dist/mcp/servicenow-progressive-indexer.d.ts.map +1 -0
- package/dist/mcp/servicenow-progressive-indexer.js +320 -0
- package/dist/mcp/servicenow-progressive-indexer.js.map +1 -0
- package/dist/mcp/servicenow-reporting-analytics-mcp.d.ts +8 -0
- package/dist/mcp/servicenow-reporting-analytics-mcp.d.ts.map +1 -0
- package/dist/mcp/servicenow-reporting-analytics-mcp.js +888 -0
- package/dist/mcp/servicenow-reporting-analytics-mcp.js.map +1 -0
- package/dist/mcp/servicenow-security-compliance-mcp.d.ts +8 -0
- package/dist/mcp/servicenow-security-compliance-mcp.d.ts.map +1 -0
- package/dist/mcp/servicenow-security-compliance-mcp.js +812 -0
- package/dist/mcp/servicenow-security-compliance-mcp.js.map +1 -0
- package/dist/mcp/servicenow-update-set-mcp.d.ts +7 -0
- package/dist/mcp/servicenow-update-set-mcp.d.ts.map +1 -0
- package/dist/mcp/servicenow-update-set-mcp.js +599 -0
- package/dist/mcp/servicenow-update-set-mcp.js.map +1 -0
- package/dist/mcp/start-all-mcp-servers.d.ts +6 -0
- package/dist/mcp/start-all-mcp-servers.d.ts.map +1 -0
- package/dist/mcp/start-all-mcp-servers.js +65 -0
- package/dist/mcp/start-all-mcp-servers.js.map +1 -0
- package/dist/mcp/start-servicenow-mcp.d.ts +7 -0
- package/dist/mcp/start-servicenow-mcp.d.ts.map +1 -0
- package/dist/mcp/start-servicenow-mcp.js +64 -0
- package/dist/mcp/start-servicenow-mcp.js.map +1 -0
- package/dist/mcp/test-simple-mcp.d.ts +6 -0
- package/dist/mcp/test-simple-mcp.d.ts.map +1 -0
- package/dist/mcp/test-simple-mcp.js +64 -0
- package/dist/mcp/test-simple-mcp.js.map +1 -0
- package/dist/orchestrator/flow-composer.d.ts +269 -0
- package/dist/orchestrator/flow-composer.d.ts.map +1 -0
- package/dist/orchestrator/flow-composer.js +2221 -0
- package/dist/orchestrator/flow-composer.js.map +1 -0
- package/dist/orchestrator/flow-pattern-templates.d.ts +260 -0
- package/dist/orchestrator/flow-pattern-templates.d.ts.map +1 -0
- package/dist/orchestrator/flow-pattern-templates.js +906 -0
- package/dist/orchestrator/flow-pattern-templates.js.map +1 -0
- package/dist/orchestrator/flow-subflow-decision-engine.d.ts +202 -0
- package/dist/orchestrator/flow-subflow-decision-engine.d.ts.map +1 -0
- package/dist/orchestrator/flow-subflow-decision-engine.js +769 -0
- package/dist/orchestrator/flow-subflow-decision-engine.js.map +1 -0
- package/dist/orchestrator/flow-validation-engine.d.ts +145 -0
- package/dist/orchestrator/flow-validation-engine.d.ts.map +1 -0
- package/dist/orchestrator/flow-validation-engine.js +663 -0
- package/dist/orchestrator/flow-validation-engine.js.map +1 -0
- package/dist/orchestrator/snow-orchestrator.d.ts +49 -0
- package/dist/orchestrator/snow-orchestrator.d.ts.map +1 -0
- package/dist/orchestrator/snow-orchestrator.js +235 -0
- package/dist/orchestrator/snow-orchestrator.js.map +1 -0
- package/dist/orchestrator/subflow-creation-handler.d.ts +230 -0
- package/dist/orchestrator/subflow-creation-handler.d.ts.map +1 -0
- package/dist/orchestrator/subflow-creation-handler.js +791 -0
- package/dist/orchestrator/subflow-creation-handler.js.map +1 -0
- package/dist/strategies/global-scope-strategy.d.ts +123 -0
- package/dist/strategies/global-scope-strategy.d.ts.map +1 -0
- package/dist/strategies/global-scope-strategy.js +585 -0
- package/dist/strategies/global-scope-strategy.js.map +1 -0
- package/dist/types/index.d.ts +138 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +4 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/servicenow.types.d.ts +260 -0
- package/dist/types/servicenow.types.d.ts.map +1 -0
- package/dist/types/servicenow.types.js +3 -0
- package/dist/types/servicenow.types.js.map +1 -0
- package/dist/types/snow-flow.types.d.ts +114 -0
- package/dist/types/snow-flow.types.d.ts.map +1 -0
- package/dist/types/snow-flow.types.js +3 -0
- package/dist/types/snow-flow.types.js.map +1 -0
- package/dist/utils/action-type-cache.d.ts +66 -0
- package/dist/utils/action-type-cache.d.ts.map +1 -0
- package/dist/utils/action-type-cache.js +237 -0
- package/dist/utils/action-type-cache.js.map +1 -0
- package/dist/utils/agent-detector.d.ts +35 -0
- package/dist/utils/agent-detector.d.ts.map +1 -0
- package/dist/utils/agent-detector.js +353 -0
- package/dist/utils/agent-detector.js.map +1 -0
- package/dist/utils/flow-api-discovery.d.ts +151 -0
- package/dist/utils/flow-api-discovery.d.ts.map +1 -0
- package/dist/utils/flow-api-discovery.js +440 -0
- package/dist/utils/flow-api-discovery.js.map +1 -0
- package/dist/utils/flow-xml-generator.d.ts +41 -0
- package/dist/utils/flow-xml-generator.d.ts.map +1 -0
- package/dist/utils/flow-xml-generator.js +258 -0
- package/dist/utils/flow-xml-generator.js.map +1 -0
- package/dist/utils/logger.d.ts +13 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +51 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/mcp-auth-middleware.d.ts +58 -0
- package/dist/utils/mcp-auth-middleware.d.ts.map +1 -0
- package/dist/utils/mcp-auth-middleware.js +227 -0
- package/dist/utils/mcp-auth-middleware.js.map +1 -0
- package/dist/utils/mcp-config-manager.d.ts +126 -0
- package/dist/utils/mcp-config-manager.d.ts.map +1 -0
- package/dist/utils/mcp-config-manager.js +209 -0
- package/dist/utils/mcp-config-manager.js.map +1 -0
- package/dist/utils/mcp-server-manager.d.ts +91 -0
- package/dist/utils/mcp-server-manager.d.ts.map +1 -0
- package/dist/utils/mcp-server-manager.js +338 -0
- package/dist/utils/mcp-server-manager.js.map +1 -0
- package/dist/utils/scope-utils.d.ts +72 -0
- package/dist/utils/scope-utils.d.ts.map +1 -0
- package/dist/utils/scope-utils.js +386 -0
- package/dist/utils/scope-utils.js.map +1 -0
- package/dist/utils/servicenow-client.d.ts +233 -0
- package/dist/utils/servicenow-client.d.ts.map +1 -0
- package/dist/utils/servicenow-client.js +1465 -0
- package/dist/utils/servicenow-client.js.map +1 -0
- package/dist/utils/snow-oauth-old.d.ts +65 -0
- package/dist/utils/snow-oauth-old.d.ts.map +1 -0
- package/dist/utils/snow-oauth-old.js +345 -0
- package/dist/utils/snow-oauth-old.js.map +1 -0
- package/dist/utils/snow-oauth.d.ts +85 -0
- package/dist/utils/snow-oauth.d.ts.map +1 -0
- package/dist/utils/snow-oauth.js +512 -0
- package/dist/utils/snow-oauth.js.map +1 -0
- package/dist/utils/template-engine.d.ts +76 -0
- package/dist/utils/template-engine.d.ts.map +1 -0
- package/dist/utils/template-engine.js +391 -0
- package/dist/utils/template-engine.js.map +1 -0
- package/dist/version.d.ts +35 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +72 -0
- package/dist/version.js.map +1 -0
- package/mcp-wrapper.sh +12 -0
- package/package.json +77 -0
- package/reports/swarm-auto-centralized-1752649029776.json +13 -0
- package/scripts/postinstall.js +30 -0
- package/scripts/setup-mcp.js +89 -0
|
@@ -0,0 +1,386 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Utility functions for scope management and analysis
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ScopeUtils = void 0;
|
|
7
|
+
const global_scope_strategy_js_1 = require("../strategies/global-scope-strategy.js");
|
|
8
|
+
class ScopeUtils {
|
|
9
|
+
/**
|
|
10
|
+
* Analyze artifact content to determine optimal scope
|
|
11
|
+
*/
|
|
12
|
+
static analyzeArtifactScope(artifactType, artifactData) {
|
|
13
|
+
const analysis = {
|
|
14
|
+
recommendedScope: global_scope_strategy_js_1.ScopeType.GLOBAL,
|
|
15
|
+
confidence: 0,
|
|
16
|
+
indicators: {
|
|
17
|
+
global: [],
|
|
18
|
+
application: [],
|
|
19
|
+
system: []
|
|
20
|
+
},
|
|
21
|
+
complexity: 'low',
|
|
22
|
+
crossAppIntegration: false
|
|
23
|
+
};
|
|
24
|
+
const content = this.extractArtifactContent(artifactData);
|
|
25
|
+
const contentLower = content.toLowerCase();
|
|
26
|
+
// Global scope indicators
|
|
27
|
+
const globalIndicators = [
|
|
28
|
+
{ pattern: /\b(global|system|util|common|shared|library)\b/gi, weight: 0.3 },
|
|
29
|
+
{ pattern: /\b(cross[_-]?application|multi[_-]?app|enterprise)\b/gi, weight: 0.4 },
|
|
30
|
+
{ pattern: /\b(infrastructure|platform|framework)\b/gi, weight: 0.35 },
|
|
31
|
+
{ pattern: /\b(gs\.|GlideSystem|GlideRecord)\b/gi, weight: 0.2 },
|
|
32
|
+
{ pattern: /\b(api|rest|soap|integration)\b/gi, weight: 0.25 }
|
|
33
|
+
];
|
|
34
|
+
// Application scope indicators
|
|
35
|
+
const applicationIndicators = [
|
|
36
|
+
{ pattern: /\b(business|custom|specific|department)\b/gi, weight: 0.3 },
|
|
37
|
+
{ pattern: /\b(workflow|process|procedure)\b/gi, weight: 0.2 },
|
|
38
|
+
{ pattern: /\b(application[_-]?specific|app[_-]?only)\b/gi, weight: 0.4 },
|
|
39
|
+
{ pattern: /\b(isolated|contained|scoped)\b/gi, weight: 0.25 }
|
|
40
|
+
];
|
|
41
|
+
// System indicators
|
|
42
|
+
const systemIndicators = [
|
|
43
|
+
{ pattern: /\b(admin|administrator|system[_-]?admin)\b/gi, weight: 0.3 },
|
|
44
|
+
{ pattern: /\b(configuration|setting|property)\b/gi, weight: 0.2 },
|
|
45
|
+
{ pattern: /\b(maintenance|monitoring|logging)\b/gi, weight: 0.25 }
|
|
46
|
+
];
|
|
47
|
+
// Analyze global indicators
|
|
48
|
+
let globalScore = 0;
|
|
49
|
+
globalIndicators.forEach(indicator => {
|
|
50
|
+
const matches = content.match(indicator.pattern);
|
|
51
|
+
if (matches) {
|
|
52
|
+
globalScore += indicator.weight * matches.length;
|
|
53
|
+
analysis.indicators.global.push(`${indicator.pattern.source} (${matches.length} matches)`);
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
// Analyze application indicators
|
|
57
|
+
let applicationScore = 0;
|
|
58
|
+
applicationIndicators.forEach(indicator => {
|
|
59
|
+
const matches = content.match(indicator.pattern);
|
|
60
|
+
if (matches) {
|
|
61
|
+
applicationScore += indicator.weight * matches.length;
|
|
62
|
+
analysis.indicators.application.push(`${indicator.pattern.source} (${matches.length} matches)`);
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
// Analyze system indicators
|
|
66
|
+
let systemScore = 0;
|
|
67
|
+
systemIndicators.forEach(indicator => {
|
|
68
|
+
const matches = content.match(indicator.pattern);
|
|
69
|
+
if (matches) {
|
|
70
|
+
systemScore += indicator.weight * matches.length;
|
|
71
|
+
analysis.indicators.system.push(`${indicator.pattern.source} (${matches.length} matches)`);
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
// Determine recommended scope
|
|
75
|
+
const totalScore = globalScore + applicationScore + systemScore;
|
|
76
|
+
if (totalScore > 0) {
|
|
77
|
+
if (globalScore > applicationScore && globalScore > systemScore) {
|
|
78
|
+
analysis.recommendedScope = global_scope_strategy_js_1.ScopeType.GLOBAL;
|
|
79
|
+
analysis.confidence = Math.min(globalScore / totalScore, 1.0);
|
|
80
|
+
}
|
|
81
|
+
else if (applicationScore > globalScore && applicationScore > systemScore) {
|
|
82
|
+
analysis.recommendedScope = global_scope_strategy_js_1.ScopeType.APPLICATION;
|
|
83
|
+
analysis.confidence = Math.min(applicationScore / totalScore, 1.0);
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
analysis.recommendedScope = global_scope_strategy_js_1.ScopeType.AUTO;
|
|
87
|
+
analysis.confidence = 0.5;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
analysis.confidence = 0.3;
|
|
92
|
+
}
|
|
93
|
+
// Analyze complexity
|
|
94
|
+
analysis.complexity = this.analyzeComplexity(artifactType, artifactData);
|
|
95
|
+
// Check for cross-application integration
|
|
96
|
+
analysis.crossAppIntegration = this.hasCrossAppIntegration(content);
|
|
97
|
+
return analysis;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Extract content from artifact for analysis
|
|
101
|
+
*/
|
|
102
|
+
static extractArtifactContent(artifactData) {
|
|
103
|
+
const contentFields = [
|
|
104
|
+
'name', 'description', 'short_description', 'script', 'template',
|
|
105
|
+
'client_script', 'server_script', 'condition', 'instructions'
|
|
106
|
+
];
|
|
107
|
+
let content = '';
|
|
108
|
+
contentFields.forEach(field => {
|
|
109
|
+
if (artifactData[field]) {
|
|
110
|
+
content += ` ${artifactData[field]}`;
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
// Include activity and variable information for flows
|
|
114
|
+
if (artifactData.activities) {
|
|
115
|
+
artifactData.activities.forEach((activity) => {
|
|
116
|
+
content += ` ${activity.name} ${activity.type}`;
|
|
117
|
+
if (activity.description)
|
|
118
|
+
content += ` ${activity.description}`;
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
return content;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Analyze artifact complexity
|
|
125
|
+
*/
|
|
126
|
+
static analyzeComplexity(artifactType, artifactData) {
|
|
127
|
+
let complexityScore = 0;
|
|
128
|
+
// Type-specific complexity scoring
|
|
129
|
+
switch (artifactType) {
|
|
130
|
+
case 'flow':
|
|
131
|
+
const activityCount = artifactData.activities?.length || 0;
|
|
132
|
+
complexityScore += activityCount * 0.1;
|
|
133
|
+
// Check for complex activity types
|
|
134
|
+
if (artifactData.activities) {
|
|
135
|
+
const complexTypes = ['script', 'condition', 'loop', 'rest', 'soap'];
|
|
136
|
+
const complexActivities = artifactData.activities.filter((a) => complexTypes.includes(a.type));
|
|
137
|
+
complexityScore += complexActivities.length * 0.3;
|
|
138
|
+
}
|
|
139
|
+
break;
|
|
140
|
+
case 'script_include':
|
|
141
|
+
const scriptLength = artifactData.script?.length || 0;
|
|
142
|
+
complexityScore += scriptLength / 1000 * 0.2; // 0.2 per 1000 chars
|
|
143
|
+
// Check for complex script patterns
|
|
144
|
+
if (artifactData.script) {
|
|
145
|
+
const complexPatterns = [
|
|
146
|
+
/function\s+\w+\s*\(/g, // Function definitions
|
|
147
|
+
/for\s*\(|while\s*\(/g, // Loops
|
|
148
|
+
/if\s*\(|switch\s*\(/g, // Conditionals
|
|
149
|
+
/try\s*\{|catch\s*\(/g // Error handling
|
|
150
|
+
];
|
|
151
|
+
complexPatterns.forEach(pattern => {
|
|
152
|
+
const matches = artifactData.script.match(pattern);
|
|
153
|
+
if (matches)
|
|
154
|
+
complexityScore += matches.length * 0.1;
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
break;
|
|
158
|
+
case 'widget':
|
|
159
|
+
const templateLength = artifactData.template?.length || 0;
|
|
160
|
+
const scriptLength2 = (artifactData.client_script?.length || 0) + (artifactData.server_script?.length || 0);
|
|
161
|
+
complexityScore += (templateLength + scriptLength2) / 1000 * 0.15;
|
|
162
|
+
break;
|
|
163
|
+
default:
|
|
164
|
+
complexityScore += 0.3; // Default complexity
|
|
165
|
+
}
|
|
166
|
+
// Return complexity level
|
|
167
|
+
if (complexityScore > 2.0)
|
|
168
|
+
return 'high';
|
|
169
|
+
if (complexityScore > 1.0)
|
|
170
|
+
return 'medium';
|
|
171
|
+
return 'low';
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Check if artifact has cross-application integration
|
|
175
|
+
*/
|
|
176
|
+
static hasCrossAppIntegration(content) {
|
|
177
|
+
const integrationPatterns = [
|
|
178
|
+
/\b(rest|soap|api)\b/gi,
|
|
179
|
+
/\b(integration|connector|bridge)\b/gi,
|
|
180
|
+
/\b(cross[_-]?application|multi[_-]?app)\b/gi,
|
|
181
|
+
/\b(external|third[_-]?party)\b/gi,
|
|
182
|
+
/\b(http|https|url|endpoint)\b/gi
|
|
183
|
+
];
|
|
184
|
+
return integrationPatterns.some(pattern => pattern.test(content));
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Validate scope configuration
|
|
188
|
+
*/
|
|
189
|
+
static validateScopeConfiguration(config) {
|
|
190
|
+
const issues = [];
|
|
191
|
+
// Validate scope type
|
|
192
|
+
if (!config.type || !Object.values(global_scope_strategy_js_1.ScopeType).includes(config.type)) {
|
|
193
|
+
issues.push('Invalid or missing scope type');
|
|
194
|
+
}
|
|
195
|
+
// Validate global scope configuration
|
|
196
|
+
if (config.type === global_scope_strategy_js_1.ScopeType.GLOBAL) {
|
|
197
|
+
if (config.globalDomain && config.globalDomain !== 'global') {
|
|
198
|
+
issues.push('Global scope should use "global" domain');
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
// Validate application scope configuration
|
|
202
|
+
if (config.type === global_scope_strategy_js_1.ScopeType.APPLICATION) {
|
|
203
|
+
if (!config.applicationId && !config.applicationName) {
|
|
204
|
+
issues.push('Application scope requires applicationId or applicationName');
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
return {
|
|
208
|
+
isValid: issues.length === 0,
|
|
209
|
+
issues
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Generate scope recommendation report
|
|
214
|
+
*/
|
|
215
|
+
static generateScopeReport(analysis) {
|
|
216
|
+
const report = `
|
|
217
|
+
Scope Analysis Report
|
|
218
|
+
====================
|
|
219
|
+
|
|
220
|
+
Recommended Scope: ${analysis.recommendedScope}
|
|
221
|
+
Confidence: ${(analysis.confidence * 100).toFixed(1)}%
|
|
222
|
+
Complexity: ${analysis.complexity}
|
|
223
|
+
Cross-App Integration: ${analysis.crossAppIntegration ? 'Yes' : 'No'}
|
|
224
|
+
|
|
225
|
+
Indicators:
|
|
226
|
+
-----------
|
|
227
|
+
Global Scope Indicators:
|
|
228
|
+
${analysis.indicators.global.map(i => ` • ${i}`).join('\n')}
|
|
229
|
+
|
|
230
|
+
Application Scope Indicators:
|
|
231
|
+
${analysis.indicators.application.map(i => ` • ${i}`).join('\n')}
|
|
232
|
+
|
|
233
|
+
System Indicators:
|
|
234
|
+
${analysis.indicators.system.map(i => ` • ${i}`).join('\n')}
|
|
235
|
+
|
|
236
|
+
Recommendations:
|
|
237
|
+
---------------
|
|
238
|
+
${this.generateRecommendations(analysis).map(r => ` • ${r}`).join('\n')}
|
|
239
|
+
`;
|
|
240
|
+
return report;
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* Generate recommendations based on analysis
|
|
244
|
+
*/
|
|
245
|
+
static generateRecommendations(analysis) {
|
|
246
|
+
const recommendations = [];
|
|
247
|
+
if (analysis.confidence < 0.5) {
|
|
248
|
+
recommendations.push('Consider manual scope selection due to low confidence');
|
|
249
|
+
}
|
|
250
|
+
if (analysis.complexity === 'high') {
|
|
251
|
+
recommendations.push('High complexity artifact - ensure proper testing');
|
|
252
|
+
}
|
|
253
|
+
if (analysis.crossAppIntegration) {
|
|
254
|
+
recommendations.push('Cross-application integration detected - global scope recommended');
|
|
255
|
+
}
|
|
256
|
+
if (analysis.recommendedScope === global_scope_strategy_js_1.ScopeType.GLOBAL) {
|
|
257
|
+
recommendations.push('Ensure global scope permissions are available');
|
|
258
|
+
recommendations.push('Consider impact on system performance');
|
|
259
|
+
}
|
|
260
|
+
if (analysis.recommendedScope === global_scope_strategy_js_1.ScopeType.APPLICATION) {
|
|
261
|
+
recommendations.push('Ensure application scope is properly configured');
|
|
262
|
+
recommendations.push('Consider application lifecycle management');
|
|
263
|
+
}
|
|
264
|
+
return recommendations;
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Compare two scope configurations
|
|
268
|
+
*/
|
|
269
|
+
static compareScopeConfigurations(config1, config2) {
|
|
270
|
+
const differences = [];
|
|
271
|
+
if (config1.type !== config2.type) {
|
|
272
|
+
differences.push(`Scope type: ${config1.type} vs ${config2.type}`);
|
|
273
|
+
}
|
|
274
|
+
if (config1.globalDomain !== config2.globalDomain) {
|
|
275
|
+
differences.push(`Global domain: ${config1.globalDomain} vs ${config2.globalDomain}`);
|
|
276
|
+
}
|
|
277
|
+
if (config1.applicationId !== config2.applicationId) {
|
|
278
|
+
differences.push(`Application ID: ${config1.applicationId} vs ${config2.applicationId}`);
|
|
279
|
+
}
|
|
280
|
+
if (config1.fallbackToGlobal !== config2.fallbackToGlobal) {
|
|
281
|
+
differences.push(`Fallback to global: ${config1.fallbackToGlobal} vs ${config2.fallbackToGlobal}`);
|
|
282
|
+
}
|
|
283
|
+
return {
|
|
284
|
+
isDifferent: differences.length > 0,
|
|
285
|
+
differences
|
|
286
|
+
};
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* Get scope display name
|
|
290
|
+
*/
|
|
291
|
+
static getScopeDisplayName(scope) {
|
|
292
|
+
switch (scope) {
|
|
293
|
+
case global_scope_strategy_js_1.ScopeType.GLOBAL:
|
|
294
|
+
return 'Global Scope';
|
|
295
|
+
case global_scope_strategy_js_1.ScopeType.APPLICATION:
|
|
296
|
+
return 'Application Scope';
|
|
297
|
+
case global_scope_strategy_js_1.ScopeType.AUTO:
|
|
298
|
+
return 'Auto Selection';
|
|
299
|
+
default:
|
|
300
|
+
return 'Unknown Scope';
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
/**
|
|
304
|
+
* Get scope description
|
|
305
|
+
*/
|
|
306
|
+
static getScopeDescription(scope) {
|
|
307
|
+
switch (scope) {
|
|
308
|
+
case global_scope_strategy_js_1.ScopeType.GLOBAL:
|
|
309
|
+
return 'System-wide scope with no application boundaries';
|
|
310
|
+
case global_scope_strategy_js_1.ScopeType.APPLICATION:
|
|
311
|
+
return 'Application-specific scope with isolation';
|
|
312
|
+
case global_scope_strategy_js_1.ScopeType.AUTO:
|
|
313
|
+
return 'Automatic scope selection based on analysis';
|
|
314
|
+
default:
|
|
315
|
+
return 'Unknown scope type';
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
/**
|
|
319
|
+
* Get scope benefits
|
|
320
|
+
*/
|
|
321
|
+
static getScopeBenefits(scope) {
|
|
322
|
+
switch (scope) {
|
|
323
|
+
case global_scope_strategy_js_1.ScopeType.GLOBAL:
|
|
324
|
+
return [
|
|
325
|
+
'System-wide availability',
|
|
326
|
+
'Cross-application integration',
|
|
327
|
+
'Simplified maintenance',
|
|
328
|
+
'Better performance for utilities',
|
|
329
|
+
'No boundary restrictions'
|
|
330
|
+
];
|
|
331
|
+
case global_scope_strategy_js_1.ScopeType.APPLICATION:
|
|
332
|
+
return [
|
|
333
|
+
'Application isolation',
|
|
334
|
+
'Dedicated namespace',
|
|
335
|
+
'Simplified lifecycle management',
|
|
336
|
+
'Better security boundaries',
|
|
337
|
+
'Easier deployment control'
|
|
338
|
+
];
|
|
339
|
+
case global_scope_strategy_js_1.ScopeType.AUTO:
|
|
340
|
+
return [
|
|
341
|
+
'Optimal scope selection',
|
|
342
|
+
'Reduced configuration complexity',
|
|
343
|
+
'Intelligent decision making',
|
|
344
|
+
'Automatic fallback support',
|
|
345
|
+
'Context-aware deployment'
|
|
346
|
+
];
|
|
347
|
+
default:
|
|
348
|
+
return [];
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
/**
|
|
352
|
+
* Get scope risks
|
|
353
|
+
*/
|
|
354
|
+
static getScopeRisks(scope) {
|
|
355
|
+
switch (scope) {
|
|
356
|
+
case global_scope_strategy_js_1.ScopeType.GLOBAL:
|
|
357
|
+
return [
|
|
358
|
+
'System-wide impact of changes',
|
|
359
|
+
'Potential security implications',
|
|
360
|
+
'Higher permission requirements',
|
|
361
|
+
'More complex troubleshooting',
|
|
362
|
+
'Broader testing requirements'
|
|
363
|
+
];
|
|
364
|
+
case global_scope_strategy_js_1.ScopeType.APPLICATION:
|
|
365
|
+
return [
|
|
366
|
+
'Limited cross-application functionality',
|
|
367
|
+
'Potential integration challenges',
|
|
368
|
+
'Increased complexity for shared utilities',
|
|
369
|
+
'Multiple application management',
|
|
370
|
+
'Duplication of common functionality'
|
|
371
|
+
];
|
|
372
|
+
case global_scope_strategy_js_1.ScopeType.AUTO:
|
|
373
|
+
return [
|
|
374
|
+
'Potential incorrect scope selection',
|
|
375
|
+
'Reduced user control',
|
|
376
|
+
'Dependency on analysis accuracy',
|
|
377
|
+
'Complexity in troubleshooting decisions',
|
|
378
|
+
'Need for fallback mechanisms'
|
|
379
|
+
];
|
|
380
|
+
default:
|
|
381
|
+
return [];
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
exports.ScopeUtils = ScopeUtils;
|
|
386
|
+
//# sourceMappingURL=scope-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scope-utils.js","sourceRoot":"","sources":["../../src/utils/scope-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* ServiceNow API Client
|
|
4
|
+
* Handles all ServiceNow API operations with OAuth authentication
|
|
5
|
+
*/
|
|
6
|
+
export interface ServiceNowWidget {
|
|
7
|
+
sys_id?: string;
|
|
8
|
+
name: string;
|
|
9
|
+
id: string;
|
|
10
|
+
title: string;
|
|
11
|
+
description: string;
|
|
12
|
+
template: string;
|
|
13
|
+
css: string;
|
|
14
|
+
client_script: string;
|
|
15
|
+
server_script: string;
|
|
16
|
+
option_schema?: string;
|
|
17
|
+
demo_data?: string;
|
|
18
|
+
has_preview?: boolean;
|
|
19
|
+
category: string;
|
|
20
|
+
}
|
|
21
|
+
export interface ServiceNowWorkflow {
|
|
22
|
+
sys_id?: string;
|
|
23
|
+
name: string;
|
|
24
|
+
description: string;
|
|
25
|
+
active: boolean;
|
|
26
|
+
workflow_version: string;
|
|
27
|
+
table?: string;
|
|
28
|
+
condition?: string;
|
|
29
|
+
}
|
|
30
|
+
export interface ServiceNowApplication {
|
|
31
|
+
sys_id?: string;
|
|
32
|
+
name: string;
|
|
33
|
+
scope: string;
|
|
34
|
+
version: string;
|
|
35
|
+
short_description: string;
|
|
36
|
+
description: string;
|
|
37
|
+
vendor: string;
|
|
38
|
+
vendor_prefix: string;
|
|
39
|
+
template?: string;
|
|
40
|
+
logo?: string;
|
|
41
|
+
active: boolean;
|
|
42
|
+
}
|
|
43
|
+
export interface ServiceNowAPIResponse<T> {
|
|
44
|
+
success: boolean;
|
|
45
|
+
data?: T;
|
|
46
|
+
error?: string;
|
|
47
|
+
result?: T[];
|
|
48
|
+
}
|
|
49
|
+
export declare class ServiceNowClient {
|
|
50
|
+
private client;
|
|
51
|
+
private oauth;
|
|
52
|
+
private credentials;
|
|
53
|
+
private actionTypeCache;
|
|
54
|
+
constructor();
|
|
55
|
+
/**
|
|
56
|
+
* Ensure we have valid authentication
|
|
57
|
+
*/
|
|
58
|
+
private ensureAuthenticated;
|
|
59
|
+
/**
|
|
60
|
+
* Get base URL for ServiceNow instance
|
|
61
|
+
*/
|
|
62
|
+
private getBaseUrl;
|
|
63
|
+
/**
|
|
64
|
+
* Sanitize a flow name for use as internal_name
|
|
65
|
+
*/
|
|
66
|
+
private sanitizeInternalName;
|
|
67
|
+
/**
|
|
68
|
+
* Test connection to ServiceNow
|
|
69
|
+
*/
|
|
70
|
+
testConnection(): Promise<ServiceNowAPIResponse<any>>;
|
|
71
|
+
/**
|
|
72
|
+
* Create a new ServiceNow widget
|
|
73
|
+
*/
|
|
74
|
+
createWidget(widget: ServiceNowWidget): Promise<ServiceNowAPIResponse<ServiceNowWidget>>;
|
|
75
|
+
/**
|
|
76
|
+
* Update an existing ServiceNow widget
|
|
77
|
+
*/
|
|
78
|
+
updateWidget(sysId: string, widget: Partial<ServiceNowWidget>): Promise<ServiceNowAPIResponse<ServiceNowWidget>>;
|
|
79
|
+
/**
|
|
80
|
+
* Get widget by ID
|
|
81
|
+
*/
|
|
82
|
+
getWidget(widgetId: string): Promise<ServiceNowAPIResponse<ServiceNowWidget>>;
|
|
83
|
+
/**
|
|
84
|
+
* Create a new ServiceNow workflow
|
|
85
|
+
*/
|
|
86
|
+
createWorkflow(workflow: ServiceNowWorkflow): Promise<ServiceNowAPIResponse<ServiceNowWorkflow>>;
|
|
87
|
+
/**
|
|
88
|
+
* Create a new ServiceNow application
|
|
89
|
+
*/
|
|
90
|
+
createApplication(application: ServiceNowApplication): Promise<ServiceNowAPIResponse<ServiceNowApplication>>;
|
|
91
|
+
/**
|
|
92
|
+
* Execute a ServiceNow script
|
|
93
|
+
*/
|
|
94
|
+
executeScript(script: string): Promise<ServiceNowAPIResponse<any>>;
|
|
95
|
+
/**
|
|
96
|
+
* Get all widgets
|
|
97
|
+
*/
|
|
98
|
+
getWidgets(): Promise<ServiceNowAPIResponse<ServiceNowWidget[]>>;
|
|
99
|
+
/**
|
|
100
|
+
* Get all workflows
|
|
101
|
+
*/
|
|
102
|
+
getWorkflows(): Promise<ServiceNowAPIResponse<ServiceNowWorkflow[]>>;
|
|
103
|
+
/**
|
|
104
|
+
* Get all applications
|
|
105
|
+
*/
|
|
106
|
+
getApplications(): Promise<ServiceNowAPIResponse<ServiceNowApplication[]>>;
|
|
107
|
+
/**
|
|
108
|
+
* Get default flow structure from ServiceNow
|
|
109
|
+
*/
|
|
110
|
+
private getFlowDefaults;
|
|
111
|
+
/**
|
|
112
|
+
* Get instance info
|
|
113
|
+
*/
|
|
114
|
+
getInstanceInfo(): Promise<ServiceNowAPIResponse<any>>;
|
|
115
|
+
/**
|
|
116
|
+
* Get a specific record by sys_id
|
|
117
|
+
*/
|
|
118
|
+
getRecord(table: string, sys_id: string): Promise<any>;
|
|
119
|
+
/**
|
|
120
|
+
* Get multiple records from a table
|
|
121
|
+
*/
|
|
122
|
+
getRecords(table: string, params?: any): Promise<ServiceNowAPIResponse<any[]>>;
|
|
123
|
+
/**
|
|
124
|
+
* Search records in a table using encoded query
|
|
125
|
+
*/
|
|
126
|
+
searchRecords(table: string, query: string, limit?: number): Promise<ServiceNowAPIResponse<any>>;
|
|
127
|
+
/**
|
|
128
|
+
* Create a record in any ServiceNow table
|
|
129
|
+
*/
|
|
130
|
+
createRecord(table: string, data: any): Promise<ServiceNowAPIResponse<any>>;
|
|
131
|
+
/**
|
|
132
|
+
* Search for available flow actions in ServiceNow
|
|
133
|
+
*/
|
|
134
|
+
searchFlowActions(searchTerm: string): Promise<any>;
|
|
135
|
+
/**
|
|
136
|
+
* Get flow action details
|
|
137
|
+
*/
|
|
138
|
+
getFlowActionDetails(actionTypeId: string): Promise<any>;
|
|
139
|
+
/**
|
|
140
|
+
* Create a simple Flow Designer flow
|
|
141
|
+
* Focusing on basic flow creation with simple actions
|
|
142
|
+
*/
|
|
143
|
+
createFlow(flow: any): Promise<ServiceNowAPIResponse<any>>;
|
|
144
|
+
/**
|
|
145
|
+
* Create a flow action using discovered ServiceNow action types
|
|
146
|
+
*/
|
|
147
|
+
private createFlowAction;
|
|
148
|
+
/**
|
|
149
|
+
* Build action inputs based on action details
|
|
150
|
+
*/
|
|
151
|
+
private buildActionInputs;
|
|
152
|
+
/**
|
|
153
|
+
* Build simple action configuration
|
|
154
|
+
*/
|
|
155
|
+
private buildActionConfiguration;
|
|
156
|
+
/**
|
|
157
|
+
* Create a flow trigger instance
|
|
158
|
+
*/
|
|
159
|
+
private createFlowTrigger;
|
|
160
|
+
/**
|
|
161
|
+
* Create a flow action instance using simplified approach
|
|
162
|
+
*/
|
|
163
|
+
private createFlowActionInstance;
|
|
164
|
+
/**
|
|
165
|
+
* Create a flow operation (activity) for a Flow Designer flow
|
|
166
|
+
*/
|
|
167
|
+
private createFlowOperation;
|
|
168
|
+
/**
|
|
169
|
+
* Create a Script Include
|
|
170
|
+
*/
|
|
171
|
+
createScriptInclude(scriptInclude: any): Promise<ServiceNowAPIResponse<any>>;
|
|
172
|
+
/**
|
|
173
|
+
* Create a Business Rule
|
|
174
|
+
*/
|
|
175
|
+
createBusinessRule(businessRule: any): Promise<ServiceNowAPIResponse<any>>;
|
|
176
|
+
/**
|
|
177
|
+
* Create a Table
|
|
178
|
+
*/
|
|
179
|
+
createTable(table: any): Promise<ServiceNowAPIResponse<any>>;
|
|
180
|
+
/**
|
|
181
|
+
* Create a Table Field
|
|
182
|
+
*/
|
|
183
|
+
createTableField(field: any): Promise<ServiceNowAPIResponse<any>>;
|
|
184
|
+
/**
|
|
185
|
+
* Create a new Update Set
|
|
186
|
+
*/
|
|
187
|
+
createUpdateSet(updateSet: any): Promise<ServiceNowAPIResponse<any>>;
|
|
188
|
+
/**
|
|
189
|
+
* Set current Update Set for the session
|
|
190
|
+
*/
|
|
191
|
+
setCurrentUpdateSet(updateSetId: string): Promise<ServiceNowAPIResponse<any>>;
|
|
192
|
+
/**
|
|
193
|
+
* Get current Update Set
|
|
194
|
+
*/
|
|
195
|
+
getCurrentUpdateSet(): Promise<ServiceNowAPIResponse<any>>;
|
|
196
|
+
/**
|
|
197
|
+
* Get Update Set by ID
|
|
198
|
+
*/
|
|
199
|
+
getUpdateSet(updateSetId: string): Promise<ServiceNowAPIResponse<any>>;
|
|
200
|
+
/**
|
|
201
|
+
* List Update Sets
|
|
202
|
+
*/
|
|
203
|
+
listUpdateSets(options: any): Promise<ServiceNowAPIResponse<any[]>>;
|
|
204
|
+
/**
|
|
205
|
+
* Complete an Update Set
|
|
206
|
+
*/
|
|
207
|
+
completeUpdateSet(updateSetId: string, notes?: string): Promise<ServiceNowAPIResponse<any>>;
|
|
208
|
+
/**
|
|
209
|
+
* Preview Update Set changes
|
|
210
|
+
*/
|
|
211
|
+
previewUpdateSet(updateSetId: string): Promise<ServiceNowAPIResponse<any>>;
|
|
212
|
+
/**
|
|
213
|
+
* Export Update Set as XML
|
|
214
|
+
*/
|
|
215
|
+
/**
|
|
216
|
+
* Ensure we have an active Update Set for tracking changes
|
|
217
|
+
*/
|
|
218
|
+
ensureUpdateSet(): Promise<ServiceNowAPIResponse<any>>;
|
|
219
|
+
exportUpdateSet(updateSetId: string): Promise<ServiceNowAPIResponse<any>>;
|
|
220
|
+
/**
|
|
221
|
+
* Debug flow structure - check what's missing for Flow Designer
|
|
222
|
+
*/
|
|
223
|
+
debugFlow(flowId: string): Promise<ServiceNowAPIResponse<any>>;
|
|
224
|
+
/**
|
|
225
|
+
* Create a flow logic entry (visual representation in Flow Designer)
|
|
226
|
+
*/
|
|
227
|
+
private createFlowLogic;
|
|
228
|
+
/**
|
|
229
|
+
* Create a connection between flow logic elements
|
|
230
|
+
*/
|
|
231
|
+
private createFlowConnection;
|
|
232
|
+
}
|
|
233
|
+
//# sourceMappingURL=servicenow-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"servicenow-client.d.ts","sourceRoot":"","sources":["../../src/utils/servicenow-client.ts"],"names":[],"mappings":";AACA;;;GAGG;AAMH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;CACd;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,WAAW,CAAsC;IACzD,OAAO,CAAC,eAAe,CAAkB;;IA2CzC;;OAEG;YACW,mBAAmB;IAuBjC;;OAEG;IACH,OAAO,CAAC,UAAU;IAOlB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAU5B;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;IA8C3D;;OAEG;IACG,YAAY,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;IA0C9F;;OAEG;IACG,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;IA2BtH;;OAEG;IACG,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;IA4BnF;;OAEG;IACG,cAAc,CAAC,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,CAAC;IAiCtG;;OAEG;IACG,iBAAiB,CAAC,WAAW,EAAE,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,CAAC;IAqClH;;OAEG;IACG,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;IA2BxE;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,qBAAqB,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAkBtE;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,qBAAqB,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAkB1E;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,qBAAqB,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAkBhF;;OAEG;YACW,eAAe;IAgC7B;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAkB5D;;OAEG;IACG,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAe5D;;OAEG;IACG,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,qBAAqB,CAAC,GAAG,EAAE,CAAC,CAAC;IAuBpF;;OAEG;IACG,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;IA4B1G;;OAEG;IACG,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAsBjF;;OAEG;IACG,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAiCzD;;OAEG;IACG,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IA4B9D;;;OAGG;IACG,UAAU,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAyHhE;;OAEG;YACW,gBAAgB;IA0D9B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAiEzB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA2ChC;;OAEG;YACW,iBAAiB;IAsC/B;;OAEG;YACW,wBAAwB;IAgGtC;;OAEG;YACW,mBAAmB;IA2BjC;;OAEG;IACG,mBAAmB,CAAC,aAAa,EAAE,GAAG,GAAG,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;IA+BlF;;OAEG;IACG,kBAAkB,CAAC,YAAY,EAAE,GAAG,GAAG,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAiChF;;OAEG;IACG,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;IA+BlE;;OAEG;IACG,gBAAgB,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;IA+BvE;;OAEG;IACG,eAAe,CAAC,SAAS,EAAE,GAAG,GAAG,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAiC1E;;OAEG;IACG,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAuDnF;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAqEhE;;OAEG;IACG,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAwB5E;;OAEG;IACG,cAAc,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,qBAAqB,CAAC,GAAG,EAAE,CAAC,CAAC;IAoCzE;;OAEG;IACG,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;IA8BjG;;OAEG;IACG,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAqChF;;OAEG;IACH;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAoCtD,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAwC/E;;OAEG;IACG,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;IA0DpE;;OAEG;YACW,eAAe;IAuB7B;;OAEG;YACW,oBAAoB;CAoBnC"}
|