@agentteams/cli 0.1.103 → 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.
Files changed (47) hide show
  1. package/.eslintcache +1 -1
  2. package/dist/api/postmortem.d.ts +1 -1
  3. package/dist/api/postmortem.d.ts.map +1 -1
  4. package/dist/api/postmortem.js +5 -1
  5. package/dist/api/postmortem.js.map +1 -1
  6. package/dist/commands/coaction.d.ts.map +1 -1
  7. package/dist/commands/coaction.js +4 -1
  8. package/dist/commands/coaction.js.map +1 -1
  9. package/dist/commands/codeReview.d.ts.map +1 -1
  10. package/dist/commands/codeReview.js +19 -4
  11. package/dist/commands/codeReview.js.map +1 -1
  12. package/dist/commands/postmortem.d.ts.map +1 -1
  13. package/dist/commands/postmortem.js +4 -1
  14. package/dist/commands/postmortem.js.map +1 -1
  15. package/dist/commands/worktree.d.ts +45 -1
  16. package/dist/commands/worktree.d.ts.map +1 -1
  17. package/dist/commands/worktree.js +138 -32
  18. package/dist/commands/worktree.js.map +1 -1
  19. package/dist/mcp/guides.d.ts +2 -0
  20. package/dist/mcp/guides.d.ts.map +1 -1
  21. package/dist/mcp/guides.js +2 -1
  22. package/dist/mcp/guides.js.map +1 -1
  23. package/dist/program/coaction.d.ts.map +1 -1
  24. package/dist/program/coaction.js +4 -3
  25. package/dist/program/coaction.js.map +1 -1
  26. package/dist/program/codeReview.d.ts.map +1 -1
  27. package/dist/program/codeReview.js +11 -6
  28. package/dist/program/codeReview.js.map +1 -1
  29. package/dist/program/options/writeContract.d.ts +15 -0
  30. package/dist/program/options/writeContract.d.ts.map +1 -0
  31. package/dist/program/options/writeContract.js +20 -0
  32. package/dist/program/options/writeContract.js.map +1 -0
  33. package/dist/program/postmortem.d.ts.map +1 -1
  34. package/dist/program/postmortem.js +4 -3
  35. package/dist/program/postmortem.js.map +1 -1
  36. package/dist/program/worktree.d.ts.map +1 -1
  37. package/dist/program/worktree.js +18 -1
  38. package/dist/program/worktree.js.map +1 -1
  39. package/dist/utils/git.d.ts +1 -1
  40. package/dist/utils/git.d.ts.map +1 -1
  41. package/dist/utils/git.js +2 -2
  42. package/dist/utils/git.js.map +1 -1
  43. package/dist/utils/writeContract.d.ts +17 -0
  44. package/dist/utils/writeContract.d.ts.map +1 -0
  45. package/dist/utils/writeContract.js +17 -0
  46. package/dist/utils/writeContract.js.map +1 -0
  47. package/package.json +1 -1
@@ -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
- export const computeWorktreeLocalKey = (worktreePath) => {
23
- let canonicalPath;
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
- canonicalPath = realpathSync(worktreePath);
79
+ parsed = JSON.parse(raw);
26
80
  }
27
81
  catch {
28
- canonicalPath = resolve(worktreePath);
82
+ throw new Error(`HERDR_PLUGIN_EVENT_JSON is not valid JSON. Expected a herdr '${expectedName}' event payload.`);
29
83
  }
