claude-flow-novice 2.15.2 → 2.15.4

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 (533) hide show
  1. package/.claude/cfn-extras/skills/advanced-features/cfn-agent-swap/recommend-swap.sh +59 -59
  2. package/.claude/cfn-extras/skills/analytics/cfn-improvement-recommender/recommend-improvements.sh +91 -91
  3. package/.claude/cfn-extras/skills/analytics/cfn-pattern-extraction/extract-patterns.sh +79 -79
  4. package/.claude/cfn-extras/skills/analytics/cfn-retrospective-report/generate-report.sh +100 -100
  5. package/.claude/cfn-extras/skills/analytics/cfn-telemetry/start-telemetry.sh +110 -110
  6. package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/add-bullet.sh +145 -145
  7. package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/log-merge.sh +67 -67
  8. package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/monitor-injection-performance.sh +137 -137
  9. package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/optimize-injection-pipeline.sh +168 -168
  10. package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/query-reflections.sh +35 -35
  11. package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/store-reflection.sh +45 -45
  12. package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/track-ab-test.sh +41 -41
  13. package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/update-reflection.sh +41 -41
  14. package/.claude/cfn-extras/skills/deprecated/cfn-cli-setup/validate-cli-environment.sh +191 -191
  15. package/.claude/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/create-campaign.sh +231 -231
  16. package/.claude/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/get-campaign-performance.sh +190 -190
  17. package/.claude/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/pause-campaign.sh +142 -142
  18. package/.claude/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/set-budget.sh +181 -181
  19. package/.claude/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/update-bid-strategy.sh +133 -133
  20. package/.claude/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/get-conversation-history.sh +121 -121
  21. package/.claude/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/qualify-lead.sh +156 -156
  22. package/.claude/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/schedule-demo.sh +181 -181
  23. package/.claude/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/send-message.sh +137 -137
  24. package/.claude/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/transfer-to-human.sh +179 -179
  25. package/.claude/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/create-campaign.sh +183 -183
  26. package/.claude/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/get-delivery-status.sh +139 -139
  27. package/.claude/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/opt-out.sh +150 -150
  28. package/.claude/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/schedule-campaign.sh +187 -187
  29. package/.claude/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/send-sms.sh +181 -181
  30. package/.claude/cfn-extras/skills/ui-portal/cfn-web-portal/test-web-portal-skill.sh +50 -50
  31. package/.claude/cfn-extras/skills/ui-portal/cfn-web-portal/validate-deployment.sh +84 -84
  32. package/.claude/cfn-extras/skills/utility/cfn-environment-sanitization/sanitize-environment.sh +243 -243
  33. package/.claude/commands/cfn-loop-cli.md +16 -2
  34. package/.claude/commands/switch-api.md +31 -10
  35. package/.claude/hooks/cfn-BACKUP_USAGE.md +243 -243
  36. package/.claude/hooks/cfn-invoke-security-validation.sh +69 -69
  37. package/.claude/hooks/cfn-lint-sql-injection.sh +61 -0
  38. package/.claude/hooks/cfn-post-edit-cfn-retrospective.sh +109 -78
  39. package/.claude/hooks/cfn-post-edit.config.json +44 -44
  40. package/.claude/hooks/cfn-pre-edit-security-warning.sh +40 -0
  41. package/.claude/skills/cfn-agent-spawning/spawn-agent.sh +22 -24
  42. package/.claude/skills/cfn-docker-agent-spawning/SKILL.md +28 -4
  43. package/.claude/skills/cfn-docker-agent-spawning/spawn-agent.sh +3 -1
  44. package/.claude/skills/cfn-docker-loop-orchestration/orchestrate.sh +224 -20
  45. package/.claude/skills/cfn-hybrid-routing/check-dependencies.sh +51 -51
  46. package/.claude/skills/cfn-loop-orchestration/helpers/gate-check.sh +550 -46
  47. package/.claude/skills/cfn-loop-orchestration/helpers/parse-test-results.sh +277 -0
  48. package/.claude/skills/cfn-loop-orchestration/orchestrate.sh +184 -23
  49. package/.claude/skills/cfn-loop-orchestration/security_utils.sh +24 -0
  50. package/.claude/skills/cfn-loop-orchestration/test-iteration-context-injection.sh +366 -0
  51. package/.claude/skills/cfn-loop-validation/orchestrate-cfn-loop.sh +252 -252
  52. package/.claude/skills/cfn-redis-coordination/CENTRALIZED_REDIS_WRAPPER.md +319 -0
  53. package/.claude/skills/cfn-redis-coordination/agent-log.sh +4 -0
  54. package/.claude/skills/cfn-redis-coordination/agent-log.sh.bak +124 -0
  55. package/.claude/skills/cfn-redis-coordination/agent-recovery.sh +74 -74
  56. package/.claude/skills/cfn-redis-coordination/collect-confidence-scores.sh +30 -0
  57. package/.claude/skills/cfn-redis-coordination/get-context.sh +145 -112
  58. package/.claude/skills/cfn-redis-coordination/get-success-criteria.sh +54 -0
  59. package/.claude/skills/cfn-redis-coordination/invoke-waiting-mode.sh +3 -0
  60. package/.claude/skills/cfn-redis-coordination/redis-cli-wrapper.sh +24 -3
  61. package/.claude/skills/cfn-redis-coordination/redis-functions.sh +33 -0
  62. package/.claude/skills/cfn-redis-coordination/report-completion.sh +24 -31
  63. package/.claude/skills/cfn-redis-coordination/store-context.sh +4 -0
  64. package/.claude/skills/cfn-redis-coordination/store-success-criteria.sh +85 -0
  65. package/.claude/skills/cfn-redis-coordination/update-all-scripts.sh +67 -0
  66. package/.claude/skills/cfn-sqlite-memory/ttl-cleanup.sh +17 -25
  67. package/.claude/skills/cfn-transparency-middleware/middleware-config.sh +28 -28
  68. package/.claude/skills/cfn-transparency-middleware/performance-benchmark.sh +78 -78
  69. package/.claude/skills/cfn-transparency-middleware/test-e2e.sh +15 -0
  70. package/.claude/skills/cfn-transparency-middleware/test-integration.sh +161 -161
  71. package/.claude/skills/cfn-transparency-middleware/test-transparency-skill.sh +367 -367
  72. package/.claude/skills/cfn-transparency-middleware/tests/input-validation.sh +107 -92
  73. package/.claude/skills/cfn-transparency-middleware/wrap-agent.sh +131 -131
  74. package/README.md +116 -475
  75. package/claude-assets/agents/cfn-dev-team/README.md +103 -0
  76. package/claude-assets/agents/cfn-dev-team/architecture/goal-planner.md +1 -1
  77. package/claude-assets/agents/cfn-dev-team/coordinators/cfn-frontend-coordinator.md +77 -15
  78. package/claude-assets/agents/cfn-dev-team/coordinators/cfn-v3-coordinator.md +355 -6
  79. package/claude-assets/agents/cfn-dev-team/coordinators/consensus-builder.md +82 -1
  80. package/claude-assets/agents/cfn-dev-team/coordinators/handoff-coordinator.md +82 -1
  81. package/claude-assets/agents/cfn-dev-team/coordinators/multi-sprint-coordinator.md +77 -15
  82. package/claude-assets/agents/cfn-dev-team/dev-ops/docker-specialist.md +99 -12
  83. package/claude-assets/agents/cfn-dev-team/dev-ops/github-commit-agent.md +1 -1
  84. package/claude-assets/agents/cfn-dev-team/dev-ops/kubernetes-specialist.md +97 -0
  85. package/claude-assets/agents/cfn-dev-team/dev-ops/monitoring-specialist.md +20 -1
  86. package/claude-assets/agents/cfn-dev-team/developers/api-gateway-specialist.md +97 -0
  87. package/claude-assets/agents/cfn-dev-team/developers/backend-developer.md +110 -13
  88. package/claude-assets/agents/cfn-dev-team/developers/data/data-engineer.md +106 -15
  89. package/claude-assets/agents/cfn-dev-team/developers/database/database-architect.md +115 -11
  90. package/claude-assets/agents/cfn-dev-team/developers/frontend/mobile-dev.md +94 -7
  91. package/claude-assets/agents/cfn-dev-team/developers/frontend/react-frontend-engineer.md +87 -9
  92. package/claude-assets/agents/cfn-dev-team/developers/frontend/typescript-specialist.md +85 -7
  93. package/claude-assets/agents/cfn-dev-team/developers/frontend/ui-designer.md +160 -28
  94. package/claude-assets/agents/cfn-dev-team/developers/graphql-specialist.md +101 -19
  95. package/claude-assets/agents/cfn-dev-team/developers/rust-developer.md +108 -14
  96. package/claude-assets/agents/cfn-dev-team/reviewers/{reviewer.md → code-reviewer.md} +95 -8
  97. package/claude-assets/agents/cfn-dev-team/reviewers/quality/code-quality-validator.md +107 -7
  98. package/claude-assets/agents/cfn-dev-team/reviewers/quality/perf-analyzer.md +98 -7
  99. package/claude-assets/agents/cfn-dev-team/reviewers/quality/performance-benchmarker.md +95 -7
  100. package/claude-assets/agents/cfn-dev-team/reviewers/quality/security-specialist.md +136 -9
  101. package/claude-assets/agents/cfn-dev-team/testers/api-testing-specialist.md +108 -1
  102. package/claude-assets/agents/cfn-dev-team/testers/chaos-engineering-specialist.md +107 -13
  103. package/claude-assets/agents/cfn-dev-team/testers/contract-tester.md +737 -0
  104. package/claude-assets/agents/cfn-dev-team/testers/e2e/playwright-tester.md +1 -1
  105. package/claude-assets/agents/cfn-dev-team/testers/integration-tester.md +828 -0
  106. package/claude-assets/agents/cfn-dev-team/testers/interaction-tester.md +106 -7
  107. package/claude-assets/agents/cfn-dev-team/testers/load-testing-specialist.md +77 -0
  108. package/claude-assets/agents/cfn-dev-team/testers/mutation-testing-specialist.md +684 -0
  109. package/claude-assets/agents/cfn-dev-team/testers/playwright-tester.md +110 -1
  110. package/claude-assets/agents/cfn-dev-team/testers/tester.md +94 -7
  111. package/claude-assets/agents/cfn-dev-team/utility/code-booster.md +1 -3
  112. package/claude-assets/agents/cfn-dev-team/utility/epic-creator.md +87 -13
  113. package/claude-assets/agents/cfn-dev-team/utility/memory-leak-specialist.md +103 -7
  114. package/claude-assets/agents/cfn-dev-team/utility/researcher.md +1 -3
  115. package/claude-assets/agents/cfn-dev-team/utility/z-ai-specialist.md +94 -7
  116. package/claude-assets/agents/docker-coordinators/cfn-docker-v3-coordinator.md +46 -0
  117. package/claude-assets/agents/project-only-agents/npm-package-specialist.md +1 -1
  118. package/claude-assets/cfn-extras/skills/advanced-features/cfn-agent-swap/recommend-swap.sh +59 -59
  119. package/claude-assets/cfn-extras/skills/analytics/cfn-improvement-recommender/recommend-improvements.sh +91 -91
  120. package/claude-assets/cfn-extras/skills/analytics/cfn-pattern-extraction/extract-patterns.sh +79 -79
  121. package/claude-assets/cfn-extras/skills/analytics/cfn-retrospective-report/generate-report.sh +100 -100
  122. package/claude-assets/cfn-extras/skills/analytics/cfn-telemetry/start-telemetry.sh +110 -110
  123. package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/add-bullet.sh +145 -145
  124. package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/log-merge.sh +67 -67
  125. package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/monitor-injection-performance.sh +137 -137
  126. package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/optimize-injection-pipeline.sh +168 -168
  127. package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/query-reflections.sh +35 -35
  128. package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/store-reflection.sh +45 -45
  129. package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/track-ab-test.sh +41 -41
  130. package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/update-reflection.sh +41 -41
  131. package/claude-assets/cfn-extras/skills/deprecated/cfn-cli-setup/validate-cli-environment.sh +191 -191
  132. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/create-campaign.sh +231 -231
  133. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/get-campaign-performance.sh +190 -190
  134. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/pause-campaign.sh +142 -142
  135. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/set-budget.sh +181 -181
  136. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/update-bid-strategy.sh +133 -133
  137. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/get-conversation-history.sh +121 -121
  138. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/qualify-lead.sh +156 -156
  139. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/schedule-demo.sh +181 -181
  140. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/send-message.sh +137 -137
  141. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/transfer-to-human.sh +179 -179
  142. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/create-campaign.sh +183 -183
  143. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/get-delivery-status.sh +139 -139
  144. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/opt-out.sh +150 -150
  145. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/schedule-campaign.sh +187 -187
  146. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/send-sms.sh +181 -181
  147. package/claude-assets/cfn-extras/skills/ui-portal/cfn-web-portal/test-web-portal-skill.sh +50 -50
  148. package/claude-assets/cfn-extras/skills/ui-portal/cfn-web-portal/validate-deployment.sh +84 -84
  149. package/claude-assets/cfn-extras/skills/utility/cfn-environment-sanitization/sanitize-environment.sh +243 -243
  150. package/claude-assets/commands/cfn-loop-cli.md +16 -2
  151. package/claude-assets/commands/switch-api.md +31 -10
  152. package/claude-assets/hooks/cfn-BACKUP_USAGE.md +243 -243
  153. package/claude-assets/hooks/cfn-invoke-security-validation.sh +69 -69
  154. package/claude-assets/hooks/cfn-lint-sql-injection.sh +61 -0
  155. package/claude-assets/hooks/cfn-post-edit-cfn-retrospective.sh +109 -78
  156. package/claude-assets/hooks/cfn-post-edit.config.json +44 -44
  157. package/claude-assets/hooks/cfn-post-execution/memory-cleanup.sh +19 -19
  158. package/claude-assets/hooks/cfn-pre-edit-security-warning.sh +40 -0
  159. package/claude-assets/hooks/cfn-pre-execution/memory-check.sh +19 -19
  160. package/claude-assets/hooks/detect-hardcoded-credentials.sh +212 -0
  161. package/claude-assets/skills/SKILL_TEMPLATE.md +774 -0
  162. package/claude-assets/skills/agent-lifecycle/execute-lifecycle-hook.sh +543 -572
  163. package/claude-assets/skills/agent-lifecycle/simple-audit.sh +57 -30
  164. package/claude-assets/skills/agent-template-generator/SKILL.md +440 -0
  165. package/claude-assets/skills/agent-template-generator/generate-agent.sh +405 -0
  166. package/claude-assets/skills/agent-validation-linter/SKILL.md +589 -0
  167. package/claude-assets/skills/agent-validation-linter/lint-agents.sh +271 -0
  168. package/claude-assets/skills/bootstrap/bash-fundamentals.md +786 -0
  169. package/claude-assets/skills/bootstrap/database-connection.md +464 -0
  170. package/claude-assets/skills/bootstrap/error-handling.md +580 -0
  171. package/claude-assets/skills/bootstrap/file-operations.md +699 -0
  172. package/claude-assets/skills/bootstrap/skill-loader.md +616 -0
  173. package/claude-assets/skills/bootstrap/sqlite-params.sh +287 -0
  174. package/claude-assets/skills/cfn-agent-spawning/spawn-agent.sh +22 -24
  175. package/claude-assets/skills/cfn-automatic-memory-persistence/persist-agent-output.sh +48 -48
  176. package/claude-assets/skills/cfn-automatic-memory-persistence/query-agent-history.sh +34 -34
  177. package/claude-assets/skills/cfn-automatic-memory-persistence/test-memory-persistence.sh +17 -16
  178. package/claude-assets/skills/cfn-deliverable-validation/confidence-calculator.sh +261 -261
  179. package/claude-assets/skills/cfn-deployment/SKILL.md +293 -0
  180. package/claude-assets/skills/cfn-deployment/execute.sh +21 -0
  181. package/claude-assets/skills/cfn-docker-agent-spawning/SKILL.md +28 -4
  182. package/claude-assets/skills/cfn-docker-agent-spawning/spawn-agent.sh +3 -1
  183. package/claude-assets/skills/cfn-docker-loop-orchestration/orchestrate.sh +224 -20
  184. package/claude-assets/skills/cfn-environment-sanitization/sanitize-environment.sh +38 -0
  185. package/claude-assets/skills/cfn-error-batching-strategy/lib/core-functions.sh +47 -47
  186. package/claude-assets/skills/cfn-expert-update/update-expert.sh +345 -345
  187. package/claude-assets/skills/cfn-file-operations/SKILL.md +290 -0
  188. package/claude-assets/skills/cfn-file-operations/execute.sh +129 -0
  189. package/claude-assets/skills/cfn-file-operations/lib/atomic-write.sh +294 -0
  190. package/claude-assets/skills/cfn-file-operations/lib/lock.sh +361 -0
  191. package/claude-assets/skills/cfn-file-operations/test.sh +369 -0
  192. package/claude-assets/skills/cfn-hybrid-routing/check-dependencies.sh +51 -51
  193. package/claude-assets/skills/cfn-intervention-detector/detect-intervention.sh +110 -110
  194. package/claude-assets/skills/cfn-intervention-orchestrator/execute-intervention.sh +58 -58
  195. package/claude-assets/skills/cfn-log-operations/SKILL.md +308 -0
  196. package/claude-assets/skills/cfn-log-operations/execute.sh +420 -0
  197. package/claude-assets/skills/cfn-log-operations/lib/rotate.sh +406 -0
  198. package/claude-assets/skills/cfn-log-operations/lib/search.sh +448 -0
  199. package/claude-assets/skills/cfn-log-operations/test.sh +394 -0
  200. package/claude-assets/skills/cfn-loop-orchestration/helpers/gate-check.sh +550 -46
  201. package/claude-assets/skills/cfn-loop-orchestration/helpers/parse-test-results.sh +277 -0
  202. package/claude-assets/skills/cfn-loop-orchestration/orchestrate.sh +184 -23
  203. package/claude-assets/skills/cfn-loop-orchestration/security_utils.sh +24 -0
  204. package/claude-assets/skills/cfn-loop-orchestration/test-iteration-context-injection.sh +366 -0
  205. package/claude-assets/skills/cfn-loop-validation/orchestrate-cfn-loop.sh +252 -252
  206. package/claude-assets/skills/cfn-loop2-output-processing/process-validator-output.sh +275 -275
  207. package/claude-assets/skills/cfn-memory-management/check-memory.sh +159 -159
  208. package/claude-assets/skills/cfn-memory-management/cleanup-memory.sh +196 -196
  209. package/claude-assets/skills/cfn-node-heap-sizer/task-mode-heap-limiter.sh +325 -325
  210. package/claude-assets/skills/cfn-parameterized-queries/SKILL.md +339 -0
  211. package/claude-assets/skills/cfn-playbook/query-playbook.sh +19 -15
  212. package/claude-assets/skills/cfn-playbook/update-playbook.sh +25 -14
  213. package/claude-assets/skills/cfn-playbook-auto-update/auto-update-playbook.sh +85 -85
  214. package/claude-assets/skills/cfn-process-instrumentation/instrument-process.sh +44 -0
  215. package/claude-assets/skills/cfn-promotion/SKILL.md +305 -0
  216. package/claude-assets/skills/cfn-redis-coordination/CENTRALIZED_REDIS_WRAPPER.md +319 -0
  217. package/claude-assets/skills/cfn-redis-coordination/agent-log.sh +4 -0
  218. package/claude-assets/skills/cfn-redis-coordination/agent-log.sh.bak +124 -0
  219. package/claude-assets/skills/cfn-redis-coordination/agent-recovery.sh +74 -74
  220. package/claude-assets/skills/cfn-redis-coordination/collect-confidence-scores.sh +30 -0
  221. package/claude-assets/skills/cfn-redis-coordination/get-context.sh +145 -112
  222. package/claude-assets/skills/cfn-redis-coordination/get-success-criteria.sh +54 -0
  223. package/claude-assets/skills/cfn-redis-coordination/invoke-waiting-mode.sh +3 -0
  224. package/claude-assets/skills/cfn-redis-coordination/redis-cli-wrapper.sh +24 -3
  225. package/claude-assets/skills/cfn-redis-coordination/redis-functions.sh +33 -0
  226. package/claude-assets/skills/cfn-redis-coordination/report-completion.sh +24 -31
  227. package/claude-assets/skills/cfn-redis-coordination/store-context.sh +4 -0
  228. package/claude-assets/skills/cfn-redis-coordination/store-success-criteria.sh +85 -0
  229. package/claude-assets/skills/cfn-redis-coordination/update-all-scripts.sh +67 -0
  230. package/claude-assets/skills/cfn-scope-simplifier/simplify-scope.sh +67 -67
  231. package/claude-assets/skills/cfn-skill-loader/SKILL.md +466 -0
  232. package/claude-assets/skills/cfn-skill-loader/execute.sh +344 -0
  233. package/claude-assets/skills/cfn-specialist-injection/recommend-specialist.sh +56 -56
  234. package/claude-assets/skills/cfn-sqlite-memory/ttl-cleanup.sh +17 -25
  235. package/claude-assets/skills/cfn-standardized-error-handling/capture-agent-error.sh +86 -86
  236. package/claude-assets/skills/cfn-standardized-error-handling/test-error-handling.sh +165 -165
  237. package/claude-assets/skills/cfn-task-audit/get-audit-data.sh +42 -21
  238. package/claude-assets/skills/cfn-task-audit/store-task-audit.sh +17 -10
  239. package/claude-assets/skills/cfn-task-config-init/initialize-config.sh +264 -264
  240. package/claude-assets/skills/cfn-task-decomposition/task-decomposer.sh +278 -278
  241. package/claude-assets/skills/cfn-test-runner/detect-regressions.sh +17 -14
  242. package/claude-assets/skills/cfn-test-runner/detect-regressions.sh.backup-1763392821 +55 -0
  243. package/claude-assets/skills/cfn-test-runner/store-benchmarks.sh +17 -19
  244. package/claude-assets/skills/cfn-transparency-middleware/middleware-config.sh +28 -28
  245. package/claude-assets/skills/cfn-transparency-middleware/performance-benchmark.sh +78 -78
  246. package/claude-assets/skills/cfn-transparency-middleware/test-e2e.sh +15 -0
  247. package/claude-assets/skills/cfn-transparency-middleware/test-integration.sh +161 -161
  248. package/claude-assets/skills/cfn-transparency-middleware/test-transparency-skill.sh +367 -367
  249. package/claude-assets/skills/cfn-transparency-middleware/tests/input-validation.sh +107 -92
  250. package/claude-assets/skills/cfn-transparency-middleware/wrap-agent.sh +131 -131
  251. package/claude-assets/skills/cfn-utilities/SKILL.md +237 -0
  252. package/claude-assets/skills/cfn-utilities/execute.sh +32 -0
  253. package/claude-assets/skills/cfn-utilities/lib/errors.sh +56 -0
  254. package/claude-assets/skills/cfn-utilities/lib/file-ops.sh +164 -0
  255. package/claude-assets/skills/cfn-utilities/lib/logging.sh +77 -0
  256. package/claude-assets/skills/cfn-utilities/lib/retry.sh +127 -0
  257. package/claude-assets/skills/cfn-utilities/test.sh +317 -0
  258. package/claude-assets/skills/docker-build/SKILL.md +96 -203
  259. package/claude-assets/skills/docker-build/build.sh +73 -73
  260. package/claude-assets/skills/integration/agent-handoff.sh +492 -0
  261. package/claude-assets/skills/integration/file-operations.sh +414 -0
  262. package/claude-assets/skills/json-validation/SKILL.md +431 -0
  263. package/claude-assets/skills/json-validation/test-validate-success-criteria.sh +421 -0
  264. package/claude-assets/skills/json-validation/validate-success-criteria.sh +197 -0
  265. package/claude-assets/skills/redis-coordination/validate-parameters.sh +34 -0
  266. package/claude-assets/skills/workflow-codification/APPROVAL_WORKFLOW.md +806 -0
  267. package/claude-assets/skills/workflow-codification/COST_TRACKING.md +637 -0
  268. package/claude-assets/skills/workflow-codification/DEPLOY_QUICK_REFERENCE.md +106 -0
  269. package/claude-assets/skills/workflow-codification/EDGE_CASE_TRACKING.md +404 -0
  270. package/claude-assets/skills/workflow-codification/PROPAGATE_UPDATE_QUICK_REFERENCE.md +366 -0
  271. package/claude-assets/skills/workflow-codification/README_PHASE4.md +457 -0
  272. package/claude-assets/skills/workflow-codification/SKILL.md +110 -0
  273. package/claude-assets/skills/workflow-codification/analyze-patterns.sh +899 -0
  274. package/claude-assets/skills/workflow-codification/approval-workflow.sh +514 -0
  275. package/claude-assets/skills/workflow-codification/deploy-approved-skill.sh +481 -0
  276. package/claude-assets/skills/workflow-codification/deploy-approved-skill.sh.backup-1763392820 +512 -0
  277. package/claude-assets/skills/workflow-codification/generate-skill-update.sh +525 -0
  278. package/claude-assets/skills/workflow-codification/lib/security-utils.sh +204 -0
  279. package/claude-assets/skills/workflow-codification/propagate-skill-update.sh +648 -0
  280. package/claude-assets/skills/workflow-codification/propagate-skill-update.sh.backup-1763392820 +664 -0
  281. package/claude-assets/skills/workflow-codification/review-skill.sh +643 -0
  282. package/claude-assets/skills/workflow-codification/templates/email-notification.txt +114 -0
  283. package/claude-assets/skills/workflow-codification/templates/slack-notification.md +85 -0
  284. package/claude-assets/skills/workflow-codification/test-integration.sh +296 -0
  285. package/claude-assets/skills/workflow-codification/test-metadata-update.sh +350 -0
  286. package/claude-assets/skills/workflow-codification/track-cost-savings.sh +486 -0
  287. package/claude-assets/skills/workflow-codification/track-cost-savings.sh.backup-1763392821 +445 -0
  288. package/claude-assets/skills/workflow-codification/track-edge-case.sh +290 -0
  289. package/claude-assets/skills/workflow-codification/workflow-codification.db +0 -0
  290. package/dist/ace/ace-curator.js +10 -2
  291. package/dist/ace/ace-curator.js.map +1 -1
  292. package/dist/ace/ace-generator.js +4 -0
  293. package/dist/ace/ace-generator.js.map +1 -1
  294. package/dist/ace/ace-reflector.js +1 -1
  295. package/dist/ace/ace-reflector.js.map +1 -1
  296. package/dist/ace/context-injection.js +24 -2
  297. package/dist/ace/context-injection.js.map +1 -1
  298. package/dist/agents/agent-loader.js +146 -165
  299. package/dist/agents/agent-loader.js.map +1 -1
  300. package/dist/agents/task-agent-integration.js +1 -1
  301. package/dist/agents/task-agent-integration.js.map +1 -1
  302. package/dist/api/health-endpoints.js +390 -0
  303. package/dist/api/health-endpoints.js.map +1 -0
  304. package/dist/cli/agent-executor.js +4 -1
  305. package/dist/cli/agent-executor.js.map +1 -1
  306. package/dist/cli/agent-prompt-builder.js +89 -1
  307. package/dist/cli/agent-prompt-builder.js.map +1 -1
  308. package/dist/cli/agent-spawn.js +130 -37
  309. package/dist/cli/agent-spawn.js.map +1 -1
  310. package/dist/cli/config-manager.js +91 -109
  311. package/dist/cli/config-manager.js.map +1 -1
  312. package/dist/cli/skill-cache-validator.js +412 -0
  313. package/dist/cli/skill-cache-validator.js.map +1 -0
  314. package/dist/cli/skill-cli.js +991 -0
  315. package/dist/cli/skill-cli.js.map +1 -0
  316. package/dist/cli/skill-execution-logger.js +284 -0
  317. package/dist/cli/skill-execution-logger.js.map +1 -0
  318. package/dist/cli/skill-loader.js +457 -0
  319. package/dist/cli/skill-loader.js.map +1 -0
  320. package/dist/coordination/event-bus.js +2 -2
  321. package/dist/coordination/event-bus.js.map +1 -1
  322. package/dist/coordination/fleet-manager.js +1 -1
  323. package/dist/coordination/fleet-manager.js.map +1 -1
  324. package/dist/coordination/index.js +23 -9
  325. package/dist/coordination/index.js.map +1 -1
  326. package/dist/coordination/types/fleet-manager.types.js.map +1 -1
  327. package/dist/db/migration-manager.js +483 -0
  328. package/dist/db/migration-manager.js.map +1 -0
  329. package/dist/db/skills-query.js +535 -0
  330. package/dist/db/skills-query.js.map +1 -0
  331. package/dist/integration/DatabaseHandoff.js +507 -0
  332. package/dist/integration/DatabaseHandoff.js.map +1 -0
  333. package/dist/integration/StandardAdapter.js +291 -0
  334. package/dist/integration/StandardAdapter.js.map +1 -0
  335. package/dist/jobs/edge-case-analyzer.js +367 -0
  336. package/dist/jobs/edge-case-analyzer.js.map +1 -0
  337. package/dist/jobs/promotion-sla-enforcer.js +288 -0
  338. package/dist/jobs/promotion-sla-enforcer.js.map +1 -0
  339. package/dist/lib/agent-output-parser.js +518 -0
  340. package/dist/lib/agent-output-parser.js.map +1 -0
  341. package/dist/lib/agent-output-validator.js +950 -0
  342. package/dist/lib/agent-output-validator.js.map +1 -0
  343. package/dist/lib/agent-workspace.js +281 -0
  344. package/dist/lib/agent-workspace.js.map +1 -0
  345. package/dist/lib/artifact-registry.js +443 -0
  346. package/dist/lib/artifact-registry.js.map +1 -0
  347. package/dist/lib/atomic-file-writer.js +377 -0
  348. package/dist/lib/atomic-file-writer.js.map +1 -0
  349. package/dist/lib/backup-manager.js +779 -0
  350. package/dist/lib/backup-manager.js.map +1 -0
  351. package/dist/lib/checkpoint-manager.js +837 -0
  352. package/dist/lib/checkpoint-manager.js.map +1 -0
  353. package/dist/lib/circuit-breaker.js +340 -0
  354. package/dist/lib/circuit-breaker.js.map +1 -0
  355. package/dist/lib/completion-signal-handler.js +243 -0
  356. package/dist/lib/completion-signal-handler.js.map +1 -0
  357. package/dist/lib/config-manager.js +312 -0
  358. package/dist/lib/config-manager.js.map +1 -0
  359. package/dist/lib/config-migrator.js +386 -0
  360. package/dist/lib/config-migrator.js.map +1 -0
  361. package/dist/lib/config-validator.js +687 -0
  362. package/dist/lib/config-validator.js.map +1 -0
  363. package/dist/lib/correlation-cache.js +311 -0
  364. package/dist/lib/correlation-cache.js.map +1 -0
  365. package/dist/lib/correlation.js +263 -0
  366. package/dist/lib/correlation.js.map +1 -0
  367. package/dist/lib/database-service/connection-pool-manager.js +520 -0
  368. package/dist/lib/database-service/connection-pool-manager.js.map +1 -0
  369. package/dist/lib/database-service/correlation.js +329 -0
  370. package/dist/lib/database-service/correlation.js.map +1 -0
  371. package/dist/lib/database-service/errors.js +120 -0
  372. package/dist/lib/database-service/errors.js.map +1 -0
  373. package/dist/lib/database-service/index.js +168 -0
  374. package/dist/lib/database-service/index.js.map +1 -0
  375. package/dist/lib/database-service/postgres-adapter.js +526 -0
  376. package/dist/lib/database-service/postgres-adapter.js.map +1 -0
  377. package/dist/lib/database-service/redis-adapter.js +360 -0
  378. package/dist/lib/database-service/redis-adapter.js.map +1 -0
  379. package/dist/lib/database-service/sqlite-adapter.js +544 -0
  380. package/dist/lib/database-service/sqlite-adapter.js.map +1 -0
  381. package/dist/lib/database-service/transaction-manager.js +773 -0
  382. package/dist/lib/database-service/transaction-manager.js.map +1 -0
  383. package/dist/lib/database-service/types.js +23 -0
  384. package/dist/lib/database-service/types.js.map +1 -0
  385. package/dist/lib/deadlock-resolver.js +292 -0
  386. package/dist/lib/deadlock-resolver.js.map +1 -0
  387. package/dist/lib/distributed-lock.js +451 -0
  388. package/dist/lib/distributed-lock.js.map +1 -0
  389. package/dist/lib/edge-case-deduplicator.js +227 -0
  390. package/dist/lib/edge-case-deduplicator.js.map +1 -0
  391. package/dist/lib/encryption-manager.js +322 -0
  392. package/dist/lib/encryption-manager.js.map +1 -0
  393. package/dist/lib/error-aggregator.js +234 -0
  394. package/dist/lib/error-aggregator.js.map +1 -0
  395. package/dist/lib/errors.js +287 -0
  396. package/dist/lib/errors.js.map +1 -0
  397. package/dist/lib/file-lock-manager.js +578 -0
  398. package/dist/lib/file-lock-manager.js.map +1 -0
  399. package/dist/lib/file-operations.js +367 -0
  400. package/dist/lib/file-operations.js.map +1 -0
  401. package/dist/lib/idempotent-write.js +237 -0
  402. package/dist/lib/idempotent-write.js.map +1 -0
  403. package/dist/lib/integration-schema-validator.js +522 -0
  404. package/dist/lib/integration-schema-validator.js.map +1 -0
  405. package/dist/lib/lock-health-monitor.js +298 -0
  406. package/dist/lib/lock-health-monitor.js.map +1 -0
  407. package/dist/lib/log-shipper.js +422 -0
  408. package/dist/lib/log-shipper.js.map +1 -0
  409. package/dist/lib/logging.js +146 -0
  410. package/dist/lib/logging.js.map +1 -0
  411. package/dist/lib/message-deduplicator.js +439 -0
  412. package/dist/lib/message-deduplicator.js.map +1 -0
  413. package/dist/lib/multi-system-query.js +604 -0
  414. package/dist/lib/multi-system-query.js.map +1 -0
  415. package/dist/lib/orphan-detector.js +332 -0
  416. package/dist/lib/orphan-detector.js.map +1 -0
  417. package/dist/lib/password-generator.js +166 -0
  418. package/dist/lib/password-generator.js.map +1 -0
  419. package/dist/lib/path-validator.js +429 -0
  420. package/dist/lib/path-validator.js.map +1 -0
  421. package/dist/lib/query-translator.js +905 -0
  422. package/dist/lib/query-translator.js.map +1 -0
  423. package/dist/lib/queue-recovery.js +469 -0
  424. package/dist/lib/queue-recovery.js.map +1 -0
  425. package/dist/lib/redis-queue-manager.js +512 -0
  426. package/dist/lib/redis-queue-manager.js.map +1 -0
  427. package/dist/lib/reflection-archiver.js +272 -0
  428. package/dist/lib/reflection-archiver.js.map +1 -0
  429. package/dist/lib/retry-manager.js +453 -0
  430. package/dist/lib/retry-manager.js.map +1 -0
  431. package/dist/lib/retry.js +262 -0
  432. package/dist/lib/retry.js.map +1 -0
  433. package/dist/lib/schema-transform.js +695 -0
  434. package/dist/lib/schema-transform.js.map +1 -0
  435. package/dist/lib/schema-validator.js +491 -0
  436. package/dist/lib/schema-validator.js.map +1 -0
  437. package/dist/lib/skill-cache.js +297 -0
  438. package/dist/lib/skill-cache.js.map +1 -0
  439. package/dist/lib/skill-content-manager.js +337 -0
  440. package/dist/lib/skill-content-manager.js.map +1 -0
  441. package/dist/lib/skill-frontmatter-parser.js +237 -0
  442. package/dist/lib/skill-frontmatter-parser.js.map +1 -0
  443. package/dist/lib/skill-git-integration.js +275 -0
  444. package/dist/lib/skill-git-integration.js.map +1 -0
  445. package/dist/lib/skill-markdown-validator.js +396 -0
  446. package/dist/lib/skill-markdown-validator.js.map +1 -0
  447. package/dist/lib/skill-output-parser.js +312 -0
  448. package/dist/lib/skill-output-parser.js.map +1 -0
  449. package/dist/lib/unified-query-api.js +467 -0
  450. package/dist/lib/unified-query-api.js.map +1 -0
  451. package/dist/middleware/auth-middleware.js +350 -0
  452. package/dist/middleware/auth-middleware.js.map +1 -0
  453. package/dist/middleware/schema-validation.js +347 -0
  454. package/dist/middleware/schema-validation.js.map +1 -0
  455. package/dist/providers/anthropic-provider.js +1 -1
  456. package/dist/providers/anthropic-provider.js.map +1 -1
  457. package/dist/providers/provider-factory.js +2 -2
  458. package/dist/providers/provider-factory.js.map +1 -1
  459. package/dist/services/edge-case-analyzer.js +321 -0
  460. package/dist/services/edge-case-analyzer.js.map +1 -0
  461. package/dist/services/edge-case-deduplicator.js +266 -0
  462. package/dist/services/edge-case-deduplicator.js.map +1 -0
  463. package/dist/services/edge-case-detector.js +337 -0
  464. package/dist/services/edge-case-detector.js.map +1 -0
  465. package/dist/services/edge-case-tracker.js +547 -0
  466. package/dist/services/edge-case-tracker.js.map +1 -0
  467. package/dist/services/health-check-system.js +586 -0
  468. package/dist/services/health-check-system.js.map +1 -0
  469. package/dist/services/metrics-logger.js +412 -0
  470. package/dist/services/metrics-logger.js.map +1 -0
  471. package/dist/services/patch-generator.js +378 -0
  472. package/dist/services/patch-generator.js.map +1 -0
  473. package/dist/services/patch-validator.js +337 -0
  474. package/dist/services/patch-validator.js.map +1 -0
  475. package/dist/services/performance-monitor.js +811 -0
  476. package/dist/services/performance-monitor.js.map +1 -0
  477. package/dist/services/promotion-pipeline.js +918 -0
  478. package/dist/services/promotion-pipeline.js.map +1 -0
  479. package/dist/services/promotion-validator.js +394 -0
  480. package/dist/services/promotion-validator.js.map +1 -0
  481. package/dist/services/reflection-logger.js +388 -0
  482. package/dist/services/reflection-logger.js.map +1 -0
  483. package/dist/services/skill-deployment.js +472 -0
  484. package/dist/services/skill-deployment.js.map +1 -0
  485. package/dist/services/skill-loader.js +427 -0
  486. package/dist/services/skill-loader.js.map +1 -0
  487. package/dist/services/skill-promotion.js +372 -0
  488. package/dist/services/skill-promotion.js.map +1 -0
  489. package/dist/services/skill-validator.js +454 -0
  490. package/dist/services/skill-validator.js.map +1 -0
  491. package/dist/services/skill-versioning.js +244 -0
  492. package/dist/services/skill-versioning.js.map +1 -0
  493. package/dist/services/workspace-supervisor.js +597 -0
  494. package/dist/services/workspace-supervisor.js.map +1 -0
  495. package/dist/types/agent-output.js +44 -0
  496. package/dist/types/agent-output.js.map +1 -0
  497. package/dist/types/config.js +28 -0
  498. package/dist/types/config.js.map +1 -0
  499. package/dist/types/edge-case.js +45 -0
  500. package/dist/types/edge-case.js.map +1 -0
  501. package/package.json +201 -176
  502. package/readme/README.md +19 -4
  503. package/scripts/artifact-cleanup.sh +392 -0
  504. package/scripts/backup-cleanup.sh +627 -0
  505. package/scripts/cleanup-workspaces.sh +412 -0
  506. package/scripts/cleanup-yaml-configs.sh +141 -0
  507. package/scripts/deploy-approved-skills.sh +263 -0
  508. package/scripts/deploy-production.sh +355 -355
  509. package/scripts/docker-playwright-fix.sh +311 -311
  510. package/scripts/docker-rebuild-all-agents.sh +127 -127
  511. package/scripts/health-check.sh +447 -0
  512. package/scripts/log-aggregator.sh +554 -0
  513. package/scripts/log-monitor.sh +629 -0
  514. package/scripts/manage-agent-workspaces.sh +434 -0
  515. package/scripts/memory-leak-prevention.sh +305 -305
  516. package/scripts/migrate-artifacts.sh +563 -0
  517. package/scripts/migrate-schema.sh +533 -0
  518. package/scripts/migrate-yaml-to-json.sh +465 -0
  519. package/scripts/promote-staged-skills.sh +423 -0
  520. package/scripts/run-marketing-tests.sh +42 -42
  521. package/scripts/update_paths.sh +46 -46
  522. package/scripts/verify-no-secrets.sh +88 -35
  523. package/.claude/cfn-extras/agents/deprecated-coordinators/adaptive-coordinator.md.backup +0 -161
  524. package/.claude/cfn-extras/agents/deprecated-coordinators/blocking-coordinator-example.md.backup +0 -728
  525. package/.claude/cfn-extras/agents/deprecated-coordinators/mesh-coordinator.md.backup +0 -131
  526. package/.claude/skills/cfn-agent-spawning/spawn-agent.sh.backup +0 -273
  527. package/.claude/skills/cfn-loop-orchestration/orchestrate.sh.backup +0 -949
  528. package/README.md.backup_before_replace +0 -781
  529. package/claude-assets/cfn-extras/agents/deprecated-coordinators/adaptive-coordinator.md.backup +0 -161
  530. package/claude-assets/cfn-extras/agents/deprecated-coordinators/blocking-coordinator-example.md.backup +0 -728
  531. package/claude-assets/cfn-extras/agents/deprecated-coordinators/mesh-coordinator.md.backup +0 -131
  532. package/claude-assets/skills/cfn-agent-spawning/spawn-agent.sh.backup +0 -273
  533. package/claude-assets/skills/cfn-loop-orchestration/orchestrate.sh.backup +0 -949
