@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 +59 -0
- package/dist/chunks/http.d.ts +31 -4
- package/dist/chunks/http.js +7 -1
- package/dist/chunks/websocket.d.ts +24 -1
- package/dist/http.d.ts +2 -2
- package/dist/index.d.ts +4 -3
- package/dist/index.js +44 -1
- package/docs/work-runtime-guide.md +938 -0
- package/package.json +3 -2
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)**.
|
package/dist/chunks/http.d.ts
CHANGED
|
@@ -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 $,
|
|
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 };
|
package/dist/chunks/http.js
CHANGED
|
@@ -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 {
|
|
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 { $
|
|
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
|
|
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
|
|
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({
|