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 @@
1
+ {"version":3,"file":"agent-detector.js","sourceRoot":"","sources":["../../src/utils/agent-detector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,151 @@
1
+ /**
2
+ * ServiceNow Flow Designer API Discovery Service
3
+ * Provides dynamic discovery of action types, trigger types, and flow metadata
4
+ */
5
+ import { ServiceNowClient } from './servicenow-client.js';
6
+ import { ActionType, TriggerType } from './action-type-cache.js';
7
+ export interface FlowActionType extends ActionType {
8
+ description?: string;
9
+ category: string;
10
+ inputs: FlowActionInput[];
11
+ outputs: FlowActionOutput[];
12
+ script_template?: string;
13
+ execution_mode?: string;
14
+ supports_async?: boolean;
15
+ }
16
+ export interface FlowActionInput {
17
+ sys_id: string;
18
+ name: string;
19
+ label: string;
20
+ type: string;
21
+ required: boolean;
22
+ default_value?: string;
23
+ description?: string;
24
+ validation?: string;
25
+ }
26
+ export interface FlowActionOutput {
27
+ sys_id: string;
28
+ name: string;
29
+ label: string;
30
+ type: string;
31
+ description?: string;
32
+ sample_value?: string;
33
+ }
34
+ export interface FlowTriggerType extends TriggerType {
35
+ description?: string;
36
+ supports_conditions: boolean;
37
+ supported_tables: string[];
38
+ inputs: FlowTriggerInput[];
39
+ outputs: FlowTriggerOutput[];
40
+ }
41
+ export interface FlowTriggerInput {
42
+ sys_id: string;
43
+ name: string;
44
+ label: string;
45
+ type: string;
46
+ required: boolean;
47
+ description?: string;
48
+ }
49
+ export interface FlowTriggerOutput {
50
+ sys_id: string;
51
+ name: string;
52
+ label: string;
53
+ type: string;
54
+ description?: string;
55
+ }
56
+ export interface ActionTypeSearchResult {
57
+ exact_matches: FlowActionType[];
58
+ partial_matches: FlowActionType[];
59
+ semantic_matches: FlowActionType[];
60
+ confidence_score: number;
61
+ }
62
+ export declare class FlowAPIDiscovery {
63
+ private logger;
64
+ private client;
65
+ private actionTypeCache;
66
+ private triggerTypeCache;
67
+ private cacheExpiry;
68
+ private lastCacheUpdate;
69
+ constructor(client: ServiceNowClient);
70
+ /**
71
+ * Discover action types based on natural language intent
72
+ */
73
+ discoverActionTypes(intent: string, limit?: number): Promise<ActionTypeSearchResult>;
74
+ /**
75
+ * Discover trigger types based on table and operation
76
+ */
77
+ discoverTriggerTypes(table: string, operation: string): Promise<FlowTriggerType[]>;
78
+ /**
79
+ * Get detailed action type information including inputs/outputs
80
+ */
81
+ getActionTypeDetails(actionTypeId: string): Promise<FlowActionType | null>;
82
+ /**
83
+ * Get all available action categories
84
+ */
85
+ getActionCategories(): Promise<string[]>;
86
+ /**
87
+ * Search for actions by category
88
+ */
89
+ getActionsByCategory(category: string, limit?: number): Promise<FlowActionType[]>;
90
+ /**
91
+ * Validate action input configuration
92
+ */
93
+ validateActionInputs(actionTypeId: string, inputs: Record<string, any>): Promise<{
94
+ valid: boolean;
95
+ errors: string[];
96
+ warnings: string[];
97
+ }>;
98
+ /**
99
+ * Suggest action types based on flow context
100
+ */
101
+ suggestActionTypes(flowContext: {
102
+ previousActions: string[];
103
+ targetTable: string;
104
+ flowPurpose: string;
105
+ }): Promise<FlowActionType[]>;
106
+ /**
107
+ * Ensure cache is up to date
108
+ */
109
+ private ensureCache;
110
+ /**
111
+ * Refresh cache from ServiceNow
112
+ */
113
+ private refreshCache;
114
+ /**
115
+ * Fetch action types from ServiceNow
116
+ */
117
+ private fetchActionTypes;
118
+ /**
119
+ * Fetch trigger types from ServiceNow
120
+ */
121
+ private fetchTriggerTypes;
122
+ /**
123
+ * Fetch inputs and outputs for an action type
124
+ */
125
+ private fetchActionTypeInputsOutputs;
126
+ /**
127
+ * Get semantic mappings for common intents
128
+ */
129
+ private getSemanticMappings;
130
+ /**
131
+ * Calculate confidence score for search results
132
+ */
133
+ private calculateConfidenceScore;
134
+ /**
135
+ * Extract context keywords from flow context
136
+ */
137
+ private extractContextKeywords;
138
+ /**
139
+ * Score category relevance
140
+ */
141
+ private scoreCategory;
142
+ /**
143
+ * Score description relevance
144
+ */
145
+ private scoreDescription;
146
+ /**
147
+ * Score compatibility with flow context
148
+ */
149
+ private scoreCompatibility;
150
+ }
151
+ //# sourceMappingURL=flow-api-discovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flow-api-discovery.d.ts","sourceRoot":"","sources":["../../src/utils/flow-api-discovery.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,440 @@
1
+ "use strict";
2
+ /**
3
+ * ServiceNow Flow Designer API Discovery Service
4
+ * Provides dynamic discovery of action types, trigger types, and flow metadata
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.FlowAPIDiscovery = void 0;
8
+ const logger_js_1 = require("./logger.js");
9
+ class FlowAPIDiscovery {
10
+ constructor(client) {
11
+ this.actionTypeCache = new Map();
12
+ this.triggerTypeCache = new Map();
13
+ this.cacheExpiry = 24 * 60 * 60 * 1000; // 24 hours
14
+ this.lastCacheUpdate = 0;
15
+ this.logger = new logger_js_1.Logger('FlowAPIDiscovery');
16
+ this.client = client;
17
+ }
18
+ /**
19
+ * Discover action types based on natural language intent
20
+ */
21
+ async discoverActionTypes(intent, limit = 10) {
22
+ await this.ensureCache();
23
+ const lowerIntent = intent.toLowerCase();
24
+ const exactMatches = [];
25
+ const partialMatches = [];
26
+ const semanticMatches = [];
27
+ // Define semantic mappings for common intents
28
+ const semanticMappings = this.getSemanticMappings();
29
+ for (const [_, actionType] of this.actionTypeCache) {
30
+ const actionName = actionType.name.toLowerCase();
31
+ const actionLabel = actionType.label.toLowerCase();
32
+ const actionDesc = actionType.description?.toLowerCase() || '';
33
+ // Exact match
34
+ if (actionName === lowerIntent || actionLabel === lowerIntent) {
35
+ exactMatches.push(actionType);
36
+ continue;
37
+ }
38
+ // Partial match
39
+ if (actionName.includes(lowerIntent) || actionLabel.includes(lowerIntent) ||
40
+ actionDesc.includes(lowerIntent)) {
41
+ partialMatches.push(actionType);
42
+ continue;
43
+ }
44
+ // Semantic match
45
+ const semanticKeywords = semanticMappings[lowerIntent] || [];
46
+ for (const keyword of semanticKeywords) {
47
+ if (actionName.includes(keyword) || actionLabel.includes(keyword) ||
48
+ actionDesc.includes(keyword)) {
49
+ semanticMatches.push(actionType);
50
+ break;
51
+ }
52
+ }
53
+ }
54
+ // Calculate confidence score
55
+ const totalMatches = exactMatches.length + partialMatches.length + semanticMatches.length;
56
+ const confidenceScore = this.calculateConfidenceScore(exactMatches, partialMatches, semanticMatches);
57
+ return {
58
+ exact_matches: exactMatches.slice(0, limit),
59
+ partial_matches: partialMatches.slice(0, limit),
60
+ semantic_matches: semanticMatches.slice(0, limit),
61
+ confidence_score: confidenceScore
62
+ };
63
+ }
64
+ /**
65
+ * Discover trigger types based on table and operation
66
+ */
67
+ async discoverTriggerTypes(table, operation) {
68
+ await this.ensureCache();
69
+ const results = [];
70
+ const lowerOperation = operation.toLowerCase();
71
+ // Map common operations to trigger types
72
+ const operationMappings = {
73
+ 'create': ['Created', 'Inserted'],
74
+ 'update': ['Updated', 'Modified'],
75
+ 'delete': ['Deleted', 'Removed'],
76
+ 'created_or_updated': ['Created or Updated'],
77
+ 'schedule': ['Scheduled'],
78
+ 'manual': ['Manual']
79
+ };
80
+ const searchTerms = operationMappings[lowerOperation] || [operation];
81
+ for (const [_, triggerType] of this.triggerTypeCache) {
82
+ // Check if trigger supports the table
83
+ if (triggerType.supported_tables.length > 0 &&
84
+ !triggerType.supported_tables.includes(table)) {
85
+ continue;
86
+ }
87
+ // Check if trigger matches the operation
88
+ for (const term of searchTerms) {
89
+ if (triggerType.name.toLowerCase().includes(term.toLowerCase()) ||
90
+ triggerType.label.toLowerCase().includes(term.toLowerCase())) {
91
+ results.push(triggerType);
92
+ break;
93
+ }
94
+ }
95
+ }
96
+ return results.slice(0, 10);
97
+ }
98
+ /**
99
+ * Get detailed action type information including inputs/outputs
100
+ */
101
+ async getActionTypeDetails(actionTypeId) {
102
+ await this.ensureCache();
103
+ const actionType = this.actionTypeCache.get(actionTypeId);
104
+ if (!actionType) {
105
+ return null;
106
+ }
107
+ // If inputs/outputs are not cached, fetch them
108
+ if (actionType.inputs.length === 0 && actionType.outputs.length === 0) {
109
+ await this.fetchActionTypeInputsOutputs(actionType);
110
+ }
111
+ return actionType;
112
+ }
113
+ /**
114
+ * Get all available action categories
115
+ */
116
+ async getActionCategories() {
117
+ await this.ensureCache();
118
+ const categories = new Set();
119
+ for (const [_, actionType] of this.actionTypeCache) {
120
+ if (actionType.category) {
121
+ categories.add(actionType.category);
122
+ }
123
+ }
124
+ return Array.from(categories).sort();
125
+ }
126
+ /**
127
+ * Search for actions by category
128
+ */
129
+ async getActionsByCategory(category, limit = 20) {
130
+ await this.ensureCache();
131
+ const results = [];
132
+ for (const [_, actionType] of this.actionTypeCache) {
133
+ if (actionType.category === category) {
134
+ results.push(actionType);
135
+ }
136
+ }
137
+ return results.slice(0, limit);
138
+ }
139
+ /**
140
+ * Validate action input configuration
141
+ */
142
+ async validateActionInputs(actionTypeId, inputs) {
143
+ const actionType = await this.getActionTypeDetails(actionTypeId);
144
+ if (!actionType) {
145
+ return { valid: false, errors: ['Action type not found'], warnings: [] };
146
+ }
147
+ const errors = [];
148
+ const warnings = [];
149
+ // Check required inputs
150
+ for (const requiredInput of actionType.inputs.filter(i => i.required)) {
151
+ if (!inputs[requiredInput.name]) {
152
+ errors.push(`Required input '${requiredInput.name}' is missing`);
153
+ }
154
+ }
155
+ // Check input types and validation
156
+ for (const [inputName, inputValue] of Object.entries(inputs)) {
157
+ const inputDef = actionType.inputs.find(i => i.name === inputName);
158
+ if (!inputDef) {
159
+ warnings.push(`Input '${inputName}' is not defined for this action type`);
160
+ continue;
161
+ }
162
+ // Basic type validation
163
+ if (inputDef.type === 'boolean' && typeof inputValue !== 'boolean') {
164
+ errors.push(`Input '${inputName}' must be a boolean`);
165
+ }
166
+ else if (inputDef.type === 'number' && typeof inputValue !== 'number') {
167
+ errors.push(`Input '${inputName}' must be a number`);
168
+ }
169
+ // Custom validation if available
170
+ if (inputDef.validation) {
171
+ try {
172
+ const validationRegex = new RegExp(inputDef.validation);
173
+ if (!validationRegex.test(String(inputValue))) {
174
+ errors.push(`Input '${inputName}' does not match validation pattern`);
175
+ }
176
+ }
177
+ catch (e) {
178
+ // Ignore regex errors
179
+ }
180
+ }
181
+ }
182
+ return {
183
+ valid: errors.length === 0,
184
+ errors,
185
+ warnings
186
+ };
187
+ }
188
+ /**
189
+ * Suggest action types based on flow context
190
+ */
191
+ async suggestActionTypes(flowContext) {
192
+ await this.ensureCache();
193
+ const suggestions = [];
194
+ const contextKeywords = this.extractContextKeywords(flowContext);
195
+ // Score actions based on context relevance
196
+ const actionScores = new Map();
197
+ for (const [_, actionType] of this.actionTypeCache) {
198
+ let score = 0;
199
+ // Score based on category relevance
200
+ if (actionType.category) {
201
+ score += this.scoreCategory(actionType.category, flowContext);
202
+ }
203
+ // Score based on description relevance
204
+ if (actionType.description) {
205
+ score += this.scoreDescription(actionType.description, contextKeywords);
206
+ }
207
+ // Score based on input/output compatibility
208
+ score += this.scoreCompatibility(actionType, flowContext);
209
+ if (score > 0) {
210
+ actionScores.set(actionType.sys_id, score);
211
+ suggestions.push(actionType);
212
+ }
213
+ }
214
+ // Sort by score and return top results
215
+ suggestions.sort((a, b) => {
216
+ const scoreA = actionScores.get(a.sys_id) || 0;
217
+ const scoreB = actionScores.get(b.sys_id) || 0;
218
+ return scoreB - scoreA;
219
+ });
220
+ return suggestions.slice(0, 10);
221
+ }
222
+ /**
223
+ * Ensure cache is up to date
224
+ */
225
+ async ensureCache() {
226
+ const now = Date.now();
227
+ if (now - this.lastCacheUpdate > this.cacheExpiry) {
228
+ await this.refreshCache();
229
+ }
230
+ }
231
+ /**
232
+ * Refresh cache from ServiceNow
233
+ */
234
+ async refreshCache() {
235
+ this.logger.info('Refreshing Flow API discovery cache...');
236
+ try {
237
+ // Fetch action types
238
+ await this.fetchActionTypes();
239
+ // Fetch trigger types
240
+ await this.fetchTriggerTypes();
241
+ this.lastCacheUpdate = Date.now();
242
+ this.logger.info('Cache refreshed successfully');
243
+ }
244
+ catch (error) {
245
+ this.logger.error('Failed to refresh cache:', error);
246
+ throw error;
247
+ }
248
+ }
249
+ /**
250
+ * Fetch action types from ServiceNow
251
+ */
252
+ async fetchActionTypes() {
253
+ const response = await this.client.getRecords('sys_hub_action_type_base', {
254
+ sysparm_limit: 1000,
255
+ sysparm_fields: 'sys_id,name,label,description,category,active,script_template,execution_mode,supports_async',
256
+ sysparm_query: 'active=true'
257
+ });
258
+ if (response.success && response.data) {
259
+ this.actionTypeCache.clear();
260
+ for (const actionTypeData of response.data) {
261
+ const actionType = {
262
+ sys_id: actionTypeData.sys_id,
263
+ name: actionTypeData.name,
264
+ label: actionTypeData.label || actionTypeData.name,
265
+ description: actionTypeData.description,
266
+ category: actionTypeData.category || 'uncategorized',
267
+ script_template: actionTypeData.script_template,
268
+ execution_mode: actionTypeData.execution_mode,
269
+ supports_async: actionTypeData.supports_async === 'true',
270
+ inputs: [],
271
+ outputs: []
272
+ };
273
+ this.actionTypeCache.set(actionType.sys_id, actionType);
274
+ }
275
+ this.logger.info(`Cached ${response.data.length} action types`);
276
+ }
277
+ }
278
+ /**
279
+ * Fetch trigger types from ServiceNow
280
+ */
281
+ async fetchTriggerTypes() {
282
+ const response = await this.client.getRecords('sys_hub_trigger_type', {
283
+ sysparm_limit: 100,
284
+ sysparm_fields: 'sys_id,name,label,description,supports_conditions,supported_tables'
285
+ });
286
+ if (response.success && response.data) {
287
+ this.triggerTypeCache.clear();
288
+ for (const triggerTypeData of response.data) {
289
+ const triggerType = {
290
+ sys_id: triggerTypeData.sys_id,
291
+ name: triggerTypeData.name,
292
+ label: triggerTypeData.label || triggerTypeData.name,
293
+ description: triggerTypeData.description,
294
+ supports_conditions: triggerTypeData.supports_conditions === 'true',
295
+ supported_tables: triggerTypeData.supported_tables ?
296
+ triggerTypeData.supported_tables.split(',').map((t) => t.trim()) : [],
297
+ inputs: [],
298
+ outputs: []
299
+ };
300
+ this.triggerTypeCache.set(triggerType.sys_id, triggerType);
301
+ }
302
+ this.logger.info(`Cached ${response.data.length} trigger types`);
303
+ }
304
+ }
305
+ /**
306
+ * Fetch inputs and outputs for an action type
307
+ */
308
+ async fetchActionTypeInputsOutputs(actionType) {
309
+ // Fetch inputs
310
+ const inputsResponse = await this.client.getRecords('sys_hub_action_input', {
311
+ sysparm_query: `action_type=${actionType.sys_id}`,
312
+ sysparm_fields: 'sys_id,name,label,type,required,default_value,description,validation'
313
+ });
314
+ if (inputsResponse.success && inputsResponse.data) {
315
+ actionType.inputs = inputsResponse.data.map((input) => ({
316
+ sys_id: input.sys_id,
317
+ name: input.name,
318
+ label: input.label || input.name,
319
+ type: input.type || 'string',
320
+ required: input.required === 'true',
321
+ default_value: input.default_value,
322
+ description: input.description,
323
+ validation: input.validation
324
+ }));
325
+ }
326
+ // Fetch outputs
327
+ const outputsResponse = await this.client.getRecords('sys_hub_action_output', {
328
+ sysparm_query: `action_type=${actionType.sys_id}`,
329
+ sysparm_fields: 'sys_id,name,label,type,description,sample_value'
330
+ });
331
+ if (outputsResponse.success && outputsResponse.data) {
332
+ actionType.outputs = outputsResponse.data.map((output) => ({
333
+ sys_id: output.sys_id,
334
+ name: output.name,
335
+ label: output.label || output.name,
336
+ type: output.type || 'string',
337
+ description: output.description,
338
+ sample_value: output.sample_value
339
+ }));
340
+ }
341
+ }
342
+ /**
343
+ * Get semantic mappings for common intents
344
+ */
345
+ getSemanticMappings() {
346
+ return {
347
+ 'email': ['send', 'notification', 'message', 'mail'],
348
+ 'notify': ['notification', 'send', 'email', 'alert'],
349
+ 'create': ['insert', 'add', 'new', 'record'],
350
+ 'update': ['modify', 'change', 'edit', 'set'],
351
+ 'delete': ['remove', 'destroy', 'erase'],
352
+ 'approval': ['approve', 'review', 'authorization'],
353
+ 'wait': ['delay', 'pause', 'timer', 'sleep'],
354
+ 'script': ['execute', 'run', 'custom', 'code'],
355
+ 'log': ['write', 'record', 'track', 'audit'],
356
+ 'condition': ['if', 'check', 'validate', 'test'],
357
+ 'loop': ['iterate', 'repeat', 'foreach'],
358
+ 'transform': ['convert', 'map', 'parse', 'format']
359
+ };
360
+ }
361
+ /**
362
+ * Calculate confidence score for search results
363
+ */
364
+ calculateConfidenceScore(exactMatches, partialMatches, semanticMatches) {
365
+ const exactWeight = 1.0;
366
+ const partialWeight = 0.7;
367
+ const semanticWeight = 0.4;
368
+ const totalScore = (exactMatches.length * exactWeight) +
369
+ (partialMatches.length * partialWeight) +
370
+ (semanticMatches.length * semanticWeight);
371
+ const totalPossible = exactMatches.length + partialMatches.length + semanticMatches.length;
372
+ return totalPossible > 0 ? totalScore / totalPossible : 0;
373
+ }
374
+ /**
375
+ * Extract context keywords from flow context
376
+ */
377
+ extractContextKeywords(flowContext) {
378
+ const keywords = [];
379
+ // Extract from previous actions
380
+ for (const action of flowContext.previousActions) {
381
+ keywords.push(...action.toLowerCase().split(/\s+/));
382
+ }
383
+ // Extract from target table
384
+ keywords.push(...flowContext.targetTable.toLowerCase().split('_'));
385
+ // Extract from flow purpose
386
+ keywords.push(...flowContext.flowPurpose.toLowerCase().split(/\s+/));
387
+ return [...new Set(keywords)]; // Remove duplicates
388
+ }
389
+ /**
390
+ * Score category relevance
391
+ */
392
+ scoreCategory(category, flowContext) {
393
+ const categoryKeywords = category.toLowerCase().split(/\s+/);
394
+ const contextKeywords = this.extractContextKeywords(flowContext);
395
+ let score = 0;
396
+ for (const keyword of categoryKeywords) {
397
+ if (contextKeywords.includes(keyword)) {
398
+ score += 0.3;
399
+ }
400
+ }
401
+ return score;
402
+ }
403
+ /**
404
+ * Score description relevance
405
+ */
406
+ scoreDescription(description, contextKeywords) {
407
+ const descriptionKeywords = description.toLowerCase().split(/\s+/);
408
+ let score = 0;
409
+ for (const keyword of contextKeywords) {
410
+ if (descriptionKeywords.includes(keyword)) {
411
+ score += 0.2;
412
+ }
413
+ }
414
+ return score;
415
+ }
416
+ /**
417
+ * Score compatibility with flow context
418
+ */
419
+ scoreCompatibility(actionType, flowContext) {
420
+ let score = 0;
421
+ // Check if action type works with the target table
422
+ const tableInputs = actionType.inputs.filter(i => i.name.toLowerCase().includes('table') ||
423
+ i.name.toLowerCase().includes('record'));
424
+ if (tableInputs.length > 0) {
425
+ score += 0.1;
426
+ }
427
+ // Check if action type fits the flow purpose
428
+ if (actionType.description) {
429
+ const purposeKeywords = flowContext.flowPurpose.toLowerCase().split(/\s+/);
430
+ for (const keyword of purposeKeywords) {
431
+ if (actionType.description.toLowerCase().includes(keyword)) {
432
+ score += 0.1;
433
+ }
434
+ }
435
+ }
436
+ return score;
437
+ }
438
+ }
439
+ exports.FlowAPIDiscovery = FlowAPIDiscovery;
440
+ //# sourceMappingURL=flow-api-discovery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flow-api-discovery.js","sourceRoot":"","sources":["../../src/utils/flow-api-discovery.ts"],"names":[],"mappings":"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"}