@vibes.diy/use-vibes-base 2.2.10 → 2.2.12
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.
|
@@ -11,28 +11,37 @@ export function useVibes(prompt, options = {}, callAI = defaultCallAI) {
|
|
|
11
11
|
progress: 0,
|
|
12
12
|
document: null,
|
|
13
13
|
});
|
|
14
|
-
const generationIdRef = useRef(
|
|
15
|
-
const mountedRef = useRef(true);
|
|
14
|
+
const generationIdRef = useRef(0);
|
|
16
15
|
const progressTimerRef = useRef(null);
|
|
17
16
|
const [regenerationTrigger, setRegenerationTrigger] = useState(0);
|
|
18
|
-
const
|
|
17
|
+
const clearProgressTimer = useCallback(() => {
|
|
18
|
+
if (progressTimerRef.current) {
|
|
19
|
+
clearTimeout(progressTimerRef.current);
|
|
20
|
+
progressTimerRef.current = null;
|
|
21
|
+
}
|
|
22
|
+
}, []);
|
|
23
|
+
const simulateProgress = useCallback((generationId, currentProgress = 0) => {
|
|
24
|
+
if (generationIdRef.current !== generationId) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
19
27
|
const increment = Math.random() * 20 + 10;
|
|
20
28
|
const newProgress = Math.min(currentProgress + increment, 90);
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
progressTimerRef.current = setTimeout(() => simulateProgress(newProgress), 100 + Math.random() * 200);
|
|
25
|
-
}
|
|
29
|
+
setState((prev) => ({ ...prev, progress: newProgress }));
|
|
30
|
+
if (newProgress < 90 && generationIdRef.current === generationId) {
|
|
31
|
+
progressTimerRef.current = setTimeout(() => simulateProgress(generationId, newProgress), 100 + Math.random() * 200);
|
|
26
32
|
}
|
|
27
33
|
}, []);
|
|
28
34
|
const regenerate = useCallback(() => {
|
|
29
|
-
generationIdRef.current
|
|
35
|
+
generationIdRef.current += 1;
|
|
30
36
|
setRegenerationTrigger((prev) => prev + 1);
|
|
31
37
|
}, []);
|
|
32
38
|
useEffect(() => {
|
|
33
|
-
|
|
34
|
-
|
|
39
|
+
let isCurrentGeneration = true;
|
|
40
|
+
const generationId = generationIdRef.current + 1;
|
|
41
|
+
generationIdRef.current = generationId;
|
|
42
|
+
const isGenerationActive = () => isCurrentGeneration && generationIdRef.current === generationId;
|
|
35
43
|
if (!prompt || typeof prompt !== "string" || prompt.trim().length === 0) {
|
|
44
|
+
clearProgressTimer();
|
|
36
45
|
setState((prev) => ({
|
|
37
46
|
...prev,
|
|
38
47
|
loading: false,
|
|
@@ -41,9 +50,13 @@ export function useVibes(prompt, options = {}, callAI = defaultCallAI) {
|
|
|
41
50
|
code: null,
|
|
42
51
|
progress: 0,
|
|
43
52
|
}));
|
|
44
|
-
return
|
|
53
|
+
return () => {
|
|
54
|
+
isCurrentGeneration = false;
|
|
55
|
+
clearProgressTimer();
|
|
56
|
+
};
|
|
45
57
|
}
|
|
46
58
|
if (options.skip) {
|
|
59
|
+
clearProgressTimer();
|
|
47
60
|
setState((prev) => ({
|
|
48
61
|
...prev,
|
|
49
62
|
loading: false,
|
|
@@ -52,16 +65,14 @@ export function useVibes(prompt, options = {}, callAI = defaultCallAI) {
|
|
|
52
65
|
code: null,
|
|
53
66
|
progress: 0,
|
|
54
67
|
}));
|
|
55
|
-
return
|
|
68
|
+
return () => {
|
|
69
|
+
isCurrentGeneration = false;
|
|
70
|
+
clearProgressTimer();
|
|
71
|
+
};
|
|
56
72
|
}
|
|
57
|
-
const generationId = Date.now().toString();
|
|
58
|
-
generationIdRef.current = generationId;
|
|
59
73
|
const generateComponent = async () => {
|
|
60
74
|
try {
|
|
61
|
-
|
|
62
|
-
clearTimeout(progressTimerRef.current);
|
|
63
|
-
progressTimerRef.current = null;
|
|
64
|
-
}
|
|
75
|
+
clearProgressTimer();
|
|
65
76
|
setState((prev) => ({
|
|
66
77
|
...prev,
|
|
67
78
|
loading: true,
|
|
@@ -70,7 +81,7 @@ export function useVibes(prompt, options = {}, callAI = defaultCallAI) {
|
|
|
70
81
|
App: null,
|
|
71
82
|
code: null,
|
|
72
83
|
}));
|
|
73
|
-
simulateProgress(0);
|
|
84
|
+
simulateProgress(generationId, 0);
|
|
74
85
|
let result;
|
|
75
86
|
try {
|
|
76
87
|
result = await makeBaseSystemPrompt(options.model || "anthropic/claude-sonnet-4.5", {
|
|
@@ -97,6 +108,9 @@ Return only the JSX code with a default export. Use modern React patterns with h
|
|
|
97
108
|
model: result.model,
|
|
98
109
|
timestamp: Date.now(),
|
|
99
110
|
};
|
|
111
|
+
if (!isGenerationActive()) {
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
100
114
|
const messages = [
|
|
101
115
|
{ role: "system", content: systemPrompt },
|
|
102
116
|
{ role: "user", content: prompt },
|
|
@@ -105,7 +119,7 @@ Return only the JSX code with a default export. Use modern React patterns with h
|
|
|
105
119
|
model: metadata.model,
|
|
106
120
|
max_tokens: 2000,
|
|
107
121
|
});
|
|
108
|
-
if (
|
|
122
|
+
if (!isGenerationActive()) {
|
|
109
123
|
return;
|
|
110
124
|
}
|
|
111
125
|
const rawResponse = typeof aiResponse === "string" ? aiResponse : "";
|
|
@@ -141,7 +155,7 @@ Return only the JSX code with a default export. Use modern React patterns with h
|
|
|
141
155
|
}));
|
|
142
156
|
}
|
|
143
157
|
catch (error) {
|
|
144
|
-
if (
|
|
158
|
+
if (!isGenerationActive()) {
|
|
145
159
|
return;
|
|
146
160
|
}
|
|
147
161
|
setState((prev) => ({
|
|
@@ -151,24 +165,18 @@ Return only the JSX code with a default export. Use modern React patterns with h
|
|
|
151
165
|
progress: 0,
|
|
152
166
|
}));
|
|
153
167
|
}
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
clearTimeout(progressTimerRef.current);
|
|
159
|
-
progressTimerRef.current = null;
|
|
168
|
+
finally {
|
|
169
|
+
if (generationIdRef.current === generationId) {
|
|
170
|
+
clearProgressTimer();
|
|
171
|
+
}
|
|
160
172
|
}
|
|
161
173
|
};
|
|
162
|
-
|
|
163
|
-
useEffect(() => {
|
|
164
|
-
mountedRef.current = true;
|
|
174
|
+
void generateComponent();
|
|
165
175
|
return () => {
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
clearTimeout(progressTimerRef.current);
|
|
169
|
-
}
|
|
176
|
+
isCurrentGeneration = false;
|
|
177
|
+
clearProgressTimer();
|
|
170
178
|
};
|
|
171
|
-
}, []);
|
|
179
|
+
}, [prompt, JSON.stringify(options), callAI, clearProgressTimer, simulateProgress, regenerationTrigger]);
|
|
172
180
|
return {
|
|
173
181
|
App: state.App,
|
|
174
182
|
code: state.code,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-vibes.js","sourceRoot":"","sources":["../../../jsr/hooks/vibes-gen/use-vibes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAExE,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxE,OAAO,oBAAoB,MAAM,2BAA2B,CAAC;AAM7D,MAAM,UAAU,QAAQ,CACtB,MAAc,EACd,OAAO,GAAoB,EAAE,EAC7B,MAAM,GAAyB,aAAa;IAG5C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAgB;QAChD,GAAG,EAAE,IAAI;QACT,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,CAAC;QACX,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC;IAGH,MAAM,eAAe,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"use-vibes.js","sourceRoot":"","sources":["../../../jsr/hooks/vibes-gen/use-vibes.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibes.diy/use-vibes-base",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.12",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./index.js",
|
|
6
6
|
"description": "Core components and utilities for use-vibes (internal workspace package)",
|
|
@@ -18,12 +18,12 @@
|
|
|
18
18
|
"@fireproof/core-types-base": "~0.24.19",
|
|
19
19
|
"@fireproof/core-types-protocols-cloud": "~0.24.19",
|
|
20
20
|
"@fireproof/use-fireproof": "~0.24.19",
|
|
21
|
-
"@vibes.diy/base": "^2.2.
|
|
22
|
-
"@vibes.diy/prompts": "^2.2.
|
|
23
|
-
"@vibes.diy/use-vibes-types": "^2.2.
|
|
24
|
-
"@vibes.diy/vibe-runtime": "^2.2.
|
|
21
|
+
"@vibes.diy/base": "^2.2.12",
|
|
22
|
+
"@vibes.diy/prompts": "^2.2.12",
|
|
23
|
+
"@vibes.diy/use-vibes-types": "^2.2.12",
|
|
24
|
+
"@vibes.diy/vibe-runtime": "^2.2.12",
|
|
25
25
|
"arktype": "~2.2.0",
|
|
26
|
-
"call-ai": "^2.2.
|
|
26
|
+
"call-ai": "^2.2.12",
|
|
27
27
|
"jose": "~6.2.2",
|
|
28
28
|
"react-dom": "~19.2.5",
|
|
29
29
|
"zod": "~4.3.6"
|