@inerrata-corporation/errata 2.0.2-dev.866 → 2.0.2-dev.867

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 (2) hide show
  1. package/errata.mjs +17 -7
  2. package/package.json +1 -1
package/errata.mjs CHANGED
@@ -15485,9 +15485,17 @@ function substituteSymbolSummaries(text, summaryByToken) {
15485
15485
  let out2 = text;
15486
15486
  let substituted = 0;
15487
15487
  for (const key of present) {
15488
- const re = new RegExp(`(?<![A-Za-z0-9_$.])${escapeRe2(key)}(?![A-Za-z0-9_$])`, "g");
15488
+ const phrase = summaryByToken.get(key);
15489
+ const leadsWithArticle = RE_LEADING_ARTICLE.test(phrase);
15490
+ const re = new RegExp(
15491
+ `(?<![A-Za-z0-9_$.])${leadsWithArticle ? String.raw`(?:(An|an|A|a|The|the)\s+)?` : ""}${escapeRe2(key)}(?![A-Za-z0-9_$])`,
15492
+ "g"
15493
+ );
15489
15494
  const before = out2;
15490
- out2 = out2.replace(re, summaryByToken.get(key));
15495
+ out2 = leadsWithArticle ? out2.replace(
15496
+ re,
15497
+ (_m, article) => article !== void 0 && /^[A-Z]/.test(article) ? phrase.charAt(0).toUpperCase() + phrase.slice(1) : phrase
15498
+ ) : out2.replace(re, phrase);
15491
15499
  if (out2 !== before) substituted++;
15492
15500
  }
15493
15501
  return { text: out2, substituted, offered: summaryByToken.size };
@@ -15504,7 +15512,7 @@ function vetSidecarSummaries(sidecar) {
15504
15512
  }
15505
15513
  return clean.size > 0 ? clean : null;
15506
15514
  }
