snow-flow 3.0.9 → 3.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/claude-flow.bat +0 -0
- package/claude-flow.ps1 +0 -0
- package/dist/mcp/intelligent-reporting-mcp.d.ts +7 -0
- package/dist/mcp/intelligent-reporting-mcp.js +379 -0
- package/dist/mcp/servicenow-automation-mcp.js +0 -0
- package/dist/mcp/servicenow-deployment-mcp.js +0 -0
- package/dist/mcp/servicenow-integration-mcp.js +0 -0
- package/dist/mcp/servicenow-mcp-server.js +0 -0
- package/dist/mcp/servicenow-operations-mcp.js +0 -0
- package/dist/mcp/servicenow-platform-development-mcp.js +0 -0
- package/dist/mcp/servicenow-progressive-indexer.js +0 -0
- package/dist/mcp/servicenow-reporting-analytics-mcp.js +280 -29
- package/dist/mcp/servicenow-security-compliance-mcp.js +0 -0
- package/dist/mcp/servicenow-update-set-mcp.js +0 -0
- package/dist/mcp/start-all-mcp-servers.js +0 -0
- package/dist/mcp/start-servicenow-mcp.js +0 -0
- package/dist/services/widget-deployment-service.d.ts +2 -1
- package/dist/services/widget-deployment-service.js +17 -16
- package/dist/utils/anti-mock-data-validator.d.ts +66 -0
- package/dist/utils/anti-mock-data-validator.js +316 -0
- package/dist/utils/servicenow-eventual-consistency.d.ts +120 -0
- package/dist/utils/servicenow-eventual-consistency.js +220 -0
- package/memory/agents/README.md +1 -1
- package/memory/claude-flow-data.json +1 -1
- package/memory/sessions/README.md +1 -1
- package/package.json +4 -3
- package/.mcp.json +0 -22
- package/claude-flow.config.json +0 -20
- package/dist/agents/app-creator.agent.d.ts +0 -55
- package/dist/agents/app-creator.agent.js +0 -1292
- package/dist/agents/base/base-snow-agent.d.ts +0 -75
- package/dist/agents/base/base-snow-agent.js +0 -169
- package/dist/agents/base-snow-agent.d.ts +0 -63
- package/dist/agents/base-snow-agent.js +0 -296
- package/dist/agents/coordinator.d.ts +0 -200
- package/dist/agents/coordinator.js +0 -777
- package/dist/agents/flow-builder-agent.d.ts +0 -18
- package/dist/agents/flow-builder-agent.js +0 -197
- package/dist/agents/queen-403-handler.d.ts +0 -47
- package/dist/agents/queen-403-handler.js +0 -175
- package/dist/agents/queen-agent-example.d.ts +0 -23
- package/dist/agents/queen-agent-example.js +0 -240
- package/dist/agents/queen-agent.test.d.ts +0 -6
- package/dist/agents/script-generator.agent.d.ts +0 -32
- package/dist/agents/script-generator.agent.js +0 -772
- package/dist/agents/script-writer-agent.d.ts +0 -22
- package/dist/agents/script-writer-agent.js +0 -695
- package/dist/agents/security-agent.d.ts +0 -23
- package/dist/agents/security-agent.js +0 -619
- package/dist/agents/specialists/automation-specialist.agent.d.ts +0 -44
- package/dist/agents/specialists/automation-specialist.agent.js +0 -204
- package/dist/agents/specialists/data-specialist.agent.d.ts +0 -165
- package/dist/agents/specialists/data-specialist.agent.js +0 -484
- package/dist/agents/specialists/integration-specialist.agent.d.ts +0 -227
- package/dist/agents/specialists/integration-specialist.agent.js +0 -725
- package/dist/agents/specialists/reporting-specialist.agent.d.ts +0 -54
- package/dist/agents/specialists/reporting-specialist.agent.js +0 -193
- package/dist/agents/specialists/security-specialist.agent.d.ts +0 -85
- package/dist/agents/specialists/security-specialist.agent.js +0 -309
- package/dist/agents/teams/adaptive/adaptive-coordinator.agent.d.ts +0 -111
- package/dist/agents/teams/adaptive/adaptive-coordinator.agent.js +0 -383
- package/dist/agents/teams/base-team.d.ts +0 -72
- package/dist/agents/teams/base-team.js +0 -253
- package/dist/agents/teams/team-types.d.ts +0 -265
- package/dist/agents/teams/team-types.js +0 -3
- package/dist/agents/teams/widget/widget-architect.agent.d.ts +0 -61
- package/dist/agents/teams/widget/widget-architect.agent.js +0 -436
- package/dist/agents/teams/widget/widget-backend.agent.d.ts +0 -74
- package/dist/agents/teams/widget/widget-backend.agent.js +0 -1531
- package/dist/agents/teams/widget/widget-frontend.agent.d.ts +0 -67
- package/dist/agents/teams/widget/widget-frontend.agent.js +0 -1014
- package/dist/agents/teams/widget/widget-platform.agent.d.ts +0 -90
- package/dist/agents/teams/widget/widget-platform.agent.js +0 -1190
- package/dist/agents/teams/widget/widget-uiux.agent.d.ts +0 -107
- package/dist/agents/teams/widget/widget-uiux.agent.js +0 -1033
- package/dist/agents/test-agent.d.ts +0 -26
- package/dist/agents/test-agent.js +0 -734
- package/dist/agents/test-agents.d.ts +0 -7
- package/dist/agents/test-agents.js +0 -64
- package/dist/agents/ui-builder.agent.d.ts +0 -50
- package/dist/agents/ui-builder.agent.js +0 -1539
- package/dist/agents/widget-builder.agent.d.ts +0 -32
- package/dist/agents/widget-builder.agent.js +0 -439
- package/dist/agents/widget-creator-agent.d.ts +0 -18
- package/dist/agents/widget-creator-agent.js +0 -498
- package/dist/agents/workflow-designer.agent.d.ts +0 -31
- package/dist/agents/workflow-designer.agent.js +0 -583
- package/dist/api/error-handling.d.ts +0 -325
- package/dist/api/error-handling.js +0 -1488
- package/dist/api/flow-designer-api.d.ts +0 -167
- package/dist/api/flow-designer-api.js +0 -554
- package/dist/api/natural-language-mapper.d.ts +0 -124
- package/dist/api/natural-language-mapper.js +0 -501
- package/dist/api/performance-optimizer.d.ts +0 -240
- package/dist/api/performance-optimizer.js +0 -706
- package/dist/api/transaction-manager.d.ts +0 -189
- package/dist/api/transaction-manager.js +0 -576
- package/dist/assembly/team-assembler.d.ts +0 -140
- package/dist/assembly/team-assembler.js +0 -502
- package/dist/benchmark-performance.d.ts +0 -41
- package/dist/benchmark-performance.js +0 -230
- package/dist/cli/snow-flow-cli-integration.d.ts +0 -30
- package/dist/cli/snow-flow-cli-integration.js +0 -396
- package/dist/coordination/coordination-engine.d.ts +0 -41
- package/dist/coordination/coordination-engine.js +0 -324
- package/dist/coordination/coordination.test.d.ts +0 -6
- package/dist/coordination/example.d.ts +0 -31
- package/dist/coordination/example.js +0 -394
- package/dist/coordination/execution-patterns.d.ts +0 -43
- package/dist/coordination/execution-patterns.js +0 -507
- package/dist/coordination/factory.d.ts +0 -94
- package/dist/coordination/factory.js +0 -433
- package/dist/coordination/index.d.ts +0 -71
- package/dist/coordination/index.js +0 -135
- package/dist/coordination/progress-monitor.d.ts +0 -71
- package/dist/coordination/progress-monitor.js +0 -505
- package/dist/coordination/quality-gates.d.ts +0 -124
- package/dist/coordination/quality-gates.js +0 -577
- package/dist/coordination/shared-memory.d.ts +0 -39
- package/dist/coordination/shared-memory.js +0 -289
- package/dist/coordination/task-dependencies.d.ts +0 -50
- package/dist/coordination/task-dependencies.js +0 -407
- package/dist/coordination/team-coordinator.d.ts +0 -59
- package/dist/coordination/team-coordinator.js +0 -550
- package/dist/coordination/types.d.ts +0 -152
- package/dist/coordination/types.js +0 -3
- package/dist/mcp/mcp-wrapper.d.ts +0 -8
- package/dist/mcp/mcp-wrapper.js +0 -77
- package/dist/mcp/servicenow-flow-composer-enhanced.js +0 -396
- package/dist/mcp/servicenow-flow-composer-mcp.d.ts +0 -7
- package/dist/mcp/servicenow-flow-composer-mcp.js +0 -3103
- package/dist/mcp/servicenow-graph-memory-mcp.d.ts +0 -7
- package/dist/mcp/servicenow-intelligent-mcp.d.ts +0 -143
- package/dist/mcp/servicenow-intelligent-mcp.js +0 -4156
- package/dist/mcp/servicenow-xml-flow-mcp.d.ts +0 -53
- package/dist/mcp/servicenow-xml-flow-mcp.js +0 -1704
- package/dist/mcp/singleton-check.js +0 -31
- package/dist/mcp/test-simple-mcp.d.ts +0 -6
- package/dist/mcp/test-simple-mcp.js +0 -63
- package/dist/memory/hierarchical-memory-system.d.ts +0 -90
- package/dist/memory/hierarchical-memory-system.js +0 -400
- package/dist/memory/index.d.ts +0 -9
- package/dist/memory/index.js +0 -20
- package/dist/memory/mcp-integration-example.d.ts +0 -6
- package/dist/memory/mcp-integration-example.js +0 -281
- package/dist/memory/memory-client.d.ts +0 -199
- package/dist/memory/memory-client.js +0 -364
- package/dist/memory/memory-manager.d.ts +0 -29
- package/dist/memory/memory-manager.js +0 -280
- package/dist/memory/memory-operations.d.ts +0 -179
- package/dist/memory/memory-operations.js +0 -691
- package/dist/memory/memory-system.d.ts +0 -153
- package/dist/memory/memory-system.js +0 -651
- package/dist/memory/memory-test.d.ts +0 -6
- package/dist/memory/memory-test.js +0 -161
- package/dist/memory/snow-flow-memory-patterns.d.ts +0 -213
- package/dist/memory/snow-flow-memory-patterns.js +0 -200
- package/dist/memory/snow-memory.d.ts +0 -54
- package/dist/memory/snow-memory.js +0 -301
- package/dist/memory/swarm-memory.d.ts +0 -135
- package/dist/memory/swarm-memory.js +0 -378
- package/dist/optimization/flow-performance-optimizer.js +0 -723
- package/dist/orchestration/discovery/service-discovery.d.ts +0 -81
- package/dist/orchestration/discovery/service-discovery.js +0 -808
- package/dist/orchestration/distributed-orchestrator.d.ts +0 -131
- package/dist/orchestration/distributed-orchestrator.js +0 -712
- package/dist/orchestration/distribution/task-distribution-engine.d.ts +0 -53
- package/dist/orchestration/distribution/task-distribution-engine.js +0 -586
- package/dist/orchestration/flow-update-orchestrator.js +0 -648
- package/dist/orchestration/interfaces/distributed-orchestration.interface.d.ts +0 -606
- package/dist/orchestration/interfaces/distributed-orchestration.interface.js +0 -65
- package/dist/orchestration/protocols/mcpx-protocol.d.ts +0 -71
- package/dist/orchestration/protocols/mcpx-protocol.js +0 -668
- package/dist/orchestration/state/distributed-state-manager.d.ts +0 -89
- package/dist/orchestration/state/distributed-state-manager.js +0 -716
- package/dist/orchestrator/flow-composer.d.ts +0 -105
- package/dist/orchestrator/flow-composer.js +0 -404
- package/dist/orchestrator/flow-pattern-templates.d.ts +0 -260
- package/dist/orchestrator/flow-pattern-templates.js +0 -908
- package/dist/orchestrator/flow-subflow-decision-engine.d.ts +0 -202
- package/dist/orchestrator/flow-subflow-decision-engine.js +0 -769
- package/dist/orchestrator/flow-validation-engine.d.ts +0 -169
- package/dist/orchestrator/flow-validation-engine.js +0 -913
- package/dist/orchestrator/snow-orchestrator.d.ts +0 -49
- package/dist/orchestrator/snow-orchestrator.js +0 -235
- package/dist/orchestrator/subflow-creation-handler.d.ts +0 -230
- package/dist/orchestrator/subflow-creation-handler.js +0 -791
- package/dist/patterns/adaptive-patterns.d.ts +0 -140
- package/dist/patterns/adaptive-patterns.js +0 -549
- package/dist/queen/advanced-integration-test.d.ts +0 -48
- package/dist/queen/advanced-integration-test.js +0 -473
- package/dist/queen/integration-example.d.ts +0 -82
- package/dist/queen/integration-example.js +0 -219
- package/dist/queen/integration-test.d.ts +0 -72
- package/dist/queen/integration-test.js +0 -563
- package/dist/queen/mock-mcp-client.d.ts +0 -71
- package/dist/queen/mock-mcp-client.js +0 -317
- package/dist/queen/run-integration-tests.d.ts +0 -9
- package/dist/queen/run-integration-tests.js +0 -27
- package/dist/sparc/coordinators/adaptive-coordinator.d.ts +0 -54
- package/dist/sparc/coordinators/adaptive-coordinator.js +0 -367
- package/dist/sparc/coordinators/team-coordinator.d.ts +0 -66
- package/dist/sparc/coordinators/team-coordinator.js +0 -402
- package/dist/sparc/modes/team-modes.d.ts +0 -33
- package/dist/sparc/modes/team-modes.js +0 -399
- package/dist/sparc/teams/application-team.d.ts +0 -73
- package/dist/sparc/teams/application-team.js +0 -463
- package/dist/sparc/teams/flow-team.d.ts +0 -67
- package/dist/sparc/teams/flow-team.js +0 -373
- package/dist/sparc/teams/widget-team.d.ts +0 -61
- package/dist/sparc/teams/widget-team.js +0 -280
- package/dist/specialists/app-specialists.d.ts +0 -93
- package/dist/specialists/app-specialists.js +0 -1639
- package/dist/specialists/base-specialist.d.ts +0 -19
- package/dist/specialists/base-specialist.js +0 -54
- package/dist/specialists/flow-specialists.d.ts +0 -113
- package/dist/specialists/flow-specialists.js +0 -1787
- package/dist/specialists/individual-specialists.d.ts +0 -67
- package/dist/specialists/individual-specialists.js +0 -632
- package/dist/specialists/widget-specialists.d.ts +0 -70
- package/dist/specialists/widget-specialists.js +0 -1264
- package/dist/src/utils/agent-detector.js +0 -655
- package/dist/teams/adaptive-team.d.ts +0 -81
- package/dist/teams/adaptive-team.js +0 -1153
- package/dist/teams/application-team.d.ts +0 -30
- package/dist/teams/application-team.js +0 -547
- package/dist/teams/base-team.d.ts +0 -55
- package/dist/teams/base-team.js +0 -243
- package/dist/teams/flow-team.d.ts +0 -28
- package/dist/teams/flow-team.js +0 -525
- package/dist/teams/widget-team.d.ts +0 -26
- package/dist/teams/widget-team.js +0 -459
- package/dist/templates/flow-template-system.js +0 -625
- package/dist/test-fetch-incidents.d.ts +0 -2
- package/dist/test-fetch-incidents.js +0 -84
- package/dist/test-incident-access.d.ts +0 -2
- package/dist/test-incident-access.js +0 -72
- package/dist/test-iphone-flow.js +0 -189
- package/dist/test-limit-problem.d.ts +0 -2
- package/dist/test-limit-problem.js +0 -60
- package/dist/test-ml-batch-fix.d.ts +0 -2
- package/dist/test-ml-batch-fix.js +0 -104
- package/dist/test-ml-batch.d.ts +0 -2
- package/dist/test-ml-batch.js +0 -87
- package/dist/test-ml-query.d.ts +0 -2
- package/dist/test-ml-query.js +0 -100
- package/dist/test-ml-training-fix.d.ts +0 -12
- package/dist/test-ml-training-fix.js +0 -113
- package/dist/test-ml-training.d.ts +0 -2
- package/dist/test-ml-training.js +0 -32
- package/dist/test-operations-query.d.ts +0 -2
- package/dist/test-operations-query.js +0 -84
- package/dist/test-performance-query.d.ts +0 -2
- package/dist/test-performance-query.js +0 -52
- package/dist/test-singleton-protection.d.ts +0 -8
- package/dist/test-singleton-protection.js +0 -110
- package/dist/test-smart-limits.d.ts +0 -13
- package/dist/test-smart-limits.js +0 -100
- package/dist/test-snow-query-incidents.d.ts +0 -2
- package/dist/test-snow-query-incidents.js +0 -66
- package/dist/test-universal-query.d.ts +0 -2
- package/dist/test-universal-query.js +0 -106
- package/dist/testing/flow-testing-automation.js +0 -641
- package/dist/utils/complete-flow-xml-generator.js +0 -1285
- package/dist/utils/file-storage-fallback.d.ts +0 -62
- package/dist/utils/file-storage-fallback.js +0 -289
- package/dist/utils/flow-api-discovery.d.ts +0 -151
- package/dist/utils/flow-api-discovery.js +0 -439
- package/dist/utils/flow-examples.js +0 -720
- package/dist/utils/flow-structure-builder.js +0 -677
- package/dist/utils/flow-xml-generator.d.ts +0 -41
- package/dist/utils/flow-xml-generator.js +0 -258
- package/dist/utils/improved-flow-xml-generator.js +0 -820
- package/dist/utils/mcp-process-manager.backup.d.ts +0 -58
- package/dist/utils/mcp-process-manager.backup.js +0 -220
- package/dist/utils/mcp-singleton-enforcer.d.ts +0 -36
- package/dist/utils/mcp-singleton-enforcer.js +0 -201
- package/dist/utils/mcp-timeout-fix.d.ts +0 -53
- package/dist/utils/mcp-timeout-fix.js +0 -221
- package/dist/utils/migrate-claude-flow.d.ts +0 -22
- package/dist/utils/migrate-claude-flow.js +0 -120
- package/dist/utils/scope-utils.d.ts +0 -72
- package/dist/utils/scope-utils.js +0 -386
- package/dist/utils/snow-oauth-old.d.ts +0 -65
- package/dist/utils/snow-oauth-old.js +0 -345
- package/dist/utils/xml-first-flow-generator.js +0 -513
- package/memory/servicenow_artifacts/000d9224c895221055906c7518aa2d3d.json +0 -30
- package/memory/servicenow_artifacts/0196b66173303010e46b4a2214f6a7a2.json +0 -36
- package/memory/servicenow_artifacts/125e5d1d837e2a102a7ea130ceaad397.json +0 -30
- package/memory/servicenow_artifacts/7637c1f2b7112210a5e5911cde11a972.json +0 -30
- package/memory/servicenow_artifacts/default_documentation_tables_1754056582292.json +0 -55
- package/memory/servicenow_artifacts/default_documentation_tables_1754057477189.json +0 -55
- package/memory/update-set-sessions/01f82af583faea102a7ea130ceaad3d4.json +0 -9
- package/memory/update-set-sessions/27718fb983faea102a7ea130ceaad34b.json +0 -9
- package/memory/update-set-sessions/412e9bf6833e22502a7ea130ceaad30a.json +0 -8
- package/memory/update-set-sessions/66fc5a79837aea102a7ea130ceaad3ab.json +0 -9
- package/memory/update-set-sessions/71a30ff5837eea102a7ea130ceaad37f.json +0 -9
- package/memory/update-set-sessions/74fba27983faea102a7ea130ceaad3bd.json +0 -9
- package/memory/update-set-sessions/a0b147b5837eea102a7ea130ceaad344.json +0 -58
- package/memory/update-set-sessions/b13f5eb983baea102a7ea130ceaad33e.json +0 -9
- package/reports/swarm-auto-centralized-1752649029776.json +0 -13
- package/src/memory/README.md +0 -240
|
@@ -1,554 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* ServiceNow Flow Designer API Integration
|
|
4
|
-
* Complete API integration architecture for flow creation and management
|
|
5
|
-
*/
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.FlowDesignerAPI = void 0;
|
|
8
|
-
const flow_api_discovery_js_1 = require("../utils/flow-api-discovery.js");
|
|
9
|
-
const logger_js_1 = require("../utils/logger.js");
|
|
10
|
-
class FlowDesignerAPI {
|
|
11
|
-
constructor(client) {
|
|
12
|
-
this.rollbackStack = [];
|
|
13
|
-
this.client = client;
|
|
14
|
-
this.discovery = new flow_api_discovery_js_1.FlowAPIDiscovery(client);
|
|
15
|
-
this.logger = new logger_js_1.Logger('FlowDesignerAPI');
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Create a complete flow with all components
|
|
19
|
-
*/
|
|
20
|
-
async createFlow(flowDefinition) {
|
|
21
|
-
this.logger.info('Creating flow with API integration', { name: flowDefinition.name });
|
|
22
|
-
// Clear rollback stack
|
|
23
|
-
this.rollbackStack = [];
|
|
24
|
-
try {
|
|
25
|
-
// 1. Validate flow definition
|
|
26
|
-
const validation = await this.validateFlowDefinition(flowDefinition);
|
|
27
|
-
if (!validation.valid) {
|
|
28
|
-
return {
|
|
29
|
-
success: false,
|
|
30
|
-
validation_errors: validation.errors,
|
|
31
|
-
warnings: validation.warnings,
|
|
32
|
-
created_components: this.getEmptyComponents()
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
// 2. Create main flow record
|
|
36
|
-
const flowResult = await this.createMainFlow(flowDefinition);
|
|
37
|
-
if (!flowResult.success) {
|
|
38
|
-
return {
|
|
39
|
-
success: false,
|
|
40
|
-
validation_errors: [flowResult.error || 'Failed to create flow'],
|
|
41
|
-
warnings: [],
|
|
42
|
-
created_components: this.getEmptyComponents()
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
const flowId = flowResult.data.sys_id;
|
|
46
|
-
const createdComponents = this.getEmptyComponents();
|
|
47
|
-
createdComponents.flow = true;
|
|
48
|
-
// 3. Create trigger
|
|
49
|
-
if (flowDefinition.trigger) {
|
|
50
|
-
const triggerResult = await this.createFlowTrigger(flowId, flowDefinition.trigger);
|
|
51
|
-
if (triggerResult.success) {
|
|
52
|
-
createdComponents.trigger = true;
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
this.logger.warn('Failed to create trigger:', triggerResult.error);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
// 4. Create variables
|
|
59
|
-
for (const variable of flowDefinition.variables) {
|
|
60
|
-
const varResult = await this.createFlowVariable(flowId, variable);
|
|
61
|
-
if (varResult.success) {
|
|
62
|
-
createdComponents.variables++;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
// 5. Create actions
|
|
66
|
-
for (const action of flowDefinition.actions) {
|
|
67
|
-
const actionResult = await this.createFlowAction(flowId, action);
|
|
68
|
-
if (actionResult.success) {
|
|
69
|
-
createdComponents.actions++;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
// 6. Create connections
|
|
73
|
-
for (const connection of flowDefinition.connections) {
|
|
74
|
-
const connResult = await this.createFlowConnection(flowId, connection);
|
|
75
|
-
if (connResult.success) {
|
|
76
|
-
createdComponents.connections++;
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
// 7. Create error handling
|
|
80
|
-
for (const errorHandler of flowDefinition.error_handling) {
|
|
81
|
-
await this.createFlowErrorHandling(flowId, errorHandler);
|
|
82
|
-
}
|
|
83
|
-
const credentials = this.client.credentialsInstance;
|
|
84
|
-
const flowUrl = `https://${credentials?.instance}/flow-designer/flow/${flowId}`;
|
|
85
|
-
return {
|
|
86
|
-
success: true,
|
|
87
|
-
flow_id: flowId,
|
|
88
|
-
flow_url: flowUrl,
|
|
89
|
-
warnings: validation.warnings,
|
|
90
|
-
created_components: createdComponents
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
catch (error) {
|
|
94
|
-
this.logger.error('Flow creation failed:', error);
|
|
95
|
-
// Attempt rollback
|
|
96
|
-
await this.rollbackChanges();
|
|
97
|
-
return {
|
|
98
|
-
success: false,
|
|
99
|
-
validation_errors: [error instanceof Error ? error.message : String(error)],
|
|
100
|
-
warnings: [],
|
|
101
|
-
created_components: this.getEmptyComponents()
|
|
102
|
-
};
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* Validate flow definition before creation
|
|
107
|
-
*/
|
|
108
|
-
async validateFlowDefinition(flowDefinition) {
|
|
109
|
-
const errors = [];
|
|
110
|
-
const warnings = [];
|
|
111
|
-
const suggestions = [];
|
|
112
|
-
// Basic validation
|
|
113
|
-
if (!flowDefinition.name || !flowDefinition.name.trim()) {
|
|
114
|
-
errors.push('Flow name is required');
|
|
115
|
-
}
|
|
116
|
-
if (!flowDefinition.table || !flowDefinition.table.trim()) {
|
|
117
|
-
errors.push('Target table is required');
|
|
118
|
-
}
|
|
119
|
-
if (!flowDefinition.trigger) {
|
|
120
|
-
errors.push('Flow trigger is required');
|
|
121
|
-
}
|
|
122
|
-
if (flowDefinition.actions.length === 0) {
|
|
123
|
-
warnings.push('Flow has no actions defined');
|
|
124
|
-
}
|
|
125
|
-
// Validate trigger
|
|
126
|
-
if (flowDefinition.trigger) {
|
|
127
|
-
const triggerTypes = await this.discovery.discoverTriggerTypes(flowDefinition.table, flowDefinition.trigger.type);
|
|
128
|
-
if (triggerTypes.length === 0) {
|
|
129
|
-
errors.push(`No trigger type found for '${flowDefinition.trigger.type}' on table '${flowDefinition.table}'`);
|
|
130
|
-
}
|
|
131
|
-
else if (triggerTypes.length > 1) {
|
|
132
|
-
suggestions.push(`Multiple trigger types found for '${flowDefinition.trigger.type}'. Using: ${triggerTypes[0].name}`);
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
// Validate actions
|
|
136
|
-
for (const action of flowDefinition.actions) {
|
|
137
|
-
if (!action.action_type_id) {
|
|
138
|
-
const actionTypes = await this.discovery.discoverActionTypes(action.type);
|
|
139
|
-
if (actionTypes.exact_matches.length === 0 && actionTypes.partial_matches.length === 0) {
|
|
140
|
-
errors.push(`No action type found for '${action.type}'`);
|
|
141
|
-
}
|
|
142
|
-
else if (actionTypes.confidence_score < 0.5) {
|
|
143
|
-
warnings.push(`Low confidence match for action '${action.type}'`);
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
else {
|
|
147
|
-
// Validate action inputs
|
|
148
|
-
const validation = await this.discovery.validateActionInputs(action.action_type_id, action.inputs);
|
|
149
|
-
if (!validation.valid) {
|
|
150
|
-
errors.push(...validation.errors.map(e => `Action '${action.name}': ${e}`));
|
|
151
|
-
}
|
|
152
|
-
warnings.push(...validation.warnings.map(w => `Action '${action.name}': ${w}`));
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
// Validate connections
|
|
156
|
-
const actionIds = new Set(flowDefinition.actions.map(a => a.name));
|
|
157
|
-
for (const connection of flowDefinition.connections) {
|
|
158
|
-
if (!actionIds.has(connection.from_step) && connection.from_step !== 'trigger') {
|
|
159
|
-
errors.push(`Connection from_step '${connection.from_step}' does not exist`);
|
|
160
|
-
}
|
|
161
|
-
if (!actionIds.has(connection.to_step) && connection.to_step !== 'end') {
|
|
162
|
-
errors.push(`Connection to_step '${connection.to_step}' does not exist`);
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
return {
|
|
166
|
-
valid: errors.length === 0,
|
|
167
|
-
errors,
|
|
168
|
-
warnings,
|
|
169
|
-
suggestions
|
|
170
|
-
};
|
|
171
|
-
}
|
|
172
|
-
/**
|
|
173
|
-
* Create main flow record
|
|
174
|
-
*/
|
|
175
|
-
async createMainFlow(flowDefinition) {
|
|
176
|
-
const flowData = {
|
|
177
|
-
name: flowDefinition.name,
|
|
178
|
-
internal_name: flowDefinition.internal_name,
|
|
179
|
-
description: flowDefinition.description,
|
|
180
|
-
active: flowDefinition.active,
|
|
181
|
-
category: flowDefinition.category,
|
|
182
|
-
run_as: flowDefinition.run_as,
|
|
183
|
-
sys_class_name: 'sys_hub_flow',
|
|
184
|
-
type: 'flow',
|
|
185
|
-
status: 'published',
|
|
186
|
-
access: 'public'
|
|
187
|
-
};
|
|
188
|
-
const result = await this.client.createRecord('sys_hub_flow', flowData);
|
|
189
|
-
if (result.success) {
|
|
190
|
-
this.addToRollbackStack({
|
|
191
|
-
type: 'delete_record',
|
|
192
|
-
table: 'sys_hub_flow',
|
|
193
|
-
sys_id: result.data.sys_id
|
|
194
|
-
});
|
|
195
|
-
}
|
|
196
|
-
return result;
|
|
197
|
-
}
|
|
198
|
-
/**
|
|
199
|
-
* Create flow trigger
|
|
200
|
-
*/
|
|
201
|
-
async createFlowTrigger(flowId, triggerDef) {
|
|
202
|
-
// Discover trigger type
|
|
203
|
-
const triggerTypes = await this.discovery.discoverTriggerTypes(triggerDef.table, triggerDef.type);
|
|
204
|
-
if (triggerTypes.length === 0) {
|
|
205
|
-
throw new Error(`No trigger type found for '${triggerDef.type}' on table '${triggerDef.table}'`);
|
|
206
|
-
}
|
|
207
|
-
const triggerType = triggerTypes[0];
|
|
208
|
-
const triggerData = {
|
|
209
|
-
flow: flowId,
|
|
210
|
-
trigger_type: triggerType.sys_id,
|
|
211
|
-
table_name: triggerDef.table,
|
|
212
|
-
condition: triggerDef.condition || '',
|
|
213
|
-
active: triggerDef.active,
|
|
214
|
-
order: triggerDef.order,
|
|
215
|
-
inputs: JSON.stringify(triggerDef.inputs)
|
|
216
|
-
};
|
|
217
|
-
const result = await this.client.createRecord('sys_hub_trigger_instance', triggerData);
|
|
218
|
-
if (result.success) {
|
|
219
|
-
this.addToRollbackStack({
|
|
220
|
-
type: 'delete_record',
|
|
221
|
-
table: 'sys_hub_trigger_instance',
|
|
222
|
-
sys_id: result.data.sys_id
|
|
223
|
-
});
|
|
224
|
-
}
|
|
225
|
-
return result;
|
|
226
|
-
}
|
|
227
|
-
/**
|
|
228
|
-
* Create flow action
|
|
229
|
-
*/
|
|
230
|
-
async createFlowAction(flowId, actionDef) {
|
|
231
|
-
let actionTypeId = actionDef.action_type_id;
|
|
232
|
-
// Discover action type if not provided
|
|
233
|
-
if (!actionTypeId) {
|
|
234
|
-
const actionTypes = await this.discovery.discoverActionTypes(actionDef.type);
|
|
235
|
-
if (actionTypes.exact_matches.length > 0) {
|
|
236
|
-
actionTypeId = actionTypes.exact_matches[0].sys_id;
|
|
237
|
-
}
|
|
238
|
-
else if (actionTypes.partial_matches.length > 0) {
|
|
239
|
-
actionTypeId = actionTypes.partial_matches[0].sys_id;
|
|
240
|
-
}
|
|
241
|
-
else {
|
|
242
|
-
throw new Error(`No action type found for '${actionDef.type}'`);
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
const actionData = {
|
|
246
|
-
flow: flowId,
|
|
247
|
-
action_name: actionDef.name,
|
|
248
|
-
action_type: actionTypeId,
|
|
249
|
-
order: actionDef.order,
|
|
250
|
-
active: actionDef.active,
|
|
251
|
-
inputs: JSON.stringify(actionDef.inputs),
|
|
252
|
-
outputs: JSON.stringify(actionDef.outputs),
|
|
253
|
-
on_error: JSON.stringify(actionDef.on_error)
|
|
254
|
-
};
|
|
255
|
-
const result = await this.client.createRecord('sys_hub_action_instance', actionData);
|
|
256
|
-
if (result.success) {
|
|
257
|
-
this.addToRollbackStack({
|
|
258
|
-
type: 'delete_record',
|
|
259
|
-
table: 'sys_hub_action_instance',
|
|
260
|
-
sys_id: result.data.sys_id
|
|
261
|
-
});
|
|
262
|
-
}
|
|
263
|
-
return result;
|
|
264
|
-
}
|
|
265
|
-
/**
|
|
266
|
-
* Create flow variable
|
|
267
|
-
*/
|
|
268
|
-
async createFlowVariable(flowId, variableDef) {
|
|
269
|
-
const variableData = {
|
|
270
|
-
flow: flowId,
|
|
271
|
-
name: variableDef.name,
|
|
272
|
-
type: variableDef.type,
|
|
273
|
-
default_value: variableDef.default_value,
|
|
274
|
-
description: variableDef.description,
|
|
275
|
-
scope: variableDef.scope
|
|
276
|
-
};
|
|
277
|
-
const result = await this.client.createRecord('sys_hub_flow_variable', variableData);
|
|
278
|
-
if (result.success) {
|
|
279
|
-
this.addToRollbackStack({
|
|
280
|
-
type: 'delete_record',
|
|
281
|
-
table: 'sys_hub_flow_variable',
|
|
282
|
-
sys_id: result.data.sys_id
|
|
283
|
-
});
|
|
284
|
-
}
|
|
285
|
-
return result;
|
|
286
|
-
}
|
|
287
|
-
/**
|
|
288
|
-
* Create flow connection
|
|
289
|
-
*/
|
|
290
|
-
async createFlowConnection(flowId, connectionDef) {
|
|
291
|
-
const connectionData = {
|
|
292
|
-
flow: flowId,
|
|
293
|
-
from_step: connectionDef.from_step,
|
|
294
|
-
to_step: connectionDef.to_step,
|
|
295
|
-
condition: connectionDef.condition,
|
|
296
|
-
label: connectionDef.label
|
|
297
|
-
};
|
|
298
|
-
const result = await this.client.createRecord('sys_hub_flow_logic', connectionData);
|
|
299
|
-
if (result.success) {
|
|
300
|
-
this.addToRollbackStack({
|
|
301
|
-
type: 'delete_record',
|
|
302
|
-
table: 'sys_hub_flow_logic',
|
|
303
|
-
sys_id: result.data.sys_id
|
|
304
|
-
});
|
|
305
|
-
}
|
|
306
|
-
return result;
|
|
307
|
-
}
|
|
308
|
-
/**
|
|
309
|
-
* Create flow error handling
|
|
310
|
-
*/
|
|
311
|
-
async createFlowErrorHandling(flowId, errorDef) {
|
|
312
|
-
const errorData = {
|
|
313
|
-
flow: flowId,
|
|
314
|
-
step: errorDef.step,
|
|
315
|
-
error_type: errorDef.error_type,
|
|
316
|
-
action: JSON.stringify(errorDef.action),
|
|
317
|
-
retry_count: errorDef.retry_count,
|
|
318
|
-
retry_delay: errorDef.retry_delay
|
|
319
|
-
};
|
|
320
|
-
const result = await this.client.createRecord('sys_hub_flow_error_handling', errorData);
|
|
321
|
-
if (result.success) {
|
|
322
|
-
this.addToRollbackStack({
|
|
323
|
-
type: 'delete_record',
|
|
324
|
-
table: 'sys_hub_flow_error_handling',
|
|
325
|
-
sys_id: result.data.sys_id
|
|
326
|
-
});
|
|
327
|
-
}
|
|
328
|
-
return result;
|
|
329
|
-
}
|
|
330
|
-
/**
|
|
331
|
-
* Test flow execution
|
|
332
|
-
*/
|
|
333
|
-
async testFlow(flowId, testData) {
|
|
334
|
-
try {
|
|
335
|
-
const testResult = await this.client.createRecord('sys_hub_flow_test', {
|
|
336
|
-
flow: flowId,
|
|
337
|
-
test_data: JSON.stringify(testData),
|
|
338
|
-
execute: true
|
|
339
|
-
});
|
|
340
|
-
if (testResult.success) {
|
|
341
|
-
return {
|
|
342
|
-
success: true,
|
|
343
|
-
execution_id: testResult.data.sys_id,
|
|
344
|
-
results: testResult.data.results
|
|
345
|
-
};
|
|
346
|
-
}
|
|
347
|
-
else {
|
|
348
|
-
return {
|
|
349
|
-
success: false,
|
|
350
|
-
errors: [testResult.error || 'Test execution failed']
|
|
351
|
-
};
|
|
352
|
-
}
|
|
353
|
-
}
|
|
354
|
-
catch (error) {
|
|
355
|
-
return {
|
|
356
|
-
success: false,
|
|
357
|
-
errors: [error instanceof Error ? error.message : String(error)]
|
|
358
|
-
};
|
|
359
|
-
}
|
|
360
|
-
}
|
|
361
|
-
/**
|
|
362
|
-
* Get flow execution history
|
|
363
|
-
*/
|
|
364
|
-
async getFlowExecutionHistory(flowId, limit = 50) {
|
|
365
|
-
try {
|
|
366
|
-
const result = await this.client.getRecords('sys_hub_flow_execution', {
|
|
367
|
-
sysparm_query: `flow=${flowId}`,
|
|
368
|
-
sysparm_orderby: 'sys_created_on^DESC',
|
|
369
|
-
sysparm_limit: limit
|
|
370
|
-
});
|
|
371
|
-
return {
|
|
372
|
-
success: result.success,
|
|
373
|
-
executions: result.data,
|
|
374
|
-
error: result.error
|
|
375
|
-
};
|
|
376
|
-
}
|
|
377
|
-
catch (error) {
|
|
378
|
-
return {
|
|
379
|
-
success: false,
|
|
380
|
-
error: error instanceof Error ? error.message : String(error)
|
|
381
|
-
};
|
|
382
|
-
}
|
|
383
|
-
}
|
|
384
|
-
/**
|
|
385
|
-
* Update flow status
|
|
386
|
-
*/
|
|
387
|
-
async updateFlowStatus(flowId, active) {
|
|
388
|
-
try {
|
|
389
|
-
const result = await this.client.updateRecord('sys_hub_flow', flowId, {
|
|
390
|
-
active: active
|
|
391
|
-
});
|
|
392
|
-
return {
|
|
393
|
-
success: result.success,
|
|
394
|
-
error: result.error
|
|
395
|
-
};
|
|
396
|
-
}
|
|
397
|
-
catch (error) {
|
|
398
|
-
return {
|
|
399
|
-
success: false,
|
|
400
|
-
error: error instanceof Error ? error.message : String(error)
|
|
401
|
-
};
|
|
402
|
-
}
|
|
403
|
-
}
|
|
404
|
-
/**
|
|
405
|
-
* Clone existing flow
|
|
406
|
-
*/
|
|
407
|
-
async cloneFlow(sourceFlowId, newName) {
|
|
408
|
-
try {
|
|
409
|
-
// Get source flow details
|
|
410
|
-
const sourceFlow = await this.client.getRecord('sys_hub_flow', sourceFlowId);
|
|
411
|
-
if (!sourceFlow) {
|
|
412
|
-
throw new Error('Source flow not found');
|
|
413
|
-
}
|
|
414
|
-
// Create new flow definition based on source
|
|
415
|
-
const flowDefinition = {
|
|
416
|
-
name: newName,
|
|
417
|
-
internal_name: this.sanitizeInternalName(newName),
|
|
418
|
-
description: `Clone of ${sourceFlow.name}`,
|
|
419
|
-
table: sourceFlow.table || 'task',
|
|
420
|
-
active: false, // Start inactive
|
|
421
|
-
category: sourceFlow.category || 'custom',
|
|
422
|
-
run_as: sourceFlow.run_as || 'user_who_triggers',
|
|
423
|
-
trigger: {
|
|
424
|
-
type: 'record_created',
|
|
425
|
-
table: sourceFlow.table || 'task',
|
|
426
|
-
active: true,
|
|
427
|
-
order: 0,
|
|
428
|
-
inputs: {}
|
|
429
|
-
},
|
|
430
|
-
actions: [],
|
|
431
|
-
variables: [],
|
|
432
|
-
connections: [],
|
|
433
|
-
error_handling: []
|
|
434
|
-
};
|
|
435
|
-
// Get source flow components
|
|
436
|
-
const [triggers, actions, variables, connections] = await Promise.all([
|
|
437
|
-
this.client.getRecords('sys_hub_trigger_instance', {
|
|
438
|
-
sysparm_query: `flow=${sourceFlowId}`
|
|
439
|
-
}),
|
|
440
|
-
this.client.getRecords('sys_hub_action_instance', {
|
|
441
|
-
sysparm_query: `flow=${sourceFlowId}`
|
|
442
|
-
}),
|
|
443
|
-
this.client.getRecords('sys_hub_flow_variable', {
|
|
444
|
-
sysparm_query: `flow=${sourceFlowId}`
|
|
445
|
-
}),
|
|
446
|
-
this.client.getRecords('sys_hub_flow_logic', {
|
|
447
|
-
sysparm_query: `flow=${sourceFlowId}`
|
|
448
|
-
})
|
|
449
|
-
]);
|
|
450
|
-
// Copy components to new flow definition
|
|
451
|
-
if (triggers.success && triggers.data.length > 0) {
|
|
452
|
-
const trigger = triggers.data[0];
|
|
453
|
-
flowDefinition.trigger = {
|
|
454
|
-
type: trigger.trigger_type,
|
|
455
|
-
table: trigger.table_name,
|
|
456
|
-
condition: trigger.condition,
|
|
457
|
-
active: trigger.active,
|
|
458
|
-
order: trigger.order,
|
|
459
|
-
inputs: JSON.parse(trigger.inputs || '{}')
|
|
460
|
-
};
|
|
461
|
-
}
|
|
462
|
-
if (actions.success && actions.data) {
|
|
463
|
-
flowDefinition.actions = actions.data.map((action) => ({
|
|
464
|
-
name: action.action_name,
|
|
465
|
-
type: action.action_type,
|
|
466
|
-
action_type_id: action.action_type,
|
|
467
|
-
order: action.order,
|
|
468
|
-
active: action.active,
|
|
469
|
-
inputs: JSON.parse(action.inputs || '{}'),
|
|
470
|
-
outputs: JSON.parse(action.outputs || '{}'),
|
|
471
|
-
on_error: JSON.parse(action.on_error || '{"type": "stop"}')
|
|
472
|
-
}));
|
|
473
|
-
}
|
|
474
|
-
if (variables.success && variables.data) {
|
|
475
|
-
flowDefinition.variables = variables.data.map((variable) => ({
|
|
476
|
-
name: variable.name,
|
|
477
|
-
type: variable.type,
|
|
478
|
-
default_value: variable.default_value,
|
|
479
|
-
description: variable.description,
|
|
480
|
-
scope: variable.scope
|
|
481
|
-
}));
|
|
482
|
-
}
|
|
483
|
-
if (connections.success && connections.data) {
|
|
484
|
-
flowDefinition.connections = connections.data.map((connection) => ({
|
|
485
|
-
from_step: connection.from_step,
|
|
486
|
-
to_step: connection.to_step,
|
|
487
|
-
condition: connection.condition,
|
|
488
|
-
label: connection.label
|
|
489
|
-
}));
|
|
490
|
-
}
|
|
491
|
-
// Create the cloned flow
|
|
492
|
-
return await this.createFlow(flowDefinition);
|
|
493
|
-
}
|
|
494
|
-
catch (error) {
|
|
495
|
-
return {
|
|
496
|
-
success: false,
|
|
497
|
-
validation_errors: [error instanceof Error ? error.message : String(error)],
|
|
498
|
-
warnings: [],
|
|
499
|
-
created_components: this.getEmptyComponents()
|
|
500
|
-
};
|
|
501
|
-
}
|
|
502
|
-
}
|
|
503
|
-
/**
|
|
504
|
-
* Add action to rollback stack
|
|
505
|
-
*/
|
|
506
|
-
addToRollbackStack(action) {
|
|
507
|
-
this.rollbackStack.push(action);
|
|
508
|
-
}
|
|
509
|
-
/**
|
|
510
|
-
* Rollback all changes
|
|
511
|
-
*/
|
|
512
|
-
async rollbackChanges() {
|
|
513
|
-
this.logger.warn('Rolling back flow creation changes...');
|
|
514
|
-
// Rollback in reverse order
|
|
515
|
-
for (const action of this.rollbackStack.reverse()) {
|
|
516
|
-
try {
|
|
517
|
-
switch (action.type) {
|
|
518
|
-
case 'delete_record':
|
|
519
|
-
await this.client.deleteRecord(action.table, action.sys_id);
|
|
520
|
-
break;
|
|
521
|
-
}
|
|
522
|
-
}
|
|
523
|
-
catch (error) {
|
|
524
|
-
this.logger.error('Rollback action failed:', error);
|
|
525
|
-
}
|
|
526
|
-
}
|
|
527
|
-
this.rollbackStack = [];
|
|
528
|
-
}
|
|
529
|
-
/**
|
|
530
|
-
* Get empty components structure
|
|
531
|
-
*/
|
|
532
|
-
getEmptyComponents() {
|
|
533
|
-
return {
|
|
534
|
-
flow: false,
|
|
535
|
-
trigger: false,
|
|
536
|
-
actions: 0,
|
|
537
|
-
variables: 0,
|
|
538
|
-
connections: 0
|
|
539
|
-
};
|
|
540
|
-
}
|
|
541
|
-
/**
|
|
542
|
-
* Sanitize internal name
|
|
543
|
-
*/
|
|
544
|
-
sanitizeInternalName(name) {
|
|
545
|
-
return name
|
|
546
|
-
.toLowerCase()
|
|
547
|
-
.replace(/[^a-z0-9_\s]/g, '')
|
|
548
|
-
.replace(/\s+/g, '_')
|
|
549
|
-
.replace(/_+/g, '_')
|
|
550
|
-
.replace(/^_|_$/g, '')
|
|
551
|
-
.substring(0, 80);
|
|
552
|
-
}
|
|
553
|
-
}
|
|
554
|
-
exports.FlowDesignerAPI = FlowDesignerAPI;
|
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Natural Language to ServiceNow Action Type Mapper
|
|
3
|
-
* Intelligent mapping from natural language descriptions to ServiceNow action types
|
|
4
|
-
*/
|
|
5
|
-
export interface NLPMappingResult {
|
|
6
|
-
action_type: string;
|
|
7
|
-
confidence: number;
|
|
8
|
-
reasoning: string;
|
|
9
|
-
suggested_inputs: Record<string, any>;
|
|
10
|
-
alternative_actions: string[];
|
|
11
|
-
}
|
|
12
|
-
export interface ActionIntent {
|
|
13
|
-
verb: string;
|
|
14
|
-
object: string;
|
|
15
|
-
context: string[];
|
|
16
|
-
modifiers: string[];
|
|
17
|
-
conditions: string[];
|
|
18
|
-
}
|
|
19
|
-
export interface MappingContext {
|
|
20
|
-
previous_actions: string[];
|
|
21
|
-
target_table: string;
|
|
22
|
-
flow_purpose: string;
|
|
23
|
-
available_data: Record<string, any>;
|
|
24
|
-
}
|
|
25
|
-
export declare class NaturalLanguageMapper {
|
|
26
|
-
private logger;
|
|
27
|
-
private verbMappings;
|
|
28
|
-
private objectMappings;
|
|
29
|
-
private contextMappings;
|
|
30
|
-
constructor();
|
|
31
|
-
/**
|
|
32
|
-
* Map natural language description to ServiceNow action type
|
|
33
|
-
*/
|
|
34
|
-
mapToActionType(description: string, context?: MappingContext): Promise<NLPMappingResult>;
|
|
35
|
-
/**
|
|
36
|
-
* Parse natural language description into structured intent
|
|
37
|
-
*/
|
|
38
|
-
private parseIntent;
|
|
39
|
-
/**
|
|
40
|
-
* Extract the primary verb from the description
|
|
41
|
-
*/
|
|
42
|
-
private extractVerb;
|
|
43
|
-
/**
|
|
44
|
-
* Extract the object being acted upon
|
|
45
|
-
*/
|
|
46
|
-
private extractObject;
|
|
47
|
-
/**
|
|
48
|
-
* Extract context information
|
|
49
|
-
*/
|
|
50
|
-
private extractContext;
|
|
51
|
-
/**
|
|
52
|
-
* Extract modifiers (how the action is performed)
|
|
53
|
-
*/
|
|
54
|
-
private extractModifiers;
|
|
55
|
-
/**
|
|
56
|
-
* Extract conditions (when the action is performed)
|
|
57
|
-
*/
|
|
58
|
-
private extractConditions;
|
|
59
|
-
/**
|
|
60
|
-
* Generate search terms for action type discovery
|
|
61
|
-
*/
|
|
62
|
-
private generateSearchTerms;
|
|
63
|
-
/**
|
|
64
|
-
* Search for action types using multiple search terms
|
|
65
|
-
*/
|
|
66
|
-
private searchActionTypes;
|
|
67
|
-
/**
|
|
68
|
-
* Rank and score search results
|
|
69
|
-
*/
|
|
70
|
-
private rankResults;
|
|
71
|
-
/**
|
|
72
|
-
* Generate suggested inputs for an action type
|
|
73
|
-
*/
|
|
74
|
-
private generateSuggestedInputs;
|
|
75
|
-
/**
|
|
76
|
-
* Suggest recipient based on intent
|
|
77
|
-
*/
|
|
78
|
-
private suggestRecipient;
|
|
79
|
-
/**
|
|
80
|
-
* Suggest subject based on intent
|
|
81
|
-
*/
|
|
82
|
-
private suggestSubject;
|
|
83
|
-
/**
|
|
84
|
-
* Suggest message based on intent
|
|
85
|
-
*/
|
|
86
|
-
private suggestMessage;
|
|
87
|
-
/**
|
|
88
|
-
* Suggest field based on intent
|
|
89
|
-
*/
|
|
90
|
-
private suggestField;
|
|
91
|
-
/**
|
|
92
|
-
* Suggest value based on intent
|
|
93
|
-
*/
|
|
94
|
-
private suggestValue;
|
|
95
|
-
/**
|
|
96
|
-
* Suggest condition based on intent
|
|
97
|
-
*/
|
|
98
|
-
private suggestCondition;
|
|
99
|
-
/**
|
|
100
|
-
* Suggest duration based on intent
|
|
101
|
-
*/
|
|
102
|
-
private suggestDuration;
|
|
103
|
-
/**
|
|
104
|
-
* Suggest script based on intent
|
|
105
|
-
*/
|
|
106
|
-
private suggestScript;
|
|
107
|
-
/**
|
|
108
|
-
* Add score to an action
|
|
109
|
-
*/
|
|
110
|
-
private addScore;
|
|
111
|
-
/**
|
|
112
|
-
* Add reason to an action
|
|
113
|
-
*/
|
|
114
|
-
private addReason;
|
|
115
|
-
/**
|
|
116
|
-
* Score action by context
|
|
117
|
-
*/
|
|
118
|
-
private scoreByContext;
|
|
119
|
-
/**
|
|
120
|
-
* Initialize mapping tables
|
|
121
|
-
*/
|
|
122
|
-
private initializeMappings;
|
|
123
|
-
}
|
|
124
|
-
//# sourceMappingURL=natural-language-mapper.d.ts.map
|