@agentteams/cli 0.1.91 → 0.1.93

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 (68) hide show
  1. package/.eslintcache +1 -1
  2. package/README.md +36 -0
  3. package/dist/api/codeReview.d.ts.map +1 -1
  4. package/dist/api/codeReview.js +4 -2
  5. package/dist/api/codeReview.js.map +1 -1
  6. package/dist/api/convention.d.ts.map +1 -1
  7. package/dist/api/convention.js +3 -1
  8. package/dist/api/convention.js.map +1 -1
  9. package/dist/api/linear.d.ts.map +1 -1
  10. package/dist/api/linear.js +3 -1
  11. package/dist/api/linear.js.map +1 -1
  12. package/dist/api/task.js +1 -1
  13. package/dist/api/task.js.map +1 -1
  14. package/dist/commands/convention.d.ts +3 -0
  15. package/dist/commands/convention.d.ts.map +1 -1
  16. package/dist/commands/convention.js +35 -5
  17. package/dist/commands/convention.js.map +1 -1
  18. package/dist/commands/doctor.d.ts +5 -0
  19. package/dist/commands/doctor.d.ts.map +1 -1
  20. package/dist/commands/doctor.js +93 -45
  21. package/dist/commands/doctor.js.map +1 -1
  22. package/dist/commands/document.d.ts +11 -0
  23. package/dist/commands/document.d.ts.map +1 -1
  24. package/dist/commands/document.js +37 -12
  25. package/dist/commands/document.js.map +1 -1
  26. package/dist/commands/index.d.ts.map +1 -1
  27. package/dist/commands/index.js +19 -0
  28. package/dist/commands/index.js.map +1 -1
  29. package/dist/commands/init.d.ts +110 -27
  30. package/dist/commands/init.d.ts.map +1 -1
  31. package/dist/commands/init.js +659 -462
  32. package/dist/commands/init.js.map +1 -1
  33. package/dist/commands/initWorktree.d.ts +32 -0
  34. package/dist/commands/initWorktree.d.ts.map +1 -0
  35. package/dist/commands/initWorktree.js +348 -0
  36. package/dist/commands/initWorktree.js.map +1 -0
  37. package/dist/commands/resolve.d.ts +30 -0
  38. package/dist/commands/resolve.d.ts.map +1 -0
  39. package/dist/commands/resolve.js +166 -0
  40. package/dist/commands/resolve.js.map +1 -0
  41. package/dist/index.js +59 -5
  42. package/dist/index.js.map +1 -1
  43. package/dist/utils/agentEntryPoints.d.ts +68 -0
  44. package/dist/utils/agentEntryPoints.d.ts.map +1 -0
  45. package/dist/utils/agentEntryPoints.js +112 -0
  46. package/dist/utils/agentEntryPoints.js.map +1 -0
  47. package/dist/utils/authServer.d.ts +51 -1
  48. package/dist/utils/authServer.d.ts.map +1 -1
  49. package/dist/utils/authServer.js +77 -0
  50. package/dist/utils/authServer.js.map +1 -1
  51. package/dist/utils/doctorOutput.d.ts.map +1 -1
  52. package/dist/utils/doctorOutput.js +7 -3
  53. package/dist/utils/doctorOutput.js.map +1 -1
  54. package/dist/utils/entityId.d.ts.map +1 -1
  55. package/dist/utils/entityId.js +18 -5
  56. package/dist/utils/entityId.js.map +1 -1
  57. package/dist/utils/entityRef.d.ts +52 -0
  58. package/dist/utils/entityRef.d.ts.map +1 -0
  59. package/dist/utils/entityRef.js +259 -0
  60. package/dist/utils/entityRef.js.map +1 -0
  61. package/dist/utils/git.d.ts +28 -0
  62. package/dist/utils/git.d.ts.map +1 -1
  63. package/dist/utils/git.js +43 -0
  64. package/dist/utils/git.js.map +1 -1
  65. package/dist/utils/initOutput.d.ts.map +1 -1
  66. package/dist/utils/initOutput.js +97 -15
  67. package/dist/utils/initOutput.js.map +1 -1
  68. package/package.json +1 -1
