@every-app/sdk 0.1.13 → 0.2.0

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 (107) hide show
  1. package/dist/internal/identity.d.ts +73 -0
  2. package/dist/internal/identity.d.ts.map +1 -0
  3. package/dist/internal/identity.js +192 -0
  4. package/dist/internal/index.d.ts +3 -0
  5. package/dist/internal/index.d.ts.map +1 -0
  6. package/dist/internal/index.js +2 -0
  7. package/dist/internal/protocol.d.ts +111 -0
  8. package/dist/internal/protocol.d.ts.map +1 -0
  9. package/dist/internal/protocol.js +139 -0
  10. package/dist/server/everyApp.d.ts +55 -0
  11. package/dist/server/everyApp.d.ts.map +1 -0
  12. package/dist/server/everyApp.js +121 -0
  13. package/dist/server/gatewayFetch.d.ts +21 -0
  14. package/dist/server/gatewayFetch.d.ts.map +1 -0
  15. package/dist/server/gatewayFetch.js +70 -0
  16. package/dist/server/index.d.ts +9 -0
  17. package/dist/server/index.d.ts.map +1 -0
  18. package/dist/server/index.js +8 -0
  19. package/dist/server/mcp.d.ts +66 -0
  20. package/dist/server/mcp.d.ts.map +1 -0
  21. package/dist/server/mcp.js +147 -0
  22. package/package.json +21 -44
  23. package/dist/cloudflare/getLocalD1Url.d.ts +0 -2
  24. package/dist/cloudflare/getLocalD1Url.d.ts.map +0 -1
  25. package/dist/cloudflare/getLocalD1Url.js +0 -40
  26. package/dist/cloudflare/index.d.ts +0 -2
  27. package/dist/cloudflare/index.d.ts.map +0 -1
  28. package/dist/cloudflare/index.js +0 -1
  29. package/dist/cloudflare/lazyInit.d.ts +0 -22
  30. package/dist/cloudflare/lazyInit.d.ts.map +0 -1
  31. package/dist/cloudflare/lazyInit.js +0 -65
  32. package/dist/cloudflare/server/gateway.d.ts +0 -29
  33. package/dist/cloudflare/server/gateway.d.ts.map +0 -1
  34. package/dist/cloudflare/server/gateway.js +0 -69
  35. package/dist/cloudflare/server/index.d.ts +0 -3
  36. package/dist/cloudflare/server/index.d.ts.map +0 -1
  37. package/dist/cloudflare/server/index.js +0 -2
  38. package/dist/core/authenticatedFetch.d.ts +0 -9
  39. package/dist/core/authenticatedFetch.d.ts.map +0 -1
  40. package/dist/core/authenticatedFetch.js +0 -31
  41. package/dist/core/index.d.ts +0 -4
  42. package/dist/core/index.d.ts.map +0 -1
  43. package/dist/core/index.js +0 -2
  44. package/dist/core/sessionManager.d.ts +0 -58
  45. package/dist/core/sessionManager.d.ts.map +0 -1
  46. package/dist/core/sessionManager.js +0 -357
  47. package/dist/shared/bypassGatewayLocalOnly.d.ts +0 -14
  48. package/dist/shared/bypassGatewayLocalOnly.d.ts.map +0 -1
  49. package/dist/shared/bypassGatewayLocalOnly.js +0 -41
  50. package/dist/shared/parseMessagePayload.d.ts +0 -3
  51. package/dist/shared/parseMessagePayload.d.ts.map +0 -1
  52. package/dist/shared/parseMessagePayload.js +0 -18
  53. package/dist/tanstack/EmbeddedAppProvider.d.ts +0 -30
  54. package/dist/tanstack/EmbeddedAppProvider.d.ts.map +0 -1
  55. package/dist/tanstack/EmbeddedAppProvider.js +0 -57
  56. package/dist/tanstack/GatewayRequiredError.d.ts +0 -20
  57. package/dist/tanstack/GatewayRequiredError.d.ts.map +0 -1
  58. package/dist/tanstack/GatewayRequiredError.js +0 -91
  59. package/dist/tanstack/_internal/useEveryAppSession.d.ts +0 -18
  60. package/dist/tanstack/_internal/useEveryAppSession.d.ts.map +0 -1
  61. package/dist/tanstack/_internal/useEveryAppSession.js +0 -47
  62. package/dist/tanstack/index.d.ts +0 -4
  63. package/dist/tanstack/index.d.ts.map +0 -1
  64. package/dist/tanstack/index.js +0 -3
  65. package/dist/tanstack/server/authConfig.d.ts +0 -3
  66. package/dist/tanstack/server/authConfig.d.ts.map +0 -1
  67. package/dist/tanstack/server/authConfig.js +0 -13
  68. package/dist/tanstack/server/authenticateRequest.d.ts +0 -29
  69. package/dist/tanstack/server/authenticateRequest.d.ts.map +0 -1
  70. package/dist/tanstack/server/authenticateRequest.js +0 -82
  71. package/dist/tanstack/server/index.d.ts +0 -4
  72. package/dist/tanstack/server/index.d.ts.map +0 -1
  73. package/dist/tanstack/server/index.js +0 -2
  74. package/dist/tanstack/server/types.d.ts +0 -5
  75. package/dist/tanstack/server/types.d.ts.map +0 -1
  76. package/dist/tanstack/server/types.js +0 -1
  77. package/dist/tanstack/useEveryAppRouter.d.ts +0 -7
  78. package/dist/tanstack/useEveryAppRouter.d.ts.map +0 -1
  79. package/dist/tanstack/useEveryAppRouter.js +0 -66
  80. package/dist/tanstack/useSessionTokenClientMiddleware.d.ts +0 -2
  81. package/dist/tanstack/useSessionTokenClientMiddleware.d.ts.map +0 -1
  82. package/dist/tanstack/useSessionTokenClientMiddleware.js +0 -29
  83. package/src/cloudflare/getLocalD1Url.ts +0 -64
  84. package/src/cloudflare/index.ts +0 -1
  85. package/src/cloudflare/lazyInit.ts +0 -67
  86. package/src/cloudflare/server/gateway.test.ts +0 -262
  87. package/src/cloudflare/server/gateway.ts +0 -114
  88. package/src/cloudflare/server/index.ts +0 -2
  89. package/src/core/authenticatedFetch.ts +0 -54
  90. package/src/core/index.ts +0 -12
  91. package/src/core/sessionManager.test.ts +0 -939
  92. package/src/core/sessionManager.ts +0 -492
  93. package/src/env.d.ts +0 -13
  94. package/src/shared/bypassGatewayLocalOnly.ts +0 -55
  95. package/src/shared/parseMessagePayload.ts +0 -22
  96. package/src/tanstack/EmbeddedAppProvider.tsx +0 -96
  97. package/src/tanstack/GatewayRequiredError.tsx +0 -150
  98. package/src/tanstack/_internal/useEveryAppSession.test.ts +0 -40
  99. package/src/tanstack/_internal/useEveryAppSession.tsx +0 -74
  100. package/src/tanstack/index.ts +0 -3
  101. package/src/tanstack/server/authConfig.ts +0 -19
  102. package/src/tanstack/server/authenticateRequest.test.ts +0 -482
  103. package/src/tanstack/server/authenticateRequest.ts +0 -143
  104. package/src/tanstack/server/index.ts +0 -3
  105. package/src/tanstack/server/types.ts +0 -4
  106. package/src/tanstack/useEveryAppRouter.tsx +0 -83
  107. package/src/tanstack/useSessionTokenClientMiddleware.ts +0 -43
