claude-flow-novice 2.2.4 → 2.2.5

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 (288) hide show
  1. package/package.json +9 -8
  2. package/scripts/.claude-flow/metrics/agent-metrics.json +1 -0
  3. package/scripts/.claude-flow/metrics/performance.json +9 -0
  4. package/scripts/.claude-flow/metrics/task-metrics.json +10 -0
  5. package/scripts/CLEANUP_OPTIMIZATION_REPORT.json +312 -0
  6. package/scripts/CLEANUP_PERFORMANCE_OPTIMIZATION.md +387 -0
  7. package/scripts/CLEANUP_QUICK_START.md +268 -0
  8. package/scripts/CLEANUP_TEST_RESULTS.md +205 -0
  9. package/scripts/README.md +339 -0
  10. package/scripts/ace-query.sh +384 -0
  11. package/scripts/agent-token-analysis.js +430 -0
  12. package/scripts/auto-setup.js +332 -0
  13. package/scripts/build/README.md +167 -0
  14. package/scripts/build/build-config.js +27 -0
  15. package/scripts/build/build-prompt-copier.sh +30 -0
  16. package/scripts/build/performance-monitor.js +869 -0
  17. package/scripts/build/prepare-publish.js +150 -0
  18. package/scripts/build/typescript-fixer.js +621 -0
  19. package/scripts/build/unified-builder.sh +428 -0
  20. package/scripts/build/update-bin-version.js +32 -0
  21. package/scripts/build/validate-agents.js +238 -0
  22. package/scripts/build-index.js +43 -0
  23. package/scripts/build-orchestrator.js +320 -0
  24. package/scripts/check-routing-stats.cjs +122 -0
  25. package/scripts/ci-validation.js +375 -0
  26. package/scripts/cleanup-blocking-coordination.sh +420 -0
  27. package/scripts/cleanup-idle-sessions.sh +59 -0
  28. package/scripts/collect-build-metrics.js +65 -0
  29. package/scripts/demo/README.md +79 -0
  30. package/scripts/demo/autoscaling-demo-simplified.js +963 -0
  31. package/scripts/demo/comprehensive-dashboard-test.js +693 -0
  32. package/scripts/demo/confidence-log.js +87 -0
  33. package/scripts/demo/confidence-report.js +82 -0
  34. package/scripts/demo/demo-multi-swarm-coordination.js +325 -0
  35. package/scripts/demo/demo-production-deployment.js +399 -0
  36. package/scripts/demo/demo-visualization-system.js +149 -0
  37. package/scripts/demo/performance-analysis.cjs +71 -0
  38. package/scripts/demo/performance-analysis.js +71 -0
  39. package/scripts/demo/test-autoscaling-demo.js +314 -0
  40. package/scripts/dependency-optimizer.js +349 -0
  41. package/scripts/dependency-security-assessment.js +331 -0
  42. package/scripts/deploy-sdk.sh +176 -0
  43. package/scripts/deployment-readiness-report.json +179 -0
  44. package/scripts/dev/README.md +264 -0
  45. package/scripts/dev/claude-flow-wrapper.sh +35 -0
  46. package/scripts/dev/claude-monitor.py +419 -0
  47. package/scripts/dev/claude-sparc.sh +562 -0
  48. package/scripts/dev/claude-wrapper.sh +17 -0
  49. package/scripts/dev/demo-phase3-compliance.js +172 -0
  50. package/scripts/dev/demo-task-system.ts +224 -0
  51. package/scripts/dev/deployment-validator.js +315 -0
  52. package/scripts/dev/spawn-claude-terminal.sh +32 -0
  53. package/scripts/dev/start-portal.sh +506 -0
  54. package/scripts/dev/start-web-ui.js +15 -0
  55. package/scripts/dev/stop-portal.sh +311 -0
  56. package/scripts/dev/validate-examples.ts +288 -0
  57. package/scripts/dev/validate-phase2.cjs +451 -0
  58. package/scripts/dev/validate-phase2.js +785 -0
  59. package/scripts/dev/validate-phase3.cjs +208 -0
  60. package/scripts/dev/validate-security-remediation.js +1 -0
  61. package/scripts/ecosystem.config.cjs +90 -0
  62. package/scripts/fix-js-extensions.js +167 -0
  63. package/scripts/generate-basic-types.js +73 -0
  64. package/scripts/generate-changelog.js +318 -0
  65. package/scripts/git-hooks/pre-commit.sh +143 -0
  66. package/scripts/health-checks.js +634 -0
  67. package/scripts/hook-wrapper.sh +54 -0
  68. package/scripts/install/README.md +375 -0
  69. package/scripts/install/REDIS_SETUP_VALIDATION.json +245 -0
  70. package/scripts/install/check-prerequisites.js +303 -0
  71. package/scripts/install/config-wizard.js +606 -0
  72. package/scripts/install/dependency-checker.js +385 -0
  73. package/scripts/install/health-check.js +765 -0
  74. package/scripts/install/install.js +256 -0
  75. package/scripts/install/installation-benchmark.js +461 -0
  76. package/scripts/install/quick-install.js +720 -0
  77. package/scripts/install/quick-start-wizard.js +295 -0
  78. package/scripts/install/redis-cli.js +289 -0
  79. package/scripts/install/redis-install-guides.md +407 -0
  80. package/scripts/install/redis-setup.js +559 -0
  81. package/scripts/install/redis-test.js +278 -0
  82. package/scripts/install/service-manager.js +672 -0
  83. package/scripts/install/setup.js +832 -0
  84. package/scripts/install/uninstall.js +526 -0
  85. package/scripts/install/update.js +461 -0
  86. package/scripts/install-pre-commit-hook.sh +127 -0
  87. package/scripts/legacy/README.md +272 -0
  88. package/scripts/legacy/batch-fix-ts.sh +54 -0
  89. package/scripts/legacy/build-migration.sh +105 -0
  90. package/scripts/legacy/build-monitor.js +209 -0
  91. package/scripts/legacy/build-with-filter.sh +84 -0
  92. package/scripts/legacy/build-workaround.sh +71 -0
  93. package/scripts/legacy/fix-ts-advanced.js +358 -0
  94. package/scripts/legacy/fix-ts-final.sh +50 -0
  95. package/scripts/legacy/fix-ts-targeted.sh +49 -0
  96. package/scripts/legacy/fix-typescript-errors.js +305 -0
  97. package/scripts/legacy/force-build.sh +63 -0
  98. package/scripts/legacy/optimize-performance.js +400 -0
  99. package/scripts/legacy/performance-monitor.js +263 -0
  100. package/scripts/legacy/performance-monitoring.js +532 -0
  101. package/scripts/legacy/performance-test-runner.js +645 -0
  102. package/scripts/legacy/quick-fix-ts.js +281 -0
  103. package/scripts/legacy/safe-build.sh +63 -0
  104. package/scripts/memory-monitor-coordinator.js +322 -0
  105. package/scripts/migrate-to-sdk.sh +520 -0
  106. package/scripts/migration/QUICK-START.md +189 -0
  107. package/scripts/migration/QUICK-START.md.backup-1760135091363 +189 -0
  108. package/scripts/migration/README.md +464 -0
  109. package/scripts/migration/TASK-1.3.2-COMPLETION-REPORT.md +500 -0
  110. package/scripts/migration/TASK-1.3.2-COMPLETION-REPORT.md.backup-1760135091348 +500 -0
  111. package/scripts/migration/UPDATE-PATHS-README.md +464 -0
  112. package/scripts/migration/UPDATE-PATHS-README.md.backup-1760135091337 +464 -0
  113. package/scripts/migration/example-patterns.json +19 -0
  114. package/scripts/migration/install-arm64.js +78 -0
  115. package/scripts/migration/install.js +83 -0
  116. package/scripts/migration/migrate-hooks.js +173 -0
  117. package/scripts/migration/migration-examples.ts +318 -0
  118. package/scripts/migration/reorganize-workspace.js +504 -0
  119. package/scripts/migration/test-update-paths.js +359 -0
  120. package/scripts/migration/update-paths.js +664 -0
  121. package/scripts/migration/validate-migration.js +647 -0
  122. package/scripts/monitor-loop.sh +65 -0
  123. package/scripts/monitor-memory.sh +47 -0
  124. package/scripts/monitor-migration.js +339 -0
  125. package/scripts/monitor.py +43 -0
  126. package/scripts/monitoring/README.md +178 -0
  127. package/scripts/monitoring/alert-monitor.sh +220 -0
  128. package/scripts/monitoring/analyze-resources.sh +199 -0
  129. package/scripts/monitoring/dashboards/rate-limiting-dashboard.json +211 -0
  130. package/scripts/monitoring/dynamic-monitor.sh +85 -0
  131. package/scripts/monitoring/launch-stability-test.sh +184 -0
  132. package/scripts/monitoring/monitor-test.sh +93 -0
  133. package/scripts/monitoring/pre-test-validation.sh +208 -0
  134. package/scripts/monitoring/quick-test-alerting.sh +118 -0
  135. package/scripts/monitoring/quick-test-rate-limiting.sh +206 -0
  136. package/scripts/monitoring/rate-limiting-monitor.sh +380 -0
  137. package/scripts/monitoring/resource-monitor.sh +126 -0
  138. package/scripts/monitoring/stability-monitor.js +429 -0
  139. package/scripts/monitoring/test-monitor-quick.sh +54 -0
  140. package/scripts/monitoring/view-alerts.sh +307 -0
  141. package/scripts/npm-metrics-collector.js +482 -0
  142. package/scripts/npm-package-validation.cjs +299 -0
  143. package/scripts/optimization/build-optimizer.js +438 -0
  144. package/scripts/optimization/config-validator.js +761 -0
  145. package/scripts/optimization/test-optimization.js +432 -0
  146. package/scripts/optimization/unified-activation.js +839 -0
  147. package/scripts/optimize-package-swarm.js +54 -0
  148. package/scripts/performance/ACTIVATION_COMMANDS.md +292 -0
  149. package/scripts/performance/sqlite-enhanced-activation.sh +583 -0
  150. package/scripts/performance/test-enhanced-backend.sh +504 -0
  151. package/scripts/performance-monitor.js +644 -0
  152. package/scripts/performance-test-runner.js +698 -0
  153. package/scripts/post-deployment-monitoring.js +350 -0
  154. package/scripts/post-edit-pipeline.js +2091 -0
  155. package/scripts/post-install-claude-md.js +78 -0
  156. package/scripts/postinstall.js +79 -0
  157. package/scripts/pre-publish-validation.cjs +212 -0
  158. package/scripts/pre-publish-validation.js +429 -0
  159. package/scripts/redis-lua/cleanup-blocking-coordination.lua +198 -0
  160. package/scripts/release-announcement.js +425 -0
  161. package/scripts/release-notification.js +248 -0
  162. package/scripts/release-rollback.js +376 -0
  163. package/scripts/release-validation.js +460 -0
  164. package/scripts/rollback-sdk.sh +66 -0
  165. package/scripts/run-production-validation.ts +590 -0
  166. package/scripts/run-stability-validation.sh +687 -0
  167. package/scripts/security/README.md +339 -0
  168. package/scripts/security/deployment-validation.cjs +279 -0
  169. package/scripts/security/envelope-encryption-confidence-report.cjs +422 -0
  170. package/scripts/security/install-git-hooks.sh +132 -0
  171. package/scripts/security/install-git-secrets.sh +295 -0
  172. package/scripts/security/rotate-api-keys.js +469 -0
  173. package/scripts/security/ruv-swarm-safe.js +74 -0
  174. package/scripts/security/security-audit.cjs +538 -0
  175. package/scripts/security/setup-redis-auth.sh +397 -0
  176. package/scripts/security/validate-envelope-encryption.cjs +340 -0
  177. package/scripts/security-scan.js +492 -0
  178. package/scripts/src/web/frontend/.claude-flow/metrics/agent-metrics.json +1 -0
  179. package/scripts/src/web/frontend/.claude-flow/metrics/performance.json +9 -0
  180. package/scripts/src/web/frontend/.claude-flow/metrics/task-metrics.json +10 -0
  181. package/scripts/switch-api.sh +158 -0
  182. package/scripts/sync-agents.js +290 -0
  183. package/scripts/test/50-agent-test.js +625 -0
  184. package/scripts/test/NEW_STABILITY_TEST_GUIDE.md +407 -0
  185. package/scripts/test/README.md +236 -0
  186. package/scripts/test/STABILITY_TEST_EXAMPLE.md +347 -0
  187. package/scripts/test/STABILITY_TEST_README.md +480 -0
  188. package/scripts/test/agent-worker.js +309 -0
  189. package/scripts/test/ai-coordination-test.js +650 -0
  190. package/scripts/test/ai-mesh-coordination-test.js +416 -0
  191. package/scripts/test/check-links.ts +274 -0
  192. package/scripts/test/check-performance-regression.ts +168 -0
  193. package/scripts/test/cli-agent-coordination-test.js +313 -0
  194. package/scripts/test/coordinator-multilingual-test.js +396 -0
  195. package/scripts/test/coordinator-transparency-demo.js +585 -0
  196. package/scripts/test/coverage-report.ts +692 -0
  197. package/scripts/test/generate-swarm-tests.js +633 -0
  198. package/scripts/test/integration-test-validation.cjs +253 -0
  199. package/scripts/test/load-test-swarm.js +576 -0
  200. package/scripts/test/mesh-coordination-zero-overlap-test.js +740 -0
  201. package/scripts/test/multilingual-hello-world-test.js +390 -0
  202. package/scripts/test/quick-multilingual-demo.js +464 -0
  203. package/scripts/test/real-agent-test.js +312 -0
  204. package/scripts/test/run-phase3-compliance-tests.js +427 -0
  205. package/scripts/test/run-stability-test-examples.sh +292 -0
  206. package/scripts/test/stability-results/stability-metrics.jsonl +83 -0
  207. package/scripts/test/stability-results/stability-test-report.json +128 -0
  208. package/scripts/test/stability-results/stability-test.log +1827 -0
  209. package/scripts/test/stability-test-50-agents.js +734 -0
  210. package/scripts/test/test-batch-tasks.ts +29 -0
  211. package/scripts/test/test-byzantine-resolution.js +246 -0
  212. package/scripts/test/test-claude-spawn-options.sh +63 -0
  213. package/scripts/test/test-cli-wizard.js +331 -0
  214. package/scripts/test/test-comprehensive.js +401 -0
  215. package/scripts/test/test-coordination-features.ts +238 -0
  216. package/scripts/test/test-fallback-systems.js +276 -0
  217. package/scripts/test/test-init-command.ts +302 -0
  218. package/scripts/test/test-mcp.ts +251 -0
  219. package/scripts/test/test-runner.ts +568 -0
  220. package/scripts/test/test-swarm-integration.sh +92 -0
  221. package/scripts/test/test-swarm.ts +142 -0
  222. package/scripts/test/validation-summary.ts +408 -0
  223. package/scripts/test-cleanup-performance.sh +416 -0
  224. package/scripts/test-dashboard-auth.cjs +203 -0
  225. package/scripts/test-docker-deployment.sh +207 -0
  226. package/scripts/test-npm-package.cjs +167 -0
  227. package/scripts/test-provider-routing.cjs +226 -0
  228. package/scripts/test-routing-telemetry.cjs +147 -0
  229. package/scripts/test-runner.cjs +154 -0
  230. package/scripts/test-zai-10k.cjs +81 -0
  231. package/scripts/test-zai-api.cjs +191 -0
  232. package/scripts/test-zai-diagnostic.cjs +151 -0
  233. package/scripts/test-zai-final.cjs +128 -0
  234. package/scripts/test-zai-with-env.cjs +85 -0
  235. package/scripts/utils/README.md +261 -0
  236. package/scripts/utils/clean-build-artifacts.sh +94 -0
  237. package/scripts/utils/cleanup-root.sh +69 -0
  238. package/scripts/utils/fix-cliffy-imports.js +307 -0
  239. package/scripts/utils/fix-duplicate-imports.js +114 -0
  240. package/scripts/utils/fix-error-handling.cjs +70 -0
  241. package/scripts/utils/fix-import-paths.js +104 -0
  242. package/scripts/utils/fix-imports.js +116 -0
  243. package/scripts/utils/fix-shebang.js +78 -0
  244. package/scripts/utils/fix-test-modules.js +27 -0
  245. package/scripts/utils/fix-timezone-issue-246.js +200 -0
  246. package/scripts/utils/fix-ts-comprehensive.py +182 -0
  247. package/scripts/utils/fix-ts-targeted-batch.js +250 -0
  248. package/scripts/utils/remove-benchmark-conflicts.sh +140 -0
  249. package/scripts/utils/simple-test-fixer.js +190 -0
  250. package/scripts/utils/validate-metrics-structure.cjs +144 -0
  251. package/scripts/validate-agent-hooks.js +506 -0
  252. package/scripts/validate-changelog.js +241 -0
  253. package/scripts/validate-coordination-cli.js +69 -0
  254. package/scripts/validate-coordination-toggle-integration.cjs +501 -0
  255. package/scripts/validate-docker-infrastructure.sh +502 -0
  256. package/scripts/validate-entry-points.js +300 -0
  257. package/scripts/validate-stage3-performance.ts +377 -0
  258. package/scripts/validate-template-bundling.js +180 -0
  259. package/scripts/validation/README.md +33 -0
  260. package/scripts/validation/acl-security-validation.cjs +214 -0
  261. package/scripts/validation/acl-security-validation.js +402 -0
  262. package/scripts/validation/byzantine-verification.js +407 -0
  263. package/scripts/validation/final-phase-2-consensus.cjs +219 -0
  264. package/scripts/validation/final-security-validation.js +791 -0
  265. package/scripts/validation/final-wasm-validation.cjs +840 -0
  266. package/scripts/validation/integration-test-analysis.js +105 -0
  267. package/scripts/validation/phase-0-comprehensive-validation.js +474 -0
  268. package/scripts/validation/phase-0-consensus-report.js +139 -0
  269. package/scripts/validation/phase-0-final-report.js +112 -0
  270. package/scripts/validation/phase-0-redis-consensus-report.js +129 -0
  271. package/scripts/validation/phase-0-validation-improved.js +490 -0
  272. package/scripts/validation/phase-0-validation-test.js +65 -0
  273. package/scripts/validation/phase-1-consensus-report.cjs +342 -0
  274. package/scripts/validation/phase-1-consensus-validation.cjs +551 -0
  275. package/scripts/validation/phase-1-consensus-validation.js +551 -0
  276. package/scripts/validation/phase-2-consensus-report.cjs +186 -0
  277. package/scripts/validation/phase-2-validation.cjs +171 -0
  278. package/scripts/validation/phase-2-validation.js +171 -0
  279. package/scripts/validation/phase-4-consensus-report.js +181 -0
  280. package/scripts/validation/phase-4-final-validation.js +351 -0
  281. package/scripts/validation/phase-5-consensus-report.cjs +113 -0
  282. package/scripts/validation/phase-5-consensus-report.js +113 -0
  283. package/scripts/validation/security-analysis.js +49 -0
  284. package/scripts/validation/security-validation.js +492 -0
  285. package/scripts/validation/simple-security-validation.js +464 -0
  286. package/scripts/verify-installation.js +112 -0
  287. package/scripts/verify-mcp-server.js +86 -0
  288. package/scripts/verify-sdk-phase1.cjs +293 -0
