@burdenoff/fe-libs 2026.529.3 → 2026.529.5

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.
@@ -0,0 +1,270 @@
1
+ import { CloseCode as e, MessageType as t, isObject as n, limitCloseReason as r, parseMessage as i, stringifyMessage as a } from "./common-CGW11Fyb.js";
2
+ //#region node_modules/graphql-ws/dist/client.js
3
+ function o(n) {
4
+ let { url: o, connectionParams: d, lazy: f = !0, onNonLazyError: p = console.error, lazyCloseTimeout: m = 0, keepAlive: h = 0, disablePong: g, connectionAckWaitTimeout: _ = 0, retryAttempts: v = 5, retryWait: y = async function(e) {
5
+ let t = 2 ** e;
6
+ await new Promise((e) => setTimeout(e, t * 1e3 + Math.floor(Math.random() * 2700 + 300)));
7
+ }, shouldRetry: b = c, on: x, webSocketImpl: S, generateID: C = function() {
8
+ return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (e) => {
9
+ let t = Math.random() * 16 | 0;
10
+ return (e == "x" ? t : t & 3 | 8).toString(16);
11
+ });
12
+ }, jsonMessageReplacer: w, jsonMessageReviver: T } = n, E;
13
+ if (S) {
14
+ if (!u(S)) throw Error("Invalid WebSocket implementation provided");
15
+ E = S;
16
+ } else typeof WebSocket < "u" ? E = WebSocket : typeof global < "u" ? E = global.WebSocket || global.MozWebSocket : typeof window < "u" && (E = window.WebSocket || window.MozWebSocket);
17
+ if (!E) throw Error("WebSocket implementation missing; on Node you can `import WebSocket from 'ws';` and pass `webSocketImpl: WebSocket` to `createClient`");
18
+ let D = E, O = (() => {
19
+ let e = /* @__PURE__ */ (() => {
20
+ let e = {};
21
+ return {
22
+ on(t, n) {
23
+ return e[t] = n, () => {
24
+ delete e[t];
25
+ };
26
+ },
27
+ emit(t) {
28
+ "id" in t && e[t.id]?.(t);
29
+ }
30
+ };
31
+ })(), t = {
32
+ connecting: x?.connecting ? [x.connecting] : [],
33
+ opened: x?.opened ? [x.opened] : [],
34
+ connected: x?.connected ? [x.connected] : [],
35
+ ping: x?.ping ? [x.ping] : [],
36
+ pong: x?.pong ? [x.pong] : [],
37
+ message: x?.message ? [e.emit, x.message] : [e.emit],
38
+ closed: x?.closed ? [x.closed] : [],
39
+ error: x?.error ? [x.error] : []
40
+ };
41
+ return {
42
+ onMessage: e.on,
43
+ on(e, n) {
44
+ let r = t[e];
45
+ return r.push(n), () => {
46
+ r.splice(r.indexOf(n), 1);
47
+ };
48
+ },
49
+ emit(e, ...n) {
50
+ for (let r of [...t[e]]) r(...n);
51
+ }
52
+ };
53
+ })();
54
+ function k(e) {
55
+ let t = [O.on("error", (n) => {
56
+ t.forEach((e) => e()), e(n);
57
+ }), O.on("closed", (n) => {
58
+ t.forEach((e) => e()), e(n);
59
+ })];
60
+ }
61
+ let A, j = 0, M, N = !1, P = 0, F = !1;
62
+ async function I() {
63
+ clearTimeout(M);
64
+ let [n, c] = await (A ??= new Promise((n, c) => (async () => {
65
+ if (N) {
66
+ if (await y(P), !j) return A = void 0, c({
67
+ code: 1e3,
68
+ reason: "All Subscriptions Gone"
69
+ });
70
+ P++;
71
+ }
72
+ O.emit("connecting", N);
73
+ let l = new D(typeof o == "function" ? await o() : o, "graphql-transport-ws"), u, f;
74
+ function p() {
75
+ isFinite(h) && h > 0 && (clearTimeout(f), f = setTimeout(() => {
76
+ l.readyState === D.OPEN && (l.send(a({ type: t.Ping })), O.emit("ping", !1, void 0));
77
+ }, h));
78
+ }
79
+ k((e) => {
80
+ A = void 0, clearTimeout(u), clearTimeout(f), c(e), e instanceof s && (l.close(4499, "Terminated"), l.onerror = null, l.onclose = null);
81
+ }), l.onerror = (e) => O.emit("error", e), l.onclose = (e) => O.emit("closed", e), l.onopen = async () => {
82
+ try {
83
+ O.emit("opened", l);
84
+ let n = typeof d == "function" ? await d() : d;
85
+ if (l.readyState !== D.OPEN) return;
86
+ l.send(a(n ? {
87
+ type: t.ConnectionInit,
88
+ payload: n
89
+ } : { type: t.ConnectionInit }, w)), isFinite(_) && _ > 0 && (u = setTimeout(() => {
90
+ l.close(e.ConnectionAcknowledgementTimeout, "Connection acknowledgement timeout");
91
+ }, _)), p();
92
+ } catch (t) {
93
+ O.emit("error", t), l.close(e.InternalClientError, r(t instanceof Error ? t.message : String(t), "Internal client error"));
94
+ }
95
+ };
96
+ let m = !1;
97
+ l.onmessage = ({ data: o }) => {
98
+ try {
99
+ let e = i(o, T);
100
+ if (O.emit("message", e), e.type === "ping" || e.type === "pong") {
101
+ O.emit(e.type, !0, e.payload), e.type === "pong" ? p() : g || (l.send(a(e.payload ? {
102
+ type: t.Pong,
103
+ payload: e.payload
104
+ } : { type: t.Pong })), O.emit("pong", !1, e.payload));
105
+ return;
106
+ }
107
+ if (m) return;
108
+ if (e.type !== t.ConnectionAck) throw Error(`First message cannot be of type ${e.type}`);
109
+ clearTimeout(u), m = !0, O.emit("connected", l, e.payload, N), N = !1, P = 0, n([l, new Promise((e, t) => k(t))]);
110
+ } catch (t) {
111
+ l.onmessage = null, O.emit("error", t), l.close(e.BadResponse, r(t instanceof Error ? t.message : String(t), "Bad response"));
112
+ }
113
+ };
114
+ })()));
115
+ n.readyState === D.CLOSING && await c;
116
+ let l = () => {}, u = new Promise((e) => l = e);
117
+ return [
118
+ n,
119
+ l,
120
+ Promise.race([u.then(() => {
121
+ if (!j) {
122
+ let e = () => n.close(1e3, "Normal Closure");
123
+ isFinite(m) && m > 0 ? M = setTimeout(() => {
124
+ n.readyState === D.OPEN && e();
125
+ }, m) : e();
126
+ }
127
+ }), c])
128
+ ];
129
+ }
130
+ function L(t) {
131
+ if (c(t) && (l(t.code) || [
132
+ e.InternalServerError,
133
+ e.InternalClientError,
134
+ e.BadRequest,
135
+ e.BadResponse,
136
+ e.Unauthorized,
137
+ e.SubprotocolNotAcceptable,
138
+ e.SubscriberAlreadyExists,
139
+ e.TooManyInitialisationRequests
140
+ ].includes(t.code))) throw t;
141
+ if (F) return !1;
142
+ if (c(t) && t.code === 1e3) return j > 0;
143
+ if (!v || P >= v || !b(t)) throw t;
144
+ return N = !0;
145
+ }
146
+ f || (async () => {
147
+ for (j++;;) try {
148
+ let [, , e] = await I();
149
+ await e;
150
+ } catch (e) {
151
+ try {
152
+ if (!L(e)) return;
153
+ } catch (e) {
154
+ return p?.(e);
155
+ }
156
+ }
157
+ })();
158
+ function R(e, n) {
159
+ let r = C(e), i = !1, o = !1, s = () => {
160
+ j--, i = !0;
161
+ };
162
+ return (async () => {
163
+ for (j++;;) try {
164
+ let [c, l, u] = await I();
165
+ if (i) return l();
166
+ let d = O.onMessage(r, (e) => {
167
+ switch (e.type) {
168
+ case t.Next:
169
+ n.next(e.payload);
170
+ return;
171
+ case t.Error:
172
+ o = !0, i = !0, n.error(e.payload), s();
173
+ return;
174
+ case t.Complete:
175
+ i = !0, s();
176
+ return;
177
+ }
178
+ });
179
+ c.send(a({
180
+ id: r,
181
+ type: t.Subscribe,
182
+ payload: e
183
+ }, w)), s = () => {
184
+ !i && c.readyState === D.OPEN && c.send(a({
185
+ id: r,
186
+ type: t.Complete
187
+ }, w)), j--, i = !0, l();
188
+ }, await u.finally(d);
189
+ return;
190
+ } catch (e) {
191
+ if (!L(e)) return;
192
+ }
193
+ })().then(() => {
194
+ o || n.complete();
195
+ }).catch((e) => {
196
+ n.error(e);
197
+ }), () => {
198
+ i || s();
199
+ };
200
+ }
201
+ return {
202
+ on: O.on,
203
+ subscribe: R,
204
+ iterate(e) {
205
+ let t = [], n = {
206
+ done: !1,
207
+ error: null,
208
+ resolve: () => {}
209
+ }, r = R(e, {
210
+ next(e) {
211
+ t.push(e), n.resolve();
212
+ },
213
+ error(e) {
214
+ n.done = !0, n.error = e, n.resolve();
215
+ },
216
+ complete() {
217
+ n.done = !0, n.resolve();
218
+ }
219
+ }), i = async function* () {
220
+ for (;;) {
221
+ for (t.length || await new Promise((e) => n.resolve = e); t.length;) yield t.shift();
222
+ if (n.error) throw n.error;
223
+ if (n.done) return;
224
+ }
225
+ }();
226
+ return i.throw = async (e) => (n.done || (n.done = !0, n.error = e, n.resolve()), {
227
+ done: !0,
228
+ value: void 0
229
+ }), i.return = async () => (r(), {
230
+ done: !0,
231
+ value: void 0
232
+ }), i;
233
+ },
234
+ async dispose() {
235
+ if (F = !0, A) {
236
+ let [e] = await A;
237
+ e.close(1e3, "Normal Closure");
238
+ }
239
+ },
240
+ terminate() {
241
+ A && O.emit("closed", new s());
242
+ }
243
+ };
244
+ }
245
+ var s = class extends Error {
246
+ name = "TerminatedCloseEvent";
247
+ message = "4499: Terminated";
248
+ code = 4499;
249
+ reason = "Terminated";
250
+ wasClean = !1;
251
+ };
252
+ function c(e) {
253
+ return n(e) && "code" in e && "reason" in e;
254
+ }
255
+ function l(e) {
256
+ return [
257
+ 1e3,
258
+ 1001,
259
+ 1006,
260
+ 1005,
261
+ 1012,
262
+ 1013,
263
+ 1014
264
+ ].includes(e) ? !1 : e >= 1e3 && e <= 1999;
265
+ }
266
+ function u(e) {
267
+ return typeof e == "function" && "constructor" in e && "CLOSED" in e && "CLOSING" in e && "CONNECTING" in e && "OPEN" in e;
268
+ }
269
+ //#endregion
270
+ export { o as createClient };
@@ -0,0 +1,60 @@
1
+ //#region node_modules/graphql-ws/dist/common-CGW11Fyb.js
2
+ function e(e) {
3
+ return e === null ? "null" : Array.isArray(e) ? "array" : typeof e;
4
+ }
5
+ function t(t) {
6
+ return e(t) === "object";
7
+ }
8
+ function n(e) {
9
+ return Array.isArray(e) && e.length > 0 && e.every((e) => "message" in e);
10
+ }
11
+ function r(e, t) {
12
+ return e.length < 124 ? e : t;
13
+ }
14
+ var i = "graphql-transport-ws", a = /* @__PURE__ */ ((e) => (e[e.InternalServerError = 4500] = "InternalServerError", e[e.InternalClientError = 4005] = "InternalClientError", e[e.BadRequest = 4400] = "BadRequest", e[e.BadResponse = 4004] = "BadResponse", e[e.Unauthorized = 4401] = "Unauthorized", e[e.Forbidden = 4403] = "Forbidden", e[e.SubprotocolNotAcceptable = 4406] = "SubprotocolNotAcceptable", e[e.ConnectionInitialisationTimeout = 4408] = "ConnectionInitialisationTimeout", e[e.ConnectionAcknowledgementTimeout = 4504] = "ConnectionAcknowledgementTimeout", e[e.SubscriberAlreadyExists = 4409] = "SubscriberAlreadyExists", e[e.TooManyInitialisationRequests = 4429] = "TooManyInitialisationRequests", e))(a || {}), o = /* @__PURE__ */ ((e) => (e.ConnectionInit = "connection_init", e.ConnectionAck = "connection_ack", e.Ping = "ping", e.Pong = "pong", e.Subscribe = "subscribe", e.Next = "next", e.Error = "error", e.Complete = "complete", e))(o || {});
15
+ function s(r) {
16
+ if (!t(r)) throw Error(`Message is expected to be an object, but got ${e(r)}`);
17
+ if (!r.type) throw Error("Message is missing the 'type' property");
18
+ if (typeof r.type != "string") throw Error(`Message is expects the 'type' property to be a string, but got ${e(r.type)}`);
19
+ switch (r.type) {
20
+ case "connection_init":
21
+ case "connection_ack":
22
+ case "ping":
23
+ case "pong":
24
+ if (r.payload != null && !t(r.payload)) throw Error(`"${r.type}" message expects the 'payload' property to be an object or nullish or missing, but got "${r.payload}"`);
25
+ break;
26
+ case "subscribe":
27
+ if (typeof r.id != "string") throw Error(`"${r.type}" message expects the 'id' property to be a string, but got ${e(r.id)}`);
28
+ if (!r.id) throw Error(`"${r.type}" message requires a non-empty 'id' property`);
29
+ if (!t(r.payload)) throw Error(`"${r.type}" message expects the 'payload' property to be an object, but got ${e(r.payload)}`);
30
+ if (typeof r.payload.query != "string") throw Error(`"${r.type}" message payload expects the 'query' property to be a string, but got ${e(r.payload.query)}`);
31
+ if (r.payload.variables != null && !t(r.payload.variables)) throw Error(`"${r.type}" message payload expects the 'variables' property to be a an object or nullish or missing, but got ${e(r.payload.variables)}`);
32
+ if (r.payload.operationName != null && e(r.payload.operationName) !== "string") throw Error(`"${r.type}" message payload expects the 'operationName' property to be a string or nullish or missing, but got ${e(r.payload.operationName)}`);
33
+ if (r.payload.extensions != null && !t(r.payload.extensions)) throw Error(`"${r.type}" message payload expects the 'extensions' property to be a an object or nullish or missing, but got ${e(r.payload.extensions)}`);
34
+ break;
35
+ case "next":
36
+ if (typeof r.id != "string") throw Error(`"${r.type}" message expects the 'id' property to be a string, but got ${e(r.id)}`);
37
+ if (!r.id) throw Error(`"${r.type}" message requires a non-empty 'id' property`);
38
+ if (!t(r.payload)) throw Error(`"${r.type}" message expects the 'payload' property to be an object, but got ${e(r.payload)}`);
39
+ break;
40
+ case "error":
41
+ if (typeof r.id != "string") throw Error(`"${r.type}" message expects the 'id' property to be a string, but got ${e(r.id)}`);
42
+ if (!r.id) throw Error(`"${r.type}" message requires a non-empty 'id' property`);
43
+ if (!n(r.payload)) throw Error(`"${r.type}" message expects the 'payload' property to be an array of GraphQL errors, but got ${JSON.stringify(r.payload)}`);
44
+ break;
45
+ case "complete":
46
+ if (typeof r.id != "string") throw Error(`"${r.type}" message expects the 'id' property to be a string, but got ${e(r.id)}`);
47
+ if (!r.id) throw Error(`"${r.type}" message requires a non-empty 'id' property`);
48
+ break;
49
+ default: throw Error(`Invalid message 'type' property "${r.type}"`);
50
+ }
51
+ return r;
52
+ }
53
+ function c(e, t) {
54
+ return s(typeof e == "string" ? JSON.parse(e, t) : e);
55
+ }
56
+ function l(e, t) {
57
+ return s(e), JSON.stringify(e, t);
58
+ }
59
+ //#endregion
60
+ export { a as CloseCode, i as GRAPHQL_TRANSPORT_WS_PROTOCOL, o as MessageType, t as isObject, r as limitCloseReason, c as parseMessage, l as stringifyMessage, s as validateMessage };
@@ -3,6 +3,7 @@ export { GatewayProvider, useGateway, useGatewayClient, useSafeGateway, useSafeG
3
3
  export { graphqlFetch, getStoredAuthToken, getStoredWorkspaceToken, getStoredWorkspaceId, getStoredLocale, getStoredOrganizationId, resolveGatewayUrl, type GraphQLFetchOptions, type GraphQLResponse, } from './fetch';
4
4
  export { getWorkspaceTokenPayload, isWorkspaceTokenValidForContext, type WorkspaceTokenContext, type WorkspaceTokenPayload, } from './workspaceToken';
5
5
  export { SSELink, type SSELinkOptions } from './links/sse-link';
6
+ export { WsLink, type WsLinkOptions } from './links/ws-link';
6
7
  export { ApolloClient, InMemoryCache, type NormalizedCacheObject } from '@apollo/client/core';
7
8
  export { ApolloProvider, useQuery, useMutation, useLazyQuery, useSubscription, useApolloClient, } from '@apollo/client/react';
8
9
  export { gql } from '@apollo/client/core';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/graphql/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,OAAO,GACb,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,eAAe,EACf,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,GAC1B,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,EACpB,eAAe,EACf,uBAAuB,EACvB,iBAAiB,EACjB,KAAK,mBAAmB,EACxB,KAAK,eAAe,GACrB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,wBAAwB,EACxB,+BAA+B,EAC/B,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,GAC3B,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAIhE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE9F,OAAO,EACL,cAAc,EACd,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,eAAe,EACf,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/graphql/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,OAAO,GACb,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,eAAe,EACf,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,GAC1B,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,EACpB,eAAe,EACf,uBAAuB,EACvB,iBAAiB,EACjB,KAAK,mBAAmB,EACxB,KAAK,eAAe,GACrB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,wBAAwB,EACxB,+BAA+B,EAC/B,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,GAC3B,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAI7D,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE9F,OAAO,EACL,cAAc,EACd,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,eAAe,EACf,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { Observable, FetchResult, Operation, ApolloLink } from '@apollo/client';
2
+ export interface WsLinkOptions {
3
+ /**
4
+ * Full WS endpoint, e.g.
5
+ * `wss://gw-wspace.local.burdenoff.com/workspaces/graphql`.
6
+ */
7
+ url: string;
8
+ /** Lazy: only open the socket on first subscription. */
9
+ lazy?: boolean;
10
+ /**
11
+ * Static headers forwarded as `connectionParams`. Per-subscription
12
+ * headers from Apollo `operation.context.headers` always override.
13
+ */
14
+ headers?: Record<string, string>;
15
+ /** Connection-level keepalive ping interval. Default 30 s. */
16
+ keepAliveMs?: number;
17
+ debug?: boolean;
18
+ }
19
+ export declare class WsLink extends ApolloLink {
20
+ private client;
21
+ private debug;
22
+ constructor(options: WsLinkOptions);
23
+ /**
24
+ * Tear down the underlying connection. Useful in tests and on
25
+ * logout.
26
+ */
27
+ dispose(): Promise<void>;
28
+ request(operation: Operation): Observable<FetchResult>;
29
+ }
30
+ //# sourceMappingURL=ws-link.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ws-link.d.ts","sourceRoot":"","sources":["../../../../src/shared/graphql/links/ws-link.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,UAAU,EAAE,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAI5C,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ,wDAAwD;IACxD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,8DAA8D;IAC9D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,qBAAa,MAAO,SAAQ,UAAU;IACpC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAU;gBAEX,OAAO,EAAE,aAAa;IAqBlC;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,OAAO,CAAC,SAAS,EAAE,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC;CAyBhE"}
@@ -0,0 +1,45 @@
1
+ import { createClient as e } from "../../../node_modules/graphql-ws/dist/client.js";
2
+ import { ApolloLink as t, Observable as n } from "@apollo/client";
3
+ import { print as r } from "graphql";
4
+ //#region src/shared/graphql/links/ws-link.ts
5
+ var i = class extends t {
6
+ client;
7
+ debug;
8
+ constructor(t) {
9
+ super(), this.debug = !!t.debug;
10
+ let n = t.keepAliveMs ?? 3e4;
11
+ this.client = e({
12
+ url: t.url,
13
+ lazy: t.lazy ?? !0,
14
+ keepAlive: n,
15
+ connectionParams: () => ({ ...t.headers ?? {} }),
16
+ shouldRetry: () => !0,
17
+ retryAttempts: Infinity,
18
+ on: this.debug ? {
19
+ connected: () => console.log("[WsLink] connected"),
20
+ closed: (e) => console.log("[WsLink] closed", e?.code),
21
+ error: (e) => console.warn("[WsLink] error", e)
22
+ } : void 0
23
+ });
24
+ }
25
+ async dispose() {
26
+ await this.client.dispose();
27
+ }
28
+ request(e) {
29
+ return new n((t) => {
30
+ let n = e.getContext()?.headers ?? {};
31
+ return this.client.subscribe({
32
+ query: r(e.query),
33
+ variables: e.variables,
34
+ operationName: e.operationName,
35
+ extensions: { headers: n }
36
+ }, {
37
+ next: (e) => t.next(e),
38
+ error: (e) => t.error(e),
39
+ complete: () => t.complete()
40
+ });
41
+ });
42
+ }
43
+ };
44
+ //#endregion
45
+ export { i as WsLink };
@@ -3,6 +3,7 @@ import { getStoredAuthToken as n, getStoredLocale as r, getStoredOrganizationId
3
3
  import { SSELink as l } from "./shared/graphql/links/sse-link.js";
4
4
  import { createGraphQLClient as u, getGlobalClient as d, getWorkspaceClient as f, initializeAppClients as p, resetAppClients as m } from "./shared/graphql/client.js";
5
5
  import { GatewayProvider as h, useGateway as g, useGatewayClient as _, useSafeGateway as v, useSafeGatewayClient as y } from "./shared/graphql/GatewayContext.js";
6
- import { ApolloClient as b, InMemoryCache as x, gql as S } from "@apollo/client/core";
7
- import { ApolloProvider as C, useApolloClient as w, useLazyQuery as T, useMutation as E, useQuery as D, useSubscription as O } from "@apollo/client/react";
8
- export { b as ApolloClient, C as ApolloProvider, h as GatewayProvider, x as InMemoryCache, l as SSELink, u as createGraphQLClient, d as getGlobalClient, n as getStoredAuthToken, r as getStoredLocale, i as getStoredOrganizationId, a as getStoredWorkspaceId, o as getStoredWorkspaceToken, f as getWorkspaceClient, e as getWorkspaceTokenPayload, S as gql, s as graphqlFetch, p as initializeAppClients, t as isWorkspaceTokenValidForContext, m as resetAppClients, c as resolveGatewayUrl, w as useApolloClient, g as useGateway, _ as useGatewayClient, T as useLazyQuery, E as useMutation, D as useQuery, v as useSafeGateway, y as useSafeGatewayClient, O as useSubscription };
6
+ import { WsLink as b } from "./shared/graphql/links/ws-link.js";
7
+ import { ApolloClient as x, InMemoryCache as S, gql as C } from "@apollo/client/core";
8
+ import { ApolloProvider as w, useApolloClient as T, useLazyQuery as E, useMutation as D, useQuery as O, useSubscription as k } from "@apollo/client/react";
9
+ export { x as ApolloClient, w as ApolloProvider, h as GatewayProvider, S as InMemoryCache, l as SSELink, b as WsLink, u as createGraphQLClient, d as getGlobalClient, n as getStoredAuthToken, r as getStoredLocale, i as getStoredOrganizationId, a as getStoredWorkspaceId, o as getStoredWorkspaceToken, f as getWorkspaceClient, e as getWorkspaceTokenPayload, C as gql, s as graphqlFetch, p as initializeAppClients, t as isWorkspaceTokenValidForContext, m as resetAppClients, c as resolveGatewayUrl, T as useApolloClient, g as useGateway, _ as useGatewayClient, E as useLazyQuery, D as useMutation, O as useQuery, v as useSafeGateway, y as useSafeGatewayClient, k as useSubscription };
package/dist/shared.js CHANGED
@@ -15,101 +15,102 @@ import { getStoredAuthToken as ce, getStoredLocale as le, getStoredOrganizationI
15
15
  import { SSELink as he } from "./shared/graphql/links/sse-link.js";
16
16
  import { createGraphQLClient as ge, getGlobalClient as _e, getWorkspaceClient as ve, initializeAppClients as ye, resetAppClients as be } from "./shared/graphql/client.js";
17
17
  import { GatewayProvider as xe, useGateway as Se, useGatewayClient as Ce, useSafeGateway as we, useSafeGatewayClient as Te } from "./shared/graphql/GatewayContext.js";
18
- import { ApolloClient as Ee, ApolloProvider as De, InMemoryCache as Oe, gql as ke, useApolloClient as Ae, useLazyQuery as je, useMutation as Me, useQuery as Ne, useSubscription as Pe } from "./shared-graphql.js";
19
- import { attemptTokenRefresh as Fe, clearAuthSessionStorage as Ie, hasAuthGraphQLErrors as Le, isAuthGraphQLError as Re, isAuthNetworkError as ze, redirectToLogin as Be } from "./shared/utils/authErrorHandling.js";
20
- import { clearSSoCookie as Ve, clearShellSsoCookies as He, getSSoCookie as Ue, isSharedSsoCookieDomain as We, isTrustedSsoOrigin as Ge, readShellSsoCookie as Ke, setSSoCookie as qe, setShellSsoCookies as Je } from "./shared/utils/authCookie.js";
21
- import { SSORedirectSpinner as Ye, checkRemoteSLO as Xe, checkSLO as Ze, clearLocalAuthState as Qe, getSSORedirectUrl as $e } from "./shared/components/SSORedirectGuard.js";
22
- import { AppInitializer as et, useRegistryHelpers as tt, useShellNavigate as nt } from "./shared/utils/appHelpers.js";
23
- import { LogLevel as rt } from "./shared/logger/types.js";
24
- import { Logger as it } from "./shared/logger/Logger.js";
25
- import { LogManager as at, logManager as ot } from "./shared/logger/LogManager.js";
26
- import { ConsoleTransport as st } from "./shared/logger/ConsoleTransport.js";
27
- import { clearUserContext as ct, initializeLogger as lt, setUserContext as ut } from "./shared/utils/loggerInit.js";
28
- import { createProfileScopedStorage as dt, getProfileScopedKey as ft } from "./shared/utils/profileScopedStorage.js";
29
- import { QUOTA_EXHAUSTED_CODE as pt, RESOURCE_CAP_EXCEEDED_CODE as mt, STORAGE_QUOTA_EXCEEDED_CODE as ht, UPGRADE_ERROR_CODES as gt, buildQuotaExhaustedMessage as _t, extractQuotaExhaustedExtensions as vt, extractUpgradeErrorExtensions as yt, isQuotaExhaustedError as bt, isUpgradeError as xt } from "./shared/utils/quotaErrors.js";
30
- import { cn as St } from "./shared-utils.js";
31
- import { ErrorBoundary as Ct } from "./shared/components/ErrorBoundary.js";
32
- import { RequireAuth as wt, RequireGuest as Tt } from "./shared/components/RequireAuth.js";
33
- import { PermissionButton as Et, PermissionGate as Dt, PermissionLink as Ot } from "./shared/components/PermissionGate.js";
34
- import { AccessDenied as kt, PermissionDenied as At } from "./shared/components/AccessDenied.js";
35
- import { ErrorFallback as jt } from "./shared/components/ErrorFallback.js";
36
- import { LoadingFallback as Mt, PageLoadingFallback as Nt, SectionLoadingFallback as Pt } from "./shared/components/LoadingFallback.js";
37
- import { MicrofrontendErrorBoundary as Ft } from "./shared/components/MicrofrontendErrorBoundary.js";
38
- import { ConditionalShell as It } from "./shared/components/ConditionalShell.js";
39
- import { usePWA as Lt } from "./shared/hooks/usePWA.js";
40
- import { PWAInstallBanner as Rt } from "./shared/components/PWAInstallBanner.js";
41
- import { ErrorBoundary as zt } from "./shared/components/AppErrorBoundary.js";
42
- import { FeatureFlagProvider as Bt, useFeatureFlags as Vt } from "./shared/feature-flags/FeatureFlagProvider.js";
43
- import { useFeatureFlag as Ht, useFeatureFlagDetails as Ut, useFeatureFlagValue as Wt } from "./shared/feature-flags/useFeatureFlag.js";
44
- import { FeatureGate as Gt } from "./shared/feature-flags/FeatureGate.js";
18
+ import { WsLink as Ee } from "./shared/graphql/links/ws-link.js";
19
+ import { ApolloClient as De, ApolloProvider as Oe, InMemoryCache as ke, gql as Ae, useApolloClient as je, useLazyQuery as Me, useMutation as Ne, useQuery as Pe, useSubscription as Fe } from "./shared-graphql.js";
20
+ import { attemptTokenRefresh as Ie, clearAuthSessionStorage as Le, hasAuthGraphQLErrors as Re, isAuthGraphQLError as ze, isAuthNetworkError as Be, redirectToLogin as Ve } from "./shared/utils/authErrorHandling.js";
21
+ import { clearSSoCookie as He, clearShellSsoCookies as Ue, getSSoCookie as We, isSharedSsoCookieDomain as Ge, isTrustedSsoOrigin as Ke, readShellSsoCookie as qe, setSSoCookie as Je, setShellSsoCookies as Ye } from "./shared/utils/authCookie.js";
22
+ import { SSORedirectSpinner as Xe, checkRemoteSLO as Ze, checkSLO as Qe, clearLocalAuthState as $e, getSSORedirectUrl as et } from "./shared/components/SSORedirectGuard.js";
23
+ import { AppInitializer as tt, useRegistryHelpers as nt, useShellNavigate as rt } from "./shared/utils/appHelpers.js";
24
+ import { LogLevel as it } from "./shared/logger/types.js";
25
+ import { Logger as at } from "./shared/logger/Logger.js";
26
+ import { LogManager as ot, logManager as st } from "./shared/logger/LogManager.js";
27
+ import { ConsoleTransport as ct } from "./shared/logger/ConsoleTransport.js";
28
+ import { clearUserContext as lt, initializeLogger as ut, setUserContext as dt } from "./shared/utils/loggerInit.js";
29
+ import { createProfileScopedStorage as ft, getProfileScopedKey as pt } from "./shared/utils/profileScopedStorage.js";
30
+ import { QUOTA_EXHAUSTED_CODE as mt, RESOURCE_CAP_EXCEEDED_CODE as ht, STORAGE_QUOTA_EXCEEDED_CODE as gt, UPGRADE_ERROR_CODES as _t, buildQuotaExhaustedMessage as vt, extractQuotaExhaustedExtensions as yt, extractUpgradeErrorExtensions as bt, isQuotaExhaustedError as xt, isUpgradeError as St } from "./shared/utils/quotaErrors.js";
31
+ import { cn as Ct } from "./shared-utils.js";
32
+ import { ErrorBoundary as wt } from "./shared/components/ErrorBoundary.js";
33
+ import { RequireAuth as Tt, RequireGuest as Et } from "./shared/components/RequireAuth.js";
34
+ import { PermissionButton as Dt, PermissionGate as Ot, PermissionLink as kt } from "./shared/components/PermissionGate.js";
35
+ import { AccessDenied as At, PermissionDenied as jt } from "./shared/components/AccessDenied.js";
36
+ import { ErrorFallback as Mt } from "./shared/components/ErrorFallback.js";
37
+ import { LoadingFallback as Nt, PageLoadingFallback as Pt, SectionLoadingFallback as Ft } from "./shared/components/LoadingFallback.js";
38
+ import { MicrofrontendErrorBoundary as It } from "./shared/components/MicrofrontendErrorBoundary.js";
39
+ import { ConditionalShell as Lt } from "./shared/components/ConditionalShell.js";
40
+ import { usePWA as Rt } from "./shared/hooks/usePWA.js";
41
+ import { PWAInstallBanner as zt } from "./shared/components/PWAInstallBanner.js";
42
+ import { ErrorBoundary as Bt } from "./shared/components/AppErrorBoundary.js";
43
+ import { FeatureFlagProvider as Vt, useFeatureFlags as Ht } from "./shared/feature-flags/FeatureFlagProvider.js";
44
+ import { useFeatureFlag as Ut, useFeatureFlagDetails as Wt, useFeatureFlagValue as Gt } from "./shared/feature-flags/useFeatureFlag.js";
45
+ import { FeatureGate as Kt } from "./shared/feature-flags/FeatureGate.js";
45
46
  import "./shared-feature-flags.js";
46
- import { ContextConversationWidget as Kt } from "./shared/components/ContextConversationWidget.js";
47
- import { detectPlatform as qt, formatKeyCombo as Jt, getDisplayKeysForPlatform as Yt, getShortcutLabel as Xt, isMac as Zt, isMobileDevice as Qt, isTabletDevice as $t, matchesKeyCombo as en, normalizeKey as tn, normalizePlatformCombo as nn, parseKeyCombo as rn, shouldEnableKeyboardShortcuts as an, shouldIgnoreShortcut as on } from "./shared/keyboard/utils.js";
48
- import { KeyboardHelpDialogWrapper as sn } from "./shared/components/KeyboardHelpDialogWrapper.js";
49
- import { QuotaMeter as cn } from "./shared/components/QuotaMeter.js";
50
- import { UPGRADE_PROMPT_EVENT as ln, UpgradePromptModal as un, dispatchUpgradePrompt as dn } from "./shared/components/UpgradePromptModal.js";
51
- import { UpgradeInlineBanner as fn } from "./shared/components/UpgradeInlineBanner.js";
47
+ import { ContextConversationWidget as qt } from "./shared/components/ContextConversationWidget.js";
48
+ import { detectPlatform as Jt, formatKeyCombo as Yt, getDisplayKeysForPlatform as Xt, getShortcutLabel as Zt, isMac as Qt, isMobileDevice as $t, isTabletDevice as en, matchesKeyCombo as tn, normalizeKey as nn, normalizePlatformCombo as rn, parseKeyCombo as an, shouldEnableKeyboardShortcuts as on, shouldIgnoreShortcut as sn } from "./shared/keyboard/utils.js";
49
+ import { KeyboardHelpDialogWrapper as cn } from "./shared/components/KeyboardHelpDialogWrapper.js";
50
+ import { QuotaMeter as ln } from "./shared/components/QuotaMeter.js";
51
+ import { UPGRADE_PROMPT_EVENT as un, UpgradePromptModal as dn, dispatchUpgradePrompt as fn } from "./shared/components/UpgradePromptModal.js";
52
+ import { UpgradeInlineBanner as pn } from "./shared/components/UpgradeInlineBanner.js";
52
53
  import "./shared-components.js";
53
- import { DevtoolsSink as pn } from "./shared/events/sinks/DevtoolsSink.js";
54
- import { BroadcastChannelSink as mn } from "./shared/events/sinks/BroadcastChannelSink.js";
55
- import { BackendAuditSink as hn } from "./shared/events/sinks/BackendAuditSink.js";
56
- import { RybbitSink as gn } from "./shared/events/sinks/RybbitSink.js";
57
- import { OtelBrowserSink as _n } from "./shared/events/sinks/OtelBrowserSink.js";
58
- import { EventBusProvider as vn, createEventBus as yn, useEvent as bn, useEventBus as xn, useEventEmitter as Sn } from "./shared-events.js";
59
- import { useDebounce as Cn } from "./shared/hooks/useDebounce.js";
60
- import { useThrottle as wn } from "./shared/hooks/useThrottle.js";
61
- import { BREAKPOINTS as Tn, useBreakpoint as En, useMobileBreakpoint as Dn } from "./shared/hooks/useBreakpoint.js";
62
- import { useOnClickOutside as On, useOnClickOutsideWithRef as kn } from "./shared/hooks/useOnClickOutside.js";
63
- import { useKeyPress as An, useKeyboardShortcut as jn } from "./shared/hooks/useKeyPress.js";
64
- import { useCopyToClipboard as Mn } from "./shared/hooks/useCopyToClipboard.js";
65
- import { useLocalStorage as Nn } from "./shared/hooks/useLocalStorage.js";
66
- import { useSessionStorage as Pn } from "./shared/hooks/useSessionStorage.js";
67
- import { usePrevious as Fn, usePreviousDistinct as In, usePreviousHistory as Ln } from "./shared/hooks/usePrevious.js";
68
- import { useConditionalToggle as Rn, useToggle as zn, useToggleObject as Bn } from "./shared/hooks/useToggle.js";
69
- import { useAsync as Vn, useAsyncImmediate as Hn } from "./shared/hooks/useAsync.js";
70
- import { MODIFIER_KEYS as Un, PLATFORM_TYPES as Wn } from "./shared/keyboard/types.js";
71
- import { useKeyboardShortcuts as Gn } from "./shared/keyboard/useKeyboardShortcuts.js";
72
- import { useHotkeys as Kn } from "./shared/keyboard/useHotkeys.js";
73
- import { useShortcutHelp as qn } from "./shared/keyboard/useShortcutHelp.js";
74
- import { GLOBAL_SHORTCUT_CATEGORIES as Jn, createGlobalShortcuts as Yn, getGlobalShortcutsByCategory as Xn, mergeShortcuts as Zn } from "./shared/keyboard/globalShortcuts.js";
75
- import { useLogger as Qn } from "./shared/logger/useLogger.js";
76
- import { useHasAnimated as $n } from "./shared/hooks/useHasAnimated.js";
77
- import { useReferralAttribution as er } from "./shared/hooks/useReferralAttribution.js";
78
- import { useRecordProductVisit as tr } from "./shared/hooks/useRecordProductVisit.js";
79
- import { QUOTA_EXHAUSTED_EVENT as nr, dispatchQuotaExhausted as rr, useQuotaErrorToast as ir } from "./shared/hooks/useQuotaErrorToast.js";
80
- import { PLAN_USAGE_SNAPSHOT_EVENT as ar, publishPlanUsageSnapshot as or, useUpgradePrompt as sr } from "./shared/hooks/useUpgradePrompt.js";
81
- import { appendContextToPath as cr, useCurrentContextSearchParams as lr } from "./shared/hooks/useCurrentContextSearchParams.js";
82
- import { MicrofrontendContext as ur, useMicrofrontendContext as dr } from "./shared-hooks.js";
83
- import { detectDeviceType as fr, getResponsiveSelector as pr } from "./shared/tours/types.js";
84
- import { useTourPlayer as mr } from "./shared/tours/useTourPlayer.js";
85
- import { TourSpotlight as hr } from "./shared/tours/TourSpotlight.js";
86
- import { TourTooltip as gr } from "./shared/tours/TourTooltip.js";
87
- import { TourPlayerProvider as _r, useIsTourPlaying as vr, useStartTour as yr, useStopTour as br, useTourPlayerContext as xr } from "./shared/tours/TourPlayerProvider.js";
88
- import { TourPlayer as Sr, TourTriggerButton as Cr, usePlayTour as wr } from "./shared/tours/TourPlayer.js";
89
- import { getTourContextRank as Tr, getTourRouteCatalog as Er, getTourRouteModules as Dr, getTourRoutePages as Or, isTourVisibleForContext as kr, normalizeTourPath as Ar, registerTourRouteCatalog as jr, resolveTourTargetPath as Mr } from "./shared/tours/routeCatalog.js";
90
- import { withTourProgressStatus as Nr } from "./shared/tours/progress.js";
91
- import { ToursProvider as Pr, useAutoStartTour as Fr, useSafeToursContext as Ir, useTours as Lr, useToursContext as Rr } from "./shared/tours/ToursContext.js";
92
- import { TourInitializer as zr } from "./shared/tours/TourInitializer.js";
93
- import { AppShellProvider as Br, resolveAppShellObservabilityConfig as Vr } from "./shared/providers/AppShellProvider.js";
94
- import { MicrofrontendProvider as Hr } from "./shared-providers.js";
95
- import { TourTrigger as Ur } from "./shared/tours/TourTrigger.js";
54
+ import { DevtoolsSink as mn } from "./shared/events/sinks/DevtoolsSink.js";
55
+ import { BroadcastChannelSink as hn } from "./shared/events/sinks/BroadcastChannelSink.js";
56
+ import { BackendAuditSink as gn } from "./shared/events/sinks/BackendAuditSink.js";
57
+ import { RybbitSink as _n } from "./shared/events/sinks/RybbitSink.js";
58
+ import { OtelBrowserSink as vn } from "./shared/events/sinks/OtelBrowserSink.js";
59
+ import { EventBusProvider as yn, createEventBus as bn, useEvent as xn, useEventBus as Sn, useEventEmitter as Cn } from "./shared-events.js";
60
+ import { useDebounce as wn } from "./shared/hooks/useDebounce.js";
61
+ import { useThrottle as Tn } from "./shared/hooks/useThrottle.js";
62
+ import { BREAKPOINTS as En, useBreakpoint as Dn, useMobileBreakpoint as On } from "./shared/hooks/useBreakpoint.js";
63
+ import { useOnClickOutside as kn, useOnClickOutsideWithRef as An } from "./shared/hooks/useOnClickOutside.js";
64
+ import { useKeyPress as jn, useKeyboardShortcut as Mn } from "./shared/hooks/useKeyPress.js";
65
+ import { useCopyToClipboard as Nn } from "./shared/hooks/useCopyToClipboard.js";
66
+ import { useLocalStorage as Pn } from "./shared/hooks/useLocalStorage.js";
67
+ import { useSessionStorage as Fn } from "./shared/hooks/useSessionStorage.js";
68
+ import { usePrevious as In, usePreviousDistinct as Ln, usePreviousHistory as Rn } from "./shared/hooks/usePrevious.js";
69
+ import { useConditionalToggle as zn, useToggle as Bn, useToggleObject as Vn } from "./shared/hooks/useToggle.js";
70
+ import { useAsync as Hn, useAsyncImmediate as Un } from "./shared/hooks/useAsync.js";
71
+ import { MODIFIER_KEYS as Wn, PLATFORM_TYPES as Gn } from "./shared/keyboard/types.js";
72
+ import { useKeyboardShortcuts as Kn } from "./shared/keyboard/useKeyboardShortcuts.js";
73
+ import { useHotkeys as qn } from "./shared/keyboard/useHotkeys.js";
74
+ import { useShortcutHelp as Jn } from "./shared/keyboard/useShortcutHelp.js";
75
+ import { GLOBAL_SHORTCUT_CATEGORIES as Yn, createGlobalShortcuts as Xn, getGlobalShortcutsByCategory as Zn, mergeShortcuts as Qn } from "./shared/keyboard/globalShortcuts.js";
76
+ import { useLogger as $n } from "./shared/logger/useLogger.js";
77
+ import { useHasAnimated as er } from "./shared/hooks/useHasAnimated.js";
78
+ import { useReferralAttribution as tr } from "./shared/hooks/useReferralAttribution.js";
79
+ import { useRecordProductVisit as nr } from "./shared/hooks/useRecordProductVisit.js";
80
+ import { QUOTA_EXHAUSTED_EVENT as rr, dispatchQuotaExhausted as ir, useQuotaErrorToast as ar } from "./shared/hooks/useQuotaErrorToast.js";
81
+ import { PLAN_USAGE_SNAPSHOT_EVENT as or, publishPlanUsageSnapshot as sr, useUpgradePrompt as cr } from "./shared/hooks/useUpgradePrompt.js";
82
+ import { appendContextToPath as lr, useCurrentContextSearchParams as ur } from "./shared/hooks/useCurrentContextSearchParams.js";
83
+ import { MicrofrontendContext as dr, useMicrofrontendContext as fr } from "./shared-hooks.js";
84
+ import { detectDeviceType as pr, getResponsiveSelector as mr } from "./shared/tours/types.js";
85
+ import { useTourPlayer as hr } from "./shared/tours/useTourPlayer.js";
86
+ import { TourSpotlight as gr } from "./shared/tours/TourSpotlight.js";
87
+ import { TourTooltip as _r } from "./shared/tours/TourTooltip.js";
88
+ import { TourPlayerProvider as vr, useIsTourPlaying as yr, useStartTour as br, useStopTour as xr, useTourPlayerContext as Sr } from "./shared/tours/TourPlayerProvider.js";
89
+ import { TourPlayer as Cr, TourTriggerButton as wr, usePlayTour as Tr } from "./shared/tours/TourPlayer.js";
90
+ import { getTourContextRank as Er, getTourRouteCatalog as Dr, getTourRouteModules as Or, getTourRoutePages as kr, isTourVisibleForContext as Ar, normalizeTourPath as jr, registerTourRouteCatalog as Mr, resolveTourTargetPath as Nr } from "./shared/tours/routeCatalog.js";
91
+ import { withTourProgressStatus as Pr } from "./shared/tours/progress.js";
92
+ import { ToursProvider as Fr, useAutoStartTour as Ir, useSafeToursContext as Lr, useTours as Rr, useToursContext as zr } from "./shared/tours/ToursContext.js";
93
+ import { TourInitializer as Br } from "./shared/tours/TourInitializer.js";
94
+ import { AppShellProvider as Vr, resolveAppShellObservabilityConfig as Hr } from "./shared/providers/AppShellProvider.js";
95
+ import { MicrofrontendProvider as Ur } from "./shared-providers.js";
96
+ import { TourTrigger as Wr } from "./shared/tours/TourTrigger.js";
96
97
  import "./shared-tours.js";
97
- import { getNativeBridge as Wr } from "./shared/native/bridge.js";
98
- import { getPlatform as Gr, isAndroid as Kr, isIOS as qr, isNative as Jr, isWeb as Yr } from "./shared/native/platform.js";
99
- import { nativeConfirm as Xr, nativeCopyText as Zr, nativeImpact as Qr, nativeNotify as $r, nativeOpenUrl as ei, nativeShare as ti, nativeToast as ni } from "./shared/native/consumers.js";
100
- import { SafeAreaView as ri } from "./shared/native/SafeAreaView.js";
101
- import { useNativePlatform as ii } from "./shared/native/hooks/useNativePlatform.js";
102
- import { useSafeArea as ai } from "./shared/native/hooks/useSafeArea.js";
103
- import { useNativeKeyboard as oi } from "./shared/native/hooks/useNativeKeyboard.js";
104
- import { useAppState as si } from "./shared/native/hooks/useAppState.js";
105
- import { useDeviceInfo as ci } from "./shared/native/hooks/useDeviceInfo.js";
106
- import { useHaptics as li } from "./shared/native/hooks/useHaptics.js";
107
- import { useStatusBar as ui } from "./shared/native/hooks/useStatusBar.js";
98
+ import { getNativeBridge as Gr } from "./shared/native/bridge.js";
99
+ import { getPlatform as Kr, isAndroid as qr, isIOS as Jr, isNative as Yr, isWeb as Xr } from "./shared/native/platform.js";
100
+ import { nativeConfirm as Zr, nativeCopyText as Qr, nativeImpact as $r, nativeNotify as ei, nativeOpenUrl as ti, nativeShare as ni, nativeToast as ri } from "./shared/native/consumers.js";
101
+ import { SafeAreaView as ii } from "./shared/native/SafeAreaView.js";
102
+ import { useNativePlatform as ai } from "./shared/native/hooks/useNativePlatform.js";
103
+ import { useSafeArea as oi } from "./shared/native/hooks/useSafeArea.js";
104
+ import { useNativeKeyboard as si } from "./shared/native/hooks/useNativeKeyboard.js";
105
+ import { useAppState as ci } from "./shared/native/hooks/useAppState.js";
106
+ import { useDeviceInfo as li } from "./shared/native/hooks/useDeviceInfo.js";
107
+ import { useHaptics as ui } from "./shared/native/hooks/useHaptics.js";
108
+ import { useStatusBar as di } from "./shared/native/hooks/useStatusBar.js";
108
109
  import "./shared-native.js";
109
- import { buildActorFallback as di, useActorProfiles as fi } from "./shared/actors/useActorProfiles.js";
110
- import { ActorIdentity as pi } from "./shared/actors/ActorIdentity.js";
110
+ import { buildActorFallback as fi, useActorProfiles as pi } from "./shared/actors/useActorProfiles.js";
111
+ import { ActorIdentity as mi } from "./shared/actors/ActorIdentity.js";
111
112
  import "./shared/actors/index.js";
112
113
  //#region src/shared/index.ts
113
- var mi = "1.0.0";
114
+ var hi = "1.0.0";
114
115
  //#endregion
115
- export { kt as AccessDenied, pi as ActorIdentity, Ee as ApolloClient, De as ApolloProvider, zt as AppErrorBoundary, et as AppInitializer, Br as AppShellProvider, re as BACKEND_ERROR_EVENT, Tn as BREAKPOINTS, hn as BackendAuditSink, mn as BroadcastChannelSink, W as COMMON_SHELL_LESS_ROUTES, It as ConditionalShell, st as ConsoleTransport, Kt as ContextConversationWidget, X as DEFAULT_PAGE_SIZE, G as DEFAULT_SHELL_CONFIG, pn as DevtoolsSink, Ct as ErrorBoundary, jt as ErrorFallback, vn as EventBusProvider, mi as FE_SHARED_VERSION, Bt as FeatureFlagProvider, Gt as FeatureGate, Z as GATEWAYS, Jn as GLOBAL_SHORTCUT_CATEGORIES, xe as GatewayProvider, Oe as InMemoryCache, sn as KeyboardHelpDialogWrapper, Mt as LoadingFallback, rt as LogLevel, at as LogManager, it as Logger, Un as MODIFIER_KEYS, ur as MicrofrontendContext, Ft as MicrofrontendErrorBoundary, Hr as MicrofrontendProvider, _n as OtelBrowserSink, ar as PLAN_USAGE_SNAPSHOT_EVENT, Wn as PLATFORM_TYPES, B as PRODUCTS, V as PRODUCT_URLS, Rt as PWAInstallBanner, Nt as PageLoadingFallback, Et as PermissionButton, At as PermissionDenied, Dt as PermissionGate, Ot as PermissionLink, pt as QUOTA_EXHAUSTED_CODE, nr as QUOTA_EXHAUSTED_EVENT, cn as QuotaMeter, mt as RESOURCE_CAP_EXCEEDED_CODE, wt as RequireAuth, Tt as RequireGuest, gn as RybbitSink, he as SSELink, Ye as SSORedirectSpinner, ht as STORAGE_QUOTA_EXCEEDED_CODE, ri as SafeAreaView, Pt as SectionLoadingFallback, zr as TourInitializer, Sr as TourPlayer, _r as TourPlayerProvider, hr as TourSpotlight, gr as TourTooltip, Ur as TourTrigger, Cr as TourTriggerButton, Pr as ToursProvider, gt as UPGRADE_ERROR_CODES, ln as UPGRADE_PROMPT_EVENT, fn as UpgradeInlineBanner, un as UpgradePromptModal, n as alertTokens, cr as appendContextToPath, Fe as attemptTokenRefresh, di as buildActorFallback, _t as buildQuotaExhaustedMessage, p as capitalizeFirst, m as capitalizeWords, r as categoryTokens, Xe as checkRemoteSLO, Ze as checkSLO, Ie as clearAuthSessionStorage, Qe as clearLocalAuthState, Ve as clearSSoCookie, He as clearShellSsoCookies, ct as clearUserContext, St as cn, t as createApolloClient, yn as createEventBus, Yn as createGlobalShortcuts, ge as createGraphQLClient, dt as createProfileScopedStorage, fr as detectDeviceType, qt as detectPlatform, ie as dispatchBackendErrorEvent, rr as dispatchQuotaExhausted, dn as dispatchUpgradePrompt, ae as extractBackendError, vt as extractQuotaExhaustedExtensions, yt as extractUpgradeErrorExtensions, h as formatBytes, g as formatCompactNumber, _ as formatCurrency, v as formatCurrencyCompact, y as formatDate, b as formatDateTime, x as formatDuration, Jt as formatKeyCombo, S as formatList, C as formatNumber, w as formatOrdinal, T as formatPercentage, E as formatRelativeTime, D as formatTime, i as getAlertTokens, a as getCategoryTokens, Yt as getDisplayKeysForPlatform, Q as getGatewayConfig, $ as getGatewayUrl, _e as getGlobalClient, Xn as getGlobalShortcutsByCategory, ee as getGraphQLEndpoint, Wr as getNativeBridge, Gr as getPlatform, H as getProductUrl, U as getProductsWithUrls, ft as getProfileScopedKey, o as getProgressTokens, pr as getResponsiveSelector, $e as getSSORedirectUrl, Ue as getSSoCookie, K as getShellConfig, Xt as getShortcutLabel, s as getStatusBadgeTokens, c as getStatusTokens, ce as getStoredAuthToken, le as getStoredLocale, ue as getStoredOrganizationId, de as getStoredWorkspaceId, fe as getStoredWorkspaceToken, Tr as getTourContextRank, Er as getTourRouteCatalog, Dr as getTourRouteModules, Or as getTourRoutePages, l as getTrendTokens, ve as getWorkspaceClient, te as getWorkspaceTokenPayload, ke as gql, pe as graphqlFetch, Le as hasAuthGraphQLErrors, ye as initializeAppClients, lt as initializeLogger, I as installGatewayFetchRewrite, Kr as isAndroid, Re as isAuthGraphQLError, ze as isAuthNetworkError, oe as isBackendErrorDisplay, N as isChunkLoadError, qr as isIOS, Zt as isMac, Qt as isMobileDevice, Jr as isNative, bt as isQuotaExhaustedError, We as isSharedSsoCookieDomain, q as isShellLessRoute, $t as isTabletDevice, kr as isTourVisibleForContext, Ge as isTrustedSsoOrigin, xt as isUpgradeError, Yr as isWeb, ne as isWorkspaceTokenValidForContext, P as lazyWithRetry, ot as logManager, en as matchesKeyCombo, Zn as mergeShortcuts, Xr as nativeConfirm, Zr as nativeCopyText, Qr as nativeImpact, $r as nativeNotify, ei as nativeOpenUrl, ti as nativeShare, ni as nativeToast, tn as normalizeKey, nn as normalizePlatformCombo, Ar as normalizeTourPath, rn as parseKeyCombo, O as pluralize, u as progressTokens, or as publishPlanUsageSnapshot, Ke as readShellSsoCookie, Be as redirectToLogin, jr as registerTourRouteCatalog, be as resetAppClients, Vr as resolveAppShellObservabilityConfig, z as resolveAuthBridgeConfig, L as resolveGatewayBases, me as resolveGatewayUrl, F as resolveGatewayUrls, Mr as resolveTourTargetPath, qe as setSSoCookie, Je as setShellSsoCookies, ut as setUserContext, an as shouldEnableKeyboardShortcuts, on as shouldIgnoreShortcut, J as shouldShowBreadcrumb, Y as shouldShowSidebar, se as shouldToastBackendError, k as slugify, d as statusTokens, R as suppressConsole, A as toCamelCase, j as toPascalCase, f as trendTokens, M as truncateText, fi as useActorProfiles, Ae as useApolloClient, si as useAppState, Vn as useAsync, Hn as useAsyncImmediate, Fr as useAutoStartTour, En as useBreakpoint, Rn as useConditionalToggle, Mn as useCopyToClipboard, lr as useCurrentContextSearchParams, Cn as useDebounce, ci as useDeviceInfo, bn as useEvent, xn as useEventBus, Sn as useEventEmitter, Ht as useFeatureFlag, Ut as useFeatureFlagDetails, Wt as useFeatureFlagValue, Vt as useFeatureFlags, Se as useGateway, Ce as useGatewayClient, li as useHaptics, $n as useHasAnimated, Kn as useHotkeys, vr as useIsTourPlaying, An as useKeyPress, jn as useKeyboardShortcut, Gn as useKeyboardShortcuts, je as useLazyQuery, Nn as useLocalStorage, Qn as useLogger, e as useMediaQuery, dr as useMicrofrontendContext, Dn as useMobileBreakpoint, Me as useMutation, oi as useNativeKeyboard, ii as useNativePlatform, On as useOnClickOutside, kn as useOnClickOutsideWithRef, Lt as usePWA, wr as usePlayTour, Fn as usePrevious, In as usePreviousDistinct, Ln as usePreviousHistory, Ne as useQuery, ir as useQuotaErrorToast, tr as useRecordProductVisit, er as useReferralAttribution, tt as useRegistryHelpers, ai as useSafeArea, we as useSafeGateway, Te as useSafeGatewayClient, Ir as useSafeToursContext, Pn as useSessionStorage, nt as useShellNavigate, qn as useShortcutHelp, yr as useStartTour, ui as useStatusBar, br as useStopTour, Pe as useSubscription, wn as useThrottle, zn as useToggle, Bn as useToggleObject, mr as useTourPlayer, xr as useTourPlayerContext, Lr as useTours, Rr as useToursContext, sr as useUpgradePrompt, Nr as withTourProgressStatus };
116
+ export { At as AccessDenied, mi as ActorIdentity, De as ApolloClient, Oe as ApolloProvider, Bt as AppErrorBoundary, tt as AppInitializer, Vr as AppShellProvider, re as BACKEND_ERROR_EVENT, En as BREAKPOINTS, gn as BackendAuditSink, hn as BroadcastChannelSink, W as COMMON_SHELL_LESS_ROUTES, Lt as ConditionalShell, ct as ConsoleTransport, qt as ContextConversationWidget, X as DEFAULT_PAGE_SIZE, G as DEFAULT_SHELL_CONFIG, mn as DevtoolsSink, wt as ErrorBoundary, Mt as ErrorFallback, yn as EventBusProvider, hi as FE_SHARED_VERSION, Vt as FeatureFlagProvider, Kt as FeatureGate, Z as GATEWAYS, Yn as GLOBAL_SHORTCUT_CATEGORIES, xe as GatewayProvider, ke as InMemoryCache, cn as KeyboardHelpDialogWrapper, Nt as LoadingFallback, it as LogLevel, ot as LogManager, at as Logger, Wn as MODIFIER_KEYS, dr as MicrofrontendContext, It as MicrofrontendErrorBoundary, Ur as MicrofrontendProvider, vn as OtelBrowserSink, or as PLAN_USAGE_SNAPSHOT_EVENT, Gn as PLATFORM_TYPES, B as PRODUCTS, V as PRODUCT_URLS, zt as PWAInstallBanner, Pt as PageLoadingFallback, Dt as PermissionButton, jt as PermissionDenied, Ot as PermissionGate, kt as PermissionLink, mt as QUOTA_EXHAUSTED_CODE, rr as QUOTA_EXHAUSTED_EVENT, ln as QuotaMeter, ht as RESOURCE_CAP_EXCEEDED_CODE, Tt as RequireAuth, Et as RequireGuest, _n as RybbitSink, he as SSELink, Xe as SSORedirectSpinner, gt as STORAGE_QUOTA_EXCEEDED_CODE, ii as SafeAreaView, Ft as SectionLoadingFallback, Br as TourInitializer, Cr as TourPlayer, vr as TourPlayerProvider, gr as TourSpotlight, _r as TourTooltip, Wr as TourTrigger, wr as TourTriggerButton, Fr as ToursProvider, _t as UPGRADE_ERROR_CODES, un as UPGRADE_PROMPT_EVENT, pn as UpgradeInlineBanner, dn as UpgradePromptModal, Ee as WsLink, n as alertTokens, lr as appendContextToPath, Ie as attemptTokenRefresh, fi as buildActorFallback, vt as buildQuotaExhaustedMessage, p as capitalizeFirst, m as capitalizeWords, r as categoryTokens, Ze as checkRemoteSLO, Qe as checkSLO, Le as clearAuthSessionStorage, $e as clearLocalAuthState, He as clearSSoCookie, Ue as clearShellSsoCookies, lt as clearUserContext, Ct as cn, t as createApolloClient, bn as createEventBus, Xn as createGlobalShortcuts, ge as createGraphQLClient, ft as createProfileScopedStorage, pr as detectDeviceType, Jt as detectPlatform, ie as dispatchBackendErrorEvent, ir as dispatchQuotaExhausted, fn as dispatchUpgradePrompt, ae as extractBackendError, yt as extractQuotaExhaustedExtensions, bt as extractUpgradeErrorExtensions, h as formatBytes, g as formatCompactNumber, _ as formatCurrency, v as formatCurrencyCompact, y as formatDate, b as formatDateTime, x as formatDuration, Yt as formatKeyCombo, S as formatList, C as formatNumber, w as formatOrdinal, T as formatPercentage, E as formatRelativeTime, D as formatTime, i as getAlertTokens, a as getCategoryTokens, Xt as getDisplayKeysForPlatform, Q as getGatewayConfig, $ as getGatewayUrl, _e as getGlobalClient, Zn as getGlobalShortcutsByCategory, ee as getGraphQLEndpoint, Gr as getNativeBridge, Kr as getPlatform, H as getProductUrl, U as getProductsWithUrls, pt as getProfileScopedKey, o as getProgressTokens, mr as getResponsiveSelector, et as getSSORedirectUrl, We as getSSoCookie, K as getShellConfig, Zt as getShortcutLabel, s as getStatusBadgeTokens, c as getStatusTokens, ce as getStoredAuthToken, le as getStoredLocale, ue as getStoredOrganizationId, de as getStoredWorkspaceId, fe as getStoredWorkspaceToken, Er as getTourContextRank, Dr as getTourRouteCatalog, Or as getTourRouteModules, kr as getTourRoutePages, l as getTrendTokens, ve as getWorkspaceClient, te as getWorkspaceTokenPayload, Ae as gql, pe as graphqlFetch, Re as hasAuthGraphQLErrors, ye as initializeAppClients, ut as initializeLogger, I as installGatewayFetchRewrite, qr as isAndroid, ze as isAuthGraphQLError, Be as isAuthNetworkError, oe as isBackendErrorDisplay, N as isChunkLoadError, Jr as isIOS, Qt as isMac, $t as isMobileDevice, Yr as isNative, xt as isQuotaExhaustedError, Ge as isSharedSsoCookieDomain, q as isShellLessRoute, en as isTabletDevice, Ar as isTourVisibleForContext, Ke as isTrustedSsoOrigin, St as isUpgradeError, Xr as isWeb, ne as isWorkspaceTokenValidForContext, P as lazyWithRetry, st as logManager, tn as matchesKeyCombo, Qn as mergeShortcuts, Zr as nativeConfirm, Qr as nativeCopyText, $r as nativeImpact, ei as nativeNotify, ti as nativeOpenUrl, ni as nativeShare, ri as nativeToast, nn as normalizeKey, rn as normalizePlatformCombo, jr as normalizeTourPath, an as parseKeyCombo, O as pluralize, u as progressTokens, sr as publishPlanUsageSnapshot, qe as readShellSsoCookie, Ve as redirectToLogin, Mr as registerTourRouteCatalog, be as resetAppClients, Hr as resolveAppShellObservabilityConfig, z as resolveAuthBridgeConfig, L as resolveGatewayBases, me as resolveGatewayUrl, F as resolveGatewayUrls, Nr as resolveTourTargetPath, Je as setSSoCookie, Ye as setShellSsoCookies, dt as setUserContext, on as shouldEnableKeyboardShortcuts, sn as shouldIgnoreShortcut, J as shouldShowBreadcrumb, Y as shouldShowSidebar, se as shouldToastBackendError, k as slugify, d as statusTokens, R as suppressConsole, A as toCamelCase, j as toPascalCase, f as trendTokens, M as truncateText, pi as useActorProfiles, je as useApolloClient, ci as useAppState, Hn as useAsync, Un as useAsyncImmediate, Ir as useAutoStartTour, Dn as useBreakpoint, zn as useConditionalToggle, Nn as useCopyToClipboard, ur as useCurrentContextSearchParams, wn as useDebounce, li as useDeviceInfo, xn as useEvent, Sn as useEventBus, Cn as useEventEmitter, Ut as useFeatureFlag, Wt as useFeatureFlagDetails, Gt as useFeatureFlagValue, Ht as useFeatureFlags, Se as useGateway, Ce as useGatewayClient, ui as useHaptics, er as useHasAnimated, qn as useHotkeys, yr as useIsTourPlaying, jn as useKeyPress, Mn as useKeyboardShortcut, Kn as useKeyboardShortcuts, Me as useLazyQuery, Pn as useLocalStorage, $n as useLogger, e as useMediaQuery, fr as useMicrofrontendContext, On as useMobileBreakpoint, Ne as useMutation, si as useNativeKeyboard, ai as useNativePlatform, kn as useOnClickOutside, An as useOnClickOutsideWithRef, Rt as usePWA, Tr as usePlayTour, In as usePrevious, Ln as usePreviousDistinct, Rn as usePreviousHistory, Pe as useQuery, ar as useQuotaErrorToast, nr as useRecordProductVisit, tr as useReferralAttribution, nt as useRegistryHelpers, oi as useSafeArea, we as useSafeGateway, Te as useSafeGatewayClient, Lr as useSafeToursContext, Fn as useSessionStorage, rt as useShellNavigate, Jn as useShortcutHelp, br as useStartTour, di as useStatusBar, xr as useStopTour, Fe as useSubscription, Tn as useThrottle, Bn as useToggle, Vn as useToggleObject, hr as useTourPlayer, Sr as useTourPlayerContext, Rr as useTours, zr as useToursContext, cr as useUpgradePrompt, Pr as withTourProgressStatus };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@burdenoff/fe-libs",
3
- "version": "2026.529.3",
3
+ "version": "2026.529.5",
4
4
  "description": "Burdenoff frontend primitives and domain libraries",
5
5
  "type": "module",
6
6
  "imports": {
@@ -288,6 +288,7 @@
288
288
  "class-variance-authority": "^0.7.1",
289
289
  "clsx": "^2.1.1",
290
290
  "cmdk": "^1.1.1",
291
+ "graphql-ws": "^6.0.8",
291
292
  "lucide-react": "^0.562.0",
292
293
  "react-error-boundary": "^6.1.1",
293
294
  "react-hook-form": "^7.69.0",