@doubao-apps/kit 0.0.24 → 0.0.25

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/dist/971.js CHANGED
@@ -30,7 +30,7 @@ if (import.meta.webpackHot) {
30
30
 
31
31
  Please fill the \`${a.expected}\` typed value next time.`)),x.push(a)),!1)},os(x){x.exports=_9},tty(x){x.exports=m}});let a_=globalThis.window?.document!==void 0;globalThis.process?.versions?.node,globalThis.process?.versions?.bun,globalThis.Deno?.version?.deno,globalThis.process?.versions?.electron,globalThis.navigator?.userAgent?.includes("jsdom");let aa=globalThis.navigator?.userAgentData?.platform;"macOS"===aa||globalThis.navigator?.platform==="MacIntel"||globalThis.navigator?.userAgent?.includes(" Mac ")===!0||globalThis.process?.platform,"Windows"===aa||globalThis.navigator?.platform==="Win32"||globalThis.process?.platform,"Linux"===aa||globalThis.navigator?.platform?.startsWith("Linux")===!0||globalThis.navigator?.userAgent?.includes(" Linux ")===!0||globalThis.process?.platform,"iOS"===aa||globalThis.navigator?.platform==="MacIntel"&&globalThis.navigator?.maxTouchPoints>1||/iPad|iPhone|iPod/.test(globalThis.navigator?.platform),"Android"===aa||globalThis.navigator?.platform==="Android"||globalThis.navigator?.userAgent?.includes(" Android ")===!0||globalThis.process?.platform,a_||$.env.TERM_PROGRAM,a_||$.platform,a_||$.cwd;let ae=_8("../../../node_modules/.pnpm/supports-hyperlinks@3.2.0/node_modules/supports-hyperlinks/index.js");function ar(x,_,{target:a="stdout",...e}={}){return ae[a]?"\x1b]8;;"+_+"\x07"+x+"\x1b]8;;\x07":!1===e.fallback?x:"function"==typeof e.fallback?e.fallback(x,_):`${x} (\u200B${_}\u200B)`}ar.isSupported=ae.stdout,ar.stderr=(x,_,a={})=>ar(x,_,{target:"stderr",...a}),ar.stderr.isSupported=ae.stderr;let at=_8("../../../node_modules/.pnpm/object.pick@1.3.0/node_modules/object.pick/index.js");var aA=_8.n(at);class an{options;constructor(x){this.options=x}name="LynxConfigWebpackPlugin";apply(x){x.hooks.thisCompilation.tap(this.name,x=>{this.options.LynxTemplatePlugin.getLynxTemplatePluginHooks(x).beforeEncode.tap(this.name,x=>{let{config:_}=this.options;return x.encodeData.compilerOptions={...x.encodeData.compilerOptions,...aA()(_,this.options.compilerOptionsKeys)},x.encodeData.sourceContent.config={...x.encodeData.sourceContent.config,...aA()(_,this.options.configKeys)},x})})}}let as=_8("../../../node_modules/.pnpm/typia@10.1.0_typescript@5.9.3/node_modules/typia/lib/internal/_accessExpressionAsString.js"),ac=_8("../../../node_modules/.pnpm/typia@10.1.0_typescript@5.9.3/node_modules/typia/lib/internal/_createStandardSchema.js"),ai=_8("../../../node_modules/.pnpm/typia@10.1.0_typescript@5.9.3/node_modules/typia/lib/internal/_validateReport.js"),ao=_8("../../../node_modules/.pnpm/picocolors@1.1.1/node_modules/picocolors/picocolors.js");var av=_8.n(ao);let al=(e=(x,_=!0)=>Object.keys(x).every(_=>(x[_],!0)),r=(x,_,a=!0)=>[!1===a||Object.keys(x).map(_=>(x[_],!0)).every(x=>x)].every(x=>x),ac._createStandardSchema(x=>{if(!1===((x,_=!0)=>"object"==typeof x&&null!==x&&!1===Array.isArray(x)&&((x,_=!0)=>(void 0===x.absoluteInContentBound||"boolean"==typeof x.absoluteInContentBound)&&(void 0===x.asyncRedirect||"boolean"==typeof x.asyncRedirect)&&(void 0===x.autoExpose||"boolean"==typeof x.autoExpose)&&(void 0===x.CSSAlignWithLegacyW3C||"boolean"==typeof x.CSSAlignWithLegacyW3C)&&(void 0===x.customCSSInheritanceList||Array.isArray(x.customCSSInheritanceList)&&x.customCSSInheritanceList.every((x,_)=>"string"==typeof x))&&(void 0===x.dataStrictMode||"boolean"==typeof x.dataStrictMode)&&(void 0===x.disableLongpressAfterScroll||"boolean"==typeof x.disableLongpressAfterScroll)&&(void 0===x.disableQuickTracingGC||"boolean"==typeof x.disableQuickTracingGC)&&(void 0===x.enableA11y||"boolean"==typeof x.enableA11y)&&(void 0===x.enableAccessibilityElement||"boolean"==typeof x.enableAccessibilityElement)&&(void 0===x.enableAsyncInitVideoEngine||"boolean"==typeof x.enableAsyncInitVideoEngine)&&(void 0===x.enableAsyncRequestImage||"boolean"==typeof x.enableAsyncRequestImage)&&(void 0===x.enableAsyncResolveSubtree||"boolean"==typeof x.enableAsyncResolveSubtree)&&(void 0===x.enableCheckExposureOptimize||"boolean"==typeof x.enableCheckExposureOptimize)&&(void 0===x.enableCheckLocalImage||"boolean"==typeof x.enableCheckLocalImage)&&(void 0===x.enableCircularDataCheck||"boolean"==typeof x.enableCircularDataCheck)&&(void 0===x.enableComponentAsyncDecode||"boolean"==typeof x.enableComponentAsyncDecode)&&(void 0===x.enableComponentNullProp||"boolean"==typeof x.enableComponentNullProp)&&(void 0===x.enableCreateViewAsync||"boolean"==typeof x.enableCreateViewAsync)&&(void 0===x.enableCSSInheritance||"boolean"==typeof x.enableCSSInheritance)&&(void 0===x.enableCSSInlineVariables||"boolean"==typeof x.enableCSSInlineVariables)&&(void 0===x.enableCSSLazyImport||"boolean"==typeof x.enableCSSLazyImport)&&(void 0===x.enableDisexposureWhenLynxHidden||"boolean"==typeof x.enableDisexposureWhenLynxHidden)&&(void 0===x.enableEndGestureAtLastFingerUp||"boolean"==typeof x.enableEndGestureAtLastFingerUp)&&(void 0===x.enableEventHandleRefactor||"boolean"==typeof x.enableEventHandleRefactor)&&(void 0===x.enableEventThrough||"boolean"==typeof x.enableEventThrough)&&(void 0===x.enableExposureUIMargin||"boolean"==typeof x.enableExposureUIMargin)&&(void 0===x.enableExposureWhenLayout||"boolean"==typeof x.enableExposureWhenLayout)&&(void 0===x.enableExposureWhenReload||"boolean"==typeof x.enableExposureWhenReload)&&(void 0===x.enableFixedNew||"boolean"==typeof x.enableFixedNew)&&(void 0===x.enableHarmonyNewOverlay||"boolean"==typeof x.enableHarmonyNewOverlay)&&(void 0===x.enableHarmonyVisibleAreaChangeForExposure||"boolean"==typeof x.enableHarmonyVisibleAreaChangeForExposure)&&(void 0===x.enableICU||"boolean"==typeof x.enableICU)&&(void 0===x.enableImageDownsampling||"boolean"==typeof x.enableImageDownsampling)&&(void 0===x.enableJsBindingApiThrowException||"boolean"==typeof x.enableJsBindingApiThrowException)&&(void 0===x.enableJSDataProcessor||"boolean"==typeof x.enableJSDataProcessor)&&(void 0===x.enableListMoveOperation||"boolean"==typeof x.enableListMoveOperation)&&(void 0===x.enableListNewArchitecture||"boolean"==typeof x.enableListNewArchitecture)&&(void 0===x.enableListPlug||"boolean"==typeof x.enableListPlug)&&(void 0===x.enableLynxScrollFluency||"number"==typeof x.enableLynxScrollFluency||"boolean"==typeof x.enableLynxScrollFluency)&&(void 0===x.enableMicrotaskPromisePolyfill||"boolean"==typeof x.enableMicrotaskPromisePolyfill)&&(void 0===x.enableMultiTouch||"boolean"==typeof x.enableMultiTouch)&&(void 0===x.enableMultiTouchParamsCompatible||"boolean"==typeof x.enableMultiTouchParamsCompatible)&&(void 0===x.enableNativeList||"boolean"==typeof x.enableNativeList)&&(void 0===x.enableNewAnimator||"boolean"==typeof x.enableNewAnimator)&&(void 0===x.enableNewClipMode||"boolean"==typeof x.enableNewClipMode)&&(void 0===x.enableNewGesture||"boolean"==typeof x.enableNewGesture)&&(void 0===x.enableNewImage||"boolean"==typeof x.enableNewImage)&&(void 0===x.enableNewIntersectionObserver||"boolean"==typeof x.enableNewIntersectionObserver)&&(void 0===x.enableNewListContainer||"boolean"==typeof x.enableNewListContainer)&&(void 0===x.enableNewTransformOrigin||"boolean"==typeof x.enableNewTransformOrigin)&&(void 0===x.enablePlatformGesture||"boolean"==typeof x.enablePlatformGesture)&&(void 0===x.enablePropertyBasedSimpleStyle||"boolean"==typeof x.enablePropertyBasedSimpleStyle)&&(void 0===x.enableQueryComponentSync||"boolean"==typeof x.enableQueryComponentSync)&&(void 0===x.enableReactOnlyPropsId||"boolean"==typeof x.enableReactOnlyPropsId)&&(void 0===x.enableReduceInitDataCopy||"boolean"==typeof x.enableReduceInitDataCopy)&&(void 0===x.enableReloadLifecycle||"boolean"==typeof x.enableReloadLifecycle)&&(void 0===x.enableRemoveComponentExtraData||"boolean"==typeof x.enableRemoveComponentExtraData)&&(void 0===x.enableReuseLoadScriptExports||"boolean"==typeof x.enableReuseLoadScriptExports)&&(void 0===x.enableSignalAPI||"boolean"==typeof x.enableSignalAPI)&&(void 0===x.enableSimultaneousTap||"boolean"==typeof x.enableSimultaneousTap)&&(void 0===x.enableTextBoringLayout||"boolean"==typeof x.enableTextBoringLayout)&&(void 0===x.enableTextGradientOpt||"boolean"==typeof x.enableTextGradientOpt)&&(void 0===x.enableTextLanguageAlignment||"boolean"==typeof x.enableTextLanguageAlignment)&&(void 0===x.enableTextLayerRender||"boolean"==typeof x.enableTextLayerRender)&&(void 0===x.enableTextLayoutCache||"boolean"==typeof x.enableTextLayoutCache)&&(void 0===x.enableTextNonContiguousLayout||"boolean"==typeof x.enableTextNonContiguousLayout)&&(void 0===x.enableTextOverflow||"boolean"==typeof x.enableTextOverflow)&&(void 0===x.enableTextRefactor||"boolean"==typeof x.enableTextRefactor)&&(void 0===x.enableTouchRefactor||"boolean"==typeof x.enableTouchRefactor)&&(void 0===x.enableUIOperationOptimize||"boolean"==typeof x.enableUIOperationOptimize)&&(void 0===x.enableUnifiedPipeline||"boolean"==typeof x.enableUnifiedPipeline)&&(void 0===x.enableUseContextPool||"boolean"==typeof x.enableUseContextPool)&&(void 0===x.enableUseMapBuffer||"boolean"==typeof x.enableUseMapBuffer)&&(void 0===x.enableViewReceiveTouch||"boolean"==typeof x.enableViewReceiveTouch)&&(void 0===x.enableVsyncAlignedFlush||"boolean"==typeof x.enableVsyncAlignedFlush)&&(void 0===x.enableXTextLayoutReused||"boolean"==typeof x.enableXTextLayoutReused)&&(void 0===x.extendedLayoutOnlyOpt||"boolean"==typeof x.extendedLayoutOnlyOpt)&&(void 0===x.extraInfo||"object"==typeof x.extraInfo&&null!==x.extraInfo&&!1===Array.isArray(x.extraInfo)&&e(x.extraInfo,_))&&(void 0===x.flatten||"boolean"==typeof x.flatten)&&(void 0===x.fontScaleEffectiveOnlyOnSp||"boolean"==typeof x.fontScaleEffectiveOnlyOnSp)&&(void 0===x.implicit||"boolean"==typeof x.implicit)&&(void 0===x.includeFontPadding||"boolean"==typeof x.includeFontPadding)&&(void 0===x.keyboardCallbackPassRelativeHeight||"boolean"==typeof x.keyboardCallbackPassRelativeHeight)&&(void 0===x.longPressDuration||"number"==typeof x.longPressDuration)&&(void 0===x.observerFrameRate||"number"==typeof x.observerFrameRate)&&(void 0===x.pipelineSchedulerConfig||"number"==typeof x.pipelineSchedulerConfig)&&(void 0===x.preferredFps||"string"==typeof x.preferredFps)&&(void 0===x.quirksMode||"string"==typeof x.quirksMode||"boolean"==typeof x.quirksMode)&&(void 0===x.removeDescendantSelectorScope||"boolean"==typeof x.removeDescendantSelectorScope)&&(void 0===x.strictPropType||"boolean"==typeof x.strictPropType)&&(void 0===x.tapSlop||"string"==typeof x.tapSlop)&&(void 0===x.trailNewImage||"boolean"==typeof x.trailNewImage)&&(void 0===x.unifyVWVHBehavior||"boolean"==typeof x.unifyVWVHBehavior)&&(void 0===x.useImagePostProcessor||"boolean"==typeof x.useImagePostProcessor)&&(void 0===x.useNewSwiper||"boolean"==typeof x.useNewSwiper)&&(void 0===x.autoResumeAnimation||"boolean"==typeof x.autoResumeAnimation)&&(void 0===x.cli||"string"==typeof x.cli)&&(void 0===x.compileRender||"boolean"==typeof x.compileRender)&&(void 0===x.customData||"string"==typeof x.customData)&&(void 0===x.enableA11yIDMutationObserver||"boolean"==typeof x.enableA11yIDMutationObserver)&&(void 0===x.enableAsyncDisplay||"boolean"==typeof x.enableAsyncDisplay)&&(void 0===x.enableBackgroundShapeLayer||"boolean"==typeof x.enableBackgroundShapeLayer)&&(void 0===x.enableCascadePseudo||"boolean"==typeof x.enableCascadePseudo)&&(void 0===x.enableCheckDataWhenUpdatePage||"boolean"==typeof x.enableCheckDataWhenUpdatePage)&&(void 0===x.enableComponentLayoutOnly||"boolean"==typeof x.enableComponentLayoutOnly)&&(void 0===x.enableGlobalComponentMap||"boolean"==typeof x.enableGlobalComponentMap)&&(void 0===x.enableNativeScheduleCreateViewAsync||"boolean"==typeof x.enableNativeScheduleCreateViewAsync)&&(void 0===x.enableNewAccessibility||"boolean"==typeof x.enableNewAccessibility)&&(void 0===x.enableNewLayoutOnly||"boolean"==typeof x.enableNewLayoutOnly)&&(void 0===x.enableOptPushStyleToBundle||"boolean"==typeof x.enableOptPushStyleToBundle)&&(void 0===x.enableOverlapForAccessibilityElement||"boolean"==typeof x.enableOverlapForAccessibilityElement)&&(void 0===x.fixCSSImportRuleOrder||"boolean"==typeof x.fixCSSImportRuleOrder)&&(void 0===x.forceCalcNewStyle||"boolean"==typeof x.forceCalcNewStyle)&&(void 0===x.reactVersion||"string"==typeof x.reactVersion)&&(void 0===x.redBoxImageSizeWarningThreshold||"number"==typeof x.redBoxImageSizeWarningThreshold)&&(void 0===x.removeComponentElement||"boolean"==typeof x.removeComponentElement)&&(void 0===x.syncImageAttach||"boolean"==typeof x.syncImageAttach)&&(void 0===x.useNewImage||"boolean"==typeof x.useNewImage)&&(void 0===x.version||"string"==typeof x.version)&&(void 0===x.debugInfoOutside||"boolean"==typeof x.debugInfoOutside)&&(void 0===x.defaultDisplayLinear||"boolean"==typeof x.defaultDisplayLinear)&&(void 0===x.defaultOverflowVisible||"boolean"==typeof x.defaultOverflowVisible)&&(void 0===x.disableMultipleCascadeCSS||"boolean"==typeof x.disableMultipleCascadeCSS)&&(void 0===x.enableComponentConfig||"boolean"==typeof x.enableComponentConfig)&&(void 0===x.enableCSSAsyncDecode||"boolean"==typeof x.enableCSSAsyncDecode)&&(void 0===x.enableCSSClassMerge||"boolean"==typeof x.enableCSSClassMerge)&&(void 0===x.enableCSSEngine||"boolean"==typeof x.enableCSSEngine)&&(void 0===x.enableCSSExternalClass||"boolean"==typeof x.enableCSSExternalClass)&&(void 0===x.enableCSSInvalidation||"boolean"==typeof x.enableCSSInvalidation)&&(void 0===x.enableCSSLazyDecode||"boolean"==typeof x.enableCSSLazyDecode)&&(void 0===x.enableCSSSelector||"boolean"==typeof x.enableCSSSelector)&&(void 0===x.enableCSSStrictMode||"boolean"==typeof x.enableCSSStrictMode)&&(void 0===x.enableCSSVariable||"boolean"==typeof x.enableCSSVariable)&&(void 0===x.enableEventRefactor||"boolean"==typeof x.enableEventRefactor)&&(void 0===x.enableFiberArch||"boolean"==typeof x.enableFiberArch)&&(void 0===x.enableFlexibleTemplate||"boolean"==typeof x.enableFlexibleTemplate)&&(void 0===x.enableKeepPageData||"boolean"==typeof x.enableKeepPageData)&&(void 0===x.enableRemoveCSSScope||"boolean"==typeof x.enableRemoveCSSScope)&&(void 0===x.enableSimpleStyling||"boolean"==typeof x.enableSimpleStyling)&&(void 0===x.experimental_encodeQuickjsBytecode||"boolean"==typeof x.experimental_encodeQuickjsBytecode)&&(void 0===x.implicitAnimation||"boolean"==typeof x.implicitAnimation)&&(void 0===x.removeCSSParserLog||"boolean"==typeof x.removeCSSParserLog)&&(void 0===x.targetSdkVersion||"string"==typeof x.targetSdkVersion)&&(void 0===x.templateDebugUrl||"string"==typeof x.templateDebugUrl)&&(0===Object.keys(x).length||Object.keys(x).every(_=>!!["absoluteInContentBound","asyncRedirect","autoExpose","CSSAlignWithLegacyW3C","customCSSInheritanceList","dataStrictMode","disableLongpressAfterScroll","disableQuickTracingGC","enableA11y","enableAccessibilityElement","enableAsyncInitVideoEngine","enableAsyncRequestImage","enableAsyncResolveSubtree","enableCheckExposureOptimize","enableCheckLocalImage","enableCircularDataCheck","enableComponentAsyncDecode","enableComponentNullProp","enableCreateViewAsync","enableCSSInheritance","enableCSSInlineVariables","enableCSSLazyImport","enableDisexposureWhenLynxHidden","enableEndGestureAtLastFingerUp","enableEventHandleRefactor","enableEventThrough","enableExposureUIMargin","enableExposureWhenLayout","enableExposureWhenReload","enableFixedNew","enableHarmonyNewOverlay","enableHarmonyVisibleAreaChangeForExposure","enableICU","enableImageDownsampling","enableJsBindingApiThrowException","enableJSDataProcessor","enableListMoveOperation","enableListNewArchitecture","enableListPlug","enableLynxScrollFluency","enableMicrotaskPromisePolyfill","enableMultiTouch","enableMultiTouchParamsCompatible","enableNativeList","enableNewAnimator","enableNewClipMode","enableNewGesture","enableNewImage","enableNewIntersectionObserver","enableNewListContainer","enableNewTransformOrigin","enablePlatformGesture","enablePropertyBasedSimpleStyle","enableQueryComponentSync","enableReactOnlyPropsId","enableReduceInitDataCopy","enableReloadLifecycle","enableRemoveComponentExtraData","enableReuseLoadScriptExports","enableSignalAPI","enableSimultaneousTap","enableTextBoringLayout","enableTextGradientOpt","enableTextLanguageAlignment","enableTextLayerRender","enableTextLayoutCache","enableTextNonContiguousLayout","enableTextOverflow","enableTextRefactor","enableTouchRefactor","enableUIOperationOptimize","enableUnifiedPipeline","enableUseContextPool","enableUseMapBuffer","enableViewReceiveTouch","enableVsyncAlignedFlush","enableXTextLayoutReused","extendedLayoutOnlyOpt","extraInfo","flatten","fontScaleEffectiveOnlyOnSp","implicit","includeFontPadding","keyboardCallbackPassRelativeHeight","longPressDuration","observerFrameRate","pipelineSchedulerConfig","preferredFps","quirksMode","removeDescendantSelectorScope","strictPropType","tapSlop","trailNewImage","unifyVWVHBehavior","useImagePostProcessor","useNewSwiper","autoResumeAnimation","cli","compileRender","customData","enableA11yIDMutationObserver","enableAsyncDisplay","enableBackgroundShapeLayer","enableCascadePseudo","enableCheckDataWhenUpdatePage","enableComponentLayoutOnly","enableGlobalComponentMap","enableNativeScheduleCreateViewAsync","enableNewAccessibility","enableNewLayoutOnly","enableOptPushStyleToBundle","enableOverlapForAccessibilityElement","fixCSSImportRuleOrder","forceCalcNewStyle","reactVersion","redBoxImageSizeWarningThreshold","removeComponentElement","syncImageAttach","useNewImage","version","debugInfoOutside","defaultDisplayLinear","defaultOverflowVisible","disableMultipleCascadeCSS","enableComponentConfig","enableCSSAsyncDecode","enableCSSClassMerge","enableCSSEngine","enableCSSExternalClass","enableCSSInvalidation","enableCSSLazyDecode","enableCSSSelector","enableCSSStrictMode","enableCSSVariable","enableEventRefactor","enableFiberArch","enableFlexibleTemplate","enableKeepPageData","enableRemoveCSSScope","enableSimpleStyling","experimental_encodeQuickjsBytecode","implicitAnimation","removeCSSParserLog","targetSdkVersion","templateDebugUrl"].some(x=>_===x)||void 0===x[_])))(x,!0))(x)){_=[],a=ai._validateReport(_),((x,_,e=!0)=>("object"==typeof x&&null!==x&&!1===Array.isArray(x)||a(!0,{path:_+"",expected:"Config",value:x}))&&((x,_,e=!0)=>[void 0===x.absoluteInContentBound||"boolean"==typeof x.absoluteInContentBound||a(e,{path:_+".absoluteInContentBound",expected:"(boolean | undefined)",value:x.absoluteInContentBound}),void 0===x.asyncRedirect||"boolean"==typeof x.asyncRedirect||a(e,{path:_+".asyncRedirect",expected:"(boolean | undefined)",value:x.asyncRedirect}),void 0===x.autoExpose||"boolean"==typeof x.autoExpose||a(e,{path:_+".autoExpose",expected:"(boolean | undefined)",value:x.autoExpose}),void 0===x.CSSAlignWithLegacyW3C||"boolean"==typeof x.CSSAlignWithLegacyW3C||a(e,{path:_+".CSSAlignWithLegacyW3C",expected:"(boolean | undefined)",value:x.CSSAlignWithLegacyW3C}),void 0===x.customCSSInheritanceList||(Array.isArray(x.customCSSInheritanceList)||a(e,{path:_+".customCSSInheritanceList",expected:"(Array<string> | undefined)",value:x.customCSSInheritanceList}))&&x.customCSSInheritanceList.map((x,r)=>"string"==typeof x||a(e,{path:_+".customCSSInheritanceList["+r+"]",expected:"string",value:x})).every(x=>x)||a(e,{path:_+".customCSSInheritanceList",expected:"(Array<string> | undefined)",value:x.customCSSInheritanceList}),void 0===x.dataStrictMode||"boolean"==typeof x.dataStrictMode||a(e,{path:_+".dataStrictMode",expected:"(boolean | undefined)",value:x.dataStrictMode}),void 0===x.disableLongpressAfterScroll||"boolean"==typeof x.disableLongpressAfterScroll||a(e,{path:_+".disableLongpressAfterScroll",expected:"(boolean | undefined)",value:x.disableLongpressAfterScroll}),void 0===x.disableQuickTracingGC||"boolean"==typeof x.disableQuickTracingGC||a(e,{path:_+".disableQuickTracingGC",expected:"(boolean | undefined)",value:x.disableQuickTracingGC}),void 0===x.enableA11y||"boolean"==typeof x.enableA11y||a(e,{path:_+".enableA11y",expected:"(boolean | undefined)",value:x.enableA11y}),void 0===x.enableAccessibilityElement||"boolean"==typeof x.enableAccessibilityElement||a(e,{path:_+".enableAccessibilityElement",expected:"(boolean | undefined)",value:x.enableAccessibilityElement}),void 0===x.enableAsyncInitVideoEngine||"boolean"==typeof x.enableAsyncInitVideoEngine||a(e,{path:_+".enableAsyncInitVideoEngine",expected:"(boolean | undefined)",value:x.enableAsyncInitVideoEngine}),void 0===x.enableAsyncRequestImage||"boolean"==typeof x.enableAsyncRequestImage||a(e,{path:_+".enableAsyncRequestImage",expected:"(boolean | undefined)",value:x.enableAsyncRequestImage}),void 0===x.enableAsyncResolveSubtree||"boolean"==typeof x.enableAsyncResolveSubtree||a(e,{path:_+".enableAsyncResolveSubtree",expected:"(boolean | undefined)",value:x.enableAsyncResolveSubtree}),void 0===x.enableCheckExposureOptimize||"boolean"==typeof x.enableCheckExposureOptimize||a(e,{path:_+".enableCheckExposureOptimize",expected:"(boolean | undefined)",value:x.enableCheckExposureOptimize}),void 0===x.enableCheckLocalImage||"boolean"==typeof x.enableCheckLocalImage||a(e,{path:_+".enableCheckLocalImage",expected:"(boolean | undefined)",value:x.enableCheckLocalImage}),void 0===x.enableCircularDataCheck||"boolean"==typeof x.enableCircularDataCheck||a(e,{path:_+".enableCircularDataCheck",expected:"(boolean | undefined)",value:x.enableCircularDataCheck}),void 0===x.enableComponentAsyncDecode||"boolean"==typeof x.enableComponentAsyncDecode||a(e,{path:_+".enableComponentAsyncDecode",expected:"(boolean | undefined)",value:x.enableComponentAsyncDecode}),void 0===x.enableComponentNullProp||"boolean"==typeof x.enableComponentNullProp||a(e,{path:_+".enableComponentNullProp",expected:"(boolean | undefined)",value:x.enableComponentNullProp}),void 0===x.enableCreateViewAsync||"boolean"==typeof x.enableCreateViewAsync||a(e,{path:_+".enableCreateViewAsync",expected:"(boolean | undefined)",value:x.enableCreateViewAsync}),void 0===x.enableCSSInheritance||"boolean"==typeof x.enableCSSInheritance||a(e,{path:_+".enableCSSInheritance",expected:"(boolean | undefined)",value:x.enableCSSInheritance}),void 0===x.enableCSSInlineVariables||"boolean"==typeof x.enableCSSInlineVariables||a(e,{path:_+".enableCSSInlineVariables",expected:"(boolean | undefined)",value:x.enableCSSInlineVariables}),void 0===x.enableCSSLazyImport||"boolean"==typeof x.enableCSSLazyImport||a(e,{path:_+".enableCSSLazyImport",expected:"(boolean | undefined)",value:x.enableCSSLazyImport}),void 0===x.enableDisexposureWhenLynxHidden||"boolean"==typeof x.enableDisexposureWhenLynxHidden||a(e,{path:_+".enableDisexposureWhenLynxHidden",expected:"(boolean | undefined)",value:x.enableDisexposureWhenLynxHidden}),void 0===x.enableEndGestureAtLastFingerUp||"boolean"==typeof x.enableEndGestureAtLastFingerUp||a(e,{path:_+".enableEndGestureAtLastFingerUp",expected:"(boolean | undefined)",value:x.enableEndGestureAtLastFingerUp}),void 0===x.enableEventHandleRefactor||"boolean"==typeof x.enableEventHandleRefactor||a(e,{path:_+".enableEventHandleRefactor",expected:"(boolean | undefined)",value:x.enableEventHandleRefactor}),void 0===x.enableEventThrough||"boolean"==typeof x.enableEventThrough||a(e,{path:_+".enableEventThrough",expected:"(boolean | undefined)",value:x.enableEventThrough}),void 0===x.enableExposureUIMargin||"boolean"==typeof x.enableExposureUIMargin||a(e,{path:_+".enableExposureUIMargin",expected:"(boolean | undefined)",value:x.enableExposureUIMargin}),void 0===x.enableExposureWhenLayout||"boolean"==typeof x.enableExposureWhenLayout||a(e,{path:_+".enableExposureWhenLayout",expected:"(boolean | undefined)",value:x.enableExposureWhenLayout}),void 0===x.enableExposureWhenReload||"boolean"==typeof x.enableExposureWhenReload||a(e,{path:_+".enableExposureWhenReload",expected:"(boolean | undefined)",value:x.enableExposureWhenReload}),void 0===x.enableFixedNew||"boolean"==typeof x.enableFixedNew||a(e,{path:_+".enableFixedNew",expected:"(boolean | undefined)",value:x.enableFixedNew}),void 0===x.enableHarmonyNewOverlay||"boolean"==typeof x.enableHarmonyNewOverlay||a(e,{path:_+".enableHarmonyNewOverlay",expected:"(boolean | undefined)",value:x.enableHarmonyNewOverlay}),void 0===x.enableHarmonyVisibleAreaChangeForExposure||"boolean"==typeof x.enableHarmonyVisibleAreaChangeForExposure||a(e,{path:_+".enableHarmonyVisibleAreaChangeForExposure",expected:"(boolean | undefined)",value:x.enableHarmonyVisibleAreaChangeForExposure}),void 0===x.enableICU||"boolean"==typeof x.enableICU||a(e,{path:_+".enableICU",expected:"(boolean | undefined)",value:x.enableICU}),void 0===x.enableImageDownsampling||"boolean"==typeof x.enableImageDownsampling||a(e,{path:_+".enableImageDownsampling",expected:"(boolean | undefined)",value:x.enableImageDownsampling}),void 0===x.enableJsBindingApiThrowException||"boolean"==typeof x.enableJsBindingApiThrowException||a(e,{path:_+".enableJsBindingApiThrowException",expected:"(boolean | undefined)",value:x.enableJsBindingApiThrowException}),void 0===x.enableJSDataProcessor||"boolean"==typeof x.enableJSDataProcessor||a(e,{path:_+".enableJSDataProcessor",expected:"(boolean | undefined)",value:x.enableJSDataProcessor}),void 0===x.enableListMoveOperation||"boolean"==typeof x.enableListMoveOperation||a(e,{path:_+".enableListMoveOperation",expected:"(boolean | undefined)",value:x.enableListMoveOperation}),void 0===x.enableListNewArchitecture||"boolean"==typeof x.enableListNewArchitecture||a(e,{path:_+".enableListNewArchitecture",expected:"(boolean | undefined)",value:x.enableListNewArchitecture}),void 0===x.enableListPlug||"boolean"==typeof x.enableListPlug||a(e,{path:_+".enableListPlug",expected:"(boolean | undefined)",value:x.enableListPlug}),void 0===x.enableLynxScrollFluency||"number"==typeof x.enableLynxScrollFluency||"boolean"==typeof x.enableLynxScrollFluency||a(e,{path:_+".enableLynxScrollFluency",expected:"(boolean | number | undefined)",value:x.enableLynxScrollFluency}),void 0===x.enableMicrotaskPromisePolyfill||"boolean"==typeof x.enableMicrotaskPromisePolyfill||a(e,{path:_+".enableMicrotaskPromisePolyfill",expected:"(boolean | undefined)",value:x.enableMicrotaskPromisePolyfill}),void 0===x.enableMultiTouch||"boolean"==typeof x.enableMultiTouch||a(e,{path:_+".enableMultiTouch",expected:"(boolean | undefined)",value:x.enableMultiTouch}),void 0===x.enableMultiTouchParamsCompatible||"boolean"==typeof x.enableMultiTouchParamsCompatible||a(e,{path:_+".enableMultiTouchParamsCompatible",expected:"(boolean | undefined)",value:x.enableMultiTouchParamsCompatible}),void 0===x.enableNativeList||"boolean"==typeof x.enableNativeList||a(e,{path:_+".enableNativeList",expected:"(boolean | undefined)",value:x.enableNativeList}),void 0===x.enableNewAnimator||"boolean"==typeof x.enableNewAnimator||a(e,{path:_+".enableNewAnimator",expected:"(boolean | undefined)",value:x.enableNewAnimator}),void 0===x.enableNewClipMode||"boolean"==typeof x.enableNewClipMode||a(e,{path:_+".enableNewClipMode",expected:"(boolean | undefined)",value:x.enableNewClipMode}),void 0===x.enableNewGesture||"boolean"==typeof x.enableNewGesture||a(e,{path:_+".enableNewGesture",expected:"(boolean | undefined)",value:x.enableNewGesture}),void 0===x.enableNewImage||"boolean"==typeof x.enableNewImage||a(e,{path:_+".enableNewImage",expected:"(boolean | undefined)",value:x.enableNewImage}),void 0===x.enableNewIntersectionObserver||"boolean"==typeof x.enableNewIntersectionObserver||a(e,{path:_+".enableNewIntersectionObserver",expected:"(boolean | undefined)",value:x.enableNewIntersectionObserver}),void 0===x.enableNewListContainer||"boolean"==typeof x.enableNewListContainer||a(e,{path:_+".enableNewListContainer",expected:"(boolean | undefined)",value:x.enableNewListContainer}),void 0===x.enableNewTransformOrigin||"boolean"==typeof x.enableNewTransformOrigin||a(e,{path:_+".enableNewTransformOrigin",expected:"(boolean | undefined)",value:x.enableNewTransformOrigin}),void 0===x.enablePlatformGesture||"boolean"==typeof x.enablePlatformGesture||a(e,{path:_+".enablePlatformGesture",expected:"(boolean | undefined)",value:x.enablePlatformGesture}),void 0===x.enablePropertyBasedSimpleStyle||"boolean"==typeof x.enablePropertyBasedSimpleStyle||a(e,{path:_+".enablePropertyBasedSimpleStyle",expected:"(boolean | undefined)",value:x.enablePropertyBasedSimpleStyle}),void 0===x.enableQueryComponentSync||"boolean"==typeof x.enableQueryComponentSync||a(e,{path:_+".enableQueryComponentSync",expected:"(boolean | undefined)",value:x.enableQueryComponentSync}),void 0===x.enableReactOnlyPropsId||"boolean"==typeof x.enableReactOnlyPropsId||a(e,{path:_+".enableReactOnlyPropsId",expected:"(boolean | undefined)",value:x.enableReactOnlyPropsId}),void 0===x.enableReduceInitDataCopy||"boolean"==typeof x.enableReduceInitDataCopy||a(e,{path:_+".enableReduceInitDataCopy",expected:"(boolean | undefined)",value:x.enableReduceInitDataCopy}),void 0===x.enableReloadLifecycle||"boolean"==typeof x.enableReloadLifecycle||a(e,{path:_+".enableReloadLifecycle",expected:"(boolean | undefined)",value:x.enableReloadLifecycle}),void 0===x.enableRemoveComponentExtraData||"boolean"==typeof x.enableRemoveComponentExtraData||a(e,{path:_+".enableRemoveComponentExtraData",expected:"(boolean | undefined)",value:x.enableRemoveComponentExtraData}),void 0===x.enableReuseLoadScriptExports||"boolean"==typeof x.enableReuseLoadScriptExports||a(e,{path:_+".enableReuseLoadScriptExports",expected:"(boolean | undefined)",value:x.enableReuseLoadScriptExports}),void 0===x.enableSignalAPI||"boolean"==typeof x.enableSignalAPI||a(e,{path:_+".enableSignalAPI",expected:"(boolean | undefined)",value:x.enableSignalAPI}),void 0===x.enableSimultaneousTap||"boolean"==typeof x.enableSimultaneousTap||a(e,{path:_+".enableSimultaneousTap",expected:"(boolean | undefined)",value:x.enableSimultaneousTap}),void 0===x.enableTextBoringLayout||"boolean"==typeof x.enableTextBoringLayout||a(e,{path:_+".enableTextBoringLayout",expected:"(boolean | undefined)",value:x.enableTextBoringLayout}),void 0===x.enableTextGradientOpt||"boolean"==typeof x.enableTextGradientOpt||a(e,{path:_+".enableTextGradientOpt",expected:"(boolean | undefined)",value:x.enableTextGradientOpt}),void 0===x.enableTextLanguageAlignment||"boolean"==typeof x.enableTextLanguageAlignment||a(e,{path:_+".enableTextLanguageAlignment",expected:"(boolean | undefined)",value:x.enableTextLanguageAlignment}),void 0===x.enableTextLayerRender||"boolean"==typeof x.enableTextLayerRender||a(e,{path:_+".enableTextLayerRender",expected:"(boolean | undefined)",value:x.enableTextLayerRender}),void 0===x.enableTextLayoutCache||"boolean"==typeof x.enableTextLayoutCache||a(e,{path:_+".enableTextLayoutCache",expected:"(boolean | undefined)",value:x.enableTextLayoutCache}),void 0===x.enableTextNonContiguousLayout||"boolean"==typeof x.enableTextNonContiguousLayout||a(e,{path:_+".enableTextNonContiguousLayout",expected:"(boolean | undefined)",value:x.enableTextNonContiguousLayout}),void 0===x.enableTextOverflow||"boolean"==typeof x.enableTextOverflow||a(e,{path:_+".enableTextOverflow",expected:"(boolean | undefined)",value:x.enableTextOverflow}),void 0===x.enableTextRefactor||"boolean"==typeof x.enableTextRefactor||a(e,{path:_+".enableTextRefactor",expected:"(boolean | undefined)",value:x.enableTextRefactor}),void 0===x.enableTouchRefactor||"boolean"==typeof x.enableTouchRefactor||a(e,{path:_+".enableTouchRefactor",expected:"(boolean | undefined)",value:x.enableTouchRefactor}),void 0===x.enableUIOperationOptimize||"boolean"==typeof x.enableUIOperationOptimize||a(e,{path:_+".enableUIOperationOptimize",expected:"(boolean | undefined)",value:x.enableUIOperationOptimize}),void 0===x.enableUnifiedPipeline||"boolean"==typeof x.enableUnifiedPipeline||a(e,{path:_+".enableUnifiedPipeline",expected:"(boolean | undefined)",value:x.enableUnifiedPipeline}),void 0===x.enableUseContextPool||"boolean"==typeof x.enableUseContextPool||a(e,{path:_+".enableUseContextPool",expected:"(boolean | undefined)",value:x.enableUseContextPool}),void 0===x.enableUseMapBuffer||"boolean"==typeof x.enableUseMapBuffer||a(e,{path:_+".enableUseMapBuffer",expected:"(boolean | undefined)",value:x.enableUseMapBuffer}),void 0===x.enableViewReceiveTouch||"boolean"==typeof x.enableViewReceiveTouch||a(e,{path:_+".enableViewReceiveTouch",expected:"(boolean | undefined)",value:x.enableViewReceiveTouch}),void 0===x.enableVsyncAlignedFlush||"boolean"==typeof x.enableVsyncAlignedFlush||a(e,{path:_+".enableVsyncAlignedFlush",expected:"(boolean | undefined)",value:x.enableVsyncAlignedFlush}),void 0===x.enableXTextLayoutReused||"boolean"==typeof x.enableXTextLayoutReused||a(e,{path:_+".enableXTextLayoutReused",expected:"(boolean | undefined)",value:x.enableXTextLayoutReused}),void 0===x.extendedLayoutOnlyOpt||"boolean"==typeof x.extendedLayoutOnlyOpt||a(e,{path:_+".extendedLayoutOnlyOpt",expected:"(boolean | undefined)",value:x.extendedLayoutOnlyOpt}),void 0===x.extraInfo||("object"==typeof x.extraInfo&&null!==x.extraInfo&&!1===Array.isArray(x.extraInfo)||a(e,{path:_+".extraInfo",expected:"(Record<string, unknown> | undefined)",value:x.extraInfo}))&&r(x.extraInfo,_+".extraInfo",e)||a(e,{path:_+".extraInfo",expected:"(Record<string, unknown> | undefined)",value:x.extraInfo}),void 0===x.flatten||"boolean"==typeof x.flatten||a(e,{path:_+".flatten",expected:"(boolean | undefined)",value:x.flatten}),void 0===x.fontScaleEffectiveOnlyOnSp||"boolean"==typeof x.fontScaleEffectiveOnlyOnSp||a(e,{path:_+".fontScaleEffectiveOnlyOnSp",expected:"(boolean | undefined)",value:x.fontScaleEffectiveOnlyOnSp}),void 0===x.implicit||"boolean"==typeof x.implicit||a(e,{path:_+".implicit",expected:"(boolean | undefined)",value:x.implicit}),void 0===x.includeFontPadding||"boolean"==typeof x.includeFontPadding||a(e,{path:_+".includeFontPadding",expected:"(boolean | undefined)",value:x.includeFontPadding}),void 0===x.keyboardCallbackPassRelativeHeight||"boolean"==typeof x.keyboardCallbackPassRelativeHeight||a(e,{path:_+".keyboardCallbackPassRelativeHeight",expected:"(boolean | undefined)",value:x.keyboardCallbackPassRelativeHeight}),void 0===x.longPressDuration||"number"==typeof x.longPressDuration||a(e,{path:_+".longPressDuration",expected:"(number | undefined)",value:x.longPressDuration}),void 0===x.observerFrameRate||"number"==typeof x.observerFrameRate||a(e,{path:_+".observerFrameRate",expected:"(number | undefined)",value:x.observerFrameRate}),void 0===x.pipelineSchedulerConfig||"number"==typeof x.pipelineSchedulerConfig||a(e,{path:_+".pipelineSchedulerConfig",expected:"(number | undefined)",value:x.pipelineSchedulerConfig}),void 0===x.preferredFps||"string"==typeof x.preferredFps||a(e,{path:_+".preferredFps",expected:"(string | undefined)",value:x.preferredFps}),void 0===x.quirksMode||"string"==typeof x.quirksMode||"boolean"==typeof x.quirksMode||a(e,{path:_+".quirksMode",expected:"(boolean | string | undefined)",value:x.quirksMode}),void 0===x.removeDescendantSelectorScope||"boolean"==typeof x.removeDescendantSelectorScope||a(e,{path:_+".removeDescendantSelectorScope",expected:"(boolean | undefined)",value:x.removeDescendantSelectorScope}),void 0===x.strictPropType||"boolean"==typeof x.strictPropType||a(e,{path:_+".strictPropType",expected:"(boolean | undefined)",value:x.strictPropType}),void 0===x.tapSlop||"string"==typeof x.tapSlop||a(e,{path:_+".tapSlop",expected:"(string | undefined)",value:x.tapSlop}),void 0===x.trailNewImage||"boolean"==typeof x.trailNewImage||a(e,{path:_+".trailNewImage",expected:"(boolean | undefined)",value:x.trailNewImage}),void 0===x.unifyVWVHBehavior||"boolean"==typeof x.unifyVWVHBehavior||a(e,{path:_+".unifyVWVHBehavior",expected:"(boolean | undefined)",value:x.unifyVWVHBehavior}),void 0===x.useImagePostProcessor||"boolean"==typeof x.useImagePostProcessor||a(e,{path:_+".useImagePostProcessor",expected:"(boolean | undefined)",value:x.useImagePostProcessor}),void 0===x.useNewSwiper||"boolean"==typeof x.useNewSwiper||a(e,{path:_+".useNewSwiper",expected:"(boolean | undefined)",value:x.useNewSwiper}),void 0===x.autoResumeAnimation||"boolean"==typeof x.autoResumeAnimation||a(e,{path:_+".autoResumeAnimation",expected:"(boolean | undefined)",value:x.autoResumeAnimation}),void 0===x.cli||"string"==typeof x.cli||a(e,{path:_+".cli",expected:"(string | undefined)",value:x.cli}),void 0===x.compileRender||"boolean"==typeof x.compileRender||a(e,{path:_+".compileRender",expected:"(boolean | undefined)",value:x.compileRender}),void 0===x.customData||"string"==typeof x.customData||a(e,{path:_+".customData",expected:"(string | undefined)",value:x.customData}),void 0===x.enableA11yIDMutationObserver||"boolean"==typeof x.enableA11yIDMutationObserver||a(e,{path:_+".enableA11yIDMutationObserver",expected:"(boolean | undefined)",value:x.enableA11yIDMutationObserver}),void 0===x.enableAsyncDisplay||"boolean"==typeof x.enableAsyncDisplay||a(e,{path:_+".enableAsyncDisplay",expected:"(boolean | undefined)",value:x.enableAsyncDisplay}),void 0===x.enableBackgroundShapeLayer||"boolean"==typeof x.enableBackgroundShapeLayer||a(e,{path:_+".enableBackgroundShapeLayer",expected:"(boolean | undefined)",value:x.enableBackgroundShapeLayer}),void 0===x.enableCascadePseudo||"boolean"==typeof x.enableCascadePseudo||a(e,{path:_+".enableCascadePseudo",expected:"(boolean | undefined)",value:x.enableCascadePseudo}),void 0===x.enableCheckDataWhenUpdatePage||"boolean"==typeof x.enableCheckDataWhenUpdatePage||a(e,{path:_+".enableCheckDataWhenUpdatePage",expected:"(boolean | undefined)",value:x.enableCheckDataWhenUpdatePage}),void 0===x.enableComponentLayoutOnly||"boolean"==typeof x.enableComponentLayoutOnly||a(e,{path:_+".enableComponentLayoutOnly",expected:"(boolean | undefined)",value:x.enableComponentLayoutOnly}),void 0===x.enableGlobalComponentMap||"boolean"==typeof x.enableGlobalComponentMap||a(e,{path:_+".enableGlobalComponentMap",expected:"(boolean | undefined)",value:x.enableGlobalComponentMap}),void 0===x.enableNativeScheduleCreateViewAsync||"boolean"==typeof x.enableNativeScheduleCreateViewAsync||a(e,{path:_+".enableNativeScheduleCreateViewAsync",expected:"(boolean | undefined)",value:x.enableNativeScheduleCreateViewAsync}),void 0===x.enableNewAccessibility||"boolean"==typeof x.enableNewAccessibility||a(e,{path:_+".enableNewAccessibility",expected:"(boolean | undefined)",value:x.enableNewAccessibility}),void 0===x.enableNewLayoutOnly||"boolean"==typeof x.enableNewLayoutOnly||a(e,{path:_+".enableNewLayoutOnly",expected:"(boolean | undefined)",value:x.enableNewLayoutOnly}),void 0===x.enableOptPushStyleToBundle||"boolean"==typeof x.enableOptPushStyleToBundle||a(e,{path:_+".enableOptPushStyleToBundle",expected:"(boolean | undefined)",value:x.enableOptPushStyleToBundle}),void 0===x.enableOverlapForAccessibilityElement||"boolean"==typeof x.enableOverlapForAccessibilityElement||a(e,{path:_+".enableOverlapForAccessibilityElement",expected:"(boolean | undefined)",value:x.enableOverlapForAccessibilityElement}),void 0===x.fixCSSImportRuleOrder||"boolean"==typeof x.fixCSSImportRuleOrder||a(e,{path:_+".fixCSSImportRuleOrder",expected:"(boolean | undefined)",value:x.fixCSSImportRuleOrder}),void 0===x.forceCalcNewStyle||"boolean"==typeof x.forceCalcNewStyle||a(e,{path:_+".forceCalcNewStyle",expected:"(boolean | undefined)",value:x.forceCalcNewStyle}),void 0===x.reactVersion||"string"==typeof x.reactVersion||a(e,{path:_+".reactVersion",expected:"(string | undefined)",value:x.reactVersion}),void 0===x.redBoxImageSizeWarningThreshold||"number"==typeof x.redBoxImageSizeWarningThreshold||a(e,{path:_+".redBoxImageSizeWarningThreshold",expected:"(number | undefined)",value:x.redBoxImageSizeWarningThreshold}),void 0===x.removeComponentElement||"boolean"==typeof x.removeComponentElement||a(e,{path:_+".removeComponentElement",expected:"(boolean | undefined)",value:x.removeComponentElement}),void 0===x.syncImageAttach||"boolean"==typeof x.syncImageAttach||a(e,{path:_+".syncImageAttach",expected:"(boolean | undefined)",value:x.syncImageAttach}),void 0===x.useNewImage||"boolean"==typeof x.useNewImage||a(e,{path:_+".useNewImage",expected:"(boolean | undefined)",value:x.useNewImage}),void 0===x.version||"string"==typeof x.version||a(e,{path:_+".version",expected:"(string | undefined)",value:x.version}),void 0===x.debugInfoOutside||"boolean"==typeof x.debugInfoOutside||a(e,{path:_+".debugInfoOutside",expected:"(boolean | undefined)",value:x.debugInfoOutside}),void 0===x.defaultDisplayLinear||"boolean"==typeof x.defaultDisplayLinear||a(e,{path:_+".defaultDisplayLinear",expected:"(boolean | undefined)",value:x.defaultDisplayLinear}),void 0===x.defaultOverflowVisible||"boolean"==typeof x.defaultOverflowVisible||a(e,{path:_+".defaultOverflowVisible",expected:"(boolean | undefined)",value:x.defaultOverflowVisible}),void 0===x.disableMultipleCascadeCSS||"boolean"==typeof x.disableMultipleCascadeCSS||a(e,{path:_+".disableMultipleCascadeCSS",expected:"(boolean | undefined)",value:x.disableMultipleCascadeCSS}),void 0===x.enableComponentConfig||"boolean"==typeof x.enableComponentConfig||a(e,{path:_+".enableComponentConfig",expected:"(boolean | undefined)",value:x.enableComponentConfig}),void 0===x.enableCSSAsyncDecode||"boolean"==typeof x.enableCSSAsyncDecode||a(e,{path:_+".enableCSSAsyncDecode",expected:"(boolean | undefined)",value:x.enableCSSAsyncDecode}),void 0===x.enableCSSClassMerge||"boolean"==typeof x.enableCSSClassMerge||a(e,{path:_+".enableCSSClassMerge",expected:"(boolean | undefined)",value:x.enableCSSClassMerge}),void 0===x.enableCSSEngine||"boolean"==typeof x.enableCSSEngine||a(e,{path:_+".enableCSSEngine",expected:"(boolean | undefined)",value:x.enableCSSEngine}),void 0===x.enableCSSExternalClass||"boolean"==typeof x.enableCSSExternalClass||a(e,{path:_+".enableCSSExternalClass",expected:"(boolean | undefined)",value:x.enableCSSExternalClass}),void 0===x.enableCSSInvalidation||"boolean"==typeof x.enableCSSInvalidation||a(e,{path:_+".enableCSSInvalidation",expected:"(boolean | undefined)",value:x.enableCSSInvalidation}),void 0===x.enableCSSLazyDecode||"boolean"==typeof x.enableCSSLazyDecode||a(e,{path:_+".enableCSSLazyDecode",expected:"(boolean | undefined)",value:x.enableCSSLazyDecode}),void 0===x.enableCSSSelector||"boolean"==typeof x.enableCSSSelector||a(e,{path:_+".enableCSSSelector",expected:"(boolean | undefined)",value:x.enableCSSSelector}),void 0===x.enableCSSStrictMode||"boolean"==typeof x.enableCSSStrictMode||a(e,{path:_+".enableCSSStrictMode",expected:"(boolean | undefined)",value:x.enableCSSStrictMode}),void 0===x.enableCSSVariable||"boolean"==typeof x.enableCSSVariable||a(e,{path:_+".enableCSSVariable",expected:"(boolean | undefined)",value:x.enableCSSVariable}),void 0===x.enableEventRefactor||"boolean"==typeof x.enableEventRefactor||a(e,{path:_+".enableEventRefactor",expected:"(boolean | undefined)",value:x.enableEventRefactor}),void 0===x.enableFiberArch||"boolean"==typeof x.enableFiberArch||a(e,{path:_+".enableFiberArch",expected:"(boolean | undefined)",value:x.enableFiberArch}),void 0===x.enableFlexibleTemplate||"boolean"==typeof x.enableFlexibleTemplate||a(e,{path:_+".enableFlexibleTemplate",expected:"(boolean | undefined)",value:x.enableFlexibleTemplate}),void 0===x.enableKeepPageData||"boolean"==typeof x.enableKeepPageData||a(e,{path:_+".enableKeepPageData",expected:"(boolean | undefined)",value:x.enableKeepPageData}),void 0===x.enableRemoveCSSScope||"boolean"==typeof x.enableRemoveCSSScope||a(e,{path:_+".enableRemoveCSSScope",expected:"(boolean | undefined)",value:x.enableRemoveCSSScope}),void 0===x.enableSimpleStyling||"boolean"==typeof x.enableSimpleStyling||a(e,{path:_+".enableSimpleStyling",expected:"(boolean | undefined)",value:x.enableSimpleStyling}),void 0===x.experimental_encodeQuickjsBytecode||"boolean"==typeof x.experimental_encodeQuickjsBytecode||a(e,{path:_+".experimental_encodeQuickjsBytecode",expected:"(boolean | undefined)",value:x.experimental_encodeQuickjsBytecode}),void 0===x.implicitAnimation||"boolean"==typeof x.implicitAnimation||a(e,{path:_+".implicitAnimation",expected:"(boolean | undefined)",value:x.implicitAnimation}),void 0===x.removeCSSParserLog||"boolean"==typeof x.removeCSSParserLog||a(e,{path:_+".removeCSSParserLog",expected:"(boolean | undefined)",value:x.removeCSSParserLog}),void 0===x.targetSdkVersion||"string"==typeof x.targetSdkVersion||a(e,{path:_+".targetSdkVersion",expected:"(string | undefined)",value:x.targetSdkVersion}),void 0===x.templateDebugUrl||"string"==typeof x.templateDebugUrl||a(e,{path:_+".templateDebugUrl",expected:"(string | undefined)",value:x.templateDebugUrl}),0===Object.keys(x).length||!1===e||Object.keys(x).map(r=>{if(["absoluteInContentBound","asyncRedirect","autoExpose","CSSAlignWithLegacyW3C","customCSSInheritanceList","dataStrictMode","disableLongpressAfterScroll","disableQuickTracingGC","enableA11y","enableAccessibilityElement","enableAsyncInitVideoEngine","enableAsyncRequestImage","enableAsyncResolveSubtree","enableCheckExposureOptimize","enableCheckLocalImage","enableCircularDataCheck","enableComponentAsyncDecode","enableComponentNullProp","enableCreateViewAsync","enableCSSInheritance","enableCSSInlineVariables","enableCSSLazyImport","enableDisexposureWhenLynxHidden","enableEndGestureAtLastFingerUp","enableEventHandleRefactor","enableEventThrough","enableExposureUIMargin","enableExposureWhenLayout","enableExposureWhenReload","enableFixedNew","enableHarmonyNewOverlay","enableHarmonyVisibleAreaChangeForExposure","enableICU","enableImageDownsampling","enableJsBindingApiThrowException","enableJSDataProcessor","enableListMoveOperation","enableListNewArchitecture","enableListPlug","enableLynxScrollFluency","enableMicrotaskPromisePolyfill","enableMultiTouch","enableMultiTouchParamsCompatible","enableNativeList","enableNewAnimator","enableNewClipMode","enableNewGesture","enableNewImage","enableNewIntersectionObserver","enableNewListContainer","enableNewTransformOrigin","enablePlatformGesture","enablePropertyBasedSimpleStyle","enableQueryComponentSync","enableReactOnlyPropsId","enableReduceInitDataCopy","enableReloadLifecycle","enableRemoveComponentExtraData","enableReuseLoadScriptExports","enableSignalAPI","enableSimultaneousTap","enableTextBoringLayout","enableTextGradientOpt","enableTextLanguageAlignment","enableTextLayerRender","enableTextLayoutCache","enableTextNonContiguousLayout","enableTextOverflow","enableTextRefactor","enableTouchRefactor","enableUIOperationOptimize","enableUnifiedPipeline","enableUseContextPool","enableUseMapBuffer","enableViewReceiveTouch","enableVsyncAlignedFlush","enableXTextLayoutReused","extendedLayoutOnlyOpt","extraInfo","flatten","fontScaleEffectiveOnlyOnSp","implicit","includeFontPadding","keyboardCallbackPassRelativeHeight","longPressDuration","observerFrameRate","pipelineSchedulerConfig","preferredFps","quirksMode","removeDescendantSelectorScope","strictPropType","tapSlop","trailNewImage","unifyVWVHBehavior","useImagePostProcessor","useNewSwiper","autoResumeAnimation","cli","compileRender","customData","enableA11yIDMutationObserver","enableAsyncDisplay","enableBackgroundShapeLayer","enableCascadePseudo","enableCheckDataWhenUpdatePage","enableComponentLayoutOnly","enableGlobalComponentMap","enableNativeScheduleCreateViewAsync","enableNewAccessibility","enableNewLayoutOnly","enableOptPushStyleToBundle","enableOverlapForAccessibilityElement","fixCSSImportRuleOrder","forceCalcNewStyle","reactVersion","redBoxImageSizeWarningThreshold","removeComponentElement","syncImageAttach","useNewImage","version","debugInfoOutside","defaultDisplayLinear","defaultOverflowVisible","disableMultipleCascadeCSS","enableComponentConfig","enableCSSAsyncDecode","enableCSSClassMerge","enableCSSEngine","enableCSSExternalClass","enableCSSInvalidation","enableCSSLazyDecode","enableCSSSelector","enableCSSStrictMode","enableCSSVariable","enableEventRefactor","enableFiberArch","enableFlexibleTemplate","enableKeepPageData","enableRemoveCSSScope","enableSimpleStyling","experimental_encodeQuickjsBytecode","implicitAnimation","removeCSSParserLog","targetSdkVersion","templateDebugUrl"].some(x=>r===x))return!0;let t=x[r];return void 0===t||a(e,{path:_+as._accessExpressionAsString(r),expected:"undefined",value:t,description:`The property \`${r}\` is not defined in the object type.
32
32
 
33
- Please remove the property next time.`})}).every(x=>x)].every(x=>x))(x,_+"",!0)||a(!0,{path:_+"",expected:"Config",value:x}))(x,"$input",!0);let e=0===_.length;return e?{success:e,data:x}:{success:e,errors:_,data:x}}return{success:!0,data:x}}));function af(x){let _=al(x);if(_.success)return _.data;throw Error(["[pluginLynxConfig] Invalid configuration.",""].concat(_.errors.flatMap(({expected:x,path:_,value:a})=>{var e;return"undefined"===x?[` Unsupported configuration: \`${av().red(_)}\``,""]:[`Invalid config on \`${av().red(_)}\`.`,` - Expect to be ${av().green(x)}`,` - Got: ${av().red((e=a,Object.prototype.toString.call(e).replace(/^\[object\s+([a-z]+)\]$/i,"$1").toLowerCase()))}`,""]})).join("\n"))}let ab={"lynx:react":"@lynx-js/react-rsbuild-plugin"};class ad{static _instance;listeners=[];stdinListener;nextIndex=0;static get instance(){return ad._instance||(ad._instance=new ad,ad._instance.start()),ad._instance}start(){this.stdinListener||(this.stdinListener=x=>{let _=x.toString("utf-8");this.listeners.some(x=>x.run(_))},process.stdin.on("data",this.stdinListener),process.stdin.resume())}stop(){this.stdinListener&&(process.stdin.off("data",this.stdinListener),this.stdinListener=void 0)}addListener(x,_,a=0){let e=x=>()=>{let _=this.listeners.findIndex(_=>_.run===x);_>-1&&this.listeners.splice(_,1)};if(_){let x=this.listeners.find(x=>x.tag===_);if(x)return e(x.run)}return this.listeners.push({run:x,tag:_,priority:a,index:this.nextIndex++}),this.listeners.sort((x,_)=>x.priority-_.priority||x.index-_.index),e(x)}}function aE(x){let[_,a]=x.split(".").map(x=>Number(x));return Number.isNaN(_)||Number.isNaN(a)?1/0:10===_?0:172===_&&a>=16&&a<=31?1:192===_&&168===a?2:3}function am(){let x=Object.entries((0,_9.networkInterfaces)()),_=[];for(let[,a]of x)if(a)for(let x of a){let{address:a,family:e,internal:r}=x;"IPv4"!==e||r||_.push(a)}return _}function au(x=am()){return x.slice().sort((x,_)=>aE(x)-aE(_))[0]}function ah(x){let _=au();return`http://${_}:${x}`}let ap=x=>F.bgWhiteBright(F.italic(F.black(` ${x} `))),aj=x=>F.bgHex("#9873b9")(F.italic(F.black(` ${x} `))),aS=x=>F.bgBlueBright(F.italic(F.black(` ${x} `))),ag=x=>F.bold(F.blueBright(x));function ay(x,_,a,e){return{name:x,urls:e.map(x=>({pagePath:x.name,value:`http://${a}:${_}${x.value}`,highlight:ap}))}}let aN=()=>"production"===process.env.NODE_ENV,aI=()=>"applet0930"===process.env.DEBUG,aB=()=>"rspeedy"===process.env.DEBUG,aF=()=>void 0!==process.env.DISABLE_EXTERNAL,aP=()=>void 0!==process.env.DISABLE_SIGNING_ENCRYPTION,aw=()=>void 0!==process.env.DISABLE_APP_TEMPLATE_JS;class aL{}let aD=xa(import.meta.url);function ak(x,_=3e3){return H(x,{timeout:_}).catch(()=>({stdout:"",stderr:""}))}async function aT(x,_){return ak(`adb -s ${x} ${_}`)}async function a$(x){let _=(await ak(`adb -s ${x} shell dumpsys activity top | grep ACTIVITY | tail -n 1`)).stdout.match(/ACTIVITY\s+([^\s\/]+)/);return _?.[1]}async function aC(x){let _=await a$(x);return(_===_1.DOUBAO||_===_1.PLAYGROUND)&&(await ak(`adb -s ${x} shell am force-stop ${_}`),await ak(`adb -s ${x} shell monkey -p ${_} -c android.intent.category.LAUNCHER 1`),!0)}async function aG(){return(await ak("adb devices")).stdout.split("\n").slice(1).map(x=>x.split(" ")[0].trim()).filter(Boolean)}async function aq(){let x=await aG();if(x.length>1){let{device:_}=await V.prompt([{type:"search-list",name:"device",message:"There are more than one devices here, please choose which device to use for debugging (you can search by device id):",choices:x,default:x[0]}]);return _}return x[0]}V.registerPrompt("search-list",aD("inquirer-search-list"));class aX extends aL{deviceId;constructor(x){super(),this.deviceId=x}async load(x){let{appletUrl:_,packageName:a,isSigned:e}=x,r=`shell am broadcast -a com.bytedance.applet.SET_APPLET_DEBUG_HOST --es appletName ${a} --es appletHost ${_} --es appletType 1 --es isSigned ${e}`;aI()&&console.log(F.dim(`adb -s ${this.deviceId} ${r}`)),await aT(this.deviceId,r)}async openPage(x){let{packageName:_,pageId:a,pageData:e,pageSettings:r,mode:t}=x,A=`shell am broadcast -a com.bytedance.applet.START_APPLET --es appletName ${_} --es appletPageName ${a} --es appletPageData '${e}' --es appletPageSettings '${r}' --es mode '${t}'`;aI()&&console.log(F.dim(`adb -s ${this.deviceId} ${A}`)),await aT(this.deviceId,A)}async openPageUrl(x){let{packageName:_,url:a}=x,e=`shell am broadcast -a com.bytedance.applet.START_APPLET --es appletName ${_} --es appletPageUrl '${a}'`;aI()&&console.log(F.dim(`adb -s ${this.deviceId} ${e}`)),await aT(this.deviceId,e)}async pushWidget(x){let{packageName:_,widgetId:a,widgetData:e,botId:r}=x,t=`shell am broadcast -a com.bytedance.applet.START_APPLET_WIDGET --es appletName ${_} --es widgetName ${a} --es widgetData '${e}' --es botId ${r}`;aI()&&console.log(F.dim(`adb -s ${this.deviceId} ${t}`)),await aT(this.deviceId,t)}}async function aK(x){let _=c(x,"debug-scene");try{return(await U(_,{withFileTypes:!0})).filter(x=>x.isFile()&&x.name.endsWith(".json")).map(x=>({name:x.name.replace(".json",""),path:c(_,x.name)}))}catch{return[]}}async function aZ(x){try{let _=await M(x,"utf-8");return JSON.parse(_)}catch{return null}}async function aR(x){let{matchedScene:_,packageName:a,driver:e}=x,r=await aZ(_.path);if(r){if("page"===r.type){if(r.url)return void e.openPageUrl({packageName:a,url:r.url});let x=JSON.stringify(r.input||{}),_="string"==typeof r.settings?r.settings:Object.entries(r.settings||{}).map(([x,_])=>`${x}=${_}`).join("&"),t=r.mode||"full",A={packageName:a,pageId:r.id,pageData:x,pageSettings:_,mode:t};e.openPage(A)}else if("widget"===r.type){let x=JSON.stringify(r.input||{}),_={packageName:a,widgetId:r.id,widgetData:x,botId:r.botId};e.pushWidget(_)}}}let aO=xa(import.meta.url);async function aJ(x,_,a,e,r,t){await r.load({appletUrl:_,packageName:x,isSigned:t});let A=await aK(process.cwd()),n=Object.values(a),s=Object.values(e);n.length>0&&(console.log(`
33
+ Please remove the property next time.`})}).every(x=>x)].every(x=>x))(x,_+"",!0)||a(!0,{path:_+"",expected:"Config",value:x}))(x,"$input",!0);let e=0===_.length;return e?{success:e,data:x}:{success:e,errors:_,data:x}}return{success:!0,data:x}}));function af(x){let _=al(x);if(_.success)return _.data;throw Error(["[pluginLynxConfig] Invalid configuration.",""].concat(_.errors.flatMap(({expected:x,path:_,value:a})=>{var e;return"undefined"===x?[` Unsupported configuration: \`${av().red(_)}\``,""]:[`Invalid config on \`${av().red(_)}\`.`,` - Expect to be ${av().green(x)}`,` - Got: ${av().red((e=a,Object.prototype.toString.call(e).replace(/^\[object\s+([a-z]+)\]$/i,"$1").toLowerCase()))}`,""]})).join("\n"))}let ab={"lynx:react":"@lynx-js/react-rsbuild-plugin"};class ad{static _instance;listeners=[];stdinListener;nextIndex=0;static get instance(){return ad._instance||(ad._instance=new ad,ad._instance.start()),ad._instance}start(){this.stdinListener||(this.stdinListener=x=>{let _=x.toString("utf-8");this.listeners.some(x=>x.run(_))},process.stdin.on("data",this.stdinListener),process.stdin.resume())}stop(){this.stdinListener&&(process.stdin.off("data",this.stdinListener),this.stdinListener=void 0)}addListener(x,_,a=0){let e=x=>()=>{let _=this.listeners.findIndex(_=>_.run===x);_>-1&&this.listeners.splice(_,1)};if(_){let x=this.listeners.find(x=>x.tag===_);if(x)return e(x.run)}return this.listeners.push({run:x,tag:_,priority:a,index:this.nextIndex++}),this.listeners.sort((x,_)=>x.priority-_.priority||x.index-_.index),e(x)}}function aE(x){let[_,a]=x.split(".").map(x=>Number(x));return Number.isNaN(_)||Number.isNaN(a)?1/0:10===_?0:172===_&&a>=16&&a<=31?1:192===_&&168===a?2:3}function am(){let x=Object.entries((0,_9.networkInterfaces)()),_=[];for(let[,a]of x)if(a)for(let x of a){let{address:a,family:e,internal:r}=x;"IPv4"!==e||r||_.push(a)}return _}function au(x=am()){return x.slice().sort((x,_)=>aE(x)-aE(_))[0]}function ah(x){let _=au();return`http://${_}:${x}`}let ap=x=>F.bgWhiteBright(F.italic(F.black(` ${x} `))),aj=x=>F.bgHex("#9873b9")(F.italic(F.black(` ${x} `))),aS=x=>F.bgBlueBright(F.italic(F.black(` ${x} `))),ag=x=>F.bold(F.blueBright(x));function ay(x,_,a,e){return{name:x,urls:e.map(x=>({pagePath:x.name,value:`http://${a}:${_}${x.value}`,highlight:ap}))}}let aN=()=>"production"===process.env.NODE_ENV,aI=()=>"applet0930"===process.env.DEBUG,aB=()=>"rspeedy"===process.env.DEBUG,aF=()=>void 0!==process.env.DISABLE_EXTERNAL,aP=()=>void 0!==process.env.DISABLE_SIGNING_ENCRYPTION,aw=()=>void 0!==process.env.DISABLE_APP_TEMPLATE_JS,aL=()=>void 0!==process.env.DISABLE_GENERATE_LOGIN_CARD;class aD{}let ak=xa(import.meta.url);function aT(x,_=3e3){return H(x,{timeout:_}).catch(()=>({stdout:"",stderr:""}))}async function a$(x,_){return aT(`adb -s ${x} ${_}`)}async function aC(x){let _=(await aT(`adb -s ${x} shell dumpsys activity top | grep ACTIVITY | tail -n 1`)).stdout.match(/ACTIVITY\s+([^\s\/]+)/);return _?.[1]}async function aG(x){let _=await aC(x);return(_===_1.DOUBAO||_===_1.PLAYGROUND)&&(await aT(`adb -s ${x} shell am force-stop ${_}`),await aT(`adb -s ${x} shell monkey -p ${_} -c android.intent.category.LAUNCHER 1`),!0)}async function aq(){return(await aT("adb devices")).stdout.split("\n").slice(1).map(x=>x.split(" ")[0].trim()).filter(Boolean)}async function aX(){let x=await aq();if(x.length>1){let{device:_}=await V.prompt([{type:"search-list",name:"device",message:"There are more than one devices here, please choose which device to use for debugging (you can search by device id):",choices:x,default:x[0]}]);return _}return x[0]}V.registerPrompt("search-list",ak("inquirer-search-list"));class aK extends aD{deviceId;constructor(x){super(),this.deviceId=x}async load(x){let{appletUrl:_,packageName:a,isSigned:e}=x,r=`shell am broadcast -a com.bytedance.applet.SET_APPLET_DEBUG_HOST --es appletName ${a} --es appletHost ${_} --es appletType 1 --es isSigned ${e}`;aI()&&console.log(F.dim(`adb -s ${this.deviceId} ${r}`)),await a$(this.deviceId,r)}async openPage(x){let{packageName:_,pageId:a,pageData:e,pageSettings:r,mode:t}=x,A=`shell am broadcast -a com.bytedance.applet.START_APPLET --es appletName ${_} --es appletPageName ${a} --es appletPageData '${e}' --es appletPageSettings '${r}' --es mode '${t}'`;aI()&&console.log(F.dim(`adb -s ${this.deviceId} ${A}`)),await a$(this.deviceId,A)}async openPageUrl(x){let{packageName:_,url:a}=x,e=`shell am broadcast -a com.bytedance.applet.START_APPLET --es appletName ${_} --es appletPageUrl '${a}'`;aI()&&console.log(F.dim(`adb -s ${this.deviceId} ${e}`)),await a$(this.deviceId,e)}async pushWidget(x){let{packageName:_,widgetId:a,widgetData:e,botId:r}=x,t=`shell am broadcast -a com.bytedance.applet.START_APPLET_WIDGET --es appletName ${_} --es widgetName ${a} --es widgetData '${e}' --es botId ${r}`;aI()&&console.log(F.dim(`adb -s ${this.deviceId} ${t}`)),await a$(this.deviceId,t)}}async function aZ(x){let _=c(x,"debug-scene");try{return(await U(_,{withFileTypes:!0})).filter(x=>x.isFile()&&x.name.endsWith(".json")).map(x=>({name:x.name.replace(".json",""),path:c(_,x.name)}))}catch{return[]}}async function aR(x){try{let _=await M(x,"utf-8");return JSON.parse(_)}catch{return null}}async function aO(x){let{matchedScene:_,packageName:a,driver:e}=x,r=await aR(_.path);if(r){if("page"===r.type){if(r.url)return void e.openPageUrl({packageName:a,url:r.url});let x=JSON.stringify(r.input||{}),_="string"==typeof r.settings?r.settings:Object.entries(r.settings||{}).map(([x,_])=>`${x}=${_}`).join("&"),t=r.mode||"full",A={packageName:a,pageId:r.id,pageData:x,pageSettings:_,mode:t};e.openPage(A)}else if("widget"===r.type){let x=JSON.stringify(r.input||{}),_={packageName:a,widgetId:r.id,widgetData:x,botId:r.botId};e.pushWidget(_)}}}let aJ=xa(import.meta.url);async function aH(x,_,a,e,r,t){await r.load({appletUrl:_,packageName:x,isSigned:t});let A=await aZ(process.cwd()),n=Object.values(a),s=Object.values(e);n.length>0&&(console.log(`
34
34
 
35
35
  ${aS("The list of available pages is as follows")}
36
36
  `),n.forEach(x=>{let _=ag(x.id);console.log(` - ${_}`)})),s.length>0&&(console.log(`
@@ -42,7 +42,7 @@ Please remove the property next time.`})}).every(x=>x)].every(x=>x))(x,_+"",!0)|
42
42
  `),console.log(` ${ag("d")} ${F.gray("- Select a scene/page/widget to run")}`),console.log(` ${ag("<scene-name>")} ${F.gray("- Run specified scene")}`),console.log(` ${ag("<page-id>")} ${F.gray("- Run specified page")}`),console.log(` ${ag("<widget-id>")} ${F.gray("- Run specified widget")}
