snow-flow 8.41.23 → 8.42.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 (152) hide show
  1. package/CLAUDE.md +9 -6
  2. package/dist/api/health-api.d.ts +1 -1
  3. package/dist/api/health-api.d.ts.map +1 -1
  4. package/dist/api/simple-health-api.d.ts +1 -1
  5. package/dist/api/simple-health-api.d.ts.map +1 -1
  6. package/dist/mcp/servicenow-automation-mcp.js +8 -8
  7. package/dist/mcp/servicenow-automation-mcp.js.map +1 -1
  8. package/dist/mcp/servicenow-mcp-server.js +4 -4
  9. package/dist/mcp/servicenow-mcp-server.js.map +1 -1
  10. package/dist/mcp/servicenow-mcp-unified/tools/automation/index.d.ts +1 -2
  11. package/dist/mcp/servicenow-mcp-unified/tools/automation/index.d.ts.map +1 -1
  12. package/dist/mcp/servicenow-mcp-unified/tools/automation/index.js +6 -8
  13. package/dist/mcp/servicenow-mcp-unified/tools/automation/index.js.map +1 -1
  14. package/dist/mcp/servicenow-mcp-unified/tools/automation/snow_confirm_script_execution.d.ts +1 -1
  15. package/dist/mcp/servicenow-mcp-unified/tools/automation/snow_confirm_script_execution.js +2 -2
  16. package/dist/mcp/servicenow-mcp-unified/tools/automation/snow_confirm_script_execution.js.map +1 -1
  17. package/dist/mcp/servicenow-mcp-unified/tools/automation/snow_schedule_script_job.d.ts +26 -0
  18. package/dist/mcp/servicenow-mcp-unified/tools/automation/snow_schedule_script_job.d.ts.map +1 -0
  19. package/dist/mcp/servicenow-mcp-unified/tools/automation/{snow_execute_script.js → snow_schedule_script_job.js} +19 -13
  20. package/dist/mcp/servicenow-mcp-unified/tools/automation/snow_schedule_script_job.js.map +1 -0
  21. package/dist/mcp/servicenow-mcp-unified/tools/automation/snow_trace_execution.d.ts +12 -4
  22. package/dist/mcp/servicenow-mcp-unified/tools/automation/snow_trace_execution.d.ts.map +1 -1
  23. package/dist/mcp/servicenow-mcp-unified/tools/automation/snow_trace_execution.js +69 -67
  24. package/dist/mcp/servicenow-mcp-unified/tools/automation/snow_trace_execution.js.map +1 -1
  25. package/dist/mcp/servicenow-mcp-unified/tools/development/snow_analyze_artifact.d.ts.map +1 -1
  26. package/dist/mcp/servicenow-mcp-unified/tools/development/snow_analyze_artifact.js +2 -1
  27. package/dist/mcp/servicenow-mcp-unified/tools/development/snow_analyze_artifact.js.map +1 -1
  28. package/dist/mcp/servicenow-mcp-unified/tools/development/snow_analyze_requirements.d.ts.map +1 -1
  29. package/dist/mcp/servicenow-mcp-unified/tools/development/snow_analyze_requirements.js +2 -1
  30. package/dist/mcp/servicenow-mcp-unified/tools/development/snow_analyze_requirements.js.map +1 -1
  31. package/dist/mcp/servicenow-mcp-unified/tools/development/snow_edit_artifact.d.ts.map +1 -1
  32. package/dist/mcp/servicenow-mcp-unified/tools/development/snow_edit_artifact.js +2 -1
  33. package/dist/mcp/servicenow-mcp-unified/tools/development/snow_edit_artifact.js.map +1 -1
  34. package/dist/mcp/servicenow-mcp-unified/tools/development/snow_edit_by_sysid.d.ts.map +1 -1
  35. package/dist/mcp/servicenow-mcp-unified/tools/development/snow_edit_by_sysid.js +5 -2
  36. package/dist/mcp/servicenow-mcp-unified/tools/development/snow_edit_by_sysid.js.map +1 -1
  37. package/dist/mcp/servicenow-mcp-unified/tools/development/snow_find_artifact.d.ts.map +1 -1
  38. package/dist/mcp/servicenow-mcp-unified/tools/development/snow_find_artifact.js +2 -1
  39. package/dist/mcp/servicenow-mcp-unified/tools/development/snow_find_artifact.js.map +1 -1
  40. package/dist/mcp/servicenow-mcp-unified/tools/development/snow_get_by_sysid.d.ts.map +1 -1
  41. package/dist/mcp/servicenow-mcp-unified/tools/development/snow_get_by_sysid.js +2 -1
  42. package/dist/mcp/servicenow-mcp-unified/tools/development/snow_get_by_sysid.js.map +1 -1
  43. package/dist/mcp/servicenow-mcp-unified/tools/development/snow_memory_search.d.ts.map +1 -1
  44. package/dist/mcp/servicenow-mcp-unified/tools/development/snow_memory_search.js +2 -1
  45. package/dist/mcp/servicenow-mcp-unified/tools/development/snow_memory_search.js.map +1 -1
  46. package/dist/mcp/servicenow-mcp-unified/tools/development/snow_orchestrate_development.d.ts.map +1 -1
  47. package/dist/mcp/servicenow-mcp-unified/tools/development/snow_orchestrate_development.js +2 -1
  48. package/dist/mcp/servicenow-mcp-unified/tools/development/snow_orchestrate_development.js.map +1 -1
  49. package/dist/mcp/servicenow-mcp-unified/tools/development/snow_sync_data_consistency.d.ts.map +1 -1
  50. package/dist/mcp/servicenow-mcp-unified/tools/development/snow_sync_data_consistency.js +2 -1
  51. package/dist/mcp/servicenow-mcp-unified/tools/development/snow_sync_data_consistency.js.map +1 -1
  52. package/dist/mcp/servicenow-mcp-unified/tools/development/snow_validate_live_connection.d.ts.map +1 -1
  53. package/dist/mcp/servicenow-mcp-unified/tools/development/snow_validate_live_connection.js +2 -1
  54. package/dist/mcp/servicenow-mcp-unified/tools/development/snow_validate_live_connection.js.map +1 -1
  55. package/dist/mcp/servicenow-mcp-unified/tools/integration/index.d.ts +1 -0
  56. package/dist/mcp/servicenow-mcp-unified/tools/integration/index.d.ts.map +1 -1
  57. package/dist/mcp/servicenow-mcp-unified/tools/integration/index.js +4 -1
  58. package/dist/mcp/servicenow-mcp-unified/tools/integration/index.js.map +1 -1
  59. package/dist/mcp/servicenow-mcp-unified/tools/integration/snow_rest_message_manage.d.ts +26 -0
  60. package/dist/mcp/servicenow-mcp-unified/tools/integration/snow_rest_message_manage.d.ts.map +1 -0
  61. package/dist/mcp/servicenow-mcp-unified/tools/integration/snow_rest_message_manage.js +1280 -0
  62. package/dist/mcp/servicenow-mcp-unified/tools/integration/snow_rest_message_manage.js.map +1 -0
  63. package/dist/mcp/servicenow-mcp-unified/tools/scheduled-jobs/index.d.ts +1 -1
  64. package/dist/mcp/servicenow-mcp-unified/tools/scheduled-jobs/index.js +4 -4
  65. package/dist/mcp/servicenow-mcp-unified/tools/scheduled-jobs/snow_trigger_scheduled_job.d.ts +19 -0
  66. package/dist/mcp/servicenow-mcp-unified/tools/scheduled-jobs/snow_trigger_scheduled_job.d.ts.map +1 -0
  67. package/dist/mcp/servicenow-mcp-unified/tools/scheduled-jobs/snow_trigger_scheduled_job.js +142 -0
  68. package/dist/mcp/servicenow-mcp-unified/tools/scheduled-jobs/snow_trigger_scheduled_job.js.map +1 -0
  69. package/dist/mcp/servicenow-mcp-unified/tools/workflow/index.d.ts +1 -1
  70. package/dist/mcp/servicenow-mcp-unified/tools/workflow/index.d.ts.map +1 -1
  71. package/dist/mcp/servicenow-mcp-unified/tools/workflow/index.js +4 -4
  72. package/dist/mcp/servicenow-mcp-unified/tools/workflow/index.js.map +1 -1
  73. package/dist/mcp/servicenow-mcp-unified/tools/workflow/snow_start_workflow.d.ts +15 -0
  74. package/dist/mcp/servicenow-mcp-unified/tools/workflow/snow_start_workflow.d.ts.map +1 -0
  75. package/dist/mcp/servicenow-mcp-unified/tools/workflow/snow_start_workflow.js +136 -0
  76. package/dist/mcp/servicenow-mcp-unified/tools/workflow/snow_start_workflow.js.map +1 -0
  77. package/dist/templates/agents-md-template.d.ts +1 -1
  78. package/dist/templates/agents-md-template.d.ts.map +1 -1
  79. package/dist/templates/agents-md-template.js +5 -5
  80. package/dist/templates/claude-md-template.d.ts +1 -1
  81. package/dist/templates/claude-md-template.d.ts.map +1 -1
  82. package/dist/templates/claude-md-template.js +11 -9
  83. package/dist/templates/claude-md-template.js.map +1 -1
  84. package/dist/utils/auto-update-snow-code.d.ts +7 -0
  85. package/dist/utils/auto-update-snow-code.d.ts.map +1 -1
  86. package/dist/utils/auto-update-snow-code.js +62 -13
  87. package/dist/utils/auto-update-snow-code.js.map +1 -1
  88. package/package.json +1 -1
  89. package/.snow-code/opencode.json +0 -49
  90. package/dist/cli/enterprise-docs-generator.d.ts +0 -14
  91. package/dist/cli/enterprise-docs-generator.d.ts.map +0 -1
  92. package/dist/cli/enterprise-docs-generator.js +0 -875
  93. package/dist/cli/enterprise-docs-generator.js.map +0 -1
  94. package/dist/config/snowcode-config.d.ts +0 -76
  95. package/dist/config/snowcode-config.d.ts.map +0 -1
  96. package/dist/config/snowcode-config.js +0 -225
  97. package/dist/config/snowcode-config.js.map +0 -1
  98. package/dist/mcp/servicenow-mcp-unified/tools/automation/snow_execute_script.d.ts +0 -20
  99. package/dist/mcp/servicenow-mcp-unified/tools/automation/snow_execute_script.d.ts.map +0 -1
  100. package/dist/mcp/servicenow-mcp-unified/tools/automation/snow_execute_script.js.map +0 -1
  101. package/dist/mcp/servicenow-mcp-unified/tools/automation/snow_test_rest_connection.d.ts +0 -11
  102. package/dist/mcp/servicenow-mcp-unified/tools/automation/snow_test_rest_connection.d.ts.map +0 -1
  103. package/dist/mcp/servicenow-mcp-unified/tools/automation/snow_test_rest_connection.js +0 -142
  104. package/dist/mcp/servicenow-mcp-unified/tools/automation/snow_test_rest_connection.js.map +0 -1
  105. package/dist/mcp/servicenow-mcp-unified/tools/flow-designer/index.d.ts +0 -8
  106. package/dist/mcp/servicenow-mcp-unified/tools/flow-designer/index.d.ts.map +0 -1
  107. package/dist/mcp/servicenow-mcp-unified/tools/flow-designer/index.js +0 -24
  108. package/dist/mcp/servicenow-mcp-unified/tools/flow-designer/index.js.map +0 -1
  109. package/dist/mcp/servicenow-mcp-unified/tools/flow-designer/snow_execute_flow.d.ts +0 -8
  110. package/dist/mcp/servicenow-mcp-unified/tools/flow-designer/snow_execute_flow.d.ts.map +0 -1
  111. package/dist/mcp/servicenow-mcp-unified/tools/flow-designer/snow_execute_flow.js +0 -44
  112. package/dist/mcp/servicenow-mcp-unified/tools/flow-designer/snow_execute_flow.js.map +0 -1
  113. package/dist/mcp/servicenow-mcp-unified/tools/flow-designer/snow_flow_connectivity_test.d.ts +0 -8
  114. package/dist/mcp/servicenow-mcp-unified/tools/flow-designer/snow_flow_connectivity_test.d.ts.map +0 -1
  115. package/dist/mcp/servicenow-mcp-unified/tools/flow-designer/snow_flow_connectivity_test.js +0 -67
  116. package/dist/mcp/servicenow-mcp-unified/tools/flow-designer/snow_flow_connectivity_test.js.map +0 -1
  117. package/dist/mcp/servicenow-mcp-unified/tools/flow-designer/snow_flow_discover.d.ts +0 -15
  118. package/dist/mcp/servicenow-mcp-unified/tools/flow-designer/snow_flow_discover.d.ts.map +0 -1
  119. package/dist/mcp/servicenow-mcp-unified/tools/flow-designer/snow_flow_discover.js +0 -273
  120. package/dist/mcp/servicenow-mcp-unified/tools/flow-designer/snow_flow_discover.js.map +0 -1
  121. package/dist/mcp/servicenow-mcp-unified/tools/flow-designer/snow_flow_query.d.ts +0 -14
  122. package/dist/mcp/servicenow-mcp-unified/tools/flow-designer/snow_flow_query.d.ts.map +0 -1
  123. package/dist/mcp/servicenow-mcp-unified/tools/flow-designer/snow_flow_query.js +0 -205
  124. package/dist/mcp/servicenow-mcp-unified/tools/flow-designer/snow_flow_query.js.map +0 -1
  125. package/dist/mcp/servicenow-mcp-unified/tools/flow-designer/snow_import_flow_from_xml.d.ts +0 -8
  126. package/dist/mcp/servicenow-mcp-unified/tools/flow-designer/snow_import_flow_from_xml.d.ts.map +0 -1
  127. package/dist/mcp/servicenow-mcp-unified/tools/flow-designer/snow_import_flow_from_xml.js +0 -68
  128. package/dist/mcp/servicenow-mcp-unified/tools/flow-designer/snow_import_flow_from_xml.js.map +0 -1
  129. package/dist/mcp/servicenow-mcp-unified/tools/flow-designer/snow_manage_flow.d.ts +0 -143
  130. package/dist/mcp/servicenow-mcp-unified/tools/flow-designer/snow_manage_flow.d.ts.map +0 -1
  131. package/dist/mcp/servicenow-mcp-unified/tools/flow-designer/snow_manage_flow.js +0 -2293
  132. package/dist/mcp/servicenow-mcp-unified/tools/flow-designer/snow_manage_flow.js.map +0 -1
  133. package/dist/mcp/servicenow-mcp-unified/tools/rest-api/snow_create_rest_method.d.ts +0 -9
  134. package/dist/mcp/servicenow-mcp-unified/tools/rest-api/snow_create_rest_method.d.ts.map +0 -1
  135. package/dist/mcp/servicenow-mcp-unified/tools/rest-api/snow_create_rest_method.js +0 -57
  136. package/dist/mcp/servicenow-mcp-unified/tools/rest-api/snow_create_rest_method.js.map +0 -1
  137. package/dist/mcp/servicenow-mcp-unified/tools/rest-api/snow_test_rest_message.d.ts +0 -9
  138. package/dist/mcp/servicenow-mcp-unified/tools/rest-api/snow_test_rest_message.d.ts.map +0 -1
  139. package/dist/mcp/servicenow-mcp-unified/tools/rest-api/snow_test_rest_message.js +0 -58
  140. package/dist/mcp/servicenow-mcp-unified/tools/rest-api/snow_test_rest_message.js.map +0 -1
  141. package/dist/mcp/servicenow-mcp-unified/tools/scheduled-jobs/snow_execute_scheduled_job.d.ts +0 -9
  142. package/dist/mcp/servicenow-mcp-unified/tools/scheduled-jobs/snow_execute_scheduled_job.d.ts.map +0 -1
  143. package/dist/mcp/servicenow-mcp-unified/tools/scheduled-jobs/snow_execute_scheduled_job.js +0 -59
  144. package/dist/mcp/servicenow-mcp-unified/tools/scheduled-jobs/snow_execute_scheduled_job.js.map +0 -1
  145. package/dist/mcp/servicenow-mcp-unified/tools/workflow/snow_execute_workflow.d.ts +0 -9
  146. package/dist/mcp/servicenow-mcp-unified/tools/workflow/snow_execute_workflow.d.ts.map +0 -1
  147. package/dist/mcp/servicenow-mcp-unified/tools/workflow/snow_execute_workflow.js +0 -55
  148. package/dist/mcp/servicenow-mcp-unified/tools/workflow/snow_execute_workflow.js.map +0 -1
  149. package/dist/sdk/claude-agent-sdk-integration.d.ts +0 -103
  150. package/dist/sdk/claude-agent-sdk-integration.d.ts.map +0 -1
  151. package/dist/sdk/claude-agent-sdk-integration.js +0 -414
  152. package/dist/sdk/claude-agent-sdk-integration.js.map +0 -1
