@ait-co/devtools 0.1.137 → 0.1.139
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/{attach-orchestrator-Cjdhir2U.js → attach-orchestrator-6kz_ZdWL.js} +5 -3
- package/dist/{attach-orchestrator-Cjdhir2U.js.map → attach-orchestrator-6kz_ZdWL.js.map} +1 -1
- package/dist/{attach-orchestrator-CE0S09YU.js → attach-orchestrator-BEiz3wAx.js} +5 -3
- package/dist/{attach-orchestrator-CMoDuG2A.js.map → attach-orchestrator-BEiz3wAx.js.map} +1 -1
- package/dist/{attach-orchestrator-CMoDuG2A.js → attach-orchestrator-BG8TGJOZ.js} +5 -3
- package/dist/{attach-orchestrator-CE0S09YU.js.map → attach-orchestrator-BG8TGJOZ.js.map} +1 -1
- package/dist/{bundle-BKqyhEK9.d.ts → bundle-C796JIwG.d.ts} +65 -2
- package/dist/bundle-C796JIwG.d.ts.map +1 -0
- package/dist/{capture-ltuV0gZa.d.ts → capture-DsP525OZ.d.ts} +1 -1
- package/dist/{capture-ltuV0gZa.d.ts.map → capture-DsP525OZ.d.ts.map} +1 -1
- package/dist/{cdp-connection-BYE9meXe.d.ts → cdp-connection-rP1WdnH5.d.ts} +1 -1
- package/dist/{cdp-connection-BYE9meXe.d.ts.map → cdp-connection-rP1WdnH5.d.ts.map} +1 -1
- package/dist/{cell-D1y4shoV.js → cell-BMlFh08P.js} +2 -2
- package/dist/cell-BMlFh08P.js.map +1 -0
- package/dist/{cell-DHA578lX.js → cell-Dtgtusog.js} +90 -16
- package/dist/cell-Dtgtusog.js.map +1 -0
- package/dist/{cell-BIdSQb9T.js → cell-KsRXFdDs.js} +122 -16
- package/dist/cell-KsRXFdDs.js.map +1 -0
- package/dist/{debug-server-CBK7dn8O.js → debug-server-6c22qSWa.js} +132 -9
- package/dist/debug-server-6c22qSWa.js.map +1 -0
- package/dist/{debug-server-BQplCzf8.js → debug-server-BQHbaKPT.js} +134 -11
- package/dist/debug-server-BQHbaKPT.js.map +1 -0
- package/dist/{debug-server-D2wpPK3_.js → debug-server-DWat7d-9.js} +82 -6
- package/dist/debug-server-DWat7d-9.js.map +1 -0
- package/dist/devtools-opener-3Drge_RJ.js +75 -0
- package/dist/devtools-opener-3Drge_RJ.js.map +1 -0
- package/dist/devtools-opener-CJpEsXXQ.js +76 -0
- package/dist/devtools-opener-CJpEsXXQ.js.map +1 -0
- package/dist/devtools-opener-CxtryS8c.js +75 -0
- package/dist/devtools-opener-CxtryS8c.js.map +1 -0
- package/dist/in-app/auto.js +59 -12
- package/dist/in-app/auto.js.map +1 -1
- package/dist/in-app/index.d.ts +21 -2
- package/dist/in-app/index.d.ts.map +1 -1
- package/dist/in-app/index.js +60 -13
- package/dist/in-app/index.js.map +1 -1
- package/dist/mcp/cli.js +299 -60
- package/dist/mcp/cli.js.map +1 -1
- package/dist/mcp/server.js +1 -1
- package/dist/mock/index.d.ts +79 -1
- package/dist/mock/index.d.ts.map +1 -1
- package/dist/mock/index.js +218 -14
- package/dist/mock/index.js.map +1 -1
- package/dist/panel/index.js +171 -10
- package/dist/panel/index.js.map +1 -1
- package/dist/{pool-CmfvXnwh.d.ts → pool-CrP5CPvU.d.ts} +3 -3
- package/dist/{pool-CmfvXnwh.d.ts.map → pool-CrP5CPvU.d.ts.map} +1 -1
- package/dist/{qr-http-server-ZkT6F7is.js → qr-http-server-D1hpoyBF.js} +1 -1
- package/dist/{qr-http-server-ZkT6F7is.js.map → qr-http-server-D1hpoyBF.js.map} +1 -1
- package/dist/qr-http-server-D4rGz8M7.js +1640 -0
- package/dist/qr-http-server-D4rGz8M7.js.map +1 -0
- package/dist/{qr-http-server-C7q8Gn04.js → qr-http-server-DIjCV7h_.js} +1 -1
- package/dist/{qr-http-server-C7q8Gn04.js.map → qr-http-server-DIjCV7h_.js.map} +1 -1
- package/dist/{relay-factory-DVzpBRxz.js → relay-factory-C1X3G3WY.js} +71 -15
- package/dist/relay-factory-C1X3G3WY.js.map +1 -0
- package/dist/{relay-secret-store-CLEGyHou.js → relay-secret-store-Bmyleu0A.js} +1 -1
- package/dist/{relay-secret-store-CLEGyHou.js.map → relay-secret-store-Bmyleu0A.js.map} +1 -1
- package/dist/{relay-secret-store-DhzAnnj-.js → relay-secret-store-CQenfcSL.js} +2 -2
- package/dist/{relay-secret-store-DhzAnnj-.js.map → relay-secret-store-CQenfcSL.js.map} +1 -1
- package/dist/{relay-secret-store-BcVrWwTq.js → relay-secret-store-DKxs7zwq.js} +1 -1
- package/dist/{relay-secret-store-BcVrWwTq.js.map → relay-secret-store-DKxs7zwq.js.map} +1 -1
- package/dist/{relay-secret-store-DGduVJhs.js → relay-secret-store-WJ8EGkIl.js} +1 -1
- package/dist/{relay-secret-store-DGduVJhs.js.map → relay-secret-store-WJ8EGkIl.js.map} +1 -1
- package/dist/{relay-url-store-CKW8RQzf.js → relay-url-store-BR2XodiO.js} +2 -2
- package/dist/{relay-url-store-CKW8RQzf.js.map → relay-url-store-BR2XodiO.js.map} +1 -1
- package/dist/{relay-url-store-CdA58fgw.js → relay-url-store-CH63fVCm.js} +2 -2
- package/dist/{relay-url-store-B0X8TsGr.js.map → relay-url-store-CH63fVCm.js.map} +1 -1
- package/dist/{relay-url-store-CwKT7i04.js → relay-url-store-DaY1QPes.js} +2 -2
- package/dist/{relay-url-store-CwKT7i04.js.map → relay-url-store-DaY1QPes.js.map} +1 -1
- package/dist/{relay-url-store-B0X8TsGr.js → relay-url-store-xmUuTjXA.js} +2 -2
- package/dist/{relay-url-store-CdA58fgw.js.map → relay-url-store-xmUuTjXA.js.map} +1 -1
- package/dist/{relay-worker-6fy1eaIo.js → relay-worker-BUXI0K0b.js} +8 -4
- package/dist/{relay-worker-6fy1eaIo.js.map → relay-worker-BUXI0K0b.js.map} +1 -1
- package/dist/{relay-worker-DJnZkXza.d.ts → relay-worker-DcyboK43.d.ts} +30 -5
- package/dist/relay-worker-DcyboK43.d.ts.map +1 -0
- package/dist/{runtime-DfHHZms2.d.ts → runtime-BiigOuvb.d.ts} +30 -3
- package/dist/runtime-BiigOuvb.d.ts.map +1 -0
- package/dist/test-runner/bin.js +376 -38
- package/dist/test-runner/bin.js.map +1 -1
- package/dist/test-runner/bundle.d.ts +2 -2
- package/dist/test-runner/bundle.js +66 -13
- package/dist/test-runner/bundle.js.map +1 -1
- package/dist/test-runner/capture.d.ts +1 -1
- package/dist/test-runner/config.d.ts +58 -5
- package/dist/test-runner/config.d.ts.map +1 -1
- package/dist/test-runner/config.js +1 -1
- package/dist/test-runner/method-pace.d.ts +82 -0
- package/dist/test-runner/method-pace.d.ts.map +1 -0
- package/dist/test-runner/method-pace.js +120 -0
- package/dist/test-runner/method-pace.js.map +1 -0
- package/dist/test-runner/pool.d.ts +1 -1
- package/dist/test-runner/pool.js +1 -1
- package/dist/test-runner/relay-factory.d.ts +57 -4
- package/dist/test-runner/relay-factory.d.ts.map +1 -1
- package/dist/test-runner/relay-factory.js +70 -14
- package/dist/test-runner/relay-factory.js.map +1 -1
- package/dist/test-runner/relay-worker.d.ts +1 -1
- package/dist/test-runner/relay-worker.js +1 -1
- package/dist/test-runner/report.d.ts +3 -3
- package/dist/test-runner/rpc.d.ts +2 -2
- package/dist/test-runner/runtime.d.ts +2 -2
- package/dist/test-runner/runtime.js +83 -6
- package/dist/test-runner/runtime.js.map +1 -1
- package/dist/test-runner/task-graph.d.ts +1 -1
- package/dist/throttle-DKKzX1qC.js +59 -0
- package/dist/throttle-DKKzX1qC.js.map +1 -0
- package/dist/totp-Dwft0Kz7.js +3 -0
- package/package.json +1 -1
- package/dist/bundle-BKqyhEK9.d.ts.map +0 -1
- package/dist/cell-BIdSQb9T.js.map +0 -1
- package/dist/cell-D1y4shoV.js.map +0 -1
- package/dist/cell-DHA578lX.js.map +0 -1
- package/dist/debug-server-BQplCzf8.js.map +0 -1
- package/dist/debug-server-CBK7dn8O.js.map +0 -1
- package/dist/debug-server-D2wpPK3_.js.map +0 -1
- package/dist/relay-factory-DVzpBRxz.js.map +0 -1
- package/dist/relay-worker-DJnZkXza.d.ts.map +0 -1
- package/dist/runtime-DfHHZms2.d.ts.map +0 -1
- package/dist/totp-D1pulXLa.js +0 -3
package/dist/mcp/server.js
CHANGED
|
@@ -1022,7 +1022,7 @@ function createDevServer(deps = {}) {
|
|
|
1022
1022
|
const aitSource = deps.aitSource ?? new HttpAitSource({ stateEndpoint });
|
|
1023
1023
|
const server = new Server({
|
|
1024
1024
|
name: "ait-devtools",
|
|
1025
|
-
version: "0.1.
|
|
1025
|
+
version: "0.1.139"
|
|
1026
1026
|
}, { capabilities: { tools: {} } });
|
|
1027
1027
|
server.setRequestHandler(ListToolsRequestSchema, () => ({ tools: DEV_TOOL_DEFINITIONS.map((tool) => ({ ...tool })) }));
|
|
1028
1028
|
server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
package/dist/mock/index.d.ts
CHANGED
|
@@ -396,6 +396,12 @@ declare const openPDFViewer: ((params: OpenPDFViewerParams) => Promise<OpenPDFVi
|
|
|
396
396
|
/**
|
|
397
397
|
* Storage mock
|
|
398
398
|
* localStorage에 `__ait_storage:` prefix로 저장하여 앱 자체 localStorage와 분리
|
|
399
|
+
*
|
|
400
|
+
* 실기기(2.x×iOS) capture는 `setItem`/`removeItem`/`clearItems` 세 메서드가
|
|
401
|
+
* `undefined`가 아니라 `null`로 resolve됨을 보였다(devtools#770). 원본 SDK 타입
|
|
402
|
+
* 선언은 여전히 `Promise<void>`이므로 시그니처는 그대로 두고, 런타임 반환값만
|
|
403
|
+
* `null`로 캐스트해 실측과 동치시킨다 — Analytics·setClipboardText와 같은 처리(#775).
|
|
404
|
+
* `getItem`은 이미 `string | null`이라 실측과 일치하므로 손대지 않는다.
|
|
399
405
|
*/
|
|
400
406
|
declare const Storage: {
|
|
401
407
|
getItem: (key: string) => Promise<string | null>;
|
|
@@ -624,7 +630,20 @@ declare const SafeAreaInsets: {
|
|
|
624
630
|
onEvent
|
|
625
631
|
}: SafeAreaInsetsSubscribeHandler) => (() => void);
|
|
626
632
|
};
|
|
627
|
-
/**
|
|
633
|
+
/**
|
|
634
|
+
* @deprecated `SafeAreaInsets.get()`을 쓸 것.
|
|
635
|
+
*
|
|
636
|
+
* 상류 SDK의 타입 선언은 `getSafeAreaInsets(): number`지만, 실기기(2.x×iOS)
|
|
637
|
+
* capture는 이 함수가 숫자가 아니라 `SafeAreaInsets.get()`과 같은 객체
|
|
638
|
+
* (`{ top, right, bottom, left }`)를 반환함을 보였다(devtools#770 —
|
|
639
|
+
* `returnType: "object"`, `valueKeys: ["top","right","bottom","left"]`).
|
|
640
|
+
* 즉 선언과 런타임이 어긋나 있는 상류 타입 버그다.
|
|
641
|
+
*
|
|
642
|
+
* mock은 타입 선언이 아니라 **런타임 실측**을 재현해야 개발자가 env1에서 겪는
|
|
643
|
+
* 동작이 실기기와 같아진다. 그래서 시그니처는 상류와 동일하게 `number`로 두되
|
|
644
|
+
* (`__typecheck.ts`가 SDK 타입에 대해 계속 컴파일되도록) 반환값만 실측 객체로
|
|
645
|
+
* 캐스트한다 — Analytics·setClipboardText·Storage와 같은 처리(#775).
|
|
646
|
+
*/
|
|
628
647
|
declare function getSafeAreaInsets(): number;
|
|
629
648
|
//#endregion
|
|
630
649
|
//#region src/mock/notification.d.ts
|
|
@@ -754,6 +773,13 @@ interface AitSdkCall {
|
|
|
754
773
|
fidelity: AitSdkCallFidelity;
|
|
755
774
|
}
|
|
756
775
|
//#endregion
|
|
776
|
+
//#region src/mock/native-error.d.ts
|
|
777
|
+
/**
|
|
778
|
+
* sdk-example#284 매트릭스에 등재된 2.x 네이티브 실패 코드 인벤토리.
|
|
779
|
+
* 새 코드가 매트릭스에 추가되면 여기에도 추가한다.
|
|
780
|
+
*/
|
|
781
|
+
type NativeErrorCode = 'APP_LOGIN' | 'PLACEMENT_ID_FETCH_FAILED' | 'EXECUTION_ERROR' | 'NO_PERMISSION' | 'INVALID_REQUEST' | 'INVALID_DATA' | 'FAILED_TO_GET_LOADED_AD' | 'APP_BRIDGE_THROTTLED' | '1006' | '4000';
|
|
782
|
+
//#endregion
|
|
757
783
|
//#region src/mock/state.d.ts
|
|
758
784
|
type Listener = () => void;
|
|
759
785
|
interface AitDevtoolsState {
|
|
@@ -833,6 +859,58 @@ interface AitDevtoolsState {
|
|
|
833
859
|
mockData: MockData;
|
|
834
860
|
panelEditable: boolean;
|
|
835
861
|
viewport: ViewportState;
|
|
862
|
+
failureModes: FailureModes;
|
|
863
|
+
}
|
|
864
|
+
/**
|
|
865
|
+
* per-API 실패 코드 다이얼. 값이 설정된 API만 mock이 reject하고, 나머지는
|
|
866
|
+
* 기존 낙관적 resolve를 유지한다. `sdkLine`은 envelope shape 분기 축 —
|
|
867
|
+
* `'2.x'`(기본)는 native envelope(`{name,code,userInfo,moduleName,__isError}`),
|
|
868
|
+
* `'3.x'`는 맨 Error로 평탄화(sdk-example#284 매트릭스 "패턴 ① envelope 평탄화").
|
|
869
|
+
*/
|
|
870
|
+
interface FailureModes {
|
|
871
|
+
/** 네이티브 실패 envelope의 라인 축. 기본 '2.x'. */
|
|
872
|
+
sdkLine: '2.x' | '3.x';
|
|
873
|
+
/** appLogin 실패 코드 (예: 'APP_LOGIN'). 미설정 시 기존처럼 항상 resolve. */
|
|
874
|
+
appLogin?: NativeErrorCode;
|
|
875
|
+
/** GoogleAdMob.loadAppsInTossAdMob 실패 코드 (예: 'PLACEMENT_ID_FETCH_FAILED'). */
|
|
876
|
+
loadAdMob?: NativeErrorCode;
|
|
877
|
+
/** loadFullScreenAd 실패 코드 (예: 'EXECUTION_ERROR'). */
|
|
878
|
+
loadFullScreenAd?: NativeErrorCode;
|
|
879
|
+
/**
|
|
880
|
+
* getIsTossLoginIntegratedService 실패 코드 (devtools#783 실측: env3 run11,
|
|
881
|
+
* 2.x/iOS `A1-awaited-is-boolean` 시나리오 — rejected/`Error`/`EXECUTION_ERROR`).
|
|
882
|
+
*/
|
|
883
|
+
getIsTossLoginIntegratedService?: NativeErrorCode;
|
|
884
|
+
/**
|
|
885
|
+
* requestNotificationAgreement 실패 코드 (devtools#783 실측: env3 run11,
|
|
886
|
+
* 2.x/iOS `happy-force-*`/`A1-empty-templateCode` 시나리오 전부 —
|
|
887
|
+
* rejected/`Error`/`4000`).
|
|
888
|
+
*/
|
|
889
|
+
requestNotificationAgreement?: NativeErrorCode;
|
|
890
|
+
/**
|
|
891
|
+
* 권한 이름별 실패 코드 (devtools#783 실측: env3 run11, 2.x/iOS
|
|
892
|
+
* `permissions.ait.test.ts` PERMISSION_NAMES 순회 — `geolocation`/`camera`/
|
|
893
|
+
* `microphone`만 rejected/`Error`/`NO_PERMISSION`, `clipboard`/`contacts`/
|
|
894
|
+
* `photos`는 resolved. 31146의 `granite.config.ts`가 `permissions: []`라
|
|
895
|
+
* 선언 안 된 권한만 거부되는 그림과 정합 — 전역 on/off가 아니라 이름 단위 맵.
|
|
896
|
+
* 설정된 이름만 reject, 나머지는 기존대로 resolve.
|
|
897
|
+
*/
|
|
898
|
+
getPermission?: Partial<Record<PermissionName, NativeErrorCode>>;
|
|
899
|
+
/**
|
|
900
|
+
* soft-resolve 다이얼 (#789) — reject가 아니라 "다른 shape로 resolve"하는 env3
|
|
901
|
+
* 프로비저닝-의존 실패를 재현한다. 켠 API만 실측 대체 shape로 resolve하고, 미설정
|
|
902
|
+
* API는 선언 타입대로 성공 shape를 유지한다(다이얼 미사용 시 zero behavior change).
|
|
903
|
+
* shape는 API별 고정(env3 run11 2.x/iOS 실측 — valueKeys만 실측, 문자열 내용은 예시):
|
|
904
|
+
* grantPromotionReward/grantPromotionRewardForGame → { errorCode, message }
|
|
905
|
+
* getSubscriptionInfo → {}
|
|
906
|
+
* (checkoutPayment/requestTossPayPaysBilling은 valueKeys=['false','reason']로 실측됐으나
|
|
907
|
+
* 값 수준 재확인이 폰-gated라 여기 아직 배선 안 함 — #303/#789.)
|
|
908
|
+
*/
|
|
909
|
+
softResolve?: {
|
|
910
|
+
grantPromotionReward?: boolean;
|
|
911
|
+
grantPromotionRewardForGame?: boolean;
|
|
912
|
+
getSubscriptionInfo?: boolean;
|
|
913
|
+
};
|
|
836
914
|
}
|
|
837
915
|
declare class AitStateManager {
|
|
838
916
|
private _state;
|
package/dist/mock/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/mock/ads/index.ts","../../src/mock/analytics/index.ts","../../src/mock/auth/index.ts","../../src/mock/device/_helpers.ts","../../src/mock/device/camera.ts","../../src/mock/device/clipboard.ts","../../src/mock/types.ts","../../src/mock/device/contacts.ts","../../src/mock/device/haptic.ts","../../src/mock/device/location.ts","../../src/mock/device/pdf.ts","../../src/mock/device/storage.ts","../../src/mock/game/index.ts","../../src/mock/iap/index.ts","../../src/mock/navigation/index.ts","../../src/mock/notification.ts","../../src/mock/partner/index.ts","../../src/mock/permissions.ts","../../src/mcp/ait-source.ts","../../src/mock/state.ts","../../src/mock/presets.ts","../../src/mock/preset-store.ts","../../src/mock/safe-area-bridge.ts"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/mock/ads/index.ts","../../src/mock/analytics/index.ts","../../src/mock/auth/index.ts","../../src/mock/device/_helpers.ts","../../src/mock/device/camera.ts","../../src/mock/device/clipboard.ts","../../src/mock/types.ts","../../src/mock/device/contacts.ts","../../src/mock/device/haptic.ts","../../src/mock/device/location.ts","../../src/mock/device/pdf.ts","../../src/mock/device/storage.ts","../../src/mock/game/index.ts","../../src/mock/iap/index.ts","../../src/mock/navigation/index.ts","../../src/mock/notification.ts","../../src/mock/partner/index.ts","../../src/mock/permissions.ts","../../src/mcp/ait-source.ts","../../src/mock/native-error.ts","../../src/mock/state.ts","../../src/mock/presets.ts","../../src/mock/preset-store.ts","../../src/mock/safe-area-bridge.ts"],"mappings":"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"}
|
package/dist/mock/index.js
CHANGED
|
@@ -112,7 +112,8 @@ const DEFAULT_STATE = {
|
|
|
112
112
|
frame: false,
|
|
113
113
|
aitNavBar: true,
|
|
114
114
|
aitNavBarType: "partner"
|
|
115
|
-
}
|
|
115
|
+
},
|
|
116
|
+
failureModes: { sdkLine: "2.x" }
|
|
116
117
|
};
|
|
117
118
|
function generateDeviceId() {
|
|
118
119
|
const stored = localStorage.getItem("__ait_device_id");
|
|
@@ -315,6 +316,104 @@ function waitForPromptResponse(type) {
|
|
|
315
316
|
});
|
|
316
317
|
}
|
|
317
318
|
//#endregion
|
|
319
|
+
//#region src/mock/native-error.ts
|
|
320
|
+
/**
|
|
321
|
+
* 실패-모드 다이얼 — 네이티브 에러 envelope 조립 (devtools#770).
|
|
322
|
+
*
|
|
323
|
+
* env1(mock)이 env3(실기기)의 프로비저닝-의존 reject 계약을 재현할 수 있게 하는
|
|
324
|
+
* 공용 헬퍼. `aitState.failureModes`(state.ts)에 per-API 코드를 설정하면, 각
|
|
325
|
+
* mock 도메인(auth/ads 등)이 이 모듈의 {@link buildNativeError}로 실기기 캡처와
|
|
326
|
+
* 필드 단위로 일치하는 에러 객체를 만들어 reject/onError한다.
|
|
327
|
+
*
|
|
328
|
+
* 코드 인벤토리와 envelope shape의 정본은 sdk-example#284 2.x↔3.0 diff
|
|
329
|
+
* 매트릭스(2026-07-10 iOS run10 캡처 + 이후 manual 패스)다:
|
|
330
|
+
*
|
|
331
|
+
* - 2.x 라인: 네이티브 브리지가 `{ name, code, userInfo, moduleName, __isError }`
|
|
332
|
+
* envelope을 얹은 `Error` 인스턴스로 reject한다. `errorKeys` 관측이 이 5개
|
|
333
|
+
* 필드로 고정.
|
|
334
|
+
* - 3.x 라인: 같은 실패가 "맨 Error"(위 envelope 필드 없음)로 평탄화된다 —
|
|
335
|
+
* sdk-example#284 "패턴 ① 오류 envelope 평탄화" 표.
|
|
336
|
+
*
|
|
337
|
+
* `src/test-runner/bridge-stub.ts`의 `NativeBridgeErrorShape`/`makeNativeError`가
|
|
338
|
+
* 같은 shape을 이미 CI 러너 쪽에서 재현하고 있다(devtools#740) — 이 모듈은 그
|
|
339
|
+
* shape을 mock 소비자 표면(`src/mock/**`)에 대해 재사용 가능한 형태로 옮긴 것이다.
|
|
340
|
+
* 두 모듈은 레이어가 다르다: test-runner 쪽은 env3 blocking-call 인터셉터(빌드에
|
|
341
|
+
* 안 실림, CI 전용), 이쪽은 `@ait-co/devtools` 소비자가 `pnpm dev`에서 실제로
|
|
342
|
+
* import하는 mock 런타임이다 — 서로 import하지 않는다(devtools#740이 test-runner
|
|
343
|
+
* 전용 모듈임을 명시).
|
|
344
|
+
*/
|
|
345
|
+
/** 코드별 기본 message/moduleName — 실기기 캡처 관측값. */
|
|
346
|
+
const CODE_META = {
|
|
347
|
+
APP_LOGIN: {
|
|
348
|
+
message: "Login failed",
|
|
349
|
+
moduleName: "RNTossLogin"
|
|
350
|
+
},
|
|
351
|
+
PLACEMENT_ID_FETCH_FAILED: {
|
|
352
|
+
message: "Failed to fetch placement id",
|
|
353
|
+
moduleName: "RNAdMob"
|
|
354
|
+
},
|
|
355
|
+
EXECUTION_ERROR: {
|
|
356
|
+
message: "Execution error",
|
|
357
|
+
moduleName: "RNFullScreenAd"
|
|
358
|
+
},
|
|
359
|
+
NO_PERMISSION: {
|
|
360
|
+
message: "No permission",
|
|
361
|
+
moduleName: "RNPermissions"
|
|
362
|
+
},
|
|
363
|
+
INVALID_REQUEST: {
|
|
364
|
+
message: "Invalid request",
|
|
365
|
+
moduleName: "RNPermissions"
|
|
366
|
+
},
|
|
367
|
+
INVALID_DATA: {
|
|
368
|
+
message: "Invalid data",
|
|
369
|
+
moduleName: "RNFileSystem"
|
|
370
|
+
},
|
|
371
|
+
FAILED_TO_GET_LOADED_AD: {
|
|
372
|
+
message: "Failed to get loaded ad",
|
|
373
|
+
moduleName: "RNAdMob"
|
|
374
|
+
},
|
|
375
|
+
APP_BRIDGE_THROTTLED: {
|
|
376
|
+
message: "Too many app bridge calls from this method.",
|
|
377
|
+
moduleName: "RNBridge"
|
|
378
|
+
},
|
|
379
|
+
"1006": {
|
|
380
|
+
message: "광고가 로드 중이거나 준비되지 않았습니다",
|
|
381
|
+
moduleName: "RNFullScreenAd"
|
|
382
|
+
},
|
|
383
|
+
"4000": {
|
|
384
|
+
message: "Notification agreement failed",
|
|
385
|
+
moduleName: "RNNotification"
|
|
386
|
+
}
|
|
387
|
+
};
|
|
388
|
+
/**
|
|
389
|
+
* `aitState.failureModes.sdkLine`이 가리키는 라인으로 네이티브 실패를 조립한다.
|
|
390
|
+
*
|
|
391
|
+
* - `'2.x'`(기본): {@link NativeErrorEnvelope} 필드가 실린 `Error` — 실기기 2.x
|
|
392
|
+
* 캡처(`{name, code, userInfo, moduleName, __isError}`)와 필드 단위 일치.
|
|
393
|
+
* - `'3.x'`: 같은 실패가 "맨 Error"로 평탄화된 것을 재현 — envelope 필드 없이
|
|
394
|
+
* message만 실린 순수 `Error` 인스턴스.
|
|
395
|
+
*
|
|
396
|
+
* 호출부는 두 종류다:
|
|
397
|
+
*
|
|
398
|
+
* - **다이얼 게이트 뒤**(대부분): 프로비저닝처럼 환경에 따라 갈리는 실패는
|
|
399
|
+
* 다이얼이 설정된 경우에만 재현한다 — 미설정 시 기존 동작 무변화
|
|
400
|
+
* (zero behavior change). 호출 전에 다이얼 값을 명시적으로 확인한다.
|
|
401
|
+
* - **무조건**(입력 검증): 빈 `data`나 알 수 없는 haptic type처럼 환경과 무관하게
|
|
402
|
+
* 실기기가 **항상** 거부하는 입력은 다이얼 없이 바로 던진다. 이건 "가끔 일어나는
|
|
403
|
+
* 실패"의 시뮬레이션이 아니라 결정적 계약이므로 opt-in 대상이 아니다.
|
|
404
|
+
*/
|
|
405
|
+
function buildNativeError(code) {
|
|
406
|
+
const meta = CODE_META[code];
|
|
407
|
+
if (aitState.state.failureModes.sdkLine === "3.x") return new Error(meta.message);
|
|
408
|
+
const err = new Error(meta.message);
|
|
409
|
+
err.name = "Error";
|
|
410
|
+
err.code = code;
|
|
411
|
+
err.userInfo = {};
|
|
412
|
+
err.moduleName = meta.moduleName;
|
|
413
|
+
err.__isError = true;
|
|
414
|
+
return err;
|
|
415
|
+
}
|
|
416
|
+
//#endregion
|
|
318
417
|
//#region src/mock/permissions.ts
|
|
319
418
|
/**
|
|
320
419
|
* web-framework 3.0+ 권한 에러 기반 클래스.
|
|
@@ -377,14 +476,49 @@ const permissionErrorMap = {
|
|
|
377
476
|
setClipboardText: SetClipboardTextPermissionError
|
|
378
477
|
};
|
|
379
478
|
async function getPermission(permission) {
|
|
479
|
+
const failureCode = permissionGateCode(permission);
|
|
480
|
+
if (failureCode) throw buildNativeError(failureCode);
|
|
380
481
|
return aitState.state.permissions[permission.name];
|
|
381
482
|
}
|
|
483
|
+
/**
|
|
484
|
+
* 선언 게이트에 걸리는 이름·access 조합이면 다이얼에 등록된 native errorCode를
|
|
485
|
+
* 돌려준다. 세 권한 API(`getPermission`/`requestPermission`/`openPermissionDialog`)가
|
|
486
|
+
* **걸리는 조건**은 공유하지만 **떨어지는 코드**는 공유하지 않는다 — 아래 참조.
|
|
487
|
+
*/
|
|
488
|
+
function permissionGateCode(permission) {
|
|
489
|
+
if (permission.access === "access") return;
|
|
490
|
+
return aitState.state.failureModes.getPermission?.[permission.name];
|
|
491
|
+
}
|
|
492
|
+
/**
|
|
493
|
+
* `openPermissionDialog`가 선언 게이트에 걸렸을 때의 코드.
|
|
494
|
+
*
|
|
495
|
+
* 형제 API와 갈린다 — env3 run11 실측(2.x/iOS, sdk-example#313에서 시나리오 키가
|
|
496
|
+
* 통일되며 비교 대상에 들어온 값):
|
|
497
|
+
*
|
|
498
|
+
* getPermission { geolocation, read } → rejected NO_PERMISSION
|
|
499
|
+
* requestPermission { geolocation, read } → rejected NO_PERMISSION
|
|
500
|
+
* openPermissionDialog { geolocation, read } → rejected INVALID_REQUEST
|
|
501
|
+
* openPermissionDialog { camera, access } → resolved
|
|
502
|
+
*
|
|
503
|
+
* 즉 **걸리는 조건은 셋이 같고(access 축 모델 그대로) 코드만 갈린다.** 처음엔
|
|
504
|
+
* `requestPermission`이 `openPermissionDialog`에 위임하니 게이트도 위임하면
|
|
505
|
+
* 된다고 보고 한 지점에만 배선했는데, 그 모델은 코드 층위에서 실측과 어긋났다
|
|
506
|
+
* (env1 NO_PERMISSION ↔ env3 INVALID_REQUEST). 그래서 `requestPermission`은
|
|
507
|
+
* 위임 **전에** 자기 게이트를 먼저 타고, 다이얼로그를 여는 호출만 이 코드를 쓴다.
|
|
508
|
+
*
|
|
509
|
+
* 관측이 geolocation/read 한 조합뿐이라 이름·access별 분기는 두지 않는다 —
|
|
510
|
+
* 근거 없는 확장은 #783에서 이름 단위 맵을 택한 원칙에 어긋난다.
|
|
511
|
+
*/
|
|
512
|
+
const OPEN_DIALOG_GATE_CODE = "INVALID_REQUEST";
|
|
382
513
|
async function openPermissionDialog(permission) {
|
|
514
|
+
if (permissionGateCode(permission)) throw buildNativeError(OPEN_DIALOG_GATE_CODE);
|
|
383
515
|
if (aitState.state.permissions[permission.name] === "allowed") return "allowed";
|
|
384
516
|
aitState.patch("permissions", { [permission.name]: "allowed" });
|
|
385
517
|
return "allowed";
|
|
386
518
|
}
|
|
387
519
|
async function requestPermission(permission) {
|
|
520
|
+
const failureCode = permissionGateCode(permission);
|
|
521
|
+
if (failureCode) throw buildNativeError(failureCode);
|
|
388
522
|
return openPermissionDialog(permission);
|
|
389
523
|
}
|
|
390
524
|
/** 권한이 필요한 함수에 .getPermission(), .openPermissionDialog()를 부착 */
|
|
@@ -607,9 +741,10 @@ const _setClipboardText = async (text) => {
|
|
|
607
741
|
checkPermission("clipboard", "setClipboardText");
|
|
608
742
|
if (aitState.state.deviceModes.clipboard === "mock") {
|
|
609
743
|
aitState.patch("mockData", { clipboardText: text });
|
|
610
|
-
return;
|
|
744
|
+
return { text };
|
|
611
745
|
}
|
|
612
746
|
await navigator.clipboard.writeText(text);
|
|
747
|
+
return { text };
|
|
613
748
|
};
|
|
614
749
|
const setClipboardText = withPermission(_setClipboardText, "clipboard");
|
|
615
750
|
//#endregion
|
|
@@ -703,6 +838,7 @@ function callVibrate(pattern) {
|
|
|
703
838
|
return typeof navigator.vibrate === "function" ? navigator.vibrate(pattern) : false;
|
|
704
839
|
}
|
|
705
840
|
async function generateHapticFeedback(options) {
|
|
841
|
+
if (!Object.hasOwn(HAPTIC_VIBRATE_PATTERN, options.type)) throw buildNativeError("EXECUTION_ERROR");
|
|
706
842
|
const timestamp = Date.now();
|
|
707
843
|
aitState.logAnalytics({
|
|
708
844
|
type: "haptic",
|
|
@@ -722,6 +858,7 @@ async function generateHapticFeedback(options) {
|
|
|
722
858
|
});
|
|
723
859
|
}
|
|
724
860
|
async function saveBase64Data(params) {
|
|
861
|
+
if (params.data === "") throw buildNativeError("INVALID_DATA");
|
|
725
862
|
const a = document.createElement("a");
|
|
726
863
|
a.href = `data:${params.mimeType};base64,${params.data}`;
|
|
727
864
|
a.download = params.fileName;
|
|
@@ -750,7 +887,11 @@ function buildLocation() {
|
|
|
750
887
|
};
|
|
751
888
|
}
|
|
752
889
|
async function getCurrentLocationMock() {
|
|
753
|
-
|
|
890
|
+
const { coords, timestamp } = buildLocation();
|
|
891
|
+
return {
|
|
892
|
+
coords,
|
|
893
|
+
timestamp
|
|
894
|
+
};
|
|
754
895
|
}
|
|
755
896
|
async function getCurrentLocationWeb() {
|
|
756
897
|
return new Promise((resolve) => {
|
|
@@ -769,8 +910,7 @@ async function getCurrentLocationWeb() {
|
|
|
769
910
|
altitudeAccuracy: pos.coords.altitudeAccuracy ?? 0,
|
|
770
911
|
heading: pos.coords.heading ?? 0
|
|
771
912
|
},
|
|
772
|
-
timestamp: pos.timestamp
|
|
773
|
-
accessLocation: "FINE"
|
|
913
|
+
timestamp: pos.timestamp
|
|
774
914
|
});
|
|
775
915
|
}, () => {
|
|
776
916
|
console.warn("[@ait-co/devtools] Geolocation failed, falling back to mock");
|
|
@@ -779,7 +919,11 @@ async function getCurrentLocationWeb() {
|
|
|
779
919
|
});
|
|
780
920
|
}
|
|
781
921
|
async function getCurrentLocationPrompt() {
|
|
782
|
-
|
|
922
|
+
const { coords, timestamp } = await waitForPromptResponse("location");
|
|
923
|
+
return {
|
|
924
|
+
coords,
|
|
925
|
+
timestamp
|
|
926
|
+
};
|
|
783
927
|
}
|
|
784
928
|
const _getCurrentLocation = async (_options) => {
|
|
785
929
|
checkPermission("geolocation", "getCurrentLocation");
|
|
@@ -923,6 +1067,12 @@ function createMockProxy(moduleName, implementations) {
|
|
|
923
1067
|
/**
|
|
924
1068
|
* Storage mock
|
|
925
1069
|
* localStorage에 `__ait_storage:` prefix로 저장하여 앱 자체 localStorage와 분리
|
|
1070
|
+
*
|
|
1071
|
+
* 실기기(2.x×iOS) capture는 `setItem`/`removeItem`/`clearItems` 세 메서드가
|
|
1072
|
+
* `undefined`가 아니라 `null`로 resolve됨을 보였다(devtools#770). 원본 SDK 타입
|
|
1073
|
+
* 선언은 여전히 `Promise<void>`이므로 시그니처는 그대로 두고, 런타임 반환값만
|
|
1074
|
+
* `null`로 캐스트해 실측과 동치시킨다 — Analytics·setClipboardText와 같은 처리(#775).
|
|
1075
|
+
* `getItem`은 이미 `string | null`이라 실측과 일치하므로 손대지 않는다.
|
|
926
1076
|
*/
|
|
927
1077
|
const Storage = createMockProxy("Storage", {
|
|
928
1078
|
getItem: async (key) => {
|
|
@@ -930,13 +1080,16 @@ const Storage = createMockProxy("Storage", {
|
|
|
930
1080
|
},
|
|
931
1081
|
setItem: async (key, value) => {
|
|
932
1082
|
localStorage.setItem(`__ait_storage:${key}`, value);
|
|
1083
|
+
return null;
|
|
933
1084
|
},
|
|
934
1085
|
removeItem: async (key) => {
|
|
935
1086
|
localStorage.removeItem(`__ait_storage:${key}`);
|
|
1087
|
+
return null;
|
|
936
1088
|
},
|
|
937
1089
|
clearItems: async () => {
|
|
938
1090
|
const keys = Object.keys(localStorage).filter((k) => k.startsWith("__ait_storage:"));
|
|
939
1091
|
for (const k of keys) localStorage.removeItem(k);
|
|
1092
|
+
return null;
|
|
940
1093
|
}
|
|
941
1094
|
});
|
|
942
1095
|
//#endregion
|
|
@@ -1027,7 +1180,9 @@ async function share(message) {
|
|
|
1027
1180
|
}
|
|
1028
1181
|
console.log("[@ait-co/devtools] share:", message.message);
|
|
1029
1182
|
}
|
|
1183
|
+
const URI_SCHEME_PATTERN = /^[a-zA-Z][a-zA-Z0-9+.-]*:/;
|
|
1030
1184
|
async function getTossShareLink(path, _ogImageUrl) {
|
|
1185
|
+
if (!URI_SCHEME_PATTERN.test(path)) throw buildNativeError("EXECUTION_ERROR");
|
|
1031
1186
|
return `https://toss.im/share/mock${path}`;
|
|
1032
1187
|
}
|
|
1033
1188
|
async function setIosSwipeGestureEnabled(options) {
|
|
@@ -1171,9 +1326,22 @@ const SafeAreaInsets = {
|
|
|
1171
1326
|
return aitState.subscribe(() => onEvent({ ...aitState.state.safeAreaInsets }));
|
|
1172
1327
|
}
|
|
1173
1328
|
};
|
|
1174
|
-
/**
|
|
1329
|
+
/**
|
|
1330
|
+
* @deprecated `SafeAreaInsets.get()`을 쓸 것.
|
|
1331
|
+
*
|
|
1332
|
+
* 상류 SDK의 타입 선언은 `getSafeAreaInsets(): number`지만, 실기기(2.x×iOS)
|
|
1333
|
+
* capture는 이 함수가 숫자가 아니라 `SafeAreaInsets.get()`과 같은 객체
|
|
1334
|
+
* (`{ top, right, bottom, left }`)를 반환함을 보였다(devtools#770 —
|
|
1335
|
+
* `returnType: "object"`, `valueKeys: ["top","right","bottom","left"]`).
|
|
1336
|
+
* 즉 선언과 런타임이 어긋나 있는 상류 타입 버그다.
|
|
1337
|
+
*
|
|
1338
|
+
* mock은 타입 선언이 아니라 **런타임 실측**을 재현해야 개발자가 env1에서 겪는
|
|
1339
|
+
* 동작이 실기기와 같아진다. 그래서 시그니처는 상류와 동일하게 `number`로 두되
|
|
1340
|
+
* (`__typecheck.ts`가 SDK 타입에 대해 계속 컴파일되도록) 반환값만 실측 객체로
|
|
1341
|
+
* 캐스트한다 — Analytics·setClipboardText·Storage와 같은 처리(#775).
|
|
1342
|
+
*/
|
|
1175
1343
|
function getSafeAreaInsets() {
|
|
1176
|
-
return aitState.state.safeAreaInsets
|
|
1344
|
+
return { ...aitState.state.safeAreaInsets };
|
|
1177
1345
|
}
|
|
1178
1346
|
//#endregion
|
|
1179
1347
|
//#region src/mock/safe-area-bridge.ts
|
|
@@ -1470,6 +1638,11 @@ function _nextSlotId(adGroupId) {
|
|
|
1470
1638
|
const GoogleAdMob = createMockProxy("GoogleAdMob", {
|
|
1471
1639
|
loadAppsInTossAdMob: withIsSupported(observe("GoogleAdMob.loadAppsInTossAdMob", "faithful", (args) => {
|
|
1472
1640
|
setTimeout(() => {
|
|
1641
|
+
const failureCode = aitState.state.failureModes.loadAdMob;
|
|
1642
|
+
if (failureCode) {
|
|
1643
|
+
args.onError(buildNativeError(failureCode));
|
|
1644
|
+
return;
|
|
1645
|
+
}
|
|
1473
1646
|
if (aitState.state.ads.forceNoFill) {
|
|
1474
1647
|
args.onError(/* @__PURE__ */ new Error("No fill"));
|
|
1475
1648
|
return;
|
|
@@ -1501,7 +1674,10 @@ const GoogleAdMob = createMockProxy("GoogleAdMob", {
|
|
|
1501
1674
|
}, 1500);
|
|
1502
1675
|
return () => {};
|
|
1503
1676
|
})),
|
|
1504
|
-
isAppsInTossAdMobLoaded: withIsSupported(observe("GoogleAdMob.isAppsInTossAdMobLoaded", "faithful", async (_options) =>
|
|
1677
|
+
isAppsInTossAdMobLoaded: withIsSupported(observe("GoogleAdMob.isAppsInTossAdMobLoaded", "faithful", async (_options) => {
|
|
1678
|
+
if (_options?.adGroupId !== void 0 && _options.adGroupId.trim() === "") throw buildNativeError("INVALID_REQUEST");
|
|
1679
|
+
return aitState.state.ads.isLoaded;
|
|
1680
|
+
}))
|
|
1505
1681
|
});
|
|
1506
1682
|
const TossAds = createMockProxy("TossAds", {
|
|
1507
1683
|
initialize: withIsSupported(observe("TossAds.initialize", "partial", (options) => {
|
|
@@ -1590,6 +1766,11 @@ const TossAds = createMockProxy("TossAds", {
|
|
|
1590
1766
|
});
|
|
1591
1767
|
const loadFullScreenAd = withIsSupported(observe("loadFullScreenAd", "faithful", (args) => {
|
|
1592
1768
|
setTimeout(() => {
|
|
1769
|
+
const failureCode = aitState.state.failureModes.loadFullScreenAd;
|
|
1770
|
+
if (failureCode) {
|
|
1771
|
+
args.onError(buildNativeError(failureCode));
|
|
1772
|
+
return;
|
|
1773
|
+
}
|
|
1593
1774
|
if (aitState.state.ads.forceNoFill) {
|
|
1594
1775
|
args.onError(/* @__PURE__ */ new Error("No fill"));
|
|
1595
1776
|
return;
|
|
@@ -1619,21 +1800,21 @@ const Analytics = {
|
|
|
1619
1800
|
type: "screen",
|
|
1620
1801
|
params: params ?? {}
|
|
1621
1802
|
});
|
|
1622
|
-
return Promise.resolve();
|
|
1803
|
+
return Promise.resolve(null);
|
|
1623
1804
|
},
|
|
1624
1805
|
impression: (params) => {
|
|
1625
1806
|
aitState.logAnalytics({
|
|
1626
1807
|
type: "impression",
|
|
1627
1808
|
params: params ?? {}
|
|
1628
1809
|
});
|
|
1629
|
-
return Promise.resolve();
|
|
1810
|
+
return Promise.resolve(null);
|
|
1630
1811
|
},
|
|
1631
1812
|
click: (params) => {
|
|
1632
1813
|
aitState.logAnalytics({
|
|
1633
1814
|
type: "click",
|
|
1634
1815
|
params: params ?? {}
|
|
1635
1816
|
});
|
|
1636
|
-
return Promise.resolve();
|
|
1817
|
+
return Promise.resolve(null);
|
|
1637
1818
|
}
|
|
1638
1819
|
};
|
|
1639
1820
|
async function eventLog(params) {
|
|
@@ -1644,6 +1825,7 @@ async function eventLog(params) {
|
|
|
1644
1825
|
...params.params
|
|
1645
1826
|
}
|
|
1646
1827
|
});
|
|
1828
|
+
return null;
|
|
1647
1829
|
}
|
|
1648
1830
|
//#endregion
|
|
1649
1831
|
//#region src/mock/auth/index.ts
|
|
@@ -1651,12 +1833,16 @@ async function eventLog(params) {
|
|
|
1651
1833
|
* 인증/로그인 mock
|
|
1652
1834
|
*/
|
|
1653
1835
|
async function appLogin() {
|
|
1836
|
+
const failureCode = aitState.state.failureModes.appLogin;
|
|
1837
|
+
if (failureCode) throw buildNativeError(failureCode);
|
|
1654
1838
|
return {
|
|
1655
1839
|
authorizationCode: `mock-auth-${crypto.randomUUID()}`,
|
|
1656
1840
|
referrer: aitState.state.environment === "toss" ? "DEFAULT" : "SANDBOX"
|
|
1657
1841
|
};
|
|
1658
1842
|
}
|
|
1659
1843
|
async function getIsTossLoginIntegratedService() {
|
|
1844
|
+
const failureCode = aitState.state.failureModes.getIsTossLoginIntegratedService;
|
|
1845
|
+
if (failureCode) throw buildNativeError(failureCode);
|
|
1660
1846
|
return aitState.state.auth.isTossLoginIntegrated;
|
|
1661
1847
|
}
|
|
1662
1848
|
async function getUserKeyForGame() {
|
|
@@ -1679,10 +1865,18 @@ async function appsInTossSignTossCert(_params) {
|
|
|
1679
1865
|
//#region src/mock/game/index.ts
|
|
1680
1866
|
async function grantPromotionReward(params) {
|
|
1681
1867
|
console.log("[@ait-co/devtools] grantPromotionReward:", params.params);
|
|
1868
|
+
if (aitState.state.failureModes.softResolve?.grantPromotionReward) return {
|
|
1869
|
+
errorCode: "PROMOTION_NOT_FOUND",
|
|
1870
|
+
message: "no active promotion"
|
|
1871
|
+
};
|
|
1682
1872
|
return { key: `mock-reward-${Date.now()}` };
|
|
1683
1873
|
}
|
|
1684
1874
|
async function grantPromotionRewardForGame(params) {
|
|
1685
1875
|
console.log("[@ait-co/devtools] grantPromotionRewardForGame:", params.params);
|
|
1876
|
+
if (aitState.state.failureModes.softResolve?.grantPromotionRewardForGame) return {
|
|
1877
|
+
errorCode: "PROMOTION_NOT_FOUND",
|
|
1878
|
+
message: "no active promotion"
|
|
1879
|
+
};
|
|
1686
1880
|
return { key: `mock-reward-${Date.now()}` };
|
|
1687
1881
|
}
|
|
1688
1882
|
async function submitGameCenterLeaderBoardScore(params) {
|
|
@@ -1697,6 +1891,7 @@ async function getGameCenterGameProfile() {
|
|
|
1697
1891
|
if (!profile) return { statusCode: "PROFILE_NOT_FOUND" };
|
|
1698
1892
|
return {
|
|
1699
1893
|
statusCode: "SUCCESS",
|
|
1894
|
+
gameSessionId: "mock-session",
|
|
1700
1895
|
nickname: profile.nickname,
|
|
1701
1896
|
profileImageUri: profile.profileImageUri
|
|
1702
1897
|
};
|
|
@@ -1779,12 +1974,15 @@ const IAP = createMockProxy("IAP", {
|
|
|
1779
1974
|
})) };
|
|
1780
1975
|
},
|
|
1781
1976
|
async getPendingOrders() {
|
|
1782
|
-
|
|
1977
|
+
const orders = [...aitState.state.iap.pendingOrders];
|
|
1978
|
+
return {
|
|
1979
|
+
orders,
|
|
1980
|
+
orderIds: orders.map((o) => o.orderId)
|
|
1981
|
+
};
|
|
1783
1982
|
},
|
|
1784
1983
|
async getCompletedOrRefundedOrders() {
|
|
1785
1984
|
return {
|
|
1786
1985
|
hasNext: false,
|
|
1787
|
-
nextKey: null,
|
|
1788
1986
|
orders: [...aitState.state.iap.completedOrders]
|
|
1789
1987
|
};
|
|
1790
1988
|
},
|
|
@@ -1807,6 +2005,7 @@ const IAP = createMockProxy("IAP", {
|
|
|
1807
2005
|
return true;
|
|
1808
2006
|
},
|
|
1809
2007
|
async getSubscriptionInfo(_args) {
|
|
2008
|
+
if (aitState.state.failureModes.softResolve?.getSubscriptionInfo) return {};
|
|
1810
2009
|
return { subscription: {
|
|
1811
2010
|
catalogId: 1,
|
|
1812
2011
|
status: "ACTIVE",
|
|
@@ -1855,6 +2054,11 @@ const _requestNotificationAgreementImpl = (params) => {
|
|
|
1855
2054
|
let cancelled = false;
|
|
1856
2055
|
Promise.resolve().then(async () => {
|
|
1857
2056
|
if (cancelled) return;
|
|
2057
|
+
const failureCode = aitState.state.failureModes.requestNotificationAgreement;
|
|
2058
|
+
if (failureCode) {
|
|
2059
|
+
await params.onError(buildNativeError(failureCode));
|
|
2060
|
+
return;
|
|
2061
|
+
}
|
|
1858
2062
|
const type = aitState.state.notification.nextResult;
|
|
1859
2063
|
console.log("[@ait-co/devtools] requestNotificationAgreement:", params.options.templateCode, "→", type);
|
|
1860
2064
|
try {
|