@neta-art/cohub 2.5.0 → 2.7.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/README.md CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  Cohub SDK for interacting with spaces, sessions, checkpoints, and realtime agent collaboration.
4
4
 
5
+ ## Guides
6
+
7
+ | Guide | Path | Covers |
8
+ |---|---|---|
9
+ | **Work Runtime Guide** | [`./docs/work-runtime-guide.md`](./docs/work-runtime-guide.md) | Building a published Work that uses Cohub capabilities from browser-side JS: runtime context, viewer authorization, scope model, LLM chat, image generation, file reads, account-level data, and commerce. **Read this before writing any Work.** |
10
+
5
11
  ## Install
6
12
 
7
13
  ```bash
@@ -88,3 +94,56 @@ const stop = session.subscribe({
88
94
 
89
95
  stop();
90
96
  ```
97
+
98
+ ## Works and the Work runtime
99
+
100
+ A **Work** is a published, shareable web page hosted by Cohub. When a viewer
101
+ opens a Work, it runs inside a Cohub-managed runtime that provides short-lived
102
+ access tokens — no API keys required.
103
+
104
+ Three runtime-only APIs are available **exclusively inside a published Work**:
105
+
106
+ - `client.context()` — returns Work identity, Space identity, and current
107
+ permission scopes. Returns `null` outside a Work runtime.
108
+ - `client.auth.request({ scopes, reason })` — shows the viewer a consent dialog
109
+ and caches a token with the approved scopes.
110
+ - `client.work.commerce.*` — entitlement checks, credit consumption,
111
+ purchases.
112
+
113
+ ### Quick start (inside a Work)
114
+
115
+ ```ts
116
+ // Browsers don't inject ENV — pass it explicitly.
117
+ const client = createCohubClient({ env: "prod" });
118
+
119
+ const ctx = await client.context();
120
+ if (!ctx?.space?.id) throw new Error("Not inside a published Work.");
121
+
122
+ const space = client.space(ctx.space.id);
123
+
124
+ // Request viewer scopes from a user gesture (button click)
125
+ await client.auth.request({
126
+ scopes: ["session.prompt.fullaccess", "generation.create"],
127
+ reason: "This Work needs to send prompts and generate images.",
128
+ });
129
+ ```
130
+
131
+ ### The scope model (critical)
132
+
133
+ Work permissions come in **two disjoint sets**:
134
+
135
+ - **Work scopes** (read, no consent): `space.view`, `session.view`,
136
+ `file.view`, `taskrun.view` — granted at publish time.
137
+ - **Viewer scopes** (action, consent-required): `session.prompt.fullaccess`,
138
+ `generation.create`, `user.space.list`, `user.session.list`,
139
+ `user.usage.read` — approved per-viewer via `auth.request()`.
140
+
141
+ > **Read operations need work scopes. Action operations need viewer scopes.
142
+ They never substitute for each other.** For example, `session.prompt.fullaccess`
143
+ lets you send a prompt but does NOT let you read the reply — that needs
144
+ `session.view` (a work scope). Similarly, `generation.create` lets you create
145
+ a generation task, but polling its result needs `taskrun.view` (a work scope).
146
+
147
+ For the complete API-to-scope mapping, initialization recipe, capability
148
+ recipes, a full working example, and a pitfalls checklist, see the
149
+ **[Work Runtime Guide](./docs/work-runtime-guide.md)**.
@@ -731,9 +731,15 @@ type SpaceSandboxAutoDestroyPolicy = {
731
731
  mode: "never";
732
732
  };
733
733
  type SpaceSandboxProvider = "cloud" | "local";
734
+ type SandboxSpecId = "standard" | "boost" | "ultra";
734
735
  type SpaceSandboxConfig = {
735
736
  provider?: SpaceSandboxProvider;
736
737
  autoDestroy: SpaceSandboxAutoDestroyPolicy;
738
+ spec?: SandboxSpecId;
739
+ appliedSpec?: SandboxSpecId | null;
740
+ specPendingRestart?: boolean;
741
+ allowedSpec?: SandboxSpecId;
742
+ specs?: Record<string, unknown>;
737
743
  };
