@kernlang/python 3.5.6-canary.199.1.c927d232 → 3.5.6-canary.202.1.31706b95

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 (61) hide show
  1. package/dist/adapters/django.d.ts +49 -0
  2. package/dist/adapters/django.js +151 -0
  3. package/dist/adapters/django.js.map +1 -0
  4. package/dist/adapters/fastapi.d.ts +43 -0
  5. package/dist/adapters/fastapi.js +139 -0
  6. package/dist/adapters/fastapi.js.map +1 -0
  7. package/dist/codegen-body-python.d.ts +51 -2
  8. package/dist/codegen-body-python.js +281 -26
  9. package/dist/codegen-body-python.js.map +1 -1
  10. package/dist/codegen-python.d.ts +1 -0
  11. package/dist/codegen-python.js +1 -1
  12. package/dist/codegen-python.js.map +1 -1
  13. package/dist/core/emit-imports.d.ts +11 -0
  14. package/dist/core/emit-imports.js +166 -0
  15. package/dist/core/emit-imports.js.map +1 -0
  16. package/dist/core/emit-models.d.ts +14 -0
  17. package/dist/core/emit-models.js +86 -0
  18. package/dist/core/emit-models.js.map +1 -0
  19. package/dist/core/expr/helpers.d.ts +5 -0
  20. package/dist/core/expr/helpers.js +62 -0
  21. package/dist/core/expr/helpers.js.map +1 -0
  22. package/dist/core/expr/index.d.ts +9 -0
  23. package/dist/core/expr/index.js +2046 -0
  24. package/dist/core/expr/index.js.map +1 -0
  25. package/dist/core/fence-diagnostics.d.ts +17 -0
  26. package/dist/core/fence-diagnostics.js +86 -0
  27. package/dist/core/fence-diagnostics.js.map +1 -0
  28. package/dist/core/handlers/index.d.ts +74 -0
  29. package/dist/core/handlers/index.js +462 -0
  30. package/dist/core/handlers/index.js.map +1 -0
  31. package/dist/core/index.d.ts +3 -0
  32. package/dist/core/index.js +4 -0
  33. package/dist/core/index.js.map +1 -0
  34. package/dist/core/type-mapper.d.ts +4 -0
  35. package/dist/core/type-mapper.js +8 -0
  36. package/dist/core/type-mapper.js.map +1 -0
  37. package/dist/fastapi-portable.d.ts +7 -1
  38. package/dist/fastapi-portable.js +97 -74
  39. package/dist/fastapi-portable.js.map +1 -1
  40. package/dist/fastapi-response.d.ts +0 -4
  41. package/dist/fastapi-response.js +1 -1868
  42. package/dist/fastapi-response.js.map +1 -1
  43. package/dist/fastapi-route.js +24 -3
  44. package/dist/fastapi-route.js.map +1 -1
  45. package/dist/fastapi-utils.d.ts +2 -1
  46. package/dist/fastapi-utils.js +2 -58
  47. package/dist/fastapi-utils.js.map +1 -1
  48. package/dist/generators/data.d.ts +3 -1
  49. package/dist/generators/data.js +28 -1
  50. package/dist/generators/data.js.map +1 -1
  51. package/dist/index.d.ts +4 -3
  52. package/dist/index.js +4 -3
  53. package/dist/index.js.map +1 -1
  54. package/dist/ir-semantics/python-leg.js +5 -0
  55. package/dist/ir-semantics/python-leg.js.map +1 -1
  56. package/dist/targets/python.d.ts +32 -0
  57. package/dist/targets/python.js +176 -0
  58. package/dist/targets/python.js.map +1 -0
  59. package/dist/transpiler-fastapi.js +23 -66
  60. package/dist/transpiler-fastapi.js.map +1 -1
  61. package/package.json +2 -2
@@ -5,8 +5,9 @@
5
5
  * into Python/FastAPI handler code.
6
6
  */
