@apps-in-toss/devtools 3.2.0 → 3.3.0

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/mock/2x.d.ts CHANGED
@@ -604,6 +604,39 @@ declare const requestTossPayPaysBilling: ((options: {
604
604
  isSupported: () => true;
605
605
  };
606
606
  //#endregion
607
+ //#region src/mock/viral/index.d.ts
608
+ /** 바이럴 캠페인 조회 mock이에요. */
609
+ declare function getViralCampaign(params: {
610
+ campaignId: string;
611
+ }): Promise<{
612
+ campaignId: string;
613
+ benefitName: string;
614
+ display: {
615
+ title: string | null;
616
+ benefitText: string | null;
617
+ conditionText: string | null;
618
+ ctaText: string | null;
619
+ };
620
+ active: boolean;
621
+ campaignStatus: "WAITING" | "IN_PROGRESS" | "ENDED";
622
+ participationAvailable: boolean;
623
+ participationUnavailableReason: "INACTIVE" | "NOT_STARTED" | "ENDED" | "ALL_RULES_ACHIEVED" | null;
624
+ rules: Array<{
625
+ ruleId: string;
626
+ ruleKey: string;
627
+ revision: number;
628
+ title: string;
629
+ currentValue: number;
630
+ targetValue: number;
631
+ status: "IN_PROGRESS" | "ACHIEVED" | "EXPIRED";
632
+ achievedAt: string | null;
633
+ }>;
634
+ }>;
635
+ /** 바이럴 캠페인 공유 mock이에요. */
636
+ declare function shareViralCampaign(params: {
637
+ campaignId: string;
638
+ }): Promise<void>;
639
+ //#endregion
607
640
  //#region src/mock/navigation/index.d.ts
608
641
  declare function closeView(): Promise<void>;
609
642
  declare function openURL(url: string): Promise<void>;
@@ -1143,4 +1176,4 @@ declare function listUserPresets(): MockPreset[];
1143
1176
  declare function saveUserPreset(label: string, state: MockPresetState, description?: string): MockPreset;
1144
1177
  declare function deleteUserPreset(id: string): void;
1145
1178
  //#endregion
1146
- export { Accuracy, type AitDevtoolsState, Analytics, type AnalyticsLogEntry, type ConsentedUserData, type ConsentedUserDataKey, type DeclaredAgeRange, type DeviceApiMode, type DeviceModes, FetchAlbumPhotosPermissionError, FetchContactsPermissionError, GetClipboardTextPermissionError, GetCurrentLocationPermissionError, GoogleAdMob, type HapticFeedbackType, IAP, type IapNextResult, type LocationCoords, type MockContact, type MockData, type MockIapProduct, type MockLocation, type MockPreset, type MockPresetState, type NetworkStatus, OpenCameraPermissionError, type OperationalEnvironment, PermissionError, type PermissionName, type PermissionStatus, type PlatformOS, type Primitive, SafeAreaInsets, type SafeAreaInsets$1 as SafeAreaInsetsType, SetClipboardTextPermissionError, StartUpdateLocationPermissionError, Storage, TossAds, aitState, appLogin, applyPreset, appsInTossEvent, appsInTossSignTossCert, builtInPresets, captureCurrentState, checkoutPayment, closeView, contactsViral, createAsyncBridge, createConstantBridge, createEventBridge, deleteUserPreset, env, eventLog, fetchAlbumItems, fetchAlbumPhotos, fetchContacts, generateHapticFeedback, getAnonymousKey, getAppsInTossGlobals, getClipboardText, getConsentedUserData, getCurrentLocation, getDeclaredAgeRange, getDefaultPlaceholderImages, getDeviceId, getGameCenterGameProfile, getGroupId, getIsTossLoginIntegratedService, getLocale, getNetworkStatus, getOperationalEnvironment, getPermission, getPlatformOS, getSafeAreaInsets, getSchemeUri, getServerTime, getTossAppVersion, getTossShareLink, getUserKeyForGame, graniteEvent, grantPromotionReward, grantPromotionRewardForGame, isMinVersionSupported, listUserPresets, loadFullScreenAd, matchesPreset, onVisibilityChangedByTransparentServiceWeb, openCamera, openGameCenterLeaderboard, openPDFViewer, openPermissionDialog, openURL, partner, requestNotificationAgreement, requestPermission, requestReview, requestTossPayPaysBilling, saveBase64Data, saveUserPreset, setClipboardText, setDeviceOrientation, setIosSwipeGestureEnabled, setScreenAwakeMode, setSecureScreen, share, showFullScreenAd, startUpdateLocation, submitGameCenterLeaderBoardScore, tdsEvent };
1179
+ export { Accuracy, type AitDevtoolsState, Analytics, type AnalyticsLogEntry, type ConsentedUserData, type ConsentedUserDataKey, type DeclaredAgeRange, type DeviceApiMode, type DeviceModes, FetchAlbumPhotosPermissionError, FetchContactsPermissionError, GetClipboardTextPermissionError, GetCurrentLocationPermissionError, GoogleAdMob, type HapticFeedbackType, IAP, type IapNextResult, type LocationCoords, type MockContact, type MockData, type MockIapProduct, type MockLocation, type MockPreset, type MockPresetState, type NetworkStatus, OpenCameraPermissionError, type OperationalEnvironment, PermissionError, type PermissionName, type PermissionStatus, type PlatformOS, type Primitive, SafeAreaInsets, type SafeAreaInsets$1 as SafeAreaInsetsType, SetClipboardTextPermissionError, StartUpdateLocationPermissionError, Storage, TossAds, aitState, appLogin, applyPreset, appsInTossEvent, appsInTossSignTossCert, builtInPresets, captureCurrentState, checkoutPayment, closeView, contactsViral, createAsyncBridge, createConstantBridge, createEventBridge, deleteUserPreset, env, eventLog, fetchAlbumItems, fetchAlbumPhotos, fetchContacts, generateHapticFeedback, getAnonymousKey, getAppsInTossGlobals, getClipboardText, getConsentedUserData, getCurrentLocation, getDeclaredAgeRange, getDefaultPlaceholderImages, getDeviceId, getGameCenterGameProfile, getGroupId, getIsTossLoginIntegratedService, getLocale, getNetworkStatus, getOperationalEnvironment, getPermission, getPlatformOS, getSafeAreaInsets, getSchemeUri, getServerTime, getTossAppVersion, getTossShareLink, getUserKeyForGame, getViralCampaign, graniteEvent, grantPromotionReward, grantPromotionRewardForGame, isMinVersionSupported, listUserPresets, loadFullScreenAd, matchesPreset, onVisibilityChangedByTransparentServiceWeb, openCamera, openGameCenterLeaderboard, openPDFViewer, openPermissionDialog, openURL, partner, requestNotificationAgreement, requestPermission, requestReview, requestTossPayPaysBilling, saveBase64Data, saveUserPreset, setClipboardText, setDeviceOrientation, setIosSwipeGestureEnabled, setScreenAwakeMode, setSecureScreen, share, shareViralCampaign, showFullScreenAd, startUpdateLocation, submitGameCenterLeaderBoardScore, tdsEvent };
package/dist/mock/2x.js CHANGED
@@ -1932,6 +1932,40 @@ function getSafeAreaInsets() {
1932
1932
  return Promise.resolve({ ...aitState.state.safeAreaInsets });
1933
1933
  }
1934
1934
  //#endregion
1935
+ //#region src/mock/viral/index.ts
1936
+ /** 바이럴 캠페인 조회 mock이에요. */
1937
+ async function getViralCampaign(params) {
1938
+ console.log("[@apps-in-toss/devtools] getViralCampaign:", params.campaignId);
1939
+ return {
1940
+ campaignId: params.campaignId,
1941
+ benefitName: "mock-benefit",
1942
+ display: {
1943
+ title: "바이럴 캠페인 제목",
1944
+ benefitText: "친구를 초대하면 리워드를 받아요",
1945
+ conditionText: "3명 초대 시 달성",
1946
+ ctaText: "공유하기"
1947
+ },
1948
+ active: true,
1949
+ campaignStatus: "IN_PROGRESS",
1950
+ participationAvailable: true,
1951
+ participationUnavailableReason: null,
1952
+ rules: [{
1953
+ ruleId: "rule-1",
1954
+ ruleKey: "invite",
1955
+ revision: 1,
1956
+ title: "친구 3명 초대",
1957
+ currentValue: 1,
1958
+ targetValue: 3,
1959
+ status: "IN_PROGRESS",
1960
+ achievedAt: null
1961
+ }]
1962
+ };
1963
+ }
1964
+ /** 바이럴 캠페인 공유 mock이에요. */
1965
+ async function shareViralCampaign(params) {
1966
+ console.log("[@apps-in-toss/devtools] shareViralCampaign:", params.campaignId);
1967
+ }
1968
+ //#endregion
1935
1969
  //#region src/mock/bridge-factories.ts
1936
1970
  /** Generic bridge escape hatches exposed by both SDK lines. */
1937
1971
  const asyncBridgeRegistry = {
@@ -1945,11 +1979,13 @@ const asyncBridgeRegistry = {
1945
1979
  getDeclaredAgeRange,
1946
1980
  getNetworkStatus,
1947
1981
  getServerTime,
1982
+ getViralCampaign,
1948
1983
  openPDFViewer,
1949
1984
  openURL,
1950
1985
  requestReview,
1951
1986
  saveBase64Data,
1952
- share
1987
+ share,
1988
+ shareViralCampaign
1953
1989
  };
1954
1990
  function createAsyncBridge(method) {
1955
1991
  return async (...args) => {
@@ -2387,4 +2423,4 @@ function captureCurrentState(snapshot) {
2387
2423
  };
2388
2424
  }
2389
2425
  //#endregion
2390
- export { Accuracy, Analytics, FetchAlbumPhotosPermissionError, FetchContactsPermissionError, GetClipboardTextPermissionError, GetCurrentLocationPermissionError, GoogleAdMob, IAP, OpenCameraPermissionError, PermissionError, SafeAreaInsets, SetClipboardTextPermissionError, StartUpdateLocationPermissionError, Storage, TossAds, aitState, appLogin, applyPreset, appsInTossEvent, appsInTossSignTossCert, builtInPresets, captureCurrentState, checkoutPayment, closeView, contactsViral, createAsyncBridge, createConstantBridge, createEventBridge, deleteUserPreset, env, eventLog, fetchAlbumItems, fetchAlbumPhotos, fetchContacts, generateHapticFeedback, getAnonymousKey, getAppsInTossGlobals, getClipboardText, getConsentedUserData, getCurrentLocation, getDeclaredAgeRange, getDefaultPlaceholderImages, getDeviceId, getGameCenterGameProfile, getGroupId, getIsTossLoginIntegratedService, getLocale, getNetworkStatus, getOperationalEnvironment, getPermission, getPlatformOS, getSafeAreaInsets, getSchemeUri, getServerTime, getTossAppVersion, getTossShareLink, getUserKeyForGame, graniteEvent, grantPromotionReward, grantPromotionRewardForGame, isMinVersionSupported, listUserPresets, loadFullScreenAd, matchesPreset, onVisibilityChangedByTransparentServiceWeb, openCamera, openGameCenterLeaderboard, openPDFViewer, openPermissionDialog, openURL, partner, requestNotificationAgreement, requestPermission, requestReview, requestTossPayPaysBilling, saveBase64Data, saveUserPreset, setClipboardText, setDeviceOrientation, setIosSwipeGestureEnabled, setScreenAwakeMode, setSecureScreen, share, showFullScreenAd, startUpdateLocation, submitGameCenterLeaderBoardScore, tdsEvent };
2426
+ export { Accuracy, Analytics, FetchAlbumPhotosPermissionError, FetchContactsPermissionError, GetClipboardTextPermissionError, GetCurrentLocationPermissionError, GoogleAdMob, IAP, OpenCameraPermissionError, PermissionError, SafeAreaInsets, SetClipboardTextPermissionError, StartUpdateLocationPermissionError, Storage, TossAds, aitState, appLogin, applyPreset, appsInTossEvent, appsInTossSignTossCert, builtInPresets, captureCurrentState, checkoutPayment, closeView, contactsViral, createAsyncBridge, createConstantBridge, createEventBridge, deleteUserPreset, env, eventLog, fetchAlbumItems, fetchAlbumPhotos, fetchContacts, generateHapticFeedback, getAnonymousKey, getAppsInTossGlobals, getClipboardText, getConsentedUserData, getCurrentLocation, getDeclaredAgeRange, getDefaultPlaceholderImages, getDeviceId, getGameCenterGameProfile, getGroupId, getIsTossLoginIntegratedService, getLocale, getNetworkStatus, getOperationalEnvironment, getPermission, getPlatformOS, getSafeAreaInsets, getSchemeUri, getServerTime, getTossAppVersion, getTossShareLink, getUserKeyForGame, getViralCampaign, graniteEvent, grantPromotionReward, grantPromotionRewardForGame, isMinVersionSupported, listUserPresets, loadFullScreenAd, matchesPreset, onVisibilityChangedByTransparentServiceWeb, openCamera, openGameCenterLeaderboard, openPDFViewer, openPermissionDialog, openURL, partner, requestNotificationAgreement, requestPermission, requestReview, requestTossPayPaysBilling, saveBase64Data, saveUserPreset, setClipboardText, setDeviceOrientation, setIosSwipeGestureEnabled, setScreenAwakeMode, setSecureScreen, share, shareViralCampaign, showFullScreenAd, startUpdateLocation, submitGameCenterLeaderBoardScore, tdsEvent };
package/dist/mock/3x.d.ts CHANGED
@@ -197,6 +197,7 @@ declare const Storage: typeof SDK.Storage;
197
197
  declare const TossAuth: typeof SDK.TossAuth;
198
198
  declare const TossPay: typeof SDK.TossPay;
199
199
  declare const User: typeof SDK.User;
200
+ declare const Viral: typeof SDK.Viral;
200
201
  //#endregion
201
202
  //#region src/mock/ads/index.d.ts
202
203
  declare const TossAds: {
@@ -567,6 +568,39 @@ declare function checkoutPayment(options: {
567
568
  reason?: string;
568
569
  }>;
569
570
  //#endregion
571
+ //#region src/mock/viral/index.d.ts
572
+ /** 바이럴 캠페인 조회 mock이에요. */
573
+ declare function getViralCampaign(params: {
574
+ campaignId: string;
575
+ }): Promise<{
576
+ campaignId: string;
577
+ benefitName: string;
578
+ display: {
579
+ title: string | null;
580
+ benefitText: string | null;
581
+ conditionText: string | null;
582
+ ctaText: string | null;
583
+ };
584
+ active: boolean;
585
+ campaignStatus: "WAITING" | "IN_PROGRESS" | "ENDED";
586
+ participationAvailable: boolean;
587
+ participationUnavailableReason: "INACTIVE" | "NOT_STARTED" | "ENDED" | "ALL_RULES_ACHIEVED" | null;
588
+ rules: Array<{
589
+ ruleId: string;
590
+ ruleKey: string;
591
+ revision: number;
592
+ title: string;
593
+ currentValue: number;
594
+ targetValue: number;
595
+ status: "IN_PROGRESS" | "ACHIEVED" | "EXPIRED";
596
+ achievedAt: string | null;
597
+ }>;
598
+ }>;
599
+ /** 바이럴 캠페인 공유 mock이에요. */
600
+ declare function shareViralCampaign(params: {
601
+ campaignId: string;
602
+ }): Promise<void>;
603
+ //#endregion
570
604
  //#region src/mock/navigation/index.d.ts
571
605
  declare function closeView(): Promise<void>;
572
606
  declare function openURL(url: string): Promise<void>;
@@ -1033,4 +1067,4 @@ declare function listUserPresets(): MockPreset[];
1033
1067
  declare function saveUserPreset(label: string, state: MockPresetState, description?: string): MockPreset;
1034
1068
  declare function deleteUserPreset(id: string): void;
1035
1069
  //#endregion
1036
- export { Accuracy, type AitDevtoolsState, Analytics, type AnalyticsLogEntry, Clipboard, type ConsentedUserData, type ConsentedUserDataKey, type DeclaredAgeRange, Device, type DeviceApiMode, type DeviceModes, Environment, FetchAlbumPhotosPermissionError, FetchContactsPermissionError, File, Game, GetClipboardTextPermissionError, GetCurrentLocationPermissionError, GoogleAdMob, type HapticFeedbackType, IAP, type IapNextResult, type LocationCoords, Migration, type MockContact, type MockData, type MockIapProduct, type MockLocation, type MockPreset, type MockPresetState, type NetworkStatus, Notification, OpenCameraPermissionError, type OperationalEnvironment, PermissionError, type PermissionName, type PermissionStatus, type PlatformOS, type Primitive, Promotion, Review, SafeArea, SafeAreaInsets, type SafeAreaInsets$1 as SafeAreaInsetsType, Screen, SetClipboardTextPermissionError, Share, StartUpdateLocationPermissionError, Storage, TossAds, TossAuth, TossPay, User, aitState, appLogin, applyPreset, appsInTossEvent, appsInTossSignTossCert, builtInPresets, captureCurrentState, checkoutPayment, closeView, contactsViral, createAsyncBridge, createConstantBridge, createEventBridge, deleteUserPreset, env, eventLog, fetchAlbumItems, fetchAlbumPhotos, fetchContacts, generateHapticFeedback, getAnonymousKey, getAppsInTossGlobals, getClipboardText, getConsentedUserData, getCurrentLocation, getDeclaredAgeRange, getDefaultPlaceholderImages, getDeviceId, getGameCenterGameProfile, getGroupId, getIsTossLoginIntegratedService, getLocale, getNetworkStatus, getOperationalEnvironment, getPermission, getPlatformOS, getSafeAreaInsets, getSchemeUri, getServerTime, getTossAppVersion, getTossShareLink, getUserKeyForGame, graniteEvent, grantPromotionReward, grantPromotionRewardForGame, isMinVersionSupported, listUserPresets, loadFullScreenAd, matchesPreset, onVisibilityChangedByTransparentServiceWeb, openCamera, openGameCenterLeaderboard, openPDFViewer, openPermissionDialog, openURL, partner, requestNotificationAgreement, requestPermission, requestReview, requestTossPayPaysBilling, saveBase64Data, saveUserPreset, setClipboardText, setDeviceOrientation, setIosSwipeGestureEnabled, setScreenAwakeMode, setSecureScreen, share, showFullScreenAd, startUpdateLocation, submitGameCenterLeaderBoardScore, tdsEvent };
1070
+ export { Accuracy, type AitDevtoolsState, Analytics, type AnalyticsLogEntry, Clipboard, type ConsentedUserData, type ConsentedUserDataKey, type DeclaredAgeRange, Device, type DeviceApiMode, type DeviceModes, Environment, FetchAlbumPhotosPermissionError, FetchContactsPermissionError, File, Game, GetClipboardTextPermissionError, GetCurrentLocationPermissionError, GoogleAdMob, type HapticFeedbackType, IAP, type IapNextResult, type LocationCoords, Migration, type MockContact, type MockData, type MockIapProduct, type MockLocation, type MockPreset, type MockPresetState, type NetworkStatus, Notification, OpenCameraPermissionError, type OperationalEnvironment, PermissionError, type PermissionName, type PermissionStatus, type PlatformOS, type Primitive, Promotion, Review, SafeArea, SafeAreaInsets, type SafeAreaInsets$1 as SafeAreaInsetsType, Screen, SetClipboardTextPermissionError, Share, StartUpdateLocationPermissionError, Storage, TossAds, TossAuth, TossPay, User, Viral, aitState, appLogin, applyPreset, appsInTossEvent, appsInTossSignTossCert, builtInPresets, captureCurrentState, checkoutPayment, closeView, contactsViral, createAsyncBridge, createConstantBridge, createEventBridge, deleteUserPreset, env, eventLog, fetchAlbumItems, fetchAlbumPhotos, fetchContacts, generateHapticFeedback, getAnonymousKey, getAppsInTossGlobals, getClipboardText, getConsentedUserData, getCurrentLocation, getDeclaredAgeRange, getDefaultPlaceholderImages, getDeviceId, getGameCenterGameProfile, getGroupId, getIsTossLoginIntegratedService, getLocale, getNetworkStatus, getOperationalEnvironment, getPermission, getPlatformOS, getSafeAreaInsets, getSchemeUri, getServerTime, getTossAppVersion, getTossShareLink, getUserKeyForGame, getViralCampaign, graniteEvent, grantPromotionReward, grantPromotionRewardForGame, isMinVersionSupported, listUserPresets, loadFullScreenAd, matchesPreset, onVisibilityChangedByTransparentServiceWeb, openCamera, openGameCenterLeaderboard, openPDFViewer, openPermissionDialog, openURL, partner, requestNotificationAgreement, requestPermission, requestReview, requestTossPayPaysBilling, saveBase64Data, saveUserPreset, setClipboardText, setDeviceOrientation, setIosSwipeGestureEnabled, setScreenAwakeMode, setSecureScreen, share, shareViralCampaign, showFullScreenAd, startUpdateLocation, submitGameCenterLeaderBoardScore, tdsEvent };
package/dist/mock/3x.js CHANGED
@@ -1865,6 +1865,40 @@ const SafeAreaInsets = {
1865
1865
  }
1866
1866
  };
1867
1867
  //#endregion
1868
+ //#region src/mock/viral/index.ts
1869
+ /** 바이럴 캠페인 조회 mock이에요. */
1870
+ async function getViralCampaign(params) {
1871
+ console.log("[@apps-in-toss/devtools] getViralCampaign:", params.campaignId);
1872
+ return {
1873
+ campaignId: params.campaignId,
1874
+ benefitName: "mock-benefit",
1875
+ display: {
1876
+ title: "바이럴 캠페인 제목",
1877
+ benefitText: "친구를 초대하면 리워드를 받아요",
1878
+ conditionText: "3명 초대 시 달성",
1879
+ ctaText: "공유하기"
1880
+ },
1881
+ active: true,
1882
+ campaignStatus: "IN_PROGRESS",
1883
+ participationAvailable: true,
1884
+ participationUnavailableReason: null,
1885
+ rules: [{
1886
+ ruleId: "rule-1",
1887
+ ruleKey: "invite",
1888
+ revision: 1,
1889
+ title: "친구 3명 초대",
1890
+ currentValue: 1,
1891
+ targetValue: 3,
1892
+ status: "IN_PROGRESS",
1893
+ achievedAt: null
1894
+ }]
1895
+ };
1896
+ }
1897
+ /** 바이럴 캠페인 공유 mock이에요. */
1898
+ async function shareViralCampaign(params) {
1899
+ console.log("[@apps-in-toss/devtools] shareViralCampaign:", params.campaignId);
1900
+ }
1901
+ //#endregion
1868
1902
  //#region src/mock/bridge-factories.ts
1869
1903
  /** Generic bridge escape hatches exposed by both SDK lines. */
1870
1904
  const asyncBridgeRegistry = {
@@ -1878,11 +1912,13 @@ const asyncBridgeRegistry = {
1878
1912
  getDeclaredAgeRange: getDeclaredAgeRange$1,
1879
1913
  getNetworkStatus,
1880
1914
  getServerTime: getServerTime$1,
1915
+ getViralCampaign,
1881
1916
  openPDFViewer: openPDFViewer$1,
1882
1917
  openURL,
1883
1918
  requestReview: requestReview$1,
1884
1919
  saveBase64Data: saveBase64Data$1,
1885
- share
1920
+ share,
1921
+ shareViralCampaign
1886
1922
  };
1887
1923
  function createAsyncBridge(method) {
1888
1924
  return async (...args) => {
@@ -2614,5 +2650,9 @@ const User = {
2614
2650
  getConsentedData: getConsentedUserData,
2615
2651
  getDeclaredAgeRange
2616
2652
  };
2653
+ const Viral = {
2654
+ getCampaign: getViralCampaign,
2655
+ share: shareViralCampaign
2656
+ };
2617
2657
  //#endregion
2618
- export { Accuracy, Analytics, Clipboard, Device, Environment, FetchAlbumPhotosPermissionError, FetchContactsPermissionError, File, Game, GetClipboardTextPermissionError, GetCurrentLocationPermissionError, GoogleAdMob, IAP, Migration, Notification, OpenCameraPermissionError, PermissionError, Promotion, Review, SafeArea, SafeAreaInsets, Screen, SetClipboardTextPermissionError, Share, StartUpdateLocationPermissionError, Storage, TossAds, TossAuth, TossPay, User, aitState, appLogin, applyPreset, appsInTossEvent, appsInTossSignTossCert, builtInPresets, captureCurrentState, checkoutPayment, closeView, contactsViral, createAsyncBridge, createConstantBridge, createEventBridge, deleteUserPreset, env, eventLog, fetchAlbumItems, fetchAlbumPhotos, fetchContacts, generateHapticFeedback, getAnonymousKey, getAppsInTossGlobals, getClipboardText, getConsentedUserData, getCurrentLocation, getDeclaredAgeRange, getDefaultPlaceholderImages, getDeviceId, getGameCenterGameProfile, getGroupId, getIsTossLoginIntegratedService, getLocale, getNetworkStatus, getOperationalEnvironment, getPermission, getPlatformOS, getSafeAreaInsets, getSchemeUri, getServerTime, getTossAppVersion, getTossShareLink, getUserKeyForGame, graniteEvent, grantPromotionReward, grantPromotionRewardForGame, isMinVersionSupported, listUserPresets, loadFullScreenAd, matchesPreset, onVisibilityChangedByTransparentServiceWeb, openCamera, openGameCenterLeaderboard, openPDFViewer, openPermissionDialog, openURL, partner, requestNotificationAgreement, requestPermission, requestReview, requestTossPayPaysBilling, saveBase64Data, saveUserPreset, setClipboardText, setDeviceOrientation, setIosSwipeGestureEnabled, setScreenAwakeMode, setSecureScreen, share, showFullScreenAd, startUpdateLocation, submitGameCenterLeaderBoardScore, tdsEvent };
2658
+ export { Accuracy, Analytics, Clipboard, Device, Environment, FetchAlbumPhotosPermissionError, FetchContactsPermissionError, File, Game, GetClipboardTextPermissionError, GetCurrentLocationPermissionError, GoogleAdMob, IAP, Migration, Notification, OpenCameraPermissionError, PermissionError, Promotion, Review, SafeArea, SafeAreaInsets, Screen, SetClipboardTextPermissionError, Share, StartUpdateLocationPermissionError, Storage, TossAds, TossAuth, TossPay, User, Viral, aitState, appLogin, applyPreset, appsInTossEvent, appsInTossSignTossCert, builtInPresets, captureCurrentState, checkoutPayment, closeView, contactsViral, createAsyncBridge, createConstantBridge, createEventBridge, deleteUserPreset, env, eventLog, fetchAlbumItems, fetchAlbumPhotos, fetchContacts, generateHapticFeedback, getAnonymousKey, getAppsInTossGlobals, getClipboardText, getConsentedUserData, getCurrentLocation, getDeclaredAgeRange, getDefaultPlaceholderImages, getDeviceId, getGameCenterGameProfile, getGroupId, getIsTossLoginIntegratedService, getLocale, getNetworkStatus, getOperationalEnvironment, getPermission, getPlatformOS, getSafeAreaInsets, getSchemeUri, getServerTime, getTossAppVersion, getTossShareLink, getUserKeyForGame, getViralCampaign, graniteEvent, grantPromotionReward, grantPromotionRewardForGame, isMinVersionSupported, listUserPresets, loadFullScreenAd, matchesPreset, onVisibilityChangedByTransparentServiceWeb, openCamera, openGameCenterLeaderboard, openPDFViewer, openPermissionDialog, openURL, partner, requestNotificationAgreement, requestPermission, requestReview, requestTossPayPaysBilling, saveBase64Data, saveUserPreset, setClipboardText, setDeviceOrientation, setIosSwipeGestureEnabled, setScreenAwakeMode, setSecureScreen, share, shareViralCampaign, showFullScreenAd, startUpdateLocation, submitGameCenterLeaderBoardScore, tdsEvent };
@@ -197,6 +197,7 @@ declare const Storage: typeof SDK.Storage;
197
197
  declare const TossAuth: typeof SDK.TossAuth;
198
198
  declare const TossPay: typeof SDK.TossPay;
199
199
  declare const User: typeof SDK.User;
200
+ declare const Viral: typeof SDK.Viral;
200
201
  //#endregion
201
202
  //#region src/mock/ads/index.d.ts
202
203
  declare const TossAds: {
@@ -567,6 +568,39 @@ declare function checkoutPayment(options: {
567
568
  reason?: string;
568
569
  }>;
569
570
  //#endregion
571
+ //#region src/mock/viral/index.d.ts
572
+ /** 바이럴 캠페인 조회 mock이에요. */
573
+ declare function getViralCampaign(params: {
574
+ campaignId: string;
575
+ }): Promise<{
576
+ campaignId: string;
577
+ benefitName: string;
578
+ display: {
579
+ title: string | null;
580
+ benefitText: string | null;
581
+ conditionText: string | null;
582
+ ctaText: string | null;
583
+ };
584
+ active: boolean;
585
+ campaignStatus: "WAITING" | "IN_PROGRESS" | "ENDED";
586
+ participationAvailable: boolean;
587
+ participationUnavailableReason: "INACTIVE" | "NOT_STARTED" | "ENDED" | "ALL_RULES_ACHIEVED" | null;
588
+ rules: Array<{
589
+ ruleId: string;
590
+ ruleKey: string;
591
+ revision: number;
592
+ title: string;
593
+ currentValue: number;
594
+ targetValue: number;
595
+ status: "IN_PROGRESS" | "ACHIEVED" | "EXPIRED";
596
+ achievedAt: string | null;
597
+ }>;
598
+ }>;
599
+ /** 바이럴 캠페인 공유 mock이에요. */
600
+ declare function shareViralCampaign(params: {
601
+ campaignId: string;
602
+ }): Promise<void>;
603
+ //#endregion
570
604
  //#region src/mock/navigation/index.d.ts
571
605
  declare function closeView(): Promise<void>;
572
606
  declare function openURL(url: string): Promise<void>;
@@ -1033,4 +1067,4 @@ declare function listUserPresets(): MockPreset[];
1033
1067
  declare function saveUserPreset(label: string, state: MockPresetState, description?: string): MockPreset;
1034
1068
  declare function deleteUserPreset(id: string): void;
1035
1069
  //#endregion
1036
- export { Accuracy, type AitDevtoolsState, Analytics, type AnalyticsLogEntry, Clipboard, type ConsentedUserData, type ConsentedUserDataKey, type DeclaredAgeRange, Device, type DeviceApiMode, type DeviceModes, Environment, FetchAlbumPhotosPermissionError, FetchContactsPermissionError, File, Game, GetClipboardTextPermissionError, GetCurrentLocationPermissionError, GoogleAdMob, type HapticFeedbackType, IAP, type IapNextResult, type LocationCoords, Migration, type MockContact, type MockData, type MockIapProduct, type MockLocation, type MockPreset, type MockPresetState, type NetworkStatus, Notification, OpenCameraPermissionError, type OperationalEnvironment, PermissionError, type PermissionName, type PermissionStatus, type PlatformOS, type Primitive, Promotion, Review, SafeArea, SafeAreaInsets, type SafeAreaInsets$1 as SafeAreaInsetsType, Screen, SetClipboardTextPermissionError, Share, StartUpdateLocationPermissionError, Storage, TossAds, TossAuth, TossPay, User, aitState, appLogin, applyPreset, appsInTossEvent, appsInTossSignTossCert, builtInPresets, captureCurrentState, checkoutPayment, closeView, contactsViral, createAsyncBridge, createConstantBridge, createEventBridge, deleteUserPreset, env, eventLog, fetchAlbumItems, fetchAlbumPhotos, fetchContacts, generateHapticFeedback, getAnonymousKey, getAppsInTossGlobals, getClipboardText, getConsentedUserData, getCurrentLocation, getDeclaredAgeRange, getDefaultPlaceholderImages, getDeviceId, getGameCenterGameProfile, getGroupId, getIsTossLoginIntegratedService, getLocale, getNetworkStatus, getOperationalEnvironment, getPermission, getPlatformOS, getSafeAreaInsets, getSchemeUri, getServerTime, getTossAppVersion, getTossShareLink, getUserKeyForGame, graniteEvent, grantPromotionReward, grantPromotionRewardForGame, isMinVersionSupported, listUserPresets, loadFullScreenAd, matchesPreset, onVisibilityChangedByTransparentServiceWeb, openCamera, openGameCenterLeaderboard, openPDFViewer, openPermissionDialog, openURL, partner, requestNotificationAgreement, requestPermission, requestReview, requestTossPayPaysBilling, saveBase64Data, saveUserPreset, setClipboardText, setDeviceOrientation, setIosSwipeGestureEnabled, setScreenAwakeMode, setSecureScreen, share, showFullScreenAd, startUpdateLocation, submitGameCenterLeaderBoardScore, tdsEvent };
1070
+ export { Accuracy, type AitDevtoolsState, Analytics, type AnalyticsLogEntry, Clipboard, type ConsentedUserData, type ConsentedUserDataKey, type DeclaredAgeRange, Device, type DeviceApiMode, type DeviceModes, Environment, FetchAlbumPhotosPermissionError, FetchContactsPermissionError, File, Game, GetClipboardTextPermissionError, GetCurrentLocationPermissionError, GoogleAdMob, type HapticFeedbackType, IAP, type IapNextResult, type LocationCoords, Migration, type MockContact, type MockData, type MockIapProduct, type MockLocation, type MockPreset, type MockPresetState, type NetworkStatus, Notification, OpenCameraPermissionError, type OperationalEnvironment, PermissionError, type PermissionName, type PermissionStatus, type PlatformOS, type Primitive, Promotion, Review, SafeArea, SafeAreaInsets, type SafeAreaInsets$1 as SafeAreaInsetsType, Screen, SetClipboardTextPermissionError, Share, StartUpdateLocationPermissionError, Storage, TossAds, TossAuth, TossPay, User, Viral, aitState, appLogin, applyPreset, appsInTossEvent, appsInTossSignTossCert, builtInPresets, captureCurrentState, checkoutPayment, closeView, contactsViral, createAsyncBridge, createConstantBridge, createEventBridge, deleteUserPreset, env, eventLog, fetchAlbumItems, fetchAlbumPhotos, fetchContacts, generateHapticFeedback, getAnonymousKey, getAppsInTossGlobals, getClipboardText, getConsentedUserData, getCurrentLocation, getDeclaredAgeRange, getDefaultPlaceholderImages, getDeviceId, getGameCenterGameProfile, getGroupId, getIsTossLoginIntegratedService, getLocale, getNetworkStatus, getOperationalEnvironment, getPermission, getPlatformOS, getSafeAreaInsets, getSchemeUri, getServerTime, getTossAppVersion, getTossShareLink, getUserKeyForGame, getViralCampaign, graniteEvent, grantPromotionReward, grantPromotionRewardForGame, isMinVersionSupported, listUserPresets, loadFullScreenAd, matchesPreset, onVisibilityChangedByTransparentServiceWeb, openCamera, openGameCenterLeaderboard, openPDFViewer, openPermissionDialog, openURL, partner, requestNotificationAgreement, requestPermission, requestReview, requestTossPayPaysBilling, saveBase64Data, saveUserPreset, setClipboardText, setDeviceOrientation, setIosSwipeGestureEnabled, setScreenAwakeMode, setSecureScreen, share, shareViralCampaign, showFullScreenAd, startUpdateLocation, submitGameCenterLeaderBoardScore, tdsEvent };
@@ -1865,6 +1865,40 @@ const SafeAreaInsets = {
1865
1865
  }
1866
1866
  };
1867
1867
  //#endregion
1868
+ //#region src/mock/viral/index.ts
1869
+ /** 바이럴 캠페인 조회 mock이에요. */
1870
+ async function getViralCampaign(params) {
1871
+ console.log("[@apps-in-toss/devtools] getViralCampaign:", params.campaignId);
1872
+ return {
1873
+ campaignId: params.campaignId,
1874
+ benefitName: "mock-benefit",
1875
+ display: {
1876
+ title: "바이럴 캠페인 제목",
1877
+ benefitText: "친구를 초대하면 리워드를 받아요",
1878
+ conditionText: "3명 초대 시 달성",
1879
+ ctaText: "공유하기"
1880
+ },
1881
+ active: true,
1882
+ campaignStatus: "IN_PROGRESS",
1883
+ participationAvailable: true,
1884
+ participationUnavailableReason: null,
1885
+ rules: [{
1886
+ ruleId: "rule-1",
1887
+ ruleKey: "invite",
1888
+ revision: 1,
1889
+ title: "친구 3명 초대",
1890
+ currentValue: 1,
1891
+ targetValue: 3,
1892
+ status: "IN_PROGRESS",
1893
+ achievedAt: null
1894
+ }]
1895
+ };
1896
+ }
1897
+ /** 바이럴 캠페인 공유 mock이에요. */
1898
+ async function shareViralCampaign(params) {
1899
+ console.log("[@apps-in-toss/devtools] shareViralCampaign:", params.campaignId);
1900
+ }
1901
+ //#endregion
1868
1902
  //#region src/mock/bridge-factories.ts
1869
1903
  /** Generic bridge escape hatches exposed by both SDK lines. */
1870
1904
  const asyncBridgeRegistry = {
@@ -1878,11 +1912,13 @@ const asyncBridgeRegistry = {
1878
1912
  getDeclaredAgeRange: getDeclaredAgeRange$1,
1879
1913
  getNetworkStatus,
1880
1914
  getServerTime: getServerTime$1,
1915
+ getViralCampaign,
1881
1916
  openPDFViewer: openPDFViewer$1,
1882
1917
  openURL,
1883
1918
  requestReview: requestReview$1,
1884
1919
  saveBase64Data: saveBase64Data$1,
1885
- share
1920
+ share,
1921
+ shareViralCampaign
1886
1922
  };
1887
1923
  function createAsyncBridge(method) {
1888
1924
  return async (...args) => {
@@ -2614,5 +2650,9 @@ const User = {
2614
2650
  getConsentedData: getConsentedUserData,
2615
2651
  getDeclaredAgeRange
2616
2652
  };
2653
+ const Viral = {
2654
+ getCampaign: getViralCampaign,
2655
+ share: shareViralCampaign
2656
+ };
2617
2657
  //#endregion
2618
- export { Accuracy, Analytics, Clipboard, Device, Environment, FetchAlbumPhotosPermissionError, FetchContactsPermissionError, File, Game, GetClipboardTextPermissionError, GetCurrentLocationPermissionError, GoogleAdMob, IAP, Migration, Notification, OpenCameraPermissionError, PermissionError, Promotion, Review, SafeArea, SafeAreaInsets, Screen, SetClipboardTextPermissionError, Share, StartUpdateLocationPermissionError, Storage, TossAds, TossAuth, TossPay, User, aitState, appLogin, applyPreset, appsInTossEvent, appsInTossSignTossCert, builtInPresets, captureCurrentState, checkoutPayment, closeView, contactsViral, createAsyncBridge, createConstantBridge, createEventBridge, deleteUserPreset, env, eventLog, fetchAlbumItems, fetchAlbumPhotos, fetchContacts, generateHapticFeedback, getAnonymousKey, getAppsInTossGlobals, getClipboardText, getConsentedUserData, getCurrentLocation, getDeclaredAgeRange, getDefaultPlaceholderImages, getDeviceId, getGameCenterGameProfile, getGroupId, getIsTossLoginIntegratedService, getLocale, getNetworkStatus, getOperationalEnvironment, getPermission, getPlatformOS, getSafeAreaInsets, getSchemeUri, getServerTime, getTossAppVersion, getTossShareLink, getUserKeyForGame, graniteEvent, grantPromotionReward, grantPromotionRewardForGame, isMinVersionSupported, listUserPresets, loadFullScreenAd, matchesPreset, onVisibilityChangedByTransparentServiceWeb, openCamera, openGameCenterLeaderboard, openPDFViewer, openPermissionDialog, openURL, partner, requestNotificationAgreement, requestPermission, requestReview, requestTossPayPaysBilling, saveBase64Data, saveUserPreset, setClipboardText, setDeviceOrientation, setIosSwipeGestureEnabled, setScreenAwakeMode, setSecureScreen, share, showFullScreenAd, startUpdateLocation, submitGameCenterLeaderBoardScore, tdsEvent };
2658
+ export { Accuracy, Analytics, Clipboard, Device, Environment, FetchAlbumPhotosPermissionError, FetchContactsPermissionError, File, Game, GetClipboardTextPermissionError, GetCurrentLocationPermissionError, GoogleAdMob, IAP, Migration, Notification, OpenCameraPermissionError, PermissionError, Promotion, Review, SafeArea, SafeAreaInsets, Screen, SetClipboardTextPermissionError, Share, StartUpdateLocationPermissionError, Storage, TossAds, TossAuth, TossPay, User, Viral, aitState, appLogin, applyPreset, appsInTossEvent, appsInTossSignTossCert, builtInPresets, captureCurrentState, checkoutPayment, closeView, contactsViral, createAsyncBridge, createConstantBridge, createEventBridge, deleteUserPreset, env, eventLog, fetchAlbumItems, fetchAlbumPhotos, fetchContacts, generateHapticFeedback, getAnonymousKey, getAppsInTossGlobals, getClipboardText, getConsentedUserData, getCurrentLocation, getDeclaredAgeRange, getDefaultPlaceholderImages, getDeviceId, getGameCenterGameProfile, getGroupId, getIsTossLoginIntegratedService, getLocale, getNetworkStatus, getOperationalEnvironment, getPermission, getPlatformOS, getSafeAreaInsets, getSchemeUri, getServerTime, getTossAppVersion, getTossShareLink, getUserKeyForGame, getViralCampaign, graniteEvent, grantPromotionReward, grantPromotionRewardForGame, isMinVersionSupported, listUserPresets, loadFullScreenAd, matchesPreset, onVisibilityChangedByTransparentServiceWeb, openCamera, openGameCenterLeaderboard, openPDFViewer, openPermissionDialog, openURL, partner, requestNotificationAgreement, requestPermission, requestReview, requestTossPayPaysBilling, saveBase64Data, saveUserPreset, setClipboardText, setDeviceOrientation, setIosSwipeGestureEnabled, setScreenAwakeMode, setSecureScreen, share, shareViralCampaign, showFullScreenAd, startUpdateLocation, submitGameCenterLeaderBoardScore, tdsEvent };
@@ -30614,7 +30614,7 @@ function Panel() {
30614
30614
  color: "#666",
30615
30615
  fontWeight: 400
30616
30616
  },
30617
- children: ["v", "3.2.0"]
30617
+ children: ["v", "3.3.0"]
30618
30618
  }),
30619
30619
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("button", {
30620
30620
  type: "button",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@apps-in-toss/devtools",
3
- "version": "3.2.0",
3
+ "version": "3.3.0",
4
4
  "description": "Browser development tools for Apps in Toss mini-apps — mock SDK, floating devtools panel, and universal bundler plugin. devDependency only; contributes nothing to a production bundle",
5
5
  "keywords": [
6
6
  "apps-in-toss",
@@ -67,7 +67,7 @@
67
67
  "unplugin": "^3.2.0"
68
68
  },
69
69
  "devDependencies": {
70
- "@apps-in-toss/web-framework": "^3.2.0",
70
+ "@apps-in-toss/web-framework": "^3.3.0",
71
71
  "@apps-in-toss/web-framework-2x": "npm:@apps-in-toss/web-framework@2.10.8",
72
72
  "@testing-library/dom": "10.4.1",
73
73
  "@testing-library/react": "16.3.2",