@iloom/cli 0.13.2 → 0.13.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +1 -1
  3. package/dist/{BranchNamingService-MEK2WZUD.js → BranchNamingService-PBP6DY3H.js} +2 -2
  4. package/dist/{ClaudeContextManager-KJ4VEA2F.js → ClaudeContextManager-3HT4LEIU.js} +5 -5
  5. package/dist/{ClaudeService-WTJO4UW6.js → ClaudeService-7BHL2GWC.js} +4 -4
  6. package/dist/{IssueTrackerFactory-UEJALI4X.js → IssueTrackerFactory-JH34S4GX.js} +3 -3
  7. package/dist/{LoomLauncher-KG2VBNQA.js → LoomLauncher-RGXJOCMC.js} +8 -5
  8. package/dist/LoomLauncher-RGXJOCMC.js.map +1 -0
  9. package/dist/{MetadataManager-HHE6LQF2.js → MetadataManager-WKM7JJIO.js} +2 -2
  10. package/dist/README.md +1 -1
  11. package/dist/{SettingsManager-PVHBSCMI.js → SettingsManager-Y5OU5HCX.js} +4 -2
  12. package/dist/agents/CLAUDE.md +12 -7
  13. package/dist/agents/iloom-code-reviewer.md +2 -1
  14. package/dist/agents/iloom-framework-detector.md +56 -9
  15. package/dist/agents/iloom-issue-analyze-and-plan.md +1 -0
  16. package/dist/agents/iloom-issue-analyzer.md +1 -0
  17. package/dist/agents/iloom-issue-complexity-evaluator.md +1 -0
  18. package/dist/agents/iloom-issue-enhancer.md +2 -1
  19. package/dist/agents/iloom-issue-implementer.md +4 -1
  20. package/dist/agents/iloom-issue-planner.md +2 -1
  21. package/dist/agents/iloom-wave-verifier.md +1 -0
  22. package/dist/{build-2FXDYEZQ.js → build-NJJT6UHO.js} +7 -7
  23. package/dist/{chunk-VUIPDX3T.js → chunk-27CQSBUG.js} +2 -2
  24. package/dist/{chunk-YVNG35OW.js → chunk-2Z4VKQND.js} +2 -2
  25. package/dist/{chunk-UQWMPQ2Q.js → chunk-4QROZMPZ.js} +3 -3
  26. package/dist/{chunk-U2OPXZ6E.js → chunk-5NVJ6N3C.js} +7 -7
  27. package/dist/{chunk-2WRD6Y5E.js → chunk-5VP2HAWF.js} +2 -2
  28. package/dist/{chunk-CQHHEW2M.js → chunk-5WJN63T4.js} +1 -1
  29. package/dist/chunk-5WJN63T4.js.map +1 -0
  30. package/dist/{chunk-H4TSDALC.js → chunk-64K5SZXC.js} +6 -6
  31. package/dist/{chunk-5W44AI63.js → chunk-6FHFHMNF.js} +4 -4
  32. package/dist/{chunk-XC5JKRSH.js → chunk-6RKZDUTQ.js} +2 -2
  33. package/dist/{chunk-RP6MHV24.js → chunk-7VSOM25S.js} +20 -15
  34. package/dist/chunk-7VSOM25S.js.map +1 -0
  35. package/dist/{chunk-UMAOVKQX.js → chunk-CSJ7JNJV.js} +3 -3
  36. package/dist/{chunk-AQUSMNBF.js → chunk-CWRQ4NU4.js} +2 -2
  37. package/dist/{chunk-R2EFSRKR.js → chunk-EBPFEM5X.js} +16 -15
  38. package/dist/chunk-EBPFEM5X.js.map +1 -0
  39. package/dist/{chunk-OMV47LLA.js → chunk-FPM6XDEO.js} +2 -2
  40. package/dist/{chunk-DYLOITSO.js → chunk-HMMDNIKG.js} +38 -31
  41. package/dist/chunk-HMMDNIKG.js.map +1 -0
  42. package/dist/{chunk-XIVLGWUX.js → chunk-JDXJIPXR.js} +3 -1
  43. package/dist/chunk-JDXJIPXR.js.map +1 -0
  44. package/dist/{chunk-ZWXJ7G2C.js → chunk-JIMFSNZI.js} +2 -2
  45. package/dist/{chunk-D6FU4DLN.js → chunk-LULQYBRA.js} +2 -2
  46. package/dist/{chunk-DDHWZNGL.js → chunk-MB4CB7Q4.js} +6 -5
  47. package/dist/chunk-MB4CB7Q4.js.map +1 -0
  48. package/dist/{chunk-OHX3PSAY.js → chunk-MZPVETJH.js} +7 -15
  49. package/dist/chunk-MZPVETJH.js.map +1 -0
  50. package/dist/{chunk-OIJNBFMP.js → chunk-OSWL7YDO.js} +2 -2
  51. package/dist/{chunk-32D4CWWH.js → chunk-R2RGFNR4.js} +2 -2
  52. package/dist/{chunk-MPHSR6GA.js → chunk-R4Y2ZBOL.js} +5 -5
  53. package/dist/{chunk-L3P3YJCE.js → chunk-RLFS5KHU.js} +3 -3
  54. package/dist/{chunk-DMNI225H.js → chunk-SM2YM3YR.js} +4 -4
  55. package/dist/{chunk-MNPKEWBQ.js → chunk-UVZBZ5IF.js} +52 -1
  56. package/dist/chunk-UVZBZ5IF.js.map +1 -0
  57. package/dist/{chunk-Y2JHYPMX.js → chunk-VG7UFVF2.js} +47 -35
  58. package/dist/chunk-VG7UFVF2.js.map +1 -0
  59. package/dist/{chunk-OVW26FHW.js → chunk-VQ3Y3PVT.js} +2 -2
  60. package/dist/{chunk-PH65MFQM.js → chunk-Y2TPRF5H.js} +3 -3
  61. package/dist/{claude-ACL7G4CF.js → claude-IYLIOOP7.js} +2 -2
  62. package/dist/{cleanup-I62RA5TZ.js → cleanup-Q6PEKMVF.js} +18 -18
  63. package/dist/cli.js +93 -77
  64. package/dist/cli.js.map +1 -1
  65. package/dist/{commit-7RI2JFFW.js → commit-JKZQYNEB.js} +8 -8
  66. package/dist/{compile-NWTMKAGL.js → compile-QEMZDLKO.js} +7 -7
  67. package/dist/{contribute-QWPOT4QR.js → contribute-TCEOVFDN.js} +4 -4
  68. package/dist/{dev-server-OZ6KKKTR.js → dev-server-25BIZKTB.js} +12 -12
  69. package/dist/{feedback-G63MODT2.js → feedback-CQ42GFZE.js} +7 -7
  70. package/dist/{git-ZTMT6OAI.js → git-HWDX2KWU.js} +4 -4
  71. package/dist/{ignite-GUYKYC5G.js → ignite-25QLX2FS.js} +13 -13
  72. package/dist/index.d.ts +1764 -1709
  73. package/dist/index.js +105 -8
  74. package/dist/index.js.map +1 -1
  75. package/dist/{init-AMLCFVXG.js → init-LRNRRFFU.js} +8 -8
  76. package/dist/{install-deps-XS2UUCUS.js → install-deps-DHFHT3KI.js} +7 -7
  77. package/dist/{issues-2IT7PSNZ.js → issues-W722ILMI.js} +5 -5
  78. package/dist/{lint-DKWJHET3.js → lint-TZDEPVKN.js} +7 -7
  79. package/dist/mcp/issue-management-server.js +39 -0
  80. package/dist/mcp/issue-management-server.js.map +1 -1
  81. package/dist/mcp/recap-server.js +2 -2
  82. package/dist/mcp/recap-server.js.map +1 -1
  83. package/dist/{open-6PXNIPXS.js → open-BCQSZYAD.js} +12 -12
  84. package/dist/{plan-NJVQBBT3.js → plan-2LUGSOYG.js} +30 -28
  85. package/dist/plan-2LUGSOYG.js.map +1 -0
  86. package/dist/{projects-3F6T3KZL.js → projects-INTNTWRM.js} +2 -2
  87. package/dist/prompts/init-prompt.txt +72 -4
  88. package/dist/prompts/issue-prompt.txt +6 -3
  89. package/dist/prompts/pr-prompt.txt +3 -2
  90. package/dist/prompts/regular-prompt.txt +3 -2
  91. package/dist/prompts/session-summary-prompt.txt +2 -1
  92. package/dist/prompts/swarm-orchestrator-prompt.txt +2 -2
  93. package/dist/{rebase-6AXN45AE.js → rebase-ZKZKKQKB.js} +7 -7
  94. package/dist/{recap-XDKI3MTA.js → recap-XXLLMETY.js} +7 -7
  95. package/dist/{run-RHE5NPDT.js → run-5P5ULYZY.js} +12 -12
  96. package/dist/schema/settings.schema.json +50 -0
  97. package/dist/{shell-XOILFEZW.js → shell-GNDHII2J.js} +6 -6
  98. package/dist/{summary-BVYOM63C.js → summary-TVLBZNKY.js} +10 -10
  99. package/dist/{test-6T2UMQ7T.js → test-T5K7FOKQ.js} +7 -7
  100. package/dist/{test-git-CQ65OL45.js → test-git-AQ3ZQ4RA.js} +4 -4
  101. package/dist/{test-jira-CQQHGZ3S.js → test-jira-7XQ63U2C.js} +3 -3
  102. package/dist/{test-prefix-HMTZSS67.js → test-prefix-OTY2HBSB.js} +4 -4
  103. package/dist/{test-webserver-ZN73CM2T.js → test-webserver-CPQMUCDD.js} +6 -6
  104. package/dist/{vscode-ABQ5ZSH7.js → vscode-M4KRTKZK.js} +6 -6
  105. package/package.json +1 -1
  106. package/dist/LoomLauncher-KG2VBNQA.js.map +0 -1
  107. package/dist/chunk-CQHHEW2M.js.map +0 -1
  108. package/dist/chunk-DDHWZNGL.js.map +0 -1
  109. package/dist/chunk-DYLOITSO.js.map +0 -1
  110. package/dist/chunk-MNPKEWBQ.js.map +0 -1
  111. package/dist/chunk-OHX3PSAY.js.map +0 -1
  112. package/dist/chunk-R2EFSRKR.js.map +0 -1
  113. package/dist/chunk-RP6MHV24.js.map +0 -1
  114. package/dist/chunk-XIVLGWUX.js.map +0 -1
  115. package/dist/chunk-Y2JHYPMX.js.map +0 -1
  116. package/dist/plan-NJVQBBT3.js.map +0 -1
  117. /package/dist/{BranchNamingService-MEK2WZUD.js.map → BranchNamingService-PBP6DY3H.js.map} +0 -0
  118. /package/dist/{ClaudeContextManager-KJ4VEA2F.js.map → ClaudeContextManager-3HT4LEIU.js.map} +0 -0
  119. /package/dist/{ClaudeService-WTJO4UW6.js.map → ClaudeService-7BHL2GWC.js.map} +0 -0
  120. /package/dist/{IssueTrackerFactory-UEJALI4X.js.map → IssueTrackerFactory-JH34S4GX.js.map} +0 -0
  121. /package/dist/{MetadataManager-HHE6LQF2.js.map → MetadataManager-WKM7JJIO.js.map} +0 -0
  122. /package/dist/{SettingsManager-PVHBSCMI.js.map → SettingsManager-Y5OU5HCX.js.map} +0 -0
  123. /package/dist/{build-2FXDYEZQ.js.map → build-NJJT6UHO.js.map} +0 -0
  124. /package/dist/{chunk-VUIPDX3T.js.map → chunk-27CQSBUG.js.map} +0 -0
  125. /package/dist/{chunk-YVNG35OW.js.map → chunk-2Z4VKQND.js.map} +0 -0
  126. /package/dist/{chunk-UQWMPQ2Q.js.map → chunk-4QROZMPZ.js.map} +0 -0
  127. /package/dist/{chunk-U2OPXZ6E.js.map → chunk-5NVJ6N3C.js.map} +0 -0
  128. /package/dist/{chunk-2WRD6Y5E.js.map → chunk-5VP2HAWF.js.map} +0 -0
  129. /package/dist/{chunk-H4TSDALC.js.map → chunk-64K5SZXC.js.map} +0 -0
  130. /package/dist/{chunk-5W44AI63.js.map → chunk-6FHFHMNF.js.map} +0 -0
  131. /package/dist/{chunk-XC5JKRSH.js.map → chunk-6RKZDUTQ.js.map} +0 -0
  132. /package/dist/{chunk-UMAOVKQX.js.map → chunk-CSJ7JNJV.js.map} +0 -0
  133. /package/dist/{chunk-AQUSMNBF.js.map → chunk-CWRQ4NU4.js.map} +0 -0
  134. /package/dist/{chunk-OMV47LLA.js.map → chunk-FPM6XDEO.js.map} +0 -0
  135. /package/dist/{chunk-ZWXJ7G2C.js.map → chunk-JIMFSNZI.js.map} +0 -0
  136. /package/dist/{chunk-D6FU4DLN.js.map → chunk-LULQYBRA.js.map} +0 -0
  137. /package/dist/{chunk-OIJNBFMP.js.map → chunk-OSWL7YDO.js.map} +0 -0
  138. /package/dist/{chunk-32D4CWWH.js.map → chunk-R2RGFNR4.js.map} +0 -0
  139. /package/dist/{chunk-MPHSR6GA.js.map → chunk-R4Y2ZBOL.js.map} +0 -0
  140. /package/dist/{chunk-L3P3YJCE.js.map → chunk-RLFS5KHU.js.map} +0 -0
  141. /package/dist/{chunk-DMNI225H.js.map → chunk-SM2YM3YR.js.map} +0 -0
  142. /package/dist/{chunk-OVW26FHW.js.map → chunk-VQ3Y3PVT.js.map} +0 -0
  143. /package/dist/{chunk-PH65MFQM.js.map → chunk-Y2TPRF5H.js.map} +0 -0
  144. /package/dist/{claude-ACL7G4CF.js.map → claude-IYLIOOP7.js.map} +0 -0
  145. /package/dist/{cleanup-I62RA5TZ.js.map → cleanup-Q6PEKMVF.js.map} +0 -0
  146. /package/dist/{commit-7RI2JFFW.js.map → commit-JKZQYNEB.js.map} +0 -0
  147. /package/dist/{compile-NWTMKAGL.js.map → compile-QEMZDLKO.js.map} +0 -0
  148. /package/dist/{contribute-QWPOT4QR.js.map → contribute-TCEOVFDN.js.map} +0 -0
  149. /package/dist/{dev-server-OZ6KKKTR.js.map → dev-server-25BIZKTB.js.map} +0 -0
  150. /package/dist/{feedback-G63MODT2.js.map → feedback-CQ42GFZE.js.map} +0 -0
  151. /package/dist/{git-ZTMT6OAI.js.map → git-HWDX2KWU.js.map} +0 -0
  152. /package/dist/{ignite-GUYKYC5G.js.map → ignite-25QLX2FS.js.map} +0 -0
  153. /package/dist/{init-AMLCFVXG.js.map → init-LRNRRFFU.js.map} +0 -0
  154. /package/dist/{install-deps-XS2UUCUS.js.map → install-deps-DHFHT3KI.js.map} +0 -0
  155. /package/dist/{issues-2IT7PSNZ.js.map → issues-W722ILMI.js.map} +0 -0
  156. /package/dist/{lint-DKWJHET3.js.map → lint-TZDEPVKN.js.map} +0 -0
  157. /package/dist/{open-6PXNIPXS.js.map → open-BCQSZYAD.js.map} +0 -0
  158. /package/dist/{projects-3F6T3KZL.js.map → projects-INTNTWRM.js.map} +0 -0
  159. /package/dist/{rebase-6AXN45AE.js.map → rebase-ZKZKKQKB.js.map} +0 -0
  160. /package/dist/{recap-XDKI3MTA.js.map → recap-XXLLMETY.js.map} +0 -0
  161. /package/dist/{run-RHE5NPDT.js.map → run-5P5ULYZY.js.map} +0 -0
  162. /package/dist/{shell-XOILFEZW.js.map → shell-GNDHII2J.js.map} +0 -0
  163. /package/dist/{summary-BVYOM63C.js.map → summary-TVLBZNKY.js.map} +0 -0
  164. /package/dist/{test-6T2UMQ7T.js.map → test-T5K7FOKQ.js.map} +0 -0
  165. /package/dist/{test-git-CQ65OL45.js.map → test-git-AQ3ZQ4RA.js.map} +0 -0
  166. /package/dist/{test-jira-CQQHGZ3S.js.map → test-jira-7XQ63U2C.js.map} +0 -0
  167. /package/dist/{test-prefix-HMTZSS67.js.map → test-prefix-OTY2HBSB.js.map} +0 -0
  168. /package/dist/{test-webserver-ZN73CM2T.js.map → test-webserver-CPQMUCDD.js.map} +0 -0
  169. /package/dist/{vscode-ABQ5ZSH7.js.map → vscode-M4KRTKZK.js.map} +0 -0
