@vibes.diy/use-vibes-base 3.0.4 → 4.0.3
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/contexts/VibeContext.d.ts +1 -1
- package/contexts/VibeContext.js +0 -5
- package/contexts/VibeContext.js.map +1 -1
- package/index.d.ts +1 -22
- package/index.js +1 -92
- package/index.js.map +1 -1
- package/package.json +8 -13
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { type ReactNode } from "react";
|
|
2
2
|
import { VibesDiyMountParams } from "../index.js";
|
|
3
3
|
import { useClerk } from "@clerk/react";
|
|
4
|
-
import { Database } from "@
|
|
4
|
+
import type { Database } from "@vibes.diy/vibe-runtime";
|
|
5
5
|
import { ReturnOnFunc } from "@adviser/cement";
|
|
6
6
|
export declare const VIBE_METADATA_ERROR_CODES: {
|
|
7
7
|
readonly TITLEID_EMPTY: "TITLEID_EMPTY";
|
package/contexts/VibeContext.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import React, { createContext, useContext } from "react";
|
|
2
2
|
import { type } from "arktype";
|
|
3
|
-
import { injectDefaultVibesCtx } from "../index.js";
|
|
4
3
|
import { clerkDashApi } from "@vibes.diy/identity";
|
|
5
4
|
import { ClerkProvider, useClerk } from "@clerk/react";
|
|
6
5
|
import { OnFunc } from "@adviser/cement";
|
|
@@ -25,9 +24,6 @@ class DefVibe {
|
|
|
25
24
|
#notReady(action) {
|
|
26
25
|
throw new Error(`Vibe Provider is not Ready: ${action}`);
|
|
27
26
|
}
|
|
28
|
-
fpCloudStrategie() {
|
|
29
|
-
return this.#notReady("fpCloudStrategie");
|
|
30
|
-
}
|
|
31
27
|
onDatabaseOpen = ((_fn) => {
|
|
32
28
|
return this.#notReady("onDatabaseOpen");
|
|
33
29
|
});
|
|
@@ -69,7 +65,6 @@ function LiveCycleVibeContextProvider({ mountParams, children }) {
|
|
|
69
65
|
},
|
|
70
66
|
...mountParams,
|
|
71
67
|
};
|
|
72
|
-
injectDefaultVibesCtx(ctx);
|
|
73
68
|
return React.createElement(VibeContext.Provider, { value: ctx }, children);
|
|
74
69
|
}
|
|
75
70
|
export function VibeContextProvider({ mountParams, children }) {
|
|
@@ -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,IAAI,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"VibeContext.js","sourceRoot":"","sources":["../../jsr/contexts/VibeContext.tsx"],"names":[],"mappings":"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"}
|
package/index.d.ts
CHANGED
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
import type { ToCloudAttachable, TokenStrategie } from "@fireproof/core-types-protocols-cloud";
|
|
2
|
-
import { Attached, ImgFile, UseFireproof, UseFPConfig, type Database, type UseFpToCloudParam } from "@fireproof/use-fireproof";
|
|
3
|
-
import { Vibe } from "./contexts/VibeContext.js";
|
|
4
1
|
import { callAI } from "call-ai";
|
|
5
2
|
export * from "./contexts/VibeContext.js";
|
|
6
|
-
export { ImgFile };
|
|
7
3
|
export { fireproof, type FireproofOpts } from "./fireproof-node.js";
|
|
8
|
-
export
|
|
4
|
+
export { useFireproof } from "@vibes.diy/vibe-runtime";
|
|
9
5
|
export declare const vibesEnvSchema: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
10
6
|
FPCLOUD_URL: string;
|
|
11
7
|
DASHBOARD_URL: string;
|
|
@@ -36,23 +32,6 @@ export declare const vibesDiyMountParams: import("arktype/internal/variants/obje
|
|
|
36
32
|
};
|
|
37
33
|
}, {}>;
|
|
38
34
|
export type VibesDiyMountParams = typeof vibesDiyMountParams.infer;
|
|
39
|
-
interface ToCloudWithClerkOpts extends UseFpToCloudParam {
|
|
40
|
-
readonly env: VibesEnv;
|
|
41
|
-
readonly fpCloudStrategie?: TokenStrategie;
|
|
42
|
-
}
|
|
43
|
-
export declare function injectDefaultVibesCtx(ctx: Vibe): void;
|
|
44
|
-
export declare function toCloud(iopts?: ToCloudWithClerkOpts): ToCloudAttachable;
|
|
45
|
-
export interface AttachState {
|
|
46
|
-
readonly state: "detached" | "attaching" | "attached" | "detaching" | "error";
|
|
47
|
-
readonly error?: Error;
|
|
48
|
-
readonly attach?: Attached;
|
|
49
|
-
}
|
|
50
|
-
export interface UseVibesFireproof extends UseFireproof {
|
|
51
|
-
readonly doAttach: () => void;
|
|
52
|
-
readonly doDetach: () => void;
|
|
53
|
-
readonly attachState: AttachState;
|
|
54
|
-
}
|
|
55
|
-
export declare function useFireproof(nameOrDatabase: string | Database, config?: UseFPConfig): UseVibesFireproof;
|
|
56
35
|
export { callAI, callAI as callAi };
|
|
57
36
|
export type * as CallAI from "call-ai";
|
|
58
37
|
export { useThemeDetection } from "./hooks/useThemeDetection.js";
|
package/index.js
CHANGED
|
@@ -1,13 +1,8 @@
|
|
|
1
|
-
import { useCallback, useEffect, useState } from "react";
|
|
2
|
-
import { ImgFile, isDatabase, toCloud as originalToCloud, useFireproof as originalUseFireproof, } from "@fireproof/use-fireproof";
|
|
3
|
-
import { useVibeContext } from "./contexts/VibeContext.js";
|
|
4
|
-
import { constructVibesDatabaseName } from "./utils/databaseName.js";
|
|
5
1
|
import { callAI } from "call-ai";
|
|
6
|
-
import { ResolveOnce } from "@adviser/cement";
|
|
7
2
|
import { type } from "arktype";
|
|
8
3
|
export * from "./contexts/VibeContext.js";
|
|
9
|
-
export { ImgFile };
|
|
10
4
|
export { fireproof } from "./fireproof-node.js";
|
|
5
|
+
export { useFireproof } from "@vibes.diy/vibe-runtime";
|
|
11
6
|
export const vibesEnvSchema = type({
|
|
12
7
|
FPCLOUD_URL: "string",
|
|
13
8
|
DASHBOARD_URL: "string",
|
|
@@ -25,92 +20,6 @@ export const vibesDiyMountParams = type({
|
|
|
25
20
|
bindings: vibeBindings,
|
|
26
21
|
env: vibeEnv.and(vibesEnvSchema),
|
|
27
22
|
});
|
|
28
|
-
let injectedVibesCtx = undefined;
|
|
29
|
-
function defVibesCtx() {
|
|
30
|
-
if (!injectedVibesCtx) {
|
|
31
|
-
throw new Error("VibesCtx not injected. Please call injectDefaultVibes");
|
|
32
|
-
}
|
|
33
|
-
return injectedVibesCtx;
|
|
34
|
-
}
|
|
35
|
-
export function injectDefaultVibesCtx(ctx) {
|
|
36
|
-
injectedVibesCtx = ctx;
|
|
37
|
-
}
|
|
38
|
-
export function toCloud(iopts) {
|
|
39
|
-
const defCtx = defVibesCtx();
|
|
40
|
-
const opts = {
|
|
41
|
-
...defCtx,
|
|
42
|
-
...iopts,
|
|
43
|
-
};
|
|
44
|
-
const attachable = originalToCloud({
|
|
45
|
-
strategy: opts.strategy,
|
|
46
|
-
dashboardURI: opts.env.DASHBOARD_URL,
|
|
47
|
-
urls: { base: opts.env.FPCLOUD_URL },
|
|
48
|
-
});
|
|
49
|
-
return attachable;
|
|
50
|
-
}
|
|
51
|
-
export function useFireproof(nameOrDatabase, config) {
|
|
52
|
-
const vibeCtx = useVibeContext();
|
|
53
|
-
let dbName;
|
|
54
|
-
if (isDatabase(nameOrDatabase)) {
|
|
55
|
-
dbName = nameOrDatabase.ledger.ctx.get("UseVibes.AppId") || nameOrDatabase.name;
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
dbName = constructVibesDatabaseName(vibeCtx.bindings, nameOrDatabase);
|
|
59
|
-
}
|
|
60
|
-
let fpRet;
|
|
61
|
-
if (isDatabase(nameOrDatabase)) {
|
|
62
|
-
fpRet = originalUseFireproof(nameOrDatabase, config);
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
fpRet = originalUseFireproof(dbName, config);
|
|
66
|
-
}
|
|
67
|
-
if (!fpRet.database.ledger.ctx.get("UseVibes.AppId")) {
|
|
68
|
-
fpRet.database.ledger.ctx.set("UseVibes.AppId", dbName);
|
|
69
|
-
}
|
|
70
|
-
if (!fpRet.database.ledger.ctx.get("UseVibes.Mutex")) {
|
|
71
|
-
fpRet.database.ledger.ctx.set("UseVibes.Mutex", new ResolveOnce());
|
|
72
|
-
}
|
|
73
|
-
const mutexAttachState = fpRet.database.ledger.ctx.get("UseVibes.Mutex");
|
|
74
|
-
const [attachState, setAttachState] = useState({ state: "detached" });
|
|
75
|
-
const doAttach = useCallback(() => {
|
|
76
|
-
if (!vibeCtx.sessionReady()) {
|
|
77
|
-
console.error("Session not ready for attach");
|
|
78
|
-
setAttachState({ state: "error", error: new Error("Session not ready for attach") });
|
|
79
|
-
}
|
|
80
|
-
setAttachState({ state: "attaching" });
|
|
81
|
-
}, []);
|
|
82
|
-
const doDetach = useCallback(() => {
|
|
83
|
-
if (attachState.state !== "attached") {
|
|
84
|
-
return;
|
|
85
|
-
}
|
|
86
|
-
setAttachState({ ...attachState, state: "detaching" });
|
|
87
|
-
mutexAttachState.reset(() => {
|
|
88
|
-
attachState.attach
|
|
89
|
-
?.detach()
|
|
90
|
-
.then(() => {
|
|
91
|
-
setAttachState({ state: "detached" });
|
|
92
|
-
})
|
|
93
|
-
.catch((err) => {
|
|
94
|
-
console.error("Database detach failed:", err);
|
|
95
|
-
setAttachState({ state: "error", error: err });
|
|
96
|
-
});
|
|
97
|
-
});
|
|
98
|
-
}, []);
|
|
99
|
-
useEffect(() => {
|
|
100
|
-
if (vibeCtx.sessionReady()) {
|
|
101
|
-
doAttach();
|
|
102
|
-
}
|
|
103
|
-
else {
|
|
104
|
-
doDetach();
|
|
105
|
-
}
|
|
106
|
-
});
|
|
107
|
-
return {
|
|
108
|
-
...fpRet,
|
|
109
|
-
doAttach,
|
|
110
|
-
doDetach,
|
|
111
|
-
attachState,
|
|
112
|
-
};
|
|
113
|
-
}
|
|
114
23
|
export { callAI, callAI as callAi };
|
|
115
24
|
export { useThemeDetection } from "./hooks/useThemeDetection.js";
|
|
116
25
|
export { useMobile } from "./hooks/useMobile.js";
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../jsr/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../jsr/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,cAAc,2BAA2B,CAAC;AAE1C,OAAO,EAAE,SAAS,EAAsB,MAAM,qBAAqB,CAAC;AAKpE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC;IACjC,WAAW,EAAE,QAAQ;IACrB,aAAa,EAAE,QAAQ;IAKvB,oBAAoB,EAAE,QAAQ;CAC/B,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,CAAC,wBAAwB,CAAC,CAAC;AAGtD,MAAM,WAAW,GAAG,4DAA4D,CAAC;AAEjF,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC;IAC/B,OAAO,EAAE,WAAW;IACpB,WAAW,EAAE,WAAW;IACxB,IAAI,EAAE,WAAW;IACjB,UAAU,EAAE,WAAW;CACxB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC;IACtC,QAAQ,EAAE,YAAY;IACtB,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;CACjC,CAAC,CAAC;AAKH,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,MAAM,EAAE,CAAC;AAQpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAKjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAQrE,OAAO,EAAE,SAAS,EAAwB,MAAM,yBAAyB,CAAC;AAK1E,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,qBAAqB,EACrB,2BAA2B,GAE5B,MAAM,yBAAyB,CAAC;AAKjC,OAAO,EACL,UAAU,EACV,aAAa,EACb,oBAAoB,EACpB,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,EACxB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibes.diy/use-vibes-base",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./index.js",
|
|
6
6
|
"description": "Core components and utilities for use-vibes (internal workspace package)",
|
|
@@ -11,19 +11,14 @@
|
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@adviser/cement": "~0.5.34",
|
|
13
13
|
"@clerk/react": "~6.11.1",
|
|
14
|
-
"@
|
|
15
|
-
"@
|
|
16
|
-
"@
|
|
17
|
-
"@
|
|
18
|
-
"@
|
|
19
|
-
"@vibes.diy/
|
|
20
|
-
"@vibes.diy/base": "^3.0.4",
|
|
21
|
-
"@vibes.diy/identity": "^3.0.4",
|
|
22
|
-
"@vibes.diy/prompts": "^3.0.4",
|
|
23
|
-
"@vibes.diy/use-vibes-types": "^3.0.4",
|
|
24
|
-
"@vibes.diy/vibe-runtime": "^3.0.4",
|
|
14
|
+
"@vibes.diy/api-impl": "^4.0.3",
|
|
15
|
+
"@vibes.diy/base": "^4.0.3",
|
|
16
|
+
"@vibes.diy/identity": "^4.0.3",
|
|
17
|
+
"@vibes.diy/prompts": "^4.0.3",
|
|
18
|
+
"@vibes.diy/use-vibes-types": "^4.0.3",
|
|
19
|
+
"@vibes.diy/vibe-runtime": "^4.0.3",
|
|
25
20
|
"arktype": "~2.2.1",
|
|
26
|
-
"call-ai": "^
|
|
21
|
+
"call-ai": "^4.0.3",
|
|
27
22
|
"jose": "~6.2.2",
|
|
28
23
|
"react-dom": "~19.2.7",
|
|
29
24
|
"zod": "~4.4.3"
|