@iloom/cli 0.13.2 → 0.13.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +1 -1
  3. package/dist/{BranchNamingService-MEK2WZUD.js → BranchNamingService-PBP6DY3H.js} +2 -2
  4. package/dist/{ClaudeContextManager-KJ4VEA2F.js → ClaudeContextManager-3HT4LEIU.js} +5 -5
  5. package/dist/{ClaudeService-WTJO4UW6.js → ClaudeService-7BHL2GWC.js} +4 -4
  6. package/dist/{IssueTrackerFactory-UEJALI4X.js → IssueTrackerFactory-JH34S4GX.js} +3 -3
  7. package/dist/{LoomLauncher-KG2VBNQA.js → LoomLauncher-RGXJOCMC.js} +8 -5
  8. package/dist/LoomLauncher-RGXJOCMC.js.map +1 -0
  9. package/dist/{MetadataManager-HHE6LQF2.js → MetadataManager-WKM7JJIO.js} +2 -2
  10. package/dist/README.md +1 -1
  11. package/dist/{SettingsManager-PVHBSCMI.js → SettingsManager-Y5OU5HCX.js} +4 -2
  12. package/dist/agents/CLAUDE.md +12 -7
  13. package/dist/agents/iloom-code-reviewer.md +2 -1
  14. package/dist/agents/iloom-framework-detector.md +56 -9
  15. package/dist/agents/iloom-issue-analyze-and-plan.md +1 -0
  16. package/dist/agents/iloom-issue-analyzer.md +1 -0
  17. package/dist/agents/iloom-issue-complexity-evaluator.md +1 -0
  18. package/dist/agents/iloom-issue-enhancer.md +2 -1
  19. package/dist/agents/iloom-issue-implementer.md +4 -1
  20. package/dist/agents/iloom-issue-planner.md +2 -1
  21. package/dist/agents/iloom-wave-verifier.md +1 -0
  22. package/dist/{build-2FXDYEZQ.js → build-NJJT6UHO.js} +7 -7
  23. package/dist/{chunk-VUIPDX3T.js → chunk-27CQSBUG.js} +2 -2
  24. package/dist/{chunk-YVNG35OW.js → chunk-2Z4VKQND.js} +2 -2
  25. package/dist/{chunk-UQWMPQ2Q.js → chunk-4QROZMPZ.js} +3 -3
  26. package/dist/{chunk-U2OPXZ6E.js → chunk-5NVJ6N3C.js} +7 -7
  27. package/dist/{chunk-2WRD6Y5E.js → chunk-5VP2HAWF.js} +2 -2
  28. package/dist/{chunk-CQHHEW2M.js → chunk-5WJN63T4.js} +1 -1
  29. package/dist/chunk-5WJN63T4.js.map +1 -0
  30. package/dist/{chunk-H4TSDALC.js → chunk-64K5SZXC.js} +6 -6
  31. package/dist/{chunk-5W44AI63.js → chunk-6FHFHMNF.js} +4 -4
  32. package/dist/{chunk-XC5JKRSH.js → chunk-6RKZDUTQ.js} +2 -2
  33. package/dist/{chunk-RP6MHV24.js → chunk-7VSOM25S.js} +20 -15
  34. package/dist/chunk-7VSOM25S.js.map +1 -0
  35. package/dist/{chunk-UMAOVKQX.js → chunk-CSJ7JNJV.js} +3 -3
  36. package/dist/{chunk-AQUSMNBF.js → chunk-CWRQ4NU4.js} +2 -2
  37. package/dist/{chunk-R2EFSRKR.js → chunk-EBPFEM5X.js} +16 -15
  38. package/dist/chunk-EBPFEM5X.js.map +1 -0
  39. package/dist/{chunk-OMV47LLA.js → chunk-FPM6XDEO.js} +2 -2
  40. package/dist/{chunk-DYLOITSO.js → chunk-HMMDNIKG.js} +38 -31
  41. package/dist/chunk-HMMDNIKG.js.map +1 -0
  42. package/dist/{chunk-XIVLGWUX.js → chunk-JDXJIPXR.js} +3 -1
  43. package/dist/chunk-JDXJIPXR.js.map +1 -0
  44. package/dist/{chunk-ZWXJ7G2C.js → chunk-JIMFSNZI.js} +2 -2
  45. package/dist/{chunk-D6FU4DLN.js → chunk-LULQYBRA.js} +2 -2
  46. package/dist/{chunk-DDHWZNGL.js → chunk-MB4CB7Q4.js} +6 -5
  47. package/dist/chunk-MB4CB7Q4.js.map +1 -0
  48. package/dist/{chunk-OHX3PSAY.js → chunk-MZPVETJH.js} +7 -15
  49. package/dist/chunk-MZPVETJH.js.map +1 -0
  50. package/dist/{chunk-OIJNBFMP.js → chunk-OSWL7YDO.js} +2 -2
  51. package/dist/{chunk-32D4CWWH.js → chunk-R2RGFNR4.js} +2 -2
  52. package/dist/{chunk-MPHSR6GA.js → chunk-R4Y2ZBOL.js} +5 -5
  53. package/dist/{chunk-L3P3YJCE.js → chunk-RLFS5KHU.js} +3 -3
  54. package/dist/{chunk-DMNI225H.js → chunk-SM2YM3YR.js} +4 -4
  55. package/dist/{chunk-MNPKEWBQ.js → chunk-UVZBZ5IF.js} +52 -1
  56. package/dist/chunk-UVZBZ5IF.js.map +1 -0
  57. package/dist/{chunk-Y2JHYPMX.js → chunk-VG7UFVF2.js} +47 -35
  58. package/dist/chunk-VG7UFVF2.js.map +1 -0
  59. package/dist/{chunk-OVW26FHW.js → chunk-VQ3Y3PVT.js} +2 -2
  60. package/dist/{chunk-PH65MFQM.js → chunk-Y2TPRF5H.js} +3 -3
  61. package/dist/{claude-ACL7G4CF.js → claude-IYLIOOP7.js} +2 -2
  62. package/dist/{cleanup-I62RA5TZ.js → cleanup-Q6PEKMVF.js} +18 -18
  63. package/dist/cli.js +93 -77
  64. package/dist/cli.js.map +1 -1
  65. package/dist/{commit-7RI2JFFW.js → commit-JKZQYNEB.js} +8 -8
  66. package/dist/{compile-NWTMKAGL.js → compile-QEMZDLKO.js} +7 -7
  67. package/dist/{contribute-QWPOT4QR.js → contribute-TCEOVFDN.js} +4 -4
  68. package/dist/{dev-server-OZ6KKKTR.js → dev-server-25BIZKTB.js} +12 -12
  69. package/dist/{feedback-G63MODT2.js → feedback-CQ42GFZE.js} +7 -7
  70. package/dist/{git-ZTMT6OAI.js → git-HWDX2KWU.js} +4 -4
  71. package/dist/{ignite-GUYKYC5G.js → ignite-25QLX2FS.js} +13 -13
  72. package/dist/index.d.ts +1764 -1709
  73. package/dist/index.js +105 -8
  74. package/dist/index.js.map +1 -1
  75. package/dist/{init-AMLCFVXG.js → init-LRNRRFFU.js} +8 -8
  76. package/dist/{install-deps-XS2UUCUS.js → install-deps-DHFHT3KI.js} +7 -7
  77. package/dist/{issues-2IT7PSNZ.js → issues-W722ILMI.js} +5 -5
  78. package/dist/{lint-DKWJHET3.js → lint-TZDEPVKN.js} +7 -7
  79. package/dist/mcp/issue-management-server.js +39 -0
  80. package/dist/mcp/issue-management-server.js.map +1 -1
  81. package/dist/mcp/recap-server.js +2 -2
  82. package/dist/mcp/recap-server.js.map +1 -1
  83. package/dist/{open-6PXNIPXS.js → open-BCQSZYAD.js} +12 -12
  84. package/dist/{plan-NJVQBBT3.js → plan-2LUGSOYG.js} +30 -28
  85. package/dist/plan-2LUGSOYG.js.map +1 -0
  86. package/dist/{projects-3F6T3KZL.js → projects-INTNTWRM.js} +2 -2
  87. package/dist/prompts/init-prompt.txt +72 -4
  88. package/dist/prompts/issue-prompt.txt +6 -3
  89. package/dist/prompts/pr-prompt.txt +3 -2
  90. package/dist/prompts/regular-prompt.txt +3 -2
  91. package/dist/prompts/session-summary-prompt.txt +2 -1
  92. package/dist/prompts/swarm-orchestrator-prompt.txt +2 -2
  93. package/dist/{rebase-6AXN45AE.js → rebase-ZKZKKQKB.js} +7 -7
  94. package/dist/{recap-XDKI3MTA.js → recap-XXLLMETY.js} +7 -7
  95. package/dist/{run-RHE5NPDT.js → run-5P5ULYZY.js} +12 -12
  96. package/dist/schema/settings.schema.json +50 -0
  97. package/dist/{shell-XOILFEZW.js → shell-GNDHII2J.js} +6 -6
  98. package/dist/{summary-BVYOM63C.js → summary-TVLBZNKY.js} +10 -10
  99. package/dist/{test-6T2UMQ7T.js → test-T5K7FOKQ.js} +7 -7
  100. package/dist/{test-git-CQ65OL45.js → test-git-AQ3ZQ4RA.js} +4 -4
  101. package/dist/{test-jira-CQQHGZ3S.js → test-jira-7XQ63U2C.js} +3 -3
  102. package/dist/{test-prefix-HMTZSS67.js → test-prefix-OTY2HBSB.js} +4 -4
  103. package/dist/{test-webserver-ZN73CM2T.js → test-webserver-CPQMUCDD.js} +6 -6
  104. package/dist/{vscode-ABQ5ZSH7.js → vscode-M4KRTKZK.js} +6 -6
  105. package/package.json +1 -1
  106. package/dist/LoomLauncher-KG2VBNQA.js.map +0 -1
  107. package/dist/chunk-CQHHEW2M.js.map +0 -1
  108. package/dist/chunk-DDHWZNGL.js.map +0 -1
  109. package/dist/chunk-DYLOITSO.js.map +0 -1
  110. package/dist/chunk-MNPKEWBQ.js.map +0 -1
  111. package/dist/chunk-OHX3PSAY.js.map +0 -1
  112. package/dist/chunk-R2EFSRKR.js.map +0 -1
  113. package/dist/chunk-RP6MHV24.js.map +0 -1
  114. package/dist/chunk-XIVLGWUX.js.map +0 -1
  115. package/dist/chunk-Y2JHYPMX.js.map +0 -1
  116. package/dist/plan-NJVQBBT3.js.map +0 -1
  117. /package/dist/{BranchNamingService-MEK2WZUD.js.map → BranchNamingService-PBP6DY3H.js.map} +0 -0
  118. /package/dist/{ClaudeContextManager-KJ4VEA2F.js.map → ClaudeContextManager-3HT4LEIU.js.map} +0 -0
  119. /package/dist/{ClaudeService-WTJO4UW6.js.map → ClaudeService-7BHL2GWC.js.map} +0 -0
  120. /package/dist/{IssueTrackerFactory-UEJALI4X.js.map → IssueTrackerFactory-JH34S4GX.js.map} +0 -0
  121. /package/dist/{MetadataManager-HHE6LQF2.js.map → MetadataManager-WKM7JJIO.js.map} +0 -0
  122. /package/dist/{SettingsManager-PVHBSCMI.js.map → SettingsManager-Y5OU5HCX.js.map} +0 -0
  123. /package/dist/{build-2FXDYEZQ.js.map → build-NJJT6UHO.js.map} +0 -0
  124. /package/dist/{chunk-VUIPDX3T.js.map → chunk-27CQSBUG.js.map} +0 -0
  125. /package/dist/{chunk-YVNG35OW.js.map → chunk-2Z4VKQND.js.map} +0 -0
  126. /package/dist/{chunk-UQWMPQ2Q.js.map → chunk-4QROZMPZ.js.map} +0 -0
  127. /package/dist/{chunk-U2OPXZ6E.js.map → chunk-5NVJ6N3C.js.map} +0 -0
  128. /package/dist/{chunk-2WRD6Y5E.js.map → chunk-5VP2HAWF.js.map} +0 -0
  129. /package/dist/{chunk-H4TSDALC.js.map → chunk-64K5SZXC.js.map} +0 -0
  130. /package/dist/{chunk-5W44AI63.js.map → chunk-6FHFHMNF.js.map} +0 -0
  131. /package/dist/{chunk-XC5JKRSH.js.map → chunk-6RKZDUTQ.js.map} +0 -0
  132. /package/dist/{chunk-UMAOVKQX.js.map → chunk-CSJ7JNJV.js.map} +0 -0
  133. /package/dist/{chunk-AQUSMNBF.js.map → chunk-CWRQ4NU4.js.map} +0 -0
  134. /package/dist/{chunk-OMV47LLA.js.map → chunk-FPM6XDEO.js.map} +0 -0
  135. /package/dist/{chunk-ZWXJ7G2C.js.map → chunk-JIMFSNZI.js.map} +0 -0
  136. /package/dist/{chunk-D6FU4DLN.js.map → chunk-LULQYBRA.js.map} +0 -0
  137. /package/dist/{chunk-OIJNBFMP.js.map → chunk-OSWL7YDO.js.map} +0 -0
  138. /package/dist/{chunk-32D4CWWH.js.map → chunk-R2RGFNR4.js.map} +0 -0
  139. /package/dist/{chunk-MPHSR6GA.js.map → chunk-R4Y2ZBOL.js.map} +0 -0
  140. /package/dist/{chunk-L3P3YJCE.js.map → chunk-RLFS5KHU.js.map} +0 -0
  141. /package/dist/{chunk-DMNI225H.js.map → chunk-SM2YM3YR.js.map} +0 -0
  142. /package/dist/{chunk-OVW26FHW.js.map → chunk-VQ3Y3PVT.js.map} +0 -0
  143. /package/dist/{chunk-PH65MFQM.js.map → chunk-Y2TPRF5H.js.map} +0 -0
  144. /package/dist/{claude-ACL7G4CF.js.map → claude-IYLIOOP7.js.map} +0 -0
  145. /package/dist/{cleanup-I62RA5TZ.js.map → cleanup-Q6PEKMVF.js.map} +0 -0
  146. /package/dist/{commit-7RI2JFFW.js.map → commit-JKZQYNEB.js.map} +0 -0
  147. /package/dist/{compile-NWTMKAGL.js.map → compile-QEMZDLKO.js.map} +0 -0
  148. /package/dist/{contribute-QWPOT4QR.js.map → contribute-TCEOVFDN.js.map} +0 -0
  149. /package/dist/{dev-server-OZ6KKKTR.js.map → dev-server-25BIZKTB.js.map} +0 -0
  150. /package/dist/{feedback-G63MODT2.js.map → feedback-CQ42GFZE.js.map} +0 -0
  151. /package/dist/{git-ZTMT6OAI.js.map → git-HWDX2KWU.js.map} +0 -0
  152. /package/dist/{ignite-GUYKYC5G.js.map → ignite-25QLX2FS.js.map} +0 -0
  153. /package/dist/{init-AMLCFVXG.js.map → init-LRNRRFFU.js.map} +0 -0
  154. /package/dist/{install-deps-XS2UUCUS.js.map → install-deps-DHFHT3KI.js.map} +0 -0
  155. /package/dist/{issues-2IT7PSNZ.js.map → issues-W722ILMI.js.map} +0 -0
  156. /package/dist/{lint-DKWJHET3.js.map → lint-TZDEPVKN.js.map} +0 -0
  157. /package/dist/{open-6PXNIPXS.js.map → open-BCQSZYAD.js.map} +0 -0
  158. /package/dist/{projects-3F6T3KZL.js.map → projects-INTNTWRM.js.map} +0 -0
  159. /package/dist/{rebase-6AXN45AE.js.map → rebase-ZKZKKQKB.js.map} +0 -0
  160. /package/dist/{recap-XDKI3MTA.js.map → recap-XXLLMETY.js.map} +0 -0
  161. /package/dist/{run-RHE5NPDT.js.map → run-5P5ULYZY.js.map} +0 -0
  162. /package/dist/{shell-XOILFEZW.js.map → shell-GNDHII2J.js.map} +0 -0
  163. /package/dist/{summary-BVYOM63C.js.map → summary-TVLBZNKY.js.map} +0 -0
  164. /package/dist/{test-6T2UMQ7T.js.map → test-T5K7FOKQ.js.map} +0 -0
  165. /package/dist/{test-git-CQ65OL45.js.map → test-git-AQ3ZQ4RA.js.map} +0 -0
  166. /package/dist/{test-jira-CQQHGZ3S.js.map → test-jira-7XQ63U2C.js.map} +0 -0
  167. /package/dist/{test-prefix-HMTZSS67.js.map → test-prefix-OTY2HBSB.js.map} +0 -0
  168. /package/dist/{test-webserver-ZN73CM2T.js.map → test-webserver-CPQMUCDD.js.map} +0 -0
  169. /package/dist/{vscode-ABQ5ZSH7.js.map → vscode-M4KRTKZK.js.map} +0 -0