43
43
 
44
44
  `),ad.instance.addListener(_=>{let a=_.trim();if("d"===a)(async()=>{let _=[...A.map(x=>({type:"scene",id:x.name})),...s.map(x=>({type:"widget",id:x.id})),...n.map(x=>({type:"page",id:x.id}))];if(0===_.length)return console.log(`
45
- ${aS("No pages, widgets, or debug scenes available")}`);ad.instance.stop();try{let{selectedEntry:a}=await V.prompt([{type:"search-list",name:"selectedEntry",message:"Select a page/widget/scene to run (you can search by name or type):",choices:_.map(x=>{let _=x.type.charAt(0).toUpperCase()+x.type.slice(1);return{name:`${F.gray(_)}: ${x.id}`,value:`${x.type}:${x.id}`}})}]),[e,t]=a.split(":"),n=_.find(x=>x.type===e&&x.id===t);if(n)if("scene"===n.type){let _=A.find(x=>x.name===n.id);_&&await aR({matchedScene:_,packageName:x,driver:r})}else"widget"===n.type?r.pushWidget({packageName:x,widgetId:n.id}):r.openPage({packageName:x,pageId:n.id})}finally{ad.instance.start()}})();else{let _=A.find(x=>x.name===a);_?aR({matchedScene:_,packageName:x,driver:r}):s.some(x=>x.id===a)?r.pushWidget({packageName:x,widgetId:a}):r.openPage({packageName:x,pageId:a})}return!0},"openPage")}V.registerPrompt("search-list",aO("inquirer-search-list"));class aH{options;#x=null;#_=null;#a=null;constructor(x){this.options=x}async start(x,_,a){if(null!==this.#x){this.#x=x,this.#_?.getAllAppClients().forEach(x=>this.#e(x,a));return}this.#x=x,this.#a=_;let{getDebugDriver:e,toolkitExecutor:r}=await import("./0~891.js").then(u.bind(u,"../../../node_modules/.pnpm/@byted-hdt+cli@0.0.71_@types+express@5.0.6_encoding@0.1.13/node_modules/@byted-hdt/cli/dist/es/index.js"));await r({runType:"rspeedy",openWebview:this.options.devtool});let t=e();this.#_=t,t.getAllAppClients().forEach(x=>this.#e(x,a)),t.on("app-client-connected",this.#e)}stop(){this.#x=null,this.#_?.off("app-client-connected",this.#e)}sendMessage(x){this.#_?.getAllAppClients().forEach(_=>{try{_.sendCustomizedMessage(x.method,x.params,-1,"CDP")}catch(x){console.error("Failed to send message to HDT client",x)}})}#e=(x,_)=>{null!==this.#x&&null!==this.#_&&null!==this.#a&&this.sendMessage({method:"Applet_AppReload",params:{appletName:this.#a,appletHost:this.#x,appletType:1,isSigned:_}})}}class aV extends aL{server;constructor(){super(),this.server=new aH({devtool:!0,open:!0})}async load(x){let{appletUrl:_,packageName:a,isSigned:e}=x;this.server.start(_,a,e)}async openPage(x){let{packageName:_,pageId:a,pageData:e,pageSettings:r,mode:t}=x;this.server.sendMessage({method:"Applet_OpenPage",params:{appletName:_,appletPageName:a,appletPageData:e,appletPageSettings:r,mode:t}})}async openPageUrl(x){let{packageName:_,url:a}=x;this.server.sendMessage({method:"Applet_OpenPageUrl",params:{appletName:_,url:a}})}async pushWidget(x){let{packageName:_,widgetId:a,widgetData:e,botId:r}=x;this.server.sendMessage({method:"Applet_OpenWidget",params:{appletName:_,widgetName:a,widgetData:e,botId:r}})}}let aM=x=>{x.unshift((x,_,a)=>{if(!aI())return void a();let e=process.hrtime.bigint(),r=x.method,t=x.url;_.on("finish",()=>{var x;let a,A,n,s,c,i,o,v=Number(process.hrtime.bigint()-e)/1e6,l=(a=(x=new Date).getFullYear(),A=String(x.getMonth()+1).padStart(2,"0"),n=String(x.getDate()).padStart(2,"0"),s=String(x.getHours()).padStart(2,"0"),c=String(x.getMinutes()).padStart(2,"0"),i=String(x.getSeconds()).padStart(2,"0"),o=String(x.getMilliseconds()).padStart(3,"0"),`${a}-${A}-${n} ${s}:${c}:${i}.${o}`),f=t?new URL(t,"http://localhost").pathname:"",b=_.statusCode;y.log(`${F.hex("#444444")(`[${l}]`)} ${F.hex("#777777")(`${F.bold(r)} ${f}`)} ${F.hex("#999999")(`${b} ${v.toFixed(1)}ms`)}`)}),a()})};async function aU(x,_,a,e){let r=x.metadata.getData(),t=r.app.package,A=function({hosts:x,port:_,widgets:a,pages:e}){let r,t,A,n=au(x)??x[0]??"localhost",s=Object.keys(e).map(x=>({name:x,value:`/applet/pages/${x}`})),c=Object.keys(a).map(x=>({name:x,value:`/widgets/${a[x].id}/index.html`})),i={};return s.length>0&&(i.Pages=[ay("Local",_,"localhost",s),ay("Network",_,n,s)]),c.length>0&&(i.Widgets=[ay("Local",_,"localhost",c),ay("Network",_,n,c)]),t=(r={name:"Doubao Apps SDK",urlGroups:i,origin:void 0,ip:n,port:_}).name?`${r.name} Dev Server`:"",A=r.origin?`is listening on ${F.gray(r.origin)}.`:"is running.",`
45
+ ${aS("No pages, widgets, or debug scenes available")}`);ad.instance.stop();try{let{selectedEntry:a}=await V.prompt([{type:"search-list",name:"selectedEntry",message:"Select a page/widget/scene to run (you can search by name or type):",choices:_.map(x=>{let _=x.type.charAt(0).toUpperCase()+x.type.slice(1);return{name:`${F.gray(_)}: ${x.id}`,value:`${x.type}:${x.id}`}})}]),[e,t]=a.split(":"),n=_.find(x=>x.type===e&&x.id===t);if(n)if("scene"===n.type){let _=A.find(x=>x.name===n.id);_&&await aO({matchedScene:_,packageName:x,driver:r})}else"widget"===n.type?r.pushWidget({packageName:x,widgetId:n.id}):r.openPage({packageName:x,pageId:n.id})}finally{ad.instance.start()}})();else{let _=A.find(x=>x.name===a);_?aO({matchedScene:_,packageName:x,driver:r}):s.some(x=>x.id===a)?r.pushWidget({packageName:x,widgetId:a}):r.openPage({packageName:x,pageId:a})}return!0},"openPage")}V.registerPrompt("search-list",aJ("inquirer-search-list"));class aV{options;#x=null;#_=null;#a=null;constructor(x){this.options=x}async start(x,_,a){if(null!==this.#x){this.#x=x,this.#_?.getAllAppClients().forEach(x=>this.#e(x,a));return}this.#x=x,this.#a=_;let{getDebugDriver:e,toolkitExecutor:r}=await import("./0~891.js").then(u.bind(u,"../../../node_modules/.pnpm/@byted-hdt+cli@0.0.71_@types+express@5.0.6_encoding@0.1.13/node_modules/@byted-hdt/cli/dist/es/index.js"));await r({runType:"rspeedy",openWebview:this.options.devtool});let t=e();this.#_=t,t.getAllAppClients().forEach(x=>this.#e(x,a)),t.on("app-client-connected",this.#e)}stop(){this.#x=null,this.#_?.off("app-client-connected",this.#e)}sendMessage(x){this.#_?.getAllAppClients().forEach(_=>{try{_.sendCustomizedMessage(x.method,x.params,-1,"CDP")}catch(x){console.error("Failed to send message to HDT client",x)}})}#e=(x,_)=>{null!==this.#x&&null!==this.#_&&null!==this.#a&&this.sendMessage({method:"Applet_AppReload",params:{appletName:this.#a,appletHost:this.#x,appletType:1,isSigned:_}})}}class aM extends aD{server;constructor(){super(),this.server=new aV({devtool:!0,open:!0})}async load(x){let{appletUrl:_,packageName:a,isSigned:e}=x;this.server.start(_,a,e)}async openPage(x){let{packageName:_,pageId:a,pageData:e,pageSettings:r,mode:t}=x;this.server.sendMessage({method:"Applet_OpenPage",params:{appletName:_,appletPageName:a,appletPageData:e,appletPageSettings:r,mode:t}})}async openPageUrl(x){let{packageName:_,url:a}=x;this.server.sendMessage({method:"Applet_OpenPageUrl",params:{appletName:_,url:a}})}async pushWidget(x){let{packageName:_,widgetId:a,widgetData:e,botId:r}=x;this.server.sendMessage({method:"Applet_OpenWidget",params:{appletName:_,widgetName:a,widgetData:e,botId:r}})}}let aU=x=>{x.unshift((x,_,a)=>{if(!aI())return void a();let e=process.hrtime.bigint(),r=x.method,t=x.url;_.on("finish",()=>{var x;let a,A,n,s,c,i,o,v=Number(process.hrtime.bigint()-e)/1e6,l=(a=(x=new Date).getFullYear(),A=String(x.getMonth()+1).padStart(2,"0"),n=String(x.getDate()).padStart(2,"0"),s=String(x.getHours()).padStart(2,"0"),c=String(x.getMinutes()).padStart(2,"0"),i=String(x.getSeconds()).padStart(2,"0"),o=String(x.getMilliseconds()).padStart(3,"0"),`${a}-${A}-${n} ${s}:${c}:${i}.${o}`),f=t?new URL(t,"http://localhost").pathname:"",b=_.statusCode;y.log(`${F.hex("#444444")(`[${l}]`)} ${F.hex("#777777")(`${F.bold(r)} ${f}`)} ${F.hex("#999999")(`${b} ${v.toFixed(1)}ms`)}`)}),a()})};async function aQ(x,_,a,e){let r=x.metadata.getData(),t=r.app.package,A=function({hosts:x,port:_,widgets:a,pages:e}){let r,t,A,n=au(x)??x[0]??"localhost",s=Object.keys(e).map(x=>({name:x,value:`/applet/pages/${x}`})),c=Object.keys(a).map(x=>({name:x,value:`/widgets/${a[x].id}/index.html`})),i={};return s.length>0&&(i.Pages=[ay("Local",_,"localhost",s),ay("Network",_,n,s)]),c.length>0&&(i.Widgets=[ay("Local",_,"localhost",c),ay("Network",_,n,c)]),t=(r={name:"Doubao Apps SDK",urlGroups:i,origin:void 0,ip:n,port:_}).name?`${r.name} Dev Server`:"",A=r.origin?`is listening on ${F.gray(r.origin)}.`:"is running.",`
46
46
  ${ag(t)} ${A}
