@neta-art/cohub 1.30.0 → 1.32.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.
@@ -73,7 +73,7 @@ type WeChatChannelConfig = {
73
73
  };
74
74
  type ChannelConfig = DiscordChannelConfig | FeishuChannelConfig | WeChatChannelConfig | Record<string, unknown>;
75
75
  //#endregion
76
- //#region ../../node_modules/.pnpm/@neta-art+generation@0.1.5/node_modules/@neta-art/generation/dist/builtins-C-_aGhT8.d.ts
76
+ //#region ../../node_modules/.pnpm/@neta-art+generation@0.1.7/node_modules/@neta-art/generation/dist/builtins-C-_aGhT8.d.ts
77
77
  //#region src/types.d.ts
78
78
  declare const MODEL_SCHEMA: "neta.generation.model.v1";
79
79
  type GenerationSource = {
@@ -699,6 +699,7 @@ type SpaceRecord = {
699
699
  publicProfile?: SpacePublicProfile;
700
700
  createdAt: string;
701
701
  updatedAt: string;
702
+ lastActivityAt?: string | null;
702
703
  channels?: {
703
704
  id: string;
704
705
  name: string | null;
@@ -1570,12 +1571,12 @@ type GenerationStreamIntermediateMessage = {
1570
1571
  };
1571
1572
  type GenerationStreamStateEvent = {
1572
1573
  type: "state";
1573
- source: "patch";
1574
+ source: "patch" | "snapshot";
1574
1575
  state: SessionPatchState;
1575
1576
  messageId: string | null;
1576
1577
  messageOrdinal: number | null;
1577
1578
  intermediateMessages: GenerationStreamIntermediateMessage[];
1578
- rawEvent: WebsocketEventPayload;
1579
+ rawEvent: WebsocketEventPayload | null;
1579
1580
  };
1580
1581
  type GenerationStreamCommitEvent = {
1581
1582
  type: "commit";
@@ -1626,18 +1627,27 @@ type GenerationStreamSubscriptionHandlers = {
1626
1627
  error?: (event: GenerationStreamErrorEvent) => void;
1627
1628
  outOfSync?: (event: GenerationStreamOutOfSyncEvent) => void;
1628
1629
  };
1630
+ type GenerationStreamSubscribeOptions = {
1631
+ /** Seed the stream reducer from the server-side active stream snapshot. */recover?: boolean; /** Optional host-provided snapshot to avoid an extra HTTP request. */
1632
+ initialSnapshot?: SessionTurnStreamSnapshotResponse["snapshot"] | null; /** Emit a state event after snapshot seed. Defaults to true. */
1633
+ emitSnapshotState?: boolean;
1634
+ };
1629
1635
  declare function parseAssistantMessageCommit(message: MessageRecord): AssistantMessageCommit;
1630
1636
  declare class SessionGenerationStreamClient {
1631
1637
  private readonly websocketClient;
1632
1638
  private readonly spaceId;
1633
1639
  private readonly sessionId;
1640
+ private readonly fetchStreamSnapshot?;
1634
1641
  private readonly reducer;
1635
1642
  private messageId;
1636
1643
  private messageOrdinal;
1637
1644
  private intermediateMessages;
1638
1645
  private patchState;
1639
- constructor(websocketClient: WebsocketClient | null, spaceId: string, sessionId: string);
1640
- subscribe(handlers: GenerationStreamSubscriptionHandlers): () => void;
1646
+ constructor(websocketClient: WebsocketClient | null, spaceId: string, sessionId: string, fetchStreamSnapshot?: (() => Promise<SessionTurnStreamSnapshotResponse>) | undefined);
1647
+ subscribe(handlers: GenerationStreamSubscriptionHandlers, options?: GenerationStreamSubscribeOptions): () => void;
1648
+ private recoverFromSnapshot;
1649
+ private seedFromSnapshot;
1650
+ private replayBufferedEvents;
1641
1651
  private emit;
1642
1652
  private resetCurrentMessage;
1643
1653
  private appendCurrentMessage;
@@ -1653,6 +1663,7 @@ declare function createSessionGenerationStreamClient(input: {
1653
1663
  websocketClient: WebsocketClient | null;
1654
1664
  spaceId: string;
1655
1665
  sessionId: string;
1666
+ fetchStreamSnapshot?: () => Promise<SessionTurnStreamSnapshotResponse>;
1656
1667
  }): SessionGenerationStreamClient;
1657
1668
  //#endregion
1658
1669
  //#region src/apis/invitations.d.ts
@@ -1822,7 +1833,7 @@ declare class SessionClient {
1822
1833
  }>;
1823
1834
  };
1824
1835
  subscribe(handlers: SessionSubscriptionHandlers): () => void;
1825
- subscribeGeneration(handlers: GenerationStreamSubscriptionHandlers): () => void;
1836
+ subscribeGeneration(handlers: GenerationStreamSubscriptionHandlers, options?: GenerationStreamSubscribeOptions): () => void;
1826
1837
  on(type: SessionEventName, handler: (event: WebsocketEventPayload) => void): () => void;
1827
1838
  }
1828
1839
  declare class SpaceSessionsApi {
@@ -2190,6 +2201,12 @@ declare class UserApi {
2190
2201
  //#region src/apis/works.d.ts
2191
2202
  type WorkTargetType = "file" | "directory" | "port";
2192
2203
  type WorkStatus = "draft" | "published" | "disabled";
2204
+ type WorkPresentationMeta = {
2205
+ hideCohubBar?: boolean;
2206
+ };
2207
+ type WorkMeta = Record<string, unknown> & {
2208
+ presentation?: WorkPresentationMeta;
2209
+ };
2193
2210
  type WorkRecord = {
2194
2211
  id: string;
2195
2212
  spaceId: string;
@@ -2204,7 +2221,7 @@ type WorkRecord = {
2204
2221
  publishedAt: string | null;
2205
2222
  workScopes: Permission[];
2206
2223
  allowedViewerScopes: Permission[];
2207
- meta: Record<string, unknown> | null;
2224
+ meta: WorkMeta | null;
2208
2225
  createdAt: string | null;
2209
2226
  updatedAt: string | null;
2210
2227
  };
@@ -2217,7 +2234,7 @@ type WorkCreateInput = {
2217
2234
  assetKey?: string | null;
2218
2235
  workScopes?: Permission[];
2219
2236
  allowedViewerScopes?: Permission[];
2220
- meta?: Record<string, unknown> | null;
2237
+ meta?: WorkMeta | null;
2221
2238
  };
2222
2239
  type WorkUpdateInput = Partial<{
2223
2240
  slug: string;
@@ -2227,7 +2244,7 @@ type WorkUpdateInput = Partial<{
2227
2244
  publishVersion: boolean;
2228
2245
  workScopes: Permission[];
2229
2246
  allowedViewerScopes: Permission[];
2230
- meta: Record<string, unknown> | null;
2247
+ meta: WorkMeta | null;
2231
2248
  }>;
2232
2249
  type WorkVersionRecord = {
2233
2250
  id: string;
@@ -2238,7 +2255,7 @@ type WorkVersionRecord = {
2238
2255
  targetType: WorkTargetType;
2239
2256
  targetRef: string;
2240
2257
  assetKey: string | null;
2241
- meta: Record<string, unknown> | null;
2258
+ meta: WorkMeta | null;
2242
2259
  createdAt: string | null;
2243
2260
  publishedAt: string | null;
2244
2261
  };
@@ -2331,4 +2348,4 @@ declare class CohubHttpClient {
2331
2348
  }
2332
2349
  declare const createHttpClient: (options?: CohubClientOptions) => CohubHttpClient;
2333
2350
  //#endregion
2334
- export { GenerationsApi as $, SpaceFsMoveInput as $n, HttpError as $r, ExploreSpacesResponse as $t, GenerationStreamStateEvent as A, SessionTurnResponse as An, UserRulesResponse as Ar, BillingSubscriptionSummary as At, SessionPatchStatus as B, SpaceConfig as Bn, assertGenerationRequestAllowedByPolicy as Br, CreateInvitationInput as Bt, GenerationStreamCommitEvent as C, SendMessageCronJobPayload as Cn, SpaceSessionsResponse as Cr, BillingProductCreditBenefit as Ct, GenerationStreamIntermediateMessage as D, SessionMessagesResponse as Dn, TaskRunDetailResponse as Dr, BillingRedemptionResult as Dt, GenerationStreamFinalizedEvent as E, SessionMessagesPaginatedResponse as En, SpaceUsageSummary as Er, BillingProductPricing as Et, parseAssistantMessageCommit as F, SpaceAccess as Fn, PublicGenerationDeclaration as Fr, CanvasNodeRecord as Ft, CreatePublicAssetUploadResponse as G, SpaceFsCompleteUploadInput as Gn, getAllowedGenerationModelIds as Gr, CreateSpacePromptResponse as Gt, SessionAccessApi as H, SpaceConfigResponse as Hn, encodeGenerationPolicy as Hr, CreateSpaceInput as Ht, SessionPatchApplyInput as I, SpaceAccessPolicy as In, GenerationModelPolicy as Ir, CanvasSemanticOp as It, PublicAssetsApi as J, SpaceFsCreateUploadResponse as Jn, GenerationContentBlock as Jr, CronJobRecord as Jt, PublicAssetMimeType as K, SpaceFsCompleteUploadResponse as Kn, normalizeGenerationPolicy as Kr, CreateSpaceSessionInput as Kt, SessionPatchApplyResult as L, SpaceBootstrapSource as Ln, GenerationParameterConstraint as Lr, CanvasTransactionInput as Lt, GenerationStreamTurnUpdatedEvent as M, SessionTurnStreamSnapshotResponse as Mn, CreateGenerationTaskResponse as Mr, CanvasCreateInput as Mt, SessionGenerationStreamClient as N, SessionTurnWindowResponse as Nn, GenerationTaskResult as Nr, CanvasDocumentRecord as Nt, GenerationStreamLifecycleEvent as O, SessionRecord as On, TaskRunRecord as Or, BillingSubscriptionHistoryList as Ot, createSessionGenerationStreamClient as P, SessionTurnsPaginatedResponse as Pn, ListGenerationModelsResponse as Pr, CanvasNodeInput as Pt, ModelsApi as Q, SpaceFsFileResponse as Qn, Fetch as Qr, ExploreSpaceItem as Qt, SessionPatchReducer as R, SpaceChannelBindingInput as Rn, GenerationPolicy as Rr, Channel as Rt, AssistantMessageCommit as S, ResourceLabelsResponse as Sn, SpaceSandboxConfig as Sr, BillingProductBillingInterval as St, GenerationStreamEvent as T, SessionMessageResponse as Tn, SpaceUsageResponse as Tr, BillingProductKind as Tt, SearchApi as U, SpaceCreateResponse as Un, filterGenerationDeclarationsByPolicy as Ur, CreateSpaceModInput as Ut, createSessionPatchReducer as V, SpaceConfigInput as Vn, decodeGenerationPolicy as Vr, CreateInvitationResponse as Vt, CreatePublicAssetUploadInput as W, SpaceEnvInput as Wn, findGenerationModelPolicy as Wr, CreateSpacePromptInput as Wt, UploadPublicAssetInput as X, SpaceFsEntry as Xn, DiscordChannelConfig as Xr, CursorPageInfo as Xt, UploadChatImageAttachmentInput as Y, SpaceFsEncoding as Yn, ChannelConfig as Yr, CronJobUpdatePatch as Yt, PromptsApi as Z, SpaceFsFileKind as Zn, CohubClientOptions as Zr, ExploreSection as Zt, SpaceClient as _, Permission as _n, SpaceModListItem as _r, BillingCreditStatus as _t, WorkRecord as a, JsonPrimitive as an, SpaceFsUploadDestination as ar, BillingAccessWarning as at, WebSocketConnectionState as b, PromptTemplateCatalogResponse as bn, SpaceRole as br, BillingPaymentStatus as bt, WorkTargetType as c, LabelAssignmentPageInfo as cn, SpaceFsUploadPlanEntry as cr, BillingBalanceActivityList as ct, WorksApi as d, LabelRecord as dn, SpaceFsUploadResponse as dr, BillingCatalogProduct as dt, HttpTransport as ei, GlobalSearchResponse as en, SpaceFsPreparingFile as er, CronJobsApi as et, UserApi as f, LabelResourceType as fn, SpaceFsWriteFileInput as fr, BillingCheckoutActionState as ft, SpaceChannelBindingRecord as g, ModelCatalogEntry as gn, SpaceMeta as gr, BillingCreditGrantStatus as gt, SessionSubscriptionHandlers as h, MeResponse as hn, SpaceMember as hr, BillingCreditExpiryGroup as ht, WorkCreateInput as i, JsonObject as in, SpaceFsTreeResponse as ir, BatchUserProfilesResponse as it, GenerationStreamSubscriptionHandlers as j, SessionTurnSignedUrlsResponse as jn, CreateGenerationTaskRequest as jr, CanvasBootstrapResponse as jt, GenerationStreamOutOfSyncEvent as k, SessionTurnIndexResponse as kn, UserProfile as kr, BillingSubscriptionHistoryStatus as kt, WorkUpdateInput as l, LabelAssignmentRecord as ln, SpaceFsUploadPlanEntryInput as lr, BillingBalanceActivityStatus as lt, SessionEventName as m, LabelSource as mn, SpaceListItem as mr, BillingConversionIntent as mt, createHttpClient as n, GlobalSearchType as nn, SpaceFsReadFilesInput as nr, AcceptInvitationResponse as nt, WorkSessionResponse as o, JsonValue as on, SpaceFsUploadEntry as or, BillingBalanceActivity as ot, TasksApi as p, LabelScopeType as pn, SpaceInvitation as pr, BillingCheckoutResult as pt, PublicAssetPurpose as q, SpaceFsCreateUploadInput as qn, parseGenerationPolicyFromEnv as qr, CronJobPayload as qt, WorkAuthorizeResponse as r, InvitationDetail as rn, SpaceFsReadFilesResponse as rr, ApiError as rt, WorkStatus as s, LabelAssignmentListItem as sn, SpaceFsUploadError as sr, BillingBalanceActivityKind as st, CohubHttpClient as t, RawHttpResponse as ti, GlobalSearchResult as tn, SpaceFsReadFilesError as tr, ChannelsApi as tt, WorkVersionRecord as u, LabelListItem as un, SpaceFsUploadProgress as ur, BillingCatalog as ut, SpaceEventName as v, PromptAccessMode as vn, SpacePublicProfile as vr, BillingCreditUnit as vt, GenerationStreamErrorEvent as w, SessionBindingRecord as wn, SpaceUsageHourlyStat as wr, BillingProductDisplay as wt, PublicInviteApi as x, PublicUserProfile as xn, SpaceSandboxAutoDestroyPolicy as xr, BillingPluginStatus as xt, SpacesApi as y, PromptTemplateCatalogEntry as yn, SpaceRecord as yr, BillingHistoryPagination as yt, SessionPatchState as z, SpaceCheckpointDetailResponse as zn, GenerationPolicyError as zr, CheckpointRecord as zt };
2351
+ export { UploadPublicAssetInput as $, SpaceFsEntry as $n, DiscordChannelConfig as $r, CursorPageInfo as $t, GenerationStreamLifecycleEvent as A, SessionMessagesResponse as An, TaskRunDetailResponse as Ar, BillingRedemptionResult as At, SessionPatchApplyResult as B, SpaceBootstrapSource as Bn, GenerationParameterConstraint as Br, CanvasTransactionInput as Bt, PublicInviteApi as C, PromptTemplateCatalogResponse as Cn, SpaceRole as Cr, BillingPaymentStatus as Ct, GenerationStreamEvent as D, SessionBindingRecord as Dn, SpaceUsageHourlyStat as Dr, BillingProductDisplay as Dt, GenerationStreamErrorEvent as E, SendMessageCronJobPayload as En, SpaceSessionsResponse as Er, BillingProductCreditBenefit as Et, GenerationStreamTurnUpdatedEvent as F, SessionTurnStreamSnapshotResponse as Fn, CreateGenerationTaskResponse as Fr, CanvasCreateInput as Ft, SessionAccessApi as G, SpaceConfigResponse as Gn, encodeGenerationPolicy as Gr, CreateSpaceInput as Gt, SessionPatchState as H, SpaceCheckpointDetailResponse as Hn, GenerationPolicyError as Hr, CheckpointRecord as Ht, SessionGenerationStreamClient as I, SessionTurnWindowResponse as In, GenerationTaskResult as Ir, CanvasDocumentRecord as It, CreatePublicAssetUploadResponse as J, SpaceFsCompleteUploadInput as Jn, getAllowedGenerationModelIds as Jr, CreateSpacePromptResponse as Jt, SearchApi as K, SpaceCreateResponse as Kn, filterGenerationDeclarationsByPolicy as Kr, CreateSpaceModInput as Kt, createSessionGenerationStreamClient as L, SessionTurnsPaginatedResponse as Ln, ListGenerationModelsResponse as Lr, CanvasNodeInput as Lt, GenerationStreamStateEvent as M, SessionTurnIndexResponse as Mn, UserProfile as Mr, BillingSubscriptionHistoryStatus as Mt, GenerationStreamSubscribeOptions as N, SessionTurnResponse as Nn, UserRulesResponse as Nr, BillingSubscriptionSummary as Nt, GenerationStreamFinalizedEvent as O, SessionMessageResponse as On, SpaceUsageResponse as Or, BillingProductKind as Ot, GenerationStreamSubscriptionHandlers as P, SessionTurnSignedUrlsResponse as Pn, CreateGenerationTaskRequest as Pr, CanvasBootstrapResponse as Pt, UploadChatImageAttachmentInput as Q, SpaceFsEncoding as Qn, ChannelConfig as Qr, CronJobUpdatePatch as Qt, parseAssistantMessageCommit as R, SpaceAccess as Rn, PublicGenerationDeclaration as Rr, CanvasNodeRecord as Rt, WebSocketConnectionState as S, PromptTemplateCatalogEntry as Sn, SpaceRecord as Sr, BillingHistoryPagination as St, GenerationStreamCommitEvent as T, ResourceLabelsResponse as Tn, SpaceSandboxConfig as Tr, BillingProductBillingInterval as Tt, SessionPatchStatus as U, SpaceConfig as Un, assertGenerationRequestAllowedByPolicy as Ur, CreateInvitationInput as Ut, SessionPatchReducer as V, SpaceChannelBindingInput as Vn, GenerationPolicy as Vr, Channel as Vt, createSessionPatchReducer as W, SpaceConfigInput as Wn, decodeGenerationPolicy as Wr, CreateInvitationResponse as Wt, PublicAssetPurpose as X, SpaceFsCreateUploadInput as Xn, parseGenerationPolicyFromEnv as Xr, CronJobPayload as Xt, PublicAssetMimeType as Y, SpaceFsCompleteUploadResponse as Yn, normalizeGenerationPolicy as Yr, CreateSpaceSessionInput as Yt, PublicAssetsApi as Z, SpaceFsCreateUploadResponse as Zn, GenerationContentBlock as Zr, CronJobRecord as Zt, SessionSubscriptionHandlers as _, LabelSource as _n, SpaceListItem as _r, BillingConversionIntent as _t, WorkMeta as a, GlobalSearchType as an, SpaceFsReadFilesInput as ar, AcceptInvitationResponse as at, SpaceEventName as b, Permission as bn, SpaceModListItem as br, BillingCreditStatus as bt, WorkSessionResponse as c, JsonPrimitive as cn, SpaceFsUploadDestination as cr, BillingAccessWarning as ct, WorkUpdateInput as d, LabelAssignmentPageInfo as dn, SpaceFsUploadPlanEntry as dr, BillingBalanceActivityList as dt, CohubClientOptions as ei, ExploreSection as en, SpaceFsFileKind as er, PromptsApi as et, WorkVersionRecord as f, LabelAssignmentRecord as fn, SpaceFsUploadPlanEntryInput as fr, BillingBalanceActivityStatus as ft, SessionEventName as g, LabelScopeType as gn, SpaceInvitation as gr, BillingCheckoutResult as gt, TasksApi as h, LabelResourceType as hn, SpaceFsWriteFileInput as hr, BillingCheckoutActionState as ht, WorkCreateInput as i, RawHttpResponse as ii, GlobalSearchResult as in, SpaceFsReadFilesError as ir, ChannelsApi as it, GenerationStreamOutOfSyncEvent as j, SessionRecord as jn, TaskRunRecord as jr, BillingSubscriptionHistoryList as jt, GenerationStreamIntermediateMessage as k, SessionMessagesPaginatedResponse as kn, SpaceUsageSummary as kr, BillingProductPricing as kt, WorkStatus as l, JsonValue as ln, SpaceFsUploadEntry as lr, BillingBalanceActivity as lt, UserApi as m, LabelRecord as mn, SpaceFsUploadResponse as mr, BillingCatalogProduct as mt, createHttpClient as n, HttpError as ni, ExploreSpacesResponse as nn, SpaceFsMoveInput as nr, GenerationsApi as nt, WorkPresentationMeta as o, InvitationDetail as on, SpaceFsReadFilesResponse as or, ApiError as ot, WorksApi as p, LabelListItem as pn, SpaceFsUploadProgress as pr, BillingCatalog as pt, CreatePublicAssetUploadInput as q, SpaceEnvInput as qn, findGenerationModelPolicy as qr, CreateSpacePromptInput as qt, WorkAuthorizeResponse as r, HttpTransport as ri, GlobalSearchResponse as rn, SpaceFsPreparingFile as rr, CronJobsApi as rt, WorkRecord as s, JsonObject as sn, SpaceFsTreeResponse as sr, BatchUserProfilesResponse as st, CohubHttpClient as t, Fetch as ti, ExploreSpaceItem as tn, SpaceFsFileResponse as tr, ModelsApi as tt, WorkTargetType as u, LabelAssignmentListItem as un, SpaceFsUploadError as ur, BillingBalanceActivityKind as ut, SpaceChannelBindingRecord as v, MeResponse as vn, SpaceMember as vr, BillingCreditExpiryGroup as vt, AssistantMessageCommit as w, PublicUserProfile as wn, SpaceSandboxAutoDestroyPolicy as wr, BillingPluginStatus as wt, SpacesApi as x, PromptAccessMode as xn, SpacePublicProfile as xr, BillingCreditUnit as xt, SpaceClient as y, ModelCatalogEntry as yn, SpaceMeta as yr, BillingCreditGrantStatus as yt, SessionPatchApplyInput as z, SpaceAccessPolicy as zn, GenerationModelPolicy as zr, CanvasSemanticOp as zt };
@@ -760,6 +760,8 @@ var SessionPatchReducer = class {
760
760
  const createSessionPatchReducer = () => new SessionPatchReducer();
761
761
  //#endregion
762
762
  //#region src/session-generation-stream.ts
763
+ const SNAPSHOT_RECOVERY_TIMEOUT_MS = 2500;
764
+ const SNAPSHOT_RECOVERY_MAX_BUFFERED_EVENTS = 256;
763
765
  const isRecord = (value) => Boolean(value && typeof value === "object" && !Array.isArray(value));
764
766
  const isContentBlockArray = (value) => Array.isArray(value) && value.every((item) => isRecord(item) && typeof item.type === "string");
765
767
  const getMessageKind = (message) => {
@@ -825,29 +827,129 @@ function getTurnIdFromMessage(message) {
825
827
  const turnId = message.meta?.turnId;
826
828
  return typeof turnId === "string" ? turnId : null;
827
829
  }
830
+ function isGenerationRealtimeEvent(event) {
831
+ return event.type === "session.turn.patch" || event.type === "session.message.persisted" || event.type === "session.turn.finalized" || event.type === "session.turn.updated" || event.type === "session.turn.lifecycle" || event.type === "session.turn.error";
832
+ }
833
+ function getPatchSeq(event) {
834
+ if (event.type !== "session.turn.patch") return null;
835
+ const seq = event.payload.seq;
836
+ return typeof seq === "number" ? seq : null;
837
+ }
838
+ function getPatchTurnId(event) {
839
+ if (event.type !== "session.turn.patch") return null;
840
+ const turnId = event.payload.turnId;
841
+ return typeof turnId === "string" ? turnId : null;
842
+ }
843
+ async function withTimeout(promise, timeoutMs) {
844
+ let timeout = null;
845
+ try {
846
+ return await Promise.race([promise, new Promise((_, reject) => {
847
+ timeout = setTimeout(() => {
848
+ reject(/* @__PURE__ */ new Error(`stream snapshot recovery timed out after ${timeoutMs}ms`));
849
+ }, timeoutMs);
850
+ })]);
851
+ } finally {
852
+ if (timeout) clearTimeout(timeout);
853
+ }
854
+ }
855
+ function normalizeSnapshotIntermediateMessages(messages) {
856
+ return messages.filter((message) => Array.isArray(message.content)).map((message) => ({
857
+ ...message,
858
+ messageId: message.messageId ?? null,
859
+ messageOrdinal: message.messageOrdinal ?? null,
860
+ content: message.content
861
+ }));
862
+ }
828
863
  var SessionGenerationStreamClient = class SessionGenerationStreamClient {
829
864
  websocketClient;
830
865
  spaceId;
831
866
  sessionId;
867
+ fetchStreamSnapshot;
832
868
  reducer = new SessionPatchReducer();
833
869
  messageId = null;
834
870
  messageOrdinal = null;
835
871
  intermediateMessages = [];
836
872
  patchState = null;
837
- constructor(websocketClient, spaceId, sessionId) {
873
+ constructor(websocketClient, spaceId, sessionId, fetchStreamSnapshot) {
838
874
  this.websocketClient = websocketClient;
839
875
  this.spaceId = spaceId;
840
876
  this.sessionId = sessionId;
877
+ this.fetchStreamSnapshot = fetchStreamSnapshot;
841
878
  }
842
- subscribe(handlers) {
879
+ subscribe(handlers, options = {}) {
843
880
  if (!this.websocketClient) throw new Error("realtime transport is not configured for this client");
844
881
  ensureRealtimeConnected(this.websocketClient);
845
- const stream = new SessionGenerationStreamClient(this.websocketClient, this.spaceId, this.sessionId);
882
+ const stream = new SessionGenerationStreamClient(this.websocketClient, this.spaceId, this.sessionId, this.fetchStreamSnapshot);
883
+ const shouldRecover = options.recover === true || options.initialSnapshot !== void 0;
884
+ let recovering = shouldRecover;
885
+ let disposed = false;
886
+ const bufferedEvents = [];
846
887
  const unsubscribe = this.websocketClient.on("event", (event) => {
847
888
  if (event.spaceId !== this.spaceId || event.sessionId !== this.sessionId) return;
889
+ if (recovering && isGenerationRealtimeEvent(event)) {
890
+ bufferedEvents.push(event);
891
+ if (bufferedEvents.length > SNAPSHOT_RECOVERY_MAX_BUFFERED_EVENTS) {
892
+ recovering = false;
893
+ stream.replayBufferedEvents(bufferedEvents, handlers);
894
+ bufferedEvents.length = 0;
895
+ }
896
+ return;
897
+ }
848
898
  stream.handleEvent(event, handlers);
849
899
  });
850
- return () => unsubscribe();
900
+ if (shouldRecover) stream.recoverFromSnapshot(handlers, options).finally(() => {
901
+ if (disposed) return;
902
+ recovering = false;
903
+ stream.replayBufferedEvents(bufferedEvents, handlers);
904
+ });
905
+ return () => {
906
+ disposed = true;
907
+ unsubscribe();
908
+ };
909
+ }
910
+ async recoverFromSnapshot(handlers, options) {
911
+ const snapshot = options.initialSnapshot !== void 0 ? options.initialSnapshot : options.recover === true && this.fetchStreamSnapshot ? (await withTimeout(this.fetchStreamSnapshot(), SNAPSHOT_RECOVERY_TIMEOUT_MS).catch((error) => {
912
+ console.warn("[SessionGenerationStreamClient] Failed to recover stream snapshot:", error);
913
+ return { snapshot: null };
914
+ })).snapshot : null;
915
+ if (!snapshot) return;
916
+ this.seedFromSnapshot(snapshot, handlers, options);
917
+ }
918
+ seedFromSnapshot(snapshot, handlers, options) {
919
+ if (snapshot.spaceId !== this.spaceId || snapshot.sessionId !== this.sessionId) return false;
920
+ const intermediateMessages = normalizeSnapshotIntermediateMessages(snapshot.intermediateMessages);
921
+ const result = this.reducer.applySnapshot({
922
+ spaceId: snapshot.spaceId,
923
+ sessionId: snapshot.sessionId,
924
+ turnId: snapshot.turnId,
925
+ seq: snapshot.seq,
926
+ contentBlocks: snapshot.current.content,
927
+ anchorUserMessageId: snapshot.anchorUserMessageId,
928
+ appendPath: snapshot.current.appendPath
929
+ });
930
+ if (!result.applied) return false;
931
+ this.patchState = result.state;
932
+ this.messageId = snapshot.current.messageId;
933
+ this.messageOrdinal = snapshot.current.messageOrdinal;
934
+ this.intermediateMessages = intermediateMessages;
935
+ if (options?.emitSnapshotState !== false) this.emit(handlers, {
936
+ type: "state",
937
+ source: "snapshot",
938
+ state: result.state,
939
+ messageId: this.messageId,
940
+ messageOrdinal: this.messageOrdinal,
941
+ intermediateMessages: [...this.intermediateMessages],
942
+ rawEvent: null
943
+ });
944
+ return true;
945
+ }
946
+ replayBufferedEvents(events, handlers) {
947
+ for (const event of events) {
948
+ const seq = getPatchSeq(event);
949
+ const turnId = getPatchTurnId(event);
950
+ if (Boolean(seq != null && this.patchState?.turnId && turnId && this.patchState.turnId === turnId) && this.patchState && seq != null && seq <= this.patchState.patchSeq) continue;
951
+ this.handleEvent(event, handlers);
952
+ }
851
953
  }
852
954
  emit(handlers, event) {
853
955
  handlers.event?.(event);
@@ -1093,7 +1195,7 @@ var SessionGenerationStreamClient = class SessionGenerationStreamClient {
1093
1195
  }
1094
1196
  };
1095
1197
  function createSessionGenerationStreamClient(input) {
1096
- return new SessionGenerationStreamClient(input.websocketClient, input.spaceId, input.sessionId);
1198
+ return new SessionGenerationStreamClient(input.websocketClient, input.spaceId, input.sessionId, input.fetchStreamSnapshot);
1097
1199
  }
1098
1200
  //#endregion
1099
1201
  //#region src/apis/invitations.ts
@@ -1457,7 +1559,7 @@ var SessionClient = class {
1457
1559
  this.messages = new SessionMessagesClient(transport, id);
1458
1560
  this.turns = new SessionTurnsClient(transport, id);
1459
1561
  this.realtime = new SessionRealtimeClient(websocketClient, spaceId, id);
1460
- this.generation = new SessionGenerationStreamClient(websocketClient, spaceId, id);
1562
+ this.generation = new SessionGenerationStreamClient(websocketClient, spaceId, id, () => this.turns.streamSnapshot());
1461
1563
  }
1462
1564
  get(customFetch) {
1463
1565
  return this.transport.request(`/api/sessions/${this.id}`, { fetch: customFetch });
@@ -1501,8 +1603,8 @@ var SessionClient = class {
1501
1603
  subscribe(handlers) {
1502
1604
  return this.realtime.subscribe(handlers);
1503
1605
  }
1504
- subscribeGeneration(handlers) {
1505
- return this.generation.subscribe(handlers);
1606
+ subscribeGeneration(handlers, options) {
1607
+ return this.generation.subscribe(handlers, options);
1506
1608
  }
1507
1609
  on(type, handler) {
1508
1610
  return this.realtime.on(type, handler);
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 SpaceFsMoveInput, $r as HttpError, $t as ExploreSpacesResponse, An as SessionTurnResponse, Ar as UserRulesResponse, At as BillingSubscriptionSummary, Bn as SpaceConfig, Bt as CreateInvitationInput, Cn as SendMessageCronJobPayload, Cr as SpaceSessionsResponse, Ct as BillingProductCreditBenefit, Dn as SessionMessagesResponse, Dr as TaskRunDetailResponse, Dt as BillingRedemptionResult, En as SessionMessagesPaginatedResponse, Er as SpaceUsageSummary, Et as BillingProductPricing, Fn as SpaceAccess, Fr as PublicGenerationDeclaration, Ft as CanvasNodeRecord, Gn as SpaceFsCompleteUploadInput, Gt as CreateSpacePromptResponse, Hn as SpaceConfigResponse, Ht as CreateSpaceInput, In as SpaceAccessPolicy, It as CanvasSemanticOp, Jn as SpaceFsCreateUploadResponse, Jr as GenerationContentBlock, Jt as CronJobRecord, Kn as SpaceFsCompleteUploadResponse, Kt as CreateSpaceSessionInput, Ln as SpaceBootstrapSource, Lt as CanvasTransactionInput, Mn as SessionTurnStreamSnapshotResponse, Mr as CreateGenerationTaskResponse, Mt as CanvasCreateInput, Nn as SessionTurnWindowResponse, Nr as GenerationTaskResult, Nt as CanvasDocumentRecord, On as SessionRecord, Or as TaskRunRecord, Ot as BillingSubscriptionHistoryList, Pn as SessionTurnsPaginatedResponse, Pr as ListGenerationModelsResponse, Pt as CanvasNodeInput, Qn as SpaceFsFileResponse, Qr as Fetch, Qt as ExploreSpaceItem, Rn as SpaceChannelBindingInput, Rr as GenerationPolicy, Rt as Channel, Sn as ResourceLabelsResponse, Sr as SpaceSandboxConfig, St as BillingProductBillingInterval, Tn as SessionMessageResponse, Tr as SpaceUsageResponse, Tt as BillingProductKind, Un as SpaceCreateResponse, Ut as CreateSpaceModInput, Vn as SpaceConfigInput, Vt as CreateInvitationResponse, Wn as SpaceEnvInput, Wt as CreateSpacePromptInput, Xn as SpaceFsEntry, Xr as DiscordChannelConfig, Xt as CursorPageInfo, Yn as SpaceFsEncoding, Yr as ChannelConfig, Yt as CronJobUpdatePatch, Zn as SpaceFsFileKind, Zr as CohubClientOptions, Zt as ExploreSection, _n as Permission, _r as SpaceModListItem, _t as BillingCreditStatus, an as JsonPrimitive, ar as SpaceFsUploadDestination, at as BillingAccessWarning, bn as PromptTemplateCatalogResponse, br as SpaceRole, bt as BillingPaymentStatus, cn as LabelAssignmentPageInfo, cr as SpaceFsUploadPlanEntry, ct as BillingBalanceActivityList, dn as LabelRecord, dr as SpaceFsUploadResponse, dt as BillingCatalogProduct, ei as HttpTransport, en as GlobalSearchResponse, er as SpaceFsPreparingFile, fn as LabelResourceType, fr as SpaceFsWriteFileInput, ft as BillingCheckoutActionState, gn as ModelCatalogEntry, gr as SpaceMeta, gt as BillingCreditGrantStatus, hn as MeResponse, hr as SpaceMember, ht as BillingCreditExpiryGroup, in as JsonObject, ir as SpaceFsTreeResponse, it as BatchUserProfilesResponse, jn as SessionTurnSignedUrlsResponse, jr as CreateGenerationTaskRequest, jt as CanvasBootstrapResponse, kn as SessionTurnIndexResponse, kr as UserProfile, kt as BillingSubscriptionHistoryStatus, ln as LabelAssignmentRecord, lr as SpaceFsUploadPlanEntryInput, lt as BillingBalanceActivityStatus, mn as LabelSource, mr as SpaceListItem, mt as BillingConversionIntent, n as createHttpClient, nn as GlobalSearchType, nr as SpaceFsReadFilesInput, nt as AcceptInvitationResponse, on as JsonValue, or as SpaceFsUploadEntry, ot as BillingBalanceActivity, pn as LabelScopeType, pr as SpaceInvitation, pt as BillingCheckoutResult, qn as SpaceFsCreateUploadInput, qt as CronJobPayload, rn as InvitationDetail, rr as SpaceFsReadFilesResponse, rt as ApiError, sn as LabelAssignmentListItem, sr as SpaceFsUploadError, st as BillingBalanceActivityKind, t as CohubHttpClient, tn as GlobalSearchResult, tr as SpaceFsReadFilesError, un as LabelListItem, ur as SpaceFsUploadProgress, ut as BillingCatalog, vn as PromptAccessMode, vr as SpacePublicProfile, vt as BillingCreditUnit, wn as SessionBindingRecord, wr as SpaceUsageHourlyStat, wt as BillingProductDisplay, xn as PublicUserProfile, xr as SpaceSandboxAutoDestroyPolicy, xt as BillingPluginStatus, yn as PromptTemplateCatalogEntry, yr as SpaceRecord, yt as BillingHistoryPagination, zn as SpaceCheckpointDetailResponse, zt as CheckpointRecord } from "./chunks/http.js";
2
+ import { $n as SpaceFsEntry, $r as DiscordChannelConfig, $t as CursorPageInfo, An as SessionMessagesResponse, Ar as TaskRunDetailResponse, At as BillingRedemptionResult, Bn as SpaceBootstrapSource, Bt as CanvasTransactionInput, Cn as PromptTemplateCatalogResponse, Cr as SpaceRole, Ct as BillingPaymentStatus, Dn as SessionBindingRecord, Dr as SpaceUsageHourlyStat, Dt as BillingProductDisplay, En as SendMessageCronJobPayload, Er as SpaceSessionsResponse, Et as BillingProductCreditBenefit, Fn as SessionTurnStreamSnapshotResponse, Fr as CreateGenerationTaskResponse, Ft as CanvasCreateInput, Gn as SpaceConfigResponse, Gt as CreateSpaceInput, Hn as SpaceCheckpointDetailResponse, Ht as CheckpointRecord, In as SessionTurnWindowResponse, Ir as GenerationTaskResult, It as CanvasDocumentRecord, Jn as SpaceFsCompleteUploadInput, Jt as CreateSpacePromptResponse, Kn as SpaceCreateResponse, Kt as CreateSpaceModInput, Ln as SessionTurnsPaginatedResponse, Lr as ListGenerationModelsResponse, Lt as CanvasNodeInput, Mn as SessionTurnIndexResponse, Mr as UserProfile, Mt as BillingSubscriptionHistoryStatus, Nn as SessionTurnResponse, Nr as UserRulesResponse, Nt as BillingSubscriptionSummary, On as SessionMessageResponse, Or as SpaceUsageResponse, Ot as BillingProductKind, Pn as SessionTurnSignedUrlsResponse, Pr as CreateGenerationTaskRequest, Pt as CanvasBootstrapResponse, Qn as SpaceFsEncoding, Qr as ChannelConfig, Qt as CronJobUpdatePatch, Rn as SpaceAccess, Rr as PublicGenerationDeclaration, Rt as CanvasNodeRecord, Sn as PromptTemplateCatalogEntry, Sr as SpaceRecord, St as BillingHistoryPagination, Tn as ResourceLabelsResponse, Tr as SpaceSandboxConfig, Tt as BillingProductBillingInterval, Un as SpaceConfig, Ut as CreateInvitationInput, Vn as SpaceChannelBindingInput, Vr as GenerationPolicy, Vt as Channel, Wn as SpaceConfigInput, Wt as CreateInvitationResponse, Xn as SpaceFsCreateUploadInput, Xt as CronJobPayload, Yn as SpaceFsCompleteUploadResponse, Yt as CreateSpaceSessionInput, Zn as SpaceFsCreateUploadResponse, Zr as GenerationContentBlock, Zt as CronJobRecord, _n as LabelSource, _r as SpaceListItem, _t as BillingConversionIntent, an as GlobalSearchType, ar as SpaceFsReadFilesInput, at as AcceptInvitationResponse, bn as Permission, br as SpaceModListItem, bt as BillingCreditStatus, cn as JsonPrimitive, cr as SpaceFsUploadDestination, ct as BillingAccessWarning, dn as LabelAssignmentPageInfo, dr as SpaceFsUploadPlanEntry, dt as BillingBalanceActivityList, ei as CohubClientOptions, en as ExploreSection, er as SpaceFsFileKind, fn as LabelAssignmentRecord, fr as SpaceFsUploadPlanEntryInput, ft as BillingBalanceActivityStatus, gn as LabelScopeType, gr as SpaceInvitation, gt as BillingCheckoutResult, hn as LabelResourceType, hr as SpaceFsWriteFileInput, ht as BillingCheckoutActionState, in as GlobalSearchResult, ir as SpaceFsReadFilesError, jn as SessionRecord, jr as TaskRunRecord, jt as BillingSubscriptionHistoryList, kn as SessionMessagesPaginatedResponse, kr as SpaceUsageSummary, kt as BillingProductPricing, ln as JsonValue, lr as SpaceFsUploadEntry, lt as BillingBalanceActivity, mn as LabelRecord, mr as SpaceFsUploadResponse, mt as BillingCatalogProduct, n as createHttpClient, ni as HttpError, nn as ExploreSpacesResponse, nr as SpaceFsMoveInput, on as InvitationDetail, or as SpaceFsReadFilesResponse, ot as ApiError, pn as LabelListItem, pr as SpaceFsUploadProgress, pt as BillingCatalog, qn as SpaceEnvInput, qt as CreateSpacePromptInput, ri as HttpTransport, rn as GlobalSearchResponse, rr as SpaceFsPreparingFile, sn as JsonObject, sr as SpaceFsTreeResponse, st as BatchUserProfilesResponse, t as CohubHttpClient, ti as Fetch, tn as ExploreSpaceItem, tr as SpaceFsFileResponse, un as LabelAssignmentListItem, ur as SpaceFsUploadError, ut as BillingBalanceActivityKind, vn as MeResponse, vr as SpaceMember, vt as BillingCreditExpiryGroup, wn as PublicUserProfile, wr as SpaceSandboxAutoDestroyPolicy, wt as BillingPluginStatus, xn as PromptAccessMode, xr as SpacePublicProfile, xt as BillingCreditUnit, yn as ModelCatalogEntry, yr as SpaceMeta, yt as BillingCreditGrantStatus, zn as SpaceAccessPolicy, zt as CanvasSemanticOp } from "./chunks/http.js";
3
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, 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, SpacePublicProfile, SpaceRecord, SpaceRole, SpaceSandboxAutoDestroyPolicy, SpaceSandboxConfig, 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
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 GenerationsApi, $n as SpaceFsMoveInput, $r as HttpError, $t as ExploreSpacesResponse, A as GenerationStreamStateEvent, An as SessionTurnResponse, Ar as UserRulesResponse, At as BillingSubscriptionSummary, B as SessionPatchStatus, Bn as SpaceConfig, Br as assertGenerationRequestAllowedByPolicy, Bt as CreateInvitationInput, C as GenerationStreamCommitEvent, Cn as SendMessageCronJobPayload, Cr as SpaceSessionsResponse, Ct as BillingProductCreditBenefit, D as GenerationStreamIntermediateMessage, Dn as SessionMessagesResponse, Dr as TaskRunDetailResponse, Dt as BillingRedemptionResult, E as GenerationStreamFinalizedEvent, En as SessionMessagesPaginatedResponse, Er as SpaceUsageSummary, Et as BillingProductPricing, F as parseAssistantMessageCommit, Fn as SpaceAccess, Fr as PublicGenerationDeclaration, Ft as CanvasNodeRecord, G as CreatePublicAssetUploadResponse, Gn as SpaceFsCompleteUploadInput, Gr as getAllowedGenerationModelIds, Gt as CreateSpacePromptResponse, H as SessionAccessApi, Hn as SpaceConfigResponse, Hr as encodeGenerationPolicy, Ht as CreateSpaceInput, I as SessionPatchApplyInput, In as SpaceAccessPolicy, Ir as GenerationModelPolicy, It as CanvasSemanticOp, J as PublicAssetsApi, Jn as SpaceFsCreateUploadResponse, Jr as GenerationContentBlock, Jt as CronJobRecord, K as PublicAssetMimeType, Kn as SpaceFsCompleteUploadResponse, Kr as normalizeGenerationPolicy, Kt as CreateSpaceSessionInput, L as SessionPatchApplyResult, Ln as SpaceBootstrapSource, Lr as GenerationParameterConstraint, Lt as CanvasTransactionInput, M as GenerationStreamTurnUpdatedEvent, Mn as SessionTurnStreamSnapshotResponse, Mr as CreateGenerationTaskResponse, Mt as CanvasCreateInput, N as SessionGenerationStreamClient, Nn as SessionTurnWindowResponse, Nr as GenerationTaskResult, Nt as CanvasDocumentRecord, O as GenerationStreamLifecycleEvent, On as SessionRecord, Or as TaskRunRecord, Ot as BillingSubscriptionHistoryList, P as createSessionGenerationStreamClient, Pn as SessionTurnsPaginatedResponse, Pr as ListGenerationModelsResponse, Pt as CanvasNodeInput, Q as ModelsApi, Qn as SpaceFsFileResponse, Qr as Fetch, Qt as ExploreSpaceItem, R as SessionPatchReducer, Rn as SpaceChannelBindingInput, Rr as GenerationPolicy, Rt as Channel, S as AssistantMessageCommit, Sn as ResourceLabelsResponse, Sr as SpaceSandboxConfig, St as BillingProductBillingInterval, T as GenerationStreamEvent, Tn as SessionMessageResponse, Tr as SpaceUsageResponse, Tt as BillingProductKind, U as SearchApi, Un as SpaceCreateResponse, Ur as filterGenerationDeclarationsByPolicy, Ut as CreateSpaceModInput, V as createSessionPatchReducer, Vn as SpaceConfigInput, Vr as decodeGenerationPolicy, Vt as CreateInvitationResponse, W as CreatePublicAssetUploadInput, Wn as SpaceEnvInput, Wr as findGenerationModelPolicy, Wt as CreateSpacePromptInput, X as UploadPublicAssetInput, Xn as SpaceFsEntry, Xr as DiscordChannelConfig, Xt as CursorPageInfo, Y as UploadChatImageAttachmentInput, Yn as SpaceFsEncoding, Yr as ChannelConfig, Yt as CronJobUpdatePatch, Z as PromptsApi, Zn as SpaceFsFileKind, Zr as CohubClientOptions, Zt as ExploreSection, _ as SpaceClient, _n as Permission, _r as SpaceModListItem, _t as BillingCreditStatus, a as WorkRecord, an as JsonPrimitive, ar as SpaceFsUploadDestination, at as BillingAccessWarning, b as WebSocketConnectionState, bn as PromptTemplateCatalogResponse, br as SpaceRole, bt as BillingPaymentStatus, c as WorkTargetType, cn as LabelAssignmentPageInfo, cr as SpaceFsUploadPlanEntry, ct as BillingBalanceActivityList, d as WorksApi, dn as LabelRecord, dr as SpaceFsUploadResponse, dt as BillingCatalogProduct, ei as HttpTransport, en as GlobalSearchResponse, er as SpaceFsPreparingFile, et as CronJobsApi, f as UserApi, fn as LabelResourceType, fr as SpaceFsWriteFileInput, ft as BillingCheckoutActionState, g as SpaceChannelBindingRecord, gn as ModelCatalogEntry, gr as SpaceMeta, gt as BillingCreditGrantStatus, h as SessionSubscriptionHandlers, hn as MeResponse, hr as SpaceMember, ht as BillingCreditExpiryGroup, i as WorkCreateInput, in as JsonObject, ir as SpaceFsTreeResponse, it as BatchUserProfilesResponse, j as GenerationStreamSubscriptionHandlers, jn as SessionTurnSignedUrlsResponse, jr as CreateGenerationTaskRequest, jt as CanvasBootstrapResponse, k as GenerationStreamOutOfSyncEvent, kn as SessionTurnIndexResponse, kr as UserProfile, kt as BillingSubscriptionHistoryStatus, l as WorkUpdateInput, ln as LabelAssignmentRecord, lr as SpaceFsUploadPlanEntryInput, lt as BillingBalanceActivityStatus, m as SessionEventName, mn as LabelSource, mr as SpaceListItem, mt as BillingConversionIntent, n as createHttpClient, nn as GlobalSearchType, nr as SpaceFsReadFilesInput, nt as AcceptInvitationResponse, o as WorkSessionResponse, on as JsonValue, or as SpaceFsUploadEntry, ot as BillingBalanceActivity, p as TasksApi, pn as LabelScopeType, pr as SpaceInvitation, pt as BillingCheckoutResult, q as PublicAssetPurpose, qn as SpaceFsCreateUploadInput, qr as parseGenerationPolicyFromEnv, qt as CronJobPayload, r as WorkAuthorizeResponse, rn as InvitationDetail, rr as SpaceFsReadFilesResponse, rt as ApiError, s as WorkStatus, sn as LabelAssignmentListItem, sr as SpaceFsUploadError, st as BillingBalanceActivityKind, t as CohubHttpClient, ti as RawHttpResponse, tn as GlobalSearchResult, tr as SpaceFsReadFilesError, tt as ChannelsApi, u as WorkVersionRecord, un as LabelListItem, ur as SpaceFsUploadProgress, ut as BillingCatalog, v as SpaceEventName, vn as PromptAccessMode, vr as SpacePublicProfile, vt as BillingCreditUnit, w as GenerationStreamErrorEvent, wn as SessionBindingRecord, wr as SpaceUsageHourlyStat, wt as BillingProductDisplay, x as PublicInviteApi, xn as PublicUserProfile, xr as SpaceSandboxAutoDestroyPolicy, xt as BillingPluginStatus, y as SpacesApi, yn as PromptTemplateCatalogEntry, yr as SpaceRecord, yt as BillingHistoryPagination, z as SessionPatchState, zn as SpaceCheckpointDetailResponse, zr as GenerationPolicyError, zt as CheckpointRecord } from "./chunks/http.js";
4
+ import { $ as UploadPublicAssetInput, $n as SpaceFsEntry, $r as DiscordChannelConfig, $t as CursorPageInfo, A as GenerationStreamLifecycleEvent, An as SessionMessagesResponse, Ar as TaskRunDetailResponse, At as BillingRedemptionResult, B as SessionPatchApplyResult, Bn as SpaceBootstrapSource, Br as GenerationParameterConstraint, Bt as CanvasTransactionInput, C as PublicInviteApi, Cn as PromptTemplateCatalogResponse, Cr as SpaceRole, Ct as BillingPaymentStatus, D as GenerationStreamEvent, Dn as SessionBindingRecord, Dr as SpaceUsageHourlyStat, Dt as BillingProductDisplay, E as GenerationStreamErrorEvent, En as SendMessageCronJobPayload, Er as SpaceSessionsResponse, Et as BillingProductCreditBenefit, F as GenerationStreamTurnUpdatedEvent, Fn as SessionTurnStreamSnapshotResponse, Fr as CreateGenerationTaskResponse, Ft as CanvasCreateInput, G as SessionAccessApi, Gn as SpaceConfigResponse, Gr as encodeGenerationPolicy, Gt as CreateSpaceInput, H as SessionPatchState, Hn as SpaceCheckpointDetailResponse, Hr as GenerationPolicyError, Ht as CheckpointRecord, I as SessionGenerationStreamClient, In as SessionTurnWindowResponse, Ir as GenerationTaskResult, It as CanvasDocumentRecord, J as CreatePublicAssetUploadResponse, Jn as SpaceFsCompleteUploadInput, Jr as getAllowedGenerationModelIds, Jt as CreateSpacePromptResponse, K as SearchApi, Kn as SpaceCreateResponse, Kr as filterGenerationDeclarationsByPolicy, Kt as CreateSpaceModInput, L as createSessionGenerationStreamClient, Ln as SessionTurnsPaginatedResponse, Lr as ListGenerationModelsResponse, Lt as CanvasNodeInput, M as GenerationStreamStateEvent, Mn as SessionTurnIndexResponse, Mr as UserProfile, Mt as BillingSubscriptionHistoryStatus, N as GenerationStreamSubscribeOptions, Nn as SessionTurnResponse, Nr as UserRulesResponse, Nt as BillingSubscriptionSummary, O as GenerationStreamFinalizedEvent, On as SessionMessageResponse, Or as SpaceUsageResponse, Ot as BillingProductKind, P as GenerationStreamSubscriptionHandlers, Pn as SessionTurnSignedUrlsResponse, Pr as CreateGenerationTaskRequest, Pt as CanvasBootstrapResponse, Q as UploadChatImageAttachmentInput, Qn as SpaceFsEncoding, Qr as ChannelConfig, Qt as CronJobUpdatePatch, R as parseAssistantMessageCommit, Rn as SpaceAccess, Rr as PublicGenerationDeclaration, Rt as CanvasNodeRecord, S as WebSocketConnectionState, Sn as PromptTemplateCatalogEntry, Sr as SpaceRecord, St as BillingHistoryPagination, T as GenerationStreamCommitEvent, Tn as ResourceLabelsResponse, Tr as SpaceSandboxConfig, Tt as BillingProductBillingInterval, U as SessionPatchStatus, Un as SpaceConfig, Ur as assertGenerationRequestAllowedByPolicy, Ut as CreateInvitationInput, V as SessionPatchReducer, Vn as SpaceChannelBindingInput, Vr as GenerationPolicy, Vt as Channel, W as createSessionPatchReducer, Wn as SpaceConfigInput, Wr as decodeGenerationPolicy, Wt as CreateInvitationResponse, X as PublicAssetPurpose, Xn as SpaceFsCreateUploadInput, Xr as parseGenerationPolicyFromEnv, Xt as CronJobPayload, Y as PublicAssetMimeType, Yn as SpaceFsCompleteUploadResponse, Yr as normalizeGenerationPolicy, Yt as CreateSpaceSessionInput, Z as PublicAssetsApi, Zn as SpaceFsCreateUploadResponse, Zr as GenerationContentBlock, Zt as CronJobRecord, _ as SessionSubscriptionHandlers, _n as LabelSource, _r as SpaceListItem, _t as BillingConversionIntent, a as WorkMeta, an as GlobalSearchType, ar as SpaceFsReadFilesInput, at as AcceptInvitationResponse, b as SpaceEventName, bn as Permission, br as SpaceModListItem, bt as BillingCreditStatus, c as WorkSessionResponse, cn as JsonPrimitive, cr as SpaceFsUploadDestination, ct as BillingAccessWarning, d as WorkUpdateInput, dn as LabelAssignmentPageInfo, dr as SpaceFsUploadPlanEntry, dt as BillingBalanceActivityList, ei as CohubClientOptions, en as ExploreSection, er as SpaceFsFileKind, et as PromptsApi, f as WorkVersionRecord, fn as LabelAssignmentRecord, fr as SpaceFsUploadPlanEntryInput, ft as BillingBalanceActivityStatus, g as SessionEventName, gn as LabelScopeType, gr as SpaceInvitation, gt as BillingCheckoutResult, h as TasksApi, hn as LabelResourceType, hr as SpaceFsWriteFileInput, ht as BillingCheckoutActionState, i as WorkCreateInput, ii as RawHttpResponse, in as GlobalSearchResult, ir as SpaceFsReadFilesError, it as ChannelsApi, j as GenerationStreamOutOfSyncEvent, jn as SessionRecord, jr as TaskRunRecord, jt as BillingSubscriptionHistoryList, k as GenerationStreamIntermediateMessage, kn as SessionMessagesPaginatedResponse, kr as SpaceUsageSummary, kt as BillingProductPricing, l as WorkStatus, ln as JsonValue, lr as SpaceFsUploadEntry, lt as BillingBalanceActivity, m as UserApi, mn as LabelRecord, mr as SpaceFsUploadResponse, mt as BillingCatalogProduct, n as createHttpClient, ni as HttpError, nn as ExploreSpacesResponse, nr as SpaceFsMoveInput, nt as GenerationsApi, o as WorkPresentationMeta, on as InvitationDetail, or as SpaceFsReadFilesResponse, ot as ApiError, p as WorksApi, pn as LabelListItem, pr as SpaceFsUploadProgress, pt as BillingCatalog, q as CreatePublicAssetUploadInput, qn as SpaceEnvInput, qr as findGenerationModelPolicy, qt as CreateSpacePromptInput, r as WorkAuthorizeResponse, ri as HttpTransport, rn as GlobalSearchResponse, rr as SpaceFsPreparingFile, rt as CronJobsApi, s as WorkRecord, sn as JsonObject, sr as SpaceFsTreeResponse, st as BatchUserProfilesResponse, t as CohubHttpClient, ti as Fetch, tn as ExploreSpaceItem, tr as SpaceFsFileResponse, tt as ModelsApi, u as WorkTargetType, un as LabelAssignmentListItem, ur as SpaceFsUploadError, ut as BillingBalanceActivityKind, v as SpaceChannelBindingRecord, vn as MeResponse, vr as SpaceMember, vt as BillingCreditExpiryGroup, w as AssistantMessageCommit, wn as PublicUserProfile, wr as SpaceSandboxAutoDestroyPolicy, wt as BillingPluginStatus, x as SpacesApi, xn as PromptAccessMode, xr as SpacePublicProfile, xt as BillingCreditUnit, y as SpaceClient, yn as ModelCatalogEntry, yr as SpaceMeta, yt as BillingCreditGrantStatus, z as SessionPatchApplyInput, zn as SpaceAccessPolicy, zr as GenerationModelPolicy, zt as CanvasSemanticOp } from "./chunks/http.js";
5
5
 
6
6
  //#region src/apis/billing.d.ts
7
7
  declare class BillingApi {
@@ -20,6 +20,9 @@ declare class BillingApi {
20
20
  getCatalog(): Promise<{
21
21
  catalog: BillingCatalog;
22
22
  }>;
23
+ getFeatureEntitlement(featureKey: string): Promise<{
24
+ enabled: boolean;
25
+ }>;
23
26
  getSubscriptions(input?: {
24
27
  page?: number;
25
28
  limit?: number;
@@ -133,4 +136,4 @@ declare class CohubClient {
133
136
  }
134
137
  declare const createCohubClient: (options?: CohubClientOptions) => CohubClient;
135
138
  //#endregion
136
- 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 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, 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, 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 WorkRecord, WorkRuntimeApi, type WorkRuntimeContext, type WorkSessionResponse, type WorkStatus, type WorkTargetType, type WorkUpdateInput, type WorkVersionRecord, WorksApi, assertGenerationRequestAllowedByPolicy, createCohubClient, createHttpClient, createSessionGenerationStreamClient, createSessionPatchReducer, createVoiceInputClient, createWebsocketClient, createWorkRuntime, decodeGenerationPolicy, encodeGenerationPolicy, filterGenerationDeclarationsByPolicy, findGenerationModelPolicy, getAllowedGenerationModelIds, normalizeBaseUrl, normalizeGenerationPolicy, normalizeVoiceInputWebsocketUrl, normalizeWebsocketUrl, parseAssistantMessageCommit, parseGenerationPolicyFromEnv, resolveApiBaseUrl, resolveCohubEnvironment, resolveVoiceInputWebsocketUrl, resolveWebsocketUrl };
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, 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, 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 WorkMeta, type WorkPresentationMeta, type WorkRecord, WorkRuntimeApi, type WorkRuntimeContext, type WorkSessionResponse, type WorkStatus, type WorkTargetType, type WorkUpdateInput, type WorkVersionRecord, WorksApi, assertGenerationRequestAllowedByPolicy, createCohubClient, createHttpClient, createSessionGenerationStreamClient, createSessionPatchReducer, createVoiceInputClient, createWebsocketClient, createWorkRuntime, decodeGenerationPolicy, encodeGenerationPolicy, filterGenerationDeclarationsByPolicy, findGenerationModelPolicy, getAllowedGenerationModelIds, normalizeBaseUrl, normalizeGenerationPolicy, normalizeVoiceInputWebsocketUrl, normalizeWebsocketUrl, parseAssistantMessageCommit, parseGenerationPolicyFromEnv, resolveApiBaseUrl, resolveCohubEnvironment, resolveVoiceInputWebsocketUrl, resolveWebsocketUrl };
package/dist/index.js CHANGED
@@ -23,6 +23,9 @@ var BillingApi = class {
23
23
  async getCatalog() {
24
24
  return this.transport.request("/api/billing/catalog");
25
25
  }
26
+ async getFeatureEntitlement(featureKey) {
27
+ return this.transport.request(`/api/billing/features/${encodeURIComponent(featureKey)}`);
28
+ }
26
29
  async getSubscriptions(input) {
27
30
  const params = new URLSearchParams();
28
31
  if (input?.page) params.set("page", String(input.page));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neta-art/cohub",
3
- "version": "1.30.0",
3
+ "version": "1.32.0",
4
4
  "description": "Cohub SDK for spaces, sessions, checkpoints, and realtime agent collaboration.",
5
5
  "license": "UNLICENSED",
6
6
  "private": false,