@iloom/cli 0.13.1 → 0.13.3
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/CLAUDE.md +66 -0
- package/dist/{ClaudeContextManager-ZH6LEA5I.js → ClaudeContextManager-KJ4VEA2F.js} +5 -5
- package/dist/{ClaudeService-YR66WXZN.js → ClaudeService-WTJO4UW6.js} +4 -4
- package/dist/{IssueTrackerFactory-O2ZBA666.js → IssueTrackerFactory-UEJALI4X.js} +3 -3
- package/dist/{LoomLauncher-V54ENBEF.js → LoomLauncher-KG2VBNQA.js} +5 -5
- package/dist/{PromptTemplateManager-4RFELNYY.js → PromptTemplateManager-QIUVJP6S.js} +2 -2
- package/dist/README.md +1 -1
- package/dist/{SettingsManager-SLSYEYDZ.js → SettingsManager-PVHBSCMI.js} +2 -2
- package/dist/agents/CLAUDE.md +68 -0
- package/dist/agents/iloom-code-reviewer.md +1 -0
- package/dist/agents/iloom-wave-verifier.md +1 -36
- package/dist/{build-ZTGWDHWU.js → build-2FXDYEZQ.js} +6 -6
- package/dist/{chunk-LNY2Y32V.js → chunk-2WRD6Y5E.js} +2 -2
- package/dist/{chunk-WYDLOQYO.js → chunk-32D4CWWH.js} +2 -2
- package/dist/{chunk-KGOBNC5A.js → chunk-5W44AI63.js} +3 -3
- package/dist/{chunk-PPQ5LV7U.js → chunk-D6FU4DLN.js} +2 -2
- package/dist/{chunk-PS6K2AOV.js → chunk-DMNI225H.js} +4 -4
- package/dist/{chunk-55NTREIU.js → chunk-DYLOITSO.js} +55 -35
- package/dist/chunk-DYLOITSO.js.map +1 -0
- package/dist/{chunk-T4KFKKEB.js → chunk-H4TSDALC.js} +6 -6
- package/dist/{chunk-J5JOJPK3.js → chunk-L3P3YJCE.js} +2 -2
- package/dist/{chunk-MRPIDNZU.js → chunk-LDE6VNG5.js} +1 -1
- package/dist/chunk-LDE6VNG5.js.map +1 -0
- package/dist/{chunk-F5NKWLMQ.js → chunk-MNPKEWBQ.js} +9 -5
- package/dist/chunk-MNPKEWBQ.js.map +1 -0
- package/dist/{chunk-EHAITKLS.js → chunk-MPHSR6GA.js} +3 -3
- package/dist/{chunk-HWDQRW3O.js → chunk-OHX3PSAY.js} +2 -2
- package/dist/{chunk-C2BVNJW5.js → chunk-OIJNBFMP.js} +2 -2
- package/dist/{chunk-TJDKGKQV.js → chunk-OMV47LLA.js} +2 -2
- package/dist/{chunk-P5MNWBLH.js → chunk-OVW26FHW.js} +19 -7
- package/dist/chunk-OVW26FHW.js.map +1 -0
- package/dist/{chunk-QNRXRSKC.js → chunk-RP6MHV24.js} +9 -9
- package/dist/chunk-RP6MHV24.js.map +1 -0
- package/dist/{chunk-UXBVDD7U.js → chunk-U2OPXZ6E.js} +282 -44
- package/dist/chunk-U2OPXZ6E.js.map +1 -0
- package/dist/{chunk-T4NESGYB.js → chunk-UMAOVKQX.js} +3 -3
- package/dist/{chunk-E5OM25WK.js → chunk-UQWMPQ2Q.js} +2 -2
- package/dist/{chunk-ZEFTWM5Z.js → chunk-VUIPDX3T.js} +2 -2
- package/dist/{chunk-GQDVH6FA.js → chunk-XC5JKRSH.js} +2 -2
- package/dist/{chunk-G2DGDCDP.js → chunk-Y2JHYPMX.js} +15 -13
- package/dist/chunk-Y2JHYPMX.js.map +1 -0
- package/dist/{chunk-ERMEYFT6.js → chunk-YVNG35OW.js} +2 -2
- package/dist/{chunk-7TN5VW4I.js → chunk-Z32HPRZF.js} +2 -1
- package/dist/chunk-Z32HPRZF.js.map +1 -0
- package/dist/{chunk-KCAWSZUO.js → chunk-Z3ZEJN3W.js} +13 -13
- package/dist/{chunk-GPBX2BY2.js → chunk-ZWXJ7G2C.js} +2 -2
- package/dist/{cleanup-BCVY7PEF.js → cleanup-W5FP3UKK.js} +16 -16
- package/dist/cli.js +115 -68
- package/dist/cli.js.map +1 -1
- package/dist/{commit-L5JNBU4U.js → commit-7RI2JFFW.js} +6 -6
- package/dist/{compile-GPJOHXH4.js → compile-NWTMKAGL.js} +6 -6
- package/dist/{contribute-QEGCI4PS.js → contribute-QWPOT4QR.js} +3 -3
- package/dist/{dev-server-UQKNKU2S.js → dev-server-U2XUN57X.js} +61 -30
- package/dist/dev-server-U2XUN57X.js.map +1 -0
- package/dist/{feedback-2LWXKLQZ.js → feedback-M43SGGK2.js} +4 -4
- package/dist/{git-IS7AV3ED.js → git-ZTMT6OAI.js} +3 -3
- package/dist/{ignite-VQDJQ37S.js → ignite-GUYKYC5G.js} +11 -11
- package/dist/index.d.ts +30 -3
- package/dist/index.js +8 -4
- package/dist/index.js.map +1 -1
- package/dist/{init-7SDJUAEZ.js → init-AMLCFVXG.js} +9 -7
- package/dist/init-AMLCFVXG.js.map +1 -0
- package/dist/{install-deps-NGSFDNUW.js → install-deps-XS2UUCUS.js} +6 -6
- package/dist/{issues-4HQKEUP7.js → issues-2IT7PSNZ.js} +4 -4
- package/dist/{lint-C5FOVRXY.js → lint-DKWJHET3.js} +6 -6
- package/dist/mcp/issue-management-server.js +8 -4
- package/dist/mcp/issue-management-server.js.map +1 -1
- package/dist/{open-2HL6GV5F.js → open-XIUV5JMJ.js} +16 -15
- package/dist/open-XIUV5JMJ.js.map +1 -0
- package/dist/{plan-GC3HF73T.js → plan-UPYDB34J.js} +20 -20
- package/dist/prompts/epic-report-prompt.txt +145 -0
- package/dist/prompts/init-prompt.txt +32 -9
- package/dist/prompts/issue-prompt.txt +1 -1
- package/dist/prompts/swarm-orchestrator-prompt.txt +50 -6
- package/dist/{rebase-MLIN572O.js → rebase-6AXN45AE.js} +5 -5
- package/dist/{recap-CKGKFDJL.js → recap-XDKI3MTA.js} +6 -6
- package/dist/{run-CUNRQNZS.js → run-VOGGJGPO.js} +19 -19
- package/dist/run-VOGGJGPO.js.map +1 -0
- package/dist/schema/settings.schema.json +14 -0
- package/dist/{shell-M2YYPNGV.js → shell-XOILFEZW.js} +5 -5
- package/dist/{summary-XR4CBJEG.js → summary-BVYOM63C.js} +10 -8
- package/dist/{summary-XR4CBJEG.js.map → summary-BVYOM63C.js.map} +1 -1
- package/dist/{test-ESDAHEVE.js → test-6T2UMQ7T.js} +6 -6
- package/dist/{test-git-KWPLHYSI.js → test-git-CQ65OL45.js} +3 -3
- package/dist/{test-jira-6NK7UHSV.js → test-jira-CQQHGZ3S.js} +3 -3
- package/dist/{test-prefix-VVODGHXP.js → test-prefix-HMTZSS67.js} +3 -3
- package/dist/{test-webserver-AHXKC6H4.js → test-webserver-ZN73CM2T.js} +5 -5
- package/dist/{vscode-OY7HOVRO.js → vscode-ABQ5ZSH7.js} +5 -5
- package/package.json +1 -1
- package/dist/chunk-55NTREIU.js.map +0 -1
- package/dist/chunk-7TN5VW4I.js.map +0 -1
- package/dist/chunk-F5NKWLMQ.js.map +0 -1
- package/dist/chunk-G2DGDCDP.js.map +0 -1
- package/dist/chunk-MRPIDNZU.js.map +0 -1
- package/dist/chunk-P5MNWBLH.js.map +0 -1
- package/dist/chunk-QNRXRSKC.js.map +0 -1
- package/dist/chunk-UXBVDD7U.js.map +0 -1
- package/dist/dev-server-UQKNKU2S.js.map +0 -1
- package/dist/init-7SDJUAEZ.js.map +0 -1
- package/dist/open-2HL6GV5F.js.map +0 -1
- package/dist/run-CUNRQNZS.js.map +0 -1
- /package/dist/{ClaudeContextManager-ZH6LEA5I.js.map → ClaudeContextManager-KJ4VEA2F.js.map} +0 -0
- /package/dist/{ClaudeService-YR66WXZN.js.map → ClaudeService-WTJO4UW6.js.map} +0 -0
- /package/dist/{IssueTrackerFactory-O2ZBA666.js.map → IssueTrackerFactory-UEJALI4X.js.map} +0 -0
- /package/dist/{LoomLauncher-V54ENBEF.js.map → LoomLauncher-KG2VBNQA.js.map} +0 -0
- /package/dist/{PromptTemplateManager-4RFELNYY.js.map → PromptTemplateManager-QIUVJP6S.js.map} +0 -0
- /package/dist/{SettingsManager-SLSYEYDZ.js.map → SettingsManager-PVHBSCMI.js.map} +0 -0
- /package/dist/{build-ZTGWDHWU.js.map → build-2FXDYEZQ.js.map} +0 -0
- /package/dist/{chunk-LNY2Y32V.js.map → chunk-2WRD6Y5E.js.map} +0 -0
- /package/dist/{chunk-WYDLOQYO.js.map → chunk-32D4CWWH.js.map} +0 -0
- /package/dist/{chunk-KGOBNC5A.js.map → chunk-5W44AI63.js.map} +0 -0
- /package/dist/{chunk-PPQ5LV7U.js.map → chunk-D6FU4DLN.js.map} +0 -0
- /package/dist/{chunk-PS6K2AOV.js.map → chunk-DMNI225H.js.map} +0 -0
- /package/dist/{chunk-T4KFKKEB.js.map → chunk-H4TSDALC.js.map} +0 -0
- /package/dist/{chunk-J5JOJPK3.js.map → chunk-L3P3YJCE.js.map} +0 -0
- /package/dist/{chunk-EHAITKLS.js.map → chunk-MPHSR6GA.js.map} +0 -0
- /package/dist/{chunk-HWDQRW3O.js.map → chunk-OHX3PSAY.js.map} +0 -0
- /package/dist/{chunk-C2BVNJW5.js.map → chunk-OIJNBFMP.js.map} +0 -0
- /package/dist/{chunk-TJDKGKQV.js.map → chunk-OMV47LLA.js.map} +0 -0
- /package/dist/{chunk-T4NESGYB.js.map → chunk-UMAOVKQX.js.map} +0 -0
- /package/dist/{chunk-E5OM25WK.js.map → chunk-UQWMPQ2Q.js.map} +0 -0
- /package/dist/{chunk-ZEFTWM5Z.js.map → chunk-VUIPDX3T.js.map} +0 -0
- /package/dist/{chunk-GQDVH6FA.js.map → chunk-XC5JKRSH.js.map} +0 -0
- /package/dist/{chunk-ERMEYFT6.js.map → chunk-YVNG35OW.js.map} +0 -0
- /package/dist/{chunk-KCAWSZUO.js.map → chunk-Z3ZEJN3W.js.map} +0 -0
- /package/dist/{chunk-GPBX2BY2.js.map → chunk-ZWXJ7G2C.js.map} +0 -0
- /package/dist/{cleanup-BCVY7PEF.js.map → cleanup-W5FP3UKK.js.map} +0 -0
- /package/dist/{commit-L5JNBU4U.js.map → commit-7RI2JFFW.js.map} +0 -0
- /package/dist/{compile-GPJOHXH4.js.map → compile-NWTMKAGL.js.map} +0 -0
- /package/dist/{contribute-QEGCI4PS.js.map → contribute-QWPOT4QR.js.map} +0 -0
- /package/dist/{feedback-2LWXKLQZ.js.map → feedback-M43SGGK2.js.map} +0 -0
- /package/dist/{git-IS7AV3ED.js.map → git-ZTMT6OAI.js.map} +0 -0
- /package/dist/{ignite-VQDJQ37S.js.map → ignite-GUYKYC5G.js.map} +0 -0
- /package/dist/{install-deps-NGSFDNUW.js.map → install-deps-XS2UUCUS.js.map} +0 -0
- /package/dist/{issues-4HQKEUP7.js.map → issues-2IT7PSNZ.js.map} +0 -0
- /package/dist/{lint-C5FOVRXY.js.map → lint-DKWJHET3.js.map} +0 -0
- /package/dist/{plan-GC3HF73T.js.map → plan-UPYDB34J.js.map} +0 -0
- /package/dist/{rebase-MLIN572O.js.map → rebase-6AXN45AE.js.map} +0 -0
- /package/dist/{recap-CKGKFDJL.js.map → recap-XDKI3MTA.js.map} +0 -0
- /package/dist/{shell-M2YYPNGV.js.map → shell-XOILFEZW.js.map} +0 -0
- /package/dist/{test-ESDAHEVE.js.map → test-6T2UMQ7T.js.map} +0 -0
- /package/dist/{test-git-KWPLHYSI.js.map → test-git-CQ65OL45.js.map} +0 -0
- /package/dist/{test-jira-6NK7UHSV.js.map → test-jira-CQQHGZ3S.js.map} +0 -0
- /package/dist/{test-prefix-VVODGHXP.js.map → test-prefix-HMTZSS67.js.map} +0 -0
- /package/dist/{test-webserver-AHXKC6H4.js.map → test-webserver-ZN73CM2T.js.map} +0 -0
- /package/dist/{vscode-OY7HOVRO.js.map → vscode-ABQ5ZSH7.js.map} +0 -0
|
@@ -1,36 +1,36 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
ResourceCleanup
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-H4TSDALC.js";
|
|
5
|
+
import "./chunk-UQWMPQ2Q.js";
|
|
6
6
|
import {
|
|
7
7
|
CLIIsolationManager,
|
|
8
8
|
DatabaseManager,
|
|
9
9
|
EnvironmentManager,
|
|
10
10
|
LoomManager
|
|
11
|
-
} from "./chunk-
|
|
12
|
-
import "./chunk-
|
|
11
|
+
} from "./chunk-DYLOITSO.js";
|
|
12
|
+
import "./chunk-L3P3YJCE.js";
|
|
13
13
|
import "./chunk-7UBEHQTP.js";
|
|
14
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-Z32HPRZF.js";
|
|
15
15
|
import {
|
|
16
16
|
ProcessManager
|
|
17
|
-
} from "./chunk-
|
|
18
|
-
import "./chunk-
|
|
17
|
+
} from "./chunk-2WRD6Y5E.js";
|
|
18
|
+
import "./chunk-YVNG35OW.js";
|
|
19
19
|
import {
|
|
20
20
|
IdentifierParser
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-XC5JKRSH.js";
|
|
22
22
|
import {
|
|
23
23
|
createNeonProviderFromSettings
|
|
24
24
|
} from "./chunk-HKEXRZMU.js";
|
|
25
25
|
import {
|
|
26
26
|
TelemetryService
|
|
27
27
|
} from "./chunk-MY2Q3FJ3.js";
|
|
28
|
-
import "./chunk-
|
|
28
|
+
import "./chunk-VUIPDX3T.js";
|
|
29
29
|
import "./chunk-4232AHNQ.js";
|
|
30
30
|
import "./chunk-OLJ54WGW.js";
|
|
31
31
|
import {
|
|
32
32
|
GitWorktreeManager
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-D6FU4DLN.js";
|
|
34
34
|
import "./chunk-WEBMMJKL.js";
|
|
35
35
|
import "./chunk-K3QGG4O2.js";
|
|
36
36
|
import "./chunk-DMSL5BAP.js";
|
|
@@ -44,10 +44,10 @@ import "./chunk-P5MXXHXQ.js";
|
|
|
44
44
|
import "./chunk-BZ7KTXPB.js";
|
|
45
45
|
import "./chunk-OIVFHJOA.js";
|
|
46
46
|
import "./chunk-DDHWZNGL.js";
|
|
47
|
-
import "./chunk-
|
|
47
|
+
import "./chunk-5W44AI63.js";
|
|
48
48
|
import {
|
|
49
49
|
SettingsManager
|
|
50
|
-
} from "./chunk-
|
|
50
|
+
} from "./chunk-MNPKEWBQ.js";
|
|
51
51
|
import {
|
|
52
52
|
MetadataManager
|
|
53
53
|
} from "./chunk-XIVLGWUX.js";
|
|
@@ -107,8 +107,8 @@ var CleanupCommand = class {
|
|
|
107
107
|
cliIsolationManager
|
|
108
108
|
);
|
|
109
109
|
if (!this.loomManager) {
|
|
110
|
-
const { IssueTrackerFactory } = await import("./IssueTrackerFactory-
|
|
111
|
-
const { ClaudeContextManager } = await import("./ClaudeContextManager-
|
|
110
|
+
const { IssueTrackerFactory } = await import("./IssueTrackerFactory-UEJALI4X.js");
|
|
111
|
+
const { ClaudeContextManager } = await import("./ClaudeContextManager-KJ4VEA2F.js");
|
|
112
112
|
const { ProjectCapabilityDetector } = await import("./ProjectCapabilityDetector-I4J66WKF.js");
|
|
113
113
|
const { DefaultBranchNamingService } = await import("./BranchNamingService-MEK2WZUD.js");
|
|
114
114
|
this.loomManager = new LoomManager(
|
|
@@ -314,7 +314,7 @@ var CleanupCommand = class {
|
|
|
314
314
|
const { force, dryRun } = parsed.options;
|
|
315
315
|
let parsedInput = await this.identifierParser.parseForPatternDetection(identifier);
|
|
316
316
|
if (parsedInput.type === "branch" && parsedInput.branchName) {
|
|
317
|
-
const { extractIssueNumber } = await import("./git-
|
|
317
|
+
const { extractIssueNumber } = await import("./git-ZTMT6OAI.js");
|
|
318
318
|
const extractedNumber = extractIssueNumber(parsedInput.branchName);
|
|
319
319
|
if (extractedNumber !== null) {
|
|
320
320
|
parsedInput = {
|
|
@@ -544,4 +544,4 @@ var CleanupCommand = class {
|
|
|
544
544
|
export {
|
|
545
545
|
CleanupCommand
|
|
546
546
|
};
|
|
547
|
-
//# sourceMappingURL=cleanup-
|
|
547
|
+
//# sourceMappingURL=cleanup-W5FP3UKK.js.map
|
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-U2OPXZ6E.js";
|
|
5
5
|
import "./chunk-NXMDEL3F.js";
|
|
6
6
|
import {
|
|
7
7
|
ResourceCleanup
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-H4TSDALC.js";
|
|
9
|
+
import "./chunk-UQWMPQ2Q.js";
|
|
10
10
|
import {
|
|
11
11
|
StartCommand,
|
|
12
12
|
launchFirstRunSetup,
|
|
13
13
|
needsFirstRunSetup
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-Z3ZEJN3W.js";
|
|
15
15
|
import {
|
|
16
16
|
CLIIsolationManager,
|
|
17
17
|
DatabaseManager,
|
|
18
18
|
EnvironmentManager,
|
|
19
19
|
LoomManager
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-DYLOITSO.js";
|
|
21
21
|
import {
|
|
22
22
|
PRManager,
|
|
23
23
|
VCSProviderFactory
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-L3P3YJCE.js";
|
|
25
25
|
import {
|
|
26
26
|
BuildRunner,
|
|
27
27
|
MergeManager
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-MPHSR6GA.js";
|
|
29
29
|
import {
|
|
30
30
|
assembleChildrenData
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-OIJNBFMP.js";
|
|
32
32
|
import "./chunk-7UBEHQTP.js";
|
|
33
|
-
import "./chunk-
|
|
33
|
+
import "./chunk-Z32HPRZF.js";
|
|
34
34
|
import {
|
|
35
35
|
ProcessManager
|
|
36
|
-
} from "./chunk-
|
|
37
|
-
import "./chunk-
|
|
36
|
+
} from "./chunk-2WRD6Y5E.js";
|
|
37
|
+
import "./chunk-YVNG35OW.js";
|
|
38
38
|
import {
|
|
39
39
|
IdentifierParser
|
|
40
|
-
} from "./chunk-
|
|
40
|
+
} from "./chunk-XC5JKRSH.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-OMV47LLA.js";
|
|
47
47
|
import {
|
|
48
48
|
TelemetryManager,
|
|
49
49
|
TelemetryService
|
|
@@ -58,25 +58,29 @@ import {
|
|
|
58
58
|
import "./chunk-CQHHEW2M.js";
|
|
59
59
|
import {
|
|
60
60
|
AgentManager
|
|
61
|
-
} from "./chunk-
|
|
61
|
+
} from "./chunk-RP6MHV24.js";
|
|
62
62
|
import {
|
|
63
63
|
CommitManager,
|
|
64
64
|
UserAbortedCommitError,
|
|
65
65
|
ValidationRunner
|
|
66
|
-
} from "./chunk-
|
|
66
|
+
} from "./chunk-OHX3PSAY.js";
|
|
67
67
|
import {
|
|
68
68
|
IssueManagementProviderFactory
|
|
69
|
-
} from "./chunk-
|
|
69
|
+
} from "./chunk-VUIPDX3T.js";
|
|
70
70
|
import "./chunk-4232AHNQ.js";
|
|
71
71
|
import {
|
|
72
72
|
installDependencies
|
|
73
73
|
} from "./chunk-OLJ54WGW.js";
|
|
74
74
|
import {
|
|
75
75
|
GitWorktreeManager
|
|
76
|
-
} from "./chunk-
|
|
76
|
+
} from "./chunk-D6FU4DLN.js";
|
|
77
77
|
import {
|
|
78
78
|
openBrowser
|
|
79
79
|
} from "./chunk-WEBMMJKL.js";
|
|
80
|
+
import {
|
|
81
|
+
ProjectCapabilityDetector
|
|
82
|
+
} from "./chunk-772N5WCA.js";
|
|
83
|
+
import "./chunk-K3QGG4O2.js";
|
|
80
84
|
import {
|
|
81
85
|
getIdeConfig,
|
|
82
86
|
getInstallHint,
|
|
@@ -84,18 +88,14 @@ import {
|
|
|
84
88
|
} from "./chunk-CE676WCN.js";
|
|
85
89
|
import {
|
|
86
90
|
ClaudeContextManager
|
|
87
|
-
} from "./chunk-
|
|
88
|
-
import "./chunk-
|
|
89
|
-
import "./chunk-
|
|
91
|
+
} from "./chunk-32D4CWWH.js";
|
|
92
|
+
import "./chunk-UMAOVKQX.js";
|
|
93
|
+
import "./chunk-LDE6VNG5.js";
|
|
90
94
|
import "./chunk-GYCR2LOU.js";
|
|
91
95
|
import "./chunk-AQUSMNBF.js";
|
|
92
|
-
import {
|
|
93
|
-
ProjectCapabilityDetector
|
|
94
|
-
} from "./chunk-772N5WCA.js";
|
|
95
|
-
import "./chunk-K3QGG4O2.js";
|
|
96
96
|
import {
|
|
97
97
|
IssueTrackerFactory
|
|
98
|
-
} from "./chunk-
|
|
98
|
+
} from "./chunk-ZWXJ7G2C.js";
|
|
99
99
|
import "./chunk-DMSL5BAP.js";
|
|
100
100
|
import {
|
|
101
101
|
GitHubService
|
|
@@ -125,10 +125,10 @@ import {
|
|
|
125
125
|
pushBranchToRemote,
|
|
126
126
|
removePlaceholderCommitFromHead,
|
|
127
127
|
removePlaceholderCommitFromHistory
|
|
128
|
-
} from "./chunk-
|
|
128
|
+
} from "./chunk-5W44AI63.js";
|
|
129
129
|
import {
|
|
130
130
|
SettingsManager
|
|
131
|
-
} from "./chunk-
|
|
131
|
+
} from "./chunk-MNPKEWBQ.js";
|
|
132
132
|
import {
|
|
133
133
|
MetadataManager
|
|
134
134
|
} from "./chunk-XIVLGWUX.js";
|
|
@@ -1376,6 +1376,28 @@ var FinishCommand = class {
|
|
|
1376
1376
|
// Use default MetadataManager
|
|
1377
1377
|
this.settingsManager
|
|
1378
1378
|
);
|
|
1379
|
+
const metadata = await this.sessionSummaryService.metadataManager.readMetadata(worktree.path);
|
|
1380
|
+
const isEpicLoom = (metadata == null ? void 0 : metadata.childIssueNumbers) != null && metadata.childIssueNumbers.length > 0;
|
|
1381
|
+
if (isEpicLoom && metadata != null) {
|
|
1382
|
+
if (parsed.number == null) {
|
|
1383
|
+
getLogger().warn("Epic loom has no issue number, skipping epic report generation");
|
|
1384
|
+
return;
|
|
1385
|
+
}
|
|
1386
|
+
const epicTitle = metadata.description ?? `Epic #${String(parsed.number)}`;
|
|
1387
|
+
if (options.dryRun) {
|
|
1388
|
+
getLogger().info(`[DRY RUN] Would post epic implementation report for issue #${parsed.number}`);
|
|
1389
|
+
return;
|
|
1390
|
+
}
|
|
1391
|
+
const epicInput = {
|
|
1392
|
+
worktreePath: worktree.path,
|
|
1393
|
+
epicIssueNumber: parsed.number,
|
|
1394
|
+
childIssueNumbers: metadata.childIssueNumbers,
|
|
1395
|
+
epicTitle,
|
|
1396
|
+
...prNumber !== void 0 && { prNumber }
|
|
1397
|
+
};
|
|
1398
|
+
await this.sessionSummaryService.generateAndPostEpicReport(epicInput);
|
|
1399
|
+
return;
|
|
1400
|
+
}
|
|
1379
1401
|
if (options.dryRun) {
|
|
1380
1402
|
try {
|
|
1381
1403
|
const result = await this.sessionSummaryService.generateSummary(
|
|
@@ -2038,6 +2060,18 @@ function parseIssueIdentifier(value) {
|
|
|
2038
2060
|
const parsed = parseInt(value, 10);
|
|
2039
2061
|
return !isNaN(parsed) && String(parsed) === value ? parsed : value;
|
|
2040
2062
|
}
|
|
2063
|
+
function collectKeyValue(value, previous) {
|
|
2064
|
+
const equalsIndex = value.indexOf("=");
|
|
2065
|
+
if (equalsIndex === -1) {
|
|
2066
|
+
throw new Error(`Invalid format: "${value}". Expected KEY=VALUE`);
|
|
2067
|
+
}
|
|
2068
|
+
const key = value.substring(0, equalsIndex);
|
|
2069
|
+
const val = value.substring(equalsIndex + 1);
|
|
2070
|
+
if (!key) {
|
|
2071
|
+
throw new Error(`Invalid format: "${value}". Key cannot be empty`);
|
|
2072
|
+
}
|
|
2073
|
+
return { ...previous, [key]: val };
|
|
2074
|
+
}
|
|
2041
2075
|
program.name("iloom").description(packageJson.description).version(packageJson.version).option("--debug", "Enable debug output (default: based on ILOOM_DEBUG env var)").option("--completion", "Output shell completion script for current shell").option("--set <key=value>", "Override any setting using dot notation (repeatable, e.g., --set workflows.issue.startIde=false)").allowUnknownOption().addHelpText("afterAll", "\nBy using iloom, you agree to our Terms of Service: https://iloom.ai/terms").hook("preAction", async (thisCommand, actionCommand) => {
|
|
2042
2076
|
const options = thisCommand.opts();
|
|
2043
2077
|
const envDebug = process.env.ILOOM_DEBUG === "true";
|
|
@@ -2216,14 +2250,14 @@ async function autoLaunchInitForMultipleRemotes() {
|
|
|
2216
2250
|
await waitForKeypress2("Press any key to start configuration...");
|
|
2217
2251
|
logger.info("");
|
|
2218
2252
|
try {
|
|
2219
|
-
const { InitCommand } = await import("./init-
|
|
2253
|
+
const { InitCommand } = await import("./init-AMLCFVXG.js");
|
|
2220
2254
|
const initCommand = new InitCommand();
|
|
2221
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.";
|
|
2222
2256
|
await initCommand.execute(customInitialMessage);
|
|
2223
2257
|
logger.info("");
|
|
2224
2258
|
logger.info("Configuration complete! Continuing with your original command...");
|
|
2225
2259
|
logger.info("");
|
|
2226
|
-
const { SettingsManager: SettingsManager2 } = await import("./SettingsManager-
|
|
2260
|
+
const { SettingsManager: SettingsManager2 } = await import("./SettingsManager-PVHBSCMI.js");
|
|
2227
2261
|
const settingsManager = new SettingsManager2();
|
|
2228
2262
|
const settings = await settingsManager.loadSettings();
|
|
2229
2263
|
const { hasMultipleRemotes: hasMultipleRemotes2 } = await import("./remote-RO4LZKT2.js");
|
|
@@ -2324,7 +2358,7 @@ program.command("add-issue").alias("a").description("Create and enhance GitHub i
|
|
|
2324
2358
|
});
|
|
2325
2359
|
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) => {
|
|
2326
2360
|
try {
|
|
2327
|
-
const { FeedbackCommand } = await import("./feedback-
|
|
2361
|
+
const { FeedbackCommand } = await import("./feedback-M43SGGK2.js");
|
|
2328
2362
|
const command = new FeedbackCommand();
|
|
2329
2363
|
const feedbackOptions = {};
|
|
2330
2364
|
if (options.body !== void 0) {
|
|
@@ -2426,7 +2460,7 @@ program.command("commit").alias("c").description("Commit all uncommitted files w
|
|
|
2426
2460
|
const isAnyJsonMode = options.json ?? options.jsonStream;
|
|
2427
2461
|
const executeAction = async () => {
|
|
2428
2462
|
try {
|
|
2429
|
-
const { CommitCommand } = await import("./commit-
|
|
2463
|
+
const { CommitCommand } = await import("./commit-7RI2JFFW.js");
|
|
2430
2464
|
const command = new CommitCommand();
|
|
2431
2465
|
const noReview = options.review === false || options.json === true || options.jsonStream === true;
|
|
2432
2466
|
const result = await command.execute({
|
|
@@ -2465,7 +2499,7 @@ program.command("commit").alias("c").description("Commit all uncommitted files w
|
|
|
2465
2499
|
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) => {
|
|
2466
2500
|
const executeAction = async () => {
|
|
2467
2501
|
try {
|
|
2468
|
-
const { RebaseCommand } = await import("./rebase-
|
|
2502
|
+
const { RebaseCommand } = await import("./rebase-6AXN45AE.js");
|
|
2469
2503
|
const command = new RebaseCommand();
|
|
2470
2504
|
const result = await command.execute(options);
|
|
2471
2505
|
if (options.jsonStream && result) {
|
|
@@ -2505,7 +2539,7 @@ program.command("spin").alias("ignite").description("Launch Claude with auto-det
|
|
|
2505
2539
|
options.oneShot = "bypassPermissions";
|
|
2506
2540
|
}
|
|
2507
2541
|
try {
|
|
2508
|
-
const { IgniteCommand } = await import("./ignite-
|
|
2542
|
+
const { IgniteCommand } = await import("./ignite-GUYKYC5G.js");
|
|
2509
2543
|
const command = new IgniteCommand();
|
|
2510
2544
|
if (options.json && options.jsonStream) {
|
|
2511
2545
|
logger.error("--json and --json-stream are mutually exclusive");
|
|
@@ -2530,24 +2564,26 @@ program.command("spin").alias("ignite").description("Launch Claude with auto-det
|
|
|
2530
2564
|
process.exit(1);
|
|
2531
2565
|
}
|
|
2532
2566
|
});
|
|
2533
|
-
program.command("open").description("Open workspace in browser or run CLI tool").argument("[identifier]", "Issue number, PR number, or branch name (auto-detected if omitted)").allowUnknownOption().action(async (identifier,
|
|
2567
|
+
program.command("open").description("Open workspace in browser or run CLI tool").argument("[identifier]", "Issue number, PR number, or branch name (auto-detected if omitted)").option("-e, --env <KEY=VALUE>", "Environment variable for the dev server (repeatable)", collectKeyValue, {}).allowUnknownOption().action(async (identifier, options, command) => {
|
|
2534
2568
|
try {
|
|
2535
2569
|
const args = (command == null ? void 0 : command.args) ? command.args.slice(identifier ? 1 : 0) : [];
|
|
2536
|
-
const
|
|
2570
|
+
const env = (options == null ? void 0 : options.env) && Object.keys(options.env).length > 0 ? options.env : void 0;
|
|
2571
|
+
const { OpenCommand } = await import("./open-XIUV5JMJ.js");
|
|
2537
2572
|
const cmd = new OpenCommand();
|
|
2538
|
-
const input = identifier ? { identifier, args } : { args };
|
|
2573
|
+
const input = identifier ? { identifier, args, env } : { args, env };
|
|
2539
2574
|
await cmd.execute(input);
|
|
2540
2575
|
} catch (error) {
|
|
2541
2576
|
logger.error(`Failed to open: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
2542
2577
|
process.exit(1);
|
|
2543
2578
|
}
|
|
2544
2579
|
});
|
|
2545
|
-
program.command("run").description("Run CLI tool or open workspace in browser").argument("[identifier]", "Issue number, PR number, or branch name (auto-detected if omitted)").allowUnknownOption().action(async (identifier,
|
|
2580
|
+
program.command("run").description("Run CLI tool or open workspace in browser").argument("[identifier]", "Issue number, PR number, or branch name (auto-detected if omitted)").option("-e, --env <KEY=VALUE>", "Environment variable for the dev server (repeatable)", collectKeyValue, {}).allowUnknownOption().action(async (identifier, options, command) => {
|
|
2546
2581
|
try {
|
|
2547
2582
|
const args = (command == null ? void 0 : command.args) ? command.args.slice(identifier ? 1 : 0) : [];
|
|
2548
|
-
const
|
|
2583
|
+
const env = (options == null ? void 0 : options.env) && Object.keys(options.env).length > 0 ? options.env : void 0;
|
|
2584
|
+
const { RunCommand } = await import("./run-VOGGJGPO.js");
|
|
2549
2585
|
const cmd = new RunCommand();
|
|
2550
|
-
const input = identifier ? { identifier, args } : { args };
|
|
2586
|
+
const input = identifier ? { identifier, args, env } : { args, env };
|
|
2551
2587
|
await cmd.execute(input);
|
|
2552
2588
|
} catch (error) {
|
|
2553
2589
|
logger.error(`Failed to run: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
@@ -2556,18 +2592,19 @@ program.command("run").description("Run CLI tool or open workspace in browser").
|
|
|
2556
2592
|
});
|
|
2557
2593
|
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) => {
|
|
2558
2594
|
try {
|
|
2559
|
-
const { VSCodeCommand } = await import("./vscode-
|
|
2595
|
+
const { VSCodeCommand } = await import("./vscode-ABQ5ZSH7.js");
|
|
2560
2596
|
const cmd = new VSCodeCommand();
|
|
2561
2597
|
await cmd.execute({ identifier, wait: options == null ? void 0 : options.wait });
|
|
2562
2598
|
} catch (error) {
|
|
2563
2599
|
throw new Error(`Failed to open VS Code: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
2564
2600
|
}
|
|
2565
2601
|
});
|
|
2566
|
-
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").action(async (identifier, options) => {
|
|
2602
|
+
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) => {
|
|
2567
2603
|
try {
|
|
2568
|
-
const { DevServerCommand } = await import("./dev-server-
|
|
2604
|
+
const { DevServerCommand } = await import("./dev-server-U2XUN57X.js");
|
|
2569
2605
|
const cmd = new DevServerCommand();
|
|
2570
|
-
|
|
2606
|
+
const env = (options == null ? void 0 : options.env) && Object.keys(options.env).length > 0 ? options.env : void 0;
|
|
2607
|
+
await cmd.execute({ identifier, json: options == null ? void 0 : options.json, env });
|
|
2571
2608
|
} catch (error) {
|
|
2572
2609
|
logger.error(`Failed to start dev server: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
2573
2610
|
process.exit(1);
|
|
@@ -2575,7 +2612,7 @@ program.command("dev-server").alias("dev").description("Start dev server for wor
|
|
|
2575
2612
|
});
|
|
2576
2613
|
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) => {
|
|
2577
2614
|
try {
|
|
2578
|
-
const { ShellCommand } = await import("./shell-
|
|
2615
|
+
const { ShellCommand } = await import("./shell-XOILFEZW.js");
|
|
2579
2616
|
const cmd = new ShellCommand();
|
|
2580
2617
|
await cmd.execute({ identifier });
|
|
2581
2618
|
} catch (error) {
|
|
@@ -2585,7 +2622,7 @@ program.command("shell").alias("terminal").description("Open interactive shell w
|
|
|
2585
2622
|
});
|
|
2586
2623
|
program.command("build").description("Run the build script").argument("[identifier]", "Issue number, PR number, or branch name (auto-detected if omitted)").action(async (identifier) => {
|
|
2587
2624
|
try {
|
|
2588
|
-
const { BuildCommand } = await import("./build-
|
|
2625
|
+
const { BuildCommand } = await import("./build-2FXDYEZQ.js");
|
|
2589
2626
|
const cmd = new BuildCommand();
|
|
2590
2627
|
await cmd.execute(identifier ? { identifier } : {});
|
|
2591
2628
|
} catch (error) {
|
|
@@ -2595,7 +2632,7 @@ program.command("build").description("Run the build script").argument("[identifi
|
|
|
2595
2632
|
});
|
|
2596
2633
|
program.command("lint").description("Run the lint script").argument("[identifier]", "Issue number, PR number, or branch name (auto-detected if omitted)").action(async (identifier) => {
|
|
2597
2634
|
try {
|
|
2598
|
-
const { LintCommand } = await import("./lint-
|
|
2635
|
+
const { LintCommand } = await import("./lint-DKWJHET3.js");
|
|
2599
2636
|
const cmd = new LintCommand();
|
|
2600
2637
|
await cmd.execute(identifier ? { identifier } : {});
|
|
2601
2638
|
} catch (error) {
|
|
@@ -2605,7 +2642,7 @@ program.command("lint").description("Run the lint script").argument("[identifier
|
|
|
2605
2642
|
});
|
|
2606
2643
|
program.command("test").description("Run the test script").argument("[identifier]", "Issue number, PR number, or branch name (auto-detected if omitted)").action(async (identifier) => {
|
|
2607
2644
|
try {
|
|
2608
|
-
const { TestCommand } = await import("./test-
|
|
2645
|
+
const { TestCommand } = await import("./test-6T2UMQ7T.js");
|
|
2609
2646
|
const cmd = new TestCommand();
|
|
2610
2647
|
await cmd.execute(identifier ? { identifier } : {});
|
|
2611
2648
|
} catch (error) {
|
|
@@ -2615,7 +2652,7 @@ program.command("test").description("Run the test script").argument("[identifier
|
|
|
2615
2652
|
});
|
|
2616
2653
|
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) => {
|
|
2617
2654
|
try {
|
|
2618
|
-
const { CompileCommand } = await import("./compile-
|
|
2655
|
+
const { CompileCommand } = await import("./compile-NWTMKAGL.js");
|
|
2619
2656
|
const cmd = new CompileCommand();
|
|
2620
2657
|
await cmd.execute(identifier ? { identifier } : {});
|
|
2621
2658
|
} catch (error) {
|
|
@@ -2625,7 +2662,7 @@ program.command("compile").alias("typecheck").description("Run the compile or ty
|
|
|
2625
2662
|
});
|
|
2626
2663
|
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) => {
|
|
2627
2664
|
try {
|
|
2628
|
-
const { InstallDepsCommand } = await import("./install-deps-
|
|
2665
|
+
const { InstallDepsCommand } = await import("./install-deps-XS2UUCUS.js");
|
|
2629
2666
|
const cmd = new InstallDepsCommand();
|
|
2630
2667
|
const input = {};
|
|
2631
2668
|
if (identifier) input.identifier = identifier;
|
|
@@ -2639,7 +2676,7 @@ program.command("install-deps").description("Install dependencies for a workspac
|
|
|
2639
2676
|
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) => {
|
|
2640
2677
|
const executeAction = async () => {
|
|
2641
2678
|
try {
|
|
2642
|
-
const { CleanupCommand } = await import("./cleanup-
|
|
2679
|
+
const { CleanupCommand } = await import("./cleanup-W5FP3UKK.js");
|
|
2643
2680
|
const command = new CleanupCommand();
|
|
2644
2681
|
const input = {
|
|
2645
2682
|
options: options ?? {}
|
|
@@ -2803,6 +2840,16 @@ program.command("list").description("Show active workspaces").option("--json", "
|
|
|
2803
2840
|
status: "active",
|
|
2804
2841
|
finishedAt: null
|
|
2805
2842
|
}));
|
|
2843
|
+
const capabilityDetector = new ProjectCapabilityDetector();
|
|
2844
|
+
for (const loom of activeJson) {
|
|
2845
|
+
if ((!loom.capabilities || loom.capabilities.length === 0) && loom.worktreePath) {
|
|
2846
|
+
try {
|
|
2847
|
+
const { capabilities } = await capabilityDetector.detectCapabilities(loom.worktreePath);
|
|
2848
|
+
loom.capabilities = capabilities;
|
|
2849
|
+
} catch {
|
|
2850
|
+
}
|
|
2851
|
+
}
|
|
2852
|
+
}
|
|
2806
2853
|
}
|
|
2807
2854
|
}
|
|
2808
2855
|
if (currentProjectPath && !options.global) {
|
|
@@ -3003,7 +3050,7 @@ program.command("projects").description("List configured iloom projects").option
|
|
|
3003
3050
|
});
|
|
3004
3051
|
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) => {
|
|
3005
3052
|
try {
|
|
3006
|
-
const { IssuesCommand } = await import("./issues-
|
|
3053
|
+
const { IssuesCommand } = await import("./issues-2IT7PSNZ.js");
|
|
3007
3054
|
const command = new IssuesCommand();
|
|
3008
3055
|
const parsedLimit = parseInt((options == null ? void 0 : options.limit) ?? "100", 10);
|
|
3009
3056
|
const limit = Number.isNaN(parsedLimit) || parsedLimit <= 0 ? 100 : parsedLimit;
|
|
@@ -3021,7 +3068,7 @@ program.command("issues").description("List project issues from configured issue
|
|
|
3021
3068
|
});
|
|
3022
3069
|
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) => {
|
|
3023
3070
|
try {
|
|
3024
|
-
const { InitCommand } = await import("./init-
|
|
3071
|
+
const { InitCommand } = await import("./init-AMLCFVXG.js");
|
|
3025
3072
|
const command = new InitCommand();
|
|
3026
3073
|
const trimmedPrompt = prompt == null ? void 0 : prompt.trim();
|
|
3027
3074
|
const customPrompt = trimmedPrompt && trimmedPrompt.length > 0 ? trimmedPrompt : void 0;
|
|
@@ -3037,7 +3084,7 @@ program.command("plan").description("Launch interactive planning session with Ar
|
|
|
3037
3084
|
new Option("--output-format <format>", "Output format for Claude CLI (requires --print)").choices(["json", "stream-json", "text"])
|
|
3038
3085
|
).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) => {
|
|
3039
3086
|
try {
|
|
3040
|
-
const { PlanCommand } = await import("./plan-
|
|
3087
|
+
const { PlanCommand } = await import("./plan-UPYDB34J.js");
|
|
3041
3088
|
const command = new PlanCommand();
|
|
3042
3089
|
if ((options == null ? void 0 : options.json) && (options == null ? void 0 : options.jsonStream)) {
|
|
3043
3090
|
logger.error("--json and --json-stream are mutually exclusive");
|
|
@@ -3084,7 +3131,7 @@ program.command("plan").description("Launch interactive planning session with Ar
|
|
|
3084
3131
|
});
|
|
3085
3132
|
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) => {
|
|
3086
3133
|
try {
|
|
3087
|
-
const { ContributeCommand } = await import("./contribute-
|
|
3134
|
+
const { ContributeCommand } = await import("./contribute-QWPOT4QR.js");
|
|
3088
3135
|
const command = new ContributeCommand();
|
|
3089
3136
|
await command.execute(repository);
|
|
3090
3137
|
} catch (error) {
|
|
@@ -3164,9 +3211,9 @@ program.command("test-github").description("Test GitHub integration (Issue #3)")
|
|
|
3164
3211
|
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) => {
|
|
3165
3212
|
try {
|
|
3166
3213
|
const { detectClaudeCli, getClaudeVersion, generateBranchName, launchClaude } = await import("./claude-ACL7G4CF.js");
|
|
3167
|
-
const { PromptTemplateManager } = await import("./PromptTemplateManager-
|
|
3168
|
-
const { ClaudeService } = await import("./ClaudeService-
|
|
3169
|
-
const { ClaudeContextManager: ClaudeContextManager2 } = await import("./ClaudeContextManager-
|
|
3214
|
+
const { PromptTemplateManager } = await import("./PromptTemplateManager-QIUVJP6S.js");
|
|
3215
|
+
const { ClaudeService } = await import("./ClaudeService-WTJO4UW6.js");
|
|
3216
|
+
const { ClaudeContextManager: ClaudeContextManager2 } = await import("./ClaudeContextManager-KJ4VEA2F.js");
|
|
3170
3217
|
logger.info("Testing Claude Integration\n");
|
|
3171
3218
|
if (options.detect) {
|
|
3172
3219
|
logger.info("Detecting Claude CLI...");
|
|
@@ -3301,7 +3348,7 @@ program.command("test-claude").description("Test Claude integration (Issue #10)"
|
|
|
3301
3348
|
});
|
|
3302
3349
|
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) => {
|
|
3303
3350
|
try {
|
|
3304
|
-
const { TestWebserverCommand } = await import("./test-webserver-
|
|
3351
|
+
const { TestWebserverCommand } = await import("./test-webserver-ZN73CM2T.js");
|
|
3305
3352
|
const command = new TestWebserverCommand();
|
|
3306
3353
|
await command.execute({ issueNumber, options });
|
|
3307
3354
|
} catch (error) {
|
|
@@ -3314,7 +3361,7 @@ program.command("test-webserver").description("Test if a web server is running o
|
|
|
3314
3361
|
});
|
|
3315
3362
|
program.command("test-git").description("Test Git integration - findMainWorktreePath() function (reads .iloom/settings.json)").action(async () => {
|
|
3316
3363
|
try {
|
|
3317
|
-
const { TestGitCommand } = await import("./test-git-
|
|
3364
|
+
const { TestGitCommand } = await import("./test-git-CQ65OL45.js");
|
|
3318
3365
|
const command = new TestGitCommand();
|
|
3319
3366
|
await command.execute();
|
|
3320
3367
|
} catch (error) {
|
|
@@ -3340,7 +3387,7 @@ program.command("test-tabs").description("Test iTerm2 dual tab functionality - o
|
|
|
3340
3387
|
});
|
|
3341
3388
|
program.command("test-prefix").description("[DEPRECATED] Test worktree prefix configuration - preview worktree paths").action(async () => {
|
|
3342
3389
|
try {
|
|
3343
|
-
const { TestPrefixCommand } = await import("./test-prefix-
|
|
3390
|
+
const { TestPrefixCommand } = await import("./test-prefix-HMTZSS67.js");
|
|
3344
3391
|
const command = new TestPrefixCommand();
|
|
3345
3392
|
await command.execute();
|
|
3346
3393
|
} catch (error) {
|
|
@@ -3354,7 +3401,7 @@ program.command("test-prefix").description("[DEPRECATED] Test worktree prefix co
|
|
|
3354
3401
|
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) => {
|
|
3355
3402
|
const executeAction = async () => {
|
|
3356
3403
|
try {
|
|
3357
|
-
const { SummaryCommand } = await import("./summary-
|
|
3404
|
+
const { SummaryCommand } = await import("./summary-BVYOM63C.js");
|
|
3358
3405
|
const command = new SummaryCommand();
|
|
3359
3406
|
const result = await command.execute({ identifier, options });
|
|
3360
3407
|
if (options.json && result) {
|
|
@@ -3384,7 +3431,7 @@ program.command("summary").description("Generate Claude session summary for a lo
|
|
|
3384
3431
|
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) => {
|
|
3385
3432
|
const executeAction = async () => {
|
|
3386
3433
|
try {
|
|
3387
|
-
const { RecapCommand } = await import("./recap-
|
|
3434
|
+
const { RecapCommand } = await import("./recap-XDKI3MTA.js");
|
|
3388
3435
|
const command = new RecapCommand();
|
|
3389
3436
|
const result = await command.execute({ identifier, json: options.json });
|
|
3390
3437
|
if (options.json && result) {
|
|
@@ -3414,7 +3461,7 @@ program.command("recap").description("Get recap for a loom (defaults to current
|
|
|
3414
3461
|
var testJiraCommand = program.command("test-jira").description("Test Jira integration methods against a real Jira instance");
|
|
3415
3462
|
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) => {
|
|
3416
3463
|
try {
|
|
3417
|
-
const { TestJiraCommand } = await import("./test-jira-
|
|
3464
|
+
const { TestJiraCommand } = await import("./test-jira-CQQHGZ3S.js");
|
|
3418
3465
|
await new TestJiraCommand().createChildIssue(parentKey);
|
|
3419
3466
|
} catch (error) {
|
|
3420
3467
|
logger.error(`Failed: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
@@ -3423,7 +3470,7 @@ testJiraCommand.command("child-issue").description("Create a test child issue un
|
|
|
3423
3470
|
});
|
|
3424
3471
|
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) => {
|
|
3425
3472
|
try {
|
|
3426
|
-
const { TestJiraCommand } = await import("./test-jira-
|
|
3473
|
+
const { TestJiraCommand } = await import("./test-jira-CQQHGZ3S.js");
|
|
3427
3474
|
await new TestJiraCommand().createDependency(blockingKey, blockedKey);
|
|
3428
3475
|
} catch (error) {
|
|
3429
3476
|
logger.error(`Failed: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
@@ -3432,7 +3479,7 @@ testJiraCommand.command("create-dep").description('Create a "Blocks" dependency
|
|
|
3432
3479
|
});
|
|
3433
3480
|
testJiraCommand.command("get-deps").description("Fetch and print dependencies for an issue").argument("<issueKey>", "Issue key (e.g., PROJ-123)").action(async (issueKey) => {
|
|
3434
3481
|
try {
|
|
3435
|
-
const { TestJiraCommand } = await import("./test-jira-
|
|
3482
|
+
const { TestJiraCommand } = await import("./test-jira-CQQHGZ3S.js");
|
|
3436
3483
|
await new TestJiraCommand().getDependencies(issueKey);
|
|
3437
3484
|
} catch (error) {
|
|
3438
3485
|
logger.error(`Failed: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
@@ -3441,7 +3488,7 @@ testJiraCommand.command("get-deps").description("Fetch and print dependencies fo
|
|
|
3441
3488
|
});
|
|
3442
3489
|
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) => {
|
|
3443
3490
|
try {
|
|
3444
|
-
const { TestJiraCommand } = await import("./test-jira-
|
|
3491
|
+
const { TestJiraCommand } = await import("./test-jira-CQQHGZ3S.js");
|
|
3445
3492
|
await new TestJiraCommand().removeDependency(blockingKey, blockedKey);
|
|
3446
3493
|
} catch (error) {
|
|
3447
3494
|
logger.error(`Failed: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
@@ -3450,7 +3497,7 @@ testJiraCommand.command("remove-dep").description('Remove a "Blocks" dependency
|
|
|
3450
3497
|
});
|
|
3451
3498
|
testJiraCommand.command("get-children").description("List child issues of a parent").argument("<issueKey>", "Parent issue key (e.g., PROJ-123)").action(async (issueKey) => {
|
|
3452
3499
|
try {
|
|
3453
|
-
const { TestJiraCommand } = await import("./test-jira-
|
|
3500
|
+
const { TestJiraCommand } = await import("./test-jira-CQQHGZ3S.js");
|
|
3454
3501
|
await new TestJiraCommand().getChildIssues(issueKey);
|
|
3455
3502
|
} catch (error) {
|
|
3456
3503
|
logger.error(`Failed: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
@@ -3460,7 +3507,7 @@ testJiraCommand.command("get-children").description("List child issues of a pare
|
|
|
3460
3507
|
program.command("test-neon").description("Test Neon integration and debug configuration").action(async () => {
|
|
3461
3508
|
var _a2;
|
|
3462
3509
|
try {
|
|
3463
|
-
const { SettingsManager: SettingsManager2 } = await import("./SettingsManager-
|
|
3510
|
+
const { SettingsManager: SettingsManager2 } = await import("./SettingsManager-PVHBSCMI.js");
|
|
3464
3511
|
const { createNeonProviderFromSettings: createNeonProviderFromSettings2 } = await import("./neon-helpers-LCZAN4U4.js");
|
|
3465
3512
|
logger.info("Testing Neon Integration\n");
|
|
3466
3513
|
logger.info("1. Settings Configuration:");
|