glitch-javascript-sdk 3.10.8 → 4.0.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/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { AxiosPromise, AxiosProgressEvent } from 'axios';
1
+ import { AxiosPromise, AxiosProgressEvent, AxiosRequestConfig } from 'axios';
2
2
 
3
3
  /**
4
4
  * Config
@@ -5916,7 +5916,10 @@ declare class Messages {
5916
5916
  */
5917
5917
  static listMessageThreads<T>(params?: Record<string, any>): AxiosPromise<Response<T>>;
5918
5918
  /**
5919
- * Send a new message that will be added to a thread
5919
+ * Send a new message that will be added to a thread. Festival-scoped threads
5920
+ * enforce current admission, blocking and read-only state server-side.
5921
+ * Include an optional client_message_id UUID and reuse it when retrying a
5922
+ * timed-out request to prevent duplicate messages and notifications.
5920
5923
  *
5921
5924
  * @see https://api.glitch.fun/api/documentation#/Messages/storeMessage
5922
5925
  *
@@ -11890,6 +11893,1219 @@ declare class GameDesign {
11890
11893
  static generateBlueprint<T = GameDesignBlueprint>(input: GameDesignBlueprintInput): AxiosPromise<Response<T>>;
11891
11894
  }
11892
11895
 
11896
+ type FestivalPostKind = 'discussion' | 'job' | 'talent';
11897
+ type FestivalPostState = 'active' | 'locked' | 'archived' | 'hidden' | 'deleted' | 'removed' | 'paused' | 'filled' | 'expired' | 'closed';
11898
+ type FestivalApplicationState = 'submitted' | 'viewed' | 'shortlisted' | 'interview' | 'accepted' | 'rejected' | 'withdrawn' | 'closed';
11899
+ type FestivalWorkType = 'full_time' | 'part_time' | 'contract' | 'gig';
11900
+ type FestivalRequestOptions = Pick<AxiosRequestConfig, 'signal' | 'timeout'>;
11901
+ interface FestivalNetworkingSettings {
11902
+ discussions_enabled: boolean;
11903
+ jobs_enabled: boolean;
11904
+ employer_posts_enabled: boolean;
11905
+ talent_posts_enabled: boolean;
11906
+ matching_enabled: boolean;
11907
+ voting_enabled: boolean;
11908
+ comments_enabled: boolean;
11909
+ media_enabled: boolean;
11910
+ /** Registration or a valid ticket is mandatory; cannot be disabled. */
11911
+ require_registration: true;
11912
+ public_viewing: false;
11913
+ anonymous_enabled: false;
11914
+ categories: string[];
11915
+ skills: string[];
11916
+ }
11917
+ interface FestivalPostInput {
11918
+ kind: FestivalPostKind;
11919
+ title: string;
11920
+ /** Sanitized HTML from the shared WYSIWYG editor. */
11921
+ content: string;
11922
+ visibility?: 'public' | 'unlisted' | 'private';
11923
+ category?: string | null;
11924
+ tags?: string[];
11925
+ skills?: string[];
11926
+ preferred_skills?: string[];
11927
+ job_types?: FestivalWorkType[];
11928
+ company?: string | null;
11929
+ organization_id?: string | null;
11930
+ work_arrangement?: 'remote' | 'onsite' | 'hybrid' | null;
11931
+ experience?: 'any' | 'entry' | 'junior' | 'mid' | 'senior' | 'lead' | null;
11932
+ location?: string | null;
11933
+ availability?: 'immediately' | 'within_30_days' | 'specific_date' | 'flexible' | 'unavailable';
11934
+ availability_date?: string | null;
11935
+ deadline?: string | null;
11936
+ expires_at?: string | null;
11937
+ compensation_type?: 'negotiable' | 'yearly' | 'monthly' | 'hourly' | 'flat_fee';
11938
+ compensation_min?: number | null;
11939
+ compensation_max?: number | null;
11940
+ currency?: string | null;
11941
+ portfolio_url?: string | null;
11942
+ application_method?: 'internal' | 'external';
11943
+ application_url?: string | null;
11944
+ /** UserMedia IDs returned by uploadMedia, NOT Media IDs or clip-library selections. Max 8. */
11945
+ media_ids?: string[];
11946
+ public_compensation?: boolean;
11947
+ public_location?: boolean;
11948
+ public_availability?: boolean;
11949
+ public_portfolio?: boolean;
11950
+ }
11951
+ interface FestivalNetworkingFilters {
11952
+ kind?: FestivalPostKind;
11953
+ view?: 'all' | 'mine' | 'saved' | 'hidden' | 'comments';
11954
+ sort?: 'new' | 'hot' | 'top' | 'discussed' | 'compensation' | 'deadline';
11955
+ window?: 'today' | 'week' | 'month' | 'festival' | 'all';
11956
+ q?: string;
11957
+ category?: string;
11958
+ skill?: string;
11959
+ job_type?: FestivalWorkType;
11960
+ arrangement?: 'remote' | 'onsite' | 'hybrid';
11961
+ experience?: string;
11962
+ location?: string;
11963
+ company?: string;
11964
+ availability?: string;
11965
+ currency?: string;
11966
+ compensation_type?: string;
11967
+ min_compensation?: number;
11968
+ tag?: string;
11969
+ author?: string;
11970
+ has_comments?: boolean;
11971
+ has_portfolio?: boolean;
11972
+ media_type?: 'image' | 'video';
11973
+ page?: number;
11974
+ per_page?: number;
11975
+ }
11976
+ interface FestivalMediaUpload {
11977
+ id: string;
11978
+ user_media_id: string;
11979
+ media_id: string;
11980
+ url: string;
11981
+ mime_type: string;
11982
+ size: number;
11983
+ title: string;
11984
+ processing_status: 'completed' | 'pending' | 'processing' | 'failed';
11985
+ }
11986
+ interface FestivalNetworkingProfile {
11987
+ id: string | null;
11988
+ name: string;
11989
+ }
11990
+ interface FestivalNetworkingResponse<T> {
11991
+ data: T;
11992
+ message?: string;
11993
+ meta?: {
11994
+ current_page: number;
11995
+ last_page: number;
11996
+ total?: number;
11997
+ };
11998
+ has_access?: boolean;
11999
+ can_manage?: boolean;
12000
+ can_moderate?: boolean;
12001
+ user?: FestivalNetworkingProfile | null;
12002
+ show?: {
12003
+ id: string;
12004
+ name: string;
12005
+ };
12006
+ audit?: Array<Record<string, unknown>>;
12007
+ }
12008
+ interface FestivalPost {
12009
+ id: string;
12010
+ game_show_id: string;
12011
+ parent_id: string | null;
12012
+ kind: FestivalPostKind | 'comment';
12013
+ title: string;
12014
+ content: string;
12015
+ state: FestivalPostState;
12016
+ visibility: 'public' | 'unlisted' | 'private';
12017
+ details: Partial<FestivalPostInput>;
12018
+ author: FestivalNetworkingProfile | null;
12019
+ created_at: string;
12020
+ updated_at: string;
12021
+ score: number;
12022
+ my_vote: -1 | 0 | 1;
12023
+ saved: boolean;
12024
+ is_owner: boolean;
12025
+ can_edit: boolean;
12026
+ comment_count: number;
12027
+ media: Array<{
12028
+ id: string;
12029
+ user_media_id?: string | null;
12030
+ url: string;
12031
+ mime_type: string;
12032
+ title: string | null;
12033
+ }>;
12034
+ my_application?: {
12035
+ id: string;
12036
+ status: FestivalApplicationState;
12037
+ } | null;
12038
+ match?: {
12039
+ score: number;
12040
+ reasons: string[];
12041
+ missing_required_skills: string[];
12042
+ disclaimer: string;
12043
+ };
12044
+ }
12045
+ interface FestivalApplicationInput {
12046
+ message?: string;
12047
+ portfolio?: string[];
12048
+ }
12049
+ interface FestivalConversation {
12050
+ id: string;
12051
+ festival_application_id: string;
12052
+ can_send: boolean;
12053
+ read_only_reason: string | null;
12054
+ festival_context: {
12055
+ game_show_id: string;
12056
+ post_id: string | null;
12057
+ title: string;
12058
+ kind: FestivalPostKind;
12059
+ application_status: FestivalApplicationState;
12060
+ } | null;
12061
+ users: Array<{
12062
+ id: string | null;
12063
+ display_name: string;
12064
+ avatar: string | null;
12065
+ }>;
12066
+ messages: Array<{
12067
+ id: string;
12068
+ thread_id: string;
12069
+ user_id: string | null;
12070
+ message: string;
12071
+ client_message_id: string | null;
12072
+ created_at: string;
12073
+ updated_at: string;
12074
+ user: {
12075
+ id: string | null;
12076
+ display_name: string;
12077
+ avatar: string | null;
12078
+ };
12079
+ }>;
12080
+ }
12081
+ interface FestivalPreferences {
12082
+ notifications?: boolean;
12083
+ blocked_users?: string[];
12084
+ blocked_companies?: string[];
12085
+ }
12086
+ interface FestivalReportInput {
12087
+ reason: 'spam' | 'harassment' | 'hate' | 'sexual_content' | 'scam' | 'job_scam' | 'copyright' | 'malicious_link' | 'misleading' | 'other';
12088
+ explanation?: string;
12089
+ }
12090
+ /** Festival-scoped discussions, talent, jobs, moderation and new owned media uploads. */
12091
+ declare class FestivalNetworking {
12092
+ private static request;
12093
+ /** Read enabled tools and the current account's registration/ticket access. */
12094
+ static settings<T = FestivalNetworkingSettings>(id: string, options?: FestivalRequestOptions): AxiosPromise<FestivalNetworkingResponse<T>>;
12095
+ /** Organizer-only settings update; admission remains mandatory. */
12096
+ static updateSettings<T = FestivalNetworkingSettings>(id: string, data: Partial<FestivalNetworkingSettings>): AxiosPromise<FestivalNetworkingResponse<T>>;
12097
+ /** Search posts; compensation comparisons require currency and period. */
12098
+ static listPosts<T = FestivalPost[]>(id: string, params?: FestivalNetworkingFilters, options?: FestivalRequestOptions): AxiosPromise<FestivalNetworkingResponse<T>>;
12099
+ /** Create a post with rich HTML and optional newly uploaded UserMedia IDs. */
12100
+ static createPost<T = FestivalPost>(id: string, data: FestivalPostInput): AxiosPromise<FestivalNetworkingResponse<T>>;
12101
+ /** Direct links still require admission and content visibility permission. */
12102
+ static getPost<T = FestivalPost>(id: string, post_id: string, options?: FestivalRequestOptions): AxiosPromise<FestivalNetworkingResponse<T>>;
12103
+ /** Edit or soft-delete via state; omit media_ids to preserve current attachments. */
12104
+ static updatePost<T = FestivalPost>(id: string, post_id: string, data: Partial<FestivalPostInput> & {
12105
+ state?: FestivalPostState;
12106
+ }): AxiosPromise<FestivalNetworkingResponse<T>>;
12107
+ /** Paginated direct replies; fetch children to expand a thread. */
12108
+ static listComments<T = FestivalPost[]>(id: string, post_id: string, params?: {
12109
+ page?: number;
12110
+ }, options?: FestivalRequestOptions): AxiosPromise<FestivalNetworkingResponse<T>>;
12111
+ /** Add a rich-text reply, subject to locking and five-level nesting. */
12112
+ static createComment<T = FestivalPost>(id: string, post_id: string, data: {
12113
+ content: string;
12114
+ }): AxiosPromise<FestivalNetworkingResponse<T>>;
12115
+ /** Set, replace, or remove a vote/save/hide idempotently. */
12116
+ static setInteraction<T = FestivalPost>(id: string, post_id: string, data: {
12117
+ action: 'vote' | 'saved' | 'hidden';
12118
+ value: -1 | 0 | 1;
12119
+ }): AxiosPromise<FestivalNetworkingResponse<T>>;
12120
+ /** Apply or express interest once; the original listing is snapshotted. */
12121
+ static apply<T = Record<string, unknown>>(id: string, post_id: string, data: FestivalApplicationInput): AxiosPromise<FestivalNetworkingResponse<T>>;
12122
+ /** Discovery matches for the current user's own job/talent listing. */
12123
+ static matches<T = FestivalPost[]>(id: string, post_id: string, params?: {
12124
+ page?: number;
12125
+ }, options?: FestivalRequestOptions): AxiosPromise<FestivalNetworkingResponse<T>>;
12126
+ /** Report suspicious content privately to festival moderators. */
12127
+ static report<T = never>(id: string, post_id: string, data: FestivalReportInput): AxiosPromise<FestivalNetworkingResponse<T>>;
12128
+ /** Only the applicant and listing owner receive application records. */
12129
+ static applications<T = Array<Record<string, unknown>>>(id: string, params?: {
12130
+ page?: number;
12131
+ }, options?: FestivalRequestOptions): AxiosPromise<FestivalNetworkingResponse<T>>;
12132
+ /** Applicant withdrawal or owner-managed status changes. */
12133
+ static updateApplication<T = Record<string, unknown>>(id: string, application_id: string, data: {
12134
+ status: Exclude<FestivalApplicationState, 'submitted'>;
12135
+ }): AxiosPromise<FestivalNetworkingResponse<T>>;
12136
+ /** Open the application/talent inquiry's private shared-inbox conversation, creating it once for legacy applications. Only the applicant and original listing owner may call this. Use Messages.getThread/sendMessage for subsequent conversation activity. */
12137
+ static conversation<T = FestivalConversation>(id: string, application_id: string): AxiosPromise<FestivalNetworkingResponse<T>>;
12138
+ /** Moderator-only report queue and audit history. */
12139
+ static moderation<T = Array<Record<string, unknown>>>(id: string, params?: {
12140
+ page?: number;
12141
+ }, options?: FestivalRequestOptions): AxiosPromise<FestivalNetworkingResponse<T>>;
12142
+ /** Moderation remains available even while the board is disabled. */
12143
+ static moderatePost<T = FestivalPost>(id: string, post_id: string, data: {
12144
+ state?: 'active' | 'hidden' | 'locked' | 'deleted' | 'removed';
12145
+ remove_media?: true;
12146
+ }): AxiosPromise<FestivalNetworkingResponse<T>>;
12147
+ /** Resolve, dismiss or begin reviewing a report. */
12148
+ static resolveReport<T = never>(id: string, report_id: string, data: {
12149
+ status: 'under_review' | 'resolved' | 'dismissed';
12150
+ }): AxiosPromise<FestivalNetworkingResponse<T>>;
12151
+ /** Moderator-only participant restrictions. */
12152
+ static restrictMember<T = never>(id: string, user_id: string, data: {
12153
+ banned: boolean;
12154
+ }): AxiosPromise<FestivalNetworkingResponse<T>>;
12155
+ /** Current user's privacy and notification preferences. */
12156
+ static preferences<T = FestivalPreferences>(id: string, options?: FestivalRequestOptions): AxiosPromise<FestivalNetworkingResponse<T>>;
12157
+ /** Set notification opt-out and blocked participants/companies. */
12158
+ static updatePreferences<T = FestivalPreferences>(id: string, data: FestivalPreferences): AxiosPromise<FestivalNetworkingResponse<T>>;
12159
+ /** Uploaded festival attachments only; not the gameplay clip library. */
12160
+ static media<T = Array<Record<string, unknown>>>(id: string, params?: {
12161
+ page?: number;
12162
+ }, options?: FestivalRequestOptions): AxiosPromise<FestivalNetworkingResponse<T>>;
12163
+ /**
12164
+ * Upload a new image (10 MB max) or video (100 MB max), using the existing media pipeline.
12165
+ * The response ID is an owned UserMedia ID for createPost/updatePost media_ids.
12166
+ * @param file New file selected by the attendee; supported images exclude SVG.
12167
+ * @param data Which enabled board the upload is for.
12168
+ * @param onUploadProgress Transfer progress; 100% may still require conversion before completion.
12169
+ */
12170
+ static uploadMedia<T = FestivalMediaUpload>(id: string, file: File | Blob, data: {
12171
+ kind: FestivalPostKind;
12172
+ }, onUploadProgress?: (event: AxiosProgressEvent) => void, options?: FestivalRequestOptions): AxiosPromise<FestivalNetworkingResponse<T>>;
12173
+ /** Organizations the authenticated user is authorized to represent. */
12174
+ static organizations<T = Array<{
12175
+ id: string;
12176
+ name: string;
12177
+ }>>(id: string, options?: FestivalRequestOptions): AxiosPromise<FestivalNetworkingResponse<T>>;
12178
+ /** Organizer-only aggregate participation metrics. */
12179
+ static analytics<T = Record<string, unknown>>(id: string, options?: FestivalRequestOptions): AxiosPromise<FestivalNetworkingResponse<T>>;
12180
+ }
12181
+
12182
+ type MicrotransactionEnvironment = 'sandbox' | 'live';
12183
+ type MicrotransactionProviderName = 'stripe' | 'xsolla';
12184
+ type MicrotransactionProductType = 'durable' | 'consumable' | 'currency' | 'bundle' | 'pass';
12185
+ type MicrotransactionCurrency = 'USD' | 'EUR' | 'GBP' | 'CAD' | 'AUD' | 'JPY' | 'BRL' | 'INR' | 'KRW';
12186
+ type MicrotransactionProductStatus = 'draft' | 'active' | 'archived';
12187
+ type MicrotransactionPaymentStatus = 'created' | 'action_required' | 'pending' | 'unknown' | 'paid' | 'failed' | 'canceled' | 'refund_pending' | 'partially_refunded' | 'refunded' | 'disputed' | 'quarantined' | 'refund_review';
12188
+ type MicrotransactionRefundStatus = 'requested' | 'linked' | 'unknown' | 'pending' | 'submitted' | 'succeeded' | 'failed' | 'canceled';
12189
+ type MicrotransactionDeliveryStatus = 'pending' | 'retrying' | 'processing' | 'acknowledged' | 'failed' | 'superseded';
12190
+ type MicrotransactionPayoutStatus = 'pending' | 'transferred' | 'bank_paid' | 'bank_pending' | 'bank_failed' | 'transfer_reversed';
12191
+ type MicrotransactionFulfillmentStatus = 'not_ready' | 'pending' | 'delivered' | 'retrying' | 'failed' | 'revoked' | 'partially_recovered';
12192
+ type MicrotransactionAbility = 'commerce:read' | 'commerce:write' | 'commerce:finance' | 'commerce:fulfill';
12193
+ type MicrotransactionErrorCode = 'authentication_required' | 'permission_denied' | 'not_found' | 'not_eligible' | 'quote_expired' | 'already_owned' | 'idempotency_conflict' | 'payment_unknown' | 'rate_limited' | 'invalid_revenue_configuration' | 'fulfillment_pending' | 'provider_unavailable';
12194
+ /** The backend's JSON envelope; Axios returns this envelope in response.data. */
12195
+ interface MicrotransactionResponse<T> {
12196
+ data: T;
12197
+ message?: string;
12198
+ success?: boolean;
12199
+ }
12200
+ interface MicrotransactionError {
12201
+ message: string;
12202
+ code?: MicrotransactionErrorCode | string;
12203
+ errors?: Record<string, string[]>;
12204
+ }
12205
+ interface MicrotransactionRequestOptions extends Pick<AxiosRequestConfig, 'signal' | 'timeout'> {
12206
+ /** Optional short-lived commerce-only player token. Never a shipped developer/title token. */
12207
+ playerToken?: string;
12208
+ }
12209
+ interface MicrotransactionSessionOptions extends MicrotransactionRequestOptions {
12210
+ /** Required limited checkout capability; sent only in X-Checkout-Token, never a query. */
12211
+ checkoutToken: string;
12212
+ }
12213
+ interface MicrotransactionEnvironmentFilter {
12214
+ environment?: MicrotransactionEnvironment;
12215
+ }
12216
+ /** Catalog discovery defaults to 200 records per page; absence on page one is not proof a SKU is unused. */
12217
+ interface MicrotransactionProductListFilters {
12218
+ page?: number;
12219
+ per_page?: number;
12220
+ status?: MicrotransactionProductStatus;
12221
+ /** Exact SKU, not a substring search. */
12222
+ sku?: string;
12223
+ }
12224
+ /** Administrative lists default to page 1 / 25 records and are scoped to the authorized title. */
12225
+ interface MicrotransactionManagementListFilters extends MicrotransactionEnvironmentFilter {
12226
+ page?: number;
12227
+ per_page?: number;
12228
+ status?: string;
12229
+ }
12230
+ interface MicrotransactionOrderListFilters extends MicrotransactionManagementListFilters {
12231
+ product_id?: string;
12232
+ status?: MicrotransactionPaymentStatus;
12233
+ payment_status?: MicrotransactionPaymentStatus;
12234
+ }
12235
+ interface MicrotransactionRelatedListFilters extends MicrotransactionManagementListFilters {
12236
+ order_id?: string;
12237
+ }
12238
+ interface MicrotransactionRefundListFilters extends MicrotransactionRelatedListFilters {
12239
+ status?: MicrotransactionRefundStatus;
12240
+ }
12241
+ interface MicrotransactionDeliveryListFilters extends MicrotransactionRelatedListFilters {
12242
+ status?: MicrotransactionDeliveryStatus;
12243
+ }
12244
+ interface MicrotransactionPayoutListFilters extends MicrotransactionRelatedListFilters {
12245
+ status?: MicrotransactionPayoutStatus;
12246
+ }
12247
+ /** @deprecated Optional compatibility field only; no confirmation or human-approval gate is enforced. */
12248
+ interface MicrotransactionLegacyConfirmation {
12249
+ confirm?: boolean;
12250
+ }
12251
+ /** Self-only purchase-history filters. Identity comes from authentication, never a user_id argument. */
12252
+ interface MicrotransactionMyPurchasesFilters extends MicrotransactionEnvironmentFilter {
12253
+ /** Page number, integer 1–10000. Defaults to 1; ordering is created_at DESC, id DESC. */
12254
+ page?: number;
12255
+ /** Integer 1–100. Defaults to 20. No cursor or product filter is supported. */
12256
+ per_page?: number;
12257
+ }
12258
+ interface MicrotransactionCatalogFilter extends MicrotransactionEnvironmentFilter {
12259
+ country?: string;
12260
+ currency?: string;
12261
+ channel?: 'web';
12262
+ }
12263
+ interface MicrotransactionMedia {
12264
+ id: string;
12265
+ url: string;
12266
+ mime_type: string;
12267
+ poster?: string | null;
12268
+ }
12269
+ interface MicrotransactionBranding {
12270
+ display_name?: string | null;
12271
+ accent_color?: string | null;
12272
+ /** Existing authorized title Media ID, not an external URL or UserMedia ID. */
12273
+ logo_media_id?: string | null;
12274
+ /** Resolved public Media returned for display; not a writable branding input. */
12275
+ logo_media?: MicrotransactionMedia | null;
12276
+ }
12277
+ interface MicrotransactionPrice {
12278
+ /** Uppercase ISO 4217 currency. Not all currencies have two decimal places. */
12279
+ currency: MicrotransactionCurrency;
12280
+ /** Uppercase ISO 3166-1 alpha-2 buyer country, or '*' default. */
12281
+ country: string;
12282
+ /** Integer 1–100000 in currency minor units: USD 499 means $4.99; JPY 499 means ¥499. Provider minima apply separately. */
12283
+ amount_minor: number;
12284
+ }
12285
+ interface MicrotransactionGrant {
12286
+ /** Stable per-title inventory key; never a client-supplied grant at checkout. */
12287
+ key: string;
12288
+ quantity: number;
12289
+ kind: 'durable' | 'consumable' | 'pass';
12290
+ /** Required for pass grants; 60–31536000 seconds. Durable quantity must be one. */
12291
+ duration_seconds?: number | null;
12292
+ }
12293
+ interface MicrotransactionProductInput {
12294
+ sku: string;
12295
+ name: string;
12296
+ description?: string;
12297
+ type: MicrotransactionProductType;
12298
+ status?: MicrotransactionProductStatus;
12299
+ /** Attach IDs from the existing title-authorized Media pipeline. No arbitrary media URLs. */
12300
+ media_ids?: string[];
12301
+ prices: MicrotransactionPrice[];
12302
+ grants: MicrotransactionGrant[];
12303
+ localizations?: Record<string, {
12304
+ name: string;
12305
+ description?: string | null;
12306
+ }>;
12307
+ starts_at?: string | null;
12308
+ ends_at?: string | null;
12309
+ max_per_order?: number;
12310
+ /** @deprecated Ignored compatibility field. Title authorization and immutable-data validation remain required. */
12311
+ confirm?: boolean;
12312
+ }
12313
+ interface MicrotransactionProduct extends Omit<MicrotransactionProductInput, 'confirm' | 'status' | 'media_ids'> {
12314
+ id: string;
12315
+ title_id: string;
12316
+ status: MicrotransactionProductStatus;
12317
+ version: number;
12318
+ media_ids: string[];
12319
+ media: MicrotransactionMedia[];
12320
+ created_at: string;
12321
+ updated_at: string;
12322
+ }
12323
+ interface MicrotransactionProvider {
12324
+ provider: MicrotransactionProviderName;
12325
+ environment: MicrotransactionEnvironment;
12326
+ configured: boolean;
12327
+ /** Actual external provider/account capability, not a manual approval flag. */
12328
+ available: boolean;
12329
+ enabled: boolean;
12330
+ priority: number;
12331
+ countries: string[];
12332
+ currencies: string[];
12333
+ minimum_amounts: Record<string, number>;
12334
+ channels: string[];
12335
+ payment_methods: string[];
12336
+ configuration: MicrotransactionProviderConfiguration;
12337
+ account: {
12338
+ id: string;
12339
+ country: string | null;
12340
+ charges_enabled: boolean;
12341
+ payouts_enabled: boolean;
12342
+ requirements_due: string[];
12343
+ } | null;
12344
+ /** The game's payout target. Do not substitute the platform processing account's payouts_enabled. */
12345
+ payout_account: {
12346
+ source: 'platform' | 'user' | 'community' | 'managed';
12347
+ id: string | null;
12348
+ available: boolean;
12349
+ country: string | null;
12350
+ transfers_active: boolean;
12351
+ payouts_enabled: boolean;
12352
+ requirements_due: string[];
12353
+ reasons: string[];
12354
+ };
12355
+ tax: {
12356
+ status: string;
12357
+ missing_fields: string[];
12358
+ };
12359
+ reasons: string[];
12360
+ checked_at: string | null;
12361
+ revision?: number;
12362
+ }
12363
+ interface MicrotransactionProviderSku {
12364
+ /** Provider SKU, 1–100 characters. */
12365
+ sku: string;
12366
+ currency: MicrotransactionCurrency;
12367
+ amount_minor: number;
12368
+ }
12369
+ interface MicrotransactionProviderConfiguration {
12370
+ tax_mode: 'automatic' | 'disabled';
12371
+ /** Stripe tax code txcd_ followed by exactly eight digits. */
12372
+ tax_code: string | null;
12373
+ payout_source: 'platform' | 'user' | 'community' | 'managed';
12374
+ /** Xsolla public project ID, 1–20 decimal digits. */
12375
+ project_id: string | null;
12376
+ /** Maximum 200 mappings. */
12377
+ sku_map: Record<string, MicrotransactionProviderSku>;
12378
+ }
12379
+ /** Developer preferences and an optional new owned Xsolla webhook secret only; never platform credentials, arbitrary payees, or availability facts. */
12380
+ interface MicrotransactionProviderInput extends Partial<MicrotransactionProviderConfiguration>, MicrotransactionLegacyConfirmation {
12381
+ environment: MicrotransactionEnvironment;
12382
+ enabled?: boolean;
12383
+ priority?: number;
12384
+ countries?: string[];
12385
+ currencies?: MicrotransactionCurrency[];
12386
+ minimum_amounts?: Record<string, number>;
12387
+ /** Write-only NEW owned Xsolla project secret, 16–512 chars, finance scope. Never a platform API key or MCP token; never returned/logged or put in game code. Existing platform/historical bindings cannot be overwritten. */
12388
+ webhook_secret?: string;
12389
+ }
12390
+ interface MicrotransactionProviderOnboardingInput extends MicrotransactionLegacyConfirmation {
12391
+ environment: MicrotransactionEnvironment;
12392
+ country: string;
12393
+ /** Stable caller-created key. Reuse with identical input after uncertain retries; never generate inside a retry. */
12394
+ idempotency_key: string;
12395
+ }
12396
+ interface MicrotransactionProviderOnboarding {
12397
+ title_id: string;
12398
+ provider: 'stripe';
12399
+ environment: MicrotransactionEnvironment;
12400
+ account_id: string;
12401
+ /** Single-use provider onboarding URL on connect.stripe.com; do not log or persist it. */
12402
+ onboarding_url: string;
12403
+ expires_at: string;
12404
+ status: 'requires_provider_onboarding';
12405
+ reused: boolean;
12406
+ }
12407
+ interface MicrotransactionDeliverySettings {
12408
+ title_id: string;
12409
+ environment: MicrotransactionEnvironment;
12410
+ enabled: boolean;
12411
+ url: string | null;
12412
+ signature_algorithm: 'ed25519' | 'hmac-sha256';
12413
+ /** Public verification material only. The private signing key never leaves the server. */
12414
+ verification_public_key: string | null;
12415
+ key_id: string | null;
12416
+ revision: number;
12417
+ configured: boolean;
12418
+ }
12419
+ interface MicrotransactionDeliverySettingsInput extends MicrotransactionLegacyConfirmation {
12420
+ environment: MicrotransactionEnvironment;
12421
+ enabled?: boolean;
12422
+ url?: string | null;
12423
+ }
12424
+ interface MicrotransactionDelivery {
12425
+ id: string;
12426
+ order_id: string;
12427
+ event_type: string;
12428
+ status: MicrotransactionDeliveryStatus;
12429
+ attempts: number;
12430
+ next_attempt_at: string | null;
12431
+ acknowledged_at: string | null;
12432
+ created_at: string;
12433
+ updated_at: string;
12434
+ }
12435
+ /** Replay/acknowledgement return only this safe subset, not the list's timestamps. */
12436
+ type MicrotransactionDeliveryResult = Pick<MicrotransactionDelivery, 'id' | 'order_id' | 'status' | 'event_type' | 'attempts' | 'acknowledged_at'>;
12437
+ interface MicrotransactionRefundRecord {
12438
+ id: string;
12439
+ order_id: string;
12440
+ status: MicrotransactionRefundStatus;
12441
+ amount_minor: number;
12442
+ reason: string;
12443
+ idempotency_key: string | null;
12444
+ record_type: 'request' | 'execution';
12445
+ execution_refund_id: string | null;
12446
+ execution_status: MicrotransactionRefundStatus | null;
12447
+ request_resolution: 'linked_to_execution' | 'not_executed' | null;
12448
+ order_refunded_minor: number | null;
12449
+ failure_code: string | null;
12450
+ created_at: string;
12451
+ updated_at: string;
12452
+ }
12453
+ interface MicrotransactionPayout {
12454
+ id: string;
12455
+ order_id: string;
12456
+ status: MicrotransactionPayoutStatus;
12457
+ amount_minor: number;
12458
+ provider_reference: string | null;
12459
+ created_at: string;
12460
+ updated_at: string;
12461
+ }
12462
+ interface MicrotransactionRefundInput extends MicrotransactionLegacyConfirmation {
12463
+ reason: string;
12464
+ amount_minor?: number;
12465
+ /** REQUIRED stable operation key, scoped to title/order. Reuse identical input on retry; changes conflict. */
12466
+ idempotency_key: string;
12467
+ }
12468
+ interface MicrotransactionReadiness {
12469
+ status: 'disabled' | 'draft' | 'sandbox' | 'ready' | 'live' | 'degraded' | 'suspended';
12470
+ ready: boolean;
12471
+ blockers: string[];
12472
+ providers: MicrotransactionProvider[];
12473
+ commission_basis_points: 1200;
12474
+ }
12475
+ interface MicrotransactionFramePolicy {
12476
+ frame_ancestors: string[];
12477
+ expires_at: string | null;
12478
+ }
12479
+ interface MicrotransactionSettingsInput {
12480
+ enabled?: boolean;
12481
+ environment?: MicrotransactionEnvironment;
12482
+ /** Actual title-wide ad-delivery policy, distinct from ad revenue sharing. */
12483
+ ads_enabled?: boolean;
12484
+ fulfillment_mode?: 'glitch' | 'server';
12485
+ allowed_origins?: string[];
12486
+ countries?: string[];
12487
+ currencies?: MicrotransactionCurrency[];
12488
+ branding?: Omit<MicrotransactionBranding, 'logo_media'>;
12489
+ support_email?: string | null;
12490
+ /** @deprecated Legacy delivery alias requiring BOTH commerce:write and commerce:fulfill; prefer updateDeliverySettings/getDeliverySettings. */
12491
+ webhook_url?: string | null;
12492
+ /** @deprecated Ignored compatibility field. Authorized title editors save directly; actual provider/sales restrictions remain. */
12493
+ confirm?: boolean;
12494
+ }
12495
+ interface MicrotransactionSettings extends Omit<Required<MicrotransactionSettingsInput>, 'confirm'> {
12496
+ title_id: string;
12497
+ branding: MicrotransactionBranding;
12498
+ integration_verified: boolean;
12499
+ /** 12% of discounted pre-tax subtotal; no second commission for in-game currency spending. */
12500
+ commission_basis_points: 1200;
12501
+ fee_policy: 'developer_pays_provider_costs';
12502
+ readiness: MicrotransactionReadiness;
12503
+ }
12504
+ interface MicrotransactionCatalog {
12505
+ title: {
12506
+ id: string;
12507
+ name: string;
12508
+ };
12509
+ branding: MicrotransactionBranding;
12510
+ products: MicrotransactionProduct[];
12511
+ environment: MicrotransactionEnvironment;
12512
+ available: boolean;
12513
+ blockers: string[];
12514
+ }
12515
+ interface MicrotransactionPurchaseInput {
12516
+ product_id: string;
12517
+ quantity: number;
12518
+ country: string;
12519
+ currency: string;
12520
+ environment: MicrotransactionEnvironment;
12521
+ channel: 'web';
12522
+ }
12523
+ interface MicrotransactionCheckoutSessionInput extends MicrotransactionPurchaseInput {
12524
+ /** Exact game origin previously allowlisted by its owner. */
12525
+ return_origin: string;
12526
+ /** Random per-purchase state; retain locally and compare before claiming a handoff. */
12527
+ nonce: string;
12528
+ }
12529
+ interface MicrotransactionQuote extends Omit<MicrotransactionPurchaseInput, 'channel'> {
12530
+ id: string;
12531
+ product_version: number;
12532
+ subtotal_minor: number;
12533
+ tax_minor: number;
12534
+ total_minor: number;
12535
+ commission_minor: number;
12536
+ commission_basis_points: 1200;
12537
+ expires_at: string;
12538
+ }
12539
+ interface MicrotransactionEntitlement {
12540
+ key: string;
12541
+ kind: 'durable' | 'consumable' | 'pass';
12542
+ balance: number;
12543
+ environment: MicrotransactionEnvironment;
12544
+ updated_at: string;
12545
+ expires_at?: string | null;
12546
+ }
12547
+ interface MicrotransactionOrder {
12548
+ id: string;
12549
+ /** Opaque owning Glitch player ID; no email or billing identity is exposed. */
12550
+ player_id?: string;
12551
+ checkout_session_id: string | null;
12552
+ title_id: string;
12553
+ product_id: string;
12554
+ quantity: number;
12555
+ environment: MicrotransactionEnvironment;
12556
+ currency: string;
12557
+ country: string;
12558
+ subtotal_minor: number;
12559
+ tax_minor: number;
12560
+ total_minor: number;
12561
+ commission_minor: number;
12562
+ /** Null until actual costs are reconciled; never confuse an estimate with a payout. */
12563
+ provider_fee_minor: number | null;
12564
+ payment_status: MicrotransactionPaymentStatus;
12565
+ fulfillment_status: MicrotransactionFulfillmentStatus;
12566
+ provider: 'stripe' | 'xsolla' | null;
12567
+ created_at: string;
12568
+ paid_at: string | null;
12569
+ refunded_minor: number;
12570
+ items: MicrotransactionGrant[];
12571
+ entitlements?: MicrotransactionEntitlement[];
12572
+ }
12573
+ interface MicrotransactionOrderDetail extends MicrotransactionOrder {
12574
+ /** Optional, permission-scoped management relationships. Omission is not proof no records exist. */
12575
+ refunds?: Array<Pick<MicrotransactionRefundRecord, 'id' | 'order_id' | 'status'> & Partial<MicrotransactionRefundRecord>>;
12576
+ deliveries?: MicrotransactionDelivery[];
12577
+ payouts?: Array<Pick<MicrotransactionPayout, 'id' | 'order_id' | 'status'> & Partial<MicrotransactionPayout>>;
12578
+ financial_details_included?: boolean;
12579
+ }
12580
+ type MicrotransactionGrantUsageStatus = 'unused' | 'partially_used' | 'used_up' | 'owned' | 'expired' | 'revoked' | 'not_delivered' | 'unavailable';
12581
+ /** One purchase's server-calculated grant lot, not the player's aggregate inventory balance. */
12582
+ interface MicrotransactionGrantUsage {
12583
+ /** Null when the captured purchase has not produced an actual grant lot. */
12584
+ grant_id: string | null;
12585
+ key: string;
12586
+ kind: 'durable' | 'consumable' | 'pass';
12587
+ /** Promised units from the frozen grant quantity multiplied by order quantity, not money. */
12588
+ purchased_quantity: number;
12589
+ /** Actual granted units; zero when no lot exists, even if promised units are positive. */
12590
+ granted_quantity: number;
12591
+ /** Alias of actual granted_quantity, not the promised purchased_quantity. */
12592
+ acquired_quantity: number;
12593
+ /** Units remaining in the lot; expired/unavailable lots may still have raw remaining units. */
12594
+ remaining_quantity: number;
12595
+ /** acquired_quantity - remaining_quantity - revoked_quantity. Includes unrecoverable consumed units. */
12596
+ consumed_quantity: number;
12597
+ /** Units actually recovered/revoked by a refund; not gameplay consumption. */
12598
+ revoked_quantity: number;
12599
+ /** Bounded revoked_quantity + unrecoverable_quantity. This overlaps consumed quantity; do not subtract twice. */
12600
+ refunded_quantity: number;
12601
+ /** Refunded units that could not be recovered because already consumed. Overlaps consumed_quantity. */
12602
+ unrecoverable_quantity: number;
12603
+ expires_at: string | null;
12604
+ expired: boolean;
12605
+ /** Server-calculated usable units after expiry and payment/fulfillment restrictions. */
12606
+ usable_quantity: number;
12607
+ /** Consumable usage only. Durable/pass grants return null; ownership is not proof of gameplay use. */
12608
+ is_used: boolean | null;
12609
+ usage_status: MicrotransactionGrantUsageStatus;
12610
+ }
12611
+ interface MicrotransactionPlayerPurchase extends MicrotransactionOrder {
12612
+ /** Always present on authenticated self-history, unlike older generic order DTOs. */
12613
+ player_id: string;
12614
+ /** Product snapshot for this purchase, not a replacement for the current catalog. */
12615
+ product: {
12616
+ id: string;
12617
+ sku: string | null;
12618
+ name: string | null;
12619
+ type: MicrotransactionProductType | null;
12620
+ version: number | null;
12621
+ };
12622
+ grant_usage: MicrotransactionGrantUsage[];
12623
+ has_consumed_grants: boolean;
12624
+ has_usable_grants: boolean;
12625
+ }
12626
+ interface MicrotransactionPurchasePagination {
12627
+ page: number;
12628
+ per_page: number;
12629
+ total: number;
12630
+ last_page: number;
12631
+ has_more_pages: boolean;
12632
+ }
12633
+ /** Captured own-player purchases, including later refunds/disputes/quarantine; unpaid attempts are excluded. */
12634
+ interface MicrotransactionMyPurchases {
12635
+ title_id: string;
12636
+ player_id: string;
12637
+ environment: MicrotransactionEnvironment;
12638
+ purchases: MicrotransactionPlayerPurchase[];
12639
+ pagination: MicrotransactionPurchasePagination;
12640
+ }
12641
+ interface MicrotransactionCreatedCheckoutSession {
12642
+ id: string;
12643
+ checkout_session_id: string;
12644
+ intent: 'purchase' | 'restore';
12645
+ /** Short-lived capability: never log, send to analytics, or put in a URL query. */
12646
+ session_token: string;
12647
+ hosted_url: string;
12648
+ expires_at: string;
12649
+ status: 'authentication_required' | 'ready';
12650
+ nonce: string;
12651
+ }
12652
+ interface MicrotransactionCheckoutSession {
12653
+ id: string;
12654
+ checkout_session_id: string;
12655
+ title_id: string;
12656
+ intent: 'purchase' | 'restore';
12657
+ title: {
12658
+ id: string;
12659
+ name: string;
12660
+ };
12661
+ branding: MicrotransactionBranding;
12662
+ product: MicrotransactionProduct | null;
12663
+ quantity: number;
12664
+ country: string;
12665
+ currency: string;
12666
+ environment: MicrotransactionEnvironment;
12667
+ status: string;
12668
+ expires_at: string;
12669
+ authenticated: boolean;
12670
+ order: MicrotransactionOrder | null;
12671
+ return_origin: string;
12672
+ nonce: string;
12673
+ support_email: string | null;
12674
+ }
12675
+ interface MicrotransactionCheckoutInput {
12676
+ /** UUID retained for retries of the same purchase, never reused for different goods. */
12677
+ idempotency_key: string;
12678
+ accept_terms: true;
12679
+ }
12680
+ interface MicrotransactionCheckoutResult {
12681
+ order: MicrotransactionOrder;
12682
+ checkout_url: string | null;
12683
+ status: MicrotransactionPaymentStatus;
12684
+ provider: 'stripe' | 'xsolla';
12685
+ quote: MicrotransactionQuote;
12686
+ /** Provider's limited embedded-checkout secret if this route supports embedded checkout. */
12687
+ client_secret?: string | null;
12688
+ /** Public provider key only. Never a Stripe secret key. */
12689
+ publishable_key?: string | null;
12690
+ ui_mode: 'embedded' | 'xsolla';
12691
+ }
12692
+ interface MicrotransactionHandoff {
12693
+ event: {
12694
+ type: 'glitch.microtransaction.updated';
12695
+ version: 1;
12696
+ title_id: string;
12697
+ checkout_session_id: string;
12698
+ order_id: string;
12699
+ nonce: string;
12700
+ /** One-time claim only; never an account JWT. */
12701
+ claim_code: string;
12702
+ };
12703
+ target_origin: string;
12704
+ expires_at: string;
12705
+ }
12706
+ interface MicrotransactionHandoffClaimInput {
12707
+ claim_code: string;
12708
+ nonce: string;
12709
+ return_origin: string;
12710
+ checkout_session_id: string;
12711
+ }
12712
+ interface MicrotransactionHandoffClaim {
12713
+ title_id: string;
12714
+ checkout_session_id: string;
12715
+ order_id: string;
12716
+ player_id: string;
12717
+ entitlements: MicrotransactionEntitlement[];
12718
+ /** 15-minute title/player/environment-scoped token, stored in memory only. */
12719
+ player_token: string;
12720
+ expires_at: string;
12721
+ }
12722
+ interface MicrotransactionConsumeInput {
12723
+ key: string;
12724
+ quantity: number;
12725
+ action_id: string;
12726
+ environment: MicrotransactionEnvironment;
12727
+ }
12728
+ interface MicrotransactionRefund {
12729
+ refund_id: string;
12730
+ status: MicrotransactionRefundStatus;
12731
+ order_id: string;
12732
+ idempotency_key: string;
12733
+ failure_code: string | null;
12734
+ refund_allocation?: 'pro_rata_all_grants';
12735
+ }
12736
+ interface MicrotransactionRefundRequest {
12737
+ id: string;
12738
+ order_id: string;
12739
+ status: 'requested';
12740
+ }
12741
+ interface MicrotransactionEarnings {
12742
+ currency_balances: Array<{
12743
+ currency: string;
12744
+ pending_minor: number;
12745
+ available_minor: number;
12746
+ paid_minor: number;
12747
+ commission_minor: number;
12748
+ provider_fees_minor: number;
12749
+ /** Transfer to a connected provider balance is NOT a confirmed bank payout. */
12750
+ transferred_minor?: number;
12751
+ bank_payout_status?: 'provider_managed_not_reconciled';
12752
+ }>;
12753
+ payouts_enabled: boolean;
12754
+ reserve_days?: number;
12755
+ }
12756
+ type MicrotransactionOperation = 'settings.get' | 'settings.update' | 'products.list' | 'products.create' | 'products.update' | 'products.archive' | 'providers.list' | 'providers.update' | 'providers.refresh' | 'providers.onboarding' | 'readiness.get' | 'orders.list' | 'orders.get' | 'orders.reconcile' | 'earnings.get' | 'refunds.list' | 'refunds.get' | 'refunds.create' | 'refunds.request' | 'refunds.reconcile' | 'delivery.settings.get' | 'delivery.settings.update' | 'deliveries.list' | 'deliveries.replay' | 'deliveries.acknowledge' | 'payouts.list' | 'integration.get' | 'integration.verify';
12757
+ interface MicrotransactionOperationCapability {
12758
+ operation: MicrotransactionOperation;
12759
+ description: string;
12760
+ ability: MicrotransactionAbility;
12761
+ input_schema: Record<string, unknown>;
12762
+ http_method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
12763
+ mutates: boolean;
12764
+ requires_confirmation: false;
12765
+ requires_human_approval: false;
12766
+ examples: Array<Record<string, unknown>>;
12767
+ output_description: string;
12768
+ }
12769
+ interface MicrotransactionCapabilities {
12770
+ schema_version: number;
12771
+ title_id: string;
12772
+ operations: MicrotransactionOperationCapability[];
12773
+ [key: string]: unknown;
12774
+ }
12775
+ /**
12776
+ * Provider-neutral, title-scoped commerce. Configure with user JWT; purchases
12777
+ * use a recoverable user account and limited checkout capability. Install/title
12778
+ * tokens cannot authorize money, ownership, refunds, or catalog changes.
12779
+ *
12780
+ * Each result preserves payment versus fulfillment versus settlement. Redirects
12781
+ * and postMessage events only trigger an authoritative refresh. A timeout is
12782
+ * unknown; reconcile the original attempt instead of charging another provider.
12783
+ */
12784
+ declare class Microtransactions {
12785
+ /**
12786
+ * Upload an image/video through existing Glitch Media processing with title
12787
+ * and actor ownership. Attach its returned Media ID to products/branding.
12788
+ * Does not create a social-library post, scheduler, or new payment product.
12789
+ */
12790
+ static uploadMedia(title_id: string, media: File | Blob, onUploadProgress?: (event: AxiosProgressEvent) => void, options?: Pick<AxiosRequestConfig, 'signal' | 'timeout'>): AxiosPromise<MicrotransactionResponse<MicrotransactionMedia>>;
12791
+ /** Same title-authorized Media pipeline using the caller's MCP credential and commerce:write ability. */
12792
+ static mcpUploadMedia(title_id: string, media: File | Blob, onUploadProgress?: (event: AxiosProgressEvent) => void, options?: Pick<AxiosRequestConfig, 'signal' | 'timeout'>): AxiosPromise<MicrotransactionResponse<MicrotransactionMedia>>;
12793
+ /** Admin settings, including immutable 1200bp commission and readiness blockers. */
12794
+ static settings(title_id: string, options?: MicrotransactionRequestOptions): AxiosPromise<MicrotransactionResponse<MicrotransactionSettings>>;
12795
+ /** Atomic policy update. Sandbox/off by default. Cannot disable the final working revenue model. */
12796
+ static updateSettings(title_id: string, data: MicrotransactionSettingsInput, options?: MicrotransactionRequestOptions): AxiosPromise<MicrotransactionResponse<MicrotransactionSettings>>;
12797
+ /** Read-only current country/provider capability and revenue readiness; never fabricates availability. */
12798
+ static readiness(title_id: string, options?: MicrotransactionRequestOptions): AxiosPromise<MicrotransactionResponse<MicrotransactionReadiness>>;
12799
+ /** Paginated admin catalog including drafts/archives. Default 200, per_page 1–200/page 1–10000. Use exact sku to resolve uncertain creates. */
12800
+ static listProducts(title_id: string, params?: MicrotransactionProductListFilters, options?: MicrotransactionRequestOptions): AxiosPromise<MicrotransactionResponse<{
12801
+ products: MicrotransactionProduct[];
12802
+ pagination: MicrotransactionPurchasePagination;
12803
+ }>>;
12804
+ /** @deprecated Compatibility overload for the earlier second-argument request options. */
12805
+ static listProducts(title_id: string, options?: MicrotransactionRequestOptions): AxiosPromise<MicrotransactionResponse<{
12806
+ products: MicrotransactionProduct[];
12807
+ pagination: MicrotransactionPurchasePagination;
12808
+ }>>;
12809
+ /** Save a catalog product. Prices use integer minor units and attached media must belong to the title. */
12810
+ static createProduct(title_id: string, data: MicrotransactionProductInput, options?: MicrotransactionRequestOptions): AxiosPromise<MicrotransactionResponse<MicrotransactionProduct>>;
12811
+ /** Update a product version. Existing order snapshots remain unchanged. */
12812
+ static updateProduct(title_id: string, product_id: string, data: Partial<MicrotransactionProductInput>, options?: MicrotransactionRequestOptions): AxiosPromise<MicrotransactionResponse<MicrotransactionProduct>>;
12813
+ /** Direct authorized archive. Never deletes financial history or bypasses the last-revenue-model rule. */
12814
+ static archiveProduct(title_id: string, product_id: string, data?: MicrotransactionLegacyConfirmation, options?: MicrotransactionRequestOptions): AxiosPromise<MicrotransactionResponse<MicrotransactionProduct>>;
12815
+ /** Actual provider configuration/capability facts; no credentials or manual approval flag. */
12816
+ static providers(title_id: string, params?: MicrotransactionEnvironmentFilter, options?: MicrotransactionRequestOptions): AxiosPromise<MicrotransactionResponse<{
12817
+ providers: MicrotransactionProvider[];
12818
+ }>>;
12819
+ /** @deprecated Compatibility overload for the earlier second-argument request options. */
12820
+ static providers(title_id: string, options?: MicrotransactionRequestOptions): AxiosPromise<MicrotransactionResponse<{
12821
+ providers: MicrotransactionProvider[];
12822
+ }>>;
12823
+ /** Direct commerce:finance configuration. Saving preferences does not fabricate external capability; inspect available/reasons. */
12824
+ static updateProvider(title_id: string, provider: MicrotransactionProviderName, data: MicrotransactionProviderInput, options?: MicrotransactionRequestOptions): AxiosPromise<MicrotransactionResponse<MicrotransactionProvider>>;
12825
+ /** Refresh authenticated external provider facts. May update cached state; never creates a payment or invents eligibility. */
12826
+ static refreshProvider(title_id: string, provider: MicrotransactionProviderName, data: {
12827
+ environment: MicrotransactionEnvironment;
12828
+ }, options?: MicrotransactionRequestOptions): AxiosPromise<MicrotransactionResponse<MicrotransactionProvider>>;
12829
+ /** Start/reuse owned Stripe Connect onboarding with one stable key. Provider KYC is factual setup, not a Glitch approval workflow. */
12830
+ static createProviderOnboarding(title_id: string, data: MicrotransactionProviderOnboardingInput, options?: MicrotransactionRequestOptions): AxiosPromise<MicrotransactionResponse<MicrotransactionProviderOnboarding>>;
12831
+ /** Read title/environment delivery settings and the Ed25519 PUBLIC verification key. */
12832
+ static getDeliverySettings(title_id: string, params?: MicrotransactionEnvironmentFilter, options?: MicrotransactionRequestOptions): AxiosPromise<MicrotransactionResponse<MicrotransactionDeliverySettings>>;
12833
+ /** Direct commerce:fulfill setup. Private/metadata network targets and private-key inputs remain forbidden. */
12834
+ static updateDeliverySettings(title_id: string, data: MicrotransactionDeliverySettingsInput, options?: MicrotransactionRequestOptions): AxiosPromise<MicrotransactionResponse<MicrotransactionDeliverySettings>>;
12835
+ /** Discover safe event IDs/statuses before replay or acknowledge. Page 1–10000, per_page 1–100, default 25. */
12836
+ static listDeliveries(title_id: string, params?: MicrotransactionDeliveryListFilters, options?: MicrotransactionRequestOptions): AxiosPromise<MicrotransactionResponse<{
12837
+ deliveries: MicrotransactionDelivery[];
12838
+ pagination: MicrotransactionPurchasePagination;
12839
+ }>>;
12840
+ /** Financially scoped refund operation discovery; pending/unknown is not completed. */
12841
+ static listRefunds(title_id: string, params?: MicrotransactionRefundListFilters, options?: MicrotransactionRequestOptions): AxiosPromise<MicrotransactionResponse<{
12842
+ refunds: MicrotransactionRefundRecord[];
12843
+ pagination: MicrotransactionPurchasePagination;
12844
+ }>>;
12845
+ /** Inspect one same-title refund operation. */
12846
+ static getRefund(title_id: string, refund_id: string, options?: MicrotransactionRequestOptions): AxiosPromise<MicrotransactionResponse<MicrotransactionRefundRecord>>;
12847
+ /** Query/retry the original persisted refund with its existing identity, never generate a new refund key. */
12848
+ static reconcileRefund(title_id: string, refund_id: string, options?: MicrotransactionRequestOptions): AxiosPromise<MicrotransactionResponse<MicrotransactionRefundRecord>>;
12849
+ /** Discover provider transfer/payout records; transferred funds are not automatically a verified bank payout. */
12850
+ static listPayouts(title_id: string, params?: MicrotransactionPayoutListFilters, options?: MicrotransactionRequestOptions): AxiosPromise<MicrotransactionResponse<{
12851
+ payouts: MicrotransactionPayout[];
12852
+ pagination: MicrotransactionPurchasePagination;
12853
+ }>>;
12854
+ /** Admin read of separate-currency balances; pending is not withdrawable revenue. */
12855
+ static earnings(title_id: string, params?: MicrotransactionEnvironmentFilter, options?: MicrotransactionRequestOptions): AxiosPromise<MicrotransactionResponse<MicrotransactionEarnings>>;
12856
+ /** Admin paginated redacted orders. Page 1–10000/per_page 1–100 (default 25); own-player history is separate. */
12857
+ static listOrders(title_id: string, params?: MicrotransactionOrderListFilters, options?: MicrotransactionRequestOptions): AxiosPromise<MicrotransactionResponse<{
12858
+ orders: MicrotransactionOrder[];
12859
+ pagination: MicrotransactionPurchasePagination;
12860
+ }>>;
12861
+ /** Owner JWT/scoped player token or title admin. An arbitrary order UUID grants no access. */
12862
+ static getOrder(title_id: string, order_id: string, options?: MicrotransactionRequestOptions): AxiosPromise<MicrotransactionResponse<MicrotransactionOrderDetail>>;
12863
+ /** Financially scoped original-provider reconciliation. Does not reroute or start a different purchase. */
12864
+ static reconcileOrder(title_id: string, order_id: string, options?: MicrotransactionRequestOptions): AxiosPromise<MicrotransactionResponse<MicrotransactionOrderDetail>>;
12865
+ /** Direct commerce:finance refund. REQUIRED stable idempotency_key; omission is an error, never auto-filled. Same-key changed input conflicts. */
12866
+ static refundOrder(title_id: string, order_id: string, data: MicrotransactionRefundInput, options?: MicrotransactionRequestOptions): AxiosPromise<MicrotransactionResponse<MicrotransactionRefund>>;
12867
+ /** Replay the same immutable event. Receiver must deduplicate event_id. This cannot mint goods. */
12868
+ static replayDelivery(title_id: string, delivery_id: string, data?: MicrotransactionLegacyConfirmation, options?: MicrotransactionRequestOptions): AxiosPromise<MicrotransactionResponse<MicrotransactionDeliveryResult>>;
12869
+ /** Public eligible catalog. Sandbox is restricted by backend environment/admin policy. */
12870
+ static catalog(title_id: string, params?: MicrotransactionCatalogFilter, options?: MicrotransactionRequestOptions): AxiosPromise<MicrotransactionResponse<MicrotransactionCatalog>>;
12871
+ /** User-authenticated quote. Clients select product/quantity, never monetary values or seller accounts. */
12872
+ static createQuote(title_id: string, data: MicrotransactionPurchaseInput, options?: MicrotransactionRequestOptions): AxiosPromise<MicrotransactionResponse<MicrotransactionQuote>>;
12873
+ /** Anonymous-safe opening step only. The hosted UI creates/logs into an account before payment. */
12874
+ static createCheckoutSession(title_id: string, data: MicrotransactionCheckoutSessionInput, options?: MicrotransactionRequestOptions): AxiosPromise<MicrotransactionResponse<MicrotransactionCreatedCheckoutSession>>;
12875
+ /** Anonymous-safe inventory recovery. Opens an in-game hosted sign-in overlay, never creates a charge or requires the game's account JWT. */
12876
+ static createRestoreSession(title_id: string, data: {
12877
+ return_origin: string;
12878
+ nonce: string;
12879
+ environment: MicrotransactionEnvironment;
12880
+ }, options?: MicrotransactionRequestOptions): AxiosPromise<MicrotransactionResponse<MicrotransactionCreatedCheckoutSession>>;
12881
+ /** Read the session using its limited capability. Cannot mutate user identity or declare payment. */
12882
+ static getCheckoutSession(title_id: string, session_id: string, options: MicrotransactionSessionOptions): AxiosPromise<MicrotransactionResponse<MicrotransactionCheckoutSession>>;
12883
+ /** Anonymous, read-only embedding policy: server-approved frame ancestors only, no player/session capability data. */
12884
+ static getCheckoutFramePolicy(title_id: string, session_id: string, options?: MicrotransactionRequestOptions): AxiosPromise<MicrotransactionResponse<MicrotransactionFramePolicy>>;
12885
+ /** Anonymous title-wide approved embedding policy for trusted hosted account pages; no player data. */
12886
+ static getFramePolicy(title_id: string, options?: MicrotransactionRequestOptions): AxiosPromise<MicrotransactionResponse<MicrotransactionFramePolicy>>;
12887
+ /** Bind once to the existing authenticated account. Cannot reassign another player's purchase. */
12888
+ static authenticateCheckoutSession(title_id: string, session_id: string, options: MicrotransactionSessionOptions): AxiosPromise<MicrotransactionResponse<MicrotransactionCheckoutSession>>;
12889
+ /** Bound-user JWT + session capability. Reuse the idempotency key after a network timeout. */
12890
+ static checkout(title_id: string, session_id: string, data: MicrotransactionCheckoutInput, options: MicrotransactionSessionOptions): AxiosPromise<MicrotransactionResponse<MicrotransactionCheckoutResult>>;
12891
+ /** Query original provider; never creates another charge. Pending/unknown remains non-terminal. */
12892
+ static reconcileCheckoutSession(title_id: string, session_id: string, options: MicrotransactionSessionOptions): AxiosPromise<MicrotransactionResponse<MicrotransactionOrder>>;
12893
+ /** Hosted checkout only. Server issues an expiring one-time game handoff after verified fulfillment. */
12894
+ static createHandoff(title_id: string, session_id: string, options: MicrotransactionSessionOptions): AxiosPromise<MicrotransactionResponse<MicrotransactionHandoff>>;
12895
+ /** Game exchanges a verified popup code. Browser Origin must match return_origin; code is consumed once. */
12896
+ static claimHandoff(title_id: string, data: MicrotransactionHandoffClaimInput, options?: MicrotransactionRequestOptions): AxiosPromise<MicrotransactionResponse<MicrotransactionHandoffClaim>>;
12897
+ /**
12898
+ * Authenticated hosted Glitch account only: restore a previous purchase into a
12899
+ * NEW nonce-bound session/handoff after the game's 15-minute token expires or
12900
+ * storage is cleared. Does not create another payment. Return to the game via
12901
+ * verified source/origin and a new bridge bound to event.checkout_session_id.
12902
+ */
12903
+ static restoreHandoff(title_id: string, data: {
12904
+ order_id: string;
12905
+ return_origin: string;
12906
+ nonce: string;
12907
+ }, options?: MicrotransactionRequestOptions): AxiosPromise<MicrotransactionResponse<MicrotransactionHandoff>>;
12908
+ /** Record integration proof from a genuinely paid, fulfilled sandbox order with a claimed game handoff. */
12909
+ static verifyIntegration(title_id: string, data: {
12910
+ order_id: string;
12911
+ confirm?: boolean;
12912
+ }, options?: MicrotransactionRequestOptions): AxiosPromise<MicrotransactionResponse<MicrotransactionReadiness>>;
12913
+ /** Restore authoritative durable ownership/current consumable balances, never mutable cloud-save balances. */
12914
+ static listEntitlements(title_id: string, params?: MicrotransactionEnvironmentFilter, options?: MicrotransactionRequestOptions): AxiosPromise<MicrotransactionResponse<{
12915
+ entitlements: MicrotransactionEntitlement[];
12916
+ }>>;
12917
+ /**
12918
+ * Optional self-only purchase/usage history. A user JWT selects that user; a
12919
+ * scoped playerToken selects its bound title/player/environment and requires
12920
+ * the exact approved game Origin. No MCP/install token or caller-selected
12921
+ * user_id/player_id is accepted. JWT environment defaults to live; scoped
12922
+ * tokens default to their bound environment. Admin listOrders stays separate.
12923
+ *
12924
+ * Read response.data.data.purchases and .pagination. Use grant_usage for lot
12925
+ * consumption/refund/expiry status, listEntitlements for current aggregate
12926
+ * inventory, and consume for explicit gameplay spending. History never grants
12927
+ * inventory and durable/pass is_used is null rather than a guessed boolean.
12928
+ */
12929
+ static listMyPurchases(title_id: string, filters?: MicrotransactionMyPurchasesFilters, options?: MicrotransactionRequestOptions): AxiosPromise<MicrotransactionResponse<MicrotransactionMyPurchases>>;
12930
+ /** Atomic tracked spending. Reuse action_id for retries; a new gameplay action needs a new ID. */
12931
+ static consume(title_id: string, data: MicrotransactionConsumeInput, options?: MicrotransactionRequestOptions): AxiosPromise<MicrotransactionResponse<{
12932
+ entitlement: MicrotransactionEntitlement;
12933
+ replayed: boolean;
12934
+ }>>;
12935
+ /** Owning user asks support to review a refund. This does not execute payment reversal. */
12936
+ static requestRefund(title_id: string, data: {
12937
+ order_id: string;
12938
+ reason: string;
12939
+ }, options?: MicrotransactionRequestOptions): AxiosPromise<MicrotransactionResponse<MicrotransactionRefundRequest>>;
12940
+ /** Trusted title server with commerce:fulfill or admin JWT acknowledges the immutable event. */
12941
+ static acknowledgeDelivery(title_id: string, delivery_id: string, data: {
12942
+ event_id: string;
12943
+ }, options?: MicrotransactionRequestOptions): AxiosPromise<MicrotransactionResponse<MicrotransactionDeliveryResult>>;
12944
+ /** Title MCP token, never a runtime install token. Describes arguments, abilities, mutation semantics and provider facts. */
12945
+ static mcpCapabilities(title_id: string, options?: MicrotransactionRequestOptions): AxiosPromise<MicrotransactionResponse<MicrotransactionCapabilities>>;
12946
+ /** Execute a discovered authorized operation directly. Legacy confirm is ignored and not forwarded. */
12947
+ static mcpOperation<T = Record<string, unknown>>(title_id: string, operation: MicrotransactionOperation, data: {
12948
+ arguments: Record<string, unknown>;
12949
+ confirm?: boolean;
12950
+ }, options?: MicrotransactionRequestOptions): AxiosPromise<MicrotransactionResponse<{
12951
+ operation: MicrotransactionOperation;
12952
+ result: T;
12953
+ }>>;
12954
+ private static call;
12955
+ }
12956
+
12957
+ /** A one-time notification, never a receipt or authorization to grant goods. */
12958
+ interface MicrotransactionPurchaseMessage {
12959
+ type: 'glitch.microtransaction.updated';
12960
+ version: 1;
12961
+ title_id: string;
12962
+ checkout_session_id: string;
12963
+ order_id: string;
12964
+ /** Cryptographically random value bound to the checkout session at creation. */
12965
+ nonce: string;
12966
+ /** Server-issued one-time code; not an account or player bearer token. */
12967
+ claim_code: string;
12968
+ }
12969
+ /** Exact authoritative /handoffs/claim response, not the hosted session DTO. */
12970
+ type MicrotransactionVerifiedSession = MicrotransactionHandoffClaim;
12971
+ interface MicrotransactionBridgeOptions<T extends MicrotransactionVerifiedSession> {
12972
+ titleId: string;
12973
+ checkoutSessionId: string;
12974
+ /** Exact trusted Glitch checkout origin, with no path, wildcard, or credentials. */
12975
+ checkoutOrigin: string;
12976
+ /** The actual Window returned by window.open or the checkout iframe.contentWindow. */
12977
+ checkoutWindow: Window;
12978
+ /** At least 128 bits of randomness; use createMicrotransactionNonce(). */
12979
+ nonce: string;
12980
+ /**
12981
+ * Exchange message.claim_code at Glitch using claimHandoff(titleId,
12982
+ * {claim_code, nonce, return_origin: window.location.origin,
12983
+ * checkout_session_id}). Return response.data.data, the actual claim DTO.
12984
+ * The message has already passed source/origin/nonce checks but is still NOT
12985
+ * proof of payment. The server validates and consumes the one-time code.
12986
+ * Never exchange a site-wide login token with the game or put credentials in
12987
+ * postMessage, analytics, logs, or query strings.
12988
+ */
12989
+ verify: (message: MicrotransactionPurchaseMessage) => Promise<T>;
12990
+ /**
12991
+ * Restore using the previously verified scoped token plus getOrder and
12992
+ * listEntitlements. Return the claim identity/token with current inventory.
12993
+ * Never redeem the code again. When its token expires, return the player to
12994
+ * the authenticated hosted flow to obtain a fresh scoped handoff.
12995
+ */
12996
+ refresh?: (previous: T) => Promise<T>;
12997
+ /** Refresh display/inventory from the verified result. Make local effects idempotent. */
12998
+ onVerified: (result: T) => void | Promise<void>;
12999
+ /** A failed refresh is not a failed payment. Keep the same session and retry. */
13000
+ onError?: (error: unknown) => void;
13001
+ /** Explicit local development only; production checkout must use HTTPS. */
13002
+ allowLocalDevelopment?: boolean;
13003
+ /** Defaults to window. Useful for browser integration tests. */
13004
+ eventTarget?: Pick<Window, 'addEventListener' | 'removeEventListener'>;
13005
+ }
13006
+ /** Restore authenticates an existing receipt in Glitch and creates a new session. */
13007
+ interface MicrotransactionRestoreBridgeOptions<T extends MicrotransactionVerifiedSession> extends Omit<MicrotransactionBridgeOptions<T>, 'checkoutSessionId'> {
13008
+ /** Previously verified receipt/order ID. This, not the old expired session ID, is pinned. */
13009
+ orderId: string;
13010
+ }
13011
+ interface MicrotransactionBridge {
13012
+ /**
13013
+ * Refresh only after a successful claim, using options.refresh and its scoped
13014
+ * token. Concurrent refreshes share one request. A lost first-claim response
13015
+ * requires a fresh handoff from the authenticated hosted page, not code replay
13016
+ * or a new payment. No automatic polling or token refresh is performed.
13017
+ */
13018
+ refresh(): Promise<void>;
13019
+ /** Remove the listener. In-flight results cannot call onVerified after disposal. */
13020
+ dispose(): void;
13021
+ }
13022
+ /** Generate a 256-bit browser nonce. Fails closed without secure Web Crypto. */
13023
+ declare function createMicrotransactionNonce(): string;
13024
+ /**
13025
+ * Listen for Glitch-hosted, game-branded checkout changes with strict origin,
13026
+ * source, title, session, and nonce binding. Message data cannot grant an item.
13027
+ * The caller always verifies the session at Glitch before updating inventory.
13028
+ *
13029
+ * Prefer openMicrotransactionOverlay with the exact server-returned URL. The
13030
+ * game stays mounted; no top-level navigation fallback is permitted. If an
13031
+ * embedded flow is unavailable, show retry/close and preserve the game state.
13032
+ * refresh() requires an already verified claim. Keep
13033
+ * secrets in memory/session storage or a URL fragment, never query parameters.
13034
+ * Dispose on game unmount/account change. Reconnect restores ownership through
13035
+ * the authenticated entitlement API, not a saved "purchase successful" flag.
13036
+ */
13037
+ declare function createMicrotransactionBridge<T extends MicrotransactionVerifiedSession>(options: MicrotransactionBridgeOptions<T>): MicrotransactionBridge;
13038
+ /**
13039
+ * Restore-only bridge for /games/:titleId/purchases/restore. Pin the prior order,
13040
+ * fresh nonce, exact Glitch origin and opened window. The hosted signed-in page
13041
+ * creates a NEW session; the server-verified claim must match that new session
13042
+ * and the pinned order. This does not relax purchase-session binding.
13043
+ *
13044
+ * Open the hosted restore page, never request the account JWT in the game.
13045
+ * verify(message) exchanges the code using message.checkout_session_id. All
13046
+ * duplicate-code, expiry and same-player refresh safeguards still apply.
13047
+ */
13048
+ declare function createMicrotransactionRestoreBridge<T extends MicrotransactionVerifiedSession>(options: MicrotransactionRestoreBridgeOptions<T>): MicrotransactionBridge;
13049
+
13050
+ interface MicrotransactionOverlayOptions {
13051
+ titleId: string;
13052
+ /** Exact configured Glitch HTTPS origin, never taken from postMessage data. */
13053
+ checkoutOrigin: string;
13054
+ /** Result of createCheckoutSession or createRestoreSession; keep its capability private. */
13055
+ session: MicrotransactionCreatedCheckoutSession;
13056
+ /** Replace displayed inventory from verified backend data; never increment blindly. */
13057
+ onVerified: (claim: MicrotransactionHandoffClaim) => void | Promise<void>;
13058
+ /** Pause game input/audio here. The SDK never unmounts or resets the game. */
13059
+ onOpen?: () => void;
13060
+ /** Resume game input/audio here. Called once, even on escape/error cleanup. */
13061
+ onClose?: (reason: 'dismissed' | 'completed' | 'unavailable') => void;
13062
+ /** Receipt/status-only update after close; this callback does not authorize item grants. */
13063
+ onOrderUpdate?: (order: MicrotransactionOrder | null) => void | Promise<void>;
13064
+ onError?: (error: unknown) => void;
13065
+ label?: string;
13066
+ /** Permit HTTP loopback/.test origins only for explicit local development. */
13067
+ allowLocalDevelopment?: boolean;
13068
+ /** Defaults to the caller's document, including when the game itself is embedded. */
13069
+ document?: Document;
13070
+ /** Bounded network timeout; defaults to 15 seconds. */
13071
+ timeoutMs?: number;
13072
+ /** Per-phase iframe load/application-ready timeout; 1–60 seconds, defaults to 20 seconds. */
13073
+ frameLoadTimeoutMs?: number;
13074
+ }
13075
+ /** Hosted page signals usable checkout/account UI, never payment or inventory authority. */
13076
+ interface MicrotransactionReadyMessage {
13077
+ type: 'glitch.microtransaction.ready';
13078
+ version: 1;
13079
+ title_id: string;
13080
+ checkout_session_id: string;
13081
+ nonce: string;
13082
+ }
13083
+ interface MicrotransactionOverlay {
13084
+ readonly element: HTMLDialogElement;
13085
+ readonly iframe: HTMLIFrameElement;
13086
+ /** Refresh verified inventory, or limited receipt status before the first claim. */
13087
+ refresh(): Promise<void>;
13088
+ /** Removes only this modal, restores focus/input, and refreshes authoritative state. */
13089
+ close(reason?: 'dismissed' | 'completed' | 'unavailable'): Promise<void>;
13090
+ /** Reload only the same checkout iframe/session. Never starts another payment. */
13091
+ retry(): void;
13092
+ }
13093
+ /**
13094
+ * Mount Glitch checkout IN the running game. The game document, URL and session
13095
+ * stay intact. Uses a modal dialog with focus restore and a sandboxed payment
13096
+ * iframe. No top-navigation permission or top-level/popup-blocked fallback exists.
13097
+ * Only bank/OAuth verification may open a controlled provider window from inside
13098
+ * the frame. If embedding is unavailable, show retry/close instead of navigating.
13099
+ *
13100
+ * Receipt messages must originate from this exact iframe.contentWindow and pass
13101
+ * origin/title/session/nonce checks. The SDK redeems the one-time claim at Glitch
13102
+ * and uses the returned scoped player token only on commerce requests. Closing
13103
+ * does not cancel an uncertain payment, grant goods, or discard the game state.
13104
+ */
13105
+ declare function openMicrotransactionOverlay(options: MicrotransactionOverlayOptions): MicrotransactionOverlay;
13106
+ /** Same in-game modal for anonymous-safe restore sessions; never opens a new payment. */
13107
+ declare function openMicrotransactionRestoreOverlay(options: MicrotransactionOverlayOptions): MicrotransactionOverlay;
13108
+
11893
13109
  interface Route {
11894
13110
  url: string;
11895
13111
  method: string;
@@ -11918,13 +13134,17 @@ declare class Requests {
11918
13134
  static put<T>(url: string, data: any, params?: Record<string, any>): AxiosPromise<Response<T>>;
11919
13135
  static patch<T>(url: string, data: any, params?: Record<string, any>): AxiosPromise<Response<T>>;
11920
13136
  static delete<T>(url: string, params?: Record<string, any>): AxiosPromise<Response<T>>;
11921
- static uploadFile<T>(url: string, filename: string, file: File | Blob, data?: any, params?: Record<string, any>, onUploadProgress?: (progressEvent: AxiosProgressEvent) => void): AxiosPromise<Response<T>>;
13137
+ static uploadFile<T>(url: string, filename: string, file: File | Blob, data?: any, params?: Record<string, any>, onUploadProgress?: (progressEvent: AxiosProgressEvent) => void, options?: Pick<AxiosRequestConfig, 'signal' | 'timeout'> & {
13138
+ excludeCommunityContext?: boolean;
13139
+ }): AxiosPromise<Response<T>>;
11922
13140
  static postFormData<T>(url: string, formData: FormData, params?: Record<string, any>, onUploadProgress?: (progressEvent: AxiosProgressEvent) => void): AxiosPromise<Response<T>>;
11923
13141
  static uploadBlob<T>(url: string, filename: string, blob: Blob, data?: any, params?: Record<string, any>, onUploadProgress?: (progressEvent: AxiosProgressEvent) => void): AxiosPromise<Response<T>>;
11924
13142
  static uploadFileInChunks<T>(file: File, uploadUrl: string, onProgress?: (totalSize: number, amountUploaded: number) => void, data?: any, chunkSize?: number): Promise<void>;
11925
13143
  static processRoute<T>(route: Route, data?: object, routeReplace?: {
11926
13144
  [key: string]: any;
11927
- }, params?: Record<string, any>): AxiosPromise<Response<T>>;
13145
+ }, params?: Record<string, any>, options?: Pick<AxiosRequestConfig, 'signal' | 'timeout' | 'headers'> & {
13146
+ excludeCommunityContext?: boolean;
13147
+ }): AxiosPromise<Response<T>>;
11928
13148
  }
