@rlarua/agentteams-cli 0.0.10 → 0.0.12

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 (108) hide show
  1. package/README.md +117 -2
  2. package/dist/api/comment.d.ts +11 -0
  3. package/dist/api/comment.d.ts.map +1 -0
  4. package/dist/api/comment.js +33 -0
  5. package/dist/api/comment.js.map +1 -0
  6. package/dist/api/plan.d.ts +13 -0
  7. package/dist/api/plan.d.ts.map +1 -0
  8. package/dist/api/plan.js +43 -0
  9. package/dist/api/plan.js.map +1 -0
  10. package/dist/api/postmortem.d.ts +6 -0
  11. package/dist/api/postmortem.d.ts.map +1 -0
  12. package/dist/api/postmortem.js +33 -0
  13. package/dist/api/postmortem.js.map +1 -0
  14. package/dist/api/report.d.ts +6 -0
  15. package/dist/api/report.d.ts.map +1 -0
  16. package/dist/api/report.js +33 -0
  17. package/dist/api/report.js.map +1 -0
  18. package/dist/api/status.d.ts +12 -0
  19. package/dist/api/status.d.ts.map +1 -0
  20. package/dist/api/status.js +33 -0
  21. package/dist/api/status.js.map +1 -0
  22. package/dist/commands/agentConfig.d.ts.map +1 -1
  23. package/dist/commands/agentConfig.js +10 -3
  24. package/dist/commands/agentConfig.js.map +1 -1
  25. package/dist/commands/agentConfigCommand.d.ts +2 -0
  26. package/dist/commands/agentConfigCommand.d.ts.map +1 -0
  27. package/dist/commands/agentConfigCommand.js +20 -0
  28. package/dist/commands/agentConfigCommand.js.map +1 -0
  29. package/dist/commands/comment.d.ts +2 -0
  30. package/dist/commands/comment.d.ts.map +1 -0
  31. package/dist/commands/comment.js +55 -0
  32. package/dist/commands/comment.js.map +1 -0
  33. package/dist/commands/config.d.ts +2 -0
  34. package/dist/commands/config.d.ts.map +1 -0
  35. package/dist/commands/config.js +30 -0
  36. package/dist/commands/config.js.map +1 -0
  37. package/dist/commands/convention.d.ts +25 -0
  38. package/dist/commands/convention.d.ts.map +1 -1
  39. package/dist/commands/convention.js +459 -17
  40. package/dist/commands/convention.js.map +1 -1
  41. package/dist/commands/conventionRouter.d.ts +3 -0
  42. package/dist/commands/conventionRouter.d.ts.map +1 -0
  43. package/dist/commands/conventionRouter.js +46 -0
  44. package/dist/commands/conventionRouter.js.map +1 -0
  45. package/dist/commands/dependency.d.ts.map +1 -1
  46. package/dist/commands/dependency.js +2 -1
  47. package/dist/commands/dependency.js.map +1 -1
  48. package/dist/commands/dependencyCommand.d.ts +2 -0
  49. package/dist/commands/dependencyCommand.d.ts.map +1 -0
  50. package/dist/commands/dependencyCommand.js +27 -0
  51. package/dist/commands/dependencyCommand.js.map +1 -0
  52. package/dist/commands/index.d.ts.map +1 -1
  53. package/dist/commands/index.js +14 -592
  54. package/dist/commands/index.js.map +1 -1
  55. package/dist/commands/plan.d.ts +11 -0
  56. package/dist/commands/plan.d.ts.map +1 -0
  57. package/dist/commands/plan.js +370 -0
  58. package/dist/commands/plan.js.map +1 -0
  59. package/dist/commands/postmortem.d.ts +2 -0
  60. package/dist/commands/postmortem.d.ts.map +1 -0
  61. package/dist/commands/postmortem.js +114 -0
  62. package/dist/commands/postmortem.js.map +1 -0
  63. package/dist/commands/report.d.ts +2 -0
  64. package/dist/commands/report.d.ts.map +1 -0
  65. package/dist/commands/report.js +224 -0
  66. package/dist/commands/report.js.map +1 -0
  67. package/dist/commands/status.d.ts +2 -0
  68. package/dist/commands/status.d.ts.map +1 -0
  69. package/dist/commands/status.js +60 -0
  70. package/dist/commands/status.js.map +1 -0
  71. package/dist/index.js +212 -34
  72. package/dist/index.js.map +1 -1
  73. package/dist/types/index.d.ts +11 -6
  74. package/dist/types/index.d.ts.map +1 -1
  75. package/dist/utils/errors.d.ts.map +1 -1
  76. package/dist/utils/errors.js +60 -6
  77. package/dist/utils/errors.js.map +1 -1
  78. package/dist/utils/formatter.js +11 -1
  79. package/dist/utils/formatter.js.map +1 -1
  80. package/dist/utils/git.d.ts +19 -0
  81. package/dist/utils/git.d.ts.map +1 -0
  82. package/dist/utils/git.js +41 -0
  83. package/dist/utils/git.js.map +1 -0
  84. package/dist/utils/httpHeaders.d.ts +3 -0
  85. package/dist/utils/httpHeaders.d.ts.map +1 -0
  86. package/dist/utils/httpHeaders.js +11 -0
  87. package/dist/utils/httpHeaders.js.map +1 -0
  88. package/dist/utils/initOutput.d.ts +3 -0
  89. package/dist/utils/initOutput.d.ts.map +1 -0
  90. package/dist/utils/initOutput.js +34 -0
  91. package/dist/utils/initOutput.js.map +1 -0
  92. package/dist/utils/legacyCompat.d.ts +3 -0
  93. package/dist/utils/legacyCompat.d.ts.map +1 -0
  94. package/dist/utils/legacyCompat.js +20 -0
  95. package/dist/utils/legacyCompat.js.map +1 -0
  96. package/dist/utils/outputPolicy.d.ts +12 -0
  97. package/dist/utils/outputPolicy.d.ts.map +1 -0
  98. package/dist/utils/outputPolicy.js +132 -0
  99. package/dist/utils/outputPolicy.js.map +1 -0
  100. package/dist/utils/parsers.d.ts +7 -0
  101. package/dist/utils/parsers.d.ts.map +1 -0
  102. package/dist/utils/parsers.js +52 -0
  103. package/dist/utils/parsers.js.map +1 -0
  104. package/dist/utils/planFormat.d.ts +17 -0
  105. package/dist/utils/planFormat.d.ts.map +1 -0
  106. package/dist/utils/planFormat.js +80 -0
  107. package/dist/utils/planFormat.js.map +1 -0
  108. package/package.json +4 -1
