snow-flow 1.1.67 → 1.1.69

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/dist/cli.js CHANGED
@@ -443,100 +443,16 @@ ${hasIntelligentFeatures ? `
443
443
  - **Agent Requirements**: ${taskAnalysis.primaryAgent} (lead) + ${taskAnalysis.supportingAgents.join(', ')} (support)
444
444
  - **Complexity Assessment**: ${taskAnalysis.complexity} task requiring ${taskAnalysis.estimatedAgentCount} agents
445
445
 
446
- ## ServiceNow Integration
447
- ${isAuthenticated ? '✅ **Live ServiceNow Integration: ENABLED**' : '❌ **Live ServiceNow Integration: DISABLED**'}
446
+ ## 🔧 ServiceNow Integration
447
+ ${isAuthenticated ? '✅ **Live ServiceNow Access: ENABLED**' : '❌ **ServiceNow Access: DISABLED** - Run \`snow-flow auth login\` to enable'}
448
448
 
449
449
  ${isAuthenticated ? `
450
- 🔗 **You have LIVE ACCESS to ServiceNow APIs and can create artifacts directly in ServiceNow!**
451
-
452
- 🚨 **CRITICAL: You have ServiceNow MCP tools available for direct deployment:**
453
-
454
- Available ServiceNow MCP Tools:
455
- - **ServiceNowClient**: Create widgets, workflows, and applications directly
456
- - **ServiceNowOAuth**: Authenticated access to ServiceNow APIs
457
- - **Direct API Access**: Use REST APIs to create and deploy artifacts immediately
458
-
459
- **MANDATORY: Use ServiceNow API calls to deploy widgets directly:**
460
- 1. **Create artifacts in ServiceNow using ServiceNowClient.createWidget()**
461
- 2. **Test functionality immediately in the live ServiceNow instance**
462
- 3. **Generate update sets for deployment**
463
- 4. **Provide direct links to created artifacts**
464
-
465
- ⚠️ **DO NOT say you cannot deploy to ServiceNow** - you CAN and SHOULD deploy directly using the available ServiceNow API tools!
466
-
467
- **Example ServiceNow Widget Creation:**
468
- \`\`\`typescript
469
- import { ServiceNowClient } from '../utils/servicenow-client.js';
470
-
471
- const client = new ServiceNowClient();
472
- const widget = await client.createWidget({
473
- name: 'incident_management_widget',
474
- title: 'Incident Management Widget',
475
- description: 'Enhanced incident management with visual features',
476
- template: '<!-- Your HTML template -->',
477
- css: '/* Your CSS styles */',
478
- client_script: '/* Your client-side JavaScript */',
479
- server_script: '/* Your server-side script */',
480
- category: 'incident'
481
- });
482
- \`\`\`
450
+ You have access to comprehensive ServiceNow MCP tools for development:
483
451
 
484
- **PREFERRED: Use ServiceNow Deployment MCP Tools:**
485
- \`\`\`typescript
486
- // Deploy widget using MCP deployment tool
487
- await snow_deploy_widget({
488
- name: 'incident_management_widget',
489
- title: 'Incident Management Widget',
490
- description: 'Enhanced incident management with visual features',
491
- template: widgetHTML,
492
- css: widgetCSS,
493
- client_script: clientScript,
494
- server_script: serverScript,
495
- category: 'incident'
496
- });
497
-
498
- // Deploy Flow Designer flow using MCP deployment tool
499
- await snow_deploy_flow({
500
- name: 'approval_flow',
501
- description: 'Approval flow for purchases',
502
- table: 'sc_request',
503
- trigger_type: 'record_created',
504
- condition: 'category=hardware^item=iphone',
505
- flow_definition: flowJSON,
506
- category: 'approval'
507
- });
508
- \`\`\`
509
-
510
- **ALTERNATIVE: Use Direct Widget Creator for pre-built widgets:**
511
- \`\`\`typescript
512
- import { DirectWidgetCreator } from '../cli/direct-widget-creator.js';
513
-
514
- const creator = new DirectWidgetCreator();
515
- await creator.createIncidentManagementWidget();
516
- \`\`\`
452
+ ### 📦 ServiceNow MCP Tools Available:
453
+ You have access to comprehensive MCP tools for ServiceNow development including deployment, discovery, testing, and operations capabilities.
517
454
 
518
- 🎯 **YOU CAN AND SHOULD DEPLOY DIRECTLY TO SERVICENOW** - OAuth authentication is active!
519
-
520
- 📦 **Available Deployment MCP Tools:**
521
- - snow_deploy_widget - Deploy widgets with full configuration
522
- - snow_deploy_flow - Deploy Flow Designer flows
523
- - snow_deploy_application - Deploy scoped applications
524
- - snow_deploy_update_set - Create update sets
525
- - snow_validate_deployment - Validate before deploying
526
- - snow_rollback_deployment - Rollback if needed
527
-
528
- 🧠 **Intelligent Flow Composition Tools:**
529
- - snow_create_complex_flow - Create complete flows with automatic artifact orchestration
530
- - snow_analyze_flow_instruction - Analyze natural language flow instructions
531
- - snow_discover_flow_artifacts - Discover artifacts needed for complex flows
532
- - snow_preview_flow_structure - Preview flow structure before deployment
533
-
534
- 🎯 **Flow Composition Capabilities:**
535
- - Automatic discovery of existing ServiceNow artifacts (script includes, business rules, tables)
536
- - Intelligent artifact orchestration in flows
537
- - Natural language processing for complex flow instructions
538
- - Fallback creation for missing artifacts
539
- - Multi-artifact coordination and deployment
455
+ 💡 **Refer to CLAUDE.md for complete MCP tool documentation and examples**
540
456
  ` : `
541
457
  📝 **File-based development mode**
542
458
 
@@ -549,245 +465,45 @@ Since ServiceNow integration is not enabled, create artifacts as files in the se
549
465
  💡 Run "snow-flow auth login" to enable live ServiceNow integration!
550
466
  `}