@@ -1,312 +1,312 @@
1
- #!/bin/bash
2
-
3
- set -euo pipefail
4
-
5
- # Docker Playwright Fix Script
6
- # Fixes Playwright browser installation issues in claude-flow-novice Docker image
7
-
8
- echo "=== Docker Playwright Fix Script ==="
9
- echo "Date: $(date)"
10
- echo "Fixing Playwright installation for browser automation..."
11
-
12
- # Configuration
13
- IMAGE_NAME="claude-flow-novice:with-playwright"
14
- CONTAINER_NAME="playwright-test-container"
15
- DOCKERFILE_PATH="docker/Dockerfile.with-playwright"
16
- TEST_SCRIPT="docker/tests/test-playwright-functionality.cjs"
17
-
18
- # Colors for output
19
- RED='\033[0;31m'
20
- GREEN='\033[0;32m'
21
- YELLOW='\033[1;33m'
22
- BLUE='\033[0;34m'
23
- NC='\033[0m' # No Color
24
-
25
- # Logging functions
26
- log_info() {
27
- echo -e "${BLUE}[INFO]${NC} $1"
28
- }
29
-
30
- log_success() {
31
- echo -e "${GREEN}[SUCCESS]${NC} $1"
32
- }
33
-
34
- log_warning() {
35
- echo -e "${YELLOW}[WARNING]${NC} $1"
36
- }
37
-
38
- log_error() {
39
- echo -e "${RED}[ERROR]${NC} $1"
40
- }
41
-
42
- # Phase 1: Fix Dockerfile
43
- fix_dockerfile() {
44
- log_info "Phase 1: Fixing Dockerfile for Playwright..."
45
-
46
- # Create fixed Dockerfile
47
- cat > "$DOCKERFILE_PATH" << 'EOF'
48
- # Multi-stage build for claude-flow-novice with Playwright
49
- FROM node:18-slim AS base
50
-
51
- # Install system dependencies for Playwright
52
- RUN apt-get update && apt-get install -y \
53
- # Basic dependencies
54
- curl \
55
- wget \
56
- git \
57
- gnupg2 \
58
- # Playwright browser dependencies
59
- libnss3 \
60
- libatk-bridge2.0-0 \
61
- libdrm2 \
62
- libxcomposite1 \
63
- libxdamage1 \
64
- libxrandr2 \
65
- libgbm1 \
66
- libxss1 \
67
- libasound2 \
68
- # Additional libraries for headless operation
69
- libgtk-3-0 \
70
- libx11-xcb1 \
71
- libxcb1 \
72
- libxfixes3 \
73
- && rm -rf /var/lib/apt/lists/*
74
-
75
- # Build stage
76
- FROM base AS builder
77
-
78
- WORKDIR /app
79
-
80
- # Copy package files
81
- COPY package*.json ./
82
-
83
- # Install dependencies
84
- RUN npm ci --only=production
85
-
86
- # Install Playwright and browsers
87
- RUN npx playwright install --with-deps chromium
88
- RUN npx playwright install-deps chromium
89
-
90
- # Production stage
91
- FROM base AS production
92
-
93
- # Set environment for Playwright
94
- ENV PLAYWRIGHT_BROWSERS_PATH=/ms-playwright
95
- ENV PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=0
96
- ENV NODE_ENV=production
97
-
98
- WORKDIR /app
99
-
100
- # Copy application
101
- COPY --from=builder /app/node_modules ./node_modules
102
- COPY package*.json ./
103
- COPY src/ ./src/
104
- COPY bin/ ./bin/
105
-
106
- # Copy browsers to system location
107
- COPY --from=builder /root/.cache/ms-playwright /ms-playwright
108
-
109
- # Create screenshots directory
110
- RUN mkdir -p /app/screenshots /app/logs
111
- RUN chmod 777 /app/screenshots /app/logs
112
-
113
- # Health check for Playwright
114
- HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \
115
- CMD node -e "const {chromium} = require('playwright'); chromium.launch().then(() => process.exit(0)).catch(() => process.exit(1))"
116
-
117
- EXPOSE 3000
118
-
119
- CMD ["node", "src/cli/index.js"]
120
- EOF
121
-
122
- log_success "Dockerfile updated with Playwright fixes"
123
- }
124
-
125
- # Phase 2: Build Docker image
126
- build_docker_image() {
127
- log_info "Phase 2: Building Docker image with fixed Playwright..."
128
-
129
- # Stop and remove existing container
130
- if docker ps -a --format 'table {{.Names}}' | grep -q "$CONTAINER_NAME"; then
131
- log_warning "Stopping and removing existing container..."
132
- docker stop "$CONTAINER_NAME" 2>/dev/null || true
133
- docker rm "$CONTAINER_NAME" 2>/dev/null || true
134
- fi
135
-
136
- # Remove existing image
137
- if docker images --format 'table {{.Repository}}:{{.Tag}}' | grep -q "$IMAGE_NAME"; then
138
- log_warning "Removing existing image..."
139
- docker rmi "$IMAGE_NAME" 2>/dev/null || true
140
- fi
141
-
142
- # Build new image
143
- log_info "Building new Docker image..."
144
- if docker build -f "$DOCKERFILE_PATH" -t "$IMAGE_NAME" .; then
145
- log_success "Docker image built successfully"
146
- else
147
- log_error "Failed to build Docker image"
148
- return 1
149
- fi
150
-
151
- # Get image size
152
- local image_size=$(docker images --format "table {{.Repository}}:{{.Tag}}\t{{.Size}}" | grep "$IMAGE_NAME" | awk '{print $2}')
153
- log_info "Image size: $image_size"
154
- }
155
-
156
- # Phase 3: Test Playwright functionality
157
- test_playwright() {
158
- log_info "Phase 3: Testing Playwright functionality..."
159
-
160
- # Create test directory
161
- local test_dir="./test-output"
162
- mkdir -p "$test_dir"
163
-
164
- # Run container with volume mounts
165
- log_info "Starting container for testing..."
166
- docker run -d \
167
- --name "$CONTAINER_NAME" \
168
- -v "$(pwd)/$test_dir:/app/screenshots" \
169
- -e "SCREENSHOT_DIR=/app/screenshots" \
170
- "$IMAGE_NAME" \
171
- sleep 60
172
-
173
- # Wait for container to be ready
174
- log_info "Waiting for container to be ready..."
175
- sleep 10
176
-
177
- # Check if container is running
178
- if ! docker ps --format 'table {{.Names}}' | grep -q "$CONTAINER_NAME"; then
179
- log_error "Container failed to start"
180
- docker logs "$CONTAINER_NAME"
181
- return 1
182
- fi
183
-
184
- # Test 1: Check Playwright installation
185
- log_info "Test 1: Verifying Playwright installation..."
186
- if docker exec "$CONTAINER_NAME" npx playwright --version; then
187
- log_success "Playwright is installed"
188
- else
189
- log_error "Playwright installation check failed"
190
- return 1
191
- fi
192
-
193
- # Test 2: Check browser availability
194
- log_info "Test 2: Checking browser availability..."
195
- if docker exec "$CONTAINER_NAME" npx playwright install chromium --dry-run; then
196
- log_success "Chromium browser is available"
197
- else
198
- log_error "Browser availability check failed"
199
- return 1
200
- fi
201
-
202
- # Test 3: Run the Playwright test script
203
- log_info "Test 3: Running Google.com navigation test..."
204
-
205
- # Copy test script to container
206
- if docker cp "$TEST_SCRIPT" "$CONTAINER_NAME:/app/test-playwright.cjs"; then
207
- log_success "Test script copied to container"
208
- else
209
- log_error "Failed to copy test script"
210
- return 1
211
- fi
212
-
213
- # Execute test
214
- log_info "Executing Playwright test..."
215
- if docker exec "$CONTAINER_NAME" node /app/test-playwright.cjs; then
216
- log_success "Playwright test completed successfully"
217
- else
218
- log_error "Playwright test failed"
219
- docker logs "$CONTAINER_NAME"
220
- return 1
221
- fi
222
-
223
- # Check for screenshots
224
- log_info "Test 4: Verifying screenshot output..."
225
- if [ -f "$test_dir/google-homepage.png" ] && [ -f "$test_dir/wrexham-search.png" ]; then
226
- log_success "Screenshots created successfully"
227
- ls -la "$test_dir"/*.png
228
- else
229
- log_warning "Screenshots not found in expected location"
230
- fi
231
- }
232
-
233
- # Phase 4: Performance testing
234
- performance_test() {
235
- log_info "Phase 4: Running performance tests..."
236
-
237
- # Test container startup time
238
- local start_time=$(date +%s%N)
239
-
240
- docker run --rm \
241
- -v "$(pwd)/test-output:/app/screenshots" \
242
- "$IMAGE_NAME" \
243
- node -e "
244
- const { chromium } = require('playwright');
245
- const start = Date.now();
246
-
247
- (async () => {
248
- const browser = await chromium.launch({ headless: true });
249
- const page = await browser.newPage();
250
- await page.goto('https://www.google.com');
251
- const loadTime = Date.now() - start;
252
- console.log('Google.com load time:', loadTime + 'ms');
253
- await browser.close();
254
- })();
255
- "
256
-
257
- local end_time=$(date +%s%N)
258
- local total_time=$(( (end_time - start_time) / 1000000 ))
259
-
260
- log_success "Performance test completed in ${total_time}ms"
261
- }
262
-
263
- # Cleanup function
264
- cleanup() {
265
- log_info "Cleaning up..."
266
-
267
- # Stop and remove container
268
- if docker ps -a --format 'table {{.Names}}' | grep -q "$CONTAINER_NAME"; then
269
- docker stop "$CONTAINER_NAME" 2>/dev/null || true
270
- docker rm "$CONTAINER_NAME" 2>/dev/null || true
271
- fi
272
-
273
- # Remove test files
274
- if [ -d "./test-output" ]; then
275
- log_info "Test output preserved in ./test-output/"
276
- fi
277
-
278
- log_success "Cleanup completed"
279
- }
280
-
281
- # Main execution
282
- main() {
283
- log_info "Starting Docker Playwright fix process..."
284
-
285
- # Set up error handling
286
- trap cleanup EXIT
287
-
288
- # Execute phases
289
- fix_dockerfile
290
- build_docker_image
291
- test_playwright
292
- performance_test
293
-
294
- log_success "=== Playwright Fix Complete ==="
295
- log_info "The Docker image '$IMAGE_NAME' is ready for browser automation"
296
- log_info "Screenshots are saved to mounted volumes"
297
-
298
- # Display final summary
299
- echo
300
- echo "=== Summary ==="
301
- echo "✅ Dockerfile fixed with proper Playwright installation"
302
- echo "✅ Image built successfully with browsers pre-installed"
303
- echo "✅ Google.com navigation test passed"
304
- echo "✅ Screenshot functionality verified"
305
- echo "✅ Performance metrics collected"
306
- echo
307
- echo "To use the fixed image:"
308
- echo "docker run -v \$(pwd)/screenshots:/app/screenshots $IMAGE_NAME"
309
- }
310
-
311
- # Execute main function
1
+ #!/bin/bash
2
+
3
+ set -euo pipefail
4
+
5
+ # Docker Playwright Fix Script
6
+ # Fixes Playwright browser installation issues in claude-flow-novice Docker image
7
+
8
+ echo "=== Docker Playwright Fix Script ==="
9
+ echo "Date: $(date)"
10
+ echo "Fixing Playwright installation for browser automation..."
11
+
12
+ # Configuration
13
+ IMAGE_NAME="claude-flow-novice:with-playwright"
14
+ CONTAINER_NAME="playwright-test-container"
15
+ DOCKERFILE_PATH="docker/Dockerfile.with-playwright"
16
+ TEST_SCRIPT="docker/tests/test-playwright-functionality.cjs"
17
+
18
+ # Colors for output
19
+ RED='\033[0;31m'
20
+ GREEN='\033[0;32m'
21
+ YELLOW='\033[1;33m'
22
+ BLUE='\033[0;34m'
23
+ NC='\033[0m' # No Color
24
+
25
+ # Logging functions
26
+ log_info() {
27
+ echo -e "${BLUE}[INFO]${NC} $1"
28
+ }
29
+
30
+ log_success() {
31
+ echo -e "${GREEN}[SUCCESS]${NC} $1"
32
+ }
33
+
34
+ log_warning() {
35
+ echo -e "${YELLOW}[WARNING]${NC} $1"
36
+ }
37
+
38
+ log_error() {
39
+ echo -e "${RED}[ERROR]${NC} $1"
40
+ }
41
+
42
+ # Phase 1: Fix Dockerfile
43
+ fix_dockerfile() {
44
+ log_info "Phase 1: Fixing Dockerfile for Playwright..."
45
+
46
+ # Create fixed Dockerfile
47
+ cat > "$DOCKERFILE_PATH" << 'EOF'
48
+ # Multi-stage build for claude-flow-novice with Playwright
49
+ FROM node:18-slim AS base
50
+
51
+ # Install system dependencies for Playwright
52
+ RUN apt-get update && apt-get install -y \
53
+ # Basic dependencies
54
+ curl \
55
+ wget \
56
+ git \
57
+ gnupg2 \
58
+ # Playwright browser dependencies
59
+ libnss3 \
60
+ libatk-bridge2.0-0 \
61
+ libdrm2 \
62
+ libxcomposite1 \
63
+ libxdamage1 \
64
+ libxrandr2 \
65
+ libgbm1 \
66
+ libxss1 \
67
+ libasound2 \
68
+ # Additional libraries for headless operation
69
+ libgtk-3-0 \
70
+ libx11-xcb1 \
71
+ libxcb1 \
72
+ libxfixes3 \
73
+ && rm -rf /var/lib/apt/lists/*
74
+
75
+ # Build stage
76
+ FROM base AS builder
77
+
78
+ WORKDIR /app
79
+
80
+ # Copy package files
81
+ COPY package*.json ./
82
+
83
+ # Install dependencies
84
+ RUN npm ci --only=production
85
+
86
+ # Install Playwright and browsers
87
+ RUN npx playwright install --with-deps chromium
88
+ RUN npx playwright install-deps chromium
89
+
90
+ # Production stage
91
+ FROM base AS production
92
+
93
+ # Set environment for Playwright
94
+ ENV PLAYWRIGHT_BROWSERS_PATH=/ms-playwright
95
+ ENV PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=0
96
+ ENV NODE_ENV=production
97
+
98
+ WORKDIR /app
99
+
100
+ # Copy application
101
+ COPY --from=builder /app/node_modules ./node_modules
102
+ COPY package*.json ./
103
+ COPY src/ ./src/
104
+ COPY bin/ ./bin/
105
+
106
+ # Copy browsers to system location
107
+ COPY --from=builder /root/.cache/ms-playwright /ms-playwright
108
+
109
+ # Create screenshots directory
110
+ RUN mkdir -p /app/screenshots /app/logs
111
+ RUN chmod 777 /app/screenshots /app/logs
112
+
113
+ # Health check for Playwright
114
+ HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \
115
+ CMD node -e "const {chromium} = require('playwright'); chromium.launch().then(() => process.exit(0)).catch(() => process.exit(1))"
116
+
117
+ EXPOSE 3000
118
+
119
+ CMD ["node", "src/cli/index.js"]
120
+ EOF
121
+
122
+ log_success "Dockerfile updated with Playwright fixes"
123
+ }
124
+
125
+ # Phase 2: Build Docker image
126
+ build_docker_image() {
127
+ log_info "Phase 2: Building Docker image with fixed Playwright..."
128
+
129
+ # Stop and remove existing container
130
+ if docker ps -a --format 'table {{.Names}}' | grep -q "$CONTAINER_NAME"; then
131
+ log_warning "Stopping and removing existing container..."
132
+ docker stop "$CONTAINER_NAME" 2>/dev/null || true
133
+ docker rm "$CONTAINER_NAME" 2>/dev/null || true
134
+ fi
135
+
136
+ # Remove existing image
137
+ if docker images --format 'table {{.Repository}}:{{.Tag}}' | grep -q "$IMAGE_NAME"; then
138
+ log_warning "Removing existing image..."
139
+ docker rmi "$IMAGE_NAME" 2>/dev/null || true
140
+ fi
141
+
142
+ # Build new image
143
+ log_info "Building new Docker image..."
144
+ if docker build -f "$DOCKERFILE_PATH" -t "$IMAGE_NAME" .; then
145
+ log_success "Docker image built successfully"
146
+ else
147
+ log_error "Failed to build Docker image"
148
+ return 1
149
+ fi
150
+
151
+ # Get image size
152
+ local image_size=$(docker images --format "table {{.Repository}}:{{.Tag}}\t{{.Size}}" | grep "$IMAGE_NAME" | awk '{print $2}')
153
+ log_info "Image size: $image_size"
154
+ }
155
+
156
+ # Phase 3: Test Playwright functionality
157
+ test_playwright() {
158
+ log_info "Phase 3: Testing Playwright functionality..."
159
+
160
+ # Create test directory
161
+ local test_dir="./test-output"
162
+ mkdir -p "$test_dir"
163
+
164
+ # Run container with volume mounts
165
+ log_info "Starting container for testing..."
166
+ docker run -d \
167
+ --name "$CONTAINER_NAME" \
168
+ -v "$(pwd)/$test_dir:/app/screenshots" \
169
+ -e "SCREENSHOT_DIR=/app/screenshots" \
170
+ "$IMAGE_NAME" \
171
+ sleep 60
172
+
173
+ # Wait for container to be ready
174
+ log_info "Waiting for container to be ready..."
175
+ sleep 10
176
+
177
+ # Check if container is running
178
+ if ! docker ps --format 'table {{.Names}}' | grep -q "$CONTAINER_NAME"; then
179
+ log_error "Container failed to start"
180
+ docker logs "$CONTAINER_NAME"
181
+ return 1
182
+ fi
183
+
184
+ # Test 1: Check Playwright installation
185
+ log_info "Test 1: Verifying Playwright installation..."
186
+ if docker exec "$CONTAINER_NAME" npx playwright --version; then
187
+ log_success "Playwright is installed"
188
+ else
189
+ log_error "Playwright installation check failed"
190
+ return 1
191
+ fi
192
+
193
+ # Test 2: Check browser availability
194
+ log_info "Test 2: Checking browser availability..."
195
+ if docker exec "$CONTAINER_NAME" npx playwright install chromium --dry-run; then
196
+ log_success "Chromium browser is available"
197
+ else
198
+ log_error "Browser availability check failed"
199
+ return 1
200
+ fi
201
+
202
+ # Test 3: Run the Playwright test script
203
+ log_info "Test 3: Running Google.com navigation test..."
204
+
205
+ # Copy test script to container
206
+ if docker cp "$TEST_SCRIPT" "$CONTAINER_NAME:/app/test-playwright.cjs"; then
207
+ log_success "Test script copied to container"
208
+ else
209
+ log_error "Failed to copy test script"
210
+ return 1
211
+ fi
212
+
213
+ # Execute test
214
+ log_info "Executing Playwright test..."
215
+ if docker exec "$CONTAINER_NAME" node /app/test-playwright.cjs; then
216
+ log_success "Playwright test completed successfully"
217
+ else
218
+ log_error "Playwright test failed"
219
+ docker logs "$CONTAINER_NAME"
220
+ return 1
221
+ fi
222
+
223
+ # Check for screenshots
224
+ log_info "Test 4: Verifying screenshot output..."
225
+ if [ -f "$test_dir/google-homepage.png" ] && [ -f "$test_dir/wrexham-search.png" ]; then
226
+ log_success "Screenshots created successfully"
227
+ ls -la "$test_dir"/*.png
228
+ else
229
+ log_warning "Screenshots not found in expected location"
230
+ fi
231
+ }
232
+
233
+ # Phase 4: Performance testing
234
+ performance_test() {
235
+ log_info "Phase 4: Running performance tests..."
236
+
237
+ # Test container startup time
238
+ local start_time=$(date +%s%N)
239
+
240
+ docker run --rm \
241
+ -v "$(pwd)/test-output:/app/screenshots" \
242
+ "$IMAGE_NAME" \
243
+ node -e "
244
+ const { chromium } = require('playwright');
245
+ const start = Date.now();
246
+
247
+ (async () => {
248
+ const browser = await chromium.launch({ headless: true });
249
+ const page = await browser.newPage();
250
+ await page.goto('https://www.google.com');
251
+ const loadTime = Date.now() - start;
252
+ console.log('Google.com load time:', loadTime + 'ms');
253
+ await browser.close();
254
+ })();
255
+ "
256
+
257
+ local end_time=$(date +%s%N)
258
+ local total_time=$(( (end_time - start_time) / 1000000 ))
259
+
260
+ log_success "Performance test completed in ${total_time}ms"
261
+ }
262
+
263
+ # Cleanup function
264
+ cleanup() {
265
+ log_info "Cleaning up..."
266
+
267
+ # Stop and remove container
268
+ if docker ps -a --format 'table {{.Names}}' | grep -q "$CONTAINER_NAME"; then
269
+ docker stop "$CONTAINER_NAME" 2>/dev/null || true
270
+ docker rm "$CONTAINER_NAME" 2>/dev/null || true
271
+ fi
272
+
273
+ # Remove test files
274
+ if [ -d "./test-output" ]; then
275
+ log_info "Test output preserved in ./test-output/"
276
+ fi
277
+
278
+ log_success "Cleanup completed"
279
+ }
280
+
281
+ # Main execution
282
+ main() {
283
+ log_info "Starting Docker Playwright fix process..."
284
+
285
+ # Set up error handling
286
+ trap cleanup EXIT
287
+
288
+ # Execute phases
289
+ fix_dockerfile
290
+ build_docker_image
291
+ test_playwright
292
+ performance_test
293
+
294
+ log_success "=== Playwright Fix Complete ==="
295
+ log_info "The Docker image '$IMAGE_NAME' is ready for browser automation"
296
+ log_info "Screenshots are saved to mounted volumes"
297
+
298
+ # Display final summary
299
+ echo
300
+ echo "=== Summary ==="
301
+ echo "✅ Dockerfile fixed with proper Playwright installation"
302
+ echo "✅ Image built successfully with browsers pre-installed"
303
+ echo "✅ Google.com navigation test passed"
304
+ echo "✅ Screenshot functionality verified"
305
+ echo "✅ Performance metrics collected"
306
+ echo
307
+ echo "To use the fixed image:"
308
+ echo "docker run -v \$(pwd)/screenshots:/app/screenshots $IMAGE_NAME"
309
+ }
310
+
311
+ # Execute main function
312
312
  main "$@"