package/dist/cli.js CHANGED
@@ -1,49 +1,49 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  SessionSummaryService
4
- } from "./chunk-U2OPXZ6E.js";
4
+ } from "./chunk-5NVJ6N3C.js";
5
5
  import "./chunk-NXMDEL3F.js";
6
6
  import {
7
7
  ResourceCleanup
8
- } from "./chunk-H4TSDALC.js";
9
- import "./chunk-UQWMPQ2Q.js";
8
+ } from "./chunk-64K5SZXC.js";
9
+ import "./chunk-4QROZMPZ.js";
10
10
  import {
11
11
  StartCommand,
12
12
  launchFirstRunSetup,
13
13
  needsFirstRunSetup
14
- } from "./chunk-R2EFSRKR.js";
14
+ } from "./chunk-EBPFEM5X.js";
15
15
  import {
16
16
  CLIIsolationManager,
17
17
  DatabaseManager,
18
18
  EnvironmentManager,
19
19
  LoomManager
20
- } from "./chunk-DYLOITSO.js";
20
+ } from "./chunk-HMMDNIKG.js";
21
21
  import {
22
22
  PRManager,
23
23
  VCSProviderFactory
24
- } from "./chunk-L3P3YJCE.js";
24
+ } from "./chunk-RLFS5KHU.js";
25
25
  import {
26
26
  BuildRunner,
27
27
  MergeManager
28
- } from "./chunk-MPHSR6GA.js";
28
+ } from "./chunk-R4Y2ZBOL.js";
29
29
  import {
30
30
  assembleChildrenData
31
- } from "./chunk-OIJNBFMP.js";
31
+ } from "./chunk-OSWL7YDO.js";
32
32
  import "./chunk-7UBEHQTP.js";
