@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.
- package/LICENSE +1 -1
- package/README.md +1 -1
- package/dist/{BranchNamingService-MEK2WZUD.js → BranchNamingService-PBP6DY3H.js} +2 -2
- package/dist/{ClaudeContextManager-KJ4VEA2F.js → ClaudeContextManager-3HT4LEIU.js} +5 -5
- package/dist/{ClaudeService-WTJO4UW6.js → ClaudeService-7BHL2GWC.js} +4 -4
- package/dist/{IssueTrackerFactory-UEJALI4X.js → IssueTrackerFactory-JH34S4GX.js} +3 -3
- package/dist/{LoomLauncher-KG2VBNQA.js → LoomLauncher-RGXJOCMC.js} +8 -5
- package/dist/LoomLauncher-RGXJOCMC.js.map +1 -0
- package/dist/{MetadataManager-HHE6LQF2.js → MetadataManager-WKM7JJIO.js} +2 -2
- package/dist/README.md +1 -1
- package/dist/{SettingsManager-PVHBSCMI.js → SettingsManager-Y5OU5HCX.js} +4 -2
- package/dist/agents/CLAUDE.md +12 -7
- package/dist/agents/iloom-code-reviewer.md +2 -1
- package/dist/agents/iloom-framework-detector.md +56 -9
- package/dist/agents/iloom-issue-analyze-and-plan.md +1 -0
- package/dist/agents/iloom-issue-analyzer.md +1 -0
- package/dist/agents/iloom-issue-complexity-evaluator.md +1 -0
- package/dist/agents/iloom-issue-enhancer.md +2 -1
- package/dist/agents/iloom-issue-implementer.md +4 -1
- package/dist/agents/iloom-issue-planner.md +2 -1
- package/dist/agents/iloom-wave-verifier.md +1 -0
- package/dist/{build-2FXDYEZQ.js → build-NJJT6UHO.js} +7 -7
- package/dist/{chunk-VUIPDX3T.js → chunk-27CQSBUG.js} +2 -2
- package/dist/{chunk-YVNG35OW.js → chunk-2Z4VKQND.js} +2 -2
- package/dist/{chunk-UQWMPQ2Q.js → chunk-4QROZMPZ.js} +3 -3
- package/dist/{chunk-U2OPXZ6E.js → chunk-5NVJ6N3C.js} +7 -7
- package/dist/{chunk-2WRD6Y5E.js → chunk-5VP2HAWF.js} +2 -2
- package/dist/{chunk-CQHHEW2M.js → chunk-5WJN63T4.js} +1 -1
- package/dist/chunk-5WJN63T4.js.map +1 -0
- package/dist/{chunk-H4TSDALC.js → chunk-64K5SZXC.js} +6 -6
- package/dist/{chunk-5W44AI63.js → chunk-6FHFHMNF.js} +4 -4
- package/dist/{chunk-XC5JKRSH.js → chunk-6RKZDUTQ.js} +2 -2
- package/dist/{chunk-RP6MHV24.js → chunk-7VSOM25S.js} +20 -15
- package/dist/chunk-7VSOM25S.js.map +1 -0
- package/dist/{chunk-UMAOVKQX.js → chunk-CSJ7JNJV.js} +3 -3
- package/dist/{chunk-AQUSMNBF.js → chunk-CWRQ4NU4.js} +2 -2
- package/dist/{chunk-R2EFSRKR.js → chunk-EBPFEM5X.js} +16 -15
- package/dist/chunk-EBPFEM5X.js.map +1 -0
- package/dist/{chunk-OMV47LLA.js → chunk-FPM6XDEO.js} +2 -2
- package/dist/{chunk-DYLOITSO.js → chunk-HMMDNIKG.js} +38 -31
- package/dist/chunk-HMMDNIKG.js.map +1 -0
- package/dist/{chunk-XIVLGWUX.js → chunk-JDXJIPXR.js} +3 -1
- package/dist/chunk-JDXJIPXR.js.map +1 -0
- package/dist/{chunk-ZWXJ7G2C.js → chunk-JIMFSNZI.js} +2 -2
- package/dist/{chunk-D6FU4DLN.js → chunk-LULQYBRA.js} +2 -2
- package/dist/{chunk-DDHWZNGL.js → chunk-MB4CB7Q4.js} +6 -5
- package/dist/chunk-MB4CB7Q4.js.map +1 -0
- package/dist/{chunk-OHX3PSAY.js → chunk-MZPVETJH.js} +7 -15
- package/dist/chunk-MZPVETJH.js.map +1 -0
- package/dist/{chunk-OIJNBFMP.js → chunk-OSWL7YDO.js} +2 -2
- package/dist/{chunk-32D4CWWH.js → chunk-R2RGFNR4.js} +2 -2
- package/dist/{chunk-MPHSR6GA.js → chunk-R4Y2ZBOL.js} +5 -5
- package/dist/{chunk-L3P3YJCE.js → chunk-RLFS5KHU.js} +3 -3
- package/dist/{chunk-DMNI225H.js → chunk-SM2YM3YR.js} +4 -4
- package/dist/{chunk-MNPKEWBQ.js → chunk-UVZBZ5IF.js} +52 -1
- package/dist/chunk-UVZBZ5IF.js.map +1 -0
- package/dist/{chunk-Y2JHYPMX.js → chunk-VG7UFVF2.js} +47 -35
- package/dist/chunk-VG7UFVF2.js.map +1 -0
- package/dist/{chunk-OVW26FHW.js → chunk-VQ3Y3PVT.js} +2 -2
- package/dist/{chunk-PH65MFQM.js → chunk-Y2TPRF5H.js} +3 -3
- package/dist/{claude-ACL7G4CF.js → claude-IYLIOOP7.js} +2 -2
- package/dist/{cleanup-I62RA5TZ.js → cleanup-Q6PEKMVF.js} +18 -18
- package/dist/cli.js +93 -77
- package/dist/cli.js.map +1 -1
- package/dist/{commit-7RI2JFFW.js → commit-JKZQYNEB.js} +8 -8
- package/dist/{compile-NWTMKAGL.js → compile-QEMZDLKO.js} +7 -7
- package/dist/{contribute-QWPOT4QR.js → contribute-TCEOVFDN.js} +4 -4
- package/dist/{dev-server-OZ6KKKTR.js → dev-server-25BIZKTB.js} +12 -12
- package/dist/{feedback-G63MODT2.js → feedback-CQ42GFZE.js} +7 -7
- package/dist/{git-ZTMT6OAI.js → git-HWDX2KWU.js} +4 -4
- package/dist/{ignite-GUYKYC5G.js → ignite-25QLX2FS.js} +13 -13
- package/dist/index.d.ts +1764 -1709
- package/dist/index.js +105 -8
- package/dist/index.js.map +1 -1
- package/dist/{init-AMLCFVXG.js → init-LRNRRFFU.js} +8 -8
- package/dist/{install-deps-XS2UUCUS.js → install-deps-DHFHT3KI.js} +7 -7
- package/dist/{issues-2IT7PSNZ.js → issues-W722ILMI.js} +5 -5
- package/dist/{lint-DKWJHET3.js → lint-TZDEPVKN.js} +7 -7
- package/dist/mcp/issue-management-server.js +39 -0
- package/dist/mcp/issue-management-server.js.map +1 -1
- package/dist/mcp/recap-server.js +2 -2
- package/dist/mcp/recap-server.js.map +1 -1
- package/dist/{open-6PXNIPXS.js → open-BCQSZYAD.js} +12 -12
- package/dist/{plan-NJVQBBT3.js → plan-2LUGSOYG.js} +30 -28
- package/dist/plan-2LUGSOYG.js.map +1 -0
- package/dist/{projects-3F6T3KZL.js → projects-INTNTWRM.js} +2 -2
- package/dist/prompts/init-prompt.txt +72 -4
- package/dist/prompts/issue-prompt.txt +6 -3
- package/dist/prompts/pr-prompt.txt +3 -2
- package/dist/prompts/regular-prompt.txt +3 -2
- package/dist/prompts/session-summary-prompt.txt +2 -1
- package/dist/prompts/swarm-orchestrator-prompt.txt +2 -2
- package/dist/{rebase-6AXN45AE.js → rebase-ZKZKKQKB.js} +7 -7
- package/dist/{recap-XDKI3MTA.js → recap-XXLLMETY.js} +7 -7
- package/dist/{run-RHE5NPDT.js → run-5P5ULYZY.js} +12 -12
- package/dist/schema/settings.schema.json +50 -0
- package/dist/{shell-XOILFEZW.js → shell-GNDHII2J.js} +6 -6
- package/dist/{summary-BVYOM63C.js → summary-TVLBZNKY.js} +10 -10
- package/dist/{test-6T2UMQ7T.js → test-T5K7FOKQ.js} +7 -7
- package/dist/{test-git-CQ65OL45.js → test-git-AQ3ZQ4RA.js} +4 -4
- package/dist/{test-jira-CQQHGZ3S.js → test-jira-7XQ63U2C.js} +3 -3
- package/dist/{test-prefix-HMTZSS67.js → test-prefix-OTY2HBSB.js} +4 -4
- package/dist/{test-webserver-ZN73CM2T.js → test-webserver-CPQMUCDD.js} +6 -6
- package/dist/{vscode-ABQ5ZSH7.js → vscode-M4KRTKZK.js} +6 -6
- package/package.json +1 -1
- package/dist/LoomLauncher-KG2VBNQA.js.map +0 -1
- package/dist/chunk-CQHHEW2M.js.map +0 -1
- package/dist/chunk-DDHWZNGL.js.map +0 -1
- package/dist/chunk-DYLOITSO.js.map +0 -1
- package/dist/chunk-MNPKEWBQ.js.map +0 -1
- package/dist/chunk-OHX3PSAY.js.map +0 -1
- package/dist/chunk-R2EFSRKR.js.map +0 -1
- package/dist/chunk-RP6MHV24.js.map +0 -1
- package/dist/chunk-XIVLGWUX.js.map +0 -1
- package/dist/chunk-Y2JHYPMX.js.map +0 -1
- package/dist/plan-NJVQBBT3.js.map +0 -1
- /package/dist/{BranchNamingService-MEK2WZUD.js.map → BranchNamingService-PBP6DY3H.js.map} +0 -0
- /package/dist/{ClaudeContextManager-KJ4VEA2F.js.map → ClaudeContextManager-3HT4LEIU.js.map} +0 -0
- /package/dist/{ClaudeService-WTJO4UW6.js.map → ClaudeService-7BHL2GWC.js.map} +0 -0
- /package/dist/{IssueTrackerFactory-UEJALI4X.js.map → IssueTrackerFactory-JH34S4GX.js.map} +0 -0
- /package/dist/{MetadataManager-HHE6LQF2.js.map → MetadataManager-WKM7JJIO.js.map} +0 -0
- /package/dist/{SettingsManager-PVHBSCMI.js.map → SettingsManager-Y5OU5HCX.js.map} +0 -0
- /package/dist/{build-2FXDYEZQ.js.map → build-NJJT6UHO.js.map} +0 -0
- /package/dist/{chunk-VUIPDX3T.js.map → chunk-27CQSBUG.js.map} +0 -0
- /package/dist/{chunk-YVNG35OW.js.map → chunk-2Z4VKQND.js.map} +0 -0
- /package/dist/{chunk-UQWMPQ2Q.js.map → chunk-4QROZMPZ.js.map} +0 -0
- /package/dist/{chunk-U2OPXZ6E.js.map → chunk-5NVJ6N3C.js.map} +0 -0
- /package/dist/{chunk-2WRD6Y5E.js.map → chunk-5VP2HAWF.js.map} +0 -0
- /package/dist/{chunk-H4TSDALC.js.map → chunk-64K5SZXC.js.map} +0 -0
- /package/dist/{chunk-5W44AI63.js.map → chunk-6FHFHMNF.js.map} +0 -0
- /package/dist/{chunk-XC5JKRSH.js.map → chunk-6RKZDUTQ.js.map} +0 -0
- /package/dist/{chunk-UMAOVKQX.js.map → chunk-CSJ7JNJV.js.map} +0 -0
- /package/dist/{chunk-AQUSMNBF.js.map → chunk-CWRQ4NU4.js.map} +0 -0
- /package/dist/{chunk-OMV47LLA.js.map → chunk-FPM6XDEO.js.map} +0 -0
- /package/dist/{chunk-ZWXJ7G2C.js.map → chunk-JIMFSNZI.js.map} +0 -0
- /package/dist/{chunk-D6FU4DLN.js.map → chunk-LULQYBRA.js.map} +0 -0
- /package/dist/{chunk-OIJNBFMP.js.map → chunk-OSWL7YDO.js.map} +0 -0
- /package/dist/{chunk-32D4CWWH.js.map → chunk-R2RGFNR4.js.map} +0 -0
- /package/dist/{chunk-MPHSR6GA.js.map → chunk-R4Y2ZBOL.js.map} +0 -0
- /package/dist/{chunk-L3P3YJCE.js.map → chunk-RLFS5KHU.js.map} +0 -0
- /package/dist/{chunk-DMNI225H.js.map → chunk-SM2YM3YR.js.map} +0 -0
- /package/dist/{chunk-OVW26FHW.js.map → chunk-VQ3Y3PVT.js.map} +0 -0
- /package/dist/{chunk-PH65MFQM.js.map → chunk-Y2TPRF5H.js.map} +0 -0
- /package/dist/{claude-ACL7G4CF.js.map → claude-IYLIOOP7.js.map} +0 -0
- /package/dist/{cleanup-I62RA5TZ.js.map → cleanup-Q6PEKMVF.js.map} +0 -0
- /package/dist/{commit-7RI2JFFW.js.map → commit-JKZQYNEB.js.map} +0 -0
- /package/dist/{compile-NWTMKAGL.js.map → compile-QEMZDLKO.js.map} +0 -0
- /package/dist/{contribute-QWPOT4QR.js.map → contribute-TCEOVFDN.js.map} +0 -0
- /package/dist/{dev-server-OZ6KKKTR.js.map → dev-server-25BIZKTB.js.map} +0 -0
- /package/dist/{feedback-G63MODT2.js.map → feedback-CQ42GFZE.js.map} +0 -0
- /package/dist/{git-ZTMT6OAI.js.map → git-HWDX2KWU.js.map} +0 -0
- /package/dist/{ignite-GUYKYC5G.js.map → ignite-25QLX2FS.js.map} +0 -0
- /package/dist/{init-AMLCFVXG.js.map → init-LRNRRFFU.js.map} +0 -0
- /package/dist/{install-deps-XS2UUCUS.js.map → install-deps-DHFHT3KI.js.map} +0 -0
- /package/dist/{issues-2IT7PSNZ.js.map → issues-W722ILMI.js.map} +0 -0
- /package/dist/{lint-DKWJHET3.js.map → lint-TZDEPVKN.js.map} +0 -0
- /package/dist/{open-6PXNIPXS.js.map → open-BCQSZYAD.js.map} +0 -0
- /package/dist/{projects-3F6T3KZL.js.map → projects-INTNTWRM.js.map} +0 -0
- /package/dist/{rebase-6AXN45AE.js.map → rebase-ZKZKKQKB.js.map} +0 -0
- /package/dist/{recap-XDKI3MTA.js.map → recap-XXLLMETY.js.map} +0 -0
- /package/dist/{run-RHE5NPDT.js.map → run-5P5ULYZY.js.map} +0 -0
- /package/dist/{shell-XOILFEZW.js.map → shell-GNDHII2J.js.map} +0 -0
- /package/dist/{summary-BVYOM63C.js.map → summary-TVLBZNKY.js.map} +0 -0
- /package/dist/{test-6T2UMQ7T.js.map → test-T5K7FOKQ.js.map} +0 -0
- /package/dist/{test-git-CQ65OL45.js.map → test-git-AQ3ZQ4RA.js.map} +0 -0
- /package/dist/{test-jira-CQQHGZ3S.js.map → test-jira-7XQ63U2C.js.map} +0 -0
- /package/dist/{test-prefix-HMTZSS67.js.map → test-prefix-OTY2HBSB.js.map} +0 -0
- /package/dist/{test-webserver-ZN73CM2T.js.map → test-webserver-CPQMUCDD.js.map} +0 -0
- /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-
|
|
4
|
+
} from "./chunk-5NVJ6N3C.js";
|
|
5
5
|
import "./chunk-NXMDEL3F.js";
|
|
6
6
|
import {
|
|
7
7
|
ResourceCleanup
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
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-
|
|
14
|
+
} from "./chunk-EBPFEM5X.js";
|
|
15
15
|
import {
|
|
16
16
|
CLIIsolationManager,
|
|
17
17
|
DatabaseManager,
|
|
18
18
|
EnvironmentManager,
|
|
19
19
|
LoomManager
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-HMMDNIKG.js";
|
|
21
21
|
import {
|
|
22
22
|
PRManager,
|
|
23
23
|
VCSProviderFactory
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-RLFS5KHU.js";
|
|
25
25
|
import {
|
|
26
26
|
BuildRunner,
|
|
27
27
|
MergeManager
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-R4Y2ZBOL.js";
|
|
29
29
|
import {
|
|
30
30
|
assembleChildrenData
|
|
31
|
-
} from "./chunk-
|
|
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-
|
|
37
|
-
import "./chunk-
|
|
36
|
+
} from "./chunk-5VP2HAWF.js";
|
|
37
|
+
import "./chunk-2Z4VKQND.js";
|
|
38
38
|
import {
|
|
39
39
|
IdentifierParser
|
|
40
|
-
} from "./chunk-
|
|
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-
|
|
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-
|
|
54
|
+
} from "./chunk-Y2TPRF5H.js";
|
|
55
55
|
import {
|
|
56
56
|
capitalizeFirstLetter
|
|
57
57
|
} from "./chunk-4E7LCFUG.js";
|
|
58
|
-
import "./chunk-
|
|
58
|
+
import "./chunk-5WJN63T4.js";
|
|
59
59
|
import {
|
|
60
60
|
AgentManager
|
|
61
|
-
} from "./chunk-
|
|
61
|
+
} from "./chunk-7VSOM25S.js";
|
|
62
62
|
import {
|
|
63
63
|
CommitManager,
|
|
64
|
-
UserAbortedCommitError,
|
|
65
64
|
ValidationRunner
|
|
66
|
-
} from "./chunk-
|
|
65
|
+
} from "./chunk-MZPVETJH.js";
|
|
67
66
|
import {
|
|
68
67
|
IssueManagementProviderFactory
|
|
69
|
-
} from "./chunk-
|
|
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-
|
|
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-
|
|
88
|
-
import "./chunk-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
127
|
+
} from "./chunk-6FHFHMNF.js";
|
|
129
128
|
import {
|
|
130
|
-
SettingsManager
|
|
131
|
-
|
|
129
|
+
SettingsManager,
|
|
130
|
+
UserAbortedCommitError
|
|
131
|
+
} from "./chunk-UVZBZ5IF.js";
|
|
132
132
|
import {
|
|
133
133
|
MetadataManager
|
|
134
|
-
} from "./chunk-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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").
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
3206
|
-
const { ClaudeContextManager: ClaudeContextManager2 } = await import("./ClaudeContextManager-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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:");
|