@mmnto/totem 1.101.0 → 1.101.2

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 (43) hide show
  1. package/dist/chunkers/chunker-registry.d.ts.map +1 -1
  2. package/dist/chunkers/chunker-registry.js +5 -0
  3. package/dist/chunkers/chunker-registry.js.map +1 -1
  4. package/dist/chunkers/chunker-registry.test.d.ts +1 -1
  5. package/dist/chunkers/chunker-registry.test.js +6 -2
  6. package/dist/chunkers/chunker-registry.test.js.map +1 -1
  7. package/dist/chunkers/generic-chunker.d.ts +8 -0
  8. package/dist/chunkers/generic-chunker.d.ts.map +1 -0
  9. package/dist/chunkers/generic-chunker.js +82 -0
  10. package/dist/chunkers/generic-chunker.js.map +1 -0
  11. package/dist/chunkers/generic-chunker.test.d.ts +15 -0
  12. package/dist/chunkers/generic-chunker.test.d.ts.map +1 -0
  13. package/dist/chunkers/generic-chunker.test.js +129 -0
  14. package/dist/chunkers/generic-chunker.test.js.map +1 -0
  15. package/dist/config-schema.d.ts +1 -1
  16. package/dist/config-schema.d.ts.map +1 -1
  17. package/dist/config-schema.js +4 -0
  18. package/dist/config-schema.js.map +1 -1
  19. package/dist/regex-safety/apply-rules-bounded.d.ts.map +1 -1
  20. package/dist/regex-safety/apply-rules-bounded.js +37 -15
  21. package/dist/regex-safety/apply-rules-bounded.js.map +1 -1
  22. package/dist/rule-engine.d.ts +15 -13
  23. package/dist/rule-engine.d.ts.map +1 -1
  24. package/dist/rule-engine.js +320 -93
  25. package/dist/rule-engine.js.map +1 -1
  26. package/dist/rule-engine.test.js +319 -1
  27. package/dist/rule-engine.test.js.map +1 -1
  28. package/dist/spine/selection-rule.d.ts.map +1 -1
  29. package/dist/spine/selection-rule.js +3 -73
  30. package/dist/spine/selection-rule.js.map +1 -1
  31. package/dist/spine/windtunnel-firing.js +1 -1
  32. package/dist/spine/windtunnel-firing.js.map +1 -1
  33. package/dist/sys/git.js +1 -1
  34. package/dist/sys/git.js.map +1 -1
  35. package/dist/sys/glob.d.ts +10 -0
  36. package/dist/sys/glob.d.ts.map +1 -0
  37. package/dist/sys/glob.js +280 -0
  38. package/dist/sys/glob.js.map +1 -0
  39. package/dist/sys/glob.test.d.ts +2 -0
  40. package/dist/sys/glob.test.d.ts.map +1 -0
  41. package/dist/sys/glob.test.js +280 -0
  42. package/dist/sys/glob.test.js.map +1 -0
  43. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"chunker-registry.d.ts","sourceRoot":"","sources":["../../src/chunkers/chunker-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAyB5C;;;;;;;;;;;;;GAaG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,OAAO,GAAG,IAAI,CAa3E;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,UAAU,OAAO,CAAC,GAAG,SAAS,CAEpE;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,IAAI,SAAS,MAAM,EAAE,CAEnD;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE/C;AAED;;;;;;;GAOG;AACH,wBAAgB,IAAI,IAAI,IAAI,CAE3B;AAED,6CAA6C;AAC7C,wBAAgB,QAAQ,IAAI,OAAO,CAElC;AAID;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAKtC;AAED,qEAAqE;AACrE,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC"}
