@warlock.js/ai 5.1.0 → 5.2.2

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 (251) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/README.md +4 -0
  3. package/cjs/index.cjs +1 -1
  4. package/cjs/index.cjs.map +1 -1
  5. package/cjs/{magic-string.es-BoSa5xIt.cjs → magic-string.es-BQeqHJ-a.cjs} +22 -17
  6. package/cjs/magic-string.es-BQeqHJ-a.cjs.map +1 -0
  7. package/cjs/matcher-logic-07fFOz7r.cjs.map +1 -1
  8. package/cjs/{matchers-DnV47KR_.cjs → matchers-CINm4ojZ.cjs} +27 -27
  9. package/cjs/matchers-CINm4ojZ.cjs.map +1 -0
  10. package/esm/agent/agent-input-builder.mjs.map +1 -1
  11. package/esm/agent/agent-stream.d.mts.map +1 -1
  12. package/esm/agent/agent-stream.mjs.map +1 -1
  13. package/esm/agent/agent.d.mts.map +1 -1
  14. package/esm/agent/agent.mjs.map +1 -1
  15. package/esm/agent/json-stream-guard.mjs.map +1 -1
  16. package/esm/agent/signature.mjs.map +1 -1
  17. package/esm/agent/snapshot.mjs.map +1 -1
  18. package/esm/agent/spawn-sub-agent.d.mts.map +1 -1
  19. package/esm/batch/batch.d.mts.map +1 -1
  20. package/esm/batch/batch.mjs.map +1 -1
  21. package/esm/checkpoint/memory.d.mts.map +1 -1
  22. package/esm/checkpoint/pg.mjs.map +1 -1
  23. package/esm/checkpoint/redis.mjs.map +1 -1
  24. package/esm/config.d.mts.map +1 -1
  25. package/esm/eval/dataset.d.mts.map +1 -1
  26. package/esm/eval/dataset.mjs.map +1 -1
  27. package/esm/eval/eval-runner.d.mts.map +1 -1
  28. package/esm/eval/eval-runner.mjs.map +1 -1
  29. package/esm/eval/judge-scorer.d.mts.map +1 -1
  30. package/esm/eval/regression.d.mts.map +1 -1
  31. package/esm/eval/regression.mjs.map +1 -1
  32. package/esm/eval/report-json.d.mts.map +1 -1
  33. package/esm/eval/report-junit.mjs.map +1 -1
  34. package/esm/eval/scorers.d.mts.map +1 -1
  35. package/esm/eval/scorers.mjs.map +1 -1
  36. package/esm/guard/detectors/injection.mjs.map +1 -1
  37. package/esm/guard/detectors/moderation.mjs.map +1 -1
  38. package/esm/guard/detectors/pii.mjs.map +1 -1
  39. package/esm/guard/detectors/topic.mjs.map +1 -1
  40. package/esm/human/human-approval.mjs.map +1 -1
  41. package/esm/human/resume.d.mts.map +1 -1
  42. package/esm/human/stores/memory.d.mts.map +1 -1
  43. package/esm/human/stores/pg.mjs.map +1 -1
  44. package/esm/human/stores/redis.mjs.map +1 -1
  45. package/esm/image/image.mjs.map +1 -1
  46. package/esm/memory/derive-id.mjs.map +1 -1
  47. package/esm/memory/episodic-memory.mjs.map +1 -1
  48. package/esm/memory/memory.mjs.map +1 -1
  49. package/esm/memory/procedural-memory.mjs.map +1 -1
  50. package/esm/memory/semantic-memory.mjs.map +1 -1
  51. package/esm/memory/working-memory.mjs.map +1 -1
  52. package/esm/middleware/builtins/budget.mjs.map +1 -1
  53. package/esm/middleware/builtins/semantic-cache.mjs.map +1 -1
  54. package/esm/middleware/helpers/compose.d.mts.map +1 -1
  55. package/esm/middleware/helpers/for-tool.mjs.map +1 -1
  56. package/esm/middleware/pipeline.d.mts.map +1 -1
  57. package/esm/middleware/utils/extract-user-text.mjs.map +1 -1
  58. package/esm/middleware/utils/namespaced-state.d.mts.map +1 -1
  59. package/esm/mock/mock-agent.d.mts.map +1 -1
  60. package/esm/mock/mock-agent.mjs.map +1 -1
  61. package/esm/mock/mock-model.d.mts.map +1 -1
  62. package/esm/mock/mock-model.mjs.map +1 -1
  63. package/esm/mock/mock-router.d.mts.map +1 -1
  64. package/esm/model/fallback-model.mjs.map +1 -1
  65. package/esm/node_modules/{@jridgewell → .pnpm/@jridgewell_sourcemap-codec@1.6.0/node_modules/@jridgewell}/sourcemap-codec/dist/sourcemap-codec.mjs +19 -14
  66. package/esm/node_modules/.pnpm/@jridgewell_sourcemap-codec@1.6.0/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs.map +1 -0
  67. package/esm/node_modules/{@vitest → .pnpm/@vitest_expect@4.1.10/node_modules/@vitest}/expect/dist/index.mjs +8 -8
  68. package/esm/node_modules/.pnpm/@vitest_expect@4.1.10/node_modules/@vitest/expect/dist/index.mjs.map +1 -0
  69. package/esm/node_modules/{@vitest → .pnpm/@vitest_pretty-format@4.1.10/node_modules/@vitest}/pretty-format/dist/index.mjs +4 -4
  70. package/esm/node_modules/.pnpm/@vitest_pretty-format@4.1.10/node_modules/@vitest/pretty-format/dist/index.mjs.map +1 -0
  71. package/esm/node_modules/{@vitest → .pnpm/@vitest_runner@4.1.10/node_modules/@vitest}/runner/dist/chunk-artifact.mjs +5 -5
  72. package/esm/node_modules/.pnpm/@vitest_runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.mjs.map +1 -0
  73. package/esm/node_modules/{@vitest → .pnpm/@vitest_snapshot@4.1.10/node_modules/@vitest}/snapshot/dist/index.mjs +7 -7
  74. package/esm/node_modules/.pnpm/@vitest_snapshot@4.1.10/node_modules/@vitest/snapshot/dist/index.mjs.map +1 -0
  75. package/esm/node_modules/{@vitest → .pnpm/@vitest_spy@4.1.10/node_modules/@vitest}/spy/dist/index.mjs +1 -1
  76. package/esm/node_modules/.pnpm/@vitest_spy@4.1.10/node_modules/@vitest/spy/dist/index.mjs.map +1 -0
  77. package/esm/node_modules/{@vitest → .pnpm/@vitest_utils@4.1.10/node_modules/@vitest}/utils/dist/chunk-pathe.M-eThtNZ.mjs +1 -1
  78. package/esm/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/chunk-pathe.M-eThtNZ.mjs.map +1 -0
  79. package/esm/node_modules/{@vitest → .pnpm/@vitest_utils@4.1.10/node_modules/@vitest}/utils/dist/diff.mjs +4 -4
  80. package/esm/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/diff.mjs.map +1 -0
  81. package/esm/node_modules/{@vitest → .pnpm/@vitest_utils@4.1.10/node_modules/@vitest}/utils/dist/display.mjs +3 -3
  82. package/esm/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/display.mjs.map +1 -0
  83. package/esm/node_modules/{@vitest → .pnpm/@vitest_utils@4.1.10/node_modules/@vitest}/utils/dist/error.mjs +2 -2
  84. package/esm/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/error.mjs.map +1 -0
  85. package/esm/node_modules/{@vitest → .pnpm/@vitest_utils@4.1.10/node_modules/@vitest}/utils/dist/helpers.mjs +1 -1
  86. package/esm/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/helpers.mjs.map +1 -0
  87. package/esm/node_modules/{@vitest → .pnpm/@vitest_utils@4.1.10/node_modules/@vitest}/utils/dist/offset.mjs +1 -1
  88. package/esm/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/offset.mjs.map +1 -0
  89. package/esm/node_modules/{@vitest → .pnpm/@vitest_utils@4.1.10/node_modules/@vitest}/utils/dist/serialize.mjs +1 -1
  90. package/esm/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/serialize.mjs.map +1 -0
  91. package/esm/node_modules/{@vitest → .pnpm/@vitest_utils@4.1.10/node_modules/@vitest}/utils/dist/source-map.mjs +1 -1
  92. package/esm/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/source-map.mjs.map +1 -0
  93. package/esm/node_modules/{@vitest → .pnpm/@vitest_utils@4.1.10/node_modules/@vitest}/utils/dist/timers.mjs +1 -1
  94. package/esm/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/timers.mjs.map +1 -0
  95. package/esm/node_modules/{chai → .pnpm/chai@6.2.2/node_modules/chai}/index.mjs +1 -1
  96. package/esm/node_modules/.pnpm/chai@6.2.2/node_modules/chai/index.mjs.map +1 -0
  97. package/esm/node_modules/{magic-string → .pnpm/magic-string@0.30.21/node_modules/magic-string}/dist/magic-string.es.mjs +3 -3
  98. package/esm/node_modules/.pnpm/magic-string@0.30.21/node_modules/magic-string/dist/magic-string.es.mjs.map +1 -0
  99. package/esm/node_modules/{tinyrainbow → .pnpm/tinyrainbow@3.1.1/node_modules/tinyrainbow}/dist/index.mjs +1 -1
  100. package/esm/node_modules/.pnpm/tinyrainbow@3.1.1/node_modules/tinyrainbow/dist/index.mjs.map +1 -0
  101. package/esm/node_modules/{vitest → .pnpm/vitest@4.1.10_@opentelemetr_3b60e89b8b51a25e87011ae54ec49250/node_modules/vitest}/dist/chunks/_commonjsHelpers.D26ty3Ew.mjs +1 -1
  102. package/esm/node_modules/.pnpm/vitest@4.1.10_@opentelemetr_3b60e89b8b51a25e87011ae54ec49250/node_modules/vitest/dist/chunks/_commonjsHelpers.D26ty3Ew.mjs.map +1 -0
  103. package/esm/node_modules/{vitest → .pnpm/vitest@4.1.10_@opentelemetr_3b60e89b8b51a25e87011ae54ec49250/node_modules/vitest}/dist/chunks/rpc.MzXet3jl.mjs +1 -1
  104. package/esm/node_modules/.pnpm/vitest@4.1.10_@opentelemetr_3b60e89b8b51a25e87011ae54ec49250/node_modules/vitest/dist/chunks/rpc.MzXet3jl.mjs.map +1 -0
  105. package/esm/node_modules/{vitest → .pnpm/vitest@4.1.10_@opentelemetr_3b60e89b8b51a25e87011ae54ec49250/node_modules/vitest}/dist/chunks/test.DNmyFkvJ.mjs +11 -11
  106. package/esm/node_modules/.pnpm/vitest@4.1.10_@opentelemetr_3b60e89b8b51a25e87011ae54ec49250/node_modules/vitest/dist/chunks/test.DNmyFkvJ.mjs.map +1 -0
  107. package/esm/node_modules/{vitest → .pnpm/vitest@4.1.10_@opentelemetr_3b60e89b8b51a25e87011ae54ec49250/node_modules/vitest}/dist/chunks/utils.BX5Fg8C4.mjs +2 -2
  108. package/esm/node_modules/.pnpm/vitest@4.1.10_@opentelemetr_3b60e89b8b51a25e87011ae54ec49250/node_modules/vitest/dist/chunks/utils.BX5Fg8C4.mjs.map +1 -0
  109. package/esm/object-stream/parse-partial-json.mjs.map +1 -1
  110. package/esm/object-stream/stream-object.d.mts.map +1 -1
  111. package/esm/object-stream/stream-object.mjs.map +1 -1
  112. package/esm/observe/observer-registry.d.mts.map +1 -1
  113. package/esm/orchestrator/as-tool.d.mts.map +1 -1
  114. package/esm/orchestrator/checkpoint.mjs.map +1 -1
  115. package/esm/orchestrator/compaction.mjs.map +1 -1
  116. package/esm/orchestrator/emitter.d.mts.map +1 -1
  117. package/esm/orchestrator/emitter.mjs.map +1 -1
  118. package/esm/orchestrator/execution.d.mts.map +1 -1
  119. package/esm/orchestrator/execution.mjs.map +1 -1
  120. package/esm/orchestrator/memory.mjs.map +1 -1
  121. package/esm/orchestrator/orchestrator-stream.d.mts.map +1 -1
  122. package/esm/orchestrator/orchestrator-stream.mjs.map +1 -1
  123. package/esm/orchestrator/orchestrator.d.mts.map +1 -1
  124. package/esm/orchestrator/orchestrator.mjs.map +1 -1
  125. package/esm/orchestrator/session-lock.d.mts.map +1 -1
  126. package/esm/orchestrator/signature.mjs.map +1 -1
  127. package/esm/planner/dag-scheduler.mjs.map +1 -1
  128. package/esm/planner/plan-prompt.mjs.map +1 -1
  129. package/esm/planner/planner-run.mjs.map +1 -1
  130. package/esm/planner/planner.d.mts.map +1 -1
  131. package/esm/planner/planner.mjs.map +1 -1
  132. package/esm/planner/signature.mjs.map +1 -1
  133. package/esm/planner/snapshot.mjs.map +1 -1
  134. package/esm/prompt/prompt-langfuse-sync.mjs.map +1 -1
  135. package/esm/prompt/prompt-validate.mjs.map +1 -1
  136. package/esm/prompt/prompt.mjs.map +1 -1
  137. package/esm/prompts/prompts-manager.d.mts.map +1 -1
  138. package/esm/prompts/prompts-manager.mjs.map +1 -1
  139. package/esm/prompts/prompts-validate.mjs.map +1 -1
  140. package/esm/rag/chunk/chunk.mjs.map +1 -1
  141. package/esm/rag/chunk/markdown.mjs.map +1 -1
  142. package/esm/rag/chunk/sentence.mjs.map +1 -1
  143. package/esm/rag/hybrid/bm25.mjs.map +1 -1
  144. package/esm/rag/hybrid/hybrid-rank.mjs.map +1 -1
  145. package/esm/rag/hybrid/rrf.mjs.map +1 -1
  146. package/esm/rag/loaders/load-html.mjs.map +1 -1
  147. package/esm/rag/loaders/load-pdf.d.mts.map +1 -1
  148. package/esm/rag/loaders/load-pdf.mjs.map +1 -1
  149. package/esm/rag/loaders/load-text.mjs.map +1 -1
  150. package/esm/rag/rerank/keyword-reranker.mjs.map +1 -1
  151. package/esm/rag/rerank/llm-reranker.mjs.map +1 -1
  152. package/esm/rag/retrieve.mjs.map +1 -1
  153. package/esm/rag/store/cache-vector-store.mjs.map +1 -1
  154. package/esm/rag/store/pg-vector-store.mjs.map +1 -1
  155. package/esm/rag/transforms/multi-query.mjs.map +1 -1
  156. package/esm/security/outbound-policy.mjs.map +1 -1
  157. package/esm/security/private-ip.mjs.map +1 -1
  158. package/esm/security/redact.d.mts.map +1 -1
  159. package/esm/security/redact.mjs.map +1 -1
  160. package/esm/serve/serve.d.mts.map +1 -1
  161. package/esm/serve/serve.mjs.map +1 -1
  162. package/esm/serve/stream-to-sse.d.mts.map +1 -1
  163. package/esm/skills/catalog.mjs.map +1 -1
  164. package/esm/skills/skills.mjs.map +1 -1
  165. package/esm/skills/sources/directory-source.mjs.map +1 -1
  166. package/esm/skills/sources/parse-frontmatter.mjs.map +1 -1
  167. package/esm/skills/sources/url-source.mjs.map +1 -1
  168. package/esm/skills/store/mock-skills-store.mjs.map +1 -1
  169. package/esm/skills/store/procedural-skill-store.mjs.map +1 -1
  170. package/esm/snapshot/memory.d.mts.map +1 -1
  171. package/esm/snapshot/pg.mjs.map +1 -1
  172. package/esm/speech/speech.mjs.map +1 -1
  173. package/esm/supervisor/as-tool.d.mts.map +1 -1
  174. package/esm/supervisor/cancellation.mjs.map +1 -1
  175. package/esm/supervisor/emitter.d.mts.map +1 -1
  176. package/esm/supervisor/emitter.mjs.map +1 -1
  177. package/esm/supervisor/entries.mjs.map +1 -1
  178. package/esm/supervisor/execution.d.mts.map +1 -1
  179. package/esm/supervisor/execution.mjs.map +1 -1
  180. package/esm/supervisor/fan-out.mjs.map +1 -1
  181. package/esm/supervisor/router-factory.mjs.map +1 -1
  182. package/esm/supervisor/router-prompt.mjs.map +1 -1
  183. package/esm/supervisor/signature.mjs.map +1 -1
  184. package/esm/supervisor/snapshot.mjs.map +1 -1
  185. package/esm/supervisor/supervisor-stream.d.mts.map +1 -1
  186. package/esm/supervisor/supervisor-stream.mjs.map +1 -1
  187. package/esm/supervisor/supervisor.d.mts.map +1 -1
  188. package/esm/supervisor/supervisor.mjs.map +1 -1
  189. package/esm/system-prompt/refined-system-prompt.d.mts.map +1 -1
  190. package/esm/system-prompt/refined-system-prompt.mjs.map +1 -1
  191. package/esm/system-prompt/system-prompt.d.mts.map +1 -1
  192. package/esm/system-prompt/system-prompt.mjs.map +1 -1
  193. package/esm/team/team.d.mts.map +1 -1
  194. package/esm/testing/matcher-logic.mjs.map +1 -1
  195. package/esm/testing/matchers.mjs +1 -1
  196. package/esm/testing/register-lazy.d.mts.map +1 -1
  197. package/esm/tool/executable-as-tool.d.mts.map +1 -1
  198. package/esm/tool/tool.d.mts.map +1 -1
  199. package/esm/tool/tool.mjs.map +1 -1
  200. package/esm/transcribe/audio-input.mjs.map +1 -1
  201. package/esm/transcribe/transcribe.mjs.map +1 -1
  202. package/esm/utils/extract-json-payload.mjs.map +1 -1
  203. package/esm/utils/generate-run-id.mjs.map +1 -1
  204. package/esm/utils/prepare-attachment-part.mjs.map +1 -1
  205. package/esm/utils/run-context.d.mts.map +1 -1
  206. package/esm/utils/safe-json-parse.d.mts.map +1 -1
  207. package/esm/vcr/cassette-io.mjs.map +1 -1
  208. package/esm/vcr/hash-request.mjs.map +1 -1
  209. package/esm/vcr/vcr.mjs.map +1 -1
  210. package/esm/workflow/cancellation.mjs.map +1 -1
  211. package/esm/workflow/emitter.mjs.map +1 -1
  212. package/esm/workflow/engine.mjs.map +1 -1
  213. package/esm/workflow/retry.mjs.map +1 -1
  214. package/esm/workflow/router.mjs.map +1 -1
  215. package/esm/workflow/signature.d.mts.map +1 -1
  216. package/esm/workflow/signature.mjs.map +1 -1
  217. package/esm/workflow/snapshot.mjs.map +1 -1
  218. package/esm/workflow/step-runner.mjs.map +1 -1
  219. package/esm/workflow/step.d.mts.map +1 -1
  220. package/esm/workflow/step.mjs.map +1 -1
  221. package/esm/workflow/workflow.d.mts.map +1 -1
  222. package/esm/workflow/workflow.mjs.map +1 -1
  223. package/llms-full.txt +2 -0
  224. package/package.json +7 -4
  225. package/skills/ai-basics/SKILL.md +2 -0
  226. package/cjs/magic-string.es-BoSa5xIt.cjs.map +0 -1
  227. package/cjs/matchers-DnV47KR_.cjs.map +0 -1
  228. package/esm/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs.map +0 -1
  229. package/esm/node_modules/@vitest/expect/dist/index.mjs.map +0 -1
  230. package/esm/node_modules/@vitest/pretty-format/dist/index.mjs.map +0 -1
  231. package/esm/node_modules/@vitest/runner/dist/chunk-artifact.mjs.map +0 -1
  232. package/esm/node_modules/@vitest/snapshot/dist/index.mjs.map +0 -1
  233. package/esm/node_modules/@vitest/spy/dist/index.mjs.map +0 -1
  234. package/esm/node_modules/@vitest/utils/dist/chunk-pathe.M-eThtNZ.mjs.map +0 -1
  235. package/esm/node_modules/@vitest/utils/dist/diff.mjs.map +0 -1
  236. package/esm/node_modules/@vitest/utils/dist/display.mjs.map +0 -1
  237. package/esm/node_modules/@vitest/utils/dist/error.mjs.map +0 -1
  238. package/esm/node_modules/@vitest/utils/dist/helpers.mjs.map +0 -1
  239. package/esm/node_modules/@vitest/utils/dist/offset.mjs.map +0 -1
  240. package/esm/node_modules/@vitest/utils/dist/serialize.mjs.map +0 -1
  241. package/esm/node_modules/@vitest/utils/dist/source-map.mjs.map +0 -1
  242. package/esm/node_modules/@vitest/utils/dist/timers.mjs.map +0 -1
  243. package/esm/node_modules/chai/index.mjs.map +0 -1
  244. package/esm/node_modules/magic-string/dist/magic-string.es.mjs.map +0 -1
  245. package/esm/node_modules/tinyrainbow/dist/index.mjs.map +0 -1
  246. package/esm/node_modules/vitest/dist/chunks/_commonjsHelpers.D26ty3Ew.mjs.map +0 -1
  247. package/esm/node_modules/vitest/dist/chunks/rpc.MzXet3jl.mjs.map +0 -1
  248. package/esm/node_modules/vitest/dist/chunks/test.DNmyFkvJ.mjs.map +0 -1
  249. package/esm/node_modules/vitest/dist/chunks/utils.BX5Fg8C4.mjs.map +0 -1
  250. /package/esm/node_modules/{@vitest → .pnpm/@vitest_runner@4.1.10/node_modules/@vitest}/runner/dist/index.mjs +0 -0
  251. /package/esm/node_modules/{@vitest → .pnpm/@vitest_runner@4.1.10/node_modules/@vitest}/runner/dist/utils.mjs +0 -0
