@veltdev/types 6.0.11 → 6.0.13

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.
@@ -175,6 +175,24 @@ export interface SelfHostedConfig {
175
175
  * unchanged — no behavior change when the backend does not send it.
176
176
  */
177
177
  enablePortableBackend?: boolean;
178
+ /**
179
+ * Tier B (portable backend) identify bootstrap: the base URL of the customer's OWN
180
+ * self-hosted gateway (e.g. `https://velt.customer.internal`). Identify is what
181
+ * RETURNS `wsEndpoint`/`apiEndpoint`, so the gateway's address cannot come from
182
+ * identify itself — this option tells the SDK where to send it.
183
+ *
184
+ * - Unset (default): identify goes to the Velt-hosted `validateClient` URL — behavior
185
+ * byte-identical to today, including when `enablePortableBackend` is true.
186
+ * - Set (requires `enablePortableBackend: true`): identify is a plain-JSON
187
+ * `POST {portableBackendUrl}/identify` on the customer's gateway (NOT a
188
+ * Firebase-callable envelope) and the SDK never contacts Velt infrastructure for
189
+ * identify. Set without the flag is a reported misconfiguration and is ignored.
190
+ *
191
+ * `https://` is required; plain `http://` is tolerated for loopback hosts only (local
192
+ * self-host development gateways) — an insecure URL fails closed with zero egress
193
+ * (never a silent fallback to Velt). See specs/self-hosting-tier2 iteration-8.
194
+ */
195
+ portableBackendUrl?: string;
178
196
  /**
179
197
  * The RESOLVED module closure of the deployment profile (backend plan §8.3) — the
180
198
  * enabled-module-id list the backend deploy tooling emits in
@@ -220,4 +220,17 @@ export interface PermissionResult {
220
220
  accessRole?: UserPermissionAccessRole;
221
221
  expiresAt?: number;
222
222
  hasAccess: boolean;
223
+ /**
224
+ * ADDITIVE-OPTIONAL third state on Tier B gateway answers (backend Part 28
225
+ * iteration-1, `BACKEND-REPLY-THREE-ITEMS-2026-08-20.md` §2): on a
226
+ * folder-unprovisioned portable deployment, FOLDER-type entries answer
227
+ * `hasAccess: false` PLUS `errorCode: 'not_provided'` — "this deployment cannot
228
+ * answer the folder question", not "denied". Consumption contract (binding ack,
229
+ * `SDK-ACK-GETACCESS-ERRORCODE-2026-08-20.md`): the SDK skips the gate for the
230
+ * EXACT literal on FOLDER entries only; every other value — including unknown
231
+ * future codes — is inert and `hasAccess` is consumed verbatim. Entries for
232
+ * document/organization/context types never carry it; a provisioned build never
233
+ * emits `not_provided`. Hosted/resolver answers never carry this field.
234
+ */
235
+ errorCode?: string;
223
236
  }
@@ -640,6 +640,7 @@ export declare class Constants {
640
640
  VELT_ADVANCED_QUERIES: string;
641
641
  VELT_COMMENT_VIEWS_MIGRATED: string;
642
642
  VELT_AUTH_PROXY_HOST: string;
643
+ VELT_PORTABLE_SESSION: string;
643
644
  };
644
645
  static NON_NESTABLE_ELEMENTS: {
645
646
  [tag: string]: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@veltdev/types",
3
- "version": "6.0.11",
3
+ "version": "6.0.13",
4
4
  "description": "Velt is an SDK to add collaborative features to your product within minutes. Example: Comments like Figma, Frame.io, Google docs or sheets, Recording like Loom, Huddles like Slack and much more.",
5
5
  "homepage": "https://velt.dev",
6
6
  "keywords": [