claude-code-workflow 7.2.28 → 7.2.29

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 (225) hide show
  1. package/.codex/skills/brainstorm/SKILL.md +3 -3
  2. package/.codex/skills/clean/SKILL.md +3 -3
  3. package/.codex/skills/issue-discover/SKILL.md +13 -13
  4. package/.codex/skills/issue-discover/phases/02-discover.md +4 -4
  5. package/.codex/skills/issue-discover/phases/03-discover-by-prompt.md +3 -3
  6. package/.codex/skills/parallel-dev-cycle/SKILL.md +4 -4
  7. package/.codex/skills/parallel-dev-cycle/phases/02-agent-execution.md +6 -6
  8. package/.codex/skills/parallel-dev-cycle/phases/03-result-aggregation.md +10 -10
  9. package/.codex/skills/review-cycle/SKILL.md +10 -10
  10. package/.codex/skills/review-cycle/phases/02-parallel-review.md +6 -6
  11. package/.codex/skills/review-cycle/phases/04-iterative-deep-dive.md +4 -4
  12. package/.codex/skills/review-cycle/phases/07-fix-parallel-planning.md +4 -4
  13. package/.codex/skills/review-cycle/phases/08-fix-execution.md +2 -2
  14. package/.codex/skills/roadmap-with-file/SKILL.md +14 -14
  15. package/.codex/skills/spec-generator/README.md +1 -1
  16. package/.codex/skills/spec-generator/SKILL.md +184 -88
  17. package/.codex/skills/spec-generator/phases/01-5-requirement-clarification.md +4 -7
  18. package/.codex/skills/spec-generator/phases/01-discovery.md +30 -11
  19. package/.codex/skills/spec-generator/phases/02-product-brief.md +2 -5
  20. package/.codex/skills/spec-generator/phases/03-requirements.md +4 -6
  21. package/.codex/skills/spec-generator/phases/04-architecture.md +4 -6
  22. package/.codex/skills/spec-generator/phases/05-epics-stories.md +4 -6
  23. package/.codex/skills/spec-generator/phases/06-5-auto-fix.md +4 -5
  24. package/.codex/skills/spec-generator/phases/06-readiness-check.md +8 -8
  25. package/.codex/skills/spec-generator/phases/07-issue-export.md +2 -2
  26. package/.codex/skills/spec-setup/SKILL.md +4 -4
  27. package/.codex/skills/workflow-plan/SKILL.md +6 -6
  28. package/.codex/skills/workflow-tdd-plan/SKILL.md +5 -5
  29. package/.codex/skills/workflow-test-fix-cycle/SKILL.md +19 -19
  30. package/.codex/skills/workflow-test-fix-cycle/phases/01-test-fix-gen.md +5 -5
  31. package/.codex/skills/workflow-test-fix-cycle/phases/02-test-cycle-execute.md +5 -5
  32. package/ccw/frontend/dist/assets/{AlertDialog-BjP1ydDR.js → AlertDialog-exlTDW81.js} +3 -3
  33. package/ccw/frontend/dist/assets/{AlertDialog-BjP1ydDR.js.map → AlertDialog-exlTDW81.js.map} +1 -1
  34. package/ccw/frontend/dist/assets/{AnalysisPage-CAX3xqMf.js → AnalysisPage-cgV9LfAI.js} +2 -2
  35. package/ccw/frontend/dist/assets/{AnalysisPage-CAX3xqMf.js.map → AnalysisPage-cgV9LfAI.js.map} +1 -1
  36. package/ccw/frontend/dist/assets/{ApiSettingsPage-CtWlmztq.js → ApiSettingsPage-Dk5jJdWt.js} +2 -2
  37. package/ccw/frontend/dist/assets/{ApiSettingsPage-CtWlmztq.js.map → ApiSettingsPage-Dk5jJdWt.js.map} +1 -1
  38. package/ccw/frontend/dist/assets/{CliModeToggle-hR4a-eLX.js → CliModeToggle-Be9xsPiv.js} +2 -2
  39. package/ccw/frontend/dist/assets/{CliModeToggle-hR4a-eLX.js.map → CliModeToggle-Be9xsPiv.js.map} +1 -1
  40. package/ccw/frontend/dist/assets/{CliSessionSharePage-DzNPkFN9.js → CliSessionSharePage-Bh9jBtPI.js} +2 -2
  41. package/ccw/frontend/dist/assets/{CliSessionSharePage-DzNPkFN9.js.map → CliSessionSharePage-Bh9jBtPI.js.map} +1 -1
  42. package/ccw/frontend/dist/assets/{CliViewerPage-BPEGN4TT.js → CliViewerPage-BrE-oyEq.js} +2 -2
  43. package/ccw/frontend/dist/assets/{CliViewerPage-BPEGN4TT.js.map → CliViewerPage-BrE-oyEq.js.map} +1 -1
  44. package/ccw/frontend/dist/assets/{CodexLensPage-Cf0r2RHY.js → CodexLensPage-Cd3nrC93.js} +2 -2
  45. package/ccw/frontend/dist/assets/{CodexLensPage-Cf0r2RHY.js.map → CodexLensPage-Cd3nrC93.js.map} +1 -1
  46. package/ccw/frontend/dist/assets/{Collapsible-DEm1rJ4h.js → Collapsible-DXFl3VKF.js} +2 -2
  47. package/ccw/frontend/dist/assets/{Collapsible-DEm1rJ4h.js.map → Collapsible-DXFl3VKF.js.map} +1 -1
  48. package/ccw/frontend/dist/assets/{CommandsManagerPage-BpeWw8HO.js → CommandsManagerPage-IV8zpjgX.js} +2 -2
  49. package/ccw/frontend/dist/assets/{CommandsManagerPage-BpeWw8HO.js.map → CommandsManagerPage-IV8zpjgX.js.map} +1 -1
  50. package/ccw/frontend/dist/assets/{DeepWikiPage-BEsmh2vF.js → DeepWikiPage-CpDxtmRX.js} +2 -2
  51. package/ccw/frontend/dist/assets/{DeepWikiPage-BEsmh2vF.js.map → DeepWikiPage-CpDxtmRX.js.map} +1 -1
  52. package/ccw/frontend/dist/assets/{EndpointsPage-B30SFdtU.js → EndpointsPage-BchjWe7s.js} +2 -2
  53. package/ccw/frontend/dist/assets/{EndpointsPage-B30SFdtU.js.map → EndpointsPage-BchjWe7s.js.map} +1 -1
  54. package/ccw/frontend/dist/assets/{ExplorerPage-BVvMpg1O.js → ExplorerPage-CbWvaJ0y.js} +2 -2
  55. package/ccw/frontend/dist/assets/{ExplorerPage-BVvMpg1O.js.map → ExplorerPage-CbWvaJ0y.js.map} +1 -1
  56. package/ccw/frontend/dist/assets/{FixSessionPage-CL73dHbh.js → FixSessionPage-YMjVRiCk.js} +2 -2
  57. package/ccw/frontend/dist/assets/{FixSessionPage-CL73dHbh.js.map → FixSessionPage-YMjVRiCk.js.map} +1 -1
  58. package/ccw/frontend/dist/assets/{FloatingFileBrowser-BL-28lMZ.js → FloatingFileBrowser-JW2ehYY_.js} +2 -2
  59. package/ccw/frontend/dist/assets/{FloatingFileBrowser-BL-28lMZ.js.map → FloatingFileBrowser-JW2ehYY_.js.map} +1 -1
  60. package/ccw/frontend/dist/assets/{FloatingPanel-BzZDciHZ.js → FloatingPanel-BtqzqDVq.js} +2 -2
  61. package/ccw/frontend/dist/assets/{FloatingPanel-BzZDciHZ.js.map → FloatingPanel-BtqzqDVq.js.map} +1 -1
  62. package/ccw/frontend/dist/assets/{GraphExplorerPage-CDp6-d8P.js → GraphExplorerPage-BsJL_W4d.js} +3 -3
  63. package/ccw/frontend/dist/assets/{GraphExplorerPage-CDp6-d8P.js.map → GraphExplorerPage-BsJL_W4d.js.map} +1 -1
  64. package/ccw/frontend/dist/assets/{HistoryPage-fZY_7O9n.js → HistoryPage-BuWpQ7k5.js} +2 -2
  65. package/ccw/frontend/dist/assets/{HistoryPage-fZY_7O9n.js.map → HistoryPage-BuWpQ7k5.js.map} +1 -1
  66. package/ccw/frontend/dist/assets/{HookManagerPage-4LJeC9bq.js → HookManagerPage-D0BtMIWy.js} +2 -2
  67. package/ccw/frontend/dist/assets/{HookManagerPage-4LJeC9bq.js.map → HookManagerPage-D0BtMIWy.js.map} +1 -1
  68. package/ccw/frontend/dist/assets/{InstallationsPage-Bpigrbhw.js → InstallationsPage-C7dwsAKG.js} +2 -2
  69. package/ccw/frontend/dist/assets/{InstallationsPage-Bpigrbhw.js.map → InstallationsPage-C7dwsAKG.js.map} +1 -1
  70. package/ccw/frontend/dist/assets/{IssueHubPage-BP0zJc1R.js → IssueHubPage-D0nCNaeB.js} +2 -2
  71. package/ccw/frontend/dist/assets/{IssueHubPage-BP0zJc1R.js.map → IssueHubPage-D0nCNaeB.js.map} +1 -1
  72. package/ccw/frontend/dist/assets/{LiteTasksPage-CSt2oVKQ.js → LiteTasksPage-B5c2Kb9r.js} +3 -3
  73. package/ccw/frontend/dist/assets/{LiteTasksPage-CSt2oVKQ.js.map → LiteTasksPage-B5c2Kb9r.js.map} +1 -1
  74. package/ccw/frontend/dist/assets/{McpManagerPage-B-xaMA0w.js → McpManagerPage-C-S5CehM.js} +2 -2
  75. package/ccw/frontend/dist/assets/{McpManagerPage-B-xaMA0w.js.map → McpManagerPage-C-S5CehM.js.map} +1 -1
  76. package/ccw/frontend/dist/assets/{MemoryPage-CJqo_7DY.js → MemoryPage-P_B0JVUQ.js} +2 -2
  77. package/ccw/frontend/dist/assets/{MemoryPage-CJqo_7DY.js.map → MemoryPage-P_B0JVUQ.js.map} +1 -1
  78. package/ccw/frontend/dist/assets/{NotFoundPage-ibZeQA-Y.js → NotFoundPage-S4Jn9LUE.js} +2 -2
  79. package/ccw/frontend/dist/assets/{NotFoundPage-ibZeQA-Y.js.map → NotFoundPage-S4Jn9LUE.js.map} +1 -1
  80. package/ccw/frontend/dist/assets/{OrchestratorPage-DgJ4ctPQ.js → OrchestratorPage-C2Zlr7AC.js} +2 -2
  81. package/ccw/frontend/dist/assets/{OrchestratorPage-DgJ4ctPQ.js.map → OrchestratorPage-C2Zlr7AC.js.map} +1 -1
  82. package/ccw/frontend/dist/assets/{ProjectOverviewPage-Cit0Yq0D.js → ProjectOverviewPage-CMVfz8s5.js} +2 -2
  83. package/ccw/frontend/dist/assets/{ProjectOverviewPage-Cit0Yq0D.js.map → ProjectOverviewPage-CMVfz8s5.js.map} +1 -1
  84. package/ccw/frontend/dist/assets/{PromptHistoryPage-Ce1HDIK0.js → PromptHistoryPage-YEMjFARX.js} +3 -3
  85. package/ccw/frontend/dist/assets/{PromptHistoryPage-Ce1HDIK0.js.map → PromptHistoryPage-YEMjFARX.js.map} +1 -1
  86. package/ccw/frontend/dist/assets/{ReviewSessionPage-J1KikNrk.js → ReviewSessionPage-DnTm55nG.js} +2 -2
  87. package/ccw/frontend/dist/assets/{ReviewSessionPage-J1KikNrk.js.map → ReviewSessionPage-DnTm55nG.js.map} +1 -1
  88. package/ccw/frontend/dist/assets/{RulesManagerPage-CdBjTmth.js → RulesManagerPage-CUwebtO2.js} +2 -2
  89. package/ccw/frontend/dist/assets/{RulesManagerPage-CdBjTmth.js.map → RulesManagerPage-CUwebtO2.js.map} +1 -1
  90. package/ccw/frontend/dist/assets/{SessionDetailPage-B9ZK7LvX.js → SessionDetailPage-0qyH1Z5P.js} +2 -2
  91. package/ccw/frontend/dist/assets/{SessionDetailPage-B9ZK7LvX.js.map → SessionDetailPage-0qyH1Z5P.js.map} +1 -1
  92. package/ccw/frontend/dist/assets/{SessionsPage-CW_nS5UR.js → SessionsPage-BpgP4087.js} +2 -2
  93. package/ccw/frontend/dist/assets/{SessionsPage-CW_nS5UR.js.map → SessionsPage-BpgP4087.js.map} +1 -1
  94. package/ccw/frontend/dist/assets/SettingsPage-C3SJajeT.js +150 -0
  95. package/ccw/frontend/dist/assets/SettingsPage-C3SJajeT.js.map +1 -0
  96. package/ccw/frontend/dist/assets/SkillsManagerPage-vD9PTsmy.js +7 -0
  97. package/ccw/frontend/dist/assets/SkillsManagerPage-vD9PTsmy.js.map +1 -0
  98. package/ccw/frontend/dist/assets/{SpecsSettingsPage-DJpi9XQL.js → SpecsSettingsPage-DT-yTVkD.js} +4 -4
  99. package/ccw/frontend/dist/assets/{SpecsSettingsPage-DJpi9XQL.js.map → SpecsSettingsPage-DT-yTVkD.js.map} +1 -1
  100. package/ccw/frontend/dist/assets/{Switch-Ac6Ov7uy.js → Switch-CYSPdqWk.js} +2 -2
  101. package/ccw/frontend/dist/assets/{Switch-Ac6Ov7uy.js.map → Switch-CYSPdqWk.js.map} +1 -1
  102. package/ccw/frontend/dist/assets/{TabsNavigation-DZAAspqR.js → TabsNavigation-CPh6Zor1.js} +2 -2
  103. package/ccw/frontend/dist/assets/{TabsNavigation-DZAAspqR.js.map → TabsNavigation-CPh6Zor1.js.map} +1 -1
  104. package/ccw/frontend/dist/assets/{TaskDrawer-BJkwfhIZ.js → TaskDrawer-Ds-8830B.js} +2 -2
  105. package/ccw/frontend/dist/assets/{TaskDrawer-BJkwfhIZ.js.map → TaskDrawer-Ds-8830B.js.map} +1 -1
  106. package/ccw/frontend/dist/assets/{TeamPage-BJgjxBgb.js → TeamPage-CJODUxBk.js} +2 -2
  107. package/ccw/frontend/dist/assets/{TeamPage-BJgjxBgb.js.map → TeamPage-CJODUxBk.js.map} +1 -1
  108. package/ccw/frontend/dist/assets/{TerminalDashboardPage-D1WekoOy.js → TerminalDashboardPage-Cn3fGUuO.js} +3 -3
  109. package/ccw/frontend/dist/assets/{TerminalDashboardPage-D1WekoOy.js.map → TerminalDashboardPage-Cn3fGUuO.js.map} +1 -1
  110. package/ccw/frontend/dist/assets/{archive-DxemgIhF.js → archive-CjwVpw6k.js} +2 -2
  111. package/ccw/frontend/dist/assets/{archive-DxemgIhF.js.map → archive-CjwVpw6k.js.map} +1 -1
  112. package/ccw/frontend/dist/assets/{archive-restore-CjS83f1V.js → archive-restore-2vZa9Ic3.js} +2 -2
  113. package/ccw/frontend/dist/assets/{archive-restore-CjS83f1V.js.map → archive-restore-2vZa9Ic3.js.map} +1 -1
  114. package/ccw/frontend/dist/assets/{arrow-right-B5PUcn8I.js → arrow-right-CUU5XDgT.js} +2 -2
  115. package/ccw/frontend/dist/assets/{arrow-right-B5PUcn8I.js.map → arrow-right-CUU5XDgT.js.map} +1 -1
  116. package/ccw/frontend/dist/assets/{bookmark-plus-DCc9aPbb.js → bookmark-plus-Cc3nKRZ5.js} +2 -2
  117. package/ccw/frontend/dist/assets/{bookmark-plus-DCc9aPbb.js.map → bookmark-plus-Cc3nKRZ5.js.map} +1 -1
  118. package/ccw/frontend/dist/assets/{bot-DOwFtzak.js → bot-BwpSRDUa.js} +2 -2
  119. package/ccw/frontend/dist/assets/{bot-DOwFtzak.js.map → bot-BwpSRDUa.js.map} +1 -1
  120. package/ccw/frontend/dist/assets/{braces-96qH3aFh.js → braces-DBzUW1XC.js} +2 -2
  121. package/ccw/frontend/dist/assets/{braces-96qH3aFh.js.map → braces-DBzUW1XC.js.map} +1 -1
  122. package/ccw/frontend/dist/assets/{circle-stop-CCxSuil1.js → circle-stop-CGNNsjvE.js} +2 -2
  123. package/ccw/frontend/dist/assets/{circle-stop-CCxSuil1.js.map → circle-stop-CGNNsjvE.js.map} +1 -1
  124. package/ccw/frontend/dist/assets/{cpu-CZNSJFdq.js → cpu-D27G86Ul.js} +2 -2
  125. package/ccw/frontend/dist/assets/{cpu-CZNSJFdq.js.map → cpu-D27G86Ul.js.map} +1 -1
  126. package/ccw/frontend/dist/assets/{ellipsis-vertical-h8xtvw2_.js → ellipsis-vertical-C1Ij47Yz.js} +2 -2
  127. package/ccw/frontend/dist/assets/{ellipsis-vertical-h8xtvw2_.js.map → ellipsis-vertical-C1Ij47Yz.js.map} +1 -1
  128. package/ccw/frontend/dist/assets/{eye-D3NY0bm6.js → eye-C6MOB7Au.js} +2 -2
  129. package/ccw/frontend/dist/assets/{eye-D3NY0bm6.js.map → eye-C6MOB7Au.js.map} +1 -1
  130. package/ccw/frontend/dist/assets/{eye-off-Cy2vkc8p.js → eye-off-BxfBlZ26.js} +2 -2
  131. package/ccw/frontend/dist/assets/{eye-off-Cy2vkc8p.js.map → eye-off-BxfBlZ26.js.map} +1 -1
  132. package/ccw/frontend/dist/assets/{file-json-Bzq3U1Mx.js → file-json-NI237wA-.js} +2 -2
  133. package/ccw/frontend/dist/assets/{file-json-Bzq3U1Mx.js.map → file-json-NI237wA-.js.map} +1 -1
  134. package/ccw/frontend/dist/assets/{file-text-DwuwPDPi.js → file-text-Byn2_2v6.js} +2 -2
  135. package/ccw/frontend/dist/assets/{file-text-DwuwPDPi.js.map → file-text-Byn2_2v6.js.map} +1 -1
  136. package/ccw/frontend/dist/assets/{filter-q9g-bknU.js → filter-D-7PhZjx.js} +2 -2
  137. package/ccw/frontend/dist/assets/{filter-q9g-bknU.js.map → filter-D-7PhZjx.js.map} +1 -1
  138. package/ccw/frontend/dist/assets/{folder-CL6vb42J.js → folder-BoAsK_FL.js} +2 -2
  139. package/ccw/frontend/dist/assets/{folder-CL6vb42J.js.map → folder-BoAsK_FL.js.map} +1 -1
  140. package/ccw/frontend/dist/assets/{gauge-BkrcQBly.js → gauge-DCSxJIS4.js} +2 -2
  141. package/ccw/frontend/dist/assets/{gauge-BkrcQBly.js.map → gauge-DCSxJIS4.js.map} +1 -1
  142. package/ccw/frontend/dist/assets/{globe-BQbwyNeV.js → globe-CHS3prza.js} +2 -2
  143. package/ccw/frontend/dist/assets/{globe-BQbwyNeV.js.map → globe-CHS3prza.js.map} +1 -1
  144. package/ccw/frontend/dist/assets/{grid-3x3-x5_7DrN7.js → grid-3x3-D7K35U7S.js} +2 -2
  145. package/ccw/frontend/dist/assets/{grid-3x3-x5_7DrN7.js.map → grid-3x3-D7K35U7S.js.map} +1 -1
  146. package/ccw/frontend/dist/assets/{hard-drive-DTyWXwzf.js → hard-drive-eq9xE07G.js} +2 -2
  147. package/ccw/frontend/dist/assets/{hard-drive-DTyWXwzf.js.map → hard-drive-eq9xE07G.js.map} +1 -1
  148. package/ccw/frontend/dist/assets/{hash-80O0kJO7.js → hash-C1DMpBua.js} +2 -2
  149. package/ccw/frontend/dist/assets/{hash-80O0kJO7.js.map → hash-C1DMpBua.js.map} +1 -1
  150. package/ccw/frontend/dist/assets/{history-DDlN2Bwa.js → history-Di5SBCY-.js} +2 -2
  151. package/ccw/frontend/dist/assets/{history-DDlN2Bwa.js.map → history-Di5SBCY-.js.map} +1 -1
  152. package/ccw/frontend/dist/assets/{index-mbeo62f8.js → index--_R7COnA.js} +2 -2
  153. package/ccw/frontend/dist/assets/{index-mbeo62f8.js.map → index--_R7COnA.js.map} +1 -1
  154. package/ccw/frontend/dist/assets/{index-rLgoBCfV.js → index-BUol9HDD.js} +3 -3
  155. package/ccw/frontend/dist/assets/{index-rLgoBCfV.js.map → index-BUol9HDD.js.map} +1 -1
  156. package/ccw/frontend/dist/assets/{index-Bs80iCX0.js → index-CT9oykfw.js} +2 -2
  157. package/ccw/frontend/dist/assets/{index-Bs80iCX0.js.map → index-CT9oykfw.js.map} +1 -1
  158. package/ccw/frontend/dist/assets/{index-B9A3Hnrk.js → index-Ddwvf87H.js} +2 -2
  159. package/ccw/frontend/dist/assets/{index-B9A3Hnrk.js.map → index-Ddwvf87H.js.map} +1 -1
  160. package/ccw/frontend/dist/assets/{layout-grid-C1niOWJx.js → layout-grid-LiX0qZbN.js} +2 -2
  161. package/ccw/frontend/dist/assets/{layout-grid-C1niOWJx.js.map → layout-grid-LiX0qZbN.js.map} +1 -1
  162. package/ccw/frontend/dist/assets/{lightbulb-BTmI7SUg.js → lightbulb-CL3DVEwb.js} +2 -2
  163. package/ccw/frontend/dist/assets/{lightbulb-BTmI7SUg.js.map → lightbulb-CL3DVEwb.js.map} +1 -1
  164. package/ccw/frontend/dist/assets/{link-2-CB9HKeuZ.js → link-2-CC5cFeq6.js} +2 -2
  165. package/ccw/frontend/dist/assets/{link-2-CB9HKeuZ.js.map → link-2-CC5cFeq6.js.map} +1 -1
  166. package/ccw/frontend/dist/assets/{link-koEYiemK.js → link-ngFQ9bs0.js} +2 -2
  167. package/ccw/frontend/dist/assets/{link-koEYiemK.js.map → link-ngFQ9bs0.js.map} +1 -1
  168. package/ccw/frontend/dist/assets/{list-v2_GaLdC.js → list-BEU6I0KK.js} +2 -2
  169. package/ccw/frontend/dist/assets/{list-v2_GaLdC.js.map → list-BEU6I0KK.js.map} +1 -1
  170. package/ccw/frontend/dist/assets/{map-pin-BQNfAqG_.js → map-pin-BWZdLA6y.js} +2 -2
  171. package/ccw/frontend/dist/assets/{map-pin-BQNfAqG_.js.map → map-pin-BWZdLA6y.js.map} +1 -1
  172. package/ccw/frontend/dist/assets/{messages-square-Dzq5LGg9.js → messages-square-K6_Chm7n.js} +2 -2
  173. package/ccw/frontend/dist/assets/{messages-square-Dzq5LGg9.js.map → messages-square-K6_Chm7n.js.map} +1 -1
  174. package/ccw/frontend/dist/assets/{minimize-2-CtkoJXcz.js → minimize-2-CWkphauf.js} +2 -2
  175. package/ccw/frontend/dist/assets/{minimize-2-CtkoJXcz.js.map → minimize-2-CWkphauf.js.map} +1 -1
  176. package/ccw/frontend/dist/assets/{package-CH3smL37.js → package-DrNgkamn.js} +2 -2
  177. package/ccw/frontend/dist/assets/{package-CH3smL37.js.map → package-DrNgkamn.js.map} +1 -1
  178. package/ccw/frontend/dist/assets/{plug-CZ0aL_yF.js → plug-CMo3sw5_.js} +2 -2
  179. package/ccw/frontend/dist/assets/{plug-CZ0aL_yF.js.map → plug-CMo3sw5_.js.map} +1 -1
  180. package/ccw/frontend/dist/assets/{power-F2A_J4l6.js → power-DppNTW5e.js} +2 -2
  181. package/ccw/frontend/dist/assets/{power-F2A_J4l6.js.map → power-DppNTW5e.js.map} +1 -1
  182. package/ccw/frontend/dist/assets/{save-Byxot0YU.js → save-CD8aPMbZ.js} +2 -2
  183. package/ccw/frontend/dist/assets/{save-Byxot0YU.js.map → save-CD8aPMbZ.js.map} +1 -1
  184. package/ccw/frontend/dist/assets/{send-JjqhUkpw.js → send-B4z90fQD.js} +2 -2
  185. package/ccw/frontend/dist/assets/{send-JjqhUkpw.js.map → send-B4z90fQD.js.map} +1 -1
  186. package/ccw/frontend/dist/assets/{settings-2--SuN9rAt.js → settings-2-CAKRU_QC.js} +2 -2
  187. package/ccw/frontend/dist/assets/{settings-2--SuN9rAt.js.map → settings-2-CAKRU_QC.js.map} +1 -1
  188. package/ccw/frontend/dist/assets/{square-check-big-BbngGB2h.js → square-check-big-KhI3HrzX.js} +2 -2
  189. package/ccw/frontend/dist/assets/{square-check-big-BbngGB2h.js.map → square-check-big-KhI3HrzX.js.map} +1 -1
  190. package/ccw/frontend/dist/assets/{square-pen-CgrHgZSl.js → square-pen-BtdGIpuq.js} +2 -2
  191. package/ccw/frontend/dist/assets/{square-pen-CgrHgZSl.js.map → square-pen-BtdGIpuq.js.map} +1 -1
  192. package/ccw/frontend/dist/assets/{star-BU3TQr7Z.js → star-ZoBUkXoD.js} +2 -2
  193. package/ccw/frontend/dist/assets/{star-BU3TQr7Z.js.map → star-ZoBUkXoD.js.map} +1 -1
  194. package/ccw/frontend/dist/assets/{style-CKs7nnn3.js → style-CltxQP-P.js} +2 -2
  195. package/ccw/frontend/dist/assets/{style-CKs7nnn3.js.map → style-CltxQP-P.js.map} +1 -1
  196. package/ccw/frontend/dist/assets/{target-DW5tsDW6.js → target-C32OUSGf.js} +2 -2
  197. package/ccw/frontend/dist/assets/{target-DW5tsDW6.js.map → target-C32OUSGf.js.map} +1 -1
  198. package/ccw/frontend/dist/assets/{test-tube-BHm7w3ON.js → test-tube-0IxoyAVZ.js} +2 -2
  199. package/ccw/frontend/dist/assets/{test-tube-BHm7w3ON.js.map → test-tube-0IxoyAVZ.js.map} +1 -1
  200. package/ccw/frontend/dist/assets/{upload-DYR7PWwt.js → upload-4eKCkyBn.js} +2 -2
  201. package/ccw/frontend/dist/assets/{upload-DYR7PWwt.js.map → upload-4eKCkyBn.js.map} +1 -1
  202. package/ccw/frontend/dist/assets/{useApiSettings-D0TVgQD_.js → useApiSettings-zLTUWqhi.js} +2 -2
  203. package/ccw/frontend/dist/assets/{useApiSettings-D0TVgQD_.js.map → useApiSettings-zLTUWqhi.js.map} +1 -1
  204. package/ccw/frontend/dist/assets/{useCli-DfY8mAP8.js → useCli-BtN2vpOX.js} +2 -2
  205. package/ccw/frontend/dist/assets/{useCli-DfY8mAP8.js.map → useCli-BtN2vpOX.js.map} +1 -1
  206. package/ccw/frontend/dist/assets/{useCommands-CGusDp0F.js → useCommands-_spj49qL.js} +2 -2
  207. package/ccw/frontend/dist/assets/{useCommands-CGusDp0F.js.map → useCommands-_spj49qL.js.map} +1 -1
  208. package/ccw/frontend/dist/assets/{useDebounce-CIwh0fF1.js → useDebounce-Bm9KFZvd.js} +2 -2
  209. package/ccw/frontend/dist/assets/{useDebounce-CIwh0fF1.js.map → useDebounce-Bm9KFZvd.js.map} +1 -1
  210. package/ccw/frontend/dist/assets/{useFileExplorer-FMyFv39K.js → useFileExplorer-DOmpm6v9.js} +2 -2
  211. package/ccw/frontend/dist/assets/{useFileExplorer-FMyFv39K.js.map → useFileExplorer-DOmpm6v9.js.map} +1 -1
  212. package/ccw/frontend/dist/assets/{useLocale-B2qhsoTb.js → useLocale-D2rj4rea.js} +2 -2
  213. package/ccw/frontend/dist/assets/{useLocale-B2qhsoTb.js.map → useLocale-D2rj4rea.js.map} +1 -1
  214. package/ccw/frontend/dist/assets/{useSkills-cxKXMBm3.js → useSkills-OskEpomF.js} +3 -3
  215. package/ccw/frontend/dist/assets/{useSkills-cxKXMBm3.js.map → useSkills-OskEpomF.js.map} +1 -1
  216. package/ccw/frontend/dist/assets/{useSystemSettings-B-xUT_z-.js → useSystemSettings-BjMgsNSF.js} +2 -2
  217. package/ccw/frontend/dist/assets/{useSystemSettings-B-xUT_z-.js.map → useSystemSettings-BjMgsNSF.js.map} +1 -1
  218. package/ccw/frontend/dist/assets/{wand-sparkles-DZV_3lPr.js → wand-sparkles-CLhyYWa7.js} +2 -2
  219. package/ccw/frontend/dist/assets/{wand-sparkles-DZV_3lPr.js.map → wand-sparkles-CLhyYWa7.js.map} +1 -1
  220. package/ccw/frontend/dist/index.html +1 -1
  221. package/package.json +1 -1
  222. package/ccw/frontend/dist/assets/SettingsPage-B2PYzSoO.js +0 -150
  223. package/ccw/frontend/dist/assets/SettingsPage-B2PYzSoO.js.map +0 -1
  224. package/ccw/frontend/dist/assets/SkillsManagerPage-CTnWrrwp.js +0 -7
  225. package/ccw/frontend/dist/assets/SkillsManagerPage-CTnWrrwp.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  # Phase 5: Epics & Stories
