@ankurhalder/codebase-snapshot 4.0.4 → 4.0.5

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/dist/bin.js CHANGED
@@ -1942,6 +1942,7 @@ import * as path7 from "path";
1942
1942
 
1943
1943
  // src/config.ts
1944
1944
  import * as fs4 from "fs";
1945
+ import { createHash } from "crypto";
1945
1946
  import * as path4 from "path";
1946
1947
  import { pathToFileURL } from "url";
1947
1948
  var CONFIG_FILENAMES = [
@@ -2621,6 +2622,27 @@ function classifyKind(filePath, kinds) {
2621
2622
  }
2622
2623
  return "other";
2623
2624
  }
2625
+ function configDigest(config) {
2626
+ const material = {
2627
+ maxPartBytes: config.maxPartBytes,
2628
+ largeFileBytes: config.largeFileBytes,
2629
+ previewHeadLines: config.previewHeadLines,
2630
+ previewTailLines: config.previewTailLines,
2631
+ includeMonolith: config.includeMonolith,
2632
+ maxMonolithBytes: config.maxMonolithBytes ?? null,
2633
+ includeSensitiveFiles: config.includeSensitiveFiles,
2634
+ artifacts: config.artifacts,
2635
+ include: config.include,
2636
+ excludePatterns: config.excludePatterns,
2637
+ preset: config.preset,
2638
+ layersMode: config.layersMode,
2639
+ budgets: config.budgets,
2640
+ layers: config.layers.map((layer2) => layer2.name),
2641
+ kinds: config.kinds.map((kind) => kind.kind),
2642
+ secretRules: config.secretRules.map((rule) => `${rule.rule}:${rule.pattern.source}`).sort()
2643
+ };
2644
+ return createHash("sha256").update(JSON.stringify(material)).digest("hex");
2645
+ }
2624
2646
 
2625
2647
  // src/partitioner/preview.ts
