@iloom/cli 0.13.0-beta.0 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (173) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +3 -18
  3. package/dist/{ClaudeContextManager-RRGREEZQ.js → ClaudeContextManager-ZH6LEA5I.js} +5 -5
  4. package/dist/{ClaudeService-LEPW6QAC.js → ClaudeService-YR66WXZN.js} +4 -4
  5. package/dist/{IssueTrackerFactory-KE2BDCLC.js → IssueTrackerFactory-O2ZBA666.js} +3 -3
  6. package/dist/{LoomLauncher-GKQMR5E6.js → LoomLauncher-V54ENBEF.js} +5 -5
  7. package/dist/{MetadataManager-V4LSJ2PB.js → MetadataManager-HHE6LQF2.js} +2 -2
  8. package/dist/{PromptTemplateManager-I75WKXM4.js → PromptTemplateManager-4RFELNYY.js} +2 -2
  9. package/dist/README.md +3 -18
  10. package/dist/{SettingsManager-KQU7OX7G.js → SettingsManager-SLSYEYDZ.js} +4 -4
  11. package/dist/agents/iloom-artifact-reviewer.md +1 -0
  12. package/dist/agents/iloom-code-reviewer.md +21 -0
  13. package/dist/agents/iloom-issue-analyze-and-plan.md +30 -12
  14. package/dist/agents/iloom-issue-analyzer.md +32 -7
  15. package/dist/agents/iloom-issue-complexity-evaluator.md +32 -12
  16. package/dist/agents/iloom-issue-implementer.md +31 -12
  17. package/dist/agents/iloom-issue-planner.md +30 -12
  18. package/dist/agents/iloom-wave-verifier.md +177 -4
  19. package/dist/{build-V3KADFMO.js → build-ZTGWDHWU.js} +8 -8
  20. package/dist/{chunk-VVQQIG64.js → chunk-55NTREIU.js} +33 -30
  21. package/dist/chunk-55NTREIU.js.map +1 -0
  22. package/dist/{chunk-AYLC633W.js → chunk-7TN5VW4I.js} +65 -7
  23. package/dist/chunk-7TN5VW4I.js.map +1 -0
  24. package/dist/{chunk-RFCAPHL5.js → chunk-C2BVNJW5.js} +2 -2
  25. package/dist/{chunk-3XEXT35Z.js → chunk-E5OM25WK.js} +3 -3
  26. package/dist/{chunk-ZUIFO7B4.js → chunk-ERMEYFT6.js} +7 -2
  27. package/dist/chunk-ERMEYFT6.js.map +1 -0
  28. package/dist/{chunk-WGUGB54H.js → chunk-F5NKWLMQ.js} +21 -24
  29. package/dist/chunk-F5NKWLMQ.js.map +1 -0
  30. package/dist/{chunk-TN2D2RX7.js → chunk-G2DGDCDP.js} +33 -224
  31. package/dist/chunk-G2DGDCDP.js.map +1 -0
  32. package/dist/{chunk-NUUFP53X.js → chunk-GPBX2BY2.js} +2 -2
  33. package/dist/{chunk-SN4S5CWL.js → chunk-GQDVH6FA.js} +2 -2
  34. package/dist/{chunk-YUOVWWJX.js → chunk-HKEXRZMU.js} +5 -310
  35. package/dist/chunk-HKEXRZMU.js.map +1 -0
  36. package/dist/{chunk-TAEVA4QR.js → chunk-HWDQRW3O.js} +3 -3
  37. package/dist/chunk-HWDQRW3O.js.map +1 -0
  38. package/dist/{chunk-KQSV7FOG.js → chunk-J5JOJPK3.js} +2 -2
  39. package/dist/{chunk-PD75ZCFT.js → chunk-KCAWSZUO.js} +18 -17
  40. package/dist/chunk-KCAWSZUO.js.map +1 -0
  41. package/dist/{chunk-QNPJXO53.js → chunk-KGOBNC5A.js} +4 -4
  42. package/dist/{chunk-H3T3EPF3.js → chunk-LNY2Y32V.js} +2 -2
  43. package/dist/{chunk-7RCUWU3I.js → chunk-MRPIDNZU.js} +1 -1
  44. package/dist/chunk-MRPIDNZU.js.map +1 -0
  45. package/dist/{chunk-QQULYI2S.js → chunk-N6DY47YN.js} +80 -45
  46. package/dist/chunk-N6DY47YN.js.map +1 -0
  47. package/dist/{chunk-VIQOQ463.js → chunk-OLJ54WGW.js} +15 -10
  48. package/dist/chunk-OLJ54WGW.js.map +1 -0
  49. package/dist/{chunk-4VQXMEEP.js → chunk-PPQ5LV7U.js} +3 -3
  50. package/dist/{chunk-4VQXMEEP.js.map → chunk-PPQ5LV7U.js.map} +1 -1
  51. package/dist/{chunk-QED2WB2D.js → chunk-PS6K2AOV.js} +5 -5
  52. package/dist/{chunk-JD3K2344.js → chunk-QNRXRSKC.js} +36 -3
  53. package/dist/chunk-QNRXRSKC.js.map +1 -0
  54. package/dist/{chunk-Q7VXHJP6.js → chunk-SM3BCHYB.js} +5 -5
  55. package/dist/{chunk-SA446KA2.js → chunk-T4KFKKEB.js} +7 -7
  56. package/dist/{chunk-XCP2WDYA.js → chunk-T4NESGYB.js} +3 -3
  57. package/dist/{chunk-QXGM32TO.js → chunk-TJDKGKQV.js} +2 -2
  58. package/dist/{chunk-X5DRLONY.js → chunk-UXBVDD7U.js} +6 -6
  59. package/dist/{chunk-JDN4SPV3.js → chunk-WYDLOQYO.js} +2 -2
  60. package/dist/{chunk-4JZEQBWV.js → chunk-XIVLGWUX.js} +3 -1
  61. package/dist/chunk-XIVLGWUX.js.map +1 -0
  62. package/dist/{chunk-NTDY5AMO.js → chunk-ZEFTWM5Z.js} +2 -2
  63. package/dist/{cleanup-RJKLI47I.js → cleanup-BCVY7PEF.js} +22 -22
  64. package/dist/cleanup-BCVY7PEF.js.map +1 -0
  65. package/dist/cli.js +126 -105
  66. package/dist/cli.js.map +1 -1
  67. package/dist/{commit-SUHRUMDE.js → commit-L5JNBU4U.js} +8 -8
  68. package/dist/{compile-2MD346PO.js → compile-GPJOHXH4.js} +8 -8
  69. package/dist/{contribute-P4BMRY7C.js → contribute-QEGCI4PS.js} +4 -4
  70. package/dist/{dev-server-ZNTLWOL5.js → dev-server-67NPVWUN.js} +247 -31
  71. package/dist/dev-server-67NPVWUN.js.map +1 -0
  72. package/dist/{feedback-Q6WG2WX4.js → feedback-2LWXKLQZ.js} +4 -4
  73. package/dist/{git-TX2IEMB3.js → git-IS7AV3ED.js} +4 -4
  74. package/dist/hooks/iloom-hook.js +40 -2
  75. package/dist/{ignite-P644W2PK.js → ignite-VQDJQ37S.js} +12 -14
  76. package/dist/index.d.ts +73 -75
  77. package/dist/index.js +32 -32
  78. package/dist/index.js.map +1 -1
  79. package/dist/{init-5HFY7JG6.js → init-7SDJUAEZ.js} +8 -8
  80. package/dist/{install-deps-J4ALTM27.js → install-deps-NGSFDNUW.js} +8 -8
  81. package/dist/{issues-LZMIF22U.js → issues-4HQKEUP7.js} +5 -5
  82. package/dist/{lint-XIXKU22H.js → lint-C5FOVRXY.js} +8 -8
  83. package/dist/mcp/issue-management-server.js +19 -22
  84. package/dist/mcp/issue-management-server.js.map +1 -1
  85. package/dist/neon-helpers-LCZAN4U4.js +11 -0
  86. package/dist/{open-KUO35JIJ.js → open-WUTLRI6S.js} +19 -15
  87. package/dist/open-WUTLRI6S.js.map +1 -0
  88. package/dist/{plan-7CF56OIR.js → plan-GC3HF73T.js} +86 -66
  89. package/dist/plan-GC3HF73T.js.map +1 -0
  90. package/dist/{projects-L5AHUBGA.js → projects-3F6T3KZL.js} +2 -2
  91. package/dist/prompts/init-prompt.txt +40 -36
  92. package/dist/prompts/issue-prompt.txt +4 -1
  93. package/dist/prompts/plan-prompt.txt +97 -16
  94. package/dist/prompts/regular-prompt.txt +1 -1
  95. package/dist/prompts/swarm-orchestrator-prompt.txt +25 -12
  96. package/dist/{rebase-MAMWPA2L.js → rebase-CSGQICAP.js} +7 -7
  97. package/dist/{recap-IDBO3KM5.js → recap-CKGKFDJL.js} +7 -7
  98. package/dist/{run-RGZHCQ6M.js → run-3YL2IXXI.js} +19 -15
  99. package/dist/run-3YL2IXXI.js.map +1 -0
  100. package/dist/schema/settings.schema.json +35 -31
  101. package/dist/{shell-7ADCDFIV.js → shell-M2YYPNGV.js} +6 -6
  102. package/dist/{summary-7J2HORFD.js → summary-XR4CBJEG.js} +9 -9
  103. package/dist/{test-SRB7EWU6.js → test-ESDAHEVE.js} +8 -8
  104. package/dist/{test-git-G7ATVIXG.js → test-git-KWPLHYSI.js} +4 -4
  105. package/dist/{test-jira-Q2HPA522.js → test-jira-6NK7UHSV.js} +3 -3
  106. package/dist/{test-prefix-JMDGXR5A.js → test-prefix-VVODGHXP.js} +4 -4
  107. package/dist/{test-webserver-GZFVXBGD.js → test-webserver-AHXKC6H4.js} +6 -6
  108. package/dist/{vscode-3I7ISHUU.js → vscode-OY7HOVRO.js} +6 -6
  109. package/package.json +1 -1
  110. package/dist/chunk-4JZEQBWV.js.map +0 -1
  111. package/dist/chunk-7RCUWU3I.js.map +0 -1
  112. package/dist/chunk-AYLC633W.js.map +0 -1
  113. package/dist/chunk-JD3K2344.js.map +0 -1
  114. package/dist/chunk-PD75ZCFT.js.map +0 -1
  115. package/dist/chunk-QQULYI2S.js.map +0 -1
  116. package/dist/chunk-TAEVA4QR.js.map +0 -1
  117. package/dist/chunk-TN2D2RX7.js.map +0 -1
  118. package/dist/chunk-VIQOQ463.js.map +0 -1
  119. package/dist/chunk-VVQQIG64.js.map +0 -1
  120. package/dist/chunk-WGUGB54H.js.map +0 -1
  121. package/dist/chunk-YUOVWWJX.js.map +0 -1
  122. package/dist/chunk-ZUIFO7B4.js.map +0 -1
  123. package/dist/cleanup-RJKLI47I.js.map +0 -1
  124. package/dist/database-helpers-PRDFNDRO.js +0 -11
  125. package/dist/dev-server-ZNTLWOL5.js.map +0 -1
  126. package/dist/open-KUO35JIJ.js.map +0 -1
  127. package/dist/plan-7CF56OIR.js.map +0 -1
  128. package/dist/run-RGZHCQ6M.js.map +0 -1
  129. /package/dist/{ClaudeContextManager-RRGREEZQ.js.map → ClaudeContextManager-ZH6LEA5I.js.map} +0 -0
  130. /package/dist/{ClaudeService-LEPW6QAC.js.map → ClaudeService-YR66WXZN.js.map} +0 -0
  131. /package/dist/{IssueTrackerFactory-KE2BDCLC.js.map → IssueTrackerFactory-O2ZBA666.js.map} +0 -0
  132. /package/dist/{LoomLauncher-GKQMR5E6.js.map → LoomLauncher-V54ENBEF.js.map} +0 -0
  133. /package/dist/{MetadataManager-V4LSJ2PB.js.map → MetadataManager-HHE6LQF2.js.map} +0 -0
  134. /package/dist/{PromptTemplateManager-I75WKXM4.js.map → PromptTemplateManager-4RFELNYY.js.map} +0 -0
  135. /package/dist/{SettingsManager-KQU7OX7G.js.map → SettingsManager-SLSYEYDZ.js.map} +0 -0
  136. /package/dist/{build-V3KADFMO.js.map → build-ZTGWDHWU.js.map} +0 -0
  137. /package/dist/{chunk-RFCAPHL5.js.map → chunk-C2BVNJW5.js.map} +0 -0
  138. /package/dist/{chunk-3XEXT35Z.js.map → chunk-E5OM25WK.js.map} +0 -0
  139. /package/dist/{chunk-NUUFP53X.js.map → chunk-GPBX2BY2.js.map} +0 -0
  140. /package/dist/{chunk-SN4S5CWL.js.map → chunk-GQDVH6FA.js.map} +0 -0
  141. /package/dist/{chunk-KQSV7FOG.js.map → chunk-J5JOJPK3.js.map} +0 -0
  142. /package/dist/{chunk-QNPJXO53.js.map → chunk-KGOBNC5A.js.map} +0 -0
  143. /package/dist/{chunk-H3T3EPF3.js.map → chunk-LNY2Y32V.js.map} +0 -0
  144. /package/dist/{chunk-QED2WB2D.js.map → chunk-PS6K2AOV.js.map} +0 -0
  145. /package/dist/{chunk-Q7VXHJP6.js.map → chunk-SM3BCHYB.js.map} +0 -0
  146. /package/dist/{chunk-SA446KA2.js.map → chunk-T4KFKKEB.js.map} +0 -0
  147. /package/dist/{chunk-XCP2WDYA.js.map → chunk-T4NESGYB.js.map} +0 -0
  148. /package/dist/{chunk-QXGM32TO.js.map → chunk-TJDKGKQV.js.map} +0 -0
  149. /package/dist/{chunk-X5DRLONY.js.map → chunk-UXBVDD7U.js.map} +0 -0
  150. /package/dist/{chunk-JDN4SPV3.js.map → chunk-WYDLOQYO.js.map} +0 -0
  151. /package/dist/{chunk-NTDY5AMO.js.map → chunk-ZEFTWM5Z.js.map} +0 -0
  152. /package/dist/{commit-SUHRUMDE.js.map → commit-L5JNBU4U.js.map} +0 -0
  153. /package/dist/{compile-2MD346PO.js.map → compile-GPJOHXH4.js.map} +0 -0
  154. /package/dist/{contribute-P4BMRY7C.js.map → contribute-QEGCI4PS.js.map} +0 -0
  155. /package/dist/{feedback-Q6WG2WX4.js.map → feedback-2LWXKLQZ.js.map} +0 -0
  156. /package/dist/{database-helpers-PRDFNDRO.js.map → git-IS7AV3ED.js.map} +0 -0
  157. /package/dist/{git-TX2IEMB3.js.map → ignite-VQDJQ37S.js.map} +0 -0
  158. /package/dist/{init-5HFY7JG6.js.map → init-7SDJUAEZ.js.map} +0 -0
  159. /package/dist/{install-deps-J4ALTM27.js.map → install-deps-NGSFDNUW.js.map} +0 -0
  160. /package/dist/{issues-LZMIF22U.js.map → issues-4HQKEUP7.js.map} +0 -0
  161. /package/dist/{lint-XIXKU22H.js.map → lint-C5FOVRXY.js.map} +0 -0
  162. /package/dist/{ignite-P644W2PK.js.map → neon-helpers-LCZAN4U4.js.map} +0 -0
  163. /package/dist/{projects-L5AHUBGA.js.map → projects-3F6T3KZL.js.map} +0 -0
  164. /package/dist/{rebase-MAMWPA2L.js.map → rebase-CSGQICAP.js.map} +0 -0
  165. /package/dist/{recap-IDBO3KM5.js.map → recap-CKGKFDJL.js.map} +0 -0
  166. /package/dist/{shell-7ADCDFIV.js.map → shell-M2YYPNGV.js.map} +0 -0
  167. /package/dist/{summary-7J2HORFD.js.map → summary-XR4CBJEG.js.map} +0 -0
  168. /package/dist/{test-SRB7EWU6.js.map → test-ESDAHEVE.js.map} +0 -0
  169. /package/dist/{test-git-G7ATVIXG.js.map → test-git-KWPLHYSI.js.map} +0 -0
  170. /package/dist/{test-jira-Q2HPA522.js.map → test-jira-6NK7UHSV.js.map} +0 -0
  171. /package/dist/{test-prefix-JMDGXR5A.js.map → test-prefix-VVODGHXP.js.map} +0 -0
  172. /package/dist/{test-webserver-GZFVXBGD.js.map → test-webserver-AHXKC6H4.js.map} +0 -0
  173. /package/dist/{vscode-3I7ISHUU.js.map → vscode-OY7HOVRO.js.map} +0 -0
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-AUYSAMXV.js";
5
5
  import {
6
6
  ShellCompletion
7
- } from "./chunk-QXGM32TO.js";
7
+ } from "./chunk-TJDKGKQV.js";
8
8
  import {
9
9
  TelemetryService
10
10
  } from "./chunk-MY2Q3FJ3.js";