33
33
  import "./chunk-Z32HPRZF.js";
34
34
  import {
35
35
  ProcessManager
36
- } from "./chunk-2WRD6Y5E.js";
37
- import "./chunk-YVNG35OW.js";
36
+ } from "./chunk-5VP2HAWF.js";
37
+ import "./chunk-2Z4VKQND.js";
38
38
  import {
39
39
  IdentifierParser
40
- } from "./chunk-XC5JKRSH.js";
40
+ } from "./chunk-6RKZDUTQ.js";
41
41
  import {
42
42
  createNeonProviderFromSettings
43
43
  } from "./chunk-HKEXRZMU.js";
44
44
  import {
45
45
  ShellCompletion
46
- } from "./chunk-OMV47LLA.js";
46
+ } from "./chunk-FPM6XDEO.js";
47
47
  import {
48
48
  TelemetryManager,
49
49
  TelemetryService
@@ -51,32 +51,35 @@ import {
51
51
  import "./chunk-EGNUOALL.js";
52
52
  import {
53
53
  IssueEnhancementService
54
- } from "./chunk-PH65MFQM.js";
54
+ } from "./chunk-Y2TPRF5H.js";
55
55
  import {
56
56
  capitalizeFirstLetter
57
57
  } from "./chunk-4E7LCFUG.js";
58
- import "./chunk-CQHHEW2M.js";
58
+ import "./chunk-5WJN63T4.js";
59
59
  import {
60
60
  AgentManager
61
- } from "./chunk-RP6MHV24.js";
61
+ } from "./chunk-7VSOM25S.js";
62
62
  import {
63
63
  CommitManager,
64
- UserAbortedCommitError,
65
64
  ValidationRunner
66
- } from "./chunk-OHX3PSAY.js";
65
+ } from "./chunk-MZPVETJH.js";
67
66
  import {
68
67
  IssueManagementProviderFactory
69
- } from "./chunk-VUIPDX3T.js";
68
+ } from "./chunk-27CQSBUG.js";
70
69
  import "./chunk-4232AHNQ.js";
71
70
  import {
72
71
  installDependencies
73
72
  } from "./chunk-OLJ54WGW.js";
74
73
  import {
75
74
  GitWorktreeManager
76
- } from "./chunk-D6FU4DLN.js";
75
+ } from "./chunk-LULQYBRA.js";
77
76
  import {
78
77
  openBrowser
79
78
  } from "./chunk-WEBMMJKL.js";
79
+ import {
80
+ ProjectCapabilityDetector
81
+ } from "./chunk-772N5WCA.js";
82
+ import "./chunk-K3QGG4O2.js";
80
83
  import {
81
84
  getIdeConfig,
82
85
  getInstallHint,
@@ -84,18 +87,14 @@ import {
84
87
  } from "./chunk-CE676WCN.js";
85
88
  import {
86
89
  ClaudeContextManager
87
- } from "./chunk-32D4CWWH.js";
88
- import "./chunk-UMAOVKQX.js";
90
+ } from "./chunk-R2RGFNR4.js";
91
+ import "./chunk-CSJ7JNJV.js";
89
92
  import "./chunk-LDE6VNG5.js";
90
93
  import "./chunk-GYCR2LOU.js";
91
- import "./chunk-AQUSMNBF.js";
92
- import {
93
- ProjectCapabilityDetector
94
- } from "./chunk-772N5WCA.js";
95
- import "./chunk-K3QGG4O2.js";
94
+ import "./chunk-CWRQ4NU4.js";
96
95
  import {
97
96
  IssueTrackerFactory
98
- } from "./chunk-ZWXJ7G2C.js";
97
+ } from "./chunk-JIMFSNZI.js";
99
98
  import "./chunk-DMSL5BAP.js";
