@kernlang/python 3.5.6-canary.195.1.72010f21 → 3.5.6

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