@burdenoff/microfe-technospam 2026.709.1 → 2026.709.2

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 (85) 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 +18199 -0
  6. package/dist/generated/global-types.d.ts.map +1 -0
  7. package/dist/generated/wspace-operations.d.ts +267 -0
  8. package/dist/generated/wspace-operations.d.ts.map +1 -0
  9. package/dist/generated/wspace-types.d.ts +43083 -0
  10. package/dist/generated/wspace-types.d.ts.map +1 -0
  11. package/dist/index.d.ts +2 -0
  12. package/dist/index.d.ts.map +1 -0
  13. package/dist/technospam/TechnoSpamRoot.d.ts +5 -0
  14. package/dist/technospam/TechnoSpamRoot.d.ts.map +1 -0
  15. package/dist/technospam/TechnoSpamRoutes.d.ts +2 -0
  16. package/dist/technospam/TechnoSpamRoutes.d.ts.map +1 -0
  17. package/dist/technospam/api/technospamApi.d.ts +402 -0
  18. package/dist/technospam/api/technospamApi.d.ts.map +1 -0
  19. package/dist/technospam/components/LoadMore.d.ts +11 -0
  20. package/dist/technospam/components/LoadMore.d.ts.map +1 -0
  21. package/dist/technospam/components/MediaCover.d.ts +20 -0
  22. package/dist/technospam/components/MediaCover.d.ts.map +1 -0
  23. package/dist/technospam/components/PageLayout.d.ts +20 -0
  24. package/dist/technospam/components/PageLayout.d.ts.map +1 -0
  25. package/dist/technospam/components/StatCard.d.ts +20 -0
  26. package/dist/technospam/components/StatCard.d.ts.map +1 -0
  27. package/dist/technospam/components/StateViews.d.ts +30 -0
  28. package/dist/technospam/components/StateViews.d.ts.map +1 -0
  29. package/dist/technospam/components/StatusBadge.d.ts +5 -0
  30. package/dist/technospam/components/StatusBadge.d.ts.map +1 -0
  31. package/dist/technospam/components/index.d.ts +7 -0
  32. package/dist/technospam/components/index.d.ts.map +1 -0
  33. package/dist/technospam/hooks/useTechnoSpamAnalytics.d.ts +20 -0
  34. package/dist/technospam/hooks/useTechnoSpamAnalytics.d.ts.map +1 -0
  35. package/dist/technospam/index.d.ts +6 -0
  36. package/dist/technospam/index.d.ts.map +1 -0
  37. package/dist/technospam/lib/toast.d.ts +18 -0
  38. package/dist/technospam/lib/toast.d.ts.map +1 -0
  39. package/dist/technospam/pages/AdminAdminDashboardPagePage.d.ts +2 -0
  40. package/dist/technospam/pages/AdminAdminDashboardPagePage.d.ts.map +1 -0
  41. package/dist/technospam/pages/AnalyticsAnalyticsPagePage.d.ts +2 -0
  42. package/dist/technospam/pages/AnalyticsAnalyticsPagePage.d.ts.map +1 -0
  43. package/dist/technospam/pages/ApplicationsProblemDetailsPagePage.d.ts +2 -0
  44. package/dist/technospam/pages/ApplicationsProblemDetailsPagePage.d.ts.map +1 -0
  45. package/dist/technospam/pages/ApplicationsProblemsPagePage.d.ts +2 -0
  46. package/dist/technospam/pages/ApplicationsProblemsPagePage.d.ts.map +1 -0
  47. package/dist/technospam/pages/CoursesCourseDetailsPagePage.d.ts +2 -0
  48. package/dist/technospam/pages/CoursesCourseDetailsPagePage.d.ts.map +1 -0
  49. package/dist/technospam/pages/CoursesCoursesPagePage.d.ts +2 -0
  50. package/dist/technospam/pages/CoursesCoursesPagePage.d.ts.map +1 -0
  51. package/dist/technospam/pages/CoursesMyLearningPagePage.d.ts +2 -0
  52. package/dist/technospam/pages/CoursesMyLearningPagePage.d.ts.map +1 -0
  53. package/dist/technospam/pages/DashboardDashboardPagePage.d.ts +2 -0
  54. package/dist/technospam/pages/DashboardDashboardPagePage.d.ts.map +1 -0
  55. package/dist/technospam/pages/HackathonsHackathonDetailsPagePage.d.ts +2 -0
  56. package/dist/technospam/pages/HackathonsHackathonDetailsPagePage.d.ts.map +1 -0
  57. package/dist/technospam/pages/HackathonsHackathonsPagePage.d.ts +2 -0
  58. package/dist/technospam/pages/HackathonsHackathonsPagePage.d.ts.map +1 -0
  59. package/dist/technospam/pages/MentorshipMentorProfilePagePage.d.ts +2 -0
  60. package/dist/technospam/pages/MentorshipMentorProfilePagePage.d.ts.map +1 -0
  61. package/dist/technospam/pages/MentorshipMentorsPagePage.d.ts +2 -0
  62. package/dist/technospam/pages/MentorshipMentorsPagePage.d.ts.map +1 -0
  63. package/dist/technospam/pages/MentorshipSessionsPagePage.d.ts +2 -0
  64. package/dist/technospam/pages/MentorshipSessionsPagePage.d.ts.map +1 -0
  65. package/dist/technospam/providers/TechnoSpamProvider.d.ts +13 -0
  66. package/dist/technospam/providers/TechnoSpamProvider.d.ts.map +1 -0
  67. package/dist/technospam/services/assistantApi.d.ts +76 -0
  68. package/dist/technospam/services/assistantApi.d.ts.map +1 -0
  69. package/dist/technospam/services/createSandboxAssistantTransport.d.ts +40 -0
  70. package/dist/technospam/services/createSandboxAssistantTransport.d.ts.map +1 -0
  71. package/dist/technospam/types/assistant.d.ts +15 -0
  72. package/dist/technospam/types/assistant.d.ts.map +1 -0
  73. package/dist/technospam/types/index.d.ts +51 -0
  74. package/dist/technospam/types/index.d.ts.map +1 -0
  75. package/dist/technospam/utils/cn.d.ts +4 -0
  76. package/dist/technospam/utils/cn.d.ts.map +1 -0
  77. package/dist/technospam/utils/format.d.ts +9 -0
  78. package/dist/technospam/utils/format.d.ts.map +1 -0
  79. package/dist/technospam/utils/i18n.d.ts +6 -0
  80. package/dist/technospam/utils/i18n.d.ts.map +1 -0
  81. package/dist/technospam/utils/navigation.d.ts +2 -0
  82. package/dist/technospam/utils/navigation.d.ts.map +1 -0
  83. package/dist/technospam/utils/pageContext.d.ts +28 -0
  84. package/dist/technospam/utils/pageContext.d.ts.map +1 -0
  85. package/package.json +1 -1
