snow-flow 1.1.61 → 1.1.63

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 (153) hide show
  1. package/dist/agents/base/base-snow-agent.d.ts +75 -0
  2. package/dist/agents/base/base-snow-agent.d.ts.map +1 -0
  3. package/dist/agents/base/base-snow-agent.js +169 -0
  4. package/dist/agents/base/base-snow-agent.js.map +1 -0
  5. package/dist/agents/specialists/automation-specialist.agent.d.ts +44 -0
  6. package/dist/agents/specialists/automation-specialist.agent.d.ts.map +1 -0
  7. package/dist/agents/specialists/automation-specialist.agent.js +204 -0
  8. package/dist/agents/specialists/automation-specialist.agent.js.map +1 -0
  9. package/dist/agents/specialists/data-specialist.agent.d.ts +165 -0
  10. package/dist/agents/specialists/data-specialist.agent.d.ts.map +1 -0
  11. package/dist/agents/specialists/data-specialist.agent.js +484 -0
  12. package/dist/agents/specialists/data-specialist.agent.js.map +1 -0
  13. package/dist/agents/specialists/integration-specialist.agent.d.ts +227 -0
  14. package/dist/agents/specialists/integration-specialist.agent.d.ts.map +1 -0
  15. package/dist/agents/specialists/integration-specialist.agent.js +725 -0
  16. package/dist/agents/specialists/integration-specialist.agent.js.map +1 -0
  17. package/dist/agents/specialists/reporting-specialist.agent.d.ts +54 -0
  18. package/dist/agents/specialists/reporting-specialist.agent.d.ts.map +1 -0
  19. package/dist/agents/specialists/reporting-specialist.agent.js +193 -0
  20. package/dist/agents/specialists/reporting-specialist.agent.js.map +1 -0
  21. package/dist/agents/specialists/security-specialist.agent.d.ts +85 -0
  22. package/dist/agents/specialists/security-specialist.agent.d.ts.map +1 -0
  23. package/dist/agents/specialists/security-specialist.agent.js +309 -0
  24. package/dist/agents/specialists/security-specialist.agent.js.map +1 -0
  25. package/dist/agents/teams/adaptive/adaptive-coordinator.agent.d.ts +111 -0
  26. package/dist/agents/teams/adaptive/adaptive-coordinator.agent.d.ts.map +1 -0
  27. package/dist/agents/teams/adaptive/adaptive-coordinator.agent.js +383 -0
  28. package/dist/agents/teams/adaptive/adaptive-coordinator.agent.js.map +1 -0
  29. package/dist/agents/teams/base-team.d.ts +72 -0
  30. package/dist/agents/teams/base-team.d.ts.map +1 -0
  31. package/dist/agents/teams/base-team.js +253 -0
  32. package/dist/agents/teams/base-team.js.map +1 -0
  33. package/dist/agents/teams/team-types.d.ts +265 -0
  34. package/dist/agents/teams/team-types.d.ts.map +1 -0
  35. package/dist/agents/teams/team-types.js +3 -0
  36. package/dist/agents/teams/team-types.js.map +1 -0
  37. package/dist/agents/teams/widget/widget-architect.agent.d.ts +61 -0
  38. package/dist/agents/teams/widget/widget-architect.agent.d.ts.map +1 -0
  39. package/dist/agents/teams/widget/widget-architect.agent.js +436 -0
  40. package/dist/agents/teams/widget/widget-architect.agent.js.map +1 -0
  41. package/dist/agents/teams/widget/widget-backend.agent.d.ts +74 -0
  42. package/dist/agents/teams/widget/widget-backend.agent.d.ts.map +1 -0
  43. package/dist/agents/teams/widget/widget-backend.agent.js +1531 -0
  44. package/dist/agents/teams/widget/widget-backend.agent.js.map +1 -0
  45. package/dist/agents/teams/widget/widget-frontend.agent.d.ts +67 -0
  46. package/dist/agents/teams/widget/widget-frontend.agent.d.ts.map +1 -0
  47. package/dist/agents/teams/widget/widget-frontend.agent.js +1014 -0
  48. package/dist/agents/teams/widget/widget-frontend.agent.js.map +1 -0
  49. package/dist/agents/teams/widget/widget-platform.agent.d.ts +90 -0
  50. package/dist/agents/teams/widget/widget-platform.agent.d.ts.map +1 -0
  51. package/dist/agents/teams/widget/widget-platform.agent.js +1190 -0
  52. package/dist/agents/teams/widget/widget-platform.agent.js.map +1 -0
  53. package/dist/agents/teams/widget/widget-uiux.agent.d.ts +107 -0
  54. package/dist/agents/teams/widget/widget-uiux.agent.d.ts.map +1 -0
  55. package/dist/agents/teams/widget/widget-uiux.agent.js +1033 -0
  56. package/dist/agents/teams/widget/widget-uiux.agent.js.map +1 -0
  57. package/dist/assembly/team-assembler.d.ts +140 -0
  58. package/dist/assembly/team-assembler.d.ts.map +1 -0
  59. package/dist/assembly/team-assembler.js +502 -0
  60. package/dist/assembly/team-assembler.js.map +1 -0
  61. package/dist/cli.js +165 -12
  62. package/dist/cli.js.map +1 -1
  63. package/dist/intelligence/task-analyzer.d.ts +119 -0
  64. package/dist/intelligence/task-analyzer.d.ts.map +1 -0
  65. package/dist/intelligence/task-analyzer.js +494 -0
  66. package/dist/intelligence/task-analyzer.js.map +1 -0
  67. package/dist/patterns/adaptive-patterns.d.ts +140 -0
  68. package/dist/patterns/adaptive-patterns.d.ts.map +1 -0
  69. package/dist/patterns/adaptive-patterns.js +549 -0
  70. package/dist/patterns/adaptive-patterns.js.map +1 -0
  71. package/dist/sparc/coordinators/adaptive-coordinator.d.ts +54 -0
  72. package/dist/sparc/coordinators/adaptive-coordinator.d.ts.map +1 -0
  73. package/dist/sparc/coordinators/adaptive-coordinator.js +367 -0
  74. package/dist/sparc/coordinators/adaptive-coordinator.js.map +1 -0
  75. package/dist/sparc/coordinators/team-coordinator.d.ts +66 -0
  76. package/dist/sparc/coordinators/team-coordinator.d.ts.map +1 -0
  77. package/dist/sparc/coordinators/team-coordinator.js +402 -0
  78. package/dist/sparc/coordinators/team-coordinator.js.map +1 -0
  79. package/dist/sparc/modes/team-modes.d.ts +33 -0
  80. package/dist/sparc/modes/team-modes.d.ts.map +1 -0
  81. package/dist/sparc/modes/team-modes.js +399 -0
  82. package/dist/sparc/modes/team-modes.js.map +1 -0
  83. package/dist/sparc/sparc-help.d.ts +8 -0
  84. package/dist/sparc/sparc-help.d.ts.map +1 -0
  85. package/dist/sparc/sparc-help.js +299 -0
  86. package/dist/sparc/sparc-help.js.map +1 -0
  87. package/dist/sparc/team-sparc.d.ts +33 -0
  88. package/dist/sparc/team-sparc.d.ts.map +1 -0
  89. package/dist/sparc/team-sparc.js +217 -0
  90. package/dist/sparc/team-sparc.js.map +1 -0
  91. package/dist/sparc/teams/application-team.d.ts +73 -0
  92. package/dist/sparc/teams/application-team.d.ts.map +1 -0
  93. package/dist/sparc/teams/application-team.js +463 -0
  94. package/dist/sparc/teams/application-team.js.map +1 -0
  95. package/dist/sparc/teams/flow-team.d.ts +67 -0
  96. package/dist/sparc/teams/flow-team.d.ts.map +1 -0
  97. package/dist/sparc/teams/flow-team.js +373 -0
  98. package/dist/sparc/teams/flow-team.js.map +1 -0
  99. package/dist/sparc/teams/widget-team.d.ts +61 -0
  100. package/dist/sparc/teams/widget-team.d.ts.map +1 -0
  101. package/dist/sparc/teams/widget-team.js +280 -0
  102. package/dist/sparc/teams/widget-team.js.map +1 -0
  103. package/dist/specialists/app-specialists.d.ts +93 -0
  104. package/dist/specialists/app-specialists.d.ts.map +1 -0
  105. package/dist/specialists/app-specialists.js +1639 -0
  106. package/dist/specialists/app-specialists.js.map +1 -0
  107. package/dist/specialists/base-specialist.d.ts +19 -0
  108. package/dist/specialists/base-specialist.d.ts.map +1 -0
  109. package/dist/specialists/base-specialist.js +54 -0
  110. package/dist/specialists/base-specialist.js.map +1 -0
  111. package/dist/specialists/flow-specialists.d.ts +113 -0
  112. package/dist/specialists/flow-specialists.d.ts.map +1 -0
  113. package/dist/specialists/flow-specialists.js +1787 -0
  114. package/dist/specialists/flow-specialists.js.map +1 -0
  115. package/dist/specialists/individual-specialists.d.ts +67 -0
  116. package/dist/specialists/individual-specialists.d.ts.map +1 -0
  117. package/dist/specialists/individual-specialists.js +632 -0
  118. package/dist/specialists/individual-specialists.js.map +1 -0
  119. package/dist/specialists/widget-specialists.d.ts +70 -0
  120. package/dist/specialists/widget-specialists.d.ts.map +1 -0
  121. package/dist/specialists/widget-specialists.js +1264 -0
  122. package/dist/specialists/widget-specialists.js.map +1 -0
  123. package/dist/teams/adaptive-team.d.ts +81 -0
  124. package/dist/teams/adaptive-team.d.ts.map +1 -0
  125. package/dist/teams/adaptive-team.js +1153 -0
  126. package/dist/teams/adaptive-team.js.map +1 -0
  127. package/dist/teams/application-team.d.ts +30 -0
  128. package/dist/teams/application-team.d.ts.map +1 -0
  129. package/dist/teams/application-team.js +547 -0
  130. package/dist/teams/application-team.js.map +1 -0
  131. package/dist/teams/base-team.d.ts +55 -0
  132. package/dist/teams/base-team.d.ts.map +1 -0
  133. package/dist/teams/base-team.js +243 -0
  134. package/dist/teams/base-team.js.map +1 -0
  135. package/dist/teams/flow-team.d.ts +28 -0
  136. package/dist/teams/flow-team.d.ts.map +1 -0
  137. package/dist/teams/flow-team.js +525 -0
  138. package/dist/teams/flow-team.js.map +1 -0
  139. package/dist/teams/widget-team.d.ts +26 -0
  140. package/dist/teams/widget-team.d.ts.map +1 -0
  141. package/dist/teams/widget-team.js +459 -0
  142. package/dist/teams/widget-team.js.map +1 -0
  143. package/dist/types/index.d.ts +2 -0
  144. package/dist/types/index.d.ts.map +1 -1
  145. package/dist/types/index.js +17 -0
  146. package/dist/types/index.js.map +1 -1
  147. package/dist/utils/agent-detector.js +1 -1
  148. package/dist/utils/agent-detector.js.map +1 -1
  149. package/dist/version.d.ts +6 -1
  150. package/dist/version.d.ts.map +1 -1
  151. package/dist/version.js +44 -9
  152. package/dist/version.js.map +1 -1
  153. package/package.json +1 -1