7
7
  import { getChildren, getFirstChild, getProps, isPostfixMutationOperator, isSupportedAssignOperator, } from '@kernlang/core';
8
+ import { extractExprCode, rewriteExpr } from './core/expr/index.js';
8
9
  import { isUnsupportedJsHandlerBody, unsupportedRawHandlerBody } from './fastapi-raw-handler.js';
9
- import { addRespondImports, extractExprCode, generateRespondFastAPI, rewriteFastAPIExpr } from './fastapi-response.js';
10
+ import { addRespondImports, generateRespondFastAPI } from './fastapi-response.js';
10
11
  import { escapePyStr, indentHandler } from './fastapi-utils.js';
11
12
  import { toSnakeCase } from './type-map.js';
12
13
  // Extract the code from a prop that may arrive as a `{{ ... }}` curly-
@@ -30,41 +31,25 @@ function extractCodeOrString(val) {
30
31
  return String(val);
31
32
  return '';
32
33
  }
33
- // Lower a prop value to a Python expression. Handles the JS-literal
34
- // translations that KERN authors expect to flow across the language
35
- // boundary: `null`/`undefined` → `None`, `true` → `True`, `false`
36
- // `False`. Anything else routes through `rewriteFastAPIExpr` so
37
- // that KERN idioms (`params.X`, `effectName.result`, etc.) lower
38
- // consistently regardless of which IR prop they live in.
39
- //
40
- // Review fix (Codex+Gemini B4 on 86e6b893): trim the extracted code
41
- // before comparing against literal names so `{{ true }}` (with internal
42
- // whitespace from KERN curly-expression syntax) maps to `True`, not the
43
- // invalid Python identifier `true`.
44
- function lowerPropToPython(val, pathParams, bodyFields, authUser, imports) {
45
- const raw = extractCodeOrString(val);
46
- const trimmed = raw.trim();
47
- if (trimmed === '' || trimmed === 'null' || trimmed === 'undefined')
48
- return 'None';
49
- if (trimmed === 'true')
50
- return 'True';
51
- if (trimmed === 'false')
52
- return 'False';
53
- // Pass the TRIMMED form to the rewriter — leading/trailing whitespace in
54
- // a curly-expression carries no semantic information and only risks
55
- // confusing any future anchor-based regex (Gemini defensive note on
56
- // commit 7a25348b).
57
- return rewriteFastAPIExpr(trimmed, pathParams, bodyFields, authUser, imports);
34
+ function indentHoistedDef(def, indent) {
35
+ return def.split('\n').map((line) => `${indent}${line}`);
36
+ }
37
+ function rewriteFastAPIStmtExpr(expr, indent, pathParams, bodyFields, authUser, imports, hoistCtx) {
38
+ const defs = [];
39
+ const rewritten = rewriteExpr(expr, pathParams, bodyFields, authUser, imports, defs, hoistCtx.seq);
40
+ return { expr: rewritten, hoists: defs.flatMap((def) => indentHoistedDef(def, indent)) };
58
41
  }
59
- export function generatePortableChildFastAPI(child, indent, pathParams, imports, bodyFields = new Set(), authUser = false, streamCtx) {
42
+ export function generatePortableChildFastAPI(child, indent, pathParams, imports, bodyFields = new Set(), authUser = false, streamCtx, closureHoistCtx) {
60
43
  const lines = [];
61
44
  const p = getProps(child);
45
+ const hoistCtx = closureHoistCtx ?? { seq: { n: 0 } };
62
46
  switch (child.type) {
63
47
  case 'derive': {
64
48
  const name = String(p.name || '');
65
49
  const exprCode = extractExprCode(p.expr);
66
50
  if (name && exprCode) {
67
- lines.push(`${indent}${toSnakeCase(name)} = ${rewriteFastAPIExpr(exprCode, pathParams, bodyFields, authUser, imports)}`);
51
+ const rewritten = rewriteFastAPIStmtExpr(exprCode, indent, pathParams, bodyFields, authUser, imports, hoistCtx);
52
+ lines.push(...rewritten.hoists, `${indent}${toSnakeCase(name)} = ${rewritten.expr}`);
68
53
  }
69
54
  break;
70
55
  }
@@ -79,10 +64,11 @@ export function generatePortableChildFastAPI(child, indent, pathParams, imports,
79
64
  if (!isSupportedAssignOperator(op)) {
80
65
  throw new Error(`portable route \`assign op="${op}"\` is not supported on the FastAPI target.`);
81
66
  }
82
- const lhs = rewriteFastAPIExpr(target, pathParams, bodyFields, authUser, imports);
67
+ const lhs = rewriteFastAPIStmtExpr(target, indent, pathParams, bodyFields, authUser, imports, hoistCtx);
68
+ lines.push(...lhs.hoists);
83
69
  if (isPostfixMutationOperator(op)) {
84
70
  // Python lacks `++`/`--`; lower to the canonical compound form.
85
- lines.push(`${indent}${lhs} ${op === '++' ? '+=' : '-='} 1`);
71
+ lines.push(`${indent}${lhs.expr} ${op === '++' ? '+=' : '-='} 1`);
86
72
  }
87
73
  else {
88
74
  const valueCode = extractExprCode(p.value);
@@ -92,8 +78,8 @@ export function generatePortableChildFastAPI(child, indent, pathParams, imports,
92
78
  if (!valueCode) {
93
79
  throw new Error('portable route `assign` requires `value=` for a non-postfix operator.');
94
80
  }
95
- const rhs = rewriteFastAPIExpr(valueCode, pathParams, bodyFields, authUser, imports);
96
- lines.push(`${indent}${lhs} ${op} ${rhs}`);
81
+ const rhs = rewriteFastAPIStmtExpr(valueCode, indent, pathParams, bodyFields, authUser, imports, hoistCtx);
82
+ lines.push(...rhs.hoists, `${indent}${lhs.expr} ${op} ${rhs.expr}`);
97
83
  }
98
84
  break;
99
85
  }
@@ -101,8 +87,10 @@ export function generatePortableChildFastAPI(child, indent, pathParams, imports,
101
87
  // Portable void side-effect: `do value="registry.register(provider)"` →
102
88
  // the bare call statement.
103
89
  const value = extractExprCode(p.value);
104
- if (value)
105
- lines.push(`${indent}${rewriteFastAPIExpr(value, pathParams, bodyFields, authUser, imports)}`);
90
+ if (value) {
91
+ const rewritten = rewriteFastAPIStmtExpr(value, indent, pathParams, bodyFields, authUser, imports, hoistCtx);
92
+ lines.push(...rewritten.hoists, `${indent}${rewritten.expr}`);
93
+ }
106
94
  break;
107
95
  }
108
96
  case 'guard': {
@@ -112,7 +100,8 @@ export function generatePortableChildFastAPI(child, indent, pathParams, imports,
112
100
  const elseMessage = typeof p.message === 'string' ? p.message : name ? `${name} guard failed` : 'Guard failed';
113
101
  if (exprCode) {
114
102
  imports.add('from fastapi import HTTPException');
115
- lines.push(`${indent}if not (${rewriteFastAPIExpr(exprCode, pathParams, bodyFields, authUser, imports)}):`);
103
+ const rewritten = rewriteFastAPIStmtExpr(exprCode, indent, pathParams, bodyFields, authUser, imports, hoistCtx);
104
+ lines.push(...rewritten.hoists, `${indent}if not (${rewritten.expr}):`);
116
105
  lines.push(`${indent} raise HTTPException(status_code=${elseStatus}, detail="${escapePyStr(elseMessage)}")`);
117
106
  }
118
107
  break;
@@ -140,26 +129,36 @@ export function generatePortableChildFastAPI(child, indent, pathParams, imports,
140
129
  // yields its code rather than `String({__expr})` → "[object Object]";
141
130
  // plain identifiers (`json=user`) pass through unchanged.
142
131
  const clonedRespond = { ...child, props: { ...child.props } };
143
- if (clonedRespond.props.json)
144
- clonedRespond.props.json = rewriteFastAPIExpr(extractExprCode(clonedRespond.props.json), pathParams, bodyFields, authUser, imports);
145
- if (clonedRespond.props.text)
146
- clonedRespond.props.text = rewriteFastAPIExpr(extractExprCode(clonedRespond.props.text), pathParams, bodyFields, authUser, imports);
132
+ if (clonedRespond.props.json) {
133
+ const rewritten = rewriteFastAPIStmtExpr(extractExprCode(clonedRespond.props.json), indent, pathParams, bodyFields, authUser, imports, hoistCtx);
134
+ lines.push(...rewritten.hoists);
135
+ clonedRespond.props.json = rewritten.expr;
136
+ }
137
+ if (clonedRespond.props.text) {
138
+ const rewritten = rewriteFastAPIStmtExpr(extractExprCode(clonedRespond.props.text), indent, pathParams, bodyFields, authUser, imports, hoistCtx);
139
+ lines.push(...rewritten.hoists);
140
+ clonedRespond.props.text = rewritten.expr;
141
+ }
147
142
  addRespondImports(clonedRespond, imports);
148
143
  lines.push(...generateRespondFastAPI(clonedRespond, indent));
149
144
  break;
150
145
  }
151
146
  case 'branch': {
152
- const on = lowerPropToPython(p.on, pathParams, bodyFields, authUser, imports);
147
+ const onSource = extractCodeOrString(p.on);
148
+ const on = onSource.trim() === '' || onSource.trim() === 'null' || onSource.trim() === 'undefined'
149
+ ? { expr: 'None', hoists: [] }
150
+ : rewriteFastAPIStmtExpr(onSource.trim(), indent, pathParams, bodyFields, authUser, imports, hoistCtx);
151
+ lines.push(...on.hoists);
153
152
  const paths = getChildren(child, 'path');
154
153
  for (let i = 0; i < paths.length; i++) {
155
154
  const pathNode = paths[i];
156
155
  const pp = getProps(pathNode);
157
156
  const value = String(pp.value || '');
158
157
  const keyword = i === 0 ? 'if' : 'elif';
159
- lines.push(`${indent}${keyword} ${on} == "${escapePyStr(value)}":`);
158
+ lines.push(`${indent}${keyword} ${on.expr} == "${escapePyStr(value)}":`);
160
159
  const bodyStart = lines.length;
161
160
  for (const pathChild of pathNode.children || []) {
162
- lines.push(...generatePortableChildFastAPI(pathChild, `${indent} `, pathParams, imports, bodyFields, authUser, streamCtx));
161
+ lines.push(...generatePortableChildFastAPI(pathChild, `${indent} `, pathParams, imports, bodyFields, authUser, streamCtx, hoistCtx));
163
162
  }
164
163
  if (lines.length === bodyStart)
165
164
  lines.push(`${indent} pass`);
@@ -176,25 +175,27 @@ export function generatePortableChildFastAPI(child, indent, pathParams, imports,
176
175
  break;
177
176
  const valueCode = extractExprCode(p.value) || extractExprCode(p.expr);
178
177
  if (valueCode) {
179
- lines.push(`${indent}${name} = ${rewriteFastAPIExpr(valueCode, pathParams, bodyFields, authUser, imports)}`);
178
+ const rewritten = rewriteFastAPIStmtExpr(valueCode, indent, pathParams, bodyFields, authUser, imports, hoistCtx);
179
+ lines.push(...rewritten.hoists, `${indent}${name} = ${rewritten.expr}`);
180
180
  }
181
181
  break;
182
182
  }
183
183
  case 'each': {
184
184
  const name = String(p.name || 'item');
185
- const collection = rewriteFastAPIExpr(extractExprCode(p.in) || String(p.in || ''), pathParams, bodyFields, authUser, imports);
185
+ const collection = rewriteFastAPIStmtExpr(extractExprCode(p.in) || String(p.in || ''), indent, pathParams, bodyFields, authUser, imports, hoistCtx);
186
+ lines.push(...collection.hoists);
186
187
  const index = p.index ? String(p.index) : undefined;
187
188
  const isAwait = p.await === true || p.await === 'true';
188
189
  if (isAwait) {
189
190
  // `each await=true` → `async for x in <aiter>:`. Cannot combine with
190
191
  // `index=` (rejected by the core validator), so no enumerate() branch.
191
- lines.push(`${indent}async for ${name} in ${collection}:`);
192
+ lines.push(`${indent}async for ${name} in ${collection.expr}:`);
192
193
  }
193
194
  else if (index) {
194
- lines.push(`${indent}for ${index}, ${name} in enumerate(${collection}):`);
195
+ lines.push(`${indent}for ${index}, ${name} in enumerate(${collection.expr}):`);
195
196
  }
196
197
  else {
197
- lines.push(`${indent}for ${name} in ${collection}:`);
198
+ lines.push(`${indent}for ${name} in ${collection.expr}:`);
198
199
  }
199
200
  const bodyStart = lines.length;
200
201
  if (isAwait && streamCtx?.abortExpr) {
@@ -203,7 +204,7 @@ export function generatePortableChildFastAPI(child, indent, pathParams, imports,
203
204
  lines.push(`${indent} break`);
204
205
  }
205
206
  for (const eachChild of child.children || []) {
206
- lines.push(...generatePortableChildFastAPI(eachChild, `${indent} `, pathParams, imports, bodyFields, authUser, streamCtx));
207
+ lines.push(...generatePortableChildFastAPI(eachChild, `${indent} `, pathParams, imports, bodyFields, authUser, streamCtx, hoistCtx));
207
208
  }
208
209
  if (lines.length === bodyStart)
209
210
  lines.push(`${indent} pass`);
@@ -219,7 +220,8 @@ export function generatePortableChildFastAPI(child, indent, pathParams, imports,
219
220
  // one generator don't collide.
220
221
  imports.add('import asyncio');
221
222
  const name = String(p.name || 'item');
222
- const collection = rewriteFastAPIExpr(extractExprCode(p.in) || String(p.in || ''), pathParams, bodyFields, authUser, imports);
223
+ const collection = rewriteFastAPIStmtExpr(extractExprCode(p.in) || String(p.in || ''), indent, pathParams, bodyFields, authUser, imports, hoistCtx);
224
+ lines.push(...collection.hoists);
223
225
  // Suffix with the loop var AND a per-stream sequence so sibling fan-outs
224
226
  // sharing a name (`fanout name=item` twice) don't collide in the shared
225
227
  // generator scope.
@@ -248,10 +250,10 @@ export function generatePortableChildFastAPI(child, indent, pathParams, imports,
248
250
  lines.push(`${indent} if await request.is_disconnected():`);
249
251
  lines.push(`${indent} return`);
250
252
  for (const fanChild of child.children || []) {
251
- lines.push(...generatePortableChildFastAPI(fanChild, `${indent} `, pathParams, imports, bodyFields, authUser, producerCtx));
253
+ lines.push(...generatePortableChildFastAPI(fanChild, `${indent} `, pathParams, imports, bodyFields, authUser, producerCtx, hoistCtx));
252
254
  }
253
255
  lines.push(`${indent}async def ${merge}():`);
254
- lines.push(`${indent} await asyncio.gather(*[${producer}(${name}) for ${name} in ${collection}], return_exceptions=True)`);
256
+ lines.push(`${indent} await asyncio.gather(*[${producer}(${name}) for ${name} in ${collection.expr}], return_exceptions=True)`);
255
257
  lines.push(`${indent} await ${q}.put(${done})`);
256
258
  lines.push(`${indent}${mergeTask} = asyncio.create_task(${merge}())`);
257
259
  lines.push(`${indent}try:`);
@@ -280,7 +282,8 @@ export function generatePortableChildFastAPI(child, indent, pathParams, imports,
280
282
  if (!value)
281
283
  break;
282
284
  imports.add('import json');
283
- const rewritten = rewriteFastAPIExpr(value, pathParams, bodyFields, authUser, imports);
285
+ const rewritten = rewriteFastAPIStmtExpr(value, indent, pathParams, bodyFields, authUser, imports, hoistCtx);
286
+ lines.push(...rewritten.hoists);
284
287
  const evName = typeof p.event === 'string' && p.event ? p.event : undefined;
285
288
  // String concatenation, NOT an f-string: a rewritten object/dict payload
286
289
  // (`{{ {type: x} }}` → `{"type": x}`) contains double quotes that would
@@ -288,8 +291,8 @@ export function generatePortableChildFastAPI(child, indent, pathParams, imports,
288
291
  // Python < 3.12 (PEP 701). Concatenation sidesteps the nesting entirely
289
292
  // (Codex P1 on slice 4c).
290
293
  const frame = evName
291
- ? `"event: ${escapePyStr(evName)}\\ndata: " + json.dumps(${rewritten}) + "\\n\\n"`
292
- : `"data: " + json.dumps(${rewritten}) + "\\n\\n"`;
294
+ ? `"event: ${escapePyStr(evName)}\\ndata: " + json.dumps(${rewritten.expr}) + "\\n\\n"`
295
+ : `"data: " + json.dumps(${rewritten.expr}) + "\\n\\n"`;
293
296
  if (streamCtx?.queueVar) {
294
297
  lines.push(`${indent}await ${streamCtx.queueVar}.put(${frame})`);
295
298
  }
@@ -321,14 +324,15 @@ export function generatePortableChildFastAPI(child, indent, pathParams, imports,
321
324
  'all',
322
325
  ]);
323
326
  const collectName = PY_BUILTINS.has(rawName) ? `${rawName}_result` : rawName;
324
- const from = lowerPropToPython(p.from, pathParams, bodyFields, authUser, imports);
327
+ const from = rewriteFastAPIStmtExpr(extractCodeOrString(p.from).trim(), indent, pathParams, bodyFields, authUser, imports, hoistCtx);
328
+ lines.push(...from.hoists);
325
329
  const where = p.where ? extractExprCode(p.where) : undefined;
326
330
  // `limit` is typically a literal integer (`limit=10`) but can be a
327
331
  // curly-expression (`limit={{params.max}}`) — route through the same
328
332
  // helper used for from/order so the `[object Object]` bug class
329
333
  // doesn't lurk here either (Gemini M3 on 86e6b893).
330
334
  const limit = p.limit !== undefined && p.limit !== null && p.limit !== ''
331
- ? lowerPropToPython(p.limit, pathParams, bodyFields, authUser, imports)
335
+ ? rewriteFastAPIStmtExpr(extractCodeOrString(p.limit).trim(), indent, pathParams, bodyFields, authUser, imports, hoistCtx)
332
336
  : undefined;
333
337
  // Compute order in two stages so we can suppress `sorted()`
334
338
  // emission entirely when the source value resolves to absent / null
@@ -346,20 +350,33 @@ export function generatePortableChildFastAPI(child, indent, pathParams, imports,
346
350
  const orderSourceTrimmed = extractCodeOrString(p.order).trim();
347
351
  const order = orderSourceTrimmed === '' || orderSourceTrimmed === 'null' || orderSourceTrimmed === 'undefined'
348
352
  ? undefined
349
- : lowerPropToPython(p.order, pathParams, bodyFields, authUser, imports);
353
+ : rewriteFastAPIStmtExpr(orderSourceTrimmed, indent, pathParams, bodyFields, authUser, imports, hoistCtx);
354
+ if (limit)
355
+ lines.push(...limit.hoists);
356
+ if (order)
357
+ lines.push(...order.hoists);
350
358
  if (where && !order && !limit) {
351
- lines.push(`${indent}${collectName} = [item for item in ${from} if ${rewriteFastAPIExpr(where, pathParams, bodyFields, authUser, imports)}]`);
359
+ const whereExpr = rewriteFastAPIStmtExpr(where, indent, pathParams, bodyFields, authUser, imports, hoistCtx);
360
+ lines.push(...whereExpr.hoists);
361
+ lines.push(`${indent}${collectName} = [item for item in ${from.expr} if ${whereExpr.expr}]`);
352
362
  }
353
363
  else {
354
- lines.push(`${indent}${collectName} = ${from}`);
355
- if (where)
356
- lines.push(`${indent}${collectName} = [item for item in ${collectName} if ${rewriteFastAPIExpr(where, pathParams, bodyFields, authUser, imports)}]`);
357
- if (order)
358
- // `order` already routed through `lowerPropToPython` above (which
359
- // includes the rewriter), so no second `rewriteFastAPIExpr` call.
360
- lines.push(`${indent}${collectName} = sorted(${collectName}, key=lambda item: ${order})`);
364
+ lines.push(`${indent}${collectName} = ${from.expr}`);
365
+ if (where) {
366
+ const whereExpr = rewriteFastAPIStmtExpr(where, indent, pathParams, bodyFields, authUser, imports, hoistCtx);
367
+ lines.push(...whereExpr.hoists, `${indent}${collectName} = [item for item in ${collectName} if ${whereExpr.expr}]`);
368
+ }
369
+ if (order) {
370
+ // `order` is a COMPARATOR expression over a/b — the Express and ground-layer
371
+ // targets both emit `.sort((a, b) => <order>)`, and JS is the declared reference
372
+ // (scripts/conformance.mjs header). Python must reproduce that, so wrap with
373
+ // cmp_to_key; a 1-arg `key=lambda item: <order>` was the divergent outlier and
374
+ // NameErrors on the a/b operands. (`order` already routed through lowerPropToPython.)
375
+ imports.add('from functools import cmp_to_key');
376
+ lines.push(`${indent}${collectName} = sorted(${collectName}, key=cmp_to_key(lambda a, b: ${order.expr}))`);
377
+ }
361
378
  if (limit)
362
- lines.push(`${indent}${collectName} = ${collectName}[:${limit}]`);
379
+ lines.push(`${indent}${collectName} = ${collectName}[:${limit.expr}]`);
363
380
  }
364
381
  break;
365
382
  }
@@ -410,22 +427,26 @@ export function generatePortableChildFastAPI(child, indent, pathParams, imports,
410
427
  triggerExpr = '';
411
428
  }
412
429
  const retryCount = recoverNode ? parseInt(String(getProps(recoverNode).retry || '0'), 10) : 0;
413
- const pyFallback = lowerPropToPython(recoverNode ? getProps(recoverNode).fallback : undefined, pathParams, bodyFields, authUser, imports);
430
+ const pyFallback = rewriteFastAPIStmtExpr(extractCodeOrString(recoverNode ? getProps(recoverNode).fallback : undefined).trim() || 'None', indent, pathParams, bodyFields, authUser, imports, hoistCtx);
431
+ const trigger = triggerExpr
432
+ ? rewriteFastAPIStmtExpr(triggerExpr, indent, pathParams, bodyFields, authUser, imports, hoistCtx)
433
+ : { expr: 'None', hoists: [] };
434
+ lines.push(...pyFallback.hoists, ...trigger.hoists);
414
435
  if (retryCount > 0) {
415
- lines.push(`${indent}${effectName} = ${pyFallback}`);
436
+ lines.push(`${indent}${effectName} = ${pyFallback.expr}`);
416
437
  lines.push(`${indent}for _attempt in range(${retryCount}):`);
417
438
  lines.push(`${indent} try:`);
418
- lines.push(`${indent} ${effectName} = ${rewriteFastAPIExpr(triggerExpr, pathParams, bodyFields, authUser, imports)}`);
439
+ lines.push(`${indent} ${effectName} = ${trigger.expr}`);
419
440
  lines.push(`${indent} break`);
420
441
  lines.push(`${indent} except Exception:`);
421
442
  lines.push(`${indent} if _attempt == ${retryCount - 1}:`);
422
- lines.push(`${indent} ${effectName} = ${pyFallback}`);
443
+ lines.push(`${indent} ${effectName} = ${pyFallback.expr}`);
423
444
  }
424
445
  else {
425
446
  lines.push(`${indent}try:`);
426
- lines.push(`${indent} ${effectName} = ${rewriteFastAPIExpr(triggerExpr, pathParams, bodyFields, authUser, imports)}`);
447
+ lines.push(`${indent} ${effectName} = ${trigger.expr}`);
427
448
  lines.push(`${indent}except Exception:`);
428
- lines.push(`${indent} ${effectName} = ${pyFallback}`);
449
+ lines.push(`${indent} ${effectName} = ${pyFallback.expr}`);
429
450
  }
430
451
  break;
431
452
  }
@@ -450,9 +471,10 @@ export function generatePortableHandlerFastAPI(routeNode, indent, pathParams, im
450
471
  'assign',
451
472
  'do',
452
473
  ]);
474
+ const hoistCtx = { seq: { n: 0 } };
453
475
  for (const child of children) {
454
476
  if (PORTABLE_TYPES.has(child.type)) {
455
- lines.push(...generatePortableChildFastAPI(child, indent, pathParams, imports, bodyFields, authUser));
477
+ lines.push(...generatePortableChildFastAPI(child, indent, pathParams, imports, bodyFields, authUser, undefined, hoistCtx));
456
478
  }
457
479
  }
458
480
  return lines;
@@ -476,9 +498,10 @@ export function generatePortableStreamFastAPI(streamNode, indent, pathParams, im
476
498
  // client-disconnect check (the route signature always injects `request`).
477
499
  // `fanoutSeq` uniquifies helper names across every fan-out in this generator.
478
500
  const ctx = { abortExpr: 'await request.is_disconnected()', fanoutSeq: { n: 0 } };
501
+ const hoistCtx = { seq: { n: 0 } };
479
502
  for (const child of streamNode.children || []) {
480
503
  if (PORTABLE_STREAM_TYPES.has(child.type)) {
481
- lines.push(...generatePortableChildFastAPI(child, indent, pathParams, imports, bodyFields, authUser, ctx));
504
+ lines.push(...generatePortableChildFastAPI(child, indent, pathParams, imports, bodyFields, authUser, ctx, hoistCtx));
482
505
  }
483
506
  }
484
507
  return lines;
@@ -1 +1 @@
1
- {"version":3,"file":"fastapi-portable.js","sourceRoot":"","sources":["../src/fastapi-portable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fastapi-portable.js","sourceRoot":"","sources":["../src/fastapi-portable.ts"],"names":[],"mappings":"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"}
@@ -2,12 +2,8 @@
2
2
  * Response helpers for the FastAPI transpiler.
3
3
  *
4
4
  * generateRespondFastAPI — IR respond node → Python return/raise statements
5
- * rewriteFastAPIExpr — rewrite portable request references to FastAPI equivalents
6
- * extractExprCode — extract expression code from IR prop
7
5
  * addRespondImports — add necessary imports for respond node
8
6
  */
9
7
  import type { IRNode } from '@kernlang/core';
10
8
  export declare function generateRespondFastAPI(respondNode: IRNode, indent: string): string[];
11
- export declare function rewriteFastAPIExpr(expr: string, pathParams: string[], bodyFields?: Set<string>, authUser?: boolean, imports?: Set<string>): string;
12
- export declare function extractExprCode(prop: unknown): string;
13
9
  export declare function addRespondImports(respondNode: IRNode, imports: Set<string>): void;