claude-flow-novice 2.15.3 → 2.15.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (473) 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 +29 -6
  34. package/.claude/commands/switch-api.md +31 -10
  35. package/.claude/hooks/cfn-lint-sql-injection.sh +61 -0
  36. package/.claude/hooks/cfn-post-edit-cfn-retrospective.sh +33 -2
  37. package/.claude/hooks/cfn-pre-edit-security-warning.sh +40 -0
  38. package/.claude/skills/cfn-agent-spawning/spawn-agent.sh +22 -24
  39. package/.claude/skills/cfn-docker-agent-spawning/SKILL.md +28 -4
  40. package/.claude/skills/cfn-docker-agent-spawning/spawn-agent.sh +3 -1
  41. package/.claude/skills/cfn-docker-loop-orchestration/orchestrate.sh +224 -20
  42. package/.claude/skills/cfn-loop-orchestration/helpers/gate-check.sh +550 -46
  43. package/.claude/skills/cfn-loop-orchestration/helpers/parse-test-results.sh +277 -0
  44. package/.claude/skills/cfn-loop-orchestration/orchestrate.sh +238 -29
  45. package/.claude/skills/cfn-loop-orchestration/security_utils.sh +24 -0
  46. package/.claude/skills/cfn-loop-orchestration/test-iteration-context-injection.sh +366 -0
  47. package/.claude/skills/cfn-redis-coordination/CENTRALIZED_REDIS_WRAPPER.md +319 -0
  48. package/.claude/skills/cfn-redis-coordination/agent-log.sh +4 -0
  49. package/.claude/skills/cfn-redis-coordination/agent-log.sh.bak +124 -0
  50. package/.claude/skills/cfn-redis-coordination/agent-recovery.sh +2 -2
  51. package/.claude/skills/cfn-redis-coordination/collect-confidence-scores.sh +30 -0
  52. package/.claude/skills/cfn-redis-coordination/get-context.sh +33 -0
  53. package/.claude/skills/cfn-redis-coordination/get-success-criteria.sh +54 -0
  54. package/.claude/skills/cfn-redis-coordination/invoke-waiting-mode.sh +6 -2
  55. package/.claude/skills/cfn-redis-coordination/redis-cli-wrapper.sh +24 -3
  56. package/.claude/skills/cfn-redis-coordination/redis-functions.sh +34 -0
  57. package/.claude/skills/cfn-redis-coordination/report-completion.sh +24 -31
  58. package/.claude/skills/cfn-redis-coordination/store-context.sh +4 -0
  59. package/.claude/skills/cfn-redis-coordination/store-success-criteria.sh +85 -0
  60. package/.claude/skills/cfn-redis-coordination/update-all-scripts.sh +67 -0
  61. package/.claude/skills/cfn-sqlite-memory/ttl-cleanup.sh +17 -25
  62. package/.claude/skills/cfn-transparency-middleware/test-e2e.sh +15 -0
  63. package/.claude/skills/cfn-transparency-middleware/tests/input-validation.sh +15 -0
  64. package/README.md +116 -475
  65. package/claude-assets/agents/cfn-dev-team/README.md +103 -0
  66. package/claude-assets/agents/cfn-dev-team/architecture/goal-planner.md +1 -1
  67. package/claude-assets/agents/cfn-dev-team/coordinators/cfn-frontend-coordinator.md +77 -15
  68. package/claude-assets/agents/cfn-dev-team/coordinators/cfn-v3-coordinator.md +355 -6
  69. package/claude-assets/agents/cfn-dev-team/coordinators/consensus-builder.md +82 -1
  70. package/claude-assets/agents/cfn-dev-team/coordinators/handoff-coordinator.md +82 -1
  71. package/claude-assets/agents/cfn-dev-team/coordinators/multi-sprint-coordinator.md +77 -15
  72. package/claude-assets/agents/cfn-dev-team/dev-ops/docker-specialist.md +99 -12
  73. package/claude-assets/agents/cfn-dev-team/dev-ops/github-commit-agent.md +1 -1
  74. package/claude-assets/agents/cfn-dev-team/dev-ops/kubernetes-specialist.md +97 -0
  75. package/claude-assets/agents/cfn-dev-team/dev-ops/monitoring-specialist.md +20 -1
  76. package/claude-assets/agents/cfn-dev-team/developers/api-gateway-specialist.md +97 -0
  77. package/claude-assets/agents/cfn-dev-team/developers/backend-developer.md +110 -13
  78. package/claude-assets/agents/cfn-dev-team/developers/data/data-engineer.md +106 -15
  79. package/claude-assets/agents/cfn-dev-team/developers/database/database-architect.md +115 -11
  80. package/claude-assets/agents/cfn-dev-team/developers/frontend/mobile-dev.md +94 -7
  81. package/claude-assets/agents/cfn-dev-team/developers/frontend/react-frontend-engineer.md +87 -9
  82. package/claude-assets/agents/cfn-dev-team/developers/frontend/typescript-specialist.md +85 -7
  83. package/claude-assets/agents/cfn-dev-team/developers/frontend/ui-designer.md +160 -28
  84. package/claude-assets/agents/cfn-dev-team/developers/graphql-specialist.md +101 -19
  85. package/claude-assets/agents/cfn-dev-team/developers/rust-developer.md +108 -14
  86. package/claude-assets/agents/cfn-dev-team/reviewers/{reviewer.md → code-reviewer.md} +95 -8
  87. package/claude-assets/agents/cfn-dev-team/reviewers/quality/code-quality-validator.md +107 -7
  88. package/claude-assets/agents/cfn-dev-team/reviewers/quality/perf-analyzer.md +98 -7
  89. package/claude-assets/agents/cfn-dev-team/reviewers/quality/performance-benchmarker.md +95 -7
  90. package/claude-assets/agents/cfn-dev-team/reviewers/quality/security-specialist.md +136 -9
  91. package/claude-assets/agents/cfn-dev-team/testers/api-testing-specialist.md +108 -1
  92. package/claude-assets/agents/cfn-dev-team/testers/chaos-engineering-specialist.md +107 -13
  93. package/claude-assets/agents/cfn-dev-team/testers/contract-tester.md +737 -0
  94. package/claude-assets/agents/cfn-dev-team/testers/e2e/playwright-tester.md +1 -1
  95. package/claude-assets/agents/cfn-dev-team/testers/integration-tester.md +828 -0
  96. package/claude-assets/agents/cfn-dev-team/testers/interaction-tester.md +106 -7
  97. package/claude-assets/agents/cfn-dev-team/testers/load-testing-specialist.md +77 -0
  98. package/claude-assets/agents/cfn-dev-team/testers/mutation-testing-specialist.md +684 -0
  99. package/claude-assets/agents/cfn-dev-team/testers/playwright-tester.md +110 -1
  100. package/claude-assets/agents/cfn-dev-team/testers/tester.md +94 -7
  101. package/claude-assets/agents/cfn-dev-team/utility/code-booster.md +1 -3
  102. package/claude-assets/agents/cfn-dev-team/utility/epic-creator.md +87 -13
  103. package/claude-assets/agents/cfn-dev-team/utility/memory-leak-specialist.md +103 -7
  104. package/claude-assets/agents/cfn-dev-team/utility/researcher.md +1 -3
  105. package/claude-assets/agents/cfn-dev-team/utility/z-ai-specialist.md +94 -7
  106. package/claude-assets/agents/docker-coordinators/cfn-docker-v3-coordinator.md +46 -0
  107. package/claude-assets/agents/project-only-agents/npm-package-specialist.md +1 -1
  108. package/claude-assets/cfn-extras/skills/advanced-features/cfn-agent-swap/recommend-swap.sh +59 -59
  109. package/claude-assets/cfn-extras/skills/analytics/cfn-improvement-recommender/recommend-improvements.sh +91 -91
  110. package/claude-assets/cfn-extras/skills/analytics/cfn-pattern-extraction/extract-patterns.sh +79 -79
  111. package/claude-assets/cfn-extras/skills/analytics/cfn-retrospective-report/generate-report.sh +100 -100
  112. package/claude-assets/cfn-extras/skills/analytics/cfn-telemetry/start-telemetry.sh +110 -110
  113. package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/add-bullet.sh +145 -145
  114. package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/log-merge.sh +67 -67
  115. package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/monitor-injection-performance.sh +137 -137
  116. package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/optimize-injection-pipeline.sh +168 -168
  117. package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/query-reflections.sh +35 -35
  118. package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/store-reflection.sh +45 -45
  119. package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/track-ab-test.sh +41 -41
  120. package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/update-reflection.sh +41 -41
  121. package/claude-assets/cfn-extras/skills/deprecated/cfn-cli-setup/validate-cli-environment.sh +191 -191
  122. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/create-campaign.sh +231 -231
  123. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/get-campaign-performance.sh +190 -190
  124. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/pause-campaign.sh +142 -142
  125. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/set-budget.sh +181 -181
  126. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/update-bid-strategy.sh +133 -133
  127. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/get-conversation-history.sh +121 -121
  128. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/qualify-lead.sh +156 -156
  129. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/schedule-demo.sh +181 -181
  130. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/send-message.sh +137 -137
  131. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/transfer-to-human.sh +179 -179
  132. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/create-campaign.sh +183 -183
  133. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/get-delivery-status.sh +139 -139
  134. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/opt-out.sh +150 -150
  135. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/schedule-campaign.sh +187 -187
  136. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/send-sms.sh +181 -181
  137. package/claude-assets/cfn-extras/skills/ui-portal/cfn-web-portal/test-web-portal-skill.sh +50 -50
  138. package/claude-assets/cfn-extras/skills/ui-portal/cfn-web-portal/validate-deployment.sh +84 -84
  139. package/claude-assets/cfn-extras/skills/utility/cfn-environment-sanitization/sanitize-environment.sh +243 -243
  140. package/claude-assets/commands/cfn-loop-cli.md +29 -6
  141. package/claude-assets/commands/switch-api.md +31 -10
  142. package/claude-assets/hooks/cfn-lint-sql-injection.sh +61 -0
  143. package/claude-assets/hooks/cfn-post-edit-cfn-retrospective.sh +33 -2
  144. package/claude-assets/hooks/cfn-pre-edit-security-warning.sh +40 -0
  145. package/claude-assets/hooks/detect-hardcoded-credentials.sh +212 -0
  146. package/claude-assets/skills/SKILL_TEMPLATE.md +774 -0
  147. package/claude-assets/skills/agent-lifecycle/execute-lifecycle-hook.sh +84 -113
  148. package/claude-assets/skills/agent-lifecycle/simple-audit.sh +33 -6
  149. package/claude-assets/skills/agent-template-generator/SKILL.md +440 -0
  150. package/claude-assets/skills/agent-template-generator/generate-agent.sh +405 -0
  151. package/claude-assets/skills/agent-validation-linter/SKILL.md +589 -0
  152. package/claude-assets/skills/agent-validation-linter/lint-agents.sh +271 -0
  153. package/claude-assets/skills/bootstrap/bash-fundamentals.md +786 -0
  154. package/claude-assets/skills/bootstrap/database-connection.md +464 -0
  155. package/claude-assets/skills/bootstrap/error-handling.md +580 -0
  156. package/claude-assets/skills/bootstrap/file-operations.md +699 -0
  157. package/claude-assets/skills/bootstrap/skill-loader.md +616 -0
  158. package/claude-assets/skills/bootstrap/sqlite-params.sh +287 -0
  159. package/claude-assets/skills/cfn-agent-spawning/spawn-agent.sh +22 -24
  160. package/claude-assets/skills/cfn-automatic-memory-persistence/test-memory-persistence.sh +17 -16
  161. package/claude-assets/skills/cfn-deployment/SKILL.md +293 -0
  162. package/claude-assets/skills/cfn-deployment/execute.sh +21 -0
  163. package/claude-assets/skills/cfn-docker-agent-spawning/SKILL.md +28 -4
  164. package/claude-assets/skills/cfn-docker-agent-spawning/spawn-agent.sh +3 -1
  165. package/claude-assets/skills/cfn-docker-loop-orchestration/orchestrate.sh +224 -20
  166. package/claude-assets/skills/cfn-environment-sanitization/sanitize-environment.sh +38 -0
  167. package/claude-assets/skills/cfn-error-batching-strategy/lib/core-functions.sh +47 -47
  168. package/claude-assets/skills/cfn-file-operations/SKILL.md +290 -0
  169. package/claude-assets/skills/cfn-file-operations/execute.sh +129 -0
  170. package/claude-assets/skills/cfn-file-operations/lib/atomic-write.sh +294 -0
  171. package/claude-assets/skills/cfn-file-operations/lib/lock.sh +361 -0
  172. package/claude-assets/skills/cfn-file-operations/test.sh +369 -0
  173. package/claude-assets/skills/cfn-log-operations/SKILL.md +308 -0
  174. package/claude-assets/skills/cfn-log-operations/execute.sh +420 -0
  175. package/claude-assets/skills/cfn-log-operations/lib/rotate.sh +406 -0
  176. package/claude-assets/skills/cfn-log-operations/lib/search.sh +448 -0
  177. package/claude-assets/skills/cfn-log-operations/test.sh +394 -0
  178. package/claude-assets/skills/cfn-loop-orchestration/helpers/gate-check.sh +550 -46
  179. package/claude-assets/skills/cfn-loop-orchestration/helpers/parse-test-results.sh +277 -0
  180. package/claude-assets/skills/cfn-loop-orchestration/orchestrate.sh +238 -29
  181. package/claude-assets/skills/cfn-loop-orchestration/security_utils.sh +24 -0
  182. package/claude-assets/skills/cfn-loop-orchestration/test-iteration-context-injection.sh +366 -0
  183. package/claude-assets/skills/cfn-parameterized-queries/SKILL.md +339 -0
  184. package/claude-assets/skills/cfn-playbook/query-playbook.sh +19 -15
  185. package/claude-assets/skills/cfn-playbook/update-playbook.sh +25 -14
  186. package/claude-assets/skills/cfn-process-instrumentation/instrument-process.sh +44 -0
  187. package/claude-assets/skills/cfn-promotion/SKILL.md +305 -0
  188. package/claude-assets/skills/cfn-redis-coordination/CENTRALIZED_REDIS_WRAPPER.md +319 -0
  189. package/claude-assets/skills/cfn-redis-coordination/agent-log.sh +4 -0
  190. package/claude-assets/skills/cfn-redis-coordination/agent-log.sh.bak +124 -0
  191. package/claude-assets/skills/cfn-redis-coordination/agent-recovery.sh +2 -2
  192. package/claude-assets/skills/cfn-redis-coordination/collect-confidence-scores.sh +30 -0
  193. package/claude-assets/skills/cfn-redis-coordination/get-context.sh +33 -0
  194. package/claude-assets/skills/cfn-redis-coordination/get-success-criteria.sh +54 -0
  195. package/claude-assets/skills/cfn-redis-coordination/invoke-waiting-mode.sh +6 -2
  196. package/claude-assets/skills/cfn-redis-coordination/redis-cli-wrapper.sh +24 -3
  197. package/claude-assets/skills/cfn-redis-coordination/redis-functions.sh +34 -0
  198. package/claude-assets/skills/cfn-redis-coordination/report-completion.sh +24 -31
  199. package/claude-assets/skills/cfn-redis-coordination/store-context.sh +4 -0
  200. package/claude-assets/skills/cfn-redis-coordination/store-success-criteria.sh +85 -0
  201. package/claude-assets/skills/cfn-redis-coordination/update-all-scripts.sh +67 -0
  202. package/claude-assets/skills/cfn-skill-loader/SKILL.md +466 -0
  203. package/claude-assets/skills/cfn-skill-loader/execute.sh +344 -0
  204. package/claude-assets/skills/cfn-sqlite-memory/ttl-cleanup.sh +17 -25
  205. package/claude-assets/skills/cfn-task-audit/get-audit-data.sh +42 -21
  206. package/claude-assets/skills/cfn-task-audit/store-task-audit.sh +17 -10
  207. package/claude-assets/skills/cfn-test-runner/detect-regressions.sh +17 -14
  208. package/claude-assets/skills/cfn-test-runner/detect-regressions.sh.backup-1763392821 +55 -0
  209. package/claude-assets/skills/cfn-test-runner/store-benchmarks.sh +17 -19
  210. package/claude-assets/skills/cfn-transparency-middleware/test-e2e.sh +15 -0
  211. package/claude-assets/skills/cfn-transparency-middleware/tests/input-validation.sh +15 -0
  212. package/claude-assets/skills/cfn-utilities/SKILL.md +237 -0
  213. package/claude-assets/skills/cfn-utilities/execute.sh +32 -0
  214. package/claude-assets/skills/cfn-utilities/lib/errors.sh +56 -0
  215. package/claude-assets/skills/cfn-utilities/lib/file-ops.sh +164 -0
  216. package/claude-assets/skills/cfn-utilities/lib/logging.sh +77 -0
  217. package/claude-assets/skills/cfn-utilities/lib/retry.sh +127 -0
  218. package/claude-assets/skills/cfn-utilities/test.sh +317 -0
  219. package/claude-assets/skills/integration/agent-handoff.sh +62 -64
  220. package/claude-assets/skills/json-validation/SKILL.md +431 -0
  221. package/claude-assets/skills/json-validation/test-validate-success-criteria.sh +421 -0
  222. package/claude-assets/skills/json-validation/validate-success-criteria.sh +197 -0
  223. package/claude-assets/skills/redis-coordination/validate-parameters.sh +34 -0
  224. package/claude-assets/skills/workflow-codification/DEPLOY_QUICK_REFERENCE.md +106 -0
  225. package/claude-assets/skills/workflow-codification/PROPAGATE_UPDATE_QUICK_REFERENCE.md +366 -0
  226. package/claude-assets/skills/workflow-codification/deploy-approved-skill.sh +481 -0
  227. package/claude-assets/skills/workflow-codification/deploy-approved-skill.sh.backup-1763392820 +512 -0
  228. package/claude-assets/skills/workflow-codification/lib/security-utils.sh +204 -0
  229. package/claude-assets/skills/workflow-codification/propagate-skill-update.sh +648 -0
  230. package/claude-assets/skills/workflow-codification/propagate-skill-update.sh.backup-1763392820 +664 -0
  231. package/claude-assets/skills/workflow-codification/test-integration.sh +15 -0
  232. package/claude-assets/skills/workflow-codification/test-metadata-update.sh +350 -0
  233. package/claude-assets/skills/workflow-codification/track-cost-savings.sh +55 -14
  234. package/claude-assets/skills/workflow-codification/track-cost-savings.sh.backup-1763392821 +445 -0
  235. package/claude-assets/skills/workflow-codification/track-edge-case.sh +27 -60
  236. package/claude-assets/skills/workflow-codification/workflow-codification.db +0 -0
  237. package/dist/ace/ace-curator.js +10 -2
  238. package/dist/ace/ace-curator.js.map +1 -1
  239. package/dist/ace/ace-generator.js +4 -0
  240. package/dist/ace/ace-generator.js.map +1 -1
  241. package/dist/ace/ace-reflector.js +1 -1
  242. package/dist/ace/ace-reflector.js.map +1 -1
  243. package/dist/ace/context-injection.js +24 -2
  244. package/dist/ace/context-injection.js.map +1 -1
  245. package/dist/agents/task-agent-integration.js +1 -1
  246. package/dist/agents/task-agent-integration.js.map +1 -1
  247. package/dist/api/health-endpoints.js +390 -0
  248. package/dist/api/health-endpoints.js.map +1 -0
  249. package/dist/cli/agent-executor.js +4 -1
  250. package/dist/cli/agent-executor.js.map +1 -1
  251. package/dist/cli/agent-prompt-builder.js +89 -1
  252. package/dist/cli/agent-prompt-builder.js.map +1 -1
  253. package/dist/cli/agent-spawn.js +130 -37
  254. package/dist/cli/agent-spawn.js.map +1 -1
  255. package/dist/cli/config-manager.js +109 -91
  256. package/dist/cli/config-manager.js.map +1 -1
  257. package/dist/cli/conversation-fork-cleanup.js +201 -0
  258. package/dist/cli/conversation-fork-cleanup.js.map +1 -0
  259. package/dist/cli/conversation-fork.js +16 -3
  260. package/dist/cli/conversation-fork.js.map +1 -1
  261. package/dist/cli/skill-cache-validator.js +412 -0
  262. package/dist/cli/skill-cache-validator.js.map +1 -0
  263. package/dist/cli/skill-cli.js +991 -0
  264. package/dist/cli/skill-cli.js.map +1 -0
  265. package/dist/cli/skill-execution-logger.js +284 -0
  266. package/dist/cli/skill-execution-logger.js.map +1 -0
  267. package/dist/cli/skill-loader.js +457 -0
  268. package/dist/cli/skill-loader.js.map +1 -0
  269. package/dist/coordination/event-bus.js +2 -2
  270. package/dist/coordination/event-bus.js.map +1 -1
  271. package/dist/coordination/fleet-manager.js +1 -1
  272. package/dist/coordination/fleet-manager.js.map +1 -1
  273. package/dist/coordination/index.js +23 -9
  274. package/dist/coordination/index.js.map +1 -1
  275. package/dist/coordination/types/fleet-manager.types.js.map +1 -1
  276. package/dist/db/migration-manager.js +483 -0
  277. package/dist/db/migration-manager.js.map +1 -0
  278. package/dist/db/skills-query.js +535 -0
  279. package/dist/db/skills-query.js.map +1 -0
  280. package/dist/integration/DatabaseHandoff.js +1 -1
  281. package/dist/integration/DatabaseHandoff.js.map +1 -1
  282. package/dist/jobs/edge-case-analyzer.js +367 -0
  283. package/dist/jobs/edge-case-analyzer.js.map +1 -0
  284. package/dist/jobs/promotion-sla-enforcer.js +288 -0
  285. package/dist/jobs/promotion-sla-enforcer.js.map +1 -0
  286. package/dist/lib/agent-output-parser.js.map +1 -1
  287. package/dist/lib/agent-output-validator.js.map +1 -1
  288. package/dist/lib/agent-workspace.js +281 -0
  289. package/dist/lib/agent-workspace.js.map +1 -0
  290. package/dist/lib/atomic-file-writer.js +377 -0
  291. package/dist/lib/atomic-file-writer.js.map +1 -0
  292. package/dist/lib/backup-manager.js +779 -0
  293. package/dist/lib/backup-manager.js.map +1 -0
  294. package/dist/lib/checkpoint-manager.js +837 -0
  295. package/dist/lib/checkpoint-manager.js.map +1 -0
  296. package/dist/lib/circuit-breaker.js +340 -0
  297. package/dist/lib/circuit-breaker.js.map +1 -0
  298. package/dist/lib/completion-signal-handler.js +243 -0
  299. package/dist/lib/completion-signal-handler.js.map +1 -0
  300. package/dist/lib/config-manager.js +312 -0
  301. package/dist/lib/config-manager.js.map +1 -0
  302. package/dist/lib/config-migrator.js +386 -0
  303. package/dist/lib/config-migrator.js.map +1 -0
  304. package/dist/lib/config-validator.js.map +1 -1
  305. package/dist/lib/correlation-cache.js +311 -0
  306. package/dist/lib/correlation-cache.js.map +1 -0
  307. package/dist/lib/correlation.js +263 -0
  308. package/dist/lib/correlation.js.map +1 -0
  309. package/dist/lib/database-service/connection-pool-manager.js +520 -0
  310. package/dist/lib/database-service/connection-pool-manager.js.map +1 -0
  311. package/dist/lib/database-service/correlation.js +329 -0
  312. package/dist/lib/database-service/correlation.js.map +1 -0
  313. package/dist/lib/database-service/errors.js +120 -0
  314. package/dist/lib/database-service/errors.js.map +1 -0
  315. package/dist/lib/database-service/index.js +168 -0
  316. package/dist/lib/database-service/index.js.map +1 -0
  317. package/dist/lib/database-service/postgres-adapter.js +526 -0
  318. package/dist/lib/database-service/postgres-adapter.js.map +1 -0
  319. package/dist/lib/database-service/redis-adapter.js +360 -0
  320. package/dist/lib/database-service/redis-adapter.js.map +1 -0
  321. package/dist/lib/database-service/sqlite-adapter.js +544 -0
  322. package/dist/lib/database-service/sqlite-adapter.js.map +1 -0
  323. package/dist/lib/database-service/transaction-manager.js +773 -0
  324. package/dist/lib/database-service/transaction-manager.js.map +1 -0
  325. package/dist/lib/database-service/types.js +23 -0
  326. package/dist/lib/database-service/types.js.map +1 -0
  327. package/dist/lib/deadlock-resolver.js +292 -0
  328. package/dist/lib/deadlock-resolver.js.map +1 -0
  329. package/dist/lib/distributed-lock.js +451 -0
  330. package/dist/lib/distributed-lock.js.map +1 -0
  331. package/dist/lib/edge-case-deduplicator.js +227 -0
  332. package/dist/lib/edge-case-deduplicator.js.map +1 -0
  333. package/dist/lib/encryption-manager.js +322 -0
  334. package/dist/lib/encryption-manager.js.map +1 -0
  335. package/dist/lib/error-aggregator.js +234 -0
  336. package/dist/lib/error-aggregator.js.map +1 -0
  337. package/dist/lib/errors.js +287 -0
  338. package/dist/lib/errors.js.map +1 -0
  339. package/dist/lib/file-lock-manager.js +578 -0
  340. package/dist/lib/file-lock-manager.js.map +1 -0
  341. package/dist/lib/file-operations.js +367 -0
  342. package/dist/lib/file-operations.js.map +1 -0
  343. package/dist/lib/idempotent-write.js +237 -0
  344. package/dist/lib/idempotent-write.js.map +1 -0
  345. package/dist/lib/integration-schema-validator.js +522 -0
  346. package/dist/lib/integration-schema-validator.js.map +1 -0
  347. package/dist/lib/lock-health-monitor.js +298 -0
  348. package/dist/lib/lock-health-monitor.js.map +1 -0
  349. package/dist/lib/log-shipper.js +422 -0
  350. package/dist/lib/log-shipper.js.map +1 -0
  351. package/dist/lib/logging.js +146 -0
  352. package/dist/lib/logging.js.map +1 -0
  353. package/dist/lib/message-deduplicator.js +439 -0
  354. package/dist/lib/message-deduplicator.js.map +1 -0
  355. package/dist/lib/multi-system-query.js +604 -0
  356. package/dist/lib/multi-system-query.js.map +1 -0
  357. package/dist/lib/orphan-detector.js +332 -0
  358. package/dist/lib/orphan-detector.js.map +1 -0
  359. package/dist/lib/password-generator.js +166 -0
  360. package/dist/lib/password-generator.js.map +1 -0
  361. package/dist/lib/path-validator.js +429 -0
  362. package/dist/lib/path-validator.js.map +1 -0
  363. package/dist/lib/query-translator.js +905 -0
  364. package/dist/lib/query-translator.js.map +1 -0
  365. package/dist/lib/queue-recovery.js +469 -0
  366. package/dist/lib/queue-recovery.js.map +1 -0
  367. package/dist/lib/redis-queue-manager.js +512 -0
  368. package/dist/lib/redis-queue-manager.js.map +1 -0
  369. package/dist/lib/reflection-archiver.js +272 -0
  370. package/dist/lib/reflection-archiver.js.map +1 -0
  371. package/dist/lib/retry-manager.js +453 -0
  372. package/dist/lib/retry-manager.js.map +1 -0
  373. package/dist/lib/retry.js +262 -0
  374. package/dist/lib/retry.js.map +1 -0
  375. package/dist/lib/schema-transform.js +695 -0
  376. package/dist/lib/schema-transform.js.map +1 -0
  377. package/dist/lib/schema-validator.js +491 -0
  378. package/dist/lib/schema-validator.js.map +1 -0
  379. package/dist/lib/skill-cache.js +297 -0
  380. package/dist/lib/skill-cache.js.map +1 -0
  381. package/dist/lib/skill-content-manager.js +337 -0
  382. package/dist/lib/skill-content-manager.js.map +1 -0
  383. package/dist/lib/skill-frontmatter-parser.js +237 -0
  384. package/dist/lib/skill-frontmatter-parser.js.map +1 -0
  385. package/dist/lib/skill-git-integration.js +275 -0
  386. package/dist/lib/skill-git-integration.js.map +1 -0
  387. package/dist/lib/skill-markdown-validator.js +396 -0
  388. package/dist/lib/skill-markdown-validator.js.map +1 -0
  389. package/dist/lib/skill-output-parser.js +312 -0
  390. package/dist/lib/skill-output-parser.js.map +1 -0
  391. package/dist/lib/unified-query-api.js +467 -0
  392. package/dist/lib/unified-query-api.js.map +1 -0
  393. package/dist/middleware/auth-middleware.js +350 -0
  394. package/dist/middleware/auth-middleware.js.map +1 -0
  395. package/dist/middleware/schema-validation.js +347 -0
  396. package/dist/middleware/schema-validation.js.map +1 -0
  397. package/dist/providers/anthropic-provider.js +1 -1
  398. package/dist/providers/anthropic-provider.js.map +1 -1
  399. package/dist/providers/provider-factory.js +2 -2
  400. package/dist/providers/provider-factory.js.map +1 -1
  401. package/dist/services/edge-case-analyzer.js +321 -0
  402. package/dist/services/edge-case-analyzer.js.map +1 -0
  403. package/dist/services/edge-case-deduplicator.js +266 -0
  404. package/dist/services/edge-case-deduplicator.js.map +1 -0
  405. package/dist/services/edge-case-detector.js +337 -0
  406. package/dist/services/edge-case-detector.js.map +1 -0
  407. package/dist/services/edge-case-tracker.js +547 -0
  408. package/dist/services/edge-case-tracker.js.map +1 -0
  409. package/dist/services/health-check-system.js +586 -0
  410. package/dist/services/health-check-system.js.map +1 -0
  411. package/dist/services/metrics-logger.js +412 -0
  412. package/dist/services/metrics-logger.js.map +1 -0
  413. package/dist/services/patch-generator.js +378 -0
  414. package/dist/services/patch-generator.js.map +1 -0
  415. package/dist/services/patch-validator.js +337 -0
  416. package/dist/services/patch-validator.js.map +1 -0
  417. package/dist/services/performance-monitor.js +811 -0
  418. package/dist/services/performance-monitor.js.map +1 -0
  419. package/dist/services/promotion-pipeline.js +918 -0
  420. package/dist/services/promotion-pipeline.js.map +1 -0
  421. package/dist/services/promotion-validator.js +394 -0
  422. package/dist/services/promotion-validator.js.map +1 -0
  423. package/dist/services/reflection-logger.js +388 -0
  424. package/dist/services/reflection-logger.js.map +1 -0
  425. package/dist/services/skill-deployment.js +472 -0
  426. package/dist/services/skill-deployment.js.map +1 -0
  427. package/dist/services/skill-loader.js +427 -0
  428. package/dist/services/skill-loader.js.map +1 -0
  429. package/dist/services/skill-promotion.js +372 -0
  430. package/dist/services/skill-promotion.js.map +1 -0
  431. package/dist/services/skill-validator.js +454 -0
  432. package/dist/services/skill-validator.js.map +1 -0
  433. package/dist/services/skill-versioning.js +244 -0
  434. package/dist/services/skill-versioning.js.map +1 -0
  435. package/dist/services/workspace-supervisor.js +597 -0
  436. package/dist/services/workspace-supervisor.js.map +1 -0
  437. package/dist/types/edge-case.js +45 -0
  438. package/dist/types/edge-case.js.map +1 -0
  439. package/docs/BUG_19_MEMORY_LEAK_TASK_MODE.md +405 -0
  440. package/docs/MEMORY_CLEANUP_GUIDE.md +358 -0
  441. package/docs/MEMORY_LEAK_FIX_SUMMARY.md +322 -0
  442. package/docs/REDIS_CLEANUP_EXECUTIVE_SUMMARY.md +319 -0
  443. package/docs/REDIS_CLEANUP_VERIFICATION_REPORT.md +574 -0
  444. package/package.json +35 -4
  445. package/readme/README.md +53 -5
  446. package/scripts/backup-cleanup.sh +627 -0
  447. package/scripts/cleanup-workspaces.sh +412 -0
  448. package/scripts/cleanup-yaml-configs.sh +141 -0
  449. package/scripts/deploy-approved-skills.sh +263 -0
  450. package/scripts/health-check.sh +447 -0
  451. package/scripts/log-aggregator.sh +554 -0
  452. package/scripts/log-monitor.sh +629 -0
  453. package/scripts/manage-agent-workspaces.sh +434 -0
  454. package/scripts/migrate-schema.sh +533 -0
  455. package/scripts/promote-staged-skills.sh +423 -0
  456. package/scripts/verify-no-secrets.sh +88 -35
  457. package/scripts/verify-redis-cleanup.sh +173 -0
  458. package/tests/README.md +84 -0
  459. package/tests/test-memory-leak-task-mode.sh +435 -0
  460. package/.claude/cfn-extras/agents/deprecated-coordinators/adaptive-coordinator.md.backup +0 -161
  461. package/.claude/cfn-extras/agents/deprecated-coordinators/blocking-coordinator-example.md.backup +0 -728
  462. package/.claude/cfn-extras/agents/deprecated-coordinators/mesh-coordinator.md.backup +0 -131
  463. package/.claude/skills/agent-lifecycle/SKILL.md +0 -60
  464. package/.claude/skills/agent-lifecycle/execute-lifecycle-hook.sh +0 -573
  465. package/.claude/skills/agent-lifecycle/simple-audit.sh +0 -31
  466. package/.claude/skills/cfn-agent-spawning/spawn-agent.sh.backup +0 -273
  467. package/.claude/skills/cfn-loop-orchestration/orchestrate.sh.backup +0 -949
  468. package/README.md.backup_before_replace +0 -781
  469. package/claude-assets/cfn-extras/agents/deprecated-coordinators/adaptive-coordinator.md.backup +0 -161
  470. package/claude-assets/cfn-extras/agents/deprecated-coordinators/blocking-coordinator-example.md.backup +0 -728
  471. package/claude-assets/cfn-extras/agents/deprecated-coordinators/mesh-coordinator.md.backup +0 -131
  472. package/claude-assets/skills/cfn-agent-spawning/spawn-agent.sh.backup +0 -273
  473. package/claude-assets/skills/cfn-loop-orchestration/orchestrate.sh.backup +0 -949
