@neta-art/cohub 2.0.0 → 2.1.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.
@@ -30,6 +30,7 @@ type CohubClientOptions = {
30
30
  declare class HttpError extends Error {
31
31
  readonly status: number;
32
32
  readonly body: unknown;
33
+ readonly code: string | null;
33
34
  constructor(message: string, status: number, body: unknown);
34
35
  }
35
36
  declare class HttpTransport {
@@ -399,6 +400,31 @@ type BillingCatalogProduct = {
399
400
  display: BillingProductDisplay;
400
401
  isDefaultPlan: boolean;
401
402
  };
403
+ type SpaceCommerceFeatureBenefit = {
404
+ key: string;
405
+ name: string;
406
+ description: string | null;
407
+ status: string;
408
+ config: {
409
+ metadata: Record<string, string | number | boolean>;
410
+ };
411
+ };
412
+ type SpaceCommerceProductBenefitBinding = {
413
+ id: string | null;
414
+ productKey: string;
415
+ benefitKey: string;
416
+ createdAt: string | null;
417
+ };
418
+ type SpaceCommerceOrder = {
419
+ id: string;
420
+ productKeySnapshot: string;
421
+ productNameSnapshot: string;
422
+ status: string;
423
+ amountSnapshot: number;
424
+ paidAmountSnapshot: number;
425
+ createdAt: string;
426
+ paidAt: string | null;
427
+ };
402
428
  type BillingSubscriptionSummary = {
403
429
  id: string;
404
430
  productKey: string | null;
@@ -494,7 +520,7 @@ type BillingRedemptionResult = {
494
520
  };
495
521
  type BillingConversionIntent = {
496
522
  level: "soft" | "hard";
497
- reason: "negative_balance" | "negative_balance_limit_exceeded";
523
+ reason: "negative_balance" | "negative_balance_limit_exceeded" | "feature_not_entitled";
498
524
  audience: "free" | "paid" | "unknown";
499
525
  preferredOfferKind: "plan" | "upgrade" | "addon" | "mixed";
500
526
  title: string;
@@ -2074,6 +2100,89 @@ declare class SpaceLabelsApi {
2074
2100
  assignments: LabelAssignmentRecord[];
2075
2101
  }>;
2076
2102
  }
2103
+ declare class SpaceCommerceApi {
2104
+ private readonly transport;
2105
+ private readonly spaceId;
2106
+ constructor(transport: HttpTransport, spaceId: string);
2107
+ setup(): Promise<{
2108
+ businessKey: string;
2109
+ }>;
2110
+ listProducts(): Promise<{
2111
+ products: BillingCatalogProduct[];
2112
+ businessKey: string;
2113
+ }>;
2114
+ createProduct(input: {
2115
+ key?: string;
2116
+ name: string;
2117
+ description?: string;
2118
+ amountUsd: number;
2119
+ status?: "draft" | "active";
2120
+ visibility?: "public" | "private";
2121
+ }): Promise<{
2122
+ product: BillingCatalogProduct;
2123
+ businessKey: string;
2124
+ }>;
2125
+ updateProduct(productKey: string, input: {
2126
+ name?: string;
2127
+ description?: string | null;
2128
+ status?: "draft" | "active" | "archived";
2129
+ visibility?: "public" | "private";
2130
+ }): Promise<{
2131
+ product: BillingCatalogProduct;
2132
+ businessKey: string;
2133
+ }>;
2134
+ listBenefits(): Promise<{
2135
+ benefits: SpaceCommerceFeatureBenefit[];
2136
+ businessKey: string;
2137
+ }>;
2138
+ createBenefit(input: {
2139
+ key?: string;
2140
+ name: string;
2141
+ description?: string;
2142
+ metadata?: Record<string, string | number | boolean>;
2143
+ }): Promise<{
2144
+ benefit: SpaceCommerceFeatureBenefit;
2145
+ businessKey: string;
2146
+ }>;
2147
+ updateBenefit(benefitKey: string, input: {
2148
+ name?: string;
2149
+ description?: string | null;
2150
+ status?: "active" | "archived";
2151
+ metadata?: Record<string, string | number | boolean>;
2152
+ }): Promise<{
2153
+ benefit: SpaceCommerceFeatureBenefit;
2154
+ businessKey: string;
2155
+ }>;
2156
+ listProductBenefits(): Promise<{
2157
+ productBenefits: SpaceCommerceProductBenefitBinding[];
2158
+ businessKey: string;
2159
+ }>;
2160
+ bindProductBenefit(input: {
2161
+ productKey: string;
2162
+ benefitKey: string;
2163
+ }): Promise<{
2164
+ productBenefit: SpaceCommerceProductBenefitBinding;
2165
+ businessKey: string;
2166
+ }>;
2167
+ unbindProductBenefit(input: {
2168
+ productKey: string;
2169
+ benefitKey: string;
2170
+ }): Promise<{
2171
+ ok: true;
2172
+ businessKey: string;
2173
+ }>;
2174
+ listOrders(input?: {
2175
+ page?: number;
2176
+ limit?: number;
2177
+ }): Promise<{
2178
+ orders: SpaceCommerceOrder[];
2179
+ pagination: {
2180
+ hasMore: boolean;
2181
+ nextPage: number | null;
2182
+ };
2183
+ businessKey: string;
2184
+ }>;
2185
+ }
2077
2186
  declare class SpaceCanvasApi {
2078
2187
  private readonly transport;
2079
2188
  private readonly spaceId;
@@ -2142,6 +2251,7 @@ declare class SpaceClient {
2142
2251
  readonly invitations: SpaceInvitationsApi;
2143
2252
  readonly labels: SpaceLabelsApi;
2144
2253
  readonly canvas: SpaceCanvasApi;
2254
+ readonly commerce: SpaceCommerceApi;
2145
2255
  constructor(id: string, transport: HttpTransport, websocketClient: WebsocketClient | null);
2146
2256
  get(customFetch?: Fetch): Promise<SpaceRecord>;
2147
2257
  prompt(input: CreateSpacePromptInput): Promise<CreateSpacePromptResponse>;
@@ -2361,6 +2471,60 @@ declare class WorksApi {
2361
2471
  }): Promise<WorkAuthorizeResponse>;
2362
2472
  }
2363
2473
  //#endregion
2474
+ //#region src/apis/work-commerce.d.ts
2475
+ type WorkCommerceEntitlementCheckItem = {
2476
+ benefitKey: string;
2477
+ enabled: boolean;
2478
+ reason: "active_grant" | "no_active_grant" | "benefit_not_found" | "benefit_not_feature";
2479
+ metadata: Record<string, string | number | boolean> | null;
2480
+ };
2481
+ type WorkCommerceCheckoutStatus = "success" | "failed" | "cancel" | null;
2482
+ type WorkCommerceProductResolveResponse = {
2483
+ products: BillingCatalogProduct[];
2484
+ };
2485
+ type WorkCommerceEntitlementsResponse = {
2486
+ entitlements: WorkCommerceEntitlementCheckItem[];
2487
+ checkedAt: string;
2488
+ businessKey: string;
2489
+ };
2490
+ type WorkCommercePurchaseResponse = {
2491
+ checkout: {
2492
+ providerKey: string | null;
2493
+ checkoutUrl: string | null;
2494
+ checkoutUsable: boolean;
2495
+ status: string | null;
2496
+ message: string | null;
2497
+ orderId: string;
2498
+ productKey: string;
2499
+ };
2500
+ };
2501
+ type WorkCommerceOrder = {
2502
+ id: string;
2503
+ productKeySnapshot: string;
2504
+ productNameSnapshot: string;
2505
+ status: string;
2506
+ amountSnapshot: number;
2507
+ paidAmountSnapshot: number;
2508
+ createdAt: string;
2509
+ paidAt: string | null;
2510
+ };
2511
+ declare class WorkCommerceApi {
2512
+ private readonly transport;
2513
+ constructor(transport: HttpTransport);
2514
+ resolveProducts(workId: string, input: {
2515
+ productKeys: string[];
2516
+ }): Promise<WorkCommerceProductResolveResponse>;
2517
+ checkEntitlements(workId: string, input: {
2518
+ benefitKeys: string[];
2519
+ }): Promise<WorkCommerceEntitlementsResponse>;
2520
+ purchase(workId: string, input: {
2521
+ productKey: string;
2522
+ }): Promise<WorkCommercePurchaseResponse>;
2523
+ getOrder(workId: string, orderId: string): Promise<{
2524
+ order: WorkCommerceOrder;
2525
+ }>;
2526
+ }
2527
+ //#endregion
2364
2528
  //#region src/http.d.ts
2365
2529
  declare class CohubHttpClient {
2366
2530
  readonly spaces: SpacesApi;
@@ -2376,10 +2540,11 @@ declare class CohubHttpClient {
2376
2540
  readonly cronJobs: CronJobsApi;
2377
2541
  readonly invite: PublicInviteApi;
2378
2542
  readonly works: WorksApi;
2543
+ readonly workCommerce: WorkCommerceApi;
2379
2544
  private readonly transport;
2380
2545
  constructor(options?: CohubClientOptions);
2381
2546
  space(spaceId: string): SpaceClient;
2382
2547
  }
2383
2548
  declare const createHttpClient: (options?: CohubClientOptions) => CohubHttpClient;
2384
2549
  //#endregion
2385
- export { CreatePublicAssetUploadInput as $, SpaceDefaultResponse as $n, decodeGenerationPolicy as $r, CreateSpacePromptInput as $t, AssistantMessageCommit as A, PublicUserProfile as An, SpacePublicProfile as Ar, BillingPluginStatus as At, GenerationStreamSubscriptionHandlers as B, SessionTurnSignedUrlsResponse as Bn, TaskRunRecord as Br, CanvasBootstrapResponse as Bt, SessionSubscriptionHandlers as C, LabelSource as Cn, SpaceInvitation as Cr, BillingConversionIntent as Ct, SpacesApi as D, PromptAccessMode as Dn, SpaceModListItem as Dr, BillingCreditUnit as Dt, SpaceEventName as E, Permission as En, SpaceMeta as Er, BillingCreditStatus as Et, GenerationStreamIntermediateMessage as F, SessionMessagesPaginatedResponse as Fn, SpaceSessionsResponse as Fr, BillingProductPricing as Ft, SessionPatchApplyInput as G, SpaceAccessPolicy as Gn, GenerationTaskResult as Gr, CanvasSemanticOp as Gt, SessionGenerationStreamClient as H, SessionTurnWindowResponse as Hn, UserRulesResponse as Hr, CanvasDocumentRecord as Ht, GenerationStreamLifecycleEvent as I, SessionMessagesResponse as In, SpaceUsageHourlyStat as Ir, BillingRedemptionResult as It, SessionPatchState as J, SpaceCheckpointDetailResponse as Jn, GenerationModelPolicy as Jr, CheckpointRecord as Jt, SessionPatchApplyResult as K, SpaceBootstrapSource as Kn, ListGenerationModelsResponse as Kr, CanvasTransactionInput as Kt, GenerationStreamOutOfSyncEvent as L, SessionRecord as Ln, SpaceUsageResponse as Lr, BillingSubscriptionHistoryList as Lt, GenerationStreamErrorEvent as M, SendMessageCronJobPayload as Mn, SpaceRole as Mr, BillingProductCreditBenefit as Mt, GenerationStreamEvent as N, SessionBindingRecord as Nn, SpaceSandboxAutoDestroyPolicy as Nr, BillingProductDisplay as Nt, WebSocketConnectionState as O, PromptTemplateCatalogEntry as On, SpacePresenceSnapshot as Or, BillingHistoryPagination as Ot, GenerationStreamFinalizedEvent as P, SessionMessageResponse as Pn, SpaceSandboxConfig as Pr, BillingProductKind as Pt, SearchApi as Q, SpaceCreateResponse as Qn, assertGenerationRequestAllowedByPolicy as Qr, CreateSpaceModInput as Qt, GenerationStreamStateEvent as R, SessionTurnIndexResponse as Rn, SpaceUsageSummary as Rr, BillingSubscriptionHistoryStatus as Rt, SessionEventName as S, LabelScopeType as Sn, SpaceFsWriteFileInput as Sr, BillingCheckoutResult as St, SpaceClient as T, ModelCatalogEntry as Tn, SpaceMember as Tr, BillingCreditGrantStatus as Tt, createSessionGenerationStreamClient as U, SessionTurnsPaginatedResponse as Un, CreateGenerationTaskRequest as Ur, CanvasNodeInput as Ut, GenerationStreamTurnUpdatedEvent as V, SessionTurnStreamSnapshotResponse as Vn, UserProfile as Vr, CanvasCreateInput as Vt, parseAssistantMessageCommit as W, SpaceAccess as Wn, CreateGenerationTaskResponse as Wr, CanvasNodeRecord as Wt, createSessionPatchReducer as X, SpaceConfigInput as Xn, GenerationPolicy as Xr, CreateInvitationResponse as Xt, SessionPatchStatus as Y, SpaceConfig as Yn, GenerationParameterConstraint as Yr, CreateInvitationInput as Yt, SessionAccessApi as Z, SpaceConfigResponse as Zn, GenerationPolicyError as Zr, CreateSpaceInput as Zt, WorkVersionRecord as _, LabelAssignmentPageInfo as _n, SpaceFsUploadError as _r, BillingBalanceActivityList as _t, WorkDetailResponse as a, parseGenerationPolicyFromEnv as ai, CursorPageInfo as an, SpaceFsEncoding as ar, UploadPublicAssetInput as at, UserApi as b, LabelRecord as bn, SpaceFsUploadProgress as br, BillingCatalogProduct as bt, WorkPresentationMeta as c, DiscordChannelConfig as ci, ExploreSpacesResponse as cn, SpaceFsFileResponse as cr, GenerationsApi as ct, WorkRecord as d, HttpError as di, GlobalSearchType as dn, SpaceFsReadFilesError as dr, AcceptInvitationResponse as dt, encodeGenerationPolicy as ei, CreateSpacePromptResponse as en, SpaceEnvInput as er, CreatePublicAssetUploadResponse as et, WorkResolveResponse as f, HttpTransport as fi, InvitationDetail as fn, SpaceFsReadFilesInput as fr, ApiError as ft, WorkUpdateInput as g, LabelAssignmentListItem as gn, SpaceFsUploadEntry as gr, BillingBalanceActivityKind as gt, WorkTargetType as h, JsonValue as hn, SpaceFsUploadDestination as hr, BillingBalanceActivity as ht, WorkCreateInput as i, normalizeGenerationPolicy as ii, CronJobUpdatePatch as in, SpaceFsCreateUploadResponse as ir, UploadChatImageAttachmentInput as it, GenerationStreamCommitEvent as j, ResourceLabelsResponse as jn, SpaceRecord as jr, BillingProductBillingInterval as jt, PublicInviteApi as k, PromptTemplateCatalogResponse as kn, SpacePresenceUser as kr, BillingPaymentStatus as kt, WorkPublicOwnerRecord as l, CohubClientOptions as li, GlobalSearchResponse as ln, SpaceFsMoveInput as lr, CronJobsApi as lt, WorkStatus as m, JsonPrimitive as mn, SpaceFsTreeResponse as mr, BillingAccessWarning as mt, createHttpClient as n, findGenerationModelPolicy as ni, CronJobPayload as nn, SpaceFsCompleteUploadResponse as nr, PublicAssetPurpose as nt, WorkGetResponse as o, GenerationContentBlock as oi, ExploreSection as on, SpaceFsEntry as or, PromptsApi as ot, WorkSessionResponse as p, RawHttpResponse as pi, JsonObject as pn, SpaceFsReadFilesResponse as pr, BatchUserProfilesResponse as pt, SessionPatchReducer as q, SpaceChannelBindingInput as qn, PublicGenerationDeclaration as qr, Channel as qt, WorkAuthorizeResponse as r, getAllowedGenerationModelIds as ri, CronJobRecord as rn, SpaceFsCreateUploadInput as rr, PublicAssetsApi as rt, WorkMeta as s, ChannelConfig as si, ExploreSpaceItem as sn, SpaceFsFileKind as sr, ModelsApi as st, CohubHttpClient as t, filterGenerationDeclarationsByPolicy as ti, CreateSpaceSessionInput as tn, SpaceFsCompleteUploadInput as tr, PublicAssetMimeType as tt, WorkPublicSpaceRecord as u, Fetch as ui, GlobalSearchResult as un, SpaceFsPreparingFile as ur, ChannelsApi as ut, WorkVisibility as v, LabelAssignmentRecord as vn, SpaceFsUploadPlanEntry as vr, BillingBalanceActivityStatus as vt, SpaceChannelBindingRecord as w, MeResponse as wn, SpaceListItem as wr, BillingCreditExpiryGroup as wt, TasksApi as x, LabelResourceType as xn, SpaceFsUploadResponse as xr, BillingCheckoutActionState as xt, WorksApi as y, LabelListItem as yn, SpaceFsUploadPlanEntryInput as yr, BillingCatalog as yt, GenerationStreamSubscribeOptions as z, SessionTurnResponse as zn, TaskRunDetailResponse as zr, BillingSubscriptionSummary as zt };
2550
+ export { SessionPatchApplyResult as $, SpaceBootstrapSource as $n, CreateGenerationTaskRequest as $r, CanvasTransactionInput as $t, SessionSubscriptionHandlers as A, LabelSource as An, SpaceFsUploadProgress as Ar, BillingConversionIntent as At, GenerationStreamEvent as B, SessionBindingRecord as Bn, SpacePublicProfile as Br, BillingProductDisplay as Bt, WorkUpdateInput as C, RawHttpResponse as Ci, LabelAssignmentListItem as Cn, SpaceFsReadFilesResponse as Cr, BillingBalanceActivityKind as Ct, UserApi as D, LabelRecord as Dn, SpaceFsUploadError as Dr, BillingCatalogProduct as Dt, WorksApi as E, LabelListItem as En, SpaceFsUploadEntry as Er, BillingCatalog as Et, WebSocketConnectionState as F, PromptTemplateCatalogEntry as Fn, SpaceMember as Fr, BillingHistoryPagination as Ft, GenerationStreamStateEvent as G, SessionTurnIndexResponse as Gn, SpaceSessionsResponse as Gr, BillingSubscriptionHistoryStatus as Gt, GenerationStreamIntermediateMessage as H, SessionMessagesPaginatedResponse as Hn, SpaceRole as Hr, BillingProductPricing as Ht, PublicInviteApi as I, PromptTemplateCatalogResponse as In, SpaceMeta as Ir, BillingPaymentStatus as It, GenerationStreamTurnUpdatedEvent as J, SessionTurnStreamSnapshotResponse as Jn, SpaceUsageSummary as Jr, CanvasCreateInput as Jt, GenerationStreamSubscribeOptions as K, SessionTurnResponse as Kn, SpaceUsageHourlyStat as Kr, BillingSubscriptionSummary as Kt, AssistantMessageCommit as L, PublicUserProfile as Ln, SpaceModListItem as Lr, BillingPluginStatus as Lt, SpaceClient as M, ModelCatalogEntry as Mn, SpaceFsWriteFileInput as Mr, BillingCreditGrantStatus as Mt, SpaceEventName as N, Permission as Nn, SpaceInvitation as Nr, BillingCreditStatus as Nt, TasksApi as O, LabelResourceType as On, SpaceFsUploadPlanEntry as Or, BillingCheckoutActionState as Ot, SpacesApi as P, PromptAccessMode as Pn, SpaceListItem as Pr, BillingCreditUnit as Pt, SessionPatchApplyInput as Q, SpaceAccessPolicy as Qn, UserRulesResponse as Qr, CanvasSemanticOp as Qt, GenerationStreamCommitEvent as R, ResourceLabelsResponse as Rn, SpacePresenceSnapshot as Rr, BillingProductBillingInterval as Rt, WorkTargetType as S, HttpTransport as Si, JsonValue as Sn, SpaceFsReadFilesInput as Sr, BillingBalanceActivity as St, WorkVisibility as T, LabelAssignmentRecord as Tn, SpaceFsUploadDestination as Tr, BillingBalanceActivityStatus as Tt, GenerationStreamLifecycleEvent as U, SessionMessagesResponse as Un, SpaceSandboxAutoDestroyPolicy as Ur, BillingRedemptionResult as Ut, GenerationStreamFinalizedEvent as V, SessionMessageResponse as Vn, SpaceRecord as Vr, BillingProductKind as Vt, GenerationStreamOutOfSyncEvent as W, SessionRecord as Wn, SpaceSandboxConfig as Wr, BillingSubscriptionHistoryList as Wt, createSessionGenerationStreamClient as X, SessionTurnsPaginatedResponse as Xn, TaskRunRecord as Xr, CanvasNodeInput as Xt, SessionGenerationStreamClient as Y, SessionTurnWindowResponse as Yn, TaskRunDetailResponse as Yr, CanvasDocumentRecord as Yt, parseAssistantMessageCommit as Z, SpaceAccess as Zn, UserProfile as Zr, CanvasNodeRecord as Zt, WorkPublicSpaceRecord as _, ChannelConfig as _i, GlobalSearchResult as _n, SpaceFsFileKind as _r, ChannelsApi as _t, WorkCommerceEntitlementCheckItem as a, GenerationParameterConstraint as ai, CreateSpaceModInput as an, SpaceConfig as ar, SearchApi as at, WorkSessionResponse as b, Fetch as bi, JsonObject as bn, SpaceFsPreparingFile as br, BatchUserProfilesResponse as bt, WorkCommerceProductResolveResponse as c, assertGenerationRequestAllowedByPolicy as ci, CreateSpaceSessionInput as cn, SpaceCreateResponse as cr, PublicAssetMimeType as ct, WorkCreateInput as d, filterGenerationDeclarationsByPolicy as di, CronJobUpdatePatch as dn, SpaceFsCompleteUploadInput as dr, UploadChatImageAttachmentInput as dt, CreateGenerationTaskResponse as ei, Channel as en, SpaceChannelBindingInput as er, SessionPatchReducer as et, WorkDetailResponse as f, findGenerationModelPolicy as fi, CursorPageInfo as fn, SpaceFsCompleteUploadResponse as fr, UploadPublicAssetInput as ft, WorkPublicOwnerRecord as g, GenerationContentBlock as gi, GlobalSearchResponse as gn, SpaceFsEntry as gr, CronJobsApi as gt, WorkPresentationMeta as h, parseGenerationPolicyFromEnv as hi, ExploreSpacesResponse as hn, SpaceFsEncoding as hr, GenerationsApi as ht, WorkCommerceCheckoutStatus as i, GenerationModelPolicy as ii, CreateSpaceInput as in, SpaceCommerceProductBenefitBinding as ir, SessionAccessApi as it, SpaceChannelBindingRecord as j, MeResponse as jn, SpaceFsUploadResponse as jr, BillingCreditExpiryGroup as jt, SessionEventName as k, LabelScopeType as kn, SpaceFsUploadPlanEntryInput as kr, BillingCheckoutResult as kt, WorkCommercePurchaseResponse as l, decodeGenerationPolicy as li, CronJobPayload as ln, SpaceDefaultResponse as lr, PublicAssetPurpose as lt, WorkMeta as m, normalizeGenerationPolicy as mi, ExploreSpaceItem as mn, SpaceFsCreateUploadResponse as mr, ModelsApi as mt, createHttpClient as n, ListGenerationModelsResponse as ni, CreateInvitationInput as nn, SpaceCommerceFeatureBenefit as nr, SessionPatchStatus as nt, WorkCommerceEntitlementsResponse as o, GenerationPolicy as oi, CreateSpacePromptInput as on, SpaceConfigInput as or, CreatePublicAssetUploadInput as ot, WorkGetResponse as p, getAllowedGenerationModelIds as pi, ExploreSection as pn, SpaceFsCreateUploadInput as pr, PromptsApi as pt, GenerationStreamSubscriptionHandlers as q, SessionTurnSignedUrlsResponse as qn, SpaceUsageResponse as qr, CanvasBootstrapResponse as qt, WorkCommerceApi as r, PublicGenerationDeclaration as ri, CreateInvitationResponse as rn, SpaceCommerceOrder as rr, createSessionPatchReducer as rt, WorkCommerceOrder as s, GenerationPolicyError as si, CreateSpacePromptResponse as sn, SpaceConfigResponse as sr, CreatePublicAssetUploadResponse as st, CohubHttpClient as t, GenerationTaskResult as ti, CheckpointRecord as tn, SpaceCheckpointDetailResponse as tr, SessionPatchState as tt, WorkAuthorizeResponse as u, encodeGenerationPolicy as ui, CronJobRecord as un, SpaceEnvInput as ur, PublicAssetsApi as ut, WorkRecord as v, DiscordChannelConfig as vi, GlobalSearchType as vn, SpaceFsFileResponse as vr, AcceptInvitationResponse as vt, WorkVersionRecord as w, LabelAssignmentPageInfo as wn, SpaceFsTreeResponse as wr, BillingBalanceActivityList as wt, WorkStatus as x, HttpError as xi, JsonPrimitive as xn, SpaceFsReadFilesError as xr, BillingAccessWarning as xt, WorkResolveResponse as y, CohubClientOptions as yi, InvitationDetail as yn, SpaceFsMoveInput as yr, ApiError as yt, GenerationStreamErrorEvent as z, SendMessageCronJobPayload as zn, SpacePresenceUser as zr, BillingProductCreditBenefit as zt };
@@ -278,14 +278,23 @@ const messageFromErrorBody = (body, fallback) => {
278
278
  }
279
279
  return fallback;
280
280
  };
281
+ function errorCodeFromBody(body) {
282
+ if (!body || typeof body !== "object") return null;
283
+ const errorBody = body;
284
+ if (typeof errorBody.code === "string" && errorBody.code.trim()) return errorBody.code;
285
+ if (typeof errorBody.error?.code === "string" && errorBody.error.code.trim()) return errorBody.error.code;
286
+ return null;
287
+ }
281
288
  var HttpError = class extends Error {
282
289
  status;
283
290
  body;
291
+ code;
284
292
  constructor(message, status, body) {
285
293
  super(message);
286
294
  this.name = "HttpError";
287
295
  this.status = status;
288
296
  this.body = body;
297
+ this.code = errorCodeFromBody(body);
289
298
  }
290
299
  };
291
300
  var HttpTransport = class {
@@ -2003,6 +2012,74 @@ var SpaceLabelsApi = class {
2003
2012
  });
2004
2013
  }
2005
2014
  };
2015
+ var SpaceCommerceApi = class {
2016
+ transport;
2017
+ spaceId;
2018
+ constructor(transport, spaceId) {
2019
+ this.transport = transport;
2020
+ this.spaceId = spaceId;
2021
+ }
2022
+ setup() {
2023
+ return this.transport.request(`/api/spaces/${this.spaceId}/commerce/setup`, { method: "POST" });
2024
+ }
2025
+ listProducts() {
2026
+ return this.transport.request(`/api/spaces/${this.spaceId}/commerce/products`);
2027
+ }
2028
+ createProduct(input) {
2029
+ return this.transport.request(`/api/spaces/${this.spaceId}/commerce/products`, {
2030
+ method: "POST",
2031
+ headers: { "Content-Type": "application/json" },
2032
+ body: JSON.stringify(input)
2033
+ });
2034
+ }
2035
+ updateProduct(productKey, input) {
2036
+ return this.transport.request(`/api/spaces/${this.spaceId}/commerce/products/${encodeURIComponent(productKey)}`, {
2037
+ method: "PATCH",
2038
+ headers: { "Content-Type": "application/json" },
2039
+ body: JSON.stringify(input)
2040
+ });
2041
+ }
2042
+ listBenefits() {
2043
+ return this.transport.request(`/api/spaces/${this.spaceId}/commerce/benefits`);
2044
+ }
2045
+ createBenefit(input) {
2046
+ return this.transport.request(`/api/spaces/${this.spaceId}/commerce/benefits`, {
2047
+ method: "POST",
2048
+ headers: { "Content-Type": "application/json" },
2049
+ body: JSON.stringify(input)
2050
+ });
2051
+ }
2052
+ updateBenefit(benefitKey, input) {
2053
+ return this.transport.request(`/api/spaces/${this.spaceId}/commerce/benefits/${encodeURIComponent(benefitKey)}`, {
2054
+ method: "PATCH",
2055
+ headers: { "Content-Type": "application/json" },
2056
+ body: JSON.stringify(input)
2057
+ });
2058
+ }
2059
+ listProductBenefits() {
2060
+ return this.transport.request(`/api/spaces/${this.spaceId}/commerce/product-benefits`);
2061
+ }
2062
+ bindProductBenefit(input) {
2063
+ return this.transport.request(`/api/spaces/${this.spaceId}/commerce/product-benefits`, {
2064
+ method: "POST",
2065
+ headers: { "Content-Type": "application/json" },
2066
+ body: JSON.stringify(input)
2067
+ });
2068
+ }
2069
+ unbindProductBenefit(input) {
2070
+ const params = new URLSearchParams({
2071
+ productKey: input.productKey,
2072
+ benefitKey: input.benefitKey
2073
+ });
2074
+ return this.transport.request(`/api/spaces/${this.spaceId}/commerce/product-benefits?${params.toString()}`, { method: "DELETE" });
2075
+ }
2076
+ listOrders(input) {
2077
+ const params = new URLSearchParams();
2078
+ if (input?.page) params.set("page", String(input.page));
2079
+ if (input?.limit) params.set("limit", String(input.limit));
2080
+ return this.transport.request(`/api/spaces/${this.spaceId}/commerce/orders${params.toString() ? `?${params.toString()}` : ""}`);
2081
+ }
2082
+ };
2006
2083
  var SpaceCanvasApi = class {
2007
2084
  transport;
2008
2085
  spaceId;
@@ -2105,6 +2182,7 @@ var SpaceClient = class {
2105
2182
  invitations;
2106
2183
  labels;
2107
2184
  canvas;
2185
+ commerce;
2108
2186
  constructor(id, transport, websocketClient) {
2109
2187
  this.id = id;
2110
2188
  this.transport = transport;
@@ -2123,6 +2201,7 @@ var SpaceClient = class {
2123
2201
  this.invitations = new SpaceInvitationsApi(transport, id);
2124
2202
  this.labels = new SpaceLabelsApi(transport, id);
2125
2203
  this.canvas = new SpaceCanvasApi(transport, id);
2204
+ this.commerce = new SpaceCommerceApi(transport, id);
2126
2205
  }
2127
2206
  get(customFetch) {
2128
2207
  return this.transport.request(`/api/spaces/${this.id}`, { fetch: customFetch });
@@ -2356,6 +2435,38 @@ var WorksApi = class {
2356
2435
  }
2357
2436
  };
2358
2437
  //#endregion
2438
+ //#region src/apis/work-commerce.ts
2439
+ var WorkCommerceApi = class {
2440
+ transport;
2441
+ constructor(transport) {
2442
+ this.transport = transport;
2443
+ }
2444
+ resolveProducts(workId, input) {
2445
+ return this.transport.request(`/api/works/${encodeURIComponent(workId)}/commerce/products/resolve`, {
2446
+ method: "POST",
2447
+ headers: { "Content-Type": "application/json" },
2448
+ body: JSON.stringify(input)
2449
+ });
2450
+ }
2451
+ checkEntitlements(workId, input) {
2452
+ return this.transport.request(`/api/works/${encodeURIComponent(workId)}/commerce/entitlements/check`, {
2453
+ method: "POST",
2454
+ headers: { "Content-Type": "application/json" },
2455
+ body: JSON.stringify(input)
2456
+ });
2457
+ }
2458
+ purchase(workId, input) {
2459
+ return this.transport.request(`/api/works/${encodeURIComponent(workId)}/commerce/purchase`, {
2460
+ method: "POST",
2461
+ headers: { "Content-Type": "application/json" },
2462
+ body: JSON.stringify(input)
2463
+ });
2464
+ }
2465
+ getOrder(workId, orderId) {
2466
+ return this.transport.request(`/api/works/${encodeURIComponent(workId)}/commerce/orders/${encodeURIComponent(orderId)}`);
2467
+ }
2468
+ };
2469
+ //#endregion
2359
2470
  //#region src/http.ts
2360
2471
  var CohubHttpClient = class {
2361
2472
  spaces;
@@ -2371,6 +2482,7 @@ var CohubHttpClient = class {
2371
2482
  cronJobs;
2372
2483
  invite;
2373
2484
  works;
2485
+ workCommerce;
2374
2486
  transport;
2375
2487
  constructor(options = {}) {
2376
2488
  const apiBaseUrl = resolveApiBaseUrl(options);
@@ -2388,6 +2500,7 @@ var CohubHttpClient = class {
2388
2500
  this.cronJobs = new CronJobsApi(this.transport);
2389
2501
  this.invite = new PublicInviteApi(this.transport);
2390
2502
  this.works = new WorksApi(this.transport);
2503
+ this.workCommerce = new WorkCommerceApi(this.transport);
2391
2504
  }
2392
2505
  space(spaceId) {
2393
2506
  return new SpaceClient(spaceId, this.transport, null);
@@ -2395,4 +2508,4 @@ var CohubHttpClient = class {
2395
2508
  };
2396
2509
  const createHttpClient = (options) => new CohubHttpClient(options);
2397
2510
  //#endregion
2398
- export { ChannelsApi as C, CronJobsApi as S, SearchApi as _, TasksApi as a, ModelsApi as b, PublicInviteApi as c, parseAssistantMessageCommit as d, SessionPatchReducer as f, SessionAccessApi as g, HttpTransport as h, UserApi as i, SessionGenerationStreamClient as l, HttpError as m, createHttpClient as n, SpaceClient as o, createSessionPatchReducer as p, WorksApi as r, SpacesApi as s, CohubHttpClient as t, createSessionGenerationStreamClient as u, PublicAssetsApi as v, GenerationsApi as x, PromptsApi as y };
2511
+ export { CronJobsApi as C, GenerationsApi as S, SessionAccessApi as _, UserApi as a, PromptsApi as b, SpacesApi as c, createSessionGenerationStreamClient as d, parseAssistantMessageCommit as f, HttpTransport as g, HttpError as h, WorksApi as i, PublicInviteApi as l, createSessionPatchReducer as m, createHttpClient as n, TasksApi as o, SessionPatchReducer as p, WorkCommerceApi as r, SpaceClient as s, CohubHttpClient as t, SessionGenerationStreamClient as u, SearchApi as v, ChannelsApi as w, ModelsApi as x, PublicAssetsApi as y };
package/dist/http.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  import { C as ContentBlock, _ as SessionForkRecord, b as SessionTurnIndexItem, h as MessageRecord, x as SessionTurnRecord, y as SessionTurnSegmentRecord } from "./chunks/websocket.js";
2
- import { $n as SpaceDefaultResponse, $t as CreateSpacePromptInput, An as PublicUserProfile, Ar as SpacePublicProfile, At as BillingPluginStatus, Bn as SessionTurnSignedUrlsResponse, Br as TaskRunRecord, Bt as CanvasBootstrapResponse, Cn as LabelSource, Cr as SpaceInvitation, Ct as BillingConversionIntent, Dn as PromptAccessMode, Dr as SpaceModListItem, Dt as BillingCreditUnit, En as Permission, Er as SpaceMeta, Et as BillingCreditStatus, Fn as SessionMessagesPaginatedResponse, Fr as SpaceSessionsResponse, Ft as BillingProductPricing, Gn as SpaceAccessPolicy, Gr as GenerationTaskResult, Gt as CanvasSemanticOp, Hn as SessionTurnWindowResponse, Hr as UserRulesResponse, Ht as CanvasDocumentRecord, In as SessionMessagesResponse, Ir as SpaceUsageHourlyStat, It as BillingRedemptionResult, Jn as SpaceCheckpointDetailResponse, Jt as CheckpointRecord, Kn as SpaceBootstrapSource, Kr as ListGenerationModelsResponse, Kt as CanvasTransactionInput, Ln as SessionRecord, Lr as SpaceUsageResponse, Lt as BillingSubscriptionHistoryList, Mn as SendMessageCronJobPayload, Mr as SpaceRole, Mt as BillingProductCreditBenefit, Nn as SessionBindingRecord, Nr as SpaceSandboxAutoDestroyPolicy, Nt as BillingProductDisplay, On as PromptTemplateCatalogEntry, Or as SpacePresenceSnapshot, Ot as BillingHistoryPagination, Pn as SessionMessageResponse, Pr as SpaceSandboxConfig, Pt as BillingProductKind, Qn as SpaceCreateResponse, Qt as CreateSpaceModInput, Rn as SessionTurnIndexResponse, Rr as SpaceUsageSummary, Rt as BillingSubscriptionHistoryStatus, Sn as LabelScopeType, Sr as SpaceFsWriteFileInput, St as BillingCheckoutResult, Tn as ModelCatalogEntry, Tr as SpaceMember, Tt as BillingCreditGrantStatus, Un as SessionTurnsPaginatedResponse, Ur as CreateGenerationTaskRequest, Ut as CanvasNodeInput, Vn as SessionTurnStreamSnapshotResponse, Vr as UserProfile, Vt as CanvasCreateInput, Wn as SpaceAccess, Wr as CreateGenerationTaskResponse, Wt as CanvasNodeRecord, Xn as SpaceConfigInput, Xr as GenerationPolicy, Xt as CreateInvitationResponse, Yn as SpaceConfig, Yt as CreateInvitationInput, Zn as SpaceConfigResponse, Zt as CreateSpaceInput, _n as LabelAssignmentPageInfo, _r as SpaceFsUploadError, _t as BillingBalanceActivityList, an as CursorPageInfo, ar as SpaceFsEncoding, bn as LabelRecord, br as SpaceFsUploadProgress, bt as BillingCatalogProduct, ci as DiscordChannelConfig, cn as ExploreSpacesResponse, cr as SpaceFsFileResponse, di as HttpError, dn as GlobalSearchType, dr as SpaceFsReadFilesError, dt as AcceptInvitationResponse, en as CreateSpacePromptResponse, er as SpaceEnvInput, fi as HttpTransport, fn as InvitationDetail, fr as SpaceFsReadFilesInput, ft as ApiError, gn as LabelAssignmentListItem, gr as SpaceFsUploadEntry, gt as BillingBalanceActivityKind, hn as JsonValue, hr as SpaceFsUploadDestination, ht as BillingBalanceActivity, in as CronJobUpdatePatch, ir as SpaceFsCreateUploadResponse, jn as ResourceLabelsResponse, jr as SpaceRecord, jt as BillingProductBillingInterval, kn as PromptTemplateCatalogResponse, kr as SpacePresenceUser, kt as BillingPaymentStatus, li as CohubClientOptions, ln as GlobalSearchResponse, lr as SpaceFsMoveInput, mn as JsonPrimitive, mr as SpaceFsTreeResponse, mt as BillingAccessWarning, n as createHttpClient, nn as CronJobPayload, nr as SpaceFsCompleteUploadResponse, oi as GenerationContentBlock, on as ExploreSection, or as SpaceFsEntry, pn as JsonObject, pr as SpaceFsReadFilesResponse, pt as BatchUserProfilesResponse, qn as SpaceChannelBindingInput, qr as PublicGenerationDeclaration, qt as Channel, rn as CronJobRecord, rr as SpaceFsCreateUploadInput, si as ChannelConfig, sn as ExploreSpaceItem, sr as SpaceFsFileKind, t as CohubHttpClient, tn as CreateSpaceSessionInput, tr as SpaceFsCompleteUploadInput, ui as Fetch, un as GlobalSearchResult, ur as SpaceFsPreparingFile, vn as LabelAssignmentRecord, vr as SpaceFsUploadPlanEntry, vt as BillingBalanceActivityStatus, wn as MeResponse, wr as SpaceListItem, wt as BillingCreditExpiryGroup, xn as LabelResourceType, xr as SpaceFsUploadResponse, xt as BillingCheckoutActionState, yn as LabelListItem, yr as SpaceFsUploadPlanEntryInput, yt as BillingCatalog, zn as SessionTurnResponse, zr as TaskRunDetailResponse, zt as BillingSubscriptionSummary } from "./chunks/http.js";
3
- export { AcceptInvitationResponse, ApiError, BatchUserProfilesResponse, BillingAccessWarning, BillingBalanceActivity, BillingBalanceActivityKind, BillingBalanceActivityList, BillingBalanceActivityStatus, BillingCatalog, BillingCatalogProduct, BillingCheckoutActionState, BillingCheckoutResult, BillingConversionIntent, BillingCreditExpiryGroup, BillingCreditGrantStatus, BillingCreditStatus, BillingCreditUnit, BillingHistoryPagination, BillingPaymentStatus, BillingPluginStatus, BillingProductBillingInterval, BillingProductCreditBenefit, BillingProductDisplay, BillingProductKind, BillingProductPricing, BillingRedemptionResult, BillingSubscriptionHistoryList, BillingSubscriptionHistoryStatus, BillingSubscriptionSummary, CanvasBootstrapResponse, CanvasCreateInput, CanvasDocumentRecord, CanvasNodeInput, CanvasNodeRecord, CanvasSemanticOp, CanvasTransactionInput, Channel, type ChannelConfig, CheckpointRecord, type CohubClientOptions, CohubHttpClient, type ContentBlock, type CreateGenerationTaskRequest, type CreateGenerationTaskResponse, CreateInvitationInput, CreateInvitationResponse, CreateSpaceInput, CreateSpaceModInput, CreateSpacePromptInput, CreateSpacePromptResponse, CreateSpaceSessionInput, CronJobPayload, CronJobRecord, CronJobUpdatePatch, CursorPageInfo, type DiscordChannelConfig, ExploreSection, ExploreSpaceItem, ExploreSpacesResponse, type Fetch, type GenerationContentBlock, type GenerationPolicy, type GenerationTaskResult, GlobalSearchResponse, GlobalSearchResult, GlobalSearchType, HttpError, HttpTransport, InvitationDetail, JsonObject, JsonPrimitive, JsonValue, LabelAssignmentListItem, LabelAssignmentPageInfo, LabelAssignmentRecord, LabelListItem, LabelRecord, LabelResourceType, LabelScopeType, LabelSource, type ListGenerationModelsResponse, MeResponse, type MessageRecord, ModelCatalogEntry, Permission, PromptAccessMode, PromptTemplateCatalogEntry, PromptTemplateCatalogResponse, type PublicGenerationDeclaration, PublicUserProfile, ResourceLabelsResponse, SendMessageCronJobPayload, SessionBindingRecord, type SessionForkRecord, SessionMessageResponse, SessionMessagesPaginatedResponse, SessionMessagesResponse, SessionRecord, type SessionTurnIndexItem, SessionTurnIndexResponse, type SessionTurnRecord, SessionTurnResponse, type SessionTurnSegmentRecord, SessionTurnSignedUrlsResponse, SessionTurnStreamSnapshotResponse, SessionTurnWindowResponse, SessionTurnsPaginatedResponse, SpaceAccess, SpaceAccessPolicy, SpaceBootstrapSource, SpaceChannelBindingInput, SpaceCheckpointDetailResponse, SpaceConfig, SpaceConfigInput, SpaceConfigResponse, SpaceCreateResponse, SpaceDefaultResponse, SpaceEnvInput, SpaceFsCompleteUploadInput, SpaceFsCompleteUploadResponse, SpaceFsCreateUploadInput, SpaceFsCreateUploadResponse, SpaceFsEncoding, SpaceFsEntry, SpaceFsFileKind, SpaceFsFileResponse, SpaceFsMoveInput, SpaceFsPreparingFile, SpaceFsReadFilesError, SpaceFsReadFilesInput, SpaceFsReadFilesResponse, SpaceFsTreeResponse, SpaceFsUploadDestination, SpaceFsUploadEntry, SpaceFsUploadError, SpaceFsUploadPlanEntry, SpaceFsUploadPlanEntryInput, SpaceFsUploadProgress, SpaceFsUploadResponse, SpaceFsWriteFileInput, SpaceInvitation, SpaceListItem, SpaceMember, SpaceMeta, SpaceModListItem, SpacePresenceSnapshot, SpacePresenceUser, SpacePublicProfile, SpaceRecord, SpaceRole, SpaceSandboxAutoDestroyPolicy, SpaceSandboxConfig, SpaceSessionsResponse, SpaceUsageHourlyStat, SpaceUsageResponse, SpaceUsageSummary, TaskRunDetailResponse, TaskRunRecord, UserProfile, UserRulesResponse, createHttpClient };
2
+ import { $n as SpaceBootstrapSource, $r as CreateGenerationTaskRequest, $t as CanvasTransactionInput, An as LabelSource, Ar as SpaceFsUploadProgress, At as BillingConversionIntent, Bn as SessionBindingRecord, Br as SpacePublicProfile, Bt as BillingProductDisplay, Cn as LabelAssignmentListItem, Cr as SpaceFsReadFilesResponse, Ct as BillingBalanceActivityKind, Dn as LabelRecord, Dr as SpaceFsUploadError, Dt as BillingCatalogProduct, En as LabelListItem, Er as SpaceFsUploadEntry, Et as BillingCatalog, Fn as PromptTemplateCatalogEntry, Fr as SpaceMember, Ft as BillingHistoryPagination, Gn as SessionTurnIndexResponse, Gr as SpaceSessionsResponse, Gt as BillingSubscriptionHistoryStatus, Hn as SessionMessagesPaginatedResponse, Hr as SpaceRole, Ht as BillingProductPricing, In as PromptTemplateCatalogResponse, Ir as SpaceMeta, It as BillingPaymentStatus, Jn as SessionTurnStreamSnapshotResponse, Jr as SpaceUsageSummary, Jt as CanvasCreateInput, Kn as SessionTurnResponse, Kr as SpaceUsageHourlyStat, Kt as BillingSubscriptionSummary, Ln as PublicUserProfile, Lr as SpaceModListItem, Lt as BillingPluginStatus, Mn as ModelCatalogEntry, Mr as SpaceFsWriteFileInput, Mt as BillingCreditGrantStatus, Nn as Permission, Nr as SpaceInvitation, Nt as BillingCreditStatus, On as LabelResourceType, Or as SpaceFsUploadPlanEntry, Ot as BillingCheckoutActionState, Pn as PromptAccessMode, Pr as SpaceListItem, Pt as BillingCreditUnit, Qn as SpaceAccessPolicy, Qr as UserRulesResponse, Qt as CanvasSemanticOp, Rn as ResourceLabelsResponse, Rr as SpacePresenceSnapshot, Rt as BillingProductBillingInterval, Si as HttpTransport, Sn as JsonValue, Sr as SpaceFsReadFilesInput, St as BillingBalanceActivity, Tn as LabelAssignmentRecord, Tr as SpaceFsUploadDestination, Tt as BillingBalanceActivityStatus, Un as SessionMessagesResponse, Ur as SpaceSandboxAutoDestroyPolicy, Ut as BillingRedemptionResult, Vn as SessionMessageResponse, Vr as SpaceRecord, Vt as BillingProductKind, Wn as SessionRecord, Wr as SpaceSandboxConfig, Wt as BillingSubscriptionHistoryList, Xn as SessionTurnsPaginatedResponse, Xr as TaskRunRecord, Xt as CanvasNodeInput, Yn as SessionTurnWindowResponse, Yr as TaskRunDetailResponse, Yt as CanvasDocumentRecord, Zn as SpaceAccess, Zr as UserProfile, Zt as CanvasNodeRecord, _i as ChannelConfig, _n as GlobalSearchResult, _r as SpaceFsFileKind, an as CreateSpaceModInput, ar as SpaceConfig, bi as Fetch, bn as JsonObject, br as SpaceFsPreparingFile, bt as BatchUserProfilesResponse, cn as CreateSpaceSessionInput, cr as SpaceCreateResponse, dn as CronJobUpdatePatch, dr as SpaceFsCompleteUploadInput, ei as CreateGenerationTaskResponse, en as Channel, er as SpaceChannelBindingInput, fn as CursorPageInfo, fr as SpaceFsCompleteUploadResponse, gi as GenerationContentBlock, gn as GlobalSearchResponse, gr as SpaceFsEntry, hn as ExploreSpacesResponse, hr as SpaceFsEncoding, in as CreateSpaceInput, ir as SpaceCommerceProductBenefitBinding, jn as MeResponse, jr as SpaceFsUploadResponse, jt as BillingCreditExpiryGroup, kn as LabelScopeType, kr as SpaceFsUploadPlanEntryInput, kt as BillingCheckoutResult, ln as CronJobPayload, lr as SpaceDefaultResponse, mn as ExploreSpaceItem, mr as SpaceFsCreateUploadResponse, n as createHttpClient, ni as ListGenerationModelsResponse, nn as CreateInvitationInput, nr as SpaceCommerceFeatureBenefit, oi as GenerationPolicy, on as CreateSpacePromptInput, or as SpaceConfigInput, pn as ExploreSection, pr as SpaceFsCreateUploadInput, qn as SessionTurnSignedUrlsResponse, qr as SpaceUsageResponse, qt as CanvasBootstrapResponse, ri as PublicGenerationDeclaration, rn as CreateInvitationResponse, rr as SpaceCommerceOrder, sn as CreateSpacePromptResponse, sr as SpaceConfigResponse, t as CohubHttpClient, ti as GenerationTaskResult, tn as CheckpointRecord, tr as SpaceCheckpointDetailResponse, un as CronJobRecord, ur as SpaceEnvInput, vi as DiscordChannelConfig, vn as GlobalSearchType, vr as SpaceFsFileResponse, vt as AcceptInvitationResponse, wn as LabelAssignmentPageInfo, wr as SpaceFsTreeResponse, wt as BillingBalanceActivityList, xi as HttpError, xn as JsonPrimitive, xr as SpaceFsReadFilesError, xt as BillingAccessWarning, yi as CohubClientOptions, yn as InvitationDetail, yr as SpaceFsMoveInput, yt as ApiError, zn as SendMessageCronJobPayload, zr as SpacePresenceUser, zt as BillingProductCreditBenefit } from "./chunks/http.js";
3
+ export { AcceptInvitationResponse, ApiError, BatchUserProfilesResponse, BillingAccessWarning, BillingBalanceActivity, BillingBalanceActivityKind, BillingBalanceActivityList, BillingBalanceActivityStatus, BillingCatalog, BillingCatalogProduct, BillingCheckoutActionState, BillingCheckoutResult, BillingConversionIntent, BillingCreditExpiryGroup, BillingCreditGrantStatus, BillingCreditStatus, BillingCreditUnit, BillingHistoryPagination, BillingPaymentStatus, BillingPluginStatus, BillingProductBillingInterval, BillingProductCreditBenefit, BillingProductDisplay, BillingProductKind, BillingProductPricing, BillingRedemptionResult, BillingSubscriptionHistoryList, BillingSubscriptionHistoryStatus, BillingSubscriptionSummary, CanvasBootstrapResponse, CanvasCreateInput, CanvasDocumentRecord, CanvasNodeInput, CanvasNodeRecord, CanvasSemanticOp, CanvasTransactionInput, Channel, type ChannelConfig, CheckpointRecord, type CohubClientOptions, CohubHttpClient, type ContentBlock, type CreateGenerationTaskRequest, type CreateGenerationTaskResponse, CreateInvitationInput, CreateInvitationResponse, CreateSpaceInput, CreateSpaceModInput, CreateSpacePromptInput, CreateSpacePromptResponse, CreateSpaceSessionInput, CronJobPayload, CronJobRecord, CronJobUpdatePatch, CursorPageInfo, type DiscordChannelConfig, ExploreSection, ExploreSpaceItem, ExploreSpacesResponse, type Fetch, type GenerationContentBlock, type GenerationPolicy, type GenerationTaskResult, GlobalSearchResponse, GlobalSearchResult, GlobalSearchType, HttpError, HttpTransport, InvitationDetail, JsonObject, JsonPrimitive, JsonValue, LabelAssignmentListItem, LabelAssignmentPageInfo, LabelAssignmentRecord, LabelListItem, LabelRecord, LabelResourceType, LabelScopeType, LabelSource, type ListGenerationModelsResponse, MeResponse, type MessageRecord, ModelCatalogEntry, Permission, PromptAccessMode, PromptTemplateCatalogEntry, PromptTemplateCatalogResponse, type PublicGenerationDeclaration, PublicUserProfile, ResourceLabelsResponse, SendMessageCronJobPayload, SessionBindingRecord, type SessionForkRecord, SessionMessageResponse, SessionMessagesPaginatedResponse, SessionMessagesResponse, SessionRecord, type SessionTurnIndexItem, SessionTurnIndexResponse, type SessionTurnRecord, SessionTurnResponse, type SessionTurnSegmentRecord, SessionTurnSignedUrlsResponse, SessionTurnStreamSnapshotResponse, SessionTurnWindowResponse, SessionTurnsPaginatedResponse, SpaceAccess, SpaceAccessPolicy, SpaceBootstrapSource, SpaceChannelBindingInput, SpaceCheckpointDetailResponse, SpaceCommerceFeatureBenefit, SpaceCommerceOrder, SpaceCommerceProductBenefitBinding, SpaceConfig, SpaceConfigInput, SpaceConfigResponse, SpaceCreateResponse, SpaceDefaultResponse, SpaceEnvInput, SpaceFsCompleteUploadInput, SpaceFsCompleteUploadResponse, SpaceFsCreateUploadInput, SpaceFsCreateUploadResponse, SpaceFsEncoding, SpaceFsEntry, SpaceFsFileKind, SpaceFsFileResponse, SpaceFsMoveInput, SpaceFsPreparingFile, SpaceFsReadFilesError, SpaceFsReadFilesInput, SpaceFsReadFilesResponse, SpaceFsTreeResponse, SpaceFsUploadDestination, SpaceFsUploadEntry, SpaceFsUploadError, SpaceFsUploadPlanEntry, SpaceFsUploadPlanEntryInput, SpaceFsUploadProgress, SpaceFsUploadResponse, SpaceFsWriteFileInput, SpaceInvitation, SpaceListItem, SpaceMember, SpaceMeta, SpaceModListItem, SpacePresenceSnapshot, SpacePresenceUser, SpacePublicProfile, SpaceRecord, SpaceRole, SpaceSandboxAutoDestroyPolicy, SpaceSandboxConfig, SpaceSessionsResponse, SpaceUsageHourlyStat, SpaceUsageResponse, SpaceUsageSummary, TaskRunDetailResponse, TaskRunRecord, UserProfile, UserRulesResponse, createHttpClient };
package/dist/http.js CHANGED
@@ -1,2 +1,2 @@
1
- import { h as HttpTransport, m as HttpError, n as createHttpClient, t as CohubHttpClient } from "./chunks/http.js";
1
+ import { g as HttpTransport, h as HttpError, n as createHttpClient, t as CohubHttpClient } from "./chunks/http.js";
2
2
  export { CohubHttpClient, HttpError, HttpTransport, createHttpClient };
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { a as normalizeWebsocketUrl, c as resolveVoiceInputWebsocketUrl, i as normalizeVoiceInputWebsocketUrl, l as resolveWebsocketUrl, n as CohubEnvironment, o as resolveApiBaseUrl, r as normalizeBaseUrl, s as resolveCohubEnvironment, t as COHUB_ENVIRONMENTS } from "./chunks/environment.js";
2
2
  import { C as ContentBlock, _ as SessionForkRecord, b as SessionTurnIndexItem, c as createWebsocketClient, f as RealtimeServerEvent, h as MessageRecord, l as ChannelEnvelope, r as WebsocketClient, u as LabelAssignmentsUpdatedEvent, x as SessionTurnRecord, y as SessionTurnSegmentRecord } from "./chunks/websocket.js";
3
3
  import { a as VoiceInputCreateOptions, i as VoiceInputClientOptions, l as createVoiceInputClient, n as VoiceInputCallbacks, o as VoiceInputEvent, r as VoiceInputClient, t as VoiceApi } from "./chunks/voice-input.js";
4
- import { $ as CreatePublicAssetUploadInput, $n as SpaceDefaultResponse, $r as decodeGenerationPolicy, $t as CreateSpacePromptInput, A as AssistantMessageCommit, An as PublicUserProfile, Ar as SpacePublicProfile, At as BillingPluginStatus, B as GenerationStreamSubscriptionHandlers, Bn as SessionTurnSignedUrlsResponse, Br as TaskRunRecord, Bt as CanvasBootstrapResponse, C as SessionSubscriptionHandlers, Cn as LabelSource, Cr as SpaceInvitation, Ct as BillingConversionIntent, D as SpacesApi, Dn as PromptAccessMode, Dr as SpaceModListItem, Dt as BillingCreditUnit, E as SpaceEventName, En as Permission, Er as SpaceMeta, Et as BillingCreditStatus, F as GenerationStreamIntermediateMessage, Fn as SessionMessagesPaginatedResponse, Fr as SpaceSessionsResponse, Ft as BillingProductPricing, G as SessionPatchApplyInput, Gn as SpaceAccessPolicy, Gr as GenerationTaskResult, Gt as CanvasSemanticOp, H as SessionGenerationStreamClient, Hn as SessionTurnWindowResponse, Hr as UserRulesResponse, Ht as CanvasDocumentRecord, I as GenerationStreamLifecycleEvent, In as SessionMessagesResponse, Ir as SpaceUsageHourlyStat, It as BillingRedemptionResult, J as SessionPatchState, Jn as SpaceCheckpointDetailResponse, Jr as GenerationModelPolicy, Jt as CheckpointRecord, K as SessionPatchApplyResult, Kn as SpaceBootstrapSource, Kr as ListGenerationModelsResponse, Kt as CanvasTransactionInput, L as GenerationStreamOutOfSyncEvent, Ln as SessionRecord, Lr as SpaceUsageResponse, Lt as BillingSubscriptionHistoryList, M as GenerationStreamErrorEvent, Mn as SendMessageCronJobPayload, Mr as SpaceRole, Mt as BillingProductCreditBenefit, N as GenerationStreamEvent, Nn as SessionBindingRecord, Nr as SpaceSandboxAutoDestroyPolicy, Nt as BillingProductDisplay, O as WebSocketConnectionState, On as PromptTemplateCatalogEntry, Or as SpacePresenceSnapshot, Ot as BillingHistoryPagination, P as GenerationStreamFinalizedEvent, Pn as SessionMessageResponse, Pr as SpaceSandboxConfig, Pt as BillingProductKind, Q as SearchApi, Qn as SpaceCreateResponse, Qr as assertGenerationRequestAllowedByPolicy, Qt as CreateSpaceModInput, R as GenerationStreamStateEvent, Rn as SessionTurnIndexResponse, Rr as SpaceUsageSummary, Rt as BillingSubscriptionHistoryStatus, S as SessionEventName, Sn as LabelScopeType, Sr as SpaceFsWriteFileInput, St as BillingCheckoutResult, T as SpaceClient, Tn as ModelCatalogEntry, Tr as SpaceMember, Tt as BillingCreditGrantStatus, U as createSessionGenerationStreamClient, Un as SessionTurnsPaginatedResponse, Ur as CreateGenerationTaskRequest, Ut as CanvasNodeInput, V as GenerationStreamTurnUpdatedEvent, Vn as SessionTurnStreamSnapshotResponse, Vr as UserProfile, Vt as CanvasCreateInput, W as parseAssistantMessageCommit, Wn as SpaceAccess, Wr as CreateGenerationTaskResponse, Wt as CanvasNodeRecord, X as createSessionPatchReducer, Xn as SpaceConfigInput, Xr as GenerationPolicy, Xt as CreateInvitationResponse, Y as SessionPatchStatus, Yn as SpaceConfig, Yr as GenerationParameterConstraint, Yt as CreateInvitationInput, Z as SessionAccessApi, Zn as SpaceConfigResponse, Zr as GenerationPolicyError, Zt as CreateSpaceInput, _ as WorkVersionRecord, _n as LabelAssignmentPageInfo, _r as SpaceFsUploadError, _t as BillingBalanceActivityList, a as WorkDetailResponse, ai as parseGenerationPolicyFromEnv, an as CursorPageInfo, ar as SpaceFsEncoding, at as UploadPublicAssetInput, b as UserApi, bn as LabelRecord, br as SpaceFsUploadProgress, bt as BillingCatalogProduct, c as WorkPresentationMeta, ci as DiscordChannelConfig, cn as ExploreSpacesResponse, cr as SpaceFsFileResponse, ct as GenerationsApi, d as WorkRecord, di as HttpError, dn as GlobalSearchType, dr as SpaceFsReadFilesError, dt as AcceptInvitationResponse, ei as encodeGenerationPolicy, en as CreateSpacePromptResponse, er as SpaceEnvInput, et as CreatePublicAssetUploadResponse, f as WorkResolveResponse, fi as HttpTransport, fn as InvitationDetail, fr as SpaceFsReadFilesInput, ft as ApiError, g as WorkUpdateInput, gn as LabelAssignmentListItem, gr as SpaceFsUploadEntry, gt as BillingBalanceActivityKind, h as WorkTargetType, hn as JsonValue, hr as SpaceFsUploadDestination, ht as BillingBalanceActivity, i as WorkCreateInput, ii as normalizeGenerationPolicy, in as CronJobUpdatePatch, ir as SpaceFsCreateUploadResponse, it as UploadChatImageAttachmentInput, j as GenerationStreamCommitEvent, jn as ResourceLabelsResponse, jr as SpaceRecord, jt as BillingProductBillingInterval, k as PublicInviteApi, kn as PromptTemplateCatalogResponse, kr as SpacePresenceUser, kt as BillingPaymentStatus, l as WorkPublicOwnerRecord, li as CohubClientOptions, ln as GlobalSearchResponse, lr as SpaceFsMoveInput, lt as CronJobsApi, m as WorkStatus, mn as JsonPrimitive, mr as SpaceFsTreeResponse, mt as BillingAccessWarning, n as createHttpClient, ni as findGenerationModelPolicy, nn as CronJobPayload, nr as SpaceFsCompleteUploadResponse, nt as PublicAssetPurpose, o as WorkGetResponse, oi as GenerationContentBlock, on as ExploreSection, or as SpaceFsEntry, ot as PromptsApi, p as WorkSessionResponse, pi as RawHttpResponse, pn as JsonObject, pr as SpaceFsReadFilesResponse, pt as BatchUserProfilesResponse, q as SessionPatchReducer, qn as SpaceChannelBindingInput, qr as PublicGenerationDeclaration, qt as Channel, r as WorkAuthorizeResponse, ri as getAllowedGenerationModelIds, rn as CronJobRecord, rr as SpaceFsCreateUploadInput, rt as PublicAssetsApi, s as WorkMeta, si as ChannelConfig, sn as ExploreSpaceItem, sr as SpaceFsFileKind, st as ModelsApi, t as CohubHttpClient, ti as filterGenerationDeclarationsByPolicy, tn as CreateSpaceSessionInput, tr as SpaceFsCompleteUploadInput, tt as PublicAssetMimeType, u as WorkPublicSpaceRecord, ui as Fetch, un as GlobalSearchResult, ur as SpaceFsPreparingFile, ut as ChannelsApi, v as WorkVisibility, vn as LabelAssignmentRecord, vr as SpaceFsUploadPlanEntry, vt as BillingBalanceActivityStatus, w as SpaceChannelBindingRecord, wn as MeResponse, wr as SpaceListItem, wt as BillingCreditExpiryGroup, x as TasksApi, xn as LabelResourceType, xr as SpaceFsUploadResponse, xt as BillingCheckoutActionState, y as WorksApi, yn as LabelListItem, yr as SpaceFsUploadPlanEntryInput, yt as BillingCatalog, z as GenerationStreamSubscribeOptions, zn as SessionTurnResponse, zr as TaskRunDetailResponse, zt as BillingSubscriptionSummary } from "./chunks/http.js";
4
+ import { $ as SessionPatchApplyResult, $n as SpaceBootstrapSource, $r as CreateGenerationTaskRequest, $t as CanvasTransactionInput, A as SessionSubscriptionHandlers, An as LabelSource, Ar as SpaceFsUploadProgress, At as BillingConversionIntent, B as GenerationStreamEvent, Bn as SessionBindingRecord, Br as SpacePublicProfile, Bt as BillingProductDisplay, C as WorkUpdateInput, Ci as RawHttpResponse, Cn as LabelAssignmentListItem, Cr as SpaceFsReadFilesResponse, Ct as BillingBalanceActivityKind, D as UserApi, Dn as LabelRecord, Dr as SpaceFsUploadError, Dt as BillingCatalogProduct, E as WorksApi, En as LabelListItem, Er as SpaceFsUploadEntry, Et as BillingCatalog, F as WebSocketConnectionState, Fn as PromptTemplateCatalogEntry, Fr as SpaceMember, Ft as BillingHistoryPagination, G as GenerationStreamStateEvent, Gn as SessionTurnIndexResponse, Gr as SpaceSessionsResponse, Gt as BillingSubscriptionHistoryStatus, H as GenerationStreamIntermediateMessage, Hn as SessionMessagesPaginatedResponse, Hr as SpaceRole, Ht as BillingProductPricing, I as PublicInviteApi, In as PromptTemplateCatalogResponse, Ir as SpaceMeta, It as BillingPaymentStatus, J as GenerationStreamTurnUpdatedEvent, Jn as SessionTurnStreamSnapshotResponse, Jr as SpaceUsageSummary, Jt as CanvasCreateInput, K as GenerationStreamSubscribeOptions, Kn as SessionTurnResponse, Kr as SpaceUsageHourlyStat, Kt as BillingSubscriptionSummary, L as AssistantMessageCommit, Ln as PublicUserProfile, Lr as SpaceModListItem, Lt as BillingPluginStatus, M as SpaceClient, Mn as ModelCatalogEntry, Mr as SpaceFsWriteFileInput, Mt as BillingCreditGrantStatus, N as SpaceEventName, Nn as Permission, Nr as SpaceInvitation, Nt as BillingCreditStatus, O as TasksApi, On as LabelResourceType, Or as SpaceFsUploadPlanEntry, Ot as BillingCheckoutActionState, P as SpacesApi, Pn as PromptAccessMode, Pr as SpaceListItem, Pt as BillingCreditUnit, Q as SessionPatchApplyInput, Qn as SpaceAccessPolicy, Qr as UserRulesResponse, Qt as CanvasSemanticOp, R as GenerationStreamCommitEvent, Rn as ResourceLabelsResponse, Rr as SpacePresenceSnapshot, Rt as BillingProductBillingInterval, S as WorkTargetType, Si as HttpTransport, Sn as JsonValue, Sr as SpaceFsReadFilesInput, St as BillingBalanceActivity, T as WorkVisibility, Tn as LabelAssignmentRecord, Tr as SpaceFsUploadDestination, Tt as BillingBalanceActivityStatus, U as GenerationStreamLifecycleEvent, Un as SessionMessagesResponse, Ur as SpaceSandboxAutoDestroyPolicy, Ut as BillingRedemptionResult, V as GenerationStreamFinalizedEvent, Vn as SessionMessageResponse, Vr as SpaceRecord, Vt as BillingProductKind, W as GenerationStreamOutOfSyncEvent, Wn as SessionRecord, Wr as SpaceSandboxConfig, Wt as BillingSubscriptionHistoryList, X as createSessionGenerationStreamClient, Xn as SessionTurnsPaginatedResponse, Xr as TaskRunRecord, Xt as CanvasNodeInput, Y as SessionGenerationStreamClient, Yn as SessionTurnWindowResponse, Yr as TaskRunDetailResponse, Yt as CanvasDocumentRecord, Z as parseAssistantMessageCommit, Zn as SpaceAccess, Zr as UserProfile, Zt as CanvasNodeRecord, _ as WorkPublicSpaceRecord, _i as ChannelConfig, _n as GlobalSearchResult, _r as SpaceFsFileKind, _t as ChannelsApi, a as WorkCommerceEntitlementCheckItem, ai as GenerationParameterConstraint, an as CreateSpaceModInput, ar as SpaceConfig, at as SearchApi, b as WorkSessionResponse, bi as Fetch, bn as JsonObject, br as SpaceFsPreparingFile, bt as BatchUserProfilesResponse, c as WorkCommerceProductResolveResponse, ci as assertGenerationRequestAllowedByPolicy, cn as CreateSpaceSessionInput, cr as SpaceCreateResponse, ct as PublicAssetMimeType, d as WorkCreateInput, di as filterGenerationDeclarationsByPolicy, dn as CronJobUpdatePatch, dr as SpaceFsCompleteUploadInput, dt as UploadChatImageAttachmentInput, ei as CreateGenerationTaskResponse, en as Channel, er as SpaceChannelBindingInput, et as SessionPatchReducer, f as WorkDetailResponse, fi as findGenerationModelPolicy, fn as CursorPageInfo, fr as SpaceFsCompleteUploadResponse, ft as UploadPublicAssetInput, g as WorkPublicOwnerRecord, gi as GenerationContentBlock, gn as GlobalSearchResponse, gr as SpaceFsEntry, gt as CronJobsApi, h as WorkPresentationMeta, hi as parseGenerationPolicyFromEnv, hn as ExploreSpacesResponse, hr as SpaceFsEncoding, ht as GenerationsApi, i as WorkCommerceCheckoutStatus, ii as GenerationModelPolicy, in as CreateSpaceInput, ir as SpaceCommerceProductBenefitBinding, it as SessionAccessApi, j as SpaceChannelBindingRecord, jn as MeResponse, jr as SpaceFsUploadResponse, jt as BillingCreditExpiryGroup, k as SessionEventName, kn as LabelScopeType, kr as SpaceFsUploadPlanEntryInput, kt as BillingCheckoutResult, l as WorkCommercePurchaseResponse, li as decodeGenerationPolicy, ln as CronJobPayload, lr as SpaceDefaultResponse, lt as PublicAssetPurpose, m as WorkMeta, mi as normalizeGenerationPolicy, mn as ExploreSpaceItem, mr as SpaceFsCreateUploadResponse, mt as ModelsApi, n as createHttpClient, ni as ListGenerationModelsResponse, nn as CreateInvitationInput, nr as SpaceCommerceFeatureBenefit, nt as SessionPatchStatus, o as WorkCommerceEntitlementsResponse, oi as GenerationPolicy, on as CreateSpacePromptInput, or as SpaceConfigInput, ot as CreatePublicAssetUploadInput, p as WorkGetResponse, pi as getAllowedGenerationModelIds, pn as ExploreSection, pr as SpaceFsCreateUploadInput, pt as PromptsApi, q as GenerationStreamSubscriptionHandlers, qn as SessionTurnSignedUrlsResponse, qr as SpaceUsageResponse, qt as CanvasBootstrapResponse, r as WorkCommerceApi, ri as PublicGenerationDeclaration, rn as CreateInvitationResponse, rr as SpaceCommerceOrder, rt as createSessionPatchReducer, s as WorkCommerceOrder, si as GenerationPolicyError, sn as CreateSpacePromptResponse, sr as SpaceConfigResponse, st as CreatePublicAssetUploadResponse, t as CohubHttpClient, ti as GenerationTaskResult, tn as CheckpointRecord, tr as SpaceCheckpointDetailResponse, tt as SessionPatchState, u as WorkAuthorizeResponse, ui as encodeGenerationPolicy, un as CronJobRecord, ur as SpaceEnvInput, ut as PublicAssetsApi, v as WorkRecord, vi as DiscordChannelConfig, vn as GlobalSearchType, vr as SpaceFsFileResponse, vt as AcceptInvitationResponse, w as WorkVersionRecord, wn as LabelAssignmentPageInfo, wr as SpaceFsTreeResponse, wt as BillingBalanceActivityList, x as WorkStatus, xi as HttpError, xn as JsonPrimitive, xr as SpaceFsReadFilesError, xt as BillingAccessWarning, y as WorkResolveResponse, yi as CohubClientOptions, yn as InvitationDetail, yr as SpaceFsMoveInput, yt as ApiError, z as GenerationStreamErrorEvent, zn as SendMessageCronJobPayload, zr as SpacePresenceUser, zt as BillingProductCreditBenefit } from "./chunks/http.js";
5
5
 
6
6
  //#region src/apis/billing.d.ts
7
7
  declare class BillingApi {
@@ -72,6 +72,11 @@ type WorkRuntimeContext = {
72
72
  viewerScopes: Permission[];
73
73
  };
74
74
  };
75
+ type WorkRuntimeCheckoutStatus = "success" | "failed" | "cancel" | null;
76
+ type WorkRuntimeCheckoutState = {
77
+ status: WorkRuntimeCheckoutStatus;
78
+ orderId: string | null;
79
+ };
75
80
  declare class WorkRuntimeApi {
76
81
  private token;
77
82
  context(): Promise<WorkRuntimeContext | null>;
@@ -82,6 +87,18 @@ declare class WorkRuntimeApi {
82
87
  scopes: Permission[];
83
88
  reason?: string;
84
89
  }): Promise<boolean>;
90
+ purchase(input: {
91
+ productKey: string;
92
+ }): Promise<{
93
+ providerKey: string | null;
94
+ checkoutUrl: string | null;
95
+ checkoutUsable: boolean;
96
+ status: string | null;
97
+ message: string | null;
98
+ orderId: string;
99
+ productKey: string;
100
+ } | null>;
101
+ checkoutState(): Promise<WorkRuntimeCheckoutState | null>;
85
102
  }
86
103
  declare const createWorkRuntime: () => WorkRuntimeApi;
87
104
  //#endregion
@@ -120,6 +137,7 @@ declare class CohubClient {
120
137
  readonly invite: PublicInviteApi;
121
138
  readonly voice: VoiceApi;
122
139
  readonly works: WorksApi;
140
+ readonly workCommerce: WorkCommerceApi;
123
141
  private readonly transport;
124
142
  private readonly websocketClient;
125
143
  private readonly workRuntime;
@@ -131,9 +149,42 @@ declare class CohubClient {
131
149
  reason?: string;
132
150
  }) => Promise<boolean>;
133
151
  };
152
+ readonly work: {
153
+ commerce: {
154
+ resolveProducts: (input: {
155
+ productKeys: string[];
156
+ }) => Promise<WorkCommerceProductResolveResponse>;
157
+ checkEntitlements: (input: {
158
+ benefitKeys: string[];
159
+ }) => Promise<WorkCommerceEntitlementsResponse>;
160
+ purchase: (input: {
161
+ productKey: string;
162
+ }) => Promise<{
163
+ providerKey: string | null;
164
+ checkoutUrl: string | null;
165
+ checkoutUsable: boolean;
166
+ status: string | null;
167
+ message: string | null;
168
+ orderId: string;
169
+ productKey: string;
170
+ } | null>;
171
+ getCheckoutState: () => Promise<{
172
+ status: WorkCommerceCheckoutStatus;
173
+ orderId: string | null;
174
+ }>;
175
+ getOrder: (orderId: string) => Promise<{
176
+ order: WorkCommerceOrder;
177
+ }>;
178
+ };
179
+ };
134
180
  space(spaceId: string): SpaceClient;
135
181
  onConnection(handler: (state: WebSocketConnectionState) => void): () => void;
136
182
  }
137
183
  declare const createCohubClient: (options?: CohubClientOptions) => CohubClient;
138
184
  //#endregion
139
- export { AcceptInvitationResponse, ApiError, type AssistantMessageCommit, BatchUserProfilesResponse, BillingAccessWarning, BillingApi, BillingBalanceActivity, BillingBalanceActivityKind, BillingBalanceActivityList, BillingBalanceActivityStatus, BillingCatalog, BillingCatalogProduct, BillingCheckoutActionState, BillingCheckoutResult, BillingConversionIntent, BillingCreditExpiryGroup, BillingCreditGrantStatus, BillingCreditStatus, BillingCreditUnit, BillingHistoryPagination, BillingPaymentStatus, BillingPluginStatus, BillingProductBillingInterval, BillingProductCreditBenefit, BillingProductDisplay, BillingProductKind, BillingProductPricing, BillingRedemptionResult, BillingSubscriptionHistoryList, BillingSubscriptionHistoryStatus, BillingSubscriptionSummary, COHUB_ENVIRONMENTS, CanvasBootstrapResponse, CanvasCreateInput, CanvasDocumentRecord, CanvasNodeInput, CanvasNodeRecord, CanvasSemanticOp, CanvasTransactionInput, Channel, type ChannelConfig, type ChannelEnvelope, CheckpointRecord, CohubClient, type CohubClientOptions, type CohubEnvironment, CohubHttpClient, type ContentBlock, type CreateGenerationTaskRequest, type CreateGenerationTaskResponse, CreateInvitationInput, CreateInvitationResponse, type CreatePublicAssetUploadInput, type CreatePublicAssetUploadResponse, CreateSpaceInput, CreateSpaceModInput, CreateSpacePromptInput, CreateSpacePromptResponse, CreateSpaceSessionInput, CronJobPayload, CronJobRecord, CronJobUpdatePatch, CursorPageInfo, type DiscordChannelConfig, ExploreSection, ExploreSpaceItem, ExploreSpacesResponse, type Fetch, type GenerationContentBlock, type GenerationModelPolicy, type GenerationParameterConstraint, type GenerationPolicy, GenerationPolicyError, type GenerationStreamCommitEvent, type GenerationStreamErrorEvent, type GenerationStreamEvent, type GenerationStreamFinalizedEvent, type GenerationStreamIntermediateMessage, type GenerationStreamLifecycleEvent, type GenerationStreamOutOfSyncEvent, type GenerationStreamStateEvent, type GenerationStreamSubscribeOptions, type GenerationStreamSubscriptionHandlers, type GenerationStreamTurnUpdatedEvent, type GenerationTaskResult, GlobalSearchResponse, GlobalSearchResult, GlobalSearchType, HttpError, InvitationDetail, JsonObject, JsonPrimitive, JsonValue, LabelAssignmentListItem, LabelAssignmentPageInfo, LabelAssignmentRecord, type LabelAssignmentsUpdatedEvent, LabelListItem, LabelRecord, LabelResourceType, LabelScopeType, LabelSource, type ListGenerationModelsResponse, MeResponse, type MessageRecord, ModelCatalogEntry, Permission, PromptAccessMode, PromptTemplateCatalogEntry, PromptTemplateCatalogResponse, type PublicAssetMimeType, type PublicAssetPurpose, type PublicGenerationDeclaration, PublicUserProfile, type RawHttpResponse, type RealtimeServerEvent, ResourceLabelsResponse, SendMessageCronJobPayload, SessionBindingRecord, type SessionEventName, type SessionForkRecord, SessionGenerationStreamClient, SessionMessageResponse, SessionMessagesPaginatedResponse, SessionMessagesResponse, type SessionPatchApplyInput, type SessionPatchApplyResult, SessionPatchReducer, type SessionPatchState, type SessionPatchStatus, SessionRecord, type SessionSubscriptionHandlers, type SessionTurnIndexItem, SessionTurnIndexResponse, type SessionTurnRecord, SessionTurnResponse, type SessionTurnSegmentRecord, SessionTurnSignedUrlsResponse, SessionTurnStreamSnapshotResponse, SessionTurnWindowResponse, SessionTurnsPaginatedResponse, SpaceAccess, SpaceAccessPolicy, SpaceBootstrapSource, SpaceChannelBindingInput, type SpaceChannelBindingRecord, SpaceCheckpointDetailResponse, SpaceConfig, SpaceConfigInput, SpaceConfigResponse, SpaceCreateResponse, SpaceDefaultResponse, SpaceEnvInput, type SpaceEventName, SpaceFsCompleteUploadInput, SpaceFsCompleteUploadResponse, SpaceFsCreateUploadInput, SpaceFsCreateUploadResponse, SpaceFsEncoding, SpaceFsEntry, SpaceFsFileKind, SpaceFsFileResponse, SpaceFsMoveInput, SpaceFsPreparingFile, SpaceFsReadFilesError, SpaceFsReadFilesInput, SpaceFsReadFilesResponse, SpaceFsTreeResponse, SpaceFsUploadDestination, SpaceFsUploadEntry, SpaceFsUploadError, SpaceFsUploadPlanEntry, SpaceFsUploadPlanEntryInput, SpaceFsUploadProgress, SpaceFsUploadResponse, SpaceFsWriteFileInput, SpaceInvitation, SpaceListItem, SpaceMember, SpaceMeta, SpaceModListItem, SpacePresenceSnapshot, SpacePresenceUser, SpacePublicProfile, SpaceRecord, SpaceRole, SpaceSandboxAutoDestroyPolicy, SpaceSandboxConfig, SpaceSessionsResponse, SpaceUsageHourlyStat, SpaceUsageResponse, SpaceUsageSummary, TaskRunDetailResponse, TaskRunRecord, type UploadChatImageAttachmentInput, type UploadPublicAssetInput, UserProfile, UserRulesResponse, UsersApi, VoiceApi, type VoiceInputCallbacks, VoiceInputClient, type VoiceInputClientOptions, type VoiceInputCreateOptions, type VoiceInputEvent, type WebSocketConnectionState, WebsocketClient, type WorkAuthorizeResponse, type WorkCreateInput, type WorkDetailResponse, type WorkGetResponse, type WorkMeta, type WorkPresentationMeta, type WorkPublicOwnerRecord, type WorkPublicSpaceRecord, type WorkRecord, type WorkResolveResponse, WorkRuntimeApi, type WorkRuntimeContext, type WorkSessionResponse, type WorkStatus, type WorkTargetType, type WorkUpdateInput, type WorkVersionRecord, type WorkVisibility, WorksApi, assertGenerationRequestAllowedByPolicy, createCohubClient, createHttpClient, createSessionGenerationStreamClient, createSessionPatchReducer, createVoiceInputClient, createWebsocketClient, createWorkRuntime, decodeGenerationPolicy, encodeGenerationPolicy, filterGenerationDeclarationsByPolicy, findGenerationModelPolicy, getAllowedGenerationModelIds, normalizeBaseUrl, normalizeGenerationPolicy, normalizeVoiceInputWebsocketUrl, normalizeWebsocketUrl, parseAssistantMessageCommit, parseGenerationPolicyFromEnv, resolveApiBaseUrl, resolveCohubEnvironment, resolveVoiceInputWebsocketUrl, resolveWebsocketUrl };
185
+ //#region src/http-error.d.ts
186
+ declare function isHttpErrorCode(error: unknown, code: string): error is HttpError & {
187
+ code: string;
188
+ };
189
+ //#endregion
190
+ export { AcceptInvitationResponse, ApiError, type AssistantMessageCommit, BatchUserProfilesResponse, BillingAccessWarning, BillingApi, BillingBalanceActivity, BillingBalanceActivityKind, BillingBalanceActivityList, BillingBalanceActivityStatus, BillingCatalog, BillingCatalogProduct, BillingCheckoutActionState, BillingCheckoutResult, BillingConversionIntent, BillingCreditExpiryGroup, BillingCreditGrantStatus, BillingCreditStatus, BillingCreditUnit, BillingHistoryPagination, BillingPaymentStatus, BillingPluginStatus, BillingProductBillingInterval, BillingProductCreditBenefit, BillingProductDisplay, BillingProductKind, BillingProductPricing, BillingRedemptionResult, BillingSubscriptionHistoryList, BillingSubscriptionHistoryStatus, BillingSubscriptionSummary, COHUB_ENVIRONMENTS, CanvasBootstrapResponse, CanvasCreateInput, CanvasDocumentRecord, CanvasNodeInput, CanvasNodeRecord, CanvasSemanticOp, CanvasTransactionInput, Channel, type ChannelConfig, type ChannelEnvelope, CheckpointRecord, CohubClient, type CohubClientOptions, type CohubEnvironment, CohubHttpClient, type ContentBlock, type CreateGenerationTaskRequest, type CreateGenerationTaskResponse, CreateInvitationInput, CreateInvitationResponse, type CreatePublicAssetUploadInput, type CreatePublicAssetUploadResponse, CreateSpaceInput, CreateSpaceModInput, CreateSpacePromptInput, CreateSpacePromptResponse, CreateSpaceSessionInput, CronJobPayload, CronJobRecord, CronJobUpdatePatch, CursorPageInfo, type DiscordChannelConfig, ExploreSection, ExploreSpaceItem, ExploreSpacesResponse, type Fetch, type GenerationContentBlock, type GenerationModelPolicy, type GenerationParameterConstraint, type GenerationPolicy, GenerationPolicyError, type GenerationStreamCommitEvent, type GenerationStreamErrorEvent, type GenerationStreamEvent, type GenerationStreamFinalizedEvent, type GenerationStreamIntermediateMessage, type GenerationStreamLifecycleEvent, type GenerationStreamOutOfSyncEvent, type GenerationStreamStateEvent, type GenerationStreamSubscribeOptions, type GenerationStreamSubscriptionHandlers, type GenerationStreamTurnUpdatedEvent, type GenerationTaskResult, GlobalSearchResponse, GlobalSearchResult, GlobalSearchType, HttpError, InvitationDetail, JsonObject, JsonPrimitive, JsonValue, LabelAssignmentListItem, LabelAssignmentPageInfo, LabelAssignmentRecord, type LabelAssignmentsUpdatedEvent, LabelListItem, LabelRecord, LabelResourceType, LabelScopeType, LabelSource, type ListGenerationModelsResponse, MeResponse, type MessageRecord, ModelCatalogEntry, Permission, PromptAccessMode, PromptTemplateCatalogEntry, PromptTemplateCatalogResponse, type PublicAssetMimeType, type PublicAssetPurpose, type PublicGenerationDeclaration, PublicUserProfile, type RawHttpResponse, type RealtimeServerEvent, ResourceLabelsResponse, SendMessageCronJobPayload, SessionBindingRecord, type SessionEventName, type SessionForkRecord, SessionGenerationStreamClient, SessionMessageResponse, SessionMessagesPaginatedResponse, SessionMessagesResponse, type SessionPatchApplyInput, type SessionPatchApplyResult, SessionPatchReducer, type SessionPatchState, type SessionPatchStatus, SessionRecord, type SessionSubscriptionHandlers, type SessionTurnIndexItem, SessionTurnIndexResponse, type SessionTurnRecord, SessionTurnResponse, type SessionTurnSegmentRecord, SessionTurnSignedUrlsResponse, SessionTurnStreamSnapshotResponse, SessionTurnWindowResponse, SessionTurnsPaginatedResponse, SpaceAccess, SpaceAccessPolicy, SpaceBootstrapSource, SpaceChannelBindingInput, type SpaceChannelBindingRecord, SpaceCheckpointDetailResponse, SpaceCommerceFeatureBenefit, SpaceCommerceOrder, SpaceCommerceProductBenefitBinding, SpaceConfig, SpaceConfigInput, SpaceConfigResponse, SpaceCreateResponse, SpaceDefaultResponse, SpaceEnvInput, type SpaceEventName, SpaceFsCompleteUploadInput, SpaceFsCompleteUploadResponse, SpaceFsCreateUploadInput, SpaceFsCreateUploadResponse, SpaceFsEncoding, SpaceFsEntry, SpaceFsFileKind, SpaceFsFileResponse, SpaceFsMoveInput, SpaceFsPreparingFile, SpaceFsReadFilesError, SpaceFsReadFilesInput, SpaceFsReadFilesResponse, SpaceFsTreeResponse, SpaceFsUploadDestination, SpaceFsUploadEntry, SpaceFsUploadError, SpaceFsUploadPlanEntry, SpaceFsUploadPlanEntryInput, SpaceFsUploadProgress, SpaceFsUploadResponse, SpaceFsWriteFileInput, SpaceInvitation, SpaceListItem, SpaceMember, SpaceMeta, SpaceModListItem, SpacePresenceSnapshot, SpacePresenceUser, SpacePublicProfile, SpaceRecord, SpaceRole, SpaceSandboxAutoDestroyPolicy, SpaceSandboxConfig, SpaceSessionsResponse, SpaceUsageHourlyStat, SpaceUsageResponse, SpaceUsageSummary, TaskRunDetailResponse, TaskRunRecord, type UploadChatImageAttachmentInput, type UploadPublicAssetInput, UserProfile, UserRulesResponse, UsersApi, VoiceApi, type VoiceInputCallbacks, VoiceInputClient, type VoiceInputClientOptions, type VoiceInputCreateOptions, type VoiceInputEvent, type WebSocketConnectionState, WebsocketClient, type WorkAuthorizeResponse, WorkCommerceApi, type WorkCommerceCheckoutStatus, type WorkCommerceEntitlementCheckItem, type WorkCommerceEntitlementsResponse, type WorkCommerceOrder, type WorkCommerceProductResolveResponse, type WorkCommercePurchaseResponse, type WorkCreateInput, type WorkDetailResponse, type WorkGetResponse, type WorkMeta, type WorkPresentationMeta, type WorkPublicOwnerRecord, type WorkPublicSpaceRecord, type WorkRecord, type WorkResolveResponse, WorkRuntimeApi, type WorkRuntimeCheckoutState, type WorkRuntimeCheckoutStatus, type WorkRuntimeContext, type WorkSessionResponse, type WorkStatus, type WorkTargetType, type WorkUpdateInput, type WorkVersionRecord, type WorkVisibility, WorksApi, assertGenerationRequestAllowedByPolicy, createCohubClient, createHttpClient, createSessionGenerationStreamClient, createSessionPatchReducer, createVoiceInputClient, createWebsocketClient, createWorkRuntime, decodeGenerationPolicy, encodeGenerationPolicy, filterGenerationDeclarationsByPolicy, findGenerationModelPolicy, getAllowedGenerationModelIds, isHttpErrorCode, normalizeBaseUrl, normalizeGenerationPolicy, normalizeVoiceInputWebsocketUrl, normalizeWebsocketUrl, parseAssistantMessageCommit, parseGenerationPolicyFromEnv, resolveApiBaseUrl, resolveCohubEnvironment, resolveVoiceInputWebsocketUrl, resolveWebsocketUrl };
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { C as ChannelsApi, S as CronJobsApi, _ as SearchApi, a as TasksApi, b as ModelsApi, c as PublicInviteApi, d as parseAssistantMessageCommit, f as SessionPatchReducer, g as SessionAccessApi, h as HttpTransport, i as UserApi, l as SessionGenerationStreamClient, m as HttpError, n as createHttpClient, o as SpaceClient, p as createSessionPatchReducer, r as WorksApi, s as SpacesApi, t as CohubHttpClient, u as createSessionGenerationStreamClient, v as PublicAssetsApi, x as GenerationsApi, y as PromptsApi } from "./chunks/http.js";
1
+ import { C as CronJobsApi, S as GenerationsApi, _ as SessionAccessApi, a as UserApi, b as PromptsApi, c as SpacesApi, d as createSessionGenerationStreamClient, f as parseAssistantMessageCommit, g as HttpTransport, h as HttpError, i as WorksApi, l as PublicInviteApi, m as createSessionPatchReducer, n as createHttpClient, o as TasksApi, p as SessionPatchReducer, r as WorkCommerceApi, s as SpaceClient, t as CohubHttpClient, u as SessionGenerationStreamClient, v as SearchApi, w as ChannelsApi, x as ModelsApi, y as PublicAssetsApi } from "./chunks/http.js";
2
2
  import { a as resolveApiBaseUrl, c as resolveWebsocketUrl, i as normalizeWebsocketUrl, n as normalizeBaseUrl, o as resolveCohubEnvironment, r as normalizeVoiceInputWebsocketUrl, s as resolveVoiceInputWebsocketUrl, t as COHUB_ENVIRONMENTS } from "./chunks/environment.js";
3
3
  import { WebsocketClient, createWebsocketClient } from "./websocket.js";
4
4
  import { VoiceApi, VoiceInputClient, createVoiceInputClient } from "./voice-input.js";
@@ -176,6 +176,15 @@ var WorkRuntimeApi = class {
176
176
  this.token = response?.token ?? null;
177
177
  return Boolean(this.token);
178
178
  }
179
+ async purchase(input) {
180
+ return (await request({
181
+ type: "cohub.work.purchase",
182
+ productKey: input.productKey
183
+ }, 12e4))?.checkout ?? null;
184
+ }
185
+ async checkoutState() {
186
+ return await request({ type: "cohub.work.checkout-state" }, 8e3, 250) ?? null;
187
+ }
179
188
  };
180
189
  const createWorkRuntime = () => new WorkRuntimeApi();
181
190
  //#endregion
@@ -198,6 +207,7 @@ var CohubClient = class {
198
207
  invite;
199
208
  voice;
200
209
  works;
210
+ workCommerce;
201
211
  transport;
202
212
  websocketClient;
203
213
  workRuntime;
@@ -242,11 +252,37 @@ var CohubClient = class {
242
252
  this.explore = new ExploreApi(this.transport);
243
253
  this.invite = new PublicInviteApi(this.transport);
244
254
  this.works = new WorksApi(this.transport);
255
+ this.workCommerce = new WorkCommerceApi(this.transport);
245
256
  }
246
257
  context() {
247
258
  return this.workRuntime.context();
248
259
  }
249
260
  auth = { request: (input) => this.workRuntime.requestAuthorization(input) };
261
+ work = { commerce: {
262
+ resolveProducts: async (input) => {
263
+ const context = await this.workRuntime.context();
264
+ if (!context?.work?.id) throw new Error("Work context is unavailable.");
265
+ return this.workCommerce.resolveProducts(context.work.id, input);
266
+ },
267
+ checkEntitlements: async (input) => {
268
+ const context = await this.workRuntime.context();
269
+ if (!context?.work?.id) throw new Error("Work context is unavailable.");
270
+ return this.workCommerce.checkEntitlements(context.work.id, input);
271
+ },
272
+ purchase: async (input) => this.workRuntime.purchase(input),
273
+ getCheckoutState: async () => {
274
+ const result = await this.workRuntime.checkoutState();
275
+ return {
276
+ status: result?.status ?? null,
277
+ orderId: result?.orderId ?? null
278
+ };
279
+ },
280
+ getOrder: async (orderId) => {
281
+ const context = await this.workRuntime.context();
282
+ if (!context?.work?.id) throw new Error("Work context is unavailable.");
283
+ return this.workCommerce.getOrder(context.work.id, orderId);
284
+ }
285
+ } };
250
286
  space(spaceId) {
251
287
  return new SpaceClient(spaceId, this.transport, this.websocketClient);
252
288
  }
@@ -297,6 +333,11 @@ var CohubClient = class {
297
333
  };
298
334
  const createCohubClient = (options) => new CohubClient(options);
299
335
  //#endregion
336
+ //#region src/http-error.ts
337
+ function isHttpErrorCode(error, code) {
338
+ return error instanceof HttpError && error.code === code;
339
+ }
340
+ //#endregion
300
341
  //#region ../protocol/src/generation/policy.ts
301
342
  const GENERATION_POLICY_ENV_KEY = "COHUB_GENERATION_POLICY_B64";
302
343
  var GenerationPolicyError = class extends Error {
@@ -528,4 +569,4 @@ function filterGenerationDeclarationsByPolicy(declarations, policy) {
528
569
  });
529
570
  }
530
571
  //#endregion
531
- export { BillingApi, COHUB_ENVIRONMENTS, CohubClient, CohubHttpClient, GenerationPolicyError, HttpError, SessionGenerationStreamClient, SessionPatchReducer, UsersApi, VoiceApi, VoiceInputClient, WebsocketClient, WorkRuntimeApi, WorksApi, assertGenerationRequestAllowedByPolicy, createCohubClient, createHttpClient, createSessionGenerationStreamClient, createSessionPatchReducer, createVoiceInputClient, createWebsocketClient, createWorkRuntime, decodeGenerationPolicy, encodeGenerationPolicy, filterGenerationDeclarationsByPolicy, findGenerationModelPolicy, getAllowedGenerationModelIds, normalizeBaseUrl, normalizeGenerationPolicy, normalizeVoiceInputWebsocketUrl, normalizeWebsocketUrl, parseAssistantMessageCommit, parseGenerationPolicyFromEnv, resolveApiBaseUrl, resolveCohubEnvironment, resolveVoiceInputWebsocketUrl, resolveWebsocketUrl };
572
+ export { BillingApi, COHUB_ENVIRONMENTS, CohubClient, CohubHttpClient, GenerationPolicyError, HttpError, SessionGenerationStreamClient, SessionPatchReducer, UsersApi, VoiceApi, VoiceInputClient, WebsocketClient, WorkCommerceApi, WorkRuntimeApi, WorksApi, assertGenerationRequestAllowedByPolicy, createCohubClient, createHttpClient, createSessionGenerationStreamClient, createSessionPatchReducer, createVoiceInputClient, createWebsocketClient, createWorkRuntime, decodeGenerationPolicy, encodeGenerationPolicy, filterGenerationDeclarationsByPolicy, findGenerationModelPolicy, getAllowedGenerationModelIds, isHttpErrorCode, normalizeBaseUrl, normalizeGenerationPolicy, normalizeVoiceInputWebsocketUrl, normalizeWebsocketUrl, parseAssistantMessageCommit, parseGenerationPolicyFromEnv, resolveApiBaseUrl, resolveCohubEnvironment, resolveVoiceInputWebsocketUrl, resolveWebsocketUrl };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neta-art/cohub",
3
- "version": "2.0.0",
3
+ "version": "2.1.0",
4
4
  "description": "Cohub SDK for spaces, sessions, checkpoints, and realtime agent collaboration.",
5
5
  "license": "UNLICENSED",
6
6
  "private": false,