@neta-art/cohub 5.3.1 → 5.3.2

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.
@@ -1,4 +1,4 @@
1
- import { E as getRealtimeSpaceRoom, T as getRealtimeBoardRoom, n as HttpTransport, t as HttpError } from "./transport.js";
1
+ import { D as getRealtimeSpaceRoom, E as getRealtimeBoardRoom, n as HttpTransport, t as HttpError } from "./transport.js";
2
2
  import { a as resolveApiBaseUrl } from "./environment.js";
3
3
  //#region src/apis/channels.ts
4
4
  var ChannelsApi = class {
@@ -4,6 +4,15 @@ const WS_COMPACT_STREAM_CAPABILITY = "session.compact_stream.v1";
4
4
  const WS_ROOM_SUBSCRIPTION_CAPABILITY = "realtime.rooms.v1";
5
5
  const WS_BOARD_AWARENESS_CAPABILITY = "board.awareness.v1";
6
6
  const WS_REALTIME_ROOM_CAPABILITY = "realtime.room.v1";
7
+ const REALTIME_DOMAINS = [
8
+ "system",
9
+ "session",
10
+ "space",
11
+ "label",
12
+ "room",
13
+ "ui"
14
+ ];
15
+ const isRealtimeDomain = (value) => typeof value === "string" && REALTIME_DOMAINS.some((domain) => domain === value);
7
16
  /** Accepted room event names. Shared so a client can reject one before sending. */
8
17
  const REALTIME_ROOM_EVENT_NAME_PATTERN = /^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$/;
9
18
  /** Maximum encoded size of a room event payload. */
@@ -423,4 +432,4 @@ var HttpTransport = class {
423
432
  }
424
433
  };
425
434
  //#endregion
426
- export { WS_REALTIME_ROOM_CAPABILITY as C, getSessionTurnPatchStreamKey as D, getRealtimeSpaceRoom as E, normalizeRealtimeRooms as O, WS_COMPACT_STREAM_CAPABILITY as S, getRealtimeBoardRoom as T, requestSourceToHeaders as _, sanitizeAccessToken as a, REALTIME_ROOM_MAX_PAYLOAD_BYTES as b, REQUEST_SOURCE_VIA_MAX_LENGTH as c, isRequestSourceEmpty as d, isRequestSourceUuid as f, readRequestSourceFromEnv as g, parseRequestSourceFromHeaders as h, matchesUnauthorizedErrorToken as i, hasRequestSourceIdentity as l, normalizeRequestSource as m, HttpTransport as n, COHUB_SOURCE_HEADER as o, mergeRequestSourceIntoMeta as p, joinApiUrl as r, COHUB_SOURCE_HEADER_NAMES as s, HttpError as t, isRequestSourceClientId as u, resolveRequestSourceChannel as v, WS_ROOM_SUBSCRIPTION_CAPABILITY as w, WS_BOARD_AWARENESS_CAPABILITY as x, REALTIME_ROOM_EVENT_NAME_PATTERN as y };
435
+ export { normalizeRealtimeRooms as A, WS_COMPACT_STREAM_CAPABILITY as C, getRealtimeSpaceRoom as D, getRealtimeBoardRoom as E, getSessionTurnPatchStreamKey as O, WS_BOARD_AWARENESS_CAPABILITY as S, WS_ROOM_SUBSCRIPTION_CAPABILITY as T, requestSourceToHeaders as _, sanitizeAccessToken as a, REALTIME_ROOM_EVENT_NAME_PATTERN as b, REQUEST_SOURCE_VIA_MAX_LENGTH as c, isRequestSourceEmpty as d, isRequestSourceUuid as f, readRequestSourceFromEnv as g, parseRequestSourceFromHeaders as h, matchesUnauthorizedErrorToken as i, isRealtimeDomain as k, hasRequestSourceIdentity as l, normalizeRequestSource as m, HttpTransport as n, COHUB_SOURCE_HEADER as o, mergeRequestSourceIntoMeta as p, joinApiUrl as r, COHUB_SOURCE_HEADER_NAMES as s, HttpError as t, isRequestSourceClientId as u, resolveRequestSourceChannel as v, WS_REALTIME_ROOM_CAPABILITY as w, REALTIME_ROOM_MAX_PAYLOAD_BYTES as x, REALTIME_DOMAINS as y };
@@ -106,6 +106,7 @@ type BillingPayload = {
106
106
  status?: "blocked" | "allowed_with_debt";
107
107
  netUsd?: number;
108
108
  hardNegativeLimitUsd?: number;
109
+ minimumBalanceUsd?: number;
109
110
  };