2
2
 
3
- > **Execution Mode: Agent Delegated**
4
- > This phase is executed by a `doc-generator` agent. The orchestrator (SKILL.md) passes session context via the Task tool. The agent reads this file for instructions, executes all steps, writes output files, and returns a JSON summary.
3
+ > **Execution Mode: Agent Delegated (Codex v4)**
4
+ > This phase is executed by a `doc-generator` agent. The orchestrator spawns the agent via `spawn_agent({ task_name: "doc-gen-p5", fork_context: false })` and retrieves results via `wait_agent`. The agent reads this file as part of its MANDATORY FIRST STEPS, executes all steps, writes output files, and returns a JSON summary.
5
5
 
6
6
  Decompose the specification into executable Epics and Stories with dependency mapping.
7
7
 
@@ -83,10 +83,9 @@ CONSTRAINTS:
83
83
  - Dependencies should be minimized across Epics
84
84
  \${glossary ? \`- Maintain terminology consistency with glossary: \${glossary.terms.map(t => t.term).join(', ')}\` : ''}
85
85
  " --tool gemini --mode analysis`,
86
- run_in_background: true
87
86
  });
88
87
 
89
- // Wait for CLI result
88
+ // Parse CLI result
90
89
  ```
91
90
 
92
91
  ### Step 2.5: Codex Epics Review
@@ -117,10 +116,9 @@ MODE: analysis
117
116
  EXPECTED: Epic review with: coverage gaps, oversized stories, dependency issues, traceability gaps, quality rating
118
117
  CONSTRAINTS: Focus on issues that would block execution planning. Be specific about which Story/Epic has problems.
119
118
  " --tool codex --mode analysis`,