551
467
 
552
- ## 🚨 CRITICAL: Claude-Flow Batch Tool Integration
553
-
554
- ⚠️ **MANDATORY EXECUTION PATTERN**: You MUST execute ALL of these tools in a SINGLE MESSAGE for parallel agent coordination:
468
+ ## 🚀 Development Approach
555
469
 
556
470
  ${hasIntelligentFeatures && isAuthenticated ? `
557
- ### 🧠 INTELLIGENT ORCHESTRATION MODE - Use snow_orchestrate_development
558
-
559
- Since intelligent features are enabled, use the unified orchestration tool:
560
-
561
- \`\`\`typescript
562
- // Use the intelligent orchestration tool with all features enabled
563
- await snow_orchestrate_development({
564
- objective: "${objective}",
565
- auto_permissions: ${options.autoPermissions},
566
- smart_discovery: ${options.smartDiscovery},
567
- live_testing: ${options.liveTesting},
568
- auto_deploy: ${options.autoDeploy},
569
- auto_rollback: ${options.autoRollback},
570
- shared_memory: ${options.sharedMemory},
571
- progress_monitoring: ${options.progressMonitoring},
572
- max_agents: ${options.maxAgents},
573
- strategy: "${options.strategy}",
574
- mode: "${options.mode}",
575
- task_analysis: ${JSON.stringify(taskAnalysis, null, 2)}
576
- });
577
- \`\`\`
578
-
579
- This unified command will:
580
- - ✅ Automatically analyze requirements with snow_analyze_requirements
581
- - ✅ Escalate permissions when needed with snow_escalate_permissions
582
- - ✅ Discover and reuse existing artifacts
583
- - ✅ Create missing components automatically
584
- - ✅ Test in real-time with snow_comprehensive_flow_test
585
- - ✅ Deploy with snow_resilient_deployment
586
- - ✅ Rollback on failures automatically
587
- - ✅ Track everything in update sets with snow_smart_update_set
588
- - ✅ Share context across all agents via memory
589
-
590
- ### Additional Intelligent Tools Available:
591
-
592
- **For Permission Issues:**
593
- \`\`\`typescript
594
- await snow_escalate_permissions({
595
- required_role: "admin",
596
- reason: "Need to create global scope artifacts"
597
- });
598
- \`\`\`
599
-
600
- **For Smart Discovery:**
601
- \`\`\`typescript
602
- const requirements = await snow_analyze_requirements({
603
- objective: "${objective}",
604
- include_dependencies: true,
605
- suggest_reusable: true
606
- });
607
- \`\`\`
608
-
609
- **For Automatic Testing:**
610
- \`\`\`typescript
611
- const testResults = await snow_comprehensive_flow_test({
612
- flow_name: "approval_flow",
613
- test_scenarios: ["happy_path", "edge_cases", "error_handling"],
614
- auto_fix: true
615
- });
616
- \`\`\`
617
-
618
- **For Resilient Deployment:**
619
- \`\`\`typescript
620
- await snow_resilient_deployment({
621
- artifacts: ["widget_123", "flow_456"],
622
- validation_level: "comprehensive",
623
- rollback_on_failure: true,
624
- deployment_strategy: "blue_green"
625
- });
626
- \`\`\`
627
-
471
+ ### 🧠 Intelligent Mode Available
472
+ With intelligent features enabled, you can use automated orchestration tools that handle:
473
+ - Requirements analysis and discovery
474
+ - Permission escalation when needed
475
+ - Existing artifact reuse
476
+ - Real-time testing and validation
477
+ - Automatic rollback on failures
478
+ - Update Set management
479
+
480
+ Use \`snow_orchestrate_development\` for complete automation.
628
481
  ` : `
629
- ### 1. Initialize TodoWrite with ALL tasks (5-10 todos minimum)
630
- ### 2. Launch ALL Task agents SIMULTANEOUSLY in the same message
631
- ### 3. Store ALL coordination data in Memory
632
- ### 4. Execute ALL ServiceNow operations in parallel
633
-
634
- **BATCH EXECUTION EXAMPLE:**
635
- You must use this EXACT pattern in ONE message with multiple tool calls:`}
636
-
637
- \`\`\`typescript
638
- // Tool 1: TodoWrite (5-10 todos in one call)
639
- TodoWrite([
640
- {
641
- id: "task_analysis",
642
- content: "Analyze ${objective} requirements and constraints",
643
- status: "pending",
644
- priority: "high"
645
- },
646
- {
647
- id: "architecture_design",
648
- content: "Design ServiceNow architecture and component structure",
649
- status: "pending",
650
- priority: "high"
651
- },
652
- ${taskAnalysis.requiresUpdateSet ? `{
653
- id: "update_set_creation",
654
- content: "Create Update Set for change management",
655
- status: "pending",
656
- priority: "high"
657
- },` : ''}
658
- ${taskAnalysis.requiresApplication ? `{
659
- id: "application_creation",
660
- content: "Create new ServiceNow Application",
661
- status: "pending",
662
- priority: "high"
663
- },` : ''}
664
- {
665
- id: "implementation",
666
- content: "Implement ${objective}${isAuthenticated ? ' directly in ServiceNow' : ' as files'}",
667
- status: "pending",
668
- priority: "high"
669
- },
670
- {
671
- id: "testing",
672
- content: "Test and validate ${objective}${isAuthenticated ? ' in ServiceNow instance' : ' via file validation'}",
673
- status: "pending",
674
- priority: "medium"
675
- },
676
- {
677
- id: "documentation",
678
- content: "Document ${objective}${isAuthenticated ? ' with ServiceNow links' : ' with file references'}",
679
- status: "pending",
680
- priority: "medium"
681
- },
682
- {
683
- id: "deployment",
684
- content: "Prepare deployment artifacts and instructions",
685
- status: "pending",
686
- priority: "low"
687
- }
688
- ]);
689
-
690
- // Tool 2-N: Task agents (ALL launched in same message) - Respecting user's --max-agents flag
691
- Task("${taskAnalysis.primaryAgent}", "${agent_detector_js_1.AgentDetector.generateAgentPrompt(taskAnalysis.primaryAgent, objective, taskAnalysis)}");
692
- ${(() => {
693
- const userMaxAgents = parseInt(options.maxAgents);
694
- const requiredAgents = [
695
- ...(taskAnalysis.requiresUpdateSet ? ['Update Set Manager'] : []),
696
- ...(taskAnalysis.requiresApplication ? ['Application Manager'] : [])
697
- ];
698
- // Calculate available slots for supporting agents (user max - 1 primary - required agents)
699
- const availableSlotsForSupporting = Math.max(0, userMaxAgents - 1 - requiredAgents.length);
700
- // Take only the supporting agents that fit within user's limit
701
- const adjustedSupportingAgents = taskAnalysis.supportingAgents.slice(0, availableSlotsForSupporting);
702
- return adjustedSupportingAgents.map(agent => `Task("${agent}", "${agent_detector_js_1.AgentDetector.generateAgentPrompt(agent, objective, taskAnalysis)}");`).join('\n');
703
- })()}
704
- ${taskAnalysis.requiresUpdateSet ? `Task("Update Set Manager", "Create and manage Update Set for change management. Use snow_update_set_create to create Update Set automatically.");` : ''}
705
- ${taskAnalysis.requiresApplication ? `Task("Application Manager", "Create new ServiceNow Application. Use snow_deploy_application to create new application scope.");` : ''}
706
-
707
- // Tool 7: Memory coordination data
708
- Memory.store("snow_flow_session", {
709
- objective: "${objective}",
710
- task_type: "${taskAnalysis.taskType}",
711
- primary_agent: "${taskAnalysis.primaryAgent}",
712
- supporting_agents: ${JSON.stringify((() => {
713
- const userMaxAgents = parseInt(options.maxAgents);
714
- const requiredAgents = [
715
- ...(taskAnalysis.requiresUpdateSet ? ['Update Set Manager'] : []),
716
- ...(taskAnalysis.requiresApplication ? ['Application Manager'] : [])
717
- ];
718
- const availableSlotsForSupporting = Math.max(0, userMaxAgents - 1 - requiredAgents.length);
719
- return taskAnalysis.supportingAgents.slice(0, availableSlotsForSupporting);
720
- })())},
721
- complexity: "${taskAnalysis.complexity}",
722
- servicenow_artifacts: ${JSON.stringify(taskAnalysis.serviceNowArtifacts)},
723
- requires_update_set: ${taskAnalysis.requiresUpdateSet},
724
- requires_application: ${taskAnalysis.requiresApplication},
725
- strategy: "${options.strategy}",
726
- mode: "${options.mode}",
727
- started_at: new Date().toISOString(),
728
- user_requested_max_agents: ${parseInt(options.maxAgents)},
729
- actual_agents_spawned: ${(() => {
730
- const userMaxAgents = parseInt(options.maxAgents);
731
- const requiredAgents = [
732
- ...(taskAnalysis.requiresUpdateSet ? ['Update Set Manager'] : []),
733
- ...(taskAnalysis.requiresApplication ? ['Application Manager'] : [])
734
- ];
735
- const availableSlotsForSupporting = Math.max(0, userMaxAgents - 1 - requiredAgents.length);
736
- const adjustedSupportingAgents = taskAnalysis.supportingAgents.slice(0, availableSlotsForSupporting);
737
- return 1 + adjustedSupportingAgents.length + requiredAgents.length; // primary + supporting + required
738
- })()},
739
- estimated_agents: ${taskAnalysis.estimatedAgentCount},
740
- parallel: ${options.parallel},
741
- authenticated: ${isAuthenticated}
742
- });
743
-
744
- Memory.store("task_analysis", ${JSON.stringify(taskAnalysis, null, 2)});
745
- \`\`\`
482
+ ### 📋 Standard Development Mode
483
+ Execute these steps for ServiceNow development:
484
+ 1. Use TodoWrite to track all tasks
485
+ 2. Use Task tool for parallel agent coordination
486
+ 3. Use Memory for shared context between agents
487
+ 4. Follow the team-based SPARC approach shown above
488
+ `}
746
489
 