110
111
  //#endregion
111
112
  //#region ../protocol/dist/core/usage.d.ts
@@ -1377,11 +1378,13 @@ type BoardAwarenessGesture = z.infer<typeof BoardAwarenessGestureSchema>;
1377
1378
  type BoardAwarenessUpdate = z.infer<typeof BoardAwarenessUpdateSchema>;
1378
1379
  //#endregion
1379
1380
  //#region ../protocol/dist/realtime/types.d.ts
1381
+ declare const REALTIME_DOMAINS: readonly ["system", "session", "space", "label", "room", "ui"];
1382
+ type RealtimeDomain = (typeof REALTIME_DOMAINS)[number];
1380
1383
  type RealtimeRoom = `space:${string}` | `user:${string}` | `board:${string}` | `room:${string}`;
1381
1384
  type RealtimeEnvelope = {
1382
1385
  id: string;
1383
1386
  timestamp: number;
1384
- domain: "system" | "session" | "space" | "label" | "room" | "ui";
1387
+ domain: RealtimeDomain;
1385
1388
  type: string;
1386
1389
  requestId?: string | null;
1387
1390
  spaceId?: string | null;
@@ -2635,7 +2638,7 @@ type BillingRedemptionResult = {
2635
2638
  };
2636
2639
  type BillingConversionIntent = {
2637
2640
  level: "soft" | "hard";
2638
- reason: "negative_balance" | "negative_balance_limit_exceeded" | "feature_not_entitled";
2641
+ reason: "negative_balance" | "negative_balance_limit_exceeded" | "minimum_balance_not_met" | "feature_not_entitled";
2639
2642
  audience: "free" | "paid" | "unknown";
2640
2643
  preferredOfferKind: "plan" | "upgrade" | "addon" | "mixed";
2641
2644
  title: string;
@@ -2655,6 +2658,7 @@ type BillingResponsePayload = {
2655
2658
  status?: "blocked" | "allowed_with_debt";
2656
2659
  netUsd?: number;
2657
2660
  hardNegativeLimitUsd?: number;
2661
+ minimumBalanceUsd?: number;
2658
2662
  };
2659
2663
  type BillingBalanceActivityKind = "grant" | "usage" | "refund" | "expire" | "revoke" | "adjust";
2660
2664
  type BillingBalanceActivityStatus = "covered" | "overage" | "partial" | null;
@@ -1,4 +1,4 @@
1
- import { C as WS_REALTIME_ROOM_CAPABILITY, D as getSessionTurnPatchStreamKey, E as getRealtimeSpaceRoom, O as normalizeRealtimeRooms, S as WS_COMPACT_STREAM_CAPABILITY, t as HttpError, w as WS_ROOM_SUBSCRIPTION_CAPABILITY, x as WS_BOARD_AWARENESS_CAPABILITY } from "./transport.js";
1
+ import { A as normalizeRealtimeRooms, C as WS_COMPACT_STREAM_CAPABILITY, D as getRealtimeSpaceRoom, O as getSessionTurnPatchStreamKey, S as WS_BOARD_AWARENESS_CAPABILITY, T as WS_ROOM_SUBSCRIPTION_CAPABILITY, k as isRealtimeDomain, t as HttpError, w as WS_REALTIME_ROOM_CAPABILITY } from "./transport.js";
2
2
  import { c as resolveWebsocketUrl } from "./environment.js";
3
3
  //#region src/http-error.ts
4
4
  /** Shared HTTP error code for every plan entitlement gate (402). */
@@ -88,7 +88,7 @@ const isRealtimeEnvelope = (value) => {
88
88
  if (!isRecord(value)) return false;
89
89
  if (typeof value.id !== "string") return false;
90
90
  if (typeof value.timestamp !== "number") return false;
91
- if (value.domain !== "system" && value.domain !== "session" && value.domain !== "space" && value.domain !== "label" && value.domain !== "room") return false;
91
+ if (!isRealtimeDomain(value.domain)) return false;
92
92
  if (typeof value.type !== "string") return false;
93
93
  if (!isRecord(value.payload)) return false;
94
94
  return true;
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { A as parseAssistantMessageCommit, B as ModelsApi, C as SpaceClient, D as buildSpacePath, E as buildSpaceInvitePath, F as ReferencesApi, H as CronJobsApi, I as SearchApi, L as PublicAssetsApi, M as createSessionPatchReducer, N as ensureRealtimeConnected, O as SessionGenerationStreamClient, P as SessionAccessApi, R as SkillsApi, S as BoardTransactionError, T as PublicInviteApi, U as ChannelsApi, V as GenerationsApi, _ as isUiSurfaceMethod, a as ReferralsApi, b as TasksApi, c as UiCommandsApi, d as UI_COMMAND_PAYLOAD_MAX_BYTES, f as UI_COMMAND_PENDING_TTL_SECONDS, g as isTerminalUiCommandStatus, h as UI_COMMAND_VERSION, i as WorksApi, j as SessionPatchReducer, k as createSessionGenerationStreamClient, l as UI_COMMAND_DEFAULT_TIMEOUT_MS, m as UI_COMMAND_TERMINAL_TTL_SECONDS, n as createHttpClient, o as UsersApi, p as UI_COMMAND_SETTLEMENT_GRACE_SECONDS, r as WorkCommerceApi, s as UserApi, t as CohubHttpClient, u as UI_COMMAND_MAX_TIMEOUT_MS, v as parseUiCommand, w as SpacesApi, x as BoardClient, y as parseUiCommandId, z as PromptsApi } from "./chunks/http.js";
2
- import { _ as requestSourceToHeaders, a as sanitizeAccessToken, c as REQUEST_SOURCE_VIA_MAX_LENGTH, d as isRequestSourceEmpty, f as isRequestSourceUuid, g as readRequestSourceFromEnv, h as parseRequestSourceFromHeaders, i as matchesUnauthorizedErrorToken, l as hasRequestSourceIdentity, m as normalizeRequestSource, n as HttpTransport, o as COHUB_SOURCE_HEADER, p as mergeRequestSourceIntoMeta, r as joinApiUrl, s as COHUB_SOURCE_HEADER_NAMES, t as HttpError, u as isRequestSourceClientId, v as resolveRequestSourceChannel, y as REALTIME_ROOM_EVENT_NAME_PATTERN } from "./chunks/transport.js";
2
+ import { _ as requestSourceToHeaders, a as sanitizeAccessToken, b as REALTIME_ROOM_EVENT_NAME_PATTERN, c as REQUEST_SOURCE_VIA_MAX_LENGTH, d as isRequestSourceEmpty, f as isRequestSourceUuid, g as readRequestSourceFromEnv, h as parseRequestSourceFromHeaders, i as matchesUnauthorizedErrorToken, l as hasRequestSourceIdentity, m as normalizeRequestSource, n as HttpTransport, o as COHUB_SOURCE_HEADER, p as mergeRequestSourceIntoMeta, r as joinApiUrl, s as COHUB_SOURCE_HEADER_NAMES, t as HttpError, u as isRequestSourceClientId, v as resolveRequestSourceChannel, y as REALTIME_DOMAINS } from "./chunks/transport.js";
3
3
  import { a as resolveApiBaseUrl, c as resolveWebsocketUrl, i as normalizeWebsocketUrl, n as normalizeBaseUrl, o as resolveCohubEnvironment, r as normalizeVoiceInputWebsocketUrl, s as resolveVoiceInputWebsocketUrl, t as COHUB_ENVIRONMENTS } from "./chunks/environment.js";
4
4
  import { a as extractBillingPayload, c as isFeatureNotEntitledError, i as FEATURE_NOT_ENTITLED_ERROR_CODE, l as isHttpErrorCode, n as createWebsocketClient, o as isBillingAccessBlockedCode, r as BILLING_ACCESS_BLOCKED_ERROR_CODE, s as isBillingAccessBlockedError, t as WebsocketClient } from "./chunks/websocket.js";
5
5
  import { VoiceApi, VoiceInputClient, createVoiceInputClient } from "./voice-input.js";
@@ -384,14 +384,7 @@ z.discriminatedUnion("type", [
384
384
  z.object({
385
385
  id: z.string(),
386
386
  timestamp: z.number(),
387
- domain: z.enum([
388
- "system",
389
- "session",
390
- "space",
391
- "label",
392
- "room",
393
- "ui"
394
- ]),
387
+ domain: z.enum(REALTIME_DOMAINS),
395
388
  type: z.string(),
396
389
  requestId: z.string().nullable().optional(),
397
390
  spaceId: z.string().nullable().optional(),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neta-art/cohub",
3
- "version": "5.3.1",
3
+ "version": "5.3.2",
4
4
  "description": "Cohub SDK for spaces, sessions, boards, and realtime agent collaboration.",
5
5
  "license": "Apache-2.0",
6
6
  "private": false,