@@ -1,414 +0,0 @@
1
- "use strict";
2
- /**
3
- * Claude Agent SDK Integration Layer
4
- * Bridges Snow-Flow architecture with @anthropic-ai/claude-agent-sdk@0.1.1
5
- *
6
- * Purpose:
7
- * - Replace custom RealAgentSpawner with SDK's native agent spawning
8
- * - Integrate SDK's query() with our Memory System
9
- * - Provide hooks for agent coordination
10
- * - Simplify agent execution while keeping our intelligence
11
- */
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.ClaudeAgentSDKIntegration = void 0;
14
- const claude_agent_sdk_1 = require("@anthropic-ai/claude-agent-sdk");
15
- const logger_js_1 = require("../utils/logger.js");
16
- const events_1 = require("events");
17
- /**
18
- * Snow-Flow SDK Integration
19
- * Replaces 2800+ lines of custom agent code with SDK-native approach
20
- */
21
- class ClaudeAgentSDKIntegration extends events_1.EventEmitter {
22
- constructor(memory) {
23
- super();
24
- this.activeQueries = new Map();
25
- this.memory = memory;
26
- this.logger = new logger_js_1.Logger('ClaudeAgentSDK');
27
- }
28
- /**
29
- * Spawn agent using Claude Agent SDK (replaces RealAgentSpawner)
30
- *
31
- * Before: 701 lines in RealAgentSpawner
32
- * After: Single query() call with proper instructions
33
- */
34
- async spawnAgent(config) {
35
- const agentId = this.generateAgentId(config.type);
36
- const startTime = Date.now();
37
- this.logger.info(`🚀 Spawning ${config.type} agent via Claude Agent SDK`);
38
- this.emit('agent:spawning', { agentId, type: config.type });
39
- try {
40
- // Build agent instructions with Snow-Flow context
41
- const instructions = this.buildAgentInstructions(config);
42
- // Configure SDK options with MCP servers and hooks
43
- const options = {
44
- mcpServers: this.buildMCPServerConfig(),
45
- hooks: this.buildHooks(agentId, config.type),
46
- maxTurns: config.maxTurns || 10,
47
- model: this.mapModelName(config.model),
48
- permissionMode: 'bypassPermissions', // For automated agents
49
- cwd: process.cwd()
50
- };
51
- // Execute agent via SDK query()
52
- const agentQuery = (0, claude_agent_sdk_1.query)({
53
- prompt: instructions,
54
- options
55
- });
56
- // Store active query for monitoring/control
57
- this.activeQueries.set(agentId, agentQuery);
58
- // Process agent execution
59
- const result = await this.processAgentExecution(agentId, config.type, agentQuery, startTime);
60
- this.emit('agent:completed', result);
61
- return result;
62
- }
63
- catch (error) {
64
- this.logger.error(`❌ Agent ${agentId} failed:`, error);
65
- this.emit('agent:failed', { agentId, type: config.type, error });
66
- return {
67
- success: false,
68
- agentId,
69
- agentType: config.type,
70
- artifacts: [],
71
- output: '',
72
- tokensUsed: { input: 0, output: 0, total: 0 },
73
- duration: Date.now() - startTime,
74
- error: error
75
- };
76
- }
77
- finally {
78
- this.activeQueries.delete(agentId);
79
- }
80
- }
81
- /**
82
- * Spawn multiple agents in parallel
83
- * Leverages our ParallelAgentEngine intelligence + SDK execution
84
- */
85
- async spawnParallelAgents(configs) {
86
- this.logger.info(`🚀 Spawning ${configs.length} agents in parallel`);
87
- const spawnPromises = configs.map(config => this.spawnAgent(config));
88
- const results = await Promise.allSettled(spawnPromises);
89
- return results.map((result, index) => {
90
- if (result.status === 'fulfilled') {
91
- return result.value;
92
- }
93
- else {
94
- const config = configs[index];
95
- return {
96
- success: false,
97
- agentId: this.generateAgentId(config.type),
98
- agentType: config.type,
99
- artifacts: [],
100
- output: '',
101
- tokensUsed: { input: 0, output: 0, total: 0 },
102
- duration: 0,
103
- error: result.reason
104
- };
105
- }
106
- });
107
- }
108
- /**
109
- * Build agent instructions with Snow-Flow intelligence
110
- * Maps agent types to clear, actionable instructions
111
- */
112
- buildAgentInstructions(config) {
113
- const baseInstructions = `You are a ${config.type} agent in the Snow-Flow intelligent orchestration system.
114
-
115
- **Agent ID:** ${this.generateAgentId(config.type)}
116
- **Objective:** ${config.objective}
117
- **Available MCP Tools:** All 448 ServiceNow unified tools are available
118
-
119
- ## 🎯 Mission
120
-
121
- ${this.getTypeSpecificInstructions(config.type)}
122
-
123
- ## 📋 Execution Requirements
124
-
125
- 1. **Use REAL Snow-Flow MCP tools:**
126
- - All tools are prefixed with 'snow_' (e.g., snow_create_workspace, snow_create_uib_page)
127
- - Execute tools with proper parameters
128
- - Capture sys_ids from responses
129
-
130
- 2. **Store results in Memory:**
131
- - Use mcp__claude-flow__memory_usage for coordination
132
- - Store all created artifacts: \`memory_usage({ action: 'store', key: 'agent_work_${this.generateAgentId(config.type)}', value: JSON.stringify({ sys_ids: [...] }) })\`
133
- - Share findings with other agents through Memory
134
-
135
- 3. **Verify your work:**
136
- - After creating artifacts, verify they exist in ServiceNow
137
- - Use snow_query_table to confirm records exist
138
- - Report only verified work
139
-
140
- 4. **Track Update Set:**
141
- - Ensure active Update Set: snow_ensure_active_update_set
142
- - All changes should be tracked
143
-
144
- ## ⚠️ Critical Rules
145
-
146
- - ❌ NO simulation or fake responses
147
- - ❌ NO placeholder sys_ids
148
- - ✅ ONLY report verified ServiceNow artifacts
149
- - ✅ USE Memory for agent coordination
150
- - ✅ VERIFY all work via snow_query_table
151
-
152
- ## 🚀 Begin Execution
153
-
154
- ${config.context ? `\n**Context:**\n${JSON.stringify(config.context, null, 2)}\n` : ''}
155
-
156
- Execute your mission now. Use TodoWrite to break down tasks if needed.`;
157
- return baseInstructions;
158
- }
159
- /**
160
- * Type-specific instructions for different agent types
161
- */
162
- getTypeSpecificInstructions(type) {
163
- const instructions = {
164
- 'workspace-specialist': `Create and configure ServiceNow workspaces using:
165
- - snow_create_complete_workspace for full UX Framework workspaces
166
- - snow_create_configurable_agent_workspace for Agent Workspaces
167
- - snow_discover_all_workspaces to check existing workspaces
168
- - snow_validate_workspace_configuration to ensure proper setup`,
169
- 'ui-builder-expert': `Build UI Builder pages and components using:
170
- - snow_create_uib_page for new pages
171
- - snow_add_uib_page_element to add components
172
- - snow_create_uib_component for custom components
173
- - snow_create_uib_data_broker for data integration
174
- - Ensure proper routing and data flow`,
175
- 'widget-creator': `Create Service Portal widgets using:
176
- - snow_create_sp_widget for new widgets
177
- - Ensure HTML/Client/Server script coherence
178
- - Use snow_pull_artifact for debugging large widgets
179
- - Validate with snow_validate_artifact_coherence`,
180
- 'script-writer': `Write and deploy scripts using:
181
- - snow_create_script_include for reusable code
182
- - snow_create_business_rule for automation
183
- - snow_create_client_script for client-side logic
184
- - Ensure ES5 compatibility (NO modern JavaScript!)
185
- - Test with snow_execute_script_with_output`,
186
- 'integration-specialist': `Build integrations using:
187
- - snow_create_rest_message for REST APIs
188
- - snow_test_rest_connection for validation
189
- - snow_create_transform_map for data transformation
190
- - Handle authentication and error cases`,
191
- 'tester': `Test and validate implementations using:
192
- - snow_execute_script_with_output for functionality tests
193
- - snow_get_logs for error checking
194
- - snow_validate_artifact_coherence for widget testing
195
- - Create comprehensive test scenarios`,
196
- 'security-specialist': `Ensure security and compliance using:
197
- - snow_create_acl for access control
198
- - snow_scan_vulnerabilities for security checks
199
- - Review permissions and authentication
200
- - Validate data access patterns`,
201
- 'deployment-specialist': `Deploy and validate artifacts using:
202
- - snow_create_artifact for widget/artifact deployment
203
- - snow_ensure_active_update_set for change tracking
204
- - snow_validate_deployment for verification
205
- - Handle rollback if needed`,
206
- 'researcher': `Research and analyze ServiceNow environments using:
207
- - snow_comprehensive_search for artifact discovery
208
- - snow_discover_* tools for exploring configurations
209
- - snow_query_table for data analysis
210
- - Document findings in Memory`,
211
- 'app-architect': `Design application architecture using:
212
- - Analyze requirements and design data models
213
- - Plan UI/UX structure
214
- - Define integration points
215
- - Document architecture in Memory for other agents`,
216
- 'page-designer': `Design and create portal pages using:
217
- - snow_create_sp_page for Service Portal pages
218
- - Configure layout (containers, rows, columns)
219
- - Place widgets with proper sizing
220
- - Set permissions and navigation`
221
- };
222
- return instructions[type] || `Execute your specialized task: ${type}`;
223
- }
224
- /**
225
- * Build MCP server configuration for SDK
226
- * Connects to our 448-tool unified server
227
- */
228
- buildMCPServerConfig() {
229
- return {
230
- 'servicenow-unified': {
231
- type: 'stdio',
232
- command: 'node',
233
- args: [
234
- 'dist/mcp/servicenow-mcp-unified/index.js'
235
- ],
236
- env: process.env
237
- },
238
- 'claude-flow': {
239
- type: 'stdio',
240
- command: 'npx',
241
- args: ['claude-flow@alpha', 'mcp', 'start'],
242
- env: process.env
243
- }
244
- };
245
- }
246
- /**
247
- * Build hooks for agent coordination
248
- * Integrates with our Memory System and progress tracking
249
- */
250
- buildHooks(agentId, agentType) {
251
- return {
252
- PostToolUse: [{
253
- hooks: [async (input, toolUseId, { signal }) => {
254
- // Type guard for PostToolUseHookInput
255
- if (input.hook_event_name !== 'PostToolUse') {
256
- return { continue: true };
257
- }
258
- // Store tool execution in Memory for coordination
259
- if (input.tool_name.startsWith('snow_')) {
260
- await this.memory.store(`agent_tool_${agentId}_${toolUseId}`, {
261
- agentId,
262
- agentType,
263
- toolName: input.tool_name,
264
- toolInput: input.tool_input,
265
- toolResponse: input.tool_response,
266
- timestamp: new Date().toISOString()
267
- });
268
- this.emit('agent:tool-used', {
269
- agentId,
270
- agentType,
271
- toolName: input.tool_name
272
- });
273
- }
274
- return { continue: true };
275
- }]
276
- }],
277
- SessionEnd: [{
278
- hooks: [async (input, toolUseId, { signal }) => {
279
- // Type guard for SessionEndHookInput
280
- if (input.hook_event_name !== 'SessionEnd') {
281
- return { continue: true };
282
- }
283
- // Store final session results
284
- await this.memory.store(`agent_session_${agentId}`, {
285
- agentId,
286
- agentType,
287
- reason: input.reason,
288
- timestamp: new Date().toISOString()
289
- });
290
- this.logger.info(`✅ Agent ${agentId} session ended: ${input.reason}`);
291
- return { continue: true };
292
- }]
293
- }]
294
- };
295
- }
296
- /**
297
- * Process agent execution stream
298
- * Extracts artifacts, tokens, and output
299
- */
300
- async processAgentExecution(agentId, agentType, agentQuery, startTime) {
301
- const artifacts = [];
302
- let output = '';
303
- let tokensUsed = { input: 0, output: 0, total: 0 };
304
- try {
305
- // Stream agent messages
306
- for await (const message of agentQuery) {
307
- this.emit('agent:message', { agentId, message });
308
- // Extract results from completion
309
- if (message.type === 'result' && message.subtype === 'success') {
310
- output = message.result;
311
- tokensUsed = {
312
- input: message.usage.input_tokens,
313
- output: message.usage.output_tokens,
314
- total: message.usage.input_tokens + message.usage.output_tokens
315
- };
316
- }
317
- // Extract artifacts from tool responses
318
- if (message.type === 'assistant') {
319
- const content = message.message.content;
320
- for (const block of content) {
321
- if (block.type === 'tool_use') {
322
- // Look for sys_ids in tool results
323
- const sysIdMatch = JSON.stringify(block).match(/[a-f0-9]{32}/g);
324
- if (sysIdMatch) {
325
- artifacts.push(...sysIdMatch);
326
- }
327
- }
328
- }
329
- }
330
- }
331
- // Store final results in Memory
332
- await this.memory.store(`agent_result_${agentId}`, {
333
- agentId,
334
- agentType,
335
- success: true,
336
- artifacts: [...new Set(artifacts)], // Remove duplicates
337
- output,
338
- tokensUsed,
339
- duration: Date.now() - startTime
340
- });
341
- return {
342
- success: true,
343
- agentId,
344
- agentType,
345
- artifacts: [...new Set(artifacts)],
346
- output,
347
- tokensUsed,
348
- duration: Date.now() - startTime
349
- };
350
- }
351
- catch (error) {
352
- throw error;
353
- }
354
- }
355
- /**
356
- * Control running agent (interrupt, change model, etc.)
357
- */
358
- async controlAgent(agentId, action) {
359
- const query = this.activeQueries.get(agentId);
360
- if (!query) {
361
- throw new Error(`Agent ${agentId} not found or already completed`);
362
- }
363
- if (action === 'interrupt') {
364
- await query.interrupt();
365
- this.logger.info(`⏸️ Agent ${agentId} interrupted`);
366
- }
367
- }
368
- /**
369
- * Get agent status
370
- */
371
- getAgentStatus(agentId) {
372
- if (this.activeQueries.has(agentId)) {
373
- return 'active';
374
- }
375
- // Check Memory for completed agents
376
- const result = this.memory.get(`agent_result_${agentId}`);
377
- return result ? 'completed' : 'not-found';
378
- }
379
- /**
380
- * Utility methods
381
- */
382
- generateAgentId(type) {
383
- return `sdk_${type}_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
384
- }
385
- mapModelName(model) {
386
- if (!model)
387
- return undefined;
388
- const modelMap = {
389
- 'sonnet': 'claude-3-5-sonnet-20241022',
390
- 'opus': 'claude-3-opus-20240229',
391
- 'haiku': 'claude-3-5-haiku-20241022'
392
- };
393
- return modelMap[model];
394
- }
395
- /**
396
- * Cleanup
397
- */
398
- async shutdown() {
399
- // Interrupt all active agents
400
- for (const [agentId, query] of this.activeQueries.entries()) {
401
- try {
402
- await query.interrupt();
403
- this.logger.info(`⏹️ Interrupted agent ${agentId}`);
404
- }
405
- catch (error) {
406
- this.logger.error(`Failed to interrupt agent ${agentId}:`, error);
407
- }
408
- }
409
- this.activeQueries.clear();
410
- this.removeAllListeners();
411
- }
412
- }
413
- exports.ClaudeAgentSDKIntegration = ClaudeAgentSDKIntegration;
414
- //# sourceMappingURL=claude-agent-sdk-integration.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"claude-agent-sdk-integration.js","sourceRoot":"","sources":["../../src/sdk/claude-agent-sdk-integration.ts"],"names":[],"mappings":"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"}