@@ -0,0 +1,259 @@
1
+ import { stripEntityIdPrefix } from './entityId.js';
2
+ /**
3
+ * Canonical prefix codes mirror `cli/src/utils/entityId.ts` and
4
+ * `web/src/lib/entityId.ts` (`entityPrefixByType`). The codes live here because
5
+ * the shared `stripEntityIdPrefix` only removes a prefix — it cannot tell which
6
+ * type a prefix belongs to, which is exactly what reverse inference needs.
7
+ * Stripping itself is always delegated, never re-implemented.
8
+ */
9
+ const ENTITY_REF_DESCRIPTORS = [
10
+ { refType: 'plan', prefixCode: 'pln', kind: 'file', resolver: 'agentteams plan download --id <id>' },
11
+ { refType: 'completionReport', prefixCode: 'rpt', kind: 'file', resolver: 'agentteams report download --id <id>' },
12
+ { refType: 'postMortem', prefixCode: 'pmt', kind: 'file', resolver: 'agentteams postmortem download --id <id>' },
13
+ { refType: 'coAction', prefixCode: 'act', kind: 'file', resolver: 'agentteams coaction download --id <id>' },
14
+ { refType: 'document', prefixCode: 'doc', kind: 'file', resolver: 'agentteams document download --id <id>' },
15
+ { refType: 'codeReview', prefixCode: 'rev', kind: 'record', resolver: 'agentteams code-review get --id <id>' },
16
+ {
17
+ refType: 'codeReviewFinding',
18
+ prefixCode: 'rvf',
19
+ kind: 'record',
20
+ resolver: 'agentteams code-review get --finding-id <id>',
21
+ },
22
+ { refType: 'planTask', prefixCode: 'tsk', kind: 'record', resolver: 'agentteams task get --task-id <id>' },
23
+ {
24
+ refType: 'convention',
25
+ prefixCode: 'cnv',
26
+ // A convention reference usually carries the local path it was deployed to,
27
+ // so the default resolution is a local read; the id-only form falls back to
28
+ // a server fetch (see `resolveConventionKind`).
29
+ kind: 'localFile',
30
+ resolver: 'read the local path from the reference',
31
+ },
32
+ {
33
+ refType: 'LINEAR_ISSUE',
34
+ kind: 'record',
35
+ external: true,
36
+ resolver: 'agentteams linear issue get --issue-id <id>',
37
+ },
38
+ { refType: 'GITHUB_ISSUE', kind: 'external', external: true, resolver: 'gh issue view <number> --repo <owner/repo>' },
39
+ { refType: 'GITHUB_PR', kind: 'external', external: true, resolver: 'gh pr view <number> --repo <owner/repo>' },
40
+ {
41
+ refType: 'GITLAB_ISSUE',
42
+ kind: 'external',
43
+ external: true,
44
+ resolver: 'glab issue view <iid> --repo <projectPath>',
45
+ },
46
+ {
47
+ refType: 'GITLAB_MERGE_REQUEST',
48
+ kind: 'external',
49
+ external: true,
50
+ resolver: 'glab mr view <iid> --repo <projectPath>',
51
+ },
52
+ { refType: 'BITBUCKET_ISSUE', kind: 'external', external: true, resolver: 'open the issue URL' },
53
+ { refType: 'BITBUCKET_PR', kind: 'external', external: true, resolver: 'open the pull request URL' },
54
+ ];
55
+ const descriptorByRefType = new Map(ENTITY_REF_DESCRIPTORS.map((descriptor) => [descriptor.refType.toLowerCase(), descriptor]));
56
+ const descriptorByPrefixCode = new Map(ENTITY_REF_DESCRIPTORS.filter((descriptor) => descriptor.prefixCode).map((descriptor) => [
57
+ descriptor.prefixCode,
58
+ descriptor,
59
+ ]));
60
+ export const SUPPORTED_REF_FORMS = [
61
+ 'type:id (e.g. plan:agentteams_pln_<uuid>)',
62
+ 'type:id:path (convention:<id>:.agentteams/rules/context.md)',
63
+ 'parent:child (codeReview:<reviewId>:<findingId>, plan:<planId>:<taskId>)',
64
+ 'bare prefixed id (agentteams_doc_<uuid>)',
65
+ 'external marker (LINEAR_ISSUE:<uuid>, GITHUB_ISSUE:<owner/repo#n>, GITHUB_PR, GITLAB_ISSUE, GITLAB_MERGE_REQUEST, BITBUCKET_ISSUE, BITBUCKET_PR)',
66
+ 'a whole markdown link wrapping any of the above ([label](type:id))',
67
+ ].join('; ');
68
+ const SUPPORTED_REF_TYPES = ENTITY_REF_DESCRIPTORS.map((descriptor) => descriptor.refType).join(', ');
69
+ function unsupported(input, reason) {
70
+ return new Error(`Unsupported entity reference: ${input} (${reason}). Supported forms: ${SUPPORTED_REF_FORMS}. Supported types: ${SUPPORTED_REF_TYPES}. A plain https link is not an entity reference — open the URL directly.`);
71
+ }
72
+ const MARKDOWN_LINK_PATTERN = /^\[([^\]]*)\]\((.+)\)$/;
73
+ const PREFIXED_ID_PATTERN = /^agentteams_([a-z]{3})_(.+)$/;
74
+ /**
75
+ * Every AgentTeams entity id is a bare UUID (mirrors `uuidBodyPattern` in
76
+ * `web/src/lib/entityId.ts`). References arrive from user-authored text, and a
77
+ * parsed id is interpolated straight into an API path, so anything that is not
78
+ * a UUID is rejected here rather than sent to the server. External markers are
79
+ * exempt — their locators are not AgentTeams ids.
80
+ */
81
+ const ENTITY_UUID_PATTERN = /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/;
82
+ /** Sentinel host the web editor uses when a reference has no real web URL. */
83
+ const ENTITY_REF_SENTINEL_HOST = '__entity_ref__';
84
+ /**
85
+ * Unwrap the layers a reference can arrive in — a whole markdown link and/or
86
+ * the `https://__entity_ref__/<encoded token>` URL the editor serializes — down
87
+ * to the bare `type:id` token.
88
+ */
89
+ function unwrapRefTarget(input) {
90
+ const linkMatch = input.match(MARKDOWN_LINK_PATTERN);
91
+ const label = linkMatch?.[1]?.trim() || undefined;
92
+ let target = (linkMatch?.[2] ?? input).trim();
93
+ if (target.startsWith(`https://${ENTITY_REF_SENTINEL_HOST}/`) ||
94
+ target.startsWith(`http://${ENTITY_REF_SENTINEL_HOST}/`)) {
95
+ const encoded = target.slice(target.indexOf(ENTITY_REF_SENTINEL_HOST) + ENTITY_REF_SENTINEL_HOST.length + 1);
96
+ target = decodeURIComponent(encoded).trim();
97
+ }
98
+ return { target, label };
99
+ }
100
+ function buildExternalTarget(refType, locator) {
101
+ const hashIndex = locator.lastIndexOf('#');
102
+ const bangIndex = locator.lastIndexOf('!');
103
+ if (refType === 'GITHUB_ISSUE' || refType === 'GITHUB_PR') {
104
+ if (hashIndex <= 0)
105
+ return {};
106
+ const repo = locator.slice(0, hashIndex);
107
+ const number = locator.slice(hashIndex + 1);
108
+ const segment = refType === 'GITHUB_ISSUE' ? 'issues' : 'pull';
109
+ const command = refType === 'GITHUB_ISSUE' ? 'issue' : 'pr';
110
+ return {
111
+ url: `https://github.com/${repo}/${segment}/${number}`,
112
+ suggestedCommand: `gh ${command} view ${number} --repo ${repo}`,
113
+ };
114
+ }
115
+ if (refType === 'GITLAB_ISSUE' || refType === 'GITLAB_MERGE_REQUEST') {
116
+ const separatorIndex = refType === 'GITLAB_ISSUE' ? hashIndex : bangIndex;
117
+ if (separatorIndex <= 0)
118
+ return {};
119
+ const projectPath = locator.slice(0, separatorIndex);
120
+ const iid = locator.slice(separatorIndex + 1);
121
+ const command = refType === 'GITLAB_ISSUE' ? 'issue' : 'mr';
122
+ // No url: the GitLab host can be self-managed and is not derivable from the
123
+ // project path, so `glab` (which reads the configured host) is the answer.
124
+ return { suggestedCommand: `glab ${command} view ${iid} --repo ${projectPath}` };
125
+ }
126
+ if (refType === 'BITBUCKET_ISSUE' || refType === 'BITBUCKET_PR') {
127
+ if (hashIndex <= 0)
128
+ return {};
129
+ const repo = locator.slice(0, hashIndex);
130
+ const id = locator.slice(hashIndex + 1);
131
+ const segment = refType === 'BITBUCKET_ISSUE' ? 'issues' : 'pull-requests';
132
+ return { url: `https://bitbucket.org/${repo}/${segment}/${id}` };
133
+ }
134
+ return {};
135
+ }
136
+ function buildFallbackCommand(descriptor, parsed) {
137
+ return descriptor.resolver.replace('<id>', parsed.id);
138
+ }
139
+ /**
140
+ * A `convention:<id>` reference without a path cannot be read locally, so it
141
+ * degrades to a server fetch instead of the usual local read.
142
+ */
143
+ function resolveConventionKind(path) {
144
+ return path ? 'localFile' : 'record';
145
+ }
146
+ /**
147
+ * Parse an entity reference token into the type, bare id, and resolution kind.
148
+ * Pure: no filesystem, no network.
149
+ */
150
+ export function parseEntityRef(input) {
151
+ if (typeof input !== 'string' || input.trim().length === 0) {
152
+ throw unsupported(String(input), 'empty reference');
153
+ }
154
+ const raw = input.trim();
155
+ const { target, label } = unwrapRefTarget(raw);
156
+ if (target.length === 0) {
157
+ throw unsupported(raw, 'empty reference target');
158
+ }
159
+ const prefixedMatch = target.match(PREFIXED_ID_PATTERN);
160
+ if (prefixedMatch) {
161
+ const descriptor = descriptorByPrefixCode.get(prefixedMatch[1]);
162
+ if (!descriptor) {
163
+ throw unsupported(raw, `unknown id prefix agentteams_${prefixedMatch[1]}_`);
164
+ }
165
+ const id = stripEntityIdPrefix(target);
166
+ return finalize({ raw, label, descriptor, id });
167
+ }
168
+ const typeSeparator = target.indexOf(':');
169
+ if (typeSeparator <= 0) {
170
+ throw unsupported(raw, 'no type could be determined');
171
+ }
172
+ const typeToken = target.slice(0, typeSeparator);
173
+ const rest = target.slice(typeSeparator + 1).trim();
174
+ const descriptor = descriptorByRefType.get(typeToken.toLowerCase());
175
+ if (!descriptor) {
176
+ throw unsupported(raw, `unknown reference type "${typeToken}"`);
177
+ }
178
+ if (rest.length === 0) {
179
+ throw unsupported(raw, 'reference has no id');
180
+ }
181
+ // External locators (`owner/repo#12`, `group/project!7`) never contain a
182
+ // colon, so they are taken whole rather than split further.
183
+ if (descriptor.external) {
184
+ return finalize({ raw, label, descriptor, id: rest, skipPrefixStrip: true });
185
+ }
186
+ const idSeparator = rest.indexOf(':');
187
+ const idPart = idSeparator === -1 ? rest : rest.slice(0, idSeparator).trim();
188
+ const thirdPart = idSeparator === -1 ? undefined : rest.slice(idSeparator + 1).trim();
189
+ if (idPart.length === 0) {
190
+ throw unsupported(raw, 'reference has no id');
191
+ }
192
+ if (thirdPart === undefined) {
193
+ return finalize({ raw, label, descriptor, id: idPart });
194
+ }
195
+ if (thirdPart.length === 0) {
196
+ throw unsupported(raw, 'three-part reference has an empty third segment');
197
+ }
198
+ // The same three-part grammar carries a local path for conventions and a
199
+ // child id for code reviews and plans, so the parent type decides.
200
+ if (descriptor.refType === 'convention') {
201
+ return finalize({ raw, label, descriptor, id: idPart, path: thirdPart });
202
+ }
203
+ if (descriptor.refType === 'codeReview') {
204
+ return finalize({
205
+ raw,
206
+ label,
207
+ descriptor: descriptorByRefType.get('codereviewfinding'),
208
+ id: thirdPart,
209
+ parentId: stripEntityIdPrefix(idPart),
210
+ });
211
+ }
212
+ if (descriptor.refType === 'plan') {
213
+ return finalize({
214
+ raw,
215
+ label,
216
+ descriptor: descriptorByRefType.get('plantask'),
217
+ id: thirdPart,
218
+ parentId: stripEntityIdPrefix(idPart),
219
+ });
220
+ }
221
+ throw unsupported(raw, `three-part references are not supported for type "${descriptor.refType}"`);
222
+ }
223
+ function finalize(input) {
224
+ const { raw, label, descriptor, parentId, path, skipPrefixStrip } = input;
225
+ const id = skipPrefixStrip ? input.id : stripEntityIdPrefix(input.id);
226
+ if (descriptor.prefixCode) {
227
+ if (!ENTITY_UUID_PATTERN.test(id)) {
228
+ throw unsupported(raw, `"${id}" is not a valid ${descriptor.refType} id (expected a UUID)`);
229
+ }
230
+ if (parentId !== undefined && !ENTITY_UUID_PATTERN.test(parentId)) {
231
+ throw unsupported(raw, `"${parentId}" is not a valid parent id (expected a UUID)`);
232
+ }
233
+ }
234
+ const kind = descriptor.refType === 'convention' ? resolveConventionKind(path) : descriptor.kind;
235
+ const external = descriptor.external === true;
236
+ const { url, suggestedCommand } = external ? buildExternalTarget(descriptor.refType, id) : {};
237
+ const parsed = {
238
+ raw,
239
+ refType: descriptor.refType,
240
+ id,
241
+ kind,
242
+ external,
243
+ // A derived `gh`/`glab` invocation is strictly more useful than the generic
244
+ // template, so it doubles as the fallback for SCM references.
245
+ fallbackCommand: suggestedCommand ?? buildFallbackCommand(descriptor, { id }),
246
+ };
247
+ if (label)
248
+ parsed.label = label;
249
+ if (parentId)
250
+ parsed.parentId = parentId;
251
+ if (path)
252
+ parsed.path = path;
253
+ if (url)
254
+ parsed.url = url;
255
+ if (suggestedCommand)
256
+ parsed.suggestedCommand = suggestedCommand;
257
+ return parsed;
258
+ }
259
+ //# sourceMappingURL=entityRef.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entityRef.js","sourceRoot":"","sources":["../../src/utils/entityRef.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,34 @@ export declare function collectGitMetrics(execFileSyncImpl?: ExecFileSyncFn, opt
21
21
  }): GitMetrics;