747
- ### ServiceNow-Specific Implementation
490
+ ### 🎯 Development Process
748
491
  ${getServiceNowInstructions(taskAnalysis.taskType)}
749
492
 
750
- ### Coordination Guidelines
751
- - **BATCH EXECUTION**: All tools must be called in ONE message
752
- - **PARALLEL AGENTS**: Launch multiple Task agents simultaneously
753
- - **MEMORY SHARING**: All agents use Memory for coordination
754
- - **REAL-TIME UPDATES**: Update TodoWrite status as tasks complete
755
- ${isAuthenticated ? '- **MANDATORY DEPLOYMENT**: You MUST deploy directly to ServiceNow using ServiceNowClient.createWidget()' : '- **FILE MODE**: Create artifacts in servicenow/ directory'}
756
- - **COMPREHENSIVE TESTING**: ${isAuthenticated ? 'Test functionality immediately in the live ServiceNow instance' : 'Validate file structure and syntax'}
757
- ${isAuthenticated ? '- **NO EXCUSES**: Do NOT say you cannot deploy - you CAN and MUST deploy to ServiceNow!' : ''}
758
-
759
- ## Expected Deliverables
493
+ ## 📊 Expected Deliverables
760
494
  ${getExpectedDeliverables(taskAnalysis.taskType, isAuthenticated)}
