glitch-javascript-sdk 3.9.5 → 3.9.7

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
@@ -4107,6 +4107,31 @@ type GameReviewRecommendation = 'recommended' | 'not_recommended' | 'neutral';
4107
4107
  type GameReviewSentiment = 'positive' | 'mixed' | 'negative';
4108
4108
  type GameReviewVoteType = 'helpful' | 'funny' | 'detailed' | 'not_helpful';
4109
4109
  type GameReviewReportReason = 'abuse' | 'spam' | 'off_topic' | 'manipulation' | 'hate' | 'personal_info' | 'other';
4110
+ type TitleTokenPurpose = 'install' | 'deploy' | 'hosting';
4111
+ type TitleTokenAbility = 'deployments:*' | 'deployments:create' | 'deployments:read' | 'deployments:activate' | 'hosting:*' | 'hosting:read' | 'hosting:deploy' | 'hosting:promote';
4112
+ interface CreateTitleTokenRequest {
4113
+ expires_at?: string;
4114
+ name?: string;
4115
+ purpose?: TitleTokenPurpose;
4116
+ abilities?: TitleTokenAbility[];
4117
+ }
4118
+ interface TitleToken {
4119
+ id: string;
4120
+ title_id: string;
4121
+ name?: string | null;
4122
+ purpose: TitleTokenPurpose;
4123
+ token_prefix: string;
4124
+ abilities: TitleTokenAbility[];
4125
+ expires_at?: string | null;
4126
+ revoked: boolean;
4127
+ last_used_at?: string | null;
4128
+ created_at?: string;
4129
+ }
4130
+ interface CreatedTitleToken {
4131
+ /** Full secret value. Returned once and never retrievable again. */
4132
+ full_token: string;
4133
+ token: TitleToken;
4134
+ }
4110
4135
  interface GameReviewRatings {
4111
4136
  gameplay?: GameReviewSentiment;
4112
4137
  performance?: GameReviewSentiment;
@@ -4315,17 +4340,15 @@ declare class Titles {
4315
4340
  * Create a new API token for a title.
4316
4341
  * Returns { full_token: string, token: TitleToken }.
4317
4342
  */
4318
- static createTitleToken<T>(title_id: string, data?: {
4319
- expires_at?: string;
4320
- }): AxiosPromise<Response<T>>;
4343
+ static createTitleToken<T = CreatedTitleToken>(title_id: string, data?: CreateTitleTokenRequest): AxiosPromise<Response<T>>;
4321
4344
  /**
4322
4345
  * List all tokens for a title.
4323
4346
  */
4324
- static listTitleTokens<T>(title_id: string): AxiosPromise<Response<T>>;
4347
+ static listTitleTokens<T = TitleToken[]>(title_id: string): AxiosPromise<Response<T>>;
4325
4348
  /**
4326
4349
  * Revoke a specific token by ID.
4327
4350
  */
4328
- static revokeTitleToken<T>(title_id: string, token_id: string): AxiosPromise<Response<T>>;
4351
+ static revokeTitleToken<T = TitleToken>(title_id: string, token_id: string): AxiosPromise<Response<T>>;
4329
4352
  /**
4330
4353
  * Search for Titles using Meilisearch or fallback based on the query and filters.
4331
4354
  *
@@ -11568,6 +11591,12 @@ declare class Hosting {
11568
11591
  static activateMarketplaceSubscription<T>(subscription_id: string, community_id: string): AxiosPromise<Response<T>>;
11569
11592
  /** Retrieve safe Microsoft Marketplace entitlement and lifecycle status. */
11570
11593
  static marketplaceSubscription<T>(subscription_id: string): AxiosPromise<Response<T>>;
11594
+ /** Claim the one-time Glitch code created after AWS ResolveCustomer succeeds. */
11595
+ static resolveAwsMarketplacePurchase<T>(activation_code: string): AxiosPromise<Response<T>>;
11596
+ /** Connect a paid AWS Marketplace contract to one Glitch business account. */
11597
+ static activateAwsMarketplaceSubscription<T>(subscription_id: string, community_id: string): AxiosPromise<Response<T>>;
11598
+ /** Refresh and retrieve the safe AWS Marketplace entitlement state. */
11599
+ static awsMarketplaceSubscription<T>(subscription_id: string): AxiosPromise<Response<T>>;
11571
11600
  static createSite<T>(title_id: string, data: CreateHostingSiteRequest): AxiosPromise<Response<T>>;
11572
11601
  static updateSite<T>(title_id: string, site_id: string, data: Partial<CreateHostingSiteRequest> & Record<string, any>): AxiosPromise<Response<T>>;
11573
11602
  static createUploadUrl<T>(title_id: string, site_id: string): AxiosPromise<Response<T>>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "glitch-javascript-sdk",
3
- "version": "3.9.5",
3
+ "version": "3.9.7",
4
4
  "description": "Javascript SDK for Glitch",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -9,7 +9,7 @@ export type HostingMode = 'static' | 'server';
9
9
  export type HostingDatabaseEngine = 'postgresql' | 'mysql' | 'azure_sql' | 'cosmos_nosql';
10
10
  export type HostingDatabasePlan = 'sandbox' | 'launch' | 'growth' | 'scale' | 'dedicated';
11
11
  export type HostingDeliveryChannel = 'glitch_store' | 'glitch_hosted_subdomain' | 'glitch_hosted_custom_domain' | 'external';
12
- export type HostingBillingProvider = 'direct' | 'microsoft_marketplace';
12
+ export type HostingBillingProvider = 'direct' | 'microsoft_marketplace' | 'aws_marketplace';
13
13
 
14
14
  export interface HostingAccount {
15
15
  id: string;
@@ -19,6 +19,7 @@ export interface HostingAccount {
19
19
  status: string;
20
20
  billing_provider: HostingBillingProvider;
21
21
  microsoft_marketplace_subscription_id?: string | null;
22
+ aws_marketplace_subscription_id?: string | null;
22
23
  included_bandwidth_bytes: number;
23
24
  used_bandwidth_bytes: number;
24
25
  remaining_bandwidth_bytes: number;
@@ -138,6 +139,23 @@ export interface HostingMarketplaceSubscription {
138
139
  activated_at?: string | null;
139
140
  }
140
141
 
142
+ export interface HostingAwsMarketplaceSubscription {
143
+ id: string;
144
+ customer_aws_account_id?: string | null;
145
+ license_arn: string;
146
+ product_code: string;
147
+ plan_dimension?: string | null;
148
+ plan_key?: Exclude<HostingPlanKey, 'free'> | null;
149
+ status: 'PendingRegistration' | 'PendingEntitlement' | 'Subscribed' | 'Unsubscribed';
150
+ entitlement_value: number;
151
+ entitlement_expires_at?: string | null;
152
+ community_id?: string | null;
153
+ hosting_account_id?: string | null;
154
+ activated_at?: string | null;
155
+ last_synced_at?: string | null;
156
+ manage_url: string;
157
+ }
158
+
141
159
  /**
142
160
  * Typed SDK for game website hosting, Azure database add-ons, domains, usage,
143
161
  * deployment instructions, and hosted-play attribution.
@@ -180,6 +198,21 @@ class Hosting {
180
198
  return Requests.processRoute(HostingRoute.routes.marketplaceSubscription, undefined, { subscription_id });
181
199
  }
182
200
 
201
+ /** Claim the one-time Glitch code created after AWS ResolveCustomer succeeds. */
202
+ public static resolveAwsMarketplacePurchase<T>(activation_code: string): AxiosPromise<Response<T>> {
203
+ return Requests.processRoute(HostingRoute.routes.resolveAwsMarketplacePurchase, { activation_code });
204
+ }
205
+
206
+ /** Connect a paid AWS Marketplace contract to one Glitch business account. */
207
+ public static activateAwsMarketplaceSubscription<T>(subscription_id: string, community_id: string): AxiosPromise<Response<T>> {
208
+ return Requests.processRoute(HostingRoute.routes.activateAwsMarketplaceSubscription, { community_id }, { subscription_id });
209
+ }
210
+
211
+ /** Refresh and retrieve the safe AWS Marketplace entitlement state. */
212
+ public static awsMarketplaceSubscription<T>(subscription_id: string): AxiosPromise<Response<T>> {
213
+ return Requests.processRoute(HostingRoute.routes.awsMarketplaceSubscription, undefined, { subscription_id });
214
+ }
215
+
183
216
  public static createSite<T>(title_id: string, data: CreateHostingSiteRequest): AxiosPromise<Response<T>> {
184
217
  return Requests.processRoute(HostingRoute.routes.createSite, data, { title_id });
185
218
  }
package/src/api/Titles.ts CHANGED
@@ -8,6 +8,43 @@ export type GameReviewSentiment = 'positive' | 'mixed' | 'negative';
8
8
  export type GameReviewVoteType = 'helpful' | 'funny' | 'detailed' | 'not_helpful';
9
9
  export type GameReviewReportReason = 'abuse' | 'spam' | 'off_topic' | 'manipulation' | 'hate' | 'personal_info' | 'other';
10
10
 
11
+ export type TitleTokenPurpose = 'install' | 'deploy' | 'hosting';
12
+ export type TitleTokenAbility =
13
+ | 'deployments:*'
14
+ | 'deployments:create'
15
+ | 'deployments:read'
16
+ | 'deployments:activate'
17
+ | 'hosting:*'
18
+ | 'hosting:read'
19
+ | 'hosting:deploy'
20
+ | 'hosting:promote';
21
+
22
+ export interface CreateTitleTokenRequest {
23
+ expires_at?: string;
24
+ name?: string;
25
+ purpose?: TitleTokenPurpose;
26
+ abilities?: TitleTokenAbility[];
27
+ }
28
+
29
+ export interface TitleToken {
30
+ id: string;
31
+ title_id: string;
32
+ name?: string | null;
33
+ purpose: TitleTokenPurpose;
34
+ token_prefix: string;
35
+ abilities: TitleTokenAbility[];
36
+ expires_at?: string | null;
37
+ revoked: boolean;
38
+ last_used_at?: string | null;
39
+ created_at?: string;
40
+ }
41
+
42
+ export interface CreatedTitleToken {
43
+ /** Full secret value. Returned once and never retrievable again. */
44
+ full_token: string;
45
+ token: TitleToken;
46
+ }
47
+
11
48
  export interface GameReviewRatings {
12
49
  gameplay?: GameReviewSentiment;
13
50
  performance?: GameReviewSentiment;
@@ -305,9 +342,9 @@ class Titles {
305
342
  * Create a new API token for a title.
306
343
  * Returns { full_token: string, token: TitleToken }.
307
344
  */
308
- public static createTitleToken<T>(
345
+ public static createTitleToken<T = CreatedTitleToken>(
309
346
  title_id: string,
310
- data?: { expires_at?: string }
347
+ data?: CreateTitleTokenRequest
311
348
  ): AxiosPromise<Response<T>> {
312
349
  return Requests.processRoute(
313
350
  TitlesRoute.routes.createToken,
@@ -319,7 +356,7 @@ class Titles {
319
356
  /**
320
357
  * List all tokens for a title.
321
358
  */
322
- public static listTitleTokens<T>(
359
+ public static listTitleTokens<T = TitleToken[]>(
323
360
  title_id: string
324
361
  ): AxiosPromise<Response<T>> {
325
362
  return Requests.processRoute(
@@ -332,7 +369,7 @@ class Titles {
332
369
  /**
333
370
  * Revoke a specific token by ID.
334
371
  */
335
- public static revokeTitleToken<T>(
372
+ public static revokeTitleToken<T = TitleToken>(
336
373
  title_id: string,
337
374
  token_id: string
338
375
  ): AxiosPromise<Response<T>> {
@@ -12,6 +12,9 @@ class HostingRoute {
12
12
  resolveMarketplacePurchase: { url: '/hosting/marketplace/resolve', method: HTTP_METHODS.POST },
13
13
  activateMarketplaceSubscription: { url: '/hosting/marketplace/subscriptions/{subscription_id}/activate', method: HTTP_METHODS.POST },
14
14
  marketplaceSubscription: { url: '/hosting/marketplace/subscriptions/{subscription_id}', method: HTTP_METHODS.GET },
15
+ resolveAwsMarketplacePurchase: { url: '/hosting/aws-marketplace/resolve', method: HTTP_METHODS.POST },
16
+ activateAwsMarketplaceSubscription: { url: '/hosting/aws-marketplace/subscriptions/{subscription_id}/activate', method: HTTP_METHODS.POST },
17
+ awsMarketplaceSubscription: { url: '/hosting/aws-marketplace/subscriptions/{subscription_id}', method: HTTP_METHODS.GET },
15
18
  createSite: { url: '/titles/{title_id}/hosting/sites', method: HTTP_METHODS.POST },
16
19
  updateSite: { url: '/titles/{title_id}/hosting/sites/{site_id}', method: HTTP_METHODS.PUT },
17
20
  uploadUrl: { url: '/titles/{title_id}/hosting/sites/{site_id}/upload-url', method: HTTP_METHODS.POST },