theokit 0.73.0 → 0.74.1

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 (131) hide show
  1. package/README.md +2 -0
  2. package/dist/{actions-virtual-module-OHENNMQG.js → actions-virtual-module-J2HYO7QZ.js} +4 -4
  3. package/dist/{actions-virtual-module-QCDKQ6QD.js → actions-virtual-module-JV7URROJ.js} +5 -5
  4. package/dist/adapters/agent-mount.js +3 -3
  5. package/dist/adapters/security-headers.js +9 -4
  6. package/dist/adapters/security-headers.js.map +1 -1
  7. package/dist/{agent-OWJ5A7W5.js → agent-5J7CQAYR.js} +3 -3
  8. package/dist/{app-typed-client-ILLQYTXP.js → app-typed-client-EOA3A2AR.js} +5 -5
  9. package/dist/{app-typed-client-ILLQYTXP.js.map → app-typed-client-EOA3A2AR.js.map} +1 -1
  10. package/dist/{app-typed-client-2PTK2SJH.js → app-typed-client-XD4DZBV7.js} +6 -6
  11. package/dist/app-typed-client-XD4DZBV7.js.map +1 -0
  12. package/dist/{aws-lambda-OP2L5RKZ.js → aws-lambda-ZYSPTD3O.js} +61 -27
  13. package/dist/aws-lambda-ZYSPTD3O.js.map +1 -0
  14. package/dist/{build-CVP2XU5M.js → build-7YZSJGP2.js} +79 -72
  15. package/dist/build-7YZSJGP2.js.map +1 -0
  16. package/dist/{bun-CZXHPK2W.js → bun-I7YM3RDB.js} +81 -20
  17. package/dist/bun-I7YM3RDB.js.map +1 -0
  18. package/dist/{chunk-WBB3MEEN.js → chunk-2NG5T77O.js} +47 -12
  19. package/dist/{chunk-WBB3MEEN.js.map → chunk-2NG5T77O.js.map} +1 -1
  20. package/dist/{chunk-NO6HA4FG.js → chunk-4WP7A7RX.js} +41 -35
  21. package/dist/chunk-4WP7A7RX.js.map +1 -0
  22. package/dist/chunk-4X43VTST.js +31 -0
  23. package/dist/chunk-4X43VTST.js.map +1 -0
  24. package/dist/{chunk-FHQP23Z5.js → chunk-6R5F5YF2.js} +17 -14
  25. package/dist/chunk-6R5F5YF2.js.map +1 -0
  26. package/dist/chunk-72RSCKMW.js +53 -0
  27. package/dist/chunk-72RSCKMW.js.map +1 -0
  28. package/dist/{chunk-SEGD3JUC.js → chunk-EQJF2EH5.js} +8 -7
  29. package/dist/chunk-EQJF2EH5.js.map +1 -0
  30. package/dist/{chunk-6U67SO5U.js → chunk-HK57MPSZ.js} +2 -2
  31. package/dist/{chunk-R7G2B2WH.js → chunk-HKF6YNY4.js} +17 -14
  32. package/dist/{chunk-R7G2B2WH.js.map → chunk-HKF6YNY4.js.map} +1 -1
  33. package/dist/chunk-IJQQNHL7.js +34 -0
  34. package/dist/chunk-IJQQNHL7.js.map +1 -0
  35. package/dist/chunk-NPQ5A3RU.js +53 -0
  36. package/dist/chunk-NPQ5A3RU.js.map +1 -0
  37. package/dist/{chunk-D3M7LPHY.js → chunk-NQZIQJFH.js} +57 -17
  38. package/dist/{chunk-D3M7LPHY.js.map → chunk-NQZIQJFH.js.map} +1 -1
  39. package/dist/{chunk-M3DT6EMK.js → chunk-QAS5SKZP.js} +2 -2
  40. package/dist/{chunk-WRHT5NAJ.js → chunk-QX5Q3FBJ.js} +57 -17
  41. package/dist/chunk-QX5Q3FBJ.js.map +1 -0
  42. package/dist/{chunk-HDAILYVM.js → chunk-SG62LZOJ.js} +3 -3
  43. package/dist/{chunk-EDBQM6RB.js → chunk-SHIXTMQE.js} +47 -12
  44. package/dist/{chunk-EDBQM6RB.js.map → chunk-SHIXTMQE.js.map} +1 -1
  45. package/dist/{chunk-G7U7FQVC.js → chunk-UFBBFP75.js} +13 -3
  46. package/dist/chunk-UFBBFP75.js.map +1 -0
  47. package/dist/{chunk-4CIHLTSI.js → chunk-V7ISZGNS.js} +45 -39
  48. package/dist/chunk-V7ISZGNS.js.map +1 -0
  49. package/dist/{chunk-RCFD5W5V.js → chunk-WR5B2XNT.js} +6 -6
  50. package/dist/chunk-WR5B2XNT.js.map +1 -0
  51. package/dist/{chunk-R36YNWBU.js → chunk-XLFDYTWO.js} +2 -2
  52. package/dist/cli/index.js +8 -8
  53. package/dist/{cloudflare-2SVRRVV5.js → cloudflare-Q5SUXRXY.js} +184 -82
  54. package/dist/cloudflare-Q5SUXRXY.js.map +1 -0
  55. package/dist/{config-support-SB5NDQZB.js → config-support-MOZYHRWG.js} +13 -2
  56. package/dist/{config-support-SB5NDQZB.js.map → config-support-MOZYHRWG.js.map} +1 -1
  57. package/dist/{deno-deploy-OK4QFJIZ.js → deno-deploy-XW3Q6OMD.js} +109 -11
  58. package/dist/deno-deploy-XW3Q6OMD.js.map +1 -0
  59. package/dist/{dev-B2IZEVAD.js → dev-FZ4OTCPT.js} +7 -7
  60. package/dist/{dev-emit-7KZFUA7M.js → dev-emit-T3X6RR7M.js} +5 -5
  61. package/dist/{dev-emit-7KZFUA7M.js.map → dev-emit-T3X6RR7M.js.map} +1 -1
  62. package/dist/{dev-emit-JPJJFBXL.js → dev-emit-ZK5GCHXN.js} +6 -6
  63. package/dist/dev-emit-ZK5GCHXN.js.map +1 -0
  64. package/dist/index.js +5 -5
  65. package/dist/{internal-api-5Y3MLZH4.js → internal-api-GKPJYL3G.js} +5 -5
  66. package/dist/{internal-api-6XNLCNI5.js → internal-api-ZUBUYGCQ.js} +4 -4
  67. package/dist/{mcp-GJQIREYC.js → mcp-VUHRRX36.js} +3 -3
  68. package/dist/{netlify-IAC53FVZ.js → netlify-ALPCTQFO.js} +158 -48
  69. package/dist/netlify-ALPCTQFO.js.map +1 -0
  70. package/dist/{node-QUGTW6XV.js → node-4HQO6KKZ.js} +2 -2
  71. package/dist/{openapi-Q53YOBIU.js → openapi-C4UX2SFV.js} +5 -5
  72. package/dist/openapi-C4UX2SFV.js.map +1 -0
  73. package/dist/{preview-XBP622HM.js → preview-II33QNAC.js} +3 -3
  74. package/dist/registry-WVUO2WNR.js +34 -0
  75. package/dist/registry-WVUO2WNR.js.map +1 -0
  76. package/dist/{routes-FDF4SLOB.js → routes-3PTNISSO.js} +2 -2
  77. package/dist/server/index.js +2 -2
  78. package/dist/server/scan/index.d.ts +38 -2
  79. package/dist/server/scan/index.js +2 -2
  80. package/dist/{server-boundary-IFIYNGTA.js → server-boundary-QCJNECJP.js} +5 -5
  81. package/dist/{server-boundary-E5GFVPLB.js → server-boundary-RTRPHX5I.js} +4 -4
  82. package/dist/{start-JGNBTTG2.js → start-EREUCSN6.js} +6 -6
  83. package/dist/{static-NQPLPAB6.js → static-7LP7LPGN.js} +2 -2
  84. package/dist/theo-cloud-GIA67L4Q.js +40 -0
  85. package/dist/theo-cloud-GIA67L4Q.js.map +1 -0
  86. package/dist/{vercel-EHAOKPF7.js → vercel-VLR52RXT.js} +173 -73
  87. package/dist/vercel-VLR52RXT.js.map +1 -0
  88. package/dist/vite-plugin/index.d.ts +10 -1
  89. package/dist/vite-plugin/index.js +7 -5
  90. package/dist/{vite-plugin-54XIRMKT.js → vite-plugin-3LTZJTUM.js} +9 -7
  91. package/package.json +5 -5
  92. package/dist/app-typed-client-2PTK2SJH.js.map +0 -1
  93. package/dist/aws-lambda-OP2L5RKZ.js.map +0 -1
  94. package/dist/build-CVP2XU5M.js.map +0 -1
  95. package/dist/bun-CZXHPK2W.js.map +0 -1
  96. package/dist/chunk-4CIHLTSI.js.map +0 -1
  97. package/dist/chunk-FHQP23Z5.js.map +0 -1
  98. package/dist/chunk-G7U7FQVC.js.map +0 -1
  99. package/dist/chunk-NO6HA4FG.js.map +0 -1
  100. package/dist/chunk-RCFD5W5V.js.map +0 -1
  101. package/dist/chunk-SEGD3JUC.js.map +0 -1
  102. package/dist/chunk-WRHT5NAJ.js.map +0 -1
  103. package/dist/cloudflare-2SVRRVV5.js.map +0 -1
  104. package/dist/deno-deploy-OK4QFJIZ.js.map +0 -1
  105. package/dist/dev-emit-JPJJFBXL.js.map +0 -1
  106. package/dist/netlify-IAC53FVZ.js.map +0 -1
  107. package/dist/openapi-Q53YOBIU.js.map +0 -1
  108. package/dist/registry-L6JG75LY.js +0 -23
  109. package/dist/registry-L6JG75LY.js.map +0 -1
  110. package/dist/theo-cloud-HMFNZ3FS.js +0 -33
  111. package/dist/theo-cloud-HMFNZ3FS.js.map +0 -1
  112. package/dist/vercel-EHAOKPF7.js.map +0 -1
  113. /package/dist/{actions-virtual-module-OHENNMQG.js.map → actions-virtual-module-J2HYO7QZ.js.map} +0 -0
  114. /package/dist/{actions-virtual-module-QCDKQ6QD.js.map → actions-virtual-module-JV7URROJ.js.map} +0 -0
  115. /package/dist/{agent-OWJ5A7W5.js.map → agent-5J7CQAYR.js.map} +0 -0
  116. /package/dist/{chunk-6U67SO5U.js.map → chunk-HK57MPSZ.js.map} +0 -0
  117. /package/dist/{chunk-M3DT6EMK.js.map → chunk-QAS5SKZP.js.map} +0 -0
  118. /package/dist/{chunk-HDAILYVM.js.map → chunk-SG62LZOJ.js.map} +0 -0
  119. /package/dist/{chunk-R36YNWBU.js.map → chunk-XLFDYTWO.js.map} +0 -0
  120. /package/dist/{dev-B2IZEVAD.js.map → dev-FZ4OTCPT.js.map} +0 -0
  121. /package/dist/{internal-api-5Y3MLZH4.js.map → internal-api-GKPJYL3G.js.map} +0 -0
  122. /package/dist/{internal-api-6XNLCNI5.js.map → internal-api-ZUBUYGCQ.js.map} +0 -0
  123. /package/dist/{mcp-GJQIREYC.js.map → mcp-VUHRRX36.js.map} +0 -0
  124. /package/dist/{node-QUGTW6XV.js.map → node-4HQO6KKZ.js.map} +0 -0
  125. /package/dist/{preview-XBP622HM.js.map → preview-II33QNAC.js.map} +0 -0
  126. /package/dist/{routes-FDF4SLOB.js.map → routes-3PTNISSO.js.map} +0 -0
  127. /package/dist/{server-boundary-IFIYNGTA.js.map → server-boundary-QCJNECJP.js.map} +0 -0
  128. /package/dist/{server-boundary-E5GFVPLB.js.map → server-boundary-RTRPHX5I.js.map} +0 -0
  129. /package/dist/{start-JGNBTTG2.js.map → start-EREUCSN6.js.map} +0 -0
  130. /package/dist/{static-NQPLPAB6.js.map → static-7LP7LPGN.js.map} +0 -0
  131. /package/dist/{vite-plugin-54XIRMKT.js.map → vite-plugin-3LTZJTUM.js.map} +0 -0
