@agentteams/cli 0.1.92 → 0.1.94

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 (69) hide show
  1. package/.eslintcache +1 -1
  2. package/README.md +2 -0
  3. package/dist/api/linear.d.ts +1 -1
  4. package/dist/api/linear.d.ts.map +1 -1
  5. package/dist/api/linear.js +8 -2
  6. package/dist/api/linear.js.map +1 -1
  7. package/dist/api/report.d.ts +1 -0
  8. package/dist/api/report.d.ts.map +1 -1
  9. package/dist/api/report.js +5 -0
  10. package/dist/api/report.js.map +1 -1
  11. package/dist/commands/convention.d.ts +3 -0
  12. package/dist/commands/convention.d.ts.map +1 -1
  13. package/dist/commands/convention.js +35 -5
  14. package/dist/commands/convention.js.map +1 -1
  15. package/dist/commands/doctor.d.ts +5 -0
  16. package/dist/commands/doctor.d.ts.map +1 -1
  17. package/dist/commands/doctor.js +93 -45
  18. package/dist/commands/doctor.js.map +1 -1
  19. package/dist/commands/init.d.ts +110 -27
  20. package/dist/commands/init.d.ts.map +1 -1
  21. package/dist/commands/init.js +659 -462
  22. package/dist/commands/init.js.map +1 -1
  23. package/dist/commands/initWorktree.d.ts +32 -0
  24. package/dist/commands/initWorktree.d.ts.map +1 -0
  25. package/dist/commands/initWorktree.js +348 -0
  26. package/dist/commands/initWorktree.js.map +1 -0
  27. package/dist/commands/report.d.ts.map +1 -1
  28. package/dist/commands/report.js +40 -7
  29. package/dist/commands/report.js.map +1 -1
  30. package/dist/commands/resolve.js +1 -1
  31. package/dist/commands/resolve.js.map +1 -1
  32. package/dist/index.js +31 -8
  33. package/dist/index.js.map +1 -1
  34. package/dist/mcp/catalog.d.ts +3 -0
  35. package/dist/mcp/catalog.d.ts.map +1 -1
  36. package/dist/mcp/catalog.js +4 -0
  37. package/dist/mcp/catalog.js.map +1 -1
  38. package/dist/mcp/localTools.d.ts +65 -0
  39. package/dist/mcp/localTools.d.ts.map +1 -0
  40. package/dist/mcp/localTools.js +210 -0
  41. package/dist/mcp/localTools.js.map +1 -0
  42. package/dist/mcp/server.d.ts.map +1 -1
  43. package/dist/mcp/server.js +6 -5
  44. package/dist/mcp/server.js.map +1 -1
  45. package/dist/mcp/writeTools.d.ts +3 -12
  46. package/dist/mcp/writeTools.d.ts.map +1 -1
  47. package/dist/mcp/writeTools.js +2 -41
  48. package/dist/mcp/writeTools.js.map +1 -1
  49. package/dist/utils/agentEntryPoints.d.ts +68 -0
  50. package/dist/utils/agentEntryPoints.d.ts.map +1 -0
  51. package/dist/utils/agentEntryPoints.js +112 -0
  52. package/dist/utils/agentEntryPoints.js.map +1 -0
  53. package/dist/utils/authServer.d.ts +51 -1
  54. package/dist/utils/authServer.d.ts.map +1 -1
  55. package/dist/utils/authServer.js +77 -0
  56. package/dist/utils/authServer.js.map +1 -1
  57. package/dist/utils/doctorOutput.d.ts.map +1 -1
  58. package/dist/utils/doctorOutput.js +7 -3
  59. package/dist/utils/doctorOutput.js.map +1 -1
  60. package/dist/utils/git.d.ts +28 -0
  61. package/dist/utils/git.d.ts.map +1 -1
  62. package/dist/utils/git.js +43 -0
  63. package/dist/utils/git.js.map +1 -1
  64. package/dist/utils/initOutput.d.ts.map +1 -1
  65. package/dist/utils/initOutput.js +97 -15
  66. package/dist/utils/initOutput.js.map +1 -1
  67. package/dist/utils/report.d.ts +1 -1
  68. package/dist/utils/report.js +1 -1
  69. package/package.json +1 -1