package/dist/index.js CHANGED
@@ -991,6 +991,64 @@ var init_logger = __esm({
991
991
  }
992
992
  });
993
993
 
994
+ // src/types/worktree.ts
995
+ var init_worktree = __esm({
996
+ "src/types/worktree.ts"() {
997
+ "use strict";
998
+ }
999
+ });
1000
+
1001
+ // src/types/environment.ts
1002
+ var init_environment = __esm({
1003
+ "src/types/environment.ts"() {
1004
+ "use strict";
1005
+ }
1006
+ });
1007
+
1008
+ // src/types/loom.ts
1009
+ var init_loom = __esm({
1010
+ "src/types/loom.ts"() {
1011
+ "use strict";
1012
+ }
1013
+ });
1014
+
1015
+ // src/types/cleanup.ts
1016
+ var init_cleanup = __esm({
1017
+ "src/types/cleanup.ts"() {
1018
+ "use strict";
1019
+ }
1020
+ });
1021
+
1022
+ // src/types/telemetry.ts
1023
+ var init_telemetry = __esm({
1024
+ "src/types/telemetry.ts"() {
1025
+ "use strict";
1026
+ }
1027
+ });
1028
+
1029
+ // src/types/index.ts
1030
+ function isEffortLevel(value) {
1031
+ return typeof value === "string" && VALID_EFFORT_LEVELS.includes(value);
1032
+ }
1033
+ var VALID_EFFORT_LEVELS, UserAbortedCommitError;
1034
+ var init_types = __esm({
1035
+ "src/types/index.ts"() {
1036
+ "use strict";
1037
+ init_worktree();
1038
+ init_environment();
1039
+ init_loom();
1040
+ init_cleanup();
1041
+ init_telemetry();
1042
+ VALID_EFFORT_LEVELS = ["low", "medium", "high", "max"];
1043
+ UserAbortedCommitError = class extends Error {
1044
+ constructor(message = "User aborted the commit") {
1045
+ super(message);
1046
+ this.name = "UserAbortedCommitError";
1047
+ }
1048
+ };
1049
+ }
1050
+ });
1051
+
994
1052
  // src/lib/SettingsManager.ts
