@burdenoff/fe-libs 2026.926.4 → 2026.926.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.
@@ -1,11 +1,12 @@
1
+ import { emitProductSlug as e, isSameProductSlug as t, legacyProductSlug as n } from "./productSlug.js";
1
2
  //#region src/shared/config/products.ts
2
- var e = {
3
+ var r = e("botmanor"), i = {
3
4
  development: {
4
5
  fluidgrids: "http://localhost:5147/",
5
6
  bigconsole: "http://localhost:5148/",
6
7
  workspaces: "http://localhost:5149/",
7
8
  vibecontrols: "http://localhost:5151/",
8
- botlit: "http://localhost:5152/"
9
+ botlit: "http://localhost:5260/"
9
10
  },
10
11
  production: {
11
12
  fluidgrids: "https://app.fluidgrids.com/",
@@ -47,7 +48,7 @@ var e = {
47
48
  theculturepost: "https://app.theculturepost.com/",
48
49
  theglobalfuel: "https://app.theglobalfuel.com/"
49
50
  }
50
- }, t = [
51
+ }, a = [
51
52
  {
52
53
  id: "vibecontrols",
53
54
  name: "VibeControls",
@@ -77,7 +78,7 @@ var e = {
77
78
  description: "AI development console"
78
79
  },
79
80
  {
80
- id: "botlit",
81
+ id: r,
81
82
  name: "BotManor",
82
83
  icon: "BL",
83
84
  color: "#f59e0b",
@@ -316,21 +317,27 @@ var e = {
316
317
  description: "Energy, minerals & resources platform"
317
318
  }
318
319
  ];
319
- function n() {
320
+ function o() {
320
321
  return "production";
321
322
  }
322
- function r(t) {
323
- return e[n()][t] || "#";
323
+ function s(e, t) {
324
+ return e[t] ?? e[n(t)];
324
325
  }
325
- function i(t) {
326
- let n = e.production[t];
327
- return n ? `${n}icons/icon.svg` : void 0;
326
+ function c(e) {
327
+ return s(i[o()], e) || "#";
328
328
  }
329
- function a() {
330
- return t.map((e) => ({
329
+ function l(e) {
330
+ return a.find((n) => t(n.id, e));
331
+ }
332
+ function u(e) {
333
+ let t = s(i.production, e);
334
+ return t ? `${t}icons/icon.svg` : void 0;
335
+ }
336
+ function d() {
337
+ return a.map((e) => ({
331
338
  ...e,
332
- url: r(e.id)
339
+ url: c(e.id)
333
340
  }));
334
341
  }
335
342
  //#endregion
336
- export { t as PRODUCTS, e as PRODUCT_URLS, i as getProductLogoUrl, r as getProductUrl, a as getProductsWithUrls };
343
+ export { r as BOTMANOR_PRODUCT_SLUG, a as PRODUCTS, i as PRODUCT_URLS, l as findProductConfig, u as getProductLogoUrl, c as getProductUrl, d as getProductsWithUrls };
@@ -6,6 +6,14 @@
6
6
  *
7
7
  * @module @burdenoff/fe-libs/shared/hooks/shell/useProducts
8
8
  */
9
+ export declare function isKnownProductSlug(slug: string): boolean;
10
+ /**
11
+ * Index registry products by normalised slug so a catalog entry finds its API
12
+ * row whichever spelling of a renamed slug either side uses.
13
+ */
14
+ export declare function indexApiProductsBySlug<T extends {
15
+ slug: string;
16
+ }>(apiProducts: readonly T[]): Map<string, T>;
9
17
  /**
10
18
  * Reject API appUrls that are clearly not production-safe: non-https schemes,
11
19
  * localhost/loopback addresses, or empty values. The static catalog URL is
@@ -1 +1 @@
1
- {"version":3,"file":"useProducts.d.ts","sourceRoot":"","sources":["../../../../src/shared/hooks/shell/useProducts.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA8DH;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,GAAG,IAAI,MAAM,CAU7E;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iFAAiF;IACjF,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAeD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,iBAAiB,CAuE3E"}
1
+ {"version":3,"file":"useProducts.d.ts","sourceRoot":"","sources":["../../../../src/shared/hooks/shell/useProducts.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA+DH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAExD;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAC/D,WAAW,EAAE,SAAS,CAAC,EAAE,GACxB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAMhB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,GAAG,IAAI,MAAM,CAU7E;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iFAAiF;IACjF,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAeD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,iBAAiB,CAqE3E"}
@@ -1,14 +1,15 @@
1
- import { PRODUCTS as e, getProductLogoUrl as t, getProductUrl as n } from "../../config/products.js";
2
- import { useGatewayClient as r } from "../../graphql/GatewayContext.js";
1
+ import { normalizeProductSlug as e } from "../../config/productSlug.js";
2
+ import { PRODUCTS as t, getProductLogoUrl as n, getProductUrl as r } from "../../config/products.js";
3
+ import { useGatewayClient as i } from "../../graphql/GatewayContext.js";
3
4
  import "../../../shared-graphql.js";
4
- import { useCallback as i, useEffect as a, useState as o } from "react";
5
- import { gql as s } from "@apollo/client/core";
5
+ import { useCallback as a, useEffect as o, useState as s } from "react";
6
+ import { gql as c } from "@apollo/client/core";
6
7
  //#region src/shared/hooks/shell/useProducts.ts
7
- var c = new Set(e.map((e) => e.id)), l = new Map(e.map((e) => [e.id, e.comingSoon === !0]));
8
- function u(e, t, n) {
9
- return l.get(e) ? !0 : t !== "ACTIVE" || !n;
8
+ var l = new Set(t.map((t) => e(t.id))), u = new Map(t.map((t) => [e(t.id), t.comingSoon === !0]));
9
+ function d(t, n, r) {
10
+ return u.get(e(t)) ? !0 : n !== "ACTIVE" || !r;
10
11
  }
11
- var d = s`
12
+ var f = c`
12
13
  query GetAccessibleProducts($limit: Int, $offset: Int) {
13
14
  myAccessibleProducts(limit: $limit, offset: $offset) {
14
15
  items {
@@ -25,10 +26,13 @@ var d = s`
25
26
  }
26
27
  }
27
28
  `;
28
- function f(e) {
29
- return c.has(e);
29
+ function p(t) {
30
+ return l.has(e(t));
30
31
  }
31
- function p(e) {
32
+ function m(t) {
33
+ return new Map(t.filter((e) => p(e.slug)).map((t) => [e(t.slug), t]));
34
+ }
35
+ function h(e) {
32
36
  if (!e || !e.startsWith("https://") || e.includes("localhost") || e.includes("127.0.0.1")) return !1;
33
37
  try {
34
38
  let t = new URL(e);
@@ -37,59 +41,59 @@ function p(e) {
37
41
  return !1;
38
42
  }
39
43
  }
40
- function m() {
41
- return e.map((e) => ({
44
+ function g() {
45
+ return t.map((e) => ({
42
46
  id: e.id,
43
47
  name: e.name,
44
- url: n(e.id),
48
+ url: r(e.id),
45
49
  icon: e.icon,
46
50
  color: e.color,
47
- logoUrl: t(e.id),
51
+ logoUrl: n(e.id),
48
52
  comingSoon: e.comingSoon === !0
49
53
  }));
50
54
  }
51
- function h(s) {
52
- let c = r("global"), [l, h] = o(m()), [g, _] = o(s?.autoFetch !== !1), [v, y] = o(null), b = i(async () => {
53
- _(!0), y(null);
55
+ function _(c) {
56
+ let l = i("global"), [u, p] = s(g()), [_, v] = s(c?.autoFetch !== !1), [y, b] = s(null), x = a(async () => {
57
+ v(!0), b(null);
54
58
  try {
55
- let r = (await c.query({
56
- query: d,
59
+ let i = m((await l.query({
60
+ query: f,
57
61
  variables: {
58
62
  limit: 50,
59
63
  offset: 0
60
64
  },
61
65
  fetchPolicy: "cache-first"
62
- })).data?.myAccessibleProducts?.items || [], i = new Map(r.filter((e) => f(e.slug)).map((e) => [e.slug, e])), a = e.map((e) => {
63
- let r = i.get(e.id);
66
+ })).data?.myAccessibleProducts?.items || []), a = t.map((t) => {
67
+ let a = i.get(e(t.id));
64
68
  return {
65
- id: e.id,
66
- name: e.name,
67
- url: p(r?.appUrl) ? r.appUrl : n(e.id),
68
- icon: e.icon,
69
- color: r?.metadata && typeof r.metadata.color == "string" ? r.metadata.color : e.color,
70
- logoUrl: t(e.id),
71
- comingSoon: r ? u(e.id, r.status, r.appUrl) : e.comingSoon === !0
69
+ id: t.id,
70
+ name: t.name,
71
+ url: h(a?.appUrl) ? a.appUrl : r(t.id),
72
+ icon: t.icon,
73
+ color: a?.metadata && typeof a.metadata.color == "string" ? a.metadata.color : t.color,
74
+ logoUrl: n(t.id),
75
+ comingSoon: a ? d(t.id, a.status, a.appUrl) : t.comingSoon === !0
72
76
  };
73
77
  });
74
- a.sort((e, t) => e.name.localeCompare(t.name)), h(a);
78
+ a.sort((e, t) => e.name.localeCompare(t.name)), p(a);
75
79
  } catch (e) {
76
- y(e instanceof Error ? e.message : "Failed to fetch products"), h(m());
80
+ b(e instanceof Error ? e.message : "Failed to fetch products"), p(g());
77
81
  } finally {
78
- _(!1);
82
+ v(!1);
79
83
  }
80
- }, [c]);
81
- return a(() => {
82
- if (s?.autoFetch === !1) {
83
- _(!1);
84
+ }, [l]);
85
+ return o(() => {
86
+ if (c?.autoFetch === !1) {
87
+ v(!1);
84
88
  return;
85
89
  }
86
- b();
90
+ x();
87
91
  }, []), {
88
- products: l,
89
- isLoading: g,
90
- error: v,
91
- refetch: b
92
+ products: u,
93
+ isLoading: _,
94
+ error: y,
95
+ refetch: x
92
96
  };
93
97
  }
94
98
  //#endregion
95
- export { h as useProducts };
99
+ export { _ as useProducts };
@@ -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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"}