@@ -0,0 +1,547 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ApplicationTeam = void 0;
4
+ const base_team_js_1 = require("./base-team.js");
5
+ const app_specialists_js_1 = require("../specialists/app-specialists.js");
6
+ const flow_specialists_js_1 = require("../specialists/flow-specialists.js"); // Reuse security specialist
7
+ class ApplicationTeam extends base_team_js_1.BaseTeam {
8
+ constructor(options = { sharedMemory: true, validation: true, parallel: false, monitor: false }) {
9
+ super(options);
10
+ }
11
+ initializeTeam() {
12
+ this.members = [
13
+ {
14
+ name: 'Dana Database',
15
+ role: 'Database Designer',
16
+ expertise: ['Table Design', 'Relationships', 'Indexing', 'Performance', 'Data Modeling'],
17
+ execute: async (task, context) => {
18
+ const specialist = new app_specialists_js_1.DatabaseSpecialist(this.options);
19
+ return await specialist.execute(task.description, context);
20
+ }
21
+ },
22
+ {
23
+ name: 'Logan Logic',
24
+ role: 'Business Logic Developer',
25
+ expertise: ['Business Rules', 'Script Includes', 'Workflows', 'Calculations', 'Validations'],
26
+ execute: async (task, context) => {
27
+ const specialist = new app_specialists_js_1.BusinessLogicSpecialist(this.options);
28
+ return await specialist.execute(task.description, context);
29
+ }
30
+ },
31
+ {
32
+ name: 'Sage Interface',
33
+ role: 'Interface Designer',
34
+ expertise: ['Forms', 'Lists', 'UI Policies', 'Client Scripts', 'User Experience'],
35
+ execute: async (task, context) => {
36
+ const specialist = new app_specialists_js_1.InterfaceSpecialist(this.options);
37
+ return await specialist.execute(task.description, context);
38
+ }
39
+ },
40
+ {
41
+ name: 'Quinn Security',
42
+ role: 'Security Specialist',
43
+ expertise: ['Security Analysis', 'Access Control', 'Compliance', 'Vulnerability Assessment'],
44
+ execute: async (task, context) => {
45
+ const specialist = new flow_specialists_js_1.SecuritySpecialist(this.options);
46
+ return await specialist.execute(task.description, context);
47
+ }
48
+ },
49
+ {
50
+ name: 'Phoenix Performance',
51
+ role: 'Performance Specialist',
52
+ expertise: ['Query Optimization', 'Caching', 'Indexing', 'Load Testing', 'Monitoring'],
53
+ execute: async (task, context) => {
54
+ const specialist = new app_specialists_js_1.PerformanceSpecialist(this.options);
55
+ return await specialist.execute(task.description, context);
56
+ }
57
+ }
58
+ ];
59
+ // Initialize application-specific quality gates
60
+ this.initializeApplicationQualityGates();
61
+ }
62
+ async execute(task) {
63
+ console.log(`\n🏗️ Application Development Team Activated`);
64
+ console.log(`📋 Mission: ${task}`);
65
+ return await this.executeWithCoordination(task);
66
+ }
67
+ async analyzeRequirements(task) {
68
+ console.log(`\n🔍 Application Team: Analyzing requirements...`);
69
+ const complexity = this.assessComplexity(task);
70
+ const components = this.identifyComponents(task);
71
+ const applicationType = this.identifyApplicationType(task);
72
+ const features = this.identifyRequiredFeatures(task);
73
+ const scalability = this.identifyScalabilityNeeds(task);
74
+ const compliance = this.identifyComplianceRequirements(task);
75
+ const requirements = {
76
+ task,
77
+ complexity,
78
+ components,
79
+ applicationType,
80
+ features,
81
+ scalability,
82
+ compliance,
83
+ coordination: this.determineCoordinationPattern(complexity, components, scalability),
84
+ estimatedTime: this.estimateProjectTime(complexity, features, scalability),
85
+ risks: this.identifyRisks(task),
86
+ dependencies: this.findDependencies(task)
87
+ };
88
+ console.log(` Application Type: ${applicationType}`);
89
+ console.log(` Complexity: ${complexity}`);
90
+ console.log(` Components: ${components.join(', ')}`);
91
+ console.log(` Scalability: ${scalability}`);
92
+ console.log(` Coordination: ${requirements.coordination}`);
93
+ return requirements;
94
+ }
95
+ async createTaskBreakdown(requirements) {
96
+ console.log(`\n📋 Application Team: Creating task breakdown...`);
97
+ const tasks = [];
98
+ // Always start with database design for applications
99
+ tasks.push({
100
+ id: 'database_design',
101
+ description: `Design database schema and relationships for ${requirements.applicationType}`,
102
+ assignedTo: this.getMemberByRole('Database Designer'),
103
+ dependencies: [],
104
+ priority: 'high',
105
+ estimatedTime: '60 min'
106
+ });
107
+ // Security analysis in parallel with database design
108
+ tasks.push({
109
+ id: 'security_analysis',
110
+ description: `Analyze security requirements and compliance needs for ${requirements.applicationType}`,
111
+ assignedTo: this.getMemberByRole('Security Specialist'),
112
+ dependencies: requirements.coordination === 'sequential' ? ['database_design'] : [],
113
+ priority: 'high',
114
+ estimatedTime: '45 min'
115
+ });
116
+ // Business logic development after database design
117
+ tasks.push({
118
+ id: 'business_logic_development',
119
+ description: `Develop business rules, validations, and workflows for the application`,
120
+ assignedTo: this.getMemberByRole('Business Logic Developer'),
121
+ dependencies: ['database_design'],
122
+ priority: 'high',
123
+ estimatedTime: this.estimateBusinessLogicTime(requirements)
124
+ });
125
+ // Interface design after business logic (or in parallel for simple apps)
126
+ const interfaceDependencies = requirements.complexity === 'simple' ? ['database_design'] : ['business_logic_development'];
127
+ tasks.push({
128
+ id: 'interface_design',
129
+ description: `Design user interfaces, forms, and navigation for ${requirements.applicationType}`,
130
+ assignedTo: this.getMemberByRole('Interface Designer'),
131
+ dependencies: interfaceDependencies,
132
+ priority: 'high',
133
+ estimatedTime: this.estimateInterfaceTime(requirements)
134
+ });
135
+ // Performance optimization after core components
136
+ if (requirements.scalability === 'high' || requirements.complexity === 'complex') {
137
+ tasks.push({
138
+ id: 'performance_optimization',
139
+ description: `Optimize performance, implement caching, and design scalability solutions`,
140
+ assignedTo: this.getMemberByRole('Performance Specialist'),
141
+ dependencies: ['business_logic_development', 'interface_design'],
142
+ priority: 'medium',
143
+ estimatedTime: this.estimatePerformanceTime(requirements)
144
+ });
145
+ }
146
+ // Final integration and validation
147
+ const finalDependencies = ['interface_design', 'security_analysis'];
148
+ if (requirements.scalability === 'high' || requirements.complexity === 'complex') {
149
+ finalDependencies.push('performance_optimization');
150
+ }
151
+ tasks.push({
152
+ id: 'application_integration',
153
+ description: `Integrate all components and validate complete application functionality`,
154
+ assignedTo: this.getMemberByRole('Database Designer'), // Lead integration
155
+ dependencies: finalDependencies,
156
+ priority: 'medium',
157
+ estimatedTime: '45 min'
158
+ });
159
+ console.log(` Created ${tasks.length} specialized tasks`);
160
+ tasks.forEach(task => {
161
+ console.log(` ${task.assignedTo.role}: ${task.description} (${task.estimatedTime})`);
162
+ });
163
+ return tasks;
164
+ }
165
+ async integrateResults(results) {
166
+ console.log(`\n🔗 Application Team: Integrating all specialist deliverables...`);
167
+ const integration = {
168
+ teamType: 'Application Development Team',
169
+ task: this.sharedContext.get('task'),
170
+ timestamp: new Date(),
171
+ specialists: {},
172
+ finalDeliverable: {},
173
+ qualityMetrics: {},
174
+ deploymentPackage: {}
175
+ };
176
+ // Organize results by specialist role
177
+ for (const result of results) {
178
+ if (result.status === 'success' && result.result) {
179
+ const specialist = result.result.specialist;
180
+ integration.specialists[specialist] = result.result;
181
+ }
182
+ }
183
+ // Create integrated application deliverable
184
+ integration.finalDeliverable = await this.createApplicationDeliverable(integration.specialists);
185
+ // Calculate quality metrics
186
+ integration.qualityMetrics = await this.calculateQualityMetrics(results);
187
+ // Prepare deployment package
188
+ integration.deploymentPackage = await this.prepareDeploymentPackage(integration.finalDeliverable);
189
+ console.log(`✅ Application integration completed successfully`);
190
+ console.log(` Components: ${Object.keys(integration.specialists).length} specialists contributed`);
191
+ console.log(` Quality Score: ${integration.qualityMetrics.overallScore}/100`);
192
+ return integration;
193
+ }
194
+ identifyApplicationType(task) {
195
+ const lowerTask = task.toLowerCase();
196
+ if (lowerTask.includes('itsm') || lowerTask.includes('service management')) {
197
+ return 'itsm_application';
198
+ }
199
+ else if (lowerTask.includes('asset') || lowerTask.includes('inventory')) {
200
+ return 'asset_management';
201
+ }
202
+ else if (lowerTask.includes('hr') || lowerTask.includes('employee')) {
203
+ return 'hr_application';
204
+ }
205
+ else if (lowerTask.includes('project') || lowerTask.includes('portfolio')) {
206
+ return 'project_management';
207
+ }
208
+ else if (lowerTask.includes('financial') || lowerTask.includes('budget')) {
209
+ return 'financial_application';
210
+ }
211
+ else if (lowerTask.includes('crm') || lowerTask.includes('customer')) {
212
+ return 'crm_application';
213
+ }
214
+ return 'custom_application';
215
+ }
216
+ identifyRequiredFeatures(task) {
217
+ const features = [];
218
+ const lowerTask = task.toLowerCase();
219
+ if (lowerTask.includes('approval')) {
220
+ features.push('approval_workflow');
221
+ }
222
+ if (lowerTask.includes('notification') || lowerTask.includes('email')) {
223
+ features.push('notification_system');
224
+ }
225
+ if (lowerTask.includes('dashboard') || lowerTask.includes('analytics')) {
226
+ features.push('dashboards_analytics');
227
+ }
228
+ if (lowerTask.includes('integration') || lowerTask.includes('api')) {
229
+ features.push('external_integration');
230
+ }
231
+ if (lowerTask.includes('mobile') || lowerTask.includes('responsive')) {
232
+ features.push('mobile_support');
233
+ }
234
+ if (lowerTask.includes('audit') || lowerTask.includes('compliance')) {
235
+ features.push('audit_trail');
236
+ }
237
+ if (lowerTask.includes('report') || lowerTask.includes('export')) {
238
+ features.push('reporting_export');
239
+ }
240
+ if (lowerTask.includes('search') || lowerTask.includes('filter')) {
241
+ features.push('advanced_search');
242
+ }
243
+ return features;
244
+ }
245
+ identifyScalabilityNeeds(task) {
246
+ const lowerTask = task.toLowerCase();
247
+ if (lowerTask.includes('enterprise') || lowerTask.includes('large scale')) {
248
+ return 'high';
249
+ }
250
+ else if (lowerTask.includes('department') || lowerTask.includes('medium')) {
251
+ return 'medium';
252
+ }
253
+ else if (lowerTask.includes('team') || lowerTask.includes('small')) {
254
+ return 'low';
255
+ }
256
+ return 'medium';
257
+ }
258
+ identifyComplianceRequirements(task) {
259
+ const compliance = [];
260
+ const lowerTask = task.toLowerCase();
261
+ if (lowerTask.includes('gdpr') || lowerTask.includes('privacy')) {
262
+ compliance.push('gdpr');
263
+ }
264
+ if (lowerTask.includes('sox') || lowerTask.includes('financial')) {
265
+ compliance.push('sox');
266
+ }
267
+ if (lowerTask.includes('hipaa') || lowerTask.includes('medical')) {
268
+ compliance.push('hipaa');
269
+ }
270
+ if (lowerTask.includes('iso') || lowerTask.includes('iso27001')) {
271
+ compliance.push('iso27001');
272
+ }
273
+ return compliance;
274
+ }
275
+ determineCoordinationPattern(complexity, components, scalability) {
276
+ if (complexity === 'complex' || scalability === 'high') {
277
+ return 'hybrid'; // Mix of sequential and parallel
278
+ }
279
+ else if (components.length > 4) {
280
+ return 'parallel_with_sync'; // Parallel with synchronization points
281
+ }
282
+ else if (complexity === 'moderate') {
283
+ return 'parallel'; // Most tasks can run in parallel
284
+ }
285
+ return 'sequential'; // Simple linear workflow
286
+ }
287
+ estimateProjectTime(complexity, features, scalability) {
288
+ const baseTime = {
289
+ 'simple': 180, // 3 hours
290
+ 'moderate': 360, // 6 hours
291
+ 'complex': 600 // 10 hours
292
+ };
293
+ const featureTime = features.length * 30; // 30 min per feature
294
+ const scalabilityMultiplier = scalability === 'high' ? 1.5 : scalability === 'medium' ? 1.2 : 1.0;
295
+ const totalMinutes = (baseTime[complexity] + featureTime) * scalabilityMultiplier;
296
+ if (totalMinutes < 60) {
297
+ return `${Math.round(totalMinutes)} minutes`;
298
+ }
299
+ else {
300
+ const hours = Math.floor(totalMinutes / 60);
301
+ const minutes = Math.round(totalMinutes % 60);
302
+ return minutes > 0 ? `${hours}h ${minutes}m` : `${hours}h`;
303
+ }
304
+ }
305
+ identifyRisks(task) {
306
+ const risks = [];
307
+ const lowerTask = task.toLowerCase();
308
+ if (lowerTask.includes('complex') || lowerTask.includes('enterprise')) {
309
+ risks.push('architectural_complexity');
310
+ }
311
+ if (lowerTask.includes('integration') || lowerTask.includes('api')) {
312
+ risks.push('integration_dependencies');
313
+ }
314
+ if (lowerTask.includes('performance') || lowerTask.includes('high volume')) {
315
+ risks.push('performance_requirements');
316
+ }
317
+ if (lowerTask.includes('compliance') || lowerTask.includes('regulatory')) {
318
+ risks.push('compliance_complexity');
319
+ }
320
+ if (lowerTask.includes('migration') || lowerTask.includes('existing')) {
321
+ risks.push('data_migration_challenges');
322
+ }
323
+ return risks;
324
+ }
325
+ estimateBusinessLogicTime(requirements) {
326
+ const baseTime = requirements.complexity === 'complex' ? 90 : 60;
327
+ const featureTime = requirements.features.length * 10;
328
+ return `${baseTime + featureTime} min`;
329
+ }
330
+ estimateInterfaceTime(requirements) {
331
+ const baseTime = requirements.complexity === 'complex' ? 75 : 50;
332
+ const featureTime = requirements.features.length * 8;
333
+ const mobileBonus = requirements.features.includes('mobile_support') ? 15 : 0;
334
+ return `${baseTime + featureTime + mobileBonus} min`;
335
+ }
336
+ estimatePerformanceTime(requirements) {
337
+ const baseTime = 45;
338
+ const scalabilityTime = requirements.scalability === 'high' ? 30 : 15;
339
+ return `${baseTime + scalabilityTime} min`;
340
+ }
341
+ getMemberByRole(role) {
342
+ const member = this.members.find(m => m.role === role);
343
+ if (!member) {
344
+ throw new Error(`No team member found with role: ${role}`);
345
+ }
346
+ return member;
347
+ }
348
+ async createApplicationDeliverable(specialists) {
349
+ const deliverable = {
350
+ type: 'ServiceNow Application',
351
+ timestamp: new Date(),
352
+ components: {}
353
+ };
354
+ // Database components
355
+ if (specialists['Database Designer']) {
356
+ deliverable.components.database = {
357
+ schema: specialists['Database Designer'].deliverables?.schema || {},
358
+ tableDefinitions: specialists['Database Designer'].deliverables?.tableDefinitions || []
359
+ };
360
+ }
361
+ // Business logic components
362
+ if (specialists['Business Logic Developer']) {
363
+ deliverable.components.businessLogic = {
364
+ logicArchitecture: specialists['Business Logic Developer'].deliverables?.logicArchitecture || {},
365
+ implementations: specialists['Business Logic Developer'].deliverables?.implementations || {}
366
+ };
367
+ }
368
+ // Interface components
369
+ if (specialists['Interface Designer']) {
370
+ deliverable.components.interface = {
371
+ interfaceArchitecture: specialists['Interface Designer'].deliverables?.interfaceArchitecture || {},
372
+ implementations: specialists['Interface Designer'].deliverables?.implementations || {}
373
+ };
374
+ }
375
+ // Security components
376
+ if (specialists['Security Specialist']) {
377
+ deliverable.components.security = {
378
+ securityControls: specialists['Security Specialist'].deliverables?.securityControls || {},
379
+ securityPlan: specialists['Security Specialist'].deliverables?.securityPlan || {}
380
+ };
381
+ }
382
+ // Performance components
383
+ if (specialists['Performance Specialist']) {
384
+ deliverable.components.performance = {
385
+ optimizationStrategy: specialists['Performance Specialist'].deliverables?.optimizationStrategy || {},
386
+ implementationPlan: specialists['Performance Specialist'].deliverables?.implementationPlan || {}
387
+ };
388
+ }
389
+ return deliverable;
390
+ }
391
+ async calculateQualityMetrics(results) {
392
+ const successfulTasks = results.filter(r => r.status === 'success').length;
393
+ const totalTasks = results.length;
394
+ const completionRate = (successfulTasks / totalTasks) * 100;
395
+ // Calculate component quality scores
396
+ const qualityFactors = {
397
+ completeness: completionRate,
398
+ databaseDesign: 90, // Would be calculated from schema analysis
399
+ businessLogic: 88, // Would be calculated from code quality metrics
400
+ interfaceDesign: 92, // Would be assessed through UX evaluation
401
+ securityCompliance: 89, // Would be assessed through security review
402
+ performance: 86 // Would be evaluated through performance testing
403
+ };
404
+ const overallScore = Object.values(qualityFactors).reduce((sum, score) => sum + score, 0) / Object.keys(qualityFactors).length;
405
+ return {
406
+ overallScore: Math.round(overallScore),
407
+ factors: qualityFactors,
408
+ completionRate,
409
+ recommendations: this.generateQualityRecommendations(qualityFactors)
410
+ };
411
+ }
412
+ generateQualityRecommendations(factors) {
413
+ const recommendations = [];
414
+ if (factors.completeness < 90) {
415
+ recommendations.push('Complete remaining development tasks');
416
+ }
417
+ if (factors.databaseDesign < 85) {
418
+ recommendations.push('Optimize database schema and relationships');
419
+ }
420
+ if (factors.businessLogic < 85) {
421
+ recommendations.push('Refactor business logic for better maintainability');
422
+ }
423
+ if (factors.interfaceDesign < 90) {
424
+ recommendations.push('Improve user interface design and usability');
425
+ }
426
+ if (factors.securityCompliance < 90) {
427
+ recommendations.push('Address security compliance gaps');
428
+ }
429
+ if (factors.performance < 85) {
430
+ recommendations.push('Optimize application performance and scalability');
431
+ }
432
+ return recommendations;
433
+ }
434
+ async prepareDeploymentPackage(deliverable) {
435
+ const tableDefinitions = deliverable.components?.database?.tableDefinitions || [];
436
+ const businessRules = deliverable.components?.businessLogic?.implementations?.businessRules || [];
437
+ const forms = deliverable.components?.interface?.implementations?.forms || [];
438
+ return {
439
+ applicationDefinition: {
440
+ name: this.generateApplicationName(),
441
+ description: 'Generated by Application Development Team',
442
+ version: '1.0.0',
443
+ scope: this.generateApplicationScope(),
444
+ vendor: 'Internal Development',
445
+ vendor_prefix: 'x_app'
446
+ },
447
+ components: {
448
+ tables: tableDefinitions.length,
449
+ businessRules: businessRules.length,
450
+ forms: forms.length,
451
+ workflows: this.countWorkflows(deliverable),
452
+ integrations: this.countIntegrations(deliverable)
453
+ },
454
+ deploymentInstructions: {
455
+ updateSet: 'Create new update set for application deployment',
456
+ testing: 'Execute comprehensive application testing before production',
457
+ security: 'Validate security controls and access permissions',
458
+ performance: 'Conduct performance testing under expected load',
459
+ rollback: 'Prepare rollback plan and backup procedures'
460
+ },
461
+ qualityAssurance: {
462
+ checklist: [
463
+ 'All database tables created and validated',
464
+ 'Business logic implemented and tested',
465
+ 'User interfaces designed and responsive',
466
+ 'Security controls implemented and verified',
467
+ 'Performance benchmarks met',
468
+ 'Integration points tested and functional',
469
+ 'Documentation complete and accurate'
470
+ ]
471
+ },
472
+ postDeployment: {
473
+ monitoring: 'Enable application performance monitoring',
474
+ training: 'Conduct user training sessions',
475
+ support: 'Establish support procedures and documentation',
476
+ maintenance: 'Schedule regular maintenance and updates'
477
+ }
478
+ };
479
+ }
480
+ generateApplicationName() {
481
+ const task = this.sharedContext.get('task') || 'custom_application';
482
+ return task.toLowerCase().replace(/[^a-z0-9]/g, '_').substring(0, 40);
483
+ }
484
+ generateApplicationScope() {
485
+ const task = this.sharedContext.get('task') || '';
486
+ if (task.toLowerCase().includes('global') || task.toLowerCase().includes('enterprise')) {
487
+ return 'global';
488
+ }
489
+ return 'x_app_' + this.generateApplicationName();
490
+ }
491
+ countWorkflows(deliverable) {
492
+ const workflows = deliverable.components?.businessLogic?.implementations?.workflows || [];
493
+ return workflows.length;
494
+ }
495
+ countIntegrations(deliverable) {
496
+ // Count integrations from various components
497
+ let count = 0;
498
+ const businessLogic = deliverable.components?.businessLogic?.implementations || {};
499
+ if (businessLogic.integrations) {
500
+ count += businessLogic.integrations.length;
501
+ }
502
+ return count;
503
+ }
504
+ initializeApplicationQualityGates() {
505
+ // Add application-specific quality gates
506
+ this.qualityGates.push({
507
+ name: 'Database schema validation',
508
+ check: async (results) => {
509
+ const dbResult = results.find(r => r.result?.specialist === 'Database Designer');
510
+ return dbResult?.status === 'success' && dbResult.result?.deliverables?.schema;
511
+ },
512
+ onFailure: async (results) => {
513
+ console.log('❌ Database schema validation failed - missing or invalid schema design');
514
+ }
515
+ }, {
516
+ name: 'Business logic implementation validation',
517
+ check: async (results) => {
518
+ const logicResult = results.find(r => r.result?.specialist === 'Business Logic Developer');
519
+ return logicResult?.status === 'success' && logicResult.result?.deliverables?.implementations;
520
+ },
521
+ onFailure: async (results) => {
522
+ console.log('❌ Business logic validation failed - missing or invalid implementations');
523
+ }
524
+ }, {
525
+ name: 'User interface design validation',
526
+ check: async (results) => {
527
+ const uiResult = results.find(r => r.result?.specialist === 'Interface Designer');
528
+ return uiResult?.status === 'success' && uiResult.result?.deliverables?.implementations;
529
+ }
530
+ }, {
531
+ name: 'Security compliance validation',
532
+ check: async (results) => {
533
+ const securityResult = results.find(r => r.result?.specialist === 'Security Specialist');
534
+ return securityResult?.status === 'success' && securityResult.result?.deliverables?.securityControls;
535
+ }
536
+ }, {
537
+ name: 'Performance optimization validation',
538
+ check: async (results) => {
539
+ const perfResult = results.find(r => r.result?.specialist === 'Performance Specialist');
540
+ // Performance optimization is optional for simple applications
541
+ return !perfResult || (perfResult?.status === 'success' && perfResult.result?.deliverables?.optimizationStrategy);
542
+ }
543
+ });
544
+ }
545
+ }
546
+ exports.ApplicationTeam = ApplicationTeam;
547
+ //# sourceMappingURL=application-team.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"application-team.js","sourceRoot":"","sources":["../../src/teams/application-team.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ export interface TeamOptions {
2
+ sharedMemory: boolean;
3
+ validation: boolean;
4
+ parallel: boolean;
5
+ monitor: boolean;
6
+ dryRun?: boolean;
7
+ }
8
+ export interface TeamMember {
9
+ name: string;
10
+ role: string;
11
+ expertise: string[];
12
+ execute(task: any, context: any): Promise<any>;
13
+ }
14
+ export interface TaskBreakdown {
15
+ id: string;
16
+ description: string;
17
+ assignedTo: TeamMember;
18
+ dependencies: string[];
19
+ priority: 'high' | 'medium' | 'low';
20
+ estimatedTime?: string;
21
+ }
22
+ export interface QualityGate {
23
+ name: string;
24
+ check: (results: any) => Promise<boolean>;
25
+ onFailure?: (results: any) => Promise<void>;
26
+ }
27
+ export declare abstract class BaseTeam {
28
+ protected options: TeamOptions;
29
+ protected members: TeamMember[];
30
+ protected sharedContext: Map<string, any>;
31
+ protected qualityGates: QualityGate[];
32
+ constructor(options: TeamOptions);
33
+ abstract initializeTeam(): void;
34
+ abstract execute(task: string): Promise<any>;
35
+ protected executeWithCoordination(task: string): Promise<any>;
36
+ protected abstract analyzeRequirements(task: string): Promise<any>;
37
+ protected abstract createTaskBreakdown(requirements: any): Promise<TaskBreakdown[]>;
38
+ protected abstract integrateResults(results: any): Promise<any>;
39
+ protected executeParallel(tasks: TaskBreakdown[]): Promise<any[]>;
40
+ protected executeSequential(tasks: TaskBreakdown[]): Promise<any[]>;
41
+ protected executeTask(task: TaskBreakdown): Promise<any>;
42
+ protected runQualityGates(results: any): Promise<void>;
43
+ protected initializeQualityGates(): void;
44
+ protected initializeSharedMemory(task: string): Promise<void>;
45
+ protected updateSharedContext(key: string, value: any): void;
46
+ protected groupTasksByDependencies(tasks: TaskBreakdown[]): TaskBreakdown[][];
47
+ protected assessComplexity(task: string): 'simple' | 'moderate' | 'complex';
48
+ protected identifyComponents(task: string): string[];
49
+ protected findDependencies(task: string): string[];
50
+ protected handleExecutionError(error: any): Promise<void>;
51
+ protected startMonitoring(): void;
52
+ protected stopMonitoring(): void;
53
+ private previewExecution;
54
+ }
55
+ //# sourceMappingURL=base-team.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-team.d.ts","sourceRoot":"","sources":["../../src/teams/base-team.ts"],"names":[],"mappings":"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"}