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,326 +1,326 @@
1
- #!/bin/bash
2
- # CFN Node.js Heap Size Limiter for Task Mode
3
- # Dynamically adjusts NODE_OPTIONS based on execution mode to prevent memory bloat
4
-
5
- set -euo pipefail
6
-
7
- # Configuration
8
- SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
9
- PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
10
-
11
- # Mode-based heap sizes (in MB)
12
- declare -A HEAP_SIZES=(
13
- ["task"]="2048" # 2GB for Task mode (conservative)
14
- ["cli"]="8192" # 8GB for CLI mode (production)
15
- ["debug"]="1024" # 1GB for debugging (minimal)
16
- ["test"]="3072" # 3GB for testing (moderate)
17
- )
18
-
19
- # Default heap sizes by tool type
20
- declare -A TOOL_HEAPS=(
21
- ["node"]="2048"
22
- ["bun"]="3072"
23
- ["playwright"]="4096"
24
- ["test"]="1536"
25
- ["validator"]="1024"
26
- ["reviewer"]="1024"
27
- ["tester"]="1024"
28
- })
29
-
30
- # Function to detect current execution mode
31
- detect_execution_mode() {
32
- # Use existing mode detection if available
33
- if [[ -f "$PROJECT_ROOT/.claude/skills/cfn-task-mode-safety/mode-detection.sh" ]]; then
34
- source "$PROJECT_ROOT/.claude/skills/cfn-task-mode-safety/mode-detection.sh"
35
- detect_execution_mode 2>/dev/null && return 0
36
- fi
37
-
38
- # Fallback detection
39
- if [[ -n "${CFN_MODE:-}" ]]; then
40
- echo "$CFN_MODE"
41
- elif [[ -n "${TASK_ID:-}" && -n "${AGENT_ID:-}" ]]; then
42
- echo "cli"
43
- else
44
- echo "task" # Safe default
45
- fi
46
- }
47
-
48
- # Function to determine tool type from command line
49
- detect_tool_type() {
50
- local command="$1"
51
- local command_name=$(basename "$command")
52
-
53
- case "$command_name" in
54
- "node"|"bun")
55
- # Look at script name to determine tool type
56
- if [[ $# -gt 1 ]]; then
57
- local script_name=$(basename "$2" | tr '[:upper:]' '[:lower:]')
58
- case "$script_name" in
59
- *"test"*) echo "test" ;;
60
- *"validator"*) echo "validator" ;;
61
- *"reviewer"*) echo "reviewer" ;;
62
- *"tester"*) echo "tester" ;;
63
- *) echo "$command_name" ;;
64
- esac
65
- else
66
- echo "$command_name"
67
- fi
68
- ;;
69
- "npx")
70
- if [[ $# -gt 1 ]]; then
71
- local tool_name=$(basename "$2" | tr '[:upper:]' '[:lower:]')
72
- case "$tool_name" in
73
- *"playwright"*) echo "playwright" ;;
74
- *) echo "npx" ;;
75
- esac
76
- else
77
- echo "npx"
78
- fi
79
- ;;
80
- *)
81
- echo "unknown"
82
- ;;
83
- esac
84
- }
85
-
86
- # Function to calculate appropriate heap size
87
- calculate_heap_size() {
88
- local mode="$1"
89
- local tool_type="$2"
90
- local override_heap="${3:-}"
91
-
92
- # Use override if provided
93
- if [[ -n "$override_heap" && "$override_heap" =~ ^[0-9]+$ ]]; then
94
- echo "$override_heap"
95
- return 0
96
- fi
97
-
98
- # Use tool-specific heap size if available
99
- local tool_heap="${TOOL_HEAPS[$tool_type]:-}"
100
- if [[ -n "$tool_heap" ]]; then
101
- echo "$tool_heap"
102
- return 0
103
- fi
104
-
105
- # Fall back to mode-based heap size
106
- echo "${HEAP_SIZES[$mode]:-2048}"
107
- }
108
-
109
- # Function to configure NODE_OPTIONS
110
- configure_node_options() {
111
- local mode="$1"
112
- local tool_type="$2"
113
- local heap_size="$3"
114
-
115
- echo "🎛️ Configuring Node.js heap size for Task mode..." >&2
116
-
117
- # Base NODE_OPTIONS
118
- local node_opts="${NODE_OPTIONS:-}"
119
-
120
- # Remove existing heap size settings
121
- node_opts=$(echo "$node_opts" | sed 's/--max-old-space-size=[0-9]*//g')
122
- node_opts=$(echo "$node_opts" | sed 's/--max-semi-space-size=[0-9]*//g')
123
-
124
- # Add new heap size
125
- node_opts="$node_opts --max-old-space-size=$heap_size"
126
-
127
- # Add semi-space size (quarter of heap size)
128
- local semi_space=$((heap_size / 4))
129
- node_opts="$node_opts --max-semi-space-size=$semi_space"
130
-
131
- # Add Task mode specific optimizations
132
- if [[ "$mode" == "task" ]]; then
133
- node_opts="$node_opts --optimize-for-size"
134
- node_opts="$node_opts --max-executable-size=512"
135
- node_opts="$node_opts --gc-interval=100"
136
- fi
137
-
138
- # Export updated NODE_OPTIONS
139
- export NODE_OPTIONS="$node_opts"
140
-
141
- echo "✅ NODE_OPTIONS configured: $NODE_OPTIONS" >&2
142
- echo " Mode: $mode" >&2
143
- echo " Tool: $tool_type" >&2
144
- echo " Heap: ${heap_size}MB" >&2
145
- echo " Semi-space: ${semi_space}MB" >&2
146
-
147
- # Log configuration
148
- if [[ -n "${CFN_VALIDATION_LOG_DIR:-}" ]]; then
149
- local log_file="$CFN_VALIDATION_LOG_DIR/heap-config_$(date +%Y%m%d_%H%M%S).log"
150
- mkdir -p "$(dirname "$log_file")"
151
- cat > "$log_file" <<EOF
152
- {
153
- "timestamp": "$(date -u +%Y-%m-%dT%H:%M:%SZ)",
154
- "mode": "$mode",
155
- "tool_type": "$tool_type",
156
- "heap_size_mb": $heap_size,
157
- "semi_space_size_mb": $semi_space,
158
- "node_options": "$NODE_OPTIONS",
159
- "command": "${BASH_SOURCE[*]}",
160
- "pid": $$,
161
- "ppid": ${PPID:-0}
162
- }
163
- EOF
164
- echo "📝 Heap configuration logged: $log_file" >&2
165
- fi
166
- }
167
-
168
- # Function to validate heap size
169
- validate_heap_configuration() {
170
- local current_heap="${NODE_OPTIONS:-}"
171
-
172
- if echo "$current_heap" | grep -q "max-old-space-size"; then
173
- local heap_value=$(echo "$current_heap" | grep -o "max-old-space-size=[0-9]*" | cut -d= -f2)
174
- local mode=$(detect_execution_mode)
175
- local max_heap="${HEAP_SIZES[$mode]:-2048}"
176
-
177
- if [[ "$heap_value" -gt "$max_heap" ]]; then
178
- echo "⚠️ Heap size ($heap_value MB) exceeds recommended maximum for $mode mode ($max_heap MB)" >&2
179
- return 1
180
- else
181
- echo "✅ Heap size ($heap_value MB) within recommended limits for $mode mode" >&2
182
- return 0
183
- fi
184
- else
185
- echo "⚠️ No heap size configured in NODE_OPTIONS" >&2
186
- return 1
187
- fi
188
- }
189
-
190
- # Main heap limiting function
191
- limit_node_heap() {
192
- local command="$1"
193
- local heap_override="${2:-}"
194
-
195
- # Detect execution mode
196
- local mode=$(detect_execution_mode)
197
-
198
- # Detect tool type
199
- local tool_type=$(detect_tool_type "$command" "${@:2}")
200
-
201
- # Calculate appropriate heap size
202
- local heap_size=$(calculate_heap_size "$mode" "$tool_type" "$heap_override")
203
-
204
- # Configure NODE_OPTIONS
205
- configure_node_options "$mode" "$tool_type" "$heap_size"
206
-
207
- echo "🎯 Node.js heap size limited to ${heap_size}MB for $tool_type in $mode mode" >&2
208
- }
209
-
210
- # Function to execute command with heap limiting
211
- exec_with_heap_limit() {
212
- local command="$1"
213
- local heap_override="${2:-}"
214
- shift 2
215
- local args=("$@")
216
-
217
- # Apply heap limiting
218
- limit_node_heap "$command" "$heap_override"
219
-
220
- # Execute command
221
- echo "🚀 Executing: $command ${args[*]}" >&2
222
- echo " NODE_OPTIONS: $NODE_OPTIONS" >&2
223
-
224
- # Use wrapped executor if available
225
- if [[ -f "$PROJECT_ROOT/.claude/skills/cfn-validation-runner-instrumentation/wrapped-executor.sh" ]]; then
226
- source "$PROJECT_ROOT/.claude/skills/cfn-validation-runner-instrumentation/wrapped-executor.sh"
227
- execute_instrumented "$command" 300 2048 "${args[@]}"
228
- else
229
- "$command" "${args[@]}"
230
- fi
231
- }
232
-
233
- # Show usage
234
- show_usage() {
235
- cat <<'EOF'
236
- CFN Node.js Heap Size Limiter for Task Mode
237
-
238
- USAGE:
239
- source "$(dirname "${BASH_SOURCE[0]}")/task-mode-heap-limiter.sh"
240
-
241
- # Configuration
242
- limit_node_heap <command> [heap_override_mb] # Limit heap size for command
243
- configure_node_options <mode> <tool_type> <size> # Configure NODE_OPTIONS
244
- validate_heap_configuration # Validate current configuration
245
-
246
- # Execution
247
- exec_with_heap_limit <command> [heap_override] [args...]
248
-
249
- ENVIRONMENT VARIABLES:
250
- NODE_OPTIONS # Modified to include heap size limits
251
- CFN_MODE # Detected or set execution mode
252
- CFN_VALIDATION_LOG_DIR # Directory for heap configuration logs
253
-
254
- HEAP SIZES BY MODE:
255
- task: 2048 MB (conservative)
256
- cli: 8192 MB (production)
257
- debug: 1024 MB (minimal)
258
- test: 3072 MB (moderate)
259
-
260
- HEAP SIZES BY TOOL TYPE:
261
- node: 2048 MB
262
- bun: 3072 MB
263
- playwright: 4096 MB
264
- test: 1536 MB
265
- validator: 1024 MB
266
- reviewer: 1024 MB
267
- tester: 1024 MB
268
-
269
- EXAMPLES:
270
- # Limit heap for Node.js execution
271
- limit_node_heap "node" 1024
272
- node script.js
273
-
274
- # Execute with automatic heap limiting
275
- exec_with_heap_limit "bun" "build.ts"
276
-
277
- # Custom heap size
278
- exec_with_heap_limit "node" "4096" "heavy-script.js"
279
-
280
- # Configure manually
281
- configure_node_options "task" "validator" 1024
282
-
283
- # Validate current configuration
284
- validate_heap_configuration
285
-
286
- EOF
287
- }
288
-
289
- # Main execution block
290
- if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
291
- if [[ "$1" == "--help" || "$1" == "-h" ]]; then
292
- show_usage
293
- exit 0
294
- fi
295
-
296
- # Execute operation if provided
297
- if [[ $# -gt 0 ]]; then
298
- case "$1" in
299
- "limit")
300
- shift
301
- limit_node_heap "$@"
302
- ;;
303
- "configure")
304
- shift
305
- configure_node_options "$@"
306
- ;;
307
- "validate")
308
- validate_heap_configuration
309
- ;;
310
- "exec")
311
- shift
312
- exec_with_heap_limit "$@"
313
- ;;
314
- *)
315
- echo "Unknown command: $1" >&2
316
- echo "Use --help for usage information" >&2
317
- exit 1
318
- ;;
319
- esac
320
- else
321
- echo "CFN Node.js Heap Size Limiter for Task Mode" >&2
322
- echo "Current mode: $(detect_execution_mode)" >&2
323
- echo "Current NODE_OPTIONS: ${NODE_OPTIONS:-unset}" >&2
324
- echo "Use --help for usage information" >&2
325
- fi
1
+ #!/bin/bash
2
+ # CFN Node.js Heap Size Limiter for Task Mode
3
+ # Dynamically adjusts NODE_OPTIONS based on execution mode to prevent memory bloat
4
+
5
+ set -euo pipefail
6
+
7
+ # Configuration
8
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
9
+ PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
10
+
11
+ # Mode-based heap sizes (in MB)
12
+ declare -A HEAP_SIZES=(
13
+ ["task"]="2048" # 2GB for Task mode (conservative)
14
+ ["cli"]="8192" # 8GB for CLI mode (production)
15
+ ["debug"]="1024" # 1GB for debugging (minimal)
16
+ ["test"]="3072" # 3GB for testing (moderate)
17
+ )
18
+
19
+ # Default heap sizes by tool type
20
+ declare -A TOOL_HEAPS=(
21
+ ["node"]="2048"
22
+ ["bun"]="3072"
23
+ ["playwright"]="4096"
24
+ ["test"]="1536"
25
+ ["validator"]="1024"
26
+ ["reviewer"]="1024"
27
+ ["tester"]="1024"
28
+ })
29
+
30
+ # Function to detect current execution mode
31
+ detect_execution_mode() {
32
+ # Use existing mode detection if available
33
+ if [[ -f "$PROJECT_ROOT/.claude/skills/cfn-task-mode-safety/mode-detection.sh" ]]; then
34
+ source "$PROJECT_ROOT/.claude/skills/cfn-task-mode-safety/mode-detection.sh"
35
+ detect_execution_mode 2>/dev/null && return 0
36
+ fi
37
+
38
+ # Fallback detection
39
+ if [[ -n "${CFN_MODE:-}" ]]; then
40
+ echo "$CFN_MODE"
41
+ elif [[ -n "${TASK_ID:-}" && -n "${AGENT_ID:-}" ]]; then
42
+ echo "cli"
43
+ else
44
+ echo "task" # Safe default
45
+ fi
46
+ }
47
+
48
+ # Function to determine tool type from command line
49
+ detect_tool_type() {
50
+ local command="$1"
51
+ local command_name=$(basename "$command")
52
+
53
+ case "$command_name" in
54
+ "node"|"bun")
55
+ # Look at script name to determine tool type
56
+ if [[ $# -gt 1 ]]; then
57
+ local script_name=$(basename "$2" | tr '[:upper:]' '[:lower:]')
58
+ case "$script_name" in
59
+ *"test"*) echo "test" ;;
60
+ *"validator"*) echo "validator" ;;
61
+ *"reviewer"*) echo "reviewer" ;;
62
+ *"tester"*) echo "tester" ;;
63
+ *) echo "$command_name" ;;
64
+ esac
65
+ else
66
+ echo "$command_name"
67
+ fi
68
+ ;;
69
+ "npx")
70
+ if [[ $# -gt 1 ]]; then
71
+ local tool_name=$(basename "$2" | tr '[:upper:]' '[:lower:]')
72
+ case "$tool_name" in
73
+ *"playwright"*) echo "playwright" ;;
74
+ *) echo "npx" ;;
75
+ esac
76
+ else
77
+ echo "npx"
78
+ fi
79
+ ;;
80
+ *)
81
+ echo "unknown"
82
+ ;;
83
+ esac
84
+ }
85
+
86
+ # Function to calculate appropriate heap size
87
+ calculate_heap_size() {
88
+ local mode="$1"
89
+ local tool_type="$2"
90
+ local override_heap="${3:-}"
91
+
92
+ # Use override if provided
93
+ if [[ -n "$override_heap" && "$override_heap" =~ ^[0-9]+$ ]]; then
94
+ echo "$override_heap"
95
+ return 0
96
+ fi
97
+
98
+ # Use tool-specific heap size if available
99
+ local tool_heap="${TOOL_HEAPS[$tool_type]:-}"
100
+ if [[ -n "$tool_heap" ]]; then
101
+ echo "$tool_heap"
102
+ return 0
103
+ fi
104
+
105
+ # Fall back to mode-based heap size
106
+ echo "${HEAP_SIZES[$mode]:-2048}"
107
+ }
108
+
109
+ # Function to configure NODE_OPTIONS
110
+ configure_node_options() {
111
+ local mode="$1"
112
+ local tool_type="$2"
113
+ local heap_size="$3"
114
+
115
+ echo "🎛️ Configuring Node.js heap size for Task mode..." >&2
116
+
117
+ # Base NODE_OPTIONS
118
+ local node_opts="${NODE_OPTIONS:-}"
119
+
120
+ # Remove existing heap size settings
121
+ node_opts=$(echo "$node_opts" | sed 's/--max-old-space-size=[0-9]*//g')
122
+ node_opts=$(echo "$node_opts" | sed 's/--max-semi-space-size=[0-9]*//g')
123
+
124
+ # Add new heap size
125
+ node_opts="$node_opts --max-old-space-size=$heap_size"
126
+
127
+ # Add semi-space size (quarter of heap size)
128
+ local semi_space=$((heap_size / 4))
129
+ node_opts="$node_opts --max-semi-space-size=$semi_space"
130
+
131
+ # Add Task mode specific optimizations
132
+ if [[ "$mode" == "task" ]]; then
133
+ node_opts="$node_opts --optimize-for-size"
134
+ node_opts="$node_opts --max-executable-size=512"
135
+ node_opts="$node_opts --gc-interval=100"
136
+ fi
137
+
138
+ # Export updated NODE_OPTIONS
139
+ export NODE_OPTIONS="$node_opts"
140
+
141
+ echo "✅ NODE_OPTIONS configured: $NODE_OPTIONS" >&2
142
+ echo " Mode: $mode" >&2
143
+ echo " Tool: $tool_type" >&2
144
+ echo " Heap: ${heap_size}MB" >&2
145
+ echo " Semi-space: ${semi_space}MB" >&2
146
+
147
+ # Log configuration
148
+ if [[ -n "${CFN_VALIDATION_LOG_DIR:-}" ]]; then
149
+ local log_file="$CFN_VALIDATION_LOG_DIR/heap-config_$(date +%Y%m%d_%H%M%S).log"
150
+ mkdir -p "$(dirname "$log_file")"
151
+ cat > "$log_file" <<EOF
152
+ {
153
+ "timestamp": "$(date -u +%Y-%m-%dT%H:%M:%SZ)",
154
+ "mode": "$mode",
155
+ "tool_type": "$tool_type",
156
+ "heap_size_mb": $heap_size,
157
+ "semi_space_size_mb": $semi_space,
158
+ "node_options": "$NODE_OPTIONS",
159
+ "command": "${BASH_SOURCE[*]}",
160
+ "pid": $$,
161
+ "ppid": ${PPID:-0}
162
+ }
163
+ EOF
164
+ echo "📝 Heap configuration logged: $log_file" >&2
165
+ fi
166
+ }
167
+
168
+ # Function to validate heap size
169
+ validate_heap_configuration() {
170
+ local current_heap="${NODE_OPTIONS:-}"
171
+
172
+ if echo "$current_heap" | grep -q "max-old-space-size"; then
173
+ local heap_value=$(echo "$current_heap" | grep -o "max-old-space-size=[0-9]*" | cut -d= -f2)
174
+ local mode=$(detect_execution_mode)
175
+ local max_heap="${HEAP_SIZES[$mode]:-2048}"
176
+
177
+ if [[ "$heap_value" -gt "$max_heap" ]]; then
178
+ echo "⚠️ Heap size ($heap_value MB) exceeds recommended maximum for $mode mode ($max_heap MB)" >&2
179
+ return 1
180
+ else
181
+ echo "✅ Heap size ($heap_value MB) within recommended limits for $mode mode" >&2
182
+ return 0
183
+ fi
184
+ else
185
+ echo "⚠️ No heap size configured in NODE_OPTIONS" >&2
186
+ return 1
187
+ fi
188
+ }
189
+
190
+ # Main heap limiting function
191
+ limit_node_heap() {
192
+ local command="$1"
193
+ local heap_override="${2:-}"
194
+
195
+ # Detect execution mode
196
+ local mode=$(detect_execution_mode)
197
+
198
+ # Detect tool type
199
+ local tool_type=$(detect_tool_type "$command" "${@:2}")
200
+
201
+ # Calculate appropriate heap size
202
+ local heap_size=$(calculate_heap_size "$mode" "$tool_type" "$heap_override")
203
+
204
+ # Configure NODE_OPTIONS
205
+ configure_node_options "$mode" "$tool_type" "$heap_size"
206
+
207
+ echo "🎯 Node.js heap size limited to ${heap_size}MB for $tool_type in $mode mode" >&2
208
+ }
209
+
210
+ # Function to execute command with heap limiting
211
+ exec_with_heap_limit() {
212
+ local command="$1"
213
+ local heap_override="${2:-}"
214
+ shift 2
215
+ local args=("$@")
216
+
217
+ # Apply heap limiting
218
+ limit_node_heap "$command" "$heap_override"
219
+
220
+ # Execute command
221
+ echo "🚀 Executing: $command ${args[*]}" >&2
222
+ echo " NODE_OPTIONS: $NODE_OPTIONS" >&2
223
+
224
+ # Use wrapped executor if available
225
+ if [[ -f "$PROJECT_ROOT/.claude/skills/cfn-validation-runner-instrumentation/wrapped-executor.sh" ]]; then
226
+ source "$PROJECT_ROOT/.claude/skills/cfn-validation-runner-instrumentation/wrapped-executor.sh"
227
+ execute_instrumented "$command" 300 2048 "${args[@]}"
228
+ else
229
+ "$command" "${args[@]}"
230
+ fi
231
+ }
232
+
233
+ # Show usage
234
+ show_usage() {
235
+ cat <<'EOF'
236
+ CFN Node.js Heap Size Limiter for Task Mode
237
+
238
+ USAGE:
239
+ source "$(dirname "${BASH_SOURCE[0]}")/task-mode-heap-limiter.sh"
240
+
241
+ # Configuration
242
+ limit_node_heap <command> [heap_override_mb] # Limit heap size for command
243
+ configure_node_options <mode> <tool_type> <size> # Configure NODE_OPTIONS
244
+ validate_heap_configuration # Validate current configuration
245
+
246
+ # Execution
247
+ exec_with_heap_limit <command> [heap_override] [args...]
248
+
249
+ ENVIRONMENT VARIABLES:
250
+ NODE_OPTIONS # Modified to include heap size limits
251
+ CFN_MODE # Detected or set execution mode
252
+ CFN_VALIDATION_LOG_DIR # Directory for heap configuration logs
253
+
254
+ HEAP SIZES BY MODE:
255
+ task: 2048 MB (conservative)
256
+ cli: 8192 MB (production)
257
+ debug: 1024 MB (minimal)
258
+ test: 3072 MB (moderate)
259
+
260
+ HEAP SIZES BY TOOL TYPE:
261
+ node: 2048 MB
262
+ bun: 3072 MB
263
+ playwright: 4096 MB
264
+ test: 1536 MB
265
+ validator: 1024 MB
266
+ reviewer: 1024 MB
267
+ tester: 1024 MB
268
+
269
+ EXAMPLES:
270
+ # Limit heap for Node.js execution
271
+ limit_node_heap "node" 1024
272
+ node script.js
273
+
274
+ # Execute with automatic heap limiting
275
+ exec_with_heap_limit "bun" "build.ts"
276
+
277
+ # Custom heap size
278
+ exec_with_heap_limit "node" "4096" "heavy-script.js"
279
+
280
+ # Configure manually
281
+ configure_node_options "task" "validator" 1024
282
+
283
+ # Validate current configuration
284
+ validate_heap_configuration
285
+
286
+ EOF
287
+ }
288
+
289
+ # Main execution block
290
+ if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
291
+ if [[ "$1" == "--help" || "$1" == "-h" ]]; then
292
+ show_usage
293
+ exit 0
294
+ fi
295
+
296
+ # Execute operation if provided
297
+ if [[ $# -gt 0 ]]; then
298
+ case "$1" in
299
+ "limit")
300
+ shift
301
+ limit_node_heap "$@"
302
+ ;;
303
+ "configure")
304
+ shift
305
+ configure_node_options "$@"
306
+ ;;
307
+ "validate")
308
+ validate_heap_configuration
309
+ ;;
310
+ "exec")
311
+ shift
312
+ exec_with_heap_limit "$@"
313
+ ;;
314
+ *)
315
+ echo "Unknown command: $1" >&2
316
+ echo "Use --help for usage information" >&2
317
+ exit 1
318
+ ;;
319
+ esac
320
+ else
321
+ echo "CFN Node.js Heap Size Limiter for Task Mode" >&2
322
+ echo "Current mode: $(detect_execution_mode)" >&2
323
+ echo "Current NODE_OPTIONS: ${NODE_OPTIONS:-unset}" >&2
324
+ echo "Use --help for usage information" >&2
325
+ fi
326
326
  fi