120
- run_in_background: true
121
119
  });
122
120
 
123
- // Wait for Codex review result
121
+ // Parse Codex review result
124
122
  // Integrate feedback into epics before writing files:
125
123
  // - Add missing Stories for uncovered Must requirements
126
124
  // - Split XL stories in MVP epics into smaller units
@@ -1,7 +1,7 @@
1
1
  # Phase 6.5: Auto-Fix
2
2
 
3
- > **Execution Mode: Agent Delegated**
4
- > This phase is executed by a `doc-generator` agent when triggered by the orchestrator after Phase 6 identifies issues. The agent reads this file for instructions, applies fixes to affected documents, and returns a JSON summary.
3
+ > **Execution Mode: Agent Delegated (Codex v4)**
4
+ > This phase is executed by a `doc-generator` agent when triggered by the orchestrator after Phase 6 identifies issues. The orchestrator spawns via `spawn_agent({ task_name: "doc-gen-fix", fork_context: false })` and retrieves results via `wait_agent`. The agent reads this file as part of its MANDATORY FIRST STEPS, applies fixes to affected documents, and returns a JSON summary.
5
5
 
6
6
  Automatically repair specification issues identified in Phase 6 Readiness Check.
7
7
 
@@ -96,11 +96,10 @@ TASK:
96
96
  MODE: analysis
97
97
  EXPECTED: Corrected document content addressing all listed issues
98
98
  CONSTRAINTS: Minimal changes - only fix flagged issues, do not restructure unflagged sections
99
- " --tool gemini --mode analysis`,
100
- run_in_background: true
99
+ " --tool gemini --mode analysis`
101
100
  });
