@burdenoff/microfe-ggnomad 2026.705.7 → 2026.713.1

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.
Files changed (96) hide show
  1. package/dist/dev/main.d.ts +2 -0
  2. package/dist/dev/main.d.ts.map +1 -0
  3. package/dist/generated/global-operations.d.ts +2 -0
  4. package/dist/generated/global-operations.d.ts.map +1 -0
  5. package/dist/generated/global-types.d.ts +23527 -0
  6. package/dist/generated/global-types.d.ts.map +1 -0
  7. package/dist/generated/wspace-operations.d.ts +2 -0
  8. package/dist/generated/wspace-operations.d.ts.map +1 -0
  9. package/dist/generated/wspace-types.d.ts +57851 -0
  10. package/dist/generated/wspace-types.d.ts.map +1 -0
  11. package/dist/ggnomad/GGNomadRoot.d.ts +5 -0
  12. package/dist/ggnomad/GGNomadRoot.d.ts.map +1 -0
  13. package/dist/ggnomad/GGNomadRoutes.d.ts +2 -0
  14. package/dist/ggnomad/GGNomadRoutes.d.ts.map +1 -0
  15. package/dist/ggnomad/components/BookingPanel.d.ts +16 -0
  16. package/dist/ggnomad/components/BookingPanel.d.ts.map +1 -0
  17. package/dist/ggnomad/components/DetailHero.d.ts +13 -0
  18. package/dist/ggnomad/components/DetailHero.d.ts.map +1 -0
  19. package/dist/ggnomad/components/DetailRow.d.ts +8 -0
  20. package/dist/ggnomad/components/DetailRow.d.ts.map +1 -0
  21. package/dist/ggnomad/components/EntityCard.d.ts +27 -0
  22. package/dist/ggnomad/components/EntityCard.d.ts.map +1 -0
  23. package/dist/ggnomad/components/ListingEditDialog.d.ts +20 -0
  24. package/dist/ggnomad/components/ListingEditDialog.d.ts.map +1 -0
  25. package/dist/ggnomad/components/LoadMoreButton.d.ts +13 -0
  26. package/dist/ggnomad/components/LoadMoreButton.d.ts.map +1 -0
  27. package/dist/ggnomad/components/ReviewsSection.d.ts +12 -0
  28. package/dist/ggnomad/components/ReviewsSection.d.ts.map +1 -0
  29. package/dist/ggnomad/components/SectionCard.d.ts +12 -0
  30. package/dist/ggnomad/components/SectionCard.d.ts.map +1 -0
  31. package/dist/ggnomad/components/StatCard.d.ts +17 -0
  32. package/dist/ggnomad/components/StatCard.d.ts.map +1 -0
  33. package/dist/ggnomad/components/StatusBadge.d.ts +12 -0
  34. package/dist/ggnomad/components/StatusBadge.d.ts.map +1 -0
  35. package/dist/ggnomad/components/index.d.ts +11 -0
  36. package/dist/ggnomad/components/index.d.ts.map +1 -0
  37. package/dist/ggnomad/graphql.d.ts +47 -0
  38. package/dist/ggnomad/graphql.d.ts.map +1 -0
  39. package/dist/ggnomad/index.d.ts +4 -0
  40. package/dist/ggnomad/index.d.ts.map +1 -0
  41. package/dist/ggnomad/pages/ActivityDetailsPage.d.ts +2 -0
  42. package/dist/ggnomad/pages/ActivityDetailsPage.d.ts.map +1 -0
  43. package/dist/ggnomad/pages/AnalyticsPage.d.ts +2 -0
  44. package/dist/ggnomad/pages/AnalyticsPage.d.ts.map +1 -0
  45. package/dist/ggnomad/pages/BookingsPage.d.ts +2 -0
  46. package/dist/ggnomad/pages/BookingsPage.d.ts.map +1 -0
  47. package/dist/ggnomad/pages/DashboardPage.d.ts +2 -0
  48. package/dist/ggnomad/pages/DashboardPage.d.ts.map +1 -0
  49. package/dist/ggnomad/pages/EntertainmentPage.d.ts +2 -0
  50. package/dist/ggnomad/pages/EntertainmentPage.d.ts.map +1 -0
  51. package/dist/ggnomad/pages/EventDetailsPage.d.ts +2 -0
  52. package/dist/ggnomad/pages/EventDetailsPage.d.ts.map +1 -0
  53. package/dist/ggnomad/pages/FavoritesPage.d.ts +2 -0
  54. package/dist/ggnomad/pages/FavoritesPage.d.ts.map +1 -0
  55. package/dist/ggnomad/pages/HospitalityPage.d.ts +2 -0
  56. package/dist/ggnomad/pages/HospitalityPage.d.ts.map +1 -0
  57. package/dist/ggnomad/pages/PageShell.d.ts +23 -0
  58. package/dist/ggnomad/pages/PageShell.d.ts.map +1 -0
  59. package/dist/ggnomad/pages/PropertyDetailsPage.d.ts +2 -0
  60. package/dist/ggnomad/pages/PropertyDetailsPage.d.ts.map +1 -0
  61. package/dist/ggnomad/pages/ProviderPage.d.ts +2 -0
  62. package/dist/ggnomad/pages/ProviderPage.d.ts.map +1 -0
  63. package/dist/ggnomad/pages/SearchPage.d.ts +2 -0
  64. package/dist/ggnomad/pages/SearchPage.d.ts.map +1 -0
  65. package/dist/ggnomad/pages/TourDetailsPage.d.ts +2 -0
  66. package/dist/ggnomad/pages/TourDetailsPage.d.ts.map +1 -0
  67. package/dist/ggnomad/pages/TourismPage.d.ts +2 -0
  68. package/dist/ggnomad/pages/TourismPage.d.ts.map +1 -0
  69. package/dist/ggnomad/pages/TravelPage.d.ts +2 -0
  70. package/dist/ggnomad/pages/TravelPage.d.ts.map +1 -0
  71. package/dist/ggnomad/pages/TripPlanDetailPage.d.ts +2 -0
  72. package/dist/ggnomad/pages/TripPlanDetailPage.d.ts.map +1 -0
  73. package/dist/ggnomad/pages/TripsPage.d.ts +2 -0
  74. package/dist/ggnomad/pages/TripsPage.d.ts.map +1 -0
  75. package/dist/ggnomad/providers/GGNomadProvider.d.ts +6 -0
  76. package/dist/ggnomad/providers/GGNomadProvider.d.ts.map +1 -0
  77. package/dist/ggnomad/types/index.d.ts +58 -0
  78. package/dist/ggnomad/types/index.d.ts.map +1 -0
  79. package/dist/ggnomad/utils/cn.d.ts +4 -0
  80. package/dist/ggnomad/utils/cn.d.ts.map +1 -0
  81. package/dist/ggnomad/utils/navigation.d.ts +2 -0
  82. package/dist/ggnomad/utils/navigation.d.ts.map +1 -0
  83. package/dist/ggnomad/utils/notify.d.ts +22 -0
  84. package/dist/ggnomad/utils/notify.d.ts.map +1 -0
  85. package/dist/index.d.ts +3 -0
  86. package/dist/index.d.ts.map +1 -0
  87. package/dist/index.js +2 -1
  88. package/dist/services/createSandboxAssistantTransport.d.ts +24 -0
  89. package/dist/services/createSandboxAssistantTransport.d.ts.map +1 -0
  90. package/dist/services/createSandboxAssistantTransport.js +14 -0
  91. package/dist/services/createSandboxAssistantTransport.js.map +1 -0
  92. package/dist/utils/pageContext.d.ts +28 -0
  93. package/dist/utils/pageContext.d.ts.map +1 -0
  94. package/dist/utils/pageContext.js +50 -0
  95. package/dist/utils/pageContext.js.map +1 -0
  96. package/package.json +6 -2