@@ -0,0 +1,263 @@
1
+ /**
2
+ * Correlation ID Tracking Utilities
3
+ *
4
+ * Provides correlation ID generation and key building for distributed tracing.
5
+ * Part of Task 0.5: Implementation Tooling & Utilities (Foundation)
6
+ *
7
+ * Format: {type}:{id}:{entity}:{subtype}
8
+ * Examples:
9
+ * - task:abc123:agent:backend-developer
10
+ * - request:req-456:api:auth
11
+ * - execution:exec-789:step:validation
12
+ *
13
+ * Compatible with database-service correlation patterns but more generic.
14
+ */ import { randomUUID } from 'crypto';
15
+ /**
16
+ * Generate a new correlation ID (UUID v4)
17
+ *
18
+ * @returns UUID v4 string
19
+ */ export function generateCorrelationId() {
20
+ return randomUUID();
21
+ }
22
+ /**
23
+ * Generate a short correlation ID (8 characters, timestamp-based)
24
+ *
25
+ * @returns Short correlation ID
26
+ */ export function generateShortCorrelationId() {
27
+ const timestamp = Date.now().toString(36);
28
+ const random = Math.random().toString(36).substring(2, 6);
29
+ return `${timestamp}-${random}`;
30
+ }
31
+ /**
32
+ * Build correlation key string from parts
33
+ *
34
+ * Format: {type}:{id}:{entity}:{subtype}
35
+ *
36
+ * @param parts - Correlation key parts
37
+ * @returns Correlation key string
38
+ */ export function buildCorrelationKey(parts) {
39
+ const segments = [
40
+ parts.type,
41
+ parts.id
42
+ ];
43
+ if (parts.entity) {
44
+ segments.push(parts.entity);
45
+ }
46
+ if (parts.subtype) {
47
+ segments.push(parts.subtype);
48
+ }
49
+ return segments.join(':');
50
+ }
51
+ /**
52
+ * Parse correlation key string into parts
53
+ *
54
+ * @param key - Correlation key string
55
+ * @returns Parsed correlation key parts, or null if invalid
56
+ */ export function parseCorrelationKey(key) {
57
+ if (!key || typeof key !== 'string') {
58
+ return null;
59
+ }
60
+ const parts = key.split(':');
61
+ if (parts.length < 2) {
62
+ return null;
63
+ }
64
+ const [type, id, entity, subtype] = parts;
65
+ if (!type || !id) {
66
+ return null;
67
+ }
68
+ return {
69
+ type,
70
+ id,
71
+ entity,
72
+ subtype
73
+ };
74
+ }
75
+ /**
76
+ * Validate correlation key format
77
+ *
78
+ * @param key - Correlation key string
79
+ * @returns True if key is valid
80
+ */ export function isValidCorrelationKey(key) {
81
+ return parseCorrelationKey(key) !== null;
82
+ }
83
+ /**
84
+ * Build task correlation key
85
+ *
86
+ * @param taskId - Task identifier
87
+ * @param entity - Entity name (optional)
88
+ * @param subtype - Subtype (optional)
89
+ * @returns Correlation key string
90
+ */ export function buildTaskKey(taskId, entity, subtype) {
91
+ return buildCorrelationKey({
92
+ type: 'task',
93
+ id: taskId,
94
+ entity,
95
+ subtype
96
+ });
97
+ }
98
+ /**
99
+ * Build request correlation key
100
+ *
101
+ * @param requestId - Request identifier
102
+ * @param entity - Entity name (optional)
103
+ * @param subtype - Subtype (optional)
104
+ * @returns Correlation key string
105
+ */ export function buildRequestKey(requestId, entity, subtype) {
106
+ return buildCorrelationKey({
107
+ type: 'request',
108
+ id: requestId,
109
+ entity,
110
+ subtype
111
+ });
112
+ }
113
+ /**
114
+ * Build execution correlation key
115
+ *
116
+ * @param executionId - Execution identifier
117
+ * @param entity - Entity name (optional)
118
+ * @param subtype - Subtype (optional)
119
+ * @returns Correlation key string
120
+ */ export function buildExecutionKey(executionId, entity, subtype) {
121
+ return buildCorrelationKey({
122
+ type: 'execution',
123
+ id: executionId,
124
+ entity,
125
+ subtype
126
+ });
127
+ }
128
+ /**
129
+ * Build agent correlation key
130
+ *
131
+ * @param agentId - Agent identifier
132
+ * @param entity - Entity name (optional)
133
+ * @param subtype - Subtype (optional)
134
+ * @returns Correlation key string
135
+ */ export function buildAgentKey(agentId, entity, subtype) {
136
+ return buildCorrelationKey({
137
+ type: 'agent',
138
+ id: agentId,
139
+ entity,
140
+ subtype
141
+ });
142
+ }
143
+ /**
144
+ * Extract type from correlation key
145
+ *
146
+ * @param key - Correlation key string
147
+ * @returns Type string, or null if invalid
148
+ */ export function extractType(key) {
149
+ const parts = parseCorrelationKey(key);
150
+ return parts ? parts.type : null;
151
+ }
152
+ /**
153
+ * Extract ID from correlation key
154
+ *
155
+ * @param key - Correlation key string
156
+ * @returns ID string, or null if invalid
157
+ */ export function extractId(key) {
158
+ const parts = parseCorrelationKey(key);
159
+ return parts ? parts.id : null;
160
+ }
161
+ /**
162
+ * Extract entity from correlation key
163
+ *
164
+ * @param key - Correlation key string
165
+ * @returns Entity string, or null if not present
166
+ */ export function extractEntity(key) {
167
+ const parts = parseCorrelationKey(key);
168
+ return parts?.entity || null;
169
+ }
170
+ /**
171
+ * Check if correlation key matches pattern
172
+ *
173
+ * @param key - Correlation key string
174
+ * @param pattern - Pattern to match (partial CorrelationKeyParts)
175
+ * @returns True if key matches pattern
176
+ */ export function matchesPattern(key, pattern) {
177
+ const parts = parseCorrelationKey(key);
178
+ if (!parts) {
179
+ return false;
180
+ }
181
+ if (pattern.type && parts.type !== pattern.type) {
182
+ return false;
183
+ }
184
+ if (pattern.id && parts.id !== pattern.id) {
185
+ return false;
186
+ }
187
+ if (pattern.entity && parts.entity !== pattern.entity) {
188
+ return false;
189
+ }
190
+ if (pattern.subtype && parts.subtype !== pattern.subtype) {
191
+ return false;
192
+ }
193
+ return true;
194
+ }
195
+ /**
196
+ * Create correlation context
197
+ *
198
+ * @param correlationId - Correlation ID (generated if not provided)
199
+ * @param parentId - Parent correlation ID (optional)
200
+ * @param metadata - Additional metadata (optional)
201
+ * @returns Correlation context
202
+ */ export function createCorrelationContext(correlationId, parentId, metadata) {
203
+ return {
204
+ correlationId: correlationId || generateCorrelationId(),
205
+ parentId,
206
+ timestamp: new Date(),
207
+ metadata
208
+ };
209
+ }
210
+ /**
211
+ * Build hierarchical correlation ID (parent-child relationship)
212
+ *
213
+ * Format: {parentId}/{childId}
214
+ *
215
+ * @param parentId - Parent correlation ID
216
+ * @param childId - Child correlation ID (generated if not provided)
217
+ * @returns Hierarchical correlation ID
218
+ */ export function buildHierarchicalId(parentId, childId) {
219
+ const child = childId || generateShortCorrelationId();
220
+ return `${parentId}/${child}`;
221
+ }
222
+ /**
223
+ * Parse hierarchical correlation ID
224
+ *
225
+ * @param hierarchicalId - Hierarchical correlation ID
226
+ * @returns Object with parentId and childId, or null if invalid
227
+ */ export function parseHierarchicalId(hierarchicalId) {
228
+ if (!hierarchicalId || typeof hierarchicalId !== 'string') {
229
+ return null;
230
+ }
231
+ const parts = hierarchicalId.split('/');
232
+ if (parts.length !== 2) {
233
+ return null;
234
+ }
235
+ const [parentId, childId] = parts;
236
+ if (!parentId || !childId) {
237
+ return null;
238
+ }
239
+ return {
240
+ parentId,
241
+ childId
242
+ };
243
+ }
244
+ /**
245
+ * Extract parent ID from hierarchical correlation ID
246
+ *
247
+ * @param hierarchicalId - Hierarchical correlation ID
248
+ * @returns Parent ID, or null if invalid
249
+ */ export function extractParentId(hierarchicalId) {
250
+ const parsed = parseHierarchicalId(hierarchicalId);
251
+ return parsed ? parsed.parentId : null;
252
+ }
253
+ /**
254
+ * Extract child ID from hierarchical correlation ID
255
+ *
256
+ * @param hierarchicalId - Hierarchical correlation ID
257
+ * @returns Child ID, or null if invalid
258
+ */ export function extractChildId(hierarchicalId) {
259
+ const parsed = parseHierarchicalId(hierarchicalId);
260
+ return parsed ? parsed.childId : null;
261
+ }
262
+
263
+ //# sourceMappingURL=correlation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/correlation.ts"],"sourcesContent":["/**\r\n * Correlation ID Tracking Utilities\r\n *\r\n * Provides correlation ID generation and key building for distributed tracing.\r\n * Part of Task 0.5: Implementation Tooling & Utilities (Foundation)\r\n *\r\n * Format: {type}:{id}:{entity}:{subtype}\r\n * Examples:\r\n * - task:abc123:agent:backend-developer\r\n * - request:req-456:api:auth\r\n * - execution:exec-789:step:validation\r\n *\r\n * Compatible with database-service correlation patterns but more generic.\r\n */\r\n\r\nimport { randomUUID } from 'crypto';\r\n\r\n/**\r\n * Correlation key parts\r\n */\r\nexport interface CorrelationKeyParts {\r\n /** Key type (e.g., 'task', 'request', 'execution') */\r\n type: string;\r\n /** Unique identifier */\r\n id: string;\r\n /** Entity name (optional) */\r\n entity?: string;\r\n /** Subtype or additional context (optional) */\r\n subtype?: string;\r\n}\r\n\r\n/**\r\n * Correlation context for request tracking\r\n */\r\nexport interface CorrelationContext {\r\n /** Correlation ID */\r\n correlationId: string;\r\n /** Parent correlation ID (for nested operations) */\r\n parentId?: string;\r\n /** Request timestamp */\r\n timestamp: Date;\r\n /** Additional metadata */\r\n metadata?: Record<string, any>;\r\n}\r\n\r\n/**\r\n * Generate a new correlation ID (UUID v4)\r\n *\r\n * @returns UUID v4 string\r\n */\r\nexport function generateCorrelationId(): string {\r\n return randomUUID();\r\n}\r\n\r\n/**\r\n * Generate a short correlation ID (8 characters, timestamp-based)\r\n *\r\n * @returns Short correlation ID\r\n */\r\nexport function generateShortCorrelationId(): string {\r\n const timestamp = Date.now().toString(36);\r\n const random = Math.random().toString(36).substring(2, 6);\r\n return `${timestamp}-${random}`;\r\n}\r\n\r\n/**\r\n * Build correlation key string from parts\r\n *\r\n * Format: {type}:{id}:{entity}:{subtype}\r\n *\r\n * @param parts - Correlation key parts\r\n * @returns Correlation key string\r\n */\r\nexport function buildCorrelationKey(parts: CorrelationKeyParts): string {\r\n const segments = [parts.type, parts.id];\r\n\r\n if (parts.entity) {\r\n segments.push(parts.entity);\r\n }\r\n\r\n if (parts.subtype) {\r\n segments.push(parts.subtype);\r\n }\r\n\r\n return segments.join(':');\r\n}\r\n\r\n/**\r\n * Parse correlation key string into parts\r\n *\r\n * @param key - Correlation key string\r\n * @returns Parsed correlation key parts, or null if invalid\r\n */\r\nexport function parseCorrelationKey(key: string): CorrelationKeyParts | null {\r\n if (!key || typeof key !== 'string') {\r\n return null;\r\n }\r\n\r\n const parts = key.split(':');\r\n\r\n if (parts.length < 2) {\r\n return null;\r\n }\r\n\r\n const [type, id, entity, subtype] = parts;\r\n\r\n if (!type || !id) {\r\n return null;\r\n }\r\n\r\n return {\r\n type,\r\n id,\r\n entity,\r\n subtype,\r\n };\r\n}\r\n\r\n/**\r\n * Validate correlation key format\r\n *\r\n * @param key - Correlation key string\r\n * @returns True if key is valid\r\n */\r\nexport function isValidCorrelationKey(key: string): boolean {\r\n return parseCorrelationKey(key) !== null;\r\n}\r\n\r\n/**\r\n * Build task correlation key\r\n *\r\n * @param taskId - Task identifier\r\n * @param entity - Entity name (optional)\r\n * @param subtype - Subtype (optional)\r\n * @returns Correlation key string\r\n */\r\nexport function buildTaskKey(taskId: string, entity?: string, subtype?: string): string {\r\n return buildCorrelationKey({ type: 'task', id: taskId, entity, subtype });\r\n}\r\n\r\n/**\r\n * Build request correlation key\r\n *\r\n * @param requestId - Request identifier\r\n * @param entity - Entity name (optional)\r\n * @param subtype - Subtype (optional)\r\n * @returns Correlation key string\r\n */\r\nexport function buildRequestKey(requestId: string, entity?: string, subtype?: string): string {\r\n return buildCorrelationKey({ type: 'request', id: requestId, entity, subtype });\r\n}\r\n\r\n/**\r\n * Build execution correlation key\r\n *\r\n * @param executionId - Execution identifier\r\n * @param entity - Entity name (optional)\r\n * @param subtype - Subtype (optional)\r\n * @returns Correlation key string\r\n */\r\nexport function buildExecutionKey(\r\n executionId: string,\r\n entity?: string,\r\n subtype?: string\r\n): string {\r\n return buildCorrelationKey({ type: 'execution', id: executionId, entity, subtype });\r\n}\r\n\r\n/**\r\n * Build agent correlation key\r\n *\r\n * @param agentId - Agent identifier\r\n * @param entity - Entity name (optional)\r\n * @param subtype - Subtype (optional)\r\n * @returns Correlation key string\r\n */\r\nexport function buildAgentKey(agentId: string, entity?: string, subtype?: string): string {\r\n return buildCorrelationKey({ type: 'agent', id: agentId, entity, subtype });\r\n}\r\n\r\n/**\r\n * Extract type from correlation key\r\n *\r\n * @param key - Correlation key string\r\n * @returns Type string, or null if invalid\r\n */\r\nexport function extractType(key: string): string | null {\r\n const parts = parseCorrelationKey(key);\r\n return parts ? parts.type : null;\r\n}\r\n\r\n/**\r\n * Extract ID from correlation key\r\n *\r\n * @param key - Correlation key string\r\n * @returns ID string, or null if invalid\r\n */\r\nexport function extractId(key: string): string | null {\r\n const parts = parseCorrelationKey(key);\r\n return parts ? parts.id : null;\r\n}\r\n\r\n/**\r\n * Extract entity from correlation key\r\n *\r\n * @param key - Correlation key string\r\n * @returns Entity string, or null if not present\r\n */\r\nexport function extractEntity(key: string): string | null {\r\n const parts = parseCorrelationKey(key);\r\n return parts?.entity || null;\r\n}\r\n\r\n/**\r\n * Check if correlation key matches pattern\r\n *\r\n * @param key - Correlation key string\r\n * @param pattern - Pattern to match (partial CorrelationKeyParts)\r\n * @returns True if key matches pattern\r\n */\r\nexport function matchesPattern(key: string, pattern: Partial<CorrelationKeyParts>): boolean {\r\n const parts = parseCorrelationKey(key);\r\n\r\n if (!parts) {\r\n return false;\r\n }\r\n\r\n if (pattern.type && parts.type !== pattern.type) {\r\n return false;\r\n }\r\n\r\n if (pattern.id && parts.id !== pattern.id) {\r\n return false;\r\n }\r\n\r\n if (pattern.entity && parts.entity !== pattern.entity) {\r\n return false;\r\n }\r\n\r\n if (pattern.subtype && parts.subtype !== pattern.subtype) {\r\n return false;\r\n }\r\n\r\n return true;\r\n}\r\n\r\n/**\r\n * Create correlation context\r\n *\r\n * @param correlationId - Correlation ID (generated if not provided)\r\n * @param parentId - Parent correlation ID (optional)\r\n * @param metadata - Additional metadata (optional)\r\n * @returns Correlation context\r\n */\r\nexport function createCorrelationContext(\r\n correlationId?: string,\r\n parentId?: string,\r\n metadata?: Record<string, any>\r\n): CorrelationContext {\r\n return {\r\n correlationId: correlationId || generateCorrelationId(),\r\n parentId,\r\n timestamp: new Date(),\r\n metadata,\r\n };\r\n}\r\n\r\n/**\r\n * Build hierarchical correlation ID (parent-child relationship)\r\n *\r\n * Format: {parentId}/{childId}\r\n *\r\n * @param parentId - Parent correlation ID\r\n * @param childId - Child correlation ID (generated if not provided)\r\n * @returns Hierarchical correlation ID\r\n */\r\nexport function buildHierarchicalId(parentId: string, childId?: string): string {\r\n const child = childId || generateShortCorrelationId();\r\n return `${parentId}/${child}`;\r\n}\r\n\r\n/**\r\n * Parse hierarchical correlation ID\r\n *\r\n * @param hierarchicalId - Hierarchical correlation ID\r\n * @returns Object with parentId and childId, or null if invalid\r\n */\r\nexport function parseHierarchicalId(\r\n hierarchicalId: string\r\n): { parentId: string; childId: string } | null {\r\n if (!hierarchicalId || typeof hierarchicalId !== 'string') {\r\n return null;\r\n }\r\n\r\n const parts = hierarchicalId.split('/');\r\n\r\n if (parts.length !== 2) {\r\n return null;\r\n }\r\n\r\n const [parentId, childId] = parts;\r\n\r\n if (!parentId || !childId) {\r\n return null;\r\n }\r\n\r\n return { parentId, childId };\r\n}\r\n\r\n/**\r\n * Extract parent ID from hierarchical correlation ID\r\n *\r\n * @param hierarchicalId - Hierarchical correlation ID\r\n * @returns Parent ID, or null if invalid\r\n */\r\nexport function extractParentId(hierarchicalId: string): string | null {\r\n const parsed = parseHierarchicalId(hierarchicalId);\r\n return parsed ? parsed.parentId : null;\r\n}\r\n\r\n/**\r\n * Extract child ID from hierarchical correlation ID\r\n *\r\n * @param hierarchicalId - Hierarchical correlation ID\r\n * @returns Child ID, or null if invalid\r\n */\r\nexport function extractChildId(hierarchicalId: string): string | null {\r\n const parsed = parseHierarchicalId(hierarchicalId);\r\n return parsed ? parsed.childId : null;\r\n}\r\n"],"names":["randomUUID","generateCorrelationId","generateShortCorrelationId","timestamp","Date","now","toString","random","Math","substring","buildCorrelationKey","parts","segments","type","id","entity","push","subtype","join","parseCorrelationKey","key","split","length","isValidCorrelationKey","buildTaskKey","taskId","buildRequestKey","requestId","buildExecutionKey","executionId","buildAgentKey","agentId","extractType","extractId","extractEntity","matchesPattern","pattern","createCorrelationContext","correlationId","parentId","metadata","buildHierarchicalId","childId","child","parseHierarchicalId","hierarchicalId","extractParentId","parsed","extractChildId"],"mappings":"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"}