@kernlang/core 3.4.3-canary.9.1.62aecb74 → 3.4.3
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/codegen/kern-stdlib.d.ts +1 -1
- package/dist/codegen/kern-stdlib.js +12 -1
- package/dist/codegen/kern-stdlib.js.map +1 -1
- package/dist/concepts.d.ts +20 -0
- package/dist/concepts.js.map +1 -1
- package/dist/native-eligibility.d.ts +5 -5
- package/dist/native-eligibility.js +5 -5
- package/dist/parser-validate-native-eligible.d.ts +11 -6
- package/dist/parser-validate-native-eligible.js +12 -7
- package/dist/parser-validate-native-eligible.js.map +1 -1
- package/dist/spec.d.ts +1 -1
- package/dist/spec.js +1 -1
- package/dist/spec.js.map +1 -1
- package/package.json +1 -1
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
* - 2a: Text upper/lower/length/trim
|
|
27
27
|
* - 2b: Text+ (includes, startsWith, endsWith, split, replace);
|
|
28
28
|
* List (length, isEmpty, includes, first, last, indexOf, join);
|
|
29
|
-
* Map (has, get, size); Number (round, floor, ceil, abs).
|
|
29
|
+
* Map (has, get, size); Number (round, floor, ceil, abs, isFinite, isNaN).
|
|
30
30
|
* Future slices may extend further (List.map / List.filter need closures,
|
|
31
31
|
* so they're deferred until closure support — currently never).
|
|
32
32
|
*
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
* - 2a: Text upper/lower/length/trim
|
|
27
27
|
* - 2b: Text+ (includes, startsWith, endsWith, split, replace);
|
|
28
28
|
* List (length, isEmpty, includes, first, last, indexOf, join);
|
|
29
|
-
* Map (has, get, size); Number (round, floor, ceil, abs).
|
|
29
|
+
* Map (has, get, size); Number (round, floor, ceil, abs, isFinite, isNaN).
|
|
30
30
|
* Future slices may extend further (List.map / List.filter need closures,
|
|
31
31
|
* so they're deferred until closure support — currently never).
|
|
32
32
|
*
|
|
@@ -90,6 +90,17 @@ export const KERN_STDLIB = {
|
|
|
90
90
|
floor: { arity: 1, ts: 'Math.floor($0)', py: '__k_math.floor($0)', requires: { py: 'math' } },
|
|
91
91
|
ceil: { arity: 1, ts: 'Math.ceil($0)', py: '__k_math.ceil($0)', requires: { py: 'math' } },
|
|
92
92
|
abs: { arity: 1, ts: 'Math.abs($0)', py: 'abs($0)' },
|
|
93
|
+
// `Number.isFinite($0)` returns false for NaN, +∞, -∞ on both targets.
|
|
94
|
+
// The TS lowering uses `Number.isFinite` (NOT the global `isFinite`) so
|
|
95
|
+
// non-number arguments deterministically return false rather than being
|
|
96
|
+
// coerced. Python's `math.isfinite` matches that semantic on float inputs;
|
|
97
|
+
// KERN's type system rejects non-number arguments at AST validation, so
|
|
98
|
+
// Python's `TypeError` on non-numerics is unreachable from typed bodies.
|
|
99
|
+
isFinite: { arity: 1, ts: 'Number.isFinite($0)', py: '__k_math.isfinite($0)', requires: { py: 'math' } },
|
|
100
|
+
// `Number.isNaN($0)` returns true ONLY for the NaN value itself (no
|
|
101
|
+
// coercion). Python's `math.isnan` matches that strict shape. Use `Number`
|
|
102
|
+
// (not the global `isNaN`) so the TS output is the strict, type-safe form.
|
|
103
|
+
isNaN: { arity: 1, ts: 'Number.isNaN($0)', py: '__k_math.isnan($0)', requires: { py: 'math' } },
|
|
93
104
|
},
|
|
94
105
|
};
|
|
95
106
|
export const KERN_STDLIB_MODULES = new Set(Object.keys(KERN_STDLIB));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kern-stdlib.js","sourceRoot":"","sources":["../../src/codegen/kern-stdlib.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"kern-stdlib.js","sourceRoot":"","sources":["../../src/codegen/kern-stdlib.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iEAkCiE;AAcjE,MAAM,CAAC,MAAM,WAAW,GAAgD;IACtE,IAAI,EAAE;QACJ,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,kBAAkB,EAAE,EAAE,EAAE,YAAY,EAAE;QAC7D,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,kBAAkB,EAAE,EAAE,EAAE,YAAY,EAAE;QAC7D,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,SAAS,EAAE;QACpD,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE;QACrD,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,UAAU,EAAE;QAC7D,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,mBAAmB,EAAE,EAAE,EAAE,mBAAmB,EAAE;QAC1E,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,iBAAiB,EAAE;QACpE,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,cAAc,EAAE;QAC3D,sEAAsE;QACtE,8DAA8D;QAC9D,qEAAqE;QACrE,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,uBAAuB,EAAE,EAAE,EAAE,oBAAoB,EAAE;KAC7E;IACD,IAAI,EAAE;QACJ,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,SAAS,EAAE;QACpD,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,cAAc,EAAE;QAChE,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,UAAU,EAAE;QAC7D,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE;QAC7C,wEAAwE;QACxE,mEAAmE;QACnE,uEAAuE;QACvE,mBAAmB;QACnB,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE;QACjD,qEAAqE;QACrE,uEAAuE;QACvE,uBAAuB;QACvB,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE,oCAAoC,EAAE;QACrF,uEAAuE;QACvE,uEAAuE;QACvE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,uBAAuB,EAAE;KACnE;IACD,GAAG,EAAE;QACH,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,UAAU,EAAE;QACnD,sEAAsE;QACtE,wEAAwE;QACxE,yCAAyC;QACzC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE;QACrD,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE;KACjD;IACD,MAAM,EAAE;QACN,+EAA+E;QAC/E,6EAA6E;QAC7E,6EAA6E;QAC7E,2EAA2E;QAC3E,qEAAqE;QACrE,4EAA4E;QAC5E,QAAQ;QACR,uEAAuE;QACvE,oEAAoE;QACpE,oEAAoE;QACpE,yBAAyB;QACzB,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE,0BAA0B,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE;QACnG,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE,oBAAoB,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE;QAC7F,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,mBAAmB,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE;QAC1F,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,SAAS,EAAE;QACpD,uEAAuE;QACvE,wEAAwE;QACxE,wEAAwE;QACxE,2EAA2E;QAC3E,wEAAwE;QACxE,yEAAyE;QACzE,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,qBAAqB,EAAE,EAAE,EAAE,uBAAuB,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE;QACxG,oEAAoE;QACpE,2EAA2E;QAC3E,2EAA2E;QAC3E,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,kBAAkB,EAAE,EAAE,EAAE,oBAAoB,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE;KAChG;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AAErE;;;uCAGuC;AACvC,MAAM,UAAU,YAAY,CAAC,MAAc,EAAE,MAAc;IACzD,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,CAAC,aAAa;QAAE,OAAO,IAAI,CAAC;IAChC,OAAO,aAAa,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;AACvC,CAAC;AAED;iFACiF;AACjF,MAAM,UAAU,mBAAmB,CAAC,MAAc,EAAE,MAAc;IAChE,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,CAAC,aAAa;QAAE,OAAO,IAAI,CAAC;IAChC,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC9C,IAAI,IAAI,GAAkB,IAAI,CAAC;IAC/B,IAAI,QAAQ,GAAG,QAAQ,CAAC;IACxB,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC;YACjB,QAAQ,GAAG,CAAC,CAAC;YACb,IAAI,GAAG,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACrC,CAAC;AAED;;yCAEyC;AACzC,MAAM,UAAU,aAAa,CAAC,QAAgB,EAAE,IAAc;IAC5D,OAAO,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;QACrD,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACxC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CACb,8CAA8C,GAAG,aAAa,IAAI,CAAC,MAAM,6BAA6B,QAAQ,EAAE,CACjH,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,WAAW,CAAC,CAAS,EAAE,CAAS;IACvC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACtB,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;IACnB,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;IACnB,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACtB,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACtB,MAAM,EAAE,GAAa,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;QAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QACjB,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;YAClB,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,CAAC;YACxD,IAAI,GAAG,GAAG,CAAC;QACb,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;AACf,CAAC"}
|
package/dist/concepts.d.ts
CHANGED
|
@@ -169,6 +169,26 @@ export interface EffectPayload {
|
|
|
169
169
|
* the server-side `bodyFieldsResolved` are true.
|
|
170
170
|
*/
|
|
171
171
|
sentFieldsResolved?: boolean;
|
|
172
|
+
/**
|
|
173
|
+
* For `network` subtype only — coarse type tag per `sentFields` entry.
|
|
174
|
+
* Same key set as `sentFields`. Each tag is one of:
|
|
175
|
+
* - `'string' | 'number' | 'boolean' | 'null'` — primitive literals
|
|
176
|
+
* - `'object' | 'array'` — nested structured values
|
|
177
|
+
* - `'unknown'` — value position present but type couldn't be inferred
|
|
178
|
+
* (fallback so the key isn't silently dropped from the type map)
|
|
179
|
+
*
|
|
180
|
+
* The tag is intentionally coarse — no string-literal narrowing
|
|
181
|
+
* (`'admin' | 'user'`), no nested object shape, no generics. Powers
|
|
182
|
+
* cross-stack rules that want "names + types match" precision (e.g.
|
|
183
|
+
* `body-shape-drift` upgrading from "name overlap" to "name + type
|
|
184
|
+
* overlap"). Without this every `userId: string` (client) would silently
|
|
185
|
+
* "match" a `userId: number` (server) just because the names overlap.
|
|
186
|
+
*
|
|
187
|
+
* Populated only when `sentFieldsResolved === true`. Field-set is a
|
|
188
|
+
* subset of `sentFields` (we never emit a tag for a field name that
|
|
189
|
+
* isn't already in the names list).
|
|
190
|
+
*/
|
|
191
|
+
sentFieldTypes?: Readonly<Record<string, 'string' | 'number' | 'boolean' | 'null' | 'object' | 'array' | 'unknown'>>;
|
|
172
192
|
/**
|
|
173
193
|
* For `network` subtype only. `true` when the call-site has a local error
|
|
174
194
|
* path (try/catch, `.catch`, `response.ok`/status check, or known error UI);
|
package/dist/concepts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"concepts.js","sourceRoot":"","sources":["../src/concepts.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"concepts.js","sourceRoot":"","sources":["../src/concepts.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA2WH,4EAA4E;AAE5E,MAAM,UAAU,SAAS,CAAC,QAAgB,EAAE,IAAY,EAAE,MAAc;IACtE,OAAO,GAAG,QAAQ,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,IAAY,EACZ,SAAiB,EACjB,QAAgB,EAChB,OAAgB,EAChB,MAAe;IAEf,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,EAAE,MAAM,IAAI,QAAQ,EAAE,CAAC;AAClG,CAAC"}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
/** Native KERN handler body eligibility classifier — slice 5a foundation
|
|
2
|
-
* (slice α-3 update:
|
|
3
|
-
* `native-eligibility-ast.ts`).
|
|
2
|
+
* (slice α-3 update: delegates to the AST walker in
|
|
3
|
+
* `native-eligibility-ast.ts`; slice α-4: diagnostic surfaces at `warning`).
|
|
4
4
|
*
|
|
5
5
|
* Given a raw `<<<...>>>` handler body, determines whether it could compile
|
|
6
6
|
* under `lang="kern"` opt-in WITHOUT manual rewrite. Used by:
|
|
7
7
|
*
|
|
8
8
|
* 1. The compiler diagnostic layer (`parser-validate-native-eligible.ts`)
|
|
9
|
-
* to surface `
|
|
9
|
+
* to surface `warning`-level `NATIVE_KERN_ELIGIBLE` hints suggesting opt-in.
|
|
10
10
|
* 2. The `kern migrate native-handlers` CLI (slice 5b) to bulk-convert.
|
|
11
11
|
* 3. Empirical scans of real-world repos (e.g. Agon-AI) to measure the
|
|
12
12
|
* practical adoption ceiling for native bodies.
|
|
13
13
|
*
|
|
14
14
|
* Slice α-3: replaced the regex pre-screen with a TS-AST walk that mirrors
|
|
15
15
|
* the migrator's `mapStatement` rules. Eligibility now equals migrate-success
|
|
16
|
-
* by construction
|
|
17
|
-
* `NATIVE_KERN_ELIGIBLE`
|
|
16
|
+
* by construction — the prerequisite for slice α-4's promotion of
|
|
17
|
+
* `NATIVE_KERN_ELIGIBLE` from `info` to `warning` without producing
|
|
18
18
|
* fix-or-suppress noise on bodies the migrator silently bails on.
|
|
19
19
|
*
|
|
20
20
|
* The legacy regex disqualifier set lives at `LEGACY_NEG_PATTERNS` for
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
/** Native KERN handler body eligibility classifier — slice 5a foundation
|
|
2
|
-
* (slice α-3 update:
|
|
3
|
-
* `native-eligibility-ast.ts`).
|
|
2
|
+
* (slice α-3 update: delegates to the AST walker in
|
|
3
|
+
* `native-eligibility-ast.ts`; slice α-4: diagnostic surfaces at `warning`).
|
|
4
4
|
*
|
|
5
5
|
* Given a raw `<<<...>>>` handler body, determines whether it could compile
|
|
6
6
|
* under `lang="kern"` opt-in WITHOUT manual rewrite. Used by:
|
|
7
7
|
*
|
|
8
8
|
* 1. The compiler diagnostic layer (`parser-validate-native-eligible.ts`)
|
|
9
|
-
* to surface `
|
|
9
|
+
* to surface `warning`-level `NATIVE_KERN_ELIGIBLE` hints suggesting opt-in.
|
|
10
10
|
* 2. The `kern migrate native-handlers` CLI (slice 5b) to bulk-convert.
|
|
11
11
|
* 3. Empirical scans of real-world repos (e.g. Agon-AI) to measure the
|
|
12
12
|
* practical adoption ceiling for native bodies.
|
|
13
13
|
*
|
|
14
14
|
* Slice α-3: replaced the regex pre-screen with a TS-AST walk that mirrors
|
|
15
15
|
* the migrator's `mapStatement` rules. Eligibility now equals migrate-success
|
|
16
|
-
* by construction
|
|
17
|
-
* `NATIVE_KERN_ELIGIBLE`
|
|
16
|
+
* by construction — the prerequisite for slice α-4's promotion of
|
|
17
|
+
* `NATIVE_KERN_ELIGIBLE` from `info` to `warning` without producing
|
|
18
18
|
* fix-or-suppress noise on bodies the migrator silently bails on.
|
|
19
19
|
*
|
|
20
20
|
* The legacy regex disqualifier set lives at `LEGACY_NEG_PATTERNS` for
|
|
@@ -1,15 +1,20 @@
|
|
|
1
|
-
/** @internal Native KERN body eligibility hint — slice 5a.
|
|
1
|
+
/** @internal Native KERN body eligibility hint — slice 5a (slice α-4: warn).
|
|
2
2
|
*
|
|
3
|
-
* Walks the parsed tree and emits
|
|
3
|
+
* Walks the parsed tree and emits a `warning`-severity `NATIVE_KERN_ELIGIBLE`
|
|
4
4
|
* diagnostic on every `handler` node that:
|
|
5
5
|
* - has a raw `<<<…>>>` body (`props.code` is a string), AND
|
|
6
6
|
* - is NOT already opted in via `lang="kern"`, AND
|
|
7
7
|
* - the raw body passes the `classifyHandlerBody` heuristic.
|
|
8
8
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
9
|
+
* Slice α-4: severity promoted from `info` → `warning`. After slice α-3 made
|
|
10
|
+
* classifier eligibility ≡ migrator success by construction, every emitted
|
|
11
|
+
* hint is actionable — running `kern migrate native-handlers --write` will
|
|
12
|
+
* rewrite the body to `lang="kern"` and the diagnostic disappears. The warn
|
|
13
|
+
* level is the durable gate for review: handlers that could be native KERN
|
|
14
|
+
* IR but aren't are visible noise until migrated, which is the desired
|
|
15
|
+
* pressure for "full KERN" adoption. Consumers that want the old quiet
|
|
16
|
+
* behaviour (`kern review`, `kern import`, the CLI build summary) still
|
|
17
|
+
* filter the code out at the consumer site.
|
|
13
18
|
*/
|
|
14
19
|
import { type ParseState } from './parser-diagnostics.js';
|
|
15
20
|
import type { IRNode, ParseDiagnostic } from './types.js';
|
|
@@ -1,15 +1,20 @@
|
|
|
1
|
-
/** @internal Native KERN body eligibility hint — slice 5a.
|
|
1
|
+
/** @internal Native KERN body eligibility hint — slice 5a (slice α-4: warn).
|
|
2
2
|
*
|
|
3
|
-
* Walks the parsed tree and emits
|
|
3
|
+
* Walks the parsed tree and emits a `warning`-severity `NATIVE_KERN_ELIGIBLE`
|
|
4
4
|
* diagnostic on every `handler` node that:
|
|
5
5
|
* - has a raw `<<<…>>>` body (`props.code` is a string), AND
|
|
6
6
|
* - is NOT already opted in via `lang="kern"`, AND
|
|
7
7
|
* - the raw body passes the `classifyHandlerBody` heuristic.
|
|
8
8
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
9
|
+
* Slice α-4: severity promoted from `info` → `warning`. After slice α-3 made
|
|
10
|
+
* classifier eligibility ≡ migrator success by construction, every emitted
|
|
11
|
+
* hint is actionable — running `kern migrate native-handlers --write` will
|
|
12
|
+
* rewrite the body to `lang="kern"` and the diagnostic disappears. The warn
|
|
13
|
+
* level is the durable gate for review: handlers that could be native KERN
|
|
14
|
+
* IR but aren't are visible noise until migrated, which is the desired
|
|
15
|
+
* pressure for "full KERN" adoption. Consumers that want the old quiet
|
|
16
|
+
* behaviour (`kern review`, `kern import`, the CLI build summary) still
|
|
17
|
+
* filter the code out at the consumer site.
|
|
13
18
|
*/
|
|
14
19
|
import { classifyHandlerBody } from './native-eligibility.js';
|
|
15
20
|
import { createParseState, emitDiagnostic } from './parser-diagnostics.js';
|
|
@@ -34,7 +39,7 @@ function walk(state, node) {
|
|
|
34
39
|
const result = classifyHandlerBody(code);
|
|
35
40
|
if (result.eligible) {
|
|
36
41
|
const loc = node.loc ?? { line: 1, col: 1, endCol: 2 };
|
|
37
|
-
emitDiagnostic(state, 'NATIVE_KERN_ELIGIBLE', '
|
|
42
|
+
emitDiagnostic(state, 'NATIVE_KERN_ELIGIBLE', 'warning', 'This handler body uses only patterns supported by `lang="kern"` — opt in for native cross-target validation. Run `kern migrate native-handlers --write` to bulk-rewrite eligible bodies.', loc.line, loc.col, { endCol: loc.endCol ?? loc.col + 1 });
|
|
38
43
|
}
|
|
39
44
|
}
|
|
40
45
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser-validate-native-eligible.js","sourceRoot":"","sources":["../src/parser-validate-native-eligible.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"parser-validate-native-eligible.js","sourceRoot":"","sources":["../src/parser-validate-native-eligible.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAmB,MAAM,yBAAyB,CAAC;AAG5F,MAAM,UAAU,sBAAsB,CAAC,KAAiB,EAAE,IAAY;IACpE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACpB,CAAC;AAED;;;gEAGgE;AAChE,MAAM,UAAU,0BAA0B,CAAC,IAAY;IACrD,MAAM,KAAK,GAAG,gBAAgB,EAAE,CAAC;IACjC,sBAAsB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACpC,OAAO,KAAK,CAAC,WAAW,CAAC;AAC3B,CAAC;AAED,SAAS,IAAI,CAAC,KAAiB,EAAE,IAAY;IAC3C,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YAChD,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACpB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;gBACvD,cAAc,CACZ,KAAK,EACL,sBAAsB,EACtB,SAAS,EACT,0LAA0L,EAC1L,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,GAAG,EACP,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,EAAE,CACtC,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC;AACH,CAAC"}
|
package/dist/spec.d.ts
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* Meta: theme nodes ($ref), pseudo-selectors (:press, :hover)
|
|
10
10
|
* Targets: Next.js, React+Tailwind, React Native, Express
|
|
11
11
|
*/
|
|
12
|
-
export declare const KERN_VERSION = "3.4.3
|
|
12
|
+
export declare const KERN_VERSION = "3.4.3";
|
|
13
13
|
export declare const IR_GRAMMAR = "\ndocument = node+\nnode = indent type (SP prop)* (SP style)? (SP themeref)* NL child*\nchild = node\nindent = \" \"*\ntype = ident\nprop = ident \"=\" value\nvalue = quoted | bare\nquoted = '\"' [^\"]* '\"'\nbare = [^\\s{$]+\nstyle = \"{\" spair (\",\" spair)* \"}\"\nspair = sident \":\" svalue | \":\" pseudo \":\" sident \":\" svalue\npseudo = \"press\" | \"hover\" | \"active\" | \"focus\"\nsident = shorthand | ident\nsvalue = [^,}]+\nthemeref = \"$\" ident\nident = [A-Za-z_][A-Za-z0-9_-]*\nSP = \" \"+\nNL = \"\\n\" | EOF\n";
|
|
14
14
|
export declare const NODE_TYPES: readonly ["screen", "page", "row", "col", "card", "grid", "scroll", "text", "image", "progress", "divider", "codeblock", "section", "form", "button", "input", "textarea", "slider", "toggle", "modal", "list", "item", "tabs", "tab", "header", "link", "theme", "doc", "server", "route", "middleware", "handler", "schema", "stream", "spawn", "timer", "on", "env", "websocket", "params", "auth", "validate", "respond", "trigger", "cli", "command", "arg", "flag", "import", "separator", "table", "thead", "tbody", "tr", "th", "td", "scoreboard", "metric", "spinner", "box", "gradient", "state", "animation", "repl", "guard", "parallel", "dispatch", "then", "each", "let", "local", "return", "throw", "if", "layout", "loading", "metadata", "generateMetadata", "notFound", "redirect", "fetch", "type", "interface", "field", "fn", "const", "destructure", "binding", "element", "mapLit", "mapEntry", "setLit", "setItem", "enum", "member", "union", "variant", "indexer", "overload", "service", "class", "method", "getter", "setter", "singleton", "constructor", "signal", "cleanup", "machine", "transition", "error", "module", "export", "use", "from", "config", "store", "test", "describe", "it", "event", "hook", "provider", "effect", "logic", "memo", "callback", "ref", "context", "prop", "returns", "render", "input-area", "output-area", "text-input", "select-input", "multi-select", "confirm-input", "password-input", "status-message", "alert", "ordered-list", "unordered-list", "focus", "app-exit", "static-log", "newline", "layout-row", "layout-col", "layout-stack", "spacer", "screen-embed", "alternate-screen", "scroll-box", "model", "column", "relation", "repository", "dependency", "inject", "cache", "entry", "invalidate", "conditional", "else", "elseif", "component", "select", "option", "group", "icon", "svg", "template", "slot", "body", "derive", "fmt", "set", "async", "try", "step", "catch", "filter", "find", "some", "every", "findIndex", "reduce", "map", "flatMap", "flat", "slice", "at", "sort", "reverse", "join", "includes", "indexOf", "lastIndexOf", "concat", "forEach", "compact", "pluck", "unique", "uniqueBy", "groupBy", "partition", "indexBy", "countBy", "chunk", "zip", "range", "take", "drop", "min", "max", "minBy", "maxBy", "sum", "sumBy", "avg", "intersect", "findLast", "findLastIndex", "transform", "action", "actionRegistry", "assume", "invariant", "branch", "path", "resolve", "candidate", "discriminator", "collect", "pattern", "apply", "expect", "recover", "strategy", "reason", "evidence", "needs", "rule", "message", "mcp", "tool", "resource", "prompt", "param", "description", "sampling", "elicitation"];
|
|
15
15
|
export type IRNodeType = (typeof NODE_TYPES)[number];
|
package/dist/spec.js
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* Meta: theme nodes ($ref), pseudo-selectors (:press, :hover)
|
|
10
10
|
* Targets: Next.js, React+Tailwind, React Native, Express
|
|
11
11
|
*/
|
|
12
|
-
export const KERN_VERSION = '3.4.3
|
|
12
|
+
export const KERN_VERSION = '3.4.3';
|
|
13
13
|
// ── Grammar ─────────────────────────────────────────────────────────────
|
|
14
14
|
export const IR_GRAMMAR = `
|
|
15
15
|
document = node+
|
package/dist/spec.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec.js","sourceRoot":"","sources":["../src/spec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,
|
|
1
|
+
{"version":3,"file":"spec.js","sourceRoot":"","sources":["../src/spec.ts"],"names":[],"mappings":"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"}
|