@@ -1,11 +1,16 @@
1
- import { existsSync, mkdirSync, rmSync, writeFileSync } from "node:fs";
2
- import { join, resolve } from "node:path";
1
+ import { existsSync, mkdirSync, readFileSync, rmSync, writeFileSync, unlinkSync } from "node:fs";
2
+ import { basename, join, relative, resolve } from "node:path";
3
3
  import axios from "axios";
4
+ import matter from "gray-matter";
5
+ import { diffLines, createTwoFilesPatch } from "diff";
6
+ import { normalizeMarkdownToTiptap } from "@agentteams/markdown-tiptap";
4
7
  import { loadConfig, findProjectConfig } from "../utils/config.js";
5
8
  import { withSpinner } from "../utils/spinner.js";
9
+ import { withoutJsonContentType } from "../utils/httpHeaders.js";
6
10
  const CONVENTION_DIR = ".agentteams";
7
11
  const LEGACY_CONVENTION_DOWNLOAD_DIR = "conventions";
8
12
  const CONVENTION_INDEX_FILE = "convention.md";
13
+ const CONVENTION_MANIFEST_FILE = "conventions.manifest.json";
9
14
  function findProjectRoot(cwd) {
10
15
  const configPath = findProjectConfig(cwd ?? process.cwd());
11
16
  if (!configPath)
@@ -30,27 +35,247 @@ function getApiConfigOrThrow(options) {
30
35
  },
31
36
  };
32
37
  }