22
22
  export declare function getGitRemoteOriginUrl(execFileSyncImpl?: ExecFileSyncFn): string | undefined;
23
23
  export declare function resolveMainCheckoutRoot(cwd: string, execFileSyncImpl?: ExecFileSyncFn): string | null;
24
+ /**
25
+ * Does this repository already use linked worktrees?
26
+ *
27
+ * `git worktree list --porcelain` emits one blank-line separated block per
28
+ * worktree, the main checkout first. Counting `worktree ` lines is not enough:
29
+ * a worktree whose directory has been deleted keeps its block — marked
30
+ * `prunable` — until `git worktree prune` runs, so a repository that no longer
31
+ * has any linked worktree would still report one.
32
+ *
33
+ * This deliberately does not try to predict a *future* `git worktree add`: there
34
+ * is no signal for that, and guessing wrong in the permissive direction is what
35
+ * made `agentteams init` write a shared hooks directory for every project.
36
+ * `agentteams doctor --install-worktree-hook` installs the hook on demand, so a
37
+ * wrong guess here costs one command.
38
+ */
39
+ export declare function hasLinkedGitWorktrees(cwd: string, execFileSyncImpl?: ExecFileSyncFn): boolean;
40
+ /**
41
+ * The single rule for "may the managed post-checkout hook be written to this
42
+ * repository's shared hooks directory?".
43
+ *
44
+ * `init` and `doctor` both install that hook, and they must agree: when only
45
+ * `init` gated the write, running `agentteams init` a second time took the
46
+ * configured-project fast path, which calls `doctor`, which installed the hook
47
+ * anyway — the gate existed but never held.
48
+ */
49
+ export declare function shouldInstallWorktreeHook(cwd: string, options?: {
50
+ force?: boolean;
51
+ }, execFileSyncImpl?: ExecFileSyncFn): boolean;
24
52
  export declare function resolveGitTopLevel(cwd: string, execFileSyncImpl?: ExecFileSyncFn): string | null;
