@neuledge/context 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -295,7 +295,7 @@ context add git@github.com:user/repo.git
295
295
  context add ssh://git@github.com/user/repo.git
296
296
 
297
297
  # Custom options
298
- context add https://github.com/vercel/next.js --docs-path packages/docs --name nextjs
298
+ context add https://github.com/vercel/next.js --path packages/docs --name nextjs
299
299
  ```
300
300
 
301
301
  **From local directory:**
@@ -307,16 +307,16 @@ Build a package from documentation in a local folder:
307
307
  context add ./my-project
308
308
 
309
309
  # Specify docs path explicitly
310
- context add /path/to/repo --docs-path docs
310
+ context add /path/to/repo --path docs
311
311
 
312
312
  # Custom package name and version
313
- context add ./my-lib --name my-library --version 1.0.0
313
+ context add ./my-lib --name my-library --pkg-version 1.0.0
314
314
  ```
315
315
 
316
316
  | Option | Description |
317
317
  |--------|-------------|
318
- | `--version <version>` | Custom version label |
319
- | `--docs-path <path>` | Path to docs folder in repo/directory |
318
+ | `--pkg-version <version>` | Custom version label |
319
+ | `--path <path>` | Path to docs folder in repo/directory |
320
320
  | `--name <name>` | Custom package name |
321
321
  | `--save <path>` | Save a copy of the package to the specified path |
322
322
 
package/dist/cli.d.ts CHANGED
@@ -3,8 +3,9 @@ type SourceType = "file" | "url" | "git" | "local-dir";
3
3
  /** Detect the type of source based on the input string. */
4
4
  export declare function detectSourceType(source: string): SourceType;
