@every-app/sdk 0.1.6 → 0.1.7
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.
- package/dist/cloudflare/server/gateway.d.ts.map +1 -1
- package/dist/cloudflare/server/gateway.js +5 -4
- package/dist/tanstack/EmbeddedAppProvider.d.ts +12 -0
- package/dist/tanstack/EmbeddedAppProvider.d.ts.map +1 -1
- package/dist/tanstack/EmbeddedAppProvider.js +93 -6
- package/dist/tanstack/index.d.ts +1 -1
- package/dist/tanstack/index.d.ts.map +1 -1
- package/dist/tanstack/index.js +1 -1
- package/dist/tanstack/server/index.d.ts +1 -0
- package/dist/tanstack/server/index.d.ts.map +1 -1
- package/dist/tanstack/server/index.js +1 -0
- package/dist/tanstack/server/withBearerTokenFromQuery.d.ts +2 -0
- package/dist/tanstack/server/withBearerTokenFromQuery.d.ts.map +1 -0
- package/dist/tanstack/server/withBearerTokenFromQuery.js +9 -0
- package/dist/tanstack/useSessionTokenClientMiddleware.d.ts +1 -5
- package/dist/tanstack/useSessionTokenClientMiddleware.d.ts.map +1 -1
- package/dist/tanstack/useSessionTokenClientMiddleware.js +1 -6
- package/package.json +3 -2
- package/src/cloudflare/index.ts +1 -1
- package/src/cloudflare/server/index.ts +1 -1
- package/src/core/index.ts +3 -3
- package/src/tanstack/EmbeddedAppProvider.tsx +4 -4
- package/src/tanstack/_internal/useEveryAppSession.tsx +1 -1
- package/src/tanstack/index.ts +3 -3
- package/src/tanstack/server/authConfig.ts +1 -1
- package/src/tanstack/server/authenticateRequest.ts +1 -1
- package/src/tanstack/server/index.ts +3 -3
- package/src/tanstack/useEveryAppRouter.tsx +1 -1
- package/src/tanstack/useSessionTokenClientMiddleware.ts +2 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../../src/cloudflare/server/gateway.ts"],"names":[],"mappings":"AAGA,UAAU,cAAc;IACtB,KAAK,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CACxE;AAED,UAAU,UAAU;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,cAAc,CAAC;IACnC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,mBAAmB;IAC3B,GAAG,EAAE,UAAU,CAAC;IAChB;8DAC0D;IAC1D,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC;IAC5B,kFAAkF;IAClF,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,CAMrD;AAED;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAAC,EACjC,GAAG,EACH,GAAG,EACH,IAAI,GACL,EAAE,mBAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../../src/cloudflare/server/gateway.ts"],"names":[],"mappings":"AAGA,UAAU,cAAc;IACtB,KAAK,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CACxE;AAED,UAAU,UAAU;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,cAAc,CAAC;IACnC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,mBAAmB;IAC3B,GAAG,EAAE,UAAU,CAAC;IAChB;8DAC0D;IAC1D,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC;IAC5B,kFAAkF;IAClF,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,CAMrD;AAED;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAAC,EACjC,GAAG,EACH,GAAG,EACH,IAAI,GACL,EAAE,mBAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAiBzC"}
|
|
@@ -19,15 +19,16 @@ export async function fetchGateway({ env, url, init, }) {
|
|
|
19
19
|
const gatewayBaseUrl = getGatewayUrl(env);
|
|
20
20
|
const resolvedRequest = toRequest(url, init, gatewayBaseUrl);
|
|
21
21
|
const authenticatedRequest = applyAppTokenAuth(resolvedRequest, env);
|
|
22
|
-
// Use service binding
|
|
23
|
-
//
|
|
24
|
-
|
|
22
|
+
// Use service binding only in production for zero-latency internal routing.
|
|
23
|
+
// In local dev, service bindings can exist in config but still fail with:
|
|
24
|
+
// "Couldn't find a local dev session ... to proxy to".
|
|
25
|
+
if (import.meta.env.PROD && env.EVERY_APP_GATEWAY) {
|
|
25
26
|
const url = new URL(authenticatedRequest.url);
|
|
26
27
|
const bindingUrl = `${SERVICE_BINDING_ORIGIN}${url.pathname}${url.search}`;
|
|
27
28
|
const bindingRequest = new Request(bindingUrl, authenticatedRequest);
|
|
28
29
|
return env.EVERY_APP_GATEWAY.fetch(bindingRequest);
|
|
29
30
|
}
|
|
30
|
-
// Fall back to HTTP fetch for local dev
|
|
31
|
+
// Fall back to HTTP fetch for local dev (and when no binding is present).
|
|
31
32
|
return fetch(authenticatedRequest);
|
|
32
33
|
}
|
|
33
34
|
function applyAppTokenAuth(request, env) {
|
|
@@ -26,5 +26,17 @@ export declare function useCurrentUser(): {
|
|
|
26
26
|
userId: string;
|
|
27
27
|
email: string;
|
|
28
28
|
} | null;
|
|
29
|
+
interface UseSessionTokenOptions {
|
|
30
|
+
enabled?: boolean;
|
|
31
|
+
retryDelayMs?: number;
|
|
32
|
+
}
|
|
33
|
+
interface UseSessionTokenResult {
|
|
34
|
+
token: string | null;
|
|
35
|
+
isReady: boolean;
|
|
36
|
+
isLoading: boolean;
|
|
37
|
+
error: Error | null;
|
|
38
|
+
refresh: () => Promise<string | null>;
|
|
39
|
+
}
|
|
40
|
+
export declare function useSessionToken({ enabled, retryDelayMs, }?: UseSessionTokenOptions): UseSessionTokenResult;
|
|
29
41
|
export {};
|
|
30
42
|
//# sourceMappingURL=EmbeddedAppProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmbeddedAppProvider.d.ts","sourceRoot":"","sources":["../../src/tanstack/EmbeddedAppProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"EmbeddedAppProvider.d.ts","sourceRoot":"","sources":["../../src/tanstack/EmbeddedAppProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AACf,OAAO,EAAkB,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAK9E,UAAU,sBAAuB,SAAQ,oBAAoB;IAC3D,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAsBD,wBAAgB,mBAAmB,CAAC,EAClC,QAAQ,EACR,GAAG,MAAM,EACV,EAAE,sBAAsB,kDA6BxB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,cAAc,IAAI;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAWzE;AAED,UAAU,sBAAsB;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,UAAU,qBAAqB;IAC7B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CACvC;AAED,wBAAgB,eAAe,CAAC,EAC9B,OAAc,EACd,YAAkB,GACnB,GAAE,sBAA2B,GAAG,qBAAqB,CAgGrD"}
|
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { createContext, useContext, useMemo } from "react";
|
|
2
|
+
import { createContext, useCallback, useContext, useEffect, useMemo, useState, } from "react";
|
|
3
3
|
import { useEveryAppSession } from "./_internal/useEveryAppSession";
|
|
4
4
|
import { useEveryAppRouter } from "./useEveryAppRouter";
|
|
5
5
|
import { GatewayRequiredError } from "./GatewayRequiredError";
|
|
6
6
|
const EmbeddedAppContext = createContext(null);
|
|
7
|
+
function useEmbeddedAppContextValue() {
|
|
8
|
+
const context = useContext(EmbeddedAppContext);
|
|
9
|
+
if (!context) {
|
|
10
|
+
throw new Error("Embedded SDK hooks must be used within an EmbeddedAppProvider");
|
|
11
|
+
}
|
|
12
|
+
return context;
|
|
13
|
+
}
|
|
7
14
|
export function EmbeddedAppProvider({ children, ...config }) {
|
|
8
15
|
const { sessionManager, sessionTokenState } = useEveryAppSession({
|
|
9
16
|
sessionManagerConfig: config,
|
|
@@ -41,11 +48,7 @@ export function EmbeddedAppProvider({ children, ...config }) {
|
|
|
41
48
|
* ```
|
|
42
49
|
*/
|
|
43
50
|
export function useCurrentUser() {
|
|
44
|
-
const
|
|
45
|
-
if (!context) {
|
|
46
|
-
throw new Error("useCurrentUser must be used within an EmbeddedAppProvider");
|
|
47
|
-
}
|
|
48
|
-
const { sessionManager, sessionTokenState } = context;
|
|
51
|
+
const { sessionManager, sessionTokenState } = useEmbeddedAppContextValue();
|
|
49
52
|
return useMemo(() => {
|
|
50
53
|
// Only return user if we have a valid token
|
|
51
54
|
if (sessionTokenState.status !== "VALID") {
|
|
@@ -54,3 +57,87 @@ export function useCurrentUser() {
|
|
|
54
57
|
return sessionManager.getUser();
|
|
55
58
|
}, [sessionManager, sessionTokenState]);
|
|
56
59
|
}
|
|
60
|
+
export function useSessionToken({ enabled = true, retryDelayMs = 300, } = {}) {
|
|
61
|
+
const { sessionManager, sessionTokenState } = useEmbeddedAppContextValue();
|
|
62
|
+
const [token, setToken] = useState(sessionTokenState.status === "VALID" ? sessionTokenState.token : null);
|
|
63
|
+
const [isLoading, setIsLoading] = useState(enabled && !token);
|
|
64
|
+
const [error, setError] = useState(null);
|
|
65
|
+
const refresh = useCallback(async () => {
|
|
66
|
+
if (!enabled) {
|
|
67
|
+
setToken(null);
|
|
68
|
+
setError(null);
|
|
69
|
+
setIsLoading(false);
|
|
70
|
+
return null;
|
|
71
|
+
}
|
|
72
|
+
setIsLoading(true);
|
|
73
|
+
try {
|
|
74
|
+
const nextToken = await sessionManager.getToken();
|
|
75
|
+
setToken(nextToken);
|
|
76
|
+
setError(null);
|
|
77
|
+
return nextToken;
|
|
78
|
+
}
|
|
79
|
+
catch (err) {
|
|
80
|
+
const normalized = err instanceof Error
|
|
81
|
+
? err
|
|
82
|
+
: new Error("Failed to resolve session token");
|
|
83
|
+
setError(normalized);
|
|
84
|
+
return null;
|
|
85
|
+
}
|
|
86
|
+
finally {
|
|
87
|
+
setIsLoading(false);
|
|
88
|
+
}
|
|
89
|
+
}, [enabled, sessionManager]);
|
|
90
|
+
useEffect(() => {
|
|
91
|
+
if (!enabled) {
|
|
92
|
+
setToken(null);
|
|
93
|
+
setIsLoading(false);
|
|
94
|
+
setError(null);
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
if (sessionTokenState.status === "VALID" && sessionTokenState.token) {
|
|
98
|
+
setToken(sessionTokenState.token);
|
|
99
|
+
setError(null);
|
|
100
|
+
setIsLoading(false);
|
|
101
|
+
}
|
|
102
|
+
}, [enabled, sessionTokenState.status, sessionTokenState.token]);
|
|
103
|
+
useEffect(() => {
|
|
104
|
+
if (!enabled) {
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
if (sessionTokenState.status === "VALID" && sessionTokenState.token) {
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
let cancelled = false;
|
|
111
|
+
let retryTimeout = null;
|
|
112
|
+
const loadToken = async () => {
|
|
113
|
+
if (cancelled)
|
|
114
|
+
return;
|
|
115
|
+
const resolvedToken = await refresh();
|
|
116
|
+
if (cancelled || resolvedToken)
|
|
117
|
+
return;
|
|
118
|
+
retryTimeout = setTimeout(() => {
|
|
119
|
+
void loadToken();
|
|
120
|
+
}, retryDelayMs);
|
|
121
|
+
};
|
|
122
|
+
void loadToken();
|
|
123
|
+
return () => {
|
|
124
|
+
cancelled = true;
|
|
125
|
+
if (retryTimeout) {
|
|
126
|
+
clearTimeout(retryTimeout);
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
}, [
|
|
130
|
+
enabled,
|
|
131
|
+
refresh,
|
|
132
|
+
retryDelayMs,
|
|
133
|
+
sessionTokenState.status,
|
|
134
|
+
sessionTokenState.token,
|
|
135
|
+
]);
|
|
136
|
+
return {
|
|
137
|
+
token,
|
|
138
|
+
isReady: !enabled || Boolean(token),
|
|
139
|
+
isLoading,
|
|
140
|
+
error,
|
|
141
|
+
refresh,
|
|
142
|
+
};
|
|
143
|
+
}
|
package/dist/tanstack/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { useSessionTokenClientMiddleware } from "./useSessionTokenClientMiddleware";
|
|
2
2
|
export { useEveryAppRouter } from "./useEveryAppRouter";
|
|
3
|
-
export { EmbeddedAppProvider, useCurrentUser } from "./EmbeddedAppProvider";
|
|
3
|
+
export { EmbeddedAppProvider, useCurrentUser, useSessionToken, } from "./EmbeddedAppProvider";
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tanstack/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tanstack/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,eAAe,GAChB,MAAM,uBAAuB,CAAC"}
|
package/dist/tanstack/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { useSessionTokenClientMiddleware } from "./useSessionTokenClientMiddleware";
|
|
2
2
|
export { useEveryAppRouter } from "./useEveryAppRouter";
|
|
3
|
-
export { EmbeddedAppProvider, useCurrentUser } from "./EmbeddedAppProvider";
|
|
3
|
+
export { EmbeddedAppProvider, useCurrentUser, useSessionToken, } from "./EmbeddedAppProvider";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tanstack/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tanstack/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withBearerTokenFromQuery.d.ts","sourceRoot":"","sources":["../../../src/tanstack/server/withBearerTokenFromQuery.ts"],"names":[],"mappings":"AAAA,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,OAAO,EAChB,UAAU,GAAE,MAAgB,GAC3B,OAAO,CAWT"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export function withBearerTokenFromQuery(request, queryParam = "token") {
|
|
2
|
+
const token = new URL(request.url).searchParams.get(queryParam);
|
|
3
|
+
if (!token || request.headers.has("Authorization")) {
|
|
4
|
+
return request;
|
|
5
|
+
}
|
|
6
|
+
const headers = new Headers(request.headers);
|
|
7
|
+
headers.set("Authorization", `Bearer ${token}`);
|
|
8
|
+
return new Request(request, { headers });
|
|
9
|
+
}
|
|
@@ -1,6 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
* Exported as `any` to avoid cross-package type identity issues when apps and
|
|
3
|
-
* the SDK resolve different `@tanstack/react-start` instances in a monorepo.
|
|
4
|
-
*/
|
|
5
|
-
export declare const useSessionTokenClientMiddleware: any;
|
|
1
|
+
export declare const useSessionTokenClientMiddleware: import("@tanstack/react-start").FunctionMiddlewareAfterClient<{}, unknown, undefined, undefined, undefined>;
|
|
6
2
|
//# sourceMappingURL=useSessionTokenClientMiddleware.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSessionTokenClientMiddleware.d.ts","sourceRoot":"","sources":["../../src/tanstack/useSessionTokenClientMiddleware.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useSessionTokenClientMiddleware.d.ts","sourceRoot":"","sources":["../../src/tanstack/useSessionTokenClientMiddleware.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,+BAA+B,6GA2B1C,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createMiddleware } from "@tanstack/react-start";
|
|
2
|
-
const
|
|
2
|
+
export const useSessionTokenClientMiddleware = createMiddleware({
|
|
3
3
|
type: "function",
|
|
4
4
|
}).client(async ({ next }) => {
|
|
5
5
|
// Get the global sessionManager - this MUST be available for embedded apps
|
|
@@ -19,8 +19,3 @@ const _useSessionTokenClientMiddleware = createMiddleware({
|
|
|
19
19
|
},
|
|
20
20
|
});
|
|
21
21
|
});
|
|
22
|
-
/**
|
|
23
|
-
* Exported as `any` to avoid cross-package type identity issues when apps and
|
|
24
|
-
* the SDK resolve different `@tanstack/react-start` instances in a monorepo.
|
|
25
|
-
*/
|
|
26
|
-
export const useSessionTokenClientMiddleware = _useSessionTokenClientMiddleware;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@every-app/sdk",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.7",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -35,7 +35,8 @@
|
|
|
35
35
|
"format:check": "prettier --check .",
|
|
36
36
|
"format:write": "prettier . --write",
|
|
37
37
|
"test": "vitest run --silent",
|
|
38
|
-
"test:watch": "vitest"
|
|
38
|
+
"test:watch": "vitest",
|
|
39
|
+
"check:esm-relative-imports": "node ./scripts/check-esm-relative-imports.mjs"
|
|
39
40
|
},
|
|
40
41
|
"dependencies": {
|
|
41
42
|
"jsonc-parser": "^3.3.1"
|
package/src/cloudflare/index.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { lazyInitForWorkers } from "./lazyInit";
|
|
1
|
+
export { lazyInitForWorkers } from "./lazyInit.js";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { getLocalD1Url } from "../getLocalD1Url.js";
|
|
2
|
-
export { fetchGateway, getGatewayUrl } from "./gateway";
|
|
2
|
+
export { fetchGateway, getGatewayUrl } from "./gateway.js";
|
package/src/core/index.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { SessionManager, isRunningInIframe } from "./sessionManager";
|
|
2
|
-
export type { SessionManagerConfig } from "./sessionManager";
|
|
1
|
+
export { SessionManager, isRunningInIframe } from "./sessionManager.js";
|
|
2
|
+
export type { SessionManagerConfig } from "./sessionManager.js";
|
|
3
3
|
|
|
4
|
-
export { authenticatedFetch, getSessionToken } from "./authenticatedFetch";
|
|
4
|
+
export { authenticatedFetch, getSessionToken } from "./authenticatedFetch.js";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React, { createContext, useContext, useMemo } from "react";
|
|
2
|
-
import { SessionManager, SessionManagerConfig } from "../core/sessionManager";
|
|
3
|
-
import { useEveryAppSession } from "./_internal/useEveryAppSession";
|
|
4
|
-
import { useEveryAppRouter } from "./useEveryAppRouter";
|
|
5
|
-
import { GatewayRequiredError } from "./GatewayRequiredError";
|
|
2
|
+
import { SessionManager, SessionManagerConfig } from "../core/sessionManager.js";
|
|
3
|
+
import { useEveryAppSession } from "./_internal/useEveryAppSession.js";
|
|
4
|
+
import { useEveryAppRouter } from "./useEveryAppRouter.js";
|
|
5
|
+
import { GatewayRequiredError } from "./GatewayRequiredError.js";
|
|
6
6
|
|
|
7
7
|
interface EmbeddedProviderConfig extends SessionManagerConfig {
|
|
8
8
|
children: React.ReactNode;
|
package/src/tanstack/index.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { useSessionTokenClientMiddleware } from "./useSessionTokenClientMiddleware";
|
|
2
|
-
export { useEveryAppRouter } from "./useEveryAppRouter";
|
|
3
|
-
export { EmbeddedAppProvider, useCurrentUser } from "./EmbeddedAppProvider";
|
|
1
|
+
export { useSessionTokenClientMiddleware } from "./useSessionTokenClientMiddleware.js";
|
|
2
|
+
export { useEveryAppRouter } from "./useEveryAppRouter.js";
|
|
3
|
+
export { EmbeddedAppProvider, useCurrentUser } from "./EmbeddedAppProvider.js";
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { authenticateRequest } from "./authenticateRequest";
|
|
2
|
-
export type { AuthConfig } from "./types";
|
|
3
|
-
export { getAuthConfig } from "./authConfig";
|
|
1
|
+
export { authenticateRequest } from "./authenticateRequest.js";
|
|
2
|
+
export type { AuthConfig } from "./types.js";
|
|
3
|
+
export { getAuthConfig } from "./authConfig.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createMiddleware } from "@tanstack/react-start";
|
|
2
|
-
import type { SessionManager } from "../core/sessionManager";
|
|
2
|
+
import type { SessionManager } from "../core/sessionManager.js";
|
|
3
3
|
|
|
4
|
-
const
|
|
4
|
+
export const useSessionTokenClientMiddleware = createMiddleware({
|
|
5
5
|
type: "function",
|
|
6
6
|
}).client(async ({ next }) => {
|
|
7
7
|
// Get the global sessionManager - this MUST be available for embedded apps
|
|
@@ -29,10 +29,3 @@ const _useSessionTokenClientMiddleware = createMiddleware({
|
|
|
29
29
|
},
|
|
30
30
|
});
|
|
31
31
|
});
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* Exported as `any` to avoid cross-package type identity issues when apps and
|
|
35
|
-
* the SDK resolve different `@tanstack/react-start` instances in a monorepo.
|
|
36
|
-
*/
|
|
37
|
-
export const useSessionTokenClientMiddleware: any =
|
|
38
|
-
_useSessionTokenClientMiddleware;
|