@mercuryo-ai/magicpay-sdk 0.1.0-test.2

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.
@@ -0,0 +1,305 @@
1
+ import { type MagicPayRequestOptions, type MagicPayGatewayConfig } from './gateway.js';
2
+ export interface SessionBackendCurrentRequest {
3
+ id: string;
4
+ type: 'secret_read' | 'secret_write' | 'purchase' | 'payment_approval' | 'captcha' | 'alert';
5
+ status: 'pending' | 'fulfilled' | 'denied' | 'expired' | 'failed' | 'canceled';
6
+ blocking: boolean;
7
+ title: string;
8
+ summary: string | null;
9
+ created_at: string;
10
+ updated_at: string;
11
+ expires_at: string | null;
12
+ }
13
+ export interface SessionBackendSession {
14
+ id: string;
15
+ status: 'in_progress' | 'waiting_for_user' | 'error' | 'canceled' | 'completed';
16
+ type: 'payment' | 'subscription' | 'cancellation';
17
+ method: 'card' | 'crypto' | 'x402' | null;
18
+ approach: 'browser' | 'api' | null;
19
+ amount_total: number | null;
20
+ currency: string | null;
21
+ merchant_name: string | null;
22
+ description: string | null;
23
+ current_request_id: string | null;
24
+ last_event_seq: number;
25
+ error_code: string | null;
26
+ error_message: string | null;
27
+ context: Record<string, unknown>;
28
+ metadata: Record<string, unknown>;
29
+ created_at: string;
30
+ updated_at: string;
31
+ completed_at: string | null;
32
+ }
33
+ export interface SessionBackendEvent {
34
+ id: string;
35
+ sequence_no: number;
36
+ type: 'state' | 'observe' | 'reflect' | 'action' | 'error';
37
+ actor: string;
38
+ summary: string;
39
+ payload: Record<string, unknown>;
40
+ created_at: string;
41
+ }
42
+ export interface SessionBackendRequest {
43
+ id: string;
44
+ intent_session_id: string;
45
+ sequence_no: number;
46
+ type: 'secret_read' | 'secret_write' | 'purchase' | 'payment_approval' | 'captcha' | 'alert';
47
+ status: 'pending' | 'fulfilled' | 'denied' | 'expired' | 'failed' | 'canceled';
48
+ blocking: boolean;
49
+ title: string;
50
+ summary: string | null;
51
+ payload: Record<string, unknown>;
52
+ response_payload: Record<string, unknown> | null;
53
+ resolution_channel: string | null;
54
+ created_at: string;
55
+ updated_at: string;
56
+ expires_at: string | null;
57
+ resolved_at: string | null;
58
+ delivery_channels: unknown[];
59
+ error_code: string | null;
60
+ error_message: string | null;
61
+ }
62
+ export interface SessionBackendSecretCatalogEntry {
63
+ id: string;
64
+ kind: 'payment_card' | 'login' | 'identity';
65
+ display_name: string;
66
+ description: string | null;
67
+ status: string;
68
+ source: 'database_values' | 'payment_account_provider';
69
+ fields: Array<{
70
+ key: string;
71
+ label: string;
72
+ type: 'text' | 'secret' | 'date' | 'number';
73
+ required: boolean;
74
+ }>;
75
+ applicability: {
76
+ mode: 'global' | 'hosts';
77
+ hosts?: string[];
78
+ };
79
+ metadata: Record<string, unknown>;
80
+ }
81
+ export interface CreateRemoteSessionInput {
82
+ browserSessionId: string;
83
+ description?: string | null;
84
+ merchantName?: string | null;
85
+ page?: {
86
+ ref?: string;
87
+ url?: string;
88
+ title?: string;
89
+ };
90
+ run: {
91
+ id: string;
92
+ started_at: string;
93
+ ended_at?: string;
94
+ source?: 'cli' | 'test' | 'replay';
95
+ status?: 'running' | 'completed' | 'failed' | 'aborted';
96
+ profile?: string;
97
+ site_host?: string;
98
+ protected_run?: boolean;
99
+ };
100
+ step: {
101
+ id: string;
102
+ ordinal: number;
103
+ command: string;
104
+ started_at: string;
105
+ ended_at?: string;
106
+ success?: boolean;
107
+ outcome_type?: string;
108
+ message?: string;
109
+ reason?: string;
110
+ page_ref?: string;
111
+ target_ref?: string;
112
+ surface_ref?: string;
113
+ fill_ref?: string;
114
+ before_snapshot_id?: string;
115
+ after_snapshot_id?: string;
116
+ event_count?: number;
117
+ child_span_count?: number;
118
+ protected_step?: boolean;
119
+ };
120
+ context?: Record<string, unknown>;
121
+ metadata?: Record<string, unknown>;
122
+ }
123
+ export interface SessionResponse {
124
+ session: SessionBackendSession;
125
+ current_request: SessionBackendCurrentRequest | null;
126
+ browser_session_id: string | null;
127
+ }
128
+ export interface RemoteSessionEventEnvelope extends SessionResponse {
129
+ event: SessionBackendEvent;
130
+ duplicate: boolean;
131
+ }
132
+ export type CompleteRemoteSessionResponse = RemoteSessionEventEnvelope;
133
+ export interface RemoteSecretRequestEnvelope extends SessionResponse {
134
+ request: SessionBackendRequest;
135
+ reused: boolean;
136
+ duplicate: boolean;
137
+ }
138
+ export interface RemoteSessionSecretRequestEnvelope extends SessionResponse {
139
+ request: SessionBackendRequest;
140
+ }
141
+ export interface ClaimedRemoteSecret {
142
+ values: Record<string, string>;
143
+ source: 'saved_secret' | 'saved_credential' | 'inline_response';
144
+ stored_secret_ref: string | null;
145
+ credential_id: string | null;
146
+ kind: 'login' | 'identity' | 'payment_card' | null;
147
+ }
148
+ export interface ClaimRemoteSecretResponse {
149
+ request_id: string;
150
+ secret: ClaimedRemoteSecret;
151
+ issued_at: string;
152
+ expires_at: string | null;
153
+ }
154
+ export interface CreateRemoteSessionEventInput {
155
+ clientEventId: string;
156
+ sequenceNo: number;
157
+ type: 'state' | 'observe' | 'reflect' | 'action' | 'error';
158
+ command: string;
159
+ status: 'started' | 'completed' | 'blocked' | 'failed';
160
+ summary: string;
161
+ timestamp: string;
162
+ page?: {
163
+ ref?: string;
164
+ url?: string;
165
+ title?: string;
166
+ };
167
+ details?: Record<string, unknown>;
168
+ run?: {
169
+ id: string;
170
+ started_at: string;
171
+ ended_at?: string;
172
+ source?: 'cli' | 'test' | 'replay';
173
+ status?: 'running' | 'completed' | 'failed' | 'aborted';
174
+ profile?: string;
175
+ site_host?: string;
176
+ protected_run?: boolean;
177
+ };
178
+ step?: {
179
+ id: string;
180
+ ordinal: number;
181
+ command: string;
182
+ started_at: string;
183
+ ended_at?: string;
184
+ success?: boolean;
185
+ outcome_type?: string;
186
+ message?: string;
187
+ reason?: string;
188
+ page_ref?: string;
189
+ target_ref?: string;
190
+ surface_ref?: string;
191
+ fill_ref?: string;
192
+ before_snapshot_id?: string;
193
+ after_snapshot_id?: string;
194
+ event_count?: number;
195
+ child_span_count?: number;
196
+ protected_step?: boolean;
197
+ };
198
+ }
199
+ export interface CompleteRemoteSessionInput {
200
+ clientCompletionId: string;
201
+ status: 'completed' | 'canceled' | 'error';
202
+ command: string;
203
+ summary: string;
204
+ timestamp: string;
205
+ page?: {
206
+ ref?: string;
207
+ url?: string;
208
+ title?: string;
209
+ };
210
+ details?: Record<string, unknown>;
211
+ run: {
212
+ id: string;
213
+ started_at: string;
214
+ ended_at?: string;
215
+ source?: 'cli' | 'test' | 'replay';
216
+ status: 'completed' | 'failed' | 'aborted';
217
+ profile?: string;
218
+ site_host?: string;
219
+ protected_run?: boolean;
220
+ };
221
+ step?: {
222
+ id: string;
223
+ ordinal: number;
224
+ command: string;
225
+ started_at: string;
226
+ ended_at?: string;
227
+ success?: boolean;
228
+ outcome_type?: string;
229
+ message?: string;
230
+ reason?: string;
231
+ page_ref?: string;
232
+ target_ref?: string;
233
+ surface_ref?: string;
234
+ fill_ref?: string;
235
+ before_snapshot_id?: string;
236
+ after_snapshot_id?: string;
237
+ event_count?: number;
238
+ child_span_count?: number;
239
+ protected_step?: boolean;
240
+ };
241
+ }
242
+ export interface CreateRemoteSecretRequestInput {
243
+ clientRequestId: string;
244
+ fillRef: string;
245
+ purpose: string;
246
+ merchantName: string;
247
+ page?: {
248
+ ref?: string;
249
+ url?: string;
250
+ title?: string;
251
+ };
252
+ secretHint: {
253
+ storedSecretRef?: string;
254
+ credentialKey?: string;
255
+ credentialName?: string;
256
+ kind?: 'login' | 'identity' | 'payment_card';
257
+ host?: string;
258
+ scopeRef?: string;
259
+ fields?: Array<{
260
+ key: string;
261
+ label?: string;
262
+ type?: 'text' | 'secret' | 'date' | 'number';
263
+ required?: boolean;
264
+ }>;
265
+ };
266
+ run?: {
267
+ id: string;
268
+ started_at: string;
269
+ ended_at?: string;
270
+ source?: 'cli' | 'test' | 'replay';
271
+ status?: 'running' | 'completed' | 'failed' | 'aborted';
272
+ profile?: string;
273
+ site_host?: string;
274
+ protected_run?: boolean;
275
+ };
276
+ step?: {
277
+ id: string;
278
+ ordinal: number;
279
+ command: string;
280
+ started_at: string;
281
+ ended_at?: string;
282
+ success?: boolean;
283
+ outcome_type?: string;
284
+ message?: string;
285
+ reason?: string;
286
+ page_ref?: string;
287
+ target_ref?: string;
288
+ surface_ref?: string;
289
+ fill_ref?: string;
290
+ before_snapshot_id?: string;
291
+ after_snapshot_id?: string;
292
+ event_count?: number;
293
+ child_span_count?: number;
294
+ protected_step?: boolean;
295
+ };
296
+ }
297
+ export declare function createRemoteSession(gateway: MagicPayGatewayConfig, input: CreateRemoteSessionInput, options?: MagicPayRequestOptions): Promise<SessionResponse>;
298
+ export declare function getRemoteSession(gateway: MagicPayGatewayConfig, sessionId: string, options?: MagicPayRequestOptions): Promise<SessionResponse>;
299
+ export declare function getRemoteSessionSecretCatalog(gateway: MagicPayGatewayConfig, sessionId: string, host: string, options?: MagicPayRequestOptions): Promise<SessionBackendSecretCatalogEntry[]>;
300
+ export declare function createRemoteSessionEvent(gateway: MagicPayGatewayConfig, sessionId: string, input: CreateRemoteSessionEventInput, options?: MagicPayRequestOptions): Promise<RemoteSessionEventEnvelope>;
301
+ export declare function completeRemoteSession(gateway: MagicPayGatewayConfig, sessionId: string, input: CompleteRemoteSessionInput, options?: MagicPayRequestOptions): Promise<CompleteRemoteSessionResponse>;
302
+ export declare function createRemoteSecretRequest(gateway: MagicPayGatewayConfig, sessionId: string, input: CreateRemoteSecretRequestInput, options?: MagicPayRequestOptions): Promise<RemoteSecretRequestEnvelope>;
303
+ export declare function getRemoteSecretRequest(gateway: MagicPayGatewayConfig, sessionId: string, requestId: string, options?: MagicPayRequestOptions): Promise<RemoteSessionSecretRequestEnvelope>;
304
+ export declare function claimRemoteSecret(gateway: MagicPayGatewayConfig, sessionId: string, requestId: string, claimId: string, options?: MagicPayRequestOptions): Promise<ClaimRemoteSecretResponse>;
305
+ //# sourceMappingURL=session-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-client.d.ts","sourceRoot":"","sources":["../src/session-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,82 @@
1
+ import { buildMagicPayClaimSecretUrl, buildMagicPayCompleteSessionUrl, buildMagicPaySessionEventsUrl, buildMagicPaySessionSecretRequestUrl, buildMagicPaySessionSecretRequestsUrl, buildMagicPaySessionSecretsCatalogUrl, buildMagicPaySessionUrl, buildMagicPaySessionsUrl, requestMagicPayJson, } from './gateway.js';
2
+ export async function createRemoteSession(gateway, input, options = {}) {
3
+ return requestMagicPayJson(gateway, 'POST', buildMagicPaySessionsUrl(gateway.apiUrl), {
4
+ browser_session_id: input.browserSessionId,
5
+ entry_command: 'start-session',
6
+ ...(input.description ? { description: input.description } : {}),
7
+ ...(input.merchantName ? { merchant_name: input.merchantName } : {}),
8
+ ...(input.page ? { page: input.page } : {}),
9
+ ...(input.context ? { context: input.context } : {}),
10
+ ...(input.metadata ? { metadata: input.metadata } : {}),
11
+ run: input.run,
12
+ step: input.step,
13
+ }, options);
14
+ }
15
+ export async function getRemoteSession(gateway, sessionId, options = {}) {
16
+ return requestMagicPayJson(gateway, 'GET', buildMagicPaySessionUrl(gateway.apiUrl, sessionId), undefined, options);
17
+ }
18
+ export async function getRemoteSessionSecretCatalog(gateway, sessionId, host, options = {}) {
19
+ return requestMagicPayJson(gateway, 'GET', `${buildMagicPaySessionSecretsCatalogUrl(gateway.apiUrl, sessionId)}?host=${encodeURIComponent(host)}`, undefined, options);
20
+ }
21
+ export async function createRemoteSessionEvent(gateway, sessionId, input, options = {}) {
22
+ return requestMagicPayJson(gateway, 'POST', buildMagicPaySessionEventsUrl(gateway.apiUrl, sessionId), {
23
+ client_event_id: input.clientEventId,
24
+ sequence_no: input.sequenceNo,
25
+ type: input.type,
26
+ command: input.command,
27
+ status: input.status,
28
+ summary: input.summary,
29
+ timestamp: input.timestamp,
30
+ ...(input.page ? { page: input.page } : {}),
31
+ ...(input.details ? { details: input.details } : {}),
32
+ ...(input.run ? { run: input.run } : {}),
33
+ ...(input.step ? { step: input.step } : {}),
34
+ }, options);
35
+ }
36
+ export async function completeRemoteSession(gateway, sessionId, input, options = {}) {
37
+ return requestMagicPayJson(gateway, 'POST', buildMagicPayCompleteSessionUrl(gateway.apiUrl, sessionId), {
38
+ client_completion_id: input.clientCompletionId,
39
+ status: input.status,
40
+ command: input.command,
41
+ summary: input.summary,
42
+ timestamp: input.timestamp,
43
+ ...(input.page ? { page: input.page } : {}),
44
+ ...(input.details ? { details: input.details } : {}),
45
+ run: input.run,
46
+ ...(input.step ? { step: input.step } : {}),
47
+ }, options);
48
+ }
49
+ export async function createRemoteSecretRequest(gateway, sessionId, input, options = {}) {
50
+ return requestMagicPayJson(gateway, 'POST', buildMagicPaySessionSecretRequestsUrl(gateway.apiUrl, sessionId), {
51
+ client_request_id: input.clientRequestId,
52
+ fill_ref: input.fillRef,
53
+ purpose: input.purpose,
54
+ merchant_name: input.merchantName,
55
+ ...(input.page ? { page: input.page } : {}),
56
+ secret_hint: {
57
+ ...(input.secretHint.storedSecretRef
58
+ ? { stored_secret_ref: input.secretHint.storedSecretRef }
59
+ : {}),
60
+ ...(input.secretHint.credentialKey
61
+ ? { credential_key: input.secretHint.credentialKey }
62
+ : {}),
63
+ ...(input.secretHint.credentialName
64
+ ? { credential_name: input.secretHint.credentialName }
65
+ : {}),
66
+ ...(input.secretHint.kind ? { kind: input.secretHint.kind } : {}),
67
+ ...(input.secretHint.host ? { host: input.secretHint.host } : {}),
68
+ ...(input.secretHint.scopeRef ? { scope_ref: input.secretHint.scopeRef } : {}),
69
+ ...(input.secretHint.fields ? { fields: input.secretHint.fields } : {}),
70
+ },
71
+ ...(input.run ? { run: input.run } : {}),
72
+ ...(input.step ? { step: input.step } : {}),
73
+ }, options);
74
+ }
75
+ export async function getRemoteSecretRequest(gateway, sessionId, requestId, options = {}) {
76
+ return requestMagicPayJson(gateway, 'GET', buildMagicPaySessionSecretRequestUrl(gateway.apiUrl, sessionId, requestId), undefined, options);
77
+ }
78
+ export async function claimRemoteSecret(gateway, sessionId, requestId, claimId, options = {}) {
79
+ return requestMagicPayJson(gateway, 'POST', buildMagicPayClaimSecretUrl(gateway.apiUrl, sessionId, requestId), {
80
+ claim_id: claimId,
81
+ }, options);
82
+ }
@@ -0,0 +1,42 @@
1
+ import { type MagicPayGatewayConfig } from './gateway.js';
2
+ import { type CreateRemoteSessionInput, type CompleteRemoteSessionInput, type CompleteRemoteSessionResponse } from './session-client.js';
3
+ export type CompleteRemoteSessionFailureKind = 'already_closed' | 'not_found' | 'other';
4
+ export type CompleteRemoteSessionOutcome = {
5
+ success: true;
6
+ response: CompleteRemoteSessionResponse;
7
+ } | {
8
+ success: false;
9
+ kind: CompleteRemoteSessionFailureKind;
10
+ reason: string;
11
+ };
12
+ export type RemoteSessionPageSummary = {
13
+ ref?: string;
14
+ url?: string;
15
+ title?: string;
16
+ };
17
+ export declare function classifyCompleteRemoteSessionFailure(error: unknown): CompleteRemoteSessionFailureKind;
18
+ export declare function buildCreateRemoteSessionInput(params: {
19
+ browserSessionId: string;
20
+ description?: string | null;
21
+ merchantName?: string | null;
22
+ page?: RemoteSessionPageSummary;
23
+ run: CreateRemoteSessionInput['run'];
24
+ step: CreateRemoteSessionInput['step'];
25
+ context?: Record<string, unknown>;
26
+ metadata?: Record<string, unknown>;
27
+ }): CreateRemoteSessionInput;
28
+ export declare function buildCompleteRemoteSessionInput(params: {
29
+ clientCompletionId: string;
30
+ status: CompleteRemoteSessionInput['status'];
31
+ command: CompleteRemoteSessionInput['command'];
32
+ summary: string;
33
+ timestamp: string;
34
+ page?: RemoteSessionPageSummary;
35
+ details?: Record<string, unknown>;
36
+ run: CompleteRemoteSessionInput['run'];
37
+ step?: CompleteRemoteSessionInput['step'];
38
+ }): CompleteRemoteSessionInput;
39
+ export declare function completeRemoteSessionWithOutcome(gateway: MagicPayGatewayConfig, sessionId: string, input: CompleteRemoteSessionInput, options?: {
40
+ fetchImpl?: typeof fetch;
41
+ }): Promise<CompleteRemoteSessionOutcome>;
42
+ //# sourceMappingURL=session-flow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-flow.d.ts","sourceRoot":"","sources":["../src/session-flow.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,cAAc,CAAC;AACtB,OAAO,EAEL,KAAK,wBAAwB,EAC7B,KAAK,0BAA0B,EAC/B,KAAK,6BAA6B,EACnC,MAAM,qBAAqB,CAAC;AAE7B,MAAM,MAAM,gCAAgC,GAAG,gBAAgB,GAAG,WAAW,GAAG,OAAO,CAAC;AAExF,MAAM,MAAM,4BAA4B,GACpC;IACE,OAAO,EAAE,IAAI,CAAC;IACd,QAAQ,EAAE,6BAA6B,CAAC;CACzC,GACD;IACE,OAAO,EAAE,KAAK,CAAC;IACf,IAAI,EAAE,gCAAgC,CAAC;IACvC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEN,MAAM,MAAM,wBAAwB,GAAG;IACrC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAmBF,wBAAgB,oCAAoC,CAClD,KAAK,EAAE,OAAO,GACb,gCAAgC,CAUlC;AAMD,wBAAgB,6BAA6B,CAAC,MAAM,EAAE;IACpD,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,IAAI,CAAC,EAAE,wBAAwB,CAAC;IAChC,GAAG,EAAE,wBAAwB,CAAC,KAAK,CAAC,CAAC;IACrC,IAAI,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,GAAG,wBAAwB,CAW3B;AAED,wBAAgB,+BAA+B,CAAC,MAAM,EAAE;IACtD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IAC7C,OAAO,EAAE,0BAA0B,CAAC,SAAS,CAAC,CAAC;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,wBAAwB,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,GAAG,EAAE,0BAA0B,CAAC,KAAK,CAAC,CAAC;IACvC,IAAI,CAAC,EAAE,0BAA0B,CAAC,MAAM,CAAC,CAAC;CAC3C,GAAG,0BAA0B,CAY7B;AAED,wBAAsB,gCAAgC,CACpD,OAAO,EAAE,qBAAqB,EAC9B,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,0BAA0B,EACjC,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;CAAO,GACzC,OAAO,CAAC,4BAA4B,CAAC,CAavC"}
@@ -0,0 +1,71 @@
1
+ import { getMagicPayErrorCode, isMagicPayRequestErrorStatus, } from './gateway.js';
2
+ import { completeRemoteSession, } from './session-client.js';
3
+ function formatUnknownSdkError(error) {
4
+ if (error instanceof Error) {
5
+ return error.message;
6
+ }
7
+ if (typeof error === 'string') {
8
+ return error;
9
+ }
10
+ if (error && typeof error === 'object') {
11
+ try {
12
+ return JSON.stringify(error);
13
+ }
14
+ catch {
15
+ return Object.prototype.toString.call(error);
16
+ }
17
+ }
18
+ return String(error);
19
+ }
20
+ export function classifyCompleteRemoteSessionFailure(error) {
21
+ if (getMagicPayErrorCode(error) === 'session_closed') {
22
+ return 'already_closed';
23
+ }
24
+ if (isMagicPayRequestErrorStatus(error, 404)) {
25
+ return 'not_found';
26
+ }
27
+ return 'other';
28
+ }
29
+ function hasRemoteSessionPageSummary(page) {
30
+ return Boolean(page?.ref || page?.url || page?.title);
31
+ }
32
+ export function buildCreateRemoteSessionInput(params) {
33
+ return {
34
+ browserSessionId: params.browserSessionId,
35
+ ...(params.description ? { description: params.description } : {}),
36
+ ...(params.merchantName ? { merchantName: params.merchantName } : {}),
37
+ ...(hasRemoteSessionPageSummary(params.page) ? { page: params.page } : {}),
38
+ run: params.run,
39
+ step: params.step,
40
+ ...(params.context ? { context: params.context } : {}),
41
+ ...(params.metadata ? { metadata: params.metadata } : {}),
42
+ };
43
+ }
44
+ export function buildCompleteRemoteSessionInput(params) {
45
+ return {
46
+ clientCompletionId: params.clientCompletionId,
47
+ status: params.status,
48
+ command: params.command,
49
+ summary: params.summary,
50
+ timestamp: params.timestamp,
51
+ ...(hasRemoteSessionPageSummary(params.page) ? { page: params.page } : {}),
52
+ ...(params.details ? { details: params.details } : {}),
53
+ run: params.run,
54
+ ...(params.step ? { step: params.step } : {}),
55
+ };
56
+ }
57
+ export async function completeRemoteSessionWithOutcome(gateway, sessionId, input, options = {}) {
58
+ try {
59
+ return {
60
+ success: true,
61
+ response: await completeRemoteSession(gateway, sessionId, input, options),
62
+ };
63
+ }
64
+ catch (error) {
65
+ return {
66
+ success: false,
67
+ kind: classifyCompleteRemoteSessionFailure(error),
68
+ reason: formatUnknownSdkError(error),
69
+ };
70
+ }
71
+ }