@neta-art/cohub 1.27.1 → 1.28.1
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 +14 -4
- package/dist/chunks/http.js +7 -1
- package/dist/index.d.ts +20 -2
- package/dist/index.js +37 -11
- package/package.json +1 -1
package/dist/chunks/http.d.ts
CHANGED
|
@@ -1200,7 +1200,7 @@ type ExploreSpacesResponse = {
|
|
|
1200
1200
|
sections: ExploreSection[];
|
|
1201
1201
|
spaces: ExploreSpaceItem[];
|
|
1202
1202
|
};
|
|
1203
|
-
type Permission = "space.view" | "space.edit" | "space.label.view" | "space.label.manage" | "space.label.assign" | "session.view" | "session.edit" | "session.prompt.readonly" | "session.prompt.fullaccess" | "file.view" | "file.view.filtered" | "file.edit" | "checkpoint.view" | "checkpoint.edit" | "member.view" | "member.manage" | "channel.view" | "channel.manage" | "cronjob.view" | "cronjob.manage" | "taskrun.view" | "sandbox.view" | "sandbox.manage" | "mod.view" | "mod.manage";
|
|
1203
|
+
type Permission = "space.view" | "space.edit" | "space.label.view" | "space.label.manage" | "space.label.assign" | "session.view" | "session.edit" | "session.prompt.readonly" | "session.prompt.fullaccess" | "generation.create" | "file.view" | "file.view.filtered" | "file.edit" | "checkpoint.view" | "checkpoint.edit" | "member.view" | "member.manage" | "channel.view" | "channel.manage" | "cronjob.view" | "cronjob.manage" | "taskrun.view" | "sandbox.view" | "sandbox.manage" | "mod.view" | "mod.manage";
|
|
1204
1204
|
type SpaceAccess = {
|
|
1205
1205
|
role: SpaceRole | null;
|
|
1206
1206
|
permissions: Permission[];
|
|
@@ -2006,6 +2006,18 @@ declare class SpaceCheckpointApi {
|
|
|
2006
2006
|
constructor(transport: HttpTransport, spaceId: string, id: string);
|
|
2007
2007
|
get(customFetch?: Fetch): Promise<SpaceCheckpointDetailResponse>;
|
|
2008
2008
|
}
|
|
2009
|
+
type CheckpointListPageInfo = {
|
|
2010
|
+
hasMore: boolean;
|
|
2011
|
+
nextCursor: string | null;
|
|
2012
|
+
};
|
|
2013
|
+
type CheckpointListOptions = {
|
|
2014
|
+
limit?: number;
|
|
2015
|
+
cursor?: string | null;
|
|
2016
|
+
};
|
|
2017
|
+
type CheckpointListResponse = {
|
|
2018
|
+
checkpoints: CheckpointRecord[];
|
|
2019
|
+
pageInfo?: CheckpointListPageInfo;
|
|
2020
|
+
};
|
|
2009
2021
|
type SpaceCheckpointsApi = ((checkpointId: string) => SpaceCheckpointApi) & {
|
|
2010
2022
|
checkpoint: (checkpointId: string) => SpaceCheckpointApi;
|
|
2011
2023
|
latest: () => SpaceCheckpointApi;
|
|
@@ -2014,9 +2026,7 @@ type SpaceCheckpointsApi = ((checkpointId: string) => SpaceCheckpointApi) & {
|
|
|
2014
2026
|
taskRunId: string;
|
|
2015
2027
|
existing?: boolean;
|
|
2016
2028
|
}>;
|
|
2017
|
-
list: () => Promise<
|
|
2018
|
-
checkpoints: CheckpointRecord[];
|
|
2019
|
-
}>;
|
|
2029
|
+
list: (options?: CheckpointListOptions) => Promise<CheckpointListResponse>;
|
|
2020
2030
|
get: (checkpointId: string, customFetch?: Fetch) => Promise<SpaceCheckpointDetailResponse>;
|
|
2021
2031
|
};
|
|
2022
2032
|
declare class SpaceClient {
|
package/dist/chunks/http.js
CHANGED
|
@@ -1856,7 +1856,13 @@ function createSpaceCheckpointsApi(transport, spaceId) {
|
|
|
1856
1856
|
headers: { "Content-Type": "application/json" },
|
|
1857
1857
|
body: JSON.stringify({ description: description ?? null })
|
|
1858
1858
|
}),
|
|
1859
|
-
list: () =>
|
|
1859
|
+
list: (options) => {
|
|
1860
|
+
const params = new URLSearchParams();
|
|
1861
|
+
if (options?.limit !== void 0) params.set("limit", String(options.limit));
|
|
1862
|
+
if (options?.cursor) params.set("cursor", options.cursor);
|
|
1863
|
+
const query = params.toString();
|
|
1864
|
+
return transport.request(`/api/spaces/${spaceId}/checkpoints${query ? `?${query}` : ""}`);
|
|
1865
|
+
},
|
|
1860
1866
|
get: (checkpointId, customFetch) => checkpoint(checkpointId).get(customFetch)
|
|
1861
1867
|
});
|
|
1862
1868
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -100,7 +100,7 @@ declare class UsersApi {
|
|
|
100
100
|
//#endregion
|
|
101
101
|
//#region src/apis/works.d.ts
|
|
102
102
|
type WorkTargetType = "file" | "directory" | "port";
|
|
103
|
-
type WorkStatus = "draft" | "published";
|
|
103
|
+
type WorkStatus = "draft" | "published" | "disabled";
|
|
104
104
|
type WorkRecord = {
|
|
105
105
|
id: string;
|
|
106
106
|
spaceId: string;
|
|
@@ -128,6 +128,15 @@ type WorkCreateInput = {
|
|
|
128
128
|
allowedViewerScopes?: Permission[];
|
|
129
129
|
meta?: Record<string, unknown> | null;
|
|
130
130
|
};
|
|
131
|
+
type WorkUpdateInput = Partial<{
|
|
132
|
+
slug: string;
|
|
133
|
+
status: WorkStatus;
|
|
134
|
+
targetType: WorkTargetType;
|
|
135
|
+
targetRef: string;
|
|
136
|
+
workScopes: Permission[];
|
|
137
|
+
allowedViewerScopes: Permission[];
|
|
138
|
+
meta: Record<string, unknown> | null;
|
|
139
|
+
}>;
|
|
131
140
|
type WorkContent = {
|
|
132
141
|
url: string;
|
|
133
142
|
targetType: "port";
|
|
@@ -157,6 +166,9 @@ declare class WorksApi {
|
|
|
157
166
|
listBySpace(spaceId: string): Promise<{
|
|
158
167
|
works: WorkRecord[];
|
|
159
168
|
}>;
|
|
169
|
+
get(id: string): Promise<{
|
|
170
|
+
work: WorkRecord;
|
|
171
|
+
}>;
|
|
160
172
|
getBySlug(username: string, spaceSlug: string, workSlug: string): Promise<{
|
|
161
173
|
work: WorkRecord;
|
|
162
174
|
space: {
|
|
@@ -177,6 +189,12 @@ declare class WorksApi {
|
|
|
177
189
|
create(input: WorkCreateInput): Promise<{
|
|
178
190
|
work: WorkRecord;
|
|
179
191
|
}>;
|
|
192
|
+
update(id: string, input: WorkUpdateInput): Promise<{
|
|
193
|
+
work: WorkRecord;
|
|
194
|
+
}>;
|
|
195
|
+
delete(id: string): Promise<{
|
|
196
|
+
ok: true;
|
|
197
|
+
}>;
|
|
180
198
|
createSession(workId: string): Promise<WorkSessionResponse>;
|
|
181
199
|
authorize(workId: string, input: {
|
|
182
200
|
scopes: Permission[];
|
|
@@ -219,4 +237,4 @@ declare class CohubClient {
|
|
|
219
237
|
}
|
|
220
238
|
declare const createCohubClient: (options?: CohubClientOptions) => CohubClient;
|
|
221
239
|
//#endregion
|
|
222
|
-
export { AcceptInvitationResponse, ApiError, type AssistantMessageCommit, BatchUserProfilesResponse, BillingAccessWarning, BillingApi, BillingBalanceActivity, BillingBalanceActivityKind, BillingBalanceActivityList, BillingBalanceActivityStatus, BillingCatalog, BillingCatalogProduct, BillingCheckoutActionState, BillingCheckoutResult, BillingConversionIntent, BillingCreditExpiryGroup, BillingCreditGrantStatus, BillingCreditStatus, BillingCreditUnit, BillingHistoryPagination, BillingPaymentStatus, BillingPluginStatus, BillingProductBillingInterval, BillingProductCreditBenefit, BillingProductDisplay, BillingProductKind, BillingProductPricing, BillingRedemptionResult, BillingSubscriptionHistoryList, BillingSubscriptionHistoryStatus, BillingSubscriptionSummary, COHUB_ENVIRONMENTS, CanvasBootstrapResponse, CanvasCreateInput, CanvasDocumentRecord, CanvasNodeInput, CanvasNodeRecord, CanvasSemanticOp, CanvasTransactionInput, Channel, type ChannelConfig, type ChannelEnvelope, CheckpointRecord, CohubClient, type CohubClientOptions, type CohubEnvironment, CohubHttpClient, type ContentBlock, type CreateGenerationTaskRequest, type CreateGenerationTaskResponse, CreateInvitationInput, CreateInvitationResponse, type CreatePublicAssetUploadInput, type CreatePublicAssetUploadResponse, CreateSpaceInput, CreateSpaceModInput, CreateSpacePromptInput, CreateSpacePromptResponse, CreateSpaceSessionInput, CronJobPayload, CronJobRecord, CronJobUpdatePatch, CursorPageInfo, type DiscordChannelConfig, ExploreSection, ExploreSpaceItem, ExploreSpacesResponse, type Fetch, type GenerationContentBlock, type GenerationModelPolicy, type GenerationParameterConstraint, type GenerationPolicy, GenerationPolicyError, type GenerationStreamCommitEvent, type GenerationStreamErrorEvent, type GenerationStreamEvent, type GenerationStreamFinalizedEvent, type GenerationStreamIntermediateMessage, type GenerationStreamLifecycleEvent, type GenerationStreamOutOfSyncEvent, type GenerationStreamStateEvent, type GenerationStreamSubscriptionHandlers, type GenerationStreamTurnUpdatedEvent, type GenerationTaskResult, GlobalSearchResponse, GlobalSearchResult, GlobalSearchType, HttpError, InvitationDetail, JsonObject, JsonPrimitive, JsonValue, LabelAssignmentListItem, LabelAssignmentPageInfo, LabelAssignmentRecord, type LabelAssignmentsUpdatedEvent, LabelListItem, LabelRecord, LabelResourceType, LabelScopeType, LabelSource, type ListGenerationModelsResponse, MeResponse, type MessageRecord, ModelCatalogEntry, Permission, PromptAccessMode, PromptTemplateCatalogEntry, PromptTemplateCatalogResponse, type PublicAssetPurpose, type PublicGenerationDeclaration, PublicUserProfile, type RawHttpResponse, type RealtimeServerEvent, ResourceLabelsResponse, SendMessageCronJobPayload, SessionBindingRecord, type SessionEventName, type SessionForkRecord, SessionGenerationStreamClient, SessionMessageResponse, SessionMessagesPaginatedResponse, SessionMessagesResponse, type SessionPatchApplyInput, type SessionPatchApplyResult, SessionPatchReducer, type SessionPatchState, type SessionPatchStatus, SessionRecord, type SessionSubscriptionHandlers, type SessionTurnIndexItem, SessionTurnIndexResponse, type SessionTurnRecord, SessionTurnResponse, type SessionTurnSegmentRecord, SessionTurnSignedUrlsResponse, SessionTurnStreamSnapshotResponse, SessionTurnWindowResponse, SessionTurnsPaginatedResponse, SpaceAccess, SpaceAccessPolicy, SpaceBootstrapSource, SpaceChannelBindingInput, type SpaceChannelBindingRecord, SpaceCheckpointDetailResponse, SpaceConfig, SpaceConfigInput, SpaceConfigResponse, SpaceCreateResponse, SpaceEnvInput, type SpaceEventName, SpaceFsCompleteUploadInput, SpaceFsCompleteUploadResponse, SpaceFsCreateUploadInput, SpaceFsCreateUploadResponse, SpaceFsEncoding, SpaceFsEntry, SpaceFsFileKind, SpaceFsFileResponse, SpaceFsMoveInput, SpaceFsPreparingFile, SpaceFsReadFilesError, SpaceFsReadFilesInput, SpaceFsReadFilesResponse, SpaceFsTreeResponse, SpaceFsUploadDestination, SpaceFsUploadEntry, SpaceFsUploadError, SpaceFsUploadPlanEntry, SpaceFsUploadPlanEntryInput, SpaceFsUploadProgress, SpaceFsUploadResponse, SpaceFsWriteFileInput, SpaceInvitation, SpaceListItem, SpaceMember, SpaceMeta, SpaceModListItem, SpacePublicProfile, SpaceRecord, SpaceRole, SpaceSandboxAutoDestroyPolicy, SpaceSandboxConfig, SpaceSessionsResponse, SpaceUsageHourlyStat, SpaceUsageResponse, SpaceUsageSummary, TaskRunDetailResponse, TaskRunRecord, UserProfile, UserRulesResponse, UsersApi, VoiceApi, type VoiceInputCallbacks, VoiceInputClient, type VoiceInputClientOptions, type VoiceInputCreateOptions, type VoiceInputEvent, type WebSocketConnectionState, WebsocketClient, type WorkAuthorizeResponse, type WorkCreateInput, type WorkRecord, WorkRuntimeApi, type WorkRuntimeContext, type WorkSessionResponse, type WorkStatus, type WorkTargetType, WorksApi, assertGenerationRequestAllowedByPolicy, createCohubClient, createHttpClient, createSessionGenerationStreamClient, createSessionPatchReducer, createVoiceInputClient, createWebsocketClient, createWorkRuntime, decodeGenerationPolicy, encodeGenerationPolicy, filterGenerationDeclarationsByPolicy, findGenerationModelPolicy, getAllowedGenerationModelIds, normalizeBaseUrl, normalizeGenerationPolicy, normalizeVoiceInputWebsocketUrl, normalizeWebsocketUrl, parseAssistantMessageCommit, parseGenerationPolicyFromEnv, resolveApiBaseUrl, resolveCohubEnvironment, resolveVoiceInputWebsocketUrl, resolveWebsocketUrl };
|
|
240
|
+
export { AcceptInvitationResponse, ApiError, type AssistantMessageCommit, BatchUserProfilesResponse, BillingAccessWarning, BillingApi, BillingBalanceActivity, BillingBalanceActivityKind, BillingBalanceActivityList, BillingBalanceActivityStatus, BillingCatalog, BillingCatalogProduct, BillingCheckoutActionState, BillingCheckoutResult, BillingConversionIntent, BillingCreditExpiryGroup, BillingCreditGrantStatus, BillingCreditStatus, BillingCreditUnit, BillingHistoryPagination, BillingPaymentStatus, BillingPluginStatus, BillingProductBillingInterval, BillingProductCreditBenefit, BillingProductDisplay, BillingProductKind, BillingProductPricing, BillingRedemptionResult, BillingSubscriptionHistoryList, BillingSubscriptionHistoryStatus, BillingSubscriptionSummary, COHUB_ENVIRONMENTS, CanvasBootstrapResponse, CanvasCreateInput, CanvasDocumentRecord, CanvasNodeInput, CanvasNodeRecord, CanvasSemanticOp, CanvasTransactionInput, Channel, type ChannelConfig, type ChannelEnvelope, CheckpointRecord, CohubClient, type CohubClientOptions, type CohubEnvironment, CohubHttpClient, type ContentBlock, type CreateGenerationTaskRequest, type CreateGenerationTaskResponse, CreateInvitationInput, CreateInvitationResponse, type CreatePublicAssetUploadInput, type CreatePublicAssetUploadResponse, CreateSpaceInput, CreateSpaceModInput, CreateSpacePromptInput, CreateSpacePromptResponse, CreateSpaceSessionInput, CronJobPayload, CronJobRecord, CronJobUpdatePatch, CursorPageInfo, type DiscordChannelConfig, ExploreSection, ExploreSpaceItem, ExploreSpacesResponse, type Fetch, type GenerationContentBlock, type GenerationModelPolicy, type GenerationParameterConstraint, type GenerationPolicy, GenerationPolicyError, type GenerationStreamCommitEvent, type GenerationStreamErrorEvent, type GenerationStreamEvent, type GenerationStreamFinalizedEvent, type GenerationStreamIntermediateMessage, type GenerationStreamLifecycleEvent, type GenerationStreamOutOfSyncEvent, type GenerationStreamStateEvent, type GenerationStreamSubscriptionHandlers, type GenerationStreamTurnUpdatedEvent, type GenerationTaskResult, GlobalSearchResponse, GlobalSearchResult, GlobalSearchType, HttpError, InvitationDetail, JsonObject, JsonPrimitive, JsonValue, LabelAssignmentListItem, LabelAssignmentPageInfo, LabelAssignmentRecord, type LabelAssignmentsUpdatedEvent, LabelListItem, LabelRecord, LabelResourceType, LabelScopeType, LabelSource, type ListGenerationModelsResponse, MeResponse, type MessageRecord, ModelCatalogEntry, Permission, PromptAccessMode, PromptTemplateCatalogEntry, PromptTemplateCatalogResponse, type PublicAssetPurpose, type PublicGenerationDeclaration, PublicUserProfile, type RawHttpResponse, type RealtimeServerEvent, ResourceLabelsResponse, SendMessageCronJobPayload, SessionBindingRecord, type SessionEventName, type SessionForkRecord, SessionGenerationStreamClient, SessionMessageResponse, SessionMessagesPaginatedResponse, SessionMessagesResponse, type SessionPatchApplyInput, type SessionPatchApplyResult, SessionPatchReducer, type SessionPatchState, type SessionPatchStatus, SessionRecord, type SessionSubscriptionHandlers, type SessionTurnIndexItem, SessionTurnIndexResponse, type SessionTurnRecord, SessionTurnResponse, type SessionTurnSegmentRecord, SessionTurnSignedUrlsResponse, SessionTurnStreamSnapshotResponse, SessionTurnWindowResponse, SessionTurnsPaginatedResponse, SpaceAccess, SpaceAccessPolicy, SpaceBootstrapSource, SpaceChannelBindingInput, type SpaceChannelBindingRecord, SpaceCheckpointDetailResponse, SpaceConfig, SpaceConfigInput, SpaceConfigResponse, SpaceCreateResponse, SpaceEnvInput, type SpaceEventName, SpaceFsCompleteUploadInput, SpaceFsCompleteUploadResponse, SpaceFsCreateUploadInput, SpaceFsCreateUploadResponse, SpaceFsEncoding, SpaceFsEntry, SpaceFsFileKind, SpaceFsFileResponse, SpaceFsMoveInput, SpaceFsPreparingFile, SpaceFsReadFilesError, SpaceFsReadFilesInput, SpaceFsReadFilesResponse, SpaceFsTreeResponse, SpaceFsUploadDestination, SpaceFsUploadEntry, SpaceFsUploadError, SpaceFsUploadPlanEntry, SpaceFsUploadPlanEntryInput, SpaceFsUploadProgress, SpaceFsUploadResponse, SpaceFsWriteFileInput, SpaceInvitation, SpaceListItem, SpaceMember, SpaceMeta, SpaceModListItem, SpacePublicProfile, SpaceRecord, SpaceRole, SpaceSandboxAutoDestroyPolicy, SpaceSandboxConfig, SpaceSessionsResponse, SpaceUsageHourlyStat, SpaceUsageResponse, SpaceUsageSummary, TaskRunDetailResponse, TaskRunRecord, UserProfile, UserRulesResponse, UsersApi, VoiceApi, type VoiceInputCallbacks, VoiceInputClient, type VoiceInputClientOptions, type VoiceInputCreateOptions, type VoiceInputEvent, type WebSocketConnectionState, WebsocketClient, type WorkAuthorizeResponse, type WorkCreateInput, type WorkRecord, WorkRuntimeApi, type WorkRuntimeContext, type WorkSessionResponse, type WorkStatus, type WorkTargetType, type WorkUpdateInput, WorksApi, assertGenerationRequestAllowedByPolicy, createCohubClient, createHttpClient, createSessionGenerationStreamClient, createSessionPatchReducer, createVoiceInputClient, createWebsocketClient, createWorkRuntime, decodeGenerationPolicy, encodeGenerationPolicy, filterGenerationDeclarationsByPolicy, findGenerationModelPolicy, getAllowedGenerationModelIds, normalizeBaseUrl, normalizeGenerationPolicy, normalizeVoiceInputWebsocketUrl, normalizeWebsocketUrl, parseAssistantMessageCommit, parseGenerationPolicyFromEnv, resolveApiBaseUrl, resolveCohubEnvironment, resolveVoiceInputWebsocketUrl, resolveWebsocketUrl };
|
package/dist/index.js
CHANGED
|
@@ -102,6 +102,9 @@ var WorksApi = class {
|
|
|
102
102
|
listBySpace(spaceId) {
|
|
103
103
|
return this.transport.request(`/api/works/space/${spaceId}`);
|
|
104
104
|
}
|
|
105
|
+
get(id) {
|
|
106
|
+
return this.transport.request(`/api/works/${id}`);
|
|
107
|
+
}
|
|
105
108
|
getBySlug(username, spaceSlug, workSlug) {
|
|
106
109
|
return this.transport.request(`/api/works/by-slug/${encodeURIComponent(username)}/${encodeURIComponent(spaceSlug)}/${encodeURIComponent(workSlug)}`);
|
|
107
110
|
}
|
|
@@ -112,6 +115,16 @@ var WorksApi = class {
|
|
|
112
115
|
body: JSON.stringify(input)
|
|
113
116
|
});
|
|
114
117
|
}
|
|
118
|
+
update(id, input) {
|
|
119
|
+
return this.transport.request(`/api/works/${id}`, {
|
|
120
|
+
method: "PATCH",
|
|
121
|
+
headers: { "Content-Type": "application/json" },
|
|
122
|
+
body: JSON.stringify(input)
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
delete(id) {
|
|
126
|
+
return this.transport.request(`/api/works/${id}`, { method: "DELETE" });
|
|
127
|
+
}
|
|
115
128
|
createSession(workId) {
|
|
116
129
|
return this.transport.request(`/api/works/${workId}/session`, { method: "POST" });
|
|
117
130
|
}
|
|
@@ -130,7 +143,7 @@ const hasParent = () => isBrowser() && window.parent !== window;
|
|
|
130
143
|
const getParentOrigin = () => {
|
|
131
144
|
if (!isBrowser()) return null;
|
|
132
145
|
const ancestorOrigin = window.location.ancestorOrigins?.[0];
|
|
133
|
-
if (ancestorOrigin) return ancestorOrigin;
|
|
146
|
+
if (typeof ancestorOrigin === "string" && ancestorOrigin) return ancestorOrigin;
|
|
134
147
|
try {
|
|
135
148
|
return document.referrer ? new URL(document.referrer).origin : null;
|
|
136
149
|
} catch {
|
|
@@ -138,22 +151,37 @@ const getParentOrigin = () => {
|
|
|
138
151
|
}
|
|
139
152
|
};
|
|
140
153
|
let trustedParentOrigin = null;
|
|
141
|
-
const request = (message, timeoutMs = 1200) => {
|
|
154
|
+
const request = (message, timeoutMs = 1200, retryIntervalMs) => {
|
|
142
155
|
if (!hasParent()) return Promise.resolve(null);
|
|
143
156
|
const requestId = globalThis.crypto?.randomUUID?.() ?? `${Date.now()}-${Math.random()}`;
|
|
144
157
|
return new Promise((resolve, reject) => {
|
|
145
|
-
|
|
158
|
+
let retryTimer = null;
|
|
159
|
+
const parentOrigin = trustedParentOrigin ?? getParentOrigin();
|
|
160
|
+
const postRequest = () => {
|
|
161
|
+
try {
|
|
162
|
+
window.parent.postMessage({
|
|
163
|
+
...message,
|
|
164
|
+
requestId
|
|
165
|
+
}, parentOrigin ?? "*");
|
|
166
|
+
} catch {
|
|
167
|
+
return;
|
|
168
|
+
}
|
|
169
|
+
};
|
|
170
|
+
const cleanup = () => {
|
|
171
|
+
clearTimeout(timer);
|
|
172
|
+
if (retryTimer) clearInterval(retryTimer);
|
|
146
173
|
window.removeEventListener("message", onMessage);
|
|
174
|
+
};
|
|
175
|
+
const timer = setTimeout(() => {
|
|
176
|
+
cleanup();
|
|
147
177
|
resolve(null);
|
|
148
178
|
}, timeoutMs);
|
|
149
|
-
const parentOrigin = trustedParentOrigin ?? getParentOrigin();
|
|
150
179
|
const onMessage = (event) => {
|
|
151
180
|
if (event.source !== window.parent) return;
|
|
152
181
|
if (parentOrigin && event.origin !== parentOrigin) return;
|
|
153
182
|
const data = event.data;
|
|
154
183
|
if (!data || data.requestId !== requestId) return;
|
|
155
|
-
|
|
156
|
-
window.removeEventListener("message", onMessage);
|
|
184
|
+
cleanup();
|
|
157
185
|
trustedParentOrigin = event.origin;
|
|
158
186
|
if (data.type === "cohub.work.error") {
|
|
159
187
|
reject(new Error(data.message));
|
|
@@ -162,16 +190,14 @@ const request = (message, timeoutMs = 1200) => {
|
|
|
162
190
|
resolve(data);
|
|
163
191
|
};
|
|
164
192
|
window.addEventListener("message", onMessage);
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
requestId
|
|
168
|
-
}, parentOrigin ?? "*");
|
|
193
|
+
postRequest();
|
|
194
|
+
if (retryIntervalMs) retryTimer = setInterval(postRequest, retryIntervalMs);
|
|
169
195
|
});
|
|
170
196
|
};
|
|
171
197
|
var WorkRuntimeApi = class {
|
|
172
198
|
token = null;
|
|
173
199
|
async context() {
|
|
174
|
-
return (await request({ type: "cohub.work.context" }, 8e3))?.context ?? null;
|
|
200
|
+
return (await request({ type: "cohub.work.context" }, 8e3, 250))?.context ?? null;
|
|
175
201
|
}
|
|
176
202
|
async getAccessToken(options) {
|
|
177
203
|
if (this.token && !options?.forceRefresh) return this.token;
|