@vibes.diy/use-vibes-base 0.18.23-dev → 0.18.25-dev

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.
@@ -0,0 +1,26 @@
1
+ import type { TokenStrategie, TokenAndClaims, ToCloudOpts } from '@fireproof/core-types-protocols-cloud';
2
+ import { type Logger } from '@adviser/cement';
3
+ import type { SuperThis } from '@fireproof/core-types-base';
4
+ import { DashboardApi } from '@fireproof/core-protocols-dashboard';
5
+ interface ClerkIf {
6
+ addListener: (callback: (resources: {
7
+ session?: {
8
+ getToken: (opts?: {
9
+ template?: string;
10
+ }) => Promise<string | null>;
11
+ } | null;
12
+ }) => void) => () => void;
13
+ }
14
+ export declare const clerkDashApi: (clerk: ClerkIf, apiUrl: string) => DashboardApi;
15
+ export declare const globalClerkStrategy: () => ClerkTokenStrategy;
16
+ export declare class ClerkTokenStrategy implements TokenStrategie {
17
+ private dashApi?;
18
+ private deviceId?;
19
+ setDashboardApi(dashApi: DashboardApi): void;
20
+ readonly hash: () => string;
21
+ open(_sthis: SuperThis, _logger: Logger, deviceId: string, _opts: ToCloudOpts): void;
22
+ tryToken(_sthis: SuperThis, logger: Logger, _opts: ToCloudOpts): Promise<TokenAndClaims | undefined>;
23
+ waitForToken(sthis: SuperThis, logger: Logger, deviceId: string, opts: ToCloudOpts): Promise<TokenAndClaims | undefined>;
24
+ stop(): void;
25
+ }
26
+ export {};
@@ -0,0 +1,67 @@
1
+ import { Lazy, ResolveOnce, Future } from '@adviser/cement';
2
+ import { DashboardApi } from '@fireproof/core-protocols-dashboard';
3
+ import { hashObjectSync } from '@fireproof/core-runtime';
4
+ export const clerkDashApi = Lazy((clerk, apiUrl) => {
5
+ const getDashApi = new ResolveOnce();
6
+ let futureToken = new Future();
7
+ const getToken = () => getDashApi.once(async () => {
8
+ const token = await futureToken.asPromise();
9
+ return { type: 'clerk', token };
10
+ });
11
+ const opts = {
12
+ apiUrl,
13
+ getToken,
14
+ fetch: fetch.bind(globalThis),
15
+ };
16
+ const dashApi = new DashboardApi(opts);
17
+ clerk.addListener(({ session }) => {
18
+ if (session) {
19
+ session.getToken({ template: 'with-email' }).then((token) => {
20
+ if (token) {
21
+ getDashApi.reset(() => dashApi);
22
+ futureToken.resolve(token);
23
+ futureToken = new Future();
24
+ }
25
+ });
26
+ }
27
+ });
28
+ return dashApi;
29
+ });
30
+ export const globalClerkStrategy = Lazy(() => new ClerkTokenStrategy());
31
+ export class ClerkTokenStrategy {
32
+ dashApi;
33
+ deviceId;
34
+ setDashboardApi(dashApi) {
35
+ this.dashApi = dashApi;
36
+ }
37
+ hash = Lazy(() => {
38
+ return hashObjectSync({ strategy: 'clerk' });
39
+ });
40
+ open(_sthis, _logger, deviceId, _opts) {
41
+ this.deviceId = deviceId;
42
+ }
43
+ async tryToken(_sthis, logger, _opts) {
44
+ if (!this.dashApi || !this.deviceId) {
45
+ return undefined;
46
+ }
47
+ const result = await this.dashApi.ensureCloudToken({
48
+ appId: this.deviceId,
49
+ env: 'prod',
50
+ });
51
+ if (result.isErr()) {
52
+ logger?.Error().Err(result.Err()).Msg('Failed to get cloud token via ensureCloudToken');
53
+ throw result.Err();
54
+ }
55
+ const response = result.Ok();
56
+ return {
57
+ token: response.cloudToken,
58
+ };
59
+ }
60
+ async waitForToken(sthis, logger, deviceId, opts) {
61
+ return this.tryToken(sthis, logger, opts);
62
+ }
63
+ stop() {
64
+ this.deviceId = undefined;
65
+ }
66
+ }
67
+ //# sourceMappingURL=clerk-token-strategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clerk-token-strategy.js","sourceRoot":"","sources":["../jsr/clerk-token-strategy.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,9 @@ declare const VibeMetadataSchema: z.ZodObject<{
16
16
  }, z.core.$strip>;