@@ -0,0 +1,18 @@
1
+ import { toast } from 'sonner';
2
+
3
+ /**
4
+ * Module-wide toast API. sonner is a global singleton; the matching <Toaster>
5
+ * is owned by the HOST app shell (mounted once via AppShellProvider). Every
6
+ * page/component surfaces feedback through these helpers instead of hand-rolling
7
+ * fixed-position toast markup, so success/error notifications stay consistent
8
+ * with the rest of the platform.
9
+ */
10
+ export declare const notify: {
11
+ success(message: string, description?: string): void;
12
+ info(message: string, description?: string): void;
13
+ warning(message: string, description?: string): void;
14
+ error(message: string, description?: string): void;
15
+ dismiss(id?: string | number): void;
16
+ };
17
+ export { toast };
18
+ //# sourceMappingURL=toast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toast.d.ts","sourceRoot":"","sources":["../../../src/technospam/lib/toast.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAE/B;;;;;;GAMG;AACH,eAAO,MAAM,MAAM;qBACA,MAAM,gBAAgB,MAAM,GAAG,IAAI;kBAGtC,MAAM,gBAAgB,MAAM,GAAG,IAAI;qBAGhC,MAAM,gBAAgB,MAAM,GAAG,IAAI;mBAGrC,MAAM,gBAAgB,MAAM,GAAG,IAAI;iBAGrC,MAAM,GAAG,MAAM,GAAG,IAAI;CAGpC,CAAC;AAEF,OAAO,EAAE,KAAK,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function AdminAdminDashboardPagePage(): import("react").JSX.Element;
2
+ //# sourceMappingURL=AdminAdminDashboardPagePage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdminAdminDashboardPagePage.d.ts","sourceRoot":"","sources":["../../../src/technospam/pages/AdminAdminDashboardPagePage.tsx"],"names":[],"mappings":"AAszCA,wBAAgB,2BAA2B,gCAqD1C"}
@@ -0,0 +1,2 @@
1
+ export declare function AnalyticsAnalyticsPagePage(): import("react").JSX.Element;
2
+ //# sourceMappingURL=AnalyticsAnalyticsPagePage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnalyticsAnalyticsPagePage.d.ts","sourceRoot":"","sources":["../../../src/technospam/pages/AnalyticsAnalyticsPagePage.tsx"],"names":[],"mappings":"AAiNA,wBAAgB,0BAA0B,gCAmVzC"}
@@ -0,0 +1,2 @@
1
+ export declare function ApplicationsProblemDetailsPagePage(): import("react").JSX.Element;
2
+ //# sourceMappingURL=ApplicationsProblemDetailsPagePage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApplicationsProblemDetailsPagePage.d.ts","sourceRoot":"","sources":["../../../src/technospam/pages/ApplicationsProblemDetailsPagePage.tsx"],"names":[],"mappings":"AA6FA,wBAAgB,kCAAkC,gCAgPjD"}
@@ -0,0 +1,2 @@
1
+ export declare function ApplicationsProblemsPagePage(): import("react").JSX.Element;
2
+ //# sourceMappingURL=ApplicationsProblemsPagePage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApplicationsProblemsPagePage.d.ts","sourceRoot":"","sources":["../../../src/technospam/pages/ApplicationsProblemsPagePage.tsx"],"names":[],"mappings":"AAmGA,wBAAgB,4BAA4B,gCAoI3C"}
@@ -0,0 +1,2 @@
1
+ export declare function CoursesCourseDetailsPagePage(): import("react").JSX.Element;
2
+ //# sourceMappingURL=CoursesCourseDetailsPagePage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CoursesCourseDetailsPagePage.d.ts","sourceRoot":"","sources":["../../../src/technospam/pages/CoursesCourseDetailsPagePage.tsx"],"names":[],"mappings":"AAkIA,wBAAgB,4BAA4B,gCAuR3C"}
@@ -0,0 +1,2 @@
1
+ export declare function CoursesCoursesPagePage(): import("react").JSX.Element;
2
+ //# sourceMappingURL=CoursesCoursesPagePage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CoursesCoursesPagePage.d.ts","sourceRoot":"","sources":["../../../src/technospam/pages/CoursesCoursesPagePage.tsx"],"names":[],"mappings":"AAsFA,wBAAgB,sBAAsB,gCAiIrC"}
@@ -0,0 +1,2 @@
1
+ export declare function CoursesMyLearningPagePage(): import("react").JSX.Element;
2
+ //# sourceMappingURL=CoursesMyLearningPagePage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CoursesMyLearningPagePage.d.ts","sourceRoot":"","sources":["../../../src/technospam/pages/CoursesMyLearningPagePage.tsx"],"names":[],"mappings":"AAyEA,wBAAgB,yBAAyB,gCA0HxC"}
@@ -0,0 +1,2 @@
1
+ export declare function DashboardDashboardPagePage(): import("react").JSX.Element;
2
+ //# sourceMappingURL=DashboardDashboardPagePage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardDashboardPagePage.d.ts","sourceRoot":"","sources":["../../../src/technospam/pages/DashboardDashboardPagePage.tsx"],"names":[],"mappings":"AAuMA,wBAAgB,0BAA0B,gCAyRzC"}
@@ -0,0 +1,2 @@
1
+ export declare function HackathonsHackathonDetailsPagePage(): import("react").JSX.Element;
2
+ //# sourceMappingURL=HackathonsHackathonDetailsPagePage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HackathonsHackathonDetailsPagePage.d.ts","sourceRoot":"","sources":["../../../src/technospam/pages/HackathonsHackathonDetailsPagePage.tsx"],"names":[],"mappings":"AAkIA,wBAAgB,kCAAkC,gCAsVjD"}
@@ -0,0 +1,2 @@
1
+ export declare function HackathonsHackathonsPagePage(): import("react").JSX.Element;
2
+ //# sourceMappingURL=HackathonsHackathonsPagePage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HackathonsHackathonsPagePage.d.ts","sourceRoot":"","sources":["../../../src/technospam/pages/HackathonsHackathonsPagePage.tsx"],"names":[],"mappings":"AA+EA,wBAAgB,4BAA4B,gCAmH3C"}
@@ -0,0 +1,2 @@
1
+ export declare function MentorshipMentorProfilePagePage(): import("react").JSX.Element;
2
+ //# sourceMappingURL=MentorshipMentorProfilePagePage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MentorshipMentorProfilePagePage.d.ts","sourceRoot":"","sources":["../../../src/technospam/pages/MentorshipMentorProfilePagePage.tsx"],"names":[],"mappings":"AAmLA,wBAAgB,+BAA+B,gCAkK9C"}
@@ -0,0 +1,2 @@
1
+ export declare function MentorshipMentorsPagePage(): import("react").JSX.Element;
2
+ //# sourceMappingURL=MentorshipMentorsPagePage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MentorshipMentorsPagePage.d.ts","sourceRoot":"","sources":["../../../src/technospam/pages/MentorshipMentorsPagePage.tsx"],"names":[],"mappings":"AA8QA,wBAAgB,yBAAyB,gCAwIxC"}
@@ -0,0 +1,2 @@
1
+ export declare function MentorshipSessionsPagePage(): import("react").JSX.Element;
2
+ //# sourceMappingURL=MentorshipSessionsPagePage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MentorshipSessionsPagePage.d.ts","sourceRoot":"","sources":["../../../src/technospam/pages/MentorshipSessionsPagePage.tsx"],"names":[],"mappings":"AAkPA,wBAAgB,0BAA0B,gCAwLzC"}
@@ -0,0 +1,13 @@
1
+ import { FC, PropsWithChildren } from 'react';
2
+ import { TechnoSpamRootProps } from '../types';
3
+
4
+ export declare const useTechnoSpam: () => TechnoSpamRootProps;
5
+ /**
6
+ * basePath-aware navigation. Returns a `navigate(path)` that prepends the MFE
7
+ * basePath (so pages navigate with module-relative paths like
8
+ * `/courses/courses-page`) and falls back to react-router when the host does
9
+ * not inject a navigate function.
10
+ */
11
+ export declare const useTechnoSpamNavigate: () => ((path: string) => void);
12
+ export declare const TechnoSpamProvider: FC<PropsWithChildren<TechnoSpamRootProps>>;
13
+ //# sourceMappingURL=TechnoSpamProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TechnoSpamProvider.d.ts","sourceRoot":"","sources":["../../../src/technospam/providers/TechnoSpamProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAInD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAMpD,eAAO,MAAM,aAAa,2BAIzB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,QAAO,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAW/D,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,EAAE,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAsBzE,CAAC"}
@@ -0,0 +1,76 @@
1
+ import { ApolloClient } from '@apollo/client';
2
+ import { AssistantArtifact, AssistantMode } from '../types/assistant';
3
+ import { PageContext } from '../utils/pageContext';
4
+
5
+ export interface AssistantPromptResult {
6
+ response: string;
7
+ tokens?: {
8
+ input: number;
9
+ output: number;
10
+ };
11
+ artifacts?: AssistantArtifact[];
12
+ }
13
+ export interface AssistantRawMessagePart {
14
+ type?: string;
15
+ text?: string;
16
+ tool?: string;
17
+ state?: {
18
+ status?: string;
19
+ input?: unknown;
20
+ output?: unknown;
21
+ raw?: unknown;
22
+ };
23
+ }
24
+ export interface AssistantRawMessage {
25
+ info?: {
26
+ id?: string;
27
+ role?: string;
28
+ providerID?: string;
29
+ modelID?: string;
30
+ tokens?: {
31
+ input: number;
32
+ output: number;
33
+ };
34
+ time?: {
35
+ created?: number;
36
+ completed?: number;
37
+ };
38
+ };
39
+ parts?: AssistantRawMessagePart[];
40
+ }
41
+ export interface AssistantSandboxAuthContext {
42
+ accessToken?: string | null;
43
+ workspaceToken?: string | null;
44
+ userId?: string | null;
45
+ organizationId?: string | null;
46
+ }
47
+ export interface AssistantSessionInfo {
48
+ id: string;
49
+ mode: string;
50
+ }
51
+ export interface DownloadedAssistantArtifact {
52
+ filename: string;
53
+ mimeType: string;
54
+ contentBase64: string;
55
+ }
56
+ export declare function findExistingSandbox(_apollo: ApolloClient, workspaceId: string, mode: AssistantMode, authContext?: AssistantSandboxAuthContext): Promise<string | null>;
57
+ export declare function createAssistantSandbox(_apollo: ApolloClient, mode: AssistantMode, workspaceId: string, authContext?: AssistantSandboxAuthContext): Promise<string>;
58
+ export declare function waitForSandboxReady(_apollo: ApolloClient, sandboxId: string, workspaceId: string, authContext?: AssistantSandboxAuthContext, maxWaitMs?: number, onProgress?: (message: string) => void): Promise<void>;
59
+ export declare function waitForAssistantServiceReady(apollo: ApolloClient, sandboxId: string, workspaceId: string, authContext?: AssistantSandboxAuthContext, maxWaitMs?: number, onProgress?: (message: string) => void): Promise<void>;
60
+ export declare function createAssistantSession(apollo: ApolloClient, sandboxId: string, workspaceId: string, mode: AssistantMode, authContext?: AssistantSandboxAuthContext): Promise<{
61
+ sessionId: string;
62
+ }>;
63
+ export declare function getAssistantSession(apollo: ApolloClient, sandboxId: string, workspaceId: string, sessionId: string, authContext?: AssistantSandboxAuthContext): Promise<AssistantSessionInfo>;
64
+ export declare function sendAssistantPrompt(apollo: ApolloClient, sandboxId: string, workspaceId: string, sessionId: string, prompt: string, mode: AssistantMode, pageContext?: PageContext, authContext?: AssistantSandboxAuthContext): Promise<AssistantPromptResult>;
65
+ export declare function sendAssistantPromptAsync(apollo: ApolloClient, sandboxId: string, workspaceId: string, sessionId: string, prompt: string, mode: AssistantMode, pageContext?: PageContext, authContext?: AssistantSandboxAuthContext): Promise<void>;
66
+ export declare function getAssistantMessages(apollo: ApolloClient, sandboxId: string, workspaceId: string, sessionId: string, authContext?: AssistantSandboxAuthContext, limit?: number): Promise<AssistantRawMessage[]>;
67
+ export declare function checkAssistantAiCredits(_apollo: ApolloClient, workspaceId: string, authContext?: AssistantSandboxAuthContext): Promise<boolean>;
68
+ export declare function reportAssistantAiTokenUsage(_apollo: ApolloClient, workspaceId: string, sessionId: string, messageId: string, model: string | undefined, tokens: {
69
+ input: number;
70
+ output: number;
71
+ }, authContext?: AssistantSandboxAuthContext): Promise<void>;
72
+ export declare function getAssistantArtifacts(apollo: ApolloClient, sandboxId: string, workspaceId: string, sessionId: string, authContext?: AssistantSandboxAuthContext): Promise<AssistantArtifact[]>;
73
+ export declare function downloadAssistantArtifact(apollo: ApolloClient, sandboxId: string, workspaceId: string, sessionId: string, artifactPath: string, authContext?: AssistantSandboxAuthContext): Promise<DownloadedAssistantArtifact>;
74
+ export declare function sendHeartbeat(apollo: ApolloClient, sandboxId: string, workspaceId: string, sessionId: string, authContext?: AssistantSandboxAuthContext): Promise<void>;
75
+ export declare function extendAssistantSandboxTTL(_apollo: ApolloClient, sandboxId: string, workspaceId: string, additionalSeconds?: number, authContext?: AssistantSandboxAuthContext): Promise<void>;
76
+ //# sourceMappingURL=assistantApi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assistantApi.d.ts","sourceRoot":"","sources":["../../../src/technospam/services/assistantApi.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * TechnoSpam adapter for the shared fe-libs AssistantWidget.
3
+ *
4
+ * The floating widget (fe-libs, Layer 1) is backend-agnostic — it calls an
5
+ * injected `AssistantTransport`. This hook builds a transport that reuses the
6
+ * sandbox `api-calls` agent: it provisions/reuses a sandbox, opens a session,
7
+ * dispatches the prompt async, then polls for the streamed answer. The agent
8
+ * introspects the GraphQL schema and performs API calls on the user's behalf
9
+ * using their workspace token, contextual to the current screen (via
10
+ * `gatherPageContext`).
11
+ */
12
+ /**
13
+ * Locally-defined mirror of the fe-libs `AssistantTransport` contract.
14
+ *
15
+ * We intentionally do NOT import the type from `@burdenoff/fe-libs` here:
16
+ * microfe's tsconfig maps `@burdenoff/fe-libs/*` to fe-libs *source*, so
17
+ * vite-plugin-dts would rewrite a cross-package type used in this hook's
18
+ * public signature to a broken source-relative path in the emitted `.d.ts`.
19
+ * Structural typing makes this shape assignable to fe-libs' `AssistantTransport`
20
+ * at the call site (technospam-app's AppShell), which is where compatibility
21
+ * is enforced — drift there fails the app type-check.
22
+ */
23
+ interface AssistantSendArgs {
24
+ prompt: string;
25
+ onProgress: (partialText: string) => void;
26
+ signal: AbortSignal;
27
+ }
28
+ export interface AssistantTransport {
29
+ sendPrompt: (args: AssistantSendArgs) => Promise<{
30
+ text: string;
31
+ }>;
32
+ }
33
+ /**
34
+ * Returns a memoized `AssistantTransport` wired to the TechnoSpam sandbox
35
+ * `api-calls` agent. The sandbox + session are cached in refs so follow-up
36
+ * turns reuse the warm environment for the lifetime of the host shell.
37
+ */
38
+ export declare function useSandboxAssistantTransport(): AssistantTransport;
39
+ export {};
40
+ //# sourceMappingURL=createSandboxAssistantTransport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createSandboxAssistantTransport.d.ts","sourceRoot":"","sources":["../../../src/technospam/services/createSandboxAssistantTransport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAoBH;;;;;;;;;;GAUG;AACH,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;CACpE;AAuHD;;;;GAIG;AACH,wBAAgB,4BAA4B,IAAI,kBAAkB,CAmIjE"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * AI Assistant types for TechnoSpam.
3
+ *
4
+ * Mirrors the VibeControls assistant type contract so the shared fe-libs
5
+ * AssistantWidget can consume the transport without knowing product details.
6
+ */
7
+ export type AssistantMode = 'assistant' | 'general' | 'api-calls' | 'vibe-plugins';
8
+ export interface AssistantArtifact {
9
+ name: string;
10
+ path: string;
11
+ type: 'file' | 'directory';
12
+ size: number;
13
+ downloadPath?: string;
14
+ }
15
+ //# sourceMappingURL=assistant.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assistant.d.ts","sourceRoot":"","sources":["../../../src/technospam/types/assistant.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,SAAS,GAAG,WAAW,GAAG,cAAc,CAAC;AAEnF,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB"}
@@ -0,0 +1,51 @@
1
+ import { default as React } from 'react';
2
+
3
+ export interface NavItem {
4
+ id: string;
5
+ label: string;
6
+ path: string;
7
+ icon?: React.ReactNode;
8
+ order?: number;
9
+ group?: string;
10
+ children?: NavItem[];
11
+ }
12
+ export interface FooterItem {
13
+ id: string;
14
+ label: string;
15
+ type: 'status' | 'action';
16
+ order?: number;
17
+ section: 'left' | 'center' | 'right';
18
+ }
19
+ export interface TechnoSpamRootProps {
20
+ basePath?: string;
21
+ workspaceId?: string;
22
+ tenantId?: string;
23
+ apiGatewayUrl?: string;
24
+ authToken?: string;
25
+ navigate?: (path: string) => void;
26
+ currentUser?: {
27
+ id: string;
28
+ email: string;
29
+ firstName?: string;
30
+ lastName?: string;
31
+ avatar?: string;
32
+ username?: string;
33
+ name?: string;
34
+ role?: string;
35
+ } | null;
36
+ registerNavItems?: (items: NavItem | NavItem[]) => () => void;
37
+ registerFooterItems?: (items: FooterItem | FooterItem[]) => () => void;
38
+ }
39
+ export interface OverviewMetric {
40
+ label: string;
41
+ value: string;
42
+ trend: string;
43
+ }
44
+ export interface WorkItem {
45
+ id: string;
46
+ title: string;
47
+ status: 'active' | 'planned' | 'at_risk' | 'completed';
48
+ owner: string;
49
+ updatedAt: string;
50
+ }
51
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/technospam/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;CACtC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,WAAW,CAAC,EAAE;QACZ,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,IAAI,CAAC;IACT,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,EAAE,KAAK,MAAM,IAAI,CAAC;IAC9D,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,EAAE,KAAK,MAAM,IAAI,CAAC;CACxE;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB"}
@@ -0,0 +1,4 @@
1
+ import { ClassValue } from 'clsx';
2
+
3
+ export declare function cn(...inputs: ClassValue[]): string;
4
+ //# sourceMappingURL=cn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cn.d.ts","sourceRoot":"","sources":["../../../src/technospam/utils/cn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAQ,MAAM,MAAM,CAAC;AAG7C,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,UAEzC"}
@@ -0,0 +1,9 @@
1
+ /** Shared, locale-friendly formatting helpers used across TechnoSpam pages. */
2
+ export declare function formatDate(value?: string | null): string;
3
+ export declare function formatDateTime(value?: string | null): string;
4
+ export declare function formatDuration(minutes?: number | null): string;
5
+ export declare function formatMoney(amount?: number | null, currency?: string): string;
6
+ export declare function relativeTime(value?: string | null): string;
7
+ /** Title-case a SCREAMING_SNAKE enum value for display. */
8
+ export declare function humanizeEnum(value?: string | null): string;
9
+ //# sourceMappingURL=format.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../src/technospam/utils/format.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAE/E,wBAAgB,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAKxD;AAED,wBAAgB,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAW5D;AAED,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAO9D;AAED,wBAAgB,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,SAAQ,GAAG,MAAM,CAW5E;AAED,wBAAgB,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAa1D;AAED,2DAA2D;AAC3D,wBAAgB,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAO1D"}
@@ -0,0 +1,6 @@
1
+ import { I18nContextValue } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';
2
+
3
+ type TranslationParams = Record<string, string | number>;
4
+ export declare function tWithFallback(t: I18nContextValue['t'], key: string, fallback: string, params?: TranslationParams): string;
5
+ export {};
6
+ //# sourceMappingURL=i18n.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../src/technospam/utils/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wDAAwD,CAAC;AAE/F,KAAK,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;AAazD,wBAAgB,aAAa,CAC3B,CAAC,EAAE,gBAAgB,CAAC,GAAG,CAAC,EACxB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,iBAAiB,GACzB,MAAM,CAOR"}
@@ -0,0 +1,2 @@
1
+ export declare function joinPath(basePath: string, relativePath: string): string;
2
+ //# sourceMappingURL=navigation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../../src/technospam/utils/navigation.ts"],"names":[],"mappings":"AAAA,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAIvE"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Page context gathering — captures the user's current browser context
3
+ * to be sent alongside every assistant prompt for better AI awareness.
4
+ *
5
+ * Routes mirror the live wspace-technospam-svc surface exposed in
6
+ * TechnoSpamRoutes.tsx. Removed/redirected modules are not resolved.
7
+ */
8
+ interface ConversationContextShape {
9
+ entityType?: string;
10
+ entityId?: string;
11
+ activeTab?: string;
12
+ metadata?: Record<string, unknown>;
13
+ }
14
+ export interface PageContext {
15
+ currentUrl: string;
16
+ currentPage: string;
17
+ entityType?: string;
18
+ entityId?: string;
19
+ platform: string;
20
+ version: string;
21
+ viewportSize: string;
22
+ userAgent: string;
23
+ timestamp: string;
24
+ }
25
+ export declare function gatherPageContext(): PageContext;
26
+ export declare function resolveTechnoSpamConversationContext(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/technospam/utils/pageContext.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,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,MAAM,WAAW,WAAW;IAG1B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IAGpB,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,wBAAgB,iBAAiB,IAAI,WAAW,CAoB/C;AAMD,wBAAgB,oCAAoC,CAClD,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,wBAAwB,CAqC1B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@burdenoff/microfe-technospam",
3
- "version": "2026.709.1",
3
+ "version": "2026.709.2",
4
4
  "description": "Burdenoff TechnoSpam Microfrontend",
5
5
  "type": "module",
6
6
  "files": [