38
+ function normalizeRelativePath(input) {
39
+ return input.replaceAll("\\", "/");
40
+ }
41
+ function resolveConventionFileAbsolutePath(projectRoot, cwd, fileInput) {
42
+ // If absolute path, keep as-is.
43
+ const resolvedFromCwd = resolve(cwd, fileInput);
44
+ if (resolvedFromCwd === fileInput && existsSync(fileInput)) {
45
+ return fileInput;
46
+ }
47
+ // Common usage: pass `.agentteams/...` from any working directory.
48
+ if (fileInput.startsWith(`${CONVENTION_DIR}/`) || fileInput.startsWith(`${CONVENTION_DIR}\\`)) {
49
+ return resolve(projectRoot, fileInput);
50
+ }
51
+ // Fallback: if the cwd-based resolution exists, use it.
52
+ if (existsSync(resolvedFromCwd)) {
53
+ return resolvedFromCwd;
54
+ }
55
+ // Otherwise, return cwd-based resolution to preserve a stable error path.
56
+ return resolvedFromCwd;
57
+ }
58
+ function buildManifestPath(projectRoot) {
59
+ return join(projectRoot, CONVENTION_DIR, CONVENTION_MANIFEST_FILE);
60
+ }
61
+ function loadManifestOrThrow(projectRoot) {
62
+ const manifestPath = buildManifestPath(projectRoot);
63
+ if (!existsSync(manifestPath)) {
64
+ throw new Error(`Download manifest not found: ${manifestPath}\nRun 'agentteams convention download' first.`);
65
+ }
66
+ const raw = readFileSync(manifestPath, "utf-8");
67
+ const parsed = JSON.parse(raw);
68
+ if (parsed?.version !== 1 || !Array.isArray(parsed.entries)) {
69
+ throw new Error(`Invalid manifest format: ${manifestPath}`);
70
+ }
71
+ return parsed;
72
+ }
73
+ function loadManifestOrCreate(projectRoot) {
74
+ const manifestPath = buildManifestPath(projectRoot);
75
+ if (!existsSync(manifestPath)) {
76
+ return {
77
+ version: 1,
78
+ generatedAt: new Date().toISOString(),
79
+ entries: [],
80
+ };
81
+ }
82
+ const raw = readFileSync(manifestPath, "utf-8");
83
+ const parsed = JSON.parse(raw);
84
+ if (parsed?.version !== 1 || !Array.isArray(parsed.entries)) {
85
+ throw new Error(`Invalid manifest format: ${manifestPath}`);
86
+ }
87
+ return parsed;
88
+ }
89
+ function writeManifest(projectRoot, manifest) {
90
+ const manifestPath = buildManifestPath(projectRoot);
91
+ writeFileSync(manifestPath, JSON.stringify(manifest, null, 2) + "\n", "utf-8");
92
+ }
93
+ function toFileList(input) {
94
+ return Array.isArray(input) ? input : [input];
95
+ }
96
+ function hasAnyDiff(a, b) {
97
+ const parts = diffLines(a, b);
98
+ return parts.some((p) => p.added || p.removed);
99
+ }
100
+ function createUnifiedDiff(fileLabel, serverText, localText) {
101
+ return createTwoFilesPatch(`${fileLabel} (server)`, `${fileLabel} (local)`, serverText, localText, "", "", { context: 3 });
102
+ }
103
+ function toOptionalString(value) {
104
+ return typeof value === "string" ? value : undefined;
105
+ }
106
+ function fileNameToTitle(fileName) {
107
+ return fileName
108
+ .replace(/\.md$/i, "")
109
+ .replace(/[-_]+/g, " ")
110
+ .replace(/\s+/g, " ")
111
+ .trim();
112
+ }
113
+ function parseCategoryFromAgentteamsPath(fileRelativePath) {
114
+ const normalized = normalizeRelativePath(fileRelativePath);
115
+ const parts = normalized.split("/");
116
+ const agentteamsIndex = parts.indexOf(CONVENTION_DIR);
117
+ if (agentteamsIndex === -1) {
118
+ throw new Error(`Convention create requires a file under ${CONVENTION_DIR}/<category>/: ${fileRelativePath}`);
119
+ }
120
+ const category = parts[agentteamsIndex + 1];
121
+ if (!category || category.length === 0) {
122
+ throw new Error(`Convention create requires a category directory under ${CONVENTION_DIR}/: ${fileRelativePath}`);
123
+ }
124
+ if (category === "platform" || category === "active-plan") {
125
+ throw new Error(`Convention create does not allow reserved directories under ${CONVENTION_DIR}/: ${category}`);
126
+ }
127
+ return category;
128
+ }
129
+ async function fetchAllConventions(apiUrl, projectId, headers) {
130
+ const pageSize = 100;
131
+ let page = 1;
132
+ let totalPages;
133
+ const items = [];
134
+ while (true) {
135
+ const response = await axios.get(`${apiUrl}/api/projects/${projectId}/conventions`, { headers, params: { page, pageSize } });
136
+ const data = response.data?.data;
137
+ if (!Array.isArray(data)) {
138
+ break;
139
+ }
140
+ items.push(...data);
141
+ const meta = response.data?.meta;
142
+ if (typeof meta?.totalPages === "number") {
143
+ totalPages = meta.totalPages;
144
+ }
145
+ if (totalPages !== undefined) {
146
+ if (page >= totalPages)
147
+ break;
148
+ page += 1;
149
+ continue;
150
+ }
151
+ // Fallback if meta is missing: stop when we got less than a full page.
152
+ if (data.length < pageSize)
153
+ break;
154
+ page += 1;
155
+ }
156
+ return items;
157
+ }
158
+ async function fetchConventionsWithContent(apiUrl, projectId, headers) {
159
+ const response = await axios.get(`${apiUrl}/api/projects/${projectId}/conventions/download-all`, { headers });
160
+ const data = response.data?.data;
161
+ if (!Array.isArray(data)) {
162
+ throw new Error("Invalid download-all response format");
163
+ }
164
+ return data;
165
+ }
166
+ async function fetchPlatformGuidesHash(apiUrl, headers) {
167
+ const response = await axios.get(`${apiUrl}/api/platform/guides/hash`, { headers });
168
+ const hash = response.data?.data?.hash;
169
+ if (typeof hash !== "string" || hash.length === 0) {
170
+ throw new Error("Invalid platform guides hash response format");
171
+ }
172
+ return hash;
173
+ }
174
+ function toConventionName(convention) {
175
+ const title = typeof convention.title === "string" ? convention.title.trim() : "";
176
+ if (title.length > 0)
177
+ return title;
178
+ const fileName = typeof convention.fileName === "string" ? convention.fileName.trim() : "";
179
+ if (fileName.length > 0)
180
+ return fileName;
181
+ return convention.id;
182
+ }
183
+ function toConventionNameFromManifest(entry) {
184
+ const title = typeof entry.title === "string" ? entry.title.trim() : "";
185
+ if (title.length > 0)
186
+ return title;
187
+ const fileName = typeof entry.fileName === "string" ? entry.fileName.trim() : "";
188
+ if (fileName.length > 0)
189
+ return fileName;
190
+ return entry.conventionId;
191
+ }
192
+ function toOptionalStringOrNullIfPresent(data, key) {
193
+ if (!Object.prototype.hasOwnProperty.call(data, key)) {
194
+ return undefined;
195
+ }
196
+ const value = data[key];
197
+ if (value === null) {
198
+ return null;
199
+ }
200
+ if (typeof value === "string") {
201
+ const trimmed = value.trim();
202
+ return trimmed.length > 0 ? trimmed : null;
203
+ }
204
+ return undefined;
205
+ }
33
206
  export async function conventionShow() {
34
207
  const { config, apiUrl, headers } = getApiConfigOrThrow();
35
- const listResponse = await axios.get(`${apiUrl}/api/projects/${config.projectId}/conventions`, { headers });
36
- const conventions = listResponse.data?.data;
208
+ const conventions = await fetchConventionsWithContent(apiUrl, config.projectId, headers);
37
209
  if (!conventions || conventions.length === 0) {
38
210
  throw new Error("No conventions found for this project. Create one via the web dashboard first.");
39
211
  }
40
212
  const sections = [];
41
213
  for (const convention of conventions) {
42
- const downloadResponse = await axios.get(`${apiUrl}/api/projects/${config.projectId}/conventions/${convention.id}/download`, { headers, responseType: "text" });
214
+ const contentMarkdown = typeof convention.contentMarkdown === "string" ? convention.contentMarkdown : "";
43
215
  const sectionHeader = `# ${convention.title ?? "untitled"}\ncategory: ${convention.category ?? "uncategorized"}\nid: ${convention.id}`;
44
- sections.push(`${sectionHeader}\n\n${downloadResponse.data}`);
216
+ sections.push(`${sectionHeader}\n\n${contentMarkdown}`);
45
217
  }
46
218
  return sections.join("\n\n---\n\n");
47
219
  }
