@kw-yeh/vibeflow 4.11.7 → 4.11.9
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/dist/vibeflow.mjs +16 -6
- package/dist/web/404/index.html +1 -1
- package/dist/web/404.html +1 -1
- package/dist/web/_next/static/{AL1QyoqCCgeSmCuXjRjlt → bLScLUyqbuPZ2hYp8Nd3L}/_buildManifest.js +1 -1
- package/dist/web/_next/static/chunks/pages/home-b6c7635a054e4108.js +13 -0
- package/dist/web/_next/static/css/{5f3c53d33770cfd3.css → ac1238c212a3d10f.css} +1 -1
- package/dist/web/home/index.html +1 -1
- package/package.json +1 -1
- package/dist/web/_next/static/chunks/pages/home-eba63a6154699b8e.js +0 -13
- /package/dist/web/_next/static/{AL1QyoqCCgeSmCuXjRjlt → bLScLUyqbuPZ2hYp8Nd3L}/_ssgManifest.js +0 -0
package/dist/vibeflow.mjs
CHANGED
|
@@ -5586,13 +5586,14 @@ function createJevRouter(opts = {}) {
|
|
|
5586
5586
|
get enabled() {
|
|
5587
5587
|
return Boolean(getApiKey());
|
|
5588
5588
|
},
|
|
5589
|
-
async route(task, catalog) {
|
|
5589
|
+
async route(task, catalog, onPhase) {
|
|
5590
5590
|
const agent = task.agentCli === "codex" ? "codex" : "claude";
|
|
5591
5591
|
const candidates = routeCandidates(agent, catalog);
|
|
5592
5592
|
if (candidates.length === 0) return { status: "fallback", reason: "\u6A21\u578B\u6E05\u55AE\u6C92\u6709\u53EF\u7528\u7684\u6A21\u578B" };
|
|
5593
5593
|
const expensive = candidates[candidates.length - 1];
|
|
5594
5594
|
const taskText = buildPrompt(task).slice(0, MAX_TASK_CHARS);
|
|
5595
5595
|
try {
|
|
5596
|
+
onPhase?.("judging");
|
|
5596
5597
|
const first = await ask({ task: taskText, agent }, {
|
|
5597
5598
|
complexity: {
|
|
5598
5599
|
type: "choice",
|
|
@@ -5616,12 +5617,14 @@ function createJevRouter(opts = {}) {
|
|
|
5616
5617
|
let plan;
|
|
5617
5618
|
if (first.preparation.choice === "plan") {
|
|
5618
5619
|
if (!task.worktreePath) throw new Error("\u898F\u5283\u6642\u627E\u4E0D\u5230 worktree");
|
|
5620
|
+
onPhase?.("planning");
|
|
5619
5621
|
const instruction = `Read the repository and make a concise implementation plan for the following task. Do not edit files. Identify unclear requirements, affected areas, and verification. Return only the plan.
|
|
5620
5622
|
|
|
5621
5623
|
${taskText}`;
|
|
5622
5624
|
plan = (await planner(agent, expensive.id, instruction, task.worktreePath)).trim().slice(0, MAX_PLAN_CHARS);
|
|
5623
5625
|
if (!plan) throw new Error("\u898F\u5283\u6A21\u578B\u6C92\u6709\u56DE\u50B3\u8A08\u756B");
|
|
5624
5626
|
}
|
|
5627
|
+
onPhase?.("selecting");
|
|
5625
5628
|
const options = Object.fromEntries(candidates.map((m) => [
|
|
5626
5629
|
m.id,
|
|
5627
5630
|
`${m.label}; relative cost tier ${tier(m, agent) + 1}/3 (${tier(m, agent) === 2 ? "highest capability" : tier(m, agent) === 0 ? "lowest cost" : "balanced"})`
|
|
@@ -7045,17 +7048,24 @@ function createCore({ sessions, bus, version, homeDir, ghRunner, githubAuthStatu
|
|
|
7045
7048
|
const settings = getSettings();
|
|
7046
7049
|
const library = await libraryLaunchInfo(task.worktreePath);
|
|
7047
7050
|
const boardCli = await boardCliLaunchInfo();
|
|
7048
|
-
let route = task.model?.trim() ? void 0 : task.jevRoute;
|
|
7051
|
+
let route = task.model?.trim() || task.jevRoute?.status === "routing" ? void 0 : task.jevRoute;
|
|
7049
7052
|
if (!task.model?.trim() && !intent.resume && intent.includeTaskPrompt !== false) {
|
|
7050
7053
|
let pending = routing.get(task.id);
|
|
7051
7054
|
if (!pending) {
|
|
7055
|
+
const setRoute = (jevRoute) => {
|
|
7056
|
+
updateTask(task.id, { jevRoute });
|
|
7057
|
+
bus.emit("state:changed", getState());
|
|
7058
|
+
};
|
|
7052
7059
|
pending = (async () => {
|
|
7060
|
+
setRoute({ status: "routing", phase: "judging" });
|
|
7053
7061
|
const candidateModels = (await (router.enabled === false ? models.get(taskAgent(task)) : models.refresh(taskAgent(task)))).models;
|
|
7054
|
-
const selected = await router.route(task, candidateModels);
|
|
7055
|
-
|
|
7056
|
-
bus.emit("state:changed", getState());
|
|
7062
|
+
const selected = await router.route(task, candidateModels, (phase) => setRoute({ status: "routing", phase }));
|
|
7063
|
+
setRoute(selected);
|
|
7057
7064
|
return selected;
|
|
7058
|
-
})().
|
|
7065
|
+
})().catch((err) => {
|
|
7066
|
+
setRoute(void 0);
|
|
7067
|
+
throw err;
|
|
7068
|
+
}).finally(() => routing.delete(task.id));
|
|
7059
7069
|
routing.set(task.id, pending);
|
|
7060
7070
|
}
|
|
7061
7071
|
route = await pending;
|
package/dist/web/404/index.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><link rel="icon" href="/favicon.ico" sizes="any" data-next-head=""/><link rel="icon" href="/logo.svg" type="image/svg+xml" data-next-head=""/><link rel="apple-touch-icon" href="/apple-touch-icon.png" data-next-head=""/><title data-next-head="">404: This page could not be found</title><link rel="preload" href="/_next/static/css/
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><link rel="icon" href="/favicon.ico" sizes="any" data-next-head=""/><link rel="icon" href="/logo.svg" type="image/svg+xml" data-next-head=""/><link rel="apple-touch-icon" href="/apple-touch-icon.png" data-next-head=""/><title data-next-head="">404: This page could not be found</title><link rel="preload" href="/_next/static/css/ac1238c212a3d10f.css" as="style"/><link rel="stylesheet" href="/_next/static/css/ac1238c212a3d10f.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-33344f7100190436.js" defer=""></script><script src="/_next/static/chunks/framework-b92a367cf1ad4bf7.js" defer=""></script><script src="/_next/static/chunks/main-ec7fd4c371d06729.js" defer=""></script><script src="/_next/static/chunks/pages/_app-33cd991a71572ffc.js" defer=""></script><script src="/_next/static/chunks/pages/_error-8f65b0f8749f42d2.js" defer=""></script><script src="/_next/static/bLScLUyqbuPZ2hYp8Nd3L/_buildManifest.js" defer=""></script><script src="/_next/static/bLScLUyqbuPZ2hYp8Nd3L/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">This page could not be found<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404}},"page":"/_error","query":{},"buildId":"bLScLUyqbuPZ2hYp8Nd3L","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
|
package/dist/web/404.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><link rel="icon" href="/favicon.ico" sizes="any" data-next-head=""/><link rel="icon" href="/logo.svg" type="image/svg+xml" data-next-head=""/><link rel="apple-touch-icon" href="/apple-touch-icon.png" data-next-head=""/><title data-next-head="">404: This page could not be found</title><link rel="preload" href="/_next/static/css/
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><link rel="icon" href="/favicon.ico" sizes="any" data-next-head=""/><link rel="icon" href="/logo.svg" type="image/svg+xml" data-next-head=""/><link rel="apple-touch-icon" href="/apple-touch-icon.png" data-next-head=""/><title data-next-head="">404: This page could not be found</title><link rel="preload" href="/_next/static/css/ac1238c212a3d10f.css" as="style"/><link rel="stylesheet" href="/_next/static/css/ac1238c212a3d10f.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-33344f7100190436.js" defer=""></script><script src="/_next/static/chunks/framework-b92a367cf1ad4bf7.js" defer=""></script><script src="/_next/static/chunks/main-ec7fd4c371d06729.js" defer=""></script><script src="/_next/static/chunks/pages/_app-33cd991a71572ffc.js" defer=""></script><script src="/_next/static/chunks/pages/_error-8f65b0f8749f42d2.js" defer=""></script><script src="/_next/static/bLScLUyqbuPZ2hYp8Nd3L/_buildManifest.js" defer=""></script><script src="/_next/static/bLScLUyqbuPZ2hYp8Nd3L/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">This page could not be found<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404}},"page":"/_error","query":{},"buildId":"bLScLUyqbuPZ2hYp8Nd3L","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
|
package/dist/web/_next/static/{AL1QyoqCCgeSmCuXjRjlt → bLScLUyqbuPZ2hYp8Nd3L}/_buildManifest.js
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
self.__BUILD_MANIFEST={__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:0,errorRate:1e-4,numBits:0,numHashes:null,bitArray:[]},__routerFilterDynamic:{numItems:0,errorRate:1e-4,numBits:0,numHashes:null,bitArray:[]},"/_error":["static/chunks/pages/_error-8f65b0f8749f42d2.js"],"/home":["static/chunks/6350-9e5cd43f220aab51.js","static/chunks/pages/home-
|
|
1
|
+
self.__BUILD_MANIFEST={__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:0,errorRate:1e-4,numBits:0,numHashes:null,bitArray:[]},__routerFilterDynamic:{numItems:0,errorRate:1e-4,numBits:0,numHashes:null,bitArray:[]},"/_error":["static/chunks/pages/_error-8f65b0f8749f42d2.js"],"/home":["static/chunks/6350-9e5cd43f220aab51.js","static/chunks/pages/home-b6c7635a054e4108.js"],sortedPages:["/_app","/_error","/home"]},self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
|