@burdenoff/fe-libs 2026.601.2 → 2026.601.3

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.
@@ -53,6 +53,8 @@ export interface CreateClientOptions {
53
53
  onNetworkError?: (error: Error) => void;
54
54
  /** Callback when network status changes (circuit breaker open/closed) */
55
55
  onNetworkStatusChange?: (isOffline: boolean) => void;
56
+ /** Callback after a successful mutation response. Used by shells to refresh active UI data. */
57
+ onMutationSuccess?: (event: MutationSuccessEvent) => void | Promise<void>;
56
58
  /** Maximum retry attempts for failed requests (default: 3) */
57
59
  maxRetryAttempts?: number;
58
60
  /**
@@ -68,6 +70,10 @@ export interface CreateClientOptions {
68
70
  /** Enable debug logging */
69
71
  debug?: boolean;
70
72
  }
73
+ export interface MutationSuccessEvent {
74
+ gateway: Gateway;
75
+ operationName: string;
76
+ }
71
77
  /**
72
78
  * Creates an Apollo Client configured for a Burdenoff gateway
73
79
  *
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/shared/graphql/client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAGZ,aAAa,EAId,MAAM,qBAAqB,CAAC;AAO7B,OAAO,EAAiB,KAAK,OAAO,EAAY,MAAM,WAAW,CAAC;AAmDlE;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAE9C;AAiBD,YAAY,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,WAAW,mBAAmB;IAClC,4CAA4C;IAC5C,OAAO,EAAE,OAAO,CAAC;IACjB,wEAAwE;IACxE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC;IAC3C,8FAA8F;IAC9F,cAAc,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC;IAChD,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC;IACxC,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,IAAI,CAAC;IACT,8EAA8E;IAC9E,cAAc,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC;IAChD,0FAA0F;IAC1F,SAAS,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC;IAC3C,oFAAoF;IACpF,WAAW,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC;IAC7C,8EAA8E;IAC9E,SAAS,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC;IAC3C,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC;IAC1C,0DAA0D;IAC1D,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,+BAA+B;IAC/B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACxC,yCAAyC;IACzC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACxC,yEAAyE;IACzE,qBAAqB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IACrD,8DAA8D;IAC9D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAmFD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,mBAAmB,gBA8gB/D;AASD,MAAM,WAAW,eAAe;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC;IAC3C,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CA0BlE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,YAAY,CAKjD;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,YAAY,CAK9C;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAStC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/shared/graphql/client.ts"],"names":[],"mappings":"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"}
@@ -7,8 +7,8 @@ import { SSELink as o } from "./links/sse-link.js";
7
7
  import { onError as s } from "@apollo/client/link/error";
8
8
  import { RetryLink as c } from "@apollo/client/link/retry";
9
9
  import { setContext as l } from "@apollo/client/link/context";
10
- import { ApolloClient as u, ApolloLink as d, InMemoryCache as f, Observable as p, from as m, split as ee } from "@apollo/client/core";
11
- import { getMainDefinition as te } from "@apollo/client/utilities";
10
+ import { ApolloClient as u, ApolloLink as d, InMemoryCache as ee, Observable as f, from as p, split as te } from "@apollo/client/core";
11
+ import { getMainDefinition as m } from "@apollo/client/utilities";
12
12
  import { print as h } from "graphql";
13
13
  //#region src/shared/graphql/client.ts
14
14
  var g = {
@@ -16,40 +16,48 @@ var g = {
16
16
  lastFailureTime: 0,
17
17
  isOpen: !1
18
18
  }, _ = 5, v = 3e4;
19
- function y() {
19
+ function ne() {
20
20
  return g.consecutiveFailures++, g.lastFailureTime = Date.now(), g.consecutiveFailures >= _ && (g.isOpen = !0), g.isOpen;
21
21
  }
22
- function b() {
22
+ function y() {
23
23
  g.consecutiveFailures = 0, g.isOpen = !1;
24
24
  }
25
- function x() {
25
+ function re() {
26
26
  return g.isOpen ? Date.now() - g.lastFailureTime > v ? (g.isOpen = !1, g.consecutiveFailures = 0, !1) : !0 : !1;
27
27
  }
28
- function ne(e) {
28
+ function ie(e) {
29
29
  if (!e || typeof e != "object") return null;
30
30
  let t = e.workspaceId;
31
31
  return typeof t == "string" && t.trim() ? t : null;
32
32
  }
33
- function re(e) {
33
+ function ae(e) {
34
34
  if (!e || typeof e != "object") return null;
35
35
  let t = e.projectId;
36
36
  return typeof t == "string" && t.trim() ? t : null;
37
37
  }
38
- function S(e) {
38
+ function oe(e) {
39
+ let t = m(e);
40
+ return t.kind === "OperationDefinition" && t.operation === "mutation";
41
+ }
42
+ function se(e) {
43
+ let t = e.errors;
44
+ return Array.isArray(t) && t.length > 0;
45
+ }
46
+ function b(e) {
39
47
  let t = e.headers;
40
48
  if (!t || typeof t != "object" || Array.isArray(t)) return {};
41
49
  let n = {};
42
50
  for (let [e, r] of Object.entries(t)) typeof r == "string" && (n[e] = r);
43
51
  return n;
44
52
  }
45
- function C(e) {
53
+ function x(e) {
46
54
  let t = e.fetchOptions;
47
55
  if (!t || typeof t != "object" || !("signal" in t)) return;
48
56
  let n = t.signal;
49
57
  return n instanceof AbortSignal ? n : void 0;
50
58
  }
51
- function ie({ uri: e, batchMax: t, batchInterval: n }) {
52
- return new d((r) => new p((i) => {
59
+ function ce({ uri: e, batchMax: t, batchInterval: n }) {
60
+ return new d((r) => new f((i) => {
53
61
  let o = r.getContext(), s = { query: h(r.query) };
54
62
  r.operationName && (s.operationName = r.operationName);
55
63
  let c = r.variables ?? {}, l = r.extensions ?? {};
@@ -57,8 +65,8 @@ function ie({ uri: e, batchMax: t, batchInterval: n }) {
57
65
  let u = !1;
58
66
  return a(e, {
59
67
  "content-type": "application/json",
60
- ...S(o)
61
- }, s, C(o), {
68
+ ...b(o)
69
+ }, s, x(o), {
62
70
  batchMax: t,
63
71
  batchInterval: n
64
72
  }).then((e) => {
@@ -70,98 +78,108 @@ function ie({ uri: e, batchMax: t, batchInterval: n }) {
70
78
  };
71
79
  }));
72
80
  }
73
- function w(a) {
74
- let { gateway: h, baseUrl: _, authToken: v, workspaceToken: S, locale: C, geography: w, organizationId: T, productId: E, workspaceId: D, projectId: O, tenantId: k, cache: A, enableSubscriptions: ae = !1, sseUrl: oe, onAuthError: j, onRefreshToken: M, onNetworkError: N, onNetworkStatusChange: P, maxRetryAttempts: se = 3, batchMax: ce = 10, batchInterval: le, debug: F = !1 } = a, I = e[h], L = ie({
81
+ function S(a) {
82
+ let { gateway: h, baseUrl: _, authToken: v, workspaceToken: b, locale: x, geography: S, organizationId: C, productId: w, workspaceId: T, projectId: E, tenantId: D, cache: O, enableSubscriptions: le = !1, sseUrl: ue, onAuthError: k, onRefreshToken: A, onNetworkError: j, onNetworkStatusChange: M, onMutationSuccess: N, maxRetryAttempts: de = 3, batchMax: fe = 10, batchInterval: pe, debug: P = !1 } = a, F = null, I = null, me = (e) => {
83
+ I ||= setTimeout(() => {
84
+ I = null, F && F.refetchQueries({ include: "active" }).catch((t) => {
85
+ P && console.warn("[GraphQL] Active query refresh failed after mutation:", {
86
+ gateway: h,
87
+ operationName: e,
88
+ error: t
89
+ });
90
+ });
91
+ }, 0);
92
+ }, L = e[h], R = ce({
75
93
  uri: n(t(_, h)),
76
- batchMax: ce,
77
- batchInterval: le
78
- }), R = l((e, t) => {
94
+ batchMax: fe,
95
+ batchInterval: pe
96
+ }), z = l((e, t) => {
79
97
  let n = t.headers ?? {}, r = typeof v == "function" ? v() : v;
80
98
  return { headers: {
81
99
  ...n,
82
100
  ...r ? { authorization: `Bearer ${r}` } : {}
83
101
  } };
84
- }), z = l((e, t) => {
85
- let n = t.headers ?? {}, r = typeof C == "function" ? C() : C;
102
+ }), B = l((e, t) => {
103
+ let n = t.headers ?? {}, r = typeof x == "function" ? x() : x;
86
104
  return { headers: {
87
105
  ...n,
88
106
  ...r ? { "accept-language": r } : {}
89
107
  } };
90
- }), B = l((e, t) => {
91
- let n = t.headers ?? {}, r = typeof w == "function" ? w() : null;
108
+ }), V = l((e, t) => {
109
+ let n = t.headers ?? {}, r = typeof S == "function" ? S() : null;
92
110
  return { headers: {
93
111
  ...n,
94
112
  ...r?.country ? { "x-geo-country": r.country } : {},
95
113
  ...r?.currency ? { "x-geo-currency": r.currency } : {},
96
114
  ...r?.timezone ? { "x-geo-timezone": r.timezone } : {}
97
115
  } };
98
- }), V = l((e, t) => {
99
- let n = t.headers ?? {}, r = typeof T == "function" ? T() : T;
116
+ }), H = l((e, t) => {
117
+ let n = t.headers ?? {}, r = typeof C == "function" ? C() : C;
100
118
  return { headers: {
101
119
  ...n,
102
120
  ...r ? { "x-org-id": r } : {}
103
121
  } };
104
- }), H = l((e, t) => {
105
- let n = t.headers ?? {}, r = typeof E == "function" ? E() : E;
122
+ }), U = l((e, t) => {
123
+ let n = t.headers ?? {}, r = typeof w == "function" ? w() : w;
106
124
  return { headers: {
107
125
  ...n,
108
126
  ...r ? { "x-product-id": r } : {}
109
127
  } };
110
- }), U = l((e, t) => {
111
- let n = t.headers ?? {}, r = (typeof D == "function" ? D() : D) || ne(e.variables);
128
+ }), W = l((e, t) => {
129
+ let n = t.headers ?? {}, r = (typeof T == "function" ? T() : T) || ie(e.variables);
112
130
  return { headers: {
113
131
  ...n,
114
132
  ...r ? { "x-workspace-id": r } : {}
115
133
  } };
116
- }), W = l((e, t) => {
117
- let n = t.headers ?? {}, r = (typeof O == "function" ? O() : O) || re(e.variables);
134
+ }), G = l((e, t) => {
135
+ let n = t.headers ?? {}, r = (typeof E == "function" ? E() : E) || ae(e.variables);
118
136
  return { headers: {
119
137
  ...n,
120
138
  ...r ? { "x-project-id": r } : {}
121
139
  } };
122
- }), G = l((e, t) => {
123
- let n = t.headers ?? {}, r = typeof k == "function" ? k() : k;
140
+ }), K = l((e, t) => {
141
+ let n = t.headers ?? {}, r = typeof D == "function" ? D() : D;
124
142
  return { headers: {
125
143
  ...n,
126
144
  ...r ? { "x-tenant-id": r } : {}
127
145
  } };
128
- }), K = l((e, t) => {
129
- let n = t.headers ?? {}, i = typeof S == "function" ? S() : S, a = r(i, {
130
- workspaceId: typeof D == "function" ? D() : D,
131
- organizationId: typeof T == "function" ? T() : T,
132
- tenantId: typeof k == "function" ? k() : k,
133
- projectId: typeof O == "function" ? O() : O
146
+ }), q = l((e, t) => {
147
+ let n = t.headers ?? {}, i = typeof b == "function" ? b() : b, a = r(i, {
148
+ workspaceId: typeof T == "function" ? T() : T,
149
+ organizationId: typeof C == "function" ? C() : C,
150
+ tenantId: typeof D == "function" ? D() : D,
151
+ projectId: typeof E == "function" ? E() : E
134
152
  }) ? i : null;
135
153
  return { headers: {
136
154
  ...n,
137
155
  ...a ? { "x-workspace-authorization": `Bearer ${a}` } : {}
138
156
  } };
139
- }), q = new c({
157
+ }), J = new c({
140
158
  delay: {
141
159
  initial: 1e3,
142
160
  max: 8e3,
143
161
  jitter: !0
144
162
  },
145
163
  attempts: {
146
- max: se,
164
+ max: de,
147
165
  retryIf: (e) => {
148
- if (x() || !e) return !1;
166
+ if (re() || !e) return !1;
149
167
  let t = e.message?.toLowerCase?.() ?? "";
150
168
  return !(t.includes("401") || t.includes("403") || t.includes("unauthorized") || t.includes("forbidden") || t.includes("unauthenticated"));
151
169
  }
152
170
  }
153
- }), J = new d((e, t) => {
154
- if (x()) {
155
- F && console.warn("[CircuitBreaker] Circuit is open, blocking request:", e.operationName);
171
+ }), Y = new d((e, t) => {
172
+ if (re()) {
173
+ P && console.warn("[CircuitBreaker] Circuit is open, blocking request:", e.operationName);
156
174
  let t = /* @__PURE__ */ Error("Network circuit breaker is open — backend appears unreachable. Retrying in 30 seconds.");
