@cortexkit/opencode-magic-context 0.44.4 → 0.45.0

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 (679) hide show
  1. package/dist/agents/hidden-agent-registrations.d.ts +3 -2
  2. package/dist/agents/hidden-agent-registrations.d.ts.map +1 -1
  3. package/dist/agents/magic-context-prompt.d.ts +1 -0
  4. package/dist/agents/magic-context-prompt.d.ts.map +1 -1
  5. package/dist/agents/permissions.d.ts +8 -28
  6. package/dist/agents/permissions.d.ts.map +1 -1
  7. package/dist/{announcement-n8hs7kjw.js → announcement-f75t58v9.js} +4 -2
  8. package/dist/config/index.d.ts.map +1 -1
  9. package/dist/config/project-security.d.ts +48 -0
  10. package/dist/config/project-security.d.ts.map +1 -1
  11. package/dist/config/raw-loader.d.ts.map +1 -1
  12. package/dist/config/schema/magic-context.d.ts +10 -7
  13. package/dist/config/schema/magic-context.d.ts.map +1 -1
  14. package/dist/{conflict-warning-hook-hmpzxep6.js → conflict-warning-hook-5yrz2r24.js} +10 -6
  15. package/dist/{derive-budgets-ncwn1jk9.js → derive-budgets-a63zsm5c.js} +3 -3
  16. package/dist/embedding-worker.js +49 -0
  17. package/dist/emscripten-module-0g8f45e6.js +602 -0
  18. package/dist/emscripten-module-0pekdjxz.js +1532 -0
  19. package/dist/emscripten-module-e67xwsp3.js +503 -0
  20. package/dist/emscripten-module-pj1vyb44.js +4559 -0
  21. package/dist/features/magic-context/compartment-chunk-embedding.d.ts +23 -3
  22. package/dist/features/magic-context/compartment-chunk-embedding.d.ts.map +1 -1
  23. package/dist/features/magic-context/compartment-embedding.d.ts.map +1 -1
  24. package/dist/features/magic-context/compartment-storage.d.ts +14 -3
  25. package/dist/features/magic-context/compartment-storage.d.ts.map +1 -1
  26. package/dist/features/magic-context/context-store-uuid.d.ts +7 -0
  27. package/dist/features/magic-context/context-store-uuid.d.ts.map +1 -0
  28. package/dist/features/magic-context/dreamer/classify.d.ts +1 -3
  29. package/dist/features/magic-context/dreamer/classify.d.ts.map +1 -1
  30. package/dist/features/magic-context/dreamer/cron.d.ts +5 -4
  31. package/dist/features/magic-context/dreamer/cron.d.ts.map +1 -1
  32. package/dist/features/magic-context/dreamer/docs-proposals.d.ts.map +1 -1
  33. package/dist/features/magic-context/dreamer/evaluate-smart-notes.d.ts.map +1 -1
  34. package/dist/features/magic-context/dreamer/expire-memories.d.ts.map +1 -1
  35. package/dist/features/magic-context/dreamer/idle-schedule-prune.d.ts +24 -0
  36. package/dist/features/magic-context/dreamer/idle-schedule-prune.d.ts.map +1 -0
  37. package/dist/features/magic-context/dreamer/manual-summary.d.ts.map +1 -1
  38. package/dist/features/magic-context/dreamer/map-memories.d.ts +5 -5
  39. package/dist/features/magic-context/dreamer/module-apply.d.ts +4 -25
  40. package/dist/features/magic-context/dreamer/module-apply.d.ts.map +1 -1
  41. package/dist/features/magic-context/dreamer/retrospective-learnings.d.ts.map +1 -1
  42. package/dist/features/magic-context/dreamer/storage-dream-runs.d.ts +5 -1
  43. package/dist/features/magic-context/dreamer/storage-dream-runs.d.ts.map +1 -1
  44. package/dist/features/magic-context/dreamer/storage-task-schedule.d.ts +12 -5
  45. package/dist/features/magic-context/dreamer/storage-task-schedule.d.ts.map +1 -1
  46. package/dist/features/magic-context/dreamer/task-executor.d.ts +6 -0
  47. package/dist/features/magic-context/dreamer/task-executor.d.ts.map +1 -1
  48. package/dist/features/magic-context/dreamer/task-gates.d.ts +34 -0
  49. package/dist/features/magic-context/dreamer/task-gates.d.ts.map +1 -1
  50. package/dist/features/magic-context/dreamer/task-prompts.d.ts +1 -1
  51. package/dist/features/magic-context/dreamer/task-prompts.d.ts.map +1 -1
  52. package/dist/features/magic-context/dreamer/task-registry.d.ts +7 -5
  53. package/dist/features/magic-context/dreamer/task-registry.d.ts.map +1 -1
  54. package/dist/features/magic-context/dreamer/task-scheduler.d.ts +10 -3
  55. package/dist/features/magic-context/dreamer/task-scheduler.d.ts.map +1 -1
  56. package/dist/features/magic-context/dreamer/token-budget.d.ts +3 -0
  57. package/dist/features/magic-context/dreamer/token-budget.d.ts.map +1 -1
  58. package/dist/features/magic-context/dreamer/verify.d.ts +2 -2
  59. package/dist/features/magic-context/dreamer/verify.d.ts.map +1 -1
  60. package/dist/features/magic-context/git-commits/git-log-reader.d.ts +11 -2
  61. package/dist/features/magic-context/git-commits/git-log-reader.d.ts.map +1 -1
  62. package/dist/features/magic-context/git-commits/indexer.d.ts.map +1 -1
  63. package/dist/features/magic-context/git-commits/search-git-commits.d.ts.map +1 -1
  64. package/dist/features/magic-context/git-commits/storage-git-commits.d.ts +2 -0
  65. package/dist/features/magic-context/git-commits/storage-git-commits.d.ts.map +1 -1
  66. package/dist/features/magic-context/legacy-authority-fixture.test-support.d.ts +6 -0
  67. package/dist/features/magic-context/legacy-authority-fixture.test-support.d.ts.map +1 -0
  68. package/dist/features/magic-context/lkg-prefix-chunks.d.ts +53 -0
  69. package/dist/features/magic-context/lkg-prefix-chunks.d.ts.map +1 -0
  70. package/dist/features/magic-context/memory/embedding-backfill.d.ts.map +1 -1
  71. package/dist/features/magic-context/memory/embedding-local.d.ts +8 -0
  72. package/dist/features/magic-context/memory/embedding-local.d.ts.map +1 -1
  73. package/dist/features/magic-context/memory/embedding-openai.d.ts.map +1 -1
  74. package/dist/features/magic-context/memory/embedding-worker-client.d.ts +27 -0
  75. package/dist/features/magic-context/memory/embedding-worker-client.d.ts.map +1 -0
  76. package/dist/features/magic-context/memory/embedding-worker.d.ts +2 -0
  77. package/dist/features/magic-context/memory/embedding-worker.d.ts.map +1 -0
  78. package/dist/features/magic-context/memory/embedding-worker.fixture.d.ts +2 -0
  79. package/dist/features/magic-context/memory/embedding-worker.fixture.d.ts.map +1 -0
  80. package/dist/features/magic-context/memory/memory-selection.d.ts.map +1 -1
  81. package/dist/features/magic-context/memory/project-identity-cache.d.ts +4 -3
  82. package/dist/features/magic-context/memory/project-identity-cache.d.ts.map +1 -1
  83. package/dist/features/magic-context/memory/project-identity.d.ts.map +1 -1
  84. package/dist/features/magic-context/memory/storage-memory-fts.d.ts.map +1 -1
  85. package/dist/features/magic-context/memory/visibility.d.ts +1 -1
  86. package/dist/features/magic-context/memory/visibility.d.ts.map +1 -1
  87. package/dist/features/magic-context/message-fts-rowid-map.d.ts +14 -1
  88. package/dist/features/magic-context/message-fts-rowid-map.d.ts.map +1 -1
  89. package/dist/features/magic-context/message-fts-session-filter.d.ts +14 -0
  90. package/dist/features/magic-context/message-fts-session-filter.d.ts.map +1 -0
  91. package/dist/features/magic-context/message-index.d.ts +1 -7
  92. package/dist/features/magic-context/message-index.d.ts.map +1 -1
  93. package/dist/features/magic-context/message-time-backfill.d.ts.map +1 -1
  94. package/dist/features/magic-context/migration-v94-write-split.d.ts +62 -0
  95. package/dist/features/magic-context/migration-v94-write-split.d.ts.map +1 -0
  96. package/dist/features/magic-context/migration-worker-client.d.ts +23 -0
  97. package/dist/features/magic-context/migration-worker-client.d.ts.map +1 -0
  98. package/dist/features/magic-context/migration-worker-protocol.d.ts +30 -0
  99. package/dist/features/magic-context/migration-worker-protocol.d.ts.map +1 -0
  100. package/dist/features/magic-context/migration-worker.d.ts +2 -0
  101. package/dist/features/magic-context/migration-worker.d.ts.map +1 -0
  102. package/dist/features/magic-context/migrations.d.ts +7 -0
  103. package/dist/features/magic-context/migrations.d.ts.map +1 -1
  104. package/dist/features/magic-context/mural/render-mural.d.ts +24 -2
  105. package/dist/features/magic-context/mural/render-mural.d.ts.map +1 -1
  106. package/dist/features/magic-context/mural/render-trigger.d.ts +1 -1
  107. package/dist/features/magic-context/mural/render-trigger.d.ts.map +1 -1
  108. package/dist/features/magic-context/overflow-detection.d.ts +18 -7
  109. package/dist/features/magic-context/overflow-detection.d.ts.map +1 -1
  110. package/dist/features/magic-context/project-embedding-registry.d.ts +2 -0
  111. package/dist/features/magic-context/project-embedding-registry.d.ts.map +1 -1
  112. package/dist/features/magic-context/range-parser.d.ts +2 -3
  113. package/dist/features/magic-context/range-parser.d.ts.map +1 -1
  114. package/dist/features/magic-context/resolve-subagent-fallback.d.ts +2 -0
  115. package/dist/features/magic-context/resolve-subagent-fallback.d.ts.map +1 -1
  116. package/dist/features/magic-context/scheduler.d.ts +2 -0
  117. package/dist/features/magic-context/scheduler.d.ts.map +1 -1
  118. package/dist/features/magic-context/search.d.ts +7 -0
  119. package/dist/features/magic-context/search.d.ts.map +1 -1
  120. package/dist/features/magic-context/session-project-backfill.d.ts.map +1 -1
  121. package/dist/features/magic-context/session-project-storage.d.ts +10 -1
  122. package/dist/features/magic-context/session-project-storage.d.ts.map +1 -1
  123. package/dist/features/magic-context/smart-notes/compiler-prompt.d.ts +1 -1
  124. package/dist/features/magic-context/smart-notes/compiler-prompt.d.ts.map +1 -1
  125. package/dist/features/magic-context/smart-notes/compiler.d.ts +4 -0
  126. package/dist/features/magic-context/smart-notes/compiler.d.ts.map +1 -1
  127. package/dist/features/magic-context/smart-notes/runner.d.ts.map +1 -1
  128. package/dist/features/magic-context/smart-notes/sandbox-runner.d.ts +2 -0
  129. package/dist/features/magic-context/smart-notes/sandbox-runner.d.ts.map +1 -1
  130. package/dist/features/magic-context/smart-notes/ssrf-guard.d.ts +10 -8
  131. package/dist/features/magic-context/smart-notes/ssrf-guard.d.ts.map +1 -1
  132. package/dist/features/magic-context/smart-notes/storage.d.ts +2 -2
  133. package/dist/features/magic-context/smart-notes/storage.d.ts.map +1 -1
  134. package/dist/features/magic-context/smart-notes/types.d.ts +7 -2
  135. package/dist/features/magic-context/smart-notes/types.d.ts.map +1 -1
  136. package/dist/features/magic-context/storage-caveman-rules.d.ts +21 -0
  137. package/dist/features/magic-context/storage-caveman-rules.d.ts.map +1 -0
  138. package/dist/features/magic-context/storage-clone.d.ts.map +1 -1
  139. package/dist/features/magic-context/storage-compartment-history-version.d.ts +4 -0
  140. package/dist/features/magic-context/storage-compartment-history-version.d.ts.map +1 -0
  141. package/dist/features/magic-context/storage-db.d.ts +62 -2
  142. package/dist/features/magic-context/storage-db.d.ts.map +1 -1
  143. package/dist/features/magic-context/storage-identity-merge.d.ts +6 -0
  144. package/dist/features/magic-context/storage-identity-merge.d.ts.map +1 -1
  145. package/dist/features/magic-context/storage-meta-persisted.d.ts +15 -0
  146. package/dist/features/magic-context/storage-meta-persisted.d.ts.map +1 -1
  147. package/dist/features/magic-context/storage-meta-session.d.ts +1 -1
  148. package/dist/features/magic-context/storage-meta-session.d.ts.map +1 -1
  149. package/dist/features/magic-context/storage-meta-shared.d.ts +1 -1
  150. package/dist/features/magic-context/storage-meta-shared.d.ts.map +1 -1
  151. package/dist/features/magic-context/storage-notes.d.ts +2 -2
  152. package/dist/features/magic-context/storage-notes.d.ts.map +1 -1
  153. package/dist/features/magic-context/storage-reasoning-removal.d.ts +30 -0
  154. package/dist/features/magic-context/storage-reasoning-removal.d.ts.map +1 -0
  155. package/dist/features/magic-context/storage-replay-document.d.ts +42 -5
  156. package/dist/features/magic-context/storage-replay-document.d.ts.map +1 -1
  157. package/dist/features/magic-context/storage-session-tables.d.ts.map +1 -1
  158. package/dist/features/magic-context/storage-tags.d.ts +7 -1
  159. package/dist/features/magic-context/storage-tags.d.ts.map +1 -1
  160. package/dist/features/magic-context/storage.d.ts +1 -1
  161. package/dist/features/magic-context/storage.d.ts.map +1 -1
  162. package/dist/features/magic-context/store-generation-rebase.d.ts.map +1 -1
  163. package/dist/features/magic-context/tag-input.d.ts +4 -0
  164. package/dist/features/magic-context/tag-input.d.ts.map +1 -0
  165. package/dist/features/magic-context/transform-decision-log.d.ts.map +1 -1
  166. package/dist/features/magic-context/user-memory/review-user-memories.d.ts.map +1 -1
  167. package/dist/features/magic-context/user-memory/storage-user-memory.d.ts.map +1 -1
  168. package/dist/ffi-3cx1cxpk.js +78 -0
  169. package/dist/ffi-7bqqe4cd.js +91 -0
  170. package/dist/ffi-7e6gryj5.js +91 -0
  171. package/dist/ffi-bpvkebwr.js +78 -0
  172. package/dist/hooks/magic-context/apply-operations.d.ts +9 -1
  173. package/dist/hooks/magic-context/apply-operations.d.ts.map +1 -1
  174. package/dist/hooks/magic-context/auto-search-deadline.d.ts +10 -0
  175. package/dist/hooks/magic-context/auto-search-deadline.d.ts.map +1 -0
  176. package/dist/hooks/magic-context/auto-search-hint.d.ts +3 -0
  177. package/dist/hooks/magic-context/auto-search-hint.d.ts.map +1 -1
  178. package/dist/hooks/magic-context/auto-search-runner.d.ts +3 -0
  179. package/dist/hooks/magic-context/auto-search-runner.d.ts.map +1 -1
  180. package/dist/hooks/magic-context/caveman-cleanup.d.ts +8 -1
  181. package/dist/hooks/magic-context/caveman-cleanup.d.ts.map +1 -1
  182. package/dist/hooks/magic-context/caveman.d.ts +56 -1
  183. package/dist/hooks/magic-context/caveman.d.ts.map +1 -1
  184. package/dist/hooks/magic-context/child-session-spawn.d.ts +2 -0
  185. package/dist/hooks/magic-context/child-session-spawn.d.ts.map +1 -1
  186. package/dist/hooks/magic-context/command-handler.d.ts +1 -1
  187. package/dist/hooks/magic-context/command-handler.d.ts.map +1 -1
  188. package/dist/hooks/magic-context/compaction-marker-manager.d.ts +1 -1
  189. package/dist/hooks/magic-context/compaction-marker-manager.d.ts.map +1 -1
  190. package/dist/hooks/magic-context/compartment-parser.d.ts +3 -3
  191. package/dist/hooks/magic-context/compartment-parser.d.ts.map +1 -1
  192. package/dist/hooks/magic-context/compartment-runner-historian.d.ts.map +1 -1
  193. package/dist/hooks/magic-context/compartment-runner-incremental.d.ts +0 -1
  194. package/dist/hooks/magic-context/compartment-runner-incremental.d.ts.map +1 -1
  195. package/dist/hooks/magic-context/compartment-runner-partial-recomp.d.ts.map +1 -1
  196. package/dist/hooks/magic-context/compartment-runner-recomp.d.ts.map +1 -1
  197. package/dist/hooks/magic-context/compartment-runner-types.d.ts +3 -0
  198. package/dist/hooks/magic-context/compartment-runner-types.d.ts.map +1 -1
  199. package/dist/hooks/magic-context/compartment-runner-validation.d.ts +6 -0
  200. package/dist/hooks/magic-context/compartment-runner-validation.d.ts.map +1 -1
  201. package/dist/hooks/magic-context/compartment-trigger.d.ts.map +1 -1
  202. package/dist/hooks/magic-context/degraded-pass-refusal.d.ts +35 -0
  203. package/dist/hooks/magic-context/degraded-pass-refusal.d.ts.map +1 -0
  204. package/dist/hooks/magic-context/derive-budgets.d.ts.map +1 -1
  205. package/dist/hooks/magic-context/dropped-input-guard.d.ts.map +1 -1
  206. package/dist/hooks/magic-context/embed-history-runner.d.ts.map +1 -1
  207. package/dist/hooks/magic-context/emergency-drop.d.ts +15 -0
  208. package/dist/hooks/magic-context/emergency-drop.d.ts.map +1 -1
  209. package/dist/hooks/magic-context/event-handler.d.ts.map +1 -1
  210. package/dist/hooks/magic-context/execute-status.d.ts +1 -0
  211. package/dist/hooks/magic-context/execute-status.d.ts.map +1 -1
  212. package/dist/hooks/magic-context/final-wire-token-estimate.d.ts +17 -0
  213. package/dist/hooks/magic-context/final-wire-token-estimate.d.ts.map +1 -1
  214. package/dist/hooks/magic-context/heuristic-cleanup.d.ts +2 -0
  215. package/dist/hooks/magic-context/heuristic-cleanup.d.ts.map +1 -1
  216. package/dist/hooks/magic-context/historian-host-runner.d.ts +5 -0
  217. package/dist/hooks/magic-context/historian-host-runner.d.ts.map +1 -1
  218. package/dist/hooks/magic-context/historian-prompt-fit.d.ts +116 -0
  219. package/dist/hooks/magic-context/historian-prompt-fit.d.ts.map +1 -0
  220. package/dist/hooks/magic-context/historian-prompt.generated.d.ts +1 -1
  221. package/dist/hooks/magic-context/historian-prompt.generated.d.ts.map +1 -1
  222. package/dist/hooks/magic-context/history-boundary-repair.d.ts +44 -0
  223. package/dist/hooks/magic-context/history-boundary-repair.d.ts.map +1 -0
  224. package/dist/hooks/magic-context/hook.d.ts +4 -0
  225. package/dist/hooks/magic-context/hook.d.ts.map +1 -1
  226. package/dist/hooks/magic-context/inject-compartments.d.ts +8 -0
  227. package/dist/hooks/magic-context/inject-compartments.d.ts.map +1 -1
  228. package/dist/hooks/magic-context/lkg-persist.d.ts +12 -0
  229. package/dist/hooks/magic-context/lkg-persist.d.ts.map +1 -1
  230. package/dist/hooks/magic-context/lkg-replay-fit.d.ts +104 -0
  231. package/dist/hooks/magic-context/lkg-replay-fit.d.ts.map +1 -0
  232. package/dist/hooks/magic-context/lkg-replay.d.ts +64 -0
  233. package/dist/hooks/magic-context/lkg-replay.d.ts.map +1 -1
  234. package/dist/hooks/magic-context/module-client.d.ts.map +1 -1
  235. package/dist/hooks/magic-context/module-state-sync-timing.d.ts +1 -1
  236. package/dist/hooks/magic-context/module-state-sync-timing.d.ts.map +1 -1
  237. package/dist/hooks/magic-context/module-state-sync.d.ts +6 -68
  238. package/dist/hooks/magic-context/module-state-sync.d.ts.map +1 -1
  239. package/dist/hooks/magic-context/module-tool-backends.d.ts +1 -34
  240. package/dist/hooks/magic-context/module-tool-backends.d.ts.map +1 -1
  241. package/dist/hooks/magic-context/module-transport.d.ts +1 -55
  242. package/dist/hooks/magic-context/module-transport.d.ts.map +1 -1
  243. package/dist/hooks/magic-context/module-wire.d.ts.map +1 -1
  244. package/dist/hooks/magic-context/note-nudger.d.ts +2 -0
  245. package/dist/hooks/magic-context/note-nudger.d.ts.map +1 -1
  246. package/dist/hooks/magic-context/pass-outcome.d.ts +59 -2
  247. package/dist/hooks/magic-context/pass-outcome.d.ts.map +1 -1
  248. package/dist/hooks/magic-context/producer-window-guard.d.ts +6 -0
  249. package/dist/hooks/magic-context/producer-window-guard.d.ts.map +1 -1
  250. package/dist/hooks/magic-context/read-session-chunk.d.ts +13 -2
  251. package/dist/hooks/magic-context/read-session-chunk.d.ts.map +1 -1
  252. package/dist/hooks/magic-context/read-session-formatting.d.ts +11 -0
  253. package/dist/hooks/magic-context/read-session-formatting.d.ts.map +1 -1
  254. package/dist/hooks/magic-context/reasoning-removal.d.ts +60 -0
  255. package/dist/hooks/magic-context/reasoning-removal.d.ts.map +1 -0
  256. package/dist/hooks/magic-context/recomp-orchestrator.d.ts +1 -0
  257. package/dist/hooks/magic-context/recomp-orchestrator.d.ts.map +1 -1
  258. package/dist/hooks/magic-context/reference-retrieval.d.ts +1 -1
  259. package/dist/hooks/magic-context/reference-retrieval.d.ts.map +1 -1
  260. package/dist/hooks/magic-context/reply-pages.d.ts +3 -0
  261. package/dist/hooks/magic-context/reply-pages.d.ts.map +1 -0
  262. package/dist/hooks/magic-context/rust-lkg-freeze-registry.d.ts +62 -0
  263. package/dist/hooks/magic-context/rust-lkg-freeze-registry.d.ts.map +1 -0
  264. package/dist/hooks/magic-context/rust-mode-transform.d.ts +17 -85
  265. package/dist/hooks/magic-context/rust-mode-transform.d.ts.map +1 -1
  266. package/dist/hooks/magic-context/send-session-notification.d.ts.map +1 -1
  267. package/dist/hooks/magic-context/sentinel.d.ts +35 -0
  268. package/dist/hooks/magic-context/sentinel.d.ts.map +1 -1
  269. package/dist/hooks/magic-context/shared-compartment-boundaries.d.ts +28 -0
  270. package/dist/hooks/magic-context/shared-compartment-boundaries.d.ts.map +1 -0
  271. package/dist/hooks/magic-context/single-store-refusal.d.ts +14 -0
  272. package/dist/hooks/magic-context/single-store-refusal.d.ts.map +1 -0
  273. package/dist/hooks/magic-context/storage-busy-refusal.d.ts +7 -0
  274. package/dist/hooks/magic-context/storage-busy-refusal.d.ts.map +1 -1
  275. package/dist/hooks/magic-context/strip-content.d.ts.map +1 -1
  276. package/dist/hooks/magic-context/stripped-command.d.ts +1 -1
  277. package/dist/hooks/magic-context/stripped-command.d.ts.map +1 -1
  278. package/dist/hooks/magic-context/system-injection-stripper.d.ts +7 -0
  279. package/dist/hooks/magic-context/system-injection-stripper.d.ts.map +1 -1
  280. package/dist/hooks/magic-context/system-prompt-hash.d.ts.map +1 -1
  281. package/dist/hooks/magic-context/tag-content-primitives.d.ts.map +1 -1
  282. package/dist/hooks/magic-context/tag-id-fallback.d.ts.map +1 -1
  283. package/dist/hooks/magic-context/tag-messages.d.ts +18 -1
  284. package/dist/hooks/magic-context/tag-messages.d.ts.map +1 -1
  285. package/dist/hooks/magic-context/tail-hygiene-walk.d.ts.map +1 -1
  286. package/dist/hooks/magic-context/tool-drop-target.d.ts.map +1 -1
  287. package/dist/hooks/magic-context/transform-compartment-phase.d.ts +1 -0
  288. package/dist/hooks/magic-context/transform-compartment-phase.d.ts.map +1 -1
  289. package/dist/hooks/magic-context/transform-postprocess-phase.d.ts +37 -4
  290. package/dist/hooks/magic-context/transform-postprocess-phase.d.ts.map +1 -1
  291. package/dist/hooks/magic-context/transform.d.ts +12 -39
  292. package/dist/hooks/magic-context/transform.d.ts.map +1 -1
  293. package/dist/hooks/magic-context/unmanaged-over-window.d.ts +36 -0
  294. package/dist/hooks/magic-context/unmanaged-over-window.d.ts.map +1 -0
  295. package/dist/hooks/magic-context/unresolved-history-boundary.d.ts +15 -0
  296. package/dist/hooks/magic-context/unresolved-history-boundary.d.ts.map +1 -0
  297. package/dist/hooks/magic-context/user-profile-render.d.ts +3 -0
  298. package/dist/hooks/magic-context/user-profile-render.d.ts.map +1 -0
  299. package/dist/hooks/magic-context/wrapup-orchestrator.d.ts.map +1 -1
  300. package/dist/{index-sqp1hz9v.js → index-16ny736w.js} +10190 -25296
  301. package/dist/{index-mrc0twf3.js → index-2aq21j41.js} +1201 -428
  302. package/dist/{index-32b096cc.js → index-2ntg5sd4.js} +6 -2
  303. package/dist/index-4krbw8z9.js +6034 -0
  304. package/dist/{index-33q7s9y2.js → index-75zjgwga.js} +61 -85
  305. package/dist/{index-zx7pmr39.js → index-8fgkmxmy.js} +28 -10
  306. package/dist/index-a4m2b1yv.js +530 -0
  307. package/dist/index-anq4nn6f.js +131 -0
  308. package/dist/index-avwt563y.js +62 -0
  309. package/dist/index-bmzf7zxv.js +445 -0
  310. package/dist/index-e44zzy84.js +10 -0
  311. package/dist/index-en1k8h8m.js +244 -0
  312. package/dist/{index-638hf49n.js → index-f85teqck.js} +15 -6
  313. package/dist/index-fr2z4qy8.js +7810 -0
  314. package/dist/{index-kwe03yde.js → index-fzbvakh0.js} +1 -1
  315. package/dist/{module-asyncify-2EFITU5U-rkqjhjxd.js → index-g20jdh0p.js} +114 -105
  316. package/dist/index-gd5qx1j9.js +398 -0
  317. package/dist/{index-3bygzk2d.js → index-hybnrwq0.js} +169 -4
  318. package/dist/{index-jqcbs2k1.js → index-mc22ayvf.js} +24 -5
  319. package/dist/index-q7yesyk9.js +9118 -0
  320. package/dist/index-remp7e2g.js +214 -0
  321. package/dist/{index-7k55qm8a.js → index-sfpzqvdz.js} +8 -8
  322. package/dist/{index-msqr3x6m.js → index-vvtfyw1z.js} +12 -75
  323. package/dist/index-w9jwmntv.js +202 -0
  324. package/dist/{index-kr5qehbd.js → index-x23gah8c.js} +1 -1
  325. package/dist/{index-jdxxq8cz.js → index-x8a7jmkh.js} +6 -1
  326. package/dist/{index-wprsye9w.js → index-xgt9k6c6.js} +23 -12
  327. package/dist/index-y8v6yerm.js +77 -0
  328. package/dist/index.d.ts.map +1 -1
  329. package/dist/index.js +7519 -8096
  330. package/dist/message-time-backfill-an311pmk.js +124 -0
  331. package/dist/migration-worker.js +53 -0
  332. package/dist/{model-resolution-dxatzjde.js → model-resolution-xhfmyyvy.js} +5 -1
  333. package/dist/module-ES6BEMUI-3cet1pyp.js +12 -0
  334. package/dist/module-asyncify-2EFITU5U-c2razzd9.js +6 -0
  335. package/dist/plugin/boot-deadline.d.ts.map +1 -1
  336. package/dist/plugin/conflict-warning-hook.d.ts.map +1 -1
  337. package/dist/plugin/dream-timer-module-client.d.ts +1 -11
  338. package/dist/plugin/dream-timer-module-client.d.ts.map +1 -1
  339. package/dist/plugin/dream-timer.d.ts.map +1 -1
  340. package/dist/plugin/hooks/create-session-hooks.d.ts +8 -0
  341. package/dist/plugin/hooks/create-session-hooks.d.ts.map +1 -1
  342. package/dist/plugin/messages-transform.d.ts +20 -13
  343. package/dist/plugin/messages-transform.d.ts.map +1 -1
  344. package/dist/plugin/rpc-handlers.d.ts.map +1 -1
  345. package/dist/plugin/stale-build-notice.d.ts +16 -0
  346. package/dist/plugin/stale-build-notice.d.ts.map +1 -0
  347. package/dist/{read-session-chunk-339hg90t.js → read-session-chunk-8rxs0tc9.js} +24 -6
  348. package/dist/recomp-orchestrator-nzamtw29.js +39 -0
  349. package/dist/{rpc-notifications-4amf6mf4.js → rpc-notifications-3hed126v.js} +3 -1
  350. package/dist/{safe-notification-target-50gm9c58.js → safe-notification-target-43r8jsxw.js} +3 -3
  351. package/dist/send-session-notification-nqpv7cne.js +28 -0
  352. package/dist/shared/assistant-message-extractor.d.ts +4 -0
  353. package/dist/shared/assistant-message-extractor.d.ts.map +1 -1
  354. package/dist/shared/background-batch-drain.d.ts +8 -0
  355. package/dist/shared/background-batch-drain.d.ts.map +1 -0
  356. package/dist/{features/builtin-commands/commands.d.ts → shared/builtin-commands.d.ts} +1 -1
  357. package/dist/shared/builtin-commands.d.ts.map +1 -0
  358. package/dist/shared/embedding-activity.d.ts +13 -0
  359. package/dist/shared/embedding-activity.d.ts.map +1 -0
  360. package/dist/shared/historian-tool-expansions.d.ts +5 -0
  361. package/dist/shared/historian-tool-expansions.d.ts.map +1 -0
  362. package/dist/shared/historian-tool-template.d.ts +5 -0
  363. package/dist/shared/historian-tool-template.d.ts.map +1 -0
  364. package/dist/shared/historian-transient-error.d.ts +2 -0
  365. package/dist/shared/historian-transient-error.d.ts.map +1 -0
  366. package/dist/shared/jsonc-edit.d.ts.map +1 -1
  367. package/dist/shared/logger.d.ts +7 -0
  368. package/dist/shared/logger.d.ts.map +1 -1
  369. package/dist/shared/model-suggestion-retry.d.ts +2 -1
  370. package/dist/shared/model-suggestion-retry.d.ts.map +1 -1
  371. package/dist/shared/models-dev-cache.d.ts.map +1 -1
  372. package/dist/shared/off-thread-migration-clock.d.ts +38 -0
  373. package/dist/shared/off-thread-migration-clock.d.ts.map +1 -0
  374. package/dist/shared/plugin-package-version.d.ts +14 -0
  375. package/dist/shared/plugin-package-version.d.ts.map +1 -0
  376. package/dist/shared/project-directory-key.d.ts +26 -0
  377. package/dist/shared/project-directory-key.d.ts.map +1 -0
  378. package/dist/shared/prompt-async-transport.d.ts +4 -0
  379. package/dist/shared/prompt-async-transport.d.ts.map +1 -1
  380. package/dist/shared/prompt-surface-runtime.d.ts +3 -3
  381. package/dist/shared/provider-response-completion.d.ts +12 -0
  382. package/dist/shared/provider-response-completion.d.ts.map +1 -0
  383. package/dist/shared/redaction.d.ts.map +1 -1
  384. package/dist/shared/rpc-client.d.ts +23 -2
  385. package/dist/shared/rpc-client.d.ts.map +1 -1
  386. package/dist/shared/rpc-types.d.ts +19 -0
  387. package/dist/shared/rpc-types.d.ts.map +1 -1
  388. package/dist/shared/rpc-utils.d.ts +34 -0
  389. package/dist/shared/rpc-utils.d.ts.map +1 -1
  390. package/dist/shared/sqlite.d.ts +13 -2
  391. package/dist/shared/sqlite.d.ts.map +1 -1
  392. package/dist/shared/stale-plugin-build.d.ts +21 -0
  393. package/dist/shared/stale-plugin-build.d.ts.map +1 -0
  394. package/dist/shared/status-summary.d.ts +29 -0
  395. package/dist/shared/status-summary.d.ts.map +1 -1
  396. package/dist/shared/status-view-check.d.ts +124 -0
  397. package/dist/shared/status-view-check.d.ts.map +1 -0
  398. package/dist/shared/status-view.d.ts +38 -2
  399. package/dist/shared/status-view.d.ts.map +1 -1
  400. package/dist/shared/tag-owner-id.d.ts +19 -0
  401. package/dist/shared/tag-owner-id.d.ts.map +1 -0
  402. package/dist/shared/tag-transcript.d.ts +2 -1
  403. package/dist/shared/tag-transcript.d.ts.map +1 -1
  404. package/dist/shared/test-temp-dir.d.ts +8 -2
  405. package/dist/shared/test-temp-dir.d.ts.map +1 -1
  406. package/dist/shared/user-facing-codes.d.ts +41 -6
  407. package/dist/shared/user-facing-codes.d.ts.map +1 -1
  408. package/dist/shared/xml-unescape.d.ts +9 -0
  409. package/dist/shared/xml-unescape.d.ts.map +1 -0
  410. package/dist/task-config-v81k8jvk.js +17 -0
  411. package/dist/tools/ctx-expand/constants.d.ts +1 -1
  412. package/dist/tools/ctx-expand/constants.d.ts.map +1 -1
  413. package/dist/tools/ctx-expand/mode.d.ts +4 -0
  414. package/dist/tools/ctx-expand/mode.d.ts.map +1 -1
  415. package/dist/tools/ctx-expand/render.d.ts +5 -1
  416. package/dist/tools/ctx-expand/render.d.ts.map +1 -1
  417. package/dist/tools/ctx-expand/tools.d.ts +2 -0
  418. package/dist/tools/ctx-expand/tools.d.ts.map +1 -1
  419. package/dist/tools/ctx-expand/types.d.ts +1 -0
  420. package/dist/tools/ctx-expand/types.d.ts.map +1 -1
  421. package/dist/tools/ctx-memory/tools.d.ts.map +1 -1
  422. package/dist/tools/ctx-note/render.d.ts +2 -0
  423. package/dist/tools/ctx-note/render.d.ts.map +1 -1
  424. package/dist/tools/ctx-note/tools.d.ts.map +1 -1
  425. package/dist/tools/ctx-reduce/constants.d.ts +1 -1
  426. package/dist/tools/ctx-reduce/constants.d.ts.map +1 -1
  427. package/dist/tools/ctx-search/constants.d.ts +1 -1
  428. package/dist/tools/ctx-search/constants.d.ts.map +1 -1
  429. package/dist/tools/light-descriptions.d.ts +3 -3
  430. package/dist/tools/light-descriptions.d.ts.map +1 -1
  431. package/dist/tools/parameter-descriptions.d.ts +14 -14
  432. package/dist/transform-postprocess-phase-414phndq.js +61 -0
  433. package/dist/tui/data/context-db.d.ts +34 -10
  434. package/dist/tui/data/context-db.d.ts.map +1 -1
  435. package/dist/tui/data/notification-socket.d.ts +6 -0
  436. package/dist/tui/data/notification-socket.d.ts.map +1 -1
  437. package/dist/tui/data/session-directory.d.ts +16 -0
  438. package/dist/tui/data/session-directory.d.ts.map +1 -0
  439. package/dist/tui-compiled/data/context-db.d.ts +34 -10
  440. package/dist/tui-compiled/data/context-db.d.ts.map +1 -1
  441. package/dist/tui-compiled/data/notification-socket.d.ts +6 -0
  442. package/dist/tui-compiled/data/notification-socket.d.ts.map +1 -1
  443. package/dist/tui-compiled/data/session-directory.d.ts +16 -0
  444. package/dist/tui-compiled/data/session-directory.d.ts.map +1 -0
  445. package/dist/v2/derive-budgets-v0krf3t7.js +18 -0
  446. package/dist/v2/embedding-worker.js +47 -0
  447. package/dist/v2/emscripten-module-0g8f45e6.js +602 -0
  448. package/dist/v2/emscripten-module-0pekdjxz.js +1532 -0
  449. package/dist/v2/emscripten-module-e67xwsp3.js +503 -0
  450. package/dist/v2/emscripten-module-pj1vyb44.js +4559 -0
  451. package/dist/v2/ffi-3cx1cxpk.js +78 -0
  452. package/dist/v2/ffi-7bqqe4cd.js +91 -0
  453. package/dist/v2/ffi-7e6gryj5.js +91 -0
  454. package/dist/v2/ffi-bpvkebwr.js +78 -0
  455. package/dist/v2/fold/boundary.d.ts.map +1 -1
  456. package/dist/v2/fork-inheritance.d.ts +101 -0
  457. package/dist/v2/fork-inheritance.d.ts.map +1 -0
  458. package/dist/v2/hidden-child-cleanup.d.ts +11 -0
  459. package/dist/v2/hidden-child-cleanup.d.ts.map +1 -0
  460. package/dist/v2/hidden-child-native.d.ts +29 -0
  461. package/dist/v2/hidden-child-native.d.ts.map +1 -0
  462. package/dist/v2/hidden-child-record.d.ts +135 -0
  463. package/dist/v2/hidden-child-record.d.ts.map +1 -0
  464. package/dist/v2/hidden-completion.d.ts +12 -97
  465. package/dist/v2/hidden-completion.d.ts.map +1 -1
  466. package/dist/v2/hooks/context.d.ts +20 -8
  467. package/dist/v2/hooks/context.d.ts.map +1 -1
  468. package/dist/v2/hooks/dream-manual.d.ts.map +1 -1
  469. package/dist/v2/hooks/dream-trigger.d.ts +5 -0
  470. package/dist/v2/hooks/dream-trigger.d.ts.map +1 -1
  471. package/dist/v2/hooks/generate.d.ts +10 -0
  472. package/dist/v2/hooks/generate.d.ts.map +1 -0
  473. package/dist/v2/hooks/hidden-child.d.ts +33 -2
  474. package/dist/v2/hooks/hidden-child.d.ts.map +1 -1
  475. package/dist/v2/hooks/payload.d.ts +3 -0
  476. package/dist/v2/hooks/payload.d.ts.map +1 -1
  477. package/dist/v2/hooks/session-api-gate.d.ts +4 -0
  478. package/dist/v2/hooks/session-api-gate.d.ts.map +1 -0
  479. package/dist/v2/hooks/storage-gate.d.ts +3 -1
  480. package/dist/v2/hooks/storage-gate.d.ts.map +1 -1
  481. package/dist/v2/hooks/tools.d.ts.map +1 -1
  482. package/dist/v2/hooks/types.d.ts +10 -0
  483. package/dist/v2/hooks/types.d.ts.map +1 -1
  484. package/dist/v2/hooks/update-check.d.ts.map +1 -1
  485. package/dist/v2/hooks/usage-persist.d.ts.map +1 -1
  486. package/dist/v2/hooks/usage-reading.d.ts +4 -0
  487. package/dist/v2/hooks/usage-reading.d.ts.map +1 -1
  488. package/dist/v2/index-6e4mwffh.js +5662 -0
  489. package/dist/v2/index-en1k8h8m.js +244 -0
  490. package/dist/{message-time-backfill-q374fxc5.js → v2/message-time-backfill-0n93vrd7.js} +19 -5
  491. package/dist/v2/migration-worker.js +52 -0
  492. package/dist/v2/model-resolution-xhfmyyvy.js +16 -0
  493. package/dist/v2/module-ES6BEMUI-3cet1pyp.js +12 -0
  494. package/dist/v2/module-asyncify-2EFITU5U-c2razzd9.js +6 -0
  495. package/dist/v2/prompt-context-5y5ms8f9.js +6 -0
  496. package/dist/v2/read-session-chunk-hjza38hr.js +83 -0
  497. package/dist/v2/recomp-orchestrator-1aq7h44c.js +36 -0
  498. package/dist/v2/retrospective-raw-provider.d.ts +21 -0
  499. package/dist/v2/retrospective-raw-provider.d.ts.map +1 -0
  500. package/dist/v2/rpc-notifications-3hed126v.js +16 -0
  501. package/dist/v2/safe-notification-target-wtj0bbc2.js +9 -0
  502. package/dist/{send-session-notification-04hvd54c.js → v2/send-session-notification-mq9frrtm.js} +10 -5
  503. package/dist/v2/server-0jqw05sa.js +803 -0
  504. package/dist/v2/server-5317ykaf.js +40 -0
  505. package/dist/v2/server-a4m2b1yv.js +530 -0
  506. package/dist/v2/server-avwt563y.js +62 -0
  507. package/dist/v2/server-c4g2y1z8.js +28824 -0
  508. package/dist/v2/server-ckpc8pxy.js +662 -0
  509. package/dist/v2/server-e36nf2p1.js +7702 -0
  510. package/dist/v2/server-e44zzy84.js +10 -0
  511. package/dist/v2/server-fgmxwrgy.js +16 -0
  512. package/dist/v2/server-fmsr7v69.js +75 -0
  513. package/dist/v2/server-g20jdh0p.js +1273 -0
  514. package/dist/{index-qm36k34q.js → v2/server-hfjfbg59.js} +796 -737
  515. package/dist/v2/server-n96ag4rk.js +633 -0
  516. package/dist/v2/server-qdjnb2z1.js +181 -0
  517. package/dist/v2/server-qpg6wf72.js +187 -0
  518. package/dist/v2/server-r7cmye3k.js +131 -0
  519. package/dist/v2/server-remp7e2g.js +214 -0
  520. package/dist/v2/server-rhdgxp1t.js +398 -0
  521. package/dist/v2/server-sfpzqvdz.js +137 -0
  522. package/dist/v2/server-syahy8j8.js +50 -0
  523. package/dist/v2/server-v5xgft5v.js +9116 -0
  524. package/dist/v2/server-w99cyt6a.js +361 -0
  525. package/dist/v2/server-x8a7jmkh.js +104 -0
  526. package/dist/v2/server-y8v6yerm.js +77 -0
  527. package/dist/v2/server-z19x7eqz.js +423 -0
  528. package/dist/v2/server.d.ts.map +1 -1
  529. package/dist/v2/server.js +8796 -107376
  530. package/dist/v2/store-reader.d.ts +50 -0
  531. package/dist/v2/store-reader.d.ts.map +1 -1
  532. package/dist/v2/task-config-tbndqyny.js +17 -0
  533. package/dist/v2/transformers-node-wasm.js +26768 -0
  534. package/dist/v2/transformers-web.js +25670 -0
  535. package/dist/v2/transformers.node-hj754h7s.js +29997 -0
  536. package/dist/v2/tui/index.d.ts +10 -1
  537. package/dist/v2/tui/index.d.ts.map +1 -1
  538. package/dist/v2/tui/sidebar-mount.d.ts +6 -0
  539. package/dist/v2/tui/sidebar-mount.d.ts.map +1 -1
  540. package/dist/v2/tui/status-dialog-mount.d.ts +7 -4
  541. package/dist/v2/tui/status-dialog-mount.d.ts.map +1 -1
  542. package/dist/v2/tui/types.d.ts +12 -0
  543. package/dist/v2/tui/types.d.ts.map +1 -1
  544. package/dist/v2/wrapup-orchestrator-tbyx78dz.js +425 -0
  545. package/dist/wrapup-orchestrator-h28bqsy6.js +26 -0
  546. package/package.json +8 -8
  547. package/src/agents/hidden-agent-registrations.ts +24 -16
  548. package/src/agents/magic-context-prompt.test.ts +41 -0
  549. package/src/agents/magic-context-prompt.ts +8 -5
  550. package/src/agents/permissions.test.ts +31 -49
  551. package/src/agents/permissions.ts +8 -28
  552. package/src/config/index.test.ts +60 -20
  553. package/src/config/index.ts +53 -1
  554. package/src/config/live-run-config.test.ts +5 -5
  555. package/src/config/live-snapshot.test.ts +4 -4
  556. package/src/config/migrate-config-location.test.ts +3 -10
  557. package/src/config/project-config-trust-boundary.test.ts +207 -0
  558. package/src/config/project-security.hostile-matrix.test.ts +4 -4
  559. package/src/config/project-security.ts +218 -1
  560. package/src/config/protected-tokens.test.ts +14 -9
  561. package/src/config/raw-loader.test.ts +31 -3
  562. package/src/config/raw-loader.ts +8 -3
  563. package/src/config/schema/magic-context.ts +20 -3
  564. package/src/config/variable.test.ts +3 -2
  565. package/src/features/magic-context/dreamer/cron.ts +30 -9
  566. package/src/features/magic-context/dreamer/task-registry.ts +7 -5
  567. package/src/shared/announcement.test.ts +2 -1
  568. package/src/shared/assistant-message-extractor.test.ts +27 -1
  569. package/src/shared/assistant-message-extractor.ts +27 -0
  570. package/src/shared/background-batch-drain.test.ts +38 -0
  571. package/src/shared/background-batch-drain.ts +29 -0
  572. package/src/shared/builtin-commands.ts +50 -0
  573. package/src/shared/console-diagnostics-fence.test.ts +145 -0
  574. package/src/shared/data-path.test.ts +6 -5
  575. package/src/shared/embedding-activity.test.ts +21 -0
  576. package/src/shared/embedding-activity.ts +36 -0
  577. package/src/shared/historian-tool-defaults.json +13 -0
  578. package/src/shared/historian-tool-expansions.ts +18 -0
  579. package/src/shared/historian-tool-template.ts +248 -0
  580. package/src/shared/historian-transient-error.test.ts +36 -0
  581. package/src/shared/historian-transient-error.ts +22 -0
  582. package/src/shared/jsonc-edit.ts +20 -1
  583. package/src/shared/logger.test.ts +3 -2
  584. package/src/shared/logger.ts +40 -1
  585. package/src/shared/model-suggestion-retry.test.ts +46 -0
  586. package/src/shared/model-suggestion-retry.ts +16 -1
  587. package/src/shared/models-dev-cache.test.ts +74 -2
  588. package/src/shared/models-dev-cache.ts +5 -1
  589. package/src/shared/off-thread-migration-clock.test.ts +55 -0
  590. package/src/shared/off-thread-migration-clock.ts +124 -0
  591. package/src/shared/opencode-db-path.test.ts +3 -2
  592. package/src/shared/plugin-package-version.ts +52 -0
  593. package/src/shared/project-directory-key.test.ts +111 -0
  594. package/src/shared/project-directory-key.ts +54 -0
  595. package/src/shared/prompt-async-transport.test.ts +249 -72
  596. package/src/shared/prompt-async-transport.ts +131 -24
  597. package/src/shared/prompt-surface-a1-golden.md +41 -25
  598. package/src/shared/prompt-surface-runtime.test.ts +3 -3
  599. package/src/shared/provider-response-completion.ts +23 -0
  600. package/src/shared/redaction.test.ts +51 -1
  601. package/src/shared/redaction.ts +33 -0
  602. package/src/shared/rpc-async-probes.test.ts +32 -2
  603. package/src/shared/rpc-client.test.ts +3 -2
  604. package/src/shared/rpc-client.ts +76 -18
  605. package/src/shared/rpc-types.ts +15 -0
  606. package/src/shared/rpc-utils.test.ts +164 -10
  607. package/src/shared/rpc-utils.ts +144 -15
  608. package/src/shared/sqlite-acquisition-routing.test.ts +46 -3
  609. package/src/shared/sqlite-pass-scope.test.ts +3 -2
  610. package/src/shared/sqlite-transaction-mode-guard.test.ts +4 -0
  611. package/src/shared/sqlite-writer-diagnostics.test.ts +134 -0
  612. package/src/shared/sqlite.ts +225 -41
  613. package/src/shared/stale-plugin-build.test.ts +129 -0
  614. package/src/shared/stale-plugin-build.ts +151 -0
  615. package/src/shared/status-summary.ts +40 -13
  616. package/src/shared/status-view-check.test.ts +253 -0
  617. package/src/shared/status-view-check.ts +536 -0
  618. package/src/shared/status-view.test.ts +6 -1
  619. package/src/shared/status-view.ts +176 -4
  620. package/src/shared/storage-busy.test.ts +3 -2
  621. package/src/shared/tag-owner-id.test.ts +33 -0
  622. package/src/shared/tag-owner-id.ts +29 -0
  623. package/src/shared/tag-transcript.ts +13 -2
  624. package/src/shared/test-temp-dir-policy.test.ts +33 -0
  625. package/src/shared/test-temp-dir.test.ts +27 -0
  626. package/src/shared/test-temp-dir.ts +36 -12
  627. package/src/shared/tui-config.test.ts +6 -5
  628. package/src/shared/tui-preferences.test.ts +3 -2
  629. package/src/shared/user-facing-codes.ts +52 -6
  630. package/src/shared/window-geometry.test.ts +3 -2
  631. package/src/shared/write-transaction-attribution.test.ts +11 -7
  632. package/src/shared/write-transaction-hold-clock.test.ts +160 -0
  633. package/src/shared/xml-unescape.ts +19 -0
  634. package/src/tui/data/context-db.test.ts +92 -4
  635. package/src/tui/data/context-db.ts +184 -18
  636. package/src/tui/data/notification-socket.test.ts +49 -2
  637. package/src/tui/data/notification-socket.ts +47 -9
  638. package/src/tui/data/session-directory.ts +19 -0
  639. package/src/tui/dialogs/status-dialog-render.test.ts +284 -0
  640. package/src/tui/dialogs/status-dialog.tsx +41 -38
  641. package/src/tui/index.tsx +30 -18
  642. package/src/tui/slots/sidebar-content.tsx +9 -2
  643. package/src/tui-compiled/data/context-db.ts +184 -18
  644. package/src/tui-compiled/data/notification-socket.ts +47 -9
  645. package/src/tui-compiled/data/session-directory.ts +19 -0
  646. package/src/tui-compiled/dialogs/status-dialog.tsx +38 -29
  647. package/src/tui-compiled/index.tsx +29 -16
  648. package/src/tui-compiled/slots/sidebar-content.tsx +3 -2
  649. package/src/v2/tui/host-contract.test.ts +9 -10
  650. package/src/v2/tui/index.ts +78 -23
  651. package/src/v2/tui/load-compiled-sidebar.d.mts +5 -1
  652. package/src/v2/tui/load-compiled-status-dialog.d.mts +3 -2
  653. package/src/v2/tui/session-directory.test.ts +53 -0
  654. package/src/v2/tui/sidebar-mount.ts +19 -1
  655. package/src/v2/tui/status-dialog-mount.ts +10 -7
  656. package/src/v2/tui/types.ts +10 -0
  657. package/dist/features/builtin-commands/commands.d.ts.map +0 -1
  658. package/dist/features/builtin-commands/types.d.ts +0 -3
  659. package/dist/features/builtin-commands/types.d.ts.map +0 -1
  660. package/dist/features/magic-context/context-authority.d.ts +0 -272
  661. package/dist/features/magic-context/context-authority.d.ts.map +0 -1
  662. package/dist/features/magic-context/memory/mirror-reembed.d.ts +0 -22
  663. package/dist/features/magic-context/memory/mirror-reembed.d.ts.map +0 -1
  664. package/dist/hooks/magic-context/historian-state-file.d.ts +0 -43
  665. package/dist/hooks/magic-context/historian-state-file.d.ts.map +0 -1
  666. package/dist/index-4an2p8qa.js +0 -1056
  667. package/dist/index-rn7gafjr.js +0 -8
  668. package/dist/index-v6t0tg85.js +0 -13
  669. package/dist/plugin/memory-id-translation.d.ts +0 -109
  670. package/dist/plugin/memory-id-translation.d.ts.map +0 -1
  671. package/dist/plugin/rust-note-backend.d.ts +0 -84
  672. package/dist/plugin/rust-note-backend.d.ts.map +0 -1
  673. package/dist/recomp-orchestrator-0ers6smx.js +0 -22
  674. package/dist/task-config-2bm68628.js +0 -9
  675. package/dist/transform-postprocess-phase-ttdkrm6r.js +0 -36
  676. package/dist/v2/host-service.d.ts +0 -66
  677. package/dist/v2/host-service.d.ts.map +0 -1
  678. package/dist/wrapup-orchestrator-x0jvvrqn.js +0 -19
  679. /package/dist/{index-s70wtd8k.js → index-q6hef7fh.js} +0 -0
