@vqh2602/mini-app-sdk 1.0.1 → 1.0.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 CHANGED
@@ -158,3 +158,53 @@ superApp.lifecycle.onAppHide(() => {
158
158
  console.log('Mini App tạm dừng');
159
159
  });
160
160
  ```
161
+
162
+ ---
163
+
164
+ ## 🧩 4. Sub-path Exports Nâng Cao
165
+
166
+ Ngoài entrypoint mặc định `superApp`, package cung cấp các sub-path để lập trình viên tùy biến sâu:
167
+
168
+ ```typescript
169
+ // 1. Tầng Transport Bridge
170
+ import {
171
+ TransportResolver,
172
+ NativeBridgeTransport,
173
+ PostMessageTransport,
174
+ MockBridgeTransport,
175
+ } from '@vqh2602/mini-app-sdk/transport';
176
+
177
+ // 2. Động cơ Mock Engine & Dữ liệu mẫu
178
+ import {
179
+ SDKMockEngine,
180
+ MockStateStore,
181
+ MOCK_USER_PRESETS,
182
+ } from '@vqh2602/mini-app-sdk/mock';
183
+ ```
184
+
185
+ ---
186
+
187
+ ## 🛠️ 5. Dành Cho Quản Trị Viên (Maintainer Guide)
188
+
189
+ ### Biên dịch & Kiểm tra gói đóng gói
190
+ ```bash
191
+ cd mini_app_sdk
192
+
193
+ # Cài đặt dependencies
194
+ npm install
195
+
196
+ # Biên dịch Phone Simulator + TypeScript SDK
197
+ npm run build
198
+
199
+ # Chạy Phone Simulator cục bộ
200
+ npm run simulator
201
+
202
+ # Kiểm tra nội dung đóng gói trước khi xuất bản (Dry Run)
203
+ npm pack --dry-run
204
+ ```
205
+
206
+ ### Phát hành phiên bản mới lên npm Public Registry
207
+ ```bash
208
+ # Xuất bản trực tiếp lên npm
209
+ npm publish --access public
210
+ ```
package/bin/simulator.js CHANGED
@@ -13,6 +13,17 @@ if (!fs.existsSync(distDir)) {
13
13
  }
14
14
 
15
15
  const args = process.argv.slice(2);
16
+ if (args.includes('--help') || args.includes('-h')) {
17
+ console.log(`
18
+ Usage: superapp-simulator [options]
19
+
20
+ Options:
21
+ --port <number> Port to run simulator on (default: 5175)
22
+ -h, --help Show this help message
23
+ `);
24
+ process.exit(0);
25
+ }
26
+
16
27
  const portIndex = args.indexOf('--port');
17
28
  const port = portIndex !== -1 && args[portIndex + 1] ? parseInt(args[portIndex + 1], 10) : 5175;
18
29
 
@@ -68,6 +79,16 @@ const server = http.createServer((req, res) => {
68
79
  });
69
80
  });
70
81
 
82
+ server.on('error', (err) => {
83
+ if (err.code === 'EADDRINUSE') {
84
+ console.error(`\n❌ \x1b[31mError: Port ${port} is already in use.\x1b[0m Try passing a different port with: \x1b[33m--port <port>\x1b[0m\n`);
85
+ process.exit(1);
86
+ } else {
87
+ console.error(`\n❌ Server error: ${err.message}\n`);
88
+ process.exit(1);
89
+ }
90
+ });
91
+
71
92
  server.listen(port, () => {
72
93
  console.log(`\n📱 \x1b[36mSuperApp Browser Simulator\x1b[0m is running at: \x1b[1mhttp://localhost:${port}\x1b[0m`);
73
94
  console.log(`🔗 Open with target Mini App: \x1b[32mhttp://localhost:${port}/?url=http://localhost:3000\x1b[0m\n`);
package/dist/cli/index.js CHANGED
@@ -9,7 +9,7 @@ const program = new Command();
9
9
  program
10
10
  .name('miniapp')
11
11
  .description('SuperApp Mini App Developer CLI: Create, Dev, Build, and Upload')
12
- .version('1.0.0');
12
+ .version('1.0.3');
13
13
  program
14
14
  .command('create <project-name>')
15
15
  .description('Khởi tạo một dự án Mini App mới từ mẫu chuẩn SuperApp')
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/server.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAkB7B,wBAAgB,oBAAoB,CAAC,IAAI,GAAE,MAAa,GAAG,IAAI,CAAC,MAAM,CAiErE"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/server.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAkB7B,wBAAgB,oBAAoB,CAAC,IAAI,GAAE,MAAa,GAAG,IAAI,CAAC,MAAM,CA2ErE"}
@@ -62,6 +62,16 @@ export function startSimulatorServer(port = 5175) {
62
62
  });
63
63
  });
64
64
  });
65
+ server.on('error', (err) => {
66
+ if (err.code === 'EADDRINUSE') {
67
+ logger.error(`Port ${port} đang được sử dụng bởi một tiến trình khác. Thử lại với tuỳ chọn --port <port khác>.`);
68
+ process.exit(1);
69
+ }
70
+ else {
71
+ logger.error(`Lỗi server: ${err.message}`);
72
+ process.exit(1);
73
+ }
74
+ });
65
75
  server.listen(port, () => {
66
76
  logger.success(`Browser Simulator đang chạy tại: http://localhost:${port}`);
67
77
  logger.info(`Trải nghiệm giả lập Mini App tại: http://localhost:${port}/?url=http://localhost:3000`);
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/cli/utils/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/cli/utils/server.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ import { MediaModule } from './modules/media.js';
9
9
  import { LifecycleModule } from './modules/lifecycle.js';
10
10
  import { AuthLoginOptions, AuthLoginResult, ConfigAppViewOptions, KeepScreenOptions, MinimizeAppResult, NotificationResult, RequestSendNotificationOptions, SDKInitOptions, SetNavigationBarColorOptions, ToastOptions, UserProfile } from './types/index.js';
11
11
  export declare class SuperAppSDK {
12
- readonly version = "1.0.0";
12
+ readonly version = "1.0.3";
13
13
  readonly transport: ITransport;
14
14
  readonly mockEngine?: SDKMockEngine;
15
15
  readonly auth: AuthModule;
@@ -8,7 +8,7 @@ import { NavigationModule } from './modules/navigation.js';
8
8
  import { MediaModule } from './modules/media.js';
9
9
  import { LifecycleModule } from './modules/lifecycle.js';
10
10
  export class SuperAppSDK {
11
- version = '1.0.0';
11
+ version = '1.0.3';
12
12
  transport;
13
13
  mockEngine;
14
14
  // Domain modules
@@ -6,8 +6,16 @@ export declare class AuthMockHandler {
6
6
  scopes?: string[];
7
7
  prompt?: boolean;
8
8
  }): Promise<any>;
9
+ requestCode(payload?: {
10
+ scopes?: string[];
11
+ }): Promise<any>;
12
+ exchangeCode(payload?: {
13
+ authCode?: string;
14
+ }): Promise<any>;
9
15
  getAccessToken(): Promise<any>;
10
16
  getUserProfile(): Promise<any>;
17
+ getProfile(): Promise<any>;
18
+ getBasicInfo(): Promise<any>;
11
19
  refreshToken(payload?: {
12
20
  refreshToken?: string;
13
21
  }): Promise<any>;
@@ -1 +1 @@
1
- {"version":3,"file":"auth.handler.d.ts","sourceRoot":"","sources":["../../../src/mock/handlers/auth.handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,qBAAa,eAAe;IACd,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,cAAc;IAE5B,KAAK,CAAC,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAmB1E,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC;IAe9B,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC;IAa9B,YAAY,CAAC,OAAO,GAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IASnE,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC;CAIpC"}
1
+ {"version":3,"file":"auth.handler.d.ts","sourceRoot":"","sources":["../../../src/mock/handlers/auth.handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,qBAAa,eAAe;IACd,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,cAAc;IAE5B,KAAK,CAAC,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAsB1E,WAAW,CAAC,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;KAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAU9D,YAAY,CAAC,OAAO,GAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAqB/D,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC;IAe9B,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC;IAc9B,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC;IAI1B,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC;IAS5B,YAAY,CAAC,OAAO,GAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IASnE,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC;CAIpC"}
@@ -6,17 +6,49 @@ export class AuthMockHandler {
6
6
  async login(payload = {}) {
7
7
  const user = this.store.getUser();
8
8
  const session = this.store.createSession();
9
- const authCode = `authcode_${Math.random().toString(36).substring(2, 10)}`;
9
+ const authCode = `AUTH_${Math.random().toString(36).substring(2, 10).toUpperCase()}`;
10
10
  return {
11
11
  authCode,
12
12
  accessToken: session.accessToken,
13
+ refreshToken: session.refreshToken,
13
14
  expiresIn: session.expiresIn,
14
15
  user: {
15
16
  id: user.id,
16
17
  name: user.name,
17
18
  avatarUrl: user.avatarUrl,
18
- phone: payload.scopes?.includes('user.phone') ? user.phone : undefined,
19
- email: payload.scopes?.includes('user.email') ? user.email : undefined,
19
+ phone: payload.scopes?.includes('user.phone') ? user.phone : user.phone,
20
+ email: payload.scopes?.includes('user.email') ? user.email : user.email,
21
+ role: user.role,
22
+ walletBalance: user.walletBalance,
23
+ },
24
+ };
25
+ }
26
+ async requestCode(payload = {}) {
27
+ const user = this.store.getUser();
28
+ const authCode = `AUTH_${Math.random().toString(36).substring(2, 10).toUpperCase()}`;
29
+ return {
30
+ authCode,
31
+ userId: user.id,
32
+ expiresIn: 60,
33
+ };
34
+ }
35
+ async exchangeCode(payload = {}) {
36
+ const user = this.store.getUser();
37
+ const session = this.store.createSession();
38
+ return {
39
+ accessToken: session.accessToken,
40
+ refreshToken: session.refreshToken,
41
+ tokenType: 'Bearer',
42
+ expiresIn: 3600,
43
+ userId: user.id,
44
+ user: {
45
+ id: user.id,
46
+ name: user.name,
47
+ avatarUrl: user.avatarUrl,
48
+ phone: user.phone,
49
+ email: user.email,
50
+ role: user.role,
51
+ walletBalance: user.walletBalance,
20
52
  },
21
53
  };
22
54
  }
@@ -44,6 +76,18 @@ export class AuthMockHandler {
44
76
  avatarUrl: user.avatarUrl,
45
77
  role: user.role,
46
78
  isVerified: user.isVerified,
79
+ walletBalance: user.walletBalance,
80
+ };
81
+ }
82
+ async getProfile() {
83
+ return this.getUserProfile();
84
+ }
85
+ async getBasicInfo() {
86
+ const user = this.store.getUser();
87
+ return {
88
+ id: user.id,
89
+ name: user.name,
90
+ avatarUrl: user.avatarUrl,
47
91
  };
48
92
  }
49
93
  async refreshToken(payload = {}) {
@@ -1 +1 @@
1
- {"version":3,"file":"auth.handler.js","sourceRoot":"","sources":["../../../src/mock/handlers/auth.handler.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,eAAe;IACN;IAApB,YAAoB,KAAqB;QAArB,UAAK,GAAL,KAAK,CAAgB;IAAG,CAAC;IAEtC,KAAK,CAAC,KAAK,CAAC,UAAmD,EAAE;QACtE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;QAC3C,MAAM,QAAQ,GAAG,YAAY,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QAE3E,OAAO;YACL,QAAQ;YACR,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,IAAI,EAAE;gBACJ,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;gBACtE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;aACvE;SACF,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,cAAc;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QACxC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM;gBACJ,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,4DAA4D;aACtE,CAAC;QACJ,CAAC;QACD,OAAO;YACL,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;SACtG,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,cAAc;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QAClC,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,UAAqC,EAAE;QAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;QAC3C,OAAO;YACL,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,MAAM;QACjB,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;QAC1B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC;IAC/D,CAAC;CACF"}
1
+ {"version":3,"file":"auth.handler.js","sourceRoot":"","sources":["../../../src/mock/handlers/auth.handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { MockStateStore } from '../store.js';
2
+ import { MockPaymentOrder, MockPaymentResult } from '../types.js';
3
+ export type PaymentApprovalHook = (order: MockPaymentOrder) => Promise<boolean>;
4
+ export declare class PaymentMockHandler {
5
+ private store;
6
+ private approvalHook?;
7
+ constructor(store: MockStateStore);
8
+ setApprovalHook(hook?: PaymentApprovalHook): void;
9
+ requestPayment(payload: {
10
+ orderId?: string;
11
+ amount?: number;
12
+ description?: string;
13
+ currency?: string;
14
+ appId?: string;
15
+ }): Promise<MockPaymentResult>;
16
+ createOrder(payload: {
17
+ amount: number;
18
+ description?: string;
19
+ currency?: string;
20
+ }): Promise<{
21
+ orderId: string;
22
+ amount: number;
23
+ currency: string;
24
+ status: string;
25
+ }>;
26
+ }
27
+ //# sourceMappingURL=payment.handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payment.handler.d.ts","sourceRoot":"","sources":["../../../src/mock/handlers/payment.handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAElE,MAAM,MAAM,mBAAmB,GAAG,CAAC,KAAK,EAAE,gBAAgB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAEhF,qBAAa,kBAAkB;IAGjB,OAAO,CAAC,KAAK;IAFzB,OAAO,CAAC,YAAY,CAAC,CAAsB;gBAEvB,KAAK,EAAE,cAAc;IAElC,eAAe,CAAC,IAAI,CAAC,EAAE,mBAAmB,GAAG,IAAI;IAI3C,cAAc,CAAC,OAAO,EAAE;QACnC,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAiDjB,WAAW,CAAC,OAAO,EAAE;QAChC,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CASnF"}
@@ -0,0 +1,62 @@
1
+ export class PaymentMockHandler {
2
+ store;
3
+ approvalHook;
4
+ constructor(store) {
5
+ this.store = store;
6
+ }
7
+ setApprovalHook(hook) {
8
+ this.approvalHook = hook;
9
+ }
10
+ async requestPayment(payload) {
11
+ const amount = Number(payload.amount) || 0;
12
+ const orderId = payload.orderId || `ORD_${Date.now()}_${Math.floor(1000 + Math.random() * 9000)}`;
13
+ const order = {
14
+ orderId,
15
+ amount,
16
+ description: payload.description || 'Thanh toán dịch vụ Mini App',
17
+ extraData: { currency: payload.currency || 'VND' },
18
+ };
19
+ // If manual approval hook is attached from Simulator UI
20
+ if (this.approvalHook) {
21
+ const approved = await this.approvalHook(order);
22
+ if (!approved) {
23
+ throw {
24
+ code: 'USER_CANCELLED',
25
+ message: 'Người dùng đã huỷ giao dịch thanh toán',
26
+ };
27
+ }
28
+ }
29
+ // Check balance
30
+ const user = this.store.getUser();
31
+ if (user.walletBalance < amount) {
32
+ throw {
33
+ code: 'INSUFFICIENT_FUNDS',
34
+ message: `Số dư ví SuperApp Pay (${user.walletBalance.toLocaleString('vi-VN')} đ) không đủ để thanh toán ${amount.toLocaleString('vi-VN')} đ`,
35
+ };
36
+ }
37
+ // Deduct balance
38
+ this.store.deductBalance(amount);
39
+ const transactionId = `TXN_${Date.now()}_${Math.random().toString(36).substring(2, 8).toUpperCase()}`;
40
+ const result = {
41
+ status: 'SUCCESS',
42
+ transactionId,
43
+ orderId,
44
+ amount,
45
+ timestamp: Date.now(),
46
+ paymentMethod: 'SUPERAPP_WALLET',
47
+ message: 'Thanh toán thành công qua Ví SuperApp',
48
+ };
49
+ this.store.addTransaction(result);
50
+ return result;
51
+ }
52
+ async createOrder(payload) {
53
+ const orderId = `ORD_${Date.now()}_${Math.floor(1000 + Math.random() * 9000)}`;
54
+ return {
55
+ orderId,
56
+ amount: Number(payload.amount) || 0,
57
+ currency: payload.currency || 'VND',
58
+ status: 'PENDING',
59
+ };
60
+ }
61
+ }
62
+ //# sourceMappingURL=payment.handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payment.handler.js","sourceRoot":"","sources":["../../../src/mock/handlers/payment.handler.ts"],"names":[],"mappings":"AAKA,MAAM,OAAO,kBAAkB;IAGT;IAFZ,YAAY,CAAuB;IAE3C,YAAoB,KAAqB;QAArB,UAAK,GAAL,KAAK,CAAgB;IAAG,CAAC;IAEtC,eAAe,CAAC,IAA0B;QAC/C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC3B,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,OAM3B;QACC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAElG,MAAM,KAAK,GAAqB;YAC9B,OAAO;YACP,MAAM;YACN,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,6BAA6B;YACjE,SAAS,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,KAAK,EAAE;SACnD,CAAC;QAEF,wDAAwD;QACxD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAChD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM;oBACJ,IAAI,EAAE,gBAAgB;oBACtB,OAAO,EAAE,wCAAwC;iBAClD,CAAC;YACJ,CAAC;QACH,CAAC;QAED,gBAAgB;QAChB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,aAAa,GAAG,MAAM,EAAE,CAAC;YAChC,MAAM;gBACJ,IAAI,EAAE,oBAAoB;gBAC1B,OAAO,EAAE,0BAA0B,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,OAAO,CAAC,8BAA8B,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI;aAC9I,CAAC;QACJ,CAAC;QAED,iBAAiB;QACjB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAEjC,MAAM,aAAa,GAAG,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QACtG,MAAM,MAAM,GAAsB;YAChC,MAAM,EAAE,SAAS;YACjB,aAAa;YACb,OAAO;YACP,MAAM;YACN,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,aAAa,EAAE,iBAAiB;YAChC,OAAO,EAAE,uCAAuC;SACjD,CAAC;QAEF,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAClC,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,OAIxB;QACC,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAC/E,OAAO;YACL,OAAO;YACP,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;YACnC,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,KAAK;YACnC,MAAM,EAAE,SAAS;SAClB,CAAC;IACJ,CAAC;CACF"}
@@ -6,5 +6,6 @@ export * from './handlers/device.handler.js';
6
6
  export * from './handlers/storage.handler.js';
7
7
  export * from './handlers/ui.handler.js';
8
8
  export * from './handlers/media.handler.js';
9
+ export * from './handlers/payment.handler.js';
9
10
  export * from './mock-engine.js';
10
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mock/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mock/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kBAAkB,CAAC"}
@@ -6,5 +6,6 @@ export * from './handlers/device.handler.js';
6
6
  export * from './handlers/storage.handler.js';
7
7
  export * from './handlers/ui.handler.js';
8
8
  export * from './handlers/media.handler.js';
9
+ export * from './handlers/payment.handler.js';
9
10
  export * from './mock-engine.js';
10
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mock/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mock/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kBAAkB,CAAC"}
@@ -2,6 +2,7 @@ import { BridgeRequest, BridgeResponse } from '../transport/index.js';
2
2
  import { AuthMockHandler } from './handlers/auth.handler.js';
3
3
  import { DeviceMockHandler } from './handlers/device.handler.js';
4
4
  import { MediaMockHandler } from './handlers/media.handler.js';
5
+ import { PaymentMockHandler } from './handlers/payment.handler.js';
5
6
  import { StorageMockHandler } from './handlers/storage.handler.js';
6
7
  import { UIMockHandler } from './handlers/ui.handler.js';
7
8
  import { MockStateStore } from './store.js';
@@ -24,6 +25,7 @@ export declare class SDKMockEngine {
24
25
  readonly storage: StorageMockHandler;
25
26
  readonly ui: UIMockHandler;
26
27
  readonly media: MediaMockHandler;
28
+ readonly payment: PaymentMockHandler;
27
29
  private latencyMs;
28
30
  private logListeners;
29
31
  private logs;
@@ -1 +1 @@
1
- {"version":3,"file":"mock-engine.d.ts","sourceRoot":"","sources":["../../src/mock/mock-engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,GAAG,CAAC;IACb,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;AAExD,qBAAa,aAAa;IACxB,SAAgB,KAAK,EAAE,cAAc,CAAC;IACtC,SAAgB,IAAI,EAAE,eAAe,CAAC;IACtC,SAAgB,MAAM,EAAE,iBAAiB,CAAC;IAC1C,SAAgB,OAAO,EAAE,kBAAkB,CAAC;IAC5C,SAAgB,EAAE,EAAE,aAAa,CAAC;IAClC,SAAgB,KAAK,EAAE,gBAAgB,CAAC;IAExC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,YAAY,CAA+B;IACnD,OAAO,CAAC,IAAI,CAAsB;gBAEtB,OAAO,GAAE,iBAAsB;IAWpC,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAI5B,KAAK,CAAC,QAAQ,EAAE,WAAW,GAAG,MAAM,IAAI;IAKxC,OAAO,IAAI,YAAY,EAAE;IAIzB,SAAS,IAAI,IAAI;IAIX,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IA6DtE,OAAO,CAAC,SAAS;YAcH,WAAW;CAyG1B"}
1
+ {"version":3,"file":"mock-engine.d.ts","sourceRoot":"","sources":["../../src/mock/mock-engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,GAAG,CAAC;IACb,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;AAExD,qBAAa,aAAa;IACxB,SAAgB,KAAK,EAAE,cAAc,CAAC;IACtC,SAAgB,IAAI,EAAE,eAAe,CAAC;IACtC,SAAgB,MAAM,EAAE,iBAAiB,CAAC;IAC1C,SAAgB,OAAO,EAAE,kBAAkB,CAAC;IAC5C,SAAgB,EAAE,EAAE,aAAa,CAAC;IAClC,SAAgB,KAAK,EAAE,gBAAgB,CAAC;IACxC,SAAgB,OAAO,EAAE,kBAAkB,CAAC;IAE5C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,YAAY,CAA+B;IACnD,OAAO,CAAC,IAAI,CAAsB;gBAEtB,OAAO,GAAE,iBAAsB;IAYpC,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAI5B,KAAK,CAAC,QAAQ,EAAE,WAAW,GAAG,MAAM,IAAI;IAKxC,OAAO,IAAI,YAAY,EAAE;IAIzB,SAAS,IAAI,IAAI;IAIX,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IA6DtE,OAAO,CAAC,SAAS;YAcH,WAAW;CAwO1B"}