@polpo-ai/react 0.6.21 → 0.6.23
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.
|
@@ -20,9 +20,26 @@ export interface PolpoProviderProps {
|
|
|
20
20
|
* includes the full `/v1/...` path downstream).
|
|
21
21
|
*/
|
|
22
22
|
apiPrefix?: string;
|
|
23
|
+
/**
|
|
24
|
+
* Default end-user identifier (OpenAI-compat `user`). When set, every
|
|
25
|
+
* SDK call (`chatCompletions`, `createTask`, `createMission`) will carry
|
|
26
|
+
* it as default — pass per-call `user` to override.
|
|
27
|
+
*
|
|
28
|
+
* Wire this from your auth provider (Supabase, Clerk, NextAuth) so the
|
|
29
|
+
* Polpo client always knows which end-user is acting:
|
|
30
|
+
*
|
|
31
|
+
* ```tsx
|
|
32
|
+
* const { user } = useSupabaseUser();
|
|
33
|
+
* <PolpoProvider baseUrl={...} apiKey={...} user={user?.id}>
|
|
34
|
+
* ```
|
|
35
|
+
*
|
|
36
|
+
* Updates propagate without rebuilding the client — only the default value
|
|
37
|
+
* changes, so React Query caches and SSE connections stay alive.
|
|
38
|
+
*/
|
|
39
|
+
user?: string;
|
|
23
40
|
children: ReactNode;
|
|
24
41
|
autoConnect?: boolean;
|
|
25
42
|
eventFilter?: string[];
|
|
26
43
|
}
|
|
27
|
-
export declare function PolpoProvider({ baseUrl, apiKey, fetch, apiPrefix, children, autoConnect, eventFilter, }: PolpoProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
44
|
+
export declare function PolpoProvider({ baseUrl, apiKey, fetch, apiPrefix, user, children, autoConnect, eventFilter, }: PolpoProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
28
45
|
//# sourceMappingURL=polpo-provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"polpo-provider.d.ts","sourceRoot":"","sources":["../../src/provider/polpo-provider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA8B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAQnE,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAChC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,wBAAgB,aAAa,CAAC,EAC5B,OAAO,EACP,MAAM,EACN,KAAK,EACL,SAAS,EACT,QAAQ,EACR,WAAkB,EAClB,WAAW,GACZ,EAAE,kBAAkB,
|
|
1
|
+
{"version":3,"file":"polpo-provider.d.ts","sourceRoot":"","sources":["../../src/provider/polpo-provider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA8B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAQnE,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAChC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;;;;;;;;;OAeG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,wBAAgB,aAAa,CAAC,EAC5B,OAAO,EACP,MAAM,EACN,KAAK,EACL,SAAS,EACT,IAAI,EACJ,QAAQ,EACR,WAAkB,EAClB,WAAW,GACZ,EAAE,kBAAkB,2CA8EpB"}
|
|
@@ -5,21 +5,29 @@ import { PolpoClient } from "@polpo-ai/sdk";
|
|
|
5
5
|
import { EventSourceManager } from "@polpo-ai/sdk";
|
|
6
6
|
import { PolpoStore } from "@polpo-ai/sdk";
|
|
7
7
|
import { PolpoContext } from "./polpo-context.js";
|
|
8
|
-
export function PolpoProvider({ baseUrl, apiKey, fetch, apiPrefix, children, autoConnect = true, eventFilter, }) {
|
|
8
|
+
export function PolpoProvider({ baseUrl, apiKey, fetch, apiPrefix, user, children, autoConnect = true, eventFilter, }) {
|
|
9
9
|
// Config key includes fetch identity + apiPrefix so that swapping either
|
|
10
10
|
// rebuilds the client (same reasoning as baseUrl/apiKey today).
|
|
11
|
+
// Note: `user` is intentionally NOT in the config key — we update it via
|
|
12
|
+
// setUser() on the existing client to avoid tearing down SSE on every
|
|
13
|
+
// login/logout cycle.
|
|
11
14
|
const configKey = `${baseUrl}|${apiKey ?? ""}|${apiPrefix ?? ""}|${fetch ? "custom-fetch" : "default-fetch"}`;
|
|
12
15
|
const storeRef = useRef(null);
|
|
13
16
|
const clientRef = useRef(null);
|
|
14
17
|
const lastConfigKey = useRef("");
|
|
15
18
|
if (lastConfigKey.current !== configKey) {
|
|
16
19
|
lastConfigKey.current = configKey;
|
|
17
|
-
clientRef.current = new PolpoClient({ baseUrl, apiKey, fetch, apiPrefix });
|
|
20
|
+
clientRef.current = new PolpoClient({ baseUrl, apiKey, fetch, apiPrefix, user });
|
|
18
21
|
storeRef.current = new PolpoStore();
|
|
19
22
|
}
|
|
20
23
|
const client = clientRef.current;
|
|
21
24
|
const store = storeRef.current;
|
|
22
25
|
const stableEventFilter = useStableValue(eventFilter);
|
|
26
|
+
// Sync the default user without rebuilding the client. Cheap; no-op when
|
|
27
|
+
// unchanged. Lets a chat session survive a token-refresh round-trip.
|
|
28
|
+
useEffect(() => {
|
|
29
|
+
client.setUser(user);
|
|
30
|
+
}, [client, user]);
|
|
23
31
|
// SSE connection lifecycle
|
|
24
32
|
useEffect(() => {
|
|
25
33
|
if (!autoConnect)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"polpo-provider.js","sourceRoot":"","sources":["../../src/provider/polpo-provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAkB,MAAM,OAAO,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"polpo-provider.js","sourceRoot":"","sources":["../../src/provider/polpo-provider.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@polpo-ai/react",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.23",
|
|
4
4
|
"description": "React SDK for OpenPolpo — hooks with real-time SSE updates, built on @polpo-ai/sdk",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
},
|
|
18
18
|
"sideEffects": false,
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@polpo-ai/sdk": "0.6.
|
|
20
|
+
"@polpo-ai/sdk": "0.6.23"
|
|
21
21
|
},
|
|
22
22
|
"peerDependencies": {
|
|
23
23
|
"react": "^18.0.0 || ^19.0.0"
|