@@ -0,0 +1,210 @@
1
+ import { defineToolDiscoveryMetadata, executeContextTool } from '@agentteams/context-tools';
2
+ import { existsSync } from 'node:fs';
3
+ import { posix, resolve as resolvePath } from 'node:path';
4
+ import { z } from 'zod';
5
+ import { getLinearIssue } from '../api/linear.js';
6
+ import { getPlanTask } from '../api/task.js';
7
+ import { parseEntityRef, SUPPORTED_REF_FORMS } from '../utils/entityRef.js';
8
+ import { GUIDE_RECORD_KINDS, describeMissingGuideHash, resolvePlatformGuide } from './guides.js';
9
+ import { createCliContextToolsClient } from './tools.js';
10
+ /** Credentials can expire mid-session, so headers are resolved per call, never captured. */
11
+ export const resolveToolHeaders = (context) => context.resolveHeaders?.() ?? Promise.resolve(context.headers);
12
+ const guideDiscovery = defineToolDiscoveryMetadata({
13
+ domain: 'guides',
14
+ profiles: ['full', 'documents', 'comments'],
15
+ });
16
+ /**
17
+ * `search` on purpose: resolving a reference is the same "find the record this
18
+ * text points at" job, and a new discovery domain would have to be added to the
19
+ * shared package — a release chain this CLI-local tool exists to avoid.
20
+ *
21
+ * `full` only. The narrow profiles are scoped surfaces (`documents` may not read
22
+ * plans, `minimal` is defined as exactly the always-on set), and this tool
23
+ * dispatches to *every* entity type — advertising it inside a narrow profile
24
+ * would hand that profile a way around its own scope.
25
+ *
26
+ * `deferable` is left at its default (true) on purpose: in the shared package
27
+ * `deferable: false` marks the always-on `minimal` set, and a `full`-only tool
28
+ * this size has no business being pre-loaded into every request.
29
+ */
30
+ const resolveDiscovery = defineToolDiscoveryMetadata({
31
+ domain: 'search',
32
+ profiles: ['full'],
33
+ });
34
+ const guideGetSpec = {
35
+ name: 'agentteams_guide_get',
36
+ title: 'Get AgentTeams Record Guide',
37
+ description: [
38
+ 'Fetch the platform guide that governs how a record type must be written.',
39
+ 'Reads this project’s local copy when the session sits in it, and falls back to the server otherwise.',
40
+ 'Returns the full guide body plus the guideHash to pass to the matching write tool.',
41
+ 'Read this before any AgentTeams write tool call — the rules it states (visibility, tag policy, structure) are enforced server-side.',
42
+ 'If it reports that the local guide hash is unknown, run `agentteams convention download` in the project.',
43
+ ].join(' '),
44
+ discovery: guideDiscovery,
45
+ inputSchema: z.strictObject({
46
+ recordKind: z
47
+ .enum(GUIDE_RECORD_KINDS)
48
+ .describe('Record type whose guide you need. "document" and "comment" are write-enabled.'),
49
+ }),
50
+ handler: async (args, context) => {
51
+ const guide = await resolvePlatformGuide(args.recordKind, {
52
+ projectRoot: context.projectRoot,
53
+ apiUrl: context.apiUrl,
54
+ headers: await resolveToolHeaders(context),
55
+ });
56
+ const warning = describeMissingGuideHash(guide);
57
+ return {
58
+ recordKind: guide.recordKind,
59
+ fileName: guide.fileName,
60
+ source: guide.source,
61
+ ...(guide.filePath ? { filePath: guide.filePath } : {}),
62
+ guideHash: guide.guideHash,
63
+ content: guide.content,
64
+ ...(warning ? { warning } : {}),
65
+ };
66
+ },
67
+ };
68
+ /**
69
+ * Body-bearing and record references both end up inlined, so one map covers
70
+ * both CLI `kind`s. Absent types (`planTask`, `LINEAR_ISSUE`) have no shared
71
+ * read tool and are dispatched to the CLI API layer directly.
72
+ */
73
+ const READ_TOOL_BY_REF_TYPE = {
74
+ plan: 'agentteams_plan_get',
75
+ completionReport: 'agentteams_report_get',
76
+ postMortem: 'agentteams_postmortem_get',
77
+ coAction: 'agentteams_coaction_get',
78
+ document: 'agentteams_document_get',
79
+ convention: 'agentteams_convention_get',
80
+ codeReview: 'agentteams_codereview_get',
81
+ codeReviewFinding: 'agentteams_codereview_finding_get',
82
+ };
83
+ /** Conventions are only ever deployed under `.agentteams/`. */
84
+ const CONVENTION_PATH_ROOT = '.agentteams';
85
+ /**
86
+ * A reference is user-authored text, and this envelope turns its path segment
87
+ * into a machine-readable "read this file" instruction — so the path has to stay
88
+ * inside the project's `.agentteams/` subtree or a crafted reference could
89
+ * nominate any file on the machine. The check is purely lexical, and runs before
90
+ * the path is anchored to anything; a path that escapes degrades to the server
91
+ * record rather than being trusted.
92
+ */
93
+ function containedConventionPath(path) {
94
+ const normalized = posix.normalize(path.replaceAll('\\', '/'));
95
+ if (posix.isAbsolute(normalized) || /^[a-zA-Z]:/.test(normalized))
96
+ return null;
97
+ const relative = posix.relative(CONVENTION_PATH_ROOT, normalized);
98
+ if (relative.length === 0 || relative.startsWith('..'))
99
+ return null;
100
+ return normalized;
101
+ }
102
+ /**
103
+ * Turn a contained relative path into the envelope's local-file fields, or null
104
+ * when the caller should fall back to the server record.
105
+ *
106
+ * With a verified {@link McpToolContext.projectRoot} the path is anchored and
107
+ * checked for existence, so a convention that was never downloaded degrades to
108
+ * the server copy exactly like `agentteams resolve` does — an MCP server is
109
+ * spawned from an arbitrary cwd, so a bare relative path would otherwise be read
110
+ * against the host agent's directory and could hit an unrelated repository's
111
+ * file of the same name. Without a project root the relative path is still the
112
+ * most this tool knows, and the message has to say what it is relative to.
113
+ */
114
+ function describeLocalFile(path, projectRoot) {
115
+ if (!projectRoot) {
116
+ return {
117
+ message: `Read this project file yourself: ${path} (relative to the project root — this session is not bound to a local checkout)`,
118
+ path,
119
+ };
120
+ }
121
+ const filePath = resolvePath(projectRoot, path);
122
+ if (!existsSync(filePath))
123
+ return null;
124
+ return { message: `Read this project file yourself: ${filePath}`, path, filePath };
125
+ }
126
+ async function resolveInlineRecord(parsed, context) {
127
+ if (parsed.refType === 'planTask') {
128
+ // Not in the shared `ContextToolsClient` contract — see the module note.
129
+ return getPlanTask(context.apiUrl, context.projectId, await resolveToolHeaders(context), parsed.id, parsed.parentId);
130
+ }
131
+ if (parsed.refType === 'LINEAR_ISSUE') {
132
+ // `projectId` is not optional in practice: without it a personal-token
133
+ // session (the default for `agentteams mcp`) gets 401 from the Linear route.
134
+ return getLinearIssue(context.apiUrl, await resolveToolHeaders(context), parsed.id, context.projectId);
135
+ }
136
+ const toolName = READ_TOOL_BY_REF_TYPE[parsed.refType];
137
+ if (!toolName) {
138
+ throw new Error(`No MCP read tool for reference type: ${parsed.refType}`);
139
+ }
140
+ // Delegating keeps truncation and `omitDocumentEditorMirror` defined once, in
141
+ // the read tool, instead of forking a second policy here.
142
+ return executeContextTool(toolName, parsed.refType === 'codeReviewFinding' && parsed.parentId
143
+ ? { id: parsed.id, codeReviewId: parsed.parentId }
144
+ : { id: parsed.id }, createCliContextToolsClient(context));
145
+ }
146
+ const resolveSpec = {
147
+ name: 'agentteams_resolve',
148
+ title: 'Resolve an AgentTeams Entity Reference',
149
+ description: [
150
+ 'Resolve one entity reference token from a user message, plan body, or comment — pass it verbatim and this works out the type for you.',
151
+ `Accepted forms: ${SUPPORTED_REF_FORMS}.`,
152
+ 'Use this when the type has to be worked out from the token; when you already know the type, the matching agentteams_*_get tool is cheaper.',
153
+ 'Act on the returned kind: `record` → use the inline payload; `localFile` → read the returned `filePath` yourself, falling back to the project-root-relative `path` when no `filePath` is given (this tool never reads local files); `external` → open `url` or run `suggestedCommand` (`gh`, `glab`), which this tool never executes.',
154
+ 'Body-bearing entities (plan, completionReport, postMortem, coAction, document) come back as `record` with their content inline — nothing is written to disk.',
155
+ 'AgentTeams references are scoped to the single project this MCP server is bound to.',
156
+ ].join(' '),
157
+ discovery: resolveDiscovery,
158
+ inputSchema: z.strictObject({
159
+ ref: z
160
+ .string()
161
+ .min(1)
162
+ .describe('The reference token exactly as it appears, including any surrounding [label](...) markdown link.'),
163
+ }),
164
+ handler: async (args, context) => {
165
+ const parsed = parseEntityRef(args.ref);
166
+ const base = {
167
+ refType: parsed.refType,
168
+ id: parsed.id,
169
+ fallbackCommand: parsed.fallbackCommand,
170
+ ...(parsed.parentId ? { parentId: parsed.parentId } : {}),
171
+ };
172
+ if (parsed.kind === 'external') {
173
+ return {
174
+ ...base,
175
+ kind: 'external',
176
+ message: parsed.suggestedCommand
177
+ ? `${parsed.refType} reference — fetch it with: ${parsed.suggestedCommand}`
178
+ : `${parsed.refType} reference — open the URL directly`,
179
+ ...(parsed.url ? { url: parsed.url } : {}),
180
+ ...(parsed.suggestedCommand ? { suggestedCommand: parsed.suggestedCommand } : {}),
181
+ };
182
+ }
183
+ if (parsed.kind === 'localFile') {
184
+ const contained = parsed.path ? containedConventionPath(parsed.path) : null;
185
+ const localFile = contained ? describeLocalFile(contained, context.projectRoot) : null;
186
+ if (localFile) {
187
+ return { ...base, kind: 'localFile', ...localFile };
188
+ }
189
+ return {
190
+ ...base,
191
+ kind: 'record',
192
+ message: contained
193
+ ? `Local path not found under ${CONVENTION_PATH_ROOT}/ (${parsed.path}); returning the server record instead`
194
+ : `Path outside ${CONVENTION_PATH_ROOT}/ (${parsed.path}); returning the server record instead`,
195
+ record: await resolveInlineRecord(parsed, context),
196
+ };
197
+ }
198
+ return {
199
+ ...base,
200
+ kind: 'record',
201
+ message: `${parsed.refType} resolved`,
202
+ record: await resolveInlineRecord(parsed, context),
203
+ };
204
+ },
205
+ };
206
+ /** Every CLI-local non-write tool the MCP server exposes, in registration order. */
207
+ export function getLocalToolSpecs() {
208
+ return [guideGetSpec, resolveSpec];
209
+ }
210
+ //# sourceMappingURL=localTools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"localTools.js","sourceRoot":"","sources":["../../src/mcp/localTools.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAoB,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAc,KAAK,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAExF,OAAO,EAAyB,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAS1E,eAAO,MAAM,eAAe,oBAAoB,CAAC;AAEjD;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,cAAc,EACvB,OAAO,GAAE,MAAoB,EAC7B,WAAW,GAAE,WAAoB,GAChC,SAAS,CAOX;AA0FD;;;GAGG;AACH,wBAAsB,cAAc,CAAC,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAmBtG"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAoB,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAc,KAAK,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAExF,OAAO,EAAyB,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAS1E,eAAO,MAAM,eAAe,oBAAoB,CAAC;AAEjD;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,cAAc,EACvB,OAAO,GAAE,MAAoB,EAC7B,WAAW,GAAE,WAAoB,GAChC,SAAS,CAOX;AA2FD;;;GAGG;AACH,wBAAsB,cAAc,CAAC,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAmBtG"}
@@ -30,9 +30,10 @@ export function createMcpServer(context, version = pkg.version, toolProfile = 'f
30
30
  /**
31
31
  * The single `registerTool` loop — tool envelopes are assembled only here.
32
32
  *
33
- * Read specs come from the shared `@agentteams/context-tools` package; write
34
- * specs are CLI-local by design (see `writeTools.ts`). Both are flattened to the
35
- * same `(args) => unknown` shape first so there is still exactly one loop.
33
+ * Read specs come from the shared `@agentteams/context-tools` package; local and
34
+ * write specs are CLI-local by design (see `localTools.ts` / `writeTools.ts`).
35
+ * All three are flattened to the same `(args) => unknown` shape first so there
36
+ * is still exactly one loop.
36
37
  */
37
38
  function registerTools(server, context, toolProfile) {
38
39
  const client = createCliContextToolsClient(context);
@@ -41,11 +42,11 @@ function registerTools(server, context, toolProfile) {
41
42
  ...spec,
42
43
  invoke: (args) => spec.handler(args, client),
43
44
  }));
