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.
Files changed (240) hide show
  1. package/.env.example +49 -0
  2. package/.mcp.json +106 -0
  3. package/.mcp.json.template +106 -0
  4. package/LICENSE +21 -0
  5. package/README.md +236 -0
  6. package/bin/snow-flow +4 -0
  7. package/bin/snow-flow.js +3 -0
  8. package/claude-flow +79 -0
  9. package/claude-flow.bat +18 -0
  10. package/claude-flow.config.json +20 -0
  11. package/claude-flow.ps1 +24 -0
  12. package/dist/agents/app-creator.agent.d.ts +55 -0
  13. package/dist/agents/app-creator.agent.d.ts.map +1 -0
  14. package/dist/agents/app-creator.agent.js +1292 -0
  15. package/dist/agents/app-creator.agent.js.map +1 -0
  16. package/dist/agents/base-snow-agent.d.ts +63 -0
  17. package/dist/agents/base-snow-agent.d.ts.map +1 -0
  18. package/dist/agents/base-snow-agent.js +296 -0
  19. package/dist/agents/base-snow-agent.js.map +1 -0
  20. package/dist/agents/script-generator.agent.d.ts +32 -0
  21. package/dist/agents/script-generator.agent.d.ts.map +1 -0
  22. package/dist/agents/script-generator.agent.js +772 -0
  23. package/dist/agents/script-generator.agent.js.map +1 -0
  24. package/dist/agents/ui-builder.agent.d.ts +50 -0
  25. package/dist/agents/ui-builder.agent.d.ts.map +1 -0
  26. package/dist/agents/ui-builder.agent.js +1539 -0
  27. package/dist/agents/ui-builder.agent.js.map +1 -0
  28. package/dist/agents/widget-builder.agent.d.ts +32 -0
  29. package/dist/agents/widget-builder.agent.d.ts.map +1 -0
  30. package/dist/agents/widget-builder.agent.js +439 -0
  31. package/dist/agents/widget-builder.agent.js.map +1 -0
  32. package/dist/agents/workflow-designer.agent.d.ts +31 -0
  33. package/dist/agents/workflow-designer.agent.d.ts.map +1 -0
  34. package/dist/agents/workflow-designer.agent.js +583 -0
  35. package/dist/agents/workflow-designer.agent.js.map +1 -0
  36. package/dist/api/error-handling.d.ts +214 -0
  37. package/dist/api/error-handling.d.ts.map +1 -0
  38. package/dist/api/error-handling.js +594 -0
  39. package/dist/api/error-handling.js.map +1 -0
  40. package/dist/api/flow-designer-api.d.ts +167 -0
  41. package/dist/api/flow-designer-api.d.ts.map +1 -0
  42. package/dist/api/flow-designer-api.js +555 -0
  43. package/dist/api/flow-designer-api.js.map +1 -0
  44. package/dist/api/natural-language-mapper.d.ts +126 -0
  45. package/dist/api/natural-language-mapper.d.ts.map +1 -0
  46. package/dist/api/natural-language-mapper.js +498 -0
  47. package/dist/api/natural-language-mapper.js.map +1 -0
  48. package/dist/api/performance-optimizer.d.ts +240 -0
  49. package/dist/api/performance-optimizer.d.ts.map +1 -0
  50. package/dist/api/performance-optimizer.js +701 -0
  51. package/dist/api/performance-optimizer.js.map +1 -0
  52. package/dist/api/transaction-manager.d.ts +189 -0
  53. package/dist/api/transaction-manager.d.ts.map +1 -0
  54. package/dist/api/transaction-manager.js +576 -0
  55. package/dist/api/transaction-manager.js.map +1 -0
  56. package/dist/cli/deploy-artifact.d.ts +7 -0
  57. package/dist/cli/deploy-artifact.d.ts.map +1 -0
  58. package/dist/cli/deploy-artifact.js +279 -0
  59. package/dist/cli/deploy-artifact.js.map +1 -0
  60. package/dist/cli.d.ts +6 -0
  61. package/dist/cli.d.ts.map +1 -0
  62. package/dist/cli.js +2057 -0
  63. package/dist/cli.js.map +1 -0
  64. package/dist/index.d.ts +10 -0
  65. package/dist/index.d.ts.map +1 -0
  66. package/dist/index.js +35 -0
  67. package/dist/index.js.map +1 -0
  68. package/dist/managers/scope-manager.d.ts +75 -0
  69. package/dist/managers/scope-manager.d.ts.map +1 -0
  70. package/dist/managers/scope-manager.js +448 -0
  71. package/dist/managers/scope-manager.js.map +1 -0
  72. package/dist/mcp/mcp-wrapper.d.ts +8 -0
  73. package/dist/mcp/mcp-wrapper.d.ts.map +1 -0
  74. package/dist/mcp/mcp-wrapper.js +77 -0
  75. package/dist/mcp/mcp-wrapper.js.map +1 -0
  76. package/dist/mcp/servicenow-automation-mcp.d.ts +8 -0
  77. package/dist/mcp/servicenow-automation-mcp.d.ts.map +1 -0
  78. package/dist/mcp/servicenow-automation-mcp.js +683 -0
  79. package/dist/mcp/servicenow-automation-mcp.js.map +1 -0
  80. package/dist/mcp/servicenow-deployment-mcp.d.ts +7 -0
  81. package/dist/mcp/servicenow-deployment-mcp.d.ts.map +1 -0
  82. package/dist/mcp/servicenow-deployment-mcp.js +972 -0
  83. package/dist/mcp/servicenow-deployment-mcp.js.map +1 -0
  84. package/dist/mcp/servicenow-flow-composer-mcp.d.ts +7 -0
  85. package/dist/mcp/servicenow-flow-composer-mcp.d.ts.map +1 -0
  86. package/dist/mcp/servicenow-flow-composer-mcp.js +1121 -0
  87. package/dist/mcp/servicenow-flow-composer-mcp.js.map +1 -0
  88. package/dist/mcp/servicenow-graph-memory-mcp.d.ts +7 -0
  89. package/dist/mcp/servicenow-graph-memory-mcp.d.ts.map +1 -0
  90. package/dist/mcp/servicenow-graph-memory-mcp.js +703 -0
  91. package/dist/mcp/servicenow-graph-memory-mcp.js.map +1 -0
  92. package/dist/mcp/servicenow-integration-mcp.d.ts +8 -0
  93. package/dist/mcp/servicenow-integration-mcp.d.ts.map +1 -0
  94. package/dist/mcp/servicenow-integration-mcp.js +689 -0
  95. package/dist/mcp/servicenow-integration-mcp.js.map +1 -0
  96. package/dist/mcp/servicenow-intelligent-mcp.d.ts +7 -0
  97. package/dist/mcp/servicenow-intelligent-mcp.d.ts.map +1 -0
  98. package/dist/mcp/servicenow-intelligent-mcp.js +1138 -0
  99. package/dist/mcp/servicenow-intelligent-mcp.js.map +1 -0
  100. package/dist/mcp/servicenow-mcp-server.d.ts +37 -0
  101. package/dist/mcp/servicenow-mcp-server.d.ts.map +1 -0
  102. package/dist/mcp/servicenow-mcp-server.js +648 -0
  103. package/dist/mcp/servicenow-mcp-server.js.map +1 -0
  104. package/dist/mcp/servicenow-operations-mcp.d.ts +15 -0
  105. package/dist/mcp/servicenow-operations-mcp.d.ts.map +1 -0
  106. package/dist/mcp/servicenow-operations-mcp.js +1287 -0
  107. package/dist/mcp/servicenow-operations-mcp.js.map +1 -0
  108. package/dist/mcp/servicenow-platform-development-mcp.d.ts +8 -0
  109. package/dist/mcp/servicenow-platform-development-mcp.d.ts.map +1 -0
  110. package/dist/mcp/servicenow-platform-development-mcp.js +557 -0
  111. package/dist/mcp/servicenow-platform-development-mcp.js.map +1 -0
  112. package/dist/mcp/servicenow-progressive-indexer.d.ts +79 -0
  113. package/dist/mcp/servicenow-progressive-indexer.d.ts.map +1 -0
  114. package/dist/mcp/servicenow-progressive-indexer.js +320 -0
  115. package/dist/mcp/servicenow-progressive-indexer.js.map +1 -0
  116. package/dist/mcp/servicenow-reporting-analytics-mcp.d.ts +8 -0
  117. package/dist/mcp/servicenow-reporting-analytics-mcp.d.ts.map +1 -0
  118. package/dist/mcp/servicenow-reporting-analytics-mcp.js +888 -0
  119. package/dist/mcp/servicenow-reporting-analytics-mcp.js.map +1 -0
  120. package/dist/mcp/servicenow-security-compliance-mcp.d.ts +8 -0
  121. package/dist/mcp/servicenow-security-compliance-mcp.d.ts.map +1 -0
  122. package/dist/mcp/servicenow-security-compliance-mcp.js +812 -0
  123. package/dist/mcp/servicenow-security-compliance-mcp.js.map +1 -0
  124. package/dist/mcp/servicenow-update-set-mcp.d.ts +7 -0
  125. package/dist/mcp/servicenow-update-set-mcp.d.ts.map +1 -0
  126. package/dist/mcp/servicenow-update-set-mcp.js +599 -0
  127. package/dist/mcp/servicenow-update-set-mcp.js.map +1 -0
  128. package/dist/mcp/start-all-mcp-servers.d.ts +6 -0
  129. package/dist/mcp/start-all-mcp-servers.d.ts.map +1 -0
  130. package/dist/mcp/start-all-mcp-servers.js +65 -0
  131. package/dist/mcp/start-all-mcp-servers.js.map +1 -0
  132. package/dist/mcp/start-servicenow-mcp.d.ts +7 -0
  133. package/dist/mcp/start-servicenow-mcp.d.ts.map +1 -0
  134. package/dist/mcp/start-servicenow-mcp.js +64 -0
  135. package/dist/mcp/start-servicenow-mcp.js.map +1 -0
  136. package/dist/mcp/test-simple-mcp.d.ts +6 -0
  137. package/dist/mcp/test-simple-mcp.d.ts.map +1 -0
  138. package/dist/mcp/test-simple-mcp.js +64 -0
  139. package/dist/mcp/test-simple-mcp.js.map +1 -0
  140. package/dist/orchestrator/flow-composer.d.ts +269 -0
  141. package/dist/orchestrator/flow-composer.d.ts.map +1 -0
  142. package/dist/orchestrator/flow-composer.js +2221 -0
  143. package/dist/orchestrator/flow-composer.js.map +1 -0
  144. package/dist/orchestrator/flow-pattern-templates.d.ts +260 -0
  145. package/dist/orchestrator/flow-pattern-templates.d.ts.map +1 -0
  146. package/dist/orchestrator/flow-pattern-templates.js +906 -0
  147. package/dist/orchestrator/flow-pattern-templates.js.map +1 -0
  148. package/dist/orchestrator/flow-subflow-decision-engine.d.ts +202 -0
  149. package/dist/orchestrator/flow-subflow-decision-engine.d.ts.map +1 -0
  150. package/dist/orchestrator/flow-subflow-decision-engine.js +769 -0
  151. package/dist/orchestrator/flow-subflow-decision-engine.js.map +1 -0
  152. package/dist/orchestrator/flow-validation-engine.d.ts +145 -0
  153. package/dist/orchestrator/flow-validation-engine.d.ts.map +1 -0
  154. package/dist/orchestrator/flow-validation-engine.js +663 -0
  155. package/dist/orchestrator/flow-validation-engine.js.map +1 -0
  156. package/dist/orchestrator/snow-orchestrator.d.ts +49 -0
  157. package/dist/orchestrator/snow-orchestrator.d.ts.map +1 -0
  158. package/dist/orchestrator/snow-orchestrator.js +235 -0
  159. package/dist/orchestrator/snow-orchestrator.js.map +1 -0
  160. package/dist/orchestrator/subflow-creation-handler.d.ts +230 -0
  161. package/dist/orchestrator/subflow-creation-handler.d.ts.map +1 -0
  162. package/dist/orchestrator/subflow-creation-handler.js +791 -0
  163. package/dist/orchestrator/subflow-creation-handler.js.map +1 -0
  164. package/dist/strategies/global-scope-strategy.d.ts +123 -0
  165. package/dist/strategies/global-scope-strategy.d.ts.map +1 -0
  166. package/dist/strategies/global-scope-strategy.js +585 -0
  167. package/dist/strategies/global-scope-strategy.js.map +1 -0
  168. package/dist/types/index.d.ts +138 -0
  169. package/dist/types/index.d.ts.map +1 -0
  170. package/dist/types/index.js +4 -0
  171. package/dist/types/index.js.map +1 -0
  172. package/dist/types/servicenow.types.d.ts +260 -0
  173. package/dist/types/servicenow.types.d.ts.map +1 -0
  174. package/dist/types/servicenow.types.js +3 -0
  175. package/dist/types/servicenow.types.js.map +1 -0
  176. package/dist/types/snow-flow.types.d.ts +114 -0
  177. package/dist/types/snow-flow.types.d.ts.map +1 -0
  178. package/dist/types/snow-flow.types.js +3 -0
  179. package/dist/types/snow-flow.types.js.map +1 -0
  180. package/dist/utils/action-type-cache.d.ts +66 -0
  181. package/dist/utils/action-type-cache.d.ts.map +1 -0
  182. package/dist/utils/action-type-cache.js +237 -0
  183. package/dist/utils/action-type-cache.js.map +1 -0
  184. package/dist/utils/agent-detector.d.ts +35 -0
  185. package/dist/utils/agent-detector.d.ts.map +1 -0
  186. package/dist/utils/agent-detector.js +353 -0
  187. package/dist/utils/agent-detector.js.map +1 -0
  188. package/dist/utils/flow-api-discovery.d.ts +151 -0
  189. package/dist/utils/flow-api-discovery.d.ts.map +1 -0
  190. package/dist/utils/flow-api-discovery.js +440 -0
  191. package/dist/utils/flow-api-discovery.js.map +1 -0
  192. package/dist/utils/flow-xml-generator.d.ts +41 -0
  193. package/dist/utils/flow-xml-generator.d.ts.map +1 -0
  194. package/dist/utils/flow-xml-generator.js +258 -0
  195. package/dist/utils/flow-xml-generator.js.map +1 -0
  196. package/dist/utils/logger.d.ts +13 -0
  197. package/dist/utils/logger.d.ts.map +1 -0
  198. package/dist/utils/logger.js +51 -0
  199. package/dist/utils/logger.js.map +1 -0
  200. package/dist/utils/mcp-auth-middleware.d.ts +58 -0
  201. package/dist/utils/mcp-auth-middleware.d.ts.map +1 -0
  202. package/dist/utils/mcp-auth-middleware.js +227 -0
  203. package/dist/utils/mcp-auth-middleware.js.map +1 -0
  204. package/dist/utils/mcp-config-manager.d.ts +126 -0
  205. package/dist/utils/mcp-config-manager.d.ts.map +1 -0
  206. package/dist/utils/mcp-config-manager.js +209 -0
  207. package/dist/utils/mcp-config-manager.js.map +1 -0
  208. package/dist/utils/mcp-server-manager.d.ts +91 -0
  209. package/dist/utils/mcp-server-manager.d.ts.map +1 -0
  210. package/dist/utils/mcp-server-manager.js +338 -0
  211. package/dist/utils/mcp-server-manager.js.map +1 -0
  212. package/dist/utils/scope-utils.d.ts +72 -0
  213. package/dist/utils/scope-utils.d.ts.map +1 -0
  214. package/dist/utils/scope-utils.js +386 -0
  215. package/dist/utils/scope-utils.js.map +1 -0
  216. package/dist/utils/servicenow-client.d.ts +233 -0
  217. package/dist/utils/servicenow-client.d.ts.map +1 -0
  218. package/dist/utils/servicenow-client.js +1465 -0
  219. package/dist/utils/servicenow-client.js.map +1 -0
  220. package/dist/utils/snow-oauth-old.d.ts +65 -0
  221. package/dist/utils/snow-oauth-old.d.ts.map +1 -0
  222. package/dist/utils/snow-oauth-old.js +345 -0
  223. package/dist/utils/snow-oauth-old.js.map +1 -0
  224. package/dist/utils/snow-oauth.d.ts +85 -0
  225. package/dist/utils/snow-oauth.d.ts.map +1 -0
  226. package/dist/utils/snow-oauth.js +512 -0
  227. package/dist/utils/snow-oauth.js.map +1 -0
  228. package/dist/utils/template-engine.d.ts +76 -0
  229. package/dist/utils/template-engine.d.ts.map +1 -0
  230. package/dist/utils/template-engine.js +391 -0
  231. package/dist/utils/template-engine.js.map +1 -0
  232. package/dist/version.d.ts +35 -0
  233. package/dist/version.d.ts.map +1 -0
  234. package/dist/version.js +72 -0
  235. package/dist/version.js.map +1 -0
  236. package/mcp-wrapper.sh +12 -0
  237. package/package.json +77 -0
  238. package/reports/swarm-auto-centralized-1752649029776.json +13 -0
  239. package/scripts/postinstall.js +30 -0
  240. 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":"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"}