@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,2CAqEpB"}
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":"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"}
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;AA6ClD,MAAM,UAAU,aAAa,CAAC,EAC5B,OAAO,EACP,MAAM,EACN,KAAK,EACL,SAAS,EACT,IAAI,EACJ,QAAQ,EACR,WAAW,GAAG,IAAI,EAClB,WAAW,GACQ;IACnB,yEAAyE;IACzE,gEAAgE;IAChE,yEAAyE;IACzE,sEAAsE;IACtE,sBAAsB;IACtB,MAAM,SAAS,GAAG,GAAG,OAAO,IAAI,MAAM,IAAI,EAAE,IAAI,SAAS,IAAI,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;IAC9G,MAAM,QAAQ,GAAG,MAAM,CAAa,IAA6B,CAAC,CAAC;IACnE,MAAM,SAAS,GAAG,MAAM,CAAc,IAA8B,CAAC,CAAC;IACtE,MAAM,aAAa,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;IAEjC,IAAI,aAAa,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACxC,aAAa,CAAC,OAAO,GAAG,SAAS,CAAC;QAClC,SAAS,CAAC,OAAO,GAAG,IAAI,WAAW,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACjF,QAAQ,CAAC,OAAO,GAAG,IAAI,UAAU,EAAE,CAAC;IACtC,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,CAAC,OAAQ,CAAC;IAClC,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAQ,CAAC;IAChC,MAAM,iBAAiB,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;IAEtD,yEAAyE;IACzE,qEAAqE;IACrE,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IAEnB,2BAA2B;IAC3B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,WAAW;YAAE,OAAO;QAEzB,IAAI,aAAa,GAAe,EAAE,CAAC;QACnC,IAAI,cAAc,GAAG,KAAK,CAAC;QAE3B,MAAM,UAAU,GAAG,GAAG,EAAE;YACtB,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,KAAK,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;gBACrC,aAAa,GAAG,EAAE,CAAC;YACrB,CAAC;YACD,cAAc,GAAG,KAAK,CAAC;QACzB,CAAC,CAAC;QAEF,MAAM,EAAE,GAAG,IAAI,kBAAkB,CAAC;YAChC,GAAG,EAAE,MAAM,CAAC,YAAY,CAAC,iBAAiB,CAAC;YAC3C,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBACjB,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC1B,IAAI,CAAC,cAAc,EAAE,CAAC;oBACpB,cAAc,GAAG,IAAI,CAAC;oBACtB,cAAc,CAAC,UAAU,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC;YACD,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE;gBACzB,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;gBAClC,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;oBAC3B,8CAA8C;oBAC9C,OAAO,CAAC,GAAG,CAAC;wBACV,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;wBAChD,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;wBACtD,MAAM,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;wBAClD,MAAM,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;qBACzD,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;wBACZ,wCAAwC;oBAC1C,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QAEH,EAAE,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC;IAC/B,CAAC,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAEhD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IAElE,OAAO,CACL,KAAC,YAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAChC,QAAQ,GACa,CACzB,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@polpo-ai/react",
3
- "version": "0.6.21",
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.21"
20
+ "@polpo-ai/sdk": "0.6.23"
21
21
  },
22
22
  "peerDependencies": {
23
23
  "react": "^18.0.0 || ^19.0.0"