@iloom/cli 0.10.2 → 0.11.1
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 +4 -2
- package/dist/{BranchNamingService-4OP6LOH6.js → BranchNamingService-XBCO747L.js} +4 -4
- package/dist/ClaudeContextManager-SXDCWDJA.js +14 -0
- package/dist/ClaudeService-6E6MCGJE.js +13 -0
- package/dist/GitHubService-2R5GQG4K.js +12 -0
- package/dist/IssueTrackerFactory-XN6MQ4UN.js +14 -0
- package/dist/{LoomLauncher-FRECYMXS.js → LoomLauncher-5AZU2F5I.js} +15 -12
- package/dist/LoomLauncher-5AZU2F5I.js.map +1 -0
- package/dist/MetadataManager-CMQQTFLQ.js +10 -0
- package/dist/ProjectCapabilityDetector-IC6NAFGY.js +11 -0
- package/dist/{PromptTemplateManager-YOE2SIPG.js → PromptTemplateManager-T5VTLJP3.js} +3 -3
- package/dist/README.md +4 -2
- package/dist/{SettingsManager-FNKCOZMQ.js → SettingsManager-WQ5NSGAH.js} +3 -3
- package/dist/SettingsMigrationManager-S6J7OHUH.js +10 -0
- package/dist/agents/iloom-code-reviewer.md +50 -8
- package/dist/agents/iloom-issue-analyze-and-plan.md +10 -0
- package/dist/agents/iloom-issue-analyzer.md +13 -0
- package/dist/agents/iloom-issue-complexity-evaluator.md +8 -1
- package/dist/agents/iloom-issue-enhancer.md +8 -1
- package/dist/agents/iloom-issue-implementer.md +3 -1
- package/dist/agents/iloom-issue-planner.md +5 -0
- package/dist/build-OLS6J5KZ.js +27 -0
- package/dist/{chunk-WWKOVDWC.js → chunk-3GTUXW26.js} +3 -3
- package/dist/{chunk-4FGEGQW4.js → chunk-3RXYOBME.js} +5 -5
- package/dist/{chunk-HEXKPKCK.js → chunk-5LTID2AF.js} +6 -6
- package/dist/{chunk-G5V75JD5.js → chunk-5PNZBH6V.js} +2 -2
- package/dist/{chunk-SKSYYBCU.js → chunk-5UFGO4ZT.js} +24 -3
- package/dist/{chunk-SKSYYBCU.js.map → chunk-5UFGO4ZT.js.map} +1 -1
- package/dist/{chunk-XE4BDRZD.js → chunk-6YVJVUR4.js} +3 -3
- package/dist/{chunk-RJ3VBUFK.js → chunk-7FIXNAUO.js} +36 -7
- package/dist/chunk-7FIXNAUO.js.map +1 -0
- package/dist/{chunk-QFTDZ5E3.js → chunk-7NFCGKZT.js} +3 -3
- package/dist/{chunk-433MOLAU.js → chunk-7OCGBJLR.js} +2 -2
- package/dist/{chunk-2VEWSM34.js → chunk-ABVMUNCD.js} +8 -8
- package/dist/{chunk-7JDMYTFZ.js → chunk-CV47VCMQ.js} +2 -2
- package/dist/{chunk-7VHJNVLF.js → chunk-ET6A2JR4.js} +8 -6
- package/dist/chunk-ET6A2JR4.js.map +1 -0
- package/dist/{chunk-MORRVYPT.js → chunk-G2MNSPA4.js} +2 -2
- package/dist/{chunk-RSYT7MVI.js → chunk-GMDSYLI6.js} +36 -3
- package/dist/chunk-GMDSYLI6.js.map +1 -0
- package/dist/{chunk-VT4PDUYT.js → chunk-H2SSF24U.js} +284 -209
- package/dist/chunk-H2SSF24U.js.map +1 -0
- package/dist/{chunk-LLHXQS3C.js → chunk-HLDY5S4C.js} +3 -3
- package/dist/{chunk-BYUMEDDD.js → chunk-IDCE26KD.js} +3 -3
- package/dist/{chunk-ZGM2FE2R.js → chunk-IR74O2F6.js} +221 -86
- package/dist/chunk-IR74O2F6.js.map +1 -0
- package/dist/{chunk-O7VL5N6S.js → chunk-K7R5QY6C.js} +2 -2
- package/dist/{chunk-BU53XIGY.js → chunk-KQFIGI37.js} +5 -5
- package/dist/{chunk-I5T677EA.js → chunk-LE2NOUTN.js} +3 -3
- package/dist/{chunk-KXDRI47U.js → chunk-LHDD4JHC.js} +6 -6
- package/dist/{chunk-2YZCWAVZ.js → chunk-LL6TOX3G.js} +9 -9
- package/dist/{chunk-YQ57ORTV.js → chunk-NCPZYQ4B.js} +2 -2
- package/dist/{chunk-EWJFUFPT.js → chunk-NDSGJZI2.js} +2 -2
- package/dist/{chunk-VG45TUYK.js → chunk-NH3QZYE5.js} +2 -2
- package/dist/{chunk-BFLMCE2U.js → chunk-NN5RYWXA.js} +7 -7
- package/dist/chunk-NOMQ5RFG.js +118 -0
- package/dist/chunk-NOMQ5RFG.js.map +1 -0
- package/dist/{chunk-KIK2ZFAL.js → chunk-QNHZM5ZV.js} +3 -3
- package/dist/{chunk-V3SVMFDQ.js → chunk-QR4FU53I.js} +8 -8
- package/dist/{chunk-FXDYIV3K.js → chunk-QVAA5KHK.js} +2 -2
- package/dist/{chunk-NGJZ4TOU.js → chunk-RBYTXYGD.js} +2 -2
- package/dist/{chunk-SWSJWA2S.js → chunk-RMLADZRY.js} +12 -9
- package/dist/chunk-RMLADZRY.js.map +1 -0
- package/dist/{chunk-CVCTIDDK.js → chunk-RVI6C2H5.js} +5 -5
- package/dist/{chunk-Q7POFB5Q.js → chunk-SQYHPBFP.js} +2 -2
- package/dist/{chunk-BFHDVFSK.js → chunk-TEJAGQX2.js} +64 -40
- package/dist/chunk-TEJAGQX2.js.map +1 -0
- package/dist/{chunk-QZWEJVWV.js → chunk-TZNNJLGT.js} +6 -6
- package/dist/{chunk-63QWFWH3.js → chunk-UDCI3QTS.js} +2 -2
- package/dist/{chunk-UKBAJ2QQ.js → chunk-UHIBKD73.js} +7 -7
- package/dist/{chunk-WXIM2WS7.js → chunk-V4STTBQD.js} +10 -10
- package/dist/{chunk-P4O6EH46.js → chunk-VMZG66UV.js} +5 -5
- package/dist/{chunk-C6HNNJIV.js → chunk-VNYWBHKR.js} +34 -4
- package/dist/chunk-VNYWBHKR.js.map +1 -0
- package/dist/{chunk-HYGUPUV5.js → chunk-VUUN3KE4.js} +10 -10
- package/dist/chunk-VUUN3KE4.js.map +1 -0
- package/dist/{chunk-UUEW5KWB.js → chunk-WG4MLJ6J.js} +15 -10
- package/dist/chunk-WG4MLJ6J.js.map +1 -0
- package/dist/{chunk-3F27M7ZD.js → chunk-XFQGI2E3.js} +66 -43
- package/dist/chunk-XFQGI2E3.js.map +1 -0
- package/dist/{chunk-LUKXJSRI.js → chunk-XXFSOVL3.js} +4 -4
- package/dist/{chunk-PZ5WSR5Z.js → chunk-Y3RX7LZT.js} +8 -5
- package/dist/chunk-Y3RX7LZT.js.map +1 -0
- package/dist/{chunk-KB64WNBZ.js → chunk-YRCEOQPX.js} +4 -2
- package/dist/chunk-YRCEOQPX.js.map +1 -0
- package/dist/{chunk-6MLEBAYZ.js → chunk-ZAXRQLK3.js} +2 -2
- package/dist/{claude-LN7OWVNI.js → claude-ONQTDWV3.js} +4 -4
- package/dist/{cleanup-4ZM2AJDC.js → cleanup-YOM6PQCN.js} +35 -34
- package/dist/{cleanup-4ZM2AJDC.js.map → cleanup-YOM6PQCN.js.map} +1 -1
- package/dist/cli.js +227 -152
- package/dist/cli.js.map +1 -1
- package/dist/{color-4TJ4P5EY.js → color-VQD52LOI.js} +3 -3
- package/dist/{commit-4CFLXRZ3.js → commit-DC2Q5CDY.js} +15 -15
- package/dist/{compile-7ALJHZ4N.js → compile-4NCQECKE.js} +11 -11
- package/dist/{contribute-5GKLK3BQ.js → contribute-M5UWXCAV.js} +12 -12
- package/dist/darwin-5BHWRJ7D.js +10 -0
- package/dist/{dev-server-7SMIB7OF.js → dev-server-CYRP6M73.js} +19 -19
- package/dist/{feedback-EZWF5CAL.js → feedback-BMAZGKRW.js} +16 -16
- package/dist/{git-GTLKAZRJ.js → git-BXUD6CL5.js} +6 -6
- package/dist/ignite-IO4LXVXJ.js +35 -0
- package/dist/index.d.ts +39 -65
- package/dist/index.js +634 -107
- package/dist/index.js.map +1 -1
- package/dist/{init-ZB2RITW6.js → init-CI43GJHV.js} +17 -17
- package/dist/{init-ZB2RITW6.js.map → init-CI43GJHV.js.map} +1 -1
- package/dist/{install-deps-RLSGSHH7.js → install-deps-SRTM5U7D.js} +11 -11
- package/dist/{installation-detector-MMFWLJYN.js → installation-detector-HF6QN7KP.js} +3 -3
- package/dist/{issues-4UUAQ5K6.js → issues-DMRQJH7E.js} +15 -15
- package/dist/lint-BSWRMGPZ.js +27 -0
- package/dist/linux-RYLOP2LY.js +103 -0
- package/dist/linux-RYLOP2LY.js.map +1 -0
- package/dist/mcp/chunk-PIIRD4LO.js +373 -0
- package/dist/mcp/chunk-PIIRD4LO.js.map +1 -0
- package/dist/mcp/darwin-3JFFE3W2.js +10 -0
- package/dist/mcp/issue-management-server.js +23 -127
- package/dist/mcp/issue-management-server.js.map +1 -1
- package/dist/mcp/linux-JBVS4R3A.js +103 -0
- package/dist/mcp/linux-JBVS4R3A.js.map +1 -0
- package/dist/mcp/tmux-RYBLEHUZ.js +156 -0
- package/dist/mcp/tmux-RYBLEHUZ.js.map +1 -0
- package/dist/mcp/wsl-4QZIQLLE.js +78 -0
- package/dist/mcp/wsl-4QZIQLLE.js.map +1 -0
- package/dist/neon-helpers-HWIYRKOW.js +11 -0
- package/dist/{open-FXWW3VI4.js → open-2Y7GSUTJ.js} +19 -19
- package/dist/{plan-D3KSN5MU.js → plan-SWFPLNJE.js} +47 -46
- package/dist/{plan-D3KSN5MU.js.map → plan-SWFPLNJE.js.map} +1 -1
- package/dist/{projects-2UOXFLNZ.js → projects-IUSUXD5D.js} +6 -6
- package/dist/{prompt-ONNPSNKM.js → prompt-7LZB4PAT.js} +3 -3
- package/dist/prompts/init-prompt.txt +56 -107
- package/dist/prompts/issue-prompt.txt +58 -12
- package/dist/prompts/pr-prompt.txt +154 -4
- package/dist/prompts/regular-prompt.txt +20 -3
- package/dist/prompts/swarm-orchestrator-prompt.txt +114 -8
- package/dist/{rebase-62FDLIH4.js → rebase-S6OHAOOF.js} +12 -12
- package/dist/{recap-OMBOKJST.js → recap-GGVCG5VH.js} +9 -9
- package/dist/{remote-IJAMOEAP.js → remote-MZTFHHTU.js} +3 -3
- package/dist/remote-MZTFHHTU.js.map +1 -0
- package/dist/{run-BBXLRIZB.js → run-ST3FR75O.js} +19 -19
- package/dist/schema/settings.schema.json +8 -49
- package/dist/{shell-RF7LTND5.js → shell-W4SBQPTE.js} +8 -8
- package/dist/{summary-YZI25KW4.js → summary-P2JCIIJO.js} +17 -17
- package/dist/test-6JH4FE2X.js +27 -0
- package/dist/{test-git-XM4TM65W.js → test-git-2KFFAQ6B.js} +6 -6
- package/dist/{test-jira-LDTOYFSD.js → test-jira-FKDKG6CD.js} +8 -8
- package/dist/{test-prefix-GBO37XCN.js → test-prefix-GP2DAX37.js} +11 -11
- package/dist/test-prefix-GP2DAX37.js.map +1 -0
- package/dist/{test-tabs-D3POYOJ5.js → test-tabs-YDWMWTVA.js} +3 -3
- package/dist/{test-webserver-NZ3JTVLL.js → test-webserver-QI3QQFZ3.js} +8 -8
- package/dist/tmux-7ZTA3BDI.js +156 -0
- package/dist/tmux-7ZTA3BDI.js.map +1 -0
- package/dist/{update-HJKDYA3F.js → update-XLW7R7FL.js} +4 -4
- package/dist/{update-notifier-LBAUOOLM.js → update-notifier-EYLAXZAA.js} +3 -3
- package/dist/update-notifier-EYLAXZAA.js.map +1 -0
- package/dist/{vscode-6XUGHJKL.js → vscode-TOGE5N67.js} +13 -13
- package/dist/{vscode-announcement-EQ2SKK3T.js → vscode-announcement-NIX7O2MG.js} +3 -3
- package/dist/wsl-Y4GUTOQ7.js +78 -0
- package/dist/wsl-Y4GUTOQ7.js.map +1 -0
- package/package.json +4 -2
- package/dist/ClaudeContextManager-ZKTUVQB2.js +0 -14
- package/dist/ClaudeService-TRWOYQ6O.js +0 -13
- package/dist/GitHubService-MEHKHUQP.js +0 -12
- package/dist/IssueTrackerFactory-NG53YX5S.js +0 -14
- package/dist/LoomLauncher-FRECYMXS.js.map +0 -1
- package/dist/MetadataManager-5QZSTKNN.js +0 -10
- package/dist/ProjectCapabilityDetector-5KSYUTBJ.js +0 -11
- package/dist/SettingsMigrationManager-LEBMJP3B.js +0 -10
- package/dist/build-VHGEMXBA.js +0 -27
- package/dist/chunk-3F27M7ZD.js.map +0 -1
- package/dist/chunk-7VHJNVLF.js.map +0 -1
- package/dist/chunk-BFHDVFSK.js.map +0 -1
- package/dist/chunk-C6HNNJIV.js.map +0 -1
- package/dist/chunk-HYGUPUV5.js.map +0 -1
- package/dist/chunk-KB64WNBZ.js.map +0 -1
- package/dist/chunk-PZ5WSR5Z.js.map +0 -1
- package/dist/chunk-RJ3VBUFK.js.map +0 -1
- package/dist/chunk-RSYT7MVI.js.map +0 -1
- package/dist/chunk-SWSJWA2S.js.map +0 -1
- package/dist/chunk-UUEW5KWB.js.map +0 -1
- package/dist/chunk-VT4PDUYT.js.map +0 -1
- package/dist/chunk-ZGM2FE2R.js.map +0 -1
- package/dist/ignite-MQETGFNA.js +0 -34
- package/dist/lint-AAN2NZWG.js +0 -27
- package/dist/neon-helpers-CQN2PB4S.js +0 -11
- package/dist/test-SGO6I5Z7.js +0 -27
- package/dist/test-prefix-GBO37XCN.js.map +0 -1
- /package/dist/{BranchNamingService-4OP6LOH6.js.map → BranchNamingService-XBCO747L.js.map} +0 -0
- /package/dist/{ClaudeContextManager-ZKTUVQB2.js.map → ClaudeContextManager-SXDCWDJA.js.map} +0 -0
- /package/dist/{ClaudeService-TRWOYQ6O.js.map → ClaudeService-6E6MCGJE.js.map} +0 -0
- /package/dist/{GitHubService-MEHKHUQP.js.map → GitHubService-2R5GQG4K.js.map} +0 -0
- /package/dist/{IssueTrackerFactory-NG53YX5S.js.map → IssueTrackerFactory-XN6MQ4UN.js.map} +0 -0
- /package/dist/{MetadataManager-5QZSTKNN.js.map → MetadataManager-CMQQTFLQ.js.map} +0 -0
- /package/dist/{ProjectCapabilityDetector-5KSYUTBJ.js.map → ProjectCapabilityDetector-IC6NAFGY.js.map} +0 -0
- /package/dist/{PromptTemplateManager-YOE2SIPG.js.map → PromptTemplateManager-T5VTLJP3.js.map} +0 -0
- /package/dist/{SettingsManager-FNKCOZMQ.js.map → SettingsManager-WQ5NSGAH.js.map} +0 -0
- /package/dist/{SettingsMigrationManager-LEBMJP3B.js.map → SettingsMigrationManager-S6J7OHUH.js.map} +0 -0
- /package/dist/{build-VHGEMXBA.js.map → build-OLS6J5KZ.js.map} +0 -0
- /package/dist/{chunk-WWKOVDWC.js.map → chunk-3GTUXW26.js.map} +0 -0
- /package/dist/{chunk-4FGEGQW4.js.map → chunk-3RXYOBME.js.map} +0 -0
- /package/dist/{chunk-HEXKPKCK.js.map → chunk-5LTID2AF.js.map} +0 -0
- /package/dist/{chunk-G5V75JD5.js.map → chunk-5PNZBH6V.js.map} +0 -0
- /package/dist/{chunk-XE4BDRZD.js.map → chunk-6YVJVUR4.js.map} +0 -0
- /package/dist/{chunk-QFTDZ5E3.js.map → chunk-7NFCGKZT.js.map} +0 -0
- /package/dist/{chunk-433MOLAU.js.map → chunk-7OCGBJLR.js.map} +0 -0
- /package/dist/{chunk-2VEWSM34.js.map → chunk-ABVMUNCD.js.map} +0 -0
- /package/dist/{chunk-7JDMYTFZ.js.map → chunk-CV47VCMQ.js.map} +0 -0
- /package/dist/{chunk-MORRVYPT.js.map → chunk-G2MNSPA4.js.map} +0 -0
- /package/dist/{chunk-LLHXQS3C.js.map → chunk-HLDY5S4C.js.map} +0 -0
- /package/dist/{chunk-BYUMEDDD.js.map → chunk-IDCE26KD.js.map} +0 -0
- /package/dist/{chunk-O7VL5N6S.js.map → chunk-K7R5QY6C.js.map} +0 -0
- /package/dist/{chunk-BU53XIGY.js.map → chunk-KQFIGI37.js.map} +0 -0
- /package/dist/{chunk-I5T677EA.js.map → chunk-LE2NOUTN.js.map} +0 -0
- /package/dist/{chunk-KXDRI47U.js.map → chunk-LHDD4JHC.js.map} +0 -0
- /package/dist/{chunk-2YZCWAVZ.js.map → chunk-LL6TOX3G.js.map} +0 -0
- /package/dist/{chunk-YQ57ORTV.js.map → chunk-NCPZYQ4B.js.map} +0 -0
- /package/dist/{chunk-EWJFUFPT.js.map → chunk-NDSGJZI2.js.map} +0 -0
- /package/dist/{chunk-VG45TUYK.js.map → chunk-NH3QZYE5.js.map} +0 -0
- /package/dist/{chunk-BFLMCE2U.js.map → chunk-NN5RYWXA.js.map} +0 -0
- /package/dist/{chunk-KIK2ZFAL.js.map → chunk-QNHZM5ZV.js.map} +0 -0
- /package/dist/{chunk-V3SVMFDQ.js.map → chunk-QR4FU53I.js.map} +0 -0
- /package/dist/{chunk-FXDYIV3K.js.map → chunk-QVAA5KHK.js.map} +0 -0
- /package/dist/{chunk-NGJZ4TOU.js.map → chunk-RBYTXYGD.js.map} +0 -0
- /package/dist/{chunk-CVCTIDDK.js.map → chunk-RVI6C2H5.js.map} +0 -0
- /package/dist/{chunk-Q7POFB5Q.js.map → chunk-SQYHPBFP.js.map} +0 -0
- /package/dist/{chunk-QZWEJVWV.js.map → chunk-TZNNJLGT.js.map} +0 -0
- /package/dist/{chunk-63QWFWH3.js.map → chunk-UDCI3QTS.js.map} +0 -0
- /package/dist/{chunk-UKBAJ2QQ.js.map → chunk-UHIBKD73.js.map} +0 -0
- /package/dist/{chunk-WXIM2WS7.js.map → chunk-V4STTBQD.js.map} +0 -0
- /package/dist/{chunk-P4O6EH46.js.map → chunk-VMZG66UV.js.map} +0 -0
- /package/dist/{chunk-LUKXJSRI.js.map → chunk-XXFSOVL3.js.map} +0 -0
- /package/dist/{chunk-6MLEBAYZ.js.map → chunk-ZAXRQLK3.js.map} +0 -0
- /package/dist/{claude-LN7OWVNI.js.map → claude-ONQTDWV3.js.map} +0 -0
- /package/dist/{color-4TJ4P5EY.js.map → color-VQD52LOI.js.map} +0 -0
- /package/dist/{commit-4CFLXRZ3.js.map → commit-DC2Q5CDY.js.map} +0 -0
- /package/dist/{compile-7ALJHZ4N.js.map → compile-4NCQECKE.js.map} +0 -0
- /package/dist/{contribute-5GKLK3BQ.js.map → contribute-M5UWXCAV.js.map} +0 -0
- /package/dist/{git-GTLKAZRJ.js.map → darwin-5BHWRJ7D.js.map} +0 -0
- /package/dist/{dev-server-7SMIB7OF.js.map → dev-server-CYRP6M73.js.map} +0 -0
- /package/dist/{feedback-EZWF5CAL.js.map → feedback-BMAZGKRW.js.map} +0 -0
- /package/dist/{ignite-MQETGFNA.js.map → git-BXUD6CL5.js.map} +0 -0
- /package/dist/{installation-detector-MMFWLJYN.js.map → ignite-IO4LXVXJ.js.map} +0 -0
- /package/dist/{install-deps-RLSGSHH7.js.map → install-deps-SRTM5U7D.js.map} +0 -0
- /package/dist/{neon-helpers-CQN2PB4S.js.map → installation-detector-HF6QN7KP.js.map} +0 -0
- /package/dist/{issues-4UUAQ5K6.js.map → issues-DMRQJH7E.js.map} +0 -0
- /package/dist/{lint-AAN2NZWG.js.map → lint-BSWRMGPZ.js.map} +0 -0
- /package/dist/{prompt-ONNPSNKM.js.map → mcp/darwin-3JFFE3W2.js.map} +0 -0
- /package/dist/{remote-IJAMOEAP.js.map → neon-helpers-HWIYRKOW.js.map} +0 -0
- /package/dist/{open-FXWW3VI4.js.map → open-2Y7GSUTJ.js.map} +0 -0
- /package/dist/{projects-2UOXFLNZ.js.map → projects-IUSUXD5D.js.map} +0 -0
- /package/dist/{update-notifier-LBAUOOLM.js.map → prompt-7LZB4PAT.js.map} +0 -0
- /package/dist/{rebase-62FDLIH4.js.map → rebase-S6OHAOOF.js.map} +0 -0
- /package/dist/{recap-OMBOKJST.js.map → recap-GGVCG5VH.js.map} +0 -0
- /package/dist/{run-BBXLRIZB.js.map → run-ST3FR75O.js.map} +0 -0
- /package/dist/{shell-RF7LTND5.js.map → shell-W4SBQPTE.js.map} +0 -0
- /package/dist/{summary-YZI25KW4.js.map → summary-P2JCIIJO.js.map} +0 -0
- /package/dist/{test-SGO6I5Z7.js.map → test-6JH4FE2X.js.map} +0 -0
- /package/dist/{test-git-XM4TM65W.js.map → test-git-2KFFAQ6B.js.map} +0 -0
- /package/dist/{test-jira-LDTOYFSD.js.map → test-jira-FKDKG6CD.js.map} +0 -0
- /package/dist/{test-tabs-D3POYOJ5.js.map → test-tabs-YDWMWTVA.js.map} +0 -0
- /package/dist/{test-webserver-NZ3JTVLL.js.map → test-webserver-QI3QQFZ3.js.map} +0 -0
- /package/dist/{update-HJKDYA3F.js.map → update-XLW7R7FL.js.map} +0 -0
- /package/dist/{vscode-6XUGHJKL.js.map → vscode-TOGE5N67.js.map} +0 -0
- /package/dist/{vscode-announcement-EQ2SKK3T.js.map → vscode-announcement-NIX7O2MG.js.map} +0 -0
package/dist/cli.js
CHANGED
|
@@ -1,100 +1,114 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
3
|
-
StartCommand,
|
|
4
|
-
launchFirstRunSetup,
|
|
5
|
-
needsFirstRunSetup
|
|
6
|
-
} from "./chunk-BFHDVFSK.js";
|
|
7
2
|
import {
|
|
8
3
|
SessionSummaryService
|
|
9
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-QR4FU53I.js";
|
|
10
5
|
import "./chunk-NXMDEL3F.js";
|
|
11
6
|
import {
|
|
12
7
|
ResourceCleanup
|
|
13
|
-
} from "./chunk-
|
|
14
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-7FIXNAUO.js";
|
|
9
|
+
import "./chunk-XXFSOVL3.js";
|
|
10
|
+
import {
|
|
11
|
+
StartCommand,
|
|
12
|
+
launchFirstRunSetup,
|
|
13
|
+
needsFirstRunSetup
|
|
14
|
+
} from "./chunk-TEJAGQX2.js";
|
|
15
15
|
import {
|
|
16
16
|
CLIIsolationManager,
|
|
17
17
|
DatabaseManager,
|
|
18
18
|
EnvironmentManager,
|
|
19
19
|
LoomManager
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-XFQGI2E3.js";
|
|
21
21
|
import {
|
|
22
22
|
PRManager
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-ABVMUNCD.js";
|
|
24
|
+
import {
|
|
25
|
+
IssueEnhancementService
|
|
26
|
+
} from "./chunk-NN5RYWXA.js";
|
|
27
|
+
import {
|
|
28
|
+
capitalizeFirstLetter
|
|
29
|
+
} from "./chunk-4E7LCFUG.js";
|
|
24
30
|
import {
|
|
25
31
|
CommitManager,
|
|
26
32
|
UserAbortedCommitError,
|
|
27
33
|
ValidationRunner
|
|
28
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-VUUN3KE4.js";
|
|
29
35
|
import {
|
|
30
36
|
BuildRunner,
|
|
31
37
|
MergeManager
|
|
32
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-LL6TOX3G.js";
|
|
33
39
|
import {
|
|
34
40
|
assembleChildrenData
|
|
35
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-TZNNJLGT.js";
|
|
42
|
+
import "./chunk-NOMQ5RFG.js";
|
|
43
|
+
import "./chunk-5UFGO4ZT.js";
|
|
36
44
|
import {
|
|
37
45
|
IssueManagementProviderFactory
|
|
38
|
-
} from "./chunk-
|
|
46
|
+
} from "./chunk-RMLADZRY.js";
|
|
39
47
|
import "./chunk-4232AHNQ.js";
|
|
40
48
|
import {
|
|
41
49
|
ProcessManager
|
|
42
|
-
} from "./chunk-
|
|
43
|
-
import
|
|
50
|
+
} from "./chunk-5PNZBH6V.js";
|
|
51
|
+
import {
|
|
52
|
+
IdentifierParser
|
|
53
|
+
} from "./chunk-UDCI3QTS.js";
|
|
54
|
+
import {
|
|
55
|
+
openBrowser
|
|
56
|
+
} from "./chunk-YETJNRQM.js";
|
|
57
|
+
import "./chunk-HLDY5S4C.js";
|
|
44
58
|
import {
|
|
45
59
|
installDependencies
|
|
46
|
-
} from "./chunk-
|
|
60
|
+
} from "./chunk-3GTUXW26.js";
|
|
47
61
|
import {
|
|
48
|
-
|
|
49
|
-
|
|
62
|
+
getIdeConfig,
|
|
63
|
+
getInstallHint,
|
|
64
|
+
isIdeAvailable
|
|
65
|
+
} from "./chunk-K7R5QY6C.js";
|
|
66
|
+
import {
|
|
67
|
+
ClaudeContextManager
|
|
68
|
+
} from "./chunk-6YVJVUR4.js";
|
|
69
|
+
import "./chunk-GYCR2LOU.js";
|
|
70
|
+
import "./chunk-7NFCGKZT.js";
|
|
71
|
+
import {
|
|
72
|
+
ProjectCapabilityDetector
|
|
73
|
+
} from "./chunk-G2MNSPA4.js";
|
|
74
|
+
import "./chunk-NCPZYQ4B.js";
|
|
50
75
|
import {
|
|
51
76
|
createNeonProviderFromSettings
|
|
52
|
-
} from "./chunk-
|
|
77
|
+
} from "./chunk-VMZG66UV.js";
|
|
53
78
|
import {
|
|
54
79
|
ShellCompletion
|
|
55
|
-
} from "./chunk-
|
|
80
|
+
} from "./chunk-QNHZM5ZV.js";
|
|
56
81
|
import {
|
|
57
82
|
TelemetryManager,
|
|
58
83
|
TelemetryService
|
|
59
|
-
} from "./chunk-
|
|
60
|
-
import
|
|
61
|
-
GitWorktreeManager
|
|
62
|
-
} from "./chunk-I5T677EA.js";
|
|
63
|
-
import "./chunk-Q7POFB5Q.js";
|
|
84
|
+
} from "./chunk-GMDSYLI6.js";
|
|
85
|
+
import "./chunk-SQYHPBFP.js";
|
|
64
86
|
import {
|
|
65
|
-
|
|
66
|
-
} from "./chunk-
|
|
87
|
+
AgentManager
|
|
88
|
+
} from "./chunk-VNYWBHKR.js";
|
|
67
89
|
import {
|
|
68
|
-
|
|
69
|
-
} from "./chunk-
|
|
70
|
-
import "./chunk-SKSYYBCU.js";
|
|
90
|
+
GitWorktreeManager
|
|
91
|
+
} from "./chunk-LE2NOUTN.js";
|
|
71
92
|
import {
|
|
72
|
-
|
|
73
|
-
} from "./chunk-
|
|
93
|
+
IssueTrackerFactory
|
|
94
|
+
} from "./chunk-UHIBKD73.js";
|
|
95
|
+
import "./chunk-5LTID2AF.js";
|
|
74
96
|
import {
|
|
75
|
-
|
|
76
|
-
} from "./chunk-
|
|
77
|
-
import "./chunk-
|
|
97
|
+
GitHubService
|
|
98
|
+
} from "./chunk-LHDD4JHC.js";
|
|
99
|
+
import "./chunk-NH3QZYE5.js";
|
|
78
100
|
import {
|
|
79
|
-
|
|
80
|
-
|
|
101
|
+
promptConfirmation,
|
|
102
|
+
waitForKeypress
|
|
103
|
+
} from "./chunk-CV47VCMQ.js";
|
|
104
|
+
import "./chunk-7OCGBJLR.js";
|
|
81
105
|
import {
|
|
82
106
|
getConfiguredRepoFromSettings,
|
|
83
107
|
hasMultipleRemotes
|
|
84
|
-
} from "./chunk-
|
|
85
|
-
import
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
isIdeAvailable
|
|
89
|
-
} from "./chunk-O7VL5N6S.js";
|
|
90
|
-
import {
|
|
91
|
-
ClaudeContextManager
|
|
92
|
-
} from "./chunk-XE4BDRZD.js";
|
|
93
|
-
import "./chunk-BU53XIGY.js";
|
|
94
|
-
import "./chunk-PZ5WSR5Z.js";
|
|
95
|
-
import "./chunk-UUEW5KWB.js";
|
|
96
|
-
import "./chunk-GYCR2LOU.js";
|
|
97
|
-
import "./chunk-QFTDZ5E3.js";
|
|
108
|
+
} from "./chunk-QVAA5KHK.js";
|
|
109
|
+
import "./chunk-KQFIGI37.js";
|
|
110
|
+
import "./chunk-Y3RX7LZT.js";
|
|
111
|
+
import "./chunk-WG4MLJ6J.js";
|
|
98
112
|
import {
|
|
99
113
|
GitCommandError,
|
|
100
114
|
executeGitCommand,
|
|
@@ -107,35 +121,22 @@ import {
|
|
|
107
121
|
pushBranchToRemote,
|
|
108
122
|
removePlaceholderCommitFromHead,
|
|
109
123
|
removePlaceholderCommitFromHistory
|
|
110
|
-
} from "./chunk-
|
|
124
|
+
} from "./chunk-3RXYOBME.js";
|
|
111
125
|
import {
|
|
112
126
|
SettingsManager
|
|
113
|
-
} from "./chunk-
|
|
127
|
+
} from "./chunk-ET6A2JR4.js";
|
|
114
128
|
import {
|
|
115
129
|
MetadataManager
|
|
116
|
-
} from "./chunk-
|
|
117
|
-
import {
|
|
118
|
-
IssueTrackerFactory
|
|
119
|
-
} from "./chunk-UKBAJ2QQ.js";
|
|
120
|
-
import "./chunk-HEXKPKCK.js";
|
|
121
|
-
import {
|
|
122
|
-
GitHubService
|
|
123
|
-
} from "./chunk-KXDRI47U.js";
|
|
124
|
-
import "./chunk-VG45TUYK.js";
|
|
130
|
+
} from "./chunk-YRCEOQPX.js";
|
|
125
131
|
import {
|
|
126
132
|
getLogger,
|
|
127
133
|
withLogger
|
|
128
|
-
} from "./chunk-
|
|
129
|
-
import {
|
|
130
|
-
promptConfirmation,
|
|
131
|
-
waitForKeypress
|
|
132
|
-
} from "./chunk-7JDMYTFZ.js";
|
|
133
|
-
import "./chunk-433MOLAU.js";
|
|
134
|
+
} from "./chunk-ZAXRQLK3.js";
|
|
134
135
|
import {
|
|
135
136
|
createStderrLogger,
|
|
136
137
|
loadEnvIntoProcess,
|
|
137
138
|
logger
|
|
138
|
-
} from "./chunk-
|
|
139
|
+
} from "./chunk-H2SSF24U.js";
|
|
139
140
|
|
|
140
141
|
// src/cli.ts
|
|
141
142
|
import { program, Option } from "commander";
|
|
@@ -348,7 +349,7 @@ var FinishCommand = class {
|
|
|
348
349
|
const neonProvider = createNeonProviderFromSettings(settings);
|
|
349
350
|
const databaseManager = new DatabaseManager(neonProvider, environmentManager, databaseUrlEnvVarName);
|
|
350
351
|
const cliIsolationManager = new CLIIsolationManager();
|
|
351
|
-
const { DefaultBranchNamingService } = await import("./BranchNamingService-
|
|
352
|
+
const { DefaultBranchNamingService } = await import("./BranchNamingService-XBCO747L.js");
|
|
352
353
|
this.loomManager ??= new LoomManager(
|
|
353
354
|
this.gitWorktreeManager,
|
|
354
355
|
this.issueTracker,
|
|
@@ -525,7 +526,7 @@ var FinishCommand = class {
|
|
|
525
526
|
if (result.type === "issue" && result.number !== void 0) {
|
|
526
527
|
const worktree = await this.gitWorktreeManager.findWorktreeForIssue(result.number);
|
|
527
528
|
if (worktree) {
|
|
528
|
-
const { MetadataManager: MetadataManager2 } = await import("./MetadataManager-
|
|
529
|
+
const { MetadataManager: MetadataManager2 } = await import("./MetadataManager-CMQQTFLQ.js");
|
|
529
530
|
const metadataManager = new MetadataManager2();
|
|
530
531
|
const metadata = await metadataManager.readMetadata(worktree.path);
|
|
531
532
|
const canonicalKey = (metadata == null ? void 0 : metadata.issueKey) ?? ((_a2 = metadata == null ? void 0 : metadata.issue_numbers) == null ? void 0 : _a2[0]);
|
|
@@ -555,7 +556,7 @@ var FinishCommand = class {
|
|
|
555
556
|
autoDetected: true
|
|
556
557
|
};
|
|
557
558
|
}
|
|
558
|
-
const { MetadataManager: MetadataManager2 } = await import("./MetadataManager-
|
|
559
|
+
const { MetadataManager: MetadataManager2 } = await import("./MetadataManager-CMQQTFLQ.js");
|
|
559
560
|
const metadataManager = new MetadataManager2();
|
|
560
561
|
const metadata = await metadataManager.readMetadata(process.cwd());
|
|
561
562
|
const issueNumber = extractIssueNumber(currentDir);
|
|
@@ -831,7 +832,7 @@ var FinishCommand = class {
|
|
|
831
832
|
return;
|
|
832
833
|
}
|
|
833
834
|
if (mergeBehavior.mode === "github-draft-pr") {
|
|
834
|
-
const { MetadataManager: MetadataManager3 } = await import("./MetadataManager-
|
|
835
|
+
const { MetadataManager: MetadataManager3 } = await import("./MetadataManager-CMQQTFLQ.js");
|
|
835
836
|
const metadataManager2 = new MetadataManager3();
|
|
836
837
|
const metadata = await metadataManager2.readMetadata(worktree.path);
|
|
837
838
|
getLogger().debug(`Draft PR mode: worktree=${worktree.path}, draftPrNumber=${(metadata == null ? void 0 : metadata.draftPrNumber) ?? "none"}`);
|
|
@@ -927,7 +928,7 @@ var FinishCommand = class {
|
|
|
927
928
|
getLogger().debug("Skipping build verification (--skip-build flag provided)");
|
|
928
929
|
}
|
|
929
930
|
await this.generateSessionSummaryIfConfigured(parsed, worktree, options);
|
|
930
|
-
const { MetadataManager: MetadataManager2 } = await import("./MetadataManager-
|
|
931
|
+
const { MetadataManager: MetadataManager2 } = await import("./MetadataManager-CMQQTFLQ.js");
|
|
931
932
|
const metadataManager = new MetadataManager2();
|
|
932
933
|
if (!options.dryRun) {
|
|
933
934
|
await metadataManager.archiveMetadata(worktree.path);
|
|
@@ -956,7 +957,7 @@ var FinishCommand = class {
|
|
|
956
957
|
"Cannot cleanup PR with uncommitted changes. Commit or stash changes, then run again with --force to cleanup anyway."
|
|
957
958
|
);
|
|
958
959
|
}
|
|
959
|
-
const { MetadataManager: MetadataManager2 } = await import("./MetadataManager-
|
|
960
|
+
const { MetadataManager: MetadataManager2 } = await import("./MetadataManager-CMQQTFLQ.js");
|
|
960
961
|
const metadataManager = new MetadataManager2();
|
|
961
962
|
if (!options.dryRun) {
|
|
962
963
|
await metadataManager.archiveMetadata(worktree.path);
|
|
@@ -1104,7 +1105,7 @@ var FinishCommand = class {
|
|
|
1104
1105
|
}
|
|
1105
1106
|
finishResult.prUrl = prResult.url;
|
|
1106
1107
|
await this.generateSessionSummaryIfConfigured(parsed, worktree, options, prResult.number);
|
|
1107
|
-
const { MetadataManager: MetadataManager2 } = await import("./MetadataManager-
|
|
1108
|
+
const { MetadataManager: MetadataManager2 } = await import("./MetadataManager-CMQQTFLQ.js");
|
|
1108
1109
|
const metadataManager = new MetadataManager2();
|
|
1109
1110
|
if (!options.dryRun) {
|
|
1110
1111
|
await metadataManager.archiveMetadata(worktree.path);
|
|
@@ -1512,12 +1513,12 @@ function determineLoomType(worktree) {
|
|
|
1512
1513
|
}
|
|
1513
1514
|
return "branch";
|
|
1514
1515
|
}
|
|
1515
|
-
function extractPRNumbers(
|
|
1516
|
-
if (!
|
|
1516
|
+
function extractPRNumbers(path5) {
|
|
1517
|
+
if (!path5) {
|
|
1517
1518
|
return [];
|
|
1518
1519
|
}
|
|
1519
1520
|
const prPathPattern = /_pr_(\d+)$/;
|
|
1520
|
-
const match =
|
|
1521
|
+
const match = path5.match(prPathPattern);
|
|
1521
1522
|
if (match == null ? void 0 : match[1]) {
|
|
1522
1523
|
return [match[1]];
|
|
1523
1524
|
}
|
|
@@ -1645,29 +1646,75 @@ function formatFinishedLoomForJson(metadata, allMetadata, finishedMetadata) {
|
|
|
1645
1646
|
|
|
1646
1647
|
// src/cli.ts
|
|
1647
1648
|
import chalk from "chalk";
|
|
1648
|
-
import
|
|
1649
|
+
import fs4 from "fs-extra";
|
|
1649
1650
|
|
|
1650
1651
|
// src/lib/VersionMigrationManager.ts
|
|
1652
|
+
import fs3 from "fs-extra";
|
|
1653
|
+
import path4 from "path";
|
|
1654
|
+
import os3 from "os";
|
|
1655
|
+
|
|
1656
|
+
// src/migrations/index.ts
|
|
1651
1657
|
import fs2 from "fs-extra";
|
|
1652
1658
|
import path3 from "path";
|
|
1653
1659
|
import os2 from "os";
|
|
1654
1660
|
|
|
1655
|
-
// src/
|
|
1661
|
+
// src/utils/gitignore.ts
|
|
1656
1662
|
import fs from "fs-extra";
|
|
1657
1663
|
import path2 from "path";
|
|
1658
1664
|
import os from "os";
|
|
1665
|
+
async function resolveGlobalGitignorePath() {
|
|
1666
|
+
const logger2 = getLogger();
|
|
1667
|
+
const xdgDefault = path2.join(os.homedir(), ".config", "git", "ignore");
|
|
1668
|
+
try {
|
|
1669
|
+
const result = await executeGitCommand(["config", "--global", "--type=path", "core.excludesFile"]);
|
|
1670
|
+
let resolvedPath = result.trim();
|
|
1671
|
+
if (resolvedPath.startsWith("~")) {
|
|
1672
|
+
resolvedPath = resolvedPath.replace(/^~/, os.homedir());
|
|
1673
|
+
}
|
|
1674
|
+
return resolvedPath;
|
|
1675
|
+
} catch (error) {
|
|
1676
|
+
if (error instanceof GitCommandError && error.exitCode === 1) {
|
|
1677
|
+
return xdgDefault;
|
|
1678
|
+
}
|
|
1679
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
1680
|
+
logger2.debug(`Unexpected error resolving global gitignore path, using XDG default: ${errorMessage}`);
|
|
1681
|
+
return xdgDefault;
|
|
1682
|
+
}
|
|
1683
|
+
}
|
|
1684
|
+
async function ensureGlobalGitignorePatterns(patterns) {
|
|
1685
|
+
const resolvedPath = await resolveGlobalGitignorePath();
|
|
1686
|
+
await fs.ensureDir(path2.dirname(resolvedPath));
|
|
1687
|
+
let content = "";
|
|
1688
|
+
try {
|
|
1689
|
+
content = await fs.readFile(resolvedPath, "utf-8");
|
|
1690
|
+
} catch (error) {
|
|
1691
|
+
if (error instanceof Error && "code" in error && error.code === "ENOENT") {
|
|
1692
|
+
} else {
|
|
1693
|
+
throw error;
|
|
1694
|
+
}
|
|
1695
|
+
}
|
|
1696
|
+
const missingPatterns = patterns.filter((pattern) => !content.includes(pattern));
|
|
1697
|
+
if (missingPatterns.length === 0) {
|
|
1698
|
+
return;
|
|
1699
|
+
}
|
|
1700
|
+
const separator = content.endsWith("\n") || content === "" ? "" : "\n";
|
|
1701
|
+
const newContent = content + separator + "\n# Added by iloom CLI\n" + missingPatterns.join("\n") + "\n";
|
|
1702
|
+
await fs.writeFile(resolvedPath, newContent, "utf-8");
|
|
1703
|
+
}
|
|
1704
|
+
|
|
1705
|
+
// src/migrations/index.ts
|
|
1659
1706
|
var migrations = [
|
|
1660
1707
|
// v0.6.0 is the baseline - no migrations needed
|
|
1661
1708
|
{
|
|
1662
1709
|
version: "0.6.1",
|
|
1663
1710
|
description: "Add global gitignore for .iloom/settings.local.json",
|
|
1664
1711
|
migrate: async () => {
|
|
1665
|
-
const globalIgnorePath =
|
|
1712
|
+
const globalIgnorePath = path3.join(os2.homedir(), ".config", "git", "ignore");
|
|
1666
1713
|
const pattern = "**/.iloom/settings.local.json";
|
|
1667
|
-
await
|
|
1714
|
+
await fs2.ensureDir(path3.dirname(globalIgnorePath));
|
|
1668
1715
|
let content = "";
|
|
1669
1716
|
try {
|
|
1670
|
-
content = await
|
|
1717
|
+
content = await fs2.readFile(globalIgnorePath, "utf-8");
|
|
1671
1718
|
} catch {
|
|
1672
1719
|
}
|
|
1673
1720
|
if (content.includes(pattern)) {
|
|
@@ -1675,19 +1722,19 @@ var migrations = [
|
|
|
1675
1722
|
}
|
|
1676
1723
|
const separator = content.endsWith("\n") || content === "" ? "" : "\n";
|
|
1677
1724
|
const newContent = content + separator + "\n# Added by iloom CLI\n" + pattern + "\n";
|
|
1678
|
-
await
|
|
1725
|
+
await fs2.writeFile(globalIgnorePath, newContent, "utf-8");
|
|
1679
1726
|
}
|
|
1680
1727
|
},
|
|
1681
1728
|
{
|
|
1682
1729
|
version: "0.7.1",
|
|
1683
1730
|
description: "Add global gitignore for .iloom/package.iloom.local.json",
|
|
1684
1731
|
migrate: async () => {
|
|
1685
|
-
const globalIgnorePath =
|
|
1732
|
+
const globalIgnorePath = path3.join(os2.homedir(), ".config", "git", "ignore");
|
|
1686
1733
|
const pattern = "**/.iloom/package.iloom.local.json";
|
|
1687
|
-
await
|
|
1734
|
+
await fs2.ensureDir(path3.dirname(globalIgnorePath));
|
|
1688
1735
|
let content = "";
|
|
1689
1736
|
try {
|
|
1690
|
-
content = await
|
|
1737
|
+
content = await fs2.readFile(globalIgnorePath, "utf-8");
|
|
1691
1738
|
} catch {
|
|
1692
1739
|
}
|
|
1693
1740
|
if (content.includes(pattern)) {
|
|
@@ -1695,21 +1742,21 @@ var migrations = [
|
|
|
1695
1742
|
}
|
|
1696
1743
|
const separator = content.endsWith("\n") || content === "" ? "" : "\n";
|
|
1697
1744
|
const newContent = content + separator + "\n# Added by iloom CLI\n" + pattern + "\n";
|
|
1698
|
-
await
|
|
1745
|
+
await fs2.writeFile(globalIgnorePath, newContent, "utf-8");
|
|
1699
1746
|
}
|
|
1700
1747
|
},
|
|
1701
1748
|
{
|
|
1702
1749
|
version: "0.9.3",
|
|
1703
1750
|
description: "Add global gitignore for swarm mode agent and skill files",
|
|
1704
1751
|
migrate: async () => {
|
|
1705
|
-
const globalIgnorePath =
|
|
1752
|
+
const globalIgnorePath = path3.join(os2.homedir(), ".config", "git", "ignore");
|
|
1706
1753
|
const agentPattern = "**/.claude/agents/iloom-*";
|
|
1707
1754
|
const skillPattern = "**/.claude/skills/iloom-*";
|
|
1708
1755
|
const mcpConfigPathPattern = "**/.claude/iloom-swarm-mcp-config-path";
|
|
1709
|
-
await
|
|
1756
|
+
await fs2.ensureDir(path3.dirname(globalIgnorePath));
|
|
1710
1757
|
let content = "";
|
|
1711
1758
|
try {
|
|
1712
|
-
content = await
|
|
1759
|
+
content = await fs2.readFile(globalIgnorePath, "utf-8");
|
|
1713
1760
|
} catch {
|
|
1714
1761
|
}
|
|
1715
1762
|
if (content.includes(agentPattern)) {
|
|
@@ -1717,7 +1764,21 @@ var migrations = [
|
|
|
1717
1764
|
}
|
|
1718
1765
|
const separator = content.endsWith("\n") || content === "" ? "" : "\n";
|
|
1719
1766
|
const newContent = content + separator + "\n# Added by iloom CLI\n" + agentPattern + "\n" + skillPattern + "\n" + mcpConfigPathPattern + "\n";
|
|
1720
|
-
await
|
|
1767
|
+
await fs2.writeFile(globalIgnorePath, newContent, "utf-8");
|
|
1768
|
+
}
|
|
1769
|
+
},
|
|
1770
|
+
{
|
|
1771
|
+
version: "0.10.3",
|
|
1772
|
+
description: "Remediate global gitignore path for custom core.excludesFile",
|
|
1773
|
+
migrate: async () => {
|
|
1774
|
+
const allIloomPatterns = [
|
|
1775
|
+
"**/.iloom/settings.local.json",
|
|
1776
|
+
"**/.iloom/package.iloom.local.json",
|
|
1777
|
+
"**/.claude/agents/iloom-*",
|
|
1778
|
+
"**/.claude/skills/iloom-*",
|
|
1779
|
+
"**/.claude/iloom-swarm-mcp-config-path"
|
|
1780
|
+
];
|
|
1781
|
+
await ensureGlobalGitignorePatterns(allIloomPatterns);
|
|
1721
1782
|
}
|
|
1722
1783
|
}
|
|
1723
1784
|
];
|
|
@@ -1730,7 +1791,7 @@ var VersionMigrationManager = class {
|
|
|
1730
1791
|
}
|
|
1731
1792
|
// Return path to migration state file
|
|
1732
1793
|
getMigrationStatePath() {
|
|
1733
|
-
return
|
|
1794
|
+
return path4.join(os3.homedir(), ".config", "iloom-ai", "migration-state.json");
|
|
1734
1795
|
}
|
|
1735
1796
|
// Get effective version, respecting ILOOM_VERSION_OVERRIDE env var
|
|
1736
1797
|
// packageVersion is the version from package.json passed by caller
|
|
@@ -1747,7 +1808,7 @@ var VersionMigrationManager = class {
|
|
|
1747
1808
|
async loadFullMigrationState() {
|
|
1748
1809
|
const statePath = this.getMigrationStatePath();
|
|
1749
1810
|
try {
|
|
1750
|
-
const content = await
|
|
1811
|
+
const content = await fs3.readFile(statePath, "utf-8");
|
|
1751
1812
|
const state = JSON.parse(content);
|
|
1752
1813
|
if (typeof state.lastMigratedVersion === "string") {
|
|
1753
1814
|
return state;
|
|
@@ -1770,7 +1831,7 @@ var VersionMigrationManager = class {
|
|
|
1770
1831
|
async saveMigrationState(version, newFailures = []) {
|
|
1771
1832
|
const statePath = this.getMigrationStatePath();
|
|
1772
1833
|
try {
|
|
1773
|
-
await
|
|
1834
|
+
await fs3.ensureDir(path4.dirname(statePath));
|
|
1774
1835
|
const existingState = await this.loadFullMigrationState();
|
|
1775
1836
|
const existingFailures = existingState.failedMigrations ?? [];
|
|
1776
1837
|
const allFailures = [...existingFailures];
|
|
@@ -1787,7 +1848,7 @@ var VersionMigrationManager = class {
|
|
|
1787
1848
|
migratedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
1788
1849
|
...allFailures.length > 0 && { failedMigrations: allFailures }
|
|
1789
1850
|
};
|
|
1790
|
-
await
|
|
1851
|
+
await fs3.writeFile(statePath, JSON.stringify(state, null, 2), "utf-8");
|
|
1791
1852
|
} catch (error) {
|
|
1792
1853
|
logger.warn(`[VersionMigrationManager] Failed to save migration state: ${error}`);
|
|
1793
1854
|
}
|
|
@@ -1895,15 +1956,15 @@ program.name("iloom").description(packageJson.description).version(packageJson.v
|
|
|
1895
1956
|
process.exit(0);
|
|
1896
1957
|
}
|
|
1897
1958
|
try {
|
|
1898
|
-
const { checkAndNotifyUpdate } = await import("./update-notifier-
|
|
1899
|
-
const { detectInstallationMethod } = await import("./installation-detector-
|
|
1959
|
+
const { checkAndNotifyUpdate } = await import("./update-notifier-EYLAXZAA.js");
|
|
1960
|
+
const { detectInstallationMethod } = await import("./installation-detector-HF6QN7KP.js");
|
|
1900
1961
|
const installMethod = detectInstallationMethod(__filename);
|
|
1901
1962
|
const jsonMode = actionCommand.opts().json === true;
|
|
1902
1963
|
await checkAndNotifyUpdate(packageJson.version, packageJson.name, installMethod, { suppressOutput: jsonMode });
|
|
1903
1964
|
} catch {
|
|
1904
1965
|
}
|
|
1905
1966
|
try {
|
|
1906
|
-
const { SettingsMigrationManager } = await import("./SettingsMigrationManager-
|
|
1967
|
+
const { SettingsMigrationManager } = await import("./SettingsMigrationManager-S6J7OHUH.js");
|
|
1907
1968
|
const migrationManager = new SettingsMigrationManager();
|
|
1908
1969
|
await migrationManager.migrateSettingsIfNeeded();
|
|
1909
1970
|
} catch (error) {
|
|
@@ -1926,7 +1987,7 @@ program.name("iloom").description(packageJson.description).version(packageJson.v
|
|
|
1926
1987
|
await validateIdeForStartCommand(actionCommand);
|
|
1927
1988
|
}).hook("postAction", async (_thisCommand, actionCommand) => {
|
|
1928
1989
|
try {
|
|
1929
|
-
const { showVSCodeAnnouncementIfNeeded } = await import("./vscode-announcement-
|
|
1990
|
+
const { showVSCodeAnnouncementIfNeeded } = await import("./vscode-announcement-NIX7O2MG.js");
|
|
1930
1991
|
const jsonMode = actionCommand.opts().json === true;
|
|
1931
1992
|
if (!jsonMode) {
|
|
1932
1993
|
await showVSCodeAnnouncementIfNeeded(actionCommand.name());
|
|
@@ -2055,21 +2116,21 @@ async function autoLaunchInitForMultipleRemotes() {
|
|
|
2055
2116
|
logger.info("iloom will now launch an interactive configuration session with Claude");
|
|
2056
2117
|
logger.info("to help you select which remote to use for GitHub operations.");
|
|
2057
2118
|
logger.info("");
|
|
2058
|
-
const { waitForKeypress: waitForKeypress2 } = await import("./prompt-
|
|
2119
|
+
const { waitForKeypress: waitForKeypress2 } = await import("./prompt-7LZB4PAT.js");
|
|
2059
2120
|
await waitForKeypress2("Press any key to start configuration...");
|
|
2060
2121
|
logger.info("");
|
|
2061
2122
|
try {
|
|
2062
|
-
const { InitCommand } = await import("./init-
|
|
2123
|
+
const { InitCommand } = await import("./init-CI43GJHV.js");
|
|
2063
2124
|
const initCommand = new InitCommand();
|
|
2064
2125
|
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.";
|
|
2065
2126
|
await initCommand.execute(customInitialMessage);
|
|
2066
2127
|
logger.info("");
|
|
2067
2128
|
logger.info("Configuration complete! Continuing with your original command...");
|
|
2068
2129
|
logger.info("");
|
|
2069
|
-
const { SettingsManager: SettingsManager2 } = await import("./SettingsManager-
|
|
2130
|
+
const { SettingsManager: SettingsManager2 } = await import("./SettingsManager-WQ5NSGAH.js");
|
|
2070
2131
|
const settingsManager = new SettingsManager2();
|
|
2071
2132
|
const settings = await settingsManager.loadSettings();
|
|
2072
|
-
const { hasMultipleRemotes: hasMultipleRemotes2 } = await import("./remote-
|
|
2133
|
+
const { hasMultipleRemotes: hasMultipleRemotes2 } = await import("./remote-MZTFHHTU.js");
|
|
2073
2134
|
const multipleRemotes = await hasMultipleRemotes2();
|
|
2074
2135
|
if (multipleRemotes && !((_b = (_a2 = settings.issueManagement) == null ? void 0 : _a2.github) == null ? void 0 : _b.remote)) {
|
|
2075
2136
|
logger.error("Configuration incomplete: GitHub remote is still not configured.");
|
|
@@ -2087,7 +2148,9 @@ var shellCompletion = new ShellCompletion();
|
|
|
2087
2148
|
shellCompletion.init();
|
|
2088
2149
|
program.command("start").alias("new").alias("create").alias("up").description("Create isolated workspace for an issue/PR").argument("[identifier]", "Issue number, PR number, or branch name (optional - will prompt if not provided)").option("--claude", "Enable Claude integration (default: true)").option("--no-claude", "Disable Claude integration").option("--code", "Enable VSCode (default: true)").option("--no-code", "Disable VSCode").option("--dev-server", "Enable dev server in terminal (default: true)").option("--no-dev-server", "Disable dev server").option("--terminal", "Enable terminal without dev server (default: false)").option("--no-terminal", "Disable terminal").option("--child-loom", "Force create as child loom (skip prompt)").option("--no-child-loom", "Force create as independent loom (skip prompt)").option("--epic", "Create as epic loom with child issues (skip prompt; ignored if no children)").option("--no-epic", "Skip epic loom creation even if issue has children (ignored if no children)").option("--body <text>", "Body text for issue (skips AI enhancement)").option("--json", "Output result as JSON").addOption(
|
|
2089
2150
|
new Option("--one-shot <mode>", "One-shot automation mode").choices(["default", "noReview", "bypassPermissions"]).default("default")
|
|
2090
|
-
).option("--yolo", "Enable autonomous mode (shorthand for --one-shot=bypassPermissions)").
|
|
2151
|
+
).option("--yolo", "Enable autonomous mode (shorthand for --one-shot=bypassPermissions)").addOption(
|
|
2152
|
+
new Option("--complexity <level>", "Override complexity evaluation (persists in loom metadata)").choices(["trivial", "simple", "complex"])
|
|
2153
|
+
).option("--create-only", "Create workspace only (skip Claude, IDE, terminal, dev server)").action(async (identifier, options) => {
|
|
2091
2154
|
if (options.yolo) {
|
|
2092
2155
|
options.oneShot = "bypassPermissions";
|
|
2093
2156
|
}
|
|
@@ -2099,7 +2162,7 @@ program.command("start").alias("new").alias("create").alias("up").description("C
|
|
|
2099
2162
|
logger.error("JSON mode requires identifier argument");
|
|
2100
2163
|
process.exit(1);
|
|
2101
2164
|
}
|
|
2102
|
-
const { promptInput } = await import("./prompt-
|
|
2165
|
+
const { promptInput } = await import("./prompt-7LZB4PAT.js");
|
|
2103
2166
|
finalIdentifier = await promptInput("Enter issue number, PR number (pr/123), or branch name");
|
|
2104
2167
|
if (!(finalIdentifier == null ? void 0 : finalIdentifier.trim())) {
|
|
2105
2168
|
logger.error("Identifier is required");
|
|
@@ -2114,6 +2177,7 @@ program.command("start").alias("new").alias("create").alias("up").description("C
|
|
|
2114
2177
|
if (options.json && result) {
|
|
2115
2178
|
console.log(JSON.stringify(result, null, 2));
|
|
2116
2179
|
}
|
|
2180
|
+
await TelemetryService.getInstance().shutdown();
|
|
2117
2181
|
process.exit(0);
|
|
2118
2182
|
} catch (error) {
|
|
2119
2183
|
logger.error(`Failed to start workspace: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
@@ -2148,6 +2212,7 @@ program.command("add-issue").alias("a").description("Create and enhance GitHub i
|
|
|
2148
2212
|
const issueNumber = typeof result === "object" ? result.id : result;
|
|
2149
2213
|
logger.success(`Issue #${issueNumber} created successfully`);
|
|
2150
2214
|
}
|
|
2215
|
+
await TelemetryService.getInstance().shutdown();
|
|
2151
2216
|
process.exit(0);
|
|
2152
2217
|
} catch (error) {
|
|
2153
2218
|
logger.error(`Failed to create issue: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
@@ -2163,7 +2228,7 @@ program.command("add-issue").alias("a").description("Create and enhance GitHub i
|
|
|
2163
2228
|
});
|
|
2164
2229
|
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) => {
|
|
2165
2230
|
try {
|
|
2166
|
-
const { FeedbackCommand } = await import("./feedback-
|
|
2231
|
+
const { FeedbackCommand } = await import("./feedback-BMAZGKRW.js");
|
|
2167
2232
|
const command = new FeedbackCommand();
|
|
2168
2233
|
const feedbackOptions = {};
|
|
2169
2234
|
if (options.body !== void 0) {
|
|
@@ -2174,6 +2239,7 @@ program.command("feedback").alias("f").description("Submit feedback/bug report t
|
|
|
2174
2239
|
options: feedbackOptions
|
|
2175
2240
|
});
|
|
2176
2241
|
logger.success(`Feedback submitted as issue #${issueNumber} in iloom-cli repository`);
|
|
2242
|
+
await TelemetryService.getInstance().shutdown();
|
|
2177
2243
|
process.exit(0);
|
|
2178
2244
|
} catch (error) {
|
|
2179
2245
|
logger.error(`Failed to submit feedback: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
@@ -2201,6 +2267,7 @@ program.command("enhance").description("Apply enhancement agent to existing GitH
|
|
|
2201
2267
|
} else {
|
|
2202
2268
|
logger.success(`Enhancement process completed for issue #${issueNumber}`);
|
|
2203
2269
|
}
|
|
2270
|
+
await TelemetryService.getInstance().shutdown();
|
|
2204
2271
|
process.exit(0);
|
|
2205
2272
|
} catch (error) {
|
|
2206
2273
|
logger.error(`Failed to enhance issue: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
@@ -2233,6 +2300,7 @@ program.command("finish").alias("dn").description("Merge work and cleanup worksp
|
|
|
2233
2300
|
if (isAnyJsonMode && result) {
|
|
2234
2301
|
console.log(options.jsonStream ? JSON.stringify(result) : JSON.stringify(result, null, 2));
|
|
2235
2302
|
}
|
|
2303
|
+
await TelemetryService.getInstance().shutdown();
|
|
2236
2304
|
process.exit(0);
|
|
2237
2305
|
} catch (error) {
|
|
2238
2306
|
if (isAnyJsonMode) {
|
|
@@ -2262,7 +2330,7 @@ program.command("commit").alias("c").description("Commit all uncommitted files w
|
|
|
2262
2330
|
const isAnyJsonMode = options.json ?? options.jsonStream;
|
|
2263
2331
|
const executeAction = async () => {
|
|
2264
2332
|
try {
|
|
2265
|
-
const { CommitCommand } = await import("./commit-
|
|
2333
|
+
const { CommitCommand } = await import("./commit-DC2Q5CDY.js");
|
|
2266
2334
|
const command = new CommitCommand();
|
|
2267
2335
|
const noReview = options.review === false || options.json === true || options.jsonStream === true;
|
|
2268
2336
|
const result = await command.execute({
|
|
@@ -2276,6 +2344,7 @@ program.command("commit").alias("c").description("Commit all uncommitted files w
|
|
|
2276
2344
|
if (isAnyJsonMode && result) {
|
|
2277
2345
|
console.log(options.jsonStream ? JSON.stringify(result) : JSON.stringify(result, null, 2));
|
|
2278
2346
|
}
|
|
2347
|
+
await TelemetryService.getInstance().shutdown();
|
|
2279
2348
|
process.exit(0);
|
|
2280
2349
|
} catch (error) {
|
|
2281
2350
|
if (error instanceof UserAbortedCommitError) {
|
|
@@ -2300,12 +2369,13 @@ program.command("commit").alias("c").description("Commit all uncommitted files w
|
|
|
2300
2369
|
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) => {
|
|
2301
2370
|
const executeAction = async () => {
|
|
2302
2371
|
try {
|
|
2303
|
-
const { RebaseCommand } = await import("./rebase-
|
|
2372
|
+
const { RebaseCommand } = await import("./rebase-S6OHAOOF.js");
|
|
2304
2373
|
const command = new RebaseCommand();
|
|
2305
2374
|
const result = await command.execute(options);
|
|
2306
2375
|
if (options.jsonStream && result) {
|
|
2307
2376
|
console.log(JSON.stringify(result));
|
|
2308
2377
|
}
|
|
2378
|
+
await TelemetryService.getInstance().shutdown();
|
|
2309
2379
|
process.exit(0);
|
|
2310
2380
|
} catch (error) {
|
|
2311
2381
|
if (options.jsonStream) {
|
|
@@ -2332,12 +2402,14 @@ program.command("spin").alias("ignite").description("Launch Claude with auto-det
|
|
|
2332
2402
|
new Option("--one-shot <mode>", "One-shot automation mode").choices(["default", "noReview", "bypassPermissions"])
|
|
2333
2403
|
).option("--yolo", "Enable autonomous mode (shorthand for --one-shot=bypassPermissions)").option("-p, --print", "Enable print/headless mode for CI/CD (uses bypassPermissions)").addOption(
|
|
2334
2404
|
new Option("--output-format <format>", "Output format for Claude CLI (requires --print)").choices(["json", "stream-json", "text"])
|
|
2335
|
-
).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").
|
|
2405
|
+
).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(
|
|
2406
|
+
new Option("--complexity <level>", "Override complexity evaluation (session-only)").choices(["trivial", "simple", "complex"])
|
|
2407
|
+
).action(async (options) => {
|
|
2336
2408
|
if (options.yolo) {
|
|
2337
2409
|
options.oneShot = "bypassPermissions";
|
|
2338
2410
|
}
|
|
2339
2411
|
try {
|
|
2340
|
-
const { IgniteCommand } = await import("./ignite-
|
|
2412
|
+
const { IgniteCommand } = await import("./ignite-IO4LXVXJ.js");
|
|
2341
2413
|
const command = new IgniteCommand();
|
|
2342
2414
|
if (options.json && options.jsonStream) {
|
|
2343
2415
|
logger.error("--json and --json-stream are mutually exclusive");
|
|
@@ -2356,7 +2428,7 @@ program.command("spin").alias("ignite").description("Launch Claude with auto-det
|
|
|
2356
2428
|
...options.json && { json: true },
|
|
2357
2429
|
...options.jsonStream && { jsonStream: true }
|
|
2358
2430
|
} : void 0;
|
|
2359
|
-
await command.execute(options.oneShot, printOptions, options.skipCleanup);
|
|
2431
|
+
await command.execute(options.oneShot, printOptions, options.skipCleanup, void 0, options.complexity);
|
|
2360
2432
|
} catch (error) {
|
|
2361
2433
|
logger.error(`Failed to spin up loom: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
2362
2434
|
process.exit(1);
|
|
@@ -2365,7 +2437,7 @@ program.command("spin").alias("ignite").description("Launch Claude with auto-det
|
|
|
2365
2437
|
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, _options, command) => {
|
|
2366
2438
|
try {
|
|
2367
2439
|
const args = (command == null ? void 0 : command.args) ? command.args.slice(identifier ? 1 : 0) : [];
|
|
2368
|
-
const { OpenCommand } = await import("./open-
|
|
2440
|
+
const { OpenCommand } = await import("./open-2Y7GSUTJ.js");
|
|
2369
2441
|
const cmd = new OpenCommand();
|
|
2370
2442
|
const input = identifier ? { identifier, args } : { args };
|
|
2371
2443
|
await cmd.execute(input);
|
|
@@ -2377,7 +2449,7 @@ program.command("open").description("Open workspace in browser or run CLI tool")
|
|
|
2377
2449
|
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, _options, command) => {
|
|
2378
2450
|
try {
|
|
2379
2451
|
const args = (command == null ? void 0 : command.args) ? command.args.slice(identifier ? 1 : 0) : [];
|
|
2380
|
-
const { RunCommand } = await import("./run-
|
|
2452
|
+
const { RunCommand } = await import("./run-ST3FR75O.js");
|
|
2381
2453
|
const cmd = new RunCommand();
|
|
2382
2454
|
const input = identifier ? { identifier, args } : { args };
|
|
2383
2455
|
await cmd.execute(input);
|
|
@@ -2388,7 +2460,7 @@ program.command("run").description("Run CLI tool or open workspace in browser").
|
|
|
2388
2460
|
});
|
|
2389
2461
|
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) => {
|
|
2390
2462
|
try {
|
|
2391
|
-
const { VSCodeCommand } = await import("./vscode-
|
|
2463
|
+
const { VSCodeCommand } = await import("./vscode-TOGE5N67.js");
|
|
2392
2464
|
const cmd = new VSCodeCommand();
|
|
2393
2465
|
await cmd.execute({ identifier, wait: options == null ? void 0 : options.wait });
|
|
2394
2466
|
} catch (error) {
|
|
@@ -2397,7 +2469,7 @@ program.command("vscode").description("Install iloom VS Code extension and open
|
|
|
2397
2469
|
});
|
|
2398
2470
|
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) => {
|
|
2399
2471
|
try {
|
|
2400
|
-
const { DevServerCommand } = await import("./dev-server-
|
|
2472
|
+
const { DevServerCommand } = await import("./dev-server-CYRP6M73.js");
|
|
2401
2473
|
const cmd = new DevServerCommand();
|
|
2402
2474
|
await cmd.execute({ identifier, json: options == null ? void 0 : options.json });
|
|
2403
2475
|
} catch (error) {
|
|
@@ -2407,7 +2479,7 @@ program.command("dev-server").alias("dev").description("Start dev server for wor
|
|
|
2407
2479
|
});
|
|
2408
2480
|
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) => {
|
|
2409
2481
|
try {
|
|
2410
|
-
const { ShellCommand } = await import("./shell-
|
|
2482
|
+
const { ShellCommand } = await import("./shell-W4SBQPTE.js");
|
|
2411
2483
|
const cmd = new ShellCommand();
|
|
2412
2484
|
await cmd.execute({ identifier });
|
|
2413
2485
|
} catch (error) {
|
|
@@ -2417,7 +2489,7 @@ program.command("shell").alias("terminal").description("Open interactive shell w
|
|
|
2417
2489
|
});
|
|
2418
2490
|
program.command("build").description("Run the build script").argument("[identifier]", "Issue number, PR number, or branch name (auto-detected if omitted)").action(async (identifier) => {
|
|
2419
2491
|
try {
|
|
2420
|
-
const { BuildCommand } = await import("./build-
|
|
2492
|
+
const { BuildCommand } = await import("./build-OLS6J5KZ.js");
|
|
2421
2493
|
const cmd = new BuildCommand();
|
|
2422
2494
|
await cmd.execute(identifier ? { identifier } : {});
|
|
2423
2495
|
} catch (error) {
|
|
@@ -2427,7 +2499,7 @@ program.command("build").description("Run the build script").argument("[identifi
|
|
|
2427
2499
|
});
|
|
2428
2500
|
program.command("lint").description("Run the lint script").argument("[identifier]", "Issue number, PR number, or branch name (auto-detected if omitted)").action(async (identifier) => {
|
|
2429
2501
|
try {
|
|
2430
|
-
const { LintCommand } = await import("./lint-
|
|
2502
|
+
const { LintCommand } = await import("./lint-BSWRMGPZ.js");
|
|
2431
2503
|
const cmd = new LintCommand();
|
|
2432
2504
|
await cmd.execute(identifier ? { identifier } : {});
|
|
2433
2505
|
} catch (error) {
|
|
@@ -2437,7 +2509,7 @@ program.command("lint").description("Run the lint script").argument("[identifier
|
|
|
2437
2509
|
});
|
|
2438
2510
|
program.command("test").description("Run the test script").argument("[identifier]", "Issue number, PR number, or branch name (auto-detected if omitted)").action(async (identifier) => {
|
|
2439
2511
|
try {
|
|
2440
|
-
const { TestCommand } = await import("./test-
|
|
2512
|
+
const { TestCommand } = await import("./test-6JH4FE2X.js");
|
|
2441
2513
|
const cmd = new TestCommand();
|
|
2442
2514
|
await cmd.execute(identifier ? { identifier } : {});
|
|
2443
2515
|
} catch (error) {
|
|
@@ -2447,7 +2519,7 @@ program.command("test").description("Run the test script").argument("[identifier
|
|
|
2447
2519
|
});
|
|
2448
2520
|
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) => {
|
|
2449
2521
|
try {
|
|
2450
|
-
const { CompileCommand } = await import("./compile-
|
|
2522
|
+
const { CompileCommand } = await import("./compile-4NCQECKE.js");
|
|
2451
2523
|
const cmd = new CompileCommand();
|
|
2452
2524
|
await cmd.execute(identifier ? { identifier } : {});
|
|
2453
2525
|
} catch (error) {
|
|
@@ -2457,7 +2529,7 @@ program.command("compile").alias("typecheck").description("Run the compile or ty
|
|
|
2457
2529
|
});
|
|
2458
2530
|
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) => {
|
|
2459
2531
|
try {
|
|
2460
|
-
const { InstallDepsCommand } = await import("./install-deps-
|
|
2532
|
+
const { InstallDepsCommand } = await import("./install-deps-SRTM5U7D.js");
|
|
2461
2533
|
const cmd = new InstallDepsCommand();
|
|
2462
2534
|
const input = {};
|
|
2463
2535
|
if (identifier) input.identifier = identifier;
|
|
@@ -2471,7 +2543,7 @@ program.command("install-deps").description("Install dependencies for a workspac
|
|
|
2471
2543
|
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", parseInt).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) => {
|
|
2472
2544
|
const executeAction = async () => {
|
|
2473
2545
|
try {
|
|
2474
|
-
const { CleanupCommand } = await import("./cleanup-
|
|
2546
|
+
const { CleanupCommand } = await import("./cleanup-YOM6PQCN.js");
|
|
2475
2547
|
const command = new CleanupCommand();
|
|
2476
2548
|
const input = {
|
|
2477
2549
|
options: options ?? {}
|
|
@@ -2483,6 +2555,7 @@ program.command("cleanup").alias("remove").alias("clean").description("Remove wo
|
|
|
2483
2555
|
if ((options == null ? void 0 : options.json) && result) {
|
|
2484
2556
|
console.log(JSON.stringify(result, null, 2));
|
|
2485
2557
|
}
|
|
2558
|
+
await TelemetryService.getInstance().shutdown();
|
|
2486
2559
|
process.exit(0);
|
|
2487
2560
|
} catch (error) {
|
|
2488
2561
|
if (options == null ? void 0 : options.json) {
|
|
@@ -2546,7 +2619,7 @@ program.command("list").description("Show active workspaces").option("--json", "
|
|
|
2546
2619
|
if (!loom.worktreePath) {
|
|
2547
2620
|
continue;
|
|
2548
2621
|
}
|
|
2549
|
-
const pathExists = await
|
|
2622
|
+
const pathExists = await fs4.pathExists(loom.worktreePath);
|
|
2550
2623
|
if (!pathExists) {
|
|
2551
2624
|
continue;
|
|
2552
2625
|
}
|
|
@@ -2820,7 +2893,7 @@ program.command("list").description("Show active workspaces").option("--json", "
|
|
|
2820
2893
|
});
|
|
2821
2894
|
program.command("projects").description("List configured iloom projects").option("--json", "Output as JSON (default behavior)").action(async (options) => {
|
|
2822
2895
|
try {
|
|
2823
|
-
const { ProjectsCommand } = await import("./projects-
|
|
2896
|
+
const { ProjectsCommand } = await import("./projects-IUSUXD5D.js");
|
|
2824
2897
|
const command = new ProjectsCommand();
|
|
2825
2898
|
const result = await command.execute(options);
|
|
2826
2899
|
console.log(JSON.stringify(result, null, 2));
|
|
@@ -2831,7 +2904,7 @@ program.command("projects").description("List configured iloom projects").option
|
|
|
2831
2904
|
});
|
|
2832
2905
|
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) => {
|
|
2833
2906
|
try {
|
|
2834
|
-
const { IssuesCommand } = await import("./issues-
|
|
2907
|
+
const { IssuesCommand } = await import("./issues-DMRQJH7E.js");
|
|
2835
2908
|
const command = new IssuesCommand();
|
|
2836
2909
|
const parsedLimit = parseInt((options == null ? void 0 : options.limit) ?? "100", 10);
|
|
2837
2910
|
const limit = Number.isNaN(parsedLimit) || parsedLimit <= 0 ? 100 : parsedLimit;
|
|
@@ -2849,7 +2922,7 @@ program.command("issues").description("List project issues from configured issue
|
|
|
2849
2922
|
});
|
|
2850
2923
|
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) => {
|
|
2851
2924
|
try {
|
|
2852
|
-
const { InitCommand } = await import("./init-
|
|
2925
|
+
const { InitCommand } = await import("./init-CI43GJHV.js");
|
|
2853
2926
|
const command = new InitCommand();
|
|
2854
2927
|
const trimmedPrompt = prompt == null ? void 0 : prompt.trim();
|
|
2855
2928
|
const customPrompt = trimmedPrompt && trimmedPrompt.length > 0 ? trimmedPrompt : void 0;
|
|
@@ -2863,7 +2936,7 @@ program.command("plan").description("Launch interactive planning session with Ar
|
|
|
2863
2936
|
new Option("--output-format <format>", "Output format for Claude CLI (requires --print)").choices(["json", "stream-json", "text"])
|
|
2864
2937
|
).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) => {
|
|
2865
2938
|
try {
|
|
2866
|
-
const { PlanCommand } = await import("./plan-
|
|
2939
|
+
const { PlanCommand } = await import("./plan-SWFPLNJE.js");
|
|
2867
2940
|
const command = new PlanCommand();
|
|
2868
2941
|
if ((options == null ? void 0 : options.json) && (options == null ? void 0 : options.jsonStream)) {
|
|
2869
2942
|
logger.error("--json and --json-stream are mutually exclusive");
|
|
@@ -2890,7 +2963,7 @@ program.command("plan").description("Launch interactive planning session with Ar
|
|
|
2890
2963
|
});
|
|
2891
2964
|
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) => {
|
|
2892
2965
|
try {
|
|
2893
|
-
const { ContributeCommand } = await import("./contribute-
|
|
2966
|
+
const { ContributeCommand } = await import("./contribute-M5UWXCAV.js");
|
|
2894
2967
|
const command = new ContributeCommand();
|
|
2895
2968
|
await command.execute(repository);
|
|
2896
2969
|
} catch (error) {
|
|
@@ -2900,7 +2973,7 @@ program.command("contribute").description("Set up local development environment
|
|
|
2900
2973
|
});
|
|
2901
2974
|
program.command("update").description("Update iloom-cli to the latest version").option("--dry-run", "Show what would be done without actually updating").action(async (options) => {
|
|
2902
2975
|
try {
|
|
2903
|
-
const { UpdateCommand } = await import("./update-
|
|
2976
|
+
const { UpdateCommand } = await import("./update-XLW7R7FL.js");
|
|
2904
2977
|
const command = new UpdateCommand();
|
|
2905
2978
|
await command.execute(options);
|
|
2906
2979
|
} catch (error) {
|
|
@@ -2910,8 +2983,8 @@ program.command("update").description("Update iloom-cli to the latest version").
|
|
|
2910
2983
|
});
|
|
2911
2984
|
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) => {
|
|
2912
2985
|
try {
|
|
2913
|
-
const { GitHubService: GitHubService2 } = await import("./GitHubService-
|
|
2914
|
-
const { DefaultBranchNamingService } = await import("./BranchNamingService-
|
|
2986
|
+
const { GitHubService: GitHubService2 } = await import("./GitHubService-2R5GQG4K.js");
|
|
2987
|
+
const { DefaultBranchNamingService } = await import("./BranchNamingService-XBCO747L.js");
|
|
2915
2988
|
logger.info("Testing GitHub Integration\n");
|
|
2916
2989
|
const service = new GitHubService2();
|
|
2917
2990
|
const branchNaming = new DefaultBranchNamingService({ useClaude: options.claude !== false });
|
|
@@ -2969,10 +3042,10 @@ program.command("test-github").description("Test GitHub integration (Issue #3)")
|
|
|
2969
3042
|
});
|
|
2970
3043
|
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) => {
|
|
2971
3044
|
try {
|
|
2972
|
-
const { detectClaudeCli, getClaudeVersion, generateBranchName, launchClaude } = await import("./claude-
|
|
2973
|
-
const { PromptTemplateManager } = await import("./PromptTemplateManager-
|
|
2974
|
-
const { ClaudeService } = await import("./ClaudeService-
|
|
2975
|
-
const { ClaudeContextManager: ClaudeContextManager2 } = await import("./ClaudeContextManager-
|
|
3045
|
+
const { detectClaudeCli, getClaudeVersion, generateBranchName, launchClaude } = await import("./claude-ONQTDWV3.js");
|
|
3046
|
+
const { PromptTemplateManager } = await import("./PromptTemplateManager-T5VTLJP3.js");
|
|
3047
|
+
const { ClaudeService } = await import("./ClaudeService-6E6MCGJE.js");
|
|
3048
|
+
const { ClaudeContextManager: ClaudeContextManager2 } = await import("./ClaudeContextManager-SXDCWDJA.js");
|
|
2976
3049
|
logger.info("Testing Claude Integration\n");
|
|
2977
3050
|
if (options.detect) {
|
|
2978
3051
|
logger.info("Detecting Claude CLI...");
|
|
@@ -3107,7 +3180,7 @@ program.command("test-claude").description("Test Claude integration (Issue #10)"
|
|
|
3107
3180
|
});
|
|
3108
3181
|
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) => {
|
|
3109
3182
|
try {
|
|
3110
|
-
const { TestWebserverCommand } = await import("./test-webserver-
|
|
3183
|
+
const { TestWebserverCommand } = await import("./test-webserver-QI3QQFZ3.js");
|
|
3111
3184
|
const command = new TestWebserverCommand();
|
|
3112
3185
|
await command.execute({ issueNumber, options });
|
|
3113
3186
|
} catch (error) {
|
|
@@ -3120,7 +3193,7 @@ program.command("test-webserver").description("Test if a web server is running o
|
|
|
3120
3193
|
});
|
|
3121
3194
|
program.command("test-git").description("Test Git integration - findMainWorktreePath() function (reads .iloom/settings.json)").action(async () => {
|
|
3122
3195
|
try {
|
|
3123
|
-
const { TestGitCommand } = await import("./test-git-
|
|
3196
|
+
const { TestGitCommand } = await import("./test-git-2KFFAQ6B.js");
|
|
3124
3197
|
const command = new TestGitCommand();
|
|
3125
3198
|
await command.execute();
|
|
3126
3199
|
} catch (error) {
|
|
@@ -3133,7 +3206,7 @@ program.command("test-git").description("Test Git integration - findMainWorktree
|
|
|
3133
3206
|
});
|
|
3134
3207
|
program.command("test-tabs").description("Test iTerm2 dual tab functionality - opens two tabs with test commands").action(async () => {
|
|
3135
3208
|
try {
|
|
3136
|
-
const { TestTabsCommand } = await import("./test-tabs-
|
|
3209
|
+
const { TestTabsCommand } = await import("./test-tabs-YDWMWTVA.js");
|
|
3137
3210
|
const command = new TestTabsCommand();
|
|
3138
3211
|
await command.execute();
|
|
3139
3212
|
} catch (error) {
|
|
@@ -3144,9 +3217,9 @@ program.command("test-tabs").description("Test iTerm2 dual tab functionality - o
|
|
|
3144
3217
|
process.exit(1);
|
|
3145
3218
|
}
|
|
3146
3219
|
});
|
|
3147
|
-
program.command("test-prefix").description("Test worktree prefix configuration - preview worktree paths
|
|
3220
|
+
program.command("test-prefix").description("[DEPRECATED] Test worktree prefix configuration - preview worktree paths").action(async () => {
|
|
3148
3221
|
try {
|
|
3149
|
-
const { TestPrefixCommand } = await import("./test-prefix-
|
|
3222
|
+
const { TestPrefixCommand } = await import("./test-prefix-GP2DAX37.js");
|
|
3150
3223
|
const command = new TestPrefixCommand();
|
|
3151
3224
|
await command.execute();
|
|
3152
3225
|
} catch (error) {
|
|
@@ -3160,12 +3233,13 @@ program.command("test-prefix").description("Test worktree prefix configuration -
|
|
|
3160
3233
|
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) => {
|
|
3161
3234
|
const executeAction = async () => {
|
|
3162
3235
|
try {
|
|
3163
|
-
const { SummaryCommand } = await import("./summary-
|
|
3236
|
+
const { SummaryCommand } = await import("./summary-P2JCIIJO.js");
|
|
3164
3237
|
const command = new SummaryCommand();
|
|
3165
3238
|
const result = await command.execute({ identifier, options });
|
|
3166
3239
|
if (options.json && result) {
|
|
3167
3240
|
console.log(JSON.stringify(result, null, 2));
|
|
3168
3241
|
}
|
|
3242
|
+
await TelemetryService.getInstance().shutdown();
|
|
3169
3243
|
process.exit(0);
|
|
3170
3244
|
} catch (error) {
|
|
3171
3245
|
if (options.json) {
|
|
@@ -3189,12 +3263,13 @@ program.command("summary").description("Generate Claude session summary for a lo
|
|
|
3189
3263
|
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) => {
|
|
3190
3264
|
const executeAction = async () => {
|
|
3191
3265
|
try {
|
|
3192
|
-
const { RecapCommand } = await import("./recap-
|
|
3266
|
+
const { RecapCommand } = await import("./recap-GGVCG5VH.js");
|
|
3193
3267
|
const command = new RecapCommand();
|
|
3194
3268
|
const result = await command.execute({ identifier, json: options.json });
|
|
3195
3269
|
if (options.json && result) {
|
|
3196
3270
|
console.log(JSON.stringify(result, null, 2));
|
|
3197
3271
|
}
|
|
3272
|
+
await TelemetryService.getInstance().shutdown();
|
|
3198
3273
|
process.exit(0);
|
|
3199
3274
|
} catch (error) {
|
|
3200
3275
|
if (options.json) {
|
|
@@ -3218,7 +3293,7 @@ program.command("recap").description("Get recap for a loom (defaults to current
|
|
|
3218
3293
|
var testJiraCommand = program.command("test-jira").description("Test Jira integration methods against a real Jira instance");
|
|
3219
3294
|
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) => {
|
|
3220
3295
|
try {
|
|
3221
|
-
const { TestJiraCommand } = await import("./test-jira-
|
|
3296
|
+
const { TestJiraCommand } = await import("./test-jira-FKDKG6CD.js");
|
|
3222
3297
|
await new TestJiraCommand().createChildIssue(parentKey);
|
|
3223
3298
|
} catch (error) {
|
|
3224
3299
|
logger.error(`Failed: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
@@ -3227,7 +3302,7 @@ testJiraCommand.command("child-issue").description("Create a test child issue un
|
|
|
3227
3302
|
});
|
|
3228
3303
|
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) => {
|
|
3229
3304
|
try {
|
|
3230
|
-
const { TestJiraCommand } = await import("./test-jira-
|
|
3305
|
+
const { TestJiraCommand } = await import("./test-jira-FKDKG6CD.js");
|
|
3231
3306
|
await new TestJiraCommand().createDependency(blockingKey, blockedKey);
|
|
3232
3307
|
} catch (error) {
|
|
3233
3308
|
logger.error(`Failed: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
@@ -3236,7 +3311,7 @@ testJiraCommand.command("create-dep").description('Create a "Blocks" dependency
|
|
|
3236
3311
|
});
|
|
3237
3312
|
testJiraCommand.command("get-deps").description("Fetch and print dependencies for an issue").argument("<issueKey>", "Issue key (e.g., PROJ-123)").action(async (issueKey) => {
|
|
3238
3313
|
try {
|
|
3239
|
-
const { TestJiraCommand } = await import("./test-jira-
|
|
3314
|
+
const { TestJiraCommand } = await import("./test-jira-FKDKG6CD.js");
|
|
3240
3315
|
await new TestJiraCommand().getDependencies(issueKey);
|
|
3241
3316
|
} catch (error) {
|
|
3242
3317
|
logger.error(`Failed: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
@@ -3245,7 +3320,7 @@ testJiraCommand.command("get-deps").description("Fetch and print dependencies fo
|
|
|
3245
3320
|
});
|
|
3246
3321
|
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) => {
|
|
3247
3322
|
try {
|
|
3248
|
-
const { TestJiraCommand } = await import("./test-jira-
|
|
3323
|
+
const { TestJiraCommand } = await import("./test-jira-FKDKG6CD.js");
|
|
3249
3324
|
await new TestJiraCommand().removeDependency(blockingKey, blockedKey);
|
|
3250
3325
|
} catch (error) {
|
|
3251
3326
|
logger.error(`Failed: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
@@ -3254,7 +3329,7 @@ testJiraCommand.command("remove-dep").description('Remove a "Blocks" dependency
|
|
|
3254
3329
|
});
|
|
3255
3330
|
testJiraCommand.command("get-children").description("List child issues of a parent").argument("<issueKey>", "Parent issue key (e.g., PROJ-123)").action(async (issueKey) => {
|
|
3256
3331
|
try {
|
|
3257
|
-
const { TestJiraCommand } = await import("./test-jira-
|
|
3332
|
+
const { TestJiraCommand } = await import("./test-jira-FKDKG6CD.js");
|
|
3258
3333
|
await new TestJiraCommand().getChildIssues(issueKey);
|
|
3259
3334
|
} catch (error) {
|
|
3260
3335
|
logger.error(`Failed: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
@@ -3264,8 +3339,8 @@ testJiraCommand.command("get-children").description("List child issues of a pare
|
|
|
3264
3339
|
program.command("test-neon").description("Test Neon integration and debug configuration").action(async () => {
|
|
3265
3340
|
var _a2;
|
|
3266
3341
|
try {
|
|
3267
|
-
const { SettingsManager: SettingsManager2 } = await import("./SettingsManager-
|
|
3268
|
-
const { createNeonProviderFromSettings: createNeonProviderFromSettings2 } = await import("./neon-helpers-
|
|
3342
|
+
const { SettingsManager: SettingsManager2 } = await import("./SettingsManager-WQ5NSGAH.js");
|
|
3343
|
+
const { createNeonProviderFromSettings: createNeonProviderFromSettings2 } = await import("./neon-helpers-HWIYRKOW.js");
|
|
3269
3344
|
logger.info("Testing Neon Integration\n");
|
|
3270
3345
|
logger.info("1. Settings Configuration:");
|
|
3271
3346
|
const settingsManager = new SettingsManager2();
|