@iloom/cli 0.13.0-beta.0 → 0.13.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 +3 -18
- package/dist/{ClaudeContextManager-RRGREEZQ.js → ClaudeContextManager-ZH6LEA5I.js} +5 -5
- package/dist/{ClaudeService-LEPW6QAC.js → ClaudeService-YR66WXZN.js} +4 -4
- package/dist/{IssueTrackerFactory-KE2BDCLC.js → IssueTrackerFactory-O2ZBA666.js} +3 -3
- package/dist/{LoomLauncher-GKQMR5E6.js → LoomLauncher-V54ENBEF.js} +5 -5
- package/dist/{MetadataManager-V4LSJ2PB.js → MetadataManager-HHE6LQF2.js} +2 -2
- package/dist/{PromptTemplateManager-I75WKXM4.js → PromptTemplateManager-4RFELNYY.js} +2 -2
- package/dist/README.md +3 -18
- package/dist/{SettingsManager-KQU7OX7G.js → SettingsManager-SLSYEYDZ.js} +4 -4
- package/dist/agents/iloom-artifact-reviewer.md +1 -0
- package/dist/agents/iloom-code-reviewer.md +21 -0
- package/dist/agents/iloom-issue-analyze-and-plan.md +30 -12
- package/dist/agents/iloom-issue-analyzer.md +32 -7
- package/dist/agents/iloom-issue-complexity-evaluator.md +32 -12
- package/dist/agents/iloom-issue-implementer.md +31 -12
- package/dist/agents/iloom-issue-planner.md +30 -12
- package/dist/agents/iloom-wave-verifier.md +177 -4
- package/dist/{build-V3KADFMO.js → build-ZTGWDHWU.js} +8 -8
- package/dist/{chunk-VVQQIG64.js → chunk-55NTREIU.js} +33 -30
- package/dist/chunk-55NTREIU.js.map +1 -0
- package/dist/{chunk-AYLC633W.js → chunk-7TN5VW4I.js} +65 -7
- package/dist/chunk-7TN5VW4I.js.map +1 -0
- package/dist/{chunk-RFCAPHL5.js → chunk-C2BVNJW5.js} +2 -2
- package/dist/{chunk-3XEXT35Z.js → chunk-E5OM25WK.js} +3 -3
- package/dist/{chunk-Q7VXHJP6.js → chunk-EHAITKLS.js} +10 -6
- package/dist/{chunk-Q7VXHJP6.js.map → chunk-EHAITKLS.js.map} +1 -1
- package/dist/{chunk-ZUIFO7B4.js → chunk-ERMEYFT6.js} +7 -2
- package/dist/chunk-ERMEYFT6.js.map +1 -0
- package/dist/{chunk-WGUGB54H.js → chunk-F5NKWLMQ.js} +21 -24
- package/dist/chunk-F5NKWLMQ.js.map +1 -0
- package/dist/{chunk-TN2D2RX7.js → chunk-G2DGDCDP.js} +33 -224
- package/dist/chunk-G2DGDCDP.js.map +1 -0
- package/dist/{chunk-NUUFP53X.js → chunk-GPBX2BY2.js} +2 -2
- package/dist/{chunk-SN4S5CWL.js → chunk-GQDVH6FA.js} +2 -2
- package/dist/{chunk-YUOVWWJX.js → chunk-HKEXRZMU.js} +5 -310
- package/dist/chunk-HKEXRZMU.js.map +1 -0
- package/dist/{chunk-TAEVA4QR.js → chunk-HWDQRW3O.js} +3 -3
- package/dist/chunk-HWDQRW3O.js.map +1 -0
- package/dist/{chunk-KQSV7FOG.js → chunk-J5JOJPK3.js} +2 -2
- package/dist/{chunk-PD75ZCFT.js → chunk-KCAWSZUO.js} +18 -17
- package/dist/chunk-KCAWSZUO.js.map +1 -0
- package/dist/{chunk-QNPJXO53.js → chunk-KGOBNC5A.js} +4 -4
- package/dist/{chunk-H3T3EPF3.js → chunk-LNY2Y32V.js} +2 -2
- package/dist/{chunk-7RCUWU3I.js → chunk-MRPIDNZU.js} +1 -1
- package/dist/chunk-MRPIDNZU.js.map +1 -0
- package/dist/{chunk-VIQOQ463.js → chunk-OLJ54WGW.js} +15 -10
- package/dist/chunk-OLJ54WGW.js.map +1 -0
- package/dist/{chunk-QQULYI2S.js → chunk-P5MNWBLH.js} +108 -47
- package/dist/chunk-P5MNWBLH.js.map +1 -0
- package/dist/{chunk-4VQXMEEP.js → chunk-PPQ5LV7U.js} +3 -3
- package/dist/{chunk-4VQXMEEP.js.map → chunk-PPQ5LV7U.js.map} +1 -1
- package/dist/{chunk-QED2WB2D.js → chunk-PS6K2AOV.js} +5 -5
- package/dist/{chunk-JD3K2344.js → chunk-QNRXRSKC.js} +36 -3
- package/dist/chunk-QNRXRSKC.js.map +1 -0
- package/dist/{chunk-SA446KA2.js → chunk-T4KFKKEB.js} +7 -7
- package/dist/{chunk-XCP2WDYA.js → chunk-T4NESGYB.js} +3 -3
- package/dist/{chunk-QXGM32TO.js → chunk-TJDKGKQV.js} +2 -2
- package/dist/{chunk-X5DRLONY.js → chunk-UXBVDD7U.js} +6 -6
- package/dist/{chunk-JDN4SPV3.js → chunk-WYDLOQYO.js} +2 -2
- package/dist/{chunk-4JZEQBWV.js → chunk-XIVLGWUX.js} +3 -1
- package/dist/chunk-XIVLGWUX.js.map +1 -0
- package/dist/{chunk-NTDY5AMO.js → chunk-ZEFTWM5Z.js} +2 -2
- package/dist/{cleanup-RJKLI47I.js → cleanup-BCVY7PEF.js} +22 -22
- package/dist/cleanup-BCVY7PEF.js.map +1 -0
- package/dist/cli.js +136 -105
- package/dist/cli.js.map +1 -1
- package/dist/{commit-SUHRUMDE.js → commit-L5JNBU4U.js} +8 -8
- package/dist/{compile-2MD346PO.js → compile-GPJOHXH4.js} +8 -8
- package/dist/{contribute-P4BMRY7C.js → contribute-QEGCI4PS.js} +4 -4
- package/dist/{dev-server-ZNTLWOL5.js → dev-server-UQKNKU2S.js} +249 -31
- package/dist/dev-server-UQKNKU2S.js.map +1 -0
- package/dist/{feedback-Q6WG2WX4.js → feedback-2LWXKLQZ.js} +4 -4
- package/dist/{git-TX2IEMB3.js → git-IS7AV3ED.js} +4 -4
- package/dist/hooks/iloom-hook.js +40 -2
- package/dist/{ignite-P644W2PK.js → ignite-VQDJQ37S.js} +12 -14
- package/dist/index.d.ts +73 -75
- package/dist/index.js +32 -32
- package/dist/index.js.map +1 -1
- package/dist/{init-5HFY7JG6.js → init-7SDJUAEZ.js} +8 -8
- package/dist/{install-deps-J4ALTM27.js → install-deps-NGSFDNUW.js} +8 -8
- package/dist/{issues-LZMIF22U.js → issues-4HQKEUP7.js} +5 -5
- package/dist/{lint-XIXKU22H.js → lint-C5FOVRXY.js} +8 -8
- package/dist/mcp/issue-management-server.js +19 -22
- package/dist/mcp/issue-management-server.js.map +1 -1
- package/dist/neon-helpers-LCZAN4U4.js +11 -0
- package/dist/{open-KUO35JIJ.js → open-2HL6GV5F.js} +19 -15
- package/dist/open-2HL6GV5F.js.map +1 -0
- package/dist/{plan-7CF56OIR.js → plan-GC3HF73T.js} +86 -66
- package/dist/plan-GC3HF73T.js.map +1 -0
- package/dist/{projects-L5AHUBGA.js → projects-3F6T3KZL.js} +2 -2
- package/dist/prompts/init-prompt.txt +40 -36
- package/dist/prompts/issue-prompt.txt +4 -1
- package/dist/prompts/plan-prompt.txt +97 -16
- package/dist/prompts/regular-prompt.txt +1 -1
- package/dist/prompts/swarm-orchestrator-prompt.txt +25 -12
- package/dist/{rebase-MAMWPA2L.js → rebase-MLIN572O.js} +7 -7
- package/dist/{recap-IDBO3KM5.js → recap-CKGKFDJL.js} +7 -7
- package/dist/{run-RGZHCQ6M.js → run-CUNRQNZS.js} +19 -15
- package/dist/run-CUNRQNZS.js.map +1 -0
- package/dist/schema/settings.schema.json +35 -31
- package/dist/{shell-7ADCDFIV.js → shell-M2YYPNGV.js} +6 -6
- package/dist/{summary-7J2HORFD.js → summary-XR4CBJEG.js} +9 -9
- package/dist/{test-SRB7EWU6.js → test-ESDAHEVE.js} +8 -8
- package/dist/{test-git-G7ATVIXG.js → test-git-KWPLHYSI.js} +4 -4
- package/dist/{test-jira-Q2HPA522.js → test-jira-6NK7UHSV.js} +3 -3
- package/dist/{test-prefix-JMDGXR5A.js → test-prefix-VVODGHXP.js} +4 -4
- package/dist/{test-webserver-GZFVXBGD.js → test-webserver-AHXKC6H4.js} +6 -6
- package/dist/{vscode-3I7ISHUU.js → vscode-OY7HOVRO.js} +6 -6
- package/package.json +1 -1
- package/dist/chunk-4JZEQBWV.js.map +0 -1
- package/dist/chunk-7RCUWU3I.js.map +0 -1
- package/dist/chunk-AYLC633W.js.map +0 -1
- package/dist/chunk-JD3K2344.js.map +0 -1
- package/dist/chunk-PD75ZCFT.js.map +0 -1
- package/dist/chunk-QQULYI2S.js.map +0 -1
- package/dist/chunk-TAEVA4QR.js.map +0 -1
- package/dist/chunk-TN2D2RX7.js.map +0 -1
- package/dist/chunk-VIQOQ463.js.map +0 -1
- package/dist/chunk-VVQQIG64.js.map +0 -1
- package/dist/chunk-WGUGB54H.js.map +0 -1
- package/dist/chunk-YUOVWWJX.js.map +0 -1
- package/dist/chunk-ZUIFO7B4.js.map +0 -1
- package/dist/cleanup-RJKLI47I.js.map +0 -1
- package/dist/database-helpers-PRDFNDRO.js +0 -11
- package/dist/dev-server-ZNTLWOL5.js.map +0 -1
- package/dist/open-KUO35JIJ.js.map +0 -1
- package/dist/plan-7CF56OIR.js.map +0 -1
- package/dist/run-RGZHCQ6M.js.map +0 -1
- /package/dist/{ClaudeContextManager-RRGREEZQ.js.map → ClaudeContextManager-ZH6LEA5I.js.map} +0 -0
- /package/dist/{ClaudeService-LEPW6QAC.js.map → ClaudeService-YR66WXZN.js.map} +0 -0
- /package/dist/{IssueTrackerFactory-KE2BDCLC.js.map → IssueTrackerFactory-O2ZBA666.js.map} +0 -0
- /package/dist/{LoomLauncher-GKQMR5E6.js.map → LoomLauncher-V54ENBEF.js.map} +0 -0
- /package/dist/{MetadataManager-V4LSJ2PB.js.map → MetadataManager-HHE6LQF2.js.map} +0 -0
- /package/dist/{PromptTemplateManager-I75WKXM4.js.map → PromptTemplateManager-4RFELNYY.js.map} +0 -0
- /package/dist/{SettingsManager-KQU7OX7G.js.map → SettingsManager-SLSYEYDZ.js.map} +0 -0
- /package/dist/{build-V3KADFMO.js.map → build-ZTGWDHWU.js.map} +0 -0
- /package/dist/{chunk-RFCAPHL5.js.map → chunk-C2BVNJW5.js.map} +0 -0
- /package/dist/{chunk-3XEXT35Z.js.map → chunk-E5OM25WK.js.map} +0 -0
- /package/dist/{chunk-NUUFP53X.js.map → chunk-GPBX2BY2.js.map} +0 -0
- /package/dist/{chunk-SN4S5CWL.js.map → chunk-GQDVH6FA.js.map} +0 -0
- /package/dist/{chunk-KQSV7FOG.js.map → chunk-J5JOJPK3.js.map} +0 -0
- /package/dist/{chunk-QNPJXO53.js.map → chunk-KGOBNC5A.js.map} +0 -0
- /package/dist/{chunk-H3T3EPF3.js.map → chunk-LNY2Y32V.js.map} +0 -0
- /package/dist/{chunk-QED2WB2D.js.map → chunk-PS6K2AOV.js.map} +0 -0
- /package/dist/{chunk-SA446KA2.js.map → chunk-T4KFKKEB.js.map} +0 -0
- /package/dist/{chunk-XCP2WDYA.js.map → chunk-T4NESGYB.js.map} +0 -0
- /package/dist/{chunk-QXGM32TO.js.map → chunk-TJDKGKQV.js.map} +0 -0
- /package/dist/{chunk-X5DRLONY.js.map → chunk-UXBVDD7U.js.map} +0 -0
- /package/dist/{chunk-JDN4SPV3.js.map → chunk-WYDLOQYO.js.map} +0 -0
- /package/dist/{chunk-NTDY5AMO.js.map → chunk-ZEFTWM5Z.js.map} +0 -0
- /package/dist/{commit-SUHRUMDE.js.map → commit-L5JNBU4U.js.map} +0 -0
- /package/dist/{compile-2MD346PO.js.map → compile-GPJOHXH4.js.map} +0 -0
- /package/dist/{contribute-P4BMRY7C.js.map → contribute-QEGCI4PS.js.map} +0 -0
- /package/dist/{feedback-Q6WG2WX4.js.map → feedback-2LWXKLQZ.js.map} +0 -0
- /package/dist/{database-helpers-PRDFNDRO.js.map → git-IS7AV3ED.js.map} +0 -0
- /package/dist/{git-TX2IEMB3.js.map → ignite-VQDJQ37S.js.map} +0 -0
- /package/dist/{init-5HFY7JG6.js.map → init-7SDJUAEZ.js.map} +0 -0
- /package/dist/{install-deps-J4ALTM27.js.map → install-deps-NGSFDNUW.js.map} +0 -0
- /package/dist/{issues-LZMIF22U.js.map → issues-4HQKEUP7.js.map} +0 -0
- /package/dist/{lint-XIXKU22H.js.map → lint-C5FOVRXY.js.map} +0 -0
- /package/dist/{ignite-P644W2PK.js.map → neon-helpers-LCZAN4U4.js.map} +0 -0
- /package/dist/{projects-L5AHUBGA.js.map → projects-3F6T3KZL.js.map} +0 -0
- /package/dist/{rebase-MAMWPA2L.js.map → rebase-MLIN572O.js.map} +0 -0
- /package/dist/{recap-IDBO3KM5.js.map → recap-CKGKFDJL.js.map} +0 -0
- /package/dist/{shell-7ADCDFIV.js.map → shell-M2YYPNGV.js.map} +0 -0
- /package/dist/{summary-7J2HORFD.js.map → summary-XR4CBJEG.js.map} +0 -0
- /package/dist/{test-SRB7EWU6.js.map → test-ESDAHEVE.js.map} +0 -0
- /package/dist/{test-git-G7ATVIXG.js.map → test-git-KWPLHYSI.js.map} +0 -0
- /package/dist/{test-jira-Q2HPA522.js.map → test-jira-6NK7UHSV.js.map} +0 -0
- /package/dist/{test-prefix-JMDGXR5A.js.map → test-prefix-VVODGHXP.js.map} +0 -0
- /package/dist/{test-webserver-GZFVXBGD.js.map → test-webserver-AHXKC6H4.js.map} +0 -0
- /package/dist/{vscode-3I7ISHUU.js.map → vscode-OY7HOVRO.js.map} +0 -0
package/dist/index.js
CHANGED
|
@@ -1008,7 +1008,7 @@ __export(SettingsManager_exports, {
|
|
|
1008
1008
|
SettingsManager: () => SettingsManager,
|
|
1009
1009
|
SpinAgentSettingsSchema: () => SpinAgentSettingsSchema,
|
|
1010
1010
|
SummarySettingsSchema: () => SummarySettingsSchema,
|
|
1011
|
-
|
|
1011
|
+
VALID_CLAUDE_MODELS: () => VALID_CLAUDE_MODELS,
|
|
1012
1012
|
WorkflowPermissionSchema: () => WorkflowPermissionSchema,
|
|
1013
1013
|
WorkflowPermissionSchemaNoDefaults: () => WorkflowPermissionSchemaNoDefaults,
|
|
1014
1014
|
WorkflowsSettingsSchema: () => WorkflowsSettingsSchema,
|
|
@@ -1039,7 +1039,7 @@ function redactSensitiveFields(obj) {
|
|
|
1039
1039
|
}
|
|
1040
1040
|
return result;
|
|
1041
1041
|
}
|
|
1042
|
-
var mergeModeValues, mergeModeTransform, BaseAgentSettingsSchema, AgentSettingsSchema, SpinAgentSettingsSchema, PlanCommandSettingsSchema, SummarySettingsSchema, WorkflowPermissionSchema, WorkflowPermissionSchemaNoDefaults, WorkflowsSettingsSchema, WorkflowsSettingsSchemaNoDefaults, CapabilitiesSettingsSchema, CapabilitiesSettingsSchemaNoDefaults, DevServerSettingsSchema, DevServerSettingsSchemaNoDefaults, NeonSettingsSchema,
|
|
1042
|
+
var mergeModeValues, mergeModeTransform, VALID_CLAUDE_MODELS, BaseAgentSettingsSchema, AgentSettingsSchema, SpinAgentSettingsSchema, PlanCommandSettingsSchema, SummarySettingsSchema, WorkflowPermissionSchema, WorkflowPermissionSchemaNoDefaults, WorkflowsSettingsSchema, WorkflowsSettingsSchemaNoDefaults, CapabilitiesSettingsSchema, CapabilitiesSettingsSchemaNoDefaults, DevServerSettingsSchema, DevServerSettingsSchemaNoDefaults, NeonSettingsSchema, DatabaseProvidersSettingsSchema, IloomSettingsSchema, IloomSettingsSchemaNoDefaults, SettingsManager;
|
|
1043
1043
|
var init_SettingsManager = __esm({
|
|
1044
1044
|
"src/lib/SettingsManager.ts"() {
|
|
1045
1045
|
"use strict";
|
|
@@ -1049,9 +1049,10 @@ var init_SettingsManager = __esm({
|
|
|
1049
1049
|
const map = { "github-pr": "pr", "github-draft-pr": "draft-pr", "bitbucket-pr": "pr" };
|
|
1050
1050
|
return map[val] ?? val;
|
|
1051
1051
|
};
|
|
1052
|
+
VALID_CLAUDE_MODELS = ["sonnet", "opus", "haiku", "sonnet[1m]", "opus[1m]"];
|
|
1052
1053
|
BaseAgentSettingsSchema = z.object({
|
|
1053
|
-
model: z.enum(
|
|
1054
|
-
swarmModel: z.enum(
|
|
1054
|
+
model: z.enum(VALID_CLAUDE_MODELS).optional().describe("Claude model shorthand: sonnet, opus, haiku, sonnet[1m], or opus[1m]"),
|
|
1055
|
+
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."),
|
|
1055
1056
|
enabled: z.boolean().optional().describe("Whether this agent is enabled. Defaults to true."),
|
|
1056
1057
|
providers: z.record(
|
|
1057
1058
|
z.enum(["claude", "gemini", "codex"]),
|
|
@@ -1062,18 +1063,18 @@ var init_SettingsManager = __esm({
|
|
|
1062
1063
|
});
|
|
1063
1064
|
AgentSettingsSchema = BaseAgentSettingsSchema;
|
|
1064
1065
|
SpinAgentSettingsSchema = z.object({
|
|
1065
|
-
model: z.enum(
|
|
1066
|
-
swarmModel: z.enum(
|
|
1066
|
+
model: z.enum(VALID_CLAUDE_MODELS).default("opus").describe("Claude model shorthand for spin orchestrator"),
|
|
1067
|
+
swarmModel: z.enum(VALID_CLAUDE_MODELS).optional().describe("Model for the spin orchestrator when running in swarm mode. Overrides spin.model for swarm workflows."),
|
|
1067
1068
|
postSwarmReview: z.boolean().default(true).describe("Run a full code review after swarm completion, auto-fixing issues with confidence 80+. Defaults to true.")
|
|
1068
1069
|
});
|
|
1069
1070
|
PlanCommandSettingsSchema = z.object({
|
|
1070
|
-
model: z.enum(
|
|
1071
|
+
model: z.enum(VALID_CLAUDE_MODELS).default("opus").describe("Claude model shorthand for plan command"),
|
|
1071
1072
|
planner: z.enum(["claude", "gemini", "codex"]).default("claude").describe("AI provider for creating the plan"),
|
|
1072
1073
|
reviewer: z.enum(["claude", "gemini", "codex", "none"]).default("none").describe("AI provider for reviewing the plan (none to skip review)"),
|
|
1073
1074
|
waveVerification: z.boolean().default(true).describe("When enabled, the planner generates verification child issues between dependency waves to catch integration issues early.")
|
|
1074
1075
|
});
|
|
1075
1076
|
SummarySettingsSchema = z.object({
|
|
1076
|
-
model: z.enum(
|
|
1077
|
+
model: z.enum(VALID_CLAUDE_MODELS).default("sonnet").describe("Claude model shorthand for session summary generation")
|
|
1077
1078
|
});
|
|
1078
1079
|
WorkflowPermissionSchema = z.object({
|
|
1079
1080
|
permissionMode: z.enum(["plan", "acceptEdits", "bypassPermissions", "default"]).optional().describe("Permission mode for Claude CLI in this workflow type"),
|
|
@@ -1106,10 +1107,12 @@ var init_SettingsManager = __esm({
|
|
|
1106
1107
|
CapabilitiesSettingsSchema = z.object({
|
|
1107
1108
|
web: z.object({
|
|
1108
1109
|
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)"),
|
|
1110
|
+
protocol: z.enum(["http", "https"]).default("http").describe("Protocol for dev server URLs (http or https)"),
|
|
1109
1111
|
devServer: z.enum(["process", "docker"]).default("process").describe('Dev server mode: "process" runs natively, "docker" runs inside a Docker container with port mapping'),
|
|
1110
1112
|
dockerFile: z.string().default("./Dockerfile").describe('Path to Dockerfile relative to worktree root (only used when devServer is "docker")'),
|
|
1111
1113
|
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)"),
|
|
1112
1114
|
dockerBuildArgs: z.record(z.string()).optional().describe('Build arguments to pass to docker build (e.g., {"NODE_ENV": "development"})'),
|
|
1115
|
+
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.'),
|
|
1113
1116
|
dockerRunArgs: z.array(z.string()).optional().describe('Additional arguments for docker run (e.g., ["-v", "./src:/app/src"] for volume mounts)')
|
|
1114
1117
|
}).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.'),
|
|
1115
1118
|
database: z.object({
|
|
@@ -1119,10 +1122,12 @@ var init_SettingsManager = __esm({
|
|
|
1119
1122
|
CapabilitiesSettingsSchemaNoDefaults = z.object({
|
|
1120
1123
|
web: z.object({
|
|
1121
1124
|
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)"),
|
|
1125
|
+
protocol: z.enum(["http", "https"]).optional().describe("Protocol for dev server URLs (http or https)"),
|
|
1122
1126
|
devServer: z.enum(["process", "docker"]).optional().describe('Dev server mode: "process" runs natively, "docker" runs inside a Docker container with port mapping'),
|
|
1123
1127
|
dockerFile: z.string().optional().describe('Path to Dockerfile relative to worktree root (only used when devServer is "docker")'),
|
|
1124
1128
|
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)"),
|
|
1125
1129
|
dockerBuildArgs: z.record(z.string()).optional().describe('Build arguments to pass to docker build (e.g., {"NODE_ENV": "development"})'),
|
|
1130
|
+
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.'),
|
|
1126
1131
|
dockerRunArgs: z.array(z.string()).optional().describe('Additional arguments for docker run (e.g., ["-v", "./src:/app/src"] for volume mounts)')
|
|
1127
1132
|
}).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.'),
|
|
1128
1133
|
database: z.object({
|
|
@@ -1172,17 +1177,9 @@ var init_SettingsManager = __esm({
|
|
|
1172
1177
|
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")'),
|
|
1173
1178
|
parentBranch: z.string().min(1).describe("Branch from which new database branches are created")
|
|
1174
1179
|
});
|
|
1175
|
-
SupabaseSettingsSchema = z.object({
|
|
1176
|
-
projectRef: z.string().min(1).describe('Supabase project reference ID (e.g., "abcdefghijklmnop")'),
|
|
1177
|
-
parentBranch: z.string().min(1).optional().describe("Reserved for future use. Supabase currently always branches from the default branch."),
|
|
1178
|
-
withData: z.boolean().optional().describe("Whether to include data when creating a new branch (defaults to true)")
|
|
1179
|
-
});
|
|
1180
1180
|
DatabaseProvidersSettingsSchema = z.object({
|
|
1181
1181
|
neon: NeonSettingsSchema.optional().describe(
|
|
1182
1182
|
"Neon database configuration. Requires Neon CLI installed and authenticated for database branching."
|
|
1183
|
-
),
|
|
1184
|
-
supabase: SupabaseSettingsSchema.optional().describe(
|
|
1185
|
-
"Supabase database configuration. Requires Supabase CLI installed and authenticated for database branching."
|
|
1186
1183
|
)
|
|
1187
1184
|
}).optional();
|
|
1188
1185
|
IloomSettingsSchema = z.object({
|
|
@@ -1328,18 +1325,18 @@ var init_SettingsManager = __esm({
|
|
|
1328
1325
|
"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."
|
|
1329
1326
|
),
|
|
1330
1327
|
spin: z.object({
|
|
1331
|
-
model: z.enum(
|
|
1332
|
-
swarmModel: z.enum(
|
|
1328
|
+
model: z.enum(VALID_CLAUDE_MODELS).optional(),
|
|
1329
|
+
swarmModel: z.enum(VALID_CLAUDE_MODELS).optional(),
|
|
1333
1330
|
postSwarmReview: z.boolean().optional()
|
|
1334
1331
|
}).optional().describe("Spin orchestrator configuration"),
|
|
1335
1332
|
plan: z.object({
|
|
1336
|
-
model: z.enum(
|
|
1333
|
+
model: z.enum(VALID_CLAUDE_MODELS).optional(),
|
|
1337
1334
|
planner: z.enum(["claude", "gemini", "codex"]).optional(),
|
|
1338
1335
|
reviewer: z.enum(["claude", "gemini", "codex", "none"]).optional(),
|
|
1339
1336
|
waveVerification: z.boolean().optional()
|
|
1340
1337
|
}).optional().describe("Plan command configuration"),
|
|
1341
1338
|
summary: z.object({
|
|
1342
|
-
model: z.enum(
|
|
1339
|
+
model: z.enum(VALID_CLAUDE_MODELS).optional()
|
|
1343
1340
|
}).optional().describe("Session summary generation configuration"),
|
|
1344
1341
|
capabilities: CapabilitiesSettingsSchemaNoDefaults.describe("Project capability configurations"),
|
|
1345
1342
|
devServer: DevServerSettingsSchemaNoDefaults.optional().describe("Docker-based dev server configuration"),
|
|
@@ -1613,7 +1610,7 @@ ${errorMessages.join("\n")}`
|
|
|
1613
1610
|
* Default is defined in SpinAgentSettingsSchema
|
|
1614
1611
|
*
|
|
1615
1612
|
* @param settings - Pre-loaded settings object
|
|
1616
|
-
* @returns Model shorthand ('opus', 'sonnet',
|
|
1613
|
+
* @returns Model shorthand (e.g. 'opus', 'sonnet', 'haiku', 'sonnet[1m]', 'opus[1m]')
|
|
1617
1614
|
*/
|
|
1618
1615
|
getSpinModel(settings, mode) {
|
|
1619
1616
|
var _a, _b;
|
|
@@ -1621,7 +1618,7 @@ ${errorMessages.join("\n")}`
|
|
|
1621
1618
|
if ((_a = settings == null ? void 0 : settings.spin) == null ? void 0 : _a.swarmModel) {
|
|
1622
1619
|
return settings.spin.swarmModel;
|
|
1623
1620
|
}
|
|
1624
|
-
return "opus";
|
|
1621
|
+
return "opus[1m]";
|
|
1625
1622
|
}
|
|
1626
1623
|
return ((_b = settings == null ? void 0 : settings.spin) == null ? void 0 : _b.model) ?? SpinAgentSettingsSchema.parse({}).model;
|
|
1627
1624
|
}
|
|
@@ -1630,7 +1627,7 @@ ${errorMessages.join("\n")}`
|
|
|
1630
1627
|
* Default is defined in PlanCommandSettingsSchema
|
|
1631
1628
|
*
|
|
1632
1629
|
* @param settings - Pre-loaded settings object
|
|
1633
|
-
* @returns Model shorthand ('opus', 'sonnet',
|
|
1630
|
+
* @returns Model shorthand (e.g. 'opus', 'sonnet', 'haiku', 'sonnet[1m]', 'opus[1m]')
|
|
1634
1631
|
*/
|
|
1635
1632
|
getPlanModel(settings) {
|
|
1636
1633
|
var _a;
|
|
@@ -1674,7 +1671,7 @@ ${errorMessages.join("\n")}`
|
|
|
1674
1671
|
* Default is defined in SummarySettingsSchema
|
|
1675
1672
|
*
|
|
1676
1673
|
* @param settings - Pre-loaded settings object
|
|
1677
|
-
* @returns Model shorthand ('opus', 'sonnet',
|
|
1674
|
+
* @returns Model shorthand (e.g. 'opus', 'sonnet', 'haiku', 'sonnet[1m]', 'opus[1m]')
|
|
1678
1675
|
*/
|
|
1679
1676
|
getSummaryModel(settings) {
|
|
1680
1677
|
var _a;
|
|
@@ -1945,6 +1942,7 @@ var MetadataManager = class {
|
|
|
1945
1942
|
prUrls: data.prUrls ?? {},
|
|
1946
1943
|
draftPrNumber: data.draftPrNumber ?? null,
|
|
1947
1944
|
oneShot: data.oneShot ?? null,
|
|
1945
|
+
dangerouslySkipPermissions: data.dangerouslySkipPermissions ?? false,
|
|
1948
1946
|
complexity: data.complexity ?? null,
|
|
1949
1947
|
capabilities: data.capabilities ?? [],
|
|
1950
1948
|
state: data.state ?? null,
|
|
@@ -2018,6 +2016,7 @@ var MetadataManager = class {
|
|
|
2018
2016
|
capabilities: input.capabilities,
|
|
2019
2017
|
...input.draftPrNumber && { draftPrNumber: input.draftPrNumber },
|
|
2020
2018
|
...input.oneShot && { oneShot: input.oneShot },
|
|
2019
|
+
...input.dangerouslySkipPermissions && { dangerouslySkipPermissions: true },
|
|
2021
2020
|
...input.complexity && { complexity: input.complexity },
|
|
2022
2021
|
...input.state && { state: input.state },
|
|
2023
2022
|
...input.childIssueNumbers && input.childIssueNumbers.length > 0 && { childIssueNumbers: input.childIssueNumbers },
|
|
@@ -3236,7 +3235,7 @@ var GitWorktreeManager = class {
|
|
|
3236
3235
|
*/
|
|
3237
3236
|
async findWorktreeForIssue(issueNumber) {
|
|
3238
3237
|
const worktrees = await this.listWorktrees({ porcelain: true });
|
|
3239
|
-
const pattern = new RegExp(`(?:^|[/_-])issue
|
|
3238
|
+
const pattern = new RegExp(`(?:^|[/_-])issue[-/]${issueNumber}(?:-|__|$)`, "i");
|
|
3240
3239
|
return worktrees.find((wt) => pattern.test(wt.branch)) ?? null;
|
|
3241
3240
|
}
|
|
3242
3241
|
/**
|
|
@@ -5498,14 +5497,15 @@ var DatabaseManager = class {
|
|
|
5498
5497
|
return null;
|
|
5499
5498
|
}
|
|
5500
5499
|
if (!await this.provider.isCliAvailable()) {
|
|
5501
|
-
getLogger().warn(
|
|
5502
|
-
getLogger().warn(
|
|
5500
|
+
getLogger().warn("Skipping database branch creation: Neon CLI not available");
|
|
5501
|
+
getLogger().warn("Install with: npm install -g neonctl");
|
|
5503
5502
|
return null;
|
|
5504
5503
|
}
|
|
5505
5504
|
try {
|
|
5506
5505
|
const isAuth = await this.provider.isAuthenticated(cwd);
|
|
5507
5506
|
if (!isAuth) {
|
|
5508
|
-
getLogger().warn(
|
|
5507
|
+
getLogger().warn("Skipping database branch creation: Not authenticated with Neon CLI");
|
|
5508
|
+
getLogger().warn("Run: neon auth");
|
|
5509
5509
|
return null;
|
|
5510
5510
|
}
|
|
5511
5511
|
} catch (error) {
|
|
@@ -5553,24 +5553,24 @@ var DatabaseManager = class {
|
|
|
5553
5553
|
};
|
|
5554
5554
|
}
|
|
5555
5555
|
if (!await this.provider.isCliAvailable()) {
|
|
5556
|
-
getLogger().info(
|
|
5556
|
+
getLogger().info("Skipping database branch deletion: CLI tool not available");
|
|
5557
5557
|
return {
|
|
5558
5558
|
success: false,
|
|
5559
5559
|
deleted: false,
|
|
5560
5560
|
notFound: true,
|
|
5561
|
-
error:
|
|
5561
|
+
error: "CLI tool not available",
|
|
5562
5562
|
branchName
|
|
5563
5563
|
};
|
|
5564
5564
|
}
|
|
5565
5565
|
try {
|
|
5566
5566
|
const isAuth = await this.provider.isAuthenticated(cwd);
|
|
5567
5567
|
if (!isAuth) {
|
|
5568
|
-
getLogger().warn(
|
|
5568
|
+
getLogger().warn("Skipping database branch deletion: Not authenticated with DB Provider");
|
|
5569
5569
|
return {
|
|
5570
5570
|
success: false,
|
|
5571
5571
|
deleted: false,
|
|
5572
5572
|
notFound: false,
|
|
5573
|
-
error:
|
|
5573
|
+
error: "Not authenticated with DB Provider",
|
|
5574
5574
|
branchName
|
|
5575
5575
|
};
|
|
5576
5576
|
}
|