100
99
  import {
101
100
  GitHubService
@@ -112,7 +111,7 @@ import {
112
111
  hasMultipleRemotes
113
112
  } from "./chunk-BZ7KTXPB.js";
114
113
  import "./chunk-OIVFHJOA.js";
115
- import "./chunk-DDHWZNGL.js";
114
+ import "./chunk-MB4CB7Q4.js";
116
115
  import {
117
116
  GitCommandError,
118
117
  executeGitCommand,
@@ -125,13 +124,14 @@ import {
125
124
  pushBranchToRemote,
126
125
  removePlaceholderCommitFromHead,
127
126
  removePlaceholderCommitFromHistory
128
- } from "./chunk-5W44AI63.js";
127
+ } from "./chunk-6FHFHMNF.js";
129
128
  import {
130
- SettingsManager
131
- } from "./chunk-MNPKEWBQ.js";
129
+ SettingsManager,
130
+ UserAbortedCommitError
131
+ } from "./chunk-UVZBZ5IF.js";
132
132
  import {
133
133
  MetadataManager
134
- } from "./chunk-XIVLGWUX.js";
134
+ } from "./chunk-JDXJIPXR.js";
135
135
  import {
136
136
  getLogger,
137
137
  withLogger
@@ -353,7 +353,7 @@ var FinishCommand = class {
353
353
  const neonProvider = createNeonProviderFromSettings(settings);
354
354
  const databaseManager = new DatabaseManager(neonProvider, environmentManager, databaseUrlEnvVarName);
355
355
  const cliIsolationManager = new CLIIsolationManager();
356
- const { DefaultBranchNamingService } = await import("./BranchNamingService-MEK2WZUD.js");
356
+ const { DefaultBranchNamingService } = await import("./BranchNamingService-PBP6DY3H.js");
357
357
  this.loomManager ??= new LoomManager(
358
358
  this.gitWorktreeManager,
359
359
  this.issueTracker,
@@ -541,7 +541,7 @@ var FinishCommand = class {
541
541
  if (result.type === "issue" && result.number !== void 0) {
542
542
  const worktree = await this.gitWorktreeManager.findWorktreeForIssue(result.number);
543
543
  if (worktree) {
544
- const { MetadataManager: MetadataManager2 } = await import("./MetadataManager-HHE6LQF2.js");
544
+ const { MetadataManager: MetadataManager2 } = await import("./MetadataManager-WKM7JJIO.js");
545
545
  const metadataManager = new MetadataManager2();
546
546
  const metadata = await metadataManager.readMetadata(worktree.path);
547
547
  const canonicalKey = (metadata == null ? void 0 : metadata.issueKey) ?? ((_a2 = metadata == null ? void 0 : metadata.issue_numbers) == null ? void 0 : _a2[0]);
@@ -571,7 +571,7 @@ var FinishCommand = class {
571
571
  autoDetected: true
572
572
  };
573
573
  }
574
- const { MetadataManager: MetadataManager2 } = await import("./MetadataManager-HHE6LQF2.js");
574
+ const { MetadataManager: MetadataManager2 } = await import("./MetadataManager-WKM7JJIO.js");
575
575
  const metadataManager = new MetadataManager2();
576
576
  const metadata = await metadataManager.readMetadata(process.cwd());
577
577
  const issueNumber = extractIssueNumber(currentDir);
@@ -978,7 +978,7 @@ var FinishCommand = class {
978
978
  "Cannot cleanup PR with uncommitted changes. Commit or stash changes, then run again with --force to cleanup anyway."
979
979
  );
980
980
  }
981
- const { MetadataManager: MetadataManager2 } = await import("./MetadataManager-HHE6LQF2.js");
981
+ const { MetadataManager: MetadataManager2 } = await import("./MetadataManager-WKM7JJIO.js");
982
982
  const metadataManager = new MetadataManager2();
983
983
  if (!options.dryRun) {
984
984
  await metadataManager.archiveMetadata(worktree.path);
@@ -1188,7 +1188,7 @@ var FinishCommand = class {
1188
1188
  }
1189
1189
  finishResult.prUrl = prResult.url;
1190
1190
  await this.generateSessionSummaryIfConfigured(parsed, worktree, options, prResult.number);
1191
- const { MetadataManager: MetadataManager2 } = await import("./MetadataManager-HHE6LQF2.js");
1191
+ const { MetadataManager: MetadataManager2 } = await import("./MetadataManager-WKM7JJIO.js");
1192
1192
  const metadataManager = new MetadataManager2();
1193
1193
  if (!options.dryRun) {
1194
1194
  await metadataManager.archiveMetadata(worktree.path);
@@ -2250,14 +2250,14 @@ async function autoLaunchInitForMultipleRemotes() {
2250
2250
  await waitForKeypress2("Press any key to start configuration...");
2251
2251
  logger.info("");
2252
2252
  try {
2253
- const { InitCommand } = await import("./init-AMLCFVXG.js");
2253
+ const { InitCommand } = await import("./init-LRNRRFFU.js");
2254
2254
  const initCommand = new InitCommand();
2255
2255
  const customInitialMessage = "Help me configure which git remote iloom should use for GitHub operations. I have multiple remotes and need to select the correct one.";
2256
2256
  await initCommand.execute(customInitialMessage);
2257
2257
  logger.info("");
2258
2258
  logger.info("Configuration complete! Continuing with your original command...");
2259
2259
  logger.info("");
2260
- const { SettingsManager: SettingsManager2 } = await import("./SettingsManager-PVHBSCMI.js");
2260
+ const { SettingsManager: SettingsManager2 } = await import("./SettingsManager-Y5OU5HCX.js");
2261
2261
  const settingsManager = new SettingsManager2();
2262
2262
  const settings = await settingsManager.loadSettings();
2263
2263
  const { hasMultipleRemotes: hasMultipleRemotes2 } = await import("./remote-RO4LZKT2.js");
@@ -2280,6 +2280,8 @@ program.command("start").alias("new").alias("create").alias("up").description("C
2280
2280
  new Option("--one-shot <mode>", "One-shot automation mode").choices(["default", "noReview", "bypassPermissions"]).default("default")
2281
2281
  ).option("--yolo", "Enable autonomous mode (shorthand for --one-shot=bypassPermissions)").option("--dangerously-skip-permissions", "Skip Claude permission prompts without skipping workflow gates").addOption(
2282
2282
  new Option("--complexity <level>", "Override complexity evaluation (persists in loom metadata)").choices(["trivial", "simple", "complex"])
2283
+ ).addOption(
2284
+ new Option("--effort <level>", "Set effort level for Claude (persists in loom metadata)").choices(["low", "medium", "high", "max"])
2283
2285
  ).option("--create-only", "Create workspace only (skip Claude, IDE, terminal, dev server)").action(async (identifier, options) => {
2284
2286
  if (options.yolo) {
2285
2287
  options.oneShot = "bypassPermissions";
@@ -2358,7 +2360,7 @@ program.command("add-issue").alias("a").description("Create and enhance GitHub i
2358
2360
  });
2359
2361
  program.command("feedback").alias("f").description("Submit feedback/bug report to iloom-cli repository").argument("<description>", "Feedback title (>30 chars, >2 spaces; or any non-empty text when --body provided)").option("--body <text>", "Body text for feedback (added after diagnostics)").action(async (description, options) => {
2360
2362
  try {
2361
- const { FeedbackCommand } = await import("./feedback-G63MODT2.js");
2363
+ const { FeedbackCommand } = await import("./feedback-CQ42GFZE.js");
2362
2364
  const command = new FeedbackCommand();
2363
2365
  const feedbackOptions = {};
2364
2366
  if (options.body !== void 0) {
@@ -2460,7 +2462,7 @@ program.command("commit").alias("c").description("Commit all uncommitted files w
2460
2462
  const isAnyJsonMode = options.json ?? options.jsonStream;
2461
2463
  const executeAction = async () => {
2462
2464
  try {
2463
- const { CommitCommand } = await import("./commit-7RI2JFFW.js");
2465
+ const { CommitCommand } = await import("./commit-JKZQYNEB.js");
2464
2466
  const command = new CommitCommand();
2465
2467
  const noReview = options.review === false || options.json === true || options.jsonStream === true;
2466
2468
  const result = await command.execute({
@@ -2499,7 +2501,7 @@ program.command("commit").alias("c").description("Commit all uncommitted files w
2499
2501
  program.command("rebase").description("Rebase current branch on main with Claude-assisted conflict resolution").option("-f, --force", "Skip confirmation prompts").option("-n, --dry-run", "Preview actions without executing").option("--json-stream", "Stream JSONL output; runs Claude headless for conflict resolution").action(async (options) => {
2500
2502
  const executeAction = async () => {
2501
2503
  try {
2502
- const { RebaseCommand } = await import("./rebase-6AXN45AE.js");
2504
+ const { RebaseCommand } = await import("./rebase-ZKZKKQKB.js");
2503
2505
  const command = new RebaseCommand();
2504
2506
  const result = await command.execute(options);
2505
2507
  if (options.jsonStream && result) {
@@ -2534,12 +2536,14 @@ program.command("spin").alias("ignite").description("Launch Claude with auto-det
2534
2536
  new Option("--output-format <format>", "Output format for Claude CLI (requires --print)").choices(["json", "stream-json", "text"])
2535
2537
  ).option("--verbose", "Enable verbose output (requires --print)").option("--json", "Output final result as JSON object (requires --print)").option("--json-stream", "Stream JSONL output to stdout in real-time (requires --print)").option("--set <key=value>", "Override settings (repeatable, e.g., --set workflows.issue.permissionMode=bypassPermissions)").option("--skip-cleanup", "Skip automatic cleanup of child worktrees after they complete in swarm mode").addOption(
2536
2538
  new Option("--complexity <level>", "Override complexity evaluation (session-only)").choices(["trivial", "simple", "complex"])
2539
+ ).addOption(
2540
+ new Option("--effort <level>", "Set effort level for Claude (session-only)").choices(["low", "medium", "high", "max"])
2537
2541
  ).action(async (options) => {
2538
2542
  if (options.yolo) {
2539
2543
  options.oneShot = "bypassPermissions";
2540
2544
  }
2541
2545
  try {
2542
- const { IgniteCommand } = await import("./ignite-GUYKYC5G.js");
2546
+ const { IgniteCommand } = await import("./ignite-25QLX2FS.js");
2543
2547
  const command = new IgniteCommand();
2544
2548
  if (options.json && options.jsonStream) {
2545
2549
  logger.error("--json and --json-stream are mutually exclusive");
@@ -2558,7 +2562,7 @@ program.command("spin").alias("ignite").description("Launch Claude with auto-det
2558
2562
  ...options.json && { json: true },
2559
2563
  ...options.jsonStream && { jsonStream: true }
2560
2564
  } : void 0;
2561
- await command.execute(options.oneShot, printOptions, options.skipCleanup, void 0, options.complexity);
2565
+ await command.execute(options.oneShot, printOptions, options.skipCleanup, void 0, options.complexity, options.effort);
2562
2566
  } catch (error) {
2563
2567
  logger.error(`Failed to spin up loom: ${error instanceof Error ? error.message : "Unknown error"}`);
2564
2568
  process.exit(1);
@@ -2568,7 +2572,7 @@ program.command("open").description("Open workspace in browser or run CLI tool")
2568
2572
  try {
2569
2573
  const args = (command == null ? void 0 : command.args) ? command.args.slice(identifier ? 1 : 0) : [];
2570
2574
  const env = (options == null ? void 0 : options.env) && Object.keys(options.env).length > 0 ? options.env : void 0;
2571
- const { OpenCommand } = await import("./open-6PXNIPXS.js");
2575
+ const { OpenCommand } = await import("./open-BCQSZYAD.js");
2572
2576
  const cmd = new OpenCommand();
2573
2577
  const input = identifier ? { identifier, args, env } : { args, env };
2574
2578
  await cmd.execute(input);
@@ -2581,7 +2585,7 @@ program.command("run").description("Run CLI tool or open workspace in browser").
2581
2585
  try {
2582
2586
  const args = (command == null ? void 0 : command.args) ? command.args.slice(identifier ? 1 : 0) : [];
2583
2587
  const env = (options == null ? void 0 : options.env) && Object.keys(options.env).length > 0 ? options.env : void 0;
2584
- const { RunCommand } = await import("./run-RHE5NPDT.js");
2588
+ const { RunCommand } = await import("./run-5P5ULYZY.js");
2585
2589
  const cmd = new RunCommand();
2586
2590
  const input = identifier ? { identifier, args, env } : { args, env };
2587
2591
  await cmd.execute(input);
@@ -2592,7 +2596,7 @@ program.command("run").description("Run CLI tool or open workspace in browser").
2592
2596
  });
2593
2597
  program.command("vscode").description("Install iloom VS Code extension and open workspace in VS Code").argument("[identifier]", "Issue number, PR number, or branch name (auto-detected if omitted)").option("--no-wait", "Skip keypress prompt and open immediately").action(async (identifier, options) => {
2594
2598
  try {
2595
- const { VSCodeCommand } = await import("./vscode-ABQ5ZSH7.js");
2599
+ const { VSCodeCommand } = await import("./vscode-M4KRTKZK.js");
2596
2600
  const cmd = new VSCodeCommand();
2597
2601
  await cmd.execute({ identifier, wait: options == null ? void 0 : options.wait });
2598
2602
  } catch (error) {
@@ -2601,7 +2605,7 @@ program.command("vscode").description("Install iloom VS Code extension and open
2601
2605
  });
2602
2606
  program.command("dev-server").alias("dev").description("Start dev server for workspace (foreground)").argument("[identifier]", "Issue number, PR number, or branch name (auto-detected if omitted)").option("--json", "Output as JSON").option("-e, --env <KEY=VALUE>", "Environment variable for the dev server (repeatable)", collectKeyValue, {}).action(async (identifier, options) => {
2603
2607
  try {
2604
- const { DevServerCommand } = await import("./dev-server-OZ6KKKTR.js");
2608
+ const { DevServerCommand } = await import("./dev-server-25BIZKTB.js");
2605
2609
  const cmd = new DevServerCommand();
2606
2610
  const env = (options == null ? void 0 : options.env) && Object.keys(options.env).length > 0 ? options.env : void 0;
2607
2611
  await cmd.execute({ identifier, json: options == null ? void 0 : options.json, env });
@@ -2612,7 +2616,7 @@ program.command("dev-server").alias("dev").description("Start dev server for wor
2612
2616
  });
2613
2617
  program.command("shell").alias("terminal").description("Open interactive shell with workspace environment").argument("[identifier]", "Issue number, PR number, or branch name (auto-detected if omitted)").action(async (identifier) => {
2614
2618
  try {
2615
- const { ShellCommand } = await import("./shell-XOILFEZW.js");
2619
+ const { ShellCommand } = await import("./shell-GNDHII2J.js");
2616
2620
  const cmd = new ShellCommand();
2617
2621
  await cmd.execute({ identifier });
2618
2622
  } catch (error) {
@@ -2622,7 +2626,7 @@ program.command("shell").alias("terminal").description("Open interactive shell w
2622
2626
  });
2623
2627
  program.command("build").description("Run the build script").argument("[identifier]", "Issue number, PR number, or branch name (auto-detected if omitted)").action(async (identifier) => {
2624
2628
  try {
2625
- const { BuildCommand } = await import("./build-2FXDYEZQ.js");
2629
+ const { BuildCommand } = await import("./build-NJJT6UHO.js");
2626
2630
  const cmd = new BuildCommand();
2627
2631
  await cmd.execute(identifier ? { identifier } : {});
2628
2632
  } catch (error) {
@@ -2632,7 +2636,7 @@ program.command("build").description("Run the build script").argument("[identifi
2632
2636
  });
2633
2637
  program.command("lint").description("Run the lint script").argument("[identifier]", "Issue number, PR number, or branch name (auto-detected if omitted)").action(async (identifier) => {
2634
2638
  try {
2635
- const { LintCommand } = await import("./lint-DKWJHET3.js");
2639
+ const { LintCommand } = await import("./lint-TZDEPVKN.js");
2636
2640
  const cmd = new LintCommand();
2637
2641
  await cmd.execute(identifier ? { identifier } : {});
2638
2642
  } catch (error) {
@@ -2642,7 +2646,7 @@ program.command("lint").description("Run the lint script").argument("[identifier
2642
2646
  });
2643
2647
  program.command("test").description("Run the test script").argument("[identifier]", "Issue number, PR number, or branch name (auto-detected if omitted)").action(async (identifier) => {
2644
2648
  try {
2645
- const { TestCommand } = await import("./test-6T2UMQ7T.js");
2649
+ const { TestCommand } = await import("./test-T5K7FOKQ.js");
2646
2650
  const cmd = new TestCommand();
2647
2651
  await cmd.execute(identifier ? { identifier } : {});
2648
2652
  } catch (error) {
@@ -2652,7 +2656,7 @@ program.command("test").description("Run the test script").argument("[identifier
2652
2656
  });
2653
2657
  program.command("compile").alias("typecheck").description("Run the compile or typecheck script (prefers compile if both exist)").argument("[identifier]", "Issue number, PR number, or branch name (auto-detected if omitted)").action(async (identifier) => {
2654
2658
  try {
2655
- const { CompileCommand } = await import("./compile-NWTMKAGL.js");
2659
+ const { CompileCommand } = await import("./compile-QEMZDLKO.js");
2656
2660
  const cmd = new CompileCommand();
2657
2661
  await cmd.execute(identifier ? { identifier } : {});
2658
2662
  } catch (error) {
@@ -2662,7 +2666,7 @@ program.command("compile").alias("typecheck").description("Run the compile or ty
2662
2666
  });
2663
2667
  program.command("install-deps").description("Install dependencies for a workspace").argument("[identifier]", "Issue number, PR number, or branch name (auto-detected if omitted)").option("--no-frozen", "Allow lockfile updates (default: frozen/locked)").action(async (identifier, options) => {
2664
2668
  try {
2665
- const { InstallDepsCommand } = await import("./install-deps-XS2UUCUS.js");
2669
+ const { InstallDepsCommand } = await import("./install-deps-DHFHT3KI.js");
2666
2670
  const cmd = new InstallDepsCommand();
2667
2671
  const input = {};
2668
2672
  if (identifier) input.identifier = identifier;
@@ -2676,7 +2680,7 @@ program.command("install-deps").description("Install dependencies for a workspac
2676
2680
  program.command("cleanup").alias("remove").alias("clean").description("Remove workspaces").argument("[identifier]", "Branch name or issue number to cleanup (auto-detected)").option("-l, --list", "List all worktrees").option("-a, --all", "Remove all worktrees (interactive confirmation)").option("-i, --issue <number>", "Cleanup by issue number", parseIssueIdentifier).option("-f, --force", "Skip confirmations and force removal").option("--dry-run", "Show what would be done without doing it").option("--json", "Output result as JSON").option("--archive", "Archive metadata instead of deleting (preserves loom in il list --finished)").option("--defer <ms>", "Wait specified milliseconds before cleanup", parseInt).action(async (identifier, options) => {
2677
2681
  const executeAction = async () => {
2678
2682
  try {
2679
- const { CleanupCommand } = await import("./cleanup-I62RA5TZ.js");
2683
+ const { CleanupCommand } = await import("./cleanup-Q6PEKMVF.js");
2680
2684
  const command = new CleanupCommand();
2681
2685
  const input = {
2682
2686
  options: options ?? {}
@@ -2840,6 +2844,16 @@ program.command("list").description("Show active workspaces").option("--json", "
2840
2844
  status: "active",
2841
2845
  finishedAt: null
2842
2846
  }));
2847
+ const capabilityDetector = new ProjectCapabilityDetector();
2848
+ for (const loom of activeJson) {
2849
+ if ((!loom.capabilities || loom.capabilities.length === 0) && loom.worktreePath) {
2850
+ try {
2851
+ const { capabilities } = await capabilityDetector.detectCapabilities(loom.worktreePath);
2852
+ loom.capabilities = capabilities;
2853
+ } catch {
2854
+ }
2855
+ }
2856
+ }
2843
2857
  }
2844
2858
  }
2845
2859
  if (currentProjectPath && !options.global) {
@@ -3029,7 +3043,7 @@ program.command("list").description("Show active workspaces").option("--json", "
3029
3043
  });
3030
3044
  program.command("projects").description("List configured iloom projects").option("--json", "Output as JSON (default behavior)").action(async (options) => {
3031
3045
  try {
3032
- const { ProjectsCommand } = await import("./projects-3F6T3KZL.js");
3046
+ const { ProjectsCommand } = await import("./projects-INTNTWRM.js");
3033
3047
  const command = new ProjectsCommand();
3034
3048
  const result = await command.execute(options);
3035
3049
  console.log(JSON.stringify(result, null, 2));
@@ -3040,7 +3054,7 @@ program.command("projects").description("List configured iloom projects").option
3040
3054
  });
3041
3055
  program.command("issues").description("List project issues from configured issue tracker").argument("[project-path]", "Path to project root (auto-detected if omitted)").option("--json", "Output as JSON (default behavior)").option("--limit <n>", "Max issues to return", "100").option("--sprint <name>", 'Jira only: filter by sprint name (e.g., "Sprint 17") or "current" for active sprint').option("--mine", "Show only issues and PRs assigned to me").action(async (projectPath, options) => {
3042
3056
  try {
3043
- const { IssuesCommand } = await import("./issues-2IT7PSNZ.js");
3057
+ const { IssuesCommand } = await import("./issues-W722ILMI.js");
3044
3058
  const command = new IssuesCommand();
3045
3059
  const parsedLimit = parseInt((options == null ? void 0 : options.limit) ?? "100", 10);
3046
3060
  const limit = Number.isNaN(parsedLimit) || parsedLimit <= 0 ? 100 : parsedLimit;
@@ -3058,7 +3072,7 @@ program.command("issues").description("List project issues from configured issue
3058
3072
  });
3059
3073
  program.command("init").alias("config").description("Initialize iloom configuration").argument("[prompt]", 'Custom initial message to send to Claude (defaults to "Help me configure iloom settings.")').addOption(new Option("--accept-defaults").hideHelp()).action(async (prompt, options) => {
3060
3074
  try {
3061
- const { InitCommand } = await import("./init-AMLCFVXG.js");
3075
+ const { InitCommand } = await import("./init-LRNRRFFU.js");
3062
3076
  const command = new InitCommand();
3063
3077
  const trimmedPrompt = prompt == null ? void 0 : prompt.trim();
3064
3078
  const customPrompt = trimmedPrompt && trimmedPrompt.length > 0 ? trimmedPrompt : void 0;
@@ -3072,9 +3086,11 @@ program.command("plan").description("Launch interactive planning session with Ar
3072
3086
  new Option("--one-shot <mode>", "One-shot automation mode").choices(["default", "noReview", "bypassPermissions"])
3073
3087
  ).option("--dangerously-skip-permissions", "Skip Claude permission prompts without skipping confirmation gates").option("--autonomous", "Alias for --one-shot=bypassPermissions (backwards compat)").option("--yolo", "Full autonomy shorthand (--one-shot=bypassPermissions + --auto-swarm)").option("--planner <provider>", "AI provider for planning: claude, gemini, codex (default: claude)").option("--reviewer <provider>", "AI provider for review: claude, gemini, codex, none (default: none)").option("-p, --print", "Enable print/headless mode for CI/CD (uses bypassPermissions)").addOption(
3074
3088
  new Option("--output-format <format>", "Output format for Claude CLI (requires --print)").choices(["json", "stream-json", "text"])
3075
- ).option("--verbose", "Enable verbose output (requires --print)").option("--json", "Output final result as JSON object (requires --print)").option("--json-stream", "Stream JSONL output to stdout in real-time (requires --print)").option("--auto-swarm", "Enable auto-swarm: plan, start epic, and spin automatically").action(async (prompt, options) => {
3089
+ ).option("--verbose", "Enable verbose output (requires --print)").option("--json", "Output final result as JSON object (requires --print)").option("--json-stream", "Stream JSONL output to stdout in real-time (requires --print)").option("--auto-swarm", "Enable auto-swarm: plan, start epic, and spin automatically").addOption(
3090
+ new Option("--effort <level>", "Set effort level for Claude").choices(["low", "medium", "high", "max"])
3091
+ ).action(async (prompt, options) => {
3076
3092
  try {
3077
- const { PlanCommand } = await import("./plan-NJVQBBT3.js");
3093
+ const { PlanCommand } = await import("./plan-2LUGSOYG.js");
3078
3094
  const command = new PlanCommand();
3079
3095
  if ((options == null ? void 0 : options.json) && (options == null ? void 0 : options.jsonStream)) {
3080
3096
  logger.error("--json and --json-stream are mutually exclusive");
@@ -3113,7 +3129,7 @@ program.command("plan").description("Launch interactive planning session with Ar
3113
3129
  ...resolvedOneShot !== void 0 && { oneShot: resolvedOneShot },
3114
3130
  ...resolvedDangerouslySkipPermissions && { dangerouslySkipPermissions: true },
3115
3131
  autoSwarm: resolvedAutoSwarm
3116
- }, options == null ? void 0 : options.planner, options == null ? void 0 : options.reviewer, printOptions);
3132
+ }, options == null ? void 0 : options.planner, options == null ? void 0 : options.reviewer, printOptions, options == null ? void 0 : options.effort);
3117
3133
  } catch (error) {
3118
3134
  logger.error(`Planning session failed: ${error instanceof Error ? error.message : "Unknown error"}`);
3119
3135
  process.exit(1);
@@ -3121,7 +3137,7 @@ program.command("plan").description("Launch interactive planning session with Ar
3121
3137
  });
3122
3138
  program.command("contribute").description("Set up local development environment for contributing to a GitHub project").argument("[repository]", "GitHub repository (owner/repo, github.com/owner/repo, or full URL). Defaults to iloom-ai/iloom-cli").action(async (repository) => {
3123
3139
  try {
3124
- const { ContributeCommand } = await import("./contribute-QWPOT4QR.js");
3140
+ const { ContributeCommand } = await import("./contribute-TCEOVFDN.js");
3125
3141
  const command = new ContributeCommand();
3126
3142
  await command.execute(repository);
3127
3143
  } catch (error) {
@@ -3142,7 +3158,7 @@ program.command("update").description("Update iloom-cli to the latest version").
3142
3158
  program.command("test-github").description("Test GitHub integration (Issue #3)").argument("<identifier>", "Issue number or PR number").option("--no-claude", "Skip Claude for branch name generation").action(async (identifier, options) => {
3143
3159
  try {
3144
3160
  const { GitHubService: GitHubService2 } = await import("./GitHubService-UTAYZXL3.js");
3145
- const { DefaultBranchNamingService } = await import("./BranchNamingService-MEK2WZUD.js");
3161
+ const { DefaultBranchNamingService } = await import("./BranchNamingService-PBP6DY3H.js");
3146
3162
  logger.info("Testing GitHub Integration\n");
3147
3163
  const service = new GitHubService2();
3148
3164
  const branchNaming = new DefaultBranchNamingService({ useClaude: options.claude !== false });
@@ -3200,10 +3216,10 @@ program.command("test-github").description("Test GitHub integration (Issue #3)")
3200
3216
  });
3201
3217
  program.command("test-claude").description("Test Claude integration (Issue #10)").option("--detect", "Test Claude CLI detection").option("--version", "Get Claude CLI version").option("--branch <title>", "Test branch name generation with given title").option("--issue <number>", "Issue number for branch generation", "123").option("--launch <prompt>", "Launch Claude with a prompt (headless)").option("--interactive", "Launch Claude interactively (requires --launch)").option("--template <name>", "Test template loading").action(async (options) => {
3202
3218
  try {
3203
- const { detectClaudeCli, getClaudeVersion, generateBranchName, launchClaude } = await import("./claude-ACL7G4CF.js");
3219
+ const { detectClaudeCli, getClaudeVersion, generateBranchName, launchClaude } = await import("./claude-IYLIOOP7.js");
3204
3220
  const { PromptTemplateManager } = await import("./PromptTemplateManager-QIUVJP6S.js");
3205
- const { ClaudeService } = await import("./ClaudeService-WTJO4UW6.js");
3206
- const { ClaudeContextManager: ClaudeContextManager2 } = await import("./ClaudeContextManager-KJ4VEA2F.js");
3221
+ const { ClaudeService } = await import("./ClaudeService-7BHL2GWC.js");
3222
+ const { ClaudeContextManager: ClaudeContextManager2 } = await import("./ClaudeContextManager-3HT4LEIU.js");
3207
3223
  logger.info("Testing Claude Integration\n");
3208
3224
  if (options.detect) {
3209
3225
  logger.info("Detecting Claude CLI...");
@@ -3338,7 +3354,7 @@ program.command("test-claude").description("Test Claude integration (Issue #10)"
3338
3354
  });
3339
3355
  program.command("test-webserver").description("Test if a web server is running on a workspace port").argument("<issue-number>", "Issue number (port will be calculated as 3000 + issue number)", parseInt).option("--kill", "Kill the web server if detected").action(async (issueNumber, options) => {
3340
3356
  try {
3341
- const { TestWebserverCommand } = await import("./test-webserver-ZN73CM2T.js");
3357
+ const { TestWebserverCommand } = await import("./test-webserver-CPQMUCDD.js");
3342
3358
  const command = new TestWebserverCommand();
3343
3359
  await command.execute({ issueNumber, options });
3344
3360
  } catch (error) {
@@ -3351,7 +3367,7 @@ program.command("test-webserver").description("Test if a web server is running o
3351
3367
  });
3352
3368
  program.command("test-git").description("Test Git integration - findMainWorktreePath() function (reads .iloom/settings.json)").action(async () => {
3353
3369
  try {
3354
- const { TestGitCommand } = await import("./test-git-CQ65OL45.js");
3370
+ const { TestGitCommand } = await import("./test-git-AQ3ZQ4RA.js");
3355
3371
  const command = new TestGitCommand();
3356
3372
  await command.execute();
3357
3373
  } catch (error) {
@@ -3377,7 +3393,7 @@ program.command("test-tabs").description("Test iTerm2 dual tab functionality - o
3377
3393
  });
3378
3394
  program.command("test-prefix").description("[DEPRECATED] Test worktree prefix configuration - preview worktree paths").action(async () => {
3379
3395
  try {
3380
- const { TestPrefixCommand } = await import("./test-prefix-HMTZSS67.js");
3396
+ const { TestPrefixCommand } = await import("./test-prefix-OTY2HBSB.js");
3381
3397
  const command = new TestPrefixCommand();
3382
3398
  await command.execute();
3383
3399
  } catch (error) {
@@ -3391,7 +3407,7 @@ program.command("test-prefix").description("[DEPRECATED] Test worktree prefix co
3391
3407
  program.command("summary").description("Generate Claude session summary for a loom").argument("[identifier]", "Issue number, PR number (pr/123), or branch name (auto-detected if omitted)").option("--with-comment", "Post summary as a comment to the issue/PR").option("--json", "Output result as JSON").action(async (identifier, options) => {
3392
3408
  const executeAction = async () => {
3393
3409
  try {
3394
- const { SummaryCommand } = await import("./summary-BVYOM63C.js");
3410
+ const { SummaryCommand } = await import("./summary-TVLBZNKY.js");
3395
3411
  const command = new SummaryCommand();
3396
3412
  const result = await command.execute({ identifier, options });
3397
3413
  if (options.json && result) {
@@ -3421,7 +3437,7 @@ program.command("summary").description("Generate Claude session summary for a lo
3421
3437
  program.command("recap").description("Get recap for a loom (defaults to current directory)").argument("[identifier]", "Issue number, PR number (pr/123), or branch name (auto-detected if omitted)").option("--json", "Output as JSON with filePath for file watching").action(async (identifier, options) => {
3422
3438
  const executeAction = async () => {
3423
3439
  try {
3424
- const { RecapCommand } = await import("./recap-XDKI3MTA.js");
3440
+ const { RecapCommand } = await import("./recap-XXLLMETY.js");
3425
3441
  const command = new RecapCommand();
3426
3442
  const result = await command.execute({ identifier, json: options.json });
3427
3443
  if (options.json && result) {
@@ -3451,7 +3467,7 @@ program.command("recap").description("Get recap for a loom (defaults to current
3451
3467
  var testJiraCommand = program.command("test-jira").description("Test Jira integration methods against a real Jira instance");
3452
3468
  testJiraCommand.command("child-issue").description("Create a test child issue under a parent").argument("<parentKey>", "Parent issue key (e.g., PROJ-123)").action(async (parentKey) => {
3453
3469
  try {
3454
- const { TestJiraCommand } = await import("./test-jira-CQQHGZ3S.js");
3470
+ const { TestJiraCommand } = await import("./test-jira-7XQ63U2C.js");
3455
3471
  await new TestJiraCommand().createChildIssue(parentKey);
3456
3472
  } catch (error) {
3457
3473
  logger.error(`Failed: ${error instanceof Error ? error.message : "Unknown error"}`);
@@ -3460,7 +3476,7 @@ testJiraCommand.command("child-issue").description("Create a test child issue un
3460
3476
  });
3461
3477
  testJiraCommand.command("create-dep").description('Create a "Blocks" dependency between two issues').argument("<blockingKey>", "Issue key that blocks (e.g., PROJ-100)").argument("<blockedKey>", "Issue key being blocked (e.g., PROJ-200)").action(async (blockingKey, blockedKey) => {
3462
3478
  try {
3463
- const { TestJiraCommand } = await import("./test-jira-CQQHGZ3S.js");
3479
+ const { TestJiraCommand } = await import("./test-jira-7XQ63U2C.js");
3464
3480
  await new TestJiraCommand().createDependency(blockingKey, blockedKey);
3465
3481
  } catch (error) {
3466
3482
  logger.error(`Failed: ${error instanceof Error ? error.message : "Unknown error"}`);
@@ -3469,7 +3485,7 @@ testJiraCommand.command("create-dep").description('Create a "Blocks" dependency
3469
3485
  });
3470
3486
  testJiraCommand.command("get-deps").description("Fetch and print dependencies for an issue").argument("<issueKey>", "Issue key (e.g., PROJ-123)").action(async (issueKey) => {
3471
3487
  try {
3472
- const { TestJiraCommand } = await import("./test-jira-CQQHGZ3S.js");
3488
+ const { TestJiraCommand } = await import("./test-jira-7XQ63U2C.js");
3473
3489
  await new TestJiraCommand().getDependencies(issueKey);
3474
3490
  } catch (error) {
3475
3491
  logger.error(`Failed: ${error instanceof Error ? error.message : "Unknown error"}`);
@@ -3478,7 +3494,7 @@ testJiraCommand.command("get-deps").description("Fetch and print dependencies fo
3478
3494
  });
3479
3495
  testJiraCommand.command("remove-dep").description('Remove a "Blocks" dependency between two issues').argument("<blockingKey>", "Issue key that blocks (e.g., PROJ-100)").argument("<blockedKey>", "Issue key being blocked (e.g., PROJ-200)").action(async (blockingKey, blockedKey) => {
3480
3496
  try {
3481
- const { TestJiraCommand } = await import("./test-jira-CQQHGZ3S.js");
3497
+ const { TestJiraCommand } = await import("./test-jira-7XQ63U2C.js");
3482
3498
  await new TestJiraCommand().removeDependency(blockingKey, blockedKey);
3483
3499
  } catch (error) {
3484
3500
  logger.error(`Failed: ${error instanceof Error ? error.message : "Unknown error"}`);
@@ -3487,7 +3503,7 @@ testJiraCommand.command("remove-dep").description('Remove a "Blocks" dependency
3487
3503
  });
3488
3504
  testJiraCommand.command("get-children").description("List child issues of a parent").argument("<issueKey>", "Parent issue key (e.g., PROJ-123)").action(async (issueKey) => {
3489
3505
  try {
3490
- const { TestJiraCommand } = await import("./test-jira-CQQHGZ3S.js");
3506
+ const { TestJiraCommand } = await import("./test-jira-7XQ63U2C.js");
3491
3507
  await new TestJiraCommand().getChildIssues(issueKey);
3492
3508
  } catch (error) {
3493
3509
  logger.error(`Failed: ${error instanceof Error ? error.message : "Unknown error"}`);
@@ -3497,7 +3513,7 @@ testJiraCommand.command("get-children").description("List child issues of a pare
3497
3513
  program.command("test-neon").description("Test Neon integration and debug configuration").action(async () => {
3498
3514
  var _a2;
3499
3515
  try {
3500
- const { SettingsManager: SettingsManager2 } = await import("./SettingsManager-PVHBSCMI.js");
3516
+ const { SettingsManager: SettingsManager2 } = await import("./SettingsManager-Y5OU5HCX.js");
3501
3517
  const { createNeonProviderFromSettings: createNeonProviderFromSettings2 } = await import("./neon-helpers-LCZAN4U4.js");
3502
3518
  logger.info("Testing Neon Integration\n");
3503
3519
  logger.info("1. Settings Configuration:");