@kernlang/python 4.0.0 → 4.0.1-canary.224.1.1a92ac0a

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.
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/core/expr/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/core/expr/helpers.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Shared Python expression lowering — framework-agnostic.
3
3
  */
4
- export { KERN_FMT_HELPER_PY, KERN_I32_HELPER_PY, KERN_JS_ARRAY_HELPERS_PY, KERN_JS_HELPER_PY, KERN_JS_OBJECT_HELPERS_PY, KERN_JS_STRING_HELPERS_PY, KERN_PAIR_HELPERS_PY, KERN_TMOD_HELPER_PY, } from './helpers.js';
4
+ export { KERN_FMT_HELPER_PY, KERN_I32_HELPER_PY, KERN_JS_ARRAY_FROM_HELPER_PY, KERN_JS_ARRAY_HELPERS_PY, KERN_JS_HELPER_PY, KERN_JS_MATH_HELPERS_PY, KERN_JS_NUMBER_HELPERS_PY, KERN_JS_OBJECT_HELPERS_PY, KERN_JS_STRING_HELPERS_PY, KERN_JSON_STRINGIFY_SHIM_PY, KERN_NULLISH_HELPER_PY, KERN_PAIR_HELPERS_PY, KERN_REGEX_MATCH_HELPER_PY, KERN_REGEX_MATCHALL_HELPER_PY, KERN_TMOD_HELPER_PY, KERN_TO_NUMBER_HELPER_PY, } from './helpers.js';
5
5
  export declare function quoteObjectKeysOutsideStrings(expr: string): string;
