@doubao-dev/cli 0.0.35 → 0.0.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. package/dist/1232.js +1 -0
  2. package/dist/1264.js +1 -0
  3. package/dist/1611.js +2 -0
  4. package/dist/2232.js +60 -0
  5. package/dist/2507.js +1 -0
  6. package/dist/275.js +5 -8
  7. package/dist/2932.js +1 -1
  8. package/dist/4525.js +1 -1
  9. package/dist/4880.js +1 -1
  10. package/dist/4931.js +1 -1
  11. package/dist/{3688.js → 5887.js} +3 -3
  12. package/dist/6438.js +140 -0
  13. package/dist/6976.js +280 -0
  14. package/dist/{8981.js.LICENSE.txt → 6976.js.LICENSE.txt} +108 -0
  15. package/dist/7410.js +1 -2
  16. package/dist/@byted-doubao-apps/create.js +1 -1
  17. package/dist/@byted-doubao-apps/kit.js +1 -1
  18. package/dist/@byted-doubao-apps/login.js +2 -2
  19. package/dist/@byted-doubao-apps/login~1.js +2 -2
  20. package/dist/@byted-doubao-apps/template-empty/package.json +3 -3
  21. package/dist/@byted-doubao-apps/template-starter/package.json +3 -3
  22. package/dist/@byted-hdt/cli.js +1 -1
  23. package/dist/@inquirer/select.js +1 -1
  24. package/dist/{assets/web-sdk-debugger/static/wasm/eaf690f2cd.module.wasm → @lynx-js/static/wasm/77fb77f77f.module.wasm} +0 -0
  25. package/dist/@lynx-js/{web-core-canary.js → web-core.js} +2 -2
  26. package/dist/app.js +1 -1
  27. package/dist/assets/web-sdk-debugger/__doubao_web_sdk_native_modules/applet-bridge-module-core.js +1 -1
  28. package/dist/assets/web-sdk-debugger/index.html +1 -1
  29. package/dist/assets/web-sdk-debugger/preact-devtools/index.js +4 -1
  30. package/dist/assets/web-sdk-debugger/static/css/index.ef5d8bc5ad.css +1 -0
  31. package/dist/assets/web-sdk-debugger/static/js/{682.de47e82f6b.js → 426.53c43a8594.js} +2 -2
  32. package/dist/assets/web-sdk-debugger/static/js/479.26e0b1d922.js +1829 -0
  33. package/dist/assets/web-sdk-debugger/static/js/async/503.259fed5610.js +1 -0
  34. package/dist/assets/web-sdk-debugger/static/js/async/{legacy-wasm-js.bacc8b5564.js → legacy-wasm-js.9b9367f818.js} +2 -2
  35. package/dist/assets/web-sdk-debugger/static/js/async/lynx-core-chunk.7f5e94dfae.js +5 -0
  36. package/dist/assets/web-sdk-debugger/static/js/async/web-core-main-chunk.f78260697f.js +1 -0
  37. package/dist/assets/web-sdk-debugger/static/js/async/web-core-markup-encoder.33c43c480e.js +4 -0
  38. package/dist/assets/web-sdk-debugger/static/js/async/web-core-template-loader-thread.ba290b32d7.js +4 -0
  39. package/dist/assets/web-sdk-debugger/static/js/async/web-core-worker-chunk.9a5989b104.js +1 -0
  40. package/dist/assets/web-sdk-debugger/static/js/async/web-elements.3fbd53918e.js +365 -0
  41. package/dist/assets/web-sdk-debugger/static/js/async/xmarkdown-deps.efd0ffb051.js +5 -0
  42. package/dist/assets/web-sdk-debugger/static/js/async/{xmarkdown-deps.3ea5672b2c.js.LICENSE.txt → xmarkdown-deps.efd0ffb051.js.LICENSE.txt} +1 -1
  43. package/dist/assets/web-sdk-debugger/static/js/index.b6e5c76345.js +44 -0
  44. package/dist/assets/web-sdk-debugger/static/js/lib-polyfill.c91181f230.js +1 -0
  45. package/dist/assets/web-sdk-debugger/static/wasm/{69a8ba8eb9.module.wasm → 4c402c7981.module.wasm} +0 -0
  46. package/dist/assets/web-sdk-debugger/static/wasm/{03b02f9e5a.module.wasm → 72aaf7d0aa.module.wasm} +0 -0
  47. package/dist/{@lynx-js/static/wasm/eaf690f2cd.module.wasm → assets/web-sdk-debugger/static/wasm/77fb77f77f.module.wasm} +0 -0
  48. package/dist/assets/web-sdk-debugger/wsd/doubao-apps-api.template.js +0 -0
  49. package/dist/assets/web-sdk-debugger/wsd/doubao-apps-framework.template.js +0 -0
  50. package/dist/assets/web-sdk-debugger/wsd/doubao-apps-react-dev.template.js +0 -0
  51. package/dist/assets/web-sdk-debugger/wsd/doubao-apps-react.template.js +0 -0
  52. package/dist/browser.js +1 -1
  53. package/dist/build.js +1 -1
  54. package/dist/build~1.js +10 -10
  55. package/dist/check.js +1 -1
  56. package/dist/client.js +1 -0
  57. package/dist/client~1.js +1 -0
  58. package/dist/components-loader.js +1 -1
  59. package/dist/demo-server.js +2 -2
  60. package/dist/demo.js +2 -2
  61. package/dist/dev-config.js +2 -2
  62. package/dist/dev-shell.js +1 -1
  63. package/dist/dev.js +19 -16
  64. package/dist/explore.js +10 -0
  65. package/dist/gen-explore.js +1 -1
  66. package/dist/gen-trajectory.js +1 -1
  67. package/dist/info.js +2 -2
  68. package/dist/init.js +4 -4
  69. package/dist/ink.js +1 -1
  70. package/dist/inquirer.js +1 -1
  71. package/dist/json-file.js +2 -2
  72. package/dist/legacy-status.js +1 -1
  73. package/dist/legacy-upload.js +1 -1
  74. package/dist/lepus.js +1 -1
  75. package/dist/login.js +2 -1
  76. package/dist/main.js +1 -1
  77. package/dist/{manifest-mcp-config.js → manifest-headers.js} +1 -1
  78. package/dist/ora.js +1 -1
  79. package/dist/portal.js +1 -1
  80. package/dist/project-layout.js +1 -1
  81. package/dist/project.js +1 -1
  82. package/dist/prompt.js +8 -8
  83. package/dist/prompts.js +1 -1
  84. package/dist/qrcode.js +1 -0
  85. package/dist/report.js +1 -1
  86. package/dist/run-registry.js +1 -1
  87. package/dist/run.js +321 -321
  88. package/dist/sandbox.js +1 -1
  89. package/dist/scan.js +1 -1
  90. package/dist/sdk.js +192 -59
  91. package/dist/sdk~1.js +66 -58
  92. package/dist/server.js +10 -10
  93. package/dist/skill.js +1 -1
  94. package/dist/skills.js +1 -1
  95. package/dist/skills~1.js +1 -1
  96. package/dist/status.js +1 -1
  97. package/dist/status~1.js +2 -2
  98. package/dist/stop.js +1 -1
  99. package/dist/sync.js +1 -1
  100. package/dist/trajectory.js +3 -0
  101. package/dist/update.js +1 -1
  102. package/dist/upgrade.js +1 -1
  103. package/dist/workspace.js +1 -1
  104. package/dist/yaml.js +1 -1
  105. package/package.json +7 -6
  106. package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/02-/347/263/273/347/273/237.md +2 -2
  107. package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/06-/350/267/257/347/224/261.md +4 -0
  108. package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/07-/347/225/214/351/235/242.md +8 -0
  109. package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/26-/345/237/272/347/241/200/344/277/241/346/201/257.md +2 -1
  110. package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/33-/345/261/217/345/271/225.md +124 -8
  111. package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/groups.md +1 -1
  112. package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/quick-reference.md +2 -1
  113. package/skills/doubao-agentic-service-development/references/frontend/examples/page-widget-basics.md +1 -0
  114. package/skills/doubao-agentic-service-development/references/frontend/guides/client-tools-and-events.md +209 -0
  115. package/skills/doubao-agentic-service-development/references/frontend/guides/component-development.md +7 -1
  116. package/skills/doubao-agentic-service-development/references/frontend/guides/debugger-mcp.md +1 -1
  117. package/skills/doubao-agentic-service-development/references/frontend/widget-templates/overview.md +13 -9
  118. package/skills/doubao-agentic-service-development/references/frontend/widget-templates/props.md +26 -1
  119. package/skills/doubao-agentic-service-development/references/frontend-dev.md +2 -0
  120. package/dist/2168.js +0 -60
  121. package/dist/318.js +0 -1
  122. package/dist/3974.js +0 -151
  123. package/dist/6427.js +0 -126
  124. package/dist/7417.js +0 -204
  125. package/dist/7417.js.LICENSE.txt +0 -107
  126. package/dist/7945.js +0 -1
  127. package/dist/8981.js +0 -78
  128. package/dist/assets/web-sdk-debugger/static/css/index.7c65607402.css +0 -1
  129. package/dist/assets/web-sdk-debugger/static/js/670.8a8f0f7d57.js +0 -1829
  130. package/dist/assets/web-sdk-debugger/static/js/async/503.cf61731bba.js +0 -1
  131. package/dist/assets/web-sdk-debugger/static/js/async/lynx-core-chunk.afc1ded023.js +0 -5
  132. package/dist/assets/web-sdk-debugger/static/js/async/web-core-main-chunk.7fe9af852c.js +0 -1
  133. package/dist/assets/web-sdk-debugger/static/js/async/web-core-markup-encoder.f81d6d2cae.js +0 -4
  134. package/dist/assets/web-sdk-debugger/static/js/async/web-core-template-loader-thread.4a49f8a286.js +0 -4
  135. package/dist/assets/web-sdk-debugger/static/js/async/web-core-worker-chunk.c315fd6753.js +0 -1
  136. package/dist/assets/web-sdk-debugger/static/js/async/web-elements.43d1e29387.js +0 -365
  137. package/dist/assets/web-sdk-debugger/static/js/async/xmarkdown-deps.3ea5672b2c.js +0 -5
  138. package/dist/assets/web-sdk-debugger/static/js/index.9f626ba3a2.js +0 -44
  139. package/dist/assets/web-sdk-debugger/static/js/lib-polyfill.9daa7c863e.js +0 -1
  140. package/dist/simulator-client.js +0 -1
  141. /package/dist/{7410.js.LICENSE.txt → 1611.js.LICENSE.txt} +0 -0
  142. /package/dist/assets/web-sdk-debugger/static/js/{670.8a8f0f7d57.js.LICENSE.txt → 479.26e0b1d922.js.LICENSE.txt} +0 -0
