@every-app/sdk 0.1.7 → 0.1.8
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/index.d.ts +1 -1
- package/dist/cloudflare/index.d.ts.map +1 -1
- package/dist/cloudflare/index.js +1 -1
- package/dist/cloudflare/server/gateway.d.ts.map +1 -1
- package/dist/cloudflare/server/gateway.js +4 -5
- package/dist/cloudflare/server/index.d.ts +1 -1
- package/dist/cloudflare/server/index.d.ts.map +1 -1
- package/dist/cloudflare/server/index.js +1 -1
- package/dist/core/index.d.ts +3 -3
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +2 -2
- package/dist/tanstack/EmbeddedAppProvider.d.ts +1 -13
- package/dist/tanstack/EmbeddedAppProvider.d.ts.map +1 -1
- package/dist/tanstack/EmbeddedAppProvider.js +9 -96
- package/dist/tanstack/_internal/useEveryAppSession.d.ts +1 -1
- package/dist/tanstack/_internal/useEveryAppSession.d.ts.map +1 -1
- package/dist/tanstack/_internal/useEveryAppSession.js +1 -1
- package/dist/tanstack/index.d.ts +3 -3
- package/dist/tanstack/index.d.ts.map +1 -1
- package/dist/tanstack/index.js +3 -3
- package/dist/tanstack/server/authConfig.d.ts +1 -1
- package/dist/tanstack/server/authConfig.d.ts.map +1 -1
- package/dist/tanstack/server/authenticateRequest.d.ts +1 -1
- package/dist/tanstack/server/authenticateRequest.d.ts.map +1 -1
- package/dist/tanstack/server/index.d.ts +3 -4
- package/dist/tanstack/server/index.d.ts.map +1 -1
- package/dist/tanstack/server/index.js +2 -3
- package/dist/tanstack/useEveryAppRouter.d.ts +1 -1
- package/dist/tanstack/useEveryAppRouter.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/core/localDemoSessionManager.d.ts +0 -42
- package/dist/core/localDemoSessionManager.d.ts.map +0 -1
- package/dist/core/localDemoSessionManager.js +0 -52
- package/dist/shared/demoModeLocalOnly.d.ts +0 -14
- package/dist/shared/demoModeLocalOnly.d.ts.map +0 -1
- package/dist/shared/demoModeLocalOnly.js +0 -31
- package/dist/shared/localOnly.d.ts +0 -14
- package/dist/shared/localOnly.d.ts.map +0 -1
- package/dist/shared/localOnly.js +0 -30
- package/dist/tanstack/server/withBearerTokenFromQuery.d.ts +0 -2
- package/dist/tanstack/server/withBearerTokenFromQuery.d.ts.map +0 -1
- package/dist/tanstack/server/withBearerTokenFromQuery.js +0 -9
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { lazyInitForWorkers } from "./lazyInit";
|
|
1
|
+
export { lazyInitForWorkers } from "./lazyInit.js";
|
|
2
2
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cloudflare/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cloudflare/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC"}
|
package/dist/cloudflare/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { lazyInitForWorkers } from "./lazyInit";
|
|
1
|
+
export { lazyInitForWorkers } from "./lazyInit.js";
|
|
@@ -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,CAgBzC"}
|
|
@@ -19,16 +19,15 @@ 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
|
-
|
|
25
|
-
if (import.meta.env.PROD && env.EVERY_APP_GATEWAY) {
|
|
22
|
+
// Use service binding when available for zero-latency internal routing
|
|
23
|
+
// (available in production Workers, not in local dev)
|
|
24
|
+
if (env.EVERY_APP_GATEWAY) {
|
|
26
25
|
const url = new URL(authenticatedRequest.url);
|
|
27
26
|
const bindingUrl = `${SERVICE_BINDING_ORIGIN}${url.pathname}${url.search}`;
|
|
28
27
|
const bindingRequest = new Request(bindingUrl, authenticatedRequest);
|
|
29
28
|
return env.EVERY_APP_GATEWAY.fetch(bindingRequest);
|
|
30
29
|
}
|
|
31
|
-
// Fall back to HTTP fetch for local dev
|
|
30
|
+
// Fall back to HTTP fetch for local dev
|
|
32
31
|
return fetch(authenticatedRequest);
|
|
33
32
|
}
|
|
34
33
|
function applyAppTokenAuth(request, env) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cloudflare/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cloudflare/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -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/dist/core/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { SessionManager, isRunningInIframe } from "./sessionManager";
|
|
2
|
-
export type { SessionManagerConfig } from "./sessionManager";
|
|
3
|
-
export { authenticatedFetch, getSessionToken } from "./authenticatedFetch";
|
|
1
|
+
export { SessionManager, isRunningInIframe } from "./sessionManager.js";
|
|
2
|
+
export type { SessionManagerConfig } from "./sessionManager.js";
|
|
3
|
+
export { authenticatedFetch, getSessionToken } from "./authenticatedFetch.js";
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/core/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxE,YAAY,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC"}
|
package/dist/core/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { SessionManager, isRunningInIframe } from "./sessionManager";
|
|
2
|
-
export { authenticatedFetch, getSessionToken } from "./authenticatedFetch";
|
|
1
|
+
export { SessionManager, isRunningInIframe } from "./sessionManager.js";
|
|
2
|
+
export { authenticatedFetch, getSessionToken } from "./authenticatedFetch.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { SessionManagerConfig } from "../core/sessionManager";
|
|
2
|
+
import { SessionManagerConfig } from "../core/sessionManager.js";
|
|
3
3
|
interface EmbeddedProviderConfig extends SessionManagerConfig {
|
|
4
4
|
children: React.ReactNode;
|
|
5
5
|
}
|
|
@@ -26,17 +26,5 @@ 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;
|
|
41
29
|
export {};
|
|
42
30
|
//# 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,KAA6C,MAAM,OAAO,CAAC;AAClE,OAAO,EAAkB,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAKjF,UAAU,sBAAuB,SAAQ,oBAAoB;IAC3D,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAUD,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,CAmBzE"}
|
|
@@ -1,16 +1,9 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { createContext,
|
|
3
|
-
import { useEveryAppSession } from "./_internal/useEveryAppSession";
|
|
4
|
-
import { useEveryAppRouter } from "./useEveryAppRouter";
|
|
5
|
-
import { GatewayRequiredError } from "./GatewayRequiredError";
|
|
2
|
+
import { createContext, useContext, useMemo } from "react";
|
|
3
|
+
import { useEveryAppSession } from "./_internal/useEveryAppSession.js";
|
|
4
|
+
import { useEveryAppRouter } from "./useEveryAppRouter.js";
|
|
5
|
+
import { GatewayRequiredError } from "./GatewayRequiredError.js";
|
|
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
|
-
}
|
|
14
7
|
export function EmbeddedAppProvider({ children, ...config }) {
|
|
15
8
|
const { sessionManager, sessionTokenState } = useEveryAppSession({
|
|
16
9
|
sessionManagerConfig: config,
|
|
@@ -48,7 +41,11 @@ export function EmbeddedAppProvider({ children, ...config }) {
|
|
|
48
41
|
* ```
|
|
49
42
|
*/
|
|
50
43
|
export function useCurrentUser() {
|
|
51
|
-
const
|
|
44
|
+
const context = useContext(EmbeddedAppContext);
|
|
45
|
+
if (!context) {
|
|
46
|
+
throw new Error("useCurrentUser must be used within an EmbeddedAppProvider");
|
|
47
|
+
}
|
|
48
|
+
const { sessionManager, sessionTokenState } = context;
|
|
52
49
|
return useMemo(() => {
|
|
53
50
|
// Only return user if we have a valid token
|
|
54
51
|
if (sessionTokenState.status !== "VALID") {
|
|
@@ -57,87 +54,3 @@ export function useCurrentUser() {
|
|
|
57
54
|
return sessionManager.getUser();
|
|
58
55
|
}, [sessionManager, sessionTokenState]);
|
|
59
56
|
}
|
|
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
|
-
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useEveryAppSession.d.ts","sourceRoot":"","sources":["../../../src/tanstack/_internal/useEveryAppSession.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"useEveryAppSession.d.ts","sourceRoot":"","sources":["../../../src/tanstack/_internal/useEveryAppSession.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D,UAAU,oBAAoB;IAC5B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,UAAU,wBAAwB;IAChC,oBAAoB,EAAE,oBAAoB,CAAC;CAC5C;AAED,wBAAgB,kBAAkB,CAAC,EACjC,oBAAoB,GACrB,EAAE,wBAAwB;;;;;;EA8C1B"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useEffect, useRef, useState } from "react";
|
|
2
|
-
import { SessionManager } from "../../core/sessionManager";
|
|
2
|
+
import { SessionManager } from "../../core/sessionManager.js";
|
|
3
3
|
export function useEveryAppSession({ sessionManagerConfig, }) {
|
|
4
4
|
const sessionManagerRef = useRef(null);
|
|
5
5
|
const [sessionTokenState, setSessionTokenState] = useState({
|
package/dist/tanstack/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { useSessionTokenClientMiddleware } from "./useSessionTokenClientMiddleware";
|
|
2
|
-
export { useEveryAppRouter } from "./useEveryAppRouter";
|
|
3
|
-
export { EmbeddedAppProvider, useCurrentUser
|
|
1
|
+
export { useSessionTokenClientMiddleware } from "./useSessionTokenClientMiddleware.js";
|
|
2
|
+
export { useEveryAppRouter } from "./useEveryAppRouter.js";
|
|
3
|
+
export { EmbeddedAppProvider, useCurrentUser } from "./EmbeddedAppProvider.js";
|
|
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,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tanstack/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC"}
|
package/dist/tanstack/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { useSessionTokenClientMiddleware } from "./useSessionTokenClientMiddleware";
|
|
2
|
-
export { useEveryAppRouter } from "./useEveryAppRouter";
|
|
3
|
-
export { EmbeddedAppProvider, useCurrentUser
|
|
1
|
+
export { useSessionTokenClientMiddleware } from "./useSessionTokenClientMiddleware.js";
|
|
2
|
+
export { useEveryAppRouter } from "./useEveryAppRouter.js";
|
|
3
|
+
export { EmbeddedAppProvider, useCurrentUser } from "./EmbeddedAppProvider.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authConfig.d.ts","sourceRoot":"","sources":["../../../src/tanstack/server/authConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"authConfig.d.ts","sourceRoot":"","sources":["../../../src/tanstack/server/authConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAG7C,wBAAgB,aAAa,IAAI,UAAU,CAK1C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authenticateRequest.d.ts","sourceRoot":"","sources":["../../../src/tanstack/server/authenticateRequest.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"authenticateRequest.d.ts","sourceRoot":"","sources":["../../../src/tanstack/server/authenticateRequest.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAG7C;;;GAGG;AACH,UAAU,mBAAmB;IAC3B,8BAA8B;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,iCAAiC;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,6DAA6D;IAC7D,GAAG,EAAE,MAAM,CAAC;IACZ,2BAA2B;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,0BAA0B;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,UAAU,EACtB,eAAe,CAAC,EAAE,OAAO,GACxB,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CA8BrC;AAyCD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAK3E"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
export { authenticateRequest } from "./authenticateRequest";
|
|
2
|
-
export type { AuthConfig } from "./types";
|
|
3
|
-
export { getAuthConfig } from "./authConfig";
|
|
4
|
-
export { withBearerTokenFromQuery } from "./withBearerTokenFromQuery";
|
|
1
|
+
export { authenticateRequest } from "./authenticateRequest.js";
|
|
2
|
+
export type { AuthConfig } from "./types.js";
|
|
3
|
+
export { getAuthConfig } from "./authConfig.js";
|
|
5
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tanstack/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tanstack/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
export { authenticateRequest } from "./authenticateRequest";
|
|
2
|
-
export { getAuthConfig } from "./authConfig";
|
|
3
|
-
export { withBearerTokenFromQuery } from "./withBearerTokenFromQuery";
|
|
1
|
+
export { authenticateRequest } from "./authenticateRequest.js";
|
|
2
|
+
export { getAuthConfig } from "./authConfig.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useEveryAppRouter.d.ts","sourceRoot":"","sources":["../../src/tanstack/useEveryAppRouter.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"useEveryAppRouter.d.ts","sourceRoot":"","sources":["../../src/tanstack/useEveryAppRouter.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAG3D,UAAU,uBAAuB;IAC/B,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;CACvC;AAED,wBAAgB,iBAAiB,CAAC,EAAE,cAAc,EAAE,EAAE,uBAAuB,QAmE5E"}
|
package/package.json
CHANGED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
export interface SessionManagerConfig {
|
|
2
|
-
appId: string;
|
|
3
|
-
}
|
|
4
|
-
/**
|
|
5
|
-
* A simplified session manager for local demo mode.
|
|
6
|
-
*
|
|
7
|
-
* This manager bypasses all real authentication and returns static demo credentials.
|
|
8
|
-
* It should only be used in development when LOCAL_DEMO_ONLY_MODE is enabled.
|
|
9
|
-
*
|
|
10
|
-
* SECURITY: This class is only instantiated when isLocalDemoModeClient() returns true,
|
|
11
|
-
* which includes a production safety check.
|
|
12
|
-
*/
|
|
13
|
-
export declare class LocalDemoSessionManager {
|
|
14
|
-
readonly parentOrigin: string;
|
|
15
|
-
readonly appId: string;
|
|
16
|
-
readonly isInIframe: boolean;
|
|
17
|
-
constructor(config: SessionManagerConfig);
|
|
18
|
-
/**
|
|
19
|
-
* Returns the static demo token.
|
|
20
|
-
* No expiration logic needed since this is just for local development.
|
|
21
|
-
*/
|
|
22
|
-
getToken(): Promise<string>;
|
|
23
|
-
/**
|
|
24
|
-
* Always returns VALID status with the demo token.
|
|
25
|
-
*/
|
|
26
|
-
getTokenState(): {
|
|
27
|
-
status: "NO_TOKEN" | "VALID" | "EXPIRED" | "REFRESHING";
|
|
28
|
-
token: string | null;
|
|
29
|
-
};
|
|
30
|
-
/**
|
|
31
|
-
* Returns static demo user info.
|
|
32
|
-
*/
|
|
33
|
-
getUser(): {
|
|
34
|
-
userId: string;
|
|
35
|
-
email: string;
|
|
36
|
-
};
|
|
37
|
-
/**
|
|
38
|
-
* No-op for demo mode - token never needs refreshing.
|
|
39
|
-
*/
|
|
40
|
-
requestNewToken(): Promise<string>;
|
|
41
|
-
}
|
|
42
|
-
//# sourceMappingURL=localDemoSessionManager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"localDemoSessionManager.d.ts","sourceRoot":"","sources":["../../src/core/localDemoSessionManager.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;GAQG;AACH,qBAAa,uBAAuB;IAClC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAQ;gBAExB,MAAM,EAAE,oBAAoB;IAcxC;;;OAGG;IACG,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;IAIjC;;OAEG;IACH,aAAa,IAAI;QACf,MAAM,EAAE,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,YAAY,CAAC;QACxD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;KACtB;IAID;;OAEG;IACH,OAAO,IAAI;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;IAO5C;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC;CAGzC"}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { LOCAL_DEMO_TOKEN, LOCAL_DEMO_USER_ID, LOCAL_DEMO_EMAIL, } from "../shared/localOnly";
|
|
2
|
-
/**
|
|
3
|
-
* A simplified session manager for local demo mode.
|
|
4
|
-
*
|
|
5
|
-
* This manager bypasses all real authentication and returns static demo credentials.
|
|
6
|
-
* It should only be used in development when LOCAL_DEMO_ONLY_MODE is enabled.
|
|
7
|
-
*
|
|
8
|
-
* SECURITY: This class is only instantiated when isLocalDemoModeClient() returns true,
|
|
9
|
-
* which includes a production safety check.
|
|
10
|
-
*/
|
|
11
|
-
export class LocalDemoSessionManager {
|
|
12
|
-
parentOrigin;
|
|
13
|
-
appId;
|
|
14
|
-
isInIframe = true;
|
|
15
|
-
constructor(config) {
|
|
16
|
-
if (!config.appId) {
|
|
17
|
-
throw new Error("[LocalDemoSessionManager] appId is required.");
|
|
18
|
-
}
|
|
19
|
-
this.appId = config.appId;
|
|
20
|
-
this.parentOrigin = typeof window !== "undefined" ? window.location.origin : "http://localhost";
|
|
21
|
-
console.warn("[LocalDemoSessionManager] Running in LOCAL DEMO MODE. " +
|
|
22
|
-
"Authentication is bypassed. Do not use in production!");
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Returns the static demo token.
|
|
26
|
-
* No expiration logic needed since this is just for local development.
|
|
27
|
-
*/
|
|
28
|
-
async getToken() {
|
|
29
|
-
return LOCAL_DEMO_TOKEN;
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Always returns VALID status with the demo token.
|
|
33
|
-
*/
|
|
34
|
-
getTokenState() {
|
|
35
|
-
return { status: "VALID", token: LOCAL_DEMO_TOKEN };
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Returns static demo user info.
|
|
39
|
-
*/
|
|
40
|
-
getUser() {
|
|
41
|
-
return {
|
|
42
|
-
userId: LOCAL_DEMO_USER_ID,
|
|
43
|
-
email: LOCAL_DEMO_EMAIL,
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* No-op for demo mode - token never needs refreshing.
|
|
48
|
-
*/
|
|
49
|
-
async requestNewToken() {
|
|
50
|
-
return LOCAL_DEMO_TOKEN;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export declare const DEMO_MODE_LOCAL_ONLY_TOKEN = "DEMO_MODE_LOCAL_ONLY";
|
|
2
|
-
export declare const DEMO_MODE_LOCAL_ONLY_USER_ID = "demo-local-user";
|
|
3
|
-
export declare const DEMO_MODE_LOCAL_ONLY_EMAIL = "demo-local-user@local";
|
|
4
|
-
export declare function isDemoModeLocalOnlyClient(): boolean;
|
|
5
|
-
export declare function isDemoModeLocalOnlyServer(): boolean;
|
|
6
|
-
export declare function createDemoModeLocalOnlySessionPayload(audience: string): {
|
|
7
|
-
sub: string;
|
|
8
|
-
email: string;
|
|
9
|
-
iss: string;
|
|
10
|
-
aud: string;
|
|
11
|
-
iat: number;
|
|
12
|
-
exp: number;
|
|
13
|
-
};
|
|
14
|
-
//# sourceMappingURL=demoModeLocalOnly.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"demoModeLocalOnly.d.ts","sourceRoot":"","sources":["../../src/shared/demoModeLocalOnly.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B,yBAAyB,CAAC;AACjE,eAAO,MAAM,4BAA4B,oBAAoB,CAAC;AAC9D,eAAO,MAAM,0BAA0B,0BAA0B,CAAC;AAElE,wBAAgB,yBAAyB,IAAI,OAAO,CAEnD;AAED,wBAAgB,yBAAyB,IAAI,OAAO,CAiBnD;AAED,wBAAgB,qCAAqC,CAAC,QAAQ,EAAE,MAAM;;;;;;;EAYrE"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
export const DEMO_MODE_LOCAL_ONLY_TOKEN = "DEMO_MODE_LOCAL_ONLY";
|
|
2
|
-
export const DEMO_MODE_LOCAL_ONLY_USER_ID = "demo-local-user";
|
|
3
|
-
export const DEMO_MODE_LOCAL_ONLY_EMAIL = "demo-local-user@local";
|
|
4
|
-
export function isDemoModeLocalOnlyClient() {
|
|
5
|
-
return import.meta.env.VITE_DEMO_MODE_LOCAL_ONLY === "true";
|
|
6
|
-
}
|
|
7
|
-
export function isDemoModeLocalOnlyServer() {
|
|
8
|
-
const metaEnv = import.meta
|
|
9
|
-
.env;
|
|
10
|
-
const metaValue = metaEnv?.DEMO_MODE_LOCAL_ONLY ?? metaEnv?.VITE_DEMO_MODE_LOCAL_ONLY;
|
|
11
|
-
if (metaValue === "true") {
|
|
12
|
-
return true;
|
|
13
|
-
}
|
|
14
|
-
if (typeof process !== "undefined" &&
|
|
15
|
-
process.env?.DEMO_MODE_LOCAL_ONLY === "true") {
|
|
16
|
-
return true;
|
|
17
|
-
}
|
|
18
|
-
return false;
|
|
19
|
-
}
|
|
20
|
-
export function createDemoModeLocalOnlySessionPayload(audience) {
|
|
21
|
-
const issuedAt = Math.floor(Date.now() / 1000);
|
|
22
|
-
const expiresAt = issuedAt + 60 * 60;
|
|
23
|
-
return {
|
|
24
|
-
sub: DEMO_MODE_LOCAL_ONLY_USER_ID,
|
|
25
|
-
email: DEMO_MODE_LOCAL_ONLY_EMAIL,
|
|
26
|
-
iss: "local",
|
|
27
|
-
aud: audience,
|
|
28
|
-
iat: issuedAt,
|
|
29
|
-
exp: expiresAt,
|
|
30
|
-
};
|
|
31
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export declare const LOCAL_ONLY_TOKEN = "DEMO_MODE_LOCAL_ONLY";
|
|
2
|
-
export declare const LOCAL_ONLY_USER_ID = "demo-local-user";
|
|
3
|
-
export declare const LOCAL_ONLY_EMAIL = "demo-local-user@local";
|
|
4
|
-
export declare function isLocalOnlyClient(): boolean;
|
|
5
|
-
export declare function isLocalOnlyServer(): boolean;
|
|
6
|
-
export declare function createLocalOnlySessionPayload(audience: string): {
|
|
7
|
-
sub: string;
|
|
8
|
-
email: string;
|
|
9
|
-
iss: string;
|
|
10
|
-
aud: string;
|
|
11
|
-
iat: number;
|
|
12
|
-
exp: number;
|
|
13
|
-
};
|
|
14
|
-
//# sourceMappingURL=localOnly.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"localOnly.d.ts","sourceRoot":"","sources":["../../src/shared/localOnly.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,yBAAyB,CAAC;AACvD,eAAO,MAAM,kBAAkB,oBAAoB,CAAC;AACpD,eAAO,MAAM,gBAAgB,0BAA0B,CAAC;AAExD,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED,wBAAgB,iBAAiB,IAAI,OAAO,CAa3C;AAED,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,MAAM;;;;;;;EAY7D"}
|
package/dist/shared/localOnly.js
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
export const LOCAL_ONLY_TOKEN = "DEMO_MODE_LOCAL_ONLY";
|
|
2
|
-
export const LOCAL_ONLY_USER_ID = "demo-local-user";
|
|
3
|
-
export const LOCAL_ONLY_EMAIL = "demo-local-user@local";
|
|
4
|
-
export function isLocalOnlyClient() {
|
|
5
|
-
return import.meta.env.VITE_LOCAL_ONLY === "true";
|
|
6
|
-
}
|
|
7
|
-
export function isLocalOnlyServer() {
|
|
8
|
-
const metaEnv = import.meta
|
|
9
|
-
.env;
|
|
10
|
-
const metaValue = metaEnv?.LOCAL_ONLY ?? metaEnv?.VITE_LOCAL_ONLY;
|
|
11
|
-
if (metaValue === "true") {
|
|
12
|
-
return true;
|
|
13
|
-
}
|
|
14
|
-
if (typeof process !== "undefined" && process.env?.LOCAL_ONLY === "true") {
|
|
15
|
-
return true;
|
|
16
|
-
}
|
|
17
|
-
return false;
|
|
18
|
-
}
|
|
19
|
-
export function createLocalOnlySessionPayload(audience) {
|
|
20
|
-
const issuedAt = Math.floor(Date.now() / 1000);
|
|
21
|
-
const expiresAt = issuedAt + 60 * 60;
|
|
22
|
-
return {
|
|
23
|
-
sub: LOCAL_ONLY_USER_ID,
|
|
24
|
-
email: LOCAL_ONLY_EMAIL,
|
|
25
|
-
iss: "local",
|
|
26
|
-
aud: audience,
|
|
27
|
-
iat: issuedAt,
|
|
28
|
-
exp: expiresAt,
|
|
29
|
-
};
|
|
30
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,9 +0,0 @@
|
|
|
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
|
-
}
|