@terreno/rtk 0.16.1 → 0.18.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.
@@ -28,6 +28,12 @@ export interface BaseUrls {
28
28
  baseWebsocketsUrl: string;
29
29
  baseTasksUrl: string;
30
30
  }
31
+ /**
32
+ * Sentinel value for `BASE_URL`. When set in `app.json` `extra.BASE_URL`, the
33
+ * base URL resolves to the runtime page origin (`window.location.origin`).
34
+ * Used by same-origin deployments such as the standalone admin SPA.
35
+ */
36
+ export declare const SAME_ORIGIN_SENTINEL = "__SAME_ORIGIN__";
31
37
  /**
32
38
  * Pure resolver for the base URLs used throughout the RTK package.
33
39
  * Decoupled from the Expo-constants module so it can be unit tested.
@@ -36,6 +42,7 @@ export declare const resolveBaseUrls: (args: {
36
42
  envApiUrl?: string;
37
43
  expoConstants: ExpoConstantsShape;
38
44
  isDev: boolean;
45
+ windowOrigin?: string;
39
46
  }) => BaseUrls;
40
47
  export declare const baseUrl: string;
41
48
  export declare const baseWebsocketsUrl: string;
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,SAAS,GAAG,GAAG,CAAC;AAC5B,eAAO,MAAM,kBAAkB,gBAAgB,CAAC;AAChD,eAAO,MAAM,uBAAuB,+BAA+B,CAAC;AAEpE,eAAO,MAAM,UAAU,SAAqD,CAAC;AAK7E,eAAO,MAAM,OAAO,GAAI,GAAG,MAAM,MAAM,EAAE,KAAG,IAI3C,CAAC;AAWF,yFAAyF;AACzF,eAAO,MAAM,gBAAgB,GAAI,SAAS,OAAO,KAAG,IAEnD,CAAC;AAEF,eAAO,MAAM,wBAAwB,QAAO,OAE3C,CAAC;AAGF,eAAO,MAAM,SAAS,GACpB,OAAO;IAAC,YAAY,CAAC,EAAE;QAAC,eAAe,CAAC,EAAE;YAAC,OAAO,CAAC,EAAE,OAAO,CAAA;SAAC,CAAA;KAAC,CAAA;CAAC,GAAG,OAAO,EACzE,GAAG,MAAM,MAAM,EAAE,KAChB,IAQF,CAAC;AAEF,MAAM,WAAW,kBAAkB;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE;QACX,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;QAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,YAAY,CAAC,EAAE;QACb,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;CACtB;AAQD;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,MAAM;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,kBAAkB,CAAC;IAClC,KAAK,EAAE,OAAO,CAAC;CAChB,KAAG,QA0BH,CAAC;AAkBF,eAAO,MAAM,OAAO,QAAmB,CAAC;AACxC,eAAO,MAAM,iBAAiB,QAA6B,CAAC;AAC5D,eAAO,MAAM,YAAY,QAAwB,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,SAAS,GAAG,GAAG,CAAC;AAC5B,eAAO,MAAM,kBAAkB,gBAAgB,CAAC;AAChD,eAAO,MAAM,uBAAuB,+BAA+B,CAAC;AAEpE,eAAO,MAAM,UAAU,SAAqD,CAAC;AAK7E,eAAO,MAAM,OAAO,GAAI,GAAG,MAAM,MAAM,EAAE,KAAG,IAI3C,CAAC;AAWF,yFAAyF;AACzF,eAAO,MAAM,gBAAgB,GAAI,SAAS,OAAO,KAAG,IAEnD,CAAC;AAEF,eAAO,MAAM,wBAAwB,QAAO,OAE3C,CAAC;AAGF,eAAO,MAAM,SAAS,GACpB,OAAO;IAAC,YAAY,CAAC,EAAE;QAAC,eAAe,CAAC,EAAE;YAAC,OAAO,CAAC,EAAE,OAAO,CAAA;SAAC,CAAA;KAAC,CAAA;CAAC,GAAG,OAAO,EACzE,GAAG,MAAM,MAAM,EAAE,KAChB,IAQF,CAAC;AAEF,MAAM,WAAW,kBAAkB;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE;QACX,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;QAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,YAAY,CAAC,EAAE;QACb,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,oBAAoB,CAAC;AAQtD;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,MAAM;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,kBAAkB,CAAC;IAClC,KAAK,EAAE,OAAO,CAAC;IAGf,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,KAAG,QAwCH,CAAC;AAyBF,eAAO,MAAM,OAAO,QAAmB,CAAC;AACxC,eAAO,MAAM,iBAAiB,QAA6B,CAAC;AAC5D,eAAO,MAAM,YAAY,QAAwB,CAAC"}
package/dist/constants.js CHANGED
@@ -32,6 +32,12 @@ export const logSocket = (user, ...args) => {
32
32
  console.info("[websocket]", ...args);
33
33
  }
34
34
  };
35
+ /**
36
+ * Sentinel value for `BASE_URL`. When set in `app.json` `extra.BASE_URL`, the
37
+ * base URL resolves to the runtime page origin (`window.location.origin`).
38
+ * Used by same-origin deployments such as the standalone admin SPA.
39
+ */
40
+ export const SAME_ORIGIN_SENTINEL = "__SAME_ORIGIN__";
35
41
  const LOCALHOST = {
36
42
  baseTasksUrl: "http://localhost:4000/tasks",
37
43
  baseUrl: "http://localhost:4000",
@@ -45,7 +51,20 @@ export const resolveBaseUrls = (args) => {
45
51
  const hostUriPrefix = args.expoConstants.expoConfig?.hostUri?.split(":").shift();
46
52
  const experiencePrefix = args.expoConstants.experienceUrl?.split(":")[1];
47
53
  const baseFromExtra = args.expoConstants.expoConfig?.extra?.BASE_URL;
48
- const base = args.envApiUrl || (!args.isDev ? baseFromExtra : undefined);
54
+ // Same-origin sentinel: resolves to the page origin at runtime, regardless of
55
+ // isDev. This check must run before the isDev branching below, otherwise the
56
+ // sentinel would be silently dead in dev mode (which gates baseFromExtra).
57
+ if (baseFromExtra === SAME_ORIGIN_SENTINEL && args.windowOrigin) {
58
+ const origin = args.windowOrigin;
59
+ return {
60
+ baseTasksUrl: `${origin}/tasks`,
61
+ baseUrl: origin,
62
+ baseWebsocketsUrl: `${origin.replace(/^http/, "ws")}/`,
63
+ };
64
+ }
65
+ // Never treat the sentinel as a literal base URL in the fallback path.
66
+ const resolvedBaseFromExtra = baseFromExtra === SAME_ORIGIN_SENTINEL ? undefined : baseFromExtra;
67
+ const base = args.envApiUrl || (!args.isDev ? resolvedBaseFromExtra : undefined);
49
68
  const host = args.isDev ? hostUriPrefix : !base ? hostUriPrefix : undefined;
50
69
  const experience = !base && !host ? experiencePrefix : undefined;
51
70
  if (base)
@@ -74,10 +93,15 @@ if (Constants.expoGoConfig?.debuggerHost?.includes("exp.direct")) {
74
93
  console.error("Expo Tunnel is not currently supported for connecting to the API, please use LAN or Local mode.");
75
94
  }
76
95
  const isDev = typeof __DEV__ !== "undefined" && __DEV__;
96
+ const windowOrigin = typeof globalThis !== "undefined" &&
97
+ globalThis.location?.origin
98
+ ? globalThis.location?.origin
99
+ : undefined;
77
100
  const resolved = resolveBaseUrls({
78
101
  envApiUrl: process.env.EXPO_PUBLIC_API_URL,
79
102
  expoConstants: Constants,
80
103
  isDev,
104
+ windowOrigin,
81
105
  });
82
106
  export const baseUrl = resolved.baseUrl;
83
107
  export const baseWebsocketsUrl = resolved.baseWebsocketsUrl;
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { afterEach, beforeEach, describe, expect, it } from "bun:test";
2
- import { AUTH_DEBUG, baseTasksUrl, baseUrl, baseWebsocketsUrl, isWebsocketsDebugEnabled, logAuth, logSocket, resolveBaseUrls, setRealtimeDebug, } from "./constants";
2
+ import { AUTH_DEBUG, baseTasksUrl, baseUrl, baseWebsocketsUrl, isWebsocketsDebugEnabled, logAuth, logSocket, resolveBaseUrls, SAME_ORIGIN_SENTINEL, setRealtimeDebug, } from "./constants";
3
3
  describe("resolveBaseUrls", () => {
4
4
  it("treats an empty envApiUrl as unset and falls back to localhost", () => {
5
5
  const urls = resolveBaseUrls({
@@ -159,6 +159,64 @@ describe("resolveBaseUrls", () => {
159
159
  expect(urls.baseWebsocketsUrl).toBe("https://backend.example.com/");
160
160
  expect(urls.baseTasksUrl).toBe("https://backend.example.com/tasks");
161
161
  });
162
+ it("resolves the same-origin sentinel to the window origin (https -> wss)", () => {
163
+ const urls = resolveBaseUrls({
164
+ expoConstants: { expoConfig: { extra: { BASE_URL: SAME_ORIGIN_SENTINEL } } },
165
+ isDev: false,
166
+ windowOrigin: "https://api.example.com",
167
+ });
168
+ expect(urls.baseUrl).toBe("https://api.example.com");
169
+ expect(urls.baseWebsocketsUrl).toBe("wss://api.example.com/");
170
+ expect(urls.baseTasksUrl).toBe("https://api.example.com/tasks");
171
+ });
172
+ it("resolves the same-origin sentinel to the window origin (http -> ws)", () => {
173
+ const urls = resolveBaseUrls({
174
+ expoConstants: { expoConfig: { extra: { BASE_URL: SAME_ORIGIN_SENTINEL } } },
175
+ isDev: false,
176
+ windowOrigin: "http://localhost:4000",
177
+ });
178
+ expect(urls.baseUrl).toBe("http://localhost:4000");
179
+ expect(urls.baseWebsocketsUrl).toBe("ws://localhost:4000/");
180
+ expect(urls.baseTasksUrl).toBe("http://localhost:4000/tasks");
181
+ });
182
+ it("resolves the same-origin sentinel even in dev mode when a window origin exists", () => {
183
+ const urls = resolveBaseUrls({
184
+ expoConstants: {
185
+ expoConfig: { extra: { BASE_URL: SAME_ORIGIN_SENTINEL }, hostUri: "10.0.0.5:8081" },
186
+ },
187
+ isDev: true,
188
+ windowOrigin: "https://admin.example.com",
189
+ });
190
+ expect(urls.baseUrl).toBe("https://admin.example.com");
191
+ expect(urls.baseWebsocketsUrl).toBe("wss://admin.example.com/");
192
+ });
193
+ it("falls back to existing resolution when the sentinel is set but no window origin", () => {
194
+ const urls = resolveBaseUrls({
195
+ expoConstants: { expoConfig: { extra: { BASE_URL: SAME_ORIGIN_SENTINEL } } },
196
+ isDev: false,
197
+ });
198
+ expect(urls.baseUrl).toBe("http://localhost:4000");
199
+ expect(urls.baseWebsocketsUrl).toBe("ws://localhost:4000/");
200
+ });
201
+ it("does not treat the sentinel as a literal base URL when a window origin is absent", () => {
202
+ const urls = resolveBaseUrls({
203
+ expoConstants: {
204
+ expoConfig: { extra: { BASE_URL: SAME_ORIGIN_SENTINEL }, hostUri: "172.16.0.3:8081" },
205
+ },
206
+ isDev: false,
207
+ });
208
+ // Sentinel ignored -> falls through to hostUri resolution, not the literal "__SAME_ORIGIN__".
209
+ expect(urls.baseUrl).toBe("http://172.16.0.3:4000");
210
+ });
211
+ it("leaves a non-sentinel BASE_URL unchanged when a window origin is present", () => {
212
+ const urls = resolveBaseUrls({
213
+ expoConstants: { expoConfig: { extra: { BASE_URL: "https://api.prod.com" } } },
214
+ isDev: false,
215
+ windowOrigin: "https://some-other-origin.com",
216
+ });
217
+ expect(urls.baseUrl).toBe("https://api.prod.com");
218
+ expect(urls.baseWebsocketsUrl).toBe("https://ws.prod.com/");
219
+ });
162
220
  });
163
221
  describe("module-level exports", () => {
164
222
  it("exports baseUrl / websockets / tasks URLs that resolve to localhost with default mocks", () => {
@@ -1 +1 @@
1
- {"version":3,"file":"constants.test.js","sourceRoot":"","sources":["../src/constants.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.test.js","sourceRoot":"","sources":["../src/constants.test.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -10,6 +10,7 @@ export * from "./offlineMiddleware";
10
10
  export * from "./offlineSlice";
11
11
  export * from "./platform";
12
12
  export * from "./realtime";
13
+ export * from "./sessionApi";
13
14
  export * from "./socket";
14
15
  export * from "./sync";
15
16
  export * from "./tagGenerator";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -10,6 +10,7 @@ export * from "./offlineMiddleware";
10
10
  export * from "./offlineSlice";
11
11
  export * from "./platform";
12
12
  export * from "./realtime";
13
+ export * from "./sessionApi";
13
14
  export * from "./socket";
14
15
  export * from "./sync";
15
16
  export * from "./tagGenerator";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  // biome-ignore-all lint/suspicious/noExplicitAny: realtime RTK tests mock Socket.io and RTK Query runtime shapes
2
2
  import { afterEach, describe, expect, it } from "bun:test";
3
- const { realtimeDocument, realtimeList, setRealtimeSocket } = await import("./realtime");
3
+ const { getRealtimeSocket, realtimeDocument, realtimeList, setRealtimeSocket } = await import("./realtime");
4
4
  const createDeferred = () => {
5
5
  let resolve;
6
6
  const promise = new Promise((res) => {
@@ -336,4 +336,25 @@ describe("realtimeList", () => {
336
336
  }
337
337
  });
338
338
  });
339
+ describe("getRealtimeSocket", () => {
340
+ afterEach(() => {
341
+ setRealtimeSocket(null);
342
+ });
343
+ it("returns null when no socket has been set", () => {
344
+ setRealtimeSocket(null);
345
+ expect(getRealtimeSocket()).toBeNull();
346
+ });
347
+ it("returns the socket after setRealtimeSocket is called", () => {
348
+ const socket = createMockSocket();
349
+ setRealtimeSocket(socket);
350
+ expect(getRealtimeSocket()).toBe(socket);
351
+ });
352
+ it("returns null after socket is cleared", () => {
353
+ const socket = createMockSocket();
354
+ setRealtimeSocket(socket);
355
+ expect(getRealtimeSocket()).toBe(socket);
356
+ setRealtimeSocket(null);
357
+ expect(getRealtimeSocket()).toBeNull();
358
+ });
359
+ });
339
360
  //# sourceMappingURL=realtime.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"realtime.test.js","sourceRoot":"","sources":["../src/realtime.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"realtime.test.js","sourceRoot":"","sources":["../src/realtime.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ interface CreateSessionApiOptions<ReducerPath extends string> {
2
+ /**
3
+ * Base URL for API requests. Defaults to "" so paths resolve against the current
4
+ * origin on web (the SPA is served by the same backend that hosts the API).
5
+ */
6
+ baseUrl?: string;
7
+ /** Redux reducer path for the generated api. Defaults to "terreno-session". */
8
+ reducerPath?: ReducerPath;
9
+ }
10
+ /**
11
+ * Creates an empty RTK Query API that authenticates with same-origin session cookies
12
+ * instead of JWT bearer tokens. Response shaping matches emptyApi: list responses
13
+ * (with `more`) are returned whole, and `{data}` envelopes are unwrapped.
14
+ */
15
+ export declare const createSessionApi: <ReducerPath extends string = "terreno-session">({ baseUrl, reducerPath, }?: CreateSessionApiOptions<ReducerPath>) => import("@reduxjs/toolkit/query").Api<import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@reduxjs/toolkit/query").FetchArgs, unknown, import("@reduxjs/toolkit/query").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, {}, ReducerPath, never, typeof import("@reduxjs/toolkit/query").coreModuleName | typeof import("@reduxjs/toolkit/query/react").reactHooksModuleName>;
16
+ export {};
17
+ //# sourceMappingURL=sessionApi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionApi.d.ts","sourceRoot":"","sources":["../src/sessionApi.ts"],"names":[],"mappings":"AASA,UAAU,uBAAuB,CAAC,WAAW,SAAS,MAAM;IAC1D;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,WAAW,SAAS,MAAM,GAAG,iBAAiB,EAAE,4BAG9E,uBAAuB,CAAC,WAAW,CAAM,yZA0B3C,CAAC"}
@@ -0,0 +1,40 @@
1
+ // Cookie-session base API for web apps authenticated via Better Auth session cookies
2
+ // (e.g. the admin SPA served from a Terreno backend). Unlike emptyApi's
3
+ // staggeredBaseQuery, this base query has no JWT token handling: it never reads
4
+ // token storage, never refreshes tokens, and never dispatches the global logout
5
+ // action when a request fails. Auth state is owned entirely by the better-auth
6
+ // session cookie, which the browser sends automatically on same-origin requests.
7
+ import { createApi, fetchBaseQuery } from "@reduxjs/toolkit/query/react";
8
+ import qs from "qs";
9
+ /**
10
+ * Creates an empty RTK Query API that authenticates with same-origin session cookies
11
+ * instead of JWT bearer tokens. Response shaping matches emptyApi: list responses
12
+ * (with `more`) are returned whole, and `{data}` envelopes are unwrapped.
13
+ */
14
+ export const createSessionApi = ({ baseUrl = "", reducerPath = "terreno-session", } = {}) => {
15
+ const sessionBaseQuery = fetchBaseQuery({
16
+ baseUrl,
17
+ credentials: "same-origin",
18
+ // qs supports the nested objects ($in, $lt/$gte, etc.) our list queries use.
19
+ paramsSerializer: (params) => qs.stringify(params),
20
+ responseHandler: async (response) => {
21
+ if (response.status === 204) {
22
+ return null;
23
+ }
24
+ const result = await response.json();
25
+ if (result && typeof result === "object" && "more" in result) {
26
+ return result;
27
+ }
28
+ if (result?.data) {
29
+ return result.data;
30
+ }
31
+ return result;
32
+ },
33
+ });
34
+ return createApi({
35
+ baseQuery: sessionBaseQuery,
36
+ endpoints: () => ({}),
37
+ reducerPath,
38
+ });
39
+ };
40
+ //# sourceMappingURL=sessionApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionApi.js","sourceRoot":"","sources":["../src/sessionApi.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,wEAAwE;AACxE,gFAAgF;AAChF,gFAAgF;AAChF,+EAA+E;AAC/E,iFAAiF;AACjF,OAAO,EAAC,SAAS,EAAE,cAAc,EAAC,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,MAAM,IAAI,CAAC;AAYpB;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAiD,EAC/E,OAAO,GAAG,EAAE,EACZ,WAAW,GAAG,iBAAgC,MACN,EAAE,EAAE,EAAE;IAC9C,MAAM,gBAAgB,GAAG,cAAc,CAAC;QACtC,OAAO;QACP,WAAW,EAAE,aAAa;QAC1B,6EAA6E;QAC7E,gBAAgB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC;QAClD,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;YAClC,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC5B,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACrC,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;gBAC7D,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,IAAI,MAAM,EAAE,IAAI,EAAE,CAAC;gBACjB,OAAO,MAAM,CAAC,IAAI,CAAC;YACrB,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,SAAS,CAAC;QACf,SAAS,EAAE,gBAAgB;QAC3B,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;QACrB,WAAW;KACZ,CAAC,CAAC;AACL,CAAC,CAAC"}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "@better-auth/expo": "^1.2.8",
4
4
  "@react-native-async-storage/async-storage": "2.2.0",
5
5
  "@reduxjs/toolkit": "^2.11.1",
6
- "@terreno/ui": "0.16.1",
6
+ "@terreno/ui": "0.18.0",
7
7
  "async-mutex": "^0.5.0",
8
8
  "axios": "^1.13.2",
9
9
  "axios-retry": "^4.5.0",
@@ -67,5 +67,5 @@
67
67
  "test:coverage": "bun run ../scripts/check-coverage.ts"
68
68
  },
69
69
  "types": "dist/index.d.ts",
70
- "version": "0.16.1"
70
+ "version": "0.18.0"
71
71
  }
@@ -9,6 +9,7 @@ import {
9
9
  logAuth,
10
10
  logSocket,
11
11
  resolveBaseUrls,
12
+ SAME_ORIGIN_SENTINEL,
12
13
  setRealtimeDebug,
13
14
  } from "./constants";
14
15
 
@@ -187,6 +188,70 @@ describe("resolveBaseUrls", () => {
187
188
  expect(urls.baseWebsocketsUrl).toBe("https://backend.example.com/");
188
189
  expect(urls.baseTasksUrl).toBe("https://backend.example.com/tasks");
189
190
  });
191
+
192
+ it("resolves the same-origin sentinel to the window origin (https -> wss)", () => {
193
+ const urls = resolveBaseUrls({
194
+ expoConstants: {expoConfig: {extra: {BASE_URL: SAME_ORIGIN_SENTINEL}}},
195
+ isDev: false,
196
+ windowOrigin: "https://api.example.com",
197
+ });
198
+ expect(urls.baseUrl).toBe("https://api.example.com");
199
+ expect(urls.baseWebsocketsUrl).toBe("wss://api.example.com/");
200
+ expect(urls.baseTasksUrl).toBe("https://api.example.com/tasks");
201
+ });
202
+
203
+ it("resolves the same-origin sentinel to the window origin (http -> ws)", () => {
204
+ const urls = resolveBaseUrls({
205
+ expoConstants: {expoConfig: {extra: {BASE_URL: SAME_ORIGIN_SENTINEL}}},
206
+ isDev: false,
207
+ windowOrigin: "http://localhost:4000",
208
+ });
209
+ expect(urls.baseUrl).toBe("http://localhost:4000");
210
+ expect(urls.baseWebsocketsUrl).toBe("ws://localhost:4000/");
211
+ expect(urls.baseTasksUrl).toBe("http://localhost:4000/tasks");
212
+ });
213
+
214
+ it("resolves the same-origin sentinel even in dev mode when a window origin exists", () => {
215
+ const urls = resolveBaseUrls({
216
+ expoConstants: {
217
+ expoConfig: {extra: {BASE_URL: SAME_ORIGIN_SENTINEL}, hostUri: "10.0.0.5:8081"},
218
+ },
219
+ isDev: true,
220
+ windowOrigin: "https://admin.example.com",
221
+ });
222
+ expect(urls.baseUrl).toBe("https://admin.example.com");
223
+ expect(urls.baseWebsocketsUrl).toBe("wss://admin.example.com/");
224
+ });
225
+
226
+ it("falls back to existing resolution when the sentinel is set but no window origin", () => {
227
+ const urls = resolveBaseUrls({
228
+ expoConstants: {expoConfig: {extra: {BASE_URL: SAME_ORIGIN_SENTINEL}}},
229
+ isDev: false,
230
+ });
231
+ expect(urls.baseUrl).toBe("http://localhost:4000");
232
+ expect(urls.baseWebsocketsUrl).toBe("ws://localhost:4000/");
233
+ });
234
+
235
+ it("does not treat the sentinel as a literal base URL when a window origin is absent", () => {
236
+ const urls = resolveBaseUrls({
237
+ expoConstants: {
238
+ expoConfig: {extra: {BASE_URL: SAME_ORIGIN_SENTINEL}, hostUri: "172.16.0.3:8081"},
239
+ },
240
+ isDev: false,
241
+ });
242
+ // Sentinel ignored -> falls through to hostUri resolution, not the literal "__SAME_ORIGIN__".
243
+ expect(urls.baseUrl).toBe("http://172.16.0.3:4000");
244
+ });
245
+
246
+ it("leaves a non-sentinel BASE_URL unchanged when a window origin is present", () => {
247
+ const urls = resolveBaseUrls({
248
+ expoConstants: {expoConfig: {extra: {BASE_URL: "https://api.prod.com"}}},
249
+ isDev: false,
250
+ windowOrigin: "https://some-other-origin.com",
251
+ });
252
+ expect(urls.baseUrl).toBe("https://api.prod.com");
253
+ expect(urls.baseWebsocketsUrl).toBe("https://ws.prod.com/");
254
+ });
190
255
  });
191
256
 
192
257
  describe("module-level exports", () => {
package/src/constants.ts CHANGED
@@ -65,6 +65,13 @@ export interface BaseUrls {
65
65
  baseTasksUrl: string;
66
66
  }
67
67
 
68
+ /**
69
+ * Sentinel value for `BASE_URL`. When set in `app.json` `extra.BASE_URL`, the
70
+ * base URL resolves to the runtime page origin (`window.location.origin`).
71
+ * Used by same-origin deployments such as the standalone admin SPA.
72
+ */
73
+ export const SAME_ORIGIN_SENTINEL = "__SAME_ORIGIN__";
74
+
68
75
  const LOCALHOST: BaseUrls = {
69
76
  baseTasksUrl: "http://localhost:4000/tasks",
70
77
  baseUrl: "http://localhost:4000",
@@ -79,11 +86,28 @@ export const resolveBaseUrls = (args: {
79
86
  envApiUrl?: string;
80
87
  expoConstants: ExpoConstantsShape;
81
88
  isDev: boolean;
89
+ // Defaults to globalThis.location.origin at the module-level call site.
90
+ // Injectable so the sentinel resolution can be unit tested without a DOM.
91
+ windowOrigin?: string;
82
92
  }): BaseUrls => {
83
93
  const hostUriPrefix = args.expoConstants.expoConfig?.hostUri?.split(":").shift();
84
94
  const experiencePrefix = args.expoConstants.experienceUrl?.split(":")[1];
85
95
  const baseFromExtra = args.expoConstants.expoConfig?.extra?.BASE_URL;
86
- const base = args.envApiUrl || (!args.isDev ? baseFromExtra : undefined);
96
+
97
+ // Same-origin sentinel: resolves to the page origin at runtime, regardless of
98
+ // isDev. This check must run before the isDev branching below, otherwise the
99
+ // sentinel would be silently dead in dev mode (which gates baseFromExtra).
100
+ if (baseFromExtra === SAME_ORIGIN_SENTINEL && args.windowOrigin) {
101
+ const origin = args.windowOrigin;
102
+ return {
103
+ baseTasksUrl: `${origin}/tasks`,
104
+ baseUrl: origin,
105
+ baseWebsocketsUrl: `${origin.replace(/^http/, "ws")}/`,
106
+ };
107
+ }
108
+ // Never treat the sentinel as a literal base URL in the fallback path.
109
+ const resolvedBaseFromExtra = baseFromExtra === SAME_ORIGIN_SENTINEL ? undefined : baseFromExtra;
110
+ const base = args.envApiUrl || (!args.isDev ? resolvedBaseFromExtra : undefined);
87
111
  const host = args.isDev ? hostUriPrefix : !base ? hostUriPrefix : undefined;
88
112
  const experience = !base && !host ? experiencePrefix : undefined;
89
113
  if (base)
@@ -117,10 +141,17 @@ if (Constants.expoGoConfig?.debuggerHost?.includes("exp.direct")) {
117
141
 
118
142
  const isDev = typeof __DEV__ !== "undefined" && __DEV__;
119
143
 
144
+ const windowOrigin =
145
+ typeof globalThis !== "undefined" &&
146
+ (globalThis as {location?: {origin?: string}}).location?.origin
147
+ ? (globalThis as {location?: {origin?: string}}).location?.origin
148
+ : undefined;
149
+
120
150
  const resolved = resolveBaseUrls({
121
151
  envApiUrl: process.env.EXPO_PUBLIC_API_URL,
122
152
  expoConstants: Constants as ExpoConstantsShape,
123
153
  isDev,
154
+ windowOrigin,
124
155
  });
125
156
 
126
157
  export const baseUrl = resolved.baseUrl;
package/src/index.ts CHANGED
@@ -10,6 +10,7 @@ export * from "./offlineMiddleware";
10
10
  export * from "./offlineSlice";
11
11
  export * from "./platform";
12
12
  export * from "./realtime";
13
+ export * from "./sessionApi";
13
14
  export * from "./socket";
14
15
  export * from "./sync";
15
16
  export * from "./tagGenerator";
@@ -2,7 +2,9 @@
2
2
  import {afterEach, describe, expect, it} from "bun:test";
3
3
  import type {Socket} from "socket.io-client";
4
4
 
5
- const {realtimeDocument, realtimeList, setRealtimeSocket} = await import("./realtime");
5
+ const {getRealtimeSocket, realtimeDocument, realtimeList, setRealtimeSocket} = await import(
6
+ "./realtime"
7
+ );
6
8
 
7
9
  interface MockSocket {
8
10
  emitted: Array<{event: string; payload: any}>;
@@ -402,3 +404,28 @@ describe("realtimeList", () => {
402
404
  }
403
405
  });
404
406
  });
407
+
408
+ describe("getRealtimeSocket", () => {
409
+ afterEach(() => {
410
+ setRealtimeSocket(null);
411
+ });
412
+
413
+ it("returns null when no socket has been set", () => {
414
+ setRealtimeSocket(null);
415
+ expect(getRealtimeSocket()).toBeNull();
416
+ });
417
+
418
+ it("returns the socket after setRealtimeSocket is called", () => {
419
+ const socket = createMockSocket();
420
+ setRealtimeSocket(socket as unknown as Socket);
421
+ expect(getRealtimeSocket()).toBe(socket as unknown as Socket);
422
+ });
423
+
424
+ it("returns null after socket is cleared", () => {
425
+ const socket = createMockSocket();
426
+ setRealtimeSocket(socket as unknown as Socket);
427
+ expect(getRealtimeSocket()).toBe(socket as unknown as Socket);
428
+ setRealtimeSocket(null);
429
+ expect(getRealtimeSocket()).toBeNull();
430
+ });
431
+ });
@@ -0,0 +1,54 @@
1
+ // Cookie-session base API for web apps authenticated via Better Auth session cookies
2
+ // (e.g. the admin SPA served from a Terreno backend). Unlike emptyApi's
3
+ // staggeredBaseQuery, this base query has no JWT token handling: it never reads
4
+ // token storage, never refreshes tokens, and never dispatches the global logout
5
+ // action when a request fails. Auth state is owned entirely by the better-auth
6
+ // session cookie, which the browser sends automatically on same-origin requests.
7
+ import {createApi, fetchBaseQuery} from "@reduxjs/toolkit/query/react";
8
+ import qs from "qs";
9
+
10
+ interface CreateSessionApiOptions<ReducerPath extends string> {
11
+ /**
12
+ * Base URL for API requests. Defaults to "" so paths resolve against the current
13
+ * origin on web (the SPA is served by the same backend that hosts the API).
14
+ */
15
+ baseUrl?: string;
16
+ /** Redux reducer path for the generated api. Defaults to "terreno-session". */
17
+ reducerPath?: ReducerPath;
18
+ }
19
+
20
+ /**
21
+ * Creates an empty RTK Query API that authenticates with same-origin session cookies
22
+ * instead of JWT bearer tokens. Response shaping matches emptyApi: list responses
23
+ * (with `more`) are returned whole, and `{data}` envelopes are unwrapped.
24
+ */
25
+ export const createSessionApi = <ReducerPath extends string = "terreno-session">({
26
+ baseUrl = "",
27
+ reducerPath = "terreno-session" as ReducerPath,
28
+ }: CreateSessionApiOptions<ReducerPath> = {}) => {
29
+ const sessionBaseQuery = fetchBaseQuery({
30
+ baseUrl,
31
+ credentials: "same-origin",
32
+ // qs supports the nested objects ($in, $lt/$gte, etc.) our list queries use.
33
+ paramsSerializer: (params) => qs.stringify(params),
34
+ responseHandler: async (response) => {
35
+ if (response.status === 204) {
36
+ return null;
37
+ }
38
+ const result = await response.json();
39
+ if (result && typeof result === "object" && "more" in result) {
40
+ return result;
41
+ }
42
+ if (result?.data) {
43
+ return result.data;
44
+ }
45
+ return result;
46
+ },
47
+ });
48
+
49
+ return createApi({
50
+ baseQuery: sessionBaseQuery,
51
+ endpoints: () => ({}),
52
+ reducerPath,
53
+ });
54
+ };