@neta-art/cohub 1.10.1 → 1.11.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 +50 -1
- package/dist/chunks/http.js +37 -0
- package/dist/chunks/websocket.d.ts +3 -0
- package/dist/chunks/websocket.js +4 -1
- package/dist/debugger.js +50 -24
- package/dist/http.d.ts +2 -2
- package/dist/index.d.ts +2 -2
- package/package.json +1 -1
package/dist/chunks/http.d.ts
CHANGED
|
@@ -823,6 +823,21 @@ type SpaceMarkListItem = SpaceMarkRecord & {
|
|
|
823
823
|
status: string | null;
|
|
824
824
|
} | null;
|
|
825
825
|
};
|
|
826
|
+
type SpaceModListItem = {
|
|
827
|
+
id: string;
|
|
828
|
+
spaceId: string;
|
|
829
|
+
modSpaceId: string;
|
|
830
|
+
name: string | null;
|
|
831
|
+
mountSlug: string;
|
|
832
|
+
mountPath: string;
|
|
833
|
+
enabled: boolean;
|
|
834
|
+
sortOrder: number;
|
|
835
|
+
createdBy: string;
|
|
836
|
+
createdAt: string | null;
|
|
837
|
+
updatedAt: string | null;
|
|
838
|
+
modSpaceName: string | null;
|
|
839
|
+
modSpaceDescription: string | null;
|
|
840
|
+
};
|
|
826
841
|
type ExploreSpaceItem = {
|
|
827
842
|
space: SpaceRecord;
|
|
828
843
|
accessAudience: "anonymous" | "signed_in";
|
|
@@ -1445,6 +1460,39 @@ declare class SpaceChannelsApi {
|
|
|
1445
1460
|
ok: true;
|
|
1446
1461
|
}>;
|
|
1447
1462
|
}
|
|
1463
|
+
declare class SpaceModsApi {
|
|
1464
|
+
private readonly transport;
|
|
1465
|
+
private readonly spaceId;
|
|
1466
|
+
constructor(transport: HttpTransport, spaceId: string);
|
|
1467
|
+
list(): Promise<{
|
|
1468
|
+
items: SpaceModListItem[];
|
|
1469
|
+
}>;
|
|
1470
|
+
create(input: {
|
|
1471
|
+
modSpaceId: string;
|
|
1472
|
+
name?: string | null;
|
|
1473
|
+
mountSlug?: string | null;
|
|
1474
|
+
}): Promise<{
|
|
1475
|
+
item: SpaceModListItem;
|
|
1476
|
+
sandboxRestarting: boolean;
|
|
1477
|
+
}>;
|
|
1478
|
+
update(modId: string, input: {
|
|
1479
|
+
name?: string | null;
|
|
1480
|
+
mountSlug?: string;
|
|
1481
|
+
enabled?: boolean;
|
|
1482
|
+
sortOrder?: number;
|
|
1483
|
+
}): Promise<{
|
|
1484
|
+
item: SpaceModListItem;
|
|
1485
|
+
sandboxRestarting: boolean;
|
|
1486
|
+
}>;
|
|
1487
|
+
remove(modId: string): Promise<{
|
|
1488
|
+
ok: true;
|
|
1489
|
+
sandboxRestarting: boolean;
|
|
1490
|
+
}>;
|
|
1491
|
+
reorder(ids: string[]): Promise<{
|
|
1492
|
+
items: SpaceModListItem[];
|
|
1493
|
+
sandboxRestarting: boolean;
|
|
1494
|
+
}>;
|
|
1495
|
+
}
|
|
1448
1496
|
declare class SpaceEnvApi {
|
|
1449
1497
|
private readonly transport;
|
|
1450
1498
|
private readonly spaceId;
|
|
@@ -1532,6 +1580,7 @@ declare class SpaceClient {
|
|
|
1532
1580
|
readonly checkpoints: SpaceCheckpointsApi;
|
|
1533
1581
|
readonly usage: SpaceUsageApi;
|
|
1534
1582
|
readonly channels: SpaceChannelsApi;
|
|
1583
|
+
readonly mods: SpaceModsApi;
|
|
1535
1584
|
readonly env: SpaceEnvApi;
|
|
1536
1585
|
readonly sandbox: SpaceSandboxApi;
|
|
1537
1586
|
readonly invitations: SpaceInvitationsApi;
|
|
@@ -1612,4 +1661,4 @@ declare class CohubHttpClient {
|
|
|
1612
1661
|
}
|
|
1613
1662
|
declare const createHttpClient: (options?: CohubClientOptions) => CohubHttpClient;
|
|
1614
1663
|
//#endregion
|
|
1615
|
-
export { MeResponse as $,
|
|
1664
|
+
export { MeResponse as $, SpaceUsageHourlyStat as $t, SessionPatchStatus as A, SpaceFsReadFilesError as At, ApiError as B, SpaceFsWriteFileInput as Bt, SessionGenerationStreamClient as C, SpaceFsCreateUploadResponse as Ct, SessionPatchApplyResult as D, SpaceFsFileResponse as Dt, SessionPatchApplyInput as E, SpaceFsFileKind as Et, ModelsApi as F, SpaceFsUploadError as Ft, CreateSpacePromptInput as G, SpaceMarkListItem as Gt, CheckpointRecord as H, SpaceInvitation as Ht, GenerationsApi as I, SpaceFsUploadPlanEntry as It, ExploreSpaceItem as J, SpaceMember as Jt, CreateSpacePromptResponse as K, SpaceMarkRecord as Kt, CronJobsApi as L, SpaceFsUploadPlanEntryInput as Lt, SessionAccessApi as M, SpaceFsReadFilesResponse as Mt, SearchApi as N, SpaceFsTreeResponse as Nt, SessionPatchReducer as O, SpaceFsMoveInput as Ot, PromptsApi as P, SpaceFsUploadEntry as Pt, InvitationDetail as Q, SpaceSessionsResponse as Qt, ChannelsApi as R, SpaceFsUploadProgress as Rt, GenerationStreamTurnUpdatedEvent as S, RawHttpResponse as Sn, SpaceFsCreateUploadInput as St, parseAssistantMessageCommit as T, SpaceFsEntry as Tt, CreateInvitationInput as U, SpaceListItem as Ut, Channel as V, SpaceGitInfo as Vt, CreateInvitationResponse as W, SpaceMarkKind as Wt, GlobalSearchResult as X, SpaceRecord as Xt, GlobalSearchResponse as Y, SpaceModListItem as Yt, GlobalSearchType as Z, SpaceRole as Zt, GenerationStreamFinalizedEvent as _, SessionTurnRecord as _n, SpaceCheckpointDetailResponse as _t, SessionEventName as a, UserRulesResponse as an, SessionMessagesPaginatedResponse as at, GenerationStreamStateEvent as b, HttpError as bn, SpaceFsCompleteUploadInput as bt, SpaceClient as c, Generation as cn, SessionTurnIndexResponse as ct, WebSocketConnectionState as d, ChannelConfig as dn, SessionTurnStreamSnapshotResponse as dt, SpaceUsageResponse as en, ModelCatalogEntry as et, PublicInviteApi as f, DiscordChannelConfig as fn, SessionTurnWindowResponse as ft, GenerationStreamEvent as g, SessionTurnIndexItem as gn, SpaceChannelBindingInput as gt, GenerationStreamErrorEvent as h, SessionTurnSegmentRecord as hn, SpaceBootstrapSource as ht, TasksApi as i, UserProfile as in, SessionMessageResponse as it, createSessionPatchReducer as j, SpaceFsReadFilesInput as jt, SessionPatchState as k, SpaceFsPreparingFile as kt, SpaceEventName as l, ListGenerationModelsResponse as ln, SessionTurnResponse as lt, GenerationStreamCommitEvent as m, SessionForkRecord as mn, SpaceAccessPolicy as mt, createHttpClient as n, TaskRunDetailResponse as nn, PromptTemplateCatalogResponse as nt, SessionSubscriptionHandlers as o, UserSshKey as on, SessionMessagesResponse as ot, AssistantMessageCommit as p, MessageRecord as pn, SessionTurnsPaginatedResponse as pt, CronJobRecord as q, SpaceMarkResourceType as qt, UserApi as r, TaskRunRecord as rn, SessionBindingRecord as rt, SpaceChannelBindingRecord as s, CreateGenerationRequest as sn, SessionRecord as st, CohubHttpClient as t, SpaceUsageSummary as tn, PromptTemplateCatalogEntry as tt, SpacesApi as u, PublicGenerationDeclaration as un, SessionTurnSignedUrlsResponse as ut, GenerationStreamIntermediateMessage as v, CohubClientOptions as vn, SpaceCreateResponse as vt, createSessionGenerationStreamClient as w, SpaceFsEncoding as wt, GenerationStreamSubscriptionHandlers as x, HttpTransport as xn, SpaceFsCompleteUploadResponse as xt, GenerationStreamOutOfSyncEvent as y, Fetch as yn, SpaceEnvInput as yt, AcceptInvitationResponse as z, SpaceFsUploadResponse as zt };
|
package/dist/chunks/http.js
CHANGED
|
@@ -1646,6 +1646,41 @@ var SpaceChannelsApi = class {
|
|
|
1646
1646
|
return this.transport.request(`/api/spaces/${this.spaceId}/channels/${channelId}`, { method: "DELETE" });
|
|
1647
1647
|
}
|
|
1648
1648
|
};
|
|
1649
|
+
var SpaceModsApi = class {
|
|
1650
|
+
transport;
|
|
1651
|
+
spaceId;
|
|
1652
|
+
constructor(transport, spaceId) {
|
|
1653
|
+
this.transport = transport;
|
|
1654
|
+
this.spaceId = spaceId;
|
|
1655
|
+
}
|
|
1656
|
+
list() {
|
|
1657
|
+
return this.transport.request(`/api/spaces/${this.spaceId}/mods`);
|
|
1658
|
+
}
|
|
1659
|
+
create(input) {
|
|
1660
|
+
return this.transport.request(`/api/spaces/${this.spaceId}/mods`, {
|
|
1661
|
+
method: "POST",
|
|
1662
|
+
headers: { "Content-Type": "application/json" },
|
|
1663
|
+
body: JSON.stringify(input)
|
|
1664
|
+
});
|
|
1665
|
+
}
|
|
1666
|
+
update(modId, input) {
|
|
1667
|
+
return this.transport.request(`/api/spaces/${this.spaceId}/mods/${modId}`, {
|
|
1668
|
+
method: "PATCH",
|
|
1669
|
+
headers: { "Content-Type": "application/json" },
|
|
1670
|
+
body: JSON.stringify(input)
|
|
1671
|
+
});
|
|
1672
|
+
}
|
|
1673
|
+
remove(modId) {
|
|
1674
|
+
return this.transport.request(`/api/spaces/${this.spaceId}/mods/${modId}`, { method: "DELETE" });
|
|
1675
|
+
}
|
|
1676
|
+
reorder(ids) {
|
|
1677
|
+
return this.transport.request(`/api/spaces/${this.spaceId}/mods/reorder`, {
|
|
1678
|
+
method: "POST",
|
|
1679
|
+
headers: { "Content-Type": "application/json" },
|
|
1680
|
+
body: JSON.stringify({ ids })
|
|
1681
|
+
});
|
|
1682
|
+
}
|
|
1683
|
+
};
|
|
1649
1684
|
var SpaceEnvApi = class {
|
|
1650
1685
|
transport;
|
|
1651
1686
|
spaceId;
|
|
@@ -1748,6 +1783,7 @@ var SpaceClient = class {
|
|
|
1748
1783
|
checkpoints;
|
|
1749
1784
|
usage;
|
|
1750
1785
|
channels;
|
|
1786
|
+
mods;
|
|
1751
1787
|
env;
|
|
1752
1788
|
sandbox;
|
|
1753
1789
|
invitations;
|
|
@@ -1763,6 +1799,7 @@ var SpaceClient = class {
|
|
|
1763
1799
|
this.checkpoints = new SpaceCheckpointsApi(transport, id);
|
|
1764
1800
|
this.usage = new SpaceUsageApi(transport, id);
|
|
1765
1801
|
this.channels = new SpaceChannelsApi(transport, id);
|
|
1802
|
+
this.mods = new SpaceModsApi(transport, id);
|
|
1766
1803
|
this.env = new SpaceEnvApi(transport, id);
|
|
1767
1804
|
this.sandbox = new SpaceSandboxApi(transport, id);
|
|
1768
1805
|
this.invitations = new SpaceInvitationsApi(transport, id);
|
|
@@ -185,6 +185,9 @@ type WebsocketClientEvents = {
|
|
|
185
185
|
clientMessageId?: string | null;
|
|
186
186
|
sessionId?: string | null;
|
|
187
187
|
spaceId?: string | null;
|
|
188
|
+
turnId?: string | null;
|
|
189
|
+
userMessageId?: string | null;
|
|
190
|
+
traceId?: string | null;
|
|
188
191
|
};
|
|
189
192
|
serverError: {
|
|
190
193
|
code?: string;
|
package/dist/chunks/websocket.js
CHANGED
|
@@ -404,7 +404,10 @@ var WebsocketClient = class {
|
|
|
404
404
|
requestId: envelope.requestId ?? null,
|
|
405
405
|
sessionId: envelope.sessionId ?? null,
|
|
406
406
|
spaceId: envelope.spaceId ?? null,
|
|
407
|
-
clientMessageId: typeof payload.clientMessageId === "string" ? payload.clientMessageId : null
|
|
407
|
+
clientMessageId: typeof payload.clientMessageId === "string" ? payload.clientMessageId : null,
|
|
408
|
+
turnId: typeof payload.turnId === "string" ? payload.turnId : null,
|
|
409
|
+
userMessageId: typeof payload.userMessageId === "string" ? payload.userMessageId : null,
|
|
410
|
+
traceId: typeof payload.traceId === "string" ? payload.traceId : null
|
|
408
411
|
});
|
|
409
412
|
this.emit("event", envelope);
|
|
410
413
|
return;
|
package/dist/debugger.js
CHANGED
|
@@ -91,6 +91,7 @@ function installFetchCollector(state) {
|
|
|
91
91
|
const connectionId = nextConnectionId(state, "fetch");
|
|
92
92
|
const startedAtMs = Date.now();
|
|
93
93
|
const requestInfo = normalizeFetchRequest(input, init, state.options);
|
|
94
|
+
state.instrumentedRequestUrls.add(requestInfo.url);
|
|
94
95
|
appendNetwork(state, {
|
|
95
96
|
connectionId,
|
|
96
97
|
kind: "fetch",
|
|
@@ -105,19 +106,21 @@ function installFetchCollector(state) {
|
|
|
105
106
|
try {
|
|
106
107
|
const response = await originalFetch(input, init);
|
|
107
108
|
const durationMs = Date.now() - startedAtMs;
|
|
109
|
+
const responseUrl = normalizeHarUrl(response.url || requestInfo.url);
|
|
110
|
+
state.instrumentedRequestUrls.add(responseUrl);
|
|
108
111
|
const responseHeaders = state.options.captureHeaders ? headersToRecord(response.headers, state.options) : void 0;
|
|
109
112
|
appendNetwork(state, {
|
|
110
113
|
connectionId,
|
|
111
114
|
kind: "fetch",
|
|
112
115
|
phase: "response",
|
|
113
116
|
method: requestInfo.method,
|
|
114
|
-
url:
|
|
117
|
+
url: responseUrl,
|
|
115
118
|
status: response.status,
|
|
116
119
|
statusText: response.statusText,
|
|
117
120
|
durationMs,
|
|
118
121
|
responseHeaders
|
|
119
122
|
});
|
|
120
|
-
collectFetchResponseBody(state, connectionId, requestInfo.method,
|
|
123
|
+
collectFetchResponseBody(state, connectionId, requestInfo.method, responseUrl, response);
|
|
121
124
|
return response;
|
|
122
125
|
} catch (error) {
|
|
123
126
|
appendNetwork(state, {
|
|
@@ -144,15 +147,17 @@ function installXhrCollector(state) {
|
|
|
144
147
|
state.originals.xhrSend = originalSend;
|
|
145
148
|
state.originals.xhrSetRequestHeader = originalSetRequestHeader;
|
|
146
149
|
XMLHttpRequest.prototype.open = function open(method, url, async, username, password) {
|
|
150
|
+
const normalizedUrl = normalizeHarUrl(String(url));
|
|
147
151
|
metadata.set(this, {
|
|
148
152
|
id: nextConnectionId(state, "xhr"),
|
|
149
153
|
method: method.toUpperCase(),
|
|
150
|
-
url:
|
|
154
|
+
url: normalizedUrl,
|
|
151
155
|
requestHeaders: {},
|
|
152
156
|
responseLineCount: 0,
|
|
153
157
|
lastResponseLength: 0,
|
|
154
158
|
pendingResponseLine: ""
|
|
155
159
|
});
|
|
160
|
+
state.instrumentedRequestUrls.add(normalizedUrl);
|
|
156
161
|
return originalOpen.call(this, method, url, async ?? true, username, password);
|
|
157
162
|
};
|
|
158
163
|
XMLHttpRequest.prototype.setRequestHeader = function setRequestHeader(name, value) {
|
|
@@ -237,10 +242,11 @@ function installEventSourceCollector(state) {
|
|
|
237
242
|
state.originals.EventSource = OriginalEventSource;
|
|
238
243
|
const InstrumentedEventSource = function EventSource(url, eventSourceInitDict) {
|
|
239
244
|
const connectionId = nextConnectionId(state, "eventsource");
|
|
245
|
+
const sourceUrl = normalizeHarUrl(String(url));
|
|
240
246
|
const source = new OriginalEventSource(url, eventSourceInitDict);
|
|
241
|
-
const sourceUrl = String(url);
|
|
242
247
|
let lineNumber = 0;
|
|
243
248
|
const listenerRecords = [];
|
|
249
|
+
state.instrumentedRequestUrls.add(sourceUrl);
|
|
244
250
|
const appendEventSourceMessage = (eventName, event) => {
|
|
245
251
|
appendLines(state, {
|
|
246
252
|
connectionId,
|
|
@@ -322,8 +328,9 @@ function installWebSocketCollector(state) {
|
|
|
322
328
|
state.originals.WebSocket = OriginalWebSocket;
|
|
323
329
|
const InstrumentedWebSocket = function WebSocket(url, protocols) {
|
|
324
330
|
const connectionId = nextConnectionId(state, "websocket");
|
|
331
|
+
const socketUrl = normalizeHarUrl(String(url), "websocket");
|
|
332
|
+
state.instrumentedRequestUrls.add(socketUrl);
|
|
325
333
|
const socket = protocols === void 0 ? new OriginalWebSocket(url) : new OriginalWebSocket(url, protocols);
|
|
326
|
-
const socketUrl = String(url);
|
|
327
334
|
let lineNumber = 0;
|
|
328
335
|
let userOnOpen = null;
|
|
329
336
|
let userOnMessage = null;
|
|
@@ -472,6 +479,8 @@ function collectPerformanceResources(state, entries) {
|
|
|
472
479
|
const key = `${entry.name}:${entry.startTime}:${entry.duration}`;
|
|
473
480
|
if (state.performanceResourceKeys.has(key)) continue;
|
|
474
481
|
state.performanceResourceKeys.add(key);
|
|
482
|
+
const normalizedEntryUrl = normalizeHarUrl(entry.name);
|
|
483
|
+
if (state.instrumentedRequestUrls.has(normalizedEntryUrl)) continue;
|
|
475
484
|
const initiatorType = entry.initiatorType || "resource";
|
|
476
485
|
const kind = resourceKindFromInitiator(initiatorType, entry.name);
|
|
477
486
|
appendNetwork(state, {
|
|
@@ -479,7 +488,7 @@ function collectPerformanceResources(state, entries) {
|
|
|
479
488
|
kind,
|
|
480
489
|
phase: "response",
|
|
481
490
|
method: "GET",
|
|
482
|
-
url:
|
|
491
|
+
url: normalizedEntryUrl,
|
|
483
492
|
status: entry.responseStatus || void 0,
|
|
484
493
|
durationMs: Math.round(entry.duration),
|
|
485
494
|
source: "performance",
|
|
@@ -592,18 +601,15 @@ function collectXhrResponseLines(state, xhr, meta, flush = false) {
|
|
|
592
601
|
meta.lastResponseLength = text.length;
|
|
593
602
|
const parts = `${meta.pendingResponseLine}${nextChunk}`.split(/\r?\n/);
|
|
594
603
|
meta.pendingResponseLine = parts.pop() ?? "";
|
|
595
|
-
for (const line of parts) {
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
text: line
|
|
605
|
-
});
|
|
606
|
-
}
|
|
604
|
+
for (const line of parts) appendLine(state, {
|
|
605
|
+
connectionId: meta.id,
|
|
606
|
+
kind: "xhr",
|
|
607
|
+
method: meta.method,
|
|
608
|
+
url: meta.url,
|
|
609
|
+
direction: "incoming",
|
|
610
|
+
lineNumber: nextXhrLineNumber(meta),
|
|
611
|
+
text: line
|
|
612
|
+
});
|
|
607
613
|
if (flush && meta.pendingResponseLine) {
|
|
608
614
|
const line = meta.pendingResponseLine;
|
|
609
615
|
meta.pendingResponseLine = "";
|
|
@@ -674,7 +680,7 @@ function nextXhrLineNumber(meta) {
|
|
|
674
680
|
function normalizeFetchRequest(input, init, options) {
|
|
675
681
|
const request = typeof Request !== "undefined" && input instanceof Request ? input : void 0;
|
|
676
682
|
const method = (init?.method ?? request?.method ?? "GET").toUpperCase();
|
|
677
|
-
const url = typeof Request !== "undefined" && input instanceof Request ? input.url : typeof URL !== "undefined" && input instanceof URL ? input.href : String(input);
|
|
683
|
+
const url = typeof Request !== "undefined" && input instanceof Request ? input.url : typeof URL !== "undefined" && input instanceof URL ? input.href : normalizeHarUrl(String(input));
|
|
678
684
|
const headers = options.captureHeaders ? mergeHeaders(request?.headers, init?.headers, options) : void 0;
|
|
679
685
|
const bodyPreview = options.captureRequestBody ? serializeBodyPreview(init?.body, options) : void 0;
|
|
680
686
|
return {
|
|
@@ -898,7 +904,10 @@ function createHarEntry(pageId, entries) {
|
|
|
898
904
|
const requestBodyEntry = sortedEntries.find((entry) => entry.phase === "request" && entry.payload !== void 0);
|
|
899
905
|
const responseBodyEntry = [...messageEntries].reverse().find((entry) => entry.direction === "incoming");
|
|
900
906
|
const durationMs = Math.max(responseEntry.durationMs ?? responseEntry.elapsedMs - requestEntry.elapsedMs, 0);
|
|
901
|
-
const responseText = responseEntry.kind === "websocket" ? void 0 : messageEntries.filter((entry) => entry.direction !== "outgoing").map((entry) => payloadToText(entry.payload)).
|
|
907
|
+
const responseText = responseEntry.kind === "websocket" ? void 0 : messageEntries.length > 0 ? messageEntries.filter((entry) => entry.direction !== "outgoing").map((entry) => payloadToText(entry.payload)).join("\n") : void 0;
|
|
908
|
+
const contentType = guessMimeType(responseEntry.responseHeaders);
|
|
909
|
+
const normalizedResponseText = responseText !== void 0 && contentType.toLowerCase().includes("text/event-stream") ? normalizeEventStreamText(responseText) : responseText;
|
|
910
|
+
const responseContentSize = normalizedResponseText !== void 0 ? byteLength(normalizedResponseText) : responseBodyEntry?.sizeBytes ?? responseEntry.sizeBytes ?? -1;
|
|
902
911
|
return {
|
|
903
912
|
pageref: pageId,
|
|
904
913
|
startedDateTime: requestEntry.at,
|
|
@@ -925,13 +934,13 @@ function createHarEntry(pageId, entries) {
|
|
|
925
934
|
cookies: [],
|
|
926
935
|
headers: headersRecordToHarPairs(responseEntry.responseHeaders),
|
|
927
936
|
content: {
|
|
928
|
-
size:
|
|
929
|
-
mimeType:
|
|
930
|
-
text:
|
|
937
|
+
size: responseContentSize,
|
|
938
|
+
mimeType: contentType,
|
|
939
|
+
text: normalizedResponseText === void 0 ? void 0 : normalizedResponseText
|
|
931
940
|
},
|
|
932
941
|
redirectURL: "",
|
|
933
942
|
headersSize: -1,
|
|
934
|
-
bodySize:
|
|
943
|
+
bodySize: responseContentSize
|
|
935
944
|
},
|
|
936
945
|
cache: {},
|
|
937
946
|
timings: {
|
|
@@ -954,6 +963,11 @@ function createHarEntry(pageId, entries) {
|
|
|
954
963
|
_webSocketMessages: firstEntry.kind === "websocket" ? createWebSocketMessages(messageEntries) : void 0
|
|
955
964
|
};
|
|
956
965
|
}
|
|
966
|
+
function normalizeEventStreamText(text) {
|
|
967
|
+
if (!text) return text;
|
|
968
|
+
if (text.endsWith("\n\n")) return text;
|
|
969
|
+
return text.endsWith("\n") ? `${text}\n` : text;
|
|
970
|
+
}
|
|
957
971
|
function headersRecordToHarPairs(headers) {
|
|
958
972
|
return Object.entries(headers ?? {}).map(([name, value]) => ({
|
|
959
973
|
name,
|
|
@@ -1037,6 +1051,7 @@ function getOrCreateState(options = {}) {
|
|
|
1037
1051
|
startedAt: new Date(startedAtMs).toISOString(),
|
|
1038
1052
|
consoleBuffer: createRingBuffer(normalizedOptions.maxConsoleEntries),
|
|
1039
1053
|
networkBuffer: createRingBuffer(normalizedOptions.maxNetworkEntries),
|
|
1054
|
+
instrumentedRequestUrls: /* @__PURE__ */ new Set(),
|
|
1040
1055
|
performanceResourceKeys: /* @__PURE__ */ new Set(),
|
|
1041
1056
|
nextConsoleId: 1,
|
|
1042
1057
|
nextNetworkId: 1,
|
|
@@ -1062,6 +1077,17 @@ function nextConnectionId(state, kind) {
|
|
|
1062
1077
|
state.nextConnectionId += 1;
|
|
1063
1078
|
return id;
|
|
1064
1079
|
}
|
|
1080
|
+
function normalizeHarUrl(url, mode = "http") {
|
|
1081
|
+
if (typeof URL === "undefined") return url;
|
|
1082
|
+
const baseUrl = typeof location !== "undefined" && location.href ? location.href : "http://localhost/";
|
|
1083
|
+
try {
|
|
1084
|
+
const normalizedUrl = new URL(url, baseUrl);
|
|
1085
|
+
if (mode === "websocket" && (normalizedUrl.protocol === "http:" || normalizedUrl.protocol === "https:")) normalizedUrl.protocol = normalizedUrl.protocol === "https:" ? "wss:" : "ws:";
|
|
1086
|
+
return normalizedUrl.href;
|
|
1087
|
+
} catch {
|
|
1088
|
+
return url;
|
|
1089
|
+
}
|
|
1090
|
+
}
|
|
1065
1091
|
function headersToRecord(headers, options) {
|
|
1066
1092
|
const record = {};
|
|
1067
1093
|
headers.forEach((value, key) => {
|
package/dist/http.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { l as ContentBlock } from "./chunks/websocket.js";
|
|
2
|
-
import { $ as MeResponse, $t as
|
|
3
|
-
export { AcceptInvitationResponse, ApiError, Channel, ChannelConfig, CheckpointRecord, CohubClientOptions, CohubHttpClient, ContentBlock, CreateGenerationRequest, CreateInvitationInput, CreateInvitationResponse, CreateSpacePromptInput, CreateSpacePromptResponse, CronJobRecord, DiscordChannelConfig, ExploreSpaceItem, Fetch, Generation, GlobalSearchResponse, GlobalSearchResult, GlobalSearchType, HttpError, HttpTransport, InvitationDetail, ListGenerationModelsResponse, MeResponse, MessageRecord, ModelCatalogEntry, PromptTemplateCatalogEntry, PromptTemplateCatalogResponse, PublicGenerationDeclaration, SessionBindingRecord, SessionForkRecord, SessionMessageResponse, SessionMessagesPaginatedResponse, SessionMessagesResponse, SessionRecord, SessionTurnIndexItem, SessionTurnIndexResponse, SessionTurnRecord, SessionTurnResponse, SessionTurnSegmentRecord, SessionTurnSignedUrlsResponse, SessionTurnStreamSnapshotResponse, SessionTurnWindowResponse, SessionTurnsPaginatedResponse, SpaceAccessPolicy, SpaceBootstrapSource, SpaceChannelBindingInput, SpaceCheckpointDetailResponse, SpaceCreateResponse, SpaceEnvInput, SpaceFsCompleteUploadInput, SpaceFsCompleteUploadResponse, SpaceFsCreateUploadInput, SpaceFsCreateUploadResponse, SpaceFsEncoding, SpaceFsEntry, SpaceFsFileKind, SpaceFsFileResponse, SpaceFsMoveInput, SpaceFsPreparingFile, SpaceFsReadFilesError, SpaceFsReadFilesInput, SpaceFsReadFilesResponse, SpaceFsTreeResponse, SpaceFsUploadEntry, SpaceFsUploadError, SpaceFsUploadPlanEntry, SpaceFsUploadPlanEntryInput, SpaceFsUploadProgress, SpaceFsUploadResponse, SpaceFsWriteFileInput, SpaceGitInfo, SpaceInvitation, SpaceListItem, SpaceMarkKind, SpaceMarkListItem, SpaceMarkRecord, SpaceMarkResourceType, SpaceMember, SpaceRecord, SpaceRole, SpaceSessionsResponse, SpaceUsageHourlyStat, SpaceUsageResponse, SpaceUsageSummary, TaskRunDetailResponse, TaskRunRecord, UserProfile, UserRulesResponse, UserSshKey, createHttpClient };
|
|
2
|
+
import { $ as MeResponse, $t as SpaceUsageHourlyStat, At as SpaceFsReadFilesError, B as ApiError, Bt as SpaceFsWriteFileInput, Ct as SpaceFsCreateUploadResponse, Dt as SpaceFsFileResponse, Et as SpaceFsFileKind, Ft as SpaceFsUploadError, G as CreateSpacePromptInput, Gt as SpaceMarkListItem, H as CheckpointRecord, Ht as SpaceInvitation, It as SpaceFsUploadPlanEntry, J as ExploreSpaceItem, Jt as SpaceMember, K as CreateSpacePromptResponse, Kt as SpaceMarkRecord, Lt as SpaceFsUploadPlanEntryInput, Mt as SpaceFsReadFilesResponse, Nt as SpaceFsTreeResponse, Ot as SpaceFsMoveInput, Pt as SpaceFsUploadEntry, Q as InvitationDetail, Qt as SpaceSessionsResponse, Rt as SpaceFsUploadProgress, St as SpaceFsCreateUploadInput, Tt as SpaceFsEntry, U as CreateInvitationInput, Ut as SpaceListItem, V as Channel, Vt as SpaceGitInfo, W as CreateInvitationResponse, Wt as SpaceMarkKind, X as GlobalSearchResult, Xt as SpaceRecord, Y as GlobalSearchResponse, Yt as SpaceModListItem, Z as GlobalSearchType, Zt as SpaceRole, _n as SessionTurnRecord, _t as SpaceCheckpointDetailResponse, an as UserRulesResponse, at as SessionMessagesPaginatedResponse, bn as HttpError, bt as SpaceFsCompleteUploadInput, cn as Generation, ct as SessionTurnIndexResponse, dn as ChannelConfig, dt as SessionTurnStreamSnapshotResponse, en as SpaceUsageResponse, et as ModelCatalogEntry, fn as DiscordChannelConfig, ft as SessionTurnWindowResponse, gn as SessionTurnIndexItem, gt as SpaceChannelBindingInput, hn as SessionTurnSegmentRecord, ht as SpaceBootstrapSource, in as UserProfile, it as SessionMessageResponse, jt as SpaceFsReadFilesInput, kt as SpaceFsPreparingFile, ln as ListGenerationModelsResponse, lt as SessionTurnResponse, mn as SessionForkRecord, mt as SpaceAccessPolicy, n as createHttpClient, nn as TaskRunDetailResponse, nt as PromptTemplateCatalogResponse, on as UserSshKey, ot as SessionMessagesResponse, pn as MessageRecord, pt as SessionTurnsPaginatedResponse, q as CronJobRecord, qt as SpaceMarkResourceType, rn as TaskRunRecord, rt as SessionBindingRecord, sn as CreateGenerationRequest, st as SessionRecord, t as CohubHttpClient, tn as SpaceUsageSummary, tt as PromptTemplateCatalogEntry, un as PublicGenerationDeclaration, ut as SessionTurnSignedUrlsResponse, vn as CohubClientOptions, vt as SpaceCreateResponse, wt as SpaceFsEncoding, xn as HttpTransport, xt as SpaceFsCompleteUploadResponse, yn as Fetch, yt as SpaceEnvInput, z as AcceptInvitationResponse, zt as SpaceFsUploadResponse } from "./chunks/http.js";
|
|
3
|
+
export { AcceptInvitationResponse, ApiError, Channel, ChannelConfig, CheckpointRecord, CohubClientOptions, CohubHttpClient, ContentBlock, CreateGenerationRequest, CreateInvitationInput, CreateInvitationResponse, CreateSpacePromptInput, CreateSpacePromptResponse, CronJobRecord, DiscordChannelConfig, ExploreSpaceItem, Fetch, Generation, GlobalSearchResponse, GlobalSearchResult, GlobalSearchType, HttpError, HttpTransport, InvitationDetail, ListGenerationModelsResponse, MeResponse, MessageRecord, ModelCatalogEntry, PromptTemplateCatalogEntry, PromptTemplateCatalogResponse, PublicGenerationDeclaration, SessionBindingRecord, SessionForkRecord, SessionMessageResponse, SessionMessagesPaginatedResponse, SessionMessagesResponse, SessionRecord, SessionTurnIndexItem, SessionTurnIndexResponse, SessionTurnRecord, SessionTurnResponse, SessionTurnSegmentRecord, SessionTurnSignedUrlsResponse, SessionTurnStreamSnapshotResponse, SessionTurnWindowResponse, SessionTurnsPaginatedResponse, SpaceAccessPolicy, SpaceBootstrapSource, SpaceChannelBindingInput, SpaceCheckpointDetailResponse, SpaceCreateResponse, SpaceEnvInput, SpaceFsCompleteUploadInput, SpaceFsCompleteUploadResponse, SpaceFsCreateUploadInput, SpaceFsCreateUploadResponse, SpaceFsEncoding, SpaceFsEntry, SpaceFsFileKind, SpaceFsFileResponse, SpaceFsMoveInput, SpaceFsPreparingFile, SpaceFsReadFilesError, SpaceFsReadFilesInput, SpaceFsReadFilesResponse, SpaceFsTreeResponse, SpaceFsUploadEntry, SpaceFsUploadError, SpaceFsUploadPlanEntry, SpaceFsUploadPlanEntryInput, SpaceFsUploadProgress, SpaceFsUploadResponse, SpaceFsWriteFileInput, SpaceGitInfo, SpaceInvitation, SpaceListItem, SpaceMarkKind, SpaceMarkListItem, SpaceMarkRecord, SpaceMarkResourceType, SpaceMember, SpaceModListItem, SpaceRecord, SpaceRole, SpaceSessionsResponse, SpaceUsageHourlyStat, SpaceUsageResponse, SpaceUsageSummary, TaskRunDetailResponse, TaskRunRecord, UserProfile, UserRulesResponse, UserSshKey, createHttpClient };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { _ as resolveCohubEnvironment, c as createWebsocketClient, f as COHUB_ENVIRONMENTS, g as resolveApiBaseUrl, h as normalizeWebsocketUrl, l as ContentBlock, m as normalizeBaseUrl, p as CohubEnvironment, r as WebsocketClient, v as resolveWebsocketUrl } from "./chunks/websocket.js";
|
|
2
|
-
import { $ as MeResponse, $t as
|
|
2
|
+
import { $ as MeResponse, $t as SpaceUsageHourlyStat, A as SessionPatchStatus, At as SpaceFsReadFilesError, B as ApiError, Bt as SpaceFsWriteFileInput, C as SessionGenerationStreamClient, Ct as SpaceFsCreateUploadResponse, D as SessionPatchApplyResult, Dt as SpaceFsFileResponse, E as SessionPatchApplyInput, Et as SpaceFsFileKind, F as ModelsApi, Ft as SpaceFsUploadError, G as CreateSpacePromptInput, Gt as SpaceMarkListItem, H as CheckpointRecord, Ht as SpaceInvitation, I as GenerationsApi, It as SpaceFsUploadPlanEntry, J as ExploreSpaceItem, Jt as SpaceMember, K as CreateSpacePromptResponse, Kt as SpaceMarkRecord, L as CronJobsApi, Lt as SpaceFsUploadPlanEntryInput, M as SessionAccessApi, Mt as SpaceFsReadFilesResponse, N as SearchApi, Nt as SpaceFsTreeResponse, O as SessionPatchReducer, Ot as SpaceFsMoveInput, P as PromptsApi, Pt as SpaceFsUploadEntry, Q as InvitationDetail, Qt as SpaceSessionsResponse, R as ChannelsApi, Rt as SpaceFsUploadProgress, S as GenerationStreamTurnUpdatedEvent, Sn as RawHttpResponse, St as SpaceFsCreateUploadInput, T as parseAssistantMessageCommit, Tt as SpaceFsEntry, U as CreateInvitationInput, Ut as SpaceListItem, V as Channel, Vt as SpaceGitInfo, W as CreateInvitationResponse, Wt as SpaceMarkKind, X as GlobalSearchResult, Xt as SpaceRecord, Y as GlobalSearchResponse, Yt as SpaceModListItem, Z as GlobalSearchType, Zt as SpaceRole, _ as GenerationStreamFinalizedEvent, _n as SessionTurnRecord, _t as SpaceCheckpointDetailResponse, a as SessionEventName, an as UserRulesResponse, at as SessionMessagesPaginatedResponse, b as GenerationStreamStateEvent, bn as HttpError, bt as SpaceFsCompleteUploadInput, c as SpaceClient, cn as Generation, ct as SessionTurnIndexResponse, d as WebSocketConnectionState, dn as ChannelConfig, dt as SessionTurnStreamSnapshotResponse, en as SpaceUsageResponse, et as ModelCatalogEntry, f as PublicInviteApi, fn as DiscordChannelConfig, ft as SessionTurnWindowResponse, g as GenerationStreamEvent, gn as SessionTurnIndexItem, gt as SpaceChannelBindingInput, h as GenerationStreamErrorEvent, hn as SessionTurnSegmentRecord, ht as SpaceBootstrapSource, i as TasksApi, in as UserProfile, it as SessionMessageResponse, j as createSessionPatchReducer, jt as SpaceFsReadFilesInput, k as SessionPatchState, kt as SpaceFsPreparingFile, l as SpaceEventName, ln as ListGenerationModelsResponse, lt as SessionTurnResponse, m as GenerationStreamCommitEvent, mn as SessionForkRecord, mt as SpaceAccessPolicy, n as createHttpClient, nn as TaskRunDetailResponse, nt as PromptTemplateCatalogResponse, o as SessionSubscriptionHandlers, on as UserSshKey, ot as SessionMessagesResponse, p as AssistantMessageCommit, pn as MessageRecord, pt as SessionTurnsPaginatedResponse, q as CronJobRecord, qt as SpaceMarkResourceType, r as UserApi, rn as TaskRunRecord, rt as SessionBindingRecord, s as SpaceChannelBindingRecord, sn as CreateGenerationRequest, st as SessionRecord, t as CohubHttpClient, tn as SpaceUsageSummary, tt as PromptTemplateCatalogEntry, u as SpacesApi, un as PublicGenerationDeclaration, ut as SessionTurnSignedUrlsResponse, v as GenerationStreamIntermediateMessage, vn as CohubClientOptions, vt as SpaceCreateResponse, w as createSessionGenerationStreamClient, wt as SpaceFsEncoding, x as GenerationStreamSubscriptionHandlers, xn as HttpTransport, xt as SpaceFsCompleteUploadResponse, y as GenerationStreamOutOfSyncEvent, yn as Fetch, yt as SpaceEnvInput, z as AcceptInvitationResponse, zt as SpaceFsUploadResponse } from "./chunks/http.js";
|
|
3
3
|
|
|
4
4
|
//#region src/apis/explore.d.ts
|
|
5
5
|
declare class ExploreApi {
|
|
@@ -32,4 +32,4 @@ declare class CohubClient {
|
|
|
32
32
|
}
|
|
33
33
|
declare const createCohubClient: (options?: CohubClientOptions) => CohubClient;
|
|
34
34
|
//#endregion
|
|
35
|
-
export { AcceptInvitationResponse, ApiError, type AssistantMessageCommit, COHUB_ENVIRONMENTS, Channel, ChannelConfig, CheckpointRecord, CohubClient, type CohubClientOptions, type CohubEnvironment, CohubHttpClient, ContentBlock, CreateGenerationRequest, CreateInvitationInput, CreateInvitationResponse, CreateSpacePromptInput, CreateSpacePromptResponse, CronJobRecord, DiscordChannelConfig, ExploreSpaceItem, type Fetch, Generation, type GenerationStreamCommitEvent, type GenerationStreamErrorEvent, type GenerationStreamEvent, type GenerationStreamFinalizedEvent, type GenerationStreamIntermediateMessage, type GenerationStreamOutOfSyncEvent, type GenerationStreamStateEvent, type GenerationStreamSubscriptionHandlers, type GenerationStreamTurnUpdatedEvent, GlobalSearchResponse, GlobalSearchResult, GlobalSearchType, HttpError, InvitationDetail, ListGenerationModelsResponse, MeResponse, MessageRecord, ModelCatalogEntry, PromptTemplateCatalogEntry, PromptTemplateCatalogResponse, PublicGenerationDeclaration, type RawHttpResponse, SessionBindingRecord, type SessionEventName, SessionForkRecord, SessionGenerationStreamClient, SessionMessageResponse, SessionMessagesPaginatedResponse, SessionMessagesResponse, type SessionPatchApplyInput, type SessionPatchApplyResult, SessionPatchReducer, type SessionPatchState, type SessionPatchStatus, SessionRecord, type SessionSubscriptionHandlers, SessionTurnIndexItem, SessionTurnIndexResponse, SessionTurnRecord, SessionTurnResponse, SessionTurnSegmentRecord, SessionTurnSignedUrlsResponse, SessionTurnStreamSnapshotResponse, SessionTurnWindowResponse, SessionTurnsPaginatedResponse, SpaceAccessPolicy, SpaceBootstrapSource, SpaceChannelBindingInput, type SpaceChannelBindingRecord, SpaceCheckpointDetailResponse, SpaceCreateResponse, SpaceEnvInput, type SpaceEventName, SpaceFsCompleteUploadInput, SpaceFsCompleteUploadResponse, SpaceFsCreateUploadInput, SpaceFsCreateUploadResponse, SpaceFsEncoding, SpaceFsEntry, SpaceFsFileKind, SpaceFsFileResponse, SpaceFsMoveInput, SpaceFsPreparingFile, SpaceFsReadFilesError, SpaceFsReadFilesInput, SpaceFsReadFilesResponse, SpaceFsTreeResponse, SpaceFsUploadEntry, SpaceFsUploadError, SpaceFsUploadPlanEntry, SpaceFsUploadPlanEntryInput, SpaceFsUploadProgress, SpaceFsUploadResponse, SpaceFsWriteFileInput, SpaceGitInfo, SpaceInvitation, SpaceListItem, SpaceMarkKind, SpaceMarkListItem, SpaceMarkRecord, SpaceMarkResourceType, SpaceMember, SpaceRecord, SpaceRole, SpaceSessionsResponse, SpaceUsageHourlyStat, SpaceUsageResponse, SpaceUsageSummary, TaskRunDetailResponse, TaskRunRecord, UserProfile, UserRulesResponse, UserSshKey, type WebSocketConnectionState, WebsocketClient, createCohubClient, createHttpClient, createSessionGenerationStreamClient, createSessionPatchReducer, createWebsocketClient, normalizeBaseUrl, normalizeWebsocketUrl, parseAssistantMessageCommit, resolveApiBaseUrl, resolveCohubEnvironment, resolveWebsocketUrl };
|
|
35
|
+
export { AcceptInvitationResponse, ApiError, type AssistantMessageCommit, COHUB_ENVIRONMENTS, Channel, ChannelConfig, CheckpointRecord, CohubClient, type CohubClientOptions, type CohubEnvironment, CohubHttpClient, ContentBlock, CreateGenerationRequest, CreateInvitationInput, CreateInvitationResponse, CreateSpacePromptInput, CreateSpacePromptResponse, CronJobRecord, DiscordChannelConfig, ExploreSpaceItem, type Fetch, Generation, type GenerationStreamCommitEvent, type GenerationStreamErrorEvent, type GenerationStreamEvent, type GenerationStreamFinalizedEvent, type GenerationStreamIntermediateMessage, type GenerationStreamOutOfSyncEvent, type GenerationStreamStateEvent, type GenerationStreamSubscriptionHandlers, type GenerationStreamTurnUpdatedEvent, GlobalSearchResponse, GlobalSearchResult, GlobalSearchType, HttpError, InvitationDetail, ListGenerationModelsResponse, MeResponse, MessageRecord, ModelCatalogEntry, PromptTemplateCatalogEntry, PromptTemplateCatalogResponse, PublicGenerationDeclaration, type RawHttpResponse, SessionBindingRecord, type SessionEventName, SessionForkRecord, SessionGenerationStreamClient, SessionMessageResponse, SessionMessagesPaginatedResponse, SessionMessagesResponse, type SessionPatchApplyInput, type SessionPatchApplyResult, SessionPatchReducer, type SessionPatchState, type SessionPatchStatus, SessionRecord, type SessionSubscriptionHandlers, SessionTurnIndexItem, SessionTurnIndexResponse, SessionTurnRecord, SessionTurnResponse, SessionTurnSegmentRecord, SessionTurnSignedUrlsResponse, SessionTurnStreamSnapshotResponse, SessionTurnWindowResponse, SessionTurnsPaginatedResponse, SpaceAccessPolicy, SpaceBootstrapSource, SpaceChannelBindingInput, type SpaceChannelBindingRecord, SpaceCheckpointDetailResponse, SpaceCreateResponse, SpaceEnvInput, type SpaceEventName, SpaceFsCompleteUploadInput, SpaceFsCompleteUploadResponse, SpaceFsCreateUploadInput, SpaceFsCreateUploadResponse, SpaceFsEncoding, SpaceFsEntry, SpaceFsFileKind, SpaceFsFileResponse, SpaceFsMoveInput, SpaceFsPreparingFile, SpaceFsReadFilesError, SpaceFsReadFilesInput, SpaceFsReadFilesResponse, SpaceFsTreeResponse, SpaceFsUploadEntry, SpaceFsUploadError, SpaceFsUploadPlanEntry, SpaceFsUploadPlanEntryInput, SpaceFsUploadProgress, SpaceFsUploadResponse, SpaceFsWriteFileInput, SpaceGitInfo, SpaceInvitation, SpaceListItem, SpaceMarkKind, SpaceMarkListItem, SpaceMarkRecord, SpaceMarkResourceType, SpaceMember, SpaceModListItem, SpaceRecord, SpaceRole, SpaceSessionsResponse, SpaceUsageHourlyStat, SpaceUsageResponse, SpaceUsageSummary, TaskRunDetailResponse, TaskRunRecord, UserProfile, UserRulesResponse, UserSshKey, type WebSocketConnectionState, WebsocketClient, createCohubClient, createHttpClient, createSessionGenerationStreamClient, createSessionPatchReducer, createWebsocketClient, normalizeBaseUrl, normalizeWebsocketUrl, parseAssistantMessageCommit, resolveApiBaseUrl, resolveCohubEnvironment, resolveWebsocketUrl };
|