157
- return N?.(t), new p((e) => {
175
+ return j?.(t), new f((e) => {
158
176
  e.error(t);
159
177
  });
160
178
  }
161
- return new p((n) => {
179
+ return new f((n) => {
162
180
  let r = t(e).subscribe({
163
181
  next: (e) => {
164
- b(), g.consecutiveFailures === 0 && P?.(!1), n.next(e);
182
+ y(), g.consecutiveFailures === 0 && M?.(!1), n.next(e);
165
183
  },
166
184
  error: (e) => {
167
185
  n.error(e);
@@ -174,15 +192,15 @@ function w(a) {
174
192
  r.unsubscribe();
175
193
  };
176
194
  });
177
- }), Y = !1, X = [];
178
- function Z(e) {
179
- X.forEach(({ resolve: t }) => t(e)), X = [];
195
+ }), X = !1, Z = [];
196
+ function Q(e) {
197
+ Z.forEach(({ resolve: t }) => t(e)), Z = [];
180
198
  }
181
- let Q = s(({ error: e, operation: t, forward: n }) => {
199
+ let he = s(({ error: e, operation: t, forward: n }) => {
182
200
  let r = e.errors;
183
201
  if (r) {
184
202
  let a = r.some((e) => e.extensions?.code === "UNAUTHENTICATED" || e.message.includes("Unauthorized") || e.message.includes("Unauthenticated"));
185
- for (let e of r) F && console.error("[GraphQL Error]:", e.message);
203
+ for (let e of r) P && console.error("[GraphQL Error]:", e.message);
186
204
  i({ errors: r }, { operationName: t.operationName });
187
205
  let o = new Set(["STORAGE_QUOTA_EXCEEDED", "RESOURCE_CAP_EXCEEDED"]);
188
206
  for (let e of r) {
@@ -192,80 +210,111 @@ function w(a) {
192
210
  break;
193
211
  }
194
212
  }
195
- if (a && M) return new p((r) => {
213
+ if (a && A) return new f((r) => {
196
214
  (async () => {
197
- if (Y) if (await new Promise((e) => {
198
- X.push({ resolve: e });
215
+ if (X) if (await new Promise((e) => {
216
+ Z.push({ resolve: e });
199
217
  })) {
200
218
  let e = n(t).subscribe(r);
201
219
  return () => e.unsubscribe();
202
- } else return j?.(), r.error(e), () => {};
203
- Y = !0;
220
+ } else return k?.(), r.error(e), () => {};
221
+ X = !0;
204
222
  try {
205
- let i = await M();
206
- if (Y = !1, i) {
207
- Z(!0);
223
+ let i = await A();
224
+ if (X = !1, i) {
225
+ Q(!0);
208
226
  let e = n(t).subscribe(r);
209
227
  return () => e.unsubscribe();
210
- } else return Z(!1), j?.(), r.error(e), () => {};
228
+ } else return Q(!1), k?.(), r.error(e), () => {};
211
229
  } catch {
212
- return Y = !1, Z(!1), j?.(), r.error(e), () => {};
230
+ return X = !1, Q(!1), k?.(), r.error(e), () => {};
213
231
  }
214
232
  })();
215
233
  });
216
- a && j?.(), b();
217
- } else if (F && console.error("[Network Error]:", e), y() && P?.(!0), e instanceof Error) N?.(e), i(e, {
234
+ a && k?.(), y();
235
+ } else if (P && console.error("[Network Error]:", e), ne() && M?.(!0), e instanceof Error) j?.(e), i(e, {
218
236
  operationName: t.operationName,
219
237
  fallbackMessage: "We could not reach the server. Please check your connection and try again."
220
238
  });
221
239
  else {
222
240
  let n = Error(String(e));
223
- N?.(n), i(n, {
241
+ j?.(n), i(n, {
224
242
  operationName: t.operationName,
225
243
  fallbackMessage: "We could not reach the server. Please check your connection and try again."
226
244
  });
227
245
  }
228
- }), $ = m([
229
- q,
246
+ }), ge = new d((e, t) => {
247
+ let n = oe(e.query) && e.getContext().autoRefreshAfterMutation !== !1 && e.getContext().skipMutationAutoRefresh !== !0;
248
+ return new f((r) => {
249
+ let i = t(e).subscribe({
250
+ next: (t) => {
251
+ if (r.next(t), !n || se(t)) return;
252
+ let i = e.operationName || "anonymous mutation";
253
+ N ? Promise.resolve(N({
254
+ gateway: h,
255
+ operationName: i
256
+ })).catch((e) => {
257
+ P && console.warn("[GraphQL] Mutation refresh callback failed:", {
258
+ gateway: h,
259
+ operationName: i,
260
+ error: e
261
+ });
262
+ }) : me(i);
263
+ },
264
+ error: (e) => {
265
+ r.error(e);
266
+ },
267
+ complete: () => {
268
+ r.complete();
269
+ }
270
+ });
271
+ return () => {
272
+ i.unsubscribe();
273
+ };
274
+ });
275
+ }), $ = p([
230
276
  J,
231
- Q,
232
- R,
233
- K,
234
- V,
277
+ Y,
278
+ he,
279
+ ge,
280
+ z,
281
+ q,
235
282
  H,
236
283
  U,
237
284
  W,
238
285
  G,
239
- z,
286
+ K,
240
287
  B,
241
- L
288
+ V,
289
+ R
242
290
  ]);
243
- if (ae) {
244
- let e = oe || n(_ || I.defaultBaseUrl) + I.sse;
245
- e && ($ = m([
246
- q,
291
+ if (le) {
292
+ let e = ue || n(_ || L.defaultBaseUrl) + L.sse;
293
+ e && ($ = p([
247
294
  J,
248
- Q,
249
- R,
250
- K,
251
- V,
295
+ Y,
296
+ he,
297
+ ge,
298
+ z,
299
+ q,
252
300
  H,
253
301
  U,
254
302
  W,
255
303
  G,
256
- z,
304
+ K,
257
305
  B,
258
- ee(({ query: e }) => {
259
- let t = te(e);
306
+ V,
307
+ te(({ query: e }) => {
308
+ let t = m(e);
260
309
  return t.kind === "OperationDefinition" && t.operation === "subscription";
261
310
  }, new o({
262
311
  url: e,
263
312
  headers: {},
264
- debug: F
265
- }), L)
313
+ debug: P
314
+ }), R)
266
315
  ]));
267
316
  }
268
- let ue = new f({ typePolicies: {
317
+ let _e = new ee({ typePolicies: {
269
318
  File: { keyFields: ["id"] },
270
319
  Folder: { keyFields: ["id"] },
271
320
  Tag: { keyFields: ["id"] },
@@ -297,9 +346,9 @@ function w(a) {
297
346
  Session: { keyFields: ["id"] },
298
347
  DeveloperOrganization: { keyFields: ["id"] }
299
348
  } });
300
- return new u({
349
+ return F = new u({
301
350
  link: $,
302
- cache: A ?? ue,
351
+ cache: O ?? _e,
303
352
  defaultOptions: {
304
353
  watchQuery: {
305
354
  fetchPolicy: "cache-and-network",
@@ -311,19 +360,19 @@ function w(a) {
311
360
  },
312
361
  mutate: { errorPolicy: "all" }
313
362
  }
314
- });
363
+ }), F;
315
364
  }
316
- var T = null, E = null;
317
- function D(e) {
365
+ var C = null, w = null;
366
+ function T(e) {
318
367
  let { workspaceBaseUrl: t, globalBaseUrl: n, authToken: r, enableSubscriptions: i = !1, onAuthError: a, debug: o = !1 } = e;
319
- T = w({
368
+ C = S({
320
369
  gateway: "workspace",
321
370
  baseUrl: t,
322
371
  authToken: r,
323
372
  enableSubscriptions: i,
324
373
  onAuthError: a,
325
374
  debug: o
326
- }), E = w({
375
+ }), w = S({
327
376
  gateway: "global",
328
377
  baseUrl: n,
329
378
  authToken: r,
@@ -331,16 +380,16 @@ function D(e) {
331
380
  debug: o
332
381
  });
333
382
  }
334
- function O() {
335
- if (!T) throw Error("Workspace client not initialized. Call initializeAppClients first.");
336
- return T;
383
+ function E() {
384
+ if (!C) throw Error("Workspace client not initialized. Call initializeAppClients first.");
385
+ return C;
337
386
  }
338
- function k() {
339
- if (!E) throw Error("Global client not initialized. Call initializeAppClients first.");
340
- return E;
387
+ function D() {
388
+ if (!w) throw Error("Global client not initialized. Call initializeAppClients first.");
389
+ return w;
341
390
  }
342
- function A() {
343
- T &&= (T.clearStore(), null), E &&= (E.clearStore(), null);
391
+ function O() {
392
+ C &&= (C.clearStore(), null), w &&= (w.clearStore(), null);
344
393
  }
345
394
  //#endregion
346
- export { w as createGraphQLClient, k as getGlobalClient, O as getWorkspaceClient, D as initializeAppClients, A as resetAppClients };
395
+ export { S as createGraphQLClient, D as getGlobalClient, E as getWorkspaceClient, T as initializeAppClients, O as resetAppClients };
@@ -1 +1 @@
1
- {"version":3,"file":"AppShellProvider.d.ts","sourceRoot":"","sources":["../../../src/shared/providers/AppShellProvider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AppShellProvider.d.ts","sourceRoot":"","sources":["../../../src/shared/providers/AppShellProvider.tsx"],"names":[],"mappings":"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"}
@@ -388,19 +388,27 @@ function be({ config: n, children: i, clearAuthStore: a }) {
388
388
  refreshToken: n.refreshToken,
389
389
  expiresAt: n.expiresIn ? Date.now() + n.expiresIn * 1e3 : void 0
390
390
  };
391
- }, [y.globalBaseUrl]), Z = z(() => t("organization"), []), Q = V(() => new se({
392
- queryCache: new oe({ onError: (e) => {
393
- r(e);
394
- } }),
395
- mutationCache: new ae({ onError: (e) => {
396
- r(e);
397
- } }),
398
- defaultOptions: { queries: {
399
- staleTime: O?.staleTime ?? 300 * 1e3,
400
- retry: O?.retry ?? 1,
401
- refetchOnWindowFocus: O?.refetchOnWindowFocus ?? !1
402
- } }
403
- }), [O]);
391
+ }, [y.globalBaseUrl]), Z = z(() => t("organization"), []), Q = V(() => {
392
+ let e = new se({
393
+ queryCache: new oe({ onError: (e) => {
394
+ r(e);
395
+ } }),
396
+ mutationCache: new ae({
397
+ onSuccess: () => {
398
+ e.invalidateQueries();
399
+ },
400
+ onError: (e) => {
401
+ r(e);
402
+ }
403
+ }),
404
+ defaultOptions: { queries: {
405
+ staleTime: O?.staleTime ?? 300 * 1e3,
406
+ retry: O?.retry ?? 1,
407
+ refetchOnWindowFocus: O?.refetchOnWindowFocus ?? !1
408
+ } }
409
+ });
410
+ return e;
411
+ }, [O]);
404
412
  return B(() => {
405
413
  let e = te.getInstance();
406
414
  e.getLogger("shell") || e.getLogger("shell").addTransport(new d());
@@ -1 +1 @@
1
- {"version":3,"file":"MultiGatewayProvider.d.ts","sourceRoot":"","sources":["../../../../src/shared/providers/shell/MultiGatewayProvider.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAA2C,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAGhF,OAAO,EAAuB,KAAK,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAKzE,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,SAAS,CAAC;IACpB,qCAAqC;IACrC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kCAAkC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kEAAkE;IAClE,cAAc,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACrC,qEAAqE;IACrE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,2BAA2B;IAC3B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,yCAAyC;IACzC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACxC,+CAA+C;IAC/C,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;CACzC;AAED,wBAAgB,oBAAoB,CAAC,EACnC,QAAQ,EACR,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,cAA4B,EAC5B,KAAa,EACb,mBAA2B,EAC3B,WAAW,EACX,cAAc,EACd,cAAc,GACf,EAAE,yBAAyB,2CAqO3B"}
1
+ {"version":3,"file":"MultiGatewayProvider.d.ts","sourceRoot":"","sources":["../../../../src/shared/providers/shell/MultiGatewayProvider.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAA2C,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAIhF,OAAO,EAAuB,KAAK,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAKzE,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,SAAS,CAAC;IACpB,qCAAqC;IACrC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kCAAkC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kEAAkE;IAClE,cAAc,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACrC,qEAAqE;IACrE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,2BAA2B;IAC3B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,yCAAyC;IACzC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACxC,+CAA+C;IAC/C,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;CACzC;AAED,wBAAgB,oBAAoB,CAAC,EACnC,QAAQ,EACR,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,cAA4B,EAC5B,KAAa,EACb,mBAA2B,EAC3B,WAAW,EACX,cAAc,EACd,cAAc,GACf,EAAE,yBAAyB,2CAiR3B"}
@@ -7,14 +7,27 @@ import { jsx as c } from "react/jsx-runtime";
7
7
  import { ApolloProvider as l } from "@apollo/client/react";
8
8
  //#region src/shared/providers/shell/MultiGatewayProvider.tsx
9
9
  function u({ children: u, workspaceBaseUrl: d, globalBaseUrl: f, organizationId: p, defaultGateway: m = "workspace", debug: h = !1, enableSubscriptions: g = !1, onAuthError: _, onNetworkError: v, onRefreshToken: y }) {
10
- let { getAccessToken: b, getWorkspaceToken: x, accessToken: S, workspaceToken: C } = r(), w = i(() => {
10
+ let { getAccessToken: b, getWorkspaceToken: x, accessToken: S, workspaceToken: C } = r(), w = s({
11
+ workspaceClient: null,
12
+ globalClient: null
13
+ }), T = s(null), E = i(() => {
14
+ T.current ||= setTimeout(() => {
15
+ T.current = null;
16
+ let e = w.current, t = [];
17
+ e.workspaceClient && t.push(e.workspaceClient.refetchQueries({ include: "active" })), e.globalClient && t.push(e.globalClient.refetchQueries({ include: "active" })), t.length !== 0 && Promise.allSettled(t).then((e) => {
18
+ if (!h) return;
19
+ let t = e.filter((e) => e.status === "rejected");
20
+ t.length > 0 && console.warn("[MultiGatewayProvider] Active query refresh failed after mutation", t);
21
+ });
22
+ }, 0);
23
+ }, [h]), D = i(() => {
11
24
  let e = sessionStorage.getItem("bf-active-profile");
12
25
  if (e) {
13
26
  let t = localStorage.getItem(`bf-p-${e}-locale`);
14
27
  if (t) return t;
15
28
  }
16
29
  return localStorage.getItem("burdenoff-locale") || "en";
17
- }, []), T = i(() => {
30
+ }, []), O = i(() => {
18
31
  let e = sessionStorage.getItem("bf-active-profile");
19
32
  if (e) {
20
33
  let t = localStorage.getItem(`bf-p-${e}-geography`);
@@ -27,67 +40,73 @@ function u({ children: u, workspaceBaseUrl: d, globalBaseUrl: f, organizationId:
27
40
  return JSON.parse(t);
28
41
  } catch {}
29
42
  return null;
30
- }, []), E = i(() => e("workspace"), []), D = i(() => e("project"), []), O = o(() => t({
43
+ }, []), k = i(() => e("workspace"), []), A = i(() => e("project"), []), j = o(() => t({
31
44
  gateway: "workspace",
32
45
  baseUrl: d,
33
46
  authToken: b,
34
47
  workspaceToken: x,
35
- workspaceId: E,
36
- projectId: D,
48
+ workspaceId: k,
49
+ projectId: A,
37
50
  organizationId: p,
38
- locale: w,
39
- geography: T,
51
+ locale: D,
52
+ geography: O,
40
53
  enableSubscriptions: g,
41
54
  debug: h,
42
55
  onAuthError: _,
43
56
  onRefreshToken: y,
44
- onNetworkError: v
57
+ onNetworkError: v,
58
+ onMutationSuccess: E
45
59
  }), [
46
60
  d,
47
61
  b,
48
62
  x,
49
- E,
50
- D,
63
+ k,
64
+ A,
51
65
  p,
52
- w,
53
- T,
66
+ D,
67
+ O,
54
68
  g,
55
69
  h,
56
70
  _,
57
71
  y,
58
- v
59
- ]), k = o(() => t({
72
+ v,
73
+ E
74
+ ]), M = o(() => t({
60
75
  gateway: "global",
61
76
  baseUrl: f,
62
77
  authToken: b,
63
78
  organizationId: p,
64
- locale: w,
65
- geography: T,
79
+ locale: D,
80
+ geography: O,
66
81
  debug: h,
67
82
  onAuthError: _,
68
83
  onRefreshToken: y,
69
- onNetworkError: v
84
+ onNetworkError: v,
85
+ onMutationSuccess: E
70
86
  }), [
71
87
  f,
72
88
  b,
73
89
  p,
74
- w,
75
- T,
90
+ D,
91
+ O,
76
92
  h,
77
93
  _,
78
94
  y,
79
- v
80
- ]), A = s({
81
- workspaceClient: O,
82
- globalClient: k
83
- });
95
+ v,
96
+ E
97
+ ]);
84
98
  a(() => {
85
- A.current = {
86
- workspaceClient: O,
87
- globalClient: k
99
+ w.current = {
100
+ workspaceClient: j,
101
+ globalClient: M
88
102
  };
89
- }, [O, k]);
90
- let j = i((e) => e === "workspace" ? A.current.workspaceClient : A.current.globalClient, []);
103
+ }, [j, M]), a(() => {
104
+ let e = T;
105
+ return () => {
106
+ e.current &&= (clearTimeout(e.current), null);
107
+ };
108
+ }, []);
109
+ let N = i((e) => e === "workspace" ? w.current.workspaceClient ?? j : w.current.globalClient ?? M, [j, M]);
91
110
  return a(() => {
92
111
  h && console.log("[MultiGatewayProvider] Tokens updated:", {
93
112
  hasAccessToken: !!S,
@@ -102,27 +121,27 @@ function u({ children: u, workspaceBaseUrl: d, globalBaseUrl: f, organizationId:
102
121
  let e = async (e) => {
103
122
  h && console.log("[MultiGatewayProvider] Context changed; evicting cache + refetching", e);
104
123
  try {
105
- O.cache.evict({ id: "ROOT_QUERY" }), O.cache.gc();
124
+ j.cache.evict({ id: "ROOT_QUERY" }), j.cache.gc();
106
125
  } catch {}
107
126
  try {
108
- k.cache.evict({ id: "ROOT_QUERY" }), k.cache.gc();
127
+ M.cache.evict({ id: "ROOT_QUERY" }), M.cache.gc();
109
128
  } catch {}
110
129
  try {
111
- await O.refetchQueries({ include: "active" });
130
+ await j.refetchQueries({ include: "active" });
112
131
  } catch {}
113
132
  try {
114
- await k.refetchQueries({ include: "active" });
133
+ await M.refetchQueries({ include: "active" });
115
134
  } catch {}
116
135
  };
117
136
  return window.addEventListener("burdenoff:workspace-changed", e), window.addEventListener("burdenoff:organization-changed", e), window.addEventListener("burdenoff:project-changed", e), () => {
118
137
  window.removeEventListener("burdenoff:workspace-changed", e), window.removeEventListener("burdenoff:organization-changed", e), window.removeEventListener("burdenoff:project-changed", e);
119
138
  };
120
139
  }, [
121
- O,
122
- k,
140
+ j,
141
+ M,
123
142
  h
124
143
  ]), a(() => {
125
- let e = O, t = k;
144
+ let e = j, t = M;
126
145
  return () => {
127
146
  if (h && console.log("[MultiGatewayProvider] Cleaning up Apollo clients"), !(typeof window < "u" && (window.location.hostname === "localhost" || window.location.hostname === "127.0.0.1" || window.location.hostname.endsWith(".local.burdenoff.com")))) {
128
147
  try {
@@ -134,21 +153,21 @@ function u({ children: u, workspaceBaseUrl: d, globalBaseUrl: f, organizationId:
134
153
  }
135
154
  };
136
155
  }, [
137
- O,
138
- k,
156
+ j,
157
+ M,
139
158
  h
140
159
  ]), /* @__PURE__ */ c(n, {
141
160
  value: o(() => ({
142
- workspaceClient: O,
143
- globalClient: k,
144
- getClient: j
161
+ workspaceClient: j,
162
+ globalClient: M,
163
+ getClient: N
145
164
  }), [
146
- O,
147
- k,
148
- j
165
+ j,
166
+ M,
167
+ N
149
168
  ]),
150
169
  children: /* @__PURE__ */ c(l, {
151
- client: m === "workspace" ? O : k,
170
+ client: m === "workspace" ? j : M,
152
171
  children: u
153
172
  })
154
173
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@burdenoff/fe-libs",
3
- "version": "2026.601.2",
3
+ "version": "2026.601.3",
4
4
  "description": "Burdenoff frontend primitives and domain libraries",
5
5
  "type": "module",
6
6
  "imports": {