@@ -13,11 +13,11 @@ import {
13
13
  } from "./chunk-EGNUOALL.js";
14
14
  import {
15
15
  AgentManager
16
- } from "./chunk-JD3K2344.js";
17
- import "./chunk-4VQXMEEP.js";
16
+ } from "./chunk-QNRXRSKC.js";
17
+ import "./chunk-PPQ5LV7U.js";
18
18
  import {
19
19
  PromptTemplateManager
20
- } from "./chunk-7RCUWU3I.js";
20
+ } from "./chunk-MRPIDNZU.js";
21
21
  import "./chunk-NPVA65KS.js";
22
22
  import {
23
23
  parseGitRemotes
@@ -29,9 +29,9 @@ import {
29
29
  import {
30
30
  getRepoRoot,
31
31
  isFileGitignored
32
- } from "./chunk-QNPJXO53.js";
33
- import "./chunk-WGUGB54H.js";
34
- import "./chunk-4JZEQBWV.js";
32
+ } from "./chunk-KGOBNC5A.js";
33
+ import "./chunk-F5NKWLMQ.js";
34
+ import "./chunk-XIVLGWUX.js";
35
35
  import "./chunk-FTYWGQFM.js";
36
36
  import {
37
37
  logger
@@ -461,4 +461,4 @@ var InitCommand = class {
461
461
  export {
462
462
  InitCommand
463
463
  };
464
- //# sourceMappingURL=init-5HFY7JG6.js.map
464
+ //# sourceMappingURL=init-7SDJUAEZ.js.map
@@ -1,16 +1,16 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  ScriptCommandBase
4
- } from "./chunk-QED2WB2D.js";
5
- import "./chunk-SN4S5CWL.js";
4
+ } from "./chunk-PS6K2AOV.js";
5
+ import "./chunk-GQDVH6FA.js";
6
6
  import {
7
7
  installDependencies
8
- } from "./chunk-VIQOQ463.js";
9
- import "./chunk-4VQXMEEP.js";
8
+ } from "./chunk-OLJ54WGW.js";
9
+ import "./chunk-PPQ5LV7U.js";
10
10
  import "./chunk-K3QGG4O2.js";