@@ -0,0 +1,1273 @@
1
+ // ../../node_modules/.bun/@jitl+quickjs-ffi-types@0.32.0/node_modules/@jitl/quickjs-ffi-types/dist/index.mjs
2
+ function assertSync2(fn) {
3
+ return function(...args) {
4
+ let result = fn(...args);
5
+ if (result && typeof result == "object" && result instanceof Promise)
6
+ throw new Error("Function unexpectedly returned a Promise");
7
+ return result;
8
+ };
9
+ }
10
+ var EvalFlags2 = { JS_EVAL_TYPE_GLOBAL: 0, JS_EVAL_TYPE_MODULE: 1, JS_EVAL_TYPE_DIRECT: 2, JS_EVAL_TYPE_INDIRECT: 3, JS_EVAL_TYPE_MASK: 3, JS_EVAL_FLAG_STRICT: 8, JS_EVAL_FLAG_STRIP: 16, JS_EVAL_FLAG_COMPILE_ONLY: 32, JS_EVAL_FLAG_BACKTRACE_BARRIER: 64 };
11
+ var IntrinsicsFlags2 = { BaseObjects: 1, Date: 2, Eval: 4, StringNormalize: 8, RegExp: 16, RegExpCompiler: 32, JSON: 64, Proxy: 128, MapSet: 256, TypedArrays: 512, Promise: 1024, BigInt: 2048, BigFloat: 4096, BigDecimal: 8192, OperatorOverloading: 16384, BignumExt: 32768 };
12
+ var JSPromiseStateEnum2 = { Pending: 0, Fulfilled: 1, Rejected: 2 };
13
+ var GetOwnPropertyNamesFlags2 = { JS_GPN_STRING_MASK: 1, JS_GPN_SYMBOL_MASK: 2, JS_GPN_PRIVATE_MASK: 4, JS_GPN_ENUM_ONLY: 16, JS_GPN_SET_ENUM: 32, QTS_GPN_NUMBER_MASK: 64, QTS_STANDARD_COMPLIANT_NUMBER: 128 };
14
+ var IsEqualOp2 = { IsStrictlyEqual: 0, IsSameValue: 1, IsSameValueZero: 2 };
15
+
16
+ // ../../node_modules/.bun/quickjs-emscripten-core@0.32.0/node_modules/quickjs-emscripten-core/dist/chunk-V2S4ZYJR.mjs
17
+ var __defProp = Object.defineProperty;
18
+ var __export = (target, all) => {
19
+ for (var name in all)
20
+ __defProp(target, name, { get: all[name], enumerable: true });
21
+ };
22
+ var QTS_DEBUG = false;
23
+ function setDebugMode2(enabled = true) {
24
+ QTS_DEBUG = enabled;
25
+ }
26
+ function debugLog2(...args) {
27
+ QTS_DEBUG && console.log("quickjs-emscripten:", ...args);
28
+ }
29
+ var errors_exports = {};
30
+ __export(errors_exports, { QuickJSAsyncifyError: () => QuickJSAsyncifyError, QuickJSAsyncifySuspended: () => QuickJSAsyncifySuspended, QuickJSEmptyGetOwnPropertyNames: () => QuickJSEmptyGetOwnPropertyNames, QuickJSEmscriptenModuleError: () => QuickJSEmscriptenModuleError, QuickJSHostRefInvalid: () => QuickJSHostRefInvalid, QuickJSHostRefRangeExceeded: () => QuickJSHostRefRangeExceeded, QuickJSMemoryLeakDetected: () => QuickJSMemoryLeakDetected, QuickJSNotImplemented: () => QuickJSNotImplemented, QuickJSPromisePending: () => QuickJSPromisePending, QuickJSUnknownIntrinsic: () => QuickJSUnknownIntrinsic, QuickJSUnwrapError: () => QuickJSUnwrapError, QuickJSUseAfterFree: () => QuickJSUseAfterFree, QuickJSWrongOwner: () => QuickJSWrongOwner });
31
+ var QuickJSUnwrapError = class extends Error {
32
+ constructor(cause, context) {
33
+ let message = typeof cause == "object" && cause && "message" in cause ? String(cause.message) : String(cause);
34
+ super(message);
35
+ this.cause = cause;
36
+ this.context = context;
37
+ this.name = "QuickJSUnwrapError";
38
+ }
39
+ };
40
+ var QuickJSWrongOwner = class extends Error {
41
+ constructor() {
42
+ super(...arguments);
43
+ this.name = "QuickJSWrongOwner";
44
+ }
45
+ };
46
+ var QuickJSUseAfterFree = class extends Error {
47
+ constructor() {
48
+ super(...arguments);
49
+ this.name = "QuickJSUseAfterFree";
50
+ }
51
+ };
52
+ var QuickJSNotImplemented = class extends Error {
53
+ constructor() {
54
+ super(...arguments);
55
+ this.name = "QuickJSNotImplemented";
56
+ }
57
+ };
58
+ var QuickJSAsyncifyError = class extends Error {
59
+ constructor() {
60
+ super(...arguments);
61
+ this.name = "QuickJSAsyncifyError";
62
+ }
63
+ };
64
+ var QuickJSAsyncifySuspended = class extends Error {
65
+ constructor() {
66
+ super(...arguments);
67
+ this.name = "QuickJSAsyncifySuspended";
68
+ }
69
+ };
70
+ var QuickJSMemoryLeakDetected = class extends Error {
71
+ constructor() {
72
+ super(...arguments);
73
+ this.name = "QuickJSMemoryLeakDetected";
74
+ }
75
+ };
76
+ var QuickJSEmscriptenModuleError = class extends Error {
77
+ constructor() {
78
+ super(...arguments);
79
+ this.name = "QuickJSEmscriptenModuleError";
80
+ }
81
+ };
82
+ var QuickJSUnknownIntrinsic = class extends TypeError {
83
+ constructor() {
84
+ super(...arguments);
85
+ this.name = "QuickJSUnknownIntrinsic";
86
+ }
87
+ };
88
+ var QuickJSPromisePending = class extends Error {
89
+ constructor() {
90
+ super(...arguments);
91
+ this.name = "QuickJSPromisePending";
92
+ }
93
+ };
94
+ var QuickJSEmptyGetOwnPropertyNames = class extends Error {
95
+ constructor() {
96
+ super(...arguments);
97
+ this.name = "QuickJSEmptyGetOwnPropertyNames";
98
+ }
99
+ };
100
+ var QuickJSHostRefRangeExceeded = class extends Error {
101
+ constructor() {
102
+ super(...arguments);
103
+ this.name = "QuickJSHostRefRangeExceeded";
104
+ }
105
+ };
106
+ var QuickJSHostRefInvalid = class extends Error {
107
+ constructor() {
108
+ super(...arguments);
109
+ this.name = "QuickJSHostRefInvalid";
110
+ }
111
+ };
112
+ function* awaitYield(value) {
113
+ return yield value;
114
+ }
115
+ function awaitYieldOf(generator) {
116
+ return awaitYield(awaitEachYieldedPromise(generator));
117
+ }
118
+ var AwaitYield = awaitYield;
119
+ AwaitYield.of = awaitYieldOf;
120
+ function maybeAsyncFn(that, fn) {
121
+ return (...args) => {
122
+ let generator = fn.call(that, AwaitYield, ...args);
123
+ return awaitEachYieldedPromise(generator);
124
+ };
125
+ }
126
+ function maybeAsync(that, startGenerator) {
127
+ let generator = startGenerator.call(that, AwaitYield);
128
+ return awaitEachYieldedPromise(generator);
129
+ }
130
+ function awaitEachYieldedPromise(gen) {
131
+ function handleNextStep(step) {
132
+ return step.done ? step.value : step.value instanceof Promise ? step.value.then((value) => handleNextStep(gen.next(value)), (error) => handleNextStep(gen.throw(error))) : handleNextStep(gen.next(step.value));
133
+ }
134
+ return handleNextStep(gen.next());
135
+ }
136
+ var UsingDisposable2 = class {
137
+ [Symbol.dispose]() {
138
+ return this.dispose();
139
+ }
140
+ };
141
+ var SymbolDispose = Symbol.dispose ?? Symbol.for("Symbol.dispose");
142
+ var prototypeAsAny = UsingDisposable2.prototype;
143
+ prototypeAsAny[SymbolDispose] || (prototypeAsAny[SymbolDispose] = function() {
144
+ return this.dispose();
145
+ });
146
+ var Lifetime2 = class _Lifetime extends UsingDisposable2 {
147
+ constructor(_value, copier, disposer, _owner) {
148
+ super();
149
+ this._value = _value;
150
+ this.copier = copier;
151
+ this.disposer = disposer;
152
+ this._owner = _owner;
153
+ this._alive = true;
154
+ this._constructorStack = QTS_DEBUG ? new Error("Lifetime constructed").stack : undefined;
155
+ }
156
+ get alive() {
157
+ return this._alive;
158
+ }
159
+ get value() {
160
+ return this.assertAlive(), this._value;
161
+ }
162
+ get owner() {
163
+ return this._owner;
164
+ }
165
+ get dupable() {
166
+ return !!this.copier;
167
+ }
168
+ dup() {
169
+ if (this.assertAlive(), !this.copier)
170
+ throw new Error("Non-dupable lifetime");
171
+ return new _Lifetime(this.copier(this._value), this.copier, this.disposer, this._owner);
172
+ }
173
+ consume(map) {
174
+ this.assertAlive();
175
+ let result = map(this);
176
+ return this.dispose(), result;
177
+ }
178
+ map(map) {
179
+ return this.assertAlive(), map(this);
180
+ }
181
+ tap(fn) {
182
+ return fn(this), this;
183
+ }
184
+ dispose() {
185
+ this.assertAlive(), this.disposer && this.disposer(this._value), this._alive = false;
186
+ }
187
+ assertAlive() {
188
+ if (!this.alive)
189
+ throw this._constructorStack ? new QuickJSUseAfterFree(`Lifetime not alive
190
+ ${this._constructorStack}
191
+ Lifetime used`) : new QuickJSUseAfterFree("Lifetime not alive");
192
+ }
193
+ };
194
+ var StaticLifetime2 = class extends Lifetime2 {
195
+ constructor(value, owner) {
196
+ super(value, undefined, undefined, owner);
197
+ }
198
+ get dupable() {
199
+ return true;
200
+ }
201
+ dup() {
202
+ return this;
203
+ }
204
+ dispose() {}
205
+ };
206
+ var WeakLifetime2 = class extends Lifetime2 {
207
+ constructor(value, copier, disposer, owner) {
208
+ super(value, copier, disposer, owner);
209
+ }
210
+ dispose() {
211
+ this._alive = false;
212
+ }
213
+ };
214
+ function scopeFinally(scope, blockError) {
215
+ let disposeError;
216
+ try {
217
+ scope.dispose();
218
+ } catch (error) {
219
+ disposeError = error;
220
+ }
221
+ if (blockError && disposeError)
222
+ throw Object.assign(blockError, { message: `${blockError.message}
223
+ Then, failed to dispose scope: ${disposeError.message}`, disposeError }), blockError;
224
+ if (blockError || disposeError)
225
+ throw blockError || disposeError;
226
+ }
227
+ var Scope2 = class _Scope extends UsingDisposable2 {
228
+ constructor() {
229
+ super(...arguments);
230
+ this._disposables = new Lifetime2(new Set);
231
+ this.manage = (lifetime) => (this._disposables.value.add(lifetime), lifetime);
232
+ }
233
+ static withScope(block) {
234
+ let scope = new _Scope, blockError;
235
+ try {
236
+ return block(scope);
237
+ } catch (error) {
238
+ throw blockError = error, error;
239
+ } finally {
240
+ scopeFinally(scope, blockError);
241
+ }
242
+ }
243
+ static withScopeMaybeAsync(_this, block) {
244
+ return maybeAsync(undefined, function* (awaited) {
245
+ let scope = new _Scope, blockError;
246
+ try {
247
+ return yield* awaited.of(block.call(_this, awaited, scope));
248
+ } catch (error) {
249
+ throw blockError = error, error;
250
+ } finally {
251
+ scopeFinally(scope, blockError);
252
+ }
253
+ });
254
+ }
255
+ static async withScopeAsync(block) {
256
+ let scope = new _Scope, blockError;
257
+ try {
258
+ return await block(scope);
259
+ } catch (error) {
260
+ throw blockError = error, error;
261
+ } finally {
262
+ scopeFinally(scope, blockError);
263
+ }
264
+ }
265
+ get alive() {
266
+ return this._disposables.alive;
267
+ }
268
+ dispose() {
269
+ let lifetimes = Array.from(this._disposables.value.values()).reverse();
270
+ for (let lifetime of lifetimes)
271
+ lifetime.alive && lifetime.dispose();
272
+ this._disposables.dispose();
273
+ }
274
+ };
275
+ function createDisposableArray2(items) {
276
+ let array = items ? Array.from(items) : [];
277
+ function disposeAlive() {
278
+ return array.forEach((disposable) => disposable.alive ? disposable.dispose() : undefined);
279
+ }
280
+ function someIsAlive() {
281
+ return array.some((disposable) => disposable.alive);
282
+ }
283
+ return Object.defineProperty(array, SymbolDispose, { configurable: true, enumerable: false, value: disposeAlive }), Object.defineProperty(array, "dispose", { configurable: true, enumerable: false, value: disposeAlive }), Object.defineProperty(array, "alive", { configurable: true, enumerable: false, get: someIsAlive }), array;
284
+ }
285
+ function isDisposable(value) {
286
+ return !!(value && (typeof value == "object" || typeof value == "function") && ("alive" in value) && typeof value.alive == "boolean" && ("dispose" in value) && typeof value.dispose == "function");
287
+ }
288
+ var AbstractDisposableResult = class _AbstractDisposableResult extends UsingDisposable2 {
289
+ static success(value) {
290
+ return new DisposableSuccess2(value);
291
+ }
292
+ static fail(error, onUnwrap) {
293
+ return new DisposableFail2(error, onUnwrap);
294
+ }
295
+ static is(result) {
296
+ return result instanceof _AbstractDisposableResult;
297
+ }
298
+ };
299
+ var DisposableSuccess2 = class extends AbstractDisposableResult {
300
+ constructor(value) {
301
+ super();
302
+ this.value = value;
303
+ }
304
+ get alive() {
305
+ return isDisposable(this.value) ? this.value.alive : true;
306
+ }
307
+ dispose() {
308
+ isDisposable(this.value) && this.value.dispose();
309
+ }
310
+ unwrap() {
311
+ return this.value;
312
+ }
313
+ unwrapOr(_fallback) {
314
+ return this.value;
315
+ }
316
+ };
317
+ var DisposableFail2 = class extends AbstractDisposableResult {
318
+ constructor(error, onUnwrap) {
319
+ super();
320
+ this.error = error;
321
+ this.onUnwrap = onUnwrap;
322
+ }
323
+ get alive() {
324
+ return isDisposable(this.error) ? this.error.alive : true;
325
+ }
326
+ dispose() {
327
+ isDisposable(this.error) && this.error.dispose();
328
+ }
329
+ unwrap() {
330
+ throw this.onUnwrap(this), this.error;
331
+ }
332
+ unwrapOr(fallback) {
333
+ return fallback;
334
+ }
335
+ };
336
+ var DisposableResult2 = AbstractDisposableResult;
337
+ var QuickJSDeferredPromise2 = class extends UsingDisposable2 {
338
+ constructor(args) {
339
+ super();
340
+ this.resolve = (value) => {
341
+ this.resolveHandle.alive && (this.context.unwrapResult(this.context.callFunction(this.resolveHandle, this.context.undefined, value || this.context.undefined)).dispose(), this.disposeResolvers(), this.onSettled());
342
+ };
343
+ this.reject = (value) => {
344
+ this.rejectHandle.alive && (this.context.unwrapResult(this.context.callFunction(this.rejectHandle, this.context.undefined, value || this.context.undefined)).dispose(), this.disposeResolvers(), this.onSettled());
345
+ };
346
+ this.dispose = () => {
347
+ this.handle.alive && this.handle.dispose(), this.disposeResolvers();
348
+ };
349
+ this.context = args.context, this.owner = args.context.runtime, this.handle = args.promiseHandle, this.settled = new Promise((resolve) => {
350
+ this.onSettled = resolve;
351
+ }), this.resolveHandle = args.resolveHandle, this.rejectHandle = args.rejectHandle;
352
+ }
353
+ get alive() {
354
+ return this.handle.alive || this.resolveHandle.alive || this.rejectHandle.alive;
355
+ }
356
+ disposeResolvers() {
357
+ this.resolveHandle.alive && this.resolveHandle.dispose(), this.rejectHandle.alive && this.rejectHandle.dispose();
358
+ }
359
+ };
360
+ var ModuleMemory = class {
361
+ constructor(module) {
362
+ this.module = module;
363
+ }
364
+ toPointerArray(handleArray) {
365
+ let typedArray = new Int32Array(handleArray.map((handle) => handle.value)), numBytes = typedArray.length * typedArray.BYTES_PER_ELEMENT, ptr = this.module._malloc(numBytes);
366
+ return new Uint8Array(this.module.HEAPU8.buffer, ptr, numBytes).set(new Uint8Array(typedArray.buffer)), new Lifetime2(ptr, undefined, (ptr2) => this.module._free(ptr2));
367
+ }
368
+ newTypedArray(kind, length) {
369
+ let zeros = new kind(new Array(length).fill(0)), numBytes = zeros.length * zeros.BYTES_PER_ELEMENT, ptr = this.module._malloc(numBytes), typedArray = new kind(this.module.HEAPU8.buffer, ptr, length);
370
+ return typedArray.set(zeros), new Lifetime2({ typedArray, ptr }, undefined, (value) => this.module._free(value.ptr));
371
+ }
372
+ newMutablePointerArray(length) {
373
+ return this.newTypedArray(Int32Array, length);
374
+ }
375
+ newHeapCharPointer(string) {
376
+ let strlen = this.module.lengthBytesUTF8(string), dataBytes = strlen + 1, ptr = this.module._malloc(dataBytes);
377
+ return this.module.stringToUTF8(string, ptr, dataBytes), new Lifetime2({ ptr, strlen }, undefined, (value) => this.module._free(value.ptr));
378
+ }
379
+ newHeapBufferPointer(buffer) {
380
+ let numBytes = buffer.byteLength, ptr = this.module._malloc(numBytes);
381
+ return this.module.HEAPU8.set(buffer, ptr), new Lifetime2({ pointer: ptr, numBytes }, undefined, (value) => this.module._free(value.pointer));
382
+ }
383
+ consumeHeapCharPointer(ptr) {
384
+ let str = this.module.UTF8ToString(ptr);
385
+ return this.module._free(ptr), str;
386
+ }
387
+ };
388
+ var UnstableSymbol = Symbol("Unstable");
389
+ var DefaultIntrinsics2 = Object.freeze({ BaseObjects: true, Date: true, Eval: true, StringNormalize: true, RegExp: true, JSON: true, Proxy: true, MapSet: true, TypedArrays: true, Promise: true });
390
+ function intrinsicsToFlags(intrinsics) {
391
+ if (!intrinsics)
392
+ return 0;
393
+ let result = 0;
394
+ for (let [maybeIntrinsicName, enabled] of Object.entries(intrinsics)) {
395
+ if (!(maybeIntrinsicName in IntrinsicsFlags2))
396
+ throw new QuickJSUnknownIntrinsic(maybeIntrinsicName);
397
+ enabled && (result |= IntrinsicsFlags2[maybeIntrinsicName]);
398
+ }
399
+ return result;
400
+ }
401
+ function evalOptionsToFlags(evalOptions) {
402
+ if (typeof evalOptions == "number")
403
+ return evalOptions;
404
+ if (evalOptions === undefined)
405
+ return 0;
406
+ let { type, strict, strip, compileOnly, backtraceBarrier } = evalOptions, flags = 0;
407
+ return type === "global" && (flags |= EvalFlags2.JS_EVAL_TYPE_GLOBAL), type === "module" && (flags |= EvalFlags2.JS_EVAL_TYPE_MODULE), strict && (flags |= EvalFlags2.JS_EVAL_FLAG_STRICT), strip && (flags |= EvalFlags2.JS_EVAL_FLAG_STRIP), compileOnly && (flags |= EvalFlags2.JS_EVAL_FLAG_COMPILE_ONLY), backtraceBarrier && (flags |= EvalFlags2.JS_EVAL_FLAG_BACKTRACE_BARRIER), flags;
408
+ }
409
+ function getOwnPropertyNamesOptionsToFlags(options) {
410
+ if (typeof options == "number")
411
+ return options;
412
+ if (options === undefined)
413
+ return 0;
414
+ let { strings: includeStrings, symbols: includeSymbols, quickjsPrivate: includePrivate, onlyEnumerable, numbers: includeNumbers, numbersAsStrings } = options, flags = 0;
415
+ return includeStrings && (flags |= GetOwnPropertyNamesFlags2.JS_GPN_STRING_MASK), includeSymbols && (flags |= GetOwnPropertyNamesFlags2.JS_GPN_SYMBOL_MASK), includePrivate && (flags |= GetOwnPropertyNamesFlags2.JS_GPN_PRIVATE_MASK), onlyEnumerable && (flags |= GetOwnPropertyNamesFlags2.JS_GPN_ENUM_ONLY), includeNumbers && (flags |= GetOwnPropertyNamesFlags2.QTS_GPN_NUMBER_MASK), numbersAsStrings && (flags |= GetOwnPropertyNamesFlags2.QTS_STANDARD_COMPLIANT_NUMBER), flags;
416
+ }
417
+ function concat(...values) {
418
+ let result = [];
419
+ for (let value of values)
420
+ value !== undefined && (result = result.concat(value));
421
+ return result;
422
+ }
423
+ var QuickJSIterator = class extends UsingDisposable2 {
424
+ constructor(handle, context) {
425
+ super();
426
+ this.handle = handle;
427
+ this.context = context;
428
+ this._isDone = false;
429
+ this.owner = context.runtime;
430
+ }
431
+ [Symbol.iterator]() {
432
+ return this;
433
+ }
434
+ next(value) {
435
+ if (!this.alive || this._isDone)
436
+ return { done: true, value: undefined };
437
+ let nextMethod = this._next ?? (this._next = this.context.getProp(this.handle, "next"));
438
+ return this.callIteratorMethod(nextMethod, value);
439
+ }
440
+ return(value) {
441
+ if (!this.alive)
442
+ return { done: true, value: undefined };
443
+ let returnMethod = this.context.getProp(this.handle, "return");
444
+ if (returnMethod === this.context.undefined && value === undefined)
445
+ return this.dispose(), { done: true, value: undefined };
446
+ let result = this.callIteratorMethod(returnMethod, value);
447
+ return returnMethod.dispose(), this.dispose(), result;
448
+ }
449
+ throw(e) {
450
+ if (!this.alive)
451
+ return { done: true, value: undefined };
452
+ let errorHandle = e instanceof Lifetime2 ? e : this.context.newError(e), throwMethod = this.context.getProp(this.handle, "throw"), result = this.callIteratorMethod(throwMethod, e);
453
+ return errorHandle.alive && errorHandle.dispose(), throwMethod.dispose(), this.dispose(), result;
454
+ }
455
+ get alive() {
456
+ return this.handle.alive;
457
+ }
458
+ dispose() {
459
+ this._isDone = true, this.handle.dispose(), this._next?.dispose();
460
+ }
461
+ callIteratorMethod(method, input) {
462
+ let callResult = input ? this.context.callFunction(method, this.handle, input) : this.context.callFunction(method, this.handle);
463
+ if (callResult.error)
464
+ return this.dispose(), { value: callResult };
465
+ let done = this.context.getProp(callResult.value, "done").consume((v) => this.context.dump(v)), value = this.context.getProp(callResult.value, "value");
466
+ return callResult.value.dispose(), done && this.dispose(), { value: DisposableResult2.success(value), done };
467
+ }
468
+ };
469
+ var INT32_MIN = -2147483648;
470
+ var INT32_MAX = 2147483647;
471
+ var INVALID_HOST_REF_ID = 0;
472
+ function getGroupId(id) {
473
+ return id >> 8;
474
+ }
475
+ var HostRefMap = class {
476
+ constructor() {
477
+ this.nextId = INT32_MIN;
478
+ this.freelist = [];
479
+ this.groups = new Map;
480
+ }
481
+ put(value) {
482
+ let id = this.allocateId(), groupId = getGroupId(id), group = this.groups.get(groupId);
483
+ return group || (group = new Map, this.groups.set(groupId, group)), group.set(id, value), id;
484
+ }
485
+ get(id) {
486
+ if (id === INVALID_HOST_REF_ID)
487
+ throw new QuickJSHostRefInvalid("no host reference id defined");
488
+ let groupId = getGroupId(id), group = this.groups.get(groupId);
489
+ if (!group)
490
+ throw new QuickJSHostRefInvalid(`host reference id ${id} is not defined`);
491
+ let value = group.get(id);
492
+ if (!value)
493
+ throw new QuickJSHostRefInvalid(`host reference id ${id} is not defined`);
494
+ return value;
495
+ }
496
+ delete(id) {
497
+ if (id === INVALID_HOST_REF_ID)
498
+ throw new QuickJSHostRefInvalid("no host reference id defined");
499
+ let groupId = getGroupId(id), group = this.groups.get(groupId);
500
+ if (!group)
501
+ throw new QuickJSHostRefInvalid(`host reference id ${id} is not defined`);
502
+ group.delete(id), group.size === 0 && this.groups.delete(groupId), this.freelist.push(id);
503
+ }
504
+ allocateId() {
505
+ if (this.freelist.length > 0)
506
+ return this.freelist.shift();
507
+ if (this.nextId === INVALID_HOST_REF_ID && this.nextId++, this.nextId > INT32_MAX)
508
+ throw new QuickJSHostRefRangeExceeded(`HostRefMap: too many host refs created without disposing. Max simultaneous host refs: ${INT32_MAX - INT32_MIN}`);
509
+ return this.nextId++;
510
+ }
511
+ };
512
+ var HostRef = class extends UsingDisposable2 {
513
+ constructor(runtime, handle, id) {
514
+ if (id === INVALID_HOST_REF_ID)
515
+ throw new QuickJSHostRefInvalid("cannot create HostRef with undefined id");
516
+ super();
517
+ this.runtime = runtime;
518
+ this.handle = handle;
519
+ this.id = id;
520
+ }
521
+ get alive() {
522
+ return this.handle.alive;
523
+ }
524
+ dispose() {
525
+ this.handle.dispose();
526
+ }
527
+ get value() {
528
+ return this.runtime.hostRefs.get(this.id);
529
+ }
530
+ };
531
+ var ContextMemory = class extends ModuleMemory {
532
+ constructor(args) {
533
+ super(args.module);
534
+ this.scope = new Scope2;
535
+ this.copyJSValue = (ptr) => this.ffi.QTS_DupValuePointer(this.ctx.value, ptr);
536
+ this.freeJSValue = (ptr) => {
537
+ this.ffi.QTS_FreeValuePointer(this.ctx.value, ptr);
538
+ };
539
+ args.ownedLifetimes?.forEach((lifetime) => this.scope.manage(lifetime)), this.owner = args.owner, this.module = args.module, this.ffi = args.ffi, this.rt = args.rt, this.ctx = this.scope.manage(args.ctx);
540
+ }
541
+ get alive() {
542
+ return this.scope.alive;
543
+ }
544
+ dispose() {
545
+ return this.scope.dispose();
546
+ }
547
+ [Symbol.dispose]() {
548
+ return this.dispose();
549
+ }
550
+ manage(lifetime) {
551
+ return this.scope.manage(lifetime);
552
+ }
553
+ consumeJSCharPointer(ptr) {
554
+ let str = this.module.UTF8ToString(ptr);
555
+ return this.ffi.QTS_FreeCString(this.ctx.value, ptr), str;
556
+ }
557
+ heapValueHandle(ptr, extraDispose) {
558
+ let dispose = extraDispose ? (val) => {
559
+ extraDispose(), this.freeJSValue(val);
560
+ } : this.freeJSValue;
561
+ return new Lifetime2(ptr, this.copyJSValue, dispose, this.owner);
562
+ }
563
+ staticHeapValueHandle(ptr) {
564
+ return this.manage(this.heapValueHandle(ptr)), new StaticLifetime2(ptr, this.owner);
565
+ }
566
+ };
567
+ var QuickJSContext2 = class extends UsingDisposable2 {
568
+ constructor(args) {
569
+ super();
570
+ this._undefined = undefined;
571
+ this._null = undefined;
572
+ this._false = undefined;
573
+ this._true = undefined;
574
+ this._global = undefined;
575
+ this._BigInt = undefined;
576
+ this._Symbol = undefined;
577
+ this._SymbolIterator = undefined;
578
+ this._SymbolAsyncIterator = undefined;
579
+ this.cToHostCallbacks = { callFunction: (ctx, this_ptr, argc, argv, fn_id) => {
580
+ if (ctx !== this.ctx.value)
581
+ throw new Error("QuickJSContext instance received C -> JS call with mismatched ctx");
582
+ let fn = this.getFunction(fn_id);
583
+ return Scope2.withScopeMaybeAsync(this, function* (awaited, scope) {
584
+ let thisHandle = scope.manage(new WeakLifetime2(this_ptr, this.memory.copyJSValue, this.memory.freeJSValue, this.runtime)), argHandles = new Array(argc);
585
+ for (let i = 0;i < argc; i++) {
586
+ let ptr = this.ffi.QTS_ArgvGetJSValueConstPointer(argv, i);
587
+ argHandles[i] = scope.manage(new WeakLifetime2(ptr, this.memory.copyJSValue, this.memory.freeJSValue, this.runtime));
588
+ }
589
+ try {
590
+ let result = yield* awaited(fn.apply(thisHandle, argHandles));
591
+ if (result) {
592
+ if ("error" in result && result.error)
593
+ throw this.runtime.debugLog("throw error", result.error), result.error;
594
+ let handle = scope.manage(result instanceof Lifetime2 ? result : result.value);
595
+ return this.ffi.QTS_DupValuePointer(this.ctx.value, handle.value);
596
+ }
597
+ return 0;
598
+ } catch (error) {
599
+ return this.errorToHandle(error).consume((errorHandle) => this.ffi.QTS_Throw(this.ctx.value, errorHandle.value));
600
+ }
601
+ });
602
+ } };
603
+ this.runtime = args.runtime, this.module = args.module, this.ffi = args.ffi, this.rt = args.rt, this.ctx = args.ctx, this.memory = new ContextMemory({ ...args, owner: this.runtime }), args.callbacks.setContextCallbacks(this.ctx.value, this.cToHostCallbacks), this.dump = this.dump.bind(this), this.getString = this.getString.bind(this), this.getNumber = this.getNumber.bind(this), this.resolvePromise = this.resolvePromise.bind(this), this.uint32Out = this.memory.manage(this.memory.newTypedArray(Uint32Array, 1));
604
+ }
605
+ get alive() {
606
+ return this.memory.alive;
607
+ }
608
+ dispose() {
609
+ this.memory.dispose();
610
+ }
611
+ get undefined() {
612
+ if (this._undefined)
613
+ return this._undefined;
614
+ let ptr = this.ffi.QTS_GetUndefined();
615
+ return this._undefined = new StaticLifetime2(ptr);
616
+ }
617
+ get null() {
618
+ if (this._null)
619
+ return this._null;
620
+ let ptr = this.ffi.QTS_GetNull();
621
+ return this._null = new StaticLifetime2(ptr);
622
+ }
623
+ get true() {
624
+ if (this._true)
625
+ return this._true;
626
+ let ptr = this.ffi.QTS_GetTrue();
627
+ return this._true = new StaticLifetime2(ptr);
628
+ }
629
+ get false() {
630
+ if (this._false)
631
+ return this._false;
632
+ let ptr = this.ffi.QTS_GetFalse();
633
+ return this._false = new StaticLifetime2(ptr);
634
+ }
635
+ get global() {
636
+ if (this._global)
637
+ return this._global;
638
+ let ptr = this.ffi.QTS_GetGlobalObject(this.ctx.value);
639
+ return this._global = this.memory.staticHeapValueHandle(ptr), this._global;
640
+ }
641
+ newNumber(num) {
642
+ return this.memory.heapValueHandle(this.ffi.QTS_NewFloat64(this.ctx.value, num));
643
+ }
644
+ newString(str) {
645
+ let ptr = this.memory.newHeapCharPointer(str).consume((charHandle) => this.ffi.QTS_NewString(this.ctx.value, charHandle.value.ptr));
646
+ return this.memory.heapValueHandle(ptr);
647
+ }
648
+ newUniqueSymbol(description) {
649
+ let key = (typeof description == "symbol" ? description.description : description) ?? "", ptr = this.memory.newHeapCharPointer(key).consume((charHandle) => this.ffi.QTS_NewSymbol(this.ctx.value, charHandle.value.ptr, 0));
650
+ return this.memory.heapValueHandle(ptr);
651
+ }
652
+ newSymbolFor(key) {
653
+ let description = (typeof key == "symbol" ? key.description : key) ?? "", ptr = this.memory.newHeapCharPointer(description).consume((charHandle) => this.ffi.QTS_NewSymbol(this.ctx.value, charHandle.value.ptr, 1));
654
+ return this.memory.heapValueHandle(ptr);
655
+ }
656
+ getWellKnownSymbol(name) {
657
+ return this._Symbol ?? (this._Symbol = this.memory.manage(this.getProp(this.global, "Symbol"))), this.getProp(this._Symbol, name);
658
+ }
659
+ newBigInt(num) {
660
+ if (!this._BigInt) {
661
+ let bigIntHandle2 = this.getProp(this.global, "BigInt");
662
+ this.memory.manage(bigIntHandle2), this._BigInt = new StaticLifetime2(bigIntHandle2.value, this.runtime);
663
+ }
664
+ let bigIntHandle = this._BigInt, asString = String(num);
665
+ return this.newString(asString).consume((handle) => this.unwrapResult(this.callFunction(bigIntHandle, this.undefined, handle)));
666
+ }
667
+ newObject(prototype) {
668
+ prototype && this.runtime.assertOwned(prototype);
669
+ let ptr = prototype ? this.ffi.QTS_NewObjectProto(this.ctx.value, prototype.value) : this.ffi.QTS_NewObject(this.ctx.value);
670
+ return this.memory.heapValueHandle(ptr);
671
+ }
672
+ newArray() {
673
+ let ptr = this.ffi.QTS_NewArray(this.ctx.value);
674
+ return this.memory.heapValueHandle(ptr);
675
+ }
676
+ newArrayBuffer(buffer) {
677
+ let array = new Uint8Array(buffer), handle = this.memory.newHeapBufferPointer(array), ptr = this.ffi.QTS_NewArrayBuffer(this.ctx.value, handle.value.pointer, array.length);
678
+ return this.memory.heapValueHandle(ptr);
679
+ }
680
+ newPromise(value) {
681
+ let deferredPromise = Scope2.withScope((scope) => {
682
+ let mutablePointerArray = scope.manage(this.memory.newMutablePointerArray(2)), promisePtr = this.ffi.QTS_NewPromiseCapability(this.ctx.value, mutablePointerArray.value.ptr), promiseHandle = this.memory.heapValueHandle(promisePtr), [resolveHandle, rejectHandle] = Array.from(mutablePointerArray.value.typedArray).map((jsvaluePtr) => this.memory.heapValueHandle(jsvaluePtr));
683
+ return new QuickJSDeferredPromise2({ context: this, promiseHandle, resolveHandle, rejectHandle });
684
+ });
685
+ return value && typeof value == "function" && (value = new Promise(value)), value && Promise.resolve(value).then(deferredPromise.resolve, (error) => error instanceof Lifetime2 ? deferredPromise.reject(error) : this.newError(error).consume(deferredPromise.reject)), deferredPromise;
686
+ }
687
+ newFunction(nameOrFn, maybeFn) {
688
+ let fn = typeof nameOrFn == "function" ? nameOrFn : maybeFn;
689
+ if (!fn)
690
+ throw new TypeError("Expected a function");
691
+ return this.newFunctionWithOptions({ name: typeof nameOrFn == "string" ? nameOrFn : undefined, length: fn.length, isConstructor: false, fn });
692
+ }
693
+ newConstructorFunction(nameOrFn, maybeFn) {
694
+ let fn = typeof nameOrFn == "function" ? nameOrFn : maybeFn;
695
+ if (!fn)
696
+ throw new TypeError("Expected a function");
697
+ return this.newFunctionWithOptions({ name: typeof nameOrFn == "string" ? nameOrFn : undefined, length: fn.length, isConstructor: true, fn });
698
+ }
699
+ newFunctionWithOptions(args) {
700
+ let { name, length, isConstructor, fn } = args, refId = this.runtime.hostRefs.put(fn);
701
+ try {
702
+ return this.memory.heapValueHandle(this.ffi.QTS_NewFunction(this.ctx.value, name ?? "", length, isConstructor, refId));
703
+ } catch (error) {
704
+ throw this.runtime.hostRefs.delete(refId), error;
705
+ }
706
+ }
707
+ newError(error) {
708
+ let errorHandle = this.memory.heapValueHandle(this.ffi.QTS_NewError(this.ctx.value));
709
+ return error && typeof error == "object" ? (error.name !== undefined && this.newString(error.name).consume((handle) => this.setProp(errorHandle, "name", handle)), error.message !== undefined && this.newString(error.message).consume((handle) => this.setProp(errorHandle, "message", handle))) : typeof error == "string" ? this.newString(error).consume((handle) => this.setProp(errorHandle, "message", handle)) : error !== undefined && this.newString(String(error)).consume((handle) => this.setProp(errorHandle, "message", handle)), errorHandle;
710
+ }
711
+ newHostRef(value) {
712
+ let id = this.runtime.hostRefs.put(value);
713
+ try {
714
+ let handle = this.memory.heapValueHandle(this.ffi.QTS_NewHostRef(this.ctx.value, id));
715
+ return new HostRef(this.runtime, handle, id);
716
+ } catch (error) {
717
+ throw this.runtime.hostRefs.delete(id), error;
718
+ }
719
+ }
720
+ toHostRef(handle) {
721
+ let id = this.ffi.QTS_GetHostRefId(handle.value);
722
+ if (id !== 0)
723
+ return this.runtime.hostRefs.get(id), new HostRef(this.runtime, handle.dup(), id);
724
+ }
725
+ unwrapHostRef(handle) {
726
+ let id = this.ffi.QTS_GetHostRefId(handle.value);
727
+ if (id === 0)
728
+ throw new QuickJSHostRefInvalid("handle is not a HostRef");
729
+ return this.runtime.hostRefs.get(id);
730
+ }
731
+ typeof(handle) {
732
+ return this.runtime.assertOwned(handle), this.memory.consumeHeapCharPointer(this.ffi.QTS_Typeof(this.ctx.value, handle.value));
733
+ }
734
+ getNumber(handle) {
735
+ return this.runtime.assertOwned(handle), this.ffi.QTS_GetFloat64(this.ctx.value, handle.value);
736
+ }
737
+ getString(handle) {
738
+ return this.runtime.assertOwned(handle), this.memory.consumeJSCharPointer(this.ffi.QTS_GetString(this.ctx.value, handle.value));
739
+ }
740
+ getSymbol(handle) {
741
+ this.runtime.assertOwned(handle);
742
+ let key = this.memory.consumeJSCharPointer(this.ffi.QTS_GetSymbolDescriptionOrKey(this.ctx.value, handle.value));
743
+ return this.ffi.QTS_IsGlobalSymbol(this.ctx.value, handle.value) ? Symbol.for(key) : Symbol(key);
744
+ }
745
+ getBigInt(handle) {
746
+ this.runtime.assertOwned(handle);
747
+ let asString = this.getString(handle);
748
+ return BigInt(asString);
749
+ }
750
+ getArrayBuffer(handle) {
751
+ this.runtime.assertOwned(handle);
752
+ let len = this.ffi.QTS_GetArrayBufferLength(this.ctx.value, handle.value), ptr = this.ffi.QTS_GetArrayBuffer(this.ctx.value, handle.value);
753
+ if (!ptr)
754
+ throw new Error("Couldn't allocate memory to get ArrayBuffer");
755
+ return new Lifetime2(this.module.HEAPU8.subarray(ptr, ptr + len), undefined, () => this.module._free(ptr));
756
+ }
757
+ getPromiseState(handle) {
758
+ this.runtime.assertOwned(handle);
759
+ let state = this.ffi.QTS_PromiseState(this.ctx.value, handle.value);
760
+ if (state < 0)
761
+ return { type: "fulfilled", value: handle, notAPromise: true };
762
+ if (state === JSPromiseStateEnum2.Pending)
763
+ return { type: "pending", get error() {
764
+ return new QuickJSPromisePending("Cannot unwrap a pending promise");
765
+ } };
766
+ let ptr = this.ffi.QTS_PromiseResult(this.ctx.value, handle.value), result = this.memory.heapValueHandle(ptr);
767
+ if (state === JSPromiseStateEnum2.Fulfilled)
768
+ return { type: "fulfilled", value: result };
769
+ if (state === JSPromiseStateEnum2.Rejected)
770
+ return { type: "rejected", error: result };
771
+ throw result.dispose(), new Error(`Unknown JSPromiseStateEnum: ${state}`);
772
+ }
773
+ resolvePromise(promiseLikeHandle) {
774
+ this.runtime.assertOwned(promiseLikeHandle);
775
+ let vmResolveResult = Scope2.withScope((scope) => {
776
+ let vmPromise = scope.manage(this.getProp(this.global, "Promise")), vmPromiseResolve = scope.manage(this.getProp(vmPromise, "resolve"));
777
+ return this.callFunction(vmPromiseResolve, vmPromise, promiseLikeHandle);
778
+ });
779
+ return vmResolveResult.error ? Promise.resolve(vmResolveResult) : new Promise((resolve) => {
780
+ Scope2.withScope((scope) => {
781
+ let resolveHandle = scope.manage(this.newFunction("resolve", (value) => {
782
+ resolve(this.success(value && value.dup()));
783
+ })), rejectHandle = scope.manage(this.newFunction("reject", (error) => {
784
+ resolve(this.fail(error && error.dup()));
785
+ })), promiseHandle = scope.manage(vmResolveResult.value), promiseThenHandle = scope.manage(this.getProp(promiseHandle, "then"));
786
+ this.callFunction(promiseThenHandle, promiseHandle, resolveHandle, rejectHandle).unwrap().dispose();
787
+ });
788
+ });
789
+ }
790
+ isEqual(a, b, equalityType = IsEqualOp2.IsStrictlyEqual) {
791
+ if (a === b)
792
+ return true;
793
+ this.runtime.assertOwned(a), this.runtime.assertOwned(b);
794
+ let result = this.ffi.QTS_IsEqual(this.ctx.value, a.value, b.value, equalityType);
795
+ if (result === -1)
796
+ throw new QuickJSNotImplemented("WASM variant does not expose equality");
797
+ return !!result;
798
+ }
799
+ eq(handle, other) {
800
+ return this.isEqual(handle, other, IsEqualOp2.IsStrictlyEqual);
801
+ }
802
+ sameValue(handle, other) {
803
+ return this.isEqual(handle, other, IsEqualOp2.IsSameValue);
804
+ }
805
+ sameValueZero(handle, other) {
806
+ return this.isEqual(handle, other, IsEqualOp2.IsSameValueZero);
807
+ }
808
+ getProp(handle, key) {
809
+ this.runtime.assertOwned(handle);
810
+ let ptr;
811
+ return typeof key == "number" && key >= 0 ? ptr = this.ffi.QTS_GetPropNumber(this.ctx.value, handle.value, key) : ptr = this.borrowPropertyKey(key).consume((quickJSKey) => this.ffi.QTS_GetProp(this.ctx.value, handle.value, quickJSKey.value)), this.memory.heapValueHandle(ptr);
812
+ }
813
+ getLength(handle) {
814
+ if (this.runtime.assertOwned(handle), !(this.ffi.QTS_GetLength(this.ctx.value, this.uint32Out.value.ptr, handle.value) < 0))
815
+ return this.uint32Out.value.typedArray[0];
816
+ }
817
+ getOwnPropertyNames(handle, options = { strings: true, numbersAsStrings: true }) {
818
+ this.runtime.assertOwned(handle), handle.value;
819
+ let flags = getOwnPropertyNamesOptionsToFlags(options);
820
+ if (flags === 0)
821
+ throw new QuickJSEmptyGetOwnPropertyNames("No options set, will return an empty array");
822
+ return Scope2.withScope((scope) => {
823
+ let outPtr = scope.manage(this.memory.newMutablePointerArray(1)), errorPtr = this.ffi.QTS_GetOwnPropertyNames(this.ctx.value, outPtr.value.ptr, this.uint32Out.value.ptr, handle.value, flags);
824
+ if (errorPtr)
825
+ return this.fail(this.memory.heapValueHandle(errorPtr));
826
+ let len = this.uint32Out.value.typedArray[0], ptr = outPtr.value.typedArray[0], pointerArray = new Uint32Array(this.module.HEAP8.buffer, ptr, len), handles = Array.from(pointerArray).map((ptr2) => this.memory.heapValueHandle(ptr2));
827
+ return this.ffi.QTS_FreeVoidPointer(this.ctx.value, ptr), this.success(createDisposableArray2(handles));
828
+ });
829
+ }
830
+ getIterator(iterableHandle) {
831
+ let SymbolIterator = this._SymbolIterator ?? (this._SymbolIterator = this.memory.manage(this.getWellKnownSymbol("iterator")));
832
+ return Scope2.withScope((scope) => {
833
+ let methodHandle = scope.manage(this.getProp(iterableHandle, SymbolIterator)), iteratorCallResult = this.callFunction(methodHandle, iterableHandle);
834
+ return iteratorCallResult.error ? iteratorCallResult : this.success(new QuickJSIterator(iteratorCallResult.value, this));
835
+ });
836
+ }
837
+ setProp(handle, key, value) {
838
+ this.runtime.assertOwned(handle), this.borrowPropertyKey(key).consume((quickJSKey) => this.ffi.QTS_SetProp(this.ctx.value, handle.value, quickJSKey.value, value.value));
839
+ }
840
+ defineProp(handle, key, descriptor) {
841
+ this.runtime.assertOwned(handle), Scope2.withScope((scope) => {
842
+ let quickJSKey = scope.manage(this.borrowPropertyKey(key)), value = descriptor.value || this.undefined, configurable = !!descriptor.configurable, enumerable = !!descriptor.enumerable, hasValue = !!descriptor.value, get = descriptor.get ? scope.manage(this.newFunction(descriptor.get.name, descriptor.get)) : this.undefined, set = descriptor.set ? scope.manage(this.newFunction(descriptor.set.name, descriptor.set)) : this.undefined;
843
+ this.ffi.QTS_DefineProp(this.ctx.value, handle.value, quickJSKey.value, value.value, get.value, set.value, configurable, enumerable, hasValue);
844
+ });
845
+ }
846
+ callFunction(func, thisVal, ...restArgs) {
847
+ this.runtime.assertOwned(func);
848
+ let args, firstArg = restArgs[0];
849
+ firstArg === undefined || Array.isArray(firstArg) ? args = firstArg ?? [] : args = restArgs;
850
+ let resultPtr = this.memory.toPointerArray(args).consume((argsArrayPtr) => this.ffi.QTS_Call(this.ctx.value, func.value, thisVal.value, args.length, argsArrayPtr.value)), errorPtr = this.ffi.QTS_ResolveException(this.ctx.value, resultPtr);
851
+ return errorPtr ? (this.ffi.QTS_FreeValuePointer(this.ctx.value, resultPtr), this.fail(this.memory.heapValueHandle(errorPtr))) : this.success(this.memory.heapValueHandle(resultPtr));
852
+ }
853
+ callMethod(thisHandle, key, args = []) {
854
+ return this.getProp(thisHandle, key).consume((func) => this.callFunction(func, thisHandle, args));
855
+ }
856
+ evalCode(code, filename = "eval.js", options) {
857
+ let detectModule = options === undefined ? 1 : 0, flags = evalOptionsToFlags(options), resultPtr = this.memory.newHeapCharPointer(code).consume((charHandle) => this.ffi.QTS_Eval(this.ctx.value, charHandle.value.ptr, charHandle.value.strlen, filename, detectModule, flags)), errorPtr = this.ffi.QTS_ResolveException(this.ctx.value, resultPtr);
858
+ return errorPtr ? (this.ffi.QTS_FreeValuePointer(this.ctx.value, resultPtr), this.fail(this.memory.heapValueHandle(errorPtr))) : this.success(this.memory.heapValueHandle(resultPtr));
859
+ }
860
+ throw(error) {
861
+ return this.errorToHandle(error).consume((handle) => this.ffi.QTS_Throw(this.ctx.value, handle.value));
862
+ }
863
+ borrowPropertyKey(key) {
864
+ return typeof key == "number" ? this.newNumber(key) : typeof key == "string" ? this.newString(key) : new StaticLifetime2(key.value, this.runtime);
865
+ }
866
+ getMemory(rt) {
867
+ if (rt === this.rt.value)
868
+ return this.memory;
869
+ throw new Error("Private API. Cannot get memory from a different runtime");
870
+ }
871
+ dump(handle) {
872
+ this.runtime.assertOwned(handle);
873
+ let type = this.typeof(handle);
874
+ if (type === "string")
875
+ return this.getString(handle);
876
+ if (type === "number")
877
+ return this.getNumber(handle);
878
+ if (type === "bigint")
879
+ return this.getBigInt(handle);
880
+ if (type === "undefined")
881
+ return;
882
+ if (type === "symbol")
883
+ return this.getSymbol(handle);
884
+ let asPromiseState = this.getPromiseState(handle);
885
+ if (asPromiseState.type === "fulfilled" && !asPromiseState.notAPromise)
886
+ return handle.dispose(), { type: asPromiseState.type, value: asPromiseState.value.consume(this.dump) };
887
+ if (asPromiseState.type === "pending")
888
+ return handle.dispose(), { type: asPromiseState.type };
889
+ if (asPromiseState.type === "rejected")
890
+ return handle.dispose(), { type: asPromiseState.type, error: asPromiseState.error.consume(this.dump) };
891
+ let str = this.memory.consumeJSCharPointer(this.ffi.QTS_Dump(this.ctx.value, handle.value));
892
+ try {
893
+ return JSON.parse(str);
894
+ } catch {
895
+ return str;
896
+ }
897
+ }
898
+ unwrapResult(result) {
899
+ if (result.error) {
900
+ let context = "context" in result.error ? result.error.context : this, cause = result.error.consume((error) => this.dump(error));
901
+ if (cause && typeof cause == "object" && typeof cause.message == "string") {
902
+ let { message, name, stack, ...rest } = cause, exception = new QuickJSUnwrapError(cause, context);
903
+ typeof name == "string" && (exception.name = cause.name), exception.message = message;
904
+ let hostStack = exception.stack;
905
+ throw typeof stack == "string" && (exception.stack = `${name}: ${message}
906
+ ${cause.stack}Host: ${hostStack}`), Object.assign(exception, rest), exception;
907
+ }
908
+ throw new QuickJSUnwrapError(cause);
909
+ }
910
+ return result.value;
911
+ }
912
+ [Symbol.for("nodejs.util.inspect.custom")]() {
913
+ return this.alive ? `${this.constructor.name} { ctx: ${this.ctx.value} rt: ${this.rt.value} }` : `${this.constructor.name} { disposed }`;
914
+ }
915
+ getFunction(fn_id) {
916
+ let fn = this.runtime.hostRefs.get(fn_id);
917
+ if (typeof fn != "function")
918
+ throw new Error(`Host reference ${fn_id} is not a function`);
919
+ return fn;
920
+ }
921
+ errorToHandle(error) {
922
+ return error instanceof Lifetime2 ? error : this.newError(error);
923
+ }
924
+ encodeBinaryJSON(handle) {
925
+ let ptr = this.ffi.QTS_bjson_encode(this.ctx.value, handle.value);
926
+ return this.memory.heapValueHandle(ptr);
927
+ }
928
+ decodeBinaryJSON(handle) {
929
+ let ptr = this.ffi.QTS_bjson_decode(this.ctx.value, handle.value);
930
+ return this.memory.heapValueHandle(ptr);
931
+ }
932
+ success(value) {
933
+ return DisposableResult2.success(value);
934
+ }
935
+ fail(error) {
936
+ return DisposableResult2.fail(error, (error2) => this.unwrapResult(error2));
937
+ }
938
+ };
939
+ var QuickJSRuntime2 = class extends UsingDisposable2 {
940
+ constructor(args) {
941
+ super();
942
+ this.scope = new Scope2;
943
+ this.contextMap = new Map;
944
+ this.hostRefs = new HostRefMap;
945
+ this._debugMode = false;
946
+ this.cToHostCallbacks = { freeHostRef: (rt, host_ref_id) => {
947
+ if (rt !== this.rt.value)
948
+ throw new Error("Runtime pointer mismatch");
949
+ this.hostRefs.delete(host_ref_id);
950
+ }, shouldInterrupt: (rt) => {
951
+ if (rt !== this.rt.value)
952
+ throw new Error("QuickJSContext instance received C -> JS interrupt with mismatched rt");
953
+ let fn = this.interruptHandler;
954
+ if (!fn)
955
+ throw new Error("QuickJSContext had no interrupt handler");
956
+ return fn(this) ? 1 : 0;
957
+ }, loadModuleSource: maybeAsyncFn(this, function* (awaited, rt, ctx, moduleName) {
958
+ let moduleLoader = this.moduleLoader;
959
+ if (!moduleLoader)
960
+ throw new Error("Runtime has no module loader");
961
+ if (rt !== this.rt.value)
962
+ throw new Error("Runtime pointer mismatch");
963
+ let context = this.contextMap.get(ctx) ?? this.newContext({ contextPointer: ctx });
964
+ try {
965
+ let result = yield* awaited(moduleLoader(moduleName, context));
966
+ if (typeof result == "object" && "error" in result && result.error)
967
+ throw this.debugLog("cToHostLoadModule: loader returned error", result.error), result.error;
968
+ let moduleSource = typeof result == "string" ? result : ("value" in result) ? result.value : result;
969
+ return this.memory.newHeapCharPointer(moduleSource).value.ptr;
970
+ } catch (error) {
971
+ return this.debugLog("cToHostLoadModule: caught error", error), context.throw(error), 0;
972
+ }
973
+ }), normalizeModule: maybeAsyncFn(this, function* (awaited, rt, ctx, baseModuleName, moduleNameRequest) {
974
+ let moduleNormalizer = this.moduleNormalizer;
975
+ if (!moduleNormalizer)
976
+ throw new Error("Runtime has no module normalizer");
977
+ if (rt !== this.rt.value)
978
+ throw new Error("Runtime pointer mismatch");
979
+ let context = this.contextMap.get(ctx) ?? this.newContext({ contextPointer: ctx });
980
+ try {
981
+ let result = yield* awaited(moduleNormalizer(baseModuleName, moduleNameRequest, context));
982
+ if (typeof result == "object" && "error" in result && result.error)
983
+ throw this.debugLog("cToHostNormalizeModule: normalizer returned error", result.error), result.error;
984
+ let name = typeof result == "string" ? result : result.value;
985
+ return context.getMemory(this.rt.value).newHeapCharPointer(name).value.ptr;
986
+ } catch (error) {
987
+ return this.debugLog("normalizeModule: caught error", error), context.throw(error), 0;
988
+ }
989
+ }) };
990
+ args.ownedLifetimes?.forEach((lifetime) => this.scope.manage(lifetime)), this.module = args.module, this.memory = new ModuleMemory(this.module), this.ffi = args.ffi, this.rt = args.rt, this.callbacks = args.callbacks, this.scope.manage(this.rt), this.callbacks.setRuntimeCallbacks(this.rt.value, this.cToHostCallbacks), this.executePendingJobs = this.executePendingJobs.bind(this), QTS_DEBUG && this.setDebugMode(true);
991
+ }
992
+ get alive() {
993
+ return this.scope.alive;
994
+ }
995
+ dispose() {
996
+ return this.scope.dispose();
997
+ }
998
+ newContext(options = {}) {
999
+ let intrinsics = intrinsicsToFlags(options.intrinsics), ctx = new Lifetime2(options.contextPointer || this.ffi.QTS_NewContext(this.rt.value, intrinsics), undefined, (ctx_ptr) => {
1000
+ this.contextMap.delete(ctx_ptr), this.callbacks.deleteContext(ctx_ptr), this.ffi.QTS_FreeContext(ctx_ptr);
1001
+ }), context = new QuickJSContext2({ module: this.module, ctx, ffi: this.ffi, rt: this.rt, ownedLifetimes: options.ownedLifetimes, runtime: this, callbacks: this.callbacks });
1002
+ return this.contextMap.set(ctx.value, context), context;
1003
+ }
1004
+ setModuleLoader(moduleLoader, moduleNormalizer) {
1005
+ this.moduleLoader = moduleLoader, this.moduleNormalizer = moduleNormalizer, this.ffi.QTS_RuntimeEnableModuleLoader(this.rt.value, this.moduleNormalizer ? 1 : 0);
1006
+ }
1007
+ removeModuleLoader() {
1008
+ this.moduleLoader = undefined, this.ffi.QTS_RuntimeDisableModuleLoader(this.rt.value);
1009
+ }
1010
+ hasPendingJob() {
1011
+ return !!this.ffi.QTS_IsJobPending(this.rt.value);
1012
+ }
1013
+ setInterruptHandler(cb) {
1014
+ let prevInterruptHandler = this.interruptHandler;
1015
+ this.interruptHandler = cb, prevInterruptHandler || this.ffi.QTS_RuntimeEnableInterruptHandler(this.rt.value);
1016
+ }
1017
+ removeInterruptHandler() {
1018
+ this.interruptHandler && (this.ffi.QTS_RuntimeDisableInterruptHandler(this.rt.value), this.interruptHandler = undefined);
1019
+ }
1020
+ executePendingJobs(maxJobsToExecute = -1) {
1021
+ let ctxPtrOut = this.memory.newMutablePointerArray(1), valuePtr = this.ffi.QTS_ExecutePendingJob(this.rt.value, maxJobsToExecute ?? -1, ctxPtrOut.value.ptr), ctxPtr = ctxPtrOut.value.typedArray[0];
1022
+ if (ctxPtrOut.dispose(), ctxPtr === 0)
1023
+ return this.ffi.QTS_FreeValuePointerRuntime(this.rt.value, valuePtr), DisposableResult2.success(0);
1024
+ let context = this.contextMap.get(ctxPtr) ?? this.newContext({ contextPointer: ctxPtr }), resultValue = context.getMemory(this.rt.value).heapValueHandle(valuePtr);
1025
+ if (context.typeof(resultValue) === "number") {
1026
+ let executedJobs = context.getNumber(resultValue);
1027
+ return resultValue.dispose(), DisposableResult2.success(executedJobs);
1028
+ } else {
1029
+ let error = Object.assign(resultValue, { context });
1030
+ return DisposableResult2.fail(error, (error2) => context.unwrapResult(error2));
1031
+ }
1032
+ }
1033
+ setMemoryLimit(limitBytes) {
1034
+ if (limitBytes < 0 && limitBytes !== -1)
1035
+ throw new Error("Cannot set memory limit to negative number. To unset, pass -1");
1036
+ this.ffi.QTS_RuntimeSetMemoryLimit(this.rt.value, limitBytes);
1037
+ }
1038
+ computeMemoryUsage() {
1039
+ let serviceContextMemory = this.getSystemContext().getMemory(this.rt.value);
1040
+ return serviceContextMemory.heapValueHandle(this.ffi.QTS_RuntimeComputeMemoryUsage(this.rt.value, serviceContextMemory.ctx.value));
1041
+ }
1042
+ dumpMemoryUsage() {
1043
+ return this.memory.consumeHeapCharPointer(this.ffi.QTS_RuntimeDumpMemoryUsage(this.rt.value));
1044
+ }
1045
+ setMaxStackSize(stackSize) {
1046
+ if (stackSize < 0)
1047
+ throw new Error("Cannot set memory limit to negative number. To unset, pass 0.");
1048
+ this.ffi.QTS_RuntimeSetMaxStackSize(this.rt.value, stackSize);
1049
+ }
1050
+ assertOwned(handle) {
1051
+ if (handle.owner && handle.owner.rt !== this.rt)
1052
+ throw new QuickJSWrongOwner(`Handle is not owned by this runtime: ${handle.owner.rt.value} != ${this.rt.value}`);
1053
+ }
1054
+ setDebugMode(enabled) {
1055
+ this._debugMode = enabled, this.ffi.DEBUG && this.rt.alive && this.ffi.QTS_SetDebugLogEnabled(this.rt.value, enabled ? 1 : 0);
1056
+ }
1057
+ isDebugMode() {
1058
+ return this._debugMode;
1059
+ }
1060
+ debugLog(...msg) {
1061
+ this._debugMode && console.log("quickjs-emscripten:", ...msg);
1062
+ }
1063
+ [Symbol.for("nodejs.util.inspect.custom")]() {
1064
+ return this.alive ? `${this.constructor.name} { rt: ${this.rt.value} }` : `${this.constructor.name} { disposed }`;
1065
+ }
1066
+ getSystemContext() {
1067
+ return this.context || (this.context = this.scope.manage(this.newContext())), this.context;
1068
+ }
1069
+ };
1070
+ var QuickJSEmscriptenModuleCallbacks = class {
1071
+ constructor(args) {
1072
+ this.freeHostRef = args.freeHostRef, this.callFunction = args.callFunction, this.shouldInterrupt = args.shouldInterrupt, this.loadModuleSource = args.loadModuleSource, this.normalizeModule = args.normalizeModule;
1073
+ }
1074
+ };
1075
+ var QuickJSModuleCallbacks2 = class {
1076
+ constructor(module) {
1077
+ this.contextCallbacks = new Map;
1078
+ this.runtimeCallbacks = new Map;
1079
+ this.suspendedCount = 0;
1080
+ this.cToHostCallbacks = new QuickJSEmscriptenModuleCallbacks({ freeHostRef: (_asyncify, rt, host_ref_id) => {
1081
+ let runtimeCallbacks = this.runtimeCallbacks.get(rt);
1082
+ if (!runtimeCallbacks)
1083
+ throw new Error(`QuickJSRuntime(rt = ${rt}) not found when trying to free HostRef(id = ${host_ref_id})`);
1084
+ runtimeCallbacks.freeHostRef(rt, host_ref_id);
1085
+ }, callFunction: (asyncify, ctx, this_ptr, argc, argv, fn_id) => this.handleAsyncify(asyncify, () => {
1086
+ try {
1087
+ let vm = this.contextCallbacks.get(ctx);
1088
+ if (!vm)
1089
+ throw new Error(`QuickJSContext(ctx = ${ctx}) not found for C function call "${fn_id}"`);
1090
+ return vm.callFunction(ctx, this_ptr, argc, argv, fn_id);
1091
+ } catch (error) {
1092
+ return console.error("[C to host error: returning null]", error), 0;
1093
+ }
1094
+ }), shouldInterrupt: (asyncify, rt) => this.handleAsyncify(asyncify, () => {
1095
+ try {
1096
+ let vm = this.runtimeCallbacks.get(rt);
1097
+ if (!vm)
1098
+ throw new Error(`QuickJSRuntime(rt = ${rt}) not found for C interrupt`);
1099
+ return vm.shouldInterrupt(rt);
1100
+ } catch (error) {
1101
+ return console.error("[C to host interrupt: returning error]", error), 1;
1102
+ }
1103
+ }), loadModuleSource: (asyncify, rt, ctx, moduleName) => this.handleAsyncify(asyncify, () => {
1104
+ try {
1105
+ let runtimeCallbacks = this.runtimeCallbacks.get(rt);
1106
+ if (!runtimeCallbacks)
1107
+ throw new Error(`QuickJSRuntime(rt = ${rt}) not found for C module loader`);
1108
+ let loadModule = runtimeCallbacks.loadModuleSource;
1109
+ if (!loadModule)
1110
+ throw new Error(`QuickJSRuntime(rt = ${rt}) does not support module loading`);
1111
+ return loadModule(rt, ctx, moduleName);
1112
+ } catch (error) {
1113
+ return console.error("[C to host module loader error: returning null]", error), 0;
1114
+ }
1115
+ }), normalizeModule: (asyncify, rt, ctx, moduleBaseName, moduleName) => this.handleAsyncify(asyncify, () => {
1116
+ try {
1117
+ let runtimeCallbacks = this.runtimeCallbacks.get(rt);
1118
+ if (!runtimeCallbacks)
1119
+ throw new Error(`QuickJSRuntime(rt = ${rt}) not found for C module loader`);
1120
+ let normalizeModule = runtimeCallbacks.normalizeModule;
1121
+ if (!normalizeModule)
1122
+ throw new Error(`QuickJSRuntime(rt = ${rt}) does not support module loading`);
1123
+ return normalizeModule(rt, ctx, moduleBaseName, moduleName);
1124
+ } catch (error) {
1125
+ return console.error("[C to host module loader error: returning null]", error), 0;
1126
+ }
1127
+ }) });
1128
+ this.module = module, this.module.callbacks = this.cToHostCallbacks;
1129
+ }
1130
+ setRuntimeCallbacks(rt, callbacks) {
1131
+ this.runtimeCallbacks.set(rt, callbacks);
1132
+ }
1133
+ deleteRuntime(rt) {
1134
+ this.runtimeCallbacks.delete(rt);
1135
+ }
1136
+ setContextCallbacks(ctx, callbacks) {
1137
+ this.contextCallbacks.set(ctx, callbacks);
1138
+ }
1139
+ deleteContext(ctx) {
1140
+ this.contextCallbacks.delete(ctx);
1141
+ }
1142
+ handleAsyncify(asyncify, fn) {
1143
+ if (asyncify)
1144
+ return asyncify.handleSleep((done) => {
1145
+ try {
1146
+ let result = fn();
1147
+ if (!(result instanceof Promise)) {
1148
+ debugLog2("asyncify.handleSleep: not suspending:", result), done(result);
1149
+ return;
1150
+ }
1151
+ if (this.suspended)
1152
+ throw new QuickJSAsyncifyError(`Already suspended at: ${this.suspended.stack}
1153
+ Attempted to suspend at:`);
1154
+ this.suspended = new QuickJSAsyncifySuspended(`(${this.suspendedCount++})`), debugLog2("asyncify.handleSleep: suspending:", this.suspended), result.then((resolvedResult) => {
1155
+ this.suspended = undefined, debugLog2("asyncify.handleSleep: resolved:", resolvedResult), done(resolvedResult);
1156
+ }, (error) => {
1157
+ debugLog2("asyncify.handleSleep: rejected:", error), console.error("QuickJS: cannot handle error in suspended function", error), this.suspended = undefined;
1158
+ });
1159
+ } catch (error) {
1160
+ throw debugLog2("asyncify.handleSleep: error:", error), this.suspended = undefined, error;
1161
+ }
1162
+ });
1163
+ let value = fn();
1164
+ if (value instanceof Promise)
1165
+ throw new Error("Promise return value not supported in non-asyncify context.");
1166
+ return value;
1167
+ }
1168
+ };
1169
+ function applyBaseRuntimeOptions2(runtime, options) {
1170
+ options.interruptHandler && runtime.setInterruptHandler(options.interruptHandler), options.maxStackSizeBytes !== undefined && runtime.setMaxStackSize(options.maxStackSizeBytes), options.memoryLimitBytes !== undefined && runtime.setMemoryLimit(options.memoryLimitBytes);
1171
+ }
1172
+ function applyModuleEvalRuntimeOptions2(runtime, options) {
1173
+ options.moduleLoader && runtime.setModuleLoader(options.moduleLoader), options.shouldInterrupt && runtime.setInterruptHandler(options.shouldInterrupt), options.memoryLimitBytes !== undefined && runtime.setMemoryLimit(options.memoryLimitBytes), options.maxStackSizeBytes !== undefined && runtime.setMaxStackSize(options.maxStackSizeBytes);
1174
+ }
1175
+ var QuickJSWASMModule2 = class {
1176
+ constructor(module, ffi) {
1177
+ this.module = module, this.ffi = ffi, this.callbacks = new QuickJSModuleCallbacks2(module);
1178
+ }
1179
+ newRuntime(options = {}) {
1180
+ let rt = new Lifetime2(this.ffi.QTS_NewRuntime(), undefined, (rt_ptr) => {
1181
+ this.ffi.QTS_FreeRuntime(rt_ptr), this.callbacks.deleteRuntime(rt_ptr);
1182
+ }), runtime = new QuickJSRuntime2({ module: this.module, callbacks: this.callbacks, ffi: this.ffi, rt });
1183
+ return applyBaseRuntimeOptions2(runtime, options), options.moduleLoader && runtime.setModuleLoader(options.moduleLoader), runtime;
1184
+ }
1185
+ newContext(options = {}) {
1186
+ let runtime = this.newRuntime(), context = runtime.newContext({ ...options, ownedLifetimes: concat(runtime, options.ownedLifetimes) });
1187
+ return runtime.context = context, context;
1188
+ }
1189
+ evalCode(code, options = {}) {
1190
+ return Scope2.withScope((scope) => {
1191
+ let vm = scope.manage(this.newContext());
1192
+ applyModuleEvalRuntimeOptions2(vm.runtime, options);
1193
+ let result = vm.evalCode(code, "eval.js");
1194
+ if (options.memoryLimitBytes !== undefined && vm.runtime.setMemoryLimit(-1), result.error)
1195
+ throw vm.dump(scope.manage(result.error));
1196
+ return vm.dump(scope.manage(result.value));
1197
+ });
1198
+ }
1199
+ getWasmMemory() {
1200
+ let memory = this.module.quickjsEmscriptenInit?.(() => {})?.getWasmMemory?.();
1201
+ if (!memory)
1202
+ throw new Error("Variant does not support getting WebAssembly.Memory");
1203
+ return memory;
1204
+ }
1205
+ getFFI() {
1206
+ return this.ffi;
1207
+ }
1208
+ };
1209
+
1210
+ // ../../node_modules/.bun/quickjs-emscripten-core@0.32.0/node_modules/quickjs-emscripten-core/dist/chunk-TAV5CUKK.mjs
1211
+ var QuickJSAsyncContext2 = class extends QuickJSContext2 {
1212
+ async evalCodeAsync(code, filename = "eval.js", options) {
1213
+ let detectModule = options === undefined ? 1 : 0, flags = evalOptionsToFlags(options), resultPtr = 0;
1214
+ try {
1215
+ resultPtr = await this.memory.newHeapCharPointer(code).consume((charHandle) => this.ffi.QTS_Eval_MaybeAsync(this.ctx.value, charHandle.value.ptr, charHandle.value.strlen, filename, detectModule, flags));
1216
+ } catch (error) {
1217
+ throw this.runtime.debugLog("QTS_Eval_MaybeAsync threw", error), error;
1218
+ }
1219
+ let errorPtr = this.ffi.QTS_ResolveException(this.ctx.value, resultPtr);
1220
+ return errorPtr ? (this.ffi.QTS_FreeValuePointer(this.ctx.value, resultPtr), this.fail(this.memory.heapValueHandle(errorPtr))) : this.success(this.memory.heapValueHandle(resultPtr));
1221
+ }
1222
+ newAsyncifiedFunction(name, fn) {
1223
+ return this.newFunction(name, fn);
1224
+ }
1225
+ };
1226
+ var QuickJSAsyncRuntime2 = class extends QuickJSRuntime2 {
1227
+ constructor(args) {
1228
+ super(args);
1229
+ }
1230
+ newContext(options = {}) {
1231
+ let intrinsics = intrinsicsToFlags(options.intrinsics), ctx = new Lifetime2(this.ffi.QTS_NewContext(this.rt.value, intrinsics), undefined, (ctx_ptr) => {
1232
+ this.contextMap.delete(ctx_ptr), this.callbacks.deleteContext(ctx_ptr), this.ffi.QTS_FreeContext(ctx_ptr);
1233
+ }), context = new QuickJSAsyncContext2({ module: this.module, ctx, ffi: this.ffi, rt: this.rt, ownedLifetimes: [], runtime: this, callbacks: this.callbacks });
1234
+ return this.contextMap.set(ctx.value, context), context;
1235
+ }
1236
+ setModuleLoader(moduleLoader, moduleNormalizer) {
1237
+ super.setModuleLoader(moduleLoader, moduleNormalizer);
1238
+ }
1239
+ setMaxStackSize(stackSize) {
1240
+ return super.setMaxStackSize(stackSize);
1241
+ }
1242
+ };
1243
+ var QuickJSAsyncWASMModule2 = class extends QuickJSWASMModule2 {
1244
+ constructor(module, ffi) {
1245
+ super(module, ffi);
1246
+ this.ffi = ffi, this.module = module;
1247
+ }
1248
+ newRuntime(options = {}) {
1249
+ let rt = new Lifetime2(this.ffi.QTS_NewRuntime(), undefined, (rt_ptr) => {
1250
+ this.callbacks.deleteRuntime(rt_ptr), this.ffi.QTS_FreeRuntime(rt_ptr);
1251
+ }), runtime = new QuickJSAsyncRuntime2({ module: this.module, ffi: this.ffi, rt, callbacks: this.callbacks });
1252
+ return applyBaseRuntimeOptions2(runtime, options), options.moduleLoader && runtime.setModuleLoader(options.moduleLoader), runtime;
1253
+ }
1254
+ newContext(options = {}) {
1255
+ let runtime = this.newRuntime(), lifetimes = options.ownedLifetimes ? options.ownedLifetimes.concat([runtime]) : [runtime], context = runtime.newContext({ ...options, ownedLifetimes: lifetimes });
1256
+ return runtime.context = context, context;
1257
+ }
1258
+ evalCode() {
1259
+ throw new QuickJSNotImplemented("QuickJSWASMModuleAsyncify.evalCode: use evalCodeAsync instead");
1260
+ }
1261
+ evalCodeAsync(code, options) {
1262
+ return Scope2.withScopeAsync(async (scope) => {
1263
+ let vm = scope.manage(this.newContext());
1264
+ applyModuleEvalRuntimeOptions2(vm.runtime, options);
1265
+ let result = await vm.evalCodeAsync(code, "eval.js");
1266
+ if (options.memoryLimitBytes !== undefined && vm.runtime.setMemoryLimit(-1), result.error)
1267
+ throw vm.dump(scope.manage(result.error));
1268
+ return vm.dump(scope.manage(result.value));
1269
+ });
1270
+ }
1271
+ };
1272
+
1273
+ export { assertSync2, EvalFlags2, IntrinsicsFlags2, JSPromiseStateEnum2, GetOwnPropertyNamesFlags2, IsEqualOp2, setDebugMode2, debugLog2, errors_exports, QuickJSMemoryLeakDetected, QuickJSEmscriptenModuleError, UsingDisposable2, Lifetime2, StaticLifetime2, WeakLifetime2, Scope2, createDisposableArray2, DisposableSuccess2, DisposableFail2, DisposableResult2, QuickJSDeferredPromise2, DefaultIntrinsics2, QuickJSContext2, QuickJSRuntime2, QuickJSModuleCallbacks2, applyBaseRuntimeOptions2, applyModuleEvalRuntimeOptions2, QuickJSWASMModule2, QuickJSAsyncContext2, QuickJSAsyncRuntime2, QuickJSAsyncWASMModule2 };