@vibes.diy/base 2.2.9 → 2.2.11
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/components/ExpandedVibesPill.d.ts +3 -1
- package/components/ExpandedVibesPill.js +76 -11
- package/components/ExpandedVibesPill.js.map +1 -1
- package/components/ImgGen.d.ts +16 -0
- package/components/{ImgVibes.js → ImgGen.js} +12 -9
- package/components/ImgGen.js.map +1 -0
- package/hooks/img-gen/index.d.ts +2 -0
- package/hooks/img-gen/index.js +3 -0
- package/hooks/img-gen/index.js.map +1 -0
- package/hooks/img-gen/use-img-gen.d.ts +7 -0
- package/hooks/img-gen/use-img-gen.js +109 -0
- package/hooks/img-gen/use-img-gen.js.map +1 -0
- package/hooks/{img-vibes → img-gen}/utils.d.ts +7 -4
- package/hooks/{img-vibes → img-gen}/utils.js +18 -2
- package/hooks/img-gen/utils.js.map +1 -0
- package/index.d.ts +4 -8
- package/index.js +2 -5
- package/index.js.map +1 -1
- package/package.json +4 -3
- package/components/ImgVibes.d.ts +0 -15
- package/components/ImgVibes.js.map +0 -1
- package/components/ImgVibesUtils/AsyncImg.d.ts +0 -7
- package/components/ImgVibesUtils/AsyncImg.js +0 -41
- package/components/ImgVibesUtils/AsyncImg.js.map +0 -1
- package/components/ImgVibesUtils/ImgVibesDisplay.d.ts +0 -3
- package/components/ImgVibesUtils/ImgVibesDisplay.js +0 -230
- package/components/ImgVibesUtils/ImgVibesDisplay.js.map +0 -1
- package/components/ImgVibesUtils/ImgVibesDisplayPlaceholder.d.ts +0 -3
- package/components/ImgVibesUtils/ImgVibesDisplayPlaceholder.js +0 -97
- package/components/ImgVibesUtils/ImgVibesDisplayPlaceholder.js.map +0 -1
- package/components/ImgVibesUtils/ImgVibesDisplayUtils.d.ts +0 -27
- package/components/ImgVibesUtils/ImgVibesDisplayUtils.js +0 -90
- package/components/ImgVibesUtils/ImgVibesDisplayUtils.js.map +0 -1
- package/components/ImgVibesUtils/ImgVibesError.d.ts +0 -3
- package/components/ImgVibesUtils/ImgVibesError.js +0 -9
- package/components/ImgVibesUtils/ImgVibesError.js.map +0 -1
- package/components/ImgVibesUtils/ImgVibesFileDrop.d.ts +0 -11
- package/components/ImgVibesUtils/ImgVibesFileDrop.js +0 -56
- package/components/ImgVibesUtils/ImgVibesFileDrop.js.map +0 -1
- package/components/ImgVibesUtils/ImgVibesModal.d.ts +0 -25
- package/components/ImgVibesUtils/ImgVibesModal.js +0 -67
- package/components/ImgVibesUtils/ImgVibesModal.js.map +0 -1
- package/components/ImgVibesUtils/ImgVibesModeUtils.d.ts +0 -9
- package/components/ImgVibesUtils/ImgVibesModeUtils.js +0 -58
- package/components/ImgVibesUtils/ImgVibesModeUtils.js.map +0 -1
- package/components/ImgVibesUtils/ImgVibesPromptWaiting.d.ts +0 -11
- package/components/ImgVibesUtils/ImgVibesPromptWaiting.js +0 -40
- package/components/ImgVibesUtils/ImgVibesPromptWaiting.js.map +0 -1
- package/components/ImgVibesUtils/ImgVibesUploadWaiting.d.ts +0 -16
- package/components/ImgVibesUtils/ImgVibesUploadWaiting.js +0 -154
- package/components/ImgVibesUtils/ImgVibesUploadWaiting.js.map +0 -1
- package/components/ImgVibesUtils/index.d.ts +0 -6
- package/components/ImgVibesUtils/index.js +0 -7
- package/components/ImgVibesUtils/index.js.map +0 -1
- package/components/ImgVibesUtils/overlays/DeleteConfirmationOverlay.d.ts +0 -9
- package/components/ImgVibesUtils/overlays/DeleteConfirmationOverlay.js +0 -31
- package/components/ImgVibesUtils/overlays/DeleteConfirmationOverlay.js.map +0 -1
- package/components/ImgVibesUtils/overlays/ImageOverlay.d.ts +0 -22
- package/components/ImgVibesUtils/overlays/ImageOverlay.js +0 -11
- package/components/ImgVibesUtils/overlays/ImageOverlay.js.map +0 -1
- package/components/ImgVibesUtils/types.d.ts +0 -29
- package/components/ImgVibesUtils/types.js +0 -2
- package/components/ImgVibesUtils/types.js.map +0 -1
- package/components/ImgVibesUtils.d.ts +0 -2
- package/components/ImgVibesUtils.js +0 -3
- package/components/ImgVibesUtils.js.map +0 -1
- package/hooks/img-vibes/index.d.ts +0 -1
- package/hooks/img-vibes/index.js +0 -2
- package/hooks/img-vibes/index.js.map +0 -1
- package/hooks/img-vibes/use-img-vibes.d.ts +0 -2
- package/hooks/img-vibes/use-img-vibes.js +0 -96
- package/hooks/img-vibes/use-img-vibes.js.map +0 -1
- package/hooks/img-vibes/utils.js.map +0 -1
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
import { useState, useEffect, useRef } from "react";
|
|
2
|
-
import { useFireproof } from "@fireproof/use-fireproof";
|
|
3
|
-
import { imgVibes } from "@vibes.diy/vibe-runtime";
|
|
4
|
-
import { addNewVersion } from "./utils.js";
|
|
5
|
-
export function useImgVibes({ prompt, _id, database = "ImgVibes", skip = false, generationId, inputImage, model, }) {
|
|
6
|
-
const [assetUrl, setAssetUrl] = useState(null);
|
|
7
|
-
const [loading, setLoading] = useState(false);
|
|
8
|
-
const [progress, setProgress] = useState(0);
|
|
9
|
-
const [error, setError] = useState(null);
|
|
10
|
-
const [document, setDocument] = useState(null);
|
|
11
|
-
const { database: db } = useFireproof(database ?? "ImgVibes");
|
|
12
|
-
const currentGenRef = useRef(null);
|
|
13
|
-
useEffect(() => {
|
|
14
|
-
if (skip || !_id)
|
|
15
|
-
return;
|
|
16
|
-
const genKey = `${_id}-${generationId ?? ""}-${inputImage?.name ?? ""}${inputImage?.lastModified ?? ""}-${model ?? ""}`;
|
|
17
|
-
if (currentGenRef.current === genKey)
|
|
18
|
-
return;
|
|
19
|
-
currentGenRef.current = genKey;
|
|
20
|
-
const isRegen = !!generationId;
|
|
21
|
-
async function run() {
|
|
22
|
-
if (!_id)
|
|
23
|
-
return;
|
|
24
|
-
let existingDoc = null;
|
|
25
|
-
try {
|
|
26
|
-
existingDoc = (await db.get(_id));
|
|
27
|
-
}
|
|
28
|
-
catch {
|
|
29
|
-
}
|
|
30
|
-
const currentVer = existingDoc?.versions?.[existingDoc?.currentVersion ?? 0];
|
|
31
|
-
const modelMatch = !model || currentVer?.model === model;
|
|
32
|
-
if (existingDoc?.versions?.length && !isRegen && !inputImage && modelMatch) {
|
|
33
|
-
const ver = existingDoc.versions[existingDoc.currentVersion ?? 0];
|
|
34
|
-
if (ver?.assetUrl) {
|
|
35
|
-
setDocument(existingDoc);
|
|
36
|
-
setAssetUrl(ver.assetUrl);
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
const promptText = prompt ?? existingDoc?.prompt;
|
|
41
|
-
if (!promptText) {
|
|
42
|
-
if (existingDoc)
|
|
43
|
-
setDocument(existingDoc);
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
if (!imgVibes) {
|
|
47
|
-
setError(new Error("imgVibes not available — vibe-runtime not initialized"));
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
setLoading(true);
|
|
51
|
-
setProgress(10);
|
|
52
|
-
setError(null);
|
|
53
|
-
try {
|
|
54
|
-
const urls = await imgVibes(promptText, inputImage, model);
|
|
55
|
-
const imageUrl = urls[0];
|
|
56
|
-
if (!imageUrl)
|
|
57
|
-
throw new Error("No image URL received from service");
|
|
58
|
-
setAssetUrl(imageUrl);
|
|
59
|
-
setProgress(90);
|
|
60
|
-
if (existingDoc?._id && (isRegen || !modelMatch)) {
|
|
61
|
-
const fresh = (await db.get(existingDoc._id));
|
|
62
|
-
const updated = addNewVersion(fresh, imageUrl, promptText, model);
|
|
63
|
-
await db.put(updated);
|
|
64
|
-
const saved = (await db.get(existingDoc._id));
|
|
65
|
-
setDocument(saved);
|
|
66
|
-
}
|
|
67
|
-
else {
|
|
68
|
-
const now = Date.now();
|
|
69
|
-
await db.put({
|
|
70
|
-
_id,
|
|
71
|
-
type: "image",
|
|
72
|
-
prompt: promptText,
|
|
73
|
-
created: now,
|
|
74
|
-
currentVersion: 0,
|
|
75
|
-
versions: [{ id: "v1", created: now, promptKey: "p1", assetUrl: imageUrl, ...(model ? { model } : {}) }],
|
|
76
|
-
currentPromptKey: "p1",
|
|
77
|
-
prompts: { p1: { text: promptText, created: now } },
|
|
78
|
-
});
|
|
79
|
-
const saved = (await db.get(_id));
|
|
80
|
-
setDocument(saved);
|
|
81
|
-
}
|
|
82
|
-
setProgress(100);
|
|
83
|
-
setLoading(false);
|
|
84
|
-
}
|
|
85
|
-
catch (err) {
|
|
86
|
-
console.error("[ImgVibes] Image generation failed:", err);
|
|
87
|
-
setError(err instanceof Error ? err : new Error(String(err)));
|
|
88
|
-
setLoading(false);
|
|
89
|
-
currentGenRef.current = null;
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
run();
|
|
93
|
-
}, [_id, prompt, generationId, skip, db, inputImage, model]);
|
|
94
|
-
return { assetUrl, loading, progress, error, document };
|
|
95
|
-
}
|
|
96
|
-
//# sourceMappingURL=use-img-vibes.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-img-vibes.js","sourceRoot":"","sources":["../../../jsr/hooks/img-vibes/use-img-vibes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../jsr/hooks/img-vibes/utils.ts"],"names":[],"mappings":"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"}
|