@@ -2239,20 +2239,52 @@ function encodeSse(text) {
2239
2239
  }
2240
2240
  function durableUiMessageStreamResponse(chunks, deps) {
2241
2241
  const { runId, cache } = deps;
2242
+ const iterator = chunks[Symbol.asyncIterator]();
2243
+ let finished = false;
2244
+ function endCachedRun() {
2245
+ try {
2246
+ cache.end(runId);
2247
+ } catch (err) {
2248
+ console.error(
2249
+ `[theokit] durable run ${runId}: cache.end failed, so a reconnect replay may be stale:`,
2250
+ err
2251
+ );
2252
+ }
2253
+ }
2254
+ function finish(controller) {
2255
+ if (finished) return;
2256
+ finished = true;
2257
+ endCachedRun();
2258
+ try {
2259
+ controller.enqueue(encodeSse(SSE_DONE_FRAME));
2260
+ controller.close();
2261
+ } catch (err) {
2262
+ console.error(
2263
+ `[theokit] durable run ${runId}: could not terminate a stream nobody is reading:`,
2264
+ err
2265
+ );
2266
+ }
2267
+ }
2242
2268
  const stream = new ReadableStream({
2243
- async start(controller) {
2269
+ async pull(controller) {
2270
+ if (finished) return;
2244
2271
  try {
2245
- for await (const chunk of chunks) {
2246
- const data = JSON.stringify(chunk);
2247
- const seq = cache.append(runId, data);
2248
- controller.enqueue(encodeSse(formatSseFrame(seq, data)));
2272
+ const next = await iterator.next();
2273
+ if (next.done === true) {
2274
+ finish(controller);
2275
+ return;
2249
2276
  }
2277
+ const data = JSON.stringify(next.value);
2278
+ const seq = cache.append(runId, data);
2279
+ controller.enqueue(encodeSse(formatSseFrame(seq, data)));
2250
2280
  } catch {
2251
- } finally {
2252
- cache.end(runId);
2253
- controller.enqueue(encodeSse(SSE_DONE_FRAME));
2254
- controller.close();
2281
+ finish(controller);
2255
2282
  }
2283
+ },
2284
+ async cancel(reason) {
2285
+ finished = true;
2286
+ endCachedRun();
2287
+ await iterator.return?.(reason);
2256
2288
  }
2257
2289
  });
2258
2290
  return new Response(stream, {
@@ -2306,8 +2338,11 @@ function createInMemoryRunEventCache(opts = {}) {
2306
2338
  }
2307
2339
  }
2308
2340
  buf.listeners.clear();
2309
- buf.evictTimer = setTimeout(() => runs.delete(runId), evictAfterMs);
2310
- buf.evictTimer.unref();
2341
+ const timer = setTimeout(() => runs.delete(runId), evictAfterMs);
2342
+ buf.evictTimer = timer;
2343
+ if (typeof timer === "object" && typeof timer.unref === "function") {
2344
+ timer.unref();
2345
+ }
2311
2346
  },
2312
2347
  attach(runId, afterSeq, onFrame, onEnd) {
2313
2348
  const buf = runs.get(runId);
@@ -2735,4 +2770,4 @@ export {
2735
2770
  CsrfReadinessStore,
2736
2771
  applySecurityHeaders
2737
2772
  };
2738
- //# sourceMappingURL=chunk-EDBQM6RB.js.map
2773
+ //# sourceMappingURL=chunk-SHIXTMQE.js.map