11
- import "./chunk-QNPJXO53.js";
12
- import "./chunk-WGUGB54H.js";
13
- import "./chunk-4JZEQBWV.js";
11
+ import "./chunk-KGOBNC5A.js";
12
+ import "./chunk-F5NKWLMQ.js";
13
+ import "./chunk-XIVLGWUX.js";
14
14
  import "./chunk-FTYWGQFM.js";
15
15
  import {
16
16
  logger
@@ -40,4 +40,4 @@ var InstallDepsCommand = class extends ScriptCommandBase {
40
40
  export {
41
41
  InstallDepsCommand
42
42
  };
43
- //# sourceMappingURL=install-deps-J4ALTM27.js.map
43
+ //# sourceMappingURL=install-deps-NGSFDNUW.js.map
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-4232AHNQ.js";
5
5
  import {
6
6
  IssueTrackerFactory
7
- } from "./chunk-NUUFP53X.js";
7
+ } from "./chunk-GPBX2BY2.js";
8
8
  import {
9
9
  JiraIssueTracker,
10
10
  fetchLinearIssueList
@@ -17,11 +17,11 @@ import {
17
17
  import "./chunk-NPVA65KS.js";
18
18
  import {
19
19
  findMainWorktreePathWithSettings
20
- } from "./chunk-QNPJXO53.js";
20
+ } from "./chunk-KGOBNC5A.js";
21
21
  import {
22
22
  SettingsManager
23
- } from "./chunk-WGUGB54H.js";
24
- import "./chunk-4JZEQBWV.js";
23
+ } from "./chunk-F5NKWLMQ.js";
24
+ import "./chunk-XIVLGWUX.js";
25
25
  import {
26
26
  getLogger
27
27
  } from "./chunk-FTYWGQFM.js";
@@ -189,4 +189,4 @@ var IssuesCommand = class {
189
189
  export {
190
190
  IssuesCommand
191
191
  };
192
- //# sourceMappingURL=issues-LZMIF22U.js.map
192
+ //# sourceMappingURL=issues-4HQKEUP7.js.map
@@ -1,14 +1,14 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  ScriptCommandBase
4
- } from "./chunk-QED2WB2D.js";
5
- import "./chunk-SN4S5CWL.js";
6
- import "./chunk-VIQOQ463.js";
7
- import "./chunk-4VQXMEEP.js";
4
+ } from "./chunk-PS6K2AOV.js";
5
+ import "./chunk-GQDVH6FA.js";
6
+ import "./chunk-OLJ54WGW.js";
7
+ import "./chunk-PPQ5LV7U.js";
8
8
  import "./chunk-K3QGG4O2.js";