1
+ {"version":3,"file":"chunker-registry.d.ts","sourceRoot":"","sources":["../../src/chunkers/chunker-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AA0B5C;;;;;;;;;;;;;GAaG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,OAAO,GAAG,IAAI,CAa3E;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,UAAU,OAAO,CAAC,GAAG,SAAS,CAEpE;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,IAAI,SAAS,MAAM,EAAE,CAEnD;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE/C;AAED;;;;;;;GAOG;AACH,wBAAgB,IAAI,IAAI,IAAI,CAE3B;AAED,6CAA6C;AAC7C,wBAAgB,QAAQ,IAAI,OAAO,CAElC;AAID;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAKtC;AAED,qEAAqE;AACrE,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC"}
@@ -17,6 +17,7 @@
17
17
  * entry is — that distinction is enforced at registration time (see
18
18
  * `register()` and `BUILTIN_CHUNKER_NAMES`).
19
19
  */
20
+ import { GenericChunker } from './generic-chunker.js';
20
21
  import { MarkdownChunker } from './markdown-chunker.js';
21
22
  import { SchemaFileChunker } from './schema-file-chunker.js';
22
23
  import { SessionLogChunker } from './session-log-chunker.js';
@@ -129,6 +130,10 @@ function registerBuiltins() {
129
130
  registerBuiltin('typescript-ast', TypeScriptChunker);
130
131
  registerBuiltin('schema-file', SchemaFileChunker);
131
132
  registerBuiltin('test-file', TestFileChunker);
133
+ // Fourth-language layer, Stage 1: the language-agnostic generic fallback
134
+ // (mmnto-ai/totem#2387, Prop 256 Option A). Explicit-opt-in only — a normal
135
+ // built-in a consumer selects by name; never an implicit catch-all (#2308).
136
+ registerBuiltin('generic', GenericChunker);
132
137
  }
133
138
  registerBuiltins();
134
139
  //# sourceMappingURL=chunker-registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chunker-registry.js","sourceRoot":"","sources":["../../src/chunkers/chunker-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,uDAAuD;AAEvD,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAA6B,CAAC;AAE9D;;;;;;GAMG;AACH,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAU,CAAC;AAEhD,+EAA+E;AAC/E,IAAI,MAAM,GAAG,KAAK,CAAC;AAEnB,uDAAuD;AAEvD;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAY,EAAE,WAA8B;IACnE,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,8DAA8D,IAAI,sHAAsH,CACzL,CAAC;IACJ,CAAC;IACD,IAAI,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,IAAI,KAAK,CACb,YAAY,IAAI,0BAA0B,iBAAiB,CAAC,CAAC,CAAC,iDAAiD,CAAC,CAAC,CAAC,0DAA0D,GAAG,CAChL,CAAC;IACJ,CAAC;IACD,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,MAAM,CAAC,IAAY;IACjC,OAAO,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe;IAC7B,OAAO,CAAC,GAAG,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AAC7C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,OAAO,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,IAAI;IAClB,MAAM,GAAG,IAAI,CAAC;AAChB,CAAC;AAED,6CAA6C;AAC7C,MAAM,UAAU,QAAQ;IACtB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,uDAAuD;AAEvD;;;;GAIG;AACH,MAAM,UAAU,eAAe;IAC7B,gBAAgB,CAAC,KAAK,EAAE,CAAC;IACzB,qBAAqB,CAAC,KAAK,EAAE,CAAC;IAC9B,MAAM,GAAG,KAAK,CAAC;IACf,gBAAgB,EAAE,CAAC;AACrB,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,gBAAgB;IAC9B,MAAM,GAAG,KAAK,CAAC;AACjB,CAAC;AAED,uDAAuD;AAEvD,SAAS,eAAe,CAAC,IAAY,EAAE,IAAuB;IAC5D,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACvB,CAAC;AAED,SAAS,gBAAgB;IACvB,eAAe,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;IAClD,eAAe,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC;IACrD,eAAe,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;IACrD,eAAe,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;IAClD,eAAe,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;AAChD,CAAC;AAED,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"chunker-registry.js","sourceRoot":"","sources":["../../src/chunkers/chunker-registry.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  * Covers invariants 4-9 + 11 (chunker side) from
5
5
  * `.totem/specs/pack-substrate-bundle.md`:
6
6
  *
7
- * - All five built-in chunkers self-register at module load.
7
+ * - All six built-in chunkers self-register at module load.
8
8
  * - Pack-style registration adds new entries.
9
9
  * - Re-registration of the same name throws.
10
10
  * - Registering a built-in name throws (immutable).
@@ -4,7 +4,7 @@
4
4
  * Covers invariants 4-9 + 11 (chunker side) from
5
5
  * `.totem/specs/pack-substrate-bundle.md`:
6
6
  *
7
- * - All five built-in chunkers self-register at module load.
7
+ * - All six built-in chunkers self-register at module load.
8
8
  * - Pack-style registration adds new entries.
9
9
  * - Re-registration of the same name throws.
10
10
  * - Registering a built-in name throws (immutable).
@@ -31,15 +31,18 @@ afterEach(() => {
31
31
  __resetForTests();
32
32
  });
33
33
  describe('chunker-registry built-ins', () => {
34
- it('registers all five built-in chunkers at module load', () => {
34
+ it('registers all six built-in chunkers at module load', () => {
35
35
  expect(lookup('session-log')).toBeDefined();
36
36
  expect(lookup('markdown-heading')).toBeDefined();
37
37
  expect(lookup('typescript-ast')).toBeDefined();
38
38
  expect(lookup('schema-file')).toBeDefined();
39
39
  expect(lookup('test-file')).toBeDefined();
40
+ // Fourth-language layer, Stage 1 (mmnto-ai/totem#2387, #2308).
41
+ expect(lookup('generic')).toBeDefined();
40
42
  });
41
43
  it('exposes registered names sorted alphabetically', () => {
42
44
  expect(registeredNames()).toEqual([
45
+ 'generic',
43
46
  'markdown-heading',
44
47
  'schema-file',
45
48
  'session-log',
@@ -50,6 +53,7 @@ describe('chunker-registry built-ins', () => {
50
53
  it('marks built-ins as built-in', () => {
51
54
  expect(isBuiltin('markdown-heading')).toBe(true);
52
55
  expect(isBuiltin('typescript-ast')).toBe(true);
56
+ expect(isBuiltin('generic')).toBe(true);
53
57
  expect(isBuiltin('not-a-real-strategy')).toBe(false);
54
58
  });
55
59
  });
@@ -1 +1 @@
1
- {"version":3,"file":"chunker-registry.test.js","sourceRoot":"","sources":["../../src/chunkers/chunker-registry.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chunker-registry.test.js","sourceRoot":"","sources":["../../src/chunkers/chunker-registry.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { ChunkStrategy, ContentType } from '../config-schema.js';
2
+ import type { Chunk } from '../types.js';
3
+ import type { Chunker } from './chunker.js';
4
+ export declare class GenericChunker implements Chunker {
5
+ readonly strategy: ChunkStrategy;
6
+ chunk(content: string, filePath: string, type: ContentType): Chunk[];
7
+ }
8
+ //# sourceMappingURL=generic-chunker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generic-chunker.d.ts","sourceRoot":"","sources":["../../src/chunkers/generic-chunker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AA0C5C,qBAAa,cAAe,YAAW,OAAO;IAC5C,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAa;IAE7C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,KAAK,EAAE;CA+CrE"}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Generic Fallback Chunker — the fourth-language layer's Stage 1
3
+ * (mmnto-ai/totem#2387, `totem-strategy` Proposal 256 Option A).
4
+ *
5
+ * A language-agnostic, fixed-size line-window chunker with overlap. It carries
6
+ * no per-language semantics and does no AST parsing; it exists so that source
7
+ * with no dedicated chunker yet (Rust, GDScript, …) can be indexed for
8
+ * retrieval AT ALL instead of being locked out of the index. The embedding
9
+ * model carries the semantic resolution — this strategy is precision-poor by
10
+ * design (Tenet 19 consumer-impact framing) and is superseded per-language by
11
+ * the Stage 2 AST chunkers (`rust-ast`, …) as they ship.
12
+ *
13
+ * Selection is EXPLICIT-OPT-IN ONLY (mmnto-ai/totem#2308): a consumer reaches
14
+ * this strategy by NAMING `'generic'` on a target in `totem.config.ts`. It is
15
+ * a normal registered built-in like any other — it is NEVER an implicit
16
+ * catch-all. `createChunker('typo-strategy')` still fail-louds per Tenet 4; a
17
+ * misspelled strategy names a real misconfiguration and must not silently
18
+ * degrade to line-windows.
19
+ *
20
+ * Windowing: a sliding window of {@link GENERIC_WINDOW_LINES} lines advancing
21
+ * by {@link GENERIC_STEP_LINES} (window minus {@link GENERIC_OVERLAP_LINES}),
22
+ * so adjacent chunks share their boundary context. The final partial window is
23
+ * emitted exactly once and terminates the walk — no duplicate overlap-only
24
+ * tail chunk. Blank/whitespace-only windows are dropped so trailing newlines
25
+ * never yield empty chunks.
26
+ */
27
+ /** Lines per window. Precision-poor by design; the embedder resolves semantics. */
28
+ const GENERIC_WINDOW_LINES = 60;
29
+ /** Lines shared between adjacent windows so boundary context is not severed. */
30
+ const GENERIC_OVERLAP_LINES = 10;
31
+ /**
32
+ * Window advance per step. Must be > 0 (i.e. overlap < window) or the walk
33
+ * would never terminate; the invariant holds by construction for the constants
34
+ * above and is the reason overlap is defined as strictly less than the window.
35
+ */
36
+ const GENERIC_STEP_LINES = GENERIC_WINDOW_LINES - GENERIC_OVERLAP_LINES;
37
+ export class GenericChunker {
38
+ strategy = 'generic';
39
+ chunk(content, filePath, type) {
40
+ const rawLines = content.split('\n');
41
+ // A file ending in a newline (the norm for real source) splits into a
42
+ // phantom empty final element — without stripping it, the EOF check misses
43
+ // by one and the final window over-reports `endLine` past the real last
44
+ // line (greptile P1 on #2442). Strip exactly ONE trailing empty element:
45
+ // it is the artifact of the final newline; further empties are REAL blank
46
+ // lines.
47
+ const lines = rawLines.length > 0 && rawLines[rawLines.length - 1] === ''
48
+ ? rawLines.slice(0, -1)
49
+ : rawLines;
50
+ const chunks = [];
51
+ for (let start = 0; start < lines.length; start += GENERIC_STEP_LINES) {
52
+ const end = Math.min(start + GENERIC_WINDOW_LINES, lines.length);
53
+ const windowLines = lines.slice(start, end);
54
+ const text = windowLines.join('\n');
55
+ // Drop empty / whitespace-only windows (e.g. a run of trailing blank
56
+ // lines) so we never embed an empty chunk.
57
+ if (text.trim()) {
58
+ const startLine = start + 1;
59
+ const endLine = end; // 0-indexed exclusive `end` == 1-indexed inclusive last line
60
+ const label = `${filePath}:${startLine}-${endLine}`;
61
+ chunks.push({
62
+ content: text,
63
+ contextPrefix: `File: ${filePath} | Lines: ${startLine}-${endLine}`,
64
+ filePath,
65
+ type,
66
+ strategy: this.strategy,
67
+ label,
68
+ startLine,
69
+ endLine,
70
+ metadata: {},
71
+ });
72
+ }
73
+ // The window reached the end of the file — the final (possibly partial)
74
+ // window has been emitted; stop so we never append a duplicate tail that
75
+ // is fully contained in the window just produced.
76
+ if (end >= lines.length)
77
+ break;
78
+ }
79
+ return chunks;
80
+ }
81
+ }
82
+ //# sourceMappingURL=generic-chunker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generic-chunker.js","sourceRoot":"","sources":["../../src/chunkers/generic-chunker.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,mFAAmF;AACnF,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAEhC,gFAAgF;AAChF,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAEjC;;;;GAIG;AACH,MAAM,kBAAkB,GAAG,oBAAoB,GAAG,qBAAqB,CAAC;AAExE,MAAM,OAAO,cAAc;IAChB,QAAQ,GAAkB,SAAS,CAAC;IAE7C,KAAK,CAAC,OAAe,EAAE,QAAgB,EAAE,IAAiB;QACxD,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACrC,sEAAsE;QACtE,2EAA2E;QAC3E,wEAAwE;QACxE,yEAAyE;QACzE,0EAA0E;QAC1E,SAAS;QACT,MAAM,KAAK,GACT,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE;YACzD,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACvB,CAAC,CAAC,QAAQ,CAAC;QACf,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,kBAAkB,EAAE,CAAC;YACtE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,oBAAoB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YACjE,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC5C,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEpC,qEAAqE;YACrE,2CAA2C;YAC3C,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBAChB,MAAM,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;gBAC5B,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,6DAA6D;gBAClF,MAAM,KAAK,GAAG,GAAG,QAAQ,IAAI,SAAS,IAAI,OAAO,EAAE,CAAC;gBAEpD,MAAM,CAAC,IAAI,CAAC;oBACV,OAAO,EAAE,IAAI;oBACb,aAAa,EAAE,SAAS,QAAQ,aAAa,SAAS,IAAI,OAAO,EAAE;oBACnE,QAAQ;oBACR,IAAI;oBACJ,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,KAAK;oBACL,SAAS;oBACT,OAAO;oBACP,QAAQ,EAAE,EAAE;iBACb,CAAC,CAAC;YACL,CAAC;YAED,wEAAwE;YACxE,yEAAyE;YACzE,kDAAkD;YAClD,IAAI,GAAG,IAAI,KAAK,CAAC,MAAM;gBAAE,MAAM;QACjC,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Tests for the generic fallback chunker — the fourth-language layer's Stage 1
3
+ * (mmnto-ai/totem#2387, `totem-strategy` Proposal 256 Option A; contract:
4
+ * mmnto-ai/totem#2308).
5
+ *
6
+ * Covers:
7
+ * - Language-agnostic chunking of the lockout cases (Rust, GDScript).
8
+ * - Fixed-size line windows with overlap + full coverage, no duplicate tail.
9
+ * - Empty / whitespace-only input yields zero chunks.
10
+ * - Regression-lock: registering `generic` does not degrade or hijack the
11
+ * existing TS routing, and `createChunker` still fail-louds on an unknown
12
+ * strategy (the #2308 explicit-opt-in / Tenet-4 constraint).
13
+ */
14
+ export {};
15
+ //# sourceMappingURL=generic-chunker.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generic-chunker.test.d.ts","sourceRoot":"","sources":["../../src/chunkers/generic-chunker.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG"}
@@ -0,0 +1,129 @@
1
+ /**
2
+ * Tests for the generic fallback chunker — the fourth-language layer's Stage 1
3
+ * (mmnto-ai/totem#2387, `totem-strategy` Proposal 256 Option A; contract:
4
+ * mmnto-ai/totem#2308).
5
+ *
6
+ * Covers:
7
+ * - Language-agnostic chunking of the lockout cases (Rust, GDScript).
8
+ * - Fixed-size line windows with overlap + full coverage, no duplicate tail.
9
+ * - Empty / whitespace-only input yields zero chunks.
10
+ * - Regression-lock: registering `generic` does not degrade or hijack the
11
+ * existing TS routing, and `createChunker` still fail-louds on an unknown
12
+ * strategy (the #2308 explicit-opt-in / Tenet-4 constraint).
13
+ */
14
+ import { describe, expect, it } from 'vitest';
15
+ import { createChunker } from './chunker.js';
16
+ import { GenericChunker } from './generic-chunker.js';
17
+ describe('GenericChunker', () => {
18
+ const chunker = new GenericChunker();
19
+ it('reports the generic strategy', () => {
20
+ expect(chunker.strategy).toBe('generic');
21
+ });
22
+ it('chunks Rust source (the index-lockout case) language-agnostically', () => {
23
+ const rust = `fn main() {
24
+ println!("hello, world");
25
+ }`;
26
+ const chunks = chunker.chunk(rust, 'src/main.rs', 'code');
27
+ expect(chunks.length).toBe(1);
28
+ expect(chunks[0].strategy).toBe('generic');
29
+ expect(chunks[0].type).toBe('code');
30
+ expect(chunks[0].filePath).toBe('src/main.rs');
31
+ expect(chunks[0].content).toContain('fn main');
32
+ expect(chunks[0].startLine).toBe(1);
33
+ expect(chunks[0].endLine).toBe(3);
34
+ expect(chunks[0].label).toBe('src/main.rs:1-3');
35
+ expect(chunks[0].contextPrefix).toBe('File: src/main.rs | Lines: 1-3');
36
+ });
37
+ it('chunks GDScript source language-agnostically', () => {
38
+ const gd = `extends Node
39
+
40
+ func _ready():
41
+ print("hi")`;
42
+ const chunks = chunker.chunk(gd, 'player.gd', 'code');
43
+ expect(chunks.length).toBe(1);
44
+ expect(chunks[0].strategy).toBe('generic');
45
+ expect(chunks[0].content).toContain('func _ready');
46
+ expect(chunks[0].startLine).toBe(1);
47
+ expect(chunks[0].endLine).toBe(4);
48
+ });
49
+ it('produces overlapping fixed-size windows with full coverage for large files', () => {
50
+ // 130 lines → windows of 60 advancing by 50: [1-60], [51-110], [101-130].
51
+ const lines = Array.from({ length: 130 }, (_, i) => `L${i + 1}`);
52
+ const content = lines.join('\n');
53
+ const chunks = chunker.chunk(content, 'big.rs', 'code');
54
+ expect(chunks.length).toBe(3);
55
+ expect(chunks[0].startLine).toBe(1);
56
+ expect(chunks[0].endLine).toBe(60);
57
+ expect(chunks[1].startLine).toBe(51);
58
+ expect(chunks[1].endLine).toBe(110);
59
+ expect(chunks[2].startLine).toBe(101);
60
+ expect(chunks[2].endLine).toBe(130);
61
+ // Adjacent windows overlap (share boundary context).
62
+ expect(chunks[1].startLine).toBeLessThanOrEqual(chunks[0].endLine);
63
+ expect(chunks[2].startLine).toBeLessThanOrEqual(chunks[1].endLine);
64
+ // Full coverage: first line through last line, all strategy 'generic'.
65
+ expect(chunks[0].content).toContain('L1');
66
+ expect(chunks[2].content).toContain('L130');
67
+ for (const c of chunks) {
68
+ expect(c.strategy).toBe('generic');
69
+ }
70
+ });
71
+ it('emits the final partial window exactly once (no duplicate tail chunk)', () => {
72
+ // 61 lines → [1-60] then [51-61]; the second window reaches EOF and stops.
73
+ const content = Array.from({ length: 61 }, (_, i) => `line ${i + 1}`).join('\n');
74
+ const chunks = chunker.chunk(content, 'x.rs', 'code');
75
+ expect(chunks.length).toBe(2);
76
+ expect(chunks[1].endLine).toBe(61);
77
+ });
78
+ it('trailing newline does not inflate endLine or mint a phantom window (greptile P1, #2442)', () => {
79
+ // Real source files end with a newline. A 60-line file + trailing \n splits
80
+ // into 61 elements; pre-fix the EOF check missed at 60-vs-61 and a second
81
+ // window [51-61] shipped with endLine one beyond the real last line.
82
+ const sixtyWithNewline = Array.from({ length: 60 }, (_, i) => `line ${i + 1}`).join('\n') + '\n';
83
+ const chunks = chunker.chunk(sixtyWithNewline, 'x.rs', 'code');
84
+ expect(chunks.length).toBe(1);
85
+ expect(chunks[0].endLine).toBe(60);
86
+ // 61 real lines + trailing newline: same shape as the no-newline 61-line
87
+ // case — two windows, endLine 61, no phantom 62.
88
+ const sixtyOneWithNewline = Array.from({ length: 61 }, (_, i) => `line ${i + 1}`).join('\n') + '\n';
89
+ const chunks61 = chunker.chunk(sixtyOneWithNewline, 'x.gd', 'code');
90
+ expect(chunks61.length).toBe(2);
91
+ expect(chunks61[1].endLine).toBe(61);
92
+ // A REAL run of trailing blank lines is not the phantom: only the single
93
+ // newline artifact is stripped; blank-window dropping handles the rest.
94
+ const withRealBlanks = 'line 1\nline 2\n\n\n';
95
+ const blankChunks = chunker.chunk(withRealBlanks, 'y.rs', 'code');
96
+ expect(blankChunks.length).toBe(1);
97
+ expect(blankChunks[0].content).toBe('line 1\nline 2\n\n');
98
+ });
99
+ it('yields no chunks for empty content', () => {
100
+ expect(chunker.chunk('', 'empty.rs', 'code')).toEqual([]);
101
+ });
102
+ it('yields no chunks for whitespace-only content', () => {
103
+ expect(chunker.chunk('\n\n \n\t\n', 'blank.rs', 'code')).toEqual([]);
104
+ });
105
+ });
106
+ describe('GenericChunker registration (regression-lock)', () => {
107
+ it('createChunker routes the generic strategy to GenericChunker', () => {
108
+ const c = createChunker('generic');
109
+ expect(c).toBeInstanceOf(GenericChunker);
110
+ expect(c.strategy).toBe('generic');
111
+ });
112
+ it('does not hijack TS routing — typescript-ast still yields unchanged chunk counts', () => {
113
+ const tsChunker = createChunker('typescript-ast');
114
+ expect(tsChunker.strategy).toBe('typescript-ast');
115
+ expect(tsChunker).not.toBeInstanceOf(GenericChunker);
116
+ const code = `export function greet(name: string): string {
117
+ return \`Hello, \${name}\`;
118
+ }
119
+ `;
120
+ // Unchanged: a single function still chunks to exactly one chunk.
121
+ expect(tsChunker.chunk(code, 'src/utils.ts', 'code').length).toBe(1);
122
+ });
123
+ it('preserves fail-loud — an unknown strategy still throws (never a silent fallback)', () => {
124
+ // The generic chunker is explicit-opt-in only (mmnto-ai/totem#2308); a
125
+ // typo names a real misconfiguration and must NOT degrade to line-windows.
126
+ expect(() => createChunker('typo-strategy')).toThrowError(/Unknown chunk strategy/);
127
+ });
128
+ });
129
+ //# sourceMappingURL=generic-chunker.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generic-chunker.test.js","sourceRoot":"","sources":["../../src/chunkers/generic-chunker.test.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ import { z } from 'zod';
9
9
  * contributed strategies extend `ChunkStrategy` via the `(string & {})`
10
10
  * tail and register at boot through `chunker-registry.ts`.
11
11
  */
12
- export declare const BUILTIN_CHUNK_STRATEGIES: readonly ["typescript-ast", "markdown-heading", "session-log", "schema-file", "test-file"];
12
+ export declare const BUILTIN_CHUNK_STRATEGIES: readonly ["typescript-ast", "markdown-heading", "session-log", "schema-file", "test-file", "generic"];
13
13
  /**
14
14
  * `ChunkStrategy` schema. Per ADR-097 § 10 + mmnto-ai/totem#1769 strategy
15
15
  * lookup goes through `chunker-registry.ts` at runtime; this schema only
@@ -1 +1 @@
1
- {"version":3,"file":"config-schema.d.ts","sourceRoot":"","sources":["../src/config-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-schema.d.ts","sourceRoot":"","sources":["../src/config-schema.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,10 @@ export const BUILTIN_CHUNK_STRATEGIES = [
18
18
  'session-log',
19
19
  'schema-file',
20
20
  'test-file',
21
+ // Fourth-language layer, Stage 1: language-agnostic generic fallback for
22
+ // source with no dedicated chunker yet (Rust/GDScript). Explicit-opt-in
23
+ // only (mmnto-ai/totem#2387, #2308; Prop 256 Option A).
24
+ 'generic',
21
25
  ];
22
26
  /**
23
27
  * `ChunkStrategy` schema. Per ADR-097 § 10 + mmnto-ai/totem#1769 strategy
@@ -1 +1 @@
1
- {"version":3,"file":"config-schema.js","sourceRoot":"","sources":["../src/config-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-schema.js","sourceRoot":"","sources":["../src/config-schema.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"apply-rules-bounded.d.ts","sourceRoot":"","sources":["../../src/regex-safety/apply-rules-bounded.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,SAAS,EACV,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAIL,KAAK,iBAAiB,EACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGrD,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE/C,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,WAAW,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,cAAc,CAAC;IAC1B,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,eAAe,EAAE,kBAAkB,EAAE,CAAC;CACvC;AAeD,wBAAsB,4BAA4B,CAChD,GAAG,EAAE,iBAAiB,EACtB,KAAK,EAAE,SAAS,YAAY,EAAE,EAC9B,SAAS,EAAE,SAAS,YAAY,EAAE,EAClC,OAAO,EAAE,mBAAmB,EAC5B,WAAW,CAAC,EAAE,iBAAiB,GAC9B,OAAO,CAAC,kBAAkB,CAAC,CA6F7B"}
1
+ {"version":3,"file":"apply-rules-bounded.d.ts","sourceRoot":"","sources":["../../src/regex-safety/apply-rules-bounded.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,SAAS,EACV,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAKL,KAAK,iBAAiB,EACvB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGrD,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE/C,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,WAAW,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,cAAc,CAAC;IAC1B,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,eAAe,EAAE,kBAAkB,EAAE,CAAC;CACvC;AAED,wBAAsB,4BAA4B,CAChD,GAAG,EAAE,iBAAiB,EACtB,KAAK,EAAE,SAAS,YAAY,EAAE,EAC9B,SAAS,EAAE,SAAS,YAAY,EAAE,EAClC,OAAO,EAAE,mBAAmB,EAC5B,WAAW,CAAC,EAAE,iBAAiB,GAC9B,OAAO,CAAC,kBAAkB,CAAC,CAgI7B"}
@@ -12,23 +12,12 @@
12
12
  * susceptible and are evaluated by `applyAstRulesToAdditions` / the
13
13
  * compound-rule pipeline under separate bounds.
14
14
  */
15
+ import * as fs from 'node:fs';
16
+ import * as path from 'node:path';
15
17
  import { TotemParseError } from '../errors.js';
16
- import { extractJustification, isSuppressed, matchesGlob, } from '../rule-engine.js';
18
+ import { extractJustification, getRustTestSpans, isProductionRustRule, isSuppressed, } from '../rule-engine.js';
19
+ import { fileMatchesGlobs } from '../sys/glob.js';
17
20
  import { redactPath } from './telemetry.js';
18
- function fileMatchesGlobs(filePath, globs) {
19
- const hasIncludes = globs.some((g) => !g.startsWith('!'));
20
- let matched = !hasIncludes;
21
- for (const glob of globs) {
22
- if (glob.startsWith('!')) {
23
- if (matchesGlob(filePath, glob.slice(1)))
24
- return false;
25
- }
26
- else if (matchesGlob(filePath, glob)) {
27
- matched = true;
28
- }
29
- }
30
- return matched;
31
- }
32
21
  export async function applyRulesToAdditionsBounded(ctx, rules, additions, options, onRuleEvent) {
33
22
  const violations = [];
34
23
  const timeoutOutcomes = [];
@@ -36,6 +25,23 @@ export async function applyRulesToAdditionsBounded(ctx, rules, additions, option
36
25
  return { violations, timeoutOutcomes };
37
26
  }
38
27
  const regexRules = rules.filter((r) => r.engine === 'regex' || !r.engine);
28
+ const rustTestSpansCache = new Map();
29
+ const getRustSpans = async (file) => {
30
+ if (rustTestSpansCache.has(file))
31
+ return rustTestSpansCache.get(file);
32
+ try {
33
+ const fullPath = path.resolve(options.repoRoot, file);
34
+ const content = await fs.promises.readFile(fullPath, 'utf-8');
35
+ const spans = getRustTestSpans(content);
36
+ rustTestSpansCache.set(file, spans);
37
+ return spans;
38
+ // totem-context: span-read failure yields no spans → no exemption → the rule still FIRES; the exemption fails toward flagging, never toward suppression.
39
+ }
40
+ catch {
41
+ rustTestSpansCache.set(file, []);
42
+ return [];
43
+ }
44
+ };
39
45
  for (const rule of regexRules) {
40
46
  // Partition additions by file so the evaluator can batch one rule per
41
47
  // file at a time. File granularity matches the fileGlobs scoping and
@@ -84,6 +90,22 @@ export async function applyRulesToAdditionsBounded(ctx, rules, additions, option
84
90
  const addition = fileAdditions[matchedIndex];
85
91
  if (!addition)
86
92
  continue;
93
+ // Exempt matches inside inline Rust test modules for production-only Rust rules
94
+ if (isProductionRustRule(rule)) {
95
+ const spans = await getRustSpans(file);
96
+ const isExempt = spans.some((s) => addition.lineNumber >= s.startLine && addition.lineNumber <= s.endLine);
97
+ if (isExempt) {
98
+ // Emit a suppress event so metrics distinguish "matched but
99
+ // test-span-exempt" from "never matched" (#2397 / greptile P2).
100
+ onRuleEvent?.('suppress', rule.lessonHash, {
101
+ file: addition.file,
102
+ line: addition.lineNumber,
103
+ justification: 'exempt: inline #[cfg(test)] module span (#2397)',
104
+ immutable: rule.immutable,
105
+ });
106
+ continue;
107
+ }
108
+ }
87
109
  if (isSuppressed(ctx, addition.line, addition.precedingLine)) {
88
110
  onRuleEvent?.('suppress', rule.lessonHash, {
89
111
  file: addition.file,
@@ -1 +1 @@
1
- {"version":3,"file":"apply-rules-bounded.js","sourceRoot":"","sources":["../../src/regex-safety/apply-rules-bounded.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apply-rules-bounded.js","sourceRoot":"","sources":["../../src/regex-safety/apply-rules-bounded.ts"],"names":[],"mappings":"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"}