@mmnto/totem 1.118.1 → 1.120.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/dist/artifacts/admission.d.ts +12 -12
- package/dist/artifacts/verdict.d.ts +16 -16
- package/dist/compile-manifest.d.ts +89 -0
- package/dist/compile-manifest.d.ts.map +1 -1
- package/dist/compile-manifest.js +180 -31
- package/dist/compile-manifest.js.map +1 -1
- package/dist/compile-manifest.test.js +169 -1
- package/dist/compile-manifest.test.js.map +1 -1
- package/dist/compile-smoke-gate.d.ts +23 -0
- package/dist/compile-smoke-gate.d.ts.map +1 -1
- package/dist/compile-smoke-gate.js +139 -8
- package/dist/compile-smoke-gate.js.map +1 -1
- package/dist/compile-smoke-gate.test.js +431 -0
- package/dist/compile-smoke-gate.test.js.map +1 -1
- package/dist/compiler-schema.d.ts +1067 -0
- package/dist/compiler-schema.d.ts.map +1 -1
- package/dist/compiler-schema.js +204 -1
- package/dist/compiler-schema.js.map +1 -1
- package/dist/compiler-schema.test.js +92 -0
- package/dist/compiler-schema.test.js.map +1 -1
- package/dist/compiler.d.ts +2 -6
- package/dist/compiler.d.ts.map +1 -1
- package/dist/compiler.js +6 -17
- package/dist/compiler.js.map +1 -1
- package/dist/freeze.d.ts +3 -3
- package/dist/index.d.ts +12 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/ledger.d.ts +12 -12
- package/dist/recurrence-stats.d.ts +10 -10
- package/dist/regex-safety/apply-rules-bounded.d.ts +11 -0
- package/dist/regex-safety/apply-rules-bounded.d.ts.map +1 -1
- package/dist/regex-safety/apply-rules-bounded.js +59 -5
- package/dist/regex-safety/apply-rules-bounded.js.map +1 -1
- package/dist/regex-validation.d.ts +7 -0
- package/dist/regex-validation.d.ts.map +1 -0
- package/dist/regex-validation.js +32 -0
- package/dist/regex-validation.js.map +1 -0
- package/dist/rule-engine.d.ts +11 -1
- package/dist/rule-engine.d.ts.map +1 -1
- package/dist/rule-engine.js +125 -18
- package/dist/rule-engine.js.map +1 -1
- package/dist/spine/authored-rule.d.ts +687 -263
- package/dist/spine/authored-rule.d.ts.map +1 -1
- package/dist/spine/authored-rule.js +113 -27
- package/dist/spine/authored-rule.js.map +1 -1
- package/dist/spine/authored-rule.test.js +170 -4
- package/dist/spine/authored-rule.test.js.map +1 -1
- package/dist/spine/authoring-ledger.d.ts +83 -24
- package/dist/spine/authoring-ledger.d.ts.map +1 -1
- package/dist/spine/authoring-ledger.js +46 -25
- package/dist/spine/authoring-ledger.js.map +1 -1
- package/dist/spine/authoring-ledger.test.js +20 -7
- package/dist/spine/authoring-ledger.test.js.map +1 -1
- package/dist/spine/candidate-rule.d.ts +18 -1
- package/dist/spine/candidate-rule.d.ts.map +1 -1
- package/dist/spine/candidate-rule.js.map +1 -1
- package/dist/spine/cert-corpus-seed.d.ts +14 -14
- package/dist/spine/compile.d.ts +4 -1
- package/dist/spine/compile.d.ts.map +1 -1
- package/dist/spine/compile.js +50 -3
- package/dist/spine/compile.js.map +1 -1
- package/dist/spine/compile.test.js +189 -23
- package/dist/spine/compile.test.js.map +1 -1
- package/dist/spine/frozen-split.d.ts +18 -18
- package/dist/spine/ledgers.d.ts +62 -62
- package/dist/spine/lf-normalize.d.ts +9 -0
- package/dist/spine/lf-normalize.d.ts.map +1 -0
- package/dist/spine/lf-normalize.js +38 -0
- package/dist/spine/lf-normalize.js.map +1 -0
- package/dist/spine/preimage-differential.d.ts +3 -1
- package/dist/spine/preimage-differential.d.ts.map +1 -1
- package/dist/spine/preimage-differential.js +9 -6
- package/dist/spine/preimage-differential.js.map +1 -1
- package/dist/spine/preimage-differential.test.js +59 -0
- package/dist/spine/preimage-differential.test.js.map +1 -1
- package/dist/spine/record-exemplars.fixture.d.ts +5 -0
- package/dist/spine/record-exemplars.fixture.d.ts.map +1 -0
- package/dist/spine/record-exemplars.fixture.js +61 -0
- package/dist/spine/record-exemplars.fixture.js.map +1 -0
- package/dist/spine/record-lower.d.ts +90 -0
- package/dist/spine/record-lower.d.ts.map +1 -0
- package/dist/spine/record-lower.js +418 -0
- package/dist/spine/record-lower.js.map +1 -0
- package/dist/spine/record-lower.test.d.ts +2 -0
- package/dist/spine/record-lower.test.d.ts.map +1 -0
- package/dist/spine/record-lower.test.js +562 -0
- package/dist/spine/record-lower.test.js.map +1 -0
- package/dist/spine/record-runtime.d.ts +215 -0
- package/dist/spine/record-runtime.d.ts.map +1 -0
- package/dist/spine/record-runtime.js +330 -0
- package/dist/spine/record-runtime.js.map +1 -0
- package/dist/spine/record-runtime.test.d.ts +2 -0
- package/dist/spine/record-runtime.test.d.ts.map +1 -0
- package/dist/spine/record-runtime.test.js +814 -0
- package/dist/spine/record-runtime.test.js.map +1 -0
- package/dist/spine/rule-record.d.ts +864 -0
- package/dist/spine/rule-record.d.ts.map +1 -0
- package/dist/spine/rule-record.js +781 -0
- package/dist/spine/rule-record.js.map +1 -0
- package/dist/spine/rule-record.test.d.ts +2 -0
- package/dist/spine/rule-record.test.d.ts.map +1 -0
- package/dist/spine/rule-record.test.js +1262 -0
- package/dist/spine/rule-record.test.js.map +1 -0
- package/dist/spine/windtunnel-firing.d.ts.map +1 -1
- package/dist/spine/windtunnel-firing.js +28 -1
- package/dist/spine/windtunnel-firing.js.map +1 -1
- package/dist/spine/windtunnel-lock.d.ts +26 -26
- package/dist/stage4-verifier.d.ts.map +1 -1
- package/dist/stage4-verifier.js +61 -17
- package/dist/stage4-verifier.js.map +1 -1
- package/dist/sys/glob.d.ts +30 -0
- package/dist/sys/glob.d.ts.map +1 -1
- package/dist/sys/glob.js +62 -1
- package/dist/sys/glob.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/package.json +1 -1
package/dist/sys/glob.d.ts
CHANGED
|
@@ -1,10 +1,40 @@
|
|
|
1
|
+
interface GlobCache {
|
|
2
|
+
get(glob: string): RegExp | undefined;
|
|
3
|
+
set(glob: string, expression: RegExp): void;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* LRU-bounded `string → RegExp` cache. Nothing about it is glob-specific — the
|
|
7
|
+
* key is any source string and the value its compiled expression — so it is
|
|
8
|
+
* exported for the other compile-once-evaluate-many sites in the engine (Prop
|
|
9
|
+
* 310's `requires.pattern`, `spine/record-runtime.ts`). Reusing this rather than
|
|
10
|
+
* a bare `Map` keeps the shipped idiom AND the bound: an unbounded map keyed by
|
|
11
|
+
* rule content grows with every distinct pattern the process ever sees.
|
|
12
|
+
*/
|
|
13
|
+
export declare class BoundedRegexCache implements GlobCache {
|
|
14
|
+
private readonly capacity;
|
|
15
|
+
private readonly entries;
|
|
16
|
+
constructor(capacity: number);
|
|
17
|
+
get(glob: string): RegExp | undefined;
|
|
18
|
+
set(glob: string, expression: RegExp): void;
|
|
19
|
+
}
|
|
1
20
|
/** Match a path with the public rule-engine compatibility profile. */
|
|
2
21
|
export declare function matchesGlob(filePath: string, glob: string): boolean;
|
|
3
22
|
/** Match a path with the anchored path-classifier compatibility profile. */
|
|
4
23
|
export declare function matchesPathGlob(filePath: string, glob: string): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Match a repo-relative path against ONE glob under the Prop 310 § Design 7
|
|
26
|
+
* normative dialect. Single-glob only: the two-array scope rule
|
|
27
|
+
* (`positiveMatch && !excludeMatch`) is record-grammar SEMANTICS and lives with
|
|
28
|
+
* the record runtime (`spine/record-runtime.ts`), not in the dialect mechanics.
|
|
29
|
+
*
|
|
30
|
+
* Reachable only for rules that carry a Prop 310 compiled home; every legacy
|
|
31
|
+
* rule keeps `matchesGlob`'s shipped behaviour byte-for-byte.
|
|
32
|
+
*/
|
|
33
|
+
export declare function matchesRecordGlob(filePath: string, glob: string): boolean;
|
|
5
34
|
/**
|
|
6
35
|
* Return true when a path matches any positive rule glob and no `!`-prefixed
|
|
7
36
|
* negative glob. With no positive entries, every path is included by default.
|
|
8
37
|
*/
|
|
9
38
|
export declare function fileMatchesGlobs(filePath: string, globs: readonly string[]): boolean;
|
|
39
|
+
export {};
|
|
10
40
|
//# sourceMappingURL=glob.d.ts.map
|
package/dist/sys/glob.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glob.d.ts","sourceRoot":"","sources":["../../src/sys/glob.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"glob.d.ts","sourceRoot":"","sources":["../../src/sys/glob.ts"],"names":[],"mappings":"AAOA,UAAU,SAAS;IACjB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACtC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7C;AAgCD;;;;;;;GAOG;AACH,qBAAa,iBAAkB,YAAW,SAAS;IAGrC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAFrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;gBAExB,QAAQ,EAAE,MAAM;IAE7C,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IASrC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;CAQ5C;AAkSD,sEAAsE;AACtE,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAEnE;AAED,4EAA4E;AAC5E,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAEvE;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAEzE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAapF"}
|
package/dist/sys/glob.js
CHANGED
|
@@ -3,7 +3,15 @@ const RULE_ENGINE_CACHE_CAPACITY = 512;
|
|
|
3
3
|
const NO_OPTIONAL_SYNTAX = new Set();
|
|
4
4
|
const CLASSIFIER_OPTIONAL_SYNTAX = new Set(['brace-alternation', 'question']);
|
|
5
5
|
const classifierCache = new Map();
|
|
6
|
-
|
|
6
|
+
/**
|
|
7
|
+
* LRU-bounded `string → RegExp` cache. Nothing about it is glob-specific — the
|
|
8
|
+
* key is any source string and the value its compiled expression — so it is
|
|
9
|
+
* exported for the other compile-once-evaluate-many sites in the engine (Prop
|
|
10
|
+
* 310's `requires.pattern`, `spine/record-runtime.ts`). Reusing this rather than
|
|
11
|
+
* a bare `Map` keeps the shipped idiom AND the bound: an unbounded map keyed by
|
|
12
|
+
* rule content grows with every distinct pattern the process ever sees.
|
|
13
|
+
*/
|
|
14
|
+
export class BoundedRegexCache {
|
|
7
15
|
capacity;
|
|
8
16
|
entries = new Map();
|
|
9
17
|
constructor(capacity) {
|
|
@@ -44,6 +52,47 @@ const PATH_CLASSIFIER_PROFILE = Object.freeze({
|
|
|
44
52
|
crossSegmentWildcard: '.*',
|
|
45
53
|
cache: classifierCache,
|
|
46
54
|
});
|
|
55
|
+
/**
|
|
56
|
+
* Prop 310 § Design 7 — the NORMATIVE record-grammar dialect, as a third profile
|
|
57
|
+
* over the same tokenizer rather than a second matcher (the file's own design:
|
|
58
|
+
* "profiles are option records over this one tokenizer and compiler"; a parallel
|
|
59
|
+
* implementation would be Tenet 20's prohibited mirror of glob semantics).
|
|
60
|
+
*
|
|
61
|
+
* Each option below IS a spec clause, not a preference:
|
|
62
|
+
* - `barePatternMatchesBasename: false` — § Design 7 "No silent promotion": a
|
|
63
|
+
* glob means what it says, so `*.ts` is ROOT-LEVEL and tree-wide is written
|
|
64
|
+
* `**\/*.ts`. The rule-engine profile's basename prefix is exactly the
|
|
65
|
+
* promotion the grammar kills.
|
|
66
|
+
* - `starActivation: 'all'` — every `*` is a wildcard. The rule-engine profile's
|
|
67
|
+
* bounded legacy shapes silently demote unrecognized stars to LITERALS; the
|
|
68
|
+
* record dialect admits `*` and `**` and nothing else, so there is no
|
|
69
|
+
* unrecognized shape to demote.
|
|
70
|
+
* - `optionalSyntax` empty — braces are OUT of the dialect (§ Design 7's brace
|
|
71
|
+
* ruling) and `?` is banned regex syntax. Both are already parse errors, so
|
|
72
|
+
* this is defence in depth against a hand-edited manifest.
|
|
73
|
+
* - `crossSegmentWildcard: '.*'` — a TRAILING `**` (`packages/**`) matches the
|
|
74
|
+
* whole subtree. A `**\/` SEGMENT compiles to `(?:[^/]+/)*` via the shared
|
|
75
|
+
* `globstar-segments` token, so `**\/*.ts` is tree-wide INCLUDING the root.
|
|
76
|
+
* - `normalizePatternSeparators: false` — record globs are `/`-only (a backslash
|
|
77
|
+
* is a parse error), so there is nothing to normalize on the PATTERN side.
|
|
78
|
+
* The PATH side is normalized by `matchGlob` for every profile, which is
|
|
79
|
+
* § Design 7's "matchers normalize host separators before evaluation".
|
|
80
|
+
*
|
|
81
|
+
* Matching is case-SENSITIVE (no `i` flag anywhere in this file) against
|
|
82
|
+
* repo-relative path names, per § Design 7's Windows-semantics paragraph.
|
|
83
|
+
*
|
|
84
|
+
* Its own cache instance is mandatory: the caches are keyed by glob STRING only,
|
|
85
|
+
* so sharing one with another profile would serve a `*.ts` regex compiled under
|
|
86
|
+
* the opposite promotion rule.
|
|
87
|
+
*/
|
|
88
|
+
const RECORD_DIALECT_PROFILE = Object.freeze({
|
|
89
|
+
normalizePatternSeparators: false,
|
|
90
|
+
barePatternMatchesBasename: false,
|
|
91
|
+
optionalSyntax: NO_OPTIONAL_SYNTAX,
|
|
92
|
+
starActivation: 'all',
|
|
93
|
+
crossSegmentWildcard: '.*',
|
|
94
|
+
cache: new BoundedRegexCache(RULE_ENGINE_CACHE_CAPACITY),
|
|
95
|
+
});
|
|
47
96
|
function escapeRegexLiteral(value) {
|
|
48
97
|
return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
49
98
|
}
|
|
@@ -259,6 +308,18 @@ export function matchesGlob(filePath, glob) {
|
|
|
259
308
|
export function matchesPathGlob(filePath, glob) {
|
|
260
309
|
return matchGlob(filePath, glob, PATH_CLASSIFIER_PROFILE);
|
|
261
310
|
}
|
|
311
|
+
/**
|
|
312
|
+
* Match a repo-relative path against ONE glob under the Prop 310 § Design 7
|
|
313
|
+
* normative dialect. Single-glob only: the two-array scope rule
|
|
314
|
+
* (`positiveMatch && !excludeMatch`) is record-grammar SEMANTICS and lives with
|
|
315
|
+
* the record runtime (`spine/record-runtime.ts`), not in the dialect mechanics.
|
|
316
|
+
*
|
|
317
|
+
* Reachable only for rules that carry a Prop 310 compiled home; every legacy
|
|
318
|
+
* rule keeps `matchesGlob`'s shipped behaviour byte-for-byte.
|
|
319
|
+
*/
|
|
320
|
+
export function matchesRecordGlob(filePath, glob) {
|
|
321
|
+
return matchGlob(filePath, glob, RECORD_DIALECT_PROFILE);
|
|
322
|
+
}
|
|
262
323
|
/**
|
|
263
324
|
* Return true when a path matches any positive rule glob and no `!`-prefixed
|
|
264
325
|
* negative glob. With no positive entries, every path is included by default.
|
package/dist/sys/glob.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glob.js","sourceRoot":"","sources":["../../src/sys/glob.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAqC/E,MAAM,0BAA0B,GAAG,GAAG,CAAC;AACvC,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAkB,CAAC;AACrD,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAiB,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC,CAAC;AAC9F,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;AAElD,MAAM,iBAAiB;
|
|
1
|
+
{"version":3,"file":"glob.js","sourceRoot":"","sources":["../../src/sys/glob.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -298,10 +298,10 @@ export declare const LessonFrontmatterSchema: z.ZodObject<{
|
|
|
298
298
|
type?: "trap" | undefined;
|
|
299
299
|
category?: "security" | "architecture" | "style" | "performance" | undefined;
|
|
300
300
|
severity?: "error" | "warning" | undefined;
|
|
301
|
-
tags?: string[] | undefined;
|
|
302
301
|
scope?: {
|
|
303
302
|
globs?: string[] | undefined;
|
|
304
303
|
} | undefined;
|
|
304
|
+
tags?: string[] | undefined;
|
|
305
305
|
appliesTo?: unknown;
|
|
306
306
|
ecosystem?: {
|
|
307
307
|
version?: string | undefined;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mmnto/totem",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.120.0",
|
|
4
4
|
"description": "Core engine for Totem, the local-first toolkit that keeps AI-agent work queryable, enforceable, and derivable as plain files in your codebase",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|