@cloudcare/cocos-sdk 0.1.1-alpha.1 → 0.1.1-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +35 -6
- package/bin/cli.cjs +42 -5
- package/bin/project-configuration.cjs +135 -0
- package/bin/web-assets.cjs +32 -0
- package/dist/creator2/core/auto-tracking.d.ts +3 -1
- package/dist/creator2/core/auto-tracking.d.ts.map +1 -1
- package/dist/creator2/core/auto-tracking.js +60 -7
- package/dist/creator2/core/auto-tracking.js.map +1 -1
- package/dist/creator2/core/client.d.ts +1 -0
- package/dist/creator2/core/client.d.ts.map +1 -1
- package/dist/creator2/core/client.js +14 -3
- package/dist/creator2/core/client.js.map +1 -1
- package/dist/creator2/core/index.js.map +1 -1
- package/dist/creator2/core/modules.d.ts.map +1 -1
- package/dist/creator2/core/modules.js +2 -2
- package/dist/creator2/core/modules.js.map +1 -1
- package/dist/creator2/core/observation.d.ts +25 -0
- package/dist/creator2/core/observation.d.ts.map +1 -0
- package/dist/creator2/core/observation.js +93 -0
- package/dist/creator2/core/observation.js.map +1 -0
- package/dist/creator2/core/platform-client.d.ts +46 -0
- package/dist/creator2/core/platform-client.d.ts.map +1 -0
- package/dist/creator2/core/platform-client.js +195 -0
- package/dist/creator2/core/platform-client.js.map +1 -0
- package/dist/creator2/core/platform-options.d.ts +30 -0
- package/dist/creator2/core/platform-options.d.ts.map +1 -0
- package/dist/creator2/core/platform-options.js +3 -0
- package/dist/creator2/core/platform-options.js.map +1 -0
- package/dist/creator2/core/platform-runtime.d.ts +60 -0
- package/dist/creator2/core/platform-runtime.d.ts.map +1 -0
- package/dist/creator2/core/platform-runtime.js +36 -0
- package/dist/creator2/core/platform-runtime.js.map +1 -0
- package/dist/creator2/core/plugin-api.d.ts +1 -1
- package/dist/creator2/core/plugin-api.d.ts.map +1 -1
- package/dist/creator2/core/plugin-api.js.map +1 -1
- package/dist/creator2/core/transport.d.ts +1 -1
- package/dist/creator2/core/transport.d.ts.map +1 -1
- package/dist/creator2/core/transport.js.map +1 -1
- package/dist/creator2/core/types.d.ts +9 -0
- package/dist/creator2/core/types.d.ts.map +1 -1
- package/dist/creator2/core/types.js.map +1 -1
- package/dist/creator2/core/validation.d.ts +1 -0
- package/dist/creator2/core/validation.d.ts.map +1 -1
- package/dist/creator2/core/validation.js +13 -0
- package/dist/creator2/core/validation.js.map +1 -1
- package/dist/creator2/core/version.d.ts +1 -3
- package/dist/creator2/core/version.d.ts.map +1 -1
- package/dist/creator2/core/version.js +2 -4
- package/dist/creator2/core/version.js.map +1 -1
- package/dist/creator2/creator2/auto.js.map +1 -1
- package/dist/creator2/creator2/index.d.ts +6 -3
- package/dist/creator2/creator2/index.d.ts.map +1 -1
- package/dist/creator2/creator2/index.js +12 -8
- package/dist/creator2/creator2/index.js.map +1 -1
- package/dist/creator2/creator2/transport.js.map +1 -1
- package/dist/creator2/native/bootstrap.d.ts +2 -0
- package/dist/creator2/native/bootstrap.d.ts.map +1 -0
- package/dist/creator2/native/bootstrap.js +35 -0
- package/dist/creator2/native/bootstrap.js.map +1 -0
- package/dist/creator2/native/error-bootstrap.d.ts +2 -0
- package/dist/creator2/native/error-bootstrap.d.ts.map +1 -0
- package/dist/creator2/native/error-bootstrap.js +7 -0
- package/dist/creator2/native/error-bootstrap.js.map +1 -0
- package/dist/creator2/native/jsb-errors.d.ts +21 -0
- package/dist/creator2/native/jsb-errors.d.ts.map +1 -0
- package/dist/creator2/native/jsb-errors.js +91 -0
- package/dist/creator2/native/jsb-errors.js.map +1 -0
- package/dist/creator2/web/bootstrap.d.ts +3 -0
- package/dist/creator2/web/bootstrap.d.ts.map +1 -0
- package/dist/creator2/web/bootstrap.js +15 -0
- package/dist/creator2/web/bootstrap.js.map +1 -0
- package/dist/creator2/web/client.d.ts +60 -0
- package/dist/creator2/web/client.d.ts.map +1 -0
- package/dist/creator2/web/client.js +293 -0
- package/dist/creator2/web/client.js.map +1 -0
- package/dist/creator2/web/creator2.d.ts +5 -0
- package/dist/creator2/web/creator2.d.ts.map +1 -0
- package/dist/creator2/web/creator2.js +27 -0
- package/dist/creator2/web/creator2.js.map +1 -0
- package/dist/creator2/web/privacy.d.ts +3 -0
- package/dist/creator2/web/privacy.d.ts.map +1 -0
- package/dist/creator2/web/privacy.js +39 -0
- package/dist/creator2/web/privacy.js.map +1 -0
- package/dist/creator2/web/runtime.d.ts +23 -0
- package/dist/creator2/web/runtime.d.ts.map +1 -0
- package/dist/creator2/web/runtime.js +264 -0
- package/dist/creator2/web/runtime.js.map +1 -0
- package/dist/creator2/web/types.d.ts +91 -0
- package/dist/creator2/web/types.d.ts.map +1 -0
- package/dist/creator2/web/types.js +3 -0
- package/dist/creator2/web/types.js.map +1 -0
- package/dist/creator3/core/auto-tracking.d.ts +3 -1
- package/dist/creator3/core/auto-tracking.d.ts.map +1 -1
- package/dist/creator3/core/auto-tracking.js +60 -7
- package/dist/creator3/core/auto-tracking.js.map +1 -1
- package/dist/creator3/core/client.d.ts +1 -0
- package/dist/creator3/core/client.d.ts.map +1 -1
- package/dist/creator3/core/client.js +6 -3
- package/dist/creator3/core/client.js.map +1 -1
- package/dist/creator3/core/modules.d.ts.map +1 -1
- package/dist/creator3/core/modules.js +4 -9
- package/dist/creator3/core/modules.js.map +1 -1
- package/dist/creator3/core/observation.d.ts +25 -0
- package/dist/creator3/core/observation.d.ts.map +1 -0
- package/dist/creator3/core/observation.js +84 -0
- package/dist/creator3/core/observation.js.map +1 -0
- package/dist/creator3/core/platform-client.d.ts +46 -0
- package/dist/creator3/core/platform-client.d.ts.map +1 -0
- package/dist/creator3/core/platform-client.js +135 -0
- package/dist/creator3/core/platform-client.js.map +1 -0
- package/dist/creator3/core/platform-options.d.ts +30 -0
- package/dist/creator3/core/platform-options.d.ts.map +1 -0
- package/dist/creator3/core/platform-options.js +2 -0
- package/dist/creator3/core/platform-options.js.map +1 -0
- package/dist/creator3/core/platform-runtime.d.ts +60 -0
- package/dist/creator3/core/platform-runtime.d.ts.map +1 -0
- package/dist/creator3/core/platform-runtime.js +29 -0
- package/dist/creator3/core/platform-runtime.js.map +1 -0
- package/dist/creator3/core/plugin-api.d.ts +1 -1
- package/dist/creator3/core/plugin-api.d.ts.map +1 -1
- package/dist/creator3/core/transport.d.ts +1 -1
- package/dist/creator3/core/transport.d.ts.map +1 -1
- package/dist/creator3/core/types.d.ts +9 -0
- package/dist/creator3/core/types.d.ts.map +1 -1
- package/dist/creator3/core/validation.d.ts +1 -0
- package/dist/creator3/core/validation.d.ts.map +1 -1
- package/dist/creator3/core/validation.js +11 -0
- package/dist/creator3/core/validation.js.map +1 -1
- package/dist/creator3/core/version.d.ts +1 -3
- package/dist/creator3/core/version.d.ts.map +1 -1
- package/dist/creator3/core/version.js +1 -3
- package/dist/creator3/core/version.js.map +1 -1
- package/dist/creator3/creator3/index.d.ts +6 -3
- package/dist/creator3/creator3/index.d.ts.map +1 -1
- package/dist/creator3/creator3/index.js +13 -8
- package/dist/creator3/creator3/index.js.map +1 -1
- package/dist/creator3/native/bootstrap.d.ts +2 -0
- package/dist/creator3/native/bootstrap.d.ts.map +1 -0
- package/dist/creator3/native/bootstrap.js +32 -0
- package/dist/creator3/native/bootstrap.js.map +1 -0
- package/dist/creator3/native/error-bootstrap.d.ts +2 -0
- package/dist/creator3/native/error-bootstrap.d.ts.map +1 -0
- package/dist/creator3/native/error-bootstrap.js +5 -0
- package/dist/creator3/native/error-bootstrap.js.map +1 -0
- package/dist/creator3/native/jsb-errors.d.ts +21 -0
- package/dist/creator3/native/jsb-errors.d.ts.map +1 -0
- package/dist/creator3/native/jsb-errors.js +82 -0
- package/dist/creator3/native/jsb-errors.js.map +1 -0
- package/dist/creator3/web/bootstrap.d.ts +3 -0
- package/dist/creator3/web/bootstrap.d.ts.map +1 -0
- package/dist/creator3/web/bootstrap.js +11 -0
- package/dist/creator3/web/bootstrap.js.map +1 -0
- package/dist/creator3/web/client.d.ts +60 -0
- package/dist/creator3/web/client.d.ts.map +1 -0
- package/dist/creator3/web/client.js +255 -0
- package/dist/creator3/web/client.js.map +1 -0
- package/dist/creator3/web/creator3.d.ts +5 -0
- package/dist/creator3/web/creator3.d.ts.map +1 -0
- package/dist/creator3/web/creator3.js +11 -0
- package/dist/creator3/web/creator3.js.map +1 -0
- package/dist/creator3/web/privacy.d.ts +3 -0
- package/dist/creator3/web/privacy.d.ts.map +1 -0
- package/dist/creator3/web/privacy.js +26 -0
- package/dist/creator3/web/privacy.js.map +1 -0
- package/dist/creator3/web/runtime.d.ts +23 -0
- package/dist/creator3/web/runtime.d.ts.map +1 -0
- package/dist/creator3/web/runtime.js +266 -0
- package/dist/creator3/web/runtime.js.map +1 -0
- package/dist/creator3/web/types.d.ts +91 -0
- package/dist/creator3/web/types.d.ts.map +1 -0
- package/dist/creator3/web/types.js +2 -0
- package/dist/creator3/web/types.js.map +1 -0
- package/extensions/creator2/install-native.cjs +19 -1
- package/extensions/creator2/install-web.cjs +69 -0
- package/extensions/creator2/main.js +19 -2
- package/extensions/creator2/project-configuration.cjs +135 -0
- package/extensions/creator3/dist/hooks.js +13 -0
- package/extensions/creator3/install-native.cjs +19 -1
- package/extensions/creator3/install-web.cjs +69 -0
- package/extensions/creator3/project-configuration.cjs +135 -0
- package/native/android/src/main/java/com/ft/sdk/cocos/FTCocosBridge.java +7 -10
- package/native/ios/FTCocosBridge.m +6 -4
- package/native/ios/FTCocosBridge.podspec +1 -1
- package/native/jsb-errors.js +266 -0
- package/package.json +19 -3
- package/runtime/native.js +1351 -0
- package/web/bootstrap/package.json +4 -0
- package/web/bootstrap.js +1053 -0
- package/web/bootstrap.js.map +7 -0
- package/web/creator2/package.json +4 -0
- package/web/creator3/package.json +4 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../../src/core/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../../src/core/client.ts"],"names":[],"mappings":"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","sourcesContent":["import { FTLogger, FTMobileAgent, FTRUM, FTSDKOwnership, FTTrace } from './modules.js';\nimport type { FTNativeTransport } from './transport.js';\nimport type {\n FTAutoTrackingConfig,\n FTCocosConfig,\n FTCocosEnterOptions,\n FTCocosHybridConfig,\n} from './types.js';\nimport { FT_COCOS_SDK_VERSION } from './version.js';\n\nexport type FTAutoTrackingScope = 'all' | 'page' | 'network';\n\nexport interface FTAutoTrackingController {\n start(config: FTAutoTrackingConfig, viewName?: string, scope?: FTAutoTrackingScope): void;\n stop(scope?: FTAutoTrackingScope): void;\n}\n\nexport interface FTSDKLifecycle {\n /**\n * Validates or prepares the extension before standalone native SDK initialization.\n * Throwing aborts startup before the base SDK is initialized.\n */\n beforeStart?(): void;\n /**\n * Starts the extension after the base SDK and configured modules initialize,\n * but before Cocos automatic tracking starts. If this hook throws, the native\n * SDK remains initialized; startup is not automatically rolled back.\n */\n afterStart?(): void;\n /**\n * Prepares the extension before the native Hybrid attachment call.\n * The native host already owns SDK initialization at this point.\n */\n beforeAttach?(): void;\n /**\n * Undoes extension preparation if beforeAttach or the native attachment call\n * fails. Must tolerate partial preparation; errors from this hook are ignored\n * so the original attachment error can be rethrown.\n */\n rollbackAttach?(): void;\n /**\n * Starts extension activity when entering Cocos in Hybrid mode, before Cocos\n * automatic tracking starts. A failure triggers the leave hook for cleanup.\n */\n enter?(): void;\n /**\n * Stops extension activity when leaving Cocos in Hybrid mode, after automatic\n * tracking cleanup is attempted. Also runs if entering Cocos fails, so it must\n * tolerate partial startup. The native host SDK must remain running.\n */\n leave?(): void;\n /** Releases Hybrid extension bindings without shutting down the native host SDK. */\n detach?(): void;\n /**\n * Releases standalone extension resources after automatic tracking cleanup is\n * attempted and before the base native SDK shuts down. Base SDK shutdown is\n * still attempted if this hook throws. Not called for Hybrid applications.\n */\n shutdown?(): void;\n}\n\nexport interface FTSDKExtension<T> {\n value: T;\n lifecycle: FTSDKLifecycle;\n}\n\ntype FTCocosSDKState = 'idle' | 'standalone' | 'hybrid-attached' | 'hybrid-entered' | 'hybrid-detached';\n\n/**\n * Cocos SDK facade exposed through the platform entry point's SDK\n * singleton. Do not construct this class directly.\n */\nexport class FTCocosSDK {\n /** Base SDK lifecycle and user-binding operations. */\n readonly mobile: FTMobileAgent;\n /** Real User Monitoring operations. */\n readonly rum: FTRUM;\n /** Logging operations. */\n readonly logger: FTLogger;\n /** Distributed-tracing operations. */\n readonly trace: FTTrace;\n readonly extensionProtocol = 1;\n private extension: FTSDKExtension<unknown> | undefined;\n private extensionId: string | undefined;\n\n private state: FTCocosSDKState = 'idle';\n private hybridAutoTracking: FTAutoTrackingConfig = {};\n private readonly ownership = new FTSDKOwnership();\n\n constructor(\n private readonly transport: FTNativeTransport,\n private readonly autoTracking?: FTAutoTrackingController,\n readonly engine: 'creator2' | 'creator3' = 'creator3',\n ) {\n this.mobile = new FTMobileAgent(transport, this.ownership);\n this.rum = new FTRUM(transport, this.ownership);\n this.logger = new FTLogger(transport, this.ownership);\n this.trace = new FTTrace(transport, this.ownership);\n }\n\n /** @internal Ownership state used by the platform facade. */\n get lifecycleMode(): 'idle' | 'standalone' | 'hybrid' {\n return this.state === 'standalone' ? 'standalone' : this.state === 'hybrid-attached' || this.state === 'hybrid-entered' ? 'hybrid' : 'idle';\n }\n get isCocosEntered(): boolean { return this.state === 'standalone' || this.state === 'hybrid-entered'; }\n\n /** Attaches an optional package before SDK initialization. */\n registerExtension<T>(id: string, version: string, engine: string, factory: () => FTSDKExtension<T>): T {\n if (version !== FT_COCOS_SDK_VERSION || engine !== this.engine) {\n throw new Error('SDK extension version or Creator engine does not match the base SDK');\n }\n if (this.extension) {\n if (id !== this.extensionId) throw new Error('A different SDK extension is already installed');\n return this.extension.value as T;\n }\n if (this.state !== 'idle') throw new Error('Install SDK extensions before start() or attach()');\n const extension = factory();\n this.extension = extension;\n this.extensionId = id;\n return extension.value;\n }\n\n /**\n * Initializes the native SDK and the configured modules for a standalone\n * Cocos application.\n *\n * Call this once during application startup. Do not combine it with\n * {@link attach}, which is reserved for Hybrid applications initialized by\n * a native host.\n *\n * @param config - Base SDK settings and optional module configurations.\n * @throws If the SDK is already started or attached.\n */\n start(config: FTCocosConfig): void {\n rejectReplayConfig(config);\n if (this.state !== 'idle') {\n throw new Error('start() and attach() are mutually exclusive');\n }\n this.extension?.lifecycle.beforeStart?.();\n this.mobile.start(config.sdk);\n // Base SDK installation already belongs to this Cocos runtime after the\n // first bridge call succeeds, even if a later optional module fails.\n this.state = 'standalone';\n if (config.rum) this.rum.start(config.rum);\n if (config.logger) this.logger.start(config.logger);\n if (config.trace) this.trace.start(config.trace);\n this.extension?.lifecycle.afterStart?.();\n if (config.autoTrack) this.autoTracking?.start(config.autoTrack);\n }\n\n /**\n * Attaches Cocos instrumentation to an SDK instance initialized by the\n * native host application.\n *\n * Call this once before the first {@link enterCocos}. This method does not\n * initialize or shut down the native SDK. Network tracking starts here and\n * remains active across page transitions until {@link detach}. Repeated calls\n * while attached do not update configuration.\n *\n * @param config - Cocos tracking settings for the SDK owned by the native host.\n * @throws If standalone initialization has already started.\n */\n attach(config: FTCocosHybridConfig = {}): void {\n rejectReplayConfig(config);\n if (this.state === 'standalone') {\n throw new Error('start() and attach() are mutually exclusive');\n }\n if (this.state === 'hybrid-attached' || this.state === 'hybrid-entered') return;\n\n this.ownership.claimNativeHost();\n try {\n this.extension?.lifecycle.beforeAttach?.();\n this.transport.invoke('hybrid.attach');\n if (config.autoTrack?.network) {\n this.autoTracking?.start({ network: true }, undefined, 'network');\n }\n } catch (error) {\n try { this.autoTracking?.stop('network'); } catch { /* Preserve attachment error. */ }\n try { this.extension?.lifecycle.rollbackAttach?.(); } catch { /* Preserve attachment error. */ }\n if (this.state === 'hybrid-detached') {\n try { this.extension?.lifecycle.detach?.(); } catch { /* Preserve attachment error. */ }\n } else {\n this.ownership.releaseNativeHost();\n }\n throw error;\n }\n this.hybridAutoTracking = { ...(config.autoTrack || {}) };\n this.state = 'hybrid-attached';\n }\n\n /**\n * Starts page automatic tracking and registered extensions in Hybrid mode.\n * Network tracking remains active independently of page visibility.\n *\n * @param options - Options for the Cocos view being entered.\n * @throws If {@link attach} has not been called, or if `viewName` is omitted\n * while automatic scene tracking is disabled.\n */\n enterCocos(options: FTCocosEnterOptions = {}): void {\n if (this.state === 'standalone') {\n throw new Error('enterCocos() is only available after attach()');\n }\n if (this.state === 'idle' || this.state === 'hybrid-detached') {\n throw new Error('Call attach() before enterCocos()');\n }\n if (this.state === 'hybrid-entered') return;\n\n const viewName = nonEmptyText(options.viewName);\n if (!this.hybridAutoTracking.scenes && !viewName) {\n throw new TypeError('enterCocos.viewName is required when scene tracking is disabled');\n }\n\n try {\n this.extension?.lifecycle.enter?.();\n this.autoTracking?.start(this.hybridAutoTracking, viewName, 'page');\n this.state = 'hybrid-entered';\n } catch (error) {\n try { this.autoTracking?.stop('page'); } catch { /* Preserve the entry error. */ }\n try {\n this.extension?.lifecycle.leave?.();\n } catch {\n // Preserve the error that prevented entering Cocos.\n }\n throw error;\n }\n }\n\n /**\n * Stops page automatic tracking and registered extensions in Hybrid mode.\n * Network tracking and the native host SDK remain running.\n */\n leaveCocos(): void {\n if (this.state === 'standalone') {\n throw new Error('leaveCocos() is only available after attach()');\n }\n if (this.state !== 'hybrid-entered') return;\n\n try {\n this.autoTracking?.stop('page');\n } finally {\n this.extension?.lifecycle.leave?.();\n this.state = 'hybrid-attached';\n }\n }\n\n /**\n * Removes Hybrid page and network instrumentation without shutting down the\n * native SDK. Requests already tracked may still finish reporting. Call attach()\n * again to resume with new configuration; native SDK ownership stays with the host.\n */\n detach(): void {\n if (this.state === 'standalone') throw new Error('detach() is only available after attach()');\n if (this.state === 'idle' || this.state === 'hybrid-detached') return;\n let failure: unknown;\n const cleanup = (operation: () => void): void => {\n try { operation(); } catch (error) { if (failure === undefined) failure = error; }\n };\n cleanup(() => this.leaveCocos());\n cleanup(() => this.autoTracking?.stop());\n // Keep the binding retryable if leaving failed (for example recorder restoration).\n if (failure !== undefined) throw failure;\n this.extension?.lifecycle.detach?.();\n this.hybridAutoTracking = {};\n this.state = 'hybrid-detached';\n }\n\n /**\n * Stops a standalone SDK instance and releases its Cocos instrumentation.\n *\n * Hybrid applications should call {@link leaveCocos} instead because the\n * native host owns SDK shutdown.\n */\n shutdown(): void {\n if (this.state === 'hybrid-attached' || this.state === 'hybrid-entered' || this.state === 'hybrid-detached') {\n throw new Error('The native host owns the native SDK; call leaveCocos() instead of shutdown()');\n }\n if (this.state === 'idle') return;\n let failure: unknown;\n const cleanup = (operation: () => void): void => {\n try { operation(); } catch (error) { if (failure === undefined) failure = error; }\n };\n cleanup(() => this.autoTracking?.stop());\n cleanup(() => this.extension?.lifecycle.shutdown?.());\n cleanup(() => { this.mobile.shutdown(); this.state = 'idle'; });\n if (failure !== undefined) throw failure;\n }\n}\n\nfunction nonEmptyText(value: string | undefined): string | undefined {\n return typeof value === 'string' && value.trim().length > 0 ? value : undefined;\n}\n\nfunction rejectReplayConfig(config: object): void {\n if ('replay' in config) {\n throw new Error('Session Replay requires @cloudcare/cocos-session-replay. Install the package and use withSessionReplay() before passing replay configuration.');\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/index.ts"],"names":[],"mappings":";;;AAoBA,2CAAoD;AAA3C,kHAAA,oBAAoB,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/index.ts"],"names":[],"mappings":";;;AAoBA,2CAAoD;AAA3C,kHAAA,oBAAoB,OAAA","sourcesContent":["export type {\n FTAttributes,\n FTAutoTrackingConfig,\n FTCocosConfig,\n FTCocosEnterOptions,\n FTCocosHybridConfig,\n FTEnvironment,\n FTLoggerConfig,\n FTLogLevel,\n FTPrimitive,\n FTResourceContent,\n FTResourceMetrics,\n FTRUMConfig,\n FTSDKConfig,\n FTTraceConfig,\n FTTraceType,\n FTUserData,\n FTValue,\n} from './types.js';\n\nexport { FT_COCOS_SDK_VERSION } from './version.js';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modules.d.ts","sourceRoot":"","sources":["../../../../../src/core/modules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,aAAa,EACb,UAAU,EACX,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"modules.d.ts","sourceRoot":"","sources":["../../../../../src/core/modules.ts"],"names":[],"mappings":"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"}
|
|
@@ -74,12 +74,12 @@ var FTMobileAgent = /** @class */ (function () {
|
|
|
74
74
|
* @param config - Base SDK connection and service settings.
|
|
75
75
|
*/
|
|
76
76
|
FTMobileAgent.prototype.start = function (config) {
|
|
77
|
-
var _a;
|
|
78
77
|
if (!config.datakitUrl && !(config.datawayUrl && config.clientToken)) {
|
|
79
78
|
throw new TypeError('Configure datakitUrl or datawayUrl with clientToken');
|
|
80
79
|
}
|
|
80
|
+
(0, validation_js_1.validateWebViewHosts)(config.allowWebViewHost);
|
|
81
81
|
this.ownership.claimStandalone();
|
|
82
|
-
this.transport.invoke('sdk.configure', compact(
|
|
82
|
+
this.transport.invoke('sdk.configure', compact(config));
|
|
83
83
|
};
|
|
84
84
|
/**
|
|
85
85
|
* Binds a user identity to data collected after this call.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modules.js","sourceRoot":"","sources":["../../../../../src/core/modules.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"modules.js","sourceRoot":"","sources":["../../../../../src/core/modules.ts"],"names":[],"mappings":"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","sourcesContent":["import type { FTNativeTransport } from './transport.js';\nimport type {\n FTAttributes,\n FTLogLevel,\n FTLoggerConfig,\n FTResourceContent,\n FTResourceMetrics,\n FTRUMConfig,\n FTSDKConfig,\n FTTraceConfig,\n FTUserData,\n} from './types.js';\nimport { requireText, validatedSamplingConfig, validateWebViewHosts } from './validation.js';\nimport {\n FT_COCOS_SDK_BRIDGE_INFO,\n FT_COCOS_SDK_BRIDGE_INFO_KEY,\n} from './version.js';\n\nexport class FTSDKOwnership {\n private mode: 'unclaimed' | 'standalone' | 'native-host' = 'unclaimed';\n\n claimStandalone(): void {\n if (this.mode === 'native-host') {\n throw new Error('The native host owns SDK initialization in Hybrid mode');\n }\n this.mode = 'standalone';\n }\n\n claimNativeHost(): void {\n if (this.mode === 'standalone') {\n throw new Error('Standalone initialization and native-host attachment are mutually exclusive');\n }\n this.mode = 'native-host';\n }\n\n releaseNativeHost(): void {\n if (this.mode === 'native-host') this.mode = 'unclaimed';\n }\n\n releaseStandalone(): void {\n if (this.mode === 'standalone') this.mode = 'unclaimed';\n }\n\n assertNativeHostDoesNotOwnSDK(): void {\n if (this.mode === 'native-host') {\n throw new Error('The native host owns the native SDK in Hybrid mode');\n }\n }\n}\n\nfunction compact<T extends object>(value: T): T {\n const source = value as Record<string, unknown>;\n const result: Record<string, unknown> = {};\n Object.keys(value).forEach((key) => {\n if (source[key] !== undefined) result[key] = source[key];\n });\n return result as T;\n}\n\nfunction withBridgeInfo(attributes?: FTAttributes): FTAttributes {\n return {\n [FT_COCOS_SDK_BRIDGE_INFO_KEY]: FT_COCOS_SDK_BRIDGE_INFO,\n ...(attributes || {}),\n };\n}\n\n/** Base SDK lifecycle and user identity operations. */\nexport class FTMobileAgent {\n constructor(\n private readonly transport: FTNativeTransport,\n private readonly ownership = new FTSDKOwnership(),\n ) {}\n\n /**\n * Initializes the native SDK connection.\n *\n * Supply either `datakitUrl`, or both `datawayUrl` and `clientToken`.\n *\n * @param config - Base SDK connection and service settings.\n */\n start(config: FTSDKConfig): void {\n if (!config.datakitUrl && !(config.datawayUrl && config.clientToken)) {\n throw new TypeError('Configure datakitUrl or datawayUrl with clientToken');\n }\n validateWebViewHosts(config.allowWebViewHost);\n this.ownership.claimStandalone();\n this.transport.invoke('sdk.configure', compact(config));\n }\n\n /**\n * Binds a user identity to data collected after this call.\n *\n * @param user - A user ID or a structured user record.\n */\n bindUser(user: FTUserData | string): void {\n this.transport.invoke(\n 'sdk.bindUser',\n typeof user === 'string' ? { userId: requireText(user, 'userId') } : user,\n );\n }\n\n /** Removes the currently bound user identity. */\n unbindUser(): void {\n this.transport.invoke('sdk.unbindUser');\n }\n\n /** Shuts down a standalone native SDK instance. */\n shutdown(): void {\n this.ownership.assertNativeHostDoesNotOwnSDK();\n this.transport.invoke('sdk.shutdown');\n this.ownership.releaseStandalone();\n }\n}\n\n/** Manual Real User Monitoring operations. */\nexport class FTRUM {\n constructor(\n private readonly transport: FTNativeTransport,\n private readonly ownership = new FTSDKOwnership(),\n ) {}\n\n /**\n * Enables RUM with the supplied native and Cocos settings.\n *\n * @param config - RUM application IDs, sampling, and native tracking options.\n */\n start(config: FTRUMConfig): void {\n const payload = validatedSamplingConfig(config, 'rum', [\n ['sessionSamplingRate', 'sampleRate'],\n ['sessionOnErrorSamplingRate', 'sessionOnErrorSampleRate'],\n ]);\n this.ownership.claimStandalone();\n this.transport.invoke('rum.configure', compact(payload));\n }\n\n /**\n * Starts a RUM view.\n *\n * @param name - Application-defined view name.\n * @param attributes - Optional attributes attached to the view.\n */\n startView(name: string, attributes?: FTAttributes): void {\n this.transport.invoke('rum.startView', {\n name: requireText(name, 'view name'),\n attributes: withBridgeInfo(attributes),\n });\n }\n\n /**\n * Stops the currently active RUM view.\n *\n * @param attributes - Optional attributes attached when the view stops.\n */\n stopView(attributes?: FTAttributes): void {\n this.transport.invoke('rum.stopView', { attributes: withBridgeInfo(attributes) });\n }\n\n /**\n * Records a completed RUM action.\n *\n * @param name - Application-defined action name.\n * @param type - Action category. @defaultValue `'click'`\n * @param attributes - Optional attributes attached to the action.\n */\n addAction(name: string, type = 'click', attributes?: FTAttributes): void {\n this.transport.invoke('rum.addAction', {\n name: requireText(name, 'action name'),\n type: requireText(type, 'action type'),\n attributes: withBridgeInfo(attributes),\n });\n }\n\n /**\n * Starts a RUM action whose completion is detected by the native SDK.\n *\n * @param name - Application-defined action name.\n * @param type - Action category. @defaultValue `'click'`\n * @param attributes - Optional attributes attached to the action.\n */\n startAction(name: string, type = 'click', attributes?: FTAttributes): void {\n this.transport.invoke('rum.startAction', {\n name: requireText(name, 'action name'),\n type: requireText(type, 'action type'),\n attributes: withBridgeInfo(attributes),\n });\n }\n\n /**\n * Records an application error.\n *\n * @param message - Human-readable error message.\n * @param stack - Error stack or diagnostic details.\n * @param type - Application-defined error category. @defaultValue `'cocos_error'`\n * @param state - Application state when the error occurred. @defaultValue `'run'`\n * @param attributes - Optional attributes attached to the error.\n */\n addError(\n message: string,\n stack: string,\n type = 'cocos_error',\n state: 'run' | 'startup' | 'unknown' = 'run',\n attributes?: FTAttributes,\n ): void {\n this.transport.invoke('rum.addError', {\n message,\n stack,\n type,\n state,\n attributes: withBridgeInfo(attributes),\n });\n }\n\n /**\n * Records a long task.\n *\n * @param stack - Stack or diagnostic details for the task.\n * @param durationNs - Task duration in nanoseconds.\n * @param attributes - Optional attributes attached to the task.\n */\n addLongTask(stack: string, durationNs: number, attributes?: FTAttributes): void {\n this.transport.invoke('rum.addLongTask', {\n stack,\n durationNs,\n attributes: withBridgeInfo(attributes),\n });\n }\n\n /**\n * Starts tracking a resource using an application-defined correlation key.\n *\n * @param key - Key reused by subsequent calls for this resource.\n * @param attributes - Optional attributes attached to the resource.\n */\n startResource(key: string, attributes?: FTAttributes): void {\n this.transport.invoke('rum.startResource', {\n key: requireText(key, 'resource key'),\n attributes: withBridgeInfo(attributes),\n });\n }\n\n /**\n * Stops timing a resource previously started with {@link startResource}.\n *\n * @param key - Key passed to {@link startResource}.\n * @param attributes - Optional attributes attached when timing stops.\n */\n stopResource(key: string, attributes?: FTAttributes): void {\n this.transport.invoke('rum.stopResource', {\n key: requireText(key, 'resource key'),\n attributes: withBridgeInfo(attributes),\n });\n }\n\n /**\n * Adds request, response, and optional timing details to a tracked resource.\n *\n * @param key - Key passed to {@link startResource} and {@link stopResource}.\n * @param content - Request and response details safe to collect.\n * @param metrics - Optional network timing metrics.\n */\n addResource(\n key: string,\n content: FTResourceContent,\n metrics?: FTResourceMetrics,\n ): void {\n this.transport.invoke('rum.addResource', {\n key: requireText(key, 'resource key'),\n content,\n metrics,\n });\n }\n}\n\n/** Manual logging operations. */\nexport class FTLogger {\n constructor(\n private readonly transport: FTNativeTransport,\n private readonly ownership = new FTSDKOwnership(),\n ) {}\n\n /**\n * Enables the native logger.\n *\n * @param config - Logger sampling, filtering, and cache settings.\n */\n start(config: FTLoggerConfig): void {\n const payload = validatedSamplingConfig(config, 'logger', [\n ['logSamplingRate', 'sampleRate'],\n ]);\n this.ownership.claimStandalone();\n this.transport.invoke('logger.configure', compact(payload));\n }\n\n /**\n * Writes a custom log entry.\n *\n * @param content - Log message.\n * @param level - Log severity. @defaultValue `'info'`\n * @param attributes - Optional attributes attached to the log.\n */\n log(content: string, level: FTLogLevel = 'info', attributes?: FTAttributes): void {\n this.transport.invoke('logger.log', {\n content,\n level,\n attributes: withBridgeInfo(attributes),\n });\n }\n}\n\n/** Distributed-tracing operations. */\nexport class FTTrace {\n constructor(\n private readonly transport: FTNativeTransport,\n private readonly ownership = new FTSDKOwnership(),\n ) {}\n\n /**\n * Enables distributed tracing.\n *\n * @param config - Trace sampling and propagation settings.\n */\n start(config: FTTraceConfig): void {\n const payload = validatedSamplingConfig(config, 'trace', [\n ['traceSamplingRate', 'sampleRate'],\n ]);\n this.ownership.claimStandalone();\n this.transport.invoke('trace.configure', compact(payload));\n }\n\n /**\n * Returns propagation headers for an outgoing request.\n *\n * Pass the same `resourceKey` used for manual RUM resource tracking to link\n * the request with its trace.\n *\n * @param url - Absolute outgoing request URL.\n * @param resourceKey - Optional key used for manual RUM resource tracking.\n * @returns Headers to merge into the outgoing request.\n */\n getHeaders(url: string, resourceKey?: string): Record<string, string> {\n return (\n this.transport.invoke('trace.getHeaders', {\n url: requireText(url, 'url'),\n resourceKey,\n }) as Record<string, string> | undefined\n ) || {};\n }\n}\n"]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/** Shared across the early JSB bootstrap and the separately bundled SDK runtime. */
|
|
2
|
+
export interface FTObservationState {
|
|
3
|
+
reporting: number;
|
|
4
|
+
}
|
|
5
|
+
export interface FTObservationGlobal {
|
|
6
|
+
__FT_COCOS_OBSERVATION_STATE__?: FTObservationState;
|
|
7
|
+
setTimeout?: typeof setTimeout;
|
|
8
|
+
clearTimeout?: typeof clearTimeout;
|
|
9
|
+
}
|
|
10
|
+
export declare function observationState(target: FTObservationGlobal): FTObservationState;
|
|
11
|
+
/** A bounded, cancellable side channel. It never runs a task synchronously. */
|
|
12
|
+
export declare class FTObservationQueue {
|
|
13
|
+
private readonly target;
|
|
14
|
+
private readonly state;
|
|
15
|
+
private cancel;
|
|
16
|
+
private pending;
|
|
17
|
+
private size;
|
|
18
|
+
private timer;
|
|
19
|
+
private generation;
|
|
20
|
+
dropped: number;
|
|
21
|
+
constructor(target: FTObservationGlobal);
|
|
22
|
+
enqueue(run: () => void, size?: number): boolean;
|
|
23
|
+
stop(): void;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=observation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"observation.d.ts","sourceRoot":"","sources":["../../../../../src/core/observation.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,MAAM,WAAW,kBAAkB;IAAG,SAAS,EAAE,MAAM,CAAC;CAAE;AAC1D,MAAM,WAAW,mBAAmB;IAClC,8BAA8B,CAAC,EAAE,kBAAkB,CAAC;IACpD,UAAU,CAAC,EAAE,OAAO,UAAU,CAAC;IAC/B,YAAY,CAAC,EAAE,OAAO,YAAY,CAAC;CACpC;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,mBAAmB,GAAG,kBAAkB,CAGhF;AAED,+EAA+E;AAC/E,qBAAa,kBAAkB;IASjB,OAAO,CAAC,QAAQ,CAAC,MAAM;IARnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqB;IAC3C,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,OAAO,CAAgD;IAC/D,OAAO,CAAC,IAAI,CAAK;IACjB,OAAO,CAAC,KAAK,CAA4C;IACzD,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,SAAK;gBAEiB,MAAM,EAAE,mBAAmB;IAIxD,OAAO,CAAC,GAAG,EAAE,MAAM,IAAI,EAAE,IAAI,SAAI,GAAG,OAAO;IA+C3C,IAAI,IAAI,IAAI;CASb"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FTObservationQueue = void 0;
|
|
4
|
+
exports.observationState = observationState;
|
|
5
|
+
function observationState(target) {
|
|
6
|
+
return target.__FT_COCOS_OBSERVATION_STATE__
|
|
7
|
+
|| (target.__FT_COCOS_OBSERVATION_STATE__ = { reporting: 0 });
|
|
8
|
+
}
|
|
9
|
+
/** A bounded, cancellable side channel. It never runs a task synchronously. */
|
|
10
|
+
var FTObservationQueue = /** @class */ (function () {
|
|
11
|
+
function FTObservationQueue(target) {
|
|
12
|
+
this.target = target;
|
|
13
|
+
this.pending = [];
|
|
14
|
+
this.size = 0;
|
|
15
|
+
this.generation = 0;
|
|
16
|
+
this.dropped = 0;
|
|
17
|
+
this.state = observationState(target);
|
|
18
|
+
}
|
|
19
|
+
FTObservationQueue.prototype.enqueue = function (run, size) {
|
|
20
|
+
var _this = this;
|
|
21
|
+
if (size === void 0) { size = 0; }
|
|
22
|
+
if (this.state.reporting)
|
|
23
|
+
return false;
|
|
24
|
+
if (this.pending.length >= 128 || this.size + size > 1024 * 1024) {
|
|
25
|
+
this.dropped++;
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
this.pending.push({ run: run, size: size });
|
|
29
|
+
this.size += size;
|
|
30
|
+
if (this.timer !== undefined)
|
|
31
|
+
return true;
|
|
32
|
+
var generation = this.generation;
|
|
33
|
+
try {
|
|
34
|
+
// Editor/module import may precede timer installation. Resolve only when
|
|
35
|
+
// an observation actually needs scheduling; absence never means sync work.
|
|
36
|
+
var schedule = this.target.setTimeout || (typeof setTimeout === 'function' ? setTimeout : undefined);
|
|
37
|
+
var cancel = this.target.clearTimeout || (typeof clearTimeout === 'function' ? clearTimeout : undefined);
|
|
38
|
+
if (!schedule) {
|
|
39
|
+
this.dropped += this.pending.length;
|
|
40
|
+
this.pending = [];
|
|
41
|
+
this.size = 0;
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
this.cancel = cancel === null || cancel === void 0 ? void 0 : cancel.bind(this.target);
|
|
45
|
+
this.timer = schedule.call(this.target, function () {
|
|
46
|
+
_this.timer = undefined;
|
|
47
|
+
if (generation !== _this.generation)
|
|
48
|
+
return;
|
|
49
|
+
var batch = _this.pending;
|
|
50
|
+
_this.pending = [];
|
|
51
|
+
_this.size = 0;
|
|
52
|
+
_this.state.reporting++;
|
|
53
|
+
try {
|
|
54
|
+
for (var _i = 0, batch_1 = batch; _i < batch_1.length; _i++) {
|
|
55
|
+
var task = batch_1[_i];
|
|
56
|
+
if (generation !== _this.generation)
|
|
57
|
+
break;
|
|
58
|
+
try {
|
|
59
|
+
task.run();
|
|
60
|
+
}
|
|
61
|
+
catch ( /* Never report observation failures through the observed channel. */_a) { /* Never report observation failures through the observed channel. */ }
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
finally {
|
|
65
|
+
_this.state.reporting--;
|
|
66
|
+
}
|
|
67
|
+
}, 0);
|
|
68
|
+
return true;
|
|
69
|
+
}
|
|
70
|
+
catch (_a) {
|
|
71
|
+
this.dropped += this.pending.length;
|
|
72
|
+
this.pending = [];
|
|
73
|
+
this.size = 0;
|
|
74
|
+
return false;
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
FTObservationQueue.prototype.stop = function () {
|
|
78
|
+
var _a;
|
|
79
|
+
this.generation++;
|
|
80
|
+
this.pending = [];
|
|
81
|
+
this.size = 0;
|
|
82
|
+
if (this.timer !== undefined) {
|
|
83
|
+
try {
|
|
84
|
+
(_a = this.cancel) === null || _a === void 0 ? void 0 : _a.call(this, this.timer);
|
|
85
|
+
}
|
|
86
|
+
catch ( /* The generation check also invalidates the callback. */_b) { /* The generation check also invalidates the callback. */ }
|
|
87
|
+
this.timer = undefined;
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
return FTObservationQueue;
|
|
91
|
+
}());
|
|
92
|
+
exports.FTObservationQueue = FTObservationQueue;
|
|
93
|
+
//# sourceMappingURL=observation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"observation.js","sourceRoot":"","sources":["../../../../../src/core/observation.ts"],"names":[],"mappings":"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","sourcesContent":["/** Shared across the early JSB bootstrap and the separately bundled SDK runtime. */\nexport interface FTObservationState { reporting: number; }\nexport interface FTObservationGlobal {\n __FT_COCOS_OBSERVATION_STATE__?: FTObservationState;\n setTimeout?: typeof setTimeout;\n clearTimeout?: typeof clearTimeout;\n}\n\nexport function observationState(target: FTObservationGlobal): FTObservationState {\n return target.__FT_COCOS_OBSERVATION_STATE__\n || (target.__FT_COCOS_OBSERVATION_STATE__ = { reporting: 0 });\n}\n\n/** A bounded, cancellable side channel. It never runs a task synchronously. */\nexport class FTObservationQueue {\n private readonly state: FTObservationState;\n private cancel: typeof clearTimeout | undefined;\n private pending: Array<{ run: () => void; size: number }> = [];\n private size = 0;\n private timer: ReturnType<typeof setTimeout> | undefined;\n private generation = 0;\n dropped = 0;\n\n constructor(private readonly target: FTObservationGlobal) {\n this.state = observationState(target);\n }\n\n enqueue(run: () => void, size = 0): boolean {\n if (this.state.reporting) return false;\n if (this.pending.length >= 128 || this.size + size > 1024 * 1024) {\n this.dropped++;\n return false;\n }\n this.pending.push({ run, size });\n this.size += size;\n if (this.timer !== undefined) return true;\n const generation = this.generation;\n try {\n // Editor/module import may precede timer installation. Resolve only when\n // an observation actually needs scheduling; absence never means sync work.\n const schedule = this.target.setTimeout || (typeof setTimeout === 'function' ? setTimeout : undefined);\n const cancel = this.target.clearTimeout || (typeof clearTimeout === 'function' ? clearTimeout : undefined);\n if (!schedule) {\n this.dropped += this.pending.length;\n this.pending = [];\n this.size = 0;\n return false;\n }\n this.cancel = cancel?.bind(this.target);\n this.timer = schedule.call(this.target, () => {\n this.timer = undefined;\n if (generation !== this.generation) return;\n const batch = this.pending;\n this.pending = [];\n this.size = 0;\n this.state.reporting++;\n try {\n for (const task of batch) {\n if (generation !== this.generation) break;\n try { task.run(); } catch { /* Never report observation failures through the observed channel. */ }\n }\n } finally {\n this.state.reporting--;\n }\n }, 0);\n return true;\n } catch {\n this.dropped += this.pending.length;\n this.pending = [];\n this.size = 0;\n return false;\n }\n }\n\n stop(): void {\n this.generation++;\n this.pending = [];\n this.size = 0;\n if (this.timer !== undefined) {\n try { this.cancel?.(this.timer); } catch { /* The generation check also invalidates the callback. */ }\n this.timer = undefined;\n }\n }\n}\n"]}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { FTCocosSDK, FTSDKExtension } from './client.js';
|
|
2
|
+
import type { FTCocosConfig, FTCocosEnterOptions } from './types.js';
|
|
3
|
+
import type { FTCocosWebAttachConfig, FTCocosWebConfig } from '../web/types.js';
|
|
4
|
+
import type { FTNativeReplayConfig } from './platform-options.js';
|
|
5
|
+
import { type FTPlatformContext, type FTPlatformGlobal } from './platform-runtime.js';
|
|
6
|
+
export type FTCocosPlatformConfig = (FTCocosConfig & {
|
|
7
|
+
replay?: FTNativeReplayConfig;
|
|
8
|
+
}) | FTCocosWebConfig;
|
|
9
|
+
/** Stable engine entry. Build assets select implementations and install project configuration. */
|
|
10
|
+
export declare class FTCocosPlatformSDK {
|
|
11
|
+
readonly engine: 'creator2' | 'creator3';
|
|
12
|
+
private readonly context;
|
|
13
|
+
private readonly target?;
|
|
14
|
+
readonly extensionProtocol = 1;
|
|
15
|
+
private get mode();
|
|
16
|
+
private record;
|
|
17
|
+
private get nativeReplay();
|
|
18
|
+
private set nativeReplay(value);
|
|
19
|
+
private get replayConfig();
|
|
20
|
+
private set replayConfig(value);
|
|
21
|
+
readonly replay: {
|
|
22
|
+
/** Starts recording using the settings selected at initialization. */
|
|
23
|
+
start: () => void;
|
|
24
|
+
/** Stops recording while leaving base tracking active. */
|
|
25
|
+
stop: () => void;
|
|
26
|
+
};
|
|
27
|
+
constructor(engine: 'creator2' | 'creator3', context: () => FTPlatformContext, target?: FTPlatformGlobal | undefined);
|
|
28
|
+
get platform(): FTPlatformContext['platform'];
|
|
29
|
+
get mobile(): FTCocosSDK['mobile'];
|
|
30
|
+
get rum(): FTCocosSDK['rum'];
|
|
31
|
+
get logger(): FTCocosSDK['logger'];
|
|
32
|
+
get trace(): FTCocosSDK['trace'];
|
|
33
|
+
/** Uses installed project settings when no explicit configuration is supplied. */
|
|
34
|
+
start(config?: FTCocosPlatformConfig): void;
|
|
35
|
+
attach(config?: FTCocosWebAttachConfig): void;
|
|
36
|
+
enterCocos(options?: FTCocosEnterOptions): void;
|
|
37
|
+
leaveCocos(): void;
|
|
38
|
+
detach(): void;
|
|
39
|
+
shutdown(): void;
|
|
40
|
+
/** Stops this Cocos instance. Web page collectors and native host-owned SDKs retain their lifecycle. */
|
|
41
|
+
stop(): void;
|
|
42
|
+
registerExtension<T>(id: string, version: string, engine: string, factory: () => FTSDKExtension<T>): T;
|
|
43
|
+
private composeReplay;
|
|
44
|
+
private implementation;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=platform-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform-client.d.ts","sourceRoot":"","sources":["../../../../../src/core/platform-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,KAAK,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEhF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAElE,OAAO,EAAqG,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzL,MAAM,MAAM,qBAAqB,GAAG,CAAC,aAAa,GAAG;IAAE,MAAM,CAAC,EAAE,oBAAoB,CAAA;CAAE,CAAC,GAAG,gBAAgB,CAAC;AAE3G,kGAAkG;AAClG,qBAAa,kBAAkB;IA8B3B,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IA/B1B,QAAQ,CAAC,iBAAiB,KAAK;IAC/B,OAAO,KAAK,IAAI,GAAmG;IACnH,OAAO,CAAC,MAAM;IAId,OAAO,KAAK,YAAY,GAAmC;IAC3D,OAAO,KAAK,YAAY,QAA2E;IACnG,OAAO,KAAK,YAAY,GAAyC;IACjE,OAAO,KAAK,YAAY,QAAiF;IACzG,QAAQ,CAAC,MAAM;QACb,sEAAsE;qBAC3D,IAAI;QAQf,0DAA0D;oBAChD,IAAI;MAMd;gBAES,MAAM,EAAE,UAAU,GAAG,UAAU,EACvB,OAAO,EAAE,MAAM,iBAAiB,EAChC,MAAM,CAAC,EAAE,gBAAgB,YAAA;IAE5C,IAAI,QAAQ,IAAI,iBAAiB,CAAC,UAAU,CAAC,CAAoC;IACjF,IAAI,MAAM,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAyC;IAC3E,IAAI,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAAsC;IAClE,IAAI,MAAM,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAyC;IAC3E,IAAI,KAAK,IAAI,UAAU,CAAC,OAAO,CAAC,CAAwC;IAExE,kFAAkF;IAClF,KAAK,CAAC,MAAM,CAAC,EAAE,qBAAqB,GAAG,IAAI;IAqB3C,MAAM,CAAC,MAAM,CAAC,EAAE,sBAAsB,GAAG,IAAI;IAW7C,UAAU,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,IAAI;IAC/C,UAAU,IAAI,IAAI;IAClB,MAAM,IAAI,IAAI;IACd,QAAQ,IAAI,IAAI;IAChB,wGAAwG;IACxG,IAAI,IAAI,IAAI;IAMZ,iBAAiB,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC;IAKtG,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,cAAc;CACvB"}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
14
|
+
var t = {};
|
|
15
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
16
|
+
t[p] = s[p];
|
|
17
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
18
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
19
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
20
|
+
t[p[i]] = s[p[i]];
|
|
21
|
+
}
|
|
22
|
+
return t;
|
|
23
|
+
};
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
exports.FTCocosPlatformSDK = void 0;
|
|
26
|
+
var version_js_1 = require("./version.js");
|
|
27
|
+
var platform_runtime_js_1 = require("./platform-runtime.js");
|
|
28
|
+
/** Stable engine entry. Build assets select implementations and install project configuration. */
|
|
29
|
+
var FTCocosPlatformSDK = /** @class */ (function () {
|
|
30
|
+
function FTCocosPlatformSDK(engine, context, target) {
|
|
31
|
+
var _this = this;
|
|
32
|
+
this.engine = engine;
|
|
33
|
+
this.context = context;
|
|
34
|
+
this.target = target;
|
|
35
|
+
this.extensionProtocol = 1;
|
|
36
|
+
this.replay = {
|
|
37
|
+
/** Starts recording using the settings selected at initialization. */
|
|
38
|
+
start: function () {
|
|
39
|
+
if (_this.mode === 'idle')
|
|
40
|
+
throw new Error('Start or attach the Cocos SDK before starting Replay');
|
|
41
|
+
if (!_this.implementation().isCocosEntered)
|
|
42
|
+
throw new Error('Call enterCocos() before starting Hybrid Replay');
|
|
43
|
+
if (_this.platform === 'web') {
|
|
44
|
+
_this.implementation().replay.start();
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
if (!_this.nativeReplay || !_this.replayConfig)
|
|
48
|
+
throw new Error('Enable Replay in cocos-sdk.config.json before starting the SDK');
|
|
49
|
+
if (_this.mode === 'hybrid')
|
|
50
|
+
_this.nativeReplay.replay.enterHybrid();
|
|
51
|
+
else
|
|
52
|
+
_this.nativeReplay.replay.start(_this.replayConfig);
|
|
53
|
+
},
|
|
54
|
+
/** Stops recording while leaving base tracking active. */
|
|
55
|
+
stop: function () {
|
|
56
|
+
var _a, _b;
|
|
57
|
+
if (_this.mode === 'idle')
|
|
58
|
+
return;
|
|
59
|
+
if (_this.platform === 'web') {
|
|
60
|
+
_this.implementation().replay.stop();
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
if (_this.mode === 'hybrid')
|
|
64
|
+
(_a = _this.nativeReplay) === null || _a === void 0 ? void 0 : _a.replay.leaveHybrid();
|
|
65
|
+
else
|
|
66
|
+
(_b = _this.nativeReplay) === null || _b === void 0 ? void 0 : _b.replay.stop();
|
|
67
|
+
},
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
Object.defineProperty(FTCocosPlatformSDK.prototype, "mode", {
|
|
71
|
+
get: function () { var _a; return ((_a = (0, platform_runtime_js_1.existingPlatformImplementation)(this.context(), this.target)) === null || _a === void 0 ? void 0 : _a.lifecycleMode) || 'idle'; },
|
|
72
|
+
enumerable: false,
|
|
73
|
+
configurable: true
|
|
74
|
+
});
|
|
75
|
+
FTCocosPlatformSDK.prototype.record = function () {
|
|
76
|
+
this.implementation();
|
|
77
|
+
return (this.target || (0, platform_runtime_js_1.platformGlobal)()).__FT_COCOS_INSTANCES__[this.engine + ':' + this.platform];
|
|
78
|
+
};
|
|
79
|
+
Object.defineProperty(FTCocosPlatformSDK.prototype, "nativeReplay", {
|
|
80
|
+
get: function () { return this.record().replay; },
|
|
81
|
+
set: function (value) { this.record().replay = value; },
|
|
82
|
+
enumerable: false,
|
|
83
|
+
configurable: true
|
|
84
|
+
});
|
|
85
|
+
Object.defineProperty(FTCocosPlatformSDK.prototype, "replayConfig", {
|
|
86
|
+
get: function () { return this.record().replayConfig; },
|
|
87
|
+
set: function (value) { this.record().replayConfig = value; },
|
|
88
|
+
enumerable: false,
|
|
89
|
+
configurable: true
|
|
90
|
+
});
|
|
91
|
+
Object.defineProperty(FTCocosPlatformSDK.prototype, "platform", {
|
|
92
|
+
get: function () { return this.context().platform; },
|
|
93
|
+
enumerable: false,
|
|
94
|
+
configurable: true
|
|
95
|
+
});
|
|
96
|
+
Object.defineProperty(FTCocosPlatformSDK.prototype, "mobile", {
|
|
97
|
+
get: function () { return this.implementation().mobile; },
|
|
98
|
+
enumerable: false,
|
|
99
|
+
configurable: true
|
|
100
|
+
});
|
|
101
|
+
Object.defineProperty(FTCocosPlatformSDK.prototype, "rum", {
|
|
102
|
+
get: function () { return this.implementation().rum; },
|
|
103
|
+
enumerable: false,
|
|
104
|
+
configurable: true
|
|
105
|
+
});
|
|
106
|
+
Object.defineProperty(FTCocosPlatformSDK.prototype, "logger", {
|
|
107
|
+
get: function () { return this.implementation().logger; },
|
|
108
|
+
enumerable: false,
|
|
109
|
+
configurable: true
|
|
110
|
+
});
|
|
111
|
+
Object.defineProperty(FTCocosPlatformSDK.prototype, "trace", {
|
|
112
|
+
get: function () { return this.implementation().trace; },
|
|
113
|
+
enumerable: false,
|
|
114
|
+
configurable: true
|
|
115
|
+
});
|
|
116
|
+
/** Uses installed project settings when no explicit configuration is supplied. */
|
|
117
|
+
FTCocosPlatformSDK.prototype.start = function (config) {
|
|
118
|
+
if (this.mode !== 'idle')
|
|
119
|
+
throw new Error('Cocos SDK already started or attached');
|
|
120
|
+
if (this.platform === 'web') {
|
|
121
|
+
this.implementation().start(config);
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
var settings = config || (this.target || (0, platform_runtime_js_1.platformGlobal)()).__FT_COCOS_CONFIGURATION__;
|
|
125
|
+
if (!(settings === null || settings === void 0 ? void 0 : settings.sdk))
|
|
126
|
+
throw new Error('Native start() requires sdk configuration; configure configuration.sdk in cocos-sdk.config.json');
|
|
127
|
+
var replay = 'replay' in settings ? settings.replay : undefined;
|
|
128
|
+
var sdk = this.implementation();
|
|
129
|
+
var facade = replay ? this.composeReplay(sdk) : undefined;
|
|
130
|
+
this.replayConfig = replay;
|
|
131
|
+
// Native initialization may partially succeed. Keep stop() available for cleanup.
|
|
132
|
+
try {
|
|
133
|
+
if (facade)
|
|
134
|
+
facade.start(settings);
|
|
135
|
+
else
|
|
136
|
+
sdk.start(settings);
|
|
137
|
+
}
|
|
138
|
+
catch (error) {
|
|
139
|
+
try {
|
|
140
|
+
sdk.shutdown();
|
|
141
|
+
}
|
|
142
|
+
catch ( /* Preserve startup error; stop() can retry cleanup. */_a) { /* Preserve startup error; stop() can retry cleanup. */ }
|
|
143
|
+
throw error;
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
FTCocosPlatformSDK.prototype.attach = function (config) {
|
|
147
|
+
if (this.mode === 'standalone')
|
|
148
|
+
throw new Error('start() and attach() are mutually exclusive');
|
|
149
|
+
if (this.mode === 'hybrid')
|
|
150
|
+
return;
|
|
151
|
+
// Explicit attach settings preserve legacy withSessionReplay() ownership of its configuration.
|
|
152
|
+
var settings = config === undefined ? (this.target || (0, platform_runtime_js_1.platformGlobal)()).__FT_COCOS_CONFIGURATION__ : undefined;
|
|
153
|
+
if (this.platform !== 'web' && (settings === null || settings === void 0 ? void 0 : settings.replay)) {
|
|
154
|
+
var _a = settings.replay, _rate = _a.sessionReplaySamplingRate, _errorRate = _a.sessionReplayOnErrorSamplingRate, capture = __rest(_a, ["sessionReplaySamplingRate", "sessionReplayOnErrorSamplingRate"]);
|
|
155
|
+
this.composeReplay(this.implementation()).attach(__assign(__assign({ autoTrack: settings.autoTrack }, config), { replay: capture }));
|
|
156
|
+
this.replayConfig = settings.replay;
|
|
157
|
+
}
|
|
158
|
+
else
|
|
159
|
+
this.implementation().attach(config || (this.platform !== 'web' && settings ? { autoTrack: settings.autoTrack } : undefined));
|
|
160
|
+
};
|
|
161
|
+
FTCocosPlatformSDK.prototype.enterCocos = function (options) { this.implementation().enterCocos(options); };
|
|
162
|
+
FTCocosPlatformSDK.prototype.leaveCocos = function () { var _a; (_a = (0, platform_runtime_js_1.existingPlatformImplementation)(this.context(), this.target)) === null || _a === void 0 ? void 0 : _a.leaveCocos(); };
|
|
163
|
+
FTCocosPlatformSDK.prototype.detach = function () { var _a; (_a = (0, platform_runtime_js_1.existingPlatformImplementation)(this.context(), this.target)) === null || _a === void 0 ? void 0 : _a.detach(); };
|
|
164
|
+
FTCocosPlatformSDK.prototype.shutdown = function () { var _a; (_a = (0, platform_runtime_js_1.existingPlatformImplementation)(this.context(), this.target)) === null || _a === void 0 ? void 0 : _a.shutdown(); };
|
|
165
|
+
/** Stops this Cocos instance. Web page collectors and native host-owned SDKs retain their lifecycle. */
|
|
166
|
+
FTCocosPlatformSDK.prototype.stop = function () {
|
|
167
|
+
if (this.mode === 'idle')
|
|
168
|
+
return;
|
|
169
|
+
if (this.platform === 'web' || this.mode === 'hybrid')
|
|
170
|
+
this.detach();
|
|
171
|
+
else
|
|
172
|
+
this.shutdown();
|
|
173
|
+
this.replayConfig = undefined;
|
|
174
|
+
};
|
|
175
|
+
FTCocosPlatformSDK.prototype.registerExtension = function (id, version, engine, factory) {
|
|
176
|
+
if (engine !== this.engine)
|
|
177
|
+
throw new Error('SDK extension Creator engine does not match the base SDK');
|
|
178
|
+
if (this.platform === 'web')
|
|
179
|
+
throw new Error('Native SDK extensions are unavailable on Web; configure Web Replay at page bootstrap.');
|
|
180
|
+
return this.implementation().registerExtension(id, version, engine, factory);
|
|
181
|
+
};
|
|
182
|
+
FTCocosPlatformSDK.prototype.composeReplay = function (sdk) {
|
|
183
|
+
if (this.nativeReplay)
|
|
184
|
+
return this.nativeReplay;
|
|
185
|
+
var factory = (this.target || (0, platform_runtime_js_1.platformGlobal)()).__FT_COCOS_REPLAY_FACTORY__;
|
|
186
|
+
if (!factory || factory.protocol !== 1 || factory.version !== version_js_1.FT_COCOS_SDK_VERSION || factory.engine !== this.engine) {
|
|
187
|
+
throw new Error('Native Replay runtime is missing or incompatible. Install the matching Replay package and rerun the installer with --replay');
|
|
188
|
+
}
|
|
189
|
+
return this.nativeReplay = factory.create(sdk, this.context());
|
|
190
|
+
};
|
|
191
|
+
FTCocosPlatformSDK.prototype.implementation = function () { return (0, platform_runtime_js_1.platformImplementation)(this.context(), this.target); };
|
|
192
|
+
return FTCocosPlatformSDK;
|
|
193
|
+
}());
|
|
194
|
+
exports.FTCocosPlatformSDK = FTCocosPlatformSDK;
|
|
195
|
+
//# sourceMappingURL=platform-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform-client.js","sourceRoot":"","sources":["../../../../../src/core/platform-client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAKA,2CAAoD;AACpD,6DAAyL;AAIzL,kGAAkG;AAClG;IA6BE,4BACW,MAA+B,EACvB,OAAgC,EAChC,MAAyB;QAH5C,iBAII;QAHO,WAAM,GAAN,MAAM,CAAyB;QACvB,YAAO,GAAP,OAAO,CAAyB;QAChC,WAAM,GAAN,MAAM,CAAmB;QA/BnC,sBAAiB,GAAG,CAAC,CAAC;QAUtB,WAAM,GAAG;YAChB,sEAAsE;YACtE,KAAK,EAAE;gBACL,IAAI,KAAI,CAAC,IAAI,KAAK,MAAM;oBAAE,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;gBAClG,IAAI,CAAC,KAAI,CAAC,cAAc,EAAE,CAAC,cAAc;oBAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;gBAC9G,IAAI,KAAI,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;oBAAE,KAAI,CAAC,cAAc,EAAoB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;oBAAC,OAAO;gBAAC,CAAC;gBACjG,IAAI,CAAC,KAAI,CAAC,YAAY,IAAI,CAAC,KAAI,CAAC,YAAY;oBAAE,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;gBAChI,IAAI,KAAI,CAAC,IAAI,KAAK,QAAQ;oBAAE,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;;oBAC9D,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,KAAI,CAAC,YAAY,CAAC,CAAC;YACzD,CAAC;YACD,0DAA0D;YAC1D,IAAI,EAAE;;gBACJ,IAAI,KAAI,CAAC,IAAI,KAAK,MAAM;oBAAE,OAAO;gBACjC,IAAI,KAAI,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;oBAAE,KAAI,CAAC,cAAc,EAAoB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;oBAAC,OAAO;gBAAC,CAAC;gBAChG,IAAI,KAAI,CAAC,IAAI,KAAK,QAAQ;oBAAE,MAAA,KAAI,CAAC,YAAY,0CAAE,MAAM,CAAC,WAAW,EAAE,CAAC;;oBAC/D,MAAA,KAAI,CAAC,YAAY,0CAAE,MAAM,CAAC,IAAI,EAAE,CAAC;YACxC,CAAC;SACF,CAAC;IAKC,CAAC;IA/BJ,sBAAY,oCAAI;aAAhB,sBAAqB,OAAO,CAAA,MAAA,IAAA,oDAA8B,EAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,0CAAE,aAAa,KAAI,MAAM,CAAC,CAAC,CAAC;;;OAAA;IAC3G,mCAAM,GAAd;QACE,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,IAAA,oCAAc,GAAE,CAAC,CAAC,sBAAuB,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAE,CAAC;IACvG,CAAC;IACD,sBAAY,4CAAY;aAAxB,cAA6B,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;aAC3D,UAAyB,KAAuC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC;;;OADxC;IAE3D,sBAAY,4CAAY;aAAxB,cAA6B,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;aACjE,UAAyB,KAAuC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC;;;OADxC;IAyBjE,sBAAI,wCAAQ;aAAZ,cAAgD,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;;;OAAA;IACjF,sBAAI,sCAAM;aAAV,cAAqC,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;;;OAAA;IAC3E,sBAAI,mCAAG;aAAP,cAA+B,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;;;OAAA;IAClE,sBAAI,sCAAM;aAAV,cAAqC,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;;;OAAA;IAC3E,sBAAI,qCAAK;aAAT,cAAmC,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;;;OAAA;IAExE,kFAAkF;IAClF,kCAAK,GAAL,UAAM,MAA8B;QAClC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QACnF,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;YAC3B,IAAI,CAAC,cAAc,EAAoB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACvD,OAAO;QACT,CAAC;QACD,IAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAA,oCAAc,GAAE,CAAC,CAAC,0BAA0B,CAAC;QACxF,IAAI,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,GAAG,CAAA;YAAE,MAAM,IAAI,KAAK,CAAC,iGAAiG,CAAC,CAAC;QACvI,IAAM,MAAM,GAAG,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QAClE,IAAM,GAAG,GAAG,IAAI,CAAC,cAAc,EAAgB,CAAC;QAChD,IAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5D,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;QAC3B,kFAAkF;QAClF,IAAI,CAAC;YACH,IAAI,MAAM;gBAAE,MAAM,CAAC,KAAK,CAAC,QAA6D,CAAC,CAAC;;gBACnF,GAAG,CAAC,KAAK,CAAC,QAAyB,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC;gBAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YAAC,CAAC;YAAC,QAAQ,uDAAuD,IAAzD,CAAC,CAAC,uDAAuD,CAAC,CAAC;YACzF,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IACD,mCAAM,GAAN,UAAO,MAA+B;QACpC,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY;YAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QAC/F,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO;QACnC,+FAA+F;QAC/F,IAAM,QAAQ,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,IAAA,oCAAc,GAAE,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,SAAS,CAAC;QACjH,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,KAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,CAAA,EAAE,CAAC;YAChD,IAAM,KAAiG,QAAQ,CAAC,MAAM,EAAnF,KAAK,+BAAA,EAAoC,UAAU,sCAAA,EAAK,OAAO,cAA5F,iEAA8F,CAAkB,CAAC;YACvH,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAgB,CAAC,CAAC,MAAM,qBAAG,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAK,MAAM,KAAE,MAAM,EAAE,OAAO,IAAG,CAAC;YAC9H,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC;QACtC,CAAC;;YAAM,IAAI,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,KAAK,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IACvI,CAAC;IACD,uCAAU,GAAV,UAAW,OAA6B,IAAU,IAAI,CAAC,cAAc,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9F,uCAAU,GAAV,sBAAqB,MAAA,IAAA,oDAA8B,EAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,0CAAE,UAAU,EAAE,CAAC,CAAC,CAAC;IACjG,mCAAM,GAAN,sBAAiB,MAAA,IAAA,oDAA8B,EAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,0CAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IACzF,qCAAQ,GAAR,sBAAmB,MAAA,IAAA,oDAA8B,EAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,0CAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC7F,wGAAwG;IACxG,iCAAI,GAAJ;QACE,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO;QACjC,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;YAAE,IAAI,CAAC,MAAM,EAAE,CAAC;;YAChE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACrB,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;IAChC,CAAC;IACD,8CAAiB,GAAjB,UAAqB,EAAU,EAAE,OAAe,EAAE,MAAc,EAAE,OAAgC;QAChG,IAAI,MAAM,KAAK,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;QACxG,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,uFAAuF,CAAC,CAAC;QACtI,OAAQ,IAAI,CAAC,cAAc,EAAiB,CAAC,iBAAiB,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/F,CAAC;IACO,0CAAa,GAArB,UAAsB,GAAe;QACnC,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC,YAAY,CAAC;QAChD,IAAM,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,IAAA,oCAAc,GAAE,CAAC,CAAC,2BAA2B,CAAC;QAC9E,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,KAAK,CAAC,IAAI,OAAO,CAAC,OAAO,KAAK,iCAAoB,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YACrH,MAAM,IAAI,KAAK,CAAC,6HAA6H,CAAC,CAAC;QACjJ,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACjE,CAAC;IACO,2CAAc,GAAtB,cAA2B,OAAO,IAAA,4CAAsB,EAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC1F,yBAAC;AAAD,CAAC,AAlGD,IAkGC;AAlGY,gDAAkB","sourcesContent":["import type { FTCocosSDK, FTSDKExtension } from './client.js';\nimport type { FTCocosConfig, FTCocosEnterOptions } from './types.js';\nimport type { FTCocosWebAttachConfig, FTCocosWebConfig } from '../web/types.js';\nimport type { FTCocosWebSDK } from '../web/client.js';\nimport type { FTNativeReplayConfig } from './platform-options.js';\nimport { FT_COCOS_SDK_VERSION } from './version.js';\nimport { existingPlatformImplementation, platformGlobal, platformImplementation, type FTNativeReplayFacade, type FTPlatformContext, type FTPlatformGlobal } from './platform-runtime.js';\n\nexport type FTCocosPlatformConfig = (FTCocosConfig & { replay?: FTNativeReplayConfig }) | FTCocosWebConfig;\n\n/** Stable engine entry. Build assets select implementations and install project configuration. */\nexport class FTCocosPlatformSDK {\n readonly extensionProtocol = 1;\n private get mode() { return existingPlatformImplementation(this.context(), this.target)?.lifecycleMode || 'idle'; }\n private record() {\n this.implementation();\n return (this.target || platformGlobal()).__FT_COCOS_INSTANCES__![this.engine + ':' + this.platform]!;\n }\n private get nativeReplay() { return this.record().replay; }\n private set nativeReplay(value: FTNativeReplayFacade | undefined) { this.record().replay = value; }\n private get replayConfig() { return this.record().replayConfig; }\n private set replayConfig(value: FTNativeReplayConfig | undefined) { this.record().replayConfig = value; }\n readonly replay = {\n /** Starts recording using the settings selected at initialization. */\n start: (): void => {\n if (this.mode === 'idle') throw new Error('Start or attach the Cocos SDK before starting Replay');\n if (!this.implementation().isCocosEntered) throw new Error('Call enterCocos() before starting Hybrid Replay');\n if (this.platform === 'web') { (this.implementation() as FTCocosWebSDK).replay.start(); return; }\n if (!this.nativeReplay || !this.replayConfig) throw new Error('Enable Replay in cocos-sdk.config.json before starting the SDK');\n if (this.mode === 'hybrid') this.nativeReplay.replay.enterHybrid();\n else this.nativeReplay.replay.start(this.replayConfig);\n },\n /** Stops recording while leaving base tracking active. */\n stop: (): void => {\n if (this.mode === 'idle') return;\n if (this.platform === 'web') { (this.implementation() as FTCocosWebSDK).replay.stop(); return; }\n if (this.mode === 'hybrid') this.nativeReplay?.replay.leaveHybrid();\n else this.nativeReplay?.replay.stop();\n },\n };\n constructor(\n readonly engine: 'creator2' | 'creator3',\n private readonly context: () => FTPlatformContext,\n private readonly target?: FTPlatformGlobal,\n ) {}\n get platform(): FTPlatformContext['platform'] { return this.context().platform; }\n get mobile(): FTCocosSDK['mobile'] { return this.implementation().mobile; }\n get rum(): FTCocosSDK['rum'] { return this.implementation().rum; }\n get logger(): FTCocosSDK['logger'] { return this.implementation().logger; }\n get trace(): FTCocosSDK['trace'] { return this.implementation().trace; }\n\n /** Uses installed project settings when no explicit configuration is supplied. */\n start(config?: FTCocosPlatformConfig): void {\n if (this.mode !== 'idle') throw new Error('Cocos SDK already started or attached');\n if (this.platform === 'web') {\n (this.implementation() as FTCocosWebSDK).start(config);\n return;\n }\n const settings = config || (this.target || platformGlobal()).__FT_COCOS_CONFIGURATION__;\n if (!settings?.sdk) throw new Error('Native start() requires sdk configuration; configure configuration.sdk in cocos-sdk.config.json');\n const replay = 'replay' in settings ? settings.replay : undefined;\n const sdk = this.implementation() as FTCocosSDK;\n const facade = replay ? this.composeReplay(sdk) : undefined;\n this.replayConfig = replay;\n // Native initialization may partially succeed. Keep stop() available for cleanup.\n try {\n if (facade) facade.start(settings as FTCocosConfig & { replay?: FTNativeReplayConfig });\n else sdk.start(settings as FTCocosConfig);\n } catch (error) {\n try { sdk.shutdown(); } catch { /* Preserve startup error; stop() can retry cleanup. */ }\n throw error;\n }\n }\n attach(config?: FTCocosWebAttachConfig): void {\n if (this.mode === 'standalone') throw new Error('start() and attach() are mutually exclusive');\n if (this.mode === 'hybrid') return;\n // Explicit attach settings preserve legacy withSessionReplay() ownership of its configuration.\n const settings = config === undefined ? (this.target || platformGlobal()).__FT_COCOS_CONFIGURATION__ : undefined;\n if (this.platform !== 'web' && settings?.replay) {\n const { sessionReplaySamplingRate: _rate, sessionReplayOnErrorSamplingRate: _errorRate, ...capture } = settings.replay;\n this.composeReplay(this.implementation() as FTCocosSDK).attach({ autoTrack: settings.autoTrack, ...config, replay: capture });\n this.replayConfig = settings.replay;\n } else this.implementation().attach(config || (this.platform !== 'web' && settings ? { autoTrack: settings.autoTrack } : undefined));\n }\n enterCocos(options?: FTCocosEnterOptions): void { this.implementation().enterCocos(options); }\n leaveCocos(): void { existingPlatformImplementation(this.context(), this.target)?.leaveCocos(); }\n detach(): void { existingPlatformImplementation(this.context(), this.target)?.detach(); }\n shutdown(): void { existingPlatformImplementation(this.context(), this.target)?.shutdown(); }\n /** Stops this Cocos instance. Web page collectors and native host-owned SDKs retain their lifecycle. */\n stop(): void {\n if (this.mode === 'idle') return;\n if (this.platform === 'web' || this.mode === 'hybrid') this.detach();\n else this.shutdown();\n this.replayConfig = undefined;\n }\n registerExtension<T>(id: string, version: string, engine: string, factory: () => FTSDKExtension<T>): T {\n if (engine !== this.engine) throw new Error('SDK extension Creator engine does not match the base SDK');\n if (this.platform === 'web') throw new Error('Native SDK extensions are unavailable on Web; configure Web Replay at page bootstrap.');\n return (this.implementation() as FTCocosSDK).registerExtension(id, version, engine, factory);\n }\n private composeReplay(sdk: FTCocosSDK): FTNativeReplayFacade {\n if (this.nativeReplay) return this.nativeReplay;\n const factory = (this.target || platformGlobal()).__FT_COCOS_REPLAY_FACTORY__;\n if (!factory || factory.protocol !== 1 || factory.version !== FT_COCOS_SDK_VERSION || factory.engine !== this.engine) {\n throw new Error('Native Replay runtime is missing or incompatible. Install the matching Replay package and rerun the installer with --replay');\n }\n return this.nativeReplay = factory.create(sdk, this.context());\n }\n private implementation() { return platformImplementation(this.context(), this.target); }\n}\n"]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { FTCocosConfig } from './types.js';
|
|
2
|
+
import type { FTCocosWebConfig, FTWebReplayConfig } from '../web/types.js';
|
|
3
|
+
/** Native Replay options; Web encoding and privacy settings use FTWebReplayConfig. */
|
|
4
|
+
export interface FTNativeReplayConfig {
|
|
5
|
+
sessionReplaySamplingRate?: number;
|
|
6
|
+
sessionReplayOnErrorSamplingRate?: number;
|
|
7
|
+
captureFps?: number;
|
|
8
|
+
maxImageDimension?: number;
|
|
9
|
+
imagePolicy?: {
|
|
10
|
+
quality?: 'low' | 'medium' | 'high';
|
|
11
|
+
maxFrameBytes?: number;
|
|
12
|
+
};
|
|
13
|
+
touchPrivacy?: 'show' | 'hide';
|
|
14
|
+
}
|
|
15
|
+
/** SDK-owned sections of cocos-sdk.config.json; build-tool sections may coexist. */
|
|
16
|
+
export interface FTCocosProjectConfiguration {
|
|
17
|
+
configuration?: FTCocosConfig;
|
|
18
|
+
replay?: {
|
|
19
|
+
enabled?: boolean;
|
|
20
|
+
sessionReplaySamplingRate?: number;
|
|
21
|
+
sessionReplayOnErrorSamplingRate?: number;
|
|
22
|
+
native?: Omit<FTNativeReplayConfig, 'sessionReplaySamplingRate' | 'sessionReplayOnErrorSamplingRate'> | false;
|
|
23
|
+
web?: Omit<FTWebReplayConfig, 'enabled' | 'sessionReplaySamplingRate' | 'sessionReplayOnErrorSamplingRate'> | false;
|
|
24
|
+
};
|
|
25
|
+
web?: {
|
|
26
|
+
enabled?: boolean;
|
|
27
|
+
configuration?: Partial<FTCocosWebConfig>;
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=platform-options.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform-options.d.ts","sourceRoot":"","sources":["../../../../../src/core/platform-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAE3E,sFAAsF;AACtF,MAAM,WAAW,oBAAoB;IACnC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,gCAAgC,CAAC,EAAE,MAAM,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9E,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAChC;AAED,oFAAoF;AACpF,MAAM,WAAW,2BAA2B;IAC1C,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,MAAM,CAAC,EAAE;QACP,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,yBAAyB,CAAC,EAAE,MAAM,CAAC;QACnC,gCAAgC,CAAC,EAAE,MAAM,CAAC;QAC1C,MAAM,CAAC,EAAE,IAAI,CAAC,oBAAoB,EAAE,2BAA2B,GAAG,kCAAkC,CAAC,GAAG,KAAK,CAAC;QAC9G,GAAG,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,GAAG,2BAA2B,GAAG,kCAAkC,CAAC,GAAG,KAAK,CAAC;KACrH,CAAC;IACF,GAAG,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,aAAa,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;KAAE,CAAC;CACxE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform-options.js","sourceRoot":"","sources":["../../../../../src/core/platform-options.ts"],"names":[],"mappings":"","sourcesContent":["import type { FTCocosConfig } from './types.js';\nimport type { FTCocosWebConfig, FTWebReplayConfig } from '../web/types.js';\n\n/** Native Replay options; Web encoding and privacy settings use FTWebReplayConfig. */\nexport interface FTNativeReplayConfig {\n sessionReplaySamplingRate?: number;\n sessionReplayOnErrorSamplingRate?: number;\n captureFps?: number;\n maxImageDimension?: number;\n imagePolicy?: { quality?: 'low' | 'medium' | 'high'; maxFrameBytes?: number };\n touchPrivacy?: 'show' | 'hide';\n}\n\n/** SDK-owned sections of cocos-sdk.config.json; build-tool sections may coexist. */\nexport interface FTCocosProjectConfiguration {\n configuration?: FTCocosConfig;\n replay?: {\n enabled?: boolean;\n sessionReplaySamplingRate?: number;\n sessionReplayOnErrorSamplingRate?: number;\n native?: Omit<FTNativeReplayConfig, 'sessionReplaySamplingRate' | 'sessionReplayOnErrorSamplingRate'> | false;\n web?: Omit<FTWebReplayConfig, 'enabled' | 'sessionReplaySamplingRate' | 'sessionReplayOnErrorSamplingRate'> | false;\n };\n web?: { enabled?: boolean; configuration?: Partial<FTCocosWebConfig> };\n}\n"]}
|