agency-orchestrator 0.7.3 → 0.7.4
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/README.en.md +2 -2
- package/package.json +1 -2
- package/web/server.js +2 -2
- package/website/dist/assets/Changelog-BvJ_2Vzf.js +8 -0
- package/website/dist/assets/{Docs-ZdDG2PwT.js → Docs-Bu7k8WYA.js} +1 -1
- package/website/dist/assets/{Experts-CvZST1I8.js → Experts-C51A3h3z.js} +1 -1
- package/website/dist/assets/{Home-C7cdNWrI.js → Home-Bw8Qc9id.js} +1 -1
- package/website/dist/assets/{Markdown-DaWbDBGS.js → Markdown-D3PnLbyB.js} +1 -1
- package/website/dist/assets/{NotFound-CQVnENeI.js → NotFound-soJyPTK-.js} +1 -1
- package/website/dist/assets/{SiteFooter-Cc_g2meZ.js → SiteFooter-DeTk6Tp9.js} +1 -1
- package/website/dist/assets/{Sponsors-BnFu-GKz.js → Sponsors-CtU7ozQG.js} +1 -1
- package/website/dist/assets/{Studio-D_Ku-kNm.js → Studio-TCAixiBo.js} +1 -1
- package/website/dist/assets/{TutorialDetail-NWCMMur-.js → TutorialDetail-BFVdnMot.js} +1 -1
- package/website/dist/assets/{Tutorials-vsvoOfz_.js → Tutorials-TjS9s9dU.js} +1 -1
- package/website/dist/assets/{arrow-left-By5frfaF.js → arrow-left-CQeVnzf3.js} +1 -1
- package/website/dist/assets/{arrow-up-right-CUikZoTe.js → arrow-up-right-6CZEoCcL.js} +1 -1
- package/website/dist/assets/{badge-yz2euTrj.js → badge-D_-OpCvn.js} +1 -1
- package/website/dist/assets/{clock-M7oQfJso.js → clock-DmQbD5zO.js} +1 -1
- package/website/dist/assets/{copy-Dg7XjSsj.js → copy-BGlHf8Sb.js} +1 -1
- package/website/dist/assets/{copy-button-CKwo9hmn.js → copy-button-Do1_UuyM.js} +1 -1
- package/website/dist/assets/{index-wcThbHRx.js → index-ap4cgOZb.js} +2 -2
- package/website/dist/assets/{mail-C3bj6Q4N.js → mail-CtBsV2DI.js} +1 -1
- package/website/dist/assets/{search-DYZkqer3.js → search-B2ActJ9e.js} +1 -1
- package/website/dist/assets/{sparkles-BsDt_wQ_.js → sparkles-D92-C4bd.js} +1 -1
- package/website/dist/assets/{sponsors-BgrzMlxi.js → sponsors-KYk24ElG.js} +1 -1
- package/website/dist/assets/{users-Bt55vFuz.js → users-Cbz4vEtL.js} +1 -1
- package/website/dist/index.html +1 -1
- package/website/dist/assets/Changelog-DAanbhWT.js +0 -8
- package/workflows-en/content-pipeline.yaml +0 -58
- package/workflows-en/product-review.yaml +0 -64
- /package/{workflows-en → workflows/en}/code-architecture-review.yaml +0 -0
- /package/{workflows-en → workflows/en}/investment-analysis.yaml +0 -0
- /package/{workflows-en → workflows/en}/okr-decomposition.yaml +0 -0
- /package/{workflows-en → workflows/en}/tech-blog.yaml +0 -0
package/README.en.md
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
|
|
12
12
|
**One sentence → full plan · 216 expert AI roles · Zero-code YAML · 10 LLM providers · key supported (DeepSeek recommended), plus 7 key-free options**
|
|
13
13
|
|
|
14
|
-
> **Note:** `ao compose --run` auto-detects your language. Both 216 Chinese roles and 184 English roles ([agency-agents](https://github.com/msitarzewski/agency-agents), MIT) are **bundled in the npm package — no extra download needed**. **
|
|
14
|
+
> **Note:** `ao compose --run` auto-detects your language. Both 216 Chinese roles and 184 English roles ([agency-agents](https://github.com/msitarzewski/agency-agents), MIT) are **bundled in the npm package — no extra download needed**. **10 English workflow templates** are ready in `workflows/en/`.
|
|
15
15
|
|
|
16
16
|
> 📖 [Full Tutorial](https://dev.to/jnmetacode/agency-orchestrator-one-sentence-five-ai-agents-a-complete-plan-in-3-minutes-1ij6) — from install to real-world use in 10 minutes
|
|
17
17
|
|
|
@@ -120,7 +120,7 @@ ao compose "Analyze the feasibility of building an AI budgeting app" --run
|
|
|
120
120
|
### Step 3: Use built-in templates or integrate with AI coding tools
|
|
121
121
|
|
|
122
122
|
```bash
|
|
123
|
-
#
|
|
123
|
+
# 10 English workflow templates in workflows/en/
|
|
124
124
|
ao run workflows/en/solo-founder-plan.yaml -i idea="AI-powered resume builder for job seekers"
|
|
125
125
|
ao run workflows/en/pr-review.yaml -i pr_diff=@mypr.diff -i pr_description="Add auth middleware"
|
|
126
126
|
ao run workflows/en/business-plan.yaml -i idea="B2B SaaS for remote-team project tracking"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agency-orchestrator",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.4",
|
|
4
4
|
"description": "Multi-agent YAML workflow engine — 211 AI roles, auto DAG parallelism, zero code. One sentence → multiple AI roles collaborate → complete plan in minutes. 10 LLM providers, 7 need no API key.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"multi-agent",
|
|
@@ -76,7 +76,6 @@
|
|
|
76
76
|
"web/",
|
|
77
77
|
"website/dist/",
|
|
78
78
|
"workflows/",
|
|
79
|
-
"workflows-en/",
|
|
80
79
|
"examples/",
|
|
81
80
|
"integrations/",
|
|
82
81
|
"agency-agents/",
|
package/web/server.js
CHANGED
|
@@ -18,7 +18,7 @@ const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
|
18
18
|
const ROOT = resolve(__dirname, '..');
|
|
19
19
|
const WORKFLOWS_DIR = join(ROOT, 'workflows');
|
|
20
20
|
// 英文内置模板库(curated)。英文站按语言 serve;没有英文版的模板不混中文进来。
|
|
21
|
-
const WORKFLOWS_DIR_EN = join(ROOT, 'workflows
|
|
21
|
+
const WORKFLOWS_DIR_EN = join(ROOT, 'workflows', 'en');
|
|
22
22
|
// Optional extra workflows dir for your own/team workflows, e.g. set
|
|
23
23
|
// AO_USER_WORKFLOWS_DIR=marketing/workflows (absolute or ROOT-relative). Off by default.
|
|
24
24
|
const USER_WORKFLOWS_DIR = process.env.AO_USER_WORKFLOWS_DIR
|
|
@@ -217,7 +217,7 @@ function loadWorkflowMeta(dir, tagPrivate = false) {
|
|
|
217
217
|
|
|
218
218
|
// ── Workflow list ──
|
|
219
219
|
app.get('/api/workflows', (req, res) => {
|
|
220
|
-
// 英文站优先用英文模板库(workflows
|
|
220
|
+
// 英文站优先用英文模板库(workflows/en);没有英文版的就不混中文进来,保持一致体验。
|
|
221
221
|
const builtinDir = (req.query.lang === 'en' && existsSync(WORKFLOWS_DIR_EN)) ? WORKFLOWS_DIR_EN : WORKFLOWS_DIR;
|
|
222
222
|
const all = [
|
|
223
223
|
...loadWorkflowMeta(builtinDir, false),
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import{u as d,r as m,j as n}from"./vendor-react-DvXH3HTt.js";import{S as p}from"./SiteFooter-DeTk6Tp9.js";import{B as c}from"./badge-D_-OpCvn.js";import{M as u}from"./Markdown-D3PnLbyB.js";import{c as h,u as g,S as x}from"./index-ap4cgOZb.js";import{A as f}from"./arrow-up-right-6CZEoCcL.js";import"./vendor-radix-Bip5Pqfe.js";import"./vendor-charts-BiMa1Zmo.js";/**
|
|
2
|
+
* @license lucide-react v0.469.0 - ISC
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the ISC license.
|
|
5
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/const L=h("Tag",[["path",{d:"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",key:"vktsd0"}],["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}]]),k='# Changelog\n\n本项目采用 [语义化版本](https://semver.org/lang/zh-CN/)。\n\n## [Unreleased]\n\n## [0.7.4] - 2026-06-16\n\n### Changed\n- 英文工作流模板统一到 `workflows/en/`(10 个),移除重复的 `workflows-en/` 目录(web/server.js、package.json、README.en 同步更新)。\n\n### Fixed\n- 补提交英文库 `agency-agents/marketing/` 的 30 个角色——此前随 npm 包分发但因历史 `.gitignore` 规则从未纳入 git,fresh clone / CI 会缺这些角色。\n\n## [0.7.3] - 2026-06-16\n\n### Fixed\n- **`--resume` 上下文污染**:恢复上游产出时未剥离 step 文件头(`> 名字 | 步骤 i/n … ---`),下游专家会收到带 markdown 头的「上一版产出」;现与 `loadStepOutput` 一致只回灌正文(含回归测试)。\n- **OpenAI 兼容流式静默截断**:命中 `max_tokens`(`finish_reason=length`)时直接返回截断内容、不续写——正是 DeepSeek 长文场景;现读取 `finish_reason`,达上限自动续写(与流断开同样处理)。\n- **安全**:`claude-code` 临时系统提示词文件改为 `0600`,避免同机其他用户读取专有角色定义。\n\n### Changed\n- 英文站专家计数按英文库实际显示 **184**(原误标 216),并移除英文文案中英文库并不包含的「中国平台角色」描述。\n- 删除演示模式改造后已无引用的死代码 `StudioGate.tsx`。\n\n## [0.7.2] - 2026-06-16\n\n### Changed\n- **角色库升级到 agency-agents-zh 1.2.2**:中文角色 **211 → 216**(新增服装厂排产工程师等;并带来 Hermes Windows 目录修复、Qoder 集成、ai-citation-strategist 中文化)。全站计数统一为 **216 中文 / 184 英文**(README / 官网 / 文档 / 教程 / About)。\n\n### Fixed\n- 官网专家库清理一个失效角色的孤儿提示词(`support-supply-chain-strategist`,1.2.x 已移除)。\n\n## [0.7.1] - 2026-06-16\n\n### Fixed\n- **嵌套角色现在可枚举 / 可用**:角色加载改为**递归**子目录,`game-development/unity/*`、`unreal-engine/*`、`roblox-studio/*`、`godot/*`、`blender/*` 等 15 个嵌套智能体此前无法被 `listAgents` / `ao roles` / compose 建议发现(loader 只扫一层)——现在补齐,中文库角色数与官方一致达到 **211**(英文库 184)。\n- **枚举只认真角色**:仅纳入带 `name:` frontmatter 的 `.md`,排除 `QUICKSTART` / `EXECUTIVE-BRIEF` 等攻略 / 模板文档(此前会被当成"角色"混入列表)。\n- **官网专家库补齐**:`gen-experts.mjs` 同步递归,专家浏览 / 复制提示词覆盖全部 211(zh)+ 184(en),不再漏掉游戏开发类嵌套专家。\n\n## [0.7.0] - 2026-06-16\n\n### Added\n- **网页 Studio + 桌面客户端**:本地 `ao web` 启动可视化 Studio(角色组队 / 工作流 / 运行历史 / 用量 / 密钥);同一套 UI 打包为 Electron 桌面客户端(macOS arm64+Intel · Windows · Linux),经 GitHub Actions 一键发布到 Releases,官网提供下载入口。key 只存本机。\n- **Studio / 官网全面双语化 + 英文资源**:UI、角色库、工作流模板按语言切换(`/en` 读英文 `agency-agents` 库与 `workflows-en/` 模板,不再混中文)。\n- **CompShare(优云智算)provider 内置**:OpenAI 兼容接入,填 key 即用(`COMPSHARE_API_KEY` / `COMPSHARE_BASE_URL`)。\n- **一键复制完整提示词**:Studio 专家详情与公开站「专家库」页都能查看 / 复制每位专家的完整系统提示词(公开站读静态 `experts.json` + `/prompts/*.md`)。\n- **公开站 `/studio` 演示模式**:无后端也能浏览全部专家、查看 / 复制提示词;填 key 与运行被引导到「安装客户端 / 本地运行」。\n- **`ao roles <关键词>` 角色搜索**:按 角色路径 / 名称 / 描述 不区分大小写过滤(也支持 `--search`);无匹配给友好提示。\n- **`ao init` 首跑向导**:角色库装好后自动探测可用 provider(优先免 key 的 claude-code CLI / Ollama),按环境给出个性化下一步,缩短「安装→价值」。\n- **评测回归门禁**:黄金任务集抽到 `eval/golden-tasks.ts`;新增 `eval/gate.ts` 与 `npm run eval:gate` / `eval:baseline`——胜率阈值 + judge 双向一致率阈值 + 基线快照回归判定,judge 太弱时判 INCONCLUSIVE(绝不当通过)。\n\n### Changed\n- **`ao compose` 幻觉角色确定性修复**:生成的工作流引用不存在的角色时,优先用最接近的**真实角色直接改写 YAML**(不再多花一次 LLM 调用、保证产物可运行),无可信匹配才回退 LLM;并在 LLM 重试后再做确定性兜底,堵住「重试后仍残留坏角色却被当成功」的缺口。\n- **打包内容**:npm 包额外纳入 `web/`、`website/dist/`、`workflows-en/`,`prepublishOnly` 自动构建引擎 + Studio。\n\n### Tests\n- 新增 `test/roles.ts`、`test/init.ts`、`test/eval-gate.ts` 并并入 `npm test`;`test/compose.ts` 覆盖确定性角色修复。\n\n## [0.6.17] - 2026-04-29\n\n### Added\n- 模板库扩充:5 个手写精调高质量 workflow,覆盖个人 / 中小团队高频场景\n - `tech-blog.yaml` — 技术博客创作(调研 → 大纲 → 正文 → 润色,4 步)\n - `meeting-notes.yaml` — 会议纪要整理(清理 → 决策/TODO/争议 三视角并行 → 整合,5 步)\n - `okr-decomposition.yaml` — OKR 拆解(现状分析 → 季度 KR → Q1 行动方案 → 完整文档,4 步)\n - `product-launch-comms.yaml` — 产品发布物料(统一定位 → 通稿 / 社交 / 邮件 三件套并行 → 物料包,5 步)\n - `pitch-deck-outline.yaml` — 创业 Pitch Deck 大纲(市场 / 方案 / 商业模式 / 财务 四角度并行 → 5 屏 deck,5 步)\n- 内置 workflow 总数从 44 个增加到 **49 个**,全部 validate 通过\n\n### Notes\n- 5 个模板都是"输入一句话 / 一段简介 → 多角度并行展开 → 整合"的纯 LLM 任务,不依赖外部数据 / 联网,零歧义\n- 每个模板的 task 描述都精确指定输出格式(markdown 模板)和约束(字数 / 结构 / 不许 AI 套话),避免 LLM 输出泛泛而谈\n- 默认 provider deepseek-chat(最便宜稳),用户可用 `--provider` 覆盖\n\n## [0.6.16] - 2026-04-29\n\n### Changed\n- **`ao demo` 重构:检测优先,去掉预录 mock**\n - 检测到可用 LLM(CLI / API key / Ollama)→ **直接真跑** story-creation 工作流,无需"先看 mock 再确认"\n - 没检测到 → 显示**真实 DAG 结构**(用 ao 自身的 `formatDAG`)+ 3 行行动指引(Claude Code / DeepSeek / Ollama 任选)\n - 删掉旧的 `MOCK_STEPS` 预录数据 + `replayMockSteps` 函数(共 ~150 行)。原 mock 内容是精修过的小说创作,让用户对真跑的输出期望被错误抬高,且占用 5 秒注意力后还要再问 y/n,链路过长\n - 体验路径从 "mock 5s → 选 provider → y/n → 真跑" 简化为 "检测 → 真跑" 或 "检测 → DAG + 配 key 指引"\n\n## [0.6.15] - 2026-04-27\n\n### Fixed\n- CLI provider(claude-code / gemini-cli / copilot-cli / codex-cli / openclaw-cli / hermes-cli)在"进程退出码 0 但 stdout 完全空"时,cli-base.ts 之前会默默返回空字符串给上层,导致 `ao compose` 报出迷惑性的"AI 生成的内容不是有效的 workflow YAML",真实根因被吞。现在直接 reject 并给出诊断 hint:可能是 CLI 命令格式过期(参考 issue #14 hermes 的 `chat -q` → `-z`)、agent / model 配置错、或需要先认证。错误消息附上"在终端直接跑一次该命令看真实输出"的具体调试建议\n\n### Tests\n- 新增 test/cli-base.ts:覆盖 4 类场景(exit 0 + 空输出 reject / 正常输出 / exit 非 0 + stderr / ENOENT 提示安装),全量从 135 项增加到 **139 项**\n\n## [0.6.14] - 2026-04-27\n\n### Fixed\n- **#16** DeepSeek 原生 connector 在某些用户环境下报 `405 Method Not Allowed`。根因:commit `f96d7b0` 让 deepseek case fallback 到 `OPENAI_BASE_URL` env,但用户先用 `ao init --provider openai --base-url https://api.openai.com/v1` 写入过 `OPENAI_BASE_URL` 后切到 deepseek,会用 OpenAI endpoint + DeepSeek key 调用,得到 405。修复:每个 provider 用自己专属的 BASE_URL env(deepseek → `DEEPSEEK_BASE_URL`,openai → `OPENAI_BASE_URL`),不再跨污染。`ao init` 也对应路由到正确 env\n\n### Tests\n- 修补一个发版 process 漏洞:`factory-custom.ts` / `step-llm.ts` / `step-llm-yaml.ts` / `stdin-limit.ts` / `compose-name.ts` 这 5 个测试文件之前**根本没在 `npm test` 里跑**(21 项 +1 项新加的测试都不被 CI 守护)。补进 test 脚本,全量从 114 项增加到 **135 项**\n- 新增 2 项 factory-custom 测试覆盖 #16:deepseek 不被 OPENAI_BASE_URL 污染 / DEEPSEEK_BASE_URL 自定义代理仍生效\n\n## [0.6.13] - 2026-04-27\n\n### Fixed\n- **回归修复**:0.6.12 新加的"output 唯一性校验"对两类合法的 ao 设计模式误报,导致 6 个内置 workflow 在 validate 时失败。现在校验放过两类例外:\n - **`any_completed` 分支收敛**:多个并行 step 产出同名 output,下游用 `depends_on_mode: any_completed` 引用,是有意的"任一分支完成即走"设计(如 incident-response.yaml 的多团队并行分析、hiring-pipeline.yaml 的多维度评估)\n - **loop 迭代覆盖**:种子 step 产生初始值 + loop step 反复覆盖同名 output,是常见的"原地修改"迭代模式(如 content-publish.yaml 的 write/revise 循环)\n- 修了 3 个内置 workflow 的拓扑反向引用:legal-consultation.yaml / investment-analysis.yaml / xiaohongshu-content.yaml 的相关 step 补 `depends_on`(不是新校验过严,是 yaml 本身设计就有缺陷,新校验把它们暴露出来)\n\n### Tests\n- 新增 2 项 parser 测试覆盖 any_completed / loop 迭代覆盖的合法重名例外\n- E2E 验证:44 个内置 workflow 现在全部通过 validate\n\n## [0.6.12] - 2026-04-27\n\n### Fixed\n- **#14** `hermes-cli` connector 用旧参数 `chat -q` 调用 hermes,新版 hermes 已废弃此用法、改为 `-z`(oneshot)。修正参数让 hermes provider 重新可用\n- `validateWorkflow` 之前只检查"变量是否在某处定义",不检查"是否在引用方的 DAG 上游"。一个 step 引用下游 step 的 output(拓扑反向)会通过校验,到 run 阶段才崩。现在校验阶段就拦下,错误提示明确指出"该变量由非上游 step 产出,需要把对应 step 加进 depends_on"。和 autoFix 的拓扑约束保持一致\n- `validateWorkflow` 加 `step.output` 唯一性检查。两个 step 不能 output 到同一个变量名(重名会让下游引用拿到的值依赖 context Map 写入顺序,不可预期)\n- `validateWorkflow` 的变量引用检查范围扩到 `step.condition` / `step.loop.exit_condition` / `step.prompt`。之前只看 `step.task`,让条件分支表达式里的未定义变量漏检\n\n### Tests\n- 新增 3 项 parser 测试覆盖:拓扑反向引用 / output 重名 / condition 字段里的未定义变量\n\n## [0.6.11] - 2026-04-27\n\n### Fixed\n- `repairWithLLM` 失败时静默吞错。LLM 调用因网络/认证/超时失败时不再悄悄返回,会在 stderr 给出失败原因,避免用户看到 "LLM 修复后仍有 X 个变量未解决" 误以为 LLM 修了但不够,实际是根本没调通\n\n### Tests\n- 新增 1 项测试覆盖跨 step 同名 bad var 的已知边界行为(全局 replace 只处理一次,靠 LLM repair 兜底)\n\n## [0.6.10] - 2026-04-27\n\n### Fixed\n- `ao compose --run` 生成的 YAML 中变量引用错误的修复链全面强化。原 `autoFixVariableRefs` 启发式有两个核心缺陷:\n - 模糊匹配在**全局 outputs** 范围内找替换目标,能把"早期 step 引用未来 step output"配上(DAG 拓扑反向),例如 `{{personal_assessment}}` 被错误地改成 `{{final_report}}`\n - 启发式覆盖不全时直接放弃,没有 LLM 兜底\n- 现在的修复链:\n - autoFix 加 **DAG 上游约束**:替换目标必须在当前 step 的 `depends_on` 递归闭包内的 step.output 集合里。指向下游或跨支的错改不再可能\n - autoFix 修不全时自动调 **LLM 二次修复**:把当前 YAML、未解决的变量列表、可用 inputs/outputs 喂给 LLM,让它选择改 task 引用 / 加 step output / 补 depends_on\n - `--run` 模式在 compose 阶段就检查"未定义变量 / 角色不存在 / 解析失败"等致命错误,不再放进 run 阶段才崩溃;abort 时给出清晰的"重新生成 / 手动修改"建议\n\n### Changed\n- compose system prompt(中英)加两条规则:(1) 每个 `{{X}}` 引用的 X 必须在 inputs 或上游 step.output 中;(2) merge / 汇总类 step 的 `depends_on` 必须列出所有产生引用变量的上游 step\n\n## [0.6.9] - 2026-04-24\n\n### Fixed\n- Windows 上 `ao run` / `ao compose` / `ao serve` 找不到包内置 / node_modules 下的 agents 目录,报 "agents 目录不存在"。根因:`new URL(import.meta.url).pathname` 在 Windows 上返回 `/C:/Users/...` 这种前导斜杠非法路径,`dirname` + `resolve` 后所有依赖 scriptDir 的候选路径全部失效。改用 `node:url` 的 `fileURLToPath` 跨平台 API 正确解析。Mac/Linux 行为不变\n\n## [0.6.8] - 2026-04-24\n\n### Changed\n- 超时重试递增的上限从 900s 提到 3600s(60 分钟)。原上限对 CLI / ollama 长任务偏紧:CLI 默认 600s 起跳第一次递增就封顶,用户 `--timeout 20m` 起点已超上限完全不递增。抬到 60min 后覆盖绝大多数真实长任务;仍然保留上限作为"防误配置放飞"的保险丝。真要超过 1 小时单步用 `timeout: 0` / `--timeout 0` 完全不限时\n\n## [0.6.7] - 2026-04-23\n\n### Added\n- `ao run` / `ao compose` 新增 `--timeout <value>` 参数。支持 `300000`(毫秒)、`300s`(秒)、`5m`(分钟)、`0`(不限时)。命令行优先级高于 YAML 里的 `llm.timeout`\n- 因超时触发重试时,下一次 timeout 自动 x1.5 递增(上限 900s,本版本后续被提到 3600s)。递增同时作用于 connector 内层 fetch/CLI timeout,避免内层 hard timeout 提前 abort\n\n### Changed\n- `ao compose` 生成的 YAML 默认 `timeout` 从 120000 抬到 300000(API 类 provider)。ollama 和 CLI 类保持 600000\n- `withTimeout` 错误消息加引导:"超时 (Xms),可用 --timeout 或 YAML llm.timeout 延长"\n\n### Fixed\n- `classifyError` 5xx / 429 状态码改用 `\\b` 单词边界匹配。原 `msg.includes(\'500\')` 等会把 "450000ms"、"1500ms"、"1429ms" 等字符串里的数字子串误判成 HTTP 错误,导致超时错误被错误归类为 server_error,递增逻辑失效\n- `classifyError` 现在识别中文"超时"字样。之前 `withTimeout` 抛出的 `超时 (120000ms)` 被归为 non_retryable,retry 根本不触发\n- `timeout: 0`(不限时)现在真正生效。原 `effectiveConfig.timeout || default` 把 0 当 falsy 用默认值覆盖了,改成 `!== undefined` 判断\n',v=/^##\s*\[([^\]]+)\]\s*(?:-\s*(.+))?$/;function y(s=k){const t=s.split(`
|
|
7
|
+
`),o=[];let e=null,a=[];const r=()=>{e&&(e.body=a.join(`
|
|
8
|
+
`).trim(),o.push(e))};for(const l of t){const i=l.match(v);i?(r(),e={version:i[1].trim(),date:(i[2]??"").trim(),body:""},a=[]):e&&a.push(l)}return r(),o}const A=y();function b(s){return`v${s.replace(/[^\w.-]/g,"-")}`}function N(){const{t:s}=g(),t=s.changelog,{hash:o}=d();return m.useEffect(()=>{if(!o)return;const e=document.getElementById(o.slice(1));e&&e.scrollIntoView({behavior:"smooth",block:"start"})},[o]),n.jsxs(n.Fragment,{children:[n.jsx("main",{className:"pt-24",children:n.jsxs("div",{className:"container-page max-w-3xl pb-20",children:[n.jsx("h1",{className:"text-3xl font-extrabold tracking-tight sm:text-4xl",children:t.title}),n.jsx("p",{className:"mt-3 text-muted-foreground",children:t.subtitle}),n.jsx("div",{className:"mt-10 space-y-5",children:A.map((e,a)=>{const r=b(e.version);return n.jsxs("section",{id:r,className:"scroll-mt-24 rounded-2xl border border-border/70 bg-card/60 p-6",children:[n.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[n.jsxs("a",{href:`#${r}`,className:"inline-flex items-center gap-1.5 text-xl font-bold hover:text-primary",children:[n.jsx(L,{className:"size-4 text-primary"}),/^\d/.test(e.version)?`v${e.version}`:e.version]}),a===0&&n.jsx(c,{className:"border-primary/30 bg-primary/10 text-primary",children:t.latest}),e.date&&n.jsx("span",{className:"text-sm text-muted-foreground",children:e.date})]}),e.body&&n.jsx(u,{className:"mt-4",children:e.body})]},e.version)})}),n.jsxs("a",{href:x.changelog,target:"_blank",rel:"noreferrer",className:"mt-12 inline-flex items-center gap-1.5 rounded-xl border border-border/70 bg-card/60 px-4 py-3 text-sm font-medium hover:border-primary/40",children:[t.repoLink,n.jsx(f,{className:"size-4 text-primary"})]})]})}),n.jsx(p,{})]})}export{N as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{f as b,r as u,j as e,h as k,L as w}from"./vendor-react-DvXH3HTt.js";import{C as x}from"./copy-button-
|
|
1
|
+
import{f as b,r as u,j as e,h as k,L as w}from"./vendor-react-DvXH3HTt.js";import{C as x}from"./copy-button-Do1_UuyM.js";import{S as v}from"./SiteFooter-DeTk6Tp9.js";import{M as A}from"./Markdown-D3PnLbyB.js";import{u as z,a as O}from"./index-ap4cgOZb.js";import{S as I}from"./search-B2ActJ9e.js";import"./copy-BGlHf8Sb.js";import"./vendor-radix-Bip5Pqfe.js";import"./vendor-charts-BiMa1Zmo.js";const i=[{icon:"🚀",label:{zh:"快速入门",en:"Getting started"},pages:[{slug:"intro",title:{zh:"软件介绍",en:"Introduction"},sections:[{heading:{zh:"什么是 Agency Orchestrator",en:"What is Agency Orchestrator"},body:{zh:`Agency Orchestrator(\`ao\`)是 **agency-agents 专家角色库的编排器**。
|
|
2
2
|
|
|
3
3
|
agency-agents 里有 216 位打磨好的 AI 专家——营销、工程、设计、产品、财务、法律、销售、学术……每一位都是一段精调过的系统提示词,让模型稳定地以该领域专家的身份输出。但单独一位专家只能解决一个环节;真实任务往往要**多位专家分工协作**:研究员先调研、分析师再拆解、撰稿人成文、收口角色把关。
|
|
4
4
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as l,j as e}from"./vendor-react-DvXH3HTt.js";import{S as F}from"./SiteFooter-
|
|
1
|
+
import{r as l,j as e}from"./vendor-react-DvXH3HTt.js";import{S as F}from"./SiteFooter-DeTk6Tp9.js";import{u as R,a as p,S as D,X as K}from"./index-ap4cgOZb.js";import{e as q}from"./experts-Bv953aOf.js";import{S as H}from"./search-B2ActJ9e.js";import{C as z,a as M}from"./copy-BGlHf8Sb.js";import{A as I}from"./arrow-up-right-6CZEoCcL.js";import"./vendor-radix-Bip5Pqfe.js";import"./vendor-charts-BiMa1Zmo.js";const E=q;async function Q(n){try{return await navigator.clipboard.writeText(n),!0}catch{try{const a=document.createElement("textarea");a.value=n,a.style.position="fixed",a.style.opacity="0",document.body.appendChild(a),a.select();const s=document.execCommand("copy");return document.body.removeChild(a),s}catch{return!1}}}function T({e:n,className:a}){return e.jsx("span",{className:p("grid size-10 shrink-0 place-items-center rounded-xl text-lg font-bold text-white",a),style:{background:n.color||"#888"},children:n.emoji||n.name.slice(0,1)})}function Y(){const{t:n,lang:a}=R(),s=n.experts,m=E[a]??E.zh,[u,P]=l.useState(""),[c,y]=l.useState("all"),f=l.useRef(new Map),[x,j]=l.useState(null),[d,b]=l.useState(null),[N,h]=l.useState(""),[v,w]=l.useState(!1),k=l.useCallback(async t=>{const r=`${a}/${t.category}/${t.id}`;if(f.current.has(r))return f.current.get(r);const o=await fetch(`/prompts/${a}/${t.category}/${t.id}.md`);if(!o.ok)throw new Error("fetch failed");const i=await o.text();return f.current.set(r,i),i},[a]),C=t=>{j(t),setTimeout(()=>j(r=>r===t?null:r),1800)},$=async t=>{const r=`${t.category}/${t.id}`;try{const o=await Q(await k(t));C(o?r:`fail:${r}`)}catch{C(`fail:${r}`)}},S=async t=>{b(t),h(""),w(!0);try{h(await k(t))}catch{h("")}w(!1)},L=l.useMemo(()=>{const t=new Map;return m.forEach(r=>t.set(r.category,r.categoryName)),Array.from(t,([r,o])=>({id:r,name:o}))},[m]),g=l.useMemo(()=>{const t=u.trim().toLowerCase();return m.filter(r=>c!=="all"&&r.category!==c?!1:t?(r.name+r.description+r.categoryName).toLowerCase().includes(t):!0)},[m,u,c]);return e.jsxs(e.Fragment,{children:[e.jsx("main",{className:"pt-24",children:e.jsxs("div",{className:"container-page pb-20",children:[e.jsxs("div",{className:"mx-auto max-w-2xl text-center",children:[e.jsx("h1",{className:"text-3xl font-extrabold tracking-tight sm:text-4xl md:text-5xl",children:s.title}),e.jsx("p",{className:"mx-auto mt-4 text-pretty leading-relaxed text-muted-foreground",children:s.subtitle})]}),e.jsx("div",{className:"mx-auto mt-8 max-w-xl",children:e.jsxs("div",{className:"relative",children:[e.jsx(H,{className:"pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-muted-foreground"}),e.jsx("input",{value:u,onChange:t=>P(t.target.value),placeholder:s.searchPlaceholder,className:"w-full rounded-xl border border-border/70 bg-card/60 py-2.5 pl-10 pr-3 text-sm outline-none focus:border-primary/40"})]})}),e.jsxs("div",{className:"mt-5 flex flex-wrap items-center justify-center gap-2",children:[e.jsx(A,{active:c==="all",onClick:()=>y("all"),children:s.all}),L.map(t=>e.jsx(A,{active:c===t.id,onClick:()=>y(t.id),children:t.name},t.id))]}),e.jsxs("p",{className:"mt-4 text-center text-sm text-muted-foreground",children:[g.length," ",s.countSuffix]}),g.length===0?e.jsx("p",{className:"mt-16 text-center text-sm text-muted-foreground",children:s.empty}):e.jsx("div",{className:"mt-6 grid gap-4 sm:grid-cols-2 lg:grid-cols-3",children:g.map(t=>{const r=`${t.category}/${t.id}`,o=x===r,i=x===`fail:${r}`;return e.jsxs("div",{className:"flex flex-col rounded-2xl border border-border/70 bg-card/60 p-5 transition-colors hover:border-primary/40",children:[e.jsxs("button",{type:"button",onClick:()=>S(t),className:"flex items-center gap-3 text-left",children:[e.jsx(T,{e:t}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("div",{className:"truncate text-[11px] font-medium text-primary",children:t.categoryName}),e.jsx("h3",{className:"truncate font-semibold",children:t.name})]})]}),e.jsx("p",{className:"mt-3 line-clamp-4 flex-1 text-sm leading-relaxed text-muted-foreground",children:t.description}),e.jsxs("div",{className:"mt-4 flex items-center gap-2",children:[e.jsx("button",{type:"button",onClick:()=>S(t),className:"rounded-lg border border-border/70 px-3 py-1.5 text-xs font-medium text-muted-foreground hover:border-primary/40 hover:text-foreground",children:s.viewPrompt}),e.jsxs("button",{type:"button",onClick:()=>$(t),className:p("inline-flex flex-1 items-center justify-center gap-1.5 rounded-lg border px-3 py-1.5 text-xs font-medium transition-colors",o?"border-emerald-500/40 bg-emerald-500/10 text-emerald-500":i?"border-red-500/40 bg-red-500/10 text-red-500":"border-primary/40 bg-primary/10 text-primary hover:bg-primary/15"),children:[o?e.jsx(z,{className:"size-3.5"}):e.jsx(M,{className:"size-3.5"}),o?s.copied:i?s.copyFailed:s.copyPrompt]})]})]},r)})}),e.jsx("div",{className:"mt-12 text-center",children:e.jsxs("a",{href:D.rolesRepo,target:"_blank",rel:"noreferrer",className:"inline-flex items-center gap-1.5 rounded-xl border border-border/70 bg-card/60 px-4 py-3 text-sm font-medium hover:border-primary/40",children:[s.repoCta,e.jsx(I,{className:"size-4 text-primary"})]})})]})}),e.jsx(F,{}),d&&e.jsx("div",{className:"fixed inset-0 z-50 flex items-end justify-center bg-black/60 p-0 backdrop-blur-sm sm:items-center sm:p-6",onClick:()=>b(null),children:e.jsxs("div",{className:"flex max-h-[90vh] w-full max-w-2xl flex-col overflow-hidden rounded-t-2xl border border-border/70 bg-card shadow-2xl sm:rounded-2xl",onClick:t=>t.stopPropagation(),children:[e.jsxs("div",{className:"flex items-center gap-3 border-b border-border/70 p-4",children:[e.jsx(T,{e:d}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("div",{className:"truncate text-[11px] font-medium text-primary",children:d.categoryName}),e.jsx("h3",{className:"truncate font-semibold",children:d.name})]}),e.jsx("button",{type:"button",onClick:()=>b(null),"aria-label":s.close,className:"rounded-lg p-1.5 text-muted-foreground hover:bg-muted hover:text-foreground",children:e.jsx(K,{className:"size-5"})})]}),e.jsx("p",{className:"px-4 pt-3 text-xs text-muted-foreground",children:s.promptHint}),e.jsx("div",{className:"m-4 flex-1 overflow-auto rounded-xl border border-border/60 bg-background/60 p-4",children:v?e.jsx("p",{className:"text-sm text-muted-foreground",children:s.loading}):e.jsx("pre",{className:"whitespace-pre-wrap break-words font-mono text-xs leading-relaxed text-foreground",children:N})}),e.jsx("div",{className:"flex items-center justify-end gap-2 border-t border-border/70 p-4",children:(()=>{const t=`${d.category}/${d.id}`,r=x===t,o=x===`fail:${t}`;return e.jsxs("button",{type:"button",onClick:()=>$(d),disabled:v||!N,className:p("inline-flex items-center gap-1.5 rounded-lg border px-4 py-2 text-sm font-medium transition-colors disabled:opacity-50",r?"border-emerald-500/40 bg-emerald-500/10 text-emerald-500":o?"border-red-500/40 bg-red-500/10 text-red-500":"border-primary/40 bg-primary/10 text-primary hover:bg-primary/15"),children:[r?e.jsx(z,{className:"size-4"}):e.jsx(M,{className:"size-4"}),r?s.copied:o?s.copyFailed:s.copyPrompt]})})()})]})})]})}function A({active:n,onClick:a,children:s}){return e.jsx("button",{type:"button",onClick:a,className:p("rounded-full border px-3 py-1 text-sm font-medium transition-colors",n?"border-primary/40 bg-primary/10 text-primary":"border-border/70 text-muted-foreground hover:text-foreground"),children:s})}export{Y as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{j as e,L as c}from"./vendor-react-DvXH3HTt.js";import{c as i,u as n,S as l,B as d,G as m}from"./index-
|
|
1
|
+
import{j as e,L as c}from"./vendor-react-DvXH3HTt.js";import{c as i,u as n,S as l,B as d,G as m}from"./index-ap4cgOZb.js";import{B as u,U as b,T as j,K as f}from"./users-Cbz4vEtL.js";import{m as o}from"./vendor-framer-motion-ZdeJPCY2.js";import{C as p}from"./copy-button-Do1_UuyM.js";import{B as N}from"./badge-D_-OpCvn.js";import{C as y}from"./copy-BGlHf8Sb.js";import{H as v,s as w}from"./sponsors-KYk24ElG.js";import{S as k}from"./SiteFooter-DeTk6Tp9.js";import"./vendor-radix-Bip5Pqfe.js";import"./vendor-charts-BiMa1Zmo.js";/**
|
|
2
2
|
* @license lucide-react v0.469.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{g as er,j as Y}from"./vendor-react-DvXH3HTt.js";import{a as ct}from"./index-wcThbHRx.js";function mi(e,t){const n={};return(e[e.length-1]===""?[...e,""]:e).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}const gi=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,di=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,yi={};function ft(e,t){return(yi.jsx?di:gi).test(e)}const xi=/[ \t\n\f\r]/g;function ki(e){return typeof e=="object"?e.type==="text"?ht(e.value):!1:ht(e)}function ht(e){return e.replace(xi,"")===""}class Xe{constructor(t,n,r){this.normal=n,this.property=t,r&&(this.space=r)}}Xe.prototype.normal={};Xe.prototype.property={};Xe.prototype.space=void 0;function nr(e,t){const n={},r={};for(const i of e)Object.assign(n,i.property),Object.assign(r,i.normal);return new Xe(n,r,t)}function zn(e){return e.toLowerCase()}class ne{constructor(t,n){this.attribute=n,this.property=t}}ne.prototype.attribute="";ne.prototype.booleanish=!1;ne.prototype.boolean=!1;ne.prototype.commaOrSpaceSeparated=!1;ne.prototype.commaSeparated=!1;ne.prototype.defined=!1;ne.prototype.mustUseProperty=!1;ne.prototype.number=!1;ne.prototype.overloadedBoolean=!1;ne.prototype.property="";ne.prototype.spaceSeparated=!1;ne.prototype.space=void 0;let bi=0;const L=Ae(),X=Ae(),Dn=Ae(),E=Ae(),$=Ae(),Ee=Ae(),re=Ae();function Ae(){return 2**++bi}const Ln=Object.freeze(Object.defineProperty({__proto__:null,boolean:L,booleanish:X,commaOrSpaceSeparated:re,commaSeparated:Ee,number:E,overloadedBoolean:Dn,spaceSeparated:$},Symbol.toStringTag,{value:"Module"})),pn=Object.keys(Ln);class Hn extends ne{constructor(t,n,r,i){let o=-1;if(super(t,n),pt(this,"space",i),typeof r=="number")for(;++o<pn.length;){const l=pn[o];pt(this,pn[o],(r&Ln[l])===Ln[l])}}}Hn.prototype.defined=!0;function pt(e,t,n){n&&(e[t]=n)}function Re(e){const t={},n={};for(const[r,i]of Object.entries(e.properties)){const o=new Hn(r,e.transform(e.attributes||{},r),i,e.space);e.mustUseProperty&&e.mustUseProperty.includes(r)&&(o.mustUseProperty=!0),t[r]=o,n[zn(r)]=r,n[zn(o.attribute)]=r}return new Xe(t,n,e.space)}const tr=Re({properties:{ariaActiveDescendant:null,ariaAtomic:X,ariaAutoComplete:null,ariaBusy:X,ariaChecked:X,ariaColCount:E,ariaColIndex:E,ariaColSpan:E,ariaControls:$,ariaCurrent:null,ariaDescribedBy:$,ariaDetails:null,ariaDisabled:X,ariaDropEffect:$,ariaErrorMessage:null,ariaExpanded:X,ariaFlowTo:$,ariaGrabbed:X,ariaHasPopup:null,ariaHidden:X,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:$,ariaLevel:E,ariaLive:null,ariaModal:X,ariaMultiLine:X,ariaMultiSelectable:X,ariaOrientation:null,ariaOwns:$,ariaPlaceholder:null,ariaPosInSet:E,ariaPressed:X,ariaReadOnly:X,ariaRelevant:null,ariaRequired:X,ariaRoleDescription:$,ariaRowCount:E,ariaRowIndex:E,ariaRowSpan:E,ariaSelected:X,ariaSetSize:E,ariaSort:null,ariaValueMax:E,ariaValueMin:E,ariaValueNow:E,ariaValueText:null,role:null},transform(e,t){return t==="role"?t:"aria-"+t.slice(4).toLowerCase()}});function rr(e,t){return t in e?e[t]:t}function ir(e,t){return rr(e,t.toLowerCase())}const wi=Re({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:Ee,acceptCharset:$,accessKey:$,action:null,allow:null,allowFullScreen:L,allowPaymentRequest:L,allowUserMedia:L,alpha:L,alt:null,as:null,async:L,autoCapitalize:null,autoComplete:$,autoFocus:L,autoPlay:L,blocking:$,capture:null,charSet:null,checked:L,cite:null,className:$,closedBy:null,colorSpace:null,cols:E,colSpan:E,command:null,commandFor:null,content:null,contentEditable:X,controls:L,controlsList:$,coords:E|Ee,crossOrigin:null,data:null,dateTime:null,decoding:null,default:L,defer:L,dir:null,dirName:null,disabled:L,download:Dn,draggable:X,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:L,formTarget:null,headers:$,height:E,hidden:Dn,high:E,href:null,hrefLang:null,htmlFor:$,httpEquiv:$,id:null,imageSizes:null,imageSrcSet:null,inert:L,inputMode:null,integrity:null,is:null,isMap:L,itemId:null,itemProp:$,itemRef:$,itemScope:L,itemType:$,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:L,low:E,manifest:null,max:null,maxLength:E,media:null,method:null,min:null,minLength:E,multiple:L,muted:L,name:null,nonce:null,noModule:L,noValidate:L,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:L,optimum:E,pattern:null,ping:$,placeholder:null,playsInline:L,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:L,referrerPolicy:null,rel:$,required:L,reversed:L,rows:E,rowSpan:E,sandbox:$,scope:null,scoped:L,seamless:L,selected:L,shadowRootClonable:L,shadowRootCustomElementRegistry:L,shadowRootDelegatesFocus:L,shadowRootMode:null,shadowRootSerializable:L,shape:null,size:E,sizes:null,slot:null,span:E,spellCheck:X,src:null,srcDoc:null,srcLang:null,srcSet:null,start:E,step:null,style:null,tabIndex:E,target:null,title:null,translate:null,type:null,typeMustMatch:L,useMap:null,value:X,width:E,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:$,axis:null,background:null,bgColor:null,border:E,borderColor:null,bottomMargin:E,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:L,declare:L,event:null,face:null,frame:null,frameBorder:null,hSpace:E,leftMargin:E,link:null,longDesc:null,lowSrc:null,marginHeight:E,marginWidth:E,noResize:L,noHref:L,noShade:L,noWrap:L,object:null,profile:null,prompt:null,rev:null,rightMargin:E,rules:null,scheme:null,scrolling:X,standby:null,summary:null,text:null,topMargin:E,valueType:null,version:null,vAlign:null,vLink:null,vSpace:E,allowTransparency:null,autoCorrect:null,autoSave:null,credentialless:L,disablePictureInPicture:L,disableRemotePlayback:L,exportParts:Ee,part:$,prefix:null,property:null,results:E,security:null,unselectable:null},space:"html",transform:ir}),Si=Re({attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",maskType:"mask-type",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},properties:{about:re,accentHeight:E,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:E,amplitude:E,arabicForm:null,ascent:E,attributeName:null,attributeType:null,azimuth:E,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:E,by:null,calcMode:null,capHeight:E,className:$,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:E,diffuseConstant:E,direction:null,display:null,dur:null,divisor:E,dominantBaseline:null,download:L,dx:null,dy:null,edgeMode:null,editable:null,elevation:E,enableBackground:null,end:null,event:null,exponent:E,externalResourcesRequired:null,fill:null,fillOpacity:E,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:Ee,g2:Ee,glyphName:Ee,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:E,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:E,horizOriginX:E,horizOriginY:E,id:null,ideographic:E,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:E,k:E,k1:E,k2:E,k3:E,k4:E,kernelMatrix:re,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:E,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskType:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:E,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:E,overlineThickness:E,paintOrder:null,panose1:null,path:null,pathLength:E,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:$,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:E,pointsAtY:E,pointsAtZ:E,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:re,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:re,rev:re,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:re,requiredFeatures:re,requiredFonts:re,requiredFormats:re,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:E,specularExponent:E,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:E,strikethroughThickness:E,string:null,stroke:null,strokeDashArray:re,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:E,strokeOpacity:E,strokeWidth:null,style:null,surfaceScale:E,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:re,tabIndex:E,tableValues:null,target:null,targetX:E,targetY:E,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:re,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:E,underlineThickness:E,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:E,values:null,vAlphabetic:E,vMathematical:E,vectorEffect:null,vHanging:E,vIdeographic:E,version:null,vertAdvY:E,vertOriginX:E,vertOriginY:E,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:E,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:rr}),lr=Re({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:"xlink",transform(e,t){return"xlink:"+t.slice(5).toLowerCase()}}),or=Re({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:ir}),ar=Re({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform(e,t){return"xml:"+t.slice(3).toLowerCase()}}),Ci={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"},Ei=/[A-Z]/g,mt=/-[a-z]/g,Ii=/^data[-\w.:]+$/i;function Ai(e,t){const n=zn(t);let r=t,i=ne;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&n.slice(0,4)==="data"&&Ii.test(t)){if(t.charAt(4)==="-"){const o=t.slice(5).replace(mt,Pi);r="data"+o.charAt(0).toUpperCase()+o.slice(1)}else{const o=t.slice(4);if(!mt.test(o)){let l=o.replace(Ei,Ti);l.charAt(0)!=="-"&&(l="-"+l),t="data"+l}}i=Hn}return new i(r,t)}function Ti(e){return"-"+e.toLowerCase()}function Pi(e){return e.charAt(1).toUpperCase()}const vi=nr([tr,wi,lr,or,ar],"html"),Un=nr([tr,Si,lr,or,ar],"svg");function zi(e){return e.join(" ").trim()}var ze={},mn,gt;function Di(){if(gt)return mn;gt=1;var e=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,t=/\n/g,n=/^\s*/,r=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,i=/^:\s*/,o=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,l=/^[;\s]*/,a=/^\s+|\s+$/g,u=`
|
|
1
|
+
import{g as er,j as Y}from"./vendor-react-DvXH3HTt.js";import{a as ct}from"./index-ap4cgOZb.js";function mi(e,t){const n={};return(e[e.length-1]===""?[...e,""]:e).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}const gi=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,di=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,yi={};function ft(e,t){return(yi.jsx?di:gi).test(e)}const xi=/[ \t\n\f\r]/g;function ki(e){return typeof e=="object"?e.type==="text"?ht(e.value):!1:ht(e)}function ht(e){return e.replace(xi,"")===""}class Xe{constructor(t,n,r){this.normal=n,this.property=t,r&&(this.space=r)}}Xe.prototype.normal={};Xe.prototype.property={};Xe.prototype.space=void 0;function nr(e,t){const n={},r={};for(const i of e)Object.assign(n,i.property),Object.assign(r,i.normal);return new Xe(n,r,t)}function zn(e){return e.toLowerCase()}class ne{constructor(t,n){this.attribute=n,this.property=t}}ne.prototype.attribute="";ne.prototype.booleanish=!1;ne.prototype.boolean=!1;ne.prototype.commaOrSpaceSeparated=!1;ne.prototype.commaSeparated=!1;ne.prototype.defined=!1;ne.prototype.mustUseProperty=!1;ne.prototype.number=!1;ne.prototype.overloadedBoolean=!1;ne.prototype.property="";ne.prototype.spaceSeparated=!1;ne.prototype.space=void 0;let bi=0;const L=Ae(),X=Ae(),Dn=Ae(),E=Ae(),$=Ae(),Ee=Ae(),re=Ae();function Ae(){return 2**++bi}const Ln=Object.freeze(Object.defineProperty({__proto__:null,boolean:L,booleanish:X,commaOrSpaceSeparated:re,commaSeparated:Ee,number:E,overloadedBoolean:Dn,spaceSeparated:$},Symbol.toStringTag,{value:"Module"})),pn=Object.keys(Ln);class Hn extends ne{constructor(t,n,r,i){let o=-1;if(super(t,n),pt(this,"space",i),typeof r=="number")for(;++o<pn.length;){const l=pn[o];pt(this,pn[o],(r&Ln[l])===Ln[l])}}}Hn.prototype.defined=!0;function pt(e,t,n){n&&(e[t]=n)}function Re(e){const t={},n={};for(const[r,i]of Object.entries(e.properties)){const o=new Hn(r,e.transform(e.attributes||{},r),i,e.space);e.mustUseProperty&&e.mustUseProperty.includes(r)&&(o.mustUseProperty=!0),t[r]=o,n[zn(r)]=r,n[zn(o.attribute)]=r}return new Xe(t,n,e.space)}const tr=Re({properties:{ariaActiveDescendant:null,ariaAtomic:X,ariaAutoComplete:null,ariaBusy:X,ariaChecked:X,ariaColCount:E,ariaColIndex:E,ariaColSpan:E,ariaControls:$,ariaCurrent:null,ariaDescribedBy:$,ariaDetails:null,ariaDisabled:X,ariaDropEffect:$,ariaErrorMessage:null,ariaExpanded:X,ariaFlowTo:$,ariaGrabbed:X,ariaHasPopup:null,ariaHidden:X,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:$,ariaLevel:E,ariaLive:null,ariaModal:X,ariaMultiLine:X,ariaMultiSelectable:X,ariaOrientation:null,ariaOwns:$,ariaPlaceholder:null,ariaPosInSet:E,ariaPressed:X,ariaReadOnly:X,ariaRelevant:null,ariaRequired:X,ariaRoleDescription:$,ariaRowCount:E,ariaRowIndex:E,ariaRowSpan:E,ariaSelected:X,ariaSetSize:E,ariaSort:null,ariaValueMax:E,ariaValueMin:E,ariaValueNow:E,ariaValueText:null,role:null},transform(e,t){return t==="role"?t:"aria-"+t.slice(4).toLowerCase()}});function rr(e,t){return t in e?e[t]:t}function ir(e,t){return rr(e,t.toLowerCase())}const wi=Re({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:Ee,acceptCharset:$,accessKey:$,action:null,allow:null,allowFullScreen:L,allowPaymentRequest:L,allowUserMedia:L,alpha:L,alt:null,as:null,async:L,autoCapitalize:null,autoComplete:$,autoFocus:L,autoPlay:L,blocking:$,capture:null,charSet:null,checked:L,cite:null,className:$,closedBy:null,colorSpace:null,cols:E,colSpan:E,command:null,commandFor:null,content:null,contentEditable:X,controls:L,controlsList:$,coords:E|Ee,crossOrigin:null,data:null,dateTime:null,decoding:null,default:L,defer:L,dir:null,dirName:null,disabled:L,download:Dn,draggable:X,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:L,formTarget:null,headers:$,height:E,hidden:Dn,high:E,href:null,hrefLang:null,htmlFor:$,httpEquiv:$,id:null,imageSizes:null,imageSrcSet:null,inert:L,inputMode:null,integrity:null,is:null,isMap:L,itemId:null,itemProp:$,itemRef:$,itemScope:L,itemType:$,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:L,low:E,manifest:null,max:null,maxLength:E,media:null,method:null,min:null,minLength:E,multiple:L,muted:L,name:null,nonce:null,noModule:L,noValidate:L,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:L,optimum:E,pattern:null,ping:$,placeholder:null,playsInline:L,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:L,referrerPolicy:null,rel:$,required:L,reversed:L,rows:E,rowSpan:E,sandbox:$,scope:null,scoped:L,seamless:L,selected:L,shadowRootClonable:L,shadowRootCustomElementRegistry:L,shadowRootDelegatesFocus:L,shadowRootMode:null,shadowRootSerializable:L,shape:null,size:E,sizes:null,slot:null,span:E,spellCheck:X,src:null,srcDoc:null,srcLang:null,srcSet:null,start:E,step:null,style:null,tabIndex:E,target:null,title:null,translate:null,type:null,typeMustMatch:L,useMap:null,value:X,width:E,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:$,axis:null,background:null,bgColor:null,border:E,borderColor:null,bottomMargin:E,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:L,declare:L,event:null,face:null,frame:null,frameBorder:null,hSpace:E,leftMargin:E,link:null,longDesc:null,lowSrc:null,marginHeight:E,marginWidth:E,noResize:L,noHref:L,noShade:L,noWrap:L,object:null,profile:null,prompt:null,rev:null,rightMargin:E,rules:null,scheme:null,scrolling:X,standby:null,summary:null,text:null,topMargin:E,valueType:null,version:null,vAlign:null,vLink:null,vSpace:E,allowTransparency:null,autoCorrect:null,autoSave:null,credentialless:L,disablePictureInPicture:L,disableRemotePlayback:L,exportParts:Ee,part:$,prefix:null,property:null,results:E,security:null,unselectable:null},space:"html",transform:ir}),Si=Re({attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",maskType:"mask-type",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},properties:{about:re,accentHeight:E,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:E,amplitude:E,arabicForm:null,ascent:E,attributeName:null,attributeType:null,azimuth:E,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:E,by:null,calcMode:null,capHeight:E,className:$,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:E,diffuseConstant:E,direction:null,display:null,dur:null,divisor:E,dominantBaseline:null,download:L,dx:null,dy:null,edgeMode:null,editable:null,elevation:E,enableBackground:null,end:null,event:null,exponent:E,externalResourcesRequired:null,fill:null,fillOpacity:E,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:Ee,g2:Ee,glyphName:Ee,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:E,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:E,horizOriginX:E,horizOriginY:E,id:null,ideographic:E,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:E,k:E,k1:E,k2:E,k3:E,k4:E,kernelMatrix:re,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:E,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskType:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:E,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:E,overlineThickness:E,paintOrder:null,panose1:null,path:null,pathLength:E,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:$,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:E,pointsAtY:E,pointsAtZ:E,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:re,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:re,rev:re,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:re,requiredFeatures:re,requiredFonts:re,requiredFormats:re,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:E,specularExponent:E,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:E,strikethroughThickness:E,string:null,stroke:null,strokeDashArray:re,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:E,strokeOpacity:E,strokeWidth:null,style:null,surfaceScale:E,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:re,tabIndex:E,tableValues:null,target:null,targetX:E,targetY:E,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:re,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:E,underlineThickness:E,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:E,values:null,vAlphabetic:E,vMathematical:E,vectorEffect:null,vHanging:E,vIdeographic:E,version:null,vertAdvY:E,vertOriginX:E,vertOriginY:E,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:E,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:rr}),lr=Re({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:"xlink",transform(e,t){return"xlink:"+t.slice(5).toLowerCase()}}),or=Re({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:ir}),ar=Re({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform(e,t){return"xml:"+t.slice(3).toLowerCase()}}),Ci={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"},Ei=/[A-Z]/g,mt=/-[a-z]/g,Ii=/^data[-\w.:]+$/i;function Ai(e,t){const n=zn(t);let r=t,i=ne;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&n.slice(0,4)==="data"&&Ii.test(t)){if(t.charAt(4)==="-"){const o=t.slice(5).replace(mt,Pi);r="data"+o.charAt(0).toUpperCase()+o.slice(1)}else{const o=t.slice(4);if(!mt.test(o)){let l=o.replace(Ei,Ti);l.charAt(0)!=="-"&&(l="-"+l),t="data"+l}}i=Hn}return new i(r,t)}function Ti(e){return"-"+e.toLowerCase()}function Pi(e){return e.charAt(1).toUpperCase()}const vi=nr([tr,wi,lr,or,ar],"html"),Un=nr([tr,Si,lr,or,ar],"svg");function zi(e){return e.join(" ").trim()}var ze={},mn,gt;function Di(){if(gt)return mn;gt=1;var e=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,t=/\n/g,n=/^\s*/,r=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,i=/^:\s*/,o=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,l=/^[;\s]*/,a=/^\s+|\s+$/g,u=`
|
|
2
2
|
`,s="/",f="*",c="",p="comment",h="declaration";function d(S,y){if(typeof S!="string")throw new TypeError("First argument must be a string");if(!S)return[];y=y||{};var I=1,C=1;function R(D){var T=D.match(t);T&&(I+=T.length);var q=D.lastIndexOf(u);C=~q?D.length-q:C+D.length}function _(){var D={line:I,column:C};return function(T){return T.position=new b(D),j(),T}}function b(D){this.start=D,this.end={line:I,column:C},this.source=y.source}b.prototype.content=S;function M(D){var T=new Error(y.source+":"+I+":"+C+": "+D);if(T.reason=D,T.filename=y.source,T.line=I,T.column=C,T.source=S,!y.silent)throw T}function H(D){var T=D.exec(S);if(T){var q=T[0];return R(q),S=S.slice(q.length),T}}function j(){H(n)}function x(D){var T;for(D=D||[];T=P();)T!==!1&&D.push(T);return D}function P(){var D=_();if(!(s!=S.charAt(0)||f!=S.charAt(1))){for(var T=2;c!=S.charAt(T)&&(f!=S.charAt(T)||s!=S.charAt(T+1));)++T;if(T+=2,c===S.charAt(T-1))return M("End of comment missing");var q=S.slice(2,T-2);return C+=2,R(q),S=S.slice(T),C+=2,D({type:p,comment:q})}}function v(){var D=_(),T=H(r);if(T){if(P(),!H(i))return M("property missing ':'");var q=H(o),Q=D({type:h,property:w(T[0].replace(e,c)),value:q?w(q[0].replace(e,c)):c});return H(l),Q}}function U(){var D=[];x(D);for(var T;T=v();)T!==!1&&(D.push(T),x(D));return D}return j(),U()}function w(S){return S?S.replace(a,c):c}return mn=d,mn}var dt;function Li(){if(dt)return ze;dt=1;var e=ze&&ze.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(ze,"__esModule",{value:!0}),ze.default=n;const t=e(Di());function n(r,i){let o=null;if(!r||typeof r!="string")return o;const l=(0,t.default)(r),a=typeof i=="function";return l.forEach(u=>{if(u.type!=="declaration")return;const{property:s,value:f}=u;a?i(s,f,u):f&&(o=o||{},o[s]=f)}),o}return ze}var Be={},yt;function Fi(){if(yt)return Be;yt=1,Object.defineProperty(Be,"__esModule",{value:!0}),Be.camelCase=void 0;var e=/^--[a-zA-Z0-9_-]+$/,t=/-([a-z])/g,n=/^[^-]+$/,r=/^-(webkit|moz|ms|o|khtml)-/,i=/^-(ms)-/,o=function(s){return!s||n.test(s)||e.test(s)},l=function(s,f){return f.toUpperCase()},a=function(s,f){return"".concat(f,"-")},u=function(s,f){return f===void 0&&(f={}),o(s)?s:(s=s.toLowerCase(),f.reactCompat?s=s.replace(i,a):s=s.replace(r,a),s.replace(t,l))};return Be.camelCase=u,Be}var je,xt;function Ri(){if(xt)return je;xt=1;var e=je&&je.__importDefault||function(i){return i&&i.__esModule?i:{default:i}},t=e(Li()),n=Fi();function r(i,o){var l={};return!i||typeof i!="string"||(0,t.default)(i,function(a,u){a&&u&&(l[(0,n.camelCase)(a,o)]=u)}),l}return r.default=r,je=r,je}var _i=Ri();const Oi=er(_i),ur=sr("end"),qn=sr("start");function sr(e){return t;function t(n){const r=n&&n.position&&n.position[e]||{};if(typeof r.line=="number"&&r.line>0&&typeof r.column=="number"&&r.column>0)return{line:r.line,column:r.column,offset:typeof r.offset=="number"&&r.offset>-1?r.offset:void 0}}}function Mi(e){const t=qn(e),n=ur(e);if(t&&n)return{start:t,end:n}}function qe(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?kt(e.position):"start"in e||"end"in e?kt(e):"line"in e||"column"in e?Fn(e):""}function Fn(e){return bt(e&&e.line)+":"+bt(e&&e.column)}function kt(e){return Fn(e&&e.start)+"-"+Fn(e&&e.end)}function bt(e){return e&&typeof e=="number"?e:1}class J extends Error{constructor(t,n,r){super(),typeof n=="string"&&(r=n,n=void 0);let i="",o={},l=!1;if(n&&("line"in n&&"column"in n?o={place:n}:"start"in n&&"end"in n?o={place:n}:"type"in n?o={ancestors:[n],place:n.position}:o={...n}),typeof t=="string"?i=t:!o.cause&&t&&(l=!0,i=t.message,o.cause=t),!o.ruleId&&!o.source&&typeof r=="string"){const u=r.indexOf(":");u===-1?o.ruleId=r:(o.source=r.slice(0,u),o.ruleId=r.slice(u+1))}if(!o.place&&o.ancestors&&o.ancestors){const u=o.ancestors[o.ancestors.length-1];u&&(o.place=u.position)}const a=o.place&&"start"in o.place?o.place.start:o.place;this.ancestors=o.ancestors||void 0,this.cause=o.cause||void 0,this.column=a?a.column:void 0,this.fatal=void 0,this.file="",this.message=i,this.line=a?a.line:void 0,this.name=qe(o.place)||"1:1",this.place=o.place||void 0,this.reason=this.message,this.ruleId=o.ruleId||void 0,this.source=o.source||void 0,this.stack=l&&o.cause&&typeof o.cause.stack=="string"?o.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}J.prototype.file="";J.prototype.name="";J.prototype.reason="";J.prototype.message="";J.prototype.stack="";J.prototype.column=void 0;J.prototype.line=void 0;J.prototype.ancestors=void 0;J.prototype.cause=void 0;J.prototype.fatal=void 0;J.prototype.place=void 0;J.prototype.ruleId=void 0;J.prototype.source=void 0;const Vn={}.hasOwnProperty,Ni=new Map,Bi=/[A-Z]/g,ji=new Set(["table","tbody","thead","tfoot","tr"]),Hi=new Set(["td","th"]),cr="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function Ui(e,t){if(!t||t.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const n=t.filePath||void 0;let r;if(t.development){if(typeof t.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");r=Gi(n,t.jsxDEV)}else{if(typeof t.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof t.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");r=Qi(n,t.jsx,t.jsxs)}const i={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:r,elementAttributeNameCase:t.elementAttributeNameCase||"react",evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:n,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:t.passKeys!==!1,passNode:t.passNode||!1,schema:t.space==="svg"?Un:vi,stylePropertyNameCase:t.stylePropertyNameCase||"dom",tableCellAlignToStyle:t.tableCellAlignToStyle!==!1},o=fr(i,e,void 0);return o&&typeof o!="string"?o:i.create(e,i.Fragment,{children:o||void 0},void 0)}function fr(e,t,n){if(t.type==="element")return qi(e,t,n);if(t.type==="mdxFlowExpression"||t.type==="mdxTextExpression")return Vi(e,t);if(t.type==="mdxJsxFlowElement"||t.type==="mdxJsxTextElement")return Wi(e,t,n);if(t.type==="mdxjsEsm")return $i(e,t);if(t.type==="root")return Yi(e,t,n);if(t.type==="text")return Xi(e,t)}function qi(e,t,n){const r=e.schema;let i=r;t.tagName.toLowerCase()==="svg"&&r.space==="html"&&(i=Un,e.schema=i),e.ancestors.push(t);const o=pr(e,t.tagName,!1),l=Ki(e,t);let a=Wn(e,t);return ji.has(t.tagName)&&(a=a.filter(function(u){return typeof u=="string"?!ki(u):!0})),hr(e,l,o,t),$n(l,a),e.ancestors.pop(),e.schema=r,e.create(t,o,l,n)}function Vi(e,t){if(t.data&&t.data.estree&&e.evaluater){const r=t.data.estree.body[0];return r.type,e.evaluater.evaluateExpression(r.expression)}We(e,t.position)}function $i(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);We(e,t.position)}function Wi(e,t,n){const r=e.schema;let i=r;t.name==="svg"&&r.space==="html"&&(i=Un,e.schema=i),e.ancestors.push(t);const o=t.name===null?e.Fragment:pr(e,t.name,!0),l=Ji(e,t),a=Wn(e,t);return hr(e,l,o,t),$n(l,a),e.ancestors.pop(),e.schema=r,e.create(t,o,l,n)}function Yi(e,t,n){const r={};return $n(r,Wn(e,t)),e.create(t,e.Fragment,r,n)}function Xi(e,t){return t.value}function hr(e,t,n,r){typeof n!="string"&&n!==e.Fragment&&e.passNode&&(t.node=r)}function $n(e,t){if(t.length>0){const n=t.length>1?t:t[0];n&&(e.children=n)}}function Qi(e,t,n){return r;function r(i,o,l,a){const s=Array.isArray(l.children)?n:t;return a?s(o,l,a):s(o,l)}}function Gi(e,t){return n;function n(r,i,o,l){const a=Array.isArray(o.children),u=qn(r);return t(i,o,l,a,{columnNumber:u?u.column-1:void 0,fileName:e,lineNumber:u?u.line:void 0},void 0)}}function Ki(e,t){const n={};let r,i;for(i in t.properties)if(i!=="children"&&Vn.call(t.properties,i)){const o=Zi(e,i,t.properties[i]);if(o){const[l,a]=o;e.tableCellAlignToStyle&&l==="align"&&typeof a=="string"&&Hi.has(t.tagName)?r=a:n[l]=a}}if(r){const o=n.style||(n.style={});o[e.stylePropertyNameCase==="css"?"text-align":"textAlign"]=r}return n}function Ji(e,t){const n={};for(const r of t.attributes)if(r.type==="mdxJsxExpressionAttribute")if(r.data&&r.data.estree&&e.evaluater){const o=r.data.estree.body[0];o.type;const l=o.expression;l.type;const a=l.properties[0];a.type,Object.assign(n,e.evaluater.evaluateExpression(a.argument))}else We(e,t.position);else{const i=r.name;let o;if(r.value&&typeof r.value=="object")if(r.value.data&&r.value.data.estree&&e.evaluater){const a=r.value.data.estree.body[0];a.type,o=e.evaluater.evaluateExpression(a.expression)}else We(e,t.position);else o=r.value===null?!0:r.value;n[i]=o}return n}function Wn(e,t){const n=[];let r=-1;const i=e.passKeys?new Map:Ni;for(;++r<t.children.length;){const o=t.children[r];let l;if(e.passKeys){const u=o.type==="element"?o.tagName:o.type==="mdxJsxFlowElement"||o.type==="mdxJsxTextElement"?o.name:void 0;if(u){const s=i.get(u)||0;l=u+"-"+s,i.set(u,s+1)}}const a=fr(e,o,l);a!==void 0&&n.push(a)}return n}function Zi(e,t,n){const r=Ai(e.schema,t);if(!(n==null||typeof n=="number"&&Number.isNaN(n))){if(Array.isArray(n)&&(n=r.commaSeparated?mi(n):zi(n)),r.property==="style"){let i=typeof n=="object"?n:el(e,String(n));return e.stylePropertyNameCase==="css"&&(i=nl(i)),["style",i]}return[e.elementAttributeNameCase==="react"&&r.space?Ci[r.property]||r.property:r.attribute,n]}}function el(e,t){try{return Oi(t,{reactCompat:!0})}catch(n){if(e.ignoreInvalidStyle)return{};const r=n,i=new J("Cannot parse `style` attribute",{ancestors:e.ancestors,cause:r,ruleId:"style",source:"hast-util-to-jsx-runtime"});throw i.file=e.filePath||void 0,i.url=cr+"#cannot-parse-style-attribute",i}}function pr(e,t,n){let r;if(!n)r={type:"Literal",value:t};else if(t.includes(".")){const i=t.split(".");let o=-1,l;for(;++o<i.length;){const a=ft(i[o])?{type:"Identifier",name:i[o]}:{type:"Literal",value:i[o]};l=l?{type:"MemberExpression",object:l,property:a,computed:!!(o&&a.type==="Literal"),optional:!1}:a}r=l}else r=ft(t)&&!/^[a-z]/.test(t)?{type:"Identifier",name:t}:{type:"Literal",value:t};if(r.type==="Literal"){const i=r.value;return Vn.call(e.components,i)?e.components[i]:i}if(e.evaluater)return e.evaluater.evaluateExpression(r);We(e)}function We(e,t){const n=new J("Cannot handle MDX estrees without `createEvaluater`",{ancestors:e.ancestors,place:t,ruleId:"mdx-estree",source:"hast-util-to-jsx-runtime"});throw n.file=e.filePath||void 0,n.url=cr+"#cannot-handle-mdx-estrees-without-createevaluater",n}function nl(e){const t={};let n;for(n in e)Vn.call(e,n)&&(t[tl(n)]=e[n]);return t}function tl(e){let t=e.replace(Bi,rl);return t.slice(0,3)==="ms-"&&(t="-"+t),t}function rl(e){return"-"+e.toLowerCase()}const gn={action:["form"],cite:["blockquote","del","ins","q"],data:["object"],formAction:["button","input"],href:["a","area","base","link"],icon:["menuitem"],itemId:null,manifest:["html"],ping:["a","area"],poster:["video"],src:["audio","embed","iframe","img","input","script","source","track","video"]},il={};function Yn(e,t){const n=il,r=typeof n.includeImageAlt=="boolean"?n.includeImageAlt:!0,i=typeof n.includeHtml=="boolean"?n.includeHtml:!0;return mr(e,r,i)}function mr(e,t,n){if(ll(e)){if("value"in e)return e.type==="html"&&!n?"":e.value;if(t&&"alt"in e&&e.alt)return e.alt;if("children"in e)return wt(e.children,t,n)}return Array.isArray(e)?wt(e,t,n):""}function wt(e,t,n){const r=[];let i=-1;for(;++i<e.length;)r[i]=mr(e[i],t,n);return r.join("")}function ll(e){return!!(e&&typeof e=="object")}const St=document.createElement("i");function Xn(e){const t="&"+e+";";St.innerHTML=t;const n=St.textContent;return n.charCodeAt(n.length-1)===59&&e!=="semi"||n===t?!1:n}function ie(e,t,n,r){const i=e.length;let o=0,l;if(t<0?t=-t>i?0:i+t:t=t>i?i:t,n=n>0?n:0,r.length<1e4)l=Array.from(r),l.unshift(t,n),e.splice(...l);else for(n&&e.splice(t,n);o<r.length;)l=r.slice(o,o+1e4),l.unshift(t,0),e.splice(...l),o+=1e4,t+=1e4}function le(e,t){return e.length>0?(ie(e,e.length,0,t),e):t}const Ct={}.hasOwnProperty;function gr(e){const t={};let n=-1;for(;++n<e.length;)ol(t,e[n]);return t}function ol(e,t){let n;for(n in t){const i=(Ct.call(e,n)?e[n]:void 0)||(e[n]={}),o=t[n];let l;if(o)for(l in o){Ct.call(i,l)||(i[l]=[]);const a=o[l];al(i[l],Array.isArray(a)?a:a?[a]:[])}}}function al(e,t){let n=-1;const r=[];for(;++n<t.length;)(t[n].add==="after"?e:r).push(t[n]);ie(e,0,0,r)}function dr(e,t){const n=Number.parseInt(e,t);return n<9||n===11||n>13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)===65535||(n&65535)===65534||n>1114111?"�":String.fromCodePoint(n)}function ce(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const Z=be(/[A-Za-z]/),K=be(/[\dA-Za-z]/),ul=be(/[#-'*+\--9=?A-Z^-~]/);function rn(e){return e!==null&&(e<32||e===127)}const Rn=be(/\d/),sl=be(/[\dA-Fa-f]/),cl=be(/[!-/:-@[-`{-~]/);function z(e){return e!==null&&e<-2}function W(e){return e!==null&&(e<0||e===32)}function O(e){return e===-2||e===-1||e===32}const un=be(new RegExp("\\p{P}|\\p{S}","u")),Ie=be(/\s/);function be(e){return t;function t(n){return n!==null&&n>-1&&e.test(String.fromCharCode(n))}}function _e(e){const t=[];let n=-1,r=0,i=0;for(;++n<e.length;){const o=e.charCodeAt(n);let l="";if(o===37&&K(e.charCodeAt(n+1))&&K(e.charCodeAt(n+2)))i=2;else if(o<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(o))||(l=String.fromCharCode(o));else if(o>55295&&o<57344){const a=e.charCodeAt(n+1);o<56320&&a>56319&&a<57344?(l=String.fromCharCode(o,a),i=1):l="�"}else l=String.fromCharCode(o);l&&(t.push(e.slice(r,n),encodeURIComponent(l)),r=n+i+1,l=""),i&&(n+=i,i=0)}return t.join("")+e.slice(r)}function B(e,t,n,r){const i=r?r-1:Number.POSITIVE_INFINITY;let o=0;return l;function l(u){return O(u)?(e.enter(n),a(u)):t(u)}function a(u){return O(u)&&o++<i?(e.consume(u),a):(e.exit(n),t(u))}}const fl={tokenize:hl};function hl(e){const t=e.attempt(this.parser.constructs.contentInitial,r,i);let n;return t;function r(a){if(a===null){e.consume(a);return}return e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),B(e,t,"linePrefix")}function i(a){return e.enter("paragraph"),o(a)}function o(a){const u=e.enter("chunkText",{contentType:"text",previous:n});return n&&(n.next=u),n=u,l(a)}function l(a){if(a===null){e.exit("chunkText"),e.exit("paragraph"),e.consume(a);return}return z(a)?(e.consume(a),e.exit("chunkText"),o):(e.consume(a),l)}}const pl={tokenize:ml},Et={tokenize:gl};function ml(e){const t=this,n=[];let r=0,i,o,l;return a;function a(C){if(r<n.length){const R=n[r];return t.containerState=R[1],e.attempt(R[0].continuation,u,s)(C)}return s(C)}function u(C){if(r++,t.containerState._closeFlow){t.containerState._closeFlow=void 0,i&&I();const R=t.events.length;let _=R,b;for(;_--;)if(t.events[_][0]==="exit"&&t.events[_][1].type==="chunkFlow"){b=t.events[_][1].end;break}y(r);let M=R;for(;M<t.events.length;)t.events[M][1].end={...b},M++;return ie(t.events,_+1,0,t.events.slice(R)),t.events.length=M,s(C)}return a(C)}function s(C){if(r===n.length){if(!i)return p(C);if(i.currentConstruct&&i.currentConstruct.concrete)return d(C);t.interrupt=!!(i.currentConstruct&&!i._gfmTableDynamicInterruptHack)}return t.containerState={},e.check(Et,f,c)(C)}function f(C){return i&&I(),y(r),p(C)}function c(C){return t.parser.lazy[t.now().line]=r!==n.length,l=t.now().offset,d(C)}function p(C){return t.containerState={},e.attempt(Et,h,d)(C)}function h(C){return r++,n.push([t.currentConstruct,t.containerState]),p(C)}function d(C){if(C===null){i&&I(),y(0),e.consume(C);return}return i=i||t.parser.flow(t.now()),e.enter("chunkFlow",{_tokenizer:i,contentType:"flow",previous:o}),w(C)}function w(C){if(C===null){S(e.exit("chunkFlow"),!0),y(0),e.consume(C);return}return z(C)?(e.consume(C),S(e.exit("chunkFlow")),r=0,t.interrupt=void 0,a):(e.consume(C),w)}function S(C,R){const _=t.sliceStream(C);if(R&&_.push(null),C.previous=o,o&&(o.next=C),o=C,i.defineSkip(C.start),i.write(_),t.parser.lazy[C.start.line]){let b=i.events.length;for(;b--;)if(i.events[b][1].start.offset<l&&(!i.events[b][1].end||i.events[b][1].end.offset>l))return;const M=t.events.length;let H=M,j,x;for(;H--;)if(t.events[H][0]==="exit"&&t.events[H][1].type==="chunkFlow"){if(j){x=t.events[H][1].end;break}j=!0}for(y(r),b=M;b<t.events.length;)t.events[b][1].end={...x},b++;ie(t.events,H+1,0,t.events.slice(M)),t.events.length=b}}function y(C){let R=n.length;for(;R-- >C;){const _=n[R];t.containerState=_[1],_[0].exit.call(t,e)}n.length=C}function I(){i.write([null]),o=void 0,i=void 0,t.containerState._closeFlow=void 0}}function gl(e,t,n){return B(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function Fe(e){if(e===null||W(e)||Ie(e))return 1;if(un(e))return 2}function sn(e,t,n){const r=[];let i=-1;for(;++i<e.length;){const o=e[i].resolveAll;o&&!r.includes(o)&&(t=o(t,n),r.push(o))}return t}const _n={name:"attention",resolveAll:dl,tokenize:yl};function dl(e,t){let n=-1,r,i,o,l,a,u,s,f;for(;++n<e.length;)if(e[n][0]==="enter"&&e[n][1].type==="attentionSequence"&&e[n][1]._close){for(r=n;r--;)if(e[r][0]==="exit"&&e[r][1].type==="attentionSequence"&&e[r][1]._open&&t.sliceSerialize(e[r][1]).charCodeAt(0)===t.sliceSerialize(e[n][1]).charCodeAt(0)){if((e[r][1]._close||e[n][1]._open)&&(e[n][1].end.offset-e[n][1].start.offset)%3&&!((e[r][1].end.offset-e[r][1].start.offset+e[n][1].end.offset-e[n][1].start.offset)%3))continue;u=e[r][1].end.offset-e[r][1].start.offset>1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1;const c={...e[r][1].end},p={...e[n][1].start};It(c,-u),It(p,u),l={type:u>1?"strongSequence":"emphasisSequence",start:c,end:{...e[r][1].end}},a={type:u>1?"strongSequence":"emphasisSequence",start:{...e[n][1].start},end:p},o={type:u>1?"strongText":"emphasisText",start:{...e[r][1].end},end:{...e[n][1].start}},i={type:u>1?"strong":"emphasis",start:{...l.start},end:{...a.end}},e[r][1].end={...l.start},e[n][1].start={...a.end},s=[],e[r][1].end.offset-e[r][1].start.offset&&(s=le(s,[["enter",e[r][1],t],["exit",e[r][1],t]])),s=le(s,[["enter",i,t],["enter",l,t],["exit",l,t],["enter",o,t]]),s=le(s,sn(t.parser.constructs.insideSpan.null,e.slice(r+1,n),t)),s=le(s,[["exit",o,t],["enter",a,t],["exit",a,t],["exit",i,t]]),e[n][1].end.offset-e[n][1].start.offset?(f=2,s=le(s,[["enter",e[n][1],t],["exit",e[n][1],t]])):f=0,ie(e,r-1,n-r+3,s),n=r+s.length-f-2;break}}for(n=-1;++n<e.length;)e[n][1].type==="attentionSequence"&&(e[n][1].type="data");return e}function yl(e,t){const n=this.parser.constructs.attentionMarkers.null,r=this.previous,i=Fe(r);let o;return l;function l(u){return o=u,e.enter("attentionSequence"),a(u)}function a(u){if(u===o)return e.consume(u),a;const s=e.exit("attentionSequence"),f=Fe(u),c=!f||f===2&&i||n.includes(u),p=!i||i===2&&f||n.includes(r);return s._open=!!(o===42?c:c&&(i||!p)),s._close=!!(o===42?p:p&&(f||!c)),t(u)}}function It(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}const xl={name:"autolink",tokenize:kl};function kl(e,t,n){let r=0;return i;function i(h){return e.enter("autolink"),e.enter("autolinkMarker"),e.consume(h),e.exit("autolinkMarker"),e.enter("autolinkProtocol"),o}function o(h){return Z(h)?(e.consume(h),l):h===64?n(h):s(h)}function l(h){return h===43||h===45||h===46||K(h)?(r=1,a(h)):s(h)}function a(h){return h===58?(e.consume(h),r=0,u):(h===43||h===45||h===46||K(h))&&r++<32?(e.consume(h),a):(r=0,s(h))}function u(h){return h===62?(e.exit("autolinkProtocol"),e.enter("autolinkMarker"),e.consume(h),e.exit("autolinkMarker"),e.exit("autolink"),t):h===null||h===32||h===60||rn(h)?n(h):(e.consume(h),u)}function s(h){return h===64?(e.consume(h),f):ul(h)?(e.consume(h),s):n(h)}function f(h){return K(h)?c(h):n(h)}function c(h){return h===46?(e.consume(h),r=0,f):h===62?(e.exit("autolinkProtocol").type="autolinkEmail",e.enter("autolinkMarker"),e.consume(h),e.exit("autolinkMarker"),e.exit("autolink"),t):p(h)}function p(h){if((h===45||K(h))&&r++<63){const d=h===45?p:c;return e.consume(h),d}return n(h)}}const Qe={partial:!0,tokenize:bl};function bl(e,t,n){return r;function r(o){return O(o)?B(e,i,"linePrefix")(o):i(o)}function i(o){return o===null||z(o)?t(o):n(o)}}const yr={continuation:{tokenize:Sl},exit:Cl,name:"blockQuote",tokenize:wl};function wl(e,t,n){const r=this;return i;function i(l){if(l===62){const a=r.containerState;return a.open||(e.enter("blockQuote",{_container:!0}),a.open=!0),e.enter("blockQuotePrefix"),e.enter("blockQuoteMarker"),e.consume(l),e.exit("blockQuoteMarker"),o}return n(l)}function o(l){return O(l)?(e.enter("blockQuotePrefixWhitespace"),e.consume(l),e.exit("blockQuotePrefixWhitespace"),e.exit("blockQuotePrefix"),t):(e.exit("blockQuotePrefix"),t(l))}}function Sl(e,t,n){const r=this;return i;function i(l){return O(l)?B(e,o,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(l):o(l)}function o(l){return e.attempt(yr,t,n)(l)}}function Cl(e){e.exit("blockQuote")}const xr={name:"characterEscape",tokenize:El};function El(e,t,n){return r;function r(o){return e.enter("characterEscape"),e.enter("escapeMarker"),e.consume(o),e.exit("escapeMarker"),i}function i(o){return cl(o)?(e.enter("characterEscapeValue"),e.consume(o),e.exit("characterEscapeValue"),e.exit("characterEscape"),t):n(o)}}const kr={name:"characterReference",tokenize:Il};function Il(e,t,n){const r=this;let i=0,o,l;return a;function a(c){return e.enter("characterReference"),e.enter("characterReferenceMarker"),e.consume(c),e.exit("characterReferenceMarker"),u}function u(c){return c===35?(e.enter("characterReferenceMarkerNumeric"),e.consume(c),e.exit("characterReferenceMarkerNumeric"),s):(e.enter("characterReferenceValue"),o=31,l=K,f(c))}function s(c){return c===88||c===120?(e.enter("characterReferenceMarkerHexadecimal"),e.consume(c),e.exit("characterReferenceMarkerHexadecimal"),e.enter("characterReferenceValue"),o=6,l=sl,f):(e.enter("characterReferenceValue"),o=7,l=Rn,f(c))}function f(c){if(c===59&&i){const p=e.exit("characterReferenceValue");return l===K&&!Xn(r.sliceSerialize(p))?n(c):(e.enter("characterReferenceMarker"),e.consume(c),e.exit("characterReferenceMarker"),e.exit("characterReference"),t)}return l(c)&&i++<o?(e.consume(c),f):n(c)}}const At={partial:!0,tokenize:Tl},Tt={concrete:!0,name:"codeFenced",tokenize:Al};function Al(e,t,n){const r=this,i={partial:!0,tokenize:_};let o=0,l=0,a;return u;function u(b){return s(b)}function s(b){const M=r.events[r.events.length-1];return o=M&&M[1].type==="linePrefix"?M[2].sliceSerialize(M[1],!0).length:0,a=b,e.enter("codeFenced"),e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),f(b)}function f(b){return b===a?(l++,e.consume(b),f):l<3?n(b):(e.exit("codeFencedFenceSequence"),O(b)?B(e,c,"whitespace")(b):c(b))}function c(b){return b===null||z(b)?(e.exit("codeFencedFence"),r.interrupt?t(b):e.check(At,w,R)(b)):(e.enter("codeFencedFenceInfo"),e.enter("chunkString",{contentType:"string"}),p(b))}function p(b){return b===null||z(b)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),c(b)):O(b)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),B(e,h,"whitespace")(b)):b===96&&b===a?n(b):(e.consume(b),p)}function h(b){return b===null||z(b)?c(b):(e.enter("codeFencedFenceMeta"),e.enter("chunkString",{contentType:"string"}),d(b))}function d(b){return b===null||z(b)?(e.exit("chunkString"),e.exit("codeFencedFenceMeta"),c(b)):b===96&&b===a?n(b):(e.consume(b),d)}function w(b){return e.attempt(i,R,S)(b)}function S(b){return e.enter("lineEnding"),e.consume(b),e.exit("lineEnding"),y}function y(b){return o>0&&O(b)?B(e,I,"linePrefix",o+1)(b):I(b)}function I(b){return b===null||z(b)?e.check(At,w,R)(b):(e.enter("codeFlowValue"),C(b))}function C(b){return b===null||z(b)?(e.exit("codeFlowValue"),I(b)):(e.consume(b),C)}function R(b){return e.exit("codeFenced"),t(b)}function _(b,M,H){let j=0;return x;function x(T){return b.enter("lineEnding"),b.consume(T),b.exit("lineEnding"),P}function P(T){return b.enter("codeFencedFence"),O(T)?B(b,v,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(T):v(T)}function v(T){return T===a?(b.enter("codeFencedFenceSequence"),U(T)):H(T)}function U(T){return T===a?(j++,b.consume(T),U):j>=l?(b.exit("codeFencedFenceSequence"),O(T)?B(b,D,"whitespace")(T):D(T)):H(T)}function D(T){return T===null||z(T)?(b.exit("codeFencedFence"),M(T)):H(T)}}}function Tl(e,t,n){const r=this;return i;function i(l){return l===null?n(l):(e.enter("lineEnding"),e.consume(l),e.exit("lineEnding"),o)}function o(l){return r.parser.lazy[r.now().line]?n(l):t(l)}}const dn={name:"codeIndented",tokenize:vl},Pl={partial:!0,tokenize:zl};function vl(e,t,n){const r=this;return i;function i(s){return e.enter("codeIndented"),B(e,o,"linePrefix",5)(s)}function o(s){const f=r.events[r.events.length-1];return f&&f[1].type==="linePrefix"&&f[2].sliceSerialize(f[1],!0).length>=4?l(s):n(s)}function l(s){return s===null?u(s):z(s)?e.attempt(Pl,l,u)(s):(e.enter("codeFlowValue"),a(s))}function a(s){return s===null||z(s)?(e.exit("codeFlowValue"),l(s)):(e.consume(s),a)}function u(s){return e.exit("codeIndented"),t(s)}}function zl(e,t,n){const r=this;return i;function i(l){return r.parser.lazy[r.now().line]?n(l):z(l)?(e.enter("lineEnding"),e.consume(l),e.exit("lineEnding"),i):B(e,o,"linePrefix",5)(l)}function o(l){const a=r.events[r.events.length-1];return a&&a[1].type==="linePrefix"&&a[2].sliceSerialize(a[1],!0).length>=4?t(l):z(l)?i(l):n(l)}}const Dl={name:"codeText",previous:Fl,resolve:Ll,tokenize:Rl};function Ll(e){let t=e.length-4,n=3,r,i;if((e[n][1].type==="lineEnding"||e[n][1].type==="space")&&(e[t][1].type==="lineEnding"||e[t][1].type==="space")){for(r=n;++r<t;)if(e[r][1].type==="codeTextData"){e[n][1].type="codeTextPadding",e[t][1].type="codeTextPadding",n+=2,t-=2;break}}for(r=n-1,t++;++r<=t;)i===void 0?r!==t&&e[r][1].type!=="lineEnding"&&(i=r):(r===t||e[r][1].type==="lineEnding")&&(e[i][1].type="codeTextData",r!==i+2&&(e[i][1].end=e[r-1][1].end,e.splice(i+2,r-i-2),t-=r-i-2,r=i+2),i=void 0);return e}function Fl(e){return e!==96||this.events[this.events.length-1][1].type==="characterEscape"}function Rl(e,t,n){let r=0,i,o;return l;function l(c){return e.enter("codeText"),e.enter("codeTextSequence"),a(c)}function a(c){return c===96?(e.consume(c),r++,a):(e.exit("codeTextSequence"),u(c))}function u(c){return c===null?n(c):c===32?(e.enter("space"),e.consume(c),e.exit("space"),u):c===96?(o=e.enter("codeTextSequence"),i=0,f(c)):z(c)?(e.enter("lineEnding"),e.consume(c),e.exit("lineEnding"),u):(e.enter("codeTextData"),s(c))}function s(c){return c===null||c===32||c===96||z(c)?(e.exit("codeTextData"),u(c)):(e.consume(c),s)}function f(c){return c===96?(e.consume(c),i++,f):i===r?(e.exit("codeTextSequence"),e.exit("codeText"),t(c)):(o.type="codeTextData",s(c))}}class _l{constructor(t){this.left=t?[...t]:[],this.right=[]}get(t){if(t<0||t>=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+t+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return t<this.left.length?this.left[t]:this.right[this.right.length-t+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(t,n){const r=n??Number.POSITIVE_INFINITY;return r<this.left.length?this.left.slice(t,r):t>this.left.length?this.right.slice(this.right.length-r+this.left.length,this.right.length-t+this.left.length).reverse():this.left.slice(t).concat(this.right.slice(this.right.length-r+this.left.length).reverse())}splice(t,n,r){const i=n||0;this.setCursor(Math.trunc(t));const o=this.right.splice(this.right.length-i,Number.POSITIVE_INFINITY);return r&&He(this.left,r),o.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(t){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(t)}pushMany(t){this.setCursor(Number.POSITIVE_INFINITY),He(this.left,t)}unshift(t){this.setCursor(0),this.right.push(t)}unshiftMany(t){this.setCursor(0),He(this.right,t.reverse())}setCursor(t){if(!(t===this.left.length||t>this.left.length&&this.right.length===0||t<0&&this.left.length===0))if(t<this.left.length){const n=this.left.splice(t,Number.POSITIVE_INFINITY);He(this.right,n.reverse())}else{const n=this.right.splice(this.left.length+this.right.length-t,Number.POSITIVE_INFINITY);He(this.left,n.reverse())}}}function He(e,t){let n=0;if(t.length<1e4)e.push(...t);else for(;n<t.length;)e.push(...t.slice(n,n+1e4)),n+=1e4}function br(e){const t={};let n=-1,r,i,o,l,a,u,s;const f=new _l(e);for(;++n<f.length;){for(;n in t;)n=t[n];if(r=f.get(n),n&&r[1].type==="chunkFlow"&&f.get(n-1)[1].type==="listItemPrefix"&&(u=r[1]._tokenizer.events,o=0,o<u.length&&u[o][1].type==="lineEndingBlank"&&(o+=2),o<u.length&&u[o][1].type==="content"))for(;++o<u.length&&u[o][1].type!=="content";)u[o][1].type==="chunkText"&&(u[o][1]._isInFirstContentOfListItem=!0,o++);if(r[0]==="enter")r[1].contentType&&(Object.assign(t,Ol(f,n)),n=t[n],s=!0);else if(r[1]._container){for(o=n,i=void 0;o--;)if(l=f.get(o),l[1].type==="lineEnding"||l[1].type==="lineEndingBlank")l[0]==="enter"&&(i&&(f.get(i)[1].type="lineEndingBlank"),l[1].type="lineEnding",i=o);else if(!(l[1].type==="linePrefix"||l[1].type==="listItemIndent"))break;i&&(r[1].end={...f.get(i)[1].start},a=f.slice(i,n),a.unshift(r),f.splice(i,n-i+1,a))}}return ie(e,0,Number.POSITIVE_INFINITY,f.slice(0)),!s}function Ol(e,t){const n=e.get(t)[1],r=e.get(t)[2];let i=t-1;const o=[];let l=n._tokenizer;l||(l=r.parser[n.contentType](n.start),n._contentTypeTextTrailing&&(l._contentTypeTextTrailing=!0));const a=l.events,u=[],s={};let f,c,p=-1,h=n,d=0,w=0;const S=[w];for(;h;){for(;e.get(++i)[1]!==h;);o.push(i),h._tokenizer||(f=r.sliceStream(h),h.next||f.push(null),c&&l.defineSkip(h.start),h._isInFirstContentOfListItem&&(l._gfmTasklistFirstContentOfListItem=!0),l.write(f),h._isInFirstContentOfListItem&&(l._gfmTasklistFirstContentOfListItem=void 0)),c=h,h=h.next}for(h=n;++p<a.length;)a[p][0]==="exit"&&a[p-1][0]==="enter"&&a[p][1].type===a[p-1][1].type&&a[p][1].start.line!==a[p][1].end.line&&(w=p+1,S.push(w),h._tokenizer=void 0,h.previous=void 0,h=h.next);for(l.events=[],h?(h._tokenizer=void 0,h.previous=void 0):S.pop(),p=S.length;p--;){const y=a.slice(S[p],S[p+1]),I=o.pop();u.push([I,I+y.length-1]),e.splice(I,2,y)}for(u.reverse(),p=-1;++p<u.length;)s[d+u[p][0]]=d+u[p][1],d+=u[p][1]-u[p][0]-1;return s}const Ml={resolve:Bl,tokenize:jl},Nl={partial:!0,tokenize:Hl};function Bl(e){return br(e),e}function jl(e,t){let n;return r;function r(a){return e.enter("content"),n=e.enter("chunkContent",{contentType:"content"}),i(a)}function i(a){return a===null?o(a):z(a)?e.check(Nl,l,o)(a):(e.consume(a),i)}function o(a){return e.exit("chunkContent"),e.exit("content"),t(a)}function l(a){return e.consume(a),e.exit("chunkContent"),n.next=e.enter("chunkContent",{contentType:"content",previous:n}),n=n.next,i}}function Hl(e,t,n){const r=this;return i;function i(l){return e.exit("chunkContent"),e.enter("lineEnding"),e.consume(l),e.exit("lineEnding"),B(e,o,"linePrefix")}function o(l){if(l===null||z(l))return n(l);const a=r.events[r.events.length-1];return!r.parser.constructs.disable.null.includes("codeIndented")&&a&&a[1].type==="linePrefix"&&a[2].sliceSerialize(a[1],!0).length>=4?t(l):e.interrupt(r.parser.constructs.flow,n,t)(l)}}function wr(e,t,n,r,i,o,l,a,u){const s=u||Number.POSITIVE_INFINITY;let f=0;return c;function c(y){return y===60?(e.enter(r),e.enter(i),e.enter(o),e.consume(y),e.exit(o),p):y===null||y===32||y===41||rn(y)?n(y):(e.enter(r),e.enter(l),e.enter(a),e.enter("chunkString",{contentType:"string"}),w(y))}function p(y){return y===62?(e.enter(o),e.consume(y),e.exit(o),e.exit(i),e.exit(r),t):(e.enter(a),e.enter("chunkString",{contentType:"string"}),h(y))}function h(y){return y===62?(e.exit("chunkString"),e.exit(a),p(y)):y===null||y===60||z(y)?n(y):(e.consume(y),y===92?d:h)}function d(y){return y===60||y===62||y===92?(e.consume(y),h):h(y)}function w(y){return!f&&(y===null||y===41||W(y))?(e.exit("chunkString"),e.exit(a),e.exit(l),e.exit(r),t(y)):f<s&&y===40?(e.consume(y),f++,w):y===41?(e.consume(y),f--,w):y===null||y===32||y===40||rn(y)?n(y):(e.consume(y),y===92?S:w)}function S(y){return y===40||y===41||y===92?(e.consume(y),w):w(y)}}function Sr(e,t,n,r,i,o){const l=this;let a=0,u;return s;function s(h){return e.enter(r),e.enter(i),e.consume(h),e.exit(i),e.enter(o),f}function f(h){return a>999||h===null||h===91||h===93&&!u||h===94&&!a&&"_hiddenFootnoteSupport"in l.parser.constructs?n(h):h===93?(e.exit(o),e.enter(i),e.consume(h),e.exit(i),e.exit(r),t):z(h)?(e.enter("lineEnding"),e.consume(h),e.exit("lineEnding"),f):(e.enter("chunkString",{contentType:"string"}),c(h))}function c(h){return h===null||h===91||h===93||z(h)||a++>999?(e.exit("chunkString"),f(h)):(e.consume(h),u||(u=!O(h)),h===92?p:c)}function p(h){return h===91||h===92||h===93?(e.consume(h),a++,c):c(h)}}function Cr(e,t,n,r,i,o){let l;return a;function a(p){return p===34||p===39||p===40?(e.enter(r),e.enter(i),e.consume(p),e.exit(i),l=p===40?41:p,u):n(p)}function u(p){return p===l?(e.enter(i),e.consume(p),e.exit(i),e.exit(r),t):(e.enter(o),s(p))}function s(p){return p===l?(e.exit(o),u(l)):p===null?n(p):z(p)?(e.enter("lineEnding"),e.consume(p),e.exit("lineEnding"),B(e,s,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),f(p))}function f(p){return p===l||p===null||z(p)?(e.exit("chunkString"),s(p)):(e.consume(p),p===92?c:f)}function c(p){return p===l||p===92?(e.consume(p),f):f(p)}}function Ve(e,t){let n;return r;function r(i){return z(i)?(e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),n=!0,r):O(i)?B(e,r,n?"linePrefix":"lineSuffix")(i):t(i)}}const Ul={name:"definition",tokenize:Vl},ql={partial:!0,tokenize:$l};function Vl(e,t,n){const r=this;let i;return o;function o(h){return e.enter("definition"),l(h)}function l(h){return Sr.call(r,e,a,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(h)}function a(h){return i=ce(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),h===58?(e.enter("definitionMarker"),e.consume(h),e.exit("definitionMarker"),u):n(h)}function u(h){return W(h)?Ve(e,s)(h):s(h)}function s(h){return wr(e,f,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(h)}function f(h){return e.attempt(ql,c,c)(h)}function c(h){return O(h)?B(e,p,"whitespace")(h):p(h)}function p(h){return h===null||z(h)?(e.exit("definition"),r.parser.defined.push(i),t(h)):n(h)}}function $l(e,t,n){return r;function r(a){return W(a)?Ve(e,i)(a):n(a)}function i(a){return Cr(e,o,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(a)}function o(a){return O(a)?B(e,l,"whitespace")(a):l(a)}function l(a){return a===null||z(a)?t(a):n(a)}}const Wl={name:"hardBreakEscape",tokenize:Yl};function Yl(e,t,n){return r;function r(o){return e.enter("hardBreakEscape"),e.consume(o),i}function i(o){return z(o)?(e.exit("hardBreakEscape"),t(o)):n(o)}}const Xl={name:"headingAtx",resolve:Ql,tokenize:Gl};function Ql(e,t){let n=e.length-2,r=3,i,o;return e[r][1].type==="whitespace"&&(r+=2),n-2>r&&e[n][1].type==="whitespace"&&(n-=2),e[n][1].type==="atxHeadingSequence"&&(r===n-1||n-4>r&&e[n-2][1].type==="whitespace")&&(n-=r+1===n?2:4),n>r&&(i={type:"atxHeadingText",start:e[r][1].start,end:e[n][1].end},o={type:"chunkText",start:e[r][1].start,end:e[n][1].end,contentType:"text"},ie(e,r,n-r+1,[["enter",i,t],["enter",o,t],["exit",o,t],["exit",i,t]])),e}function Gl(e,t,n){let r=0;return i;function i(f){return e.enter("atxHeading"),o(f)}function o(f){return e.enter("atxHeadingSequence"),l(f)}function l(f){return f===35&&r++<6?(e.consume(f),l):f===null||W(f)?(e.exit("atxHeadingSequence"),a(f)):n(f)}function a(f){return f===35?(e.enter("atxHeadingSequence"),u(f)):f===null||z(f)?(e.exit("atxHeading"),t(f)):O(f)?B(e,a,"whitespace")(f):(e.enter("atxHeadingText"),s(f))}function u(f){return f===35?(e.consume(f),u):(e.exit("atxHeadingSequence"),a(f))}function s(f){return f===null||f===35||W(f)?(e.exit("atxHeadingText"),a(f)):(e.consume(f),s)}}const Kl=["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","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],Pt=["pre","script","style","textarea"],Jl={concrete:!0,name:"htmlFlow",resolveTo:no,tokenize:to},Zl={partial:!0,tokenize:io},eo={partial:!0,tokenize:ro};function no(e){let t=e.length;for(;t--&&!(e[t][0]==="enter"&&e[t][1].type==="htmlFlow"););return t>1&&e[t-2][1].type==="linePrefix"&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function to(e,t,n){const r=this;let i,o,l,a,u;return s;function s(g){return f(g)}function f(g){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(g),c}function c(g){return g===33?(e.consume(g),p):g===47?(e.consume(g),o=!0,w):g===63?(e.consume(g),i=3,r.interrupt?t:m):Z(g)?(e.consume(g),l=String.fromCharCode(g),S):n(g)}function p(g){return g===45?(e.consume(g),i=2,h):g===91?(e.consume(g),i=5,a=0,d):Z(g)?(e.consume(g),i=4,r.interrupt?t:m):n(g)}function h(g){return g===45?(e.consume(g),r.interrupt?t:m):n(g)}function d(g){const ue="CDATA[";return g===ue.charCodeAt(a++)?(e.consume(g),a===ue.length?r.interrupt?t:v:d):n(g)}function w(g){return Z(g)?(e.consume(g),l=String.fromCharCode(g),S):n(g)}function S(g){if(g===null||g===47||g===62||W(g)){const ue=g===47,we=l.toLowerCase();return!ue&&!o&&Pt.includes(we)?(i=1,r.interrupt?t(g):v(g)):Kl.includes(l.toLowerCase())?(i=6,ue?(e.consume(g),y):r.interrupt?t(g):v(g)):(i=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(g):o?I(g):C(g))}return g===45||K(g)?(e.consume(g),l+=String.fromCharCode(g),S):n(g)}function y(g){return g===62?(e.consume(g),r.interrupt?t:v):n(g)}function I(g){return O(g)?(e.consume(g),I):x(g)}function C(g){return g===47?(e.consume(g),x):g===58||g===95||Z(g)?(e.consume(g),R):O(g)?(e.consume(g),C):x(g)}function R(g){return g===45||g===46||g===58||g===95||K(g)?(e.consume(g),R):_(g)}function _(g){return g===61?(e.consume(g),b):O(g)?(e.consume(g),_):C(g)}function b(g){return g===null||g===60||g===61||g===62||g===96?n(g):g===34||g===39?(e.consume(g),u=g,M):O(g)?(e.consume(g),b):H(g)}function M(g){return g===u?(e.consume(g),u=null,j):g===null||z(g)?n(g):(e.consume(g),M)}function H(g){return g===null||g===34||g===39||g===47||g===60||g===61||g===62||g===96||W(g)?_(g):(e.consume(g),H)}function j(g){return g===47||g===62||O(g)?C(g):n(g)}function x(g){return g===62?(e.consume(g),P):n(g)}function P(g){return g===null||z(g)?v(g):O(g)?(e.consume(g),P):n(g)}function v(g){return g===45&&i===2?(e.consume(g),q):g===60&&i===1?(e.consume(g),Q):g===62&&i===4?(e.consume(g),ae):g===63&&i===3?(e.consume(g),m):g===93&&i===5?(e.consume(g),pe):z(g)&&(i===6||i===7)?(e.exit("htmlFlowData"),e.check(Zl,me,U)(g)):g===null||z(g)?(e.exit("htmlFlowData"),U(g)):(e.consume(g),v)}function U(g){return e.check(eo,D,me)(g)}function D(g){return e.enter("lineEnding"),e.consume(g),e.exit("lineEnding"),T}function T(g){return g===null||z(g)?U(g):(e.enter("htmlFlowData"),v(g))}function q(g){return g===45?(e.consume(g),m):v(g)}function Q(g){return g===47?(e.consume(g),l="",oe):v(g)}function oe(g){if(g===62){const ue=l.toLowerCase();return Pt.includes(ue)?(e.consume(g),ae):v(g)}return Z(g)&&l.length<8?(e.consume(g),l+=String.fromCharCode(g),oe):v(g)}function pe(g){return g===93?(e.consume(g),m):v(g)}function m(g){return g===62?(e.consume(g),ae):g===45&&i===2?(e.consume(g),m):v(g)}function ae(g){return g===null||z(g)?(e.exit("htmlFlowData"),me(g)):(e.consume(g),ae)}function me(g){return e.exit("htmlFlow"),t(g)}}function ro(e,t,n){const r=this;return i;function i(l){return z(l)?(e.enter("lineEnding"),e.consume(l),e.exit("lineEnding"),o):n(l)}function o(l){return r.parser.lazy[r.now().line]?n(l):t(l)}}function io(e,t,n){return r;function r(i){return e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),e.attempt(Qe,t,n)}}const lo={name:"htmlText",tokenize:oo};function oo(e,t,n){const r=this;let i,o,l;return a;function a(m){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(m),u}function u(m){return m===33?(e.consume(m),s):m===47?(e.consume(m),_):m===63?(e.consume(m),C):Z(m)?(e.consume(m),H):n(m)}function s(m){return m===45?(e.consume(m),f):m===91?(e.consume(m),o=0,d):Z(m)?(e.consume(m),I):n(m)}function f(m){return m===45?(e.consume(m),h):n(m)}function c(m){return m===null?n(m):m===45?(e.consume(m),p):z(m)?(l=c,Q(m)):(e.consume(m),c)}function p(m){return m===45?(e.consume(m),h):c(m)}function h(m){return m===62?q(m):m===45?p(m):c(m)}function d(m){const ae="CDATA[";return m===ae.charCodeAt(o++)?(e.consume(m),o===ae.length?w:d):n(m)}function w(m){return m===null?n(m):m===93?(e.consume(m),S):z(m)?(l=w,Q(m)):(e.consume(m),w)}function S(m){return m===93?(e.consume(m),y):w(m)}function y(m){return m===62?q(m):m===93?(e.consume(m),y):w(m)}function I(m){return m===null||m===62?q(m):z(m)?(l=I,Q(m)):(e.consume(m),I)}function C(m){return m===null?n(m):m===63?(e.consume(m),R):z(m)?(l=C,Q(m)):(e.consume(m),C)}function R(m){return m===62?q(m):C(m)}function _(m){return Z(m)?(e.consume(m),b):n(m)}function b(m){return m===45||K(m)?(e.consume(m),b):M(m)}function M(m){return z(m)?(l=M,Q(m)):O(m)?(e.consume(m),M):q(m)}function H(m){return m===45||K(m)?(e.consume(m),H):m===47||m===62||W(m)?j(m):n(m)}function j(m){return m===47?(e.consume(m),q):m===58||m===95||Z(m)?(e.consume(m),x):z(m)?(l=j,Q(m)):O(m)?(e.consume(m),j):q(m)}function x(m){return m===45||m===46||m===58||m===95||K(m)?(e.consume(m),x):P(m)}function P(m){return m===61?(e.consume(m),v):z(m)?(l=P,Q(m)):O(m)?(e.consume(m),P):j(m)}function v(m){return m===null||m===60||m===61||m===62||m===96?n(m):m===34||m===39?(e.consume(m),i=m,U):z(m)?(l=v,Q(m)):O(m)?(e.consume(m),v):(e.consume(m),D)}function U(m){return m===i?(e.consume(m),i=void 0,T):m===null?n(m):z(m)?(l=U,Q(m)):(e.consume(m),U)}function D(m){return m===null||m===34||m===39||m===60||m===61||m===96?n(m):m===47||m===62||W(m)?j(m):(e.consume(m),D)}function T(m){return m===47||m===62||W(m)?j(m):n(m)}function q(m){return m===62?(e.consume(m),e.exit("htmlTextData"),e.exit("htmlText"),t):n(m)}function Q(m){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(m),e.exit("lineEnding"),oe}function oe(m){return O(m)?B(e,pe,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(m):pe(m)}function pe(m){return e.enter("htmlTextData"),l(m)}}const Qn={name:"labelEnd",resolveAll:co,resolveTo:fo,tokenize:ho},ao={tokenize:po},uo={tokenize:mo},so={tokenize:go};function co(e){let t=-1;const n=[];for(;++t<e.length;){const r=e[t][1];if(n.push(e[t]),r.type==="labelImage"||r.type==="labelLink"||r.type==="labelEnd"){const i=r.type==="labelImage"?4:2;r.type="data",t+=i}}return e.length!==n.length&&ie(e,0,e.length,n),e}function fo(e,t){let n=e.length,r=0,i,o,l,a;for(;n--;)if(i=e[n][1],o){if(i.type==="link"||i.type==="labelLink"&&i._inactive)break;e[n][0]==="enter"&&i.type==="labelLink"&&(i._inactive=!0)}else if(l){if(e[n][0]==="enter"&&(i.type==="labelImage"||i.type==="labelLink")&&!i._balanced&&(o=n,i.type!=="labelLink")){r=2;break}}else i.type==="labelEnd"&&(l=n);const u={type:e[o][1].type==="labelLink"?"link":"image",start:{...e[o][1].start},end:{...e[e.length-1][1].end}},s={type:"label",start:{...e[o][1].start},end:{...e[l][1].end}},f={type:"labelText",start:{...e[o+r+2][1].end},end:{...e[l-2][1].start}};return a=[["enter",u,t],["enter",s,t]],a=le(a,e.slice(o+1,o+r+3)),a=le(a,[["enter",f,t]]),a=le(a,sn(t.parser.constructs.insideSpan.null,e.slice(o+r+4,l-3),t)),a=le(a,[["exit",f,t],e[l-2],e[l-1],["exit",s,t]]),a=le(a,e.slice(l+1)),a=le(a,[["exit",u,t]]),ie(e,o,e.length,a),e}function ho(e,t,n){const r=this;let i=r.events.length,o,l;for(;i--;)if((r.events[i][1].type==="labelImage"||r.events[i][1].type==="labelLink")&&!r.events[i][1]._balanced){o=r.events[i][1];break}return a;function a(p){return o?o._inactive?c(p):(l=r.parser.defined.includes(ce(r.sliceSerialize({start:o.end,end:r.now()}))),e.enter("labelEnd"),e.enter("labelMarker"),e.consume(p),e.exit("labelMarker"),e.exit("labelEnd"),u):n(p)}function u(p){return p===40?e.attempt(ao,f,l?f:c)(p):p===91?e.attempt(uo,f,l?s:c)(p):l?f(p):c(p)}function s(p){return e.attempt(so,f,c)(p)}function f(p){return t(p)}function c(p){return o._balanced=!0,n(p)}}function po(e,t,n){return r;function r(c){return e.enter("resource"),e.enter("resourceMarker"),e.consume(c),e.exit("resourceMarker"),i}function i(c){return W(c)?Ve(e,o)(c):o(c)}function o(c){return c===41?f(c):wr(e,l,a,"resourceDestination","resourceDestinationLiteral","resourceDestinationLiteralMarker","resourceDestinationRaw","resourceDestinationString",32)(c)}function l(c){return W(c)?Ve(e,u)(c):f(c)}function a(c){return n(c)}function u(c){return c===34||c===39||c===40?Cr(e,s,n,"resourceTitle","resourceTitleMarker","resourceTitleString")(c):f(c)}function s(c){return W(c)?Ve(e,f)(c):f(c)}function f(c){return c===41?(e.enter("resourceMarker"),e.consume(c),e.exit("resourceMarker"),e.exit("resource"),t):n(c)}}function mo(e,t,n){const r=this;return i;function i(a){return Sr.call(r,e,o,l,"reference","referenceMarker","referenceString")(a)}function o(a){return r.parser.defined.includes(ce(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)))?t(a):n(a)}function l(a){return n(a)}}function go(e,t,n){return r;function r(o){return e.enter("reference"),e.enter("referenceMarker"),e.consume(o),e.exit("referenceMarker"),i}function i(o){return o===93?(e.enter("referenceMarker"),e.consume(o),e.exit("referenceMarker"),e.exit("reference"),t):n(o)}}const yo={name:"labelStartImage",resolveAll:Qn.resolveAll,tokenize:xo};function xo(e,t,n){const r=this;return i;function i(a){return e.enter("labelImage"),e.enter("labelImageMarker"),e.consume(a),e.exit("labelImageMarker"),o}function o(a){return a===91?(e.enter("labelMarker"),e.consume(a),e.exit("labelMarker"),e.exit("labelImage"),l):n(a)}function l(a){return a===94&&"_hiddenFootnoteSupport"in r.parser.constructs?n(a):t(a)}}const ko={name:"labelStartLink",resolveAll:Qn.resolveAll,tokenize:bo};function bo(e,t,n){const r=this;return i;function i(l){return e.enter("labelLink"),e.enter("labelMarker"),e.consume(l),e.exit("labelMarker"),e.exit("labelLink"),o}function o(l){return l===94&&"_hiddenFootnoteSupport"in r.parser.constructs?n(l):t(l)}}const yn={name:"lineEnding",tokenize:wo};function wo(e,t){return n;function n(r){return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),B(e,t,"linePrefix")}}const tn={name:"thematicBreak",tokenize:So};function So(e,t,n){let r=0,i;return o;function o(s){return e.enter("thematicBreak"),l(s)}function l(s){return i=s,a(s)}function a(s){return s===i?(e.enter("thematicBreakSequence"),u(s)):r>=3&&(s===null||z(s))?(e.exit("thematicBreak"),t(s)):n(s)}function u(s){return s===i?(e.consume(s),r++,u):(e.exit("thematicBreakSequence"),O(s)?B(e,a,"whitespace")(s):a(s))}}const ee={continuation:{tokenize:Ao},exit:Po,name:"list",tokenize:Io},Co={partial:!0,tokenize:vo},Eo={partial:!0,tokenize:To};function Io(e,t,n){const r=this,i=r.events[r.events.length-1];let o=i&&i[1].type==="linePrefix"?i[2].sliceSerialize(i[1],!0).length:0,l=0;return a;function a(h){const d=r.containerState.type||(h===42||h===43||h===45?"listUnordered":"listOrdered");if(d==="listUnordered"?!r.containerState.marker||h===r.containerState.marker:Rn(h)){if(r.containerState.type||(r.containerState.type=d,e.enter(d,{_container:!0})),d==="listUnordered")return e.enter("listItemPrefix"),h===42||h===45?e.check(tn,n,s)(h):s(h);if(!r.interrupt||h===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),u(h)}return n(h)}function u(h){return Rn(h)&&++l<10?(e.consume(h),u):(!r.interrupt||l<2)&&(r.containerState.marker?h===r.containerState.marker:h===41||h===46)?(e.exit("listItemValue"),s(h)):n(h)}function s(h){return e.enter("listItemMarker"),e.consume(h),e.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||h,e.check(Qe,r.interrupt?n:f,e.attempt(Co,p,c))}function f(h){return r.containerState.initialBlankLine=!0,o++,p(h)}function c(h){return O(h)?(e.enter("listItemPrefixWhitespace"),e.consume(h),e.exit("listItemPrefixWhitespace"),p):n(h)}function p(h){return r.containerState.size=o+r.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(h)}}function Ao(e,t,n){const r=this;return r.containerState._closeFlow=void 0,e.check(Qe,i,o);function i(a){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,B(e,t,"listItemIndent",r.containerState.size+1)(a)}function o(a){return r.containerState.furtherBlankLines||!O(a)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,l(a)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(Eo,t,l)(a))}function l(a){return r.containerState._closeFlow=!0,r.interrupt=void 0,B(e,e.attempt(ee,t,n),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(a)}}function To(e,t,n){const r=this;return B(e,i,"listItemIndent",r.containerState.size+1);function i(o){const l=r.events[r.events.length-1];return l&&l[1].type==="listItemIndent"&&l[2].sliceSerialize(l[1],!0).length===r.containerState.size?t(o):n(o)}}function Po(e){e.exit(this.containerState.type)}function vo(e,t,n){const r=this;return B(e,i,"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function i(o){const l=r.events[r.events.length-1];return!O(o)&&l&&l[1].type==="listItemPrefixWhitespace"?t(o):n(o)}}const vt={name:"setextUnderline",resolveTo:zo,tokenize:Do};function zo(e,t){let n=e.length,r,i,o;for(;n--;)if(e[n][0]==="enter"){if(e[n][1].type==="content"){r=n;break}e[n][1].type==="paragraph"&&(i=n)}else e[n][1].type==="content"&&e.splice(n,1),!o&&e[n][1].type==="definition"&&(o=n);const l={type:"setextHeading",start:{...e[r][1].start},end:{...e[e.length-1][1].end}};return e[i][1].type="setextHeadingText",o?(e.splice(i,0,["enter",l,t]),e.splice(o+1,0,["exit",e[r][1],t]),e[r][1].end={...e[o][1].end}):e[r][1]=l,e.push(["exit",l,t]),e}function Do(e,t,n){const r=this;let i;return o;function o(s){let f=r.events.length,c;for(;f--;)if(r.events[f][1].type!=="lineEnding"&&r.events[f][1].type!=="linePrefix"&&r.events[f][1].type!=="content"){c=r.events[f][1].type==="paragraph";break}return!r.parser.lazy[r.now().line]&&(r.interrupt||c)?(e.enter("setextHeadingLine"),i=s,l(s)):n(s)}function l(s){return e.enter("setextHeadingLineSequence"),a(s)}function a(s){return s===i?(e.consume(s),a):(e.exit("setextHeadingLineSequence"),O(s)?B(e,u,"lineSuffix")(s):u(s))}function u(s){return s===null||z(s)?(e.exit("setextHeadingLine"),t(s)):n(s)}}const Lo={tokenize:Fo};function Fo(e){const t=this,n=e.attempt(Qe,r,e.attempt(this.parser.constructs.flowInitial,i,B(e,e.attempt(this.parser.constructs.flow,i,e.attempt(Ml,i)),"linePrefix")));return n;function r(o){if(o===null){e.consume(o);return}return e.enter("lineEndingBlank"),e.consume(o),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n}function i(o){if(o===null){e.consume(o);return}return e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),t.currentConstruct=void 0,n}}const Ro={resolveAll:Ir()},_o=Er("string"),Oo=Er("text");function Er(e){return{resolveAll:Ir(e==="text"?Mo:void 0),tokenize:t};function t(n){const r=this,i=this.parser.constructs[e],o=n.attempt(i,l,a);return l;function l(f){return s(f)?o(f):a(f)}function a(f){if(f===null){n.consume(f);return}return n.enter("data"),n.consume(f),u}function u(f){return s(f)?(n.exit("data"),o(f)):(n.consume(f),u)}function s(f){if(f===null)return!0;const c=i[f];let p=-1;if(c)for(;++p<c.length;){const h=c[p];if(!h.previous||h.previous.call(r,r.previous))return!0}return!1}}}function Ir(e){return t;function t(n,r){let i=-1,o;for(;++i<=n.length;)o===void 0?n[i]&&n[i][1].type==="data"&&(o=i,i++):(!n[i]||n[i][1].type!=="data")&&(i!==o+2&&(n[o][1].end=n[i-1][1].end,n.splice(o+2,i-o-2),i=o+2),o=void 0);return e?e(n,r):n}}function Mo(e,t){let n=0;for(;++n<=e.length;)if((n===e.length||e[n][1].type==="lineEnding")&&e[n-1][1].type==="data"){const r=e[n-1][1],i=t.sliceStream(r);let o=i.length,l=-1,a=0,u;for(;o--;){const s=i[o];if(typeof s=="string"){for(l=s.length;s.charCodeAt(l-1)===32;)a++,l--;if(l)break;l=-1}else if(s===-2)u=!0,a++;else if(s!==-1){o++;break}}if(t._contentTypeTextTrailing&&n===e.length&&(a=0),a){const s={type:n===e.length||u||a<2?"lineSuffix":"hardBreakTrailing",start:{_bufferIndex:o?l:r.start._bufferIndex+l,_index:r.start._index+o,line:r.end.line,column:r.end.column-a,offset:r.end.offset-a},end:{...r.end}};r.end={...s.start},r.start.offset===r.end.offset?Object.assign(r,s):(e.splice(n,0,["enter",s,t],["exit",s,t]),n+=2)}n++}return e}const No={42:ee,43:ee,45:ee,48:ee,49:ee,50:ee,51:ee,52:ee,53:ee,54:ee,55:ee,56:ee,57:ee,62:yr},Bo={91:Ul},jo={[-2]:dn,[-1]:dn,32:dn},Ho={35:Xl,42:tn,45:[vt,tn],60:Jl,61:vt,95:tn,96:Tt,126:Tt},Uo={38:kr,92:xr},qo={[-5]:yn,[-4]:yn,[-3]:yn,33:yo,38:kr,42:_n,60:[xl,lo],91:ko,92:[Wl,xr],93:Qn,95:_n,96:Dl},Vo={null:[_n,Ro]},$o={null:[42,95]},Wo={null:[]},Yo=Object.freeze(Object.defineProperty({__proto__:null,attentionMarkers:$o,contentInitial:Bo,disable:Wo,document:No,flow:Ho,flowInitial:jo,insideSpan:Vo,string:Uo,text:qo},Symbol.toStringTag,{value:"Module"}));function Xo(e,t,n){let r={_bufferIndex:-1,_index:0,line:n&&n.line||1,column:n&&n.column||1,offset:n&&n.offset||0};const i={},o=[];let l=[],a=[];const u={attempt:M(_),check:M(b),consume:I,enter:C,exit:R,interrupt:M(b,{interrupt:!0})},s={code:null,containerState:{},defineSkip:w,events:[],now:d,parser:e,previous:null,sliceSerialize:p,sliceStream:h,write:c};let f=t.tokenize.call(s,u);return t.resolveAll&&o.push(t),s;function c(P){return l=le(l,P),S(),l[l.length-1]!==null?[]:(H(t,0),s.events=sn(o,s.events,s),s.events)}function p(P,v){return Go(h(P),v)}function h(P){return Qo(l,P)}function d(){const{_bufferIndex:P,_index:v,line:U,column:D,offset:T}=r;return{_bufferIndex:P,_index:v,line:U,column:D,offset:T}}function w(P){i[P.line]=P.column,x()}function S(){let P;for(;r._index<l.length;){const v=l[r._index];if(typeof v=="string")for(P=r._index,r._bufferIndex<0&&(r._bufferIndex=0);r._index===P&&r._bufferIndex<v.length;)y(v.charCodeAt(r._bufferIndex));else y(v)}}function y(P){f=f(P)}function I(P){z(P)?(r.line++,r.column=1,r.offset+=P===-3?2:1,x()):P!==-1&&(r.column++,r.offset++),r._bufferIndex<0?r._index++:(r._bufferIndex++,r._bufferIndex===l[r._index].length&&(r._bufferIndex=-1,r._index++)),s.previous=P}function C(P,v){const U=v||{};return U.type=P,U.start=d(),s.events.push(["enter",U,s]),a.push(U),U}function R(P){const v=a.pop();return v.end=d(),s.events.push(["exit",v,s]),v}function _(P,v){H(P,v.from)}function b(P,v){v.restore()}function M(P,v){return U;function U(D,T,q){let Q,oe,pe,m;return Array.isArray(D)?me(D):"tokenize"in D?me([D]):ae(D);function ae(G){return Oe;function Oe(xe){const Te=xe!==null&&G[xe],Pe=xe!==null&&G.null,Ke=[...Array.isArray(Te)?Te:Te?[Te]:[],...Array.isArray(Pe)?Pe:Pe?[Pe]:[]];return me(Ke)(xe)}}function me(G){return Q=G,oe=0,G.length===0?q:g(G[oe])}function g(G){return Oe;function Oe(xe){return m=j(),pe=G,G.partial||(s.currentConstruct=G),G.name&&s.parser.constructs.disable.null.includes(G.name)?we():G.tokenize.call(v?Object.assign(Object.create(s),v):s,u,ue,we)(xe)}}function ue(G){return P(pe,m),T}function we(G){return m.restore(),++oe<Q.length?g(Q[oe]):q}}}function H(P,v){P.resolveAll&&!o.includes(P)&&o.push(P),P.resolve&&ie(s.events,v,s.events.length-v,P.resolve(s.events.slice(v),s)),P.resolveTo&&(s.events=P.resolveTo(s.events,s))}function j(){const P=d(),v=s.previous,U=s.currentConstruct,D=s.events.length,T=Array.from(a);return{from:D,restore:q};function q(){r=P,s.previous=v,s.currentConstruct=U,s.events.length=D,a=T,x()}}function x(){r.line in i&&r.column<2&&(r.column=i[r.line],r.offset+=i[r.line]-1)}}function Qo(e,t){const n=t.start._index,r=t.start._bufferIndex,i=t.end._index,o=t.end._bufferIndex;let l;if(n===i)l=[e[n].slice(r,o)];else{if(l=e.slice(n,i),r>-1){const a=l[0];typeof a=="string"?l[0]=a.slice(r):l.shift()}o>0&&l.push(e[i].slice(0,o))}return l}function Go(e,t){let n=-1;const r=[];let i;for(;++n<e.length;){const o=e[n];let l;if(typeof o=="string")l=o;else switch(o){case-5:{l="\r";break}case-4:{l=`
|
|
3
3
|
`;break}case-3:{l=`\r
|
|
4
4
|
`;break}case-2:{l=t?" ":" ";break}case-1:{if(!t&&i)continue;l=" ";break}default:l=String.fromCharCode(o)}i=o===-2,r.push(l)}return r.join("")}function Ko(e){const r={constructs:gr([Yo,...(e||{}).extensions||[]]),content:i(fl),defined:[],document:i(pl),flow:i(Lo),lazy:{},string:i(_o),text:i(Oo)};return r;function i(o){return l;function l(a){return Xo(r,o,a)}}}function Jo(e){for(;!br(e););return e}const zt=/[\0\t\n\r]/g;function Zo(){let e=1,t="",n=!0,r;return i;function i(o,l,a){const u=[];let s,f,c,p,h;for(o=t+(typeof o=="string"?o.toString():new TextDecoder(l||void 0).decode(o)),c=0,t="",n&&(o.charCodeAt(0)===65279&&c++,n=void 0);c<o.length;){if(zt.lastIndex=c,s=zt.exec(o),p=s&&s.index!==void 0?s.index:o.length,h=o.charCodeAt(p),!s){t=o.slice(c);break}if(h===10&&c===p&&r)u.push(-3),r=void 0;else switch(r&&(u.push(-5),r=void 0),c<p&&(u.push(o.slice(c,p)),e+=p-c),h){case 0:{u.push(65533),e++;break}case 9:{for(f=Math.ceil(e/4)*4,u.push(-2);e++<f;)u.push(-1);break}case 10:{u.push(-4),e=1;break}default:r=!0,e=1}c=p+1}return a&&(r&&u.push(-5),t&&u.push(t),u.push(null)),u}}const ea=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function na(e){return e.replace(ea,ta)}function ta(e,t,n){if(t)return t;if(n.charCodeAt(0)===35){const i=n.charCodeAt(1),o=i===120||i===88;return dr(n.slice(o?2:1),o?16:10)}return Xn(n)||e}const Ar={}.hasOwnProperty;function ra(e,t,n){return t&&typeof t=="object"&&(n=t,t=void 0),ia(n)(Jo(Ko(n).document().write(Zo()(e,t,!0))))}function ia(e){const t={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:o(ut),autolinkProtocol:j,autolinkEmail:j,atxHeading:o(lt),blockQuote:o(Pe),characterEscape:j,characterReference:j,codeFenced:o(Ke),codeFencedFenceInfo:l,codeFencedFenceMeta:l,codeIndented:o(Ke,l),codeText:o(li,l),codeTextData:j,data:j,codeFlowValue:j,definition:o(oi),definitionDestinationString:l,definitionLabelString:l,definitionTitleString:l,emphasis:o(ai),hardBreakEscape:o(ot),hardBreakTrailing:o(ot),htmlFlow:o(at,l),htmlFlowData:j,htmlText:o(at,l),htmlTextData:j,image:o(ui),label:l,link:o(ut),listItem:o(si),listItemValue:p,listOrdered:o(st,c),listUnordered:o(st),paragraph:o(ci),reference:g,referenceString:l,resourceDestinationString:l,resourceTitleString:l,setextHeading:o(lt),strong:o(fi),thematicBreak:o(pi)},exit:{atxHeading:u(),atxHeadingSequence:_,autolink:u(),autolinkEmail:Te,autolinkProtocol:xe,blockQuote:u(),characterEscapeValue:x,characterReferenceMarkerHexadecimal:we,characterReferenceMarkerNumeric:we,characterReferenceValue:G,characterReference:Oe,codeFenced:u(S),codeFencedFence:w,codeFencedFenceInfo:h,codeFencedFenceMeta:d,codeFlowValue:x,codeIndented:u(y),codeText:u(T),codeTextData:x,data:x,definition:u(),definitionDestinationString:R,definitionLabelString:I,definitionTitleString:C,emphasis:u(),hardBreakEscape:u(v),hardBreakTrailing:u(v),htmlFlow:u(U),htmlFlowData:x,htmlText:u(D),htmlTextData:x,image:u(Q),label:pe,labelText:oe,lineEnding:P,link:u(q),listItem:u(),listOrdered:u(),listUnordered:u(),paragraph:u(),referenceString:ue,resourceDestinationString:m,resourceTitleString:ae,resource:me,setextHeading:u(H),setextHeadingLineSequence:M,setextHeadingText:b,strong:u(),thematicBreak:u()}};Tr(t,(e||{}).mdastExtensions||[]);const n={};return r;function r(k){let A={type:"root",children:[]};const F={stack:[A],tokenStack:[],config:t,enter:a,exit:s,buffer:l,resume:f,data:n},N=[];let V=-1;for(;++V<k.length;)if(k[V][1].type==="listOrdered"||k[V][1].type==="listUnordered")if(k[V][0]==="enter")N.push(V);else{const se=N.pop();V=i(k,se,V)}for(V=-1;++V<k.length;){const se=t[k[V][0]];Ar.call(se,k[V][1].type)&&se[k[V][1].type].call(Object.assign({sliceSerialize:k[V][2].sliceSerialize},F),k[V][1])}if(F.tokenStack.length>0){const se=F.tokenStack[F.tokenStack.length-1];(se[1]||Dt).call(F,void 0,se[0])}for(A.position={start:ke(k.length>0?k[0][1].start:{line:1,column:1,offset:0}),end:ke(k.length>0?k[k.length-2][1].end:{line:1,column:1,offset:0})},V=-1;++V<t.transforms.length;)A=t.transforms[V](A)||A;return A}function i(k,A,F){let N=A-1,V=-1,se=!1,Se,ge,Me,Ne;for(;++N<=F;){const te=k[N];switch(te[1].type){case"listUnordered":case"listOrdered":case"blockQuote":{te[0]==="enter"?V++:V--,Ne=void 0;break}case"lineEndingBlank":{te[0]==="enter"&&(Se&&!Ne&&!V&&!Me&&(Me=N),Ne=void 0);break}case"linePrefix":case"listItemValue":case"listItemMarker":case"listItemPrefix":case"listItemPrefixWhitespace":break;default:Ne=void 0}if(!V&&te[0]==="enter"&&te[1].type==="listItemPrefix"||V===-1&&te[0]==="exit"&&(te[1].type==="listUnordered"||te[1].type==="listOrdered")){if(Se){let ve=N;for(ge=void 0;ve--;){const de=k[ve];if(de[1].type==="lineEnding"||de[1].type==="lineEndingBlank"){if(de[0]==="exit")continue;ge&&(k[ge][1].type="lineEndingBlank",se=!0),de[1].type="lineEnding",ge=ve}else if(!(de[1].type==="linePrefix"||de[1].type==="blockQuotePrefix"||de[1].type==="blockQuotePrefixWhitespace"||de[1].type==="blockQuoteMarker"||de[1].type==="listItemIndent"))break}Me&&(!ge||Me<ge)&&(Se._spread=!0),Se.end=Object.assign({},ge?k[ge][1].start:te[1].end),k.splice(ge||N,0,["exit",Se,te[2]]),N++,F++}if(te[1].type==="listItemPrefix"){const ve={type:"listItem",_spread:!1,start:Object.assign({},te[1].start),end:void 0};Se=ve,k.splice(N,0,["enter",ve,te[2]]),N++,F++,Me=void 0,Ne=!0}}}return k[A][1]._spread=se,F}function o(k,A){return F;function F(N){a.call(this,k(N),N),A&&A.call(this,N)}}function l(){this.stack.push({type:"fragment",children:[]})}function a(k,A,F){this.stack[this.stack.length-1].children.push(k),this.stack.push(k),this.tokenStack.push([A,F||void 0]),k.position={start:ke(A.start),end:void 0}}function u(k){return A;function A(F){k&&k.call(this,F),s.call(this,F)}}function s(k,A){const F=this.stack.pop(),N=this.tokenStack.pop();if(N)N[0].type!==k.type&&(A?A.call(this,k,N[0]):(N[1]||Dt).call(this,k,N[0]));else throw new Error("Cannot close `"+k.type+"` ("+qe({start:k.start,end:k.end})+"): it’s not open");F.position.end=ke(k.end)}function f(){return Yn(this.stack.pop())}function c(){this.data.expectingFirstListItemValue=!0}function p(k){if(this.data.expectingFirstListItemValue){const A=this.stack[this.stack.length-2];A.start=Number.parseInt(this.sliceSerialize(k),10),this.data.expectingFirstListItemValue=void 0}}function h(){const k=this.resume(),A=this.stack[this.stack.length-1];A.lang=k}function d(){const k=this.resume(),A=this.stack[this.stack.length-1];A.meta=k}function w(){this.data.flowCodeInside||(this.buffer(),this.data.flowCodeInside=!0)}function S(){const k=this.resume(),A=this.stack[this.stack.length-1];A.value=k.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),this.data.flowCodeInside=void 0}function y(){const k=this.resume(),A=this.stack[this.stack.length-1];A.value=k.replace(/(\r?\n|\r)$/g,"")}function I(k){const A=this.resume(),F=this.stack[this.stack.length-1];F.label=A,F.identifier=ce(this.sliceSerialize(k)).toLowerCase()}function C(){const k=this.resume(),A=this.stack[this.stack.length-1];A.title=k}function R(){const k=this.resume(),A=this.stack[this.stack.length-1];A.url=k}function _(k){const A=this.stack[this.stack.length-1];if(!A.depth){const F=this.sliceSerialize(k).length;A.depth=F}}function b(){this.data.setextHeadingSlurpLineEnding=!0}function M(k){const A=this.stack[this.stack.length-1];A.depth=this.sliceSerialize(k).codePointAt(0)===61?1:2}function H(){this.data.setextHeadingSlurpLineEnding=void 0}function j(k){const F=this.stack[this.stack.length-1].children;let N=F[F.length-1];(!N||N.type!=="text")&&(N=hi(),N.position={start:ke(k.start),end:void 0},F.push(N)),this.stack.push(N)}function x(k){const A=this.stack.pop();A.value+=this.sliceSerialize(k),A.position.end=ke(k.end)}function P(k){const A=this.stack[this.stack.length-1];if(this.data.atHardBreak){const F=A.children[A.children.length-1];F.position.end=ke(k.end),this.data.atHardBreak=void 0;return}!this.data.setextHeadingSlurpLineEnding&&t.canContainEols.includes(A.type)&&(j.call(this,k),x.call(this,k))}function v(){this.data.atHardBreak=!0}function U(){const k=this.resume(),A=this.stack[this.stack.length-1];A.value=k}function D(){const k=this.resume(),A=this.stack[this.stack.length-1];A.value=k}function T(){const k=this.resume(),A=this.stack[this.stack.length-1];A.value=k}function q(){const k=this.stack[this.stack.length-1];if(this.data.inReference){const A=this.data.referenceType||"shortcut";k.type+="Reference",k.referenceType=A,delete k.url,delete k.title}else delete k.identifier,delete k.label;this.data.referenceType=void 0}function Q(){const k=this.stack[this.stack.length-1];if(this.data.inReference){const A=this.data.referenceType||"shortcut";k.type+="Reference",k.referenceType=A,delete k.url,delete k.title}else delete k.identifier,delete k.label;this.data.referenceType=void 0}function oe(k){const A=this.sliceSerialize(k),F=this.stack[this.stack.length-2];F.label=na(A),F.identifier=ce(A).toLowerCase()}function pe(){const k=this.stack[this.stack.length-1],A=this.resume(),F=this.stack[this.stack.length-1];if(this.data.inReference=!0,F.type==="link"){const N=k.children;F.children=N}else F.alt=A}function m(){const k=this.resume(),A=this.stack[this.stack.length-1];A.url=k}function ae(){const k=this.resume(),A=this.stack[this.stack.length-1];A.title=k}function me(){this.data.inReference=void 0}function g(){this.data.referenceType="collapsed"}function ue(k){const A=this.resume(),F=this.stack[this.stack.length-1];F.label=A,F.identifier=ce(this.sliceSerialize(k)).toLowerCase(),this.data.referenceType="full"}function we(k){this.data.characterReferenceType=k.type}function G(k){const A=this.sliceSerialize(k),F=this.data.characterReferenceType;let N;F?(N=dr(A,F==="characterReferenceMarkerNumeric"?10:16),this.data.characterReferenceType=void 0):N=Xn(A);const V=this.stack[this.stack.length-1];V.value+=N}function Oe(k){const A=this.stack.pop();A.position.end=ke(k.end)}function xe(k){x.call(this,k);const A=this.stack[this.stack.length-1];A.url=this.sliceSerialize(k)}function Te(k){x.call(this,k);const A=this.stack[this.stack.length-1];A.url="mailto:"+this.sliceSerialize(k)}function Pe(){return{type:"blockquote",children:[]}}function Ke(){return{type:"code",lang:null,meta:null,value:""}}function li(){return{type:"inlineCode",value:""}}function oi(){return{type:"definition",identifier:"",label:null,title:null,url:""}}function ai(){return{type:"emphasis",children:[]}}function lt(){return{type:"heading",depth:0,children:[]}}function ot(){return{type:"break"}}function at(){return{type:"html",value:""}}function ui(){return{type:"image",title:null,url:"",alt:null}}function ut(){return{type:"link",title:null,url:"",children:[]}}function st(k){return{type:"list",ordered:k.type==="listOrdered",start:null,spread:k._spread,children:[]}}function si(k){return{type:"listItem",spread:k._spread,checked:null,children:[]}}function ci(){return{type:"paragraph",children:[]}}function fi(){return{type:"strong",children:[]}}function hi(){return{type:"text",value:""}}function pi(){return{type:"thematicBreak"}}}function ke(e){return{line:e.line,column:e.column,offset:e.offset}}function Tr(e,t){let n=-1;for(;++n<t.length;){const r=t[n];Array.isArray(r)?Tr(e,r):la(e,r)}}function la(e,t){let n;for(n in t)if(Ar.call(t,n))switch(n){case"canContainEols":{const r=t[n];r&&e[n].push(...r);break}case"transforms":{const r=t[n];r&&e[n].push(...r);break}case"enter":case"exit":{const r=t[n];r&&Object.assign(e[n],r);break}}}function Dt(e,t){throw e?new Error("Cannot close `"+e.type+"` ("+qe({start:e.start,end:e.end})+"): a different token (`"+t.type+"`, "+qe({start:t.start,end:t.end})+") is open"):new Error("Cannot close document, a token (`"+t.type+"`, "+qe({start:t.start,end:t.end})+") is still open")}function oa(e){const t=this;t.parser=n;function n(r){return ra(r,{...t.data("settings"),...e,extensions:t.data("micromarkExtensions")||[],mdastExtensions:t.data("fromMarkdownExtensions")||[]})}}function aa(e,t){const n={type:"element",tagName:"blockquote",properties:{},children:e.wrap(e.all(t),!0)};return e.patch(t,n),e.applyData(t,n)}function ua(e,t){const n={type:"element",tagName:"br",properties:{},children:[]};return e.patch(t,n),[e.applyData(t,n),{type:"text",value:`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as t,L as s}from"./vendor-react-DvXH3HTt.js";import{u as r,B as o}from"./index-
|
|
1
|
+
import{j as t,L as s}from"./vendor-react-DvXH3HTt.js";import{u as r,B as o}from"./index-ap4cgOZb.js";import"./vendor-radix-Bip5Pqfe.js";import"./vendor-charts-BiMa1Zmo.js";function l(){const{t:e,prefix:n}=r();return t.jsx("main",{className:"grid min-h-screen place-items-center px-6 text-center",children:t.jsxs("div",{children:[t.jsx("div",{className:"text-7xl font-extrabold text-gradient",children:"404"}),t.jsx("h1",{className:"mt-4 text-2xl font-bold",children:e.notFound.title}),t.jsx("p",{className:"mt-2 text-muted-foreground",children:e.notFound.desc}),t.jsx(o,{asChild:!0,className:"mt-6",children:t.jsx(s,{to:n("/"),children:e.notFound.back})})]})})}export{l as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as e,L as n}from"./vendor-react-DvXH3HTt.js";import{u as d,S as t,G as x}from"./index-
|
|
1
|
+
import{j as e,L as n}from"./vendor-react-DvXH3HTt.js";import{u as d,S as t,G as x}from"./index-ap4cgOZb.js";function m(){const{t:o,prefix:l}=d(),r=o.footer,i=[{title:r.product,links:[{label:r.links.features,href:l("/#features"),external:!1},{label:r.links.sponsors,href:l("/sponsors"),external:!1},{label:r.links.docs,href:l("/docs"),external:!1},{label:r.links.tutorials,href:l("/tutorials"),external:!1}]},{title:r.resources,links:[{label:r.links.github,href:t.repo,external:!0},{label:r.links.roles,href:t.rolesRepo,external:!0},{label:r.links.changelog,href:l("/changelog"),external:!1},{label:r.links.license,href:t.license,external:!0}]},{title:r.community,links:[{label:r.links.issues,href:t.issues,external:!0},{label:"npm",href:t.npm,external:!0}]}];return e.jsxs("footer",{className:"border-t border-border/60 bg-muted/30",children:[e.jsxs("div",{className:"container-page grid gap-10 py-14 md:grid-cols-[1.4fr_1fr_1fr_1fr]",children:[e.jsxs("div",{children:[e.jsxs(n,{to:l("/"),className:"flex items-center gap-2.5 font-bold",children:[e.jsx("span",{className:"grid h-8 w-8 place-items-center rounded-lg bg-primary text-primary-foreground",children:"ao"}),"Agency Orchestrator"]}),e.jsx("p",{className:"mt-3 max-w-xs text-sm text-muted-foreground",children:r.tagline}),e.jsxs("p",{className:"mt-2 max-w-xs text-sm text-muted-foreground",children:[r.supportLine," ",e.jsx("a",{href:t.rolesRepo,target:"_blank",rel:"noreferrer",className:"font-medium text-foreground underline-offset-2 hover:underline",children:"agency-agents ↗"})]}),e.jsxs("a",{href:t.repo,target:"_blank",rel:"noreferrer",className:"mt-4 inline-flex items-center gap-2 rounded-lg border border-border/70 px-3 py-2 text-sm text-muted-foreground hover:text-foreground",children:[e.jsx(x,{className:"size-4"}),"jnMetaCode/agency-orchestrator"]})]}),i.map(a=>e.jsxs("div",{children:[e.jsx("h4",{className:"text-sm font-semibold",children:a.title}),e.jsx("ul",{className:"mt-3 space-y-2.5 text-sm",children:a.links.map(s=>s.external?e.jsx("li",{children:e.jsx("a",{href:s.href,target:"_blank",rel:"noreferrer",className:"text-muted-foreground hover:text-foreground",children:s.label})},s.label):s.href.includes("#")?e.jsx("li",{children:e.jsx("a",{href:s.href,className:"text-muted-foreground hover:text-foreground",children:s.label})},s.label):e.jsx("li",{children:e.jsx(n,{to:s.href,className:"text-muted-foreground hover:text-foreground",children:s.label})},s.label))})]},a.title))]}),e.jsx("div",{className:"border-t border-border/60",children:e.jsxs("div",{className:"container-page flex flex-col items-center justify-between gap-2 py-5 text-xs text-muted-foreground sm:flex-row",children:[e.jsxs("span",{children:["© ",t.name]}),e.jsx("span",{children:r.copyright})]})})]})}export{m as S};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{j as e,r as u}from"./vendor-react-DvXH3HTt.js";import{S as w}from"./SiteFooter-
|
|
1
|
+
import{j as e,r as u}from"./vendor-react-DvXH3HTt.js";import{S as w}from"./SiteFooter-DeTk6Tp9.js";import{c as i,u as d,B as f,S as c,a as o}from"./index-ap4cgOZb.js";import{S as m,C as z}from"./sparkles-D92-C4bd.js";import{H as p,s as b,a as C}from"./sponsors-KYk24ElG.js";import{M as S}from"./mail-CtBsV2DI.js";import{R as M,I as T,H as A,T as q,C as B}from"./vendor-radix-Bip5Pqfe.js";import{C as E}from"./copy-button-Do1_UuyM.js";import{A as R}from"./arrow-up-right-6CZEoCcL.js";import"./vendor-charts-BiMa1Zmo.js";import"./copy-BGlHf8Sb.js";/**
|
|
2
2
|
* @license lucide-react v0.469.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as d,j as e}from"./vendor-react-DvXH3HTt.js";import{c as S,u as $,a as T,B as z,X as H,S as Fe}from"./index-
|
|
1
|
+
import{r as d,j as e}from"./vendor-react-DvXH3HTt.js";import{c as S,u as $,a as T,B as z,X as H,S as Fe}from"./index-ap4cgOZb.js";import{S as Ke}from"./SiteFooter-DeTk6Tp9.js";import{T as ye,B as ve,U as Ne,K as pe}from"./users-Cbz4vEtL.js";import{C as F,a as ke}from"./copy-BGlHf8Sb.js";import{e as Ue}from"./experts-Bv953aOf.js";import{C as Z,u as Be}from"./copy-button-Do1_UuyM.js";import{S as we,C as Ce}from"./sparkles-D92-C4bd.js";import{M as re}from"./Markdown-D3PnLbyB.js";import{S as ze}from"./search-B2ActJ9e.js";import{A as He}from"./arrow-left-CQeVnzf3.js";import{C as Ve}from"./clock-DmQbD5zO.js";import{R as We,A as _e,C as Ge,X as Ye,Y as qe,T as Je,a as fe}from"./vendor-charts-BiMa1Zmo.js";import"./vendor-radix-Bip5Pqfe.js";/**
|
|
2
2
|
* @license lucide-react v0.469.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{f as l,j as e,h as m,L as n}from"./vendor-react-DvXH3HTt.js";import{S as d}from"./SiteFooter-
|
|
1
|
+
import{f as l,j as e,h as m,L as n}from"./vendor-react-DvXH3HTt.js";import{S as d}from"./SiteFooter-DeTk6Tp9.js";import{B as c}from"./badge-D_-OpCvn.js";import{C as x}from"./copy-button-Do1_UuyM.js";import{M as u}from"./Markdown-D3PnLbyB.js";import{u as p}from"./index-ap4cgOZb.js";import{c as f}from"./tutorials-CqF_e3yL.js";import{A as h}from"./arrow-left-CQeVnzf3.js";import{C as g}from"./clock-DmQbD5zO.js";import"./copy-BGlHf8Sb.js";import"./vendor-radix-Bip5Pqfe.js";import"./vendor-charts-BiMa1Zmo.js";function j({code:t}){return e.jsxs("div",{className:"relative mt-4 overflow-hidden rounded-xl border border-border/70 bg-[#0b0e16]",children:[e.jsx("div",{className:"absolute right-2 top-2",children:e.jsx(x,{value:t,className:"border-white/10 bg-white/5 text-white/60"})}),e.jsx("pre",{className:"overflow-x-auto p-4 font-mono text-[13px] leading-relaxed text-white/85",children:e.jsx("code",{children:t})})]})}function F(){const{t,lang:s,prefix:o}=p(),{slug:i}=l(),r=i?f(i):void 0;return r?e.jsxs(e.Fragment,{children:[e.jsx("main",{className:"pt-24",children:e.jsxs("div",{className:"container-page max-w-3xl pb-20",children:[e.jsxs(n,{to:o("/tutorials"),className:"inline-flex items-center gap-1.5 text-sm font-medium text-muted-foreground hover:text-foreground",children:[e.jsx(h,{className:"size-4"}),t.tutorials.back]}),e.jsxs("div",{className:"mt-6 flex items-center gap-3",children:[e.jsx(c,{className:"border-primary/30 bg-primary/10 text-primary",children:t.tutorials.categories[r.category]}),e.jsxs("span",{className:"inline-flex items-center gap-1 text-xs text-muted-foreground",children:[e.jsx(g,{className:"size-3.5"}),r.min," ",t.tutorials.minRead]})]}),e.jsx("h1",{className:"mt-3 text-3xl font-extrabold tracking-tight sm:text-4xl",children:r.title[s]}),e.jsx("p",{className:"mt-3 leading-relaxed text-muted-foreground",children:r.summary[s]}),e.jsx("div",{className:"mt-10 space-y-10",children:r.sections.map(a=>e.jsxs("section",{children:[e.jsx("h2",{className:"text-xl font-bold",children:a.heading[s]}),e.jsx(u,{className:"mt-2 text-base text-muted-foreground",children:a.body[s]}),a.code&&e.jsx(j,{code:a.code})]},a.heading[s]))})]})}),e.jsx(d,{})]}):e.jsx(m,{to:o("/tutorials"),replace:!0})}export{F as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as n,j as e,L as j}from"./vendor-react-DvXH3HTt.js";import{S as b}from"./SiteFooter-
|
|
1
|
+
import{r as n,j as e,L as j}from"./vendor-react-DvXH3HTt.js";import{S as b}from"./SiteFooter-DeTk6Tp9.js";import{c as N,u as y,B as v,S as k,a as p}from"./index-ap4cgOZb.js";import{t as w,a as C,b as S}from"./tutorials-CqF_e3yL.js";import{M as z}from"./mail-CtBsV2DI.js";import{A as E}from"./arrow-up-right-6CZEoCcL.js";import{C as L}from"./clock-DmQbD5zO.js";import"./vendor-radix-Bip5Pqfe.js";import"./vendor-charts-BiMa1Zmo.js";/**
|
|
2
2
|
* @license lucide-react v0.469.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as t}from"./vendor-react-DvXH3HTt.js";import{a as o}from"./index-
|
|
1
|
+
import{j as t}from"./vendor-react-DvXH3HTt.js";import{a as o}from"./index-ap4cgOZb.js";function s({className:e,...r}){return t.jsx("span",{className:o("inline-flex items-center gap-1.5 rounded-full border border-border/70 bg-muted/60 px-3 py-1 text-xs font-medium text-muted-foreground",e),...r})}export{s as B};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as n,r as i}from"./vendor-react-DvXH3HTt.js";import{a as c}from"./index-
|
|
1
|
+
import{j as n,r as i}from"./vendor-react-DvXH3HTt.js";import{a as c}from"./index-ap4cgOZb.js";import{C as u,a as d}from"./copy-BGlHf8Sb.js";function p(o=1800){const[e,r]=i.useState(!1);i.useEffect(()=>{if(!e)return;const t=window.setTimeout(()=>r(!1),o);return()=>window.clearTimeout(t)},[e,o]);const a=i.useCallback(t=>{var s;(s=navigator.clipboard)==null||s.writeText(t).then(()=>r(!0)).catch(()=>{})},[]);return{copied:e,copy:a}}function f({value:o,label:e,copiedLabel:r,className:a}){const{copied:t,copy:s}=p();return n.jsxs("button",{type:"button",onClick:()=>s(o),className:c("inline-flex items-center gap-1.5 rounded-lg border border-border/70 bg-muted/50 px-2.5 py-1.5 text-xs font-medium text-muted-foreground transition-colors hover:text-foreground",a),children:[t?n.jsx(u,{className:"size-3.5 text-emerald-500"}):n.jsx(d,{className:"size-3.5"}),e!=null&&n.jsx("span",{children:t?r??e:e})]})}export{f as C,p as u};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Home-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Home-Bw8Qc9id.js","assets/vendor-react-DvXH3HTt.js","assets/users-Cbz4vEtL.js","assets/vendor-framer-motion-ZdeJPCY2.js","assets/copy-button-Do1_UuyM.js","assets/copy-BGlHf8Sb.js","assets/badge-D_-OpCvn.js","assets/sponsors-KYk24ElG.js","assets/SiteFooter-DeTk6Tp9.js","assets/vendor-radix-Bip5Pqfe.js","assets/vendor-charts-BiMa1Zmo.js","assets/Sponsors-CtU7ozQG.js","assets/sparkles-D92-C4bd.js","assets/mail-CtBsV2DI.js","assets/arrow-up-right-6CZEoCcL.js","assets/Studio-TCAixiBo.js","assets/experts-Bv953aOf.js","assets/Markdown-D3PnLbyB.js","assets/search-B2ActJ9e.js","assets/arrow-left-CQeVnzf3.js","assets/clock-DmQbD5zO.js","assets/Experts-C51A3h3z.js","assets/Docs-Bu7k8WYA.js","assets/Tutorials-TjS9s9dU.js","assets/tutorials-CqF_e3yL.js","assets/TutorialDetail-BFVdnMot.js","assets/Changelog-BvJ_2Vzf.js","assets/NotFound-soJyPTK-.js"])))=>i.map(i=>d[i]);
|
|
2
2
|
import{r as m,j as i,u as ue,L as Ae,N as Ce,b as Se,d as C,e as Pe,B as Te}from"./vendor-react-DvXH3HTt.js";import{S as Le}from"./vendor-radix-Bip5Pqfe.js";import{c as pe}from"./vendor-charts-BiMa1Zmo.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))n(a);new MutationObserver(a=>{for(const r of a)if(r.type==="childList")for(const l of r.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&n(l)}).observe(document,{childList:!0,subtree:!0});function o(a){const r={};return a.integrity&&(r.integrity=a.integrity),a.referrerPolicy&&(r.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?r.credentials="include":a.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function n(a){if(a.ep)return;a.ep=!0;const r=o(a);fetch(a.href,r)}})();const je="modulepreload",Ie=function(e){return"/"+e},re={},T=function(t,o,n){let a=Promise.resolve();if(o&&o.length>0){let l=function(d){return Promise.all(d.map(p=>Promise.resolve(p).then(y=>({status:"fulfilled",value:y}),y=>({status:"rejected",reason:y}))))};document.getElementsByTagName("link");const s=document.querySelector("meta[property=csp-nonce]"),c=(s==null?void 0:s.nonce)||(s==null?void 0:s.getAttribute("nonce"));a=l(o.map(d=>{if(d=Ie(d),d in re)return;re[d]=!0;const p=d.endsWith(".css"),y=p?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${d}"]${y}`))return;const g=document.createElement("link");if(g.rel=p?"stylesheet":je,p||(g.as="script"),g.crossOrigin="",g.href=d,c&&g.setAttribute("nonce",c),document.head.appendChild(g),p)return new Promise((v,x)=>{g.addEventListener("load",v),g.addEventListener("error",()=>x(new Error(`Unable to preload CSS for ${d}`)))})}))}function r(l){const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=l,window.dispatchEvent(s),!s.defaultPrevented)throw l}return a.then(l=>{for(const s of l||[])s.status==="rejected"&&r(s.reason);return t().catch(r)})};/**
|
|
3
3
|
* @license lucide-react v0.469.0 - ISC
|
|
4
4
|
*
|
|
@@ -84,4 +84,4 @@ steps:
|
|
|
84
84
|
- id: write
|
|
85
85
|
role: "marketing/marketing-content-creator"
|
|
86
86
|
task: "Write a plan from {{research}}"
|
|
87
|
-
depends_on: [research]`}],moreInRepo:"Full docs and the list of 184 roles live in the GitHub repo."},tutorials:{badge:"Official + Community",title:"Master Agency Orchestrator",subtitle:"What can you do after generating a workflow in one sentence? Official and community tutorials, from a 5-minute start to advanced practice.",submit:"Submit your tutorial",filterCategory:"Category",filterSource:"Source",all:"All",minRead:"min read",empty:"No tutorials in this category yet.",back:"Back to tutorials",categories:{start:"Start",practice:"Practice",integration:"Integration",troubleshoot:"Troubleshoot",video:"Video"},sources:{official:"Official",community:"Community"}},changelog:{title:"Changelog",subtitle:"Release notes for every Agency Orchestrator version, synced with the repo's CHANGELOG.md.",latest:"Latest",repoLink:"View the full CHANGELOG on GitHub"},experts:{title:"The agency-agents library",subtitle:"200+ finely-tuned AI experts — each a carefully crafted system prompt. AO teams them up from a single sentence. Browse them all here, no install needed.",searchPlaceholder:"Search experts (name / description / category)…",all:"All",countSuffix:"experts",empty:"No matching experts — try another keyword.",repoCta:"View agency-agents on GitHub",copyPrompt:"Copy prompt",viewPrompt:"View prompt",copied:"Copied",copyFailed:"Copy failed",loading:"Loading…",close:"Close",promptHint:"This is the expert's full system prompt — copy it into any AI tool."},footer:{tagline:"One sentence in, a team of AI agents out.",supportLine:"Built to support the agency-agents open-source project.",product:"Product",resources:"Resources",community:"Community",links:{features:"Features",sponsors:"Sponsors",docs:"Docs",tutorials:"Tutorials",github:"GitHub repo",roles:"Role library",issues:"Open an issue",changelog:"Changelog",license:"License"},copyright:"Apache-2.0 License · Open source"},notFound:{title:"Page not found",desc:"Nothing here.",back:"Back home"},common:{loading:"Loading…"}},Ct={zh:vt,en:At},xe=m.createContext(null);function St(){if(typeof window>"u")return"zh";const e=window.location.pathname.split("/").filter(Boolean)[0];if(ce.includes(e))return e;const t=window.localStorage.getItem("ao-lang");return ce.includes(t)?t:navigator.language.toLowerCase().startsWith("zh")?"zh":"en"}function Pt({children:e}){const[t,o]=m.useState(St);m.useEffect(()=>{document.documentElement.lang=t==="zh"?"zh-CN":"en",window.localStorage.setItem("ao-lang",t)},[t]);const n=m.useCallback(s=>o(s),[]),a=m.useCallback(()=>o(s=>s==="zh"?"en":"zh"),[]),r=m.useCallback(s=>t==="zh"?s:`/en${s==="/"?"":s}`,[t]),l=m.useMemo(()=>({lang:t,t:Ct[t],setLang:n,toggle:a,prefix:r}),[t,n,a,r]);return i.jsx(xe.Provider,{value:l,children:e})}function ve(){const e=m.useContext(xe);if(!e)throw new Error("useLanguage must be used within LanguageProvider");return e}const U={name:"Agency Orchestrator",repo:"https://github.com/jnMetaCode/agency-orchestrator",npm:"https://www.npmjs.com/package/agency-orchestrator",rolesRepo:"https://github.com/jnMetaCode/agency-agents-zh",issues:"https://github.com/jnMetaCode/agency-orchestrator/issues",changelog:"https://github.com/jnMetaCode/agency-orchestrator/blob/main/CHANGELOG.md",license:"https://github.com/jnMetaCode/agency-orchestrator/blob/main/LICENSE",evalFindings:"https://github.com/jnMetaCode/agency-orchestrator/blob/main/EVAL_FINDINGS.md",releases:"https://github.com/jnMetaCode/agency-orchestrator/releases/latest",install:"npm i -g agency-orchestrator",sponsorEmail:"jnMetaCode@qq.com",sponsorContact:"mailto:jnMetaCode@qq.com?subject=Sponsorship%20-%20agency-agents",providersKeyed:["DeepSeek","Claude","OpenAI","Gemini","Ollama","Moonshot","硅基流动","OpenRouter"],providersKeyfree:["claude-code CLI","gemini-cli","openclaw-cli","Ollama 本地","LM Studio","免费聚合","演示模式"]};function Tt(){const{t:e,lang:t,toggle:o,prefix:n}=ve(),[a,r]=m.useState(!1),{pathname:l}=ue(),s=[{to:n("/#features"),label:e.nav.features,hash:!0},{to:n("/studio"),label:e.nav.studio},{to:n("/experts"),label:e.nav.experts},{to:n("/docs"),label:e.nav.docs},{to:n("/tutorials"),label:e.nav.tutorials},{to:n("/changelog"),label:e.nav.changelog},{to:n("/sponsors"),label:e.nav.sponsors}];return i.jsxs("header",{className:"fixed inset-x-0 top-0 z-50 border-b border-border/60 bg-background/80 backdrop-blur-xl",children:[i.jsxs("nav",{className:"container-page flex h-16 items-center justify-between",children:[i.jsxs(Ae,{to:n("/"),className:"flex items-center gap-2.5 font-bold",onClick:()=>r(!1),children:[i.jsx("span",{className:"grid h-8 w-8 place-items-center rounded-lg bg-primary text-primary-foreground shadow-lg shadow-primary/30",children:"ao"}),i.jsx("span",{className:"hidden text-[15px] sm:block",children:"Agency Orchestrator"})]}),i.jsx("div",{className:"hidden items-center gap-1 md:flex",children:s.map(c=>c.hash?i.jsx("a",{href:c.to,className:"rounded-lg px-3 py-2 text-sm font-medium text-muted-foreground transition-colors hover:text-foreground",children:c.label},c.to):i.jsx(Ce,{to:c.to,className:({isActive:d})=>ke("rounded-lg px-3 py-2 text-sm font-medium transition-colors hover:text-foreground",d&&l===c.to?"text-foreground":"text-muted-foreground"),children:c.label},c.to))}),i.jsxs("div",{className:"flex items-center gap-1.5",children:[i.jsxs("button",{type:"button",onClick:o,className:"hidden h-9 items-center gap-1.5 rounded-lg border border-border/70 px-2.5 text-xs font-medium text-muted-foreground transition-colors hover:text-foreground sm:inline-flex",children:[i.jsx(Ne,{className:"size-4"}),t==="zh"?"EN":"中"]}),i.jsx(xt,{}),i.jsx(Y,{asChild:!0,size:"sm",variant:"outline",className:"hidden lg:inline-flex",children:i.jsxs("a",{href:U.repo,target:"_blank",rel:"noreferrer",children:[i.jsx(De,{className:"size-4"}),e.nav.star]})}),i.jsx(Y,{asChild:!0,size:"sm",className:"hidden sm:inline-flex",children:i.jsxs("a",{href:U.repo,target:"_blank",rel:"noreferrer",children:[i.jsx(ne,{className:"size-4"}),"GitHub"]})}),i.jsx("button",{type:"button",className:"inline-flex h-9 w-9 items-center justify-center rounded-lg border border-border/70 md:hidden",onClick:()=>r(c=>!c),"aria-label":"Menu",children:a?i.jsx(_e,{className:"size-4"}):i.jsx(Oe,{className:"size-4"})})]})]}),a&&i.jsx("div",{className:"border-t border-border/60 bg-background/95 md:hidden",children:i.jsxs("div",{className:"container-page flex flex-col gap-1 py-3",children:[s.map(c=>i.jsx("a",{href:c.to,onClick:()=>r(!1),className:"rounded-lg px-3 py-2.5 text-sm font-medium text-muted-foreground hover:bg-muted hover:text-foreground",children:c.label},c.to)),i.jsx("button",{type:"button",onClick:()=>{o(),r(!1)},className:"rounded-lg px-3 py-2.5 text-left text-sm font-medium text-muted-foreground hover:bg-muted",children:e.meta.switchTo}),i.jsxs("a",{href:U.repo,target:"_blank",rel:"noreferrer",className:"mt-1 inline-flex items-center gap-2 rounded-lg bg-primary px-3 py-2.5 text-sm font-semibold text-primary-foreground",children:[i.jsx(ne,{className:"size-4"}),"GitHub"]})]})})]})}const Lt=m.lazy(()=>T(()=>import("./Home-
|
|
87
|
+
depends_on: [research]`}],moreInRepo:"Full docs and the list of 184 roles live in the GitHub repo."},tutorials:{badge:"Official + Community",title:"Master Agency Orchestrator",subtitle:"What can you do after generating a workflow in one sentence? Official and community tutorials, from a 5-minute start to advanced practice.",submit:"Submit your tutorial",filterCategory:"Category",filterSource:"Source",all:"All",minRead:"min read",empty:"No tutorials in this category yet.",back:"Back to tutorials",categories:{start:"Start",practice:"Practice",integration:"Integration",troubleshoot:"Troubleshoot",video:"Video"},sources:{official:"Official",community:"Community"}},changelog:{title:"Changelog",subtitle:"Release notes for every Agency Orchestrator version, synced with the repo's CHANGELOG.md.",latest:"Latest",repoLink:"View the full CHANGELOG on GitHub"},experts:{title:"The agency-agents library",subtitle:"200+ finely-tuned AI experts — each a carefully crafted system prompt. AO teams them up from a single sentence. Browse them all here, no install needed.",searchPlaceholder:"Search experts (name / description / category)…",all:"All",countSuffix:"experts",empty:"No matching experts — try another keyword.",repoCta:"View agency-agents on GitHub",copyPrompt:"Copy prompt",viewPrompt:"View prompt",copied:"Copied",copyFailed:"Copy failed",loading:"Loading…",close:"Close",promptHint:"This is the expert's full system prompt — copy it into any AI tool."},footer:{tagline:"One sentence in, a team of AI agents out.",supportLine:"Built to support the agency-agents open-source project.",product:"Product",resources:"Resources",community:"Community",links:{features:"Features",sponsors:"Sponsors",docs:"Docs",tutorials:"Tutorials",github:"GitHub repo",roles:"Role library",issues:"Open an issue",changelog:"Changelog",license:"License"},copyright:"Apache-2.0 License · Open source"},notFound:{title:"Page not found",desc:"Nothing here.",back:"Back home"},common:{loading:"Loading…"}},Ct={zh:vt,en:At},xe=m.createContext(null);function St(){if(typeof window>"u")return"zh";const e=window.location.pathname.split("/").filter(Boolean)[0];if(ce.includes(e))return e;const t=window.localStorage.getItem("ao-lang");return ce.includes(t)?t:navigator.language.toLowerCase().startsWith("zh")?"zh":"en"}function Pt({children:e}){const[t,o]=m.useState(St);m.useEffect(()=>{document.documentElement.lang=t==="zh"?"zh-CN":"en",window.localStorage.setItem("ao-lang",t)},[t]);const n=m.useCallback(s=>o(s),[]),a=m.useCallback(()=>o(s=>s==="zh"?"en":"zh"),[]),r=m.useCallback(s=>t==="zh"?s:`/en${s==="/"?"":s}`,[t]),l=m.useMemo(()=>({lang:t,t:Ct[t],setLang:n,toggle:a,prefix:r}),[t,n,a,r]);return i.jsx(xe.Provider,{value:l,children:e})}function ve(){const e=m.useContext(xe);if(!e)throw new Error("useLanguage must be used within LanguageProvider");return e}const U={name:"Agency Orchestrator",repo:"https://github.com/jnMetaCode/agency-orchestrator",npm:"https://www.npmjs.com/package/agency-orchestrator",rolesRepo:"https://github.com/jnMetaCode/agency-agents-zh",issues:"https://github.com/jnMetaCode/agency-orchestrator/issues",changelog:"https://github.com/jnMetaCode/agency-orchestrator/blob/main/CHANGELOG.md",license:"https://github.com/jnMetaCode/agency-orchestrator/blob/main/LICENSE",evalFindings:"https://github.com/jnMetaCode/agency-orchestrator/blob/main/EVAL_FINDINGS.md",releases:"https://github.com/jnMetaCode/agency-orchestrator/releases/latest",install:"npm i -g agency-orchestrator",sponsorEmail:"jnMetaCode@qq.com",sponsorContact:"mailto:jnMetaCode@qq.com?subject=Sponsorship%20-%20agency-agents",providersKeyed:["DeepSeek","Claude","OpenAI","Gemini","Ollama","Moonshot","硅基流动","OpenRouter"],providersKeyfree:["claude-code CLI","gemini-cli","openclaw-cli","Ollama 本地","LM Studio","免费聚合","演示模式"]};function Tt(){const{t:e,lang:t,toggle:o,prefix:n}=ve(),[a,r]=m.useState(!1),{pathname:l}=ue(),s=[{to:n("/#features"),label:e.nav.features,hash:!0},{to:n("/studio"),label:e.nav.studio},{to:n("/experts"),label:e.nav.experts},{to:n("/docs"),label:e.nav.docs},{to:n("/tutorials"),label:e.nav.tutorials},{to:n("/changelog"),label:e.nav.changelog},{to:n("/sponsors"),label:e.nav.sponsors}];return i.jsxs("header",{className:"fixed inset-x-0 top-0 z-50 border-b border-border/60 bg-background/80 backdrop-blur-xl",children:[i.jsxs("nav",{className:"container-page flex h-16 items-center justify-between",children:[i.jsxs(Ae,{to:n("/"),className:"flex items-center gap-2.5 font-bold",onClick:()=>r(!1),children:[i.jsx("span",{className:"grid h-8 w-8 place-items-center rounded-lg bg-primary text-primary-foreground shadow-lg shadow-primary/30",children:"ao"}),i.jsx("span",{className:"hidden text-[15px] sm:block",children:"Agency Orchestrator"})]}),i.jsx("div",{className:"hidden items-center gap-1 md:flex",children:s.map(c=>c.hash?i.jsx("a",{href:c.to,className:"rounded-lg px-3 py-2 text-sm font-medium text-muted-foreground transition-colors hover:text-foreground",children:c.label},c.to):i.jsx(Ce,{to:c.to,className:({isActive:d})=>ke("rounded-lg px-3 py-2 text-sm font-medium transition-colors hover:text-foreground",d&&l===c.to?"text-foreground":"text-muted-foreground"),children:c.label},c.to))}),i.jsxs("div",{className:"flex items-center gap-1.5",children:[i.jsxs("button",{type:"button",onClick:o,className:"hidden h-9 items-center gap-1.5 rounded-lg border border-border/70 px-2.5 text-xs font-medium text-muted-foreground transition-colors hover:text-foreground sm:inline-flex",children:[i.jsx(Ne,{className:"size-4"}),t==="zh"?"EN":"中"]}),i.jsx(xt,{}),i.jsx(Y,{asChild:!0,size:"sm",variant:"outline",className:"hidden lg:inline-flex",children:i.jsxs("a",{href:U.repo,target:"_blank",rel:"noreferrer",children:[i.jsx(De,{className:"size-4"}),e.nav.star]})}),i.jsx(Y,{asChild:!0,size:"sm",className:"hidden sm:inline-flex",children:i.jsxs("a",{href:U.repo,target:"_blank",rel:"noreferrer",children:[i.jsx(ne,{className:"size-4"}),"GitHub"]})}),i.jsx("button",{type:"button",className:"inline-flex h-9 w-9 items-center justify-center rounded-lg border border-border/70 md:hidden",onClick:()=>r(c=>!c),"aria-label":"Menu",children:a?i.jsx(_e,{className:"size-4"}):i.jsx(Oe,{className:"size-4"})})]})]}),a&&i.jsx("div",{className:"border-t border-border/60 bg-background/95 md:hidden",children:i.jsxs("div",{className:"container-page flex flex-col gap-1 py-3",children:[s.map(c=>i.jsx("a",{href:c.to,onClick:()=>r(!1),className:"rounded-lg px-3 py-2.5 text-sm font-medium text-muted-foreground hover:bg-muted hover:text-foreground",children:c.label},c.to)),i.jsx("button",{type:"button",onClick:()=>{o(),r(!1)},className:"rounded-lg px-3 py-2.5 text-left text-sm font-medium text-muted-foreground hover:bg-muted",children:e.meta.switchTo}),i.jsxs("a",{href:U.repo,target:"_blank",rel:"noreferrer",className:"mt-1 inline-flex items-center gap-2 rounded-lg bg-primary px-3 py-2.5 text-sm font-semibold text-primary-foreground",children:[i.jsx(ne,{className:"size-4"}),"GitHub"]})]})})]})}const Lt=m.lazy(()=>T(()=>import("./Home-Bw8Qc9id.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10]))),jt=m.lazy(()=>T(()=>import("./Sponsors-CtU7ozQG.js"),__vite__mapDeps([11,1,8,12,7,13,9,4,5,14,10]))),It=m.lazy(()=>T(()=>import("./Studio-TCAixiBo.js"),__vite__mapDeps([15,1,8,2,5,16,4,12,17,18,19,20,10,9]))),Et=m.lazy(()=>T(()=>import("./Experts-C51A3h3z.js"),__vite__mapDeps([21,1,8,16,18,5,14,9,10]))),de=m.lazy(()=>T(()=>import("./Docs-Bu7k8WYA.js"),__vite__mapDeps([22,1,4,5,8,17,18,9,10]))),Rt=m.lazy(()=>T(()=>import("./Tutorials-TjS9s9dU.js"),__vite__mapDeps([23,1,8,24,13,14,20,9,10]))),Mt=m.lazy(()=>T(()=>import("./TutorialDetail-BFVdnMot.js"),__vite__mapDeps([25,1,8,6,4,5,17,24,19,20,9,10]))),Nt=m.lazy(()=>T(()=>import("./Changelog-BvJ_2Vzf.js"),__vite__mapDeps([26,1,8,6,17,14,9,10]))),Ot=m.lazy(()=>T(()=>import("./NotFound-soJyPTK-.js"),__vite__mapDeps([27,1,9,10])));function zt(){const{pathname:e,hash:t}=ue();return m.useEffect(()=>{t||window.scrollTo(0,0)},[e,t]),null}function Dt(){const{t:e}=ve();return i.jsx("div",{className:"grid min-h-screen place-items-center text-sm text-muted-foreground",children:e.common.loading})}function Gt(){return i.jsxs(Pt,{children:[i.jsx(zt,{}),i.jsx(Tt,{}),i.jsx(m.Suspense,{fallback:i.jsx(Dt,{}),children:i.jsxs(Se,{children:[["/","/zh","/en"].map(e=>i.jsx(C,{path:e,element:i.jsx(Lt,{})},e)),["/sponsors","/zh/sponsors","/en/sponsors"].map(e=>i.jsx(C,{path:e,element:i.jsx(jt,{})},e)),["/studio","/zh/studio","/en/studio"].map(e=>i.jsx(C,{path:e,element:i.jsx(It,{})},e)),["/experts","/zh/experts","/en/experts"].map(e=>i.jsx(C,{path:e,element:i.jsx(Et,{})},e)),["/docs","/zh/docs","/en/docs"].map(e=>i.jsx(C,{path:e,element:i.jsx(de,{})},e)),["/docs/:slug","/zh/docs/:slug","/en/docs/:slug"].map(e=>i.jsx(C,{path:e,element:i.jsx(de,{})},e)),["/tutorials","/zh/tutorials","/en/tutorials"].map(e=>i.jsx(C,{path:e,element:i.jsx(Rt,{})},e)),["/tutorials/:slug","/zh/tutorials/:slug","/en/tutorials/:slug"].map(e=>i.jsx(C,{path:e,element:i.jsx(Mt,{})},e)),["/changelog","/zh/changelog","/en/changelog"].map(e=>i.jsx(C,{path:e,element:i.jsx(Nt,{})},e)),i.jsx(C,{path:"*",element:i.jsx(Ot,{})})]})})]})}wt();Pe.createRoot(document.getElementById("root")).render(i.jsx(m.StrictMode,{children:i.jsx(Te,{children:i.jsx(Gt,{})})}));export{Y as B,ne as G,U as S,_e as X,ke as a,E as c,ve as u};
|
package/website/dist/index.html
CHANGED
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Fira+Code:wght@400;500&display=swap"
|
|
29
29
|
rel="stylesheet"
|
|
30
30
|
/>
|
|
31
|
-
<script type="module" crossorigin src="/assets/index-
|
|
31
|
+
<script type="module" crossorigin src="/assets/index-ap4cgOZb.js"></script>
|
|
32
32
|
<link rel="modulepreload" crossorigin href="/assets/vendor-react-DvXH3HTt.js">
|
|
33
33
|
<link rel="modulepreload" crossorigin href="/assets/vendor-radix-Bip5Pqfe.js">
|
|
34
34
|
<link rel="modulepreload" crossorigin href="/assets/vendor-charts-BiMa1Zmo.js">
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import{u as d,r as m,j as n}from"./vendor-react-DvXH3HTt.js";import{S as p}from"./SiteFooter-Cc_g2meZ.js";import{B as c}from"./badge-yz2euTrj.js";import{M as u}from"./Markdown-DaWbDBGS.js";import{c as h,u as x,S as g}from"./index-wcThbHRx.js";import{A as f}from"./arrow-up-right-CUikZoTe.js";import"./vendor-radix-Bip5Pqfe.js";import"./vendor-charts-BiMa1Zmo.js";/**
|
|
2
|
-
* @license lucide-react v0.469.0 - ISC
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the ISC license.
|
|
5
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
6
|
-
*/const L=h("Tag",[["path",{d:"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",key:"vktsd0"}],["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}]]),k='# Changelog\n\n本项目采用 [语义化版本](https://semver.org/lang/zh-CN/)。\n\n## [Unreleased]\n\n## [0.7.3] - 2026-06-16\n\n### Fixed\n- **`--resume` 上下文污染**:恢复上游产出时未剥离 step 文件头(`> 名字 | 步骤 i/n … ---`),下游专家会收到带 markdown 头的「上一版产出」;现与 `loadStepOutput` 一致只回灌正文(含回归测试)。\n- **OpenAI 兼容流式静默截断**:命中 `max_tokens`(`finish_reason=length`)时直接返回截断内容、不续写——正是 DeepSeek 长文场景;现读取 `finish_reason`,达上限自动续写(与流断开同样处理)。\n- **安全**:`claude-code` 临时系统提示词文件改为 `0600`,避免同机其他用户读取专有角色定义。\n\n### Changed\n- 英文站专家计数按英文库实际显示 **184**(原误标 216),并移除英文文案中英文库并不包含的「中国平台角色」描述。\n- 删除演示模式改造后已无引用的死代码 `StudioGate.tsx`。\n\n## [0.7.2] - 2026-06-16\n\n### Changed\n- **角色库升级到 agency-agents-zh 1.2.2**:中文角色 **211 → 216**(新增服装厂排产工程师等;并带来 Hermes Windows 目录修复、Qoder 集成、ai-citation-strategist 中文化)。全站计数统一为 **216 中文 / 184 英文**(README / 官网 / 文档 / 教程 / About)。\n\n### Fixed\n- 官网专家库清理一个失效角色的孤儿提示词(`support-supply-chain-strategist`,1.2.x 已移除)。\n\n## [0.7.1] - 2026-06-16\n\n### Fixed\n- **嵌套角色现在可枚举 / 可用**:角色加载改为**递归**子目录,`game-development/unity/*`、`unreal-engine/*`、`roblox-studio/*`、`godot/*`、`blender/*` 等 15 个嵌套智能体此前无法被 `listAgents` / `ao roles` / compose 建议发现(loader 只扫一层)——现在补齐,中文库角色数与官方一致达到 **211**(英文库 184)。\n- **枚举只认真角色**:仅纳入带 `name:` frontmatter 的 `.md`,排除 `QUICKSTART` / `EXECUTIVE-BRIEF` 等攻略 / 模板文档(此前会被当成"角色"混入列表)。\n- **官网专家库补齐**:`gen-experts.mjs` 同步递归,专家浏览 / 复制提示词覆盖全部 211(zh)+ 184(en),不再漏掉游戏开发类嵌套专家。\n\n## [0.7.0] - 2026-06-16\n\n### Added\n- **网页 Studio + 桌面客户端**:本地 `ao web` 启动可视化 Studio(角色组队 / 工作流 / 运行历史 / 用量 / 密钥);同一套 UI 打包为 Electron 桌面客户端(macOS arm64+Intel · Windows · Linux),经 GitHub Actions 一键发布到 Releases,官网提供下载入口。key 只存本机。\n- **Studio / 官网全面双语化 + 英文资源**:UI、角色库、工作流模板按语言切换(`/en` 读英文 `agency-agents` 库与 `workflows-en/` 模板,不再混中文)。\n- **CompShare(优云智算)provider 内置**:OpenAI 兼容接入,填 key 即用(`COMPSHARE_API_KEY` / `COMPSHARE_BASE_URL`)。\n- **一键复制完整提示词**:Studio 专家详情与公开站「专家库」页都能查看 / 复制每位专家的完整系统提示词(公开站读静态 `experts.json` + `/prompts/*.md`)。\n- **公开站 `/studio` 演示模式**:无后端也能浏览全部专家、查看 / 复制提示词;填 key 与运行被引导到「安装客户端 / 本地运行」。\n- **`ao roles <关键词>` 角色搜索**:按 角色路径 / 名称 / 描述 不区分大小写过滤(也支持 `--search`);无匹配给友好提示。\n- **`ao init` 首跑向导**:角色库装好后自动探测可用 provider(优先免 key 的 claude-code CLI / Ollama),按环境给出个性化下一步,缩短「安装→价值」。\n- **评测回归门禁**:黄金任务集抽到 `eval/golden-tasks.ts`;新增 `eval/gate.ts` 与 `npm run eval:gate` / `eval:baseline`——胜率阈值 + judge 双向一致率阈值 + 基线快照回归判定,judge 太弱时判 INCONCLUSIVE(绝不当通过)。\n\n### Changed\n- **`ao compose` 幻觉角色确定性修复**:生成的工作流引用不存在的角色时,优先用最接近的**真实角色直接改写 YAML**(不再多花一次 LLM 调用、保证产物可运行),无可信匹配才回退 LLM;并在 LLM 重试后再做确定性兜底,堵住「重试后仍残留坏角色却被当成功」的缺口。\n- **打包内容**:npm 包额外纳入 `web/`、`website/dist/`、`workflows-en/`,`prepublishOnly` 自动构建引擎 + Studio。\n\n### Tests\n- 新增 `test/roles.ts`、`test/init.ts`、`test/eval-gate.ts` 并并入 `npm test`;`test/compose.ts` 覆盖确定性角色修复。\n\n## [0.6.17] - 2026-04-29\n\n### Added\n- 模板库扩充:5 个手写精调高质量 workflow,覆盖个人 / 中小团队高频场景\n - `tech-blog.yaml` — 技术博客创作(调研 → 大纲 → 正文 → 润色,4 步)\n - `meeting-notes.yaml` — 会议纪要整理(清理 → 决策/TODO/争议 三视角并行 → 整合,5 步)\n - `okr-decomposition.yaml` — OKR 拆解(现状分析 → 季度 KR → Q1 行动方案 → 完整文档,4 步)\n - `product-launch-comms.yaml` — 产品发布物料(统一定位 → 通稿 / 社交 / 邮件 三件套并行 → 物料包,5 步)\n - `pitch-deck-outline.yaml` — 创业 Pitch Deck 大纲(市场 / 方案 / 商业模式 / 财务 四角度并行 → 5 屏 deck,5 步)\n- 内置 workflow 总数从 44 个增加到 **49 个**,全部 validate 通过\n\n### Notes\n- 5 个模板都是"输入一句话 / 一段简介 → 多角度并行展开 → 整合"的纯 LLM 任务,不依赖外部数据 / 联网,零歧义\n- 每个模板的 task 描述都精确指定输出格式(markdown 模板)和约束(字数 / 结构 / 不许 AI 套话),避免 LLM 输出泛泛而谈\n- 默认 provider deepseek-chat(最便宜稳),用户可用 `--provider` 覆盖\n\n## [0.6.16] - 2026-04-29\n\n### Changed\n- **`ao demo` 重构:检测优先,去掉预录 mock**\n - 检测到可用 LLM(CLI / API key / Ollama)→ **直接真跑** story-creation 工作流,无需"先看 mock 再确认"\n - 没检测到 → 显示**真实 DAG 结构**(用 ao 自身的 `formatDAG`)+ 3 行行动指引(Claude Code / DeepSeek / Ollama 任选)\n - 删掉旧的 `MOCK_STEPS` 预录数据 + `replayMockSteps` 函数(共 ~150 行)。原 mock 内容是精修过的小说创作,让用户对真跑的输出期望被错误抬高,且占用 5 秒注意力后还要再问 y/n,链路过长\n - 体验路径从 "mock 5s → 选 provider → y/n → 真跑" 简化为 "检测 → 真跑" 或 "检测 → DAG + 配 key 指引"\n\n## [0.6.15] - 2026-04-27\n\n### Fixed\n- CLI provider(claude-code / gemini-cli / copilot-cli / codex-cli / openclaw-cli / hermes-cli)在"进程退出码 0 但 stdout 完全空"时,cli-base.ts 之前会默默返回空字符串给上层,导致 `ao compose` 报出迷惑性的"AI 生成的内容不是有效的 workflow YAML",真实根因被吞。现在直接 reject 并给出诊断 hint:可能是 CLI 命令格式过期(参考 issue #14 hermes 的 `chat -q` → `-z`)、agent / model 配置错、或需要先认证。错误消息附上"在终端直接跑一次该命令看真实输出"的具体调试建议\n\n### Tests\n- 新增 test/cli-base.ts:覆盖 4 类场景(exit 0 + 空输出 reject / 正常输出 / exit 非 0 + stderr / ENOENT 提示安装),全量从 135 项增加到 **139 项**\n\n## [0.6.14] - 2026-04-27\n\n### Fixed\n- **#16** DeepSeek 原生 connector 在某些用户环境下报 `405 Method Not Allowed`。根因:commit `f96d7b0` 让 deepseek case fallback 到 `OPENAI_BASE_URL` env,但用户先用 `ao init --provider openai --base-url https://api.openai.com/v1` 写入过 `OPENAI_BASE_URL` 后切到 deepseek,会用 OpenAI endpoint + DeepSeek key 调用,得到 405。修复:每个 provider 用自己专属的 BASE_URL env(deepseek → `DEEPSEEK_BASE_URL`,openai → `OPENAI_BASE_URL`),不再跨污染。`ao init` 也对应路由到正确 env\n\n### Tests\n- 修补一个发版 process 漏洞:`factory-custom.ts` / `step-llm.ts` / `step-llm-yaml.ts` / `stdin-limit.ts` / `compose-name.ts` 这 5 个测试文件之前**根本没在 `npm test` 里跑**(21 项 +1 项新加的测试都不被 CI 守护)。补进 test 脚本,全量从 114 项增加到 **135 项**\n- 新增 2 项 factory-custom 测试覆盖 #16:deepseek 不被 OPENAI_BASE_URL 污染 / DEEPSEEK_BASE_URL 自定义代理仍生效\n\n## [0.6.13] - 2026-04-27\n\n### Fixed\n- **回归修复**:0.6.12 新加的"output 唯一性校验"对两类合法的 ao 设计模式误报,导致 6 个内置 workflow 在 validate 时失败。现在校验放过两类例外:\n - **`any_completed` 分支收敛**:多个并行 step 产出同名 output,下游用 `depends_on_mode: any_completed` 引用,是有意的"任一分支完成即走"设计(如 incident-response.yaml 的多团队并行分析、hiring-pipeline.yaml 的多维度评估)\n - **loop 迭代覆盖**:种子 step 产生初始值 + loop step 反复覆盖同名 output,是常见的"原地修改"迭代模式(如 content-publish.yaml 的 write/revise 循环)\n- 修了 3 个内置 workflow 的拓扑反向引用:legal-consultation.yaml / investment-analysis.yaml / xiaohongshu-content.yaml 的相关 step 补 `depends_on`(不是新校验过严,是 yaml 本身设计就有缺陷,新校验把它们暴露出来)\n\n### Tests\n- 新增 2 项 parser 测试覆盖 any_completed / loop 迭代覆盖的合法重名例外\n- E2E 验证:44 个内置 workflow 现在全部通过 validate\n\n## [0.6.12] - 2026-04-27\n\n### Fixed\n- **#14** `hermes-cli` connector 用旧参数 `chat -q` 调用 hermes,新版 hermes 已废弃此用法、改为 `-z`(oneshot)。修正参数让 hermes provider 重新可用\n- `validateWorkflow` 之前只检查"变量是否在某处定义",不检查"是否在引用方的 DAG 上游"。一个 step 引用下游 step 的 output(拓扑反向)会通过校验,到 run 阶段才崩。现在校验阶段就拦下,错误提示明确指出"该变量由非上游 step 产出,需要把对应 step 加进 depends_on"。和 autoFix 的拓扑约束保持一致\n- `validateWorkflow` 加 `step.output` 唯一性检查。两个 step 不能 output 到同一个变量名(重名会让下游引用拿到的值依赖 context Map 写入顺序,不可预期)\n- `validateWorkflow` 的变量引用检查范围扩到 `step.condition` / `step.loop.exit_condition` / `step.prompt`。之前只看 `step.task`,让条件分支表达式里的未定义变量漏检\n\n### Tests\n- 新增 3 项 parser 测试覆盖:拓扑反向引用 / output 重名 / condition 字段里的未定义变量\n\n## [0.6.11] - 2026-04-27\n\n### Fixed\n- `repairWithLLM` 失败时静默吞错。LLM 调用因网络/认证/超时失败时不再悄悄返回,会在 stderr 给出失败原因,避免用户看到 "LLM 修复后仍有 X 个变量未解决" 误以为 LLM 修了但不够,实际是根本没调通\n\n### Tests\n- 新增 1 项测试覆盖跨 step 同名 bad var 的已知边界行为(全局 replace 只处理一次,靠 LLM repair 兜底)\n\n## [0.6.10] - 2026-04-27\n\n### Fixed\n- `ao compose --run` 生成的 YAML 中变量引用错误的修复链全面强化。原 `autoFixVariableRefs` 启发式有两个核心缺陷:\n - 模糊匹配在**全局 outputs** 范围内找替换目标,能把"早期 step 引用未来 step output"配上(DAG 拓扑反向),例如 `{{personal_assessment}}` 被错误地改成 `{{final_report}}`\n - 启发式覆盖不全时直接放弃,没有 LLM 兜底\n- 现在的修复链:\n - autoFix 加 **DAG 上游约束**:替换目标必须在当前 step 的 `depends_on` 递归闭包内的 step.output 集合里。指向下游或跨支的错改不再可能\n - autoFix 修不全时自动调 **LLM 二次修复**:把当前 YAML、未解决的变量列表、可用 inputs/outputs 喂给 LLM,让它选择改 task 引用 / 加 step output / 补 depends_on\n - `--run` 模式在 compose 阶段就检查"未定义变量 / 角色不存在 / 解析失败"等致命错误,不再放进 run 阶段才崩溃;abort 时给出清晰的"重新生成 / 手动修改"建议\n\n### Changed\n- compose system prompt(中英)加两条规则:(1) 每个 `{{X}}` 引用的 X 必须在 inputs 或上游 step.output 中;(2) merge / 汇总类 step 的 `depends_on` 必须列出所有产生引用变量的上游 step\n\n## [0.6.9] - 2026-04-24\n\n### Fixed\n- Windows 上 `ao run` / `ao compose` / `ao serve` 找不到包内置 / node_modules 下的 agents 目录,报 "agents 目录不存在"。根因:`new URL(import.meta.url).pathname` 在 Windows 上返回 `/C:/Users/...` 这种前导斜杠非法路径,`dirname` + `resolve` 后所有依赖 scriptDir 的候选路径全部失效。改用 `node:url` 的 `fileURLToPath` 跨平台 API 正确解析。Mac/Linux 行为不变\n\n## [0.6.8] - 2026-04-24\n\n### Changed\n- 超时重试递增的上限从 900s 提到 3600s(60 分钟)。原上限对 CLI / ollama 长任务偏紧:CLI 默认 600s 起跳第一次递增就封顶,用户 `--timeout 20m` 起点已超上限完全不递增。抬到 60min 后覆盖绝大多数真实长任务;仍然保留上限作为"防误配置放飞"的保险丝。真要超过 1 小时单步用 `timeout: 0` / `--timeout 0` 完全不限时\n\n## [0.6.7] - 2026-04-23\n\n### Added\n- `ao run` / `ao compose` 新增 `--timeout <value>` 参数。支持 `300000`(毫秒)、`300s`(秒)、`5m`(分钟)、`0`(不限时)。命令行优先级高于 YAML 里的 `llm.timeout`\n- 因超时触发重试时,下一次 timeout 自动 x1.5 递增(上限 900s,本版本后续被提到 3600s)。递增同时作用于 connector 内层 fetch/CLI timeout,避免内层 hard timeout 提前 abort\n\n### Changed\n- `ao compose` 生成的 YAML 默认 `timeout` 从 120000 抬到 300000(API 类 provider)。ollama 和 CLI 类保持 600000\n- `withTimeout` 错误消息加引导:"超时 (Xms),可用 --timeout 或 YAML llm.timeout 延长"\n\n### Fixed\n- `classifyError` 5xx / 429 状态码改用 `\\b` 单词边界匹配。原 `msg.includes(\'500\')` 等会把 "450000ms"、"1500ms"、"1429ms" 等字符串里的数字子串误判成 HTTP 错误,导致超时错误被错误归类为 server_error,递增逻辑失效\n- `classifyError` 现在识别中文"超时"字样。之前 `withTimeout` 抛出的 `超时 (120000ms)` 被归为 non_retryable,retry 根本不触发\n- `timeout: 0`(不限时)现在真正生效。原 `effectiveConfig.timeout || default` 把 0 当 falsy 用默认值覆盖了,改成 `!== undefined` 判断\n',v=/^##\s*\[([^\]]+)\]\s*(?:-\s*(.+))?$/;function y(s=k){const t=s.split(`
|
|
7
|
-
`),o=[];let e=null,a=[];const r=()=>{e&&(e.body=a.join(`
|
|
8
|
-
`).trim(),o.push(e))};for(const l of t){const i=l.match(v);i?(r(),e={version:i[1].trim(),date:(i[2]??"").trim(),body:""},a=[]):e&&a.push(l)}return r(),o}const A=y();function b(s){return`v${s.replace(/[^\w.-]/g,"-")}`}function j(){const{t:s}=x(),t=s.changelog,{hash:o}=d();return m.useEffect(()=>{if(!o)return;const e=document.getElementById(o.slice(1));e&&e.scrollIntoView({behavior:"smooth",block:"start"})},[o]),n.jsxs(n.Fragment,{children:[n.jsx("main",{className:"pt-24",children:n.jsxs("div",{className:"container-page max-w-3xl pb-20",children:[n.jsx("h1",{className:"text-3xl font-extrabold tracking-tight sm:text-4xl",children:t.title}),n.jsx("p",{className:"mt-3 text-muted-foreground",children:t.subtitle}),n.jsx("div",{className:"mt-10 space-y-5",children:A.map((e,a)=>{const r=b(e.version);return n.jsxs("section",{id:r,className:"scroll-mt-24 rounded-2xl border border-border/70 bg-card/60 p-6",children:[n.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[n.jsxs("a",{href:`#${r}`,className:"inline-flex items-center gap-1.5 text-xl font-bold hover:text-primary",children:[n.jsx(L,{className:"size-4 text-primary"}),/^\d/.test(e.version)?`v${e.version}`:e.version]}),a===0&&n.jsx(c,{className:"border-primary/30 bg-primary/10 text-primary",children:t.latest}),e.date&&n.jsx("span",{className:"text-sm text-muted-foreground",children:e.date})]}),e.body&&n.jsx(u,{className:"mt-4",children:e.body})]},e.version)})}),n.jsxs("a",{href:g.changelog,target:"_blank",rel:"noreferrer",className:"mt-12 inline-flex items-center gap-1.5 rounded-xl border border-border/70 bg-card/60 px-4 py-3 text-sm font-medium hover:border-primary/40",children:[t.repoLink,n.jsx(f,{className:"size-4 text-primary"})]})]})}),n.jsx(p,{})]})}export{j as default};
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
name: "Content Pipeline"
|
|
2
|
-
description: "From a topic to a publish-ready piece — research, draft, brand review, final edit."
|
|
3
|
-
|
|
4
|
-
agents_dir: "agency-agents"
|
|
5
|
-
|
|
6
|
-
llm:
|
|
7
|
-
provider: "deepseek"
|
|
8
|
-
model: "deepseek-chat"
|
|
9
|
-
|
|
10
|
-
concurrency: 2
|
|
11
|
-
|
|
12
|
-
inputs:
|
|
13
|
-
- name: topic
|
|
14
|
-
description: "What the piece is about"
|
|
15
|
-
required: true
|
|
16
|
-
default: "How small teams can adopt AI without rebuilding their whole stack"
|
|
17
|
-
|
|
18
|
-
steps:
|
|
19
|
-
- id: research
|
|
20
|
-
role: "marketing/marketing-social-media-strategist"
|
|
21
|
-
task: |
|
|
22
|
-
Research the topic and produce a tight content brief for: {{topic}}
|
|
23
|
-
|
|
24
|
-
Output (markdown):
|
|
25
|
-
- Target audience & the one job they're hiring this content for
|
|
26
|
-
- 3 angles that would actually get shared (with why)
|
|
27
|
-
- Key points / data the piece must cover
|
|
28
|
-
- Recommended format, length, and primary channel
|
|
29
|
-
output: brief
|
|
30
|
-
|
|
31
|
-
- id: draft
|
|
32
|
-
role: "marketing/marketing-content-creator"
|
|
33
|
-
task: |
|
|
34
|
-
Write the full piece from this brief. Be specific and concrete — no filler, no AI clichés.
|
|
35
|
-
|
|
36
|
-
{{brief}}
|
|
37
|
-
output: draft
|
|
38
|
-
depends_on: [research]
|
|
39
|
-
|
|
40
|
-
- id: brand_review
|
|
41
|
-
role: "marketing/marketing-growth-hacker"
|
|
42
|
-
task: |
|
|
43
|
-
Review the draft for clarity, hook strength, and shareability. Give concrete edits
|
|
44
|
-
(not vague praise): fix the opening if weak, tighten any flabby sections, sharpen the CTA.
|
|
45
|
-
|
|
46
|
-
{{draft}}
|
|
47
|
-
output: review
|
|
48
|
-
depends_on: [draft]
|
|
49
|
-
|
|
50
|
-
- id: final_edit
|
|
51
|
-
role: "marketing/marketing-content-creator"
|
|
52
|
-
task: |
|
|
53
|
-
Apply the review notes and deliver the final, publish-ready piece.
|
|
54
|
-
|
|
55
|
-
Draft: {{draft}}
|
|
56
|
-
Review notes: {{review}}
|
|
57
|
-
output: final
|
|
58
|
-
depends_on: [brand_review]
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
name: "Product / PRD Review"
|
|
2
|
-
description: "Review a PRD from product, user, and prioritization angles, then synthesize feedback."
|
|
3
|
-
|
|
4
|
-
agents_dir: "agency-agents"
|
|
5
|
-
|
|
6
|
-
llm:
|
|
7
|
-
provider: "deepseek"
|
|
8
|
-
model: "deepseek-chat"
|
|
9
|
-
|
|
10
|
-
concurrency: 2
|
|
11
|
-
|
|
12
|
-
inputs:
|
|
13
|
-
- name: prd_content
|
|
14
|
-
description: "The PRD text to review"
|
|
15
|
-
required: true
|
|
16
|
-
default: |
|
|
17
|
-
# PRD: One-click share for workflow run results
|
|
18
|
-
## Background: after a run, users can only copy-paste text; formatting is lost.
|
|
19
|
-
## Goal: generate a shareable web link for a run (per-step output, collapsible).
|
|
20
|
-
## Scope: 1) CLI prompts to "generate share link" after a run; 2) upload to object storage → short link; 3) read-only web view, collapsible per step.
|
|
21
|
-
## Non-goals: no comments/collaboration; no permission system (link = access).
|
|
22
|
-
## Metrics: share conversion (run → link) > 20%; opens per shared link.
|
|
23
|
-
|
|
24
|
-
steps:
|
|
25
|
-
- id: pm_review
|
|
26
|
-
role: "product/product-manager"
|
|
27
|
-
task: |
|
|
28
|
-
Review this PRD as a product manager: is the problem real and well-scoped? Call out
|
|
29
|
-
gaps, risky assumptions, missing edge cases, and anything that should be cut or split.
|
|
30
|
-
|
|
31
|
-
{{prd_content}}
|
|
32
|
-
output: pm_review
|
|
33
|
-
|
|
34
|
-
- id: user_lens
|
|
35
|
-
role: "design/design-ux-researcher"
|
|
36
|
-
task: |
|
|
37
|
-
Review the same PRD from the user's perspective: where will real users get confused
|
|
38
|
-
or drop off? What user evidence would de-risk this? Suggest concrete UX questions to test.
|
|
39
|
-
|
|
40
|
-
{{prd_content}}
|
|
41
|
-
output: user_lens
|
|
42
|
-
|
|
43
|
-
- id: prioritize
|
|
44
|
-
role: "product/product-sprint-prioritizer"
|
|
45
|
-
task: |
|
|
46
|
-
Given the PRD and both reviews, propose a lean v1 scope and what to defer, with reasoning.
|
|
47
|
-
|
|
48
|
-
PRD: {{prd_content}}
|
|
49
|
-
PM review: {{pm_review}}
|
|
50
|
-
User lens: {{user_lens}}
|
|
51
|
-
output: prioritization
|
|
52
|
-
depends_on: [pm_review, user_lens]
|
|
53
|
-
|
|
54
|
-
- id: synthesize
|
|
55
|
-
role: "product/product-feedback-synthesizer"
|
|
56
|
-
task: |
|
|
57
|
-
Synthesize everything into one decision-ready review: top risks, recommended v1 scope,
|
|
58
|
-
open questions, and a clear go / revise recommendation.
|
|
59
|
-
|
|
60
|
-
{{pm_review}}
|
|
61
|
-
{{user_lens}}
|
|
62
|
-
{{prioritization}}
|
|
63
|
-
output: final_review
|
|
64
|
-
depends_on: [prioritize]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|