@neta-art/cohub 3.1.0 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +33 -2
- package/dist/{board.d.ts → board/animation.d.ts} +4 -2
- package/dist/{chunks/board.js → board/animation.js} +5 -44
- package/dist/board/codec.d.ts +25 -0
- package/dist/board/codec.js +243 -0
- package/dist/board/core/bindings.d.ts +45 -0
- package/dist/board/core/bindings.js +162 -0
- package/dist/board/core/draw-geometry.d.ts +30 -0
- package/dist/board/core/draw-geometry.js +175 -0
- package/dist/board/core/export-assets.d.ts +14 -0
- package/dist/board/core/export-assets.js +22 -0
- package/dist/board/core/export-plan.d.ts +84 -0
- package/dist/board/core/export-plan.js +128 -0
- package/dist/board/core/file-preview.d.ts +178 -0
- package/dist/board/core/file-preview.js +282 -0
- package/dist/board/core/palette.d.ts +42 -0
- package/dist/board/core/palette.js +166 -0
- package/dist/board/core/shape-definition.d.ts +35 -0
- package/dist/board/core/shape-definition.js +64 -0
- package/dist/board/core/shape-types.d.ts +140 -0
- package/dist/board/core/shape-types.js +27 -0
- package/dist/board/core/text-metrics.d.ts +18 -0
- package/dist/board/core/text-metrics.js +43 -0
- package/dist/board/core/tool-styles.d.ts +52 -0
- package/dist/board/core/tool-styles.js +51 -0
- package/dist/board/export/index.d.ts +56 -0
- package/dist/board/export/index.js +86 -0
- package/dist/board/export/scene.d.ts +35 -0
- package/dist/board/export/scene.js +69 -0
- package/dist/board/geometry.d.ts +139 -0
- package/dist/board/geometry.js +492 -0
- package/dist/board/headless/index.d.ts +69 -0
- package/dist/board/headless/index.js +150 -0
- package/dist/board/image-key.d.ts +19 -0
- package/dist/board/image-key.js +34 -0
- package/dist/board/index.d.ts +17 -0
- package/dist/board/index.js +17 -0
- package/dist/board/render/index.d.ts +6 -0
- package/dist/board/render/index.js +6 -0
- package/dist/board/render/palette.d.ts +5 -0
- package/dist/board/render/palette.js +30 -0
- package/dist/board/render/renderers/arrow-card-renderer.d.ts +5 -0
- package/dist/board/render/renderers/arrow-card-renderer.js +157 -0
- package/dist/board/render/renderers/base-card-renderer.d.ts +46 -0
- package/dist/board/render/renderers/base-card-renderer.js +153 -0
- package/dist/board/render/renderers/board-renderer-registry.d.ts +85 -0
- package/dist/board/render/renderers/board-renderer-registry.js +41 -0
- package/dist/board/render/renderers/draw-card-renderer.d.ts +5 -0
- package/dist/board/render/renderers/draw-card-renderer.js +82 -0
- package/dist/board/render/renderers/far-plate.d.ts +39 -0
- package/dist/board/render/renderers/far-plate.js +92 -0
- package/dist/board/render/renderers/file-card-renderer.d.ts +40 -0
- package/dist/board/render/renderers/file-card-renderer.js +350 -0
- package/dist/board/render/renderers/frame-card-renderer.d.ts +5 -0
- package/dist/board/render/renderers/frame-card-renderer.js +99 -0
- package/dist/board/render/renderers/geo-card-renderer.d.ts +5 -0
- package/dist/board/render/renderers/geo-card-renderer.js +128 -0
- package/dist/board/render/renderers/image-card-renderer.d.ts +8 -0
- package/dist/board/render/renderers/image-card-renderer.js +138 -0
- package/dist/board/render/renderers/text-card-renderer.d.ts +7 -0
- package/dist/board/render/renderers/text-card-renderer.js +94 -0
- package/dist/board/render/renderers/unknown-card-renderer.d.ts +5 -0
- package/dist/board/render/renderers/unknown-card-renderer.js +102 -0
- package/dist/board/render/renderers/video-card-renderer.d.ts +7 -0
- package/dist/board/render/renderers/video-card-renderer.js +146 -0
- package/dist/board/render/text-measurement.d.ts +30 -0
- package/dist/board/render/text-measurement.js +57 -0
- package/dist/board/render/text-resolution.d.ts +16 -0
- package/dist/board/render/text-resolution.js +43 -0
- package/dist/board/render/themes/board-theme-registry.d.ts +22 -0
- package/dist/board/render/themes/board-theme-registry.js +13 -0
- package/dist/board/render/themes/clean-theme.d.ts +5 -0
- package/dist/board/render/themes/clean-theme.js +105 -0
- package/dist/chunks/http.d.ts +2 -3
- package/dist/chunks/http.js +4 -0
- package/dist/chunks/websocket.d.ts +851 -353
- package/dist/http.d.ts +1 -2
- package/dist/index.d.ts +100 -5
- package/dist/index.js +391 -1
- package/dist/protocol/dist/board-constants.d.ts +23 -0
- package/dist/protocol/dist/board-constants.js +61 -0
- package/dist/protocol/dist/board-document.d.ts +1047 -0
- package/dist/protocol/dist/board-document.js +321 -0
- package/dist/protocol/dist/board.d.ts +186 -0
- package/dist/protocol/dist/board.js +207 -0
- package/dist/protocol/dist/index.d.ts +5 -0
- package/dist/protocol/dist/index.js +5 -0
- package/dist/protocol/dist/provenance.js +12 -0
- package/dist/protocol/dist/realtime/board-awareness.d.ts +1 -0
- package/dist/protocol/dist/realtime/board-awareness.js +119 -0
- package/dist/protocol/dist/realtime/types.d.ts +2 -0
- package/package.json +40 -4
- package/dist/board.js +0 -2
- package/dist/chunks/board.d.ts +0 -2589
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { cleanBoardTheme } from "./clean-theme.js";
|
|
2
|
+
//#region src/board/render/themes/board-theme-registry.ts
|
|
3
|
+
const boardThemeRenderers = [cleanBoardTheme];
|
|
4
|
+
function getBoardThemeRenderer(document) {
|
|
5
|
+
return boardThemeRenderers.find((renderer) => renderer.canRender(document)) ?? cleanBoardTheme;
|
|
6
|
+
}
|
|
7
|
+
function registerBoardThemeRenderer(renderer) {
|
|
8
|
+
const existingIndex = boardThemeRenderers.findIndex((candidate) => candidate.id === renderer.id);
|
|
9
|
+
if (existingIndex >= 0) boardThemeRenderers.splice(existingIndex, 1, renderer);
|
|
10
|
+
else boardThemeRenderers.unshift(renderer);
|
|
11
|
+
}
|
|
12
|
+
//#endregion
|
|
13
|
+
export { getBoardThemeRenderer, registerBoardThemeRenderer };
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { Container, Graphics, RenderTexture, TilingSprite } from "pixi.js";
|
|
2
|
+
//#region src/board/render/themes/clean-theme.ts
|
|
3
|
+
const partsByContainer = /* @__PURE__ */ new WeakMap();
|
|
4
|
+
/** Positive modulo so tile offsets stay valid for negative viewport offsets. */
|
|
5
|
+
function wrap(value, period) {
|
|
6
|
+
return (value % period + period) % period;
|
|
7
|
+
}
|
|
8
|
+
function buildGridTexture(context, size, color, opacity, kind = "dots") {
|
|
9
|
+
const graphics = new Graphics();
|
|
10
|
+
if (kind === "grid") graphics.moveTo(0, .5).lineTo(size, .5).moveTo(.5, 0).lineTo(.5, size).stroke({
|
|
11
|
+
color,
|
|
12
|
+
width: 1,
|
|
13
|
+
alpha: opacity
|
|
14
|
+
});
|
|
15
|
+
else graphics.circle(.5, .5, .9).fill({
|
|
16
|
+
color,
|
|
17
|
+
alpha: opacity
|
|
18
|
+
});
|
|
19
|
+
const target = RenderTexture.create({
|
|
20
|
+
width: size,
|
|
21
|
+
height: size
|
|
22
|
+
});
|
|
23
|
+
context.app.renderer.render({
|
|
24
|
+
container: graphics,
|
|
25
|
+
target
|
|
26
|
+
});
|
|
27
|
+
graphics.destroy();
|
|
28
|
+
return target;
|
|
29
|
+
}
|
|
30
|
+
function sync(parts, context) {
|
|
31
|
+
const { app, document, viewport, palette } = context;
|
|
32
|
+
const width = app.screen.width;
|
|
33
|
+
const height = app.screen.height;
|
|
34
|
+
const bgAlpha = context.hasImageBackground ? 0 : 1;
|
|
35
|
+
if (parts.lastWidth !== width || parts.lastHeight !== height || parts.lastBg !== palette.bg || parts.lastBgAlpha !== bgAlpha) {
|
|
36
|
+
parts.fill.clear();
|
|
37
|
+
parts.fill.rect(0, 0, width, height).fill({
|
|
38
|
+
color: palette.bg,
|
|
39
|
+
alpha: bgAlpha
|
|
40
|
+
});
|
|
41
|
+
parts.lastWidth = width;
|
|
42
|
+
parts.lastHeight = height;
|
|
43
|
+
parts.lastBg = palette.bg;
|
|
44
|
+
parts.lastBgAlpha = bgAlpha;
|
|
45
|
+
}
|
|
46
|
+
const appearance = document.appearance;
|
|
47
|
+
const visible = appearance.grid?.visible === true;
|
|
48
|
+
const size = Math.max(4, appearance.grid?.size ?? 24);
|
|
49
|
+
const opacity = appearance.grid?.opacity ?? .12;
|
|
50
|
+
const kind = appearance.background?.kind === "grid" ? "grid" : "dots";
|
|
51
|
+
const key = `${kind}|${size}|${palette.border}|${opacity}`;
|
|
52
|
+
if (!visible) {
|
|
53
|
+
if (parts.sprite) parts.sprite.visible = false;
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
if (parts.textureKey !== key || !parts.sprite) {
|
|
57
|
+
if (parts.sprite) {
|
|
58
|
+
const previousTexture = parts.sprite.texture;
|
|
59
|
+
parts.sprite.destroy();
|
|
60
|
+
previousTexture.destroy(true);
|
|
61
|
+
}
|
|
62
|
+
parts.sprite = new TilingSprite({
|
|
63
|
+
texture: buildGridTexture(context, size, palette.border, opacity, kind),
|
|
64
|
+
width,
|
|
65
|
+
height
|
|
66
|
+
});
|
|
67
|
+
parts.textureKey = key;
|
|
68
|
+
parts.fill.parent?.addChild(parts.sprite);
|
|
69
|
+
}
|
|
70
|
+
const sprite = parts.sprite;
|
|
71
|
+
if (!sprite) return;
|
|
72
|
+
sprite.visible = true;
|
|
73
|
+
sprite.width = width;
|
|
74
|
+
sprite.height = height;
|
|
75
|
+
const step = size * viewport.zoom;
|
|
76
|
+
sprite.tileScale.set(viewport.zoom);
|
|
77
|
+
sprite.tilePosition.set(wrap(viewport.x, step), wrap(viewport.y, step));
|
|
78
|
+
}
|
|
79
|
+
const cleanBoardTheme = {
|
|
80
|
+
id: "clean",
|
|
81
|
+
canRender: () => true,
|
|
82
|
+
createBackground: (context) => {
|
|
83
|
+
const container = new Container();
|
|
84
|
+
const fill = new Graphics();
|
|
85
|
+
container.addChild(fill);
|
|
86
|
+
const parts = {
|
|
87
|
+
fill,
|
|
88
|
+
sprite: null,
|
|
89
|
+
textureKey: "",
|
|
90
|
+
lastWidth: -1,
|
|
91
|
+
lastHeight: -1,
|
|
92
|
+
lastBg: NaN,
|
|
93
|
+
lastBgAlpha: NaN
|
|
94
|
+
};
|
|
95
|
+
partsByContainer.set(container, parts);
|
|
96
|
+
sync(parts, context);
|
|
97
|
+
return container;
|
|
98
|
+
},
|
|
99
|
+
updateBackground: (container, context) => {
|
|
100
|
+
const parts = partsByContainer.get(container);
|
|
101
|
+
if (parts) sync(parts, context);
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
//#endregion
|
|
105
|
+
export { cleanBoardTheme };
|
package/dist/chunks/http.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { $ as CreateSpacePromptInput, $r as BoardPlaybackChangedEvent$1, Ar as UserSessionsResponse, At as ModelCatalogEntry, Bi as ContentBlock, Bn as SpaceFsCreateUploadResponse, Cn as SpaceCommerceBuyerProfile, Dn as SpaceCommerceProduct, Dr as UserRulesResponse, Ei as SessionForkRecord, En as SpaceCommerceOrder, Er as UserProfile, Et as LabelResourceType, Fi as CreateSpaceCompletionInput, Fn as SpaceDefaultResponse, Gn as SpaceFsMoveInput, Gt as ReferenceDirection, In as SpaceEnvInput, It as PromptTemplateCatalogResponse, J as ClaimReferralResponse, Jt as ReferenceQueryableType, K as CheckpointDiffSummary, Kn as SpaceFsPreparingFile, Kt as ReferenceKind, Li as SpaceCompletionResult, Ln as SpaceFsCompleteUploadInput, Lt as PublicReferral, Mn as SpaceConfigResponse, Mr as ChannelHealth, Mt as PatchResourceLabelsResponse, Nn as SpaceConfigUpdateResponse, Nt as Permission, On as SpaceCommerceProductBenefitBinding, Pn as SpaceCreateResponse, Qr as BoardAwarenessUpdatedEvent$1, R as Channel, Ri as SpaceCompletionStreamEvent, Rn as SpaceFsCompleteUploadResponse, Rt as PublicUserPageResponse, Sn as SpaceCommerceBenefit, Sr as SpaceUsageResponse, St as LabelItemsResponse, Ti as MessageRecord, Tr as TaskRunRecord, Ut as ReferenceAggregateGroupBy, V as CheckpointDiffFileResponse, Vi as BillingPayload, Wn as SpaceFsFileResponse, Wt as ReferenceAggregateResponse, X as CreateInvitationResponse, Xn as SpaceFsTreeResponse, Xr as GenerationModelDeclaration, Y as CreateInvitationInput, Yn as SpaceFsReadFilesResponse, Yr as GenerationContentBlock, Z as CreateSpaceInput, Zt as ReferralDashboard, a as WebsocketClientOptions, ai as SessionTurnPatchEvent, an as SessionMessageResponse, ar as SpaceInvitation, at as CursorPageInfo, bi as SpacePublicEndpoints, br as SpaceSessionsResponse, cn as SessionRecord, d as BatchUserProfilesResponse, dn as SessionTurnSignedUrlsResponse, dr as SpacePendingDiffSummary, ei as BoardTransactionAppliedEvent$1, et as CreateSpacePromptResponse, fn as SessionTurnStreamSnapshotResponse, fr as SpacePresenceSnapshot, ft as GlobalSearchResponse, gn as SkillCatalogResponse, gr as SpaceRole, hr as SpaceRecord, ht as InvitationDetail, ir as SpaceFsWriteFileInput, it as CronJobUpdatePatch, jn as SpaceConfigInput, jr as ChannelConfig, jt as PatchResourceLabelsInput, ki as SessionTurnRecord, kt as MeResponse, l as AcceptInvitationResponse, li as RequestSource, ln as SessionTurnIndexResponse, lr as SpaceModListItem, mn as SessionTurnsPaginatedResponse, mr as SpacePublicProfile, mt as GlobalSearchType, on as SessionMessagesPaginatedResponse, pn as SessionTurnWindowResponse, q as CheckpointRecord, qt as ReferenceQueryResponse, r as WebsocketClient, ri as RealtimePatchOperation, rr as SpaceFsUploadResponse, rt as CronJobRecord, s as WebsocketEventPayload, sn as SessionMessagesResponse, sr as SpaceMember, tt as CreateSpaceSessionInput, un as SessionTurnResponse, ur as SpacePendingDiffFileResponse, vn as SpaceAccessPolicy, wi as BoardAwarenessUpdate, wr as TaskRunDetailResponse, wt as LabelListItem, xn as SpaceCheckpointDetailResponse, xt as LabelAssignmentRecord, zi as Usage, zn as SpaceFsCreateUploadInput } from "./websocket.js";
|
|
1
|
+
import { $ as CreateSpacePromptInput, $i as ContentBlock, $r as BoardPlaybackChangedEvent$1, Ar as UserSessionsResponse, At as ModelCatalogEntry, Bn as SpaceFsCreateUploadResponse, Cn as SpaceCommerceBuyerProfile, Di as BoardPlaybackCommand, Dn as SpaceCommerceProduct, Dr as UserRulesResponse, En as SpaceCommerceOrder, Er as UserProfile, Et as LabelResourceType, Fn as SpaceDefaultResponse, Gn as SpaceFsMoveInput, Gt as ReferenceDirection, Ii as SpacePublicEndpoints, In as SpaceEnvInput, It as PromptTemplateCatalogResponse, J as ClaimReferralResponse, Jt as ReferenceQueryableType, K as CheckpointDiffSummary, Kn as SpaceFsPreparingFile, Kt as ReferenceKind, Li as MessageRecord, Ln as SpaceFsCompleteUploadInput, Lt as PublicReferral, Mi as BoardTransaction, Mn as SpaceConfigResponse, Mr as ChannelHealth, Mt as PatchResourceLabelsResponse, Ni as BoardValidationResult, Nn as SpaceConfigUpdateResponse, Nt as Permission, Oi as BoardPlaybackSnapshot, On as SpaceCommerceProductBenefitBinding, Pn as SpaceCreateResponse, Qi as BillingPayload, Qr as BoardAwarenessUpdatedEvent$1, R as Channel, Ri as SessionForkRecord, Rn as SpaceFsCompleteUploadResponse, Rt as PublicUserPageResponse, Sn as SpaceCommerceBenefit, Sr as SpaceUsageResponse, St as LabelItemsResponse, Tr as TaskRunRecord, Ut as ReferenceAggregateGroupBy, V as CheckpointDiffFileResponse, Vi as SessionTurnRecord, Wn as SpaceFsFileResponse, Wt as ReferenceAggregateResponse, X as CreateInvitationResponse, Xi as SpaceCompletionStreamEvent, Xn as SpaceFsTreeResponse, Xr as GenerationModelDeclaration, Y as CreateInvitationInput, Yi as SpaceCompletionResult, Yn as SpaceFsReadFilesResponse, Yr as GenerationContentBlock, Z as CreateSpaceInput, Zi as Usage, Zt as ReferralDashboard, _i as BoardCreateInput, a as WebsocketClientOptions, an as SessionMessageResponse, ar as SpaceInvitation, at as CursorPageInfo, br as SpaceSessionsResponse, cn as SessionRecord, d as BatchUserProfilesResponse, dn as SessionTurnSignedUrlsResponse, dr as SpacePendingDiffSummary, ei as BoardTransactionAppliedEvent$1, et as CreateSpacePromptResponse, fi as BoardAwarenessUpdate, fn as SessionTurnStreamSnapshotResponse, fr as SpacePresenceSnapshot, ft as GlobalSearchResponse, gn as SkillCatalogResponse, gr as SpaceRole, hi as BoardCapabilities, hr as SpaceRecord, ht as InvitationDetail, ir as SpaceFsWriteFileInput, it as CronJobUpdatePatch, jn as SpaceConfigInput, jr as ChannelConfig, jt as PatchResourceLabelsInput, kt as MeResponse, l as AcceptInvitationResponse, ln as SessionTurnIndexResponse, lr as SpaceModListItem, mi as BoardBootstrap, mn as SessionTurnsPaginatedResponse, mr as SpacePublicProfile, mt as GlobalSearchType, on as SessionMessagesPaginatedResponse, pn as SessionTurnWindowResponse, q as CheckpointRecord, qi as CreateSpaceCompletionInput, qt as ReferenceQueryResponse, r as WebsocketClient, ra as RequestSource, ri as RealtimePatchOperation, rr as SpaceFsUploadResponse, rt as CronJobRecord, s as WebsocketEventPayload, si as SessionTurnPatchEvent, sn as SessionMessagesResponse, sr as SpaceMember, tt as CreateSpaceSessionInput, un as SessionTurnResponse, ur as SpacePendingDiffFileResponse, vn as SpaceAccessPolicy, wr as TaskRunDetailResponse, wt as LabelListItem, xi as BoardInspectInput, xn as SpaceCheckpointDetailResponse, xt as LabelAssignmentRecord, zn as SpaceFsCreateUploadInput } from "./websocket.js";
|
|
3
2
|
import { n as CohubEnvironment } from "./environment.js";
|
|
4
3
|
import { a as VoiceInputCreateOptions } from "./voice-input.js";
|
|
5
4
|
//#region ../protocol/dist/model/status.d.ts
|
|
@@ -883,7 +882,7 @@ type SessionSubscriptionHandlers = {
|
|
|
883
882
|
event?: (event: WebsocketEventPayload) => void;
|
|
884
883
|
};
|
|
885
884
|
type SessionEventName = "created" | "updated" | "turn.created" | "turn.patch" | "turn.lifecycle" | "turn.updated" | "turn.finalized" | "turn.error" | "message.persisted";
|
|
886
|
-
type SpaceEventName = SessionEventName | "fs.changed" | "ports.changed" | "presence.updated" | "board.transaction.applied" | "board.playback.changed" | "task.created" | "task.updated" | "event";
|
|
885
|
+
type SpaceEventName = SessionEventName | "fs.changed" | "ports.changed" | "presence.updated" | "board.transaction.applied" | "board.playback.changed" | "work.version.published" | "task.created" | "task.updated" | "event";
|
|
887
886
|
declare class SpacesApi {
|
|
888
887
|
private readonly transport;
|
|
889
888
|
constructor(transport: HttpTransport);
|
package/dist/chunks/http.js
CHANGED
|
@@ -1818,6 +1818,10 @@ var SpaceEventsApi = class {
|
|
|
1818
1818
|
handler(event);
|
|
1819
1819
|
return;
|
|
1820
1820
|
}
|
|
1821
|
+
if (type === "work.version.published" && event.type === "work.version.published") {
|
|
1822
|
+
handler(event);
|
|
1823
|
+
return;
|
|
1824
|
+
}
|
|
1821
1825
|
if (type === "task.created" && event.type === "task.created") {
|
|
1822
1826
|
handler(event);
|
|
1823
1827
|
return;
|