102
101
 
103
- // Wait for result, apply fixes to document
102
+ // Parse result, apply fixes to document
104
103
  // Update document version in frontmatter
105
104
  }
106
105
  ```
@@ -102,10 +102,9 @@ MODE: analysis
102
102
  EXPECTED: JSON-compatible output with: dimension scores, overall score, gate, issues list (severity + description + location), traceability matrix
103
103
  CONSTRAINTS: Be thorough but fair. Focus on actionable issues.
104
104
  " --tool gemini --mode analysis`,
105
- run_in_background: true
106
105
  });
107
106
 
108
- // Wait for CLI result
107
+ // Parse CLI result
109
108
  ```
110
109
 
111
110
  ### Step 2b: Codex Technical Depth Review
@@ -139,7 +138,6 @@ MODE: analysis
139
138
  EXPECTED: Technical depth review with: per-dimension scores (1-5), specific gaps, improvement recommendations, overall technical readiness assessment
140
139
  CONSTRAINTS: Focus on gaps that would cause implementation ambiguity. Ignore cosmetic issues.
141
140
  " --tool codex --mode analysis`,
142
- run_in_background: true
143
141
  });
144
142
 
145
143
  // Codex result merged with Gemini result in Step 3
@@ -350,7 +348,9 @@ if (selection === "Execute via lite-plan") {
350
348
  const epicContent = Read(firstMvpFile);
351
349
  const title = extractTitle(epicContent); // First # heading
352
350
  const description = extractSection(epicContent, "Description");
353
- Skill(skill="workflow-lite-plan", args=`"${title}: ${description}"`)
351
+ // Invoke workflow-lite-plan skill with Epic description
352
+ // Codex: use skill invocation mechanism for the target skill
353
+ invoke_skill("workflow-lite-plan", `"${title}: ${description}"`)
354
354
  }
355
355
 
356
356
  if (selection === "Full planning" || selection === "Create roadmap") {
@@ -374,8 +374,8 @@ SCOPE: ${extractScope(specSummary)}
374
374
  CONTEXT: Generated from spec session ${specConfig.session_id}. Source: ${workDir}/`;
375
375
 
376
376
  // Step C: Create WFS session (provides session directory + .brainstorming/)
377
- Skill(skill="workflow:session:start", args=`--auto "${structuredDesc}"`)
378
- // Produces sessionId (WFS-xxx) and session directory at .workflow/active/{sessionId}/
377
+ invoke_skill("workflow:session:start", `--auto "${structuredDesc}"`)
378
+ // -> Produces sessionId (WFS-xxx) and session directory at .workflow/active/{sessionId}/
379
379
 
380
380
  // Step D: Create .brainstorming/ bridge files
381
381
  const brainstormDir = `.workflow/active/${sessionId}/.brainstorming`;
@@ -476,9 +476,9 @@ ${extractSection(epicContent, "Architecture")}
476
476
  // → context-package.json.brainstorm_artifacts populated
477
477
  // → action-planning-agent loads guidance_specification (P1) + feature_index (P2)
478
478
  if (selection === "Full planning") {
479
- Skill(skill="workflow-plan", args=`"${structuredDesc}"`)
479
+ invoke_skill("workflow-plan", `"${structuredDesc}"`)
480
480
  } else {
481
- Skill(skill="workflow:req-plan-with-file", args=`"${extractGoal(specSummary)}"`)
481
+ invoke_skill("workflow:req-plan-with-file", `"${extractGoal(specSummary)}"`)
482
482
  }
483
483
  }
484
484
 
@@ -281,12 +281,12 @@ const answer = request_user_input({
281
281
  const selection = answer.answers.next_step.answers[0];
282
282
  if (selection === "Execute via team-planex(Recommended)") {
283
283
  const issueIds = createdIssues.map(i => i.issue_id).join(',');
284
- Skill({ skill: "team-planex", args: `--issues ${issueIds}` });
284
+ invoke_skill("team-planex", `--issues ${issueIds}`);
285
285
  }
286
286
 
287
287
  if (selection === "Wave 1 only") {
288
288
  const wave1Ids = createdIssues.filter(i => i.wave === 1).map(i => i.issue_id).join(',');
289
- Skill({ skill: "team-planex", args: `--issues ${wave1Ids}` });
289
+ invoke_skill("team-planex", `--issues ${wave1Ids}`);
290
290
  }
291
291
 
292
292
  if (selection === "Done") {
@@ -2,7 +2,7 @@
2
2
  name: spec-setup
3
3
  description: Initialize project-level state and configure specs via interactive questionnaire.
4
4
  argument-hint: "[--regenerate] [--skip-specs] [--reset]"
5
- allowed-tools: spawn_agent, wait, send_input, close_agent, request_user_input, Read, Write, Edit, Bash, Glob, Grep
5
+ allowed-tools: spawn_agent, wait_agent, send_message, assign_task, close_agent, request_user_input, Read, Write, Edit, Bash, Glob, Grep
6
6
  ---
7
7
 
8
8
  # Workflow Spec Setup Command
@@ -184,11 +184,11 @@ Project root: ${projectRoot}
184
184
  })
185
185
 
186
186
  // Wait for completion
187
- const result = wait({ ids: [exploreAgent], timeout_ms: 600000 })
187
+ const result = wait_agent({ targets: [exploreAgent], timeout_ms: 600000 })
188
188
 
189
189
  if (result.timed_out) {
190
- send_input({ id: exploreAgent, message: 'Complete analysis now and write project-tech.json.' })
191
- const retry = wait({ ids: [exploreAgent], timeout_ms: 300000 })
190
+ assign_task({ target: exploreAgent, items: [{ type: "text", text: "Complete analysis now and write project-tech.json." }] })
191
+ const retry = wait_agent({ targets: [exploreAgent], timeout_ms: 300000 })
192
192
  if (retry.timed_out) throw new Error('Agent timeout')
193
193
  }
194
194
 
@@ -6,7 +6,7 @@ description: |
6
6
  (spawn_agent or N+1 parallel agents) → plan verification → interactive replan.
7
7
  Produces IMPL_PLAN.md, task JSONs, TODO_LIST.md.
8
8
  argument-hint: "[-y|--yes] [--session ID] \"task description\" | verify [--session ID] | replan [--session ID] [IMPL-N] \"changes\""
9
- allowed-tools: spawn_agent, wait, send_input, close_agent, request_user_input, Read, Write, Edit, Bash, Glob, Grep
9
+ allowed-tools: spawn_agent, wait_agent, send_message, assign_task, close_agent, request_user_input, Read, Write, Edit, Bash, Glob, Grep
10
10
  ---
11
11
 
12
12
  ## Auto Mode
@@ -271,7 +271,7 @@ Format: {
271
271
  `
272
272
  })
273
273
 
274
- wait({ id: ctxAgent })
274
+ wait_agent({ targets: [ctxAgent] })
275
275
  close_agent({ id: ctxAgent })
276
276
 
277
277
  // Parse outputs
@@ -403,7 +403,7 @@ ${contextPkg.conflict_risk === 'medium' || contextPkg.conflict_risk === 'high'
403
403
  `
404
404
  })
405
405
 
406
- wait({ id: planAgent })
406
+ wait_agent({ targets: [planAgent] })
407
407
  close_agent({ id: planAgent })
408
408
  }
409
409
  ```
@@ -439,7 +439,7 @@ Mark cross-module dependencies as CROSS::${'{module}'}::${'{task}'}
439
439
  }
440
440
 
441
441
  // Wait for all module planners
442
- wait({ ids: moduleAgents.map(a => a.id) })
442
+ wait_agent({ targets: moduleAgents.map(a => a.id) })
443
443
  moduleAgents.forEach(a => close_agent({ id: a.id }))
444
444
 
445
445
  // +1 Coordinator: integrate all modules
@@ -460,7 +460,7 @@ Integrate ${uniqueModules.length} module plans into unified IMPL_PLAN.md.
460
460
  `
461
461
  })
462
462
 
463
- wait({ id: coordAgent })
463
+ wait_agent({ targets: [coordAgent] })
464
464
  close_agent({ id: coordAgent })
465
465
  }
466
466
  ```
@@ -601,7 +601,7 @@ ${replanTaskId ? `**Target Task**: ${sessionFolder}/.task/${replanTaskId}.json`
601
601
  `
602
602
  })
603
603
 
604
- wait({ id: replanAgent })
604
+ wait_agent({ targets: [replanAgent] })
605
605
  close_agent({ id: replanAgent })
606
606
 
607
607
  console.log(` Replan complete. Review: ${sessionFolder}/IMPL_PLAN.md`)
@@ -7,7 +7,7 @@ description: |
7
7
  interactive verification. Produces IMPL_PLAN.md with Red-Green-Refactor cycles,
8
8
  task JSONs, TODO_LIST.md.
9
9
  argument-hint: "[-y|--yes] [--session ID] \"task description\" | verify [--session ID]"
10
- allowed-tools: spawn_agent, wait, send_input, close_agent, request_user_input, Read, Write, Edit, Bash, Glob, Grep
10
+ allowed-tools: spawn_agent, wait_agent, send_message, assign_task, close_agent, request_user_input, Read, Write, Edit, Bash, Glob, Grep
11
11
  ---
12
12
 
13
13
  ## Auto Mode
@@ -298,7 +298,7 @@ Format: {
298
298
  `
299
299
  })
300
300
 
301
- wait({ id: ctxAgent })
301
+ wait_agent({ targets: [ctxAgent] })
302
302
  close_agent({ id: ctxAgent })
303
303
 
304
304
  // Parse outputs
@@ -367,7 +367,7 @@ Format: {
367
367
  `
368
368
  })
369
369
 
370
- wait({ id: testAgent })
370
+ wait_agent({ targets: [testAgent] })
371
371
  close_agent({ id: testAgent })
372
372
 
373
373
  const testContext = JSON.parse(Read(`${sessionFolder}/.process/test-context-package.json`) || '{}')
@@ -500,7 +500,7 @@ Each task MUST include Red-Green-Refactor cycle:
500
500
  `
501
501
  })
502
502
 
503
- wait({ id: planAgent })
503
+ wait_agent({ targets: [planAgent] })
504
504
  close_agent({ id: planAgent })
505
505
 
506
506
  console.log(` TDD tasks generated`)
@@ -690,7 +690,7 @@ BLOCKED: Critical failures, must fix before execution
690
690
  `
691
691
  })
692
692
 
693
- wait({ id: verifyAgent })
693
+ wait_agent({ targets: [verifyAgent] })
694
694
  close_agent({ id: verifyAgent })
695
695
 
696
696
  const report = Read(`${sessionFolder}/.process/TDD_COMPLIANCE_REPORT.md`)
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: workflow-test-fix-cycle
3
3
  description: "End-to-end test-fix workflow generate test sessions with progressive layers (L0-L3), then execute iterative fix cycles until pass rate >= 95%. Combines test-fix-gen and test-cycle-execute into a unified pipeline. Triggers on \"workflow:test-fix-cycle\"."
4
- allowed-tools: spawn_agent, wait, send_input, close_agent, request_user_input, Read, Write, Edit, Bash, Glob, Grep
4
+ allowed-tools: spawn_agent, wait_agent, send_message, assign_task, close_agent, request_user_input, Read, Write, Edit, Bash, Glob, Grep
5
5
  ---
6
6
 
7
7
  # Workflow Test-Fix Cycle
@@ -64,7 +64,7 @@ Task Pipeline:
64
64
  1. **Two-Phase Pipeline**: Generation (Phase 1) creates session + tasks, Execution (Phase 2) runs iterative fix cycles
65
65
  2. **Pure Orchestrator**: Dispatch to phase docs, parse outputs, pass context between phases
66
66
  3. **Phase 1 Auto-Continue**: Sub-phases within Phase 1 run autonomously
67
- 4. **Subagent Lifecycle**: Explicit lifecycle management with spawn_agent → wait → close_agent
67
+ 4. **Subagent Lifecycle**: Explicit lifecycle management with spawn_agent → wait_agent → close_agent
68
68
  5. **Progressive Test Layers**: L0 (Static) → L1 (Unit) → L2 (Integration) → L3 (E2E)
69
69
  6. **AI Code Issue Detection**: Validates against common AI-generated code problems
70
70
  7. **Intelligent Strategy Engine**: conservative → aggressive → surgical based on iteration context
@@ -99,33 +99,33 @@ ${deliverables}
99
99
  })
100
100
  ```
