@renseiai/agentfactory 0.8.9 → 0.8.10
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/README.md +2 -2
- package/dist/src/config/repository-config.d.ts +3 -0
- package/dist/src/config/repository-config.d.ts.map +1 -1
- package/dist/src/config/repository-config.js +13 -0
- package/dist/src/orchestrator/index.d.ts +1 -1
- package/dist/src/orchestrator/index.d.ts.map +1 -1
- package/dist/src/orchestrator/index.js +1 -1
- package/dist/src/orchestrator/orchestrator-utils.test.js +31 -1
- package/dist/src/orchestrator/orchestrator.d.ts +16 -2
- package/dist/src/orchestrator/orchestrator.d.ts.map +1 -1
- package/dist/src/orchestrator/orchestrator.js +46 -15
- package/dist/src/orchestrator/types.d.ts +1 -1
- package/dist/src/orchestrator/types.d.ts.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -17,7 +17,7 @@ import { createOrchestrator } from '@renseiai/agentfactory'
|
|
|
17
17
|
|
|
18
18
|
const orchestrator = createOrchestrator({
|
|
19
19
|
maxConcurrent: 3,
|
|
20
|
-
|
|
20
|
+
// Default: '../{repoName}.wt/' (sibling directory)
|
|
21
21
|
})
|
|
22
22
|
|
|
23
23
|
// Process a single issue
|
|
@@ -67,7 +67,7 @@ const orchestrator = createOrchestrator({
|
|
|
67
67
|
provider: myProvider, // Agent provider instance
|
|
68
68
|
maxConcurrent: 3, // Max concurrent agents
|
|
69
69
|
project: 'MyProject', // Filter by project
|
|
70
|
-
worktreePath
|
|
70
|
+
// worktreePath defaults to '../{repoName}.wt/' (sibling directory)
|
|
71
71
|
inactivityTimeoutMs: 300_000, // 5 min idle timeout
|
|
72
72
|
maxSessionTimeoutMs: 7_200_000, // 2 hour hard cap
|
|
73
73
|
workTypeTimeouts: {
|
|
@@ -128,6 +128,9 @@ export declare const RepositoryConfigSchema: z.ZodObject<{
|
|
|
128
128
|
autoMerge: z.ZodDefault<z.ZodBoolean>;
|
|
129
129
|
requiredChecks: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
130
130
|
}, z.core.$strip>>;
|
|
131
|
+
worktree: z.ZodOptional<z.ZodObject<{
|
|
132
|
+
directory: z.ZodDefault<z.ZodString>;
|
|
133
|
+
}, z.core.$strip>>;
|
|
131
134
|
mergeDriver: z.ZodOptional<z.ZodEnum<{
|
|
132
135
|
default: "default";
|
|
133
136
|
mergiraf: "mergiraf";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repository-config.d.ts","sourceRoot":"","sources":["../../../src/config/repository-config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAMxD,qEAAqE;AACrE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;iBAW9B,CAAA;AAEF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAW/D,uCAAuC;AACvC,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;iBAOhC,CAAA;AAEF,6DAA6D;AAC7D,eAAO,MAAM,0BAA0B;;;;;;;iBAarC,CAAA;AAEF,eAAO,MAAM,sBAAsB
|
|
1
|
+
{"version":3,"file":"repository-config.d.ts","sourceRoot":"","sources":["../../../src/config/repository-config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAMxD,qEAAqE;AACrE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;iBAW9B,CAAA;AAEF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAW/D,uCAAuC;AACvC,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;iBAOhC,CAAA;AAEF,6DAA6D;AAC7D,eAAO,MAAM,0BAA0B;;;;;;;iBAarC,CAAA;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAyFlC,CAAA;AAMD,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAMrE;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,EAAE,GAAG,SAAS,CAK1F;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAepG;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKhG;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,GAAG,eAAe,GAAG,SAAS,CAExF;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,aAAa,GAAG,SAAS,CAEpF;AAMD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAQ7E"}
|
|
@@ -124,6 +124,19 @@ export const RepositoryConfigSchema = z.object({
|
|
|
124
124
|
/** Required CI checks that must pass before merge (provider-specific) */
|
|
125
125
|
requiredChecks: z.array(z.string()).optional(),
|
|
126
126
|
}).optional(),
|
|
127
|
+
/**
|
|
128
|
+
* Worktree configuration.
|
|
129
|
+
* Controls where git worktrees are created and how paths are resolved.
|
|
130
|
+
*/
|
|
131
|
+
worktree: z.object({
|
|
132
|
+
/**
|
|
133
|
+
* Base directory template for git worktrees.
|
|
134
|
+
* Supports template variables: {repoName} (repo directory basename), {branch} (worktree branch name).
|
|
135
|
+
* Default: '../{repoName}.wt' (sibling directory, outside repo to avoid VSCode file watcher crashes).
|
|
136
|
+
* Legacy: '.worktrees' (inside repo, causes VSCode crashes with many worktrees).
|
|
137
|
+
*/
|
|
138
|
+
directory: z.string().default('../{repoName}.wt'),
|
|
139
|
+
}).optional(),
|
|
127
140
|
/**
|
|
128
141
|
* Git merge driver to use in agent worktrees.
|
|
129
142
|
* 'mergiraf' enables syntax-aware merging for supported file types.
|
|
@@ -11,7 +11,7 @@ export { SUMMARY_SCHEMA_VERSION } from './state-types.js';
|
|
|
11
11
|
export type { LogAnalysisConfig } from './log-config.js';
|
|
12
12
|
export type { SessionEventType, SessionEvent, SessionMetadata, SessionLoggerConfig, } from './session-logger.js';
|
|
13
13
|
export type { PatternType, PatternSeverity, AnalyzedPattern, AnalysisResult, SuggestedIssue, TrackedIssue, DeduplicationStore, } from './log-analyzer.js';
|
|
14
|
-
export { AgentOrchestrator, createOrchestrator, getWorktreeIdentifier, validateGitRemote } from './orchestrator.js';
|
|
14
|
+
export { AgentOrchestrator, createOrchestrator, getWorktreeIdentifier, validateGitRemote, resolveWorktreePath } from './orchestrator.js';
|
|
15
15
|
export { ClaudeStreamParser, createStreamParser } from './stream-parser.js';
|
|
16
16
|
export { ActivityEmitter, createActivityEmitter } from './activity-emitter.js';
|
|
17
17
|
export { ApiActivityEmitter, createApiActivityEmitter } from './api-activity-emitter.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/orchestrator/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAClH,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAGzD,YAAY,EACV,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,EACb,YAAY,GACb,MAAM,2BAA2B,CAAA;AAGlC,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGrD,YAAY,EACV,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,wBAAwB,EACxB,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,2BAA2B,EAC3B,qBAAqB,EACrB,eAAe,GAChB,MAAM,YAAY,CAAA;AAGnB,YAAY,EACV,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,WAAW,EACX,oBAAoB,GACrB,MAAM,oBAAoB,CAAA;AAG3B,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAGlE,YAAY,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAG5F,YAAY,EACV,aAAa,EACb,cAAc,EACd,cAAc,EACd,qBAAqB,EACrB,UAAU,EACV,QAAQ,EACR,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,UAAU,EACV,gBAAgB,EAChB,QAAQ,EACR,iBAAiB,GAClB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AAGzD,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAGxD,YAAY,EACV,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,mBAAmB,GACpB,MAAM,qBAAqB,CAAA;AAG5B,YAAY,EACV,WAAW,EACX,eAAe,EACf,eAAe,EACf,cAAc,EACd,cAAc,EACd,YAAY,EACZ,kBAAkB,GACnB,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/orchestrator/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { ENVIRONMENT_ISSUE_TYPES } from './work-types.js';
|
|
2
2
|
export { SUMMARY_SCHEMA_VERSION } from './state-types.js';
|
|
3
3
|
// Orchestrator
|
|
4
|
-
export { AgentOrchestrator, createOrchestrator, getWorktreeIdentifier, validateGitRemote } from './orchestrator.js';
|
|
4
|
+
export { AgentOrchestrator, createOrchestrator, getWorktreeIdentifier, validateGitRemote, resolveWorktreePath } from './orchestrator.js';
|
|
5
5
|
// Stream Parser
|
|
6
6
|
export { ClaudeStreamParser, createStreamParser } from './stream-parser.js';
|
|
7
7
|
// Activity Emitter
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { describe, it, expect } from 'vitest';
|
|
2
|
-
import { getWorktreeIdentifier } from './orchestrator.js';
|
|
2
|
+
import { getWorktreeIdentifier, resolveWorktreePath } from './orchestrator.js';
|
|
3
3
|
describe('getWorktreeIdentifier', () => {
|
|
4
4
|
it('returns identifier with DEV suffix for development', () => {
|
|
5
5
|
expect(getWorktreeIdentifier('SUP-123', 'development')).toBe('SUP-123-DEV');
|
|
@@ -42,3 +42,33 @@ describe('getWorktreeIdentifier', () => {
|
|
|
42
42
|
expect(getWorktreeIdentifier('AB-99999', 'qa')).toBe('AB-99999-QA');
|
|
43
43
|
});
|
|
44
44
|
});
|
|
45
|
+
describe('resolveWorktreePath', () => {
|
|
46
|
+
it('resolves {repoName} template variable', () => {
|
|
47
|
+
const result = resolveWorktreePath('../{repoName}.wt', '/home/user/my-project');
|
|
48
|
+
expect(result).toBe('/home/user/my-project.wt');
|
|
49
|
+
});
|
|
50
|
+
it('resolves {branch} template variable', () => {
|
|
51
|
+
const result = resolveWorktreePath('../{repoName}.wt/{branch}', '/home/user/my-project', 'SUP-123');
|
|
52
|
+
expect(result).toBe('/home/user/my-project.wt/SUP-123');
|
|
53
|
+
});
|
|
54
|
+
it('resolves relative paths against gitRoot', () => {
|
|
55
|
+
const result = resolveWorktreePath('.worktrees', '/home/user/my-project');
|
|
56
|
+
expect(result).toBe('/home/user/my-project/.worktrees');
|
|
57
|
+
});
|
|
58
|
+
it('handles absolute paths unchanged', () => {
|
|
59
|
+
const result = resolveWorktreePath('/custom/path', '/home/user/my-project');
|
|
60
|
+
expect(result).toBe('/custom/path');
|
|
61
|
+
});
|
|
62
|
+
it('resolves multiple {repoName} occurrences', () => {
|
|
63
|
+
const result = resolveWorktreePath('../{repoName}-worktrees/{repoName}', '/home/user/platform');
|
|
64
|
+
expect(result).toBe('/home/user/platform-worktrees/platform');
|
|
65
|
+
});
|
|
66
|
+
it('handles repo names with special characters', () => {
|
|
67
|
+
const result = resolveWorktreePath('../{repoName}.wt', '/home/user/my-cool.project');
|
|
68
|
+
expect(result).toBe('/home/user/my-cool.project.wt');
|
|
69
|
+
});
|
|
70
|
+
it('does not replace {branch} when branch is not provided', () => {
|
|
71
|
+
const result = resolveWorktreePath('../{repoName}.wt/{branch}', '/home/user/repo');
|
|
72
|
+
expect(result).toBe('/home/user/repo.wt/{branch}');
|
|
73
|
+
});
|
|
74
|
+
});
|
|
@@ -14,6 +14,20 @@ import type { OrchestratorConfig, OrchestratorIssue, AgentProcess, OrchestratorE
|
|
|
14
14
|
* @throws Error if the git remote does not match the expected repository
|
|
15
15
|
*/
|
|
16
16
|
export declare function validateGitRemote(expectedRepo: string, cwd?: string): void;
|
|
17
|
+
/**
|
|
18
|
+
* Resolve a worktree path template into an absolute path.
|
|
19
|
+
*
|
|
20
|
+
* Supports template variables:
|
|
21
|
+
* - `{repoName}` → basename of the git repo root directory
|
|
22
|
+
* - `{branch}` → the worktree branch/identifier name
|
|
23
|
+
*
|
|
24
|
+
* Relative paths are resolved against the git repo root.
|
|
25
|
+
*
|
|
26
|
+
* Examples:
|
|
27
|
+
* '../{repoName}.wt' + branch 'SUP-123' → '/path/to/repoName.wt/SUP-123'
|
|
28
|
+
* '.worktrees' + branch 'SUP-123' → '/path/to/repo/.worktrees/SUP-123'
|
|
29
|
+
*/
|
|
30
|
+
export declare function resolveWorktreePath(template: string, gitRoot: string, branch?: string): string;
|
|
17
31
|
/**
|
|
18
32
|
* Generate a worktree identifier that includes the work type suffix
|
|
19
33
|
*
|
|
@@ -128,7 +142,7 @@ export declare class AgentOrchestrator {
|
|
|
128
142
|
*/
|
|
129
143
|
private isMainWorktree;
|
|
130
144
|
/**
|
|
131
|
-
* Check if a path is inside the configured
|
|
145
|
+
* Check if a path is inside the configured worktrees directory.
|
|
132
146
|
*
|
|
133
147
|
* Only paths within the worktrees directory should ever be candidates for
|
|
134
148
|
* automated cleanup. This prevents the main repo or other directories from
|
|
@@ -145,7 +159,7 @@ export declare class AgentOrchestrator {
|
|
|
145
159
|
* so the new work type can proceed.
|
|
146
160
|
*
|
|
147
161
|
* SAFETY: This method will NEVER clean up the main working tree. It only
|
|
148
|
-
* operates on paths inside the
|
|
162
|
+
* operates on paths inside the configured worktrees directory. This prevents
|
|
149
163
|
* catastrophic data loss when a branch is checked out in the main tree
|
|
150
164
|
* (e.g., by a user in their IDE).
|
|
151
165
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../../src/orchestrator/orchestrator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAmCH,OAAO,KAAK,EAAE,aAAa,EAA0B,MAAM,iBAAiB,CAAA;AAa5E,OAAO,KAAK,EACV,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAElB,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,2BAA2B,EAC5B,MAAM,YAAY,CAAA;AAmBnB;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CA6B1E;
|
|
1
|
+
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../../src/orchestrator/orchestrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
import { randomUUID } from 'crypto';
|
|
7
7
|
import { execSync } from 'child_process';
|
|
8
8
|
import { existsSync, lstatSync, mkdirSync, readFileSync, readdirSync, rmSync, statSync, symlinkSync, unlinkSync, writeFileSync } from 'fs';
|
|
9
|
-
import { resolve, dirname } from 'path';
|
|
9
|
+
import { resolve, dirname, basename } from 'path';
|
|
10
10
|
import { parse as parseDotenv } from 'dotenv';
|
|
11
11
|
import { createProvider, resolveProviderName, resolveProviderWithSource, } from '../providers/index.js';
|
|
12
12
|
import { initializeAgentDir, writeState, updateState, writeTodos, createInitialState, checkRecovery, buildRecoveryPrompt, getHeartbeatTimeoutFromEnv, getMaxRecoveryAttemptsFromEnv, } from './state-recovery.js';
|
|
@@ -72,7 +72,7 @@ export function validateGitRemote(expectedRepo, cwd) {
|
|
|
72
72
|
}
|
|
73
73
|
const DEFAULT_CONFIG = {
|
|
74
74
|
maxConcurrent: 3,
|
|
75
|
-
worktreePath: '.
|
|
75
|
+
worktreePath: '../{repoName}.wt',
|
|
76
76
|
autoTransition: true,
|
|
77
77
|
// Preserve worktree when PR creation fails to prevent data loss
|
|
78
78
|
preserveWorkOnPrFailure: true,
|
|
@@ -160,6 +160,27 @@ function findRepoRoot(startDir) {
|
|
|
160
160
|
}
|
|
161
161
|
return null;
|
|
162
162
|
}
|
|
163
|
+
/**
|
|
164
|
+
* Resolve a worktree path template into an absolute path.
|
|
165
|
+
*
|
|
166
|
+
* Supports template variables:
|
|
167
|
+
* - `{repoName}` → basename of the git repo root directory
|
|
168
|
+
* - `{branch}` → the worktree branch/identifier name
|
|
169
|
+
*
|
|
170
|
+
* Relative paths are resolved against the git repo root.
|
|
171
|
+
*
|
|
172
|
+
* Examples:
|
|
173
|
+
* '../{repoName}.wt' + branch 'SUP-123' → '/path/to/repoName.wt/SUP-123'
|
|
174
|
+
* '.worktrees' + branch 'SUP-123' → '/path/to/repo/.worktrees/SUP-123'
|
|
175
|
+
*/
|
|
176
|
+
export function resolveWorktreePath(template, gitRoot, branch) {
|
|
177
|
+
const repoName = basename(gitRoot);
|
|
178
|
+
let resolved = template.replace(/\{repoName\}/g, repoName);
|
|
179
|
+
if (branch !== undefined) {
|
|
180
|
+
resolved = resolved.replace(/\{branch\}/g, branch);
|
|
181
|
+
}
|
|
182
|
+
return resolve(gitRoot, resolved);
|
|
183
|
+
}
|
|
163
184
|
/**
|
|
164
185
|
* Load environment variables from app .env files based on work type
|
|
165
186
|
*
|
|
@@ -170,7 +191,7 @@ function findRepoRoot(startDir) {
|
|
|
170
191
|
* and other environment variables that are gitignored.
|
|
171
192
|
*/
|
|
172
193
|
function loadAppEnvFiles(workDir, workType, log) {
|
|
173
|
-
// Find the repo root (worktrees
|
|
194
|
+
// Find the repo root (worktrees may be in a sibling directory or inside the repo)
|
|
174
195
|
const repoRoot = findRepoRoot(workDir);
|
|
175
196
|
if (!repoRoot) {
|
|
176
197
|
log?.warn('Could not find repo root for env file loading', { startDir: workDir });
|
|
@@ -872,8 +893,8 @@ export class AgentOrchestrator {
|
|
|
872
893
|
inactivityTimeoutMs: config.inactivityTimeoutMs ?? envInactivityTimeout ?? DEFAULT_CONFIG.inactivityTimeoutMs,
|
|
873
894
|
maxSessionTimeoutMs: config.maxSessionTimeoutMs ?? envMaxSessionTimeout ?? DEFAULT_CONFIG.maxSessionTimeoutMs,
|
|
874
895
|
};
|
|
875
|
-
// Resolve git root from
|
|
876
|
-
this.gitRoot = findRepoRoot(
|
|
896
|
+
// Resolve git root from cwd (worktreePath may be a sibling directory outside the repo)
|
|
897
|
+
this.gitRoot = findRepoRoot(process.cwd()) ?? process.cwd();
|
|
877
898
|
// Validate git remote matches configured repository (if set)
|
|
878
899
|
if (this.config.repository) {
|
|
879
900
|
validateGitRemote(this.config.repository, this.gitRoot);
|
|
@@ -950,6 +971,10 @@ export class AgentOrchestrator {
|
|
|
950
971
|
if (repoConfig.validateCommand) {
|
|
951
972
|
this.validateCommand = repoConfig.validateCommand;
|
|
952
973
|
}
|
|
974
|
+
// Apply worktree.directory from repo config if worktreePath was not explicitly set
|
|
975
|
+
if (repoConfig.worktree?.directory && !config.worktreePath) {
|
|
976
|
+
this.config.worktreePath = repoConfig.worktree.directory;
|
|
977
|
+
}
|
|
953
978
|
// Store providers config for per-spawn resolution
|
|
954
979
|
this.configProviders = getProvidersConfig(repoConfig);
|
|
955
980
|
// Initialize merge queue adapter from repository config
|
|
@@ -968,6 +993,12 @@ export class AgentOrchestrator {
|
|
|
968
993
|
catch (err) {
|
|
969
994
|
console.warn('[orchestrator] Failed to load .agentfactory/config.yaml:', err instanceof Error ? err.message : err);
|
|
970
995
|
}
|
|
996
|
+
// Warn if legacy .worktrees/ directory exists inside the repo
|
|
997
|
+
const legacyWorktreePath = resolve(this.gitRoot, '.worktrees');
|
|
998
|
+
if (existsSync(legacyWorktreePath)) {
|
|
999
|
+
console.warn('[orchestrator] Legacy .worktrees/ directory detected inside the repo. ' +
|
|
1000
|
+
'Run "af-migrate-worktrees" to move worktrees to the new sibling directory.');
|
|
1001
|
+
}
|
|
971
1002
|
// Accept merge queue adapter passed directly via config (takes precedence over repo config)
|
|
972
1003
|
if (config.mergeQueueAdapter) {
|
|
973
1004
|
this.mergeQueueAdapter = config.mergeQueueAdapter;
|
|
@@ -1203,16 +1234,16 @@ export class AgentOrchestrator {
|
|
|
1203
1234
|
return false;
|
|
1204
1235
|
}
|
|
1205
1236
|
/**
|
|
1206
|
-
* Check if a path is inside the configured
|
|
1237
|
+
* Check if a path is inside the configured worktrees directory.
|
|
1207
1238
|
*
|
|
1208
1239
|
* Only paths within the worktrees directory should ever be candidates for
|
|
1209
1240
|
* automated cleanup. This prevents the main repo or other directories from
|
|
1210
1241
|
* being targeted.
|
|
1211
1242
|
*/
|
|
1212
1243
|
isInsideWorktreesDir(targetPath) {
|
|
1213
|
-
const worktreesDir =
|
|
1244
|
+
const worktreesDir = resolveWorktreePath(this.config.worktreePath, this.gitRoot);
|
|
1214
1245
|
const normalizedTarget = resolve(targetPath);
|
|
1215
|
-
// Must be inside
|
|
1246
|
+
// Must be inside the worktrees directory (not equal to it)
|
|
1216
1247
|
return normalizedTarget.startsWith(worktreesDir + '/');
|
|
1217
1248
|
}
|
|
1218
1249
|
/**
|
|
@@ -1225,7 +1256,7 @@ export class AgentOrchestrator {
|
|
|
1225
1256
|
* so the new work type can proceed.
|
|
1226
1257
|
*
|
|
1227
1258
|
* SAFETY: This method will NEVER clean up the main working tree. It only
|
|
1228
|
-
* operates on paths inside the
|
|
1259
|
+
* operates on paths inside the configured worktrees directory. This prevents
|
|
1229
1260
|
* catastrophic data loss when a branch is checked out in the main tree
|
|
1230
1261
|
* (e.g., by a user in their IDE).
|
|
1231
1262
|
*
|
|
@@ -1239,10 +1270,10 @@ export class AgentOrchestrator {
|
|
|
1239
1270
|
`The agent will retry or skip this issue.`);
|
|
1240
1271
|
return false;
|
|
1241
1272
|
}
|
|
1242
|
-
// SAFETY GUARD 2: Only clean up paths inside
|
|
1273
|
+
// SAFETY GUARD 2: Only clean up paths inside worktrees directory
|
|
1243
1274
|
if (!this.isInsideWorktreesDir(conflictPath)) {
|
|
1244
1275
|
console.warn(`SAFETY: Refusing to clean up ${conflictPath} \u2014 it is not inside the worktrees directory. ` +
|
|
1245
|
-
`Only paths inside '${
|
|
1276
|
+
`Only paths inside '${resolveWorktreePath(this.config.worktreePath, this.gitRoot)}' can be auto-cleaned.`);
|
|
1246
1277
|
return false;
|
|
1247
1278
|
}
|
|
1248
1279
|
if (!existsSync(conflictPath)) {
|
|
@@ -1270,7 +1301,7 @@ export class AgentOrchestrator {
|
|
|
1270
1301
|
if (incompleteCheck.hasIncompleteWork) {
|
|
1271
1302
|
// Save a patch before removing so work can be recovered
|
|
1272
1303
|
try {
|
|
1273
|
-
const patchDir = resolve(this.config.worktreePath, '.patches');
|
|
1304
|
+
const patchDir = resolve(resolveWorktreePath(this.config.worktreePath, this.gitRoot), '.patches');
|
|
1274
1305
|
if (!existsSync(patchDir)) {
|
|
1275
1306
|
mkdirSync(patchDir, { recursive: true });
|
|
1276
1307
|
}
|
|
@@ -1369,11 +1400,11 @@ export class AgentOrchestrator {
|
|
|
1369
1400
|
*/
|
|
1370
1401
|
createWorktree(issueIdentifier, workType) {
|
|
1371
1402
|
const worktreeIdentifier = getWorktreeIdentifier(issueIdentifier, workType);
|
|
1372
|
-
const worktreePath = resolve(this.config.worktreePath, worktreeIdentifier);
|
|
1403
|
+
const worktreePath = resolve(resolveWorktreePath(this.config.worktreePath, this.gitRoot), worktreeIdentifier);
|
|
1373
1404
|
// Use issue identifier for branch name (shared across work types)
|
|
1374
1405
|
const branchName = issueIdentifier;
|
|
1375
1406
|
// Ensure parent directory exists
|
|
1376
|
-
const parentDir =
|
|
1407
|
+
const parentDir = resolveWorktreePath(this.config.worktreePath, this.gitRoot);
|
|
1377
1408
|
if (!existsSync(parentDir)) {
|
|
1378
1409
|
mkdirSync(parentDir, { recursive: true });
|
|
1379
1410
|
}
|
|
@@ -1512,7 +1543,7 @@ export class AgentOrchestrator {
|
|
|
1512
1543
|
* @param worktreeIdentifier - Worktree identifier with work type suffix (e.g., "SUP-294-QA")
|
|
1513
1544
|
*/
|
|
1514
1545
|
removeWorktree(worktreeIdentifier) {
|
|
1515
|
-
const worktreePath = resolve(this.config.worktreePath, worktreeIdentifier);
|
|
1546
|
+
const worktreePath = resolve(resolveWorktreePath(this.config.worktreePath, this.gitRoot), worktreeIdentifier);
|
|
1516
1547
|
if (existsSync(worktreePath)) {
|
|
1517
1548
|
try {
|
|
1518
1549
|
execSync(`git worktree remove "${worktreePath}" --force`, {
|
|
@@ -26,7 +26,7 @@ export interface OrchestratorConfig {
|
|
|
26
26
|
maxConcurrent?: number;
|
|
27
27
|
/** Project name to filter backlog issues */
|
|
28
28
|
project?: string;
|
|
29
|
-
/** Base path for git worktrees (default: .
|
|
29
|
+
/** Base path template for git worktrees. Supports {repoName} and {branch} variables (default: '../{repoName}.wt') */
|
|
30
30
|
worktreePath?: string;
|
|
31
31
|
/**
|
|
32
32
|
* Linear API key (defaults to LINEAR_API_KEY env var).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/orchestrator/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAC7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAEnD;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAA;AAE7D;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,4DAA4D;IAC5D,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,kEAAkE;IAClE,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC7B;AAED,MAAM,WAAW,kBAAkB;IACjC,sGAAsG;IACtG,QAAQ,CAAC,EAAE,aAAa,CAAA;IACxB,6CAA6C;IAC7C,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/orchestrator/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@renseiai/agentfactory",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.10",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Multi-agent fleet management for coding agents — orchestrator, providers, crash recovery",
|
|
6
6
|
"author": "Rensei AI (https://rensei.ai)",
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"@types/node": "^22.5.4",
|
|
56
56
|
"typescript": "^5.7.3",
|
|
57
57
|
"vitest": "^3.2.3",
|
|
58
|
-
"@renseiai/create-agentfactory-app": "0.8.
|
|
58
|
+
"@renseiai/create-agentfactory-app": "0.8.10"
|
|
59
59
|
},
|
|
60
60
|
"scripts": {
|
|
61
61
|
"build": "tsc",
|