@@ -1,83 +0,0 @@
1
- import { useEffect } from "react";
2
- import { SessionManager } from "../core/sessionManager.js";
3
- import { useRouter } from "@tanstack/react-router";
4
- import { parseMessagePayload } from "../shared/parseMessagePayload.js";
5
-
6
- interface UseEveryAppRouterParams {
7
- sessionManager: SessionManager | null;
8
- }
9
-
10
- export function useEveryAppRouter({ sessionManager }: UseEveryAppRouterParams) {
11
- const router = useRouter();
12
- // Route synchronization effect
13
- useEffect(() => {
14
- if (!sessionManager) return;
15
-
16
- // Listen for route sync messages from parent
17
- const handleMessage = (event: MessageEvent) => {
18
- // Validate origin based on environment
19
- if (!sessionManager.isTrustedHostMessage(event)) return;
20
-
21
- const data = parseMessagePayload(event.data);
22
- if (!data) return;
23
-
24
- if (
25
- data.type === "ROUTE_CHANGE" &&
26
- data.direction === "parent-to-child"
27
- ) {
28
- const targetRoute = typeof data.route === "string" ? data.route : null;
29
- const currentRoute = window.location.pathname;
30
-
31
- // Only navigate if the route is different from current location
32
- if (targetRoute && targetRoute !== currentRoute) {
33
- router.navigate({ to: targetRoute });
34
- }
35
- }
36
- };
37
-
38
- window.addEventListener("message", handleMessage);
39
-
40
- // Simplified route change detection with 2 reliable methods
41
- let lastReportedPath = window.location.pathname;
42
-
43
- const handleRouteChange = () => {
44
- const currentPath = window.location.pathname;
45
-
46
- // Only report if the path actually changed
47
- if (currentPath === lastReportedPath) {
48
- return;
49
- }
50
-
51
- lastReportedPath = currentPath;
52
-
53
- const message = {
54
- type: "ROUTE_CHANGE",
55
- route: currentPath,
56
- appId: sessionManager.appId,
57
- direction: "child-to-parent",
58
- };
59
-
60
- try {
61
- sessionManager.postToHost(message);
62
- } catch {
63
- return;
64
- }
65
- };
66
- // Listen to popstate for browser back/forward
67
- window.addEventListener("popstate", handleRouteChange);
68
-
69
- // Polling to detect route changes (catches router navigation)
70
- const pollInterval = setInterval(() => {
71
- const currentPath = window.location.pathname;
72
- if (currentPath !== lastReportedPath) {
73
- handleRouteChange();
74
- }
75
- }, 100);
76
-
77
- return () => {
78
- window.removeEventListener("message", handleMessage);
79
- window.removeEventListener("popstate", handleRouteChange);
80
- clearInterval(pollInterval);
81
- };
82
- }, [sessionManager]);
83
- }
@@ -1,43 +0,0 @@
1
- import { createMiddleware } from "@tanstack/react-start";
2
- import type { SessionManager } from "../core/sessionManager.js";
3
- import {
4
- BYPASS_GATEWAY_LOCAL_ONLY_TOKEN,
5
- isBypassGatewayLocalOnlyClient,
6
- } from "../shared/bypassGatewayLocalOnly.js";
7
-
8
- export const useSessionTokenClientMiddleware = createMiddleware({
9
- type: "function",
10
- }).client(async ({ next }) => {
11
- if (isBypassGatewayLocalOnlyClient()) {
12
- return next({
13
- headers: {
14
- Authorization: `Bearer ${BYPASS_GATEWAY_LOCAL_ONLY_TOKEN}`,
15
- },
16
- });
17
- }
18
-
19
- // Get the global sessionManager - this MUST be available for embedded apps
20
- const sessionManager = (window as any)
21
- .__embeddedSessionManager as SessionManager;
22
-
23
- if (!sessionManager) {
24
- throw new Error(
25
- "[AuthMiddleware] SessionManager not available - embedded provider not initialized",
26
- );
27
- }
28
-
29
- // INVARIANT: This is just an extra check and should never be the case if the sessionManager exists.
30
- if (typeof sessionManager.getToken !== "function") {
31
- throw new Error(
32
- "[AuthMiddleware] SessionManager.getToken is not a function",
33
- );
34
- }
35
-
36
- const token = await sessionManager.getToken();
37
-
38
- return next({
39
- headers: {
40
- Authorization: `Bearer ${token}`,
41
- },
42
- });
43
- });