30
- return createHash('sha256').update(canonicalPath).digest('hex');
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
- export async function executeWorktreeCommand(action, options) {
76
- if (action === 'deliver-deleted')
77
- return deliverDeferredDeletedEvent();
78
- if (action !== 'notify-created' && action !== 'notify-deleted') {
79
- throw new Error(`Unknown action: ${action}`);
80
- }
81
- const cwd = typeof options.cwd === 'string' ? resolve(options.cwd) : process.cwd();
82
- const topLevel = resolveGitTopLevel(cwd);
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
- const commonRoot = resolveMainCheckoutRoot(topLevel) ?? topLevel;
86
- const remoteUrl = getGitRemoteOriginUrl();
87
- const localKey = (typeof options.localKey === 'string' && options.localKey.trim()) || computeWorktreeLocalKey(topLevel);
88
- const branch = getGitValue(['branch', '--show-current'], cwd);
89
- const headSha = getGitValue(['rev-parse', 'HEAD'], cwd);
90
- const event = action === 'notify-created' ? 'CREATED' : 'DELETED';
91
- const eventId = (typeof options.eventId === 'string' && options.eventId.trim()) || createDefaultWorktreeEventId(event);
92
- const payload = {
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
- ...(typeof options.repositoryId === 'string' && options.repositoryId.trim()
97
- ? { repositoryId: options.repositoryId.trim() }
98
- : remoteUrl
99
- ? { remoteUrl }
100
- : {}),
194
+ ...(repositoryId ? { repositoryId } : { remoteUrl: identity.remoteUrl }),
101
195
  localKey,
102
- branch: branch || null,
103
- headSha: headSha || null,
104
- displayName: branch || null,
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(topLevel, commonRoot, payload);
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,6 +1,8 @@
1
1
  /** Record kinds whose guide can be handed to an agent. These are the write-enabled kinds. */
2
2
  export declare const GUIDE_RECORD_KINDS: readonly ["document", "comment", "co-action", "post-mortem", "code-review"];
3
3
  export type GuideRecordKind = (typeof GUIDE_RECORD_KINDS)[number];
4
+ /** Guide file name per record kind. Exported so guards can check the shipped file, not a copy of this map. */
5
+ export declare const GUIDE_FILE_NAMES: Record<GuideRecordKind, string>;
4
6
  export interface LoadedGuide {
5
7
  recordKind: GuideRecordKind;
6
8
  fileName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"guides.d.ts","sourceRoot":"","sources":["../../src/mcp/guides.ts"],"names":[],"mappings":"AA6BA,6FAA6F;AAC7F,eAAO,MAAM,kBAAkB,6EAA8E,CAAC;AAC9G,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAUlE,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,eAAe,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,MAAM,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC3B,oFAAoF;IACpF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAYD,yEAAyE;AACzE,wBAAgB,oBAAoB,CAAC,GAAG,GAAE,MAAsB,GAAG,MAAM,GAAG,IAAI,CAM/E;AA0BD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,WAAW,GAAG,IAAI,CAqBlH;AAED,iFAAiF;AACjF,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,eAAe,EAC3B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,OAAO,CAAC,WAAW,CAAC,CAkBtB;AAED;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,eAAe,EAC3B,OAAO,EAAE;IAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GACxF,OAAO,CAAC,WAAW,CAAC,CAgBtB;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAQ1E"}
1
+ {"version":3,"file":"guides.d.ts","sourceRoot":"","sources":["../../src/mcp/guides.ts"],"names":[],"mappings":"AA6BA,6FAA6F;AAC7F,eAAO,MAAM,kBAAkB,6EAA8E,CAAC;AAC9G,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAElE,8GAA8G;AAC9G,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAM5D,CAAC;AAEF,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,eAAe,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,MAAM,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC3B,oFAAoF;IACpF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAYD,yEAAyE;AACzE,wBAAgB,oBAAoB,CAAC,GAAG,GAAE,MAAsB,GAAG,MAAM,GAAG,IAAI,CAM/E;AA0BD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,WAAW,GAAG,IAAI,CAqBlH;AAED,iFAAiF;AACjF,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,eAAe,EAC3B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,OAAO,CAAC,WAAW,CAAC,CAkBtB;AAED;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,eAAe,EAC3B,OAAO,EAAE;IAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GACxF,OAAO,CAAC,WAAW,CAAC,CAgBtB;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAQ1E"}
@@ -25,7 +25,8 @@ const MANIFEST_FILE = 'conventions.manifest.json';
25
25
  const RESYNC_HINT = "Run 'agentteams convention download' and retry.";
26
26
  /** Record kinds whose guide can be handed to an agent. These are the write-enabled kinds. */
27
27
  export const GUIDE_RECORD_KINDS = ['document', 'comment', 'co-action', 'post-mortem', 'code-review'];
28
- const GUIDE_FILE_NAMES = {
28
+ /** Guide file name per record kind. Exported so guards can check the shipped file, not a copy of this map. */
29
+ export const GUIDE_FILE_NAMES = {
29
30
  document: 'document-guide.md',
30
31
  comment: 'comment-guide.md',
31
32
  'co-action': 'co-action-guide.md',
@@ -1 +1 @@
1
- {"version":3,"file":"guides.js","sourceRoot":"","sources":["../../src/mcp/guides.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAEhD;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,cAAc,GAAG,aAAa,CAAC;AACrC,MAAM,YAAY,GAAG,UAAU,CAAC;AAChC,MAAM,aAAa,GAAG,2BAA2B,CAAC;AAElD,MAAM,WAAW,GAAG,iDAAiD,CAAC;AAEtE,6FAA6F;AAC7F,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,CAAU,CAAC;AAG9G,MAAM,gBAAgB,GAAoC;IACxD,QAAQ,EAAE,mBAAmB;IAC7B,OAAO,EAAE,kBAAkB;IAC3B,WAAW,EAAE,oBAAoB;IACjC,aAAa,EAAE,sBAAsB;IACrC,aAAa,EAAE,sBAAsB;CACtC,CAAC;AA2BF,yEAAyE;AACzE,MAAM,UAAU,oBAAoB,CAAC,MAAc,OAAO,CAAC,GAAG,EAAE;IAC9D,MAAM,UAAU,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAC1C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,kBAAkB,CAAC,WAAmB;IAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;IACtE,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAuB,CAAC;QACrF,OAAO,MAAM,EAAE,mBAAmB,IAAI,IAAI,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,+EAA+E;QAC/E,2EAA2E;QAC3E,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,UAA2B;IACvD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC9C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,8BAA8B,UAAU,gBAAgB,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3G,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CAAC,UAA2B,EAAE,WAA0B;IAC5F,MAAM,QAAQ,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAClD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;IAC3E,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAE/C,OAAO;QACL,UAAU;QACV,QAAQ;QACR,MAAM,EAAE,OAAO;QACf,QAAQ;QACR,OAAO,EAAE,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC;QACxC,SAAS,EAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,IAAI;KACtC,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,UAA2B,EAC3B,MAAc,EACd,OAA+B;IAE/B,MAAM,QAAQ,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAClD,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC7E,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,GAAG,gBAAgB,sBAAsB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAE9F,MAAM,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAA0B,CAAC;IACpE,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACrG,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,kBAAkB,QAAQ,wBAAwB,gBAAgB,GAAG,CAAC,CAAC;IACzF,CAAC;IAED,OAAO;QACL,UAAU;QACV,QAAQ;QACR,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,SAAS,EAAE,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;KACvF,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,UAA2B,EAC3B,OAAyF;IAEzF,MAAM,KAAK,GAAG,sBAAsB,CAAC,UAAU,EAAE,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC;IAC9E,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,OAAO,MAAM,kBAAkB,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtE,MAAM,IAAI,KAAK,CACb,sBAAsB,oBAAoB,CAAC,UAAU,CAAC,mBAAmB;YACvE,uFAAuF,MAAM,IAAI;YACjG,mFAAmF,CACtF,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAAkB;IACzD,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,CACL,wBAAwB,KAAK,CAAC,QAAQ,wDAAwD;QAC9F,+CAA+C,WAAW,EAAE,CAC7D,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"guides.js","sourceRoot":"","sources":["../../src/mcp/guides.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAEhD;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,cAAc,GAAG,aAAa,CAAC;AACrC,MAAM,YAAY,GAAG,UAAU,CAAC;AAChC,MAAM,aAAa,GAAG,2BAA2B,CAAC;AAElD,MAAM,WAAW,GAAG,iDAAiD,CAAC;AAEtE,6FAA6F;AAC7F,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,CAAU,CAAC;AAG9G,8GAA8G;AAC9G,MAAM,CAAC,MAAM,gBAAgB,GAAoC;IAC/D,QAAQ,EAAE,mBAAmB;IAC7B,OAAO,EAAE,kBAAkB;IAC3B,WAAW,EAAE,oBAAoB;IACjC,aAAa,EAAE,sBAAsB;IACrC,aAAa,EAAE,sBAAsB;CACtC,CAAC;AA2BF,yEAAyE;AACzE,MAAM,UAAU,oBAAoB,CAAC,MAAc,OAAO,CAAC,GAAG,EAAE;IAC9D,MAAM,UAAU,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAC1C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,kBAAkB,CAAC,WAAmB;IAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;IACtE,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAuB,CAAC;QACrF,OAAO,MAAM,EAAE,mBAAmB,IAAI,IAAI,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,+EAA+E;QAC/E,2EAA2E;QAC3E,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,UAA2B;IACvD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC9C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,8BAA8B,UAAU,gBAAgB,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3G,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CAAC,UAA2B,EAAE,WAA0B;IAC5F,MAAM,QAAQ,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAClD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;IAC3E,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAE/C,OAAO;QACL,UAAU;QACV,QAAQ;QACR,MAAM,EAAE,OAAO;QACf,QAAQ;QACR,OAAO,EAAE,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC;QACxC,SAAS,EAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,IAAI;KACtC,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,UAA2B,EAC3B,MAAc,EACd,OAA+B;IAE/B,MAAM,QAAQ,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAClD,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC7E,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,GAAG,gBAAgB,sBAAsB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAE9F,MAAM,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAA0B,CAAC;IACpE,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACrG,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,kBAAkB,QAAQ,wBAAwB,gBAAgB,GAAG,CAAC,CAAC;IACzF,CAAC;IAED,OAAO;QACL,UAAU;QACV,QAAQ;QACR,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,SAAS,EAAE,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;KACvF,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,UAA2B,EAC3B,OAAyF;IAEzF,MAAM,KAAK,GAAG,sBAAsB,CAAC,UAAU,EAAE,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC;IAC9E,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,OAAO,MAAM,kBAAkB,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtE,MAAM,IAAI,KAAK,CACb,sBAAsB,oBAAoB,CAAC,UAAU,CAAC,mBAAmB;YACvE,uFAAuF,MAAM,IAAI;YACjG,mFAAmF,CACtF,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAAkB;IACzD,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,CACL,wBAAwB,KAAK,CAAC,QAAQ,wDAAwD;QAC9F,+CAA+C,WAAW,EAAE,CAC7D,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"coaction.d.ts","sourceRoot":"","sources":["../../src/program/coaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAoE,MAAM,aAAa,CAAC;AAKxG;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+H9D"}
1
+ {"version":3,"file":"coaction.d.ts","sourceRoot":"","sources":["../../src/program/coaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAoE,MAAM,aAAa,CAAC;AAMxG;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiI9D"}
@@ -2,6 +2,7 @@ import { CONVENTION_HINT, executeCommand, handleError, printCommandResult } from
2
2
  import { addConnectionOptions } from './options/connection.js';
3
3
  import { addOutputOptions } from './options/output.js';
4
4
  import { addPaginationOptions } from './options/pagination.js';
5
+ import { addMutationContractOptions, addWriteContractOptions } from './options/writeContract.js';
5
6
  /**
6
7
  * 액션 인벤토리: list/get/create/update/delete/download/cleanup/takeaway-list/takeaway-create/takeaway-update/takeaway-delete/history/link-plan/unlink-plan/link-completion-report/unlink-completion-report/link-post-mortem/unlink-post-mortem.
7
8
  * 각 leaf는 handler가 읽는 옵션만 선언하며 --limit 별칭은 제거합니다.
@@ -52,14 +53,14 @@ export function registerCoactionCommand(program) {
52
53
  .option('--keep-temp', 'Keep the uploaded file under .agentteams/cli/temp/ instead of deleting it after upload', false));
53
54
  addLeaf('takeaway-delete', 'Delete a co-action takeaway', (command) => command.option('--id <id>', 'Co-action ID').option('--takeaway-id <id>', 'Co-action takeaway ID'));
54
55
  addLeaf('history', 'List co-action history', (command) => addPaginationOptions(command).option('--id <id>', 'Co-action ID'));
55
- addLeaf('create', 'Create a co-action', (command) => command
56
+ addLeaf('create', 'Create a co-action', (command) => addWriteContractOptions(command, 'co-action')
56
57
  .option('--title <title>', 'Co-action title')
57
58
  .option('--content <content>', 'Co-action content (short text; use --file for long content)')
58
59
  .option('--file <path>', 'Read co-action content from a local file')
59
60
  .option('--keep-temp', 'Keep the uploaded file under .agentteams/cli/temp/ instead of deleting it after upload', false)
60
61
  .option('--status <status>', 'Co-action status (OPEN, CLOSED)')
61
62
  .option('--visibility <visibility>', 'Co-action visibility (PRIVATE, PROJECT)'));
62
- addLeaf('update', 'Update a co-action', (command) => command
63
+ addLeaf('update', 'Update a co-action', (command) => addMutationContractOptions(command, 'co-action', 'co-action')
63
64
  .option('--id <id>', 'Co-action ID')
64
65
  .option('--title <title>', 'Co-action title')
65
66
  .option('--content <content>', 'Co-action content (short text; use --file for long content)')
@@ -68,7 +69,7 @@ export function registerCoactionCommand(program) {
68
69
  .option('--status <status>', 'Co-action status (OPEN, CLOSED)')
69
70
  .option('--visibility <visibility>', 'Co-action visibility (PRIVATE, PROJECT)')
70
71
  .option('--plan-id <id>', 'Plan ID to set, or null to clear'));
71
- addLeaf('delete', 'Delete a co-action', (command) => command.option('--id <id>', 'Co-action ID'));
72
+ addLeaf('delete', 'Delete a co-action', (command) => addMutationContractOptions(command, 'co-action', 'co-action').option('--id <id>', 'Co-action ID'));
72
73
  addLeaf('download', 'Download a co-action', (command) => command.option('--id <id>', 'Co-action ID'));
73
74
  addLeaf('cleanup', 'Remove downloaded co-actions', (command) => command.option('--id <id>', 'Co-action ID (omit to remove all downloaded co-actions)'));
74
75
  addLeaf('link-plan', 'Link a plan', (command) => command.option('--id <id>', 'Co-action ID').option('--plan-id <id>', 'Plan ID'));
@@ -1 +1 @@
1
- {"version":3,"file":"coaction.js","sourceRoot":"","sources":["../../src/program/coaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,eAAe,EAAE,cAAc,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACxG,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE/D;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAgB;IACtD,MAAM,MAAM,GAAG,OAAO;SACnB,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,2CAA2C,CAAC;SACxD,WAAW,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAEzC,MAAM,OAAO,GAAG,CACd,IAAY,EACZ,WAAmB,EACnB,YAA2C,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,EACtD,EAAE;QACX,MAAM,OAAO,GAAG,gBAAgB,CAC9B,oBAAoB,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAC/E,CAAC,WAAW,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAExC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAC/B,IAAI,CAAC;gBACH,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,aAAa,EAAE,GAAG,OAAO,CAAC;gBAC1D,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,UAAU,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;gBAErE,kBAAkB,CAAC;oBACjB,MAAM;oBACN,UAAU;oBACV,OAAO;oBACP,QAAQ,EAAE,UAAU;oBACpB,MAAM,EAAE,IAAI;iBACb,CAAC,CAAC;YACL,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;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,OAAO,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,OAAO,EAAE,EAAE,CAC7C,oBAAoB,CAAC,OAAO,CAAC;SAC1B,MAAM,CAAC,mBAAmB,EAAE,iCAAiC,CAAC;SAC9D,MAAM,CAAC,2BAA2B,EAAE,yCAAyC,CAAC;SAC9E,MAAM,CAAC,mBAAmB,EAAE,8DAA8D,CAAC;SAC3F,MAAM,CAAC,iBAAiB,EAAE,sBAAsB,CAAC,CACrD,CAAC;IACF,OAAO,CAAC,KAAK,EAAE,iBAAiB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;IAC5F,OAAO,CAAC,eAAe,EAAE,0BAA0B,EAAE,CAAC,OAAO,EAAE,EAAE,CAC/D,oBAAoB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,CAClE,CAAC;IACF,OAAO,CAAC,iBAAiB,EAAE,6BAA6B,EAAE,CAAC,OAAO,EAAE,EAAE,CACpE,OAAO;SACJ,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC;SACnC,MAAM,CAAC,qBAAqB,EAAE,kBAAkB,CAAC;SACjD,MAAM,CAAC,eAAe,EAAE,yCAAyC,CAAC;SAClE,MAAM,CACL,aAAa,EACb,wFAAwF,EACxF,KAAK,CACN,CACJ,CAAC;IACF,OAAO,CAAC,iBAAiB,EAAE,6BAA6B,EAAE,CAAC,OAAO,EAAE,EAAE,CACpE,OAAO;SACJ,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC;SACnC,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC;SACrD,MAAM,CAAC,qBAAqB,EAAE,kBAAkB,CAAC;SACjD,MAAM,CAAC,eAAe,EAAE,yCAAyC,CAAC;SAClE,MAAM,CACL,aAAa,EACb,wFAAwF,EACxF,KAAK,CACN,CACJ,CAAC;IACF,OAAO,CAAC,iBAAiB,EAAE,6BAA6B,EAAE,CAAC,OAAO,EAAE,EAAE,CACpE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,CAClG,CAAC;IACF,OAAO,CAAC,SAAS,EAAE,wBAAwB,EAAE,CAAC,OAAO,EAAE,EAAE,CACvD,oBAAoB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,CAClE,CAAC;IACF,OAAO,CAAC,QAAQ,EAAE,oBAAoB,EAAE,CAAC,OAAO,EAAE,EAAE,CAClD,OAAO;SACJ,MAAM,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;SAC5C,MAAM,CAAC,qBAAqB,EAAE,6DAA6D,CAAC;SAC5F,MAAM,CAAC,eAAe,EAAE,0CAA0C,CAAC;SACnE,MAAM,CACL,aAAa,EACb,wFAAwF,EACxF,KAAK,CACN;SACA,MAAM,CAAC,mBAAmB,EAAE,iCAAiC,CAAC;SAC9D,MAAM,CAAC,2BAA2B,EAAE,yCAAyC,CAAC,CAClF,CAAC;IACF,OAAO,CAAC,QAAQ,EAAE,oBAAoB,EAAE,CAAC,OAAO,EAAE,EAAE,CAClD,OAAO;SACJ,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC;SACnC,MAAM,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;SAC5C,MAAM,CAAC,qBAAqB,EAAE,6DAA6D,CAAC;SAC5F,MAAM,CAAC,eAAe,EAAE,0CAA0C,CAAC;SACnE,MAAM,CACL,aAAa,EACb,wFAAwF,EACxF,KAAK,CACN;SACA,MAAM,CAAC,mBAAmB,EAAE,iCAAiC,CAAC;SAC9D,MAAM,CAAC,2BAA2B,EAAE,yCAAyC,CAAC;SAC9E,MAAM,CAAC,gBAAgB,EAAE,kCAAkC,CAAC,CAChE,CAAC;IACF,OAAO,CAAC,QAAQ,EAAE,oBAAoB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;IAClG,OAAO,CAAC,UAAU,EAAE,sBAAsB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;IACtG,OAAO,CAAC,SAAS,EAAE,8BAA8B,EAAE,CAAC,OAAO,EAAE,EAAE,CAC7D,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,yDAAyD,CAAC,CACvF,CAAC;IACF,OAAO,CAAC,WAAW,EAAE,aAAa,EAAE,CAAC,OAAO,EAAE,EAAE,CAC9C,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,MAAM,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAChF,CAAC;IACF,OAAO,CAAC,aAAa,EAAE,eAAe,EAAE,CAAC,OAAO,EAAE,EAAE,CAClD,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,MAAM,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAChF,CAAC;IACF,OAAO,CAAC,wBAAwB,EAAE,0BAA0B,EAAE,CAAC,OAAO,EAAE,EAAE,CACxE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,MAAM,CAAC,6BAA6B,EAAE,sBAAsB,CAAC,CAC1G,CAAC;IACF,OAAO,CAAC,0BAA0B,EAAE,4BAA4B,EAAE,CAAC,OAAO,EAAE,EAAE,CAC5E,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,MAAM,CAAC,6BAA6B,EAAE,sBAAsB,CAAC,CAC1G,CAAC;IACF,OAAO,CAAC,kBAAkB,EAAE,oBAAoB,EAAE,CAAC,OAAO,EAAE,EAAE,CAC5D,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,MAAM,CAAC,uBAAuB,EAAE,gBAAgB,CAAC,CAC9F,CAAC;IACF,OAAO,CAAC,oBAAoB,EAAE,sBAAsB,EAAE,CAAC,OAAO,EAAE,EAAE,CAChE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,MAAM,CAAC,uBAAuB,EAAE,gBAAgB,CAAC,CAC9F,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"coaction.js","sourceRoot":"","sources":["../../src/program/coaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,eAAe,EAAE,cAAc,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACxG,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAEjG;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAgB;IACtD,MAAM,MAAM,GAAG,OAAO;SACnB,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,2CAA2C,CAAC;SACxD,WAAW,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAEzC,MAAM,OAAO,GAAG,CACd,IAAY,EACZ,WAAmB,EACnB,YAA2C,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,EACtD,EAAE;QACX,MAAM,OAAO,GAAG,gBAAgB,CAC9B,oBAAoB,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAC/E,CAAC,WAAW,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAExC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAC/B,IAAI,CAAC;gBACH,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,aAAa,EAAE,GAAG,OAAO,CAAC;gBAC1D,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,UAAU,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;gBAErE,kBAAkB,CAAC;oBACjB,MAAM;oBACN,UAAU;oBACV,OAAO;oBACP,QAAQ,EAAE,UAAU;oBACpB,MAAM,EAAE,IAAI;iBACb,CAAC,CAAC;YACL,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;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,OAAO,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,OAAO,EAAE,EAAE,CAC7C,oBAAoB,CAAC,OAAO,CAAC;SAC1B,MAAM,CAAC,mBAAmB,EAAE,iCAAiC,CAAC;SAC9D,MAAM,CAAC,2BAA2B,EAAE,yCAAyC,CAAC;SAC9E,MAAM,CAAC,mBAAmB,EAAE,8DAA8D,CAAC;SAC3F,MAAM,CAAC,iBAAiB,EAAE,sBAAsB,CAAC,CACrD,CAAC;IACF,OAAO,CAAC,KAAK,EAAE,iBAAiB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;IAC5F,OAAO,CAAC,eAAe,EAAE,0BAA0B,EAAE,CAAC,OAAO,EAAE,EAAE,CAC/D,oBAAoB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,CAClE,CAAC;IACF,OAAO,CAAC,iBAAiB,EAAE,6BAA6B,EAAE,CAAC,OAAO,EAAE,EAAE,CACpE,OAAO;SACJ,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC;SACnC,MAAM,CAAC,qBAAqB,EAAE,kBAAkB,CAAC;SACjD,MAAM,CAAC,eAAe,EAAE,yCAAyC,CAAC;SAClE,MAAM,CACL,aAAa,EACb,wFAAwF,EACxF,KAAK,CACN,CACJ,CAAC;IACF,OAAO,CAAC,iBAAiB,EAAE,6BAA6B,EAAE,CAAC,OAAO,EAAE,EAAE,CACpE,OAAO;SACJ,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC;SACnC,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC;SACrD,MAAM,CAAC,qBAAqB,EAAE,kBAAkB,CAAC;SACjD,MAAM,CAAC,eAAe,EAAE,yCAAyC,CAAC;SAClE,MAAM,CACL,aAAa,EACb,wFAAwF,EACxF,KAAK,CACN,CACJ,CAAC;IACF,OAAO,CAAC,iBAAiB,EAAE,6BAA6B,EAAE,CAAC,OAAO,EAAE,EAAE,CACpE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,CAClG,CAAC;IACF,OAAO,CAAC,SAAS,EAAE,wBAAwB,EAAE,CAAC,OAAO,EAAE,EAAE,CACvD,oBAAoB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,CAClE,CAAC;IACF,OAAO,CAAC,QAAQ,EAAE,oBAAoB,EAAE,CAAC,OAAO,EAAE,EAAE,CAClD,uBAAuB,CAAC,OAAO,EAAE,WAAW,CAAC;SAC1C,MAAM,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;SAC5C,MAAM,CAAC,qBAAqB,EAAE,6DAA6D,CAAC;SAC5F,MAAM,CAAC,eAAe,EAAE,0CAA0C,CAAC;SACnE,MAAM,CACL,aAAa,EACb,wFAAwF,EACxF,KAAK,CACN;SACA,MAAM,CAAC,mBAAmB,EAAE,iCAAiC,CAAC;SAC9D,MAAM,CAAC,2BAA2B,EAAE,yCAAyC,CAAC,CAClF,CAAC;IACF,OAAO,CAAC,QAAQ,EAAE,oBAAoB,EAAE,CAAC,OAAO,EAAE,EAAE,CAClD,0BAA0B,CAAC,OAAO,EAAE,WAAW,EAAE,WAAW,CAAC;SAC1D,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC;SACnC,MAAM,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;SAC5C,MAAM,CAAC,qBAAqB,EAAE,6DAA6D,CAAC;SAC5F,MAAM,CAAC,eAAe,EAAE,0CAA0C,CAAC;SACnE,MAAM,CACL,aAAa,EACb,wFAAwF,EACxF,KAAK,CACN;SACA,MAAM,CAAC,mBAAmB,EAAE,iCAAiC,CAAC;SAC9D,MAAM,CAAC,2BAA2B,EAAE,yCAAyC,CAAC;SAC9E,MAAM,CAAC,gBAAgB,EAAE,kCAAkC,CAAC,CAChE,CAAC;IACF,OAAO,CAAC,QAAQ,EAAE,oBAAoB,EAAE,CAAC,OAAO,EAAE,EAAE,CAClD,0BAA0B,CAAC,OAAO,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,CAClG,CAAC;IACF,OAAO,CAAC,UAAU,EAAE,sBAAsB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;IACtG,OAAO,CAAC,SAAS,EAAE,8BAA8B,EAAE,CAAC,OAAO,EAAE,EAAE,CAC7D,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,yDAAyD,CAAC,CACvF,CAAC;IACF,OAAO,CAAC,WAAW,EAAE,aAAa,EAAE,CAAC,OAAO,EAAE,EAAE,CAC9C,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,MAAM,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAChF,CAAC;IACF,OAAO,CAAC,aAAa,EAAE,eAAe,EAAE,CAAC,OAAO,EAAE,EAAE,CAClD,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,MAAM,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAChF,CAAC;IACF,OAAO,CAAC,wBAAwB,EAAE,0BAA0B,EAAE,CAAC,OAAO,EAAE,EAAE,CACxE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,MAAM,CAAC,6BAA6B,EAAE,sBAAsB,CAAC,CAC1G,CAAC;IACF,OAAO,CAAC,0BAA0B,EAAE,4BAA4B,EAAE,CAAC,OAAO,EAAE,EAAE,CAC5E,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,MAAM,CAAC,6BAA6B,EAAE,sBAAsB,CAAC,CAC1G,CAAC;IACF,OAAO,CAAC,kBAAkB,EAAE,oBAAoB,EAAE,CAAC,OAAO,EAAE,EAAE,CAC5D,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,MAAM,CAAC,uBAAuB,EAAE,gBAAgB,CAAC,CAC9F,CAAC;IACF,OAAO,CAAC,oBAAoB,EAAE,sBAAsB,EAAE,CAAC,OAAO,EAAE,EAAE,CAChE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,MAAM,CAAC,uBAAuB,EAAE,gBAAgB,CAAC,CAC9F,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"codeReview.d.ts","sourceRoot":"","sources":["../../src/program/codeReview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAoE,MAAM,aAAa,CAAC;AAOxG,sHAAsH;AACtH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwHhE"}
1
+ {"version":3,"file":"codeReview.d.ts","sourceRoot":"","sources":["../../src/program/codeReview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAoE,MAAM,aAAa,CAAC;AAQxG,sHAAsH;AACtH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8HhE"}
@@ -3,6 +3,7 @@ import { addGitToggleOption } from './options/completionReport.js';
3
3
  import { addConnectionOptions } from './options/connection.js';
4
4
  import { addOutputOptions } from './options/output.js';
5
5
  import { addPaginationOptions } from './options/pagination.js';
6
+ import { addMutationContractOptions, addWriteContractOptions } from './options/writeContract.js';
6
7
  import { RUNNER_TYPE_OPTION_DESCRIPTION } from '../utils/runnerTypes.js';
7
8
  /** 액션 인벤토리: list/get/finding-list/create/update/create-plan/submit-result/cancel/delete/dismiss/resolve/undismiss. */
8
9
  export function registerCodeReviewCommand(program) {
@@ -39,7 +40,7 @@ export function registerCodeReviewCommand(program) {
39
40
  .option('--source-completion-report-id <id>', 'Source completion report ID'));
40
41
  addLeaf('get', 'Get a code review or finding', (command) => command.option('--id <id>', 'Code review ID').option('--finding-id <id>', 'Finding ID for single-finding focus'));
41
42
  addLeaf('finding-list', 'List findings for a code review', (command) => addPaginationOptions(command).option('--id <id>', 'Code review ID'));
42
- addLeaf('create', 'Create a code review', (command) => addGitToggleOption(command)
43
+ addLeaf('create', 'Create a code review', (command) => addWriteContractOptions(addGitToggleOption(command), 'code review')
43
44
  .option('--title <title>', 'Code review title')
44
45
  .option('--target-type <type>', 'Review target type')
45
46
  .option('--target-ref <ref>', 'Target reference')
@@ -59,7 +60,7 @@ export function registerCodeReviewCommand(program) {
59
60
  .option('--findings-file <path>', 'Read findings JSON array from a local file')
60
61
  .option('--runner-type <type>', RUNNER_TYPE_OPTION_DESCRIPTION)
61
62
  .option('--model <model>', 'Model ID snapshot'));
62
- addLeaf('update', 'Update a code review', (command) => command
63
+ addLeaf('update', 'Update a code review', (command) => addMutationContractOptions(command, 'code review', 'code review')
63
64
  .option('--id <id>', 'Code review ID')
64
65
  .option('--title <title>', 'Code review title')
65
66
  .option('--target-type <type>', 'Review target type')
@@ -90,13 +91,17 @@ export function registerCodeReviewCommand(program) {
90
91
  .option('--findings-file <path>', 'Read findings JSON array from a local file')
91
92
  .option('--result-summary <text>', 'Review result summary')
92
93
  .option('--error-message <text>', 'Failure reason when status is FAILED'));
93
- addLeaf('cancel', 'Cancel a code review', (command) => command.option('--id <id>', 'Code review ID'));
94
+ addLeaf('cancel', 'Cancel a code review', (command) => addWriteContractOptions(command, 'code review').option('--id <id>', 'Code review ID'));
94
95
  addLeaf('delete', 'Delete a code review', (command) => command.option('--id <id>', 'Code review ID'));
95
- addLeaf('dismiss', 'Dismiss a finding', (command) => command.option('--id <id>', 'Code review ID').option('--finding-id <id>', 'Finding ID'));
96
- addLeaf('resolve', 'Resolve findings', (command) => command
96
+ addLeaf('dismiss', 'Dismiss a finding', (command) => addMutationContractOptions(command, 'code review', 'finding')
97
+ .option('--id <id>', 'Code review ID')
98
+ .option('--finding-id <id>', 'Finding ID'));
99
+ addLeaf('resolve', 'Resolve findings', (command) => addMutationContractOptions(command, 'code review', 'finding')
97
100
  .option('--id <id>', 'Code review ID')
98
101
  .option('--finding-id <id>', 'Finding ID')
99
102
  .option('--finding-ids <ids>', 'Comma-separated finding IDs'));
100
- addLeaf('undismiss', 'Restore a dismissed finding', (command) => command.option('--id <id>', 'Code review ID').option('--finding-id <id>', 'Finding ID'));
103
+ addLeaf('undismiss', 'Restore a dismissed finding', (command) => addMutationContractOptions(command, 'code review', 'finding')
104
+ .option('--id <id>', 'Code review ID')
105
+ .option('--finding-id <id>', 'Finding ID'));
101
106
  }
102
107
  //# sourceMappingURL=codeReview.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"codeReview.js","sourceRoot":"","sources":["../../src/program/codeReview.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codeReview.js","sourceRoot":"","sources":["../../src/program/codeReview.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { Command } from 'commander';
2
+ /**
3
+ * 에이전트 쓰기 계약 3종 플래그.
4
+ *
5
+ * MCP 쓰기 도구와 CLI는 같은 엔드포인트를 부른다. 한쪽에만 이 플래그가 있으면
6
+ * "MCP를 쓸 수 없을 때 CLI로 대체해도 계약이 같다"는 플랫폼 가이드의 fallback 서술이
7
+ * 그 엔티티에서만 거짓이 된다. 서버가 받는 표면에는 두 경로 모두에 플래그를 둔다.
8
+ */
9
+ export declare function addWriteContractOptions(command: Command, guideName: string): Command;
10
+ /**
11
+ * update/delete 계열용. create 계열에는 `--expected-updated-at`을 두지 않는다 —
12
+ * 생성 시점에는 비교할 이전 값이 없고, 서버 create 스키마도 이 필드를 받지 않는다.
13
+ */
14
+ export declare function addMutationContractOptions(command: Command, guideName: string, recordName: string): Command;
15
+ //# sourceMappingURL=writeContract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"writeContract.d.ts","sourceRoot":"","sources":["../../../src/program/options/writeContract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAUpF;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAK3G"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * 에이전트 쓰기 계약 3종 플래그.
3
+ *
4
+ * MCP 쓰기 도구와 CLI는 같은 엔드포인트를 부른다. 한쪽에만 이 플래그가 있으면
5
+ * "MCP를 쓸 수 없을 때 CLI로 대체해도 계약이 같다"는 플랫폼 가이드의 fallback 서술이
6
+ * 그 엔티티에서만 거짓이 된다. 서버가 받는 표면에는 두 경로 모두에 플래그를 둔다.
7
+ */
8
+ export function addWriteContractOptions(command, guideName) {
9
+ return command
10
+ .option('--guide-hash <hash>', `Hash of the ${guideName} guide you followed. Stale hash is rejected with GUIDE_OUTDATED.`)
11
+ .option('--idempotency-key <key>', 'Retry-safe key. Repeating the same key with the same request replays the first result.');
12
+ }
13
+ /**
14
+ * update/delete 계열용. create 계열에는 `--expected-updated-at`을 두지 않는다 —
15
+ * 생성 시점에는 비교할 이전 값이 없고, 서버 create 스키마도 이 필드를 받지 않는다.
16
+ */
17
+ export function addMutationContractOptions(command, guideName, recordName) {
18
+ return addWriteContractOptions(command, guideName).option('--expected-updated-at <iso>', `The ${recordName}'s updatedAt as you last read it. Rejects the write if it changed meanwhile.`);
19
+ }
20
+ //# sourceMappingURL=writeContract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"writeContract.js","sourceRoot":"","sources":["../../../src/program/options/writeContract.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAgB,EAAE,SAAiB;IACzE,OAAO,OAAO;SACX,MAAM,CACL,qBAAqB,EACrB,eAAe,SAAS,kEAAkE,CAC3F;SACA,MAAM,CACL,yBAAyB,EACzB,wFAAwF,CACzF,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CAAC,OAAgB,EAAE,SAAiB,EAAE,UAAkB;IAChG,OAAO,uBAAuB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,MAAM,CACvD,6BAA6B,EAC7B,OAAO,UAAU,8EAA8E,CAChG,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"postmortem.d.ts","sourceRoot":"","sources":["../../src/program/postmortem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAmB,MAAM,aAAa,CAAC;AAKvD,uDAAuD;AACvD,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgChE"}
1
+ {"version":3,"file":"postmortem.d.ts","sourceRoot":"","sources":["../../src/program/postmortem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAmB,MAAM,aAAa,CAAC;AAMvD,uDAAuD;AACvD,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoChE"}
@@ -2,6 +2,7 @@ import { CONVENTION_HINT } from './shared.js';
2
2
  import { addGitToggleOption } from './options/completionReport.js';
3
3
  import { addPaginationOptions } from './options/pagination.js';
4
4
  import { addJsonResourceLeaf } from './options/resource.js';
5
+ import { addMutationContractOptions, addWriteContractOptions } from './options/writeContract.js';
5
6
  /** 액션 인벤토리: list/get/create/update/delete/download. */
6
7
  export function registerPostmortemCommand(program) {
7
8
  const root = program.command('postmortem').description('Manage post mortems').addHelpText('after', CONVENTION_HINT);
@@ -19,9 +20,9 @@ export function registerPostmortemCommand(program) {
19
20
  .option('--status <status>', 'Post mortem status')
20
21
  .option('--search <text>', 'Title keyword search'));
21
22
  addLeaf('get', 'Get a post mortem', (command) => command.option('--id <id>', 'Post mortem ID'));
22
- addLeaf('create', 'Create a post mortem', (command) => addGitToggleOption(addContent(command)).option('--repository-remote-url <url>', 'Repository remote origin URL (defaults to git origin)'));
23
- addLeaf('update', 'Update a post mortem', (command) => addContent(command.option('--id <id>', 'Post mortem ID')));
24
- addLeaf('delete', 'Delete a post mortem', (command) => command.option('--id <id>', 'Post mortem ID'));
23
+ addLeaf('create', 'Create a post mortem', (command) => addWriteContractOptions(addGitToggleOption(addContent(command)), 'post-mortem').option('--repository-remote-url <url>', 'Repository remote origin URL (defaults to git origin)'));
24
+ addLeaf('update', 'Update a post mortem', (command) => addMutationContractOptions(addContent(command.option('--id <id>', 'Post mortem ID')), 'post-mortem', 'post mortem'));
25
+ addLeaf('delete', 'Delete a post mortem', (command) => addMutationContractOptions(command, 'post-mortem', 'post mortem').option('--id <id>', 'Post mortem ID'));
25
26
  addLeaf('download', 'Download a post mortem', (command) => command.option('--id <id>', 'Post mortem ID'));
26
27
  }
27
28
  //# sourceMappingURL=postmortem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"postmortem.js","sourceRoot":"","sources":["../../src/program/postmortem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,eAAe,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,uDAAuD;AACvD,MAAM,UAAU,yBAAyB,CAAC,OAAgB;IACxD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC,WAAW,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IACpH,MAAM,OAAO,GAAG,CACd,MAAc,EACd,WAAmB,EACnB,YAA2C,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,EAC/D,EAAE,CAAC,mBAAmB,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;IAC7E,MAAM,UAAU,GAAG,CAAC,OAAgB,EAAE,EAAE,CACtC,OAAO;SACJ,MAAM,CAAC,gBAAgB,EAAE,SAAS,CAAC;SACnC,MAAM,CAAC,iBAAiB,EAAE,mBAAmB,CAAC;SAC9C,MAAM,CAAC,qBAAqB,EAAE,8BAA8B,CAAC;SAC7D,MAAM,CAAC,eAAe,EAAE,2CAA2C,CAAC;SACpE,MAAM,CAAC,aAAa,EAAE,kCAAkC,EAAE,KAAK,CAAC;SAChE,MAAM,CAAC,sBAAsB,EAAE,gCAAgC,CAAC;SAChE,MAAM,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,CAAC;IACvD,OAAO,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,OAAO,EAAE,EAAE,CAC/C,oBAAoB,CAAC,OAAO,CAAC;SAC1B,MAAM,CAAC,gBAAgB,EAAE,SAAS,CAAC;SACnC,MAAM,CAAC,mBAAmB,EAAE,oBAAoB,CAAC;SACjD,MAAM,CAAC,iBAAiB,EAAE,sBAAsB,CAAC,CACrD,CAAC;IACF,OAAO,CAAC,KAAK,EAAE,mBAAmB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAChG,OAAO,CAAC,QAAQ,EAAE,sBAAsB,EAAE,CAAC,OAAO,EAAE,EAAE,CACpD,kBAAkB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAC5C,+BAA+B,EAC/B,uDAAuD,CACxD,CACF,CAAC;IACF,OAAO,CAAC,QAAQ,EAAE,sBAAsB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAClH,OAAO,CAAC,QAAQ,EAAE,sBAAsB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACtG,OAAO,CAAC,UAAU,EAAE,wBAAwB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC;AAC5G,CAAC"}
1
+ {"version":3,"file":"postmortem.js","sourceRoot":"","sources":["../../src/program/postmortem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,eAAe,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAEjG,uDAAuD;AACvD,MAAM,UAAU,yBAAyB,CAAC,OAAgB;IACxD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC,WAAW,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IACpH,MAAM,OAAO,GAAG,CACd,MAAc,EACd,WAAmB,EACnB,YAA2C,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,EAC/D,EAAE,CAAC,mBAAmB,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;IAC7E,MAAM,UAAU,GAAG,CAAC,OAAgB,EAAE,EAAE,CACtC,OAAO;SACJ,MAAM,CAAC,gBAAgB,EAAE,SAAS,CAAC;SACnC,MAAM,CAAC,iBAAiB,EAAE,mBAAmB,CAAC;SAC9C,MAAM,CAAC,qBAAqB,EAAE,8BAA8B,CAAC;SAC7D,MAAM,CAAC,eAAe,EAAE,2CAA2C,CAAC;SACpE,MAAM,CAAC,aAAa,EAAE,kCAAkC,EAAE,KAAK,CAAC;SAChE,MAAM,CAAC,sBAAsB,EAAE,gCAAgC,CAAC;SAChE,MAAM,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,CAAC;IACvD,OAAO,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,OAAO,EAAE,EAAE,CAC/C,oBAAoB,CAAC,OAAO,CAAC;SAC1B,MAAM,CAAC,gBAAgB,EAAE,SAAS,CAAC;SACnC,MAAM,CAAC,mBAAmB,EAAE,oBAAoB,CAAC;SACjD,MAAM,CAAC,iBAAiB,EAAE,sBAAsB,CAAC,CACrD,CAAC;IACF,OAAO,CAAC,KAAK,EAAE,mBAAmB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAChG,OAAO,CAAC,QAAQ,EAAE,sBAAsB,EAAE,CAAC,OAAO,EAAE,EAAE,CACpD,uBAAuB,CAAC,kBAAkB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,MAAM,CACpF,+BAA+B,EAC/B,uDAAuD,CACxD,CACF,CAAC;IACF,OAAO,CAAC,QAAQ,EAAE,sBAAsB,EAAE,CAAC,OAAO,EAAE,EAAE,CACpD,0BAA0B,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,EAAE,aAAa,EAAE,aAAa,CAAC,CACpH,CAAC;IACF,OAAO,CAAC,QAAQ,EAAE,sBAAsB,EAAE,CAAC,OAAO,EAAE,EAAE,CACpD,0BAA0B,CAAC,OAAO,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,gBAAgB,CAAC,CACxG,CAAC;IACF,OAAO,CAAC,UAAU,EAAE,wBAAwB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC;AAC5G,CAAC"}
@@ -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,CAyB9D"}
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"}
@@ -1,6 +1,8 @@
1
1
  import { executeCommand, handleError, printCommandResult } from './shared.js';
2
2
  export function registerWorktreeCommand(program) {
3
- const root = program.command('worktree').description('Report Orca worktree lifecycle events');
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,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,uCAAuC,CAAC,CAAC;IAC9F,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,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;AACzD,CAAC"}
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"}