17
17
  export type VibeMetadata = z.infer<typeof VibeMetadataSchema>;
18
18
  export declare function validateVibeMetadata(metadata: unknown): asserts metadata is VibeMetadata;
19
+ export interface VibeContextValue {
20
+ metadata?: VibeMetadata;
21
+ }
19
22
  export interface VibeContextProviderProps {
20
23
  readonly metadata: VibeMetadata;
21
24
  readonly children: ReactNode;
@@ -1,5 +1,7 @@
1
- import React, { createContext, useContext } from 'react';
1
+ import React, { createContext, useContext, useEffect } from 'react';
2
2
  import { z } from 'zod';
3
+ import { useSession, useClerk } from '@clerk/clerk-react';
4
+ import { clerkDashApi, globalClerkStrategy } from '../clerk-token-strategy.js';
3
5
  export const VIBE_METADATA_ERROR_CODES = {
4
6
  TITLEID_EMPTY: 'TITLEID_EMPTY',
5
7
  INSTALLID_EMPTY: 'INSTALLID_EMPTY',
@@ -26,6 +28,10 @@ const VibeMetadataSchema = z.object({
26
28
  .min(1, 'VibeMetadata.installId must be a non-empty string')
27
29
  .regex(/^[a-z0-9-]+$/i, 'VibeMetadata.installId must contain only alphanumeric characters and hyphens'),
28
30
  });
31
+ function getApiUrl() {
32
+ const w = globalThis.window;
33
+ return w?.VIBES_CONNECT_API_URL || 'https://connect.fireproof.direct/api';
34
+ }
29
35
  export function validateVibeMetadata(metadata) {
30
36
  try {
31
37
  VibeMetadataSchema.parse(metadata);
@@ -55,11 +61,19 @@ export function validateVibeMetadata(metadata) {
55
61
  throw error;
56
62
  }
57
63
  }
58
- const VibeContext = createContext(undefined);
64
+ const VibeContext = createContext({});
59
65
  export function VibeContextProvider({ metadata, children }) {
60
- return React.createElement(VibeContext.Provider, { value: metadata }, children);
66
+ const { session } = useSession();
67
+ const clerk = useClerk();
68
+ useEffect(() => {
69
+ if (session) {
70
+ const dashApi = clerkDashApi(clerk, getApiUrl());
71
+ globalClerkStrategy().setDashboardApi(dashApi);
72
+ }
73
+ }, [session, clerk]);
74
+ return React.createElement(VibeContext.Provider, { value: { metadata } }, children);
61
75
  }
62
76
  export function useVibeContext() {
63
- return useContext(VibeContext);
77
+ return useContext(VibeContext).metadata;
64
78
  }
65
79
  //# sourceMappingURL=VibeContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VibeContext.js","sourceRoot":"","sources":["../../jsr/contexts/VibeContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,EAAkB,MAAM,OAAO,CAAC;AACzE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,aAAa,EAAE,eAAe;IAC9B,eAAe,EAAE,iBAAiB;IAClC,qBAAqB,EAAE,uBAAuB;IAC9C,uBAAuB,EAAE,yBAAyB;CAC1C,CAAC;AAMX,MAAM,OAAO,2BAA4B,SAAQ,KAAK;IAC3C,IAAI,CAAS;IAEtB,YAAY,OAAe,EAAE,IAAY,EAAE;QACzC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAC;QAC1C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAAA,CAClB;CACF;AAOD,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,EAAE,iDAAiD,CAAC;SACzD,KAAK,CACJ,eAAe,EACf,4EAA4E,CAC7E;IACH,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,EAAE,mDAAmD,CAAC;SAC3D,KAAK,CACJ,eAAe,EACf,8EAA8E,CAC/E;CACJ,CAAC,CAAC;AAcH,MAAM,UAAU,oBAAoB,CAAC,QAAiB,EAAoC;IACxF,IAAI,CAAC;QACH,kBAAkB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;YAEhC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACnC,IAAI,IAAY,CAAC;YACjB,MAAM,OAAO,GAAW,UAAU,CAAC,OAAO,CAAC;YAE3C,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;gBACrC,IAAI;oBACF,UAAU,CAAC,IAAI,KAAK,WAAW;wBAC7B,CAAC,CAAC,yBAAyB,CAAC,aAAa;wBACzC,CAAC,CAAC,yBAAyB,CAAC,qBAAqB,CAAC;YACxD,CAAC;iBAAM,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE,CAAC;gBAC9C,IAAI;oBACF,UAAU,CAAC,IAAI,KAAK,WAAW;wBAC7B,CAAC,CAAC,yBAAyB,CAAC,eAAe;wBAC3C,CAAC,CAAC,yBAAyB,CAAC,uBAAuB,CAAC;YAC1D,CAAC;iBAAM,CAAC;gBACN,IAAI,GAAG,eAAe,CAAC;YACzB,CAAC;YAED,MAAM,IAAI,2BAA2B,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AAAA,CACF;AAED,MAAM,WAAW,GAAG,aAAa,CAA2B,SAAS,CAAC,CAAC;AAOvE,MAAM,UAAU,mBAAmB,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAA4B,EAAE;IACpF,OAAO,oBAAC,WAAW,CAAC,QAAQ,IAAC,KAAK,EAAE,QAAQ,IAAG,QAAQ,CAAwB,CAAC;AAAA,CACjF;AAED,MAAM,UAAU,cAAc,GAA6B;IACzD,OAAO,UAAU,CAAC,WAAW,CAAC,CAAC;AAAA,CAChC"}
1
+ {"version":3,"file":"VibeContext.js","sourceRoot":"","sources":["../../jsr/contexts/VibeContext.tsx"],"names":[],"mappings":"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"}
package/index.d.ts CHANGED
@@ -1,9 +1,11 @@
1
- import type { ToCloudAttachable } from '@fireproof/core-types-protocols-cloud';
1
+ import type { ToCloudAttachable, TokenStrategie } from '@fireproof/core-types-protocols-cloud';
2
2
  import { fireproof, ImgFile, type Database, type UseFpToCloudParam } from 'use-fireproof';
3
3
  export { fireproof, ImgFile };
4
4
  export type * as Fireproof from 'use-fireproof';
5
5
  export declare function isJWTExpired(token: string): Promise<boolean>;
6
- export declare function toCloud(opts?: UseFpToCloudParam): ToCloudAttachable;
6
+ export declare function toCloud(opts?: UseFpToCloudParam & {
7
+ tokenStrategy?: TokenStrategie;
8
+ }): ToCloudAttachable;
7
9
  export declare function useFireproof(nameOrDatabase?: string | Database): {
8
10
  database: Database;
9
11
  useDocument: import("use-fireproof").UseDocument;
package/index.js CHANGED
@@ -1,10 +1,11 @@
1
1
  import { getKeyBag } from '@fireproof/core-keybag';
2
2
  import { Lazy } from '@adviser/cement';
3
3
  import { ensureSuperThis } from '@fireproof/core-runtime';
4
- import { useCallback, useEffect } from 'react';
4
+ import { useCallback, useEffect, useMemo } from 'react';
5
5
  import { fireproof, ImgFile, toCloud as originalToCloud, useFireproof as originalUseFireproof, } from 'use-fireproof';
6
6
  import { VIBES_SYNC_ENABLED_CLASS } from './constants.js';
7
7
  import { useVibeContext } from './contexts/VibeContext.js';
8
+ import { globalClerkStrategy } from './clerk-token-strategy.js';
8
9
  const syncEnabledInstances = new Map();
9
10
  let instanceCounter = 0;
10
11
  function updateBodyClass() {
@@ -37,11 +38,17 @@ export async function isJWTExpired(token) {
37
38
  }
38
39
  }
39
40
  export function toCloud(opts) {
41
+ if (opts?.strategy && opts?.tokenStrategy) {
42
+ throw new Error("toCloud: provide either 'strategy' or 'tokenStrategy', not both.");
43
+ }
44
+ const { tokenStrategy, strategy, ...rest } = opts ?? {};
45
+ const effectiveStrategy = tokenStrategy ?? strategy;
40
46
  const attachable = originalToCloud({
41
- ...opts,
47
+ ...rest,
42
48
  dashboardURI: 'https://connect.fireproof.direct/fp/cloud/api/token-auto',
43
49
  tokenApiURI: 'https://connect.fireproof.direct/api',
44
50
  urls: { base: 'fpcloud://cloud.fireproof.direct' },
51
+ ...(effectiveStrategy ? { strategy: effectiveStrategy } : {}),
45
52
  });
46
53
  return attachable;
47
54
  }
@@ -60,17 +67,20 @@ export function useFireproof(nameOrDatabase) {
60
67
  const augmentedDbName = constructDatabaseName(nameOrDatabase, vibeMetadata);
61
68
  const instanceId = `instance-${++instanceCounter}`;
62
69
  const dbName = typeof augmentedDbName === 'string' ? augmentedDbName : augmentedDbName?.name || 'default';
63
- const syncKey = 'fireproof-sync-enabled';
64
- const wasSyncEnabled = typeof window !== 'undefined' && localStorage.getItem(syncKey) === 'true';
65
- const attachConfig = wasSyncEnabled ? toCloud() : undefined;
66
- const result = originalUseFireproof(augmentedDbName, attachConfig ? { attach: attachConfig } : {});
70
+ const attachConfig = useMemo(() => {
71
+ return vibeMetadata ? toCloud({ tokenStrategy: globalClerkStrategy() }) : undefined;
72
+ }, [vibeMetadata]);
73
+ const options = useMemo(() => {
74
+ return attachConfig ? { attach: attachConfig } : undefined;
75
+ }, [attachConfig]);
76
+ const result = originalUseFireproof(augmentedDbName, options);
77
+ const syncEnabled = !!vibeMetadata && (result.attach?.state === 'attached' || result.attach?.state === 'attaching');
67
78
  const enableSync = useCallback(() => {
68
79
  console.log('enableSync() not implemented - TODO: Enable sync with Clerk token');
69
80
  }, []);
70
81
  const disableSync = useCallback(() => {
71
82
  console.log('disableSync() not implemented - TODO: Disable sync with Clerk token');
72
83
  }, []);
73
- const syncEnabled = wasSyncEnabled && (result.attach?.state === 'attached' || result.attach?.state === 'attaching');
74
84
  const share = useCallback(async (options) => {
75
85
  const token = options.token;
76
86
  if (!token) {
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../jsr/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../jsr/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,27 +1,34 @@
1
1
  {
2
2
  "name": "@vibes.diy/use-vibes-base",
3
- "version": "0.18.23-dev",
3
+ "version": "0.18.25-dev",
4
4
  "type": "module",
5
5
  "description": "Core components and utilities for use-vibes (internal workspace package)",
6
6
  "exports": {
7
7
  ".": {
8
8
  "types": "./index.d.ts",
9
9
  "import": "./index.js"
10
+ },
11
+ "./contexts/VibeContext": {
12
+ "types": "./contexts/VibeContext.d.ts",
13
+ "import": "./contexts/VibeContext.js"
10
14
  }
11
15
  },
12
16
  "license": "Apache-2.0",
13
17
  "dependencies": {
14
18
  "@adviser/cement": "0.5.2",
15
- "@fireproof/core-keybag": "0.24.0",
16
- "@fireproof/core-runtime": "0.24.0",
17
- "@fireproof/core-types-base": "0.24.0",
18
- "@fireproof/core-types-protocols-cloud": "0.24.0",
19
- "@vibes.diy/prompts": "^0.18.23-dev",
20
- "@vibes.diy/use-vibes-types": "^0.18.23-dev",
21
- "call-ai": "^0.18.23-dev",
19
+ "@clerk/clerk-react": "5.57.0",
20
+ "@clerk/shared": "3.36.0",
21
+ "@fireproof/core-keybag": "0.24.3-dev-ensure-cloud-token",
22
+ "@fireproof/core-protocols-dashboard": "0.24.3-dev-ensure-cloud-token",
23
+ "@fireproof/core-runtime": "0.24.3-dev-ensure-cloud-token",
24
+ "@fireproof/core-types-base": "0.24.3-dev-ensure-cloud-token",
25
+ "@fireproof/core-types-protocols-cloud": "0.24.3-dev-ensure-cloud-token",
26
+ "@vibes.diy/prompts": "^0.18.25-dev",
27
+ "@vibes.diy/use-vibes-types": "^0.18.25-dev",
28
+ "call-ai": "^0.18.25-dev",
22
29
  "jose": "6.1.2",
23
- "react-dom": "19.2.0",
24
- "use-fireproof": "0.24.0",
30
+ "react-dom": "19.2.1",
31
+ "use-fireproof": "0.24.3-dev-ensure-cloud-token",
25
32
  "zod": "4.1.13"
26
33
  },
27
34
  "peerDependencies": {