@@ -1,5 +1,5 @@
1
1
 
2
- //#region ../node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs
2
+ //#region ../node_modules/.pnpm/@jridgewell+sourcemap-codec@1.6.0/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs
3
3
  var comma = ",".charCodeAt(0);
4
4
  var semicolon = ";".charCodeAt(0);
5
5
  var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
@@ -10,16 +10,16 @@ for (let i = 0; i < chars.length; i++) {
10
10
  intToChar[i] = c;
11
11
  charToInt[c] = i;
12
12
  }
13
- function encodeInteger(builder, num, relative) {
14
- let delta = num - relative;
15
- delta = delta < 0 ? -delta << 1 | 1 : delta << 1;
13
+ function encodeInteger(builder, num) {
16
14
  do {
17
- let clamped = delta & 31;
18
- delta >>>= 5;
19
- if (delta > 0) clamped |= 32;
15
+ let clamped = num & 31;
16
+ num >>>= 5;
17
+ if (num > 0) clamped |= 32;
20
18
  builder.write(intToChar[clamped]);
21
- } while (delta > 0);
22
- return num;
19
+ } while (num > 0);
20
+ }
21
+ function encodeSign(num) {
22
+ return num < 0 ? -num << 1 | 1 : num << 1;
23
23
  }
24
24
  var bufLength = 1024 * 16;