25
53
  export {};
26
54
  //# sourceMappingURL=git.d.ts.map
@@ -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,GAC3D,MAAM,GAAG,SAAS,CAEpB;AAED,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,MAAM,EACX,gBAAgB,GAAE,cAA0C,GAC3D,MAAM,GAAG,IAAI,CAcf;AAED,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,EACX,gBAAgB,GAAE,cAA0C,GAC3D,MAAM,GAAG,IAAI,CASf"}
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,GAC3D,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
@@ -34,6 +34,49 @@ export function resolveMainCheckoutRoot(cwd, execFileSyncImpl = childProcess.exe
34
34
  return dirname(absoluteCommonDir);
35
35
  }
36
36
  }
37
+ /**
38
+ * Does this repository already use linked worktrees?
39
+ *
40
+ * `git worktree list --porcelain` emits one blank-line separated block per
41
+ * worktree, the main checkout first. Counting `worktree ` lines is not enough:
42
+ * a worktree whose directory has been deleted keeps its block — marked
43
+ * `prunable` — until `git worktree prune` runs, so a repository that no longer
44
+ * has any linked worktree would still report one.
45
+ *
46
+ * This deliberately does not try to predict a *future* `git worktree add`: there
47
+ * is no signal for that, and guessing wrong in the permissive direction is what
48
+ * made `agentteams init` write a shared hooks directory for every project.
49
+ * `agentteams doctor --install-worktree-hook` installs the hook on demand, so a
50
+ * wrong guess here costs one command.
51
+ */
52
+ export function hasLinkedGitWorktrees(cwd, execFileSyncImpl = childProcess.execFileSync) {
53
+ const output = runGit(execFileSyncImpl, ['worktree', 'list', '--porcelain'], cwd);
54
+ if (!output)
55
+ return false;
56
+ const records = output
57
+ .split(/\r?\n\s*\r?\n/)
58
+ .map((block) => block
59
+ .split(/\r?\n/)
60
+ .map((line) => line.trim())
61
+ .filter((line) => line.length > 0))
62
+ .filter((lines) => lines.some((line) => line.startsWith('worktree ')));
63
+ // The first record is the main checkout, which is never a linked worktree.
64
+ return records.slice(1).some((lines) => !lines.some((line) => line === 'prunable' || line.startsWith('prunable ')));
65
+ }
66
+ /**
67
+ * The single rule for "may the managed post-checkout hook be written to this
68
+ * repository's shared hooks directory?".
69
+ *
70
+ * `init` and `doctor` both install that hook, and they must agree: when only
71
+ * `init` gated the write, running `agentteams init` a second time took the
72
+ * configured-project fast path, which calls `doctor`, which installed the hook
73
+ * anyway — the gate existed but never held.
74
+ */
75
+ export function shouldInstallWorktreeHook(cwd, options, execFileSyncImpl = childProcess.execFileSync) {
76
+ if (options?.force === true)
77
+ return true;
78
+ return hasLinkedGitWorktrees(cwd, execFileSyncImpl);
79
+ }
37
80
  export function resolveGitTopLevel(cwd, execFileSyncImpl = childProcess.execFileSync) {
38
81
  const topLevel = runGit(execFileSyncImpl, ['rev-parse', '--show-toplevel'], cwd);
39
82
  if (!topLevel)
@@ -1 +1 @@
1
- {"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/utils/git.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/utils/git.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"initOutput.d.ts","sourceRoot":"","sources":["../../src/utils/initOutput.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,MAAM,CAAC;AAqDhD,wBAAgB,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAqI/E"}
1
+ {"version":3,"file":"initOutput.d.ts","sourceRoot":"","sources":["../../src/utils/initOutput.ts"],"names":[],"mappings":"AAUA,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,MAAM,CAAC;AAsGhD,wBAAgB,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAwK/E"}
@@ -30,6 +30,54 @@ function isWorktreeInitResult(result) {
30
30
  r.materialization === 'existing' ||
31
31
  r.materialization === 'blocked'));
32
32
  }
