@iloom/cli 0.9.2 → 0.10.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 +160 -41
- package/dist/{BranchNamingService-K6XNWQ6C.js → BranchNamingService-25KSZAEM.js} +2 -2
- package/dist/ClaudeContextManager-66GR4BGM.js +14 -0
- package/dist/ClaudeService-7KM5NA5Z.js +13 -0
- package/dist/{GitHubService-TGWJN4V4.js → GitHubService-MEHKHUQP.js} +4 -4
- package/dist/IssueTrackerFactory-NG53YX5S.js +14 -0
- package/dist/{LoomLauncher-73NXL2CL.js → LoomLauncher-TDLZSYG2.js} +9 -9
- package/dist/{MetadataManager-W3C54UYT.js → MetadataManager-5QZSTKNN.js} +2 -2
- package/dist/{ProjectCapabilityDetector-N5L7T4IY.js → ProjectCapabilityDetector-5KSYUTBJ.js} +3 -3
- package/dist/{PromptTemplateManager-36YLQRHP.js → PromptTemplateManager-YOE2SIPG.js} +2 -2
- package/dist/README.md +160 -41
- package/dist/{SettingsManager-AW3JTJHD.js → SettingsManager-FNKCOZMQ.js} +4 -2
- package/dist/agents/iloom-artifact-reviewer.md +11 -0
- package/dist/agents/iloom-code-reviewer.md +14 -0
- package/dist/agents/iloom-issue-analyze-and-plan.md +55 -12
- package/dist/agents/iloom-issue-analyzer.md +49 -6
- package/dist/agents/iloom-issue-complexity-evaluator.md +47 -6
- package/dist/agents/iloom-issue-enhancer.md +86 -7
- package/dist/agents/iloom-issue-implementer.md +48 -7
- package/dist/agents/iloom-issue-planner.md +115 -62
- package/dist/{build-THZI572G.js → build-VHGEMXBA.js} +9 -9
- package/dist/chunk-4232AHNQ.js +35 -0
- package/dist/chunk-4232AHNQ.js.map +1 -0
- package/dist/chunk-4E7LCFUG.js +24 -0
- package/dist/chunk-4E7LCFUG.js.map +1 -0
- package/dist/{chunk-AR5QKYNE.js → chunk-4FGEGQW4.js} +4 -4
- package/dist/{chunk-R4YWBGY6.js → chunk-5FJWO4IT.js} +67 -22
- package/dist/chunk-5FJWO4IT.js.map +1 -0
- package/dist/{chunk-VPTAX5TR.js → chunk-5RPBYK5Q.js} +35 -30
- package/dist/chunk-5RPBYK5Q.js.map +1 -0
- package/dist/{chunk-YKFCCV6S.js → chunk-63QWFWH3.js} +7 -7
- package/dist/chunk-63QWFWH3.js.map +1 -0
- package/dist/{chunk-RI2YL6TK.js → chunk-7VHJNVLF.js} +80 -23
- package/dist/chunk-7VHJNVLF.js.map +1 -0
- package/dist/{chunk-B7U6OKUR.js → chunk-C6HNNJIV.js} +11 -3
- package/dist/chunk-C6HNNJIV.js.map +1 -0
- package/dist/{chunk-A7NJF73J.js → chunk-CVCTIDDK.js} +4 -4
- package/dist/{chunk-Z2TWEXR7.js → chunk-E6KOWMKA.js} +6 -6
- package/dist/chunk-E6KOWMKA.js.map +1 -0
- package/dist/{chunk-3I4ONZRT.js → chunk-EVPZFV3K.js} +10 -10
- package/dist/chunk-EVPZFV3K.js.map +1 -0
- package/dist/{chunk-IZIYLYPK.js → chunk-G5V75JD5.js} +2 -2
- package/dist/chunk-GRISNU6G.js +651 -0
- package/dist/chunk-GRISNU6G.js.map +1 -0
- package/dist/chunk-HEXKPKCK.js +1396 -0
- package/dist/chunk-HEXKPKCK.js.map +1 -0
- package/dist/{chunk-TC7APDKU.js → chunk-I5T677EA.js} +2 -2
- package/dist/{chunk-KBEIQP4G.js → chunk-KB64WNBZ.js} +43 -3
- package/dist/chunk-KB64WNBZ.js.map +1 -0
- package/dist/{chunk-NWMORW3U.js → chunk-KIK2ZFAL.js} +2 -2
- package/dist/{chunk-CWRI4JC3.js → chunk-KKV5WH5M.js} +30 -31
- package/dist/chunk-KKV5WH5M.js.map +1 -0
- package/dist/{chunk-DGG2VY7B.js → chunk-KVHIAWVT.js} +9 -9
- package/dist/chunk-KVHIAWVT.js.map +1 -0
- package/dist/{chunk-OFDN5NKS.js → chunk-KXDRI47U.js} +69 -12
- package/dist/chunk-KXDRI47U.js.map +1 -0
- package/dist/{chunk-NUACL52E.js → chunk-LLHXQS3C.js} +2 -2
- package/dist/chunk-LUKXJSRI.js +73 -0
- package/dist/chunk-LUKXJSRI.js.map +1 -0
- package/dist/{chunk-TL72BGP6.js → chunk-MORRVYPT.js} +2 -2
- package/dist/chunk-OTGH2HRS.js +1427 -0
- package/dist/chunk-OTGH2HRS.js.map +1 -0
- package/dist/{chunk-7ZEHSSUP.js → chunk-P4O6EH46.js} +4 -4
- package/dist/{chunk-KAYXR544.js → chunk-QVLPWNE3.js} +2 -2
- package/dist/chunk-QZWEJVWV.js +207 -0
- package/dist/chunk-QZWEJVWV.js.map +1 -0
- package/dist/chunk-RJ3VBUFK.js +781 -0
- package/dist/chunk-RJ3VBUFK.js.map +1 -0
- package/dist/chunk-RSYT7MVI.js +202 -0
- package/dist/chunk-RSYT7MVI.js.map +1 -0
- package/dist/{chunk-6IIL5M2L.js → chunk-S7PZA6IV.js} +10 -8
- package/dist/{chunk-6IIL5M2L.js.map → chunk-S7PZA6IV.js.map} +1 -1
- package/dist/chunk-SKSYYBCU.js +229 -0
- package/dist/chunk-SKSYYBCU.js.map +1 -0
- package/dist/{chunk-ULSWCPQG.js → chunk-SWSJWA2S.js} +476 -5
- package/dist/chunk-SWSJWA2S.js.map +1 -0
- package/dist/{chunk-KXGQYLFZ.js → chunk-UKBAJ2QQ.js} +61 -7
- package/dist/chunk-UKBAJ2QQ.js.map +1 -0
- package/dist/{chunk-FO5GGFOV.js → chunk-UR5DGNUO.js} +71 -9
- package/dist/chunk-UR5DGNUO.js.map +1 -0
- package/dist/{chunk-QN47QVBX.js → chunk-UUEW5KWB.js} +1 -1
- package/dist/chunk-UUEW5KWB.js.map +1 -0
- package/dist/{chunk-4CO6KG5S.js → chunk-VG45TUYK.js} +53 -7
- package/dist/{chunk-4CO6KG5S.js.map → chunk-VG45TUYK.js.map} +1 -1
- package/dist/{chunk-4LKGCFGG.js → chunk-WWKOVDWC.js} +2 -2
- package/dist/{chunk-KJTVU3HZ.js → chunk-WXIM2WS7.js} +8 -8
- package/dist/chunk-WXIM2WS7.js.map +1 -0
- package/dist/{chunk-VOGGLPG5.js → chunk-YQ57ORTV.js} +14 -1
- package/dist/chunk-YQ57ORTV.js.map +1 -0
- package/dist/{chunk-SOSQILHO.js → chunk-ZNMPGMHY.js} +44 -797
- package/dist/chunk-ZNMPGMHY.js.map +1 -0
- package/dist/{claude-TP2QO3BU.js → claude-7GGEWVEM.js} +2 -2
- package/dist/{cleanup-PJRIFFU4.js → cleanup-6PVAC4NI.js} +85 -34
- package/dist/cleanup-6PVAC4NI.js.map +1 -0
- package/dist/cli.js +630 -801
- package/dist/cli.js.map +1 -1
- package/dist/{commit-IVP3M4HG.js → commit-FZR5XDQG.js} +26 -23
- package/dist/commit-FZR5XDQG.js.map +1 -0
- package/dist/{compile-R2J65HBQ.js → compile-7ALJHZ4N.js} +9 -9
- package/dist/{contribute-VDZXHK5Y.js → contribute-5GKLK3BQ.js} +14 -6
- package/dist/contribute-5GKLK3BQ.js.map +1 -0
- package/dist/{dev-server-7F622OEO.js → dev-server-7SMIB7OF.js} +29 -15
- package/dist/dev-server-7SMIB7OF.js.map +1 -0
- package/dist/{feedback-E7VET7CL.js → feedback-G2GJFN2F.js} +18 -16
- package/dist/{feedback-E7VET7CL.js.map → feedback-G2GJFN2F.js.map} +1 -1
- package/dist/{git-2QDQ2X2S.js → git-GTLKAZRJ.js} +4 -4
- package/dist/hooks/iloom-hook.js +15 -0
- package/dist/ignite-H2O5Y5A2.js +34 -0
- package/dist/ignite-H2O5Y5A2.js.map +1 -0
- package/dist/index.d.ts +482 -58
- package/dist/index.js +1340 -44
- package/dist/index.js.map +1 -1
- package/dist/{init-676DHF6R.js → init-32YOKXRL.js} +57 -21
- package/dist/init-32YOKXRL.js.map +1 -0
- package/dist/{issues-PJSOLOBJ.js → issues-4UUAQ5K6.js} +61 -20
- package/dist/issues-4UUAQ5K6.js.map +1 -0
- package/dist/{lint-CJM7BAIM.js → lint-AAN2NZWG.js} +9 -9
- package/dist/mcp/harness-server.js +140 -0
- package/dist/mcp/harness-server.js.map +1 -0
- package/dist/mcp/issue-management-server.js +2599 -262
- package/dist/mcp/issue-management-server.js.map +1 -1
- package/dist/mcp/recap-server.js +144 -21
- package/dist/mcp/recap-server.js.map +1 -1
- package/dist/{neon-helpers-VVFFTLXE.js → neon-helpers-CQN2PB4S.js} +3 -3
- package/dist/neon-helpers-CQN2PB4S.js.map +1 -0
- package/dist/{open-544H7JF5.js → open-FXWW3VI4.js} +15 -15
- package/dist/open-FXWW3VI4.js.map +1 -0
- package/dist/{plan-Q7ELXDLC.js → plan-RQ5FPIGF.js} +358 -40
- package/dist/plan-RQ5FPIGF.js.map +1 -0
- package/dist/{projects-LH362JZQ.js → projects-2UOXFLNZ.js} +4 -4
- package/dist/prompts/CLAUDE.md +62 -0
- package/dist/prompts/init-prompt.txt +430 -34
- package/dist/prompts/issue-prompt.txt +473 -54
- package/dist/prompts/plan-prompt.txt +140 -19
- package/dist/prompts/pr-prompt.txt +44 -1
- package/dist/prompts/regular-prompt.txt +42 -1
- package/dist/prompts/session-summary-prompt.txt +14 -0
- package/dist/prompts/swarm-orchestrator-prompt.txt +464 -0
- package/dist/{rebase-YND35CIE.js → rebase-6NVLX5V7.js} +21 -12
- package/dist/rebase-6NVLX5V7.js.map +1 -0
- package/dist/{recap-3W7COH7D.js → recap-OMBOKJST.js} +47 -19
- package/dist/recap-OMBOKJST.js.map +1 -0
- package/dist/{run-QUXJKDQQ.js → run-BBXLRIZB.js} +15 -15
- package/dist/run-BBXLRIZB.js.map +1 -0
- package/dist/schema/package-iloom.schema.json +58 -0
- package/dist/schema/settings.schema.json +149 -15
- package/dist/{shell-QGECBLST.js → shell-RF7LTND5.js} +14 -7
- package/dist/shell-RF7LTND5.js.map +1 -0
- package/dist/{summary-G2T4452H.js → summary-WTQZ7XG2.js} +27 -25
- package/dist/summary-WTQZ7XG2.js.map +1 -0
- package/dist/{test-EA5NQFDC.js → test-SGO6I5Z7.js} +9 -9
- package/dist/{test-git-M7LSLEFL.js → test-git-XM4TM65W.js} +4 -4
- package/dist/test-jira-LDTOYFSD.js +96 -0
- package/dist/test-jira-LDTOYFSD.js.map +1 -0
- package/dist/{test-prefix-64NAAUON.js → test-prefix-GBO37XCN.js} +4 -4
- package/dist/{test-webserver-OK6Z5FJM.js → test-webserver-NZ3JTVLL.js} +6 -6
- package/dist/{vscode-AR5NNXXI.js → vscode-6XUGHJKL.js} +7 -7
- package/package.json +5 -1
- package/dist/ClaudeContextManager-HR5JQKAI.js +0 -14
- package/dist/ClaudeService-TK7FMC2X.js +0 -13
- package/dist/chunk-3I4ONZRT.js.map +0 -1
- package/dist/chunk-B7U6OKUR.js.map +0 -1
- package/dist/chunk-CWRI4JC3.js.map +0 -1
- package/dist/chunk-DGG2VY7B.js.map +0 -1
- package/dist/chunk-FJDRTVJX.js +0 -520
- package/dist/chunk-FJDRTVJX.js.map +0 -1
- package/dist/chunk-FO5GGFOV.js.map +0 -1
- package/dist/chunk-KBEIQP4G.js.map +0 -1
- package/dist/chunk-KJTVU3HZ.js.map +0 -1
- package/dist/chunk-KXGQYLFZ.js.map +0 -1
- package/dist/chunk-OFDN5NKS.js.map +0 -1
- package/dist/chunk-QN47QVBX.js.map +0 -1
- package/dist/chunk-R4YWBGY6.js.map +0 -1
- package/dist/chunk-RI2YL6TK.js.map +0 -1
- package/dist/chunk-SOSQILHO.js.map +0 -1
- package/dist/chunk-ULSWCPQG.js.map +0 -1
- package/dist/chunk-VOGGLPG5.js.map +0 -1
- package/dist/chunk-VPTAX5TR.js.map +0 -1
- package/dist/chunk-W6DP5RVR.js +0 -101
- package/dist/chunk-W6DP5RVR.js.map +0 -1
- package/dist/chunk-WHI5KEOX.js +0 -121
- package/dist/chunk-WHI5KEOX.js.map +0 -1
- package/dist/chunk-YKFCCV6S.js.map +0 -1
- package/dist/chunk-Z2TWEXR7.js.map +0 -1
- package/dist/cleanup-PJRIFFU4.js.map +0 -1
- package/dist/commit-IVP3M4HG.js.map +0 -1
- package/dist/contribute-VDZXHK5Y.js.map +0 -1
- package/dist/dev-server-7F622OEO.js.map +0 -1
- package/dist/ignite-IW35CDBD.js +0 -784
- package/dist/ignite-IW35CDBD.js.map +0 -1
- package/dist/init-676DHF6R.js.map +0 -1
- package/dist/issues-PJSOLOBJ.js.map +0 -1
- package/dist/open-544H7JF5.js.map +0 -1
- package/dist/plan-Q7ELXDLC.js.map +0 -1
- package/dist/rebase-YND35CIE.js.map +0 -1
- package/dist/recap-3W7COH7D.js.map +0 -1
- package/dist/run-QUXJKDQQ.js.map +0 -1
- package/dist/shell-QGECBLST.js.map +0 -1
- package/dist/summary-G2T4452H.js.map +0 -1
- /package/dist/{BranchNamingService-K6XNWQ6C.js.map → BranchNamingService-25KSZAEM.js.map} +0 -0
- /package/dist/{ClaudeContextManager-HR5JQKAI.js.map → ClaudeContextManager-66GR4BGM.js.map} +0 -0
- /package/dist/{ClaudeService-TK7FMC2X.js.map → ClaudeService-7KM5NA5Z.js.map} +0 -0
- /package/dist/{GitHubService-TGWJN4V4.js.map → GitHubService-MEHKHUQP.js.map} +0 -0
- /package/dist/{MetadataManager-W3C54UYT.js.map → IssueTrackerFactory-NG53YX5S.js.map} +0 -0
- /package/dist/{LoomLauncher-73NXL2CL.js.map → LoomLauncher-TDLZSYG2.js.map} +0 -0
- /package/dist/{ProjectCapabilityDetector-N5L7T4IY.js.map → MetadataManager-5QZSTKNN.js.map} +0 -0
- /package/dist/{PromptTemplateManager-36YLQRHP.js.map → ProjectCapabilityDetector-5KSYUTBJ.js.map} +0 -0
- /package/dist/{SettingsManager-AW3JTJHD.js.map → PromptTemplateManager-YOE2SIPG.js.map} +0 -0
- /package/dist/{claude-TP2QO3BU.js.map → SettingsManager-FNKCOZMQ.js.map} +0 -0
- /package/dist/{build-THZI572G.js.map → build-VHGEMXBA.js.map} +0 -0
- /package/dist/{chunk-AR5QKYNE.js.map → chunk-4FGEGQW4.js.map} +0 -0
- /package/dist/{chunk-A7NJF73J.js.map → chunk-CVCTIDDK.js.map} +0 -0
- /package/dist/{chunk-IZIYLYPK.js.map → chunk-G5V75JD5.js.map} +0 -0
- /package/dist/{chunk-TC7APDKU.js.map → chunk-I5T677EA.js.map} +0 -0
- /package/dist/{chunk-NWMORW3U.js.map → chunk-KIK2ZFAL.js.map} +0 -0
- /package/dist/{chunk-NUACL52E.js.map → chunk-LLHXQS3C.js.map} +0 -0
- /package/dist/{chunk-TL72BGP6.js.map → chunk-MORRVYPT.js.map} +0 -0
- /package/dist/{chunk-7ZEHSSUP.js.map → chunk-P4O6EH46.js.map} +0 -0
- /package/dist/{chunk-KAYXR544.js.map → chunk-QVLPWNE3.js.map} +0 -0
- /package/dist/{chunk-4LKGCFGG.js.map → chunk-WWKOVDWC.js.map} +0 -0
- /package/dist/{git-2QDQ2X2S.js.map → claude-7GGEWVEM.js.map} +0 -0
- /package/dist/{compile-R2J65HBQ.js.map → compile-7ALJHZ4N.js.map} +0 -0
- /package/dist/{neon-helpers-VVFFTLXE.js.map → git-GTLKAZRJ.js.map} +0 -0
- /package/dist/{lint-CJM7BAIM.js.map → lint-AAN2NZWG.js.map} +0 -0
- /package/dist/{projects-LH362JZQ.js.map → projects-2UOXFLNZ.js.map} +0 -0
- /package/dist/{test-EA5NQFDC.js.map → test-SGO6I5Z7.js.map} +0 -0
- /package/dist/{test-git-M7LSLEFL.js.map → test-git-XM4TM65W.js.map} +0 -0
- /package/dist/{test-prefix-64NAAUON.js.map → test-prefix-GBO37XCN.js.map} +0 -0
- /package/dist/{test-webserver-OK6Z5FJM.js.map → test-webserver-NZ3JTVLL.js.map} +0 -0
- /package/dist/{vscode-AR5NNXXI.js.map → vscode-6XUGHJKL.js.map} +0 -0
package/dist/index.d.ts
CHANGED
|
@@ -267,26 +267,69 @@ declare const IloomSettingsSchema: z.ZodObject<{
|
|
|
267
267
|
}>>;
|
|
268
268
|
agents: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
269
269
|
model: z.ZodOptional<z.ZodEnum<["sonnet", "opus", "haiku"]>>;
|
|
270
|
+
swarmModel: z.ZodOptional<z.ZodEnum<["sonnet", "opus", "haiku"]>>;
|
|
270
271
|
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
271
272
|
providers: z.ZodOptional<z.ZodRecord<z.ZodEnum<["claude", "gemini", "codex"]>, z.ZodString>>;
|
|
272
273
|
review: z.ZodOptional<z.ZodBoolean>;
|
|
274
|
+
} & {
|
|
275
|
+
agents: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
276
|
+
model: z.ZodOptional<z.ZodEnum<["sonnet", "opus", "haiku"]>>;
|
|
277
|
+
swarmModel: z.ZodOptional<z.ZodEnum<["sonnet", "opus", "haiku"]>>;
|
|
278
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
279
|
+
providers: z.ZodOptional<z.ZodRecord<z.ZodEnum<["claude", "gemini", "codex"]>, z.ZodString>>;
|
|
280
|
+
review: z.ZodOptional<z.ZodBoolean>;
|
|
281
|
+
}, "strip", z.ZodTypeAny, {
|
|
282
|
+
model?: "opus" | "sonnet" | "haiku" | undefined;
|
|
283
|
+
swarmModel?: "opus" | "sonnet" | "haiku" | undefined;
|
|
284
|
+
enabled?: boolean | undefined;
|
|
285
|
+
providers?: Partial<Record<"claude" | "gemini" | "codex", string>> | undefined;
|
|
286
|
+
review?: boolean | undefined;
|
|
287
|
+
}, {
|
|
288
|
+
model?: "opus" | "sonnet" | "haiku" | undefined;
|
|
289
|
+
swarmModel?: "opus" | "sonnet" | "haiku" | undefined;
|
|
290
|
+
enabled?: boolean | undefined;
|
|
291
|
+
providers?: Partial<Record<"claude" | "gemini" | "codex", string>> | undefined;
|
|
292
|
+
review?: boolean | undefined;
|
|
293
|
+
}>>>;
|
|
294
|
+
subAgentTimeout: z.ZodDefault<z.ZodNumber>;
|
|
273
295
|
}, "strip", z.ZodTypeAny, {
|
|
296
|
+
subAgentTimeout: number;
|
|
274
297
|
model?: "opus" | "sonnet" | "haiku" | undefined;
|
|
298
|
+
swarmModel?: "opus" | "sonnet" | "haiku" | undefined;
|
|
275
299
|
enabled?: boolean | undefined;
|
|
276
300
|
providers?: Partial<Record<"claude" | "gemini" | "codex", string>> | undefined;
|
|
277
301
|
review?: boolean | undefined;
|
|
302
|
+
agents?: Record<string, {
|
|
303
|
+
model?: "opus" | "sonnet" | "haiku" | undefined;
|
|
304
|
+
swarmModel?: "opus" | "sonnet" | "haiku" | undefined;
|
|
305
|
+
enabled?: boolean | undefined;
|
|
306
|
+
providers?: Partial<Record<"claude" | "gemini" | "codex", string>> | undefined;
|
|
307
|
+
review?: boolean | undefined;
|
|
308
|
+
}> | undefined;
|
|
278
309
|
}, {
|
|
279
310
|
model?: "opus" | "sonnet" | "haiku" | undefined;
|
|
311
|
+
swarmModel?: "opus" | "sonnet" | "haiku" | undefined;
|
|
280
312
|
enabled?: boolean | undefined;
|
|
281
313
|
providers?: Partial<Record<"claude" | "gemini" | "codex", string>> | undefined;
|
|
282
314
|
review?: boolean | undefined;
|
|
315
|
+
agents?: Record<string, {
|
|
316
|
+
model?: "opus" | "sonnet" | "haiku" | undefined;
|
|
317
|
+
swarmModel?: "opus" | "sonnet" | "haiku" | undefined;
|
|
318
|
+
enabled?: boolean | undefined;
|
|
319
|
+
providers?: Partial<Record<"claude" | "gemini" | "codex", string>> | undefined;
|
|
320
|
+
review?: boolean | undefined;
|
|
321
|
+
}> | undefined;
|
|
322
|
+
subAgentTimeout?: number | undefined;
|
|
283
323
|
}>>>>;
|
|
284
324
|
spin: z.ZodOptional<z.ZodObject<{
|
|
285
325
|
model: z.ZodDefault<z.ZodEnum<["sonnet", "opus", "haiku"]>>;
|
|
326
|
+
swarmModel: z.ZodOptional<z.ZodEnum<["sonnet", "opus", "haiku"]>>;
|
|
286
327
|
}, "strip", z.ZodTypeAny, {
|
|
287
328
|
model: "opus" | "sonnet" | "haiku";
|
|
329
|
+
swarmModel?: "opus" | "sonnet" | "haiku" | undefined;
|
|
288
330
|
}, {
|
|
289
331
|
model?: "opus" | "sonnet" | "haiku" | undefined;
|
|
332
|
+
swarmModel?: "opus" | "sonnet" | "haiku" | undefined;
|
|
290
333
|
}>>;
|
|
291
334
|
plan: z.ZodOptional<z.ZodObject<{
|
|
292
335
|
model: z.ZodDefault<z.ZodEnum<["sonnet", "opus", "haiku"]>>;
|
|
@@ -309,7 +352,6 @@ declare const IloomSettingsSchema: z.ZodObject<{
|
|
|
309
352
|
model?: "opus" | "sonnet" | "haiku" | undefined;
|
|
310
353
|
}>>;
|
|
311
354
|
capabilities: z.ZodOptional<z.ZodObject<{
|
|
312
|
-
capabilities: z.ZodOptional<z.ZodArray<z.ZodEnum<["cli", "web"]>, "many">>;
|
|
313
355
|
web: z.ZodOptional<z.ZodObject<{
|
|
314
356
|
basePort: z.ZodOptional<z.ZodNumber>;
|
|
315
357
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -331,7 +373,6 @@ declare const IloomSettingsSchema: z.ZodObject<{
|
|
|
331
373
|
database?: {
|
|
332
374
|
databaseUrlEnvVarName: string;
|
|
333
375
|
} | undefined;
|
|
334
|
-
capabilities?: ("cli" | "web")[] | undefined;
|
|
335
376
|
}, {
|
|
336
377
|
web?: {
|
|
337
378
|
basePort?: number | undefined;
|
|
@@ -339,7 +380,6 @@ declare const IloomSettingsSchema: z.ZodObject<{
|
|
|
339
380
|
database?: {
|
|
340
381
|
databaseUrlEnvVarName?: string | undefined;
|
|
341
382
|
} | undefined;
|
|
342
|
-
capabilities?: ("cli" | "web")[] | undefined;
|
|
343
383
|
}>>;
|
|
344
384
|
databaseProviders: z.ZodOptional<z.ZodObject<{
|
|
345
385
|
neon: z.ZodOptional<z.ZodObject<{
|
|
@@ -364,7 +404,7 @@ declare const IloomSettingsSchema: z.ZodObject<{
|
|
|
364
404
|
} | undefined;
|
|
365
405
|
}>>;
|
|
366
406
|
issueManagement: z.ZodOptional<z.ZodObject<{
|
|
367
|
-
provider: z.ZodDefault<z.ZodOptional<z.ZodEnum<["github", "linear"]>>>;
|
|
407
|
+
provider: z.ZodDefault<z.ZodOptional<z.ZodEnum<["github", "linear", "jira"]>>>;
|
|
368
408
|
github: z.ZodOptional<z.ZodObject<{
|
|
369
409
|
remote: z.ZodString;
|
|
370
410
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -385,8 +425,39 @@ declare const IloomSettingsSchema: z.ZodObject<{
|
|
|
385
425
|
branchFormat?: string | undefined;
|
|
386
426
|
apiToken?: string | undefined;
|
|
387
427
|
}>>;
|
|
428
|
+
jira: z.ZodOptional<z.ZodObject<{
|
|
429
|
+
host: z.ZodString;
|
|
430
|
+
username: z.ZodString;
|
|
431
|
+
apiToken: z.ZodOptional<z.ZodString>;
|
|
432
|
+
projectKey: z.ZodString;
|
|
433
|
+
boardId: z.ZodOptional<z.ZodString>;
|
|
434
|
+
transitionMappings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
435
|
+
defaultIssueType: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
436
|
+
defaultSubtaskType: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
437
|
+
doneStatuses: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
|
|
438
|
+
}, "strip", z.ZodTypeAny, {
|
|
439
|
+
host: string;
|
|
440
|
+
username: string;
|
|
441
|
+
projectKey: string;
|
|
442
|
+
defaultIssueType: string;
|
|
443
|
+
defaultSubtaskType: string;
|
|
444
|
+
doneStatuses: string[];
|
|
445
|
+
apiToken?: string | undefined;
|
|
446
|
+
boardId?: string | undefined;
|
|
447
|
+
transitionMappings?: Record<string, string> | undefined;
|
|
448
|
+
}, {
|
|
449
|
+
host: string;
|
|
450
|
+
username: string;
|
|
451
|
+
projectKey: string;
|
|
452
|
+
apiToken?: string | undefined;
|
|
453
|
+
boardId?: string | undefined;
|
|
454
|
+
transitionMappings?: Record<string, string> | undefined;
|
|
455
|
+
defaultIssueType?: string | undefined;
|
|
456
|
+
defaultSubtaskType?: string | undefined;
|
|
457
|
+
doneStatuses?: string[] | undefined;
|
|
458
|
+
}>>;
|
|
388
459
|
}, "strip", z.ZodTypeAny, {
|
|
389
|
-
provider: "github" | "linear";
|
|
460
|
+
provider: "github" | "linear" | "jira";
|
|
390
461
|
github?: {
|
|
391
462
|
remote: string;
|
|
392
463
|
} | undefined;
|
|
@@ -395,6 +466,17 @@ declare const IloomSettingsSchema: z.ZodObject<{
|
|
|
395
466
|
branchFormat?: string | undefined;
|
|
396
467
|
apiToken?: string | undefined;
|
|
397
468
|
} | undefined;
|
|
469
|
+
jira?: {
|
|
470
|
+
host: string;
|
|
471
|
+
username: string;
|
|
472
|
+
projectKey: string;
|
|
473
|
+
defaultIssueType: string;
|
|
474
|
+
defaultSubtaskType: string;
|
|
475
|
+
doneStatuses: string[];
|
|
476
|
+
apiToken?: string | undefined;
|
|
477
|
+
boardId?: string | undefined;
|
|
478
|
+
transitionMappings?: Record<string, string> | undefined;
|
|
479
|
+
} | undefined;
|
|
398
480
|
}, {
|
|
399
481
|
github?: {
|
|
400
482
|
remote: string;
|
|
@@ -404,20 +486,34 @@ declare const IloomSettingsSchema: z.ZodObject<{
|
|
|
404
486
|
branchFormat?: string | undefined;
|
|
405
487
|
apiToken?: string | undefined;
|
|
406
488
|
} | undefined;
|
|
407
|
-
|
|
489
|
+
jira?: {
|
|
490
|
+
host: string;
|
|
491
|
+
username: string;
|
|
492
|
+
projectKey: string;
|
|
493
|
+
apiToken?: string | undefined;
|
|
494
|
+
boardId?: string | undefined;
|
|
495
|
+
transitionMappings?: Record<string, string> | undefined;
|
|
496
|
+
defaultIssueType?: string | undefined;
|
|
497
|
+
defaultSubtaskType?: string | undefined;
|
|
498
|
+
doneStatuses?: string[] | undefined;
|
|
499
|
+
} | undefined;
|
|
500
|
+
provider?: "github" | "linear" | "jira" | undefined;
|
|
408
501
|
}>>;
|
|
409
502
|
mergeBehavior: z.ZodOptional<z.ZodObject<{
|
|
410
503
|
mode: z.ZodDefault<z.ZodEnum<["local", "github-pr", "github-draft-pr"]>>;
|
|
411
504
|
remote: z.ZodOptional<z.ZodString>;
|
|
412
505
|
autoCommitPush: z.ZodOptional<z.ZodBoolean>;
|
|
506
|
+
openBrowserOnFinish: z.ZodDefault<z.ZodBoolean>;
|
|
413
507
|
}, "strip", z.ZodTypeAny, {
|
|
414
508
|
mode: "local" | "github-pr" | "github-draft-pr";
|
|
509
|
+
openBrowserOnFinish: boolean;
|
|
415
510
|
remote?: string | undefined;
|
|
416
511
|
autoCommitPush?: boolean | undefined;
|
|
417
512
|
}, {
|
|
418
513
|
remote?: string | undefined;
|
|
419
514
|
mode?: "local" | "github-pr" | "github-draft-pr" | undefined;
|
|
420
515
|
autoCommitPush?: boolean | undefined;
|
|
516
|
+
openBrowserOnFinish?: boolean | undefined;
|
|
421
517
|
}>>;
|
|
422
518
|
ide: z.ZodOptional<z.ZodObject<{
|
|
423
519
|
type: z.ZodDefault<z.ZodEnum<["vscode", "cursor", "webstorm", "sublime", "intellij", "windsurf", "antigravity"]>>;
|
|
@@ -455,15 +551,25 @@ declare const IloomSettingsSchema: z.ZodObject<{
|
|
|
455
551
|
planner: "claude" | "gemini" | "codex";
|
|
456
552
|
reviewer: "claude" | "gemini" | "codex" | "none";
|
|
457
553
|
} | undefined;
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
} | undefined;
|
|
462
|
-
database?: {
|
|
463
|
-
databaseUrlEnvVarName: string;
|
|
464
|
-
} | undefined;
|
|
465
|
-
capabilities?: ("cli" | "web")[] | undefined;
|
|
554
|
+
spin?: {
|
|
555
|
+
model: "opus" | "sonnet" | "haiku";
|
|
556
|
+
swarmModel?: "opus" | "sonnet" | "haiku" | undefined;
|
|
466
557
|
} | undefined;
|
|
558
|
+
agents?: Record<string, {
|
|
559
|
+
subAgentTimeout: number;
|
|
560
|
+
model?: "opus" | "sonnet" | "haiku" | undefined;
|
|
561
|
+
swarmModel?: "opus" | "sonnet" | "haiku" | undefined;
|
|
562
|
+
enabled?: boolean | undefined;
|
|
563
|
+
providers?: Partial<Record<"claude" | "gemini" | "codex", string>> | undefined;
|
|
564
|
+
review?: boolean | undefined;
|
|
565
|
+
agents?: Record<string, {
|
|
566
|
+
model?: "opus" | "sonnet" | "haiku" | undefined;
|
|
567
|
+
swarmModel?: "opus" | "sonnet" | "haiku" | undefined;
|
|
568
|
+
enabled?: boolean | undefined;
|
|
569
|
+
providers?: Partial<Record<"claude" | "gemini" | "codex", string>> | undefined;
|
|
570
|
+
review?: boolean | undefined;
|
|
571
|
+
}> | undefined;
|
|
572
|
+
}> | null | undefined;
|
|
467
573
|
mainBranch?: string | undefined;
|
|
468
574
|
worktreePrefix?: string | undefined;
|
|
469
575
|
protectedBranches?: string[] | undefined;
|
|
@@ -497,18 +603,17 @@ declare const IloomSettingsSchema: z.ZodObject<{
|
|
|
497
603
|
noVerify?: boolean | undefined;
|
|
498
604
|
} | undefined;
|
|
499
605
|
} | undefined;
|
|
500
|
-
agents?: Record<string, {
|
|
501
|
-
model?: "opus" | "sonnet" | "haiku" | undefined;
|
|
502
|
-
enabled?: boolean | undefined;
|
|
503
|
-
providers?: Partial<Record<"claude" | "gemini" | "codex", string>> | undefined;
|
|
504
|
-
review?: boolean | undefined;
|
|
505
|
-
}> | null | undefined;
|
|
506
|
-
spin?: {
|
|
507
|
-
model: "opus" | "sonnet" | "haiku";
|
|
508
|
-
} | undefined;
|
|
509
606
|
summary?: {
|
|
510
607
|
model: "opus" | "sonnet" | "haiku";
|
|
511
608
|
} | undefined;
|
|
609
|
+
capabilities?: {
|
|
610
|
+
web?: {
|
|
611
|
+
basePort?: number | undefined;
|
|
612
|
+
} | undefined;
|
|
613
|
+
database?: {
|
|
614
|
+
databaseUrlEnvVarName: string;
|
|
615
|
+
} | undefined;
|
|
616
|
+
} | undefined;
|
|
512
617
|
databaseProviders?: {
|
|
513
618
|
neon?: {
|
|
514
619
|
projectId: string;
|
|
@@ -516,7 +621,7 @@ declare const IloomSettingsSchema: z.ZodObject<{
|
|
|
516
621
|
} | undefined;
|
|
517
622
|
} | undefined;
|
|
518
623
|
issueManagement?: {
|
|
519
|
-
provider: "github" | "linear";
|
|
624
|
+
provider: "github" | "linear" | "jira";
|
|
520
625
|
github?: {
|
|
521
626
|
remote: string;
|
|
522
627
|
} | undefined;
|
|
@@ -525,9 +630,21 @@ declare const IloomSettingsSchema: z.ZodObject<{
|
|
|
525
630
|
branchFormat?: string | undefined;
|
|
526
631
|
apiToken?: string | undefined;
|
|
527
632
|
} | undefined;
|
|
633
|
+
jira?: {
|
|
634
|
+
host: string;
|
|
635
|
+
username: string;
|
|
636
|
+
projectKey: string;
|
|
637
|
+
defaultIssueType: string;
|
|
638
|
+
defaultSubtaskType: string;
|
|
639
|
+
doneStatuses: string[];
|
|
640
|
+
apiToken?: string | undefined;
|
|
641
|
+
boardId?: string | undefined;
|
|
642
|
+
transitionMappings?: Record<string, string> | undefined;
|
|
643
|
+
} | undefined;
|
|
528
644
|
} | undefined;
|
|
529
645
|
mergeBehavior?: {
|
|
530
646
|
mode: "local" | "github-pr" | "github-draft-pr";
|
|
647
|
+
openBrowserOnFinish: boolean;
|
|
531
648
|
remote?: string | undefined;
|
|
532
649
|
autoCommitPush?: boolean | undefined;
|
|
533
650
|
} | undefined;
|
|
@@ -544,15 +661,25 @@ declare const IloomSettingsSchema: z.ZodObject<{
|
|
|
544
661
|
planner?: "claude" | "gemini" | "codex" | undefined;
|
|
545
662
|
reviewer?: "claude" | "gemini" | "codex" | "none" | undefined;
|
|
546
663
|
} | undefined;
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
} | undefined;
|
|
551
|
-
database?: {
|
|
552
|
-
databaseUrlEnvVarName?: string | undefined;
|
|
553
|
-
} | undefined;
|
|
554
|
-
capabilities?: ("cli" | "web")[] | undefined;
|
|
664
|
+
spin?: {
|
|
665
|
+
model?: "opus" | "sonnet" | "haiku" | undefined;
|
|
666
|
+
swarmModel?: "opus" | "sonnet" | "haiku" | undefined;
|
|
555
667
|
} | undefined;
|
|
668
|
+
agents?: Record<string, {
|
|
669
|
+
model?: "opus" | "sonnet" | "haiku" | undefined;
|
|
670
|
+
swarmModel?: "opus" | "sonnet" | "haiku" | undefined;
|
|
671
|
+
enabled?: boolean | undefined;
|
|
672
|
+
providers?: Partial<Record<"claude" | "gemini" | "codex", string>> | undefined;
|
|
673
|
+
review?: boolean | undefined;
|
|
674
|
+
agents?: Record<string, {
|
|
675
|
+
model?: "opus" | "sonnet" | "haiku" | undefined;
|
|
676
|
+
swarmModel?: "opus" | "sonnet" | "haiku" | undefined;
|
|
677
|
+
enabled?: boolean | undefined;
|
|
678
|
+
providers?: Partial<Record<"claude" | "gemini" | "codex", string>> | undefined;
|
|
679
|
+
review?: boolean | undefined;
|
|
680
|
+
}> | undefined;
|
|
681
|
+
subAgentTimeout?: number | undefined;
|
|
682
|
+
}> | null | undefined;
|
|
556
683
|
mainBranch?: string | undefined;
|
|
557
684
|
sourceEnvOnStart?: boolean | undefined;
|
|
558
685
|
worktreePrefix?: string | undefined;
|
|
@@ -587,18 +714,17 @@ declare const IloomSettingsSchema: z.ZodObject<{
|
|
|
587
714
|
generateSummary?: boolean | undefined;
|
|
588
715
|
} | undefined;
|
|
589
716
|
} | undefined;
|
|
590
|
-
agents?: Record<string, {
|
|
591
|
-
model?: "opus" | "sonnet" | "haiku" | undefined;
|
|
592
|
-
enabled?: boolean | undefined;
|
|
593
|
-
providers?: Partial<Record<"claude" | "gemini" | "codex", string>> | undefined;
|
|
594
|
-
review?: boolean | undefined;
|
|
595
|
-
}> | null | undefined;
|
|
596
|
-
spin?: {
|
|
597
|
-
model?: "opus" | "sonnet" | "haiku" | undefined;
|
|
598
|
-
} | undefined;
|
|
599
717
|
summary?: {
|
|
600
718
|
model?: "opus" | "sonnet" | "haiku" | undefined;
|
|
601
719
|
} | undefined;
|
|
720
|
+
capabilities?: {
|
|
721
|
+
web?: {
|
|
722
|
+
basePort?: number | undefined;
|
|
723
|
+
} | undefined;
|
|
724
|
+
database?: {
|
|
725
|
+
databaseUrlEnvVarName?: string | undefined;
|
|
726
|
+
} | undefined;
|
|
727
|
+
} | undefined;
|
|
602
728
|
databaseProviders?: {
|
|
603
729
|
neon?: {
|
|
604
730
|
projectId: string;
|
|
@@ -614,12 +740,24 @@ declare const IloomSettingsSchema: z.ZodObject<{
|
|
|
614
740
|
branchFormat?: string | undefined;
|
|
615
741
|
apiToken?: string | undefined;
|
|
616
742
|
} | undefined;
|
|
617
|
-
|
|
743
|
+
jira?: {
|
|
744
|
+
host: string;
|
|
745
|
+
username: string;
|
|
746
|
+
projectKey: string;
|
|
747
|
+
apiToken?: string | undefined;
|
|
748
|
+
boardId?: string | undefined;
|
|
749
|
+
transitionMappings?: Record<string, string> | undefined;
|
|
750
|
+
defaultIssueType?: string | undefined;
|
|
751
|
+
defaultSubtaskType?: string | undefined;
|
|
752
|
+
doneStatuses?: string[] | undefined;
|
|
753
|
+
} | undefined;
|
|
754
|
+
provider?: "github" | "linear" | "jira" | undefined;
|
|
618
755
|
} | undefined;
|
|
619
756
|
mergeBehavior?: {
|
|
620
757
|
remote?: string | undefined;
|
|
621
758
|
mode?: "local" | "github-pr" | "github-draft-pr" | undefined;
|
|
622
759
|
autoCommitPush?: boolean | undefined;
|
|
760
|
+
openBrowserOnFinish?: boolean | undefined;
|
|
623
761
|
} | undefined;
|
|
624
762
|
ide?: {
|
|
625
763
|
type?: "vscode" | "cursor" | "webstorm" | "sublime" | "intellij" | "windsurf" | "antigravity" | undefined;
|
|
@@ -713,7 +851,7 @@ declare class SettingsManager {
|
|
|
713
851
|
* @param settings - Pre-loaded settings object
|
|
714
852
|
* @returns Model shorthand ('opus', 'sonnet', or 'haiku')
|
|
715
853
|
*/
|
|
716
|
-
getSpinModel(settings?: IloomSettings): 'sonnet' | 'opus' | 'haiku';
|
|
854
|
+
getSpinModel(settings?: IloomSettings, mode?: 'swarm'): 'sonnet' | 'opus' | 'haiku';
|
|
717
855
|
/**
|
|
718
856
|
* Get the plan command model with default applied
|
|
719
857
|
* Default is defined in PlanCommandSettingsSchema
|
|
@@ -914,6 +1052,13 @@ interface ResourceCleanupOptions {
|
|
|
914
1052
|
checkMergeSafety?: boolean;
|
|
915
1053
|
/** Check if branch exists on remote before allowing cleanup (useful for GitHub-PR mode) */
|
|
916
1054
|
checkRemoteBranch?: boolean;
|
|
1055
|
+
/** Pre-resolved worktree to clean up (skips the search step) */
|
|
1056
|
+
worktree?: {
|
|
1057
|
+
path: string;
|
|
1058
|
+
branch: string;
|
|
1059
|
+
};
|
|
1060
|
+
/** Archive metadata instead of deleting (preserves loom in il list --finished) */
|
|
1061
|
+
archive?: boolean;
|
|
917
1062
|
}
|
|
918
1063
|
/**
|
|
919
1064
|
* Result of a cleanup operation
|
|
@@ -1054,7 +1199,7 @@ interface Loom {
|
|
|
1054
1199
|
id: string;
|
|
1055
1200
|
path: string;
|
|
1056
1201
|
branch: string;
|
|
1057
|
-
type: 'issue' | 'pr' | 'branch';
|
|
1202
|
+
type: 'issue' | 'pr' | 'branch' | 'epic';
|
|
1058
1203
|
identifier: string | number;
|
|
1059
1204
|
port: number;
|
|
1060
1205
|
databaseBranch?: string;
|
|
@@ -1072,12 +1217,12 @@ interface Loom {
|
|
|
1072
1217
|
cliSymlinks?: string[];
|
|
1073
1218
|
}
|
|
1074
1219
|
interface CreateLoomInput {
|
|
1075
|
-
type: 'issue' | 'pr' | 'branch';
|
|
1220
|
+
type: 'issue' | 'pr' | 'branch' | 'epic';
|
|
1076
1221
|
identifier: string | number;
|
|
1077
1222
|
originalInput: string;
|
|
1078
1223
|
baseBranch?: string;
|
|
1079
1224
|
parentLoom?: {
|
|
1080
|
-
type: 'issue' | 'pr' | 'branch';
|
|
1225
|
+
type: 'issue' | 'pr' | 'branch' | 'epic';
|
|
1081
1226
|
identifier: string | number;
|
|
1082
1227
|
branchName: string;
|
|
1083
1228
|
worktreePath: string;
|
|
@@ -1095,12 +1240,20 @@ interface CreateLoomInput {
|
|
|
1095
1240
|
setArguments?: string[];
|
|
1096
1241
|
executablePath?: string;
|
|
1097
1242
|
sourceEnvOnStart?: boolean;
|
|
1243
|
+
childIssueNumbers?: string[];
|
|
1244
|
+
childIssues?: Array<{
|
|
1245
|
+
number: string;
|
|
1246
|
+
title: string;
|
|
1247
|
+
body: string;
|
|
1248
|
+
url: string;
|
|
1249
|
+
}>;
|
|
1250
|
+
dependencyMap?: Record<string, string[]>;
|
|
1098
1251
|
};
|
|
1099
1252
|
}
|
|
1100
1253
|
type LaunchMode = 'editor' | 'terminal' | 'both';
|
|
1101
1254
|
interface LoomSummary {
|
|
1102
1255
|
id: string;
|
|
1103
|
-
type: 'issue' | 'pr' | 'branch';
|
|
1256
|
+
type: 'issue' | 'pr' | 'branch' | 'epic';
|
|
1104
1257
|
identifier: string | number;
|
|
1105
1258
|
title?: string;
|
|
1106
1259
|
branch: string;
|
|
@@ -1125,6 +1278,112 @@ interface ProcessInfo {
|
|
|
1125
1278
|
isDevServer: boolean;
|
|
1126
1279
|
}
|
|
1127
1280
|
|
|
1281
|
+
interface TelemetryConfig {
|
|
1282
|
+
enabled: boolean;
|
|
1283
|
+
disclosed_at?: string;
|
|
1284
|
+
last_version?: string;
|
|
1285
|
+
}
|
|
1286
|
+
interface CliInstalledProperties {
|
|
1287
|
+
version: string;
|
|
1288
|
+
os: string;
|
|
1289
|
+
node_version: string;
|
|
1290
|
+
}
|
|
1291
|
+
interface CliUpgradedProperties {
|
|
1292
|
+
version: string;
|
|
1293
|
+
previous_version: string;
|
|
1294
|
+
os: string;
|
|
1295
|
+
}
|
|
1296
|
+
interface LoomCreatedProperties {
|
|
1297
|
+
source_type: 'issue' | 'pr' | 'branch' | 'freeform';
|
|
1298
|
+
tracker: string;
|
|
1299
|
+
is_child_loom: boolean;
|
|
1300
|
+
one_shot_mode: 'default' | 'skip-reviews' | 'yolo';
|
|
1301
|
+
}
|
|
1302
|
+
interface LoomFinishedProperties {
|
|
1303
|
+
merge_behavior: 'local' | 'github-pr' | 'github-draft-pr';
|
|
1304
|
+
duration_minutes: number;
|
|
1305
|
+
}
|
|
1306
|
+
interface LoomAbandonedProperties {
|
|
1307
|
+
duration_minutes: number;
|
|
1308
|
+
phase_reached: string;
|
|
1309
|
+
}
|
|
1310
|
+
interface EpicPlannedProperties {
|
|
1311
|
+
child_count: number;
|
|
1312
|
+
tracker: string;
|
|
1313
|
+
}
|
|
1314
|
+
interface SwarmStartedProperties {
|
|
1315
|
+
child_count: number;
|
|
1316
|
+
tracker: string;
|
|
1317
|
+
}
|
|
1318
|
+
interface SwarmChildCompletedProperties {
|
|
1319
|
+
success: boolean;
|
|
1320
|
+
duration_minutes: number;
|
|
1321
|
+
}
|
|
1322
|
+
interface SwarmCompletedProperties {
|
|
1323
|
+
total_children: number;
|
|
1324
|
+
succeeded: number;
|
|
1325
|
+
failed: number;
|
|
1326
|
+
duration_minutes: number;
|
|
1327
|
+
}
|
|
1328
|
+
interface DemoStartedProperties {
|
|
1329
|
+
path: string;
|
|
1330
|
+
}
|
|
1331
|
+
interface DemoCompletedProperties {
|
|
1332
|
+
path: string;
|
|
1333
|
+
converted_to_real_project: boolean;
|
|
1334
|
+
}
|
|
1335
|
+
interface ContributeStartedProperties {
|
|
1336
|
+
tracker: string;
|
|
1337
|
+
}
|
|
1338
|
+
interface SessionStartedProperties {
|
|
1339
|
+
has_neon: boolean;
|
|
1340
|
+
language: string;
|
|
1341
|
+
}
|
|
1342
|
+
interface ErrorOccurredProperties {
|
|
1343
|
+
error_type: string;
|
|
1344
|
+
command: string;
|
|
1345
|
+
phase: string;
|
|
1346
|
+
}
|
|
1347
|
+
interface InitStartedProperties {
|
|
1348
|
+
mode: 'accept-defaults' | 'guided' | 'guided-custom-prompt';
|
|
1349
|
+
}
|
|
1350
|
+
interface InitCompletedProperties {
|
|
1351
|
+
mode: 'accept-defaults' | 'guided' | 'guided-custom-prompt';
|
|
1352
|
+
}
|
|
1353
|
+
interface AutoSwarmStartedProperties {
|
|
1354
|
+
source: 'decomposition' | 'fresh';
|
|
1355
|
+
planner: string;
|
|
1356
|
+
}
|
|
1357
|
+
interface AutoSwarmCompletedProperties {
|
|
1358
|
+
source: 'decomposition' | 'fresh';
|
|
1359
|
+
success: boolean;
|
|
1360
|
+
child_count: number;
|
|
1361
|
+
duration_minutes: number;
|
|
1362
|
+
phase_reached: 'plan' | 'start' | 'spin';
|
|
1363
|
+
fallback_to_normal: boolean;
|
|
1364
|
+
}
|
|
1365
|
+
interface TelemetryEventMap {
|
|
1366
|
+
'cli.installed': CliInstalledProperties;
|
|
1367
|
+
'cli.upgraded': CliUpgradedProperties;
|
|
1368
|
+
'loom.created': LoomCreatedProperties;
|
|
1369
|
+
'loom.finished': LoomFinishedProperties;
|
|
1370
|
+
'loom.abandoned': LoomAbandonedProperties;
|
|
1371
|
+
'epic.planned': EpicPlannedProperties;
|
|
1372
|
+
'swarm.started': SwarmStartedProperties;
|
|
1373
|
+
'swarm.child_completed': SwarmChildCompletedProperties;
|
|
1374
|
+
'swarm.completed': SwarmCompletedProperties;
|
|
1375
|
+
'demo.started': DemoStartedProperties;
|
|
1376
|
+
'demo.completed': DemoCompletedProperties;
|
|
1377
|
+
'contribute.started': ContributeStartedProperties;
|
|
1378
|
+
'session.started': SessionStartedProperties;
|
|
1379
|
+
'error.occurred': ErrorOccurredProperties;
|
|
1380
|
+
'init.started': InitStartedProperties;
|
|
1381
|
+
'init.completed': InitCompletedProperties;
|
|
1382
|
+
'auto_swarm.started': AutoSwarmStartedProperties;
|
|
1383
|
+
'auto_swarm.completed': AutoSwarmCompletedProperties;
|
|
1384
|
+
}
|
|
1385
|
+
type TelemetryEventName = keyof TelemetryEventMap;
|
|
1386
|
+
|
|
1128
1387
|
interface Workspace {
|
|
1129
1388
|
id: string;
|
|
1130
1389
|
path: string;
|
|
@@ -1243,6 +1502,7 @@ interface StartOptions {
|
|
|
1243
1502
|
devServer?: boolean;
|
|
1244
1503
|
terminal?: boolean;
|
|
1245
1504
|
childLoom?: boolean;
|
|
1505
|
+
epic?: boolean;
|
|
1246
1506
|
oneShot?: OneShotMode;
|
|
1247
1507
|
body?: string;
|
|
1248
1508
|
json?: boolean;
|
|
@@ -1266,6 +1526,9 @@ interface FinishOptions {
|
|
|
1266
1526
|
noBrowser?: boolean;
|
|
1267
1527
|
cleanup?: boolean;
|
|
1268
1528
|
json?: boolean;
|
|
1529
|
+
skipToPr?: boolean;
|
|
1530
|
+
jsonStream?: boolean;
|
|
1531
|
+
review?: boolean;
|
|
1269
1532
|
}
|
|
1270
1533
|
/**
|
|
1271
1534
|
* Options for the cleanup command
|
|
@@ -1286,6 +1549,8 @@ interface CleanupOptions {
|
|
|
1286
1549
|
json?: boolean;
|
|
1287
1550
|
/** Wait specified milliseconds before cleanup execution */
|
|
1288
1551
|
defer?: number;
|
|
1552
|
+
/** Archive metadata instead of deleting (preserves loom in il list --finished) */
|
|
1553
|
+
archive?: boolean;
|
|
1289
1554
|
}
|
|
1290
1555
|
interface ListOptions {
|
|
1291
1556
|
json?: boolean;
|
|
@@ -1308,14 +1573,15 @@ interface StartResult {
|
|
|
1308
1573
|
path: string;
|
|
1309
1574
|
branch: string;
|
|
1310
1575
|
port?: number;
|
|
1311
|
-
type: 'issue' | 'pr' | 'branch';
|
|
1576
|
+
type: 'issue' | 'pr' | 'branch' | 'epic';
|
|
1312
1577
|
identifier: string | number;
|
|
1313
1578
|
title?: string;
|
|
1314
1579
|
capabilities?: string[];
|
|
1580
|
+
childIssueNumbers?: string[];
|
|
1315
1581
|
}
|
|
1316
1582
|
interface FinishResult {
|
|
1317
1583
|
success: boolean;
|
|
1318
|
-
type: 'issue' | 'pr' | 'branch';
|
|
1584
|
+
type: 'issue' | 'pr' | 'branch' | 'epic';
|
|
1319
1585
|
identifier: string | number;
|
|
1320
1586
|
/** Whether this was a dry-run operation */
|
|
1321
1587
|
dryRun?: boolean;
|
|
@@ -1333,7 +1599,19 @@ interface SummaryResult {
|
|
|
1333
1599
|
sessionId: string;
|
|
1334
1600
|
issueNumber?: string | number;
|
|
1335
1601
|
branchName: string;
|
|
1336
|
-
loomType: 'issue' | 'pr' | 'branch';
|
|
1602
|
+
loomType: 'issue' | 'pr' | 'branch' | 'epic';
|
|
1603
|
+
}
|
|
1604
|
+
interface RebaseResult {
|
|
1605
|
+
success: boolean;
|
|
1606
|
+
conflictsDetected: boolean;
|
|
1607
|
+
claudeLaunched: boolean;
|
|
1608
|
+
conflictsResolved?: boolean;
|
|
1609
|
+
error?: string;
|
|
1610
|
+
}
|
|
1611
|
+
interface RebaseOutcome {
|
|
1612
|
+
conflictsDetected: boolean;
|
|
1613
|
+
claudeLaunched: boolean;
|
|
1614
|
+
conflictsResolved: boolean;
|
|
1337
1615
|
}
|
|
1338
1616
|
interface MockOptions {
|
|
1339
1617
|
scenario: 'empty' | 'existing' | 'conflicts' | 'error';
|
|
@@ -1356,6 +1634,7 @@ interface ValidationOptions {
|
|
|
1356
1634
|
skipTypecheck?: boolean;
|
|
1357
1635
|
skipLint?: boolean;
|
|
1358
1636
|
skipTests?: boolean;
|
|
1637
|
+
jsonStream?: boolean;
|
|
1359
1638
|
}
|
|
1360
1639
|
interface ValidationStepResult {
|
|
1361
1640
|
step: 'typecheck' | 'compile' | 'lint' | 'test';
|
|
@@ -1392,6 +1671,7 @@ interface MergeOptions {
|
|
|
1392
1671
|
dryRun?: boolean;
|
|
1393
1672
|
force?: boolean;
|
|
1394
1673
|
repoRoot?: string;
|
|
1674
|
+
jsonStream?: boolean;
|
|
1395
1675
|
}
|
|
1396
1676
|
interface MergeResult {
|
|
1397
1677
|
success: boolean;
|
|
@@ -1433,10 +1713,18 @@ interface IssueTracker {
|
|
|
1433
1713
|
url: string;
|
|
1434
1714
|
}>;
|
|
1435
1715
|
getIssueUrl(identifier: string | number, repo?: string): Promise<string>;
|
|
1716
|
+
getChildIssues(parentIdentifier: string, repo?: string): Promise<Array<{
|
|
1717
|
+
id: string;
|
|
1718
|
+
title: string;
|
|
1719
|
+
url: string;
|
|
1720
|
+
state: string;
|
|
1721
|
+
}>>;
|
|
1436
1722
|
fetchPR?(identifier: string | number, repo?: string): Promise<PullRequest>;
|
|
1437
1723
|
isValidPR?(identifier: string | number, repo?: string): Promise<PullRequest | false>;
|
|
1438
1724
|
validatePRState?(pr: PullRequest): Promise<void>;
|
|
1439
1725
|
moveIssueToInProgress?(identifier: string | number): Promise<void>;
|
|
1726
|
+
moveIssueToReadyForReview?(identifier: string | number): Promise<void>;
|
|
1727
|
+
normalizeIdentifier(identifier: string | number): string;
|
|
1440
1728
|
extractContext(entity: Issue | PullRequest): string;
|
|
1441
1729
|
}
|
|
1442
1730
|
|
|
@@ -1466,15 +1754,23 @@ declare class GitHubService implements IssueTracker {
|
|
|
1466
1754
|
url: string;
|
|
1467
1755
|
}>;
|
|
1468
1756
|
getIssueUrl(issueNumber: number, repo?: string): Promise<string>;
|
|
1757
|
+
getChildIssues(parentIdentifier: string, repo?: string): Promise<Array<{
|
|
1758
|
+
id: string;
|
|
1759
|
+
title: string;
|
|
1760
|
+
url: string;
|
|
1761
|
+
state: string;
|
|
1762
|
+
}>>;
|
|
1469
1763
|
moveIssueToInProgress(issueNumber: number): Promise<void>;
|
|
1764
|
+
moveIssueToReadyForReview(issueNumber: number): Promise<void>;
|
|
1470
1765
|
private updateIssueStatusInProject;
|
|
1766
|
+
normalizeIdentifier(identifier: string | number): string;
|
|
1471
1767
|
extractContext(entity: Issue | PullRequest): string;
|
|
1472
1768
|
private mapGitHubIssueToIssue;
|
|
1473
1769
|
private mapGitHubPRToPullRequest;
|
|
1474
1770
|
private promptUserConfirmation;
|
|
1475
1771
|
}
|
|
1476
1772
|
|
|
1477
|
-
type IssueTrackerProviderType = 'github' | 'linear';
|
|
1773
|
+
type IssueTrackerProviderType = 'github' | 'linear' | 'jira';
|
|
1478
1774
|
/**
|
|
1479
1775
|
* Factory for creating IssueTracker instances based on settings
|
|
1480
1776
|
* Provides a single point of provider instantiation
|
|
@@ -1649,6 +1945,7 @@ interface TemplateVariables {
|
|
|
1649
1945
|
AUTO_COMMIT_PUSH?: boolean;
|
|
1650
1946
|
STANDARD_ISSUE_MODE?: boolean;
|
|
1651
1947
|
STANDARD_BRANCH_MODE?: boolean;
|
|
1948
|
+
DIRECT_PROMPT_MODE?: boolean;
|
|
1652
1949
|
IS_VSCODE_MODE?: boolean;
|
|
1653
1950
|
HAS_PACKAGE_JSON?: boolean;
|
|
1654
1951
|
NO_PACKAGE_JSON?: boolean;
|
|
@@ -1689,6 +1986,17 @@ interface TemplateVariables {
|
|
|
1689
1986
|
USE_CODEX_REVIEWER?: boolean;
|
|
1690
1987
|
HAS_REVIEWER?: boolean;
|
|
1691
1988
|
GIT_REMOTE?: string;
|
|
1989
|
+
EPIC_ISSUE_NUMBER?: string | number;
|
|
1990
|
+
EPIC_WORKTREE_PATH?: string;
|
|
1991
|
+
EPIC_METADATA_PATH?: string;
|
|
1992
|
+
CHILD_ISSUES?: string;
|
|
1993
|
+
DEPENDENCY_MAP?: string;
|
|
1994
|
+
SWARM_MODE?: boolean;
|
|
1995
|
+
AUTO_SWARM_MODE?: boolean;
|
|
1996
|
+
SWARM_AGENT_METADATA?: string;
|
|
1997
|
+
SWARM_SUB_AGENT_TIMEOUT_MS?: number;
|
|
1998
|
+
NO_CLEANUP?: boolean;
|
|
1999
|
+
ISSUE_PREFIX?: string;
|
|
1692
2000
|
}
|
|
1693
2001
|
declare class PromptTemplateManager {
|
|
1694
2002
|
private templateDir;
|
|
@@ -1696,7 +2004,7 @@ declare class PromptTemplateManager {
|
|
|
1696
2004
|
/**
|
|
1697
2005
|
* Load a template file by name
|
|
1698
2006
|
*/
|
|
1699
|
-
loadTemplate(templateName: 'issue' | 'pr' | 'regular' | 'init' | 'session-summary' | 'plan'): Promise<string>;
|
|
2007
|
+
loadTemplate(templateName: 'issue' | 'pr' | 'regular' | 'init' | 'session-summary' | 'plan' | 'swarm-orchestrator'): Promise<string>;
|
|
1700
2008
|
/**
|
|
1701
2009
|
* Substitute variables in a template string using Handlebars
|
|
1702
2010
|
*/
|
|
@@ -1704,7 +2012,7 @@ declare class PromptTemplateManager {
|
|
|
1704
2012
|
/**
|
|
1705
2013
|
* Get a fully processed prompt for a workflow type
|
|
1706
2014
|
*/
|
|
1707
|
-
getPrompt(type: 'issue' | 'pr' | 'regular' | 'init' | 'session-summary' | 'plan', variables: TemplateVariables): Promise<string>;
|
|
2015
|
+
getPrompt(type: 'issue' | 'pr' | 'regular' | 'init' | 'session-summary' | 'plan' | 'swarm-orchestrator', variables: TemplateVariables): Promise<string>;
|
|
1708
2016
|
}
|
|
1709
2017
|
|
|
1710
2018
|
interface ClaudeWorkflowOptions {
|
|
@@ -1764,6 +2072,48 @@ declare class ClaudeContextManager {
|
|
|
1764
2072
|
launchWithContext(context: ClaudeContext, headless?: boolean): Promise<string | void>;
|
|
1765
2073
|
}
|
|
1766
2074
|
|
|
2075
|
+
type SwarmState = 'pending' | 'in_progress' | 'code_review' | 'done' | 'failed';
|
|
2076
|
+
/**
|
|
2077
|
+
* Schema for metadata JSON file
|
|
2078
|
+
* Stored in ~/.config/iloom-ai/looms/
|
|
2079
|
+
*/
|
|
2080
|
+
interface MetadataFile {
|
|
2081
|
+
description: string;
|
|
2082
|
+
created_at?: string;
|
|
2083
|
+
version: number;
|
|
2084
|
+
branchName?: string;
|
|
2085
|
+
worktreePath?: string;
|
|
2086
|
+
issueType?: 'branch' | 'issue' | 'pr' | 'epic';
|
|
2087
|
+
issueKey?: string;
|
|
2088
|
+
issue_numbers?: string[];
|
|
2089
|
+
pr_numbers?: string[];
|
|
2090
|
+
issueTracker?: string;
|
|
2091
|
+
colorHex?: string;
|
|
2092
|
+
sessionId?: string;
|
|
2093
|
+
projectPath?: string;
|
|
2094
|
+
issueUrls?: Record<string, string>;
|
|
2095
|
+
prUrls?: Record<string, string>;
|
|
2096
|
+
draftPrNumber?: number;
|
|
2097
|
+
oneShot?: OneShotMode;
|
|
2098
|
+
capabilities?: ProjectCapability[];
|
|
2099
|
+
state?: SwarmState;
|
|
2100
|
+
childIssueNumbers?: string[];
|
|
2101
|
+
parentLoom?: {
|
|
2102
|
+
type: 'issue' | 'pr' | 'branch' | 'epic';
|
|
2103
|
+
identifier: string | number;
|
|
2104
|
+
branchName: string;
|
|
2105
|
+
worktreePath: string;
|
|
2106
|
+
databaseBranch?: string;
|
|
2107
|
+
};
|
|
2108
|
+
childIssues?: Array<{
|
|
2109
|
+
number: string;
|
|
2110
|
+
title: string;
|
|
2111
|
+
body: string;
|
|
2112
|
+
url: string;
|
|
2113
|
+
}>;
|
|
2114
|
+
dependencyMap?: Record<string, string[]>;
|
|
2115
|
+
mcpConfigPath?: string;
|
|
2116
|
+
}
|
|
1767
2117
|
/**
|
|
1768
2118
|
* Input for writing metadata (all fields except version and created_at)
|
|
1769
2119
|
* Note: issueTracker is required because every loom should have an associated
|
|
@@ -1773,7 +2123,8 @@ interface WriteMetadataInput {
|
|
|
1773
2123
|
description: string;
|
|
1774
2124
|
branchName: string;
|
|
1775
2125
|
worktreePath: string;
|
|
1776
|
-
issueType: 'branch' | 'issue' | 'pr';
|
|
2126
|
+
issueType: 'branch' | 'issue' | 'pr' | 'epic';
|
|
2127
|
+
issueKey?: string;
|
|
1777
2128
|
issue_numbers: string[];
|
|
1778
2129
|
pr_numbers: string[];
|
|
1779
2130
|
issueTracker: string;
|
|
@@ -1785,13 +2136,23 @@ interface WriteMetadataInput {
|
|
|
1785
2136
|
draftPrNumber?: number;
|
|
1786
2137
|
oneShot?: OneShotMode;
|
|
1787
2138
|
capabilities: ProjectCapability[];
|
|
2139
|
+
state?: SwarmState;
|
|
2140
|
+
childIssueNumbers?: string[];
|
|
1788
2141
|
parentLoom?: {
|
|
1789
|
-
type: 'issue' | 'pr' | 'branch';
|
|
2142
|
+
type: 'issue' | 'pr' | 'branch' | 'epic';
|
|
1790
2143
|
identifier: string | number;
|
|
1791
2144
|
branchName: string;
|
|
1792
2145
|
worktreePath: string;
|
|
1793
2146
|
databaseBranch?: string;
|
|
1794
2147
|
};
|
|
2148
|
+
childIssues?: Array<{
|
|
2149
|
+
number: string;
|
|
2150
|
+
title: string;
|
|
2151
|
+
body: string;
|
|
2152
|
+
url: string;
|
|
2153
|
+
}>;
|
|
2154
|
+
dependencyMap?: Record<string, string[]>;
|
|
2155
|
+
mcpConfigPath?: string;
|
|
1795
2156
|
}
|
|
1796
2157
|
/**
|
|
1797
2158
|
* Result of reading metadata for a worktree
|
|
@@ -1803,7 +2164,8 @@ interface LoomMetadata {
|
|
|
1803
2164
|
created_at: string | null;
|
|
1804
2165
|
branchName: string | null;
|
|
1805
2166
|
worktreePath: string | null;
|
|
1806
|
-
issueType: 'branch' | 'issue' | 'pr' | null;
|
|
2167
|
+
issueType: 'branch' | 'issue' | 'pr' | 'epic' | null;
|
|
2168
|
+
issueKey: string | null;
|
|
1807
2169
|
issue_numbers: string[];
|
|
1808
2170
|
pr_numbers: string[];
|
|
1809
2171
|
issueTracker: string | null;
|
|
@@ -1815,13 +2177,23 @@ interface LoomMetadata {
|
|
|
1815
2177
|
draftPrNumber: number | null;
|
|
1816
2178
|
oneShot: OneShotMode | null;
|
|
1817
2179
|
capabilities: ProjectCapability[];
|
|
2180
|
+
state: SwarmState | null;
|
|
2181
|
+
childIssueNumbers: string[];
|
|
1818
2182
|
parentLoom: {
|
|
1819
|
-
type: 'issue' | 'pr' | 'branch';
|
|
2183
|
+
type: 'issue' | 'pr' | 'branch' | 'epic';
|
|
1820
2184
|
identifier: string | number;
|
|
1821
2185
|
branchName: string;
|
|
1822
2186
|
worktreePath: string;
|
|
1823
2187
|
databaseBranch?: string;
|
|
1824
2188
|
} | null;
|
|
2189
|
+
childIssues: Array<{
|
|
2190
|
+
number: string;
|
|
2191
|
+
title: string;
|
|
2192
|
+
body: string;
|
|
2193
|
+
url: string;
|
|
2194
|
+
}>;
|
|
2195
|
+
dependencyMap: Record<string, string[]>;
|
|
2196
|
+
mcpConfigPath: string | null;
|
|
1825
2197
|
}
|
|
1826
2198
|
/**
|
|
1827
2199
|
* MetadataManager: Manage loom metadata persistence
|
|
@@ -1889,6 +2261,16 @@ declare class MetadataManager {
|
|
|
1889
2261
|
* @returns Array of LoomMetadata objects from all stored files
|
|
1890
2262
|
*/
|
|
1891
2263
|
listAllMetadata(): Promise<LoomMetadata[]>;
|
|
2264
|
+
/**
|
|
2265
|
+
* Update existing metadata for a worktree by merging new fields
|
|
2266
|
+
*
|
|
2267
|
+
* Reads the existing metadata file, merges the provided updates,
|
|
2268
|
+
* and writes back. Only provided fields are overwritten.
|
|
2269
|
+
*
|
|
2270
|
+
* @param worktreePath - Absolute path to the worktree
|
|
2271
|
+
* @param updates - Partial metadata fields to merge
|
|
2272
|
+
*/
|
|
2273
|
+
updateMetadata(worktreePath: string, updates: Partial<MetadataFile>): Promise<void>;
|
|
1892
2274
|
/**
|
|
1893
2275
|
* Delete metadata for a worktree (spec section 3.3)
|
|
1894
2276
|
*
|
|
@@ -2254,6 +2636,48 @@ declare function setThemeMode(mode: ThemeMode): void;
|
|
|
2254
2636
|
*/
|
|
2255
2637
|
declare function getThemeMode(): ThemeMode;
|
|
2256
2638
|
|
|
2639
|
+
/**
|
|
2640
|
+
* Utility class for detecting and converting Jira Wiki markup to GitHub-Flavored Markdown.
|
|
2641
|
+
* Applied at the MCP layer to prevent malformed content from reaching issue tracker providers.
|
|
2642
|
+
*
|
|
2643
|
+
* IMPORTANT: Only converts UNAMBIGUOUS Jira Wiki patterns.
|
|
2644
|
+
* Patterns that overlap with valid Markdown (e.g., *bold*, _italic_) are
|
|
2645
|
+
* intentionally NOT converted to avoid corrupting valid Markdown content.
|
|
2646
|
+
*
|
|
2647
|
+
* Safe conversions (unambiguous):
|
|
2648
|
+
* - h1. through h6. headings at line start -> # through ######
|
|
2649
|
+
* - {code}...{code} and {code:lang}...{code} -> fenced code blocks
|
|
2650
|
+
* - {quote}...{quote} -> > blockquotes
|
|
2651
|
+
* - [text|url] -> [text](url) (only when url looks like http/https)
|
|
2652
|
+
*
|
|
2653
|
+
* Intentionally NOT converted (ambiguous):
|
|
2654
|
+
* - *text* (could be Markdown italic)
|
|
2655
|
+
* - _text_ (could be Markdown italic or snake_case)
|
|
2656
|
+
*/
|
|
2657
|
+
declare class JiraWikiSanitizer {
|
|
2658
|
+
/**
|
|
2659
|
+
* Sanitize body text by converting unambiguous Jira Wiki patterns to Markdown.
|
|
2660
|
+
* Preserves content inside backtick-fenced code blocks.
|
|
2661
|
+
* Returns text unchanged if no Wiki patterns detected.
|
|
2662
|
+
*/
|
|
2663
|
+
static sanitize(text: string): string;
|
|
2664
|
+
/**
|
|
2665
|
+
* Check if text contains unambiguous Jira Wiki patterns.
|
|
2666
|
+
* Only checks for patterns that are safe to convert.
|
|
2667
|
+
*/
|
|
2668
|
+
static hasJiraWikiPatterns(text: string): boolean;
|
|
2669
|
+
/**
|
|
2670
|
+
* Split text into segments, separating existing Markdown fenced code blocks
|
|
2671
|
+
* from the rest of the content. This ensures we don't modify content inside
|
|
2672
|
+
* code blocks (e.g., Jira Wiki examples shown in a Markdown code block).
|
|
2673
|
+
*/
|
|
2674
|
+
private static splitByCodeBlocks;
|
|
2675
|
+
/**
|
|
2676
|
+
* Apply all safe Jira Wiki -> Markdown conversions to a text segment.
|
|
2677
|
+
*/
|
|
2678
|
+
private static convertSegment;
|
|
2679
|
+
}
|
|
2680
|
+
|
|
2257
2681
|
/**
|
|
2258
2682
|
* Utility class for converting HTML details/summary format to Linear's collapsible format
|
|
2259
2683
|
*
|
|
@@ -2403,4 +2827,4 @@ declare class TableFormatter {
|
|
|
2403
2827
|
static previewFormatting(headers: string[], options?: TableFormatterOptions): string;
|
|
2404
2828
|
}
|
|
2405
2829
|
|
|
2406
|
-
export { type AddIssueOptions, type AddIssueResult, type BatchCleanupResult, type BranchCleanupTarget, type BranchDeleteOptions, type BranchGenerationOptions, type BranchNameStrategy, type Capability, type ClaudeContext, ClaudeContextManager, type CleanupOptions, type CleanupResult, type ColorData, type CommitOptions, type Config, type CreateLoomInput, type DatabaseDeletionResult, DatabaseManager, type DatabaseProvider, type EnhanceOptions, type EnhanceResult, type EnvFileOptions, type EnvOperationResult, type EnvVariable, EnvironmentManager, type FeedbackOptions, type FinishOptions, type FinishResult, GitCommandError, GitHubService, type GitStatus, type GitWorktree, GitWorktreeManager, type InstallationMethod, type Issue, type IssueTracker, IssueTrackerFactory, type IssueTrackerInputDetection, type IssueTrackerProviderType, type LaunchMode, LinearMarkupConverter, type ListOptions, type Logger, type LoggerOptions, type Loom, type LoomSummary, type MergeOptions, type MergeResult, type MockOptions, type OneShotMode, type OperationResult, PLACEHOLDER_COMMIT_PREFIX, type PRWorktreePattern, type Platform, type PortAssignmentOptions, type ProcessInfo, type ProjectCapability, type PullRequest, type RemoteBranchStatus, type ResourceCleanupOptions, type RgbColor, type SafetyCheck, type StartOptions, type StartResult, type SummaryResult, TableFormatter, type TableFormatterOptions, type TableGenerationOptions, type UpdateCheckCache, type UpdateCheckResult, UserAbortedCommitError, type ValidationOptions, type ValidationResult, type ValidationStepResult, type Workspace, type WorkspaceInput, WorkspaceManager, type WorkspaceSummary, type Worktree, type WorktreeCleanupOptions, type WorktreeCreateOptions, type WorktreeListOptions, type WorktreeOperationResult, type WorktreeStatus, type WorktreeValidation, branchExists, checkRemoteBranchStatus, createLogger, createStderrLogger, ensureRepositoryHasCommits, executeGitCommand, extractIssueNumber, extractPRNumber, fetchOrigin, findAllBranchesForIssue, findMainWorktreePath, findMainWorktreePathWithSettings, findPlaceholderCommitSha, findWorktreeForBranch, generateWorktreePath, getCurrentBranch, getDefaultBranch, getMergeTargetBranch, getRepoRoot, getThemeMode, getWorktreeRoot, hasUncommittedChanges, isBranchMergedIntoMain, isEmptyRepository, isFileGitignored, isFileTrackedByGit, isPRBranch, isPlaceholderCommit, isRemoteBranchUpToDate, isValidGitRepo, isWorktreePath, logger, parseWorktreeList, pushBranchToRemote, removePlaceholderCommitFromHead, removePlaceholderCommitFromHistory, setThemeMode };
|
|
2830
|
+
export { type AddIssueOptions, type AddIssueResult, type AutoSwarmCompletedProperties, type AutoSwarmStartedProperties, type BatchCleanupResult, type BranchCleanupTarget, type BranchDeleteOptions, type BranchGenerationOptions, type BranchNameStrategy, type Capability, type ClaudeContext, ClaudeContextManager, type CleanupOptions, type CleanupResult, type CliInstalledProperties, type CliUpgradedProperties, type ColorData, type CommitOptions, type Config, type ContributeStartedProperties, type CreateLoomInput, type DatabaseDeletionResult, DatabaseManager, type DatabaseProvider, type DemoCompletedProperties, type DemoStartedProperties, type EnhanceOptions, type EnhanceResult, type EnvFileOptions, type EnvOperationResult, type EnvVariable, EnvironmentManager, type EpicPlannedProperties, type ErrorOccurredProperties, type FeedbackOptions, type FinishOptions, type FinishResult, GitCommandError, GitHubService, type GitStatus, type GitWorktree, GitWorktreeManager, type InitCompletedProperties, type InitStartedProperties, type InstallationMethod, type Issue, type IssueTracker, IssueTrackerFactory, type IssueTrackerInputDetection, type IssueTrackerProviderType, JiraWikiSanitizer, type LaunchMode, LinearMarkupConverter, type ListOptions, type Logger, type LoggerOptions, type Loom, type LoomAbandonedProperties, type LoomCreatedProperties, type LoomFinishedProperties, type LoomSummary, type MergeOptions, type MergeResult, type MockOptions, type OneShotMode, type OperationResult, PLACEHOLDER_COMMIT_PREFIX, type PRWorktreePattern, type Platform, type PortAssignmentOptions, type ProcessInfo, type ProjectCapability, type PullRequest, type RebaseOutcome, type RebaseResult, type RemoteBranchStatus, type ResourceCleanupOptions, type RgbColor, type SafetyCheck, type SessionStartedProperties, type StartOptions, type StartResult, type SummaryResult, type SwarmChildCompletedProperties, type SwarmCompletedProperties, type SwarmStartedProperties, TableFormatter, type TableFormatterOptions, type TableGenerationOptions, type TelemetryConfig, type TelemetryEventMap, type TelemetryEventName, type UpdateCheckCache, type UpdateCheckResult, UserAbortedCommitError, type ValidationOptions, type ValidationResult, type ValidationStepResult, type Workspace, type WorkspaceInput, WorkspaceManager, type WorkspaceSummary, type Worktree, type WorktreeCleanupOptions, type WorktreeCreateOptions, type WorktreeListOptions, type WorktreeOperationResult, type WorktreeStatus, type WorktreeValidation, branchExists, checkRemoteBranchStatus, createLogger, createStderrLogger, ensureRepositoryHasCommits, executeGitCommand, extractIssueNumber, extractPRNumber, fetchOrigin, findAllBranchesForIssue, findMainWorktreePath, findMainWorktreePathWithSettings, findPlaceholderCommitSha, findWorktreeForBranch, generateWorktreePath, getCurrentBranch, getDefaultBranch, getMergeTargetBranch, getRepoRoot, getThemeMode, getWorktreeRoot, hasUncommittedChanges, isBranchMergedIntoMain, isEmptyRepository, isFileGitignored, isFileTrackedByGit, isPRBranch, isPlaceholderCommit, isRemoteBranchUpToDate, isValidGitRepo, isWorktreePath, logger, parseWorktreeList, pushBranchToRemote, removePlaceholderCommitFromHead, removePlaceholderCommitFromHistory, setThemeMode };
|