@iloom/cli 0.6.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +58 -16
- package/dist/{BranchNamingService-B5PVRR7F.js → BranchNamingService-FLPUUFOB.js} +2 -2
- package/dist/ClaudeContextManager-KE5TBZVZ.js +14 -0
- package/dist/ClaudeService-CRSETT3A.js +13 -0
- package/dist/{GitHubService-S2OGUTDR.js → GitHubService-O7U4UQ7N.js} +3 -3
- package/dist/{LoomLauncher-5LFM4LXB.js → LoomLauncher-NL65LSKP.js} +6 -6
- package/dist/{MetadataManager-DFI73J3G.js → MetadataManager-XJ2YB762.js} +2 -2
- package/dist/PRManager-2ABCWXHW.js +16 -0
- package/dist/{ProjectCapabilityDetector-S5FLNCFI.js → ProjectCapabilityDetector-UZYW32SY.js} +3 -3
- package/dist/{PromptTemplateManager-C3DK6XZL.js → PromptTemplateManager-7L3HJQQU.js} +2 -2
- package/dist/README.md +58 -16
- package/dist/{SettingsManager-35F5RUJH.js → SettingsManager-YU4VYPTW.js} +2 -2
- package/dist/agents/iloom-issue-analyze-and-plan.md +42 -17
- package/dist/agents/iloom-issue-analyzer.md +14 -14
- package/dist/agents/iloom-issue-complexity-evaluator.md +38 -15
- package/dist/agents/iloom-issue-enhancer.md +15 -15
- package/dist/agents/iloom-issue-implementer.md +44 -15
- package/dist/agents/iloom-issue-planner.md +121 -17
- package/dist/agents/iloom-issue-reviewer.md +15 -15
- package/dist/{build-FJVYP7EV.js → build-O2EJHDEW.js} +9 -9
- package/dist/{chunk-ZPSTA5PR.js → chunk-3CDWFEGL.js} +2 -2
- package/dist/{chunk-VU3QMIP2.js → chunk-453NC377.js} +91 -15
- package/dist/chunk-453NC377.js.map +1 -0
- package/dist/{chunk-UQIXZ3BA.js → chunk-5V74K5ZA.js} +2 -2
- package/dist/{chunk-7WANFUIK.js → chunk-6TL3BYH6.js} +2 -2
- package/dist/{chunk-5TXLVEXT.js → chunk-C3AKFAIR.js} +2 -2
- package/dist/{chunk-K7SEEHKO.js → chunk-CNSTXBJ3.js} +7 -419
- package/dist/chunk-CNSTXBJ3.js.map +1 -0
- package/dist/{chunk-5IWU3HXE.js → chunk-EPPPDVHD.js} +23 -11
- package/dist/chunk-EPPPDVHD.js.map +1 -0
- package/dist/{chunk-UB4TFAXJ.js → chunk-FEAJR6PN.js} +9 -55
- package/dist/chunk-FEAJR6PN.js.map +1 -0
- package/dist/{chunk-6YSFTPKW.js → chunk-FM4KBPVA.js} +18 -13
- package/dist/chunk-FM4KBPVA.js.map +1 -0
- package/dist/{chunk-AEIMYF4P.js → chunk-FP7G7DG3.js} +6 -2
- package/dist/chunk-FP7G7DG3.js.map +1 -0
- package/dist/{chunk-LT3SGBR7.js → chunk-GCPAZSGV.js} +36 -2
- package/dist/{chunk-LT3SGBR7.js.map → chunk-GCPAZSGV.js.map} +1 -1
- package/dist/chunk-GJMEKEI5.js +517 -0
- package/dist/chunk-GJMEKEI5.js.map +1 -0
- package/dist/{chunk-64O2UIWO.js → chunk-GV5X6XUE.js} +4 -4
- package/dist/{chunk-7Q66W4OH.js → chunk-HBJITKSZ.js} +37 -1
- package/dist/chunk-HBJITKSZ.js.map +1 -0
- package/dist/{chunk-7HIRPCKU.js → chunk-HVQNVRAF.js} +2 -2
- package/dist/{chunk-BXCPJJYM.js → chunk-ITN64ENQ.js} +1 -1
- package/dist/chunk-ITN64ENQ.js.map +1 -0
- package/dist/{chunk-6U6VI4SZ.js → chunk-KVS4XGBQ.js} +4 -4
- package/dist/{chunk-AXX3QIKK.js → chunk-LLWX3PCW.js} +2 -2
- package/dist/{chunk-WIJWIKAN.js → chunk-LQBLDI47.js} +105 -7
- package/dist/chunk-LQBLDI47.js.map +1 -0
- package/dist/{chunk-SN3Z6EZO.js → chunk-N7FVXZNI.js} +2 -2
- package/dist/chunk-NTIZLX42.js +822 -0
- package/dist/chunk-NTIZLX42.js.map +1 -0
- package/dist/{chunk-PMVWQBWS.js → chunk-S7YMZQUD.js} +31 -45
- package/dist/chunk-S7YMZQUD.js.map +1 -0
- package/dist/chunk-TIYJEEVO.js +79 -0
- package/dist/chunk-TIYJEEVO.js.map +1 -0
- package/dist/{chunk-EK3XCAAS.js → chunk-UDRZY65Y.js} +2 -2
- package/dist/{chunk-3PT7RKL5.js → chunk-USJSNHGG.js} +2 -2
- package/dist/{chunk-CFUWQHCJ.js → chunk-VWGKGNJP.js} +114 -35
- package/dist/chunk-VWGKGNJP.js.map +1 -0
- package/dist/{chunk-F6WVM437.js → chunk-WFQ5CLTR.js} +6 -3
- package/dist/chunk-WFQ5CLTR.js.map +1 -0
- package/dist/{chunk-TRQ76ISK.js → chunk-Z6BO53V7.js} +9 -9
- package/dist/{chunk-GEXP5IOF.js → chunk-ZA575VLF.js} +21 -8
- package/dist/chunk-ZA575VLF.js.map +1 -0
- package/dist/{claude-H33OQMXO.js → claude-6H36IBHO.js} +4 -2
- package/dist/{cleanup-OU2HFOOG.js → cleanup-ZPOMRSNN.js} +20 -16
- package/dist/cleanup-ZPOMRSNN.js.map +1 -0
- package/dist/cli.js +511 -959
- package/dist/cli.js.map +1 -1
- package/dist/commit-6S2RIA2K.js +237 -0
- package/dist/commit-6S2RIA2K.js.map +1 -0
- package/dist/{compile-ULNO5F7Q.js → compile-LRMAADUT.js} +9 -9
- package/dist/{contribute-T7ENST5N.js → contribute-GXKOIA42.js} +99 -31
- package/dist/contribute-GXKOIA42.js.map +1 -0
- package/dist/{dev-server-4RCDJ5MU.js → dev-server-GREJUEKW.js} +22 -74
- package/dist/dev-server-GREJUEKW.js.map +1 -0
- package/dist/{feedback-O4Q55SVS.js → feedback-G7G5QCY4.js} +10 -10
- package/dist/{git-FVMGBHC2.js → git-ENLT2VNI.js} +6 -4
- package/dist/hooks/iloom-hook.js +30 -2
- package/dist/{ignite-VHV65WEZ.js → ignite-YUAOJ5PP.js} +20 -20
- package/dist/ignite-YUAOJ5PP.js.map +1 -0
- package/dist/index.d.ts +71 -27
- package/dist/index.js +196 -266
- package/dist/index.js.map +1 -1
- package/dist/init-XQQMFDM6.js +21 -0
- package/dist/{lint-5JMCWE4Y.js → lint-OFVN7FT6.js} +9 -9
- package/dist/mcp/issue-management-server.js +359 -13
- package/dist/mcp/issue-management-server.js.map +1 -1
- package/dist/mcp/recap-server.js +13 -4
- package/dist/mcp/recap-server.js.map +1 -1
- package/dist/{open-WHVUYGPY.js → open-MCWQAPSZ.js} +25 -76
- package/dist/open-MCWQAPSZ.js.map +1 -0
- package/dist/{projects-SA76I4TZ.js → projects-PQOTWUII.js} +11 -4
- package/dist/projects-PQOTWUII.js.map +1 -0
- package/dist/prompts/init-prompt.txt +63 -59
- package/dist/prompts/issue-prompt.txt +132 -63
- package/dist/prompts/pr-prompt.txt +3 -3
- package/dist/prompts/regular-prompt.txt +16 -18
- package/dist/prompts/session-summary-prompt.txt +13 -13
- package/dist/{rebase-5EY3Q6XP.js → rebase-RKQED567.js} +53 -8
- package/dist/rebase-RKQED567.js.map +1 -0
- package/dist/{recap-VOOUXOGP.js → recap-ZKGHZCX6.js} +6 -6
- package/dist/{run-NCRK5NPR.js → run-CCG24PBC.js} +25 -76
- package/dist/run-CCG24PBC.js.map +1 -0
- package/dist/schema/settings.schema.json +14 -3
- package/dist/{shell-SBLXVOVJ.js → shell-2NNSIU34.js} +6 -6
- package/dist/{summary-CVFAMDOJ.js → summary-G6L3VAKK.js} +11 -10
- package/dist/{summary-CVFAMDOJ.js.map → summary-G6L3VAKK.js.map} +1 -1
- package/dist/{test-3KIVXI6J.js → test-QZDOEUIO.js} +9 -9
- package/dist/{test-git-ZB6AGGRW.js → test-git-E2BLXR6M.js} +4 -4
- package/dist/{test-prefix-FBGXKMPA.js → test-prefix-A7JGGYAA.js} +4 -4
- package/dist/{test-webserver-YVQD42W6.js → test-webserver-NRMGT2HB.js} +29 -8
- package/dist/test-webserver-NRMGT2HB.js.map +1 -0
- package/package.json +3 -1
- package/dist/ClaudeContextManager-6J2EB4QU.js +0 -14
- package/dist/ClaudeService-O2PB22GX.js +0 -13
- package/dist/PRManager-OCSB2HPT.js +0 -14
- package/dist/chunk-5IWU3HXE.js.map +0 -1
- package/dist/chunk-6YSFTPKW.js.map +0 -1
- package/dist/chunk-7Q66W4OH.js.map +0 -1
- package/dist/chunk-AEIMYF4P.js.map +0 -1
- package/dist/chunk-BXCPJJYM.js.map +0 -1
- package/dist/chunk-CFUWQHCJ.js.map +0 -1
- package/dist/chunk-F6WVM437.js.map +0 -1
- package/dist/chunk-GEXP5IOF.js.map +0 -1
- package/dist/chunk-K7SEEHKO.js.map +0 -1
- package/dist/chunk-PMVWQBWS.js.map +0 -1
- package/dist/chunk-UB4TFAXJ.js.map +0 -1
- package/dist/chunk-VU3QMIP2.js.map +0 -1
- package/dist/chunk-W6WVRHJ6.js +0 -251
- package/dist/chunk-W6WVRHJ6.js.map +0 -1
- package/dist/chunk-WIJWIKAN.js.map +0 -1
- package/dist/cleanup-OU2HFOOG.js.map +0 -1
- package/dist/contribute-T7ENST5N.js.map +0 -1
- package/dist/dev-server-4RCDJ5MU.js.map +0 -1
- package/dist/ignite-VHV65WEZ.js.map +0 -1
- package/dist/init-HB34Q5FH.js +0 -21
- package/dist/open-WHVUYGPY.js.map +0 -1
- package/dist/projects-SA76I4TZ.js.map +0 -1
- package/dist/rebase-5EY3Q6XP.js.map +0 -1
- package/dist/run-NCRK5NPR.js.map +0 -1
- package/dist/test-webserver-YVQD42W6.js.map +0 -1
- /package/dist/{BranchNamingService-B5PVRR7F.js.map → BranchNamingService-FLPUUFOB.js.map} +0 -0
- /package/dist/{ClaudeContextManager-6J2EB4QU.js.map → ClaudeContextManager-KE5TBZVZ.js.map} +0 -0
- /package/dist/{ClaudeService-O2PB22GX.js.map → ClaudeService-CRSETT3A.js.map} +0 -0
- /package/dist/{GitHubService-S2OGUTDR.js.map → GitHubService-O7U4UQ7N.js.map} +0 -0
- /package/dist/{LoomLauncher-5LFM4LXB.js.map → LoomLauncher-NL65LSKP.js.map} +0 -0
- /package/dist/{MetadataManager-DFI73J3G.js.map → MetadataManager-XJ2YB762.js.map} +0 -0
- /package/dist/{PRManager-OCSB2HPT.js.map → PRManager-2ABCWXHW.js.map} +0 -0
- /package/dist/{ProjectCapabilityDetector-S5FLNCFI.js.map → ProjectCapabilityDetector-UZYW32SY.js.map} +0 -0
- /package/dist/{PromptTemplateManager-C3DK6XZL.js.map → PromptTemplateManager-7L3HJQQU.js.map} +0 -0
- /package/dist/{SettingsManager-35F5RUJH.js.map → SettingsManager-YU4VYPTW.js.map} +0 -0
- /package/dist/{build-FJVYP7EV.js.map → build-O2EJHDEW.js.map} +0 -0
- /package/dist/{chunk-ZPSTA5PR.js.map → chunk-3CDWFEGL.js.map} +0 -0
- /package/dist/{chunk-UQIXZ3BA.js.map → chunk-5V74K5ZA.js.map} +0 -0
- /package/dist/{chunk-7WANFUIK.js.map → chunk-6TL3BYH6.js.map} +0 -0
- /package/dist/{chunk-5TXLVEXT.js.map → chunk-C3AKFAIR.js.map} +0 -0
- /package/dist/{chunk-64O2UIWO.js.map → chunk-GV5X6XUE.js.map} +0 -0
- /package/dist/{chunk-7HIRPCKU.js.map → chunk-HVQNVRAF.js.map} +0 -0
- /package/dist/{chunk-6U6VI4SZ.js.map → chunk-KVS4XGBQ.js.map} +0 -0
- /package/dist/{chunk-AXX3QIKK.js.map → chunk-LLWX3PCW.js.map} +0 -0
- /package/dist/{chunk-SN3Z6EZO.js.map → chunk-N7FVXZNI.js.map} +0 -0
- /package/dist/{chunk-EK3XCAAS.js.map → chunk-UDRZY65Y.js.map} +0 -0
- /package/dist/{chunk-3PT7RKL5.js.map → chunk-USJSNHGG.js.map} +0 -0
- /package/dist/{chunk-TRQ76ISK.js.map → chunk-Z6BO53V7.js.map} +0 -0
- /package/dist/{claude-H33OQMXO.js.map → claude-6H36IBHO.js.map} +0 -0
- /package/dist/{compile-ULNO5F7Q.js.map → compile-LRMAADUT.js.map} +0 -0
- /package/dist/{feedback-O4Q55SVS.js.map → feedback-G7G5QCY4.js.map} +0 -0
- /package/dist/{git-FVMGBHC2.js.map → git-ENLT2VNI.js.map} +0 -0
- /package/dist/{init-HB34Q5FH.js.map → init-XQQMFDM6.js.map} +0 -0
- /package/dist/{lint-5JMCWE4Y.js.map → lint-OFVN7FT6.js.map} +0 -0
- /package/dist/{recap-VOOUXOGP.js.map → recap-ZKGHZCX6.js.map} +0 -0
- /package/dist/{shell-SBLXVOVJ.js.map → shell-2NNSIU34.js.map} +0 -0
- /package/dist/{test-3KIVXI6J.js.map → test-QZDOEUIO.js.map} +0 -0
- /package/dist/{test-git-ZB6AGGRW.js.map → test-git-E2BLXR6M.js.map} +0 -0
- /package/dist/{test-prefix-FBGXKMPA.js.map → test-prefix-A7JGGYAA.js.map} +0 -0
package/dist/index.d.ts
CHANGED
|
@@ -287,6 +287,7 @@ declare const IloomSettingsSchema: z.ZodObject<{
|
|
|
287
287
|
model?: "opus" | "sonnet" | "haiku" | undefined;
|
|
288
288
|
}>>;
|
|
289
289
|
capabilities: z.ZodOptional<z.ZodObject<{
|
|
290
|
+
capabilities: z.ZodOptional<z.ZodArray<z.ZodEnum<["cli", "web"]>, "many">>;
|
|
290
291
|
web: z.ZodOptional<z.ZodObject<{
|
|
291
292
|
basePort: z.ZodOptional<z.ZodNumber>;
|
|
292
293
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -308,6 +309,7 @@ declare const IloomSettingsSchema: z.ZodObject<{
|
|
|
308
309
|
database?: {
|
|
309
310
|
databaseUrlEnvVarName: string;
|
|
310
311
|
} | undefined;
|
|
312
|
+
capabilities?: ("cli" | "web")[] | undefined;
|
|
311
313
|
}, {
|
|
312
314
|
web?: {
|
|
313
315
|
basePort?: number | undefined;
|
|
@@ -315,6 +317,7 @@ declare const IloomSettingsSchema: z.ZodObject<{
|
|
|
315
317
|
database?: {
|
|
316
318
|
databaseUrlEnvVarName?: string | undefined;
|
|
317
319
|
} | undefined;
|
|
320
|
+
capabilities?: ("cli" | "web")[] | undefined;
|
|
318
321
|
}>>;
|
|
319
322
|
databaseProviders: z.ZodOptional<z.ZodObject<{
|
|
320
323
|
neon: z.ZodOptional<z.ZodObject<{
|
|
@@ -412,6 +415,15 @@ declare const IloomSettingsSchema: z.ZodObject<{
|
|
|
412
415
|
}, "strip", z.ZodTypeAny, {
|
|
413
416
|
sourceEnvOnStart: boolean;
|
|
414
417
|
attribution: "off" | "upstreamOnly" | "on";
|
|
418
|
+
capabilities?: {
|
|
419
|
+
web?: {
|
|
420
|
+
basePort?: number | undefined;
|
|
421
|
+
} | undefined;
|
|
422
|
+
database?: {
|
|
423
|
+
databaseUrlEnvVarName: string;
|
|
424
|
+
} | undefined;
|
|
425
|
+
capabilities?: ("cli" | "web")[] | undefined;
|
|
426
|
+
} | undefined;
|
|
415
427
|
mainBranch?: string | undefined;
|
|
416
428
|
worktreePrefix?: string | undefined;
|
|
417
429
|
protectedBranches?: string[] | undefined;
|
|
@@ -454,14 +466,6 @@ declare const IloomSettingsSchema: z.ZodObject<{
|
|
|
454
466
|
summary?: {
|
|
455
467
|
model: "opus" | "sonnet" | "haiku";
|
|
456
468
|
} | undefined;
|
|
457
|
-
capabilities?: {
|
|
458
|
-
web?: {
|
|
459
|
-
basePort?: number | undefined;
|
|
460
|
-
} | undefined;
|
|
461
|
-
database?: {
|
|
462
|
-
databaseUrlEnvVarName: string;
|
|
463
|
-
} | undefined;
|
|
464
|
-
} | undefined;
|
|
465
469
|
databaseProviders?: {
|
|
466
470
|
neon?: {
|
|
467
471
|
projectId: string;
|
|
@@ -491,6 +495,15 @@ declare const IloomSettingsSchema: z.ZodObject<{
|
|
|
491
495
|
vscode: boolean;
|
|
492
496
|
} | undefined;
|
|
493
497
|
}, {
|
|
498
|
+
capabilities?: {
|
|
499
|
+
web?: {
|
|
500
|
+
basePort?: number | undefined;
|
|
501
|
+
} | undefined;
|
|
502
|
+
database?: {
|
|
503
|
+
databaseUrlEnvVarName?: string | undefined;
|
|
504
|
+
} | undefined;
|
|
505
|
+
capabilities?: ("cli" | "web")[] | undefined;
|
|
506
|
+
} | undefined;
|
|
494
507
|
mainBranch?: string | undefined;
|
|
495
508
|
sourceEnvOnStart?: boolean | undefined;
|
|
496
509
|
worktreePrefix?: string | undefined;
|
|
@@ -534,14 +547,6 @@ declare const IloomSettingsSchema: z.ZodObject<{
|
|
|
534
547
|
summary?: {
|
|
535
548
|
model?: "opus" | "sonnet" | "haiku" | undefined;
|
|
536
549
|
} | undefined;
|
|
537
|
-
capabilities?: {
|
|
538
|
-
web?: {
|
|
539
|
-
basePort?: number | undefined;
|
|
540
|
-
} | undefined;
|
|
541
|
-
database?: {
|
|
542
|
-
databaseUrlEnvVarName?: string | undefined;
|
|
543
|
-
} | undefined;
|
|
544
|
-
} | undefined;
|
|
545
550
|
databaseProviders?: {
|
|
546
551
|
neon?: {
|
|
547
552
|
projectId: string;
|
|
@@ -1195,6 +1200,8 @@ interface CleanupOptions {
|
|
|
1195
1200
|
dryRun?: boolean;
|
|
1196
1201
|
/** Output result as JSON */
|
|
1197
1202
|
json?: boolean;
|
|
1203
|
+
/** Wait specified milliseconds before cleanup execution */
|
|
1204
|
+
defer?: number;
|
|
1198
1205
|
}
|
|
1199
1206
|
interface ListOptions {
|
|
1200
1207
|
json?: boolean;
|
|
@@ -1282,9 +1289,12 @@ interface ValidationResult {
|
|
|
1282
1289
|
interface CommitOptions {
|
|
1283
1290
|
dryRun?: boolean;
|
|
1284
1291
|
issueNumber?: string | number;
|
|
1292
|
+
issuePrefix: string;
|
|
1285
1293
|
message?: string;
|
|
1286
1294
|
noReview?: boolean;
|
|
1287
1295
|
skipVerify?: boolean;
|
|
1296
|
+
skipVerifySilent?: boolean;
|
|
1297
|
+
trailerType?: 'Refs' | 'Fixes';
|
|
1288
1298
|
}
|
|
1289
1299
|
/**
|
|
1290
1300
|
* Error thrown when user aborts a commit operation
|
|
@@ -1437,6 +1447,7 @@ declare class EnvironmentManager {
|
|
|
1437
1447
|
* Implements:
|
|
1438
1448
|
* - Issue/PR: 3000 + issue/PR number
|
|
1439
1449
|
* - Branch: 3000 + deterministic hash offset (1-999)
|
|
1450
|
+
* Delegates to calculatePortFromIdentifier for the core calculation.
|
|
1440
1451
|
*/
|
|
1441
1452
|
calculatePort(options: PortAssignmentOptions): number;
|
|
1442
1453
|
/**
|
|
@@ -1561,16 +1572,9 @@ declare class PromptTemplateManager {
|
|
|
1561
1572
|
*/
|
|
1562
1573
|
loadTemplate(templateName: 'issue' | 'pr' | 'regular' | 'init' | 'session-summary'): Promise<string>;
|
|
1563
1574
|
/**
|
|
1564
|
-
* Substitute variables in a template string
|
|
1575
|
+
* Substitute variables in a template string using Handlebars
|
|
1565
1576
|
*/
|
|
1566
1577
|
substituteVariables(template: string, variables: TemplateVariables): string;
|
|
1567
|
-
/**
|
|
1568
|
-
* Process conditional sections in template
|
|
1569
|
-
* Format: {{#IF ONE_SHOT_MODE}}content{{/IF ONE_SHOT_MODE}}
|
|
1570
|
-
*
|
|
1571
|
-
* Note: /s flag allows . to match newlines
|
|
1572
|
-
*/
|
|
1573
|
-
private processConditionalSections;
|
|
1574
1578
|
/**
|
|
1575
1579
|
* Get a fully processed prompt for a workflow type
|
|
1576
1580
|
*/
|
|
@@ -1653,6 +1657,7 @@ interface WriteMetadataInput {
|
|
|
1653
1657
|
issueUrls: Record<string, string>;
|
|
1654
1658
|
prUrls: Record<string, string>;
|
|
1655
1659
|
draftPrNumber?: number;
|
|
1660
|
+
capabilities: ProjectCapability[];
|
|
1656
1661
|
parentLoom?: {
|
|
1657
1662
|
type: 'issue' | 'pr' | 'branch';
|
|
1658
1663
|
identifier: string | number;
|
|
@@ -1665,6 +1670,8 @@ interface WriteMetadataInput {
|
|
|
1665
1670
|
* Result of reading metadata for a worktree
|
|
1666
1671
|
*/
|
|
1667
1672
|
interface LoomMetadata {
|
|
1673
|
+
status?: 'active' | 'finished';
|
|
1674
|
+
finishedAt?: string | null;
|
|
1668
1675
|
description: string;
|
|
1669
1676
|
created_at: string | null;
|
|
1670
1677
|
branchName: string | null;
|
|
@@ -1679,6 +1686,7 @@ interface LoomMetadata {
|
|
|
1679
1686
|
issueUrls: Record<string, string>;
|
|
1680
1687
|
prUrls: Record<string, string>;
|
|
1681
1688
|
draftPrNumber: number | null;
|
|
1689
|
+
capabilities: ProjectCapability[];
|
|
1682
1690
|
parentLoom: {
|
|
1683
1691
|
type: 'issue' | 'pr' | 'branch';
|
|
1684
1692
|
identifier: string | number;
|
|
@@ -1700,7 +1708,12 @@ interface LoomMetadata {
|
|
|
1700
1708
|
*/
|
|
1701
1709
|
declare class MetadataManager {
|
|
1702
1710
|
private readonly loomsDir;
|
|
1711
|
+
private readonly finishedDir;
|
|
1703
1712
|
constructor();
|
|
1713
|
+
/**
|
|
1714
|
+
* Convert MetadataFile to LoomMetadata with default values for optional fields
|
|
1715
|
+
*/
|
|
1716
|
+
private toMetadata;
|
|
1704
1717
|
/**
|
|
1705
1718
|
* Convert worktree path to filename slug per spec section 2.2
|
|
1706
1719
|
*
|
|
@@ -1757,11 +1770,42 @@ declare class MetadataManager {
|
|
|
1757
1770
|
* @param worktreePath - Absolute path to the worktree
|
|
1758
1771
|
*/
|
|
1759
1772
|
deleteMetadata(worktreePath: string): Promise<void>;
|
|
1773
|
+
/**
|
|
1774
|
+
* Archive metadata for a finished worktree
|
|
1775
|
+
*
|
|
1776
|
+
* Moves the metadata file to the finished/ subdirectory and adds
|
|
1777
|
+
* status: 'finished' and finishedAt timestamp fields.
|
|
1778
|
+
*
|
|
1779
|
+
* Idempotent: silently succeeds if source file doesn't exist
|
|
1780
|
+
* Non-fatal: logs warning on errors but doesn't throw
|
|
1781
|
+
*
|
|
1782
|
+
* @param worktreePath - Absolute path to the worktree
|
|
1783
|
+
*/
|
|
1784
|
+
archiveMetadata(worktreePath: string): Promise<void>;
|
|
1785
|
+
/**
|
|
1786
|
+
* List all finished loom metadata files
|
|
1787
|
+
*
|
|
1788
|
+
* Returns an array of LoomMetadata objects for all finished looms
|
|
1789
|
+
* in the finished/ subdirectory, sorted by finishedAt in descending order
|
|
1790
|
+
* (most recently finished first).
|
|
1791
|
+
*
|
|
1792
|
+
* @returns Array of LoomMetadata objects from finished files, sorted by finishedAt desc
|
|
1793
|
+
*/
|
|
1794
|
+
listFinishedMetadata(): Promise<LoomMetadata[]>;
|
|
1760
1795
|
}
|
|
1761
1796
|
|
|
1797
|
+
/**
|
|
1798
|
+
* Custom error class for Git command failures
|
|
1799
|
+
* Preserves exit code and stderr for precise error handling
|
|
1800
|
+
*/
|
|
1801
|
+
declare class GitCommandError extends Error {
|
|
1802
|
+
readonly exitCode: number | undefined;
|
|
1803
|
+
readonly stderr: string;
|
|
1804
|
+
constructor(message: string, exitCode: number | undefined, stderr: string);
|
|
1805
|
+
}
|
|
1762
1806
|
/**
|
|
1763
1807
|
* Execute a Git command and return the stdout result
|
|
1764
|
-
* Throws
|
|
1808
|
+
* Throws a GitCommandError if the command fails
|
|
1765
1809
|
*/
|
|
1766
1810
|
declare function executeGitCommand(args: string[], options?: {
|
|
1767
1811
|
cwd?: string;
|
|
@@ -2001,7 +2045,7 @@ declare function getMergeTargetBranch(worktreePath?: string, options?: {
|
|
|
2001
2045
|
* Created during il start to enable draft PR creation (GitHub requires at least one commit ahead of base).
|
|
2002
2046
|
* Removed during il finish before the final push to maintain clean commit history.
|
|
2003
2047
|
*/
|
|
2004
|
-
declare const PLACEHOLDER_COMMIT_PREFIX = "[iloom
|
|
2048
|
+
declare const PLACEHOLDER_COMMIT_PREFIX = "[iloom]";
|
|
2005
2049
|
/**
|
|
2006
2050
|
* Check if HEAD commit is a placeholder commit
|
|
2007
2051
|
* @param cwd - Working directory (defaults to process.cwd())
|
|
@@ -2223,4 +2267,4 @@ declare class TableFormatter {
|
|
|
2223
2267
|
static previewFormatting(headers: string[], options?: TableFormatterOptions): string;
|
|
2224
2268
|
}
|
|
2225
2269
|
|
|
2226
|
-
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, 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, 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 };
|
|
2270
|
+
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, 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 };
|