5
5
  export interface AddFromGitOptions {
6
+ tag?: string;
6
7
  version?: string;
7
- docsPath?: string;
8
+ path?: string;
8
9
  name?: string;
9
10
  save?: string;
10
11
  lang?: string;
package/dist/cli.js CHANGED
@@ -1,10 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import { copyFileSync, createWriteStream, existsSync, mkdirSync, readdirSync, renameSync, statSync, unlinkSync, } from "node:fs";
3
+ import { createRequire } from "node:module";
3
4
  import { homedir } from "node:os";
4
5
  import { basename, join, resolve } from "node:path";
5
6
  import { pipeline } from "node:stream/promises";
6
7
  import { Command } from "commander";
7
- import { cloneRepository, detectLocalDocsFolder, detectVersion, extractRepoName, extractVersion, isGitUrl, parseGitUrl, readLocalDocsFiles, } from "./git.js";
8
+ const require = createRequire(import.meta.url);
9
+ const { version } = require("../package.json");
10
+ import { checkoutRef, cloneRepository, detectLocalDocsFolder, detectVersion, extractRepoName, fetchTagsWithMetadata, getDefaultBranch, isGitUrl, parseGitUrl, parseMonorepoTag, readLocalDocsFiles, sortTagsForSelection, } from "./git.js";
8
11
  import { buildPackage } from "./package-builder.js";
9
12
  import { search } from "./search.js";
10
13
  import { ContextServer } from "./server.js";
@@ -78,7 +81,7 @@ function warnIfLowDocs(sectionCount, repoName) {
78
81
  🔍 Search for the docs repo: ${searchUrl}
79
82
 
80
83
  Or try:
81
- - Use --docs-path to specify a different docs folder
84
+ - Use --path to specify a different docs folder
82
85
  - Check for a dedicated docs repo (e.g., ${repoName}-docs, ${repoName}.github.io)`);
83
86
  }
84
87
  }
@@ -131,7 +134,7 @@ function loadPackages(store) {
131
134
  const program = new Command()
132
135
  .name("context")
133
136
  .description("Local-first documentation for AI agents")
134
- .version("0.1.0");
137
+ .version(version);
135
138
  /** Install a package from a local file path. */
136
139
  function addFromFile(source, options) {
137
140
  const sourcePath = resolve(source);
@@ -195,17 +198,133 @@ async function addFromUrl(url, options) {
195
198
  throw err;
196
199
  }
197
200
  }
201
+ /**
202
+ * Check if running in interactive TTY mode.
203
+ */
204
+ function isInteractive() {
205
+ return process.stdin.isTTY === true && process.stdout.isTTY === true;
206
+ }
207
+ /**
208
+ * Prompt user to select a git tag from a list.
209
+ * Returns the selected tag name, or null for HEAD.
210
+ */
211
+ async function promptTagSelection(tags, defaultBranch) {
212
+ const { select } = await import("@inquirer/prompts");
213
+ const HEAD_VALUE = "__HEAD__";
214
+ const choices = [
215
+ {
216
+ name: `HEAD (current ${defaultBranch} branch)`,
217
+ value: HEAD_VALUE,
218
+ },
219
+ ...tags.map((tag) => ({
220
+ name: tag.isPrerelease ? `${tag.name} (prerelease)` : tag.name,
221
+ value: tag.name,
222
+ })),
223
+ ];
224
+ const selected = await select({
225
+ message: "Select a tag:",
226
+ choices,
227
+ pageSize: 15,
228
+ });
229
+ return selected === HEAD_VALUE ? null : selected;
230
+ }
231
+ /**
232
+ * Prompt user to confirm or modify package name and version.
233
+ */
234
+ async function promptPackageDetails(suggestedName, suggestedVersion) {
235
+ const { input } = await import("@inquirer/prompts");
236
+ const name = await input({
237
+ message: "Package name:",
238
+ default: suggestedName,
239
+ });
240
+ const version = await input({
241
+ message: "Version:",
242
+ default: suggestedVersion,
243
+ });
244
+ return { name, version };
245
+ }
198
246
  /** Install a package from a git repository (via clone). */
199
247
  async function addFromGitClone(source, options) {
200
- const { url, ref } = parseGitUrl(source);
201
- const repoName = options.name ?? extractRepoName(url);
202
- console.log(`Cloning ${url}${ref ? ` (${ref})` : ""}...`);
203
- const { tempDir, cleanup } = cloneRepository(url, ref);
248
+ const { url, ref: urlRef } = parseGitUrl(source);
249
+ console.log(`Cloning ${url}...`);
250
+ // Clone without checking out a specific ref initially (we'll do it after tag selection)
251
+ const { tempDir, cleanup } = cloneRepository(url);
204
252
  try {
205
- // Detect version: explicit > ref > detected from repo > latest
206
- const versionLabel = options.version ?? (ref ? extractVersion(ref) : detectVersion(tempDir));
253
+ // Determine which tag/ref to use
254
+ let selectedTag = null;
255
+ if (options.tag) {
256
+ // Explicit --tag provided
257
+ selectedTag = options.tag;
258
+ }
259
+ else if (urlRef) {
260
+ // Ref was part of the URL (e.g., github.com/user/repo#v1.0.0)
261
+ selectedTag = urlRef;
262
+ }
263
+ else {
264
+ // Interactive tag selection
265
+ if (!isInteractive()) {
266
+ throw new Error("Interactive mode required. Use --tag to specify a git tag, or run in a terminal.");
267
+ }
268
+ console.log("Fetching tags...");
269
+ const tags = fetchTagsWithMetadata(tempDir);
270
+ const sortedTags = sortTagsForSelection(tags);
271
+ const defaultBranch = getDefaultBranch(tempDir);
272
+ if (sortedTags.length === 0) {
273
+ console.log("No tags found, using HEAD.");
274
+ }
275
+ else {
276
+ selectedTag = await promptTagSelection(sortedTags, defaultBranch);
277
+ }
278
+ }
279
+ // Checkout the selected tag if specified
280
+ if (selectedTag) {
281
+ console.log(`Checking out ${selectedTag}...`);
282
+ checkoutRef(tempDir, selectedTag);
283
+ }
284
+ // Determine package name and version
285
+ let packageName;
286
+ let versionLabel;
287
+ // Extract suggested values from tag or use defaults
288
+ const repoName = extractRepoName(url);
289
+ let suggestedName = repoName;
290
+ let suggestedVersion = "latest";
291
+ if (selectedTag) {
292
+ const parsed = parseMonorepoTag(selectedTag);
293
+ if (parsed.packageName) {
294
+ suggestedName = parsed.packageName;
295
+ }
296
+ suggestedVersion = parsed.version;
297
+ }
298
+ // Use explicit options if provided, otherwise prompt or use suggestions
299
+ if (options.name && options.version) {
300
+ // Both provided, skip prompts
301
+ packageName = options.name;
302
+ versionLabel = options.version;
303
+ }
304
+ else if (options.name) {
305
+ packageName = options.name;
306
+ versionLabel = options.version ?? suggestedVersion;
307
+ }
308
+ else if (options.version) {
309
+ packageName = options.name ?? suggestedName;
310
+ versionLabel = options.version;
311
+ }
312
+ else {
313
+ // Need to prompt for confirmation
314
+ if (!isInteractive()) {
315
+ // Non-interactive: use suggested values
316
+ packageName = suggestedName;
317
+ versionLabel = suggestedVersion;
318
+ console.log(`Using: ${packageName}@${versionLabel}`);
319
+ }
320
+ else {
321
+ const details = await promptPackageDetails(suggestedName, suggestedVersion);
322
+ packageName = details.name;
323
+ versionLabel = details.version;
324
+ }
325
+ }
207
326
  // Detect or use provided docs path
208
- let docsPath = options.docsPath;
327
+ let docsPath = options.path;
209
328
  if (!docsPath) {
210
329
  const detected = detectLocalDocsFolder(tempDir);
211
330
  if (detected) {
@@ -219,29 +338,32 @@ async function addFromGitClone(source, options) {
219
338
  console.log(`✓ Reading from repository root`);
220
339
  }
221
340
  // Read all markdown files (filtered by language)
222
- const files = readLocalDocsFiles(tempDir, { docsPath, lang: options.lang });
341
+ const files = readLocalDocsFiles(tempDir, {
342
+ path: docsPath,
343
+ lang: options.lang,
344
+ });
223
345
  if (files.length === 0) {
224
- throw new Error(`No markdown files found${docsPath ? ` in ${docsPath}` : ""}. Use --docs-path to specify or --lang all to include all languages.`);
346
+ throw new Error(`No markdown files found${docsPath ? ` in ${docsPath}` : ""}. Use --path to specify or --lang all to include all languages.`);
225
347
  }
226
348
  console.log(`✓ Found ${files.length} markdown files${options.lang ? ` (lang: ${options.lang})` : ""}`);
227
349
  // Build the package
228
350
  ensureDataDir();
229
- const outputPath = join(DATA_DIR, `${repoName}@${versionLabel}.db`);
351
+ const outputPath = join(DATA_DIR, `${packageName}@${versionLabel}.db`);
230
352
  console.log(`Building package...`);
231
353
  const result = buildPackage(outputPath, files, {
232
- name: repoName,
354
+ name: packageName,
233
355
  version: versionLabel,
234
356
  sourceUrl: url,
235
357
  });
236
- console.log(`✓ Built package: ${repoName}@${versionLabel}`);
358
+ console.log(`✓ Built package: ${packageName}@${versionLabel}`);
237
359
  console.log(`✓ Saved to ${outputPath}`);
238
360
  // Save to custom path if specified
239
361
  if (options.save) {
240
- savePackageCopy(outputPath, options.save, repoName, versionLabel);
362
+ savePackageCopy(outputPath, options.save, packageName, versionLabel);
241
363
  }
242
364
  const sizeBytes = statSync(outputPath).size;
243
- console.log(`\nInstalled: ${repoName}@${versionLabel} (${formatBytes(sizeBytes)}, ${result.sectionCount} sections)`);
244
- warnIfLowDocs(result.sectionCount, repoName);
365
+ console.log(`\nInstalled: ${packageName}@${versionLabel} (${formatBytes(sizeBytes)}, ${result.sectionCount} sections)`);
366
+ warnIfLowDocs(result.sectionCount, packageName);
245
367
  }
246
368
  finally {
247
369
  cleanup();
@@ -252,10 +374,11 @@ async function addFromLocalDir(source, options) {
252
374
  const dirPath = resolve(source);
253
375
  const dirName = basename(dirPath);
254
376
  const packageName = options.name ?? dirName.toLowerCase().replace(/[^a-z0-9-]/g, "-");
255
- const versionLabel = options.version ?? detectVersion(dirPath);
377
+ // Pass packageName to detectVersion for monorepo support (filters tags by package name)
378
+ const versionLabel = options.version ?? detectVersion(dirPath, packageName);
256
379
  console.log(`Scanning ${dirPath}...`);
257
380
  // Detect or use provided docs path
258
- let docsPath = options.docsPath;
381
+ let docsPath = options.path;
259
382
  if (!docsPath) {
260
383
  const detected = detectLocalDocsFolder(dirPath);
261
384
  if (detected) {
@@ -269,9 +392,12 @@ async function addFromLocalDir(source, options) {
269
392
  console.log(`✓ Reading from directory root`);
270
393
  }
271
394
  // Read all markdown files (filtered by language)
272
- const files = readLocalDocsFiles(dirPath, { docsPath, lang: options.lang });
395
+ const files = readLocalDocsFiles(dirPath, {
396
+ path: docsPath,
397
+ lang: options.lang,
398
+ });
273
399
  if (files.length === 0) {
274
- throw new Error(`No markdown files found${docsPath ? ` in ${docsPath}` : ""}. Use --docs-path to specify or --lang all to include all languages.`);
400
+ throw new Error(`No markdown files found${docsPath ? ` in ${docsPath}` : ""}. Use --path to specify or --lang all to include all languages.`);
275
401
  }
276
402
  console.log(`✓ Found ${files.length} markdown files${options.lang ? ` (lang: ${options.lang})` : ""}`);
277
403
  // Build the package
@@ -297,26 +423,32 @@ program
297
423
  .command("add")
298
424
  .description("Install a documentation package from file, URL, GitHub, git repo, or local directory")
299
425
  .argument("<source>", "Package source: local .db file, URL (.db), GitHub URL, git URL, or local directory")
300
- .option("--version <version>", "Custom version label")
301
- .option("--docs-path <path>", "Path to docs folder in repo/directory")
426
+ .option("--tag <tag>", "Git tag to checkout (for git repos)")
427
+ .option("--pkg-version <version>", "Custom version label")
428
+ .option("--path <path>", "Path to docs folder in repo/directory")
302
429
  .option("--name <name>", "Custom package name")
303
430
  .option("--save <path>", "Save a copy of the package to the specified path")
304
431
  .option("--lang <code>", "Language filter: 'all' for all languages, or ISO code (e.g., 'en', 'de')")
305
432
  .action(async (source, options) => {
306
433
  try {
307
434
  const sourceType = detectSourceType(source);
435
+ // Map pkgVersion to version for internal use
436
+ const internalOptions = {
437
+ ...options,
438
+ version: options.pkgVersion,
439
+ };
308
440
  switch (sourceType) {
309
441
  case "file":
310
- addFromFile(source, options);
442
+ addFromFile(source, internalOptions);
311
443
  break;
312
444
  case "url":
313
- await addFromUrl(source, options);
445
+ await addFromUrl(source, internalOptions);
314
446
  break;
315
447
  case "git":
316
- await addFromGitClone(source, options);
448
+ await addFromGitClone(source, internalOptions);
317
449
  break;
318
450
  case "local-dir":
319
- await addFromLocalDir(source, options);
451
+ await addFromLocalDir(source, internalOptions);
320
452
  break;
321
453
  }
322
454
  }
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/git.d.ts CHANGED
@@ -48,7 +48,7 @@ export interface FindMarkdownOptions {
48
48
  }
49
49
  export interface ReadLocalDocsOptions {
50
50
  /** Path to docs folder within the repository */
51
- docsPath?: string;
51
+ path?: string;
52
52
  /** Language filter: "all" includes everything, specific code (e.g., "en") includes only that locale */
53
53
  lang?: string;
54
54
  }
@@ -66,6 +66,23 @@ export declare function readLocalDocsFiles(basePath: string, options?: ReadLocal
66
66
  * Extract version from ref or return 'latest'.
67
67
  */
68
68
  export declare function extractVersion(ref?: string): string;
69
+ /**
70
+ * Parse a monorepo-style tag into package name and version.
71
+ * Handles formats:
72
+ * - "package@1.2.3" -> { packageName: "package", version: "1.2.3" }
73
+ * - "@scope/package@1.2.3" -> { packageName: "@scope/package", version: "1.2.3" }
74
+ * - "v1.2.3" or "1.2.3" -> { packageName: null, version: "1.2.3" }
75
+ */
76
+ export declare function parseMonorepoTag(tag: string): {
77
+ packageName: string | null;
78
+ version: string;
79
+ };
80
+ /**
81
+ * Find the latest stable version from a list of git tags.
82
+ * Filters out prereleases and returns the highest semver version.
83
+ * If packageName is provided, filters tags to only those matching the package.
84
+ */
85
+ export declare function findLatestStableVersion(tags: string[], packageName?: string): string | null;
69
86
  /**
70
87
  * Detect version from a directory by checking:
71
88
  * 1. All git tags - finds highest stable (non-prerelease) version by semver
@@ -73,5 +90,42 @@ export declare function extractVersion(ref?: string): string;
73
90
  *
74
91
  * When a stable version is found, checks out to that tag so the code matches.
75
92
  * Handles shallow clones by fetching tags and the specific tag's commit.
93
+ *
94
+ * @param dirPath - Path to the git repository
95
+ * @param packageName - Optional package name for monorepo support (e.g., "ai" or "@ai-sdk/gateway")
96
+ */
97
+ export declare function detectVersion(dirPath: string, packageName?: string): string;
98
+ /**
99
+ * Tag information with metadata for sorting and display.
100
+ */
101
+ export interface TagInfo {
102
+ /** The full tag name (e.g., "ai@6.0.68" or "v1.2.3") */
103
+ name: string;
104
+ /** Parsed package name from tag, or null for plain version tags */
105
+ packageName: string | null;
106
+ /** Parsed version string */
107
+ version: string;
108
+ /** Whether this is a prerelease version */
109
+ isPrerelease: boolean;
110
+ /** Tag creation timestamp (Unix seconds) */
111
+ timestamp: number;
112
+ }
113
+ /**
114
+ * Get the default branch name (main or master).
115
+ */
116
+ export declare function getDefaultBranch(dirPath: string): string;
117
+ /**
118
+ * Fetch git tags with metadata (creation date, prerelease status).
119
+ * Returns up to `limit` tags sorted by creation date (most recent first).
120
+ */
121
+ export declare function fetchTagsWithMetadata(dirPath: string, limit?: number): TagInfo[];
122
+ /**
123
+ * Sort tags for interactive selection:
124
+ * 1. Stable versions first, sorted by timestamp (most recent first)
125
+ * 2. Prereleases after, sorted by timestamp (most recent first)
126
+ */
127
+ export declare function sortTagsForSelection(tags: TagInfo[]): TagInfo[];
128
+ /**
129
+ * Checkout a specific git ref (tag or branch).
76
130
  */
77
- export declare function detectVersion(dirPath: string): string;
131
+ export declare function checkoutRef(dirPath: string, ref: string): void;
package/dist/git.js CHANGED
@@ -334,7 +334,7 @@ function findMarkdownFiles(dirPath, ig, basePath = "", options = {}) {
334
334
  * Deduplicates files by content hash (keeps first occurrence).
335
335
  */
336
336
  export function readLocalDocsFiles(basePath, options = {}) {
337
- const { docsPath, lang } = options;
337
+ const { path: docsPath, lang } = options;
338
338
  const searchPath = docsPath ? join(basePath, docsPath) : basePath;
339
339
  if (!existsSync(searchPath)) {
340
340
  throw new Error(`Directory not found: ${searchPath}`);
@@ -372,13 +372,41 @@ export function extractVersion(ref) {
372
372
  return "latest";
373
373
  return ref.startsWith("v") ? ref.slice(1) : ref;
374
374
  }
375
+ /**
376
+ * Parse a monorepo-style tag into package name and version.
377
+ * Handles formats:
378
+ * - "package@1.2.3" -> { packageName: "package", version: "1.2.3" }
379
+ * - "@scope/package@1.2.3" -> { packageName: "@scope/package", version: "1.2.3" }
380
+ * - "v1.2.3" or "1.2.3" -> { packageName: null, version: "1.2.3" }
381
+ */
382
+ export function parseMonorepoTag(tag) {
383
+ // Handle scoped packages: @scope/package@version
384
+ const scopedMatch = tag.match(/^(@[^@]+\/[^@]+)@(.+)$/);
385
+ if (scopedMatch) {
386
+ return {
387
+ packageName: scopedMatch[1],
388
+ version: scopedMatch[2],
389
+ };
390
+ }
391
+ // Handle unscoped packages: package@version (but not @scope/... which is handled above)
392
+ const unscopedMatch = tag.match(/^([^@]+)@(.+)$/);
393
+ if (unscopedMatch) {
394
+ return {
395
+ packageName: unscopedMatch[1],
396
+ version: unscopedMatch[2],
397
+ };
398
+ }
399
+ // Plain version tag (v1.2.3 or 1.2.3)
400
+ const version = tag.startsWith("v") ? tag.slice(1) : tag;
401
+ return { packageName: null, version };
402
+ }
375
403
  /**
376
404
  * Parse a version string into components.
377
405
  * Returns null if the string is not a valid semver-like version.
378
406
  */
379
407
  function parseVersion(tag) {
380
- // Remove 'v' prefix if present
381
- const version = tag.startsWith("v") ? tag.slice(1) : tag;
408
+ // Extract version from monorepo-style tags (e.g., "ai@6.0.68" -> "6.0.68")
409
+ const { version } = parseMonorepoTag(tag);
382
410
  // Match semver pattern: major.minor.patch[-prerelease]
383
411
  const match = version.match(/^(\d+)\.(\d+)\.(\d+)(?:-(.+))?$/);
384
412
  if (!match)
@@ -411,12 +439,41 @@ function compareVersions(a, b) {
411
439
  return a.minor - b.minor;
412
440
  return a.patch - b.patch;
413
441
  }
442
+ /**
443
+ * Filter tags by package name for monorepo support.
444
+ * - If packageName is provided, only return tags matching that package
445
+ * - If no package-specific tags found, fall back to plain version tags
446
+ * - If packageName is not provided, return all tags
447
+ */
448
+ function filterTagsByPackage(tags, packageName) {
449
+ if (!packageName) {
450
+ return tags;
451
+ }
452
+ // Normalize package name for comparison (handle both "ai" and "@ai-sdk/gateway" styles)
453
+ const normalizedName = packageName.toLowerCase();
454
+ // Filter tags that match the package name
455
+ const matchingTags = tags.filter((tag) => {
456
+ const parsed = parseMonorepoTag(tag);
457
+ if (parsed.packageName === null) {
458
+ return false; // Plain version tags don't match specific packages
459
+ }
460
+ return parsed.packageName.toLowerCase() === normalizedName;
461
+ });
462
+ // If we found package-specific tags, use those
463
+ if (matchingTags.length > 0) {
464
+ return matchingTags;
465
+ }
466
+ // Fall back to plain version tags (for non-monorepo repos)
467
+ return tags.filter((tag) => parseMonorepoTag(tag).packageName === null);
468
+ }
414
469
  /**
415
470
  * Find the latest stable version from a list of git tags.
416
471
  * Filters out prereleases and returns the highest semver version.
472
+ * If packageName is provided, filters tags to only those matching the package.
417
473
  */
418
- function findLatestStableVersion(tags) {
419
- const versions = tags
474
+ export function findLatestStableVersion(tags, packageName) {
475
+ const filteredTags = filterTagsByPackage(tags, packageName);
476
+ const versions = filteredTags
420
477
  .map(parseVersion)
421
478
  .filter((v) => v !== null)
422
479
  .filter((v) => !isPrerelease(v));
@@ -434,8 +491,11 @@ function findLatestStableVersion(tags) {
434
491
  *
435
492
  * When a stable version is found, checks out to that tag so the code matches.
436
493
  * Handles shallow clones by fetching tags and the specific tag's commit.
494
+ *
495
+ * @param dirPath - Path to the git repository
496
+ * @param packageName - Optional package name for monorepo support (e.g., "ai" or "@ai-sdk/gateway")
437
497
  */
438
- export function detectVersion(dirPath) {
498
+ export function detectVersion(dirPath, packageName) {
439
499
  try {
440
500
  // Fetch all tags (needed for shallow clones)
441
501
  execSync("git fetch --tags --quiet 2>/dev/null", {
@@ -451,7 +511,7 @@ export function detectVersion(dirPath) {
451
511
  }).trim();
452
512
  if (tagsOutput) {
453
513
  const tags = tagsOutput.split("\n").filter(Boolean);
454
- const latestStable = findLatestStableVersion(tags);
514
+ const latestStable = findLatestStableVersion(tags, packageName);
455
515
  if (latestStable) {
456
516
  // Fetch and checkout to the detected tag so code matches the version
457
517
  try {
@@ -471,9 +531,9 @@ export function detectVersion(dirPath) {
471
531
  catch {
472
532
  // Checkout failed, continue with current HEAD
473
533
  }
474
- return latestStable.startsWith("v")
475
- ? latestStable.slice(1)
476
- : latestStable;
534
+ // Extract version from monorepo-style tags (e.g., "ai@6.0.68" -> "6.0.68")
535
+ const { version } = parseMonorepoTag(latestStable);
536
+ return version;
477
537
  }
478
538
  }
479
539
  }
@@ -482,4 +542,126 @@ export function detectVersion(dirPath) {
482
542
  }
483
543
  return "latest";
484
544
  }
545
+ /**
546
+ * Get the default branch name (main or master).
547
+ */
548
+ export function getDefaultBranch(dirPath) {
549
+ try {
550
+ // Try to get the default branch from remote HEAD
551
+ const result = execSync("git symbolic-ref refs/remotes/origin/HEAD 2>/dev/null", {
552
+ cwd: dirPath,
553
+ encoding: "utf-8",
554
+ stdio: ["pipe", "pipe", "pipe"],
555
+ }).trim();
556
+ // Extract branch name from "refs/remotes/origin/main"
557
+ const match = result.match(/refs\/remotes\/origin\/(.+)$/);
558
+ if (match?.[1]) {
559
+ return match[1];
560
+ }
561
+ }
562
+ catch {
563
+ // Fallback: check if main or master exists
564
+ }
565
+ try {
566
+ execSync("git show-ref --verify --quiet refs/heads/main", {
567
+ cwd: dirPath,
568
+ stdio: ["pipe", "pipe", "pipe"],
569
+ });
570
+ return "main";
571
+ }
572
+ catch {
573
+ // main doesn't exist
574
+ }
575
+ return "master";
576
+ }
577
+ /**
578
+ * Fetch git tags with metadata (creation date, prerelease status).
579
+ * Returns up to `limit` tags sorted by creation date (most recent first).
580
+ */
581
+ export function fetchTagsWithMetadata(dirPath, limit = 100) {
582
+ try {
583
+ // Fetch all tags (needed for shallow clones)
584
+ execSync("git fetch --tags --quiet 2>/dev/null", {
585
+ cwd: dirPath,
586
+ encoding: "utf-8",
587
+ stdio: ["pipe", "pipe", "pipe"],
588
+ });
589
+ // Get tags with creation date, sorted by date descending
590
+ // Format: timestamp<tab>tagname
591
+ const output = execSync(`git tag -l --sort=-creatordate --format='%(creatordate:unix)\t%(refname:short)' 2>/dev/null | head -n ${limit}`, {
592
+ cwd: dirPath,
593
+ encoding: "utf-8",
594
+ stdio: ["pipe", "pipe", "pipe"],
595
+ }).trim();
596
+ if (!output) {
597
+ return [];
598
+ }
599
+ const tags = [];
600
+ for (const line of output.split("\n")) {
601
+ const [timestampStr, tagName] = line.split("\t");
602
+ if (!tagName || !timestampStr)
603
+ continue;
604
+ const timestamp = Number.parseInt(timestampStr, 10);
605
+ const { packageName, version } = parseMonorepoTag(tagName);
606
+ // Check if it's a prerelease by parsing and checking
607
+ const parsed = parseVersion(tagName);
608
+ const isPre = parsed ? isPrerelease(parsed) : false;
609
+ tags.push({
610
+ name: tagName,
611
+ packageName,
612
+ version,
613
+ isPrerelease: isPre,
614
+ timestamp,
615
+ });
616
+ }
617
+ return tags;
618
+ }
619
+ catch {
620
+ return [];
621
+ }
622
+ }
623
+ /**
624
+ * Sort tags for interactive selection:
625
+ * 1. Stable versions first, sorted by timestamp (most recent first)
626
+ * 2. Prereleases after, sorted by timestamp (most recent first)
627
+ */
628
+ export function sortTagsForSelection(tags) {
629
+ const stable = tags.filter((t) => !t.isPrerelease);
630
+ const prerelease = tags.filter((t) => t.isPrerelease);
631
+ // Both are already sorted by timestamp from git, but let's ensure it
632
+ stable.sort((a, b) => b.timestamp - a.timestamp);
633
+ prerelease.sort((a, b) => b.timestamp - a.timestamp);
634
+ return [...stable, ...prerelease];
635
+ }
636
+ /**
637
+ * Checkout a specific git ref (tag or branch).
638
+ */
639
+ export function checkoutRef(dirPath, ref) {
640
+ try {
641
+ // Fetch the specific ref (for shallow clones)
642
+ execSync(`git fetch --depth=1 origin tag ${ref} --no-tags 2>/dev/null`, {
643
+ cwd: dirPath,
644
+ encoding: "utf-8",
645
+ stdio: ["pipe", "pipe", "pipe"],
646
+ });
647
+ }
648
+ catch {
649
+ // Tag fetch failed, try as branch
650
+ try {
651
+ execSync(`git fetch --depth=1 origin ${ref} 2>/dev/null`, {
652
+ cwd: dirPath,
653
+ encoding: "utf-8",
654
+ stdio: ["pipe", "pipe", "pipe"],
655
+ });
656
+ }
657
+ catch {
658
+ // Fetch failed, continue anyway
659
+ }
660
+ }
661
+ execSync(`git checkout ${ref} 2>/dev/null`, {
662
+ cwd: dirPath,
663
+ encoding: "utf-8",
664
+ stdio: ["pipe", "pipe", "pipe"],
665
+ });
666
+ }
485
667
  //# sourceMappingURL=git.js.map
package/dist/git.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"git.js","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,6BAA6B;AAC7B,yFAAyF;AACzF,8FAA8F;AAE9F,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,UAAU,EACV,WAAW,EACX,WAAW,EACX,YAAY,EACZ,MAAM,GACP,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,MAAM,EAAE,EAAe,MAAM,QAAQ,CAAC;AAE7C;;;GAGG;AACH,SAAS,WAAW,CAAC,OAAe;IAClC,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACtE,CAAC;AAED;;;GAGG;AACH,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;IAC3B,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,OAAO;IACP,OAAO;IACP,SAAS;IACT,SAAS;IACT,OAAO;IACP,OAAO;CACR,CAAC,CAAC;AAEH;;GAEG;AACH,SAAS,WAAW,CAAC,IAAY;IAC/B,OAAO,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED;;;GAGG;AACH,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;IAC5B,oBAAoB;IACpB,iBAAiB;IACjB,cAAc;IACd,YAAY;IACZ,YAAY;IACZ,aAAa;IACb,0BAA0B;IAC1B,mBAAmB;IACnB,WAAW,EAAE,6BAA6B;CAC3C,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;IAC3B,mBAAmB;IACnB,WAAW;IACX,UAAU;IACV,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,UAAU;IACV,cAAc;IACd,WAAW;IACX,mCAAmC;IACnC,UAAU;IACV,KAAK;IACL,OAAO;IACP,QAAQ;IACR,8BAA8B;IAC9B,cAAc;IACd,MAAM;IACN,OAAO;IACP,KAAK;IACL,OAAO;IACP,OAAO;IACP,4BAA4B;IAC5B,UAAU,EAAE,wCAAwC;IACpD,YAAY;IACZ,WAAW;CACZ,CAAC,CAAC;AAYH;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CAAC,MAAc;IACrC,6CAA6C;IAC7C,IAAI,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IACtD,YAAY;IACZ,IAAI,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7C,YAAY;IACZ,IAAI,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7C,4CAA4C;IAC5C,IAAI,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAEvD,qEAAqE;IACrE,wEAAwE;IACxE,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAC/B,uFAAuF,CACxF,CAAC;IACF,IAAI,YAAY;QAAE,OAAO,IAAI,CAAC;IAE9B,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,GAAW,EAAE,GAAY;IACvD,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC;IAE5D,IAAI,CAAC;QACH,oDAAoD;QACpD,MAAM,SAAS,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;QAC5C,IAAI,GAAG,EAAE,CAAC;YACR,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAClC,CAAC;QACD,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAE7B,QAAQ,CAAC,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE;YACrC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;YAC/B,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,sBAAsB;QACtB,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,IAAI,KAAK,CAAC,qBAAqB,OAAO,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,OAAO;QACL,OAAO;QACP,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;KACjE,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,gCAAgC;IAChC,IAAI,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAExC,4CAA4C;IAC5C,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACnD,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,OAAO,CAAC;IAChD,CAAC;IAED,qDAAqD;IACrD,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACpD,IAAI,IAAI,GAAG,QAAQ,CAAC,GAAG,EAAE,IAAI,SAAS,CAAC;IACvC,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC;IAE3B,qDAAqD;IACrD,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,GAAG,EAAE,CAAC;QACvC,IAAI,GAAG,GAAG,CAAC;IACb,CAAC;IACD,8EAA8E;SACzE,IAAI,mCAAmC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACxD,IAAI,GAAG,IAAI;aACR,OAAO,CAAC,mCAAmC,EAAE,EAAE,CAAC;aAChD,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,8CAA8C;IACxE,CAAC;IAED,OAAO,CACL,IAAI;SACD,WAAW,EAAE;SACb,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,uBAAuB;SAC5C,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;SACtB,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,SAAS,CACtC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,kCAAkC;IAClC,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;IAC9E,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,OAAO,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IAClD,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,CAAC;AACjB,CAAC;AAED,MAAM,sBAAsB,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;AAEhE;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAe;IACnD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9D,MAAM,IAAI,GAAG,OAAO;aACjB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;aAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAEpC,KAAK,MAAM,SAAS,IAAI,sBAAsB,EAAE,CAAC;YAC/C,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC7B,oCAAoC;gBACpC,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CACzB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,SAAS,CAC7D,CAAC;gBACF,OAAO,MAAM,EAAE,IAAI,IAAI,IAAI,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,wBAAwB;IAC1B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,QAAgB;IACrC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;IAEpB,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACnD,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;YACrD,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClB,CAAC;QAAC,MAAM,CAAC;YACP,qBAAqB;QACvB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAOD;;;;GAIG;AACH,SAAS,iBAAiB,CACxB,OAAe,EACf,EAAU,EACV,QAAQ,GAAG,EAAE,EACb,UAA+B,EAAE;IAEjC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC;IAEzC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAE9D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3C,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;YAExE,sBAAsB;YACtB,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,SAAS;YAEzC,2EAA2E;YAC3E,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,EAAE;gBACrC,CAAC,CAAC,GAAG,YAAY,GAAG;gBACpB,CAAC,CAAC,YAAY,CAAC;YACjB,IAAI,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC;gBAAE,SAAS;YAEtC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,qDAAqD;gBACrD,IAAI,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;oBAC/C,SAAS;gBACX,CAAC;gBAED,uEAAuE;gBACvE,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;oBACzC,kEAAkE;oBAClE,IACE,IAAI,KAAK,KAAK;wBACd,IAAI,KAAK,OAAO;wBAChB,CAAC,CAAC,IAAI,IAAI,OAAO,KAAK,IAAI,CAAC,EAC3B,CAAC;wBACD,KAAK,CAAC,IAAI,CACR,GAAG,iBAAiB,CAAC,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAE,OAAO,CAAC,CAC1D,CAAC;oBACJ,CAAC;oBACD,gCAAgC;gBAClC,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;gBACxE,CAAC;YACH,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC1B,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC9D,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;oBAC3C,8BAA8B;oBAC9B,IAAI,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC;wBAAE,SAAS;oBAC3C,oEAAoE;oBACpE,IACE,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC;wBAChC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC;wBAC9B,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,EAC9B,CAAC;wBACD,SAAS;oBACX,CAAC;oBACD,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,wBAAwB;IAC1B,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AASD;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,QAAgB,EAChB,UAAgC,EAAE;IAElC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IACnC,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAElE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,wBAAwB,UAAU,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,gCAAgC;IAChC,MAAM,EAAE,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAEnC,MAAM,aAAa,GAAG,iBAAiB,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACtE,MAAM,KAAK,GAA6C,EAAE,CAAC;IAC3D,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IAErC,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,CAAC;QACrC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAC5C,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAEhD,iDAAiD;YACjD,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;YAClC,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,SAAS;YACX,CAAC;YACD,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAErB,iDAAiD;YACjD,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YACnE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;QAC7C,CAAC;QAAC,MAAM,CAAC;YACP,gCAAgC;QAClC,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,GAAY;IACzC,IAAI,CAAC,GAAG;QAAE,OAAO,QAAQ,CAAC;IAC1B,OAAO,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AAClD,CAAC;AAaD;;;GAGG;AACH,SAAS,YAAY,CAAC,GAAW;IAC/B,+BAA+B;IAC/B,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAEzD,uDAAuD;IACvD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;IAC/D,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,0EAA0E;IAC1E,mCAAmC;IACnC,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAW,EAAE,EAAE,CAAC;QAC9C,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAW,EAAE,EAAE,CAAC;QAC9C,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAW,EAAE,EAAE,CAAC;QAC9C,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI;QAC5B,QAAQ,EAAE,GAAG;KACd,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,YAAY,CAAC,OAAsB;IAC1C,OAAO,OAAO,CAAC,UAAU,KAAK,IAAI,CAAC;AACrC,CAAC;AAED;;;GAGG;AACH,SAAS,eAAe,CAAC,CAAgB,EAAE,CAAgB;IACzD,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK;QAAE,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;IAClD,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK;QAAE,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;IAClD,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;AAC3B,CAAC;AAED;;;GAGG;AACH,SAAS,uBAAuB,CAAC,IAAc;IAC7C,MAAM,QAAQ,GAAG,IAAI;SAClB,GAAG,CAAC,YAAY,CAAC;SACjB,MAAM,CAAC,CAAC,CAAC,EAAsB,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;SAC7C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAEnC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEvC,6BAA6B;IAC7B,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAE/C,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC3B,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;AACzC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,IAAI,CAAC;QACH,6CAA6C;QAC7C,QAAQ,CAAC,sCAAsC,EAAE;YAC/C,GAAG,EAAE,OAAO;YACZ,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAChC,CAAC,CAAC;QAEH,gBAAgB;QAChB,MAAM,UAAU,GAAG,QAAQ,CAAC,wBAAwB,EAAE;YACpD,GAAG,EAAE,OAAO;YACZ,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAChC,CAAC,CAAC,IAAI,EAAE,CAAC;QAEV,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACpD,MAAM,YAAY,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;YACnD,IAAI,YAAY,EAAE,CAAC;gBACjB,qEAAqE;gBACrE,IAAI,CAAC;oBACH,yEAAyE;oBACzE,QAAQ,CACN,kCAAkC,YAAY,wBAAwB,EACtE;wBACE,GAAG,EAAE,OAAO;wBACZ,QAAQ,EAAE,OAAO;wBACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;qBAChC,CACF,CAAC;oBACF,sBAAsB;oBACtB,QAAQ,CAAC,gBAAgB,YAAY,cAAc,EAAE;wBACnD,GAAG,EAAE,OAAO;wBACZ,QAAQ,EAAE,OAAO;wBACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;qBAChC,CAAC,CAAC;gBACL,CAAC;gBAAC,MAAM,CAAC;oBACP,8CAA8C;gBAChD,CAAC;gBAED,OAAO,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC;oBACjC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;oBACvB,CAAC,CAAC,YAAY,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,4BAA4B;IAC9B,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,17 @@
1
1
  /**
2
2
  * Package builder for creating documentation packages from markdown files.
3
3
  */
4
+ import { createHash } from "node:crypto";
4
5
  import { existsSync, unlinkSync } from "node:fs";
5
6
  import Database from "better-sqlite3";
6
7
  import { parseMarkdown } from "./build.js";
8
+ /**
9
+ * Generate a content hash for section deduplication.
10
+ * Uses first 16 chars of MD5 (sufficient for detecting identical content).
11
+ */
12
+ function contentHash(content) {
13
+ return createHash("md5").update(content).digest("hex").slice(0, 16);
14
+ }
7
15
  /**
8
16
  * Build a documentation package from markdown files.
9
17
  */
@@ -48,10 +56,18 @@ export function buildPackage(outputPath, files, options) {
48
56
  VALUES (?, ?, ?, ?, ?, ?)
49
57
  `);
50
58
  const allSections = [];
59
+ const seenHashes = new Set();
51
60
  for (const file of files) {
52
61
  try {
53
62
  const parsed = parseMarkdown(file.content, file.path);
54
- allSections.push(...parsed.sections);
63
+ for (const section of parsed.sections) {
64
+ // Deduplicate sections with identical content (ignore titles)
65
+ const hash = contentHash(section.content);
66
+ if (!seenHashes.has(hash)) {
67
+ seenHashes.add(hash);
68
+ allSections.push(section);
69
+ }
70
+ }
55
71
  }
56
72
  catch {
57
73
  // Skip files that fail to parse
@@ -1 +1 @@
1
- {"version":3,"file":"package-builder.js","sourceRoot":"","sources":["../src/package-builder.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAmB,aAAa,EAAE,MAAM,YAAY,CAAC;AAoB5D;;GAEG;AACH,MAAM,UAAU,YAAY,CAC1B,UAAkB,EAClB,KAAqB,EACrB,OAA4B;IAE5B,kCAAkC;IAClC,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,UAAU,CAAC,UAAU,CAAC,CAAC;IACzB,CAAC;IAED,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC;IAEpC,IAAI,CAAC;QACH,gBAAgB;QAChB,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;KAgBP,CAAC,CAAC;QAEH,kBAAkB;QAClB,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAC3B,6CAA6C,CAC9C,CAAC;QACF,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACrC,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,UAAU,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,UAAU,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAClD,CAAC;QAED,0BAA0B;QAC1B,MAAM,WAAW,GAAG,EAAE,CAAC,OAAO,CAAC;;;KAG9B,CAAC,CAAC;QAEH,MAAM,WAAW,GAAiB,EAAE,CAAC;QAErC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtD,WAAW,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;YACvC,CAAC;YAAC,MAAM,CAAC;gBACP,gCAAgC;YAClC,CAAC;QACH,CAAC;QAED,uCAAuC;QACvC,MAAM,SAAS,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,QAAsB,EAAE,EAAE;YAC1D,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,WAAW,CAAC,GAAG,CACb,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,YAAY,EACpB,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACxB,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,WAAW,CAAC,CAAC;QAEvB,oBAAoB;QACpB,EAAE,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;QAEhE,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAEtE,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,YAAY,EAAE,WAAW,CAAC,MAAM;YAChC,WAAW;SACZ,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"package-builder.js","sourceRoot":"","sources":["../src/package-builder.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neuledge/context",
3
- "version": "0.1.1",
3
+ "version": "0.2.0",
4
4
  "description": "Context management for Neuledge packages",
5
5
  "keywords": [],
6
6
  "homepage": "https://neuledge.com",
@@ -32,6 +32,7 @@
32
32
  "author": "Neuledge",
33
33
  "license": "Apache-2.0",
34
34
  "dependencies": {
35
+ "@inquirer/prompts": "^8.2.0",
35
36
  "@modelcontextprotocol/sdk": "^1.11.4",
36
37
  "better-sqlite3": "^11.9.1",
37
38
  "commander": "^14.0.0",