33
+ function isConfiguredProjectInitResult(result) {
34
+ if (!result || typeof result !== 'object')
35
+ return false;
36
+ const r = result;
37
+ return (r.success === true &&
38
+ r.mode === 'configured-project' &&
39
+ typeof r.configPath === 'string' &&
40
+ typeof r.conventionPath === 'string' &&
41
+ Array.isArray(r.readiness));
42
+ }
43
+ function printAgentFiles(agentFiles) {
44
+ for (const file of agentFiles ?? []) {
45
+ if (file.type === 'created') {
46
+ console.log(`✓ Agent file created: ${file.relativePath}`);
47
+ }
48
+ else if (file.type === 'example') {
49
+ console.log(`✓ Example file created: ${file.relativePath}`);
50
+ }
51
+ else {
52
+ console.log(`- Agent file already exists, left untouched: ${file.relativePath}`);
53
+ }
54
+ }
55
+ }
56
+ function printReadiness(readiness) {
57
+ console.log('');
58
+ console.log('Readiness:');
59
+ for (const step of readiness) {
60
+ const line = ` [${step.status}] ${step.stage}`;
61
+ if (step.status === 'DEGRADED') {
62
+ console.warn(line);
63
+ for (const issue of step.issues) {
64
+ console.warn(` ${issue.message}`);
65
+ }
66
+ console.warn(` Retry: ${step.retryCommand}`);
67
+ }
68
+ else {
69
+ console.log(line);
70
+ // Issues print at every status, not just SKIPPED. The `local-adapters`
71
+ // rollup turns READY as soon as one adapter succeeded — and `.gitignore`
72
+ // always does — so a run that created no entry point file and installed no
73
+ // hook still reports READY. Printing only the tag there left the reasons
74
+ // sitting in the JSON payload with nothing on screen.
75
+ for (const issue of step.issues) {
76
+ console.log(` ${issue.message}`);
77
+ }
78
+ }
79
+ }
80
+ }
33
81
  export function printInitResult(result, format) {
34
82
  if (format === 'json') {
35
83
  console.log(formatOutput(result));
@@ -80,6 +128,36 @@ export function printInitResult(result, format) {
80
128
  console.log(' OAuth and interactive prompts were skipped because the main checkout is already configured.');
81
129
  return;
82
130
  }
131
+ if (isConfiguredProjectInitResult(result)) {
132
+ console.log('✓ Existing project binding reused; browser authentication was skipped.');
133
+ console.log(`✓ Config verified: ${result.configPath}`);
134
+ if (result.conventionError) {
135
+ console.warn(`⚠ Convention sync is degraded: ${result.conventionError}`);
136
+ }
137
+ else if (result.conventionsUpdated) {
138
+ console.log('✓ Conventions updated in .agentteams/.');
139
+ }
140
+ else {
141
+ console.log('✓ Conventions/platform guides already up to date.');
142
+ }
143
+ // A checkmark the readiness list below immediately contradicts reads as
144
+ // "done" to anyone skimming the log, so the mark follows doctor's verdict.
145
+ const doctorStatus = result.doctor?.status;
146
+ if (doctorStatus === 'READY') {
147
+ console.log('✓ Local adapters checked by agentteams doctor.');
148
+ }
149
+ else if (doctorStatus === 'DEGRADED') {
150
+ console.warn('⚠ Local adapters still need attention (agentteams doctor: DEGRADED).');
151
+ }
152
+ else if (doctorStatus) {
153
+ console.warn(`⚠ Local adapters were not checked (agentteams doctor: ${doctorStatus}).`);
154
+ }
155
+ // The fast path re-applies the local adapters, so a file it repaired has to
156
+ // be visible here too — otherwise the only proof of the write is on disk.
157
+ printAgentFiles(result.agentFiles);
158
+ printReadiness(result.readiness);
159
+ return;
160
+ }
83
161
  if (!isInitResult(result)) {
84
162
  console.log(typeof result === 'string' ? result : formatOutput(result));
85
163
  return;
@@ -95,9 +173,9 @@ export function printInitResult(result, format) {
95
173
  ? '✓ Login stored in the OS credential store; no long-lived key was written to this repository.'
96
174
  : '⚠ Login kept in memory for this process only.');
97
175
  }
98
- if (result.agentKeyRevoked === true) {
99
- console.log('✓ The setup agent key was revoked; nothing long-lived is left on the server.');
100
- }
176
+ // 경로는 setup용 agent key를 애초에 발급하지 않는다. "발급했다가 폐기했다"는
177
+ // 이전 안내 줄은 그래서 사라졌다.
178
+ console.log('✓ No agent API key was created for this setup.');
101
179
  }
102
180
  // The compatibility path has a hard 30-day server-side TTL and no renewal of its own.
103
181
  // Saying so here is the difference between a planned reissue and a runner that starts
@@ -112,6 +190,9 @@ export function printInitResult(result, format) {
112
190
  console.log(`✓ Config saved: ${result.configPath}`);
113
191
  console.log(`✓ Convention saved: ${result.conventionPath}`);
114
192
  console.log(`✓ Conventions synced to .agentteams/`);
193
+ if (result.readiness) {
194
+ printReadiness(result.readiness);
195
+ }
115
196
  const hook = result.postCheckoutHook;
116
197
  if (hook) {
117
198
  if (hook.status === 'ready') {
@@ -122,20 +203,21 @@ export function printInitResult(result, format) {
122
203
  console.warn(` New worktrees will need 'agentteams init' run manually.`);
123
204
  }
124
205
  }
125
- if (result.agentFiles && result.agentFiles.length > 0) {
126
- for (const file of result.agentFiles) {
127
- if (file.type === 'created') {
128
- console.log(`✓ Agent file created: ${file.relativePath}`);
129
- }
130
- else {
131
- console.log(`✓ Example file created: ${file.relativePath}`);
132
- }
133
- }
134
- }
206
+ printAgentFiles(result.agentFiles);
135
207
  console.log('');
136
208
  console.log('Next steps:');
137
- console.log(' 1. Check the generated agent files (CLAUDE.md, AGENTS.md, etc.)');
138
- console.log(' If a -example file was created, merge it into your existing file.');
209
+ // Pointing at "the generated agent files" when the run generated none sent
210
+ // users looking for a CLAUDE.md that was never written. The readiness list
211
+ // above already says why it was skipped; this line offers the way to get one.
212
+ const writtenAgentFiles = (result.agentFiles ?? []).filter((file) => file.type !== 'skipped');
213
+ if (writtenAgentFiles.length > 0) {
214
+ console.log(` 1. Check the generated agent files (${writtenAgentFiles.map((f) => f.relativePath).join(', ')})`);
215
+ console.log(' If a -example file was created, merge it into your existing file.');
216
+ }
217
+ else {
218
+ console.log(' 1. No agent entry point file was created in this run.');
219
+ console.log(" Create one with 'agentteams init --agent-files CLAUDE.md' so agents load .agentteams/convention.md.");
220
+ }
139
221
  if (result.seedPlanId) {
140
222
  const seedPlanDisplayId = `agentteams_pln_${result.seedPlanId}`;
141
223
  console.log(' 2. A "Set Up Project Conventions" plan is queued for this project.');
@@ -1 +1 @@
1
- {"version":3,"file":"initOutput.js","sourceRoot":"","sources":["../../src/utils/initOutput.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"initOutput.js","sourceRoot":"","sources":["../../src/utils/initOutput.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentteams/cli",
3
- "version": "0.1.91",
3
+ "version": "0.1.93",
4
4
  "description": "CLI tool for AgentTeams API",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",