niceeval 0.12.1 → 0.12.2-canary.31
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.
- package/INDEX.md +33 -27
- package/bin/niceeval.js +8 -6
- package/dist/agents/ai-sdk-otel.cjs +54 -0
- package/dist/agents/ai-sdk-otel.cjs.map +1 -0
- package/dist/agents/ai-sdk-otel.d.cts +27 -0
- package/dist/agents/ai-sdk-otel.d.mts +27 -0
- package/dist/agents/ai-sdk-otel.d.ts +27 -0
- package/dist/agents/ai-sdk-otel.js +6 -0
- package/dist/agents/ai-sdk-otel.js.map +1 -0
- package/dist/agents/ai-sdk-otel.mjs +6 -0
- package/dist/agents/ai-sdk-otel.mjs.map +1 -0
- package/dist/agents/ai-sdk.cjs +412 -0
- package/dist/agents/ai-sdk.cjs.map +1 -0
- package/dist/agents/ai-sdk.d.cts +214 -0
- package/dist/agents/ai-sdk.d.mts +214 -0
- package/dist/agents/ai-sdk.d.ts +214 -0
- package/dist/agents/ai-sdk.js +8 -0
- package/dist/agents/ai-sdk.js.map +1 -0
- package/dist/agents/bub-install-spec.cjs +42 -0
- package/dist/agents/bub-install-spec.cjs.map +1 -0
- package/dist/agents/bub-install-spec.d.cts +22 -0
- package/dist/agents/bub-install-spec.d.mts +22 -0
- package/dist/agents/bub-install-spec.d.ts +22 -0
- package/dist/agents/bub-install-spec.js +20 -0
- package/dist/agents/bub-install-spec.js.map +1 -0
- package/dist/agents/bub.cjs +204 -0
- package/dist/agents/bub.cjs.map +1 -0
- package/dist/agents/bub.d.cts +57 -0
- package/dist/agents/bub.d.mts +57 -0
- package/dist/agents/bub.d.ts +57 -0
- package/dist/agents/bub.js +7 -0
- package/dist/agents/bub.js.map +1 -0
- package/dist/agents/builtin.cjs +21 -0
- package/dist/agents/builtin.cjs.map +1 -0
- package/dist/agents/builtin.d.cts +2 -0
- package/dist/agents/builtin.d.mts +2 -0
- package/dist/agents/builtin.d.ts +2 -0
- package/dist/agents/builtin.js +6 -0
- package/dist/agents/builtin.js.map +1 -0
- package/dist/agents/cache-marker.cjs +6 -0
- package/dist/agents/cache-marker.cjs.map +1 -0
- package/dist/agents/cache-marker.d.cts +5 -0
- package/dist/agents/cache-marker.d.mts +5 -0
- package/dist/agents/cache-marker.js +6 -2
- package/dist/agents/cache-marker.js.map +1 -0
- package/dist/agents/claude-code.cjs +372 -0
- package/dist/agents/claude-code.cjs.map +1 -0
- package/dist/agents/claude-code.d.cts +91 -0
- package/dist/agents/claude-code.d.mts +91 -0
- package/dist/agents/claude-code.d.ts +91 -0
- package/dist/agents/claude-code.js +9 -0
- package/dist/agents/claude-code.js.map +1 -0
- package/dist/agents/codex.cjs +658 -0
- package/dist/agents/codex.cjs.map +1 -0
- package/dist/agents/codex.d.cts +96 -0
- package/dist/agents/codex.d.mts +96 -0
- package/dist/agents/codex.d.ts +96 -0
- package/dist/agents/codex.js +9 -0
- package/dist/agents/codex.js.map +1 -0
- package/dist/agents/coding-cli-versions.cjs +71 -0
- package/dist/agents/coding-cli-versions.cjs.map +1 -0
- package/dist/agents/coding-cli-versions.d.cts +40 -0
- package/dist/agents/coding-cli-versions.d.mts +40 -0
- package/dist/agents/coding-cli-versions.d.ts +40 -0
- package/dist/agents/coding-cli-versions.js +22 -0
- package/dist/agents/coding-cli-versions.js.map +1 -0
- package/dist/agents/hermes.cjs +237 -0
- package/dist/agents/hermes.cjs.map +1 -0
- package/dist/agents/hermes.d.cts +17 -0
- package/dist/agents/hermes.d.mts +17 -0
- package/dist/agents/hermes.d.ts +17 -0
- package/dist/agents/hermes.js +7 -0
- package/dist/agents/hermes.js.map +1 -0
- package/dist/agents/index.cjs +92 -0
- package/dist/agents/index.cjs.map +1 -0
- package/dist/agents/index.d.cts +44 -0
- package/dist/agents/index.d.mts +44 -0
- package/dist/agents/index.d.ts +44 -0
- package/dist/agents/index.js +86 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/index.mjs +86 -0
- package/dist/agents/index.mjs.map +1 -0
- package/dist/agents/langgraph.cjs +426 -0
- package/dist/agents/langgraph.cjs.map +1 -0
- package/dist/agents/langgraph.d.cts +43 -0
- package/dist/agents/langgraph.d.mts +43 -0
- package/dist/agents/langgraph.d.ts +43 -0
- package/dist/agents/langgraph.js +6 -0
- package/dist/agents/langgraph.js.map +1 -0
- package/dist/agents/marketplace.cjs +81 -0
- package/dist/agents/marketplace.cjs.map +1 -0
- package/dist/agents/marketplace.d.cts +27 -0
- package/dist/agents/marketplace.d.mts +27 -0
- package/dist/agents/marketplace.d.ts +27 -0
- package/dist/agents/marketplace.js +8 -0
- package/dist/agents/marketplace.js.map +1 -0
- package/dist/agents/mcp.cjs +28 -0
- package/dist/agents/mcp.cjs.map +1 -0
- package/dist/agents/mcp.d.cts +7 -0
- package/dist/agents/mcp.d.mts +7 -0
- package/dist/agents/mcp.d.ts +7 -0
- package/dist/agents/mcp.js +10 -0
- package/dist/agents/mcp.js.map +1 -0
- package/dist/agents/native-config.cjs +288 -0
- package/dist/agents/native-config.cjs.map +1 -0
- package/dist/agents/native-config.d.cts +71 -0
- package/dist/agents/native-config.d.mts +71 -0
- package/dist/agents/native-config.d.ts +71 -0
- package/dist/agents/native-config.js +18 -0
- package/dist/agents/native-config.js.map +1 -0
- package/dist/agents/npm-staged.cjs +378 -0
- package/dist/agents/npm-staged.cjs.map +1 -0
- package/dist/agents/npm-staged.d.cts +52 -0
- package/dist/agents/npm-staged.d.mts +52 -0
- package/dist/agents/npm-staged.d.ts +52 -0
- package/dist/agents/npm-staged.js +12 -0
- package/dist/agents/npm-staged.js.map +1 -0
- package/dist/agents/openai-compat.cjs +158 -0
- package/dist/agents/openai-compat.cjs.map +1 -0
- package/dist/agents/openai-compat.d.cts +88 -0
- package/dist/agents/openai-compat.d.mts +88 -0
- package/dist/agents/openai-compat.d.ts +88 -0
- package/dist/agents/openai-compat.js +12 -0
- package/dist/agents/openai-compat.js.map +1 -0
- package/dist/agents/openclaw.cjs +236 -0
- package/dist/agents/openclaw.cjs.map +1 -0
- package/dist/agents/openclaw.d.cts +26 -0
- package/dist/agents/openclaw.d.mts +26 -0
- package/dist/agents/openclaw.d.ts +26 -0
- package/dist/agents/openclaw.js +7 -0
- package/dist/agents/openclaw.js.map +1 -0
- package/dist/agents/opencode.cjs +228 -0
- package/dist/agents/opencode.cjs.map +1 -0
- package/dist/agents/opencode.d.cts +17 -0
- package/dist/agents/opencode.d.mts +17 -0
- package/dist/agents/opencode.d.ts +17 -0
- package/dist/agents/opencode.js +7 -0
- package/dist/agents/opencode.js.map +1 -0
- package/dist/agents/post-setup.cjs +119 -0
- package/dist/agents/post-setup.cjs.map +1 -0
- package/dist/agents/post-setup.d.cts +20 -0
- package/dist/agents/post-setup.d.mts +20 -0
- package/dist/agents/post-setup.d.ts +20 -0
- package/dist/agents/post-setup.js +12 -0
- package/dist/agents/post-setup.js.map +1 -0
- package/dist/agents/provisioner.cjs +446 -0
- package/dist/agents/provisioner.cjs.map +1 -0
- package/dist/agents/provisioner.d.cts +116 -0
- package/dist/agents/provisioner.d.mts +116 -0
- package/dist/agents/provisioner.d.ts +8 -6
- package/dist/agents/provisioner.js +32 -0
- package/dist/agents/provisioner.js.map +1 -0
- package/dist/agents/sdk-streams.cjs +447 -0
- package/dist/agents/sdk-streams.cjs.map +1 -0
- package/dist/agents/sdk-streams.d.cts +135 -0
- package/dist/agents/sdk-streams.d.mts +135 -0
- package/dist/agents/sdk-streams.d.ts +135 -0
- package/dist/agents/sdk-streams.js +12 -0
- package/dist/agents/sdk-streams.js.map +1 -0
- package/dist/agents/session-slot.cjs +8 -0
- package/dist/agents/session-slot.cjs.map +1 -0
- package/dist/agents/session-slot.d.cts +12 -0
- package/dist/agents/session-slot.d.mts +12 -0
- package/dist/agents/session-slot.js +6 -0
- package/dist/agents/session-slot.js.map +1 -0
- package/dist/agents/shared.cjs +202 -0
- package/dist/agents/shared.cjs.map +1 -0
- package/dist/agents/shared.d.cts +95 -0
- package/dist/agents/shared.d.mts +95 -0
- package/dist/agents/shared.d.ts +95 -0
- package/dist/agents/shared.js +6 -0
- package/dist/agents/shared.js.map +1 -0
- package/dist/agents/skills.cjs +262 -0
- package/dist/agents/skills.cjs.map +1 -0
- package/dist/agents/skills.d.cts +60 -0
- package/dist/agents/skills.d.mts +60 -0
- package/dist/agents/skills.d.ts +60 -0
- package/dist/agents/skills.js +22 -0
- package/dist/agents/skills.js.map +1 -0
- package/dist/agents/streaming.cjs +142 -0
- package/dist/agents/streaming.cjs.map +1 -0
- package/dist/agents/streaming.d.cts +82 -0
- package/dist/agents/streaming.d.mts +82 -0
- package/dist/agents/streaming.d.ts +82 -0
- package/dist/agents/streaming.js +8 -0
- package/dist/agents/streaming.js.map +1 -0
- package/dist/agents/types.cjs +5 -0
- package/dist/agents/types.cjs.map +1 -0
- package/dist/agents/types.d.cts +592 -0
- package/dist/agents/types.d.mts +592 -0
- package/dist/agents/types.d.ts +26 -20
- package/dist/agents/types.js +4 -2
- package/dist/agents/types.js.map +1 -0
- package/dist/agents/ui-message-stream.cjs +426 -0
- package/dist/agents/ui-message-stream.cjs.map +1 -0
- package/dist/agents/ui-message-stream.d.cts +68 -0
- package/dist/agents/ui-message-stream.d.mts +68 -0
- package/dist/agents/ui-message-stream.d.ts +68 -0
- package/dist/agents/ui-message-stream.js +6 -0
- package/dist/agents/ui-message-stream.js.map +1 -0
- package/dist/analysis/index.cjs +11 -0
- package/dist/analysis/index.cjs.map +1 -0
- package/dist/analysis/index.d.cts +2 -0
- package/dist/analysis/index.d.mts +2 -0
- package/dist/analysis/index.d.ts +2 -0
- package/dist/analysis/index.js +12 -0
- package/dist/analysis/index.js.map +1 -0
- package/dist/analysis/index.mjs +12 -0
- package/dist/analysis/index.mjs.map +1 -0
- package/dist/assertions/api.cjs +26 -0
- package/dist/assertions/api.cjs.map +1 -0
- package/dist/assertions/api.d.cts +395 -0
- package/dist/assertions/api.d.mts +395 -0
- package/dist/assertions/api.d.ts +395 -0
- package/dist/assertions/api.js +8 -0
- package/dist/assertions/api.js.map +1 -0
- package/dist/assertions/coverage.cjs +97 -0
- package/dist/assertions/coverage.cjs.map +1 -0
- package/dist/assertions/coverage.d.cts +23 -0
- package/dist/assertions/coverage.d.mts +23 -0
- package/dist/assertions/coverage.d.ts +1 -1
- package/dist/assertions/coverage.js +14 -94
- package/dist/assertions/coverage.js.map +1 -0
- package/dist/assertions/diff.cjs +249 -0
- package/dist/assertions/diff.cjs.map +1 -0
- package/dist/assertions/diff.d.cts +88 -0
- package/dist/assertions/diff.d.mts +88 -0
- package/dist/assertions/diff.d.ts +70 -2
- package/dist/assertions/diff.js +36 -116
- package/dist/assertions/diff.js.map +1 -0
- package/dist/assertions/display.cjs +79 -0
- package/dist/assertions/display.cjs.map +1 -0
- package/dist/assertions/display.d.cts +36 -0
- package/dist/assertions/display.d.mts +36 -0
- package/dist/assertions/display.d.ts +32 -32
- package/dist/assertions/display.js +14 -200
- package/dist/assertions/display.js.map +1 -0
- package/dist/assertions/identity.cjs +6 -0
- package/dist/assertions/identity.cjs.map +1 -0
- package/dist/assertions/identity.d.cts +4 -0
- package/dist/assertions/identity.d.mts +4 -0
- package/dist/assertions/identity.d.ts +4 -0
- package/dist/assertions/identity.js +6 -0
- package/dist/assertions/identity.js.map +1 -0
- package/dist/assertions/judge.cjs +342 -0
- package/dist/assertions/judge.cjs.map +1 -0
- package/dist/assertions/judge.d.cts +22 -0
- package/dist/assertions/judge.d.mts +22 -0
- package/dist/assertions/judge.d.ts +22 -0
- package/dist/assertions/judge.js +12 -0
- package/dist/assertions/judge.js.map +1 -0
- package/dist/assertions/limits.cjs +14 -0
- package/dist/assertions/limits.cjs.map +1 -0
- package/dist/assertions/limits.d.cts +10 -0
- package/dist/assertions/limits.d.mts +10 -0
- package/dist/assertions/limits.d.ts +10 -0
- package/dist/assertions/limits.js +6 -0
- package/dist/assertions/limits.js.map +1 -0
- package/dist/assertions/match.cjs +1314 -0
- package/dist/assertions/match.cjs.map +1 -0
- package/dist/assertions/match.d.cts +276 -0
- package/dist/assertions/match.d.mts +276 -0
- package/dist/assertions/match.d.ts +276 -0
- package/dist/assertions/match.js +82 -0
- package/dist/assertions/match.js.map +1 -0
- package/dist/assertions/record/attachment.cjs +448 -0
- package/dist/assertions/record/attachment.cjs.map +1 -0
- package/dist/assertions/record/attachment.d.cts +220 -0
- package/dist/assertions/record/attachment.d.mts +220 -0
- package/dist/assertions/record/attachment.d.ts +220 -0
- package/dist/assertions/record/attachment.js +20 -0
- package/dist/assertions/record/attachment.js.map +1 -0
- package/dist/assertions/record/codec.cjs +541 -0
- package/dist/assertions/record/codec.cjs.map +1 -0
- package/dist/assertions/record/codec.d.cts +146 -0
- package/dist/assertions/record/codec.d.mts +146 -0
- package/dist/assertions/record/codec.d.ts +146 -0
- package/dist/assertions/record/codec.js +42 -0
- package/dist/assertions/record/codec.js.map +1 -0
- package/dist/assertions/record/diff-model.cjs +120 -0
- package/dist/assertions/record/diff-model.cjs.map +1 -0
- package/dist/assertions/record/diff-model.d.cts +47 -0
- package/dist/assertions/record/diff-model.d.mts +47 -0
- package/dist/assertions/record/diff-model.d.ts +47 -0
- package/dist/assertions/record/diff-model.js +12 -0
- package/dist/assertions/record/diff-model.js.map +1 -0
- package/dist/assertions/record/diff.cjs +149 -0
- package/dist/assertions/record/diff.cjs.map +1 -0
- package/dist/assertions/record/diff.d.cts +27 -0
- package/dist/assertions/record/diff.d.mts +27 -0
- package/dist/assertions/record/diff.d.ts +27 -0
- package/dist/assertions/record/diff.js +18 -0
- package/dist/assertions/record/diff.js.map +1 -0
- package/dist/assertions/record/index.cjs +22 -0
- package/dist/assertions/record/index.cjs.map +1 -0
- package/dist/assertions/record/index.d.cts +5 -0
- package/dist/assertions/record/index.d.mts +5 -0
- package/dist/assertions/record/index.d.ts +5 -0
- package/dist/assertions/record/index.js +76 -0
- package/dist/assertions/record/index.js.map +1 -0
- package/dist/assertions/record/model.cjs +10 -0
- package/dist/assertions/record/model.cjs.map +1 -0
- package/dist/assertions/record/model.d.cts +257 -0
- package/dist/assertions/record/model.d.mts +257 -0
- package/dist/assertions/record/model.d.ts +257 -0
- package/dist/assertions/record/model.js +6 -0
- package/dist/assertions/record/model.js.map +1 -0
- package/dist/assertions/record/producer.cjs +55 -0
- package/dist/assertions/record/producer.cjs.map +1 -0
- package/dist/assertions/record/producer.d.cts +45 -0
- package/dist/assertions/record/producer.d.mts +45 -0
- package/dist/assertions/record/producer.d.ts +45 -0
- package/dist/assertions/record/producer.js +6 -0
- package/dist/assertions/record/producer.js.map +1 -0
- package/dist/assertions/runtime.cjs +1163 -0
- package/dist/assertions/runtime.cjs.map +1 -0
- package/dist/assertions/runtime.d.cts +45 -0
- package/dist/assertions/runtime.d.mts +45 -0
- package/dist/assertions/runtime.d.ts +45 -0
- package/dist/assertions/runtime.js +16 -0
- package/dist/assertions/runtime.js.map +1 -0
- package/dist/assertions/types.cjs +3 -0
- package/dist/assertions/types.cjs.map +1 -0
- package/dist/assertions/types.d.cts +238 -0
- package/dist/assertions/types.d.mts +238 -0
- package/dist/assertions/types.d.ts +166 -186
- package/dist/assertions/types.js +4 -2
- package/dist/assertions/types.js.map +1 -0
- package/dist/assertions/workspace-diff.cjs +237 -0
- package/dist/assertions/workspace-diff.cjs.map +1 -0
- package/dist/assertions/workspace-diff.d.cts +77 -0
- package/dist/assertions/workspace-diff.d.mts +77 -0
- package/dist/assertions/workspace-diff.d.ts +77 -0
- package/dist/assertions/workspace-diff.js +16 -0
- package/dist/assertions/workspace-diff.js.map +1 -0
- package/dist/attempt-locator-resolution.cjs +51 -0
- package/dist/attempt-locator-resolution.cjs.map +1 -0
- package/dist/attempt-locator-resolution.d.cts +18 -0
- package/dist/attempt-locator-resolution.d.mts +18 -0
- package/dist/attempt-locator-resolution.d.ts +18 -0
- package/dist/attempt-locator-resolution.js +6 -0
- package/dist/attempt-locator-resolution.js.map +1 -0
- package/dist/attempt-locator.cjs +122 -0
- package/dist/attempt-locator.cjs.map +1 -0
- package/dist/attempt-locator.d.cts +25 -0
- package/dist/attempt-locator.d.mts +25 -0
- package/dist/attempt-locator.d.ts +25 -0
- package/dist/attempt-locator.js +10 -0
- package/dist/attempt-locator.js.map +1 -0
- package/dist/cli/bootstrap.cjs +87 -0
- package/dist/cli/bootstrap.cjs.map +1 -0
- package/dist/cli/bootstrap.d.mts +1 -0
- package/dist/cli/bootstrap.d.ts +1 -0
- package/dist/cli/bootstrap.js +4 -0
- package/dist/cli/bootstrap.js.map +1 -0
- package/dist/cli/record.cjs +198 -0
- package/dist/cli/record.cjs.map +1 -0
- package/dist/cli/record.d.cts +28 -0
- package/dist/cli/record.d.mts +28 -0
- package/dist/cli/record.d.ts +28 -0
- package/dist/cli/record.js +12 -0
- package/dist/cli/record.js.map +1 -0
- package/dist/cli.cjs +2405 -0
- package/dist/cli.cjs.map +1 -0
- package/dist/cli.d.cts +139 -0
- package/dist/cli.d.mts +139 -0
- package/dist/cli.d.ts +139 -0
- package/dist/cli.js +34 -0
- package/dist/cli.js.map +1 -0
- package/dist/context/assert-first.cjs +1766 -0
- package/dist/context/assert-first.cjs.map +1 -0
- package/dist/context/assert-first.d.cts +204 -0
- package/dist/context/assert-first.d.mts +204 -0
- package/dist/context/assert-first.d.ts +204 -0
- package/dist/context/assert-first.js +6 -0
- package/dist/context/assert-first.js.map +1 -0
- package/dist/context/control-flow.cjs +15 -0
- package/dist/context/control-flow.cjs.map +1 -0
- package/dist/context/control-flow.d.cts +5 -0
- package/dist/context/control-flow.d.mts +5 -0
- package/dist/context/control-flow.d.ts +5 -0
- package/dist/context/control-flow.js +6 -0
- package/dist/context/control-flow.js.map +1 -0
- package/dist/context/send-failures.cjs +119 -0
- package/dist/context/send-failures.cjs.map +1 -0
- package/dist/context/send-failures.d.cts +45 -0
- package/dist/context/send-failures.d.mts +45 -0
- package/dist/context/send-failures.d.ts +3 -3
- package/dist/context/send-failures.js +18 -0
- package/dist/context/send-failures.js.map +1 -0
- package/dist/context/send-retry.cjs +105 -0
- package/dist/context/send-retry.cjs.map +1 -0
- package/dist/context/send-retry.d.cts +41 -0
- package/dist/context/send-retry.d.mts +41 -0
- package/dist/context/send-retry.d.ts +41 -0
- package/dist/context/send-retry.js +12 -0
- package/dist/context/send-retry.js.map +1 -0
- package/dist/context/session.cjs +503 -0
- package/dist/context/session.cjs.map +1 -0
- package/dist/context/session.d.cts +179 -0
- package/dist/context/session.d.mts +179 -0
- package/dist/context/session.d.ts +179 -0
- package/dist/context/session.js +12 -0
- package/dist/context/session.js.map +1 -0
- package/dist/context/types.cjs +3 -0
- package/dist/context/types.cjs.map +1 -0
- package/dist/context/types.d.cts +37 -0
- package/dist/context/types.d.mts +37 -0
- package/dist/context/types.d.ts +30 -387
- package/dist/context/types.js +4 -3
- package/dist/context/types.js.map +1 -0
- package/dist/define.cjs +246 -0
- package/dist/define.cjs.map +1 -0
- package/dist/define.d.cts +26 -0
- package/dist/define.d.mts +26 -0
- package/dist/define.d.ts +26 -0
- package/dist/define.js +22 -0
- package/dist/define.js.map +1 -0
- package/dist/eval/experiment-id.cjs +18 -0
- package/dist/eval/experiment-id.cjs.map +1 -0
- package/dist/eval/experiment-id.d.cts +10 -0
- package/dist/eval/experiment-id.d.mts +10 -0
- package/dist/eval/experiment-id.d.ts +10 -0
- package/dist/eval/experiment-id.js +10 -0
- package/dist/eval/experiment-id.js.map +1 -0
- package/dist/eval/record/attachment.cjs +60 -0
- package/dist/eval/record/attachment.cjs.map +1 -0
- package/dist/eval/record/attachment.d.cts +30 -0
- package/dist/eval/record/attachment.d.mts +30 -0
- package/dist/eval/record/attachment.d.ts +30 -0
- package/dist/eval/record/attachment.js +16 -0
- package/dist/eval/record/attachment.js.map +1 -0
- package/dist/eval/record/coherence.cjs +118 -0
- package/dist/eval/record/coherence.cjs.map +1 -0
- package/dist/eval/record/coherence.d.cts +61 -0
- package/dist/eval/record/coherence.d.mts +61 -0
- package/dist/eval/record/coherence.d.ts +61 -0
- package/dist/eval/record/coherence.js +6 -0
- package/dist/eval/record/coherence.js.map +1 -0
- package/dist/eval/record/eligibility.cjs +157 -0
- package/dist/eval/record/eligibility.cjs.map +1 -0
- package/dist/eval/record/eligibility.d.cts +151 -0
- package/dist/eval/record/eligibility.d.mts +151 -0
- package/dist/eval/record/eligibility.d.ts +151 -0
- package/dist/eval/record/eligibility.js +42 -0
- package/dist/eval/record/eligibility.js.map +1 -0
- package/dist/eval/record/evaluation-plan.cjs +26 -0
- package/dist/eval/record/evaluation-plan.cjs.map +1 -0
- package/dist/eval/record/evaluation-plan.d.cts +16 -0
- package/dist/eval/record/evaluation-plan.d.mts +16 -0
- package/dist/eval/record/evaluation-plan.d.ts +16 -0
- package/dist/eval/record/evaluation-plan.js +6 -0
- package/dist/eval/record/evaluation-plan.js.map +1 -0
- package/dist/eval/record/evaluation-record.cjs +540 -0
- package/dist/eval/record/evaluation-record.cjs.map +1 -0
- package/dist/eval/record/evaluation-record.d.cts +168 -0
- package/dist/eval/record/evaluation-record.d.mts +168 -0
- package/dist/eval/record/evaluation-record.d.ts +168 -0
- package/dist/eval/record/evaluation-record.js +22 -0
- package/dist/eval/record/evaluation-record.js.map +1 -0
- package/dist/eval/record/evaluation.cjs +220 -0
- package/dist/eval/record/evaluation.cjs.map +1 -0
- package/dist/eval/record/evaluation.d.cts +175 -0
- package/dist/eval/record/evaluation.d.mts +175 -0
- package/dist/eval/record/evaluation.d.ts +175 -0
- package/dist/eval/record/evaluation.js +36 -0
- package/dist/eval/record/evaluation.js.map +1 -0
- package/dist/eval/record/index.cjs +26 -0
- package/dist/eval/record/index.cjs.map +1 -0
- package/dist/eval/record/index.d.cts +9 -0
- package/dist/eval/record/index.d.mts +9 -0
- package/dist/eval/record/index.d.ts +9 -0
- package/dist/eval/record/index.js +242 -0
- package/dist/eval/record/index.js.map +1 -0
- package/dist/eval/record/membership-provenance.cjs +213 -0
- package/dist/eval/record/membership-provenance.cjs.map +1 -0
- package/dist/eval/record/membership-provenance.d.cts +855 -0
- package/dist/eval/record/membership-provenance.d.mts +855 -0
- package/dist/eval/record/membership-provenance.d.ts +855 -0
- package/dist/eval/record/membership-provenance.js +58 -0
- package/dist/eval/record/membership-provenance.js.map +1 -0
- package/dist/eval/record/score.cjs +248 -0
- package/dist/eval/record/score.cjs.map +1 -0
- package/dist/eval/record/score.d.cts +165 -0
- package/dist/eval/record/score.d.mts +165 -0
- package/dist/eval/record/score.d.ts +165 -0
- package/dist/eval/record/score.js +44 -0
- package/dist/eval/record/score.js.map +1 -0
- package/dist/eval/record/sealed-assertion.cjs +31 -0
- package/dist/eval/record/sealed-assertion.cjs.map +1 -0
- package/dist/eval/record/sealed-assertion.d.cts +32 -0
- package/dist/eval/record/sealed-assertion.d.mts +32 -0
- package/dist/eval/record/sealed-assertion.d.ts +32 -0
- package/dist/eval/record/sealed-assertion.js +14 -0
- package/dist/eval/record/sealed-assertion.js.map +1 -0
- package/dist/eval/record/verdict.cjs +89 -0
- package/dist/eval/record/verdict.cjs.map +1 -0
- package/dist/eval/record/verdict.d.cts +60 -0
- package/dist/eval/record/verdict.d.mts +60 -0
- package/dist/eval/record/verdict.d.ts +60 -0
- package/dist/eval/record/verdict.js +36 -0
- package/dist/eval/record/verdict.js.map +1 -0
- package/dist/expect/index.cjs +29 -0
- package/dist/expect/index.cjs.map +1 -0
- package/dist/expect/index.d.cts +2 -0
- package/dist/expect/index.d.mts +2 -0
- package/dist/expect/index.d.ts +2 -0
- package/dist/expect/index.js +50 -0
- package/dist/expect/index.js.map +1 -0
- package/dist/expect/index.mjs +50 -0
- package/dist/expect/index.mjs.map +1 -0
- package/dist/fresh-import.cjs +288 -0
- package/dist/fresh-import.cjs.map +1 -0
- package/dist/fresh-import.d.cts +20 -0
- package/dist/fresh-import.d.mts +20 -0
- package/dist/fresh-import.d.ts +20 -0
- package/dist/fresh-import.js +8 -0
- package/dist/fresh-import.js.map +1 -0
- package/dist/i18n/core.cjs +21 -0
- package/dist/i18n/core.cjs.map +1 -0
- package/dist/i18n/core.d.cts +11 -0
- package/dist/i18n/core.d.mts +11 -0
- package/dist/i18n/core.js +8 -19
- package/dist/i18n/core.js.map +1 -0
- package/dist/i18n/en.cjs +474 -0
- package/dist/i18n/en.cjs.map +1 -0
- package/dist/i18n/en.d.cts +391 -0
- package/dist/i18n/en.d.mts +391 -0
- package/dist/i18n/en.d.ts +389 -363
- package/dist/i18n/en.js +6 -455
- package/dist/i18n/en.js.map +1 -0
- package/dist/i18n/index.cjs +12 -0
- package/dist/i18n/index.cjs.map +1 -0
- package/dist/i18n/index.d.cts +5 -0
- package/dist/i18n/index.d.mts +5 -0
- package/dist/i18n/index.d.ts +4 -9
- package/dist/i18n/index.js +6 -30
- package/dist/i18n/index.js.map +1 -0
- package/dist/index.cjs +25 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +10 -0
- package/dist/index.d.mts +10 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.js +28 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +28 -0
- package/dist/index.mjs.map +1 -0
- package/dist/load-config.cjs +52 -0
- package/dist/load-config.cjs.map +1 -0
- package/dist/load-config.d.cts +4 -0
- package/dist/load-config.d.mts +4 -0
- package/dist/load-config.d.ts +4 -0
- package/dist/load-config.js +6 -0
- package/dist/load-config.js.map +1 -0
- package/dist/loaders/glob.cjs +150 -0
- package/dist/loaders/glob.cjs.map +1 -0
- package/dist/loaders/glob.d.cts +28 -0
- package/dist/loaders/glob.d.mts +28 -0
- package/dist/loaders/glob.d.ts +28 -0
- package/dist/loaders/glob.js +12 -0
- package/dist/loaders/glob.js.map +1 -0
- package/dist/loaders/index.cjs +281 -0
- package/dist/loaders/index.cjs.map +1 -0
- package/dist/loaders/index.d.cts +95 -0
- package/dist/loaders/index.d.mts +95 -0
- package/dist/loaders/index.d.ts +95 -0
- package/dist/loaders/index.js +16 -0
- package/dist/loaders/index.js.map +1 -0
- package/dist/loaders/index.mjs +16 -0
- package/dist/loaders/index.mjs.map +1 -0
- package/dist/o11y/command-projection.cjs +127 -0
- package/dist/o11y/command-projection.cjs.map +1 -0
- package/dist/o11y/command-projection.d.cts +29 -0
- package/dist/o11y/command-projection.d.mts +29 -0
- package/dist/o11y/command-projection.d.ts +29 -0
- package/dist/o11y/command-projection.js +18 -0
- package/dist/o11y/command-projection.js.map +1 -0
- package/dist/o11y/cost.cjs +76 -0
- package/dist/o11y/cost.cjs.map +1 -0
- package/dist/o11y/cost.d.cts +8 -0
- package/dist/o11y/cost.d.mts +8 -0
- package/dist/o11y/cost.d.ts +8 -0
- package/dist/o11y/cost.js +6 -0
- package/dist/o11y/cost.js.map +1 -0
- package/dist/o11y/derive.cjs +572 -0
- package/dist/o11y/derive.cjs.map +1 -0
- package/dist/o11y/derive.d.cts +24 -0
- package/dist/o11y/derive.d.mts +24 -0
- package/dist/o11y/derive.d.ts +16 -1
- package/dist/o11y/derive.js +14 -281
- package/dist/o11y/derive.js.map +1 -0
- package/dist/o11y/execution-tree.cjs +213 -0
- package/dist/o11y/execution-tree.cjs.map +1 -0
- package/dist/o11y/execution-tree.d.cts +113 -0
- package/dist/o11y/execution-tree.d.mts +113 -0
- package/dist/o11y/execution-tree.d.ts +1 -1
- package/dist/o11y/execution-tree.js +6 -254
- package/dist/o11y/execution-tree.js.map +1 -0
- package/dist/o11y/otlp/canonical.cjs +94 -0
- package/dist/o11y/otlp/canonical.cjs.map +1 -0
- package/dist/o11y/otlp/canonical.d.cts +34 -0
- package/dist/o11y/otlp/canonical.d.mts +34 -0
- package/dist/o11y/otlp/canonical.d.ts +34 -0
- package/dist/o11y/otlp/canonical.js +26 -0
- package/dist/o11y/otlp/canonical.js.map +1 -0
- package/dist/o11y/otlp/mappers/bub.cjs +24 -0
- package/dist/o11y/otlp/mappers/bub.cjs.map +1 -0
- package/dist/o11y/otlp/mappers/bub.d.cts +2 -0
- package/dist/o11y/otlp/mappers/bub.d.mts +2 -0
- package/dist/o11y/otlp/mappers/bub.d.ts +2 -0
- package/dist/o11y/otlp/mappers/bub.js +6 -0
- package/dist/o11y/otlp/mappers/bub.js.map +1 -0
- package/dist/o11y/otlp/mappers/claude-code.cjs +16 -0
- package/dist/o11y/otlp/mappers/claude-code.cjs.map +1 -0
- package/dist/o11y/otlp/mappers/claude-code.d.cts +2 -0
- package/dist/o11y/otlp/mappers/claude-code.d.mts +2 -0
- package/dist/o11y/otlp/mappers/claude-code.d.ts +2 -0
- package/dist/o11y/otlp/mappers/claude-code.js +6 -0
- package/dist/o11y/otlp/mappers/claude-code.js.map +1 -0
- package/dist/o11y/otlp/mappers/codex.cjs +31 -0
- package/dist/o11y/otlp/mappers/codex.cjs.map +1 -0
- package/dist/o11y/otlp/mappers/codex.d.cts +2 -0
- package/dist/o11y/otlp/mappers/codex.d.mts +2 -0
- package/dist/o11y/otlp/mappers/codex.d.ts +2 -0
- package/dist/o11y/otlp/mappers/codex.js +6 -0
- package/dist/o11y/otlp/mappers/codex.js.map +1 -0
- package/dist/o11y/otlp/mappers/index.cjs +21 -0
- package/dist/o11y/otlp/mappers/index.cjs.map +1 -0
- package/dist/o11y/otlp/mappers/index.d.cts +4 -0
- package/dist/o11y/otlp/mappers/index.d.mts +4 -0
- package/dist/o11y/otlp/mappers/index.d.ts +4 -0
- package/dist/o11y/otlp/mappers/index.js +12 -0
- package/dist/o11y/otlp/mappers/index.js.map +1 -0
- package/dist/o11y/otlp/parse.cjs +369 -0
- package/dist/o11y/otlp/parse.cjs.map +1 -0
- package/dist/o11y/otlp/parse.d.cts +3 -0
- package/dist/o11y/otlp/parse.d.mts +3 -0
- package/dist/o11y/otlp/parse.d.ts +1 -1
- package/dist/o11y/otlp/parse.js +6 -0
- package/dist/o11y/otlp/parse.js.map +1 -0
- package/dist/o11y/otlp/receiver.cjs +326 -0
- package/dist/o11y/otlp/receiver.cjs.map +1 -0
- package/dist/o11y/otlp/receiver.d.cts +27 -0
- package/dist/o11y/otlp/receiver.d.mts +27 -0
- package/dist/o11y/otlp/receiver.d.ts +16 -10
- package/dist/o11y/otlp/receiver.js +10 -0
- package/dist/o11y/otlp/receiver.js.map +1 -0
- package/dist/o11y/otlp/sandbox-receiver.cjs +226 -0
- package/dist/o11y/otlp/sandbox-receiver.cjs.map +1 -0
- package/dist/o11y/otlp/sandbox-receiver.d.cts +4 -0
- package/dist/o11y/otlp/sandbox-receiver.d.mts +4 -0
- package/dist/o11y/otlp/sandbox-receiver.d.ts +4 -0
- package/dist/o11y/otlp/sandbox-receiver.js +6 -0
- package/dist/o11y/otlp/sandbox-receiver.js.map +1 -0
- package/dist/o11y/otlp/select.cjs +82 -0
- package/dist/o11y/otlp/select.cjs.map +1 -0
- package/dist/o11y/otlp/select.d.cts +22 -0
- package/dist/o11y/otlp/select.d.mts +22 -0
- package/dist/o11y/otlp/select.d.ts +1 -1
- package/dist/o11y/otlp/select.js +12 -86
- package/dist/o11y/otlp/select.js.map +1 -0
- package/dist/o11y/otlp/turn-otel.cjs +180 -0
- package/dist/o11y/otlp/turn-otel.cjs.map +1 -0
- package/dist/o11y/otlp/turn-otel.d.cts +59 -0
- package/dist/o11y/otlp/turn-otel.d.mts +59 -0
- package/dist/o11y/otlp/turn-otel.d.ts +26 -10
- package/dist/o11y/otlp/turn-otel.js +8 -0
- package/dist/o11y/otlp/turn-otel.js.map +1 -0
- package/dist/o11y/parsers/bub.cjs +277 -0
- package/dist/o11y/parsers/bub.cjs.map +1 -0
- package/dist/o11y/parsers/bub.d.cts +7 -0
- package/dist/o11y/parsers/bub.d.mts +7 -0
- package/dist/o11y/parsers/bub.d.ts +7 -0
- package/dist/o11y/parsers/bub.js +10 -0
- package/dist/o11y/parsers/bub.js.map +1 -0
- package/dist/o11y/parsers/claude-code.cjs +309 -0
- package/dist/o11y/parsers/claude-code.cjs.map +1 -0
- package/dist/o11y/parsers/claude-code.d.cts +11 -0
- package/dist/o11y/parsers/claude-code.d.mts +11 -0
- package/dist/o11y/parsers/claude-code.d.ts +11 -0
- package/dist/o11y/parsers/claude-code.js +10 -0
- package/dist/o11y/parsers/claude-code.js.map +1 -0
- package/dist/o11y/parsers/codex.cjs +439 -0
- package/dist/o11y/parsers/codex.cjs.map +1 -0
- package/dist/o11y/parsers/codex.d.cts +7 -0
- package/dist/o11y/parsers/codex.d.mts +7 -0
- package/dist/o11y/parsers/codex.d.ts +7 -0
- package/dist/o11y/parsers/codex.js +10 -0
- package/dist/o11y/parsers/codex.js.map +1 -0
- package/dist/o11y/parsers/hermes.cjs +234 -0
- package/dist/o11y/parsers/hermes.cjs.map +1 -0
- package/dist/o11y/parsers/hermes.d.cts +9 -0
- package/dist/o11y/parsers/hermes.d.mts +9 -0
- package/dist/o11y/parsers/hermes.d.ts +9 -0
- package/dist/o11y/parsers/hermes.js +10 -0
- package/dist/o11y/parsers/hermes.js.map +1 -0
- package/dist/o11y/parsers/index.cjs +13 -0
- package/dist/o11y/parsers/index.cjs.map +1 -0
- package/dist/o11y/parsers/index.d.cts +12 -0
- package/dist/o11y/parsers/index.d.mts +12 -0
- package/dist/o11y/parsers/index.d.ts +12 -0
- package/dist/o11y/parsers/index.js +16 -0
- package/dist/o11y/parsers/index.js.map +1 -0
- package/dist/o11y/parsers/openclaw.cjs +320 -0
- package/dist/o11y/parsers/openclaw.cjs.map +1 -0
- package/dist/o11y/parsers/openclaw.d.cts +39 -0
- package/dist/o11y/parsers/openclaw.d.mts +39 -0
- package/dist/o11y/parsers/openclaw.d.ts +39 -0
- package/dist/o11y/parsers/openclaw.js +12 -0
- package/dist/o11y/parsers/openclaw.js.map +1 -0
- package/dist/o11y/parsers/opencode.cjs +337 -0
- package/dist/o11y/parsers/opencode.cjs.map +1 -0
- package/dist/o11y/parsers/opencode.d.cts +14 -0
- package/dist/o11y/parsers/opencode.d.mts +14 -0
- package/dist/o11y/parsers/opencode.d.ts +14 -0
- package/dist/o11y/parsers/opencode.js +12 -0
- package/dist/o11y/parsers/opencode.js.map +1 -0
- package/dist/o11y/prices.json +11649 -0
- package/dist/o11y/record/capture.cjs +232 -0
- package/dist/o11y/record/capture.cjs.map +1 -0
- package/dist/o11y/record/capture.d.cts +81 -0
- package/dist/o11y/record/capture.d.mts +81 -0
- package/dist/o11y/record/capture.d.ts +81 -0
- package/dist/o11y/record/capture.js +30 -0
- package/dist/o11y/record/capture.js.map +1 -0
- package/dist/o11y/record/codec.cjs +222 -0
- package/dist/o11y/record/codec.cjs.map +1 -0
- package/dist/o11y/record/codec.d.cts +661 -0
- package/dist/o11y/record/codec.d.mts +661 -0
- package/dist/o11y/record/codec.d.ts +661 -0
- package/dist/o11y/record/codec.js +66 -0
- package/dist/o11y/record/codec.js.map +1 -0
- package/dist/o11y/record/errors.cjs +71 -0
- package/dist/o11y/record/errors.cjs.map +1 -0
- package/dist/o11y/record/errors.d.cts +53 -0
- package/dist/o11y/record/errors.d.mts +53 -0
- package/dist/o11y/record/errors.d.ts +53 -0
- package/dist/o11y/record/errors.js +24 -0
- package/dist/o11y/record/errors.js.map +1 -0
- package/dist/o11y/record/families.cjs +699 -0
- package/dist/o11y/record/families.cjs.map +1 -0
- package/dist/o11y/record/families.d.cts +4298 -0
- package/dist/o11y/record/families.d.mts +4298 -0
- package/dist/o11y/record/families.d.ts +4298 -0
- package/dist/o11y/record/families.js +68 -0
- package/dist/o11y/record/families.js.map +1 -0
- package/dist/o11y/record/family-projectors.cjs +83 -0
- package/dist/o11y/record/family-projectors.cjs.map +1 -0
- package/dist/o11y/record/family-projectors.d.cts +46 -0
- package/dist/o11y/record/family-projectors.d.mts +46 -0
- package/dist/o11y/record/family-projectors.d.ts +46 -0
- package/dist/o11y/record/family-projectors.js +18 -0
- package/dist/o11y/record/family-projectors.js.map +1 -0
- package/dist/o11y/record/family-writers.cjs +371 -0
- package/dist/o11y/record/family-writers.cjs.map +1 -0
- package/dist/o11y/record/family-writers.d.cts +5293 -0
- package/dist/o11y/record/family-writers.d.mts +5293 -0
- package/dist/o11y/record/family-writers.d.ts +5293 -0
- package/dist/o11y/record/family-writers.js +60 -0
- package/dist/o11y/record/family-writers.js.map +1 -0
- package/dist/o11y/record/index.cjs +31 -0
- package/dist/o11y/record/index.cjs.map +1 -0
- package/dist/o11y/record/index.d.cts +14 -0
- package/dist/o11y/record/index.d.mts +14 -0
- package/dist/o11y/record/index.d.ts +14 -0
- package/dist/o11y/record/index.js +488 -0
- package/dist/o11y/record/index.js.map +1 -0
- package/dist/o11y/record/limits.cjs +69 -0
- package/dist/o11y/record/limits.cjs.map +1 -0
- package/dist/o11y/record/limits.d.cts +65 -0
- package/dist/o11y/record/limits.d.mts +65 -0
- package/dist/o11y/record/limits.d.ts +65 -0
- package/dist/o11y/record/limits.js +68 -0
- package/dist/o11y/record/limits.js.map +1 -0
- package/dist/o11y/record/model.cjs +590 -0
- package/dist/o11y/record/model.cjs.map +1 -0
- package/dist/o11y/record/model.d.cts +275 -0
- package/dist/o11y/record/model.d.mts +275 -0
- package/dist/o11y/record/model.d.ts +275 -0
- package/dist/o11y/record/model.js +158 -0
- package/dist/o11y/record/model.js.map +1 -0
- package/dist/o11y/record/runner-producer.cjs +1575 -0
- package/dist/o11y/record/runner-producer.cjs.map +1 -0
- package/dist/o11y/record/runner-producer.d.cts +103 -0
- package/dist/o11y/record/runner-producer.d.mts +103 -0
- package/dist/o11y/record/runner-producer.d.ts +103 -0
- package/dist/o11y/record/runner-producer.js +26 -0
- package/dist/o11y/record/runner-producer.js.map +1 -0
- package/dist/o11y/record/validation.cjs +323 -0
- package/dist/o11y/record/validation.cjs.map +1 -0
- package/dist/o11y/record/validation.d.cts +62 -0
- package/dist/o11y/record/validation.d.mts +62 -0
- package/dist/o11y/record/validation.d.ts +62 -0
- package/dist/o11y/record/validation.js +28 -0
- package/dist/o11y/record/validation.js.map +1 -0
- package/dist/o11y/tool-names.cjs +68 -0
- package/dist/o11y/tool-names.cjs.map +1 -0
- package/dist/o11y/tool-names.d.cts +11 -0
- package/dist/o11y/tool-names.d.mts +11 -0
- package/dist/o11y/tool-names.d.ts +11 -0
- package/dist/o11y/tool-names.js +8 -0
- package/dist/o11y/tool-names.js.map +1 -0
- package/dist/o11y/types.cjs +3 -0
- package/dist/o11y/types.cjs.map +1 -0
- package/dist/o11y/types.d.cts +387 -0
- package/dist/o11y/types.d.mts +387 -0
- package/dist/o11y/types.d.ts +142 -1
- package/dist/o11y/types.js +4 -3
- package/dist/o11y/types.js.map +1 -0
- package/dist/plugin/contracts.cjs +187 -0
- package/dist/plugin/contracts.cjs.map +1 -0
- package/dist/plugin/contracts.d.cts +109 -0
- package/dist/plugin/contracts.d.mts +109 -0
- package/dist/plugin/contracts.d.ts +109 -0
- package/dist/plugin/contracts.js +18 -0
- package/dist/plugin/contracts.js.map +1 -0
- package/dist/plugin/index.cjs +7 -0
- package/dist/plugin/index.cjs.map +1 -0
- package/dist/plugin/index.d.cts +2 -0
- package/dist/plugin/index.d.mts +2 -0
- package/dist/plugin/index.d.ts +2 -0
- package/dist/plugin/index.js +6 -0
- package/dist/plugin/index.js.map +1 -0
- package/dist/plugin/index.mjs +6 -0
- package/dist/plugin/index.mjs.map +1 -0
- package/dist/plugin/link.cjs +204 -0
- package/dist/plugin/link.cjs.map +1 -0
- package/dist/plugin/link.d.cts +68 -0
- package/dist/plugin/link.d.mts +68 -0
- package/dist/plugin/link.d.ts +68 -0
- package/dist/plugin/link.js +14 -0
- package/dist/plugin/link.js.map +1 -0
- package/dist/plugins/record/attachment.cjs +62 -0
- package/dist/plugins/record/attachment.cjs.map +1 -0
- package/dist/plugins/record/attachment.d.cts +14 -0
- package/dist/plugins/record/attachment.d.mts +14 -0
- package/dist/plugins/record/attachment.d.ts +14 -0
- package/dist/plugins/record/attachment.js +20 -0
- package/dist/plugins/record/attachment.js.map +1 -0
- package/dist/plugins/record/capability.cjs +258 -0
- package/dist/plugins/record/capability.cjs.map +1 -0
- package/dist/plugins/record/capability.d.cts +94 -0
- package/dist/plugins/record/capability.d.mts +94 -0
- package/dist/plugins/record/capability.d.ts +94 -0
- package/dist/plugins/record/capability.js +26 -0
- package/dist/plugins/record/capability.js.map +1 -0
- package/dist/plugins/record/codec.cjs +244 -0
- package/dist/plugins/record/codec.cjs.map +1 -0
- package/dist/plugins/record/codec.d.cts +28 -0
- package/dist/plugins/record/codec.d.mts +28 -0
- package/dist/plugins/record/codec.d.ts +28 -0
- package/dist/plugins/record/codec.js +48 -0
- package/dist/plugins/record/codec.js.map +1 -0
- package/dist/plugins/record/index.cjs +54 -0
- package/dist/plugins/record/index.cjs.map +1 -0
- package/dist/plugins/record/index.d.cts +9 -0
- package/dist/plugins/record/index.d.mts +9 -0
- package/dist/plugins/record/index.d.ts +9 -0
- package/dist/plugins/record/index.js +94 -0
- package/dist/plugins/record/index.js.map +1 -0
- package/dist/plugins/record/migration.cjs +33 -0
- package/dist/plugins/record/migration.cjs.map +1 -0
- package/dist/plugins/record/migration.d.cts +22 -0
- package/dist/plugins/record/migration.d.mts +22 -0
- package/dist/plugins/record/migration.d.ts +22 -0
- package/dist/plugins/record/migration.js +6 -0
- package/dist/plugins/record/migration.js.map +1 -0
- package/dist/plugins/record/model.cjs +3 -0
- package/dist/plugins/record/model.cjs.map +1 -0
- package/dist/plugins/record/model.d.cts +93 -0
- package/dist/plugins/record/model.d.mts +93 -0
- package/dist/plugins/record/model.d.ts +93 -0
- package/dist/plugins/record/model.js +4 -0
- package/dist/plugins/record/model.js.map +1 -0
- package/dist/plugins/record/provenance.cjs +319 -0
- package/dist/plugins/record/provenance.cjs.map +1 -0
- package/dist/plugins/record/provenance.d.cts +79 -0
- package/dist/plugins/record/provenance.d.mts +79 -0
- package/dist/plugins/record/provenance.d.ts +79 -0
- package/dist/plugins/record/provenance.js +24 -0
- package/dist/plugins/record/provenance.js.map +1 -0
- package/dist/projection/attachment-result.cjs +50 -0
- package/dist/projection/attachment-result.cjs.map +1 -0
- package/dist/projection/attachment-result.d.cts +38 -0
- package/dist/projection/attachment-result.d.mts +38 -0
- package/dist/projection/attachment-result.d.ts +38 -0
- package/dist/projection/attachment-result.js +6 -0
- package/dist/projection/attachment-result.js.map +1 -0
- package/dist/projection/attempt-selection.cjs +87 -0
- package/dist/projection/attempt-selection.cjs.map +1 -0
- package/dist/projection/attempt-selection.d.cts +40 -0
- package/dist/projection/attempt-selection.d.mts +40 -0
- package/dist/projection/attempt-selection.d.ts +40 -0
- package/dist/projection/attempt-selection.js +8 -0
- package/dist/projection/attempt-selection.js.map +1 -0
- package/dist/projection/coverage.cjs +106 -0
- package/dist/projection/coverage.cjs.map +1 -0
- package/dist/projection/coverage.d.cts +43 -0
- package/dist/projection/coverage.d.mts +43 -0
- package/dist/projection/coverage.d.ts +43 -0
- package/dist/projection/coverage.js +6 -0
- package/dist/projection/coverage.js.map +1 -0
- package/dist/projection/index.cjs +36 -0
- package/dist/projection/index.cjs.map +1 -0
- package/dist/projection/index.d.cts +25 -0
- package/dist/projection/index.d.mts +25 -0
- package/dist/projection/index.d.ts +25 -0
- package/dist/projection/index.js +46 -0
- package/dist/projection/index.js.map +1 -0
- package/dist/projection/index.mjs +46 -0
- package/dist/projection/index.mjs.map +1 -0
- package/dist/projection/model.cjs +3 -0
- package/dist/projection/model.cjs.map +1 -0
- package/dist/projection/model.d.cts +49 -0
- package/dist/projection/model.d.mts +49 -0
- package/dist/projection/model.d.ts +49 -0
- package/dist/projection/model.js +4 -0
- package/dist/projection/model.js.map +1 -0
- package/dist/projection/projector.cjs +111 -0
- package/dist/projection/projector.cjs.map +1 -0
- package/dist/projection/projector.d.cts +51 -0
- package/dist/projection/projector.d.mts +51 -0
- package/dist/projection/projector.d.ts +51 -0
- package/dist/projection/projector.js +16 -0
- package/dist/projection/projector.js.map +1 -0
- package/dist/projection/runtime.cjs +246 -0
- package/dist/projection/runtime.cjs.map +1 -0
- package/dist/projection/runtime.d.cts +14 -0
- package/dist/projection/runtime.d.mts +14 -0
- package/dist/projection/runtime.d.ts +14 -0
- package/dist/projection/runtime.js +6 -0
- package/dist/projection/runtime.js.map +1 -0
- package/dist/record/attachment/errors.cjs +71 -0
- package/dist/record/attachment/errors.cjs.map +1 -0
- package/dist/record/attachment/errors.d.cts +57 -0
- package/dist/record/attachment/errors.d.mts +57 -0
- package/dist/record/attachment/errors.d.ts +57 -0
- package/dist/record/attachment/errors.js +22 -0
- package/dist/record/attachment/errors.js.map +1 -0
- package/dist/record/attachment/index.cjs +14 -0
- package/dist/record/attachment/index.cjs.map +1 -0
- package/dist/record/attachment/index.d.cts +3 -0
- package/dist/record/attachment/index.d.mts +3 -0
- package/dist/record/attachment/index.d.ts +3 -0
- package/dist/record/attachment/index.js +22 -0
- package/dist/record/attachment/index.js.map +1 -0
- package/dist/record/attachment/internal.cjs +24 -0
- package/dist/record/attachment/internal.cjs.map +1 -0
- package/dist/record/attachment/internal.d.cts +6 -0
- package/dist/record/attachment/internal.d.mts +6 -0
- package/dist/record/attachment/internal.d.ts +6 -0
- package/dist/record/attachment/internal.js +34 -0
- package/dist/record/attachment/internal.js.map +1 -0
- package/dist/record/attachment/runtime.cjs +1017 -0
- package/dist/record/attachment/runtime.cjs.map +1 -0
- package/dist/record/attachment/runtime.d.cts +86 -0
- package/dist/record/attachment/runtime.d.mts +86 -0
- package/dist/record/attachment/runtime.d.ts +86 -0
- package/dist/record/attachment/runtime.js +52 -0
- package/dist/record/attachment/runtime.js.map +1 -0
- package/dist/record/attachment/types.cjs +47 -0
- package/dist/record/attachment/types.cjs.map +1 -0
- package/dist/record/attachment/types.d.cts +194 -0
- package/dist/record/attachment/types.d.mts +194 -0
- package/dist/record/attachment/types.d.ts +194 -0
- package/dist/record/attachment/types.js +28 -0
- package/dist/record/attachment/types.js.map +1 -0
- package/dist/record/codec/core.cjs +134 -0
- package/dist/record/codec/core.cjs.map +1 -0
- package/dist/record/codec/core.d.cts +63 -0
- package/dist/record/codec/core.d.mts +63 -0
- package/dist/record/codec/core.d.ts +63 -0
- package/dist/record/codec/core.js +46 -0
- package/dist/record/codec/core.js.map +1 -0
- package/dist/record/codec/identifiers.cjs +31 -0
- package/dist/record/codec/identifiers.cjs.map +1 -0
- package/dist/record/codec/identifiers.d.cts +11 -0
- package/dist/record/codec/identifiers.d.mts +11 -0
- package/dist/record/codec/identifiers.d.ts +11 -0
- package/dist/record/codec/identifiers.js +22 -0
- package/dist/record/codec/identifiers.js.map +1 -0
- package/dist/record/codec/index.cjs +19 -0
- package/dist/record/codec/index.cjs.map +1 -0
- package/dist/record/codec/index.d.cts +2 -0
- package/dist/record/codec/index.d.mts +2 -0
- package/dist/record/codec/index.d.ts +2 -0
- package/dist/record/codec/index.js +64 -0
- package/dist/record/codec/index.js.map +1 -0
- package/dist/record/errors/index.cjs +18 -0
- package/dist/record/errors/index.cjs.map +1 -0
- package/dist/record/errors/index.d.cts +1 -0
- package/dist/record/errors/index.d.mts +1 -0
- package/dist/record/errors/index.d.ts +1 -0
- package/dist/record/errors/index.js +28 -0
- package/dist/record/errors/index.js.map +1 -0
- package/dist/record/errors/record-errors.cjs +58 -0
- package/dist/record/errors/record-errors.cjs.map +1 -0
- package/dist/record/errors/record-errors.d.cts +64 -0
- package/dist/record/errors/record-errors.d.mts +64 -0
- package/dist/record/errors/record-errors.d.ts +64 -0
- package/dist/record/errors/record-errors.js +28 -0
- package/dist/record/errors/record-errors.js.map +1 -0
- package/dist/record/fact-record.cjs +199 -0
- package/dist/record/fact-record.cjs.map +1 -0
- package/dist/record/fact-record.d.cts +22 -0
- package/dist/record/fact-record.d.mts +22 -0
- package/dist/record/fact-record.d.ts +22 -0
- package/dist/record/fact-record.js +18 -0
- package/dist/record/fact-record.js.map +1 -0
- package/dist/record/index.cjs +55 -0
- package/dist/record/index.cjs.map +1 -0
- package/dist/record/index.d.cts +11 -0
- package/dist/record/index.d.mts +11 -0
- package/dist/record/index.d.ts +11 -0
- package/dist/record/index.js +314 -0
- package/dist/record/index.js.map +1 -0
- package/dist/record/locator.cjs +146 -0
- package/dist/record/locator.cjs.map +1 -0
- package/dist/record/locator.d.cts +71 -0
- package/dist/record/locator.d.mts +71 -0
- package/dist/record/locator.js +20 -136
- package/dist/record/locator.js.map +1 -0
- package/dist/record/maintenance/index.cjs +19 -0
- package/dist/record/maintenance/index.cjs.map +1 -0
- package/dist/record/maintenance/index.d.cts +2 -0
- package/dist/record/maintenance/index.d.mts +2 -0
- package/dist/record/maintenance/index.d.ts +2 -0
- package/dist/record/maintenance/index.js +14 -0
- package/dist/record/maintenance/index.js.map +1 -0
- package/dist/record/maintenance/runtime.cjs +98 -0
- package/dist/record/maintenance/runtime.cjs.map +1 -0
- package/dist/record/maintenance/runtime.d.cts +24 -0
- package/dist/record/maintenance/runtime.d.mts +24 -0
- package/dist/record/maintenance/runtime.d.ts +24 -0
- package/dist/record/maintenance/runtime.js +12 -0
- package/dist/record/maintenance/runtime.js.map +1 -0
- package/dist/record/maintenance/types.cjs +9 -0
- package/dist/record/maintenance/types.cjs.map +1 -0
- package/dist/record/maintenance/types.d.cts +34 -0
- package/dist/record/maintenance/types.d.mts +34 -0
- package/dist/record/maintenance/types.d.ts +34 -0
- package/dist/record/maintenance/types.js +6 -0
- package/dist/record/maintenance/types.js.map +1 -0
- package/dist/record/manifest.cjs +44 -0
- package/dist/record/manifest.cjs.map +1 -0
- package/dist/record/manifest.d.cts +39 -0
- package/dist/record/manifest.d.mts +39 -0
- package/dist/record/manifest.d.ts +5 -3
- package/dist/record/manifest.js +14 -0
- package/dist/record/manifest.js.map +1 -0
- package/dist/record/migration/errors.cjs +68 -0
- package/dist/record/migration/errors.cjs.map +1 -0
- package/dist/record/migration/errors.d.cts +73 -0
- package/dist/record/migration/errors.d.mts +73 -0
- package/dist/record/migration/errors.d.ts +73 -0
- package/dist/record/migration/errors.js +22 -0
- package/dist/record/migration/errors.js.map +1 -0
- package/dist/record/migration/identity.cjs +27 -0
- package/dist/record/migration/identity.cjs.map +1 -0
- package/dist/record/migration/identity.d.cts +5 -0
- package/dist/record/migration/identity.d.mts +5 -0
- package/dist/record/migration/identity.d.ts +5 -0
- package/dist/record/migration/identity.js +8 -0
- package/dist/record/migration/identity.js.map +1 -0
- package/dist/record/migration/index.cjs +28 -0
- package/dist/record/migration/index.cjs.map +1 -0
- package/dist/record/migration/index.d.cts +8 -0
- package/dist/record/migration/index.d.mts +8 -0
- package/dist/record/migration/index.d.ts +8 -0
- package/dist/record/migration/index.js +48 -0
- package/dist/record/migration/index.js.map +1 -0
- package/dist/record/migration/internal.cjs +3 -0
- package/dist/record/migration/internal.cjs.map +1 -0
- package/dist/record/migration/internal.d.cts +111 -0
- package/dist/record/migration/internal.d.mts +111 -0
- package/dist/record/migration/internal.d.ts +111 -0
- package/dist/record/migration/internal.js +4 -0
- package/dist/record/migration/internal.js.map +1 -0
- package/dist/record/migration/orchestrate.cjs +368 -0
- package/dist/record/migration/orchestrate.cjs.map +1 -0
- package/dist/record/migration/orchestrate.d.cts +113 -0
- package/dist/record/migration/orchestrate.d.mts +113 -0
- package/dist/record/migration/orchestrate.d.ts +113 -0
- package/dist/record/migration/orchestrate.js +16 -0
- package/dist/record/migration/orchestrate.js.map +1 -0
- package/dist/record/migration/plan.cjs +63 -0
- package/dist/record/migration/plan.cjs.map +1 -0
- package/dist/record/migration/plan.d.cts +32 -0
- package/dist/record/migration/plan.d.mts +32 -0
- package/dist/record/migration/plan.d.ts +32 -0
- package/dist/record/migration/plan.js +10 -0
- package/dist/record/migration/plan.js.map +1 -0
- package/dist/record/migration/registry.cjs +150 -0
- package/dist/record/migration/registry.cjs.map +1 -0
- package/dist/record/migration/registry.d.cts +61 -0
- package/dist/record/migration/registry.d.mts +61 -0
- package/dist/record/migration/registry.d.ts +61 -0
- package/dist/record/migration/registry.js +14 -0
- package/dist/record/migration/registry.js.map +1 -0
- package/dist/record/migration/storage.cjs +382 -0
- package/dist/record/migration/storage.cjs.map +1 -0
- package/dist/record/migration/storage.d.cts +18 -0
- package/dist/record/migration/storage.d.mts +18 -0
- package/dist/record/migration/storage.d.ts +18 -0
- package/dist/record/migration/storage.js +6 -0
- package/dist/record/migration/storage.js.map +1 -0
- package/dist/record/migration/types.cjs +3 -0
- package/dist/record/migration/types.cjs.map +1 -0
- package/dist/record/migration/types.d.cts +16 -0
- package/dist/record/migration/types.d.mts +16 -0
- package/dist/record/migration/types.d.ts +16 -0
- package/dist/record/migration/types.js +4 -0
- package/dist/record/migration/types.js.map +1 -0
- package/dist/record/model/core.cjs +11 -0
- package/dist/record/model/core.cjs.map +1 -0
- package/dist/record/model/core.d.cts +53 -0
- package/dist/record/model/core.d.mts +53 -0
- package/dist/record/model/core.d.ts +53 -0
- package/dist/record/model/core.js +6 -0
- package/dist/record/model/core.js.map +1 -0
- package/dist/record/model/identifiers.cjs +78 -0
- package/dist/record/model/identifiers.cjs.map +1 -0
- package/dist/record/model/identifiers.d.cts +44 -0
- package/dist/record/model/identifiers.d.mts +44 -0
- package/dist/record/model/identifiers.d.ts +44 -0
- package/dist/record/model/identifiers.js +40 -0
- package/dist/record/model/identifiers.js.map +1 -0
- package/dist/record/model/index.cjs +21 -0
- package/dist/record/model/index.cjs.map +1 -0
- package/dist/record/model/index.d.cts +4 -0
- package/dist/record/model/index.d.mts +4 -0
- package/dist/record/model/index.d.ts +4 -0
- package/dist/record/model/index.js +52 -0
- package/dist/record/model/index.js.map +1 -0
- package/dist/record/model/read-state.cjs +3 -0
- package/dist/record/model/read-state.cjs.map +1 -0
- package/dist/record/model/read-state.d.cts +45 -0
- package/dist/record/model/read-state.d.mts +45 -0
- package/dist/record/model/read-state.d.ts +45 -0
- package/dist/record/model/read-state.js +4 -0
- package/dist/record/model/read-state.js.map +1 -0
- package/dist/record/model/validation.cjs +143 -0
- package/dist/record/model/validation.cjs.map +1 -0
- package/dist/record/model/validation.d.cts +16 -0
- package/dist/record/model/validation.d.mts +16 -0
- package/dist/record/model/validation.d.ts +16 -0
- package/dist/record/model/validation.js +14 -0
- package/dist/record/model/validation.js.map +1 -0
- package/dist/record/platform/errors.cjs +101 -0
- package/dist/record/platform/errors.cjs.map +1 -0
- package/dist/record/platform/errors.d.cts +123 -0
- package/dist/record/platform/errors.d.mts +123 -0
- package/dist/record/platform/errors.d.ts +123 -0
- package/dist/record/platform/errors.js +32 -0
- package/dist/record/platform/errors.js.map +1 -0
- package/dist/record/platform/index.cjs +21 -0
- package/dist/record/platform/index.cjs.map +1 -0
- package/dist/record/platform/index.d.cts +4 -0
- package/dist/record/platform/index.d.mts +4 -0
- package/dist/record/platform/index.d.ts +4 -0
- package/dist/record/platform/index.js +60 -0
- package/dist/record/platform/index.js.map +1 -0
- package/dist/record/platform/node.cjs +715 -0
- package/dist/record/platform/node.cjs.map +1 -0
- package/dist/record/platform/node.d.cts +12 -0
- package/dist/record/platform/node.d.mts +12 -0
- package/dist/record/platform/node.d.ts +12 -0
- package/dist/record/platform/node.js +16 -0
- package/dist/record/platform/node.js.map +1 -0
- package/dist/record/platform/root.cjs +79 -0
- package/dist/record/platform/root.cjs.map +1 -0
- package/dist/record/platform/root.d.cts +35 -0
- package/dist/record/platform/root.d.mts +35 -0
- package/dist/record/platform/root.d.ts +35 -0
- package/dist/record/platform/root.js +8 -0
- package/dist/record/platform/root.js.map +1 -0
- package/dist/record/platform/services.cjs +24 -0
- package/dist/record/platform/services.cjs.map +1 -0
- package/dist/record/platform/services.d.cts +139 -0
- package/dist/record/platform/services.d.mts +139 -0
- package/dist/record/platform/services.d.ts +139 -0
- package/dist/record/platform/services.js +16 -0
- package/dist/record/platform/services.js.map +1 -0
- package/dist/record/reader/errors.cjs +46 -0
- package/dist/record/reader/errors.cjs.map +1 -0
- package/dist/record/reader/errors.d.cts +58 -0
- package/dist/record/reader/errors.d.mts +58 -0
- package/dist/record/reader/errors.d.ts +58 -0
- package/dist/record/reader/errors.js +16 -0
- package/dist/record/reader/errors.js.map +1 -0
- package/dist/record/reader/format.cjs +95 -0
- package/dist/record/reader/format.cjs.map +1 -0
- package/dist/record/reader/format.d.cts +17 -0
- package/dist/record/reader/format.d.mts +17 -0
- package/dist/record/reader/format.d.ts +17 -0
- package/dist/record/reader/format.js +8 -0
- package/dist/record/reader/format.js.map +1 -0
- package/dist/record/reader/identity.cjs +47 -0
- package/dist/record/reader/identity.cjs.map +1 -0
- package/dist/record/reader/identity.d.cts +31 -0
- package/dist/record/reader/identity.d.mts +31 -0
- package/dist/record/reader/identity.d.ts +31 -0
- package/dist/record/reader/identity.js +8 -0
- package/dist/record/reader/identity.js.map +1 -0
- package/dist/record/reader/index.cjs +21 -0
- package/dist/record/reader/index.cjs.map +1 -0
- package/dist/record/reader/index.d.cts +4 -0
- package/dist/record/reader/index.d.mts +4 -0
- package/dist/record/reader/index.d.ts +4 -0
- package/dist/record/reader/index.js +42 -0
- package/dist/record/reader/index.js.map +1 -0
- package/dist/record/reader/internal.cjs +17 -0
- package/dist/record/reader/internal.cjs.map +1 -0
- package/dist/record/reader/internal.d.cts +26 -0
- package/dist/record/reader/internal.d.mts +26 -0
- package/dist/record/reader/internal.d.ts +26 -0
- package/dist/record/reader/internal.js +8 -0
- package/dist/record/reader/internal.js.map +1 -0
- package/dist/record/reader/runtime.cjs +728 -0
- package/dist/record/reader/runtime.cjs.map +1 -0
- package/dist/record/reader/runtime.d.cts +22 -0
- package/dist/record/reader/runtime.d.mts +22 -0
- package/dist/record/reader/runtime.d.ts +22 -0
- package/dist/record/reader/runtime.js +20 -0
- package/dist/record/reader/runtime.js.map +1 -0
- package/dist/record/reader/types.cjs +12 -0
- package/dist/record/reader/types.cjs.map +1 -0
- package/dist/record/reader/types.d.cts +50 -0
- package/dist/record/reader/types.d.mts +50 -0
- package/dist/record/reader/types.d.ts +50 -0
- package/dist/record/reader/types.js +10 -0
- package/dist/record/reader/types.js.map +1 -0
- package/dist/record/source-hash.cjs +30 -0
- package/dist/record/source-hash.cjs.map +1 -0
- package/dist/record/source-hash.d.cts +9 -0
- package/dist/record/source-hash.d.mts +9 -0
- package/dist/record/source-hash.js +8 -25
- package/dist/record/source-hash.js.map +1 -0
- package/dist/record/writer/attachment-payload.cjs +81 -0
- package/dist/record/writer/attachment-payload.cjs.map +1 -0
- package/dist/record/writer/attachment-payload.d.cts +19 -0
- package/dist/record/writer/attachment-payload.d.mts +19 -0
- package/dist/record/writer/attachment-payload.d.ts +19 -0
- package/dist/record/writer/attachment-payload.js +10 -0
- package/dist/record/writer/attachment-payload.js.map +1 -0
- package/dist/record/writer/errors.cjs +35 -0
- package/dist/record/writer/errors.cjs.map +1 -0
- package/dist/record/writer/errors.d.cts +35 -0
- package/dist/record/writer/errors.d.mts +35 -0
- package/dist/record/writer/errors.d.ts +35 -0
- package/dist/record/writer/errors.js +14 -0
- package/dist/record/writer/errors.js.map +1 -0
- package/dist/record/writer/index.cjs +20 -0
- package/dist/record/writer/index.cjs.map +1 -0
- package/dist/record/writer/index.d.cts +3 -0
- package/dist/record/writer/index.d.mts +3 -0
- package/dist/record/writer/index.d.ts +3 -0
- package/dist/record/writer/index.js +22 -0
- package/dist/record/writer/index.js.map +1 -0
- package/dist/record/writer/limits.cjs +16 -0
- package/dist/record/writer/limits.cjs.map +1 -0
- package/dist/record/writer/limits.d.cts +4 -0
- package/dist/record/writer/limits.d.mts +4 -0
- package/dist/record/writer/limits.d.ts +4 -0
- package/dist/record/writer/limits.js +8 -0
- package/dist/record/writer/limits.js.map +1 -0
- package/dist/record/writer/runtime.cjs +656 -0
- package/dist/record/writer/runtime.cjs.map +1 -0
- package/dist/record/writer/runtime.d.cts +7 -0
- package/dist/record/writer/runtime.d.mts +7 -0
- package/dist/record/writer/runtime.d.ts +7 -0
- package/dist/record/writer/runtime.js +6 -0
- package/dist/record/writer/runtime.js.map +1 -0
- package/dist/record/writer/types.cjs +7 -0
- package/dist/record/writer/types.cjs.map +1 -0
- package/dist/record/writer/types.d.cts +56 -0
- package/dist/record/writer/types.d.mts +56 -0
- package/dist/record/writer/types.d.ts +56 -0
- package/dist/record/writer/types.js +10 -0
- package/dist/record/writer/types.js.map +1 -0
- package/dist/report/author/identity.cjs +268 -0
- package/dist/report/author/identity.cjs.map +1 -0
- package/dist/report/author/identity.d.cts +75 -0
- package/dist/report/author/identity.d.mts +75 -0
- package/dist/report/author/identity.d.ts +75 -0
- package/dist/report/author/identity.js +34 -0
- package/dist/report/author/identity.js.map +1 -0
- package/dist/report/author/index.cjs +19 -0
- package/dist/report/author/index.cjs.map +1 -0
- package/dist/report/author/index.d.cts +4 -0
- package/dist/report/author/index.d.mts +4 -0
- package/dist/report/author/index.d.ts +4 -0
- package/dist/report/author/index.js +30 -0
- package/dist/report/author/index.js.map +1 -0
- package/dist/report/author/internal.cjs +98 -0
- package/dist/report/author/internal.cjs.map +1 -0
- package/dist/report/author/internal.d.cts +91 -0
- package/dist/report/author/internal.d.mts +91 -0
- package/dist/report/author/internal.d.ts +91 -0
- package/dist/report/author/internal.js +18 -0
- package/dist/report/author/internal.js.map +1 -0
- package/dist/report/author/model.cjs +467 -0
- package/dist/report/author/model.cjs.map +1 -0
- package/dist/report/author/model.d.cts +241 -0
- package/dist/report/author/model.d.mts +241 -0
- package/dist/report/author/model.d.ts +241 -0
- package/dist/report/author/model.js +32 -0
- package/dist/report/author/model.js.map +1 -0
- package/dist/report/built-in/attempt-overview.cjs +395 -0
- package/dist/report/built-in/attempt-overview.cjs.map +1 -0
- package/dist/report/built-in/attempt-overview.d.cts +10 -0
- package/dist/report/built-in/attempt-overview.d.mts +10 -0
- package/dist/report/built-in/attempt-overview.d.ts +10 -0
- package/dist/report/built-in/attempt-overview.js +9 -0
- package/dist/report/built-in/attempt-overview.js.map +1 -0
- package/dist/report/built-in/execution.cjs +766 -0
- package/dist/report/built-in/execution.cjs.map +1 -0
- package/dist/report/built-in/execution.d.cts +25 -0
- package/dist/report/built-in/execution.d.mts +25 -0
- package/dist/report/built-in/execution.d.ts +25 -0
- package/dist/report/built-in/execution.js +12 -0
- package/dist/report/built-in/execution.js.map +1 -0
- package/dist/report/built-in/index.cjs +31 -0
- package/dist/report/built-in/index.cjs.map +1 -0
- package/dist/report/built-in/index.d.cts +6 -0
- package/dist/report/built-in/index.d.mts +6 -0
- package/dist/report/built-in/index.d.ts +6 -8
- package/dist/report/built-in/index.js +35 -13
- package/dist/report/built-in/index.js.map +1 -0
- package/dist/report/built-in/index.mjs +35 -0
- package/dist/report/built-in/index.mjs.map +1 -0
- package/dist/report/built-in/overview.cjs +206 -0
- package/dist/report/built-in/overview.cjs.map +1 -0
- package/dist/report/built-in/overview.d.cts +6 -0
- package/dist/report/built-in/overview.d.mts +6 -0
- package/dist/report/built-in/overview.d.ts +6 -0
- package/dist/report/built-in/overview.js +11 -0
- package/dist/report/built-in/overview.js.map +1 -0
- package/dist/report/built-in/run-membership-overview.cjs +194 -0
- package/dist/report/built-in/run-membership-overview.cjs.map +1 -0
- package/dist/report/built-in/run-membership-overview.d.cts +6 -0
- package/dist/report/built-in/run-membership-overview.d.mts +6 -0
- package/dist/report/built-in/run-membership-overview.d.ts +6 -0
- package/dist/report/built-in/run-membership-overview.js +9 -0
- package/dist/report/built-in/run-membership-overview.js.map +1 -0
- package/dist/report/built-in/sandbox-history.cjs +384 -0
- package/dist/report/built-in/sandbox-history.cjs.map +1 -0
- package/dist/report/built-in/sandbox-history.d.cts +9 -0
- package/dist/report/built-in/sandbox-history.d.mts +9 -0
- package/dist/report/built-in/sandbox-history.d.ts +9 -0
- package/dist/report/built-in/sandbox-history.js +9 -0
- package/dist/report/built-in/sandbox-history.js.map +1 -0
- package/dist/report/built-in/source.cjs +162 -0
- package/dist/report/built-in/source.cjs.map +1 -0
- package/dist/report/built-in/source.d.cts +11 -0
- package/dist/report/built-in/source.d.mts +11 -0
- package/dist/report/built-in/source.d.ts +11 -0
- package/dist/report/built-in/source.js +8 -0
- package/dist/report/built-in/source.js.map +1 -0
- package/dist/report/execution/index.cjs +20 -0
- package/dist/report/execution/index.cjs.map +1 -0
- package/dist/report/execution/index.d.cts +3 -0
- package/dist/report/execution/index.d.mts +3 -0
- package/dist/report/execution/index.d.ts +3 -0
- package/dist/report/execution/index.js +30 -0
- package/dist/report/execution/index.js.map +1 -0
- package/dist/report/execution/model.cjs +483 -0
- package/dist/report/execution/model.cjs.map +1 -0
- package/dist/report/execution/model.d.cts +50 -0
- package/dist/report/execution/model.d.mts +50 -0
- package/dist/report/execution/model.d.ts +50 -0
- package/dist/report/execution/model.js +16 -0
- package/dist/report/execution/model.js.map +1 -0
- package/dist/report/execution/problems.cjs +210 -0
- package/dist/report/execution/problems.cjs.map +1 -0
- package/dist/report/execution/problems.d.cts +54 -0
- package/dist/report/execution/problems.d.mts +54 -0
- package/dist/report/execution/problems.d.ts +54 -0
- package/dist/report/execution/problems.js +14 -0
- package/dist/report/execution/problems.js.map +1 -0
- package/dist/report/execution/results.cjs +26 -0
- package/dist/report/execution/results.cjs.map +1 -0
- package/dist/report/execution/results.d.cts +102 -0
- package/dist/report/execution/results.d.mts +102 -0
- package/dist/report/execution/results.d.ts +102 -0
- package/dist/report/execution/results.js +8 -0
- package/dist/report/execution/results.js.map +1 -0
- package/dist/report/host/execute.cjs +1287 -0
- package/dist/report/host/execute.cjs.map +1 -0
- package/dist/report/host/execute.d.cts +23 -0
- package/dist/report/host/execute.d.mts +23 -0
- package/dist/report/host/execute.d.ts +23 -0
- package/dist/report/host/execute.js +6 -0
- package/dist/report/host/execute.js.map +1 -0
- package/dist/report/host/from-record.cjs +47 -0
- package/dist/report/host/from-record.cjs.map +1 -0
- package/dist/report/host/from-record.d.cts +36 -0
- package/dist/report/host/from-record.d.mts +36 -0
- package/dist/report/host/from-record.d.ts +36 -0
- package/dist/report/host/from-record.js +8 -0
- package/dist/report/host/from-record.js.map +1 -0
- package/dist/report/host/html.cjs +424 -0
- package/dist/report/host/html.cjs.map +1 -0
- package/dist/report/host/html.d.cts +28 -0
- package/dist/report/host/html.d.mts +28 -0
- package/dist/report/host/html.d.ts +28 -0
- package/dist/report/host/html.js +6 -0
- package/dist/report/host/html.js.map +1 -0
- package/dist/report/host/index.cjs +21 -0
- package/dist/report/host/index.cjs.map +1 -0
- package/dist/report/host/index.d.cts +11 -0
- package/dist/report/host/index.d.mts +11 -0
- package/dist/report/host/index.d.ts +11 -0
- package/dist/report/host/index.js +24 -0
- package/dist/report/host/index.js.map +1 -0
- package/dist/report/host/node/loader.cjs +210 -0
- package/dist/report/host/node/loader.cjs.map +1 -0
- package/dist/report/host/node/loader.d.cts +45 -0
- package/dist/report/host/node/loader.d.mts +45 -0
- package/dist/report/host/node/loader.d.ts +45 -0
- package/dist/report/host/node/loader.js +14 -0
- package/dist/report/host/node/loader.js.map +1 -0
- package/dist/report/host/node/theme.cjs +21 -0
- package/dist/report/host/node/theme.cjs.map +1 -0
- package/dist/report/host/node/theme.d.cts +1 -0
- package/dist/report/host/node/theme.d.mts +1 -0
- package/dist/report/host/node/theme.d.ts +1 -0
- package/dist/report/host/node/theme.js +14 -0
- package/dist/report/host/node/theme.js.map +1 -0
- package/dist/report/host/node.cjs +147 -0
- package/dist/report/host/node.cjs.map +1 -0
- package/dist/report/host/node.d.cts +36 -0
- package/dist/report/host/node.d.mts +36 -0
- package/dist/report/host/node.d.ts +36 -0
- package/dist/report/host/node.js +36 -0
- package/dist/report/host/node.js.map +1 -0
- package/dist/report/host/presentation.cjs +423 -0
- package/dist/report/host/presentation.cjs.map +1 -0
- package/dist/report/host/presentation.d.cts +42 -0
- package/dist/report/host/presentation.d.mts +42 -0
- package/dist/report/host/presentation.d.ts +42 -0
- package/dist/report/host/presentation.js +16 -0
- package/dist/report/host/presentation.js.map +1 -0
- package/dist/report/host/static.cjs +126 -0
- package/dist/report/host/static.cjs.map +1 -0
- package/dist/report/host/static.d.cts +55 -0
- package/dist/report/host/static.d.mts +55 -0
- package/dist/report/host/static.d.ts +55 -0
- package/dist/report/host/static.js +8 -0
- package/dist/report/host/static.js.map +1 -0
- package/dist/report/host/theme.cjs +223 -0
- package/dist/report/host/theme.cjs.map +1 -0
- package/dist/report/host/theme.d.cts +64 -0
- package/dist/report/host/theme.d.mts +64 -0
- package/dist/report/host/theme.d.ts +64 -0
- package/dist/report/host/theme.js +14 -0
- package/dist/report/host/theme.js.map +1 -0
- package/dist/report/host/view-session.cjs +82 -0
- package/dist/report/host/view-session.cjs.map +1 -0
- package/dist/report/host/view-session.d.cts +82 -0
- package/dist/report/host/view-session.d.mts +82 -0
- package/dist/report/host/view-session.d.ts +82 -0
- package/dist/report/host/view-session.js +6 -0
- package/dist/report/host/view-session.js.map +1 -0
- package/dist/report/index.cjs +58 -0
- package/dist/report/index.cjs.map +1 -0
- package/dist/report/index.d.cts +11 -0
- package/dist/report/index.d.mts +11 -0
- package/dist/report/index.d.ts +11 -43
- package/dist/report/index.js +120 -44
- package/dist/report/index.js.map +1 -0
- package/dist/report/index.mjs +120 -0
- package/dist/report/index.mjs.map +1 -0
- package/dist/report/model/panel.cjs +271 -0
- package/dist/report/model/panel.cjs.map +1 -0
- package/dist/report/model/panel.d.cts +109 -0
- package/dist/report/model/panel.d.mts +109 -0
- package/dist/report/model/panel.d.ts +2 -2
- package/dist/report/model/panel.js +22 -260
- package/dist/report/model/panel.js.map +1 -0
- package/dist/report/model/text-layout.cjs +185 -0
- package/dist/report/model/text-layout.cjs.map +1 -0
- package/dist/report/model/text-layout.d.cts +75 -0
- package/dist/report/model/text-layout.d.mts +75 -0
- package/dist/report/model/text-layout.js +22 -173
- package/dist/report/model/text-layout.js.map +1 -0
- package/dist/report/semantic/document.cjs +593 -0
- package/dist/report/semantic/document.cjs.map +1 -0
- package/dist/report/semantic/document.d.cts +162 -0
- package/dist/report/semantic/document.d.mts +162 -0
- package/dist/report/semantic/document.d.ts +162 -0
- package/dist/report/semantic/document.js +38 -0
- package/dist/report/semantic/document.js.map +1 -0
- package/dist/report/semantic/index.cjs +18 -0
- package/dist/report/semantic/index.cjs.map +1 -0
- package/dist/report/semantic/index.d.cts +1 -0
- package/dist/report/semantic/index.d.mts +1 -0
- package/dist/report/semantic/index.d.ts +1 -0
- package/dist/report/semantic/index.js +38 -0
- package/dist/report/semantic/index.js.map +1 -0
- package/dist/runner/accept-prompt.cjs +50 -0
- package/dist/runner/accept-prompt.cjs.map +1 -0
- package/dist/runner/accept-prompt.d.cts +27 -0
- package/dist/runner/accept-prompt.d.mts +27 -0
- package/dist/runner/accept-prompt.d.ts +27 -0
- package/dist/runner/accept-prompt.js +10 -0
- package/dist/runner/accept-prompt.js.map +1 -0
- package/dist/runner/accept.cjs +280 -0
- package/dist/runner/accept.cjs.map +1 -0
- package/dist/runner/accept.d.cts +75 -0
- package/dist/runner/accept.d.mts +75 -0
- package/dist/runner/accept.d.ts +75 -0
- package/dist/runner/accept.js +16 -0
- package/dist/runner/accept.js.map +1 -0
- package/dist/runner/adoption.cjs +859 -0
- package/dist/runner/adoption.cjs.map +1 -0
- package/dist/runner/adoption.d.cts +214 -0
- package/dist/runner/adoption.d.mts +214 -0
- package/dist/runner/adoption.d.ts +214 -0
- package/dist/runner/adoption.js +50 -0
- package/dist/runner/adoption.js.map +1 -0
- package/dist/runner/assert-first-bridge.cjs +203 -0
- package/dist/runner/assert-first-bridge.cjs.map +1 -0
- package/dist/runner/assert-first-bridge.d.cts +51 -0
- package/dist/runner/assert-first-bridge.d.mts +51 -0
- package/dist/runner/assert-first-bridge.d.ts +51 -0
- package/dist/runner/assert-first-bridge.js +6 -0
- package/dist/runner/assert-first-bridge.js.map +1 -0
- package/dist/runner/assertions.cjs +77 -0
- package/dist/runner/assertions.cjs.map +1 -0
- package/dist/runner/assertions.d.cts +8 -0
- package/dist/runner/assertions.d.mts +8 -0
- package/dist/runner/assertions.d.ts +8 -0
- package/dist/runner/assertions.js +6 -0
- package/dist/runner/assertions.js.map +1 -0
- package/dist/runner/attempt.cjs +2057 -0
- package/dist/runner/attempt.cjs.map +1 -0
- package/dist/runner/attempt.d.cts +90 -0
- package/dist/runner/attempt.d.mts +90 -0
- package/dist/runner/attempt.d.ts +90 -0
- package/dist/runner/attempt.js +14 -0
- package/dist/runner/attempt.js.map +1 -0
- package/dist/runner/build-preparation.cjs +87 -0
- package/dist/runner/build-preparation.cjs.map +1 -0
- package/dist/runner/build-preparation.d.cts +23 -0
- package/dist/runner/build-preparation.d.mts +23 -0
- package/dist/runner/build-preparation.d.ts +23 -0
- package/dist/runner/build-preparation.js +8 -0
- package/dist/runner/build-preparation.js.map +1 -0
- package/dist/runner/cleanup-timeout.cjs +40 -0
- package/dist/runner/cleanup-timeout.cjs.map +1 -0
- package/dist/runner/cleanup-timeout.d.cts +21 -0
- package/dist/runner/cleanup-timeout.d.mts +21 -0
- package/dist/runner/cleanup-timeout.d.ts +19 -1
- package/dist/runner/cleanup-timeout.js +12 -0
- package/dist/runner/cleanup-timeout.js.map +1 -0
- package/dist/runner/command-plan.cjs +475 -0
- package/dist/runner/command-plan.cjs.map +1 -0
- package/dist/runner/command-plan.d.cts +106 -0
- package/dist/runner/command-plan.d.mts +106 -0
- package/dist/runner/command-plan.d.ts +106 -0
- package/dist/runner/command-plan.js +6 -0
- package/dist/runner/command-plan.js.map +1 -0
- package/dist/runner/config-identity.cjs +259 -0
- package/dist/runner/config-identity.cjs.map +1 -0
- package/dist/runner/config-identity.d.cts +88 -0
- package/dist/runner/config-identity.d.mts +88 -0
- package/dist/runner/config-identity.d.ts +7 -5
- package/dist/runner/config-identity.js +22 -0
- package/dist/runner/config-identity.js.map +1 -0
- package/dist/runner/direct-agent-sandbox.cjs +64 -0
- package/dist/runner/direct-agent-sandbox.cjs.map +1 -0
- package/dist/runner/direct-agent-sandbox.d.cts +5 -0
- package/dist/runner/direct-agent-sandbox.d.mts +5 -0
- package/dist/runner/direct-agent-sandbox.d.ts +5 -0
- package/dist/runner/direct-agent-sandbox.js +8 -0
- package/dist/runner/direct-agent-sandbox.js.map +1 -0
- package/dist/runner/discover.cjs +628 -0
- package/dist/runner/discover.cjs.map +1 -0
- package/dist/runner/discover.d.cts +29 -0
- package/dist/runner/discover.d.mts +29 -0
- package/dist/runner/discover.d.ts +29 -0
- package/dist/runner/discover.js +12 -0
- package/dist/runner/discover.js.map +1 -0
- package/dist/runner/eval-selection.cjs +95 -0
- package/dist/runner/eval-selection.cjs.map +1 -0
- package/dist/runner/eval-selection.d.cts +37 -0
- package/dist/runner/eval-selection.d.mts +37 -0
- package/dist/runner/eval-selection.d.ts +2 -7
- package/dist/runner/eval-selection.js +12 -0
- package/dist/runner/eval-selection.js.map +1 -0
- package/dist/runner/eval-source.cjs +64 -0
- package/dist/runner/eval-source.cjs.map +1 -0
- package/dist/runner/eval-source.d.cts +28 -0
- package/dist/runner/eval-source.d.mts +28 -0
- package/dist/runner/eval-source.d.ts +1 -1
- package/dist/runner/eval-source.js +26 -0
- package/dist/runner/eval-source.js.map +1 -0
- package/dist/runner/experiment-cleanup-registry.cjs +70 -0
- package/dist/runner/experiment-cleanup-registry.cjs.map +1 -0
- package/dist/runner/experiment-cleanup-registry.d.cts +19 -0
- package/dist/runner/experiment-cleanup-registry.d.mts +19 -0
- package/dist/runner/experiment-cleanup-registry.d.ts +19 -0
- package/dist/runner/experiment-cleanup-registry.js +14 -0
- package/dist/runner/experiment-cleanup-registry.js.map +1 -0
- package/dist/runner/feedback/coordinator.cjs +404 -0
- package/dist/runner/feedback/coordinator.cjs.map +1 -0
- package/dist/runner/feedback/coordinator.d.cts +61 -0
- package/dist/runner/feedback/coordinator.d.mts +61 -0
- package/dist/runner/feedback/coordinator.d.ts +61 -0
- package/dist/runner/feedback/coordinator.js +6 -0
- package/dist/runner/feedback/coordinator.js.map +1 -0
- package/dist/runner/feedback/eval-conclusions.cjs +75 -0
- package/dist/runner/feedback/eval-conclusions.cjs.map +1 -0
- package/dist/runner/feedback/eval-conclusions.d.cts +30 -0
- package/dist/runner/feedback/eval-conclusions.d.mts +30 -0
- package/dist/runner/feedback/eval-conclusions.d.ts +30 -0
- package/dist/runner/feedback/eval-conclusions.js +8 -0
- package/dist/runner/feedback/eval-conclusions.js.map +1 -0
- package/dist/runner/feedback/failure.cjs +194 -0
- package/dist/runner/feedback/failure.cjs.map +1 -0
- package/dist/runner/feedback/failure.d.cts +13 -0
- package/dist/runner/feedback/failure.d.mts +13 -0
- package/dist/runner/feedback/failure.d.ts +13 -0
- package/dist/runner/feedback/failure.js +8 -0
- package/dist/runner/feedback/failure.js.map +1 -0
- package/dist/runner/feedback/human.cjs +1469 -0
- package/dist/runner/feedback/human.cjs.map +1 -0
- package/dist/runner/feedback/human.d.cts +139 -0
- package/dist/runner/feedback/human.d.mts +139 -0
- package/dist/runner/feedback/human.d.ts +139 -0
- package/dist/runner/feedback/human.js +18 -0
- package/dist/runner/feedback/human.js.map +1 -0
- package/dist/runner/feedback/index.cjs +51 -0
- package/dist/runner/feedback/index.cjs.map +1 -0
- package/dist/runner/feedback/index.d.cts +10 -0
- package/dist/runner/feedback/index.d.mts +10 -0
- package/dist/runner/feedback/index.d.ts +10 -0
- package/dist/runner/feedback/index.js +58 -0
- package/dist/runner/feedback/index.js.map +1 -0
- package/dist/runner/feedback/input-guard.cjs +106 -0
- package/dist/runner/feedback/input-guard.cjs.map +1 -0
- package/dist/runner/feedback/input-guard.d.cts +43 -0
- package/dist/runner/feedback/input-guard.d.mts +43 -0
- package/dist/runner/feedback/input-guard.d.ts +43 -0
- package/dist/runner/feedback/input-guard.js +8 -0
- package/dist/runner/feedback/input-guard.js.map +1 -0
- package/dist/runner/feedback/io.cjs +43 -0
- package/dist/runner/feedback/io.cjs.map +1 -0
- package/dist/runner/feedback/io.d.cts +38 -0
- package/dist/runner/feedback/io.d.mts +38 -0
- package/dist/runner/feedback/io.d.ts +38 -0
- package/dist/runner/feedback/io.js +6 -0
- package/dist/runner/feedback/io.js.map +1 -0
- package/dist/runner/feedback/json.cjs +371 -0
- package/dist/runner/feedback/json.cjs.map +1 -0
- package/dist/runner/feedback/json.d.cts +242 -0
- package/dist/runner/feedback/json.d.mts +242 -0
- package/dist/runner/feedback/json.d.ts +242 -0
- package/dist/runner/feedback/json.js +10 -0
- package/dist/runner/feedback/json.js.map +1 -0
- package/dist/runner/feedback/profile.cjs +8 -0
- package/dist/runner/feedback/profile.cjs.map +1 -0
- package/dist/runner/feedback/profile.d.cts +14 -0
- package/dist/runner/feedback/profile.d.mts +14 -0
- package/dist/runner/feedback/profile.d.ts +14 -0
- package/dist/runner/feedback/profile.js +6 -0
- package/dist/runner/feedback/profile.js.map +1 -0
- package/dist/runner/feedback/reducer.cjs +372 -0
- package/dist/runner/feedback/reducer.cjs.map +1 -0
- package/dist/runner/feedback/reducer.d.cts +4 -0
- package/dist/runner/feedback/reducer.d.mts +4 -0
- package/dist/runner/feedback/reducer.d.ts +4 -0
- package/dist/runner/feedback/reducer.js +8 -0
- package/dist/runner/feedback/reducer.js.map +1 -0
- package/dist/runner/feedback/renderer.cjs +3 -0
- package/dist/runner/feedback/renderer.cjs.map +1 -0
- package/dist/runner/feedback/renderer.d.cts +63 -0
- package/dist/runner/feedback/renderer.d.mts +63 -0
- package/dist/runner/feedback/renderer.d.ts +63 -0
- package/dist/runner/feedback/renderer.js +4 -0
- package/dist/runner/feedback/renderer.js.map +1 -0
- package/dist/runner/feedback/sink.cjs +194 -0
- package/dist/runner/feedback/sink.cjs.map +1 -0
- package/dist/runner/feedback/sink.d.cts +187 -0
- package/dist/runner/feedback/sink.d.mts +187 -0
- package/dist/runner/feedback/sink.d.ts +7 -7
- package/dist/runner/feedback/sink.js +34 -0
- package/dist/runner/feedback/sink.js.map +1 -0
- package/dist/runner/feedback/testing.cjs +69 -0
- package/dist/runner/feedback/testing.cjs.map +1 -0
- package/dist/runner/feedback/testing.d.cts +26 -0
- package/dist/runner/feedback/testing.d.mts +26 -0
- package/dist/runner/feedback/testing.d.ts +26 -0
- package/dist/runner/feedback/testing.js +6 -0
- package/dist/runner/feedback/testing.js.map +1 -0
- package/dist/runner/fingerprint.cjs +379 -0
- package/dist/runner/fingerprint.cjs.map +1 -0
- package/dist/runner/fingerprint.d.cts +71 -0
- package/dist/runner/fingerprint.d.mts +71 -0
- package/dist/runner/fingerprint.d.ts +49 -167
- package/dist/runner/fingerprint.js +22 -0
- package/dist/runner/fingerprint.js.map +1 -0
- package/dist/runner/gate-lease.cjs +271 -0
- package/dist/runner/gate-lease.cjs.map +1 -0
- package/dist/runner/gate-lease.d.cts +62 -0
- package/dist/runner/gate-lease.d.mts +62 -0
- package/dist/runner/gate-lease.d.ts +62 -0
- package/dist/runner/gate-lease.js +22 -0
- package/dist/runner/gate-lease.js.map +1 -0
- package/dist/runner/judge-config.cjs +26 -0
- package/dist/runner/judge-config.cjs.map +1 -0
- package/dist/runner/judge-config.d.cts +8 -0
- package/dist/runner/judge-config.d.mts +8 -0
- package/dist/runner/judge-config.d.ts +6 -4
- package/dist/runner/judge-config.js +6 -0
- package/dist/runner/judge-config.js.map +1 -0
- package/dist/runner/leak-gate.cjs +381 -0
- package/dist/runner/leak-gate.cjs.map +1 -0
- package/dist/runner/leak-gate.d.cts +124 -0
- package/dist/runner/leak-gate.d.mts +124 -0
- package/dist/runner/leak-gate.d.ts +36 -8
- package/dist/runner/leak-gate.js +32 -0
- package/dist/runner/leak-gate.js.map +1 -0
- package/dist/runner/ledger.cjs +470 -0
- package/dist/runner/ledger.cjs.map +1 -0
- package/dist/runner/ledger.d.cts +35 -0
- package/dist/runner/ledger.d.mts +35 -0
- package/dist/runner/ledger.d.ts +35 -0
- package/dist/runner/ledger.js +8 -0
- package/dist/runner/ledger.js.map +1 -0
- package/dist/runner/lock.cjs +236 -0
- package/dist/runner/lock.cjs.map +1 -0
- package/dist/runner/lock.d.cts +56 -0
- package/dist/runner/lock.d.mts +56 -0
- package/dist/runner/lock.d.ts +56 -0
- package/dist/runner/lock.js +22 -0
- package/dist/runner/lock.js.map +1 -0
- package/dist/runner/manifest.cjs +179 -0
- package/dist/runner/manifest.cjs.map +1 -0
- package/dist/runner/manifest.d.cts +61 -0
- package/dist/runner/manifest.d.mts +61 -0
- package/dist/runner/manifest.d.ts +4 -4
- package/dist/runner/manifest.js +22 -0
- package/dist/runner/manifest.js.map +1 -0
- package/dist/runner/project-current.cjs +117 -0
- package/dist/runner/project-current.cjs.map +1 -0
- package/dist/runner/project-current.d.cts +29 -0
- package/dist/runner/project-current.d.mts +29 -0
- package/dist/runner/project-current.d.ts +29 -0
- package/dist/runner/project-current.js +8 -0
- package/dist/runner/project-current.js.map +1 -0
- package/dist/runner/project-target.cjs +3 -0
- package/dist/runner/project-target.cjs.map +1 -0
- package/dist/runner/project-target.d.cts +30 -0
- package/dist/runner/project-target.d.mts +30 -0
- package/dist/runner/project-target.d.ts +30 -0
- package/dist/runner/project-target.js +4 -0
- package/dist/runner/project-target.js.map +1 -0
- package/dist/runner/record.cjs +883 -0
- package/dist/runner/record.cjs.map +1 -0
- package/dist/runner/record.d.cts +151 -0
- package/dist/runner/record.d.mts +151 -0
- package/dist/runner/record.d.ts +151 -0
- package/dist/runner/record.js +10 -0
- package/dist/runner/record.js.map +1 -0
- package/dist/runner/rename-experiment.cjs +273 -0
- package/dist/runner/rename-experiment.cjs.map +1 -0
- package/dist/runner/rename-experiment.d.cts +123 -0
- package/dist/runner/rename-experiment.d.mts +123 -0
- package/dist/runner/rename-experiment.d.ts +123 -0
- package/dist/runner/rename-experiment.js +14 -0
- package/dist/runner/rename-experiment.js.map +1 -0
- package/dist/runner/report.cjs +123 -0
- package/dist/runner/report.cjs.map +1 -0
- package/dist/runner/report.d.cts +27 -0
- package/dist/runner/report.d.mts +27 -0
- package/dist/runner/report.d.ts +27 -0
- package/dist/runner/report.js +14 -0
- package/dist/runner/report.js.map +1 -0
- package/dist/runner/reporters/braintrust.cjs +302 -0
- package/dist/runner/reporters/braintrust.cjs.map +1 -0
- package/dist/runner/reporters/braintrust.d.cts +59 -0
- package/dist/runner/reporters/braintrust.d.mts +59 -0
- package/dist/runner/reporters/braintrust.d.ts +59 -0
- package/dist/runner/reporters/braintrust.js +8 -0
- package/dist/runner/reporters/braintrust.js.map +1 -0
- package/dist/runner/reporters/index.cjs +12 -0
- package/dist/runner/reporters/index.cjs.map +1 -0
- package/dist/runner/reporters/index.d.cts +2 -0
- package/dist/runner/reporters/index.d.mts +2 -0
- package/dist/runner/reporters/index.d.ts +2 -0
- package/dist/runner/reporters/index.js +10 -0
- package/dist/runner/reporters/index.js.map +1 -0
- package/dist/runner/reporters/index.mjs +10 -0
- package/dist/runner/reporters/index.mjs.map +1 -0
- package/dist/runner/reporters/json.cjs +116 -0
- package/dist/runner/reporters/json.cjs.map +1 -0
- package/dist/runner/reporters/json.d.cts +3 -0
- package/dist/runner/reporters/json.d.mts +3 -0
- package/dist/runner/reporters/json.d.ts +3 -0
- package/dist/runner/reporters/json.js +8 -0
- package/dist/runner/reporters/json.js.map +1 -0
- package/dist/runner/reporters/shared.cjs +14 -0
- package/dist/runner/reporters/shared.cjs.map +1 -0
- package/dist/runner/reporters/shared.d.cts +3 -0
- package/dist/runner/reporters/shared.d.mts +3 -0
- package/dist/runner/reporters/shared.d.ts +3 -0
- package/dist/runner/reporters/shared.js +8 -0
- package/dist/runner/reporters/shared.js.map +1 -0
- package/dist/runner/reuse-diagnostics.cjs +71 -0
- package/dist/runner/reuse-diagnostics.cjs.map +1 -0
- package/dist/runner/reuse-diagnostics.d.cts +21 -0
- package/dist/runner/reuse-diagnostics.d.mts +21 -0
- package/dist/runner/reuse-diagnostics.d.ts +21 -0
- package/dist/runner/reuse-diagnostics.js +8 -0
- package/dist/runner/reuse-diagnostics.js.map +1 -0
- package/dist/runner/reuse-plan.cjs +739 -0
- package/dist/runner/reuse-plan.cjs.map +1 -0
- package/dist/runner/reuse-plan.d.cts +185 -0
- package/dist/runner/reuse-plan.d.mts +185 -0
- package/dist/runner/reuse-plan.d.ts +185 -0
- package/dist/runner/reuse-plan.js +26 -0
- package/dist/runner/reuse-plan.js.map +1 -0
- package/dist/runner/reuse-readback.cjs +275 -0
- package/dist/runner/reuse-readback.cjs.map +1 -0
- package/dist/runner/reuse-readback.d.cts +169 -0
- package/dist/runner/reuse-readback.d.mts +169 -0
- package/dist/runner/reuse-readback.d.ts +169 -0
- package/dist/runner/reuse-readback.js +20 -0
- package/dist/runner/reuse-readback.js.map +1 -0
- package/dist/runner/run.cjs +2362 -0
- package/dist/runner/run.cjs.map +1 -0
- package/dist/runner/run.d.cts +44 -0
- package/dist/runner/run.d.mts +44 -0
- package/dist/runner/run.d.ts +44 -0
- package/dist/runner/run.js +12 -0
- package/dist/runner/run.js.map +1 -0
- package/dist/runner/sandbox-pool.cjs +312 -0
- package/dist/runner/sandbox-pool.cjs.map +1 -0
- package/dist/runner/sandbox-pool.d.cts +70 -0
- package/dist/runner/sandbox-pool.d.mts +70 -0
- package/dist/runner/sandbox-pool.d.ts +70 -0
- package/dist/runner/sandbox-pool.js +6 -0
- package/dist/runner/sandbox-pool.js.map +1 -0
- package/dist/runner/sandbox-prep.cjs +57 -0
- package/dist/runner/sandbox-prep.cjs.map +1 -0
- package/dist/runner/sandbox-prep.d.cts +8 -0
- package/dist/runner/sandbox-prep.d.mts +8 -0
- package/dist/runner/sandbox-prep.d.ts +8 -0
- package/dist/runner/sandbox-prep.js +8 -0
- package/dist/runner/sandbox-prep.js.map +1 -0
- package/dist/runner/sandbox-record-producer.cjs +142 -0
- package/dist/runner/sandbox-record-producer.cjs.map +1 -0
- package/dist/runner/sandbox-record-producer.d.cts +30 -0
- package/dist/runner/sandbox-record-producer.d.mts +30 -0
- package/dist/runner/sandbox-record-producer.d.ts +30 -0
- package/dist/runner/sandbox-record-producer.js +6 -0
- package/dist/runner/sandbox-record-producer.js.map +1 -0
- package/dist/runner/sandbox-reuse.cjs +57 -0
- package/dist/runner/sandbox-reuse.cjs.map +1 -0
- package/dist/runner/sandbox-reuse.d.cts +43 -0
- package/dist/runner/sandbox-reuse.d.mts +43 -0
- package/dist/runner/sandbox-reuse.d.ts +43 -0
- package/dist/runner/sandbox-reuse.js +8 -0
- package/dist/runner/sandbox-reuse.js.map +1 -0
- package/dist/runner/sandbox-selection.cjs +362 -0
- package/dist/runner/sandbox-selection.cjs.map +1 -0
- package/dist/runner/sandbox-selection.d.cts +87 -0
- package/dist/runner/sandbox-selection.d.mts +87 -0
- package/dist/runner/sandbox-selection.d.ts +17 -6
- package/dist/runner/sandbox-selection.js +22 -0
- package/dist/runner/sandbox-selection.js.map +1 -0
- package/dist/runner/session.cjs +535 -0
- package/dist/runner/session.cjs.map +1 -0
- package/dist/runner/session.d.cts +116 -0
- package/dist/runner/session.d.mts +116 -0
- package/dist/runner/session.d.ts +44 -24
- package/dist/runner/session.js +28 -0
- package/dist/runner/session.js.map +1 -0
- package/dist/runner/source-closure.cjs +51 -0
- package/dist/runner/source-closure.cjs.map +1 -0
- package/dist/runner/source-closure.d.cts +6 -0
- package/dist/runner/source-closure.d.mts +6 -0
- package/dist/runner/source-closure.d.ts +6 -0
- package/dist/runner/source-closure.js +6 -0
- package/dist/runner/source-closure.js.map +1 -0
- package/dist/runner/source-producer.cjs +417 -0
- package/dist/runner/source-producer.cjs.map +1 -0
- package/dist/runner/source-producer.d.cts +70 -0
- package/dist/runner/source-producer.d.mts +70 -0
- package/dist/runner/source-producer.d.ts +70 -0
- package/dist/runner/source-producer.js +10 -0
- package/dist/runner/source-producer.js.map +1 -0
- package/dist/runner/teardown-registry.cjs +112 -0
- package/dist/runner/teardown-registry.cjs.map +1 -0
- package/dist/runner/teardown-registry.d.cts +35 -0
- package/dist/runner/teardown-registry.d.mts +35 -0
- package/dist/runner/teardown-registry.d.ts +35 -0
- package/dist/runner/teardown-registry.js +20 -0
- package/dist/runner/teardown-registry.js.map +1 -0
- package/dist/runner/timeout.cjs +31 -0
- package/dist/runner/timeout.cjs.map +1 -0
- package/dist/runner/timeout.d.cts +30 -0
- package/dist/runner/timeout.d.mts +30 -0
- package/dist/runner/timeout.d.ts +30 -0
- package/dist/runner/timeout.js +8 -0
- package/dist/runner/timeout.js.map +1 -0
- package/dist/runner/timing.cjs +279 -0
- package/dist/runner/timing.cjs.map +1 -0
- package/dist/runner/timing.d.cts +97 -0
- package/dist/runner/timing.d.mts +97 -0
- package/dist/runner/timing.d.ts +2 -2
- package/dist/runner/timing.js +26 -0
- package/dist/runner/timing.js.map +1 -0
- package/dist/runner/types.cjs +135 -0
- package/dist/runner/types.cjs.map +1 -0
- package/dist/runner/types.d.cts +1703 -0
- package/dist/runner/types.d.mts +1703 -0
- package/dist/runner/types.d.ts +214 -166
- package/dist/runner/types.js +32 -109
- package/dist/runner/types.js.map +1 -0
- package/dist/sample/analysis.cjs +1068 -0
- package/dist/sample/analysis.cjs.map +1 -0
- package/dist/sample/analysis.d.cts +153 -0
- package/dist/sample/analysis.d.mts +153 -0
- package/dist/sample/analysis.d.ts +153 -0
- package/dist/sample/analysis.js +30 -0
- package/dist/sample/analysis.js.map +1 -0
- package/dist/sample/index.cjs +16 -0
- package/dist/sample/index.cjs.map +1 -0
- package/dist/sample/index.d.cts +2 -0
- package/dist/sample/index.d.mts +2 -0
- package/dist/sample/index.d.ts +2 -102
- package/dist/sample/index.js +28 -386
- package/dist/sample/index.js.map +1 -0
- package/dist/sandbox/backend.cjs +116 -0
- package/dist/sandbox/backend.cjs.map +1 -0
- package/dist/sandbox/backend.d.cts +58 -0
- package/dist/sandbox/backend.d.mts +58 -0
- package/dist/sandbox/backend.d.ts +9 -3
- package/dist/sandbox/backend.js +26 -0
- package/dist/sandbox/backend.js.map +1 -0
- package/dist/sandbox/build-coordinator.cjs +309 -0
- package/dist/sandbox/build-coordinator.cjs.map +1 -0
- package/dist/sandbox/build-coordinator.d.cts +111 -0
- package/dist/sandbox/build-coordinator.d.mts +111 -0
- package/dist/sandbox/build-coordinator.d.ts +4 -4
- package/dist/sandbox/build-coordinator.js +12 -0
- package/dist/sandbox/build-coordinator.js.map +1 -0
- package/dist/sandbox/case-types.cjs +3 -0
- package/dist/sandbox/case-types.cjs.map +1 -0
- package/dist/sandbox/case-types.d.cts +55 -0
- package/dist/sandbox/case-types.d.mts +55 -0
- package/dist/sandbox/case-types.d.ts +3 -3
- package/dist/sandbox/case-types.js +4 -0
- package/dist/sandbox/case-types.js.map +1 -0
- package/dist/sandbox/checkpoint.cjs +65 -0
- package/dist/sandbox/checkpoint.cjs.map +1 -0
- package/dist/sandbox/checkpoint.d.cts +7 -0
- package/dist/sandbox/checkpoint.d.mts +7 -0
- package/dist/sandbox/checkpoint.d.ts +7 -0
- package/dist/sandbox/checkpoint.js +8 -0
- package/dist/sandbox/checkpoint.js.map +1 -0
- package/dist/sandbox/cli-commands.cjs +535 -0
- package/dist/sandbox/cli-commands.cjs.map +1 -0
- package/dist/sandbox/cli-commands.d.cts +41 -0
- package/dist/sandbox/cli-commands.d.mts +41 -0
- package/dist/sandbox/cli-commands.d.ts +41 -0
- package/dist/sandbox/cli-commands.js +14 -0
- package/dist/sandbox/cli-commands.js.map +1 -0
- package/dist/sandbox/commands.cjs +281 -0
- package/dist/sandbox/commands.cjs.map +1 -0
- package/dist/sandbox/commands.d.cts +141 -0
- package/dist/sandbox/commands.d.mts +141 -0
- package/dist/sandbox/commands.d.ts +64 -3
- package/dist/sandbox/commands.js +20 -0
- package/dist/sandbox/commands.js.map +1 -0
- package/dist/sandbox/compose.cjs +1293 -0
- package/dist/sandbox/compose.cjs.map +1 -0
- package/dist/sandbox/compose.d.cts +215 -0
- package/dist/sandbox/compose.d.mts +215 -0
- package/dist/sandbox/compose.d.ts +32 -16
- package/dist/sandbox/compose.js +38 -0
- package/dist/sandbox/compose.js.map +1 -0
- package/dist/sandbox/content.cjs +153 -0
- package/dist/sandbox/content.cjs.map +1 -0
- package/dist/sandbox/content.d.cts +35 -0
- package/dist/sandbox/content.d.mts +35 -0
- package/dist/sandbox/content.js +10 -0
- package/dist/sandbox/content.js.map +1 -0
- package/dist/sandbox/deadline.cjs +44 -0
- package/dist/sandbox/deadline.cjs.map +1 -0
- package/dist/sandbox/deadline.d.cts +45 -0
- package/dist/sandbox/deadline.d.mts +45 -0
- package/dist/sandbox/deadline.d.ts +2 -2
- package/dist/sandbox/deadline.js +10 -0
- package/dist/sandbox/deadline.js.map +1 -0
- package/dist/sandbox/dind-supervisor.cjs +124 -0
- package/dist/sandbox/dind-supervisor.cjs.map +1 -0
- package/dist/sandbox/dind-supervisor.d.cts +12 -0
- package/dist/sandbox/dind-supervisor.d.mts +12 -0
- package/dist/sandbox/dind-supervisor.d.ts +12 -0
- package/dist/sandbox/dind-supervisor.js +14 -0
- package/dist/sandbox/dind-supervisor.js.map +1 -0
- package/dist/sandbox/docker-agent-image.cjs +36 -0
- package/dist/sandbox/docker-agent-image.cjs.map +1 -0
- package/dist/sandbox/docker-agent-image.d.cts +22 -0
- package/dist/sandbox/docker-agent-image.d.mts +22 -0
- package/dist/sandbox/docker-agent-image.d.ts +22 -0
- package/dist/sandbox/docker-agent-image.js +20 -0
- package/dist/sandbox/docker-agent-image.js.map +1 -0
- package/dist/sandbox/docker-profile/cli.cjs +193 -0
- package/dist/sandbox/docker-profile/cli.cjs.map +1 -0
- package/dist/sandbox/docker-profile/cli.d.cts +12 -0
- package/dist/sandbox/docker-profile/cli.d.mts +12 -0
- package/dist/sandbox/docker-profile/cli.d.ts +12 -0
- package/dist/sandbox/docker-profile/cli.js +12 -0
- package/dist/sandbox/docker-profile/cli.js.map +1 -0
- package/dist/sandbox/docker-profile/errors.cjs +16 -0
- package/dist/sandbox/docker-profile/errors.cjs.map +1 -0
- package/dist/sandbox/docker-profile/errors.d.cts +25 -0
- package/dist/sandbox/docker-profile/errors.d.mts +25 -0
- package/dist/sandbox/docker-profile/errors.d.ts +25 -0
- package/dist/sandbox/docker-profile/errors.js +8 -0
- package/dist/sandbox/docker-profile/errors.js.map +1 -0
- package/dist/sandbox/docker-profile/registry.cjs +377 -0
- package/dist/sandbox/docker-profile/registry.cjs.map +1 -0
- package/dist/sandbox/docker-profile/registry.d.cts +43 -0
- package/dist/sandbox/docker-profile/registry.d.mts +43 -0
- package/dist/sandbox/docker-profile/registry.d.ts +43 -0
- package/dist/sandbox/docker-profile/registry.js +18 -0
- package/dist/sandbox/docker-profile/registry.js.map +1 -0
- package/dist/sandbox/docker-profile/runtime.cjs +198 -0
- package/dist/sandbox/docker-profile/runtime.cjs.map +1 -0
- package/dist/sandbox/docker-profile/runtime.d.cts +36 -0
- package/dist/sandbox/docker-profile/runtime.d.mts +36 -0
- package/dist/sandbox/docker-profile/runtime.d.ts +36 -0
- package/dist/sandbox/docker-profile/runtime.js +20 -0
- package/dist/sandbox/docker-profile/runtime.js.map +1 -0
- package/dist/sandbox/docker-profile/schema.cjs +650 -0
- package/dist/sandbox/docker-profile/schema.cjs.map +1 -0
- package/dist/sandbox/docker-profile/schema.d.cts +129 -0
- package/dist/sandbox/docker-profile/schema.d.mts +129 -0
- package/dist/sandbox/docker-profile/schema.d.ts +129 -0
- package/dist/sandbox/docker-profile/schema.js +38 -0
- package/dist/sandbox/docker-profile/schema.js.map +1 -0
- package/dist/sandbox/docker-stream.cjs +153 -0
- package/dist/sandbox/docker-stream.cjs.map +1 -0
- package/dist/sandbox/docker-stream.d.cts +33 -0
- package/dist/sandbox/docker-stream.d.mts +33 -0
- package/dist/sandbox/docker-stream.js +14 -0
- package/dist/sandbox/docker-stream.js.map +1 -0
- package/dist/sandbox/docker.cjs +1161 -0
- package/dist/sandbox/docker.cjs.map +1 -0
- package/dist/sandbox/docker.d.cts +288 -0
- package/dist/sandbox/docker.d.mts +288 -0
- package/dist/sandbox/docker.d.ts +84 -12
- package/dist/sandbox/docker.js +20 -0
- package/dist/sandbox/docker.js.map +1 -0
- package/dist/sandbox/dockerfile-agent-cache.cjs +104 -0
- package/dist/sandbox/dockerfile-agent-cache.cjs.map +1 -0
- package/dist/sandbox/dockerfile-agent-cache.d.cts +45 -0
- package/dist/sandbox/dockerfile-agent-cache.d.mts +45 -0
- package/dist/sandbox/dockerfile-agent-cache.d.ts +8 -7
- package/dist/sandbox/dockerfile-agent-cache.js +14 -0
- package/dist/sandbox/dockerfile-agent-cache.js.map +1 -0
- package/dist/sandbox/dockerfile-build.cjs +256 -0
- package/dist/sandbox/dockerfile-build.cjs.map +1 -0
- package/dist/sandbox/dockerfile-build.d.cts +59 -0
- package/dist/sandbox/dockerfile-build.d.mts +59 -0
- package/dist/sandbox/dockerfile-build.d.ts +21 -8
- package/dist/sandbox/dockerfile-build.js +16 -0
- package/dist/sandbox/dockerfile-build.js.map +1 -0
- package/dist/sandbox/dockerfile-identity.cjs +124 -0
- package/dist/sandbox/dockerfile-identity.cjs.map +1 -0
- package/dist/sandbox/dockerfile-identity.d.cts +37 -0
- package/dist/sandbox/dockerfile-identity.d.mts +37 -0
- package/dist/sandbox/dockerfile-identity.d.ts +13 -3
- package/dist/sandbox/dockerfile-identity.js +12 -0
- package/dist/sandbox/dockerfile-identity.js.map +1 -0
- package/dist/sandbox/download-directory.cjs +26 -0
- package/dist/sandbox/download-directory.cjs.map +1 -0
- package/dist/sandbox/download-directory.d.cts +9 -0
- package/dist/sandbox/download-directory.d.mts +9 -0
- package/dist/sandbox/download-directory.d.ts +1 -1
- package/dist/sandbox/download-directory.js +6 -0
- package/dist/sandbox/download-directory.js.map +1 -0
- package/dist/sandbox/e2b-agent-template.cjs +140 -0
- package/dist/sandbox/e2b-agent-template.cjs.map +1 -0
- package/dist/sandbox/e2b-agent-template.d.cts +65 -0
- package/dist/sandbox/e2b-agent-template.d.mts +65 -0
- package/dist/sandbox/e2b-agent-template.d.ts +65 -0
- package/dist/sandbox/e2b-agent-template.js +24 -0
- package/dist/sandbox/e2b-agent-template.js.map +1 -0
- package/dist/sandbox/e2b-agent-template.mjs +24 -0
- package/dist/sandbox/e2b-agent-template.mjs.map +1 -0
- package/dist/sandbox/e2b.cjs +664 -0
- package/dist/sandbox/e2b.cjs.map +1 -0
- package/dist/sandbox/e2b.d.cts +124 -0
- package/dist/sandbox/e2b.d.mts +124 -0
- package/dist/sandbox/e2b.d.ts +9 -9
- package/dist/sandbox/e2b.js +10 -0
- package/dist/sandbox/e2b.js.map +1 -0
- package/dist/sandbox/errors.cjs +191 -0
- package/dist/sandbox/errors.cjs.map +1 -0
- package/dist/sandbox/errors.d.cts +60 -0
- package/dist/sandbox/errors.d.mts +60 -0
- package/dist/sandbox/errors.d.ts +1 -1
- package/dist/sandbox/errors.js +20 -0
- package/dist/sandbox/errors.js.map +1 -0
- package/dist/sandbox/identity.cjs +140 -0
- package/dist/sandbox/identity.cjs.map +1 -0
- package/dist/sandbox/identity.d.cts +97 -0
- package/dist/sandbox/identity.d.mts +97 -0
- package/dist/sandbox/identity.d.ts +1 -1
- package/dist/sandbox/identity.js +26 -0
- package/dist/sandbox/identity.js.map +1 -0
- package/dist/sandbox/index.cjs +93 -0
- package/dist/sandbox/index.cjs.map +1 -0
- package/dist/sandbox/index.d.cts +28 -0
- package/dist/sandbox/index.d.mts +28 -0
- package/dist/sandbox/index.d.ts +28 -0
- package/dist/sandbox/index.js +144 -0
- package/dist/sandbox/index.js.map +1 -0
- package/dist/sandbox/index.mjs +144 -0
- package/dist/sandbox/index.mjs.map +1 -0
- package/dist/sandbox/io-retry.cjs +29 -0
- package/dist/sandbox/io-retry.cjs.map +1 -0
- package/dist/sandbox/io-retry.d.cts +17 -0
- package/dist/sandbox/io-retry.d.mts +17 -0
- package/dist/sandbox/io-retry.d.ts +1 -1
- package/dist/sandbox/io-retry.js +6 -0
- package/dist/sandbox/io-retry.js.map +1 -0
- package/dist/sandbox/keep-registry.cjs +269 -0
- package/dist/sandbox/keep-registry.cjs.map +1 -0
- package/dist/sandbox/keep-registry.d.cts +78 -0
- package/dist/sandbox/keep-registry.d.mts +78 -0
- package/dist/sandbox/keep-registry.d.ts +78 -0
- package/dist/sandbox/keep-registry.js +26 -0
- package/dist/sandbox/keep-registry.js.map +1 -0
- package/dist/sandbox/keep.cjs +448 -0
- package/dist/sandbox/keep.cjs.map +1 -0
- package/dist/sandbox/keep.d.cts +64 -0
- package/dist/sandbox/keep.d.mts +64 -0
- package/dist/sandbox/keep.d.ts +64 -0
- package/dist/sandbox/keep.js +28 -0
- package/dist/sandbox/keep.js.map +1 -0
- package/dist/sandbox/layer.cjs +1639 -0
- package/dist/sandbox/layer.cjs.map +1 -0
- package/dist/sandbox/layer.d.cts +565 -0
- package/dist/sandbox/layer.d.mts +565 -0
- package/dist/sandbox/layer.d.ts +179 -32
- package/dist/sandbox/layer.js +42 -0
- package/dist/sandbox/layer.js.map +1 -0
- package/dist/sandbox/ledger-paths.cjs +22 -0
- package/dist/sandbox/ledger-paths.cjs.map +1 -0
- package/dist/sandbox/ledger-paths.d.cts +14 -0
- package/dist/sandbox/ledger-paths.d.mts +14 -0
- package/dist/sandbox/ledger-paths.js +12 -0
- package/dist/sandbox/ledger-paths.js.map +1 -0
- package/dist/sandbox/link.cjs +395 -0
- package/dist/sandbox/link.cjs.map +1 -0
- package/dist/sandbox/link.d.cts +160 -0
- package/dist/sandbox/link.d.mts +160 -0
- package/dist/sandbox/link.d.ts +25 -8
- package/dist/sandbox/link.js +18 -0
- package/dist/sandbox/link.js.map +1 -0
- package/dist/sandbox/local-files.cjs +31 -0
- package/dist/sandbox/local-files.cjs.map +1 -0
- package/dist/sandbox/local-files.d.cts +6 -0
- package/dist/sandbox/local-files.d.mts +6 -0
- package/dist/sandbox/local-files.js +6 -0
- package/dist/sandbox/local-files.js.map +1 -0
- package/dist/sandbox/local.cjs +297 -0
- package/dist/sandbox/local.cjs.map +1 -0
- package/dist/sandbox/local.d.cts +78 -0
- package/dist/sandbox/local.d.mts +78 -0
- package/dist/sandbox/local.d.ts +7 -7
- package/dist/sandbox/local.js +6 -0
- package/dist/sandbox/local.js.map +1 -0
- package/dist/sandbox/operations.cjs +160 -0
- package/dist/sandbox/operations.cjs.map +1 -0
- package/dist/sandbox/operations.d.cts +10 -0
- package/dist/sandbox/operations.d.mts +10 -0
- package/dist/sandbox/operations.d.ts +2 -2
- package/dist/sandbox/operations.js +10 -0
- package/dist/sandbox/operations.js.map +1 -0
- package/dist/sandbox/orphans.cjs +199 -0
- package/dist/sandbox/orphans.cjs.map +1 -0
- package/dist/sandbox/orphans.d.cts +45 -0
- package/dist/sandbox/orphans.d.mts +45 -0
- package/dist/sandbox/orphans.d.ts +45 -0
- package/dist/sandbox/orphans.js +10 -0
- package/dist/sandbox/orphans.js.map +1 -0
- package/dist/sandbox/paths.cjs +102 -0
- package/dist/sandbox/paths.cjs.map +1 -0
- package/dist/sandbox/paths.d.cts +11 -0
- package/dist/sandbox/paths.d.mts +11 -0
- package/dist/sandbox/paths.d.ts +2 -2
- package/dist/sandbox/paths.js +12 -0
- package/dist/sandbox/paths.js.map +1 -0
- package/dist/sandbox/plan.cjs +223 -0
- package/dist/sandbox/plan.cjs.map +1 -0
- package/dist/sandbox/plan.d.cts +88 -0
- package/dist/sandbox/plan.d.mts +88 -0
- package/dist/sandbox/plan.d.ts +4 -3
- package/dist/sandbox/plan.js +20 -0
- package/dist/sandbox/plan.js.map +1 -0
- package/dist/sandbox/prepare-commands.cjs +280 -0
- package/dist/sandbox/prepare-commands.cjs.map +1 -0
- package/dist/sandbox/prepare-commands.d.cts +29 -0
- package/dist/sandbox/prepare-commands.d.mts +29 -0
- package/dist/sandbox/prepare-commands.d.ts +29 -0
- package/dist/sandbox/prepare-commands.js +8 -0
- package/dist/sandbox/prepare-commands.js.map +1 -0
- package/dist/sandbox/record/attachment.cjs +72 -0
- package/dist/sandbox/record/attachment.cjs.map +1 -0
- package/dist/sandbox/record/attachment.d.cts +30 -0
- package/dist/sandbox/record/attachment.d.mts +30 -0
- package/dist/sandbox/record/attachment.d.ts +30 -0
- package/dist/sandbox/record/attachment.js +10 -0
- package/dist/sandbox/record/attachment.js.map +1 -0
- package/dist/sandbox/record/codec.cjs +36 -0
- package/dist/sandbox/record/codec.cjs.map +1 -0
- package/dist/sandbox/record/codec.d.cts +30 -0
- package/dist/sandbox/record/codec.d.mts +30 -0
- package/dist/sandbox/record/codec.d.ts +30 -0
- package/dist/sandbox/record/codec.js +10 -0
- package/dist/sandbox/record/codec.js.map +1 -0
- package/dist/sandbox/record/model.cjs +20 -0
- package/dist/sandbox/record/model.cjs.map +1 -0
- package/dist/sandbox/record/model.d.cts +33 -0
- package/dist/sandbox/record/model.d.mts +33 -0
- package/dist/sandbox/record/model.d.ts +33 -0
- package/dist/sandbox/record/model.js +10 -0
- package/dist/sandbox/record/model.js.map +1 -0
- package/dist/sandbox/record/projector.cjs +29 -0
- package/dist/sandbox/record/projector.cjs.map +1 -0
- package/dist/sandbox/record/projector.d.cts +18 -0
- package/dist/sandbox/record/projector.d.mts +18 -0
- package/dist/sandbox/record/projector.d.ts +18 -0
- package/dist/sandbox/record/projector.js +6 -0
- package/dist/sandbox/record/projector.js.map +1 -0
- package/dist/sandbox/redaction.cjs +59 -0
- package/dist/sandbox/redaction.cjs.map +1 -0
- package/dist/sandbox/redaction.d.cts +19 -0
- package/dist/sandbox/redaction.d.mts +19 -0
- package/dist/sandbox/redaction.js +14 -0
- package/dist/sandbox/redaction.js.map +1 -0
- package/dist/sandbox/registry.cjs +76 -0
- package/dist/sandbox/registry.cjs.map +1 -0
- package/dist/sandbox/registry.d.cts +16 -0
- package/dist/sandbox/registry.d.mts +16 -0
- package/dist/sandbox/registry.d.ts +4 -3
- package/dist/sandbox/registry.js +14 -0
- package/dist/sandbox/registry.js.map +1 -0
- package/dist/sandbox/retry.cjs +82 -0
- package/dist/sandbox/retry.cjs.map +1 -0
- package/dist/sandbox/retry.d.cts +20 -0
- package/dist/sandbox/retry.d.mts +20 -0
- package/dist/sandbox/retry.d.ts +2 -2
- package/dist/sandbox/retry.js +6 -0
- package/dist/sandbox/retry.js.map +1 -0
- package/dist/sandbox/run-identity.cjs +109 -0
- package/dist/sandbox/run-identity.cjs.map +1 -0
- package/dist/sandbox/run-identity.d.cts +38 -0
- package/dist/sandbox/run-identity.d.mts +38 -0
- package/dist/sandbox/run-identity.js +36 -0
- package/dist/sandbox/run-identity.js.map +1 -0
- package/dist/sandbox/runtime.cjs +873 -0
- package/dist/sandbox/runtime.cjs.map +1 -0
- package/dist/sandbox/runtime.d.cts +116 -0
- package/dist/sandbox/runtime.d.mts +116 -0
- package/dist/sandbox/runtime.d.ts +16 -16
- package/dist/sandbox/runtime.js +40 -0
- package/dist/sandbox/runtime.js.map +1 -0
- package/dist/sandbox/shell.cjs +22 -0
- package/dist/sandbox/shell.cjs.map +1 -0
- package/dist/sandbox/shell.d.cts +11 -0
- package/dist/sandbox/shell.d.mts +11 -0
- package/dist/sandbox/shell.js +8 -0
- package/dist/sandbox/shell.js.map +1 -0
- package/dist/sandbox/transfer-errors.cjs +116 -0
- package/dist/sandbox/transfer-errors.cjs.map +1 -0
- package/dist/sandbox/transfer-errors.d.cts +25 -0
- package/dist/sandbox/transfer-errors.d.mts +25 -0
- package/dist/sandbox/transfer-errors.js +14 -0
- package/dist/sandbox/transfer-errors.js.map +1 -0
- package/dist/sandbox/types.cjs +3 -0
- package/dist/sandbox/types.cjs.map +1 -0
- package/dist/sandbox/types.d.cts +177 -0
- package/dist/sandbox/types.d.mts +177 -0
- package/dist/sandbox/types.d.ts +15 -10
- package/dist/sandbox/types.js +4 -3
- package/dist/sandbox/types.js.map +1 -0
- package/dist/sandbox/vercel.cjs +335 -0
- package/dist/sandbox/vercel.cjs.map +1 -0
- package/dist/sandbox/vercel.d.cts +97 -0
- package/dist/sandbox/vercel.d.mts +97 -0
- package/dist/sandbox/vercel.d.ts +9 -9
- package/dist/sandbox/vercel.js +8 -0
- package/dist/sandbox/vercel.js.map +1 -0
- package/dist/shared/aggregate.cjs +97 -0
- package/dist/shared/aggregate.cjs.map +1 -0
- package/dist/shared/aggregate.d.cts +45 -0
- package/dist/shared/aggregate.d.mts +45 -0
- package/dist/shared/aggregate.d.ts +4 -4
- package/dist/shared/aggregate.js +24 -87
- package/dist/shared/aggregate.js.map +1 -0
- package/dist/shared/entry-file-store.cjs +126 -0
- package/dist/shared/entry-file-store.cjs.map +1 -0
- package/dist/shared/entry-file-store.d.cts +46 -0
- package/dist/shared/entry-file-store.d.mts +46 -0
- package/dist/shared/entry-file-store.d.ts +9 -6
- package/dist/shared/entry-file-store.js +18 -0
- package/dist/shared/entry-file-store.js.map +1 -0
- package/dist/shared/external-cause.cjs +278 -0
- package/dist/shared/external-cause.cjs.map +1 -0
- package/dist/shared/external-cause.d.cts +51 -0
- package/dist/shared/external-cause.d.mts +51 -0
- package/dist/shared/external-cause.d.ts +1 -1
- package/dist/shared/external-cause.js +12 -0
- package/dist/shared/external-cause.js.map +1 -0
- package/dist/shared/facts.cjs +24 -0
- package/dist/shared/facts.cjs.map +1 -0
- package/dist/shared/facts.d.cts +7 -0
- package/dist/shared/facts.d.mts +7 -0
- package/dist/shared/facts.d.ts +7 -0
- package/dist/shared/facts.js +6 -0
- package/dist/shared/facts.js.map +1 -0
- package/dist/shared/failure-class.cjs +166 -0
- package/dist/shared/failure-class.cjs.map +1 -0
- package/dist/shared/failure-class.d.cts +92 -0
- package/dist/shared/failure-class.d.mts +92 -0
- package/dist/shared/failure-class.d.ts +2 -2
- package/dist/shared/failure-class.js +20 -0
- package/dist/shared/failure-class.js.map +1 -0
- package/dist/shared/format.cjs +36 -0
- package/dist/shared/format.cjs.map +1 -0
- package/dist/shared/format.d.cts +3 -0
- package/dist/shared/format.d.mts +3 -0
- package/dist/shared/format.d.ts +3 -0
- package/dist/shared/format.js +10 -0
- package/dist/shared/format.js.map +1 -0
- package/dist/shared/json-match.cjs +44 -0
- package/dist/shared/json-match.cjs.map +1 -0
- package/dist/shared/json-match.d.cts +3 -0
- package/dist/shared/json-match.d.mts +3 -0
- package/dist/shared/json-match.d.ts +3 -0
- package/dist/shared/json-match.js +6 -0
- package/dist/shared/json-match.js.map +1 -0
- package/dist/shared/json-value.cjs +45 -0
- package/dist/shared/json-value.cjs.map +1 -0
- package/dist/shared/json-value.d.cts +11 -0
- package/dist/shared/json-value.d.mts +11 -0
- package/dist/shared/json-value.d.ts +11 -0
- package/dist/shared/json-value.js +8 -0
- package/dist/shared/json-value.js.map +1 -0
- package/dist/shared/turn-label.cjs +19 -0
- package/dist/shared/turn-label.cjs.map +1 -0
- package/dist/shared/turn-label.d.cts +9 -0
- package/dist/shared/turn-label.d.mts +9 -0
- package/dist/shared/turn-label.js +8 -14
- package/dist/shared/turn-label.js.map +1 -0
- package/dist/shared/types.cjs +3 -0
- package/dist/shared/types.cjs.map +1 -0
- package/dist/shared/types.d.cts +80 -0
- package/dist/shared/types.d.mts +80 -0
- package/dist/shared/types.d.ts +0 -2
- package/dist/shared/types.js +4 -4
- package/dist/shared/types.js.map +1 -0
- package/dist/shared/verdict.cjs +70 -0
- package/dist/shared/verdict.cjs.map +1 -0
- package/dist/shared/verdict.d.cts +36 -0
- package/dist/shared/verdict.d.mts +36 -0
- package/dist/shared/verdict.d.ts +21 -32
- package/dist/shared/verdict.js +14 -53
- package/dist/shared/verdict.js.map +1 -0
- package/dist/show/command.cjs +20 -0
- package/dist/show/command.cjs.map +1 -0
- package/dist/show/command.d.cts +13 -0
- package/dist/show/command.d.mts +13 -0
- package/dist/show/command.d.ts +13 -0
- package/dist/show/command.js +6 -0
- package/dist/show/command.js.map +1 -0
- package/dist/show/json.cjs +8 -0
- package/dist/show/json.cjs.map +1 -0
- package/dist/show/json.d.cts +2 -0
- package/dist/show/json.d.mts +2 -0
- package/dist/show/json.d.ts +2 -0
- package/dist/show/json.js +8 -0
- package/dist/show/json.js.map +1 -0
- package/dist/show/render.cjs +7 -0
- package/dist/show/render.cjs.map +1 -0
- package/dist/show/render.d.cts +2 -0
- package/dist/show/render.d.mts +2 -0
- package/dist/show/render.d.ts +2 -0
- package/dist/show/render.js +6 -0
- package/dist/show/render.js.map +1 -0
- package/dist/source-loc.cjs +137 -0
- package/dist/source-loc.cjs.map +1 -0
- package/dist/source-loc.d.cts +22 -0
- package/dist/source-loc.d.mts +22 -0
- package/dist/source-loc.d.ts +22 -0
- package/dist/source-loc.js +10 -0
- package/dist/source-loc.js.map +1 -0
- package/dist/sources/assemble.cjs +634 -0
- package/dist/sources/assemble.cjs.map +1 -0
- package/dist/sources/assemble.d.cts +6 -0
- package/dist/sources/assemble.d.mts +6 -0
- package/dist/sources/assemble.d.ts +6 -0
- package/dist/sources/assemble.js +6 -0
- package/dist/sources/assemble.js.map +1 -0
- package/dist/sources/attachment.cjs +272 -0
- package/dist/sources/attachment.cjs.map +1 -0
- package/dist/sources/attachment.d.cts +331 -0
- package/dist/sources/attachment.d.mts +331 -0
- package/dist/sources/attachment.d.ts +331 -0
- package/dist/sources/attachment.js +22 -0
- package/dist/sources/attachment.js.map +1 -0
- package/dist/sources/codec.cjs +220 -0
- package/dist/sources/codec.cjs.map +1 -0
- package/dist/sources/codec.d.cts +408 -0
- package/dist/sources/codec.d.mts +408 -0
- package/dist/sources/codec.d.ts +408 -0
- package/dist/sources/codec.js +56 -0
- package/dist/sources/codec.js.map +1 -0
- package/dist/sources/identity.cjs +10 -0
- package/dist/sources/identity.cjs.map +1 -0
- package/dist/sources/identity.d.cts +10 -0
- package/dist/sources/identity.d.mts +10 -0
- package/dist/sources/identity.d.ts +10 -0
- package/dist/sources/identity.js +10 -0
- package/dist/sources/identity.js.map +1 -0
- package/dist/sources/index.cjs +24 -0
- package/dist/sources/index.cjs.map +1 -0
- package/dist/sources/index.d.cts +7 -0
- package/dist/sources/index.d.mts +7 -0
- package/dist/sources/index.d.ts +7 -0
- package/dist/sources/index.js +90 -0
- package/dist/sources/index.js.map +1 -0
- package/dist/sources/model.cjs +6 -0
- package/dist/sources/model.cjs.map +1 -0
- package/dist/sources/model.d.cts +92 -0
- package/dist/sources/model.d.mts +92 -0
- package/dist/sources/model.d.ts +92 -0
- package/dist/sources/model.js +6 -0
- package/dist/sources/model.js.map +1 -0
- package/dist/sources/projection-model.cjs +3 -0
- package/dist/sources/projection-model.cjs.map +1 -0
- package/dist/sources/projection-model.d.cts +327 -0
- package/dist/sources/projection-model.d.mts +327 -0
- package/dist/sources/projection-model.d.ts +327 -0
- package/dist/sources/projection-model.js +4 -0
- package/dist/sources/projection-model.js.map +1 -0
- package/dist/sources/projector.cjs +282 -0
- package/dist/sources/projector.cjs.map +1 -0
- package/dist/sources/projector.d.cts +8 -0
- package/dist/sources/projector.d.mts +8 -0
- package/dist/sources/projector.d.ts +8 -0
- package/dist/sources/projector.js +10 -0
- package/dist/sources/projector.js.map +1 -0
- package/dist/tty-line.cjs +17 -0
- package/dist/tty-line.cjs.map +1 -0
- package/dist/tty-line.d.cts +2 -0
- package/dist/tty-line.d.mts +2 -0
- package/dist/tty-line.js +6 -0
- package/dist/tty-line.js.map +1 -0
- package/dist/types.cjs +38 -0
- package/dist/types.cjs.map +1 -0
- package/dist/types.d.cts +9 -0
- package/dist/types.d.mts +9 -0
- package/dist/types.d.ts +9 -9
- package/dist/types.js +32 -21
- package/dist/types.js.map +1 -0
- package/dist/util.cjs +193 -0
- package/dist/util.cjs.map +1 -0
- package/dist/util.d.cts +46 -0
- package/dist/util.d.mts +46 -0
- package/dist/util.js +22 -132
- package/dist/util.js.map +1 -0
- package/dist/vendor/remark/remark-gfm.cjs +3484 -0
- package/dist/vendor/remark/remark-gfm.cjs.map +7 -0
- package/dist/vendor/remark/remark-parse.cjs +6975 -0
- package/dist/vendor/remark/remark-parse.cjs.map +7 -0
- package/dist/vendor/remark/remark.cjs +10151 -0
- package/dist/vendor/remark/remark.cjs.map +7 -0
- package/dist/view/data.cjs +3 -0
- package/dist/view/data.cjs.map +1 -0
- package/dist/view/data.d.cts +8 -0
- package/dist/view/data.d.mts +8 -0
- package/dist/view/data.d.ts +8 -0
- package/dist/view/data.js +4 -0
- package/dist/view/data.js.map +1 -0
- package/dist/view/index.cjs +25 -0
- package/dist/view/index.cjs.map +1 -0
- package/dist/view/index.d.cts +9 -0
- package/dist/view/index.d.mts +9 -0
- package/dist/view/index.d.ts +9 -0
- package/dist/view/index.js +30 -0
- package/dist/view/index.js.map +1 -0
- package/dist/view/server.cjs +658 -0
- package/dist/view/server.cjs.map +1 -0
- package/dist/view/server.d.cts +49 -0
- package/dist/view/server.d.mts +49 -0
- package/dist/view/server.d.ts +49 -0
- package/dist/view/server.js +6 -0
- package/dist/view/server.js.map +1 -0
- package/dist/view/shared/types.cjs +3 -0
- package/dist/view/shared/types.cjs.map +1 -0
- package/dist/view/shared/types.d.cts +51 -0
- package/dist/view/shared/types.d.mts +51 -0
- package/dist/view/shared/types.d.ts +51 -0
- package/dist/view/shared/types.js +4 -0
- package/dist/view/shared/types.js.map +1 -0
- package/dist/view/site.cjs +40 -0
- package/dist/view/site.cjs.map +1 -0
- package/dist/view/site.d.cts +26 -0
- package/dist/view/site.d.mts +26 -0
- package/dist/view/site.d.ts +26 -0
- package/dist/view/site.js +10 -0
- package/dist/view/site.js.map +1 -0
- package/dist/view/styles.css +170 -0
- package/docs-site/zh/README.md +6 -6
- package/docs-site/zh/examples/ai-agent-application.mdx +3 -3
- package/docs-site/zh/examples/coding-agent-extensions.mdx +3 -3
- package/docs-site/zh/examples/index.mdx +10 -3
- package/docs-site/zh/examples/integrations/ai-sdk-v7.mdx +10 -9
- package/docs-site/zh/examples/integrations/claude-sdk.mdx +11 -9
- package/docs-site/zh/examples/integrations/codex-sdk.mdx +14 -13
- package/docs-site/zh/examples/integrations/langgraph.mdx +13 -11
- package/docs-site/zh/examples/integrations/pi-sdk.mdx +11 -9
- package/docs-site/zh/explanation/adapter.mdx +27 -27
- package/docs-site/zh/explanation/assert.mdx +51 -198
- package/docs-site/zh/explanation/drive.mdx +14 -12
- package/docs-site/zh/explanation/evals.mdx +16 -12
- package/docs-site/zh/explanation/experiment.mdx +7 -3
- package/docs-site/zh/explanation/hitl.mdx +7 -7
- package/docs-site/zh/explanation/judge.mdx +67 -96
- package/docs-site/zh/explanation/overview.mdx +59 -100
- package/docs-site/zh/explanation/record.mdx +60 -0
- package/docs-site/zh/explanation/runner.mdx +47 -123
- package/docs-site/zh/explanation/tier.mdx +2 -2
- package/docs-site/zh/index.mdx +15 -13
- package/docs-site/zh/introduction.mdx +15 -13
- package/docs-site/zh/reference/builtin-agents.mdx +60 -37
- package/docs-site/zh/reference/capabilities.mdx +7 -7
- package/docs-site/zh/reference/cli.mdx +146 -80
- package/docs-site/zh/reference/define-agent.mdx +29 -20
- package/docs-site/zh/reference/define-config.mdx +6 -15
- package/docs-site/zh/reference/define-eval.mdx +78 -326
- package/docs-site/zh/reference/events.mdx +70 -21
- package/docs-site/zh/reference/expect.mdx +148 -117
- package/docs-site/zh/reference/official-adapters.mdx +33 -22
- package/docs-site/zh/reference/report-components.mdx +78 -362
- package/docs-site/zh/reference/results-data.mdx +53 -270
- package/docs-site/zh/troubleshooting/debug-sandbox.mdx +8 -6
- package/docs-site/zh/troubleshooting/debugging.mdx +48 -218
- package/docs-site/zh/troubleshooting/recover-after-kill.mdx +3 -3
- package/docs-site/zh/tutorials/agent-feedback-loop.mdx +48 -290
- package/docs-site/zh/tutorials/agent-onboarding.mdx +22 -20
- package/docs-site/zh/tutorials/authoring.mdx +9 -9
- package/docs-site/zh/tutorials/ci-integration.mdx +40 -117
- package/docs-site/zh/tutorials/concurrency.mdx +44 -56
- package/docs-site/zh/tutorials/configuration.mdx +10 -14
- package/docs-site/zh/tutorials/connect-otel.mdx +21 -21
- package/docs-site/zh/tutorials/connect-your-agent.mdx +29 -24
- package/docs-site/zh/tutorials/criteria-files.mdx +2 -2
- package/docs-site/zh/tutorials/custom-reports.mdx +69 -343
- package/docs-site/zh/tutorials/dataset-fanout.mdx +1 -1
- package/docs-site/zh/tutorials/deploy-report-site.mdx +34 -136
- package/docs-site/zh/tutorials/docker-in-docker.mdx +295 -0
- package/docs-site/zh/tutorials/eval-groups.mdx +207 -0
- package/docs-site/zh/tutorials/evaluation-kinds.mdx +67 -103
- package/docs-site/zh/tutorials/experiments.mdx +4 -4
- package/docs-site/zh/tutorials/fixtures.mdx +3 -3
- package/docs-site/zh/tutorials/handle-execution-failures.mdx +114 -0
- package/docs-site/zh/tutorials/install-custom-sandbox-agent.mdx +102 -0
- package/docs-site/zh/tutorials/plugins.mdx +110 -0
- package/docs-site/zh/tutorials/publish-report.mdx +40 -121
- package/docs-site/zh/tutorials/quickstart.mdx +15 -9
- package/docs-site/zh/tutorials/reporters.mdx +40 -90
- package/docs-site/zh/tutorials/rerun-and-cache.mdx +44 -225
- package/docs-site/zh/tutorials/sandbox-agent.mdx +47 -40
- package/docs-site/zh/tutorials/sandbox-providers.mdx +49 -39
- package/docs-site/zh/tutorials/sandbox-reuse.mdx +37 -15
- package/docs-site/zh/tutorials/theming.mdx +21 -156
- package/docs-site/zh/tutorials/viewing-results.mdx +73 -666
- package/docs-site/zh/tutorials/write-experiment.mdx +22 -21
- package/docs-site/zh/tutorials/write-send.mdx +38 -35
- package/package.json +127 -65
- package/dist/context/deferred-file-content.d.ts +0 -15
- package/dist/i18n/zh-CN.d.ts +0 -367
- package/dist/i18n/zh-CN.js +0 -458
- package/dist/record/annotated-source.d.ts +0 -126
- package/dist/record/annotated-source.js +0 -511
- package/dist/record/attempt-evidence.d.ts +0 -84
- package/dist/record/attempt-evidence.js +0 -108
- package/dist/record/attempt-source.d.ts +0 -4
- package/dist/record/attempt-source.js +0 -28
- package/dist/record/format.d.ts +0 -39
- package/dist/record/format.js +0 -75
- package/dist/record/open.d.ts +0 -62
- package/dist/record/open.js +0 -683
- package/dist/record/types.d.ts +0 -297
- package/dist/record/types.js +0 -9
- package/dist/report/assets/colors.d.ts +0 -22
- package/dist/report/assets/colors.js +0 -61
- package/dist/report/assets/series-encoding.d.ts +0 -36
- package/dist/report/assets/series-encoding.js +0 -104
- package/dist/report/built-in/failures.d.ts +0 -1
- package/dist/report/built-in/failures.js +0 -18
- package/dist/report/built-in/result-components.d.ts +0 -10
- package/dist/report/built-in/result-components.js +0 -199
- package/dist/report/built-in/stability.d.ts +0 -1
- package/dist/report/built-in/stability.js +0 -20
- package/dist/report/built-in/standard.d.ts +0 -50
- package/dist/report/built-in/standard.js +0 -93
- package/dist/report/components/attempt-detail/compute.d.ts +0 -51
- package/dist/report/components/attempt-detail/compute.js +0 -512
- package/dist/report/components/attempt-detail/content.d.ts +0 -28
- package/dist/report/components/attempt-detail/content.js +0 -575
- package/dist/report/components/attempt-detail/index.d.ts +0 -15
- package/dist/report/components/attempt-detail/index.js +0 -154
- package/dist/report/components/attempt-detail/validate.d.ts +0 -11
- package/dist/report/components/attempt-detail/validate.js +0 -417
- package/dist/report/components/cell.d.ts +0 -12
- package/dist/report/components/cell.js +0 -10
- package/dist/report/components/entity-lists/compute.d.ts +0 -35
- package/dist/report/components/entity-lists/compute.js +0 -333
- package/dist/report/components/entity-lists/content.d.ts +0 -7
- package/dist/report/components/entity-lists/content.js +0 -483
- package/dist/report/components/entity-lists/index.d.ts +0 -48
- package/dist/report/components/entity-lists/index.js +0 -81
- package/dist/report/components/entity-lists/validate.d.ts +0 -4
- package/dist/report/components/entity-lists/validate.js +0 -155
- package/dist/report/components/experiment-detail/compute.d.ts +0 -7
- package/dist/report/components/experiment-detail/compute.js +0 -32
- package/dist/report/components/experiment-detail/index.d.ts +0 -9
- package/dist/report/components/experiment-detail/index.js +0 -41
- package/dist/report/components/fixtures.d.ts +0 -10
- package/dist/report/components/fixtures.js +0 -341
- package/dist/report/components/shared-compute.d.ts +0 -23
- package/dist/report/components/shared-compute.js +0 -48
- package/dist/report/components/shared-faces.d.ts +0 -8
- package/dist/report/components/shared-faces.js +0 -21
- package/dist/report/components/shared.d.ts +0 -52
- package/dist/report/components/shared.js +0 -95
- package/dist/report/components/site-components/HeroCard.d.ts +0 -14
- package/dist/report/components/site-components/HeroCard.js +0 -35
- package/dist/report/components/site-components/PoweredBy.d.ts +0 -5
- package/dist/report/components/site-components/PoweredBy.js +0 -7
- package/dist/report/components/site-components/compute.d.ts +0 -34
- package/dist/report/components/site-components/compute.js +0 -144
- package/dist/report/components/site-components/content.d.ts +0 -1
- package/dist/report/components/site-components/content.js +0 -2
- package/dist/report/components/site-components/faces.d.ts +0 -9
- package/dist/report/components/site-components/faces.js +0 -34
- package/dist/report/components/site-components/hero-types.d.ts +0 -17
- package/dist/report/components/site-components/index.d.ts +0 -34
- package/dist/report/components/site-components/index.js +0 -55
- package/dist/report/components/site-components/projections.d.ts +0 -12
- package/dist/report/components/site-components/projections.js +0 -67
- package/dist/report/components/site-components/scope-warnings.d.ts +0 -44
- package/dist/report/components/site-components/scope-warnings.js +0 -115
- package/dist/report/components/site-components/snapshot-diagnostics.d.ts +0 -18
- package/dist/report/components/site-components/snapshot-diagnostics.js +0 -42
- package/dist/report/components/site-components/validators.d.ts +0 -6
- package/dist/report/components/site-components/validators.js +0 -115
- package/dist/report/components/summaries/compute.d.ts +0 -7
- package/dist/report/components/summaries/compute.js +0 -60
- package/dist/report/components/summaries/index.d.ts +0 -29
- package/dist/report/components/summaries/index.js +0 -122
- package/dist/report/components/summaries/stability-overview.d.ts +0 -13
- package/dist/report/components/summaries/stability-overview.js +0 -73
- package/dist/report/components/summaries/validate.d.ts +0 -2
- package/dist/report/components/summaries/validate.js +0 -29
- package/dist/report/definition/cell.d.ts +0 -118
- package/dist/report/definition/cell.js +0 -96
- package/dist/report/definition/grid-layout.d.ts +0 -77
- package/dist/report/definition/grid-layout.js +0 -147
- package/dist/report/definition/primitives/callouts-logic.d.ts +0 -26
- package/dist/report/definition/primitives/callouts-logic.js +0 -102
- package/dist/report/definition/primitives/callouts.d.ts +0 -9
- package/dist/report/definition/primitives/callouts.js +0 -101
- package/dist/report/definition/primitives/chart-map.d.ts +0 -74
- package/dist/report/definition/primitives/chart-map.js +0 -124
- package/dist/report/definition/primitives/chart.d.ts +0 -43
- package/dist/report/definition/primitives/chart.js +0 -619
- package/dist/report/definition/primitives/conversation.d.ts +0 -55
- package/dist/report/definition/primitives/conversation.js +0 -216
- package/dist/report/definition/primitives/copy-block.d.ts +0 -19
- package/dist/report/definition/primitives/copy-block.js +0 -51
- package/dist/report/definition/primitives/diff-lines.d.ts +0 -68
- package/dist/report/definition/primitives/diff-lines.js +0 -149
- package/dist/report/definition/primitives/diff-view.d.ts +0 -14
- package/dist/report/definition/primitives/diff-view.js +0 -156
- package/dist/report/definition/primitives/markdown.d.ts +0 -29
- package/dist/report/definition/primitives/markdown.js +0 -278
- package/dist/report/definition/primitives/marks.d.ts +0 -124
- package/dist/report/definition/primitives/marks.js +0 -91
- package/dist/report/definition/primitives/points-dataset.d.ts +0 -17
- package/dist/report/definition/primitives/points-dataset.js +0 -121
- package/dist/report/definition/primitives/source-view.d.ts +0 -43
- package/dist/report/definition/primitives/source-view.js +0 -179
- package/dist/report/definition/primitives/waterfall.d.ts +0 -34
- package/dist/report/definition/primitives/waterfall.js +0 -201
- package/dist/report/definition/primitives.d.ts +0 -154
- package/dist/report/definition/primitives.js +0 -691
- package/dist/report/definition/report.d.ts +0 -200
- package/dist/report/definition/report.js +0 -275
- package/dist/report/definition/table-text.d.ts +0 -14
- package/dist/report/definition/table-text.js +0 -187
- package/dist/report/definition/tree.d.ts +0 -233
- package/dist/report/definition/tree.js +0 -566
- package/dist/report/extension/assets.d.ts +0 -16
- package/dist/report/extension/assets.js +0 -124
- package/dist/report/extension/define.d.ts +0 -9
- package/dist/report/extension/define.js +0 -137
- package/dist/report/extension/index.d.ts +0 -6
- package/dist/report/extension/index.js +0 -5
- package/dist/report/extension/meta.d.ts +0 -9
- package/dist/report/extension/meta.js +0 -11
- package/dist/report/extension/types.d.ts +0 -52
- package/dist/report/extension/types.js +0 -3
- package/dist/report/model/aggregate.d.ts +0 -111
- package/dist/report/model/aggregate.js +0 -396
- package/dist/report/model/calculation.d.ts +0 -139
- package/dist/report/model/calculation.js +0 -447
- package/dist/report/model/chart/math.d.ts +0 -73
- package/dist/report/model/chart/math.js +0 -198
- package/dist/report/model/chart/plot.d.ts +0 -52
- package/dist/report/model/chart/plot.js +0 -89
- package/dist/report/model/conversions.d.ts +0 -40
- package/dist/report/model/conversions.js +0 -88
- package/dist/report/model/dataset.d.ts +0 -18
- package/dist/report/model/dataset.js +0 -74
- package/dist/report/model/evaluation-kind.d.ts +0 -19
- package/dist/report/model/evaluation-kind.js +0 -32
- package/dist/report/model/flag.d.ts +0 -52
- package/dist/report/model/flag.js +0 -157
- package/dist/report/model/format.d.ts +0 -96
- package/dist/report/model/format.js +0 -339
- package/dist/report/model/locale.d.ts +0 -219
- package/dist/report/model/locale.js +0 -426
- package/dist/report/model/metrics.d.ts +0 -44
- package/dist/report/model/metrics.js +0 -255
- package/dist/report/model/types.d.ts +0 -784
- package/dist/report/model/types.js +0 -5
- package/dist/report/presentation.d.ts +0 -114
- package/dist/report/presentation.js +0 -210
- package/dist/report/react/index.d.ts +0 -13
- package/dist/report/react/index.js +0 -18
- package/dist/report/runtime/load.d.ts +0 -17
- package/dist/report/runtime/load.js +0 -146
- package/dist/report/runtime/page-render.d.ts +0 -47
- package/dist/report/runtime/page-render.js +0 -95
- package/dist/report/runtime/resolved-page.d.ts +0 -35
- package/dist/report/runtime/resolved-page.js +0 -122
- package/dist/report/runtime/target.d.ts +0 -19
- package/dist/report/runtime/target.js +0 -42
- package/dist/report/runtime/text.d.ts +0 -76
- package/dist/report/runtime/text.js +0 -78
- package/dist/report/runtime/web.d.ts +0 -37
- package/dist/report/runtime/web.js +0 -34
- package/dist/report/slices/compute.d.ts +0 -83
- package/dist/report/slices/compute.js +0 -808
- package/dist/report/slices/content.d.ts +0 -17
- package/dist/report/slices/content.js +0 -132
- package/dist/report/slices/validate.d.ts +0 -6
- package/dist/report/slices/validate.js +0 -296
- package/dist/report/tasks.d.ts +0 -144
- package/dist/report/tasks.js +0 -313
- package/dist/report/theme.d.ts +0 -51
- package/dist/report/theme.js +0 -112
- package/src/agents/ai-sdk-otel.ts +0 -62
- package/src/agents/ai-sdk.test.ts +0 -35
- package/src/agents/ai-sdk.ts +0 -603
- package/src/agents/bub-install-spec.ts +0 -50
- package/src/agents/bub.ts +0 -293
- package/src/agents/builtin.ts +0 -16
- package/src/agents/cache-marker.ts +0 -6
- package/src/agents/claude-code.ts +0 -439
- package/src/agents/codex-env.test.ts +0 -153
- package/src/agents/codex.ts +0 -727
- package/src/agents/coding-cli-versions.ts +0 -87
- package/src/agents/command-redaction.test.ts +0 -96
- package/src/agents/hermes.ts +0 -269
- package/src/agents/index.ts +0 -149
- package/src/agents/langgraph.test.ts +0 -30
- package/src/agents/langgraph.ts +0 -508
- package/src/agents/marketplace.ts +0 -96
- package/src/agents/mcp.test.ts +0 -41
- package/src/agents/mcp.ts +0 -31
- package/src/agents/native-config.ts +0 -267
- package/src/agents/npm-staged.ts +0 -370
- package/src/agents/openai-compat.test.ts +0 -69
- package/src/agents/openai-compat.ts +0 -205
- package/src/agents/openclaw.ts +0 -275
- package/src/agents/opencode.ts +0 -198
- package/src/agents/post-setup.test.ts +0 -118
- package/src/agents/post-setup.ts +0 -116
- package/src/agents/provisioner.test.ts +0 -291
- package/src/agents/provisioner.ts +0 -593
- package/src/agents/sdk-streams.test.ts +0 -66
- package/src/agents/sdk-streams.ts +0 -542
- package/src/agents/session-slot.ts +0 -15
- package/src/agents/shared.ts +0 -250
- package/src/agents/skills.ts +0 -309
- package/src/agents/streaming.ts +0 -203
- package/src/agents/types.ts +0 -612
- package/src/agents/ui-message-stream.ts +0 -398
- package/src/assertions/collector.test.ts +0 -457
- package/src/assertions/collector.ts +0 -452
- package/src/assertions/coverage.ts +0 -118
- package/src/assertions/diff.ts +0 -120
- package/src/assertions/display.test.ts +0 -175
- package/src/assertions/display.ts +0 -213
- package/src/assertions/evidence.test.ts +0 -194
- package/src/assertions/judge.test.ts +0 -623
- package/src/assertions/judge.ts +0 -448
- package/src/assertions/match.ts +0 -79
- package/src/assertions/scoped.test.ts +0 -359
- package/src/assertions/scoped.ts +0 -551
- package/src/assertions/types.ts +0 -286
- package/src/cli.ts +0 -1762
- package/src/context/context.test.ts +0 -759
- package/src/context/context.ts +0 -816
- package/src/context/control-flow.ts +0 -17
- package/src/context/deferred-file-content.ts +0 -16
- package/src/context/send-failures.test.ts +0 -122
- package/src/context/send-failures.ts +0 -164
- package/src/context/send-retry.test.ts +0 -112
- package/src/context/send-retry.ts +0 -145
- package/src/context/session.test.ts +0 -477
- package/src/context/session.ts +0 -516
- package/src/context/types.ts +0 -409
- package/src/define-agent.test.ts +0 -99
- package/src/define-eval.test.ts +0 -213
- package/src/define-experiment.test.ts +0 -44
- package/src/define.test.ts +0 -25
- package/src/define.ts +0 -238
- package/src/expect/index.test.ts +0 -39
- package/src/expect/index.ts +0 -252
- package/src/fresh-import.ts +0 -34
- package/src/i18n/core.ts +0 -28
- package/src/i18n/en.ts +0 -532
- package/src/i18n/index.ts +0 -40
- package/src/i18n/locale.test.ts +0 -41
- package/src/i18n/zh-CN.ts +0 -533
- package/src/index.ts +0 -91
- package/src/load-config.ts +0 -39
- package/src/loaders/criteria.test.ts +0 -305
- package/src/loaders/glob.ts +0 -149
- package/src/loaders/index.test.ts +0 -166
- package/src/loaders/index.ts +0 -256
- package/src/loaders/private.test.ts +0 -110
- package/src/o11y/cost.test.ts +0 -41
- package/src/o11y/cost.ts +0 -81
- package/src/o11y/derive.test.ts +0 -161
- package/src/o11y/derive.ts +0 -301
- package/src/o11y/execution-tree.test.ts +0 -390
- package/src/o11y/execution-tree.ts +0 -391
- package/src/o11y/otlp/canonical.ts +0 -113
- package/src/o11y/otlp/mappers/bub.ts +0 -30
- package/src/o11y/otlp/mappers/claude-code.ts +0 -24
- package/src/o11y/otlp/mappers/codex.ts +0 -40
- package/src/o11y/otlp/mappers/index.ts +0 -14
- package/src/o11y/otlp/parse.ts +0 -334
- package/src/o11y/otlp/receiver.ts +0 -118
- package/src/o11y/otlp/sandbox-receiver.test.ts +0 -301
- package/src/o11y/otlp/sandbox-receiver.ts +0 -255
- package/src/o11y/otlp/select.ts +0 -86
- package/src/o11y/otlp/turn-otel.ts +0 -132
- package/src/o11y/parsers/bub.test.ts +0 -30
- package/src/o11y/parsers/bub.ts +0 -264
- package/src/o11y/parsers/claude-code.ts +0 -302
- package/src/o11y/parsers/codex.test.ts +0 -19
- package/src/o11y/parsers/codex.ts +0 -476
- package/src/o11y/parsers/hermes.ts +0 -199
- package/src/o11y/parsers/index.ts +0 -28
- package/src/o11y/parsers/openclaw.ts +0 -340
- package/src/o11y/parsers/opencode.ts +0 -300
- package/src/o11y/prices.json +0 -10812
- package/src/o11y/tool-names.ts +0 -74
- package/src/o11y/types.ts +0 -221
- package/src/record/annotated-source.test.ts +0 -329
- package/src/record/annotated-source.ts +0 -643
- package/src/record/attempt-evidence.test.ts +0 -208
- package/src/record/attempt-evidence.ts +0 -184
- package/src/record/attempt-source.ts +0 -37
- package/src/record/copy.ts +0 -303
- package/src/record/evidence-schema.test.ts +0 -85
- package/src/record/format.ts +0 -91
- package/src/record/host-equivalence.test.ts +0 -539
- package/src/record/index.ts +0 -119
- package/src/record/locator.test.ts +0 -125
- package/src/record/locator.ts +0 -178
- package/src/record/manifest.ts +0 -72
- package/src/record/open.ts +0 -758
- package/src/record/publish.ts +0 -7
- package/src/record/results.test.ts +0 -1563
- package/src/record/skipped-notice.ts +0 -44
- package/src/record/source-hash.ts +0 -28
- package/src/record/timing-activity.test.ts +0 -395
- package/src/record/truncate.ts +0 -116
- package/src/record/types.ts +0 -319
- package/src/record/writer.ts +0 -549
- package/src/report/assets/colors.ts +0 -69
- package/src/report/assets/enhance.js +0 -214
- package/src/report/assets/series-encoding.tsx +0 -177
- package/src/report/assets/styles.css +0 -1780
- package/src/report/built-in/failures.tsx +0 -29
- package/src/report/built-in/index.tsx +0 -66
- package/src/report/built-in/result-components.tsx +0 -404
- package/src/report/built-in/stability.tsx +0 -30
- package/src/report/built-in/standard.tsx +0 -132
- package/src/report/components/attempt-detail/attempt-components.test.tsx +0 -706
- package/src/report/components/attempt-detail/compute.ts +0 -544
- package/src/report/components/attempt-detail/content.tsx +0 -633
- package/src/report/components/attempt-detail/index.tsx +0 -285
- package/src/report/components/attempt-detail/validate.test.ts +0 -253
- package/src/report/components/attempt-detail/validate.tsx +0 -361
- package/src/report/components/cell.tsx +0 -79
- package/src/report/components/compute.test.ts +0 -1540
- package/src/report/components/entity-lists/compute.test.ts +0 -38
- package/src/report/components/entity-lists/compute.ts +0 -383
- package/src/report/components/entity-lists/content.test.ts +0 -611
- package/src/report/components/entity-lists/content.ts +0 -591
- package/src/report/components/entity-lists/index.tsx +0 -169
- package/src/report/components/entity-lists/validate.test.ts +0 -161
- package/src/report/components/entity-lists/validate.ts +0 -121
- package/src/report/components/experiment-detail/compute.ts +0 -40
- package/src/report/components/experiment-detail/experiment-detail.test.tsx +0 -181
- package/src/report/components/experiment-detail/index.tsx +0 -89
- package/src/report/components/fixtures.ts +0 -366
- package/src/report/components/scope.harness.ts +0 -83
- package/src/report/components/shared-compute.ts +0 -60
- package/src/report/components/shared-faces.ts +0 -25
- package/src/report/components/shared.test.ts +0 -62
- package/src/report/components/shared.ts +0 -127
- package/src/report/components/site-components/HeroCard.tsx +0 -87
- package/src/report/components/site-components/PoweredBy.tsx +0 -20
- package/src/report/components/site-components/compute.ts +0 -165
- package/src/report/components/site-components/content.ts +0 -8
- package/src/report/components/site-components/faces.ts +0 -46
- package/src/report/components/site-components/hero-types.ts +0 -20
- package/src/report/components/site-components/index.tsx +0 -109
- package/src/report/components/site-components/projections.ts +0 -74
- package/src/report/components/site-components/scope-warnings.ts +0 -160
- package/src/report/components/site-components/site-components.test.tsx +0 -460
- package/src/report/components/site-components/snapshot-diagnostics.ts +0 -69
- package/src/report/components/site-components/validate.test.ts +0 -121
- package/src/report/components/site-components/validators.ts +0 -97
- package/src/report/components/summaries/compute.ts +0 -66
- package/src/report/components/summaries/index.tsx +0 -255
- package/src/report/components/summaries/stability-overview.test.tsx +0 -141
- package/src/report/components/summaries/stability-overview.tsx +0 -105
- package/src/report/components/summaries/validate.test.ts +0 -49
- package/src/report/components/summaries/validate.ts +0 -21
- package/src/report/definition/callouts.test.tsx +0 -146
- package/src/report/definition/cell.ts +0 -203
- package/src/report/definition/chart.test.tsx +0 -285
- package/src/report/definition/conversation.test.tsx +0 -150
- package/src/report/definition/copy-block.test.tsx +0 -71
- package/src/report/definition/diff-view.test.tsx +0 -209
- package/src/report/definition/grid-layout.test.tsx +0 -262
- package/src/report/definition/grid-layout.ts +0 -203
- package/src/report/definition/markdown.test.tsx +0 -179
- package/src/report/definition/primitives/callouts-logic.ts +0 -117
- package/src/report/definition/primitives/callouts.tsx +0 -185
- package/src/report/definition/primitives/chart-map.ts +0 -214
- package/src/report/definition/primitives/chart.tsx +0 -1012
- package/src/report/definition/primitives/conversation.tsx +0 -345
- package/src/report/definition/primitives/copy-block.tsx +0 -87
- package/src/report/definition/primitives/diff-lines.ts +0 -212
- package/src/report/definition/primitives/diff-view.tsx +0 -332
- package/src/report/definition/primitives/markdown.tsx +0 -365
- package/src/report/definition/primitives/marks-contract.test.tsx +0 -45
- package/src/report/definition/primitives/marks.tsx +0 -254
- package/src/report/definition/primitives/points-dataset.test.ts +0 -117
- package/src/report/definition/primitives/points-dataset.ts +0 -168
- package/src/report/definition/primitives/source-view.tsx +0 -359
- package/src/report/definition/primitives/waterfall.tsx +0 -386
- package/src/report/definition/primitives.test.tsx +0 -186
- package/src/report/definition/primitives.tsx +0 -1150
- package/src/report/definition/report-contract.test.ts +0 -119
- package/src/report/definition/report.ts +0 -562
- package/src/report/definition/shell-head.test.ts +0 -100
- package/src/report/definition/source-view.test.tsx +0 -119
- package/src/report/definition/stat.test.tsx +0 -45
- package/src/report/definition/table-text.ts +0 -228
- package/src/report/definition/table.test.tsx +0 -633
- package/src/report/definition/tree.ts +0 -852
- package/src/report/definition/waterfall.test.tsx +0 -581
- package/src/report/extension/assets.ts +0 -154
- package/src/report/extension/define.test.tsx +0 -228
- package/src/report/extension/define.ts +0 -182
- package/src/report/extension/index.ts +0 -23
- package/src/report/extension/meta.ts +0 -21
- package/src/report/extension/types.ts +0 -64
- package/src/report/index.ts +0 -410
- package/src/report/model/aggregate.ts +0 -463
- package/src/report/model/calculation.test.ts +0 -354
- package/src/report/model/calculation.ts +0 -659
- package/src/report/model/chart/math.test.ts +0 -189
- package/src/report/model/chart/math.ts +0 -245
- package/src/report/model/chart/plot.ts +0 -144
- package/src/report/model/conversions.ts +0 -150
- package/src/report/model/dataset.ts +0 -80
- package/src/report/model/evaluation-kind.ts +0 -35
- package/src/report/model/flag.ts +0 -174
- package/src/report/model/format.ts +0 -375
- package/src/report/model/locale.ts +0 -510
- package/src/report/model/metrics.ts +0 -256
- package/src/report/model/panel.test.ts +0 -272
- package/src/report/model/panel.ts +0 -340
- package/src/report/model/presentation.test.ts +0 -141
- package/src/report/model/text-layout.ts +0 -190
- package/src/report/model/types.ts +0 -824
- package/src/report/presentation.test.tsx +0 -474
- package/src/report/presentation.ts +0 -354
- package/src/report/react/index.tsx +0 -96
- package/src/report/runtime/dual-render.test.tsx +0 -1088
- package/src/report/runtime/host.test.ts +0 -86
- package/src/report/runtime/host.ts +0 -317
- package/src/report/runtime/load.test.ts +0 -34
- package/src/report/runtime/load.ts +0 -159
- package/src/report/runtime/page-render.test.tsx +0 -247
- package/src/report/runtime/page-render.ts +0 -147
- package/src/report/runtime/resolved-page.test.tsx +0 -81
- package/src/report/runtime/resolved-page.ts +0 -169
- package/src/report/runtime/target.ts +0 -50
- package/src/report/runtime/text.ts +0 -155
- package/src/report/runtime/web.ts +0 -65
- package/src/report/slices/compute.ts +0 -979
- package/src/report/slices/content.ts +0 -157
- package/src/report/slices/delta-table.test.ts +0 -423
- package/src/report/slices/stability-matrix.test.ts +0 -169
- package/src/report/slices/validate.test.ts +0 -236
- package/src/report/slices/validate.ts +0 -216
- package/src/report/tasks.test.ts +0 -82
- package/src/report/tasks.ts +0 -553
- package/src/report/theme.test.ts +0 -32
- package/src/report/theme.ts +0 -141
- package/src/runner/accept-prompt.test.ts +0 -51
- package/src/runner/accept-prompt.ts +0 -67
- package/src/runner/accept.test.ts +0 -592
- package/src/runner/accept.ts +0 -705
- package/src/runner/attempt.test.ts +0 -1989
- package/src/runner/attempt.ts +0 -1912
- package/src/runner/build-preparation-plan.test.ts +0 -119
- package/src/runner/build-preparation.ts +0 -104
- package/src/runner/cleanup-timeout.test.ts +0 -16
- package/src/runner/cleanup-timeout.ts +0 -23
- package/src/runner/config-identity.test.ts +0 -277
- package/src/runner/config-identity.ts +0 -318
- package/src/runner/direct-agent-sandbox.test.ts +0 -48
- package/src/runner/direct-agent-sandbox.ts +0 -68
- package/src/runner/discover.test.ts +0 -262
- package/src/runner/discover.ts +0 -469
- package/src/runner/eval-selection.test.ts +0 -241
- package/src/runner/eval-selection.ts +0 -139
- package/src/runner/eval-source.test.ts +0 -108
- package/src/runner/eval-source.ts +0 -82
- package/src/runner/experiment-cleanup-registry.test.ts +0 -89
- package/src/runner/experiment-cleanup-registry.ts +0 -39
- package/src/runner/experiment-labels.test.ts +0 -100
- package/src/runner/feedback/coordinator.test.ts +0 -367
- package/src/runner/feedback/coordinator.ts +0 -511
- package/src/runner/feedback/eval-conclusions.test.ts +0 -135
- package/src/runner/feedback/eval-conclusions.ts +0 -115
- package/src/runner/feedback/failure.test.ts +0 -104
- package/src/runner/feedback/failure.ts +0 -60
- package/src/runner/feedback/human.test.ts +0 -1722
- package/src/runner/feedback/human.ts +0 -1499
- package/src/runner/feedback/index.ts +0 -94
- package/src/runner/feedback/input-guard.test.ts +0 -251
- package/src/runner/feedback/input-guard.ts +0 -171
- package/src/runner/feedback/io.ts +0 -82
- package/src/runner/feedback/json.test.ts +0 -617
- package/src/runner/feedback/json.ts +0 -708
- package/src/runner/feedback/profile.test.ts +0 -28
- package/src/runner/feedback/profile.ts +0 -23
- package/src/runner/feedback/reducer.test.ts +0 -908
- package/src/runner/feedback/reducer.ts +0 -411
- package/src/runner/feedback/renderer.ts +0 -83
- package/src/runner/feedback/sink.ts +0 -332
- package/src/runner/feedback/testing.ts +0 -109
- package/src/runner/fingerprint.test.ts +0 -1406
- package/src/runner/fingerprint.ts +0 -924
- package/src/runner/gate-lease.test.ts +0 -555
- package/src/runner/gate-lease.ts +0 -398
- package/src/runner/judge-config.test.ts +0 -32
- package/src/runner/judge-config.ts +0 -26
- package/src/runner/leak-gate.test.ts +0 -195
- package/src/runner/leak-gate.ts +0 -364
- package/src/runner/ledger.test.ts +0 -577
- package/src/runner/ledger.ts +0 -533
- package/src/runner/lock.test.ts +0 -498
- package/src/runner/lock.ts +0 -334
- package/src/runner/manifest.ts +0 -282
- package/src/runner/report.test.ts +0 -238
- package/src/runner/report.ts +0 -127
- package/src/runner/reporters/artifacts.ts +0 -120
- package/src/runner/reporters/braintrust.test.ts +0 -109
- package/src/runner/reporters/braintrust.ts +0 -211
- package/src/runner/reporters/index.ts +0 -7
- package/src/runner/reporters/json.test.ts +0 -163
- package/src/runner/reporters/json.ts +0 -79
- package/src/runner/reporters/shared.ts +0 -14
- package/src/runner/reuse-diagnostics.test.ts +0 -114
- package/src/runner/reuse-diagnostics.ts +0 -92
- package/src/runner/reuse-pool-key.test.ts +0 -22
- package/src/runner/run.test.ts +0 -5319
- package/src/runner/run.ts +0 -2656
- package/src/runner/sandbox-pool-plan.test.ts +0 -180
- package/src/runner/sandbox-pool.test.ts +0 -278
- package/src/runner/sandbox-pool.ts +0 -337
- package/src/runner/sandbox-prep.ts +0 -55
- package/src/runner/sandbox-selection.test.ts +0 -288
- package/src/runner/sandbox-selection.ts +0 -351
- package/src/runner/session.test.ts +0 -112
- package/src/runner/session.ts +0 -466
- package/src/runner/teardown-registry.test.ts +0 -156
- package/src/runner/teardown-registry.ts +0 -146
- package/src/runner/timeout-attribution.test.ts +0 -34
- package/src/runner/timeout.ts +0 -54
- package/src/runner/timing.ts +0 -379
- package/src/runner/types.ts +0 -1733
- package/src/sample/index.ts +0 -483
- package/src/sample/sample.test.ts +0 -622
- package/src/sandbox/backend.ts +0 -140
- package/src/sandbox/build-coordinator.test.ts +0 -333
- package/src/sandbox/build-coordinator.ts +0 -444
- package/src/sandbox/case-types.ts +0 -67
- package/src/sandbox/checkpoint.test.ts +0 -55
- package/src/sandbox/checkpoint.ts +0 -64
- package/src/sandbox/cli-commands.test.ts +0 -524
- package/src/sandbox/cli-commands.ts +0 -593
- package/src/sandbox/commands.ts +0 -287
- package/src/sandbox/compose.test.ts +0 -625
- package/src/sandbox/compose.ts +0 -1291
- package/src/sandbox/content.ts +0 -202
- package/src/sandbox/deadline.ts +0 -73
- package/src/sandbox/docker-agent-image.ts +0 -36
- package/src/sandbox/docker-stream.ts +0 -116
- package/src/sandbox/docker.test.ts +0 -263
- package/src/sandbox/docker.ts +0 -836
- package/src/sandbox/dockerfile-agent-cache.test.ts +0 -157
- package/src/sandbox/dockerfile-agent-cache.ts +0 -155
- package/src/sandbox/dockerfile-agent-runtime.test.ts +0 -166
- package/src/sandbox/dockerfile-build.test.ts +0 -27
- package/src/sandbox/dockerfile-build.ts +0 -269
- package/src/sandbox/dockerfile-identity.ts +0 -129
- package/src/sandbox/download-directory.test.ts +0 -68
- package/src/sandbox/download-directory.ts +0 -36
- package/src/sandbox/e2b-agent-template.test.ts +0 -107
- package/src/sandbox/e2b-agent-template.ts +0 -194
- package/src/sandbox/e2b-reconcile.test.ts +0 -126
- package/src/sandbox/e2b.test.ts +0 -629
- package/src/sandbox/e2b.ts +0 -781
- package/src/sandbox/errors.test.ts +0 -72
- package/src/sandbox/errors.ts +0 -203
- package/src/sandbox/identity.ts +0 -203
- package/src/sandbox/index.ts +0 -138
- package/src/sandbox/io-retry.test.ts +0 -58
- package/src/sandbox/io-retry.ts +0 -45
- package/src/sandbox/keep-registry.test.ts +0 -141
- package/src/sandbox/keep-registry.ts +0 -271
- package/src/sandbox/keep.test.ts +0 -538
- package/src/sandbox/keep.ts +0 -405
- package/src/sandbox/layer.test.ts +0 -343
- package/src/sandbox/layer.ts +0 -1641
- package/src/sandbox/ledger-paths.ts +0 -37
- package/src/sandbox/link.test.ts +0 -321
- package/src/sandbox/link.ts +0 -484
- package/src/sandbox/local-files.ts +0 -31
- package/src/sandbox/local.test.ts +0 -216
- package/src/sandbox/local.ts +0 -364
- package/src/sandbox/official-baselines.test.ts +0 -175
- package/src/sandbox/operations.test.ts +0 -391
- package/src/sandbox/operations.ts +0 -187
- package/src/sandbox/orphans.test.ts +0 -470
- package/src/sandbox/orphans.ts +0 -261
- package/src/sandbox/paths.test.ts +0 -141
- package/src/sandbox/paths.ts +0 -132
- package/src/sandbox/plan.test.ts +0 -487
- package/src/sandbox/plan.ts +0 -353
- package/src/sandbox/prepare-commands.test.ts +0 -168
- package/src/sandbox/prepare-commands.ts +0 -342
- package/src/sandbox/redaction.test.ts +0 -48
- package/src/sandbox/redaction.ts +0 -50
- package/src/sandbox/registry.ts +0 -78
- package/src/sandbox/retry.test.ts +0 -138
- package/src/sandbox/retry.ts +0 -86
- package/src/sandbox/run-identity.ts +0 -120
- package/src/sandbox/runtime.test.ts +0 -551
- package/src/sandbox/runtime.ts +0 -984
- package/src/sandbox/shell.test.ts +0 -23
- package/src/sandbox/shell.ts +0 -18
- package/src/sandbox/transfer-errors.test.ts +0 -116
- package/src/sandbox/transfer-errors.ts +0 -118
- package/src/sandbox/types.ts +0 -196
- package/src/sandbox/vercel.test.ts +0 -180
- package/src/sandbox/vercel.ts +0 -400
- package/src/shared/aggregate.test.ts +0 -52
- package/src/shared/aggregate.ts +0 -99
- package/src/shared/entry-file-store.test.ts +0 -193
- package/src/shared/entry-file-store.ts +0 -145
- package/src/shared/external-cause.ts +0 -322
- package/src/shared/facts.ts +0 -36
- package/src/shared/failure-class.test.ts +0 -195
- package/src/shared/failure-class.ts +0 -206
- package/src/shared/format.ts +0 -26
- package/src/shared/json-match.ts +0 -42
- package/src/shared/json-value.test.ts +0 -24
- package/src/shared/json-value.ts +0 -36
- package/src/shared/turn-label.test.ts +0 -20
- package/src/shared/turn-label.ts +0 -15
- package/src/shared/types.ts +0 -101
- package/src/shared/verdict.ts +0 -82
- package/src/show/command.test.ts +0 -36
- package/src/show/command.ts +0 -18
- package/src/show/compose.ts +0 -89
- package/src/show/index.test.ts +0 -95
- package/src/show/index.ts +0 -1226
- package/src/show/json.test.ts +0 -412
- package/src/show/json.ts +0 -106
- package/src/show/render.test.ts +0 -857
- package/src/show/render.ts +0 -1510
- package/src/source-loc.ts +0 -134
- package/src/tty-line.ts +0 -14
- package/src/types.ts +0 -37
- package/src/util.test.ts +0 -77
- package/src/util.ts +0 -138
- package/src/view/app/App.tsx +0 -351
- package/src/view/app/components/ui/dialog.tsx +0 -36
- package/src/view/app/components/ui/tabs.tsx +0 -30
- package/src/view/app/css.d.ts +0 -3
- package/src/view/app/i18n.ts +0 -65
- package/src/view/app/index.html +0 -13
- package/src/view/app/lib/cn.ts +0 -7
- package/src/view/app/lib/target-dialog.test.ts +0 -105
- package/src/view/app/lib/target-dialog.ts +0 -110
- package/src/view/app/main.tsx +0 -109
- package/src/view/app/types.ts +0 -15
- package/src/view/app/vite.config.ts +0 -26
- package/src/view/data.test.ts +0 -541
- package/src/view/data.ts +0 -950
- package/src/view/index.ts +0 -91
- package/src/view/server-rebuild.test.ts +0 -323
- package/src/view/server-watch.test.ts +0 -106
- package/src/view/server.ts +0 -484
- package/src/view/shared/types.ts +0 -93
- package/src/view/site-base.test.ts +0 -51
- package/src/view/site-head.test.ts +0 -142
- package/src/view/site-param-pages.test.ts +0 -186
- package/src/view/site-renderer-assets.test.ts +0 -68
- package/src/view/site.ts +0 -484
- package/src/view/styles.css +0 -170
- /package/dist/{report/components/site-components/hero-types.js → cli/bootstrap.d.cts} +0 -0
- /package/{src → dist}/view/client-dist/app.css +0 -0
- /package/{src → dist}/view/client-dist/app.js +0 -0
- /package/{src → dist}/view/template.html +0 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../home/runner/work/NiceEval/NiceEval/node_modules/.pnpm/remark-parse@11.0.0/node_modules/remark-parse/index.js", "../../../../../home/runner/work/NiceEval/NiceEval/node_modules/.pnpm/mdast-util-to-string@4.0.0/node_modules/mdast-util-to-string/lib/index.js", "../../../../../home/runner/work/NiceEval/NiceEval/node_modules/.pnpm/character-entities@2.0.2/node_modules/character-entities/index.js", "../../../../../home/runner/work/NiceEval/NiceEval/node_modules/.pnpm/decode-named-character-reference@1.3.0/node_modules/decode-named-character-reference/index.js", "../../../../../home/runner/work/NiceEval/NiceEval/node_modules/.pnpm/micromark-util-chunked@2.0.1/node_modules/micromark-util-chunked/index.js", "../../../../../home/runner/work/NiceEval/NiceEval/node_modules/.pnpm/micromark-util-combine-extensions@2.0.1/node_modules/micromark-util-combine-extensions/index.js", "../../../../../home/runner/work/NiceEval/NiceEval/node_modules/.pnpm/micromark-util-decode-numeric-character-reference@2.0.2/node_modules/micromark-util-decode-numeric-character-reference/index.js", "../../../../../home/runner/work/NiceEval/NiceEval/node_modules/.pnpm/micromark-util-normalize-identifier@2.0.1/node_modules/micromark-util-normalize-identifier/index.js", "../../../../../home/runner/work/NiceEval/NiceEval/node_modules/.pnpm/micromark-util-character@2.1.1/node_modules/micromark-util-character/index.js", "../../../../../home/runner/work/NiceEval/NiceEval/node_modules/.pnpm/micromark-factory-space@2.0.1/node_modules/micromark-factory-space/index.js", "../../../../../home/runner/work/NiceEval/NiceEval/node_modules/.pnpm/micromark@4.0.2/node_modules/micromark/lib/initialize/content.js", "../../../../../home/runner/work/NiceEval/NiceEval/node_modules/.pnpm/micromark@4.0.2/node_modules/micromark/lib/initialize/document.js", "../../../../../home/runner/work/NiceEval/NiceEval/node_modules/.pnpm/micromark-util-classify-character@2.0.1/node_modules/micromark-util-classify-character/index.js", "../../../../../home/runner/work/NiceEval/NiceEval/node_modules/.pnpm/micromark-util-resolve-all@2.0.1/node_modules/micromark-util-resolve-all/index.js", "../../../../../home/runner/work/NiceEval/NiceEval/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/attention.js", "../../../../../home/runner/work/NiceEval/NiceEval/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/autolink.js", "../../../../../home/runner/work/NiceEval/NiceEval/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/blank-line.js", "../../../../../home/runner/work/NiceEval/NiceEval/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/block-quote.js", "../../../../../home/runner/work/NiceEval/NiceEval/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/character-escape.js", "../../../../../home/runner/work/NiceEval/NiceEval/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/character-reference.js", "../../../../../home/runner/work/NiceEval/NiceEval/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/code-fenced.js", "../../../../../home/runner/work/NiceEval/NiceEval/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/code-indented.js", "../../../../../home/runner/work/NiceEval/NiceEval/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/code-text.js", "../../../../../home/runner/work/NiceEval/NiceEval/node_modules/.pnpm/micromark-util-subtokenize@2.1.0/node_modules/micromark-util-subtokenize/lib/splice-buffer.js", "../../../../../home/runner/work/NiceEval/NiceEval/node_modules/.pnpm/micromark-util-subtokenize@2.1.0/node_modules/micromark-util-subtokenize/index.js", "../../../../../home/runner/work/NiceEval/NiceEval/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/content.js", "../../../../../home/runner/work/NiceEval/NiceEval/node_modules/.pnpm/micromark-factory-destination@2.0.1/node_modules/micromark-factory-destination/index.js", "../../../../../home/runner/work/NiceEval/NiceEval/node_modules/.pnpm/micromark-factory-label@2.0.1/node_modules/micromark-factory-label/index.js", "../../../../../home/runner/work/NiceEval/NiceEval/node_modules/.pnpm/micromark-factory-title@2.0.1/node_modules/micromark-factory-title/index.js", "../../../../../home/runner/work/NiceEval/NiceEval/node_modules/.pnpm/micromark-factory-whitespace@2.0.1/node_modules/micromark-factory-whitespace/index.js", "../../../../../home/runner/work/NiceEval/NiceEval/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/definition.js", "../../../../../home/runner/work/NiceEval/NiceEval/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/hard-break-escape.js", "../../../../../home/runner/work/NiceEval/NiceEval/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/heading-atx.js", "../../../../../home/runner/work/NiceEval/NiceEval/node_modules/.pnpm/micromark-util-html-tag-name@2.0.1/node_modules/micromark-util-html-tag-name/index.js", "../../../../../home/runner/work/NiceEval/NiceEval/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/html-flow.js", "../../../../../home/runner/work/NiceEval/NiceEval/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/html-text.js", "../../../../../home/runner/work/NiceEval/NiceEval/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/label-end.js", "../../../../../home/runner/work/NiceEval/NiceEval/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/label-start-image.js", "../../../../../home/runner/work/NiceEval/NiceEval/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/label-start-link.js", "../../../../../home/runner/work/NiceEval/NiceEval/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/line-ending.js", "../../../../../home/runner/work/NiceEval/NiceEval/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/thematic-break.js", "../../../../../home/runner/work/NiceEval/NiceEval/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/list.js", "../../../../../home/runner/work/NiceEval/NiceEval/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/setext-underline.js", "../../../../../home/runner/work/NiceEval/NiceEval/node_modules/.pnpm/micromark@4.0.2/node_modules/micromark/lib/initialize/flow.js", "../../../../../home/runner/work/NiceEval/NiceEval/node_modules/.pnpm/micromark@4.0.2/node_modules/micromark/lib/initialize/text.js", "../../../../../home/runner/work/NiceEval/NiceEval/node_modules/.pnpm/micromark@4.0.2/node_modules/micromark/lib/constructs.js", "../../../../../home/runner/work/NiceEval/NiceEval/node_modules/.pnpm/micromark@4.0.2/node_modules/micromark/lib/create-tokenizer.js", "../../../../../home/runner/work/NiceEval/NiceEval/node_modules/.pnpm/micromark@4.0.2/node_modules/micromark/lib/parse.js", "../../../../../home/runner/work/NiceEval/NiceEval/node_modules/.pnpm/micromark@4.0.2/node_modules/micromark/lib/postprocess.js", "../../../../../home/runner/work/NiceEval/NiceEval/node_modules/.pnpm/micromark@4.0.2/node_modules/micromark/lib/preprocess.js", "../../../../../home/runner/work/NiceEval/NiceEval/node_modules/.pnpm/micromark-util-decode-string@2.0.1/node_modules/micromark-util-decode-string/index.js", "../../../../../home/runner/work/NiceEval/NiceEval/node_modules/.pnpm/unist-util-stringify-position@4.0.0/node_modules/unist-util-stringify-position/lib/index.js", "../../../../../home/runner/work/NiceEval/NiceEval/node_modules/.pnpm/mdast-util-from-markdown@2.0.3/node_modules/mdast-util-from-markdown/lib/index.js", "../../../../../home/runner/work/NiceEval/NiceEval/node_modules/.pnpm/remark-parse@11.0.0/node_modules/remark-parse/lib/index.js"],
|
|
4
|
+
"sourcesContent": ["// Note: types exposed from `index.d.ts`.\nexport {default} from './lib/index.js'\n", "/**\n * @typedef {import('mdast').Nodes} Nodes\n *\n * @typedef Options\n * Configuration (optional).\n * @property {boolean | null | undefined} [includeImageAlt=true]\n * Whether to use `alt` for `image`s (default: `true`).\n * @property {boolean | null | undefined} [includeHtml=true]\n * Whether to use `value` of HTML (default: `true`).\n */\n\n/** @type {Options} */\nconst emptyOptions = {}\n\n/**\n * Get the text content of a node or list of nodes.\n *\n * Prefers the node\u2019s plain-text fields, otherwise serializes its children,\n * and if the given value is an array, serialize the nodes in it.\n *\n * @param {unknown} [value]\n * Thing to serialize, typically `Node`.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {string}\n * Serialized `value`.\n */\nexport function toString(value, options) {\n const settings = options || emptyOptions\n const includeImageAlt =\n typeof settings.includeImageAlt === 'boolean'\n ? settings.includeImageAlt\n : true\n const includeHtml =\n typeof settings.includeHtml === 'boolean' ? settings.includeHtml : true\n\n return one(value, includeImageAlt, includeHtml)\n}\n\n/**\n * One node or several nodes.\n *\n * @param {unknown} value\n * Thing to serialize.\n * @param {boolean} includeImageAlt\n * Include image `alt`s.\n * @param {boolean} includeHtml\n * Include HTML.\n * @returns {string}\n * Serialized node.\n */\nfunction one(value, includeImageAlt, includeHtml) {\n if (node(value)) {\n if ('value' in value) {\n return value.type === 'html' && !includeHtml ? '' : value.value\n }\n\n if (includeImageAlt && 'alt' in value && value.alt) {\n return value.alt\n }\n\n if ('children' in value) {\n return all(value.children, includeImageAlt, includeHtml)\n }\n }\n\n if (Array.isArray(value)) {\n return all(value, includeImageAlt, includeHtml)\n }\n\n return ''\n}\n\n/**\n * Serialize a list of nodes.\n *\n * @param {Array<unknown>} values\n * Thing to serialize.\n * @param {boolean} includeImageAlt\n * Include image `alt`s.\n * @param {boolean} includeHtml\n * Include HTML.\n * @returns {string}\n * Serialized nodes.\n */\nfunction all(values, includeImageAlt, includeHtml) {\n /** @type {Array<string>} */\n const result = []\n let index = -1\n\n while (++index < values.length) {\n result[index] = one(values[index], includeImageAlt, includeHtml)\n }\n\n return result.join('')\n}\n\n/**\n * Check if `value` looks like a node.\n *\n * @param {unknown} value\n * Thing.\n * @returns {value is Nodes}\n * Whether `value` is a node.\n */\nfunction node(value) {\n return Boolean(value && typeof value === 'object')\n}\n", "/**\n * Map of named character references.\n *\n * @type {Record<string, string>}\n */\nexport const characterEntities = {\n AElig: '\u00C6',\n AMP: '&',\n Aacute: '\u00C1',\n Abreve: '\u0102',\n Acirc: '\u00C2',\n Acy: '\u0410',\n Afr: '\uD835\uDD04',\n Agrave: '\u00C0',\n Alpha: '\u0391',\n Amacr: '\u0100',\n And: '\u2A53',\n Aogon: '\u0104',\n Aopf: '\uD835\uDD38',\n ApplyFunction: '\u2061',\n Aring: '\u00C5',\n Ascr: '\uD835\uDC9C',\n Assign: '\u2254',\n Atilde: '\u00C3',\n Auml: '\u00C4',\n Backslash: '\u2216',\n Barv: '\u2AE7',\n Barwed: '\u2306',\n Bcy: '\u0411',\n Because: '\u2235',\n Bernoullis: '\u212C',\n Beta: '\u0392',\n Bfr: '\uD835\uDD05',\n Bopf: '\uD835\uDD39',\n Breve: '\u02D8',\n Bscr: '\u212C',\n Bumpeq: '\u224E',\n CHcy: '\u0427',\n COPY: '\u00A9',\n Cacute: '\u0106',\n Cap: '\u22D2',\n CapitalDifferentialD: '\u2145',\n Cayleys: '\u212D',\n Ccaron: '\u010C',\n Ccedil: '\u00C7',\n Ccirc: '\u0108',\n Cconint: '\u2230',\n Cdot: '\u010A',\n Cedilla: '\u00B8',\n CenterDot: '\u00B7',\n Cfr: '\u212D',\n Chi: '\u03A7',\n CircleDot: '\u2299',\n CircleMinus: '\u2296',\n CirclePlus: '\u2295',\n CircleTimes: '\u2297',\n ClockwiseContourIntegral: '\u2232',\n CloseCurlyDoubleQuote: '\u201D',\n CloseCurlyQuote: '\u2019',\n Colon: '\u2237',\n Colone: '\u2A74',\n Congruent: '\u2261',\n Conint: '\u222F',\n ContourIntegral: '\u222E',\n Copf: '\u2102',\n Coproduct: '\u2210',\n CounterClockwiseContourIntegral: '\u2233',\n Cross: '\u2A2F',\n Cscr: '\uD835\uDC9E',\n Cup: '\u22D3',\n CupCap: '\u224D',\n DD: '\u2145',\n DDotrahd: '\u2911',\n DJcy: '\u0402',\n DScy: '\u0405',\n DZcy: '\u040F',\n Dagger: '\u2021',\n Darr: '\u21A1',\n Dashv: '\u2AE4',\n Dcaron: '\u010E',\n Dcy: '\u0414',\n Del: '\u2207',\n Delta: '\u0394',\n Dfr: '\uD835\uDD07',\n DiacriticalAcute: '\u00B4',\n DiacriticalDot: '\u02D9',\n DiacriticalDoubleAcute: '\u02DD',\n DiacriticalGrave: '`',\n DiacriticalTilde: '\u02DC',\n Diamond: '\u22C4',\n DifferentialD: '\u2146',\n Dopf: '\uD835\uDD3B',\n Dot: '\u00A8',\n DotDot: '\u20DC',\n DotEqual: '\u2250',\n DoubleContourIntegral: '\u222F',\n DoubleDot: '\u00A8',\n DoubleDownArrow: '\u21D3',\n DoubleLeftArrow: '\u21D0',\n DoubleLeftRightArrow: '\u21D4',\n DoubleLeftTee: '\u2AE4',\n DoubleLongLeftArrow: '\u27F8',\n DoubleLongLeftRightArrow: '\u27FA',\n DoubleLongRightArrow: '\u27F9',\n DoubleRightArrow: '\u21D2',\n DoubleRightTee: '\u22A8',\n DoubleUpArrow: '\u21D1',\n DoubleUpDownArrow: '\u21D5',\n DoubleVerticalBar: '\u2225',\n DownArrow: '\u2193',\n DownArrowBar: '\u2913',\n DownArrowUpArrow: '\u21F5',\n DownBreve: '\u0311',\n DownLeftRightVector: '\u2950',\n DownLeftTeeVector: '\u295E',\n DownLeftVector: '\u21BD',\n DownLeftVectorBar: '\u2956',\n DownRightTeeVector: '\u295F',\n DownRightVector: '\u21C1',\n DownRightVectorBar: '\u2957',\n DownTee: '\u22A4',\n DownTeeArrow: '\u21A7',\n Downarrow: '\u21D3',\n Dscr: '\uD835\uDC9F',\n Dstrok: '\u0110',\n ENG: '\u014A',\n ETH: '\u00D0',\n Eacute: '\u00C9',\n Ecaron: '\u011A',\n Ecirc: '\u00CA',\n Ecy: '\u042D',\n Edot: '\u0116',\n Efr: '\uD835\uDD08',\n Egrave: '\u00C8',\n Element: '\u2208',\n Emacr: '\u0112',\n EmptySmallSquare: '\u25FB',\n EmptyVerySmallSquare: '\u25AB',\n Eogon: '\u0118',\n Eopf: '\uD835\uDD3C',\n Epsilon: '\u0395',\n Equal: '\u2A75',\n EqualTilde: '\u2242',\n Equilibrium: '\u21CC',\n Escr: '\u2130',\n Esim: '\u2A73',\n Eta: '\u0397',\n Euml: '\u00CB',\n Exists: '\u2203',\n ExponentialE: '\u2147',\n Fcy: '\u0424',\n Ffr: '\uD835\uDD09',\n FilledSmallSquare: '\u25FC',\n FilledVerySmallSquare: '\u25AA',\n Fopf: '\uD835\uDD3D',\n ForAll: '\u2200',\n Fouriertrf: '\u2131',\n Fscr: '\u2131',\n GJcy: '\u0403',\n GT: '>',\n Gamma: '\u0393',\n Gammad: '\u03DC',\n Gbreve: '\u011E',\n Gcedil: '\u0122',\n Gcirc: '\u011C',\n Gcy: '\u0413',\n Gdot: '\u0120',\n Gfr: '\uD835\uDD0A',\n Gg: '\u22D9',\n Gopf: '\uD835\uDD3E',\n GreaterEqual: '\u2265',\n GreaterEqualLess: '\u22DB',\n GreaterFullEqual: '\u2267',\n GreaterGreater: '\u2AA2',\n GreaterLess: '\u2277',\n GreaterSlantEqual: '\u2A7E',\n GreaterTilde: '\u2273',\n Gscr: '\uD835\uDCA2',\n Gt: '\u226B',\n HARDcy: '\u042A',\n Hacek: '\u02C7',\n Hat: '^',\n Hcirc: '\u0124',\n Hfr: '\u210C',\n HilbertSpace: '\u210B',\n Hopf: '\u210D',\n HorizontalLine: '\u2500',\n Hscr: '\u210B',\n Hstrok: '\u0126',\n HumpDownHump: '\u224E',\n HumpEqual: '\u224F',\n IEcy: '\u0415',\n IJlig: '\u0132',\n IOcy: '\u0401',\n Iacute: '\u00CD',\n Icirc: '\u00CE',\n Icy: '\u0418',\n Idot: '\u0130',\n Ifr: '\u2111',\n Igrave: '\u00CC',\n Im: '\u2111',\n Imacr: '\u012A',\n ImaginaryI: '\u2148',\n Implies: '\u21D2',\n Int: '\u222C',\n Integral: '\u222B',\n Intersection: '\u22C2',\n InvisibleComma: '\u2063',\n InvisibleTimes: '\u2062',\n Iogon: '\u012E',\n Iopf: '\uD835\uDD40',\n Iota: '\u0399',\n Iscr: '\u2110',\n Itilde: '\u0128',\n Iukcy: '\u0406',\n Iuml: '\u00CF',\n Jcirc: '\u0134',\n Jcy: '\u0419',\n Jfr: '\uD835\uDD0D',\n Jopf: '\uD835\uDD41',\n Jscr: '\uD835\uDCA5',\n Jsercy: '\u0408',\n Jukcy: '\u0404',\n KHcy: '\u0425',\n KJcy: '\u040C',\n Kappa: '\u039A',\n Kcedil: '\u0136',\n Kcy: '\u041A',\n Kfr: '\uD835\uDD0E',\n Kopf: '\uD835\uDD42',\n Kscr: '\uD835\uDCA6',\n LJcy: '\u0409',\n LT: '<',\n Lacute: '\u0139',\n Lambda: '\u039B',\n Lang: '\u27EA',\n Laplacetrf: '\u2112',\n Larr: '\u219E',\n Lcaron: '\u013D',\n Lcedil: '\u013B',\n Lcy: '\u041B',\n LeftAngleBracket: '\u27E8',\n LeftArrow: '\u2190',\n LeftArrowBar: '\u21E4',\n LeftArrowRightArrow: '\u21C6',\n LeftCeiling: '\u2308',\n LeftDoubleBracket: '\u27E6',\n LeftDownTeeVector: '\u2961',\n LeftDownVector: '\u21C3',\n LeftDownVectorBar: '\u2959',\n LeftFloor: '\u230A',\n LeftRightArrow: '\u2194',\n LeftRightVector: '\u294E',\n LeftTee: '\u22A3',\n LeftTeeArrow: '\u21A4',\n LeftTeeVector: '\u295A',\n LeftTriangle: '\u22B2',\n LeftTriangleBar: '\u29CF',\n LeftTriangleEqual: '\u22B4',\n LeftUpDownVector: '\u2951',\n LeftUpTeeVector: '\u2960',\n LeftUpVector: '\u21BF',\n LeftUpVectorBar: '\u2958',\n LeftVector: '\u21BC',\n LeftVectorBar: '\u2952',\n Leftarrow: '\u21D0',\n Leftrightarrow: '\u21D4',\n LessEqualGreater: '\u22DA',\n LessFullEqual: '\u2266',\n LessGreater: '\u2276',\n LessLess: '\u2AA1',\n LessSlantEqual: '\u2A7D',\n LessTilde: '\u2272',\n Lfr: '\uD835\uDD0F',\n Ll: '\u22D8',\n Lleftarrow: '\u21DA',\n Lmidot: '\u013F',\n LongLeftArrow: '\u27F5',\n LongLeftRightArrow: '\u27F7',\n LongRightArrow: '\u27F6',\n Longleftarrow: '\u27F8',\n Longleftrightarrow: '\u27FA',\n Longrightarrow: '\u27F9',\n Lopf: '\uD835\uDD43',\n LowerLeftArrow: '\u2199',\n LowerRightArrow: '\u2198',\n Lscr: '\u2112',\n Lsh: '\u21B0',\n Lstrok: '\u0141',\n Lt: '\u226A',\n Map: '\u2905',\n Mcy: '\u041C',\n MediumSpace: '\u205F',\n Mellintrf: '\u2133',\n Mfr: '\uD835\uDD10',\n MinusPlus: '\u2213',\n Mopf: '\uD835\uDD44',\n Mscr: '\u2133',\n Mu: '\u039C',\n NJcy: '\u040A',\n Nacute: '\u0143',\n Ncaron: '\u0147',\n Ncedil: '\u0145',\n Ncy: '\u041D',\n NegativeMediumSpace: '\u200B',\n NegativeThickSpace: '\u200B',\n NegativeThinSpace: '\u200B',\n NegativeVeryThinSpace: '\u200B',\n NestedGreaterGreater: '\u226B',\n NestedLessLess: '\u226A',\n NewLine: '\\n',\n Nfr: '\uD835\uDD11',\n NoBreak: '\u2060',\n NonBreakingSpace: '\u00A0',\n Nopf: '\u2115',\n Not: '\u2AEC',\n NotCongruent: '\u2262',\n NotCupCap: '\u226D',\n NotDoubleVerticalBar: '\u2226',\n NotElement: '\u2209',\n NotEqual: '\u2260',\n NotEqualTilde: '\u2242\u0338',\n NotExists: '\u2204',\n NotGreater: '\u226F',\n NotGreaterEqual: '\u2271',\n NotGreaterFullEqual: '\u2267\u0338',\n NotGreaterGreater: '\u226B\u0338',\n NotGreaterLess: '\u2279',\n NotGreaterSlantEqual: '\u2A7E\u0338',\n NotGreaterTilde: '\u2275',\n NotHumpDownHump: '\u224E\u0338',\n NotHumpEqual: '\u224F\u0338',\n NotLeftTriangle: '\u22EA',\n NotLeftTriangleBar: '\u29CF\u0338',\n NotLeftTriangleEqual: '\u22EC',\n NotLess: '\u226E',\n NotLessEqual: '\u2270',\n NotLessGreater: '\u2278',\n NotLessLess: '\u226A\u0338',\n NotLessSlantEqual: '\u2A7D\u0338',\n NotLessTilde: '\u2274',\n NotNestedGreaterGreater: '\u2AA2\u0338',\n NotNestedLessLess: '\u2AA1\u0338',\n NotPrecedes: '\u2280',\n NotPrecedesEqual: '\u2AAF\u0338',\n NotPrecedesSlantEqual: '\u22E0',\n NotReverseElement: '\u220C',\n NotRightTriangle: '\u22EB',\n NotRightTriangleBar: '\u29D0\u0338',\n NotRightTriangleEqual: '\u22ED',\n NotSquareSubset: '\u228F\u0338',\n NotSquareSubsetEqual: '\u22E2',\n NotSquareSuperset: '\u2290\u0338',\n NotSquareSupersetEqual: '\u22E3',\n NotSubset: '\u2282\u20D2',\n NotSubsetEqual: '\u2288',\n NotSucceeds: '\u2281',\n NotSucceedsEqual: '\u2AB0\u0338',\n NotSucceedsSlantEqual: '\u22E1',\n NotSucceedsTilde: '\u227F\u0338',\n NotSuperset: '\u2283\u20D2',\n NotSupersetEqual: '\u2289',\n NotTilde: '\u2241',\n NotTildeEqual: '\u2244',\n NotTildeFullEqual: '\u2247',\n NotTildeTilde: '\u2249',\n NotVerticalBar: '\u2224',\n Nscr: '\uD835\uDCA9',\n Ntilde: '\u00D1',\n Nu: '\u039D',\n OElig: '\u0152',\n Oacute: '\u00D3',\n Ocirc: '\u00D4',\n Ocy: '\u041E',\n Odblac: '\u0150',\n Ofr: '\uD835\uDD12',\n Ograve: '\u00D2',\n Omacr: '\u014C',\n Omega: '\u03A9',\n Omicron: '\u039F',\n Oopf: '\uD835\uDD46',\n OpenCurlyDoubleQuote: '\u201C',\n OpenCurlyQuote: '\u2018',\n Or: '\u2A54',\n Oscr: '\uD835\uDCAA',\n Oslash: '\u00D8',\n Otilde: '\u00D5',\n Otimes: '\u2A37',\n Ouml: '\u00D6',\n OverBar: '\u203E',\n OverBrace: '\u23DE',\n OverBracket: '\u23B4',\n OverParenthesis: '\u23DC',\n PartialD: '\u2202',\n Pcy: '\u041F',\n Pfr: '\uD835\uDD13',\n Phi: '\u03A6',\n Pi: '\u03A0',\n PlusMinus: '\u00B1',\n Poincareplane: '\u210C',\n Popf: '\u2119',\n Pr: '\u2ABB',\n Precedes: '\u227A',\n PrecedesEqual: '\u2AAF',\n PrecedesSlantEqual: '\u227C',\n PrecedesTilde: '\u227E',\n Prime: '\u2033',\n Product: '\u220F',\n Proportion: '\u2237',\n Proportional: '\u221D',\n Pscr: '\uD835\uDCAB',\n Psi: '\u03A8',\n QUOT: '\"',\n Qfr: '\uD835\uDD14',\n Qopf: '\u211A',\n Qscr: '\uD835\uDCAC',\n RBarr: '\u2910',\n REG: '\u00AE',\n Racute: '\u0154',\n Rang: '\u27EB',\n Rarr: '\u21A0',\n Rarrtl: '\u2916',\n Rcaron: '\u0158',\n Rcedil: '\u0156',\n Rcy: '\u0420',\n Re: '\u211C',\n ReverseElement: '\u220B',\n ReverseEquilibrium: '\u21CB',\n ReverseUpEquilibrium: '\u296F',\n Rfr: '\u211C',\n Rho: '\u03A1',\n RightAngleBracket: '\u27E9',\n RightArrow: '\u2192',\n RightArrowBar: '\u21E5',\n RightArrowLeftArrow: '\u21C4',\n RightCeiling: '\u2309',\n RightDoubleBracket: '\u27E7',\n RightDownTeeVector: '\u295D',\n RightDownVector: '\u21C2',\n RightDownVectorBar: '\u2955',\n RightFloor: '\u230B',\n RightTee: '\u22A2',\n RightTeeArrow: '\u21A6',\n RightTeeVector: '\u295B',\n RightTriangle: '\u22B3',\n RightTriangleBar: '\u29D0',\n RightTriangleEqual: '\u22B5',\n RightUpDownVector: '\u294F',\n RightUpTeeVector: '\u295C',\n RightUpVector: '\u21BE',\n RightUpVectorBar: '\u2954',\n RightVector: '\u21C0',\n RightVectorBar: '\u2953',\n Rightarrow: '\u21D2',\n Ropf: '\u211D',\n RoundImplies: '\u2970',\n Rrightarrow: '\u21DB',\n Rscr: '\u211B',\n Rsh: '\u21B1',\n RuleDelayed: '\u29F4',\n SHCHcy: '\u0429',\n SHcy: '\u0428',\n SOFTcy: '\u042C',\n Sacute: '\u015A',\n Sc: '\u2ABC',\n Scaron: '\u0160',\n Scedil: '\u015E',\n Scirc: '\u015C',\n Scy: '\u0421',\n Sfr: '\uD835\uDD16',\n ShortDownArrow: '\u2193',\n ShortLeftArrow: '\u2190',\n ShortRightArrow: '\u2192',\n ShortUpArrow: '\u2191',\n Sigma: '\u03A3',\n SmallCircle: '\u2218',\n Sopf: '\uD835\uDD4A',\n Sqrt: '\u221A',\n Square: '\u25A1',\n SquareIntersection: '\u2293',\n SquareSubset: '\u228F',\n SquareSubsetEqual: '\u2291',\n SquareSuperset: '\u2290',\n SquareSupersetEqual: '\u2292',\n SquareUnion: '\u2294',\n Sscr: '\uD835\uDCAE',\n Star: '\u22C6',\n Sub: '\u22D0',\n Subset: '\u22D0',\n SubsetEqual: '\u2286',\n Succeeds: '\u227B',\n SucceedsEqual: '\u2AB0',\n SucceedsSlantEqual: '\u227D',\n SucceedsTilde: '\u227F',\n SuchThat: '\u220B',\n Sum: '\u2211',\n Sup: '\u22D1',\n Superset: '\u2283',\n SupersetEqual: '\u2287',\n Supset: '\u22D1',\n THORN: '\u00DE',\n TRADE: '\u2122',\n TSHcy: '\u040B',\n TScy: '\u0426',\n Tab: '\\t',\n Tau: '\u03A4',\n Tcaron: '\u0164',\n Tcedil: '\u0162',\n Tcy: '\u0422',\n Tfr: '\uD835\uDD17',\n Therefore: '\u2234',\n Theta: '\u0398',\n ThickSpace: '\u205F\u200A',\n ThinSpace: '\u2009',\n Tilde: '\u223C',\n TildeEqual: '\u2243',\n TildeFullEqual: '\u2245',\n TildeTilde: '\u2248',\n Topf: '\uD835\uDD4B',\n TripleDot: '\u20DB',\n Tscr: '\uD835\uDCAF',\n Tstrok: '\u0166',\n Uacute: '\u00DA',\n Uarr: '\u219F',\n Uarrocir: '\u2949',\n Ubrcy: '\u040E',\n Ubreve: '\u016C',\n Ucirc: '\u00DB',\n Ucy: '\u0423',\n Udblac: '\u0170',\n Ufr: '\uD835\uDD18',\n Ugrave: '\u00D9',\n Umacr: '\u016A',\n UnderBar: '_',\n UnderBrace: '\u23DF',\n UnderBracket: '\u23B5',\n UnderParenthesis: '\u23DD',\n Union: '\u22C3',\n UnionPlus: '\u228E',\n Uogon: '\u0172',\n Uopf: '\uD835\uDD4C',\n UpArrow: '\u2191',\n UpArrowBar: '\u2912',\n UpArrowDownArrow: '\u21C5',\n UpDownArrow: '\u2195',\n UpEquilibrium: '\u296E',\n UpTee: '\u22A5',\n UpTeeArrow: '\u21A5',\n Uparrow: '\u21D1',\n Updownarrow: '\u21D5',\n UpperLeftArrow: '\u2196',\n UpperRightArrow: '\u2197',\n Upsi: '\u03D2',\n Upsilon: '\u03A5',\n Uring: '\u016E',\n Uscr: '\uD835\uDCB0',\n Utilde: '\u0168',\n Uuml: '\u00DC',\n VDash: '\u22AB',\n Vbar: '\u2AEB',\n Vcy: '\u0412',\n Vdash: '\u22A9',\n Vdashl: '\u2AE6',\n Vee: '\u22C1',\n Verbar: '\u2016',\n Vert: '\u2016',\n VerticalBar: '\u2223',\n VerticalLine: '|',\n VerticalSeparator: '\u2758',\n VerticalTilde: '\u2240',\n VeryThinSpace: '\u200A',\n Vfr: '\uD835\uDD19',\n Vopf: '\uD835\uDD4D',\n Vscr: '\uD835\uDCB1',\n Vvdash: '\u22AA',\n Wcirc: '\u0174',\n Wedge: '\u22C0',\n Wfr: '\uD835\uDD1A',\n Wopf: '\uD835\uDD4E',\n Wscr: '\uD835\uDCB2',\n Xfr: '\uD835\uDD1B',\n Xi: '\u039E',\n Xopf: '\uD835\uDD4F',\n Xscr: '\uD835\uDCB3',\n YAcy: '\u042F',\n YIcy: '\u0407',\n YUcy: '\u042E',\n Yacute: '\u00DD',\n Ycirc: '\u0176',\n Ycy: '\u042B',\n Yfr: '\uD835\uDD1C',\n Yopf: '\uD835\uDD50',\n Yscr: '\uD835\uDCB4',\n Yuml: '\u0178',\n ZHcy: '\u0416',\n Zacute: '\u0179',\n Zcaron: '\u017D',\n Zcy: '\u0417',\n Zdot: '\u017B',\n ZeroWidthSpace: '\u200B',\n Zeta: '\u0396',\n Zfr: '\u2128',\n Zopf: '\u2124',\n Zscr: '\uD835\uDCB5',\n aacute: '\u00E1',\n abreve: '\u0103',\n ac: '\u223E',\n acE: '\u223E\u0333',\n acd: '\u223F',\n acirc: '\u00E2',\n acute: '\u00B4',\n acy: '\u0430',\n aelig: '\u00E6',\n af: '\u2061',\n afr: '\uD835\uDD1E',\n agrave: '\u00E0',\n alefsym: '\u2135',\n aleph: '\u2135',\n alpha: '\u03B1',\n amacr: '\u0101',\n amalg: '\u2A3F',\n amp: '&',\n and: '\u2227',\n andand: '\u2A55',\n andd: '\u2A5C',\n andslope: '\u2A58',\n andv: '\u2A5A',\n ang: '\u2220',\n ange: '\u29A4',\n angle: '\u2220',\n angmsd: '\u2221',\n angmsdaa: '\u29A8',\n angmsdab: '\u29A9',\n angmsdac: '\u29AA',\n angmsdad: '\u29AB',\n angmsdae: '\u29AC',\n angmsdaf: '\u29AD',\n angmsdag: '\u29AE',\n angmsdah: '\u29AF',\n angrt: '\u221F',\n angrtvb: '\u22BE',\n angrtvbd: '\u299D',\n angsph: '\u2222',\n angst: '\u00C5',\n angzarr: '\u237C',\n aogon: '\u0105',\n aopf: '\uD835\uDD52',\n ap: '\u2248',\n apE: '\u2A70',\n apacir: '\u2A6F',\n ape: '\u224A',\n apid: '\u224B',\n apos: \"'\",\n approx: '\u2248',\n approxeq: '\u224A',\n aring: '\u00E5',\n ascr: '\uD835\uDCB6',\n ast: '*',\n asymp: '\u2248',\n asympeq: '\u224D',\n atilde: '\u00E3',\n auml: '\u00E4',\n awconint: '\u2233',\n awint: '\u2A11',\n bNot: '\u2AED',\n backcong: '\u224C',\n backepsilon: '\u03F6',\n backprime: '\u2035',\n backsim: '\u223D',\n backsimeq: '\u22CD',\n barvee: '\u22BD',\n barwed: '\u2305',\n barwedge: '\u2305',\n bbrk: '\u23B5',\n bbrktbrk: '\u23B6',\n bcong: '\u224C',\n bcy: '\u0431',\n bdquo: '\u201E',\n becaus: '\u2235',\n because: '\u2235',\n bemptyv: '\u29B0',\n bepsi: '\u03F6',\n bernou: '\u212C',\n beta: '\u03B2',\n beth: '\u2136',\n between: '\u226C',\n bfr: '\uD835\uDD1F',\n bigcap: '\u22C2',\n bigcirc: '\u25EF',\n bigcup: '\u22C3',\n bigodot: '\u2A00',\n bigoplus: '\u2A01',\n bigotimes: '\u2A02',\n bigsqcup: '\u2A06',\n bigstar: '\u2605',\n bigtriangledown: '\u25BD',\n bigtriangleup: '\u25B3',\n biguplus: '\u2A04',\n bigvee: '\u22C1',\n bigwedge: '\u22C0',\n bkarow: '\u290D',\n blacklozenge: '\u29EB',\n blacksquare: '\u25AA',\n blacktriangle: '\u25B4',\n blacktriangledown: '\u25BE',\n blacktriangleleft: '\u25C2',\n blacktriangleright: '\u25B8',\n blank: '\u2423',\n blk12: '\u2592',\n blk14: '\u2591',\n blk34: '\u2593',\n block: '\u2588',\n bne: '=\u20E5',\n bnequiv: '\u2261\u20E5',\n bnot: '\u2310',\n bopf: '\uD835\uDD53',\n bot: '\u22A5',\n bottom: '\u22A5',\n bowtie: '\u22C8',\n boxDL: '\u2557',\n boxDR: '\u2554',\n boxDl: '\u2556',\n boxDr: '\u2553',\n boxH: '\u2550',\n boxHD: '\u2566',\n boxHU: '\u2569',\n boxHd: '\u2564',\n boxHu: '\u2567',\n boxUL: '\u255D',\n boxUR: '\u255A',\n boxUl: '\u255C',\n boxUr: '\u2559',\n boxV: '\u2551',\n boxVH: '\u256C',\n boxVL: '\u2563',\n boxVR: '\u2560',\n boxVh: '\u256B',\n boxVl: '\u2562',\n boxVr: '\u255F',\n boxbox: '\u29C9',\n boxdL: '\u2555',\n boxdR: '\u2552',\n boxdl: '\u2510',\n boxdr: '\u250C',\n boxh: '\u2500',\n boxhD: '\u2565',\n boxhU: '\u2568',\n boxhd: '\u252C',\n boxhu: '\u2534',\n boxminus: '\u229F',\n boxplus: '\u229E',\n boxtimes: '\u22A0',\n boxuL: '\u255B',\n boxuR: '\u2558',\n boxul: '\u2518',\n boxur: '\u2514',\n boxv: '\u2502',\n boxvH: '\u256A',\n boxvL: '\u2561',\n boxvR: '\u255E',\n boxvh: '\u253C',\n boxvl: '\u2524',\n boxvr: '\u251C',\n bprime: '\u2035',\n breve: '\u02D8',\n brvbar: '\u00A6',\n bscr: '\uD835\uDCB7',\n bsemi: '\u204F',\n bsim: '\u223D',\n bsime: '\u22CD',\n bsol: '\\\\',\n bsolb: '\u29C5',\n bsolhsub: '\u27C8',\n bull: '\u2022',\n bullet: '\u2022',\n bump: '\u224E',\n bumpE: '\u2AAE',\n bumpe: '\u224F',\n bumpeq: '\u224F',\n cacute: '\u0107',\n cap: '\u2229',\n capand: '\u2A44',\n capbrcup: '\u2A49',\n capcap: '\u2A4B',\n capcup: '\u2A47',\n capdot: '\u2A40',\n caps: '\u2229\uFE00',\n caret: '\u2041',\n caron: '\u02C7',\n ccaps: '\u2A4D',\n ccaron: '\u010D',\n ccedil: '\u00E7',\n ccirc: '\u0109',\n ccups: '\u2A4C',\n ccupssm: '\u2A50',\n cdot: '\u010B',\n cedil: '\u00B8',\n cemptyv: '\u29B2',\n cent: '\u00A2',\n centerdot: '\u00B7',\n cfr: '\uD835\uDD20',\n chcy: '\u0447',\n check: '\u2713',\n checkmark: '\u2713',\n chi: '\u03C7',\n cir: '\u25CB',\n cirE: '\u29C3',\n circ: '\u02C6',\n circeq: '\u2257',\n circlearrowleft: '\u21BA',\n circlearrowright: '\u21BB',\n circledR: '\u00AE',\n circledS: '\u24C8',\n circledast: '\u229B',\n circledcirc: '\u229A',\n circleddash: '\u229D',\n cire: '\u2257',\n cirfnint: '\u2A10',\n cirmid: '\u2AEF',\n cirscir: '\u29C2',\n clubs: '\u2663',\n clubsuit: '\u2663',\n colon: ':',\n colone: '\u2254',\n coloneq: '\u2254',\n comma: ',',\n commat: '@',\n comp: '\u2201',\n compfn: '\u2218',\n complement: '\u2201',\n complexes: '\u2102',\n cong: '\u2245',\n congdot: '\u2A6D',\n conint: '\u222E',\n copf: '\uD835\uDD54',\n coprod: '\u2210',\n copy: '\u00A9',\n copysr: '\u2117',\n crarr: '\u21B5',\n cross: '\u2717',\n cscr: '\uD835\uDCB8',\n csub: '\u2ACF',\n csube: '\u2AD1',\n csup: '\u2AD0',\n csupe: '\u2AD2',\n ctdot: '\u22EF',\n cudarrl: '\u2938',\n cudarrr: '\u2935',\n cuepr: '\u22DE',\n cuesc: '\u22DF',\n cularr: '\u21B6',\n cularrp: '\u293D',\n cup: '\u222A',\n cupbrcap: '\u2A48',\n cupcap: '\u2A46',\n cupcup: '\u2A4A',\n cupdot: '\u228D',\n cupor: '\u2A45',\n cups: '\u222A\uFE00',\n curarr: '\u21B7',\n curarrm: '\u293C',\n curlyeqprec: '\u22DE',\n curlyeqsucc: '\u22DF',\n curlyvee: '\u22CE',\n curlywedge: '\u22CF',\n curren: '\u00A4',\n curvearrowleft: '\u21B6',\n curvearrowright: '\u21B7',\n cuvee: '\u22CE',\n cuwed: '\u22CF',\n cwconint: '\u2232',\n cwint: '\u2231',\n cylcty: '\u232D',\n dArr: '\u21D3',\n dHar: '\u2965',\n dagger: '\u2020',\n daleth: '\u2138',\n darr: '\u2193',\n dash: '\u2010',\n dashv: '\u22A3',\n dbkarow: '\u290F',\n dblac: '\u02DD',\n dcaron: '\u010F',\n dcy: '\u0434',\n dd: '\u2146',\n ddagger: '\u2021',\n ddarr: '\u21CA',\n ddotseq: '\u2A77',\n deg: '\u00B0',\n delta: '\u03B4',\n demptyv: '\u29B1',\n dfisht: '\u297F',\n dfr: '\uD835\uDD21',\n dharl: '\u21C3',\n dharr: '\u21C2',\n diam: '\u22C4',\n diamond: '\u22C4',\n diamondsuit: '\u2666',\n diams: '\u2666',\n die: '\u00A8',\n digamma: '\u03DD',\n disin: '\u22F2',\n div: '\u00F7',\n divide: '\u00F7',\n divideontimes: '\u22C7',\n divonx: '\u22C7',\n djcy: '\u0452',\n dlcorn: '\u231E',\n dlcrop: '\u230D',\n dollar: '$',\n dopf: '\uD835\uDD55',\n dot: '\u02D9',\n doteq: '\u2250',\n doteqdot: '\u2251',\n dotminus: '\u2238',\n dotplus: '\u2214',\n dotsquare: '\u22A1',\n doublebarwedge: '\u2306',\n downarrow: '\u2193',\n downdownarrows: '\u21CA',\n downharpoonleft: '\u21C3',\n downharpoonright: '\u21C2',\n drbkarow: '\u2910',\n drcorn: '\u231F',\n drcrop: '\u230C',\n dscr: '\uD835\uDCB9',\n dscy: '\u0455',\n dsol: '\u29F6',\n dstrok: '\u0111',\n dtdot: '\u22F1',\n dtri: '\u25BF',\n dtrif: '\u25BE',\n duarr: '\u21F5',\n duhar: '\u296F',\n dwangle: '\u29A6',\n dzcy: '\u045F',\n dzigrarr: '\u27FF',\n eDDot: '\u2A77',\n eDot: '\u2251',\n eacute: '\u00E9',\n easter: '\u2A6E',\n ecaron: '\u011B',\n ecir: '\u2256',\n ecirc: '\u00EA',\n ecolon: '\u2255',\n ecy: '\u044D',\n edot: '\u0117',\n ee: '\u2147',\n efDot: '\u2252',\n efr: '\uD835\uDD22',\n eg: '\u2A9A',\n egrave: '\u00E8',\n egs: '\u2A96',\n egsdot: '\u2A98',\n el: '\u2A99',\n elinters: '\u23E7',\n ell: '\u2113',\n els: '\u2A95',\n elsdot: '\u2A97',\n emacr: '\u0113',\n empty: '\u2205',\n emptyset: '\u2205',\n emptyv: '\u2205',\n emsp13: '\u2004',\n emsp14: '\u2005',\n emsp: '\u2003',\n eng: '\u014B',\n ensp: '\u2002',\n eogon: '\u0119',\n eopf: '\uD835\uDD56',\n epar: '\u22D5',\n eparsl: '\u29E3',\n eplus: '\u2A71',\n epsi: '\u03B5',\n epsilon: '\u03B5',\n epsiv: '\u03F5',\n eqcirc: '\u2256',\n eqcolon: '\u2255',\n eqsim: '\u2242',\n eqslantgtr: '\u2A96',\n eqslantless: '\u2A95',\n equals: '=',\n equest: '\u225F',\n equiv: '\u2261',\n equivDD: '\u2A78',\n eqvparsl: '\u29E5',\n erDot: '\u2253',\n erarr: '\u2971',\n escr: '\u212F',\n esdot: '\u2250',\n esim: '\u2242',\n eta: '\u03B7',\n eth: '\u00F0',\n euml: '\u00EB',\n euro: '\u20AC',\n excl: '!',\n exist: '\u2203',\n expectation: '\u2130',\n exponentiale: '\u2147',\n fallingdotseq: '\u2252',\n fcy: '\u0444',\n female: '\u2640',\n ffilig: '\uFB03',\n fflig: '\uFB00',\n ffllig: '\uFB04',\n ffr: '\uD835\uDD23',\n filig: '\uFB01',\n fjlig: 'fj',\n flat: '\u266D',\n fllig: '\uFB02',\n fltns: '\u25B1',\n fnof: '\u0192',\n fopf: '\uD835\uDD57',\n forall: '\u2200',\n fork: '\u22D4',\n forkv: '\u2AD9',\n fpartint: '\u2A0D',\n frac12: '\u00BD',\n frac13: '\u2153',\n frac14: '\u00BC',\n frac15: '\u2155',\n frac16: '\u2159',\n frac18: '\u215B',\n frac23: '\u2154',\n frac25: '\u2156',\n frac34: '\u00BE',\n frac35: '\u2157',\n frac38: '\u215C',\n frac45: '\u2158',\n frac56: '\u215A',\n frac58: '\u215D',\n frac78: '\u215E',\n frasl: '\u2044',\n frown: '\u2322',\n fscr: '\uD835\uDCBB',\n gE: '\u2267',\n gEl: '\u2A8C',\n gacute: '\u01F5',\n gamma: '\u03B3',\n gammad: '\u03DD',\n gap: '\u2A86',\n gbreve: '\u011F',\n gcirc: '\u011D',\n gcy: '\u0433',\n gdot: '\u0121',\n ge: '\u2265',\n gel: '\u22DB',\n geq: '\u2265',\n geqq: '\u2267',\n geqslant: '\u2A7E',\n ges: '\u2A7E',\n gescc: '\u2AA9',\n gesdot: '\u2A80',\n gesdoto: '\u2A82',\n gesdotol: '\u2A84',\n gesl: '\u22DB\uFE00',\n gesles: '\u2A94',\n gfr: '\uD835\uDD24',\n gg: '\u226B',\n ggg: '\u22D9',\n gimel: '\u2137',\n gjcy: '\u0453',\n gl: '\u2277',\n glE: '\u2A92',\n gla: '\u2AA5',\n glj: '\u2AA4',\n gnE: '\u2269',\n gnap: '\u2A8A',\n gnapprox: '\u2A8A',\n gne: '\u2A88',\n gneq: '\u2A88',\n gneqq: '\u2269',\n gnsim: '\u22E7',\n gopf: '\uD835\uDD58',\n grave: '`',\n gscr: '\u210A',\n gsim: '\u2273',\n gsime: '\u2A8E',\n gsiml: '\u2A90',\n gt: '>',\n gtcc: '\u2AA7',\n gtcir: '\u2A7A',\n gtdot: '\u22D7',\n gtlPar: '\u2995',\n gtquest: '\u2A7C',\n gtrapprox: '\u2A86',\n gtrarr: '\u2978',\n gtrdot: '\u22D7',\n gtreqless: '\u22DB',\n gtreqqless: '\u2A8C',\n gtrless: '\u2277',\n gtrsim: '\u2273',\n gvertneqq: '\u2269\uFE00',\n gvnE: '\u2269\uFE00',\n hArr: '\u21D4',\n hairsp: '\u200A',\n half: '\u00BD',\n hamilt: '\u210B',\n hardcy: '\u044A',\n harr: '\u2194',\n harrcir: '\u2948',\n harrw: '\u21AD',\n hbar: '\u210F',\n hcirc: '\u0125',\n hearts: '\u2665',\n heartsuit: '\u2665',\n hellip: '\u2026',\n hercon: '\u22B9',\n hfr: '\uD835\uDD25',\n hksearow: '\u2925',\n hkswarow: '\u2926',\n hoarr: '\u21FF',\n homtht: '\u223B',\n hookleftarrow: '\u21A9',\n hookrightarrow: '\u21AA',\n hopf: '\uD835\uDD59',\n horbar: '\u2015',\n hscr: '\uD835\uDCBD',\n hslash: '\u210F',\n hstrok: '\u0127',\n hybull: '\u2043',\n hyphen: '\u2010',\n iacute: '\u00ED',\n ic: '\u2063',\n icirc: '\u00EE',\n icy: '\u0438',\n iecy: '\u0435',\n iexcl: '\u00A1',\n iff: '\u21D4',\n ifr: '\uD835\uDD26',\n igrave: '\u00EC',\n ii: '\u2148',\n iiiint: '\u2A0C',\n iiint: '\u222D',\n iinfin: '\u29DC',\n iiota: '\u2129',\n ijlig: '\u0133',\n imacr: '\u012B',\n image: '\u2111',\n imagline: '\u2110',\n imagpart: '\u2111',\n imath: '\u0131',\n imof: '\u22B7',\n imped: '\u01B5',\n in: '\u2208',\n incare: '\u2105',\n infin: '\u221E',\n infintie: '\u29DD',\n inodot: '\u0131',\n int: '\u222B',\n intcal: '\u22BA',\n integers: '\u2124',\n intercal: '\u22BA',\n intlarhk: '\u2A17',\n intprod: '\u2A3C',\n iocy: '\u0451',\n iogon: '\u012F',\n iopf: '\uD835\uDD5A',\n iota: '\u03B9',\n iprod: '\u2A3C',\n iquest: '\u00BF',\n iscr: '\uD835\uDCBE',\n isin: '\u2208',\n isinE: '\u22F9',\n isindot: '\u22F5',\n isins: '\u22F4',\n isinsv: '\u22F3',\n isinv: '\u2208',\n it: '\u2062',\n itilde: '\u0129',\n iukcy: '\u0456',\n iuml: '\u00EF',\n jcirc: '\u0135',\n jcy: '\u0439',\n jfr: '\uD835\uDD27',\n jmath: '\u0237',\n jopf: '\uD835\uDD5B',\n jscr: '\uD835\uDCBF',\n jsercy: '\u0458',\n jukcy: '\u0454',\n kappa: '\u03BA',\n kappav: '\u03F0',\n kcedil: '\u0137',\n kcy: '\u043A',\n kfr: '\uD835\uDD28',\n kgreen: '\u0138',\n khcy: '\u0445',\n kjcy: '\u045C',\n kopf: '\uD835\uDD5C',\n kscr: '\uD835\uDCC0',\n lAarr: '\u21DA',\n lArr: '\u21D0',\n lAtail: '\u291B',\n lBarr: '\u290E',\n lE: '\u2266',\n lEg: '\u2A8B',\n lHar: '\u2962',\n lacute: '\u013A',\n laemptyv: '\u29B4',\n lagran: '\u2112',\n lambda: '\u03BB',\n lang: '\u27E8',\n langd: '\u2991',\n langle: '\u27E8',\n lap: '\u2A85',\n laquo: '\u00AB',\n larr: '\u2190',\n larrb: '\u21E4',\n larrbfs: '\u291F',\n larrfs: '\u291D',\n larrhk: '\u21A9',\n larrlp: '\u21AB',\n larrpl: '\u2939',\n larrsim: '\u2973',\n larrtl: '\u21A2',\n lat: '\u2AAB',\n latail: '\u2919',\n late: '\u2AAD',\n lates: '\u2AAD\uFE00',\n lbarr: '\u290C',\n lbbrk: '\u2772',\n lbrace: '{',\n lbrack: '[',\n lbrke: '\u298B',\n lbrksld: '\u298F',\n lbrkslu: '\u298D',\n lcaron: '\u013E',\n lcedil: '\u013C',\n lceil: '\u2308',\n lcub: '{',\n lcy: '\u043B',\n ldca: '\u2936',\n ldquo: '\u201C',\n ldquor: '\u201E',\n ldrdhar: '\u2967',\n ldrushar: '\u294B',\n ldsh: '\u21B2',\n le: '\u2264',\n leftarrow: '\u2190',\n leftarrowtail: '\u21A2',\n leftharpoondown: '\u21BD',\n leftharpoonup: '\u21BC',\n leftleftarrows: '\u21C7',\n leftrightarrow: '\u2194',\n leftrightarrows: '\u21C6',\n leftrightharpoons: '\u21CB',\n leftrightsquigarrow: '\u21AD',\n leftthreetimes: '\u22CB',\n leg: '\u22DA',\n leq: '\u2264',\n leqq: '\u2266',\n leqslant: '\u2A7D',\n les: '\u2A7D',\n lescc: '\u2AA8',\n lesdot: '\u2A7F',\n lesdoto: '\u2A81',\n lesdotor: '\u2A83',\n lesg: '\u22DA\uFE00',\n lesges: '\u2A93',\n lessapprox: '\u2A85',\n lessdot: '\u22D6',\n lesseqgtr: '\u22DA',\n lesseqqgtr: '\u2A8B',\n lessgtr: '\u2276',\n lesssim: '\u2272',\n lfisht: '\u297C',\n lfloor: '\u230A',\n lfr: '\uD835\uDD29',\n lg: '\u2276',\n lgE: '\u2A91',\n lhard: '\u21BD',\n lharu: '\u21BC',\n lharul: '\u296A',\n lhblk: '\u2584',\n ljcy: '\u0459',\n ll: '\u226A',\n llarr: '\u21C7',\n llcorner: '\u231E',\n llhard: '\u296B',\n lltri: '\u25FA',\n lmidot: '\u0140',\n lmoust: '\u23B0',\n lmoustache: '\u23B0',\n lnE: '\u2268',\n lnap: '\u2A89',\n lnapprox: '\u2A89',\n lne: '\u2A87',\n lneq: '\u2A87',\n lneqq: '\u2268',\n lnsim: '\u22E6',\n loang: '\u27EC',\n loarr: '\u21FD',\n lobrk: '\u27E6',\n longleftarrow: '\u27F5',\n longleftrightarrow: '\u27F7',\n longmapsto: '\u27FC',\n longrightarrow: '\u27F6',\n looparrowleft: '\u21AB',\n looparrowright: '\u21AC',\n lopar: '\u2985',\n lopf: '\uD835\uDD5D',\n loplus: '\u2A2D',\n lotimes: '\u2A34',\n lowast: '\u2217',\n lowbar: '_',\n loz: '\u25CA',\n lozenge: '\u25CA',\n lozf: '\u29EB',\n lpar: '(',\n lparlt: '\u2993',\n lrarr: '\u21C6',\n lrcorner: '\u231F',\n lrhar: '\u21CB',\n lrhard: '\u296D',\n lrm: '\u200E',\n lrtri: '\u22BF',\n lsaquo: '\u2039',\n lscr: '\uD835\uDCC1',\n lsh: '\u21B0',\n lsim: '\u2272',\n lsime: '\u2A8D',\n lsimg: '\u2A8F',\n lsqb: '[',\n lsquo: '\u2018',\n lsquor: '\u201A',\n lstrok: '\u0142',\n lt: '<',\n ltcc: '\u2AA6',\n ltcir: '\u2A79',\n ltdot: '\u22D6',\n lthree: '\u22CB',\n ltimes: '\u22C9',\n ltlarr: '\u2976',\n ltquest: '\u2A7B',\n ltrPar: '\u2996',\n ltri: '\u25C3',\n ltrie: '\u22B4',\n ltrif: '\u25C2',\n lurdshar: '\u294A',\n luruhar: '\u2966',\n lvertneqq: '\u2268\uFE00',\n lvnE: '\u2268\uFE00',\n mDDot: '\u223A',\n macr: '\u00AF',\n male: '\u2642',\n malt: '\u2720',\n maltese: '\u2720',\n map: '\u21A6',\n mapsto: '\u21A6',\n mapstodown: '\u21A7',\n mapstoleft: '\u21A4',\n mapstoup: '\u21A5',\n marker: '\u25AE',\n mcomma: '\u2A29',\n mcy: '\u043C',\n mdash: '\u2014',\n measuredangle: '\u2221',\n mfr: '\uD835\uDD2A',\n mho: '\u2127',\n micro: '\u00B5',\n mid: '\u2223',\n midast: '*',\n midcir: '\u2AF0',\n middot: '\u00B7',\n minus: '\u2212',\n minusb: '\u229F',\n minusd: '\u2238',\n minusdu: '\u2A2A',\n mlcp: '\u2ADB',\n mldr: '\u2026',\n mnplus: '\u2213',\n models: '\u22A7',\n mopf: '\uD835\uDD5E',\n mp: '\u2213',\n mscr: '\uD835\uDCC2',\n mstpos: '\u223E',\n mu: '\u03BC',\n multimap: '\u22B8',\n mumap: '\u22B8',\n nGg: '\u22D9\u0338',\n nGt: '\u226B\u20D2',\n nGtv: '\u226B\u0338',\n nLeftarrow: '\u21CD',\n nLeftrightarrow: '\u21CE',\n nLl: '\u22D8\u0338',\n nLt: '\u226A\u20D2',\n nLtv: '\u226A\u0338',\n nRightarrow: '\u21CF',\n nVDash: '\u22AF',\n nVdash: '\u22AE',\n nabla: '\u2207',\n nacute: '\u0144',\n nang: '\u2220\u20D2',\n nap: '\u2249',\n napE: '\u2A70\u0338',\n napid: '\u224B\u0338',\n napos: '\u0149',\n napprox: '\u2249',\n natur: '\u266E',\n natural: '\u266E',\n naturals: '\u2115',\n nbsp: '\u00A0',\n nbump: '\u224E\u0338',\n nbumpe: '\u224F\u0338',\n ncap: '\u2A43',\n ncaron: '\u0148',\n ncedil: '\u0146',\n ncong: '\u2247',\n ncongdot: '\u2A6D\u0338',\n ncup: '\u2A42',\n ncy: '\u043D',\n ndash: '\u2013',\n ne: '\u2260',\n neArr: '\u21D7',\n nearhk: '\u2924',\n nearr: '\u2197',\n nearrow: '\u2197',\n nedot: '\u2250\u0338',\n nequiv: '\u2262',\n nesear: '\u2928',\n nesim: '\u2242\u0338',\n nexist: '\u2204',\n nexists: '\u2204',\n nfr: '\uD835\uDD2B',\n ngE: '\u2267\u0338',\n nge: '\u2271',\n ngeq: '\u2271',\n ngeqq: '\u2267\u0338',\n ngeqslant: '\u2A7E\u0338',\n nges: '\u2A7E\u0338',\n ngsim: '\u2275',\n ngt: '\u226F',\n ngtr: '\u226F',\n nhArr: '\u21CE',\n nharr: '\u21AE',\n nhpar: '\u2AF2',\n ni: '\u220B',\n nis: '\u22FC',\n nisd: '\u22FA',\n niv: '\u220B',\n njcy: '\u045A',\n nlArr: '\u21CD',\n nlE: '\u2266\u0338',\n nlarr: '\u219A',\n nldr: '\u2025',\n nle: '\u2270',\n nleftarrow: '\u219A',\n nleftrightarrow: '\u21AE',\n nleq: '\u2270',\n nleqq: '\u2266\u0338',\n nleqslant: '\u2A7D\u0338',\n nles: '\u2A7D\u0338',\n nless: '\u226E',\n nlsim: '\u2274',\n nlt: '\u226E',\n nltri: '\u22EA',\n nltrie: '\u22EC',\n nmid: '\u2224',\n nopf: '\uD835\uDD5F',\n not: '\u00AC',\n notin: '\u2209',\n notinE: '\u22F9\u0338',\n notindot: '\u22F5\u0338',\n notinva: '\u2209',\n notinvb: '\u22F7',\n notinvc: '\u22F6',\n notni: '\u220C',\n notniva: '\u220C',\n notnivb: '\u22FE',\n notnivc: '\u22FD',\n npar: '\u2226',\n nparallel: '\u2226',\n nparsl: '\u2AFD\u20E5',\n npart: '\u2202\u0338',\n npolint: '\u2A14',\n npr: '\u2280',\n nprcue: '\u22E0',\n npre: '\u2AAF\u0338',\n nprec: '\u2280',\n npreceq: '\u2AAF\u0338',\n nrArr: '\u21CF',\n nrarr: '\u219B',\n nrarrc: '\u2933\u0338',\n nrarrw: '\u219D\u0338',\n nrightarrow: '\u219B',\n nrtri: '\u22EB',\n nrtrie: '\u22ED',\n nsc: '\u2281',\n nsccue: '\u22E1',\n nsce: '\u2AB0\u0338',\n nscr: '\uD835\uDCC3',\n nshortmid: '\u2224',\n nshortparallel: '\u2226',\n nsim: '\u2241',\n nsime: '\u2244',\n nsimeq: '\u2244',\n nsmid: '\u2224',\n nspar: '\u2226',\n nsqsube: '\u22E2',\n nsqsupe: '\u22E3',\n nsub: '\u2284',\n nsubE: '\u2AC5\u0338',\n nsube: '\u2288',\n nsubset: '\u2282\u20D2',\n nsubseteq: '\u2288',\n nsubseteqq: '\u2AC5\u0338',\n nsucc: '\u2281',\n nsucceq: '\u2AB0\u0338',\n nsup: '\u2285',\n nsupE: '\u2AC6\u0338',\n nsupe: '\u2289',\n nsupset: '\u2283\u20D2',\n nsupseteq: '\u2289',\n nsupseteqq: '\u2AC6\u0338',\n ntgl: '\u2279',\n ntilde: '\u00F1',\n ntlg: '\u2278',\n ntriangleleft: '\u22EA',\n ntrianglelefteq: '\u22EC',\n ntriangleright: '\u22EB',\n ntrianglerighteq: '\u22ED',\n nu: '\u03BD',\n num: '#',\n numero: '\u2116',\n numsp: '\u2007',\n nvDash: '\u22AD',\n nvHarr: '\u2904',\n nvap: '\u224D\u20D2',\n nvdash: '\u22AC',\n nvge: '\u2265\u20D2',\n nvgt: '>\u20D2',\n nvinfin: '\u29DE',\n nvlArr: '\u2902',\n nvle: '\u2264\u20D2',\n nvlt: '<\u20D2',\n nvltrie: '\u22B4\u20D2',\n nvrArr: '\u2903',\n nvrtrie: '\u22B5\u20D2',\n nvsim: '\u223C\u20D2',\n nwArr: '\u21D6',\n nwarhk: '\u2923',\n nwarr: '\u2196',\n nwarrow: '\u2196',\n nwnear: '\u2927',\n oS: '\u24C8',\n oacute: '\u00F3',\n oast: '\u229B',\n ocir: '\u229A',\n ocirc: '\u00F4',\n ocy: '\u043E',\n odash: '\u229D',\n odblac: '\u0151',\n odiv: '\u2A38',\n odot: '\u2299',\n odsold: '\u29BC',\n oelig: '\u0153',\n ofcir: '\u29BF',\n ofr: '\uD835\uDD2C',\n ogon: '\u02DB',\n ograve: '\u00F2',\n ogt: '\u29C1',\n ohbar: '\u29B5',\n ohm: '\u03A9',\n oint: '\u222E',\n olarr: '\u21BA',\n olcir: '\u29BE',\n olcross: '\u29BB',\n oline: '\u203E',\n olt: '\u29C0',\n omacr: '\u014D',\n omega: '\u03C9',\n omicron: '\u03BF',\n omid: '\u29B6',\n ominus: '\u2296',\n oopf: '\uD835\uDD60',\n opar: '\u29B7',\n operp: '\u29B9',\n oplus: '\u2295',\n or: '\u2228',\n orarr: '\u21BB',\n ord: '\u2A5D',\n order: '\u2134',\n orderof: '\u2134',\n ordf: '\u00AA',\n ordm: '\u00BA',\n origof: '\u22B6',\n oror: '\u2A56',\n orslope: '\u2A57',\n orv: '\u2A5B',\n oscr: '\u2134',\n oslash: '\u00F8',\n osol: '\u2298',\n otilde: '\u00F5',\n otimes: '\u2297',\n otimesas: '\u2A36',\n ouml: '\u00F6',\n ovbar: '\u233D',\n par: '\u2225',\n para: '\u00B6',\n parallel: '\u2225',\n parsim: '\u2AF3',\n parsl: '\u2AFD',\n part: '\u2202',\n pcy: '\u043F',\n percnt: '%',\n period: '.',\n permil: '\u2030',\n perp: '\u22A5',\n pertenk: '\u2031',\n pfr: '\uD835\uDD2D',\n phi: '\u03C6',\n phiv: '\u03D5',\n phmmat: '\u2133',\n phone: '\u260E',\n pi: '\u03C0',\n pitchfork: '\u22D4',\n piv: '\u03D6',\n planck: '\u210F',\n planckh: '\u210E',\n plankv: '\u210F',\n plus: '+',\n plusacir: '\u2A23',\n plusb: '\u229E',\n pluscir: '\u2A22',\n plusdo: '\u2214',\n plusdu: '\u2A25',\n pluse: '\u2A72',\n plusmn: '\u00B1',\n plussim: '\u2A26',\n plustwo: '\u2A27',\n pm: '\u00B1',\n pointint: '\u2A15',\n popf: '\uD835\uDD61',\n pound: '\u00A3',\n pr: '\u227A',\n prE: '\u2AB3',\n prap: '\u2AB7',\n prcue: '\u227C',\n pre: '\u2AAF',\n prec: '\u227A',\n precapprox: '\u2AB7',\n preccurlyeq: '\u227C',\n preceq: '\u2AAF',\n precnapprox: '\u2AB9',\n precneqq: '\u2AB5',\n precnsim: '\u22E8',\n precsim: '\u227E',\n prime: '\u2032',\n primes: '\u2119',\n prnE: '\u2AB5',\n prnap: '\u2AB9',\n prnsim: '\u22E8',\n prod: '\u220F',\n profalar: '\u232E',\n profline: '\u2312',\n profsurf: '\u2313',\n prop: '\u221D',\n propto: '\u221D',\n prsim: '\u227E',\n prurel: '\u22B0',\n pscr: '\uD835\uDCC5',\n psi: '\u03C8',\n puncsp: '\u2008',\n qfr: '\uD835\uDD2E',\n qint: '\u2A0C',\n qopf: '\uD835\uDD62',\n qprime: '\u2057',\n qscr: '\uD835\uDCC6',\n quaternions: '\u210D',\n quatint: '\u2A16',\n quest: '?',\n questeq: '\u225F',\n quot: '\"',\n rAarr: '\u21DB',\n rArr: '\u21D2',\n rAtail: '\u291C',\n rBarr: '\u290F',\n rHar: '\u2964',\n race: '\u223D\u0331',\n racute: '\u0155',\n radic: '\u221A',\n raemptyv: '\u29B3',\n rang: '\u27E9',\n rangd: '\u2992',\n range: '\u29A5',\n rangle: '\u27E9',\n raquo: '\u00BB',\n rarr: '\u2192',\n rarrap: '\u2975',\n rarrb: '\u21E5',\n rarrbfs: '\u2920',\n rarrc: '\u2933',\n rarrfs: '\u291E',\n rarrhk: '\u21AA',\n rarrlp: '\u21AC',\n rarrpl: '\u2945',\n rarrsim: '\u2974',\n rarrtl: '\u21A3',\n rarrw: '\u219D',\n ratail: '\u291A',\n ratio: '\u2236',\n rationals: '\u211A',\n rbarr: '\u290D',\n rbbrk: '\u2773',\n rbrace: '}',\n rbrack: ']',\n rbrke: '\u298C',\n rbrksld: '\u298E',\n rbrkslu: '\u2990',\n rcaron: '\u0159',\n rcedil: '\u0157',\n rceil: '\u2309',\n rcub: '}',\n rcy: '\u0440',\n rdca: '\u2937',\n rdldhar: '\u2969',\n rdquo: '\u201D',\n rdquor: '\u201D',\n rdsh: '\u21B3',\n real: '\u211C',\n realine: '\u211B',\n realpart: '\u211C',\n reals: '\u211D',\n rect: '\u25AD',\n reg: '\u00AE',\n rfisht: '\u297D',\n rfloor: '\u230B',\n rfr: '\uD835\uDD2F',\n rhard: '\u21C1',\n rharu: '\u21C0',\n rharul: '\u296C',\n rho: '\u03C1',\n rhov: '\u03F1',\n rightarrow: '\u2192',\n rightarrowtail: '\u21A3',\n rightharpoondown: '\u21C1',\n rightharpoonup: '\u21C0',\n rightleftarrows: '\u21C4',\n rightleftharpoons: '\u21CC',\n rightrightarrows: '\u21C9',\n rightsquigarrow: '\u219D',\n rightthreetimes: '\u22CC',\n ring: '\u02DA',\n risingdotseq: '\u2253',\n rlarr: '\u21C4',\n rlhar: '\u21CC',\n rlm: '\u200F',\n rmoust: '\u23B1',\n rmoustache: '\u23B1',\n rnmid: '\u2AEE',\n roang: '\u27ED',\n roarr: '\u21FE',\n robrk: '\u27E7',\n ropar: '\u2986',\n ropf: '\uD835\uDD63',\n roplus: '\u2A2E',\n rotimes: '\u2A35',\n rpar: ')',\n rpargt: '\u2994',\n rppolint: '\u2A12',\n rrarr: '\u21C9',\n rsaquo: '\u203A',\n rscr: '\uD835\uDCC7',\n rsh: '\u21B1',\n rsqb: ']',\n rsquo: '\u2019',\n rsquor: '\u2019',\n rthree: '\u22CC',\n rtimes: '\u22CA',\n rtri: '\u25B9',\n rtrie: '\u22B5',\n rtrif: '\u25B8',\n rtriltri: '\u29CE',\n ruluhar: '\u2968',\n rx: '\u211E',\n sacute: '\u015B',\n sbquo: '\u201A',\n sc: '\u227B',\n scE: '\u2AB4',\n scap: '\u2AB8',\n scaron: '\u0161',\n sccue: '\u227D',\n sce: '\u2AB0',\n scedil: '\u015F',\n scirc: '\u015D',\n scnE: '\u2AB6',\n scnap: '\u2ABA',\n scnsim: '\u22E9',\n scpolint: '\u2A13',\n scsim: '\u227F',\n scy: '\u0441',\n sdot: '\u22C5',\n sdotb: '\u22A1',\n sdote: '\u2A66',\n seArr: '\u21D8',\n searhk: '\u2925',\n searr: '\u2198',\n searrow: '\u2198',\n sect: '\u00A7',\n semi: ';',\n seswar: '\u2929',\n setminus: '\u2216',\n setmn: '\u2216',\n sext: '\u2736',\n sfr: '\uD835\uDD30',\n sfrown: '\u2322',\n sharp: '\u266F',\n shchcy: '\u0449',\n shcy: '\u0448',\n shortmid: '\u2223',\n shortparallel: '\u2225',\n shy: '\u00AD',\n sigma: '\u03C3',\n sigmaf: '\u03C2',\n sigmav: '\u03C2',\n sim: '\u223C',\n simdot: '\u2A6A',\n sime: '\u2243',\n simeq: '\u2243',\n simg: '\u2A9E',\n simgE: '\u2AA0',\n siml: '\u2A9D',\n simlE: '\u2A9F',\n simne: '\u2246',\n simplus: '\u2A24',\n simrarr: '\u2972',\n slarr: '\u2190',\n smallsetminus: '\u2216',\n smashp: '\u2A33',\n smeparsl: '\u29E4',\n smid: '\u2223',\n smile: '\u2323',\n smt: '\u2AAA',\n smte: '\u2AAC',\n smtes: '\u2AAC\uFE00',\n softcy: '\u044C',\n sol: '/',\n solb: '\u29C4',\n solbar: '\u233F',\n sopf: '\uD835\uDD64',\n spades: '\u2660',\n spadesuit: '\u2660',\n spar: '\u2225',\n sqcap: '\u2293',\n sqcaps: '\u2293\uFE00',\n sqcup: '\u2294',\n sqcups: '\u2294\uFE00',\n sqsub: '\u228F',\n sqsube: '\u2291',\n sqsubset: '\u228F',\n sqsubseteq: '\u2291',\n sqsup: '\u2290',\n sqsupe: '\u2292',\n sqsupset: '\u2290',\n sqsupseteq: '\u2292',\n squ: '\u25A1',\n square: '\u25A1',\n squarf: '\u25AA',\n squf: '\u25AA',\n srarr: '\u2192',\n sscr: '\uD835\uDCC8',\n ssetmn: '\u2216',\n ssmile: '\u2323',\n sstarf: '\u22C6',\n star: '\u2606',\n starf: '\u2605',\n straightepsilon: '\u03F5',\n straightphi: '\u03D5',\n strns: '\u00AF',\n sub: '\u2282',\n subE: '\u2AC5',\n subdot: '\u2ABD',\n sube: '\u2286',\n subedot: '\u2AC3',\n submult: '\u2AC1',\n subnE: '\u2ACB',\n subne: '\u228A',\n subplus: '\u2ABF',\n subrarr: '\u2979',\n subset: '\u2282',\n subseteq: '\u2286',\n subseteqq: '\u2AC5',\n subsetneq: '\u228A',\n subsetneqq: '\u2ACB',\n subsim: '\u2AC7',\n subsub: '\u2AD5',\n subsup: '\u2AD3',\n succ: '\u227B',\n succapprox: '\u2AB8',\n succcurlyeq: '\u227D',\n succeq: '\u2AB0',\n succnapprox: '\u2ABA',\n succneqq: '\u2AB6',\n succnsim: '\u22E9',\n succsim: '\u227F',\n sum: '\u2211',\n sung: '\u266A',\n sup1: '\u00B9',\n sup2: '\u00B2',\n sup3: '\u00B3',\n sup: '\u2283',\n supE: '\u2AC6',\n supdot: '\u2ABE',\n supdsub: '\u2AD8',\n supe: '\u2287',\n supedot: '\u2AC4',\n suphsol: '\u27C9',\n suphsub: '\u2AD7',\n suplarr: '\u297B',\n supmult: '\u2AC2',\n supnE: '\u2ACC',\n supne: '\u228B',\n supplus: '\u2AC0',\n supset: '\u2283',\n supseteq: '\u2287',\n supseteqq: '\u2AC6',\n supsetneq: '\u228B',\n supsetneqq: '\u2ACC',\n supsim: '\u2AC8',\n supsub: '\u2AD4',\n supsup: '\u2AD6',\n swArr: '\u21D9',\n swarhk: '\u2926',\n swarr: '\u2199',\n swarrow: '\u2199',\n swnwar: '\u292A',\n szlig: '\u00DF',\n target: '\u2316',\n tau: '\u03C4',\n tbrk: '\u23B4',\n tcaron: '\u0165',\n tcedil: '\u0163',\n tcy: '\u0442',\n tdot: '\u20DB',\n telrec: '\u2315',\n tfr: '\uD835\uDD31',\n there4: '\u2234',\n therefore: '\u2234',\n theta: '\u03B8',\n thetasym: '\u03D1',\n thetav: '\u03D1',\n thickapprox: '\u2248',\n thicksim: '\u223C',\n thinsp: '\u2009',\n thkap: '\u2248',\n thksim: '\u223C',\n thorn: '\u00FE',\n tilde: '\u02DC',\n times: '\u00D7',\n timesb: '\u22A0',\n timesbar: '\u2A31',\n timesd: '\u2A30',\n tint: '\u222D',\n toea: '\u2928',\n top: '\u22A4',\n topbot: '\u2336',\n topcir: '\u2AF1',\n topf: '\uD835\uDD65',\n topfork: '\u2ADA',\n tosa: '\u2929',\n tprime: '\u2034',\n trade: '\u2122',\n triangle: '\u25B5',\n triangledown: '\u25BF',\n triangleleft: '\u25C3',\n trianglelefteq: '\u22B4',\n triangleq: '\u225C',\n triangleright: '\u25B9',\n trianglerighteq: '\u22B5',\n tridot: '\u25EC',\n trie: '\u225C',\n triminus: '\u2A3A',\n triplus: '\u2A39',\n trisb: '\u29CD',\n tritime: '\u2A3B',\n trpezium: '\u23E2',\n tscr: '\uD835\uDCC9',\n tscy: '\u0446',\n tshcy: '\u045B',\n tstrok: '\u0167',\n twixt: '\u226C',\n twoheadleftarrow: '\u219E',\n twoheadrightarrow: '\u21A0',\n uArr: '\u21D1',\n uHar: '\u2963',\n uacute: '\u00FA',\n uarr: '\u2191',\n ubrcy: '\u045E',\n ubreve: '\u016D',\n ucirc: '\u00FB',\n ucy: '\u0443',\n udarr: '\u21C5',\n udblac: '\u0171',\n udhar: '\u296E',\n ufisht: '\u297E',\n ufr: '\uD835\uDD32',\n ugrave: '\u00F9',\n uharl: '\u21BF',\n uharr: '\u21BE',\n uhblk: '\u2580',\n ulcorn: '\u231C',\n ulcorner: '\u231C',\n ulcrop: '\u230F',\n ultri: '\u25F8',\n umacr: '\u016B',\n uml: '\u00A8',\n uogon: '\u0173',\n uopf: '\uD835\uDD66',\n uparrow: '\u2191',\n updownarrow: '\u2195',\n upharpoonleft: '\u21BF',\n upharpoonright: '\u21BE',\n uplus: '\u228E',\n upsi: '\u03C5',\n upsih: '\u03D2',\n upsilon: '\u03C5',\n upuparrows: '\u21C8',\n urcorn: '\u231D',\n urcorner: '\u231D',\n urcrop: '\u230E',\n uring: '\u016F',\n urtri: '\u25F9',\n uscr: '\uD835\uDCCA',\n utdot: '\u22F0',\n utilde: '\u0169',\n utri: '\u25B5',\n utrif: '\u25B4',\n uuarr: '\u21C8',\n uuml: '\u00FC',\n uwangle: '\u29A7',\n vArr: '\u21D5',\n vBar: '\u2AE8',\n vBarv: '\u2AE9',\n vDash: '\u22A8',\n vangrt: '\u299C',\n varepsilon: '\u03F5',\n varkappa: '\u03F0',\n varnothing: '\u2205',\n varphi: '\u03D5',\n varpi: '\u03D6',\n varpropto: '\u221D',\n varr: '\u2195',\n varrho: '\u03F1',\n varsigma: '\u03C2',\n varsubsetneq: '\u228A\uFE00',\n varsubsetneqq: '\u2ACB\uFE00',\n varsupsetneq: '\u228B\uFE00',\n varsupsetneqq: '\u2ACC\uFE00',\n vartheta: '\u03D1',\n vartriangleleft: '\u22B2',\n vartriangleright: '\u22B3',\n vcy: '\u0432',\n vdash: '\u22A2',\n vee: '\u2228',\n veebar: '\u22BB',\n veeeq: '\u225A',\n vellip: '\u22EE',\n verbar: '|',\n vert: '|',\n vfr: '\uD835\uDD33',\n vltri: '\u22B2',\n vnsub: '\u2282\u20D2',\n vnsup: '\u2283\u20D2',\n vopf: '\uD835\uDD67',\n vprop: '\u221D',\n vrtri: '\u22B3',\n vscr: '\uD835\uDCCB',\n vsubnE: '\u2ACB\uFE00',\n vsubne: '\u228A\uFE00',\n vsupnE: '\u2ACC\uFE00',\n vsupne: '\u228B\uFE00',\n vzigzag: '\u299A',\n wcirc: '\u0175',\n wedbar: '\u2A5F',\n wedge: '\u2227',\n wedgeq: '\u2259',\n weierp: '\u2118',\n wfr: '\uD835\uDD34',\n wopf: '\uD835\uDD68',\n wp: '\u2118',\n wr: '\u2240',\n wreath: '\u2240',\n wscr: '\uD835\uDCCC',\n xcap: '\u22C2',\n xcirc: '\u25EF',\n xcup: '\u22C3',\n xdtri: '\u25BD',\n xfr: '\uD835\uDD35',\n xhArr: '\u27FA',\n xharr: '\u27F7',\n xi: '\u03BE',\n xlArr: '\u27F8',\n xlarr: '\u27F5',\n xmap: '\u27FC',\n xnis: '\u22FB',\n xodot: '\u2A00',\n xopf: '\uD835\uDD69',\n xoplus: '\u2A01',\n xotime: '\u2A02',\n xrArr: '\u27F9',\n xrarr: '\u27F6',\n xscr: '\uD835\uDCCD',\n xsqcup: '\u2A06',\n xuplus: '\u2A04',\n xutri: '\u25B3',\n xvee: '\u22C1',\n xwedge: '\u22C0',\n yacute: '\u00FD',\n yacy: '\u044F',\n ycirc: '\u0177',\n ycy: '\u044B',\n yen: '\u00A5',\n yfr: '\uD835\uDD36',\n yicy: '\u0457',\n yopf: '\uD835\uDD6A',\n yscr: '\uD835\uDCCE',\n yucy: '\u044E',\n yuml: '\u00FF',\n zacute: '\u017A',\n zcaron: '\u017E',\n zcy: '\u0437',\n zdot: '\u017C',\n zeetrf: '\u2128',\n zeta: '\u03B6',\n zfr: '\uD835\uDD37',\n zhcy: '\u0436',\n zigrarr: '\u21DD',\n zopf: '\uD835\uDD6B',\n zscr: '\uD835\uDCCF',\n zwj: '\u200D',\n zwnj: '\u200C'\n}\n", "import {characterEntities} from 'character-entities'\n\n// To do: next major: use `Object.hasOwn`.\nconst own = {}.hasOwnProperty\n\n/**\n * Decode a single character reference (without the `&` or `;`).\n * You probably only need this when you\u2019re building parsers yourself that follow\n * different rules compared to HTML.\n * This is optimized to be tiny in browsers.\n *\n * @param {string} value\n * `notin` (named), `#123` (deci), `#x123` (hexa).\n * @returns {string|false}\n * Decoded reference.\n */\nexport function decodeNamedCharacterReference(value) {\n return own.call(characterEntities, value) ? characterEntities[value] : false\n}\n", "/**\n * Like `Array#splice`, but smarter for giant arrays.\n *\n * `Array#splice` takes all items to be inserted as individual argument which\n * causes a stack overflow in V8 when trying to insert 100k items for instance.\n *\n * Otherwise, this does not return the removed items, and takes `items` as an\n * array instead of rest parameters.\n *\n * @template {unknown} T\n * Item type.\n * @param {Array<T>} list\n * List to operate on.\n * @param {number} start\n * Index to remove/insert at (can be negative).\n * @param {number} remove\n * Number of items to remove.\n * @param {Array<T>} items\n * Items to inject into `list`.\n * @returns {undefined}\n * Nothing.\n */\nexport function splice(list, start, remove, items) {\n const end = list.length;\n let chunkStart = 0;\n /** @type {Array<unknown>} */\n let parameters;\n\n // Make start between zero and `end` (included).\n if (start < 0) {\n start = -start > end ? 0 : end + start;\n } else {\n start = start > end ? end : start;\n }\n remove = remove > 0 ? remove : 0;\n\n // No need to chunk the items if there\u2019s only a couple (10k) items.\n if (items.length < 10000) {\n parameters = Array.from(items);\n parameters.unshift(start, remove);\n // @ts-expect-error Hush, it\u2019s fine.\n list.splice(...parameters);\n } else {\n // Delete `remove` items starting from `start`\n if (remove) list.splice(start, remove);\n\n // Insert the items in chunks to not cause stack overflows.\n while (chunkStart < items.length) {\n parameters = items.slice(chunkStart, chunkStart + 10000);\n parameters.unshift(start, 0);\n // @ts-expect-error Hush, it\u2019s fine.\n list.splice(...parameters);\n chunkStart += 10000;\n start += 10000;\n }\n }\n}\n\n/**\n * Append `items` (an array) at the end of `list` (another array).\n * When `list` was empty, returns `items` instead.\n *\n * This prevents a potentially expensive operation when `list` is empty,\n * and adds items in batches to prevent V8 from hanging.\n *\n * @template {unknown} T\n * Item type.\n * @param {Array<T>} list\n * List to operate on.\n * @param {Array<T>} items\n * Items to add to `list`.\n * @returns {Array<T>}\n * Either `list` or `items`.\n */\nexport function push(list, items) {\n if (list.length > 0) {\n splice(list, list.length, 0, items);\n return list;\n }\n return items;\n}", "/**\n * @import {\n * Extension,\n * Handles,\n * HtmlExtension,\n * NormalizedExtension\n * } from 'micromark-util-types'\n */\n\nimport {splice} from 'micromark-util-chunked'\n\nconst hasOwnProperty = {}.hasOwnProperty\n\n/**\n * Combine multiple syntax extensions into one.\n *\n * @param {ReadonlyArray<Extension>} extensions\n * List of syntax extensions.\n * @returns {NormalizedExtension}\n * A single combined extension.\n */\nexport function combineExtensions(extensions) {\n /** @type {NormalizedExtension} */\n const all = {}\n let index = -1\n\n while (++index < extensions.length) {\n syntaxExtension(all, extensions[index])\n }\n\n return all\n}\n\n/**\n * Merge `extension` into `all`.\n *\n * @param {NormalizedExtension} all\n * Extension to merge into.\n * @param {Extension} extension\n * Extension to merge.\n * @returns {undefined}\n * Nothing.\n */\nfunction syntaxExtension(all, extension) {\n /** @type {keyof Extension} */\n let hook\n\n for (hook in extension) {\n const maybe = hasOwnProperty.call(all, hook) ? all[hook] : undefined\n /** @type {Record<string, unknown>} */\n const left = maybe || (all[hook] = {})\n /** @type {Record<string, unknown> | undefined} */\n const right = extension[hook]\n /** @type {string} */\n let code\n\n if (right) {\n for (code in right) {\n if (!hasOwnProperty.call(left, code)) left[code] = []\n const value = right[code]\n constructs(\n // @ts-expect-error Looks like a list.\n left[code],\n Array.isArray(value) ? value : value ? [value] : []\n )\n }\n }\n }\n}\n\n/**\n * Merge `list` into `existing` (both lists of constructs).\n * Mutates `existing`.\n *\n * @param {Array<unknown>} existing\n * List of constructs to merge into.\n * @param {Array<unknown>} list\n * List of constructs to merge.\n * @returns {undefined}\n * Nothing.\n */\nfunction constructs(existing, list) {\n let index = -1\n /** @type {Array<unknown>} */\n const before = []\n\n while (++index < list.length) {\n // @ts-expect-error Looks like an object.\n ;(list[index].add === 'after' ? existing : before).push(list[index])\n }\n\n splice(existing, 0, 0, before)\n}\n\n/**\n * Combine multiple HTML extensions into one.\n *\n * @param {ReadonlyArray<HtmlExtension>} htmlExtensions\n * List of HTML extensions.\n * @returns {HtmlExtension}\n * Single combined HTML extension.\n */\nexport function combineHtmlExtensions(htmlExtensions) {\n /** @type {HtmlExtension} */\n const handlers = {}\n let index = -1\n\n while (++index < htmlExtensions.length) {\n htmlExtension(handlers, htmlExtensions[index])\n }\n\n return handlers\n}\n\n/**\n * Merge `extension` into `all`.\n *\n * @param {HtmlExtension} all\n * Extension to merge into.\n * @param {HtmlExtension} extension\n * Extension to merge.\n * @returns {undefined}\n * Nothing.\n */\nfunction htmlExtension(all, extension) {\n /** @type {keyof HtmlExtension} */\n let hook\n\n for (hook in extension) {\n const maybe = hasOwnProperty.call(all, hook) ? all[hook] : undefined\n const left = maybe || (all[hook] = {})\n const right = extension[hook]\n /** @type {keyof Handles} */\n let type\n\n if (right) {\n for (type in right) {\n // @ts-expect-error assume document vs regular handler are managed correctly.\n left[type] = right[type]\n }\n }\n }\n}\n", "/**\n * Turn the number (in string form as either hexa- or plain decimal) coming from\n * a numeric character reference into a character.\n *\n * Sort of like `String.fromCodePoint(Number.parseInt(value, base))`, but makes\n * non-characters and control characters safe.\n *\n * @param {string} value\n * Value to decode.\n * @param {number} base\n * Numeric base.\n * @returns {string}\n * Character.\n */\nexport function decodeNumericCharacterReference(value, base) {\n const code = Number.parseInt(value, base);\n if (\n // C0 except for HT, LF, FF, CR, space.\n code < 9 || code === 11 || code > 13 && code < 32 ||\n // Control character (DEL) of C0, and C1 controls.\n code > 126 && code < 160 ||\n // Lone high surrogates and low surrogates.\n code > 55_295 && code < 57_344 ||\n // Noncharacters.\n code > 64_975 && code < 65_008 || /* eslint-disable no-bitwise */\n (code & 65_535) === 65_535 || (code & 65_535) === 65_534 || /* eslint-enable no-bitwise */\n // Out of range\n code > 1_114_111) {\n return \"\\uFFFD\";\n }\n return String.fromCodePoint(code);\n}", "/**\n * Normalize an identifier (as found in references, definitions).\n *\n * Collapses markdown whitespace, trim, and then lower- and uppercase.\n *\n * Some characters are considered \u201Cuppercase\u201D, such as U+03F4 (`\u03F4`), but if their\n * lowercase counterpart (U+03B8 (`\u03B8`)) is uppercased will result in a different\n * uppercase character (U+0398 (`\u0398`)).\n * So, to get a canonical form, we perform both lower- and uppercase.\n *\n * Using uppercase last makes sure keys will never interact with default\n * prototypal values (such as `constructor`): nothing in the prototype of\n * `Object` is uppercase.\n *\n * @param {string} value\n * Identifier to normalize.\n * @returns {string}\n * Normalized identifier.\n */\nexport function normalizeIdentifier(value) {\n return value\n // Collapse markdown whitespace.\n .replace(/[\\t\\n\\r ]+/g, \" \")\n // Trim.\n .replace(/^ | $/g, '')\n // Some characters are considered \u201Cuppercase\u201D, but if their lowercase\n // counterpart is uppercased will result in a different uppercase\n // character.\n // Hence, to get that form, we perform both lower- and uppercase.\n // Upper case makes sure keys will not interact with default prototypal\n // methods: no method is uppercase.\n .toLowerCase().toUpperCase();\n}", "/**\n * @import {Code} from 'micromark-util-types'\n */\n\n/**\n * Check whether the character code represents an ASCII alpha (`a` through `z`,\n * case insensitive).\n *\n * An **ASCII alpha** is an ASCII upper alpha or ASCII lower alpha.\n *\n * An **ASCII upper alpha** is a character in the inclusive range U+0041 (`A`)\n * to U+005A (`Z`).\n *\n * An **ASCII lower alpha** is a character in the inclusive range U+0061 (`a`)\n * to U+007A (`z`).\n *\n * @param code\n * Code.\n * @returns {boolean}\n * Whether it matches.\n */\nexport const asciiAlpha = regexCheck(/[A-Za-z]/);\n\n/**\n * Check whether the character code represents an ASCII alphanumeric (`a`\n * through `z`, case insensitive, or `0` through `9`).\n *\n * An **ASCII alphanumeric** is an ASCII digit (see `asciiDigit`) or ASCII alpha\n * (see `asciiAlpha`).\n *\n * @param code\n * Code.\n * @returns {boolean}\n * Whether it matches.\n */\nexport const asciiAlphanumeric = regexCheck(/[\\dA-Za-z]/);\n\n/**\n * Check whether the character code represents an ASCII atext.\n *\n * atext is an ASCII alphanumeric (see `asciiAlphanumeric`), or a character in\n * the inclusive ranges U+0023 NUMBER SIGN (`#`) to U+0027 APOSTROPHE (`'`),\n * U+002A ASTERISK (`*`), U+002B PLUS SIGN (`+`), U+002D DASH (`-`), U+002F\n * SLASH (`/`), U+003D EQUALS TO (`=`), U+003F QUESTION MARK (`?`), U+005E\n * CARET (`^`) to U+0060 GRAVE ACCENT (`` ` ``), or U+007B LEFT CURLY BRACE\n * (`{`) to U+007E TILDE (`~`).\n *\n * See:\n * **\\[RFC5322]**:\n * [Internet Message Format](https://tools.ietf.org/html/rfc5322).\n * P. Resnick.\n * IETF.\n *\n * @param code\n * Code.\n * @returns {boolean}\n * Whether it matches.\n */\nexport const asciiAtext = regexCheck(/[#-'*+\\--9=?A-Z^-~]/);\n\n/**\n * Check whether a character code is an ASCII control character.\n *\n * An **ASCII control** is a character in the inclusive range U+0000 NULL (NUL)\n * to U+001F (US), or U+007F (DEL).\n *\n * @param {Code} code\n * Code.\n * @returns {boolean}\n * Whether it matches.\n */\nexport function asciiControl(code) {\n return (\n // Special whitespace codes (which have negative values), C0 and Control\n // character DEL\n code !== null && (code < 32 || code === 127)\n );\n}\n\n/**\n * Check whether the character code represents an ASCII digit (`0` through `9`).\n *\n * An **ASCII digit** is a character in the inclusive range U+0030 (`0`) to\n * U+0039 (`9`).\n *\n * @param code\n * Code.\n * @returns {boolean}\n * Whether it matches.\n */\nexport const asciiDigit = regexCheck(/\\d/);\n\n/**\n * Check whether the character code represents an ASCII hex digit (`a` through\n * `f`, case insensitive, or `0` through `9`).\n *\n * An **ASCII hex digit** is an ASCII digit (see `asciiDigit`), ASCII upper hex\n * digit, or an ASCII lower hex digit.\n *\n * An **ASCII upper hex digit** is a character in the inclusive range U+0041\n * (`A`) to U+0046 (`F`).\n *\n * An **ASCII lower hex digit** is a character in the inclusive range U+0061\n * (`a`) to U+0066 (`f`).\n *\n * @param code\n * Code.\n * @returns {boolean}\n * Whether it matches.\n */\nexport const asciiHexDigit = regexCheck(/[\\dA-Fa-f]/);\n\n/**\n * Check whether the character code represents ASCII punctuation.\n *\n * An **ASCII punctuation** is a character in the inclusive ranges U+0021\n * EXCLAMATION MARK (`!`) to U+002F SLASH (`/`), U+003A COLON (`:`) to U+0040 AT\n * SIGN (`@`), U+005B LEFT SQUARE BRACKET (`[`) to U+0060 GRAVE ACCENT\n * (`` ` ``), or U+007B LEFT CURLY BRACE (`{`) to U+007E TILDE (`~`).\n *\n * @param code\n * Code.\n * @returns {boolean}\n * Whether it matches.\n */\nexport const asciiPunctuation = regexCheck(/[!-/:-@[-`{-~]/);\n\n/**\n * Check whether a character code is a markdown line ending.\n *\n * A **markdown line ending** is the virtual characters M-0003 CARRIAGE RETURN\n * LINE FEED (CRLF), M-0004 LINE FEED (LF) and M-0005 CARRIAGE RETURN (CR).\n *\n * In micromark, the actual character U+000A LINE FEED (LF) and U+000D CARRIAGE\n * RETURN (CR) are replaced by these virtual characters depending on whether\n * they occurred together.\n *\n * @param {Code} code\n * Code.\n * @returns {boolean}\n * Whether it matches.\n */\nexport function markdownLineEnding(code) {\n return code !== null && code < -2;\n}\n\n/**\n * Check whether a character code is a markdown line ending (see\n * `markdownLineEnding`) or markdown space (see `markdownSpace`).\n *\n * @param {Code} code\n * Code.\n * @returns {boolean}\n * Whether it matches.\n */\nexport function markdownLineEndingOrSpace(code) {\n return code !== null && (code < 0 || code === 32);\n}\n\n/**\n * Check whether a character code is a markdown space.\n *\n * A **markdown space** is the concrete character U+0020 SPACE (SP) and the\n * virtual characters M-0001 VIRTUAL SPACE (VS) and M-0002 HORIZONTAL TAB (HT).\n *\n * In micromark, the actual character U+0009 CHARACTER TABULATION (HT) is\n * replaced by one M-0002 HORIZONTAL TAB (HT) and between 0 and 3 M-0001 VIRTUAL\n * SPACE (VS) characters, depending on the column at which the tab occurred.\n *\n * @param {Code} code\n * Code.\n * @returns {boolean}\n * Whether it matches.\n */\nexport function markdownSpace(code) {\n return code === -2 || code === -1 || code === 32;\n}\n\n// Size note: removing ASCII from the regex and using `asciiPunctuation` here\n// In fact adds to the bundle size.\n/**\n * Check whether the character code represents Unicode punctuation.\n *\n * A **Unicode punctuation** is a character in the Unicode `Pc` (Punctuation,\n * Connector), `Pd` (Punctuation, Dash), `Pe` (Punctuation, Close), `Pf`\n * (Punctuation, Final quote), `Pi` (Punctuation, Initial quote), `Po`\n * (Punctuation, Other), or `Ps` (Punctuation, Open) categories, or an ASCII\n * punctuation (see `asciiPunctuation`).\n *\n * See:\n * **\\[UNICODE]**:\n * [The Unicode Standard](https://www.unicode.org/versions/).\n * Unicode Consortium.\n *\n * @param code\n * Code.\n * @returns\n * Whether it matches.\n */\nexport const unicodePunctuation = regexCheck(/\\p{P}|\\p{S}/u);\n\n/**\n * Check whether the character code represents Unicode whitespace.\n *\n * Note that this does handle micromark specific markdown whitespace characters.\n * See `markdownLineEndingOrSpace` to check that.\n *\n * A **Unicode whitespace** is a character in the Unicode `Zs` (Separator,\n * Space) category, or U+0009 CHARACTER TABULATION (HT), U+000A LINE FEED (LF),\n * U+000C (FF), or U+000D CARRIAGE RETURN (CR) (**\\[UNICODE]**).\n *\n * See:\n * **\\[UNICODE]**:\n * [The Unicode Standard](https://www.unicode.org/versions/).\n * Unicode Consortium.\n *\n * @param code\n * Code.\n * @returns\n * Whether it matches.\n */\nexport const unicodeWhitespace = regexCheck(/\\s/);\n\n/**\n * Create a code check from a regex.\n *\n * @param {RegExp} regex\n * Expression.\n * @returns {(code: Code) => boolean}\n * Check.\n */\nfunction regexCheck(regex) {\n return check;\n\n /**\n * Check whether a code matches the bound regex.\n *\n * @param {Code} code\n * Character code.\n * @returns {boolean}\n * Whether the character code matches the bound regex.\n */\n function check(code) {\n return code !== null && code > -1 && regex.test(String.fromCharCode(code));\n }\n}", "/**\n * @import {Effects, State, TokenType} from 'micromark-util-types'\n */\n\nimport { markdownSpace } from 'micromark-util-character';\n\n// To do: implement `spaceOrTab`, `spaceOrTabMinMax`, `spaceOrTabWithOptions`.\n\n/**\n * Parse spaces and tabs.\n *\n * There is no `nok` parameter:\n *\n * * spaces in markdown are often optional, in which case this factory can be\n * used and `ok` will be switched to whether spaces were found or not\n * * one line ending or space can be detected with `markdownSpace(code)` right\n * before using `factorySpace`\n *\n * ###### Examples\n *\n * Where `\u2409` represents a tab (plus how much it expands) and `\u2420` represents a\n * single space.\n *\n * ```markdown\n * \u2409\n * \u2420\u2420\u2420\u2420\n * \u2409\u2420\n * ```\n *\n * @param {Effects} effects\n * Context.\n * @param {State} ok\n * State switched to when successful.\n * @param {TokenType} type\n * Type (`' \\t'`).\n * @param {number | undefined} [max=Infinity]\n * Max (exclusive).\n * @returns {State}\n * Start state.\n */\nexport function factorySpace(effects, ok, type, max) {\n const limit = max ? max - 1 : Number.POSITIVE_INFINITY;\n let size = 0;\n return start;\n\n /** @type {State} */\n function start(code) {\n if (markdownSpace(code)) {\n effects.enter(type);\n return prefix(code);\n }\n return ok(code);\n }\n\n /** @type {State} */\n function prefix(code) {\n if (markdownSpace(code) && size++ < limit) {\n effects.consume(code);\n return prefix;\n }\n effects.exit(type);\n return ok(code);\n }\n}", "/**\n * @import {\n * InitialConstruct,\n * Initializer,\n * State,\n * TokenizeContext,\n * Token\n * } from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEnding } from 'micromark-util-character';\n/** @type {InitialConstruct} */\nexport const content = {\n tokenize: initializeContent\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Initializer}\n * Content.\n */\nfunction initializeContent(effects) {\n const contentStart = effects.attempt(this.parser.constructs.contentInitial, afterContentStartConstruct, paragraphInitial);\n /** @type {Token} */\n let previous;\n return contentStart;\n\n /** @type {State} */\n function afterContentStartConstruct(code) {\n if (code === null) {\n effects.consume(code);\n return;\n }\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return factorySpace(effects, contentStart, \"linePrefix\");\n }\n\n /** @type {State} */\n function paragraphInitial(code) {\n effects.enter(\"paragraph\");\n return lineStart(code);\n }\n\n /** @type {State} */\n function lineStart(code) {\n const token = effects.enter(\"chunkText\", {\n contentType: \"text\",\n previous\n });\n if (previous) {\n previous.next = token;\n }\n previous = token;\n return data(code);\n }\n\n /** @type {State} */\n function data(code) {\n if (code === null) {\n effects.exit(\"chunkText\");\n effects.exit(\"paragraph\");\n effects.consume(code);\n return;\n }\n if (markdownLineEnding(code)) {\n effects.consume(code);\n effects.exit(\"chunkText\");\n return lineStart;\n }\n\n // Data.\n effects.consume(code);\n return data;\n }\n}", "/**\n * @import {\n * Construct,\n * ContainerState,\n * InitialConstruct,\n * Initializer,\n * Point,\n * State,\n * TokenizeContext,\n * Tokenizer,\n * Token\n * } from 'micromark-util-types'\n */\n\n/**\n * @typedef {[Construct, ContainerState]} StackItem\n * Construct and its state.\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEnding } from 'micromark-util-character';\nimport { splice } from 'micromark-util-chunked';\n/** @type {InitialConstruct} */\nexport const document = {\n tokenize: initializeDocument\n};\n\n/** @type {Construct} */\nconst containerConstruct = {\n tokenize: tokenizeContainer\n};\n\n/**\n * @this {TokenizeContext}\n * Self.\n * @type {Initializer}\n * Initializer.\n */\nfunction initializeDocument(effects) {\n const self = this;\n /** @type {Array<StackItem>} */\n const stack = [];\n let continued = 0;\n /** @type {TokenizeContext | undefined} */\n let childFlow;\n /** @type {Token | undefined} */\n let childToken;\n /** @type {number} */\n let lineStartOffset;\n return start;\n\n /** @type {State} */\n function start(code) {\n // First we iterate through the open blocks, starting with the root\n // document, and descending through last children down to the last open\n // block.\n // Each block imposes a condition that the line must satisfy if the block is\n // to remain open.\n // For example, a block quote requires a `>` character.\n // A paragraph requires a non-blank line.\n // In this phase we may match all or just some of the open blocks.\n // But we cannot close unmatched blocks yet, because we may have a lazy\n // continuation line.\n if (continued < stack.length) {\n const item = stack[continued];\n self.containerState = item[1];\n return effects.attempt(item[0].continuation, documentContinue, checkNewContainers)(code);\n }\n\n // Done.\n return checkNewContainers(code);\n }\n\n /** @type {State} */\n function documentContinue(code) {\n continued++;\n\n // Note: this field is called `_closeFlow` but it also closes containers.\n // Perhaps a good idea to rename it but it\u2019s already used in the wild by\n // extensions.\n if (self.containerState._closeFlow) {\n self.containerState._closeFlow = undefined;\n if (childFlow) {\n closeFlow();\n }\n\n // Note: this algorithm for moving events around is similar to the\n // algorithm when dealing with lazy lines in `writeToChild`.\n const indexBeforeExits = self.events.length;\n let indexBeforeFlow = indexBeforeExits;\n /** @type {Point | undefined} */\n let point;\n\n // Find the flow chunk.\n while (indexBeforeFlow--) {\n if (self.events[indexBeforeFlow][0] === 'exit' && self.events[indexBeforeFlow][1].type === \"chunkFlow\") {\n point = self.events[indexBeforeFlow][1].end;\n break;\n }\n }\n exitContainers(continued);\n\n // Fix positions.\n let index = indexBeforeExits;\n while (index < self.events.length) {\n self.events[index][1].end = {\n ...point\n };\n index++;\n }\n\n // Inject the exits earlier (they\u2019re still also at the end).\n splice(self.events, indexBeforeFlow + 1, 0, self.events.slice(indexBeforeExits));\n\n // Discard the duplicate exits.\n self.events.length = index;\n return checkNewContainers(code);\n }\n return start(code);\n }\n\n /** @type {State} */\n function checkNewContainers(code) {\n // Next, after consuming the continuation markers for existing blocks, we\n // look for new block starts (e.g. `>` for a block quote).\n // If we encounter a new block start, we close any blocks unmatched in\n // step 1 before creating the new block as a child of the last matched\n // block.\n if (continued === stack.length) {\n // No need to `check` whether there\u2019s a container, of `exitContainers`\n // would be moot.\n // We can instead immediately `attempt` to parse one.\n if (!childFlow) {\n return documentContinued(code);\n }\n\n // If we have concrete content, such as block HTML or fenced code,\n // we can\u2019t have containers \u201Cpierce\u201D into them, so we can immediately\n // start.\n if (childFlow.currentConstruct && childFlow.currentConstruct.concrete) {\n return flowStart(code);\n }\n\n // If we do have flow, it could still be a blank line,\n // but we\u2019d be interrupting it w/ a new container if there\u2019s a current\n // construct.\n // To do: next major: remove `_gfmTableDynamicInterruptHack` (no longer\n // needed in micromark-extension-gfm-table@1.0.6).\n self.interrupt = Boolean(childFlow.currentConstruct && !childFlow._gfmTableDynamicInterruptHack);\n }\n\n // Check if there is a new container.\n self.containerState = {};\n return effects.check(containerConstruct, thereIsANewContainer, thereIsNoNewContainer)(code);\n }\n\n /** @type {State} */\n function thereIsANewContainer(code) {\n if (childFlow) closeFlow();\n exitContainers(continued);\n return documentContinued(code);\n }\n\n /** @type {State} */\n function thereIsNoNewContainer(code) {\n self.parser.lazy[self.now().line] = continued !== stack.length;\n lineStartOffset = self.now().offset;\n return flowStart(code);\n }\n\n /** @type {State} */\n function documentContinued(code) {\n // Try new containers.\n self.containerState = {};\n return effects.attempt(containerConstruct, containerContinue, flowStart)(code);\n }\n\n /** @type {State} */\n function containerContinue(code) {\n continued++;\n stack.push([self.currentConstruct, self.containerState]);\n // Try another.\n return documentContinued(code);\n }\n\n /** @type {State} */\n function flowStart(code) {\n if (code === null) {\n if (childFlow) closeFlow();\n exitContainers(0);\n effects.consume(code);\n return;\n }\n childFlow = childFlow || self.parser.flow(self.now());\n effects.enter(\"chunkFlow\", {\n _tokenizer: childFlow,\n contentType: \"flow\",\n previous: childToken\n });\n return flowContinue(code);\n }\n\n /** @type {State} */\n function flowContinue(code) {\n if (code === null) {\n writeToChild(effects.exit(\"chunkFlow\"), true);\n exitContainers(0);\n effects.consume(code);\n return;\n }\n if (markdownLineEnding(code)) {\n effects.consume(code);\n writeToChild(effects.exit(\"chunkFlow\"));\n // Get ready for the next line.\n continued = 0;\n self.interrupt = undefined;\n return start;\n }\n effects.consume(code);\n return flowContinue;\n }\n\n /**\n * @param {Token} token\n * Token.\n * @param {boolean | undefined} [endOfFile]\n * Whether the token is at the end of the file (default: `false`).\n * @returns {undefined}\n * Nothing.\n */\n function writeToChild(token, endOfFile) {\n const stream = self.sliceStream(token);\n if (endOfFile) stream.push(null);\n token.previous = childToken;\n if (childToken) childToken.next = token;\n childToken = token;\n childFlow.defineSkip(token.start);\n childFlow.write(stream);\n\n // Alright, so we just added a lazy line:\n //\n // ```markdown\n // > a\n // b.\n //\n // Or:\n //\n // > ~~~c\n // d\n //\n // Or:\n //\n // > | e |\n // f\n // ```\n //\n // The construct in the second example (fenced code) does not accept lazy\n // lines, so it marked itself as done at the end of its first line, and\n // then the content construct parses `d`.\n // Most constructs in markdown match on the first line: if the first line\n // forms a construct, a non-lazy line can\u2019t \u201Cunmake\u201D it.\n //\n // The construct in the third example is potentially a GFM table, and\n // those are *weird*.\n // It *could* be a table, from the first line, if the following line\n // matches a condition.\n // In this case, that second line is lazy, which \u201Cunmakes\u201D the first line\n // and turns the whole into one content block.\n //\n // We\u2019ve now parsed the non-lazy and the lazy line, and can figure out\n // whether the lazy line started a new flow block.\n // If it did, we exit the current containers between the two flow blocks.\n if (self.parser.lazy[token.start.line]) {\n let index = childFlow.events.length;\n while (index--) {\n if (\n // The token starts before the line ending\u2026\n childFlow.events[index][1].start.offset < lineStartOffset && (\n // \u2026and either is not ended yet\u2026\n !childFlow.events[index][1].end ||\n // \u2026or ends after it.\n childFlow.events[index][1].end.offset > lineStartOffset)) {\n // Exit: there\u2019s still something open, which means it\u2019s a lazy line\n // part of something.\n return;\n }\n }\n\n // Note: this algorithm for moving events around is similar to the\n // algorithm when closing flow in `documentContinue`.\n const indexBeforeExits = self.events.length;\n let indexBeforeFlow = indexBeforeExits;\n /** @type {boolean | undefined} */\n let seen;\n /** @type {Point | undefined} */\n let point;\n\n // Find the previous chunk (the one before the lazy line).\n while (indexBeforeFlow--) {\n if (self.events[indexBeforeFlow][0] === 'exit' && self.events[indexBeforeFlow][1].type === \"chunkFlow\") {\n if (seen) {\n point = self.events[indexBeforeFlow][1].end;\n break;\n }\n seen = true;\n }\n }\n exitContainers(continued);\n\n // Fix positions.\n index = indexBeforeExits;\n while (index < self.events.length) {\n self.events[index][1].end = {\n ...point\n };\n index++;\n }\n\n // Inject the exits earlier (they\u2019re still also at the end).\n splice(self.events, indexBeforeFlow + 1, 0, self.events.slice(indexBeforeExits));\n\n // Discard the duplicate exits.\n self.events.length = index;\n }\n }\n\n /**\n * @param {number} size\n * Size.\n * @returns {undefined}\n * Nothing.\n */\n function exitContainers(size) {\n let index = stack.length;\n\n // Exit open containers.\n while (index-- > size) {\n const entry = stack[index];\n self.containerState = entry[1];\n entry[0].exit.call(self, effects);\n }\n stack.length = size;\n }\n function closeFlow() {\n childFlow.write([null]);\n childToken = undefined;\n childFlow = undefined;\n self.containerState._closeFlow = undefined;\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n * Tokenizer.\n */\nfunction tokenizeContainer(effects, ok, nok) {\n // Always populated by defaults.\n\n return factorySpace(effects, effects.attempt(this.parser.constructs.document, ok, nok), \"linePrefix\", this.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4);\n}", "/**\n * @import {Code} from 'micromark-util-types'\n */\n\nimport { markdownLineEndingOrSpace, unicodePunctuation, unicodeWhitespace } from 'micromark-util-character';\n/**\n * Classify whether a code represents whitespace, punctuation, or something\n * else.\n *\n * Used for attention (emphasis, strong), whose sequences can open or close\n * based on the class of surrounding characters.\n *\n * > \uD83D\uDC49 **Note**: eof (`null`) is seen as whitespace.\n *\n * @param {Code} code\n * Code.\n * @returns {typeof constants.characterGroupWhitespace | typeof constants.characterGroupPunctuation | undefined}\n * Group.\n */\nexport function classifyCharacter(code) {\n if (code === null || markdownLineEndingOrSpace(code) || unicodeWhitespace(code)) {\n return 1;\n }\n if (unicodePunctuation(code)) {\n return 2;\n }\n}", "/**\n * @import {Event, Resolver, TokenizeContext} from 'micromark-util-types'\n */\n\n/**\n * Call all `resolveAll`s.\n *\n * @param {ReadonlyArray<{resolveAll?: Resolver | undefined}>} constructs\n * List of constructs, optionally with `resolveAll`s.\n * @param {Array<Event>} events\n * List of events.\n * @param {TokenizeContext} context\n * Context used by `tokenize`.\n * @returns {Array<Event>}\n * Changed events.\n */\nexport function resolveAll(constructs, events, context) {\n /** @type {Array<Resolver>} */\n const called = []\n let index = -1\n\n while (++index < constructs.length) {\n const resolve = constructs[index].resolveAll\n\n if (resolve && !called.includes(resolve)) {\n events = resolve(events, context)\n called.push(resolve)\n }\n }\n\n return events\n}\n", "/**\n * @import {\n * Code,\n * Construct,\n * Event,\n * Point,\n * Resolver,\n * State,\n * TokenizeContext,\n * Tokenizer,\n * Token\n * } from 'micromark-util-types'\n */\n\nimport { push, splice } from 'micromark-util-chunked';\nimport { classifyCharacter } from 'micromark-util-classify-character';\nimport { resolveAll } from 'micromark-util-resolve-all';\n/** @type {Construct} */\nexport const attention = {\n name: 'attention',\n resolveAll: resolveAllAttention,\n tokenize: tokenizeAttention\n};\n\n/**\n * Take all events and resolve attention to emphasis or strong.\n *\n * @type {Resolver}\n */\n// eslint-disable-next-line complexity\nfunction resolveAllAttention(events, context) {\n let index = -1;\n /** @type {number} */\n let open;\n /** @type {Token} */\n let group;\n /** @type {Token} */\n let text;\n /** @type {Token} */\n let openingSequence;\n /** @type {Token} */\n let closingSequence;\n /** @type {number} */\n let use;\n /** @type {Array<Event>} */\n let nextEvents;\n /** @type {number} */\n let offset;\n\n // Walk through all events.\n //\n // Note: performance of this is fine on an mb of normal markdown, but it\u2019s\n // a bottleneck for malicious stuff.\n while (++index < events.length) {\n // Find a token that can close.\n if (events[index][0] === 'enter' && events[index][1].type === 'attentionSequence' && events[index][1]._close) {\n open = index;\n\n // Now walk back to find an opener.\n while (open--) {\n // Find a token that can open the closer.\n if (events[open][0] === 'exit' && events[open][1].type === 'attentionSequence' && events[open][1]._open &&\n // If the markers are the same:\n context.sliceSerialize(events[open][1]).charCodeAt(0) === context.sliceSerialize(events[index][1]).charCodeAt(0)) {\n // If the opening can close or the closing can open,\n // and the close size *is not* a multiple of three,\n // but the sum of the opening and closing size *is* multiple of three,\n // then don\u2019t match.\n if ((events[open][1]._close || events[index][1]._open) && (events[index][1].end.offset - events[index][1].start.offset) % 3 && !((events[open][1].end.offset - events[open][1].start.offset + events[index][1].end.offset - events[index][1].start.offset) % 3)) {\n continue;\n }\n\n // Number of markers to use from the sequence.\n use = events[open][1].end.offset - events[open][1].start.offset > 1 && events[index][1].end.offset - events[index][1].start.offset > 1 ? 2 : 1;\n const start = {\n ...events[open][1].end\n };\n const end = {\n ...events[index][1].start\n };\n movePoint(start, -use);\n movePoint(end, use);\n openingSequence = {\n type: use > 1 ? \"strongSequence\" : \"emphasisSequence\",\n start,\n end: {\n ...events[open][1].end\n }\n };\n closingSequence = {\n type: use > 1 ? \"strongSequence\" : \"emphasisSequence\",\n start: {\n ...events[index][1].start\n },\n end\n };\n text = {\n type: use > 1 ? \"strongText\" : \"emphasisText\",\n start: {\n ...events[open][1].end\n },\n end: {\n ...events[index][1].start\n }\n };\n group = {\n type: use > 1 ? \"strong\" : \"emphasis\",\n start: {\n ...openingSequence.start\n },\n end: {\n ...closingSequence.end\n }\n };\n events[open][1].end = {\n ...openingSequence.start\n };\n events[index][1].start = {\n ...closingSequence.end\n };\n nextEvents = [];\n\n // If there are more markers in the opening, add them before.\n if (events[open][1].end.offset - events[open][1].start.offset) {\n nextEvents = push(nextEvents, [['enter', events[open][1], context], ['exit', events[open][1], context]]);\n }\n\n // Opening.\n nextEvents = push(nextEvents, [['enter', group, context], ['enter', openingSequence, context], ['exit', openingSequence, context], ['enter', text, context]]);\n\n // Always populated by defaults.\n\n // Between.\n nextEvents = push(nextEvents, resolveAll(context.parser.constructs.insideSpan.null, events.slice(open + 1, index), context));\n\n // Closing.\n nextEvents = push(nextEvents, [['exit', text, context], ['enter', closingSequence, context], ['exit', closingSequence, context], ['exit', group, context]]);\n\n // If there are more markers in the closing, add them after.\n if (events[index][1].end.offset - events[index][1].start.offset) {\n offset = 2;\n nextEvents = push(nextEvents, [['enter', events[index][1], context], ['exit', events[index][1], context]]);\n } else {\n offset = 0;\n }\n splice(events, open - 1, index - open + 3, nextEvents);\n index = open + nextEvents.length - offset - 2;\n break;\n }\n }\n }\n }\n\n // Remove remaining sequences.\n index = -1;\n while (++index < events.length) {\n if (events[index][1].type === 'attentionSequence') {\n events[index][1].type = 'data';\n }\n }\n return events;\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeAttention(effects, ok) {\n const attentionMarkers = this.parser.constructs.attentionMarkers.null;\n const previous = this.previous;\n const before = classifyCharacter(previous);\n\n /** @type {NonNullable<Code>} */\n let marker;\n return start;\n\n /**\n * Before a sequence.\n *\n * ```markdown\n * > | **\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n marker = code;\n effects.enter('attentionSequence');\n return inside(code);\n }\n\n /**\n * In a sequence.\n *\n * ```markdown\n * > | **\n * ^^\n * ```\n *\n * @type {State}\n */\n function inside(code) {\n if (code === marker) {\n effects.consume(code);\n return inside;\n }\n const token = effects.exit('attentionSequence');\n\n // To do: next major: move this to resolver, just like `markdown-rs`.\n const after = classifyCharacter(code);\n\n // Always populated by defaults.\n\n const open = !after || after === 2 && before || attentionMarkers.includes(code);\n const close = !before || before === 2 && after || attentionMarkers.includes(previous);\n token._open = Boolean(marker === 42 ? open : open && (before || !close));\n token._close = Boolean(marker === 42 ? close : close && (after || !open));\n return ok(code);\n }\n}\n\n/**\n * Move a point a bit.\n *\n * Note: `move` only works inside lines! It\u2019s not possible to move past other\n * chunks (replacement characters, tabs, or line endings).\n *\n * @param {Point} point\n * Point.\n * @param {number} offset\n * Amount to move.\n * @returns {undefined}\n * Nothing.\n */\nfunction movePoint(point, offset) {\n point.column += offset;\n point.offset += offset;\n point._bufferIndex += offset;\n}", "/**\n * @import {\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { asciiAlphanumeric, asciiAlpha, asciiAtext, asciiControl } from 'micromark-util-character';\n/** @type {Construct} */\nexport const autolink = {\n name: 'autolink',\n tokenize: tokenizeAutolink\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeAutolink(effects, ok, nok) {\n let size = 0;\n return start;\n\n /**\n * Start of an autolink.\n *\n * ```markdown\n * > | a<https://example.com>b\n * ^\n * > | a<user@example.com>b\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"autolink\");\n effects.enter(\"autolinkMarker\");\n effects.consume(code);\n effects.exit(\"autolinkMarker\");\n effects.enter(\"autolinkProtocol\");\n return open;\n }\n\n /**\n * After `<`, at protocol or atext.\n *\n * ```markdown\n * > | a<https://example.com>b\n * ^\n * > | a<user@example.com>b\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (asciiAlpha(code)) {\n effects.consume(code);\n return schemeOrEmailAtext;\n }\n if (code === 64) {\n return nok(code);\n }\n return emailAtext(code);\n }\n\n /**\n * At second byte of protocol or atext.\n *\n * ```markdown\n * > | a<https://example.com>b\n * ^\n * > | a<user@example.com>b\n * ^\n * ```\n *\n * @type {State}\n */\n function schemeOrEmailAtext(code) {\n // ASCII alphanumeric and `+`, `-`, and `.`.\n if (code === 43 || code === 45 || code === 46 || asciiAlphanumeric(code)) {\n // Count the previous alphabetical from `open` too.\n size = 1;\n return schemeInsideOrEmailAtext(code);\n }\n return emailAtext(code);\n }\n\n /**\n * In ambiguous protocol or atext.\n *\n * ```markdown\n * > | a<https://example.com>b\n * ^\n * > | a<user@example.com>b\n * ^\n * ```\n *\n * @type {State}\n */\n function schemeInsideOrEmailAtext(code) {\n if (code === 58) {\n effects.consume(code);\n size = 0;\n return urlInside;\n }\n\n // ASCII alphanumeric and `+`, `-`, and `.`.\n if ((code === 43 || code === 45 || code === 46 || asciiAlphanumeric(code)) && size++ < 32) {\n effects.consume(code);\n return schemeInsideOrEmailAtext;\n }\n size = 0;\n return emailAtext(code);\n }\n\n /**\n * After protocol, in URL.\n *\n * ```markdown\n * > | a<https://example.com>b\n * ^\n * ```\n *\n * @type {State}\n */\n function urlInside(code) {\n if (code === 62) {\n effects.exit(\"autolinkProtocol\");\n effects.enter(\"autolinkMarker\");\n effects.consume(code);\n effects.exit(\"autolinkMarker\");\n effects.exit(\"autolink\");\n return ok;\n }\n\n // ASCII control, space, or `<`.\n if (code === null || code === 32 || code === 60 || asciiControl(code)) {\n return nok(code);\n }\n effects.consume(code);\n return urlInside;\n }\n\n /**\n * In email atext.\n *\n * ```markdown\n * > | a<user.name@example.com>b\n * ^\n * ```\n *\n * @type {State}\n */\n function emailAtext(code) {\n if (code === 64) {\n effects.consume(code);\n return emailAtSignOrDot;\n }\n if (asciiAtext(code)) {\n effects.consume(code);\n return emailAtext;\n }\n return nok(code);\n }\n\n /**\n * In label, after at-sign or dot.\n *\n * ```markdown\n * > | a<user.name@example.com>b\n * ^ ^\n * ```\n *\n * @type {State}\n */\n function emailAtSignOrDot(code) {\n return asciiAlphanumeric(code) ? emailLabel(code) : nok(code);\n }\n\n /**\n * In label, where `.` and `>` are allowed.\n *\n * ```markdown\n * > | a<user.name@example.com>b\n * ^\n * ```\n *\n * @type {State}\n */\n function emailLabel(code) {\n if (code === 46) {\n effects.consume(code);\n size = 0;\n return emailAtSignOrDot;\n }\n if (code === 62) {\n // Exit, then change the token type.\n effects.exit(\"autolinkProtocol\").type = \"autolinkEmail\";\n effects.enter(\"autolinkMarker\");\n effects.consume(code);\n effects.exit(\"autolinkMarker\");\n effects.exit(\"autolink\");\n return ok;\n }\n return emailValue(code);\n }\n\n /**\n * In label, where `.` and `>` are *not* allowed.\n *\n * Though, this is also used in `emailLabel` to parse other values.\n *\n * ```markdown\n * > | a<user.name@ex-ample.com>b\n * ^\n * ```\n *\n * @type {State}\n */\n function emailValue(code) {\n // ASCII alphanumeric or `-`.\n if ((code === 45 || asciiAlphanumeric(code)) && size++ < 63) {\n const next = code === 45 ? emailValue : emailLabel;\n effects.consume(code);\n return next;\n }\n return nok(code);\n }\n}", "/**\n * @import {\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEnding, markdownSpace } from 'micromark-util-character';\n/** @type {Construct} */\nexport const blankLine = {\n partial: true,\n tokenize: tokenizeBlankLine\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeBlankLine(effects, ok, nok) {\n return start;\n\n /**\n * Start of blank line.\n *\n * > \uD83D\uDC49 **Note**: `\u2420` represents a space character.\n *\n * ```markdown\n * > | \u2420\u2420\u240A\n * ^\n * > | \u240A\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n return markdownSpace(code) ? factorySpace(effects, after, \"linePrefix\")(code) : after(code);\n }\n\n /**\n * At eof/eol, after optional whitespace.\n *\n * > \uD83D\uDC49 **Note**: `\u2420` represents a space character.\n *\n * ```markdown\n * > | \u2420\u2420\u240A\n * ^\n * > | \u240A\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n return code === null || markdownLineEnding(code) ? ok(code) : nok(code);\n }\n}", "/**\n * @import {\n * Construct,\n * Exiter,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownSpace } from 'micromark-util-character';\n/** @type {Construct} */\nexport const blockQuote = {\n continuation: {\n tokenize: tokenizeBlockQuoteContinuation\n },\n exit,\n name: 'blockQuote',\n tokenize: tokenizeBlockQuoteStart\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeBlockQuoteStart(effects, ok, nok) {\n const self = this;\n return start;\n\n /**\n * Start of block quote.\n *\n * ```markdown\n * > | > a\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n if (code === 62) {\n const state = self.containerState;\n if (!state.open) {\n effects.enter(\"blockQuote\", {\n _container: true\n });\n state.open = true;\n }\n effects.enter(\"blockQuotePrefix\");\n effects.enter(\"blockQuoteMarker\");\n effects.consume(code);\n effects.exit(\"blockQuoteMarker\");\n return after;\n }\n return nok(code);\n }\n\n /**\n * After `>`, before optional whitespace.\n *\n * ```markdown\n * > | > a\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n if (markdownSpace(code)) {\n effects.enter(\"blockQuotePrefixWhitespace\");\n effects.consume(code);\n effects.exit(\"blockQuotePrefixWhitespace\");\n effects.exit(\"blockQuotePrefix\");\n return ok;\n }\n effects.exit(\"blockQuotePrefix\");\n return ok(code);\n }\n}\n\n/**\n * Start of block quote continuation.\n *\n * ```markdown\n * | > a\n * > | > b\n * ^\n * ```\n *\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeBlockQuoteContinuation(effects, ok, nok) {\n const self = this;\n return contStart;\n\n /**\n * Start of block quote continuation.\n *\n * Also used to parse the first block quote opening.\n *\n * ```markdown\n * | > a\n * > | > b\n * ^\n * ```\n *\n * @type {State}\n */\n function contStart(code) {\n if (markdownSpace(code)) {\n // Always populated by defaults.\n\n return factorySpace(effects, contBefore, \"linePrefix\", self.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4)(code);\n }\n return contBefore(code);\n }\n\n /**\n * At `>`, after optional whitespace.\n *\n * Also used to parse the first block quote opening.\n *\n * ```markdown\n * | > a\n * > | > b\n * ^\n * ```\n *\n * @type {State}\n */\n function contBefore(code) {\n return effects.attempt(blockQuote, ok, nok)(code);\n }\n}\n\n/** @type {Exiter} */\nfunction exit(effects) {\n effects.exit(\"blockQuote\");\n}", "/**\n * @import {\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { asciiPunctuation } from 'micromark-util-character';\n/** @type {Construct} */\nexport const characterEscape = {\n name: 'characterEscape',\n tokenize: tokenizeCharacterEscape\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeCharacterEscape(effects, ok, nok) {\n return start;\n\n /**\n * Start of character escape.\n *\n * ```markdown\n * > | a\\*b\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"characterEscape\");\n effects.enter(\"escapeMarker\");\n effects.consume(code);\n effects.exit(\"escapeMarker\");\n return inside;\n }\n\n /**\n * After `\\`, at punctuation.\n *\n * ```markdown\n * > | a\\*b\n * ^\n * ```\n *\n * @type {State}\n */\n function inside(code) {\n // ASCII punctuation.\n if (asciiPunctuation(code)) {\n effects.enter(\"characterEscapeValue\");\n effects.consume(code);\n effects.exit(\"characterEscapeValue\");\n effects.exit(\"characterEscape\");\n return ok;\n }\n return nok(code);\n }\n}", "/**\n * @import {\n * Code,\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { decodeNamedCharacterReference } from 'decode-named-character-reference';\nimport { asciiAlphanumeric, asciiDigit, asciiHexDigit } from 'micromark-util-character';\n/** @type {Construct} */\nexport const characterReference = {\n name: 'characterReference',\n tokenize: tokenizeCharacterReference\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeCharacterReference(effects, ok, nok) {\n const self = this;\n let size = 0;\n /** @type {number} */\n let max;\n /** @type {(code: Code) => boolean} */\n let test;\n return start;\n\n /**\n * Start of character reference.\n *\n * ```markdown\n * > | a&b\n * ^\n * > | a{b\n * ^\n * > | a	b\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"characterReference\");\n effects.enter(\"characterReferenceMarker\");\n effects.consume(code);\n effects.exit(\"characterReferenceMarker\");\n return open;\n }\n\n /**\n * After `&`, at `#` for numeric references or alphanumeric for named\n * references.\n *\n * ```markdown\n * > | a&b\n * ^\n * > | a{b\n * ^\n * > | a	b\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (code === 35) {\n effects.enter(\"characterReferenceMarkerNumeric\");\n effects.consume(code);\n effects.exit(\"characterReferenceMarkerNumeric\");\n return numeric;\n }\n effects.enter(\"characterReferenceValue\");\n max = 31;\n test = asciiAlphanumeric;\n return value(code);\n }\n\n /**\n * After `#`, at `x` for hexadecimals or digit for decimals.\n *\n * ```markdown\n * > | a{b\n * ^\n * > | a	b\n * ^\n * ```\n *\n * @type {State}\n */\n function numeric(code) {\n if (code === 88 || code === 120) {\n effects.enter(\"characterReferenceMarkerHexadecimal\");\n effects.consume(code);\n effects.exit(\"characterReferenceMarkerHexadecimal\");\n effects.enter(\"characterReferenceValue\");\n max = 6;\n test = asciiHexDigit;\n return value;\n }\n effects.enter(\"characterReferenceValue\");\n max = 7;\n test = asciiDigit;\n return value(code);\n }\n\n /**\n * After markers (`&#x`, `&#`, or `&`), in value, before `;`.\n *\n * The character reference kind defines what and how many characters are\n * allowed.\n *\n * ```markdown\n * > | a&b\n * ^^^\n * > | a{b\n * ^^^\n * > | a	b\n * ^\n * ```\n *\n * @type {State}\n */\n function value(code) {\n if (code === 59 && size) {\n const token = effects.exit(\"characterReferenceValue\");\n if (test === asciiAlphanumeric && !decodeNamedCharacterReference(self.sliceSerialize(token))) {\n return nok(code);\n }\n\n // To do: `markdown-rs` uses a different name:\n // `CharacterReferenceMarkerSemi`.\n effects.enter(\"characterReferenceMarker\");\n effects.consume(code);\n effects.exit(\"characterReferenceMarker\");\n effects.exit(\"characterReference\");\n return ok;\n }\n if (test(code) && size++ < max) {\n effects.consume(code);\n return value;\n }\n return nok(code);\n }\n}", "/**\n * @import {\n * Code,\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEnding, markdownSpace } from 'micromark-util-character';\n/** @type {Construct} */\nconst nonLazyContinuation = {\n partial: true,\n tokenize: tokenizeNonLazyContinuation\n};\n\n/** @type {Construct} */\nexport const codeFenced = {\n concrete: true,\n name: 'codeFenced',\n tokenize: tokenizeCodeFenced\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeCodeFenced(effects, ok, nok) {\n const self = this;\n /** @type {Construct} */\n const closeStart = {\n partial: true,\n tokenize: tokenizeCloseStart\n };\n let initialPrefix = 0;\n let sizeOpen = 0;\n /** @type {NonNullable<Code>} */\n let marker;\n return start;\n\n /**\n * Start of code.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function start(code) {\n // To do: parse whitespace like `markdown-rs`.\n return beforeSequenceOpen(code);\n }\n\n /**\n * In opening fence, after prefix, at sequence.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function beforeSequenceOpen(code) {\n const tail = self.events[self.events.length - 1];\n initialPrefix = tail && tail[1].type === \"linePrefix\" ? tail[2].sliceSerialize(tail[1], true).length : 0;\n marker = code;\n effects.enter(\"codeFenced\");\n effects.enter(\"codeFencedFence\");\n effects.enter(\"codeFencedFenceSequence\");\n return sequenceOpen(code);\n }\n\n /**\n * In opening fence sequence.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function sequenceOpen(code) {\n if (code === marker) {\n sizeOpen++;\n effects.consume(code);\n return sequenceOpen;\n }\n if (sizeOpen < 3) {\n return nok(code);\n }\n effects.exit(\"codeFencedFenceSequence\");\n return markdownSpace(code) ? factorySpace(effects, infoBefore, \"whitespace\")(code) : infoBefore(code);\n }\n\n /**\n * In opening fence, after the sequence (and optional whitespace), before info.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function infoBefore(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"codeFencedFence\");\n return self.interrupt ? ok(code) : effects.check(nonLazyContinuation, atNonLazyBreak, after)(code);\n }\n effects.enter(\"codeFencedFenceInfo\");\n effects.enter(\"chunkString\", {\n contentType: \"string\"\n });\n return info(code);\n }\n\n /**\n * In info.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function info(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"chunkString\");\n effects.exit(\"codeFencedFenceInfo\");\n return infoBefore(code);\n }\n if (markdownSpace(code)) {\n effects.exit(\"chunkString\");\n effects.exit(\"codeFencedFenceInfo\");\n return factorySpace(effects, metaBefore, \"whitespace\")(code);\n }\n if (code === 96 && code === marker) {\n return nok(code);\n }\n effects.consume(code);\n return info;\n }\n\n /**\n * In opening fence, after info and whitespace, before meta.\n *\n * ```markdown\n * > | ~~~js eval\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function metaBefore(code) {\n if (code === null || markdownLineEnding(code)) {\n return infoBefore(code);\n }\n effects.enter(\"codeFencedFenceMeta\");\n effects.enter(\"chunkString\", {\n contentType: \"string\"\n });\n return meta(code);\n }\n\n /**\n * In meta.\n *\n * ```markdown\n * > | ~~~js eval\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function meta(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"chunkString\");\n effects.exit(\"codeFencedFenceMeta\");\n return infoBefore(code);\n }\n if (code === 96 && code === marker) {\n return nok(code);\n }\n effects.consume(code);\n return meta;\n }\n\n /**\n * At eol/eof in code, before a non-lazy closing fence or content.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * > | alert(1)\n * ^\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function atNonLazyBreak(code) {\n return effects.attempt(closeStart, after, contentBefore)(code);\n }\n\n /**\n * Before code content, not a closing fence, at eol.\n *\n * ```markdown\n * | ~~~js\n * > | alert(1)\n * ^\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function contentBefore(code) {\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return contentStart;\n }\n\n /**\n * Before code content, not a closing fence.\n *\n * ```markdown\n * | ~~~js\n * > | alert(1)\n * ^\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function contentStart(code) {\n return initialPrefix > 0 && markdownSpace(code) ? factorySpace(effects, beforeContentChunk, \"linePrefix\", initialPrefix + 1)(code) : beforeContentChunk(code);\n }\n\n /**\n * Before code content, after optional prefix.\n *\n * ```markdown\n * | ~~~js\n * > | alert(1)\n * ^\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function beforeContentChunk(code) {\n if (code === null || markdownLineEnding(code)) {\n return effects.check(nonLazyContinuation, atNonLazyBreak, after)(code);\n }\n effects.enter(\"codeFlowValue\");\n return contentChunk(code);\n }\n\n /**\n * In code content.\n *\n * ```markdown\n * | ~~~js\n * > | alert(1)\n * ^^^^^^^^\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function contentChunk(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"codeFlowValue\");\n return beforeContentChunk(code);\n }\n effects.consume(code);\n return contentChunk;\n }\n\n /**\n * After code.\n *\n * ```markdown\n * | ~~~js\n * | alert(1)\n * > | ~~~\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n effects.exit(\"codeFenced\");\n return ok(code);\n }\n\n /**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\n function tokenizeCloseStart(effects, ok, nok) {\n let size = 0;\n return startBefore;\n\n /**\n *\n *\n * @type {State}\n */\n function startBefore(code) {\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return start;\n }\n\n /**\n * Before closing fence, at optional whitespace.\n *\n * ```markdown\n * | ~~~js\n * | alert(1)\n * > | ~~~\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n // Always populated by defaults.\n\n // To do: `enter` here or in next state?\n effects.enter(\"codeFencedFence\");\n return markdownSpace(code) ? factorySpace(effects, beforeSequenceClose, \"linePrefix\", self.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4)(code) : beforeSequenceClose(code);\n }\n\n /**\n * In closing fence, after optional whitespace, at sequence.\n *\n * ```markdown\n * | ~~~js\n * | alert(1)\n * > | ~~~\n * ^\n * ```\n *\n * @type {State}\n */\n function beforeSequenceClose(code) {\n if (code === marker) {\n effects.enter(\"codeFencedFenceSequence\");\n return sequenceClose(code);\n }\n return nok(code);\n }\n\n /**\n * In closing fence sequence.\n *\n * ```markdown\n * | ~~~js\n * | alert(1)\n * > | ~~~\n * ^\n * ```\n *\n * @type {State}\n */\n function sequenceClose(code) {\n if (code === marker) {\n size++;\n effects.consume(code);\n return sequenceClose;\n }\n if (size >= sizeOpen) {\n effects.exit(\"codeFencedFenceSequence\");\n return markdownSpace(code) ? factorySpace(effects, sequenceCloseAfter, \"whitespace\")(code) : sequenceCloseAfter(code);\n }\n return nok(code);\n }\n\n /**\n * After closing fence sequence, after optional whitespace.\n *\n * ```markdown\n * | ~~~js\n * | alert(1)\n * > | ~~~\n * ^\n * ```\n *\n * @type {State}\n */\n function sequenceCloseAfter(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"codeFencedFence\");\n return ok(code);\n }\n return nok(code);\n }\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeNonLazyContinuation(effects, ok, nok) {\n const self = this;\n return start;\n\n /**\n *\n *\n * @type {State}\n */\n function start(code) {\n if (code === null) {\n return nok(code);\n }\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return lineStart;\n }\n\n /**\n *\n *\n * @type {State}\n */\n function lineStart(code) {\n return self.parser.lazy[self.now().line] ? nok(code) : ok(code);\n }\n}", "/**\n * @import {\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEnding, markdownSpace } from 'micromark-util-character';\n/** @type {Construct} */\nexport const codeIndented = {\n name: 'codeIndented',\n tokenize: tokenizeCodeIndented\n};\n\n/** @type {Construct} */\nconst furtherStart = {\n partial: true,\n tokenize: tokenizeFurtherStart\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeCodeIndented(effects, ok, nok) {\n const self = this;\n return start;\n\n /**\n * Start of code (indented).\n *\n * > **Parsing note**: it is not needed to check if this first line is a\n * > filled line (that it has a non-whitespace character), because blank lines\n * > are parsed already, so we never run into that.\n *\n * ```markdown\n * > | aaa\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n // To do: manually check if interrupting like `markdown-rs`.\n\n effects.enter(\"codeIndented\");\n // To do: use an improved `space_or_tab` function like `markdown-rs`,\n // so that we can drop the next state.\n return factorySpace(effects, afterPrefix, \"linePrefix\", 4 + 1)(code);\n }\n\n /**\n * At start, after 1 or 4 spaces.\n *\n * ```markdown\n * > | aaa\n * ^\n * ```\n *\n * @type {State}\n */\n function afterPrefix(code) {\n const tail = self.events[self.events.length - 1];\n return tail && tail[1].type === \"linePrefix\" && tail[2].sliceSerialize(tail[1], true).length >= 4 ? atBreak(code) : nok(code);\n }\n\n /**\n * At a break.\n *\n * ```markdown\n * > | aaa\n * ^ ^\n * ```\n *\n * @type {State}\n */\n function atBreak(code) {\n if (code === null) {\n return after(code);\n }\n if (markdownLineEnding(code)) {\n return effects.attempt(furtherStart, atBreak, after)(code);\n }\n effects.enter(\"codeFlowValue\");\n return inside(code);\n }\n\n /**\n * In code content.\n *\n * ```markdown\n * > | aaa\n * ^^^^\n * ```\n *\n * @type {State}\n */\n function inside(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"codeFlowValue\");\n return atBreak(code);\n }\n effects.consume(code);\n return inside;\n }\n\n /** @type {State} */\n function after(code) {\n effects.exit(\"codeIndented\");\n // To do: allow interrupting like `markdown-rs`.\n // Feel free to interrupt.\n // tokenizer.interrupt = false\n return ok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeFurtherStart(effects, ok, nok) {\n const self = this;\n return furtherStart;\n\n /**\n * At eol, trying to parse another indent.\n *\n * ```markdown\n * > | aaa\n * ^\n * | bbb\n * ```\n *\n * @type {State}\n */\n function furtherStart(code) {\n // To do: improve `lazy` / `pierce` handling.\n // If this is a lazy line, it can\u2019t be code.\n if (self.parser.lazy[self.now().line]) {\n return nok(code);\n }\n if (markdownLineEnding(code)) {\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return furtherStart;\n }\n\n // To do: the code here in `micromark-js` is a bit different from\n // `markdown-rs` because there it can attempt spaces.\n // We can\u2019t yet.\n //\n // To do: use an improved `space_or_tab` function like `markdown-rs`,\n // so that we can drop the next state.\n return factorySpace(effects, afterPrefix, \"linePrefix\", 4 + 1)(code);\n }\n\n /**\n * At start, after 1 or 4 spaces.\n *\n * ```markdown\n * > | aaa\n * ^\n * ```\n *\n * @type {State}\n */\n function afterPrefix(code) {\n const tail = self.events[self.events.length - 1];\n return tail && tail[1].type === \"linePrefix\" && tail[2].sliceSerialize(tail[1], true).length >= 4 ? ok(code) : markdownLineEnding(code) ? furtherStart(code) : nok(code);\n }\n}", "/**\n * @import {\n * Construct,\n * Previous,\n * Resolver,\n * State,\n * TokenizeContext,\n * Tokenizer,\n * Token\n * } from 'micromark-util-types'\n */\n\nimport { markdownLineEnding } from 'micromark-util-character';\n/** @type {Construct} */\nexport const codeText = {\n name: 'codeText',\n previous,\n resolve: resolveCodeText,\n tokenize: tokenizeCodeText\n};\n\n// To do: next major: don\u2019t resolve, like `markdown-rs`.\n/** @type {Resolver} */\nfunction resolveCodeText(events) {\n let tailExitIndex = events.length - 4;\n let headEnterIndex = 3;\n /** @type {number} */\n let index;\n /** @type {number | undefined} */\n let enter;\n\n // If we start and end with an EOL or a space.\n if ((events[headEnterIndex][1].type === \"lineEnding\" || events[headEnterIndex][1].type === 'space') && (events[tailExitIndex][1].type === \"lineEnding\" || events[tailExitIndex][1].type === 'space')) {\n index = headEnterIndex;\n\n // And we have data.\n while (++index < tailExitIndex) {\n if (events[index][1].type === \"codeTextData\") {\n // Then we have padding.\n events[headEnterIndex][1].type = \"codeTextPadding\";\n events[tailExitIndex][1].type = \"codeTextPadding\";\n headEnterIndex += 2;\n tailExitIndex -= 2;\n break;\n }\n }\n }\n\n // Merge adjacent spaces and data.\n index = headEnterIndex - 1;\n tailExitIndex++;\n while (++index <= tailExitIndex) {\n if (enter === undefined) {\n if (index !== tailExitIndex && events[index][1].type !== \"lineEnding\") {\n enter = index;\n }\n } else if (index === tailExitIndex || events[index][1].type === \"lineEnding\") {\n events[enter][1].type = \"codeTextData\";\n if (index !== enter + 2) {\n events[enter][1].end = events[index - 1][1].end;\n events.splice(enter + 2, index - enter - 2);\n tailExitIndex -= index - enter - 2;\n index = enter + 2;\n }\n enter = undefined;\n }\n }\n return events;\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Previous}\n */\nfunction previous(code) {\n // If there is a previous code, there will always be a tail.\n return code !== 96 || this.events[this.events.length - 1][1].type === \"characterEscape\";\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeCodeText(effects, ok, nok) {\n const self = this;\n let sizeOpen = 0;\n /** @type {number} */\n let size;\n /** @type {Token} */\n let token;\n return start;\n\n /**\n * Start of code (text).\n *\n * ```markdown\n * > | `a`\n * ^\n * > | \\`a`\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"codeText\");\n effects.enter(\"codeTextSequence\");\n return sequenceOpen(code);\n }\n\n /**\n * In opening sequence.\n *\n * ```markdown\n * > | `a`\n * ^\n * ```\n *\n * @type {State}\n */\n function sequenceOpen(code) {\n if (code === 96) {\n effects.consume(code);\n sizeOpen++;\n return sequenceOpen;\n }\n effects.exit(\"codeTextSequence\");\n return between(code);\n }\n\n /**\n * Between something and something else.\n *\n * ```markdown\n * > | `a`\n * ^^\n * ```\n *\n * @type {State}\n */\n function between(code) {\n // EOF.\n if (code === null) {\n return nok(code);\n }\n\n // To do: next major: don\u2019t do spaces in resolve, but when compiling,\n // like `markdown-rs`.\n // Tabs don\u2019t work, and virtual spaces don\u2019t make sense.\n if (code === 32) {\n effects.enter('space');\n effects.consume(code);\n effects.exit('space');\n return between;\n }\n\n // Closing fence? Could also be data.\n if (code === 96) {\n token = effects.enter(\"codeTextSequence\");\n size = 0;\n return sequenceClose(code);\n }\n if (markdownLineEnding(code)) {\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return between;\n }\n\n // Data.\n effects.enter(\"codeTextData\");\n return data(code);\n }\n\n /**\n * In data.\n *\n * ```markdown\n * > | `a`\n * ^\n * ```\n *\n * @type {State}\n */\n function data(code) {\n if (code === null || code === 32 || code === 96 || markdownLineEnding(code)) {\n effects.exit(\"codeTextData\");\n return between(code);\n }\n effects.consume(code);\n return data;\n }\n\n /**\n * In closing sequence.\n *\n * ```markdown\n * > | `a`\n * ^\n * ```\n *\n * @type {State}\n */\n function sequenceClose(code) {\n // More.\n if (code === 96) {\n effects.consume(code);\n size++;\n return sequenceClose;\n }\n\n // Done!\n if (size === sizeOpen) {\n effects.exit(\"codeTextSequence\");\n effects.exit(\"codeText\");\n return ok(code);\n }\n\n // More or less accents: mark as data.\n token.type = \"codeTextData\";\n return data(code);\n }\n}", "/**\n * Some of the internal operations of micromark do lots of editing\n * operations on very large arrays. This runs into problems with two\n * properties of most circa-2020 JavaScript interpreters:\n *\n * - Array-length modifications at the high end of an array (push/pop) are\n * expected to be common and are implemented in (amortized) time\n * proportional to the number of elements added or removed, whereas\n * other operations (shift/unshift and splice) are much less efficient.\n * - Function arguments are passed on the stack, so adding tens of thousands\n * of elements to an array with `arr.push(...newElements)` will frequently\n * cause stack overflows. (see <https://stackoverflow.com/questions/22123769/rangeerror-maximum-call-stack-size-exceeded-why>)\n *\n * SpliceBuffers are an implementation of gap buffers, which are a\n * generalization of the \"queue made of two stacks\" idea. The splice buffer\n * maintains a cursor, and moving the cursor has cost proportional to the\n * distance the cursor moves, but inserting, deleting, or splicing in\n * new information at the cursor is as efficient as the push/pop operation.\n * This allows for an efficient sequence of splices (or pushes, pops, shifts,\n * or unshifts) as long such edits happen at the same part of the array or\n * generally sweep through the array from the beginning to the end.\n *\n * The interface for splice buffers also supports large numbers of inputs by\n * passing a single array argument rather passing multiple arguments on the\n * function call stack.\n *\n * @template T\n * Item type.\n */\nexport class SpliceBuffer {\n /**\n * @param {ReadonlyArray<T> | null | undefined} [initial]\n * Initial items (optional).\n * @returns\n * Splice buffer.\n */\n constructor(initial) {\n /** @type {Array<T>} */\n this.left = initial ? [...initial] : [];\n /** @type {Array<T>} */\n this.right = [];\n }\n\n /**\n * Array access;\n * does not move the cursor.\n *\n * @param {number} index\n * Index.\n * @return {T}\n * Item.\n */\n get(index) {\n if (index < 0 || index >= this.left.length + this.right.length) {\n throw new RangeError('Cannot access index `' + index + '` in a splice buffer of size `' + (this.left.length + this.right.length) + '`');\n }\n if (index < this.left.length) return this.left[index];\n return this.right[this.right.length - index + this.left.length - 1];\n }\n\n /**\n * The length of the splice buffer, one greater than the largest index in the\n * array.\n */\n get length() {\n return this.left.length + this.right.length;\n }\n\n /**\n * Remove and return `list[0]`;\n * moves the cursor to `0`.\n *\n * @returns {T | undefined}\n * Item, optional.\n */\n shift() {\n this.setCursor(0);\n return this.right.pop();\n }\n\n /**\n * Slice the buffer to get an array;\n * does not move the cursor.\n *\n * @param {number} start\n * Start.\n * @param {number | null | undefined} [end]\n * End (optional).\n * @returns {Array<T>}\n * Array of items.\n */\n slice(start, end) {\n /** @type {number} */\n const stop = end === null || end === undefined ? Number.POSITIVE_INFINITY : end;\n if (stop < this.left.length) {\n return this.left.slice(start, stop);\n }\n if (start > this.left.length) {\n return this.right.slice(this.right.length - stop + this.left.length, this.right.length - start + this.left.length).reverse();\n }\n return this.left.slice(start).concat(this.right.slice(this.right.length - stop + this.left.length).reverse());\n }\n\n /**\n * Mimics the behavior of Array.prototype.splice() except for the change of\n * interface necessary to avoid segfaults when patching in very large arrays.\n *\n * This operation moves cursor is moved to `start` and results in the cursor\n * placed after any inserted items.\n *\n * @param {number} start\n * Start;\n * zero-based index at which to start changing the array;\n * negative numbers count backwards from the end of the array and values\n * that are out-of bounds are clamped to the appropriate end of the array.\n * @param {number | null | undefined} [deleteCount=0]\n * Delete count (default: `0`);\n * maximum number of elements to delete, starting from start.\n * @param {Array<T> | null | undefined} [items=[]]\n * Items to include in place of the deleted items (default: `[]`).\n * @return {Array<T>}\n * Any removed items.\n */\n splice(start, deleteCount, items) {\n /** @type {number} */\n const count = deleteCount || 0;\n this.setCursor(Math.trunc(start));\n const removed = this.right.splice(this.right.length - count, Number.POSITIVE_INFINITY);\n if (items) chunkedPush(this.left, items);\n return removed.reverse();\n }\n\n /**\n * Remove and return the highest-numbered item in the array, so\n * `list[list.length - 1]`;\n * Moves the cursor to `length`.\n *\n * @returns {T | undefined}\n * Item, optional.\n */\n pop() {\n this.setCursor(Number.POSITIVE_INFINITY);\n return this.left.pop();\n }\n\n /**\n * Inserts a single item to the high-numbered side of the array;\n * moves the cursor to `length`.\n *\n * @param {T} item\n * Item.\n * @returns {undefined}\n * Nothing.\n */\n push(item) {\n this.setCursor(Number.POSITIVE_INFINITY);\n this.left.push(item);\n }\n\n /**\n * Inserts many items to the high-numbered side of the array.\n * Moves the cursor to `length`.\n *\n * @param {Array<T>} items\n * Items.\n * @returns {undefined}\n * Nothing.\n */\n pushMany(items) {\n this.setCursor(Number.POSITIVE_INFINITY);\n chunkedPush(this.left, items);\n }\n\n /**\n * Inserts a single item to the low-numbered side of the array;\n * Moves the cursor to `0`.\n *\n * @param {T} item\n * Item.\n * @returns {undefined}\n * Nothing.\n */\n unshift(item) {\n this.setCursor(0);\n this.right.push(item);\n }\n\n /**\n * Inserts many items to the low-numbered side of the array;\n * moves the cursor to `0`.\n *\n * @param {Array<T>} items\n * Items.\n * @returns {undefined}\n * Nothing.\n */\n unshiftMany(items) {\n this.setCursor(0);\n chunkedPush(this.right, items.reverse());\n }\n\n /**\n * Move the cursor to a specific position in the array. Requires\n * time proportional to the distance moved.\n *\n * If `n < 0`, the cursor will end up at the beginning.\n * If `n > length`, the cursor will end up at the end.\n *\n * @param {number} n\n * Position.\n * @return {undefined}\n * Nothing.\n */\n setCursor(n) {\n if (n === this.left.length || n > this.left.length && this.right.length === 0 || n < 0 && this.left.length === 0) return;\n if (n < this.left.length) {\n // Move cursor to the this.left\n const removed = this.left.splice(n, Number.POSITIVE_INFINITY);\n chunkedPush(this.right, removed.reverse());\n } else {\n // Move cursor to the this.right\n const removed = this.right.splice(this.left.length + this.right.length - n, Number.POSITIVE_INFINITY);\n chunkedPush(this.left, removed.reverse());\n }\n }\n}\n\n/**\n * Avoid stack overflow by pushing items onto the stack in segments\n *\n * @template T\n * Item type.\n * @param {Array<T>} list\n * List to inject into.\n * @param {ReadonlyArray<T>} right\n * Items to inject.\n * @return {undefined}\n * Nothing.\n */\nfunction chunkedPush(list, right) {\n /** @type {number} */\n let chunkStart = 0;\n if (right.length < 10000) {\n list.push(...right);\n } else {\n while (chunkStart < right.length) {\n list.push(...right.slice(chunkStart, chunkStart + 10000));\n chunkStart += 10000;\n }\n }\n}", "/**\n * @import {Chunk, Event, Token} from 'micromark-util-types'\n */\n\nimport { splice } from 'micromark-util-chunked';\nimport { SpliceBuffer } from './lib/splice-buffer.js';\n\n// Hidden API exposed for testing.\nexport { SpliceBuffer } from './lib/splice-buffer.js';\n\n/**\n * Tokenize subcontent.\n *\n * @param {Array<Event>} eventsArray\n * List of events.\n * @returns {boolean}\n * Whether subtokens were found.\n */\n// eslint-disable-next-line complexity\nexport function subtokenize(eventsArray) {\n /** @type {Record<string, number>} */\n const jumps = {};\n let index = -1;\n /** @type {Event} */\n let event;\n /** @type {number | undefined} */\n let lineIndex;\n /** @type {number} */\n let otherIndex;\n /** @type {Event} */\n let otherEvent;\n /** @type {Array<Event>} */\n let parameters;\n /** @type {Array<Event>} */\n let subevents;\n /** @type {boolean | undefined} */\n let more;\n const events = new SpliceBuffer(eventsArray);\n while (++index < events.length) {\n while (index in jumps) {\n index = jumps[index];\n }\n event = events.get(index);\n\n // Add a hook for the GFM tasklist extension, which needs to know if text\n // is in the first content of a list item.\n if (index && event[1].type === \"chunkFlow\" && events.get(index - 1)[1].type === \"listItemPrefix\") {\n subevents = event[1]._tokenizer.events;\n otherIndex = 0;\n if (otherIndex < subevents.length && subevents[otherIndex][1].type === \"lineEndingBlank\") {\n otherIndex += 2;\n }\n if (otherIndex < subevents.length && subevents[otherIndex][1].type === \"content\") {\n while (++otherIndex < subevents.length) {\n if (subevents[otherIndex][1].type === \"content\") {\n break;\n }\n if (subevents[otherIndex][1].type === \"chunkText\") {\n subevents[otherIndex][1]._isInFirstContentOfListItem = true;\n otherIndex++;\n }\n }\n }\n }\n\n // Enter.\n if (event[0] === 'enter') {\n if (event[1].contentType) {\n Object.assign(jumps, subcontent(events, index));\n index = jumps[index];\n more = true;\n }\n }\n // Exit.\n else if (event[1]._container) {\n otherIndex = index;\n lineIndex = undefined;\n while (otherIndex--) {\n otherEvent = events.get(otherIndex);\n if (otherEvent[1].type === \"lineEnding\" || otherEvent[1].type === \"lineEndingBlank\") {\n if (otherEvent[0] === 'enter') {\n if (lineIndex) {\n events.get(lineIndex)[1].type = \"lineEndingBlank\";\n }\n otherEvent[1].type = \"lineEnding\";\n lineIndex = otherIndex;\n }\n } else if (otherEvent[1].type === \"linePrefix\" || otherEvent[1].type === \"listItemIndent\") {\n // Move past.\n } else {\n break;\n }\n }\n if (lineIndex) {\n // Fix position.\n event[1].end = {\n ...events.get(lineIndex)[1].start\n };\n\n // Switch container exit w/ line endings.\n parameters = events.slice(lineIndex, index);\n parameters.unshift(event);\n events.splice(lineIndex, index - lineIndex + 1, parameters);\n }\n }\n }\n\n // The changes to the `events` buffer must be copied back into the eventsArray\n splice(eventsArray, 0, Number.POSITIVE_INFINITY, events.slice(0));\n return !more;\n}\n\n/**\n * Tokenize embedded tokens.\n *\n * @param {SpliceBuffer<Event>} events\n * Events.\n * @param {number} eventIndex\n * Index.\n * @returns {Record<string, number>}\n * Gaps.\n */\nfunction subcontent(events, eventIndex) {\n const token = events.get(eventIndex)[1];\n const context = events.get(eventIndex)[2];\n let startPosition = eventIndex - 1;\n /** @type {Array<number>} */\n const startPositions = [];\n let tokenizer = token._tokenizer;\n if (!tokenizer) {\n tokenizer = context.parser[token.contentType](token.start);\n if (token._contentTypeTextTrailing) {\n tokenizer._contentTypeTextTrailing = true;\n }\n }\n const childEvents = tokenizer.events;\n /** @type {Array<[number, number]>} */\n const jumps = [];\n /** @type {Record<string, number>} */\n const gaps = {};\n /** @type {Array<Chunk>} */\n let stream;\n /** @type {Token | undefined} */\n let previous;\n let index = -1;\n /** @type {Token | undefined} */\n let current = token;\n let adjust = 0;\n let start = 0;\n const breaks = [start];\n\n // Loop forward through the linked tokens to pass them in order to the\n // subtokenizer.\n while (current) {\n // Find the position of the event for this token.\n while (events.get(++startPosition)[1] !== current) {\n // Empty.\n }\n startPositions.push(startPosition);\n if (!current._tokenizer) {\n stream = context.sliceStream(current);\n if (!current.next) {\n stream.push(null);\n }\n if (previous) {\n tokenizer.defineSkip(current.start);\n }\n if (current._isInFirstContentOfListItem) {\n tokenizer._gfmTasklistFirstContentOfListItem = true;\n }\n tokenizer.write(stream);\n if (current._isInFirstContentOfListItem) {\n tokenizer._gfmTasklistFirstContentOfListItem = undefined;\n }\n }\n\n // Unravel the next token.\n previous = current;\n current = current.next;\n }\n\n // Now, loop back through all events (and linked tokens), to figure out which\n // parts belong where.\n current = token;\n while (++index < childEvents.length) {\n if (\n // Find a void token that includes a break.\n childEvents[index][0] === 'exit' && childEvents[index - 1][0] === 'enter' && childEvents[index][1].type === childEvents[index - 1][1].type && childEvents[index][1].start.line !== childEvents[index][1].end.line) {\n start = index + 1;\n breaks.push(start);\n // Help GC.\n current._tokenizer = undefined;\n current.previous = undefined;\n current = current.next;\n }\n }\n\n // Help GC.\n tokenizer.events = [];\n\n // If there\u2019s one more token (which is the cases for lines that end in an\n // EOF), that\u2019s perfect: the last point we found starts it.\n // If there isn\u2019t then make sure any remaining content is added to it.\n if (current) {\n // Help GC.\n current._tokenizer = undefined;\n current.previous = undefined;\n } else {\n breaks.pop();\n }\n\n // Now splice the events from the subtokenizer into the current events,\n // moving back to front so that splice indices aren\u2019t affected.\n index = breaks.length;\n while (index--) {\n const slice = childEvents.slice(breaks[index], breaks[index + 1]);\n const start = startPositions.pop();\n jumps.push([start, start + slice.length - 1]);\n events.splice(start, 2, slice);\n }\n jumps.reverse();\n index = -1;\n while (++index < jumps.length) {\n gaps[adjust + jumps[index][0]] = adjust + jumps[index][1];\n adjust += jumps[index][1] - jumps[index][0] - 1;\n }\n return gaps;\n}", "/**\n * @import {\n * Construct,\n * Resolver,\n * State,\n * TokenizeContext,\n * Tokenizer,\n * Token\n * } from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEnding } from 'micromark-util-character';\nimport { subtokenize } from 'micromark-util-subtokenize';\n/**\n * No name because it must not be turned off.\n * @type {Construct}\n */\nexport const content = {\n resolve: resolveContent,\n tokenize: tokenizeContent\n};\n\n/** @type {Construct} */\nconst continuationConstruct = {\n partial: true,\n tokenize: tokenizeContinuation\n};\n\n/**\n * Content is transparent: it\u2019s parsed right now. That way, definitions are also\n * parsed right now: before text in paragraphs (specifically, media) are parsed.\n *\n * @type {Resolver}\n */\nfunction resolveContent(events) {\n subtokenize(events);\n return events;\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeContent(effects, ok) {\n /** @type {Token | undefined} */\n let previous;\n return chunkStart;\n\n /**\n * Before a content chunk.\n *\n * ```markdown\n * > | abc\n * ^\n * ```\n *\n * @type {State}\n */\n function chunkStart(code) {\n effects.enter(\"content\");\n previous = effects.enter(\"chunkContent\", {\n contentType: \"content\"\n });\n return chunkInside(code);\n }\n\n /**\n * In a content chunk.\n *\n * ```markdown\n * > | abc\n * ^^^\n * ```\n *\n * @type {State}\n */\n function chunkInside(code) {\n if (code === null) {\n return contentEnd(code);\n }\n\n // To do: in `markdown-rs`, each line is parsed on its own, and everything\n // is stitched together resolving.\n if (markdownLineEnding(code)) {\n return effects.check(continuationConstruct, contentContinue, contentEnd)(code);\n }\n\n // Data.\n effects.consume(code);\n return chunkInside;\n }\n\n /**\n *\n *\n * @type {State}\n */\n function contentEnd(code) {\n effects.exit(\"chunkContent\");\n effects.exit(\"content\");\n return ok(code);\n }\n\n /**\n *\n *\n * @type {State}\n */\n function contentContinue(code) {\n effects.consume(code);\n effects.exit(\"chunkContent\");\n previous.next = effects.enter(\"chunkContent\", {\n contentType: \"content\",\n previous\n });\n previous = previous.next;\n return chunkInside;\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeContinuation(effects, ok, nok) {\n const self = this;\n return startLookahead;\n\n /**\n *\n *\n * @type {State}\n */\n function startLookahead(code) {\n effects.exit(\"chunkContent\");\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return factorySpace(effects, prefixed, \"linePrefix\");\n }\n\n /**\n *\n *\n * @type {State}\n */\n function prefixed(code) {\n if (code === null || markdownLineEnding(code)) {\n return nok(code);\n }\n\n // Always populated by defaults.\n\n const tail = self.events[self.events.length - 1];\n if (!self.parser.constructs.disable.null.includes('codeIndented') && tail && tail[1].type === \"linePrefix\" && tail[2].sliceSerialize(tail[1], true).length >= 4) {\n return ok(code);\n }\n return effects.interrupt(self.parser.constructs.flow, nok, ok)(code);\n }\n}", "/**\n * @import {Effects, State, TokenType} from 'micromark-util-types'\n */\n\nimport { asciiControl, markdownLineEndingOrSpace, markdownLineEnding } from 'micromark-util-character';\n/**\n * Parse destinations.\n *\n * ###### Examples\n *\n * ```markdown\n * <a>\n * <a\\>b>\n * <a b>\n * <a)>\n * a\n * a\\)b\n * a(b)c\n * a(b)\n * ```\n *\n * @param {Effects} effects\n * Context.\n * @param {State} ok\n * State switched to when successful.\n * @param {State} nok\n * State switched to when unsuccessful.\n * @param {TokenType} type\n * Type for whole (`<a>` or `b`).\n * @param {TokenType} literalType\n * Type when enclosed (`<a>`).\n * @param {TokenType} literalMarkerType\n * Type for enclosing (`<` and `>`).\n * @param {TokenType} rawType\n * Type when not enclosed (`b`).\n * @param {TokenType} stringType\n * Type for the value (`a` or `b`).\n * @param {number | undefined} [max=Infinity]\n * Depth of nested parens (inclusive).\n * @returns {State}\n * Start state.\n */\nexport function factoryDestination(effects, ok, nok, type, literalType, literalMarkerType, rawType, stringType, max) {\n const limit = max || Number.POSITIVE_INFINITY;\n let balance = 0;\n return start;\n\n /**\n * Start of destination.\n *\n * ```markdown\n * > | <aa>\n * ^\n * > | aa\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n if (code === 60) {\n effects.enter(type);\n effects.enter(literalType);\n effects.enter(literalMarkerType);\n effects.consume(code);\n effects.exit(literalMarkerType);\n return enclosedBefore;\n }\n\n // ASCII control, space, closing paren.\n if (code === null || code === 32 || code === 41 || asciiControl(code)) {\n return nok(code);\n }\n effects.enter(type);\n effects.enter(rawType);\n effects.enter(stringType);\n effects.enter(\"chunkString\", {\n contentType: \"string\"\n });\n return raw(code);\n }\n\n /**\n * After `<`, at an enclosed destination.\n *\n * ```markdown\n * > | <aa>\n * ^\n * ```\n *\n * @type {State}\n */\n function enclosedBefore(code) {\n if (code === 62) {\n effects.enter(literalMarkerType);\n effects.consume(code);\n effects.exit(literalMarkerType);\n effects.exit(literalType);\n effects.exit(type);\n return ok;\n }\n effects.enter(stringType);\n effects.enter(\"chunkString\", {\n contentType: \"string\"\n });\n return enclosed(code);\n }\n\n /**\n * In enclosed destination.\n *\n * ```markdown\n * > | <aa>\n * ^\n * ```\n *\n * @type {State}\n */\n function enclosed(code) {\n if (code === 62) {\n effects.exit(\"chunkString\");\n effects.exit(stringType);\n return enclosedBefore(code);\n }\n if (code === null || code === 60 || markdownLineEnding(code)) {\n return nok(code);\n }\n effects.consume(code);\n return code === 92 ? enclosedEscape : enclosed;\n }\n\n /**\n * After `\\`, at a special character.\n *\n * ```markdown\n * > | <a\\*a>\n * ^\n * ```\n *\n * @type {State}\n */\n function enclosedEscape(code) {\n if (code === 60 || code === 62 || code === 92) {\n effects.consume(code);\n return enclosed;\n }\n return enclosed(code);\n }\n\n /**\n * In raw destination.\n *\n * ```markdown\n * > | aa\n * ^\n * ```\n *\n * @type {State}\n */\n function raw(code) {\n if (!balance && (code === null || code === 41 || markdownLineEndingOrSpace(code))) {\n effects.exit(\"chunkString\");\n effects.exit(stringType);\n effects.exit(rawType);\n effects.exit(type);\n return ok(code);\n }\n if (balance < limit && code === 40) {\n effects.consume(code);\n balance++;\n return raw;\n }\n if (code === 41) {\n effects.consume(code);\n balance--;\n return raw;\n }\n\n // ASCII control (but *not* `\\0`) and space and `(`.\n // Note: in `markdown-rs`, `\\0` exists in codes, in `micromark-js` it\n // doesn\u2019t.\n if (code === null || code === 32 || code === 40 || asciiControl(code)) {\n return nok(code);\n }\n effects.consume(code);\n return code === 92 ? rawEscape : raw;\n }\n\n /**\n * After `\\`, at special character.\n *\n * ```markdown\n * > | a\\*a\n * ^\n * ```\n *\n * @type {State}\n */\n function rawEscape(code) {\n if (code === 40 || code === 41 || code === 92) {\n effects.consume(code);\n return raw;\n }\n return raw(code);\n }\n}", "/**\n * @import {\n * Effects,\n * State,\n * TokenizeContext,\n * TokenType\n * } from 'micromark-util-types'\n */\n\nimport { markdownLineEnding, markdownSpace } from 'micromark-util-character';\n/**\n * Parse labels.\n *\n * > \uD83D\uDC49 **Note**: labels in markdown are capped at 999 characters in the string.\n *\n * ###### Examples\n *\n * ```markdown\n * [a]\n * [a\n * b]\n * [a\\]b]\n * ```\n *\n * @this {TokenizeContext}\n * Tokenize context.\n * @param {Effects} effects\n * Context.\n * @param {State} ok\n * State switched to when successful.\n * @param {State} nok\n * State switched to when unsuccessful.\n * @param {TokenType} type\n * Type of the whole label (`[a]`).\n * @param {TokenType} markerType\n * Type for the markers (`[` and `]`).\n * @param {TokenType} stringType\n * Type for the identifier (`a`).\n * @returns {State}\n * Start state.\n */\nexport function factoryLabel(effects, ok, nok, type, markerType, stringType) {\n const self = this;\n let size = 0;\n /** @type {boolean} */\n let seen;\n return start;\n\n /**\n * Start of label.\n *\n * ```markdown\n * > | [a]\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(type);\n effects.enter(markerType);\n effects.consume(code);\n effects.exit(markerType);\n effects.enter(stringType);\n return atBreak;\n }\n\n /**\n * In label, at something, before something else.\n *\n * ```markdown\n * > | [a]\n * ^\n * ```\n *\n * @type {State}\n */\n function atBreak(code) {\n if (size > 999 || code === null || code === 91 || code === 93 && !seen ||\n // To do: remove in the future once we\u2019ve switched from\n // `micromark-extension-footnote` to `micromark-extension-gfm-footnote`,\n // which doesn\u2019t need this.\n // Hidden footnotes hook.\n /* c8 ignore next 3 */\n code === 94 && !size && '_hiddenFootnoteSupport' in self.parser.constructs) {\n return nok(code);\n }\n if (code === 93) {\n effects.exit(stringType);\n effects.enter(markerType);\n effects.consume(code);\n effects.exit(markerType);\n effects.exit(type);\n return ok;\n }\n\n // To do: indent? Link chunks and EOLs together?\n if (markdownLineEnding(code)) {\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return atBreak;\n }\n effects.enter(\"chunkString\", {\n contentType: \"string\"\n });\n return labelInside(code);\n }\n\n /**\n * In label, in text.\n *\n * ```markdown\n * > | [a]\n * ^\n * ```\n *\n * @type {State}\n */\n function labelInside(code) {\n if (code === null || code === 91 || code === 93 || markdownLineEnding(code) || size++ > 999) {\n effects.exit(\"chunkString\");\n return atBreak(code);\n }\n effects.consume(code);\n if (!seen) seen = !markdownSpace(code);\n return code === 92 ? labelEscape : labelInside;\n }\n\n /**\n * After `\\`, at a special character.\n *\n * ```markdown\n * > | [a\\*a]\n * ^\n * ```\n *\n * @type {State}\n */\n function labelEscape(code) {\n if (code === 91 || code === 92 || code === 93) {\n effects.consume(code);\n size++;\n return labelInside;\n }\n return labelInside(code);\n }\n}", "/**\n * @import {\n * Code,\n * Effects,\n * State,\n * TokenType\n * } from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEnding } from 'micromark-util-character';\n/**\n * Parse titles.\n *\n * ###### Examples\n *\n * ```markdown\n * \"a\"\n * 'b'\n * (c)\n * \"a\n * b\"\n * 'a\n * b'\n * (a\\)b)\n * ```\n *\n * @param {Effects} effects\n * Context.\n * @param {State} ok\n * State switched to when successful.\n * @param {State} nok\n * State switched to when unsuccessful.\n * @param {TokenType} type\n * Type of the whole title (`\"a\"`, `'b'`, `(c)`).\n * @param {TokenType} markerType\n * Type for the markers (`\"`, `'`, `(`, and `)`).\n * @param {TokenType} stringType\n * Type for the value (`a`).\n * @returns {State}\n * Start state.\n */\nexport function factoryTitle(effects, ok, nok, type, markerType, stringType) {\n /** @type {NonNullable<Code>} */\n let marker;\n return start;\n\n /**\n * Start of title.\n *\n * ```markdown\n * > | \"a\"\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n if (code === 34 || code === 39 || code === 40) {\n effects.enter(type);\n effects.enter(markerType);\n effects.consume(code);\n effects.exit(markerType);\n marker = code === 40 ? 41 : code;\n return begin;\n }\n return nok(code);\n }\n\n /**\n * After opening marker.\n *\n * This is also used at the closing marker.\n *\n * ```markdown\n * > | \"a\"\n * ^\n * ```\n *\n * @type {State}\n */\n function begin(code) {\n if (code === marker) {\n effects.enter(markerType);\n effects.consume(code);\n effects.exit(markerType);\n effects.exit(type);\n return ok;\n }\n effects.enter(stringType);\n return atBreak(code);\n }\n\n /**\n * At something, before something else.\n *\n * ```markdown\n * > | \"a\"\n * ^\n * ```\n *\n * @type {State}\n */\n function atBreak(code) {\n if (code === marker) {\n effects.exit(stringType);\n return begin(marker);\n }\n if (code === null) {\n return nok(code);\n }\n\n // Note: blank lines can\u2019t exist in content.\n if (markdownLineEnding(code)) {\n // To do: use `space_or_tab_eol_with_options`, connect.\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return factorySpace(effects, atBreak, \"linePrefix\");\n }\n effects.enter(\"chunkString\", {\n contentType: \"string\"\n });\n return inside(code);\n }\n\n /**\n *\n *\n * @type {State}\n */\n function inside(code) {\n if (code === marker || code === null || markdownLineEnding(code)) {\n effects.exit(\"chunkString\");\n return atBreak(code);\n }\n effects.consume(code);\n return code === 92 ? escape : inside;\n }\n\n /**\n * After `\\`, at a special character.\n *\n * ```markdown\n * > | \"a\\*b\"\n * ^\n * ```\n *\n * @type {State}\n */\n function escape(code) {\n if (code === marker || code === 92) {\n effects.consume(code);\n return inside;\n }\n return inside(code);\n }\n}", "/**\n * @import {Effects, State} from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEnding, markdownSpace } from 'micromark-util-character';\n/**\n * Parse spaces and tabs.\n *\n * There is no `nok` parameter:\n *\n * * line endings or spaces in markdown are often optional, in which case this\n * factory can be used and `ok` will be switched to whether spaces were found\n * or not\n * * one line ending or space can be detected with\n * `markdownLineEndingOrSpace(code)` right before using `factoryWhitespace`\n *\n * @param {Effects} effects\n * Context.\n * @param {State} ok\n * State switched to when successful.\n * @returns {State}\n * Start state.\n */\nexport function factoryWhitespace(effects, ok) {\n /** @type {boolean} */\n let seen;\n return start;\n\n /** @type {State} */\n function start(code) {\n if (markdownLineEnding(code)) {\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n seen = true;\n return start;\n }\n if (markdownSpace(code)) {\n return factorySpace(effects, start, seen ? \"linePrefix\" : \"lineSuffix\")(code);\n }\n return ok(code);\n }\n}", "/**\n * @import {\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { factoryDestination } from 'micromark-factory-destination';\nimport { factoryLabel } from 'micromark-factory-label';\nimport { factorySpace } from 'micromark-factory-space';\nimport { factoryTitle } from 'micromark-factory-title';\nimport { factoryWhitespace } from 'micromark-factory-whitespace';\nimport { markdownLineEndingOrSpace, markdownLineEnding, markdownSpace } from 'micromark-util-character';\nimport { normalizeIdentifier } from 'micromark-util-normalize-identifier';\n/** @type {Construct} */\nexport const definition = {\n name: 'definition',\n tokenize: tokenizeDefinition\n};\n\n/** @type {Construct} */\nconst titleBefore = {\n partial: true,\n tokenize: tokenizeTitleBefore\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeDefinition(effects, ok, nok) {\n const self = this;\n /** @type {string} */\n let identifier;\n return start;\n\n /**\n * At start of a definition.\n *\n * ```markdown\n * > | [a]: b \"c\"\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n // Do not interrupt paragraphs (but do follow definitions).\n // To do: do `interrupt` the way `markdown-rs` does.\n // To do: parse whitespace the way `markdown-rs` does.\n effects.enter(\"definition\");\n return before(code);\n }\n\n /**\n * After optional whitespace, at `[`.\n *\n * ```markdown\n * > | [a]: b \"c\"\n * ^\n * ```\n *\n * @type {State}\n */\n function before(code) {\n // To do: parse whitespace the way `markdown-rs` does.\n\n return factoryLabel.call(self, effects, labelAfter,\n // Note: we don\u2019t need to reset the way `markdown-rs` does.\n nok, \"definitionLabel\", \"definitionLabelMarker\", \"definitionLabelString\")(code);\n }\n\n /**\n * After label.\n *\n * ```markdown\n * > | [a]: b \"c\"\n * ^\n * ```\n *\n * @type {State}\n */\n function labelAfter(code) {\n identifier = normalizeIdentifier(self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1));\n if (code === 58) {\n effects.enter(\"definitionMarker\");\n effects.consume(code);\n effects.exit(\"definitionMarker\");\n return markerAfter;\n }\n return nok(code);\n }\n\n /**\n * After marker.\n *\n * ```markdown\n * > | [a]: b \"c\"\n * ^\n * ```\n *\n * @type {State}\n */\n function markerAfter(code) {\n // Note: whitespace is optional.\n return markdownLineEndingOrSpace(code) ? factoryWhitespace(effects, destinationBefore)(code) : destinationBefore(code);\n }\n\n /**\n * Before destination.\n *\n * ```markdown\n * > | [a]: b \"c\"\n * ^\n * ```\n *\n * @type {State}\n */\n function destinationBefore(code) {\n return factoryDestination(effects, destinationAfter,\n // Note: we don\u2019t need to reset the way `markdown-rs` does.\n nok, \"definitionDestination\", \"definitionDestinationLiteral\", \"definitionDestinationLiteralMarker\", \"definitionDestinationRaw\", \"definitionDestinationString\")(code);\n }\n\n /**\n * After destination.\n *\n * ```markdown\n * > | [a]: b \"c\"\n * ^\n * ```\n *\n * @type {State}\n */\n function destinationAfter(code) {\n return effects.attempt(titleBefore, after, after)(code);\n }\n\n /**\n * After definition.\n *\n * ```markdown\n * > | [a]: b\n * ^\n * > | [a]: b \"c\"\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n return markdownSpace(code) ? factorySpace(effects, afterWhitespace, \"whitespace\")(code) : afterWhitespace(code);\n }\n\n /**\n * After definition, after optional whitespace.\n *\n * ```markdown\n * > | [a]: b\n * ^\n * > | [a]: b \"c\"\n * ^\n * ```\n *\n * @type {State}\n */\n function afterWhitespace(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"definition\");\n\n // Note: we don\u2019t care about uniqueness.\n // It\u2019s likely that that doesn\u2019t happen very frequently.\n // It is more likely that it wastes precious time.\n self.parser.defined.push(identifier);\n\n // To do: `markdown-rs` interrupt.\n // // You\u2019d be interrupting.\n // tokenizer.interrupt = true\n return ok(code);\n }\n return nok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeTitleBefore(effects, ok, nok) {\n return titleBefore;\n\n /**\n * After destination, at whitespace.\n *\n * ```markdown\n * > | [a]: b\n * ^\n * > | [a]: b \"c\"\n * ^\n * ```\n *\n * @type {State}\n */\n function titleBefore(code) {\n return markdownLineEndingOrSpace(code) ? factoryWhitespace(effects, beforeMarker)(code) : nok(code);\n }\n\n /**\n * At title.\n *\n * ```markdown\n * | [a]: b\n * > | \"c\"\n * ^\n * ```\n *\n * @type {State}\n */\n function beforeMarker(code) {\n return factoryTitle(effects, titleAfter, nok, \"definitionTitle\", \"definitionTitleMarker\", \"definitionTitleString\")(code);\n }\n\n /**\n * After title.\n *\n * ```markdown\n * > | [a]: b \"c\"\n * ^\n * ```\n *\n * @type {State}\n */\n function titleAfter(code) {\n return markdownSpace(code) ? factorySpace(effects, titleAfterOptionalWhitespace, \"whitespace\")(code) : titleAfterOptionalWhitespace(code);\n }\n\n /**\n * After title, after optional whitespace.\n *\n * ```markdown\n * > | [a]: b \"c\"\n * ^\n * ```\n *\n * @type {State}\n */\n function titleAfterOptionalWhitespace(code) {\n return code === null || markdownLineEnding(code) ? ok(code) : nok(code);\n }\n}", "/**\n * @import {\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { markdownLineEnding } from 'micromark-util-character';\n/** @type {Construct} */\nexport const hardBreakEscape = {\n name: 'hardBreakEscape',\n tokenize: tokenizeHardBreakEscape\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeHardBreakEscape(effects, ok, nok) {\n return start;\n\n /**\n * Start of a hard break (escape).\n *\n * ```markdown\n * > | a\\\n * ^\n * | b\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"hardBreakEscape\");\n effects.consume(code);\n return after;\n }\n\n /**\n * After `\\`, at eol.\n *\n * ```markdown\n * > | a\\\n * ^\n * | b\n * ```\n *\n * @type {State}\n */\n function after(code) {\n if (markdownLineEnding(code)) {\n effects.exit(\"hardBreakEscape\");\n return ok(code);\n }\n return nok(code);\n }\n}", "/**\n * @import {\n * Construct,\n * Resolver,\n * State,\n * TokenizeContext,\n * Tokenizer,\n * Token\n * } from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEndingOrSpace, markdownLineEnding, markdownSpace } from 'micromark-util-character';\nimport { splice } from 'micromark-util-chunked';\n/** @type {Construct} */\nexport const headingAtx = {\n name: 'headingAtx',\n resolve: resolveHeadingAtx,\n tokenize: tokenizeHeadingAtx\n};\n\n/** @type {Resolver} */\nfunction resolveHeadingAtx(events, context) {\n let contentEnd = events.length - 2;\n let contentStart = 3;\n /** @type {Token} */\n let content;\n /** @type {Token} */\n let text;\n\n // Prefix whitespace, part of the opening.\n if (events[contentStart][1].type === \"whitespace\") {\n contentStart += 2;\n }\n\n // Suffix whitespace, part of the closing.\n if (contentEnd - 2 > contentStart && events[contentEnd][1].type === \"whitespace\") {\n contentEnd -= 2;\n }\n if (events[contentEnd][1].type === \"atxHeadingSequence\" && (contentStart === contentEnd - 1 || contentEnd - 4 > contentStart && events[contentEnd - 2][1].type === \"whitespace\")) {\n contentEnd -= contentStart + 1 === contentEnd ? 2 : 4;\n }\n if (contentEnd > contentStart) {\n content = {\n type: \"atxHeadingText\",\n start: events[contentStart][1].start,\n end: events[contentEnd][1].end\n };\n text = {\n type: \"chunkText\",\n start: events[contentStart][1].start,\n end: events[contentEnd][1].end,\n contentType: \"text\"\n };\n splice(events, contentStart, contentEnd - contentStart + 1, [['enter', content, context], ['enter', text, context], ['exit', text, context], ['exit', content, context]]);\n }\n return events;\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeHeadingAtx(effects, ok, nok) {\n let size = 0;\n return start;\n\n /**\n * Start of a heading (atx).\n *\n * ```markdown\n * > | ## aa\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n // To do: parse indent like `markdown-rs`.\n effects.enter(\"atxHeading\");\n return before(code);\n }\n\n /**\n * After optional whitespace, at `#`.\n *\n * ```markdown\n * > | ## aa\n * ^\n * ```\n *\n * @type {State}\n */\n function before(code) {\n effects.enter(\"atxHeadingSequence\");\n return sequenceOpen(code);\n }\n\n /**\n * In opening sequence.\n *\n * ```markdown\n * > | ## aa\n * ^\n * ```\n *\n * @type {State}\n */\n function sequenceOpen(code) {\n if (code === 35 && size++ < 6) {\n effects.consume(code);\n return sequenceOpen;\n }\n\n // Always at least one `#`.\n if (code === null || markdownLineEndingOrSpace(code)) {\n effects.exit(\"atxHeadingSequence\");\n return atBreak(code);\n }\n return nok(code);\n }\n\n /**\n * After something, before something else.\n *\n * ```markdown\n * > | ## aa\n * ^\n * ```\n *\n * @type {State}\n */\n function atBreak(code) {\n if (code === 35) {\n effects.enter(\"atxHeadingSequence\");\n return sequenceFurther(code);\n }\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"atxHeading\");\n // To do: interrupt like `markdown-rs`.\n // // Feel free to interrupt.\n // tokenizer.interrupt = false\n return ok(code);\n }\n if (markdownSpace(code)) {\n return factorySpace(effects, atBreak, \"whitespace\")(code);\n }\n\n // To do: generate `data` tokens, add the `text` token later.\n // Needs edit map, see: `markdown.rs`.\n effects.enter(\"atxHeadingText\");\n return data(code);\n }\n\n /**\n * In further sequence (after whitespace).\n *\n * Could be normal \u201Cvisible\u201D hashes in the heading or a final sequence.\n *\n * ```markdown\n * > | ## aa ##\n * ^\n * ```\n *\n * @type {State}\n */\n function sequenceFurther(code) {\n if (code === 35) {\n effects.consume(code);\n return sequenceFurther;\n }\n effects.exit(\"atxHeadingSequence\");\n return atBreak(code);\n }\n\n /**\n * In text.\n *\n * ```markdown\n * > | ## aa\n * ^\n * ```\n *\n * @type {State}\n */\n function data(code) {\n if (code === null || code === 35 || markdownLineEndingOrSpace(code)) {\n effects.exit(\"atxHeadingText\");\n return atBreak(code);\n }\n effects.consume(code);\n return data;\n }\n}", "/**\n * List of lowercase HTML \u201Cblock\u201D tag names.\n *\n * The list, when parsing HTML (flow), results in more relaxed rules (condition\n * 6).\n * Because they are known blocks, the HTML-like syntax doesn\u2019t have to be\n * strictly parsed.\n * For tag names not in this list, a more strict algorithm (condition 7) is used\n * to detect whether the HTML-like syntax is seen as HTML (flow) or not.\n *\n * This is copied from:\n * <https://spec.commonmark.org/0.30/#html-blocks>.\n *\n * > \uD83D\uDC49 **Note**: `search` was added in `CommonMark@0.31`.\n */\nexport const htmlBlockNames = [\n 'address',\n 'article',\n 'aside',\n 'base',\n 'basefont',\n 'blockquote',\n 'body',\n 'caption',\n 'center',\n 'col',\n 'colgroup',\n 'dd',\n 'details',\n 'dialog',\n 'dir',\n 'div',\n 'dl',\n 'dt',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'footer',\n 'form',\n 'frame',\n 'frameset',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'head',\n 'header',\n 'hr',\n 'html',\n 'iframe',\n 'legend',\n 'li',\n 'link',\n 'main',\n 'menu',\n 'menuitem',\n 'nav',\n 'noframes',\n 'ol',\n 'optgroup',\n 'option',\n 'p',\n 'param',\n 'search',\n 'section',\n 'summary',\n 'table',\n 'tbody',\n 'td',\n 'tfoot',\n 'th',\n 'thead',\n 'title',\n 'tr',\n 'track',\n 'ul'\n]\n\n/**\n * List of lowercase HTML \u201Craw\u201D tag names.\n *\n * The list, when parsing HTML (flow), results in HTML that can include lines\n * without exiting, until a closing tag also in this list is found (condition\n * 1).\n *\n * This module is copied from:\n * <https://spec.commonmark.org/0.30/#html-blocks>.\n *\n * > \uD83D\uDC49 **Note**: `textarea` was added in `CommonMark@0.30`.\n */\nexport const htmlRawNames = ['pre', 'script', 'style', 'textarea']\n", "/**\n * @import {\n * Code,\n * Construct,\n * Resolver,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { asciiAlphanumeric, asciiAlpha, markdownLineEndingOrSpace, markdownLineEnding, markdownSpace } from 'micromark-util-character';\nimport { htmlBlockNames, htmlRawNames } from 'micromark-util-html-tag-name';\nimport { blankLine } from './blank-line.js';\n\n/** @type {Construct} */\nexport const htmlFlow = {\n concrete: true,\n name: 'htmlFlow',\n resolveTo: resolveToHtmlFlow,\n tokenize: tokenizeHtmlFlow\n};\n\n/** @type {Construct} */\nconst blankLineBefore = {\n partial: true,\n tokenize: tokenizeBlankLineBefore\n};\nconst nonLazyContinuationStart = {\n partial: true,\n tokenize: tokenizeNonLazyContinuationStart\n};\n\n/** @type {Resolver} */\nfunction resolveToHtmlFlow(events) {\n let index = events.length;\n while (index--) {\n if (events[index][0] === 'enter' && events[index][1].type === \"htmlFlow\") {\n break;\n }\n }\n if (index > 1 && events[index - 2][1].type === \"linePrefix\") {\n // Add the prefix start to the HTML token.\n events[index][1].start = events[index - 2][1].start;\n // Add the prefix start to the HTML line token.\n events[index + 1][1].start = events[index - 2][1].start;\n // Remove the line prefix.\n events.splice(index - 2, 2);\n }\n return events;\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeHtmlFlow(effects, ok, nok) {\n const self = this;\n /** @type {number} */\n let marker;\n /** @type {boolean} */\n let closingTag;\n /** @type {string} */\n let buffer;\n /** @type {number} */\n let index;\n /** @type {Code} */\n let markerB;\n return start;\n\n /**\n * Start of HTML (flow).\n *\n * ```markdown\n * > | <x />\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n // To do: parse indent like `markdown-rs`.\n return before(code);\n }\n\n /**\n * At `<`, after optional whitespace.\n *\n * ```markdown\n * > | <x />\n * ^\n * ```\n *\n * @type {State}\n */\n function before(code) {\n effects.enter(\"htmlFlow\");\n effects.enter(\"htmlFlowData\");\n effects.consume(code);\n return open;\n }\n\n /**\n * After `<`, at tag name or other stuff.\n *\n * ```markdown\n * > | <x />\n * ^\n * > | <!doctype>\n * ^\n * > | <!--xxx-->\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (code === 33) {\n effects.consume(code);\n return declarationOpen;\n }\n if (code === 47) {\n effects.consume(code);\n closingTag = true;\n return tagCloseStart;\n }\n if (code === 63) {\n effects.consume(code);\n marker = 3;\n // To do:\n // tokenizer.concrete = true\n // To do: use `markdown-rs` style interrupt.\n // While we\u2019re in an instruction instead of a declaration, we\u2019re on a `?`\n // right now, so we do need to search for `>`, similar to declarations.\n return self.interrupt ? ok : continuationDeclarationInside;\n }\n\n // ASCII alphabetical.\n if (asciiAlpha(code)) {\n // Always the case.\n effects.consume(code);\n buffer = String.fromCharCode(code);\n return tagName;\n }\n return nok(code);\n }\n\n /**\n * After `<!`, at declaration, comment, or CDATA.\n *\n * ```markdown\n * > | <!doctype>\n * ^\n * > | <!--xxx-->\n * ^\n * > | <![CDATA[>&<]]>\n * ^\n * ```\n *\n * @type {State}\n */\n function declarationOpen(code) {\n if (code === 45) {\n effects.consume(code);\n marker = 2;\n return commentOpenInside;\n }\n if (code === 91) {\n effects.consume(code);\n marker = 5;\n index = 0;\n return cdataOpenInside;\n }\n\n // ASCII alphabetical.\n if (asciiAlpha(code)) {\n effects.consume(code);\n marker = 4;\n // // Do not form containers.\n // tokenizer.concrete = true\n return self.interrupt ? ok : continuationDeclarationInside;\n }\n return nok(code);\n }\n\n /**\n * After `<!-`, inside a comment, at another `-`.\n *\n * ```markdown\n * > | <!--xxx-->\n * ^\n * ```\n *\n * @type {State}\n */\n function commentOpenInside(code) {\n if (code === 45) {\n effects.consume(code);\n // // Do not form containers.\n // tokenizer.concrete = true\n return self.interrupt ? ok : continuationDeclarationInside;\n }\n return nok(code);\n }\n\n /**\n * After `<![`, inside CDATA, expecting `CDATA[`.\n *\n * ```markdown\n * > | <![CDATA[>&<]]>\n * ^^^^^^\n * ```\n *\n * @type {State}\n */\n function cdataOpenInside(code) {\n const value = \"CDATA[\";\n if (code === value.charCodeAt(index++)) {\n effects.consume(code);\n if (index === value.length) {\n // // Do not form containers.\n // tokenizer.concrete = true\n return self.interrupt ? ok : continuation;\n }\n return cdataOpenInside;\n }\n return nok(code);\n }\n\n /**\n * After `</`, in closing tag, at tag name.\n *\n * ```markdown\n * > | </x>\n * ^\n * ```\n *\n * @type {State}\n */\n function tagCloseStart(code) {\n if (asciiAlpha(code)) {\n // Always the case.\n effects.consume(code);\n buffer = String.fromCharCode(code);\n return tagName;\n }\n return nok(code);\n }\n\n /**\n * In tag name.\n *\n * ```markdown\n * > | <ab>\n * ^^\n * > | </ab>\n * ^^\n * ```\n *\n * @type {State}\n */\n function tagName(code) {\n if (code === null || code === 47 || code === 62 || markdownLineEndingOrSpace(code)) {\n const slash = code === 47;\n const name = buffer.toLowerCase();\n if (!slash && !closingTag && htmlRawNames.includes(name)) {\n marker = 1;\n // // Do not form containers.\n // tokenizer.concrete = true\n return self.interrupt ? ok(code) : continuation(code);\n }\n if (htmlBlockNames.includes(buffer.toLowerCase())) {\n marker = 6;\n if (slash) {\n effects.consume(code);\n return basicSelfClosing;\n }\n\n // // Do not form containers.\n // tokenizer.concrete = true\n return self.interrupt ? ok(code) : continuation(code);\n }\n marker = 7;\n // Do not support complete HTML when interrupting.\n return self.interrupt && !self.parser.lazy[self.now().line] ? nok(code) : closingTag ? completeClosingTagAfter(code) : completeAttributeNameBefore(code);\n }\n\n // ASCII alphanumerical and `-`.\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code);\n buffer += String.fromCharCode(code);\n return tagName;\n }\n return nok(code);\n }\n\n /**\n * After closing slash of a basic tag name.\n *\n * ```markdown\n * > | <div/>\n * ^\n * ```\n *\n * @type {State}\n */\n function basicSelfClosing(code) {\n if (code === 62) {\n effects.consume(code);\n // // Do not form containers.\n // tokenizer.concrete = true\n return self.interrupt ? ok : continuation;\n }\n return nok(code);\n }\n\n /**\n * After closing slash of a complete tag name.\n *\n * ```markdown\n * > | <x/>\n * ^\n * ```\n *\n * @type {State}\n */\n function completeClosingTagAfter(code) {\n if (markdownSpace(code)) {\n effects.consume(code);\n return completeClosingTagAfter;\n }\n return completeEnd(code);\n }\n\n /**\n * At an attribute name.\n *\n * At first, this state is used after a complete tag name, after whitespace,\n * where it expects optional attributes or the end of the tag.\n * It is also reused after attributes, when expecting more optional\n * attributes.\n *\n * ```markdown\n * > | <a />\n * ^\n * > | <a :b>\n * ^\n * > | <a _b>\n * ^\n * > | <a b>\n * ^\n * > | <a >\n * ^\n * ```\n *\n * @type {State}\n */\n function completeAttributeNameBefore(code) {\n if (code === 47) {\n effects.consume(code);\n return completeEnd;\n }\n\n // ASCII alphanumerical and `:` and `_`.\n if (code === 58 || code === 95 || asciiAlpha(code)) {\n effects.consume(code);\n return completeAttributeName;\n }\n if (markdownSpace(code)) {\n effects.consume(code);\n return completeAttributeNameBefore;\n }\n return completeEnd(code);\n }\n\n /**\n * In attribute name.\n *\n * ```markdown\n * > | <a :b>\n * ^\n * > | <a _b>\n * ^\n * > | <a b>\n * ^\n * ```\n *\n * @type {State}\n */\n function completeAttributeName(code) {\n // ASCII alphanumerical and `-`, `.`, `:`, and `_`.\n if (code === 45 || code === 46 || code === 58 || code === 95 || asciiAlphanumeric(code)) {\n effects.consume(code);\n return completeAttributeName;\n }\n return completeAttributeNameAfter(code);\n }\n\n /**\n * After attribute name, at an optional initializer, the end of the tag, or\n * whitespace.\n *\n * ```markdown\n * > | <a b>\n * ^\n * > | <a b=c>\n * ^\n * ```\n *\n * @type {State}\n */\n function completeAttributeNameAfter(code) {\n if (code === 61) {\n effects.consume(code);\n return completeAttributeValueBefore;\n }\n if (markdownSpace(code)) {\n effects.consume(code);\n return completeAttributeNameAfter;\n }\n return completeAttributeNameBefore(code);\n }\n\n /**\n * Before unquoted, double quoted, or single quoted attribute value, allowing\n * whitespace.\n *\n * ```markdown\n * > | <a b=c>\n * ^\n * > | <a b=\"c\">\n * ^\n * ```\n *\n * @type {State}\n */\n function completeAttributeValueBefore(code) {\n if (code === null || code === 60 || code === 61 || code === 62 || code === 96) {\n return nok(code);\n }\n if (code === 34 || code === 39) {\n effects.consume(code);\n markerB = code;\n return completeAttributeValueQuoted;\n }\n if (markdownSpace(code)) {\n effects.consume(code);\n return completeAttributeValueBefore;\n }\n return completeAttributeValueUnquoted(code);\n }\n\n /**\n * In double or single quoted attribute value.\n *\n * ```markdown\n * > | <a b=\"c\">\n * ^\n * > | <a b='c'>\n * ^\n * ```\n *\n * @type {State}\n */\n function completeAttributeValueQuoted(code) {\n if (code === markerB) {\n effects.consume(code);\n markerB = null;\n return completeAttributeValueQuotedAfter;\n }\n if (code === null || markdownLineEnding(code)) {\n return nok(code);\n }\n effects.consume(code);\n return completeAttributeValueQuoted;\n }\n\n /**\n * In unquoted attribute value.\n *\n * ```markdown\n * > | <a b=c>\n * ^\n * ```\n *\n * @type {State}\n */\n function completeAttributeValueUnquoted(code) {\n if (code === null || code === 34 || code === 39 || code === 47 || code === 60 || code === 61 || code === 62 || code === 96 || markdownLineEndingOrSpace(code)) {\n return completeAttributeNameAfter(code);\n }\n effects.consume(code);\n return completeAttributeValueUnquoted;\n }\n\n /**\n * After double or single quoted attribute value, before whitespace or the\n * end of the tag.\n *\n * ```markdown\n * > | <a b=\"c\">\n * ^\n * ```\n *\n * @type {State}\n */\n function completeAttributeValueQuotedAfter(code) {\n if (code === 47 || code === 62 || markdownSpace(code)) {\n return completeAttributeNameBefore(code);\n }\n return nok(code);\n }\n\n /**\n * In certain circumstances of a complete tag where only an `>` is allowed.\n *\n * ```markdown\n * > | <a b=\"c\">\n * ^\n * ```\n *\n * @type {State}\n */\n function completeEnd(code) {\n if (code === 62) {\n effects.consume(code);\n return completeAfter;\n }\n return nok(code);\n }\n\n /**\n * After `>` in a complete tag.\n *\n * ```markdown\n * > | <x>\n * ^\n * ```\n *\n * @type {State}\n */\n function completeAfter(code) {\n if (code === null || markdownLineEnding(code)) {\n // // Do not form containers.\n // tokenizer.concrete = true\n return continuation(code);\n }\n if (markdownSpace(code)) {\n effects.consume(code);\n return completeAfter;\n }\n return nok(code);\n }\n\n /**\n * In continuation of any HTML kind.\n *\n * ```markdown\n * > | <!--xxx-->\n * ^\n * ```\n *\n * @type {State}\n */\n function continuation(code) {\n if (code === 45 && marker === 2) {\n effects.consume(code);\n return continuationCommentInside;\n }\n if (code === 60 && marker === 1) {\n effects.consume(code);\n return continuationRawTagOpen;\n }\n if (code === 62 && marker === 4) {\n effects.consume(code);\n return continuationClose;\n }\n if (code === 63 && marker === 3) {\n effects.consume(code);\n return continuationDeclarationInside;\n }\n if (code === 93 && marker === 5) {\n effects.consume(code);\n return continuationCdataInside;\n }\n if (markdownLineEnding(code) && (marker === 6 || marker === 7)) {\n effects.exit(\"htmlFlowData\");\n return effects.check(blankLineBefore, continuationAfter, continuationStart)(code);\n }\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"htmlFlowData\");\n return continuationStart(code);\n }\n effects.consume(code);\n return continuation;\n }\n\n /**\n * In continuation, at eol.\n *\n * ```markdown\n * > | <x>\n * ^\n * | asd\n * ```\n *\n * @type {State}\n */\n function continuationStart(code) {\n return effects.check(nonLazyContinuationStart, continuationStartNonLazy, continuationAfter)(code);\n }\n\n /**\n * In continuation, at eol, before non-lazy content.\n *\n * ```markdown\n * > | <x>\n * ^\n * | asd\n * ```\n *\n * @type {State}\n */\n function continuationStartNonLazy(code) {\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return continuationBefore;\n }\n\n /**\n * In continuation, before non-lazy content.\n *\n * ```markdown\n * | <x>\n * > | asd\n * ^\n * ```\n *\n * @type {State}\n */\n function continuationBefore(code) {\n if (code === null || markdownLineEnding(code)) {\n return continuationStart(code);\n }\n effects.enter(\"htmlFlowData\");\n return continuation(code);\n }\n\n /**\n * In comment continuation, after one `-`, expecting another.\n *\n * ```markdown\n * > | <!--xxx-->\n * ^\n * ```\n *\n * @type {State}\n */\n function continuationCommentInside(code) {\n if (code === 45) {\n effects.consume(code);\n return continuationDeclarationInside;\n }\n return continuation(code);\n }\n\n /**\n * In raw continuation, after `<`, at `/`.\n *\n * ```markdown\n * > | <script>console.log(1)</script>\n * ^\n * ```\n *\n * @type {State}\n */\n function continuationRawTagOpen(code) {\n if (code === 47) {\n effects.consume(code);\n buffer = '';\n return continuationRawEndTag;\n }\n return continuation(code);\n }\n\n /**\n * In raw continuation, after `</`, in a raw tag name.\n *\n * ```markdown\n * > | <script>console.log(1)</script>\n * ^^^^^^\n * ```\n *\n * @type {State}\n */\n function continuationRawEndTag(code) {\n if (code === 62) {\n const name = buffer.toLowerCase();\n if (htmlRawNames.includes(name)) {\n effects.consume(code);\n return continuationClose;\n }\n return continuation(code);\n }\n if (asciiAlpha(code) && buffer.length < 8) {\n // Always the case.\n effects.consume(code);\n buffer += String.fromCharCode(code);\n return continuationRawEndTag;\n }\n return continuation(code);\n }\n\n /**\n * In cdata continuation, after `]`, expecting `]>`.\n *\n * ```markdown\n * > | <![CDATA[>&<]]>\n * ^\n * ```\n *\n * @type {State}\n */\n function continuationCdataInside(code) {\n if (code === 93) {\n effects.consume(code);\n return continuationDeclarationInside;\n }\n return continuation(code);\n }\n\n /**\n * In declaration or instruction continuation, at `>`.\n *\n * ```markdown\n * > | <!-->\n * ^\n * > | <?>\n * ^\n * > | <!q>\n * ^\n * > | <!--ab-->\n * ^\n * > | <![CDATA[>&<]]>\n * ^\n * ```\n *\n * @type {State}\n */\n function continuationDeclarationInside(code) {\n if (code === 62) {\n effects.consume(code);\n return continuationClose;\n }\n\n // More dashes.\n if (code === 45 && marker === 2) {\n effects.consume(code);\n return continuationDeclarationInside;\n }\n return continuation(code);\n }\n\n /**\n * In closed continuation: everything we get until the eol/eof is part of it.\n *\n * ```markdown\n * > | <!doctype>\n * ^\n * ```\n *\n * @type {State}\n */\n function continuationClose(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"htmlFlowData\");\n return continuationAfter(code);\n }\n effects.consume(code);\n return continuationClose;\n }\n\n /**\n * Done.\n *\n * ```markdown\n * > | <!doctype>\n * ^\n * ```\n *\n * @type {State}\n */\n function continuationAfter(code) {\n effects.exit(\"htmlFlow\");\n // // Feel free to interrupt.\n // tokenizer.interrupt = false\n // // No longer concrete.\n // tokenizer.concrete = false\n return ok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeNonLazyContinuationStart(effects, ok, nok) {\n const self = this;\n return start;\n\n /**\n * At eol, before continuation.\n *\n * ```markdown\n * > | * ```js\n * ^\n * | b\n * ```\n *\n * @type {State}\n */\n function start(code) {\n if (markdownLineEnding(code)) {\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return after;\n }\n return nok(code);\n }\n\n /**\n * A continuation.\n *\n * ```markdown\n * | * ```js\n * > | b\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n return self.parser.lazy[self.now().line] ? nok(code) : ok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeBlankLineBefore(effects, ok, nok) {\n return start;\n\n /**\n * Before eol, expecting blank line.\n *\n * ```markdown\n * > | <div>\n * ^\n * |\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return effects.attempt(blankLine, ok, nok);\n }\n}", "/**\n * @import {\n * Code,\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { asciiAlphanumeric, asciiAlpha, markdownLineEndingOrSpace, markdownLineEnding, markdownSpace } from 'micromark-util-character';\n/** @type {Construct} */\nexport const htmlText = {\n name: 'htmlText',\n tokenize: tokenizeHtmlText\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeHtmlText(effects, ok, nok) {\n const self = this;\n /** @type {NonNullable<Code> | undefined} */\n let marker;\n /** @type {number} */\n let index;\n /** @type {State} */\n let returnState;\n return start;\n\n /**\n * Start of HTML (text).\n *\n * ```markdown\n * > | a <b> c\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"htmlText\");\n effects.enter(\"htmlTextData\");\n effects.consume(code);\n return open;\n }\n\n /**\n * After `<`, at tag name or other stuff.\n *\n * ```markdown\n * > | a <b> c\n * ^\n * > | a <!doctype> c\n * ^\n * > | a <!--b--> c\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (code === 33) {\n effects.consume(code);\n return declarationOpen;\n }\n if (code === 47) {\n effects.consume(code);\n return tagCloseStart;\n }\n if (code === 63) {\n effects.consume(code);\n return instruction;\n }\n\n // ASCII alphabetical.\n if (asciiAlpha(code)) {\n effects.consume(code);\n return tagOpen;\n }\n return nok(code);\n }\n\n /**\n * After `<!`, at declaration, comment, or CDATA.\n *\n * ```markdown\n * > | a <!doctype> c\n * ^\n * > | a <!--b--> c\n * ^\n * > | a <![CDATA[>&<]]> c\n * ^\n * ```\n *\n * @type {State}\n */\n function declarationOpen(code) {\n if (code === 45) {\n effects.consume(code);\n return commentOpenInside;\n }\n if (code === 91) {\n effects.consume(code);\n index = 0;\n return cdataOpenInside;\n }\n if (asciiAlpha(code)) {\n effects.consume(code);\n return declaration;\n }\n return nok(code);\n }\n\n /**\n * In a comment, after `<!-`, at another `-`.\n *\n * ```markdown\n * > | a <!--b--> c\n * ^\n * ```\n *\n * @type {State}\n */\n function commentOpenInside(code) {\n if (code === 45) {\n effects.consume(code);\n return commentEnd;\n }\n return nok(code);\n }\n\n /**\n * In comment.\n *\n * ```markdown\n * > | a <!--b--> c\n * ^\n * ```\n *\n * @type {State}\n */\n function comment(code) {\n if (code === null) {\n return nok(code);\n }\n if (code === 45) {\n effects.consume(code);\n return commentClose;\n }\n if (markdownLineEnding(code)) {\n returnState = comment;\n return lineEndingBefore(code);\n }\n effects.consume(code);\n return comment;\n }\n\n /**\n * In comment, after `-`.\n *\n * ```markdown\n * > | a <!--b--> c\n * ^\n * ```\n *\n * @type {State}\n */\n function commentClose(code) {\n if (code === 45) {\n effects.consume(code);\n return commentEnd;\n }\n return comment(code);\n }\n\n /**\n * In comment, after `--`.\n *\n * ```markdown\n * > | a <!--b--> c\n * ^\n * ```\n *\n * @type {State}\n */\n function commentEnd(code) {\n return code === 62 ? end(code) : code === 45 ? commentClose(code) : comment(code);\n }\n\n /**\n * After `<![`, in CDATA, expecting `CDATA[`.\n *\n * ```markdown\n * > | a <![CDATA[>&<]]> b\n * ^^^^^^\n * ```\n *\n * @type {State}\n */\n function cdataOpenInside(code) {\n const value = \"CDATA[\";\n if (code === value.charCodeAt(index++)) {\n effects.consume(code);\n return index === value.length ? cdata : cdataOpenInside;\n }\n return nok(code);\n }\n\n /**\n * In CDATA.\n *\n * ```markdown\n * > | a <![CDATA[>&<]]> b\n * ^^^\n * ```\n *\n * @type {State}\n */\n function cdata(code) {\n if (code === null) {\n return nok(code);\n }\n if (code === 93) {\n effects.consume(code);\n return cdataClose;\n }\n if (markdownLineEnding(code)) {\n returnState = cdata;\n return lineEndingBefore(code);\n }\n effects.consume(code);\n return cdata;\n }\n\n /**\n * In CDATA, after `]`, at another `]`.\n *\n * ```markdown\n * > | a <![CDATA[>&<]]> b\n * ^\n * ```\n *\n * @type {State}\n */\n function cdataClose(code) {\n if (code === 93) {\n effects.consume(code);\n return cdataEnd;\n }\n return cdata(code);\n }\n\n /**\n * In CDATA, after `]]`, at `>`.\n *\n * ```markdown\n * > | a <![CDATA[>&<]]> b\n * ^\n * ```\n *\n * @type {State}\n */\n function cdataEnd(code) {\n if (code === 62) {\n return end(code);\n }\n if (code === 93) {\n effects.consume(code);\n return cdataEnd;\n }\n return cdata(code);\n }\n\n /**\n * In declaration.\n *\n * ```markdown\n * > | a <!b> c\n * ^\n * ```\n *\n * @type {State}\n */\n function declaration(code) {\n if (code === null || code === 62) {\n return end(code);\n }\n if (markdownLineEnding(code)) {\n returnState = declaration;\n return lineEndingBefore(code);\n }\n effects.consume(code);\n return declaration;\n }\n\n /**\n * In instruction.\n *\n * ```markdown\n * > | a <?b?> c\n * ^\n * ```\n *\n * @type {State}\n */\n function instruction(code) {\n if (code === null) {\n return nok(code);\n }\n if (code === 63) {\n effects.consume(code);\n return instructionClose;\n }\n if (markdownLineEnding(code)) {\n returnState = instruction;\n return lineEndingBefore(code);\n }\n effects.consume(code);\n return instruction;\n }\n\n /**\n * In instruction, after `?`, at `>`.\n *\n * ```markdown\n * > | a <?b?> c\n * ^\n * ```\n *\n * @type {State}\n */\n function instructionClose(code) {\n return code === 62 ? end(code) : instruction(code);\n }\n\n /**\n * After `</`, in closing tag, at tag name.\n *\n * ```markdown\n * > | a </b> c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagCloseStart(code) {\n // ASCII alphabetical.\n if (asciiAlpha(code)) {\n effects.consume(code);\n return tagClose;\n }\n return nok(code);\n }\n\n /**\n * After `</x`, in a tag name.\n *\n * ```markdown\n * > | a </b> c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagClose(code) {\n // ASCII alphanumerical and `-`.\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code);\n return tagClose;\n }\n return tagCloseBetween(code);\n }\n\n /**\n * In closing tag, after tag name.\n *\n * ```markdown\n * > | a </b> c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagCloseBetween(code) {\n if (markdownLineEnding(code)) {\n returnState = tagCloseBetween;\n return lineEndingBefore(code);\n }\n if (markdownSpace(code)) {\n effects.consume(code);\n return tagCloseBetween;\n }\n return end(code);\n }\n\n /**\n * After `<x`, in opening tag name.\n *\n * ```markdown\n * > | a <b> c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpen(code) {\n // ASCII alphanumerical and `-`.\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code);\n return tagOpen;\n }\n if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code);\n }\n return nok(code);\n }\n\n /**\n * In opening tag, after tag name.\n *\n * ```markdown\n * > | a <b> c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenBetween(code) {\n if (code === 47) {\n effects.consume(code);\n return end;\n }\n\n // ASCII alphabetical and `:` and `_`.\n if (code === 58 || code === 95 || asciiAlpha(code)) {\n effects.consume(code);\n return tagOpenAttributeName;\n }\n if (markdownLineEnding(code)) {\n returnState = tagOpenBetween;\n return lineEndingBefore(code);\n }\n if (markdownSpace(code)) {\n effects.consume(code);\n return tagOpenBetween;\n }\n return end(code);\n }\n\n /**\n * In attribute name.\n *\n * ```markdown\n * > | a <b c> d\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeName(code) {\n // ASCII alphabetical and `-`, `.`, `:`, and `_`.\n if (code === 45 || code === 46 || code === 58 || code === 95 || asciiAlphanumeric(code)) {\n effects.consume(code);\n return tagOpenAttributeName;\n }\n return tagOpenAttributeNameAfter(code);\n }\n\n /**\n * After attribute name, before initializer, the end of the tag, or\n * whitespace.\n *\n * ```markdown\n * > | a <b c> d\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeNameAfter(code) {\n if (code === 61) {\n effects.consume(code);\n return tagOpenAttributeValueBefore;\n }\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeNameAfter;\n return lineEndingBefore(code);\n }\n if (markdownSpace(code)) {\n effects.consume(code);\n return tagOpenAttributeNameAfter;\n }\n return tagOpenBetween(code);\n }\n\n /**\n * Before unquoted, double quoted, or single quoted attribute value, allowing\n * whitespace.\n *\n * ```markdown\n * > | a <b c=d> e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueBefore(code) {\n if (code === null || code === 60 || code === 61 || code === 62 || code === 96) {\n return nok(code);\n }\n if (code === 34 || code === 39) {\n effects.consume(code);\n marker = code;\n return tagOpenAttributeValueQuoted;\n }\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeValueBefore;\n return lineEndingBefore(code);\n }\n if (markdownSpace(code)) {\n effects.consume(code);\n return tagOpenAttributeValueBefore;\n }\n effects.consume(code);\n return tagOpenAttributeValueUnquoted;\n }\n\n /**\n * In double or single quoted attribute value.\n *\n * ```markdown\n * > | a <b c=\"d\"> e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueQuoted(code) {\n if (code === marker) {\n effects.consume(code);\n marker = undefined;\n return tagOpenAttributeValueQuotedAfter;\n }\n if (code === null) {\n return nok(code);\n }\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeValueQuoted;\n return lineEndingBefore(code);\n }\n effects.consume(code);\n return tagOpenAttributeValueQuoted;\n }\n\n /**\n * In unquoted attribute value.\n *\n * ```markdown\n * > | a <b c=d> e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueUnquoted(code) {\n if (code === null || code === 34 || code === 39 || code === 60 || code === 61 || code === 96) {\n return nok(code);\n }\n if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code);\n }\n effects.consume(code);\n return tagOpenAttributeValueUnquoted;\n }\n\n /**\n * After double or single quoted attribute value, before whitespace or the end\n * of the tag.\n *\n * ```markdown\n * > | a <b c=\"d\"> e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueQuotedAfter(code) {\n if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code);\n }\n return nok(code);\n }\n\n /**\n * In certain circumstances of a tag where only an `>` is allowed.\n *\n * ```markdown\n * > | a <b c=\"d\"> e\n * ^\n * ```\n *\n * @type {State}\n */\n function end(code) {\n if (code === 62) {\n effects.consume(code);\n effects.exit(\"htmlTextData\");\n effects.exit(\"htmlText\");\n return ok;\n }\n return nok(code);\n }\n\n /**\n * At eol.\n *\n * > \uD83D\uDC49 **Note**: we can\u2019t have blank lines in text, so no need to worry about\n * > empty tokens.\n *\n * ```markdown\n * > | a <!--a\n * ^\n * | b-->\n * ```\n *\n * @type {State}\n */\n function lineEndingBefore(code) {\n effects.exit(\"htmlTextData\");\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return lineEndingAfter;\n }\n\n /**\n * After eol, at optional whitespace.\n *\n * > \uD83D\uDC49 **Note**: we can\u2019t have blank lines in text, so no need to worry about\n * > empty tokens.\n *\n * ```markdown\n * | a <!--a\n * > | b-->\n * ^\n * ```\n *\n * @type {State}\n */\n function lineEndingAfter(code) {\n // Always populated by defaults.\n\n return markdownSpace(code) ? factorySpace(effects, lineEndingAfterPrefix, \"linePrefix\", self.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4)(code) : lineEndingAfterPrefix(code);\n }\n\n /**\n * After eol, after optional whitespace.\n *\n * > \uD83D\uDC49 **Note**: we can\u2019t have blank lines in text, so no need to worry about\n * > empty tokens.\n *\n * ```markdown\n * | a <!--a\n * > | b-->\n * ^\n * ```\n *\n * @type {State}\n */\n function lineEndingAfterPrefix(code) {\n effects.enter(\"htmlTextData\");\n return returnState(code);\n }\n}", "/**\n * @import {\n * Construct,\n * Event,\n * Resolver,\n * State,\n * TokenizeContext,\n * Tokenizer,\n * Token\n * } from 'micromark-util-types'\n */\n\nimport { factoryDestination } from 'micromark-factory-destination';\nimport { factoryLabel } from 'micromark-factory-label';\nimport { factoryTitle } from 'micromark-factory-title';\nimport { factoryWhitespace } from 'micromark-factory-whitespace';\nimport { markdownLineEndingOrSpace } from 'micromark-util-character';\nimport { push, splice } from 'micromark-util-chunked';\nimport { normalizeIdentifier } from 'micromark-util-normalize-identifier';\nimport { resolveAll } from 'micromark-util-resolve-all';\n/** @type {Construct} */\nexport const labelEnd = {\n name: 'labelEnd',\n resolveAll: resolveAllLabelEnd,\n resolveTo: resolveToLabelEnd,\n tokenize: tokenizeLabelEnd\n};\n\n/** @type {Construct} */\nconst resourceConstruct = {\n tokenize: tokenizeResource\n};\n/** @type {Construct} */\nconst referenceFullConstruct = {\n tokenize: tokenizeReferenceFull\n};\n/** @type {Construct} */\nconst referenceCollapsedConstruct = {\n tokenize: tokenizeReferenceCollapsed\n};\n\n/** @type {Resolver} */\nfunction resolveAllLabelEnd(events) {\n let index = -1;\n /** @type {Array<Event>} */\n const newEvents = [];\n while (++index < events.length) {\n const token = events[index][1];\n newEvents.push(events[index]);\n if (token.type === \"labelImage\" || token.type === \"labelLink\" || token.type === \"labelEnd\") {\n // Remove the marker.\n const offset = token.type === \"labelImage\" ? 4 : 2;\n token.type = \"data\";\n index += offset;\n }\n }\n\n // If the events are equal, we don't have to copy newEvents to events\n if (events.length !== newEvents.length) {\n splice(events, 0, events.length, newEvents);\n }\n return events;\n}\n\n/** @type {Resolver} */\nfunction resolveToLabelEnd(events, context) {\n let index = events.length;\n let offset = 0;\n /** @type {Token} */\n let token;\n /** @type {number | undefined} */\n let open;\n /** @type {number | undefined} */\n let close;\n /** @type {Array<Event>} */\n let media;\n\n // Find an opening.\n while (index--) {\n token = events[index][1];\n if (open) {\n // If we see another link, or inactive link label, we\u2019ve been here before.\n if (token.type === \"link\" || token.type === \"labelLink\" && token._inactive) {\n break;\n }\n\n // Mark other link openings as inactive, as we can\u2019t have links in\n // links.\n if (events[index][0] === 'enter' && token.type === \"labelLink\") {\n token._inactive = true;\n }\n } else if (close) {\n if (events[index][0] === 'enter' && (token.type === \"labelImage\" || token.type === \"labelLink\") && !token._balanced) {\n open = index;\n if (token.type !== \"labelLink\") {\n offset = 2;\n break;\n }\n }\n } else if (token.type === \"labelEnd\") {\n close = index;\n }\n }\n const group = {\n type: events[open][1].type === \"labelLink\" ? \"link\" : \"image\",\n start: {\n ...events[open][1].start\n },\n end: {\n ...events[events.length - 1][1].end\n }\n };\n const label = {\n type: \"label\",\n start: {\n ...events[open][1].start\n },\n end: {\n ...events[close][1].end\n }\n };\n const text = {\n type: \"labelText\",\n start: {\n ...events[open + offset + 2][1].end\n },\n end: {\n ...events[close - 2][1].start\n }\n };\n media = [['enter', group, context], ['enter', label, context]];\n\n // Opening marker.\n media = push(media, events.slice(open + 1, open + offset + 3));\n\n // Text open.\n media = push(media, [['enter', text, context]]);\n\n // Always populated by defaults.\n\n // Between.\n media = push(media, resolveAll(context.parser.constructs.insideSpan.null, events.slice(open + offset + 4, close - 3), context));\n\n // Text close, marker close, label close.\n media = push(media, [['exit', text, context], events[close - 2], events[close - 1], ['exit', label, context]]);\n\n // Reference, resource, or so.\n media = push(media, events.slice(close + 1));\n\n // Media close.\n media = push(media, [['exit', group, context]]);\n splice(events, open, events.length, media);\n return events;\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeLabelEnd(effects, ok, nok) {\n const self = this;\n let index = self.events.length;\n /** @type {Token} */\n let labelStart;\n /** @type {boolean} */\n let defined;\n\n // Find an opening.\n while (index--) {\n if ((self.events[index][1].type === \"labelImage\" || self.events[index][1].type === \"labelLink\") && !self.events[index][1]._balanced) {\n labelStart = self.events[index][1];\n break;\n }\n }\n return start;\n\n /**\n * Start of label end.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * > | [a][b] c\n * ^\n * > | [a][] b\n * ^\n * > | [a] b\n * ```\n *\n * @type {State}\n */\n function start(code) {\n // If there is not an okay opening.\n if (!labelStart) {\n return nok(code);\n }\n\n // If the corresponding label (link) start is marked as inactive,\n // it means we\u2019d be wrapping a link, like this:\n //\n // ```markdown\n // > | a [b [c](d) e](f) g.\n // ^\n // ```\n //\n // We can\u2019t have that, so it\u2019s just balanced brackets.\n if (labelStart._inactive) {\n return labelEndNok(code);\n }\n defined = self.parser.defined.includes(normalizeIdentifier(self.sliceSerialize({\n start: labelStart.end,\n end: self.now()\n })));\n effects.enter(\"labelEnd\");\n effects.enter(\"labelMarker\");\n effects.consume(code);\n effects.exit(\"labelMarker\");\n effects.exit(\"labelEnd\");\n return after;\n }\n\n /**\n * After `]`.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * > | [a][b] c\n * ^\n * > | [a][] b\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n // Note: `markdown-rs` also parses GFM footnotes here, which for us is in\n // an extension.\n\n // Resource (`[asd](fgh)`)?\n if (code === 40) {\n return effects.attempt(resourceConstruct, labelEndOk, defined ? labelEndOk : labelEndNok)(code);\n }\n\n // Full (`[asd][fgh]`) or collapsed (`[asd][]`) reference?\n if (code === 91) {\n return effects.attempt(referenceFullConstruct, labelEndOk, defined ? referenceNotFull : labelEndNok)(code);\n }\n\n // Shortcut (`[asd]`) reference?\n return defined ? labelEndOk(code) : labelEndNok(code);\n }\n\n /**\n * After `]`, at `[`, but not at a full reference.\n *\n * > \uD83D\uDC49 **Note**: we only get here if the label is defined.\n *\n * ```markdown\n * > | [a][] b\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceNotFull(code) {\n return effects.attempt(referenceCollapsedConstruct, labelEndOk, labelEndNok)(code);\n }\n\n /**\n * Done, we found something.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * > | [a][b] c\n * ^\n * > | [a][] b\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function labelEndOk(code) {\n // Note: `markdown-rs` does a bunch of stuff here.\n return ok(code);\n }\n\n /**\n * Done, it\u2019s nothing.\n *\n * There was an okay opening, but we didn\u2019t match anything.\n *\n * ```markdown\n * > | [a](b c\n * ^\n * > | [a][b c\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function labelEndNok(code) {\n labelStart._balanced = true;\n return nok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeResource(effects, ok, nok) {\n return resourceStart;\n\n /**\n * At a resource.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceStart(code) {\n effects.enter(\"resource\");\n effects.enter(\"resourceMarker\");\n effects.consume(code);\n effects.exit(\"resourceMarker\");\n return resourceBefore;\n }\n\n /**\n * In resource, after `(`, at optional whitespace.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceBefore(code) {\n return markdownLineEndingOrSpace(code) ? factoryWhitespace(effects, resourceOpen)(code) : resourceOpen(code);\n }\n\n /**\n * In resource, after optional whitespace, at `)` or a destination.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceOpen(code) {\n if (code === 41) {\n return resourceEnd(code);\n }\n return factoryDestination(effects, resourceDestinationAfter, resourceDestinationMissing, \"resourceDestination\", \"resourceDestinationLiteral\", \"resourceDestinationLiteralMarker\", \"resourceDestinationRaw\", \"resourceDestinationString\", 32)(code);\n }\n\n /**\n * In resource, after destination, at optional whitespace.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceDestinationAfter(code) {\n return markdownLineEndingOrSpace(code) ? factoryWhitespace(effects, resourceBetween)(code) : resourceEnd(code);\n }\n\n /**\n * At invalid destination.\n *\n * ```markdown\n * > | [a](<<) b\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceDestinationMissing(code) {\n return nok(code);\n }\n\n /**\n * In resource, after destination and whitespace, at `(` or title.\n *\n * ```markdown\n * > | [a](b ) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceBetween(code) {\n if (code === 34 || code === 39 || code === 40) {\n return factoryTitle(effects, resourceTitleAfter, nok, \"resourceTitle\", \"resourceTitleMarker\", \"resourceTitleString\")(code);\n }\n return resourceEnd(code);\n }\n\n /**\n * In resource, after title, at optional whitespace.\n *\n * ```markdown\n * > | [a](b \"c\") d\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceTitleAfter(code) {\n return markdownLineEndingOrSpace(code) ? factoryWhitespace(effects, resourceEnd)(code) : resourceEnd(code);\n }\n\n /**\n * In resource, at `)`.\n *\n * ```markdown\n * > | [a](b) d\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceEnd(code) {\n if (code === 41) {\n effects.enter(\"resourceMarker\");\n effects.consume(code);\n effects.exit(\"resourceMarker\");\n effects.exit(\"resource\");\n return ok;\n }\n return nok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeReferenceFull(effects, ok, nok) {\n const self = this;\n return referenceFull;\n\n /**\n * In a reference (full), at the `[`.\n *\n * ```markdown\n * > | [a][b] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceFull(code) {\n return factoryLabel.call(self, effects, referenceFullAfter, referenceFullMissing, \"reference\", \"referenceMarker\", \"referenceString\")(code);\n }\n\n /**\n * In a reference (full), after `]`.\n *\n * ```markdown\n * > | [a][b] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceFullAfter(code) {\n return self.parser.defined.includes(normalizeIdentifier(self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1))) ? ok(code) : nok(code);\n }\n\n /**\n * In reference (full) that was missing.\n *\n * ```markdown\n * > | [a][b d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceFullMissing(code) {\n return nok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeReferenceCollapsed(effects, ok, nok) {\n return referenceCollapsedStart;\n\n /**\n * In reference (collapsed), at `[`.\n *\n * > \uD83D\uDC49 **Note**: we only get here if the label is defined.\n *\n * ```markdown\n * > | [a][] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceCollapsedStart(code) {\n // We only attempt a collapsed label if there\u2019s a `[`.\n\n effects.enter(\"reference\");\n effects.enter(\"referenceMarker\");\n effects.consume(code);\n effects.exit(\"referenceMarker\");\n return referenceCollapsedOpen;\n }\n\n /**\n * In reference (collapsed), at `]`.\n *\n * > \uD83D\uDC49 **Note**: we only get here if the label is defined.\n *\n * ```markdown\n * > | [a][] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceCollapsedOpen(code) {\n if (code === 93) {\n effects.enter(\"referenceMarker\");\n effects.consume(code);\n effects.exit(\"referenceMarker\");\n effects.exit(\"reference\");\n return ok;\n }\n return nok(code);\n }\n}", "/**\n * @import {\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { labelEnd } from './label-end.js';\n\n/** @type {Construct} */\nexport const labelStartImage = {\n name: 'labelStartImage',\n resolveAll: labelEnd.resolveAll,\n tokenize: tokenizeLabelStartImage\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeLabelStartImage(effects, ok, nok) {\n const self = this;\n return start;\n\n /**\n * Start of label (image) start.\n *\n * ```markdown\n * > | a ![b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"labelImage\");\n effects.enter(\"labelImageMarker\");\n effects.consume(code);\n effects.exit(\"labelImageMarker\");\n return open;\n }\n\n /**\n * After `!`, at `[`.\n *\n * ```markdown\n * > | a ![b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (code === 91) {\n effects.enter(\"labelMarker\");\n effects.consume(code);\n effects.exit(\"labelMarker\");\n effects.exit(\"labelImage\");\n return after;\n }\n return nok(code);\n }\n\n /**\n * After `![`.\n *\n * ```markdown\n * > | a ![b] c\n * ^\n * ```\n *\n * This is needed in because, when GFM footnotes are enabled, images never\n * form when started with a `^`.\n * Instead, links form:\n *\n * ```markdown\n * \n *\n * ![^a][b]\n *\n * [b]: c\n * ```\n *\n * ```html\n * <p>!<a href=\\\"b\\\">^a</a></p>\n * <p>!<a href=\\\"c\\\">^a</a></p>\n * ```\n *\n * @type {State}\n */\n function after(code) {\n // To do: use a new field to do this, this is still needed for\n // `micromark-extension-gfm-footnote`, but the `label-start-link`\n // behavior isn\u2019t.\n // Hidden footnotes hook.\n /* c8 ignore next 3 */\n return code === 94 && '_hiddenFootnoteSupport' in self.parser.constructs ? nok(code) : ok(code);\n }\n}", "/**\n * @import {\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { labelEnd } from './label-end.js';\n\n/** @type {Construct} */\nexport const labelStartLink = {\n name: 'labelStartLink',\n resolveAll: labelEnd.resolveAll,\n tokenize: tokenizeLabelStartLink\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeLabelStartLink(effects, ok, nok) {\n const self = this;\n return start;\n\n /**\n * Start of label (link) start.\n *\n * ```markdown\n * > | a [b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"labelLink\");\n effects.enter(\"labelMarker\");\n effects.consume(code);\n effects.exit(\"labelMarker\");\n effects.exit(\"labelLink\");\n return after;\n }\n\n /** @type {State} */\n function after(code) {\n // To do: this isn\u2019t needed in `micromark-extension-gfm-footnote`,\n // remove.\n // Hidden footnotes hook.\n /* c8 ignore next 3 */\n return code === 94 && '_hiddenFootnoteSupport' in self.parser.constructs ? nok(code) : ok(code);\n }\n}", "/**\n * @import {\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEnding } from 'micromark-util-character';\n/** @type {Construct} */\nexport const lineEnding = {\n name: 'lineEnding',\n tokenize: tokenizeLineEnding\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeLineEnding(effects, ok) {\n return start;\n\n /** @type {State} */\n function start(code) {\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return factorySpace(effects, ok, \"linePrefix\");\n }\n}", "/**\n * @import {\n * Code,\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEnding, markdownSpace } from 'micromark-util-character';\n/** @type {Construct} */\nexport const thematicBreak = {\n name: 'thematicBreak',\n tokenize: tokenizeThematicBreak\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeThematicBreak(effects, ok, nok) {\n let size = 0;\n /** @type {NonNullable<Code>} */\n let marker;\n return start;\n\n /**\n * Start of thematic break.\n *\n * ```markdown\n * > | ***\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"thematicBreak\");\n // To do: parse indent like `markdown-rs`.\n return before(code);\n }\n\n /**\n * After optional whitespace, at marker.\n *\n * ```markdown\n * > | ***\n * ^\n * ```\n *\n * @type {State}\n */\n function before(code) {\n marker = code;\n return atBreak(code);\n }\n\n /**\n * After something, before something else.\n *\n * ```markdown\n * > | ***\n * ^\n * ```\n *\n * @type {State}\n */\n function atBreak(code) {\n if (code === marker) {\n effects.enter(\"thematicBreakSequence\");\n return sequence(code);\n }\n if (size >= 3 && (code === null || markdownLineEnding(code))) {\n effects.exit(\"thematicBreak\");\n return ok(code);\n }\n return nok(code);\n }\n\n /**\n * In sequence.\n *\n * ```markdown\n * > | ***\n * ^\n * ```\n *\n * @type {State}\n */\n function sequence(code) {\n if (code === marker) {\n effects.consume(code);\n size++;\n return sequence;\n }\n effects.exit(\"thematicBreakSequence\");\n return markdownSpace(code) ? factorySpace(effects, atBreak, \"whitespace\")(code) : atBreak(code);\n }\n}", "/**\n * @import {\n * Code,\n * Construct,\n * Exiter,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { asciiDigit, markdownSpace } from 'micromark-util-character';\nimport { blankLine } from './blank-line.js';\nimport { thematicBreak } from './thematic-break.js';\n\n/** @type {Construct} */\nexport const list = {\n continuation: {\n tokenize: tokenizeListContinuation\n },\n exit: tokenizeListEnd,\n name: 'list',\n tokenize: tokenizeListStart\n};\n\n/** @type {Construct} */\nconst listItemPrefixWhitespaceConstruct = {\n partial: true,\n tokenize: tokenizeListItemPrefixWhitespace\n};\n\n/** @type {Construct} */\nconst indentConstruct = {\n partial: true,\n tokenize: tokenizeIndent\n};\n\n// To do: `markdown-rs` parses list items on their own and later stitches them\n// together.\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeListStart(effects, ok, nok) {\n const self = this;\n const tail = self.events[self.events.length - 1];\n let initialSize = tail && tail[1].type === \"linePrefix\" ? tail[2].sliceSerialize(tail[1], true).length : 0;\n let size = 0;\n return start;\n\n /** @type {State} */\n function start(code) {\n const kind = self.containerState.type || (code === 42 || code === 43 || code === 45 ? \"listUnordered\" : \"listOrdered\");\n if (kind === \"listUnordered\" ? !self.containerState.marker || code === self.containerState.marker : asciiDigit(code)) {\n if (!self.containerState.type) {\n self.containerState.type = kind;\n effects.enter(kind, {\n _container: true\n });\n }\n if (kind === \"listUnordered\") {\n effects.enter(\"listItemPrefix\");\n return code === 42 || code === 45 ? effects.check(thematicBreak, nok, atMarker)(code) : atMarker(code);\n }\n if (!self.interrupt || code === 49) {\n effects.enter(\"listItemPrefix\");\n effects.enter(\"listItemValue\");\n return inside(code);\n }\n }\n return nok(code);\n }\n\n /** @type {State} */\n function inside(code) {\n if (asciiDigit(code) && ++size < 10) {\n effects.consume(code);\n return inside;\n }\n if ((!self.interrupt || size < 2) && (self.containerState.marker ? code === self.containerState.marker : code === 41 || code === 46)) {\n effects.exit(\"listItemValue\");\n return atMarker(code);\n }\n return nok(code);\n }\n\n /**\n * @type {State}\n **/\n function atMarker(code) {\n effects.enter(\"listItemMarker\");\n effects.consume(code);\n effects.exit(\"listItemMarker\");\n self.containerState.marker = self.containerState.marker || code;\n return effects.check(blankLine,\n // Can\u2019t be empty when interrupting.\n self.interrupt ? nok : onBlank, effects.attempt(listItemPrefixWhitespaceConstruct, endOfPrefix, otherPrefix));\n }\n\n /** @type {State} */\n function onBlank(code) {\n self.containerState.initialBlankLine = true;\n initialSize++;\n return endOfPrefix(code);\n }\n\n /** @type {State} */\n function otherPrefix(code) {\n if (markdownSpace(code)) {\n effects.enter(\"listItemPrefixWhitespace\");\n effects.consume(code);\n effects.exit(\"listItemPrefixWhitespace\");\n return endOfPrefix;\n }\n return nok(code);\n }\n\n /** @type {State} */\n function endOfPrefix(code) {\n self.containerState.size = initialSize + self.sliceSerialize(effects.exit(\"listItemPrefix\"), true).length;\n return ok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeListContinuation(effects, ok, nok) {\n const self = this;\n self.containerState._closeFlow = undefined;\n return effects.check(blankLine, onBlank, notBlank);\n\n /** @type {State} */\n function onBlank(code) {\n self.containerState.furtherBlankLines = self.containerState.furtherBlankLines || self.containerState.initialBlankLine;\n\n // We have a blank line.\n // Still, try to consume at most the items size.\n return factorySpace(effects, ok, \"listItemIndent\", self.containerState.size + 1)(code);\n }\n\n /** @type {State} */\n function notBlank(code) {\n if (self.containerState.furtherBlankLines || !markdownSpace(code)) {\n self.containerState.furtherBlankLines = undefined;\n self.containerState.initialBlankLine = undefined;\n return notInCurrentItem(code);\n }\n self.containerState.furtherBlankLines = undefined;\n self.containerState.initialBlankLine = undefined;\n return effects.attempt(indentConstruct, ok, notInCurrentItem)(code);\n }\n\n /** @type {State} */\n function notInCurrentItem(code) {\n // While we do continue, we signal that the flow should be closed.\n self.containerState._closeFlow = true;\n // As we\u2019re closing flow, we\u2019re no longer interrupting.\n self.interrupt = undefined;\n // Always populated by defaults.\n\n return factorySpace(effects, effects.attempt(list, ok, nok), \"linePrefix\", self.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4)(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeIndent(effects, ok, nok) {\n const self = this;\n return factorySpace(effects, afterPrefix, \"listItemIndent\", self.containerState.size + 1);\n\n /** @type {State} */\n function afterPrefix(code) {\n const tail = self.events[self.events.length - 1];\n return tail && tail[1].type === \"listItemIndent\" && tail[2].sliceSerialize(tail[1], true).length === self.containerState.size ? ok(code) : nok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Exiter}\n */\nfunction tokenizeListEnd(effects) {\n effects.exit(this.containerState.type);\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeListItemPrefixWhitespace(effects, ok, nok) {\n const self = this;\n\n // Always populated by defaults.\n\n return factorySpace(effects, afterPrefix, \"listItemPrefixWhitespace\", self.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4 + 1);\n\n /** @type {State} */\n function afterPrefix(code) {\n const tail = self.events[self.events.length - 1];\n return !markdownSpace(code) && tail && tail[1].type === \"listItemPrefixWhitespace\" ? ok(code) : nok(code);\n }\n}", "/**\n * @import {\n * Code,\n * Construct,\n * Resolver,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEnding, markdownSpace } from 'micromark-util-character';\n/** @type {Construct} */\nexport const setextUnderline = {\n name: 'setextUnderline',\n resolveTo: resolveToSetextUnderline,\n tokenize: tokenizeSetextUnderline\n};\n\n/** @type {Resolver} */\nfunction resolveToSetextUnderline(events, context) {\n // To do: resolve like `markdown-rs`.\n let index = events.length;\n /** @type {number | undefined} */\n let content;\n /** @type {number | undefined} */\n let text;\n /** @type {number | undefined} */\n let definition;\n\n // Find the opening of the content.\n // It\u2019ll always exist: we don\u2019t tokenize if it isn\u2019t there.\n while (index--) {\n if (events[index][0] === 'enter') {\n if (events[index][1].type === \"content\") {\n content = index;\n break;\n }\n if (events[index][1].type === \"paragraph\") {\n text = index;\n }\n }\n // Exit\n else {\n if (events[index][1].type === \"content\") {\n // Remove the content end (if needed we\u2019ll add it later)\n events.splice(index, 1);\n }\n if (!definition && events[index][1].type === \"definition\") {\n definition = index;\n }\n }\n }\n const heading = {\n type: \"setextHeading\",\n start: {\n ...events[content][1].start\n },\n end: {\n ...events[events.length - 1][1].end\n }\n };\n\n // Change the paragraph to setext heading text.\n events[text][1].type = \"setextHeadingText\";\n\n // If we have definitions in the content, we\u2019ll keep on having content,\n // but we need move it.\n if (definition) {\n events.splice(text, 0, ['enter', heading, context]);\n events.splice(definition + 1, 0, ['exit', events[content][1], context]);\n events[content][1].end = {\n ...events[definition][1].end\n };\n } else {\n events[content][1] = heading;\n }\n\n // Add the heading exit at the end.\n events.push(['exit', heading, context]);\n return events;\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeSetextUnderline(effects, ok, nok) {\n const self = this;\n /** @type {NonNullable<Code>} */\n let marker;\n return start;\n\n /**\n * At start of heading (setext) underline.\n *\n * ```markdown\n * | aa\n * > | ==\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n let index = self.events.length;\n /** @type {boolean | undefined} */\n let paragraph;\n // Find an opening.\n while (index--) {\n // Skip enter/exit of line ending, line prefix, and content.\n // We can now either have a definition or a paragraph.\n if (self.events[index][1].type !== \"lineEnding\" && self.events[index][1].type !== \"linePrefix\" && self.events[index][1].type !== \"content\") {\n paragraph = self.events[index][1].type === \"paragraph\";\n break;\n }\n }\n\n // To do: handle lazy/pierce like `markdown-rs`.\n // To do: parse indent like `markdown-rs`.\n if (!self.parser.lazy[self.now().line] && (self.interrupt || paragraph)) {\n effects.enter(\"setextHeadingLine\");\n marker = code;\n return before(code);\n }\n return nok(code);\n }\n\n /**\n * After optional whitespace, at `-` or `=`.\n *\n * ```markdown\n * | aa\n * > | ==\n * ^\n * ```\n *\n * @type {State}\n */\n function before(code) {\n effects.enter(\"setextHeadingLineSequence\");\n return inside(code);\n }\n\n /**\n * In sequence.\n *\n * ```markdown\n * | aa\n * > | ==\n * ^\n * ```\n *\n * @type {State}\n */\n function inside(code) {\n if (code === marker) {\n effects.consume(code);\n return inside;\n }\n effects.exit(\"setextHeadingLineSequence\");\n return markdownSpace(code) ? factorySpace(effects, after, \"lineSuffix\")(code) : after(code);\n }\n\n /**\n * After sequence, after optional whitespace.\n *\n * ```markdown\n * | aa\n * > | ==\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"setextHeadingLine\");\n return ok(code);\n }\n return nok(code);\n }\n}", "/**\n * @import {\n * InitialConstruct,\n * Initializer,\n * State,\n * TokenizeContext\n * } from 'micromark-util-types'\n */\n\nimport { blankLine, content } from 'micromark-core-commonmark';\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEnding } from 'micromark-util-character';\n/** @type {InitialConstruct} */\nexport const flow = {\n tokenize: initializeFlow\n};\n\n/**\n * @this {TokenizeContext}\n * Self.\n * @type {Initializer}\n * Initializer.\n */\nfunction initializeFlow(effects) {\n const self = this;\n const initial = effects.attempt(\n // Try to parse a blank line.\n blankLine, atBlankEnding,\n // Try to parse initial flow (essentially, only code).\n effects.attempt(this.parser.constructs.flowInitial, afterConstruct, factorySpace(effects, effects.attempt(this.parser.constructs.flow, afterConstruct, effects.attempt(content, afterConstruct)), \"linePrefix\")));\n return initial;\n\n /** @type {State} */\n function atBlankEnding(code) {\n if (code === null) {\n effects.consume(code);\n return;\n }\n effects.enter(\"lineEndingBlank\");\n effects.consume(code);\n effects.exit(\"lineEndingBlank\");\n self.currentConstruct = undefined;\n return initial;\n }\n\n /** @type {State} */\n function afterConstruct(code) {\n if (code === null) {\n effects.consume(code);\n return;\n }\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n self.currentConstruct = undefined;\n return initial;\n }\n}", "/**\n * @import {\n * Code,\n * InitialConstruct,\n * Initializer,\n * Resolver,\n * State,\n * TokenizeContext\n * } from 'micromark-util-types'\n */\n\nexport const resolver = {\n resolveAll: createResolver()\n};\nexport const string = initializeFactory('string');\nexport const text = initializeFactory('text');\n\n/**\n * @param {'string' | 'text'} field\n * Field.\n * @returns {InitialConstruct}\n * Construct.\n */\nfunction initializeFactory(field) {\n return {\n resolveAll: createResolver(field === 'text' ? resolveAllLineSuffixes : undefined),\n tokenize: initializeText\n };\n\n /**\n * @this {TokenizeContext}\n * Context.\n * @type {Initializer}\n */\n function initializeText(effects) {\n const self = this;\n const constructs = this.parser.constructs[field];\n const text = effects.attempt(constructs, start, notText);\n return start;\n\n /** @type {State} */\n function start(code) {\n return atBreak(code) ? text(code) : notText(code);\n }\n\n /** @type {State} */\n function notText(code) {\n if (code === null) {\n effects.consume(code);\n return;\n }\n effects.enter(\"data\");\n effects.consume(code);\n return data;\n }\n\n /** @type {State} */\n function data(code) {\n if (atBreak(code)) {\n effects.exit(\"data\");\n return text(code);\n }\n\n // Data.\n effects.consume(code);\n return data;\n }\n\n /**\n * @param {Code} code\n * Code.\n * @returns {boolean}\n * Whether the code is a break.\n */\n function atBreak(code) {\n if (code === null) {\n return true;\n }\n const list = constructs[code];\n let index = -1;\n if (list) {\n // Always populated by defaults.\n\n while (++index < list.length) {\n const item = list[index];\n if (!item.previous || item.previous.call(self, self.previous)) {\n return true;\n }\n }\n }\n return false;\n }\n }\n}\n\n/**\n * @param {Resolver | undefined} [extraResolver]\n * Resolver.\n * @returns {Resolver}\n * Resolver.\n */\nfunction createResolver(extraResolver) {\n return resolveAllText;\n\n /** @type {Resolver} */\n function resolveAllText(events, context) {\n let index = -1;\n /** @type {number | undefined} */\n let enter;\n\n // A rather boring computation (to merge adjacent `data` events) which\n // improves mm performance by 29%.\n while (++index <= events.length) {\n if (enter === undefined) {\n if (events[index] && events[index][1].type === \"data\") {\n enter = index;\n index++;\n }\n } else if (!events[index] || events[index][1].type !== \"data\") {\n // Don\u2019t do anything if there is one data token.\n if (index !== enter + 2) {\n events[enter][1].end = events[index - 1][1].end;\n events.splice(enter + 2, index - enter - 2);\n index = enter + 2;\n }\n enter = undefined;\n }\n }\n return extraResolver ? extraResolver(events, context) : events;\n }\n}\n\n/**\n * A rather ugly set of instructions which again looks at chunks in the input\n * stream.\n * The reason to do this here is that it is *much* faster to parse in reverse.\n * And that we can\u2019t hook into `null` to split the line suffix before an EOF.\n * To do: figure out if we can make this into a clean utility, or even in core.\n * As it will be useful for GFMs literal autolink extension (and maybe even\n * tables?)\n *\n * @type {Resolver}\n */\nfunction resolveAllLineSuffixes(events, context) {\n let eventIndex = 0; // Skip first.\n\n while (++eventIndex <= events.length) {\n if ((eventIndex === events.length || events[eventIndex][1].type === \"lineEnding\") && events[eventIndex - 1][1].type === \"data\") {\n const data = events[eventIndex - 1][1];\n const chunks = context.sliceStream(data);\n let index = chunks.length;\n let bufferIndex = -1;\n let size = 0;\n /** @type {boolean | undefined} */\n let tabs;\n while (index--) {\n const chunk = chunks[index];\n if (typeof chunk === 'string') {\n bufferIndex = chunk.length;\n while (chunk.charCodeAt(bufferIndex - 1) === 32) {\n size++;\n bufferIndex--;\n }\n if (bufferIndex) break;\n bufferIndex = -1;\n }\n // Number\n else if (chunk === -2) {\n tabs = true;\n size++;\n } else if (chunk === -1) {\n // Empty\n } else {\n // Replacement character, exit.\n index++;\n break;\n }\n }\n\n // Allow final trailing whitespace.\n if (context._contentTypeTextTrailing && eventIndex === events.length) {\n size = 0;\n }\n if (size) {\n const token = {\n type: eventIndex === events.length || tabs || size < 2 ? \"lineSuffix\" : \"hardBreakTrailing\",\n start: {\n _bufferIndex: index ? bufferIndex : data.start._bufferIndex + bufferIndex,\n _index: data.start._index + index,\n line: data.end.line,\n column: data.end.column - size,\n offset: data.end.offset - size\n },\n end: {\n ...data.end\n }\n };\n data.end = {\n ...token.start\n };\n if (data.start.offset === data.end.offset) {\n Object.assign(data, token);\n } else {\n events.splice(eventIndex, 0, ['enter', token, context], ['exit', token, context]);\n eventIndex += 2;\n }\n }\n eventIndex++;\n }\n }\n return events;\n}", "/**\n * @import {Extension} from 'micromark-util-types'\n */\n\nimport { attention, autolink, blockQuote, characterEscape, characterReference, codeFenced, codeIndented, codeText, definition, hardBreakEscape, headingAtx, htmlFlow, htmlText, labelEnd, labelStartImage, labelStartLink, lineEnding, list, setextUnderline, thematicBreak } from 'micromark-core-commonmark';\nimport { resolver as resolveText } from './initialize/text.js';\n\n/** @satisfies {Extension['document']} */\nexport const document = {\n [42]: list,\n [43]: list,\n [45]: list,\n [48]: list,\n [49]: list,\n [50]: list,\n [51]: list,\n [52]: list,\n [53]: list,\n [54]: list,\n [55]: list,\n [56]: list,\n [57]: list,\n [62]: blockQuote\n};\n\n/** @satisfies {Extension['contentInitial']} */\nexport const contentInitial = {\n [91]: definition\n};\n\n/** @satisfies {Extension['flowInitial']} */\nexport const flowInitial = {\n [-2]: codeIndented,\n [-1]: codeIndented,\n [32]: codeIndented\n};\n\n/** @satisfies {Extension['flow']} */\nexport const flow = {\n [35]: headingAtx,\n [42]: thematicBreak,\n [45]: [setextUnderline, thematicBreak],\n [60]: htmlFlow,\n [61]: setextUnderline,\n [95]: thematicBreak,\n [96]: codeFenced,\n [126]: codeFenced\n};\n\n/** @satisfies {Extension['string']} */\nexport const string = {\n [38]: characterReference,\n [92]: characterEscape\n};\n\n/** @satisfies {Extension['text']} */\nexport const text = {\n [-5]: lineEnding,\n [-4]: lineEnding,\n [-3]: lineEnding,\n [33]: labelStartImage,\n [38]: characterReference,\n [42]: attention,\n [60]: [autolink, htmlText],\n [91]: labelStartLink,\n [92]: [hardBreakEscape, characterEscape],\n [93]: labelEnd,\n [95]: attention,\n [96]: codeText\n};\n\n/** @satisfies {Extension['insideSpan']} */\nexport const insideSpan = {\n null: [attention, resolveText]\n};\n\n/** @satisfies {Extension['attentionMarkers']} */\nexport const attentionMarkers = {\n null: [42, 95]\n};\n\n/** @satisfies {Extension['disable']} */\nexport const disable = {\n null: []\n};", "/**\n * @import {\n * Chunk,\n * Code,\n * ConstructRecord,\n * Construct,\n * Effects,\n * InitialConstruct,\n * ParseContext,\n * Point,\n * State,\n * TokenizeContext,\n * Token\n * } from 'micromark-util-types'\n */\n\n/**\n * @callback Restore\n * Restore the state.\n * @returns {undefined}\n * Nothing.\n *\n * @typedef Info\n * Info.\n * @property {Restore} restore\n * Restore.\n * @property {number} from\n * From.\n *\n * @callback ReturnHandle\n * Handle a successful run.\n * @param {Construct} construct\n * Construct.\n * @param {Info} info\n * Info.\n * @returns {undefined}\n * Nothing.\n */\n\nimport { markdownLineEnding } from 'micromark-util-character';\nimport { push, splice } from 'micromark-util-chunked';\nimport { resolveAll } from 'micromark-util-resolve-all';\n/**\n * Create a tokenizer.\n * Tokenizers deal with one type of data (e.g., containers, flow, text).\n * The parser is the object dealing with it all.\n * `initialize` works like other constructs, except that only its `tokenize`\n * function is used, in which case it doesn\u2019t receive an `ok` or `nok`.\n * `from` can be given to set the point before the first character, although\n * when further lines are indented, they must be set with `defineSkip`.\n *\n * @param {ParseContext} parser\n * Parser.\n * @param {InitialConstruct} initialize\n * Construct.\n * @param {Omit<Point, '_bufferIndex' | '_index'> | undefined} [from]\n * Point (optional).\n * @returns {TokenizeContext}\n * Context.\n */\nexport function createTokenizer(parser, initialize, from) {\n /** @type {Point} */\n let point = {\n _bufferIndex: -1,\n _index: 0,\n line: from && from.line || 1,\n column: from && from.column || 1,\n offset: from && from.offset || 0\n };\n /** @type {Record<string, number>} */\n const columnStart = {};\n /** @type {Array<Construct>} */\n const resolveAllConstructs = [];\n /** @type {Array<Chunk>} */\n let chunks = [];\n /** @type {Array<Token>} */\n let stack = [];\n /** @type {boolean | undefined} */\n let consumed = true;\n\n /**\n * Tools used for tokenizing.\n *\n * @type {Effects}\n */\n const effects = {\n attempt: constructFactory(onsuccessfulconstruct),\n check: constructFactory(onsuccessfulcheck),\n consume,\n enter,\n exit,\n interrupt: constructFactory(onsuccessfulcheck, {\n interrupt: true\n })\n };\n\n /**\n * State and tools for resolving and serializing.\n *\n * @type {TokenizeContext}\n */\n const context = {\n code: null,\n containerState: {},\n defineSkip,\n events: [],\n now,\n parser,\n previous: null,\n sliceSerialize,\n sliceStream,\n write\n };\n\n /**\n * The state function.\n *\n * @type {State | undefined}\n */\n let state = initialize.tokenize.call(context, effects);\n\n /**\n * Track which character we expect to be consumed, to catch bugs.\n *\n * @type {Code}\n */\n let expectedCode;\n if (initialize.resolveAll) {\n resolveAllConstructs.push(initialize);\n }\n return context;\n\n /** @type {TokenizeContext['write']} */\n function write(slice) {\n chunks = push(chunks, slice);\n main();\n\n // Exit if we\u2019re not done, resolve might change stuff.\n if (chunks[chunks.length - 1] !== null) {\n return [];\n }\n addResult(initialize, 0);\n\n // Otherwise, resolve, and exit.\n context.events = resolveAll(resolveAllConstructs, context.events, context);\n return context.events;\n }\n\n //\n // Tools.\n //\n\n /** @type {TokenizeContext['sliceSerialize']} */\n function sliceSerialize(token, expandTabs) {\n return serializeChunks(sliceStream(token), expandTabs);\n }\n\n /** @type {TokenizeContext['sliceStream']} */\n function sliceStream(token) {\n return sliceChunks(chunks, token);\n }\n\n /** @type {TokenizeContext['now']} */\n function now() {\n // This is a hot path, so we clone manually instead of `Object.assign({}, point)`\n const {\n _bufferIndex,\n _index,\n line,\n column,\n offset\n } = point;\n return {\n _bufferIndex,\n _index,\n line,\n column,\n offset\n };\n }\n\n /** @type {TokenizeContext['defineSkip']} */\n function defineSkip(value) {\n columnStart[value.line] = value.column;\n accountForPotentialSkip();\n }\n\n //\n // State management.\n //\n\n /**\n * Main loop (note that `_index` and `_bufferIndex` in `point` are modified by\n * `consume`).\n * Here is where we walk through the chunks, which either include strings of\n * several characters, or numerical character codes.\n * The reason to do this in a loop instead of a call is so the stack can\n * drain.\n *\n * @returns {undefined}\n * Nothing.\n */\n function main() {\n /** @type {number} */\n let chunkIndex;\n while (point._index < chunks.length) {\n const chunk = chunks[point._index];\n\n // If we\u2019re in a buffer chunk, loop through it.\n if (typeof chunk === 'string') {\n chunkIndex = point._index;\n if (point._bufferIndex < 0) {\n point._bufferIndex = 0;\n }\n while (point._index === chunkIndex && point._bufferIndex < chunk.length) {\n go(chunk.charCodeAt(point._bufferIndex));\n }\n } else {\n go(chunk);\n }\n }\n }\n\n /**\n * Deal with one code.\n *\n * @param {Code} code\n * Code.\n * @returns {undefined}\n * Nothing.\n */\n function go(code) {\n consumed = undefined;\n expectedCode = code;\n state = state(code);\n }\n\n /** @type {Effects['consume']} */\n function consume(code) {\n if (markdownLineEnding(code)) {\n point.line++;\n point.column = 1;\n point.offset += code === -3 ? 2 : 1;\n accountForPotentialSkip();\n } else if (code !== -1) {\n point.column++;\n point.offset++;\n }\n\n // Not in a string chunk.\n if (point._bufferIndex < 0) {\n point._index++;\n } else {\n point._bufferIndex++;\n\n // At end of string chunk.\n if (point._bufferIndex ===\n // Points w/ non-negative `_bufferIndex` reference\n // strings.\n /** @type {string} */\n chunks[point._index].length) {\n point._bufferIndex = -1;\n point._index++;\n }\n }\n\n // Expose the previous character.\n context.previous = code;\n\n // Mark as consumed.\n consumed = true;\n }\n\n /** @type {Effects['enter']} */\n function enter(type, fields) {\n /** @type {Token} */\n // @ts-expect-error Patch instead of assign required fields to help GC.\n const token = fields || {};\n token.type = type;\n token.start = now();\n context.events.push(['enter', token, context]);\n stack.push(token);\n return token;\n }\n\n /** @type {Effects['exit']} */\n function exit(type) {\n const token = stack.pop();\n token.end = now();\n context.events.push(['exit', token, context]);\n return token;\n }\n\n /**\n * Use results.\n *\n * @type {ReturnHandle}\n */\n function onsuccessfulconstruct(construct, info) {\n addResult(construct, info.from);\n }\n\n /**\n * Discard results.\n *\n * @type {ReturnHandle}\n */\n function onsuccessfulcheck(_, info) {\n info.restore();\n }\n\n /**\n * Factory to attempt/check/interrupt.\n *\n * @param {ReturnHandle} onreturn\n * Callback.\n * @param {{interrupt?: boolean | undefined} | undefined} [fields]\n * Fields.\n */\n function constructFactory(onreturn, fields) {\n return hook;\n\n /**\n * Handle either an object mapping codes to constructs, a list of\n * constructs, or a single construct.\n *\n * @param {Array<Construct> | ConstructRecord | Construct} constructs\n * Constructs.\n * @param {State} returnState\n * State.\n * @param {State | undefined} [bogusState]\n * State.\n * @returns {State}\n * State.\n */\n function hook(constructs, returnState, bogusState) {\n /** @type {ReadonlyArray<Construct>} */\n let listOfConstructs;\n /** @type {number} */\n let constructIndex;\n /** @type {Construct} */\n let currentConstruct;\n /** @type {Info} */\n let info;\n return Array.isArray(constructs) ? /* c8 ignore next 1 */\n handleListOfConstructs(constructs) : 'tokenize' in constructs ?\n // Looks like a construct.\n handleListOfConstructs([(/** @type {Construct} */constructs)]) : handleMapOfConstructs(constructs);\n\n /**\n * Handle a list of construct.\n *\n * @param {ConstructRecord} map\n * Constructs.\n * @returns {State}\n * State.\n */\n function handleMapOfConstructs(map) {\n return start;\n\n /** @type {State} */\n function start(code) {\n const left = code !== null && map[code];\n const all = code !== null && map.null;\n const list = [\n // To do: add more extension tests.\n /* c8 ignore next 2 */\n ...(Array.isArray(left) ? left : left ? [left] : []), ...(Array.isArray(all) ? all : all ? [all] : [])];\n return handleListOfConstructs(list)(code);\n }\n }\n\n /**\n * Handle a list of construct.\n *\n * @param {ReadonlyArray<Construct>} list\n * Constructs.\n * @returns {State}\n * State.\n */\n function handleListOfConstructs(list) {\n listOfConstructs = list;\n constructIndex = 0;\n if (list.length === 0) {\n return bogusState;\n }\n return handleConstruct(list[constructIndex]);\n }\n\n /**\n * Handle a single construct.\n *\n * @param {Construct} construct\n * Construct.\n * @returns {State}\n * State.\n */\n function handleConstruct(construct) {\n return start;\n\n /** @type {State} */\n function start(code) {\n // To do: not needed to store if there is no bogus state, probably?\n // Currently doesn\u2019t work because `inspect` in document does a check\n // w/o a bogus, which doesn\u2019t make sense. But it does seem to help perf\n // by not storing.\n info = store();\n currentConstruct = construct;\n if (!construct.partial) {\n context.currentConstruct = construct;\n }\n\n // Always populated by defaults.\n\n if (construct.name && context.parser.constructs.disable.null.includes(construct.name)) {\n return nok(code);\n }\n return construct.tokenize.call(\n // If we do have fields, create an object w/ `context` as its\n // prototype.\n // This allows a \u201Clive binding\u201D, which is needed for `interrupt`.\n fields ? Object.assign(Object.create(context), fields) : context, effects, ok, nok)(code);\n }\n }\n\n /** @type {State} */\n function ok(code) {\n consumed = true;\n onreturn(currentConstruct, info);\n return returnState;\n }\n\n /** @type {State} */\n function nok(code) {\n consumed = true;\n info.restore();\n if (++constructIndex < listOfConstructs.length) {\n return handleConstruct(listOfConstructs[constructIndex]);\n }\n return bogusState;\n }\n }\n }\n\n /**\n * @param {Construct} construct\n * Construct.\n * @param {number} from\n * From.\n * @returns {undefined}\n * Nothing.\n */\n function addResult(construct, from) {\n if (construct.resolveAll && !resolveAllConstructs.includes(construct)) {\n resolveAllConstructs.push(construct);\n }\n if (construct.resolve) {\n splice(context.events, from, context.events.length - from, construct.resolve(context.events.slice(from), context));\n }\n if (construct.resolveTo) {\n context.events = construct.resolveTo(context.events, context);\n }\n }\n\n /**\n * Store state.\n *\n * @returns {Info}\n * Info.\n */\n function store() {\n const startPoint = now();\n const startPrevious = context.previous;\n const startCurrentConstruct = context.currentConstruct;\n const startEventsIndex = context.events.length;\n const startStack = Array.from(stack);\n return {\n from: startEventsIndex,\n restore\n };\n\n /**\n * Restore state.\n *\n * @returns {undefined}\n * Nothing.\n */\n function restore() {\n point = startPoint;\n context.previous = startPrevious;\n context.currentConstruct = startCurrentConstruct;\n context.events.length = startEventsIndex;\n stack = startStack;\n accountForPotentialSkip();\n }\n }\n\n /**\n * Move the current point a bit forward in the line when it\u2019s on a column\n * skip.\n *\n * @returns {undefined}\n * Nothing.\n */\n function accountForPotentialSkip() {\n if (point.line in columnStart && point.column < 2) {\n point.column = columnStart[point.line];\n point.offset += columnStart[point.line] - 1;\n }\n }\n}\n\n/**\n * Get the chunks from a slice of chunks in the range of a token.\n *\n * @param {ReadonlyArray<Chunk>} chunks\n * Chunks.\n * @param {Pick<Token, 'end' | 'start'>} token\n * Token.\n * @returns {Array<Chunk>}\n * Chunks.\n */\nfunction sliceChunks(chunks, token) {\n const startIndex = token.start._index;\n const startBufferIndex = token.start._bufferIndex;\n const endIndex = token.end._index;\n const endBufferIndex = token.end._bufferIndex;\n /** @type {Array<Chunk>} */\n let view;\n if (startIndex === endIndex) {\n // @ts-expect-error `_bufferIndex` is used on string chunks.\n view = [chunks[startIndex].slice(startBufferIndex, endBufferIndex)];\n } else {\n view = chunks.slice(startIndex, endIndex);\n if (startBufferIndex > -1) {\n const head = view[0];\n if (typeof head === 'string') {\n view[0] = head.slice(startBufferIndex);\n /* c8 ignore next 4 -- used to be used, no longer */\n } else {\n view.shift();\n }\n }\n if (endBufferIndex > 0) {\n // @ts-expect-error `_bufferIndex` is used on string chunks.\n view.push(chunks[endIndex].slice(0, endBufferIndex));\n }\n }\n return view;\n}\n\n/**\n * Get the string value of a slice of chunks.\n *\n * @param {ReadonlyArray<Chunk>} chunks\n * Chunks.\n * @param {boolean | undefined} [expandTabs=false]\n * Whether to expand tabs (default: `false`).\n * @returns {string}\n * Result.\n */\nfunction serializeChunks(chunks, expandTabs) {\n let index = -1;\n /** @type {Array<string>} */\n const result = [];\n /** @type {boolean | undefined} */\n let atTab;\n while (++index < chunks.length) {\n const chunk = chunks[index];\n /** @type {string} */\n let value;\n if (typeof chunk === 'string') {\n value = chunk;\n } else switch (chunk) {\n case -5:\n {\n value = \"\\r\";\n break;\n }\n case -4:\n {\n value = \"\\n\";\n break;\n }\n case -3:\n {\n value = \"\\r\" + \"\\n\";\n break;\n }\n case -2:\n {\n value = expandTabs ? \" \" : \"\\t\";\n break;\n }\n case -1:\n {\n if (!expandTabs && atTab) continue;\n value = \" \";\n break;\n }\n default:\n {\n // Currently only replacement character.\n value = String.fromCharCode(chunk);\n }\n }\n atTab = chunk === -2;\n result.push(value);\n }\n return result.join('');\n}", "/**\n * @import {\n * Create,\n * FullNormalizedExtension,\n * InitialConstruct,\n * ParseContext,\n * ParseOptions\n * } from 'micromark-util-types'\n */\n\nimport { combineExtensions } from 'micromark-util-combine-extensions';\nimport { content } from './initialize/content.js';\nimport { document } from './initialize/document.js';\nimport { flow } from './initialize/flow.js';\nimport { string, text } from './initialize/text.js';\nimport * as defaultConstructs from './constructs.js';\nimport { createTokenizer } from './create-tokenizer.js';\n\n/**\n * @param {ParseOptions | null | undefined} [options]\n * Configuration (optional).\n * @returns {ParseContext}\n * Parser.\n */\nexport function parse(options) {\n const settings = options || {};\n const constructs = /** @type {FullNormalizedExtension} */\n combineExtensions([defaultConstructs, ...(settings.extensions || [])]);\n\n /** @type {ParseContext} */\n const parser = {\n constructs,\n content: create(content),\n defined: [],\n document: create(document),\n flow: create(flow),\n lazy: {},\n string: create(string),\n text: create(text)\n };\n return parser;\n\n /**\n * @param {InitialConstruct} initial\n * Construct to start with.\n * @returns {Create}\n * Create a tokenizer.\n */\n function create(initial) {\n return creator;\n /** @type {Create} */\n function creator(from) {\n return createTokenizer(parser, initial, from);\n }\n }\n}", "/**\n * @import {Event} from 'micromark-util-types'\n */\n\nimport { subtokenize } from 'micromark-util-subtokenize';\n\n/**\n * @param {Array<Event>} events\n * Events.\n * @returns {Array<Event>}\n * Events.\n */\nexport function postprocess(events) {\n while (!subtokenize(events)) {\n // Empty\n }\n return events;\n}", "/**\n * @import {Chunk, Code, Encoding, Value} from 'micromark-util-types'\n */\n\n/**\n * @callback Preprocessor\n * Preprocess a value.\n * @param {Value} value\n * Value.\n * @param {Encoding | null | undefined} [encoding]\n * Encoding when `value` is a typed array (optional).\n * @param {boolean | null | undefined} [end=false]\n * Whether this is the last chunk (default: `false`).\n * @returns {Array<Chunk>}\n * Chunks.\n */\n\nconst search = /[\\0\\t\\n\\r]/g;\n\n/**\n * @returns {Preprocessor}\n * Preprocess a value.\n */\nexport function preprocess() {\n let column = 1;\n let buffer = '';\n /** @type {boolean | undefined} */\n let start = true;\n /** @type {boolean | undefined} */\n let atCarriageReturn;\n return preprocessor;\n\n /** @type {Preprocessor} */\n // eslint-disable-next-line complexity\n function preprocessor(value, encoding, end) {\n /** @type {Array<Chunk>} */\n const chunks = [];\n /** @type {RegExpMatchArray | null} */\n let match;\n /** @type {number} */\n let next;\n /** @type {number} */\n let startPosition;\n /** @type {number} */\n let endPosition;\n /** @type {Code} */\n let code;\n value = buffer + (typeof value === 'string' ? value.toString() : new TextDecoder(encoding || undefined).decode(value));\n startPosition = 0;\n buffer = '';\n if (start) {\n // To do: `markdown-rs` actually parses BOMs (byte order mark).\n if (value.charCodeAt(0) === 65279) {\n startPosition++;\n }\n start = undefined;\n }\n while (startPosition < value.length) {\n search.lastIndex = startPosition;\n match = search.exec(value);\n endPosition = match && match.index !== undefined ? match.index : value.length;\n code = value.charCodeAt(endPosition);\n if (!match) {\n buffer = value.slice(startPosition);\n break;\n }\n if (code === 10 && startPosition === endPosition && atCarriageReturn) {\n chunks.push(-3);\n atCarriageReturn = undefined;\n } else {\n if (atCarriageReturn) {\n chunks.push(-5);\n atCarriageReturn = undefined;\n }\n if (startPosition < endPosition) {\n chunks.push(value.slice(startPosition, endPosition));\n column += endPosition - startPosition;\n }\n switch (code) {\n case 0:\n {\n chunks.push(65533);\n column++;\n break;\n }\n case 9:\n {\n next = Math.ceil(column / 4) * 4;\n chunks.push(-2);\n while (column++ < next) chunks.push(-1);\n break;\n }\n case 10:\n {\n chunks.push(-4);\n column = 1;\n break;\n }\n default:\n {\n atCarriageReturn = true;\n column = 1;\n }\n }\n }\n startPosition = endPosition + 1;\n }\n if (end) {\n if (atCarriageReturn) chunks.push(-5);\n if (buffer) chunks.push(buffer);\n chunks.push(null);\n }\n return chunks;\n }\n}", "import { decodeNamedCharacterReference } from 'decode-named-character-reference';\nimport { decodeNumericCharacterReference } from 'micromark-util-decode-numeric-character-reference';\nconst characterEscapeOrReference = /\\\\([!-/:-@[-`{-~])|&(#(?:\\d{1,7}|x[\\da-f]{1,6})|[\\da-z]{1,31});/gi;\n\n/**\n * Decode markdown strings (which occur in places such as fenced code info\n * strings, destinations, labels, and titles).\n *\n * The \u201Cstring\u201D content type allows character escapes and -references.\n * This decodes those.\n *\n * @param {string} value\n * Value to decode.\n * @returns {string}\n * Decoded value.\n */\nexport function decodeString(value) {\n return value.replace(characterEscapeOrReference, decode);\n}\n\n/**\n * @param {string} $0\n * Match.\n * @param {string} $1\n * Character escape.\n * @param {string} $2\n * Character reference.\n * @returns {string}\n * Decoded value\n */\nfunction decode($0, $1, $2) {\n if ($1) {\n // Escape.\n return $1;\n }\n\n // Reference.\n const head = $2.charCodeAt(0);\n if (head === 35) {\n const head = $2.charCodeAt(1);\n const hex = head === 120 || head === 88;\n return decodeNumericCharacterReference($2.slice(hex ? 2 : 1), hex ? 16 : 10);\n }\n return decodeNamedCharacterReference($2) || $0;\n}", "/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Point} Point\n * @typedef {import('unist').Position} Position\n */\n\n/**\n * @typedef NodeLike\n * @property {string} type\n * @property {PositionLike | null | undefined} [position]\n *\n * @typedef PointLike\n * @property {number | null | undefined} [line]\n * @property {number | null | undefined} [column]\n * @property {number | null | undefined} [offset]\n *\n * @typedef PositionLike\n * @property {PointLike | null | undefined} [start]\n * @property {PointLike | null | undefined} [end]\n */\n\n/**\n * Serialize the positional info of a point, position (start and end points),\n * or node.\n *\n * @param {Node | NodeLike | Point | PointLike | Position | PositionLike | null | undefined} [value]\n * Node, position, or point.\n * @returns {string}\n * Pretty printed positional info of a node (`string`).\n *\n * In the format of a range `ls:cs-le:ce` (when given `node` or `position`)\n * or a point `l:c` (when given `point`), where `l` stands for line, `c` for\n * column, `s` for `start`, and `e` for end.\n * An empty string (`''`) is returned if the given value is neither `node`,\n * `position`, nor `point`.\n */\nexport function stringifyPosition(value) {\n // Nothing.\n if (!value || typeof value !== 'object') {\n return ''\n }\n\n // Node.\n if ('position' in value || 'type' in value) {\n return position(value.position)\n }\n\n // Position.\n if ('start' in value || 'end' in value) {\n return position(value)\n }\n\n // Point.\n if ('line' in value || 'column' in value) {\n return point(value)\n }\n\n // ?\n return ''\n}\n\n/**\n * @param {Point | PointLike | null | undefined} point\n * @returns {string}\n */\nfunction point(point) {\n return index(point && point.line) + ':' + index(point && point.column)\n}\n\n/**\n * @param {Position | PositionLike | null | undefined} pos\n * @returns {string}\n */\nfunction position(pos) {\n return point(pos && pos.start) + '-' + point(pos && pos.end)\n}\n\n/**\n * @param {number | null | undefined} value\n * @returns {number}\n */\nfunction index(value) {\n return value && typeof value === 'number' ? value : 1\n}\n", "/**\n * @import {\n * Break,\n * Blockquote,\n * Code,\n * Definition,\n * Emphasis,\n * Heading,\n * Html,\n * Image,\n * InlineCode,\n * Link,\n * ListItem,\n * List,\n * Nodes,\n * Paragraph,\n * PhrasingContent,\n * ReferenceType,\n * Root,\n * Strong,\n * Text,\n * ThematicBreak\n * } from 'mdast'\n * @import {\n * Encoding,\n * Event,\n * Token,\n * Value\n * } from 'micromark-util-types'\n * @import {Point} from 'unist'\n * @import {\n * CompileContext,\n * CompileData,\n * Config,\n * Extension,\n * Handle,\n * OnEnterError,\n * Options\n * } from './types.js'\n */\n\nimport { toString } from 'mdast-util-to-string';\nimport { parse, postprocess, preprocess } from 'micromark';\nimport { decodeNumericCharacterReference } from 'micromark-util-decode-numeric-character-reference';\nimport { decodeString } from 'micromark-util-decode-string';\nimport { normalizeIdentifier } from 'micromark-util-normalize-identifier';\nimport { decodeNamedCharacterReference } from 'decode-named-character-reference';\nimport { stringifyPosition } from 'unist-util-stringify-position';\nconst own = {}.hasOwnProperty;\n\n/**\n * Turn markdown into a syntax tree.\n *\n * @overload\n * @param {Value} value\n * @param {Encoding | null | undefined} [encoding]\n * @param {Options | null | undefined} [options]\n * @returns {Root}\n *\n * @overload\n * @param {Value} value\n * @param {Options | null | undefined} [options]\n * @returns {Root}\n *\n * @param {Value} value\n * Markdown to parse.\n * @param {Encoding | Options | null | undefined} [encoding]\n * Character encoding for when `value` is `Buffer`.\n * @param {Options | null | undefined} [options]\n * Configuration.\n * @returns {Root}\n * mdast tree.\n */\nexport function fromMarkdown(value, encoding, options) {\n if (encoding && typeof encoding === 'object') {\n options = encoding;\n encoding = undefined;\n }\n return compiler(options)(postprocess(parse(options).document().write(preprocess()(value, encoding, true))));\n}\n\n/**\n * Note this compiler only understand complete buffering, not streaming.\n *\n * @param {Options | null | undefined} [options]\n */\nfunction compiler(options) {\n /** @type {Config} */\n const config = {\n transforms: [],\n canContainEols: ['emphasis', 'fragment', 'heading', 'paragraph', 'strong'],\n enter: {\n autolink: opener(link),\n autolinkProtocol: onenterdata,\n autolinkEmail: onenterdata,\n atxHeading: opener(heading),\n blockQuote: opener(blockQuote),\n characterEscape: onenterdata,\n characterReference: onenterdata,\n codeFenced: opener(codeFlow),\n codeFencedFenceInfo: buffer,\n codeFencedFenceMeta: buffer,\n codeIndented: opener(codeFlow, buffer),\n codeText: opener(codeText, buffer),\n codeTextData: onenterdata,\n data: onenterdata,\n codeFlowValue: onenterdata,\n definition: opener(definition),\n definitionDestinationString: buffer,\n definitionLabelString: buffer,\n definitionTitleString: buffer,\n emphasis: opener(emphasis),\n hardBreakEscape: opener(hardBreak),\n hardBreakTrailing: opener(hardBreak),\n htmlFlow: opener(html, buffer),\n htmlFlowData: onenterdata,\n htmlText: opener(html, buffer),\n htmlTextData: onenterdata,\n image: opener(image),\n label: buffer,\n link: opener(link),\n listItem: opener(listItem),\n listItemValue: onenterlistitemvalue,\n listOrdered: opener(list, onenterlistordered),\n listUnordered: opener(list),\n paragraph: opener(paragraph),\n reference: onenterreference,\n referenceString: buffer,\n resourceDestinationString: buffer,\n resourceTitleString: buffer,\n setextHeading: opener(heading),\n strong: opener(strong),\n thematicBreak: opener(thematicBreak)\n },\n exit: {\n atxHeading: closer(),\n atxHeadingSequence: onexitatxheadingsequence,\n autolink: closer(),\n autolinkEmail: onexitautolinkemail,\n autolinkProtocol: onexitautolinkprotocol,\n blockQuote: closer(),\n characterEscapeValue: onexitdata,\n characterReferenceMarkerHexadecimal: onexitcharacterreferencemarker,\n characterReferenceMarkerNumeric: onexitcharacterreferencemarker,\n characterReferenceValue: onexitcharacterreferencevalue,\n characterReference: onexitcharacterreference,\n codeFenced: closer(onexitcodefenced),\n codeFencedFence: onexitcodefencedfence,\n codeFencedFenceInfo: onexitcodefencedfenceinfo,\n codeFencedFenceMeta: onexitcodefencedfencemeta,\n codeFlowValue: onexitdata,\n codeIndented: closer(onexitcodeindented),\n codeText: closer(onexitcodetext),\n codeTextData: onexitdata,\n data: onexitdata,\n definition: closer(),\n definitionDestinationString: onexitdefinitiondestinationstring,\n definitionLabelString: onexitdefinitionlabelstring,\n definitionTitleString: onexitdefinitiontitlestring,\n emphasis: closer(),\n hardBreakEscape: closer(onexithardbreak),\n hardBreakTrailing: closer(onexithardbreak),\n htmlFlow: closer(onexithtmlflow),\n htmlFlowData: onexitdata,\n htmlText: closer(onexithtmltext),\n htmlTextData: onexitdata,\n image: closer(onexitimage),\n label: onexitlabel,\n labelText: onexitlabeltext,\n lineEnding: onexitlineending,\n link: closer(onexitlink),\n listItem: closer(),\n listOrdered: closer(),\n listUnordered: closer(),\n paragraph: closer(),\n referenceString: onexitreferencestring,\n resourceDestinationString: onexitresourcedestinationstring,\n resourceTitleString: onexitresourcetitlestring,\n resource: onexitresource,\n setextHeading: closer(onexitsetextheading),\n setextHeadingLineSequence: onexitsetextheadinglinesequence,\n setextHeadingText: onexitsetextheadingtext,\n strong: closer(),\n thematicBreak: closer()\n }\n };\n configure(config, (options || {}).mdastExtensions || []);\n\n /** @type {CompileData} */\n const data = {};\n return compile;\n\n /**\n * Turn micromark events into an mdast tree.\n *\n * @param {Array<Event>} events\n * Events.\n * @returns {Root}\n * mdast tree.\n */\n function compile(events) {\n /** @type {Root} */\n let tree = {\n type: 'root',\n children: []\n };\n /** @type {Omit<CompileContext, 'sliceSerialize'>} */\n const context = {\n stack: [tree],\n tokenStack: [],\n config,\n enter,\n exit,\n buffer,\n resume,\n data\n };\n /** @type {Array<number>} */\n const listStack = [];\n let index = -1;\n while (++index < events.length) {\n // We preprocess lists to add `listItem` tokens, and to infer whether\n // items the list itself are spread out.\n if (events[index][1].type === \"listOrdered\" || events[index][1].type === \"listUnordered\") {\n if (events[index][0] === 'enter') {\n listStack.push(index);\n } else {\n const tail = listStack.pop();\n index = prepareList(events, tail, index);\n }\n }\n }\n index = -1;\n while (++index < events.length) {\n const handler = config[events[index][0]];\n if (own.call(handler, events[index][1].type)) {\n handler[events[index][1].type].call(Object.assign({\n sliceSerialize: events[index][2].sliceSerialize\n }, context), events[index][1]);\n }\n }\n\n // Handle tokens still being open.\n if (context.tokenStack.length > 0) {\n const tail = context.tokenStack[context.tokenStack.length - 1];\n const handler = tail[1] || defaultOnError;\n handler.call(context, undefined, tail[0]);\n }\n\n // Figure out `root` position.\n tree.position = {\n start: point(events.length > 0 ? events[0][1].start : {\n line: 1,\n column: 1,\n offset: 0\n }),\n end: point(events.length > 0 ? events[events.length - 2][1].end : {\n line: 1,\n column: 1,\n offset: 0\n })\n };\n\n // Call transforms.\n index = -1;\n while (++index < config.transforms.length) {\n tree = config.transforms[index](tree) || tree;\n }\n return tree;\n }\n\n /**\n * @param {Array<Event>} events\n * @param {number} start\n * @param {number} length\n * @returns {number}\n */\n function prepareList(events, start, length) {\n let index = start - 1;\n let containerBalance = -1;\n let listSpread = false;\n /** @type {Token | undefined} */\n let listItem;\n /** @type {number | undefined} */\n let lineIndex;\n /** @type {number | undefined} */\n let firstBlankLineIndex;\n /** @type {boolean | undefined} */\n let atMarker;\n while (++index <= length) {\n const event = events[index];\n switch (event[1].type) {\n case \"listUnordered\":\n case \"listOrdered\":\n case \"blockQuote\":\n {\n if (event[0] === 'enter') {\n containerBalance++;\n } else {\n containerBalance--;\n }\n atMarker = undefined;\n break;\n }\n case \"lineEndingBlank\":\n {\n if (event[0] === 'enter') {\n if (listItem && !atMarker && !containerBalance && !firstBlankLineIndex) {\n firstBlankLineIndex = index;\n }\n atMarker = undefined;\n }\n break;\n }\n case \"linePrefix\":\n case \"listItemValue\":\n case \"listItemMarker\":\n case \"listItemPrefix\":\n case \"listItemPrefixWhitespace\":\n {\n // Empty.\n\n break;\n }\n default:\n {\n atMarker = undefined;\n }\n }\n if (!containerBalance && event[0] === 'enter' && event[1].type === \"listItemPrefix\" || containerBalance === -1 && event[0] === 'exit' && (event[1].type === \"listUnordered\" || event[1].type === \"listOrdered\")) {\n if (listItem) {\n let tailIndex = index;\n lineIndex = undefined;\n while (tailIndex--) {\n const tailEvent = events[tailIndex];\n if (tailEvent[1].type === \"lineEnding\" || tailEvent[1].type === \"lineEndingBlank\") {\n if (tailEvent[0] === 'exit') continue;\n if (lineIndex) {\n events[lineIndex][1].type = \"lineEndingBlank\";\n listSpread = true;\n }\n tailEvent[1].type = \"lineEnding\";\n lineIndex = tailIndex;\n } else if (tailEvent[1].type === \"linePrefix\" || tailEvent[1].type === \"blockQuotePrefix\" || tailEvent[1].type === \"blockQuotePrefixWhitespace\" || tailEvent[1].type === \"blockQuoteMarker\" || tailEvent[1].type === \"listItemIndent\") {\n // Empty\n } else {\n break;\n }\n }\n if (firstBlankLineIndex && (!lineIndex || firstBlankLineIndex < lineIndex)) {\n listItem._spread = true;\n }\n\n // Fix position.\n listItem.end = Object.assign({}, lineIndex ? events[lineIndex][1].start : event[1].end);\n events.splice(lineIndex || index, 0, ['exit', listItem, event[2]]);\n index++;\n length++;\n }\n\n // Create a new list item.\n if (event[1].type === \"listItemPrefix\") {\n /** @type {Token} */\n const item = {\n type: 'listItem',\n _spread: false,\n start: Object.assign({}, event[1].start),\n // @ts-expect-error: we\u2019ll add `end` in a second.\n end: undefined\n };\n listItem = item;\n events.splice(index, 0, ['enter', item, event[2]]);\n index++;\n length++;\n firstBlankLineIndex = undefined;\n atMarker = true;\n }\n }\n }\n events[start][1]._spread = listSpread;\n return length;\n }\n\n /**\n * Create an opener handle.\n *\n * @param {(token: Token) => Nodes} create\n * Create a node.\n * @param {Handle | undefined} [and]\n * Optional function to also run.\n * @returns {Handle}\n * Handle.\n */\n function opener(create, and) {\n return open;\n\n /**\n * @this {CompileContext}\n * @param {Token} token\n * @returns {undefined}\n */\n function open(token) {\n enter.call(this, create(token), token);\n if (and) and.call(this, token);\n }\n }\n\n /**\n * @type {CompileContext['buffer']}\n */\n function buffer() {\n this.stack.push({\n type: 'fragment',\n children: []\n });\n }\n\n /**\n * @type {CompileContext['enter']}\n */\n function enter(node, token, errorHandler) {\n const parent = this.stack[this.stack.length - 1];\n /** @type {Array<Nodes>} */\n const siblings = parent.children;\n siblings.push(node);\n this.stack.push(node);\n this.tokenStack.push([token, errorHandler || undefined]);\n node.position = {\n start: point(token.start),\n // @ts-expect-error: `end` will be patched later.\n end: undefined\n };\n }\n\n /**\n * Create a closer handle.\n *\n * @param {Handle | undefined} [and]\n * Optional function to also run.\n * @returns {Handle}\n * Handle.\n */\n function closer(and) {\n return close;\n\n /**\n * @this {CompileContext}\n * @param {Token} token\n * @returns {undefined}\n */\n function close(token) {\n if (and) and.call(this, token);\n exit.call(this, token);\n }\n }\n\n /**\n * @type {CompileContext['exit']}\n */\n function exit(token, onExitError) {\n const node = this.stack.pop();\n const open = this.tokenStack.pop();\n if (!open) {\n throw new Error('Cannot close `' + token.type + '` (' + stringifyPosition({\n start: token.start,\n end: token.end\n }) + '): it\u2019s not open');\n } else if (open[0].type !== token.type) {\n if (onExitError) {\n onExitError.call(this, token, open[0]);\n } else {\n const handler = open[1] || defaultOnError;\n handler.call(this, token, open[0]);\n }\n }\n node.position.end = point(token.end);\n }\n\n /**\n * @type {CompileContext['resume']}\n */\n function resume() {\n return toString(this.stack.pop());\n }\n\n //\n // Handlers.\n //\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onenterlistordered() {\n this.data.expectingFirstListItemValue = true;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onenterlistitemvalue(token) {\n if (this.data.expectingFirstListItemValue) {\n const ancestor = this.stack[this.stack.length - 2];\n ancestor.start = Number.parseInt(this.sliceSerialize(token), 10);\n this.data.expectingFirstListItemValue = undefined;\n }\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodefencedfenceinfo() {\n const data = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.lang = data;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodefencedfencemeta() {\n const data = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.meta = data;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodefencedfence() {\n // Exit if this is the closing fence.\n if (this.data.flowCodeInside) return;\n this.buffer();\n this.data.flowCodeInside = true;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodefenced() {\n const data = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.value = data.replace(/^(\\r?\\n|\\r)|(\\r?\\n|\\r)$/g, '');\n this.data.flowCodeInside = undefined;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodeindented() {\n const data = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.value = data.replace(/(\\r?\\n|\\r)$/g, '');\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitdefinitionlabelstring(token) {\n const label = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.label = label;\n node.identifier = normalizeIdentifier(this.sliceSerialize(token)).toLowerCase();\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitdefinitiontitlestring() {\n const data = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.title = data;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitdefinitiondestinationstring() {\n const data = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.url = data;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitatxheadingsequence(token) {\n const node = this.stack[this.stack.length - 1];\n if (!node.depth) {\n const depth = this.sliceSerialize(token).length;\n node.depth = depth;\n }\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitsetextheadingtext() {\n this.data.setextHeadingSlurpLineEnding = true;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitsetextheadinglinesequence(token) {\n const node = this.stack[this.stack.length - 1];\n node.depth = this.sliceSerialize(token).codePointAt(0) === 61 ? 1 : 2;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitsetextheading() {\n this.data.setextHeadingSlurpLineEnding = undefined;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onenterdata(token) {\n const node = this.stack[this.stack.length - 1];\n /** @type {Array<Nodes>} */\n const siblings = node.children;\n let tail = siblings[siblings.length - 1];\n if (!tail || tail.type !== 'text') {\n // Add a new text node.\n tail = text();\n tail.position = {\n start: point(token.start),\n // @ts-expect-error: we\u2019ll add `end` later.\n end: undefined\n };\n siblings.push(tail);\n }\n this.stack.push(tail);\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitdata(token) {\n const tail = this.stack.pop();\n tail.value += this.sliceSerialize(token);\n tail.position.end = point(token.end);\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitlineending(token) {\n const context = this.stack[this.stack.length - 1];\n // If we\u2019re at a hard break, include the line ending in there.\n if (this.data.atHardBreak) {\n const tail = context.children[context.children.length - 1];\n tail.position.end = point(token.end);\n this.data.atHardBreak = undefined;\n return;\n }\n if (!this.data.setextHeadingSlurpLineEnding && config.canContainEols.includes(context.type)) {\n onenterdata.call(this, token);\n onexitdata.call(this, token);\n }\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexithardbreak() {\n this.data.atHardBreak = true;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexithtmlflow() {\n const data = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.value = data;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexithtmltext() {\n const data = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.value = data;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitcodetext() {\n const data = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.value = data;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitlink() {\n const node = this.stack[this.stack.length - 1];\n // Note: there are also `identifier` and `label` fields on this link node!\n // These are used / cleaned here.\n\n // To do: clean.\n if (this.data.inReference) {\n /** @type {ReferenceType} */\n const referenceType = this.data.referenceType || 'shortcut';\n node.type += 'Reference';\n // @ts-expect-error: mutate.\n node.referenceType = referenceType;\n // @ts-expect-error: mutate.\n delete node.url;\n delete node.title;\n } else {\n // @ts-expect-error: mutate.\n delete node.identifier;\n // @ts-expect-error: mutate.\n delete node.label;\n }\n this.data.referenceType = undefined;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitimage() {\n const node = this.stack[this.stack.length - 1];\n // Note: there are also `identifier` and `label` fields on this link node!\n // These are used / cleaned here.\n\n // To do: clean.\n if (this.data.inReference) {\n /** @type {ReferenceType} */\n const referenceType = this.data.referenceType || 'shortcut';\n node.type += 'Reference';\n // @ts-expect-error: mutate.\n node.referenceType = referenceType;\n // @ts-expect-error: mutate.\n delete node.url;\n delete node.title;\n } else {\n // @ts-expect-error: mutate.\n delete node.identifier;\n // @ts-expect-error: mutate.\n delete node.label;\n }\n this.data.referenceType = undefined;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitlabeltext(token) {\n const string = this.sliceSerialize(token);\n const ancestor = this.stack[this.stack.length - 2];\n // @ts-expect-error: stash this on the node, as it might become a reference\n // later.\n ancestor.label = decodeString(string);\n // @ts-expect-error: same as above.\n ancestor.identifier = normalizeIdentifier(string).toLowerCase();\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitlabel() {\n const fragment = this.stack[this.stack.length - 1];\n const value = this.resume();\n const node = this.stack[this.stack.length - 1];\n // Assume a reference.\n this.data.inReference = true;\n if (node.type === 'link') {\n /** @type {Array<PhrasingContent>} */\n const children = fragment.children;\n node.children = children;\n } else {\n node.alt = value;\n }\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitresourcedestinationstring() {\n const data = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.url = data;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitresourcetitlestring() {\n const data = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.title = data;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitresource() {\n this.data.inReference = undefined;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onenterreference() {\n this.data.referenceType = 'collapsed';\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitreferencestring(token) {\n const label = this.resume();\n const node = this.stack[this.stack.length - 1];\n // @ts-expect-error: stash this on the node, as it might become a reference\n // later.\n node.label = label;\n // @ts-expect-error: same as above.\n node.identifier = normalizeIdentifier(this.sliceSerialize(token)).toLowerCase();\n this.data.referenceType = 'full';\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitcharacterreferencemarker(token) {\n this.data.characterReferenceType = token.type;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcharacterreferencevalue(token) {\n const data = this.sliceSerialize(token);\n const type = this.data.characterReferenceType;\n /** @type {string} */\n let value;\n if (type) {\n value = decodeNumericCharacterReference(data, type === \"characterReferenceMarkerNumeric\" ? 10 : 16);\n this.data.characterReferenceType = undefined;\n } else {\n const result = decodeNamedCharacterReference(data);\n value = result;\n }\n const tail = this.stack[this.stack.length - 1];\n tail.value += value;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcharacterreference(token) {\n const tail = this.stack.pop();\n tail.position.end = point(token.end);\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitautolinkprotocol(token) {\n onexitdata.call(this, token);\n const node = this.stack[this.stack.length - 1];\n node.url = this.sliceSerialize(token);\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitautolinkemail(token) {\n onexitdata.call(this, token);\n const node = this.stack[this.stack.length - 1];\n node.url = 'mailto:' + this.sliceSerialize(token);\n }\n\n //\n // Creaters.\n //\n\n /** @returns {Blockquote} */\n function blockQuote() {\n return {\n type: 'blockquote',\n children: []\n };\n }\n\n /** @returns {Code} */\n function codeFlow() {\n return {\n type: 'code',\n lang: null,\n meta: null,\n value: ''\n };\n }\n\n /** @returns {InlineCode} */\n function codeText() {\n return {\n type: 'inlineCode',\n value: ''\n };\n }\n\n /** @returns {Definition} */\n function definition() {\n return {\n type: 'definition',\n identifier: '',\n label: null,\n title: null,\n url: ''\n };\n }\n\n /** @returns {Emphasis} */\n function emphasis() {\n return {\n type: 'emphasis',\n children: []\n };\n }\n\n /** @returns {Heading} */\n function heading() {\n return {\n type: 'heading',\n // @ts-expect-error `depth` will be set later.\n depth: 0,\n children: []\n };\n }\n\n /** @returns {Break} */\n function hardBreak() {\n return {\n type: 'break'\n };\n }\n\n /** @returns {Html} */\n function html() {\n return {\n type: 'html',\n value: ''\n };\n }\n\n /** @returns {Image} */\n function image() {\n return {\n type: 'image',\n title: null,\n url: '',\n alt: null\n };\n }\n\n /** @returns {Link} */\n function link() {\n return {\n type: 'link',\n title: null,\n url: '',\n children: []\n };\n }\n\n /**\n * @param {Token} token\n * @returns {List}\n */\n function list(token) {\n return {\n type: 'list',\n ordered: token.type === 'listOrdered',\n start: null,\n spread: token._spread,\n children: []\n };\n }\n\n /**\n * @param {Token} token\n * @returns {ListItem}\n */\n function listItem(token) {\n return {\n type: 'listItem',\n spread: token._spread,\n checked: null,\n children: []\n };\n }\n\n /** @returns {Paragraph} */\n function paragraph() {\n return {\n type: 'paragraph',\n children: []\n };\n }\n\n /** @returns {Strong} */\n function strong() {\n return {\n type: 'strong',\n children: []\n };\n }\n\n /** @returns {Text} */\n function text() {\n return {\n type: 'text',\n value: ''\n };\n }\n\n /** @returns {ThematicBreak} */\n function thematicBreak() {\n return {\n type: 'thematicBreak'\n };\n }\n}\n\n/**\n * Copy a point-like value.\n *\n * @param {Point} d\n * Point-like value.\n * @returns {Point}\n * unist point.\n */\nfunction point(d) {\n return {\n line: d.line,\n column: d.column,\n offset: d.offset\n };\n}\n\n/**\n * @param {Config} combined\n * @param {Array<Array<Extension> | Extension>} extensions\n * @returns {undefined}\n */\nfunction configure(combined, extensions) {\n let index = -1;\n while (++index < extensions.length) {\n const value = extensions[index];\n if (Array.isArray(value)) {\n configure(combined, value);\n } else {\n extension(combined, value);\n }\n }\n}\n\n/**\n * @param {Config} combined\n * @param {Extension} extension\n * @returns {undefined}\n */\nfunction extension(combined, extension) {\n /** @type {keyof Extension} */\n let key;\n for (key in extension) {\n if (own.call(extension, key)) {\n switch (key) {\n case 'canContainEols':\n {\n const right = extension[key];\n if (right) {\n combined[key].push(...right);\n }\n break;\n }\n case 'transforms':\n {\n const right = extension[key];\n if (right) {\n combined[key].push(...right);\n }\n break;\n }\n case 'enter':\n case 'exit':\n {\n const right = extension[key];\n if (right) {\n Object.assign(combined[key], right);\n }\n break;\n }\n // No default\n }\n }\n }\n}\n\n/** @type {OnEnterError} */\nfunction defaultOnError(left, right) {\n if (left) {\n throw new Error('Cannot close `' + left.type + '` (' + stringifyPosition({\n start: left.start,\n end: left.end\n }) + '): a different token (`' + right.type + '`, ' + stringifyPosition({\n start: right.start,\n end: right.end\n }) + ') is open');\n } else {\n throw new Error('Cannot close document, a token (`' + right.type + '`, ' + stringifyPosition({\n start: right.start,\n end: right.end\n }) + ') is still open');\n }\n}", "/**\n * @typedef {import('mdast').Root} Root\n * @typedef {import('mdast-util-from-markdown').Options} FromMarkdownOptions\n * @typedef {import('unified').Parser<Root>} Parser\n * @typedef {import('unified').Processor<Root>} Processor\n */\n\n/**\n * @typedef {Omit<FromMarkdownOptions, 'extensions' | 'mdastExtensions'>} Options\n */\n\nimport {fromMarkdown} from 'mdast-util-from-markdown'\n\n/**\n * Aadd support for parsing from markdown.\n *\n * @param {Readonly<Options> | null | undefined} [options]\n * Configuration (optional).\n * @returns {undefined}\n * Nothing.\n */\nexport default function remarkParse(options) {\n /** @type {Processor} */\n // @ts-expect-error: TS in JSDoc generates wrong types if `this` is typed regularly.\n const self = this\n\n self.parser = parser\n\n /**\n * @type {Parser}\n */\n function parser(doc) {\n return fromMarkdown(doc, {\n ...self.data('settings'),\n ...options,\n // Note: these options are not in the readme.\n // The goal is for them to be set by plugins on `data` instead of being\n // passed by users.\n extensions: self.data('micromarkExtensions') || [],\n mdastExtensions: self.data('fromMarkdownExtensions') || []\n })\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["index", "list", "all", "index", "extension", "list", "previous", "point", "index", "constructs", "index", "index", "text", "attentionMarkers", "previous", "point", "effects", "ok", "nok", "start", "furtherStart", "index", "index", "list", "index", "previous", "start", "content", "previous", "titleBefore", "content", "text", "index", "index", "index", "text", "index", "content", "text", "definition", "content", "constructs", "text", "list", "index", "document", "flow", "string", "text", "document", "flow", "string", "text", "point", "exit", "constructs", "all", "list", "from", "index", "constructs", "head", "point", "own", "blockQuote", "codeText", "definition", "list", "thematicBreak", "exit", "index", "point", "listItem", "node", "data", "text", "string", "extension"]
|
|
7
|
+
}
|