738
744
  type SpaceConfig = {
739
745
  sandbox?: SpaceSandboxConfig;
@@ -786,6 +792,7 @@ type SpaceConfigInput = {
786
792
  sandbox?: {
787
793
  provider?: SpaceSandboxProvider;
788
794
  autoDestroy?: SpaceSandboxAutoDestroyPolicy;
795
+ spec?: SandboxSpecId;
789
796
  };
790
797
  };
791
798
  type CreateSpaceModInput = {
@@ -808,6 +815,17 @@ type CreateSpaceInput = {
808
815
  type SpaceConfigResponse = {
809
816
  config: Required<Pick<SpaceConfig, "sandbox">>;
810
817
  };
818
+ type SpaceConfigUpdateResponse = {
819
+ space: SpaceRecord;
820
+ sandbox?: {
821
+ resized?: boolean;
822
+ applying?: boolean;
823
+ pendingRestart?: boolean;
824
+ appliedSpec?: SandboxSpecId;
825
+ skipped?: boolean;
826
+ message?: string;
827
+ };
828
+ };
811
829
  type CanvasDocumentRecord = {
812
830
  id: string;
813
831
  spaceId: string;
@@ -1474,9 +1492,16 @@ declare class WorkRuntimeApi {
1474
1492
  private token;
1475
1493
  private readonly transport;
1476
1494
  private readonly tokenStorageKey;
1495
+ private readonly scopesStorageKey;
1496
+ /** Scopes previously granted via requestAuthorization, retained so token
1497
+ * refreshes can re-authorize (preserving viewerScopes) instead of falling
1498
+ * back to a base session token that only carries workScopes. */
1499
+ private authorizedScopes;
1477
1500
  constructor(transport?: WorkRuntimeTransport, workId?: string);
1478
1501
  private readStoredToken;
1479
1502
  private writeStoredToken;
1503
+ private readStoredScopes;
1504
+ private writeStoredScopes;
1480
1505
  context(): Promise<WorkRuntimeContext | null>;
1481
1506
  getAccessToken(options?: {
1482
1507
  forceRefresh?: boolean;
@@ -2017,6 +2042,10 @@ declare class SpaceFilesApi {
2017
2042
  * SDK can attach authorization headers.
2018
2043
  */
2019
2044
  getDownloadUrl(path: string): string;
2045
+ createPreviewSession(customFetch?: Fetch): Promise<{
2046
+ token: string;
2047
+ expiresIn: number;
2048
+ }>;
2020
2049
  download(path: string, customFetch?: Fetch): Promise<{
2021
2050
  blob: Blob;
2022
2051
  filename: string;
@@ -2539,9 +2568,7 @@ declare class SpaceClient {
2539
2568
  command: string;
2540
2569
  }): Promise<SpaceRunCommandResponse>;
2541
2570
  getConfig(): Promise<SpaceConfigResponse>;
2542
- updateConfig(input: SpaceConfigInput): Promise<{
2543
- space: SpaceRecord;
2544
- }>;
2571
+ updateConfig(input: SpaceConfigInput): Promise<SpaceConfigUpdateResponse>;
2545
2572
  session(sessionId: string): SessionClient;
2546
2573
  updatePresence(meta?: Record<string, unknown> | null): Promise<void>;
2547
2574
  subscribe(handler: (event: WebsocketEventPayload) => void): () => void;
@@ -2827,4 +2854,4 @@ declare class CohubHttpClient {
2827
2854
  }
2828
2855
  declare const createHttpClient: (options?: CohubClientOptions) => CohubHttpClient;
2829
2856
  //#endregion
2830
- export { parseAssistantMessageCommit as $, GenerationContentBlock as $i, PatchResourceLabelsInput as $n, SpaceFsFileKind as $r, BillingCreditStatus as $t, TasksApi as A, SpaceUsageResponse as Ai, CronJobRecord as An, SpaceBootstrapSource as Ar, WorkRuntimeCheckoutState as At, GenerationStreamCommitEvent as B, PublicGenerationDeclaration as Bi, JsonObject as Bn, SpaceCommerceProductCreditBenefit as Br, BatchUserProfilesResponse as Bt, WorkStatus as C, SpaceRecord as Ci, CreateInvitationResponse as Cn, SessionTurnResponse as Cr, Fetch as Ct, WorkVisibility as D, SpaceSandboxProvider as Di, CreateSpacePromptResponse as Dn, SessionTurnsPaginatedResponse as Dr, ParentBridgeTransport as Dt, WorkVersionRecord as E, SpaceSandboxConfig as Ei, CreateSpacePromptInput as En, SessionTurnWindowResponse as Er, RawHttpResponse as Et, SpaceEventName as F, UserRulesResponse as Fi, ExploreSpacesResponse as Fn, SpaceCommerceCreditsBenefit as Fr, WorkRuntimeTransport as Ft, GenerationStreamLifecycleEvent as G, assertGenerationRequestAllowedByPolicy as Gi, LabelAssignmentRecord as Gn, SpaceDefaultResponse as Gr, BillingBalanceActivityStatus as Gt, GenerationStreamEvent as H, GenerationParameterConstraint as Hi, JsonValue as Hn, SpaceConfigInput as Hr, BillingBalanceActivity as Ht, SpacesApi as I, CreateGenerationTaskRequest as Ii, GlobalSearchResponse as In, SpaceCommerceFeatureBenefit as Ir, createWorkRuntime as It, GenerationStreamSubscribeOptions as J, filterGenerationDeclarationsByPolicy as Ji, LabelResourceType as Jn, SpaceFsCompleteUploadResponse as Jr, BillingCheckoutActionState as Jt, GenerationStreamOutOfSyncEvent as K, decodeGenerationPolicy as Ki, LabelListItem as Kn, SpaceEnvInput as Kr, BillingCatalog as Kt, WebSocketConnectionState as L, CreateGenerationTaskResponse as Li, GlobalSearchResult as Ln, SpaceCommerceOrder as Lr, resolveWorkTransport as Lt, SessionSubscriptionHandlers as M, TaskRunDetailResponse as Mi, CursorPageInfo as Mn, SpaceCheckpointDetailResponse as Mr, WorkRuntimeContext as Mt, SpaceChannelBindingRecord as N, TaskRunRecord as Ni, ExploreSection as Nn, SpaceCommerceBenefit as Nr, WorkRuntimeModeConfig as Nt, WorksApi as O, SpaceSessionsResponse as Oi, CreateSpaceSessionInput as On, SpaceAccess as Or, PopupBrokerTransport as Ot, SpaceClient as P, UserProfile as Pi, ExploreSpaceItem as Pn, SpaceCommerceBuyerProfile as Pr, WorkRuntimeRequestOptions as Pt, createSessionGenerationStreamClient as Q, parseGenerationPolicyFromEnv as Qi, ModelCatalogEntry as Qn, SpaceFsEntry as Qr, BillingCreditGrantStatus as Qt, PublicInviteApi as R, GenerationTaskResult as Ri, GlobalSearchType as Rn, SpaceCommerceProduct as Rr, AcceptInvitationResponse as Rt, WorkSessionResponse as S, SpacePublicProfile as Si, CreateInvitationInput as Sn, SessionTurnIndexResponse as Sr, CohubClientOptions as St, WorkUpdateInput as T, SpaceSandboxAutoDestroyPolicy as Ti, CreateSpaceModInput as Tn, SessionTurnStreamSnapshotResponse as Tr, HttpTransport as Tt, GenerationStreamFinalizedEvent as U, GenerationPolicy as Ui, LabelAssignmentListItem as Un, SpaceConfigResponse as Ur, BillingBalanceActivityKind as Ut, GenerationStreamErrorEvent as V, GenerationModelPolicy as Vi, JsonPrimitive as Vn, SpaceConfig as Vr, BillingAccessWarning as Vt, GenerationStreamIntermediateMessage as W, GenerationPolicyError as Wi, LabelAssignmentPageInfo as Wn, SpaceCreateResponse as Wr, BillingBalanceActivityList as Wt, GenerationStreamTurnUpdatedEvent as X, getAllowedGenerationModelIds as Xi, LabelSource as Xn, SpaceFsCreateUploadResponse as Xr, BillingConversionIntent as Xt, GenerationStreamSubscriptionHandlers as Y, findGenerationModelPolicy as Yi, LabelScopeType as Yn, SpaceFsCreateUploadInput as Yr, BillingCheckoutResult as Yt, SessionGenerationStreamClient as Z, normalizeGenerationPolicy as Zi, MeResponse as Zn, SpaceFsEncoding as Zr, BillingCreditExpiryGroup as Zt, WorkPresentationMeta as _, SpaceMember as _i, CanvasNodeRecord as _n, SessionBindingRecord as _r, PromptsApi as _t, WorkCommerceCreditConsumeResponse as a, SpaceFsReadFilesResponse as ai, BillingProductCreditBenefit as an, PublicUserProfile as ar, createSessionPatchReducer as at, WorkRecord as b, SpacePresenceSnapshot as bi, Channel as bn, SessionMessagesResponse as br, CronJobsApi as bt, WorkCommerceEntitlementsResponse as c, SpaceFsUploadEntry as ci, BillingProductPricing as cn, ReferenceAggregateResponse as cr, ReferencesApi as ct, WorkCommercePurchaseResponse as d, SpaceFsUploadPlanEntryInput as di, BillingSubscriptionHistoryStatus as dn, ReferenceQueryResponse as dr, CreatePublicAssetUploadResponse as dt, ChannelConfig as ea, SpaceFsFileResponse as ei, BillingCreditUnit as en, PatchResourceLabelsResponse as er, SessionPatchApplyInput as et, WorkAuthorizeResponse as f, SpaceFsUploadProgress as fi, BillingSubscriptionSummary as fn, ReferenceQueryableType as fr, PublicAssetMimeType as ft, WorkMeta as g, SpaceListItem as gi, CanvasNodeInput as gn, SendMessageCronJobPayload as gr, UploadPublicAssetInput as gt, WorkGetResponse as h, SpaceInvitation as hi, CanvasDocumentRecord as hn, ResourceLabelsResponse as hr, UploadChatImageAttachmentInput as ht, WorkCommerceCheckoutStatus as i, SpaceFsReadFilesInput as ii, BillingProductBillingInterval as in, PromptTemplateCatalogResponse as ir, SessionPatchStatus as it, SessionEventName as j, SpaceUsageSummary as ji, CronJobUpdatePatch as jn, SpaceChannelBindingInput as jr, WorkRuntimeCheckoutStatus as jt, UserApi as k, SpaceUsageHourlyStat as ki, CronJobPayload as kn, SpaceAccessPolicy as kr, WorkRuntimeApi as kt, WorkCommerceOrder as l, SpaceFsUploadError as li, BillingRedemptionResult as ln, ReferenceDirection as lr, SearchApi as lt, WorkDetailResponse as m, SpaceFsWriteFileInput as mi, CanvasCreateInput as mn, ReferenceResourceType as mr, PublicAssetsApi as mt, createHttpClient as n, SpaceFsPreparingFile as ni, BillingPaymentStatus as nn, PromptAccessMode as nr, SessionPatchReducer as nt, WorkCommerceCreditConsumeStatus as o, SpaceFsTreeResponse as oi, BillingProductDisplay as on, ReferenceAggregateGroup as or, SessionAccessApi as ot, WorkCreateInput as p, SpaceFsUploadResponse as pi, CanvasBootstrapResponse as pn, ReferenceRecord as pr, PublicAssetPurpose as pt, GenerationStreamStateEvent as q, encodeGenerationPolicy as qi, LabelRecord as qn, SpaceFsCompleteUploadInput as qr, BillingCatalogProduct as qt, WorkCommerceApi as r, SpaceFsReadFilesError as ri, BillingPluginStatus as rn, PromptTemplateCatalogEntry as rr, SessionPatchState as rt, WorkCommerceEntitlement as s, SpaceFsUploadDestination as si, BillingProductKind as sn, ReferenceAggregateGroupBy as sr, ReferenceResourceSelector as st, CohubHttpClient as t, DiscordChannelConfig as ta, SpaceFsMoveInput as ti, BillingHistoryPagination as tn, Permission as tr, SessionPatchApplyResult as tt, WorkCommerceProductResolveResponse as u, SpaceFsUploadPlanEntry as ui, BillingSubscriptionHistoryList as un, ReferenceKind as ur, CreatePublicAssetUploadInput as ut, WorkPublicOwnerRecord as v, SpaceMeta as vi, CanvasSemanticOp as vn, SessionMessageResponse as vr, ModelsApi as vt, WorkTargetType as w, SpaceRole as wi, CreateSpaceInput as wn, SessionTurnSignedUrlsResponse as wr, HttpError as wt, WorkResolveResponse as x, SpacePresenceUser as xi, CheckpointRecord as xn, SessionRecord as xr, ChannelsApi as xt, WorkPublicSpaceRecord as y, SpaceModListItem as yi, CanvasTransactionInput as yn, SessionMessagesPaginatedResponse as yr, GenerationsApi as yt, AssistantMessageCommit as z, ListGenerationModelsResponse as zi, InvitationDetail as zn, SpaceCommerceProductBenefitBinding as zr, ApiError as zt };
2857
+ export { parseAssistantMessageCommit as $, normalizeGenerationPolicy as $i, PatchResourceLabelsInput as $n, SpaceFsEncoding as $r, BillingCreditStatus as $t, TasksApi as A, SpaceSessionsResponse as Ai, CronJobRecord as An, SpaceAccessPolicy as Ar, WorkRuntimeCheckoutState as At, GenerationStreamCommitEvent as B, GenerationTaskResult as Bi, JsonObject as Bn, SpaceCommerceProductBenefitBinding as Br, BatchUserProfilesResponse as Bt, WorkStatus as C, SpacePresenceUser as Ci, CreateInvitationResponse as Cn, SessionTurnIndexResponse as Cr, Fetch as Ct, WorkVisibility as D, SpaceSandboxAutoDestroyPolicy as Di, CreateSpacePromptResponse as Dn, SessionTurnWindowResponse as Dr, ParentBridgeTransport as Dt, WorkVersionRecord as E, SpaceRole as Ei, CreateSpacePromptInput as En, SessionTurnStreamSnapshotResponse as Er, RawHttpResponse as Et, SpaceEventName as F, TaskRunRecord as Fi, ExploreSpacesResponse as Fn, SpaceCommerceBuyerProfile as Fr, WorkRuntimeTransport as Ft, GenerationStreamLifecycleEvent as G, GenerationPolicy as Gi, LabelAssignmentRecord as Gn, SpaceConfigUpdateResponse as Gr, BillingBalanceActivityStatus as Gt, GenerationStreamEvent as H, PublicGenerationDeclaration as Hi, JsonValue as Hn, SpaceConfig as Hr, BillingBalanceActivity as Ht, SpacesApi as I, UserProfile as Ii, GlobalSearchResponse as In, SpaceCommerceCreditsBenefit as Ir, createWorkRuntime as It, GenerationStreamSubscribeOptions as J, decodeGenerationPolicy as Ji, LabelResourceType as Jn, SpaceEnvInput as Jr, BillingCheckoutActionState as Jt, GenerationStreamOutOfSyncEvent as K, GenerationPolicyError as Ki, LabelListItem as Kn, SpaceCreateResponse as Kr, BillingCatalog as Kt, WebSocketConnectionState as L, UserRulesResponse as Li, GlobalSearchResult as Ln, SpaceCommerceFeatureBenefit as Lr, resolveWorkTransport as Lt, SessionSubscriptionHandlers as M, SpaceUsageResponse as Mi, CursorPageInfo as Mn, SpaceChannelBindingInput as Mr, WorkRuntimeContext as Mt, SpaceChannelBindingRecord as N, SpaceUsageSummary as Ni, ExploreSection as Nn, SpaceCheckpointDetailResponse as Nr, WorkRuntimeModeConfig as Nt, WorksApi as O, SpaceSandboxConfig as Oi, CreateSpaceSessionInput as On, SessionTurnsPaginatedResponse as Or, PopupBrokerTransport as Ot, SpaceClient as P, TaskRunDetailResponse as Pi, ExploreSpaceItem as Pn, SpaceCommerceBenefit as Pr, WorkRuntimeRequestOptions as Pt, createSessionGenerationStreamClient as Q, getAllowedGenerationModelIds as Qi, ModelCatalogEntry as Qn, SpaceFsCreateUploadResponse as Qr, BillingCreditGrantStatus as Qt, PublicInviteApi as R, CreateGenerationTaskRequest as Ri, GlobalSearchType as Rn, SpaceCommerceOrder as Rr, AcceptInvitationResponse as Rt, WorkSessionResponse as S, SpacePresenceSnapshot as Si, CreateInvitationInput as Sn, SessionRecord as Sr, CohubClientOptions as St, WorkUpdateInput as T, SpaceRecord as Ti, CreateSpaceModInput as Tn, SessionTurnSignedUrlsResponse as Tr, HttpTransport as Tt, GenerationStreamFinalizedEvent as U, GenerationModelPolicy as Ui, LabelAssignmentListItem as Un, SpaceConfigInput as Ur, BillingBalanceActivityKind as Ut, GenerationStreamErrorEvent as V, ListGenerationModelsResponse as Vi, JsonPrimitive as Vn, SpaceCommerceProductCreditBenefit as Vr, BillingAccessWarning as Vt, GenerationStreamIntermediateMessage as W, GenerationParameterConstraint as Wi, LabelAssignmentPageInfo as Wn, SpaceConfigResponse as Wr, BillingBalanceActivityList as Wt, GenerationStreamTurnUpdatedEvent as X, filterGenerationDeclarationsByPolicy as Xi, LabelSource as Xn, SpaceFsCompleteUploadResponse as Xr, BillingConversionIntent as Xt, GenerationStreamSubscriptionHandlers as Y, encodeGenerationPolicy as Yi, LabelScopeType as Yn, SpaceFsCompleteUploadInput as Yr, BillingCheckoutResult as Yt, SessionGenerationStreamClient as Z, findGenerationModelPolicy as Zi, MeResponse as Zn, SpaceFsCreateUploadInput as Zr, BillingCreditExpiryGroup as Zt, WorkPresentationMeta as _, SpaceInvitation as _i, CanvasNodeRecord as _n, SendMessageCronJobPayload as _r, PromptsApi as _t, WorkCommerceCreditConsumeResponse as a, SpaceFsReadFilesError as ai, BillingProductCreditBenefit as an, PublicUserProfile as ar, createSessionPatchReducer as at, WorkRecord as b, SpaceMeta as bi, Channel as bn, SessionMessagesPaginatedResponse as br, CronJobsApi as bt, WorkCommerceEntitlementsResponse as c, SpaceFsTreeResponse as ci, BillingProductPricing as cn, ReferenceAggregateResponse as cr, ReferencesApi as ct, WorkCommercePurchaseResponse as d, SpaceFsUploadError as di, BillingSubscriptionHistoryStatus as dn, ReferenceQueryResponse as dr, CreatePublicAssetUploadResponse as dt, parseGenerationPolicyFromEnv as ea, SpaceFsEntry as ei, BillingCreditUnit as en, PatchResourceLabelsResponse as er, SessionPatchApplyInput as et, WorkAuthorizeResponse as f, SpaceFsUploadPlanEntry as fi, BillingSubscriptionSummary as fn, ReferenceQueryableType as fr, PublicAssetMimeType as ft, WorkMeta as g, SpaceFsWriteFileInput as gi, CanvasNodeInput as gn, SandboxSpecId as gr, UploadPublicAssetInput as gt, WorkGetResponse as h, SpaceFsUploadResponse as hi, CanvasDocumentRecord as hn, ResourceLabelsResponse as hr, UploadChatImageAttachmentInput as ht, WorkCommerceCheckoutStatus as i, SpaceFsPreparingFile as ii, BillingProductBillingInterval as in, PromptTemplateCatalogResponse as ir, SessionPatchStatus as it, SessionEventName as j, SpaceUsageHourlyStat as ji, CronJobUpdatePatch as jn, SpaceBootstrapSource as jr, WorkRuntimeCheckoutStatus as jt, UserApi as k, SpaceSandboxProvider as ki, CronJobPayload as kn, SpaceAccess as kr, WorkRuntimeApi as kt, WorkCommerceOrder as l, SpaceFsUploadDestination as li, BillingRedemptionResult as ln, ReferenceDirection as lr, SearchApi as lt, WorkDetailResponse as m, SpaceFsUploadProgress as mi, CanvasCreateInput as mn, ReferenceResourceType as mr, PublicAssetsApi as mt, createHttpClient as n, ChannelConfig as na, SpaceFsFileResponse as ni, BillingPaymentStatus as nn, PromptAccessMode as nr, SessionPatchReducer as nt, WorkCommerceCreditConsumeStatus as o, SpaceFsReadFilesInput as oi, BillingProductDisplay as on, ReferenceAggregateGroup as or, SessionAccessApi as ot, WorkCreateInput as p, SpaceFsUploadPlanEntryInput as pi, CanvasBootstrapResponse as pn, ReferenceRecord as pr, PublicAssetPurpose as pt, GenerationStreamStateEvent as q, assertGenerationRequestAllowedByPolicy as qi, LabelRecord as qn, SpaceDefaultResponse as qr, BillingCatalogProduct as qt, WorkCommerceApi as r, DiscordChannelConfig as ra, SpaceFsMoveInput as ri, BillingPluginStatus as rn, PromptTemplateCatalogEntry as rr, SessionPatchState as rt, WorkCommerceEntitlement as s, SpaceFsReadFilesResponse as si, BillingProductKind as sn, ReferenceAggregateGroupBy as sr, ReferenceResourceSelector as st, CohubHttpClient as t, GenerationContentBlock as ta, SpaceFsFileKind as ti, BillingHistoryPagination as tn, Permission as tr, SessionPatchApplyResult as tt, WorkCommerceProductResolveResponse as u, SpaceFsUploadEntry as ui, BillingSubscriptionHistoryList as un, ReferenceKind as ur, CreatePublicAssetUploadInput as ut, WorkPublicOwnerRecord as v, SpaceListItem as vi, CanvasSemanticOp as vn, SessionBindingRecord as vr, ModelsApi as vt, WorkTargetType as w, SpacePublicProfile as wi, CreateSpaceInput as wn, SessionTurnResponse as wr, HttpError as wt, WorkResolveResponse as x, SpaceModListItem as xi, CheckpointRecord as xn, SessionMessagesResponse as xr, ChannelsApi as xt, WorkPublicSpaceRecord as y, SpaceMember as yi, CanvasTransactionInput as yn, SessionMessageResponse as yr, GenerationsApi as yt, AssistantMessageCommit as z, CreateGenerationTaskResponse as zi, InvitationDetail as zn, SpaceCommerceProduct as zr, ApiError as zt };
@@ -1471,6 +1471,12 @@ var SpaceFilesApi = class {
1471
1471
  const params = new URLSearchParams({ path });
1472
1472
  return `/api/spaces/${this.spaceId}/fs/download?${params.toString()}`;
1473
1473
  }
1474
+ createPreviewSession(customFetch) {
1475
+ return this.transport.request(`/api/spaces/${this.spaceId}/preview-session`, {
1476
+ method: "POST",
1477
+ fetch: customFetch
1478
+ });
1479
+ }
1474
1480
  async download(path, customFetch) {
1475
1481
  const params = new URLSearchParams({ path });
1476
1482
  const raw = await this.transport.raw(`/api/spaces/${this.spaceId}/fs/download?${params.toString()}`, { fetch: customFetch });
@@ -2607,4 +2613,4 @@ var CohubHttpClient = class {
2607
2613
  };
2608
2614
  const createHttpClient = (options) => new CohubHttpClient(options);
2609
2615
  //#endregion
2610
- export { GenerationsApi as C, ModelsApi as S, ChannelsApi as T, SessionAccessApi as _, UserApi as a, PublicAssetsApi 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, ReferencesApi as v, CronJobsApi as w, PromptsApi as x, SearchApi as y };
2616
+ export { ModelsApi as C, ChannelsApi as E, PromptsApi as S, CronJobsApi as T, ensureRealtimeConnected as _, UserApi as a, SearchApi 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, SessionAccessApi as v, GenerationsApi as w, PublicAssetsApi as x, ReferencesApi as y };
@@ -545,6 +545,29 @@ type SessionTurnFinalizedEvent = {
545
545
  turn: RealtimeTurnRecord;
546
546
  };
547
547
  };
548
+ type SessionTurnNotifyEvent = {
549
+ id: string;
550
+ timestamp: number;
551
+ domain: "session";
552
+ type: "session.turn.notify";
553
+ requestId?: string | null;
554
+ spaceId: string;
555
+ sessionId: string;
556
+ payload: {
557
+ spaceId: string;
558
+ sessionId: string;
559
+ turnId: string;
560
+ status: SessionTurnRecord["status"];
561
+ finishReason?: SessionTurnSummary["finishReason"] | null;
562
+ userPreview: string | null;
563
+ durationMs: number | null;
564
+ stepCount: number | null;
565
+ sequence: number | null;
566
+ provider: string | null;
567
+ model: string | null;
568
+ completedAt: string | null;
569
+ };
570
+ };
548
571
  type SessionMessagePersistedEvent = {
549
572
  id: string;
550
573
  timestamp: number;
@@ -709,7 +732,7 @@ type LabelAssignmentsUpdatedEvent = {
709
732
  affectedLabelIds: string[];
710
733
  };
711
734
  };
712
- type RealtimeServerEvent = SystemReadyEvent | SystemAuthOkEvent | SystemRequestErrorEvent | SystemPongEvent | SystemAckOkEvent | SystemSubscribeOkEvent | SystemSubscribeErrorEvent | SessionCreatedEvent | SessionUpdatedEvent | SessionRequestAcceptedEvent | SessionRequestErrorEvent | SessionTurnCreatedEvent | SessionTurnPatchEvent | SessionTurnErrorEvent | SessionTurnLifecycleEvent | SessionTurnUpdatedEvent | SessionTurnFinalizedEvent | SessionMessagePersistedEvent | SpaceFsChangedEvent | SpacePortsChangedEvent | SpacePresenceUpdatedEvent | CanvasTransactionAppliedEvent | CanvasTransactionAckEvent | CanvasTransactionErrorEvent | TaskCreatedEvent | TaskUpdatedEvent | LabelAssignmentsUpdatedEvent;
735
+ type RealtimeServerEvent = SystemReadyEvent | SystemAuthOkEvent | SystemRequestErrorEvent | SystemPongEvent | SystemAckOkEvent | SystemSubscribeOkEvent | SystemSubscribeErrorEvent | SessionCreatedEvent | SessionUpdatedEvent | SessionRequestAcceptedEvent | SessionRequestErrorEvent | SessionTurnCreatedEvent | SessionTurnPatchEvent | SessionTurnErrorEvent | SessionTurnLifecycleEvent | SessionTurnUpdatedEvent | SessionTurnFinalizedEvent | SessionTurnNotifyEvent | SessionMessagePersistedEvent | SpaceFsChangedEvent | SpacePortsChangedEvent | SpacePresenceUpdatedEvent | CanvasTransactionAppliedEvent | CanvasTransactionAckEvent | CanvasTransactionErrorEvent | TaskCreatedEvent | TaskUpdatedEvent | LabelAssignmentsUpdatedEvent;
713
736
  //#endregion
714
737
  //#region src/websocket.d.ts
715
738
  type WebsocketEventPayload = ChannelEnvelope;
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 { $i as GenerationContentBlock, $n as PatchResourceLabelsInput, $r as SpaceFsFileKind, $t as BillingCreditStatus, Ai as SpaceUsageResponse, An as CronJobRecord, Ar as SpaceBootstrapSource, Bi as PublicGenerationDeclaration, Bn as JsonObject, Br as SpaceCommerceProductCreditBenefit, Bt as BatchUserProfilesResponse, Ci as SpaceRecord, Cn as CreateInvitationResponse, Cr as SessionTurnResponse, Ct as Fetch, Di as SpaceSandboxProvider, Dn as CreateSpacePromptResponse, Dr as SessionTurnsPaginatedResponse, Ei as SpaceSandboxConfig, En as CreateSpacePromptInput, Er as SessionTurnWindowResponse, Fi as UserRulesResponse, Fn as ExploreSpacesResponse, Fr as SpaceCommerceCreditsBenefit, Gn as LabelAssignmentRecord, Gr as SpaceDefaultResponse, Gt as BillingBalanceActivityStatus, Hn as JsonValue, Hr as SpaceConfigInput, Ht as BillingBalanceActivity, Ii as CreateGenerationTaskRequest, In as GlobalSearchResponse, Ir as SpaceCommerceFeatureBenefit, Jn as LabelResourceType, Jr as SpaceFsCompleteUploadResponse, Jt as BillingCheckoutActionState, Kn as LabelListItem, Kr as SpaceEnvInput, Kt as BillingCatalog, Li as CreateGenerationTaskResponse, Ln as GlobalSearchResult, Lr as SpaceCommerceOrder, Mi as TaskRunDetailResponse, Mn as CursorPageInfo, Mr as SpaceCheckpointDetailResponse, Ni as TaskRunRecord, Nn as ExploreSection, Nr as SpaceCommerceBenefit, Oi as SpaceSessionsResponse, On as CreateSpaceSessionInput, Or as SpaceAccess, Pi as UserProfile, Pn as ExploreSpaceItem, Pr as SpaceCommerceBuyerProfile, Qn as ModelCatalogEntry, Qr as SpaceFsEntry, Qt as BillingCreditGrantStatus, Ri as GenerationTaskResult, Rn as GlobalSearchType, Rr as SpaceCommerceProduct, Rt as AcceptInvitationResponse, Si as SpacePublicProfile, Sn as CreateInvitationInput, Sr as SessionTurnIndexResponse, St as CohubClientOptions, Ti as SpaceSandboxAutoDestroyPolicy, Tn as CreateSpaceModInput, Tr as SessionTurnStreamSnapshotResponse, Tt as HttpTransport, Ui as GenerationPolicy, Un as LabelAssignmentListItem, Ur as SpaceConfigResponse, Ut as BillingBalanceActivityKind, Vn as JsonPrimitive, Vr as SpaceConfig, Vt as BillingAccessWarning, Wn as LabelAssignmentPageInfo, Wr as SpaceCreateResponse, Wt as BillingBalanceActivityList, Xn as LabelSource, Xr as SpaceFsCreateUploadResponse, Xt as BillingConversionIntent, Yn as LabelScopeType, Yr as SpaceFsCreateUploadInput, Yt as BillingCheckoutResult, Zn as MeResponse, Zr as SpaceFsEncoding, Zt as BillingCreditExpiryGroup, _i as SpaceMember, _n as CanvasNodeRecord, _r as SessionBindingRecord, ai as SpaceFsReadFilesResponse, an as BillingProductCreditBenefit, ar as PublicUserProfile, bi as SpacePresenceSnapshot, bn as Channel, br as SessionMessagesResponse, ci as SpaceFsUploadEntry, cn as BillingProductPricing, cr as ReferenceAggregateResponse, di as SpaceFsUploadPlanEntryInput, dn as BillingSubscriptionHistoryStatus, dr as ReferenceQueryResponse, ea as ChannelConfig, ei as SpaceFsFileResponse, en as BillingCreditUnit, er as PatchResourceLabelsResponse, fi as SpaceFsUploadProgress, fn as BillingSubscriptionSummary, fr as ReferenceQueryableType, gi as SpaceListItem, gn as CanvasNodeInput, gr as SendMessageCronJobPayload, hi as SpaceInvitation, hn as CanvasDocumentRecord, hr as ResourceLabelsResponse, ii as SpaceFsReadFilesInput, in as BillingProductBillingInterval, ir as PromptTemplateCatalogResponse, ji as SpaceUsageSummary, jn as CronJobUpdatePatch, jr as SpaceChannelBindingInput, ki as SpaceUsageHourlyStat, kn as CronJobPayload, kr as SpaceAccessPolicy, li as SpaceFsUploadError, ln as BillingRedemptionResult, lr as ReferenceDirection, mi as SpaceFsWriteFileInput, mn as CanvasCreateInput, mr as ReferenceResourceType, n as createHttpClient, ni as SpaceFsPreparingFile, nn as BillingPaymentStatus, nr as PromptAccessMode, oi as SpaceFsTreeResponse, on as BillingProductDisplay, or as ReferenceAggregateGroup, pi as SpaceFsUploadResponse, pn as CanvasBootstrapResponse, pr as ReferenceRecord, qn as LabelRecord, qr as SpaceFsCompleteUploadInput, qt as BillingCatalogProduct, ri as SpaceFsReadFilesError, rn as BillingPluginStatus, rr as PromptTemplateCatalogEntry, si as SpaceFsUploadDestination, sn as BillingProductKind, sr as ReferenceAggregateGroupBy, t as CohubHttpClient, ta as DiscordChannelConfig, ti as SpaceFsMoveInput, tn as BillingHistoryPagination, tr as Permission, ui as SpaceFsUploadPlanEntry, un as BillingSubscriptionHistoryList, ur as ReferenceKind, vi as SpaceMeta, vn as CanvasSemanticOp, vr as SessionMessageResponse, wi as SpaceRole, wn as CreateSpaceInput, wr as SessionTurnSignedUrlsResponse, wt as HttpError, xi as SpacePresenceUser, xn as CheckpointRecord, xr as SessionRecord, yi as SpaceModListItem, yn as CanvasTransactionInput, yr as SessionMessagesPaginatedResponse, zi as ListGenerationModelsResponse, zn as InvitationDetail, zr as SpaceCommerceProductBenefitBinding, zt as ApiError } 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, PatchResourceLabelsInput, PatchResourceLabelsResponse, Permission, PromptAccessMode, PromptTemplateCatalogEntry, PromptTemplateCatalogResponse, type PublicGenerationDeclaration, PublicUserProfile, ReferenceAggregateGroup, ReferenceAggregateGroupBy, ReferenceAggregateResponse, ReferenceDirection, ReferenceKind, ReferenceQueryResponse, ReferenceQueryableType, ReferenceRecord, ReferenceResourceType, 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, SpaceCommerceBenefit, SpaceCommerceBuyerProfile, SpaceCommerceCreditsBenefit, SpaceCommerceFeatureBenefit, SpaceCommerceOrder, SpaceCommerceProduct, SpaceCommerceProductBenefitBinding, SpaceCommerceProductCreditBenefit, 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, SpaceSandboxProvider, SpaceSessionsResponse, SpaceUsageHourlyStat, SpaceUsageResponse, SpaceUsageSummary, TaskRunDetailResponse, TaskRunRecord, UserProfile, UserRulesResponse, createHttpClient };
2
+ import { $n as PatchResourceLabelsInput, $r as SpaceFsEncoding, $t as BillingCreditStatus, Ai as SpaceSessionsResponse, An as CronJobRecord, Ar as SpaceAccessPolicy, Bi as GenerationTaskResult, Bn as JsonObject, Br as SpaceCommerceProductBenefitBinding, Bt as BatchUserProfilesResponse, Ci as SpacePresenceUser, Cn as CreateInvitationResponse, Cr as SessionTurnIndexResponse, Ct as Fetch, Di as SpaceSandboxAutoDestroyPolicy, Dn as CreateSpacePromptResponse, Dr as SessionTurnWindowResponse, Ei as SpaceRole, En as CreateSpacePromptInput, Er as SessionTurnStreamSnapshotResponse, Fi as TaskRunRecord, Fn as ExploreSpacesResponse, Fr as SpaceCommerceBuyerProfile, Gi as GenerationPolicy, Gn as LabelAssignmentRecord, Gr as SpaceConfigUpdateResponse, Gt as BillingBalanceActivityStatus, Hi as PublicGenerationDeclaration, Hn as JsonValue, Hr as SpaceConfig, Ht as BillingBalanceActivity, Ii as UserProfile, In as GlobalSearchResponse, Ir as SpaceCommerceCreditsBenefit, Jn as LabelResourceType, Jr as SpaceEnvInput, Jt as BillingCheckoutActionState, Kn as LabelListItem, Kr as SpaceCreateResponse, Kt as BillingCatalog, Li as UserRulesResponse, Ln as GlobalSearchResult, Lr as SpaceCommerceFeatureBenefit, Mi as SpaceUsageResponse, Mn as CursorPageInfo, Mr as SpaceChannelBindingInput, Ni as SpaceUsageSummary, Nn as ExploreSection, Nr as SpaceCheckpointDetailResponse, Oi as SpaceSandboxConfig, On as CreateSpaceSessionInput, Or as SessionTurnsPaginatedResponse, Pi as TaskRunDetailResponse, Pn as ExploreSpaceItem, Pr as SpaceCommerceBenefit, Qn as ModelCatalogEntry, Qr as SpaceFsCreateUploadResponse, Qt as BillingCreditGrantStatus, Ri as CreateGenerationTaskRequest, Rn as GlobalSearchType, Rr as SpaceCommerceOrder, Rt as AcceptInvitationResponse, Si as SpacePresenceSnapshot, Sn as CreateInvitationInput, Sr as SessionRecord, St as CohubClientOptions, Ti as SpaceRecord, Tn as CreateSpaceModInput, Tr as SessionTurnSignedUrlsResponse, Tt as HttpTransport, Un as LabelAssignmentListItem, Ur as SpaceConfigInput, Ut as BillingBalanceActivityKind, Vi as ListGenerationModelsResponse, Vn as JsonPrimitive, Vr as SpaceCommerceProductCreditBenefit, Vt as BillingAccessWarning, Wn as LabelAssignmentPageInfo, Wr as SpaceConfigResponse, Wt as BillingBalanceActivityList, Xn as LabelSource, Xr as SpaceFsCompleteUploadResponse, Xt as BillingConversionIntent, Yn as LabelScopeType, Yr as SpaceFsCompleteUploadInput, Yt as BillingCheckoutResult, Zn as MeResponse, Zr as SpaceFsCreateUploadInput, Zt as BillingCreditExpiryGroup, _i as SpaceInvitation, _n as CanvasNodeRecord, _r as SendMessageCronJobPayload, ai as SpaceFsReadFilesError, an as BillingProductCreditBenefit, ar as PublicUserProfile, bi as SpaceMeta, bn as Channel, br as SessionMessagesPaginatedResponse, ci as SpaceFsTreeResponse, cn as BillingProductPricing, cr as ReferenceAggregateResponse, di as SpaceFsUploadError, dn as BillingSubscriptionHistoryStatus, dr as ReferenceQueryResponse, ei as SpaceFsEntry, en as BillingCreditUnit, er as PatchResourceLabelsResponse, fi as SpaceFsUploadPlanEntry, fn as BillingSubscriptionSummary, fr as ReferenceQueryableType, gi as SpaceFsWriteFileInput, gn as CanvasNodeInput, gr as SandboxSpecId, hi as SpaceFsUploadResponse, hn as CanvasDocumentRecord, hr as ResourceLabelsResponse, ii as SpaceFsPreparingFile, in as BillingProductBillingInterval, ir as PromptTemplateCatalogResponse, ji as SpaceUsageHourlyStat, jn as CronJobUpdatePatch, jr as SpaceBootstrapSource, ki as SpaceSandboxProvider, kn as CronJobPayload, kr as SpaceAccess, li as SpaceFsUploadDestination, ln as BillingRedemptionResult, lr as ReferenceDirection, mi as SpaceFsUploadProgress, mn as CanvasCreateInput, mr as ReferenceResourceType, n as createHttpClient, na as ChannelConfig, ni as SpaceFsFileResponse, nn as BillingPaymentStatus, nr as PromptAccessMode, oi as SpaceFsReadFilesInput, on as BillingProductDisplay, or as ReferenceAggregateGroup, pi as SpaceFsUploadPlanEntryInput, pn as CanvasBootstrapResponse, pr as ReferenceRecord, qn as LabelRecord, qr as SpaceDefaultResponse, qt as BillingCatalogProduct, ra as DiscordChannelConfig, ri as SpaceFsMoveInput, rn as BillingPluginStatus, rr as PromptTemplateCatalogEntry, si as SpaceFsReadFilesResponse, sn as BillingProductKind, sr as ReferenceAggregateGroupBy, t as CohubHttpClient, ta as GenerationContentBlock, ti as SpaceFsFileKind, tn as BillingHistoryPagination, tr as Permission, ui as SpaceFsUploadEntry, un as BillingSubscriptionHistoryList, ur as ReferenceKind, vi as SpaceListItem, vn as CanvasSemanticOp, vr as SessionBindingRecord, wi as SpacePublicProfile, wn as CreateSpaceInput, wr as SessionTurnResponse, wt as HttpError, xi as SpaceModListItem, xn as CheckpointRecord, xr as SessionMessagesResponse, yi as SpaceMember, yn as CanvasTransactionInput, yr as SessionMessageResponse, zi as CreateGenerationTaskResponse, zn as InvitationDetail, zr as SpaceCommerceProduct, zt as ApiError } 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, PatchResourceLabelsInput, PatchResourceLabelsResponse, Permission, PromptAccessMode, PromptTemplateCatalogEntry, PromptTemplateCatalogResponse, type PublicGenerationDeclaration, PublicUserProfile, ReferenceAggregateGroup, ReferenceAggregateGroupBy, ReferenceAggregateResponse, ReferenceDirection, ReferenceKind, ReferenceQueryResponse, ReferenceQueryableType, ReferenceRecord, ReferenceResourceType, ResourceLabelsResponse, SandboxSpecId, 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, SpaceCommerceBenefit, SpaceCommerceBuyerProfile, SpaceCommerceCreditsBenefit, SpaceCommerceFeatureBenefit, SpaceCommerceOrder, SpaceCommerceProduct, SpaceCommerceProductBenefitBinding, SpaceCommerceProductCreditBenefit, SpaceConfig, SpaceConfigInput, SpaceConfigResponse, SpaceConfigUpdateResponse, 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, SpaceSandboxProvider, SpaceSessionsResponse, SpaceUsageHourlyStat, SpaceUsageResponse, SpaceUsageSummary, TaskRunDetailResponse, TaskRunRecord, UserProfile, UserRulesResponse, 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
- 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";
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, s as WebsocketEventPayload, 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 parseAssistantMessageCommit, $i as GenerationContentBlock, $n as PatchResourceLabelsInput, $r as SpaceFsFileKind, $t as BillingCreditStatus, A as TasksApi, Ai as SpaceUsageResponse, An as CronJobRecord, Ar as SpaceBootstrapSource, At as WorkRuntimeCheckoutState, B as GenerationStreamCommitEvent, Bi as PublicGenerationDeclaration, Bn as JsonObject, Br as SpaceCommerceProductCreditBenefit, Bt as BatchUserProfilesResponse, C as WorkStatus, Ci as SpaceRecord, Cn as CreateInvitationResponse, Cr as SessionTurnResponse, Ct as Fetch, D as WorkVisibility, Di as SpaceSandboxProvider, Dn as CreateSpacePromptResponse, Dr as SessionTurnsPaginatedResponse, Dt as ParentBridgeTransport, E as WorkVersionRecord, Ei as SpaceSandboxConfig, En as CreateSpacePromptInput, Er as SessionTurnWindowResponse, Et as RawHttpResponse, F as SpaceEventName, Fi as UserRulesResponse, Fn as ExploreSpacesResponse, Fr as SpaceCommerceCreditsBenefit, Ft as WorkRuntimeTransport, G as GenerationStreamLifecycleEvent, Gi as assertGenerationRequestAllowedByPolicy, Gn as LabelAssignmentRecord, Gr as SpaceDefaultResponse, Gt as BillingBalanceActivityStatus, H as GenerationStreamEvent, Hi as GenerationParameterConstraint, Hn as JsonValue, Hr as SpaceConfigInput, Ht as BillingBalanceActivity, I as SpacesApi, Ii as CreateGenerationTaskRequest, In as GlobalSearchResponse, Ir as SpaceCommerceFeatureBenefit, It as createWorkRuntime, J as GenerationStreamSubscribeOptions, Ji as filterGenerationDeclarationsByPolicy, Jn as LabelResourceType, Jr as SpaceFsCompleteUploadResponse, Jt as BillingCheckoutActionState, K as GenerationStreamOutOfSyncEvent, Ki as decodeGenerationPolicy, Kn as LabelListItem, Kr as SpaceEnvInput, Kt as BillingCatalog, L as WebSocketConnectionState, Li as CreateGenerationTaskResponse, Ln as GlobalSearchResult, Lr as SpaceCommerceOrder, Lt as resolveWorkTransport, M as SessionSubscriptionHandlers, Mi as TaskRunDetailResponse, Mn as CursorPageInfo, Mr as SpaceCheckpointDetailResponse, Mt as WorkRuntimeContext, N as SpaceChannelBindingRecord, Ni as TaskRunRecord, Nn as ExploreSection, Nr as SpaceCommerceBenefit, Nt as WorkRuntimeModeConfig, O as WorksApi, Oi as SpaceSessionsResponse, On as CreateSpaceSessionInput, Or as SpaceAccess, Ot as PopupBrokerTransport, P as SpaceClient, Pi as UserProfile, Pn as ExploreSpaceItem, Pr as SpaceCommerceBuyerProfile, Pt as WorkRuntimeRequestOptions, Q as createSessionGenerationStreamClient, Qi as parseGenerationPolicyFromEnv, Qn as ModelCatalogEntry, Qr as SpaceFsEntry, Qt as BillingCreditGrantStatus, R as PublicInviteApi, Ri as GenerationTaskResult, Rn as GlobalSearchType, Rr as SpaceCommerceProduct, Rt as AcceptInvitationResponse, S as WorkSessionResponse, Si as SpacePublicProfile, Sn as CreateInvitationInput, Sr as SessionTurnIndexResponse, St as CohubClientOptions, T as WorkUpdateInput, Ti as SpaceSandboxAutoDestroyPolicy, Tn as CreateSpaceModInput, Tr as SessionTurnStreamSnapshotResponse, Tt as HttpTransport, U as GenerationStreamFinalizedEvent, Ui as GenerationPolicy, Un as LabelAssignmentListItem, Ur as SpaceConfigResponse, Ut as BillingBalanceActivityKind, V as GenerationStreamErrorEvent, Vi as GenerationModelPolicy, Vn as JsonPrimitive, Vr as SpaceConfig, Vt as BillingAccessWarning, W as GenerationStreamIntermediateMessage, Wi as GenerationPolicyError, Wn as LabelAssignmentPageInfo, Wr as SpaceCreateResponse, Wt as BillingBalanceActivityList, X as GenerationStreamTurnUpdatedEvent, Xi as getAllowedGenerationModelIds, Xn as LabelSource, Xr as SpaceFsCreateUploadResponse, Xt as BillingConversionIntent, Y as GenerationStreamSubscriptionHandlers, Yi as findGenerationModelPolicy, Yn as LabelScopeType, Yr as SpaceFsCreateUploadInput, Yt as BillingCheckoutResult, Z as SessionGenerationStreamClient, Zi as normalizeGenerationPolicy, Zn as MeResponse, Zr as SpaceFsEncoding, Zt as BillingCreditExpiryGroup, _ as WorkPresentationMeta, _i as SpaceMember, _n as CanvasNodeRecord, _r as SessionBindingRecord, _t as PromptsApi, a as WorkCommerceCreditConsumeResponse, ai as SpaceFsReadFilesResponse, an as BillingProductCreditBenefit, ar as PublicUserProfile, at as createSessionPatchReducer, b as WorkRecord, bi as SpacePresenceSnapshot, bn as Channel, br as SessionMessagesResponse, bt as CronJobsApi, c as WorkCommerceEntitlementsResponse, ci as SpaceFsUploadEntry, cn as BillingProductPricing, cr as ReferenceAggregateResponse, ct as ReferencesApi, d as WorkCommercePurchaseResponse, di as SpaceFsUploadPlanEntryInput, dn as BillingSubscriptionHistoryStatus, dr as ReferenceQueryResponse, dt as CreatePublicAssetUploadResponse, ea as ChannelConfig, ei as SpaceFsFileResponse, en as BillingCreditUnit, er as PatchResourceLabelsResponse, et as SessionPatchApplyInput, f as WorkAuthorizeResponse, fi as SpaceFsUploadProgress, fn as BillingSubscriptionSummary, fr as ReferenceQueryableType, ft as PublicAssetMimeType, g as WorkMeta, gi as SpaceListItem, gn as CanvasNodeInput, gr as SendMessageCronJobPayload, gt as UploadPublicAssetInput, h as WorkGetResponse, hi as SpaceInvitation, hn as CanvasDocumentRecord, hr as ResourceLabelsResponse, ht as UploadChatImageAttachmentInput, i as WorkCommerceCheckoutStatus, ii as SpaceFsReadFilesInput, in as BillingProductBillingInterval, ir as PromptTemplateCatalogResponse, it as SessionPatchStatus, j as SessionEventName, ji as SpaceUsageSummary, jn as CronJobUpdatePatch, jr as SpaceChannelBindingInput, jt as WorkRuntimeCheckoutStatus, k as UserApi, ki as SpaceUsageHourlyStat, kn as CronJobPayload, kr as SpaceAccessPolicy, kt as WorkRuntimeApi, l as WorkCommerceOrder, li as SpaceFsUploadError, ln as BillingRedemptionResult, lr as ReferenceDirection, lt as SearchApi, m as WorkDetailResponse, mi as SpaceFsWriteFileInput, mn as CanvasCreateInput, mr as ReferenceResourceType, mt as PublicAssetsApi, n as createHttpClient, ni as SpaceFsPreparingFile, nn as BillingPaymentStatus, nr as PromptAccessMode, nt as SessionPatchReducer, o as WorkCommerceCreditConsumeStatus, oi as SpaceFsTreeResponse, on as BillingProductDisplay, or as ReferenceAggregateGroup, ot as SessionAccessApi, p as WorkCreateInput, pi as SpaceFsUploadResponse, pn as CanvasBootstrapResponse, pr as ReferenceRecord, pt as PublicAssetPurpose, q as GenerationStreamStateEvent, qi as encodeGenerationPolicy, qn as LabelRecord, qr as SpaceFsCompleteUploadInput, qt as BillingCatalogProduct, r as WorkCommerceApi, ri as SpaceFsReadFilesError, rn as BillingPluginStatus, rr as PromptTemplateCatalogEntry, rt as SessionPatchState, s as WorkCommerceEntitlement, si as SpaceFsUploadDestination, sn as BillingProductKind, sr as ReferenceAggregateGroupBy, st as ReferenceResourceSelector, t as CohubHttpClient, ta as DiscordChannelConfig, ti as SpaceFsMoveInput, tn as BillingHistoryPagination, tr as Permission, tt as SessionPatchApplyResult, u as WorkCommerceProductResolveResponse, ui as SpaceFsUploadPlanEntry, un as BillingSubscriptionHistoryList, ur as ReferenceKind, ut as CreatePublicAssetUploadInput, v as WorkPublicOwnerRecord, vi as SpaceMeta, vn as CanvasSemanticOp, vr as SessionMessageResponse, vt as ModelsApi, w as WorkTargetType, wi as SpaceRole, wn as CreateSpaceInput, wr as SessionTurnSignedUrlsResponse, wt as HttpError, x as WorkResolveResponse, xi as SpacePresenceUser, xn as CheckpointRecord, xr as SessionRecord, xt as ChannelsApi, y as WorkPublicSpaceRecord, yi as SpaceModListItem, yn as CanvasTransactionInput, yr as SessionMessagesPaginatedResponse, yt as GenerationsApi, z as AssistantMessageCommit, zi as ListGenerationModelsResponse, zn as InvitationDetail, zr as SpaceCommerceProductBenefitBinding, zt as ApiError } from "./chunks/http.js";
4
+ import { $ as parseAssistantMessageCommit, $i as normalizeGenerationPolicy, $n as PatchResourceLabelsInput, $r as SpaceFsEncoding, $t as BillingCreditStatus, A as TasksApi, Ai as SpaceSessionsResponse, An as CronJobRecord, Ar as SpaceAccessPolicy, At as WorkRuntimeCheckoutState, B as GenerationStreamCommitEvent, Bi as GenerationTaskResult, Bn as JsonObject, Br as SpaceCommerceProductBenefitBinding, Bt as BatchUserProfilesResponse, C as WorkStatus, Ci as SpacePresenceUser, Cn as CreateInvitationResponse, Cr as SessionTurnIndexResponse, Ct as Fetch, D as WorkVisibility, Di as SpaceSandboxAutoDestroyPolicy, Dn as CreateSpacePromptResponse, Dr as SessionTurnWindowResponse, Dt as ParentBridgeTransport, E as WorkVersionRecord, Ei as SpaceRole, En as CreateSpacePromptInput, Er as SessionTurnStreamSnapshotResponse, Et as RawHttpResponse, F as SpaceEventName, Fi as TaskRunRecord, Fn as ExploreSpacesResponse, Fr as SpaceCommerceBuyerProfile, Ft as WorkRuntimeTransport, G as GenerationStreamLifecycleEvent, Gi as GenerationPolicy, Gn as LabelAssignmentRecord, Gr as SpaceConfigUpdateResponse, Gt as BillingBalanceActivityStatus, H as GenerationStreamEvent, Hi as PublicGenerationDeclaration, Hn as JsonValue, Hr as SpaceConfig, Ht as BillingBalanceActivity, I as SpacesApi, Ii as UserProfile, In as GlobalSearchResponse, Ir as SpaceCommerceCreditsBenefit, It as createWorkRuntime, J as GenerationStreamSubscribeOptions, Ji as decodeGenerationPolicy, Jn as LabelResourceType, Jr as SpaceEnvInput, Jt as BillingCheckoutActionState, K as GenerationStreamOutOfSyncEvent, Ki as GenerationPolicyError, Kn as LabelListItem, Kr as SpaceCreateResponse, Kt as BillingCatalog, L as WebSocketConnectionState, Li as UserRulesResponse, Ln as GlobalSearchResult, Lr as SpaceCommerceFeatureBenefit, Lt as resolveWorkTransport, M as SessionSubscriptionHandlers, Mi as SpaceUsageResponse, Mn as CursorPageInfo, Mr as SpaceChannelBindingInput, Mt as WorkRuntimeContext, N as SpaceChannelBindingRecord, Ni as SpaceUsageSummary, Nn as ExploreSection, Nr as SpaceCheckpointDetailResponse, Nt as WorkRuntimeModeConfig, O as WorksApi, Oi as SpaceSandboxConfig, On as CreateSpaceSessionInput, Or as SessionTurnsPaginatedResponse, Ot as PopupBrokerTransport, P as SpaceClient, Pi as TaskRunDetailResponse, Pn as ExploreSpaceItem, Pr as SpaceCommerceBenefit, Pt as WorkRuntimeRequestOptions, Q as createSessionGenerationStreamClient, Qi as getAllowedGenerationModelIds, Qn as ModelCatalogEntry, Qr as SpaceFsCreateUploadResponse, Qt as BillingCreditGrantStatus, R as PublicInviteApi, Ri as CreateGenerationTaskRequest, Rn as GlobalSearchType, Rr as SpaceCommerceOrder, Rt as AcceptInvitationResponse, S as WorkSessionResponse, Si as SpacePresenceSnapshot, Sn as CreateInvitationInput, Sr as SessionRecord, St as CohubClientOptions, T as WorkUpdateInput, Ti as SpaceRecord, Tn as CreateSpaceModInput, Tr as SessionTurnSignedUrlsResponse, Tt as HttpTransport, U as GenerationStreamFinalizedEvent, Ui as GenerationModelPolicy, Un as LabelAssignmentListItem, Ur as SpaceConfigInput, Ut as BillingBalanceActivityKind, V as GenerationStreamErrorEvent, Vi as ListGenerationModelsResponse, Vn as JsonPrimitive, Vr as SpaceCommerceProductCreditBenefit, Vt as BillingAccessWarning, W as GenerationStreamIntermediateMessage, Wi as GenerationParameterConstraint, Wn as LabelAssignmentPageInfo, Wr as SpaceConfigResponse, Wt as BillingBalanceActivityList, X as GenerationStreamTurnUpdatedEvent, Xi as filterGenerationDeclarationsByPolicy, Xn as LabelSource, Xr as SpaceFsCompleteUploadResponse, Xt as BillingConversionIntent, Y as GenerationStreamSubscriptionHandlers, Yi as encodeGenerationPolicy, Yn as LabelScopeType, Yr as SpaceFsCompleteUploadInput, Yt as BillingCheckoutResult, Z as SessionGenerationStreamClient, Zi as findGenerationModelPolicy, Zn as MeResponse, Zr as SpaceFsCreateUploadInput, Zt as BillingCreditExpiryGroup, _ as WorkPresentationMeta, _i as SpaceInvitation, _n as CanvasNodeRecord, _r as SendMessageCronJobPayload, _t as PromptsApi, a as WorkCommerceCreditConsumeResponse, ai as SpaceFsReadFilesError, an as BillingProductCreditBenefit, ar as PublicUserProfile, at as createSessionPatchReducer, b as WorkRecord, bi as SpaceMeta, bn as Channel, br as SessionMessagesPaginatedResponse, bt as CronJobsApi, c as WorkCommerceEntitlementsResponse, ci as SpaceFsTreeResponse, cn as BillingProductPricing, cr as ReferenceAggregateResponse, ct as ReferencesApi, d as WorkCommercePurchaseResponse, di as SpaceFsUploadError, dn as BillingSubscriptionHistoryStatus, dr as ReferenceQueryResponse, dt as CreatePublicAssetUploadResponse, ea as parseGenerationPolicyFromEnv, ei as SpaceFsEntry, en as BillingCreditUnit, er as PatchResourceLabelsResponse, et as SessionPatchApplyInput, f as WorkAuthorizeResponse, fi as SpaceFsUploadPlanEntry, fn as BillingSubscriptionSummary, fr as ReferenceQueryableType, ft as PublicAssetMimeType, g as WorkMeta, gi as SpaceFsWriteFileInput, gn as CanvasNodeInput, gr as SandboxSpecId, gt as UploadPublicAssetInput, h as WorkGetResponse, hi as SpaceFsUploadResponse, hn as CanvasDocumentRecord, hr as ResourceLabelsResponse, ht as UploadChatImageAttachmentInput, i as WorkCommerceCheckoutStatus, ii as SpaceFsPreparingFile, in as BillingProductBillingInterval, ir as PromptTemplateCatalogResponse, it as SessionPatchStatus, j as SessionEventName, ji as SpaceUsageHourlyStat, jn as CronJobUpdatePatch, jr as SpaceBootstrapSource, jt as WorkRuntimeCheckoutStatus, k as UserApi, ki as SpaceSandboxProvider, kn as CronJobPayload, kr as SpaceAccess, kt as WorkRuntimeApi, l as WorkCommerceOrder, li as SpaceFsUploadDestination, ln as BillingRedemptionResult, lr as ReferenceDirection, lt as SearchApi, m as WorkDetailResponse, mi as SpaceFsUploadProgress, mn as CanvasCreateInput, mr as ReferenceResourceType, mt as PublicAssetsApi, n as createHttpClient, na as ChannelConfig, ni as SpaceFsFileResponse, nn as BillingPaymentStatus, nr as PromptAccessMode, nt as SessionPatchReducer, o as WorkCommerceCreditConsumeStatus, oi as SpaceFsReadFilesInput, on as BillingProductDisplay, or as ReferenceAggregateGroup, ot as SessionAccessApi, p as WorkCreateInput, pi as SpaceFsUploadPlanEntryInput, pn as CanvasBootstrapResponse, pr as ReferenceRecord, pt as PublicAssetPurpose, q as GenerationStreamStateEvent, qi as assertGenerationRequestAllowedByPolicy, qn as LabelRecord, qr as SpaceDefaultResponse, qt as BillingCatalogProduct, r as WorkCommerceApi, ra as DiscordChannelConfig, ri as SpaceFsMoveInput, rn as BillingPluginStatus, rr as PromptTemplateCatalogEntry, rt as SessionPatchState, s as WorkCommerceEntitlement, si as SpaceFsReadFilesResponse, sn as BillingProductKind, sr as ReferenceAggregateGroupBy, st as ReferenceResourceSelector, t as CohubHttpClient, ta as GenerationContentBlock, ti as SpaceFsFileKind, tn as BillingHistoryPagination, tr as Permission, tt as SessionPatchApplyResult, u as WorkCommerceProductResolveResponse, ui as SpaceFsUploadEntry, un as BillingSubscriptionHistoryList, ur as ReferenceKind, ut as CreatePublicAssetUploadInput, v as WorkPublicOwnerRecord, vi as SpaceListItem, vn as CanvasSemanticOp, vr as SessionBindingRecord, vt as ModelsApi, w as WorkTargetType, wi as SpacePublicProfile, wn as CreateSpaceInput, wr as SessionTurnResponse, wt as HttpError, x as WorkResolveResponse, xi as SpaceModListItem, xn as CheckpointRecord, xr as SessionMessagesResponse, xt as ChannelsApi, y as WorkPublicSpaceRecord, yi as SpaceMember, yn as CanvasTransactionInput, yr as SessionMessageResponse, yt as GenerationsApi, z as AssistantMessageCommit, zi as CreateGenerationTaskResponse, zn as InvitationDetail, zr as SpaceCommerceProduct, zt as ApiError } from "./chunks/http.js";
5
5
 
6
6
  //#region src/apis/billing.d.ts
7
7
  declare class BillingApi {
@@ -132,6 +132,7 @@ declare class CohubClient {
132
132
  };
133
133
  };
134
134
  space(spaceId: string): SpaceClient;
135
+ onUserEvent(handler: (event: WebsocketEventPayload) => void): () => void;
135
136
  onConnection(handler: (state: WebSocketConnectionState) => void): () => void;
136
137
  }
137
138
  declare const createCohubClient: (options?: CohubClientOptions) => CohubClient;
@@ -251,4 +252,4 @@ declare function isHttpErrorCode(error: unknown, code: string): error is HttpErr
251
252
  code: string;
252
253
  };
253
254
  //#endregion
254
- 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, ParentBridgeTransport, PatchResourceLabelsInput, PatchResourceLabelsResponse, Permission, PopupBrokerTransport, PromptAccessMode, PromptTemplateCatalogEntry, PromptTemplateCatalogResponse, type PublicAssetMimeType, type PublicAssetPurpose, type PublicGenerationDeclaration, PublicUserProfile, type RawHttpResponse, type RealtimeServerEvent, ReferenceAggregateGroup, ReferenceAggregateGroupBy, ReferenceAggregateResponse, ReferenceDirection, ReferenceKind, ReferenceQueryResponse, ReferenceQueryableType, ReferenceRecord, type ReferenceResourceSelector, ReferenceResourceType, ReferencesApi, 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, SpaceCommerceBenefit, SpaceCommerceBuyerProfile, SpaceCommerceCreditsBenefit, SpaceCommerceFeatureBenefit, SpaceCommerceOrder, SpaceCommerceProduct, SpaceCommerceProductBenefitBinding, SpaceCommerceProductCreditBenefit, 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, SpaceSandboxProvider, 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 WorkAuthorizeRequest, type WorkAuthorizeResponse, type WorkBridgeCore, type WorkBridgeCoreConfig, type WorkBridgeCoreWork, type WorkBridgeDialogState, type WorkBridgeGetAccessToken, type WorkBridgeGetViewerUuid, type WorkBridgeRequestSignIn, WorkCommerceApi, type WorkCommerceCheckoutStatus, type WorkCommerceCreditConsumeResponse, type WorkCommerceCreditConsumeStatus, type WorkCommerceEntitlement, type WorkCommerceEntitlementsResponse, type WorkCommerceOrder, type WorkCommerceProductResolveResponse, type WorkCommercePurchaseResponse, type WorkCreateInput, type WorkDetailResponse, type WorkGetResponse, type WorkMeta, type WorkPresentationMeta, type WorkPublicOwnerRecord, type WorkPublicSpaceRecord, type WorkPurchaseRequest, type WorkRecord, type WorkResolveResponse, WorkRuntimeApi, type WorkRuntimeCheckoutState, type WorkRuntimeCheckoutStatus, type WorkRuntimeContext, type WorkRuntimeModeConfig, type WorkRuntimeRequestOptions, type WorkRuntimeTransport, type WorkSessionResponse, type WorkStatus, type WorkTargetType, type WorkUpdateInput, type WorkVersionRecord, type WorkVisibility, WorksApi, assertGenerationRequestAllowedByPolicy, clearGrantedWorkScopes, createCohubClient, createHttpClient, createSessionGenerationStreamClient, createSessionPatchReducer, createVoiceInputClient, createWebsocketClient, createWorkBridgeCore, createWorkRuntime, decodeGenerationPolicy, encodeGenerationPolicy, filterGenerationDeclarationsByPolicy, findGenerationModelPolicy, getAllowedGenerationModelIds, hasGrantedWorkScopes, isHttpErrorCode, normalizeBaseUrl, normalizeGenerationPolicy, normalizeVoiceInputWebsocketUrl, normalizeWebsocketUrl, parseAssistantMessageCommit, parseGenerationPolicyFromEnv, resolveApiBaseUrl, resolveCohubEnvironment, resolveVoiceInputWebsocketUrl, resolveWebsocketUrl, resolveWorkTransport, setGrantedWorkScopes };
255
+ 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, ParentBridgeTransport, PatchResourceLabelsInput, PatchResourceLabelsResponse, Permission, PopupBrokerTransport, PromptAccessMode, PromptTemplateCatalogEntry, PromptTemplateCatalogResponse, type PublicAssetMimeType, type PublicAssetPurpose, type PublicGenerationDeclaration, PublicUserProfile, type RawHttpResponse, type RealtimeServerEvent, ReferenceAggregateGroup, ReferenceAggregateGroupBy, ReferenceAggregateResponse, ReferenceDirection, ReferenceKind, ReferenceQueryResponse, ReferenceQueryableType, ReferenceRecord, type ReferenceResourceSelector, ReferenceResourceType, ReferencesApi, ResourceLabelsResponse, SandboxSpecId, 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, SpaceCommerceBenefit, SpaceCommerceBuyerProfile, SpaceCommerceCreditsBenefit, SpaceCommerceFeatureBenefit, SpaceCommerceOrder, SpaceCommerceProduct, SpaceCommerceProductBenefitBinding, SpaceCommerceProductCreditBenefit, SpaceConfig, SpaceConfigInput, SpaceConfigResponse, SpaceConfigUpdateResponse, 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, SpaceSandboxProvider, 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 WorkAuthorizeRequest, type WorkAuthorizeResponse, type WorkBridgeCore, type WorkBridgeCoreConfig, type WorkBridgeCoreWork, type WorkBridgeDialogState, type WorkBridgeGetAccessToken, type WorkBridgeGetViewerUuid, type WorkBridgeRequestSignIn, WorkCommerceApi, type WorkCommerceCheckoutStatus, type WorkCommerceCreditConsumeResponse, type WorkCommerceCreditConsumeStatus, type WorkCommerceEntitlement, type WorkCommerceEntitlementsResponse, type WorkCommerceOrder, type WorkCommerceProductResolveResponse, type WorkCommercePurchaseResponse, type WorkCreateInput, type WorkDetailResponse, type WorkGetResponse, type WorkMeta, type WorkPresentationMeta, type WorkPublicOwnerRecord, type WorkPublicSpaceRecord, type WorkPurchaseRequest, type WorkRecord, type WorkResolveResponse, WorkRuntimeApi, type WorkRuntimeCheckoutState, type WorkRuntimeCheckoutStatus, type WorkRuntimeContext, type WorkRuntimeModeConfig, type WorkRuntimeRequestOptions, type WorkRuntimeTransport, type WorkSessionResponse, type WorkStatus, type WorkTargetType, type WorkUpdateInput, type WorkVersionRecord, type WorkVisibility, WorksApi, assertGenerationRequestAllowedByPolicy, clearGrantedWorkScopes, createCohubClient, createHttpClient, createSessionGenerationStreamClient, createSessionPatchReducer, createVoiceInputClient, createWebsocketClient, createWorkBridgeCore, createWorkRuntime, decodeGenerationPolicy, encodeGenerationPolicy, filterGenerationDeclarationsByPolicy, findGenerationModelPolicy, getAllowedGenerationModelIds, hasGrantedWorkScopes, isHttpErrorCode, normalizeBaseUrl, normalizeGenerationPolicy, normalizeVoiceInputWebsocketUrl, normalizeWebsocketUrl, parseAssistantMessageCommit, parseGenerationPolicyFromEnv, resolveApiBaseUrl, resolveCohubEnvironment, resolveVoiceInputWebsocketUrl, resolveWebsocketUrl, resolveWorkTransport, setGrantedWorkScopes };
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { C as GenerationsApi, S as ModelsApi, T as ChannelsApi, _ as SessionAccessApi, a as UserApi, b as PublicAssetsApi, 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 ReferencesApi, w as CronJobsApi, x as PromptsApi, y as SearchApi } from "./chunks/http.js";
1
+ import { C as ModelsApi, E as ChannelsApi, S as PromptsApi, T as CronJobsApi, _ as ensureRealtimeConnected, a as UserApi, b as SearchApi, 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 SessionAccessApi, w as GenerationsApi, x as PublicAssetsApi, y as ReferencesApi } 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";
@@ -274,14 +274,22 @@ var PopupBrokerTransport = class {
274
274
  }
275
275
  };
276
276
  const TOKEN_STORAGE_PREFIX = "cohub:work-token";
277
+ const AUTHORIZED_SCOPES_STORAGE_PREFIX = "cohub:work-auth-scopes";
277
278
  var WorkRuntimeApi = class {
278
279
  token = null;
279
280
  transport;
280
281
  tokenStorageKey;
282
+ scopesStorageKey;
283
+ /** Scopes previously granted via requestAuthorization, retained so token
284
+ * refreshes can re-authorize (preserving viewerScopes) instead of falling
285
+ * back to a base session token that only carries workScopes. */
286
+ authorizedScopes = null;
281
287
  constructor(transport = new ParentBridgeTransport(), workId) {
282
288
  this.transport = transport;
283
289
  this.tokenStorageKey = workId ? `${TOKEN_STORAGE_PREFIX}:${workId}` : null;
290
+ this.scopesStorageKey = workId ? `${AUTHORIZED_SCOPES_STORAGE_PREFIX}:${workId}` : null;
284
291
  this.token = this.readStoredToken();
292
+ this.authorizedScopes = this.readStoredScopes();
285
293
  }
286
294
  readStoredToken() {
287
295
  if (!this.tokenStorageKey || typeof localStorage === "undefined") return null;
@@ -298,6 +306,24 @@ var WorkRuntimeApi = class {
298
306
  else localStorage.removeItem(this.tokenStorageKey);
299
307
  } catch {}
300
308
  }
309
+ readStoredScopes() {
310
+ if (!this.scopesStorageKey || typeof localStorage === "undefined") return null;
311
+ try {
312
+ const raw = localStorage.getItem(this.scopesStorageKey);
313
+ if (!raw) return null;
314
+ const parsed = JSON.parse(raw);
315
+ return Array.isArray(parsed) && parsed.every((s) => typeof s === "string") ? parsed : null;
316
+ } catch {
317
+ return null;
318
+ }
319
+ }
320
+ writeStoredScopes(scopes) {
321
+ if (!this.scopesStorageKey || typeof localStorage === "undefined") return;
322
+ try {
323
+ if (scopes && scopes.length > 0) localStorage.setItem(this.scopesStorageKey, JSON.stringify(scopes));
324
+ else localStorage.removeItem(this.scopesStorageKey);
325
+ } catch {}
326
+ }
301
327
  async context() {
302
328
  return (await this.transport.request({ type: "cohub.work.context" }, {
303
329
  timeoutMs: 8e3,
@@ -310,6 +336,15 @@ var WorkRuntimeApi = class {
310
336
  this.token = null;
311
337
  this.writeStoredToken(null);
312
338
  }
339
+ if (options?.forceRefresh && this.authorizedScopes && this.authorizedScopes.length > 0) {
340
+ const response = await this.transport.request({
341
+ type: "cohub.work.authorize",
342
+ scopes: this.authorizedScopes
343
+ }, { timeoutMs: 12e4 });
344
+ this.token = response?.token ?? null;
345
+ this.writeStoredToken(this.token);
346
+ return this.token;
347
+ }
313
348
  const response = await this.transport.request({
314
349
  type: "cohub.work.token",
315
350
  forceRefresh: Boolean(options?.forceRefresh)
@@ -326,6 +361,10 @@ var WorkRuntimeApi = class {
326
361
  }, { timeoutMs: 12e4 });
327
362
  this.token = response?.token ?? null;
328
363
  this.writeStoredToken(this.token);
364
+ if (this.token) {
365
+ this.authorizedScopes = input.scopes;
366
+ this.writeStoredScopes(input.scopes);
367
+ }
329
368
  return Boolean(this.token);
330
369
  }
331
370
  async purchase(input) {
@@ -468,6 +507,10 @@ var CohubClient = class {
468
507
  space(spaceId) {
469
508
  return new SpaceClient(spaceId, this.transport, this.websocketClient);
470
509
  }
510
+ onUserEvent(handler) {
511
+ ensureRealtimeConnected(this.websocketClient);
512
+ return this.websocketClient.on("event", handler);
513
+ }
471
514
  onConnection(handler) {
472
515
  const connectingCleanup = this.websocketClient.on("connecting", (payload) => {
473
516
  handler({