/** * 本地开发总开关。 * * 由 `dev-local.sh`(平台 CLI `miaoda app sync` 同步到项目)export `MIAODA_LOCAL_DEV=1`。 * 沙箱 dev / 生产都不设此 env,所以本地专属逻辑(view-context 占位填充、__runtime__ 反代沙箱) * 只在用户本机 `npm run dev:local` 时启用,沙箱 / 生产行为完全不受影响。 */ export declare function isLocalDev(): boolean; /** * 反代沙箱时的认证组装。两条入口: * - 新流(推荐):env `FORCE_AUTHN_PREVIEW_SESSION_ID` —— 后端下发的单值 session(实际是 * X-Force-Runtime-Session 的值)。SDK 自动拼 cookie,suda-csrf-token 用本地常量。 * - 老流(兼容):env `SANDBOX_COOKIE` —— 用户从浏览器手抠的完整 cookie 字符串(包含 * X-Force-Runtime-Session / suda-csrf-token / suda_web_did 等)。原样透传,suda-csrf-token * 从其中正则提取作为出向 x-suda-csrf-token header。 * * 两个都给的话 `SANDBOX_COOKIE` 优先("已显式拼好"信号更强)。两个都缺的话返回空字符串 * (local dev 跑不通,但不抛错——交给上层 `localDev && sandboxBase` 条件兜底)。 */ export declare function composeSandboxOutboundAuth(): { cookie: string; csrfToken: string; }; /** * 解析沙箱反代的 target origin。两条入口: * - 新流(推荐):env `MIAODA_DEV_PLATFORM_BASE` —— 后端下发的完整 URL,**可能带路径前缀** * (例如 `https://ai-tenant--.aiforce-boe-preview.bytedance.net/app/`)。 * SDK 抽 `new URL(...).origin` 拿 host,扔掉路径——避免反代 target 双前缀。 * - 老流(兼容):env `SANDBOX_COOKIE` 配套用的 `SANDBOX_PUBLIC_URL`(用户从沙箱信息手抠 host)。 * * 两个都给的话 `MIAODA_DEV_PLATFORM_BASE` 优先。两个都缺的话返回空字符串 * (local dev 跑不通,但不抛错——交给上层 `localDev && sandboxBase` 条件兜底)。 */ export declare function resolveSandboxOrigin(): string; /** * 解析 `process.env.SUDA_WEBUSER`,容忍沙箱下发的 shell-quoted JSON。 * * 沙箱 env pull 下发到 .env.local 的 SUDA_WEBUSER 是双引号包裹 + 内部 `\"` 转义; * dotenv@17 剥外层引号后**不还原**内部 `\"`,导致 `process.env.SUDA_WEBUSER` 是 * `{\"user_id\":\"...\"}` 这种带反斜杠的字符串,直接 JSON.parse 会挂在 * `Expected property name or '}' in JSON at position 1`。 * * 容错:先直接 parse;失败再 unescape `\"` 后 parse;都失败返回 null。 */ export declare function parseSudaWebUserEnv(raw: string | undefined): T | null; //# sourceMappingURL=local-dev.d.ts.map