11929
13149
 
11930
13150
  declare class Parser {
@@ -12238,6 +13458,7 @@ declare class Glitch {
12238
13458
  Newsletters: typeof Newsletters;
12239
13459
  PlayTests: typeof PlayTests;
12240
13460
  Media: typeof Media;
13461
+ FestivalNetworking: typeof FestivalNetworking;
12241
13462
  Scheduler: typeof Scheduler;
12242
13463
  RedditSubreddits: typeof RedditSubreddits;
12243
13464
  Funnel: typeof Funnel;
@@ -12263,6 +13484,7 @@ declare class Glitch {
12263
13484
  GameAdvertising: typeof GameAdvertising;
12264
13485
  Hosting: typeof Hosting;
12265
13486
  GameDesign: typeof GameDesign;
13487
+ Microtransactions: typeof Microtransactions;
12266
13488
  };
12267
13489
  static util: {
12268
13490
  Requests: typeof Requests;
@@ -12352,4 +13574,4 @@ declare class Glitch {
12352
13574
  };
12353
13575
  }
12354
13576
 
12355
- export { Glitch as default };
13577
+ export { type FestivalApplicationInput, type FestivalApplicationState, type FestivalConversation, type FestivalMediaUpload, type FestivalNetworkingFilters, type FestivalNetworkingProfile, type FestivalNetworkingResponse, type FestivalNetworkingSettings, type FestivalPost, type FestivalPostInput, type FestivalPostKind, type FestivalPostState, type FestivalPreferences, type FestivalReportInput, type FestivalRequestOptions, type FestivalWorkType, type MicrotransactionAbility, type MicrotransactionBranding, type MicrotransactionBridge, type MicrotransactionBridgeOptions, type MicrotransactionCapabilities, type MicrotransactionCatalog, type MicrotransactionCatalogFilter, type MicrotransactionCheckoutInput, type MicrotransactionCheckoutResult, type MicrotransactionCheckoutSession, type MicrotransactionCheckoutSessionInput, type MicrotransactionConsumeInput, type MicrotransactionCreatedCheckoutSession, type MicrotransactionCurrency, type MicrotransactionDelivery, type MicrotransactionDeliveryListFilters, type MicrotransactionDeliveryResult, type MicrotransactionDeliverySettings, type MicrotransactionDeliverySettingsInput, type MicrotransactionDeliveryStatus, type MicrotransactionEarnings, type MicrotransactionEntitlement, type MicrotransactionEnvironment, type MicrotransactionEnvironmentFilter, type MicrotransactionError, type MicrotransactionErrorCode, type MicrotransactionFramePolicy, type MicrotransactionFulfillmentStatus, type MicrotransactionGrant, type MicrotransactionGrantUsage, type MicrotransactionGrantUsageStatus, type MicrotransactionHandoff, type MicrotransactionHandoffClaim, type MicrotransactionHandoffClaimInput, type MicrotransactionLegacyConfirmation, type MicrotransactionManagementListFilters, type MicrotransactionMedia, type MicrotransactionMyPurchases, type MicrotransactionMyPurchasesFilters, type MicrotransactionOperation, type MicrotransactionOperationCapability, type MicrotransactionOrder, type MicrotransactionOrderDetail, type MicrotransactionOrderListFilters, type MicrotransactionOverlay, type MicrotransactionOverlayOptions, type MicrotransactionPaymentStatus, type MicrotransactionPayout, type MicrotransactionPayoutListFilters, type MicrotransactionPayoutStatus, type MicrotransactionPlayerPurchase, type MicrotransactionPrice, type MicrotransactionProduct, type MicrotransactionProductInput, type MicrotransactionProductListFilters, type MicrotransactionProductStatus, type MicrotransactionProductType, type MicrotransactionProvider, type MicrotransactionProviderConfiguration, type MicrotransactionProviderInput, type MicrotransactionProviderName, type MicrotransactionProviderOnboarding, type MicrotransactionProviderOnboardingInput, type MicrotransactionProviderSku, type MicrotransactionPurchaseInput, type MicrotransactionPurchaseMessage, type MicrotransactionPurchasePagination, type MicrotransactionQuote, type MicrotransactionReadiness, type MicrotransactionReadyMessage, type MicrotransactionRefund, type MicrotransactionRefundInput, type MicrotransactionRefundListFilters, type MicrotransactionRefundRecord, type MicrotransactionRefundRequest, type MicrotransactionRefundStatus, type MicrotransactionRelatedListFilters, type MicrotransactionRequestOptions, type MicrotransactionResponse, type MicrotransactionRestoreBridgeOptions, type MicrotransactionSessionOptions, type MicrotransactionSettings, type MicrotransactionSettingsInput, type MicrotransactionVerifiedSession, createMicrotransactionBridge, createMicrotransactionNonce, createMicrotransactionRestoreBridge, Glitch as default, openMicrotransactionOverlay, openMicrotransactionRestoreOverlay };