@inerrata-corporation/errata 2.0.22-dev.4130 → 2.0.22-dev.4135

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.
@@ -19766,7 +19766,14 @@ function summaryFromDoc(doc, kind) {
19766
19766
  }
19767
19767
  if (verb !== null) return null;
19768
19768
  const noun = clipped.replace(/^(?:the|a|an)\s+/i, "");
19769
- return tidy(`${lead(kind)} for ${noun.charAt(0).toLowerCase()}${noun.slice(1)}`);
19769
+ const head = noun.split(/[\s-]/, 1)[0].replace(/[.,;:!?]+$/, "");
19770
+ return tidy(`${lead(kind)} for ${isOrdinaryCapital(head) ? noun.charAt(0).toLowerCase() + noun.slice(1) : noun}`);
19771
+ }
19772
+ var CONTRACTION_BASES = /* @__PURE__ */ new Set(["it", "that", "this", "there", "here", "what", "who", "where", "when", "why", "how", "let", "he", "she"]);
19773
+ function isOrdinaryCapital(word) {
19774
+ const contraction = /^([A-Za-z]+)['’]s$/.exec(word);
19775
+ if (contraction) return CONTRACTION_BASES.has(contraction[1].toLowerCase()) && /^[A-Z][a-z]*$/.test(contraction[1]);
19776
+ return /^[A-Z][a-z]+$/.test(word);
19770
19777
  }
19771
19778
  var VERB_PHRASE_KINDS = /* @__PURE__ */ new Set(["function", "method"]);
19772
19779
  function summaryFromName(name, kind) {
package/errata.mjs CHANGED
@@ -35553,7 +35553,13 @@ function summaryFromDoc(doc, kind) {
35553
35553
  }
35554
35554
  if (verb !== null) return null;
35555
35555
  const noun = clipped.replace(/^(?:the|a|an)\s+/i, "");
35556
- return tidy(`${lead(kind)} for ${noun.charAt(0).toLowerCase()}${noun.slice(1)}`);
35556
+ const head2 = noun.split(/[\s-]/, 1)[0].replace(/[.,;:!?]+$/, "");
35557
+ return tidy(`${lead(kind)} for ${isOrdinaryCapital(head2) ? noun.charAt(0).toLowerCase() + noun.slice(1) : noun}`);
35558
+ }
35559
+ function isOrdinaryCapital(word) {
35560
+ const contraction = /^([A-Za-z]+)['’]s$/.exec(word);
35561
+ if (contraction) return CONTRACTION_BASES.has(contraction[1].toLowerCase()) && /^[A-Z][a-z]*$/.test(contraction[1]);
35562
+ return /^[A-Z][a-z]+$/.test(word);
35557
35563
  }
35558
35564
  function summaryFromName(name2, kind) {
35559
35565
  if (!NAME_DERIVED_ENABLED) return null;
@@ -35575,7 +35581,7 @@ function summaryCandidates(name2, kind, doc) {
35575
35581
  if (fromName !== null && fromName !== fromDoc) candidates.push(fromName);
35576
35582
  return candidates;
35577
35583
  }
35578
- var NAME_DERIVED_ENABLED, KIND_ARTICLE, lead, MAX_PAYLOAD_CHARS, DANGLING, VERBS, tidy, VERB_PHRASE_KINDS;
35584
+ var NAME_DERIVED_ENABLED, KIND_ARTICLE, lead, MAX_PAYLOAD_CHARS, DANGLING, VERBS, tidy, CONTRACTION_BASES, VERB_PHRASE_KINDS;
35579
35585
  var init_derive_summary = __esm({
35580
35586
  "src/derive-summary.ts"() {
35581
35587
  "use strict";
@@ -35858,6 +35864,7 @@ var init_derive_summary = __esm({
35858
35864
  "yield"
35859
35865
  ]);
35860
35866
  tidy = (s) => s.replace(/\s+/g, " ").replace(/\s+([,.;:])/g, "$1").replace(/[\s,;:.]+$/, "").trim();
35867
+ CONTRACTION_BASES = /* @__PURE__ */ new Set(["it", "that", "this", "there", "here", "what", "who", "where", "when", "why", "how", "let", "he", "she"]);
35861
35868
  VERB_PHRASE_KINDS = /* @__PURE__ */ new Set(["function", "method"]);
35862
35869
  }
35863
35870
  });
@@ -85217,7 +85224,7 @@ function createWatchBreaker(deps) {
85217
85224
  }
85218
85225
 
85219
85226
  // src/engine.ts
85220
- var DAEMON_VERSION = true ? "2.0.22-dev.4130" : "2.0.0-alpha.0";
85227
+ var DAEMON_VERSION = true ? "2.0.22-dev.4135" : "2.0.0-alpha.0";
85221
85228
  var IGNORED_PATH = /[\\/](?:\.git|node_modules|\.errata|\.claude|\.codex|\.cursor|\.turbo|\.next|dist|coverage|test-results|playwright-report|__pycache__)(?:[\\/]|$)/;
85222
85229
  var IGNORED_NOISE = /castalia\.db|eventlog\.sqlite|turn-cursors/;
85223
85230
  var GIT_OP_MUTE_MS = 4e3;
@@ -17247,7 +17247,14 @@ function summaryFromDoc(doc, kind) {
17247
17247
  }
17248
17248
  if (verb !== null) return null;
17249
17249
  const noun = clipped.replace(/^(?:the|a|an)\s+/i, "");
17250
- return tidy(`${lead(kind)} for ${noun.charAt(0).toLowerCase()}${noun.slice(1)}`);
17250
+ const head = noun.split(/[\s-]/, 1)[0].replace(/[.,;:!?]+$/, "");
17251
+ return tidy(`${lead(kind)} for ${isOrdinaryCapital(head) ? noun.charAt(0).toLowerCase() + noun.slice(1) : noun}`);
17252
+ }
17253
+ var CONTRACTION_BASES = /* @__PURE__ */ new Set(["it", "that", "this", "there", "here", "what", "who", "where", "when", "why", "how", "let", "he", "she"]);
17254
+ function isOrdinaryCapital(word) {
17255
+ const contraction = /^([A-Za-z]+)['’]s$/.exec(word);
17256
+ if (contraction) return CONTRACTION_BASES.has(contraction[1].toLowerCase()) && /^[A-Z][a-z]*$/.test(contraction[1]);
17257
+ return /^[A-Z][a-z]+$/.test(word);
17251
17258
  }
17252
17259
  var VERB_PHRASE_KINDS = /* @__PURE__ */ new Set(["function", "method"]);
17253
17260
  function summaryFromName(name, kind) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inerrata-corporation/errata",
3
- "version": "2.0.22-dev.4130",
3
+ "version": "2.0.22-dev.4135",
4
4
  "description": "errata - local-first observation engine for AI coding agents",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "errata-context",
3
- "version": "2.0.22-dev.4130",
3
+ "version": "2.0.22-dev.4135",
4
4
  "description": "A minimal 3D view of loaded Errata priors and recent graph bursts.",
5
5
  "author": {
6
6
  "name": "inErrata"
@@ -1,4 +1,4 @@
1
- 322d5559f1d35b1d729e868a803e8374c8332974495f4683ad547fe5c1df207d .codex-plugin/plugin.json
1
+ f0dd5b6f3e6476eba250ed306f433f9ee159a05948b36f15f1eae0ee0f59a3a2 .codex-plugin/plugin.json
2
2
  a7bebae9fb01c838d6c75fc784129e28be571233fa66ff5ee8039b574f35ccf7 assets/icon.png
3
3
  fc38b64e4df1e0b72c35764bef6c4c05430d97c9009ad0ecc8a9e75b4deab232 configure-local.mjs
4
4
  73dc6028b3b070257c7c31f252d11e55a9e096f4aed0f187f10cb21716e1e6d7 dist/client.js