@ait-co/devtools 0.1.138 → 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/mcp/cli.js +3 -3
- package/dist/mcp/server.js +1 -1
- package/dist/mock/index.d.ts +15 -0
- package/dist/mock/index.d.ts.map +1 -1
- package/dist/mock/index.js +12 -15
- package/dist/mock/index.js.map +1 -1
- package/dist/panel/index.js +17 -11
- package/dist/panel/index.js.map +1 -1
- package/package.json +1 -1
package/dist/panel/index.js
CHANGED
|
@@ -26855,6 +26855,19 @@ withPermission(_fetchContacts, "contacts");
|
|
|
26855
26855
|
//#endregion
|
|
26856
26856
|
//#region src/mock/device/haptic.ts
|
|
26857
26857
|
/**
|
|
26858
|
+
* Haptic Feedback & saveBase64Data mock
|
|
26859
|
+
*
|
|
26860
|
+
* generateHapticFeedback — 영역 3 (하드웨어 API 관측):
|
|
26861
|
+
* - 10종 HapticFeedbackType을 navigator.vibrate 패턴으로 매핑(근사, best-effort).
|
|
26862
|
+
* - `typeof navigator.vibrate === 'function'` 가드 — API 없는 환경에서 throw 없이 skip.
|
|
26863
|
+
* - @ait-co/polyfill 동시 사용 시 재귀 방지: polyfill이 navigator.vibrate를 override하고
|
|
26864
|
+
* 내부에서 mock의 generateHapticFeedback을 호출하므로 무한 재귀가 발생한다. polyfill이
|
|
26865
|
+
* 원본 vibrate를 BACKUP_KEY(Symbol.for('@ait-co/polyfill/vibrate.original'))에 저장하면
|
|
26866
|
+
* 그 원본을 직접 호출해 재귀를 끊는다.
|
|
26867
|
+
* - sdkCallLog에 🟡(partial)로 기록. params: { hapticType, vibrated: boolean }.
|
|
26868
|
+
* - 시그니처 불변 — __typecheck.ts의 Assert<Mock, Original> 통과.
|
|
26869
|
+
*/
|
|
26870
|
+
/**
|
|
26858
26871
|
* HapticFeedbackType 10종 → navigator.vibrate 패턴 매핑.
|
|
26859
26872
|
* 숫자: 진동 ms. 배열: [진동, 정지, 진동, …] 교대 패턴.
|
|
26860
26873
|
*/
|
|
@@ -26909,11 +26922,7 @@ function callVibrate(pattern) {
|
|
|
26909
26922
|
return typeof navigator.vibrate === "function" ? navigator.vibrate(pattern) : false;
|
|
26910
26923
|
}
|
|
26911
26924
|
async function generateHapticFeedback(options) {
|
|
26912
|
-
if (!Object.hasOwn(HAPTIC_VIBRATE_PATTERN, options.type))
|
|
26913
|
-
const err = /* @__PURE__ */ new Error(`[@ait-co/devtools] generateHapticFeedback: unknown haptic type "${options.type}"`);
|
|
26914
|
-
err.errorCode = "EXECUTION_ERROR";
|
|
26915
|
-
throw err;
|
|
26916
|
-
}
|
|
26925
|
+
if (!Object.hasOwn(HAPTIC_VIBRATE_PATTERN, options.type)) throw buildNativeError("EXECUTION_ERROR");
|
|
26917
26926
|
const timestamp = Date.now();
|
|
26918
26927
|
aitState.logAnalytics({
|
|
26919
26928
|
type: "haptic",
|
|
@@ -27485,11 +27494,7 @@ const GoogleAdMob = createMockProxy("GoogleAdMob", {
|
|
|
27485
27494
|
return () => {};
|
|
27486
27495
|
})),
|
|
27487
27496
|
isAppsInTossAdMobLoaded: withIsSupported(observe("GoogleAdMob.isAppsInTossAdMobLoaded", "faithful", async (_options) => {
|
|
27488
|
-
if (_options?.adGroupId !== void 0 && _options.adGroupId.trim() === "")
|
|
27489
|
-
const err = /* @__PURE__ */ new Error(`[@ait-co/devtools] GoogleAdMob.isAppsInTossAdMobLoaded: malformed adGroupId "${_options.adGroupId}"`);
|
|
27490
|
-
err.errorCode = "INVALID_REQUEST";
|
|
27491
|
-
throw err;
|
|
27492
|
-
}
|
|
27497
|
+
if (_options?.adGroupId !== void 0 && _options.adGroupId.trim() === "") throw buildNativeError("INVALID_REQUEST");
|
|
27493
27498
|
return aitState.state.ads.isLoaded;
|
|
27494
27499
|
}))
|
|
27495
27500
|
});
|
|
@@ -27947,6 +27952,7 @@ const IAP = createMockProxy("IAP", {
|
|
|
27947
27952
|
return true;
|
|
27948
27953
|
},
|
|
27949
27954
|
async getSubscriptionInfo(_args) {
|
|
27955
|
+
if (aitState.state.failureModes.softResolve?.getSubscriptionInfo) return {};
|
|
27950
27956
|
return { subscription: {
|
|
27951
27957
|
catalogId: 1,
|
|
27952
27958
|
status: "ACTIVE",
|
|
@@ -30301,7 +30307,7 @@ function Panel() {
|
|
|
30301
30307
|
color: "#666",
|
|
30302
30308
|
fontWeight: 400
|
|
30303
30309
|
},
|
|
30304
|
-
children: ["v", "0.1.
|
|
30310
|
+
children: ["v", "0.1.139"]
|
|
30305
30311
|
}),
|
|
30306
30312
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("button", {
|
|
30307
30313
|
type: "button",
|