220
+ export async function checkConventionFreshness(apiUrl, projectId, headers, projectRoot) {
221
+ const manifestPath = buildManifestPath(projectRoot);
222
+ if (!existsSync(manifestPath)) {
223
+ return {
224
+ platformGuidesChanged: false,
225
+ conventionChanges: [],
226
+ };
227
+ }
228
+ const manifest = loadManifestOrThrow(projectRoot);
229
+ const currentPlatformGuidesHash = await fetchPlatformGuidesHash(apiUrl, headers);
230
+ const platformGuidesChanged = typeof manifest.platformGuidesHash === "string"
231
+ && manifest.platformGuidesHash.length > 0
232
+ && manifest.platformGuidesHash !== currentPlatformGuidesHash;
233
+ const serverConventions = await fetchAllConventions(apiUrl, projectId, headers);
234
+ const serverById = new Map(serverConventions.map((item) => [item.id, item]));
235
+ const localById = new Map(manifest.entries.map((entry) => [entry.conventionId, entry]));
236
+ const conventionChanges = [];
237
+ for (const serverConvention of serverConventions) {
238
+ const local = localById.get(serverConvention.id);
239
+ if (!local) {
240
+ conventionChanges.push({
241
+ id: serverConvention.id,
242
+ type: "new",
243
+ title: toConventionName(serverConvention),
244
+ fileName: serverConvention.fileName ?? undefined,
245
+ });
246
+ continue;
247
+ }
248
+ if (typeof serverConvention.updatedAt === "string"
249
+ && typeof local.updatedAt === "string"
250
+ && serverConvention.updatedAt !== local.updatedAt) {
251
+ conventionChanges.push({
252
+ id: serverConvention.id,
253
+ type: "updated",
254
+ title: toConventionName(serverConvention),
255
+ fileName: serverConvention.fileName ?? local.fileName,
256
+ });
257
+ }
258
+ }
259
+ for (const localEntry of manifest.entries) {
260
+ if (serverById.has(localEntry.conventionId))
261
+ continue;
262
+ conventionChanges.push({
263
+ id: localEntry.conventionId,
264
+ type: "deleted",
265
+ title: toConventionNameFromManifest(localEntry),
266
+ fileName: localEntry.fileName,
267
+ });
268
+ }
269
+ return {
270
+ platformGuidesChanged,
271
+ conventionChanges,
272
+ };
273
+ }
48
274
  export async function conventionList() {
49
275
  const { config, apiUrl, headers } = getApiConfigOrThrow();
50
- const response = await axios.get(`${apiUrl}/api/projects/${config.projectId}/conventions`, { headers });
51
- const conventions = response.data?.data;
276
+ const conventions = await fetchAllConventions(apiUrl, config.projectId, headers);
52
277
  if (!Array.isArray(conventions)) {
53
- return response.data;
278
+ return { data: conventions };
54
279
  }
55
280
  return {
56
281
  data: conventions.map((item) => ({
@@ -61,7 +286,12 @@ export async function conventionList() {
61
286
  updatedAt: item.updatedAt,
62
287
  createdAt: item.createdAt,
63
288
  })),
64
- meta: response.data?.meta,
289
+ meta: {
290
+ total: conventions.length,
291
+ page: 1,
292
+ pageSize: conventions.length,
293
+ totalPages: 1,
294
+ }
65
295
  };
66
296
  }
67
297
  function toSafeFileName(input) {
@@ -108,7 +338,7 @@ async function downloadPlatformGuides(projectRoot, apiUrl, headers) {
108
338
  if (!Array.isArray(guides) || guides.length === 0) {
109
339
  return 0;
110
340
  }
111
- const baseDir = join(projectRoot, CONVENTION_DIR, 'platform', 'guides');
341
+ const baseDir = join(projectRoot, CONVENTION_DIR, 'platform');
112
342
  rmSync(baseDir, { recursive: true, force: true });
113
343
  mkdirSync(baseDir, { recursive: true });
114
344
  const fileNameCount = new Map();
@@ -168,8 +398,7 @@ export async function conventionDownload(options) {
168
398
  const hasReportingTemplate = await withSpinner('Downloading reporting template...', () => downloadReportingTemplate(projectRoot, config, apiUrl, headers));
169
399
  const platformGuideCount = await withSpinner('Downloading platform guides...', () => downloadPlatformGuides(projectRoot, apiUrl, headers));
170
400
  const conventions = await withSpinner('Downloading conventions...', async () => {
171
- const listResponse = await axios.get(`${apiUrl}/api/projects/${config.projectId}/conventions`, { headers });
172
- const conventionList = listResponse.data?.data;
401
+ const conventionList = await fetchConventionsWithContent(apiUrl, config.projectId, headers);
173
402
  if (!conventionList || conventionList.length === 0) {
174
403
  return conventionList;
175
404
  }
@@ -185,8 +414,15 @@ export async function conventionDownload(options) {
185
414
  mkdirSync(join(projectRoot, CONVENTION_DIR, categoryDir), { recursive: true });
186
415
  }
187
416
  const fileNameCount = new Map();
417
+ const platformGuidesHash = await fetchPlatformGuidesHash(apiUrl, headers);
418
+ const manifest = {
419
+ version: 1,
420
+ generatedAt: new Date().toISOString(),
421
+ platformGuidesHash,
422
+ entries: [],
423
+ };
188
424
  for (const convention of conventionList) {
189
- const downloadResponse = await axios.get(`${apiUrl}/api/projects/${config.projectId}/conventions/${convention.id}/download`, { headers, responseType: "text" });
425
+ const contentMarkdown = typeof convention.contentMarkdown === "string" ? convention.contentMarkdown : "";
190
426
  const baseFileName = buildConventionFileName(convention);
191
427
  const categoryName = typeof convention.category === "string" ? convention.category : "";
192
428
  const categoryDir = toSafeDirectoryName(categoryName);
@@ -197,14 +433,25 @@ export async function conventionDownload(options) {
197
433
  ? baseFileName
198
434
  : baseFileName.replace(/\.md$/, `-${seenCount + 1}.md`);
199
435
  const filePath = join(projectRoot, CONVENTION_DIR, categoryDir, fileName);
200
- writeFileSync(filePath, downloadResponse.data, "utf-8");
436
+ writeFileSync(filePath, contentMarkdown, "utf-8");
437
+ manifest.entries.push({
438
+ conventionId: String(convention.id),
439
+ fileRelativePath: normalizeRelativePath(relative(projectRoot, filePath)),
440
+ fileName,
441
+ categoryDir,
442
+ title: toOptionalString(convention.title),
443
+ category: toOptionalString(convention.category),
444
+ updatedAt: toOptionalString(convention.updatedAt),
445
+ downloadedAt: new Date().toISOString(),
446
+ });
201
447
  }
448
+ writeManifest(projectRoot, manifest);
202
449
  return conventionList;
203
450
  });
204
451
  if (!conventions || conventions.length === 0) {
205
452
  if (hasReportingTemplate) {
206
453
  const platformLine = platformGuideCount > 0
207
- ? `\nDownloaded ${platformGuideCount} platform guide file(s) into ${CONVENTION_DIR}/platform/guides`
454
+ ? `\nDownloaded ${platformGuideCount} platform guide file(s) into ${CONVENTION_DIR}/platform`
208
455
  : '';
209
456
  return `Convention sync completed.\nUpdated ${CONVENTION_DIR}/${CONVENTION_INDEX_FILE}\nNo project conventions found.${platformLine}`;
210
457
  }
@@ -214,8 +461,203 @@ export async function conventionDownload(options) {
214
461
  ? `Updated ${CONVENTION_DIR}/${CONVENTION_INDEX_FILE}\n`
215
462
  : "";
216
463
  const platformLine = platformGuideCount > 0
217
- ? `Downloaded ${platformGuideCount} platform guide file(s) into ${CONVENTION_DIR}/platform/guides\n`
464
+ ? `Downloaded ${platformGuideCount} platform guide file(s) into ${CONVENTION_DIR}/platform\n`
218
465
  : "";
219
466
  return `Convention sync completed.\n${reportingLine}${platformLine}Downloaded ${conventions.length} file(s) into category directories under ${CONVENTION_DIR}`;
220
467
  }
468
+ export async function conventionCreate(options) {
469
+ const { config, apiUrl, headers } = getApiConfigOrThrow(options);
470
+ const projectRoot = findProjectRoot(options?.cwd);
471
+ if (!projectRoot) {
472
+ throw new Error("No .agentteams directory found. Run 'agentteams init' first.");
473
+ }
474
+ const manifest = loadManifestOrCreate(projectRoot);
475
+ const files = toFileList(options.file);
476
+ const results = [];
477
+ for (const fileInput of files) {
478
+ const cwd = options.cwd ?? process.cwd();
479
+ const absolutePath = resolveConventionFileAbsolutePath(projectRoot, cwd, fileInput);
480
+ if (!existsSync(absolutePath)) {
481
+ throw new Error(`File not found: ${absolutePath}`);
482
+ }
483
+ const fileRelativePath = normalizeRelativePath(relative(projectRoot, absolutePath));
484
+ const category = parseCategoryFromAgentteamsPath(fileRelativePath);
485
+ const fileName = basename(absolutePath);
486
+ if (!fileName.toLowerCase().endsWith(".md")) {
487
+ throw new Error(`Convention create requires a .md file: ${fileRelativePath}`);
488
+ }
489
+ const existingEntry = manifest.entries.find((e) => e.fileRelativePath === fileRelativePath);
490
+ if (existingEntry) {
491
+ throw new Error(`File is already tracked in the manifest (use update instead): ${fileRelativePath}\n` +
492
+ `- conventionId: ${existingEntry.conventionId}`);
493
+ }
494
+ const localMarkdown = readFileSync(absolutePath, "utf-8");
495
+ const parsed = matter(localMarkdown);
496
+ const frontmatter = (parsed.data ?? {});
497
+ const bodyMarkdown = String(parsed.content ?? "");
498
+ const content = await normalizeMarkdownToTiptap(bodyMarkdown);
499
+ const title = toOptionalString(frontmatter.title)?.trim() || fileNameToTitle(fileName);
500
+ const payload = {
501
+ title,
502
+ category,
503
+ fileName,
504
+ content,
505
+ };
506
+ const trigger = toOptionalString(frontmatter.trigger)?.trim();
507
+ const description = toOptionalString(frontmatter.description)?.trim();
508
+ const agentInstruction = toOptionalString(frontmatter.agentInstruction);
509
+ if (trigger)
510
+ payload.trigger = trigger;
511
+ if (description)
512
+ payload.description = description;
513
+ if (typeof agentInstruction === "string" && agentInstruction.trim().length > 0) {
514
+ payload.agentInstruction = agentInstruction.trimEnd();
515
+ }
516
+ const response = await withSpinner(`Creating convention for ${fileRelativePath}...`, () => axios.post(`${apiUrl}/api/projects/${config.projectId}/conventions`, payload, { headers }));
517
+ const created = response.data?.data;
518
+ const createdId = typeof created?.id === "string" ? created.id : "unknown";
519
+ const createdUpdatedAt = typeof created?.updatedAt === "string" ? created.updatedAt : undefined;
520
+ const now = new Date().toISOString();
521
+ manifest.generatedAt = now;
522
+ manifest.entries.push({
523
+ conventionId: createdId,
524
+ fileRelativePath,
525
+ fileName,
526
+ categoryDir: category,
527
+ title,
528
+ category,
529
+ ...(createdUpdatedAt ? { updatedAt: createdUpdatedAt } : {}),
530
+ downloadedAt: now,
531
+ lastUploadedAt: now,
532
+ ...(createdUpdatedAt ? { lastKnownUpdatedAt: createdUpdatedAt } : {}),
533
+ });
534
+ writeManifest(projectRoot, manifest);
535
+ results.push(`[OK] ${fileRelativePath}: Created. (conventionId=${createdId})`);
536
+ results.push(`[OK] ${CONVENTION_DIR}/${CONVENTION_MANIFEST_FILE}: Updated.`);
537
+ results.push(`[NEXT] Run 'agentteams convention download' to refresh convention.md and canonical markdown.`);
538
+ }
539
+ return results.join("\n");
540
+ }
541
+ export async function conventionUpdate(options) {
542
+ const { config, apiUrl, headers } = getApiConfigOrThrow(options);
543
+ const projectRoot = findProjectRoot(options?.cwd);
544
+ if (!projectRoot) {
545
+ throw new Error("No .agentteams directory found. Run 'agentteams init' first.");
546
+ }
547
+ const manifest = loadManifestOrThrow(projectRoot);
548
+ const files = toFileList(options.file);
549
+ const apply = options.apply === true;
550
+ const results = [];
551
+ for (const fileInput of files) {
552
+ const cwd = options.cwd ?? process.cwd();
553
+ const absolutePath = resolveConventionFileAbsolutePath(projectRoot, cwd, fileInput);
554
+ const fileRelativePath = normalizeRelativePath(relative(projectRoot, absolutePath));
555
+ const manifestEntry = manifest.entries.find((e) => e.fileRelativePath === fileRelativePath);
556
+ if (!manifestEntry) {
557
+ const available = manifest.entries
558
+ .map((e) => e.fileRelativePath)
559
+ .sort()
560
+ .slice(0, 30);
561
+ throw new Error(`Only downloaded convention files can be updated: ${fileInput}\n` +
562
+ `- resolved: ${absolutePath}\n` +
563
+ `- relative: ${fileRelativePath}\n` +
564
+ `Run 'agentteams convention download' first, or pass a file path listed in the manifest.\n` +
565
+ (available.length > 0 ? `Examples (partial):\n- ${available.join("\n- ")}` : ""));
566
+ }
567
+ const conventionId = manifestEntry.conventionId;
568
+ const [serverDetail, serverMarkdown, localMarkdown] = await withSpinner(`Preparing update for ${fileRelativePath}...`, async () => {
569
+ const detailResponse = await axios.get(`${apiUrl}/api/projects/${config.projectId}/conventions/${conventionId}`, { headers });
570
+ const downloadResponse = await axios.get(`${apiUrl}/api/projects/${config.projectId}/conventions/${conventionId}/download`, { headers, responseType: "text" });
571
+ const local = readFileSync(absolutePath, "utf-8");
572
+ return [detailResponse.data?.data, String(downloadResponse.data), local];
573
+ });
574
+ if (!hasAnyDiff(serverMarkdown, localMarkdown)) {
575
+ results.push(`[SKIP] ${fileRelativePath}: No changes detected.`);
576
+ continue;
577
+ }
578
+ const diffText = createUnifiedDiff(fileRelativePath, serverMarkdown, localMarkdown);
579
+ results.push(diffText.trimEnd());
580
+ if (!apply) {
581
+ results.push(`[DRY-RUN] ${fileRelativePath}: Printed diff only (no server changes).`);
582
+ continue;
583
+ }
584
+ const parsed = matter(localMarkdown);
585
+ const frontmatter = (parsed.data ?? {});
586
+ const bodyMarkdown = String(parsed.content ?? "");
587
+ const content = await normalizeMarkdownToTiptap(bodyMarkdown);
588
+ if (typeof serverDetail?.updatedAt !== "string" || serverDetail.updatedAt.length === 0) {
589
+ throw new Error(`[ERROR] ${fileRelativePath}: Server response is missing updatedAt.`);
590
+ }
591
+ const payload = {
592
+ updatedAt: serverDetail.updatedAt,
593
+ content,
594
+ };
595
+ const trigger = toOptionalStringOrNullIfPresent(frontmatter, "trigger");
596
+ const description = toOptionalStringOrNullIfPresent(frontmatter, "description");
597
+ const agentInstruction = toOptionalStringOrNullIfPresent(frontmatter, "agentInstruction");
598
+ if (trigger !== undefined)
599
+ payload.trigger = trigger;
600
+ if (description !== undefined)
601
+ payload.description = description;
602
+ if (agentInstruction !== undefined)
603
+ payload.agentInstruction = agentInstruction;
604
+ const updatedResponse = await withSpinner(`Uploading ${fileRelativePath}...`, () => axios.put(`${apiUrl}/api/projects/${config.projectId}/conventions/${conventionId}`, payload, { headers }));
605
+ const newUpdatedAt = updatedResponse.data?.data?.updatedAt;
606
+ const now = new Date().toISOString();
607
+ manifestEntry.lastUploadedAt = now;
608
+ if (typeof newUpdatedAt === "string") {
609
+ manifestEntry.lastKnownUpdatedAt = newUpdatedAt;
610
+ }
611
+ writeManifest(projectRoot, manifest);
612
+ results.push(`[OK] ${fileRelativePath}: Update applied. (conventionId=${conventionId})`);
613
+ }
614
+ return results.join("\n\n");
615
+ }
616
+ export async function conventionDelete(options) {
617
+ const { config, apiUrl, headers } = getApiConfigOrThrow(options);
618
+ const projectRoot = findProjectRoot(options?.cwd);
619
+ if (!projectRoot) {
620
+ throw new Error("No .agentteams directory found. Run 'agentteams init' first.");
621
+ }
622
+ const manifest = loadManifestOrThrow(projectRoot);
623
+ const files = toFileList(options.file);
624
+ const apply = options.apply === true;
625
+ const results = [];
626
+ for (const fileInput of files) {
627
+ const cwd = options.cwd ?? process.cwd();
628
+ const absolutePath = resolveConventionFileAbsolutePath(projectRoot, cwd, fileInput);
629
+ const fileRelativePath = normalizeRelativePath(relative(projectRoot, absolutePath));
630
+ const entryIndex = manifest.entries.findIndex((e) => e.fileRelativePath === fileRelativePath);
631
+ if (entryIndex === -1) {
632
+ const available = manifest.entries
633
+ .map((e) => e.fileRelativePath)
634
+ .sort()
635
+ .slice(0, 30);
636
+ throw new Error(`Only downloaded convention files can be deleted: ${fileInput}\n` +
637
+ `- resolved: ${absolutePath}\n` +
638
+ `- relative: ${fileRelativePath}\n` +
639
+ `Run 'agentteams convention download' first, or pass a file path listed in the manifest.\n` +
640
+ (available.length > 0 ? `Examples (partial):\n- ${available.join("\n- ")}` : ""));
641
+ }
642
+ const entry = manifest.entries[entryIndex];
643
+ const conventionId = entry.conventionId;
644
+ results.push(`[PLAN] ${fileRelativePath}: Will delete conventionId=${conventionId}`);
645
+ if (!apply) {
646
+ results.push(`[DRY-RUN] ${fileRelativePath}: Planned only (no server delete).`);
647
+ continue;
648
+ }
649
+ await withSpinner(`Deleting convention for ${fileRelativePath}...`, () => axios.delete(`${apiUrl}/api/projects/${config.projectId}/conventions/${conventionId}`, { headers: withoutJsonContentType(headers) }));
650
+ // After a successful server delete, also clean up local files/manifest.
651
+ try {
652
+ unlinkSync(absolutePath);
653
+ }
654
+ catch {
655
+ // ignore
656
+ }
657
+ manifest.entries.splice(entryIndex, 1);
658
+ writeManifest(projectRoot, manifest);
659
+ results.push(`[OK] ${fileRelativePath}: Deleted. (conventionId=${conventionId})`);
660
+ }
661
+ return results.join("\n");
662
+ }
221
663
  //# sourceMappingURL=convention.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"convention.js","sourceRoot":"","sources":["../../src/commands/convention.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"convention.js","sourceRoot":"","sources":["../../src/commands/convention.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare function executeConventionCommand(action: string, options: any): Promise<any>;
2
+ export declare function executeSyncCommand(action: string, options: any): Promise<any>;
3
+ //# sourceMappingURL=conventionRouter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conventionRouter.d.ts","sourceRoot":"","sources":["../../src/commands/conventionRouter.ts"],"names":[],"mappings":"AASA,wBAAsB,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAmCzF;AAED,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAOnF"}