761
495
 
762
- ## 🚨 ServiceNow Best Practices
496
+ ## 📚 Development Guidelines
763
497
 
764
- ### User Groups Management
765
- **CRITICAL**: For user groups, use \`sys_user_group\` table directly:
766
-
767
- \`\`\`typescript
768
- // ✅ CORRECT: Create user group record
769
- await snow_operations_create_record({
770
- table: 'sys_user_group',
771
- data: {
772
- name: 'need_approval',
773
- description: 'Users pending admin approval',
774
- type: 'custom'
775
- }
776
- });
777
-
778
- // ❌ WRONG: Don't use CMDB search for groups
779
- // snow_cmdb_search() is for Configuration Items only!
780
- // snow_discover_platform_tables() is for development tables only!
781
- \`\`\`
498
+ ${isAuthenticated ? `✅ **ServiceNow integration is enabled** - You can deploy directly to ServiceNow.` : '❌ **ServiceNow integration is disabled** - Files will be created locally.'}
782
499
 
783
- ### Flow Development
784
- - Use \`snow_create_flow\` with natural language instead of manual JSON
785
- - Test with \`snow_test_flow_with_mock\` before deploying
786
- - Link to catalog with \`snow_link_catalog_to_flow\`
500
+ 📚 **Refer to CLAUDE.md for:**
501
+ - Complete command reference and examples
502
+ - Team-based SPARC architecture details
503
+ - MCP tool documentation
504
+ - Best practices and workflows
787
505
 
788
- 📚 **Complete documentation available in CLAUDE.md**
789
-
790
- 🎯 **EXECUTION INSTRUCTION**: Use team-based SPARC commands for best results!`;
506
+ 🎯 **RECOMMENDATION**: Use the team-based SPARC commands shown above for optimal results!`;
791
507
  return prompt;
792
508
  }
793
509
  function getTeamRecommendation(taskType) {
@@ -809,173 +525,22 @@ function getTeamRecommendation(taskType) {
809
525
  }
810
526
  }
811
527
  function getServiceNowInstructions(taskType) {
812
- switch (taskType) {
813
- case 'widget_development':
814
- return `**Widget Development Process:**
815
- - Create HTML template with responsive design
816
- - Implement CSS styling following ServiceNow design patterns
817
- - Write AngularJS client controller
818
- - Create server-side data processing script
819
- - Define widget options and configuration
820
- - Test widget in Service Portal`;
821
- case 'application_development':
822
- return `**Application Development Process:**
823
- - Design database schema and tables
824
- - Create business rules and validation
825
- - Build user interface forms and lists
826
- - Implement workflows and approvals
827
- - Configure security and access controls
828
- - Set up integration points`;
829
- case 'flow_development':
830
- return `**Flow Development Process:**
831
- - Analyze flow requirements and triggers
832
- - Design process flow and approval steps
833
- - Create Flow Designer workflow using sys_hub_flow
834
- - Set up notifications and communications
835
- - Configure conditional logic and routing
836
- - Test flow execution and error handling`;
837
- case 'script_development':
838
- return `**Script Development Process:**
839
- - Analyze business requirements
840
- - Design script architecture and data flow
841
- - Implement business rules and script includes
842
- - Create appropriate error handling
843
- - Test script functionality
844
- - Document script behavior`;
845
- case 'integration_development':
846
- return `**Integration Development Process:**
847
- - Analyze integration requirements
848
- - Design API endpoints and data mappings
849
- - Implement REST/SOAP integrations
850
- - Create authentication and security
851
- - Test integration functionality
852
- - Document API specifications`;
853
- case 'database_development':
854
- return `**Database Development Process:**
855
- - Design table structures and relationships
856
- - Create custom fields and configurations
857
- - Implement data validation rules
858
- - Set up reporting and analytics
859
- - Test data integrity
860
- - Document database schema`;
861
- case 'reporting_development':
862
- return `**Reporting Development Process:**
863
- - Analyze reporting requirements
864
- - Design report layouts and data sources
865
- - Create dashboards and visualizations
866
- - Implement filters and drill-downs
867
- - Test report performance
868
- - Document report usage`;
869
- case 'research_task':
870
- return `**Research Process:**
871
- - Analyze current state and requirements
872
- - Research ServiceNow best practices
873
- - Evaluate available solutions
874
- - Document findings and recommendations
875
- - Create implementation roadmap
876
- - Present research conclusions`;
877
- default:
878
- return `**ServiceNow Development Process:**
879
- - Analyze requirements and specifications
880
- - Design appropriate ServiceNow solution
881
- - Implement using ServiceNow best practices
882
- - Create necessary scripts and configurations
883
- - Test functionality and integration
884
- - Document implementation`;
885
- }
528
+ const taskTitle = taskType.split('_').map(word => word.charAt(0).toUpperCase() + word.slice(1)).join(' ');
529
+ return `**${taskTitle} Process:**
530
+ The team-based SPARC architecture will handle the complete development process.
531
+ Refer to CLAUDE.md for detailed instructions and best practices specific to ${taskType}.`;
886
532
  }
887
533
  function getExpectedDeliverables(taskType, isAuthenticated = false) {
888
- const baseDeliverables = {
889
- 'widget_development': [
890
- 'Widget HTML template',
891
- 'CSS styling files',
892
- 'AngularJS client script',
893
- 'Server-side script',
894
- 'Widget configuration options',
895
- 'Installation instructions'
896
- ],
897
- 'application_development': [
898
- 'Database schema definition',
899
- 'Business rules and validations',
900
- 'User interface components',
901
- 'Workflow definitions',
902
- 'Security configuration',
903
- 'Update set for deployment'
904
- ],
905
- 'flow_development': [
906
- 'Flow Designer workflow',
907
- 'Process documentation',
908
- 'Approval configurations',
909
- 'Notification templates',
910
- 'Test scenarios',
911
- 'Implementation guide'
912
- ],
913
- 'script_development': [
914
- 'Business rules and script includes',
915
- 'Error handling logic',
916
- 'Test cases and validation',
917
- 'Documentation and comments',
918
- 'Performance optimization',
919
- 'Security considerations'
920
- ],
921
- 'integration_development': [
922
- 'REST/SOAP API endpoints',
923
- 'Authentication configuration',
924
- 'Data mapping and transformation',
925
- 'Error handling and logging',
926
- 'API documentation',
927
- 'Integration testing'
928
- ],
929
- 'database_development': [
930
- 'Table structures and relationships',
931
- 'Custom fields and configurations',
932
- 'Data validation rules',
933
- 'Indexes and performance optimization',
934
- 'Reporting and analytics',
935
- 'Data migration scripts'
936
- ],
937
- 'reporting_development': [
938
- 'Report definitions and layouts',
939
- 'Dashboard configurations',
940
- 'Data source connections',
941
- 'Filters and drill-downs',
942
- 'Performance optimization',
943
- 'User access controls'
944
- ],
945
- 'research_task': [
946
- 'Research findings and analysis',
947
- 'Best practices documentation',
948
- 'Solution recommendations',
949
- 'Implementation roadmap',
950
- 'Risk assessment',
951
- 'Feasibility analysis'
952
- ],
953
- 'default': [
954
- 'ServiceNow implementation',
955
- 'Supporting scripts',
956
- 'Configuration files',
957
- 'Documentation',
958
- 'Test cases',
959
- 'Deployment instructions'
960
- ]
961
- };
962
- const deliverables = baseDeliverables[taskType] || baseDeliverables['default'];
534
+ const taskTitle = taskType.split('_').map(word => word.charAt(0).toUpperCase() + word.slice(1)).join(' ');
963
535
  if (isAuthenticated) {
964
- // Add ServiceNow-specific deliverables for authenticated mode
965
- const serviceNowDeliverables = deliverables.map(item => `- ${item} (created in ServiceNow)`);
966
- serviceNowDeliverables.push('- **MANDATORY: Direct deployment to ServiceNow using ServiceNowClient.createWidget()**');
967
- serviceNowDeliverables.push('- Direct links to ServiceNow artifacts');
968
- serviceNowDeliverables.push('- Update set for deployment');
969
- serviceNowDeliverables.push('- Test results from live instance');
970
- serviceNowDeliverables.push('- **CRITICAL: Widget must be deployed, not just created as files**');
971
- return serviceNowDeliverables.join('\n');
536
+ return `The team will deliver a complete ${taskTitle.toLowerCase()} solution directly to ServiceNow.
537
+ All artifacts will be created in your ServiceNow instance with proper Update Set tracking.
538
+ Refer to CLAUDE.md for specific deliverables based on your task type.`;
972
539
  }
973
540
  else {
974
- // File-based deliverables for non-authenticated mode
975
- const fileDeliverables = deliverables.map(item => `- ${item} (as files)`);
976
- fileDeliverables.push('- Deployment-ready file structure');
977
- fileDeliverables.push('- Import instructions for ServiceNow');
978
- return fileDeliverables.join('\n');
541
+ return `The team will create ${taskTitle.toLowerCase()} artifacts as local files.
542
+ Files will be organized in the servicenow/ directory for easy import.
543
+ Refer to CLAUDE.md for specific deliverables based on your task type.`;
979
544
  }
980
545
  }
981
546
  // Helper function to analyze objectives using intelligent agent detection