9
- import "./chunk-QNPJXO53.js";
10
- import "./chunk-WGUGB54H.js";
11
- import "./chunk-4JZEQBWV.js";
9
+ import "./chunk-KGOBNC5A.js";
10
+ import "./chunk-F5NKWLMQ.js";
11
+ import "./chunk-XIVLGWUX.js";
12
12
  import "./chunk-FTYWGQFM.js";
13
13
  import "./chunk-VRPPI6GU.js";
14
14
 
@@ -24,4 +24,4 @@ var LintCommand = class extends ScriptCommandBase {
24
24
  export {
25
25
  LintCommand
26
26
  };
27
- //# sourceMappingURL=lint-XIXKU22H.js.map
27
+ //# sourceMappingURL=lint-C5FOVRXY.js.map
@@ -2758,9 +2758,10 @@ var mergeModeTransform = (val) => {
2758
2758
  const map = { "github-pr": "pr", "github-draft-pr": "draft-pr", "bitbucket-pr": "pr" };
2759
2759
  return map[val] ?? val;
2760
2760
  };
2761
+ var VALID_CLAUDE_MODELS = ["sonnet", "opus", "haiku", "sonnet[1m]", "opus[1m]"];
2761
2762
  var BaseAgentSettingsSchema = z.object({
2762
- model: z.enum(["sonnet", "opus", "haiku"]).optional().describe("Claude model shorthand: sonnet, opus, or haiku"),
2763
- swarmModel: z.enum(["sonnet", "opus", "haiku"]).optional().describe("Model to use for this agent in swarm mode. Overrides the base model when running inside swarm workers."),
2763
+ model: z.enum(VALID_CLAUDE_MODELS).optional().describe("Claude model shorthand: sonnet, opus, haiku, sonnet[1m], or opus[1m]"),
2764
+ swarmModel: z.enum(VALID_CLAUDE_MODELS).optional().describe("Model to use for this agent in swarm mode. Overrides the base model when running inside swarm workers."),
2764
2765
  enabled: z.boolean().optional().describe("Whether this agent is enabled. Defaults to true."),
2765
2766
  providers: z.record(
2766
2767
  z.enum(["claude", "gemini", "codex"]),
@@ -2771,18 +2772,18 @@ var BaseAgentSettingsSchema = z.object({
2771
2772
  });
2772
2773
  var AgentSettingsSchema = BaseAgentSettingsSchema;
2773
2774
  var SpinAgentSettingsSchema = z.object({
2774
- model: z.enum(["sonnet", "opus", "haiku"]).default("opus").describe("Claude model shorthand for spin orchestrator"),
2775
- swarmModel: z.enum(["sonnet", "opus", "haiku"]).optional().describe("Model for the spin orchestrator when running in swarm mode. Overrides spin.model for swarm workflows."),
2775
+ model: z.enum(VALID_CLAUDE_MODELS).default("opus").describe("Claude model shorthand for spin orchestrator"),
2776
+ swarmModel: z.enum(VALID_CLAUDE_MODELS).optional().describe("Model for the spin orchestrator when running in swarm mode. Overrides spin.model for swarm workflows."),
2776
2777
  postSwarmReview: z.boolean().default(true).describe("Run a full code review after swarm completion, auto-fixing issues with confidence 80+. Defaults to true.")
2777
2778
  });
2778
2779
  var PlanCommandSettingsSchema = z.object({
2779
- model: z.enum(["sonnet", "opus", "haiku"]).default("opus").describe("Claude model shorthand for plan command"),
2780
+ model: z.enum(VALID_CLAUDE_MODELS).default("opus").describe("Claude model shorthand for plan command"),
2780
2781
  planner: z.enum(["claude", "gemini", "codex"]).default("claude").describe("AI provider for creating the plan"),
2781
2782
  reviewer: z.enum(["claude", "gemini", "codex", "none"]).default("none").describe("AI provider for reviewing the plan (none to skip review)"),
2782
2783
  waveVerification: z.boolean().default(true).describe("When enabled, the planner generates verification child issues between dependency waves to catch integration issues early.")
2783
2784
  });
2784
2785
  var SummarySettingsSchema = z.object({
2785
- model: z.enum(["sonnet", "opus", "haiku"]).default("sonnet").describe("Claude model shorthand for session summary generation")
2786
+ model: z.enum(VALID_CLAUDE_MODELS).default("sonnet").describe("Claude model shorthand for session summary generation")
2786
2787
  });
2787
2788
  var WorkflowPermissionSchema = z.object({
2788
2789
  permissionMode: z.enum(["plan", "acceptEdits", "bypassPermissions", "default"]).optional().describe("Permission mode for Claude CLI in this workflow type"),
@@ -2815,10 +2816,12 @@ var WorkflowsSettingsSchemaNoDefaults = z.object({
2815
2816
  var CapabilitiesSettingsSchema = z.object({
2816
2817
  web: z.object({
2817
2818
  basePort: z.number().min(1, "Base port must be >= 1").max(65535, "Base port must be <= 65535").optional().describe("Base port for web workspace port calculations (default: 3000)"),
2819
+ protocol: z.enum(["http", "https"]).default("http").describe("Protocol for dev server URLs (http or https)"),
2818
2820
  devServer: z.enum(["process", "docker"]).default("process").describe('Dev server mode: "process" runs natively, "docker" runs inside a Docker container with port mapping'),
2819
2821
  dockerFile: z.string().default("./Dockerfile").describe('Path to Dockerfile relative to worktree root (only used when devServer is "docker")'),
2820
2822
  containerPort: z.number().min(1, "Container port must be >= 1").max(65535, "Container port must be <= 65535").optional().describe("Port the app runs on inside the Docker container (auto-detected from EXPOSE directive if not set)"),
2821
2823
  dockerBuildArgs: z.record(z.string()).optional().describe('Build arguments to pass to docker build (e.g., {"NODE_ENV": "development"})'),
2824
+ dockerBuildSecrets: z.record(z.string()).optional().describe('Secret files to mount during docker build via --secret (e.g., {"npmrc": "~/.npmrc"}). Keys are secret IDs, values are source file paths.'),
2822
2825
  dockerRunArgs: z.array(z.string()).optional().describe('Additional arguments for docker run (e.g., ["-v", "./src:/app/src"] for volume mounts)')
2823
2826
  }).optional().describe('Web dev server settings. To declare a project as a web project, add "web" to the capabilities array in .iloom/package.iloom.json or .iloom/package.iloom.local.json.'),
2824
2827
  database: z.object({
@@ -2828,10 +2831,12 @@ var CapabilitiesSettingsSchema = z.object({
2828
2831
  var CapabilitiesSettingsSchemaNoDefaults = z.object({
2829
2832
  web: z.object({
2830
2833
  basePort: z.number().min(1, "Base port must be >= 1").max(65535, "Base port must be <= 65535").optional().describe("Base port for web workspace port calculations (default: 3000)"),
2834
+ protocol: z.enum(["http", "https"]).optional().describe("Protocol for dev server URLs (http or https)"),
2831
2835
  devServer: z.enum(["process", "docker"]).optional().describe('Dev server mode: "process" runs natively, "docker" runs inside a Docker container with port mapping'),
2832
2836
  dockerFile: z.string().optional().describe('Path to Dockerfile relative to worktree root (only used when devServer is "docker")'),
2833
2837
  containerPort: z.number().min(1, "Container port must be >= 1").max(65535, "Container port must be <= 65535").optional().describe("Port the app runs on inside the Docker container (auto-detected from EXPOSE directive if not set)"),
2834
2838
  dockerBuildArgs: z.record(z.string()).optional().describe('Build arguments to pass to docker build (e.g., {"NODE_ENV": "development"})'),
2839
+ dockerBuildSecrets: z.record(z.string()).optional().describe('Secret files to mount during docker build via --secret (e.g., {"npmrc": "~/.npmrc"}). Keys are secret IDs, values are source file paths.'),
2835
2840
  dockerRunArgs: z.array(z.string()).optional().describe('Additional arguments for docker run (e.g., ["-v", "./src:/app/src"] for volume mounts)')
2836
2841
  }).optional().describe('Web dev server settings. To declare a project as a web project, add "web" to the capabilities array in .iloom/package.iloom.json or .iloom/package.iloom.local.json.'),
2837
2842
  database: z.object({
@@ -2881,17 +2886,9 @@ var NeonSettingsSchema = z.object({
2881
2886
  projectId: z.string().min(1).regex(/^[a-zA-Z0-9-]+$/, "Neon project ID must contain only letters, numbers, and hyphens").describe('Neon project ID found in your project URL (e.g., "fantastic-fox-3566354")'),
2882
2887
  parentBranch: z.string().min(1).describe("Branch from which new database branches are created")
2883
2888
  });
2884
- var SupabaseSettingsSchema = z.object({
2885
- projectRef: z.string().min(1).describe('Supabase project reference ID (e.g., "abcdefghijklmnop")'),
2886
- parentBranch: z.string().min(1).optional().describe("Reserved for future use. Supabase currently always branches from the default branch."),
2887
- withData: z.boolean().optional().describe("Whether to include data when creating a new branch (defaults to true)")
2888
- });
2889
2889
  var DatabaseProvidersSettingsSchema = z.object({
2890
2890
  neon: NeonSettingsSchema.optional().describe(
2891
2891
  "Neon database configuration. Requires Neon CLI installed and authenticated for database branching."
2892
- ),
2893
- supabase: SupabaseSettingsSchema.optional().describe(
2894
- "Supabase database configuration. Requires Supabase CLI installed and authenticated for database branching."
2895
2892
  )
2896
2893
  }).optional();
2897
2894
  var IloomSettingsSchema = z.object({
@@ -3037,18 +3034,18 @@ var IloomSettingsSchemaNoDefaults = z.object({
3037
3034
  "Per-agent configuration overrides. Available agents: iloom-issue-analyzer (analyzes issues), iloom-issue-planner (creates implementation plans), iloom-issue-analyze-and-plan (combined analysis and planning), iloom-issue-complexity-evaluator (evaluates complexity), iloom-issue-enhancer (enhances issue descriptions), iloom-issue-implementer (implements code changes), iloom-code-reviewer (reviews code changes against requirements), iloom-artifact-reviewer (reviews artifacts before posting), iloom-swarm-worker (swarm worker agent, dynamically generated). Use swarmModel on any agent to override its model in swarm mode."
3038
3035
  ),
3039
3036
  spin: z.object({
3040
- model: z.enum(["sonnet", "opus", "haiku"]).optional(),
3041
- swarmModel: z.enum(["sonnet", "opus", "haiku"]).optional(),
3037
+ model: z.enum(VALID_CLAUDE_MODELS).optional(),
3038
+ swarmModel: z.enum(VALID_CLAUDE_MODELS).optional(),
3042
3039
  postSwarmReview: z.boolean().optional()
3043
3040
  }).optional().describe("Spin orchestrator configuration"),
3044
3041
  plan: z.object({
3045
- model: z.enum(["sonnet", "opus", "haiku"]).optional(),
3042
+ model: z.enum(VALID_CLAUDE_MODELS).optional(),
3046
3043
  planner: z.enum(["claude", "gemini", "codex"]).optional(),
3047
3044
  reviewer: z.enum(["claude", "gemini", "codex", "none"]).optional(),
3048
3045
  waveVerification: z.boolean().optional()
3049
3046
  }).optional().describe("Plan command configuration"),
3050
3047
  summary: z.object({
3051
- model: z.enum(["sonnet", "opus", "haiku"]).optional()
3048
+ model: z.enum(VALID_CLAUDE_MODELS).optional()
3052
3049
  }).optional().describe("Session summary generation configuration"),
3053
3050
  capabilities: CapabilitiesSettingsSchemaNoDefaults.describe("Project capability configurations"),
3054
3051
  devServer: DevServerSettingsSchemaNoDefaults.optional().describe("Docker-based dev server configuration"),
@@ -3340,7 +3337,7 @@ ${errorMessages.join("\n")}`
3340
3337
  * Default is defined in SpinAgentSettingsSchema
3341
3338
  *
3342
3339
  * @param settings - Pre-loaded settings object
3343
- * @returns Model shorthand ('opus', 'sonnet', or 'haiku')
3340
+ * @returns Model shorthand (e.g. 'opus', 'sonnet', 'haiku', 'sonnet[1m]', 'opus[1m]')
3344
3341
  */
3345
3342
  getSpinModel(settings2, mode) {
3346
3343
  var _a, _b;
@@ -3348,7 +3345,7 @@ ${errorMessages.join("\n")}`
3348
3345
  if ((_a = settings2 == null ? void 0 : settings2.spin) == null ? void 0 : _a.swarmModel) {
3349
3346
  return settings2.spin.swarmModel;
3350
3347
  }
3351
- return "opus";
3348
+ return "opus[1m]";
3352
3349
  }
3353
3350
  return ((_b = settings2 == null ? void 0 : settings2.spin) == null ? void 0 : _b.model) ?? SpinAgentSettingsSchema.parse({}).model;
3354
3351
  }
@@ -3357,7 +3354,7 @@ ${errorMessages.join("\n")}`
3357
3354
  * Default is defined in PlanCommandSettingsSchema
3358
3355
  *
3359
3356
  * @param settings - Pre-loaded settings object
3360
- * @returns Model shorthand ('opus', 'sonnet', or 'haiku')
3357
+ * @returns Model shorthand (e.g. 'opus', 'sonnet', 'haiku', 'sonnet[1m]', 'opus[1m]')
3361
3358
  */
3362
3359
  getPlanModel(settings2) {
3363
3360
  var _a;
@@ -3401,7 +3398,7 @@ ${errorMessages.join("\n")}`
3401
3398
  * Default is defined in SummarySettingsSchema
3402
3399
  *
3403
3400
  * @param settings - Pre-loaded settings object
3404
- * @returns Model shorthand ('opus', 'sonnet', or 'haiku')
3401
+ * @returns Model shorthand (e.g. 'opus', 'sonnet', 'haiku', 'sonnet[1m]', 'opus[1m]')
3405
3402
  */
3406
3403
  getSummaryModel(settings2) {
3407
3404
  var _a;