clawmini 0.0.7 → 0.0.9
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/.changeset/README.md +8 -0
- package/.changeset/config.json +14 -0
- package/.github/workflows/release.yml +49 -0
- package/CHANGELOG.md +36 -0
- package/README.md +5 -4
- package/dist/adapter-discord/index.d.mts.map +1 -1
- package/dist/adapter-discord/index.mjs +465 -282
- package/dist/adapter-discord/index.mjs.map +1 -1
- package/dist/adapter-google-chat/index.mjs +367 -243
- package/dist/adapter-google-chat/index.mjs.map +1 -1
- package/dist/cli/index.mjs +684 -24
- package/dist/cli/index.mjs.map +1 -1
- package/dist/cli/lite.mjs +43 -13
- package/dist/cli/lite.mjs.map +1 -1
- package/dist/cli/{propose-policy.mjs → manage-policies.mjs} +270 -47
- package/dist/cli/manage-policies.mjs.map +1 -0
- package/dist/cli/run-host.d.mts +1 -0
- package/dist/cli/run-host.mjs +3090 -0
- package/dist/cli/run-host.mjs.map +1 -0
- package/dist/config-CPFQIGdG.mjs +57 -0
- package/dist/config-CPFQIGdG.mjs.map +1 -0
- package/dist/config-Dvl-Pov4.mjs +76 -0
- package/dist/config-Dvl-Pov4.mjs.map +1 -0
- package/dist/daemon/index.d.mts.map +1 -1
- package/dist/daemon/index.mjs +970 -332
- package/dist/daemon/index.mjs.map +1 -1
- package/dist/supervisor-actions-CiW56eLi.mjs +843 -0
- package/dist/supervisor-actions-CiW56eLi.mjs.map +1 -0
- package/dist/turn-log-buffer-DRgW53gl.mjs +767 -0
- package/dist/turn-log-buffer-DRgW53gl.mjs.map +1 -0
- package/dist/web/_app/immutable/chunks/{Drm9vgeP.js → 3AZlWB6U.js} +1 -1
- package/dist/web/_app/immutable/chunks/BhRSsUCh.js +2 -0
- package/dist/web/_app/immutable/chunks/BiLeM2i1.js +1 -0
- package/{web/.svelte-kit/output/client/_app/immutable/chunks/CME08kGM.js → dist/web/_app/immutable/chunks/BmBj85Ll.js} +1 -1
- package/dist/web/_app/immutable/chunks/BrERcKAH.js +1 -0
- package/dist/web/_app/immutable/chunks/Bv9252RM.js +1 -0
- package/dist/web/_app/immutable/chunks/CIXNBPKi.js +1 -0
- package/dist/web/_app/immutable/chunks/DISKL3GN.js +2 -0
- package/dist/web/_app/immutable/chunks/{Zeh-C-mx.js → DcpaLzmX.js} +1 -1
- package/dist/web/_app/immutable/chunks/DnQ3vS13.js +1 -0
- package/dist/web/_app/immutable/chunks/KsloHTKS.js +1 -0
- package/{web/.svelte-kit/output/client/_app/immutable/chunks/Ck-be5J2.js → dist/web/_app/immutable/chunks/RsHsUj-8.js} +2 -2
- package/dist/web/_app/immutable/chunks/{G_zz-Gou.js → wpfV79dV.js} +1 -1
- package/dist/web/_app/immutable/entry/app.CIw1Qj0n.js +2 -0
- package/dist/web/_app/immutable/entry/start.Di0-Jhte.js +1 -0
- package/dist/web/_app/immutable/nodes/{0.CYS8iApT.js → 0.DYyUA1au.js} +1 -1
- package/dist/web/_app/immutable/nodes/1.D-3QEMMZ.js +1 -0
- package/dist/web/_app/immutable/nodes/{2.BnwnD1Ki.js → 2.4olHnH7U.js} +1 -1
- package/{web/.svelte-kit/output/client/_app/immutable/nodes/3.Dr0ot9sV.js → dist/web/_app/immutable/nodes/3.4w0bE-m2.js} +3 -3
- package/dist/web/_app/immutable/nodes/4.CZvjhVHt.js +60 -0
- package/dist/web/_app/immutable/nodes/{5.BBGQ_i84.js → 5.DLbPVJY2.js} +1 -1
- package/dist/web/_app/version.json +1 -1
- package/dist/web/index.html +12 -12
- package/dist/workspace-oWmVh5mi.mjs +1001 -0
- package/dist/workspace-oWmVh5mi.mjs.map +1 -0
- package/docs/23_adapter_slash_autocomplete/development_log.md +19 -0
- package/docs/23_adapter_slash_autocomplete/notes.md +18 -0
- package/docs/23_adapter_slash_autocomplete/prd.md +46 -0
- package/docs/23_adapter_slash_autocomplete/questions.md +6 -0
- package/docs/23_adapter_slash_autocomplete/tickets.md +21 -0
- package/docs/24_subagent_job_policy_fixes/development_log.md +22 -0
- package/docs/24_subagent_job_policy_fixes/notes.md +28 -0
- package/docs/24_subagent_job_policy_fixes/prd.md +59 -0
- package/docs/24_subagent_job_policy_fixes/questions.md +3 -0
- package/docs/24_subagent_job_policy_fixes/tickets.md +49 -0
- package/docs/25_e2e_test_improvements/development_log.md +30 -0
- package/docs/25_e2e_test_improvements/notes.md +29 -0
- package/docs/25_e2e_test_improvements/prd.md +43 -0
- package/docs/25_e2e_test_improvements/questions.md +12 -0
- package/docs/25_e2e_test_improvements/tickets-2.md +22 -0
- package/docs/25_e2e_test_improvements/tickets.md +22 -0
- package/docs/25_policy_cwd/development_log.md +30 -0
- package/docs/25_policy_cwd/notes.md +28 -0
- package/docs/25_policy_cwd/prd.md +77 -0
- package/docs/25_policy_cwd/questions.md +6 -0
- package/docs/25_policy_cwd/tickets.md +77 -0
- package/docs/CLI_REFERENCE.md +3 -1
- package/docs/PHILOSOPHY.md +35 -0
- package/docs/adapter-visibility/SPEC.md +461 -0
- package/docs/adapter-visibility/SPEC_v2.md +202 -0
- package/docs/auto-update/SPEC.md +344 -0
- package/docs/backups/SPEC.md +296 -0
- package/docs/backups/clawmini.gitignore +69 -0
- package/docs/guides/assets/clawmini-avatar.png +0 -0
- package/docs/guides/backups.md +332 -0
- package/docs/guides/discord_adapter_setup.md +1 -1
- package/docs/guides/google_chat_adapter_setup.md +81 -0
- package/docs/unified-startup/SPEC.md +203 -0
- package/e2e/_helpers/test-environment.test.ts +49 -0
- package/e2e/_helpers/test-environment.ts +548 -0
- package/e2e/adapters/_google-chat-fixtures.ts +340 -0
- package/{src/cli/e2e → e2e/adapters}/adapter-discord.test.ts +22 -23
- package/e2e/adapters/adapter-google-chat-downtime.test.ts +157 -0
- package/e2e/adapters/adapter-google-chat-inbound.test.ts +697 -0
- package/e2e/adapters/adapter-google-chat-outbound.test.ts +297 -0
- package/e2e/adapters/adapter-google-chat-roundtrip.test.ts +56 -0
- package/e2e/adapters/adapter-google-chat-threads.test.ts +1078 -0
- package/e2e/agents/custom-api-env.test.ts +80 -0
- package/e2e/agents/export-lite-func.test.ts +104 -0
- package/e2e/agents/fallbacks.test.ts +124 -0
- package/e2e/agents/interrupt.test.ts +50 -0
- package/e2e/agents/no-reply-necessary.test.ts +57 -0
- package/e2e/agents/session-timeout-subagents.test.ts +76 -0
- package/e2e/agents/subagent-authorization.test.ts +246 -0
- package/e2e/agents/subagent-env.test.ts +49 -0
- package/e2e/agents/subagent-lifecycle.test.ts +782 -0
- package/e2e/agents/subagents-depth.test.ts +47 -0
- package/e2e/cli/agents.test.ts +176 -0
- package/e2e/cli/auto-update.test.ts +741 -0
- package/e2e/cli/basic.test.ts +44 -0
- package/{src/cli/e2e → e2e/cli}/export-lite.test.ts +16 -12
- package/e2e/cli/init-gitignore.test.ts +86 -0
- package/e2e/cli/init.test.ts +76 -0
- package/e2e/cli/messages.test.ts +363 -0
- package/e2e/cli/serve.test.ts +76 -0
- package/{src/cli/e2e → e2e/cli}/skills.test.ts +11 -10
- package/{src/cli/e2e → e2e/daemon}/daemon.test.ts +57 -195
- package/e2e/jobs/agent-jobs.test.ts +216 -0
- package/e2e/jobs/cron.test.ts +64 -0
- package/e2e/jobs/restart.test.ts +108 -0
- package/e2e/policies/approval-session.test.ts +69 -0
- package/e2e/policies/auto-create-policies-file.test.ts +35 -0
- package/e2e/policies/builtin-manage-policies.test.ts +184 -0
- package/e2e/policies/builtin-run-host.test.ts +180 -0
- package/e2e/policies/environment-policies.test.ts +177 -0
- package/e2e/policies/manage-policies.test.ts +566 -0
- package/e2e/policies/output-size.test.ts +98 -0
- package/e2e/policies/policies-context-cwd.test.ts +160 -0
- package/e2e/policies/relative-script-path.test.ts +60 -0
- package/e2e/policies/requests-show.test.ts +135 -0
- package/e2e/policies/requests.test.ts +208 -0
- package/e2e/policies/slash-policies.test.ts +308 -0
- package/e2e/policies/startup-cleanup.test.ts +48 -0
- package/e2e/routers/session-timeout.test.ts +106 -0
- package/e2e/routers/slash-model.test.ts +152 -0
- package/e2e/routers/slash-new.test.ts +50 -0
- package/e2e/routers/slash-restart-adapter.test.ts +96 -0
- package/e2e/routers/slash-restart.test.ts +114 -0
- package/e2e/routers/slash-shutdown.test.ts +55 -0
- package/e2e/routers/slash-stop.test.ts +232 -0
- package/e2e/routers/slash-upgrade.test.ts +88 -0
- package/{src/cli/e2e → e2e/sandbox}/environments.test.ts +14 -13
- package/eslint.config.js +6 -0
- package/napkin.md +1 -1
- package/package.json +8 -3
- package/src/adapter-discord/commands.test.ts +42 -0
- package/src/adapter-discord/commands.ts +33 -0
- package/src/adapter-discord/config.ts +12 -0
- package/src/adapter-discord/forwarder.test.ts +499 -21
- package/src/adapter-discord/forwarder.ts +343 -124
- package/src/adapter-discord/inbound-cache.test.ts +47 -0
- package/src/adapter-discord/inbound-cache.ts +37 -0
- package/src/adapter-discord/index.test.ts +67 -2
- package/src/adapter-discord/index.ts +84 -216
- package/src/adapter-discord/interactions.test.ts +54 -3
- package/src/adapter-discord/interactions.ts +97 -53
- package/src/adapter-discord/processMessage.ts +239 -0
- package/src/adapter-discord/state.ts +1 -0
- package/src/adapter-google-chat/auth.test.ts +9 -5
- package/src/adapter-google-chat/auth.ts +29 -23
- package/src/adapter-google-chat/cards.ts +7 -2
- package/src/adapter-google-chat/client.test.ts +37 -2
- package/src/adapter-google-chat/client.ts +138 -38
- package/src/adapter-google-chat/config.ts +19 -0
- package/src/adapter-google-chat/forwarder.test.ts +81 -56
- package/src/adapter-google-chat/forwarder.ts +394 -185
- package/src/adapter-google-chat/inbound-cache.test.ts +61 -0
- package/src/adapter-google-chat/inbound-cache.ts +36 -0
- package/src/adapter-google-chat/state.test.ts +1 -0
- package/src/adapter-google-chat/state.ts +9 -1
- package/src/adapter-google-chat/subscriptions.ts +8 -6
- package/src/cli/builtin-policies.ts +44 -0
- package/src/cli/commands/agents.ts +59 -5
- package/src/cli/commands/down.ts +54 -2
- package/src/cli/commands/environments.ts +8 -2
- package/src/cli/commands/init.ts +31 -0
- package/src/cli/commands/logs.ts +116 -0
- package/src/cli/commands/policies.ts +6 -4
- package/src/cli/commands/serve.test.ts +67 -0
- package/src/cli/commands/serve.ts +284 -0
- package/src/cli/commands/up.ts +122 -2
- package/src/cli/commands/web-api/agents.ts +3 -2
- package/src/cli/index.ts +4 -0
- package/src/cli/install-detection.test.ts +72 -0
- package/src/cli/install-detection.ts +48 -0
- package/src/cli/lite.ts +54 -22
- package/src/cli/manage-policies-utils.ts +104 -0
- package/src/cli/manage-policies.ts +291 -0
- package/src/cli/run-host.ts +45 -0
- package/src/cli/supervisor-actions.ts +267 -0
- package/src/cli/supervisor-control.test.ts +129 -0
- package/src/cli/supervisor-control.ts +155 -0
- package/src/cli/supervisor-pid.ts +68 -0
- package/src/cli/supervisor.ts +277 -0
- package/src/daemon/agent/agent-context.ts +11 -11
- package/src/daemon/agent/agent-session.ts +8 -1
- package/src/daemon/agent/chat-logger.test.ts +78 -9
- package/src/daemon/agent/chat-logger.ts +25 -5
- package/src/daemon/agent/turn-registry.test.ts +89 -0
- package/src/daemon/agent/turn-registry.ts +94 -0
- package/src/daemon/agent/types.ts +2 -0
- package/src/daemon/api/agent-policy-endpoints.ts +263 -0
- package/src/daemon/api/agent-router.ts +47 -126
- package/src/daemon/api/index.test.ts +1 -0
- package/src/daemon/api/policy-request.test.ts +7 -5
- package/src/daemon/api/router-utils.ts +6 -5
- package/src/daemon/api/subagent-router.ts +110 -74
- package/src/daemon/api/subagent-utils.test.ts +60 -0
- package/src/daemon/api/subagent-utils.ts +113 -87
- package/src/daemon/api/user-router.ts +34 -8
- package/src/daemon/auth.ts +1 -0
- package/src/daemon/cron.test.ts +62 -4
- package/src/daemon/cron.ts +42 -16
- package/src/daemon/events.ts +65 -0
- package/src/daemon/index.ts +24 -1
- package/src/daemon/message-interruption.test.ts +1 -0
- package/src/daemon/message-jobs.test.ts +1 -0
- package/src/daemon/message.ts +78 -14
- package/src/daemon/observation.test.ts +26 -18
- package/src/daemon/pending-replies.test.ts +112 -0
- package/src/daemon/pending-replies.ts +162 -0
- package/src/daemon/policy-request-service.ts +3 -1
- package/src/daemon/policy-utils.test.ts +66 -1
- package/src/daemon/policy-utils.ts +126 -1
- package/src/daemon/request-store.ts +31 -0
- package/src/daemon/routers/session-timeout.ts +4 -0
- package/src/daemon/routers/slash-model.test.ts +344 -0
- package/src/daemon/routers/slash-model.ts +207 -0
- package/src/daemon/routers/slash-policies.test.ts +38 -32
- package/src/daemon/routers/slash-policies.ts +84 -33
- package/src/daemon/routers/slash-restart.test.ts +69 -0
- package/src/daemon/routers/slash-restart.ts +36 -0
- package/src/daemon/routers/slash-shutdown.test.ts +50 -0
- package/src/daemon/routers/slash-shutdown.ts +28 -0
- package/src/daemon/routers/slash-upgrade.test.ts +116 -0
- package/src/daemon/routers/slash-upgrade.ts +76 -0
- package/src/daemon/routers/types.ts +7 -0
- package/src/daemon/routers.ts +16 -0
- package/src/shared/adapters/blockquote.test.ts +28 -0
- package/src/shared/adapters/blockquote.ts +20 -0
- package/src/shared/adapters/filtering.test.ts +224 -10
- package/src/shared/adapters/filtering.ts +95 -7
- package/src/shared/adapters/inbound-cache.test.ts +48 -0
- package/src/shared/adapters/inbound-cache.ts +54 -0
- package/src/shared/adapters/turn-log-buffer.ts +266 -0
- package/src/shared/adapters/turn-log.test.ts +389 -0
- package/src/shared/adapters/turn-log.ts +357 -0
- package/src/shared/agent-utils.ts +12 -5
- package/src/shared/chats.test.ts +4 -0
- package/src/shared/chats.ts +9 -0
- package/src/shared/config.ts +16 -1
- package/src/shared/lite.ts +76 -2
- package/src/shared/policies.ts +26 -0
- package/src/shared/template-manifest.ts +267 -0
- package/src/shared/utils/shell.ts +61 -0
- package/src/shared/version.ts +34 -0
- package/src/shared/workspace.test.ts +217 -0
- package/src/shared/workspace.ts +626 -48
- package/templates/environments/cladding/allowlist-domain.mjs +125 -0
- package/templates/environments/cladding/env.json +21 -1
- package/templates/environments/cladding/run-with-network.mjs +54 -0
- package/templates/environments/macos-proxy/allowlist-domain.mjs +95 -0
- package/templates/environments/macos-proxy/env.json +8 -1
- package/templates/environments/macos-proxy/proxy.mjs +42 -13
- package/templates/gemini/template.json +5 -0
- package/templates/gemini-claw/template.json +13 -0
- package/templates/skills/clawmini-requests/SKILL.md +69 -10
- package/templates/skills/run-host/SKILL.md +51 -0
- package/templates/skills/skill-creator/SKILL.md +4 -3
- package/templates/skills/skill-creator/scripts/validate.sh +52 -0
- package/tsdown.config.ts +10 -1
- package/vitest.config.ts +2 -2
- package/web/.svelte-kit/ambient.d.ts +292 -176
- package/web/.svelte-kit/generated/server/internal.js +1 -1
- package/web/.svelte-kit/output/client/.vite/manifest.json +127 -137
- package/web/.svelte-kit/output/client/_app/immutable/chunks/{Drm9vgeP.js → 3AZlWB6U.js} +1 -1
- package/web/.svelte-kit/output/client/_app/immutable/chunks/BhRSsUCh.js +2 -0
- package/web/.svelte-kit/output/client/_app/immutable/chunks/BiLeM2i1.js +1 -0
- package/{dist/web/_app/immutable/chunks/CME08kGM.js → web/.svelte-kit/output/client/_app/immutable/chunks/BmBj85Ll.js} +1 -1
- package/web/.svelte-kit/output/client/_app/immutable/chunks/BrERcKAH.js +1 -0
- package/web/.svelte-kit/output/client/_app/immutable/chunks/Bv9252RM.js +1 -0
- package/web/.svelte-kit/output/client/_app/immutable/chunks/CIXNBPKi.js +1 -0
- package/web/.svelte-kit/output/client/_app/immutable/chunks/DISKL3GN.js +2 -0
- package/web/.svelte-kit/output/client/_app/immutable/chunks/{Zeh-C-mx.js → DcpaLzmX.js} +1 -1
- package/web/.svelte-kit/output/client/_app/immutable/chunks/DnQ3vS13.js +1 -0
- package/web/.svelte-kit/output/client/_app/immutable/chunks/KsloHTKS.js +1 -0
- package/{dist/web/_app/immutable/chunks/Ck-be5J2.js → web/.svelte-kit/output/client/_app/immutable/chunks/RsHsUj-8.js} +2 -2
- package/web/.svelte-kit/output/client/_app/immutable/chunks/{G_zz-Gou.js → wpfV79dV.js} +1 -1
- package/web/.svelte-kit/output/client/_app/immutable/entry/app.CIw1Qj0n.js +2 -0
- package/web/.svelte-kit/output/client/_app/immutable/entry/start.Di0-Jhte.js +1 -0
- package/web/.svelte-kit/output/client/_app/immutable/nodes/{0.CYS8iApT.js → 0.DYyUA1au.js} +1 -1
- package/web/.svelte-kit/output/client/_app/immutable/nodes/1.D-3QEMMZ.js +1 -0
- package/web/.svelte-kit/output/client/_app/immutable/nodes/{2.BnwnD1Ki.js → 2.4olHnH7U.js} +1 -1
- package/{dist/web/_app/immutable/nodes/3.Dr0ot9sV.js → web/.svelte-kit/output/client/_app/immutable/nodes/3.4w0bE-m2.js} +3 -3
- package/web/.svelte-kit/output/client/_app/immutable/nodes/4.CZvjhVHt.js +60 -0
- package/web/.svelte-kit/output/client/_app/immutable/nodes/{5.BBGQ_i84.js → 5.DLbPVJY2.js} +1 -1
- package/web/.svelte-kit/output/client/_app/version.json +1 -1
- package/web/.svelte-kit/output/server/.vite/manifest.json +12 -10
- package/web/.svelte-kit/output/server/chunks/Icon.js +1 -1
- package/web/.svelte-kit/output/server/chunks/client.js +1 -1
- package/web/.svelte-kit/output/server/chunks/exports.js +1 -1
- package/web/.svelte-kit/output/server/chunks/index-server.js +2 -1
- package/web/.svelte-kit/output/server/chunks/internal.js +1 -1
- package/web/.svelte-kit/output/server/chunks/render-context.js +77 -0
- package/web/.svelte-kit/output/server/chunks/root.js +739 -788
- package/web/.svelte-kit/output/server/chunks/shared.js +234 -21
- package/web/.svelte-kit/output/server/index.js +126 -90
- package/web/.svelte-kit/output/server/manifest-full.js +1 -1
- package/web/.svelte-kit/output/server/manifest.js +1 -1
- package/web/.svelte-kit/output/server/nodes/0.js +1 -1
- package/web/.svelte-kit/output/server/nodes/1.js +1 -1
- package/web/.svelte-kit/output/server/nodes/2.js +1 -1
- package/web/.svelte-kit/output/server/nodes/3.js +1 -1
- package/web/.svelte-kit/output/server/nodes/4.js +1 -1
- package/web/.svelte-kit/output/server/nodes/5.js +1 -1
- package/web/.svelte-kit/output/server/remote-entry.js +245 -81
- package/web/.svelte-kit/tsconfig.json +4 -1
- package/dist/cli/propose-policy.mjs.map +0 -1
- package/dist/lite-CBxOT1y5.mjs +0 -241
- package/dist/lite-CBxOT1y5.mjs.map +0 -1
- package/dist/routing-D8rTxtaV.mjs +0 -245
- package/dist/routing-D8rTxtaV.mjs.map +0 -1
- package/dist/web/_app/immutable/chunks/B6YN0Nuq.js +0 -1
- package/dist/web/_app/immutable/chunks/BmRlVmv6.js +0 -1
- package/dist/web/_app/immutable/chunks/CK9JZLaG.js +0 -2
- package/dist/web/_app/immutable/chunks/Ck3rYNON.js +0 -1
- package/dist/web/_app/immutable/chunks/DMtIqaiV.js +0 -2
- package/dist/web/_app/immutable/chunks/DhD271EB.js +0 -1
- package/dist/web/_app/immutable/chunks/DpuLqk8d.js +0 -1
- package/dist/web/_app/immutable/chunks/DsIToJCP.js +0 -1
- package/dist/web/_app/immutable/chunks/bBmtyQMj.js +0 -1
- package/dist/web/_app/immutable/entry/app.CJmSwntr.js +0 -2
- package/dist/web/_app/immutable/entry/start.ZpUrT2ak.js +0 -1
- package/dist/web/_app/immutable/nodes/1.Bli0Hqzn.js +0 -1
- package/dist/web/_app/immutable/nodes/4.oBhvQhcA.js +0 -60
- package/dist/workspace-BJmJBfKi.mjs +0 -456
- package/dist/workspace-BJmJBfKi.mjs.map +0 -1
- package/src/cli/e2e/agents.test.ts +0 -140
- package/src/cli/e2e/basic.test.ts +0 -43
- package/src/cli/e2e/cron.test.ts +0 -132
- package/src/cli/e2e/export-lite-func.test.ts +0 -206
- package/src/cli/e2e/fallbacks.test.ts +0 -175
- package/src/cli/e2e/init.test.ts +0 -77
- package/src/cli/e2e/messages.test.ts +0 -332
- package/src/cli/e2e/propose-policy.test.ts +0 -203
- package/src/cli/e2e/requests.test.ts +0 -180
- package/src/cli/e2e/session-timeout.test.ts +0 -192
- package/src/cli/e2e/slash-new.test.ts +0 -93
- package/src/cli/e2e/subagents.test.ts +0 -106
- package/src/cli/e2e/utils.ts +0 -66
- package/src/cli/propose-policy.ts +0 -91
- package/web/.svelte-kit/output/client/_app/immutable/chunks/B6YN0Nuq.js +0 -1
- package/web/.svelte-kit/output/client/_app/immutable/chunks/BmRlVmv6.js +0 -1
- package/web/.svelte-kit/output/client/_app/immutable/chunks/CK9JZLaG.js +0 -2
- package/web/.svelte-kit/output/client/_app/immutable/chunks/Ck3rYNON.js +0 -1
- package/web/.svelte-kit/output/client/_app/immutable/chunks/DMtIqaiV.js +0 -2
- package/web/.svelte-kit/output/client/_app/immutable/chunks/DhD271EB.js +0 -1
- package/web/.svelte-kit/output/client/_app/immutable/chunks/DpuLqk8d.js +0 -1
- package/web/.svelte-kit/output/client/_app/immutable/chunks/DsIToJCP.js +0 -1
- package/web/.svelte-kit/output/client/_app/immutable/chunks/bBmtyQMj.js +0 -1
- package/web/.svelte-kit/output/client/_app/immutable/entry/app.CJmSwntr.js +0 -2
- package/web/.svelte-kit/output/client/_app/immutable/entry/start.ZpUrT2ak.js +0 -1
- package/web/.svelte-kit/output/client/_app/immutable/nodes/1.Bli0Hqzn.js +0 -1
- package/web/.svelte-kit/output/client/_app/immutable/nodes/4.oBhvQhcA.js +0 -60
- package/web/.svelte-kit/output/server/chunks/false.js +0 -4
- /package/dist/cli/{propose-policy.d.mts → manage-policies.d.mts} +0 -0
- /package/{src/cli/e2e → e2e/_helpers}/global-setup.ts +0 -0
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import{b as Kt,c as at,a as w,f as L,t as Jt}from"../chunks/BmRlVmv6.js";import{a as Ar}from"../chunks/DhD271EB.js";import{h as Rt,i as Hn,M as ft,t as ue,d as Bn,L as Rr,aO as Lr,k as Gn,S as Ir,aD as Cr,aK as Dr,aE as Or,J as Mr,aP as Nr,aQ as Pr,f as Ce,p as Ft,a as Ut,F as zr,r as y,w as u,G as un,c as S,I as Ne,l as Wn,n as st,D as O,aN as en,s as q,C as qe}from"../chunks/CME08kGM.js";import{s as ke,d as $r,e as qn,a as tn}from"../chunks/DMtIqaiV.js";import{l as mn,s as kn,p as nn,b as or,r as Fr,i as J}from"../chunks/B6YN0Nuq.js";import{I as xn,s as bn,a as Ur,d as Hr,c as Br,e as jn,B as Lt,h as je}from"../chunks/CK9JZLaG.js";import{i as It}from"../chunks/bBmtyQMj.js";import{a as Ze}from"../chunks/DsIToJCP.js";import"../chunks/Ck3rYNON.js";function Gr(s,e,n=!1,r=!1,t=!1,o=!1){var i=s,p="";if(n){var c=s;Rt&&(i=Hn(ft(c)))}ue(()=>{var g=Rr;if(p===(p=e()??"")){Rt&&Bn();return}if(n&&!Rt){g.nodes=null,c.innerHTML=p,p!==""&&Kt(ft(c),c.lastChild);return}if(g.nodes!==null&&(Lr(g.nodes.start,g.nodes.end),g.nodes=null),p!==""){if(Rt){Gn.data;for(var f=Bn(),b=f;f!==null&&(f.nodeType!==Ir||f.data!=="");)b=f,f=Cr(f);if(f===null)throw Dr(),Or;Kt(Gn,b),i=Hn(f);return}var v=r?Nr:t?Pr:void 0,C=Mr(r?"svg":t?"math":"template",v);C.innerHTML=p;var E=r||t?C:C.content;if(Kt(ft(E),E.lastChild),r||t)for(;ft(E);)i.before(ft(E));else i.before(E)}})}function Wr(s,e){const n=mn(e,["children","$$slots","$$events","$$legacy"]);const r=[["circle",{cx:"12",cy:"12",r:"10"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16"}]];xn(s,kn({name:"circle-alert"},()=>n,{get iconNode(){return r},children:(t,o)=>{var i=at(),p=Ce(i);bn(p,e,"default",{}),w(t,i)},$$slots:{default:!0}}))}function qr(s,e){const n=mn(e,["children","$$slots","$$events","$$legacy"]);const r=[["circle",{cx:"12",cy:"12",r:"10"}],["path",{d:"M12 6v6l4 2"}]];xn(s,kn({name:"clock"},()=>n,{get iconNode(){return r},children:(t,o)=>{var i=at(),p=Ce(i);bn(p,e,"default",{}),w(t,i)},$$slots:{default:!0}}))}function jr(s,e){const n=mn(e,["children","$$slots","$$events","$$legacy"]);const r=[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z"}],["path",{d:"m21.854 2.147-10.94 10.939"}]];xn(s,kn({name:"send"},()=>n,{get iconNode(){return r},children:(t,o)=>{var i=at(),p=Ce(i);bn(p,e,"default",{}),w(t,i)},$$slots:{default:!0}}))}const Zr=async({params:s,fetch:e,depends:n})=>{const{id:r}=s;n(`app:chat:${r}`);try{const t=await e(`/api/chats/${r}`);if(t.ok){const o=await t.json();return{id:r,messages:o}}}catch(t){console.error(t)}return{id:r,messages:[]}},Za=Object.freeze(Object.defineProperty({__proto__:null,load:Zr},Symbol.toStringTag,{value:"Module"}));var Yr=L("<textarea></textarea>");function Xr(s,e){Ft(e,!0);let n=nn(e,"ref",15,null),r=nn(e,"value",15),t=nn(e,"data-slot",3,"textarea"),o=Fr(e,["$$slots","$$events","$$legacy","ref","value","class","data-slot"]);var i=Yr();zr(i),Ur(i,p=>({"data-slot":t(),class:p,...o}),[()=>Br("border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e.class)]),or(i,p=>n(p),()=>n()),Hr(i,r),w(s,i),Ut()}function vn(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var Ve=vn();function lr(s){Ve=s}var Ye={exec:()=>null};function A(s,e=""){let n=typeof s=="string"?s:s.source,r={replace:(t,o)=>{let i=typeof o=="string"?o:o.source;return i=i.replace(pe.caret,"$1"),n=n.replace(t,i),r},getRegex:()=>new RegExp(n,e)};return r}var Vr=(()=>{try{return!!new RegExp("(?<=1)(?<!1)")}catch{return!1}})(),pe={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:s=>new RegExp(`^( {0,3}${s})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:s=>new RegExp(`^ {0,${Math.min(3,s-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:s=>new RegExp(`^ {0,${Math.min(3,s-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:s=>new RegExp(`^ {0,${Math.min(3,s-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:s=>new RegExp(`^ {0,${Math.min(3,s-1)}}#`),htmlBeginRegex:s=>new RegExp(`^ {0,${Math.min(3,s-1)}}<(?:[a-z].*>|!--)`,"i"),blockquoteBeginRegex:s=>new RegExp(`^ {0,${Math.min(3,s-1)}}>`)},Qr=/^(?:[ \t]*(?:\n|$))+/,Kr=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,Jr=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,yt=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,es=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,_n=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,cr=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,ur=A(cr).replace(/bull/g,_n).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),ts=A(cr).replace(/bull/g,_n).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),wn=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,ns=/^[^\n]+/,Tn=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,rs=A(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",Tn).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),ss=A(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,_n).getRegex(),Ht="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",yn=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,as=A("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",yn).replace("tag",Ht).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),pr=A(wn).replace("hr",yt).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Ht).getRegex(),is=A(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",pr).getRegex(),Sn={blockquote:is,code:Kr,def:rs,fences:Jr,heading:es,hr:yt,html:as,lheading:ur,list:ss,newline:Qr,paragraph:pr,table:Ye,text:ns},Zn=A("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",yt).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Ht).getRegex(),os={...Sn,lheading:ts,table:Zn,paragraph:A(wn).replace("hr",yt).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",Zn).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Ht).getRegex()},ls={...Sn,html:A(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",yn).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:Ye,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:A(wn).replace("hr",yt).replace("heading",` *#{1,6} *[^
|
|
2
|
-
]`).replace("lheading",ur).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},cs=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,us=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,dr=/^( {2,}|\\)\n(?!\s*$)/,ps=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,it=/[\p{P}\p{S}]/u,Bt=/[\s\p{P}\p{S}]/u,En=/[^\s\p{P}\p{S}]/u,ds=A(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,Bt).getRegex(),hr=/(?!~)[\p{P}\p{S}]/u,hs=/(?!~)[\s\p{P}\p{S}]/u,fs=/(?:[^\s\p{P}\p{S}]|~)/u,gs=A(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",Vr?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),fr=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,ms=A(fr,"u").replace(/punct/g,it).getRegex(),ks=A(fr,"u").replace(/punct/g,hr).getRegex(),gr="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",xs=A(gr,"gu").replace(/notPunctSpace/g,En).replace(/punctSpace/g,Bt).replace(/punct/g,it).getRegex(),bs=A(gr,"gu").replace(/notPunctSpace/g,fs).replace(/punctSpace/g,hs).replace(/punct/g,hr).getRegex(),vs=A("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,En).replace(/punctSpace/g,Bt).replace(/punct/g,it).getRegex(),_s=A(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,it).getRegex(),ws="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",Ts=A(ws,"gu").replace(/notPunctSpace/g,En).replace(/punctSpace/g,Bt).replace(/punct/g,it).getRegex(),ys=A(/\\(punct)/,"gu").replace(/punct/g,it).getRegex(),Ss=A(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),Es=A(yn).replace("(?:-->|$)","-->").getRegex(),As=A("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",Es).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),Pt=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,Rs=A(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",Pt).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),mr=A(/^!?\[(label)\]\[(ref)\]/).replace("label",Pt).replace("ref",Tn).getRegex(),kr=A(/^!?\[(ref)\](?:\[\])?/).replace("ref",Tn).getRegex(),Ls=A("reflink|nolink(?!\\()","g").replace("reflink",mr).replace("nolink",kr).getRegex(),Yn=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,An={_backpedal:Ye,anyPunctuation:ys,autolink:Ss,blockSkip:gs,br:dr,code:us,del:Ye,delLDelim:Ye,delRDelim:Ye,emStrongLDelim:ms,emStrongRDelimAst:xs,emStrongRDelimUnd:vs,escape:cs,link:Rs,nolink:kr,punctuation:ds,reflink:mr,reflinkSearch:Ls,tag:As,text:ps,url:Ye},Is={...An,link:A(/^!?\[(label)\]\((.*?)\)/).replace("label",Pt).getRegex(),reflink:A(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Pt).getRegex()},pn={...An,emStrongRDelimAst:bs,emStrongLDelim:ks,delLDelim:_s,delRDelim:Ts,url:A(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",Yn).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:A(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",Yn).getRegex()},Cs={...pn,br:A(dr).replace("{2,}","*").getRegex(),text:A(pn.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},Ct={normal:Sn,gfm:os,pedantic:ls},gt={normal:An,gfm:pn,breaks:Cs,pedantic:Is},Ds={"&":"&","<":"<",">":">",'"':""","'":"'"},Xn=s=>Ds[s];function Le(s,e){if(e){if(pe.escapeTest.test(s))return s.replace(pe.escapeReplace,Xn)}else if(pe.escapeTestNoEncode.test(s))return s.replace(pe.escapeReplaceNoEncode,Xn);return s}function Vn(s){try{s=encodeURI(s).replace(pe.percentDecode,"%")}catch{return null}return s}function Qn(s,e){let n=s.replace(pe.findPipe,(o,i,p)=>{let c=!1,g=i;for(;--g>=0&&p[g]==="\\";)c=!c;return c?"|":" |"}),r=n.split(pe.splitPipe),t=0;if(r[0].trim()||r.shift(),r.length>0&&!r.at(-1)?.trim()&&r.pop(),e)if(r.length>e)r.splice(e);else for(;r.length<e;)r.push("");for(;t<r.length;t++)r[t]=r[t].trim().replace(pe.slashPipe,"|");return r}function mt(s,e,n){let r=s.length;if(r===0)return"";let t=0;for(;t<r&&s.charAt(r-t-1)===e;)t++;return s.slice(0,r-t)}function Os(s,e){if(s.indexOf(e[1])===-1)return-1;let n=0;for(let r=0;r<s.length;r++)if(s[r]==="\\")r++;else if(s[r]===e[0])n++;else if(s[r]===e[1]&&(n--,n<0))return r;return n>0?-2:-1}function Ms(s,e=0){let n=e,r="";for(let t of s)if(t===" "){let o=4-n%4;r+=" ".repeat(o),n+=o}else r+=t,n++;return r}function Kn(s,e,n,r,t){let o=e.href,i=e.title||null,p=s[1].replace(t.other.outputLinkReplace,"$1");r.state.inLink=!0;let c={type:s[0].charAt(0)==="!"?"image":"link",raw:n,href:o,title:i,text:p,tokens:r.inlineTokens(p)};return r.state.inLink=!1,c}function Ns(s,e,n){let r=s.match(n.other.indentCodeCompensation);if(r===null)return e;let t=r[1];return e.split(`
|
|
3
|
-
`).map(o=>{let i=o.match(n.other.beginningSpace);if(i===null)return o;let[p]=i;return p.length>=t.length?o.slice(t.length):o}).join(`
|
|
4
|
-
`)}var zt=class{options;rules;lexer;constructor(s){this.options=s||Ve}space(s){let e=this.rules.block.newline.exec(s);if(e&&e[0].length>0)return{type:"space",raw:e[0]}}code(s){let e=this.rules.block.code.exec(s);if(e){let n=e[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:e[0],codeBlockStyle:"indented",text:this.options.pedantic?n:mt(n,`
|
|
5
|
-
`)}}}fences(s){let e=this.rules.block.fences.exec(s);if(e){let n=e[0],r=Ns(n,e[3]||"",this.rules);return{type:"code",raw:n,lang:e[2]?e[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):e[2],text:r}}}heading(s){let e=this.rules.block.heading.exec(s);if(e){let n=e[2].trim();if(this.rules.other.endingHash.test(n)){let r=mt(n,"#");(this.options.pedantic||!r||this.rules.other.endingSpaceChar.test(r))&&(n=r.trim())}return{type:"heading",raw:e[0],depth:e[1].length,text:n,tokens:this.lexer.inline(n)}}}hr(s){let e=this.rules.block.hr.exec(s);if(e)return{type:"hr",raw:mt(e[0],`
|
|
6
|
-
`)}}blockquote(s){let e=this.rules.block.blockquote.exec(s);if(e){let n=mt(e[0],`
|
|
7
|
-
`).split(`
|
|
8
|
-
`),r="",t="",o=[];for(;n.length>0;){let i=!1,p=[],c;for(c=0;c<n.length;c++)if(this.rules.other.blockquoteStart.test(n[c]))p.push(n[c]),i=!0;else if(!i)p.push(n[c]);else break;n=n.slice(c);let g=p.join(`
|
|
9
|
-
`),f=g.replace(this.rules.other.blockquoteSetextReplace,`
|
|
10
|
-
$1`).replace(this.rules.other.blockquoteSetextReplace2,"");r=r?`${r}
|
|
11
|
-
${g}`:g,t=t?`${t}
|
|
12
|
-
${f}`:f;let b=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(f,o,!0),this.lexer.state.top=b,n.length===0)break;let v=o.at(-1);if(v?.type==="code")break;if(v?.type==="blockquote"){let C=v,E=C.raw+`
|
|
13
|
-
`+n.join(`
|
|
14
|
-
`),fe=this.blockquote(E);o[o.length-1]=fe,r=r.substring(0,r.length-C.raw.length)+fe.raw,t=t.substring(0,t.length-C.text.length)+fe.text;break}else if(v?.type==="list"){let C=v,E=C.raw+`
|
|
15
|
-
`+n.join(`
|
|
16
|
-
`),fe=this.list(E);o[o.length-1]=fe,r=r.substring(0,r.length-v.raw.length)+fe.raw,t=t.substring(0,t.length-C.raw.length)+fe.raw,n=E.substring(o.at(-1).raw.length).split(`
|
|
17
|
-
`);continue}}return{type:"blockquote",raw:r,tokens:o,text:t}}}list(s){let e=this.rules.block.list.exec(s);if(e){let n=e[1].trim(),r=n.length>1,t={type:"list",raw:"",ordered:r,start:r?+n.slice(0,-1):"",loose:!1,items:[]};n=r?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=r?n:"[*+-]");let o=this.rules.other.listItemRegex(n),i=!1;for(;s;){let c=!1,g="",f="";if(!(e=o.exec(s))||this.rules.block.hr.test(s))break;g=e[0],s=s.substring(g.length);let b=Ms(e[2].split(`
|
|
18
|
-
`,1)[0],e[1].length),v=s.split(`
|
|
19
|
-
`,1)[0],C=!b.trim(),E=0;if(this.options.pedantic?(E=2,f=b.trimStart()):C?E=e[1].length+1:(E=b.search(this.rules.other.nonSpaceChar),E=E>4?1:E,f=b.slice(E),E+=e[1].length),C&&this.rules.other.blankLine.test(v)&&(g+=v+`
|
|
20
|
-
`,s=s.substring(v.length+1),c=!0),!c){let fe=this.rules.other.nextBulletRegex(E),Qe=this.rules.other.hrRegex(E),Ke=this.rules.other.fencesBeginRegex(E),Pe=this.rules.other.headingBeginRegex(E),le=this.rules.other.htmlBeginRegex(E),j=this.rules.other.blockquoteBeginRegex(E);for(;s;){let xe=s.split(`
|
|
21
|
-
`,1)[0],ve;if(v=xe,this.options.pedantic?(v=v.replace(this.rules.other.listReplaceNesting," "),ve=v):ve=v.replace(this.rules.other.tabCharGlobal," "),Ke.test(v)||Pe.test(v)||le.test(v)||j.test(v)||fe.test(v)||Qe.test(v))break;if(ve.search(this.rules.other.nonSpaceChar)>=E||!v.trim())f+=`
|
|
22
|
-
`+ve.slice(E);else{if(C||b.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||Ke.test(b)||Pe.test(b)||Qe.test(b))break;f+=`
|
|
23
|
-
`+v}C=!v.trim(),g+=xe+`
|
|
24
|
-
`,s=s.substring(xe.length+1),b=ve.slice(E)}}t.loose||(i?t.loose=!0:this.rules.other.doubleBlankLine.test(g)&&(i=!0)),t.items.push({type:"list_item",raw:g,task:!!this.options.gfm&&this.rules.other.listIsTask.test(f),loose:!1,text:f,tokens:[]}),t.raw+=g}let p=t.items.at(-1);if(p)p.raw=p.raw.trimEnd(),p.text=p.text.trimEnd();else return;t.raw=t.raw.trimEnd();for(let c of t.items){if(this.lexer.state.top=!1,c.tokens=this.lexer.blockTokens(c.text,[]),c.task){if(c.text=c.text.replace(this.rules.other.listReplaceTask,""),c.tokens[0]?.type==="text"||c.tokens[0]?.type==="paragraph"){c.tokens[0].raw=c.tokens[0].raw.replace(this.rules.other.listReplaceTask,""),c.tokens[0].text=c.tokens[0].text.replace(this.rules.other.listReplaceTask,"");for(let f=this.lexer.inlineQueue.length-1;f>=0;f--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[f].src)){this.lexer.inlineQueue[f].src=this.lexer.inlineQueue[f].src.replace(this.rules.other.listReplaceTask,"");break}}let g=this.rules.other.listTaskCheckbox.exec(c.raw);if(g){let f={type:"checkbox",raw:g[0]+" ",checked:g[0]!=="[ ]"};c.checked=f.checked,t.loose?c.tokens[0]&&["paragraph","text"].includes(c.tokens[0].type)&&"tokens"in c.tokens[0]&&c.tokens[0].tokens?(c.tokens[0].raw=f.raw+c.tokens[0].raw,c.tokens[0].text=f.raw+c.tokens[0].text,c.tokens[0].tokens.unshift(f)):c.tokens.unshift({type:"paragraph",raw:f.raw,text:f.raw,tokens:[f]}):c.tokens.unshift(f)}}if(!t.loose){let g=c.tokens.filter(b=>b.type==="space"),f=g.length>0&&g.some(b=>this.rules.other.anyLine.test(b.raw));t.loose=f}}if(t.loose)for(let c of t.items){c.loose=!0;for(let g of c.tokens)g.type==="text"&&(g.type="paragraph")}return t}}html(s){let e=this.rules.block.html.exec(s);if(e)return{type:"html",block:!0,raw:e[0],pre:e[1]==="pre"||e[1]==="script"||e[1]==="style",text:e[0]}}def(s){let e=this.rules.block.def.exec(s);if(e){let n=e[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),r=e[2]?e[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",t=e[3]?e[3].substring(1,e[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):e[3];return{type:"def",tag:n,raw:e[0],href:r,title:t}}}table(s){let e=this.rules.block.table.exec(s);if(!e||!this.rules.other.tableDelimiter.test(e[2]))return;let n=Qn(e[1]),r=e[2].replace(this.rules.other.tableAlignChars,"").split("|"),t=e[3]?.trim()?e[3].replace(this.rules.other.tableRowBlankLine,"").split(`
|
|
25
|
-
`):[],o={type:"table",raw:e[0],header:[],align:[],rows:[]};if(n.length===r.length){for(let i of r)this.rules.other.tableAlignRight.test(i)?o.align.push("right"):this.rules.other.tableAlignCenter.test(i)?o.align.push("center"):this.rules.other.tableAlignLeft.test(i)?o.align.push("left"):o.align.push(null);for(let i=0;i<n.length;i++)o.header.push({text:n[i],tokens:this.lexer.inline(n[i]),header:!0,align:o.align[i]});for(let i of t)o.rows.push(Qn(i,o.header.length).map((p,c)=>({text:p,tokens:this.lexer.inline(p),header:!1,align:o.align[c]})));return o}}lheading(s){let e=this.rules.block.lheading.exec(s);if(e){let n=e[1].trim();return{type:"heading",raw:e[0],depth:e[2].charAt(0)==="="?1:2,text:n,tokens:this.lexer.inline(n)}}}paragraph(s){let e=this.rules.block.paragraph.exec(s);if(e){let n=e[1].charAt(e[1].length-1)===`
|
|
26
|
-
`?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:n,tokens:this.lexer.inline(n)}}}text(s){let e=this.rules.block.text.exec(s);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(s){let e=this.rules.inline.escape.exec(s);if(e)return{type:"escape",raw:e[0],text:e[1]}}tag(s){let e=this.rules.inline.tag.exec(s);if(e)return!this.lexer.state.inLink&&this.rules.other.startATag.test(e[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(e[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(e[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(e[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:e[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:e[0]}}link(s){let e=this.rules.inline.link.exec(s);if(e){let n=e[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(n)){if(!this.rules.other.endAngleBracket.test(n))return;let o=mt(n.slice(0,-1),"\\");if((n.length-o.length)%2===0)return}else{let o=Os(e[2],"()");if(o===-2)return;if(o>-1){let i=(e[0].indexOf("!")===0?5:4)+e[1].length+o;e[2]=e[2].substring(0,o),e[0]=e[0].substring(0,i).trim(),e[3]=""}}let r=e[2],t="";if(this.options.pedantic){let o=this.rules.other.pedanticHrefTitle.exec(r);o&&(r=o[1],t=o[3])}else t=e[3]?e[3].slice(1,-1):"";return r=r.trim(),this.rules.other.startAngleBracket.test(r)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(n)?r=r.slice(1):r=r.slice(1,-1)),Kn(e,{href:r&&r.replace(this.rules.inline.anyPunctuation,"$1"),title:t&&t.replace(this.rules.inline.anyPunctuation,"$1")},e[0],this.lexer,this.rules)}}reflink(s,e){let n;if((n=this.rules.inline.reflink.exec(s))||(n=this.rules.inline.nolink.exec(s))){let r=(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal," "),t=e[r.toLowerCase()];if(!t){let o=n[0].charAt(0);return{type:"text",raw:o,text:o}}return Kn(n,t,n[0],this.lexer,this.rules)}}emStrong(s,e,n=""){let r=this.rules.inline.emStrongLDelim.exec(s);if(!(!r||!r[1]&&!r[2]&&!r[3]&&!r[4]||r[4]&&n.match(this.rules.other.unicodeAlphaNumeric))&&(!(r[1]||r[3])||!n||this.rules.inline.punctuation.exec(n))){let t=[...r[0]].length-1,o,i,p=t,c=0,g=r[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(g.lastIndex=0,e=e.slice(-1*s.length+t);(r=g.exec(e))!=null;){if(o=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!o)continue;if(i=[...o].length,r[3]||r[4]){p+=i;continue}else if((r[5]||r[6])&&t%3&&!((t+i)%3)){c+=i;continue}if(p-=i,p>0)continue;i=Math.min(i,i+p+c);let f=[...r[0]][0].length,b=s.slice(0,t+r.index+f+i);if(Math.min(t,i)%2){let C=b.slice(1,-1);return{type:"em",raw:b,text:C,tokens:this.lexer.inlineTokens(C)}}let v=b.slice(2,-2);return{type:"strong",raw:b,text:v,tokens:this.lexer.inlineTokens(v)}}}}codespan(s){let e=this.rules.inline.code.exec(s);if(e){let n=e[2].replace(this.rules.other.newLineCharGlobal," "),r=this.rules.other.nonSpaceChar.test(n),t=this.rules.other.startingSpaceChar.test(n)&&this.rules.other.endingSpaceChar.test(n);return r&&t&&(n=n.substring(1,n.length-1)),{type:"codespan",raw:e[0],text:n}}}br(s){let e=this.rules.inline.br.exec(s);if(e)return{type:"br",raw:e[0]}}del(s,e,n=""){let r=this.rules.inline.delLDelim.exec(s);if(r&&(!r[1]||!n||this.rules.inline.punctuation.exec(n))){let t=[...r[0]].length-1,o,i,p=t,c=this.rules.inline.delRDelim;for(c.lastIndex=0,e=e.slice(-1*s.length+t);(r=c.exec(e))!=null;){if(o=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!o||(i=[...o].length,i!==t))continue;if(r[3]||r[4]){p+=i;continue}if(p-=i,p>0)continue;i=Math.min(i,i+p);let g=[...r[0]][0].length,f=s.slice(0,t+r.index+g+i),b=f.slice(t,-t);return{type:"del",raw:f,text:b,tokens:this.lexer.inlineTokens(b)}}}}autolink(s){let e=this.rules.inline.autolink.exec(s);if(e){let n,r;return e[2]==="@"?(n=e[1],r="mailto:"+n):(n=e[1],r=n),{type:"link",raw:e[0],text:n,href:r,tokens:[{type:"text",raw:n,text:n}]}}}url(s){let e;if(e=this.rules.inline.url.exec(s)){let n,r;if(e[2]==="@")n=e[0],r="mailto:"+n;else{let t;do t=e[0],e[0]=this.rules.inline._backpedal.exec(e[0])?.[0]??"";while(t!==e[0]);n=e[0],e[1]==="www."?r="http://"+e[0]:r=e[0]}return{type:"link",raw:e[0],text:n,href:r,tokens:[{type:"text",raw:n,text:n}]}}}inlineText(s){let e=this.rules.inline.text.exec(s);if(e){let n=this.lexer.state.inRawBlock;return{type:"text",raw:e[0],text:e[0],escaped:n}}}},ye=class dn{tokens;options;state;inlineQueue;tokenizer;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||Ve,this.options.tokenizer=this.options.tokenizer||new zt,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let n={other:pe,block:Ct.normal,inline:gt.normal};this.options.pedantic?(n.block=Ct.pedantic,n.inline=gt.pedantic):this.options.gfm&&(n.block=Ct.gfm,this.options.breaks?n.inline=gt.breaks:n.inline=gt.gfm),this.tokenizer.rules=n}static get rules(){return{block:Ct,inline:gt}}static lex(e,n){return new dn(n).lex(e)}static lexInline(e,n){return new dn(n).inlineTokens(e)}lex(e){e=e.replace(pe.carriageReturn,`
|
|
27
|
-
`),this.blockTokens(e,this.tokens);for(let n=0;n<this.inlineQueue.length;n++){let r=this.inlineQueue[n];this.inlineTokens(r.src,r.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,n=[],r=!1){for(this.tokenizer.lexer=this,this.options.pedantic&&(e=e.replace(pe.tabCharGlobal," ").replace(pe.spaceLine,""));e;){let t;if(this.options.extensions?.block?.some(i=>(t=i.call({lexer:this},e,n))?(e=e.substring(t.raw.length),n.push(t),!0):!1))continue;if(t=this.tokenizer.space(e)){e=e.substring(t.raw.length);let i=n.at(-1);t.raw.length===1&&i!==void 0?i.raw+=`
|
|
28
|
-
`:n.push(t);continue}if(t=this.tokenizer.code(e)){e=e.substring(t.raw.length);let i=n.at(-1);i?.type==="paragraph"||i?.type==="text"?(i.raw+=(i.raw.endsWith(`
|
|
29
|
-
`)?"":`
|
|
30
|
-
`)+t.raw,i.text+=`
|
|
31
|
-
`+t.text,this.inlineQueue.at(-1).src=i.text):n.push(t);continue}if(t=this.tokenizer.fences(e)){e=e.substring(t.raw.length),n.push(t);continue}if(t=this.tokenizer.heading(e)){e=e.substring(t.raw.length),n.push(t);continue}if(t=this.tokenizer.hr(e)){e=e.substring(t.raw.length),n.push(t);continue}if(t=this.tokenizer.blockquote(e)){e=e.substring(t.raw.length),n.push(t);continue}if(t=this.tokenizer.list(e)){e=e.substring(t.raw.length),n.push(t);continue}if(t=this.tokenizer.html(e)){e=e.substring(t.raw.length),n.push(t);continue}if(t=this.tokenizer.def(e)){e=e.substring(t.raw.length);let i=n.at(-1);i?.type==="paragraph"||i?.type==="text"?(i.raw+=(i.raw.endsWith(`
|
|
32
|
-
`)?"":`
|
|
33
|
-
`)+t.raw,i.text+=`
|
|
34
|
-
`+t.raw,this.inlineQueue.at(-1).src=i.text):this.tokens.links[t.tag]||(this.tokens.links[t.tag]={href:t.href,title:t.title},n.push(t));continue}if(t=this.tokenizer.table(e)){e=e.substring(t.raw.length),n.push(t);continue}if(t=this.tokenizer.lheading(e)){e=e.substring(t.raw.length),n.push(t);continue}let o=e;if(this.options.extensions?.startBlock){let i=1/0,p=e.slice(1),c;this.options.extensions.startBlock.forEach(g=>{c=g.call({lexer:this},p),typeof c=="number"&&c>=0&&(i=Math.min(i,c))}),i<1/0&&i>=0&&(o=e.substring(0,i+1))}if(this.state.top&&(t=this.tokenizer.paragraph(o))){let i=n.at(-1);r&&i?.type==="paragraph"?(i.raw+=(i.raw.endsWith(`
|
|
35
|
-
`)?"":`
|
|
36
|
-
`)+t.raw,i.text+=`
|
|
37
|
-
`+t.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=i.text):n.push(t),r=o.length!==e.length,e=e.substring(t.raw.length);continue}if(t=this.tokenizer.text(e)){e=e.substring(t.raw.length);let i=n.at(-1);i?.type==="text"?(i.raw+=(i.raw.endsWith(`
|
|
38
|
-
`)?"":`
|
|
39
|
-
`)+t.raw,i.text+=`
|
|
40
|
-
`+t.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=i.text):n.push(t);continue}if(e){let i="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(i);break}else throw new Error(i)}}return this.state.top=!0,n}inline(e,n=[]){return this.inlineQueue.push({src:e,tokens:n}),n}inlineTokens(e,n=[]){this.tokenizer.lexer=this;let r=e,t=null;if(this.tokens.links){let c=Object.keys(this.tokens.links);if(c.length>0)for(;(t=this.tokenizer.rules.inline.reflinkSearch.exec(r))!=null;)c.includes(t[0].slice(t[0].lastIndexOf("[")+1,-1))&&(r=r.slice(0,t.index)+"["+"a".repeat(t[0].length-2)+"]"+r.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(t=this.tokenizer.rules.inline.anyPunctuation.exec(r))!=null;)r=r.slice(0,t.index)+"++"+r.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let o;for(;(t=this.tokenizer.rules.inline.blockSkip.exec(r))!=null;)o=t[2]?t[2].length:0,r=r.slice(0,t.index+o)+"["+"a".repeat(t[0].length-o-2)+"]"+r.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);r=this.options.hooks?.emStrongMask?.call({lexer:this},r)??r;let i=!1,p="";for(;e;){i||(p=""),i=!1;let c;if(this.options.extensions?.inline?.some(f=>(c=f.call({lexer:this},e,n))?(e=e.substring(c.raw.length),n.push(c),!0):!1))continue;if(c=this.tokenizer.escape(e)){e=e.substring(c.raw.length),n.push(c);continue}if(c=this.tokenizer.tag(e)){e=e.substring(c.raw.length),n.push(c);continue}if(c=this.tokenizer.link(e)){e=e.substring(c.raw.length),n.push(c);continue}if(c=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(c.raw.length);let f=n.at(-1);c.type==="text"&&f?.type==="text"?(f.raw+=c.raw,f.text+=c.text):n.push(c);continue}if(c=this.tokenizer.emStrong(e,r,p)){e=e.substring(c.raw.length),n.push(c);continue}if(c=this.tokenizer.codespan(e)){e=e.substring(c.raw.length),n.push(c);continue}if(c=this.tokenizer.br(e)){e=e.substring(c.raw.length),n.push(c);continue}if(c=this.tokenizer.del(e,r,p)){e=e.substring(c.raw.length),n.push(c);continue}if(c=this.tokenizer.autolink(e)){e=e.substring(c.raw.length),n.push(c);continue}if(!this.state.inLink&&(c=this.tokenizer.url(e))){e=e.substring(c.raw.length),n.push(c);continue}let g=e;if(this.options.extensions?.startInline){let f=1/0,b=e.slice(1),v;this.options.extensions.startInline.forEach(C=>{v=C.call({lexer:this},b),typeof v=="number"&&v>=0&&(f=Math.min(f,v))}),f<1/0&&f>=0&&(g=e.substring(0,f+1))}if(c=this.tokenizer.inlineText(g)){e=e.substring(c.raw.length),c.raw.slice(-1)!=="_"&&(p=c.raw.slice(-1)),i=!0;let f=n.at(-1);f?.type==="text"?(f.raw+=c.raw,f.text+=c.text):n.push(c);continue}if(e){let f="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(f);break}else throw new Error(f)}}return n}},$t=class{options;parser;constructor(s){this.options=s||Ve}space(s){return""}code({text:s,lang:e,escaped:n}){let r=(e||"").match(pe.notSpaceStart)?.[0],t=s.replace(pe.endingNewline,"")+`
|
|
41
|
-
`;return r?'<pre><code class="language-'+Le(r)+'">'+(n?t:Le(t,!0))+`</code></pre>
|
|
42
|
-
`:"<pre><code>"+(n?t:Le(t,!0))+`</code></pre>
|
|
43
|
-
`}blockquote({tokens:s}){return`<blockquote>
|
|
44
|
-
${this.parser.parse(s)}</blockquote>
|
|
45
|
-
`}html({text:s}){return s}def(s){return""}heading({tokens:s,depth:e}){return`<h${e}>${this.parser.parseInline(s)}</h${e}>
|
|
46
|
-
`}hr(s){return`<hr>
|
|
47
|
-
`}list(s){let e=s.ordered,n=s.start,r="";for(let i=0;i<s.items.length;i++){let p=s.items[i];r+=this.listitem(p)}let t=e?"ol":"ul",o=e&&n!==1?' start="'+n+'"':"";return"<"+t+o+`>
|
|
48
|
-
`+r+"</"+t+`>
|
|
49
|
-
`}listitem(s){return`<li>${this.parser.parse(s.tokens)}</li>
|
|
50
|
-
`}checkbox({checked:s}){return"<input "+(s?'checked="" ':"")+'disabled="" type="checkbox"> '}paragraph({tokens:s}){return`<p>${this.parser.parseInline(s)}</p>
|
|
51
|
-
`}table(s){let e="",n="";for(let t=0;t<s.header.length;t++)n+=this.tablecell(s.header[t]);e+=this.tablerow({text:n});let r="";for(let t=0;t<s.rows.length;t++){let o=s.rows[t];n="";for(let i=0;i<o.length;i++)n+=this.tablecell(o[i]);r+=this.tablerow({text:n})}return r&&(r=`<tbody>${r}</tbody>`),`<table>
|
|
52
|
-
<thead>
|
|
53
|
-
`+e+`</thead>
|
|
54
|
-
`+r+`</table>
|
|
55
|
-
`}tablerow({text:s}){return`<tr>
|
|
56
|
-
${s}</tr>
|
|
57
|
-
`}tablecell(s){let e=this.parser.parseInline(s.tokens),n=s.header?"th":"td";return(s.align?`<${n} align="${s.align}">`:`<${n}>`)+e+`</${n}>
|
|
58
|
-
`}strong({tokens:s}){return`<strong>${this.parser.parseInline(s)}</strong>`}em({tokens:s}){return`<em>${this.parser.parseInline(s)}</em>`}codespan({text:s}){return`<code>${Le(s,!0)}</code>`}br(s){return"<br>"}del({tokens:s}){return`<del>${this.parser.parseInline(s)}</del>`}link({href:s,title:e,tokens:n}){let r=this.parser.parseInline(n),t=Vn(s);if(t===null)return r;s=t;let o='<a href="'+s+'"';return e&&(o+=' title="'+Le(e)+'"'),o+=">"+r+"</a>",o}image({href:s,title:e,text:n,tokens:r}){r&&(n=this.parser.parseInline(r,this.parser.textRenderer));let t=Vn(s);if(t===null)return Le(n);s=t;let o=`<img src="${s}" alt="${Le(n)}"`;return e&&(o+=` title="${Le(e)}"`),o+=">",o}text(s){return"tokens"in s&&s.tokens?this.parser.parseInline(s.tokens):"escaped"in s&&s.escaped?s.text:Le(s.text)}},Rn=class{strong({text:s}){return s}em({text:s}){return s}codespan({text:s}){return s}del({text:s}){return s}html({text:s}){return s}text({text:s}){return s}link({text:s}){return""+s}image({text:s}){return""+s}br(){return""}checkbox({raw:s}){return s}},Se=class hn{options;renderer;textRenderer;constructor(e){this.options=e||Ve,this.options.renderer=this.options.renderer||new $t,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new Rn}static parse(e,n){return new hn(n).parse(e)}static parseInline(e,n){return new hn(n).parseInline(e)}parse(e){this.renderer.parser=this;let n="";for(let r=0;r<e.length;r++){let t=e[r];if(this.options.extensions?.renderers?.[t.type]){let i=t,p=this.options.extensions.renderers[i.type].call({parser:this},i);if(p!==!1||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(i.type)){n+=p||"";continue}}let o=t;switch(o.type){case"space":{n+=this.renderer.space(o);break}case"hr":{n+=this.renderer.hr(o);break}case"heading":{n+=this.renderer.heading(o);break}case"code":{n+=this.renderer.code(o);break}case"table":{n+=this.renderer.table(o);break}case"blockquote":{n+=this.renderer.blockquote(o);break}case"list":{n+=this.renderer.list(o);break}case"checkbox":{n+=this.renderer.checkbox(o);break}case"html":{n+=this.renderer.html(o);break}case"def":{n+=this.renderer.def(o);break}case"paragraph":{n+=this.renderer.paragraph(o);break}case"text":{n+=this.renderer.text(o);break}default:{let i='Token with "'+o.type+'" type was not found.';if(this.options.silent)return console.error(i),"";throw new Error(i)}}}return n}parseInline(e,n=this.renderer){this.renderer.parser=this;let r="";for(let t=0;t<e.length;t++){let o=e[t];if(this.options.extensions?.renderers?.[o.type]){let p=this.options.extensions.renderers[o.type].call({parser:this},o);if(p!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(o.type)){r+=p||"";continue}}let i=o;switch(i.type){case"escape":{r+=n.text(i);break}case"html":{r+=n.html(i);break}case"link":{r+=n.link(i);break}case"image":{r+=n.image(i);break}case"checkbox":{r+=n.checkbox(i);break}case"strong":{r+=n.strong(i);break}case"em":{r+=n.em(i);break}case"codespan":{r+=n.codespan(i);break}case"br":{r+=n.br(i);break}case"del":{r+=n.del(i);break}case"text":{r+=n.text(i);break}default:{let p='Token with "'+i.type+'" type was not found.';if(this.options.silent)return console.error(p),"";throw new Error(p)}}}return r}},Tt=class{options;block;constructor(s){this.options=s||Ve}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens","emStrongMask"]);static passThroughHooksRespectAsync=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(s){return s}postprocess(s){return s}processAllTokens(s){return s}emStrongMask(s){return s}provideLexer(){return this.block?ye.lex:ye.lexInline}provideParser(){return this.block?Se.parse:Se.parseInline}},Ps=class{defaults=vn();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=Se;Renderer=$t;TextRenderer=Rn;Lexer=ye;Tokenizer=zt;Hooks=Tt;constructor(...s){this.use(...s)}walkTokens(s,e){let n=[];for(let r of s)switch(n=n.concat(e.call(this,r)),r.type){case"table":{let t=r;for(let o of t.header)n=n.concat(this.walkTokens(o.tokens,e));for(let o of t.rows)for(let i of o)n=n.concat(this.walkTokens(i.tokens,e));break}case"list":{let t=r;n=n.concat(this.walkTokens(t.items,e));break}default:{let t=r;this.defaults.extensions?.childTokens?.[t.type]?this.defaults.extensions.childTokens[t.type].forEach(o=>{let i=t[o].flat(1/0);n=n.concat(this.walkTokens(i,e))}):t.tokens&&(n=n.concat(this.walkTokens(t.tokens,e)))}}return n}use(...s){let e=this.defaults.extensions||{renderers:{},childTokens:{}};return s.forEach(n=>{let r={...n};if(r.async=this.defaults.async||r.async||!1,n.extensions&&(n.extensions.forEach(t=>{if(!t.name)throw new Error("extension name required");if("renderer"in t){let o=e.renderers[t.name];o?e.renderers[t.name]=function(...i){let p=t.renderer.apply(this,i);return p===!1&&(p=o.apply(this,i)),p}:e.renderers[t.name]=t.renderer}if("tokenizer"in t){if(!t.level||t.level!=="block"&&t.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let o=e[t.level];o?o.unshift(t.tokenizer):e[t.level]=[t.tokenizer],t.start&&(t.level==="block"?e.startBlock?e.startBlock.push(t.start):e.startBlock=[t.start]:t.level==="inline"&&(e.startInline?e.startInline.push(t.start):e.startInline=[t.start]))}"childTokens"in t&&t.childTokens&&(e.childTokens[t.name]=t.childTokens)}),r.extensions=e),n.renderer){let t=this.defaults.renderer||new $t(this.defaults);for(let o in n.renderer){if(!(o in t))throw new Error(`renderer '${o}' does not exist`);if(["options","parser"].includes(o))continue;let i=o,p=n.renderer[i],c=t[i];t[i]=(...g)=>{let f=p.apply(t,g);return f===!1&&(f=c.apply(t,g)),f||""}}r.renderer=t}if(n.tokenizer){let t=this.defaults.tokenizer||new zt(this.defaults);for(let o in n.tokenizer){if(!(o in t))throw new Error(`tokenizer '${o}' does not exist`);if(["options","rules","lexer"].includes(o))continue;let i=o,p=n.tokenizer[i],c=t[i];t[i]=(...g)=>{let f=p.apply(t,g);return f===!1&&(f=c.apply(t,g)),f}}r.tokenizer=t}if(n.hooks){let t=this.defaults.hooks||new Tt;for(let o in n.hooks){if(!(o in t))throw new Error(`hook '${o}' does not exist`);if(["options","block"].includes(o))continue;let i=o,p=n.hooks[i],c=t[i];Tt.passThroughHooks.has(o)?t[i]=g=>{if(this.defaults.async&&Tt.passThroughHooksRespectAsync.has(o))return(async()=>{let b=await p.call(t,g);return c.call(t,b)})();let f=p.call(t,g);return c.call(t,f)}:t[i]=(...g)=>{if(this.defaults.async)return(async()=>{let b=await p.apply(t,g);return b===!1&&(b=await c.apply(t,g)),b})();let f=p.apply(t,g);return f===!1&&(f=c.apply(t,g)),f}}r.hooks=t}if(n.walkTokens){let t=this.defaults.walkTokens,o=n.walkTokens;r.walkTokens=function(i){let p=[];return p.push(o.call(this,i)),t&&(p=p.concat(t.call(this,i))),p}}this.defaults={...this.defaults,...r}}),this}setOptions(s){return this.defaults={...this.defaults,...s},this}lexer(s,e){return ye.lex(s,e??this.defaults)}parser(s,e){return Se.parse(s,e??this.defaults)}parseMarkdown(s){return(e,n)=>{let r={...n},t={...this.defaults,...r},o=this.onError(!!t.silent,!!t.async);if(this.defaults.async===!0&&r.async===!1)return o(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof e>"u"||e===null)return o(new Error("marked(): input parameter is undefined or null"));if(typeof e!="string")return o(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected"));if(t.hooks&&(t.hooks.options=t,t.hooks.block=s),t.async)return(async()=>{let i=t.hooks?await t.hooks.preprocess(e):e,p=await(t.hooks?await t.hooks.provideLexer():s?ye.lex:ye.lexInline)(i,t),c=t.hooks?await t.hooks.processAllTokens(p):p;t.walkTokens&&await Promise.all(this.walkTokens(c,t.walkTokens));let g=await(t.hooks?await t.hooks.provideParser():s?Se.parse:Se.parseInline)(c,t);return t.hooks?await t.hooks.postprocess(g):g})().catch(o);try{t.hooks&&(e=t.hooks.preprocess(e));let i=(t.hooks?t.hooks.provideLexer():s?ye.lex:ye.lexInline)(e,t);t.hooks&&(i=t.hooks.processAllTokens(i)),t.walkTokens&&this.walkTokens(i,t.walkTokens);let p=(t.hooks?t.hooks.provideParser():s?Se.parse:Se.parseInline)(i,t);return t.hooks&&(p=t.hooks.postprocess(p)),p}catch(i){return o(i)}}}onError(s,e){return n=>{if(n.message+=`
|
|
59
|
-
Please report this to https://github.com/markedjs/marked.`,s){let r="<p>An error occurred:</p><pre>"+Le(n.message+"",!0)+"</pre>";return e?Promise.resolve(r):r}if(e)return Promise.reject(n);throw n}}},Xe=new Ps;function D(s,e){return Xe.parse(s,e)}D.options=D.setOptions=function(s){return Xe.setOptions(s),D.defaults=Xe.defaults,lr(D.defaults),D};D.getDefaults=vn;D.defaults=Ve;D.use=function(...s){return Xe.use(...s),D.defaults=Xe.defaults,lr(D.defaults),D};D.walkTokens=function(s,e){return Xe.walkTokens(s,e)};D.parseInline=Xe.parseInline;D.Parser=Se;D.parser=Se.parse;D.Renderer=$t;D.TextRenderer=Rn;D.Lexer=ye;D.lexer=ye.lex;D.Tokenizer=zt;D.Hooks=Tt;D.parse=D;D.options;D.setOptions;D.use;D.walkTokens;D.parseInline;Se.parse;ye.lex;const{entries:xr,setPrototypeOf:Jn,isFrozen:zs,getPrototypeOf:$s,getOwnPropertyDescriptor:Fs}=Object;let{freeze:de,seal:Te,create:Mt}=Object,{apply:fn,construct:gn}=typeof Reflect<"u"&&Reflect;de||(de=function(e){return e});Te||(Te=function(e){return e});fn||(fn=function(e,n){for(var r=arguments.length,t=new Array(r>2?r-2:0),o=2;o<r;o++)t[o-2]=arguments[o];return e.apply(n,t)});gn||(gn=function(e){for(var n=arguments.length,r=new Array(n>1?n-1:0),t=1;t<n;t++)r[t-1]=arguments[t];return new e(...r)});const Dt=he(Array.prototype.forEach),Us=he(Array.prototype.lastIndexOf),er=he(Array.prototype.pop),kt=he(Array.prototype.push),Hs=he(Array.prototype.splice),Nt=he(String.prototype.toLowerCase),rn=he(String.prototype.toString),sn=he(String.prototype.match),xt=he(String.prototype.replace),Bs=he(String.prototype.indexOf),Gs=he(String.prototype.trim),be=he(Object.prototype.hasOwnProperty),ce=he(RegExp.prototype.test),bt=Ws(TypeError);function he(s){return function(e){e instanceof RegExp&&(e.lastIndex=0);for(var n=arguments.length,r=new Array(n>1?n-1:0),t=1;t<n;t++)r[t-1]=arguments[t];return fn(s,e,r)}}function Ws(s){return function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return gn(s,n)}}function T(s,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Nt;Jn&&Jn(s,null);let r=e.length;for(;r--;){let t=e[r];if(typeof t=="string"){const o=n(t);o!==t&&(zs(e)||(e[r]=o),t=o)}s[t]=!0}return s}function qs(s){for(let e=0;e<s.length;e++)be(s,e)||(s[e]=null);return s}function Ie(s){const e=Mt(null);for(const[n,r]of xr(s))be(s,n)&&(Array.isArray(r)?e[n]=qs(r):r&&typeof r=="object"&&r.constructor===Object?e[n]=Ie(r):e[n]=r);return e}function vt(s,e){for(;s!==null;){const r=Fs(s,e);if(r){if(r.get)return he(r.get);if(typeof r.value=="function")return he(r.value)}s=$s(s)}function n(){return null}return n}const tr=de(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),an=de(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),on=de(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),js=de(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),ln=de(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),Zs=de(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),nr=de(["#text"]),rr=de(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns","slot"]),cn=de(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),sr=de(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),Ot=de(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),Ys=Te(/\{\{[\w\W]*|[\w\W]*\}\}/gm),Xs=Te(/<%[\w\W]*|[\w\W]*%>/gm),Vs=Te(/\$\{[\w\W]*/gm),Qs=Te(/^data-[\-\w.\u00B7-\uFFFF]+$/),Ks=Te(/^aria-[\-\w]+$/),br=Te(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Js=Te(/^(?:\w+script|data):/i),ea=Te(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),vr=Te(/^html$/i),ta=Te(/^[a-z][.\w]*(-[.\w]+)+$/i);var ar=Object.freeze({__proto__:null,ARIA_ATTR:Ks,ATTR_WHITESPACE:ea,CUSTOM_ELEMENT:ta,DATA_ATTR:Qs,DOCTYPE_NAME:vr,ERB_EXPR:Xs,IS_ALLOWED_URI:br,IS_SCRIPT_OR_DATA:Js,MUSTACHE_EXPR:Ys,TMPLIT_EXPR:Vs});const _t={element:1,text:3,progressingInstruction:7,comment:8,document:9},na=function(){return typeof window>"u"?null:window},ra=function(e,n){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let r=null;const t="data-tt-policy-suffix";n&&n.hasAttribute(t)&&(r=n.getAttribute(t));const o="dompurify"+(r?"#"+r:"");try{return e.createPolicy(o,{createHTML(i){return i},createScriptURL(i){return i}})}catch{return console.warn("TrustedTypes policy "+o+" could not be created."),null}},ir=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function _r(){let s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:na();const e=k=>_r(k);if(e.version="3.3.3",e.removed=[],!s||!s.document||s.document.nodeType!==_t.document||!s.Element)return e.isSupported=!1,e;let{document:n}=s;const r=n,t=r.currentScript,{DocumentFragment:o,HTMLTemplateElement:i,Node:p,Element:c,NodeFilter:g,NamedNodeMap:f=s.NamedNodeMap||s.MozNamedAttrMap,HTMLFormElement:b,DOMParser:v,trustedTypes:C}=s,E=c.prototype,fe=vt(E,"cloneNode"),Qe=vt(E,"remove"),Ke=vt(E,"nextSibling"),Pe=vt(E,"childNodes"),le=vt(E,"parentNode");if(typeof i=="function"){const k=n.createElement("template");k.content&&k.content.ownerDocument&&(n=k.content.ownerDocument)}let j,xe="";const{implementation:ve,createNodeIterator:St,createDocumentFragment:Gt,getElementsByTagName:ot}=n,{importNode:Et}=r;let te=ir();e.isSupported=typeof xr=="function"&&typeof le=="function"&&ve&&ve.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:De,ERB_EXPR:Je,TMPLIT_EXPR:et,DATA_ATTR:Wt,ARIA_ATTR:At,IS_SCRIPT_OR_DATA:qt,ATTR_WHITESPACE:lt,CUSTOM_ELEMENT:jt}=ar;let{IS_ALLOWED_URI:ct}=ar,H=null;const ut=T({},[...tr,...an,...on,...ln,...nr]);let Q=null;const h=T({},[...rr,...cn,...sr,...Ot]);let l=Object.seal(Mt(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),x=null,_=null;const R=Object.seal(Mt(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let ne=!0,ge=!0,ze=!1,$e=!0,ee=!1,_e=!0,$=!1,B=!1,I=!1,N=!1,U=!1,ae=!1,Z=!0,we=!1;const Be="user-content-";let Y=!0,W=!1,P={},z=null;const re=T({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let Ee=null;const Ae=T({},["audio","video","img","source","image","track"]);let Ge=null;const Fe=T({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),tt="http://www.w3.org/1998/Math/MathML",G="http://www.w3.org/2000/svg",M="http://www.w3.org/1999/xhtml";let ie=M,pt=!1,dt=null;const Zt=T({},[tt,G,M],rn);let Ue=T({},["mi","mo","mn","ms","mtext"]),He=T({},["annotation-xml"]);const Yt=T({},["title","style","font","a","script"]);let ht=null;const wr=["application/xhtml+xml","text/html"],Tr="text/html";let K=null,nt=null;const yr=n.createElement("form"),Ln=function(a){return a instanceof RegExp||a instanceof Function},Xt=function(){let a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(nt&&nt===a)){if((!a||typeof a!="object")&&(a={}),a=Ie(a),ht=wr.indexOf(a.PARSER_MEDIA_TYPE)===-1?Tr:a.PARSER_MEDIA_TYPE,K=ht==="application/xhtml+xml"?rn:Nt,H=be(a,"ALLOWED_TAGS")?T({},a.ALLOWED_TAGS,K):ut,Q=be(a,"ALLOWED_ATTR")?T({},a.ALLOWED_ATTR,K):h,dt=be(a,"ALLOWED_NAMESPACES")?T({},a.ALLOWED_NAMESPACES,rn):Zt,Ge=be(a,"ADD_URI_SAFE_ATTR")?T(Ie(Fe),a.ADD_URI_SAFE_ATTR,K):Fe,Ee=be(a,"ADD_DATA_URI_TAGS")?T(Ie(Ae),a.ADD_DATA_URI_TAGS,K):Ae,z=be(a,"FORBID_CONTENTS")?T({},a.FORBID_CONTENTS,K):re,x=be(a,"FORBID_TAGS")?T({},a.FORBID_TAGS,K):Ie({}),_=be(a,"FORBID_ATTR")?T({},a.FORBID_ATTR,K):Ie({}),P=be(a,"USE_PROFILES")?a.USE_PROFILES:!1,ne=a.ALLOW_ARIA_ATTR!==!1,ge=a.ALLOW_DATA_ATTR!==!1,ze=a.ALLOW_UNKNOWN_PROTOCOLS||!1,$e=a.ALLOW_SELF_CLOSE_IN_ATTR!==!1,ee=a.SAFE_FOR_TEMPLATES||!1,_e=a.SAFE_FOR_XML!==!1,$=a.WHOLE_DOCUMENT||!1,N=a.RETURN_DOM||!1,U=a.RETURN_DOM_FRAGMENT||!1,ae=a.RETURN_TRUSTED_TYPE||!1,I=a.FORCE_BODY||!1,Z=a.SANITIZE_DOM!==!1,we=a.SANITIZE_NAMED_PROPS||!1,Y=a.KEEP_CONTENT!==!1,W=a.IN_PLACE||!1,ct=a.ALLOWED_URI_REGEXP||br,ie=a.NAMESPACE||M,Ue=a.MATHML_TEXT_INTEGRATION_POINTS||Ue,He=a.HTML_INTEGRATION_POINTS||He,l=a.CUSTOM_ELEMENT_HANDLING||{},a.CUSTOM_ELEMENT_HANDLING&&Ln(a.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(l.tagNameCheck=a.CUSTOM_ELEMENT_HANDLING.tagNameCheck),a.CUSTOM_ELEMENT_HANDLING&&Ln(a.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(l.attributeNameCheck=a.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),a.CUSTOM_ELEMENT_HANDLING&&typeof a.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(l.allowCustomizedBuiltInElements=a.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),ee&&(ge=!1),U&&(N=!0),P&&(H=T({},nr),Q=Mt(null),P.html===!0&&(T(H,tr),T(Q,rr)),P.svg===!0&&(T(H,an),T(Q,cn),T(Q,Ot)),P.svgFilters===!0&&(T(H,on),T(Q,cn),T(Q,Ot)),P.mathMl===!0&&(T(H,ln),T(Q,sr),T(Q,Ot))),be(a,"ADD_TAGS")||(R.tagCheck=null),be(a,"ADD_ATTR")||(R.attributeCheck=null),a.ADD_TAGS&&(typeof a.ADD_TAGS=="function"?R.tagCheck=a.ADD_TAGS:(H===ut&&(H=Ie(H)),T(H,a.ADD_TAGS,K))),a.ADD_ATTR&&(typeof a.ADD_ATTR=="function"?R.attributeCheck=a.ADD_ATTR:(Q===h&&(Q=Ie(Q)),T(Q,a.ADD_ATTR,K))),a.ADD_URI_SAFE_ATTR&&T(Ge,a.ADD_URI_SAFE_ATTR,K),a.FORBID_CONTENTS&&(z===re&&(z=Ie(z)),T(z,a.FORBID_CONTENTS,K)),a.ADD_FORBID_CONTENTS&&(z===re&&(z=Ie(z)),T(z,a.ADD_FORBID_CONTENTS,K)),Y&&(H["#text"]=!0),$&&T(H,["html","head","body"]),H.table&&(T(H,["tbody"]),delete x.tbody),a.TRUSTED_TYPES_POLICY){if(typeof a.TRUSTED_TYPES_POLICY.createHTML!="function")throw bt('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof a.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw bt('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');j=a.TRUSTED_TYPES_POLICY,xe=j.createHTML("")}else j===void 0&&(j=ra(C,t)),j!==null&&typeof xe=="string"&&(xe=j.createHTML(""));de&&de(a),nt=a}},In=T({},[...an,...on,...js]),Cn=T({},[...ln,...Zs]),Sr=function(a){let d=le(a);(!d||!d.tagName)&&(d={namespaceURI:ie,tagName:"template"});const m=Nt(a.tagName),F=Nt(d.tagName);return dt[a.namespaceURI]?a.namespaceURI===G?d.namespaceURI===M?m==="svg":d.namespaceURI===tt?m==="svg"&&(F==="annotation-xml"||Ue[F]):!!In[m]:a.namespaceURI===tt?d.namespaceURI===M?m==="math":d.namespaceURI===G?m==="math"&&He[F]:!!Cn[m]:a.namespaceURI===M?d.namespaceURI===G&&!He[F]||d.namespaceURI===tt&&!Ue[F]?!1:!Cn[m]&&(Yt[m]||!In[m]):!!(ht==="application/xhtml+xml"&&dt[a.namespaceURI]):!1},Re=function(a){kt(e.removed,{element:a});try{le(a).removeChild(a)}catch{Qe(a)}},We=function(a,d){try{kt(e.removed,{attribute:d.getAttributeNode(a),from:d})}catch{kt(e.removed,{attribute:null,from:d})}if(d.removeAttribute(a),a==="is")if(N||U)try{Re(d)}catch{}else try{d.setAttribute(a,"")}catch{}},Dn=function(a){let d=null,m=null;if(I)a="<remove></remove>"+a;else{const X=sn(a,/^[\r\n\t ]+/);m=X&&X[0]}ht==="application/xhtml+xml"&&ie===M&&(a='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+a+"</body></html>");const F=j?j.createHTML(a):a;if(ie===M)try{d=new v().parseFromString(F,ht)}catch{}if(!d||!d.documentElement){d=ve.createDocument(ie,"template",null);try{d.documentElement.innerHTML=pt?xe:F}catch{}}const oe=d.body||d.documentElement;return a&&m&&oe.insertBefore(n.createTextNode(m),oe.childNodes[0]||null),ie===M?ot.call(d,$?"html":"body")[0]:$?d.documentElement:oe},On=function(a){return St.call(a.ownerDocument||a,a,g.SHOW_ELEMENT|g.SHOW_COMMENT|g.SHOW_TEXT|g.SHOW_PROCESSING_INSTRUCTION|g.SHOW_CDATA_SECTION,null)},Vt=function(a){return a instanceof b&&(typeof a.nodeName!="string"||typeof a.textContent!="string"||typeof a.removeChild!="function"||!(a.attributes instanceof f)||typeof a.removeAttribute!="function"||typeof a.setAttribute!="function"||typeof a.namespaceURI!="string"||typeof a.insertBefore!="function"||typeof a.hasChildNodes!="function")},Mn=function(a){return typeof p=="function"&&a instanceof p};function Oe(k,a,d){Dt(k,m=>{m.call(e,a,d,nt)})}const Nn=function(a){let d=null;if(Oe(te.beforeSanitizeElements,a,null),Vt(a))return Re(a),!0;const m=K(a.nodeName);if(Oe(te.uponSanitizeElement,a,{tagName:m,allowedTags:H}),_e&&a.hasChildNodes()&&!Mn(a.firstElementChild)&&ce(/<[/\w!]/g,a.innerHTML)&&ce(/<[/\w!]/g,a.textContent)||a.nodeType===_t.progressingInstruction||_e&&a.nodeType===_t.comment&&ce(/<[/\w]/g,a.data))return Re(a),!0;if(!(R.tagCheck instanceof Function&&R.tagCheck(m))&&(!H[m]||x[m])){if(!x[m]&&zn(m)&&(l.tagNameCheck instanceof RegExp&&ce(l.tagNameCheck,m)||l.tagNameCheck instanceof Function&&l.tagNameCheck(m)))return!1;if(Y&&!z[m]){const F=le(a)||a.parentNode,oe=Pe(a)||a.childNodes;if(oe&&F){const X=oe.length;for(let me=X-1;me>=0;--me){const Me=fe(oe[me],!0);Me.__removalCount=(a.__removalCount||0)+1,F.insertBefore(Me,Ke(a))}}}return Re(a),!0}return a instanceof c&&!Sr(a)||(m==="noscript"||m==="noembed"||m==="noframes")&&ce(/<\/no(script|embed|frames)/i,a.innerHTML)?(Re(a),!0):(ee&&a.nodeType===_t.text&&(d=a.textContent,Dt([De,Je,et],F=>{d=xt(d,F," ")}),a.textContent!==d&&(kt(e.removed,{element:a.cloneNode()}),a.textContent=d)),Oe(te.afterSanitizeElements,a,null),!1)},Pn=function(a,d,m){if(_[d]||Z&&(d==="id"||d==="name")&&(m in n||m in yr))return!1;if(!(ge&&!_[d]&&ce(Wt,d))){if(!(ne&&ce(At,d))){if(!(R.attributeCheck instanceof Function&&R.attributeCheck(d,a))){if(!Q[d]||_[d]){if(!(zn(a)&&(l.tagNameCheck instanceof RegExp&&ce(l.tagNameCheck,a)||l.tagNameCheck instanceof Function&&l.tagNameCheck(a))&&(l.attributeNameCheck instanceof RegExp&&ce(l.attributeNameCheck,d)||l.attributeNameCheck instanceof Function&&l.attributeNameCheck(d,a))||d==="is"&&l.allowCustomizedBuiltInElements&&(l.tagNameCheck instanceof RegExp&&ce(l.tagNameCheck,m)||l.tagNameCheck instanceof Function&&l.tagNameCheck(m))))return!1}else if(!Ge[d]){if(!ce(ct,xt(m,lt,""))){if(!((d==="src"||d==="xlink:href"||d==="href")&&a!=="script"&&Bs(m,"data:")===0&&Ee[a])){if(!(ze&&!ce(qt,xt(m,lt,"")))){if(m)return!1}}}}}}}return!0},zn=function(a){return a!=="annotation-xml"&&sn(a,jt)},$n=function(a){Oe(te.beforeSanitizeAttributes,a,null);const{attributes:d}=a;if(!d||Vt(a))return;const m={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Q,forceKeepAttr:void 0};let F=d.length;for(;F--;){const oe=d[F],{name:X,namespaceURI:me,value:Me}=oe,rt=K(X),Qt=Me;let se=X==="value"?Qt:Gs(Qt);if(m.attrName=rt,m.attrValue=se,m.keepAttr=!0,m.forceKeepAttr=void 0,Oe(te.uponSanitizeAttribute,a,m),se=m.attrValue,we&&(rt==="id"||rt==="name")&&(We(X,a),se=Be+se),_e&&ce(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,se)){We(X,a);continue}if(rt==="attributename"&&sn(se,"href")){We(X,a);continue}if(m.forceKeepAttr)continue;if(!m.keepAttr){We(X,a);continue}if(!$e&&ce(/\/>/i,se)){We(X,a);continue}ee&&Dt([De,Je,et],Un=>{se=xt(se,Un," ")});const Fn=K(a.nodeName);if(!Pn(Fn,rt,se)){We(X,a);continue}if(j&&typeof C=="object"&&typeof C.getAttributeType=="function"&&!me)switch(C.getAttributeType(Fn,rt)){case"TrustedHTML":{se=j.createHTML(se);break}case"TrustedScriptURL":{se=j.createScriptURL(se);break}}if(se!==Qt)try{me?a.setAttributeNS(me,X,se):a.setAttribute(X,se),Vt(a)?Re(a):er(e.removed)}catch{We(X,a)}}Oe(te.afterSanitizeAttributes,a,null)},Er=function k(a){let d=null;const m=On(a);for(Oe(te.beforeSanitizeShadowDOM,a,null);d=m.nextNode();)Oe(te.uponSanitizeShadowNode,d,null),Nn(d),$n(d),d.content instanceof o&&k(d.content);Oe(te.afterSanitizeShadowDOM,a,null)};return e.sanitize=function(k){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},d=null,m=null,F=null,oe=null;if(pt=!k,pt&&(k="<!-->"),typeof k!="string"&&!Mn(k))if(typeof k.toString=="function"){if(k=k.toString(),typeof k!="string")throw bt("dirty is not a string, aborting")}else throw bt("toString is not a function");if(!e.isSupported)return k;if(B||Xt(a),e.removed=[],typeof k=="string"&&(W=!1),W){if(k.nodeName){const Me=K(k.nodeName);if(!H[Me]||x[Me])throw bt("root node is forbidden and cannot be sanitized in-place")}}else if(k instanceof p)d=Dn("<!---->"),m=d.ownerDocument.importNode(k,!0),m.nodeType===_t.element&&m.nodeName==="BODY"||m.nodeName==="HTML"?d=m:d.appendChild(m);else{if(!N&&!ee&&!$&&k.indexOf("<")===-1)return j&&ae?j.createHTML(k):k;if(d=Dn(k),!d)return N?null:ae?xe:""}d&&I&&Re(d.firstChild);const X=On(W?k:d);for(;F=X.nextNode();)Nn(F),$n(F),F.content instanceof o&&Er(F.content);if(W)return k;if(N){if(U)for(oe=Gt.call(d.ownerDocument);d.firstChild;)oe.appendChild(d.firstChild);else oe=d;return(Q.shadowroot||Q.shadowrootmode)&&(oe=Et.call(r,oe,!0)),oe}let me=$?d.outerHTML:d.innerHTML;return $&&H["!doctype"]&&d.ownerDocument&&d.ownerDocument.doctype&&d.ownerDocument.doctype.name&&ce(vr,d.ownerDocument.doctype.name)&&(me="<!DOCTYPE "+d.ownerDocument.doctype.name+`>
|
|
60
|
-
`+me),ee&&Dt([De,Je,et],Me=>{me=xt(me,Me," ")}),j&&ae?j.createHTML(me):me},e.setConfig=function(){let k=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Xt(k),B=!0},e.clearConfig=function(){nt=null,B=!1},e.isValidAttribute=function(k,a,d){nt||Xt({});const m=K(k),F=K(a);return Pn(m,F,d)},e.addHook=function(k,a){typeof a=="function"&&kt(te[k],a)},e.removeHook=function(k,a){if(a!==void 0){const d=Us(te[k],a);return d===-1?void 0:Hs(te[k],d,1)[0]}return er(te[k])},e.removeHooks=function(k){te[k]=[]},e.removeAllHooks=function(){te=ir()},e}var V=_r(),sa=V;V.sanitize.bind(V);V.isSupported;V.addHook.bind(V);V.removeHook.bind(V);V.removeHooks.bind(V);V.removeAllHooks.bind(V);V.setConfig.bind(V);V.clearConfig.bind(V);V.isValidAttribute.bind(V);V.version;V.removed;var aa=L('<div class="prose dark:prose-invert max-w-none break-words markdown-content" data-testid="markdown-content"></div>');function ia(s,e){Ft(e,!0);let n=un(()=>{const t=D.parse(e.content,{async:!1});return sa.sanitize(t)});var r=aa();Gr(r,()=>u(n),!0),y(r),w(s,r),Ut()}var oa=L('<div class="whitespace-pre-wrap"> </div>');function wt(s,e){Ft(e,!0);var n=at(),r=Ce(n);{var t=i=>{ia(i,{get content(){return e.content}})},o=i=>{var p=oa(),c=S(p,!0);y(p),ue(()=>ke(c,e.content)),w(i,p)};J(r,i=>{Ze.markdownEnabled?i(t):i(o,-1)})}w(s,n),Ut()}var la=L('<div class="absolute top-4 left-1/2 -translate-x-1/2 bg-yellow-500/10 text-yellow-600 dark:text-yellow-400 text-xs px-3 py-1 rounded-full border border-yellow-500/20 backdrop-blur-sm shadow-sm z-10 flex items-center gap-2"><span class="inline-block w-3 h-3 rounded-full border-2 border-current border-t-transparent animate-spin"></span> Reconnecting...</div>'),ca=L('<span class="inline-block w-3 h-3 mr-2 rounded-full border-2 border-current border-t-transparent animate-spin"></span> Loading...',1),ua=L('<div class="flex justify-center py-2"><!></div>'),pa=L('<div class="flex-1 flex items-center justify-center text-muted-foreground text-sm">No messages yet. Send a message to start the conversation!</div>'),da=L('<div class="flex gap-2 mt-2"><!> <!></div>'),ha=L("<div> </div>"),fa=L('<div class="px-4 py-3 rounded-2xl bg-card border border-warning/50 text-card-foreground text-sm shadow-sm" data-testid="policy-message"><div class="font-semibold mb-1 text-yellow-600 dark:text-yellow-400"> </div> <div class="text-xs font-mono mb-2"> </div> <div class="mb-3 text-muted-foreground"><!></div> <!></div>'),ga=L('<div class="text-[10px] font-mono opacity-70 mb-1"> </div>'),ma=L('<div class="px-4 py-2 rounded-2xl bg-primary text-primary-foreground text-sm" data-testid="user-message"><!> <!></div>'),ka=L('<div class="text-[10px] font-mono text-muted-foreground mb-2"> </div>'),xa=L('<div class="px-4 py-3 rounded-2xl bg-card border text-card-foreground text-sm shadow-sm" data-testid="agent-message"><!> <div class="whitespace-normal"><!></div></div>'),ba=L('<div class="text-[10px] font-mono text-muted-foreground mb-2"> </div>'),va=L('<div class="font-mono text-xs text-muted-foreground mb-2 flex items-center gap-2"><span> </span></div>'),_a=L('<span class="text-destructive font-bold"> </span>'),wa=L('<div class="font-mono text-xs text-muted-foreground mb-2 flex items-center gap-2"><span> </span> <!></div>'),Ta=L('<div class="whitespace-normal"><!></div>'),ya=L('<div class="whitespace-pre-wrap font-mono text-xs mt-2"> </div>'),Sa=L('<div class="whitespace-pre-wrap italic opacity-50 text-xs mt-2">No output</div>'),Ea=L('<div class="whitespace-pre-wrap font-mono text-xs mt-2 text-destructive border border-destructive/20 bg-destructive/5 p-2 rounded"> </div>'),Aa=L("<!> <!> <!>",1),Ra=L('<div class="whitespace-normal"><!></div>'),La=L('<div data-testid="log-message"><!> <!> <!></div>'),Ia=L('<div><div><!></div> <div class="text-[10px] text-muted-foreground px-2"> </div></div>'),Ca=L('<span class="inline-block w-2 h-2 rounded-full border border-current border-t-transparent animate-spin"></span> Sending...',1),Da=L("<!> Offline / Pending",1),Oa=L("<!> Failed",1),Ma=L('<div class="flex items-center gap-2 mt-1 mr-2 bg-card border rounded-md p-1 shadow-sm text-xs"><button class="px-2 py-1 hover:bg-muted rounded text-primary transition-colors focus:outline-none">Retry manual send</button> <div class="w-px h-3 bg-border"></div> <button class="px-2 py-1 hover:bg-muted rounded text-destructive transition-colors focus:outline-none">Delete message</button></div>'),Na=L('<div><button class="flex items-baseline gap-2 max-w-[80%] flex-row-reverse text-left focus:outline-none"><div data-testid="pending-message"> </div></button> <div><!></div> <!></div>'),Pa=L('<!> <span class="sr-only">Send</span>',1),za=L('<div class="flex flex-col flex-1 h-full overflow-hidden relative"><!> <div class="flex-1 overflow-y-auto p-4"><div class="w-full max-w-4xl mx-auto space-y-6 flex flex-col min-h-full"><!> <!> <!> <!></div></div> <div class="p-4 bg-background/80 backdrop-blur-sm border-t shrink-0"><form class="flex items-center gap-2 max-w-4xl mx-auto"><!> <!></form></div></div>');function Ya(s,e){Ft(e,!0);let n=Ne(""),r=Ne(Wn([])),t=un(()=>u(r).filter(h=>!!h.subagentId&&Ze.verbosityLevel!=="debug"&&Ze.verbosityLevel!=="verbose"?!1:h.role==="user"||h.role==="agent"||h.displayRole==="user"||h.displayRole==="agent"||h.role==="policy"||Ze.verbosityLevel==="verbose"?!0:h.role==="legacy_log"?Ze.verbosityLevel==="debug"?!h.level||h.level==="default"||h.level==="debug":!h.level||h.level==="default":Ze.verbosityLevel==="debug")),o=Ne(Wn([])),i=Ne(void 0),p=null,c=Ne(!0),g=Ne(!1),f,b=Ne(null),v=Ne(!1),C=Ne(!0);async function E(){if(u(v)||u(r).length===0)return;O(v,!0);const h=u(r)[0].id;try{const l=await fetch(`/api/chats/${e.data.id}?limit=100&before=${h}`);if(l.ok){const x=await l.json();if(x.length<100&&O(C,!1),x.length>0){const _=u(i);if(_){const R=_.scrollHeight,ne=_.scrollTop;O(r,[...x,...u(r)],!0),await en();const ge=_.scrollHeight;_.scrollTop=ne+(ge-R)}else O(r,[...x,...u(r)],!0)}}}catch(l){console.error("Failed to load previous messages:",l)}finally{O(v,!1)}}async function fe(h){const l=u(o).findIndex(x=>x.id===h);if(l!==-1){u(o)[l].status="sending",le(e.data.id,u(o));try{if(!(await fetch(`/api/chats/${e.data.id}/messages`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({message:u(o)[l].content})})).ok)throw new Error("Failed to send");await It(`app:chat:${e.data.id}`)}catch(x){console.error("Failed to retry message:",x);const _=u(o).findIndex(R=>R.id===h);_!==-1&&(u(o)[_].status="failed",le(e.data.id,u(o)))}}}function Qe(h){O(o,u(o).filter(l=>l.id!==h),!0),le(e.data.id,u(o))}st(()=>{const h=()=>{u(o).forEach(l=>{(l.status==="pending"||l.status==="failed")&&fe(l.id)})};return window.addEventListener("online",h),()=>{window.removeEventListener("online",h)}});function Ke(h){const l=h.target;O(c,Math.abs(l.scrollHeight-l.scrollTop-l.clientHeight)<10)}function Pe(){u(i)&&(u(i).scrollTop=u(i).scrollHeight)}st(()=>{const h=e.data.messages;O(r,h,!0),O(C,h.length>=100);try{const l=localStorage.getItem(`pending_messages_${e.data.id}`);l?O(o,JSON.parse(l),!0):O(o,[],!0)}catch{O(o,[],!0)}O(c,!0),xe(e.data.id)});function le(h,l){localStorage.setItem(`pending_messages_${h}`,JSON.stringify(l))}st(()=>{(u(r).length>0||u(o).length>0)&&u(i)&&u(c)&&en().then(Pe)}),st(()=>{u(n),u(c)&&en().then(Pe)}),st(()=>{const h=()=>{u(c)&&Pe()};return window.addEventListener("resize",h),window.visualViewport?.addEventListener("resize",h),()=>{window.removeEventListener("resize",h),window.visualViewport?.removeEventListener("resize",h)}});async function j(){const h=u(r).length>0?u(r)[u(r).length-1].id:null;if(h)try{const l=await fetch(`/api/chats/${e.data.id}?since=${h}`);if(l.ok){const x=await l.json();for(const _ of x)u(r).find(R=>R.id===_.id)||O(r,[...u(r),_],!0)}}catch(l){console.error("Failed to fetch delta messages:",l)}else await It(`app:chat:${e.data.id}`)}st(()=>{const h=()=>{document.visibilityState==="visible"&&(j(),(!p||p.readyState===EventSource.CLOSED)&&xe(e.data.id))};return document.addEventListener("visibilitychange",h),()=>{document.removeEventListener("visibilitychange",h)}});function xe(h){p&&(p.close(),clearTimeout(f)),p=new EventSource(`/api/chats/${h}/stream`),p.onopen=()=>{O(g,!1)},p.onerror=()=>{(p?.readyState===EventSource.CLOSED||p?.readyState===EventSource.CONNECTING)&&(O(g,!0),p.close(),clearTimeout(f),f=setTimeout(async()=>{await j(),xe(h)},3e3))},p.onmessage=l=>{try{const x=JSON.parse(l.data);if(!u(r).find(_=>_.id===x.id)&&(O(r,[...u(r),x],!0),x.role==="user")){const _=u(o).findIndex(R=>R.content===x.content);_!==-1&&(O(o,u(o).filter((R,ne)=>ne!==_),!0),le(h,u(o)))}}catch(x){console.error("Failed to parse SSE message",x)}}}Ar(()=>{p&&p.close(),clearTimeout(f)});async function ve(h,l){const x=`/${l} ${h}`,_={id:`pending-${Date.now()}-${Math.random()}`,content:x,timestamp:new Date().toISOString(),status:navigator.onLine?"sending":"pending"};if(O(o,[...u(o),_],!0),le(e.data.id,u(o)),!!navigator.onLine)try{if(!(await fetch(`/api/chats/${e.data.id}/messages`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({message:x})})).ok)throw new Error("Failed to send");await It(`app:chat:${e.data.id}`)}catch(R){console.error("Failed to send message:",R),O(o,u(o).map(ne=>ne.id===_.id?{...ne,status:"failed"}:ne),!0),le(e.data.id,u(o))}}async function St(h){if(h.preventDefault(),!u(n).trim())return;const l=u(n);O(n,"");const x={id:`pending-${Date.now()}-${Math.random()}`,content:l,timestamp:new Date().toISOString(),status:navigator.onLine?"sending":"pending"};if(O(o,[...u(o),x],!0),le(e.data.id,u(o)),!!navigator.onLine)try{if(!(await fetch(`/api/chats/${e.data.id}/messages`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({message:l})})).ok)throw new Error("Failed to send");await It(`app:chat:${e.data.id}`)}catch(_){console.error("Failed to send message:",_),O(o,u(o).map(R=>R.id===x.id?{...R,status:"failed"}:R),!0),le(e.data.id,u(o))}}function Gt(h){return new Date(h).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}var ot=za(),Et=S(ot);{var te=h=>{var l=la();w(h,l)};J(Et,h=>{u(g)&&h(te)})}var De=q(Et,2),Je=S(De),et=S(Je);{var Wt=h=>{var l=ua(),x=S(l);Lt(x,{variant:"outline",size:"sm",onclick:E,get disabled(){return u(v)},children:(_,R)=>{var ne=at(),ge=Ce(ne);{var ze=ee=>{var _e=ca();qe(),w(ee,_e)},$e=ee=>{var _e=Jt("Load previous messages...");w(ee,_e)};J(ge,ee=>{u(v)?ee(ze):ee($e,-1)})}w(_,ne)},$$slots:{default:!0}}),y(l),w(h,l)};J(et,h=>{u(C)&&u(r).length>0&&h(Wt)})}var At=q(et,2);{var qt=h=>{var l=pa();w(h,l)};J(At,h=>{u(r).length===0&&h(qt)})}var lt=q(At,2);jn(lt,17,()=>u(t),h=>h.id,(h,l)=>{var x=Ia(),_=S(x),R=S(_);{var ne=$=>{var B=fa(),I=S(B),N=S(I);y(I);var U=q(I,2),ae=S(U,!0);y(U);var Z=q(U,2),we=S(Z);wt(we,{get content(){return u(l).content}}),y(Z);var Be=q(Z,2);{var Y=P=>{var z=da(),re=S(z);Lt(re,{size:"sm",variant:"default",onclick:()=>ve(u(l).requestId,"approve"),children:(Ae,Ge)=>{qe();var Fe=Jt("Approve");w(Ae,Fe)},$$slots:{default:!0}});var Ee=q(re,2);Lt(Ee,{size:"sm",variant:"destructive",onclick:()=>ve(u(l).requestId,"reject"),children:(Ae,Ge)=>{qe();var Fe=Jt("Reject");w(Ae,Fe)},$$slots:{default:!0}}),y(z),w(P,z)},W=P=>{var z=ha(),re=S(z,!0);y(z),ue(()=>{je(z,1,`text-xs font-medium uppercase mt-2 ${u(l).status==="approved"?"text-green-500":"text-red-500"}`),ke(re,u(l).status)}),w(P,z)};J(Be,P=>{u(l).status==="pending"?P(Y):P(W,-1)})}y(B),ue(P=>{ke(N,`Policy Request: ${u(l).commandName??""}`),ke(ae,P)},[()=>u(l).args.join(" ")]),w($,B)},ge=$=>{var B=ma(),I=S(B);{var N=ae=>{var Z=ga(),we=S(Z);y(Z),ue(()=>ke(we,`[${u(l).subagentId??""}]`)),w(ae,Z)};J(I,ae=>{u(l).subagentId&&ae(N)})}var U=q(I,2);wt(U,{get content(){return u(l).content}}),y(B),w($,B)},ze=$=>{var B=xa(),I=S(B);{var N=Z=>{var we=ka(),Be=S(we);y(we),ue(()=>ke(Be,`[${u(l).subagentId??""}]`)),w(Z,we)};J(I,Z=>{u(l).subagentId&&Z(N)})}var U=q(I,2),ae=S(U);wt(ae,{get content(){return u(l).content}}),y(U),y(B),w($,B)},$e=$=>{var B=La(),I=S(B);{var N=Y=>{var W=ba(),P=S(W);y(W),ue(()=>ke(P,`[${u(l).subagentId??""}]`)),w(Y,W)};J(I,Y=>{u(l).subagentId&&Y(N)})}var U=q(I,2);{var ae=Y=>{var W=va(),P=S(W),z=S(P);y(P),y(W),ue(re=>ke(z,`[${re??""}] ${(u(l).role==="tool"?u(l).name:u(l).event)??""}`),[()=>u(l).role.toUpperCase()]),w(Y,W)};J(U,Y=>{(u(l).role==="system"||u(l).role==="tool")&&Y(ae)})}var Z=q(U,2);{var we=Y=>{var W=Aa(),P=Ce(W);{var z=G=>{var M=wa(),ie=S(M),pt=S(ie);y(ie);var dt=q(ie,2);{var Zt=Ue=>{var He=_a(),Yt=S(He);y(He),ue(()=>ke(Yt,`Exit: ${u(l).exitCode??""}`)),w(Ue,He)};J(dt,Ue=>{"exitCode"in u(l)&&u(l).exitCode!==0&&u(l).exitCode!==void 0&&Ue(Zt)})}y(M),ue(()=>ke(pt,`$ ${u(l).command??""}`)),w(G,M)};J(P,G=>{"command"in u(l)&&u(l).command&&G(z)})}var re=q(P,2);{var Ee=G=>{var M=Ta(),ie=S(M);wt(ie,{get content(){return u(l).content}}),y(M),w(G,M)},Ae=G=>{var M=ya(),ie=S(M,!0);y(M),ue(()=>ke(ie,u(l).stdout)),w(G,M)},Ge=G=>{var M=Sa();w(G,M)};J(re,G=>{u(l).content?G(Ee):"stdout"in u(l)&&u(l).stdout?G(Ae,1):G(Ge,-1)})}var Fe=q(re,2);{var tt=G=>{var M=Ea(),ie=S(M,!0);y(M),ue(()=>ke(ie,u(l).stderr)),w(G,M)};J(Fe,G=>{"stderr"in u(l)&&u(l).stderr&&G(tt)})}w(Y,W)},Be=Y=>{var W=at(),P=Ce(W);{var z=re=>{var Ee=Ra(),Ae=S(Ee);wt(Ae,{get content(){return u(l).content}}),y(Ee),w(re,Ee)};J(P,re=>{u(l).content&&re(z)})}w(Y,W)};J(Z,Y=>{Ze.verbosityLevel==="verbose"||u(l).role==="command"?Y(we):Y(Be,-1)})}y(B),ue(()=>je(B,1,`px-4 py-3 rounded-2xl bg-card border text-card-foreground text-sm shadow-sm ${u(l).role==="legacy_log"&&u(l).level==="verbose"?"border-primary/50 bg-primary/5 shadow-md":""}`)),w($,B)};J(R,$=>{u(l).role==="policy"?$(ne):u(l).role==="user"||u(l).displayRole==="user"?$(ge,1):u(l).role==="agent"||u(l).displayRole==="agent"?$(ze,2):$($e,-1)})}y(_);var ee=q(_,2),_e=S(ee,!0);y(ee),y(x),ue($=>{je(x,1,`flex flex-col gap-1 ${u(l).role==="user"||u(l).displayRole==="user"?"items-end":"items-start"}`),je(_,1,`flex items-baseline gap-2 max-w-[80%] ${u(l).role==="user"||u(l).displayRole==="user"?"flex-row-reverse":"flex-row"}`),ke(_e,$)},[()=>Gt(u(l).timestamp)]),w(h,x)});var jt=q(lt,2);jn(jt,17,()=>u(o),h=>h.id,(h,l)=>{var x=Na(),_=S(x),R=S(_),ne=S(R,!0);y(R),y(_);var ge=q(_,2),ze=S(ge);{var $e=I=>{var N=Ca();qe(),w(I,N)},ee=I=>{var N=Da(),U=Ce(N);qr(U,{class:"w-3 h-3"}),qe(),w(I,N)},_e=I=>{var N=Oa(),U=Ce(N);Wr(U,{class:"w-3 h-3"}),qe(),w(I,N)};J(ze,I=>{u(l).status==="sending"?I($e):u(l).status==="pending"?I(ee,1):u(l).status==="failed"&&I(_e,2)})}y(ge);var $=q(ge,2);{var B=I=>{var N=Ma(),U=S(N),ae=q(U,4);y(N),tn("click",U,Z=>{Z.stopPropagation(),O(b,null),fe(u(l).id)}),tn("click",ae,Z=>{Z.stopPropagation(),O(b,null),Qe(u(l).id)}),w(I,N)};J($,I=>{u(b)===u(l).id&&u(l).status!=="sending"&&I(B)})}y(x),ue(()=>{je(x,1,`flex flex-col gap-1 items-end ${u(l).status==="sending"?"opacity-50":""} transition-opacity`),je(R,1,`px-4 py-2 rounded-2xl ${u(l).status==="failed"?"bg-destructive/90 text-destructive-foreground":"bg-primary text-primary-foreground"} text-sm`),ke(ne,u(l).content),je(ge,1,`text-[10px] px-2 flex items-center gap-1 ${u(l).status==="failed"?"text-destructive font-medium":"text-muted-foreground"}`)}),tn("click",_,()=>{u(l).status!=="sending"&&O(b,u(b)===u(l).id?null:u(l).id,!0)}),w(h,x)}),y(Je),y(De),or(De,h=>O(i,h),()=>u(i));var ct=q(De,2),H=S(ct),ut=S(H);Xr(ut,{placeholder:"Type your message...",class:"flex-1 min-h-[0px] resize-none overflow-hidden h-auto",onkeydown:h=>{h.key==="Enter"&&!h.shiftKey&&(h.preventDefault(),St(h))},"data-testid":"message-input",get value(){return u(n)},set value(h){O(n,h,!0)}});var Q=q(ut,2);{let h=un(()=>!u(n).trim());Lt(Q,{type:"submit",get disabled(){return u(h)},size:"icon","data-testid":"send-button",children:(l,x)=>{var _=Pa(),R=Ce(_);jr(R,{class:"w-4 h-4"}),qe(2),w(l,_)},$$slots:{default:!0}})}y(H),y(ct),y(ot),qn("scroll",De,Ke),qn("submit",H,St),w(s,ot),Ut()}$r(["click"]);export{Ya as component,Za as universal};
|
|
File without changes
|
|
File without changes
|