@@ -0,0 +1,520 @@
1
+ #!/bin/bash
2
+
3
+ ###############################################################################
4
+ # Claude SDK Migration Script
5
+ # Phase 4: Production Optimization
6
+ #
7
+ # Performs gradual rollout of SDK integration with validation and rollback
8
+ ###############################################################################
9
+
10
+ set -e
11
+
12
+ # Colors for output
13
+ RED='\033[0;31m'
14
+ GREEN='\033[0;32m'
15
+ YELLOW='\033[1;33m'
16
+ BLUE='\033[0;34m'
17
+ NC='\033[0m' # No Color
18
+
19
+ # Configuration
20
+ MIGRATION_LOG="./logs/sdk-migration.log"
21
+ ROLLBACK_SNAPSHOT="./backups/pre-sdk-snapshot"
22
+ VALIDATION_THRESHOLD=0.95
23
+ MAX_ERROR_RATE=0.01
24
+
25
+ # Create required directories
26
+ mkdir -p logs backups
27
+
28
+ # Logging functions
29
+ log() {
30
+ echo -e "${GREEN}[$(date +'%Y-%m-%d %H:%M:%S')]${NC} $1" | tee -a "$MIGRATION_LOG"
31
+ }
32
+
33
+ warn() {
34
+ echo -e "${YELLOW}[$(date +'%Y-%m-%d %H:%M:%S')] WARNING:${NC} $1" | tee -a "$MIGRATION_LOG"
35
+ }
36
+
37
+ error() {
38
+ echo -e "${RED}[$(date +'%Y-%m-%d %H:%M:%S')] ERROR:${NC} $1" | tee -a "$MIGRATION_LOG"
39
+ }
40
+
41
+ info() {
42
+ echo -e "${BLUE}[$(date +'%Y-%m-%d %H:%M:%S')] INFO:${NC} $1" | tee -a "$MIGRATION_LOG"
43
+ }
44
+
45
+ # Phase detection
46
+ get_current_phase() {
47
+ if [ -f ".migration-phase" ]; then
48
+ cat .migration-phase
49
+ else
50
+ echo "0"
51
+ fi
52
+ }
53
+
54
+ set_phase() {
55
+ echo "$1" > .migration-phase
56
+ log "Migration phase set to: $1"
57
+ }
58
+
59
+ # Backup current state
60
+ create_backup() {
61
+ log "Creating backup snapshot..."
62
+
63
+ mkdir -p "$ROLLBACK_SNAPSHOT"
64
+
65
+ # Backup critical files
66
+ cp .env "$ROLLBACK_SNAPSHOT/.env.backup" 2>/dev/null || true
67
+ cp package.json "$ROLLBACK_SNAPSHOT/package.json.backup"
68
+
69
+ # Backup current metrics
70
+ if [ -f ".metrics-snapshot" ]; then
71
+ cp .metrics-snapshot "$ROLLBACK_SNAPSHOT/metrics-snapshot.backup"
72
+ fi
73
+
74
+ # Store current git commit
75
+ git rev-parse HEAD > "$ROLLBACK_SNAPSHOT/git-commit.txt" 2>/dev/null || true
76
+
77
+ log "✅ Backup created at: $ROLLBACK_SNAPSHOT"
78
+ }
79
+
80
+ # Restore from backup
81
+ restore_backup() {
82
+ error "Restoring from backup..."
83
+
84
+ if [ ! -d "$ROLLBACK_SNAPSHOT" ]; then
85
+ error "No backup found! Cannot rollback."
86
+ exit 1
87
+ fi
88
+
89
+ # Restore environment
90
+ cp "$ROLLBACK_SNAPSHOT/.env.backup" .env 2>/dev/null || true
91
+
92
+ # Restore git state if available
93
+ if [ -f "$ROLLBACK_SNAPSHOT/git-commit.txt" ]; then
94
+ COMMIT=$(cat "$ROLLBACK_SNAPSHOT/git-commit.txt")
95
+ git checkout "$COMMIT" 2>/dev/null || warn "Could not restore git commit"
96
+ fi
97
+
98
+ # Restart services
99
+ npm run stop 2>/dev/null || true
100
+ npm run start
101
+
102
+ log "✅ Rollback complete"
103
+ }
104
+
105
+ # Validate SDK installation
106
+ validate_sdk_installation() {
107
+ log "Validating SDK installation..."
108
+
109
+ if ! npm list @anthropic-ai/claude-agent-sdk > /dev/null 2>&1; then
110
+ warn "SDK not installed. Installing..."
111
+ npm install @anthropic-ai/claude-agent-sdk
112
+ fi
113
+
114
+ # Verify SDK can be required
115
+ node -e "require('@anthropic-ai/claude-agent-sdk')" || {
116
+ error "SDK installation failed"
117
+ return 1
118
+ }
119
+
120
+ log "✅ SDK installation validated"
121
+ return 0
122
+ }
123
+
124
+ # Run tests
125
+ run_tests() {
126
+ local test_type=$1
127
+ log "Running $test_type tests..."
128
+
129
+ case $test_type in
130
+ "unit")
131
+ npm test -- --testPathPattern="src/sdk" || return 1
132
+ ;;
133
+ "integration")
134
+ npm run test:integration || return 1
135
+ ;;
136
+ "performance")
137
+ npm run test:performance || return 1
138
+ ;;
139
+ *)
140
+ npm test || return 1
141
+ ;;
142
+ esac
143
+
144
+ log "✅ $test_type tests passed"
145
+ return 0
146
+ }
147
+
148
+ # Collect metrics
149
+ collect_metrics() {
150
+ log "Collecting current metrics..."
151
+
152
+ # Make metrics collection request
153
+ local metrics=$(curl -s http://localhost:3000/api/summary 2>/dev/null || echo "{}")
154
+
155
+ if [ "$metrics" = "{}" ]; then
156
+ warn "Could not collect metrics - dashboard may not be running"
157
+ return 1
158
+ fi
159
+
160
+ echo "$metrics" > .metrics-snapshot
161
+ log "✅ Metrics collected"
162
+ return 0
163
+ }
164
+
165
+ # Validate metrics
166
+ validate_metrics() {
167
+ log "Validating metrics against thresholds..."
168
+
169
+ if [ ! -f ".metrics-snapshot" ]; then
170
+ warn "No metrics snapshot found"
171
+ return 1
172
+ fi
173
+
174
+ # Extract key metrics using node
175
+ local validation_result=$(node -e "
176
+ const metrics = require('./.metrics-snapshot');
177
+ const validationSuccess = metrics.quality?.validationSuccessRate || 0;
178
+ const errorRate = metrics.performance?.errorRate || 1;
179
+
180
+ const passed = validationSuccess >= $VALIDATION_THRESHOLD && errorRate <= $MAX_ERROR_RATE;
181
+
182
+ console.log(JSON.stringify({
183
+ passed,
184
+ validationSuccess,
185
+ errorRate,
186
+ message: passed ? 'Metrics validation passed' : 'Metrics validation failed'
187
+ }));
188
+ ")
189
+
190
+ local passed=$(echo "$validation_result" | node -pe "JSON.parse(require('fs').readFileSync(0)).passed")
191
+
192
+ if [ "$passed" = "true" ]; then
193
+ log "✅ Metrics validation passed"
194
+ return 0
195
+ else
196
+ error "❌ Metrics validation failed"
197
+ echo "$validation_result" | tee -a "$MIGRATION_LOG"
198
+ return 1
199
+ fi
200
+ }
201
+
202
+ # Phase 0: Pre-migration setup
203
+ phase_0_setup() {
204
+ log "========================================="
205
+ log "Phase 0: Pre-migration Setup"
206
+ log "========================================="
207
+
208
+ # Create backup
209
+ create_backup
210
+
211
+ # Validate environment
212
+ if [ ! -f ".env" ]; then
213
+ warn "No .env file found. Creating from template..."
214
+ cp .env.example .env 2>/dev/null || {
215
+ error "No .env.example found. Please create .env manually."
216
+ return 1
217
+ }
218
+ fi
219
+
220
+ # Check for API key
221
+ if ! grep -q "CLAUDE_API_KEY" .env; then
222
+ error "CLAUDE_API_KEY not found in .env"
223
+ return 1
224
+ fi
225
+
226
+ # Install SDK
227
+ validate_sdk_installation || return 1
228
+
229
+ # Run baseline tests
230
+ run_tests "unit" || return 1
231
+
232
+ set_phase 1
233
+ log "✅ Phase 0 complete - Ready for gradual rollout"
234
+ }
235
+
236
+ # Phase 1: Enable caching (5% traffic)
237
+ phase_1_caching() {
238
+ log "========================================="
239
+ log "Phase 1: Enable SDK Caching (5% traffic)"
240
+ log "========================================="
241
+
242
+ # Update environment variables
243
+ cat >> .env << EOF
244
+
245
+ # SDK Integration - Phase 1
246
+ ENABLE_SDK_INTEGRATION=true
247
+ SDK_INTEGRATION_MODE=parallel
248
+ ENABLE_SDK_CACHING=true
249
+ ENABLE_CONTEXT_EDITING=true
250
+ SDK_ROLLOUT_PERCENTAGE=5
251
+ EOF
252
+
253
+ log "Environment variables updated"
254
+
255
+ # Restart with new config
256
+ info "Restarting services..."
257
+ npm run stop 2>/dev/null || true
258
+ sleep 2
259
+ npm run start &
260
+
261
+ # Wait for startup
262
+ sleep 10
263
+
264
+ # Start monitoring
265
+ info "Starting monitoring dashboard..."
266
+ npm run dashboard &
267
+ DASHBOARD_PID=$!
268
+ sleep 5
269
+
270
+ # Collect initial metrics
271
+ collect_metrics || warn "Could not collect initial metrics"
272
+
273
+ # Monitor for 1 hour (or as specified)
274
+ local monitor_duration=${PHASE_1_DURATION:-3600}
275
+ info "Monitoring for $monitor_duration seconds..."
276
+
277
+ local start_time=$(date +%s)
278
+ local check_interval=60
279
+
280
+ while [ $(($(date +%s) - start_time)) -lt $monitor_duration ]; do
281
+ sleep $check_interval
282
+
283
+ collect_metrics
284
+
285
+ if ! validate_metrics; then
286
+ error "Metrics validation failed during Phase 1"
287
+ warn "Initiating rollback..."
288
+ restore_backup
289
+ return 1
290
+ fi
291
+
292
+ info "Phase 1 monitoring: $(($(date +%s) - start_time))s / ${monitor_duration}s"
293
+ done
294
+
295
+ log "✅ Phase 1 monitoring complete - Metrics stable"
296
+ set_phase 2
297
+ }
298
+
299
+ # Phase 2: Self-validation (25% traffic)
300
+ phase_2_validation() {
301
+ log "========================================="
302
+ log "Phase 2: Enable Self-Validation (25% traffic)"
303
+ log "========================================="
304
+
305
+ # Update rollout percentage
306
+ sed -i 's/SDK_ROLLOUT_PERCENTAGE=5/SDK_ROLLOUT_PERCENTAGE=25/' .env
307
+
308
+ # Enable self-validation
309
+ cat >> .env << EOF
310
+ ENABLE_SELF_VALIDATION=true
311
+ VALIDATION_MODE=parallel
312
+ CONFIDENCE_THRESHOLD=0.75
313
+ EOF
314
+
315
+ log "Self-validation enabled"
316
+
317
+ # Restart services
318
+ npm run stop 2>/dev/null || true
319
+ sleep 2
320
+ npm run start &
321
+ sleep 10
322
+
323
+ # Run validation tests
324
+ run_tests "integration" || {
325
+ error "Integration tests failed in Phase 2"
326
+ restore_backup
327
+ return 1
328
+ }
329
+
330
+ log "✅ Phase 2 complete - Self-validation working"
331
+ set_phase 3
332
+ }
333
+
334
+ # Phase 3: Full integration (75% traffic)
335
+ phase_3_full_integration() {
336
+ log "========================================="
337
+ log "Phase 3: Full SDK Integration (75% traffic)"
338
+ log "========================================="
339
+
340
+ # Update rollout percentage
341
+ sed -i 's/SDK_ROLLOUT_PERCENTAGE=25/SDK_ROLLOUT_PERCENTAGE=75/' .env
342
+
343
+ # Enable full features
344
+ cat >> .env << EOF
345
+ SDK_INTEGRATION=full
346
+ CONSENSUS_MODE=validated_only
347
+ MAX_PARALLEL_AGENTS=10
348
+ EOF
349
+
350
+ log "Full integration enabled"
351
+
352
+ # Restart services
353
+ npm run stop 2>/dev/null || true
354
+ sleep 2
355
+ npm run start &
356
+ sleep 10
357
+
358
+ # Run comprehensive tests
359
+ run_tests "integration" || {
360
+ error "Integration tests failed in Phase 3"
361
+ restore_backup
362
+ return 1
363
+ }
364
+
365
+ run_tests "performance" || {
366
+ error "Performance tests failed in Phase 3"
367
+ restore_backup
368
+ return 1
369
+ }
370
+
371
+ log "✅ Phase 3 complete - Full integration working"
372
+ set_phase 4
373
+ }
374
+
375
+ # Phase 4: Production (100% traffic)
376
+ phase_4_production() {
377
+ log "========================================="
378
+ log "Phase 4: Production Deployment (100% traffic)"
379
+ log "========================================="
380
+
381
+ # Update to 100%
382
+ sed -i 's/SDK_ROLLOUT_PERCENTAGE=75/SDK_ROLLOUT_PERCENTAGE=100/' .env
383
+
384
+ # Production configuration
385
+ cat >> .env << EOF
386
+ ENVIRONMENT=production
387
+ MONITORING_ENABLED=true
388
+ ALERTS_ENABLED=true
389
+ AUTO_ROLLBACK=true
390
+ EOF
391
+
392
+ log "Production configuration applied"
393
+
394
+ # Final restart
395
+ npm run stop 2>/dev/null || true
396
+ sleep 2
397
+ npm run start &
398
+ sleep 10
399
+
400
+ # Comprehensive validation
401
+ info "Running production validation..."
402
+ npm run validate:production || {
403
+ error "Production validation failed"
404
+ restore_backup
405
+ return 1
406
+ }
407
+
408
+ # Collect final metrics
409
+ collect_metrics
410
+
411
+ log "========================================="
412
+ log "✅ SDK MIGRATION COMPLETE!"
413
+ log "========================================="
414
+
415
+ # Print summary
416
+ info "Migration Summary:"
417
+ info " - Phase 0: Setup ✓"
418
+ info " - Phase 1: Caching (5%) ✓"
419
+ info " - Phase 2: Validation (25%) ✓"
420
+ info " - Phase 3: Integration (75%) ✓"
421
+ info " - Phase 4: Production (100%) ✓"
422
+ info ""
423
+ info "Dashboard: http://localhost:3000"
424
+ info "Logs: $MIGRATION_LOG"
425
+ info "Backup: $ROLLBACK_SNAPSHOT"
426
+
427
+ set_phase "complete"
428
+ }
429
+
430
+ # Rollback function
431
+ rollback() {
432
+ log "========================================="
433
+ log "INITIATING EMERGENCY ROLLBACK"
434
+ log "========================================="
435
+
436
+ local current_phase=$(get_current_phase)
437
+ error "Rolling back from phase: $current_phase"
438
+
439
+ restore_backup
440
+
441
+ # Reset phase
442
+ set_phase 0
443
+
444
+ error "Rollback complete. Please investigate issues before retrying."
445
+ exit 1
446
+ }
447
+
448
+ # Main migration flow
449
+ main() {
450
+ log "========================================="
451
+ log "Claude SDK Migration"
452
+ log "Started: $(date)"
453
+ log "========================================="
454
+
455
+ # Set up error handling
456
+ trap rollback ERR
457
+
458
+ local current_phase=$(get_current_phase)
459
+ local target_phase=${1:-4}
460
+
461
+ info "Current phase: $current_phase"
462
+ info "Target phase: $target_phase"
463
+
464
+ # Execute phases
465
+ if [ "$current_phase" -lt 1 ] && [ "$target_phase" -ge 1 ]; then
466
+ phase_0_setup || exit 1
467
+ fi
468
+
469
+ if [ "$current_phase" -lt 2 ] && [ "$target_phase" -ge 2 ]; then
470
+ phase_1_caching || exit 1
471
+ fi
472
+
473
+ if [ "$current_phase" -lt 3 ] && [ "$target_phase" -ge 3 ]; then
474
+ phase_2_validation || exit 1
475
+ fi
476
+
477
+ if [ "$current_phase" -lt 4 ] && [ "$target_phase" -ge 4 ]; then
478
+ phase_3_full_integration || exit 1
479
+ fi
480
+
481
+ if [ "$current_phase" -lt 5 ] && [ "$target_phase" -ge 4 ]; then
482
+ phase_4_production || exit 1
483
+ fi
484
+
485
+ log "========================================="
486
+ log "Migration completed successfully!"
487
+ log "Completed: $(date)"
488
+ log "========================================="
489
+ }
490
+
491
+ # Handle command line arguments
492
+ case "${1:-migrate}" in
493
+ migrate)
494
+ main "${2:-4}"
495
+ ;;
496
+ rollback)
497
+ rollback
498
+ ;;
499
+ status)
500
+ current_phase=$(get_current_phase)
501
+ echo "Current migration phase: $current_phase"
502
+ if [ -f ".metrics-snapshot" ]; then
503
+ echo "Latest metrics:"
504
+ cat .metrics-snapshot | node -pe "JSON.stringify(JSON.parse(require('fs').readFileSync(0)), null, 2)"
505
+ fi
506
+ ;;
507
+ validate)
508
+ validate_metrics
509
+ ;;
510
+ *)
511
+ echo "Usage: $0 {migrate|rollback|status|validate} [target_phase]"
512
+ echo ""
513
+ echo "Commands:"
514
+ echo " migrate [phase] - Run migration to specified phase (default: 4)"
515
+ echo " rollback - Rollback to pre-migration state"
516
+ echo " status - Show current migration status"
517
+ echo " validate - Validate current metrics"
518
+ exit 1
519
+ ;;
520
+ esac
@@ -0,0 +1,189 @@
1
+ # Path Update Automation - Quick Start Guide
2
+
3
+ Fast reference for common path update operations.
4
+
5
+ ## TL;DR
6
+
7
+ ```bash
8
+ # Preview changes (always do this first!)
9
+ node scripts/migration/update-paths.js \
10
+ --pattern "old-path" \
11
+ --replacement "new-path" \
12
+ --dry-run
13
+
14
+ # Apply changes
15
+ node scripts/migration/update-paths.js \
16
+ --pattern "old-path" \
17
+ --replacement "new-path"
18
+ ```
19
+
20
+ ## Common Operations
21
+
22
+ ### 1. Update Test Script Paths
23
+
24
+ ```bash
25
+ # Preview
26
+ node scripts/migration/update-paths.js \
27
+ --pattern "node tests/manual/test-" \
28
+ --replacement "node tests/manual/test-" \
29
+ --types yml,json,js,md \
30
+ --dry-run
31
+
32
+ # Apply
33
+ node scripts/migration/update-paths.js \
34
+ --pattern "node tests/manual/test-" \
35
+ --replacement "node tests/manual/test-" \
36
+ --types yml,json,js,md
37
+ ```
38
+
39
+ ### 2. Update Build Directory References
40
+
41
+ ```bash
42
+ # Preview (regex mode)
43
+ node scripts/migration/update-paths.js \
44
+ --pattern "\.claude-flow-novice/dist" \
45
+ --replacement "dist/" \
46
+ --regex \
47
+ --dry-run
48
+
49
+ # Apply
50
+ node scripts/migration/update-paths.js \
51
+ --pattern "\.claude-flow-novice/dist" \
52
+ --replacement "dist/" \
53
+ --regex
54
+ ```
55
+
56
+ ### 3. Batch Multiple Updates
57
+
58
+ ```bash
59
+ # Use config file
60
+ node scripts/migration/update-paths.js \
61
+ --config scripts/migration/example-patterns.json \
62
+ --dry-run
63
+
64
+ # Apply if satisfied
65
+ node scripts/migration/update-paths.js \
66
+ --config scripts/migration/example-patterns.json
67
+ ```
68
+
69
+ ### 4. Update Only Documentation
70
+
71
+ ```bash
72
+ node scripts/migration/update-paths.js \
73
+ --pattern "old-command" \
74
+ --replacement "new-command" \
75
+ --types md \
76
+ --verbose
77
+ ```
78
+
79
+ ### 5. Update GitHub Workflows
80
+
81
+ ```bash
82
+ node scripts/migration/update-paths.js \
83
+ --pattern "working-directory: ./old" \
84
+ --replacement "working-directory: ./new" \
85
+ --types yml \
86
+ --dry-run
87
+ ```
88
+
89
+ ## Quick Flags
90
+
91
+ | Flag | Short | What it does |
92
+ |------|-------|-------------|
93
+ | `--pattern` | `-p` | What to find |
94
+ | `--replacement` | `-r` | What to replace with |
95
+ | `--config` | `-c` | Use config file |
96
+ | `--types` | `-t` | File types (yml,json,js,md) |
97
+ | `--dry-run` | `-d` | Preview only |
98
+ | `--regex` | | Treat pattern as regex |
99
+ | `--verbose` | `-v` | Show details |
100
+ | `--no-backup` | | Skip backups |
101
+ | `--help` | `-h` | Show help |
102
+
103
+ ## Config File Template
104
+
105
+ ```json
106
+ {
107
+ "patterns": [
108
+ {
109
+ "pattern": "search-string",
110
+ "replacement": "replace-string",
111
+ "description": "What this does"
112
+ }
113
+ ]
114
+ }
115
+ ```
116
+
117
+ ## Safety Checklist
118
+
119
+ - [ ] Run with `--dry-run` first
120
+ - [ ] Review the output carefully
121
+ - [ ] Check file count makes sense
122
+ - [ ] Verify patterns are correct
123
+ - [ ] Test on single file type first
124
+ - [ ] Keep backups enabled (default)
125
+ - [ ] Commit to git before running
126
+
127
+ ## Common Mistakes
128
+
129
+ 1. **Forgetting to escape regex characters**
130
+ ```bash
131
+ # Wrong
132
+ --pattern ".claude-flow-novice/dist" --regex
133
+
134
+ # Right
135
+ --pattern "\.claude-flow-novice/dist" --regex
136
+ ```
137
+
138
+ 2. **Not using dry-run first**
139
+ ```bash
140
+ # Always start with dry-run!
141
+ --dry-run
142
+ ```
143
+
144
+ 3. **Wrong file type filter**
145
+ ```bash
146
+ # Check which file types you need
147
+ --types yml,json,js,md
148
+ ```
149
+
150
+ ## Troubleshooting
151
+
152
+ ### No files found
153
+ ```bash
154
+ # Check file types
155
+ --types yml,yaml,json,js,mjs,cjs,md
156
+ ```
157
+
158
+ ### Pattern not matching
159
+ ```bash
160
+ # Use verbose to see what's happening
161
+ --verbose
162
+ ```
163
+
164
+ ### Validation errors
165
+ ```bash
166
+ # Check pattern doesn't break syntax
167
+ --dry-run
168
+ ```
169
+
170
+ ## Full Documentation
171
+
172
+ For detailed documentation, see:
173
+ - [UPDATE-PATHS-README.md](./UPDATE-PATHS-README.md) - Complete guide
174
+ - [example-patterns.json](./example-patterns.json) - Example patterns
175
+ - Run `--help` for built-in help
176
+
177
+ ## Testing
178
+
179
+ ```bash
180
+ # Run test suite
181
+ node scripts/migration/test-update-paths.js
182
+ ```
183
+
184
+ ## Examples
185
+
186
+ See `example-patterns.json` for ready-to-use patterns:
187
+ - Test script migration
188
+ - Build directory updates
189
+ - Artifact path changes