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 @@
|
|
|
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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"}
|