@neta-art/cohub 2.3.0 → 2.4.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/dist/chunks/http.d.ts +165 -46
- package/dist/chunks/http.js +7 -0
- package/dist/http.d.ts +1 -1
- package/dist/index.d.ts +2 -52
- package/dist/index.js +225 -50
- package/package.json +1 -1
package/dist/chunks/http.d.ts
CHANGED
|
@@ -2,50 +2,6 @@ import { n as CohubEnvironment } from "./environment.js";
|
|
|
2
2
|
import { C as ContentBlock, S as Usage, _ as SessionForkRecord, a as WebsocketClientOptions, b as SessionTurnIndexItem, d as RealtimePatchOperation, g as SessionBindingRecord$1, h as MessageRecord, m as SpacePublicEndpoints, p as SessionTurnPatchEvent, r as WebsocketClient, s as WebsocketEventPayload, v as SessionRecord$1, x as SessionTurnRecord } from "./websocket.js";
|
|
3
3
|
import { a as VoiceInputCreateOptions } from "./voice-input.js";
|
|
4
4
|
|
|
5
|
-
//#region src/transport.d.ts
|
|
6
|
-
type Fetch = typeof globalThis.fetch;
|
|
7
|
-
type RequestInitWithFetch = RequestInit & {
|
|
8
|
-
fetch?: Fetch;
|
|
9
|
-
};
|
|
10
|
-
type RawHttpResponse = {
|
|
11
|
-
response: Response;
|
|
12
|
-
blob(): Promise<Blob>;
|
|
13
|
-
arrayBuffer(): Promise<ArrayBuffer>;
|
|
14
|
-
text(): Promise<string>;
|
|
15
|
-
json(): Promise<unknown>;
|
|
16
|
-
};
|
|
17
|
-
type CohubClientOptions = {
|
|
18
|
-
env?: CohubEnvironment;
|
|
19
|
-
baseUrl?: string;
|
|
20
|
-
getAccessToken?: (options?: {
|
|
21
|
-
forceRefresh?: boolean;
|
|
22
|
-
}) => Promise<string | null> | string | null;
|
|
23
|
-
onUnauthorized?: () => Promise<void> | void;
|
|
24
|
-
setStoredAuthToken?: (token: string) => void;
|
|
25
|
-
clearStoredAuthToken?: () => void;
|
|
26
|
-
fetch?: Fetch;
|
|
27
|
-
websocket?: WebsocketClientOptions;
|
|
28
|
-
voice?: VoiceInputCreateOptions;
|
|
29
|
-
};
|
|
30
|
-
declare class HttpError extends Error {
|
|
31
|
-
readonly status: number;
|
|
32
|
-
readonly body: unknown;
|
|
33
|
-
readonly code: string | null;
|
|
34
|
-
constructor(message: string, status: number, body: unknown);
|
|
35
|
-
}
|
|
36
|
-
declare class HttpTransport {
|
|
37
|
-
private readonly baseUrl;
|
|
38
|
-
private readonly fetcher;
|
|
39
|
-
private readonly getAccessToken?;
|
|
40
|
-
private readonly onUnauthorized?;
|
|
41
|
-
constructor(options?: CohubClientOptions);
|
|
42
|
-
private withAuthorization;
|
|
43
|
-
private send;
|
|
44
|
-
request<T>(path: string, init?: RequestInitWithFetch): Promise<T>;
|
|
45
|
-
raw(path: string, init?: RequestInitWithFetch): Promise<RawHttpResponse>;
|
|
46
|
-
blob(path: string, init?: RequestInitWithFetch): Promise<Blob>;
|
|
47
|
-
}
|
|
48
|
-
//#endregion
|
|
49
5
|
//#region ../protocol/src/gateway/types.d.ts
|
|
50
6
|
type DiscordChannelConfig = {
|
|
51
7
|
inbound?: {
|
|
@@ -1241,7 +1197,7 @@ type LabelAssignmentRecord = {
|
|
|
1241
1197
|
scopeId: string;
|
|
1242
1198
|
resourceType: LabelResourceType;
|
|
1243
1199
|
resourceRef: string;
|
|
1244
|
-
rank: number;
|
|
1200
|
+
rank: number | null;
|
|
1245
1201
|
source: LabelSource;
|
|
1246
1202
|
createdBy: string | null;
|
|
1247
1203
|
meta: Record<string, unknown> | null;
|
|
@@ -1438,6 +1394,164 @@ type ReferenceAggregateResponse = {
|
|
|
1438
1394
|
groups: ReferenceAggregateGroup[];
|
|
1439
1395
|
};
|
|
1440
1396
|
//#endregion
|
|
1397
|
+
//#region src/work-runtime.d.ts
|
|
1398
|
+
type WorkRuntimeContext = {
|
|
1399
|
+
work: {
|
|
1400
|
+
id: string;
|
|
1401
|
+
slug: string;
|
|
1402
|
+
url?: string | null;
|
|
1403
|
+
};
|
|
1404
|
+
space: {
|
|
1405
|
+
id: string;
|
|
1406
|
+
name?: string | null;
|
|
1407
|
+
};
|
|
1408
|
+
viewer?: {
|
|
1409
|
+
userUuid: string;
|
|
1410
|
+
} | null;
|
|
1411
|
+
permissions?: {
|
|
1412
|
+
scopes: Permission[];
|
|
1413
|
+
workScopes: Permission[];
|
|
1414
|
+
viewerScopes: Permission[];
|
|
1415
|
+
};
|
|
1416
|
+
};
|
|
1417
|
+
type WorkRuntimeCheckoutStatus = "success" | "failed" | "cancel" | null;
|
|
1418
|
+
type WorkRuntimeCheckoutState = {
|
|
1419
|
+
status: WorkRuntimeCheckoutStatus;
|
|
1420
|
+
orderId: string | null;
|
|
1421
|
+
};
|
|
1422
|
+
/**
|
|
1423
|
+
* Options for a single work runtime transport request.
|
|
1424
|
+
*/
|
|
1425
|
+
type WorkRuntimeRequestOptions = {
|
|
1426
|
+
/** How long to wait for a matching response before resolving with null. */timeoutMs?: number; /** When set, re-posts the request on this interval until a response arrives. */
|
|
1427
|
+
retryIntervalMs?: number;
|
|
1428
|
+
};
|
|
1429
|
+
/**
|
|
1430
|
+
* Transport layer for {@link WorkRuntimeApi}. Decoupled so the same API can run
|
|
1431
|
+
* over either the iframe parent bridge (bridge mode) or a popup broker window
|
|
1432
|
+
* (broker mode). The transport is responsible for posting the request and
|
|
1433
|
+
* resolving with the first matching response (or null on timeout).
|
|
1434
|
+
*/
|
|
1435
|
+
interface WorkRuntimeTransport {
|
|
1436
|
+
request<T>(message: Record<string, unknown>, options?: WorkRuntimeRequestOptions): Promise<T | null>;
|
|
1437
|
+
}
|
|
1438
|
+
/**
|
|
1439
|
+
* Bridge-mode transport: posts messages to `window.parent` (the Cohub host
|
|
1440
|
+
* embedding the work in an iframe) and listens for the matching reply.
|
|
1441
|
+
* Behaviorally identical to the previous module-level `request()` helper.
|
|
1442
|
+
*/
|
|
1443
|
+
declare class ParentBridgeTransport implements WorkRuntimeTransport {
|
|
1444
|
+
private trustedParentOrigin;
|
|
1445
|
+
request<T>(message: Record<string, unknown>, options?: WorkRuntimeRequestOptions): Promise<T | null>;
|
|
1446
|
+
}
|
|
1447
|
+
/**
|
|
1448
|
+
* Broker-mode transport for standalone-deployed works. Opens a popup window to
|
|
1449
|
+
* the Cohub auth broker page, performs a ready-handshake, sends the request via
|
|
1450
|
+
* postMessage, and resolves with the broker's response. The popup is closed
|
|
1451
|
+
* after a single request is fulfilled (one-shot, per §7.2 of the plan).
|
|
1452
|
+
*
|
|
1453
|
+
* Non-interactive messages (`context`, `checkout-state`) are answered locally
|
|
1454
|
+
* without opening a popup — the work already knows its own workId, and
|
|
1455
|
+
* checkout state is not available on the work's own origin in broker mode.
|
|
1456
|
+
*/
|
|
1457
|
+
declare class PopupBrokerTransport implements WorkRuntimeTransport {
|
|
1458
|
+
private readonly brokerOrigin;
|
|
1459
|
+
private readonly workId;
|
|
1460
|
+
constructor(config: {
|
|
1461
|
+
brokerOrigin: string;
|
|
1462
|
+
workId: string;
|
|
1463
|
+
});
|
|
1464
|
+
request<T>(message: Record<string, unknown>, options?: WorkRuntimeRequestOptions): Promise<T | null>;
|
|
1465
|
+
}
|
|
1466
|
+
declare class WorkRuntimeApi {
|
|
1467
|
+
private token;
|
|
1468
|
+
private readonly transport;
|
|
1469
|
+
private readonly tokenStorageKey;
|
|
1470
|
+
constructor(transport?: WorkRuntimeTransport, workId?: string);
|
|
1471
|
+
private readStoredToken;
|
|
1472
|
+
private writeStoredToken;
|
|
1473
|
+
context(): Promise<WorkRuntimeContext | null>;
|
|
1474
|
+
getAccessToken(options?: {
|
|
1475
|
+
forceRefresh?: boolean;
|
|
1476
|
+
}): Promise<string | null>;
|
|
1477
|
+
requestAuthorization(input: {
|
|
1478
|
+
scopes: Permission[];
|
|
1479
|
+
reason?: string;
|
|
1480
|
+
}): Promise<boolean>;
|
|
1481
|
+
purchase(input: {
|
|
1482
|
+
productKey: string;
|
|
1483
|
+
}): Promise<{
|
|
1484
|
+
providerKey: string | null;
|
|
1485
|
+
checkoutUrl: string | null;
|
|
1486
|
+
checkoutUsable: boolean;
|
|
1487
|
+
status: string | null;
|
|
1488
|
+
message: string | null;
|
|
1489
|
+
orderId: string;
|
|
1490
|
+
productKey: string;
|
|
1491
|
+
} | null>;
|
|
1492
|
+
checkoutState(): Promise<WorkRuntimeCheckoutState | null>;
|
|
1493
|
+
}
|
|
1494
|
+
/**
|
|
1495
|
+
* Configuration for the work runtime mode.
|
|
1496
|
+
*/
|
|
1497
|
+
type WorkRuntimeModeConfig = {
|
|
1498
|
+
/** Explicit mode selection. When omitted, auto-detection is used. */mode?: "bridge" | "broker"; /** Cohub origin for the broker page (e.g. "https://cohub.run"). */
|
|
1499
|
+
brokerOrigin?: string; /** The work's public id. Required for broker mode. */
|
|
1500
|
+
workId?: string;
|
|
1501
|
+
};
|
|
1502
|
+
/**
|
|
1503
|
+
* Resolves the appropriate transport based on the work mode configuration.
|
|
1504
|
+
* Auto-detection: inside an iframe → bridge; standalone with broker config →
|
|
1505
|
+
* broker; otherwise → bridge (returns null for non-work contexts).
|
|
1506
|
+
*/
|
|
1507
|
+
declare function resolveWorkTransport(config?: WorkRuntimeModeConfig): WorkRuntimeTransport;
|
|
1508
|
+
declare const createWorkRuntime: (transport?: WorkRuntimeTransport, workId?: string) => WorkRuntimeApi;
|
|
1509
|
+
//#endregion
|
|
1510
|
+
//#region src/transport.d.ts
|
|
1511
|
+
type Fetch = typeof globalThis.fetch;
|
|
1512
|
+
type RequestInitWithFetch = RequestInit & {
|
|
1513
|
+
fetch?: Fetch;
|
|
1514
|
+
};
|
|
1515
|
+
type RawHttpResponse = {
|
|
1516
|
+
response: Response;
|
|
1517
|
+
blob(): Promise<Blob>;
|
|
1518
|
+
arrayBuffer(): Promise<ArrayBuffer>;
|
|
1519
|
+
text(): Promise<string>;
|
|
1520
|
+
json(): Promise<unknown>;
|
|
1521
|
+
};
|
|
1522
|
+
type CohubClientOptions = {
|
|
1523
|
+
env?: CohubEnvironment;
|
|
1524
|
+
baseUrl?: string;
|
|
1525
|
+
getAccessToken?: (options?: {
|
|
1526
|
+
forceRefresh?: boolean;
|
|
1527
|
+
}) => Promise<string | null> | string | null;
|
|
1528
|
+
onUnauthorized?: () => Promise<void> | void;
|
|
1529
|
+
setStoredAuthToken?: (token: string) => void;
|
|
1530
|
+
clearStoredAuthToken?: () => void;
|
|
1531
|
+
fetch?: Fetch;
|
|
1532
|
+
websocket?: WebsocketClientOptions;
|
|
1533
|
+
voice?: VoiceInputCreateOptions; /** Work runtime mode configuration (bridge vs broker). */
|
|
1534
|
+
work?: WorkRuntimeModeConfig;
|
|
1535
|
+
};
|
|
1536
|
+
declare class HttpError extends Error {
|
|
1537
|
+
readonly status: number;
|
|
1538
|
+
readonly body: unknown;
|
|
1539
|
+
readonly code: string | null;
|
|
1540
|
+
constructor(message: string, status: number, body: unknown);
|
|
1541
|
+
}
|
|
1542
|
+
declare class HttpTransport {
|
|
1543
|
+
private readonly baseUrl;
|
|
1544
|
+
private readonly fetcher;
|
|
1545
|
+
private readonly getAccessToken?;
|
|
1546
|
+
private readonly onUnauthorized?;
|
|
1547
|
+
constructor(options?: CohubClientOptions);
|
|
1548
|
+
private withAuthorization;
|
|
1549
|
+
private send;
|
|
1550
|
+
request<T>(path: string, init?: RequestInitWithFetch): Promise<T>;
|
|
1551
|
+
raw(path: string, init?: RequestInitWithFetch): Promise<RawHttpResponse>;
|
|
1552
|
+
blob(path: string, init?: RequestInitWithFetch): Promise<Blob>;
|
|
1553
|
+
}
|
|
1554
|
+
//#endregion
|
|
1441
1555
|
//#region src/apis/channels.d.ts
|
|
1442
1556
|
declare class ChannelsApi {
|
|
1443
1557
|
private readonly transport;
|
|
@@ -2585,6 +2699,11 @@ declare class WorksApi {
|
|
|
2585
2699
|
works: WorkRecord[];
|
|
2586
2700
|
}>;
|
|
2587
2701
|
get(id: string): Promise<WorkDetailResponse>;
|
|
2702
|
+
/**
|
|
2703
|
+
* Loads a published work's metadata + owner info by id (public access model).
|
|
2704
|
+
* Used by the standalone work auth broker page.
|
|
2705
|
+
*/
|
|
2706
|
+
getPublicById(id: string): Promise<WorkDetailResponse>;
|
|
2588
2707
|
getBySlug(username: string, spaceSlug: string, workSlug: string): Promise<WorkDetailResponse>;
|
|
2589
2708
|
create(input: WorkCreateInput): Promise<{
|
|
2590
2709
|
work: WorkRecord;
|
|
@@ -2700,4 +2819,4 @@ declare class CohubHttpClient {
|
|
|
2700
2819
|
}
|
|
2701
2820
|
declare const createHttpClient: (options?: CohubClientOptions) => CohubHttpClient;
|
|
2702
2821
|
//#endregion
|
|
2703
|
-
export { parseAssistantMessageCommit as $,
|
|
2822
|
+
export { parseAssistantMessageCommit as $, GenerationContentBlock as $i, PatchResourceLabelsInput as $n, SpaceFsFileKind as $r, BillingCreditStatus as $t, TasksApi as A, SpaceUsageResponse as Ai, CronJobRecord as An, SpaceBootstrapSource as Ar, WorkRuntimeCheckoutState as At, GenerationStreamCommitEvent as B, PublicGenerationDeclaration as Bi, JsonObject as Bn, SpaceCommerceProductCreditBenefit as Br, BatchUserProfilesResponse as Bt, WorkStatus as C, SpaceRecord as Ci, CreateInvitationResponse as Cn, SessionTurnResponse as Cr, Fetch as Ct, WorkVisibility as D, SpaceSandboxProvider as Di, CreateSpacePromptResponse as Dn, SessionTurnsPaginatedResponse as Dr, ParentBridgeTransport as Dt, WorkVersionRecord as E, SpaceSandboxConfig as Ei, CreateSpacePromptInput as En, SessionTurnWindowResponse as Er, RawHttpResponse as Et, SpaceEventName as F, UserRulesResponse as Fi, ExploreSpacesResponse as Fn, SpaceCommerceCreditsBenefit as Fr, WorkRuntimeTransport as Ft, GenerationStreamLifecycleEvent as G, assertGenerationRequestAllowedByPolicy as Gi, LabelAssignmentRecord as Gn, SpaceDefaultResponse as Gr, BillingBalanceActivityStatus as Gt, GenerationStreamEvent as H, GenerationParameterConstraint as Hi, JsonValue as Hn, SpaceConfigInput as Hr, BillingBalanceActivity as Ht, SpacesApi as I, CreateGenerationTaskRequest as Ii, GlobalSearchResponse as In, SpaceCommerceFeatureBenefit as Ir, createWorkRuntime as It, GenerationStreamSubscribeOptions as J, filterGenerationDeclarationsByPolicy as Ji, LabelResourceType as Jn, SpaceFsCompleteUploadResponse as Jr, BillingCheckoutActionState as Jt, GenerationStreamOutOfSyncEvent as K, decodeGenerationPolicy as Ki, LabelListItem as Kn, SpaceEnvInput as Kr, BillingCatalog as Kt, WebSocketConnectionState as L, CreateGenerationTaskResponse as Li, GlobalSearchResult as Ln, SpaceCommerceOrder as Lr, resolveWorkTransport as Lt, SessionSubscriptionHandlers as M, TaskRunDetailResponse as Mi, CursorPageInfo as Mn, SpaceCheckpointDetailResponse as Mr, WorkRuntimeContext as Mt, SpaceChannelBindingRecord as N, TaskRunRecord as Ni, ExploreSection as Nn, SpaceCommerceBenefit as Nr, WorkRuntimeModeConfig as Nt, WorksApi as O, SpaceSessionsResponse as Oi, CreateSpaceSessionInput as On, SpaceAccess as Or, PopupBrokerTransport as Ot, SpaceClient as P, UserProfile as Pi, ExploreSpaceItem as Pn, SpaceCommerceBuyerProfile as Pr, WorkRuntimeRequestOptions as Pt, createSessionGenerationStreamClient as Q, parseGenerationPolicyFromEnv as Qi, ModelCatalogEntry as Qn, SpaceFsEntry as Qr, BillingCreditGrantStatus as Qt, PublicInviteApi as R, GenerationTaskResult as Ri, GlobalSearchType as Rn, SpaceCommerceProduct as Rr, AcceptInvitationResponse as Rt, WorkSessionResponse as S, SpacePublicProfile as Si, CreateInvitationInput as Sn, SessionTurnIndexResponse as Sr, CohubClientOptions as St, WorkUpdateInput as T, SpaceSandboxAutoDestroyPolicy as Ti, CreateSpaceModInput as Tn, SessionTurnStreamSnapshotResponse as Tr, HttpTransport as Tt, GenerationStreamFinalizedEvent as U, GenerationPolicy as Ui, LabelAssignmentListItem as Un, SpaceConfigResponse as Ur, BillingBalanceActivityKind as Ut, GenerationStreamErrorEvent as V, GenerationModelPolicy as Vi, JsonPrimitive as Vn, SpaceConfig as Vr, BillingAccessWarning as Vt, GenerationStreamIntermediateMessage as W, GenerationPolicyError as Wi, LabelAssignmentPageInfo as Wn, SpaceCreateResponse as Wr, BillingBalanceActivityList as Wt, GenerationStreamTurnUpdatedEvent as X, getAllowedGenerationModelIds as Xi, LabelSource as Xn, SpaceFsCreateUploadResponse as Xr, BillingConversionIntent as Xt, GenerationStreamSubscriptionHandlers as Y, findGenerationModelPolicy as Yi, LabelScopeType as Yn, SpaceFsCreateUploadInput as Yr, BillingCheckoutResult as Yt, SessionGenerationStreamClient as Z, normalizeGenerationPolicy as Zi, MeResponse as Zn, SpaceFsEncoding as Zr, BillingCreditExpiryGroup as Zt, WorkPresentationMeta as _, SpaceMember as _i, CanvasNodeRecord as _n, SessionBindingRecord as _r, PromptsApi as _t, WorkCommerceCreditConsumeResponse as a, SpaceFsReadFilesResponse as ai, BillingProductCreditBenefit as an, PublicUserProfile as ar, createSessionPatchReducer as at, WorkRecord as b, SpacePresenceSnapshot as bi, Channel as bn, SessionMessagesResponse as br, CronJobsApi as bt, WorkCommerceEntitlementsResponse as c, SpaceFsUploadEntry as ci, BillingProductPricing as cn, ReferenceAggregateResponse as cr, ReferencesApi as ct, WorkCommercePurchaseResponse as d, SpaceFsUploadPlanEntryInput as di, BillingSubscriptionHistoryStatus as dn, ReferenceQueryResponse as dr, CreatePublicAssetUploadResponse as dt, ChannelConfig as ea, SpaceFsFileResponse as ei, BillingCreditUnit as en, PatchResourceLabelsResponse as er, SessionPatchApplyInput as et, WorkAuthorizeResponse as f, SpaceFsUploadProgress as fi, BillingSubscriptionSummary as fn, ReferenceQueryableType as fr, PublicAssetMimeType as ft, WorkMeta as g, SpaceListItem as gi, CanvasNodeInput as gn, SendMessageCronJobPayload as gr, UploadPublicAssetInput as gt, WorkGetResponse as h, SpaceInvitation as hi, CanvasDocumentRecord as hn, ResourceLabelsResponse as hr, UploadChatImageAttachmentInput as ht, WorkCommerceCheckoutStatus as i, SpaceFsReadFilesInput as ii, BillingProductBillingInterval as in, PromptTemplateCatalogResponse as ir, SessionPatchStatus as it, SessionEventName as j, SpaceUsageSummary as ji, CronJobUpdatePatch as jn, SpaceChannelBindingInput as jr, WorkRuntimeCheckoutStatus as jt, UserApi as k, SpaceUsageHourlyStat as ki, CronJobPayload as kn, SpaceAccessPolicy as kr, WorkRuntimeApi as kt, WorkCommerceOrder as l, SpaceFsUploadError as li, BillingRedemptionResult as ln, ReferenceDirection as lr, SearchApi as lt, WorkDetailResponse as m, SpaceFsWriteFileInput as mi, CanvasCreateInput as mn, ReferenceResourceType as mr, PublicAssetsApi as mt, createHttpClient as n, SpaceFsPreparingFile as ni, BillingPaymentStatus as nn, PromptAccessMode as nr, SessionPatchReducer as nt, WorkCommerceCreditConsumeStatus as o, SpaceFsTreeResponse as oi, BillingProductDisplay as on, ReferenceAggregateGroup as or, SessionAccessApi as ot, WorkCreateInput as p, SpaceFsUploadResponse as pi, CanvasBootstrapResponse as pn, ReferenceRecord as pr, PublicAssetPurpose as pt, GenerationStreamStateEvent as q, encodeGenerationPolicy as qi, LabelRecord as qn, SpaceFsCompleteUploadInput as qr, BillingCatalogProduct as qt, WorkCommerceApi as r, SpaceFsReadFilesError as ri, BillingPluginStatus as rn, PromptTemplateCatalogEntry as rr, SessionPatchState as rt, WorkCommerceEntitlement as s, SpaceFsUploadDestination as si, BillingProductKind as sn, ReferenceAggregateGroupBy as sr, ReferenceResourceSelector as st, CohubHttpClient as t, DiscordChannelConfig as ta, SpaceFsMoveInput as ti, BillingHistoryPagination as tn, Permission as tr, SessionPatchApplyResult as tt, WorkCommerceProductResolveResponse as u, SpaceFsUploadPlanEntry as ui, BillingSubscriptionHistoryList as un, ReferenceKind as ur, CreatePublicAssetUploadInput as ut, WorkPublicOwnerRecord as v, SpaceMeta as vi, CanvasSemanticOp as vn, SessionMessageResponse as vr, ModelsApi as vt, WorkTargetType as w, SpaceRole as wi, CreateSpaceInput as wn, SessionTurnSignedUrlsResponse as wr, HttpError as wt, WorkResolveResponse as x, SpacePresenceUser as xi, CheckpointRecord as xn, SessionRecord as xr, ChannelsApi as xt, WorkPublicSpaceRecord as y, SpaceModListItem as yi, CanvasTransactionInput as yn, SessionMessagesPaginatedResponse as yr, GenerationsApi as yt, AssistantMessageCommit as z, ListGenerationModelsResponse as zi, InvitationDetail as zn, SpaceCommerceProductBenefitBinding as zr, ApiError as zt };
|
package/dist/chunks/http.js
CHANGED
|
@@ -2477,6 +2477,13 @@ var WorksApi = class {
|
|
|
2477
2477
|
get(id) {
|
|
2478
2478
|
return this.transport.request(`/api/works/${id}`);
|
|
2479
2479
|
}
|
|
2480
|
+
/**
|
|
2481
|
+
* Loads a published work's metadata + owner info by id (public access model).
|
|
2482
|
+
* Used by the standalone work auth broker page.
|
|
2483
|
+
*/
|
|
2484
|
+
getPublicById(id) {
|
|
2485
|
+
return this.transport.request(`/api/works/${id}/public`);
|
|
2486
|
+
}
|
|
2480
2487
|
getBySlug(username, spaceSlug, workSlug) {
|
|
2481
2488
|
return this.transport.request(`/api/works/by-slug/${encodeURIComponent(username)}/${encodeURIComponent(spaceSlug)}/${encodeURIComponent(workSlug)}`);
|
|
2482
2489
|
}
|
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
|
|
2
|
+
import { $i as GenerationContentBlock, $n as PatchResourceLabelsInput, $r as SpaceFsFileKind, $t as BillingCreditStatus, Ai as SpaceUsageResponse, An as CronJobRecord, Ar as SpaceBootstrapSource, Bi as PublicGenerationDeclaration, Bn as JsonObject, Br as SpaceCommerceProductCreditBenefit, Bt as BatchUserProfilesResponse, Ci as SpaceRecord, Cn as CreateInvitationResponse, Cr as SessionTurnResponse, Ct as Fetch, Di as SpaceSandboxProvider, Dn as CreateSpacePromptResponse, Dr as SessionTurnsPaginatedResponse, Ei as SpaceSandboxConfig, En as CreateSpacePromptInput, Er as SessionTurnWindowResponse, Fi as UserRulesResponse, Fn as ExploreSpacesResponse, Fr as SpaceCommerceCreditsBenefit, Gn as LabelAssignmentRecord, Gr as SpaceDefaultResponse, Gt as BillingBalanceActivityStatus, Hn as JsonValue, Hr as SpaceConfigInput, Ht as BillingBalanceActivity, Ii as CreateGenerationTaskRequest, In as GlobalSearchResponse, Ir as SpaceCommerceFeatureBenefit, Jn as LabelResourceType, Jr as SpaceFsCompleteUploadResponse, Jt as BillingCheckoutActionState, Kn as LabelListItem, Kr as SpaceEnvInput, Kt as BillingCatalog, Li as CreateGenerationTaskResponse, Ln as GlobalSearchResult, Lr as SpaceCommerceOrder, Mi as TaskRunDetailResponse, Mn as CursorPageInfo, Mr as SpaceCheckpointDetailResponse, Ni as TaskRunRecord, Nn as ExploreSection, Nr as SpaceCommerceBenefit, Oi as SpaceSessionsResponse, On as CreateSpaceSessionInput, Or as SpaceAccess, Pi as UserProfile, Pn as ExploreSpaceItem, Pr as SpaceCommerceBuyerProfile, Qn as ModelCatalogEntry, Qr as SpaceFsEntry, Qt as BillingCreditGrantStatus, Ri as GenerationTaskResult, Rn as GlobalSearchType, Rr as SpaceCommerceProduct, Rt as AcceptInvitationResponse, Si as SpacePublicProfile, Sn as CreateInvitationInput, Sr as SessionTurnIndexResponse, St as CohubClientOptions, Ti as SpaceSandboxAutoDestroyPolicy, Tn as CreateSpaceModInput, Tr as SessionTurnStreamSnapshotResponse, Tt as HttpTransport, Ui as GenerationPolicy, Un as LabelAssignmentListItem, Ur as SpaceConfigResponse, Ut as BillingBalanceActivityKind, Vn as JsonPrimitive, Vr as SpaceConfig, Vt as BillingAccessWarning, Wn as LabelAssignmentPageInfo, Wr as SpaceCreateResponse, Wt as BillingBalanceActivityList, Xn as LabelSource, Xr as SpaceFsCreateUploadResponse, Xt as BillingConversionIntent, Yn as LabelScopeType, Yr as SpaceFsCreateUploadInput, Yt as BillingCheckoutResult, Zn as MeResponse, Zr as SpaceFsEncoding, Zt as BillingCreditExpiryGroup, _i as SpaceMember, _n as CanvasNodeRecord, _r as SessionBindingRecord, ai as SpaceFsReadFilesResponse, an as BillingProductCreditBenefit, ar as PublicUserProfile, bi as SpacePresenceSnapshot, bn as Channel, br as SessionMessagesResponse, ci as SpaceFsUploadEntry, cn as BillingProductPricing, cr as ReferenceAggregateResponse, di as SpaceFsUploadPlanEntryInput, dn as BillingSubscriptionHistoryStatus, dr as ReferenceQueryResponse, ea as ChannelConfig, ei as SpaceFsFileResponse, en as BillingCreditUnit, er as PatchResourceLabelsResponse, fi as SpaceFsUploadProgress, fn as BillingSubscriptionSummary, fr as ReferenceQueryableType, gi as SpaceListItem, gn as CanvasNodeInput, gr as SendMessageCronJobPayload, hi as SpaceInvitation, hn as CanvasDocumentRecord, hr as ResourceLabelsResponse, ii as SpaceFsReadFilesInput, in as BillingProductBillingInterval, ir as PromptTemplateCatalogResponse, ji as SpaceUsageSummary, jn as CronJobUpdatePatch, jr as SpaceChannelBindingInput, ki as SpaceUsageHourlyStat, kn as CronJobPayload, kr as SpaceAccessPolicy, li as SpaceFsUploadError, ln as BillingRedemptionResult, lr as ReferenceDirection, mi as SpaceFsWriteFileInput, mn as CanvasCreateInput, mr as ReferenceResourceType, n as createHttpClient, ni as SpaceFsPreparingFile, nn as BillingPaymentStatus, nr as PromptAccessMode, oi as SpaceFsTreeResponse, on as BillingProductDisplay, or as ReferenceAggregateGroup, pi as SpaceFsUploadResponse, pn as CanvasBootstrapResponse, pr as ReferenceRecord, qn as LabelRecord, qr as SpaceFsCompleteUploadInput, qt as BillingCatalogProduct, ri as SpaceFsReadFilesError, rn as BillingPluginStatus, rr as PromptTemplateCatalogEntry, si as SpaceFsUploadDestination, sn as BillingProductKind, sr as ReferenceAggregateGroupBy, t as CohubHttpClient, ta as DiscordChannelConfig, ti as SpaceFsMoveInput, tn as BillingHistoryPagination, tr as Permission, ui as SpaceFsUploadPlanEntry, un as BillingSubscriptionHistoryList, ur as ReferenceKind, vi as SpaceMeta, vn as CanvasSemanticOp, vr as SessionMessageResponse, wi as SpaceRole, wn as CreateSpaceInput, wr as SessionTurnSignedUrlsResponse, wt as HttpError, xi as SpacePresenceUser, xn as CheckpointRecord, xr as SessionRecord, yi as SpaceModListItem, yn as CanvasTransactionInput, yr as SessionMessagesPaginatedResponse, zi as ListGenerationModelsResponse, zn as InvitationDetail, zr as SpaceCommerceProductBenefitBinding, zt as ApiError } from "./chunks/http.js";
|
|
3
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 };
|
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 parseAssistantMessageCommit, $n as
|
|
4
|
+
import { $ as parseAssistantMessageCommit, $i as GenerationContentBlock, $n as PatchResourceLabelsInput, $r as SpaceFsFileKind, $t as BillingCreditStatus, A as TasksApi, Ai as SpaceUsageResponse, An as CronJobRecord, Ar as SpaceBootstrapSource, At as WorkRuntimeCheckoutState, B as GenerationStreamCommitEvent, Bi as PublicGenerationDeclaration, Bn as JsonObject, Br as SpaceCommerceProductCreditBenefit, Bt as BatchUserProfilesResponse, C as WorkStatus, Ci as SpaceRecord, Cn as CreateInvitationResponse, Cr as SessionTurnResponse, Ct as Fetch, D as WorkVisibility, Di as SpaceSandboxProvider, Dn as CreateSpacePromptResponse, Dr as SessionTurnsPaginatedResponse, Dt as ParentBridgeTransport, E as WorkVersionRecord, Ei as SpaceSandboxConfig, En as CreateSpacePromptInput, Er as SessionTurnWindowResponse, Et as RawHttpResponse, F as SpaceEventName, Fi as UserRulesResponse, Fn as ExploreSpacesResponse, Fr as SpaceCommerceCreditsBenefit, Ft as WorkRuntimeTransport, G as GenerationStreamLifecycleEvent, Gi as assertGenerationRequestAllowedByPolicy, Gn as LabelAssignmentRecord, Gr as SpaceDefaultResponse, Gt as BillingBalanceActivityStatus, H as GenerationStreamEvent, Hi as GenerationParameterConstraint, Hn as JsonValue, Hr as SpaceConfigInput, Ht as BillingBalanceActivity, I as SpacesApi, Ii as CreateGenerationTaskRequest, In as GlobalSearchResponse, Ir as SpaceCommerceFeatureBenefit, It as createWorkRuntime, J as GenerationStreamSubscribeOptions, Ji as filterGenerationDeclarationsByPolicy, Jn as LabelResourceType, Jr as SpaceFsCompleteUploadResponse, Jt as BillingCheckoutActionState, K as GenerationStreamOutOfSyncEvent, Ki as decodeGenerationPolicy, Kn as LabelListItem, Kr as SpaceEnvInput, Kt as BillingCatalog, L as WebSocketConnectionState, Li as CreateGenerationTaskResponse, Ln as GlobalSearchResult, Lr as SpaceCommerceOrder, Lt as resolveWorkTransport, M as SessionSubscriptionHandlers, Mi as TaskRunDetailResponse, Mn as CursorPageInfo, Mr as SpaceCheckpointDetailResponse, Mt as WorkRuntimeContext, N as SpaceChannelBindingRecord, Ni as TaskRunRecord, Nn as ExploreSection, Nr as SpaceCommerceBenefit, Nt as WorkRuntimeModeConfig, O as WorksApi, Oi as SpaceSessionsResponse, On as CreateSpaceSessionInput, Or as SpaceAccess, Ot as PopupBrokerTransport, P as SpaceClient, Pi as UserProfile, Pn as ExploreSpaceItem, Pr as SpaceCommerceBuyerProfile, Pt as WorkRuntimeRequestOptions, Q as createSessionGenerationStreamClient, Qi as parseGenerationPolicyFromEnv, Qn as ModelCatalogEntry, Qr as SpaceFsEntry, Qt as BillingCreditGrantStatus, R as PublicInviteApi, Ri as GenerationTaskResult, Rn as GlobalSearchType, Rr as SpaceCommerceProduct, Rt as AcceptInvitationResponse, S as WorkSessionResponse, Si as SpacePublicProfile, Sn as CreateInvitationInput, Sr as SessionTurnIndexResponse, St as CohubClientOptions, T as WorkUpdateInput, Ti as SpaceSandboxAutoDestroyPolicy, Tn as CreateSpaceModInput, Tr as SessionTurnStreamSnapshotResponse, Tt as HttpTransport, U as GenerationStreamFinalizedEvent, Ui as GenerationPolicy, Un as LabelAssignmentListItem, Ur as SpaceConfigResponse, Ut as BillingBalanceActivityKind, V as GenerationStreamErrorEvent, Vi as GenerationModelPolicy, Vn as JsonPrimitive, Vr as SpaceConfig, Vt as BillingAccessWarning, W as GenerationStreamIntermediateMessage, Wi as GenerationPolicyError, Wn as LabelAssignmentPageInfo, Wr as SpaceCreateResponse, Wt as BillingBalanceActivityList, X as GenerationStreamTurnUpdatedEvent, Xi as getAllowedGenerationModelIds, Xn as LabelSource, Xr as SpaceFsCreateUploadResponse, Xt as BillingConversionIntent, Y as GenerationStreamSubscriptionHandlers, Yi as findGenerationModelPolicy, Yn as LabelScopeType, Yr as SpaceFsCreateUploadInput, Yt as BillingCheckoutResult, Z as SessionGenerationStreamClient, Zi as normalizeGenerationPolicy, Zn as MeResponse, Zr as SpaceFsEncoding, Zt as BillingCreditExpiryGroup, _ as WorkPresentationMeta, _i as SpaceMember, _n as CanvasNodeRecord, _r as SessionBindingRecord, _t as PromptsApi, a as WorkCommerceCreditConsumeResponse, ai as SpaceFsReadFilesResponse, an as BillingProductCreditBenefit, ar as PublicUserProfile, at as createSessionPatchReducer, b as WorkRecord, bi as SpacePresenceSnapshot, bn as Channel, br as SessionMessagesResponse, bt as CronJobsApi, c as WorkCommerceEntitlementsResponse, ci as SpaceFsUploadEntry, cn as BillingProductPricing, cr as ReferenceAggregateResponse, ct as ReferencesApi, d as WorkCommercePurchaseResponse, di as SpaceFsUploadPlanEntryInput, dn as BillingSubscriptionHistoryStatus, dr as ReferenceQueryResponse, dt as CreatePublicAssetUploadResponse, ea as ChannelConfig, ei as SpaceFsFileResponse, en as BillingCreditUnit, er as PatchResourceLabelsResponse, et as SessionPatchApplyInput, f as WorkAuthorizeResponse, fi as SpaceFsUploadProgress, fn as BillingSubscriptionSummary, fr as ReferenceQueryableType, ft as PublicAssetMimeType, g as WorkMeta, gi as SpaceListItem, gn as CanvasNodeInput, gr as SendMessageCronJobPayload, gt as UploadPublicAssetInput, h as WorkGetResponse, hi as SpaceInvitation, hn as CanvasDocumentRecord, hr as ResourceLabelsResponse, ht as UploadChatImageAttachmentInput, i as WorkCommerceCheckoutStatus, ii as SpaceFsReadFilesInput, in as BillingProductBillingInterval, ir as PromptTemplateCatalogResponse, it as SessionPatchStatus, j as SessionEventName, ji as SpaceUsageSummary, jn as CronJobUpdatePatch, jr as SpaceChannelBindingInput, jt as WorkRuntimeCheckoutStatus, k as UserApi, ki as SpaceUsageHourlyStat, kn as CronJobPayload, kr as SpaceAccessPolicy, kt as WorkRuntimeApi, l as WorkCommerceOrder, li as SpaceFsUploadError, ln as BillingRedemptionResult, lr as ReferenceDirection, lt as SearchApi, m as WorkDetailResponse, mi as SpaceFsWriteFileInput, mn as CanvasCreateInput, mr as ReferenceResourceType, mt as PublicAssetsApi, n as createHttpClient, ni as SpaceFsPreparingFile, nn as BillingPaymentStatus, nr as PromptAccessMode, nt as SessionPatchReducer, o as WorkCommerceCreditConsumeStatus, oi as SpaceFsTreeResponse, on as BillingProductDisplay, or as ReferenceAggregateGroup, ot as SessionAccessApi, p as WorkCreateInput, pi as SpaceFsUploadResponse, pn as CanvasBootstrapResponse, pr as ReferenceRecord, pt as PublicAssetPurpose, q as GenerationStreamStateEvent, qi as encodeGenerationPolicy, qn as LabelRecord, qr as SpaceFsCompleteUploadInput, qt as BillingCatalogProduct, r as WorkCommerceApi, ri as SpaceFsReadFilesError, rn as BillingPluginStatus, rr as PromptTemplateCatalogEntry, rt as SessionPatchState, s as WorkCommerceEntitlement, si as SpaceFsUploadDestination, sn as BillingProductKind, sr as ReferenceAggregateGroupBy, st as ReferenceResourceSelector, t as CohubHttpClient, ta as DiscordChannelConfig, ti as SpaceFsMoveInput, tn as BillingHistoryPagination, tr as Permission, tt as SessionPatchApplyResult, u as WorkCommerceProductResolveResponse, ui as SpaceFsUploadPlanEntry, un as BillingSubscriptionHistoryList, ur as ReferenceKind, ut as CreatePublicAssetUploadInput, v as WorkPublicOwnerRecord, vi as SpaceMeta, vn as CanvasSemanticOp, vr as SessionMessageResponse, vt as ModelsApi, w as WorkTargetType, wi as SpaceRole, wn as CreateSpaceInput, wr as SessionTurnSignedUrlsResponse, wt as HttpError, x as WorkResolveResponse, xi as SpacePresenceUser, xn as CheckpointRecord, xr as SessionRecord, xt as ChannelsApi, y as WorkPublicSpaceRecord, yi as SpaceModListItem, yn as CanvasTransactionInput, yr as SessionMessagesPaginatedResponse, yt as GenerationsApi, z as AssistantMessageCommit, zi as ListGenerationModelsResponse, zn as InvitationDetail, zr as SpaceCommerceProductBenefitBinding, zt as ApiError } from "./chunks/http.js";
|
|
5
5
|
|
|
6
6
|
//#region src/apis/billing.d.ts
|
|
7
7
|
declare class BillingApi {
|
|
@@ -52,56 +52,6 @@ declare class BillingApi {
|
|
|
52
52
|
}>;
|
|
53
53
|
}
|
|
54
54
|
//#endregion
|
|
55
|
-
//#region src/work-runtime.d.ts
|
|
56
|
-
type WorkRuntimeContext = {
|
|
57
|
-
work: {
|
|
58
|
-
id: string;
|
|
59
|
-
slug: string;
|
|
60
|
-
url?: string | null;
|
|
61
|
-
};
|
|
62
|
-
space: {
|
|
63
|
-
id: string;
|
|
64
|
-
name?: string | null;
|
|
65
|
-
};
|
|
66
|
-
viewer?: {
|
|
67
|
-
userUuid: string;
|
|
68
|
-
} | null;
|
|
69
|
-
permissions?: {
|
|
70
|
-
scopes: Permission[];
|
|
71
|
-
workScopes: Permission[];
|
|
72
|
-
viewerScopes: Permission[];
|
|
73
|
-
};
|
|
74
|
-
};
|
|
75
|
-
type WorkRuntimeCheckoutStatus = "success" | "failed" | "cancel" | null;
|
|
76
|
-
type WorkRuntimeCheckoutState = {
|
|
77
|
-
status: WorkRuntimeCheckoutStatus;
|
|
78
|
-
orderId: string | null;
|
|
79
|
-
};
|
|
80
|
-
declare class WorkRuntimeApi {
|
|
81
|
-
private token;
|
|
82
|
-
context(): Promise<WorkRuntimeContext | null>;
|
|
83
|
-
getAccessToken(options?: {
|
|
84
|
-
forceRefresh?: boolean;
|
|
85
|
-
}): Promise<string | null>;
|
|
86
|
-
requestAuthorization(input: {
|
|
87
|
-
scopes: Permission[];
|
|
88
|
-
reason?: string;
|
|
89
|
-
}): Promise<boolean>;
|
|
90
|
-
purchase(input: {
|
|
91
|
-
productKey: string;
|
|
92
|
-
}): Promise<{
|
|
93
|
-
providerKey: string | null;
|
|
94
|
-
checkoutUrl: string | null;
|
|
95
|
-
checkoutUsable: boolean;
|
|
96
|
-
status: string | null;
|
|
97
|
-
message: string | null;
|
|
98
|
-
orderId: string;
|
|
99
|
-
productKey: string;
|
|
100
|
-
} | null>;
|
|
101
|
-
checkoutState(): Promise<WorkRuntimeCheckoutState | null>;
|
|
102
|
-
}
|
|
103
|
-
declare const createWorkRuntime: () => WorkRuntimeApi;
|
|
104
|
-
//#endregion
|
|
105
55
|
//#region src/apis/explore.d.ts
|
|
106
56
|
declare class ExploreApi {
|
|
107
57
|
private readonly transport;
|
|
@@ -191,4 +141,4 @@ declare function isHttpErrorCode(error: unknown, code: string): error is HttpErr
|
|
|
191
141
|
code: string;
|
|
192
142
|
};
|
|
193
143
|
//#endregion
|
|
194
|
-
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, PatchResourceLabelsInput, PatchResourceLabelsResponse, Permission, 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 WorkAuthorizeResponse, 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 WorkRecord, type WorkResolveResponse, WorkRuntimeApi, type WorkRuntimeCheckoutState, type WorkRuntimeCheckoutStatus, type WorkRuntimeContext, type WorkSessionResponse, type WorkStatus, type WorkTargetType, type WorkUpdateInput, type WorkVersionRecord, type WorkVisibility, WorksApi, assertGenerationRequestAllowedByPolicy, createCohubClient, createHttpClient, createSessionGenerationStreamClient, createSessionPatchReducer, createVoiceInputClient, createWebsocketClient, createWorkRuntime, decodeGenerationPolicy, encodeGenerationPolicy, filterGenerationDeclarationsByPolicy, findGenerationModelPolicy, getAllowedGenerationModelIds, isHttpErrorCode, normalizeBaseUrl, normalizeGenerationPolicy, normalizeVoiceInputWebsocketUrl, normalizeWebsocketUrl, parseAssistantMessageCommit, parseGenerationPolicyFromEnv, resolveApiBaseUrl, resolveCohubEnvironment, resolveVoiceInputWebsocketUrl, resolveWebsocketUrl };
|
|
144
|
+
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 WorkAuthorizeResponse, 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 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, createCohubClient, createHttpClient, createSessionGenerationStreamClient, createSessionPatchReducer, createVoiceInputClient, createWebsocketClient, createWorkRuntime, decodeGenerationPolicy, encodeGenerationPolicy, filterGenerationDeclarationsByPolicy, findGenerationModelPolicy, getAllowedGenerationModelIds, isHttpErrorCode, normalizeBaseUrl, normalizeGenerationPolicy, normalizeVoiceInputWebsocketUrl, normalizeWebsocketUrl, parseAssistantMessageCommit, parseGenerationPolicyFromEnv, resolveApiBaseUrl, resolveCohubEnvironment, resolveVoiceInputWebsocketUrl, resolveWebsocketUrl, resolveWorkTransport };
|
package/dist/index.js
CHANGED
|
@@ -109,84 +109,258 @@ const getParentOrigin = () => {
|
|
|
109
109
|
return null;
|
|
110
110
|
}
|
|
111
111
|
};
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
112
|
+
const generateRequestId = () => globalThis.crypto?.randomUUID?.() ?? `${Date.now()}-${Math.random()}`;
|
|
113
|
+
/**
|
|
114
|
+
* Bridge-mode transport: posts messages to `window.parent` (the Cohub host
|
|
115
|
+
* embedding the work in an iframe) and listens for the matching reply.
|
|
116
|
+
* Behaviorally identical to the previous module-level `request()` helper.
|
|
117
|
+
*/
|
|
118
|
+
var ParentBridgeTransport = class {
|
|
119
|
+
trustedParentOrigin = null;
|
|
120
|
+
request(message, options) {
|
|
121
|
+
const timeoutMs = options?.timeoutMs ?? 1200;
|
|
122
|
+
const retryIntervalMs = options?.retryIntervalMs;
|
|
123
|
+
if (!hasParent()) return Promise.resolve(null);
|
|
124
|
+
const requestId = generateRequestId();
|
|
125
|
+
return new Promise((resolve, reject) => {
|
|
126
|
+
let retryTimer = null;
|
|
127
|
+
const parentOrigin = this.trustedParentOrigin ?? getParentOrigin();
|
|
128
|
+
const postRequest = () => {
|
|
129
|
+
try {
|
|
130
|
+
window.parent.postMessage({
|
|
131
|
+
...message,
|
|
132
|
+
requestId
|
|
133
|
+
}, parentOrigin ?? "*");
|
|
134
|
+
} catch {
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
};
|
|
138
|
+
const cleanup = () => {
|
|
139
|
+
clearTimeout(timer);
|
|
140
|
+
if (retryTimer) clearInterval(retryTimer);
|
|
141
|
+
window.removeEventListener("message", onMessage);
|
|
142
|
+
};
|
|
143
|
+
const timer = setTimeout(() => {
|
|
144
|
+
cleanup();
|
|
145
|
+
resolve(null);
|
|
146
|
+
}, timeoutMs);
|
|
147
|
+
const onMessage = (event) => {
|
|
148
|
+
if (event.source !== window.parent) return;
|
|
149
|
+
if (parentOrigin && event.origin !== parentOrigin) return;
|
|
150
|
+
const data = event.data;
|
|
151
|
+
if (!data || data.requestId !== requestId) return;
|
|
152
|
+
cleanup();
|
|
153
|
+
this.trustedParentOrigin = event.origin;
|
|
154
|
+
if (data.type === "cohub.work.error") {
|
|
155
|
+
reject(new Error(data.message));
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
158
|
+
resolve(data);
|
|
159
|
+
};
|
|
160
|
+
window.addEventListener("message", onMessage);
|
|
161
|
+
postRequest();
|
|
162
|
+
if (retryIntervalMs) retryTimer = setInterval(postRequest, retryIntervalMs);
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
};
|
|
166
|
+
/**
|
|
167
|
+
* Broker-mode transport for standalone-deployed works. Opens a popup window to
|
|
168
|
+
* the Cohub auth broker page, performs a ready-handshake, sends the request via
|
|
169
|
+
* postMessage, and resolves with the broker's response. The popup is closed
|
|
170
|
+
* after a single request is fulfilled (one-shot, per §7.2 of the plan).
|
|
171
|
+
*
|
|
172
|
+
* Non-interactive messages (`context`, `checkout-state`) are answered locally
|
|
173
|
+
* without opening a popup — the work already knows its own workId, and
|
|
174
|
+
* checkout state is not available on the work's own origin in broker mode.
|
|
175
|
+
*/
|
|
176
|
+
var PopupBrokerTransport = class {
|
|
177
|
+
brokerOrigin;
|
|
178
|
+
workId;
|
|
179
|
+
constructor(config) {
|
|
180
|
+
this.brokerOrigin = config.brokerOrigin;
|
|
181
|
+
this.workId = config.workId;
|
|
182
|
+
}
|
|
183
|
+
request(message, options) {
|
|
184
|
+
if (message.type === "cohub.work.context") return Promise.resolve({
|
|
185
|
+
type: "cohub.work.context.result",
|
|
186
|
+
context: {
|
|
187
|
+
work: {
|
|
188
|
+
id: this.workId,
|
|
189
|
+
slug: "",
|
|
190
|
+
url: null
|
|
191
|
+
},
|
|
192
|
+
space: { id: "" },
|
|
193
|
+
permissions: {
|
|
194
|
+
scopes: [],
|
|
195
|
+
workScopes: [],
|
|
196
|
+
viewerScopes: []
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
});
|
|
200
|
+
if (message.type === "cohub.work.checkout-state") return Promise.resolve({
|
|
201
|
+
type: "cohub.work.checkout-state.result",
|
|
202
|
+
status: null,
|
|
203
|
+
orderId: null
|
|
204
|
+
});
|
|
205
|
+
const timeoutMs = options?.timeoutMs ?? 12e4;
|
|
206
|
+
const requestId = generateRequestId();
|
|
207
|
+
return new Promise((resolve, reject) => {
|
|
208
|
+
if (typeof window === "undefined" || typeof window.open !== "function") {
|
|
209
|
+
resolve(null);
|
|
126
210
|
return;
|
|
127
211
|
}
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
if (
|
|
132
|
-
|
|
133
|
-
};
|
|
134
|
-
const timer = setTimeout(() => {
|
|
135
|
-
cleanup();
|
|
136
|
-
resolve(null);
|
|
137
|
-
}, timeoutMs);
|
|
138
|
-
const onMessage = (event) => {
|
|
139
|
-
if (event.source !== window.parent) return;
|
|
140
|
-
if (parentOrigin && event.origin !== parentOrigin) return;
|
|
141
|
-
const data = event.data;
|
|
142
|
-
if (!data || data.requestId !== requestId) return;
|
|
143
|
-
cleanup();
|
|
144
|
-
trustedParentOrigin = event.origin;
|
|
145
|
-
if (data.type === "cohub.work.error") {
|
|
146
|
-
reject(new Error(data.message));
|
|
212
|
+
const workOrigin = window.location.origin;
|
|
213
|
+
const brokerUrl = `${this.brokerOrigin}/work-auth?work=${encodeURIComponent(this.workId)}&origin=${encodeURIComponent(workOrigin)}`;
|
|
214
|
+
const popup = window.open(brokerUrl, "cohub-work-auth", "popup,width=480,height=640");
|
|
215
|
+
if (!popup) {
|
|
216
|
+
reject(/* @__PURE__ */ new Error("Failed to open authorization window. Please allow popups for this site."));
|
|
147
217
|
return;
|
|
148
218
|
}
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
219
|
+
let ready = false;
|
|
220
|
+
let settled = false;
|
|
221
|
+
let timer = null;
|
|
222
|
+
let closeChecker = null;
|
|
223
|
+
const finish = (fn) => {
|
|
224
|
+
if (settled) return;
|
|
225
|
+
settled = true;
|
|
226
|
+
if (timer) clearTimeout(timer);
|
|
227
|
+
if (closeChecker) clearInterval(closeChecker);
|
|
228
|
+
window.removeEventListener("message", onMessage);
|
|
229
|
+
try {
|
|
230
|
+
popup.close();
|
|
231
|
+
} catch {}
|
|
232
|
+
fn();
|
|
233
|
+
};
|
|
234
|
+
timer = setTimeout(() => {
|
|
235
|
+
finish(() => {
|
|
236
|
+
if (!ready) reject(/* @__PURE__ */ new Error("Authorization window did not respond in time."));
|
|
237
|
+
else resolve(null);
|
|
238
|
+
});
|
|
239
|
+
}, timeoutMs);
|
|
240
|
+
const onMessage = (event) => {
|
|
241
|
+
if (event.source !== popup) return;
|
|
242
|
+
if (event.origin !== this.brokerOrigin) return;
|
|
243
|
+
const data = event.data;
|
|
244
|
+
if (!data) return;
|
|
245
|
+
if (data.type === "cohub.work.broker.ready" && !ready) {
|
|
246
|
+
ready = true;
|
|
247
|
+
try {
|
|
248
|
+
popup.postMessage({
|
|
249
|
+
...message,
|
|
250
|
+
requestId
|
|
251
|
+
}, this.brokerOrigin);
|
|
252
|
+
} catch {
|
|
253
|
+
finish(() => reject(/* @__PURE__ */ new Error("Failed to send request to authorization window.")));
|
|
254
|
+
}
|
|
255
|
+
return;
|
|
256
|
+
}
|
|
257
|
+
if (data.requestId !== requestId) return;
|
|
258
|
+
finish(() => {
|
|
259
|
+
if (data.type === "cohub.work.error") {
|
|
260
|
+
reject(new Error(data.message));
|
|
261
|
+
return;
|
|
262
|
+
}
|
|
263
|
+
resolve(data);
|
|
264
|
+
});
|
|
265
|
+
};
|
|
266
|
+
window.addEventListener("message", onMessage);
|
|
267
|
+
closeChecker = setInterval(() => {
|
|
268
|
+
if (popup.closed) finish(() => {
|
|
269
|
+
if (!ready) reject(/* @__PURE__ */ new Error("Authorization window was closed."));
|
|
270
|
+
else resolve(null);
|
|
271
|
+
});
|
|
272
|
+
}, 500);
|
|
273
|
+
});
|
|
274
|
+
}
|
|
155
275
|
};
|
|
276
|
+
const TOKEN_STORAGE_PREFIX = "cohub:work-token";
|
|
156
277
|
var WorkRuntimeApi = class {
|
|
157
278
|
token = null;
|
|
279
|
+
transport;
|
|
280
|
+
tokenStorageKey;
|
|
281
|
+
constructor(transport = new ParentBridgeTransport(), workId) {
|
|
282
|
+
this.transport = transport;
|
|
283
|
+
this.tokenStorageKey = workId ? `${TOKEN_STORAGE_PREFIX}:${workId}` : null;
|
|
284
|
+
this.token = this.readStoredToken();
|
|
285
|
+
}
|
|
286
|
+
readStoredToken() {
|
|
287
|
+
if (!this.tokenStorageKey || typeof localStorage === "undefined") return null;
|
|
288
|
+
try {
|
|
289
|
+
return localStorage.getItem(this.tokenStorageKey);
|
|
290
|
+
} catch {
|
|
291
|
+
return null;
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
writeStoredToken(token) {
|
|
295
|
+
if (!this.tokenStorageKey || typeof localStorage === "undefined") return;
|
|
296
|
+
try {
|
|
297
|
+
if (token) localStorage.setItem(this.tokenStorageKey, token);
|
|
298
|
+
else localStorage.removeItem(this.tokenStorageKey);
|
|
299
|
+
} catch {}
|
|
300
|
+
}
|
|
158
301
|
async context() {
|
|
159
|
-
return (await request({ type: "cohub.work.context" },
|
|
302
|
+
return (await this.transport.request({ type: "cohub.work.context" }, {
|
|
303
|
+
timeoutMs: 8e3,
|
|
304
|
+
retryIntervalMs: 250
|
|
305
|
+
}))?.context ?? null;
|
|
160
306
|
}
|
|
161
307
|
async getAccessToken(options) {
|
|
162
308
|
if (this.token && !options?.forceRefresh) return this.token;
|
|
163
|
-
|
|
309
|
+
if (options?.forceRefresh) {
|
|
310
|
+
this.token = null;
|
|
311
|
+
this.writeStoredToken(null);
|
|
312
|
+
}
|
|
313
|
+
const response = await this.transport.request({
|
|
164
314
|
type: "cohub.work.token",
|
|
165
315
|
forceRefresh: Boolean(options?.forceRefresh)
|
|
166
|
-
}, 2e4);
|
|
316
|
+
}, { timeoutMs: 2e4 });
|
|
167
317
|
this.token = response?.token ?? null;
|
|
318
|
+
this.writeStoredToken(this.token);
|
|
168
319
|
return this.token;
|
|
169
320
|
}
|
|
170
321
|
async requestAuthorization(input) {
|
|
171
|
-
const response = await request({
|
|
322
|
+
const response = await this.transport.request({
|
|
172
323
|
type: "cohub.work.authorize",
|
|
173
324
|
scopes: input.scopes,
|
|
174
325
|
reason: input.reason
|
|
175
|
-
}, 12e4);
|
|
326
|
+
}, { timeoutMs: 12e4 });
|
|
176
327
|
this.token = response?.token ?? null;
|
|
328
|
+
this.writeStoredToken(this.token);
|
|
177
329
|
return Boolean(this.token);
|
|
178
330
|
}
|
|
179
331
|
async purchase(input) {
|
|
180
|
-
return (await request({
|
|
332
|
+
return (await this.transport.request({
|
|
181
333
|
type: "cohub.work.purchase",
|
|
182
334
|
productKey: input.productKey
|
|
183
|
-
}, 12e4))?.checkout ?? null;
|
|
335
|
+
}, { timeoutMs: 12e4 }))?.checkout ?? null;
|
|
184
336
|
}
|
|
185
337
|
async checkoutState() {
|
|
186
|
-
return await request({ type: "cohub.work.checkout-state" },
|
|
338
|
+
return await this.transport.request({ type: "cohub.work.checkout-state" }, {
|
|
339
|
+
timeoutMs: 8e3,
|
|
340
|
+
retryIntervalMs: 250
|
|
341
|
+
}) ?? null;
|
|
187
342
|
}
|
|
188
343
|
};
|
|
189
|
-
|
|
344
|
+
/**
|
|
345
|
+
* Resolves the appropriate transport based on the work mode configuration.
|
|
346
|
+
* Auto-detection: inside an iframe → bridge; standalone with broker config →
|
|
347
|
+
* broker; otherwise → bridge (returns null for non-work contexts).
|
|
348
|
+
*/
|
|
349
|
+
function resolveWorkTransport(config) {
|
|
350
|
+
const explicitMode = config?.mode;
|
|
351
|
+
const brokerOrigin = config?.brokerOrigin;
|
|
352
|
+
const workId = config?.workId;
|
|
353
|
+
const hasBrokerConfig = Boolean(brokerOrigin && workId);
|
|
354
|
+
const createBroker = () => brokerOrigin && workId ? new PopupBrokerTransport({
|
|
355
|
+
brokerOrigin,
|
|
356
|
+
workId
|
|
357
|
+
}) : new ParentBridgeTransport();
|
|
358
|
+
if (explicitMode === "bridge") return new ParentBridgeTransport();
|
|
359
|
+
if (explicitMode === "broker") return createBroker();
|
|
360
|
+
if (typeof window !== "undefined" && window.parent !== window) return new ParentBridgeTransport();
|
|
361
|
+
return hasBrokerConfig ? createBroker() : new ParentBridgeTransport();
|
|
362
|
+
}
|
|
363
|
+
const createWorkRuntime = (transport, workId) => new WorkRuntimeApi(transport, workId);
|
|
190
364
|
//#endregion
|
|
191
365
|
//#region src/client.ts
|
|
192
366
|
var CohubClient = class {
|
|
@@ -214,7 +388,8 @@ var CohubClient = class {
|
|
|
214
388
|
workRuntime;
|
|
215
389
|
constructor(options = {}) {
|
|
216
390
|
const apiBaseUrl = resolveApiBaseUrl(options);
|
|
217
|
-
|
|
391
|
+
const workTransport = resolveWorkTransport(options.work);
|
|
392
|
+
this.workRuntime = createWorkRuntime(workTransport, options.work?.workId);
|
|
218
393
|
const getAccessToken = options.getAccessToken ?? ((tokenOptions) => this.workRuntime.getAccessToken(tokenOptions));
|
|
219
394
|
const resolvedOptions = {
|
|
220
395
|
...options,
|
|
@@ -576,4 +751,4 @@ function filterGenerationDeclarationsByPolicy(declarations, policy) {
|
|
|
576
751
|
});
|
|
577
752
|
}
|
|
578
753
|
//#endregion
|
|
579
|
-
export { BillingApi, COHUB_ENVIRONMENTS, CohubClient, CohubHttpClient, GenerationPolicyError, HttpError, ReferencesApi, SessionGenerationStreamClient, SessionPatchReducer, UsersApi, VoiceApi, VoiceInputClient, WebsocketClient, WorkCommerceApi, WorkRuntimeApi, WorksApi, assertGenerationRequestAllowedByPolicy, createCohubClient, createHttpClient, createSessionGenerationStreamClient, createSessionPatchReducer, createVoiceInputClient, createWebsocketClient, createWorkRuntime, decodeGenerationPolicy, encodeGenerationPolicy, filterGenerationDeclarationsByPolicy, findGenerationModelPolicy, getAllowedGenerationModelIds, isHttpErrorCode, normalizeBaseUrl, normalizeGenerationPolicy, normalizeVoiceInputWebsocketUrl, normalizeWebsocketUrl, parseAssistantMessageCommit, parseGenerationPolicyFromEnv, resolveApiBaseUrl, resolveCohubEnvironment, resolveVoiceInputWebsocketUrl, resolveWebsocketUrl };
|
|
754
|
+
export { BillingApi, COHUB_ENVIRONMENTS, CohubClient, CohubHttpClient, GenerationPolicyError, HttpError, ParentBridgeTransport, PopupBrokerTransport, ReferencesApi, SessionGenerationStreamClient, SessionPatchReducer, UsersApi, VoiceApi, VoiceInputClient, WebsocketClient, WorkCommerceApi, WorkRuntimeApi, WorksApi, assertGenerationRequestAllowedByPolicy, createCohubClient, createHttpClient, createSessionGenerationStreamClient, createSessionPatchReducer, createVoiceInputClient, createWebsocketClient, createWorkRuntime, decodeGenerationPolicy, encodeGenerationPolicy, filterGenerationDeclarationsByPolicy, findGenerationModelPolicy, getAllowedGenerationModelIds, isHttpErrorCode, normalizeBaseUrl, normalizeGenerationPolicy, normalizeVoiceInputWebsocketUrl, normalizeWebsocketUrl, parseAssistantMessageCommit, parseGenerationPolicyFromEnv, resolveApiBaseUrl, resolveCohubEnvironment, resolveVoiceInputWebsocketUrl, resolveWebsocketUrl, resolveWorkTransport };
|