25
25
  var td = typeof TextDecoder !== "undefined" ? /* @__PURE__ */ new TextDecoder() : typeof Buffer !== "undefined" ? { decode(buf) {
@@ -62,20 +62,25 @@ function encode(decoded) {
62
62
  for (let j = 0; j < line.length; j++) {
63
63
  const segment = line[j];
64
64
  if (j > 0) writer.write(comma);
65
- genColumn = encodeInteger(writer, segment[0], genColumn);
65
+ encodeInteger(writer, encodeSign(segment[0] - genColumn));
66
+ genColumn = segment[0];
66
67
  if (segment.length === 1) continue;
67
- sourcesIndex = encodeInteger(writer, segment[1], sourcesIndex);
68
- sourceLine = encodeInteger(writer, segment[2], sourceLine);
69
- sourceColumn = encodeInteger(writer, segment[3], sourceColumn);
68
+ encodeInteger(writer, encodeSign(segment[1] - sourcesIndex));
69
+ encodeInteger(writer, encodeSign(segment[2] - sourceLine));
70
+ encodeInteger(writer, encodeSign(segment[3] - sourceColumn));
71
+ sourcesIndex = segment[1];
72
+ sourceLine = segment[2];
73
+ sourceColumn = segment[3];
70
74
  if (segment.length === 4) continue;
71
- namesIndex = encodeInteger(writer, segment[4], namesIndex);
75
+ encodeInteger(writer, encodeSign(segment[4] - namesIndex));
76
+ namesIndex = segment[4];
72
77
  }
73
78
  }
74
79
  return writer.flush();
75
80
  }
76
81
 
77
82
  //#endregion
78
- //#region ../node_modules/magic-string/dist/magic-string.es.mjs
83
+ //#region ../node_modules/.pnpm/magic-string@0.30.21/node_modules/magic-string/dist/magic-string.es.mjs
79
84
  var BitSet = class BitSet {
80
85
  constructor(arg) {
81
86
  this.bits = arg instanceof BitSet ? arg.bits.slice() : [];
@@ -220,7 +225,7 @@ function getBtoa() {
220
225
  throw new Error("Unsupported environment: `window.btoa` or `Buffer` should be supported.");
221
226
  };
222
227
  }
223
- const btoa = /*#__PURE__*/ getBtoa();
228
+ const btoa = /* @__PURE__ */ getBtoa();
224
229
  var SourceMap = class {
225
230
  constructor(properties) {
226
231
  this.version = 3;
@@ -1012,4 +1017,4 @@ var MagicString = class MagicString {
1012
1017
 
1013
1018
  //#endregion
1014
1019
  exports.default = MagicString;
1015
- //# sourceMappingURL=magic-string.es-BoSa5xIt.cjs.map
1020
+ //# sourceMappingURL=magic-string.es-BQeqHJ-a.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"magic-string.es-BQeqHJ-a.cjs","names":[],"sources":["../../../../../../node_modules/.pnpm/@jridgewell+sourcemap-codec@1.6.0/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs","../../../../../../node_modules/.pnpm/magic-string@0.30.21/node_modules/magic-string/dist/magic-string.es.mjs"],"sourcesContent":["// src/vlq.ts\nvar comma = \",\".charCodeAt(0);\nvar semicolon = \";\".charCodeAt(0);\nvar chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\nvar intToChar = new Uint8Array(64);\nvar charToInt = new Uint8Array(128);\nfor (let i = 0; i < chars.length; i++) {\n const c = chars.charCodeAt(i);\n intToChar[i] = c;\n charToInt[c] = i;\n}\nfunction decodeInteger(reader) {\n let value = 0;\n let shift = 0;\n let integer = 0;\n do {\n const c = reader.next();\n integer = charToInt[c];\n value |= (integer & 31) << shift;\n shift += 5;\n } while (integer & 32);\n return value;\n}\nfunction decodeSign(num) {\n return num & 1 ? -2147483648 | -(num >>> 1) : num >>> 1;\n}\nfunction encodeInteger(builder, num) {\n do {\n let clamped = num & 31;\n num >>>= 5;\n if (num > 0) clamped |= 32;\n builder.write(intToChar[clamped]);\n } while (num > 0);\n}\nfunction encodeSign(num) {\n return num < 0 ? -num << 1 | 1 : num << 1;\n}\nfunction hasMoreVlq(reader, max) {\n if (reader.pos >= max) return false;\n return reader.peek() !== comma;\n}\n\n// src/strings.ts\nvar bufLength = 1024 * 16;\nvar td = typeof TextDecoder !== \"undefined\" ? /* @__PURE__ */ new TextDecoder() : typeof Buffer !== \"undefined\" ? {\n decode(buf) {\n const out = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength);\n return out.toString();\n }\n} : {\n decode(buf) {\n let out = \"\";\n for (let i = 0; i < buf.length; i++) {\n out += String.fromCharCode(buf[i]);\n }\n return out;\n }\n};\nvar StringWriter = class {\n constructor() {\n this.pos = 0;\n this.out = \"\";\n this.buffer = new Uint8Array(bufLength);\n }\n write(v) {\n const { buffer } = this;\n buffer[this.pos++] = v;\n if (this.pos === bufLength) {\n this.out += td.decode(buffer);\n this.pos = 0;\n }\n }\n flush() {\n const { buffer, out, pos } = this;\n return pos > 0 ? out + td.decode(buffer.subarray(0, pos)) : out;\n }\n};\nvar StringReader = class {\n constructor(buffer) {\n this.pos = 0;\n this.buffer = buffer;\n }\n next() {\n return this.buffer.charCodeAt(this.pos++);\n }\n peek() {\n return this.buffer.charCodeAt(this.pos);\n }\n indexOf(char) {\n const { buffer, pos } = this;\n const idx = buffer.indexOf(char, pos);\n return idx === -1 ? buffer.length : idx;\n }\n};\n\n// src/scopes.ts\nvar EMPTY = [];\nfunction decodeOriginalScopes(input) {\n const { length } = input;\n const reader = new StringReader(input);\n const scopes = [];\n const stack = [];\n let line = 0;\n for (; reader.pos < length; reader.pos++) {\n line += decodeSign(decodeInteger(reader));\n const column = decodeSign(decodeInteger(reader));\n if (!hasMoreVlq(reader, length)) {\n const last = stack.pop();\n last[2] = line;\n last[3] = column;\n continue;\n }\n const kind = decodeSign(decodeInteger(reader));\n const fields = decodeSign(decodeInteger(reader));\n const hasName = fields & 1;\n const scope = hasName ? [line, column, 0, 0, kind, decodeSign(decodeInteger(reader))] : [line, column, 0, 0, kind];\n let vars = EMPTY;\n if (hasMoreVlq(reader, length)) {\n vars = [];\n do {\n const varsIndex = decodeSign(decodeInteger(reader));\n vars.push(varsIndex);\n } while (hasMoreVlq(reader, length));\n }\n scope.vars = vars;\n scopes.push(scope);\n stack.push(scope);\n }\n return scopes;\n}\nfunction encodeOriginalScopes(scopes) {\n const writer = new StringWriter();\n for (let i = 0; i < scopes.length; ) {\n i = _encodeOriginalScopes(scopes, i, writer, [0]);\n }\n return writer.flush();\n}\nfunction _encodeOriginalScopes(scopes, index, writer, state) {\n const scope = scopes[index];\n const { 0: startLine, 1: startColumn, 2: endLine, 3: endColumn, 4: kind, vars } = scope;\n if (index > 0) writer.write(comma);\n encodeInteger(writer, encodeSign(startLine - state[0]));\n state[0] = startLine;\n encodeInteger(writer, encodeSign(startColumn));\n encodeInteger(writer, encodeSign(kind));\n const fields = scope.length === 6 ? 1 : 0;\n encodeInteger(writer, encodeSign(fields));\n if (scope.length === 6) encodeInteger(writer, encodeSign(scope[5]));\n for (const v of vars) {\n encodeInteger(writer, encodeSign(v));\n }\n for (index++; index < scopes.length; ) {\n const next = scopes[index];\n const { 0: l, 1: c } = next;\n if (l > endLine || l === endLine && c >= endColumn) {\n break;\n }\n index = _encodeOriginalScopes(scopes, index, writer, state);\n }\n writer.write(comma);\n encodeInteger(writer, encodeSign(endLine - state[0]));\n state[0] = endLine;\n encodeInteger(writer, encodeSign(endColumn));\n return index;\n}\nfunction decodeGeneratedRanges(input) {\n const { length } = input;\n const reader = new StringReader(input);\n const ranges = [];\n const stack = [];\n let genLine = 0;\n let definitionSourcesIndex = 0;\n let definitionScopeIndex = 0;\n let callsiteSourcesIndex = 0;\n let callsiteLine = 0;\n let callsiteColumn = 0;\n let bindingLine = 0;\n let bindingColumn = 0;\n do {\n const semi = reader.indexOf(\";\");\n let genColumn = 0;\n for (; reader.pos < semi; reader.pos++) {\n genColumn += decodeSign(decodeInteger(reader));\n if (!hasMoreVlq(reader, semi)) {\n const last = stack.pop();\n last[2] = genLine;\n last[3] = genColumn;\n continue;\n }\n const fields = decodeSign(decodeInteger(reader));\n const hasDefinition = fields & 1;\n const hasCallsite = fields & 2;\n const hasScope = fields & 4;\n let callsite = null;\n let bindings = EMPTY;\n let range;\n if (hasDefinition) {\n const defSourcesIndex = definitionSourcesIndex + decodeSign(decodeInteger(reader));\n definitionScopeIndex = decodeSign(decodeInteger(reader)) + (definitionSourcesIndex === defSourcesIndex ? definitionScopeIndex : 0);\n definitionSourcesIndex = defSourcesIndex;\n range = [genLine, genColumn, 0, 0, defSourcesIndex, definitionScopeIndex];\n } else {\n range = [genLine, genColumn, 0, 0];\n }\n range.isScope = !!hasScope;\n if (hasCallsite) {\n const prevCsi = callsiteSourcesIndex;\n const prevLine = callsiteLine;\n callsiteSourcesIndex += decodeSign(decodeInteger(reader));\n const sameSource = prevCsi === callsiteSourcesIndex;\n callsiteLine = (sameSource ? callsiteLine : 0) + decodeSign(decodeInteger(reader));\n callsiteColumn = (sameSource && prevLine === callsiteLine ? callsiteColumn : 0) + decodeSign(decodeInteger(reader));\n callsite = [callsiteSourcesIndex, callsiteLine, callsiteColumn];\n }\n range.callsite = callsite;\n if (hasMoreVlq(reader, semi)) {\n bindings = [];\n do {\n bindingLine = genLine;\n bindingColumn = genColumn;\n const expressionsCount = decodeSign(decodeInteger(reader));\n let expressionRanges;\n if (expressionsCount < -1) {\n expressionRanges = [[decodeSign(decodeInteger(reader))]];\n for (let i = -1; i > expressionsCount; i--) {\n const prevBl = bindingLine;\n bindingLine += decodeSign(decodeInteger(reader));\n bindingColumn = (bindingLine === prevBl ? bindingColumn : 0) + decodeSign(decodeInteger(reader));\n const expression = decodeSign(decodeInteger(reader));\n expressionRanges.push([expression, bindingLine, bindingColumn]);\n }\n } else {\n expressionRanges = [[expressionsCount]];\n }\n bindings.push(expressionRanges);\n } while (hasMoreVlq(reader, semi));\n }\n range.bindings = bindings;\n ranges.push(range);\n stack.push(range);\n }\n genLine++;\n reader.pos = semi + 1;\n } while (reader.pos < length);\n return ranges;\n}\nfunction encodeGeneratedRanges(ranges) {\n if (ranges.length === 0) return \"\";\n const writer = new StringWriter();\n for (let i = 0; i < ranges.length; ) {\n i = _encodeGeneratedRanges(ranges, i, writer, [0, 0, 0, 0, 0, 0, 0]);\n }\n return writer.flush();\n}\nfunction _encodeGeneratedRanges(ranges, index, writer, state) {\n const range = ranges[index];\n const {\n 0: startLine,\n 1: startColumn,\n 2: endLine,\n 3: endColumn,\n isScope,\n callsite,\n bindings\n } = range;\n if (state[0] < startLine) {\n catchupLine(writer, state[0], startLine);\n state[0] = startLine;\n state[1] = 0;\n } else if (index > 0) {\n writer.write(comma);\n }\n encodeInteger(writer, encodeSign(range[1] - state[1]));\n state[1] = range[1];\n const fields = (range.length === 6 ? 1 : 0) | (callsite ? 2 : 0) | (isScope ? 4 : 0);\n encodeInteger(writer, encodeSign(fields));\n if (range.length === 6) {\n const { 4: sourcesIndex, 5: scopesIndex } = range;\n if (sourcesIndex !== state[2]) {\n state[3] = 0;\n }\n encodeInteger(writer, encodeSign(sourcesIndex - state[2]));\n state[2] = sourcesIndex;\n encodeInteger(writer, encodeSign(scopesIndex - state[3]));\n state[3] = scopesIndex;\n }\n if (callsite) {\n const { 0: sourcesIndex, 1: callLine, 2: callColumn } = range.callsite;\n if (sourcesIndex !== state[4]) {\n state[5] = 0;\n state[6] = 0;\n } else if (callLine !== state[5]) {\n state[6] = 0;\n }\n encodeInteger(writer, encodeSign(sourcesIndex - state[4]));\n state[4] = sourcesIndex;\n encodeInteger(writer, encodeSign(callLine - state[5]));\n state[5] = callLine;\n encodeInteger(writer, encodeSign(callColumn - state[6]));\n state[6] = callColumn;\n }\n if (bindings) {\n for (const binding of bindings) {\n if (binding.length > 1) encodeInteger(writer, encodeSign(-binding.length));\n const expression = binding[0][0];\n encodeInteger(writer, encodeSign(expression));\n let bindingStartLine = startLine;\n let bindingStartColumn = startColumn;\n for (let i = 1; i < binding.length; i++) {\n const expRange = binding[i];\n encodeInteger(writer, encodeSign(expRange[1] - bindingStartLine));\n bindingStartLine = expRange[1];\n encodeInteger(writer, encodeSign(expRange[2] - bindingStartColumn));\n bindingStartColumn = expRange[2];\n encodeInteger(writer, encodeSign(expRange[0]));\n }\n }\n }\n for (index++; index < ranges.length; ) {\n const next = ranges[index];\n const { 0: l, 1: c } = next;\n if (l > endLine || l === endLine && c >= endColumn) {\n break;\n }\n index = _encodeGeneratedRanges(ranges, index, writer, state);\n }\n if (state[0] < endLine) {\n catchupLine(writer, state[0], endLine);\n state[0] = endLine;\n state[1] = 0;\n } else {\n writer.write(comma);\n }\n encodeInteger(writer, encodeSign(endColumn - state[1]));\n state[1] = endColumn;\n return index;\n}\nfunction catchupLine(writer, lastLine, line) {\n do {\n writer.write(semicolon);\n } while (++lastLine < line);\n}\n\n// src/range-mappings.ts\nfunction decodeRangeMappings(input) {\n const { length } = input;\n const reader = new StringReader(input);\n const rangeMappings = [];\n do {\n const semi = reader.indexOf(\";\");\n const indices = [];\n let index = 0;\n while (reader.pos < semi) {\n index += decodeInteger(reader);\n indices.push(index);\n }\n rangeMappings.push(indices);\n reader.pos = semi + 1;\n } while (reader.pos <= length);\n return rangeMappings;\n}\nfunction encodeRangeMappings(decoded) {\n if (decoded.length === 0) return \"\";\n const writer = new StringWriter();\n for (let i = 0; i < decoded.length; i++) {\n const indices = decoded[i];\n if (i > 0) writer.write(semicolon);\n let index = 0;\n for (let j = 0; j < indices.length; j++) {\n const offset = indices[j];\n encodeInteger(writer, offset - index);\n index = offset;\n }\n }\n return writer.flush();\n}\n\n// src/sourcemap-codec.ts\nfunction decode(mappings) {\n const { length } = mappings;\n const reader = new StringReader(mappings);\n const decoded = [];\n let genColumn = 0;\n let sourcesIndex = 0;\n let sourceLine = 0;\n let sourceColumn = 0;\n let namesIndex = 0;\n do {\n const semi = reader.indexOf(\";\");\n const line = [];\n let sorted = true;\n let lastCol = 0;\n genColumn = 0;\n while (reader.pos < semi) {\n let seg;\n genColumn += decodeSign(decodeInteger(reader));\n if (genColumn < lastCol) sorted = false;\n lastCol = genColumn;\n if (hasMoreVlq(reader, semi)) {\n sourcesIndex += decodeSign(decodeInteger(reader));\n sourceLine += decodeSign(decodeInteger(reader));\n sourceColumn += decodeSign(decodeInteger(reader));\n if (hasMoreVlq(reader, semi)) {\n namesIndex += decodeSign(decodeInteger(reader));\n seg = [genColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex];\n } else {\n seg = [genColumn, sourcesIndex, sourceLine, sourceColumn];\n }\n } else {\n seg = [genColumn];\n }\n line.push(seg);\n reader.pos++;\n }\n if (!sorted) sort(line);\n decoded.push(line);\n reader.pos = semi + 1;\n } while (reader.pos <= length);\n return decoded;\n}\nfunction sort(line) {\n line.sort(sortComparator);\n}\nfunction sortComparator(a, b) {\n return a[0] - b[0];\n}\nfunction encode(decoded) {\n const writer = new StringWriter();\n let sourcesIndex = 0;\n let sourceLine = 0;\n let sourceColumn = 0;\n let namesIndex = 0;\n for (let i = 0; i < decoded.length; i++) {\n const line = decoded[i];\n if (i > 0) writer.write(semicolon);\n if (line.length === 0) continue;\n let genColumn = 0;\n for (let j = 0; j < line.length; j++) {\n const segment = line[j];\n if (j > 0) writer.write(comma);\n encodeInteger(writer, encodeSign(segment[0] - genColumn));\n genColumn = segment[0];\n if (segment.length === 1) continue;\n encodeInteger(writer, encodeSign(segment[1] - sourcesIndex));\n encodeInteger(writer, encodeSign(segment[2] - sourceLine));\n encodeInteger(writer, encodeSign(segment[3] - sourceColumn));\n sourcesIndex = segment[1];\n sourceLine = segment[2];\n sourceColumn = segment[3];\n if (segment.length === 4) continue;\n encodeInteger(writer, encodeSign(segment[4] - namesIndex));\n namesIndex = segment[4];\n }\n }\n return writer.flush();\n}\nexport {\n decode,\n decodeGeneratedRanges,\n decodeOriginalScopes,\n decodeRangeMappings,\n encode,\n encodeGeneratedRanges,\n encodeOriginalScopes,\n encodeRangeMappings\n};\n//# sourceMappingURL=sourcemap-codec.mjs.map\n","import { encode } from '@jridgewell/sourcemap-codec';\n\nclass BitSet {\n\tconstructor(arg) {\n\t\tthis.bits = arg instanceof BitSet ? arg.bits.slice() : [];\n\t}\n\n\tadd(n) {\n\t\tthis.bits[n >> 5] |= 1 << (n & 31);\n\t}\n\n\thas(n) {\n\t\treturn !!(this.bits[n >> 5] & (1 << (n & 31)));\n\t}\n}\n\nclass Chunk {\n\tconstructor(start, end, content) {\n\t\tthis.start = start;\n\t\tthis.end = end;\n\t\tthis.original = content;\n\n\t\tthis.intro = '';\n\t\tthis.outro = '';\n\n\t\tthis.content = content;\n\t\tthis.storeName = false;\n\t\tthis.edited = false;\n\n\t\t{\n\t\t\tthis.previous = null;\n\t\t\tthis.next = null;\n\t\t}\n\t}\n\n\tappendLeft(content) {\n\t\tthis.outro += content;\n\t}\n\n\tappendRight(content) {\n\t\tthis.intro = this.intro + content;\n\t}\n\n\tclone() {\n\t\tconst chunk = new Chunk(this.start, this.end, this.original);\n\n\t\tchunk.intro = this.intro;\n\t\tchunk.outro = this.outro;\n\t\tchunk.content = this.content;\n\t\tchunk.storeName = this.storeName;\n\t\tchunk.edited = this.edited;\n\n\t\treturn chunk;\n\t}\n\n\tcontains(index) {\n\t\treturn this.start < index && index < this.end;\n\t}\n\n\teachNext(fn) {\n\t\tlet chunk = this;\n\t\twhile (chunk) {\n\t\t\tfn(chunk);\n\t\t\tchunk = chunk.next;\n\t\t}\n\t}\n\n\teachPrevious(fn) {\n\t\tlet chunk = this;\n\t\twhile (chunk) {\n\t\t\tfn(chunk);\n\t\t\tchunk = chunk.previous;\n\t\t}\n\t}\n\n\tedit(content, storeName, contentOnly) {\n\t\tthis.content = content;\n\t\tif (!contentOnly) {\n\t\t\tthis.intro = '';\n\t\t\tthis.outro = '';\n\t\t}\n\t\tthis.storeName = storeName;\n\n\t\tthis.edited = true;\n\n\t\treturn this;\n\t}\n\n\tprependLeft(content) {\n\t\tthis.outro = content + this.outro;\n\t}\n\n\tprependRight(content) {\n\t\tthis.intro = content + this.intro;\n\t}\n\n\treset() {\n\t\tthis.intro = '';\n\t\tthis.outro = '';\n\t\tif (this.edited) {\n\t\t\tthis.content = this.original;\n\t\t\tthis.storeName = false;\n\t\t\tthis.edited = false;\n\t\t}\n\t}\n\n\tsplit(index) {\n\t\tconst sliceIndex = index - this.start;\n\n\t\tconst originalBefore = this.original.slice(0, sliceIndex);\n\t\tconst originalAfter = this.original.slice(sliceIndex);\n\n\t\tthis.original = originalBefore;\n\n\t\tconst newChunk = new Chunk(index, this.end, originalAfter);\n\t\tnewChunk.outro = this.outro;\n\t\tthis.outro = '';\n\n\t\tthis.end = index;\n\n\t\tif (this.edited) {\n\t\t\t// after split we should save the edit content record into the correct chunk\n\t\t\t// to make sure sourcemap correct\n\t\t\t// For example:\n\t\t\t// ' test'.trim()\n\t\t\t// split -> ' ' + 'test'\n\t\t\t// ✔️ edit -> '' + 'test'\n\t\t\t// ✖️ edit -> 'test' + ''\n\t\t\t// TODO is this block necessary?...\n\t\t\tnewChunk.edit('', false);\n\t\t\tthis.content = '';\n\t\t} else {\n\t\t\tthis.content = originalBefore;\n\t\t}\n\n\t\tnewChunk.next = this.next;\n\t\tif (newChunk.next) newChunk.next.previous = newChunk;\n\t\tnewChunk.previous = this;\n\t\tthis.next = newChunk;\n\n\t\treturn newChunk;\n\t}\n\n\ttoString() {\n\t\treturn this.intro + this.content + this.outro;\n\t}\n\n\ttrimEnd(rx) {\n\t\tthis.outro = this.outro.replace(rx, '');\n\t\tif (this.outro.length) return true;\n\n\t\tconst trimmed = this.content.replace(rx, '');\n\n\t\tif (trimmed.length) {\n\t\t\tif (trimmed !== this.content) {\n\t\t\t\tthis.split(this.start + trimmed.length).edit('', undefined, true);\n\t\t\t\tif (this.edited) {\n\t\t\t\t\t// save the change, if it has been edited\n\t\t\t\t\tthis.edit(trimmed, this.storeName, true);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t} else {\n\t\t\tthis.edit('', undefined, true);\n\n\t\t\tthis.intro = this.intro.replace(rx, '');\n\t\t\tif (this.intro.length) return true;\n\t\t}\n\t}\n\n\ttrimStart(rx) {\n\t\tthis.intro = this.intro.replace(rx, '');\n\t\tif (this.intro.length) return true;\n\n\t\tconst trimmed = this.content.replace(rx, '');\n\n\t\tif (trimmed.length) {\n\t\t\tif (trimmed !== this.content) {\n\t\t\t\tconst newChunk = this.split(this.end - trimmed.length);\n\t\t\t\tif (this.edited) {\n\t\t\t\t\t// save the change, if it has been edited\n\t\t\t\t\tnewChunk.edit(trimmed, this.storeName, true);\n\t\t\t\t}\n\t\t\t\tthis.edit('', undefined, true);\n\t\t\t}\n\t\t\treturn true;\n\t\t} else {\n\t\t\tthis.edit('', undefined, true);\n\n\t\t\tthis.outro = this.outro.replace(rx, '');\n\t\t\tif (this.outro.length) return true;\n\t\t}\n\t}\n}\n\nfunction getBtoa() {\n\tif (typeof globalThis !== 'undefined' && typeof globalThis.btoa === 'function') {\n\t\treturn (str) => globalThis.btoa(unescape(encodeURIComponent(str)));\n\t} else if (typeof Buffer === 'function') {\n\t\treturn (str) => Buffer.from(str, 'utf-8').toString('base64');\n\t} else {\n\t\treturn () => {\n\t\t\tthrow new Error('Unsupported environment: `window.btoa` or `Buffer` should be supported.');\n\t\t};\n\t}\n}\n\nconst btoa = /*#__PURE__*/ getBtoa();\n\nclass SourceMap {\n\tconstructor(properties) {\n\t\tthis.version = 3;\n\t\tthis.file = properties.file;\n\t\tthis.sources = properties.sources;\n\t\tthis.sourcesContent = properties.sourcesContent;\n\t\tthis.names = properties.names;\n\t\tthis.mappings = encode(properties.mappings);\n\t\tif (typeof properties.x_google_ignoreList !== 'undefined') {\n\t\t\tthis.x_google_ignoreList = properties.x_google_ignoreList;\n\t\t}\n\t\tif (typeof properties.debugId !== 'undefined') {\n\t\t\tthis.debugId = properties.debugId;\n\t\t}\n\t}\n\n\ttoString() {\n\t\treturn JSON.stringify(this);\n\t}\n\n\ttoUrl() {\n\t\treturn 'data:application/json;charset=utf-8;base64,' + btoa(this.toString());\n\t}\n}\n\nfunction guessIndent(code) {\n\tconst lines = code.split('\\n');\n\n\tconst tabbed = lines.filter((line) => /^\\t+/.test(line));\n\tconst spaced = lines.filter((line) => /^ {2,}/.test(line));\n\n\tif (tabbed.length === 0 && spaced.length === 0) {\n\t\treturn null;\n\t}\n\n\t// More lines tabbed than spaced? Assume tabs, and\n\t// default to tabs in the case of a tie (or nothing\n\t// to go on)\n\tif (tabbed.length >= spaced.length) {\n\t\treturn '\\t';\n\t}\n\n\t// Otherwise, we need to guess the multiple\n\tconst min = spaced.reduce((previous, current) => {\n\t\tconst numSpaces = /^ +/.exec(current)[0].length;\n\t\treturn Math.min(numSpaces, previous);\n\t}, Infinity);\n\n\treturn new Array(min + 1).join(' ');\n}\n\nfunction getRelativePath(from, to) {\n\tconst fromParts = from.split(/[/\\\\]/);\n\tconst toParts = to.split(/[/\\\\]/);\n\n\tfromParts.pop(); // get dirname\n\n\twhile (fromParts[0] === toParts[0]) {\n\t\tfromParts.shift();\n\t\ttoParts.shift();\n\t}\n\n\tif (fromParts.length) {\n\t\tlet i = fromParts.length;\n\t\twhile (i--) fromParts[i] = '..';\n\t}\n\n\treturn fromParts.concat(toParts).join('/');\n}\n\nconst toString = Object.prototype.toString;\n\nfunction isObject(thing) {\n\treturn toString.call(thing) === '[object Object]';\n}\n\nfunction getLocator(source) {\n\tconst originalLines = source.split('\\n');\n\tconst lineOffsets = [];\n\n\tfor (let i = 0, pos = 0; i < originalLines.length; i++) {\n\t\tlineOffsets.push(pos);\n\t\tpos += originalLines[i].length + 1;\n\t}\n\n\treturn function locate(index) {\n\t\tlet i = 0;\n\t\tlet j = lineOffsets.length;\n\t\twhile (i < j) {\n\t\t\tconst m = (i + j) >> 1;\n\t\t\tif (index < lineOffsets[m]) {\n\t\t\t\tj = m;\n\t\t\t} else {\n\t\t\t\ti = m + 1;\n\t\t\t}\n\t\t}\n\t\tconst line = i - 1;\n\t\tconst column = index - lineOffsets[line];\n\t\treturn { line, column };\n\t};\n}\n\nconst wordRegex = /\\w/;\n\nclass Mappings {\n\tconstructor(hires) {\n\t\tthis.hires = hires;\n\t\tthis.generatedCodeLine = 0;\n\t\tthis.generatedCodeColumn = 0;\n\t\tthis.raw = [];\n\t\tthis.rawSegments = this.raw[this.generatedCodeLine] = [];\n\t\tthis.pending = null;\n\t}\n\n\taddEdit(sourceIndex, content, loc, nameIndex) {\n\t\tif (content.length) {\n\t\t\tconst contentLengthMinusOne = content.length - 1;\n\t\t\tlet contentLineEnd = content.indexOf('\\n', 0);\n\t\t\tlet previousContentLineEnd = -1;\n\t\t\t// Loop through each line in the content and add a segment, but stop if the last line is empty,\n\t\t\t// else code afterwards would fill one line too many\n\t\t\twhile (contentLineEnd >= 0 && contentLengthMinusOne > contentLineEnd) {\n\t\t\t\tconst segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];\n\t\t\t\tif (nameIndex >= 0) {\n\t\t\t\t\tsegment.push(nameIndex);\n\t\t\t\t}\n\t\t\t\tthis.rawSegments.push(segment);\n\n\t\t\t\tthis.generatedCodeLine += 1;\n\t\t\t\tthis.raw[this.generatedCodeLine] = this.rawSegments = [];\n\t\t\t\tthis.generatedCodeColumn = 0;\n\n\t\t\t\tpreviousContentLineEnd = contentLineEnd;\n\t\t\t\tcontentLineEnd = content.indexOf('\\n', contentLineEnd + 1);\n\t\t\t}\n\n\t\t\tconst segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];\n\t\t\tif (nameIndex >= 0) {\n\t\t\t\tsegment.push(nameIndex);\n\t\t\t}\n\t\t\tthis.rawSegments.push(segment);\n\n\t\t\tthis.advance(content.slice(previousContentLineEnd + 1));\n\t\t} else if (this.pending) {\n\t\t\tthis.rawSegments.push(this.pending);\n\t\t\tthis.advance(content);\n\t\t}\n\n\t\tthis.pending = null;\n\t}\n\n\taddUneditedChunk(sourceIndex, chunk, original, loc, sourcemapLocations) {\n\t\tlet originalCharIndex = chunk.start;\n\t\tlet first = true;\n\t\t// when iterating each char, check if it's in a word boundary\n\t\tlet charInHiresBoundary = false;\n\n\t\twhile (originalCharIndex < chunk.end) {\n\t\t\tif (original[originalCharIndex] === '\\n') {\n\t\t\t\tloc.line += 1;\n\t\t\t\tloc.column = 0;\n\t\t\t\tthis.generatedCodeLine += 1;\n\t\t\t\tthis.raw[this.generatedCodeLine] = this.rawSegments = [];\n\t\t\t\tthis.generatedCodeColumn = 0;\n\t\t\t\tfirst = true;\n\t\t\t\tcharInHiresBoundary = false;\n\t\t\t} else {\n\t\t\t\tif (this.hires || first || sourcemapLocations.has(originalCharIndex)) {\n\t\t\t\t\tconst segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];\n\n\t\t\t\t\tif (this.hires === 'boundary') {\n\t\t\t\t\t\t// in hires \"boundary\", group segments per word boundary than per char\n\t\t\t\t\t\tif (wordRegex.test(original[originalCharIndex])) {\n\t\t\t\t\t\t\t// for first char in the boundary found, start the boundary by pushing a segment\n\t\t\t\t\t\t\tif (!charInHiresBoundary) {\n\t\t\t\t\t\t\t\tthis.rawSegments.push(segment);\n\t\t\t\t\t\t\t\tcharInHiresBoundary = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// for non-word char, end the boundary by pushing a segment\n\t\t\t\t\t\t\tthis.rawSegments.push(segment);\n\t\t\t\t\t\t\tcharInHiresBoundary = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.rawSegments.push(segment);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tloc.column += 1;\n\t\t\t\tthis.generatedCodeColumn += 1;\n\t\t\t\tfirst = false;\n\t\t\t}\n\n\t\t\toriginalCharIndex += 1;\n\t\t}\n\n\t\tthis.pending = null;\n\t}\n\n\tadvance(str) {\n\t\tif (!str) return;\n\n\t\tconst lines = str.split('\\n');\n\n\t\tif (lines.length > 1) {\n\t\t\tfor (let i = 0; i < lines.length - 1; i++) {\n\t\t\t\tthis.generatedCodeLine++;\n\t\t\t\tthis.raw[this.generatedCodeLine] = this.rawSegments = [];\n\t\t\t}\n\t\t\tthis.generatedCodeColumn = 0;\n\t\t}\n\n\t\tthis.generatedCodeColumn += lines[lines.length - 1].length;\n\t}\n}\n\nconst n = '\\n';\n\nconst warned = {\n\tinsertLeft: false,\n\tinsertRight: false,\n\tstoreName: false,\n};\n\nclass MagicString {\n\tconstructor(string, options = {}) {\n\t\tconst chunk = new Chunk(0, string.length, string);\n\n\t\tObject.defineProperties(this, {\n\t\t\toriginal: { writable: true, value: string },\n\t\t\toutro: { writable: true, value: '' },\n\t\t\tintro: { writable: true, value: '' },\n\t\t\tfirstChunk: { writable: true, value: chunk },\n\t\t\tlastChunk: { writable: true, value: chunk },\n\t\t\tlastSearchedChunk: { writable: true, value: chunk },\n\t\t\tbyStart: { writable: true, value: {} },\n\t\t\tbyEnd: { writable: true, value: {} },\n\t\t\tfilename: { writable: true, value: options.filename },\n\t\t\tindentExclusionRanges: { writable: true, value: options.indentExclusionRanges },\n\t\t\tsourcemapLocations: { writable: true, value: new BitSet() },\n\t\t\tstoredNames: { writable: true, value: {} },\n\t\t\tindentStr: { writable: true, value: undefined },\n\t\t\tignoreList: { writable: true, value: options.ignoreList },\n\t\t\toffset: { writable: true, value: options.offset || 0 },\n\t\t});\n\n\t\tthis.byStart[0] = chunk;\n\t\tthis.byEnd[string.length] = chunk;\n\t}\n\n\taddSourcemapLocation(char) {\n\t\tthis.sourcemapLocations.add(char);\n\t}\n\n\tappend(content) {\n\t\tif (typeof content !== 'string') throw new TypeError('outro content must be a string');\n\n\t\tthis.outro += content;\n\t\treturn this;\n\t}\n\n\tappendLeft(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byEnd[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.appendLeft(content);\n\t\t} else {\n\t\t\tthis.intro += content;\n\t\t}\n\t\treturn this;\n\t}\n\n\tappendRight(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byStart[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.appendRight(content);\n\t\t} else {\n\t\t\tthis.outro += content;\n\t\t}\n\t\treturn this;\n\t}\n\n\tclone() {\n\t\tconst cloned = new MagicString(this.original, { filename: this.filename, offset: this.offset });\n\n\t\tlet originalChunk = this.firstChunk;\n\t\tlet clonedChunk = (cloned.firstChunk = cloned.lastSearchedChunk = originalChunk.clone());\n\n\t\twhile (originalChunk) {\n\t\t\tcloned.byStart[clonedChunk.start] = clonedChunk;\n\t\t\tcloned.byEnd[clonedChunk.end] = clonedChunk;\n\n\t\t\tconst nextOriginalChunk = originalChunk.next;\n\t\t\tconst nextClonedChunk = nextOriginalChunk && nextOriginalChunk.clone();\n\n\t\t\tif (nextClonedChunk) {\n\t\t\t\tclonedChunk.next = nextClonedChunk;\n\t\t\t\tnextClonedChunk.previous = clonedChunk;\n\n\t\t\t\tclonedChunk = nextClonedChunk;\n\t\t\t}\n\n\t\t\toriginalChunk = nextOriginalChunk;\n\t\t}\n\n\t\tcloned.lastChunk = clonedChunk;\n\n\t\tif (this.indentExclusionRanges) {\n\t\t\tcloned.indentExclusionRanges = this.indentExclusionRanges.slice();\n\t\t}\n\n\t\tcloned.sourcemapLocations = new BitSet(this.sourcemapLocations);\n\n\t\tcloned.intro = this.intro;\n\t\tcloned.outro = this.outro;\n\n\t\treturn cloned;\n\t}\n\n\tgenerateDecodedMap(options) {\n\t\toptions = options || {};\n\n\t\tconst sourceIndex = 0;\n\t\tconst names = Object.keys(this.storedNames);\n\t\tconst mappings = new Mappings(options.hires);\n\n\t\tconst locate = getLocator(this.original);\n\n\t\tif (this.intro) {\n\t\t\tmappings.advance(this.intro);\n\t\t}\n\n\t\tthis.firstChunk.eachNext((chunk) => {\n\t\t\tconst loc = locate(chunk.start);\n\n\t\t\tif (chunk.intro.length) mappings.advance(chunk.intro);\n\n\t\t\tif (chunk.edited) {\n\t\t\t\tmappings.addEdit(\n\t\t\t\t\tsourceIndex,\n\t\t\t\t\tchunk.content,\n\t\t\t\t\tloc,\n\t\t\t\t\tchunk.storeName ? names.indexOf(chunk.original) : -1,\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tmappings.addUneditedChunk(sourceIndex, chunk, this.original, loc, this.sourcemapLocations);\n\t\t\t}\n\n\t\t\tif (chunk.outro.length) mappings.advance(chunk.outro);\n\t\t});\n\n\t\tif (this.outro) {\n\t\t\tmappings.advance(this.outro);\n\t\t}\n\n\t\treturn {\n\t\t\tfile: options.file ? options.file.split(/[/\\\\]/).pop() : undefined,\n\t\t\tsources: [\n\t\t\t\toptions.source ? getRelativePath(options.file || '', options.source) : options.file || '',\n\t\t\t],\n\t\t\tsourcesContent: options.includeContent ? [this.original] : undefined,\n\t\t\tnames,\n\t\t\tmappings: mappings.raw,\n\t\t\tx_google_ignoreList: this.ignoreList ? [sourceIndex] : undefined,\n\t\t};\n\t}\n\n\tgenerateMap(options) {\n\t\treturn new SourceMap(this.generateDecodedMap(options));\n\t}\n\n\t_ensureindentStr() {\n\t\tif (this.indentStr === undefined) {\n\t\t\tthis.indentStr = guessIndent(this.original);\n\t\t}\n\t}\n\n\t_getRawIndentString() {\n\t\tthis._ensureindentStr();\n\t\treturn this.indentStr;\n\t}\n\n\tgetIndentString() {\n\t\tthis._ensureindentStr();\n\t\treturn this.indentStr === null ? '\\t' : this.indentStr;\n\t}\n\n\tindent(indentStr, options) {\n\t\tconst pattern = /^[^\\r\\n]/gm;\n\n\t\tif (isObject(indentStr)) {\n\t\t\toptions = indentStr;\n\t\t\tindentStr = undefined;\n\t\t}\n\n\t\tif (indentStr === undefined) {\n\t\t\tthis._ensureindentStr();\n\t\t\tindentStr = this.indentStr || '\\t';\n\t\t}\n\n\t\tif (indentStr === '') return this; // noop\n\n\t\toptions = options || {};\n\n\t\t// Process exclusion ranges\n\t\tconst isExcluded = {};\n\n\t\tif (options.exclude) {\n\t\t\tconst exclusions =\n\t\t\t\ttypeof options.exclude[0] === 'number' ? [options.exclude] : options.exclude;\n\t\t\texclusions.forEach((exclusion) => {\n\t\t\t\tfor (let i = exclusion[0]; i < exclusion[1]; i += 1) {\n\t\t\t\t\tisExcluded[i] = true;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tlet shouldIndentNextCharacter = options.indentStart !== false;\n\t\tconst replacer = (match) => {\n\t\t\tif (shouldIndentNextCharacter) return `${indentStr}${match}`;\n\t\t\tshouldIndentNextCharacter = true;\n\t\t\treturn match;\n\t\t};\n\n\t\tthis.intro = this.intro.replace(pattern, replacer);\n\n\t\tlet charIndex = 0;\n\t\tlet chunk = this.firstChunk;\n\n\t\twhile (chunk) {\n\t\t\tconst end = chunk.end;\n\n\t\t\tif (chunk.edited) {\n\t\t\t\tif (!isExcluded[charIndex]) {\n\t\t\t\t\tchunk.content = chunk.content.replace(pattern, replacer);\n\n\t\t\t\t\tif (chunk.content.length) {\n\t\t\t\t\t\tshouldIndentNextCharacter = chunk.content[chunk.content.length - 1] === '\\n';\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcharIndex = chunk.start;\n\n\t\t\t\twhile (charIndex < end) {\n\t\t\t\t\tif (!isExcluded[charIndex]) {\n\t\t\t\t\t\tconst char = this.original[charIndex];\n\n\t\t\t\t\t\tif (char === '\\n') {\n\t\t\t\t\t\t\tshouldIndentNextCharacter = true;\n\t\t\t\t\t\t} else if (char !== '\\r' && shouldIndentNextCharacter) {\n\t\t\t\t\t\t\tshouldIndentNextCharacter = false;\n\n\t\t\t\t\t\t\tif (charIndex === chunk.start) {\n\t\t\t\t\t\t\t\tchunk.prependRight(indentStr);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis._splitChunk(chunk, charIndex);\n\t\t\t\t\t\t\t\tchunk = chunk.next;\n\t\t\t\t\t\t\t\tchunk.prependRight(indentStr);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tcharIndex += 1;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tcharIndex = chunk.end;\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\tthis.outro = this.outro.replace(pattern, replacer);\n\n\t\treturn this;\n\t}\n\n\tinsert() {\n\t\tthrow new Error(\n\t\t\t'magicString.insert(...) is deprecated. Use prependRight(...) or appendLeft(...)',\n\t\t);\n\t}\n\n\tinsertLeft(index, content) {\n\t\tif (!warned.insertLeft) {\n\t\t\tconsole.warn(\n\t\t\t\t'magicString.insertLeft(...) is deprecated. Use magicString.appendLeft(...) instead',\n\t\t\t);\n\t\t\twarned.insertLeft = true;\n\t\t}\n\n\t\treturn this.appendLeft(index, content);\n\t}\n\n\tinsertRight(index, content) {\n\t\tif (!warned.insertRight) {\n\t\t\tconsole.warn(\n\t\t\t\t'magicString.insertRight(...) is deprecated. Use magicString.prependRight(...) instead',\n\t\t\t);\n\t\t\twarned.insertRight = true;\n\t\t}\n\n\t\treturn this.prependRight(index, content);\n\t}\n\n\tmove(start, end, index) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\t\tindex = index + this.offset;\n\n\t\tif (index >= start && index <= end) throw new Error('Cannot move a selection inside itself');\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\t\tthis._split(index);\n\n\t\tconst first = this.byStart[start];\n\t\tconst last = this.byEnd[end];\n\n\t\tconst oldLeft = first.previous;\n\t\tconst oldRight = last.next;\n\n\t\tconst newRight = this.byStart[index];\n\t\tif (!newRight && last === this.lastChunk) return this;\n\t\tconst newLeft = newRight ? newRight.previous : this.lastChunk;\n\n\t\tif (oldLeft) oldLeft.next = oldRight;\n\t\tif (oldRight) oldRight.previous = oldLeft;\n\n\t\tif (newLeft) newLeft.next = first;\n\t\tif (newRight) newRight.previous = last;\n\n\t\tif (!first.previous) this.firstChunk = last.next;\n\t\tif (!last.next) {\n\t\t\tthis.lastChunk = first.previous;\n\t\t\tthis.lastChunk.next = null;\n\t\t}\n\n\t\tfirst.previous = newLeft;\n\t\tlast.next = newRight || null;\n\n\t\tif (!newLeft) this.firstChunk = first;\n\t\tif (!newRight) this.lastChunk = last;\n\t\treturn this;\n\t}\n\n\toverwrite(start, end, content, options) {\n\t\toptions = options || {};\n\t\treturn this.update(start, end, content, { ...options, overwrite: !options.contentOnly });\n\t}\n\n\tupdate(start, end, content, options) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('replacement content must be a string');\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tif (end > this.original.length) throw new Error('end is out of bounds');\n\t\tif (start === end)\n\t\t\tthrow new Error(\n\t\t\t\t'Cannot overwrite a zero-length range – use appendLeft or prependRight instead',\n\t\t\t);\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\n\t\tif (options === true) {\n\t\t\tif (!warned.storeName) {\n\t\t\t\tconsole.warn(\n\t\t\t\t\t'The final argument to magicString.overwrite(...) should be an options object. See https://github.com/rich-harris/magic-string',\n\t\t\t\t);\n\t\t\t\twarned.storeName = true;\n\t\t\t}\n\n\t\t\toptions = { storeName: true };\n\t\t}\n\t\tconst storeName = options !== undefined ? options.storeName : false;\n\t\tconst overwrite = options !== undefined ? options.overwrite : false;\n\n\t\tif (storeName) {\n\t\t\tconst original = this.original.slice(start, end);\n\t\t\tObject.defineProperty(this.storedNames, original, {\n\t\t\t\twritable: true,\n\t\t\t\tvalue: true,\n\t\t\t\tenumerable: true,\n\t\t\t});\n\t\t}\n\n\t\tconst first = this.byStart[start];\n\t\tconst last = this.byEnd[end];\n\n\t\tif (first) {\n\t\t\tlet chunk = first;\n\t\t\twhile (chunk !== last) {\n\t\t\t\tif (chunk.next !== this.byStart[chunk.end]) {\n\t\t\t\t\tthrow new Error('Cannot overwrite across a split point');\n\t\t\t\t}\n\t\t\t\tchunk = chunk.next;\n\t\t\t\tchunk.edit('', false);\n\t\t\t}\n\n\t\t\tfirst.edit(content, storeName, !overwrite);\n\t\t} else {\n\t\t\t// must be inserting at the end\n\t\t\tconst newChunk = new Chunk(start, end, '').edit(content, storeName);\n\n\t\t\t// TODO last chunk in the array may not be the last chunk, if it's moved...\n\t\t\tlast.next = newChunk;\n\t\t\tnewChunk.previous = last;\n\t\t}\n\t\treturn this;\n\t}\n\n\tprepend(content) {\n\t\tif (typeof content !== 'string') throw new TypeError('outro content must be a string');\n\n\t\tthis.intro = content + this.intro;\n\t\treturn this;\n\t}\n\n\tprependLeft(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byEnd[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.prependLeft(content);\n\t\t} else {\n\t\t\tthis.intro = content + this.intro;\n\t\t}\n\t\treturn this;\n\t}\n\n\tprependRight(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byStart[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.prependRight(content);\n\t\t} else {\n\t\t\tthis.outro = content + this.outro;\n\t\t}\n\t\treturn this;\n\t}\n\n\tremove(start, end) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tif (start === end) return this;\n\n\t\tif (start < 0 || end > this.original.length) throw new Error('Character is out of bounds');\n\t\tif (start > end) throw new Error('end must be greater than start');\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\n\t\tlet chunk = this.byStart[start];\n\n\t\twhile (chunk) {\n\t\t\tchunk.intro = '';\n\t\t\tchunk.outro = '';\n\t\t\tchunk.edit('');\n\n\t\t\tchunk = end > chunk.end ? this.byStart[chunk.end] : null;\n\t\t}\n\t\treturn this;\n\t}\n\n\treset(start, end) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tif (start === end) return this;\n\n\t\tif (start < 0 || end > this.original.length) throw new Error('Character is out of bounds');\n\t\tif (start > end) throw new Error('end must be greater than start');\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\n\t\tlet chunk = this.byStart[start];\n\n\t\twhile (chunk) {\n\t\t\tchunk.reset();\n\n\t\t\tchunk = end > chunk.end ? this.byStart[chunk.end] : null;\n\t\t}\n\t\treturn this;\n\t}\n\n\tlastChar() {\n\t\tif (this.outro.length) return this.outro[this.outro.length - 1];\n\t\tlet chunk = this.lastChunk;\n\t\tdo {\n\t\t\tif (chunk.outro.length) return chunk.outro[chunk.outro.length - 1];\n\t\t\tif (chunk.content.length) return chunk.content[chunk.content.length - 1];\n\t\t\tif (chunk.intro.length) return chunk.intro[chunk.intro.length - 1];\n\t\t} while ((chunk = chunk.previous));\n\t\tif (this.intro.length) return this.intro[this.intro.length - 1];\n\t\treturn '';\n\t}\n\n\tlastLine() {\n\t\tlet lineIndex = this.outro.lastIndexOf(n);\n\t\tif (lineIndex !== -1) return this.outro.substr(lineIndex + 1);\n\t\tlet lineStr = this.outro;\n\t\tlet chunk = this.lastChunk;\n\t\tdo {\n\t\t\tif (chunk.outro.length > 0) {\n\t\t\t\tlineIndex = chunk.outro.lastIndexOf(n);\n\t\t\t\tif (lineIndex !== -1) return chunk.outro.substr(lineIndex + 1) + lineStr;\n\t\t\t\tlineStr = chunk.outro + lineStr;\n\t\t\t}\n\n\t\t\tif (chunk.content.length > 0) {\n\t\t\t\tlineIndex = chunk.content.lastIndexOf(n);\n\t\t\t\tif (lineIndex !== -1) return chunk.content.substr(lineIndex + 1) + lineStr;\n\t\t\t\tlineStr = chunk.content + lineStr;\n\t\t\t}\n\n\t\t\tif (chunk.intro.length > 0) {\n\t\t\t\tlineIndex = chunk.intro.lastIndexOf(n);\n\t\t\t\tif (lineIndex !== -1) return chunk.intro.substr(lineIndex + 1) + lineStr;\n\t\t\t\tlineStr = chunk.intro + lineStr;\n\t\t\t}\n\t\t} while ((chunk = chunk.previous));\n\t\tlineIndex = this.intro.lastIndexOf(n);\n\t\tif (lineIndex !== -1) return this.intro.substr(lineIndex + 1) + lineStr;\n\t\treturn this.intro + lineStr;\n\t}\n\n\tslice(start = 0, end = this.original.length - this.offset) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tlet result = '';\n\n\t\t// find start chunk\n\t\tlet chunk = this.firstChunk;\n\t\twhile (chunk && (chunk.start > start || chunk.end <= start)) {\n\t\t\t// found end chunk before start\n\t\t\tif (chunk.start < end && chunk.end >= end) {\n\t\t\t\treturn result;\n\t\t\t}\n\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\tif (chunk && chunk.edited && chunk.start !== start)\n\t\t\tthrow new Error(`Cannot use replaced character ${start} as slice start anchor.`);\n\n\t\tconst startChunk = chunk;\n\t\twhile (chunk) {\n\t\t\tif (chunk.intro && (startChunk !== chunk || chunk.start === start)) {\n\t\t\t\tresult += chunk.intro;\n\t\t\t}\n\n\t\t\tconst containsEnd = chunk.start < end && chunk.end >= end;\n\t\t\tif (containsEnd && chunk.edited && chunk.end !== end)\n\t\t\t\tthrow new Error(`Cannot use replaced character ${end} as slice end anchor.`);\n\n\t\t\tconst sliceStart = startChunk === chunk ? start - chunk.start : 0;\n\t\t\tconst sliceEnd = containsEnd ? chunk.content.length + end - chunk.end : chunk.content.length;\n\n\t\t\tresult += chunk.content.slice(sliceStart, sliceEnd);\n\n\t\t\tif (chunk.outro && (!containsEnd || chunk.end === end)) {\n\t\t\t\tresult += chunk.outro;\n\t\t\t}\n\n\t\t\tif (containsEnd) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\treturn result;\n\t}\n\n\t// TODO deprecate this? not really very useful\n\tsnip(start, end) {\n\t\tconst clone = this.clone();\n\t\tclone.remove(0, start);\n\t\tclone.remove(end, clone.original.length);\n\n\t\treturn clone;\n\t}\n\n\t_split(index) {\n\t\tif (this.byStart[index] || this.byEnd[index]) return;\n\n\t\tlet chunk = this.lastSearchedChunk;\n\t\tlet previousChunk = chunk;\n\t\tconst searchForward = index > chunk.end;\n\n\t\twhile (chunk) {\n\t\t\tif (chunk.contains(index)) return this._splitChunk(chunk, index);\n\n\t\t\tchunk = searchForward ? this.byStart[chunk.end] : this.byEnd[chunk.start];\n\n\t\t\t// Prevent infinite loop (e.g. via empty chunks, where start === end)\n\t\t\tif (chunk === previousChunk) return;\n\n\t\t\tpreviousChunk = chunk;\n\t\t}\n\t}\n\n\t_splitChunk(chunk, index) {\n\t\tif (chunk.edited && chunk.content.length) {\n\t\t\t// zero-length edited chunks are a special case (overlapping replacements)\n\t\t\tconst loc = getLocator(this.original)(index);\n\t\t\tthrow new Error(\n\t\t\t\t`Cannot split a chunk that has already been edited (${loc.line}:${loc.column} – \"${chunk.original}\")`,\n\t\t\t);\n\t\t}\n\n\t\tconst newChunk = chunk.split(index);\n\n\t\tthis.byEnd[index] = chunk;\n\t\tthis.byStart[index] = newChunk;\n\t\tthis.byEnd[newChunk.end] = newChunk;\n\n\t\tif (chunk === this.lastChunk) this.lastChunk = newChunk;\n\n\t\tthis.lastSearchedChunk = chunk;\n\t\treturn true;\n\t}\n\n\ttoString() {\n\t\tlet str = this.intro;\n\n\t\tlet chunk = this.firstChunk;\n\t\twhile (chunk) {\n\t\t\tstr += chunk.toString();\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\treturn str + this.outro;\n\t}\n\n\tisEmpty() {\n\t\tlet chunk = this.firstChunk;\n\t\tdo {\n\t\t\tif (\n\t\t\t\t(chunk.intro.length && chunk.intro.trim()) ||\n\t\t\t\t(chunk.content.length && chunk.content.trim()) ||\n\t\t\t\t(chunk.outro.length && chunk.outro.trim())\n\t\t\t)\n\t\t\t\treturn false;\n\t\t} while ((chunk = chunk.next));\n\t\treturn true;\n\t}\n\n\tlength() {\n\t\tlet chunk = this.firstChunk;\n\t\tlet length = 0;\n\t\tdo {\n\t\t\tlength += chunk.intro.length + chunk.content.length + chunk.outro.length;\n\t\t} while ((chunk = chunk.next));\n\t\treturn length;\n\t}\n\n\ttrimLines() {\n\t\treturn this.trim('[\\\\r\\\\n]');\n\t}\n\n\ttrim(charType) {\n\t\treturn this.trimStart(charType).trimEnd(charType);\n\t}\n\n\ttrimEndAborted(charType) {\n\t\tconst rx = new RegExp((charType || '\\\\s') + '+$');\n\n\t\tthis.outro = this.outro.replace(rx, '');\n\t\tif (this.outro.length) return true;\n\n\t\tlet chunk = this.lastChunk;\n\n\t\tdo {\n\t\t\tconst end = chunk.end;\n\t\t\tconst aborted = chunk.trimEnd(rx);\n\n\t\t\t// if chunk was trimmed, we have a new lastChunk\n\t\t\tif (chunk.end !== end) {\n\t\t\t\tif (this.lastChunk === chunk) {\n\t\t\t\t\tthis.lastChunk = chunk.next;\n\t\t\t\t}\n\n\t\t\t\tthis.byEnd[chunk.end] = chunk;\n\t\t\t\tthis.byStart[chunk.next.start] = chunk.next;\n\t\t\t\tthis.byEnd[chunk.next.end] = chunk.next;\n\t\t\t}\n\n\t\t\tif (aborted) return true;\n\t\t\tchunk = chunk.previous;\n\t\t} while (chunk);\n\n\t\treturn false;\n\t}\n\n\ttrimEnd(charType) {\n\t\tthis.trimEndAborted(charType);\n\t\treturn this;\n\t}\n\ttrimStartAborted(charType) {\n\t\tconst rx = new RegExp('^' + (charType || '\\\\s') + '+');\n\n\t\tthis.intro = this.intro.replace(rx, '');\n\t\tif (this.intro.length) return true;\n\n\t\tlet chunk = this.firstChunk;\n\n\t\tdo {\n\t\t\tconst end = chunk.end;\n\t\t\tconst aborted = chunk.trimStart(rx);\n\n\t\t\tif (chunk.end !== end) {\n\t\t\t\t// special case...\n\t\t\t\tif (chunk === this.lastChunk) this.lastChunk = chunk.next;\n\n\t\t\t\tthis.byEnd[chunk.end] = chunk;\n\t\t\t\tthis.byStart[chunk.next.start] = chunk.next;\n\t\t\t\tthis.byEnd[chunk.next.end] = chunk.next;\n\t\t\t}\n\n\t\t\tif (aborted) return true;\n\t\t\tchunk = chunk.next;\n\t\t} while (chunk);\n\n\t\treturn false;\n\t}\n\n\ttrimStart(charType) {\n\t\tthis.trimStartAborted(charType);\n\t\treturn this;\n\t}\n\n\thasChanged() {\n\t\treturn this.original !== this.toString();\n\t}\n\n\t_replaceRegexp(searchValue, replacement) {\n\t\tfunction getReplacement(match, str) {\n\t\t\tif (typeof replacement === 'string') {\n\t\t\t\treturn replacement.replace(/\\$(\\$|&|\\d+)/g, (_, i) => {\n\t\t\t\t\t// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace#specifying_a_string_as_a_parameter\n\t\t\t\t\tif (i === '$') return '$';\n\t\t\t\t\tif (i === '&') return match[0];\n\t\t\t\t\tconst num = +i;\n\t\t\t\t\tif (num < match.length) return match[+i];\n\t\t\t\t\treturn `$${i}`;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\treturn replacement(...match, match.index, str, match.groups);\n\t\t\t}\n\t\t}\n\t\tfunction matchAll(re, str) {\n\t\t\tlet match;\n\t\t\tconst matches = [];\n\t\t\twhile ((match = re.exec(str))) {\n\t\t\t\tmatches.push(match);\n\t\t\t}\n\t\t\treturn matches;\n\t\t}\n\t\tif (searchValue.global) {\n\t\t\tconst matches = matchAll(searchValue, this.original);\n\t\t\tmatches.forEach((match) => {\n\t\t\t\tif (match.index != null) {\n\t\t\t\t\tconst replacement = getReplacement(match, this.original);\n\t\t\t\t\tif (replacement !== match[0]) {\n\t\t\t\t\t\tthis.overwrite(match.index, match.index + match[0].length, replacement);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tconst match = this.original.match(searchValue);\n\t\t\tif (match && match.index != null) {\n\t\t\t\tconst replacement = getReplacement(match, this.original);\n\t\t\t\tif (replacement !== match[0]) {\n\t\t\t\t\tthis.overwrite(match.index, match.index + match[0].length, replacement);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn this;\n\t}\n\n\t_replaceString(string, replacement) {\n\t\tconst { original } = this;\n\t\tconst index = original.indexOf(string);\n\n\t\tif (index !== -1) {\n\t\t\tif (typeof replacement === 'function') {\n\t\t\t\treplacement = replacement(string, index, original);\n\t\t\t}\n\t\t\tif (string !== replacement) {\n\t\t\t\tthis.overwrite(index, index + string.length, replacement);\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t}\n\n\treplace(searchValue, replacement) {\n\t\tif (typeof searchValue === 'string') {\n\t\t\treturn this._replaceString(searchValue, replacement);\n\t\t}\n\n\t\treturn this._replaceRegexp(searchValue, replacement);\n\t}\n\n\t_replaceAllString(string, replacement) {\n\t\tconst { original } = this;\n\t\tconst stringLength = string.length;\n\t\tfor (\n\t\t\tlet index = original.indexOf(string);\n\t\t\tindex !== -1;\n\t\t\tindex = original.indexOf(string, index + stringLength)\n\t\t) {\n\t\t\tconst previous = original.slice(index, index + stringLength);\n\t\t\tlet _replacement = replacement;\n\t\t\tif (typeof replacement === 'function') {\n\t\t\t\t_replacement = replacement(previous, index, original);\n\t\t\t}\n\t\t\tif (previous !== _replacement) this.overwrite(index, index + stringLength, _replacement);\n\t\t}\n\n\t\treturn this;\n\t}\n\n\treplaceAll(searchValue, replacement) {\n\t\tif (typeof searchValue === 'string') {\n\t\t\treturn this._replaceAllString(searchValue, replacement);\n\t\t}\n\n\t\tif (!searchValue.global) {\n\t\t\tthrow new TypeError(\n\t\t\t\t'MagicString.prototype.replaceAll called with a non-global RegExp argument',\n\t\t\t);\n\t\t}\n\n\t\treturn this._replaceRegexp(searchValue, replacement);\n\t}\n}\n\nconst hasOwnProp = Object.prototype.hasOwnProperty;\n\nclass Bundle {\n\tconstructor(options = {}) {\n\t\tthis.intro = options.intro || '';\n\t\tthis.separator = options.separator !== undefined ? options.separator : '\\n';\n\t\tthis.sources = [];\n\t\tthis.uniqueSources = [];\n\t\tthis.uniqueSourceIndexByFilename = {};\n\t}\n\n\taddSource(source) {\n\t\tif (source instanceof MagicString) {\n\t\t\treturn this.addSource({\n\t\t\t\tcontent: source,\n\t\t\t\tfilename: source.filename,\n\t\t\t\tseparator: this.separator,\n\t\t\t});\n\t\t}\n\n\t\tif (!isObject(source) || !source.content) {\n\t\t\tthrow new Error(\n\t\t\t\t'bundle.addSource() takes an object with a `content` property, which should be an instance of MagicString, and an optional `filename`',\n\t\t\t);\n\t\t}\n\n\t\t['filename', 'ignoreList', 'indentExclusionRanges', 'separator'].forEach((option) => {\n\t\t\tif (!hasOwnProp.call(source, option)) source[option] = source.content[option];\n\t\t});\n\n\t\tif (source.separator === undefined) {\n\t\t\t// TODO there's a bunch of this sort of thing, needs cleaning up\n\t\t\tsource.separator = this.separator;\n\t\t}\n\n\t\tif (source.filename) {\n\t\t\tif (!hasOwnProp.call(this.uniqueSourceIndexByFilename, source.filename)) {\n\t\t\t\tthis.uniqueSourceIndexByFilename[source.filename] = this.uniqueSources.length;\n\t\t\t\tthis.uniqueSources.push({ filename: source.filename, content: source.content.original });\n\t\t\t} else {\n\t\t\t\tconst uniqueSource = this.uniqueSources[this.uniqueSourceIndexByFilename[source.filename]];\n\t\t\t\tif (source.content.original !== uniqueSource.content) {\n\t\t\t\t\tthrow new Error(`Illegal source: same filename (${source.filename}), different contents`);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis.sources.push(source);\n\t\treturn this;\n\t}\n\n\tappend(str, options) {\n\t\tthis.addSource({\n\t\t\tcontent: new MagicString(str),\n\t\t\tseparator: (options && options.separator) || '',\n\t\t});\n\n\t\treturn this;\n\t}\n\n\tclone() {\n\t\tconst bundle = new Bundle({\n\t\t\tintro: this.intro,\n\t\t\tseparator: this.separator,\n\t\t});\n\n\t\tthis.sources.forEach((source) => {\n\t\t\tbundle.addSource({\n\t\t\t\tfilename: source.filename,\n\t\t\t\tcontent: source.content.clone(),\n\t\t\t\tseparator: source.separator,\n\t\t\t});\n\t\t});\n\n\t\treturn bundle;\n\t}\n\n\tgenerateDecodedMap(options = {}) {\n\t\tconst names = [];\n\t\tlet x_google_ignoreList = undefined;\n\t\tthis.sources.forEach((source) => {\n\t\t\tObject.keys(source.content.storedNames).forEach((name) => {\n\t\t\t\tif (!~names.indexOf(name)) names.push(name);\n\t\t\t});\n\t\t});\n\n\t\tconst mappings = new Mappings(options.hires);\n\n\t\tif (this.intro) {\n\t\t\tmappings.advance(this.intro);\n\t\t}\n\n\t\tthis.sources.forEach((source, i) => {\n\t\t\tif (i > 0) {\n\t\t\t\tmappings.advance(this.separator);\n\t\t\t}\n\n\t\t\tconst sourceIndex = source.filename ? this.uniqueSourceIndexByFilename[source.filename] : -1;\n\t\t\tconst magicString = source.content;\n\t\t\tconst locate = getLocator(magicString.original);\n\n\t\t\tif (magicString.intro) {\n\t\t\t\tmappings.advance(magicString.intro);\n\t\t\t}\n\n\t\t\tmagicString.firstChunk.eachNext((chunk) => {\n\t\t\t\tconst loc = locate(chunk.start);\n\n\t\t\t\tif (chunk.intro.length) mappings.advance(chunk.intro);\n\n\t\t\t\tif (source.filename) {\n\t\t\t\t\tif (chunk.edited) {\n\t\t\t\t\t\tmappings.addEdit(\n\t\t\t\t\t\t\tsourceIndex,\n\t\t\t\t\t\t\tchunk.content,\n\t\t\t\t\t\t\tloc,\n\t\t\t\t\t\t\tchunk.storeName ? names.indexOf(chunk.original) : -1,\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmappings.addUneditedChunk(\n\t\t\t\t\t\t\tsourceIndex,\n\t\t\t\t\t\t\tchunk,\n\t\t\t\t\t\t\tmagicString.original,\n\t\t\t\t\t\t\tloc,\n\t\t\t\t\t\t\tmagicString.sourcemapLocations,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tmappings.advance(chunk.content);\n\t\t\t\t}\n\n\t\t\t\tif (chunk.outro.length) mappings.advance(chunk.outro);\n\t\t\t});\n\n\t\t\tif (magicString.outro) {\n\t\t\t\tmappings.advance(magicString.outro);\n\t\t\t}\n\n\t\t\tif (source.ignoreList && sourceIndex !== -1) {\n\t\t\t\tif (x_google_ignoreList === undefined) {\n\t\t\t\t\tx_google_ignoreList = [];\n\t\t\t\t}\n\t\t\t\tx_google_ignoreList.push(sourceIndex);\n\t\t\t}\n\t\t});\n\n\t\treturn {\n\t\t\tfile: options.file ? options.file.split(/[/\\\\]/).pop() : undefined,\n\t\t\tsources: this.uniqueSources.map((source) => {\n\t\t\t\treturn options.file ? getRelativePath(options.file, source.filename) : source.filename;\n\t\t\t}),\n\t\t\tsourcesContent: this.uniqueSources.map((source) => {\n\t\t\t\treturn options.includeContent ? source.content : null;\n\t\t\t}),\n\t\t\tnames,\n\t\t\tmappings: mappings.raw,\n\t\t\tx_google_ignoreList,\n\t\t};\n\t}\n\n\tgenerateMap(options) {\n\t\treturn new SourceMap(this.generateDecodedMap(options));\n\t}\n\n\tgetIndentString() {\n\t\tconst indentStringCounts = {};\n\n\t\tthis.sources.forEach((source) => {\n\t\t\tconst indentStr = source.content._getRawIndentString();\n\n\t\t\tif (indentStr === null) return;\n\n\t\t\tif (!indentStringCounts[indentStr]) indentStringCounts[indentStr] = 0;\n\t\t\tindentStringCounts[indentStr] += 1;\n\t\t});\n\n\t\treturn (\n\t\t\tObject.keys(indentStringCounts).sort((a, b) => {\n\t\t\t\treturn indentStringCounts[a] - indentStringCounts[b];\n\t\t\t})[0] || '\\t'\n\t\t);\n\t}\n\n\tindent(indentStr) {\n\t\tif (!arguments.length) {\n\t\t\tindentStr = this.getIndentString();\n\t\t}\n\n\t\tif (indentStr === '') return this; // noop\n\n\t\tlet trailingNewline = !this.intro || this.intro.slice(-1) === '\\n';\n\n\t\tthis.sources.forEach((source, i) => {\n\t\t\tconst separator = source.separator !== undefined ? source.separator : this.separator;\n\t\t\tconst indentStart = trailingNewline || (i > 0 && /\\r?\\n$/.test(separator));\n\n\t\t\tsource.content.indent(indentStr, {\n\t\t\t\texclude: source.indentExclusionRanges,\n\t\t\t\tindentStart, //: trailingNewline || /\\r?\\n$/.test( separator ) //true///\\r?\\n/.test( separator )\n\t\t\t});\n\n\t\t\ttrailingNewline = source.content.lastChar() === '\\n';\n\t\t});\n\n\t\tif (this.intro) {\n\t\t\tthis.intro =\n\t\t\t\tindentStr +\n\t\t\t\tthis.intro.replace(/^[^\\n]/gm, (match, index) => {\n\t\t\t\t\treturn index > 0 ? indentStr + match : match;\n\t\t\t\t});\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tprepend(str) {\n\t\tthis.intro = str + this.intro;\n\t\treturn this;\n\t}\n\n\ttoString() {\n\t\tconst body = this.sources\n\t\t\t.map((source, i) => {\n\t\t\t\tconst separator = source.separator !== undefined ? source.separator : this.separator;\n\t\t\t\tconst str = (i > 0 ? separator : '') + source.content.toString();\n\n\t\t\t\treturn str;\n\t\t\t})\n\t\t\t.join('');\n\n\t\treturn this.intro + body;\n\t}\n\n\tisEmpty() {\n\t\tif (this.intro.length && this.intro.trim()) return false;\n\t\tif (this.sources.some((source) => !source.content.isEmpty())) return false;\n\t\treturn true;\n\t}\n\n\tlength() {\n\t\treturn this.sources.reduce(\n\t\t\t(length, source) => length + source.content.length(),\n\t\t\tthis.intro.length,\n\t\t);\n\t}\n\n\ttrimLines() {\n\t\treturn this.trim('[\\\\r\\\\n]');\n\t}\n\n\ttrim(charType) {\n\t\treturn this.trimStart(charType).trimEnd(charType);\n\t}\n\n\ttrimStart(charType) {\n\t\tconst rx = new RegExp('^' + (charType || '\\\\s') + '+');\n\t\tthis.intro = this.intro.replace(rx, '');\n\n\t\tif (!this.intro) {\n\t\t\tlet source;\n\t\t\tlet i = 0;\n\n\t\t\tdo {\n\t\t\t\tsource = this.sources[i++];\n\t\t\t\tif (!source) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} while (!source.content.trimStartAborted(charType));\n\t\t}\n\n\t\treturn this;\n\t}\n\n\ttrimEnd(charType) {\n\t\tconst rx = new RegExp((charType || '\\\\s') + '+$');\n\n\t\tlet source;\n\t\tlet i = this.sources.length - 1;\n\n\t\tdo {\n\t\t\tsource = this.sources[i--];\n\t\t\tif (!source) {\n\t\t\t\tthis.intro = this.intro.replace(rx, '');\n\t\t\t\tbreak;\n\t\t\t}\n\t\t} while (!source.content.trimEndAborted(charType));\n\n\t\treturn this;\n\t}\n}\n\nexport { Bundle, SourceMap, MagicString as default };\n//# sourceMappingURL=magic-string.es.mjs.map\n"],"x_google_ignoreList":[0,1],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"matcher-logic-07fFOz7r.cjs","names":[],"sources":["../../../../../../ai/src/contracts/end.type.ts","../../../../../../ai/src/testing/matcher-logic.ts"],"sourcesContent":["/**\n * Framework-global termination sentinel. Emitted by any primitive\n * whose control flow is routed through JSON-serializable strings —\n * supervisor (router agent's `next`, deterministic `route` callback),\n * future planner (plan steps), future orchestrator (session\n * directive), any future primitive that needs to say \"stop\" across a\n * wire that can't carry `null`.\n *\n * **Why one shared literal.** Consumers learn one word. Cross-\n * primitive pipes — a planner feeding a supervisor, a supervisor\n * nested as a tool inside an orchestrator — can pass the sentinel\n * through without translation.\n *\n * **Why this specific string.** Brand-prefixed (`__warlock:`) so it\n * can't collide with a realistic user-chosen intent / step / route\n * key (`\"end\"`, `\"done\"`, `\"stop\"` are all valid user keys).\n * Underscore-surrounded so it stands out in logs and snapshots.\n * JSON-safe so a router agent emits it verbatim.\n *\n * **Not used by every primitive.** Workflow's `nextStep` returns\n * `null` to end — a callback-level mechanism that predates this\n * sentinel. Workflows keep `null`; the sentinel is for primitives\n * whose \"end\" must survive a JSON boundary.\n *\n * @example\n * import { END } from \"@warlock.js/ai\";\n *\n * // Supervisor route callback\n * ai.supervisor({\n * intents: { writer, critic },\n * route: (ctx) => (ctx.iteration >= 5 ? END : \"writer\"),\n * });\n *\n * // Router agent output schema\n * const router = ai.agent({\n * model,\n * output: z.object({\n * next: z.union([z.string(), z.array(z.string()), z.literal(END)]),\n * }),\n * });\n */\nexport const END = \"__warlock:end__\" as const;\n\n/**\n * Value type of `END`. Exposed so consumers building Zod / Standard\n * Schema output schemas can write `z.literal(END)` without\n * hard-coding the string, and so generic helpers that accept \"the\n * end sentinel\" can type-narrow correctly.\n */\nexport type EndSentinel = typeof END;\n","import type { StandardSchemaV1 } from \"@standard-schema/spec\";\nimport { END } from \"../contracts/end.type\";\nimport type { BaseReport } from \"../contracts/result/base-report.type\";\nimport type { SupervisorReport } from \"../contracts/result/supervisor-result.type\";\nimport type { WorkflowReport } from \"../contracts/result/workflow-result.type\";\n\n/**\n * Normalized matcher verdict — the library-agnostic shape every\n * matcher in this module returns. Vitest's `expect.extend` consumes\n * the same `{ pass, message }` contract, so the registration layer\n * forwards these verbatim.\n */\nexport type MatcherVerdict = {\n /** Whether the assertion passed. */\n pass: boolean;\n /** Lazy message factory — Vitest calls it only when reporting. */\n message: () => string;\n};\n\n/**\n * Any unified result envelope a matcher can be handed. Accepts the\n * full `{ report, ... }` result or a bare `BaseReport` so callers can\n * assert against either `await x.execute()` or `result.report`.\n */\ntype ReportLike = BaseReport | { report: BaseReport };\n\n/**\n * Coerce a matcher target into its `BaseReport`. Accepts the result\n * envelope (`{ report }`) or a report directly.\n */\nfunction toReport(received: ReportLike): BaseReport {\n if (\"report\" in received && received.report) {\n return received.report;\n }\n\n return received as BaseReport;\n}\n\n/** Narrow a `BaseReport` to a `SupervisorReport` by its discriminator. */\nfunction asSupervisorReport(report: BaseReport): SupervisorReport | undefined {\n return report.type === \"supervisor\" ? (report as SupervisorReport) : undefined;\n}\n\n/** Narrow a `BaseReport` to a `WorkflowReport` by its discriminator. */\nfunction asWorkflowReport(report: BaseReport): WorkflowReport | undefined {\n return report.type === \"workflow\" ? (report as WorkflowReport) : undefined;\n}\n\n/**\n * Collect every intent name dispatched by a supervisor across all\n * iterations — the keys of each iteration snapshot's `result` record.\n */\nfunction dispatchedIntents(report: SupervisorReport): string[] {\n const intents = new Set<string>();\n\n for (const snapshot of report.snapshots) {\n for (const intent of Object.keys(snapshot.result)) {\n intents.add(intent);\n }\n }\n\n return [...intents];\n}\n\n/**\n * Assert that a supervisor routed to (dispatched) the named intent at\n * least once across its iterations. Targets a `SupervisorResult` or a\n * `SupervisorReport`.\n *\n * @example\n * expect(await supervisor.execute(input)).toRouteTo(\"critic\");\n */\nexport function matchRouteTo(received: ReportLike, intent: string): MatcherVerdict {\n const report = toReport(received);\n const supervisorReport = asSupervisorReport(report);\n\n if (!supervisorReport) {\n return {\n pass: false,\n message: () =>\n `toRouteTo expects a supervisor result, but received a \"${report.type}\" report`,\n };\n }\n\n const intents = dispatchedIntents(supervisorReport);\n const pass = intents.includes(intent);\n\n return {\n pass,\n message: () =>\n pass\n ? `expected supervisor not to route to \"${intent}\", but it did`\n : `expected supervisor to route to \"${intent}\", but it routed to [${intents.join(\", \")}]`,\n };\n}\n\n/**\n * Assert that a supervisor converged — terminated on its own decision\n * (`router` / `route` / `evaluate` / `classifier`) with a\n * `\"completed\"` status, rather than hitting the iteration cap, being\n * cancelled, or erroring. Targets a `SupervisorResult` or\n * `SupervisorReport`.\n *\n * @example\n * expect(await supervisor.execute(input)).toConverge();\n */\nexport function matchConverge(received: ReportLike): MatcherVerdict {\n const report = toReport(received);\n const supervisorReport = asSupervisorReport(report);\n\n if (!supervisorReport) {\n return {\n pass: false,\n message: () =>\n `toConverge expects a supervisor result, but received a \"${report.type}\" report`,\n };\n }\n\n const nonConvergent = new Set([\"max-iterations\", \"cancelled\", \"error\"]);\n const pass =\n supervisorReport.status === \"completed\" &&\n !nonConvergent.has(supervisorReport.terminatedBy);\n\n return {\n pass,\n message: () =>\n pass\n ? `expected supervisor not to converge, but it terminated via \"${supervisorReport.terminatedBy}\"`\n : `expected supervisor to converge, but status=\"${supervisorReport.status}\" terminatedBy=\"${supervisorReport.terminatedBy}\" after ${supervisorReport.iterations} iteration(s)`,\n };\n}\n\n/**\n * Assert that a workflow step completed successfully. Targets a\n * `WorkflowResult` or `WorkflowReport`; looks the step up by name in\n * `report.steps` and checks its status is `\"completed\"`.\n *\n * @example\n * expect(await workflow.execute(input)).toPassStep(\"draft\");\n */\nexport function matchPassStep(received: ReportLike, stepName: string): MatcherVerdict {\n const report = toReport(received);\n const workflowReport = asWorkflowReport(report);\n\n if (!workflowReport) {\n return {\n pass: false,\n message: () =>\n `toPassStep expects a workflow result, but received a \"${report.type}\" report`,\n };\n }\n\n const step = workflowReport.steps[stepName];\n\n if (!step) {\n const known = Object.keys(workflowReport.steps).join(\", \");\n return {\n pass: false,\n message: () =>\n `expected workflow to have a step \"${stepName}\", but steps are [${known}]`,\n };\n }\n\n const pass = step.status === \"completed\";\n\n return {\n pass,\n message: () =>\n pass\n ? `expected step \"${stepName}\" not to pass, but it completed`\n : `expected step \"${stepName}\" to pass, but its status was \"${step.status}\"`,\n };\n}\n\n/**\n * Result envelope carrying a typed `data` payload — what\n * `matchOutputShape` validates against a schema.\n */\ntype DataResult = { data?: unknown };\n\n/**\n * Assert that a result's `data` validates against a Standard Schema.\n * Targets any result envelope with a `data` field (agent / workflow /\n * supervisor). Runs the schema's `~standard.validate` and passes only\n * when it reports no issues.\n *\n * Synchronous-only: a schema whose `validate` returns a Promise is\n * rejected with a clear message rather than silently passing — the\n * async variant belongs on a dedicated async matcher if needed.\n *\n * @example\n * expect(await agent.execute(input, { output: schema })).toOutputShape(schema);\n */\nexport function matchOutputShape(\n received: DataResult,\n schema: StandardSchemaV1,\n): MatcherVerdict {\n const data = received.data;\n\n if (data === undefined) {\n return {\n pass: false,\n message: () => \"toOutputShape expected result.data to be defined, but it was undefined\",\n };\n }\n\n const validation = schema[\"~standard\"].validate(data);\n\n if (validation instanceof Promise) {\n return {\n pass: false,\n message: () =>\n \"toOutputShape received an async schema; use a synchronous Standard Schema for this matcher\",\n };\n }\n\n const pass = validation.issues === undefined;\n\n return {\n pass,\n message: () => {\n if (pass) {\n return \"expected result.data not to match the schema, but it did\";\n }\n\n const summary = (validation.issues ?? []).map((issue) => issue.message).join(\"; \");\n return `expected result.data to match the schema, but validation failed: ${summary}`;\n },\n };\n}\n\n// Re-exported so matcher consumers and tests can reference the\n// termination sentinel without reaching into contracts.\nexport { END };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCA,MAAa,MAAM;;;;;;;;ACXnB,SAAS,SAAS,UAAkC;CAClD,IAAI,YAAY,YAAY,SAAS,QACnC,OAAO,SAAS;CAGlB,OAAO;AACT;;AAGA,SAAS,mBAAmB,QAAkD;CAC5E,OAAO,OAAO,SAAS,eAAgB,SAA8B;AACvE;;AAGA,SAAS,iBAAiB,QAAgD;CACxE,OAAO,OAAO,SAAS,aAAc,SAA4B;AACnE;;;;;AAMA,SAAS,kBAAkB,QAAoC;CAC7D,MAAM,0BAAU,IAAI,IAAY;CAEhC,KAAK,MAAM,YAAY,OAAO,WAC5B,KAAK,MAAM,UAAU,OAAO,KAAK,SAAS,MAAM,GAC9C,QAAQ,IAAI,MAAM;CAItB,OAAO,CAAC,GAAG,OAAO;AACpB;;;;;;;;;AAUA,SAAgB,aAAa,UAAsB,QAAgC;CACjF,MAAM,SAAS,SAAS,QAAQ;CAChC,MAAM,mBAAmB,mBAAmB,MAAM;CAElD,IAAI,CAAC,kBACH,OAAO;EACL,MAAM;EACN,eACE,0DAA0D,OAAO,KAAK;CAC1E;CAGF,MAAM,UAAU,kBAAkB,gBAAgB;CAClD,MAAM,OAAO,QAAQ,SAAS,MAAM;CAEpC,OAAO;EACL;EACA,eACE,OACI,wCAAwC,OAAO,iBAC/C,oCAAoC,OAAO,uBAAuB,QAAQ,KAAK,IAAI,EAAE;CAC7F;AACF;;;;;;;;;;;AAYA,SAAgB,cAAc,UAAsC;CAClE,MAAM,SAAS,SAAS,QAAQ;CAChC,MAAM,mBAAmB,mBAAmB,MAAM;CAElD,IAAI,CAAC,kBACH,OAAO;EACL,MAAM;EACN,eACE,2DAA2D,OAAO,KAAK;CAC3E;CAGF,MAAM,gBAAgB,IAAI,IAAI;EAAC;EAAkB;EAAa;CAAO,CAAC;CACtE,MAAM,OACJ,iBAAiB,WAAW,eAC5B,CAAC,cAAc,IAAI,iBAAiB,YAAY;CAElD,OAAO;EACL;EACA,eACE,OACI,+DAA+D,iBAAiB,aAAa,KAC7F,gDAAgD,iBAAiB,OAAO,kBAAkB,iBAAiB,aAAa,UAAU,iBAAiB,WAAW;CACtK;AACF;;;;;;;;;AAUA,SAAgB,cAAc,UAAsB,UAAkC;CACpF,MAAM,SAAS,SAAS,QAAQ;CAChC,MAAM,iBAAiB,iBAAiB,MAAM;CAE9C,IAAI,CAAC,gBACH,OAAO;EACL,MAAM;EACN,eACE,yDAAyD,OAAO,KAAK;CACzE;CAGF,MAAM,OAAO,eAAe,MAAM;CAElC,IAAI,CAAC,MAAM;EACT,MAAM,QAAQ,OAAO,KAAK,eAAe,KAAK,CAAC,CAAC,KAAK,IAAI;EACzD,OAAO;GACL,MAAM;GACN,eACE,qCAAqC,SAAS,oBAAoB,MAAM;EAC5E;CACF;CAEA,MAAM,OAAO,KAAK,WAAW;CAE7B,OAAO;EACL;EACA,eACE,OACI,kBAAkB,SAAS,mCAC3B,kBAAkB,SAAS,iCAAiC,KAAK,OAAO;CAChF;AACF;;;;;;;;;;;;;;AAqBA,SAAgB,iBACd,UACA,QACgB;CAChB,MAAM,OAAO,SAAS;CAEtB,IAAI,SAAS,QACX,OAAO;EACL,MAAM;EACN,eAAe;CACjB;CAGF,MAAM,aAAa,OAAO,YAAY,CAAC,SAAS,IAAI;CAEpD,IAAI,sBAAsB,SACxB,OAAO;EACL,MAAM;EACN,eACE;CACJ;CAGF,MAAM,OAAO,WAAW,WAAW;CAEnC,OAAO;EACL;EACA,eAAe;GACb,IAAI,MACF,OAAO;GAIT,OAAO,qEADU,WAAW,UAAU,CAAC,EAAC,CAAE,KAAK,UAAU,MAAM,OAAO,CAAC,CAAC,KAAK,IACI;EACnF;CACF;AACF"}
1
+ {"version":3,"file":"matcher-logic-07fFOz7r.cjs","names":[],"sources":["../../../../../../ai/src/contracts/end.type.ts","../../../../../../ai/src/testing/matcher-logic.ts"],"sourcesContent":["/**\n * Framework-global termination sentinel. Emitted by any primitive\n * whose control flow is routed through JSON-serializable strings —\n * supervisor (router agent's `next`, deterministic `route` callback),\n * future planner (plan steps), future orchestrator (session\n * directive), any future primitive that needs to say \"stop\" across a\n * wire that can't carry `null`.\n *\n * **Why one shared literal.** Consumers learn one word. Cross-\n * primitive pipes — a planner feeding a supervisor, a supervisor\n * nested as a tool inside an orchestrator — can pass the sentinel\n * through without translation.\n *\n * **Why this specific string.** Brand-prefixed (`__warlock:`) so it\n * can't collide with a realistic user-chosen intent / step / route\n * key (`\"end\"`, `\"done\"`, `\"stop\"` are all valid user keys).\n * Underscore-surrounded so it stands out in logs and snapshots.\n * JSON-safe so a router agent emits it verbatim.\n *\n * **Not used by every primitive.** Workflow's `nextStep` returns\n * `null` to end — a callback-level mechanism that predates this\n * sentinel. Workflows keep `null`; the sentinel is for primitives\n * whose \"end\" must survive a JSON boundary.\n *\n * @example\n * import { END } from \"@warlock.js/ai\";\n *\n * // Supervisor route callback\n * ai.supervisor({\n * intents: { writer, critic },\n * route: (ctx) => (ctx.iteration >= 5 ? END : \"writer\"),\n * });\n *\n * // Router agent output schema\n * const router = ai.agent({\n * model,\n * output: z.object({\n * next: z.union([z.string(), z.array(z.string()), z.literal(END)]),\n * }),\n * });\n */\nexport const END = \"__warlock:end__\" as const;\n\n/**\n * Value type of `END`. Exposed so consumers building Zod / Standard\n * Schema output schemas can write `z.literal(END)` without\n * hard-coding the string, and so generic helpers that accept \"the\n * end sentinel\" can type-narrow correctly.\n */\nexport type EndSentinel = typeof END;\n","import type { StandardSchemaV1 } from \"@standard-schema/spec\";\nimport { END } from \"../contracts/end.type\";\nimport type { BaseReport } from \"../contracts/result/base-report.type\";\nimport type { SupervisorReport } from \"../contracts/result/supervisor-result.type\";\nimport type { WorkflowReport } from \"../contracts/result/workflow-result.type\";\n\n/**\n * Normalized matcher verdict — the library-agnostic shape every\n * matcher in this module returns. Vitest's `expect.extend` consumes\n * the same `{ pass, message }` contract, so the registration layer\n * forwards these verbatim.\n */\nexport type MatcherVerdict = {\n /** Whether the assertion passed. */\n pass: boolean;\n /** Lazy message factory — Vitest calls it only when reporting. */\n message: () => string;\n};\n\n/**\n * Any unified result envelope a matcher can be handed. Accepts the\n * full `{ report, ... }` result or a bare `BaseReport` so callers can\n * assert against either `await x.execute()` or `result.report`.\n */\ntype ReportLike = BaseReport | { report: BaseReport };\n\n/**\n * Coerce a matcher target into its `BaseReport`. Accepts the result\n * envelope (`{ report }`) or a report directly.\n */\nfunction toReport(received: ReportLike): BaseReport {\n if (\"report\" in received && received.report) {\n return received.report;\n }\n\n return received as BaseReport;\n}\n\n/** Narrow a `BaseReport` to a `SupervisorReport` by its discriminator. */\nfunction asSupervisorReport(report: BaseReport): SupervisorReport | undefined {\n return report.type === \"supervisor\" ? (report as SupervisorReport) : undefined;\n}\n\n/** Narrow a `BaseReport` to a `WorkflowReport` by its discriminator. */\nfunction asWorkflowReport(report: BaseReport): WorkflowReport | undefined {\n return report.type === \"workflow\" ? (report as WorkflowReport) : undefined;\n}\n\n/**\n * Collect every intent name dispatched by a supervisor across all\n * iterations — the keys of each iteration snapshot's `result` record.\n */\nfunction dispatchedIntents(report: SupervisorReport): string[] {\n const intents = new Set<string>();\n\n for (const snapshot of report.snapshots) {\n for (const intent of Object.keys(snapshot.result)) {\n intents.add(intent);\n }\n }\n\n return [...intents];\n}\n\n/**\n * Assert that a supervisor routed to (dispatched) the named intent at\n * least once across its iterations. Targets a `SupervisorResult` or a\n * `SupervisorReport`.\n *\n * @example\n * expect(await supervisor.execute(input)).toRouteTo(\"critic\");\n */\nexport function matchRouteTo(received: ReportLike, intent: string): MatcherVerdict {\n const report = toReport(received);\n const supervisorReport = asSupervisorReport(report);\n\n if (!supervisorReport) {\n return {\n pass: false,\n message: () =>\n `toRouteTo expects a supervisor result, but received a \"${report.type}\" report`,\n };\n }\n\n const intents = dispatchedIntents(supervisorReport);\n const pass = intents.includes(intent);\n\n return {\n pass,\n message: () =>\n pass\n ? `expected supervisor not to route to \"${intent}\", but it did`\n : `expected supervisor to route to \"${intent}\", but it routed to [${intents.join(\", \")}]`,\n };\n}\n\n/**\n * Assert that a supervisor converged — terminated on its own decision\n * (`router` / `route` / `evaluate` / `classifier`) with a\n * `\"completed\"` status, rather than hitting the iteration cap, being\n * cancelled, or erroring. Targets a `SupervisorResult` or\n * `SupervisorReport`.\n *\n * @example\n * expect(await supervisor.execute(input)).toConverge();\n */\nexport function matchConverge(received: ReportLike): MatcherVerdict {\n const report = toReport(received);\n const supervisorReport = asSupervisorReport(report);\n\n if (!supervisorReport) {\n return {\n pass: false,\n message: () =>\n `toConverge expects a supervisor result, but received a \"${report.type}\" report`,\n };\n }\n\n const nonConvergent = new Set([\"max-iterations\", \"cancelled\", \"error\"]);\n const pass =\n supervisorReport.status === \"completed\" &&\n !nonConvergent.has(supervisorReport.terminatedBy);\n\n return {\n pass,\n message: () =>\n pass\n ? `expected supervisor not to converge, but it terminated via \"${supervisorReport.terminatedBy}\"`\n : `expected supervisor to converge, but status=\"${supervisorReport.status}\" terminatedBy=\"${supervisorReport.terminatedBy}\" after ${supervisorReport.iterations} iteration(s)`,\n };\n}\n\n/**\n * Assert that a workflow step completed successfully. Targets a\n * `WorkflowResult` or `WorkflowReport`; looks the step up by name in\n * `report.steps` and checks its status is `\"completed\"`.\n *\n * @example\n * expect(await workflow.execute(input)).toPassStep(\"draft\");\n */\nexport function matchPassStep(received: ReportLike, stepName: string): MatcherVerdict {\n const report = toReport(received);\n const workflowReport = asWorkflowReport(report);\n\n if (!workflowReport) {\n return {\n pass: false,\n message: () =>\n `toPassStep expects a workflow result, but received a \"${report.type}\" report`,\n };\n }\n\n const step = workflowReport.steps[stepName];\n\n if (!step) {\n const known = Object.keys(workflowReport.steps).join(\", \");\n return {\n pass: false,\n message: () =>\n `expected workflow to have a step \"${stepName}\", but steps are [${known}]`,\n };\n }\n\n const pass = step.status === \"completed\";\n\n return {\n pass,\n message: () =>\n pass\n ? `expected step \"${stepName}\" not to pass, but it completed`\n : `expected step \"${stepName}\" to pass, but its status was \"${step.status}\"`,\n };\n}\n\n/**\n * Result envelope carrying a typed `data` payload — what\n * `matchOutputShape` validates against a schema.\n */\ntype DataResult = { data?: unknown };\n\n/**\n * Assert that a result's `data` validates against a Standard Schema.\n * Targets any result envelope with a `data` field (agent / workflow /\n * supervisor). Runs the schema's `~standard.validate` and passes only\n * when it reports no issues.\n *\n * Synchronous-only: a schema whose `validate` returns a Promise is\n * rejected with a clear message rather than silently passing — the\n * async variant belongs on a dedicated async matcher if needed.\n *\n * @example\n * expect(await agent.execute(input, { output: schema })).toOutputShape(schema);\n */\nexport function matchOutputShape(\n received: DataResult,\n schema: StandardSchemaV1,\n): MatcherVerdict {\n const data = received.data;\n\n if (data === undefined) {\n return {\n pass: false,\n message: () => \"toOutputShape expected result.data to be defined, but it was undefined\",\n };\n }\n\n const validation = schema[\"~standard\"].validate(data);\n\n if (validation instanceof Promise) {\n return {\n pass: false,\n message: () =>\n \"toOutputShape received an async schema; use a synchronous Standard Schema for this matcher\",\n };\n }\n\n const pass = validation.issues === undefined;\n\n return {\n pass,\n message: () => {\n if (pass) {\n return \"expected result.data not to match the schema, but it did\";\n }\n\n const summary = (validation.issues ?? []).map((issue) => issue.message).join(\"; \");\n return `expected result.data to match the schema, but validation failed: ${summary}`;\n },\n };\n}\n\n// Re-exported so matcher consumers and tests can reference the\n// termination sentinel without reaching into contracts.\nexport { END };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCA,MAAa,MAAM;;;;;;;;ACXnB,SAAS,SAAS,UAAkC;CAClD,IAAI,YAAY,YAAY,SAAS,QACnC,OAAO,SAAS;CAGlB,OAAO;AACT;;AAGA,SAAS,mBAAmB,QAAkD;CAC5E,OAAO,OAAO,SAAS,eAAgB,SAA8B;AACvE;;AAGA,SAAS,iBAAiB,QAAgD;CACxE,OAAO,OAAO,SAAS,aAAc,SAA4B;AACnE;;;;;AAMA,SAAS,kBAAkB,QAAoC;CAC7D,MAAM,0BAAU,IAAI,IAAY;CAEhC,KAAK,MAAM,YAAY,OAAO,WAC5B,KAAK,MAAM,UAAU,OAAO,KAAK,SAAS,MAAM,GAC9C,QAAQ,IAAI,MAAM;CAItB,OAAO,CAAC,GAAG,OAAO;AACpB;;;;;;;;;AAUA,SAAgB,aAAa,UAAsB,QAAgC;CACjF,MAAM,SAAS,SAAS,QAAQ;CAChC,MAAM,mBAAmB,mBAAmB,MAAM;CAElD,IAAI,CAAC,kBACH,OAAO;EACL,MAAM;EACN,eACE,0DAA0D,OAAO,KAAK;CAC1E;CAGF,MAAM,UAAU,kBAAkB,gBAAgB;CAClD,MAAM,OAAO,QAAQ,SAAS,MAAM;CAEpC,OAAO;EACL;EACA,eACE,OACI,wCAAwC,OAAO,iBAC/C,oCAAoC,OAAO,uBAAuB,QAAQ,KAAK,IAAI,EAAE;CAC7F;AACF;;;;;;;;;;;AAYA,SAAgB,cAAc,UAAsC;CAClE,MAAM,SAAS,SAAS,QAAQ;CAChC,MAAM,mBAAmB,mBAAmB,MAAM;CAElD,IAAI,CAAC,kBACH,OAAO;EACL,MAAM;EACN,eACE,2DAA2D,OAAO,KAAK;CAC3E;CAGF,MAAM,gBAAgB,IAAI,IAAI;EAAC;EAAkB;EAAa;CAAO,CAAC;CACtE,MAAM,OACJ,iBAAiB,WAAW,eAC5B,CAAC,cAAc,IAAI,iBAAiB,YAAY;CAElD,OAAO;EACL;EACA,eACE,OACI,+DAA+D,iBAAiB,aAAa,KAC7F,gDAAgD,iBAAiB,OAAO,kBAAkB,iBAAiB,aAAa,UAAU,iBAAiB,WAAW;CACtK;AACF;;;;;;;;;AAUA,SAAgB,cAAc,UAAsB,UAAkC;CACpF,MAAM,SAAS,SAAS,QAAQ;CAChC,MAAM,iBAAiB,iBAAiB,MAAM;CAE9C,IAAI,CAAC,gBACH,OAAO;EACL,MAAM;EACN,eACE,yDAAyD,OAAO,KAAK;CACzE;CAGF,MAAM,OAAO,eAAe,MAAM;CAElC,IAAI,CAAC,MAAM;EACT,MAAM,QAAQ,OAAO,KAAK,eAAe,KAAK,EAAE,KAAK,IAAI;EACzD,OAAO;GACL,MAAM;GACN,eACE,qCAAqC,SAAS,oBAAoB,MAAM;EAC5E;CACF;CAEA,MAAM,OAAO,KAAK,WAAW;CAE7B,OAAO;EACL;EACA,eACE,OACI,kBAAkB,SAAS,mCAC3B,kBAAkB,SAAS,iCAAiC,KAAK,OAAO;CAChF;AACF;;;;;;;;;;;;;;AAqBA,SAAgB,iBACd,UACA,QACgB;CAChB,MAAM,OAAO,SAAS;CAEtB,IAAI,SAAS,QACX,OAAO;EACL,MAAM;EACN,eAAe;CACjB;CAGF,MAAM,aAAa,OAAO,aAAa,SAAS,IAAI;CAEpD,IAAI,sBAAsB,SACxB,OAAO;EACL,MAAM;EACN,eACE;CACJ;CAGF,MAAM,OAAO,WAAW,WAAW;CAEnC,OAAO;EACL;EACA,eAAe;GACb,IAAI,MACF,OAAO;GAIT,OAAO,qEADU,WAAW,UAAU,CAAC,GAAG,KAAK,UAAU,MAAM,OAAO,EAAE,KAAK,IACI;EACnF;CACF;AACF"}
@@ -1,6 +1,6 @@
1
1
  const require_matcher_logic = require('./matcher-logic-07fFOz7r.cjs');
2
2
 
3
- //#region ../node_modules/tinyrainbow/dist/index.js
3
+ //#region ../node_modules/.pnpm/tinyrainbow@3.1.1/node_modules/tinyrainbow/dist/index.js
4
4
  var b = {
5
5
  reset: [0, 0],
6
6
  bold: [
@@ -85,7 +85,7 @@ var d = C();
85
85
  var y = d;
86
86
 
87
87
  //#endregion
88
- //#region ../node_modules/@vitest/pretty-format/dist/index.js
88
+ //#region ../node_modules/.pnpm/@vitest+pretty-format@4.1.10/node_modules/@vitest/pretty-format/dist/index.js
89
89
  function _mergeNamespaces(n, m) {
90
90
  m.forEach(function(e) {
91
91
  e && typeof e !== "string" && !Array.isArray(e) && Object.keys(e).forEach(function(k) {
@@ -530,7 +530,7 @@ function requireReactIs$1() {
530
530
  return reactIs$1.exports;
531
531
  }
532
532
  var reactIsExports$1 = requireReactIs$1();
533
- var ReactIs19 = /*#__PURE__*/ _mergeNamespaces({
533
+ var ReactIs19 = /* @__PURE__ */ _mergeNamespaces({
534
534
  __proto__: null,
535
535
  default: /* @__PURE__ */ getDefaultExportFromCjs$2(reactIsExports$1)
536
536
  }, [reactIsExports$1]);
@@ -642,7 +642,7 @@ function requireReactIs() {
642
642
  return reactIs.exports;
643
643
  }
644
644
  var reactIsExports = requireReactIs();
645
- var ReactIs18 = /*#__PURE__*/ _mergeNamespaces({
645
+ var ReactIs18 = /* @__PURE__ */ _mergeNamespaces({
646
646
  __proto__: null,
647
647
  default: /* @__PURE__ */ getDefaultExportFromCjs$2(reactIsExports)
648
648
  }, [reactIsExports]);
@@ -969,7 +969,7 @@ const plugins = {
969
969
  };
970
970
 
971
971
  //#endregion
972
- //#region ../node_modules/@vitest/utils/dist/display.js
972
+ //#region ../node_modules/.pnpm/@vitest+utils@4.1.10/node_modules/@vitest/utils/dist/display.js
973
973
  const ansiColors$1 = {
974
974
  bold: ["1", "22"],
975
975
  dim: ["2", "22"],
@@ -1185,7 +1185,7 @@ function inspectSet$1(set, options) {
1185
1185
  options.truncate -= 7;
1186
1186
  return `Set{ ${inspectList$1(arrayFromSet$1(set), options)} }`;
1187
1187
  }
1188
- const stringEscapeChars$1 = /* @__PURE__ */ new RegExp("['\\u0000-\\u001f\\u007f-\\u009f\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]", "g");
1188
+ const stringEscapeChars$1 = new RegExp("['\\u0000-\\u001f\\u007f-\\u009f\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]", "g");
1189
1189
  const escapeCharacters$1 = {
1190
1190
  "\b": "\\b",
1191
1191
  " ": "\\t",
@@ -1524,7 +1524,7 @@ function objDisplay$1(obj, options = {}) {
1524
1524
  }
1525
1525
 
1526
1526
  //#endregion
1527
- //#region ../node_modules/@vitest/utils/dist/helpers.js
1527
+ //#region ../node_modules/.pnpm/@vitest+utils@4.1.10/node_modules/@vitest/utils/dist/helpers.js
1528
1528
  /**
1529
1529
  * Get original stacktrace without source map support the most performant way.
1530
1530
  * - Create only 1 stack frame.
@@ -1703,7 +1703,7 @@ function unique(array) {
1703
1703
  }
1704
1704
 
1705
1705
  //#endregion
1706
- //#region ../node_modules/@vitest/utils/dist/diff.js
1706
+ //#region ../node_modules/.pnpm/@vitest+utils@4.1.10/node_modules/@vitest/utils/dist/diff.js
1707
1707
  /**
1708
1708
  * Diff Match and Patch
1709
1709
  * Copyright 2018 The diff-match-patch Authors.
@@ -2382,7 +2382,7 @@ function requireBuild() {
2382
2382
  }
2383
2383
  return build;
2384
2384
  }
2385
- var diffSequences = /*@__PURE__*/ getDefaultExportFromCjs$1(/* @__PURE__ */ requireBuild());
2385
+ var diffSequences = /* @__PURE__ */ getDefaultExportFromCjs$1(/* @__PURE__ */ requireBuild());
2386
2386
  function formatTrailingSpaces(line, trailingSpaceFormatter) {
2387
2387
  return line.replace(/\s+$/, (match) => trailingSpaceFormatter(match));
2388
2388
  }
@@ -3053,7 +3053,7 @@ function getCommonAndChangedSubstrings(diffs, op, hasCommonDiff) {
3053
3053
  }
3054
3054
 
3055
3055
  //#endregion
3056
- //#region ../node_modules/@vitest/utils/dist/serialize.js
3056
+ //#region ../node_modules/.pnpm/@vitest+utils@4.1.10/node_modules/@vitest/utils/dist/serialize.js
3057
3057
  const IS_RECORD_SYMBOL$1 = "@@__IMMUTABLE_RECORD__@@";
3058
3058
  const IS_COLLECTION_SYMBOL = "@@__IMMUTABLE_ITERABLE__@@";
3059
3059
  function isImmutable(v) {
@@ -3128,7 +3128,7 @@ function normalizeErrorMessage(message) {
3128
3128
  }
3129
3129
 
3130
3130
  //#endregion
3131
- //#region ../node_modules/@vitest/utils/dist/error.js
3131
+ //#region ../node_modules/.pnpm/@vitest+utils@4.1.10/node_modules/@vitest/utils/dist/error.js
3132
3132
  function processError(_err, diffOptions, seen = /* @__PURE__ */ new WeakSet()) {
3133
3133
  if (!_err || typeof _err !== "object") return { message: String(_err) };
3134
3134
  const err = _err;
@@ -3159,7 +3159,7 @@ function prettifyValue(value, options) {
3159
3159
  }
3160
3160
 
3161
3161
  //#endregion
3162
- //#region ../node_modules/@vitest/utils/dist/timers.js
3162
+ //#region ../node_modules/.pnpm/@vitest+utils@4.1.10/node_modules/@vitest/utils/dist/timers.js
3163
3163
  const SAFE_TIMERS_SYMBOL = Symbol("vitest:SAFE_TIMERS");
3164
3164
  function getSafeTimers() {
3165
3165
  const { setTimeout: safeSetTimeout, setInterval: safeSetInterval, clearInterval: safeClearInterval, clearTimeout: safeClearTimeout, setImmediate: safeSetImmediate, clearImmediate: safeClearImmediate, queueMicrotask: safeQueueMicrotask } = globalThis[SAFE_TIMERS_SYMBOL] || globalThis;
@@ -3194,7 +3194,7 @@ function delay(timeout, scheduler = setTimeout) {
3194
3194
  }
3195
3195
 
3196
3196
  //#endregion
3197
- //#region ../node_modules/@vitest/utils/dist/chunk-pathe.M-eThtNZ.js
3197
+ //#region ../node_modules/.pnpm/@vitest+utils@4.1.10/node_modules/@vitest/utils/dist/chunk-pathe.M-eThtNZ.js
3198
3198
  const _DRIVE_LETTER_START_RE = /^[A-Za-z]:\//;
3199
3199
  function normalizeWindowsPath(input = "") {
3200
3200
  if (!input) return input;
@@ -3274,7 +3274,7 @@ const isAbsolute = function(p) {
3274
3274
  };
3275
3275
 
3276
3276
  //#endregion
3277
- //#region ../node_modules/@vitest/utils/dist/source-map.js
3277
+ //#region ../node_modules/.pnpm/@vitest+utils@4.1.10/node_modules/@vitest/utils/dist/source-map.js
3278
3278
  var comma = ",".charCodeAt(0);
3279
3279
  var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
3280
3280
  var intToChar = new Uint8Array(64);
@@ -3643,7 +3643,7 @@ function getOriginalPosition(map, needle) {
3643
3643
  }
3644
3644
 
3645
3645
  //#endregion
3646
- //#region ../node_modules/@vitest/runner/dist/chunk-artifact.js
3646
+ //#region ../node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js
3647
3647
  var PendingError = class extends Error {
3648
3648
  code = "VITEST_PENDING";
3649
3649
  taskId;
@@ -5169,7 +5169,7 @@ function manageArtifactAttachment(attachment) {
5169
5169
  }
5170
5170
 
5171
5171
  //#endregion
5172
- //#region ../node_modules/vitest/dist/chunks/utils.BX5Fg8C4.js
5172
+ //#region ../node_modules/.pnpm/vitest@4.1.10_@opentelemetr_3b60e89b8b51a25e87011ae54ec49250/node_modules/vitest/dist/chunks/utils.BX5Fg8C4.js
5173
5173
  const NAME_WORKER_STATE = "__vitest_worker__";
5174
5174
  function getWorkerState() {
5175
5175
  const workerState = globalThis[NAME_WORKER_STATE];
@@ -5210,7 +5210,7 @@ async function waitForImportsToResolve() {
5210
5210
  }
5211
5211
 
5212
5212
  //#endregion
5213
- //#region ../node_modules/@vitest/spy/dist/index.js
5213
+ //#region ../node_modules/.pnpm/@vitest+spy@4.1.10/node_modules/@vitest/spy/dist/index.js
5214
5214
  function isMockFunction(fn) {
5215
5215
  return typeof fn === "function" && "_isMockFunction" in fn && fn._isMockFunction === true;
5216
5216
  }
@@ -5594,7 +5594,7 @@ function throwConstructorError(shorthand) {
5594
5594
  }
5595
5595
 
5596
5596
  //#endregion
5597
- //#region ../node_modules/chai/index.js
5597
+ //#region ../node_modules/.pnpm/chai@6.2.2/node_modules/chai/index.js
5598
5598
  var __defProp = Object.defineProperty;
5599
5599
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, {
5600
5600
  enumerable: true,
@@ -8565,7 +8565,7 @@ function use(fn) {
8565
8565
  __name(use, "use");
8566
8566
 
8567
8567
  //#endregion
8568
- //#region ../node_modules/@vitest/expect/dist/index.js
8568
+ //#region ../node_modules/.pnpm/@vitest+expect@4.1.10/node_modules/@vitest/expect/dist/index.js
8569
8569
  const ChaiStyleAssertions = (chai, utils) => {
8570
8570
  function defProperty(name, delegateTo) {
8571
8571
  utils.addProperty(chai.Assertion.prototype, name, function() {
@@ -10028,7 +10028,7 @@ const JestExtend = (chai, utils) => {
10028
10028
  };
10029
10029
 
10030
10030
  //#endregion
10031
- //#region ../node_modules/@vitest/utils/dist/offset.js
10031
+ //#region ../node_modules/.pnpm/@vitest+utils@4.1.10/node_modules/@vitest/utils/dist/offset.js
10032
10032
  const lineSplitRE = /\r?\n/;
10033
10033
  function positionToOffset(source, lineNumber, columnNumber) {
10034
10034
  const lines = source.split(lineSplitRE);
@@ -10053,11 +10053,11 @@ function offsetToLineNumber(source, offset) {
10053
10053
  }
10054
10054
 
10055
10055
  //#endregion
10056
- //#region ../node_modules/vitest/dist/chunks/_commonjsHelpers.D26ty3Ew.js
10056
+ //#region ../node_modules/.pnpm/vitest@4.1.10_@opentelemetr_3b60e89b8b51a25e87011ae54ec49250/node_modules/vitest/dist/chunks/_commonjsHelpers.D26ty3Ew.js
10057
10057
  var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
10058
10058
 
10059
10059
  //#endregion
10060
- //#region ../node_modules/vitest/dist/chunks/rpc.MzXet3jl.js
10060
+ //#region ../node_modules/.pnpm/vitest@4.1.10_@opentelemetr_3b60e89b8b51a25e87011ae54ec49250/node_modules/vitest/dist/chunks/rpc.MzXet3jl.js
10061
10061
  const RealDate = Date;
10062
10062
  let now = null;
10063
10063
  var MockDate = class MockDate extends RealDate {
@@ -10107,7 +10107,7 @@ function resetDate() {
10107
10107
  const { get } = Reflect;
10108
10108
 
10109
10109
  //#endregion
10110
- //#region ../node_modules/@vitest/snapshot/dist/index.js
10110
+ //#region ../node_modules/.pnpm/@vitest+snapshot@4.1.10/node_modules/@vitest/snapshot/dist/index.js
10111
10111
  function getDefaultExportFromCjs(x) {
10112
10112
  return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
10113
10113
  }
@@ -10152,7 +10152,7 @@ function requireNaturalCompare() {
10152
10152
  }
10153
10153
  return naturalCompare$1.exports;
10154
10154
  }
10155
- var naturalCompare = /*@__PURE__*/ getDefaultExportFromCjs(requireNaturalCompare());
10155
+ var naturalCompare = /* @__PURE__ */ getDefaultExportFromCjs(requireNaturalCompare());
10156
10156
  const serialize$1 = (val, config, indentation, depth, refs, printer) => {
10157
10157
  const name = val.getMockName();
10158
10158
  const nameString = name === "vi.fn()" ? "" : ` ${name}`;
@@ -10312,7 +10312,7 @@ function memo(fn) {
10312
10312
  };
10313
10313
  }
10314
10314
  async function saveInlineSnapshots(environment, snapshots) {
10315
- const MagicString = (await Promise.resolve().then(() => require("./magic-string.es-BoSa5xIt.cjs"))).default;
10315
+ const MagicString = (await Promise.resolve().then(() => require("./magic-string.es-BQeqHJ-a.cjs"))).default;
10316
10316
  const files = new Set(snapshots.map((i) => i.file));
10317
10317
  await Promise.all(Array.from(files).map(async (file) => {
10318
10318
  const snaps = snapshots.filter((i) => i.file === file);
@@ -11022,7 +11022,7 @@ function raceWith(promise, other) {
11022
11022
  }
11023
11023
 
11024
11024
  //#endregion
11025
- //#region ../node_modules/vitest/dist/chunks/test.DNmyFkvJ.js
11025
+ //#region ../node_modules/.pnpm/vitest@4.1.10_@opentelemetr_3b60e89b8b51a25e87011ae54ec49250/node_modules/vitest/dist/chunks/test.DNmyFkvJ.js
11026
11026
  var fakeTimersSrc = {};
11027
11027
  var global$1;
11028
11028
  var hasRequiredGlobal;
@@ -13736,4 +13736,4 @@ function registerAiMatchers() {
13736
13736
 
13737
13737
  //#endregion
13738
13738
  exports.registerAiMatchers = registerAiMatchers;
13739
- //# sourceMappingURL=matchers-DnV47KR_.cjs.map
13739
+ //# sourceMappingURL=matchers-CINm4ojZ.cjs.map