101
101
 
102
- ### wait
102
+ ### wait_agent
103
103
  Get results from subagent (only way to retrieve results).
104
104
 
105
105
  ```javascript
106
- const result = wait({
107
- ids: [agentId],
106
+ const result = wait_agent({
107
+ targets: [agentId],
108
108
  timeout_ms: 600000 // 10 minutes
109
109
  })
110
110
 
111
111
  if (result.timed_out) {
112
- // Handle timeout - can continue waiting or send_input to prompt completion
112
+ // Handle timeout - can use assign_task to prompt completion
113
113
  }
114
114
  ```
115
115
 
116
- ### send_input
117
- Continue interaction with active subagent (for clarification or follow-up).
116
+ ### assign_task
117
+ Assign new work to active subagent (for clarification or follow-up).
118
118
 
119
119
  ```javascript
120
- send_input({
121
- id: agentId,
122
- message: `
120
+ assign_task({
121
+ target: agentId,
122
+ items: [{ type: "text", text: `
123
123
  ## CLARIFICATION ANSWERS
124
124
  ${answers}
125
125
 
126
126
  ## NEXT STEP
127
127
  Continue with plan generation.
128
- `
128
+ ` }]
129
129
  })
130
130
  ```
131
131
 
@@ -225,7 +225,7 @@ Phase 2: Test-Cycle Execution (phases/02-test-cycle-execute.md)
225
225
  6. **Task Attachment Model**: Sub-tasks ATTACH → execute → COLLAPSE
226
226
  7. **MANDATORY CONFIRMATION GATE**: After Phase 1 completes, you MUST stop and present the generated plan to the user. Wait for explicit user approval via request_user_input before starting Phase 2. NEVER auto-proceed from Phase 1 to Phase 2
227
227
  8. **Phase 2 Continuous**: Once user approves, Phase 2 runs continuously until pass rate >= 95% or max iterations reached
228
- 9. **Explicit Lifecycle**: Always close_agent after wait completes to free resources
228
+ 9. **Explicit Lifecycle**: Always close_agent after wait_agent completes to free resources
229
229
 
230
230
  ## Phase Execution
231
231
 
@@ -235,9 +235,9 @@ Phase 2: Test-Cycle Execution (phases/02-test-cycle-execute.md)
235
235
 
236
236
  5 sub-phases that create a test session and generate task JSONs:
237
237
  1. Create Test Session → `testSessionId`
238
- 2. Gather Test Context (spawn_agent → wait → close_agent) → `contextPath`
239
- 3. Test Generation Analysis (spawn_agent → wait → close_agent) → `TEST_ANALYSIS_RESULTS.md`
240
- 4. Generate Test Tasks (spawn_agent → wait → close_agent) → `IMPL-001.json`, `IMPL-001.3.json`, `IMPL-001.5.json`, `IMPL-002.json`, `IMPL_PLAN.md`, `TODO_LIST.md`
238
+ 2. Gather Test Context (spawn_agent → wait_agent → close_agent) → `contextPath`
239
+ 3. Test Generation Analysis (spawn_agent → wait_agent → close_agent) → `TEST_ANALYSIS_RESULTS.md`
240
+ 4. Generate Test Tasks (spawn_agent → wait_agent → close_agent) → `IMPL-001.json`, `IMPL-001.3.json`, `IMPL-001.5.json`, `IMPL-002.json`, `IMPL_PLAN.md`, `TODO_LIST.md`
241
241
  5. Phase 1 Summary → **⛔ MANDATORY: Present plan and wait for user confirmation before Phase 2**
242
242
 
243
243
  **Agents Used** (via spawn_agent):
@@ -343,7 +343,7 @@ Phase 2: Test-Cycle Execution (phases/02-test-cycle-execute.md)
343
343
  ```javascript
344
344
  try {
345
345
  const agentId = spawn_agent({ message: "..." });
346
- const result = wait({ ids: [agentId], timeout_ms: 600000 });
346
+ const result = wait_agent({ targets: [agentId], timeout_ms: 600000 });
347
347
  // ... process result ...
348
348
  close_agent({ id: agentId });
349
349
  } catch (error) {
@@ -358,7 +358,7 @@ try {
358
358
  - Detect input type (session ID / description / file path / resume)
359
359
  - Initialize progress tracking with 2 top-level phases
360
360
  - Read `phases/01-test-fix-gen.md` for detailed sub-phase execution
361
- - Execute 5 sub-phases with spawn_agent → wait → close_agent lifecycle
361
+ - Execute 5 sub-phases with spawn_agent → wait_agent → close_agent lifecycle
362
362
  - Verify all Phase 1 outputs (4+ task JSONs, IMPL_PLAN.md, TODO_LIST.md)
363
363
  - **Ensure all agents are closed** after each sub-phase completes
364
364
  - **⛔ MANDATORY: Present plan summary and request_user_input for confirmation**
@@ -371,7 +371,7 @@ try {
371
371
  **Phase 2 (Execution)**:
372
372
  - Read `phases/02-test-cycle-execute.md` for detailed execution logic
373
373
  - Load session state and task queue
374
- - Execute iterative test-fix cycles with spawn_agent → wait → close_agent
374
+ - Execute iterative test-fix cycles with spawn_agent → wait_agent → close_agent
375
375
  - Track iterations in progress tracking
376
376
  - Auto-complete session on success (pass rate >= 95%)
377
377
  - **Ensure all agents are closed** after each iteration
@@ -92,7 +92,7 @@ Gather test context for session [testSessionId]
92
92
  `
93
93
  });
94
94
 
95
- const contextResult = wait({ ids: [contextAgentId], timeout_ms: 600000 });
95
+ const contextResult = wait_agent({ targets: [contextAgentId], timeout_ms: 600000 });
96
96
  close_agent({ id: contextAgentId });
97
97
 
98
98
  // Prompt Mode - gather from codebase via context-search-agent
@@ -119,7 +119,7 @@ Gather project context for session [testSessionId]: [task_description]
119
119
  `
120
120
  });
121
121
 
122
- const contextResult = wait({ ids: [contextAgentId], timeout_ms: 600000 });
122
+ const contextResult = wait_agent({ targets: [contextAgentId], timeout_ms: 600000 });
123
123
  close_agent({ id: contextAgentId });
124
124
  ```
125
125
 
@@ -203,7 +203,7 @@ ${projectRoot}/.workflow/active/[testSessionId]/.process/TEST_ANALYSIS_RESULTS.m
203
203
  `
204
204
  });
205
205
 
206
- const analysisResult = wait({ ids: [analysisAgentId], timeout_ms: 1200000 });
206
+ const analysisResult = wait_agent({ targets: [analysisAgentId], timeout_ms: 1200000 });
207
207
  close_agent({ id: analysisAgentId });
208
208
  ```
209
209
 
@@ -272,7 +272,7 @@ Generate test-specific IMPL_PLAN.md and task JSONs for session [testSessionId]
272
272
  `
273
273
  });
274
274
 
275
- const taskGenResult = wait({ ids: [taskGenAgentId], timeout_ms: 600000 });
275
+ const taskGenResult = wait_agent({ targets: [taskGenAgentId], timeout_ms: 600000 });
276
276
  close_agent({ id: taskGenAgentId });
277
277
  ```
278
278
 
@@ -446,7 +446,7 @@ Sub-Phase 1.5: Phase 1 Summary
446
446
  ```javascript
447
447
  try {
448
448
  const agentId = spawn_agent({ message: "..." });
449
- const result = wait({ ids: [agentId], timeout_ms: 600000 });
449
+ const result = wait_agent({ targets: [agentId], timeout_ms: 600000 });
450
450
  // ... process result ...
451
451
  close_agent({ id: agentId });
452
452
  } catch (error) {
@@ -139,8 +139,8 @@ const analysisAgentId = spawn_agent({
139
139
  });
140
140
 
141
141
  // Wait for analysis completion
142
- const analysisResult = wait({
143
- ids: [analysisAgentId],
142
+ const analysisResult = wait_agent({
143
+ targets: [analysisAgentId],
144
144
  timeout_ms: 2400000 // 40 minutes (CLI analysis timeout)
145
145
  });
146
146
 
@@ -199,8 +199,8 @@ const fixAgentId = spawn_agent({
199
199
  });
200
200
 
201
201
  // Wait for execution completion
202
- const fixResult = wait({
203
- ids: [fixAgentId],
202
+ const fixResult = wait_agent({
203
+ targets: [fixAgentId],
204
204
  timeout_ms: 600000 // 10 minutes
205
205
  });
206
206
 
@@ -390,7 +390,7 @@ Fallback is triggered when any of these conditions occur:
390
390
  ```javascript
391
391
  try {
392
392
  const agentId = spawn_agent({ message: "..." });
393
- const result = wait({ ids: [agentId], timeout_ms: 2400000 });
393
+ const result = wait_agent({ ids: [agentId], timeout_ms: 2400000 });
394
394
  // ... process result ...
395
395
  close_agent({ id: agentId });
396
396
  } catch (error) {
@@ -1,8 +1,8 @@
1
- import{j as o,fw as G,fx as m,fy as L,r as s,bw as A,fz as k,fA as B,bB as H,fB as W,fC as Y,fD as v,fE as q,fF as V,fG as J,bG as K,c as n}from"./index-rLgoBCfV.js";var D="AlertDialog",[Q]=K(D,[m]),l=m(),x=e=>{const{__scopeAlertDialog:a,...t}=e,r=l(a);return o.jsx(G,{...r,...t,modal:!0})};x.displayName=D;var U="AlertDialogTrigger",y=s.forwardRef((e,a)=>{const{__scopeAlertDialog:t,...r}=e,i=l(t);return o.jsx(q,{...i,...r,ref:a})});y.displayName=U;var X="AlertDialogPortal",N=e=>{const{__scopeAlertDialog:a,...t}=e,r=l(a);return o.jsx(L,{...r,...t})};N.displayName=X;var Z="AlertDialogOverlay",b=s.forwardRef((e,a)=>{const{__scopeAlertDialog:t,...r}=e,i=l(t);return o.jsx(V,{...i,...r,ref:a})});b.displayName=Z;var c="AlertDialogContent",[ee,ae]=Q(c),te=J("AlertDialogContent"),j=s.forwardRef((e,a)=>{const{__scopeAlertDialog:t,children:r,...i}=e,g=l(t),p=s.useRef(null),z=A(a,p),f=s.useRef(null);return o.jsx(k,{contentName:c,titleName:R,docsSlug:"alert-dialog",children:o.jsx(ee,{scope:t,cancelRef:f,children:o.jsxs(B,{role:"alertdialog",...g,...i,ref:z,onOpenAutoFocus:H(i.onOpenAutoFocus,d=>{var u;d.preventDefault(),(u=f.current)==null||u.focus({preventScroll:!0})}),onPointerDownOutside:d=>d.preventDefault(),onInteractOutside:d=>d.preventDefault(),children:[o.jsx(te,{children:r}),o.jsx(re,{contentRef:p})]})})})});j.displayName=c;var R="AlertDialogTitle",h=s.forwardRef((e,a)=>{const{__scopeAlertDialog:t,...r}=e,i=l(t);return o.jsx(W,{...i,...r,ref:a})});h.displayName=R;var _="AlertDialogDescription",w=s.forwardRef((e,a)=>{const{__scopeAlertDialog:t,...r}=e,i=l(t);return o.jsx(Y,{...i,...r,ref:a})});w.displayName=_;var oe="AlertDialogAction",C=s.forwardRef((e,a)=>{const{__scopeAlertDialog:t,...r}=e,i=l(t);return o.jsx(v,{...i,...r,ref:a})});C.displayName=oe;var E="AlertDialogCancel",P=s.forwardRef((e,a)=>{const{__scopeAlertDialog:t,...r}=e,{cancelRef:i}=ae(E,t),g=l(t),p=A(a,i);return o.jsx(v,{...g,...r,ref:p})});P.displayName=E;var re=({contentRef:e})=>{const a=`\`${c}\` requires a description for the component to be accessible for screen reader users.
1
+ import{j as o,fx as H,fy as m,fz as G,r as s,bx as A,fA as L,fB as k,bC as B,fC as W,fD as Y,fE as v,fF as q,fG as V,fH as J,bH as K,c as n}from"./index-BUol9HDD.js";var D="AlertDialog",[Q]=K(D,[m]),l=m(),x=e=>{const{__scopeAlertDialog:a,...t}=e,r=l(a);return o.jsx(H,{...r,...t,modal:!0})};x.displayName=D;var U="AlertDialogTrigger",y=s.forwardRef((e,a)=>{const{__scopeAlertDialog:t,...r}=e,i=l(t);return o.jsx(q,{...i,...r,ref:a})});y.displayName=U;var X="AlertDialogPortal",N=e=>{const{__scopeAlertDialog:a,...t}=e,r=l(a);return o.jsx(G,{...r,...t})};N.displayName=X;var Z="AlertDialogOverlay",b=s.forwardRef((e,a)=>{const{__scopeAlertDialog:t,...r}=e,i=l(t);return o.jsx(V,{...i,...r,ref:a})});b.displayName=Z;var c="AlertDialogContent",[ee,ae]=Q(c),te=J("AlertDialogContent"),j=s.forwardRef((e,a)=>{const{__scopeAlertDialog:t,children:r,...i}=e,g=l(t),p=s.useRef(null),z=A(a,p),f=s.useRef(null);return o.jsx(L,{contentName:c,titleName:R,docsSlug:"alert-dialog",children:o.jsx(ee,{scope:t,cancelRef:f,children:o.jsxs(k,{role:"alertdialog",...g,...i,ref:z,onOpenAutoFocus:B(i.onOpenAutoFocus,d=>{var u;d.preventDefault(),(u=f.current)==null||u.focus({preventScroll:!0})}),onPointerDownOutside:d=>d.preventDefault(),onInteractOutside:d=>d.preventDefault(),children:[o.jsx(te,{children:r}),o.jsx(re,{contentRef:p})]})})})});j.displayName=c;var R="AlertDialogTitle",h=s.forwardRef((e,a)=>{const{__scopeAlertDialog:t,...r}=e,i=l(t);return o.jsx(W,{...i,...r,ref:a})});h.displayName=R;var _="AlertDialogDescription",C=s.forwardRef((e,a)=>{const{__scopeAlertDialog:t,...r}=e,i=l(t);return o.jsx(Y,{...i,...r,ref:a})});C.displayName=_;var oe="AlertDialogAction",E=s.forwardRef((e,a)=>{const{__scopeAlertDialog:t,...r}=e,i=l(t);return o.jsx(v,{...i,...r,ref:a})});E.displayName=oe;var w="AlertDialogCancel",P=s.forwardRef((e,a)=>{const{__scopeAlertDialog:t,...r}=e,{cancelRef:i}=ae(w,t),g=l(t),p=A(a,i);return o.jsx(v,{...g,...r,ref:p})});P.displayName=w;var re=({contentRef:e})=>{const a=`\`${c}\` requires a description for the component to be accessible for screen reader users.
2
2
 
3
3
  You can add a description to the \`${c}\` by passing a \`${_}\` component as a child, which also benefits sighted users by adding visible context to the dialog.
4
4
 
5
5
  Alternatively, you can use your own component as a description by assigning it an \`id\` and passing the same value to the \`aria-describedby\` prop in \`${c}\`. If the description is confusing or duplicative for sighted users, you can use the \`@radix-ui/react-visually-hidden\` primitive as a wrapper around your description component.
6
6
 
7
- For more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;return s.useEffect(()=>{var r;document.getElementById((r=e.current)==null?void 0:r.getAttribute("aria-describedby"))||console.warn(a)},[a,e]),null},se=x,ie=y,le=N,S=b,T=j,O=C,$=P,M=h,I=w;const ve=se,De=ie,ne=le,F=s.forwardRef(({className:e,...a},t)=>o.jsx(S,{className:n("fixed inset-0 z-50 bg-black/60 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...a,ref:t}));F.displayName=S.displayName;const ce=s.forwardRef(({className:e,...a},t)=>o.jsxs(ne,{children:[o.jsx(F,{}),o.jsx(T,{ref:t,className:n("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border border-border bg-card p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",e),...a})]}));ce.displayName=T.displayName;const de=({className:e,...a})=>o.jsx("div",{className:n("flex flex-col space-y-2 text-center sm:text-left",e),...a});de.displayName="AlertDialogHeader";const pe=({className:e,...a})=>o.jsx("div",{className:n("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...a});pe.displayName="AlertDialogFooter";const ge=s.forwardRef(({className:e,...a},t)=>o.jsx(M,{ref:t,className:n("text-lg font-semibold text-foreground",e),...a}));ge.displayName=M.displayName;const fe=s.forwardRef(({className:e,...a},t)=>o.jsx(I,{ref:t,className:n("text-sm text-muted-foreground",e),...a}));fe.displayName=I.displayName;const ue=s.forwardRef(({className:e,...a},t)=>o.jsx(O,{ref:t,className:n("inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 bg-primary text-primary-foreground hover:bg-primary/90 h-10 px-4 py-2",e),...a}));ue.displayName=O.displayName;const me=s.forwardRef(({className:e,...a},t)=>o.jsx($,{ref:t,className:n("inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 bg-secondary text-secondary-foreground hover:bg-secondary/80 h-10 px-4 py-2 mt-2 sm:mt-0",e),...a}));me.displayName=$.displayName;export{ve as A,ce as a,de as b,ge as c,fe as d,pe as e,me as f,ue as g,De as h};
8
- //# sourceMappingURL=AlertDialog-BjP1ydDR.js.map
7
+ For more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;return s.useEffect(()=>{var r;document.getElementById((r=e.current)==null?void 0:r.getAttribute("aria-describedby"))||console.warn(a)},[a,e]),null},se=x,ie=y,le=N,S=b,T=j,O=E,$=P,M=h,I=C;const ve=se,De=ie,ne=le,F=s.forwardRef(({className:e,...a},t)=>o.jsx(S,{className:n("fixed inset-0 z-50 bg-black/60 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...a,ref:t}));F.displayName=S.displayName;const ce=s.forwardRef(({className:e,...a},t)=>o.jsxs(ne,{children:[o.jsx(F,{}),o.jsx(T,{ref:t,className:n("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border border-border bg-card p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",e),...a})]}));ce.displayName=T.displayName;const de=({className:e,...a})=>o.jsx("div",{className:n("flex flex-col space-y-2 text-center sm:text-left",e),...a});de.displayName="AlertDialogHeader";const pe=({className:e,...a})=>o.jsx("div",{className:n("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...a});pe.displayName="AlertDialogFooter";const ge=s.forwardRef(({className:e,...a},t)=>o.jsx(M,{ref:t,className:n("text-lg font-semibold text-foreground",e),...a}));ge.displayName=M.displayName;const fe=s.forwardRef(({className:e,...a},t)=>o.jsx(I,{ref:t,className:n("text-sm text-muted-foreground",e),...a}));fe.displayName=I.displayName;const ue=s.forwardRef(({className:e,...a},t)=>o.jsx(O,{ref:t,className:n("inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 bg-primary text-primary-foreground hover:bg-primary/90 h-10 px-4 py-2",e),...a}));ue.displayName=O.displayName;const me=s.forwardRef(({className:e,...a},t)=>o.jsx($,{ref:t,className:n("inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 bg-secondary text-secondary-foreground hover:bg-secondary/80 h-10 px-4 py-2 mt-2 sm:mt-0",e),...a}));me.displayName=$.displayName;export{ve as A,ce as a,de as b,ge as c,fe as d,pe as e,me as f,ue as g,De as h};
8
+ //# sourceMappingURL=AlertDialog-exlTDW81.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AlertDialog-BjP1ydDR.js","sources":["../../../../node_modules/@radix-ui/react-alert-dialog/dist/index.mjs","../../src/components/ui/AlertDialog.tsx"],"sourcesContent":["\"use client\";\n\n// src/alert-dialog.tsx\nimport * as React from \"react\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\";\nimport { createDialogScope } from \"@radix-ui/react-dialog\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createSlottable } from \"@radix-ui/react-slot\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar ROOT_NAME = \"AlertDialog\";\nvar [createAlertDialogContext, createAlertDialogScope] = createContextScope(ROOT_NAME, [\n createDialogScope\n]);\nvar useDialogScope = createDialogScope();\nvar AlertDialog = (props) => {\n const { __scopeAlertDialog, ...alertDialogProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(DialogPrimitive.Root, { ...dialogScope, ...alertDialogProps, modal: true });\n};\nAlertDialog.displayName = ROOT_NAME;\nvar TRIGGER_NAME = \"AlertDialogTrigger\";\nvar AlertDialogTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAlertDialog, ...triggerProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(DialogPrimitive.Trigger, { ...dialogScope, ...triggerProps, ref: forwardedRef });\n }\n);\nAlertDialogTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"AlertDialogPortal\";\nvar AlertDialogPortal = (props) => {\n const { __scopeAlertDialog, ...portalProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(DialogPrimitive.Portal, { ...dialogScope, ...portalProps });\n};\nAlertDialogPortal.displayName = PORTAL_NAME;\nvar OVERLAY_NAME = \"AlertDialogOverlay\";\nvar AlertDialogOverlay = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAlertDialog, ...overlayProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(DialogPrimitive.Overlay, { ...dialogScope, ...overlayProps, ref: forwardedRef });\n }\n);\nAlertDialogOverlay.displayName = OVERLAY_NAME;\nvar CONTENT_NAME = \"AlertDialogContent\";\nvar [AlertDialogContentProvider, useAlertDialogContentContext] = createAlertDialogContext(CONTENT_NAME);\nvar Slottable = createSlottable(\"AlertDialogContent\");\nvar AlertDialogContent = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAlertDialog, children, ...contentProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n const cancelRef = React.useRef(null);\n return /* @__PURE__ */ jsx(\n DialogPrimitive.WarningProvider,\n {\n contentName: CONTENT_NAME,\n titleName: TITLE_NAME,\n docsSlug: \"alert-dialog\",\n children: /* @__PURE__ */ jsx(AlertDialogContentProvider, { scope: __scopeAlertDialog, cancelRef, children: /* @__PURE__ */ jsxs(\n DialogPrimitive.Content,\n {\n role: \"alertdialog\",\n ...dialogScope,\n ...contentProps,\n ref: composedRefs,\n onOpenAutoFocus: composeEventHandlers(contentProps.onOpenAutoFocus, (event) => {\n event.preventDefault();\n cancelRef.current?.focus({ preventScroll: true });\n }),\n onPointerDownOutside: (event) => event.preventDefault(),\n onInteractOutside: (event) => event.preventDefault(),\n children: [\n /* @__PURE__ */ jsx(Slottable, { children }),\n /* @__PURE__ */ jsx(DescriptionWarning, { contentRef })\n ]\n }\n ) })\n }\n );\n }\n);\nAlertDialogContent.displayName = CONTENT_NAME;\nvar TITLE_NAME = \"AlertDialogTitle\";\nvar AlertDialogTitle = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAlertDialog, ...titleProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(DialogPrimitive.Title, { ...dialogScope, ...titleProps, ref: forwardedRef });\n }\n);\nAlertDialogTitle.displayName = TITLE_NAME;\nvar DESCRIPTION_NAME = \"AlertDialogDescription\";\nvar AlertDialogDescription = React.forwardRef((props, forwardedRef) => {\n const { __scopeAlertDialog, ...descriptionProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(DialogPrimitive.Description, { ...dialogScope, ...descriptionProps, ref: forwardedRef });\n});\nAlertDialogDescription.displayName = DESCRIPTION_NAME;\nvar ACTION_NAME = \"AlertDialogAction\";\nvar AlertDialogAction = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAlertDialog, ...actionProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(DialogPrimitive.Close, { ...dialogScope, ...actionProps, ref: forwardedRef });\n }\n);\nAlertDialogAction.displayName = ACTION_NAME;\nvar CANCEL_NAME = \"AlertDialogCancel\";\nvar AlertDialogCancel = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAlertDialog, ...cancelProps } = props;\n const { cancelRef } = useAlertDialogContentContext(CANCEL_NAME, __scopeAlertDialog);\n const dialogScope = useDialogScope(__scopeAlertDialog);\n const ref = useComposedRefs(forwardedRef, cancelRef);\n return /* @__PURE__ */ jsx(DialogPrimitive.Close, { ...dialogScope, ...cancelProps, ref });\n }\n);\nAlertDialogCancel.displayName = CANCEL_NAME;\nvar DescriptionWarning = ({ contentRef }) => {\n const MESSAGE = `\\`${CONTENT_NAME}\\` requires a description for the component to be accessible for screen reader users.\n\nYou can add a description to the \\`${CONTENT_NAME}\\` by passing a \\`${DESCRIPTION_NAME}\\` component as a child, which also benefits sighted users by adding visible context to the dialog.\n\nAlternatively, you can use your own component as a description by assigning it an \\`id\\` and passing the same value to the \\`aria-describedby\\` prop in \\`${CONTENT_NAME}\\`. If the description is confusing or duplicative for sighted users, you can use the \\`@radix-ui/react-visually-hidden\\` primitive as a wrapper around your description component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;\n React.useEffect(() => {\n const hasDescription = document.getElementById(\n contentRef.current?.getAttribute(\"aria-describedby\")\n );\n if (!hasDescription) console.warn(MESSAGE);\n }, [MESSAGE, contentRef]);\n return null;\n};\nvar Root2 = AlertDialog;\nvar Trigger2 = AlertDialogTrigger;\nvar Portal2 = AlertDialogPortal;\nvar Overlay2 = AlertDialogOverlay;\nvar Content2 = AlertDialogContent;\nvar Action = AlertDialogAction;\nvar Cancel = AlertDialogCancel;\nvar Title2 = AlertDialogTitle;\nvar Description2 = AlertDialogDescription;\nexport {\n Action,\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogOverlay,\n AlertDialogPortal,\n AlertDialogTitle,\n AlertDialogTrigger,\n Cancel,\n Content2 as Content,\n Description2 as Description,\n Overlay2 as Overlay,\n Portal2 as Portal,\n Root2 as Root,\n Title2 as Title,\n Trigger2 as Trigger,\n createAlertDialogScope\n};\n//# sourceMappingURL=index.mjs.map\n","// ========================================\r\n// AlertDialog Component\r\n// ========================================\r\n// Dialog component for confirmations and critical actions\r\n\r\nimport * as React from \"react\";\r\nimport * as AlertDialogPrimitive from \"@radix-ui/react-alert-dialog\";\r\nimport { cn } from \"@/lib/utils\";\r\n\r\nconst AlertDialog = AlertDialogPrimitive.Root;\r\n\r\nconst AlertDialogTrigger = AlertDialogPrimitive.Trigger;\r\n\r\nconst AlertDialogPortal = AlertDialogPrimitive.Portal;\r\n\r\nconst AlertDialogOverlay = React.forwardRef<\r\n React.ElementRef<typeof AlertDialogPrimitive.Overlay>,\r\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Overlay>\r\n>(({ className, ...props }, ref) => (\r\n <AlertDialogPrimitive.Overlay\r\n className={cn(\r\n \"fixed inset-0 z-50 bg-black/60 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\r\n className\r\n )}\r\n {...props}\r\n ref={ref}\r\n />\r\n));\r\nAlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName;\r\n\r\nconst AlertDialogContent = React.forwardRef<\r\n React.ElementRef<typeof AlertDialogPrimitive.Content>,\r\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Content>\r\n>(({ className, ...props }, ref) => (\r\n <AlertDialogPortal>\r\n <AlertDialogOverlay />\r\n <AlertDialogPrimitive.Content\r\n ref={ref}\r\n className={cn(\r\n \"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border border-border bg-card p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n </AlertDialogPortal>\r\n));\r\nAlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName;\r\n\r\nconst AlertDialogHeader = ({\r\n className,\r\n ...props\r\n}: React.HTMLAttributes<HTMLDivElement>) => (\r\n <div\r\n className={cn(\r\n \"flex flex-col space-y-2 text-center sm:text-left\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n);\r\nAlertDialogHeader.displayName = \"AlertDialogHeader\";\r\n\r\nconst AlertDialogFooter = ({\r\n className,\r\n ...props\r\n}: React.HTMLAttributes<HTMLDivElement>) => (\r\n <div\r\n className={cn(\r\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n);\r\nAlertDialogFooter.displayName = \"AlertDialogFooter\";\r\n\r\nconst AlertDialogTitle = React.forwardRef<\r\n React.ElementRef<typeof AlertDialogPrimitive.Title>,\r\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Title>\r\n>(({ className, ...props }, ref) => (\r\n <AlertDialogPrimitive.Title\r\n ref={ref}\r\n className={cn(\"text-lg font-semibold text-foreground\", className)}\r\n {...props}\r\n />\r\n));\r\nAlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName;\r\n\r\nconst AlertDialogDescription = React.forwardRef<\r\n React.ElementRef<typeof AlertDialogPrimitive.Description>,\r\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Description>\r\n>(({ className, ...props }, ref) => (\r\n <AlertDialogPrimitive.Description\r\n ref={ref}\r\n className={cn(\"text-sm text-muted-foreground\", className)}\r\n {...props}\r\n />\r\n));\r\nAlertDialogDescription.displayName =\r\n AlertDialogPrimitive.Description.displayName;\r\n\r\nconst AlertDialogAction = React.forwardRef<\r\n React.ElementRef<typeof AlertDialogPrimitive.Action>,\r\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Action>\r\n>(({ className, ...props }, ref) => (\r\n <AlertDialogPrimitive.Action\r\n ref={ref}\r\n className={cn(\r\n \"inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 bg-primary text-primary-foreground hover:bg-primary/90 h-10 px-4 py-2\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n));\r\nAlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName;\r\n\r\nconst AlertDialogCancel = React.forwardRef<\r\n React.ElementRef<typeof AlertDialogPrimitive.Cancel>,\r\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Cancel>\r\n>(({ className, ...props }, ref) => (\r\n <AlertDialogPrimitive.Cancel\r\n ref={ref}\r\n className={cn(\r\n \"inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 bg-secondary text-secondary-foreground hover:bg-secondary/80 h-10 px-4 py-2 mt-2 sm:mt-0\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n));\r\nAlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName;\r\n\r\nexport {\r\n AlertDialog,\r\n AlertDialogPortal,\r\n AlertDialogOverlay,\r\n AlertDialogTrigger,\r\n AlertDialogContent,\r\n AlertDialogHeader,\r\n AlertDialogFooter,\r\n AlertDialogTitle,\r\n AlertDialogDescription,\r\n AlertDialogAction,\r\n AlertDialogCancel,\r\n};\r\n"],"names":["ROOT_NAME","createAlertDialogContext","createContextScope","createDialogScope","useDialogScope","AlertDialog","props","__scopeAlertDialog","alertDialogProps","dialogScope","jsx","DialogPrimitive.Root","TRIGGER_NAME","AlertDialogTrigger","React.forwardRef","forwardedRef","triggerProps","DialogPrimitive.Trigger","PORTAL_NAME","AlertDialogPortal","portalProps","DialogPrimitive.Portal","OVERLAY_NAME","AlertDialogOverlay","overlayProps","DialogPrimitive.Overlay","CONTENT_NAME","AlertDialogContentProvider","useAlertDialogContentContext","Slottable","createSlottable","AlertDialogContent","children","contentProps","contentRef","React.useRef","composedRefs","useComposedRefs","cancelRef","DialogPrimitive.WarningProvider","TITLE_NAME","jsxs","DialogPrimitive.Content","composeEventHandlers","event","_a","DescriptionWarning","AlertDialogTitle","titleProps","DialogPrimitive.Title","DESCRIPTION_NAME","AlertDialogDescription","descriptionProps","DialogPrimitive.Description","ACTION_NAME","AlertDialogAction","actionProps","DialogPrimitive.Close","CANCEL_NAME","AlertDialogCancel","cancelProps","ref","MESSAGE","React.useEffect","Root2","Trigger2","Portal2","Overlay2","Content2","Action","Cancel","Title2","Description2","AlertDialogPrimitive.Root","AlertDialogPrimitive.Trigger","AlertDialogPrimitive.Portal","className","AlertDialogPrimitive.Overlay","cn","AlertDialogPrimitive.Content","AlertDialogHeader","AlertDialogFooter","AlertDialogPrimitive.Title","AlertDialogPrimitive.Description","AlertDialogPrimitive.Action","AlertDialogPrimitive.Cancel"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"AlertDialog-exlTDW81.js","sources":["../../../../node_modules/@radix-ui/react-alert-dialog/dist/index.mjs","../../src/components/ui/AlertDialog.tsx"],"sourcesContent":["\"use client\";\n\n// src/alert-dialog.tsx\nimport * as React from \"react\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\";\nimport { createDialogScope } from \"@radix-ui/react-dialog\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createSlottable } from \"@radix-ui/react-slot\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar ROOT_NAME = \"AlertDialog\";\nvar [createAlertDialogContext, createAlertDialogScope] = createContextScope(ROOT_NAME, [\n createDialogScope\n]);\nvar useDialogScope = createDialogScope();\nvar AlertDialog = (props) => {\n const { __scopeAlertDialog, ...alertDialogProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(DialogPrimitive.Root, { ...dialogScope, ...alertDialogProps, modal: true });\n};\nAlertDialog.displayName = ROOT_NAME;\nvar TRIGGER_NAME = \"AlertDialogTrigger\";\nvar AlertDialogTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAlertDialog, ...triggerProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(DialogPrimitive.Trigger, { ...dialogScope, ...triggerProps, ref: forwardedRef });\n }\n);\nAlertDialogTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"AlertDialogPortal\";\nvar AlertDialogPortal = (props) => {\n const { __scopeAlertDialog, ...portalProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(DialogPrimitive.Portal, { ...dialogScope, ...portalProps });\n};\nAlertDialogPortal.displayName = PORTAL_NAME;\nvar OVERLAY_NAME = \"AlertDialogOverlay\";\nvar AlertDialogOverlay = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAlertDialog, ...overlayProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(DialogPrimitive.Overlay, { ...dialogScope, ...overlayProps, ref: forwardedRef });\n }\n);\nAlertDialogOverlay.displayName = OVERLAY_NAME;\nvar CONTENT_NAME = \"AlertDialogContent\";\nvar [AlertDialogContentProvider, useAlertDialogContentContext] = createAlertDialogContext(CONTENT_NAME);\nvar Slottable = createSlottable(\"AlertDialogContent\");\nvar AlertDialogContent = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAlertDialog, children, ...contentProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n const cancelRef = React.useRef(null);\n return /* @__PURE__ */ jsx(\n DialogPrimitive.WarningProvider,\n {\n contentName: CONTENT_NAME,\n titleName: TITLE_NAME,\n docsSlug: \"alert-dialog\",\n children: /* @__PURE__ */ jsx(AlertDialogContentProvider, { scope: __scopeAlertDialog, cancelRef, children: /* @__PURE__ */ jsxs(\n DialogPrimitive.Content,\n {\n role: \"alertdialog\",\n ...dialogScope,\n ...contentProps,\n ref: composedRefs,\n onOpenAutoFocus: composeEventHandlers(contentProps.onOpenAutoFocus, (event) => {\n event.preventDefault();\n cancelRef.current?.focus({ preventScroll: true });\n }),\n onPointerDownOutside: (event) => event.preventDefault(),\n onInteractOutside: (event) => event.preventDefault(),\n children: [\n /* @__PURE__ */ jsx(Slottable, { children }),\n /* @__PURE__ */ jsx(DescriptionWarning, { contentRef })\n ]\n }\n ) })\n }\n );\n }\n);\nAlertDialogContent.displayName = CONTENT_NAME;\nvar TITLE_NAME = \"AlertDialogTitle\";\nvar AlertDialogTitle = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAlertDialog, ...titleProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(DialogPrimitive.Title, { ...dialogScope, ...titleProps, ref: forwardedRef });\n }\n);\nAlertDialogTitle.displayName = TITLE_NAME;\nvar DESCRIPTION_NAME = \"AlertDialogDescription\";\nvar AlertDialogDescription = React.forwardRef((props, forwardedRef) => {\n const { __scopeAlertDialog, ...descriptionProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(DialogPrimitive.Description, { ...dialogScope, ...descriptionProps, ref: forwardedRef });\n});\nAlertDialogDescription.displayName = DESCRIPTION_NAME;\nvar ACTION_NAME = \"AlertDialogAction\";\nvar AlertDialogAction = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAlertDialog, ...actionProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(DialogPrimitive.Close, { ...dialogScope, ...actionProps, ref: forwardedRef });\n }\n);\nAlertDialogAction.displayName = ACTION_NAME;\nvar CANCEL_NAME = \"AlertDialogCancel\";\nvar AlertDialogCancel = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAlertDialog, ...cancelProps } = props;\n const { cancelRef } = useAlertDialogContentContext(CANCEL_NAME, __scopeAlertDialog);\n const dialogScope = useDialogScope(__scopeAlertDialog);\n const ref = useComposedRefs(forwardedRef, cancelRef);\n return /* @__PURE__ */ jsx(DialogPrimitive.Close, { ...dialogScope, ...cancelProps, ref });\n }\n);\nAlertDialogCancel.displayName = CANCEL_NAME;\nvar DescriptionWarning = ({ contentRef }) => {\n const MESSAGE = `\\`${CONTENT_NAME}\\` requires a description for the component to be accessible for screen reader users.\n\nYou can add a description to the \\`${CONTENT_NAME}\\` by passing a \\`${DESCRIPTION_NAME}\\` component as a child, which also benefits sighted users by adding visible context to the dialog.\n\nAlternatively, you can use your own component as a description by assigning it an \\`id\\` and passing the same value to the \\`aria-describedby\\` prop in \\`${CONTENT_NAME}\\`. If the description is confusing or duplicative for sighted users, you can use the \\`@radix-ui/react-visually-hidden\\` primitive as a wrapper around your description component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;\n React.useEffect(() => {\n const hasDescription = document.getElementById(\n contentRef.current?.getAttribute(\"aria-describedby\")\n );\n if (!hasDescription) console.warn(MESSAGE);\n }, [MESSAGE, contentRef]);\n return null;\n};\nvar Root2 = AlertDialog;\nvar Trigger2 = AlertDialogTrigger;\nvar Portal2 = AlertDialogPortal;\nvar Overlay2 = AlertDialogOverlay;\nvar Content2 = AlertDialogContent;\nvar Action = AlertDialogAction;\nvar Cancel = AlertDialogCancel;\nvar Title2 = AlertDialogTitle;\nvar Description2 = AlertDialogDescription;\nexport {\n Action,\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogOverlay,\n AlertDialogPortal,\n AlertDialogTitle,\n AlertDialogTrigger,\n Cancel,\n Content2 as Content,\n Description2 as Description,\n Overlay2 as Overlay,\n Portal2 as Portal,\n Root2 as Root,\n Title2 as Title,\n Trigger2 as Trigger,\n createAlertDialogScope\n};\n//# sourceMappingURL=index.mjs.map\n","// ========================================\r\n// AlertDialog Component\r\n// ========================================\r\n// Dialog component for confirmations and critical actions\r\n\r\nimport * as React from \"react\";\r\nimport * as AlertDialogPrimitive from \"@radix-ui/react-alert-dialog\";\r\nimport { cn } from \"@/lib/utils\";\r\n\r\nconst AlertDialog = AlertDialogPrimitive.Root;\r\n\r\nconst AlertDialogTrigger = AlertDialogPrimitive.Trigger;\r\n\r\nconst AlertDialogPortal = AlertDialogPrimitive.Portal;\r\n\r\nconst AlertDialogOverlay = React.forwardRef<\r\n React.ElementRef<typeof AlertDialogPrimitive.Overlay>,\r\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Overlay>\r\n>(({ className, ...props }, ref) => (\r\n <AlertDialogPrimitive.Overlay\r\n className={cn(\r\n \"fixed inset-0 z-50 bg-black/60 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\r\n className\r\n )}\r\n {...props}\r\n ref={ref}\r\n />\r\n));\r\nAlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName;\r\n\r\nconst AlertDialogContent = React.forwardRef<\r\n React.ElementRef<typeof AlertDialogPrimitive.Content>,\r\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Content>\r\n>(({ className, ...props }, ref) => (\r\n <AlertDialogPortal>\r\n <AlertDialogOverlay />\r\n <AlertDialogPrimitive.Content\r\n ref={ref}\r\n className={cn(\r\n \"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border border-border bg-card p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n </AlertDialogPortal>\r\n));\r\nAlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName;\r\n\r\nconst AlertDialogHeader = ({\r\n className,\r\n ...props\r\n}: React.HTMLAttributes<HTMLDivElement>) => (\r\n <div\r\n className={cn(\r\n \"flex flex-col space-y-2 text-center sm:text-left\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n);\r\nAlertDialogHeader.displayName = \"AlertDialogHeader\";\r\n\r\nconst AlertDialogFooter = ({\r\n className,\r\n ...props\r\n}: React.HTMLAttributes<HTMLDivElement>) => (\r\n <div\r\n className={cn(\r\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n);\r\nAlertDialogFooter.displayName = \"AlertDialogFooter\";\r\n\r\nconst AlertDialogTitle = React.forwardRef<\r\n React.ElementRef<typeof AlertDialogPrimitive.Title>,\r\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Title>\r\n>(({ className, ...props }, ref) => (\r\n <AlertDialogPrimitive.Title\r\n ref={ref}\r\n className={cn(\"text-lg font-semibold text-foreground\", className)}\r\n {...props}\r\n />\r\n));\r\nAlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName;\r\n\r\nconst AlertDialogDescription = React.forwardRef<\r\n React.ElementRef<typeof AlertDialogPrimitive.Description>,\r\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Description>\r\n>(({ className, ...props }, ref) => (\r\n <AlertDialogPrimitive.Description\r\n ref={ref}\r\n className={cn(\"text-sm text-muted-foreground\", className)}\r\n {...props}\r\n />\r\n));\r\nAlertDialogDescription.displayName =\r\n AlertDialogPrimitive.Description.displayName;\r\n\r\nconst AlertDialogAction = React.forwardRef<\r\n React.ElementRef<typeof AlertDialogPrimitive.Action>,\r\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Action>\r\n>(({ className, ...props }, ref) => (\r\n <AlertDialogPrimitive.Action\r\n ref={ref}\r\n className={cn(\r\n \"inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 bg-primary text-primary-foreground hover:bg-primary/90 h-10 px-4 py-2\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n));\r\nAlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName;\r\n\r\nconst AlertDialogCancel = React.forwardRef<\r\n React.ElementRef<typeof AlertDialogPrimitive.Cancel>,\r\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Cancel>\r\n>(({ className, ...props }, ref) => (\r\n <AlertDialogPrimitive.Cancel\r\n ref={ref}\r\n className={cn(\r\n \"inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 bg-secondary text-secondary-foreground hover:bg-secondary/80 h-10 px-4 py-2 mt-2 sm:mt-0\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n));\r\nAlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName;\r\n\r\nexport {\r\n AlertDialog,\r\n AlertDialogPortal,\r\n AlertDialogOverlay,\r\n AlertDialogTrigger,\r\n AlertDialogContent,\r\n AlertDialogHeader,\r\n AlertDialogFooter,\r\n AlertDialogTitle,\r\n AlertDialogDescription,\r\n AlertDialogAction,\r\n AlertDialogCancel,\r\n};\r\n"],"names":["ROOT_NAME","createAlertDialogContext","createContextScope","createDialogScope","useDialogScope","AlertDialog","props","__scopeAlertDialog","alertDialogProps","dialogScope","jsx","DialogPrimitive.Root","TRIGGER_NAME","AlertDialogTrigger","React.forwardRef","forwardedRef","triggerProps","DialogPrimitive.Trigger","PORTAL_NAME","AlertDialogPortal","portalProps","DialogPrimitive.Portal","OVERLAY_NAME","AlertDialogOverlay","overlayProps","DialogPrimitive.Overlay","CONTENT_NAME","AlertDialogContentProvider","useAlertDialogContentContext","Slottable","createSlottable","AlertDialogContent","children","contentProps","contentRef","React.useRef","composedRefs","useComposedRefs","cancelRef","DialogPrimitive.WarningProvider","TITLE_NAME","jsxs","DialogPrimitive.Content","composeEventHandlers","event","_a","DescriptionWarning","AlertDialogTitle","titleProps","DialogPrimitive.Title","DESCRIPTION_NAME","AlertDialogDescription","descriptionProps","DialogPrimitive.Description","ACTION_NAME","AlertDialogAction","actionProps","DialogPrimitive.Close","CANCEL_NAME","AlertDialogCancel","cancelProps","ref","MESSAGE","React.useEffect","Root2","Trigger2","Portal2","Overlay2","Content2","Action","Cancel","Title2","Description2","AlertDialogPrimitive.Root","AlertDialogPrimitive.Trigger","AlertDialogPrimitive.Portal","className","AlertDialogPrimitive.Overlay","cn","AlertDialogPrimitive.Content","AlertDialogHeader","AlertDialogFooter","AlertDialogPrimitive.Title","AlertDialogPrimitive.Description","AlertDialogPrimitive.Action","AlertDialogPrimitive.Cancel"],"mappings":"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","x_google_ignoreList":[0]}