2626
2648
  function countLines(content) {
@@ -5256,6 +5278,11 @@ function validateSnapshot(configInput) {
5256
5278
  const currentExcludes = config.excludePatterns.map(maskValue);
5257
5279
  const currentInclude = config.include.map(maskValue);
5258
5280
  const recorded = manifest.config;
5281
+ if (recorded?.digest && recorded.digest !== configDigest(config)) {
5282
+ drift.configMismatches.push(
5283
+ "configuration: the settings differ from the ones this snapshot was generated with (run generate)"
5284
+ );
5285
+ }
5259
5286
  if (recorded && typeof recorded === "object") {
5260
5287
  if (recorded.maxPartBytes !== config.maxPartBytes) {
5261
5288
  drift.configMismatches.push(
@@ -5471,7 +5498,7 @@ function validateSnapshot(configInput) {
5471
5498
 
5472
5499
  // src/index.ts
5473
5500
  var GENERATOR_NAME = "@ankurhalder/codebase-snapshot";
5474
- var GENERATOR_VERSION = "4.0.4";
5501
+ var GENERATOR_VERSION = "4.0.5";
5475
5502
  var SCHEMA_VERSION = "3.0.0";
5476
5503
  function sha256Hex2(input) {
5477
5504
  return crypto3.createHash("sha256").update(input).digest("hex");
@@ -6338,6 +6365,7 @@ function generateSnapshot(configInput, options) {
6338
6365
  largeFileBytes: config.largeFileBytes
6339
6366
  },
6340
6367
  config: {
6368
+ digest: configDigest(config),
6341
6369
  maxPartBytes: config.maxPartBytes,
6342
6370
  largeFileBytes: config.largeFileBytes,
6343
6371
  previewHeadLines: config.previewHeadLines,
@@ -1,4 +1,5 @@
1
1
  import * as crypto from 'crypto';
2
+ import { createHash } from 'crypto';
2
3
  import * as fs9 from 'fs';
3
4
  import * as os from 'os';
4
5
  import * as path10 from 'path';
@@ -3348,6 +3349,27 @@ function classifyKind(filePath, kinds) {
3348
3349
  }
3349
3350
  return "other";
3350
3351
  }
3352
+ function configDigest(config) {
3353
+ const material = {
3354
+ maxPartBytes: config.maxPartBytes,
3355
+ largeFileBytes: config.largeFileBytes,
3356
+ previewHeadLines: config.previewHeadLines,
3357
+ previewTailLines: config.previewTailLines,
3358
+ includeMonolith: config.includeMonolith,
3359
+ maxMonolithBytes: config.maxMonolithBytes ?? null,
3360
+ includeSensitiveFiles: config.includeSensitiveFiles,
3361
+ artifacts: config.artifacts,
3362
+ include: config.include,
3363
+ excludePatterns: config.excludePatterns,
3364
+ preset: config.preset,
3365
+ layersMode: config.layersMode,
3366
+ budgets: config.budgets,
3367
+ layers: config.layers.map((layer2) => layer2.name),
3368
+ kinds: config.kinds.map((kind) => kind.kind),
3369
+ secretRules: config.secretRules.map((rule) => `${rule.rule}:${rule.pattern.source}`).sort()
3370
+ };
3371
+ return createHash("sha256").update(JSON.stringify(material)).digest("hex");
3372
+ }
3351
3373
 
3352
3374
  // src/define-config.ts
3353
3375
  function defineConfig(config) {
@@ -4304,6 +4326,11 @@ function validateSnapshot(configInput) {
4304
4326
  const currentExcludes = config.excludePatterns.map(maskValue);
4305
4327
  const currentInclude = config.include.map(maskValue);
4306
4328
  const recorded = manifest.config;
4329
+ if (recorded?.digest && recorded.digest !== configDigest(config)) {
4330
+ drift.configMismatches.push(
4331
+ "configuration: the settings differ from the ones this snapshot was generated with (run generate)"
4332
+ );
4333
+ }
4307
4334
  if (recorded && typeof recorded === "object") {
4308
4335
  if (recorded.maxPartBytes !== config.maxPartBytes) {
4309
4336
  drift.configMismatches.push(
@@ -5434,7 +5461,7 @@ async function runInit(options) {
5434
5461
 
5435
5462
  // src/index.ts
5436
5463
  var GENERATOR_NAME = "@ankurhalder/codebase-snapshot";
5437
- var GENERATOR_VERSION = "4.0.4";
5464
+ var GENERATOR_VERSION = "4.0.5";
5438
5465
  var SCHEMA_VERSION = "3.0.0";
5439
5466
  function sha256Hex2(input) {
5440
5467
  return crypto.createHash("sha256").update(input).digest("hex");
@@ -6301,6 +6328,7 @@ function generateSnapshot(configInput, options) {
6301
6328
  largeFileBytes: config.largeFileBytes
6302
6329
  },
6303
6330
  config: {
6331
+ digest: configDigest(config),
6304
6332
  maxPartBytes: config.maxPartBytes,
6305
6333
  largeFileBytes: config.largeFileBytes,
6306
6334
  previewHeadLines: config.previewHeadLines,
@@ -6494,5 +6522,5 @@ async function generateSnapshotAsync(configInput, options) {
6494
6522
  }
6495
6523
 
6496
6524
  export { ARTIFACT_NAMES, DEFAULT_ANSWERS, DEFAULT_SECRET_PATTERNS, GENERATOR_NAME, GENERATOR_VERSION, LANGUAGE_PROFILES, MIN_MAX_PART_BYTES, PRESETS, PromptCancelled, SCHEMA_VERSION, anchorForPath, assertReplaceable, assertUsableConfigInput, collectFiles, compareManifests, countLines, defineConfig, detectLanguage, detectPreset, explainPath, fenceForContent, fenceForText, generateProjectTree, generateSnapshot, generateSnapshotAsync, getPreset, globToRegExp, isBinaryBuffer, isBinaryExtension, isBinaryFile, isInteractive, isResolvedConfig, isSensitivePath, listPresetNames, loadConfigFile, loadConfigFileDetailed, loadManifest, markResolvedConfig, matchRule, matchesExclude, normalizeResolvedConfig, parseByteSize, partitionFiles, profileForPath, renderConfig, renderDiffText, renderExplainText, renderMinimalConfig, renumberParts, resolveConfig, resolveSafeOutputDirs, runInit, scanAndRedactSecrets, stripJsonComments, summarizeJson, summarizeMarkdown, summarizeTypeScriptSource, summarizeWithProfile, supportsTypeScriptImports, truncatePreview, truncateToBytes, unknownPresetMessage, validateSnapshot };
6497
- //# sourceMappingURL=chunk-CDZDVU74.js.map
6498
- //# sourceMappingURL=chunk-CDZDVU74.js.map
6525
+ //# sourceMappingURL=chunk-PCNDUNKT.js.map
6526
+ //# sourceMappingURL=chunk-PCNDUNKT.js.map
package/dist/cli.cjs CHANGED
@@ -4,9 +4,9 @@ var fs9 = require('fs');
4
4
  var path10 = require('path');
5
5
  var util = require('util');
6
6
  var childProcess = require('child_process');
7
+ var crypto = require('crypto');
7
8
  var url = require('url');
8
9
  var readline = require('readline');
9
- var crypto = require('crypto');
10
10
  var os = require('os');
11
11
  var ts = require('typescript');
12
12
 
@@ -33,8 +33,8 @@ function _interopNamespace(e) {
33
33
  var fs9__namespace = /*#__PURE__*/_interopNamespace(fs9);
34
34
  var path10__namespace = /*#__PURE__*/_interopNamespace(path10);
35
35
  var childProcess__namespace = /*#__PURE__*/_interopNamespace(childProcess);
36
- var readline__namespace = /*#__PURE__*/_interopNamespace(readline);
37
36
  var crypto__namespace = /*#__PURE__*/_interopNamespace(crypto);
37
+ var readline__namespace = /*#__PURE__*/_interopNamespace(readline);
38
38
  var os__namespace = /*#__PURE__*/_interopNamespace(os);
39
39
  var ts__default = /*#__PURE__*/_interopDefault(ts);
40
40
 
@@ -2634,6 +2634,27 @@ function classifyKind(filePath, kinds) {
2634
2634
  }
2635
2635
  return "other";
2636
2636
  }
2637
+ function configDigest(config) {
2638
+ const material = {
2639
+ maxPartBytes: config.maxPartBytes,
2640
+ largeFileBytes: config.largeFileBytes,
2641
+ previewHeadLines: config.previewHeadLines,
2642
+ previewTailLines: config.previewTailLines,
2643
+ includeMonolith: config.includeMonolith,
2644
+ maxMonolithBytes: config.maxMonolithBytes ?? null,
2645
+ includeSensitiveFiles: config.includeSensitiveFiles,
2646
+ artifacts: config.artifacts,
2647
+ include: config.include,
2648
+ excludePatterns: config.excludePatterns,
2649
+ preset: config.preset,
2650
+ layersMode: config.layersMode,
2651
+ budgets: config.budgets,
2652
+ layers: config.layers.map((layer2) => layer2.name),
2653
+ kinds: config.kinds.map((kind) => kind.kind),
2654
+ secretRules: config.secretRules.map((rule) => `${rule.rule}:${rule.pattern.source}`).sort()
2655
+ };
2656
+ return crypto.createHash("sha256").update(JSON.stringify(material)).digest("hex");
2657
+ }
2637
2658
 
2638
2659
  // src/partitioner/preview.ts
2639
2660
  function countLines(content) {
@@ -5236,6 +5257,11 @@ function validateSnapshot(configInput) {
5236
5257
  const currentExcludes = config.excludePatterns.map(maskValue);
5237
5258
  const currentInclude = config.include.map(maskValue);
5238
5259
  const recorded = manifest.config;
5260
+ if (recorded?.digest && recorded.digest !== configDigest(config)) {
5261
+ drift.configMismatches.push(
5262
+ "configuration: the settings differ from the ones this snapshot was generated with (run generate)"
5263
+ );
5264
+ }
5239
5265
  if (recorded && typeof recorded === "object") {
5240
5266
  if (recorded.maxPartBytes !== config.maxPartBytes) {
5241
5267
  drift.configMismatches.push(
@@ -5451,7 +5477,7 @@ function validateSnapshot(configInput) {
5451
5477
 
5452
5478
  // src/index.ts
5453
5479
  var GENERATOR_NAME = "@ankurhalder/codebase-snapshot";
5454
- var GENERATOR_VERSION = "4.0.4";
5480
+ var GENERATOR_VERSION = "4.0.5";
5455
5481
  var SCHEMA_VERSION = "3.0.0";
5456
5482
  function sha256Hex2(input) {
5457
5483
  return crypto__namespace.createHash("sha256").update(input).digest("hex");
@@ -6318,6 +6344,7 @@ function generateSnapshot(configInput, options) {
6318
6344
  largeFileBytes: config.largeFileBytes
6319
6345
  },
6320
6346
  config: {
6347
+ digest: configDigest(config),
6321
6348
  maxPartBytes: config.maxPartBytes,
6322
6349
  largeFileBytes: config.largeFileBytes,
6323
6350
  previewHeadLines: config.previewHeadLines,
package/dist/cli.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- import { O as OutputFormat } from './types-LSfwsKE-.cjs';
1
+ import { O as OutputFormat } from './types-x7aogSer.cjs';
2
2
 
3
3
  type Command = "generate" | "validate" | "report" | "init" | "explain" | "diff" | "describe" | "skill";
4
4
  /** A user-input problem: printed without a stack trace, exits 2. */
package/dist/cli.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { O as OutputFormat } from './types-LSfwsKE-.js';
1
+ import { O as OutputFormat } from './types-x7aogSer.js';
2
2
 
3
3
  type Command = "generate" | "validate" | "report" | "init" | "explain" | "diff" | "describe" | "skill";
4
4
  /** A user-input problem: printed without a stack trace, exits 2. */
package/dist/cli.js CHANGED
@@ -1,4 +1,4 @@
1
- import { loadConfigFileDetailed, resolveConfig, validateSnapshot, explainPath, compareManifests, loadManifest, renderDiffText, generateSnapshot, GENERATOR_VERSION, ARTIFACT_NAMES, getPreset, unknownPresetMessage, GENERATOR_NAME, runInit, PromptCancelled, MIN_MAX_PART_BYTES, SCHEMA_VERSION, PRESETS, parseByteSize, renderExplainText } from './chunk-CDZDVU74.js';
1
+ import { loadConfigFileDetailed, resolveConfig, validateSnapshot, explainPath, compareManifests, loadManifest, renderDiffText, generateSnapshot, GENERATOR_VERSION, ARTIFACT_NAMES, getPreset, unknownPresetMessage, GENERATOR_NAME, runInit, PromptCancelled, MIN_MAX_PART_BYTES, SCHEMA_VERSION, PRESETS, parseByteSize, renderExplainText } from './chunk-PCNDUNKT.js';
2
2
  import * as fs from 'fs';
3
3
  import * as path2 from 'path';
4
4
  import { parseArgs } from 'util';
package/dist/index.cjs CHANGED
@@ -3378,6 +3378,27 @@ function classifyKind(filePath, kinds) {
3378
3378
  }
3379
3379
  return "other";
3380
3380
  }
3381
+ function configDigest(config) {
3382
+ const material = {
3383
+ maxPartBytes: config.maxPartBytes,
3384
+ largeFileBytes: config.largeFileBytes,
3385
+ previewHeadLines: config.previewHeadLines,
3386
+ previewTailLines: config.previewTailLines,
3387
+ includeMonolith: config.includeMonolith,
3388
+ maxMonolithBytes: config.maxMonolithBytes ?? null,
3389
+ includeSensitiveFiles: config.includeSensitiveFiles,
3390
+ artifacts: config.artifacts,
3391
+ include: config.include,
3392
+ excludePatterns: config.excludePatterns,
3393
+ preset: config.preset,
3394
+ layersMode: config.layersMode,
3395
+ budgets: config.budgets,
3396
+ layers: config.layers.map((layer2) => layer2.name),
3397
+ kinds: config.kinds.map((kind) => kind.kind),
3398
+ secretRules: config.secretRules.map((rule) => `${rule.rule}:${rule.pattern.source}`).sort()
3399
+ };
3400
+ return crypto.createHash("sha256").update(JSON.stringify(material)).digest("hex");
3401
+ }
3381
3402
 
3382
3403
  // src/define-config.ts
3383
3404
  function defineConfig(config) {
@@ -4334,6 +4355,11 @@ function validateSnapshot(configInput) {
4334
4355
  const currentExcludes = config.excludePatterns.map(maskValue);
4335
4356
  const currentInclude = config.include.map(maskValue);
4336
4357
  const recorded = manifest.config;
4358
+ if (recorded?.digest && recorded.digest !== configDigest(config)) {
4359
+ drift.configMismatches.push(
4360
+ "configuration: the settings differ from the ones this snapshot was generated with (run generate)"
4361
+ );
4362
+ }
4337
4363
  if (recorded && typeof recorded === "object") {
4338
4364
  if (recorded.maxPartBytes !== config.maxPartBytes) {
4339
4365
  drift.configMismatches.push(
@@ -5464,7 +5490,7 @@ async function runInit(options) {
5464
5490
 
5465
5491
  // src/index.ts
5466
5492
  var GENERATOR_NAME = "@ankurhalder/codebase-snapshot";
5467
- var GENERATOR_VERSION = "4.0.4";
5493
+ var GENERATOR_VERSION = "4.0.5";
5468
5494
  var SCHEMA_VERSION = "3.0.0";
5469
5495
  function sha256Hex2(input) {
5470
5496
  return crypto__namespace.createHash("sha256").update(input).digest("hex");
@@ -6331,6 +6357,7 @@ function generateSnapshot(configInput, options) {
6331
6357
  largeFileBytes: config.largeFileBytes
6332
6358
  },
6333
6359
  config: {
6360
+ digest: configDigest(config),
6334
6361
  maxPartBytes: config.maxPartBytes,
6335
6362
  largeFileBytes: config.largeFileBytes,
6336
6363
  previewHeadLines: config.previewHeadLines,
package/dist/index.d.cts CHANGED
@@ -1,5 +1,5 @@
1
- import { J as JsonSummary, M as MarkdownSummary, S as SourceSummary, R as ResolvedSnapshotConfig, a as SnapshotConfig, B as ByteSize, C as CliOptions, F as FileEntry, P as PartMetadata, L as LayerRule, K as KindRule, b as SecretRule, c as SecretFinding, V as ValidationResult, d as Manifest, A as ArtifactSelection, e as SkipRecord } from './types-LSfwsKE-.cjs';
2
- export { f as BudgetConfig, H as HooksConfig, I as InclusionMode, g as ManifestArtifact, h as ManifestConfigSnapshot, i as ManifestIndexes, j as ManifestTotals, k as Mode, O as OutputFormat, l as PartFileEntry, m as ResolvedArtifacts, n as ResolvedBudgets, o as SecretRuleInput, p as SkipReason, q as SummaryQuality, r as ValidationDrift } from './types-LSfwsKE-.cjs';
1
+ import { J as JsonSummary, M as MarkdownSummary, S as SourceSummary, R as ResolvedSnapshotConfig, a as SnapshotConfig, B as ByteSize, C as CliOptions, F as FileEntry, P as PartMetadata, L as LayerRule, K as KindRule, b as SecretRule, c as SecretFinding, V as ValidationResult, d as Manifest, A as ArtifactSelection, e as SkipRecord } from './types-x7aogSer.cjs';
2
+ export { f as BudgetConfig, H as HooksConfig, I as InclusionMode, g as ManifestArtifact, h as ManifestConfigSnapshot, i as ManifestIndexes, j as ManifestTotals, k as Mode, O as OutputFormat, l as PartFileEntry, m as ResolvedArtifacts, n as ResolvedBudgets, o as SecretRuleInput, p as SkipReason, q as SummaryQuality, r as ValidationDrift } from './types-x7aogSer.cjs';
3
3
 
4
4
  /**
5
5
  * Strips `//` and block comments the way JSONC does, without touching anything
@@ -495,7 +495,7 @@ declare function matchesExclude(relativePath: string, pattern: string): boolean;
495
495
  declare function collectFiles(cwd: string, options?: CollectOptions): CollectResult;
496
496
 
497
497
  declare const GENERATOR_NAME = "@ankurhalder/codebase-snapshot";
498
- declare const GENERATOR_VERSION = "4.0.4";
498
+ declare const GENERATOR_VERSION = "4.0.5";
499
499
  declare const SCHEMA_VERSION = "3.0.0";
500
500
  interface GenerateOptions {
501
501
  /** Compute the full manifest but write nothing to disk. */
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { J as JsonSummary, M as MarkdownSummary, S as SourceSummary, R as ResolvedSnapshotConfig, a as SnapshotConfig, B as ByteSize, C as CliOptions, F as FileEntry, P as PartMetadata, L as LayerRule, K as KindRule, b as SecretRule, c as SecretFinding, V as ValidationResult, d as Manifest, A as ArtifactSelection, e as SkipRecord } from './types-LSfwsKE-.js';
2
- export { f as BudgetConfig, H as HooksConfig, I as InclusionMode, g as ManifestArtifact, h as ManifestConfigSnapshot, i as ManifestIndexes, j as ManifestTotals, k as Mode, O as OutputFormat, l as PartFileEntry, m as ResolvedArtifacts, n as ResolvedBudgets, o as SecretRuleInput, p as SkipReason, q as SummaryQuality, r as ValidationDrift } from './types-LSfwsKE-.js';
1
+ import { J as JsonSummary, M as MarkdownSummary, S as SourceSummary, R as ResolvedSnapshotConfig, a as SnapshotConfig, B as ByteSize, C as CliOptions, F as FileEntry, P as PartMetadata, L as LayerRule, K as KindRule, b as SecretRule, c as SecretFinding, V as ValidationResult, d as Manifest, A as ArtifactSelection, e as SkipRecord } from './types-x7aogSer.js';
2
+ export { f as BudgetConfig, H as HooksConfig, I as InclusionMode, g as ManifestArtifact, h as ManifestConfigSnapshot, i as ManifestIndexes, j as ManifestTotals, k as Mode, O as OutputFormat, l as PartFileEntry, m as ResolvedArtifacts, n as ResolvedBudgets, o as SecretRuleInput, p as SkipReason, q as SummaryQuality, r as ValidationDrift } from './types-x7aogSer.js';
3
3
 
4
4
  /**
5
5
  * Strips `//` and block comments the way JSONC does, without touching anything
@@ -495,7 +495,7 @@ declare function matchesExclude(relativePath: string, pattern: string): boolean;
495
495
  declare function collectFiles(cwd: string, options?: CollectOptions): CollectResult;
496
496
 
497
497
  declare const GENERATOR_NAME = "@ankurhalder/codebase-snapshot";
498
- declare const GENERATOR_VERSION = "4.0.4";
498
+ declare const GENERATOR_VERSION = "4.0.5";
499
499
  declare const SCHEMA_VERSION = "3.0.0";
500
500
  interface GenerateOptions {
501
501
  /** Compute the full manifest but write nothing to disk. */
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
- export { ARTIFACT_NAMES, DEFAULT_ANSWERS, DEFAULT_SECRET_PATTERNS, GENERATOR_NAME, GENERATOR_VERSION, LANGUAGE_PROFILES, MIN_MAX_PART_BYTES, PRESETS, PromptCancelled, SCHEMA_VERSION, anchorForPath, assertReplaceable, assertUsableConfigInput, collectFiles, compareManifests, countLines, defineConfig, detectLanguage, detectPreset, explainPath, fenceForContent, fenceForText, generateProjectTree, generateSnapshot, generateSnapshotAsync, getPreset, globToRegExp, isBinaryBuffer, isBinaryExtension, isBinaryFile, isInteractive, isResolvedConfig, isSensitivePath, listPresetNames, loadConfigFile, loadConfigFileDetailed, loadManifest, markResolvedConfig, matchRule, matchesExclude, normalizeResolvedConfig, parseByteSize, partitionFiles, profileForPath, renderConfig, renderDiffText, renderExplainText, renderMinimalConfig, renumberParts, resolveConfig, resolveSafeOutputDirs, runInit, scanAndRedactSecrets, stripJsonComments, summarizeJson, summarizeMarkdown, summarizeTypeScriptSource, summarizeWithProfile, supportsTypeScriptImports, truncatePreview, truncateToBytes, validateSnapshot } from './chunk-CDZDVU74.js';
1
+ export { ARTIFACT_NAMES, DEFAULT_ANSWERS, DEFAULT_SECRET_PATTERNS, GENERATOR_NAME, GENERATOR_VERSION, LANGUAGE_PROFILES, MIN_MAX_PART_BYTES, PRESETS, PromptCancelled, SCHEMA_VERSION, anchorForPath, assertReplaceable, assertUsableConfigInput, collectFiles, compareManifests, countLines, defineConfig, detectLanguage, detectPreset, explainPath, fenceForContent, fenceForText, generateProjectTree, generateSnapshot, generateSnapshotAsync, getPreset, globToRegExp, isBinaryBuffer, isBinaryExtension, isBinaryFile, isInteractive, isResolvedConfig, isSensitivePath, listPresetNames, loadConfigFile, loadConfigFileDetailed, loadManifest, markResolvedConfig, matchRule, matchesExclude, normalizeResolvedConfig, parseByteSize, partitionFiles, profileForPath, renderConfig, renderDiffText, renderExplainText, renderMinimalConfig, renumberParts, resolveConfig, resolveSafeOutputDirs, runInit, scanAndRedactSecrets, stripJsonComments, summarizeJson, summarizeMarkdown, summarizeTypeScriptSource, summarizeWithProfile, supportsTypeScriptImports, truncatePreview, truncateToBytes, validateSnapshot } from './chunk-PCNDUNKT.js';
2
2
  //# sourceMappingURL=index.js.map
3
3
  //# sourceMappingURL=index.js.map
@@ -207,6 +207,8 @@ interface ManifestIndexes {
207
207
  }
208
208
  /** Effective configuration recorded so `validate` can detect config drift. */
209
209
  interface ManifestConfigSnapshot {
210
+ /** Digest of the effective settings; see `configDigest`. */
211
+ digest?: string;
210
212
  maxPartBytes: number;
211
213
  largeFileBytes: number;
212
214
  previewHeadLines: number;
@@ -207,6 +207,8 @@ interface ManifestIndexes {
207
207
  }
208
208
  /** Effective configuration recorded so `validate` can detect config drift. */
209
209
  interface ManifestConfigSnapshot {
210
+ /** Digest of the effective settings; see `configDigest`. */
211
+ digest?: string;
210
212
  maxPartBytes: number;
211
213
  largeFileBytes: number;
212
214
  previewHeadLines: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ankurhalder/codebase-snapshot",
3
- "version": "4.0.4",
3
+ "version": "4.0.5",
4
4
  "description": "Production-grade LLM codebase snapshot generator, auditor, and AST partitioner",
5
5
  "keywords": [
6
6
  "codebase",