44
- const writeTools = profileSpecs.writeTools.map((spec) => ({
45
+ const contextTools = [...profileSpecs.localTools, ...profileSpecs.writeTools].map((spec) => ({
45
46
  ...spec,
46
47
  invoke: (args) => spec.handler(args, context),
47
48
  }));
48
- for (const spec of [...readTools, ...writeTools]) {
49
+ for (const spec of [...readTools, ...contextTools]) {
49
50
  server.registerTool(spec.name, {
50
51
  title: spec.title,
51
52
  description: spec.description,
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,4 @@
1
- import { type ToolDiscoveryMetadata } from '@agentteams/context-tools';
2
- import { z } from 'zod';
3
- import type { McpToolContext } from './context.js';
1
+ import { type McpLocalToolSpec } from './localTools.js';
4
2
  /**
5
3
  * MCP **write** tools. CLI-only on purpose.
6
4
  *
@@ -10,18 +8,11 @@ import type { McpToolContext } from './context.js';
10
8
  * be handed to Direct BYOK conversations — the exact `DESKTOP_LIMITED` boundary
11
9
  * that must not grant blanket project write access.
12
10
  *
13
- * The spec shape mirrors `ContextToolSpec`, but is declared locally so the shared
11
+ * The spec shape is the CLI-local one declared in `localTools.ts`, so the shared
14
12
  * read package stays read-only. No MCP SDK import belongs here — `server.ts` is
15
13
  * the only adapter (see `test/mcp-boundary.test.ts`).
16
14
  */
17
- export interface McpWriteToolSpec {
18
- name: string;
19
- title: string;
20
- description: string;
21
- inputSchema: z.ZodType<Record<string, unknown>>;
22
- discovery: ToolDiscoveryMetadata;
23
- handler(args: Record<string, unknown>, context: McpToolContext): Promise<unknown>;
24
- }
15
+ export type McpWriteToolSpec = McpLocalToolSpec;
25
16
  /** Every write tool the CLI MCP server exposes, in registration order. */
26
17
  export declare function getWriteToolSpecs(): McpWriteToolSpec[];
27
18
  //# sourceMappingURL=writeTools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"writeTools.d.ts","sourceRoot":"","sources":["../../src/mcp/writeTools.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,qBAAqB,EAC3B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAYxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAGnD;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAChD,SAAS,EAAE,qBAAqB,CAAC;IACjC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACnF;AAqfD,0EAA0E;AAC1E,wBAAgB,iBAAiB,IAAI,gBAAgB,EAAE,CAatD"}
1
+ {"version":3,"file":"writeTools.d.ts","sourceRoot":"","sources":["../../src/mcp/writeTools.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAsB,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAE5E;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,gBAAgB,GAAG,gBAAgB,CAAC;AA6chD,0EAA0E;AAC1E,wBAAgB,iBAAiB,IAAI,gBAAgB,EAAE,CAYtD"}
@@ -2,7 +2,7 @@ import { defineToolDiscoveryMetadata, omitDocumentEditorMirror, stripContextEnti
2
2
  import { z } from 'zod';
3
3
  import { createComment, createFindingComment, createReply, createTaskComment, deleteComment, deleteReply, updateComment, updateReply, } from '../api/comment.js';
4
4
  import { createDocumentComment, createDocument, deleteDocument, updateDocument } from '../api/document.js';
5
- import { GUIDE_RECORD_KINDS, describeMissingGuideHash, resolvePlatformGuide } from './guides.js';
5
+ import { resolveToolHeaders } from './localTools.js';
6
6
  const GUIDE_FIRST = 'Call agentteams_guide_get("document") first and follow that guide.';
7
7
  const COMMENT_GUIDE_FIRST = 'Call agentteams_guide_get("comment") first and follow that guide.';
8
8
  const TAG_POLICY = 'You cannot set confirmed tags. Anything you pass in suggestedTags is a suggestion for a human to confirm.';
@@ -30,10 +30,6 @@ const visibilityField = z
30
30
  .enum(['PRIVATE', 'PROJECT'])
31
31
  .optional()
32
32
  .describe('PRIVATE (default) is author-only; PROJECT is visible to every project member.');
33
- const guideDiscovery = defineToolDiscoveryMetadata({
34
- domain: 'guides',
35
- profiles: ['full', 'documents', 'comments'],
36
- });
37
33
  const documentWriteDiscovery = defineToolDiscoveryMetadata({
38
34
  domain: 'documents',
39
35
  profiles: ['full', 'documents'],
@@ -43,43 +39,9 @@ const commentWriteDiscovery = defineToolDiscoveryMetadata({
43
39
  profiles: ['full', 'comments'],
44
40
  });
45
41
  /** Credentials can expire mid-session, so headers are resolved per call, never captured. */
46
- const auth = (context) => context.resolveHeaders?.() ?? Promise.resolve(context.headers);
42
+ const auth = resolveToolHeaders;
47
43
  /** Drop keys the caller omitted so an absent optional never reaches the server as `undefined`. */
48
44
  const definedFields = (fields) => Object.fromEntries(Object.entries(fields).filter(([, value]) => value !== undefined));
49
- const guideGetSpec = {
50
- name: 'agentteams_guide_get',
51
- title: 'Get AgentTeams Record Guide',
52
- description: [
53
- 'Fetch the platform guide that governs how a record type must be written.',
54
- 'Reads this project’s local copy when the session sits in it, and falls back to the server otherwise.',
55
- 'Returns the full guide body plus the guideHash to pass to the matching write tool.',
56
- 'Read this before any AgentTeams write tool call — the rules it states (visibility, tag policy, structure) are enforced server-side.',
57
- 'If it reports that the local guide hash is unknown, run `agentteams convention download` in the project.',
58
- ].join(' '),
59
- discovery: guideDiscovery,
60
- inputSchema: z.strictObject({
61
- recordKind: z
62
- .enum(GUIDE_RECORD_KINDS)
63
- .describe('Record type whose guide you need. "document" and "comment" are write-enabled.'),
64
- }),
65
- handler: async (args, context) => {
66
- const guide = await resolvePlatformGuide(args.recordKind, {
67
- projectRoot: context.projectRoot,
68
- apiUrl: context.apiUrl,
69
- headers: await auth(context),
70
- });
71
- const warning = describeMissingGuideHash(guide);
72
- return {
73
- recordKind: guide.recordKind,
74
- fileName: guide.fileName,
75
- source: guide.source,
76
- ...(guide.filePath ? { filePath: guide.filePath } : {}),
77
- guideHash: guide.guideHash,
78
- content: guide.content,
79
- ...(warning ? { warning } : {}),
80
- };
81
- },
82
- };
83
45
  const documentCreateSpec = {
84
46
  name: 'agentteams_document_create',
85
47
  title: 'Create AgentTeams Document',
@@ -405,7 +367,6 @@ const commentReplyDeleteSpec = {
405
367
  /** Every write tool the CLI MCP server exposes, in registration order. */
406
368
  export function getWriteToolSpecs() {
407
369
  return [
408
- guideGetSpec,
409
370
  documentCreateSpec,
410
371
  documentUpdateSpec,
411
372
  documentDeleteSpec,
@@ -1 +1 @@
1
- {"version":3,"file":"writeTools.js","sourceRoot":"","sources":["../../src/mcp/writeTools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"writeTools.js","sourceRoot":"","sources":["../../src/mcp/writeTools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * The agent entry point files init knows how to write, and the AI client each
3
+ * one belongs to.
4
+ *
5
+ * This catalog lives outside `commands/init.ts` because both the new-project
6
+ * path and the linked-worktree bootstrap read it, and those now sit in
7
+ * different modules. `commands/doctor.ts` keeps its own read-only mirror
8
+ * (`ENTRY_POINT_ALLOWLIST`) on purpose — it never creates these files.
9
+ */
10
+ export declare const AGENT_ENTRY_POINT_FILES: readonly [{
11
+ readonly value: "CLAUDE.md";
12
+ readonly label: "CLAUDE.md";
13
+ readonly hint: "Claude Code";
14
+ }, {
15
+ readonly value: "AGENTS.md";
16
+ readonly label: "AGENTS.md";
17
+ readonly hint: "OpenCode / Codex";
18
+ }, {
19
+ readonly value: "GEMINI.md";
20
+ readonly label: "GEMINI.md";
21
+ readonly hint: "Antigravity";
22
+ }, {
23
+ readonly value: ".cursor/rules/agentteams.mdc";
24
+ readonly label: ".cursor/rules/agentteams.mdc";
25
+ readonly hint: "Cursor";
26
+ }];
27
+ export type AgentEntryPointValue = (typeof AGENT_ENTRY_POINT_FILES)[number]['value'];
28
+ export declare const AGENT_ENTRY_POINT_VALUES: AgentEntryPointValue[];
29
+ /** The literal `--agent-files` value that means "create nothing". */
30
+ export declare const AGENT_FILES_NONE = "none";
31
+ /**
32
+ * What init falls back to when the folder gives no signal at all.
33
+ *
34
+ * Detection on markers alone misses the most common case there is: a repository
35
+ * created or cloned minutes ago, where Claude Code's project-local `.claude/`
36
+ * does not exist until the user approves project scope. Selecting nothing there
37
+ * leaves the project with no path from an agent to
38
+ * `.agentteams/convention.md` — the one thing an entry point exists to provide —
39
+ * so one file is created rather than none. `--agent-files none` is how a caller
40
+ * says it really wants nothing.
41
+ */
42
+ export declare const AGENT_ENTRY_POINT_FALLBACK: readonly AgentEntryPointValue[];
43
+ /**
44
+ * Which AI clients this folder actually uses.
45
+ *
46
+ * Two signals count: the client's own configuration directory, and an entry
47
+ * point file that is already there. The second one never produces a write — init
48
+ * does not overwrite an existing entry point — but it is what tells the adapters
49
+ * downstream which clients are in play, so a repository that keeps a hand-written
50
+ * `GEMINI.md` still gets its `.geminiignore`, and the skip is reported against a
51
+ * file the user can see rather than silently dropped.
52
+ *
53
+ * With neither signal the fallback applies. Detection still narrows what init
54
+ * used to create unconditionally (four files on every run); `--agent-files` is
55
+ * the way to widen or empty it explicitly.
56
+ */
57
+ export declare function detectAgentEntryPointFiles(cwd: string): AgentEntryPointValue[];
58
+ /**
59
+ * Parse the raw `--agent-files` value.
60
+ *
61
+ * `null` means "no explicit choice" — the caller falls back to detection or the
62
+ * interactive prompt. An empty array (from `none`) is an explicit choice and is
63
+ * therefore *not* the same thing. An unknown value throws rather than being
64
+ * dropped: silently ignoring a typo would create a different file set than the
65
+ * one the caller asked for, and init only reports what it wrote.
66
+ */
67
+ export declare function parseAgentFilesOption(raw: unknown): AgentEntryPointValue[] | null;
68
+ //# sourceMappingURL=agentEntryPoints.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentEntryPoints.d.ts","sourceRoot":"","sources":["../../src/utils/agentEntryPoints.ts"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;EAK1B,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC;AAErF,eAAO,MAAM,wBAAwB,EAAE,oBAAoB,EAAsD,CAAC;AAElH,qEAAqE;AACrE,eAAO,MAAM,gBAAgB,SAAS,CAAC;AAUvC;;;;;;;;;;GAUG;AACH,eAAO,MAAM,0BAA0B,EAAE,SAAS,oBAAoB,EAAkB,CAAC;AAkBzF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,EAAE,CAO9E;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,oBAAoB,EAAE,GAAG,IAAI,CA+BjF"}
@@ -0,0 +1,112 @@
1
+ import { statSync } from 'node:fs';
2
+ import { join } from 'node:path';
3
+ /**
4
+ * The agent entry point files init knows how to write, and the AI client each
5
+ * one belongs to.
6
+ *
7
+ * This catalog lives outside `commands/init.ts` because both the new-project
8
+ * path and the linked-worktree bootstrap read it, and those now sit in
9
+ * different modules. `commands/doctor.ts` keeps its own read-only mirror
10
+ * (`ENTRY_POINT_ALLOWLIST`) on purpose — it never creates these files.
11
+ */
12
+ export const AGENT_ENTRY_POINT_FILES = [
13
+ { value: 'CLAUDE.md', label: 'CLAUDE.md', hint: 'Claude Code' },
14
+ { value: 'AGENTS.md', label: 'AGENTS.md', hint: 'OpenCode / Codex' },
15
+ { value: 'GEMINI.md', label: 'GEMINI.md', hint: 'Antigravity' },
16
+ { value: '.cursor/rules/agentteams.mdc', label: '.cursor/rules/agentteams.mdc', hint: 'Cursor' },
17
+ ];
18
+ export const AGENT_ENTRY_POINT_VALUES = AGENT_ENTRY_POINT_FILES.map((file) => file.value);
19
+ /** The literal `--agent-files` value that means "create nothing". */
20
+ export const AGENT_FILES_NONE = 'none';
21
+ /** The client configuration directory that proves a folder uses that client. */
22
+ const AGENT_CLIENT_MARKER_DIRS = {
23
+ 'CLAUDE.md': ['.claude'],
24
+ 'AGENTS.md': ['.codex', '.opencode'],
25
+ 'GEMINI.md': ['.gemini', '.antigravity'],
26
+ '.cursor/rules/agentteams.mdc': ['.cursor'],
27
+ };
28
+ /**
29
+ * What init falls back to when the folder gives no signal at all.
30
+ *
31
+ * Detection on markers alone misses the most common case there is: a repository
32
+ * created or cloned minutes ago, where Claude Code's project-local `.claude/`
33
+ * does not exist until the user approves project scope. Selecting nothing there
34
+ * leaves the project with no path from an agent to
35
+ * `.agentteams/convention.md` — the one thing an entry point exists to provide —
36
+ * so one file is created rather than none. `--agent-files none` is how a caller
37
+ * says it really wants nothing.
38
+ */
39
+ export const AGENT_ENTRY_POINT_FALLBACK = ['CLAUDE.md'];
40
+ function isDirectory(path) {
41
+ try {
42
+ return statSync(path).isDirectory();
43
+ }
44
+ catch {
45
+ return false;
46
+ }
47
+ }
48
+ function isFile(path) {
49
+ try {
50
+ return statSync(path).isFile();
51
+ }
52
+ catch {
53
+ return false;
54
+ }
55
+ }
56
+ /**
57
+ * Which AI clients this folder actually uses.
58
+ *
59
+ * Two signals count: the client's own configuration directory, and an entry
60
+ * point file that is already there. The second one never produces a write — init
61
+ * does not overwrite an existing entry point — but it is what tells the adapters
62
+ * downstream which clients are in play, so a repository that keeps a hand-written
63
+ * `GEMINI.md` still gets its `.geminiignore`, and the skip is reported against a
64
+ * file the user can see rather than silently dropped.
65
+ *
66
+ * With neither signal the fallback applies. Detection still narrows what init
67
+ * used to create unconditionally (four files on every run); `--agent-files` is
68
+ * the way to widen or empty it explicitly.
69
+ */
70
+ export function detectAgentEntryPointFiles(cwd) {
71
+ const detected = AGENT_ENTRY_POINT_VALUES.filter((value) => AGENT_CLIENT_MARKER_DIRS[value].some((marker) => isDirectory(join(cwd, marker))) || isFile(join(cwd, value)));
72
+ return detected.length > 0 ? detected : [...AGENT_ENTRY_POINT_FALLBACK];
73
+ }
74
+ /**
75
+ * Parse the raw `--agent-files` value.
76
+ *
77
+ * `null` means "no explicit choice" — the caller falls back to detection or the
78
+ * interactive prompt. An empty array (from `none`) is an explicit choice and is
79
+ * therefore *not* the same thing. An unknown value throws rather than being
80
+ * dropped: silently ignoring a typo would create a different file set than the
81
+ * one the caller asked for, and init only reports what it wrote.
82
+ */
83
+ export function parseAgentFilesOption(raw) {
84
+ if (raw === undefined || raw === null)
85
+ return null;
86
+ if (typeof raw !== 'string') {
87
+ throw new Error(`Invalid --agent-files value. Expected a comma-separated list or '${AGENT_FILES_NONE}'.`);
88
+ }
89
+ const tokens = raw
90
+ .split(',')
91
+ .map((token) => token.trim())
92
+ .filter((token) => token.length > 0);
93
+ if (tokens.length === 0)
94
+ return null;
95
+ if (tokens.some((token) => token.toLowerCase() === AGENT_FILES_NONE)) {
96
+ if (tokens.length > 1) {
97
+ throw new Error(`Invalid --agent-files value: '${AGENT_FILES_NONE}' cannot be combined with other files.`);
98
+ }
99
+ return [];
100
+ }
101
+ const selected = [];
102
+ for (const token of tokens) {
103
+ const match = AGENT_ENTRY_POINT_VALUES.find((value) => value === token);
104
+ if (!match) {
105
+ throw new Error(`Unknown --agent-files value: '${token}'. Valid values: ${AGENT_ENTRY_POINT_VALUES.join(', ')}, ${AGENT_FILES_NONE}.`);
106
+ }
107
+ if (!selected.includes(match))
108
+ selected.push(match);
109
+ }
110
+ return selected;
111
+ }
112
+ //# sourceMappingURL=agentEntryPoints.js.map