package/dist/6427.js DELETED
@@ -1,126 +0,0 @@
1
- import"node:module";import{__webpack_require__ as e}from"./rslib-runtime.js";import{external_jiti_namespaceObject as t,core_namespaceObject as r}from"./7945.js";import{prepareCloudBuildSource as i,isRecord as o,withAuth as n,TokenExpiredError as a,NotLoggedInError as s,APP_DEVELOPER_DOMAIN as l}from"./8981.js";import"./3551.js";import"./ora.js";import{source as d}from"./3688.js";let c=e("node:os");function u(){let e=Object.entries(c.networkInterfaces()),t=[];for(let[r,i]of e){if(!i)continue;let e=/^(?:utun|tun|tap|ppp|ipsec|wg|docker|vboxnet|vmnet|awdl|llw|tailscale|zt)/i.test(r)||/^(?:br-|bridge\d|virbr\d|veth)/i.test(r)||/(?:vEthernet|Hyper-V|Docker|VirtualBox|VMware|WireGuard|Tailscale|ZeroTier|VPN)/i.test(r),o=/^(?:en\d+|eth\d+|eno\d+|enp\w+|wl\w+)$|^(?:Ethernet|Wi-?Fi|WLAN|以太网|无线网络连接)(?:\s|$)/i.test(r);for(let r of i){let{address:i,family:n,internal:a}=r;if(!a&&"IPv4"===n){let r=i.startsWith("169.254.")?3:e?2:+!o;t.push({address:i,priority:r})}}}return t.sort((e,t)=>e.priority-t.priority),[...new Set(t.map(({address:e})=>e))]}function p(e,t=u()[0]??"127.0.0.1"){return`http://${t}:${e}`}async function h(){if(!process.stdin.isTTY||!process.stdout.isTTY)throw Error("不带参数的 --host 需要交互式终端,请使用 --host <IP> 直接指定地址。");let e=Object.entries(c.networkInterfaces()),t=u().map(t=>{let r=e.find(([,e])=>e?.some(e=>e.address===t))?.[0];return{name:r?`${t} (${r})`:t,value:t}});t.length||t.push({name:"127.0.0.1 (仅本机)",value:"127.0.0.1"});let{default:r}=await import("./inquirer.js"),{host:i}=await r.prompt([{type:"select",name:"host",message:"请选择设备可访问的本机 IP(VPN 地址需要设备能访问该 VPN):",choices:t}]);return i}var f,g,b,m,_,v,w,E=((m={}).Adb="adb",m.Hdt="hdt",m.DevTools="devtools",m);let y=["adb","hdt","devtools"];function C(e){return y.includes(e)}(f=_||(_={}))[f.WAITING=0]="WAITING",f[f.QUEUED=1]="QUEUED",f[f.RUNNING=2]="RUNNING",f[f.PENDING=3]="PENDING",f[f.SUCCESS=4]="SUCCESS",f[f.FAIL=5]="FAIL",f[f.CANCELED=6]="CANCELED",f[f.TIMEOUT=7]="TIMEOUT",f[f.UNKNOWN=8]="UNKNOWN";let A=e("../../../node_modules/.pnpm/undici@6.22.0/node_modules/undici/index.js"),k={"sso-internal":"doubao-developer.bytedance.net","sms-internal":"doubao-developer-open.bytedance.net","sms-external":"hello.doubao-dev.com"},S={"http:":"80","https:":"443"},N=new Map;function I(){return process.env.X_TT_ENV?{"x-use-ppe":"1","x-tt-env":process.env.X_TT_ENV}:{}}function x(e){let t=e.startsWith("/")?e:`/${e}`;return"/app_developer"===t||t.startsWith("/app_developer/")}async function D(e,t={}){let r=function(e){var t,r;let i="string"==typeof e?new URL(e):e;if(function(e){let t=O(["NO_PROXY","no_proxy"]);if(!t)return!1;let r=T(e.hostname),i=e.port||S[e.protocol]||"";for(let e of t.split(",")){let t=function(e){let t=e.trim().toLowerCase();if(!t)return{host:""};if((t=t.replace(/^[a-z][a-z\d+.-]*:\/\//,"").split("/")[0]).startsWith("[")){let e=t.indexOf("]");if(-1!==e)return{host:T(t.slice(0,e+1)),port:":"===t[e+1]?t.slice(e+2):void 0}}let r=t.indexOf(":")===t.lastIndexOf(":")?t.match(/:(\d+)$/):void 0;return{host:T(r?t.slice(0,-r[0].length):t),port:r?.[1]}}(e);if(t.host&&(!t.port||t.port===i)){if("*"===t.host)return!0;if(t.host.startsWith("*.")){let e=t.host.slice(1);if(r.endsWith(e))return!0;continue}if(t.host.startsWith(".")){if(r.endsWith(t.host))return!0;continue}if(r===t.host)return!0}}return!1}(i))return;let o="https:"===(t=i.protocol)?O(["HTTPS_PROXY","https_proxy","HTTP_PROXY","http_proxy","ALL_PROXY","all_proxy"]):"http:"===t?O(["HTTP_PROXY","http_proxy","ALL_PROXY","all_proxy"]):void 0;if(!o)return;let n=(r=o,/^[a-z][a-z\d+.-]*:\/\//i.test(r)?r:`http://${r}`),a=N.get(n);return a||(a=new A.kT(n),N.set(n,a)),a}(e),i=r?{...t,dispatcher:r}:t;return await fetch(e,i)}async function R({internal:e,domainId:t,path:r,query:i,method:o="GET",body:d,headers:c,signal:u,auth:p=!0}){let h={method:o,body:d,headers:{...I(),...c}};u&&(h.signal=u);let f=function({internal:e,domainId:t,path:r,query:i}){let o=r.startsWith("/")?r:`/${r}`,n=new URLSearchParams;for(let[e,t]of Object.entries(i||{}))null!=t&&n.append(e,t.toString());let a=n.toString(),s=a?`${o.includes("?")?"&":"?"}${a}`:"",d=x(o)?l:t?k[t]:e?k["sso-internal"]:k["sms-external"];return`https://${d}${o}${s}`}({internal:e,domainId:t,path:r,query:i}),g=new Headers(h.headers),b=g.has("Cookie");if(!p||!x(r)||g.has("Authorization")||g.has("X-Developer-Open-Build-Token"))return await D(f,h);let m=new URL(f).origin,_=n(D,{baseUrl:m,allowedOrigins:[m]});try{return await _(f,h)}catch(e){if(!(e instanceof s||e instanceof a))throw e;if(b)return await D(f,h);throw Error(e instanceof a?"Doubao Apps Platform 登录已过期,请运行 `dbx auth login` 后重试。":"Doubao Apps Platform 请求需要登录,请运行 `dbx auth login` 后重试。")}}async function L(e){let t=await R(e),r=t.headers.get("x-tt-logid")||"";if(!t.ok){let e=await t.text();throw Error(JSON.stringify({code:t.status,message:"HTTP 请求失败",data:e,log_id:r}))}let i=await t.json();if(0!==i.code)throw Error(JSON.stringify({...i,log_id:r}));return{...i,log_id:r}}function O(e){for(let t of e){let e=process.env[t]?.trim();if(e)return e}}function T(e){return e.trim().toLowerCase().replace(/^\[/,"").replace(/\]$/,"")}async function P({appKey:e,versionTag:t,cloudBuildSource:r,runner:i,config:o,variables:n,properties:a,internal:s,domainId:l,cookie:d}){return await L({internal:s,domainId:l,path:`/developer/resource_api/apps/${encodeURIComponent(e)}/versions/${encodeURIComponent(t)}/cloud_build/create_job`,method:"POST",body:JSON.stringify({cloud_build_source:r,runner:i,config:o,variables:n,properties:a}),headers:{"Content-Type":"application/json",...d?{Cookie:d}:{}}})}async function j({appKey:e,jobId:t,reason:r,internal:i,domainId:o,cookie:n}){return await L({internal:i,domainId:o,path:`/developer/resource_api/apps/${encodeURIComponent(e)}/cloud_build/jobs/${encodeURIComponent(t)}/cancel`,method:"POST",body:JSON.stringify({reason:r}),headers:{"Content-Type":"application/json",...n?{Cookie:n}:{}}})}async function $({appKey:e,jobId:t,internal:r,domainId:i,cookie:o}){return await L({internal:r,domainId:i,path:`/developer/resource_api/apps/${encodeURIComponent(e)}/cloud_build/jobs/${encodeURIComponent(t)}`,method:"GET",headers:o?{Cookie:o}:void 0})}async function U({appKey:e,jobId:t,start:r,end:i,internal:o,domainId:n,cookie:a}){return await L({internal:o,domainId:n,path:`/developer/resource_api/apps/${encodeURIComponent(e)}/cloud_build/jobs/${encodeURIComponent(t)}/logs`,query:{start:r,end:i},method:"GET",headers:a?{Cookie:a}:void 0})}function M(e){if(e instanceof Error)return e.message;if("string"==typeof e)return e;try{return JSON.stringify(e)??String(e)}catch{return String(e)}}let F=e("path"),K="./node_modules/.doubao",W="./node_modules/.injected.js",G="./node_modules/.injected.css",Y=`.doubao-apps-style-anchor{display:none}
2
- :root {
3
- --doubao-picker-view-height: 108px;
4
- --doubao-picker-view-indicator-radius: 12px;
5
- --doubao-picker-view-item-height: 36px;
6
- --doubao-picker-view-item-padding: 0 8px;
7
- --doubao-picker-view-item-font-size: 15px;
8
- --doubao-picker-view-item-line-height: 21px;
9
- --doubao-picker-view-item-font-weight: 500;
10
- --doubao-picker-view-z-index: 1000;
11
- }
12
-
13
- .doubao-picker-view {
14
- --doubao-picker-view-bg: var(--bg-base-2);
15
- --doubao-picker-view-indicator-bg: var(--bg-base-3-overlay);
16
- --doubao-picker-view-item-text-color: var(--neutral-50);
17
- --doubao-picker-view-item-disabled-color: var(--neutral-30);
18
- --doubao-picker-view-item-selected-color: var(--neutral-100);
19
- height: var(--doubao-picker-view-height);
20
- background: var(--doubao-picker-view-bg);
21
- flex-direction: row;
22
- display: flex;
23
- position: relative;
24
- overflow: hidden;
25
- }
26
-
27
- .doubao-picker-view--embedded {
28
- z-index: auto;
29
- width: 100%;
30
- position: static;
31
- bottom: auto;
32
- left: auto;
33
- right: auto;
34
- }
35
-
36
- .doubao-picker-view--fixed {
37
- position: fixed;
38
- bottom: 0;
39
- left: 0;
40
- right: 0;
41
- }
42
-
43
- .doubao-picker-view__columns {
44
- flex-direction: row;
45
- flex: 1;
46
- height: 100%;
47
- display: flex;
48
- position: relative;
49
- }
50
-
51
- .doubao-picker-view__indicator {
52
- height: var(--doubao-picker-view-item-height);
53
- background: var(--doubao-picker-view-indicator-bg);
54
- border-radius: var(--doubao-picker-view-indicator-radius);
55
- pointer-events: none;
56
- z-index: 0;
57
- position: absolute;
58
- top: 50%;
59
- left: 0;
60
- right: 0;
61
- transform: translateY(-50%);
62
- }
63
-
64
- .doubao-picker-column {
65
- perspective: 300px;
66
- flex: 1;
67
- height: 100%;
68
- overflow: hidden;
69
- }
70
-
71
- .doubao-picker-column__content {
72
- transform-style: preserve-3d;
73
- flex-direction: column;
74
- justify-content: flex-start;
75
- align-items: center;
76
- display: flex;
77
- }
78
-
79
- .doubao-picker-column__item {
80
- height: var(--doubao-picker-view-item-height);
81
- box-sizing: border-box;
82
- width: 100%;
83
- padding: var(--doubao-picker-view-item-padding);
84
- backface-visibility: hidden;
85
- justify-content: center;
86
- align-items: center;
87
- display: flex;
88
- }
89
-
90
- .doubao-picker-column__item-text {
91
- font-size: var(--doubao-picker-view-item-font-size);
92
- line-height: var(--doubao-picker-view-item-line-height);
93
- font-weight: var(--doubao-picker-view-item-font-weight);
94
- color: var(--doubao-picker-view-item-text-color);
95
- text-overflow: ellipsis;
96
- white-space: nowrap;
97
- text-align: center;
98
- max-width: 100%;
99
- overflow: hidden;
100
- }
101
-
102
- .doubao-picker-column__item--disabled .doubao-picker-column__item-text {
103
- color: var(--doubao-picker-view-item-disabled-color);
104
- }
105
-
106
- .doubao-picker-column__item--selected .doubao-picker-column__item-text {
107
- color: var(--doubao-picker-view-item-selected-color);
108
- }
109
-
110
- .doubao-picker-divider {
111
- height: var(--doubao-picker-view-item-height);
112
- flex: none;
113
- justify-content: center;
114
- align-self: center;
115
- align-items: center;
116
- padding: 0 4px;
117
- display: flex;
118
- }
119
-
120
- .doubao-picker-divider__text {
121
- font-size: var(--doubao-picker-view-item-font-size);
122
- line-height: var(--doubao-picker-view-item-line-height);
123
- font-weight: var(--doubao-picker-view-item-font-weight);
124
- color: var(--doubao-picker-view-item-selected-color);
125
- }`,B="deploy-package",z="doubao_app_output",J="scm-deploy-package",V="widgets";F.sep;let H=`base${F.sep}manifest.json`,X=`base${F.sep}manifest.sign`,q="mcp-privacy-login-card",Z="__doubao_apps__expired-widget",Q="bundle.keystore",ee={"@byted-lynx/react":"React","@lynx-js/react":"React","@lynx-js/react/internal":"ReactInternal","@lynx-js/react/jsx-dev-runtime":"ReactJSXDevRuntime","@lynx-js/react/jsx-runtime":"ReactJSXRuntime","@lynx-js/react/lepus/jsx-dev-runtime":"ReactJSXLepusDevRuntime","@lynx-js/react/lepus/jsx-runtime":"ReactJSXLepusRuntime","@lynx-js/react/experimental/lazy/import":"ReactLazyImport","@lynx-js/react/legacy-react-runtime":"ReactLegacyRuntime","@lynx-js/react/runtime-components":"ReactComponents","@lynx-js/react/worklet-runtime/bindings":"ReactWorkletRuntime","@lynx-js/react/debug":"ReactDebug",preact:"Preact",react:"React"},et="widgets",er="privacy.ts",ei="login.ts",eo="__AI_MANIFEST__",en="index.tsx",ea="index.ts",es="client-tool",el="privacy",ed=e=>e===q||e===Z,ec="app.config",eu=[".js",".ts",".mjs"],ep={DOUBAO:"com.larus.nova",PLAYGROUND:"com.flow.aisdk.example"},eh=e("node:async_hooks"),ef=Math.max(...["cli","auth","config","security","build","deploy","dev-server","simulator"].map(e=>`[${e}]`.length)),eg=/authorization|cookie|token|secret|password|credential|private_?key|\bdek\b/i,eb=new eh.AsyncLocalStorage;function em(e,t){return eb.run(e,t)}function e_(e){return e.replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/[\s-]+/g,"_").toLowerCase()}function ev(e,t=new WeakSet){if(null==e)return String(e);if("string"==typeof e)return/^[\w./:@-]+$/.test(e)&&e.length>0?e:JSON.stringify(e);if("number"==typeof e||"boolean"==typeof e||"bigint"==typeof e)return String(e);if(e instanceof Error)return ev(e.message,t);if("object"!=typeof e)return String(e);if(t.has(e))return'"[Circular]"';t.add(e);let r=Array.isArray(e)?`[${e.map(e=>ev(e,t)).join(",")}]`:`{${Object.entries(e).sort(([e],[t])=>e.localeCompare(t)).map(([e,r])=>{let i=eg.test(e_(e))?'"[REDACTED]"':ev(r,t);return`${JSON.stringify(e)}:${i}`}).join(",")}}`;return t.delete(e),r}function ew(e){return d.cyan(`[${e}]`.padEnd(ef))}function eE(e={}){let t=Object.fromEntries(Object.entries(e).map(([e,t])=>[e.toLowerCase(),t])),r=t["x-tt-env"],i=t["x-use-ppe"],o=Array.isArray(r)?r.join(","):r;return i&&o?String(o):void 0}function ey(e){let t=Object.entries(e).filter(([,e])=>void 0!==e).map(([e,t])=>[e_(e),t]).sort(([e],[t])=>e.localeCompare(t));return 0===t.length?"":t.map(([e,t])=>{let r=eg.test(e)?"[REDACTED]":ev(t);return d.dim(`${e}=${r}`)}).join(" ")}let eC=new class e{constructor(e={}){this.sink=e.sink??r.logger,this.tag=e.tag,this.context=e.context??{},this.isDebugEnabled=e.isDebug??(()=>"applet0930"===process.env.DEBUG)}child(t,r={}){return new e({sink:this.sink,tag:t,context:{...this.context,...r},isDebug:this.isDebugEnabled})}withContext(t){return new e({sink:this.sink,tag:this.tag,context:{...this.context,...t},isDebug:this.isDebugEnabled})}info(e,t){this.emit("info",e,t)&&this.sink.info(this.formatMessage(e,t))}success(e,t){this.emit("info",e,t)&&this.sink.success(this.formatMessage(e,t))}start(e,t){this.emit("info",e,t)&&this.sink.start(this.formatMessage(e,t))}ready(e,t){this.emit("info",e,t)&&this.sink.ready(this.formatMessage(e,t))}warn(e,t){this.emit("warn",e,t)&&this.sink.warn(this.formatMessage(e,t))}debug(e,t){this.isDebugEnabled()&&this.emit("debug",e,t)&&this.sink.debug(this.formatMessage(e,t))}error(e,t={}){let r,{error:i,...o}=t,n=this.tag?`${ew(this.tag)} `:"",a=e instanceof Error?e.message:String(e),s=`${n}${a}`;if(void 0!==i)s+=`: ${i instanceof Error?i.message:ev(i)}`,this.isDebugEnabled()&&i instanceof Error&&i.stack&&(r=i.stack);else e instanceof Error&&this.isDebugEnabled()&&e.stack&&(r=e.stack);let l=ey({...this.context,...o});l&&(s+=` ${l}`),r&&(s+=`
126
- ${r}`),this.emit("error",a,{...o,...void 0!==i?{error:i}:{}})&&this.sink.error(s)}greet(e){this.emit("info",e)&&this.sink.greet(e)}request(e){var t;let r,i,o,n,a,s,l,c=e.timestamp??new Date,u=d.gray(`[${(r=c.getFullYear(),i=String(c.getMonth()+1).padStart(2,"0"),o=String(c.getDate()).padStart(2,"0"),n=String(c.getHours()).padStart(2,"0"),a=String(c.getMinutes()).padStart(2,"0"),s=String(c.getSeconds()).padStart(2,"0"),l=String(c.getMilliseconds()).padStart(3,"0"),`${r}-${i}-${o} ${n}:${a}:${s}.${l}`)}]`),p=d.bold(e.method),h=void 0===e.durationMs?"":` ${d.dim(`${e.durationMs.toFixed(1)}ms`)}`,f=eE(e.headers),g=Array.isArray(e.logId)?e.logId.join(","):e.logId,b=[f?ey({ppe:f}):"",g?ey({logid:g}):"",ey({...this.context,...e.context})].filter(Boolean).join(" "),m=`${this.tag?`${ew(this.tag)} `:""}${u} ${p} ${e.url} ${((t=e.statusCode)>=500?d.red:t>=400?d.yellow:d.green)(String(t))}${h}${b?` ${b}`:""}`,_=e.statusCode>=500?"error":e.statusCode>=400?"warn":"info";this.emit(_,`${e.method} ${e.url} ${e.statusCode}`,{...e.context,durationMs:e.durationMs,logId:g,ppe:f},c.getTime())&&("error"===_?this.sink.error(m):"warn"===_?this.sink.warn(m):this.sink.info(m))}formatMessage(e,t={}){let r=ey({...this.context,...t}),i=this.tag?`${ew(this.tag)} `:"",o=e instanceof Error?e.message:String(e);return`${i}${o}${r?` ${r}`:""}`}emit(e,t,r={},i=Date.now()){let o=eb.getStore(),n=o?.onLog;if(n)try{n({timestamp:i,level:e,scope:this.tag,message:t instanceof Error?t.message:String(t),context:function(e){let t=Object.entries(e).filter(([,e])=>void 0!==e).map(([e,t])=>[e_(e),t]).sort(([e],[t])=>e.localeCompare(t));if(0!==t.length)return Object.fromEntries(t.map(([e,t])=>[e,eg.test(e)?"[REDACTED]":function e(t,r=new WeakSet){if(t instanceof Error)return t.message;if(null===t||"object"!=typeof t)return"bigint"==typeof t?String(t):t;if(r.has(t))return"[Circular]";r.add(t);let i=Array.isArray(t)?t.map(t=>e(t,r)):Object.fromEntries(Object.entries(t).map(([t,i])=>[t,eg.test(e_(t))?"[REDACTED]":e(i,r)]));return r.delete(t),i}(t)]))}({...this.context,...r})})}catch{}return o?.printLogs!==!1}},eA=eC.child("build");eC.child("cli");let ek=eC.child("config"),eS=eC.child("security"),eN=eC.child("build"),eI=eN.withContext({mode:"cloud"}),ex=eC.child("deploy"),eD=eC.child("dev-server"),eR=e("node:fs"),eL=e("node:path"),eO="@byted-doubao-apps/framework",eT="@doubao-dev/framework",eP=[eO,eT];function ej(e){return`${e}/api`}function e$(e){return`${e}/components`}function eU(e){let t=eL.resolve(e,"package.json");if(eR.existsSync(t))try{let e=JSON.parse(eR.readFileSync(t,"utf8")),r={...e.dependencies,...e.devDependencies,...e.peerDependencies};if(r[eT])return eT;if(r[eO])return eO}catch{}}function eM(e){return eU(e)??eO}let eF=e=>void 0!==process.env[e],eK=()=>(process.env.DEBUG??"").toLocaleLowerCase().split(",").includes("applet0930"),eW=()=>eK(),eG=()=>"1"===process.env.ENABLE_SELF_CONTAINED,eY=()=>eF("DISABLE_EXTERNAL")||eG()||eF("LEGACY_FRAMEWORK"),eB=()=>eF("DISABLE_APP_TEMPLATE_JS")||eF("LEGACY_FRAMEWORK"),ez=()=>eF("DISABLE_GENERATE_LOGIN_CARD")||eF("LEGACY_FRAMEWORK"),eJ=(e=process.cwd())=>eU(e)===eO;function eV({mcpEndpoint:e}={}){let t=e?.trim();return t||(process.env.DOUBAO_SIMULATOR_MCP_ENDPOINT?.trim()??"")}(g=v||(v={})).DEV="dev",g.BUILD="build",g.PERF="perf",g.DEPLOY="deploy",g.ANALYZE="analyze";let eH={DEV:v.DEV,BUILD:v.BUILD,PERF:v.PERF,DEPLOY:v.DEPLOY,ANALYZE:v.ANALYZE},eX=e=>{try{return eR.statSync(e,{throwIfNoEntry:!1})?.isFile()}catch(e){return!1}};async function eq({internal:e,appKey:t}){try{return await L({internal:e,path:`/developer/resource_api/apps/${encodeURIComponent(t)}/dek/public_key`})}catch(e){throw eS.error("Failed to get KEK",{error:e,appKey:t,operation:"get-kek"}),e}}async function eZ(e,t,r,i){if(!(i||eF("DISABLE_SIGNING_ENCRYPTION")||eF("LEGACY_FRAMEWORK"))){if(e)return e;if("production"===process.env.NODE_ENV&&t===v.DEPLOY){if(!r)throw Error("appId is required to get KEK");let{data:e}=await eq({internal:!1,appKey:r}),t=Number(Object.keys(e.keys)[0]);return{signing:{enabled:!1},encryption:{enabled:!0,wrap_key:e.keys[t],key_id:t,salt:""}}}}}function eQ(e){return{pages:{entryNames:[...e.pages.entryNames],entries:Object.fromEntries(Object.entries(e.pages.entries).map(([e,t])=>[e,{...t}]))},tools:{entryNames:[...e.tools.entryNames],entries:Object.fromEntries(Object.entries(e.tools.entries).map(([e,t])=>[e,{...t}]))},widgets:{entryNames:[...e.widgets.entryNames],entries:Object.fromEntries(Object.entries(e.widgets.entries).map(([e,t])=>[e,{...t}]))}}}let e0=e("fs"),e1=e("node:url"),e2=F.join("node_modules",".doubao-dev","config.json");function e3({cwd:e=process.cwd()}={}){let t=F.resolve(e,e2);if(e0.existsSync(t))try{let e=JSON.parse(e0.readFileSync(t,"utf-8"));if(!o(e))throw TypeError("Development config must be a JSON object");return e}catch(e){ek.warn("Failed to load development config file; ignoring it",{path:t,reason:M(e)});return}}function e5(e,t,r){if(r){let t=F.isAbsolute(r)?r:F.resolve(e,r);if(e0.existsSync(t))return t;ek.warn("Cannot find config file",{path:t})}for(let r of eu.map(r=>F.resolve(e,`${t}${r}`)))if(eX(r))return r;return!1}async function e8(e){let r=(0,t.createJiti)((0,e1.fileURLToPath)(import.meta.url),{requireCache:!1,interopDefault:!0});return await r.import(e,{default:!0})}async function e4({cwd:e=process.cwd(),customConfigFile:t}){let r=e5(e,"doubao.config",t);if(!r)return{};try{return await e8(r)}catch(e){throw ek.error("Failed to load config file",{path:r}),e}}async function e6({cwd:e=process.cwd()}={}){let t=e5(F.resolve(e,"src"),ec);if(t)try{return await e8(t)}catch(e){throw ek.error("Failed to load app config file",{path:t}),e}}function e7(e=eJ()){return e?"sso":"sms"}async function e9(e={},t={}){if(e.cookie)return e.cookie;let{ensureLoginCookie:r}=await import("./@byted-doubao-apps/login.js");return await r({route:e7(t.internal),browser:e.loginBrowser,browserPath:e.loginBrowserPath,force:t.force})}async function te(e,t){if(e.cookie)return e.cookie;let{getCachedLoginCookie:r}=await import("./@byted-doubao-apps/login.js");return await r({route:e7(t)})}async function tt({appKey:e,filename:t,sha256:r,category:i,internal:o,domainId:n,cookie:a,signal:s}){return await L({internal:o,domainId:n,path:`/developer/resource_api/apps/${encodeURIComponent(e)}/cloud_build/file_upload/start`,method:"POST",body:JSON.stringify({filename:t,sha256:r,category:i}),headers:{"Content-Type":"application/json",...a?{Cookie:a}:{}},signal:s})}async function tr({appKey:e,uploadToken:t,size:r,internal:i,domainId:o,cookie:n,signal:a}){return await L({internal:i,domainId:o,path:`/developer/resource_api/apps/${encodeURIComponent(e)}/cloud_build/file_upload/finish`,method:"POST",body:JSON.stringify({upload_token:t,size:r}),headers:{"Content-Type":"application/json",...n?{Cookie:n}:{}},signal:a})}let ti=e("node:crypto");async function to({appId:e,category:t,filePath:r,filename:i=eL.basename(r),...o}){let n=new Uint8Array(eR.readFileSync(r)),a=(0,ti.createHash)("sha256").update(n).digest("hex"),s=(await tt({appKey:e,filename:i,sha256:a,category:t,...o})).data;if(!s?.upload_url||!s.upload_token)throw Error("File upload session is incomplete");await tn({uploadUrl:s.upload_url,body:new Blob([n]),headers:s.upload_headers||{},signal:o.signal});let l=await tr({appKey:e,uploadToken:s.upload_token,size:n.byteLength,...o});if(!l.data?.stored_file_id)throw Error("File upload finish response did not return stored_file_id");return l.data}async function tn({uploadUrl:e,body:t,headers:r,signal:i}){let o=await D(e,{method:"PUT",body:t,headers:r,signal:i}),n=o.headers.get("x-tt-logid")||"";if(!o.ok){let e=await o.text();throw Error([`File upload failed with HTTP ${o.status}`,e?`message: ${e}`:"",n?`log_id: ${n}`:""].filter(Boolean).join(", "))}}(b=w||(w={}))[b.UNKNOWN=0]="UNKNOWN",b[b.SOURCE=1]="SOURCE",b[b.ARTIFACT=2]="ARTIFACT";let ta=e("../../../node_modules/.pnpm/ora@5.4.1/node_modules/ora/index.js"),ts=new Set([_.SUCCESS,_.FAIL,_.CANCELED,_.TIMEOUT]);class tl{options;cwd;appDir;internal;env;secretEnv;appInfo;constructor(e,t){this.options=e,this.cwd=t,this.appDir=eL.resolve(e.appDir||t),(0,r.loadEnv)({cwd:this.appDir,mode:e.envMode}),this.internal=eJ(this.appDir)}async start({versionTag:e,logs:t,runner:r,config:i,variables:o,properties:n}={}){this.resolveEnv(),this.resolveSecretEnv();let a=await this.upload();if(!a)throw Error("Cloud upload did not return stored_file_id");let s=await this.build({sourceRef:a,versionTag:e,runner:r,config:i,variables:o,properties:n});return t&&await this.waitForBuildJob({jobId:s}),s}async package({outputDir:e}={}){let t={appDir:this.appDir,internal:this.internal,outputDir:e?eL.resolve(this.cwd,e):void 0},r=await this.runWithSpinner("Preparing cloud build source...",e=>i({...t,onProgress:e}));if(this.logSourceDiagnostics(r),eI.success("Cloud build source archive created",{archivePath:r.archivePath}),r.blockers.length>0)throw Error(r.blockers.join("\n"));return r.archivePath}async upload({packOnly:e,outputDir:t}={}){if(e)return void await this.package({outputDir:t});let r={appDir:this.appDir,internal:this.internal},o=await this.resolveAppId("upload"),n=await this.resolveCookie(),a=await this.runWithSpinner("Preparing cloud build source...",e=>i({...r,onProgress:e}));if(this.logSourceDiagnostics(a),a.blockers.length>0)throw Error(a.blockers.join("\n"));let s=(await this.runWithSpinner("Uploading cloud build source...",()=>to({appId:o,category:w.SOURCE,filePath:a.archivePath,internal:this.internal,cookie:n}))).stored_file_id;if(!s)throw Error("Cloud build source upload did not return stored_file_id");return eI.success("Cloud build source uploaded",{storedFileId:s}),s}async build({sourceRef:e,versionTag:t,runner:r,config:i,variables:o,properties:n}={}){let a;if(!e)throw Error("Cloud build requires --source-ref.");let{appId:s,appConfig:l}=await this.resolveAppInfo();if(!s)throw Error("Cloud build requires appId in doubao.config.ts or src/app.config.ts.");try{a=JSON.parse(eR.readFileSync(eL.resolve(this.appDir,"package.json"),"utf-8")).version}catch{a=void 0}let d=t||l.version||a;if(!d)throw Error("Cloud build requires --version-tag or version in src/app.config.ts/package.json.");let c=await this.resolveCookie(),u=(await this.runWithSpinner("Creating cloud build job...",()=>P({appKey:s,versionTag:d,cloudBuildSource:{type:"stored_file",ref:e},runner:r,config:i,variables:this.resolveBuildVariables(o),properties:n,internal:this.internal,cookie:c}))).data;if(!u?.job_id)throw Error("Cloud build create_job response did not return job_id");let p=_[u.status]||String(u.status);return eI.success("Cloud build job created",{jobId:u.job_id}),eI.info("Cloud build status",{status:p}),u.job_id}async cancel({jobId:e,reason:t}){if(!e)throw Error("Cloud cancel requires job id.");let r=await this.resolveAppId("cancel"),i=await this.resolveCookie(),o=await this.runWithSpinner("Canceling cloud build job...",()=>j({appKey:r,jobId:e,reason:t||"Canceled by doubao CLI",internal:this.internal,cookie:i})),n=o.data?.job_id;if(!n)throw Error("Cloud build cancel response did not return job_id");return eI.success("Cloud build job canceled",{jobId:n}),n}async getStatus({jobId:e}){if(!e)throw Error("Cloud status requires job id.");let t=await this.resolveAppId("build"),r=await this.resolveCookie(),i=(await $({appKey:t,jobId:e,internal:this.internal,cookie:r})).data;if(!i)throw Error("Cloud build status response did not return data");let o=_[i.status]||String(i.status);return eI.info("Cloud build job",{jobId:i.job_id}),eI.info("Cloud build status",{status:o}),i}async log({jobId:e,start:t,end:r}){if(!e)throw Error("Cloud log requires job id.");let i=Number(t??1),o=Number(r??i+200-1);if(!Number.isInteger(i)||!Number.isInteger(o)||i<1||o<i)throw Error("Cloud log requires a valid line range.");let n=await this.resolveAppId("log"),a=await this.resolveCookie(),s=(await U({appKey:n,jobId:e,start:i,end:o,internal:this.internal,cookie:a})).data;if(!s)throw Error("Cloud build log response did not return data");return this.printLogLines(s.lines),eI.info("Cloud build logs fetched",{start:s.start??i,end:s.end??o,totalLineCount:s.total_line_count}),s}async waitForBuildJob({jobId:e}){let t=await this.resolveAppId("build"),r=await this.resolveCookie(),i=ta("Waiting for cloud build to finish...").start(),o=!1;try{for(;;){let n=await $({appKey:t,jobId:e,internal:this.internal,cookie:r}),a=n.data?.status,s=void 0===a?"UNKNOWN":_[a]||String(a);if(i.text=`Cloud build status: ${s}`,void 0!==a&&ts.has(a)){if(a===_.SUCCESS){i.succeed(`Cloud build status: ${s}`),o=!0;return}throw i.fail(`Cloud build status: ${s}`),o=!0,await this.printFailureLogs({appId:t,jobId:e,cookie:r}),Error(`Cloud build ended with status: ${s}`)}await new Promise(e=>setTimeout(e,5e3))}}catch(e){throw o||i.fail(),e}}async printFailureLogs({appId:e,jobId:t,cookie:r}){let i=1,o=0,n=!1;try{for(eI.info("Fetching cloud build failure logs");o<1e3&&i<=1e3;){let a=Math.min(i+200-1,1e3),s=(await U({appKey:e,jobId:t,start:i,end:a,internal:this.internal,cookie:r})).data;if(!s||0===s.lines.length)break;this.printLogLines(s.lines),o+=s.lines.length;let l=s.lines.at(-1)?.line_number,d=void 0!==l&&l>=i?l+1:void 0!==s.end&&s.end>=i?s.end+1:i,c=d>i;if(!(n=s.has_more_after&&c))break;i=d}n&&eI.warn("Cloud build failure logs truncated",{limit:1e3,jobId:t})}catch(e){eI.warn("Failed to fetch cloud build failure logs",{reason:M(e)})}}async resolveCookie(){return await e9(this.options,{internal:this.internal})}resolveBuildVariables(e){let t=new Map;for(let[e,r]of Object.entries(this.resolveEnv()))t.set(e,{name:e,value:r,env_var_name:e});for(let[e,r]of Object.entries(this.resolveSecretEnv()))t.set(e,{name:e,value:r,env_var_name:e,is_secret:!0});for(let r of e||[])t.set(r.env_var_name||r.name,r);return t.size>0?Array.from(t.values()):void 0}resolveEnv(){return this.options.env?(this.env??=td(this.resolveAppPath(this.options.env),"Env"),this.env):{}}resolveSecretEnv(){return this.options.secretEnv?(this.secretEnv??=td(this.resolveAppPath(this.options.secretEnv),"Secret env"),this.secretEnv):{}}resolveAppPath(e){return eL.isAbsolute(e)?e:eL.resolve(this.appDir,e)}async resolveAppId(e){let{appId:t}=await this.resolveAppInfo();if(!t)throw Error(`Cloud ${e} requires appId in doubao.config.ts or src/app.config.ts.`);return t}async resolveAppInfo(){if(this.appInfo)return this.appInfo;let e=await e4({cwd:this.appDir,customConfigFile:this.options.config}),t=await e6({cwd:this.appDir})??{};return this.appInfo={appId:e.experiments?.taro?.appId?e.experiments?.taro?.appId:t.appId,appConfig:t},this.appInfo}logSourceDiagnostics(e){for(let t of e.warnings)eI.warn(t);for(let t of e.blockers)eI.error(t)}printLogLines(e){for(let t of e)console.log(t.content)}async runWithSpinner(e,t){let r=ta(e).start();try{let e=await t(e=>{r.text=e});return r.succeed(),e}catch(e){throw r.fail(),e}}}function td(e,t){if(!eR.existsSync(e))throw Error(`${t} file does not exist: ${e}`);return function(e){let t={};for(let r of e.split(/\r?\n/)){let e=r.trim();if(!e||e.startsWith("#"))continue;let i=e.startsWith("export ")?e.slice(7).trimStart():e,o=i.indexOf("=");if(o<=0)continue;let n=i.slice(0,o).trim();/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(n)&&(t[n]=function(e){let t=e[0];if(('"'===t||"'"===t)&&e.endsWith(t))return e.slice(1,-1);let r=e.indexOf(" #");return -1===r?e:e.slice(0,r).trimEnd()}(i.slice(o+1).trim()))}return t}(eR.readFileSync(e,"utf8"))}export{eo as AI_MANIFEST,ec as APP_CONFIG_NAME,ep as APP_PACKAGE_NAME,es as CLIENT_TOOL_RUNTIME_ENTRY_KEY,et as CONVENTIONAL_DIR_NAME_WIDGET,ei as CONVENTIONAL_FILE_NAME_LOGIN,er as CONVENTIONAL_FILE_NAME_PRIVACY,tl as CloudBuildLauncher,eH as Command,y as DEBUG_DRIVER_NAMES,Q as DEK_FILE_NAME,B as DEPLOY_PACKAGE,z as DOUBAO_APP_OUTPUT_FOLDER,ea as ENTRY_FILE_TS,en as ENTRY_FILE_TSX,Z as EXPIRED_WIDGET,eP as FRAMEWORK_PACKAGE_NAMES,ee as FRAMEWORK_REACT_EXTERNAL_LIBRARY_NAMES,eO as INTERNAL_FRAMEWORK_PACKAGE,H as MANIFEST_FILE,X as MANIFEST_SIGN_FILE,q as MCP_PRIVACY_LOGIN_CARD,el as PRIVACY,eT as PUBLIC_FRAMEWORK_PACKAGE,J as SCM_DEPLOY_PACKAGE_FOLDER,K as TMP_DIR,W as VIRTUAL_INJECTED_FILE,Y as VIRTUAL_INJECTED_STYLE_CONTENT,G as VIRTUAL_INJECTED_STYLE_FILE,V as WIDGETS,eA as buildLogger,eQ as cloneNormalizedAppConfig,v as command_ECommand,ek as configLogger,ex as deployLogger,eD as devServerLogger,R as fetchDoubaoAppsPlatform,M as getErrorMessage,ej as getFrameworkApiPackage,e$ as getFrameworkComponentsPackage,u as getLocalAreaNetworkAddress,p as getLocalAreaNetworkUrl,I as getPPEEnvironmentHeader,eE as getRequestPPELane,eZ as getSigningEncryptionOptions,e8 as importConfig,eB as isAppTemplateJsDisabled,C as isDebugDriverName,eW as isDebugLogEnabled,eK as isDebugMode,eY as isExternalBundleDisabled,ez as isGenerateLoginCardDisabled,eJ as isInternal,ed as isInternalWidgetId,eG as isSelfContainedBuild,e6 as loadAppConfig,e4 as loadConfig,e3 as loadDevSettings,eC as logger,eN as loggers_buildLogger,L as requestDoubaoAppsPlatform,te as resolveCachedLoginCookie,e5 as resolveConfigFile,eM as resolveFrameworkPackage,e9 as resolveLoginCookie,eV as resolveWebDebuggerMcpEndpoint,em as runWithLoggerOutput,h as selectDevServerHost,E as DebugDriverType};