15507
- var SYMBOL_SUMMARY_KINDS, MAX_SYMBOL_SUMMARY_CHARS, MAX_SIDECAR_SYMBOLS, TOKEN_RE2, RE_RESERVED, escapeRe2, PATH_SHAPE_RE, CONTRACTION_RE, QUOTED_LITERAL_RE;
15515
+ var SYMBOL_SUMMARY_KINDS, MAX_SYMBOL_SUMMARY_CHARS, MAX_SIDECAR_SYMBOLS, TOKEN_RE2, RE_RESERVED, escapeRe2, RE_LEADING_ARTICLE, PATH_SHAPE_RE, CONTRACTION_RE, QUOTED_LITERAL_RE;
15508
15516
  var init_symbol_intent = __esm({
15509
15517
  "../../packages/shared/src/symbol-intent.ts"() {
15510
15518
  "use strict";
@@ -15520,6 +15528,7 @@ var init_symbol_intent = __esm({
15520
15528
  TOKEN_RE2 = /[A-Za-z_$][A-Za-z0-9_$]*(?:\.[A-Za-z_$][A-Za-z0-9_$]*)*/g;
15521
15529
  RE_RESERVED = /[.*+?^${}()|[\]\\]/g;
15522
15530
  escapeRe2 = (s) => s.replace(RE_RESERVED, "\\$&");
15531
+ RE_LEADING_ARTICLE = /^(?:an?|the)\s/i;
15523
15532
  PATH_SHAPE_RE = /[\w.~-]+[/\\][\w.$~-]+/;
15524
15533
  CONTRACTION_RE = /([A-Za-z])'([A-Za-z])/g;
15525
15534
  QUOTED_LITERAL_RE = /"[^"]+"|'[^']+'|`[^`]+`/;
@@ -16006,6 +16015,7 @@ __export(src_exports, {
16006
16015
  PROJECT_ONLY_NODE_LABELS: () => PROJECT_ONLY_NODE_LABELS,
16007
16016
  QUARANTINE_EXTRACTION_SOURCE_PREFIX: () => QUARANTINE_EXTRACTION_SOURCE_PREFIX,
16008
16017
  RESOLUTION_EDGES: () => RESOLUTION_EDGES,
16018
+ RE_LEADING_ARTICLE: () => RE_LEADING_ARTICLE,
16009
16019
  RouteContextCountWireSchema: () => RouteContextCountWireSchema,
16010
16020
  SEMANTIC_NODE_LABELS: () => SEMANTIC_NODE_LABELS,
16011
16021
  SOLUTION_STRUCTURE_EDGES: () => SOLUTION_STRUCTURE_EDGES,
@@ -28402,7 +28412,7 @@ function buildSymbolLexicon(store) {
28402
28412
  return lex;
28403
28413
  }
28404
28414
  function replaceWithPhrase(text, before, escapedKey, after, phrase) {
28405
- if (!RE_LEADING_ARTICLE.test(phrase)) {
28415
+ if (!RE_LEADING_ARTICLE2.test(phrase)) {
28406
28416
  return text.replace(new RegExp(`${before}${escapedKey}${after}`, "g"), phrase);
28407
28417
  }
28408
28418
  const re = new RegExp(`${before}${String.raw`(?:(An|an|A|a|The|the)\s+)?`}${escapedKey}${after}`, "g");
@@ -28560,7 +28570,7 @@ function generalizeSymbols(text, lexicon, level = 1, fileLexicon) {
28560
28570
  }
28561
28571
  return generalize(out2, { level }).text;
28562
28572
  }
28563
- var SYMBOL_LABELS2, KIND_PHRASE, BUILTIN_TYPE_NAMES, DOC_COMMENT_KINDS, MAX_DOC_CHARS, RE_RESERVED2, escapeRe4, RE_LEADING_ARTICLE, CONVENTION_FILENAMES, CONVENTION_BASENAME_MIN_FILES, CONVENTION_STEMS, FILE_TOKEN_RE, STEM_TOKEN_RE, SOURCE_EXTENSIONS, TOKEN_RE3;
28573
+ var SYMBOL_LABELS2, KIND_PHRASE, BUILTIN_TYPE_NAMES, DOC_COMMENT_KINDS, MAX_DOC_CHARS, RE_RESERVED2, escapeRe4, RE_LEADING_ARTICLE2, CONVENTION_FILENAMES, CONVENTION_BASENAME_MIN_FILES, CONVENTION_STEMS, FILE_TOKEN_RE, STEM_TOKEN_RE, SOURCE_EXTENSIONS, TOKEN_RE3;
28564
28574
  var init_generalize_graph = __esm({
28565
28575
  "src/generalize-graph.ts"() {
28566
28576
  "use strict";
@@ -28612,7 +28622,7 @@ var init_generalize_graph = __esm({
28612
28622
  MAX_DOC_CHARS = 600;
28613
28623
  RE_RESERVED2 = /[.*+?^${}()|[\]\\]/g;
28614
28624
  escapeRe4 = (s) => s.replace(RE_RESERVED2, "\\$&");
28615
- RE_LEADING_ARTICLE = /^(?:an?|the)\s/i;
28625
+ RE_LEADING_ARTICLE2 = /^(?:an?|the)\s/i;
28616
28626
  CONVENTION_FILENAMES = /* @__PURE__ */ new Set([
28617
28627
  "package.json",
28618
28628
  "package-lock.json",
@@ -56139,7 +56149,7 @@ function watchCensusLine(c = watchCensus()) {
56139
56149
  }
56140
56150
 
56141
56151
  // src/engine.ts
56142
- var DAEMON_VERSION = true ? "2.0.2-dev.866" : "2.0.0-alpha.0";
56152
+ var DAEMON_VERSION = true ? "2.0.2-dev.867" : "2.0.0-alpha.0";
56143
56153
  var IGNORED_PATH = /[\\/](?:\.git|node_modules|\.errata|\.claude|\.codex|\.cursor|\.turbo|\.next|dist|coverage|test-results|playwright-report|__pycache__)(?:[\\/]|$)/;
56144
56154
  var IGNORED_NOISE = /castalia\.db|eventlog\.sqlite|turn-cursors/;
56145
56155
  var GIT_OP_MUTE_MS = 4e3;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inerrata-corporation/errata",
3
- "version": "2.0.2-dev.866",
3
+ "version": "2.0.2-dev.867",
4
4
  "description": "errata - local-first observation engine for AI coding agents",
5
5
  "type": "module",
6
6
  "bin": {