995
1053
  var SettingsManager_exports = {};
996
1054
  __export(SettingsManager_exports, {
@@ -1009,6 +1067,7 @@ __export(SettingsManager_exports, {
1009
1067
  SpinAgentSettingsSchema: () => SpinAgentSettingsSchema,
1010
1068
  SummarySettingsSchema: () => SummarySettingsSchema,
1011
1069
  VALID_CLAUDE_MODELS: () => VALID_CLAUDE_MODELS,
1070
+ VALID_EFFORT_LEVELS: () => VALID_EFFORT_LEVELS,
1012
1071
  WorkflowPermissionSchema: () => WorkflowPermissionSchema,
1013
1072
  WorkflowPermissionSchemaNoDefaults: () => WorkflowPermissionSchemaNoDefaults,
1014
1073
  WorkflowsSettingsSchema: () => WorkflowsSettingsSchema,
@@ -1044,6 +1103,8 @@ var init_SettingsManager = __esm({
1044
1103
  "src/lib/SettingsManager.ts"() {
1045
1104
  "use strict";
1046
1105
  init_logger();
1106
+ init_types();
1107
+ init_types();
1047
1108
  mergeModeValues = ["local", "pr", "draft-pr", "github-pr", "github-draft-pr", "bitbucket-pr"];
1048
1109
  mergeModeTransform = (val) => {
1049
1110
  const map = { "github-pr": "pr", "github-draft-pr": "draft-pr", "bitbucket-pr": "pr" };
@@ -1053,6 +1114,8 @@ var init_SettingsManager = __esm({
1053
1114
  BaseAgentSettingsSchema = z.object({
1054
1115
  model: z.enum(VALID_CLAUDE_MODELS).optional().describe("Claude model shorthand: sonnet, opus, haiku, sonnet[1m], or opus[1m]"),
1055
1116
  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."),
1117
+ effort: z.enum(VALID_EFFORT_LEVELS).optional().describe("Effort level for this agent: low, medium, high, max"),
1118
+ swarmEffort: z.enum(VALID_EFFORT_LEVELS).optional().describe("Effort level for this agent in swarm mode."),
1056
1119
  enabled: z.boolean().optional().describe("Whether this agent is enabled. Defaults to true."),
1057
1120
  providers: z.record(
1058
1121
  z.enum(["claude", "gemini", "codex"]),
@@ -1065,10 +1128,13 @@ var init_SettingsManager = __esm({
1065
1128
  SpinAgentSettingsSchema = z.object({
1066
1129
  model: z.enum(VALID_CLAUDE_MODELS).default("opus").describe("Claude model shorthand for spin orchestrator"),
1067
1130
  swarmModel: z.enum(VALID_CLAUDE_MODELS).optional().describe("Model for the spin orchestrator when running in swarm mode. Overrides spin.model for swarm workflows."),
1131
+ effort: z.enum(VALID_EFFORT_LEVELS).optional().describe("Default effort level for spin sessions"),
1132
+ swarmEffort: z.enum(VALID_EFFORT_LEVELS).optional().describe("Effort level for spin orchestrator in swarm mode. Defaults to medium."),
1068
1133
  postSwarmReview: z.boolean().default(true).describe("Run a full code review after swarm completion, auto-fixing issues with confidence 80+. Defaults to true.")
1069
1134
  });
1070
1135
  PlanCommandSettingsSchema = z.object({
1071
1136
  model: z.enum(VALID_CLAUDE_MODELS).default("opus").describe("Claude model shorthand for plan command"),
1137
+ effort: z.enum(VALID_EFFORT_LEVELS).optional().describe("Default effort level for plan sessions"),
1072
1138
  planner: z.enum(["claude", "gemini", "codex"]).default("claude").describe("AI provider for creating the plan"),
1073
1139
  reviewer: z.enum(["claude", "gemini", "codex", "none"]).default("none").describe("AI provider for reviewing the plan (none to skip review)"),
1074
1140
  waveVerification: z.boolean().default(true).describe("When enabled, the planner generates verification child issues between dependency waves to catch integration issues early.")
@@ -1331,10 +1397,13 @@ var init_SettingsManager = __esm({
1331
1397
  spin: z.object({
1332
1398
  model: z.enum(VALID_CLAUDE_MODELS).optional(),
1333
1399
  swarmModel: z.enum(VALID_CLAUDE_MODELS).optional(),
1400
+ effort: z.enum(VALID_EFFORT_LEVELS).optional(),
1401
+ swarmEffort: z.enum(VALID_EFFORT_LEVELS).optional(),
1334
1402
  postSwarmReview: z.boolean().optional()
1335
1403
  }).optional().describe("Spin orchestrator configuration"),
1336
1404
  plan: z.object({
1337
1405
  model: z.enum(VALID_CLAUDE_MODELS).optional(),
1406
+ effort: z.enum(VALID_EFFORT_LEVELS).optional(),
1338
1407
  planner: z.enum(["claude", "gemini", "codex"]).optional(),
1339
1408
  reviewer: z.enum(["claude", "gemini", "codex", "none"]).optional(),
1340
1409
  waveVerification: z.boolean().optional()
@@ -1670,6 +1739,32 @@ ${errorMessages.join("\n")}`
1670
1739
  var _a;
1671
1740
  return ((_a = settings == null ? void 0 : settings.plan) == null ? void 0 : _a.waveVerification) !== false;
1672
1741
  }
1742
+ /**
1743
+ * Get the spin effort level
1744
+ * Defaults to 'high' when not configured
1745
+ *
1746
+ * @param settings - Pre-loaded settings object
1747
+ * @param mode - When 'swarm', returns swarmEffort (defaults to 'high')
1748
+ * @returns Effort level
1749
+ */
1750
+ getSpinEffort(settings, mode) {
1751
+ var _a, _b;
1752
+ if (mode === "swarm") {
1753
+ return ((_a = settings == null ? void 0 : settings.spin) == null ? void 0 : _a.swarmEffort) ?? "high";
1754
+ }
1755
+ return ((_b = settings == null ? void 0 : settings.spin) == null ? void 0 : _b.effort) ?? "high";
1756
+ }
1757
+ /**
1758
+ * Get the plan effort level
1759
+ * Defaults to 'high' when not configured
1760
+ *
1761
+ * @param settings - Pre-loaded settings object
1762
+ * @returns Effort level
1763
+ */
1764
+ getPlanEffort(settings) {
1765
+ var _a;
1766
+ return ((_a = settings == null ? void 0 : settings.plan) == null ? void 0 : _a.effort) ?? "high";
1767
+ }
1673
1768
  /**
1674
1769
  * Get the session summary model with default applied
1675
1770
  * Default is defined in SummarySettingsSchema
@@ -1948,6 +2043,7 @@ var MetadataManager = class {
1948
2043
  oneShot: data.oneShot ?? null,
1949
2044
  dangerouslySkipPermissions: data.dangerouslySkipPermissions ?? false,
1950
2045
  complexity: data.complexity ?? null,
2046
+ effort: data.effort ?? null,
1951
2047
  capabilities: data.capabilities ?? [],
1952
2048
  state: data.state ?? null,
1953
2049
  childIssueNumbers: data.childIssueNumbers ?? [],
@@ -2022,6 +2118,7 @@ var MetadataManager = class {
2022
2118
  ...input.oneShot && { oneShot: input.oneShot },
2023
2119
  ...input.dangerouslySkipPermissions && { dangerouslySkipPermissions: true },
2024
2120
  ...input.complexity && { complexity: input.complexity },
2121
+ ...input.effort && { effort: input.effort },
2025
2122
  ...input.state && { state: input.state },
2026
2123
  ...input.childIssueNumbers && input.childIssueNumbers.length > 0 && { childIssueNumbers: input.childIssueNumbers },
2027
2124
  ...input.parentLoom && { parentLoom: input.parentLoom },
@@ -5715,7 +5812,7 @@ function parseJsonStreamOutput(output) {
5715
5812
  }
5716
5813
  }
5717
5814
  async function launchClaude(prompt, options = {}) {
5718
- const { model, permissionMode, addDir, headless = false, appendSystemPrompt, appendSystemPromptFile, mcpConfig, allowedTools, disallowedTools, agents, pluginDir, sessionId, noSessionPersistence, outputFormat, verbose, jsonMode, passthroughStdout, env: extraEnv, signal } = options;
5815
+ const { model, permissionMode, addDir, headless = false, appendSystemPrompt, appendSystemPromptFile, mcpConfig, allowedTools, disallowedTools, agents, pluginDir, sessionId, noSessionPersistence, outputFormat, verbose, jsonMode, passthroughStdout, effort, env: extraEnv, signal } = options;
5719
5816
  const log = getLogger();
5720
5817
  const args = [];
5721
5818
  if (headless) {
@@ -5729,6 +5826,9 @@ async function launchClaude(prompt, options = {}) {
5729
5826
  if (model) {
5730
5827
  args.push("--model", model);
5731
5828
  }
5829
+ if (effort) {
5830
+ args.push("--effort", effort);
5831
+ }
5732
5832
  if (permissionMode && permissionMode !== "default") {
5733
5833
  args.push("--permission-mode", permissionMode);
5734
5834
  }
@@ -6277,13 +6377,8 @@ var ClaudeContextManager = class {
6277
6377
  }
6278
6378
  };
6279
6379
 
6280
- // src/types/index.ts
6281
- var UserAbortedCommitError = class extends Error {
6282
- constructor(message = "User aborted the commit") {
6283
- super(message);
6284
- this.name = "UserAbortedCommitError";
6285
- }
6286
- };
6380
+ // src/index.ts
6381
+ init_types();
6287
6382
 
6288
6383
  // src/utils/index.ts
6289
6384
  init_logger();
@@ -6703,6 +6798,7 @@ export {
6703
6798
  PLACEHOLDER_COMMIT_PREFIX,
6704
6799
  TableFormatter,
6705
6800
  UserAbortedCommitError,
6801
+ VALID_EFFORT_LEVELS,
6706
6802
  WorkspaceManager,
6707
6803
  branchExists,
6708
6804
  checkRemoteBranchStatus,
@@ -6727,6 +6823,7 @@ export {
6727
6823
  getWorktreeRoot,
6728
6824
  hasUncommittedChanges,
6729
6825
  isBranchMergedIntoMain,
6826
+ isEffortLevel,
6730
6827
  isEmptyRepository,
6731
6828
  isFileGitignored,
6732
6829
  isFileTrackedByGit,