47
47
  `}({hosts:am(),port:_,widgets:J(r.widgets,O(x.widgets)),pages:J(r.pages,O(x.pages))});console.clear(),console.log(A);let n=ah(_);console.log(((x,_)=>{if(x&&_){let a=[{title:"\uD83C\uDF10 Endpoint",content:_},{title:"\uD83D\uDCE6 Package",content:x}].map(({title:x,titleHighlighter:_,content:a})=>{let e=_?_(x):F.bold(F.gray(x));return` - ${ap(e)}: ${F.gray(a.startsWith("http")?F.underline(a):a)}`}).join("\n");return`
48
48
  ${aj("Doubao Apps Package")}
@@ -52,16 +52,16 @@ ${a}
52
52
  `}return`
53
53
  ${aj("Doubao Apps Package")}
54
54
 
55
- Doubao is empty.`})(t,n)),ad.instance.addListener(x=>{let _={r:async()=>{let x=await aq();x?await aC(x).catch(x=>(y.error(`Reload app failed: ${x.message}`),!1))?(await new Promise(x=>{setTimeout(x,5e3)}),a)?aJ(t,n,r.pages,r.widgets,a,e):y.error("Debug Driver is not Ready."):setTimeout(()=>{y.info(`'Please insure the app has been launched!'
56
- `)},1e3):y.info("Try to push applet to Android, but no devices detected.\n")}}[x.slice(0,-1).toLowerCase()];return!!_&&(process.stdout.write(R.eraseLines(2)),_(),!0)},"devCommands",-1),a?aJ(t,n,r.pages,r.widgets,a,e):y.info("Try to push applet to Android, but no devices detected.\n")}let aQ=async(_={})=>{let{hdt:a,deviceId:e}=_;if(!x){let _=e??await aq();x=a?new aV:new aX(_??"")}return x},az=({context:x})=>({name:"DevServerLogPlugin",setup(_){let a=!1;_.modifyRsbuildConfig((x,{mergeRsbuildConfig:_})=>_(x,{dev:{setupMiddlewares:[aM]}})),_.onAfterDevCompile(async({stats:e})=>{if(e.hasErrors()||a)return;let{devServer:r}=_.context;if(!r)return;a=!0;let t=await aQ({hdt:x.userConfig.hdt});await aU(x,r.port,t,x.isSignedEncryption)}),_.onAfterStartProdServer(async _=>{let a=await aQ({hdt:x.userConfig.hdt});await aU(x,_.port,a,x.isSignedEncryption),console.log("Production server is running.","Project is built in production mode with console and Bridge performance log switched on.","Use in the same way as dev server and check console output for API performance data.")})}}),aY=u("../../../node_modules/.pnpm/@byted-lynx+security-tasm@0.0.17/node_modules/@byted-lynx/security-tasm/index.js"),aW=u("../../../node_modules/.pnpm/@byted-lynx+tasm@4.4.24/node_modules/@byted-lynx/tasm/index.js");class a0{options;isGenerateKeystore=!1;constructor(x){this.options=x}apply(x){x.hooks.thisCompilation.tap(a0.name,_=>{_.hooks.processAssets.tapPromise({name:a0.name,stage:x.webpack.Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_HASH},async()=>{let a=this.options.getMainThreadAssetPath(),e=_.getAsset(a),{buffer:r,encodeOptions:t}=await this.#r([e]),{RawSource:A}=x.webpack.sources;_.updateAsset(a,new A(r,!1)),aI()&&_.emitAsset(`${xc.default.dirname(a)}/tasm.json`,new A(JSON.stringify(t,null,2)))})})}async #r(x){let _={},{distPath:a,signingEncryptionOptions:e}=this.options;for(let a of x)a.name.endsWith(".js")&&(_[a.name.replace(/\.template\.js$/,"")]={content:a.source.source().toString()});let r={compilerOptions:{enableFiberArch:!0,targetSdkVersion:this.options.engineVersion??"3.5"},sourceContent:{appType:"DynamicComponent"},customSections:_};if(e){let x=this.options.metadata.getData().app.package,_=x0(e,{signing:{extra_config:{app_id:x,bundle_id:x}},encryption:{salt:x}}),{buffer:t,lepus_debug:A,status:n,error_msg:s}=await (0,aY.encode)(JSON.stringify(r),_);if(0!==n)throw Error(s);if(!this.isGenerateKeystore&&_.encryption.enabled){this.isGenerateKeystore=!0;let x=await (0,aY.generateKeystore)(`${a}/${xw}`,{encryption:{..._.encryption}});if(0!==x.status)throw Error(x.error_msg)}return{buffer:t,encodeOptions:r,debugInfo:A}}let t=(0,aW.getEncodeMode)(),{buffer:A}=await t(r);return{buffer:A,encodeOptions:r}}}function a1(x,_,a,e,r){let t=!1;return{name:a1.name,apply(A){let n=new A.webpack.experiments.VirtualModulesPlugin;n.apply(A),A.hooks.thisCompilation.tap(a1.name,()=>{Object.keys(a).forEach(x=>{n.writeModule(a[x].filename,a[x].toString())})}),A.hooks.thisCompilation.tap(a1.name,a=>{a.hooks.processAssets.tap({name:a1.name,stage:A.webpack.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS},x=>{let{app:e}=_.getData(),r=`globalThis.${_g} = ${JSON.stringify({package:e.package})};
57
- `;Object.keys(x).forEach(x=>{var _;let e;if(_=x,!("background.js"===(e=xc.default.posix.basename(_))||"main-thread.js"===e||/^background\.[^/]+\.js$/.test(e)||/^main-thread\.[^/]+\.js$/.test(e)))return;let t=a.getAsset(x);if(!t)return;let n=new A.webpack.sources.ReplaceSource(t.source,t.name);n.insert(0,r),a.updateAsset(t.name,n,t.info)})});let n=x.getLynxTemplatePluginHooks(a);n.beforeEncode.tapPromise(a1.name,async x=>(x.encodeData.sourceContent.config=Q({},x.encodeData.sourceContent.config,{mapContainerType:1}),x)),n.encode.tapPromise({name:a1.name,stage:255},async x=>{let{encodeOptions:a}=x;if(r){let A=xc.default.posix.basename(x.intermediate??""),n=_.getData().widgets[`widgets/${A}`]?.id||_.getData().pages[`pages/${A}`]?.id,s=_.getData().app.package,c=x0(r,{signing:{extra_config:{app_id:s,bundle_id:n}},encryption:{salt:s}}),{buffer:i,lepus_debug:o,status:v,error_msg:l}=await (0,aY.encode)(JSON.stringify(a),c);if(0!==v)throw Error(l);if(!t&&c.encryption.enabled){t=!0;let x=await (0,aY.generateKeystore)(`${e}/${xw}`,{encryption:{...c.encryption}});if(0!==x.status)throw Error(x.error_msg)}return{buffer:i,debugInfo:o}}let A=(0,aW.getEncodeMode)(),{buffer:n,lepus_debug:s}=await A(a);return{buffer:n,debugInfo:s}})}),A.hooks.failed.tap(a1.name,x=>{y.error(x)})}}}let a2=u("crypto");class a3{constructor(x,_,a){this._content=_,this._hashCode=a,this.source=x}get content(){return this._content}get hashCode(){var x;return this._hashCode||(x=this.content,a2.default.createHash("sha256").update(x).digest("hex").substring(0,8))}}class a4 extends a3{constructor(x,_){super(x,_),this._manifest={applet:{pages:[],tools:[]},widgets:[]};try{this._manifest=Q(this._manifest,JSON.parse(_))}catch(x){}this.destination=x}get manifest(){return this._manifest}get content(){return JSON.stringify({manifestVersion:this._manifest.manifestVersion,packageName:this._manifest.packageName,scmVersion:this._manifest.scmVersion,versionCode:this._manifest.versionCode,runtimeVersion:this._manifest.runtimeVersion,applet:this._manifest.applet,widgets:this._manifest.widgets},null,2)}setManifestVersion(x){this._manifest.manifestVersion=x}setRuntimeVersion(x){this._manifest.runtimeVersion=x}setPackageName(x){this._manifest.packageName=x}setVersionName(x){this._manifest.versionName=x}setBasicManifest(x){Q(this._manifest,x)}setSCMVersion(x){this._manifest.scmVersion=x}setVersionCode(x){this._manifest.versionCode=x}setAppletManifest(x){Q(this._manifest.applet,x)}setRenderType(x=xA.REACT_LYNX){this._manifest.renderType=x}getManifest(){return this._manifest}appendWidget(x){this._manifest.widgets||(this._manifest.widgets=[]),this._manifest.widgets.push(x)}appendPage(x){this._manifest.applet.pages||(this._manifest.applet.pages=[]),this._manifest.applet.pages.push(x)}toString(){return JSON.stringify(this._manifest,null,2)}}class a6{constructor(x){this._manifest=x,this.assets={}}addAsset(x,_){this.assets[x]=_}deleteAsset(x){delete this.assets[x]}getAsset(x){return this.assets[x]}getAssets(){return this.assets}getManifestAsset(x){return this.getAsset(x)||(this.assets[x]=new a4(x,JSON.stringify(this._manifest||{}))),this.getAsset(x)}}class a5{options;constructor(x){this.options=x}apply(x){let _,{pluginSystem:a}=this.options;x.hooks.thisCompilation.tap({name:a5.name,stage:x.rspack.Compilation.PROCESS_ASSETS_STAGE_SUMMARIZE},e=>{e.hooks.processAssets.tapPromise({name:a5.name,stage:x.rspack.Compilation.PROCESS_ASSETS_STAGE_REPORT},async()=>{_=new a6(this.options.context.manifest);let{entrypoints:r}=e,t={};r.forEach((x,_)=>{t[_]=x.getFiles().map(x=>{let _=e.getAsset(x);if(!_)throw Error(`Asset ${x} not found`);return new a3(x,_.source.source().toString(),_.info.contenthash?.[0])})}),e.getAssets().forEach(x=>{let a=new a3(x.name,x.source.source().toString(),x.info.contenthash?.[0]);_.addAsset(x.name,a)}),await a.callAssetsHooks("beforeEmit",{assets:_,chunks:t}),Object.keys(_.getAssets()).forEach(a=>{let r=_.getAsset(a);if(!r)return;let{source:t,destination:A}=r;if(!t||!A)return;e.getAsset(t)?e.renameAsset(t,A):e.emitAsset(A,new x.rspack.sources.RawSource(r.content));let n=e.getAsset(`${t}.map`);n&&e.renameAsset(n.name,`${A}.map`)}),await a.callAssetsHooks("afterEmit",{assets:{..._.getAssets()}})})})}}class a7{options;constructor(x){this.options=x}apply(x){x.hooks.make.tapPromise(a7.name,async()=>{await this.options.pluginSystem.callViewHooks("collectMetaData",{collector:this.options.context.metadata})}),x.hooks.thisCompilation.tap(a7.name,x=>{x.hooks.optimizeTree.tapPromise(a7.name,async _=>{await this.options.pluginSystem.callViewHooks("build",{metadata:this.options.context.metadata,fileDependencies:x.fileDependencies})})}),x.hooks.done.tapPromise(a7.name,async x=>{await this.options.pluginSystem.callViewHooks("afterBuild",{stats:x})})}}let a8="/doubao-apps-framework.template.js",a9="/doubao-apps-api.template.js";function ex(x,_,a){return{libraryName:a,url:x,background:{sectionPath:_},mainThread:{sectionPath:`${_}__main-thread`},async:!1}}let e_=x=>({"@byted-doubao-apps/bridge-base":ex(a9,"api"),"@byted-doubao-apps/open-api":ex(a9,"api"),...Object.fromEntries(Object.entries(xL).map(([_,a])=>[_,ex(x?"/doubao-apps-react-dev.template.js":"/doubao-apps-react.template.js","reactLynx",["reactLynx",a])])),[x5(x2)]:ex(a9,"api"),[x5(x3)]:ex(a9,"api"),[x2]:ex(a8,"framework"),[x3]:ex(a8,"framework"),"@byted-doubao-apps/components":ex(a8,"components"),[x7(x2)]:ex(a8,"components"),[x7(x3)]:ex(a8,"components")}),ea=w(import.meta.url);function ee(x,_){for(let a of x)try{return ea.resolve(a,{paths:_})}catch{}throw Error(`Cannot resolve package from candidates: ${x.join(", ")}`)}function er(x){return x===x3?[`${x3}/package.json`,`${x2}/package.json`]:[`${x2}/package.json`,`${x3}/package.json`]}function et(x,_){return ee(_===x3?["@doubao-apps/kit/components-loader","@byted-doubao-apps/kit/components-loader"]:["@byted-doubao-apps/kit/components-loader","@doubao-apps/kit/components-loader"],x)}class eA{pluginSystem;constructor(x){this.pluginSystem=x}async createEntry(){let{entry:x}=await this.pluginSystem.callViewHooks("modifyEntryOption",{entry:{}});return x}async createConfig({config:x}){var _,a,e,r;let{appDirectory:t,command:n,metadata:s,rootPath:c}=x.context;await this.pluginSystem.callViewHooks("modifyEnvironment",{environment:x.context.environment});let i=await this.createEntry(),o=x8(t),v=[t,xc.default.dirname(A(import.meta.url))],l=T({mode:n===_l.DEV?"development":"production",tools:{rspack:{module:{rules:[{enforce:"pre",test:/\.(t|j)sx$/,loader:et(v,o)}]}}},source:{entry:Object.fromEntries(Object.entries(i).map(([x,_])=>[x,[xo,`${o}/components-style`,_.filename]])),include:x.options.source?.include,exclude:x.options.source?.exclude,decorators:x.options.source?.decorators,define:{...x.options.source?.define,__MAIN_PROCESS__:JSON.stringify(!1),__LEPUS__:JSON.stringify(!1),__LYNXVIEW__:JSON.stringify(!0),"process.env":"({})"}},server:{host:au()},dev:{writeToDisk:aI(),hmr:n===_l.DEV},output:{distPath:{js:"base/common",root:c||"dist"},cleanDistPath:!1,filename:{bundle:"[name]/template.js"},dataUriLimit:5120},resolve:{alias:{...x.options.source?.alias,...x.options.resolve?.alias}},performance:{printFileSize:aI()},plugins:[{name:"replace-lynx-react-alias",setup(x){G({LAYERS:q,lazy:!1,rootPath:ee(er(o),v)}).setup(x)}},{name:"set-server.printUrls-false",setup(x){x.modifyRsbuildConfig((x,{mergeRsbuildConfig:_})=>_(x,{server:{printUrls:!1}}))}},X({compat:{componentsPkg:[],newRuntimePkg:o,oldRuntimePkg:[]},enableCSSInheritance:!0,shake:{pkgName:[...x4]}}),function(x,_){let{compilerOptionsKeys:a=ax.compilerOptionsKeys,configKeys:e=ax.configKeys,validate:r=af,dslPluginName2PkgName:t=ab,upgradeRspeedyLink:A="https://www.npmjs.com/package/upgrade-rspeedy"}=(void 0)??{};return r(x),{name:"lynx:config",async setup(_){_.expose(Symbol.for("lynx.config"),{config:x}),_.modifyBundlerChain(r=>{let n=_.useExposed(Symbol.for("LynxTemplatePlugin"));if(!n){let x="Rspeedy and plugins";throw Object.entries(t).forEach(([a,e])=>{_.isPluginExists(a)&&(x=e)}),Error(`\
55
+ Doubao is empty.`})(t,n)),ad.instance.addListener(x=>{let _={r:async()=>{let x=await aX();x?await aG(x).catch(x=>(y.error(`Reload app failed: ${x.message}`),!1))?(await new Promise(x=>{setTimeout(x,5e3)}),a)?aH(t,n,r.pages,r.widgets,a,e):y.error("Debug Driver is not Ready."):setTimeout(()=>{y.info(`'Please insure the app has been launched!'
56
+ `)},1e3):y.info("Try to push applet to Android, but no devices detected.\n")}}[x.slice(0,-1).toLowerCase()];return!!_&&(process.stdout.write(R.eraseLines(2)),_(),!0)},"devCommands",-1),a?aH(t,n,r.pages,r.widgets,a,e):y.info("Try to push applet to Android, but no devices detected.\n")}let az=async(_={})=>{let{hdt:a,deviceId:e}=_;if(!x){let _=e??await aX();x=a?new aM:new aK(_??"")}return x},aY=({context:x})=>({name:"DevServerLogPlugin",setup(_){let a=!1;_.modifyRsbuildConfig((x,{mergeRsbuildConfig:_})=>_(x,{dev:{setupMiddlewares:[aU]}})),_.onAfterDevCompile(async({stats:e})=>{if(e.hasErrors()||a)return;let{devServer:r}=_.context;if(!r)return;a=!0;let t=await az({hdt:x.userConfig.hdt});await aQ(x,r.port,t,x.isSignedEncryption)}),_.onAfterStartProdServer(async _=>{let a=await az({hdt:x.userConfig.hdt});await aQ(x,_.port,a,x.isSignedEncryption),console.log("Production server is running.","Project is built in production mode with console and Bridge performance log switched on.","Use in the same way as dev server and check console output for API performance data.")})}}),aW=u("../../../node_modules/.pnpm/@byted-lynx+security-tasm@0.0.17/node_modules/@byted-lynx/security-tasm/index.js"),a0=u("../../../node_modules/.pnpm/@byted-lynx+tasm@4.4.24/node_modules/@byted-lynx/tasm/index.js");class a1{options;isGenerateKeystore=!1;constructor(x){this.options=x}apply(x){x.hooks.thisCompilation.tap(a1.name,_=>{_.hooks.processAssets.tapPromise({name:a1.name,stage:x.webpack.Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_HASH},async()=>{let a=this.options.getMainThreadAssetPath(),e=_.getAsset(a),{buffer:r,encodeOptions:t}=await this.#r([e]),{RawSource:A}=x.webpack.sources;_.updateAsset(a,new A(r,!1)),aI()&&_.emitAsset(`${xc.default.dirname(a)}/tasm.json`,new A(JSON.stringify(t,null,2)))})})}async #r(x){let _={},{distPath:a,signingEncryptionOptions:e}=this.options;for(let a of x)a.name.endsWith(".js")&&(_[a.name.replace(/\.template\.js$/,"")]={content:a.source.source().toString()});let r={compilerOptions:{enableFiberArch:!0,targetSdkVersion:this.options.engineVersion??"3.5"},sourceContent:{appType:"DynamicComponent"},customSections:_};if(e){let x=this.options.metadata.getData().app.package,_=x0(e,{signing:{extra_config:{app_id:x,bundle_id:x}},encryption:{salt:x}}),{buffer:t,lepus_debug:A,status:n,error_msg:s}=await (0,aW.encode)(JSON.stringify(r),_);if(0!==n)throw Error(s);if(!this.isGenerateKeystore&&_.encryption.enabled){this.isGenerateKeystore=!0;let x=await (0,aW.generateKeystore)(`${a}/${xw}`,{encryption:{..._.encryption}});if(0!==x.status)throw Error(x.error_msg)}return{buffer:t,encodeOptions:r,debugInfo:A}}let t=(0,a0.getEncodeMode)(),{buffer:A}=await t(r);return{buffer:A,encodeOptions:r}}}function a2(x,_,a,e,r){let t=!1;return{name:a2.name,apply(A){let n=new A.webpack.experiments.VirtualModulesPlugin;n.apply(A),A.hooks.thisCompilation.tap(a2.name,()=>{Object.keys(a).forEach(x=>{n.writeModule(a[x].filename,a[x].toString())})}),A.hooks.thisCompilation.tap(a2.name,a=>{a.hooks.processAssets.tap({name:a2.name,stage:A.webpack.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS},x=>{let{app:e}=_.getData(),r=`globalThis.${_g} = ${JSON.stringify({package:e.package})};
57
+ `;Object.keys(x).forEach(x=>{var _;let e;if(_=x,!("background.js"===(e=xc.default.posix.basename(_))||"main-thread.js"===e||/^background\.[^/]+\.js$/.test(e)||/^main-thread\.[^/]+\.js$/.test(e)))return;let t=a.getAsset(x);if(!t)return;let n=new A.webpack.sources.ReplaceSource(t.source,t.name);n.insert(0,r),a.updateAsset(t.name,n,t.info)})});let n=x.getLynxTemplatePluginHooks(a);n.beforeEncode.tapPromise(a2.name,async x=>(x.encodeData.sourceContent.config=Q({},x.encodeData.sourceContent.config,{mapContainerType:1}),x)),n.encode.tapPromise({name:a2.name,stage:255},async x=>{let{encodeOptions:a}=x;if(r){let A=xc.default.posix.basename(x.intermediate??""),n=_.getData().widgets[`widgets/${A}`]?.id||_.getData().pages[`pages/${A}`]?.id,s=_.getData().app.package,c=x0(r,{signing:{extra_config:{app_id:s,bundle_id:n}},encryption:{salt:s}}),{buffer:i,lepus_debug:o,status:v,error_msg:l}=await (0,aW.encode)(JSON.stringify(a),c);if(0!==v)throw Error(l);if(!t&&c.encryption.enabled){t=!0;let x=await (0,aW.generateKeystore)(`${e}/${xw}`,{encryption:{...c.encryption}});if(0!==x.status)throw Error(x.error_msg)}return{buffer:i,debugInfo:o}}let A=(0,a0.getEncodeMode)(),{buffer:n,lepus_debug:s}=await A(a);return{buffer:n,debugInfo:s}})}),A.hooks.failed.tap(a2.name,x=>{y.error(x)})}}}let a3=u("crypto");class a4{constructor(x,_,a){this._content=_,this._hashCode=a,this.source=x}get content(){return this._content}get hashCode(){var x;return this._hashCode||(x=this.content,a3.default.createHash("sha256").update(x).digest("hex").substring(0,8))}}class a6 extends a4{constructor(x,_){super(x,_),this._manifest={applet:{pages:[],tools:[]},widgets:[]};try{this._manifest=Q(this._manifest,JSON.parse(_))}catch(x){}this.destination=x}get manifest(){return this._manifest}get content(){return JSON.stringify({manifestVersion:this._manifest.manifestVersion,packageName:this._manifest.packageName,scmVersion:this._manifest.scmVersion,versionCode:this._manifest.versionCode,runtimeVersion:this._manifest.runtimeVersion,applet:this._manifest.applet,widgets:this._manifest.widgets},null,2)}setManifestVersion(x){this._manifest.manifestVersion=x}setRuntimeVersion(x){this._manifest.runtimeVersion=x}setPackageName(x){this._manifest.packageName=x}setVersionName(x){this._manifest.versionName=x}setBasicManifest(x){Q(this._manifest,x)}setSCMVersion(x){this._manifest.scmVersion=x}setVersionCode(x){this._manifest.versionCode=x}setAppletManifest(x){Q(this._manifest.applet,x)}setRenderType(x=xA.REACT_LYNX){this._manifest.renderType=x}getManifest(){return this._manifest}appendWidget(x){this._manifest.widgets||(this._manifest.widgets=[]),this._manifest.widgets.push(x)}appendPage(x){this._manifest.applet.pages||(this._manifest.applet.pages=[]),this._manifest.applet.pages.push(x)}toString(){return JSON.stringify(this._manifest,null,2)}}class a5{constructor(x){this._manifest=x,this.assets={}}addAsset(x,_){this.assets[x]=_}deleteAsset(x){delete this.assets[x]}getAsset(x){return this.assets[x]}getAssets(){return this.assets}getManifestAsset(x){return this.getAsset(x)||(this.assets[x]=new a6(x,JSON.stringify(this._manifest||{}))),this.getAsset(x)}}class a7{options;constructor(x){this.options=x}apply(x){let _,{pluginSystem:a}=this.options;x.hooks.thisCompilation.tap({name:a7.name,stage:x.rspack.Compilation.PROCESS_ASSETS_STAGE_SUMMARIZE},e=>{e.hooks.processAssets.tapPromise({name:a7.name,stage:x.rspack.Compilation.PROCESS_ASSETS_STAGE_REPORT},async()=>{_=new a5(this.options.context.manifest);let{entrypoints:r}=e,t={};r.forEach((x,_)=>{t[_]=x.getFiles().map(x=>{let _=e.getAsset(x);if(!_)throw Error(`Asset ${x} not found`);return new a4(x,_.source.source().toString(),_.info.contenthash?.[0])})}),e.getAssets().forEach(x=>{let a=new a4(x.name,x.source.source().toString(),x.info.contenthash?.[0]);_.addAsset(x.name,a)}),await a.callAssetsHooks("beforeEmit",{assets:_,chunks:t}),Object.keys(_.getAssets()).forEach(a=>{let r=_.getAsset(a);if(!r)return;let{source:t,destination:A}=r;if(!t||!A)return;e.getAsset(t)?e.renameAsset(t,A):e.emitAsset(A,new x.rspack.sources.RawSource(r.content));let n=e.getAsset(`${t}.map`);n&&e.renameAsset(n.name,`${A}.map`)}),await a.callAssetsHooks("afterEmit",{assets:{..._.getAssets()}})})})}}class a8{options;constructor(x){this.options=x}apply(x){x.hooks.make.tapPromise(a8.name,async()=>{await this.options.pluginSystem.callViewHooks("collectMetaData",{collector:this.options.context.metadata})}),x.hooks.thisCompilation.tap(a8.name,x=>{x.hooks.optimizeTree.tapPromise(a8.name,async _=>{await this.options.pluginSystem.callViewHooks("build",{metadata:this.options.context.metadata,fileDependencies:x.fileDependencies})})}),x.hooks.done.tapPromise(a8.name,async x=>{await this.options.pluginSystem.callViewHooks("afterBuild",{stats:x})})}}let a9="/doubao-apps-framework.template.js",ex="/doubao-apps-api.template.js";function e_(x,_,a){return{libraryName:a,url:x,background:{sectionPath:_},mainThread:{sectionPath:`${_}__main-thread`},async:!1}}let ea=x=>({"@byted-doubao-apps/bridge-base":e_(ex,"api"),"@byted-doubao-apps/open-api":e_(ex,"api"),...Object.fromEntries(Object.entries(xL).map(([_,a])=>[_,e_(x?"/doubao-apps-react-dev.template.js":"/doubao-apps-react.template.js","reactLynx",["reactLynx",a])])),[x5(x2)]:e_(ex,"api"),[x5(x3)]:e_(ex,"api"),[x2]:e_(a9,"framework"),[x3]:e_(a9,"framework"),"@byted-doubao-apps/components":e_(a9,"components"),[x7(x2)]:e_(a9,"components"),[x7(x3)]:e_(a9,"components")}),ee=w(import.meta.url);function er(x,_){for(let a of x)try{return ee.resolve(a,{paths:_})}catch{}throw Error(`Cannot resolve package from candidates: ${x.join(", ")}`)}function et(x){return x===x3?[`${x3}/package.json`,`${x2}/package.json`]:[`${x2}/package.json`,`${x3}/package.json`]}function eA(x,_){return er(_===x3?["@doubao-apps/kit/components-loader","@byted-doubao-apps/kit/components-loader"]:["@byted-doubao-apps/kit/components-loader","@doubao-apps/kit/components-loader"],x)}class en{pluginSystem;constructor(x){this.pluginSystem=x}async createEntry(){let{entry:x}=await this.pluginSystem.callViewHooks("modifyEntryOption",{entry:{}});return x}async createConfig({config:x}){var _,a,e,r;let{appDirectory:t,command:n,metadata:s,rootPath:c}=x.context;await this.pluginSystem.callViewHooks("modifyEnvironment",{environment:x.context.environment});let i=await this.createEntry(),o=x8(t),v=[t,xc.default.dirname(A(import.meta.url))],l=T({mode:n===_l.DEV?"development":"production",tools:{rspack:{module:{rules:[{enforce:"pre",test:/\.(t|j)sx$/,loader:eA(v,o)}]}}},source:{entry:Object.fromEntries(Object.entries(i).map(([x,_])=>[x,[xo,`${o}/components-style`,_.filename]])),include:x.options.source?.include,exclude:x.options.source?.exclude,decorators:x.options.source?.decorators,define:{...x.options.source?.define,__MAIN_PROCESS__:JSON.stringify(!1),__LEPUS__:JSON.stringify(!1),__LYNXVIEW__:JSON.stringify(!0),"process.env":"({})"}},server:{host:au()},dev:{writeToDisk:aI(),hmr:n===_l.DEV},output:{distPath:{js:"base/common",root:c||"dist"},cleanDistPath:!1,filename:{bundle:"[name]/template.js"},dataUriLimit:5120},resolve:{alias:{...x.options.source?.alias,...x.options.resolve?.alias}},performance:{printFileSize:aI(),...aF()?{chunkSplit:{strategy:"split-by-experience"}}:{}},plugins:[{name:"replace-lynx-react-alias",setup(x){G({LAYERS:q,lazy:!1,rootPath:er(et(o),v)}).setup(x)}},{name:"set-server.printUrls-false",setup(x){x.modifyRsbuildConfig((x,{mergeRsbuildConfig:_})=>_(x,{server:{printUrls:!1}}))}},X({compat:{componentsPkg:[],newRuntimePkg:o,oldRuntimePkg:[]},enableCSSInheritance:!0,shake:{pkgName:[...x4]}}),function(x,_){let{compilerOptionsKeys:a=ax.compilerOptionsKeys,configKeys:e=ax.configKeys,validate:r=af,dslPluginName2PkgName:t=ab,upgradeRspeedyLink:A="https://www.npmjs.com/package/upgrade-rspeedy"}=(void 0)??{};return r(x),{name:"lynx:config",async setup(_){_.expose(Symbol.for("lynx.config"),{config:x}),_.modifyBundlerChain(r=>{let n=_.useExposed(Symbol.for("LynxTemplatePlugin"));if(!n){let x="Rspeedy and plugins";throw Object.entries(t).forEach(([a,e])=>{_.isPluginExists(a)&&(x=e)}),Error(`\
58
58
  [pluginLynxConfig] No \`LynxTemplatePlugin\` exposed to ${ar("the plugin API","https://rsbuild.rs/plugins/dev/core#apiexpose")}.
59
59
 
60
60
  Please upgrade ${x} to latest version.
61
61
 
62
62
  See ${ar(av().yellow("Upgrade Rspeedy"),A)} for more details.
63
- `)}let{LynxTemplatePlugin:s}=n;r.plugin("lynx:config").use(an,[{LynxTemplatePlugin:s,config:x,compilerOptionsKeys:a,configKeys:e}])})}}}({enableMultiTouch:!0,enableNewGesture:!0}),...aF()?[]:[C({externals:e_(n===_l.DEV),globalObject:"lynx"})],Z(),K(),function x(_,a,e,r){return{name:x.name,setup(x){x.modifyBundlerChain(t=>{let A=x.useExposed(Symbol.for("LynxTemplatePlugin"));t.plugin(a1.name).use(a1,[A.LynxTemplatePlugin,_,a,e,r])})}}}(s,i,x.context.rootPath,x.context.signingEncryptionOptions),(_=this.pluginSystem,a=x.context,{name:"output-plugin",setup(x){let e={pluginSystem:_,context:a};x.modifyBundlerChain(x=>{x.plugin("output-plugin").use(a5,[e])})}}),az({context:x.context}),(e=this.pluginSystem,r=x.context,{name:"view-hooks-plugin",setup(x){x.modifyBundlerChain(x=>{x.plugin("view-hooks-plugin").use(a7,[{pluginSystem:e,context:r}])})}}),(({getMainThreadAssetPath:x,getMainThreadMapAssetPath:_,engineVersion:a,distPath:e,metadata:r,signingEncryptionOptions:t})=>({name:"lynx:encode-worker",async setup(A){aw()||A.modifyBundlerChain(A=>{A.plugin(a0.name).use(a0,[{getMainThreadAssetPath:x,getMainThreadMapAssetPath:_,engineVersion:a,distPath:e,metadata:r,signingEncryptionOptions:t}]).end()})}}))({getMainThreadAssetPath:()=>x.context.mainThreadAssetPath,getMainThreadMapAssetPath:()=>x.context.mainThreadMapAssetPath,distPath:x.context.rootPath,metadata:x.context.metadata,signingEncryptionOptions:x.context.signingEncryptionOptions}),...x.rsbuildPlugins||[]]});return await this.pluginSystem.callViewHooks("beforeBuild",{buildConfig:l}),l}}async function en(x,_){let a=new eA(_),e=await a.createConfig({config:x}),r=await k({rspeedyConfig:e,cwd:x.context.appDirectory});return r.removePlugins(["lynx:react-alias"]),r}class es extends x9{toString(){return this.contents.join("\n").trim()}}class ec{options;constructor(x){this.options=x}apply(x){x.hooks.make.tapPromise(ec.name,async()=>{await this.options.pluginSystem.callWorkerHooks("collectMetaData",{collector:this.options.context.metadata})}),x.hooks.compilation.tap(ec.name,x=>{x.hooks.optimizeTree.tapPromise(ec.name,async _=>{await this.options.pluginSystem.callWorkerHooks("build",{metadata:this.options.context.metadata,fileDependencies:x.fileDependencies})})}),x.hooks.shouldEmit.tap(ec.name,()=>!1),x.hooks.done.tapPromise(ec.name,async x=>{await this.options.pluginSystem.callWorkerHooks("afterBuild",{stats:x})}),x.hooks.thisCompilation.tap(ec.name,_=>{_.hooks.processAssets.tap({name:ec.name,stage:x.webpack.Compilation.PROCESS_ASSETS_STAGE_SUMMARIZE},()=>{let{context:x}=this.options;_.getAssets().forEach(_=>{let{name:a}=_;return a.endsWith(".js")?x.setMainThreadAssetPath(a):a.endsWith(".js.map")?x.setMainThreadMapAssetPath(a):void 0})})})}}class ei{pluginSystem;constructor(x){this.pluginSystem=x}async createEntry(){let{entry:x}=await this.pluginSystem.callWorkerHooks("modifyEntryOption",{entry:{[_D]:new es(`.${n.sep}${_D}.js`,"")}});return x}async createConfig({config:x}){var _,a,e;let r;await this.pluginSystem.callWorkerHooks("modifyEnvironment",{environment:x.context.environment});let t=await this.createEntry(),A=N({root:x.context.appDirectory,source:{...x.options.source,entry:Object.fromEntries(Object.entries(t).map(([x,_])=>[x,{import:_.filename,layer:q.BACKGROUND}])),define:{...x.options.source?.define,__DEV__:JSON.stringify(!aN()),__MAIN_PROCESS__:JSON.stringify(!0),__LEPUS__:JSON.stringify(!1),__LYNXVIEW__:JSON.stringify(!1),"process.env":"({})"}},resolve:{alias:{...x.options.source?.alias,...x.options.resolve?.alias,"@byted-doubao-apps/framework$":"@byted-doubao-apps/framework/worker"}},output:{minify:!1,cleanDistPath:!1,target:"web-worker",distPath:{root:x.context.rootPath,js:"base"},filename:{js:aw()?"[name].js":"[name].template.js"},sourceMap:{js:"production"===process.env.NODE_ENV?"hidden-source-map":"cheap-module-source-map"},legalComments:"none",assetPrefix:"./",overrideBrowserslist:aN()?_P:_F,polyfill:"usage"},dev:{hmr:!1},tools:{htmlPlugin:!1,rspack:{watchOptions:{ignored:["**/.git"]},plugins:[new I.experiments.VirtualModulesPlugin(Object.fromEntries(Object.entries(t).map(([x,_])=>[_.filename,_.toString()]))),(_=x.context.appDirectory,r=n.join(_,_3),{name:"worker-style-proxy-plugin",apply(x){new x.webpack.experiments.VirtualModulesPlugin({[r]:"export {};\n"}).apply(x),x.hooks.normalModuleFactory.tap("worker-style-proxy-plugin",_=>{_.hooks.beforeResolve.tap({name:"worker-style-proxy-plugin",stage:-1e3},_=>{var a;let e;return a=_4.get(x),void((e=function(x){let _=x.request;if(!_||!_2.test(_))return;let a=/^(.*?)([?#].*)?$/.exec(_),e=a?.[1]??_,r=a?.[2]??"";return n.isAbsolute(e)?`${e}${r}`:e.startsWith(".")?`${n.resolve(x.context??process.cwd(),e)}${r}`:_}(_))&&(a?.add(e),_.request=r))})})}}),new I.optimize.LimitChunkCountPlugin({maxChunks:1}),new z]},swc:{jsc:{target:"es2020"},env:void 0}},plugins:[Y(x.options.tools?.tsChecker),(a=this.pluginSystem,e=x.context,{name:"worker-hooks-plugin",setup(x){x.modifyBundlerChain(x=>{x.plugin("worker-hooks-plugin").use(ec,[{pluginSystem:a,context:e}])})}}),{name:"expose-layers",setup(x){x.expose(Symbol.for("LAYERS"),q)}},...aF()?[]:[C({externals:e_(x.commandType===_l.DEV),globalObject:"lynx"})]],performance:{bundleAnalyze:x.commandType===_l.ANALYZE?{}:void 0,printFileSize:aI()}});return await this.pluginSystem.callWorkerHooks("beforeBuild",{buildConfig:A}),A}}async function eo(x,_){let a=new ei(_),e=await a.createConfig({config:x});return await S({cwd:x.context.appDirectory,config:e})}async function ev(x,_){var a;let e=await eo(x,_),[r]=await e.initConfigs({action:x.commandType===_l.DEV?"dev":"build"});return await en({...x,rsbuildPlugins:[...x.rsbuildPlugins||[],(a=x.context,{name:"worker-sub-compiler-plugin",setup(x){x.modifyBundlerChain(x=>{x.plugin(_6.name).use(_6,[{workerConfig:r,context:a}])})}})]},_)}function el(){return process.env.X_TT_ENV?{"x-use-ppe":"1","x-tt-env":process.env.X_TT_ENV}:{}}let ef=x=>{try{return L.statSync(x,{throwIfNoEntry:!1})?.isFile()}catch(x){return!1}};async function eb({internal:x}){let _=`https://${x?"doubao-developer.bytedance.net":"hello.doubao-dev.com"}/developer/resource_api/apps/:app_key/dek/public_key`;try{let x=await fetch(_,{method:"GET",headers:{...el()}}),a=x.headers.get("x-tt-logid")||"";if(!x.ok){let _=await x.text(),e=JSON.stringify({code:x.status,message:"HTTP Error",data:_,log_id:a});throw Error(e)}let e=await x.json();if(0!==e.code){let x=JSON.stringify({...e,log_id:a});throw Error(x)}return e}catch(x){throw console.error("getKEK error:",x?.message||x),x}}async function ed(x,_){if(!aP()){if(x)return x;if(aN()&&_===_l.DEPLOY){let{data:x}=await eb({internal:!1}),_=Number(Object.keys(x.keys)[0]);return{signing:{enabled:!1},encryption:{enabled:!0,wrap_key:x.keys[_],key_id:_,salt:""}}}}}async function eE({cwd:x=process.cwd(),customConfigFile:_}){let a=function(x,_){if(_){let a=xc.default.isAbsolute(_)?_:xc.default.resolve(x,_);if(xU.default.existsSync(a))return a;y.warn(`Cannot find config file: ${W.dim(a)}
64
- `)}for(let _ of _K.map(_=>xc.default.resolve(x,`${_X}${_}`)))if(ef(_))return _;return!1}(x,_);if(!a)return{};try{let x=xx(A(import.meta.url),{requireCache:!1,interopDefault:!0});return await x.import(a,{default:!0})}catch(x){throw y.error(`Failed to load file: ${W.dim(a)}`),x}}function em(x,_,a=!1,e=!1){let r=x8(_);return Object.keys(x).reduce((t,A)=>{let{filename:s}=x[A],c=`${xi}${n.sep}${A}${n.extname(s)}`,i=x1(n.join(_,c,".."),s);return t[A]=new x9(c),t[A].appendImports({moduleSpecifier:"@lynx-js/react",importSpecifiers:[{propertyName:"root",name:"root"}]},{moduleSpecifier:i,importSpecifiers:[{propertyName:"default",name:"View"}]},{moduleSpecifier:r,importSpecifiers:[{propertyName:"bootstrapReactLynx",name:"bootstrapReactLynx"},{propertyName:"getViewContext",name:"getViewContext"}]}),t[A].appendContent(`
63
+ `)}let{LynxTemplatePlugin:s}=n;r.plugin("lynx:config").use(an,[{LynxTemplatePlugin:s,config:x,compilerOptionsKeys:a,configKeys:e}])})}}}({enableMultiTouch:!0,enableNewGesture:!0}),...aF()?[]:[C({externals:ea(n===_l.DEV),globalObject:"lynx"})],Z(),K(),function x(_,a,e,r){return{name:x.name,setup(x){x.modifyBundlerChain(t=>{let A=x.useExposed(Symbol.for("LynxTemplatePlugin"));t.plugin(a2.name).use(a2,[A.LynxTemplatePlugin,_,a,e,r])})}}}(s,i,x.context.rootPath,x.context.signingEncryptionOptions),(_=this.pluginSystem,a=x.context,{name:"output-plugin",setup(x){let e={pluginSystem:_,context:a};x.modifyBundlerChain(x=>{x.plugin("output-plugin").use(a7,[e])})}}),aY({context:x.context}),(e=this.pluginSystem,r=x.context,{name:"view-hooks-plugin",setup(x){x.modifyBundlerChain(x=>{x.plugin("view-hooks-plugin").use(a8,[{pluginSystem:e,context:r}])})}}),(({getMainThreadAssetPath:x,getMainThreadMapAssetPath:_,engineVersion:a,distPath:e,metadata:r,signingEncryptionOptions:t})=>({name:"lynx:encode-worker",async setup(A){aw()||A.modifyBundlerChain(A=>{A.plugin(a1.name).use(a1,[{getMainThreadAssetPath:x,getMainThreadMapAssetPath:_,engineVersion:a,distPath:e,metadata:r,signingEncryptionOptions:t}]).end()})}}))({getMainThreadAssetPath:()=>x.context.mainThreadAssetPath,getMainThreadMapAssetPath:()=>x.context.mainThreadMapAssetPath,distPath:x.context.rootPath,metadata:x.context.metadata,signingEncryptionOptions:x.context.signingEncryptionOptions}),...x.rsbuildPlugins||[]]});return await this.pluginSystem.callViewHooks("beforeBuild",{buildConfig:l}),l}}async function es(x,_){let a=new en(_),e=await a.createConfig({config:x}),r=await k({rspeedyConfig:e,cwd:x.context.appDirectory});return r.removePlugins(["lynx:react-alias"]),r}class ec extends x9{toString(){return this.contents.join("\n").trim()}}class ei{options;constructor(x){this.options=x}apply(x){x.hooks.make.tapPromise(ei.name,async()=>{await this.options.pluginSystem.callWorkerHooks("collectMetaData",{collector:this.options.context.metadata})}),x.hooks.compilation.tap(ei.name,x=>{x.hooks.optimizeTree.tapPromise(ei.name,async _=>{await this.options.pluginSystem.callWorkerHooks("build",{metadata:this.options.context.metadata,fileDependencies:x.fileDependencies})})}),x.hooks.shouldEmit.tap(ei.name,()=>!1),x.hooks.done.tapPromise(ei.name,async x=>{await this.options.pluginSystem.callWorkerHooks("afterBuild",{stats:x})}),x.hooks.thisCompilation.tap(ei.name,_=>{_.hooks.processAssets.tap({name:ei.name,stage:x.webpack.Compilation.PROCESS_ASSETS_STAGE_SUMMARIZE},()=>{let{context:x}=this.options;_.getAssets().forEach(_=>{let{name:a}=_;return a.endsWith(".js")?x.setMainThreadAssetPath(a):a.endsWith(".js.map")?x.setMainThreadMapAssetPath(a):void 0})})})}}class eo{pluginSystem;constructor(x){this.pluginSystem=x}async createEntry(){let{entry:x}=await this.pluginSystem.callWorkerHooks("modifyEntryOption",{entry:{[_D]:new ec(`.${n.sep}${_D}.js`,"")}});return x}async createConfig({config:x}){var _,a,e;let r;await this.pluginSystem.callWorkerHooks("modifyEnvironment",{environment:x.context.environment});let t=await this.createEntry(),A=N({root:x.context.appDirectory,source:{...x.options.source,entry:Object.fromEntries(Object.entries(t).map(([x,_])=>[x,{import:_.filename,layer:q.BACKGROUND}])),define:{...x.options.source?.define,__DEV__:JSON.stringify(!aN()),__MAIN_PROCESS__:JSON.stringify(!0),__LEPUS__:JSON.stringify(!1),__LYNXVIEW__:JSON.stringify(!1),"process.env":"({})"}},resolve:{alias:{...x.options.source?.alias,...x.options.resolve?.alias,"@byted-doubao-apps/framework$":"@byted-doubao-apps/framework/worker"}},output:{minify:!1,cleanDistPath:!1,target:"web-worker",distPath:{root:x.context.rootPath,js:"base"},filename:{js:aw()?"[name].js":"[name].template.js"},sourceMap:{js:"production"===process.env.NODE_ENV?"hidden-source-map":"cheap-module-source-map"},legalComments:"none",assetPrefix:"./",overrideBrowserslist:aN()?_P:_F,polyfill:"usage"},dev:{hmr:!1},tools:{htmlPlugin:!1,rspack:{watchOptions:{ignored:["**/.git"]},plugins:[new I.experiments.VirtualModulesPlugin(Object.fromEntries(Object.entries(t).map(([x,_])=>[_.filename,_.toString()]))),(_=x.context.appDirectory,r=n.join(_,_3),{name:"worker-style-proxy-plugin",apply(x){new x.webpack.experiments.VirtualModulesPlugin({[r]:"export {};\n"}).apply(x),x.hooks.normalModuleFactory.tap("worker-style-proxy-plugin",_=>{_.hooks.beforeResolve.tap({name:"worker-style-proxy-plugin",stage:-1e3},_=>{var a;let e;return a=_4.get(x),void((e=function(x){let _=x.request;if(!_||!_2.test(_))return;let a=/^(.*?)([?#].*)?$/.exec(_),e=a?.[1]??_,r=a?.[2]??"";return n.isAbsolute(e)?`${e}${r}`:e.startsWith(".")?`${n.resolve(x.context??process.cwd(),e)}${r}`:_}(_))&&(a?.add(e),_.request=r))})})}}),new I.optimize.LimitChunkCountPlugin({maxChunks:1}),new z]},swc:{jsc:{target:"es2020"},env:void 0}},plugins:[Y(x.options.tools?.tsChecker),(a=this.pluginSystem,e=x.context,{name:"worker-hooks-plugin",setup(x){x.modifyBundlerChain(x=>{x.plugin("worker-hooks-plugin").use(ei,[{pluginSystem:a,context:e}])})}}),{name:"expose-layers",setup(x){x.expose(Symbol.for("LAYERS"),q)}},...aF()?[]:[C({externals:ea(x.commandType===_l.DEV),globalObject:"lynx"})]],performance:{bundleAnalyze:x.commandType===_l.ANALYZE?{}:void 0,printFileSize:aI()}});return await this.pluginSystem.callWorkerHooks("beforeBuild",{buildConfig:A}),A}}async function ev(x,_){let a=new eo(_),e=await a.createConfig({config:x});return await S({cwd:x.context.appDirectory,config:e})}async function el(x,_){var a;let e=await ev(x,_),[r]=await e.initConfigs({action:x.commandType===_l.DEV?"dev":"build"});return await es({...x,rsbuildPlugins:[...x.rsbuildPlugins||[],(a=x.context,{name:"worker-sub-compiler-plugin",setup(x){x.modifyBundlerChain(x=>{x.plugin(_6.name).use(_6,[{workerConfig:r,context:a}])})}})]},_)}function ef(x){return x?"doubao-developer.bytedance.net":"hello.doubao-dev.com"}function eb(){return process.env.X_TT_ENV?{"x-use-ppe":"1","x-tt-env":process.env.X_TT_ENV}:{}}let ed=x=>{try{return L.statSync(x,{throwIfNoEntry:!1})?.isFile()}catch(x){return!1}};async function eE({internal:x}){let _=ef(x),a=`https://${_}/developer/resource_api/apps/:app_key/dek/public_key`;try{let x=await fetch(a,{method:"GET",headers:{...eb()}}),_=x.headers.get("x-tt-logid")||"";if(!x.ok){let a=await x.text(),e=JSON.stringify({code:x.status,message:"HTTP Error",data:a,log_id:_});throw Error(e)}let e=await x.json();if(0!==e.code){let x=JSON.stringify({...e,log_id:_});throw Error(x)}return e}catch(x){throw console.error("getKEK error:",x?.message||x),x}}async function em(x,_){if(!aP()){if(x)return x;if(aN()&&_===_l.DEPLOY){let{data:x}=await eE({internal:!1}),_=Number(Object.keys(x.keys)[0]);return{signing:{enabled:!1},encryption:{enabled:!0,wrap_key:x.keys[_],key_id:_,salt:""}}}}}async function eu({cwd:x=process.cwd(),customConfigFile:_}){let a=function(x,_){if(_){let a=xc.default.isAbsolute(_)?_:xc.default.resolve(x,_);if(xU.default.existsSync(a))return a;y.warn(`Cannot find config file: ${W.dim(a)}
64
+ `)}for(let _ of _K.map(_=>xc.default.resolve(x,`${_X}${_}`)))if(ed(_))return _;return!1}(x,_);if(!a)return{};try{let x=xx(A(import.meta.url),{requireCache:!1,interopDefault:!0});return await x.import(a,{default:!0})}catch(x){throw y.error(`Failed to load file: ${W.dim(a)}`),x}}function eh(x,_,a=!1,e=!1){let r=x8(_);return Object.keys(x).reduce((t,A)=>{let{filename:s}=x[A],c=`${xi}${n.sep}${A}${n.extname(s)}`,i=x1(n.join(_,c,".."),s);return t[A]=new x9(c),t[A].appendImports({moduleSpecifier:"@lynx-js/react",importSpecifiers:[{propertyName:"root",name:"root"}]},{moduleSpecifier:i,importSpecifiers:[{propertyName:"default",name:"View"}]},{moduleSpecifier:r,importSpecifiers:[{propertyName:"bootstrapReactLynx",name:"bootstrapReactLynx"},{propertyName:"getViewContext",name:"getViewContext"}]}),t[A].appendContent(`
65
65
  const viewId = __LEPUS__ ? '' : getViewContext()?.viewId ?? '';
66
66
 
67
67
  const FC = bootstrapReactLynx(View, viewId, ${JSON.stringify(e)});
@@ -71,14 +71,14 @@ root.render(<FC />);
71
71
  if (import.meta.webpackHot) {
72
72
  import.meta.webpackHot.accept()
73
73
  }
74
- `),t},{})}function eu(x){return x?.type==="Identifier"}function eh(x){return x?.type==="StringLiteral"}function ep(x){return x?.type==="NumericLiteral"}function ej(x){return x?.type==="BooleanLiteral"}function eS(x){return x?.type==="ObjectExpression"}function eg(x){return x?.type==="ArrayExpression"}function ey(x){return x?.type==="CallExpression"}function eN(x){return x?.type==="KeyValueProperty"}function eI(x){return x?.type==="SpreadElement"}function eB(x){return x.value}let eF=x=>{if(eS(x)){let _={};for(let a of x.properties){if(eI(a)||!eN(a))return null;let{key:x,value:e}=a;if(!eu(x)&&!eh(x))return null;let r=eB(x);eS(e)||eg(e)?_[r]=eF(e):eh(e)||ep(e)||ej(e)?_[r]=e.value:eu(e)&&(_[r]=e)}return _}if(eg(x)){let _=[];for(let a of x.elements){if(!a||a.spread)return null;let x=a.expression;eS(x)||eg(x)?_.push(eF(x)):eh(x)||ep(x)||ej(x)?_.push(x.value):eu(x)&&_.push(x)}return _}};function eP(x,_,a){let{widgets:e,pages:r,collector:t,define:A}=a,n=r[_],s=e[_],c=x;return(n||s)&&(A&&Object.keys(A).length>0&&(c=Object.keys(A).reduce((x,_)=>x.replaceAll(_,A[_]),x)),xr(xe(c,{syntax:"typescript",tsx:!0,decorators:!0}),{CallExpression(x){if(eu(x.callee)&&["defineWidget","definePage"].includes(x.callee.value)){let _=x.arguments[0]?.expression;if(eS(_)){for(let x of _.properties)if(eN(x)&&eu(x.key)&&"aiMeta"===x.key.value){let _=eF(x.value);n?t.addPageMeta(n,_):s&&t.addWidgetMeta(s,_)}}}eu(x.callee)&&x.callee.value in xs&&(s&&t.addWidgetMeta(s,xs[x.callee.value]),n&&t.addPageMeta(n,xs[x.callee.value]))}})),x}async function ew({pages:x,widgets:_,entries:a,define:e={},collector:r}){let t={collector:r,widgets:Object.fromEntries(Object.entries(_).map(([x,_])=>[_.filename,x])),pages:Object.fromEntries(Object.entries(x).map(([x,_])=>[_.filename,x])),define:e};await Promise.all(Object.values({..._,...x}).filter(({filename:x})=>/\.(ts|tsx|jsx|js)$/i.test(x)).map(({filename:x,isVirtualFile:_})=>{if(_){let _=t.widgets[x]??t.pages[x],e=a[`${xv}/${_}`]??a[`${xv}/${_}`];return e?eP(e.toString(),x,t):void y.warn(`Can not find virtual file ${_}`)}return eP(xU.default.readFileSync(x,"utf-8"),x,t)})).catch(x=>{y.error(x)})}let eL="LynxPlugin",eD={name:eL,async setup(x){let{appDirectory:_,command:a,metadata:e,userConfig:r,widgets:t,pages:A}=x.context,n=Object.keys(t).length>0||Object.keys(A).length>0;if(x.view.hooks.modifyEnvironment.tapPromise(eL,async({environment:x})=>{x.useLynx=n}),n){let n=a===_f.DEV,s={};x.view.hooks.modifyEntryOption.tapPromise({name:eL,stage:x.view.MODIFY_ENTRY_OPTION_STAGE_CREATE_BASE},async({entry:x})=>(s=x=Object.assign(x,Object.fromEntries([...Object.entries({...em(t,_,n,!1)}).map(([x,_])=>[`${xv}/${x}`,_]),...Object.entries({...em(A,_,n,!0)}).map(([x,_])=>[`${xv}/${x}`,_])])),{entry:x})),x.view.hooks.collectMetaData.tapPromise(eL,async({collector:x})=>{await ew({widgets:t,pages:A,entries:s,define:r.source?.define,collector:x})}),x.assets.hooks.beforeEmit.tapPromise({name:eL,stage:x.assets.BEFORE_EMIT_STAGE_PROCESS_VIEW_ASSETS},async({assets:_})=>{let{widgets:a,pages:r,app:t}=e.getInstance();Object.keys(a).forEach(e=>{let r=`${xv}/${e}/template.js`,t=_.getAsset(r),A=a[e];if(A&&t){let a=`${A.metadata.id}/template.js`;t.destination=a,_.getManifestAsset(x.context.manifestAssetPath).appendWidget(A.toManifest(a,t.hashCode,xA.LYNX))}}),Object.keys(r).forEach(a=>{let e=r[a],A=`${xv}/${a}/template.js`,n=_.getAsset(A);if(e&&n){let a=`${t.metadata.package}/${e.metadata.id}/template.js`;n.destination=a,_.getManifestAsset(x.context.manifestAssetPath).appendPage(e.toManifest(a,n.hashCode,xA.LYNX))}})}),x.assets.hooks.afterEmit.tapPromise(eL,async({assets:x})=>{}),x.view.hooks.afterBuild.tapPromise(eL,async({stats:x})=>{})}}},ek=({dirname:x,app:_,functionalTools:a})=>{let e=[],r=[],t=x8(xc.default.resolve(_,"..",".."));return Object.keys(a).forEach((_,t)=>{a[_]&&(e.push(`Tool${t}`),r.push(`import Tool${t} from "${x1(x,a[_])}";`))}),`
74
+ `),t},{})}function ep(x){return x?.type==="Identifier"}function ej(x){return x?.type==="StringLiteral"}function eS(x){return x?.type==="NumericLiteral"}function eg(x){return x?.type==="BooleanLiteral"}function ey(x){return x?.type==="ObjectExpression"}function eN(x){return x?.type==="ArrayExpression"}function eI(x){return x?.type==="CallExpression"}function eB(x){return x?.type==="KeyValueProperty"}function eF(x){return x?.type==="SpreadElement"}function eP(x){return x.value}let ew=x=>{if(ey(x)){let _={};for(let a of x.properties){if(eF(a)||!eB(a))return null;let{key:x,value:e}=a;if(!ep(x)&&!ej(x))return null;let r=eP(x);ey(e)||eN(e)?_[r]=ew(e):ej(e)||eS(e)||eg(e)?_[r]=e.value:ep(e)&&(_[r]=e)}return _}if(eN(x)){let _=[];for(let a of x.elements){if(!a||a.spread)return null;let x=a.expression;ey(x)||eN(x)?_.push(ew(x)):ej(x)||eS(x)||eg(x)?_.push(x.value):ep(x)&&_.push(x)}return _}};function eL(x,_,a){let{widgets:e,pages:r,collector:t,define:A}=a,n=r[_],s=e[_],c=x;return(n||s)&&(A&&Object.keys(A).length>0&&(c=Object.keys(A).reduce((x,_)=>x.replaceAll(_,A[_]),x)),xr(xe(c,{syntax:"typescript",tsx:!0,decorators:!0}),{CallExpression(x){if(ep(x.callee)&&["defineWidget","definePage"].includes(x.callee.value)){let _=x.arguments[0]?.expression;if(ey(_)){for(let x of _.properties)if(eB(x)&&ep(x.key)&&"aiMeta"===x.key.value){let _=ew(x.value);n?t.addPageMeta(n,_):s&&t.addWidgetMeta(s,_)}}}ep(x.callee)&&x.callee.value in xs&&(s&&t.addWidgetMeta(s,xs[x.callee.value]),n&&t.addPageMeta(n,xs[x.callee.value]))}})),x}async function eD({pages:x,widgets:_,entries:a,define:e={},collector:r}){let t={collector:r,widgets:Object.fromEntries(Object.entries(_).map(([x,_])=>[_.filename,x])),pages:Object.fromEntries(Object.entries(x).map(([x,_])=>[_.filename,x])),define:e};await Promise.all(Object.values({..._,...x}).filter(({filename:x})=>/\.(ts|tsx|jsx|js)$/i.test(x)).map(({filename:x,isVirtualFile:_})=>{if(_){let _=t.widgets[x]??t.pages[x],e=a[`${xv}/${_}`]??a[`${xv}/${_}`];return e?eL(e.toString(),x,t):void y.warn(`Can not find virtual file ${_}`)}return eL(xU.default.readFileSync(x,"utf-8"),x,t)})).catch(x=>{y.error(x)})}let ek="LynxPlugin",eT={name:ek,async setup(x){let{appDirectory:_,command:a,metadata:e,userConfig:r,widgets:t,pages:A}=x.context,n=Object.keys(t).length>0||Object.keys(A).length>0;if(x.view.hooks.modifyEnvironment.tapPromise(ek,async({environment:x})=>{x.useLynx=n}),n){let n=a===_f.DEV,s={};x.view.hooks.modifyEntryOption.tapPromise({name:ek,stage:x.view.MODIFY_ENTRY_OPTION_STAGE_CREATE_BASE},async({entry:x})=>(s=x=Object.assign(x,Object.fromEntries([...Object.entries({...eh(t,_,n,!1)}).map(([x,_])=>[`${xv}/${x}`,_]),...Object.entries({...eh(A,_,n,!0)}).map(([x,_])=>[`${xv}/${x}`,_])])),{entry:x})),x.view.hooks.collectMetaData.tapPromise(ek,async({collector:x})=>{await eD({widgets:t,pages:A,entries:s,define:r.source?.define,collector:x})}),x.assets.hooks.beforeEmit.tapPromise({name:ek,stage:x.assets.BEFORE_EMIT_STAGE_PROCESS_VIEW_ASSETS},async({assets:_})=>{let{widgets:a,pages:r,app:t}=e.getInstance();Object.keys(a).forEach(e=>{let r=`${xv}/${e}/template.js`,t=_.getAsset(r),A=a[e];if(A&&t){let a=`${A.metadata.id}/template.js`;t.destination=a,_.getManifestAsset(x.context.manifestAssetPath).appendWidget(A.toManifest(a,t.hashCode,xA.LYNX))}}),Object.keys(r).forEach(a=>{let e=r[a],A=`${xv}/${a}/template.js`,n=_.getAsset(A);if(e&&n){let a=`${t.metadata.package}/${e.metadata.id}/template.js`;n.destination=a,_.getManifestAsset(x.context.manifestAssetPath).appendPage(e.toManifest(a,n.hashCode,xA.LYNX))}})}),x.assets.hooks.afterEmit.tapPromise(ek,async({assets:x})=>{}),x.view.hooks.afterBuild.tapPromise(ek,async({stats:x})=>{})}}},e$=({dirname:x,app:_,functionalTools:a})=>{let e=[],r=[],t=x8(xc.default.resolve(_,"..",".."));return Object.keys(a).forEach((_,t)=>{a[_]&&(e.push(`Tool${t}`),r.push(`import Tool${t} from "${x1(x,a[_])}";`))}),`
75
75
  import { Applet } from "${t}";
76
76
  import App from "${x1(x,_)}";
77
77
 
78
78
  ${r.join("\n")}
79
79
 
80
80
  new Applet(App, [${e.join(", ")}]).bootstrap();
81
- `},eT=(x,_,a)=>{let e=ek({dirname:xc.default.dirname(x),app:_,functionalTools:a});return new x9(x,e)},e$=u("fs/promises"),eC=async(x,_="")=>{if(!xU.default.existsSync(x))return{};let a={},e=await e$.default.readdir(x),r=xc.default.basename(x);for(let t of e.filter(x=>!_||x.includes(_))){let _=xc.default.resolve(x,t);if(!xU.default.statSync(_).isDirectory())continue;let e=xc.default.resolve(_,_y),A=xc.default.resolve(_,_N),n=null;xU.default.existsSync(e)?n=e:xU.default.existsSync(A)&&(n=A),n&&(a[`${r}/${t}`]={folderName:t,renderType:xA.REACT_LYNX,filename:n})}return a},eG=async(x,_="")=>{if(!xU.default.existsSync(x))return{viewEntries:{},apiEntries:{}};let a=await eC(x,_),e={},r=xc.default.basename(x),t=xc.default.resolve(x,_j);xU.default.existsSync(t)&&(e[`${r}/${_T}`]={filename:t,folderName:x});let A=xc.default.resolve(x,_p);return xU.default.existsSync(A)&&(e[`${r}/${_k}`]={filename:A,folderName:x}),{viewEntries:a,apiEntries:e}},eq=async(x,_)=>xU.default.existsSync(x)?(await e$.default.readdir(x)).reduce((a,e)=>{let r=xc.default.resolve(x,e);return xU.default.statSync(r).isDirectory()&&xU.default.existsSync(xc.default.resolve(r,_))&&(a[e]=xc.default.resolve(r,_)),a},{}):{},eX=(x,_,a=".jsx")=>Object.keys(x).reduce((e,r)=>(e[r]={renderType:x[r].renderType,folderName:_,filename:xc.default.resolve(_,`${r}${a}`)},e),{});function eK(x){return n.resolve(x,_b)}let eZ=async x=>{let _=n.resolve(x,_h),a=await eq(_,_N),e=eK(x);return{tools:a,app:L.existsSync(e)?e:void 0}},eR=async(x,_="")=>{let a=n.resolve(x,_E),e=n.resolve(x,_m),r=n.resolve(x,_u),[t,A,s]=await Promise.all([eC(a,_),eC(e,_),eG(r,_)]);return{widgets:{...A},pages:{...t},mcpUI:s}};async function eO(x,_,a){let{app:e,tools:r,collector:t,define:A}=a,n=r[_],s=x;(n||e===_)&&(A&&Object.keys(A).length>0&&(s=Object.keys(A).reduce((x,_)=>x.replaceAll(_,A[_]),x)),xr(xe(s,{syntax:"typescript",tsx:!0,decorators:!0}),{CallExpression(x){if(eu(x.callee)&&["defineTool","defineApp"].includes(x.callee.value)){let _=x.arguments[0]?.expression;if(eS(_)){for(let x of _.properties)if(eN(x)&&eu(x.key)&&"aiMeta"===x.key.value){let _=eF(x.value);n?t.addToolMeta(n,_):t.addAppMeta(_)}}}}}))}async function eJ({tools:x,app:_,collector:a,define:e}){let r={collector:a,tools:Object.fromEntries(Object.entries(x).map(([x,_])=>[_,x])),app:_,define:e};xU.default.existsSync(_)?await Promise.all(Object.values({...x,app:_}).filter(x=>/\.(ts|tsx|jsx|js)$/i.test(x)&&xU.default.existsSync(x)).map(x=>eO(xU.default.readFileSync(x,"utf-8"),x,r))):console.error(`app file ${_} not exists`)}let eH={name:"AppletMainPlugin",setup:async x=>{let{app:_,tools:a}=x.context;_&&(x.worker.hooks.modifyEntryOption.tapPromise("AppletMainPlugin",async({entry:e})=>{delete e[_D];let r=eT(`${x.context.appDirectory}${n.sep}${xi}${n.sep}${xF}.js`,_,a);return Object.assign(e,{[xF]:r}),{entry:e}}),x.worker.hooks.modifyEnvironment.tapPromise("AppletMainPlugin",async({environment:x})=>{}),x.worker.hooks.collectMetaData.tapPromise("AppletMainPlugin",async({collector:e})=>{await eJ({tools:a,app:_,collector:e,define:x.context.userConfig.source?.define})}),x.assets.hooks.beforeEmit.tapPromise({name:"AppletMainPlugin",stage:x.assets.BEFORE_EMIT_STAGE_PROCESS_WORKER_ASSETS},async({assets:_})=>{var a,e;let{app:r,tools:t}=x.context.metadata.getInstance(),A=_.getAsset(x.context.mainThreadAssetPath),n=_.getManifestAsset(x.context.manifestAssetPath),{manifest:s}=n,c=[];s.applet.pages.forEach(x=>{c.push(x.digest)}),n.setBasicManifest({manifestVersion:_$,packageName:r.metadata.package,scmVersion:process.env.BUILD_VERSION,versionCode:Date.now().toString(),runtimeVersion:_C});let i=x.context.mainThreadAssetPath,o=r.toManifest({toolsMetadata:t,hashCode:A?.hashCode??(a=A?.hashCode??s?.applet?.digest,e=c.join(""),a2.default.createHash("sha256").update(a+e).digest("hex").substring(0,8)),appRuntimeEntry:i,appRuntimeType:x.context.environment.useLynx?"lynx":"js"});n.setAppletManifest(o)}),x.assets.hooks.afterEmit.tapPromise({name:"AppletMainPlugin",stage:x.assets.AFTER_EMIT_STAGE_PROCESS_WORKER_ASSETS},async({assets:x})=>{}),x.worker.hooks.afterBuild.tapPromise("AppletMainPlugin",async({stats:x})=>{}))}},eV={name:"AppletMainEntryCheckPlugin",setup:async x=>{let{srcDirectory:_}=x.context,a=eK(_);if(!xU.default.existsSync(a))throw Error("ENOENT: no such file or directory")}},eM={name:"McpUIPlugin",async setup(x){x.view.hooks.modifyEnvironment.tapPromise(eM.name,async({environment:x})=>{x.useMcpUI=!0}),x.view.hooks.modifyEntryOption.tapPromise({name:eM.name,stage:x.view.MODIFY_ENTRY_OPTION_STAGE_CREATE_BASE},async({entry:_})=>{let a,e,r,t,A,n,s,{appDirectory:c,isDev:i,widgets:o,pages:v,mcpUI:l}=x.context;return Object.assign(v,l.viewEntries),{entry:_=Object.assign(_,Object.fromEntries([...Object.entries({...(a=x8(c),e=`${xi}${xc.default.sep}${xp}${xc.default.sep}${xP}.tsx`,o[r=`${xp}${xc.default.sep}${xP}`]={filename:e,renderType:xA.REACT_LYNX,folderName:xP,isVirtualFile:!0},t=new x9(e),A=xc.default.join(c,xc.default.dirname(e)),n=Object.values(l.apiEntries).find(x=>"login"===xc.default.parse(x.filename).name),s=Object.values(l.apiEntries).find(x=>"privacy"===xc.default.parse(x.filename).name),n&&t.appendImports({moduleSpecifier:x1(A,n.filename),importSpecifiers:[{propertyName:"default",name:"loginApi"}]}),s&&t.appendImports({moduleSpecifier:x1(A,s.filename),importSpecifiers:[{propertyName:"default",name:"privacyApi"}]}),t.appendImports({moduleSpecifier:"@lynx-js/react",importSpecifiers:[{propertyName:"root",name:"root"}]},{moduleSpecifier:a,importSpecifiers:[{propertyName:"bootstrapReactLynx",name:"bootstrapReactLynx"},{propertyName:"getViewContext",name:"getViewContext"},{propertyName:"definePrivacyLoginWidget",name:"definePrivacyLoginWidget"}]},{moduleSpecifier:"@byted-doubao-apps/components",importSpecifiers:[{propertyName:"MCPAuthCard",name:"MCPAuthCard"}]}),t.appendContent(`
81
+ `},eC=(x,_,a)=>{let e=e$({dirname:xc.default.dirname(x),app:_,functionalTools:a});return new x9(x,e)},eG=u("fs/promises"),eq=async(x,_="")=>{if(!xU.default.existsSync(x))return{};let a={},e=await eG.default.readdir(x),r=xc.default.basename(x);for(let t of e.filter(x=>!_||x.includes(_))){let _=xc.default.resolve(x,t);if(!xU.default.statSync(_).isDirectory())continue;let e=xc.default.resolve(_,_y),A=xc.default.resolve(_,_N),n=null;xU.default.existsSync(e)?n=e:xU.default.existsSync(A)&&(n=A),n&&(a[`${r}/${t}`]={folderName:t,renderType:xA.REACT_LYNX,filename:n})}return a},eX=async(x,_="")=>{if(!xU.default.existsSync(x))return{viewEntries:{},apiEntries:{}};let a=await eq(x,_),e={},r=xc.default.basename(x),t=xc.default.resolve(x,_j);xU.default.existsSync(t)&&(e[`${r}/${_T}`]={filename:t,folderName:x});let A=xc.default.resolve(x,_p);return xU.default.existsSync(A)&&(e[`${r}/${_k}`]={filename:A,folderName:x}),{viewEntries:a,apiEntries:e}},eK=async(x,_)=>xU.default.existsSync(x)?(await eG.default.readdir(x)).reduce((a,e)=>{let r=xc.default.resolve(x,e);return xU.default.statSync(r).isDirectory()&&xU.default.existsSync(xc.default.resolve(r,_))&&(a[e]=xc.default.resolve(r,_)),a},{}):{},eZ=(x,_,a=".jsx")=>Object.keys(x).reduce((e,r)=>(e[r]={renderType:x[r].renderType,folderName:_,filename:xc.default.resolve(_,`${r}${a}`)},e),{});function eR(x){return n.resolve(x,_b)}let eO=async x=>{let _=n.resolve(x,_h),a=await eK(_,_N),e=eR(x);return{tools:a,app:L.existsSync(e)?e:void 0}},eJ=async(x,_="")=>{let a=n.resolve(x,_E),e=n.resolve(x,_m),r=n.resolve(x,_u),[t,A,s]=await Promise.all([eq(a,_),eq(e,_),eX(r,_)]);return{widgets:{...A},pages:{...t},mcpUI:s}};async function eH(x,_,a){let{app:e,tools:r,collector:t,define:A}=a,n=r[_],s=x;(n||e===_)&&(A&&Object.keys(A).length>0&&(s=Object.keys(A).reduce((x,_)=>x.replaceAll(_,A[_]),x)),xr(xe(s,{syntax:"typescript",tsx:!0,decorators:!0}),{CallExpression(x){if(ep(x.callee)&&["defineTool","defineApp"].includes(x.callee.value)){let _=x.arguments[0]?.expression;if(ey(_)){for(let x of _.properties)if(eB(x)&&ep(x.key)&&"aiMeta"===x.key.value){let _=ew(x.value);n?t.addToolMeta(n,_):t.addAppMeta(_)}}}}}))}async function eV({tools:x,app:_,collector:a,define:e}){let r={collector:a,tools:Object.fromEntries(Object.entries(x).map(([x,_])=>[_,x])),app:_,define:e};xU.default.existsSync(_)?await Promise.all(Object.values({...x,app:_}).filter(x=>/\.(ts|tsx|jsx|js)$/i.test(x)&&xU.default.existsSync(x)).map(x=>eH(xU.default.readFileSync(x,"utf-8"),x,r))):console.error(`app file ${_} not exists`)}let eM={name:"AppletMainPlugin",setup:async x=>{let{app:_,tools:a}=x.context;_&&(x.worker.hooks.modifyEntryOption.tapPromise("AppletMainPlugin",async({entry:e})=>{delete e[_D];let r=eC(`${x.context.appDirectory}${n.sep}${xi}${n.sep}${xF}.js`,_,a);return Object.assign(e,{[xF]:r}),{entry:e}}),x.worker.hooks.modifyEnvironment.tapPromise("AppletMainPlugin",async({environment:x})=>{}),x.worker.hooks.collectMetaData.tapPromise("AppletMainPlugin",async({collector:e})=>{await eV({tools:a,app:_,collector:e,define:x.context.userConfig.source?.define})}),x.assets.hooks.beforeEmit.tapPromise({name:"AppletMainPlugin",stage:x.assets.BEFORE_EMIT_STAGE_PROCESS_WORKER_ASSETS},async({assets:_})=>{var a,e;let{app:r,tools:t}=x.context.metadata.getInstance(),A=_.getAsset(x.context.mainThreadAssetPath),n=_.getManifestAsset(x.context.manifestAssetPath),{manifest:s}=n,c=[];s.applet.pages.forEach(x=>{c.push(x.digest)}),n.setBasicManifest({manifestVersion:_$,packageName:r.metadata.package,scmVersion:process.env.BUILD_VERSION,versionCode:Date.now().toString(),runtimeVersion:_C});let i=x.context.mainThreadAssetPath,o=r.toManifest({toolsMetadata:t,hashCode:A?.hashCode??(a=A?.hashCode??s?.applet?.digest,e=c.join(""),a3.default.createHash("sha256").update(a+e).digest("hex").substring(0,8)),appRuntimeEntry:i,appRuntimeType:x.context.environment.useLynx?"lynx":"js"});n.setAppletManifest(o)}),x.assets.hooks.afterEmit.tapPromise({name:"AppletMainPlugin",stage:x.assets.AFTER_EMIT_STAGE_PROCESS_WORKER_ASSETS},async({assets:x})=>{}),x.worker.hooks.afterBuild.tapPromise("AppletMainPlugin",async({stats:x})=>{}))}},eU={name:"AppletMainEntryCheckPlugin",setup:async x=>{let{srcDirectory:_}=x.context,a=eR(_);if(!xU.default.existsSync(a))throw Error("ENOENT: no such file or directory")}},eQ={name:"McpUIPlugin",async setup(x){aL()||(x.view.hooks.modifyEnvironment.tapPromise(eQ.name,async({environment:x})=>{x.useMcpUI=!0}),x.view.hooks.modifyEntryOption.tapPromise({name:eQ.name,stage:x.view.MODIFY_ENTRY_OPTION_STAGE_CREATE_BASE},async({entry:_})=>{let a,e,r,t,A,n,s,{appDirectory:c,isDev:i,widgets:o,pages:v,mcpUI:l}=x.context;return Object.assign(v,l.viewEntries),{entry:_=Object.assign(_,Object.fromEntries([...Object.entries({...(a=x8(c),e=`${xi}${xc.default.sep}${xp}${xc.default.sep}${xP}.tsx`,o[r=`${xp}${xc.default.sep}${xP}`]={filename:e,renderType:xA.REACT_LYNX,folderName:xP,isVirtualFile:!0},t=new x9(e),A=xc.default.join(c,xc.default.dirname(e)),n=Object.values(l.apiEntries).find(x=>"login"===xc.default.parse(x.filename).name),s=Object.values(l.apiEntries).find(x=>"privacy"===xc.default.parse(x.filename).name),n&&t.appendImports({moduleSpecifier:x1(A,n.filename),importSpecifiers:[{propertyName:"default",name:"loginApi"}]}),s&&t.appendImports({moduleSpecifier:x1(A,s.filename),importSpecifiers:[{propertyName:"default",name:"privacyApi"}]}),t.appendImports({moduleSpecifier:"@lynx-js/react",importSpecifiers:[{propertyName:"root",name:"root"}]},{moduleSpecifier:a,importSpecifiers:[{propertyName:"bootstrapReactLynx",name:"bootstrapReactLynx"},{propertyName:"getViewContext",name:"getViewContext"},{propertyName:"definePrivacyLoginWidget",name:"definePrivacyLoginWidget"}]},{moduleSpecifier:`${a}/components`,importSpecifiers:[{propertyName:"MCPAuthCard",name:"MCPAuthCard"}]}),t.appendContent(`
82
82
  const viewId = __LEPUS__ ? '' : getViewContext()?.viewId ?? '';
83
83
 
84
84
  const View = definePrivacyLoginWidget({
@@ -100,7 +100,7 @@ root.render(<FC />);
100
100
  if (import.meta.webpackHot) {
101
101
  import.meta.webpackHot.accept()
102
102
  }
103
- `:""),{[r]:t})}).map(([x,_])=>[`${xv}/${x}`,_]),...Object.entries({...em(l.viewEntries,c,i)}).map(([x,_])=>[`${xv}/${x}`,_])]))}})}},eU={name:"AppletManifestPlugin",setup:async x=>{x.assets.hooks.beforeEmit.tapPromise({name:"AppletManifestPlugin",stage:x.assets.BEFORE_EMIT_STAGE_PROCESS_MANIFEST_ASSETS},async({assets:_})=>{let{signingEncryptionOptions:a}=x.context,{signing:e}=a||{};if(e?.enabled){let a=_.getManifestAsset(x.context.manifestAssetPath),r=a.getManifest(),{buffer:t,status:A,error_msg:n}=await (0,aY.signData)(Buffer.from(a.content),{key_path:e.key_path,key_id:e.key_id,extra_config:{app_id:r.packageName,bundle_id:"manifest"},output_mode:"sign_block"});if(0!==A)throw Error(n);let s=new a3(xB,t.toString());s.destination=xB,_.addAsset(xB,s)}})}},eQ={name:"AppletViewEntryPlugin",async setup(x){let{srcDirectory:_}=x.context,{pages:a,widgets:e,mcpUI:r}=await eR(_);x.context.setViewEntries({pages:a,widgets:e}),x.context.setMcpUIApi(r)}},ez=()=>[eH,eQ,eD,eV,eM,eU];class eY{allowDevServerLog=!1;deploy={};_userConfig={};_command;_metadata;_versionTag;_environment={useLynx:!1,useMcpUI:!1};_srcDirectory="";_virtualEntryDir="";_appDirectory=process.cwd();_rootPath="";_mainThreadAssetPath="";_mainThreadMapAssetPath="";_manifestPath="";_manifest;_widgets={};_app="";_tools={};_pages={};_mcpUI={viewEntries:{},apiEntries:{}};_viewEntriesByType={};_signingEncryptionOptions;_dek=Buffer.from("");get userConfig(){return this._userConfig}get isDev(){return this._command===_l.DEV}get command(){return this._command}get metadata(){return this._metadata}get manifestPath(){return this._manifestPath}get appDirectory(){return this._appDirectory}get virtualEntryDir(){return this._virtualEntryDir}get srcDirectory(){return this._srcDirectory}get rootPath(){return this._rootPath}get manifest(){if(this._manifest)return{...this._manifest};try{return this._manifest=JSON.parse(L.readFileSync(this._manifestPath,"utf-8")),{...this._manifest}}catch(x){return{}}}get useLynx(){return this._environment.useLynx}get useMcpUI(){return this._environment.useMcpUI}get manifestAssetPath(){return xI}get mainThreadAssetPath(){return this._mainThreadAssetPath}get mainThreadMapAssetPath(){return this._mainThreadMapAssetPath}get environment(){return this._environment}get widgets(){return this._widgets}get pages(){return this._pages}get mcpUI(){return this._mcpUI}get viewEntriesByType(){return this._viewEntriesByType}get app(){return this._app}get tools(){return this._tools}get signingEncryptionOptions(){if(this._signingEncryptionOptions)return{...this._signingEncryptionOptions,encryption:{...this._signingEncryptionOptions?.encryption,dek:this.dek}}}get dek(){return this._dek}get isSignedEncryption(){return this.signingEncryptionOptions?.signing.enabled||this.signingEncryptionOptions?.encryption.enabled}setViewEntries({pages:x,widgets:_}){this.setPages(x),this.setWidgets(_)}setPages(x){this._pages=x}setWidgets(x){this._widgets=x}appendPages(x){Object.assign(this._pages,x)}appendWidgets(x){Object.assign(this._widgets,x)}getViewEntriesByType(x){return this._viewEntriesByType[x]??{pages:{},widgets:{}}}setViewEntriesByType(x,_){this._viewEntriesByType[x]=_}setMainThreadAssetPath(x){this._mainThreadAssetPath=x}setMainThreadMapAssetPath(x){this._mainThreadMapAssetPath=x}setManifest(x){this._manifest=x}setMcpUIApi(x){this._mcpUI=x}setSigningEncryptionOptions(x){this._signingEncryptionOptions=x}get versionTag(){return this._versionTag}async bootstrap({srcDirectory:x,appDirectory:_,rootPath:a,userConfig:e,command:r,metadata:t,signingEncryptionOptions:A,versionTag:s}){this._srcDirectory=x,this._appDirectory=_,this._virtualEntryDir=n.resolve(_,xi),this._rootPath=a,this._manifestPath=n.resolve(`${a}/${xI}`),this._userConfig=e,this._command=r,this._metadata=t,this._versionTag=s,this._signingEncryptionOptions=await ed(A,r),this._signingEncryptionOptions?.encryption.enabled&&(this._dek=(0,aY.generateDEK)(),aI()&&console.log("DEK base64:",Buffer.from(this.dek.buffer,this.dek.byteOffset,this.dek.byteLength).toString("base64")));let{app:c,tools:i}=await eZ(x);c&&(this._app=c),this._tools=i}}class eW{pluginSystem;rootPath=xl;context;appDirectory;_userConfig;constructor(x=process.cwd()){this.appDirectory=x}get manifest(){return this.context.manifest}async prepare(x,_={},a,e=ez()){Date.now();let r=await this.getUserConfig(_);this.rootPath=aI()?xc.default.resolve(this.appDirectory,xl):function({appKey:x,appDirectory:_=process.cwd()}={}){let a=n.basename(n.resolve(_))||"temp";return`${x_.tmpdir()}/${_w}/${x||a}`}({appDirectory:this.appDirectory}),L.existsSync(xc.default.resolve(this.rootPath))&&L.rmSync(xc.default.resolve(this.rootPath),{recursive:!0,force:!0}),this.context=new eY;let t=xc.default.resolve(this.appDirectory,xS);await this.context.bootstrap({srcDirectory:t,appDirectory:this.appDirectory,rootPath:this.rootPath,userConfig:r,command:x,metadata:new xX,signingEncryptionOptions:_.signingEncryptionOptions,versionTag:_.versionTag}),this.pluginSystem=new xM(this.context,[...e,...r.experiments?.taro?[function({name:x,appId:_,icons:a,widgets:e}){return{name:__,setup:r=>{let t=w(import.meta.url),{appDirectory:A,isDev:s,pages:c,widgets:i}=r.context;r.view.hooks.modifyEntryOption.tapPromise({name:__,stage:r.view.MODIFY_ENTRY_OPTION_STAGE_PROCESS_ENTRY},async({entry:x})=>{let _=_x(c,A,!1,s),a=_x(i,A,!0,s);return{entry:x=Object.assign(x,Object.fromEntries([...Object.entries(_).map(([x,_])=>[`${xv}/${x}`,_]),...Object.entries(a).map(([x,_])=>[`${xv}/${x}`,_])]))}}),r.view.hooks.beforeBuild.tapPromise({name:__,stage:r.view.BEFORE_BUILD_STAGE_MODIFY_BUNDLE_CONFIG},async({buildConfig:x})=>{x0(x,{resolve:{alias:{"@tarojs/components":t.resolve("@doubao-apps/taro-runtime/components",{paths:[A]}),"@tarojs/taro":(0,xc.dirname)(t.resolve("@doubao-apps/taro-runtime/package.json",{paths:[A]}))}}})}),r.worker.hooks.modifyEntryOption.tapPromise({name:__,stage:-1},async()=>{let a={},{app:e}=r.context;return e&&(a.app=function(x,_,a,e,r=!1){var t;let A=`${xi}${n.sep}${xF}.js`,s=(t=x1(n.dirname(A),x)).startsWith(".")?t:`./${t}`,c=x8(_);return new x9(A,`
103
+ `:""),{[r]:t})}).map(([x,_])=>[`${xv}/${x}`,_]),...Object.entries({...eh(l.viewEntries,c,i)}).map(([x,_])=>[`${xv}/${x}`,_])]))}}))}},ez={name:"AppletManifestPlugin",setup:async x=>{x.assets.hooks.beforeEmit.tapPromise({name:"AppletManifestPlugin",stage:x.assets.BEFORE_EMIT_STAGE_PROCESS_MANIFEST_ASSETS},async({assets:_})=>{let{signingEncryptionOptions:a}=x.context,{signing:e}=a||{};if(e?.enabled){let a=_.getManifestAsset(x.context.manifestAssetPath),r=a.getManifest(),{buffer:t,status:A,error_msg:n}=await (0,aW.signData)(Buffer.from(a.content),{key_path:e.key_path,key_id:e.key_id,extra_config:{app_id:r.packageName,bundle_id:"manifest"},output_mode:"sign_block"});if(0!==A)throw Error(n);let s=new a4(xB,t.toString());s.destination=xB,_.addAsset(xB,s)}})}},eY={name:"AppletViewEntryPlugin",async setup(x){let{srcDirectory:_}=x.context,{pages:a,widgets:e,mcpUI:r}=await eJ(_);x.context.setViewEntries({pages:a,widgets:e}),x.context.setMcpUIApi(r)}},eW=()=>[eM,eY,eT,eU,eQ,ez];class e0{allowDevServerLog=!1;deploy={};_userConfig={};_command;_metadata;_versionTag;_environment={useLynx:!1,useMcpUI:!1};_srcDirectory="";_virtualEntryDir="";_appDirectory=process.cwd();_rootPath="";_mainThreadAssetPath="";_mainThreadMapAssetPath="";_manifestPath="";_manifest;_widgets={};_app="";_tools={};_pages={};_mcpUI={viewEntries:{},apiEntries:{}};_viewEntriesByType={};_signingEncryptionOptions;_dek=Buffer.from("");get userConfig(){return this._userConfig}get isDev(){return this._command===_l.DEV}get command(){return this._command}get metadata(){return this._metadata}get manifestPath(){return this._manifestPath}get appDirectory(){return this._appDirectory}get virtualEntryDir(){return this._virtualEntryDir}get srcDirectory(){return this._srcDirectory}get rootPath(){return this._rootPath}get manifest(){if(this._manifest)return{...this._manifest};try{return this._manifest=JSON.parse(L.readFileSync(this._manifestPath,"utf-8")),{...this._manifest}}catch(x){return{}}}get useLynx(){return this._environment.useLynx}get useMcpUI(){return this._environment.useMcpUI}get manifestAssetPath(){return xI}get mainThreadAssetPath(){return this._mainThreadAssetPath}get mainThreadMapAssetPath(){return this._mainThreadMapAssetPath}get environment(){return this._environment}get widgets(){return this._widgets}get pages(){return this._pages}get mcpUI(){return this._mcpUI}get viewEntriesByType(){return this._viewEntriesByType}get app(){return this._app}get tools(){return this._tools}get signingEncryptionOptions(){if(this._signingEncryptionOptions)return{...this._signingEncryptionOptions,encryption:{...this._signingEncryptionOptions?.encryption,dek:this.dek}}}get dek(){return this._dek}get isSignedEncryption(){return this.signingEncryptionOptions?.signing.enabled||this.signingEncryptionOptions?.encryption.enabled}setViewEntries({pages:x,widgets:_}){this.setPages(x),this.setWidgets(_)}setPages(x){this._pages=x}setWidgets(x){this._widgets=x}appendPages(x){Object.assign(this._pages,x)}appendWidgets(x){Object.assign(this._widgets,x)}getViewEntriesByType(x){return this._viewEntriesByType[x]??{pages:{},widgets:{}}}setViewEntriesByType(x,_){this._viewEntriesByType[x]=_}setMainThreadAssetPath(x){this._mainThreadAssetPath=x}setMainThreadMapAssetPath(x){this._mainThreadMapAssetPath=x}setManifest(x){this._manifest=x}setMcpUIApi(x){this._mcpUI=x}setSigningEncryptionOptions(x){this._signingEncryptionOptions=x}get versionTag(){return this._versionTag}async bootstrap({srcDirectory:x,appDirectory:_,rootPath:a,userConfig:e,command:r,metadata:t,signingEncryptionOptions:A,versionTag:s}){this._srcDirectory=x,this._appDirectory=_,this._virtualEntryDir=n.resolve(_,xi),this._rootPath=a,this._manifestPath=n.resolve(`${a}/${xI}`),this._userConfig=e,this._command=r,this._metadata=t,this._versionTag=s,this._signingEncryptionOptions=await em(A,r),this._signingEncryptionOptions?.encryption.enabled&&(this._dek=(0,aW.generateDEK)(),aI()&&console.log("DEK base64:",Buffer.from(this.dek.buffer,this.dek.byteOffset,this.dek.byteLength).toString("base64")));let{app:c,tools:i}=await eO(x);c&&(this._app=c),this._tools=i}}class e1{pluginSystem;rootPath=xl;context;appDirectory;_userConfig;constructor(x=process.cwd()){this.appDirectory=x}get manifest(){return this.context.manifest}async prepare(x,_={},a,e=eW()){Date.now();let r=await this.getUserConfig(_);this.rootPath=aI()?xc.default.resolve(this.appDirectory,xl):function({appKey:x,appDirectory:_=process.cwd()}={}){let a=n.basename(n.resolve(_))||"temp";return`${x_.tmpdir()}/${_w}/${x||a}`}({appDirectory:this.appDirectory}),L.existsSync(xc.default.resolve(this.rootPath))&&L.rmSync(xc.default.resolve(this.rootPath),{recursive:!0,force:!0}),this.context=new e0;let t=xc.default.resolve(this.appDirectory,xS);await this.context.bootstrap({srcDirectory:t,appDirectory:this.appDirectory,rootPath:this.rootPath,userConfig:r,command:x,metadata:new xX,signingEncryptionOptions:_.signingEncryptionOptions,versionTag:_.versionTag}),this.pluginSystem=new xM(this.context,[...e,...r.experiments?.taro?[function({name:x,appId:_,icons:a,widgets:e}){return{name:__,setup:r=>{let t=w(import.meta.url),{appDirectory:A,isDev:s,pages:c,widgets:i}=r.context;r.view.hooks.modifyEntryOption.tapPromise({name:__,stage:r.view.MODIFY_ENTRY_OPTION_STAGE_PROCESS_ENTRY},async({entry:x})=>{let _=_x(c,A,!1,s),a=_x(i,A,!0,s);return{entry:x=Object.assign(x,Object.fromEntries([...Object.entries(_).map(([x,_])=>[`${xv}/${x}`,_]),...Object.entries(a).map(([x,_])=>[`${xv}/${x}`,_])]))}}),r.view.hooks.beforeBuild.tapPromise({name:__,stage:r.view.BEFORE_BUILD_STAGE_MODIFY_BUNDLE_CONFIG},async({buildConfig:x})=>{x0(x,{resolve:{alias:{"@tarojs/components":t.resolve("@doubao-apps/taro-runtime/components",{paths:[A]}),"@tarojs/taro":(0,xc.dirname)(t.resolve("@doubao-apps/taro-runtime/package.json",{paths:[A]}))}}})}),r.worker.hooks.modifyEntryOption.tapPromise({name:__,stage:-1},async()=>{let a={},{app:e}=r.context;return e&&(a.app=function(x,_,a,e,r=!1){var t;let A=`${xi}${n.sep}${xF}.js`,s=(t=x1(n.dirname(A),x)).startsWith(".")?t:`./${t}`,c=x8(_);return new x9(A,`
104
104
  import { Applet } from "${c}";
105
105
  import { defineApp } from '${c}';
106
106
  import { APP_ID, getLifecycle } from '@doubao-apps/taro-runtime/internal';
@@ -140,5 +140,5 @@ if (import.meta.webpackHot) {
140
140
  import.meta.webpackHot.accept()
141
141
  }
142
142
  `:""}
143
- `)}(e,A,x,_,s)),{entry:a}}),r.worker.hooks.beforeBuild.tapPromise({name:__,stage:r.worker.BEFORE_BUILD_STAGE_MODIFY_BUILD_CONFIG},async({buildConfig:x})=>{x0(x,{resolve:{alias:{"@tarojs/taro":t.resolve("@doubao-apps/taro-runtime/app",{paths:[A]})}}})}),r.worker.hooks.collectMetaData.tapPromise(__,async({collector:e})=>{e.addAppMeta({name:x,package:_,icons:a})}),r.view.hooks.collectMetaData.tapPromise(__,async({collector:x})=>{Object.entries(c).forEach(([_,a])=>{let{folderName:e}=a;x.addPageMeta(_,{id:e})}),Object.entries(i).forEach(([_,a])=>{let{folderName:r}=a;x.addWidgetMeta(_,{...e?.[r]??e?.[_]??{},id:r})})})}}}(r.experiments.taro)]:[]]),Array.isArray(r.plugins)&&this.pluginSystem.addPlugins(r.plugins),await this.pluginSystem.bootstrap();let A=await ev({options:r,commandType:x,context:this.context,rsbuildPlugins:a},this.pluginSystem);return{userConfig:r,builder:A}}async dev(x){let{builder:_}=await this.prepare(_l.DEV,x,x.rsbuildPlugins),a=await _.startDevServer(),e=async()=>{console.log("Shutting down..."),await a.server.close(),console.log("dev server closed")};return{host:ah(a.port),closeServer:e}}async build(x){let{builder:_}=await this.prepare(_l.BUILD,x,x.rsbuildPlugins);try{await _.build()}finally{if(x.skipCleanupRootPath||aI()||aB()){if(x.archive&&x.channel){let{channel:_}=x;await xz({channelName:_,manifest:this.manifest,rootPath:this.rootPath})}}else L.rmSync(this.rootPath,{recursive:!0,force:!0})}}async analyze(x){let{builder:_}=await this.prepare(_l.ANALYZE,x);await _.build()}async perf(x){let{builder:_}=await this.prepare(_l.PERF,x);await _.build()}async deploy(x){let{builder:_}=await this.prepare(_l.DEPLOY,x);x.build&&await _.build();let a=x.deployType||xW.SELF_BUILT_ONLY;if(await this.pluginSystem.callDeployHooks("beforeDeploy",{config:this.context.deploy}),0===Object.keys(this.context.deploy).length)return void console.error("Please use deploy plugin in doubao.config.ts");this.context.deploy={...this.context.deploy,versionCode:x.versionCode,packageName:x.packageName};try{await this.pluginSystem.callDeployHooks("deploy",{deployType:a})}finally{await this.pluginSystem.callDeployHooks("afterDeploy",{})}}async run(x,_){switch(x){case _f.DEV:return await this.dev(_);case _f.BUILD:return await this.build(_);case _f.ANALYZE:return await this.analyze(_);case _f.PERF:return await this.perf(_);case _f.DEPLOY:return await this.deploy(_)}}async getUserConfig(x){if(!this._userConfig){let _=g({cwd:this.appDirectory,mode:x.envMode}),a=await eE({cwd:this.appDirectory,customConfigFile:x.config});a.source||={},a.source.define={..._.publicVars,...a.source.define},a.hdt=x.hdt,this._userConfig=a}return this._userConfig}}function e0(x=eW){return async function({cliOptions:_={},appDirectory:a=process.cwd(),command:e}){let r=new x(a);await r.run(e,_)}}export{_g as AI_MANIFEST,_S as AI_MANIFEST_ATTRIBUTE,_Z as AI_META_JSON_FILENAME,_R as AI_META_JSON_FILENAME_4_RTS,_X as APPLET_CONFIG_NAME,_0 as APPLET_DOCTOR_URL,_I as APPLET_EXTERNAL_MODULE_NAME,_B as APPLET_EXTERNAL_SCRIPT_NAME,xg as APPLET_FOLDER,xd as APPLET_OUTPUT_FOLDER,_q as APPLET_TOOLS_PLUGIN_NAME,_1 as APP_PACKAGE_NAME,eD as AppletLynxPlugin,eV as AppletMainEntryCheckPlugin,eH as AppletMainPlugin,xN as BASE_FOLDER,eY as BuildContext,_K as CONFIG_FILE_EXTENSIONS,_u as CONVENTIONAL_DIR_NAME_MCP_UI,_E as CONVENTIONAL_DIR_NAME_PAGE,_h as CONVENTIONAL_DIR_NAME_TOOLS,_m as CONVENTIONAL_DIR_NAME_WIDGET,_b as CONVENTIONAL_FILE_NAME_APP,_d as CONVENTIONAL_FILE_NAME_APP_4_RTS,_j as CONVENTIONAL_FILE_NAME_LOGIN,_p as CONVENTIONAL_FILE_NAME_PRIVACY,_f as Command,_F as DEVELOPMENT_BROWSER_LIST,_W as DOCUMENT_URL,_w as DOUBAO_APPS_SDK_TEMPLATE_FOLDER,xE as DOUBAO_APP_OUTPUT_FOLDER,az as DevServerLogPlugin,_N as ENTRY_FILE_TS,_y as ENTRY_FILE_TSX,xb as GECKO,_O as INJECT_GLOBAL_VARIABLES_CONTENT,x2 as INTERNAL_FRAMEWORK_PACKAGE,_T as LOGIN,_V as LYNX_APP_SERVICE_JS,_J as LYNX_GLOBAL,_H as LYNX_JS_CODE_INJECT_PLACEHOLDER,_M as LYNX_JS_RENDER_TYPE,_U as LYNX_PROCESSOR_LEPUS,eW as Launcher,_z as MAIN_THREAD_COMPILER_NAME,_Y as MAIN_THREAD_COMPILER_NAME_4_RTS,xF as MAIN_THREAD_ENTRY_KEY,_D as MAIN_THREAD_VIRTUAL_ENTRY_KEY,_$ as MANIFEST_DEFAULT_VERSION,xI as MANIFEST_FILE,xj as PAGES,xy as PLUGINS_FOLDER,_k as PRIVACY,_P as PRODUCTION_BROWSER_LIST,x3 as PUBLIC_FRAMEWORK_PACKAGE,_C as RUNTIME_DEFAULT_VERSION,xu as SCM_GECKO_FOLDER,xh as SCM_SELF_BUILT_FOLDER,xf as SELF_BUILT,xS as SOURCE_DIRECTORY,xm as TRANSFORM_FOLDER,_Q as VIEW_COMPILER_NAME,_L as VIEW_THREAD_VIRTUAL_ENTRY_KEY,eA as ViewConfigCreator,xp as WIDGETS,ei as WorkerConfigCreator,eZ as analyzeMainThreadConvention,eG as analyzeMcpUIEntries,eq as analyzeToolEntries,eR as analyzeViewConvention,eC as analyzeViewEntries,xz as archivePackage,F as chalk_1,eF as collectProperties,ew as collectViewAIMeta,eJ as collectWorkerMetadata,_G as MANIFEST_DEFAULT_APPLET_ICON,xl as ROOT_PATH,ev as createBuilder,e0 as createLaunch,ek as createMainCode,eT as createMainEntryObject,em as createReactLynxEntries,aQ as getDebugDriver,aR as executeDebugScene,A as fileURLToPath,eK as getAppEntry,ah as getAppletLocalAreaNetworkUrl,aK as getDebugScenes,e_ as getExternalBundleExternals,x5 as getFrameworkApiPackage,er as getFrameworkPackageJSONRequests,eB as getKeyName,am as getLocalAreaNetworkAddress,el as getPPEEnvironmentHeader,au as getPreferredLanAddress,eX as getViewEntries,aw as isAppTemplateJsDisabled,eg as isArrayExpression,ej as isBooleanLiteral,ey as isCallExpression,aI as isDebugMode,aF as isExternalBundleDisabled,x6 as isFrameworkPackage,eu as isIdentifier,eN as isKeyValueProperty,ep as isNumericLiteral,eS as isObjectExpression,aN as isProd,aB as isRspeedyDebugMode,aP as isSigningEncryptionDisabled,eI as isSpreadElement,eh as isStringLiteral,y as logger,L as node_fs,n as node_path,D as promises,et as resolveComponentsLoader,x8 as resolveFrameworkPackage,ee as resolveRequest,_l as ECommand};
143
+ `)}(e,A,x,_,s)),{entry:a}}),r.worker.hooks.beforeBuild.tapPromise({name:__,stage:r.worker.BEFORE_BUILD_STAGE_MODIFY_BUILD_CONFIG},async({buildConfig:x})=>{x0(x,{resolve:{alias:{"@tarojs/taro":t.resolve("@doubao-apps/taro-runtime/app",{paths:[A]})}}})}),r.worker.hooks.collectMetaData.tapPromise(__,async({collector:e})=>{e.addAppMeta({name:x,package:_,icons:a})}),r.view.hooks.collectMetaData.tapPromise(__,async({collector:x})=>{Object.entries(c).forEach(([_,a])=>{let{folderName:e}=a;x.addPageMeta(_,{id:e})}),Object.entries(i).forEach(([_,a])=>{let{folderName:r}=a;x.addWidgetMeta(_,{...e?.[r]??e?.[_]??{},id:r})})})}}}(r.experiments.taro)]:[]]),Array.isArray(r.plugins)&&this.pluginSystem.addPlugins(r.plugins),await this.pluginSystem.bootstrap();let A=await el({options:r,commandType:x,context:this.context,rsbuildPlugins:a},this.pluginSystem);return{userConfig:r,builder:A}}async dev(x){let{builder:_}=await this.prepare(_l.DEV,x,x.rsbuildPlugins),a=await _.startDevServer(),e=async()=>{console.log("Shutting down..."),await a.server.close(),console.log("dev server closed")};return{host:ah(a.port),closeServer:e}}async build(x){let{builder:_}=await this.prepare(_l.BUILD,x,x.rsbuildPlugins);try{await _.build()}finally{if(x.skipCleanupRootPath||aI()||aB()){if(x.archive&&x.channel){let{channel:_}=x;await xz({channelName:_,manifest:this.manifest,rootPath:this.rootPath})}}else L.rmSync(this.rootPath,{recursive:!0,force:!0})}}async analyze(x){let{builder:_}=await this.prepare(_l.ANALYZE,x);await _.build()}async perf(x){let{builder:_}=await this.prepare(_l.PERF,x);await _.build()}async deploy(x){let{builder:_}=await this.prepare(_l.DEPLOY,x);x.build&&await _.build();let a=x.deployType||xW.SELF_BUILT_ONLY;if(await this.pluginSystem.callDeployHooks("beforeDeploy",{config:this.context.deploy}),0===Object.keys(this.context.deploy).length)return void console.error("Please use deploy plugin in doubao.config.ts");this.context.deploy={...this.context.deploy,versionCode:x.versionCode,packageName:x.packageName};try{await this.pluginSystem.callDeployHooks("deploy",{deployType:a})}finally{await this.pluginSystem.callDeployHooks("afterDeploy",{})}}async run(x,_){switch(x){case _f.DEV:return await this.dev(_);case _f.BUILD:return await this.build(_);case _f.ANALYZE:return await this.analyze(_);case _f.PERF:return await this.perf(_);case _f.DEPLOY:return await this.deploy(_)}}async getUserConfig(x){if(!this._userConfig){let _=g({cwd:this.appDirectory,mode:x.envMode}),a=await eu({cwd:this.appDirectory,customConfigFile:x.config});a.source||={},a.source.define={..._.publicVars,...a.source.define},a.hdt=x.hdt,this._userConfig=a}return this._userConfig}}function e2(x=e1){return async function({cliOptions:_={},appDirectory:a=process.cwd(),command:e}){let r=new x(a);await r.run(e,_)}}export{_g as AI_MANIFEST,_S as AI_MANIFEST_ATTRIBUTE,_Z as AI_META_JSON_FILENAME,_R as AI_META_JSON_FILENAME_4_RTS,_X as APPLET_CONFIG_NAME,_0 as APPLET_DOCTOR_URL,_I as APPLET_EXTERNAL_MODULE_NAME,_B as APPLET_EXTERNAL_SCRIPT_NAME,xg as APPLET_FOLDER,xd as APPLET_OUTPUT_FOLDER,_q as APPLET_TOOLS_PLUGIN_NAME,_1 as APP_PACKAGE_NAME,eT as AppletLynxPlugin,eU as AppletMainEntryCheckPlugin,eM as AppletMainPlugin,xN as BASE_FOLDER,e0 as BuildContext,_K as CONFIG_FILE_EXTENSIONS,_u as CONVENTIONAL_DIR_NAME_MCP_UI,_E as CONVENTIONAL_DIR_NAME_PAGE,_h as CONVENTIONAL_DIR_NAME_TOOLS,_m as CONVENTIONAL_DIR_NAME_WIDGET,_b as CONVENTIONAL_FILE_NAME_APP,_d as CONVENTIONAL_FILE_NAME_APP_4_RTS,_j as CONVENTIONAL_FILE_NAME_LOGIN,_p as CONVENTIONAL_FILE_NAME_PRIVACY,_f as Command,_F as DEVELOPMENT_BROWSER_LIST,_W as DOCUMENT_URL,_w as DOUBAO_APPS_SDK_TEMPLATE_FOLDER,xE as DOUBAO_APP_OUTPUT_FOLDER,aY as DevServerLogPlugin,_N as ENTRY_FILE_TS,_y as ENTRY_FILE_TSX,xb as GECKO,_O as INJECT_GLOBAL_VARIABLES_CONTENT,x2 as INTERNAL_FRAMEWORK_PACKAGE,_T as LOGIN,_V as LYNX_APP_SERVICE_JS,_J as LYNX_GLOBAL,_H as LYNX_JS_CODE_INJECT_PLACEHOLDER,_M as LYNX_JS_RENDER_TYPE,_U as LYNX_PROCESSOR_LEPUS,e1 as Launcher,_z as MAIN_THREAD_COMPILER_NAME,_Y as MAIN_THREAD_COMPILER_NAME_4_RTS,xF as MAIN_THREAD_ENTRY_KEY,_D as MAIN_THREAD_VIRTUAL_ENTRY_KEY,_$ as MANIFEST_DEFAULT_VERSION,xI as MANIFEST_FILE,xj as PAGES,xy as PLUGINS_FOLDER,_k as PRIVACY,_P as PRODUCTION_BROWSER_LIST,x3 as PUBLIC_FRAMEWORK_PACKAGE,_C as RUNTIME_DEFAULT_VERSION,xu as SCM_GECKO_FOLDER,xh as SCM_SELF_BUILT_FOLDER,xf as SELF_BUILT,xS as SOURCE_DIRECTORY,xm as TRANSFORM_FOLDER,_Q as VIEW_COMPILER_NAME,_L as VIEW_THREAD_VIRTUAL_ENTRY_KEY,en as ViewConfigCreator,xp as WIDGETS,eo as WorkerConfigCreator,eO as analyzeMainThreadConvention,eX as analyzeMcpUIEntries,eK as analyzeToolEntries,eJ as analyzeViewConvention,eq as analyzeViewEntries,xz as archivePackage,F as chalk_1,ew as collectProperties,eD as collectViewAIMeta,eV as collectWorkerMetadata,_G as MANIFEST_DEFAULT_APPLET_ICON,xl as ROOT_PATH,el as createBuilder,e2 as createLaunch,e$ as createMainCode,eC as createMainEntryObject,eh as createReactLynxEntries,az as getDebugDriver,aO as executeDebugScene,A as fileURLToPath,eR as getAppEntry,ah as getAppletLocalAreaNetworkUrl,aZ as getDebugScenes,ef as getDoubaoAppsDomain,ea as getExternalBundleExternals,x5 as getFrameworkApiPackage,et as getFrameworkPackageJSONRequests,eP as getKeyName,am as getLocalAreaNetworkAddress,eb as getPPEEnvironmentHeader,au as getPreferredLanAddress,eZ as getViewEntries,aw as isAppTemplateJsDisabled,eN as isArrayExpression,eg as isBooleanLiteral,eI as isCallExpression,aI as isDebugMode,aF as isExternalBundleDisabled,x6 as isFrameworkPackage,aL as isGenerateLoginCardDisabled,ep as isIdentifier,eB as isKeyValueProperty,eS as isNumericLiteral,ey as isObjectExpression,aN as isProd,aB as isRspeedyDebugMode,aP as isSigningEncryptionDisabled,eF as isSpreadElement,ej as isStringLiteral,y as logger,L as node_fs,n as node_path,D as promises,eA as resolveComponentsLoader,x8 as resolveFrameworkPackage,er as resolveRequest,_l as ECommand};
144
144
  //# sourceMappingURL=971.js.map
@@ -1,3 +1,3 @@
1
- import"node:module";import e from"magic-string";import{parseSync as o,simple as t}from"../../../131.js";let r={button:"DoubaoButton",map:"DoubaoMap","map-marker":"DoubaoMapMarker","movable-area":"DoubaoMovableArea","movable-view":"DoubaoMovableView",popup:"DoubaoPopup",radio:"DoubaoRadio","radio-group":"DoubaoRadioGroup",slider:"DoubaoSlider",switch:"DoubaoSwitch",swiper:"DoubaoSwiper","swiper-item":"DoubaoSwiperItem","picker-column":"DoubaoPickerColumn","picker-view":"DoubaoPickerView","web-view":"DoubaoWebView",image:"DoubaoImage",input:"DoubaoInput",list:"DoubaoList","scroll-view":"DoubaoScrollView",svg:"DoubaoSvg",text:"DoubaoText",textarea:"DoubaoTextArea",view:"DoubaoView"};function a(e){return"Identifier"===e.type&&e.value in r?e.value:null}function n(e,o,t,r,a){if("Identifier"!==o.type)return;let n=a(o.span.start-r),i=a(o.span.end-r);e.overwrite(n,i,t)}export default function(i){let u=this.async();try{let l=new e(i),p=o(i,{syntax:"typescript",tsx:!0,decorators:!0}),b=function(e){let o=0;for(;o<e.length;){let t=e[o];if(" "===t||" "===t||"\n"===t||"\r"===t||"\f"===t){o+=1;continue}if("/"===t&&"/"===e[o+1]){for(o+=2;o<e.length&&"\n"!==e[o];)o+=1;continue}if("/"===t&&"*"===e[o+1]){for(o+=2;o<e.length&&("*"!==e[o]||"/"!==e[o+1]);)o+=1;o<e.length&&(o+=2);continue}break}return Buffer.byteLength(e.slice(0,o))}(i),s=Math.max(0,p.span.start-b),f=function(e){let o=new Map([[0,0]]),t=0,r=0;for(let a of e)t+=Buffer.byteLength(a),r+=a.length,o.set(t,r);return e=>{let t=o.get(e);if(void 0===t)throw Error(`Unable to map byte offset ${e} to string index`);return t}}(i),m=new Set;if(t(p,{JSXOpeningElement(e){let o=a(e.name);if(!o)return;let t=r[o];n(l,e.name,t,s,f),m.add(t)},JSXClosingElement(e){let o=a(e.name);if(!o)return;let t=r[o];n(l,e.name,t,s,f),m.add(t)}}),m.size>0){let e=Array.from(m).map(e=>{let o=e.replace("Doubao","");return`${o} as ${e}`}).join(", "),o=`import { ${e} } from '@byted-doubao-apps/framework/components';
1
+ import"node:module";import e from"magic-string";import{parseSync as o,simple as t}from"../../../131.js";let r={button:"DoubaoButton",map:"DoubaoMap","map-marker":"DoubaoMapMarker","movable-area":"DoubaoMovableArea","movable-view":"DoubaoMovableView",popup:"DoubaoPopup",radio:"DoubaoRadio","radio-group":"DoubaoRadioGroup",slider:"DoubaoSlider",switch:"DoubaoSwitch",swiper:"DoubaoSwiper","swiper-item":"DoubaoSwiperItem","picker-column":"DoubaoPickerColumn","picker-view":"DoubaoPickerView",video:"DoubaoVideo","web-view":"DoubaoWebView",image:"DoubaoImage",input:"DoubaoInput",list:"DoubaoList","scroll-view":"DoubaoScrollView",svg:"DoubaoSvg",text:"DoubaoText",textarea:"DoubaoTextArea",view:"DoubaoView"};function a(e){return"Identifier"===e.type&&e.value in r?e.value:null}function n(e,o,t,r,a){if("Identifier"!==o.type)return;let n=a(o.span.start-r),i=a(o.span.end-r);e.overwrite(n,i,t)}export default function(i){let u=this.async();try{let l=new e(i),p=o(i,{syntax:"typescript",tsx:!0,decorators:!0}),b=function(e){let o=0;for(;o<e.length;){let t=e[o];if(" "===t||" "===t||"\n"===t||"\r"===t||"\f"===t){o+=1;continue}if("/"===t&&"/"===e[o+1]){for(o+=2;o<e.length&&"\n"!==e[o];)o+=1;continue}if("/"===t&&"*"===e[o+1]){for(o+=2;o<e.length&&("*"!==e[o]||"/"!==e[o+1]);)o+=1;o<e.length&&(o+=2);continue}break}return Buffer.byteLength(e.slice(0,o))}(i),s=Math.max(0,p.span.start-b),f=function(e){let o=new Map([[0,0]]),t=0,r=0;for(let a of e)t+=Buffer.byteLength(a),r+=a.length,o.set(t,r);return e=>{let t=o.get(e);if(void 0===t)throw Error(`Unable to map byte offset ${e} to string index`);return t}}(i),m=new Set;if(t(p,{JSXOpeningElement(e){let o=a(e.name);if(!o)return;let t=r[o];n(l,e.name,t,s,f),m.add(t)},JSXClosingElement(e){let o=a(e.name);if(!o)return;let t=r[o];n(l,e.name,t,s,f),m.add(t)}}),m.size>0){let e=Array.from(m).map(e=>{let o=e.replace("Doubao","");return`${o} as ${e}`}).join(", "),o=`import { ${e} } from '@byted-doubao-apps/framework/components';
2
2
  `;l.prepend(o)}if(l.hasChanged()){let e=l.toString(),o=l.generateMap({includeContent:!0,hires:!0,source:this.resourcePath,file:this.resourcePath});u(null,e,o)}else u(null,i)}catch(e){u(null,i)}};
3
3
  //# sourceMappingURL=index.js.map
package/dist/cli/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import"node:module";import{program as e}from"commander";import"../131.js";import{logger as o,chalk_1 as r}from"../971.js";import{dev as a,build as t,analyze as i}from"../938.js";function n(){if(!process.env.NODE_ENV){let e=process.argv[2];process.env.NODE_ENV=["build","package","deploy","analyze","perf"].includes(e)?"production":"development"}o.greet("Doubao Apps SDK v0.0.24")}function c(e){return e.option("-c --config <config>","specify the configuration file, can be a relative or absolute path").option("--env-mode <mode>","specify the env mode to load the `.env.[mode]` file"),e}function p(n=process.cwd(),d={},s="0.0.24"){e.name("doubao").usage("<command> [options]").version(s),c(e.command("dev")).description("starting the dev server...").action(async e=>{try{await a(e)}catch(e){o.error("Failed to dev"),o.error(e),process.exit(1)}}),c(e.command("build")).description("starting build the applet").option("-a --archive","Archive all package",!1).option("-ch --channel <string>","Need channel name").action(async e=>{try{await t(e)}catch(e){o.error("Failed to build"),o.error(e),process.exit(1)}}),c(e.command("analyze")).description("analyze the applet package").action(async e=>{try{await i(e)}catch(e){o.error(r.red("Failed to analyze")),o.error(e),process.exit(1)}}),e.parse()}export{n as prepareCli,p as runCli};
1
+ import"node:module";import{program as e}from"commander";import"../131.js";import{logger as o,chalk_1 as r}from"../971.js";import{dev as a,build as t,analyze as i}from"../938.js";function n(){if(!process.env.NODE_ENV){let e=process.argv[2];process.env.NODE_ENV=["build","package","deploy","analyze","perf"].includes(e)?"production":"development"}o.greet("Doubao Apps SDK v0.0.25")}function c(e){return e.option("-c --config <config>","specify the configuration file, can be a relative or absolute path").option("--env-mode <mode>","specify the env mode to load the `.env.[mode]` file"),e}function p(n=process.cwd(),d={},s="0.0.25"){e.name("doubao").usage("<command> [options]").version(s),c(e.command("dev")).description("starting the dev server...").action(async e=>{try{await a(e)}catch(e){o.error("Failed to dev"),o.error(e),process.exit(1)}}),c(e.command("build")).description("starting build the applet").option("-a --archive","Archive all package",!1).option("-ch --channel <string>","Need channel name").action(async e=>{try{await t(e)}catch(e){o.error("Failed to build"),o.error(e),process.exit(1)}}),c(e.command("analyze")).description("analyze the applet package").action(async e=>{try{await i(e)}catch(e){o.error(r.red("Failed to analyze")),o.error(e),process.exit(1)}}),e.parse()}export{n as prepareCli,p as runCli};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- import"node:module";class e{_promise=null;_resolve=null;_reject=null;create(){return this._promise=new Promise((e,_)=>{this._resolve=e,this._reject=_}),this._promise}ensure(){return this._promise||this.create(),this._promise}resolve(e){this._resolve&&this._resolve(e)}reject(e){this._reject&&this._reject(e)}getPromise(){return this._promise}reset(){this._promise=null,this._resolve=null,this._reject=null}}export{AI_MANIFEST,AI_MANIFEST_ATTRIBUTE,AI_META_JSON_FILENAME,AI_META_JSON_FILENAME_4_RTS,APPLET_CONFIG_NAME,APPLET_DOCTOR_URL,APPLET_EXTERNAL_MODULE_NAME,APPLET_EXTERNAL_SCRIPT_NAME,APPLET_FOLDER,APPLET_OUTPUT_FOLDER,APPLET_TOOLS_PLUGIN_NAME,APP_PACKAGE_NAME,AppletLynxPlugin,AppletMainEntryCheckPlugin,AppletMainPlugin,BASE_FOLDER,BuildContext,CONFIG_FILE_EXTENSIONS,CONVENTIONAL_DIR_NAME_MCP_UI,CONVENTIONAL_DIR_NAME_PAGE,CONVENTIONAL_DIR_NAME_TOOLS,CONVENTIONAL_DIR_NAME_WIDGET,CONVENTIONAL_FILE_NAME_APP,CONVENTIONAL_FILE_NAME_APP_4_RTS,CONVENTIONAL_FILE_NAME_LOGIN,CONVENTIONAL_FILE_NAME_PRIVACY,Command,DEVELOPMENT_BROWSER_LIST,DOCUMENT_URL,DOUBAO_APPS_SDK_TEMPLATE_FOLDER,DOUBAO_APP_OUTPUT_FOLDER,DevServerLogPlugin,ECommand,ENTRY_FILE_TS,ENTRY_FILE_TSX,GECKO,INJECT_GLOBAL_VARIABLES_CONTENT,INTERNAL_FRAMEWORK_PACKAGE,LOGIN,LYNX_APP_SERVICE_JS,LYNX_GLOBAL,LYNX_JS_CODE_INJECT_PLACEHOLDER,LYNX_JS_RENDER_TYPE,LYNX_PROCESSOR_LEPUS,Launcher,MAIN_THREAD_COMPILER_NAME,MAIN_THREAD_COMPILER_NAME_4_RTS,MAIN_THREAD_ENTRY_KEY,MAIN_THREAD_VIRTUAL_ENTRY_KEY,MANIFEST_DEFAULT_APPLET_ICON,MANIFEST_DEFAULT_VERSION,MANIFEST_FILE,PAGES,PLUGINS_FOLDER,PRIVACY,PRODUCTION_BROWSER_LIST,PUBLIC_FRAMEWORK_PACKAGE,ROOT_PATH,RUNTIME_DEFAULT_VERSION,SCM_GECKO_FOLDER,SCM_SELF_BUILT_FOLDER,SELF_BUILT,SOURCE_DIRECTORY,TRANSFORM_FOLDER,VIEW_COMPILER_NAME,VIEW_THREAD_VIRTUAL_ENTRY_KEY,ViewConfigCreator,WIDGETS,WorkerConfigCreator,analyzeMainThreadConvention,analyzeMcpUIEntries,analyzeToolEntries,analyzeViewConvention,analyzeViewEntries,collectProperties,collectViewAIMeta,collectWorkerMetadata,createBuilder,createLaunch,createMainCode,createMainEntryObject,createReactLynxEntries,getAppEntry,getAppletLocalAreaNetworkUrl,getDebugDriver,getExternalBundleExternals,getFrameworkApiPackage,getFrameworkPackageJSONRequests,getKeyName,getLocalAreaNetworkAddress,getPreferredLanAddress,getViewEntries,isAppTemplateJsDisabled,isArrayExpression,isBooleanLiteral,isCallExpression,isDebugMode,isExternalBundleDisabled,isFrameworkPackage,isIdentifier,isKeyValueProperty,isNumericLiteral,isObjectExpression,isProd,isRspeedyDebugMode,isSigningEncryptionDisabled,isSpreadElement,isStringLiteral,resolveComponentsLoader,resolveFrameworkPackage,resolveRequest}from"../971.js";export{parseSync,simple}from"../131.js";export{e as PromiseManager};
1
+ import"node:module";class e{_promise=null;_resolve=null;_reject=null;create(){return this._promise=new Promise((e,_)=>{this._resolve=e,this._reject=_}),this._promise}ensure(){return this._promise||this.create(),this._promise}resolve(e){this._resolve&&this._resolve(e)}reject(e){this._reject&&this._reject(e)}getPromise(){return this._promise}reset(){this._promise=null,this._resolve=null,this._reject=null}}export{AI_MANIFEST,AI_MANIFEST_ATTRIBUTE,AI_META_JSON_FILENAME,AI_META_JSON_FILENAME_4_RTS,APPLET_CONFIG_NAME,APPLET_DOCTOR_URL,APPLET_EXTERNAL_MODULE_NAME,APPLET_EXTERNAL_SCRIPT_NAME,APPLET_FOLDER,APPLET_OUTPUT_FOLDER,APPLET_TOOLS_PLUGIN_NAME,APP_PACKAGE_NAME,AppletLynxPlugin,AppletMainEntryCheckPlugin,AppletMainPlugin,BASE_FOLDER,BuildContext,CONFIG_FILE_EXTENSIONS,CONVENTIONAL_DIR_NAME_MCP_UI,CONVENTIONAL_DIR_NAME_PAGE,CONVENTIONAL_DIR_NAME_TOOLS,CONVENTIONAL_DIR_NAME_WIDGET,CONVENTIONAL_FILE_NAME_APP,CONVENTIONAL_FILE_NAME_APP_4_RTS,CONVENTIONAL_FILE_NAME_LOGIN,CONVENTIONAL_FILE_NAME_PRIVACY,Command,DEVELOPMENT_BROWSER_LIST,DOCUMENT_URL,DOUBAO_APPS_SDK_TEMPLATE_FOLDER,DOUBAO_APP_OUTPUT_FOLDER,DevServerLogPlugin,ECommand,ENTRY_FILE_TS,ENTRY_FILE_TSX,GECKO,INJECT_GLOBAL_VARIABLES_CONTENT,INTERNAL_FRAMEWORK_PACKAGE,LOGIN,LYNX_APP_SERVICE_JS,LYNX_GLOBAL,LYNX_JS_CODE_INJECT_PLACEHOLDER,LYNX_JS_RENDER_TYPE,LYNX_PROCESSOR_LEPUS,Launcher,MAIN_THREAD_COMPILER_NAME,MAIN_THREAD_COMPILER_NAME_4_RTS,MAIN_THREAD_ENTRY_KEY,MAIN_THREAD_VIRTUAL_ENTRY_KEY,MANIFEST_DEFAULT_APPLET_ICON,MANIFEST_DEFAULT_VERSION,MANIFEST_FILE,PAGES,PLUGINS_FOLDER,PRIVACY,PRODUCTION_BROWSER_LIST,PUBLIC_FRAMEWORK_PACKAGE,ROOT_PATH,RUNTIME_DEFAULT_VERSION,SCM_GECKO_FOLDER,SCM_SELF_BUILT_FOLDER,SELF_BUILT,SOURCE_DIRECTORY,TRANSFORM_FOLDER,VIEW_COMPILER_NAME,VIEW_THREAD_VIRTUAL_ENTRY_KEY,ViewConfigCreator,WIDGETS,WorkerConfigCreator,analyzeMainThreadConvention,analyzeMcpUIEntries,analyzeToolEntries,analyzeViewConvention,analyzeViewEntries,collectProperties,collectViewAIMeta,collectWorkerMetadata,createBuilder,createLaunch,createMainCode,createMainEntryObject,createReactLynxEntries,getAppEntry,getAppletLocalAreaNetworkUrl,getDebugDriver,getExternalBundleExternals,getFrameworkApiPackage,getFrameworkPackageJSONRequests,getKeyName,getLocalAreaNetworkAddress,getPreferredLanAddress,getViewEntries,isAppTemplateJsDisabled,isArrayExpression,isBooleanLiteral,isCallExpression,isDebugMode,isExternalBundleDisabled,isFrameworkPackage,isGenerateLoginCardDisabled,isIdentifier,isKeyValueProperty,isNumericLiteral,isObjectExpression,isProd,isRspeedyDebugMode,isSigningEncryptionDisabled,isSpreadElement,isStringLiteral,resolveComponentsLoader,resolveFrameworkPackage,resolveRequest}from"../971.js";export{parseSync,simple}from"../131.js";export{e as PromiseManager};
2
2
  //# sourceMappingURL=builder.js.map
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
- import"node:module";import{__webpack_require__ as e}from"./rslib-runtime.js";import{execFileSync as t}from"node:child_process";import{node_path as a,fileURLToPath as r,promises as o,getPPEEnvironmentHeader as i,node_fs as n,getDebugScenes as s,Launcher as c,executeDebugScene as p,isDebugMode as l,archivePackage as u,getDebugDriver as d}from"./971.js";import"./131.js";let f=a.join("src","app.ts");function y(e){return e.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\r/g,"\\r").replace(/\n/g,"\\n").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}async function g(e,t,r=""){let i,n=a.join(e,f);try{i=await o.readFile(n,"utf8")}catch(e){if(e?.code==="ENOENT")return;throw e}let s=i.replace("<%= appId %>",y(t)).replace("<%= name %>",y(r));s!==i&&await o.writeFile(n,s,"utf8")}let h=new Set(["node_modules","dist",".git"]);async function m(e,t,r={}){let{includeAI:i=!0}=r,n=async(e,t)=>{for(let r of(await o.mkdir(t,{recursive:!0}),await o.readdir(e,{withFileTypes:!0}))){let s=a.join(e,r.name),c=a.join(t,r.name);if(r.isDirectory()){if(h.has(r.name)||".ai"===r.name&&!i)continue;await n(s,c)}else{if("AGENTS.md"===r.name&&!i)continue;await o.copyFile(s,c)}}};await n(e,t)}let w=new Set([".js",".cjs",".mjs",".ts",".tsx",".jsx",".json",".md",".txt",".scss",".css",".less",".html",".yml",".yaml"]),b=[["@byted-doubao-apps/framework","@doubao-apps/framework"],["@byted-doubao-apps/kit","@doubao-apps/kit"],["@byted-doubao-apps/ai","@doubao-apps/ai"],["@byted-doubao-apps/create","@doubao-apps/create"],["@byted-doubao-apps/taro-runtime","@doubao-apps/taro-runtime"]],E=["doubao.config.ts"],j=["@byted-doubao-apps/deploy","@doubao-apps/deploy"],_=["deploy"],D=["pnpm run deploy","doubao.config.ts","部署到豆包平台"];function v(e){let t=e;for(let[e,a]of b)t=t.replace(RegExp(e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"g"),a);return t}async function S(e,t){for(let i of(await o.readdir(e,{withFileTypes:!0}))){var r;let n=a.join(e,i.name);if(function(e){return E.some(t=>t===e)}(i.name)){await o.rm(n,{recursive:!0,force:!0});continue}if(i.isDirectory()){await S(n,t);continue}if(r=i.name,!w.has(a.extname(r))&&"package.json"!==r&&"tsconfig.json"!==r)continue;let s=await o.readFile(n,"utf-8");await o.writeFile(n,function(e,t,a){if("package.json"===e){let e=JSON.parse(v(t));if(e.scripts&&"object"==typeof e.scripts){for(let t of _)delete e.scripts[t];0===Object.keys(e.scripts).length&&delete e.scripts}for(let t of["dependencies","devDependencies","peerDependencies"])if(e[t]&&"object"==typeof e[t]){for(let r of Object.keys(e[t]))j.some(e=>e===r)?delete e[t][r]:r.startsWith("@doubao-apps/")&&(e[t][r]=`^${a}`);0===Object.keys(e[t]).length&&delete e[t]}return`${JSON.stringify(e,null,2)}
2
- `}return"README.md"===e||"AGENTS.md"===e?v(t).split("\n").filter(e=>!D.some(t=>e.includes(t))).join("\n"):v(t)}(i.name,s,t))}}async function N(e,t){let r=a.join(e,"package.json");if(!n.existsSync(r))throw Error("package.json not found in template");let o=JSON.parse(n.readFileSync(r,"utf-8"));o.name=t,n.writeFileSync(r,`${JSON.stringify(o,null,2)}
3
- `)}let O=["starter","empty"],k=r(import.meta.url),$=a.dirname(k),P={".gitignore":["dist","node_modules",".DS_Store"]};async function T(e){for(let[t,r]of Object.entries(P))await o.writeFile(a.join(e,t),`${r.join("\n")}
4
- `)}async function x(){let e=a.resolve($,"..","package.json");return JSON.parse(await o.readFile(e,"utf-8")).version??"0.0.1"}async function C(e){let r=a.join(e,".git");if(!await o.stat(r).then(e=>e.isDirectory()).catch(e=>{if(e?.code==="ENOENT")return!1;throw e}))try{t("git",["init"],{cwd:e,stdio:"ignore"})}catch(t){if(t?.code==="ENOENT")return;throw Error(`Failed to initialize git repository: ${e}`,{cause:t})}}async function F({template:e,projectDir:t,public:r=!0,includeAI:i,appId:n,name:s,packageName:c,overwrite:p}){if(!a.isAbsolute(t))throw Error(`Project directory must be an absolute path: ${t}`);if(!O.includes(e))throw Error(`Invalid template: ${e}. Valid options: ${O.join(", ")}`);let l=a.resolve($,`template-${e}`);try{if(!(await o.stat(l)).isDirectory())throw Error(`Template path is not a directory: ${l}`)}catch(e){if(e?.code==="ENOENT")throw Error(`Template directory not found: ${l}`,{cause:e});throw Error(`Unable to access template directory: ${l}`,{cause:e})}if(await o.stat(t).then(e=>{if(!e.isDirectory())throw Error(`Project path is not a directory: ${t}`);return!0}).catch(e=>{if(e?.code==="ENOENT")return!1;throw Error(`Unable to access project directory: ${t}`,{cause:e})})){if((await o.readdir(t)).length>0&&!p)throw Error(`Project directory is not empty: ${t}`)}else await o.mkdir(t,{recursive:!0});await m(l,t,{includeAI:i}),r&&await S(t,await x()),await T(t),await C(t);let u=c??a.basename(t).trim().toLowerCase().replace(/\s+/g,"-").replace(/^[._]/,"").replace(/[^a-z0-9-~._]+/g,"-");await N(t,u),await g(t,n??`com.doubao.${u}`,s??"")}let A=e("fs");function K(e){return[{name:"DoubaoAppsDevPlugin",setup(t){t.onDevCompileDone(()=>{e?.onDevCompileDone?.()})}}]}class R{appDirectory;launcher;constructor(e,t=c){this.appDirectory=e,this.launcher=new t(e)}async dev(e={}){let{compileHooks:t,...a}=e;return await this.launcher.dev({...a,rsbuildPlugins:K(t),signingEncryptionOptions:e.signingEncryptionOptions})}async build(e={}){process.env.NODE_ENV="production";let{compileHooks:t,...a}=e;await this.launcher.build({...a,rsbuildPlugins:K(t),signingEncryptionOptions:e.signingEncryptionOptions,versionTag:e.versionTag})}async discoverWidgets(){return Object.values(this.launcher.context.metadata.getData().widgets)}async discoverPages(){return Object.values(this.launcher.context.metadata.getData().pages)}async pushWidget(e){let{widgetId:t,deviceId:a,botId:r,widgetData:o,hdt:i}=e,n=await d({hdt:i,deviceId:a}),s=this.launcher.context.metadata.getData().app.package;n.pushWidget({packageName:s,widgetId:t,widgetData:o,botId:r})}async openPage(e){let{pageId:t,pageData:a,pageSettings:r,mode:o,hdt:i,deviceId:n}=e,s=await d({hdt:i,deviceId:n}),c=this.launcher.context.metadata.getData().app.package;s.openPage({packageName:c,pageId:t,pageData:a,pageSettings:r,mode:o})}async executeDebugScene(e){let{matchedScene:t,deviceId:a,hdt:r}=e,o=this.launcher.context.metadata.getData().app.package,i=await d({hdt:r,deviceId:a});await p({matchedScene:t,packageName:o,driver:i})}async getDebugScenes(){return await s(this.appDirectory||process.cwd())}async deploy(e){let{versionTag:t,cookie:a,appKey:r,signingEncryptionOptions:o}=e;process.env.NODE_ENV="production",await this.launcher.build({skipCleanupRootPath:!0,signingEncryptionOptions:o,versionTag:e.versionTag});let{manifest:n}=this.launcher.context,{packageName:s,versionCode:c}=n,{packageResource:p}=await u({channelName:"doubao_app",manifest:n,rootPath:this.launcher.rootPath});if(!p)throw Error("Failed to archive package");let{resource:d}=p,f=new FormData,y=new Blob([new Uint8Array(A.default.readFileSync(d))],{type:"application/zip"});f.append("applet_file",y,"doubao_app.zip"),f.append("applet_version_code",c.toString());let g=encodeURIComponent(r||s),h=encodeURIComponent(t),m=`https://hello.doubao-dev.com/developer/resource_api/apps/${g}/versions/${h}/package/upload_applet`,w={...i(),Cookie:a};try{let e=await fetch(m,{method:"POST",body:f,headers:w}),t=e.headers.get("x-tt-logid")||"";if(!e.ok){let a=await e.text(),r=JSON.stringify({code:e.status,message:"HTTP Error",data:a,log_id:t});throw Error(r)}let a=await e.json();if(0!==a.code){let e=JSON.stringify({...a,log_id:t});throw Error(e)}return console.log("Deploy success:",a),a}catch(e){return console.error("Deploy error:",e?.message||e),JSON.parse(e.message)}finally{l()||A.default.rmSync(this.launcher.rootPath,{recursive:!0,force:!0})}}}let U=e=>e;export{analyze,build,dev}from"./938.js";export{R as DoubaoAppsSDK,F as create,U as defineConfig};
1
+ import"node:module";import{__webpack_require__ as e}from"./rslib-runtime.js";import{execFileSync as t}from"node:child_process";import{getDoubaoAppsDomain as a,node_path as r,fileURLToPath as o,promises as i,getPPEEnvironmentHeader as n,node_fs as s,getDebugScenes as c,Launcher as p,executeDebugScene as l,isDebugMode as u,archivePackage as d,getDebugDriver as f}from"./971.js";import"./131.js";let y=r.join("src","app.ts");function g(e){return e.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\r/g,"\\r").replace(/\n/g,"\\n").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}async function h(e,t,a=""){let o,n=r.join(e,y);try{o=await i.readFile(n,"utf8")}catch(e){if(e?.code==="ENOENT")return;throw e}let s=o.replace("<%= appId %>",g(t)).replace("<%= name %>",g(a));s!==o&&await i.writeFile(n,s,"utf8")}let m=new Set(["node_modules","dist",".git"]);async function w(e,t,a={}){let{includeAI:o=!0}=a,n=async(e,t)=>{for(let a of(await i.mkdir(t,{recursive:!0}),await i.readdir(e,{withFileTypes:!0}))){let s=r.join(e,a.name),c=r.join(t,a.name);if(a.isDirectory()){if(m.has(a.name)||".ai"===a.name&&!o)continue;await n(s,c)}else{if("AGENTS.md"===a.name&&!o)continue;await i.copyFile(s,c)}}};await n(e,t)}let b=new Set([".js",".cjs",".mjs",".ts",".tsx",".jsx",".json",".md",".txt",".scss",".css",".less",".html",".yml",".yaml"]),E=[["@byted-doubao-apps/framework","@doubao-apps/framework"],["@byted-doubao-apps/kit","@doubao-apps/kit"],["@byted-doubao-apps/ai","@doubao-apps/ai"],["@byted-doubao-apps/create","@doubao-apps/create"],["@byted-doubao-apps/taro-runtime","@doubao-apps/taro-runtime"]],j=["doubao.config.ts"],_=["@byted-doubao-apps/deploy","@doubao-apps/deploy"],D=["deploy"],S=["pnpm run deploy","doubao.config.ts","部署到豆包平台"];function v(e){let t=e;for(let[e,a]of E)t=t.replace(RegExp(e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"g"),a);return t}async function N(e,t){for(let o of(await i.readdir(e,{withFileTypes:!0}))){var a;let n=r.join(e,o.name);if(function(e){return j.some(t=>t===e)}(o.name)){await i.rm(n,{recursive:!0,force:!0});continue}if(o.isDirectory()){await N(n,t);continue}if(a=o.name,!b.has(r.extname(a))&&"package.json"!==a&&"tsconfig.json"!==a)continue;let s=await i.readFile(n,"utf-8");await i.writeFile(n,function(e,t,a){if("package.json"===e){let e=JSON.parse(v(t));if(e.scripts&&"object"==typeof e.scripts){for(let t of D)delete e.scripts[t];0===Object.keys(e.scripts).length&&delete e.scripts}for(let t of["dependencies","devDependencies","peerDependencies"])if(e[t]&&"object"==typeof e[t]){for(let r of Object.keys(e[t]))_.some(e=>e===r)?delete e[t][r]:r.startsWith("@doubao-apps/")&&(e[t][r]=`^${a}`);0===Object.keys(e[t]).length&&delete e[t]}return`${JSON.stringify(e,null,2)}
2
+ `}return"README.md"===e||"AGENTS.md"===e?v(t).split("\n").filter(e=>!S.some(t=>e.includes(t))).join("\n"):v(t)}(o.name,s,t))}}async function O(e,t){let a=r.join(e,"package.json");if(!s.existsSync(a))throw Error("package.json not found in template");let o=JSON.parse(s.readFileSync(a,"utf-8"));o.name=t,s.writeFileSync(a,`${JSON.stringify(o,null,2)}
3
+ `)}let k=["starter","empty"],$=o(import.meta.url),P=r.dirname($),T={".gitignore":["dist","node_modules",".DS_Store"]};async function x(e){for(let[t,a]of Object.entries(T))await i.writeFile(r.join(e,t),`${a.join("\n")}
4
+ `)}async function C(){let e=r.resolve(P,"..","package.json");return JSON.parse(await i.readFile(e,"utf-8")).version??"0.0.1"}async function F(e){let a=r.join(e,".git");if(!await i.stat(a).then(e=>e.isDirectory()).catch(e=>{if(e?.code==="ENOENT")return!1;throw e}))try{t("git",["init"],{cwd:e,stdio:"ignore"})}catch(t){if(t?.code==="ENOENT")return;throw Error(`Failed to initialize git repository: ${e}`,{cause:t})}}async function A({template:e,projectDir:t,public:a=!0,includeAI:o,appId:n,name:s,packageName:c,overwrite:p}){if(!r.isAbsolute(t))throw Error(`Project directory must be an absolute path: ${t}`);if(!k.includes(e))throw Error(`Invalid template: ${e}. Valid options: ${k.join(", ")}`);let l=r.resolve(P,`template-${e}`);try{if(!(await i.stat(l)).isDirectory())throw Error(`Template path is not a directory: ${l}`)}catch(e){if(e?.code==="ENOENT")throw Error(`Template directory not found: ${l}`,{cause:e});throw Error(`Unable to access template directory: ${l}`,{cause:e})}if(await i.stat(t).then(e=>{if(!e.isDirectory())throw Error(`Project path is not a directory: ${t}`);return!0}).catch(e=>{if(e?.code==="ENOENT")return!1;throw Error(`Unable to access project directory: ${t}`,{cause:e})})){if((await i.readdir(t)).length>0&&!p)throw Error(`Project directory is not empty: ${t}`)}else await i.mkdir(t,{recursive:!0});await w(l,t,{includeAI:o}),a&&await N(t,await C()),await x(t),await F(t);let u=c??r.basename(t).trim().toLowerCase().replace(/\s+/g,"-").replace(/^[._]/,"").replace(/[^a-z0-9-~._]+/g,"-");await O(t,u),await h(t,n??`com.doubao.${u}`,s??"")}let K=e("fs");function R(e){return[{name:"DoubaoAppsDevPlugin",setup(t){t.onDevCompileDone(()=>{e?.onDevCompileDone?.()})}}]}class U{appDirectory;launcher;constructor(e,t=p){this.appDirectory=e,this.launcher=new t(e)}async dev(e={}){let{compileHooks:t,...a}=e;return await this.launcher.dev({...a,rsbuildPlugins:R(t),signingEncryptionOptions:e.signingEncryptionOptions})}async build(e={}){process.env.NODE_ENV="production";let{compileHooks:t,...a}=e;await this.launcher.build({...a,rsbuildPlugins:R(t),signingEncryptionOptions:e.signingEncryptionOptions,versionTag:e.versionTag})}async discoverWidgets(){return Object.values(this.launcher.context.metadata.getData().widgets)}async discoverPages(){return Object.values(this.launcher.context.metadata.getData().pages)}async pushWidget(e){let{widgetId:t,deviceId:a,botId:r,widgetData:o,hdt:i}=e,n=await f({hdt:i,deviceId:a}),s=this.launcher.context.metadata.getData().app.package;n.pushWidget({packageName:s,widgetId:t,widgetData:o,botId:r})}async openPage(e){let{pageId:t,pageData:a,pageSettings:r,mode:o,hdt:i,deviceId:n}=e,s=await f({hdt:i,deviceId:n}),c=this.launcher.context.metadata.getData().app.package;s.openPage({packageName:c,pageId:t,pageData:a,pageSettings:r,mode:o})}async executeDebugScene(e){let{matchedScene:t,deviceId:a,hdt:r}=e,o=this.launcher.context.metadata.getData().app.package,i=await f({hdt:r,deviceId:a});await l({matchedScene:t,packageName:o,driver:i})}async getDebugScenes(){return await c(this.appDirectory||process.cwd())}async deploy(e){let{versionTag:t,cookie:r,appKey:o,signingEncryptionOptions:i}=e;process.env.NODE_ENV="production",await this.launcher.build({skipCleanupRootPath:!0,signingEncryptionOptions:i,versionTag:e.versionTag});let{manifest:s}=this.launcher.context,{packageName:c,versionCode:p}=s,{packageResource:l}=await d({channelName:"doubao_app",manifest:s,rootPath:this.launcher.rootPath});if(!l)throw Error("Failed to archive package");let{resource:f}=l,y=new FormData,g=new Blob([new Uint8Array(K.default.readFileSync(f))],{type:"application/zip"});y.append("applet_file",g,"doubao_app.zip"),y.append("applet_version_code",p.toString());let h=encodeURIComponent(o||c),m=encodeURIComponent(t),w=`https://${a(e.internal||!1)}/developer/resource_api/apps/${h}/versions/${m}/package/upload_applet`,b={...n(),Cookie:r};try{let e=await fetch(w,{method:"POST",body:y,headers:b}),t=e.headers.get("x-tt-logid")||"";if(!e.ok){let a=await e.text(),r=JSON.stringify({code:e.status,message:"HTTP Error",data:a,log_id:t});throw Error(r)}let a=await e.json();if(0!==a.code){let e=JSON.stringify({...a,log_id:t});throw Error(e)}return console.log("Deploy success:",a),a}catch(e){return console.error("Deploy error:",e?.message||e),JSON.parse(e.message)}finally{u()||K.default.rmSync(this.launcher.rootPath,{recursive:!0,force:!0})}}}let J=e=>e;export{analyze,build,dev}from"./938.js";export{U as DoubaoAppsSDK,A as create,J as defineConfig};
5
5
  //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@doubao-apps/kit",
3
- "version": "0.0.24",
3
+ "version": "0.0.25",
4
4
  "type": "module",
5
5
  "types": "./dist/types.d.ts",
6
6
  "bin": {