@agentteams/cli 0.1.104 → 0.1.105
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/.eslintcache +1 -1
- package/dist/commands/worktree.d.ts +45 -1
- package/dist/commands/worktree.d.ts.map +1 -1
- package/dist/commands/worktree.js +138 -32
- package/dist/commands/worktree.js.map +1 -1
- package/dist/program/worktree.d.ts.map +1 -1
- package/dist/program/worktree.js +18 -1
- package/dist/program/worktree.js.map +1 -1
- package/dist/utils/git.d.ts +1 -1
- package/dist/utils/git.d.ts.map +1 -1
- package/dist/utils/git.js +2 -2
- package/dist/utils/git.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,22 @@
|
|
|
1
1
|
import { spawn } from 'node:child_process';
|
|
2
2
|
import { type WorktreeLifecycleEvent } from '../api/worktree.js';
|
|
3
3
|
export declare const computeWorktreeLocalKey: (worktreePath: string) => string;
|
|
4
|
-
|
|
4
|
+
/** worktree lifecycle을 알려 온 호스트. eventId prefix로 남아 이벤트 출처를 구분한다. */
|
|
5
|
+
export type WorktreeEventHost = 'orca' | 'herdr';
|
|
6
|
+
export declare const createDefaultWorktreeEventId: (event: WorktreeLifecycleEvent["event"], host?: WorktreeEventHost) => string;
|
|
7
|
+
export type HerdrWorktreeEvent = {
|
|
8
|
+
worktreePath: string;
|
|
9
|
+
branch: string | null;
|
|
10
|
+
repoRoot: string | null;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* herdr plugin event hook이 주입하는 payload에서 worktree identity를 뽑는다.
|
|
14
|
+
*
|
|
15
|
+
* 훅의 cwd는 플러그인 루트라 Git 조회 기준으로 쓸 수 없고, 삭제 훅 시점에는 worktree 경로가
|
|
16
|
+
* 이미 사라져 있다. 따라서 경로·브랜치·저장소 루트를 모두 이벤트 payload에서 읽는다.
|
|
17
|
+
* 확인 기준: herdr 0.8.0 (`docs/fixtures/herdr-worktree-hooks/captured-contract.json`).
|
|
18
|
+
*/
|
|
19
|
+
export declare const parseHerdrWorktreeEvent: (env: NodeJS.ProcessEnv, expected: WorktreeLifecycleEvent["event"]) => HerdrWorktreeEvent;
|
|
5
20
|
export declare const waitForPathRemoval: (worktreePath: string, options?: {
|
|
6
21
|
intervalMs?: number;
|
|
7
22
|
timeoutMs?: number;
|
|
@@ -14,6 +29,35 @@ type ScheduleDeletedEventDeps = {
|
|
|
14
29
|
env?: NodeJS.ProcessEnv;
|
|
15
30
|
};
|
|
16
31
|
export declare const scheduleDeletedEventAfterRemoval: (worktreePath: string, stableCwd: string, event: WorktreeLifecycleEvent, deps?: ScheduleDeletedEventDeps) => void;
|
|
32
|
+
type WorktreeIdentity = {
|
|
33
|
+
host: WorktreeEventHost;
|
|
34
|
+
/** localKey 계산 기준이 되는 worktree 경로 */
|
|
35
|
+
worktreePath: string;
|
|
36
|
+
/** 삭제 지연 전달 프로세스가 머무를, worktree 소멸과 무관한 디렉터리 */
|
|
37
|
+
stableCwd: string;
|
|
38
|
+
remoteUrl?: string;
|
|
39
|
+
branch: string | null;
|
|
40
|
+
headSha: string | null;
|
|
41
|
+
};
|
|
42
|
+
/** identity 계산이 쓰는 Git 조회. 배선(어느 디렉터리를 기준으로 무엇을 읽는지)을 테스트에서 주입해 확인한다. */
|
|
43
|
+
export type WorktreeGitReader = {
|
|
44
|
+
resolveTopLevel: (cwd: string) => string | null;
|
|
45
|
+
resolveMainRoot: (cwd: string) => string | null;
|
|
46
|
+
readRemoteOriginUrl: (cwd: string) => string | undefined;
|
|
47
|
+
readGitValue: (args: string[], cwd: string) => string | undefined;
|
|
48
|
+
};
|
|
49
|
+
/** Orca hook 등 worktree 안에서 실행되는 호출자: 현재 디렉터리에서 identity를 계산한다. */
|
|
50
|
+
export declare const resolveCwdIdentity: (cwd: string, git?: WorktreeGitReader) => WorktreeIdentity;
|
|
51
|
+
/** herdr plugin event hook: cwd가 플러그인 루트이므로 identity를 이벤트 payload에서 가져온다. */
|
|
52
|
+
export declare const resolveHerdrIdentity: (herdrEvent: HerdrWorktreeEvent, event: WorktreeLifecycleEvent["event"], git?: WorktreeGitReader) => WorktreeIdentity;
|
|
53
|
+
/**
|
|
54
|
+
* identity와 커맨드 옵션에서 서버로 보낼 lifecycle payload를 조립한다.
|
|
55
|
+
*
|
|
56
|
+
* 서버는 `repositoryId` 또는 `remoteUrl` 중 하나로만 저장소를 찾는다(둘 다 없으면
|
|
57
|
+
* `WORKTREE_REPOSITORY_NOT_FOUND`). 그 상태로 전송하면 훅 로그에 서버 에러 문자열만 남아
|
|
58
|
+
* 원인(저장소 루트를 읽지 못했다)을 알 수 없으므로 전송 전에 여기서 끊는다.
|
|
59
|
+
*/
|
|
60
|
+
export declare const buildWorktreeLifecyclePayload: (event: WorktreeLifecycleEvent["event"], identity: WorktreeIdentity, options: Record<string, unknown>) => WorktreeLifecycleEvent;
|
|
17
61
|
export declare function executeWorktreeCommand(action: string, options: Record<string, unknown>): Promise<unknown>;
|
|
18
62
|
export {};
|
|
19
63
|
//# sourceMappingURL=worktree.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worktree.d.ts","sourceRoot":"","sources":["../../src/commands/worktree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAKzD,OAAO,EAA8B,KAAK,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"worktree.d.ts","sourceRoot":"","sources":["../../src/commands/worktree.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { execFileSync, spawn } from 'node:child_process';
|
|
|
2
2
|
import { createHash, randomUUID } from 'node:crypto';
|
|
3
3
|
import { existsSync, readFileSync, realpathSync } from 'node:fs';
|
|
4
4
|
import { homedir } from 'node:os';
|
|
5
|
-
import { join, resolve } from 'node:path';
|
|
5
|
+
import { basename, dirname, join, resolve } from 'node:path';
|
|
6
6
|
import { sendWorktreeLifecycleEvent } from '../api/worktree.js';
|
|
7
7
|
import { getGitRemoteOriginUrl, resolveGitTopLevel, resolveMainCheckoutRoot } from '../utils/git.js';
|
|
8
8
|
const readDaemonConfig = () => {
|
|
@@ -19,17 +19,85 @@ const readDaemonConfig = () => {
|
|
|
19
19
|
}
|
|
20
20
|
};
|
|
21
21
|
const normalizeApiUrl = (value) => value.replace(/\/+$/u, '');
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
/**
|
|
23
|
+
* worktree 경로의 canonical 형태를 구한다.
|
|
24
|
+
*
|
|
25
|
+
* herdr의 `worktree.removed` 훅은 Git worktree가 삭제된 **뒤에** 실행되므로 경로를 realpath로
|
|
26
|
+
* 확인할 수 없다. 이때 `resolve()`만 쓰면 상위 경로에 심링크가 있는 환경에서 생성 시점과 다른
|
|
27
|
+
* 값이 나와 서버가 같은 worktree로 매칭하지 못한다. 삭제가 worktree 하나로 끝난다는 보장이
|
|
28
|
+
* 없으므로(부모 디렉터리째 지우는 경우가 있다) 부모 한 단계가 아니라 **존재하는 최근접 조상**을
|
|
29
|
+
* realpath한 뒤 사라진 세그먼트를 다시 이어 붙여 생성 시점과 동일한 경로를 복원한다.
|
|
30
|
+
*/
|
|
31
|
+
const canonicalizeWorktreePath = (worktreePath) => {
|
|
32
|
+
const absolutePath = resolve(worktreePath);
|
|
33
|
+
const missingSegments = [];
|
|
34
|
+
let candidate = absolutePath;
|
|
35
|
+
for (;;) {
|
|
36
|
+
try {
|
|
37
|
+
return join(realpathSync(candidate), ...missingSegments);
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
const parent = dirname(candidate);
|
|
41
|
+
// 루트까지 올라가도 realpath가 실패하면 더 나은 복원 수단이 없다.
|
|
42
|
+
if (parent === candidate)
|
|
43
|
+
return absolutePath;
|
|
44
|
+
missingSegments.unshift(basename(candidate));
|
|
45
|
+
candidate = parent;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
export const computeWorktreeLocalKey = (worktreePath) => createHash('sha256').update(canonicalizeWorktreePath(worktreePath)).digest('hex');
|
|
50
|
+
export const createDefaultWorktreeEventId = (event, host = 'orca') => `${host}:${event.toLowerCase()}:${randomUUID()}`;
|
|
51
|
+
/**
|
|
52
|
+
* 이벤트 이름의 두 표기.
|
|
53
|
+
*
|
|
54
|
+
* `[0]`은 herdr가 `HERDR_PLUGIN_EVENT`로 주입하는 dotted 이름이자 매니페스트가 허용하는 유일한
|
|
55
|
+
* 표기이고, `[1]`은 같은 이벤트의 payload `event` 필드 표기다. 즉 언더스코어 표기는 매니페스트에서
|
|
56
|
+
* 거부되지만 payload에는 그대로 실려 오므로(`captured-contract.json`의 `events.names.rejected`는
|
|
57
|
+
* 매니페스트 기준이다), `HERDR_PLUGIN_EVENT`가 없고 payload만 있는 경로를 위해 함께 허용한다.
|
|
58
|
+
*/
|
|
59
|
+
const HERDR_EVENT_ALIASES = {
|
|
60
|
+
CREATED: ['worktree.created', 'worktree_created'],
|
|
61
|
+
DELETED: ['worktree.removed', 'worktree_removed'],
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* herdr plugin event hook이 주입하는 payload에서 worktree identity를 뽑는다.
|
|
65
|
+
*
|
|
66
|
+
* 훅의 cwd는 플러그인 루트라 Git 조회 기준으로 쓸 수 없고, 삭제 훅 시점에는 worktree 경로가
|
|
67
|
+
* 이미 사라져 있다. 따라서 경로·브랜치·저장소 루트를 모두 이벤트 payload에서 읽는다.
|
|
68
|
+
* 확인 기준: herdr 0.8.0 (`docs/fixtures/herdr-worktree-hooks/captured-contract.json`).
|
|
69
|
+
*/
|
|
70
|
+
export const parseHerdrWorktreeEvent = (env, expected) => {
|
|
71
|
+
const aliases = HERDR_EVENT_ALIASES[expected];
|
|
72
|
+
const expectedName = aliases[0];
|
|
73
|
+
const raw = env.HERDR_PLUGIN_EVENT_JSON?.trim();
|
|
74
|
+
if (!raw) {
|
|
75
|
+
throw new Error(`HERDR_PLUGIN_EVENT_JSON is missing. Run this command from a herdr '${expectedName}' plugin event hook.`);
|
|
76
|
+
}
|
|
77
|
+
let parsed;
|
|
24
78
|
try {
|
|
25
|
-
|
|
79
|
+
parsed = JSON.parse(raw);
|
|
26
80
|
}
|
|
27
81
|
catch {
|
|
28
|
-
|
|
82
|
+
throw new Error(`HERDR_PLUGIN_EVENT_JSON is not valid JSON. Expected a herdr '${expectedName}' event payload.`);
|
|
29
83
|
}
|
|
30
|
-
|
|
84
|
+
const receivedName = (typeof env.HERDR_PLUGIN_EVENT === 'string' && env.HERDR_PLUGIN_EVENT.trim()) ||
|
|
85
|
+
(typeof parsed.event === 'string' ? parsed.event : '');
|
|
86
|
+
if (!aliases.includes(receivedName)) {
|
|
87
|
+
throw new Error(`Expected a herdr '${expectedName}' event but received '${receivedName || 'unknown'}'.`);
|
|
88
|
+
}
|
|
89
|
+
const worktreePath = typeof parsed.data?.worktree?.path === 'string' ? parsed.data.worktree.path.trim() : '';
|
|
90
|
+
if (!worktreePath) {
|
|
91
|
+
throw new Error(`herdr '${expectedName}' event payload does not carry a worktree path.`);
|
|
92
|
+
}
|
|
93
|
+
const branch = typeof parsed.data?.worktree?.branch === 'string' ? parsed.data.worktree.branch : null;
|
|
94
|
+
const workspaceWorktree = parsed.data?.workspace?.worktree;
|
|
95
|
+
const repoRootValue = typeof workspaceWorktree?.repo_root === 'string' ? workspaceWorktree.repo_root.trim() : '';
|
|
96
|
+
// repo_root가 없을 때는 repo_key(`<repo>/.git`)의 상위 디렉터리가 메인 체크아웃 루트다.
|
|
97
|
+
const repoKeyValue = typeof workspaceWorktree?.repo_key === 'string' ? workspaceWorktree.repo_key.trim() : '';
|
|
98
|
+
const repoRoot = repoRootValue || (repoKeyValue && basename(repoKeyValue) === '.git' ? dirname(repoKeyValue) : '');
|
|
99
|
+
return { worktreePath, branch, repoRoot: repoRoot || null };
|
|
31
100
|
};
|
|
32
|
-
export const createDefaultWorktreeEventId = (event) => `orca:${event.toLowerCase()}:${randomUUID()}`;
|
|
33
101
|
export const waitForPathRemoval = async (worktreePath, options = {}) => {
|
|
34
102
|
const intervalMs = options.intervalMs ?? 100;
|
|
35
103
|
const timeoutMs = options.timeoutMs ?? 30_000;
|
|
@@ -72,44 +140,82 @@ export const scheduleDeletedEventAfterRemoval = (worktreePath, stableCwd, event,
|
|
|
72
140
|
});
|
|
73
141
|
child.unref();
|
|
74
142
|
};
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
143
|
+
const defaultGitReader = {
|
|
144
|
+
resolveTopLevel: (cwd) => resolveGitTopLevel(cwd),
|
|
145
|
+
resolveMainRoot: (cwd) => resolveMainCheckoutRoot(cwd),
|
|
146
|
+
readRemoteOriginUrl: (cwd) => getGitRemoteOriginUrl(undefined, cwd),
|
|
147
|
+
readGitValue: (args, cwd) => getGitValue(args, cwd),
|
|
148
|
+
};
|
|
149
|
+
/** Orca hook 등 worktree 안에서 실행되는 호출자: 현재 디렉터리에서 identity를 계산한다. */
|
|
150
|
+
export const resolveCwdIdentity = (cwd, git = defaultGitReader) => {
|
|
151
|
+
const topLevel = git.resolveTopLevel(cwd);
|
|
83
152
|
if (!topLevel)
|
|
84
153
|
throw new Error('Current directory is not a Git worktree.');
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
154
|
+
return {
|
|
155
|
+
host: 'orca',
|
|
156
|
+
worktreePath: topLevel,
|
|
157
|
+
stableCwd: git.resolveMainRoot(topLevel) ?? topLevel,
|
|
158
|
+
remoteUrl: git.readRemoteOriginUrl(cwd),
|
|
159
|
+
branch: git.readGitValue(['branch', '--show-current'], cwd) ?? null,
|
|
160
|
+
headSha: git.readGitValue(['rev-parse', 'HEAD'], cwd) ?? null,
|
|
161
|
+
};
|
|
162
|
+
};
|
|
163
|
+
/** herdr plugin event hook: cwd가 플러그인 루트이므로 identity를 이벤트 payload에서 가져온다. */
|
|
164
|
+
export const resolveHerdrIdentity = (herdrEvent, event, git = defaultGitReader) => ({
|
|
165
|
+
host: 'herdr',
|
|
166
|
+
worktreePath: herdrEvent.worktreePath,
|
|
167
|
+
stableCwd: herdrEvent.repoRoot ?? process.cwd(),
|
|
168
|
+
remoteUrl: herdrEvent.repoRoot ? git.readRemoteOriginUrl(herdrEvent.repoRoot) : undefined,
|
|
169
|
+
branch: herdrEvent.branch,
|
|
170
|
+
// 삭제 훅은 worktree가 사라진 뒤 실행되므로 HEAD를 읽을 수 없다.
|
|
171
|
+
headSha: event === 'CREATED' ? (git.readGitValue(['rev-parse', 'HEAD'], herdrEvent.worktreePath) ?? null) : null,
|
|
172
|
+
});
|
|
173
|
+
/**
|
|
174
|
+
* identity와 커맨드 옵션에서 서버로 보낼 lifecycle payload를 조립한다.
|
|
175
|
+
*
|
|
176
|
+
* 서버는 `repositoryId` 또는 `remoteUrl` 중 하나로만 저장소를 찾는다(둘 다 없으면
|
|
177
|
+
* `WORKTREE_REPOSITORY_NOT_FOUND`). 그 상태로 전송하면 훅 로그에 서버 에러 문자열만 남아
|
|
178
|
+
* 원인(저장소 루트를 읽지 못했다)을 알 수 없으므로 전송 전에 여기서 끊는다.
|
|
179
|
+
*/
|
|
180
|
+
export const buildWorktreeLifecyclePayload = (event, identity, options) => {
|
|
181
|
+
const repositoryId = typeof options.repositoryId === 'string' && options.repositoryId.trim() ? options.repositoryId.trim() : undefined;
|
|
182
|
+
if (!repositoryId && !identity.remoteUrl) {
|
|
183
|
+
throw new Error(identity.host === 'herdr'
|
|
184
|
+
? 'Could not identify the repository from the herdr event: the payload carried no repository root, or its origin remote could not be read. Pass --repository-id.'
|
|
185
|
+
: 'Could not identify the repository: the origin remote of the current worktree could not be read. Pass --repository-id.');
|
|
186
|
+
}
|
|
187
|
+
const localKey = (typeof options.localKey === 'string' && options.localKey.trim()) || computeWorktreeLocalKey(identity.worktreePath);
|
|
188
|
+
const eventId = (typeof options.eventId === 'string' && options.eventId.trim()) ||
|
|
189
|
+
createDefaultWorktreeEventId(event, identity.host);
|
|
190
|
+
return {
|
|
93
191
|
event,
|
|
94
192
|
eventId: eventId.slice(0, 128),
|
|
95
193
|
occurredAt: (typeof options.occurredAt === 'string' && options.occurredAt.trim()) || new Date().toISOString(),
|
|
96
|
-
...(
|
|
97
|
-
? { repositoryId: options.repositoryId.trim() }
|
|
98
|
-
: remoteUrl
|
|
99
|
-
? { remoteUrl }
|
|
100
|
-
: {}),
|
|
194
|
+
...(repositoryId ? { repositoryId } : { remoteUrl: identity.remoteUrl }),
|
|
101
195
|
localKey,
|
|
102
|
-
branch: branch
|
|
103
|
-
headSha: headSha
|
|
104
|
-
displayName: branch
|
|
196
|
+
branch: identity.branch,
|
|
197
|
+
headSha: identity.headSha,
|
|
198
|
+
displayName: identity.branch,
|
|
105
199
|
};
|
|
200
|
+
};
|
|
201
|
+
export async function executeWorktreeCommand(action, options) {
|
|
202
|
+
if (action === 'deliver-deleted')
|
|
203
|
+
return deliverDeferredDeletedEvent();
|
|
204
|
+
if (action !== 'notify-created' && action !== 'notify-deleted') {
|
|
205
|
+
throw new Error(`Unknown action: ${action}`);
|
|
206
|
+
}
|
|
207
|
+
const event = action === 'notify-created' ? 'CREATED' : 'DELETED';
|
|
208
|
+
const identity = options.fromHerdrEvent === true
|
|
209
|
+
? resolveHerdrIdentity(parseHerdrWorktreeEvent(process.env, event), event)
|
|
210
|
+
: resolveCwdIdentity(typeof options.cwd === 'string' ? resolve(options.cwd) : process.cwd());
|
|
211
|
+
const payload = buildWorktreeLifecyclePayload(event, identity, options);
|
|
106
212
|
const daemonConfig = readDaemonConfig();
|
|
107
213
|
if (!daemonConfig) {
|
|
108
214
|
throw new Error("Daemon token is missing. Run 'agentrunner init --token <token>' first.");
|
|
109
215
|
}
|
|
110
216
|
const apiUrl = normalizeApiUrl(daemonConfig.apiUrl || process.env.AGENTTEAMS_API_URL || 'https://api.agentteams.run');
|
|
111
217
|
if (event === 'DELETED' && options.afterRemoval === true) {
|
|
112
|
-
scheduleDeletedEventAfterRemoval(
|
|
218
|
+
scheduleDeletedEventAfterRemoval(identity.worktreePath, identity.stableCwd, payload);
|
|
113
219
|
return { message: 'Worktree deleted event scheduled for delivery after removal.' };
|
|
114
220
|
}
|
|
115
221
|
const result = await sendWorktreeLifecycleEvent(apiUrl, { 'x-daemon-token': daemonConfig.daemonToken }, payload);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worktree.js","sourceRoot":"","sources":["../../src/commands/worktree.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"worktree.js","sourceRoot":"","sources":["../../src/commands/worktree.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worktree.d.ts","sourceRoot":"","sources":["../../src/program/worktree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAmD,MAAM,aAAa,CAAC;AAEvF,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"worktree.d.ts","sourceRoot":"","sources":["../../src/program/worktree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAmD,MAAM,aAAa,CAAC;AAEvF,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8C9D"}
|
package/dist/program/worktree.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { executeCommand, handleError, printCommandResult } from './shared.js';
|
|
2
2
|
export function registerWorktreeCommand(program) {
|
|
3
|
-
const root = program
|
|
3
|
+
const root = program
|
|
4
|
+
.command('worktree')
|
|
5
|
+
.description('Report worktree lifecycle events from a host such as Orca or herdr');
|
|
4
6
|
const addLeaf = (action, description) => {
|
|
5
7
|
const command = root
|
|
6
8
|
.command(action)
|
|
@@ -9,6 +11,7 @@ export function registerWorktreeCommand(program) {
|
|
|
9
11
|
.option('--local-key <key>', 'Opaque worktree identity')
|
|
10
12
|
.option('--event-id <id>', 'Stable event ID for retries')
|
|
11
13
|
.option('--occurred-at <timestamp>', 'Event timestamp in ISO 8601 format')
|
|
14
|
+
.option('--from-herdr-event', 'Read the worktree identity from the herdr plugin event hook payload (HERDR_PLUGIN_EVENT_JSON) instead of the current directory', false)
|
|
12
15
|
.option('--quiet', 'Do not print a successful result', false);
|
|
13
16
|
if (action === 'notify-deleted')
|
|
14
17
|
command.option('--after-removal', 'Send only after the worktree path disappears', false);
|
|
@@ -26,5 +29,19 @@ export function registerWorktreeCommand(program) {
|
|
|
26
29
|
};
|
|
27
30
|
addLeaf('notify-created', 'Report a created worktree');
|
|
28
31
|
addLeaf('notify-deleted', 'Report a deleted worktree');
|
|
32
|
+
// `notify-deleted --after-removal`이 detached 자식으로 다시 부르는 내부 진입점이다.
|
|
33
|
+
// 등록을 빠뜨리면 그 자식이 `unknown command`로 죽어 삭제 이벤트가 조용히 사라진다.
|
|
34
|
+
root
|
|
35
|
+
.command('deliver-deleted', { hidden: true })
|
|
36
|
+
.description('Internal: deliver a deferred deleted event once the worktree path disappears')
|
|
37
|
+
.action(async () => {
|
|
38
|
+
try {
|
|
39
|
+
await executeCommand('worktree', 'deliver-deleted', {});
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
console.error(handleError(error));
|
|
43
|
+
process.exit(1);
|
|
44
|
+
}
|
|
45
|
+
});
|
|
29
46
|
}
|
|
30
47
|
//# sourceMappingURL=worktree.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worktree.js","sourceRoot":"","sources":["../../src/program/worktree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,cAAc,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEvF,MAAM,UAAU,uBAAuB,CAAC,OAAgB;IACtD,MAAM,IAAI,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"worktree.js","sourceRoot":"","sources":["../../src/program/worktree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,cAAc,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEvF,MAAM,UAAU,uBAAuB,CAAC,OAAgB;IACtD,MAAM,IAAI,GAAG,OAAO;SACjB,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,oEAAoE,CAAC,CAAC;IACrF,MAAM,OAAO,GAAG,CAAC,MAAc,EAAE,WAAmB,EAAE,EAAE;QACtD,MAAM,OAAO,GAAG,IAAI;aACjB,OAAO,CAAC,MAAM,CAAC;aACf,WAAW,CAAC,WAAW,CAAC;aACxB,MAAM,CAAC,sBAAsB,EAAE,gEAAgE,CAAC;aAChG,MAAM,CAAC,mBAAmB,EAAE,0BAA0B,CAAC;aACvD,MAAM,CAAC,iBAAiB,EAAE,6BAA6B,CAAC;aACxD,MAAM,CAAC,2BAA2B,EAAE,oCAAoC,CAAC;aACzE,MAAM,CACL,oBAAoB,EACpB,gIAAgI,EAChI,KAAK,CACN;aACA,MAAM,CAAC,SAAS,EAAE,kCAAkC,EAAE,KAAK,CAAC,CAAC;QAChE,IAAI,MAAM,KAAK,gBAAgB;YAC7B,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,8CAA8C,EAAE,KAAK,CAAC,CAAC;QAC3F,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAC/B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBAC5F,IAAI,CAAC,OAAO,CAAC,KAAK;oBAAE,kBAAkB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;YACnF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;gBAClC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IACF,OAAO,CAAC,gBAAgB,EAAE,2BAA2B,CAAC,CAAC;IACvD,OAAO,CAAC,gBAAgB,EAAE,2BAA2B,CAAC,CAAC;IAEvD,mEAAmE;IACnE,yDAAyD;IACzD,IAAI;SACD,OAAO,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;SAC5C,WAAW,CAAC,8EAA8E,CAAC;SAC3F,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,IAAI,CAAC;YACH,MAAM,cAAc,CAAC,UAAU,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
|
package/dist/utils/git.d.ts
CHANGED
|
@@ -19,7 +19,7 @@ type ExecFileSyncFn = (file: string, args: readonly string[], options: {
|
|
|
19
19
|
export declare function collectGitMetrics(execFileSyncImpl?: ExecFileSyncFn, options?: {
|
|
20
20
|
startCommit?: string;
|
|
21
21
|
}): GitMetrics;
|
|
22
|
-
export declare function getGitRemoteOriginUrl(execFileSyncImpl?: ExecFileSyncFn): string | undefined;
|
|
22
|
+
export declare function getGitRemoteOriginUrl(execFileSyncImpl?: ExecFileSyncFn, cwd?: string): string | undefined;
|
|
23
23
|
export declare function resolveMainCheckoutRoot(cwd: string, execFileSyncImpl?: ExecFileSyncFn): string | null;
|
|
24
24
|
/**
|
|
25
25
|
* Does this repository already use linked worktrees?
|
package/dist/utils/git.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/utils/git.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,UAAU;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,KAAK,cAAc,GAAG,CACpB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,KACpG,MAAM,CAAC;AAEZ,wBAAgB,iBAAiB,CAC/B,gBAAgB,GAAE,cAA0C,EAC5D,OAAO,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GACjC,UAAU,CAgBZ;AAED,wBAAgB,qBAAqB,CACnC,gBAAgB,GAAE,cAA0C,
|
|
1
|
+
{"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/utils/git.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,UAAU;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,KAAK,cAAc,GAAG,CACpB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,KACpG,MAAM,CAAC;AAEZ,wBAAgB,iBAAiB,CAC/B,gBAAgB,GAAE,cAA0C,EAC5D,OAAO,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GACjC,UAAU,CAgBZ;AAED,wBAAgB,qBAAqB,CACnC,gBAAgB,GAAE,cAA0C,EAC5D,GAAG,CAAC,EAAE,MAAM,GACX,MAAM,GAAG,SAAS,CAEpB;AAED,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,MAAM,EACX,gBAAgB,GAAE,cAA0C,GAC3D,MAAM,GAAG,IAAI,CAcf;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,MAAM,EACX,gBAAgB,GAAE,cAA0C,GAC3D,OAAO,CAgBT;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,EAC7B,gBAAgB,GAAE,cAA0C,GAC3D,OAAO,CAGT;AAED,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,EACX,gBAAgB,GAAE,cAA0C,GAC3D,MAAM,GAAG,IAAI,CASf"}
|
package/dist/utils/git.js
CHANGED
|
@@ -15,8 +15,8 @@ export function collectGitMetrics(execFileSyncImpl = childProcess.execFileSync,
|
|
|
15
15
|
linesDeleted: parsed.linesDeleted,
|
|
16
16
|
};
|
|
17
17
|
}
|
|
18
|
-
export function getGitRemoteOriginUrl(execFileSyncImpl = childProcess.execFileSync) {
|
|
19
|
-
return runGit(execFileSyncImpl, ['remote', 'get-url', 'origin']);
|
|
18
|
+
export function getGitRemoteOriginUrl(execFileSyncImpl = childProcess.execFileSync, cwd) {
|
|
19
|
+
return runGit(execFileSyncImpl, ['remote', 'get-url', 'origin'], cwd);
|
|
20
20
|
}
|
|
21
21
|
export function resolveMainCheckoutRoot(cwd, execFileSyncImpl = childProcess.execFileSync) {
|
|
22
22
|
const commonDir = runGit(execFileSyncImpl, ['rev-parse', '--git-common-dir'], cwd);
|
package/dist/utils/git.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/utils/git.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAqB7C,MAAM,UAAU,iBAAiB,CAC/B,mBAAmC,YAAY,CAAC,YAAY,EAC5D,OAAkC;IAElC,MAAM,UAAU,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;IACnE,MAAM,SAAS,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAEzE,MAAM,OAAO,GAAG,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;IACjF,MAAM,SAAS,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;IAE7E,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;IAEzC,OAAO;QACL,UAAU;QACV,UAAU,EAAE,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QACrE,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;KAClC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,mBAAmC,YAAY,CAAC,YAAY;
|
|
1
|
+
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/utils/git.ts"],"names":[],"mappings":"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"}
|