6
6
  export declare function rewriteExpr(expr: string, pathParams: string[], bodyFields?: Set<string>, authUser?: boolean, imports?: Set<string>, hoistedDefs?: string[], closureSeq?: {
7
7
  n: number;
@@ -1,11 +1,25 @@
1
1
  /**
2
2
  * Shared Python expression lowering — framework-agnostic.
3
3
  */
4
- import { lowerJsClosureBodyToPython, PORTABLE_LOGIC_PRIMITIVES } from '@kernlang/core';
4
+ import { PORTABLE_LOGIC_PRIMITIVES } from '@kernlang/core';
5
+ import { lowerJsClosureBodyToPython } from '@kernlang/core/node';
5
6
  import { toSnakeCase } from '../../type-map.js';
6
- import { KERN_I32_HELPER_PY, KERN_JS_ARRAY_HELPERS_PY, KERN_JS_HELPER_PY, KERN_JS_OBJECT_HELPERS_PY, KERN_JS_STRING_HELPERS_PY, KERN_TMOD_HELPER_PY, } from './helpers.js';
7
+ import { KERN_I32_HELPER_PY, KERN_JS_ARRAY_FROM_HELPER_PY, KERN_JS_ARRAY_HELPERS_PY, KERN_JS_HELPER_PY, KERN_JS_OBJECT_HELPERS_PY, KERN_JS_STRING_HELPERS_PY, KERN_TMOD_HELPER_PY, KERN_TO_NUMBER_HELPER_PY, } from './helpers.js';
7
8
  import { isSharedPortableArrayMethod, isSharedPortableArrayProperty, lowerPortableArrayMethodPy, lowerPortableArrayPropertyPy, } from './list-ops.js';
8
- export { KERN_FMT_HELPER_PY, KERN_I32_HELPER_PY, KERN_JS_ARRAY_HELPERS_PY, KERN_JS_HELPER_PY, KERN_JS_OBJECT_HELPERS_PY, KERN_JS_STRING_HELPERS_PY, KERN_PAIR_HELPERS_PY, KERN_TMOD_HELPER_PY, } from './helpers.js';
9
+ export { KERN_FMT_HELPER_PY, KERN_I32_HELPER_PY, KERN_JS_ARRAY_FROM_HELPER_PY, KERN_JS_ARRAY_HELPERS_PY, KERN_JS_HELPER_PY, KERN_JS_MATH_HELPERS_PY, KERN_JS_NUMBER_HELPERS_PY, KERN_JS_OBJECT_HELPERS_PY, KERN_JS_STRING_HELPERS_PY,
10
+ // Slice S7 — sentinel-aware Json.stringify shim (`_kern_json_stringify`).
11
+ KERN_JSON_STRINGIFY_SHIM_PY,
12
+ // Slice S7 — dual-sentinel nullish/equality substrate
13
+ // (`_kern_is_nullish` / `_kern_strict_equal` / `_kern_loose_equal`).
14
+ KERN_NULLISH_HELPER_PY, KERN_PAIR_HELPERS_PY,
15
+ // Milestone C, Slice 3 — portable regex match-set result-shape helpers
16
+ // (`_kern_regex_match` / `_kern_regex_matchall`).
17
+ KERN_REGEX_MATCH_HELPER_PY, KERN_REGEX_MATCHALL_HELPER_PY, KERN_TMOD_HELPER_PY,
18
+ // Slice-0.75 ToNumericPrimitive substrate. PURE ADDITION: not yet wired into
19
+ // any prelude/helper-block registry and not routed through production — the
20
+ // differential battery (ir-semantics-to-number-py.test.ts) is its only
21
+ // consumer until the future routing slice.
22
+ KERN_TO_NUMBER_HELPER_PY, } from './helpers.js';
9
23
  // Quoted strings absorbed by the alternation; only literal `===`/`!==`
10
24
  // outside strings get rewritten. Both single and double quotes AND
11
25
  // backtick template literals are covered so a message like
@@ -198,6 +212,14 @@ function lowerArrowBlockClosure(arrow, ctx) {
198
212
  // Closure params are def-locals (never `nonlocal`); the lowerer excludes
199
213
  // them and block-locals from the written-free set.
200
214
  paramNames: arrow.params,
215
+ // Round-7 — the block-scope hooks are now REQUIRED (a missing wire is a
216
+ // compile error, no longer a silent fail-open). The route path screens host
217
+ // names through the `rewriteExpr` rewriter, NOT a per-block shadow stack, so
218
+ // it has no block-scope tracking to maintain here: it opts OUT explicitly
219
+ // with no-op (identity) implementations. This is the intentional route-path
220
+ // opt-out the interface documents — visible at the call site, not an accident.
221
+ enterBlockScope: () => { },
222
+ exitBlockScope: () => { },
201
223
  });
202
224
  if (!result.ok)
203
225
  return null;
@@ -950,7 +972,7 @@ function lowerMathBuiltinCalls(expr, imports) {
950
972
  break;
951
973
  case 'round':
952
974
  imports?.add('import math as __k_math');
953
- out += `__k_math.floor(${arg} + 0.5)`;
975
+ out += legacyJsRoundExpr(arg);
954
976
  break;
955
977
  case 'abs':
956
978
  out += `abs(${arg})`;
@@ -1042,6 +1064,9 @@ function lowerMathBuiltinCalls(expr, imports) {
1042
1064
  }
1043
1065
  return out;
1044
1066
  }
1067
+ function legacyJsRoundExpr(arg) {
1068
+ return `(lambda __k_n: __k_n if __k_n != __k_n or __k_n in (float("inf"), float("-inf")) or __k_n == 0 else (lambda __k_floor: (lambda __k_r: -0.0 if __k_r == 0 and __k_n < 0 else __k_r)(__k_floor + (1 if __k_n - __k_floor >= 0.5 else 0)))(__k_math.floor(__k_n)))(${arg})`;
1069
+ }
1045
1070
  // Find the start of the JS expression that ends just before the current position.
1046
1071
  function findReceiverStart(s) {
1047
1072
  let j = s.length - 1;
@@ -1519,8 +1544,72 @@ function lowerObjectArrayDateBuiltinCalls(expr, imports) {
1519
1544
  }
1520
1545
  return out;
1521
1546
  }
1547
+ // Normalize JS numeric word-literals (`Infinity`, `-Infinity`, `NaN`) that
1548
+ // reach the route-path Array.from `{length}` argument into their Python float
1549
+ // equivalents, respecting string/quote boundaries. The route pipeline's
1550
+ // `JS_LITERAL_RE` only rewrites `undefined|null|true|false`, so a bare
1551
+ // `Infinity`/`NaN` token survives to the emitted module as a Python NameError.
1552
+ // The Array.from length guard below feeds the count to `_kern_array_like_length`
1553
+ // via `{"length": <count>}`, so the count must be a valid Python value first.
1554
+ function normalizeNumericWordLiterals(expr) {
1555
+ let out = '';
1556
+ let i = 0;
1557
+ let quote = null;
1558
+ while (i < expr.length) {
1559
+ const c = expr[i];
1560
+ if (quote) {
1561
+ out += c;
1562
+ if (c === '\\') {
1563
+ out += expr[i + 1] ?? '';
1564
+ i += 2;
1565
+ continue;
1566
+ }
1567
+ if (c === quote)
1568
+ quote = null;
1569
+ i += 1;
1570
+ continue;
1571
+ }
1572
+ if (c === '"' || c === "'" || c === '`') {
1573
+ quote = c;
1574
+ out += c;
1575
+ i += 1;
1576
+ continue;
1577
+ }
1578
+ const rest = expr.slice(i);
1579
+ const prev = expr[i - 1];
1580
+ // Member access (`obj.Infinity`) must not be rewritten. The immediately-
1581
+ // previous char rules out the compact form; for the spaced form
1582
+ // (`obj . Infinity`) scan BACKWARD past contiguous whitespace and treat the
1583
+ // token as member access when the first non-whitespace char found is `.`.
1584
+ // A token at string-start (only whitespace before it) is NOT member access.
1585
+ let memberAccess = !!(prev && /[\w.$]/.test(prev));
1586
+ if (!memberAccess && prev !== undefined && /\s/.test(prev)) {
1587
+ let k = i - 1;
1588
+ while (k >= 0 && /\s/.test(expr[k]))
1589
+ k -= 1;
1590
+ if (k >= 0 && expr[k] === '.')
1591
+ memberAccess = true;
1592
+ }
1593
+ const wordOk = !memberAccess;
1594
+ const infM = wordOk ? rest.match(/^Infinity\b/) : null;
1595
+ if (infM && !/[\w$]/.test(expr[i + infM[0].length] ?? '')) {
1596
+ out += "float('inf')";
1597
+ i += infM[0].length;
1598
+ continue;
1599
+ }
1600
+ const nanM = wordOk ? rest.match(/^NaN\b/) : null;
1601
+ if (nanM && !/[\w$]/.test(expr[i + nanM[0].length] ?? '')) {
1602
+ out += "float('nan')";
1603
+ i += nanM[0].length;
1604
+ continue;
1605
+ }
1606
+ out += c;
1607
+ i += 1;
1608
+ }
1609
+ return out;
1610
+ }
1522
1611
  // Build the Python comprehension for one `Array.from(...)` call's argument list.
1523
- function tryLowerArrayFrom(args) {
1612
+ function tryLowerArrayFrom(args, imports) {
1524
1613
  if (args.length < 2)
1525
1614
  return null;
1526
1615
  const arg0 = args[0].trim();
@@ -1566,7 +1655,46 @@ function tryLowerArrayFrom(args) {
1566
1655
  if (inner.startsWith('{'))
1567
1656
  body = inner;
1568
1657
  }
1569
- return `[${lowerArrayFromCalls(body)} for ${idxVar} in range(${lowerArrayFromCalls(count)})]`;
1658
+ // The body is lowered for nested `Array.from`/stdlib calls but is NOT run
1659
+ // through `normalizeNumericWordLiterals`. KNOWN LIMITATION (deliberate,
1660
+ // fail-loud): a bare `Infinity`/`NaN` token in a mapper body — or an
1661
+ // object-literal KEY named `Infinity`/`NaN` (e.g. `() => ({Infinity: 1})`) —
1662
+ // emits a Python `NameError` (fail-loud) rather than being silently rewritten.
1663
+ // String-level normalization cannot distinguish a value position from an
1664
+ // object-literal key, because the object-key `:` is indistinguishable from a
1665
+ // ternary `:`. Rewriting the body therefore corrupts the JS string key
1666
+ // `"Infinity"` into `{float('inf'): 1}` (silent cross-target divergence), so
1667
+ // we choose the loud NameError over silent corruption. `normalizeNumericWordLiterals`
1668
+ // still runs on the COUNT below, where the position is unambiguous.
1669
+ const loweredBody = lowerArrayFromCalls(body, imports);
1670
+ // Fast-path for a statically-safe non-negative INTEGER literal count: emit the
1671
+ // clean `range(<literal>)` form with NO length helper and NO normalize pass.
1672
+ // `4294967295` (2**32-1) and below are valid JS array lengths (JS would also
1673
+ // materialize them), so `range(<literal>)` is correct parity and the common
1674
+ // case (`Array.from({length: 3}, …)`) pays zero helper/cold-start cost. A
1675
+ // literal `> 4294967295` (e.g. `9007199254740992`) MUST still throw, so it is
1676
+ // explicitly excluded here and routed through the guard below. Only a bare
1677
+ // non-negative integer qualifies — NOT floats (`3.5`), NOT signed (`-1`), NOT
1678
+ // identifiers/member-access/arithmetic/`Infinity`/`NaN`, all of which need the
1679
+ // `_kern_array_like_length` validation.
1680
+ const trimmedCount = count.trim();
1681
+ if (/^\d+$/.test(trimmedCount) && Number(trimmedCount) <= 4294967295) {
1682
+ return `[${loweredBody} for ${idxVar} in range(${trimmedCount})]`;
1683
+ }
1684
+ // Otherwise route the `{length: N}` count through the SAME validated length
1685
+ // helper the native-body path uses (`_kern_array_like_length`) instead of
1686
+ // emitting a raw `range(N)`. Without this guard the route path diverges from JS
1687
+ // (and from the already-correct native-body path): `Array.from({length:
1688
+ // Infinity}, …)` must throw a RangeError (not emit a Python NameError for
1689
+ // `Infinity`), a length above 2**32-1 must throw, and `NaN`/≤0 must yield an
1690
+ // empty array — never a 4-billion-element materialization (DoS).
1691
+ // `_kern_array_like_length` self-defines `RangeError`/`_KERN_UNDEFINED` via its
1692
+ // idempotent guards but calls `_kern_to_number`, so BOTH helper blocks are
1693
+ // required (mirrors the `array-host` requirement pairing in codegen-body-python).
1694
+ const loweredCount = normalizeNumericWordLiterals(lowerArrayFromCalls(count, imports));
1695
+ imports?.add(KERN_TO_NUMBER_HELPER_PY);
1696
+ imports?.add(KERN_JS_ARRAY_FROM_HELPER_PY);
1697
+ return `[${loweredBody} for ${idxVar} in range(_kern_array_like_length({"length": ${loweredCount}}))]`;
1570
1698
  }
1571
1699
  // Expand JS object-literal shorthand properties to explicit `key: key`.
1572
1700
  function expandObjectShorthand(expr) {
@@ -1615,7 +1743,7 @@ function expandObjectShorthand(expr) {
1615
1743
  return out;
1616
1744
  }
1617
1745
  // Lower `Array.from({ length: N }, (_, i) => BODY)` to a Python list comprehension.
1618
- function lowerArrayFromCalls(expr) {
1746
+ function lowerArrayFromCalls(expr, imports) {
1619
1747
  let out = '';
1620
1748
  let i = 0;
1621
1749
  let quote = null;
@@ -1645,7 +1773,7 @@ function lowerArrayFromCalls(expr) {
1645
1773
  const openIdx = i + m[0].length - 1;
1646
1774
  const closeIdx = matchBalancedParen(expr, openIdx);
1647
1775
  if (closeIdx !== -1 && expr[closeIdx + 1] !== '.') {
1648
- const lowered = tryLowerArrayFrom(splitTopLevelArgs(expr.slice(openIdx + 1, closeIdx)));
1776
+ const lowered = tryLowerArrayFrom(splitTopLevelArgs(expr.slice(openIdx + 1, closeIdx)), imports);
1649
1777
  if (lowered !== null) {
1650
1778
  out += lowered;
1651
1779
  i = closeIdx + 1;
@@ -2109,7 +2237,7 @@ export function rewriteExpr(expr, pathParams, bodyFields = new Set(), authUser =
2109
2237
  let result = maskedExpr;
2110
2238
  result = lowerSpreadElements(result);
2111
2239
  result = expandObjectShorthand(result);
2112
- result = lowerArrayFromCalls(result);
2240
+ result = lowerArrayFromCalls(result, imports);
2113
2241
  for (const param of pathParams) {
2114
2242
  result = result.replace(new RegExp(`\\bparams\\.${param}\\b`, 'g'), param);
2115
2243
  }