@@ -0,0 +1,24 @@
1
+ /**
2
+ * ggnomad adapter for the shared fe-libs AssistantWidget transport.
3
+ *
4
+ * The sandbox lifecycle + poll/stream loop now lives in
5
+ * `@burdenoff/fe-libs/shared/assistant` (one implementation for all products);
6
+ * this is a thin wrapper. The exported name/shape are unchanged so app-shell
7
+ * imports don't move. The public return type is a LOCALLY-declared structural
8
+ * mirror — never re-export fe-libs types (vite-plugin-dts path rewriting).
9
+ */
10
+ interface AssistantSendArgs {
11
+ prompt: string;
12
+ onProgress: (partialText: string) => void;
13
+ signal: AbortSignal;
14
+ }
15
+ export interface AssistantTransport {
16
+ sendPrompt: (args: AssistantSendArgs) => Promise<{
17
+ text: string;
18
+ }>;
19
+ prewarm?: (level?: 'probe' | 'full') => void;
20
+ suspend?: () => void;
21
+ }
22
+ export declare function useSandboxAssistantTransport(): AssistantTransport;
23
+ export {};
24
+ //# sourceMappingURL=createSandboxAssistantTransport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createSandboxAssistantTransport.d.ts","sourceRoot":"","sources":["../../src/services/createSandboxAssistantTransport.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,UAAU,iBAAiB;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,MAAM,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnE,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,KAAK,IAAI,CAAC;IAC7C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,wBAAgB,4BAA4B,IAAI,kBAAkB,CAMjE"}
@@ -0,0 +1,14 @@
1
+ import { gatherPageContext as e } from "../utils/pageContext.js";
2
+ import { useSandboxAssistantTransport as t } from "@burdenoff/fe-libs/shared/assistant";
3
+ //#region src/services/createSandboxAssistantTransport.ts
4
+ function n() {
5
+ return t({
6
+ product: "ggnomad",
7
+ gatherPageContext: e,
8
+ enableCredits: !0
9
+ });
10
+ }
11
+ //#endregion
12
+ export { n as useSandboxAssistantTransport };
13
+
14
+ //# sourceMappingURL=createSandboxAssistantTransport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createSandboxAssistantTransport.js","names":[],"sources":["../../src/services/createSandboxAssistantTransport.ts"],"sourcesContent":["/**\n * ggnomad adapter for the shared fe-libs AssistantWidget transport.\n *\n * The sandbox lifecycle + poll/stream loop now lives in\n * `@burdenoff/fe-libs/shared/assistant` (one implementation for all products);\n * this is a thin wrapper. The exported name/shape are unchanged so app-shell\n * imports don't move. The public return type is a LOCALLY-declared structural\n * mirror — never re-export fe-libs types (vite-plugin-dts path rewriting).\n */\n\nimport { useSandboxAssistantTransport as useSharedTransport } from '@burdenoff/fe-libs/shared/assistant';\nimport { gatherPageContext } from '@/utils/pageContext';\n\ninterface AssistantSendArgs {\n prompt: string;\n onProgress: (partialText: string) => void;\n signal: AbortSignal;\n}\n\nexport interface AssistantTransport {\n sendPrompt: (args: AssistantSendArgs) => Promise<{ text: string }>;\n prewarm?: (level?: 'probe' | 'full') => void;\n suspend?: () => void;\n}\n\nexport function useSandboxAssistantTransport(): AssistantTransport {\n return useSharedTransport({\n product: 'ggnomad',\n gatherPageContext: gatherPageContext,\n enableCredits: true,\n });\n}\n"],"mappings":";;;AAyBA,SAAgB,IAAmD;AACjE,QAAO,EAAmB;EACxB,SAAS;EACU;EACnB,eAAe;EAChB,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Page context gathering for the GGNomad AI assistant.
3
+ *
4
+ * Captures the user's current browser context (URL, route, entity) so the
5
+ * floating assistant can answer "this page" / "current" questions and run
6
+ * operations scoped to the screen the user is looking at.
7
+ */
8
+ export interface PageContext {
9
+ currentUrl: string;
10
+ currentPage: string;
11
+ entityType?: string;
12
+ entityId?: string;
13
+ platform: string;
14
+ version: string;
15
+ viewportSize: string;
16
+ userAgent: string;
17
+ timestamp: string;
18
+ }
19
+ interface ConversationContextShape {
20
+ entityType?: string;
21
+ entityId?: string;
22
+ activeTab?: string;
23
+ metadata?: Record<string, unknown>;
24
+ }
25
+ export declare function gatherPageContext(): PageContext;
26
+ export declare function resolveGGNomadConversationContext(pathname: string, search: string): ConversationContextShape;
27
+ export {};
28
+ //# sourceMappingURL=pageContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pageContext.d.ts","sourceRoot":"","sources":["../../src/utils/pageContext.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,wBAAwB;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,wBAAgB,iBAAiB,IAAI,WAAW,CAoB/C;AAMD,wBAAgB,iCAAiC,CAC/C,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,wBAAwB,CAoC1B"}
@@ -0,0 +1,50 @@
1
+ //#region src/utils/pageContext.ts
2
+ function e() {
3
+ let e = window.location.href, t = window.location.pathname.split("/").filter(Boolean).slice(0, 3).join("/") || "home", r = n(window.location.pathname, window.location.search);
4
+ return {
5
+ currentUrl: e,
6
+ currentPage: t,
7
+ entityType: r.entityType,
8
+ entityId: r.entityId,
9
+ platform: "ggnomad",
10
+ version: "2026.420.95",
11
+ viewportSize: `${window.innerWidth}x${window.innerHeight}`,
12
+ userAgent: navigator.userAgent,
13
+ timestamp: (/* @__PURE__ */ new Date()).toISOString()
14
+ };
15
+ }
16
+ function t(e, t) {
17
+ return t.match(e);
18
+ }
19
+ function n(e, n) {
20
+ let r = new URLSearchParams(n);
21
+ for (let [n, r] of [
22
+ [/^\/ggnomad\/hospitality\/([^/]+)$/, "GGNOMAD_PROPERTY"],
23
+ [/^\/ggnomad\/tourism\/tours\/([^/]+)$/, "GGNOMAD_TOUR"],
24
+ [/^\/ggnomad\/tourism\/activities\/([^/]+)$/, "GGNOMAD_ACTIVITY"],
25
+ [/^\/ggnomad\/entertainment\/([^/]+)$/, "GGNOMAD_EVENT"],
26
+ [/^\/ggnomad\/trips\/([^/]+)$/, "GGNOMAD_TRIP_PLAN"]
27
+ ]) {
28
+ let i = t(n, e);
29
+ if (i) return {
30
+ entityType: r,
31
+ entityId: i[1],
32
+ metadata: { routePattern: n.source }
33
+ };
34
+ }
35
+ let i = r.get("tab") ?? (() => {
36
+ let t = e.split("/").filter(Boolean);
37
+ return t.length > 2 ? t[t.length - 1] : void 0;
38
+ })();
39
+ return {
40
+ activeTab: i ?? void 0,
41
+ metadata: {
42
+ ...i ? { activeTab: i } : {},
43
+ ...r.get("q") ? { searchQuery: r.get("q") } : {}
44
+ }
45
+ };
46
+ }
47
+ //#endregion
48
+ export { e as gatherPageContext };
49
+
50
+ //# sourceMappingURL=pageContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pageContext.js","names":[],"sources":["../../src/utils/pageContext.ts"],"sourcesContent":["/**\n * Page context gathering for the GGNomad AI assistant.\n *\n * Captures the user's current browser context (URL, route, entity) so the\n * floating assistant can answer \"this page\" / \"current\" questions and run\n * operations scoped to the screen the user is looking at.\n */\n\nexport interface PageContext {\n currentUrl: string;\n currentPage: string;\n entityType?: string;\n entityId?: string;\n platform: string;\n version: string;\n viewportSize: string;\n userAgent: string;\n timestamp: string;\n}\n\ninterface ConversationContextShape {\n entityType?: string;\n entityId?: string;\n activeTab?: string;\n metadata?: Record<string, unknown>;\n}\n\nexport function gatherPageContext(): PageContext {\n const url = window.location.href;\n const pathSegments = window.location.pathname.split('/').filter(Boolean);\n const currentPage = pathSegments.slice(0, 3).join('/') || 'home';\n const entity = resolveGGNomadConversationContext(\n window.location.pathname,\n window.location.search\n );\n\n return {\n currentUrl: url,\n currentPage,\n entityType: entity.entityType,\n entityId: entity.entityId,\n platform: 'ggnomad',\n version: import.meta.env.VITE_APP_VERSION ?? '2026.420.95',\n viewportSize: `${window.innerWidth}x${window.innerHeight}`,\n userAgent: navigator.userAgent,\n timestamp: new Date().toISOString(),\n };\n}\n\nfunction matchPath(pattern: RegExp, pathname: string): RegExpMatchArray | null {\n return pathname.match(pattern);\n}\n\nexport function resolveGGNomadConversationContext(\n pathname: string,\n search: string\n): ConversationContextShape {\n const params = new URLSearchParams(search);\n\n const directMatches: Array<[RegExp, string]> = [\n [/^\\/ggnomad\\/hospitality\\/([^/]+)$/, 'GGNOMAD_PROPERTY'],\n [/^\\/ggnomad\\/tourism\\/tours\\/([^/]+)$/, 'GGNOMAD_TOUR'],\n [/^\\/ggnomad\\/tourism\\/activities\\/([^/]+)$/, 'GGNOMAD_ACTIVITY'],\n [/^\\/ggnomad\\/entertainment\\/([^/]+)$/, 'GGNOMAD_EVENT'],\n [/^\\/ggnomad\\/trips\\/([^/]+)$/, 'GGNOMAD_TRIP_PLAN'],\n ];\n\n for (const [pattern, entityType] of directMatches) {\n const match = matchPath(pattern, pathname);\n if (match) {\n return {\n entityType,\n entityId: match[1],\n metadata: { routePattern: pattern.source },\n };\n }\n }\n\n const activeTab =\n params.get('tab') ??\n (() => {\n const segments = pathname.split('/').filter(Boolean);\n return segments.length > 2 ? segments[segments.length - 1] : undefined;\n })();\n\n return {\n activeTab: activeTab ?? undefined,\n metadata: {\n ...(activeTab ? { activeTab } : {}),\n ...(params.get('q') ? { searchQuery: params.get('q') } : {}),\n },\n };\n}\n"],"mappings":";AA2BA,SAAgB,IAAiC;CAC/C,IAAM,IAAM,OAAO,SAAS,MAEtB,IADe,OAAO,SAAS,SAAS,MAAM,IAAI,CAAC,OAAO,QAAQ,CACvC,MAAM,GAAG,EAAE,CAAC,KAAK,IAAI,IAAI,QACpD,IAAS,EACb,OAAO,SAAS,UAChB,OAAO,SAAS,OACjB;AAED,QAAO;EACL,YAAY;EACZ;EACA,YAAY,EAAO;EACnB,UAAU,EAAO;EACjB,UAAU;EACV,SAA6C;EAC7C,cAAc,GAAG,OAAO,WAAW,GAAG,OAAO;EAC7C,WAAW,UAAU;EACrB,4BAAW,IAAI,MAAM,EAAC,aAAa;EACpC;;AAGH,SAAS,EAAU,GAAiB,GAA2C;AAC7E,QAAO,EAAS,MAAM,EAAQ;;AAGhC,SAAgB,EACd,GACA,GAC0B;CAC1B,IAAM,IAAS,IAAI,gBAAgB,EAAO;AAU1C,MAAK,IAAM,CAAC,GAAS,MAR0B;EAC7C,CAAC,qCAAqC,mBAAmB;EACzD,CAAC,wCAAwC,eAAe;EACxD,CAAC,6CAA6C,mBAAmB;EACjE,CAAC,uCAAuC,gBAAgB;EACxD,CAAC,+BAA+B,oBAAoB;EACrD,EAEkD;EACjD,IAAM,IAAQ,EAAU,GAAS,EAAS;AAC1C,MAAI,EACF,QAAO;GACL;GACA,UAAU,EAAM;GAChB,UAAU,EAAE,cAAc,EAAQ,QAAQ;GAC3C;;CAIL,IAAM,IACJ,EAAO,IAAI,MAAM,WACV;EACL,IAAM,IAAW,EAAS,MAAM,IAAI,CAAC,OAAO,QAAQ;AACpD,SAAO,EAAS,SAAS,IAAI,EAAS,EAAS,SAAS,KAAK,KAAA;KAC3D;AAEN,QAAO;EACL,WAAW,KAAa,KAAA;EACxB,UAAU;GACR,GAAI,IAAY,EAAE,cAAW,GAAG,EAAE;GAClC,GAAI,EAAO,IAAI,IAAI,GAAG,EAAE,aAAa,EAAO,IAAI,IAAI,EAAE,GAAG,EAAE;GAC5D;EACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@burdenoff/microfe-ggnomad",
3
- "version": "2026.705.7",
3
+ "version": "2026.713.1",
4
4
  "description": "Burdenoff GGNomad Microfrontend",
5
5
  "type": "module",
6
6
  "files": [
@@ -16,6 +16,10 @@
16
16
  ".": {
17
17
  "types": "./dist/index.d.ts",
18
18
  "import": "./dist/index.js"
19
+ },
20
+ "./services/createSandboxAssistantTransport": {
21
+ "types": "./dist/services/createSandboxAssistantTransport.d.ts",
22
+ "import": "./dist/services/createSandboxAssistantTransport.js"
19
23
  }
20
24
  },
21
25
  "main": "./dist/index.js",
@@ -67,7 +71,7 @@
67
71
  },
68
72
  "peerDependencies": {
69
73
  "@apollo/client": "^4.0.11",
70
- "@burdenoff/fe-libs": "2026.625.5",
74
+ "@burdenoff/fe-libs": "2026.713.6",
71
75
  "@tanstack/react-query": "^5.90.16",
72
76
  "clsx": "^2.1.1",
73
77
  "framer-motion": "^12.0.0",